Hackaday TTLers

Where DIY DIP/SSI/MSI CPU makers meet and discuss other TLA (three letters acronyms)

Similar projects worth following
I can't keep track of all the awesome "discrete" CPU designs on my own project. There is a list of such projects but it is "curated". Why not make my own list and invite like-minded hackers ?
If you have a similar project here, drop me a message and I'll add you to the contributors.

For practical reasons (it's impossible to list everything on the 'net), the "project" is mostly about gathering people from HaD who built their CPU (or at least digital electronic devices). Here are some external links for those who just can't get enough:

Feel free to suggest or add links of the same kind :-)

PS: the project's logo comes from Wikipedia

PPS: let's not forget but curators are often quite picky and slow.

1. Dynamic RAM with single MOSFET per bit ?

DEC R-Series Logic Flip Flop.mp4

An animation of the operation of a DEC R-Series Logic Flip-Flop from a PDP-8 or early PDP-11

MPEG-4 Video - 2.04 MB - 07/04/2018 at 23:10


DEC R-Series Logic Inverter.mp4

An animation of the operation of a DEC R-Series Logic Inverter from a PDP-8 or early PDP-11

MPEG-4 Video - 692.53 kB - 07/04/2018 at 23:09


DEC R-Series Logic Inverter.txt

Import this circuit schematic description into this website (requires JavaScript):

plain - 1.19 kB - 07/04/2018 at 23:09


DEC R-Series Logic Flip Flop.txt

Import this circuit schematic description into this website (requires JavaScript):

plain - 3.73 kB - 07/04/2018 at 23:09


  • Why is ECL faster ?

    Yann Guidon / YGDES6 days ago 9 comments

    Lately I was looking for very fast diodes to design faster DTL/TTL discrete gates.

    • silicon epitaxial diodes can be quite fast but still have a limited frequency of rectification (particularly the cheap ones).
    • As noted by @K.C. Lee on #YGREC-ECL : "Carrier mobility isn't as good as electrons.  That's why NPN, N-MOSFET
      have better performance than their PNP, P-MOSFET counterparts.
      " so a complementary TTL gates, with a PNP input stage, would probably be speed-limited by the input transistors.

    @Al Williams just released an article on :

    The recovery time makes a difference in several designs including switching power supplies. If you dig into the physics, there is a usually a trade-off between several other parameters and recovery time. Just to give you an idea, the datasheet for a BAT42 Schottky diode says the reverse recovery time at 10mA is no more than 5 ns."

    I don't know the exact figures in practice in a logic gate but 5ns of recovery is not good. That's about the propagation time of a DCTL inverter in the CDC6600.

    Rectification speed was already a burning subject in the 40s because it was essential to the war effort (faster diodes means higher carrier frequencies, shorter wavelengths and better radar resolution)

    ECL prevents all these issues because

    1. there are only NPN transistors
    2. no diode (no recovery time)
    3. no saturation

    However there are more transistors... so maybe DCTL is an interesting alternative ?

  • Interactive Simulations of DEC R-Series Logic

    Blair Vidakovich07/04/2018 at 23:15 3 comments

    For those interested in visualising the operation of DEC R-Series Logic, I have created these two short animations which simulate the operation of an Inverter and a Complementing Flip-Flop:



    You can find the schematic files for these simulations saved here:

  • Direct Coupled Transistor Logic

    Blair Vidakovich06/22/2018 at 04:22 1 comment


    @Yann Guidon / YGDESasked me to do a write-up of the Direct Coupled Transistor Logic (DCTL) of the famous CDC 6600 computer. When it was released, and for some years, the CDC 6600 was one of the fastest and most powerful computers in the world. When we take a look at the logic family that it used, it will be obvious to see why:

    • It uses very few components, primarily transistors, with no diodes
    • The transistors which perform the logic are driven very hard, to the point where the quality of the transistor fabrication actually matters a great deal
    • The logic levels are dangerously close together (in the 6600’s case “0” = 0.2V, and “1” = 1.2V).
    • The cacading and interlinked circuits must be carefully “tuned” input and output impedances MUST agree precisely, or the logic will not function due to noise or otherwise.

    The Basic Unit: The Inverter

    There are primarily two main articles available online which deal with the electronic description of DCTL logic. The first is the following:

    J. E. Thornton, Design of a Computer: The Control Data 6600 (Scott, Foresman and Company, 1970), Illinois.


    James B. Angell, “Direct-Coupled Logic Circuitry” (1958) Proceedings of the Western Joint Computer Conference: Contrasts in Computers, 22-27.

    This is not a great deal. On Bitsavers, there is no folder for the engineering documents of the 6600, as opposed to the 1406, and 3600-series CDC logic, which I also aim to cover because it is a very interesting high-speed DTL.

    So bear in mind that the information I am presenting here is limited, and if you want to build your own DCTL circuits you are most likely going to have to design your own, because there are no complete design documents online for the 6600 which you would have been able to copy and modify.

    Anyway here is the basic building block of DCTL:

    The CDC 6600’s inverter:

    The 1950s DCTL inverter:

    By the time the 6600 was built, transistor fabrication had developed and improved markedly. In fact the first few pages of the chapter of the CDC-published book on the digital electronics of the 6600’s DCTL go on about how the new silicon transistors they used in ‘69/‘70 made the 6600 possible. So this explains why the 6600 uses NPNs, as opposed to the older implementation using PNPs.

    As you can see, you would be forgiven for mistaking DCTL with Resistor-Transistor Logic (RTL) if you had only an inverter to look at. I agree with the speculation on the (tiny) Wikipedia article on DCTL that it evolved from RTL.

    Obviously the thought process that lead to developing this logic family was “what if we had RTL but got rid of all the resistors?” The point of having resistors in RTL is to allow you to increase the voltage margins of the logic levels. It also allows you to better control the flow of current throughout the circuitry and match the impedances of the inputs and outputs.

    The first problem you have with DCTL is – how do you make sure you can switch transistors without driving them too far into saturation? The solution is to use transistors with special impedances and gain ratios.

    Take a look at the special transistor characteristics that the conference proceeding document outlines:

    This is obviously based on an old understanding of exactly how well-designed transistors are, but you can see we’re only switching very small amounts of current, and the V(BE) of the operation of the transistors when in saturation/conduction is far lower than your standard BC548/9 or 2N3904/6.

    I haven’t checked yet, but I believe transistors with these kinds of characteristics should be able to be obtained cheaply. The maximum switching time required in this specification from the 1950s is easily obtained with modern...

    Read more »

  • TTL inside

    SHAOS06/22/2018 at 02:49 5 comments

    Recently Steve Toner showed his sticker "TTL inside":

    So I decided to order my own version of that (in RED):

    After applying to the plastic box, which could be used for my future TTL computer, it looks like this:

    Thanks, Steve Toner! ;)

    P.S. For some reason they don't have proper capital letters for TTL in both cases, but anyway it looks awesome :)

    P.P.S. Interesting thing - another "whatever inside" vendor actually does have capital letters - see my personal G4 laptop for example ;)

    It's a different font, but still. Unfortunately they disappeared from eBay some time ago :(

  • ECL or CTL : what's the fastest topology for discrete gates ?

    Yann Guidon / YGDES06/14/2018 at 06:44 17 comments

    Private discussions and readings (books, online etc.) bring a very important question : what's the fastest gate for discrete circuits ?

    ECL is notoriously fast. @Dana Myersrecently played with it and reached about 0,5ns propagation time in inverters in a ring oscillator, on a breadboard and with a fistful of MPSH10.

    (note : the ideal current is about 4mA per gate and the oscillator reaches 307MHz on breadboard)

    On the other hand, Complementary Transistor Logic is a bit like DTL but the input diode is replaced by a PNP. This greatly increases the input impedance and helps with many things. Operating voltage and current might be significantly lower, it even reduces the transistors count by 2 compared to ECL. But if it's easy to get one sort of FAST transistors, the complementary type might not be easy, as cheap or as fast... I have only stocked one type of germanium (PNP, because Ge NPN is rare) and silicon (well, I have mostly NPN, some PNP but i have no idea how to find a PNP equivalent of BFS480...

    (as usual, the 2 diodes in series could be replaced by a red LED ?)

    The BC857 has a high gain so the input current can be very low and this reduces fanin/fanout issues. The speedup capacitor might need some tuning, maybe 1 or 2nF ? And the resistors could be reduced to increase current and speed.

    I've also read mentions of hysteresis of CTL gates, due maybe to capacitance, which can reduce the operating speed. A Schottky diode might be needed to remove bias buildup... or even add a resistor in parallel with the speedup capacitor ? Or what about simply avoiding the voltage shift by using more power rails ?

    Another parameter is : sometimes, using better and faster transistors simply lets the gate run faster. But it can come at a high price so topology is still critical...

    Now, the only way to compare is to try, right ?

    (repost courtesy of @Dana Myers )
    Just for the sake of discussion, Fairchild had their own TTL family back in the day when the 74-series was not an industry standard (or Fairchild had their "74F" series). They did TR, TD and TT : transistor-resistor logic, transistor-diode logic and here transistor-transistor logic. The datasheet shows no Baker clamp, but R5 might have helped...

    But 5 transistors for one NAND, that's similar to ECL density :-D

  • The Electronics of IBM Standard Modular System Logic

    Blair Vidakovich03/27/2018 at 06:07 8 comments


      Okay! We’ve had a look at the Diode-Transistor Logic of the DEC R-Series Logic, but that isn’t the only electronic logic system that was employed in building discrete discrete component computers. As I explained in the post on R-Series logic, back in 2013 it was some IBM computer which implemented an exotic electronic logic system which lead me to go down the “popular” DTL path. I will continue my investigation into different logic systems in this post with the IBM Standard Modular System (SMS) logic. IBM SMS logic doesn’t just implement specific systems of logic families, but also whole different logic families! The IBM SMS uses what is now known as Emitter-Coupled Logic (ECL), as well at Resistor-Transistor (RTL) logic and DTL. ECL is a very difficult logic family, and RTL is unpopular in hacker circles, so we will look at the IBM SMS DTL logic implementation first, and then just look at their ECL circuits. The Don Lancaster RTL Cookbook is sufficient really for people who wish to build discrete component RTL computers.

      IBM Standard Modular System Diode-Transistor Logic

      I have obtained the electronic description of the different IBM logic implementations from the IBM Transistor Component Circuits volume of the Customer Engineering Manual of Instruction. You can find this manual easily by searching the above words on the internet. There are also manuals describing the exact electronic schematics of the flip-chip cards used in IBM mainframes such as the 7070 and the 7090. They’re worth a look if you want some inspiration for solving a particular concrete problem.

      Logic Levels

      The SMS DTL system uses four different logic levels. They are divided into two fundamental kinds, “T” line levels and “U” line levels.

      The IBM SMS DTL Logic Levels

      As you can see, positive T levels swing from -0.7V to 6.0V, whereas negative T levels swing from 1.4V to -6.0V. Positive U levels go from 0V to -7.4V, and negative U levels move from -5.3V to -12V. There are schematics in the Transistor Component Circuits manual for how to convert T and U lines to each other. They’re not worth mentioning here because we don’t need to get into that much detail.

      The Fundamental Gates

      Below you can find the schematic for the fundamental positive-logic NAND gate, or negative-logic NOR gate. IBM doesn’t use the standard terminology for these gates, probably because the manuals for this system were written in the late-50s early-60s, before the terminology settled to what we know today. You’ll also notice that the symbols for transistors here are also non-standard by contemporary wisdom. The same reason should apply here. We won’t concern ourselves here with the physical electronic characteristics of the transistors and the diodes. I’ll put some work into that later.

      The IBM SMS DTL Basic Gates

      There are three gates specified here. As you can see:

      1. It is possible to interface the output of a DTL gate into ECL gates.
      2. The first gate (at the top) takes a +U logic level and outputs a -T logic level.
      3. The second gate (Gate “A”) takes a +U input and outputs a +T logic level.
      4. The third gate (Gate “B”) is similar to the first one: it recieves a +U level, and outputs a -T level, as well as being able to interface with ECL gates.

      It is possible to take T-line inputs and output U-line logic:

      The IBM SMS DTL U-line Output

      These gates can drive ECL gates as well! Note well that the T-line inputs for the above gates are NEGATIVE T line levels (-T levels).

      There are other inverters specified in this manual, such as “Power Inverters”, which drive bigger loads and have bigger gate fan-outs. You can peruse the manual to look at those at your leisure.

      There are also emitter-follower gates, which amplify the current of signals. There are also circuits for driving indicators connected to T and U line signals.

      Basic Flip-Flops

      Below you can find the schematic for a basic IBM SMS flip-flop:

      IBM SMS Flip-Flop

      This complex flip-flop...

    Read more »

  • Bizarre DTL Logic Levels - The Discrete Component PDP-8

    Blair Vidakovich03/26/2018 at 05:04 5 comments


    Hello! This is Blair Vidakovich. I was recently given entry into the hackaday TTLers group! I have tried many times, unsuccessfully, to create a discrete component computer. My basic logic element was a NAND gate, and I was using a popular form of DTL logic unit. I was copying the same electronic schematic as the Tiny Tim DTL computer. You can find the research and build log for this abandoned project here: ( Anyway this was my basic logic element, the NAND on the far right.

    I got stuck trying to build a ring counter, which I suppose I would use for control signals. I now see that a ring counter was not necessary, because many TTLers have gotten away with functioning discrete component computers without ring counters. In fact many people have successfully built four-phase clocks, so I now don't really need to worry at all, because the problem has been solved for me! 

    The reason why I got stuck was because I was attempting to build a DTL edge-triggered D flip-flop, and no matter how I tried, I could not build one that contained SET and RESET terminals. I could build one with just a clock and an INPUT terminal, but I could not go any further:

    Enter the Discrete-Component PDP-8

    I started researching and building a discrete component CPU/computer when I was diagnosed with schizophrenia in July 2013. The level of detail and concentration you have to come to master prevented me from getting any more delusional. I gave up the project when I started my PhD in 2015. I made another attempt to make a four-phase clock in 2016, but I failed again.

    Then when I returned to this project a month ago (Feb 2018), I remembered I came across some schematics for an old discrete-component IBM computer back in 2013, but balked at the idea of using their basic logic element because it used so many bizarre voltages. "It used negative voltages!" I thought. There was no way I was going to be able to manage a project with such whacky logic levels, like negative voltages for positive logic signals. I went down the TTL logic route for five years.

    This time, in 2018, I was determined to get further. I knew discrete component computers were built in the 50s and 60s, and I knew they were able to generate clock signals and have multi-phase clocks. All I had to do was find their schematics.

    So I did. I found a wealth of resources on the DEC PDP-8. It is a wonderful computer architecture. It has a single accumulator you use with something like 6502 zero-page memory addressing in order to perform calculations. It is very RISC-like with a tiny number of opcodes, and it only contains something like 500-odd gates. So in February I thought it would be a wonderful computer to clone.

    ...if only I had enough money.

    When I found out I could join this TTLers group, I decided I wanted to share my research on the strange DTL architecture of the PDP-8 in the hope it would help somebody.

    The Standard Logic Pulse of the PDP-8

    Before I start describing the electrical and logical system of the PDP-8, I want to explain how I came to obtain all this information. I retrieved it from Virtually the entire library of information required in order to repair, construct or just simply understand the PDP-8, as well as other DEC minicomputers, is all online at that website.

    All of the information I have explained here comes from the DEC 1967 Digital Logic Handbook. It is the last digital logic handbook that uses R-series logic. From 1968 onwards, DEC uses M-series logic, which is basically just normal TTL.

    Anyway here is the standard logic pulse of the PDP-8.

    The PDP-8 uses DEC's proprietary R-series logic. As the following diagrams explain, R-series logic takes a -3V signal to be a digital ONE,...

    Read more »

  • Dynamic RAM with single MOSFET per bit ?

    Yann Guidon / YGDES08/20/2016 at 22:54 28 comments

    RAM is one big problem for "discrete projects". It must be fast, large and cost-effective. There are many types of discrete RAM but none that is based on discrete MOSFET (yet).

    Integrated DRAM uses MOSFETs but they differ from the discrete form because of the intrinsic diode with the substrate : it takes two discrete MOSFET to make one normal MOSFET. This would not be cost-effective to use discrete MOSFET to implement classic DRAM circuits.

    I found inspiration with the diode-capacitor cell described for the TIM computers :

    Diode-capacitor dynamic memory

    I can't figure out what capacitance was used in the relay-based TIM8. However, with a MOSET-based circuit, the capacitance can be greatly reduced (to 100nF for example) because the required trigger energy is considerably lower. I even have a reel of dual Schottky diodes in SOT23. But I'm not sure about the leakage...

    Now, a good MOSFET has a pretty low leakage. I have played around (on paper) and have come up with a topology that replaces the diode with a MOSFET. The gate capacitance is not used but the parasitic diode is !

    Each access cycle takes 2 steps:

    • Read and empty the storage capacitor: drive RD high => This pushes the capacitor's lower electrode high, which is then read on the Data line. Probably a threshold current is required to read a "1".
    • Write the value: drive the desired level on the Data line, drive RD to 0V and WR to 1 (let the current flow to RD so the lower electrode is 0V).

    It's funny that the read phase works a bit like a charge pump...

    Data, RD and WR are totem-pole (complementary) drivers. I will have to try different circuits for the sense. The line and column select (demultiplexers) will need a lot of transistors too... But at least it's more compact than the only other MOSFET RAM that I know :-)

    Now I wonder what should be the refresh frequency...

    Any comment/remark/historical perspective ?

View all 8 project logs

Enjoy this project?



Julian wrote 07/11/2018 at 06:15 point

Just thought I should leave this here: can't say I've ever seen these before...

... 74181s *in a narrow DIP package* :)

  Are you sure? yes | no

Dave's Dev Lab wrote 07/11/2018 at 17:00 point

funny you should post that, as i picked up two of these at a surplus shop last week. it was the first time i had seen the 181 in that package!

  Are you sure? yes | no

Olivier Bailleux wrote 02/11/2018 at 08:39 point

Do you know the ?

  Are you sure? yes | no

Yann Guidon / YGDES wrote 02/13/2018 at 05:40 point

who doesn't ? :-)

  Are you sure? yes | no

Dylan Brophy wrote 02/13/2018 at 06:15 point

true :-D

  Are you sure? yes | no

Yann Guidon / YGDES wrote 02/13/2018 at 16:10 point

Actually, it is listed, but with the old address. I'm updating the details page now.

  Are you sure? yes | no

Frank Buss wrote 11/06/2017 at 00:01 point

I designed a simple CPU some years ago, optimized for running Forth:
The prototype worked in a FPGA.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 11/06/2017 at 00:14 point

you cheated then ;-) what keeps you from building it out of discrete transistors like the #AYTABTU - Discrete Computer  or #ED-64: A discrete 8-bit computer ? :-P

  Are you sure? yes | no

Frank Buss wrote 11/06/2017 at 00:43 point

I guess I could do this, but this would be another week long project, and I have already so many unfinished projects :-)

  Are you sure? yes | no

tomtibbetts wrote 11/05/2017 at 21:54 point

Hi, maybe this is not the correct forum.  But I have an issue with ringing on clock pulses.  I am building a SAP 1 computer on PCBs ( and the clock circuit is producing clock pulses that sometimes have a bit of ringing on both the rising and trailing edges of the pulse.  it doesn't happen all the time but there does seem to be a pattern to it.  One of the clocks is used for the sequencer and the other is for clocking all the registers.  Because of the ringing, the counters sometimes get double clocked and will skip a count.  What would be causing this?  Any help is appreciated.  Thanks

  Are you sure? yes | no

Yann Guidon / YGDES wrote 11/05/2017 at 22:55 point

It would be a good idea to detail everything in a log (or more) on the project's page, because so far, the only answer I can give is to try to add a series resistance, add a 100ohms adjustable in series and check the bounces with a scope to see which impedance matches your tracks ?
Also : make sure you have a balanced and clean clock tree to prevent crazy matching problems.

  Are you sure? yes | no

Marcel van Kervinck wrote 11/06/2017 at 12:15 point

I found this document helpful, specifically figure 17.

For my computers I found there is some more ringing with FETs (74HCT) than with bipolars (74LS). But it never caused misbehaviour and I see no clipping, so I'm still with architecture (a) on my boards. I was prepared to add series resistors (option c) as a possible counter measure.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 09/23/2017 at 13:53 point

@256byteram , @Peter Bosch , @Tony Robinson  and @John Croudy  are still invited to the project :-)

  Are you sure? yes | no

Yann Guidon / YGDES wrote 09/23/2017 at 02:38 point

Oh I missed that one :-D

  Are you sure? yes | no

Bill Rowe wrote 07/11/2017 at 20:23 point

Hi: Is there such a thing as a practical logic minimizer?  Something where you would feed in a truth table with N inputs and M outputs and get out a configuration of 7400/4000 chips that would implement it?

  Are you sure? yes | no

BigEd wrote 07/11/2017 at 20:28 point

Maybe Project Icestorm would do it? I know that with Xilinx' tools it's possible to get a logic netlist - not 7400, but logic gates. See

  Are you sure? yes | no

jaromir.sukuba wrote 07/12/2017 at 08:24 point

Take a look at Logic Friday -

You enter logic table, software spits out schematics made of logic gates of your choice. I used that thing when designing my #Fourbit

  Are you sure? yes | no

Dr. Cockroach wrote 07/12/2017 at 08:51 point

Thanks Jaromir for the link to Logic Friday, looks like a tool I can use for my project :-)

  Are you sure? yes | no

Bill Rowe wrote 07/12/2017 at 10:51 point

Excellent - thanks.  I'll have a look.

  Are you sure? yes | no

agp.cooper wrote 09/23/2017 at 06:48 point

I use Logic Friday. It is a GUI for Expresso. It has a 16 input/output limit so beyond that you need to go directly to Expresso (I use a bat/cmd file). It optimises for generic gates packages or die-area.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 01/11/2017 at 21:00 point

The list is growing. It feels good to be surrounded by so many ace designers !

  Are you sure? yes | no

Yann Guidon / YGDES wrote 03/25/2016 at 23:06 point

Wow we are already 11 TTLers ! 3 have not yet accepted the invitation though.

  Are you sure? yes | no

Dr. Cockroach wrote 12/22/2016 at 22:28 point

Thank you for the invite, I'm in :-)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates