juniorman 0 21 октября, 2012 Опубликовано 21 октября, 2012 (изменено) · Жалоба Подскажите с какой целью при неблокирующем (<=) присваивание иногда пишут: y <= #1 x; В частности хочу описать конечный автомат и встретил в примерах переход между состояниями описан в таком виде. На сколько я понимаю это сделано для целей симуляции и тут вносится 1-тактовая задержка. Но зачем? Разве <= не говорит о том, что тут стоит триггер, который будет потактно менять своё значение? Кстати есть ли какие-нибудь общие рекомендации или правила по описанию автоматов? И почему начальное состояние называют IDLE? Что это значит? Изменено 21 октября, 2012 пользователем juniorman Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DevL 0 21 октября, 2012 Опубликовано 21 октября, 2012 · Жалоба смотри transport delay потом еще inertial delay Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 21 октября, 2012 Опубликовано 21 октября, 2012 · Жалоба Кстати есть ли какие-нибудь общие рекомендации или правила по описанию автоматов? И почему начальное состояние называют IDLE? Что это значит? Пишу как обычно... У меня на сайте, в статьях "Краткий Курс"... Удачи! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sujan 0 21 октября, 2012 Опубликовано 21 октября, 2012 · Жалоба Подскажите с какой целью при неблокирующем (<=) присваивание иногда пишут Чаще всего такие задержки используются при написании testbech, либо для эмуляции реальных задержек при моделировании. При синтезе в ПЛИС такие задержки выкидываются, при синтезе в ASIC элементы задержки могут быть просинтезированы. Если будет код, то можно будет сказать точнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
the_king_orange_summer 0 22 октября, 2012 Опубликовано 22 октября, 2012 · Жалоба тут вносится 1-тактовая задержка если под тактовой задержкой вы имели ввиду период тактовой частоты, то неправильно. скорее всего в первых строках кода написана строка `timescale 1us/1ns где параметры 1мкс - шаг, а 1нс - точность. что означает, что перед присваиванием будет сделана пауза в 1 мкс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться