Are there any length limits to series termination ? If I have a trace that's 12 in or a trace that is 100 in, can the same series termination resistor be used (assuming that Zo = 50 ohm) ?
You may have to change the series terminator when trace length changes. A lot of the time, series terminators are just really damping resistors, and don't really match impedance. The driver impedance is extremely low, and the load impedance is extremely high (and slightly capacitive) and the trace is short enough that its impedance is mostly irrelevant. Think about it, if the source impedance is 50 Ohms, and the transmission line is 50 Ohms, the output voltage will initially be divided in half while the signal is in flight to the load.
The actual purpose of the series terminator is often just to damp out the overshoot, or slow the edges to help with EMC. This requires tuning (or simulation with accurate models), and line length can effect it, causing you to change the value of the series terminator.
When you get to long transmission lines, termination becomes pretty important. In theory, if your long transmission line is terminated at the load, you don't need driver series termination. There may be a mismatch between driver and transmission line, but it doesn't matter, because there will be no reflection, and no damping needed. In other words, you have a low impedance source driving a 50 Ohm (or whatever load). This presents no problem and allows the voltage to slew immediately to VCC. However, if there is any chance that the load is mismatched, then the best situation is to have the source impedance be the same as the transmission line. This way, any reflections coming back from the load will encounter a matched termination at the source and will not reflect again. But, as noted before, this situation cuts the drive voltage in half.
I would like to make clear that I recommend to always put series termination in any high-speed signal if you have room to place the resistor, especially clocks. You may need to tune the resistor to pass radiated emissions.
One other thing. If the chip has variable drive strength settings, start with 0 Ohm series termination and use the weakest drive setting that will meet setup and hold times. Usually reducing drive strength gets you more radiation reduction with less degradation of signal integrity than adding series resistance.
I believe this is all theoretically sound, and it is also based on my practical experience.
What are you making :). Yes the same series terminator can be used. You want to match the output impedance of the driver to the impedance of the line. As an example I have a total source impedance of 75 ohm driving a 75 ohm 1500 ft cable that is then end terminated at 75 ohms.
Now loss over 100 inches will different of course but it's not a function of the source terminator.
-----Edit to add simulation results
Let me try to add more color here, I assumed from your question that you are already considering 12” or 100” to be a transmission line for your application.
For slow speed signals or short lines we usually treat them as just a lumped element RLC. The rise time vs the line length is too short to really be talking about reflections and terminating transmission lines. To determine if you should be dealing with your connection as just a lumped system, vs a distributed (transmission line) system. I use the following formula:
L = Rise Time(ps) / Delay(ps) in
Anything trace longer than l/6 I consider as a transmission line. I’m not really interested in what you choose to do with your series terminator in the lumped case :), but let’s talk about the transmission line case and 12” vs 100”.
I grabbed a 1.8V LVCMOS IBIS model from a well known FPGA vendor, it has about a 21.25Ohm output resistance, and it gave me about a 1.1ns rise time on a nice short 3" 50 Ohm transmission line. The transmission line used in this model includes loss so you will see the effect when going from 12" to 100". A perfectly matched impedance would be a series terminator of 28.75Ohms. I'm showing the resulting waveform at the receiver, using the same model as an input. Sorry the pics are small but I think you can click and enlarge.
Zs = 28.75 Tr = 1.15ns Len = 12inches
Here you can see we are well matched there's a little bit of a bump but over all pretty clean.
Zs = 100 Tr = 6ns Len = 12inches
Here I've increased the series terminator to 100 Ohms like someone might do for EMI to slow down the edge rate. My rise time slumped to 6ns, now if I can take that maybe I can use the resistor to lower the possibility of EMI problems. Personally I prefer to keep my traces close to my planes and route carefully to avoid EMI :)
Zs = 10 Tr = 0.9ns Len = 12inches
Ok let's go the other way with 10 ohm series termination. Look at that, rise time increased a bit and there's clear overshoot, followed by a dip :) Now if I was really careful and this bump and dip were inside my bit time maybe I could use this to squeeze out some extra margin. If I'm running faster though that dip is going to affect the next bit in my stream and I really don't want to deal with that. Why make problems for myself.
Note the scale change to capture the overshoot.
Z=28.8 Tr = 3.11ns L = 100 inches
Ok let's go big at 100 inches, you'll see loss is starting to roll off our signal at this distance and our rise time has gone up to 3.11ns. Still looks pretty clean to me.
Z=100 Tr = 40ns Len = 100 inches
Let's try that 100 Ohm EMI trick at 100 inches, woah rise time goes way out to 40ns! I really like this plot though, it's pretty cool. This is a microstrip so flight time should be about 150ps/inch. At 100 inches that's a round trip time of 30ns. The second bump up you see between 40ns and 60ns, is just about 30ns from when the first wave hit the receiver so that must be the reflection coming back from the 100 Ohm source terminator. Pretty cool if you ask me.
Now think about if you were trying to change bits quickly on a setup like this, you'd have low amplitudes and then much later on a reflection would come along and interfere with your bit...
Zo = 10Ohms Tr = 1.5ns Len = 12 inches
Pretty cool lowering the impedance gave me a faster rise time, but I pay for it with overshoot just like last time. Keep in mind that in this case too the opposite reflection is coming for your other bits if you are running fast enough.
Hope that helps clear some things up from this I think you can see what happens and make your own decisions. Btw if you can swing it getting a hold of hyperlynx or something similar can really let you explore these kinds of questions.