A project recently spotted in the hackaday.io pages, by cpu enthusiast Tim Boscke.
A "new-old" logic family based on LEDs and transistors, and a complete bitslice cpu implementation based on these discrete logic gates.
Background. In the mid-1960s before ICs were widely incorporated into cpus, computers were built using discrete transistor logic.
One popular logic family was Diode Transistor Logic or DTL. Here, input diodes were used to provide a logical AND or OR function follwed by a single transistor to provide inversion and current amplification to allow for increased drive and fan-out.
An earlier generation of logic, Resistor-Transistor Logic or RTL had suffered from poor noise immunity, because the difference between a logic 0 and a logic 1 was only about 600mV, dictated mainly by the Vbe threshold of the transistor.
This problem was overcome in DTL, by placing a pair of forward diodes in series with the base of the transistor. This meant that the input signal had to be larger than the combined forward drop of these diodes and the transistor Vbe threshold in order to be recognised as a logic 1, and cause the transistor to switch. In simple terms, it is just like raising the height of the hurdle, so that only the fittest atheletes will leap it successfully.
ExperimentationSo [Tim Boscke], who has a fascination for all things hardware, but in particular LEDs, quickly realised that the pair of base diodes could be replaced by a single LED which had the correct voltage characteristic. Not only this but the LED would iluminate to show the input status of the gate.
Tim set about characterising the performance of the basic inverter gate, in terms of switching levels and propagation delay. Following many tests he determined the optimum choice of switching transistor, resistor values and LED. A green LED would give better noise immunity, whilst a red LED would give faster switching speed.
Quickly he realised that the gate was practical as a logic component and so set about designing some basic gates and registers.
The LED CPUAnother interest of Tim's was in creating minimal cpus. Whilst at University in 2001, he had created a viable 8-bit cpu using the smallest available CPLD - with just 32 macrocells and 64bytes of RAM.
This cpu would be an ideal candidate to recreate using his new family of LED-Transistor Logic.
Not only did Tim recreate his minimal cpu using the LED transistor logic, but designed it as a flexible bitslice with a more capable ALU (inspired by Dieter Muller's MT-15 unit) so that the system could be extended upwards from the 8-bit architecture at a later date.
His project is nicely written up with lots of photos and videos of the Blinkenlights here:
https://hackaday.io/project/169948/logs?sort=oldestAnd for more information on the minimum cpu (MCPU) - you can find that here:
https://github.com/cpldcpu/MCPU