离散延迟

将输入值延迟指定的值。 节点支持整数标量值和数组值、定点和布尔数据类型、簇和簇数组。

输入/输出

datatype_icon

D

待延迟的数据。

注: D的数据类型未匹配至源。
datatype_icon

n-1

内部寄存器到达Q输出的索引。n-1的值位于0到n-1之间,n选项卡上最大延迟的值。

datatype_icon

初始值

该节点使用的内部寄存器的初始值的设置。

datatype_icon

启用

指示该节点是否忽略D的输入的布尔值。

TRUE 该节点将所有值移位至下一个内部寄存器,并将D的值传递至第一个内部寄存器。
FALSE 该节点忽略D且不移位现有的值,表示内部寄存器将保留上一个时钟周期的值。
使用该输入端仅对D的有效值进行运算。例如,可连线“高吞吐率数学”节点的输出有效输出接线端至该输入接线端。此时,仅当输入值有效时,离散延迟以D的值为输入。

Default value: TRUE

datatype_icon

Q

D的延迟值。Q返回通过n-1输入接线端指定的寄存器的值。

最大延迟

指定该函数可延迟D的最大时钟周期数,该周期数相应可用于指定该节点使用的内部寄存器数。该值必须属于16至512周期(包括16和512)。n-1输入可用于指定传递至Q输出的寄存器。

Examples

如设置最大延迟20个时钟周期,节点也会创建20个寄存器以用于存储值。连线至D的值在连续的时钟周期内从寄存器0移动至寄存器19。但当用户使用n-1指定具体内部寄存器的编号时,Q返回该寄存器的值,而不是上一个寄存器的值。例如,已经过17个时钟周期。在第1个时钟周期发送至D的值位于寄存器16中。如在第18个时钟周期连线16至n–1,节点将返回该值。该值被延迟了17个时钟周期,而不是20。

选择离散延迟或反馈节点

离散延迟反馈节点有所类似,但具有着关键性的区别。下表提供了在两个节点间进行选择的建议。

反馈节点 离散延迟 建议
设计和功能 设计用于
  • 反馈输出信号至输入端。
  • 将输入信号延迟一定数量的时钟周期。
用于将输入信号延迟固定数量或可变数量的时钟周期。 使用代表用户正在编程的条件分支的节点。
初始条件 在下列情况下初始化内部寄存器为自定义值:
  • 初次调用FPGA VI或FPGA VI重置时
  • FPGA VI编译/载入或FPGA VI重置时
  • FPGA VI编译/载入(不包括FPGA VI重置)时
  • 初次调用FPGA VI或FPGA VI重置时,重置内部寄存器的值为零
  • FPGA VI编译/载入(不包括FPGA VI重置)时,初始化内部寄存器的值为自定义的值
离散延迟通过移位寄存器查找表(SRL),而不是触发器执行延时。SRL可在单个查找表(LUT)中包含多个延迟,从而比触发方式节省更多的FPGA资源。
定义初始值的方式 在程序框图上,连线值至初始化值输入端来定义初始值。 使用初始化值输入端来定义初始值。 具有初始化VI或需要延迟固定大小的数组的情况下,使用离散延迟
动态延时的支持 需要动态延时时使用离散延迟
程序框图上代表反馈的支持 程序框图上需要表示反馈时可使用“反馈”节点

节点执行延迟对性能的影响

该节点通过移位寄存器查找表(SRL)而不是触发器执行延时。SRL可在单个查找表(LUT)中包含多个延迟,从而比触发方式节省更多的FPGA资源。

对仿真的性能影响

当配合下载、停止和运行FPGA VI使用时,该节点将显著增加仿真运行时间。