[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Если вы описываете автомат,то сделайте состояние в котором оказывается
автомат после сброса. И в этом состоянии опишите,то что вы хотите иметь на выходе по умолчанию. Примеры есть в документации по любому
синтезатору,если не найдете,то вот:
entity fsm( clk : in std_logic;
rst : in std_logic; -- Нужно обязательно
indata : in std_logic;
...
outdata : out std_logic_vector(3 downto 0)
);
end;
architecture behav of fsm is
type tfsm is (s0,s1,..... и так далее сколько надо);
signal state,nstate : tfsm;
begin
process(clk,rst)
begin
if rst = '1' then
state <='s0'; -- Состояние по умолчанию.
elsif clk'event and clk='1' then
state <= nstate;
end if;
end process;
process(state,indata)
begin
case state is
when s0 => outdata<="1011";
if indata='1' then --Событие
--выводящие
--автомат из
--начального состояния.
nstate <= s1;
else
nstate <= s0;
when s1 =>
...
when sn =>
when others => nstate <=s0;
end case;
end process;
E-mail: info@telesys.ru