Jump to content

    

ModelSim functional vs coverage simulation - xxx is not bound

Всем добра!
Я всё про тот же чужой мне проект на чужом языке. 
Функциональное моделирование, вроде бы, осилил, теперь нужно преодолеть code coverage.
На своём SV-шном я этот путь прошёл, КМК, без особых проблем.
Но тут, в VHDL, столкнулся с необъяснимыми мне сообщениями компилятора вида
 ** Warning: ../../mpm027.vhd(183): (vopt-3473) Component instance "/mpm027/b2v_inst : lcell" is not bound.
Как полагаю, дело снова в оптимизации, ибо, если из маршрута убираю оную, ругательство пропадает.
Но и сам маршрут рушится, ибо я его тупо скопировал из руководства к ModelSim-у.
Вопрос: как, не разрушая маршрут, побороться с этими warning-ами, или же снова, как было предложено ранее
выставить переменные ModelSim-а? Какие?
На всякий случай проект прилагаю.
Скрипты запуска functional - ModelSim\Functional\functional_run.bat, coverage - ModelSim\Coverage\coverage_run.bat

 

FunctionalVSCoverage.zip

Share this post


Link to post
Share on other sites
11 часов назад, MaratZuev сказал:

** Warning: ../../mpm027.vhd(183): (vopt-3473) Component instance "/mpm027/b2v_inst : lcell" is not bound.

Симулятор не видит реализацию модуля lcell. Нужно подключить какую-то квартовскую библиотеку, где этот lcell реализован.

Share this post


Link to post
Share on other sites

Симулятор не видит реализацию только при запуске маршрута coverage.
При запуске маршрута functional с теми же самыми установками в том же самом симуляторе всё прекрасно видится.
При запуске маршрута coverage с отключённой оптимизацией тоже всё видится.
Так что просьба подсказать ещё...

Share this post


Link to post
Share on other sites
10 minutes ago, MaratZuev said:

Симулятор не видит реализацию только при запуске маршрута coverage.
При запуске маршрута functional с теми же самыми установками в том же самом симуляторе всё прекрасно видится.
При запуске маршрута coverage с отключённой оптимизацией тоже всё видится.
Так что просьба подсказать ещё...

Ну, судя по документу Questa®SIM User’s Manual  Including Support for Questa SV/AFV -> Chapter 19 Code Coverage -> Notes on Coverage and Optimization, который вы естественно изучили перед тем как работать с покрытием кода, возможно вы забыли вот это

Quote

The optimization process removes constructs in your design that are not functionally essential, such as code in a procedure that is never called. These constructs can include statements, expressions, conditions, branches, and toggles. This results in a trade-off between aggressive optimization levels and the ease with which the coverage results can be understood

Отсюда и предупреждение что экземпляр компонента в проекте есть, но от него отвязан.

Share this post


Link to post
Share on other sites
1 hour ago, des00 said:

Отсюда и предупреждение что экземпляр компонента в проекте есть, но от него отвязан.

Всем спасибо, все свободны.
Куда денег занести? )

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now