类别 列表中选择 高级代码生成显示该页的 FPGA I/O属性 对话框。

使用该页可选择代码生成选项,例如仲裁 和同步寄存器的数量。也可在FPGA I/O节点属性 对话框。支持的选项、值和默认值因FPGA终端和FPGA I/O而异。本页仅显示所选FPGA I/O支持的选项和值。某些FPGA终端可能根本不允许访问该页面。

该页包括下列选项:

选项 说明
ArbitrationForInputData 指定资源用于输入数据 的仲裁类型 。该选项通常适用于输入需要多个时钟周期的FPGA I/O项。该选项可包括 始终仲裁仅在多个请求者时仲裁和 从不仲裁
ArbitrationForOutputData 指定资源用于输出数据 的仲裁类型。 该选项可包括 始终仲裁仅在多个请求者时仲裁和 从不仲裁
ArbitrationForOutputEnable 指定资源用于输出使能 的仲裁类型。 该选项用于带输出使能的FPGA I/O,例如双向数字I/O。此选项可包含始终仲裁仅在有多个请求方时仲裁从不仲裁
NumberOfSyncRegistersForOutputData 指定同步次数寄存器 之间在FPGA终端和FPGA终端硬件接口上执行的 FPGA I/O 函数。FPGA终端硬件接口可为设备上的物理I/O连接器,或包含NI设计电路的FPGA资源。
注: 为确保时序一致,输出数据和输出使能使用相同数量的同步寄存器。
每个同步寄存器需要一个时钟周期的执行时间。
注意 当您还使用组件级IP (CLIP) 和HDL代码包含自己的同步寄存器。
支持的选项通常包括:
  • 0-指定FPGA VI不使用同步寄存器。对于多数FPGA模块的应用,请勿选择此选项。

    注: 如选择 0 作为数字输入和数字输出资源单周期定时循环,在两个资源之间创建一个组合电路。该组合电路可能导致输出信号的毛刺。
  • 1-指定FPGA VI在FPGA I/O资源和FPGA终端硬件接口间使用一个同步寄存器。
NumberOfSyncRegistersForOutputEnable 指定同步次数寄存器 之间FPGA I/O节点 在FPGA终端和FPGA终端硬件接口上执行。
注: 为确保时序一致,输出数据和输出使能使用相同数量的同步寄存器。

此选项仅出现在带有可用设置输出启用方法的FPGA I/O。例如,双向数字I/O。

每个同步寄存器需要一个时钟周期的执行时间。
注意 当您还使用组件级IP (CLIP) 和HDL代码包含自己的同步寄存器。
支持的选项通常包括:
  • 0-指定FPGA VI不使用同步寄存器。对于多数FPGA模块的应用,请勿选择此选项。

    注: 如选择 0 作为数字输入和数字输出资源单周期定时循环,在两个资源之间创建一个组合电路。该组合电路可能导致输出信号的毛刺。
  • 1-指定FPGA VI在FPGA I/O资源和FPGA终端硬件接口间使用一个同步寄存器。
NumberOfSyncRegistersForRead 指定同步次数FPGA终端硬件接口和FPGA终端上执行的FPGA I/O之间的 寄存器 。FPGA终端硬件接口可为设备上的物理I/O连接器,或包含NI设计电路的FPGA资源。
每个同步寄存器需要一个时钟周期的执行时间。如在外部使用FPGA I/O项单周期定时循环, LabVIEW放置一个额外的同步寄存器或保持寄存器,用于保持FPGA VI后续操作的数字值常量。这些同步寄存器是除了启用单周期定时循环之外的链式寄存器 。如在单周期定时循环内部使用FPGA I/O项,LabVIEW不会添加额外的寄存器。因为单周期定时循环内部的逻辑的执行时间为一个时钟周期。但是,当您遇到在单周期定时循环中同步I/O
注意 当您还使用组件级IP (CLIP) 和HDL代码包含自己的同步寄存器。否则可能会在FPGA VI中引入亚稳态数据并导致不可预期的动作。
支持的选项通常包括:
  • 自动-指定LabVIEW使用FPGA硬件I/O接口和在FPGA上执行的FPGA I/O节点间默认的同步寄存器数量。下表列出了根据FPGA I/O节点在程序框图上的不同位置,LabVIEW使用的寄存器数量。

    位置 同步寄存器 启用链寄存器
    在SCTL内 2 0
    在SCTL外 1 1
  • 0-指定LabVIEW不会在FPGA硬件I/O接口和在FPGA上执行的FPGA I/O节点间放置同步寄存器。对于多数FPGA模块的应用,请勿选择此选项。

    注: 如在单周期定时循环中为数字输入和数字输出资源选择 0,将在两个资源之间创建一个组合电路。该组合电路可能导致输出信号的毛刺。
    下表列出了根据FPGA I/O节点在程序框图上的不同位置,LabVIEW使用的寄存器总数。
    位置 同步寄存器 启用链寄存器
    在SCTL内 0 0
    在SCTL外 1 1
  • 1-指定LabVIEW在FPGA硬件I/O接口和在FPGA上执行的FPGA I/O节点间放置一个同步寄存器。

    注: 如FPGA I/O节点处于单周期定时循环中,当数据尚未与单周期定时循环的时钟同步时使用该选项置位,可能会遇到亚稳态数据。
    下表列出了根据FPGA I/O节点在程序框图上的不同位置,LabVIEW使用的寄存器总数。
    位置 同步寄存器 启用链寄存器
    在SCTL内 1 0
    在SCTL外 2 1
  • 2-指定LabVIEW在FPGA硬件I/O接口和在FPGA上执行的FPGA I/O节点间放置2个同步寄存器。如FPGA I/O节点采样FPGA终端硬件接口时,FPGA I/O节点的读取元素可能更改时可选择此选项,以避免亚稳态。如为位于单周期定时循环内部的FPGA I/O节点选择了此选项,在FPGA VI中不会出现亚稳态数据。下表列出了根据FPGA I/O节点在程序框图上的不同位置,LabVIEW使用的寄存器总数。

    位置 同步寄存器 启用链寄存器
    在SCTL内 2 0
    在SCTL外 3 1
注: 使用高级代码生成FPGA I/O节点属性 页,指定数字输入同步寄存器的数量。