After developing relay based logic gates and designing 1 bit full adder made from relays, the challenge was to link a few of these together to create a relay based binary adder. The overall objective was to create a relay based adder that could handle calculations of at least a moderately interesting size. A 4 bit adder seemed like a good place to start, since 4 bits is enough to express numbers higher than what I can count on one hand.
Because my full adder design can take 3 inputs (A,B and a carry) and produces a sum and carry bit, all that needs to be done is to connect them together end-on-end:
I have abstracted my adder designs into little boxes here in this schematic, but each box is just a placeholder for the adder designs I showed in the previous post.
This kind of adder is called a ripple carry adder as each 1 bit calculation ripples down the line rolling into each adder below it. For my little 4-bit adder this works perfectly speedily, but if you wanted to build something more sophisticated this mode of calculation would be painfully slow, especially with mechanical switches like relays.
You may have astutely noticed that the first adder in the series is only a half adder. This is because I don’t need to handle a carry bit on the first addition since there isn’t anything before it.
In the example schematic I am adding 2 (Input A) to 3 (Input B). The sum is of course 5. This is the same inputs I used in my excel adder in the previous post, just so you can see how the addition works. While the final carry is unused in this example, having a carry on the final bit brings the total output display up to 5 bits, therefore it is possible to add any two numbers with a product of less than 31. Definitely not an amazing adding machine, but it does help me to understand how applying and not applying current can model binary math in a circuit.
Check out the working relay 4-bit ripple carry adder I breadboarded in this high octane video (I apologize for my video editing skills):
Since designing my 4-bit adder, I have done a little reading and discovered a full-adder circuit that uses 2 relays rather than 6. If the java applet will load, you can view the example on with this University of Hamburg app.