В этом примере показано, как создать поведенческий испытательный стенд с помощью генерации компонента 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,
Запустите ModelSim/QuestaSim в режиме GUI.
Измените свой текущий каталог в текущую директорию MATLAB
Введите следующую команду, чтобы запустить вашу симуляцию:
do QAM_DPIC_tb_mq.do
Для острого тактового сигнала:
Запустите свой терминальный интерпретатор.
Измените свой текущий каталог в текущую директорию MATLAB.
Введите следующую команду в свой интерпретатор.
sh QAM_DPIC_tb_incisive.sh
В конце симуляции коэффициент ошибок распечатан можно следующим образом:
************* Сводные данные симуляции ********************
Частота ошибок по битам: 0.001356
Количество ошибок: 4.000000
Количество полученных битов: 2950.000000
*******************************************************