Dsigning a multiply circuit

We can design a multiply circuit based on binary multiplication:

                 1  0  1  1         multiplicant 
              x  1  0  0  1         multiplier
    -----------------------










  

 

Dsigning a multiply circuit

Multiply the multiplicant by the 1st bit of the multiplier:

                 1  0  1  1         multiplicant 
              x  1  0  0  1         multiplier
    -----------------------
                 1  0  1  1  (= 1 AND (1 0 1 1))









  

This multiplication can be accomplished using a series of AND gates !!!

Dsigning a multiply circuit

Multiply the multiplicant by the 2nd bit of the multiplier:

                 1  0  1  1         multiplicant 
              x  1  0  0  1         multiplier
    -----------------------
                 1  0  1  1 
              0  0  0  0     (= 0 AND (1 0 1 1))








  

This multiplication can be accomplished using (another series of) AND gates !!!

Dsigning a multiply circuit

Then add the results together using a series of full adders:

                 1  0  1  1         multiplicant 
              x  1  0  0  1         multiplier
    -----------------------
                 1  0  1  1  
    +         0  0  0  0  0 
    -----------------------
          (C) 0  1  0  1  1  (C = possible carry)






  

Note that we do not need to add the last trailing 0 ! (We can omit them)

Dsigning a multiply circuit

Then multiply the multiplicant by the 3rd bit of the multiplier:

                 1  0  1  1         multiplicant 
              x  1  0  0  1         multiplier
    -----------------------
                 1  0  1  1        
    +         0  0  0  0  0         
    -----------------------
          (C) 0  1  0  1  1
           0  0  0  0          (= 0 AND (1 0 1 1)) 
  
 
 
 
    
  

This multiplication can be accomplished using a 3rd series of AND gates

Dsigning a multiply circuit

Then add the previous sum and the new result together:

                 1  0  1  1         multiplicant 
              x  1  0  0  1         multiplier
    -----------------------
                 1  0  1  1        
    +         0  0  0  0           
    -----------------------
          (C) 0  1  0  1  1
    +      0  0  0  0  0  0     
    -----------------------
       (C) 0  0  1  0  1  1   (C = possible carry)
 
 
    And so on !!
  

Note that we do not need to add the 2 trailing 0's in the new result !

A 4-bits multiply circuit using full adders

The input bin numbers are b3b2b1b0 and a3a2a1a0 and the output is ( m7m6..m1m0):

A 4-bits multiply circuit using full adders

Multiply the multiplicant (a3a2a1a0) by the 1st bit (b0) of the multiplier:

A 4-bits multiply circuit using full adders

Multiply the multiplicant (a3a2a1a0) by the 2nd bit (b1) of the multiplier:

A 4-bits multiply circuit using full adders

Add the result together    (note: we need to use an additional 0 bit):

A 4-bits multiply circuit using full adders

Multiply the multiplicant (a3a2a1a0) by the 3rd bit (b2) of the multiplier:

A 4-bits multiply circuit using full adders

Add the result together (note: the carry output of the last addition is the 4th bit input):

A 4-bits multiply circuit using full adders

Multiply the multiplicant (a3a2a1a0) by the 4th bit (b3) of the multiplier:

A 4-bits multiply circuit using full adders

Add the result together (note: the carry output of the last addition is the 4th bit input):

DEMO
 

  • I have made this circuit

    You can run the circuit simulation using this command;

         /home/cs355001/Solutions/pj2-sol         
      

  • You will make this circuit for project 2

    (To re-inforce this material and introduce you to the define command of EDiSim)