Создание испытательного стенда 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:

>> slbuild ('svdpi_qam/Channel')

>> slbuild ('svdpi_qam/ErrorRate')

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

Для 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

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