Jump to content

    
Sign in to follow this  
videoscan

Как объяснить ModelSim, что clock глобальный?

Recommended Posts

Именно дельта задержку! На картинке с моделсимом не указан масштаб. А там вероятно 1 пс.
Дельта-задержка -- это не задержка в привычном понимании, она не измеряется ни петасекундах, ни в чём. Дельта-задержка -- это гругря отражение причинно-следственной связи: сначала происходит что-то, после чего происходит ещё что-то, и т. д.

Например, сначала приходит фронт клока. Только после фронта -- после, а не в тот же момент -- происходит инкремент счётчика. После инкремента счётчика происходит срабатывание компаратора. Поскольку значения всех этих "после" на этапе RTL-симуляции принципиально неизвестны (так как до P'n'R ещё далеко), а учитывать их как-то надо, то и используется механизм дельта-задержки.

 

Ваша ситуация с клоком

clk2 <= clk;

с точки зрения языка принципиально ничем не отличается от ситуациии с компаратором после счётчика

Cnt5 <= '1' when (Counter = 5) else '0';

 

Драйвер есть? Есть. Получите дельта-задержку.

Share this post


Link to post
Share on other sites

А зачем вообще применять конструкцию типа:

clk1 <= clk2

Какой в этом практический смысл ?

Edited by Flip-fl0p

Share this post


Link to post
Share on other sites
А зачем вообще применять конструкцию типа:

clk1 <= clk2

Какой в этом практический смысл ?

Ну я, например, так иногда делаю в тестбенчах, если мне нужны два разных клока одинаковой частоты.

Share this post


Link to post
Share on other sites
Так а разве дельта задержку можно увидеть при увеличении масштаба ?

В QuestaSim отображается. Думаю, так же и в ModelSim.

 

А измеряется дельта задержка в переменной (TimeScale -t 1ps для сткрипта). Для корректной симуляции IP фирмы Intel(Altera) необходимо указывать 1 пс.

Share this post


Link to post
Share on other sites
Завтра после 11 я буду на связи. Можем поговорить о Ваших проблемах.

 

Сегодня до вечера занят. Только после 20 или завтра с утра.

 

Так а разве дельта задержку можно увидеть при увеличении масштаба ?

Можно, нужно только перейти в режим отображения, который называется Expended time deltas mode.

2017-09-25_14-24-32.png

 

Share this post


Link to post
Share on other sites
Так а разве дельта задержку можно увидеть при увеличении масштаба ?

нужно перейти в режим просмотра дельтазадержек (что-то типа expanded time и т.п.)

upd: долго тормозил с ответом :)

 

вот в моделсиме не сталкивался с тем, чтобы дельтазадержки тактового сигнала нарушали синхронность дизайна (нк то есть когда на данных проскакивает цикл), может проекты маленькие.. а вот в ncsim-e такое видел часто, особенно при миксед vhdl-verilog дизайне. насколько я понимаю, в sv приложили дополнительные усилия для того, чтобы тактовые сигналы гарантировано "щелкали" раньше

ну типа initial forever clk=~clk и т.п.

Share this post


Link to post
Share on other sites
"Просит" его об этом стандарт языка VHDL. Каждый драйвер порождает дельта-задержку со всеми вытекающими из этого нюансами.

Скажите, а у Verylog HDL по этой части по другому?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this