离散延迟
- 更新时间2025-01-28
- 阅读时长8分钟
将输入值延迟一定数量的循环迭代。该VI类似于z^-n块,其中n可以为常量或变量。
函数支持整数标量值和数组值、定点和布尔数据类型、簇和簇数组。

对话框选项
| 参数 | 说明 |
|---|---|
| 常规 |
指定关于该函数的常规信息。
|
| 初始值 | 包含该函数使用的内部寄存器的初始值的设置。
|
| 配置反馈 |
显示关于该函数运行的相关信息。该信息由指定的配置选项确定。 |
输入/输出
D
—
指定待延迟的数据。 注: D的数据类型未匹配至源。
指定将值传递至Q输出接线端的内部寄存器的索引。n–1的值可介于0和n–1之间,其中n是配置对话框中 最大延迟 控件的值。 仅当在配置对话框中选择动态延迟选项时,LabVIEW显示该接线端。 指定该函数是否忽略输入接线端D。默认值为TRUE,表示该函数会将所有值移位至下一个内部寄存器,并将D的值传递至第一个内部寄存器。如启用为FALSE,该函数将忽略D并且不会移位现有值,表示内部寄存器将保留上一个时钟周期的值。 该接线端仅对有效D值进行运算。例如,可连线输出有效输出接线端高吞吐量数学 函数连接至该输入端。在这种情况下,离散延迟函数仅在输入值有效时才接收值D。 只有在配置对话框中勾选了启用复选框,LabVIEW才会显示启用。如不显示该接线端,LabVIEW将在内部将其设置为TRUE。
Q
—
返回D的延迟值。如该函数设置为常量延迟,Q返回最后一个内部寄存器的值。如该函数设置为动态延迟,Q返回通过n-1输入接线端指定的寄存器的值。 |
该函数通过移位寄存器查找表(SRL)而不是触发器执行延时。SRL可在单个查找表(LUT)中包含多个延迟,从而比触发方式节省更多的FPGA资源。
离散延迟函数和反馈函数的区别
该反馈节点 和离散延迟函数相似,但有一些关键区别。下表给出了两者间的差别信息。
| 反馈节点 | 离散延迟函数 | 建议 | |
|---|---|---|---|
| 设计和功能 |
|
用于将输入信号延迟固定数量或可变数量的时钟周期。 | 使用代表用户正在编程的条件分支的函数。 |
| 初始条件 |
|
|
离散延迟使用SRL而不是触发器执行延时。SRL可在单个查找表(LUT)中包含多个延迟,从而比触发方式节省更多的FPGA资源。 |
| 定义初始值的方式 | 在程序框图上,连线值至初始化接线端来定义初始值。 | 通过初始值表或使用自定义初始化VI定义初始值。 | 具有初始化VI或需要延迟固定大小的数组的情况下,使用“离散延迟”函数。 |
| 动态延时的支持 | ![]() |
![]() |
需要动态延时时可使用“离散延迟”函数。 |
| 程序框图上代表反馈的支持 | ![]() |
![]() |
程序框图上需要表示反馈时可使用“反馈”节点 |
恒定延迟与动态延迟
下列范例阐述了固定延迟和动态延迟间的区别。
如设置固定延迟为20个时钟周期,该函数创建20个内部寄存器(编号为0至19),以存储连线至D的值。在第一个时钟周期发送至D的值将被存储直至第20个时钟周期,此时假设启用接线端的值设置为TRUE。
发送新值至D时,函数将值从一个寄存器移动至下一个寄存器。输入的初始值在寄存器0、寄存器1、寄存器2等以此类推的寄存器内移动,直至值在第20个时钟周期到达寄存器19。在第21个时钟周期,输出接线端Q返回在第一个时钟周期输入的值。该值被延迟了20个时钟周期。
用于动态延时的函数动作与此类似。如设置最大延迟为20个时钟周期,函数也会创建20个用于存储数据的寄存器。连线至D的值在连续的时钟周期内从寄存器0移动至寄存器19。
但函数也会显示n–1输入接线端,该接线端可用于指定内部寄存器的编号。Q返回该寄存器的值,而不总是最后一个寄存器的值。
例如,已经过17个时钟周期。在第1个时钟周期发送至D的值位于寄存器16中。如在第18个时钟周期连线16至n–1,函数将返回该值。该值被延迟了17个时钟周期,而不是20。
仿真输出的详细信息
当配合下载、停止和运行FPGA VI使用时,该节点将显著增加仿真运行时间。
范例
参考LabVIEW FPGA模块中包含的下列范例文件。
- labview\examples\CompactRIO\FPGA Fundamentals\FPGA Math and Analysis\High-Throughput Math\Multi-Channel Averaging\Multi-Channel Averaging.lvproj
- labview\examples\R Series\FPGA Fundamentals\FPGA Math and Analysis\High-Throughput Math\Multi-Channel Averaging\Multi-Channel Averaging.lvproj
D
—
Q
—

