Source

Thread

1/ @NOTimothyLottes

For an integer DSP, if one wants 2 negative operand modifiers: that requires 2 carry ins. 7 series DSP has one, and Ultrascale adds a full extra W MUX which provides a 4th input for the odder, with a RND term which and be optionally added in for a second carry.

2/ @NOTimothyLottes

7 series does not(Z)+not(X+Y+CIN)+1 where the NOTs and last +1 are runtime adjustable. So it has 2 carry ins BUT the CIN is trapped in the NOT instead of outside so it prevents two operand negation

3/ @NOTimothyLottes

When doing signed fixed point, it is nice to logically flip the neg and pos sides so one gets a positive maximum magnitude power of 2.

4/ @NOTimothyLottes

But when 0x8000… is your largest magnitude term, your multiply always does a sign flip by default, so having NEG modifier on the MUL sub-product of and IMAD is necessary simply to avoid the sign flip.

5/ @NOTimothyLottes

Also when thinking in this inverted way, the IMAD is really more of an IMSB without the NEG modifiers. Yes: It’s a way of thinking that is alien to kids now stuck with brains in 1-s complement floating point. But state of the art for vintage simpler integer machines

0 items under this folder.