主要内容

为HDL Cosimulation Block导入HDL代码

Cosimulation类型,金宝app

打开您的模型,在应用程序选项卡上,单击高密度脂蛋白验证器.然后,在模式部分选择高密度脂蛋白Cosimulation,并单击导入HDL文件打开Cosimulation向导

  1. 选择ModelSimXcelium,或Vivado模拟器高密度脂蛋白模拟器

  2. 选择在系统路径上使用HDL模拟器可执行文件如果文件就在那里的话。Cosimulation Wizard默认假设它们位于系统路径上。

    如果HDL模拟器可执行文件是在系统路径下,选择在以下位置使用以下HDL模拟器可执行文件并在下面的文本框中指定文件夹位置。

    如果你点击下一个并且Cosimulation Wizard没有找到可执行文件,会发生以下情况:

    • 您将返回到此对话框,Cosimulation向导在状态窗格中显示一个错误。

    • Cosimulation向导将该选项切换到在以下位置使用以下HDL模拟器可执行文件

    • Cosimulation Wizard使HDL模拟路径字段可编辑。

    在允许继续之前,必须输入到HDL模拟器可执行文件的有效路径。

  3. 点击下一个

高密度脂蛋白文件-金宝app

高密度脂蛋白的文件窗格中,指定在创建函数或块时要使用的文件。

  • “共模拟向导”将尝试确定每个文件的文件类型,并在文件列表在文件名旁边。如果“共同模拟向导”无法确定类型或显示错误的类型,则可以直接在文件类型列。

  • 如果可能,Cosimulation向导将使用HDL模拟器提供的功能自动确定编译顺序。这意味着您可以以任何顺序添加文件。

  • 如果您正在使用ModelSim®,您将看到以.do文件(ModelSim宏文件)列出的编译脚本。如果您正在使用Xcelium™,您将看到编译脚本被列为系统脚本。

  1. 点击添加选择一个或多个文件名。

  2. 控件中的文件名高亮显示以删除文件文件列表,然后按删除所选文件

  3. 点击下一个

高密度脂蛋白编译,金宝app

高密度脂蛋白编译窗格中,您可以查看生成的HDL编译命令。如果您愿意,您可以覆盖和/或自定义这些命令。如果包含编译脚本而不是HDL文件,则此窗格将显示运行这些脚本的命令。

  1. 中输入对命令的任何更改编译命令盒子。

    请注意

    不要包含系统shell命令;例如:

    设置文件= a.vhd vcom $file

    当执行命令后控制权返回到Cosimulation向导时,变量不再保留所设置的值。类型的命令中会出现错误状态面板。

  2. 点击恢复默认命令返回到生成的HDL编译命令。系统要求您确认是否要放弃任何更改。

  3. 点击下一个继续。

模拟选项-金宝app

Modelsim或Xcelium用户:

在为Modelsim配置的“仿真选项”窗格中打开了联合仿真向导。

模拟选项窗格中,提供在协同仿真中使用的HDL模块的名称。

  1. 输入模块的名称要与之共同模拟的HDL模块的名称

  2. 指定附加模拟选项模拟选项.例如,在上图中,显示的选项是:

    • HDL模拟器分辨率

    • 关闭从模拟视图中移除信号的优化

    点击恢复默认值将选项更改回默认值。

  3. 连接方法中,选择共享内存如果您的防火墙策略不允许TCP/IP套接字通信。

  4. 点击下一个进行下一步。在这个过程中,应用程序在命令窗口中执行以下操作:

    • 启动HDL模拟器。

    • 在HDL模拟器中加载HDL模块。

    • 启动HDL服务器,并等待收到服务器已启动的通知。

    • 连接HDL服务器以获取端口信息。

    • 断开连接并关闭HDL服务器。

    点击下一个还生成一个参数配置文件。有关更多信息,请参见在协同仿真中使用HDL参数

    Vivado模拟器用户:

    在“模拟选项”窗格中打开为Vivado模拟器配置的联合模拟向导。

    当为Vivado创建系统对象时®cosimulation时,向导将显示HDL顶部模块的名称。

    若要生成波形文件,请设置调试内部信号

    HDL时间精度参数也可以改变模拟时间精度。

    点击下一个创建共享库(dll文件)。

    对于Vivado cosimulation,这一步创建了一个共享库。

输入/输出端口金宝app

  1. 金宝app仿真软件的端口窗格中,指定每个输入和输出端口的类型。

    • Cosimulation向导试图为您确定端口类型,但您可以覆盖任何设置。有关支持金宝app的数据类型,请参见金宝app支持的数据类型

    • 输入端口请选择输入时钟重置,或未使用的

    • 输出端口请选择输出未使用的

    • 金宝app®通过Tcl命令强制HDL模拟器中的时钟和重置信号。您可以在后面的步骤中指定时钟和重置信号计时(请参阅时钟/复位细节- simulink块金宝app).

    • 要使用Simulink信号驱动HDL时钟和重置信号,请将它们标记为金宝app输入

  2. 点击下一个继续到输出端口详细信息- simulink块金宝app

输出端口详细信息-金宝app

  1. 输出端口详细信息窗格中,为所有输出端口设置采样时间和数据类型。

    • 采样时间默认为1,数据类型默认为继承而且签署.这些默认值与高密度脂蛋白Cosimulation方块掩码(港口选项卡)设置输出端口的默认设置。

    • 如果您选择将所有采样时间和数据类型设置为“Inherit”,端口通过反向传播继承时间(采样时间被设置为-1)。然而,反向传播在某些情况下可能会失败;看到样本时间内的反向传播(金宝app模型)

  2. 点击下一个

时钟/重置细节-金宝app

  1. 时钟/重置细节窗格中,设置时钟并重置参数。

    • 这里指定的时间段指的是HDL模拟器中的时间。

    • 时钟默认设置为上升活动边和10ns的周期。

    • 重置默认设置的初始值为0,持续时间为15 ns。

    下一个屏幕提供了模拟开始时间的可视化显示,您可以查看时钟和重置是如何排列的。

  2. 点击下一个

开始时间比对-金宝app

  1. 开始时间对齐窗格中,查看时钟和重置的当前设置。这个对话有两个目的:

    • 要确保上升边或下降边按预期设置(从上一步开始)

      • 检查开始时间。如果它与时钟的活动边缘重合,则需要调整HDL模拟器的开始时间。

      • 检查复位信号。如果它与时钟活动边缘同步,则可能存在竞态条件。

        要避免竞态条件,请确保开始时间不与任何时钟的活动边缘重合。您可以通过移动开始时间或在前一步中更改时钟活动边来实现这一点。

    • 确保开始时间是你想要的。

    HDL模拟器开始时间是根据前一个窗格上的时钟和重置值计算的。如果您愿意,您可以通过在看到的位置输入一个新值来更改HDL模拟器的开始时间HDL开始共模拟的时间(ns).点击更新图查看您的更改应用。

  2. 点击下一个

生成块

  1. 在开始模拟时,通过选择,指定是否希望HDL Verifier™确定时间刻度在模拟开始时自动确定时间尺度.如果您希望自己确定时间刻度,请不要选中此框,并在下个文本框中输入时间刻度值。默认值是自动确定时间刻度。

    有关时间刻度的更多信息,请参见模拟时间尺度

  2. 点击回来查看或更改您的设置。

  3. 点击完成生成HDL协同仿真块。

完整的金宝app模型

Cosimulation向导工具将下列项目插入到您的模型中:

ModelSimXcelium用户:

  • 一个高密度脂蛋白Cosimulation

  • 一个编译HDL设计的实用函数

  • 一个用于启动HDL模拟器的实用函数

金宝app一个Modelsim Cosimulation块,一个标记为“Compile HDL Design”的块和一个标记为“Launch HDL Simulator”的块。

Vivado用户:

  • 一个高密度脂蛋白Cosimulation

  • 用于生成DLL文件的实用程序块

金宝app带有Vivado Cosimulation块的Simulink画布,以及另一个标记为“生成DLL”的块。

  1. 放置块,使输入和输出到高密度脂蛋白Cosimulation阻挡排队。

  2. 将目标模型中的块连接到高密度脂蛋白Cosimulation块。

请注意

如果你打开Cosimulation向导从命令行,而不是从Simulink工具条金宝app高密度脂蛋白Cosimulation效用函数在一个新的模型中开放。首先必须将它们复制到模型中。

完成模型后,请参见执行Cosimulation为HDL联合仿真的下一步。

另请参阅

相关的话题