To: gnuman who wrote (72304 ) 5/8/2001 9:52:54 PM From: Bilow Read Replies (2) | Respond to of 93625 Hi Gene Parrott; Re the voltage steps... Suppose that the bus is quiescent, and Driver "A" turns on. It drives a signal of step size 0.4V onto the bus. That voltage step propagates away from "A" in both directions (toward the controller and toward the termination resistor). Eventually, the signal that propagates toward the termination resistor reaches the resistor and becomes a DC current path, at a voltage of 0.4V. Similarly, the signal that propagates toward the controller reflects at the controller and reverses, giving a voltage of 0.8V (and stopping the current flow through the part of the bus between the controller and the wave front). Eventually, the reflected wave reaches "A", and cuts off the current flow that was going from "A" towards the controller. This doubles the voltage at "A", and all the current then flows towards the termination resistor. (In other words, the reflection wave front passes through "A" and heads toward the termination resistor.) When the reflected wave reaches the termination resistor, it is absorbed by the termination resistor, leaving the bus in a DC current state, with no wave fronts, ata voltage of 0.8V (below where it started). I think we agree on the above. The next part is tricky. The above describes a case where an RDRAM chip "A" drives a "1" to the controller. Eventually that RDRAM chip is done transmitting information and its output will turn off, and another RDRAM chip "B" will turn on. Here's where it gets complicated. If "B" is closer to the controller than "A", then if "B" is going to drive a "1" to the controller, it will have to turn itself on just as the falling edge of the wave front from "A" turning itself off reaches "B". In other words, "B" will take over from "A" the job of maintaining the "1" to the controller. Before you go on reading, make some waveform diagrams and make sure you understand what is going on here. Now comes the tricky part. If "B" is farther from the controller than "A", then "B" will have to turn itself on before "A" turns itself off. Otherwise, "B"'s '1' output signal will reach the controller after "A"'s '1' has decayed away and there will be a gap. This means that "B" must output a '1' onto the bus while the bus is already driven to a '1'. The bus is already driven to 0.8V, and so "B" must drive it to 1.2V. Basically, Rambus takes one extra factor of output compliance when they singly terminate the bus instead of doubly terminating it. (A doubly terminated bus wouldn't have the first reflection, the one that steps the bus from 0.4V to 0.8V.) But Rambus took the attitude that as long as they already lost their virginity on that issue, they might as well use an extra factor of output compliance and allow different chips to take over from each other without a settling time. I'm not saying that the Rambus solution doesn't "work", just that it is hell to debug. That their solution was a bit difficult is made clear by the absence of RSL designs with 3 or 4 RIMMs in a channel. Intel scrapped motherboards over this issue. That's about as complete a description of the issue of output compliance as I am willing to type in. -- Carl P.S. See yall tomorrow. (Virginia accent reference.)