densol92 0 4 июня, 2013 Опубликовано 4 июня, 2013 · Жалоба При программировании потоковой модели автомата возникла потребность в тактировании а именно: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity MY_STREAM is port( DL : in std_logic; M : in std_logic; C : in std_logic; R : in std_logic; Q0 : out std_logic; Q1 : out std_logic; Q2 : out std_logic ); end MY_STREAM; architecture MODEL of MY_STREAM is SIGNAL F1,F2,F3,F4,F5,F6,F7,F8,F9,F10 : STD_LOGIC; SIGNAL NM,NR,NC,NDL : STD_LOGIC; SIGNAL J0,J1,J2,K0,K1,K2,NQ0,NQ1,NQ2,NQ3: std_logic; SIGNAL QV0,QV1,QV2,QT0,QT1,QT2: STD_LOGIC; BEGIN NQ0<=NOT QT0 AFTER 22 NS; NQ1<=NOT QT1 AFTER 22 NS; NQ2<=NOT QT2 AFTER 22 NS; NM<=NOT(M) AFTER 22 NS; NC<= NOT© AFTER 22 NS; NDL<= NOT( DL) AFTER 22 NS; F1<=(NM AND QT1) AFTER 22 NS ; F2<=(QT1 AND QT0)AFTER 22 NS ; J2<=F1 OR F2 AFTER 22 NS; F3<=NM AND QT0 AFTER 22 NS; F4<=NQ2 AND QT0 AFTER 22 NS; J1<=F3 OR F4 AFTER 22 NS; F5<=M AND NQ2 AFTER 22 NS; F6<=NM AND DL AFTER 22 NS; J0<=F5 OR F6 AFTER 22 NS; K2<=M AND NQ1 AFTER 22 NS; F7<=M AND QT2 AFTER 22 NS; F8<=QT2 AND NQ0 AFTER 22 NS; F10<=M AND QT0 AFTER 22 NS; F9<=NM AND NQ0 AFTER 22 NS; K1<=(F7 OR F8 OR F9 OR F10) AFTER 22 NS; K0<=M OR NDL AFTER 22 NS; QV0<=(R AND ((J0 AND NOT(QT0)) OR (NOT(K0)AND QT0)AND RISING_EDGE(NC)) ) ; QV1<=(R AND((J1 AND NOT(QT1)) OR (NOT(K1)AND QT1)AND RISING_EDGE(NC)) ) ; --неверный тип boolean нужен std_logic! QV2<=(R AND((J2 AND NOT(QT2)) OR (NOT(K2)AND QT2)AND RISING_EDGE(NC)) ) ; END MODEL; Подскажите как задается тактирование в потоковых моделях. Я так понял нельзя использовать условные конструкции, функции итд. только логику Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться