[SI-LIST] Re: timing analysis
- From: "Lee Ritchey" <leeritchey@xxxxxxxxxxxxx>
- To: "Bradley Henson" <Bradley_Henson-NR@xxxxxxxxxxxx>, "Peterson, James F (EHCOE)" <james.f.peterson@xxxxxxxxxxxxx>
- Date: Wed, 25 Mar 2009 09:06:10 -0700
Brad,
You describe the way we did SI on the Amdahl computers in 1974. Tedious,
but necessary.
Lee
> [Original Message]
> From: Bradley Henson <Bradley_Henson-NR@xxxxxxxxxxxx>
> To: Peterson, James F (EHCOE) <james.f.peterson@xxxxxxxxxxxxx>
> Cc: <si-list@xxxxxxxxxxxxx>; <si-list-bounce@xxxxxxxxxxxxx>
> Date: 3/23/2009 9:11:34 AM
> Subject: [SI-LIST] Re: timing analysis
>
> Excellent posts.
> I grew up in digital processing in the early 80's learning Signal
> Integrity before it had a name. We read John De Falco on XTALK, used
> Teledeltos conductive telegraphers paper to model crosstalk (!), and ran
> batch SPICE with punch cards!!! I even made crude IBIS models of IC
output
> stages after curve-tracing I/Os and scoping dV/dT! These early
experiences
> were usually based on hardware problems: I was part of a fix-it team. We
> learned as a group to *add* more margin. In other words, what came out of
> these investigations was to design to a higher Fmax (or shorter clock
> period) to allow for uncertainties and tolerance build up at various
> levels of test (vendor's component test, SPICE accuracy, module test,
unit
> test, System test etc.).
>
> By the late-80's I had earned the reputation to lead my own design effort
> and be responsible for large processor design project approach, margins
> and so forth. I fought the exact same battles described in this email
> trail: RMS/RSS, too conservative, tweak the analysis, semiconductors are
> never worst case etc. As Jim articulated, you can sharpen the pencil, but
> there are limits. I never went past the limits I thought I could defend
if
> things went wrong. When the customer or situation dictated a "compromise"
> greater than I felt was prudent, it was well documented, and. like Jim, I
> used a Team approach, making sure all members, including the customer,
> understood all aspects and bought into the proposed compromise.
>
> It's been over 20 years and many new programs since my first big
> processor, and almost without exception, those that overruled me were
> sorry at some point down the line. Many times problems took years to show
> up: a part change, a software activity change, and so forth. Now, many
> processors later, most of those that used to push back and call me too
> conservative seek me out for their projects: My designs are proven to be
> robust over time and variables. Follow the sage advice in this thread,
> stick by solid, documented defensible good practice and get informed team
> buy-in at all levels.
>
> These are the fun battles you'll remember throughout your career. Relish
> it.
>
> Brad
>
>
>
>
> "Peterson, James F (EHCOE)" <james.f.peterson@xxxxxxxxxxxxx>
> Sent by: si-list-bounce@xxxxxxxxxxxxx
> 03/23/2009 08:37 AM
>
> To
> <si-list@xxxxxxxxxxxxx>
> cc
>
> Subject
> [SI-LIST] Re: timing analysis
>
>
>
>
>
>
> I always enjoy the timing analysis dialog on the SI-List.
>
> I'll add a couple points to this well-answered thread :
>
> 1) this is already been stated, but there is a line you can't cross in
> timing analysis... you can squeeze your margin, push the limits, and get
> less conservative, but when you're finished, you should have a
> defendable position.
>
> 2) I agree that the 60xbus can be a challenge. Especially Freescale's
> 60xbus. Their processor io that drive this bus have rise times of 250ps
> (it's crazy to allow a 250ps rise time on a 3.3v driver in a design with
> a tco of 5.5ns!!!). At 100MHz, that 250ps rise time makes it very very
> difficult to have anything but a point-to-point topology.
>
> Regards,
> Jim Peterson
>
> -----Original Message-----
> From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx]
> On Behalf Of Gregory R Edlund
> Sent: Monday, March 23, 2009 10:10 AM
> To: Morton.Harwood@xxxxxx; si-list@xxxxxxxxxxxxx
> Subject: [SI-LIST] timing analysis
>
> Mort,
> Great posting! Well articulated. I've been thinking about it all
> weekend. Over the years, I've had the chance to be involved in many
> similar discussions at Cray Research, DEC, and Supercomputer Systems.
> They
> go straight to the heart of what we do as engineers.
>
> I did timing for the 60x bus a few years ago. Our philosophy was very
> similar to yours, but we didn't get much push-back on the margin. One
> of
> the first things I would ask is whether or not the 100 MHz bus is a
> performance bottleneck. You could go through a lot of work to make the
> bus run faster only to find out that it didn't buy you anything in
> system
> performance.
>
> Let's list your statistically independent variables and the underlying
> process variables they represent:
>
> 1. Driver delay
> a. driver chip threshold voltage (gate oxide thickness, doping,
> dielectric constant)
> b. driver chip effective gate length
>
> 2. Receiver setup time
> a. receiver chip threshold voltage (gate oxide thickness, doping,
> dielectric constant)
> b. receiver chip effective gate length
>
> 3. Receiver thresholds - track with setup time but don't vary much
>
> 4. Transmission line impedance & delay
> a. line width
> b. dielectric thickness
> c. line thickness (to some degree)
> d. dielectric constant
>
> 6. Clock chip pin-to-pin skew - mostly on-chip and package routing, not
> process variation
>
> So you have three main sets of statistically independent variables:
> driver
> chip, receiver chip, and transmission line. I think you would be
> justified in taking a root-sum-square of the delay deviations because
> they
> are independent, but only the deviations, not the actual delay numbers
> themselves. I'm not sure this would buy you 15 MHz. though, and it
> could
> get squirrely if you have a reflection close to a threshold. You are
> correct to question this method and to point back to the physics. As
> you
> mentioned, you have not yet accounted for crosstalk - or load
> capacitance
> on the clock input pins.
>
> I find Vih and Vil to be a large source of conservatism on the part of
> the
> chip suppliers. Threshold windows, as defined by receiver unity gain
> points, are typically much smaller than specifications would lead you to
>
> believe. And how about dc and mid-frequency supply voltage variations?
> Do
> you really need the 5% or 10% silicon designers typically use for
> on-chip
> static timing analysis?
>
> If you're really motivated to solve this, you could ask your silicon
> vendors for a history of their process monitors. (IBM is probably one
> of
> them.) It they are mature processes (which they probably are), they
> might
> have them dialed in. Of course, they always have the right to ship you
> corner silicon without telling you according to most contracts.
>
> Ultimately, it's a statement of risk vs. performance. You don't have
> the
> machinery in place to do a complete Monte Carlo analysis using the
> process
> variables I outlined above. I find it's best to put all the cards on
> the
> table and make the decision as a team. Then if something blows up,
> you're
> all in it together! No finger-pointing.
>
> Greg Edlund
> Senior Engineer
> Signal Integrity and System Timing
> IBM Systems & Technology Group
> 3605 Hwy. 52 N Bldg 050-2
> Rochester, MN 55901
>
>
>
> Hello all,
>
> I have a question about what other people do for timing analysis
> methodology.
>
> My example is a simple synchronous 100 MHz PowerPC 60X bus. The bus has
> three devices on it (CPU and two FPGAs). Hundreds of boards have been
> built and they all run great, even at temperature extremes. Now, after
> the fact (I'm also fixing our process so in the future it won't be
> "after the fact"), I am doing a worst-case timing analysis on this bus,
> and it shows negative setup timing margin at 100 MHz. This has
> rekindled a debate at our company. One camp says we should play it safe
> and not run the bus faster than our worst-case timing analysis says.
> The other camp says that if we aren't "aggressive" in running faster
> than our worst-case timing analysis says, then our products won't be
> competitive performance-wise. I'm wondering what other people are doing
> when faced with this situation.
>
> As background, let me describe my worst-case timing analysis methodology
> for determining setup timing margin. I take the max clock-to-out time
> spec from the driver data sheet, and the max input setup time spec from
> the receiver data sheet. I get the interconnect delay from a HyperLynx
> simulation using slow-weak IBIS. I am properly subtracting out the
> delay from running a separate reference load simulation, which HyperLynx
> refers to as "flight-time compensation". I make sure that, in my
> receiver IBIS file, vinl and vinh match the worst-case data sheet
> values. I make sure that, in my driver IBIS file, the reference load
> matches the data sheet reference load. For my PCB stackup, I adjust the
> dielectric constant to be 10% greater than nominal, and I adjust the
> characteristic impedance to be 10% lower than nominal (we are using
> controlled impedance), since I expect this should be worst-case from a
> setup time perspective. I use the max output skew and jitter specs from
> the clock driver data sheet. I also simulate the clock traces in
> HyperLynx to get the delays, in order to get the skew there. Whatever
> clock driver IBIS setting (fast-strong, slow-weak, typical) I use to
> simulate one clock trace, I also use that to simulate the other clock
> trace, since both clock traces are driven by the same clock
> driver...i.e. same PVT. I take all the resulting delays (driver
> clock-to-out, interconnect delay, receiver setup, clock skew, etc.) and
> simply subtract them all from my timing path (which is 10 ns for 100
> MHz).
>
> As I mentioned, there is a camp in our company that says the methodology
> I described above is too pessimistic. As evidence, they point to the
> fact that all our boards work at 100 MHz over temperature, even though
> worst-case timing analysis says we have negative margin above 85 MHz.
> They are asking me to adjust my methodology in order to show positive
> "worst-case" margin at 100 MHz.
>
> I can accept the fact that the boards pass test at 100 MHz even though
> worst-case timing analysis says 85 MHz; this just means not everything
> is worst-case on these particular boards.
>
> What I don't really see, however, is how I can legitimately change the
> numbers "on paper" to show other than 85 MHz as the worst-case limit.
> This is what a certain group of people are asking me for, claiming that
> we need to be more "aggressive" -- perhaps by taking an RMS
> (root-mean-square) sum of delays or something of that nature -- instead
> of subtracting from the 10 ns path a straight sum of delays like I am
> doing. Another idea is to reduce the delays by some percentage to be
> less than worst-case. (I counter with the argument that even though I
> describe my timing analysis methodology as "worst-case", it actually
> doesn't even consider the effects of noise -- such as from the power
> distribution network or crosstalk. So I could make my timing analysis
> even more pessimistic by adding some noise margin to the data sheet
> values for vinl and vinh. And regarding an RMS sum of timing delays, I
> think that's a fudge, not a valid method.)
>
> Well anyway I'm wondering what alternative timing analysis methodologies
> other people use, or how other people deal with this situation at their
> companies.
>
> Thanks very much if you have comments.
>
> Mort
>
>
> ------------------------------------------------------------------
> To unsubscribe from si-list:
> si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field
>
> or to administer your membership from a web page, go to:
> http://www.freelists.org/webpage/si-list
>
> For help:
> si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field
>
>
> List technical documents are available at:
> http://www.si-list.net
>
> List archives are viewable at:
> http://www.freelists.org/archives/si-list
> or at our remote archives:
>
> http://groups.yahoo.com/group/si-list/messages
> Old (prior to June 6, 2001) list archives are viewable at:
> http://www.qsl.net/wb6tpu
>
>
> ------------------------------------------------------------------
> To unsubscribe from si-list:
> si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field
>
> or to administer your membership from a web page, go to:
> http://www.freelists.org/webpage/si-list
>
> For help:
> si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field
>
>
> List technical documents are available at:
> http://www.si-list.net
>
> List archives are viewable at:
> http://www.freelists.org/archives/si-list
> or at our remote archives:
>
> http://groups.yahoo.com/group/si-list/messages
> Old (prior to June 6, 2001) list archives are viewable at:
> http://www.qsl.net/wb6tpu
>
>
>
>
>
>
>
> ------------------------------------------------------------------
> To unsubscribe from si-list:
> si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field
>
> or to administer your membership from a web page, go to:
> http://www.freelists.org/webpage/si-list
>
> For help:
> si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field
>
>
> List technical documents are available at:
> http://www.si-list.net
>
> List archives are viewable at:
> http://www.freelists.org/archives/si-list
> or at our remote archives:
> http://groups.yahoo.com/group/si-list/messages
> Old (prior to June 6, 2001) list archives are viewable at:
> http://www.qsl.net/wb6tpu
>
------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field
or to administer your membership from a web page, go to:
http://www.freelists.org/webpage/si-list
For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field
List technical documents are available at:
http://www.si-list.net
List archives are viewable at:
http://www.freelists.org/archives/si-list
or at our remote archives:
http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
http://www.qsl.net/wb6tpu
Other related posts: