[an error occurred while processing this directive]
Конечный автомат (state machine) (+)
(«Телесистемы»: Конференция 'Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено andrew_b 21 октября 2004 г. 13:34
В ответ на: Подскажите, пжалста, совсем запутался (VHDL)(внутри).... отправлено Ostec 21 октября 2004 г. 13:07

type tState is (Idle, Step0, Step1, Step2, Step3)
signal State : tState;
signal Cnt : std_logic_vector(8 downto 0);

....

process(R, A)
begin
if (R = '1') then
B <= '1';
C <= '1';
D <= '1';
Cnt <= (others => '0');
State <= Idle;
elsif (rising_edge(A)) then
case (State) is
when Idle =>
B <= '1';
C <= '1';
D <= '1';
-- wait for start
if (Start = '1') then
State <= Step0;
end if;
when Step0 =>
B <= '1';
C <= '1';
D <= '1';
State <= Step1;
when Step1 =>
B <= '1';
C <= '0';
D <= '0';
State <= Step2;
when Step2 =>
B <= '0';
C <= '0';
D <= '0';
State <= Step3;
when Step3 =>
B <= '0';
C <= '0';
D <= '1';
if (Cnt = 511) then
-- done
Cnt <= (others => '0');
State <= Idle;
else
-- continue
Cnt <= Cnt + '1';
State <= Step0;
end if;
end case;
end if;
end process;

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru