Maverick_ 15 15 ноября, 2022 Опубликовано 15 ноября, 2022 · Жалоба Добрый! Пытаюсь сделать симуляцию с библиотечными элементами (квартус 18.1). Написал do файл (вложение). Моделсим выдает странные ошибки: # ** Error (suppressible): (vsim-10000) ./moduls/calc_base/ipcore/divider_base.v(66): Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_drepresentation. # Time: 0 ps Iteration: 0 Instance: /dpp_vhd_tst/i1/b2v_inst8/divider_base_inst File: ./moduls/calc_base/ipcore/divider_base.v # ** Error (suppressible): (vsim-10000) ./moduls/calc_base/ipcore/divider_base.v(67): Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_hint. # Time: 0 ps Iteration: 0 Instance: /dpp_vhd_tst/i1/b2v_inst8/divider_base_inst File: ./moduls/calc_base/ipcore/divider_base.v # ** Error (suppressible): (vsim-10000) ./moduls/calc_base/ipcore/divider_base.v(68): Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_nrepresentation. # Time: 0 ps Iteration: 0 Instance: /dpp_vhd_tst/i1/b2v_inst8/divider_base_inst File: ./moduls/calc_base/ipcore/divider_base.v # ** Error (suppressible): (vsim-10000) ./moduls/calc_base/ipcore/divider_base.v(69): Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_pipeline. # Time: 0 ps Iteration: 0 Instance: /dpp_vhd_tst/i1/b2v_inst8/divider_base_inst File: ./moduls/calc_base/ipcore/divider_base.v # ** Error (suppressible): (vsim-10000) ./moduls/calc_base/ipcore/divider_base.v(70): Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_type. # Time: 0 ps Iteration: 0 Instance: /dpp_vhd_tst/i1/b2v_inst8/divider_base_inst File: ./moduls/calc_base/ipcore/divider_base.v # ** Error (suppressible): (vsim-10000) ./moduls/calc_base/ipcore/divider_base.v(71): Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_widthd. # Time: 0 ps Iteration: 0 Instance: /dpp_vhd_tst/i1/b2v_inst8/divider_base_inst File: ./moduls/calc_base/ipcore/divider_base.v # ** Error (suppressible): (vsim-10000) ./moduls/calc_base/ipcore/divider_base.v(72): Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_widthn. # Time: 0 ps Iteration: 0 Instance: /dpp_vhd_tst/i1/b2v_inst8/divider_base_inst File: ./moduls/calc_base/ipcore/divider_base.v # Error loading design # Error: Error loading design # Pausing macro execution # MACRO ./c.do PAUSED at line 69 Ошибки в модуле который визард генерирует - на его параметры. alg_base_calc_1calc.v - модуль в который делитель (divider_base.v) входит как компонент c.do - произвожу запуск симуляции в моделсиме Пошел альтернативным путем: Пытался запустить симуляцию через native link (из квартуса): prj_elvatech_run_msim_rtl_vhdl.do - файл созданный квартусом для симуляции ошибки аналогичные: # vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L altera_lnsim -L cyclonev -L rtl_work -L work -voptargs="+acc" dpp_vhd_tst # vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L altera_lnsim -L cyclonev -L rtl_work -L work -voptargs=""+acc"" dpp_vhd_tst # Start time: 19:33:40 on Nov 15,2022 # ** Note: (vsim-3812) Design is being optimized... # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(66): Illegal target for defparam. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(67): Illegal target for defparam. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(68): Illegal target for defparam. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(69): Invalid reference 'lpm_pipeline' in defparam; target resolves below VHDL scope 'LPM_DIVIDE_component'. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(69): Illegal target for defparam. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(70): Illegal target for defparam. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(71): Invalid reference 'lpm_widthd' in defparam; target resolves below VHDL scope 'LPM_DIVIDE_component'. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(71): Illegal target for defparam. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(72): Invalid reference 'lpm_widthn' in defparam; target resolves below VHDL scope 'LPM_DIVIDE_component'. # ** Error: D:/hdl_projects/Elvatech/prj_elvatech/moduls/calc_base/ipcore/divider_base.v(72): Illegal target for defparam. # Optimization failed # Error loading design # Error: Error loading design # Pausing macro execution # MACRO ./prj_elvatech_run_msim_rtl_vhdl.do PAUSED at line 59 Подскажите пожалуйста как исправить ошибки в моделсиме? divider_base_inst.v divider_base.qip divider_base.v divider_base_bb.v alg_base_calc_1calc.v c.do prj_elvatech_run_msim_rtl_vhdl.do Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 16 ноября, 2022 Опубликовано 16 ноября, 2022 · Жалоба Попробуйте отключить отптимизациию: vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L altera_lnsim -L cyclonev -L rtl_work -L work -voptargs="+acc" -novopt dpp_vhd_tst Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 ноября, 2022 Опубликовано 16 ноября, 2022 · Жалоба 29 minutes ago, Flip-fl0p said: Попробуйте отключить отптимизациию: vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L altera_lnsim -L cyclonev -L rtl_work -L work -voptargs="+acc" -novopt dpp_vhd_tst она и так отключена. в старших квестах опции -novopt нет, вместо нее, как раз +acc используется) судя по тому что он пишет "Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_drepresentation" у него либо глюк с конфликтом имен, либо глюк с либой, убрать все либы из строки запуска, скомпилировать напрямую сорцы и запустить. Но что-то мне подсказывает, что не надо было давать имя LPM_DIVIDE_ххх компоненту lpm_divide, кто его знает как там строка поиска элементов сделана) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 16 ноября, 2022 Опубликовано 16 ноября, 2022 · Жалоба 4 hours ago, des00 said: она и так отключена. в старших квестах опции -novopt нет, вместо нее, как раз +acc используется) судя по тому что он пишет "Unresolved defparam reference to 'LPM_DIVIDE_component' in LPM_DIVIDE_component.lpm_drepresentation" у него либо глюк с конфликтом имен, либо глюк с либой, убрать все либы из строки запуска, скомпилировать напрямую сорцы и запустить. Но что-то мне подсказывает, что не надо было давать имя LPM_DIVIDE_ххх компоненту lpm_divide, кто его знает как там строка поиска элементов сделана) У меня в проекте два делителя используется с разными параметрами для синтеза. Неужели я не могу более одного компонента использовать в проекте - бред какой то 4 hours ago, Flip-fl0p said: Попробуйте отключить отптимизациию: vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L altera_lnsim -L cyclonev -L rtl_work -L work -voptargs="+acc" -novopt dpp_vhd_tst в первом описаном случае я не использую оптимизацию вообще - c.do файл. Оптимизацию добавляет native link (из квартуса) - prj_elvatech_run_msim_rtl_vhdl.do Как мне переделать проект чтобы не было повторов имен IP CORE LPM_DIVIDE? Cейчас ругается на имя divider_base которое дал визарду при создании IP CORE Но divider_base (см вложение первого поста) это обвертка в которой прописан LPM_DIVIDE с параметрами настроек. Аналогично и с lpm_divider Помниться я вначале 2000 годов (вначале своей карьеры) я моделировал схемы из схематик едитора - там то повторов IP CORE было множество... Что то получается я делаю не правильно, понять бы что и где Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 ноября, 2022 Опубликовано 16 ноября, 2022 · Жалоба 5 hours ago, Maverick_ said: Что то получается я делаю не правильно, понять бы что и где очень давно с квестой было что-то похожее, как я вам уже написал, почистите рабочую либу, возьмите сорцы этих корок, скомпилируйте в work и пробуйте запускать. Без отдельно скомпилированных библиотек. Если заработает, то можно уже идти дальше, в сторону компиляции библиотек Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 16 ноября, 2022 Опубликовано 16 ноября, 2022 · Жалоба Убрал один модуль деления из проекта - моделсим компилирует... продолжу исследования))) PS где-то лажа... квартус <=> моделсим Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 19 ноября, 2022 Опубликовано 19 ноября, 2022 · Жалоба В 16.11.2022 в 19:51, Maverick_ сказал: продолжу исследования))) Если не know-how, кидайте проект: можем распараллелить наши изыскания в целях познавания глубины ихних глубин ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 24 ноября, 2022 Опубликовано 24 ноября, 2022 · Жалоба что-то мне подсказывает что внешний модуль пытается переопределить какойто localparam во внутреннем, нижестоящем модуле, но либо лезет не туда, либо библиотека не от той версии. Возможен ещё вариант, что в нескольких местах используется этот одинаково называнный LPM_DIVIDE, но в одной части он должен быть одной версии, а в другой - соответственно другой версии библиотеки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 25 ноября, 2022 Опубликовано 25 ноября, 2022 · Жалоба On 11/24/2022 at 10:29 PM, krux said: что-то мне подсказывает что внешний модуль пытается переопределить какойто localparam во внутреннем, нижестоящем модуле, но либо лезет не туда, либо библиотека не от той версии. Возможен ещё вариант, что в нескольких местах используется этот одинаково называнный LPM_DIVIDE, но в одной части он должен быть одной версии, а в другой - соответственно другой версии библиотеки. что делать со случаем "в нескольких местах используется этот одинаково называнный LPM_DIVIDE, но в одной части он должен быть одной версии, а в другой - соответственно другой версии библиотеки." как исправить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 2 декабря, 2022 Опубликовано 2 декабря, 2022 · Жалоба В 26.11.2022 в 02:41, Maverick_ сказал: "в нескольких местах используется этот одинаково называнный LPM_DIVIDE, но в одной части он должен быть одной версии, а в другой - соответственно другой версии библиотеки." как исправить? Упрости максимально твою задачу с этими разными библиотеками и пришли мне. И личку, конечно, прочитай. Я готов продолжить с тобой работу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kenezoer 0 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба В 26.11.2022 в 02:41, Maverick_ сказал: что делать со случаем "в нескольких местах используется этот одинаково называнный LPM_DIVIDE, но в одной части он должен быть одной версии, а в другой - соответственно другой версии библиотеки." как исправить? В тулах различных вендоров используются ключи, разрешающие элаборацию модулей с одинаковыми названиями, но различным содержимым (очень похоже на "перегрузку операторов" из программирования). Однако, делать это крайне не рекомендую, может привести к очень странным последствиям, которые тяжело отлаживать. Если есть вариант достать сырцы модулей - достаньте, поменяйте им вручную нейминг модулей на различный и закиньте обратно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться