$\require{cancel}$
Building an Adder
 Let's quickly review base 10 addition.
 Perform the following 215+206
 What is the algorithm?
 What is a carry?
 For a number position we will distinguish carry in and carry out.
 What is the sum at a number position?
 In base 10, what is the maximum carry?
 In base two, the addition table is much easier.

 It is useful to know/remember in binary 1+1+1 = 11.
 Add $11010111_2 + 11001110_2$
 Can we build a table to represent the addition of two bits and a carry in?
a  b 
cin 
c out 
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 
 Construct the minterms
 sum = a·bc
+ abc
+ ab·c
+ abc
 c out = abc
+ abc
+ abc + abc
 Build and test the circuit
 There are optimizations of this circuit. In 2100 they will learn how to do this.
 But for us, this will do.
 By the way, you if you use only inputs and outputs for data sources you can use the circuit as a module.
 It shows up in the custom library.
 You might need to reorder the inputs/output
 Wide Input and output
 Changing the number of data bits on input/output will allow you to input/output larger numbers.
 Under wires a splitter/merger will allow you to split these into individual bits.
 Using the full adder we built before, let's build a four bit ripple carry adder
 We will hard wire the 0 bit carry in to be 0
 We will allow the carry to ripple between adders by wiring the
carry out of a lower bit to the carry in of the next bit.

 digital file. (you need Dan_Full_Adder.dig from above in the same directory.
 The 74283 family of chips implement a four bit adder