Koluchiy 0 Posted November 24, 2011 · Report post Здравствуйте, уважаемые гуру. Направьте на путь истинный в следующем вопросе. Есть Quartus 11.1 (впрочем, это не очень важно). Был проект, в котором было реализовано ядро Reed Solomon Compiler I (Encoder и Decoder). Там всё работало как надо. Но теперь есть проект, в котором реализовано ядро Reed Solomon Encoder II. При попытке запустить проект на симуляцию в Modelsim-Altera Starter Edition (NativeLink, да...), этот самый Modelsim говорит мне: # ** Error: (vlog-7) Failed to open design unit file "D:/Files/Altera/S2_TestRSII/TRS_EncoderII.vo" in read mode. Ессно, никакого TRS_EncoderII.vo нету, потому что визард его не генерит. Но есть папочка TRS_EncoderII_sim, которую генерит визард и кладет туда массу разных интересных файлов, в т.ч. msim_setup.tcl, altera_rs_ser_enc_0001.vo и пр.. Документация Alterы на эту тему выряжается как-то невнятно. С одной стороны вроде бы написано, что для Modelsim-Altera все библиотеки уже сгенерены. С другой стороны написано, что нужно компилить библиотеки при помощи msim_setup.tcl . С третьей стороны написано, что надо юзать Simulation library compiler. Расскажите пожалуйста, как правильно и в какой последовательности? Можно ли с такими ядрами юзать nativelink. Если да, то как получить _nativelink.tcl. Если нельзя, то как правильно генерить скрипт или вообще чего делать. Заранее спасибо за ответы :). Quote Ответить с цитированием Share this post Link to post Share on other sites
vadimuzzz 0 Posted November 24, 2011 · Report post визард должен выводить список файлов с описанием, куда наливать. собственно, надо найти файл с расширением vo (или vho) и скомпилить. да, и тестбенч. насчет библиотек - поищите, скрипт установки библиотек уже много раз приводился. в вашем случае скорее всего достаточно будет библиотеки примитивов под целевой кристалл Quote Ответить с цитированием Share this post Link to post Share on other sites
Koluchiy 0 Posted November 24, 2011 · Report post визард должен выводить список файлов с описанием, куда наливать. собственно, надо найти файл с расширением vo (или vho) и скомпилить Само по себе это действие не помогает, потом всё вылетает с другой ошибкой. И это явно нештатное действие, надо как-то по-другому, чтобы само находило. да, и тестбенч. насчет библиотек - поищите, скрипт установки библиотек уже много раз приводился. в вашем случае скорее всего достаточно будет библиотеки примитивов под целевой кристалл С примитивами под целевой кристалл, насколько я понимаю, проблем нет. Есть проблемы с библиотеками под конкретное IP-ядро. Quote Ответить с цитированием Share this post Link to post Share on other sites
vadimuzzz 0 Posted November 24, 2011 · Report post Само по себе это действие не помогает, потом всё вылетает с другой ошибкой. И это явно нештатное действие, надо как-то по-другому, чтобы само находило. я не телепат, приведите команды, что вы скармливаете м-симу и ответный выхлоп С примитивами под целевой кристалл, насколько я понимаю, проблем нет. Есть проблемы с библиотеками под конкретное IP-ядро. библиотеки IP-ядра нужны только для симуляции на RTL-уровне. фиг их вам кто даст, они зашифрованы. а в vo, который генерит визард, все на примитивах Quote Ответить с цитированием Share this post Link to post Share on other sites
Koluchiy 0 Posted November 24, 2011 · Report post Ну вот, если действовать согласно собственно, надо найти файл с расширением vo (или vho) и скомпилить. Нахожу в папке TRS_EncoderII_sim, которую генерит визард, файлик altera_rs_ser_enc_0001.vo. Кладу его в корень проекта и переименовываю как TRS_EncoderII.vo - т.е. даю моделсиму тот файл, которого ему нехватает. Запускаю стандартными альтеровскии средствами. Получаю следующий "выхлоп": # Reading C:/altera/11.1/modelsim_ase/tcl/vsim/pref.tcl # do S2_TestRSII_run_msim_rtl_verilog.do # if {[file exists rtl_work]} { # vdel -lib rtl_work -all # } # vlib rtl_work # vmap work rtl_work # Copying C:\altera\11.1\modelsim_ase\win32aloem/../modelsim.ini to modelsim.ini # Modifying modelsim.ini # ** Warning: Copied C:\altera\11.1\modelsim_ase\win32aloem/../modelsim.ini to modelsim.ini. # Updated modelsim.ini. # # vlog -vlog01compat -work work +incdir+D:/Files/Altera/S2_TestRSII {D:/Files/Altera/S2_TestRSII/TRS_EncoderII.vo} # Model Technology ModelSim ALTERA vlog 10.0c Compiler 2011.09 Sep 21 2011 # -- Compiling module altera_rs_ser_enc_0001 # # Top level modules: # altera_rs_ser_enc_0001 # vlog -vlog01compat -work work +incdir+D:/Files/Altera/S2_TestRSII {D:/Files/Altera/S2_TestRSII/S2_TestRSII.v} # Model Technology ModelSim ALTERA vlog 10.0c Compiler 2011.09 Sep 21 2011 # -- Compiling module S2_TestRSII # # Top level modules: # S2_TestRSII # vlib lib_TRS_EncoderII # ** Warning: (vlib-34) Library already exists at "lib_TRS_EncoderII". # vmap lib_TRS_EncoderII lib_TRS_EncoderII # Modifying modelsim.ini # vlog -vlog01compat -work lib_TRS_EncoderII +incdir+D:/Files/Altera/S2_TestRSII/TRS_EncoderII {D:/Files/Altera/S2_TestRSII/TRS_EncoderII/TRS_EncoderII_0002.v} # Model Technology ModelSim ALTERA vlog 10.0c Compiler 2011.09 Sep 21 2011 # -- Compiling module TRS_EncoderII_0002 # # Top level modules: # TRS_EncoderII_0002 # # vlog -vlog01compat -work work +incdir+D:/Files/Altera/S2_TestRSII {D:/Files/Altera/S2_TestRSII/S2_TestRSII_tb.v} # Model Technology ModelSim ALTERA vlog 10.0c Compiler 2011.09 Sep 21 2011 # -- Compiling module S2_TestRS_tb # # Top level modules: # S2_TestRS_tb # # vsim -t 1ps -L altera_ver -L lpm_ver -L sgate_ver -L altera_mf_ver -L altera_lnsim_ver -L stratixiigx_hssi_ver -L stratixiigx_ver -L rtl_work -L work -L lib_TRS_EncoderII -voptargs="+acc" S2_TestRSII_tb # vsim -L altera_ver -L lpm_ver -L sgate_ver -L altera_mf_ver -L altera_lnsim_ver -L stratixiigx_hssi_ver -L stratixiigx_ver -L rtl_work -L work -L lib_TRS_EncoderII -voptargs=\"+acc\" -t 1ps S2_TestRSII_tb # ** Error: (vsim-3170) Could not find 'D:\Files\Altera\S2_TestRSII\simulation\modelsim\rtl_work.S2_TestRSII_tb'. # Error loading design # Error: Error loading design # Pausing macro execution # MACRO ./S2_TestRSII_run_msim_rtl_verilog.do PAUSED at line 16 Quote Ответить с цитированием Share this post Link to post Share on other sites
StewartLittle 0 Posted November 24, 2011 · Report post Направьте на путь истинный в следующем вопросе. Покажите Ваше окошко Settings - EDA Tool Settings - Simulation Quote Ответить с цитированием Share this post Link to post Share on other sites
Koluchiy 0 Posted November 24, 2011 · Report post Вот. P.S. Если Вручную создавать в Моделсиме проект, туда пихать файлы, относящиеся к симуляции (из папки _sim) и не относящиеся к компиляции, компилировать и т.п., то вроде работает. Как сделать, чтобы всех вышеперечисленных телодвижений не надо было делать? Quote Ответить с цитированием Share this post Link to post Share on other sites
sazh 0 Posted November 24, 2011 · Report post Вот. Саму корку сгенерить в корневом каталоге проекта. Quote Ответить с цитированием Share this post Link to post Share on other sites
Koluchiy 0 Posted November 24, 2011 · Report post Она и сгенерена в корневом каталоге. Это не мешает ей делать подпапки, в которые она кладет как модель, так и файлы для компиляции. Quote Ответить с цитированием Share this post Link to post Share on other sites
sazh 0 Posted November 24, 2011 · Report post Она и сгенерена в корневом каталоге. Это не мешает ей делать подпапки, в которые она кладет как модель, так и файлы для компиляции. Тогда и NativeLink должен отработать. ( Я по pci сужу со своим тестбенчем) Quote Ответить с цитированием Share this post Link to post Share on other sites
Koluchiy 0 Posted November 24, 2011 · Report post Да, я попадался уже на эту удочку, когда IPы отказывались работать, если они не сгенерены в корне проекта. Насколько я помню, как раз такой случай для RS Compiler I. Но в данном случае это не оно. Или не совсем оно. ====================================================== Текущая ситуация. Беру файл S2_TestRSII_run_msim_rtl_verilog.do (нерабочий), который генерит Nativelink для того, чтобы запускать Моделсим из Квартуса. Удаляю оттуда строчки, добавляющие в моделсимовский проект файлы IP-ядра, не относящиеся к модели симуляции. А именно, похоже, это файлы для компиляции в железо. Добавляю строчки, добавляющие в моделсимовский проект файлы IP-ядра, относящиеся к модели симуляции. Сохраняю. Запускаю Моделсим (не из Квартуса). Загружаю туда получившийся файл - оно работает. То есть, геморно, но работать можно. Как сделать, чтобы Ква сам генерил рабочий скрипт? Quote Ответить с цитированием Share this post Link to post Share on other sites
vadimuzzz 0 Posted November 24, 2011 · Report post Как сделать, чтобы Ква сам генерил рабочий скрипт? да руками его написать быстрее Quote Ответить с цитированием Share this post Link to post Share on other sites
StewartLittle 0 Posted November 24, 2011 · Report post Как сделать, чтобы Ква сам генерил рабочий скрипт? Попробуйте сказать NativeLink'у, чтобы он для симуляции использовал скрипт, который генерится мегавизардом (см. галку "Use script to set up simulation"). Quote Ответить с цитированием Share this post Link to post Share on other sites
Koluchiy 0 Posted November 24, 2011 · Report post Не, так не работает - оно строчку запуска скрипта добавляет в конец файла, а не в начало - в результате, сначала оно натыкается на отсутствующие файлы (которые ищет не те и не там), останавливается по ошибке, а до запуска того самого скрипта в результате не доходит. Quote Ответить с цитированием Share this post Link to post Share on other sites
StewartLittle 0 Posted November 24, 2011 · Report post Не, так не работает - оно строчку запуска скрипта добавляет в конец файла, а не в начало - в результате, сначала оно натыкается на отсутствующие файлы (которые ищет не те и не там), останавливается по ошибке, а до запуска того самого скрипта в результате не доходит. Ну так попробуйте указать ему, где эти файлы искать. Не в ..\simulation\modelsim, а там, где они лежат фактически. Quote Ответить с цитированием Share this post Link to post Share on other sites