des00 25 25 октября, 2010 Опубликовано 25 октября, 2010 · Жалоба Сначала компилирую в Quartus'е, потом комментирую `define NOSIMULATE, сохраняю, и запускаю EDA Gate Level Simulation. Как-то все-же хреновато... и чего только люди не придумают, лишь бы консоль/скриптование моделсима не изучать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 25 октября, 2010 Опубликовано 25 октября, 2010 · Жалоба и чего только люди не придумают, лишь бы консоль/скриптование моделсима не изучать Если подскажете скрипт для ModelSim, с помощью которого можно не симулировать exGlitch, скажу спасибо. Для него в NativeLink settings и место есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 25 октября, 2010 Опубликовано 25 октября, 2010 · Жалоба Если подскажете скрипт для ModelSim, с помощью которого можно не симулировать exGlitch, скажу спасибо. Для него в NativeLink settings и место есть. дык берете ваши логи консоли, убираете комментарии и лишний мусор, переставляете местами порядок компиляции и все. if {[file exists gate_work]} { vdel -lib gate_work -all } vlib gate_work vmap work gate_work vlog -sv -work work +incdir+D:/ViKo/Projects/Quartus_Projects/Quartus_exGlitch {D:/ViKo/Projects/Quartus_Projects/Quartus_exGlitch/exGlitch.sv} vlog -vlog01compat -work work +incdir+. {exGlitch_8_1200mv_85c_slow.vo} vsim -t 1ps +transport_int_delays +transport_path_delays -L altera_ver -L cycloneiii_ver -L gate_work -L work -voptargs="+acc" exGlitch_tb add wave * run 120 ns Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 25 октября, 2010 Опубликовано 25 октября, 2010 · Жалоба дык берете ваши логи консоли, убираете комментарии и лишний мусор, переставляете местами порядок компиляции и все. Спасибо! "Проканало!" Теперича придется и в скрипты погрузиться :) # Reading C:/Programs/Altera/91/modelsim_ase/tcl/vsim/pref.tcl # do exGlitch_run_msim_gate_verilog.do # if {[file exists gate_work]} { # vdel -lib gate_work -all # } # vlib gate_work # vmap work gate_work # Copying C:\Programs\Altera\91\modelsim_ase\win32aloem/../modelsim.ini to modelsim.ini # Modifying modelsim.ini # ** Warning: Copied C:\Programs\Altera\91\modelsim_ase\win32aloem/../modelsim.ini to modelsim.ini. # Updated modelsim.ini. # # vlog -vlog01compat -work work +incdir+. {exGlitch_8_1200mv_85c_slow.vo} # Model Technology ModelSim ALTERA vlog 6.5b Compiler 2009.10 Oct 1 2009 # -- Compiling module exGlitch # # Top level modules: # exGlitch # # vlog -sv -work work +incdir+D:/ViKo/Projects/Quartus_Projects/Quartus_exGlitch {D:/ViKo/Projects/Quartus_Projects/Quartus_exGlitch/exGlitch.sv} # Model Technology ModelSim ALTERA vlog 6.5b Compiler 2009.10 Oct 1 2009 # -- Compiling module exGlitch # -- Compiling module exGlitch_tb # # Top level modules: # exGlitch_tb # # vsim -t 1ps +transport_int_delays +transport_path_delays -L altera_ver -L cycloneiii_ver -L gate_work -L work -voptargs="+acc" exGlitch_tb # vsim +transport_int_delays +transport_path_delays -L altera_ver -L cycloneiii_ver -L gate_work -L work -voptargs=\"+acc\" -t 1ps exGlitch_tb # Loading sv_std.std # Loading work.exGlitch_tb # Loading work.exGlitch # # do D:/ViKo/Projects/Quartus_Projects/Quartus_exGlitch/exGlitch.tcl # if {[file exists gate_work]} { # vdel -lib gate_work -all # } # vlib gate_work # vmap work gate_work # Modifying modelsim.ini # # vlog -sv -work work +incdir+D:/ViKo/Projects/Quartus_Projects/Quartus_exGlitch {D:/ViKo/Projects/Quartus_Projects/Quartus_exGlitch/exGlitch.sv} # Model Technology ModelSim ALTERA vlog 6.5b Compiler 2009.10 Oct 1 2009 # -- Compiling module exGlitch # -- Compiling module exGlitch_tb # # Top level modules: # exGlitch_tb # vlog -vlog01compat -work work +incdir+. {exGlitch_8_1200mv_85c_slow.vo} # Model Technology ModelSim ALTERA vlog 6.5b Compiler 2009.10 Oct 1 2009 # -- Compiling module exGlitch # # Top level modules: # exGlitch # # vsim -t 1ps +transport_int_delays +transport_path_delays -L altera_ver -L cycloneiii_ver -L gate_work -L work -voptargs="+acc" exGlitch_tb # vsim +transport_int_delays +transport_path_delays -L altera_ver -L cycloneiii_ver -L gate_work -L work -voptargs=\"+acc\" -t 1ps exGlitch_tb # Loading sv_std.std # Loading work.exGlitch_tb # Loading work.exGlitch # Loading cycloneiii_ver.cycloneiii_routing_wire # Loading cycloneiii_ver.cycloneiii_io_obuf # Loading cycloneiii_ver.cycloneiii_io_ibuf # Loading cycloneiii_ver.cycloneiii_lcell_comb # Loading altera_ver.dffeas # Loading instances from exGlitch_8_1200mv_85c_v_slow.sdo # Loading altera_ver.PRIM_GDFF_LOW # Loading timing data from exGlitch_8_1200mv_85c_v_slow.sdo # ** Note: (vsim-3587) SDF Backannotation Successfully Completed. # Time: 0 ps Iteration: 0 Region: /exGlitch_tb File: D:/ViKo/Projects/Quartus_Projects/Quartus_exGlitch/exGlitch.sv # # add wave * # run 120 ns Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 26 октября, 2010 Опубликовано 26 октября, 2010 · Жалоба Когда запускаю gate симуляцию из QuartusИ что же вы хотите? Quartus, как ему было велено, скормил синтезатору ваш модуль (вместе с тест бенчем), синтезатор, как и любой порядочный синтезатор, сделал из вашего тест бенча схему на уровне гейтов (полностью проигнорировав все задержки, что тоже в порядке вещей). Modelsim потом эти гейты, как ему и было велено, отсимулировал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 октября, 2010 Опубликовано 26 октября, 2010 · Жалоба И что же вы хотите? Кажется, вы не до конца разобрались в моем вопросе, и в способе его решения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 26 октября, 2010 Опубликовано 26 октября, 2010 · Жалоба Кажется, вы не до конца разобрались в моем вопросе, и в способе его решения.У вас было 2 вопроса - Кто виноват? - Я отвечал на него Что делать? - На это вам уже ответили до меня Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 октября, 2010 Опубликовано 26 октября, 2010 · Жалоба Кто виноват? - Я отвечал на него Нет смысла махать кулаками после драки, но давайте попробуем. Что в вашем ответе понимается под синтезатором - Quartus или ModelSim? Надо думать - Quartus. Кто его просил синтезировать тестбенч? Который, кстати, обрамлен атрибутами не синтезировать? Почему он "проигнорировал" задержки? И почему задержки не "игнорируются", если тестбенч находится в другом файле? Я понимаю так, что это ModelSim перекомпилировал устройство_под_тестом, потому что оно находилось в том же файле. При этом он переписал рабочую библиотеку, и задержки исчезли, так как не были подключены альтеровские библиотеки. Я думаю, если бы я их подключил, задержки бы были. Когда же устройство_под_тестом отсутствовало, ModelSim использовал уже готовую библиотеку, полученную от Quartus'а. Также и когда модули были переставлены местами в скрипте - ModelSim для второго модуля получил уже "готовое". В терминах могу путаться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 26 октября, 2010 Опубликовано 26 октября, 2010 · Жалоба Нет смысла махать кулаками после драки, но давайте попробуем. Что в вашем ответе понимается под синтезатором - Quartus или ModelSim?Quartus Кто его просил синтезировать тестбенч?Он сам. Все, что нашел, все просентезил :rolleyes: Который, кстати, обрамлен атрибутами не синтезировать?В самом первом посте атрибутов не было. Почему он "проигнорировал" задержки?Задержки - это в принципе не синтезабельные конструкции. При синтезе игнорируются (хотя вменяемый синтезатор должен выдавать варнинги) И почему задержки не "игнорируются", если тестбенч находится в другом файле?Потому что в другом файле их не синтезировали, а подавали этот файл 'как есть' на вход ModelSim'а. Моделируемое же устройство попало в ModelSim в виде набора примитивных гейтов (с выхода синтеза). Заодно туда попал и тестбенч оттуда же :rolleyes: Я понимаю так, что это ModelSim перекомпилировал устройство_под_тестом, потому что оно находилось в том же файле.Дальше у ModelSim съехала крыша, т.к. он нашел 2 версии тестбенча (одну оригинальную - поведенческую, а вторую в виде гейтов) и начал брать ту, что ближе лежала (в его понимании ;) ) У него наблюдаются некоторые трудно отлавливаемые глюки, если есть одинаковые модули где то в проекте - они начинают кочевать по библиотекам и плодить глюки (лично наступал на эти грабли) При этом он переписал рабочую библиотеку, и задержки исчезли, так как не были подключены альтеровские библиотеки. Я думаю, если бы я их подключил, задержки бы были. Вряд ли. Попробуйте посмотреть, что пришло в ModelSim от синтеза (соответствующий *.v файл должен где то лежать). Задержек там не будет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 27 октября, 2010 Опубликовано 27 октября, 2010 · Жалоба В самом первом посте атрибутов не было. Как же не было? Посмотрите, первый пост на прежнем месте. Потому что в другом файле их не синтезировали, а подавали этот файл 'как есть' на вход ModelSim'а. Вот это - правильно. Моделируемое же устройство попало в ModelSim в виде набора примитивных гейтов (с выхода синтеза). И это правильно. Заодно туда попал и тестбенч оттуда же :rolleyes: Только не "заодно", а наоборот, именно его и передал Quartus для симуляции в ModelSim, а моделируемое устройство попало "заодно". Дальше у ModelSim съехала крыша, т.к. он нашел 2 версии тестбенча (одну оригинальную - поведенческую, а вторую в виде гейтов) и начал брать ту, что ближе лежала (в его понимании ;) ) У него наблюдаются некоторые трудно отлавливаемые глюки, если есть одинаковые модули где то в проекте - они начинают кочевать по библиотекам и плодить глюки (лично наступал на эти грабли) Не было двух версий тестбенча. Когда всё "в одном флаконе", второй файл никому не нужен. Когда тест в отдельном файле (а именно он и передается симулятору), то нужно моделируемое устройство. Quartus его уже синтезировал и отдал ModelSim'у, без тестбенча. Но с задержками. Вряд ли. Попробуйте посмотреть, что пришло в ModelSim от синтеза (соответствующий *.v файл должен где то лежать). Задержек там не будет С этим буду разбираться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 27 октября, 2010 Опубликовано 27 октября, 2010 · Жалоба Как же не было? Посмотрите, первый пост на прежнем месте.Да, действительно было. Посыпаю голову пеплом :unsure: Не было двух версий тестбенча.Были проблемы (правда в ISE) - Modelsim складывал в библиотеку work все, что приходило на симуляцию, при этом он оттуда ничего не удалял. Т.е. если мы какой то модуль убрали из набора для тестирования и перенесли его в другое место, то его прежняя версия оставалась в библиотеке и подхватывалась при симуляции :cranky: Лечилось полным стиранием всей work библиотеки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться