这个例子展示了如何从Simulink®模型中的比例-积分-微分(PID)控制器生成SystemVerilog DPI组件,以及如何将组件导出到HDL模拟器。金宝app
本示例需要这下载188bet金宝搏些产品。
这些支持的HDL模拟器之一金宝app:Mentor Graphics®ModelSim®/QuestaSim®或Cadence®Incisive
这些支持的C编译器之一:M金宝appicrosoft®Visual c++或GNU GCC
要使用正确的目标文件设置模型,请打开高密度脂蛋白验证器应用程序的应用程序图标应用程序选项卡。此操作将添加高密度脂蛋白验证器选项卡到Simulin金宝appk工具条。然后,在模式部分选择DPI组件代设置模型的系统目标文件为“systemverilog_dpi_grt.tlc”。如果安装了Embedded Coder®,目标文件设置为“systemverilog_dpi_ert. exe”。薄层色谱”。
要为DPI组件生成SystemVerilog测试工作台,请在地图上节高密度脂蛋白验证器选项卡上,选择包括Testbench.
通过单击打开模型的配置参数C代码设置在准备部分。
在工具链设置节中,如果您使用的是Windows,则选择一个Visual Studio版本;如果您使用的是Linux,则选择一个GCC工具链。
清晰的只生成代码.
要在SystemVerilog环境中访问DPI组件的内部信号,请使用DPI- c测试点日志功能。
双击想要访问的信号以突出显示该信号并为其输入信号名称。将信号标记为测试点,从准备部分,单击金宝app测试点.要捕获内部信号的测试向量并在生成的测试台中回放该向量,请单击测井信号当信号被高亮显示时。
启用C API选项。在“配置参数”对话框中,单击代码生成>接口选项卡上,选择信号.
选择您想要用于访问测试点的SystemVerilog函数的接口。控件上的选项定制生成的DPI组件代码生成> SystemVerilog DPI选项卡。
下测试点访问函数,当你设置生成测试点的访问函数来没有一个
,标记的测试点将被忽略,并且不会生成访问函数。将值更改为每个测试点一个函数
使您能够独立地访问每个测试点。这个图显示了为这个示例生成的接口。
使用价值一个功能为所有测试点
使您能够通过一个函数调用访问所有测试点。
在“svdpi_pid”Simulin金宝appk模型中,选择控制器子系统模块。在生成部分,单击生成DPI组件.
点击构建在出现的对话框中。
SystemVerilog组件生成为“Controller_build/Controller_dpi.sv”。当代码生成完成时,检查新组件。
要选择一个HDL模拟器,请单击选择模拟器在验证部分,并选择一个HDL模拟器或将模拟器添加到路径中。
要以批处理模式模拟SystemVerilog测试台,请单击运行Testbench.或者,您可以通过单击在GUI模式中执行模拟在GUI模式下运行Testbench > Launch Simulator.
当模拟结束时,此文本将在控制台中打印。
************** 测试完成(通过 )**************