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

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

Требования и необходимые условия

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

  • MATLAB ®

  • Simulink ®

  • Simulink Coder ®

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

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

Обзор

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

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

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

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

Выберите Генерация Кода - > Системный целевой файл. Нажмите кнопку «Обзор» и выберите «systemverilog_dpi_grt.tlc.»

Если у вас есть Embedded Coder, можно также выбрать целевой файл 'systemverilog _ dpi _ ert'.

В настройке набора инструментальных средств выберите одну из версий 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

Для каденции Incisive:

  • Запустите интерпретатор терминала.

  • Измените текущую директорию на текущую директорию MATLAB.

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

sh QAM_DPIC_tb_incisive.sh

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

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

Вероятность битовой ошибки: 0.001356

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

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

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