Симулятор ISim от XILINX

В предыдущих статьях и видеоуроках мы научились азам проектирования цифровых устройств в среде XILINX ISE. Так же в видеоуроке №3 рассказывается, как прошить микросхему ПЛИС конфигурацией нашего проекта и проверить наше творение на реальной отладочной плате.

Но часто бывает так, что мы не можем сразу проверить новый проект на реальном кристалле. Например, микросхема еще в пути, или сосед забрал «на полчаса» цифровой осциллограф, а сам уехал на дачу. Так же часто при отладке возникает необходимость в большом количестве итераций (последовательных приближений) к идеальной схеме или идеальному HDL-коду. Однако, при этом нет никакого желания каждый раз перепрошивать микросхему CPLD (или флэш-ПЗУ для микросхем FPGA). К тому же количество возможных перепрошивок этих флэш-ПЗУ и ПЛИС хоть и велико, но всё-таки ограниченно физически числом 1000.

В таких ситуациях нам поможет XILINX ISim. Что такое ISim? Это HDL- симулятор, который встроен в среду XILINX ISE WebPack 13.2. Он позволяет нам произвести функциональное и временное моделирование для языков VHDL, Verilog и смешанных конструкций этих языков. Так же ISim поддерживает такие языки как SDF и VITAL. Видеоурок по ISim можно посмотреть здесь.

В  симуляторе ISim можно работать, используя следующие способы:

- графический интерфейс пользователя

- интерактивная командная строка

- неинтерактивный пакет

Мы рассмотрим графический интерфейс пользователя, который представлен в виде команд  меню, команд контекстного меню и кнопок панели инструментов.  Этот интерфейс дает прекрасную возможность для симуляции, проверки и отладки работы схемы или VHDL-кода. Так же кратко мы рассмотрим применение интерактивной командной строки.

Для имитации (симуляции) работы вашего проекта программе необходимо пройти следующие шаги:

  1. Сбор файлов и библиотек распределения.
  2. Синтаксический анализ и синтез компонентов проекта.
  3. Симуляция проекта
  4. Проверка проекта
  5. Отладка проекта

Шаг 1. Сбор файлов и библиотек распределения

Файлы, необходимые для симуляции проекта:

- файлы проекта, включая стимул-файлы

- всевозможные пользовательские библиотеки

- прочие файлы данных

Что такое стимул-файлы? В качестве стимул-файла используется HDL-файл тестового модуля (test bench). Создать или отредактировать стимул-файл можно следующими способами:

- любой текстовый редактор

- языковые шаблоны

- с помощью других независимых инструментов

Что такое библиотеки пользователя? В зависимости от того, какой режим используется для запуска ISim, существует два различных метода добавления пользовательских библиотек. Если ISim запускается из Project Navigator, определить пользовательские библотеки можно в программе ISE (см. «Работа с библиотеками VHDL» в справке ISE). Если же ISim запускается автономно, и используются интерактивный и неинтерактивный режимы, то нужно установить библиотечный файл распределения, чтобы указать на логические/физические пользовательские библиотеки.

ШАГ 2. Синтаксический анализ и обработка компонентов проекта.

До начала прогона симуляции, ISim должен произвести грамматический разбор кода в одной или нескольких библиотеках, а затем разработать свойственные нашему проекту компоненты. В течение этого шага генерируется имитационная исполняемая программа. Если запускать программу из среды ISE, то этот шаг выполняется автоматически

ШАГ 3. Симуляция проекта.

Симуляция с помощью командной строки. После того, как программа автоматически произвела вышеуказанные действия, следующим шагом будет запуск процесса симуляции. В процессе шага 2 была сгенерирована имитационная программа x.exe или my_sim.exe (по названию вашего проекта или элемента,  работу которого вы хотите проверить). Эта программа запускает графический интерфейс пользователя. Однако, при этом сам процесс симуляции ещё не запускается. Запустить симуляцию вы можете только самостоятельно, нажав на одну из кнопок панели Run. При этом вам потребуется назначить сигналы в сигнальной конфигурации портов.

К тому же, есть возможность запустить имитационную программу, запустив графический интерфейс пользователя, затем запустить симуляцию с помощью вспомогательной опции –tclbatch. Например, для этого нужно написать my_sim.exe -gui -tclbatch my_sim.tcl.

Вы можете использовать команду добавления сигнала (например: wave add / добавить все сигналы верхнего уровня) в вашем файле my_sim.tcl, чтобы сигналы автоматически отображались во время запуска графического интерфейса пользователя.

Симуляция из программы ISE. Все выше указанные процессы (синтаксический анализ, обработка компонентов проекта и запуск команду имитационной программы) запускаются в фоновом режиме, когда вы запускаете один из следующих процессов

- Simulate Behavioral Model

- Simulate Post-Place & Route Model

Эти процессы программы ISE запускают графический интерфейс пользователя по умолчанию. К тому же, пользователь может указать TCL-файл, в котором он пропишет параметры сигналов, воздействующих на порты при запуске ISim. Время симуляции можно указать в свойстве «Simulation Run Time» процесса симуляции в ISE.

ШАГ 4. Проверка проекта

После того, как проект был просимулирован, более чем вероятно, что вам потребуется его отладить. Это нужно для того, чтобы проект в совершенстве исполнял те функции, которые от него ожидают. Начальное исследование результатов имитации может осуществлено двумя способами:

- просмотр взаимодействий сигналов окне Wave

- просмотр или опрос результатов в консольной панели или в TCL–подсказке.

Результаты могут быть сохранены.

ШАГ 5. Отладка проекта. ISim обеспечивает различные способы отладки проекта.

Проверка сообщений об ошибках

Во первых, просмотрите сообщения об ошибках, чтобы увидеть, есть ли ошибки в проекте. Сообщения об ошибках в среде ISE появляются либо в консольной панели либо в LOG – файлах, которые будут рассмотрены в следующем пункте. Обратите внимание на сообщения с одним из следующих префиксов:

HDL Compiler – показывает ошибки во время шага синтаксического разбора и статической обработки. Если проблема произошла во время этого шага и он не был успешно запущен, то это проблема может передаться HDL-компилятору.

Проверка LOG-файлов

В следующих статьях будет размещен видеоурок по основам работы в ISim.

Об авторе admin

Инженер. Окончил НГТУ по специальности "Радиосвязь, телевидение и радиовещание". С 2003 г. занимаюсь разработкой электронной начинки различных радиотехнических устройств и приборов.
Запись опубликована в рубрике Все статьи, Только у нас! Видеоуроки XILINX ISE WebPack. Добавьте в закладки постоянную ссылку.

4 комментария на «Симулятор ISim от XILINX»

  1. Евгений говорит:

    Александр, подскажите пожалуйста, что делать если iSim ругается на Lite версию и отказывается производить моделирование? Как решить проблемму? может переустановка либо более серьезная версия а не webpack

Оставить комментарий