andrew_b 0 Posted September 25, 2017 · Report post Именно дельта задержку! На картинке с моделсимом не указан масштаб. А там вероятно 1 пс.Дельта-задержка -- это не задержка в привычном понимании, она не измеряется ни петасекундах, ни в чём. Дельта-задержка -- это гругря отражение причинно-следственной связи: сначала происходит что-то, после чего происходит ещё что-то, и т. д. Например, сначала приходит фронт клока. Только после фронта -- после, а не в тот же момент -- происходит инкремент счётчика. После инкремента счётчика происходит срабатывание компаратора. Поскольку значения всех этих "после" на этапе RTL-симуляции принципиально неизвестны (так как до P'n'R ещё далеко), а учитывать их как-то надо, то и используется механизм дельта-задержки. Ваша ситуация с клоком clk2 <= clk; с точки зрения языка принципиально ничем не отличается от ситуациии с компаратором после счётчика Cnt5 <= '1' when (Counter = 5) else '0'; Драйвер есть? Есть. Получите дельта-задержку. Quote Ответить с цитированием Share this post Link to post Share on other sites
Nickolas 0 Posted September 25, 2017 · Report post Может быть поможет использование псевдонимов? alias clk_copy : std_logic is clk_original; Quote Ответить с цитированием Share this post Link to post Share on other sites
Flip-fl0p 0 Posted September 25, 2017 (edited) · Report post А зачем вообще применять конструкцию типа: clk1 <= clk2 Какой в этом практический смысл ? Edited September 25, 2017 by Flip-fl0p Quote Ответить с цитированием Share this post Link to post Share on other sites
andrew_b 0 Posted September 25, 2017 · Report post А зачем вообще применять конструкцию типа: clk1 <= clk2 Какой в этом практический смысл ? Ну я, например, так иногда делаю в тестбенчах, если мне нужны два разных клока одинаковой частоты. Quote Ответить с цитированием Share this post Link to post Share on other sites
warrior-2001 0 Posted September 25, 2017 · Report post Так а разве дельта задержку можно увидеть при увеличении масштаба ? В QuestaSim отображается. Думаю, так же и в ModelSim. А измеряется дельта задержка в переменной (TimeScale -t 1ps для сткрипта). Для корректной симуляции IP фирмы Intel(Altera) необходимо указывать 1 пс. Quote Ответить с цитированием Share this post Link to post Share on other sites
andrew_b 0 Posted September 25, 2017 · Report post А измеряется дельта задержка в переменной (TimeScale -t 1ps для сткрипта).Это не дельта-задержка. Quote Ответить с цитированием Share this post Link to post Share on other sites
videoscan 0 Posted September 25, 2017 · Report post Завтра после 11 я буду на связи. Можем поговорить о Ваших проблемах. Сегодня до вечера занят. Только после 20 или завтра с утра. Так а разве дельта задержку можно увидеть при увеличении масштаба ? Можно, нужно только перейти в режим отображения, который называется Expended time deltas mode. Quote Ответить с цитированием Share this post Link to post Share on other sites
yes 0 Posted September 25, 2017 · Report post Так а разве дельта задержку можно увидеть при увеличении масштаба ? нужно перейти в режим просмотра дельтазадержек (что-то типа expanded time и т.п.) upd: долго тормозил с ответом :) вот в моделсиме не сталкивался с тем, чтобы дельтазадержки тактового сигнала нарушали синхронность дизайна (нк то есть когда на данных проскакивает цикл), может проекты маленькие.. а вот в ncsim-e такое видел часто, особенно при миксед vhdl-verilog дизайне. насколько я понимаю, в sv приложили дополнительные усилия для того, чтобы тактовые сигналы гарантировано "щелкали" раньше ну типа initial forever clk=~clk и т.п. Quote Ответить с цитированием Share this post Link to post Share on other sites
videoscan 0 Posted September 26, 2017 · Report post "Просит" его об этом стандарт языка VHDL. Каждый драйвер порождает дельта-задержку со всеми вытекающими из этого нюансами. Скажите, а у Verylog HDL по этой части по другому? Quote Ответить с цитированием Share this post Link to post Share on other sites
andrew_b 0 Posted September 26, 2017 · Report post Не знаю. Я верилог "читаю со словарём", утирая слезящиеся глаза. Quote Ответить с цитированием Share this post Link to post Share on other sites
EugeneS 0 Posted September 26, 2017 · Report post Может быть поможет использование псевдонимов? alias clk_copy : std_logic is clk_original; применял, работает Quote Ответить с цитированием Share this post Link to post Share on other sites