So now that I have the basic design worked out I now know that on each ALU board I will need to have 32 relays. I will also need to have an A input, a B input, a Carry in input, a Binvert input and a 2 bit input for the operation ( to select the 3Mux). Also I’ll need an output for the Result and the Carry Out. The board will also need power and will also have LEDs on the front to indicate the values of all the inputs and outputs.
Laying out where the Relays are going to go on the board is really hard since I’m doing it by hand. I know there’s probably some software tool to help me but I don’t have the energy to find and learn one. I’ve decided to go by hand instead and I’ve made up some sheets with 30 squares on them to help me out. Yes I know I need 32 relays but I ran out of space on the page.. 30 is good enough to get a good draft..
In laying out the relays I’m trying to minimize the signal path between the outputs of one relay/gate and inputs into the next gate/relay. I’m also trying to keep the board wiring at a minimum. Lastly I’m trying to keep the relays grouped into their functional gates (for cleanliness and organization).
I’ve spent about 2 hours so far on this and I’m not anywhere near where I want to be. For instance, here is a draft of the Adder Layout (10 relays) :
It’s not the best scan but as you can see the A and B inputs are at the top along with the C/I input and Sum out. C/O is in the middle. If you look back at the logic diagram for the Adder, you’ll see that we start by putting A and B into an XOR to be the first input into the second stage XOR for the Sum and also the input into one of the AND gates (to determine the carry out). I have this first XOR right at the top left and it feeds into the second one to it’s right (note that the XOR gates take 2 relays/boxes each). The output also goes into the AND gate directly below it.
The A and B inputs also feed into their own AND gate which is on the left side of the drawing. This is where we’ll need to do some wiring to stretch the A/B inputs over to the AND along the side. That AND and the other AND both feed into an OR. Note that that’s at the bottom of the drawing.
So this design packs the relays into a fairly organized square (plus one outlier on the top right) and has most of the inputs and outputs all lined up.
Now we have to fit this into the overall ALU board design.