主要内容

QAM收发机模型的HDL测试台构建

这个例子展示了如何使用SystemVerilog DPI-C组件生成来构建一个行为测试平台。该测试台用于验证64-QAM发射机和接收机的可合成HDL代码。

这个例子需要这些额外的工具。*支持的HDL模拟器之一:金宝appCadence®Xcelium™或Mentor Graphics®ModelSim®/QuestaSim®*支持的C编译器之一:Microsoft®Visual Studio™for Windows,或GNU GCC for Linux®

概述

QAM接收器模型的顶层结构如下图所示。QAM Tx HDL和QAM Rx HDL子系统已经为HDL代码生成进行了优化。使用HDL Coder,我们可以从这两个子系统生成HDL代码。这个示例附带了生成的HDL代码,因此您不必为这个练习生成代码。

建立代码生成模型

为了在HDL中构建一个完整的行为测试平台,我们需要Channel子系统和ErrorRate子系统的行为模型。使用这些模型,我们可以为这两个子系统生成SystemVerilog DPI-C组件。在生成DPI-C组件之前,我们需要先设置代码生成选项。

从svdp金宝appi_qam模型打开Simulink模型配置参数面板。设置如下参数:

选择“代码生成->系统目标文件”。点击浏览按钮,选择“systemverilog_dpi_grt.tlc”。

如果你有嵌入式Coder,你可以选择'systemverilog_dpi_ert'目标文件。

在工具链设置中,如果您使用的是Windows,则选择一个Visual Studio版本,如果使用的是Linux,则选择一个GCC工具链。

接下来,在MATLAB中执行以下两个命令导出DPI-C组件:

> > slbuild (svdpi_qam /频道)

> > slbuild(“svdpi_qam / ErrorRate”)

运行生成的测试台

对于Mentor Graphics ModelSim/QuestaSim,

  1. 在GUI模式下启动ModelSim/QuestaSim。

  2. 将当前目录更改为当前MATLAB目录

  3. 输入以下命令开始模拟:

QAM_DPIC_tb_mq.do

对于Cadence Xcelium:

  • 启动终端shell。

  • 将当前目录更改为当前MATLAB目录。

  • 在shell中输入以下命令。

上海QAM_DPIC_tb_xcelium.sh

在模拟结束时,错误率打印如下:

************* 模拟总结 ********************

误码率:0.001356

错误数:4.000000

接收比特数:2950.000000

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