|
Не работает конечный автомат!, Не работает конечный автомат!!!!!!!! |
|
|
|
Jan 22 2006, 22:19
|
Группа: Новичок
Сообщений: 4
Регистрация: 22-01-06
Пользователь №: 13 475

|
Вот написал автоматик:
mashine:process(clk) type TSS is (s0,s1,s2,s3,s4,s5,s6,s7,s8); variable SS:TSS:=s0; begin if clk='1' and clk'event then case SS is when s0=> SS:=s1; when s1=> SS:=s2; when s2=> SS:=s3; when s3=> SS:=s4; when s4=> SS:=s5; when s5=> SS:=s6; when s6=> SS:=s7; when s7=> SS:=s8; when s8=> SS:=s1; end case; end if; if SS=s8 then clk_out<='1'; else clk_out<='0'; end if; end process;
А Quartus мне и говорит: Warning: Can't display state machine states -- register holding state machine bit "|InBuffer|\mashine:SS.s0" was synthesized away В симуляции на clk_out вечный false, что за беда такая, может кто знает?
|
|
|
|
|
 |
Ответов
|
Jan 23 2006, 08:28
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(LeshiySoft @ Jan 22 2006, 17:19)  Вот написал автоматик:
mashine:process(clk) type TSS is (s0,s1,s2,s3,s4,s5,s6,s7,s8); variable SS:TSS:=s0; begin if clk='1' and clk'event then case SS is when s0=> SS:=s1; when s1=> SS:=s2; when s2=> SS:=s3; when s3=> SS:=s4; when s4=> SS:=s5; when s5=> SS:=s6; when s6=> SS:=s7; when s7=> SS:=s8; when s8=> SS:=s1; end case; end if; if SS=s8 then clk_out<='1'; else clk_out<='0'; end if; end process;
А Quartus мне и говорит: Warning: Can't display state machine states -- register holding state machine bit "|InBuffer|\mashine:SS.s0" was synthesized away В симуляции на clk_out вечный false, что за беда такая, может кто знает? Проблема в том, что так КА не пишут !!!!!!!!! используйте двух процессное описание с сигналом сброса КА. скачайте XST.pdf в разделе №3 там прекрасно написанно как правильно писать КА. Желаю удачи
--------------------
|
|
|
|
|
Jan 23 2006, 08:45
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Цитата(des00 @ Jan 23 2006, 10:28)  Проблема в том, что так КА не пишут !!!!!!!!! используйте двух процессное описание с сигналом сброса КА. скачайте XST.pdf в разделе №3 там прекрасно написанно как правильно писать КА.
Желаю удачи Ну не был бы я так категоричен в данном вопросе  Пишут так КА  Это называется полностью синхронный КА с регистровыми выходами. Несколько извращенный способ написания, но любители используют. К особенностям относится некоторая тормознутость реакции - 2 такта на реакцию на внешнее воздействие и полная синхронность выходов. Это все равно как в двухпроцессном описании поставить по регистру на каждый выход КА.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
Сообщений в этой теме
LeshiySoft Не работает конечный автомат! Jan 22 2006, 22:19 v_mirgorodsky Добавлением Reset'а должно полечиться. У вас м... Jan 23 2006, 08:32 Postoroniy_V 1 не туда вставлен
if SS=s8 then clk_out<=... Jan 23 2006, 08:42 iosifk Цитата(LeshiySoft @ Jan 23 2006, 01:19) В... Jan 23 2006, 08:42 vikk может счетчик поставить? Jan 23 2006, 11:26 Postoroniy_V Цитата(vikk @ Jan 23 2006, 14:26) может с... Jan 23 2006, 11:59 LeshiySoft Postoroniy_V, огромное человечское спасибо, что не... Feb 1 2006, 22:15 Postoroniy_V Цитата(LeshiySoft @ Feb 2 2006, 01:15) Po... Feb 2 2006, 08:20 nand_gates Checkout this one!!!
This will work wi... Feb 2 2006, 09:44 Gorby Люди добрые, чего вы паритесь?!
Ставим Active... Feb 8 2006, 12:37 Postoroniy_V Цитата(Gorby @ Feb 8 2006, 15:37) Люди до... Feb 9 2006, 08:58 Gate Я совершенно согласен с Gorby - писать вручную стэ... Feb 9 2006, 15:23 des00 Цитата(Gate @ Feb 9 2006, 10:23) Я соверш... Feb 9 2006, 15:30 Postoroniy_V Цитата(Gate @ Feb 9 2006, 18:23) Я соверш... Feb 10 2006, 07:40 Vjacheslav Цитата(Gate @ Feb 9 2006, 18:23) Я соверш... Feb 10 2006, 08:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|