使用“线性代数”函数在高速和高吞吐率的FPGA应用(例如,RF应用)中执行向量和矩阵运算。用户可配置“线性代数”函数匹配不同的吞吐率、矩阵/向量大小和数据类型,以满足定时和资源要求。

线性代数动作

使用“线性代数”函数开发FPGA应用时,请考虑下列动作:

  • 终端支持 – 全部FPGA终端均支持线性代数函数。
  • 单周期定时循环支持 – LabVIEW仅在单周期定时循环内部支持线性代数函数。
  • 4线握手协议支持 – 线性代数函数支持握手信号。
  • 仿真支持 – 线性代数函数支持桌面和全框图仿真。但当输出有效为FALSE时,不能确保桌面仿真的周期精确行为,因为函数未计算出下游节点可使用的结果。输出有效为FALSE时,函数在FPGA终端上可能返回与主机不同的结果。输出有效终止时返回的数据可能无效且应该丢弃。
  • 受限的数据类型支持 – 线性代数函数仅支持定点数据类型的标量和向量值。每个函数包含用于实部和虚部的独立连线板接线端。
  • 带标签的输入和输出接线端 – 可在即时帮助窗口中查看每个函数数值接线端的编码、字长和整数字长。

配置“线性代数”函数

如要配置线性代数函数,可双击函数,或右键单击函数并选择配置。LabVIEW将显示函数的配置对话框。使用该对话框配置函数执行的方式和函数返回的结果。如要避免不支持的定点配置(例如,不支持的字节长度或整数字节长度)导致连线断开,使用配置对话框设置输入接线端的编码、字节长度和整数字节长度。

配置函数外观

每个“线性代数”函数可使用展开或折叠的方式显示。展开视图可显示每个接线端的编码、字节长度和整数字节长度。折叠视图可节省程序框图的空间。如要配置函数的外观,右键单击函数并选择展开视图折叠视图

输入和输出接线端的说明和建议

下表介绍了“线性代数”函数的输入和输出接线端的动作:

  • “线性代数”函数仅支持定点数据类型的标量和向量输入。每个函数包含用于实部和虚部的独立接线端。
  • “线性代数点积”、“线性代数矩阵转置”和“线性代数范数平方”函数的输入接线端匹配数据类型及连线至函数的输入模式。“线性代数矩阵乘法”的输入接线端匹配至数据类型,但不会匹配连线至函数的输入模式。使用配置线性矩阵乘法对话框配置线性代数矩阵乘法函数的输入模式。
  • “线性代数”函数的实部和虚部输入必须具有相同的数据类型和输入模式,否则将使用输入接线端的实部数据类型和数组大小。

输入接线端不支持的配置

如连线不支持的定点配置至接线端,LabVIEW则显示为连线断开且无法运行函数。LabVIEW可能强制转换数据类型为支持的配置。此时可运行函数。但此强制转换可能导致函数未按照预期的运行。如连线未断开且不带有强制转换点,则表示输入接线端支持该定点配置。

避免不支持的输入配置

通过使用配置对话框指定特定输入接线端的定点配置,可避免输入接线端连线断开或强制的数据类型转换。按照下列步骤配置接线端:

  1. 添加函数至程序框图。
  2. 双击函数打开配置对话框。
  3. 使用配置对话框的输入区域,配置输入接线端的编码、字节长度和整数字节长度。根据使用的函数,LabVIEW禁用某些选项并限制用户可在其他文本框中的输入的值。
  4. 单击OK按钮。

右键单击输入接线端,选择创建»输入控件创建»常量创建采用函数支持的定点配置的输入。

输出接线端的溢出和四舍五入

理论计算值为不考虑输出数据接线端有效范围的算术值。对于包含溢出模式配置的线性代数函数,如理论计算值超出输出接线端的数据范围,则产生溢出。此时函数按照用户在配置对话框的溢出模式下拉列表中指定的选项操作(绕回或饱和)。

多数情况下,在函数的配置对话框中勾选匹配至源复选框可避免溢出。如启用此选项,LabVIEW将尝试调整输出数据类型的宽度和范围,从而不会产生溢出或四舍五入。但此调整并不适用于所有情况。LabVIEW支持最大64位的字长和最大1023位的整数字节长度。如勾选该复选框且输出数据类型需要超出最大值范围的字长,可能产生溢出和/或凑整错误。