主要内容

HDL Cosimulation.

通过连接来共同模拟HDL设计金宝app与高密度脂蛋白模拟器

  • 图书馆:
  • HDL验证器/与Cadence Incisive一起使用

    HDL验证器/用于Mentor Graphics ModelSim

  • 高密度脂蛋白Cosimulation块
  • 高密度脂蛋白Cosimulation块

描述

HDL Cosimulation.通过在HDL模拟器中的模拟下,通过将输入信号和读取输出信号应用于和读取输出信号来使硬件组件构成硬件组件。您可以使用此块来通过仅使用输入或输出端口配置块来模拟源或宿设备。

你可以在block上配置这些选项:

  • 块的映射块的输入和输出端口与HDL模块的信号(包括内部信号)对应。您必须为每个输出端口指定示例时间。您可以选择为每个输出端口指定数据类型。

  • 用于在模拟器之间交换数据的通信类型和通信设置。

  • Simulink中仿真时间单元之间的时序关系金宝app®以及HDL模拟器。

  • 上升边或下降边时钟适用于您的模型。您可以指定每个时钟信号的周期。

  • TCL命令在模拟之前和之后运行。

兼容性金宝app代码生成

  • 该块参与HDL Coder™的HDL代码生成。编码器生成手动写入或遗留HDL代码的接口。它没有参加C代码生成金宝app仿真软件编码器™

港口

块上显示的端口对应于HDL模拟器中运行的HDL设计的信号。您可以通过更改块参数来添加和删除端口,然后配置其数据类型和采样时间。这港口选项卡显示与端口对应的HDL信号。您可以添加、移除和更改端口的顺序。使用自动填充按钮通过对HDL模拟器的端口信息请求填充表。此请求从HDL模拟器中运行的HDL设计中返回端口名称和信息。有关此功能的详细说明,请参阅“从HDL模拟器获取信号信息”。

配置时指定的所有信号HDL Cosimulation.块必须在HDL模拟器中具有读/写访问权限。有关详细信息,请参阅HDL模拟器产品文档。

当你导入VHDL®来自HDL模拟器的信号,HDL Verifier™返回所有资本中的信号名称。

输入

全部展开

块上的端口对应于HDL设计的端口。添加或删除端口港口选项卡。

数据类型:int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|固定点

输出

全部展开

块上的端口对应于HDL设计的端口。添加或删除端口港口选项卡。

数据类型:int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|固定点

参数

全部展开

港口

消除当模型包含纯组合路径时,协同仿真和Simulink之间的一个输出样本延迟差异。金宝app如果。请清除此复选框HDL Cosimulation.块位于反馈循环中,并生成代数循环警告或错误。当您模拟在数据路径上具有寄存器的顺序电路时,指定直接馈通不会影响该数据路径的定时。

使用HDL Simulator Path Name语法指定信号路径名。例如,曼彻斯特。斯坦斯incisive.®HDL模拟器。信号可以位于HDL设计层次的任何级别。这HDL Cosimulation.与信号对应的块端口标有此名称。

关于在Simulink中指定端口和模块路径名的规则,请参见“为协同仿真指定HDL信号/端口和模块路径”。金宝app

您可以直接从HDL模拟器复制信号路径名称窗户并粘贴到完整的HDL名称字段。使用path.name.查看而不是Db:路径。的名字看法。将信号路径名称粘贴到完整的HDL名称,点击申请完成粘贴操作并更新信号列表。

要添加一个双向端口,将该端口添加到列表中两次,作为输入端口和输出端口。

输入—Simulink驱动的HDL信号。金宝app金宝appSimulink以指定的采样率在指定的HDL模拟器信号上存储值。

笔记

当您定义一个块输入端口时,请确保只设置了一个源来驱动该信号的输入。例如,避免定义具有多个实例的输入端口。如果多个源驱动单个信号的输入,则仿真模型将产生意想不到的结果。

输出- Simulink读取的HDL信号。金宝app对于输出信号,必须指定一个显式的采样时间。您也可以指定数据类型,但是宽度必须与HDL中信号的宽度匹配。指定数据类型的详细信息,请参见数据类型分数长度参数。

金宝appSimulink信号没有三态语义,因为没有'z'价值。要与双向信号接口,请连接输出驱动器和输入驱动器的输出信号的输入并使能信号。这种方法在HDL中保留了实际的三状态缓冲区,其中解析函数可以处理与其他三状态缓冲区的接口。

应用于输出端口的连续采样之间的时间间隔。

金宝appSimulink以指定的采样速率在HDL模拟器信号上存放输入端口信号。相反,Simulink以金宝app指定的采样率从指定的HDL模拟器信号读取输出端口信号。

通常,Simulink处金宝app理端口样本周期如下:

  • 如果您将一个输入端口连接到一个具有显式采样周期的信号,基于前向传播,Simulink将该速率应用到端口。金宝app

  • 如果将输入端口连接到没有显式采样周期的信号,则Simulink分配了模型中所有识别的输入端口采样周期的最低常见多(LCM)的采样周期。金宝app

  • 在Simul金宝appink设置输入端口采样周期后,它将用户指定的输出样本时间应用于所有输出端口。您必须为每个输出端口指定显式采样时间。

输出端口采样时间的准确解释取决于设置时间尺度参数HDL Cosimulation.块。另请参阅模拟时间尺度

依赖关系

启用此参数,设置I / O模式输出

选择继承自动确定数据类型。该块检查继承的单词长度是否与从HDL模拟器查询的单词长度匹配。如果它们不匹配,Simulink就会生成一条金宝app错误消息。例如,如果你连接a信号规范块输出,继承属性指定的数据类型信号规范块到输出端口。

如果S金宝appimulink无法确定连接到输出端口的信号的数据类型,则会对HDL模拟器查询端口的数据类型。作为示例,如果HDL Simulator返回VHDL数据类型std_logic_vector.用于尺寸的信号N.位,数据类型ufixN强制输出端口。隐式分数长度是0。

您还可以分配显式数据类型,其中包含可选分数长度.通过显式分配数据类型,您可以强制输出端口上的定点数据类型HDL Cosimulation.块。例如,对于8位输出端口,设置标志并设置分数长度5.强制数据类型为sfix8_En5.你不能强迫宽度。宽度始终是从HDL模拟器继承的。

依赖关系

启用此参数,设置I / O模式输出

数据类型分数长度属性仅适用于以下类型的HDL信号:

  • 任何逻辑类型的VHDL信号,例如std_logic.std_logic_vector.

  • verilog.®信号的信号金属丝reg类型

签署显式输出端口数据类型的标志。

依赖关系

启用此参数,设置I / O模式输出,并设置数据类型定点

定点,位于定点输出信号的小数部分的大小。例如,对于8位输出端口,设置标志并设置分数长度5.强制数据类型为sfix8_En5.你不能强迫宽度;宽度始终是从HDL模拟器继承的。

依赖关系

启用此参数,设置I / O模式输出, 和数据类型财产定点

数据类型分数长度属性仅适用于以下类型的HDL信号:

  • 任何逻辑类型的VHDL信号,例如std_logic.std_logic_vector.

  • Verilog的信号金属丝reg类型

时钟

创建可选的上升沿和下降沿时钟,将刺激应用于Cosimulation模型。滚动列表将使用存款方式显示将值驱动到要建模的HDL信号的HDL时钟。时钟信号必须是单位信号。不支持矢量信号。金宝app有关添加和编辑时钟信号的说明,请参阅使用HDL Cosimulation块的时钟窗格创建可选时钟

使用HDL模拟器路径名语法将每个时钟指定为信号路径名。例如:/曼彻斯特/克隆manchester.clk

有关Simulink中路径规范的信息和要求,请参见“为协同仿真指定HDL信号/端口和模块路径”。金宝app

您可以直接从HDL模拟器复制信号路径名称窗户并粘贴到完整的HDL名称字段。使用path.name.查看而不是Db:路径。的名字看法。将信号路径名称粘贴到完整的HDL名称,点击申请完成粘贴操作并更新信号列表。

选择升起落下指定上升沿时钟或下降沿时钟。

若要明确指定时钟周期,请输入等于或大于两个分辨率单位(ticks)的采样时间。

如果时钟周期不是偶数,Simulink不能创建50%的占空比。金宝app相反,HDL验证软件在Chordperiod / 2(舍入到最接近的整数)。

时间尺度

选择Simulink和HDL模拟器之间的时序关系,手动或自动。金宝app这些参数指定了Simulink的一秒时间和HDL模拟器的一些时间之间的对应关系。金宝app这种数量的HDL模拟器时间可以用以下方式之一表示:

  • 相对的定时关系(Simulink秒对应于HDL模金宝app拟器定义的刻度间隔)

  • 绝对时间关系(Simulink秒对应于HDL模金宝app拟器时间的一个绝对单位)

有关计算相对和绝对时序模式的更多信息,请参阅定义Simulink和HD金宝appL模拟器的时序关系

有关在Cosimulation期间Simulink和HDL模拟器之间关系的详细信息,以及相对和绝对时序模式金宝app的操作,请参阅模拟时间尺度

如果您选择此选项,当您启动Simulink仿真时,HDL验证器将计算时间刻度。金宝app如果不勾选,请单击现在确定时间表在不启动模拟的情况下立即计算时间尺度。或者,您可以手动选择时间刻度。有关自动时间刻度计算的指导,请参见自动指定定时关系

此参数由一个组成时间值和一个TimeUnit价值。

为协同仿真配置相对定时模式:

  1. 验证打钩,默认设置为TimeUnit,被选中。如果不是,则从右边的列表中选择它。

  2. 在中输入一个比例因子时间左侧的文本框。默认比例因子为1。

为协同仿真配置绝对定时模式:

  1. TimeUnit到绝对时间的单位:FS.(飞秒),ps(PICOSECONDS),ns.(纳秒),我们(微秒),多发性硬化症(毫秒),或S.(秒)。

  2. 在中输入一个比例因子时间左侧的文本框。默认比例因子为1。

连接

Simulink和HDL模拟器之间的连接类型。金宝app

  • 完全仿真:确认接口,运行HDL仿真。

  • 只确认界面:连接到HDL模拟器并检查信号名称,尺寸和数据类型,但不运行HDL仿真。在Simuli金宝appnk仿真过程中,与HDL模拟器没有接触。

  • 无连接:不要与HDL模拟器通信。不需要启动HDL模拟器。

当两个应用程序在同一台计算机上运行时,可以选择应用程序之间的通信通道的共享内存或TCP套接字。如果不选择此选项,则只有TCP / IP套接字模式可用,连接方法变得不可用。

  • 插座: 金宝appSimulink和HDL模拟器通过指定的TCP/IP套接字进行通信。TCP/IP套接字模式更加通用。您可以将它用于单系统和网络配置。这个选项提供了最大的可伸缩性。有关TCP/IP套接字通信的更多信息,请参见TCP / IP套接字端口

  • 共享内存: 金宝appSimulink和HDL模拟器通过共享内存进行通信。共享内存通信提供了最佳性能,并且是通信的默认模式。

依赖关系

当您选择时,此参数将显示HDL模拟器在这台计算机上运行

如果您在不同的计算机上运行Simulink和HDL模拟器,则此参数适金宝app用。

如果您没有使用共享内存,请为您的计算机系统指示有效的TCP套接字端口号或服务。有关选择TCP套接字端口的信息,请参见TCP / IP套接字端口

当您选择此选项时,HDL Cosimulation.块图标显示当前通信参数设置。如果选择共享内存,则图标显示SharedMem.如果选择“TCP套接字通信”,则显示图标插座并以格式显示主机名和端口号主机名:港口

这个信息可以帮助你区分多重HDL Cosimulation.块,其中每个块与HDL模拟器的不同实例通信。

模拟

指定在Simulink中开始模拟之前运行HDL模拟器的时间量。金宝app指定这个时间将正确地对Simulink块的信号和HDL信号进行比对,这样它们就可以直接进行比较和验证,而不会产金宝app生额外的延迟。

这个设置包括一个PreRunTime值和一个PreRunTimeUnit价值。

  • PreRunTime:任何有效的时间值。默认值是0。

  • PreRunTimeUnit:指定时间单位PreRunTime

    • 打钩

    • S.

    • 多发性硬化症

    • 我们

    • ns.

    • ps

    • FS.

在模拟Simulink模型的HDL组件之前,协同仿真工具在HDL模拟器中执行这些命令。金宝app如果在一行中输入多个命令,请在每个命令后面加上分号(;),分号是标准的Tcl连接操作符。

例如,使用此参数生成一行echo命令以确认正在运行的模拟,或者执行大量仿真初始化和启动序列的复杂脚本。您无法使用这些命令来更改模拟状态。

您可以指定任何有效的Tcl命令。您指定的Tcl命令不能包括加载HDL模拟器项目或修改模拟器状态的命令。例如,字符向量不能包含如下命令开始停止,或重新启动(ModelSim®) 或者运行停止,或重置(incisive)。

在模拟Simulink模型的HDL组件之后,Cosimulation工具在HDL模拟器中执行这些命令。金宝app

您可以指定任何有效的Tcl命令。您指定的Tcl命令不能包括加载HDL模拟器项目或修改模拟器状态的命令。例如,该字符串不能包含如下命令开始停止,或重新启动(对于modelsim)或运行停止,或重置(incisive)。

笔记

每次ModelSim模拟之后,模拟器都要花时间更新覆盖结果。为了防止此流程与下一个协同模拟会话之间的潜在冲突,请在每个后续模拟之间添加一个短暂的暂停。

扩展功能

在R2008A介绍