为什么DSP从我的方程中减去1?

时间:2016-05-01 12:48:48

标签: vhdl signal-processing fpga xilinx

我尝试在DSP48E1中实现:

(A * B) - C

阅读手册:

http://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf

我想我必须:

OPMODE => "0110101"

因此,X,Y和Z多路复用器的输出为:

  • X和Y是M = A * B的部分产品,因此X + Y = M = A * B
  • Z = C

然后我设置:

ALUMODE => "0001"

因此它应该产生:

-Z + (X + Y + CIN) - 1 = not(Z) + X + Y + CIN

第35页上有一条说明“In 2s complement -Z = not(Z) + 1

因此我一直得到的结果是:

-C + A * B -1

有没有简单的方法来纠正这个结果?或者我应该在输入之前注册+ 1的加法?

0 个答案:

没有答案