Multiplication for Inputs bigger than 32Bit "BigMult"

  • Hello Community,


    similar to my big Sqrt problem (Thread), I encountered the need for wide multiplications in one of my designs.

    In this post I want to show you a solution for that problem I worked out.


    My solution is to split the multiplication into two multiplications and add them after the multiplications:

    BigMult.PNG


    For signed values, I take the absolute value and do a manual complement afterwards:

    BigMult2.PNG

    In this example only the lower link is signed. If both links are signed, do the absolute value and the negative check for the upper link, too. Feed "neg A xor neg B" into the lower port of "Complement".


    I added a test design for you. There are other options possible: you may use the same approach like in the Sqrt example to work with pseudo floating point data.


    Best regards

    Simon