计算两个复数矩阵的乘积。

该函数仅支持标量和一维固定大小的数组定点 数据类型。


icon

对话框选项

参数 说明
输入类型

指定该函数的输入接线端的 编码、字长和整数字长

  • ar/ai类型-指定 ar/ai 输入接线端的实数或虚数定点配置。

    如连线定点数据类型至接线端,LabVIEW将禁用该部分并使用来自连线的信息。

    • 符号-指定这些接线端有符号。
    • 无符号-指定这些接线端无符号。
    • 字长-指定接线端的字长。
    • 数字长-指定接线端的整数字长。
  • br/bi类型-指定br/bi输入接线端的实数或虚数定点配置。

    如连线定点数据类型至接线端,LabVIEW将禁用该部分并使用来自连线的信息。

    • 符号-指定这些接线端有符号。
    • 无符号-指定这些接线端无符号。
    • 字长-指定接线端的字长。
    • 数字长-指定接线端的整数字长。
运算

指定在运算过程中是否对输入进行共轭,并指定该函数的输出接线端的 编码、字长和整数字长

  • 共轭A-指定在运算过程中是否对矩阵A的输入进行共轭。选择该选项无需额外的FPGA资源。LabVIEW基于用户选中的共轭选项,在程序框图上显示图标。默认情况下未勾选该复选框。
  • 共轭B-指定在运算过程中是否对矩阵B的输入进行共轭。选择该选项无需额外的FPGA资源。LabVIEW基于用户选中的共轭选项,在程序框图上显示图标。默认情况下,该复选框不包含复选标记
  • cr/ci类型-指定 cr/ci 实部或虚部输出接线端的定点配置。
    • Adapt tosource-指定LabVIEW是否自动调整输出数据类型的定点配置溢出和舍入误差。该复选框默认为已勾选并且LabVIEW将禁用以下选项。
      注: LabVIEW支持最大64位的字长和最大1023位的整数字节长度。如勾选该复选框且输出数据类型需要超出最大值范围的字长,可能产生溢出和/或凑整错误。
    • 符号-指定这些接线端有符号。
    • 无符号-指定这些接线端无符号。
    • 字长-指定接线端的字长。
    • 数字长-指定接线端的整数字长。
  • 溢出模式-指定该函数如何处理溢出。可选择绕回(默认)或饱和
    注:环绕 选项相比, 饱和 选项需要更多的FPGA资源和更长的组合路径。在该情况下,选择饱和可能降低该函数可获取的最大时钟速率。
  • 舍入模式-指定该函数如何如需要舍入,则 入输出数据。可选择截断舍入(默认)、半值向上奇偶舍入。如果发生舍入,您选择的选项可能影响该函数所需的资源量
矩阵大小

指定给定矩阵的维度。

  • M—指定矩阵 A的输入行数。
  • L—指定矩阵 A 的输入列数和矩阵 B的输入行数。
  • N—指定矩阵 B的输入列数。
接口

指定矩阵A和矩阵B的输入和输出模式,及函数吞吐量。

  • A的输入模式-指定函数从矩阵A中按元素、按向量、按行或按列接收数据。

    矩阵A和矩阵B必须同时使用相同的输入模式。如为A输入模式选择元素输入模式,LabVIEW将以灰色显示B输入模式的向量输入模式。如为A输入模式选择向量输入模式,LabVIEW将以灰色显示B输入模式的元素输入模式。

    • 逐行元素-指定矩阵A每个时钟周期接收一个元素。
    • 列元素-指定矩阵A每个时钟周期接收一个元素(按列)。
    • 行向量-指定矩阵A每个时钟周期接收一个向量。
    • 列向量-指定矩阵A每个时钟周期接收一个向量。
  • 吞吐量-指定两个连续有效输入矩阵之间的最小时钟周期数。LabVIEW根据矩阵大小中指定的MLN值计算函数的吞吐量。选择较小的周期/矩阵可产生较高的吞吐率。
  • B的输入模式-指定函数从矩阵B中按元素、按向量、按行或按列接收数据。

    矩阵A和矩阵B必须同时使用相同的输入模式。如为A输入模式选择元素输入模式,LabVIEW将以灰色显示B输入模式的向量输入模式。如为A输入模式选择向量输入模式,LabVIEW将以灰色显示B输入模式的元素输入模式。

    • 逐行元素-指定矩阵B每个时钟周期接收一个元素。
    • 列元素-指定矩阵B在每个时钟周期按列接收一个元素。
    • 行向量-指定矩阵B每个时钟周期接收一个向量。
    • 列向量-指定矩阵B每个时钟周期接收一个向量。
  • 输出模式-指定函数按矩阵中的元素、向量或按行返回矩阵 C 的数据。
    • 逐行元素-指定矩阵 C 每个时钟周期逐行返回一个元素。
    • 行向量-指定矩阵 C 每个时钟周期逐行返回一个向量。
    • 向量列-指定矩阵 C 每个时钟周期按列返回一个向量。
实现细节

指定选项在内部 流水线化 该函数。指定函数可完成编译的最大时钟频率。

  • 流水线级数-指定函数内部使用的流水线级数。

    增加级数将会提高该函数可编译的时钟频率,但也会增加延时和函数所需的FPGA资源总数。流水线级数以字节长度和向量大小形式改变。默认值为最大最小指定流水线层级的最小值。

流水线级数量

指定该函数内部使用的流水线级数。

增加级数将会提高该函数可编译的时钟频率,但也会增加延时和函数所需的FPGA资源总数。流水线级数以字节长度和向量大小形式改变。默认值为最大最小指定流水线层级的最小值。

输入/输出

  • cunkn.png ar

    指定a幅值的实部。

  • cunkn.png ai

    指定a幅值的虚部。

  • cunkn.png br

    指定b幅值的实部。

  • cunkn.png bi

    指定b幅值的虚部。

  • cbool.png a有效

    指定下一个至a的数据点是否已就绪。连线上方数据流节点的输出有效输出端至该输入,将上方数据流节点的数据传输至节点的a输入端。

  • cbool.png b有效

    指定 b 的下一个数据点是否已到达等待处理。连线上方数据流节点的输出有效输出端至该输入,将上方数据流节点的数据传输至节点的b输入端。

  • cbool.png 输出就绪(T)

    指定后续节点是否已就绪以便该节点返回一个新值。默认值为TRUE。使用反馈节点 ,用于将下游节点 的输入就绪 输出连接至当前节点的该输入。

    注: 如该接线端在给定周期内返回FALSE, 输出有效 接线端在该周期内返回FALSE。
  • iunkn.png cr

    返回 a*b矩阵乘积的实部。

  • iunkn.png ci

    返回 a*b矩阵乘积的虚部。

  • ibool.png 运算溢出

    如理论计算出的值超出了输出数据类型的有效范围则返回TRUE。如运算溢出返回TRUE,配置对话框中指定的溢出模式将判定函数返回的值。

  • ibool.png 输出有效

    如果该节点的计算结果可用于后续节点,将返回TRUE。将该输出连线至后续节点的输入有效的输入,以便将该节点的数据传递至后续节点。

  • ibool.png a就绪

    如该节点已准备就绪接收来自a输入端的新数据,返回TRUE。使用反馈节点 ,用于将该输出连接至上游节点的 就绪输出 输入。

    注: 如该接线端在给定周期内返回FALSE, LabVIEW将丢弃其他节点在下一个周期内发送至该节点 a 输入端的数据。即使在后续周期中,a有效接线端为TRUE,LabVIEW也会舍弃数据。
  • ibool.png b就绪

    如该节点已准备就绪接收来自b输入端的新数据,返回TRUE。使用反馈节点 ,用于将该输出连接至上游节点的 就绪输出 输入。

    注: 如该接线端在给定周期内返回FALSE, LabVIEW将丢弃其他节点在下一个周期内发送至该节点 b 输入端的数据。即使在后续周期中,b有效接线端为TRUE,LabVIEW也会舍弃数据。
  • 由于矩阵A和矩阵B的输入周期可能不同,a有效b有效为矩阵A和矩阵B的必需值。

    该函数的实部和虚部输入必须为同一数据类型和输入模式,否则将使用输入实部的数据类型或数组大小。

    通过流水线增强函数性能

    通过调整流水线级数量可优化函数在FPGA终端上的定时性能。

    通常,增加流水线层级也会增加函数可编译的最大时钟速率。但实际时钟速率取决于多种因素,例如:

    • 所用的FPGA终端
    • 乘法器的大小
    • 选择的舍入和溢出模式
    • 乘法器外的FPGA逻辑

    握手

    请参阅使用握手信号调度定时 主题,了解关于握手的更多信息。