When and Why to use termination resistors?? Please!

Discussion in 'Digital Circuit Design' started by PauloConstantino, Sep 14, 2016.

  1. PauloConstantino

    Thread Starter Member

    Jun 23, 2016
    Dear friends,

    I am building a CPU from scratch. I have already designed everything on paper except the schematics.

    My question concerns so called termination resistors. I have researched on other peoples homemade CPU's and I have heard about using termination resistors for CPU's running at 4MHz or so.

    I thought these only needed to be used for much higher speed circuits. As far as I know, termination resistors are needed to damp the main signal lines so that they do not behave like little antennas when the circuit is at high frequencies. I have also heard that the actual frequency is not the matter, but that the matter is the speed at which the actual signal changes from high to low and vice versa.

    Can anyone PLEASE let me know when does one need termination resistors? I am planning to run my CPU at the same speed of 4MHz.

    Your help is much appreciated.



    Moderators note: Please leave the original question.
    Removing it will make the thread render useless.
    Last edited by a moderator: Sep 17, 2016
  2. Papabravo


    Feb 24, 2006
    You use termination resistors to match the characteristic impedance of a transmission line. There are two primary reasons for doing this:
    1. Eliminate reflections from an impedance discontinuity.
    2. To prevent the transmission line from acquiring and holding a residual charge
    Depending on the dimensions of you CPU board I think you are unlikely to have problems with single ended signals and trace lengths in the 0-18 inch range for signals in the 4 MHz. range. This all supposes that you don't have any chips the produce extremely fast edges. These chips would be from the S, AS, AC, and ACT families. If you have any differential receivers, the preceding advice does not apply. there may also be special considerations that can only be dealt with by reviewing the full schematic.
    Last edited: Sep 14, 2016
  3. nsaspook

    AAC Fanatic!

    Aug 27, 2009
    When you say scratch do you mean using a logic family like TTL or discrete transistor based. My general design rule for S-100 size vector boards with TTL was to use terminations for board to board buss/interface signals above a few MHz with digital logic. It's all depends on the construction method you use.

    There should be some TI termination details in the links from this post.
  4. PauloConstantino

    Thread Starter Member

    Jun 23, 2016
    I mean CMOS 74HC IC's. Not TTL. I am confused because I don't know what they mean. Is it the clock frequency that is a problem or is it the rise/fall time that causes problems?
  5. KeepItSimpleStupid

    Distinguished Member

    Mar 4, 2014
    The general need for termination i think came about from slightly different reasons. TTL was the chip at the time and you had to bring the bus to a high state, but not too high because it can impact rise time. You could use, pull-ups as a first cut, a voltage divider for the second cut and an active terminator for the third version. So, your address and data buses were terminated. In one CPU system the "Terminator" was a card and the last card on the bus.

    In that same system, the interrupt request line snaked through all of the cards. If a card was not inserted into that position, a "Bus grant" card had to be in it's place. This allowed priority by position on the bus as well as CPU priorities.

    The more modern buses were the S-100, ISA, PCI and min-PCI busses. Modern CPU's have a bus for memory and internal buses as well as external buses and even slow speed busses like I2C.

    So, it may or may not be "transmission line" type of terminators, but it could be. RS485 has a terminator at the beginning and the end of the bus.
  6. KeepItSimpleStupid

    Distinguished Member

    Mar 4, 2014
  7. nsaspook

    AAC Fanatic!

    Aug 27, 2009
    Look at this app note then: https://www.fairchildsemi.com/application-notes/AN/AN-393.pdf

    It's all about timing with synchronous logic. As the clock increases the thresholds for setup, clock edge hold times , etc ... get smaller and smaller. Signal reflections and stored energy requirements for clean signal switching increase to the point where logic levels shift and are unreliable unless accounted for. For a single board CPU @4MHz it's unlikely you will have any logic to logic chip problems onboard if there is a proper ground-plane and power decoupling layout.
  8. crutschow


    Mar 14, 2008
    In digital systems it's the rise and fall times that are the critical concern.
    This Analog Devices paper states: "Terminate the transmission line in its characteristic impedance when the one-way propagation delay of the PCB track is equal to or greater than one-half the applied signal rise/fall time (whichever edge is faster)."

    The only reason that the clock frequency is mentioned is that typically a lower clock frequency means the logic being used has a slower rise/fall time.
    But if high speed logic is used at a low frequency then the rise/fall times is still the critical parameter.
  9. OBW0549

    Well-Known Member

    Mar 2, 2015
    On a low-speed system composed entirely of 74HC and/or 74HCT chips (no 74AC, 74ACT, 74S or 74AS), I doubt you'll have much need for termination resistors except on very long lines. For traces longer than a foot or so, we used to use source termination (a.k.a. series termination), with a resistor (usually 22Ω-33Ω) in series with the line located right at the driver. Sometimes we'd use a device with a Schmitt trigger input, such as a 74HC14, at the receiving end to "clean up" the signal.

    Keep in mind that it's mainly clocking signals (signals that drive the clock inputs of flipflops, counters and registers) that need terminating, to avoid such evils as double-clocking; for other signals, termination isn't usually needed at low speeds like 4 MHz.
  10. ian field

    AAC Fanatic!

    Oct 27, 2012
    If a copper track starts to look like a transmission line - it will also acquire a characteristic impedance. And impedance mismatch on the end will produce reflections.

    Termination resistors were pretty much compulsory on busses like SCSI - onboard busses between a CPU and various peripheral chips are more likely to have series damper resistors to prevent ringing - about 22 -33R is typical.

    If you still have problems - you may have to consider "data race" conditions. If a bunch of tracks turn a corner, the outside tracks will be a tiny bit longer - in a very fast system, the finite time it takes a pulse to travel could cause a rising edge to arrive late because of a longer track path. Sometimes on commercial boards; you find a few tracks that are a sort of square zig-zag - this delays some pulses while others catch up.