Vengin 0 24 декабря, 2019 Опубликовано 24 декабря, 2019 · Жалоба Здравствуйте. Решил обновить рабочий софт: работал на связке Vivado 2017.4 + Modelsim 10.5, обновил до Vivado 2019.1 + Modelsim 2019.2. Скомпилил симуляционные библиотеки. При попытке симуляции одного рабочего проекта (без оптимизации, т.е. "vsim -novopt …") изначально получаю ошибку: # ** Error (suppressible): (vsim-12110) All optimizations are disabled because the -novopt option is in effect. This will cause your simulation to run very slowly. If you are using this switch to preserve visibility for Debug or PLI features, please see the User's Manual section on Preserving Object Visibility with vopt. -novopt option is now deprecated and will be removed in future releases. Подавляю эту ошибку (добавлением флага "vsim -novopt suppress 12110 …") и симуляция отрабатывает (при этом вываливается куча warnings, предупреждающих, что при выключенной оптимизации симуляция будет медленной и т.п.). Когда же пытаюсь включить оптимизацию (“vsim -voptargs="+acc" ….”) получаю маловразумительные ошибки: # ** Error: D:\PF\Xilinx\Vivado\2019.1\data\ip\xilinx\xbip_dsp48_addsub_v3_0\hdl\xbip_dsp48_addsub_v3_0_vh_rfs.vhd(64): (vopt-1598) Library "<protected>" not found. # ** Error: D:\PF\Xilinx\Vivado\2019.1\data\ip\xilinx\xbip_dsp48_addsub_v3_0\hdl\xbip_dsp48_addsub_v3_0_vh_rfs.vhd(64): (vopt-1136) Unknown identifier "<protected>". В проекте используются ядра floating_point_v7_1_8, которым требуются xbip_dsp48_addsub_v3_0_vh_rfs.vhd, о которых по идее и говорится в ошибках. Т.к. это всё шифрованные исходники, то пытаться искать в них что-то бессмысленно. Где искать корень зла непонятно. Сделал пустой проект с простейшим float ядром add32 (на базе ядра floating_point_v7_1_8) и он симулируется корректно, как с оптимизацией, так и без неё. Может есть идеи, в чём может быть проблема при включении оптимизации? Или кто какие версии Modelsim использует с Vivado 2019.1? Xilinx для Vivado 2019.1 рекомендует Modelsim 10.7c, но его найти пока не удалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 25 декабря, 2019 Опубликовано 25 декабря, 2019 · Жалоба 19 hours ago, Vengin said: ...получаю маловразумительные ошибки.... Видел такую ерунду, когда запускал IPCore от Xilinx в QuestaSim. Насколько помню, проблема решилась следующим образом: 1. Скомпилировать в Vivado библиотеки для симуляции; 2. Подключить скомпилированные библиотеки в симулятор; 3. При симуляции явно указать библиотеки. В пунктах 2-3 нужно обратить внимание, что бывают одинаковые компоненты (библиотеки), но некоторые имеют суффик _protected, или типа того. Их тоже нужно использовать. К сожалению, под рукой сейчас всего этого нет, поэтому малость сумбурно) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 25 декабря, 2019 Опубликовано 25 декабря, 2019 · Жалоба 1 час назад, nice_vladi сказал: Видел такую ерунду, когда запускал IPCore от Xilinx в QuestaSim. Насколько помню, проблема решилась следующим образом: 1. Скомпилировать в Vivado библиотеки для симуляции; 2. Подключить скомпилированные библиотеки в симулятор; 3. При симуляции явно указать библиотеки. В пунктах 2-3 нужно обратить внимание, что бывают одинаковые компоненты (библиотеки), но некоторые имеют суффик _protected, или типа того. Их тоже нужно использовать. К сожалению, под рукой сейчас всего этого нет, поэтому малость сумбурно) 1. Сделано. 2. Подключено в файле проекта *.mpf (аналог modelsim.ini). Библиотеки в симуляторе отображаются. 3. Не совсем понятно. Аналог директивы #include (для VHDL это LIBRARY ...; USE ...;)? Это и так делается в сгенеренных коркой файлах. Не припомню одинаковых библиотек с суффиксами. Обычно вроде есть только несколько разных версий (типа floating_point_v7_0_16, floating_point_v7_1_8). Строка "protected" вроде фигурирует только внутри файлов библиотек " *_vh_rfs.vhd " (header с описанием чего и как зашифровано). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 25 декабря, 2019 Опубликовано 25 декабря, 2019 · Жалоба 2 minutes ago, Vengin said: 1. Сделано. 2. Подключено в файле проекта *.mpf (аналог modelsim.ini). Библиотеки в симуляторе отображаются. 3. Не совсем понятно. Аналог директивы #include (для VHDL это LIBRARY ...; USE ...;)? Это и так делается в сгенеренных коркой файлах. Не припомню одинаковых библиотек с суффиксами. Обычно вроде есть только несколько разных версий (типа floating_point_v7_0_16, floating_point_v7_1_8). Строка "protected" вроде фигурирует только внутри файлов библиотек " *_vh_rfs.vhd " (header с описанием чего и как зашифровано). 3. Нет, я запускал через скрипты tcl. Что-то вроде vsim .... -L <library0> -L <library1> -L work tb_top.sv Бибилиотеки имел в виду верилоговские. С вхдл дел не имел, но думаю, там все +- одинаковое Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
druzhin 4 23 марта, 2020 Опубликовано 23 марта, 2020 · Жалоба On 12/24/2019 at 12:35 PM, Vengin said: Может есть идеи, в чём может быть проблема при включении оптимизации? У меня норм работают моделсимы 2019.2 и 2019.4. У меня xilinx ISE, вы сделайте по аналогии. Я компилирую библиотеки таким бат-файлом. Два варианта, для mti_se и questa. %Xilinx%\bin\nt64\compxlib -s mti_se -64bit -arch fpga -lib all -l all -dir %MODEL_TECH%\..\Xilinx\ -p %MODEL_TECH%\ -log compxlib.log -w %Xilinx%\bin\nt64\compxlib -s questasim -64bit -arch fpga -lib all -l all -dir %MODEL_TECH%\..\Xilinx\ -p %MODEL_TECH%\ -log compxlib.log -w Перед компилировании библиотек в <install_dir> моделсима надо поместить файл compxlib.cfg. Файл присоединен к коменту. В 16 и 17 строке файла надо выбрать тип моделятора: mti_se или questa. Если этот файл создастся сам - он будет глюкавый, с паразитными командами -novopt. compxlib.cfg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба В 24.03.2020 в 02:51, druzhin сказал: У меня норм работают моделсимы 2019.2 и 2019.4. У меня xilinx ISE, вы сделайте по аналогии. Я компилирую библиотеки таким бат-файлом. Два варианта, для mti_se и questa. %Xilinx%\bin\nt64\compxlib -s mti_se -64bit -arch fpga -lib all -l all -dir %MODEL_TECH%\..\Xilinx\ -p %MODEL_TECH%\ -log compxlib.log -w %Xilinx%\bin\nt64\compxlib -s questasim -64bit -arch fpga -lib all -l all -dir %MODEL_TECH%\..\Xilinx\ -p %MODEL_TECH%\ -log compxlib.log -w Перед компилировании библиотек в <install_dir> моделсима надо поместить файл compxlib.cfg. Файл присоединен к коменту. В 16 и 17 строке файла надо выбрать тип моделятора: mti_se или questa. Если этот файл создастся сам - он будет глюкавый, с паразитными командами -novopt. compxlib.cfg Для Xilinx ISE это может и работает, но в Vivado свой компилятор библиотек compile_simlib, со своим синтаксисом и т.п. Пример: compile_simlib -simulator modelsim -simulator_exec_path {C:/PF/modeltech64_2019.2/win64} -family all -language all -library all Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
druzhin 4 4 мая, 2020 Опубликовано 4 мая, 2020 · Жалоба On 3/26/2020 at 9:40 AM, Vengin said: Для Xilinx ISE это может и работает, но в Vivado свой компилятор библиотек compile_simlib, со своим синтаксисом и т.п. Значит надо найти где прячутся -novopt и их уничтожить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 28 апреля, 2022 Опубликовано 28 апреля, 2022 · Жалоба Вот тут я описал свои попытки скомпилить под виваду без -novopt, но не всё получилось гладко. Пока не знаю что дальше делать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться