This preview shows page 1. Sign up to view the full content.
Unformatted text preview: h” #2 lower voltage Building Something
• Let’s build an adder to add two numbers Adder • To do that, we’ll first need a building block called a full adder 19 Adding Two Numbers
• Let’s think about how we add base‐10 numbers
• We add numbers column by column 7 6 5
+ 9 1 5
0 Adding Two Numbers
• Let’s think about how we add base‐10 numbers
• We addnumbers column by column
• When a column’s sum is more than what one digit can represent, we carry the left digit one column to the left 1
7 6 5
+ 9 1 5
0 20 Adding Two Numbers
• We can think of each column as adding three numbers and having two output digits—one in each of two columns • The column adders are shown here with red, green, and blue adder blocks. The third input (the carry input) is shown in gray 0 1
7 6 5
+ 9 1 5
1 6 8 0 Adding Two Binary Numbers
• Binary addition is done exactly the same way but now digits are 0’s and 1’s only and a carry is generated when the sum in a column is 2 or higher
• Notice again each adder block (column) has three inputs and two outputs 1 1
1 1 1
+ 1 0 1
1 1 0 0 carries sums 21 A Full Adder
• These adder blocks are called Full Adders and they add three binary numbers
ABC Full
Adder CarryOut Sum Truth Table
• How do we design a full adder?
• A great thing about binary design—we can often look at every possible combination.
Every combination is listed here in a Truth Table Inputs Outputs A B C Cout Sum
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 22 Digital Circuit Design
• Now let’s design the circuit for Cout, one of the two outputs A B C Cout Sum
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 Digital Circuit Design
• Now let’s design the circuit for Cout, one of the two outputs
A B C Cout Sum
• We next draw a Karnaugh 0 0 0 0 0
map, which is a truth table 0 0 1 0 1
drawn in a special way:
0 1 0 0 1
A
0 1 1 1 0
0 1
1 0 0 0 1
00 0 0
1 0 1 1 0
BC 01 0 1
1 1 0 1 0
11 1 1
1 1 1 1 1
10 0 1 23 Karnaugh Map
• The Karnaugh map tells us the logic equation for Cout is,
Cout = (A AND C) OR (A AND B) OR (B AND C) BC A
0 1
00 0 0
01 0 1
11 1 1
10 0 1 One Output of a Full Adder
• We can draw the circuit using AND and OR blocks
Cout = (A AND C) OR (A AND B) OR (B AND C)
A
C AND
OR A
B AND
OR B
C Car...
View
Full
Document
This note was uploaded on 01/29/2014 for the course MAT 1 taught by Professor Higgins during the Fall '13 term at UC Davis.
 Fall '13
 Higgins

Click to edit the document details