Efficient Design of a Full Adder with Karnaugh Maps

  • Thread starter Thread starter Bluskyz
  • Start date Start date
  • Tags Tags
    Adder Design
Click For Summary
The discussion focuses on using Karnaugh maps to simplify the design of a full adder in digital circuit design. The initial logic table for two 1-bit inputs and a carry-in was created, leading to derived equations for the most significant and least significant bits. While the simplification process was attempted, it was noted that the Sum bit could be better simplified using XOR and XNOR logic, particularly when observing a "checkerboard" pattern in the K-map. Participants highlighted that Karnaugh maps primarily yield sums-of-products or products-of-sums, which do not directly provide XOR or XNOR outputs. The conversation concluded with an acknowledgment of the limitations of K-maps in achieving the most efficient circuit design without brute force methods.
Bluskyz
Messages
20
Reaction score
0
Just a quick apology for the long post. Recently I have been looking into digital circuit design and how karnaugh maps can help you simplify a logic table to simple gates. I extended this idea to trying to derive the most efficient full adder design and came up with the following logic table for two 1-bit inputs (a and b) for the current bits being added and a carry in(c):

x-y-c-a1-a0
0-0-0-0-0
0-0-1-0-1
0-1-0-0-1
0-1-1-1-0
1-0-0-0-1
1-0-1-1-0
1-1-0-1-0
1-1-1-1-1

Then I made the karnaugh maps corresponding to the outputs, one for the most significant bit and another for the other bit.

27y1fs4.png


At this point I began looking at the map for the most significant bit and noted the groupings and turning them into a logical equation.

ab+ac+bc

With this, I don't really think that you can simplify this problem very much. I just simplified out the carry bit resulting in:

ab+c(a+b)

The story is similar with the next significant bit but due to the fact that there aren't any groupings in the karnaugh map, it really can't be simplified. I ended up with the following:
_
c(a\odotb)+c(a\oplusb)

After taking these final equations for the two outputs bits, I combined them into the final circuit. This should be a simplified form of a full adder.

1z56bko.png


Comparing this to a fully simplified version of a full adder here:

0rqZz.png


Both circuits are very similar its just mine seems to have a few more unessesary gates. Firstly, it seems that my xnor gate can simply be an xor wired to the output of the first xor gate and the carry in. Secondly, the additional and gates after the xor and xnor gates on my circuit can be completely omitted. My ultimate question is this: Is there a methodical way in which I can find the most simplified circuit for a corresponding truth table without resorting to brute force and examination of which parts can be omitted, changed, etc? Thank you for your help.
 

Attachments

  • Karnaugh.PNG
    Karnaugh.PNG
    3.4 KB · Views: 649
Engineering news on Phys.org
A K-map doesn't give you XOR or XNOR so no, there isn't a methodical way to do what your'e asking.

You did the k-map correctly but you didn't simplify the Sum bit well. Look again and you'll see that when C=0 its just an XOR and obviously once you see than when C=1 you've got an XNOR (you can do this algebraically if you want).

Typically if you see a "checkerboard" pattern you should be looking for ways to use XORs and XNORs. There is a logic style focused on XORs called "Reed Muller" logic that you may find interesting.

http://www.eetimes.com/document.asp?doc_id=1274545

Keep in mind we never use this in industry (at least I've never seen it done).
 
analogdesign said:
A K-map doesn't give you XOR or XNOR so no, there isn't a methodical way to do what your'e asking.

You did the k-map correctly but you didn't simplify the Sum bit well. Look again and you'll see that when C=0 its just an XOR and obviously once you see than when C=1 you've got an XNOR (you can do this algebraically if you want).

Typically if you see a "checkerboard" pattern you should be looking for ways to use XORs and XNORs. There is a logic style focused on XORs called "Reed Muller" logic that you may find interesting.

http://www.eetimes.com/document.asp?doc_id=1274545

Keep in mind we never use this in industry (at least I've never seen it done).

I should be a bit more explicit. A Karnaugh map gives you a sums-of-products expression or a products-of-sums expression depending on whether you minimize the ones or zeros. That maps onto AND and OR gates in boolean logic, not XORs.
 
Ok, that makes sense. Thank you for your reply.
 
I am trying to understand how transferring electric from the powerplant to my house is more effective using high voltage. The suggested explanation that the current is equal to the power supply divided by the voltage, and hence higher voltage leads to lower current and as a result to a lower power loss on the conductives is very confusing me. I know that the current is determined by the voltage and the resistance, and not by a power capability - which defines a limit to the allowable...

Similar threads

  • · Replies 15 ·
Replies
15
Views
10K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
27K
  • · Replies 14 ·
Replies
14
Views
2K