这个例子展示了如何使用SystemVerilog DPI-C组件生成来构建一个行为测试工作台。本试验台用于验证64-QAM发射机和接收机的可合成HDL代码。
s manbetx 845本示例所需产品:
MATLAB®
万博1manbetx仿真软件®
万博1manbetx仿真软件编码器®
支持的HDL模拟器之一万博1manbetx:Cadence®Incisive®,或Mentor Graphics®ModelSim®/QuestaSim®
支持的C编译器之一:适万博1manbetx用于Windows的Microsoft®Visual Studio™或适用于Linux®的GNU GCC
QAM接收器模型的顶层结构如下图所示。QAM Tx HDL和QAM Rx HDL子系统已经为HDL代码生成进行了优化。使用HDL编码器,我们可以从这两个子系统生成HDL代码。本示例附带生成的HDL代码,因此您不必为本练习生成代码。
为了在HDL中构建一个完整的行为测试平台,我们需要Channel子系统和ErrorRate子系统的行为模型。通过这些模型,我们可以为这两个子系统生成SystemVerilog DPI-C组件。在生成DPI-C组件之前,我们需要首先设置代码生成选项。
从svdp万博1manbetxi_qam模型打开Simulink模型配置参数面板。设置以下参数:
选择代码生成->系统目标文件。点击Browse按钮并选择“systemverilog_dpi_grt.tlc”。
如果你有Embedded 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
节奏的:
启动终端shell。
将当前目录更改为当前MATLAB目录。
在您的shell中输入以下命令。
上海QAM_DPIC_tb_incisive.sh
在仿真的最后,错误率打印如下:
*************模拟摘要********************
误码率:0.001356
错误数:4.000000
接收位数:295000000
*******************************************************