主要内容

生成SystemVerilog DPI组件

步骤1。选择目标

  1. 打开你的模型,然后应用程序选项卡上,单击高密度脂蛋白验证器.然后,在高密度脂蛋白验证器选项卡上,单击C代码设置.的配置参数对话框在代码生成窗格。

  2. 系统目标文件下,目标选择,点击浏览.选择systemverilog_dpi_grt.tlc从列表中。

    • 或者,如果你有嵌入式编码器®License,可以选择目标systemverilog_dpi_ert.tlc.该目标使您能够访问其附加的代码生成选项代码生成“模型配置参数”对话框中的。

      如果要生成跨平台组件,则必须选择systemverilog_dpi_ert.tlc系统目标文件参数。

步骤2。选择工具链

仍在代码生成窗格中,选择一个工具链.要为与主机相同的操作系统生成共享库,请从已安装编译器列表中选择编译器或选择自动定位已安装的工具链.要使用包含在HDL模拟器中的编译器,或为不同的操作系统生成组件,或生成一个HDL模拟器项目而不是一个共享库,请选择一个HDL模拟器和您的目标操作系统。

对于跨平台生成,请选择包代码和工件生成一个. zip文件将生成的文件移植到目标计算机。看到生成跨平台DPI组件

您可以选择添加额外的编译标志。下构建配置中,选择指定.显示当前标志,单击显示设置

步骤3。启用测试点访问(可选)

如果您将模型中的内部信号指定为测试点,并希望在生成的DPI组件中访问它们,则完成此步骤。

  1. 在左侧窗格中,选择代码生成>接口

  2. 生成C API节,验证信号复选框被选中。

  3. 选择代码生成>SystemVerilog DPI

  4. 生成测试点的访问函数中,选择每个测试点一个功能所有测试点的一个功能

看到SystemVerilog DPI组件测试点访问

步骤4。配置SystemVerilog生成选项

  1. 在左侧窗格中,选择代码生成>SystemVerilog DPI

  2. 选择报告运行时错误从Simulink导出运行时错误金宝app®到你的HDL模拟。不是所有的Sim金宝appulink块都提供运行时错误检查。您可以通过添加断言阻塞到您的Simulink模金宝app型。

  3. 选择生成测试工作台生成测试工作台。测试台根据来自Simulink子系统的数据向量检查生成的C组件。金宝app

  4. SystemVerilog港口段中,设置这些参数。

    • 选择SystemVerilog数据类型。(可选)

    • 连接端口列表接口

    • 复合数据类型结构.该选项将创建SystemVerilog结构体用于任何非虚拟总线或复杂数据类型的数据类型。另外,选择夷为平地创建扁平端口。

    • 选择矩阵和向量端口的标量化从Simulink矢量或数组创建多个SystemVerilog标量端口。金宝app清除此选项可在接口上保留阵列。

    提示

    当使用HDL Coder™进行代码生成时,通过选择以下选项匹配生成的接口:

    • 端口数据类型逻辑向量

    • 复合数据类型夷为平地

    • 选择矩阵和向量端口的标量化

  5. 点击好吧接受这些设置并关闭“配置参数”对话框。

第5步。生成SystemVerilog DPI组件

  1. 在您的模型中,右键单击包含要从中生成组件的子系统的块。选择代码>C / c++代码>构建这个子系统

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

    SystemVerilog组件生成为子系统_build /子系统_dpi.sv,在那里子系统是从中生成DPI组件的子系统的名称。这个构建还会生成一个名为子系统_build /子系统_dpi_pkg.sv,其中包括该组件的所有函数声明。

如果您为主机构建了组件,那么现在就可以使用该组件了。要将构建的组件复制到具有相同操作系统的另一台机器上,请复制以下文件:

  • 共享库,子系统所以,或子系统_win64.dll

  • SystemVerilog包装器生成,子系统_dpi.sv

  • 生成的SystemVerilog包文件子系统_dpi_pkg.sv

  • 生成的测试台文件夹,dpi_tb(可选)

要将组件移植到使用不同操作系统的另一台机器上,请按照生成跨平台DPI组件

相关的话题