nmurzin 0 6 июня, 2011 Опубликовано 6 июня, 2011 · Жалоба Здравствуйте. Работаю на Quartus9.1. Для моделирования использую ModelSim Altera. Проблема в том, что картинки которые рисует ModelSim не учитывают задержки распространения сигнала внутри ПЛИС (мне так кажется). Запускаю ModelSim после компиляции проекта прямо из квартуса с помощью меню Tools-> Run EDA Simulation Tools -> EDA Gate Level Simulation... Пишу тест бенч. У меня есть сигнал A на входе ПЛИС и зависящий от него сигнал B на выходе ПЛИС. Так вот ModelSim рисует картинки так, что сигнал B мгновенно повторяет сигнал A. Чего конечно не может быть. Есть ли средство, чтобы ModelSim рисовал относительно реальные картинки ? Может я что-то не так делаю ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 6 июня, 2011 Опубликовано 6 июня, 2011 · Жалоба sdf подгружаете ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 42 6 июня, 2011 Опубликовано 6 июня, 2011 · Жалоба sdf-файл подключается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 6 июня, 2011 Опубликовано 6 июня, 2011 · Жалоба Посмотрите вот эту тему http://electronix.ru/forum/index.php?showtopic=80467 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nmurzin 0 7 июня, 2011 Опубликовано 7 июня, 2011 · Жалоба А где мне посмотреть подключился sdf файл или нет ? Посмотрите вот эту тему http://electronix.ru/forum/index.php?showtopic=80467 Посмотрел я эту тему. sdf Файла у меня ни где нет, есть sdo. Является ли sdo заменой sdf ? В теме сказано что должен быть некий файл .vo в котором должна быть строка подключающая sdf файл: initial $sdf_annotate("../netgen/par/name.sdf"); Просмотрел папки проекта и рабочую папку моделсим, нет у меня .vo файла. Есть некий файл .vho но в нем нет ни какой строки типа initial $sdf_annotate. Может мне еще что-то где-то надо откомпилировать чтобы получить нужные файлы? Пока не знаю что делать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 42 7 июня, 2011 Опубликовано 7 июня, 2011 · Жалоба А где мне посмотреть подключился sdf файл или нет ? Изучайте матчасть (в смысле, ModelSim) : http://www.altera.com/literature/hb/qts/qts_qii53001.pdf и http://www.altera.com/literature/hb/qts/qts_qii53025.pdf sdf Файла у меня ни где нет, есть sdo. Является ли sdo заменой sdf ? Это оно есть. В теме сказано что должен быть некий файл .vo ... Просмотрел папки проекта и рабочую папку моделсим, нет у меня .vo файла. Есть некий файл .vho но в нем нет ни какой строки типа initial $sdf_annotate. Пишете на VHDL? P.S. До кучи еще это : http://electronix.ru/forum/index.php?showt...st&p=934293 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosu-art 0 7 июня, 2011 Опубликовано 7 июня, 2011 · Жалоба Ставите "галочку" и Квактус сгенерит скрипт, который все сделает как надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nmurzin 0 7 июня, 2011 Опубликовано 7 июня, 2011 · Жалоба При запуске ModelSim Altera из квартуса выполняется файлик TOPLevel_run_msim_gate_vhdl.do который содержит следущее: transcript on if {[file exists gate_work]} { vdel -lib gate_work -all } vlib gate_work vmap work gate_work vcom -93 -work work {TOPLevel.vho} Потом я компилирую свой TestBench командой vcom -reportprogress 300 -work work myWork/toplevel_vhd_tst.vht Теперь надо создать симуляцию. Раньше я делал это командой vsim -voptargs=+acc work.toplevel_vhd_tst не помню откуда я ее взял. В итоге задержки не учитываются. Изучайте матчасть (в смысле, ModelSim) : http://www.altera.com/literature/hb/qts/qts_qii53001.pdf Изучаю мат ее часть. В ней на странице 11 приведен Example 2–5. для запуска Gate-Level Timing Simulation: vsim +transport_int_delays +transport_path_delays -sdftyp \ <instance path to design> = <path to SDO file> -L work \ -L stratixiii -L altera work.testbench Помогите мне правильно написать эту команду для моего случая. ПЛИС - MAXII EPM570T144C5 VHDL Output file - TOPLevel.vho sdo Файл - TOPLevel_vhd.sdo TestBench - toplevel_vhd_tst Пробовал так vsim +transport_int_delays \ +transport_path_delays \ -sdftyp i1 = TOPLevel_vhd.sdo \ -L work \ -L maxii \ -L altera work.toplevel_vhd_tst Тогда ModelSim пишет следующее: # vsim +transport_int_delays +transport_path_delays -L work -L maxii -L altera -sdftyp i1 = work.toplevel_vhd_tst # ** Error: (vsim-SDF-3196) Failed to find SDF file "i1". # Error loading design Пробовал так: vsim +transport_int_delays +transport_path_delays -L work -L maxii -L altera -sdftyp TOPLevel_vhd.sdo work.toplevel_vhd_tst Тогда ModelSim пишет следующее: # Loading instances from TOPLevel_vhd.sdo # ** Error: (vsim-SDF-3250) TOPLevel_vhd.sdo(1102): Failed to find INSTANCE 'BoardSelected_rg'. # Длинный список не найденных экземпляров.... Что же ему написать, чтобы он сделал мне Gate-Level Timing Simulation ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosu-art 0 7 июня, 2011 Опубликовано 7 июня, 2011 · Жалоба Потом я компилирую свой TestBench командой vcom -reportprogress 300 -work work myWork/toplevel_vhd_tst.vht А вы попробуйте прикрутить тестбенч там же в настройках... Должно получится примерно следующее: transcript on if {[file exists gate_work]} { vdel -lib gate_work -all } vlib gate_work vmap work gate_work vlog -vlog01compat -work work +incdir+. {TOP_SW_ISA.vo} vlog -vlog01compat -work work +incdir+C:/altera/91/quartus/MB2355_SW_HOST_AND_SLAVE/simulation/modelsim {C:/altera/91/quartus/MB2355_SW_HOST_AND_SLAVE/simulation/modelsim/TOP_SW_ISA_TB.v} vsim -t 1ps +transport_int_delays +transport_path_delays -L altera_ver -L cycloneiii_ver -L gate_work -L work -voptargs="+acc" UUT add wave * view structure view signals run -all Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 42 7 июня, 2011 Опубликовано 7 июня, 2011 · Жалоба Пробовал так vsim +transport_int_delays \ +transport_path_delays \ -sdftyp i1 = TOPLevel_vhd.sdo \ -L work \ -L maxii \ -L altera work.toplevel_vhd_tst i1 - это что у Вас такое? ЕМНИП, это должно быть имя компонента, под которым Ваш пост-плейс-энд-раут нетлист подключен в тестбенче. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nmurzin 0 7 июня, 2011 Опубликовано 7 июня, 2011 · Жалоба i1 это у меня метка экземпляра компонента в TestBench Файле i1 : TOPLevel PORT MAP(...) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nmurzin 0 8 июня, 2011 Опубликовано 8 июня, 2011 · Жалоба Действительно у меня не получается прицепить SDO файл присоздании симуляции. Как только в команде vsim появляется ключ -sdftyp PIN_MAX_vhd.sdo ModelSim тут же осыпается сообщениями: # Loading std.standard # Loading ieee.std_logic_1164(body) # Loading work.pin_max_tb(arch1) # Loading std.textio(body) # Loading ieee.vital_timing(body) # Loading ieee.vital_primitives(body) # Loading maxii.maxii_atom_pack(body) # Loading maxii.maxii_components # Loading work.pin_max(structure) # Loading ieee.std_logic_arith(body) # Loading maxii.maxii_io(behave) # Loading maxii.maxii_lcell(vital_le_atom) # Loading maxii.maxii_asynch_lcell(vital_le) # Loading maxii.maxii_lcell_register(vital_le_reg) # Loading instances from PIN_MAX_vhd.sdo # ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(1116): Failed to find INSTANCE 'BoardSelected_rg'. # ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(1116): Failed to find INSTANCE 'lecomb'. # ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(1136): Failed to find INSTANCE 'lereg'. # ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(3267): Failed to find INSTANCE 'Ready_rg'. # ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(3267): Failed to find INSTANCE 'lecomb'. # ** Error: (vsim-SDF-3250) D:/99_Work/01_w_quartus/01_XperTest/PIN_MAX/simulation/modelsim/PIN_MAX_vhd.sdo(3281): Failed to find INSTANCE 'lereg'. Я лазил в файл PIN_MAX_vhd.sdo Там действительно есть записи типа (CELLTYPE "maxii_asynch_lcell") (INSTANCE BoardSelected_rg.lecomb) (DELAY ..... Тогда я не понимаю текст ошибки который выдает ModelSim. Что он не может отыскать ? УРАААА Зацепил. Записал так: vsim -sdftyp /i1=PIN_MAX_vhd.sdo work.pin_max_tb Вся фишка в том, что кусок текста "/i1=PIN_MAX_vhd.sdo" нельзя разрывать пробелами. "/ i1 = PIN_MAX_vhd.sdo" Так уже не работает, а по тексту ошибки хрен поймешь чего не так. Всем спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 8 июня, 2011 Опубликовано 8 июня, 2011 · Жалоба Попробовал с "level gate", очень долго симулирует. Делал так. С квартуса запускаю симуляцию запускается модельсим. В модельсиме создаю проект и включаю свой допустим test.sv и созданный test.vo (в test.vo должно быть прописано initial $sdf_annotate("test_v.sdo");). Компилирую, открываю окно симуляции выделяю тестовый модуль и в закладке Libraries добовляю библиотеку(и) в моем случае maxii, т.е. я ставлю путь к директории maxii с помощью browse... и ОК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться