FPGA模块单周期定时循环不同于标准LabVIEW定时循环 的优点在于FPGA单周期定时循环的定时与指定的FPGA时钟的时钟速率完全一致。通过将单周期定时循环配置为使用非FPGA终端基本时钟的时钟,可实现FPGA VI中的 多个时钟域 。通过连线单周期定时循环输入节点的 源名称 输入端,或使用配置定时循环 对话框。

不能在单周期定时循环内使用下列VI、函数或结构。

  • 模拟周期测量VI
  • Butterworth滤波器VI
  • 离散延迟VI
  • 除函数
  • FIFO清除函数
  • FPGA I/O方法节点(某些FPGA终端除外)
  • FPGA I/O属性节点(某些FPGA终端除外)
  • 中断VI
  • 勾选插值数据复选框的一维查找表VI
  • 循环定时器Express VI
  • 多个配置用于同一I/O资源的FPGA I/O节点,至少一个节点位于循环内部,至少一个节点位于循环外部
  • 使用多个实例的非可重入子VI
  • 陷波滤波器VI
  • PID VI
  • 商与余数函数
  • 倒数函数
  • 一维数组循环移位函数
  • 正弦波发生器VI
  • 单精度浮点型运算
  • 平方根函数
  • 定时循环
  • 等待Express VI
  • 等待事件发生函数
  • While循环
  • 所用的FPGA终端可能不支持额外的VI或函数。同样,某些终端不支持位于单周期定时循环内部和外部的指定I/O项。参考特定的FPGA终端有关详细信息,请参阅 硬件文档

    下表描述了单周期定时循环与其他组件交互的方式。

    在“我的电脑”下打开的VI中的单周期定时循环 如在我的电脑下打开的VI中放置单周期定时循环,单周期定时循环将显示某些FPGA终端不支持的接线端。如在FPGA终端下打开该VI,仍会显示不支持的接线端。如在FPGA终端下打开的VI中放置单周期定时循环,单周期定时循环将隐藏不支持的接线端。如在我的电脑下打开该VI,单周期定时循环不会显示我的电脑支持的全部接线端。
    在FPGA终端下打开的VI中的单周期定时循环 如在FPGA VI中放置一个单周期定时循环,默认情况下仅显示源名称输入端。除源名称错误外,单周期定时循环的输入节点的可用输入端对在FPGA VI中使用单周期定时循环无影响。错误为FPGA VI中唯一支持的单周期定时循环输出端。
    注: 请勿在单周期定时循环帧的前后添加帧,以尝试将单周期定时循环在FPGA VI中用作定时顺序结构。LabVIEW FPGA模块不支持定时顺序结构。
    单周期定时循环中的显示控件 仅当没有局部变量写入显示控件时,才可在单周期定时循环内放置显示控件。
    FPGA I/O节点和单周期定时循环 您可以使用单周期定时循环中的 FPGA I/O节点 (如果FPGA终端支持)。如使用的FPGA终端支持单周期定时循环,则只能使用 Arbitrate if Multiple Requestors Only从不仲裁仲裁选项如选择仅在有多个请求方时仲裁,不能对FPGA VI中的指定I/O项使用超过一个的FPGA I/O节点实例。如选择从不仲裁,如每个实例位于以同一速率执行的单周期定时循环内,可对FPGA VI中的指定I/O项使用超过一个的FPGA I/O节点实例。
    平铺式顺序和单周期定时循环 您可以使用平铺式顺序 或单周期定时循环中的 堆叠顺序 结构。但所有顺序帧在一个时钟周期内执行。
    子VI和单周期定时循环 不能使用多个单周期定时循环中的 非重入 或共享子VI。可在单周期定时循环中使用重入VI的多个实例,前提是重入VI不使用共享资源
    等待事件发生函数和单周期定时循环 您无法使用单周期定时循环中的 等待发生 函数。但是,您可以使用设置发生次数 函数。然后,可在单周期定时循环之外使用等待发生函数。While循环For循环
    一个时钟周期函数、内部寄存器和单周期定时循环 在单周期定时循环中,可以使用一些需要一个时钟周期才能执行的函数,例如内存方法节点。如使用该函数读取使用嵌入式存储器块的存储器项,该函数的输出直至单周期定时循环的下一次计数才有效。因此必须直接连线该类函数的输出至未初始化的移位寄存器。
    注: 存储方法节点等函数FFTExpress VI,以及FPGA I/O,具有内部寄存器 可显示为路径定时冲突分析 窗口。
    单周期定时循环中的数组和簇 可编译带有数组和簇的FPGA VI,该数组和簇连线至单周期定时循环内部指定数值和布尔函数。
    单周期定时循环内的For循环 如For循环仅包含数组、数值、布尔或比较运算且仅使用自动索引的隧道,可在单周期定时循环内放置For循环。在单周期定时循环的For循环内,不允许使用生成或包含状态的对象(例如,移位寄存器、反馈节点或VI调用)。
    单精度浮点型(SGL)数据类型和单周期定时循环 大多数功能无法执行单周期定时循环中的单精度浮点运算, 因为它们需要一个以上的时钟周期才能执行,但它们没有握手信号。