Cosimulation Wizard для системного объекта MATLAB

Этот пример проводит вас по основным шагам для подготовки приложения HDL Verifier™ с помощью Cosimulation Wizard.

Это использование в качестве примера Системный объект MATLAB и ModelSim, чтобы проверить проект уровня межрегистровых пересылок (RTL) Быстрого преобразования Фурье (FFT) размера 8 записанных в Verilog. БПФ обычно используется в цифровой обработке сигналов, чтобы произвести плотность распределения сигнала.

Чтобы проверить правильность этого БПФ, испытательный стенд Системного объекта MATLAB обеспечивается. Этот испытательный стенд генерирует периодический синусоидальный вход к проекту под тестом (DUT) HDL и строит Коэффициенты Фурье в Комплексной плоскости.

Cosimulation Wizard берет обеспеченный файл Verilog этого БПФ как его вход. Это также собирает ввод данных пользователем, требуемый для подготовки cosimulation на каждом шаге. В конце примера Cosimulation Wizard генерирует скрипт MATLAB, который инстанцирует сконфигурированного Системного объекта HdlCosimulation, скрипт MATLAB, который компилирует проект HDL и скрипт MATLAB, который запускает симулятор HDL для cosimulation.

1. Настройте файлы в качестве примера

Чтобы гарантировать, что другие могут получить доступ к копиям файлов в качестве примера, настройте папку для своего собственного примера, работают путем следования этим инструкциям:

a. Создайте папку вне осциллографа вашей папки установки MATLAB, в которую можно скопировать файлы в качестве примера. Папка должна быть перезаписываема. Этот пример принимает, что вы создаете папку под названием 'MyTests'.

b. Скопируйте все файлы, расположенные в следующей директории к папке, которую вы создали:

matlabroot\toolbox\edalink\foundation\hdllink\demo_src\tutorial_fft

c. У вас теперь есть все файлы в качестве примера, в которых вы нуждаетесь в своей рабочей директории:

  • fft_tb.m

  • fft_hdl.v

  • fft_hdl_tc.v

2. Запустите Cosimulation Wizard

a. Запустите MATLAB.

b. Установите директорию, которую вы создали в Настроенных Файлах В качестве примера как ваш текущий каталог в MATLAB.

c. В командной строке MATLAB введите следующее:

    >>cosimWizard

Команда запускает Cosimulation Wizard.

3. Задайте тип Cosimulation

В Полосе набора Cosimulation выполните следующие шаги:

a. Измените HDL cosimulation с набором опции к Системному объекту MATLAB.

b. Если вы используете ModelSim, изменяете опцию симулятора HDL как ModelSim.

c. Оставьте исполняемые файлы симулятора HDL опции по умолчанию Use на системной опции пути, если исполняемые файлы симулятора HDL появляются на вашем системном пути. Если они, исполняемый файл не появляется на пути, задают путь к симулятору HDL.

d. Нажмите Далее, чтобы перейти к странице HDL Files.

4. Выберите HDL Files

На странице HDL Files выполните следующие шаги:

a. Добавьте файлы HDL в список файлов:

  • Нажмите Add и выберите файлы Verilog fft_hdl.v и fft_hdl_tc.v в вашей папке в качестве примера.

  • Рассмотрите файлы в списке файлов, чтобы убедиться, что тип файла правильно идентифицирован.

b. Нажмите Далее, чтобы перейти к странице HDL Compilation.

5. Задайте команды компиляции HDL

Cosimulation Wizard перечисляет команды по умолчанию в окне Compilation Commands. Вы не должны изменять эти команды для этого примера.

Нажать Далее. Консоль MATLAB отображает журнал компиляции. Если ошибка происходит во время компиляции, та ошибка появляется в области Status. Откорректируйте ошибку прежде, чем перейти к следующему шагу.

6. Выберите HDL Modules for Cosimulation

На странице HDL Modules выполните следующие шаги:

a. Задайте имя модуля/сущности HDL для cosimulation. Из выпадающего списка выберите fft_hdl. Этот модуль является модулем Verilog, который вы используете в cosimulation. Если вы не видите "fft_hdl" в выпадающем списке, можно ввести имя файла вручную.

b. В поле опций Симуляции удалите-novopt опцию так, чтобы ModelSim мог оптимизировать проект HDL.

c. Нажать Далее. Cosimulation Wizard запускает симулятор HDL в фоновом режиме консоль с помощью заданного модуля HDL и опций симуляции. Если мастер запускает симулятор HDL успешно, мастер заполняет порты ввода и вывода на модели Verilog fft_hdl и отображает их на следующем шаге.

7. Задайте Типы Порта ввода/вывода

На этом шаге Cosimulation Wizard отображает две таблицы, содержащие порты ввода и вывода fft_hdl, соответственно.

Cosimulation Wizard пытается правильно идентифицировать тип порта для каждого порта. Если мастер неправильно идентифицирует порт, можно изменить тип порта с помощью этих таблиц.

  • Для входных портов можно выбрать из Часов, Сброса, Входа, или Неиспользованный. HDL Verifier соединяется, только входные порты отметили "Вход" к MATLAB во время cosimulation.

  • HDL Verifier соединяется, выходные порты отметили Выход MATLAB во время cosimulation. Программное обеспечение ссылки и MATLAB игнорируют те выходные порты, отмеченные "Неиспользованный во время cosimulation.

  • Можно изменить параметры для сигналов, идентифицированных как "Часы" и "Сброс" на более позднем шаге.

Примите типы порта по умолчанию и нажмите Далее, чтобы перейти к странице Output Port Details.

8. Задайте детали выходного порта

В данном примере HDL FFT выходные параметры подписывается, 13 битов длиной с 9 битами дробной длины. На странице Output Port Details выполните следующие шаги:

a. Обратите внимание на то, что Шаг расчета не может быть изменен и всегда фиксируется к 1 с Системным объектом HdlCosimulation.

b. Измените Тип данных в Расписанный оба выходных параметров.

c. Измените Дробную Длину в 9 для обоих выходных параметров.

c. Нажмите Далее, чтобы перейти к странице Clock/Reset Details.

9. Установите детали часов и сброса

Установите Период часов (не уточнено) на 20. Из кода Verilog вы знаете, что сброс синхронен, и активное значение равняется 1. Можно сбросить целый проект HDL во время 1 нс, инициированный фронтом. Используйте длительность 15 нс для сигнала сброса. На странице Clock/Reset Details выполните следующие шаги:

a. Установите период часов на 20.

b. Оставьте или установите активное ребро на Повышение.

c. Оставьте или установите начальное значение сброса к 1.

d. Установите длительность сигнала сброса на 15.

Нажмите Далее, чтобы перейти к странице Start Time Alignment.

10. Подтвердите выравнивание времени начала

Отображения страницы Выравнивания Времени начала график для форм волны часов и сигналов сброса. Cosimulation Wizard показывает время HDL, чтобы начать cosimulation с красной линии. Время начала является также временем, в которое Системный объект получает первую входную выборку от симулятора HDL. Активное ребро часов является возрастающим ребром. Таким образом, во время 20 нс в симуляторе HDL, зарегистрированный выход БПФ устойчив. Никакое состояние состязания не существует, и время HDL по умолчанию, чтобы запустить cosimulation (20 нс) правильно.

Нажмите Далее, чтобы перейти к Генерации Системного объекта.

11. Сгенерируйте системный объект

a. Прежде чем Cosimulation Wizard генерирует скрипты, у вас есть опция, чтобы изменить период выборки симулятора HDL. Период выборки определяет прошедшее время в симуляторе HDL, разделяющем каждый вызов, чтобы продвинуться в MATLAB. Наиболее часто период выборки равен периоду часов. Можно также задать, являются ли входные параметры/выходные параметры базирующейся системой координат (вместо базирующейся выборки).

b. Нажмите Finish, чтобы завершить сеанс Cosimulation Wizard.

12. Создайте испытательный стенд, чтобы проверить проект HDL

В данном примере вы на самом деле не создаете испытательный стенд. Вместо этого можно найти законченный скрипт fft_tb.m в директории, которую вы создали в Настроенных Файлах В качестве примера.

a. После того, как вы нажмете Finish в Cosimulation Wizard, приложение генерирует три файла HDL в текущем каталоге:

  • compile_hdl_design_fft_hdl.m: перекомпилировать проект HDL

  • launch_hdl_simulator_fft_hdl.m: повторно запустить сервер Системного объекта MATLAB и запустить симулятор HDL.

  • hdlcosim_fft_hdl.m: создать Системный объект HdlCosimulation

b. Откройте файлы fft_tb.m и hdlcosim_fft_hdl.m, расположенный в директории, которую вы создали в Настроенных Файлах В качестве примера, и наблюдайте вызовы Системного объекта HdlCosimulation. hdlcosim_fft_hdl.m содержит инстанцирование HdlCosimulation, и fft_tb.m содержит испытательный стенд Системного объекта MATLAB. Вы будете использовать этот испытательный стенд, чтобы проверить проект HDL, для которого вы только сгенерировали соответствующий Системный объект HdlCosimulation.

13. Запустите Cosimulation и проверьте проект HDL

a. Запустите симулятор HDL путем выполнения скрипта launch_hdl_simulator_fft_hdl.m.

     >>launch_hdl_simulator_fft_hdl.m

b. Когда симулятор HDL будет готов, возвратитесь к MATLAB и запустите симуляцию путем выполнения скрипта fft_tb.m.

     >>fft_tb.m

c. Проверьте результат графика в испытательном стенде. График отображает Коэффициенты Фурье в Комплексной плоскости.

Это завершает Cosimulation Wizard для использования с примером Системного объекта MATLAB.