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

modelsim

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

 Структура курса лабораторных работ: Основы Verilog 

 1. Знакомство со средой моделирования ModelSim
 2. Исследование комбинационных устройств
 3. Комбинационные устройства
 4. Исследование последовательностных логических устройств 
 5. Исследование арифметических устройств
 6. Исследование конечных автоматов
 7. Исследование многофункциональных устройств
 8. Простой процессорный модуль

Скачать Материалы к лабораторной работе по Verilog №1.

 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, проверьте работоспособность тестируемого устройства.