高吞吐率乘
- 更新时间2023-02-17
- 阅读时长5分钟
高吞吐率乘
计算两个值的积。
在项选项卡中选择4线复选框启用握手。
输入/输出

x
被乘数。
该输入允许以下数据类型:
- 定点数
- 复数定点数
- 一维定点数数组
- 一维复数定点数数组

y
乘数。
该输入接收以下数据类型:
- 定点数
- 复数定点数
- 一维定点数数组
- 一维复数定点数数组

输入有效
指定下一个数据点是否有效且可被处理的布尔值。
连线上游节点的输出有效至该输入,将上游节点的数据传输至该节点。
仅当在项选项卡中勾选4线复选框时,该输入可用。
| TRUE | 数据点有效,可以处理。 |
| FALSE | 数据点无效。 |

输出就绪
指定下游节点是否已就绪,以便该节点返回一个新值的布尔值。
使用反馈节点连接下游节点的输入就绪接线端至当前节点的输入端。如在给定周期内该输入端为FALSE,输出有效接线端在该周期返回FALSE。
仅当在项选项卡中勾选四线复选框时,该输入可用。
| TRUE | 后续节点已准备就绪,可处理下一个数据点。 |
| FALSE | 后续节点未就绪,不能处理下一个数据点。 |
Default value: TRUE

运算溢出
指示理论计算值是否超出输出数据类型的有效范围的布尔值。
| TRUE | 理论计算值超过输出数据类型的有效范围。 |
| FALSE | 理论计算值位于输出数据类型的有效范围内。 |
该输出可返回布尔值或一维布尔值数组。

x*y
x和y的结果。
该输出可返回以下数据类型:
- 定点数
- 复数定点数
- 一维定点数数组
- 一维复数定点数数组
或x或y其中的一个为复数定点数,则x*y为复数定点数。

输出有效
指示该节点的计算结果是否可用于下游节点的布尔值。
连线该输出至下游节点的输入有效,以便将该节点的数据传递至下游节点。
仅当在项选项卡中勾选四线复选框时,该输出可用。
| TRUE | 该节点的计算结果可用于后续节点。 |
| FALSE | 该节点的计算结果不可用于下游节点且返回未定义的值。 注: 如以仿真模式运行而不是在硬件上执行时,该节点可能返回不同的未定义值。 |

输入就绪
指示节点是否已准备就绪接收新的输入数据的布尔值。
通过反馈节点连线该输出至上游节点的输出就绪接线端。
仅当在项选项卡中勾选四线复选框时,该输出可用。
| TRUE | 节点已经就绪,可接收新的输入数据。 |
| FALSE | 节点尚未就绪以接收新的输入数据。 |
x和y为数组时的节点行为
当x和y是数组时,该节点逐个元素执行两个数组的运算。如两个数组大小不同,该节点对前N个元素执行计算,N是较小数组的元素数量。一个输入是数组,另一个输入是标量时,该节点使用标量与数组中的每个元素执行运算。
何时节点丢弃数据
如在给定时钟周期内,输入就绪返回FALSE,节点在下一个时钟周期丢弃其他节点发送至该节点的数据。即使在后续周期中,输入有效为TRUE,节点也会丢弃数据。
当x和y为复数定点数时,获取所需时钟频率的方法
当x和y都是复数定点数时,编译时的时钟频率可能被降低。如使用该节点无法达到所需的时钟频率,可尝试下列步骤:
- 在项选项卡中选择4线复选框启用握手。
- 在项选项卡中增加流水线层级的值。
如仍无法实现预期的性能,可使用Xilinx IP节点实现相同的逻辑。
通过流水线增强定时性能
通过调整流水线层级数量,优化FPGA终端上节点的定时性能。流水线乘法器的功能与级联了一定数量寄存器的非流水线乘法器相同。寄存器的数量与流水线的层级相同。
通过流水线增加最大时钟频率
通常,增加流水线层级也会增加函数可达到的最大时钟频率。但实际时钟频率取决于多种因素,例如:
- 所用的FPGA终端
- 乘法器的大小
- 在节点的定点配置中选择的凑整和溢出模式
- 在项选项卡的流水线选项中为资源选定的模式。
- 乘法器外的FPGA逻辑