Serial by Parallel Booth Multiplier

Status
Not open for further replies.
Like it says in the text, carry chain not needed as you're only routing to a single LUT, which can be nearby
But this is a pretty old idea, as Im sure most (if not all) FPGAs now have carry chains and they pretty much all have built in multipliers, removing the need for logic mults.
 

carry chain not needed as you're only routing to a single LUT

I do not understand. How is carry chain not needed when only a single LUT is used here ?
I only see 4 blue register flip-flops, 1 half-adder, and 3 full-adders. Where is the LUT implemented ? You mean the AND gate itself ?

What does the 2's C (Bit serial 2's complement) block actually do ?

The carry_out flag is kept updated through the loopback on the blue register.
How does this carry_out value updating actually help in the multiplication process ?
 

How about visualizing the serial multiplier operation with pencil and paper method?
 

Ok, I will use pen and pencil method to verify that the multiplier in the figure actually do multiplication correctly.

By the way, why "Routing is all nearest neighbour EXCEPT serial input which is broadcast" ? I thought the loopback update using the blue registers (ALL 4 register flip flops) requires very little routing effort by the tool ?
 

I do not understand. How is carry chain not needed when only a single LUT is used here ?
I only see 4 blue register flip-flops, 1 half-adder, and 3 full-adders. Where is the LUT implemented ? You mean the AND gate itself ?

Seems you forgot that LUTs are used to implement logic, therefore the LUT used is both the FA and the AND gate. All that logic fits in a single 4-input LUT...i.e. Serial_Inpuut, Xi, A, and C (4 total)
 
Initially, before any partial bit multiplication is started, the "2's C" block has both C_out and C_in to have values of 0, this means that the loopback update mechanism of carry does not really do anything at all for the "2's C" block (the only input ports are A and C_in , where C_in is always zero).

Please correct me if wrong
 

The carry from the first stage is redundant, but I suspect the writer just copied and pasted the adder element.
 
@FvM

I am not getting the correct multiplication answer. Something is wrong with the S(um) propagation mechanism.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…