生成SystemVerilog DPI组件
步骤1。选择目标
打开您的模型,在应用程序选项卡上,单击高密度脂蛋白验证器.然后,在高密度脂蛋白验证器选项卡上,单击C代码设置.的配置参数对话框在代码生成窗格。
在系统目标文件下,目标选择,点击浏览.选择
systemverilog_dpi_grt.tlc
从名单上。或者,如果你有嵌入式编码器®许可证,您可以选择目标
systemverilog_dpi_ert.tlc
.对象上的附加代码生成选项代码生成窗格中的“模型配置参数”对话框。如果要生成跨平台组件,则必须进行选择
systemverilog_dpi_ert.tlc
为系统目标文件参数。
步骤2。选择工具链
还在代码生成窗格中,选择工具链.若要为与主机相同的操作系统生成共享库,请从已安装的编译器列表中选择一个编译器或选择自动定位已安装的工具链
.若要使用HDL模拟器附带的编译器,或为不同的操作系统生成组件,或生成HDL模拟器项目而不是共享库,请选择HDL模拟器和目标操作系统。
您可以选择添加其他编译标志。下构建配置中,选择指定
.单击,显示当前标志位显示设置.
步骤3。启用测试点访问(可选)
如果您将模型中的内部信号指定为测试点,并希望在生成的DPI组件中访问它们,则完成此步骤。
在左侧窗格中,选择代码生成>接口.
在生成C API节,验证信号选中复选框。
选择代码生成>SystemVerilog DPI.
为生成测试点的访问函数中,选择
每个测试点一个函数
或一个函数用于所有测试点
.
步骤4。配置SystemVerilog生成选项
在左侧窗格中,选择代码生成>SystemVerilog DPI.
选择报告运行时错误从Simulink导出运行时错误®到您的HDL模拟。并非所有的Simulink块都提供运行时错误检查。属性来添加运行时检查断言块到您的Simulink模型。
选择生成测试台生成一个测试平台。测试平台根据Simulink子系统的数据向量检查生成的C组件。
在SystemVerilog港口节,设置这些参数。
选择SystemVerilog数据类型。(可选)
集连接来
端口列表
或接口
.集复合数据类型来
结构
.该选项创建SystemVerilog结构体
用于任何非虚拟总线或复杂数据类型的数据类型。另外,选择夷为平地
创建扁平端口。选择缩放矩阵和矢量端口从Simulink矢量或数组创建多个SystemVerilog标量端口。清除此选项将保留接口上的数组。
如果您的设计是顺序的和注册的,设置组件模板类型来
顺序
.如果你的模型是纯组合的(没有时钟延迟),设置组件模板类型来组合
.
提示
当使用HDL Coder™进行代码生成时,通过选择以下选项来匹配生成的接口:
集端口数据类型来
逻辑向量
.集复合数据类型来
夷为平地
.选择缩放矩阵和矢量端口.
点击好吧接受这些设置并关闭“配置参数”对话框。
第5步。生成SystemVerilog DPI组件
在您的模型中,右键单击包含您想从中生成组件的子系统的块。选择代码>C / c++代码>构建这个子系统.
点击构建在对话框中。
SystemVerilog组件生成为
,在那里子系统
_build /子系统
_dpi.sv子系统
是从中生成DPI组件的子系统的名称。此构建还生成了一个名为
,其中包括组件的所有函数声明。子系统
_build /子系统
_dpi_pkg.sv
如果您为主机构建了组件,那么现在就可以使用该组件了。要将构建的组件复制到具有相同操作系统的另一台机器上,请复制以下文件:
共享库,
子系统
所以
,或子系统
_win64.dll
生成的SystemVerilog包装器,
子系统
_dpi.sv
生成的SystemVerilog包文件,
子系统
_dpi_pkg.sv
生成测试台架文件夹,
dpi_tb
(可选)
若要将组件移植到具有不同操作系统的另一台机器上,请遵循中的说明生成跨平台DPI组件.