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:


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


    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