exponenta event banner

Проверка конструкции косинусного фильтра с использованием Simulink

Обзор учебного пособия Мастер симуляции и косимуляции

В этом учебном пособии описаны основные шаги по настройке приложения Verifier™ HDL, использующего Simulink ® и имитатор HDL для проверки конструкции HDL, с использованием модели Simulink в качестве испытательного стенда. В этом учебном пособии мы выполним действия по косимуляции Simulink и имитатора HDL для проверки простого фильтра косинуса, написанного в Verilog ®.

Примечание

Для этого учебного пособия требуются Simulink, HDL Verifier, Fixed-Point Designer™ и Simulator ModelSim ® или Insisive ® HDL. В этом учебном пособии предполагается, что для блока косимуляции HDL прочитан код импорта HDL.

В этом учебном пособии выполняются следующие действия.

Учебное пособие «Настройка файлов учебных пособий (Simulink

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

  1. Создайте папку за пределами установочной папки MATLAB ®, в которую можно скопировать файлы учебного пособия. Папка должна быть доступна для записи. В данном учебном пособии предполагается создание папки с именемMyTests.

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

    matlabroot\toolbox\edalink\foundation\hdllink\demo_src\tutorial

    где matlabroot является корневым каталогом MATLAB в системе.

  3. Теперь в рабочей папке имеются все следующие файлы, хотя для этого учебного пособия потребуется только два из них:

    • filter_tb.v (не используется для данного учебного пособия)

    • mycallback_solution.m (не используется для данного учебного пособия)

    • rcosflt_beh.v (не используется для данного учебного пособия)

    • rcosflt_rtl.v

    • rcosflt_rtl.vhd

    • rcosflt_tb.mdl

Учебное пособие «Запуск мастера косимуляции (Simulink

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

  2. Задайте каталог, созданный в разделе Учебное пособие: Настройка файлов учебных пособий (Simulink), в качестве текущего каталога в MATLAB.

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

    >>cosimWizard

    Команда запускает мастер косимуляции.

Учебное пособие «Настройка блока косимуляции HDL с помощью мастера косимуляции»

В этом учебном пособии представлены следующие страницы мастера, предназначенные для создания блока косимуляции HDL.

Учебное пособие «Указание типа косимуляции (симуляция

На странице Тип косимуляции (Cosimulation Type) выполните следующие шаги.

  1. Оставить косимуляцию ЛПВП со значением опции Simulink.

  2. Если используется ModelSim, оставьте опцию Имитатор ЛПВП (HDL Simulator) как ModelSim.

    Если вы используете Incisive, измените параметр HDL Simulator на Incisive.

  3. Оставьте опцию по умолчанию Использовать исполняемые файлы симулятора HDL на системном пути, если исполняемые файлы симулятора HDL отображаются на системном пути.

    Если эти исполняемые файлы не отображаются в пути, укажите путь к имитатору ЛПВП, как описано в разделе Тип Cosimulation - Simulink Block.

  4. Нажмите кнопку Next (Далее), чтобы перейти на страницу HDL Files (Файлы HDL).

Учебное пособие «Выбор файлов HDL (Simulink

На странице HDL Files выполните следующие действия.

  1. Добавление файлов HDL в список файлов.

    1. Нажмите кнопку «Добавить» и перейдите к папке, созданной в разделе «Учебное пособие: Настройка файлов учебного пособия (Simulink)».

    2. Для параметра «Verilog» выберите rcosflt_rtl.v. Для VHDL ® выберитеrcosflt_rtl.vhd.

    3. Просмотрите файл в списке файлов, указав ожидаемый тип файла.

  2. Щелкните Далее (Next), чтобы перейти на страницу Компиляция HDL (HDL Compilation).

Учебное пособие «Указание команд компиляции HDL (Simulink

Мастер косимуляции перечисляет команды по умолчанию в окне Команды компиляции (Compilation Commands). Изменять эти команды для данного учебного пособия не требуется.

При запуске мастера косимуляции с собственным кодом можно добавлять или изменять команды компиляции в этом окне. Например, можно добавить -vlog01compat переключатель.

Пользователи ModelSim: панель Компиляция HDL (HDL Compilation) будет выглядеть так же, как на рисунке:

Incisive users: панель компиляции HDL будет выглядеть так же, как на следующем рисунке.

Нажмите кнопку Далее (Next), чтобы перейти к панели Модули HDL (HDL Modules).

На консоли MATLAB отображается журнал компиляции. Если во время компиляции возникает ошибка, она появляется в области Состояние. Измените все параметры, чтобы удалить ошибку, прежде чем переходить к следующему шагу.

Учебное пособие «Выбор параметров моделирования для Cosimulation (Simulink

На панели Опции моделирования (Simulation Options) выполните следующие действия.

  1. Укажите имя модуля/объекта HDL для косимуляции.

    В раскрывающемся списке выберите rcosflt_rtl. Этот модуль является модулем Verilog/VHDL, используемым для косимуляции.

    Если вы не видите rcosflt_rtl в раскрывающемся списке можно ввести имя файла вручную.

  2. Для параметра «Метод подключения» выберите Shared Memory если политика брандмауэра не разрешает связь с сокетом TCP/IP.

    Теперь параметры моделирования выглядят аналогично тем, которые показаны на следующем рисунке.

    Incisive users: Параметры модуля HDL похожи на следующий рисунок

  3. Нажмите кнопку «Далее», чтобы перейти к панели «Simulink Ports».

    Мастер Cosimulation Wizard запускает имитатор ЛПВП в фоновой консоли с использованием указанного модуля ЛПВП и опций моделирования. После запуска имитатора HDL мастер заполняет входные и выходные порты в модели Verilog/VHDL rcosflt_rtl и отображает их на следующем шаге.

Учебное пособие «Определение типов портов»

На этом шаге мастер косимуляции отображает две таблицы, содержащие входные и выходные порты rcosflt_rtlсоответственно.

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

  • Для портов ввода можно выбрать из Clock, Reset, Input, или Unused. HDL Verifier подключает только отмеченные входные порты Input к Simulink во время косимуляции.

  • HDL Verifier подключает выходные порты, отмеченные Output с Simulink во время косимуляции. Мастер и Simulink игнорируют эти порты вывода, отмеченные Unused во время косимуляции.

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

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

Учебное пособие «Задание параметров выходного порта»

На странице «Output Port Details» выполните следующие шаги:

  1. Установка времени выборки filter_out в -1 для наследования через обратное распространение.

  2. Из кода Verilog можно видеть, что мастер косимуляции представляет выходные данные в S34,29 формате. Измените следующие поля:

    • Тип данных для Fixedpoint

    • Подписаться на Signed

    • Длина фракции до 29

    . Результаты теперь выглядят аналогично следующему изображению.

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

Учебное пособие «Установка часов и сброс данных»

В данном учебном пособии установите для параметра Clock Period (ns) значение 20. Из кода Verilog известно, что сброс выполняется синхронно, а активное значение равно 1. Можно сбросить всю конструкцию HDL в момент времени 1 нс, инициируемый передним фронтом часов. Используйте длительность 15 нс для сигнала сброса.

На странице Clock/Reset Details выполните следующие шаги:

  1. Установите тактовый период равным 20.

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

  3. Оставьте или установите исходное значение 1.

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

    Часы и сброс теперь совпадают с сигналами, показанными на следующем рисунке.

  5. Нажмите кнопку Next (Далее), чтобы перейти на страницу Start Time Alignment (Выравнивание времени начала).

Учебное пособие «Подтверждение выравнивания времени начала»

На странице «Start Time Alignment» отображается график для сигналов синхронизации и сброса. Мастер косимуляции показывает время HDL для начала косимуляции красной линией. Время начала также является временем, в которое Simulink получает первую входную выборку из имитатора ЛПВП.

  1. Установка или подтверждение выравнивания времени начала

    Активный край наших часов - это передний край. Таким образом, в момент времени 20 нс в имитаторе ЛПВП зарегистрированный выход фильтра с увеличенным косинусом стабилен. Условия гонки не существуют, и время по умолчанию HDL для запуска косимуляции (20 нс) является тем, что мы хотим для этого моделирования. Вносить какие-либо изменения во время начала не требуется.

  2. Нажмите кнопку «» Далее «», чтобы перейти к разделу «» Создание блока «».

Учебное пособие «Формирование блока»

Перед созданием блока косимуляции HDL можно определить временную шкалу до завершения работы мастера косимуляции. Кроме того, можно дать команду программе проверки HDL вычислить шкалу времени позже. Расчет шкалы времени с помощью программы проверки выполняется после подключения всех портов ввода/вывода сгенерированного блока косимуляции HDL и запуска моделирования.

  1. Оставить автоматически определять временную шкалу в начале моделирования (по умолчанию). Позже можно будет просмотреть рассчитанную шкалу времени и изменить это значение до начала моделирования.

  2. Нажмите кнопку Готово (Finish), чтобы завершить сеанс мастера косимуляции.

Учебное пособие «Создание испытательного стенда для проверки конструкции ЛПВП»

В данном учебном пособии тестовый стенд фактически не создается. Вместо этого можно найти готовую модель (rcosflt_tb.mdl) в папке, созданной в учебном пособии «Настройка файлов учебного пособия (Simulink)».

  1. После нажатия кнопки Готово (Finish) в Мастере косимуляции (Cosimulation Wizard) Simulink создает модель и заполняет ее следующими элементами.

    • Блок косимуляции ЛПВП

    • Блок для повторной компиляции дизайна HDL (содержит ссылку на сценарий, запускаемый двойным щелчком на блоке)

    • Блок для запуска имитатора HDL (содержит ссылку на сценарий, запускаемый двойным щелчком на блоке)

    Оставьте модель на время и перейдите к следующему шагу.

  2. Открыть файл rcosflt_tb, расположенный в папке, созданной в учебном пособии «Настройка файлов учебных пособий (Simulink)».

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

  3. Добавьте блок косимуляции ЛПВП к модели испытательного стенда следующим образом:

    1. Скопируйте блок косимуляции HDL из вновь созданной модели в эту модель испытательного стенда.

    2. Поместите блок таким образом, чтобы блоки константы и преобразования были выровнены в виде входных данных к блоку косимуляции ЛПВП, а шина - в виде выходных данных.

    3. Подключите блоки на испытательном стенде к блоку косимуляции ЛПВП.

  4. Скопируйте блоки сценариев в область под стендом. Модель теперь выглядит так же, как на следующем рисунке.

  5. Сохраните модель.

Учебное пособие «Запуск косимуляции и проверка дизайна ЛПВП»

  1. Запустите имитатор ЛПВП, дважды щелкнув на блоке Launch HDL Simulator.

  2. Когда имитатор ЛПВП будет готов, вернитесь в Simulink и запустите моделирование.

  3. Определение шкалы времени.

    Напомним, что на последней странице Мастера косимуляции была выбрана опция Автоматически определять шкалу времени в начале моделирования. Так как это было сделано, программа HDL Verifier запускает графический интерфейс «Сведения о временной шкале» вместо запуска моделирования.

    Имитатор ЛПВП и образец Simulink filter_in и filter_out порты через 1 секунду. Однако их время выборки в имитаторе ЛПВП должно совпадать с тактовым периодом (2 нс).

    1. Изменение времени выборки Simulink /rcosflt_rtl/filter_in кому 1 (сек.) и нажмите Enter. Мастер обновит таблицу. На следующем рисунке показана новая шкала времени: 1 секунда в Simulink соответствует 2e-008 с в имитаторе ЛПВП.

    2. Нажмите кнопку ОК, чтобы выйти из раздела Подробные данные шкалы времени.

  4. Перезапустите моделирование.

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

На этом шаге завершается работа мастера Cosimulation Wizard для использования с учебным пособием Simulink.