## Quick Karnaugh Map Question

Make a circuit to multiply two 2-bit numbers
AB and CD together to produce a 4-bit output.
(a) construct a truth table to represent all states of the inputs and
the corresponding outputs.
(b) make a Karnaugh map for each output bit. Write down the Boolean algebraic expressions that describe the clusters in each map.
(c) design a logic circuit for each output bit to perform the multiplication.

Ok well I am on part b, I have done the truth table already, but I have one problem when making the Karnaugh map, how do I know when to put a 0 or 1 in a place, like if they output is 0000, I guess I put a 0, but if it's something like 0110, do I put a 0 or a 1? I don't understand how I am suppose to know which numbers are high and low, can someone help please? thanks!

For example the truth table here, http://en.wikipedia.org/wiki/Karnaugh_map#Truth_table, how do they know what f(A,B,C,D) is?

Truth table:

A(1) A(0) B(1) B(0) C(3) C(2) C(1) C(0)

0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 0 0 0 0 0
0 1 0 1 0 0 0 1
0 1 1 0 0 0 1 0
0 1 1 1 0 0 1 1
1 0 0 0 0 0 0 0
1 0 0 1 0 0 1 0
1 0 1 0 0 1 0 0
1 0 1 1 0 1 1 0
1 1 0 0 0 0 0 0
1 1 0 1 0 0 1 1
1 1 1 0 0 1 1 0
1 1 1 1 1 0 0 1
 PhysOrg.com science news on PhysOrg.com >> Galaxies fed by funnels of fuel>> The better to see you with: Scientists build record-setting metamaterial flat lens>> Google eyes emerging markets networks

Mentor
 Quote by mmmboh Make a circuit to multiply two 2-bit numbers AB and CD together to produce a 4-bit output. (a) construct a truth table to represent all states of the inputs and the corresponding outputs. (b) make a Karnaugh map for each output bit. Write down the Boolean algebraic expressions that describe the clusters in each map. (c) design a logic circuit for each output bit to perform the multiplication. Ok well I am on part b, I have done the truth table already, but I have one problem when making the Karnaugh map, how do I know when to put a 0 or 1 in a place, like if they output is 0000, I guess I put a 0, but if it's something like 0110, do I put a 0 or a 1? I don't understand how I am suppose to know which numbers are high and low, can someone help please? thanks! For example the truth table here, http://en.wikipedia.org/wiki/Karnaugh_map#Truth_table, how do they know what f(A,B,C,D) is? Truth table: A(1) A(0) B(1) B(0) C(3) C(2) C(1) C(0) 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 0 1
You make a K-map for each of the 4 output bits, and use the 4 input bits to label the rows and columns. Then for each entry, you use the output bit value to fill in the square that corresponds to the input code.
 Mentor BTW, one tip for putting tables in your posts is to use the "code" tags. That makes the forum use non-proportional font, so things stay lined up in the columns you typed them in.

 Tags binary, karnaugh map, truth table