A slice of ALU

A project log for SPDT16: 16-bits arithmetic unit with relays

Let's imagine I could get about 200 SPDT relays. Of course I would know what to do with them :-D But will 200 be enough ?

Yann Guidon / YGDESYann Guidon / YGDES 05/01/2016 at 19:010 Comments

Finally, a little overview of a "slice" of 4 bits.

This is convenient because 4 bits is the width of a TL311 input bus, it's the width of the hexadecimal rotary switch and ... a slice could be replicated "while supplies (of relays) last".

The overall system looks like this :

It performs add, subtract (thanks to the input inversion), stores a result in the accumulator, or clear it.

Not shown are the general control logic. TBDL (to be designed later, we can use buttons until it's properly figured out)

This will be changed a bit for multiplication and division but let's get +/- right first :-)

Translated into relays and a rough layout, we get something like this:

(I know, the drawing is a bit compressed at the top)

The lower part is the input with the hex switch and the TIL311 to display the number.

The 4 bits are lit and fed to a XOR (one relay, with a diode bridge at the input).

The nibble is fed to the adder, which is a chain of full adders (as covered in the rationale).

The other input comes from the DFF, (also covered in the rationale).

Load/spikes can be reduced if some relays are added to amplify the control signals

Things will get a bit more complex with the multiplies but no significant change is expected.

I should build an add/sub nibble (2 TIL311 and 24 relays) and then consider the multiplies, when all the easy details are polished... I'll also have a better estimate of the overall supply current.