22.02.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!