Временная симуляция или EDA Gate Level Simulation Quartus + 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.
2. Компилируем библиотеки Altera применительно к данному проекту и языку VHDL на котором написан модуль формирователя ЛЧМ. Из главного меню Quartus: Tools - Launch EDA Simulation Library Compiler
Директория D:/Msim_lib - произвольное место хранения скомпилированных библиотек. Далее кнопка Start Compilation. Должна начаться и через несколько секунд успешно завершиться компиляция с выдачей соответствующего сообщения.
3. Настройка NativeLink - инструмента для налаживания связи между Quartus и Modelsim. Главное меню Quartus Assignments - Settings - Simulation
Далее кнопка More EDA Netlist Writer Settings… где указываем путь к скомпилированным библиотекам.
Кнопка OK затем More NativeLink Settings… где опять указываем путь к скомпилированным библиотекам.
4. Далее ответственный момент с генерацией TestBench и его редактированием
После генерации файла TestBench в нижнем окне процессов можно будет увидеть путь к файлу шаблона TestBench и его название. Далее файл можно открыть в окне редактирования Quartus и отредактировать его под свой проект.
5. Привязка TestBench к проекту с учетом того, что будет проводиться именно временное моделирование. Идем опять в Assignments - Settings - Simulation
Жмем кнопку 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 с учетом всех внутреннх временных задержек сигналов в ПЛИС. Но прежде для этого нужно сгенерить файл где расписаны эти задержки.
Как результат - будет сгенерирован файл lchm_vhd.sdo
7. Теперь можно смело жать на EDA Gate Level Simulation
Запустится ModelSim и начнется отсчет времени в 5 мс. Вуаля. Действительно временная симуляция.
Проект со всеми выше описанными файлами и настройками можно получить по ссылке ниже по тексту.
Электроника :
- Техника электроника (11)
- Полезная электроника (4)
- Электроника для всех (5)
- Техника для дома (6)
- Cхемотехника ПЛИС (11)
- Пректирование PCAD (4)
Программирование :
- Микроконтроллеры (9)
- ПЛИС VHDL Verilog (29)
- C++ Builder (7)
- Visual Studio C++ C# (7)
- Java programming (7)
- Matlab programming (4)
Сайтостроение :
- Сайтостроение HTML (5)
- Сайтостроение PHP (8)
- PHP CMS на файлах (3)
- Web инструменты (9)
- Полезное вебмастеру (11)
- SEO раскрутка сайта (4)
- PHP скрипты (3)
Реклама :
Книги и учебники :
- Шаблоны сайтов (6)
- Книги и учебники (2)
Компьютер и интернет :
Поиск по сайту :
Реклама :
Облако меток :
Бесплатная подписка :
Статистика :
- Популярность (3)
- Посещаемость (3)
- Поисковые запросы (3)