## Transistor Based 4-bit adder

A 4 bit adder is a circuit that takes two 4-bit inputs (numbers ranging from 0 - 15) and adds them. This does not sound impressive or useful, but the core essence of this project is that this operation is achieved solely by using transistors, resistors, electricity, and nothing more.

This is achieved by building 4 "Full Adders" and daisy chaining them.

In order to understand this project, a few basic concepts must be understood.

This is achieved by building 4 "Full Adders" and daisy chaining them.

In order to understand this project, a few basic concepts must be understood.

Inputs and Outputs

Each Full Adder has three input and two outputs. The two outputs are Sum and Carry-Out. Sum is the result of adding the inputs, and Carry-Out handles the overflow. An easy way to understand this is by comparing the operation to its decimal counterpart.

When you add 19 + 5, you first add the numbers in the "ones", in this case being 9 and 5. The result is 14, so we write down the 4 and have the extra 1 move over to the next point. This 1 is what we call a "Carry Out". Out 4-bit adder must be able to handle this. In binary, when we add 10011 + 101 (19 + 5 in decimal) we follow the same process. First, add the numbers in the "ones". 1 + 1 = 10 so we write down the 0 and have the 1 be a Carry out, onto the next operation.

The three inputs are A and B, the two numbers being added, and Carry-In. Carry-In is the Carry-Out of the previous Full-Adder.

Sum is equal to A ^ B ^ Cin

Carry Out is equal to (A & B) | ((A ^ B) & Cin)

Each Full Adder has three input and two outputs. The two outputs are Sum and Carry-Out. Sum is the result of adding the inputs, and Carry-Out handles the overflow. An easy way to understand this is by comparing the operation to its decimal counterpart.

When you add 19 + 5, you first add the numbers in the "ones", in this case being 9 and 5. The result is 14, so we write down the 4 and have the extra 1 move over to the next point. This 1 is what we call a "Carry Out". Out 4-bit adder must be able to handle this. In binary, when we add 10011 + 101 (19 + 5 in decimal) we follow the same process. First, add the numbers in the "ones". 1 + 1 = 10 so we write down the 0 and have the 1 be a Carry out, onto the next operation.

The three inputs are A and B, the two numbers being added, and Carry-In. Carry-In is the Carry-Out of the previous Full-Adder.

Sum is equal to A ^ B ^ Cin

Carry Out is equal to (A & B) | ((A ^ B) & Cin)

Keep in mind, this is just one Full Adder, there are four in this project!