2016-01-16 2 views
2

Я хочу запустить симуляцию в Quartus. Поэтому я назначаю Testbench в меню Assignment. Мой тестовый стенд включает мой DUT (D) и дополнительный компонент (E), который предназначен только для моделирования (так что этот компонент включает в себя утверждения, которые не могут быть синхронизированы). Моя симуляция работает, если удалить E из моего Testbench, но когда я хочу, чтобы включить E в моем Testbench, я получаю сообщение об ошибке от ModelSim:Quartus II использовать файл только в моделировании

my_testbench.vhd(197): (vcom-1195) cannot find expanded name "mylib.only_for_simulation". 

Как я мог бы сделать Quartus/Modelsim для компиляции файла E?

+1

Является ли дополнительный компонент записанным в файле testbench или отдельным файлом? –

+0

Похоже, вы не скомпилировали 'only_for_simulation' в' mylib'. Вы скомпилировали его в библиотеку 'work' по умолчанию? –

+0

@MartinZabel: да, его дополнительный файл @BrianDrummond: Я добавил его в 'mylib'. Если я перейду к представлению 'Design Units', этот файл находится в правой библиотеке. Но, возможно, он не компилируется. Как сказать Quartus для компиляции этого файла также только для симуляции? – alabamajack

ответ

1

При запуске моделирования Quartus анализирует все файлы, указанные в настройках проекта (доступно через меню Назначение -> Настройки -> Файлы). Но, это разрабатывает только объекты, необходимые для тестирования, начиная с объекта верхнего уровня (см. Меню Назначение -> Настройки -> Общие). Например, в моем тестовом проекте top указывается объект объекта DUT и my_testbench и only_for_simulation требуются только для моделирования. Это выход из Quartus в окне сообщений после запуска моделирования:

Info (12021): Найдено 2 конструкторских подразделений, в том числе 1 лиц, в источнике файла my_testbench.vhdl

Info (12021) : Найдено 2 проектных единиц, в том числе 1 лиц, в исходном файле top.vhdl

информация (12021): Найдено 2 проектных единиц, в том числе 1 лиц, в источнике файл only_for_simulation.vhdl

в о (12127): Разрабатывая сущность «сверху» для иерархии верхнего уровня

только файлы, которые хранят объекты, найденные во время разработки автоматически добавляются в скрипт для запуска ModelSim тренажера. Таким образом, не имеет значения, указаны ли в качестве файлов проекта my_testbench и only_for_simulation. Дальнейшие файлы моделирования должны быть всегда, указанные в задании . Доступно через меню Назначение -> Настройки -> Моделирование -> Скомпилировать стенд -> Испытательные стенды -> Создать/Изменить. Там вы должны указать файлы, хранящие my_testbench и only_for_simulation. И вы должны перечислить их в правильном порядке компиляции, то есть only_for_simulation до my_testbench. В этом диалоговом окне вы также можете установить библиотеку от only_for_simulation до mylib через Свойства. Вот скриншот моей установки тестового стенда.

test-bench setup

Сформированный ModelSim сценарий хранится в подкаталоге моделирования/ModelSim в файле с расширением .do. В нем перечислены все файлы, которые должны быть скомпилированы ModelSim. И ModelSim компилирует их только в данном порядке.

+0

Спасибо! То, что мне нужно. Вы понимаете это, пытаясь это (включая, в том числе, зная это из-за того, что так много времени проводите с Quartus;) или есть ли в WP или AppNote глава об этой вещи? – alabamajack

+0

Я делаю много FPGA-дизайна с Quartus, так что первая часть моего ответа уже была в моем сознании. Я просто хочу проверить, работает ли настройка имени библиотеки для одного из файлов моделирования. Я не могу сказать, есть ли хороший WP или AppNote по этой теме. –

Смежные вопросы