реклама на сайте
подробности

 
 
> Машина состояний и "переменные" (AHDL)
Кузнецофф Ю.
сообщение Dec 10 2013, 08:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 15-02-11
Из: мск
Пользователь №: 62 983



Здравствуйте, уважаемые товарищи Инженеры!
Вчера отлаживал схему многоканального частотомера,а именно ту её часть, где производится получение пакета по UART с технологического компьютера, и был повержен такой обьективной реальностью:

CODE
SUBDESIGN 1
(
clk : INPUT =GND; -- 33 МГц
IN, INP[7..0] : INPUT;
OUT, OUTP[7..0] : OUTPUT;
)

VARIABLE
SS: MACHINE WITH STATES (idle, INI, RX_START_BYTE, RX_CMD, RX_CHS, RX_CHECK, RX_STOP_BYTE, RX_ERR, CH_START, CH_123);
DT:DFF;

BEGIN

DT.CLK = !CLK;

Ss.clk = CLK;
CASE SS IS
WHEN idle =>
SS = ini;

WHEN ini =>
OUTP=0;
SS = CH_START;

WHEN CH_START =>
OUTP=5;
DT.D=VCC;
SS = CH_123;

WHEN CH_123 =>
SS = CH_123;

WHEN RX_ERR =>
IF OUTP==5 THEN SS = IDLE; END IF;

WHEN OTHERS =>
SS = idle;
END CASE;

OUT=DT.Q;

END;


временная диаграмма сигналов - файл 1.жпг во вложении.
Прикрепленное изображение


Смущает следующее - при записи принятых байтов в "переменные" типа node или dff в одних состояниях автомата, не получается работать с ними в других состояниях, они чудесным для меня образом обнуляются. Мозг, засраный парадигмой структурного программирования контроллеров, отказывается понять концепцию программирования конфигурации ПЛИС.

Худо-бедно удалось реализовать желаемое через lpm_ff:
CODE
INCLUDE "LPM_FF.INC";

SUBDESIGN 1
(
clk : INPUT =GND; -- 33 МГц
IN, INP[7..0] : INPUT;
OUTP[7..0] : OUTPUT;
)

VARIABLE
SS: MACHINE WITH STATES (idle, INI, RX_START_BYTE, RX_CMD, RX_CHS, RX_CHECK, RX_STOP_BYTE, RX_ERR, CH_START, CH_123);
DTT:LPM_FF WITH (LPM_WIDTH=8);
CLR:NODE;

BEGIN

DTT.CLOCK = VCC;

Ss.clk = CLK;
CASE SS IS
WHEN idle =>
SS = ini;

WHEN ini =>
CLR=VCC;
SS = CH_START;

WHEN CH_START =>
DTT.DATA=5;
DTT.aload=VCC;
SS = CH_123;

WHEN CH_123 =>
SS = CH_123;

WHEN OTHERS =>
SS = idle;
END CASE;

DTT.sclr = !CLR;
OUTP[]=DTT.Q;

END;


диаграмма сигналов - рис. 2 во вложении
Прикрепленное изображение


Но такой способ,мягко говоря, притянут за уши.
Посоветуйте неграмотному,как строить схемотехнику в таких случаях. Перейти на vhdl/verilog не предлагать)

Всем заранее благодарен!

Изучение внутренностей lpm_ff показало,что асинхронная установка реализуется примитивом latch.
Можно ли реализовать в таком случае вообще "переменные" через синхронные триггеры? Была попытка уменьшить частоту тактирования автомата относительно триггеров "переменных", результата это не дало..

Сообщение отредактировал Кузнецофф Ю. - Dec 10 2013, 08:26
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Кузнецофф Ю.   Машина состояний и "переменные" (AHDL)   Dec 10 2013, 08:26
- - XVR   Ваш DT защелкивает новое состояние каждый такт (по...   Dec 10 2013, 09:44
- - Кузнецофф Ю.   XVR, спасибо за оперативный ответ! Как же тогд...   Dec 10 2013, 09:52
- - iosifk   Цитата(Кузнецофф Ю. @ Dec 10 2013, 12:26)...   Dec 10 2013, 10:40
- - Dmitriyspb   Цитата(Кузнецофф Ю. @ Dec 10 2013, 12:26)...   Dec 10 2013, 10:53
|- - Maverick   Цитата(Dmitriyspb @ Dec 10 2013, 12:53) С...   Dec 11 2013, 21:07
- - Кузнецофф Ю.   Иосиф К, большое спасибо вам за конструктивную кри...   Dec 10 2013, 11:05
|- - andrew_b   Цитата(Кузнецофф Ю. @ Dec 10 2013, 15:05)...   Dec 10 2013, 12:03
|- - iosifk   Цитата(Кузнецофф Ю. @ Dec 10 2013, 15:05)...   Dec 10 2013, 12:13
- - Кузнецофф Ю.   Иосиф, ещё раз огромное спасибо вам за комментарий...   Dec 10 2013, 12:49
|- - iosifk   Цитата(Кузнецофф Ю. @ Dec 10 2013, 16:49)...   Dec 10 2013, 12:51
|- - Кузнецофф Ю.   Цитата(iosifk @ Dec 10 2013, 16:51) Через...   Dec 10 2013, 13:02
|- - iosifk   Цитата(Кузнецофф Ю. @ Dec 10 2013, 17:02)...   Dec 10 2013, 13:11
- - Кузнецофф Ю.   Проектик представляет собой многоканальный частото...   Dec 10 2013, 13:46
|- - andrew_b   Цитата(Кузнецофф Ю. @ Dec 10 2013, 17:46)...   Dec 11 2013, 04:30
|- - Кузнецофф Ю.   Цитата(andrew_b @ Dec 11 2013, 08:30) За ...   Dec 11 2013, 11:10
|- - Джеймс   Цитата(Кузнецофф Ю. @ Dec 11 2013, 14:10)...   Dec 11 2013, 11:44
|- - Кузнецофф Ю.   Цитата(Джеймс @ Dec 11 2013, 15:44) Вы мн...   Dec 11 2013, 21:02
- - Tiro   Цитата(Кузнецофф Ю. @ Dec 10 2013, 11:26)...   Dec 11 2013, 21:17


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016