Временная симуляция или EDA Gate Level Simulation Quartus + ModelSim

Временная симуляция в ModelSimРабота с ПЛИС фирмы Altera в части симуляции проектов не вызывала особых вопросов начиная со среды разработки типа MaxPlus или Quartus до версии 10 из-за наличия встроенного симулятора, который полностью выполнял свои функции. В версиях Quartus 10 и выше уже отсутствует встроенный симулятор. Поэтому приходится выкручиваться из данной ситуации путем использования продукта от MentorGraphics симулятора ModelSim. Трудно понять такое решение Altera, но деваться некуда. Функциональная симуляция в ModelSim не представляет особых трудностей. Но проведение временной (Timing Simulation) симуляции в ModelSim часто заходит в ступор из-за отсутствия четкого описания методики.

В данном посте рассмотрим на простейшем примере запуск в ModelSim SE 6.6d из среды разработки Quartus 11.0 временной (EDA Gate Level Simulation) симуляции, тоесть симуляции с учетом задержек распространения сигналов в конкретной выбранной в проекте ПЛИС. Это будет практически то же самое что выполняет встроенный симулятор Quartus ранних версий. Начнем издалека. Для начала нужно учесть, что для работы Quartus 11.0 в паре с ModelSim SE от MentorGraphics последний должен быть версией не ниже чем 6.6d. Об этом прямо предупреждает Altera на своем сайте. Итак последовательность запуска временной симуляции в Quartus 11.0 + ModelSim SE 6.6d на известном примере VHDL формирователя ЛЧМ сигнала, проект которого нужно открыть в Quartus 11.0 и скомпилировать. Необходимо обратить внимание, что все ниже описанные операции выполняются отдельно каждый раз для каждого отдельного проекта.

1. Из главного меню Quartus: Tools - Options устанавливаем путь к программе ModelmSim.

EDA Tools Options

2. Компилируем библиотеки Altera применительно к данному проекту и языку VHDL на котором написан модуль формирователя ЛЧМ. Из главного меню Quartus: Tools - Launch EDA Simulation Library Compiler

Компиляция Altera библиотек

Директория D:/Msim_lib - произвольное место хранения скомпилированных библиотек. Далее кнопка Start Compilation. Должна начаться и через несколько секунд успешно завершиться компиляция с выдачей соответствующего сообщения.

3. Настройка NativeLink - инструмента для налаживания связи между Quartus и Modelsim. Главное меню Quartus Assignments - Settings - Simulation

NativeLink

Далее кнопка More EDA Netlist Writer Settings… где указываем путь к скомпилированным библиотекам.

More EDA Netlist Writer Settings

Кнопка OK затем More NativeLink Settings… где опять указываем путь к скомпилированным библиотекам.

More NativeLink Settings

4. Далее ответственный момент с генерацией TestBench и его редактированием

генерация TestBench

После генерации файла TestBench в нижнем окне процессов можно будет увидеть путь к файлу шаблона TestBench и его название. Далее файл можно открыть в окне редактирования Quartus и отредактировать его под свой проект.

путь к файлу TestBench

5. Привязка TestBench к проекту с учетом того, что будет проводиться именно временное моделирование. Идем опять в Assignments - Settings - Simulation

Привязка TestBench к проекту

Жмем кнопку Test Benches... В открывшемся окне жмем кнопку New и попадаем в пожалуй самое важное окно настроек

Итак сверху вниз:
- Test bench name - произвольное имя теста
- Top level module in test bench. - имя верхнеуровневого модуля в файле lchm.vht - тоесть lchm_vhd_tst

Имя вернеуровнего модуля

- Use test bench to perform VHDL timing simulation - важная птичка для запуска именно временной симуляции
- Design Instance name in test bench - имя инстанции или карты привязки сигналов в файле lchm.vht - тоесть i1

- End simulation at: - время конца симуляции
- File name - указываем путь к файлу lchm.vht и добавляем его нажав на кнопку Add

6. Далее все окна закрываем по OK и крайнее окно по Apply и OK. Все. Теперь можно начинать временную симуляцию проекта, тоесть симуляцию в ModelSim с учетом всех внутреннх временных задержек сигналов в ПЛИС. Но прежде для этого нужно сгенерить файл где расписаны эти задержки.

EDA Netlist Writer

Как результат - будет сгенерирован файл lchm_vhd.sdo

Файл Altera .sdf

7. Теперь можно смело жать на EDA Gate Level Simulation

Запуск временной симуляции

Запустится ModelSim и начнется отсчет времени в 5 мс. Вуаля. Действительно временная симуляция.

Проект со всеми выше описанными файлами и настройками можно получить по ссылке ниже по тексту.

Top.Mail.Ru