Discrete Mathematics University of Kentucky CS 275 Spring ... - MGNet
Discrete Mathematics University of Kentucky CS 275 Spring ... - MGNet
Discrete Mathematics University of Kentucky CS 275 Spring ... - MGNet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Examples: Most circuits are <strong>of</strong> the multiple output variety.<br />
• A half adder adds two bits producing a single bit sum plus a single bit carry:<br />
S := (x"y) ! (¬(x!y)) = x#y and C out := x!y. A half adder has two AND,<br />
one OR, and one NOT gates.<br />
• A full adder computes the complete two bit sum and carry out:<br />
S := (x#y)#c in , where C in is the incoming carry. The carry is quite<br />
complicated: C out := (xCy) + (yCC in ) + (C in Cx). A full adder has two half<br />
adders and an OR gate.<br />
• Ripple adders, lookahead adders, and lookahead carry circuits use many<br />
bits as input to implement integer adders.<br />
Half adder<br />
Full adder<br />
213<br />
Note: Minimizing the Boolean algebra function means a less complicated<br />
circuit. Simpler circuits are cheaper to make, take up less space, and are usually<br />
faster. Add in how many devices are made and there is potentially a lot <strong>of</strong><br />
money involved in saving even a small amount <strong>of</strong> circuitry.<br />
There are two basic methods for simplifying Boolean algebra functions:<br />
• Karnaugh maps (or K-maps) provide a graphical or table driven technique<br />
that works up to about 6 variables before it becomes too complicated.<br />
• The Quine-McCluskey algorithm works with any number <strong>of</strong> variables.<br />
Going to Google and searching on Karnaugh map s<strong>of</strong>tware leads to a number <strong>of</strong><br />
programs to do some <strong>of</strong> the work for you.<br />
Definition: A literal <strong>of</strong> a Boolean variable is its value or its complement. A<br />
minterm <strong>of</strong> Boolean variables x 1 , x 2 , …, x n is a Boolean product <strong>of</strong> the {x i<br />
,x i<br />
}.<br />
Note: A minterm is just the product <strong>of</strong> n literals.<br />
214