FPGA > САПР > Основы Verilog: Курс лабораторных работ

ЛР1 > Знакомство со средой моделирования ModelSim

Тема: Интерфейс среды Modelsim, создание проекта, компиляция, создание TCL-макросов и выполнение симуляции

1. Теоретические сведения

Среда моделирования ModelSim предназначена для проверки работоспособности проекта, описанного на одном из языков описания аппаратуры (HDL). Она включает в себя средства создания проекта, создания и редактирования исходных файлов проекта, компилятор, моделирующую программу и средства визуализации результатов моделирования (графический редактор и пр.). ModelSim поддерживает работу с тестовыми файлами на HDL (test-bench) или на языке Tcl (командный язык для создания управляющих файлов).

 2. Порядок выполнения работы

1. Запустите программу ModelSim с помощью команды Пуск – Все программы – Modelsim SE 6.4 – Modelsim.

 Modelsim

Mentor Graphics Modelsim logo

2. Закройте окно IMPORTANT Information с помощью кнопки Close. Откроется основное рабочее окно среды моделирования:

3. Создайте новый проект. Для этого в меню File выберите команду New – Project.. Откроется диалоговое окно Create Project:

Укажите в нем имя создаваемого проекта (например – my_project), рабочую директорию проекта. Имя текущей библиотеки проекта оставьте по умолчанию (work). Нажмите ОК.

4. В открывшемся диалоговом окне:

выберите команду добавления существующих исходных файлов в проект – Add Existing File.

5. В открывшемся диалоговом окне Add file to Project укажите файл (mult_acc.v) из дериктории исходных данных к лабораторной работе. Нажмите кнопку Открыть. Подтвердите выбор командойОК. Закройте окно Add items to the Project.

6. В окне рабочей области проекта (Workspace, закладка Project) появится выбранный файл. Двойное нажатие левой кнопки мыши на данном файле позволяет открыть текстовый редактор для просмотра и редактирования исходного файла:

Файл mult_acc.v описывает работу устроайства МАС – перемножитель двух восьмиразрядных чисел с последующим накоплением результата в аккумуляторе (Постарайтесь разобраться с программой). Обратите внимание на значек статуса возле имени файла.

7. Скомпилируйте проект. Для этого выберите в меню Compile команду Compile All. Информация о результате компиляции появиться в окне сообщений (Transcript). Если компиляция завершилась успешно, изменится вид значка статуса возле имени файла.

8. Теперь перейдите в режим моделирования. Для этого в меню Simulate выберите команду Start Simulation. В открывшемся диалоговом окне Start Simulation укажите файл верхнего уровня иерархии для моделирования (файл mult_acc из рабочей библиотеки work).

Отключите опцию Enable optimization. Укажите шаг моделирования (Resolution) равный ps (одна пикосекунда). Нажмите ОК.

9. Внешний вид среды ModelSim изменился. Она переключилась в режим моделирования. В окне рабочей области проекта (Workspace)
появилась закладка sim (список доступных для моделирования объектов – исходный файл, входящие в его состав функции и процессы). Открылось окно Objects – доступные для просмотра объекты (входные, выходные и внутренние сигналы).

10. Сделайте окно Object активным (нажмите левой кнопкой мыши на заглавии окна). В меню Addвыберите команду To Wave – All items in region. Данная команда позволяет открыть графическое окно и добавить в него для просмотра все сигналы, присутствующие в данном модуле.

11. Для того, чтобы приступить к моделированию, необходимо создать файл с входными тестовыми сигналами (test-bench). Для данной лабораторной работы он уже создан – это файл Stim.do (на языке Tcl). Чтобы посмотреть его перейдите в окне рабочей области проекта (Workspace) к закладкеProject. В меню File выберите команду Open.. В окне выбора файла укажите тип файла – Macro Files (*.do, *.tcl) и укажите файл Stim.do. В окне текстового редактора откроется данный файл.

ПРИМЕЧАНИЕ
Рассмотрим подробнее формат команды формирования входных воздействий:

force clr 1 0ns, 0 50ns; – данная команда говорит о том, что сигналу clr необходимо присвоить значение логической «1» на 0 нанасекунде, а затем – логического «0» на 50 наносекунде. Последнее значение будет сохраняться до конца времени моделирования.

force clk 0 0ns, 1 {50ns} –repeat 100ns; – данная команда говорит о том, что сигналу clkнеобходимо присвоить значение логического «0» на 0 нанасекунде, а затем – логической «1» на 50 наносекунде. Данная последовательность будет периодически повторяться с периодом 100 наносекунд до конца времени моделирования. Обратите внимание – значение времени перед опцией –repeat обязательно указывается в фигурных скобках.

force ina 10#0 0ns, 10#2 30ns; – данная команда присваивает следующие значения входному сигналу ina : на 0 наносекунде – 0 (в десятичном формате), на 30 наносекунде – 2 (в десятичном формате). Последнее значение будет сохраняться до конца времени моделирования. Первая цифра перед знаком # указывает на формат числа (2 – двоичный формат, 10 – десятичный формат, 16 – шестнадцатиричный формат), а цифра за знаком – его значение.

12. Для подключения тестового файла к проекту в меню Tools выберите команду TCL – Execute Macro… и укажите файл Stim.do.

13. Запуск моделирующей программы осуществляется из меню Simulate командой Run – Run –All. Результат моделирования будет отображаться в графическом окне:

Проверьте правильность работы устройства по результатам моделирования.

ПРИМЕЧАНИЕ Управление моделированием может осуществляться с помощью команды run из окна сообщений. Формат команды:

run 100 – выполнение 100 шагов моделирования;

run 1000ns – выполнение моделирования до отметки времени, отстоящей на 1000 наносекунд от текущей позиции;

run @ 300 – выполнение моделирования до отметки времени, отстоящей на 300 шагов моделирования от нулевой позиции;

run @ 1500ns – выполнение моделирования до отметки времени, отстоящей на 1500 наносекунд от нулевой позиции;

restart –force – сброс результатов моделирования.

Обратите внимание – для повторного моделирования после сброса результатов необходимо снова подключить к проекту файл с входными тестовыми сигналами.

14. Для выхода из режима моделирования в меню Simulate выберите команду End Simulation.

 3. Самостоятельная работа

Изменяя значение входных сигналов и временные параметры в файле Stim.do, проверьте работоспособность тестируемого устройства.


Комментарии: