如要保持DSP48E或DSP48E1函数的数值精度,请使用配置对话框的定点数配置页面正确设置输入和输出接线端的整数字节长度。LabVIEW将上述接线端的字节长度保持为常量,即整数字节长度为用户可控制的变量。

LabVIEW将特定的函数接线端组合在一起。这些组必须保持相同的定点数数据类型。下表显示了每个组的接线端和字节长度。

组内的接线端 接线端的字节长度
a, acin 当在函数页面上选择了算术配置并使用乘法器时,字长在直接模式下为25,在级联模式下为30。否则,字长为30。下列情况除外:
  • 在UltraScale终端上,只有低27位送入乘法器。
  • 在非UltraScale终端上,只有低25位送入乘法器。
acout 30
bbcinbcout 18
c 48
ppcinpcout 48
(DSP48E1) d 25
注: 关于DSP48E和DSP48E1函数的输入和输出接线端的详细信息,见Virtex-5 FPGA XtremeDSP Design Considerations User Guide的"A, B, and C ports"章节,或Virtex-6 FPGA DSP48E1 Slice User Guide的"A, B, C and D ports"章节。通过Xilinx网站www.xilinx.com可获取该文档。

保持a和b接线端的精度

建议按照下列规范设置ab接线端的整数字节长度。

  • 上述接线端的小数字节长度等于字节长度减去整数字节长度,其长度大于或等于连线至接线端的数据类型的小数字节长度。
  • 接线端的整数字节长度大于或等于源的整数字节长度。

例如,连线<+/–,16,1>数据类型至b接线端,数据类型的小数字节长度为15位。由于b的字节长度为固定的18位,设置b的整数字节长度为3、2或1位。设置可满足上述准则:小数字节长度为15、16或17位。b的整数字节长度大于或等于源的整数字节长度。

如整数字节长度小于1位或大于3位,LabVIEW将强制转换该值至b接线端,从而导致精度的损失。在输入接线端将出现强制转换点,以提醒用户该情况。

保持乘法器的精度

如要保持配置为p = a * b的乘法器的DSP48E或DSP48E1函数的全部精度,设置p的小数字节长度为ab接线端的小数字节长度的和。

请参考以下范例:

  • 源至a的数据类型为<+/–,16,1>。小数字节长度为15位。
  • 源至b的数据类型为<+/–,16,2>。小数字节长度为14位。

小数字节长度的和值为29位。在该情况下建议执行下列步骤:

  1. 设置a为<+/–,30,15>。该设置与连接至该接线端的15位小数字节长度匹配。
  2. 设置b为<+/–,18,4>。该设置与连接至该接线端的14位小数字节长度匹配。
  3. 设置p为<+/–,48,19>。该设置与ab接线端组合的29位小数字节长度匹配。

保持累加器的精度

如要保持配置为p = p + c的累加器的DSP48E或DSP48E1函数的全部精度,设置p的小数字节长度与c的小数字节长度相等。例如,如源至c的数据类型为<+/–,16,3>,c的小数字节长度为13位。设置p为<+/–,48,35>。