Serial addition

  • Jerehmia
    6th April Member 0 Permalink

    I finished the multiplier, the adder uses a bit simpler filter/detector logic but it's the same principle as before. The multiplier implements the above algorithm so it can compute any result with maximally 29 additions (each set bit in the first input causes an addition):

     

    Edited 2 times by Jerehmia. Last: 6th April
  • MachineMan
    13th April Member 0 Permalink

    Them modifications in this save that make a multiplier from a divider were incompatible with the design for the adder I have, so I had to copy paste the design from this save with some modifications that I made.

    Edited 2 times by MachineMan. Last: 13th April
  • Jerehmia
    13th April Member 0 Permalink

    You can't turn a multiplier into a divider by inverting inputs and outputs, you really have to implement binary long division. This is a more complex algorithm than binary multiplication because you have to do a trial subtraction and only use the result if it's posiitve or zero (see the algorithm in the link). Because you have to do 28 trial subtractions the divider will be slower than the multiplier. Then there is the problem that long division only works with positive divisors so you have to invert inputs and outputs if the divisor is negative.

    Edited once by Jerehmia. Last: 13th April