这个例子展示了如何从Simulink®模型中的比例-积分-微分(PID)控制器生成SystemVerilog DPI组件,以及如何将组件导出到HDL模拟器。金宝app
此示例需要这下载188bet金宝搏些产品。
其中一个支持的HDL模拟器金宝app:MentorGraphics®SexchingIm®/Questasim®或Cadence®Incisive
其中一个支持的C编译器:M金宝appicrosoft®VisualC++或GNU GCC
要使用正确的目标文件设置模型,请打开HDL验证者通过单击其应用程序图标从中的应用程序应用标签。此操作添加了HDL验证者选项卡到Simulin金宝appk ToolStrip。然后,在里面模式部分选择DPI组件生成将模型的系统目标文件设置为“systemverilog_dpi_grt.tlc”。如果安装了嵌入式码码,则目标文件将设置为“systemverilog_dpi_ert.tlc”。
为DPI组件生成SystemVerilog测试台,在地图一节HDL验证者选项卡,选择包括试验台.
单击打开模型的配置参数C代码设置在准备部分。
在工具链设置节中,如果您使用的是Windows,则选择一个Visual Studio版本;如果您使用的是Linux,则选择一个GCC工具链。
清晰的仅生成代码.
要在SystemVerilog环境中访问DPI组件的内部信号,请使用DPI- c测试点日志功能。
双击要访问的信号以突出显示信号并输入信号名称。将信号标记为测试点,来自准备部分,单击金宝app测试点.要捕获内部信号的测试向量并在生成的测试台中回放该向量,请单击记录信号在突出显示信号时在画廊中。
启用C API选项。在“配置参数”对话框中,在代码>界面选项卡,选择信号.
选择要用于访问测试点的SystemVerilog函数的界面。通过使用选项对生成的DPI组件进行自定义代码> SystemVerilog DPI标签。
在下面测试点访问函数,当你设置时生成测试点的访问功能到没有任何
,忽略标记的测试点,并且不会生成访问功能。改变价值每个测试点的一个功能
使您可以独立访问每个测试点。该图显示了为此示例生成的接口。
使用该价值所有测试点的一个功能
使您可以使用一个函数调用访问所有测试点。
在“svdpi_pid”Simulin金宝appk模型中,选择控制器子系统模块。在产生在ToolStrip上的部分,单击生成DPI组件.
点击建造在出现的对话框中。
SystemVerilog组件被生成为“controller_build / controller_dpi.sv”。代码生成完成后,检查新组件。
要选择HDL模拟器,请单击选择模拟器在核实ToolStrip的一部分,然后选择HDL模拟器或向路径添加模拟器。
要在批处理模式下模拟SystemVerilog TestBench,请单击跑试验台.或者,您可以通过单击执行GUI模式的模拟在GUI模式下运行TestBench>启动模拟器.
仿真完成后,此文本在控制台中打印。
**************测试完成(通过)**************