此示例显示如何使用SystemVerilog DPI-C组件生成构建行为测试台。该测试台用于验证64 QAM发射器和接收器的可合成的HDL代码。
下载188bet金宝搏本例所需的产品:
MATLAB®
金宝app仿真软件®
金宝app仿真软件编码器®
支持的HDL模拟器之一金宝app:Cadence®incistive®,或Mentor Graphics®ModelSim®/QuestaSim®
支持的C编译器之一:M金宝appicrosoft®Visual Studio™for Windows,或GNU GCC for Linux®
QAM接收机模型的顶层结构如下图所示。QAM Tx HDL和QAM Rx HDL子系统已经为HDL代码生成进行了优化。使用HDL编码器,我们可以从这两个子系统生成HDL代码。此示例随生成的HDL代码一起提供,因此您不必为本练习生成代码。
要用HDL构建一个完整的行为测试平台,我们需要Channel子系统和ErrorRate子系统的行为模型。通过这些模型,我们可以为这两个子系统生成SystemVerilog DPI-C组件。在生成DPI-C组件之前,我们需要先设置代码生成选项。
打开svd金宝apppi_qam模型中的Simulink模型配置参数面板。设置以下参数:
选择代码生成->系统目标文件。单击“浏览”按钮,选择“systemverilog_dpi_grt.tlc”。
如果你有Embedded Coder,你可以选择'systemverilog_dpi_ert'目标文件。
在工具链设置中,选择一个Visual Studio版本(如果使用Windows),或者选择一个GCC工具链(如果使用Linux)。
接下来,在MATLAB中执行以下两个命令导出DPI-C组件:
> > slbuild (svdpi_qam /频道)
> > slbuild(“svdpi_qam / ErrorRate”)
对于Mentor Graphics ModelSim/QuestaSim,
在GUI模式下启动ModelSim/QuestaSim。
将当前目录更改为当前MATLAB目录
输入以下命令启动模拟:
做QAM_DPIC_tb_mq.do
节奏的:
启动终端外壳。
将当前目录更改为当前MATLAB目录。
在shell中输入以下命令。
上海QAM_DPIC_tb_incisive.sh
在仿真结束时,错误率打印如下:
*************模拟摘要********************
误码率:0.001356
错误数:400000000
接收比特数:2950.000000
*******************************************************