Friday 9 June 2017

My 1 Bit Full Adder Project

One thing that has always been interesting to me is using logic circuitry in electronics. Its easy to implement something on a microcontroller in just a few lines, but where the real challenge comes from is making a boolean project using real logic gates. It's something we all learn about if you have taken a basic computer science class, or even sometimes in digital electronics. One of the first circuit's you ever learn about is the adder. Its pretty simple, teaches you how to cancel down boolean equations, and only has a few inputs and outputs. I have decided to try and make the circuit using real components, and see if I can get it to work.

The first stage is to know the logic circuit, its widely known and can be found pretty easily all over the web. Im not going to explain how it's created (I can always make a separate post on that) but I can describe how to use it. The aim is for the device to take two 1 bit inputs, along with a carry from another adder. So the adder needs to be able to output a value between 0 and 3. In binary this can be shown as 2 bits, so we have 2 outputs. This the S output represents a 1, and the Co output represents bit 2. Below is the truth table I used, if you want a little challenge, try and get the above circuit using boolean algebra.

A
B
Ci
Co
S
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

So I got onto Altium and made a schematic of this circuit using some of the low voltage 7400 LVC series individual logic gates. They come in SOT23-5 packages which are leaded a nice size to solder. Plus they are a size where it's possible to probe the pins fairly easily. Luckily Altium shows the components as their logic symbols.



I also added a few LEDs to show what parts are on and off. This means the user can see the inputs and outputs. These LEDs run off the 5V input voltage, and have 220Ω current limiting resistors in series with them. Also, I have put in some 0.1 inch header pins so it can be attached into a breadboard and maybe even a micro.


As a base of my circuit, I have decided on a double sided 50mm x 50mm board. This is quite big as you can see for the circuit I have made, but gives plenty of space for a soldering iron to get access. As well as this, it gives a nice amount of space for multimeter probes. I also tried to keep the individual logic chips in the same arrangement as the schematic. This is meant to be used as a learning device, so it's useful for the chips to line up with the diagram. The header pins for the inputs and outputs are placed on opposite sides of the board to make it more obvious for the user to see it. The pins for the power and ground are on the same side on both headers. The LEDs that are directly attached to the pins are kept close to them, and the track is fairly obvious to show where the signal is from. The silkscreen labels which LED designates which input/output. All the designators have been made half the normal size due to the small amount of parts used in the project. The below images show the PCB layout I created with the top copper being red, bottom copper being blue, and the silkscreen shown in yellow.

Top Copper
As you might be able to see, I have tried to keep all the power on the bottom side of the board. This leaves lots of space for the logic signals on the top, where the user is more likely to see. As you can see, not all signals are on the top side due to circuit constraints,  but signals that do swap over are generally short jump, and straight lines, This makes it more obvious where the tracks go without having to flip the board. 

Bottom Copper
As noted above I used 7400 LVC series logic gates. The SOT23-5 package chips have the suffix of "BVD". See the datasheets for each of the devices for more information. I have written a simple bill of materials below:

  • 2x SN74LVC1G86DBVT - XOR gate
  • 2x SN74LVC1G08DBVT - AND gate
  • 1x SN74LVC1G32DBVT - OR gate
  • 5x DO-214 LED's
  • 5x 0805 220Ω resistors
  • 2x 5-pin 0.1" header pins

No comments:

Post a Comment