我尝试在DSP48E1中实现:
(A * B) - C
阅读手册:
http://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf
我想我必须:
OPMODE => "0110101"
因此,X,Y和Z多路复用器的输出为:
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的加法?