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
SUMMARY

This discussion focuses on the efficient design of a full adder using Karnaugh maps (K-maps) to simplify logic tables into gate configurations. The author presented a logic table for two 1-bit inputs (a and b) and a carry-in (c), leading to the derived equations for the most significant bit as ab + c(a + b) and for the next significant bit as c(a ⊙ b) + c(a ⊕ b). Feedback highlighted that while K-maps effectively simplify certain aspects, they do not inherently provide methods for XOR or XNOR simplifications, which are crucial for optimal full adder designs.

PREREQUISITES
  • Understanding of digital circuit design principles
  • Familiarity with Karnaugh maps (K-maps) for logic simplification
  • Knowledge of Boolean algebra and logic gates
  • Basic concepts of full adder functionality and truth tables
NEXT STEPS
  • Study the application of Reed-Muller logic for XOR-based designs
  • Learn advanced techniques for simplifying logic circuits beyond K-maps
  • Explore the algebraic methods for deriving XOR and XNOR expressions
  • Investigate industry practices for full adder implementations and optimizations
USEFUL FOR

Digital circuit designers, electrical engineers, and students studying logic design who aim to optimize full adder circuits and improve their understanding of K-map applications in digital logic.

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: 659
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.
 

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