Создание испытательного стенда HDL для модели приемопередатчика QAM

Этот пример показывает, как создать поведенческий испытательный стенд с помощью генерации компонента SystemVerilog DPI-C. Этот испытательный стенд используется для верификации синтезируемого HDL-кода 64-QAM передатчика и получателя.

Требования и предпосылки

Продукты потребовали для этого примера:

  • MATLAB®

  • Simulink®

  • Simulink Coder®

  • Один из поддерживаемых симуляторов HDL: Cadence® Incisive® или Наставник Graphics® ModelSim®/QuestaSim®

  • Один из поддерживаемого компилятора C: Microsoft® Visual Studio™ для Windows или GNU GCC для Linux®

Обзор

Структуру верхнего уровня модели получателя QAM показывают в следующей фигуре. HDL QAM Tx и подсистемы HDL QAM Rx были оптимизированы для генерации HDL-кода. Используя HDL Coder, мы можем сгенерировать HDL-код от тех двух подсистем. Этот пример поставляется со сгенерированным HDL-кодом, таким образом, вы не должны генерировать код для этого осуществления.

Настройте модель для генерации кода

Чтобы создать полный поведенческий испытательный стенд в HDL, нам будут нужны поведенческие модели для подсистемы Канала, и для подсистемы ErrorRate. С этими моделями мы можем сгенерировать компоненты SystemVerilog DPI-C для тех двух подсистем. Прежде, чем сгенерировать компоненты DPI-C, мы должны установить опции генерации кода сначала.

Откройте панель Параметра конфигурации Модели Simulink из svdpi_qam модели. Установите следующие параметры:

Выберите Code Generation-> System Target File. Кликните по Кнопке обзора и выберите "systemverilog_dpi_grt.tlc".

Если у вас есть Embedded Coder, можно альтернативно выбрать 'systemverilog_dpi_ert' конечный файл.

В установке Toolchain выберите одну из версий Visual Studio, если вы используете Windows или один из наборов инструментальных средств GCC, если вы используете Linux.

Затем, экспортируйте компоненты DPI-C путем выполнения следующих двух команд в MATLAB:

>> rtwbuild ('svdpi_qam/Channel')

>> rtwbuild ('svdpi_qam/ErrorRate')

Скопируйте файлы испытательного стенда

Запустите следующую команду, чтобы скопировать все необходимые файлы испытательного стенда в текущий каталог

>> copyfile (fullfile (matlabroot, 'тулбокс', 'hdlverifier', 'hdlverifier_examples','svdpi_qam'',* '), pwd)

Запустите сгенерированный испытательный стенд

Для Mentor Graphics ModelSim/QuestaSim,

  1. Запустите ModelSim/QuestaSim в режиме GUI.

  2. Измените свой текущий каталог на текущую директорию MATLAB

  3. Введите следующую команду, чтобы запустить вашу симуляцию:

do QAM_DPIC_tb_mq.do

Для острого тактового сигнала:

  • Запустите свой терминальный интерпретатор.

  • Измените свой текущий каталог на текущую директорию MATLAB.

  • Введите следующую команду в свой интерпретатор.

sh QAM_DPIC_tb_incisive.sh

В конце симуляции коэффициент ошибок распечатан можно следующим образом:

************* Сводные данные симуляции ********************

Частота ошибок по битам: 0.001356

Количество ошибок: 4.000000

Количество полученных битов: 2950.000000

*******************************************************