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,
在GUI模式下启动ModelSim/QuestaSim。
将当前目录更改为当前MATLAB目录
输入以下命令开始模拟:
做QAM_DPIC_tb_mq.do
对于Cadence Xcelium:
启动终端shell。
将当前目录更改为当前MATLAB目录。
在shell中输入以下命令。
上海QAM_DPIC_tb_xcelium.sh
在模拟结束时,错误率打印如下:
************* 模拟总结 ********************
误码率:0.001356
错误数:4.000000
接收比特数:2950.000000
*******************************************************