[an error occurred while processing this directive]
Ответ: Просто состояния автомата нада тактировать. Вот примерчик
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

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

Отправлено axalay 14 ноября 2003 г. 09:57
В ответ на: Вопрос про цифровой автомат на AHDL отправлено AndrN 14 ноября 2003 г. 08:13

SUBDESIGN state
(
clk, res, a[11..0], b[8..0], c[2..0], dout : INPUT;
aen, aclr, ben, bclr, cen, cclr, den : OUTPUT;
record, begadr, adr, begind, ind, erase, pause : OUTPUT;
)
VARIABLE
ss: MACHINE WITH STATES (recod, badr, adres, bind, indic, er, ps);
BEGIN
ss.clk = clk;
ss.reset = res;
aen=VCC; aclr=GND; ben=GND; bclr=GND; cen=GND; cclr=GND; den=GND;
CASE ss IS

WHEN recod => record=VCC; begadr=GND; adr=GND; begind=GND; ind=GND; erase=GND; pause=GND;
IF a[] == 2303 THEN aclr=VCC; ss = badr;
END IF;

WHEN badr => record=GND; begadr=VCC; adr=GND; begind=GND; ind=GND; erase=GND; pause=GND;
IF a[] == 255 THEN aclr=VCC; ss = adres;
END IF;

WHEN adres => record=GND; begadr=GND; adr=VCC; begind=GND; ind=GND; erase=GND; pause=GND;
IF a[] == 49 THEN aclr=VCC; ben=VCC;
END IF;
IF a[] == 49 & b[] == 160 THEN aclr=VCC; bclr=VCC; ss = bind;
END IF;

WHEN bind => record=GND; begadr=GND; adr=GND; begind=VCC; ind=GND; erase=GND; pause=GND;
IF a[] == 911 THEN aclr=VCC; den=VCC; ss = indic;
END IF;

WHEN indic => record=GND; begadr=GND; adr=GND; begind=GND; ind=VCC; erase=GND; pause=GND; den=GND;
IF a[] == 200 THEN aclr=VCC; ben=VCC;
END IF;
IF b[] == 100 THEN cen=VCC;
END IF;

IF a[] == 200 & b[] == 292 & c[] != 3 THEN aclr=VCC; bclr=VCC; ss=badr;
END IF;
IF a[] == 200 & b[] == 292 & c[] == 3 THEN aclr=VCC; bclr=VCC; ss=er;
END IF;

WHEN er => record=GND; begadr=GND; adr=GND; begind=GND; ind=GND; erase=VCC; pause=GND; cclr=VCC;
IF a[] == 895 & !dout THEN aclr=VCC; ss = recod;
END IF;
IF a[] == 895 & dout THEN aclr=VCC; ss = ps;
END IF;

WHEN ps => record=GND; begadr=GND; adr=GND; begind=GND; ind=GND; erase=GND; pause=VCC;

END CASE;

END;

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru