主要内容

开始生成SystemVerilog DPI组件

这个例子展示了如何从Simulink®模型中的比例-积分-微分(PID)控制器生成SystemVerilog DPI组件,以及如何将组件导出到HDL模拟器。万博1manbetx

要求和先决条件

本例中需要这s manbetx 845些产品。

  • 其中一个受支持的HDL模拟万博1manbetx器:Mentor Graphics®ModelSim®/QuestaSim®或Cadence®Incisive

  • 这些受支持的C编译器之一:万博1manbetxMicrosoft®Visual C++或GNU GCC

建立代码生成模型

要使用正确的目标文件设置模型,请打开HDL验证器通过在应用程序中单击其应用程序图标应用程序标签。此操作添加了HDL验证器选项卡添加到Simul万博1manbetxink Toolstrip。然后,在模式节选择DPI组件生成将模型的系统目标文件设置为“systemverilog\u dpi\u grt.tlc”。如果安装了Embedded Coder®,则目标文件将改为“systemverilog\u dpi\u ert.tlc”。

要为DPI组件生成SystemVerilog测试台,请在地图关于HDL验证器选项卡,选择包括试验台

单击打开模型的配置参数C代码设置预备节。

工具链设置节中,如果您使用的是Windows,则选择一个Visual Studio版本;如果您使用的是Linux,则选择一个GCC工具链。

清晰的仅生成代码

选择测试点记录的内部信号(可选)

要在SystemVerilog环境中访问DPI组件的内部信号,请使用DPI- c测试点日志功能。

双击要访问的信号以高亮显示该信号并为其输入信号名称。要将信号标记为测试点,请从预备部分,单击万博1manbetx测试点.要捕获内部信号的测试向量并在生成的测试台中回放该向量,请单击日志信号当信号高亮显示时,在画廊中。

启用C API选项。在“配置参数”对话框中的代码生成>接口选项卡,选择信号

选择要用于访问测试点的SystemVerilog函数的接口。使用上的选项自定义生成的DPI组件代码生成>SystemVerilog DPI标签。

测试点访问函数,当你设定生成对测试点的访问函数没有,将忽略标记的测试点,并且不会生成访问函数。将值更改为每个测试点一个功能使您能够独立访问每个测试点。此图显示了为该示例生成的接口。

使用值一个用于所有测试点的函数允许您通过一个函数调用访问所有测试点。

生成SystemVerilog DPI组件

  1. 在“svdpi_pid”Simulin万博1manbetxk模型中,选择控制器子系统模块。在产生在“工具条”上,单击生成DPI组件

  2. 点击构建在显示的对话框中。

  3. SystemVerilog组件生成为“Controller\u build/Controller\u dpi.sv”。代码生成完成后,检查新组件。

运行生成的测试台

要选择HDL模拟器,请单击选择模拟器核实部分,然后选择HDL模拟器或将模拟器添加到路径。

要在批处理模式下模拟SystemVerilog测试台,请单击运行测试台. 或者,您可以通过单击在GUI模式下执行模拟在GUI模式下运行测试台>启动模拟器

模拟完成后,此文本将在控制台中打印。

**************测试完成(通过)**************