为什么赛灵思的乘法器 IP 产品位宽有额外的位?

  • 本文关键字:IP 乘法器 binary vhdl fpga xilinx
  • 更新时间 :
  • 英文 :


Xilinx的复杂乘法器IP文档(PG104(对输入和输出位宽设置有这样的说明:

输出宽度:选择输出乘积实数和虚数的宽度组件。这些值会自动初始化,以提供完全的精度设置A和B操作数宽度时的乘积<复合体的自然宽度乘法是输入宽度加1的总和>如果输出宽度设置为小于该自然宽度,最低有效位被截断或取整,如由下一个GUI字段选择。

(斜体是我的。(因此,如果我将一个8位数字乘以另一个8位数,它希望全精度输出为17位数。假设输入和输出是有符号整数。

8位可以表示的最大幅度有符号数是-128(0x80(。128*128=16384或0x4000,其为15位。添加一个符号位,我们可以安全地使用16位输出。

最大正极为127(0x3F(。127*127=16129或0x3F01。同样,16位安全。

我错过了什么?他们为什么坚持要多拿一点?

这是一个复杂的乘法运算。这是两次乘法的和。

pr=ar x br-ai x bi

pi=ar x bi+ai x br

总和加上额外的位。

最新更新