定点数据类型提供了浮点型数据类型的部分灵活性,但仍保留了整数算术的大小和运算速度优势。关于定点数据类型和使用该数据类型的详细信息见ni.com

注: 并非所有FPGA模块VI和函数均支持定点数据类型。此外,某些函数仅提供有限的定点支持。例如,正弦发生器Express VI仅在输入接线端支持定点数。
警告 如连线定点数至整数接线端,可能会丢失小数部分。

定点配置对FPGA资源的影响

在FPGA VI中使用定点数时,为特定函数选择正确的溢出和四舍五入模式非常重要。高吞吐率数学函数和部分数值函数带有配置对话框,可用于模式选择。如能够产生溢出或四舍五入,这些模式将影响FPGA VI所需的FPGA资源量。如不能产生溢出或四舍五入,操作不需要使用额外的FPGA资源。

多数情况下,在函数的配置对话框中勾选匹配至源复选框可避免溢出。如勾选此复选框,LabVIEW将尝试调整输出数据类型的宽度和范围,从而不会产生溢出或四舍五入。但此调整并不适用于所有情况。例如,函数包含除法时会一直产生四舍五入。且某些函数不包含此复选框。

溢出模式的影响

通常溢出模式以下列几种方式影响FPGA资源:

  • 饱和-需要FPGA资源判定输入值是否位于输出类型的范围内并选择返回原始值或饱和值。
  • 截位-所需的FPGA资源少于饱和模式。

四舍五入模式的影响

通常四舍五入模式以下列几种方式影响FPGA资源:

  • 截断舍入-移除位,因此不需要占用FPGA资源。但此模式对于多数数据流将产生最大的平均误差。此模式为整型操作的默认模式。
  • 半值向上(非对称)-添加至输出数据类型的最低有效位。此选项需要一个宽度等于输出数据类型的加法器。
  • 奇偶舍入-所需FPGA资源最多,且在三种舍入模式中生成最长的组合路径。但此模式对于多数数据流可返回统计意义上最正确的结果,因此其为定点数据类型的默认四舍五入模式。
注: “高吞吐率除”和“高吞吐率倒数”函数使用输出值向零取整的四舍五入模式。此模式将输出值四舍五入为数据类型能够表示的最接近的值。如值为整数,LabVIEW进行截断取整。如值为负数,假设至少有一位删除的位不为零,LabVIEW删除最低有效位(LSB)并为剩余的LSB添加符号位。例如,输出值x位于连续值st之间(s < x < t),如x为正数,LabVIEW设置x等于s。如x为负数,LabVIEW设置x等于t。对于这两个函数,与其它四舍五入模式相比,向零取整使用的FPGA资源最少。不能为这些函数指定不同的四舍五入模式。