Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how to make 4 bit x 4 bit multiplier with couple of 4 bit adders and gates?

Status
Not open for further replies.

moonnightingale

Full Member level 6
Joined
Sep 17, 2009
Messages
362
Helped
5
Reputation
10
Reaction score
5
Trophy points
1,298
Activity points
3,832
problemof adder

I know how to make it with and gates and 1 bit full adder but how to use 4 bit adders
 
Last edited:

https://www.edaboard.com/threads/188698/
NOthing is different from the pic you posted.
I'll give you a hint as below, and you'll take care of the rest.
Code:
            a3  a2  a1  a0
        b3  b2  b1  b0
    c3  c2  c1  c0 
d3  d2  d1  d0
----------------------------------


FA  (.A({'0', a3, a2, a1}),  .B({b3, b2, b1, b0}, .S(sum0[3:0]), .CO(co0));
FA  (.A({co0, sum0[3:1]}),   .B({c3, c2, c1, c0},  .S(sum1[3:0]), .CO(co1));
FA  (.A({co1, sum1[3:1]}),   .B({d3, d2, d1, d0}, .S(sum2[3:0]), .CO(co2));
 
Last edited:

    V

    Points: 2
    Helpful Answer Positive Rating
Can u draw a picture for 4 bit x 4 bit unsigned multiplier using 4 bit adders, and upload here
i will be highly grateful to you for that
 

All you need now is 16 AND gates that generate part products, and plug them to the addition part that I showed you in my last post.

If you still don't understand what I mean, I'd suggest to carefully analyze how the long multiplication is performed in binary.
 
Sir i am new in this field. I am working hard. As far as Full adder is concerned, it is clear to me but i am stuck with 4 bit adder
Can u kindly send the picture or send me some site from where i can get it
Thanks
 

Assuming you understand Verilog netlist.


Signal names based on the long multiplication you posted.
Code:
AND (.A(A0), .B(B0), .Y(A0B0));
AND (.A(A1), .B(B0), .Y(A1B0));
AND (.A(A2), .B(B0), .Y(A2B0));
AND (.A(A3), .B(B0), .Y(A3B0));

AND (.A(A0), .B(B1), .Y(A0B1));
AND (.A(A1), .B(B1), .Y(A1B1));
AND (.A(A2), .B(B1), .Y(A2B1));
AND (.A(A3), .B(B1), .Y(A3B1));

AND (.A(A0), .B(B2), .Y(A0B2));
AND (.A(A1), .B(B2), .Y(A1B2));
AND (.A(A2), .B(B2), .Y(A2B2));
AND (.A(A3), .B(B2), .Y(A3B2));

AND (.A(A0), .B(B3), .Y(A0B3));
AND (.A(A1), .B(B3), .Y(A1B3));
AND (.A(A2), .B(B3), .Y(A2B3));
AND (.A(A3), .B(B3), .Y(A3B3));


4BIT_ADDER  (.A({1'b0, A3B0, A2B0, A1B0}),  .B({A3B1, A2B1, A1B1, A0B1}), .CI(1'b0), .S(sum0[3:0]), .CO(co0));
4BIT_ADDER  (.A({co0, sum0[3:1]}),          .B({A3B2, A2B2, A1B2, A0B2}), .CI(1'b0), .S(sum1[3:0]), .CO(co1));
4BIT_ADDER  (.A({co1, sum1[3:1]}),          .B({A3B3, A2B3, A1B3, A0B3}), .CI(1'b0), .S(sum2[3:0]), .CO(co2));

BUF  (.A(A0B0),    .Y(P0));
BUF  (.A(sum0[0]), .Y(P1));
BUF  (.A(sum1[0]), .Y(P2));
BUF  (.A(sum2[0]), .Y(P3));
BUF  (.A(sum2[1]), .Y(P4));
BUF  (.A(sum2[2]), .Y(P5));
BUF  (.A(sum2[3]), .Y(P6));
BUF  (.A(co2),        .Y(P7));

Draw a logic circuit of above by yourself and compare it to the long multiplication to figure out how the above circuit runs multiplications.
 
Last edited:

Ok kindly tell me what is the function of those large big arrows at the end.Rest i have understood they are there for Carry
Fromthe diagram i am understanding that last two Full adders at the bottom will have two carry inputs?? is it correct

Lastly kindly help me to write boolean expression for this diagram. just tell me the method by writing 2 or 3 expressions
 

Attachments

  • cascade_mult.jpg
    cascade_mult.jpg
    105.2 KB · Views: 161

Ok kindly tell me what is the function of those large big arrows at the end.Rest i have understood they are there for Carry
Fromthe diagram i am understanding that last two Full adders at the bottom will have two carry inputs?? is it correct
One carry goes to a data input, another goes to carry in.
Lastly kindly help me to write boolean expression for this diagram. just tell me the method by writing 2 or 3 expressions
You can't write a boolean expression with Full adder as a block because addition isn't a part of boolean expression. You have to break the full adder into more primitive functions.

Boolean functions for bit0 and bit1 would be like this.

P0 = A0 AND B0
P1 = (A0 AND B1) XOR (A1 AND B0)
 
Last edited:

The Boolean Expression for P2 will be

(A2 AND B0) XOR (A1 AND B1) OR (A0 AND B2)
AM i right in saying this
 

Not correct.

No offense, but you need to understand how addition works before going into multiplication. Read a digital design book.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top