时钟、复位,使信号
驱动时钟,重置,并支持
你可以创建上升沿或下降沿时钟,重置,或时钟使信号,应用内部刺激cosimulation下您的模型。您可以添加这些信号:
实现这些信号直接在HDL代码。如果您的模型是一个更大的HDL设计的一部分,你(或更大的模型设计师)可能选择实现Verilog这些信号®或硬件描述语言(VHDL)®文件。然而,实现超出了本文档的范围;有关更多信息,请参见一个高密度脂蛋白引用。
添加信号使用金宝app块
添加上升沿或下降沿时钟、重置或时钟使信号仿真软件金宝app®使用仿真软件模块模型。金宝app看到仿真软件用户金宝app指南和参考指令块添加到一个模型。
在接下来的例子中摘录,阴影区域显示时钟,时钟复位,使多个信号作为输入高密度脂蛋白Cosimulation块模型。这些信号是使用两个模型创建数据类型转换源块块和一个常数,它连接到高密度脂金宝app蛋白Cosimulation块标记为“曼彻斯特接收机子系统”。
创建可选时钟的时钟面板HDL Cosimulation块
请注意
在ModelSim®只和Xcelium™用户。
当你指定一个时钟块定义,模型创建一个上升沿或下降沿时钟驱动器指定的HDL的信号。金宝app
金宝app仿真软件试图创建一个有50%的责任周期的时钟和一个预定义的阶段倒的下降沿。如果适用,仿真软件降低了责任周金宝app期,以适应奇怪的模型示例,坏的情况下的责任周期的采样时间的66%T = 3
。
你是否已经配置了时间尺度面板为相对时间模式或绝对定时模式,以下限制适用于时钟周期:
如果您指定一个显式的时钟周期,您必须输入一个样本时间等于或大于2分辨率单元(节拍)。
如果时钟周期(是否显式指定或违约)不是一个偶数,仿真软件不能创造50%的工作周期,因此HDL校验™软件创建的下降沿金宝app
(四舍五入到最近的整数)。
更多信息计算相对和绝对时间模式,明白了定义模型和高密度脂蛋白模拟金宝app器时机的关系。
下图显示了一个计时图,包括上升和下降沿时钟模型样本的时间金宝appT = 10
和一个高密度脂蛋白1 ns模拟器分辨率极限。这些时间参数,给出的图也显示时钟占空比为50%。
创建时钟,执行以下步骤:
高密度脂蛋白的模拟器,确定时钟信号路径名你计划来定义块。要做到这一点,您可以使用相同的方法解释确定信号路径名的港口在步骤1中“HDL信号映射到块港口”。
选择时钟选项卡块参数对话框。金宝app模型显示对话框所示的下一个图(用于Xcelium所示的例子)。
点击新添加一个新的时钟信号。
编辑时钟信号路径名直接在桌子下完整的高密度脂蛋白的名字列通过双击默认时钟信号名称(
/高级/ clk
)。然后,使用高密度脂蛋白模拟器路径名指定新的时钟语法。看到高密度脂蛋白信号/端口和指定模块路径模型试验台Cosimulation金宝app。高密度脂蛋白模拟器不支持矢量信号的金宝app时钟窗格。信号必须逻辑类型1和0值。
指定是否时钟生成一个上升沿或下降沿信号,选择
不断上升的
或下降
从活跃的时钟边缘列表。的期字段指定时钟周期。接受默认的(
2
),或覆盖它通过输入所需的时钟周期明确通过双击期字段。指定期字段作为一个偶数,的最小值
2
。当你已经完成了编辑时钟信号,点击应用与仿真软件注册您的更改。金宝app
以下对话框中定义了前沿时钟clk
为高密度脂蛋白Cosimulation块,默认段2(使用Xcelium例子所示)。
通过添加强制命令驱动信号
你可以驱动时钟,重置,使信号在两个方面:
通过添加强迫命令模拟窗格(仅ModelSim和Xcelium用户)
通过驱动信号的匹配高密度脂蛋白HDL模拟器启动命令(
vsim
或nclaunch
)和强迫命令
例子:强迫命令进入HDL Cosimulation块模拟面板
下面是一个示例的输入力命令模拟面板与Xcelium HDL Cosimulation块的使用:
下面是一个示例的输入力命令模拟面板与ModelSim HDL Cosimulation块的使用:
例子:强迫命令一起使用高密度脂蛋白验证器高密度脂蛋白模拟器启动命令
vsim
功能和强迫命令(ModelSim用户):
vsim (tclstart,{的力/ iqconv clk 1 0 0 5 ns重复10 ns”,“力/ iqconv / clk_enable 1”,“力/ iqconv /重置1 '});
nclaunch
功能和强迫命令(Xcelium用户):
nclaunch (“tclstart”、“固化”{@force osc_top。clk_enable 1 -after 0ns}"', '-input "{@force osc_top.reset 0 -after 0ns 1 -after 40ns 0 -after 120ns}"', '-input "{@force osc_top.clk 1 -after 0ns 0 -after 40ns -repeat 80ns}"']);