Re: [IBIS-Users] Modeling input receivers with on-die termination


Subject: Re: [IBIS-Users] Modeling input receivers with on-die termination
From: Scott McMorrow (scott@teraspeed.com)
Date: Thu May 08 2003 - 00:48:12 PDT


Todd,

So who says you're not the guru now?

scott

p.s. - I vote for proposal 1, since it's easier. Personally I do not
care what people expect as long as the answer is correct.

Todd Westerhoff wrote:

>Hi all,
>
>This one has been bugging us for a while ... the discussions that took place
>last week gave us the opportunity to take another look at this problem and
>its different components. I have two solutions to propose, and would
>appreciate feedback from the group.
>
>I apologize in advance for a lengthy email. There's no other way I know to
>describe the different components of the problem and the way they interact.
>
>To start - the problem is accurately modeling the effect of on-die input
>termination, most typically pulling the signal to a value of VDDQ/2, which
>would be common for HSTL and SSTL signalling. The resistors in question (at
>least in our case) were not discrete components in the package - they were
>truly on-die. Hence, the resistance varied with process and was non-linear
>over the operating range. Thus, we needed a way to extract the actual input
>characteristics using the HSpice model and create the correct model in IBIS.
>
>Simple enough, we thought - then it got deep.
>
>To ended up breaking the problem down into three pieces -
>
>1) The IBIS Specification
>2) The process of creating models
>3) How IBIS simulators use the data in the IBIS models
>
>
>1) The IBIS Specification
>-------------------------
>Please correct me if I'm wrong here, but I believe the IBIS Spec doesn't
>list any "standard" for the voltage range over which the behavior of the
>[GND Clamp] and [POWER Clamp] should be specified. I took it as a given
>that [Pulldown] and [Pullup] curves would range from -VDDQ to 2*VDDQ, and,
>until last week, I would have expected to see the same range for the power
>and ground clamps. That turned out not to be the case.
>
>I also suspect that the IBIS spec has no comment on just how the simulator
>is supposed to combine the data in the two clamp curves, should the points
>overlap. That turned out to be a big sticking point.
>
>
>2) The process of creating models
>---------------------------------
>There are two classes of people who create IBIS models from HSpice
>simulations:
>
>a) The gurus, who understand IBIS, HSpice and software well enough to
>develop their own tools for extracting and compiling IBIS model data, and
>
>b) The rest of us, who use some version of s2ibis2. Usually, it's one we've
>compiled ourselves, with some collection of fixes implemented for problems
>we have found on our own. I'm going to aim my comments squarely at s2ibis2,
>with the assumption that's what most of the IBIS-modelmakers are basing
>their efforts on.
>
>When s2ibis2 was created, the developer noticed an interesting problem -
>there is really no good way to separate the ground clamp curve from the
>power clamp curve. With the [Pullup] and [Pulldown] curves, you can isolate
>the behavior of transistor from the other by virtue of the output state.
>However, if you model the input buffer and sweep the voltage from -VDDQ to
>2*VDDQ, there's really no good way to separate the one clamp curve from the
>other.
>
>(When I talk about voltage from this point on, I'm going to use ground as a
>reference, unless I specifically state that I'm using a power-based voltage
>reference "a la IBIS". I'm also going to assume the ground clamp is active
>between -VDDQ and 0V, the "operating region" for the device is between 0V
>and VDDQ, and the power clamp is active between VDDQ and 2*VDDQ).
>
>Of course, if you've got a normal input (without termination), the input
>current is zero (or essentially so) throughout the operating region, so
>there isn't really any problem. It doesn't much matter where the ground
>clamp curve leaves off and the power clamp curve kicks in, because the
>currents at those points are always zero.
>
>However, the presence of on-die termination to VDDQ/2 presents an
>interesting problem. The "zero current" point is somewhere in the middle of
>the operating region, and it's only a single point. The power and ground
>clamp curves, when added together, have to accurately represent the input's
>characteristic throughout the device's operating region (0 to VDDQ), if you
>want to input to behave properly.
>
>So now the question becomes - where does one curve leave off, and the other
>begin? Well, s2ibis2 simply implements the ground clamp curve from -VDDQ to
>VDDQ, and the power clamp curve from VDDQ to 2*VDDQ. In theory, you should
>be able to just attach the two curves together and get the right result - or
>at least, that's the assumption s2ibis2 seems to be operating on. Remember,
>because the power clamp curve in IBIS is rail-referenced, a sweep from VDDQ
>to 2*VDDQ shows up in the IBIS file as from 0 to -VDDQ.
>
>There are a couple of interesting caveats here. First, s2ibis2 ground clamp
>curves actually all end at the same point, which is the [typ] value of VDDQ.
>Let's assume that we have an HSTL 1.5 driver, whose power rail can vary by
>10%. Thus, the [min] power rail is 1.35V, while the [max] power rail is
>1.65V. In this case, the ground clamp data ends at 1.5V in all three cases.
>
>The power clamp curves have the same issue, but in reverse. They are
>supposed to sweep from VDDQ to 2*VDDQ. That's 0 to -VDDQ in IBIS terms (the
>curves really go from -VDDQ to 0 in the IBIS data, because voltages are
>supposed to increase). However, all three curves start at the same point,
>which is 2*VDDQ[typ] (-VDDQ[typ] in IBISese), and end at the same point,
>which is 0V.
>
>But - and this is a big one - because the power clamp curves are
>rail-referenced, 0V means different things in the different cases. It means
>1.35V for [min], 1.5V for [typ] and 1.65V for [max]. So - if we adjust for
>the rail reference and talk about ground-referenced voltages, the voltage
>data points for the power clamp curves range from:
>
>[min] 1.35V to 2.85V
>[typ] 1.5V to 3.0V
>[max] 1.65V to 3.15V
>
>Let's set those side by side with the ground clamp curves and see what we
>get:
>
> Ground Clamp Power Clamp
>[min] -1.5V to 1.5V 1.35V to 2.85V
>[typ] -1.5V to 1.5V 1.5V to 3.0V
>[max] -1.5V to 1.5V 1.65V to 3.15V
>
>The [typ] curves complement each other just fine, but there is an overlap in
>the [min] data and a gap in the [max] data. We're primarily concerned about
>capturing the behavior of the input termination across the entire operating
>region here, so this looks like it might be a problem. Of course, that is
>determined by how the simulator handles the situation where the clamp V-I
>curves overlap or have a gap in them. We didn't expect what we found,
>however.
>
>
>3) How IBIS simulators use the data in the IBIS models
>------------------------------------------------------
>Different simulators may well do different things, and I'm not trying to say
>I've tested all of them. At least some of them, if not all of them, behave
>as I'm describing here.
>
>We suspected an IBIS simulator might "double count" the current in the
>overlap region in the [min]case (between 1.35V and 1.5V), thereby making the
>termination appear twice as strong as it really was (in that region). We
>didn't know what was going to happen in the [max] case, with a cap in the
>data between 1.5 and 1.65V. So - we read the models in and tested them.
>
>What we found, empirically, is that the simulator didn't add the curves
>together the way you might expect - taking the data from the ground clamp
>curve between -VDDQ and VDDQ, and the data from the power clamp curve
>between VDDQ and 2*VDDQ. Instead, the simulator *extended each curve by
>extrapolation* to cover the entire region from -VDDQ to 2*VDDQ, and *THEN*
>added the currents together. In other words, the power clamp curve (which,
>at the "IBIS 0V" point, corresponding to VDDQ, has a slope of roughly the
>termination value) got extended through the whole operating region with a
>slope roughly equal to the termination value. Now, when the simulator added
>the contributions of the power and ground clamps in the operating region, it
>came up with roughly twice the correct current, making the termination
>appear twice as strong as it really was. We started out thinking there
>might be a small problem in the gap/overlap regions of the [max/min] curves,
>and discovered instead that none of the simulation cases were working
>correctly, anywhere in the operating region.
>
>This is a classic case of compartmentalization and assumptions - between
>IBIS, s2ibis2 and the IBIS simulators. Bottom line, the basic assumption
>was that clamps don't kick in until you go beyond the rail, and the overall
>process falls apart in this case as a result.
>
>
>4) What we can do about it
>--------------------------
>Again, I'm predicating this on the use of s2ibis2 to create IBIS models.
>The goal is simple: create an IBIS model that accurately reproduces the
>combined behavior of the clamps and input termination over the range
>from -VDDQ to 2*VDDQ.
>
>Both proposals both rely on the same basis: having s2ibis2 perform a single
>input V-I sweep, over the voltage range from -VDDQ to 2*VDDQ. That one
>simulation would capture all the behavior we're concerned about here. From
>there, it's just a matter of how you format the data.
>
>Proposal 1) Says that you put the whole kit & kaboodle into the [GND Clamp]
>curve and omit the [POWER Clamp] curve entirely. There's really only one
>composite input characteristic, anyway; separating it into two sets of clamp
>curves is artificial. Having two curves provides benefits in some cases,
>but it's hard to argue that those benefits apply here. This is the easiest
>solution to implement, and provides the composite curve in one place. The
>downside is that some users might object to having the power clamp data
>included in the [GND Clamp] curve, and that some simulation tools might also
>have a problem with this. A simulation tool that used a different technique
>for combining the curve data might very well have a problem with this
>approach.
>
>Proposal 2) ... which Arpad suggested, was to find the zero-current point in
>each of the min-typ-max cases, and assign all negative current to the ground
>clamp, and all positive current to the power clamp. You need to make sure
>that each clamp curve has two consecutive voltage data points with zero
>current at the correct end of the curve (so that all further points are zero
>current by extrapolation). You also need to do the proper voltage
>translations when assigning current to the power clamp curve. The advantage
>of this technique is that you end up with two sets of clamp curves as most
>people expect, and they add together correctly. This disadvantage is a
>slight increase in process complexity, and the fact that you probably won't
>be able to view the overall input behavior in one place. Interestingly, the
>IBIS-viewer/model-editor tools seem to allow you to view the combined V-I
>characteristics of the output buffers, but don't provide for viewing the
>combined characteristics of the power and ground clamp curves on an input.
>
>.... so there you have it - s2ibis2 and input termination modeling in IBIS,
>as I presently understand it. Corrections to my reasoning, comments and
>thoughts on the subject are both welcome and greatly appreciated.
>
>
>Todd.
>
>Todd Westerhoff
>High Speed Design Specialist
>Cisco Systems
>1414 Massachusetts Ave - Boxboro, MA - 01719
>email:twesterh@cisco.com
>ph: 978-936-2149
>============================================
>
>"When did the choices get so hard, with so much more at stake?
> Life gets mighty precious when there's less of it to waste"
>
>- Bonnie Raitt, "Nick of Time"
>
>
>|------------------------------------------------------------------
>|For help or to subscribe/unsubscribe, email majordomo@eda.org
>|with just the appropriate command message(s) in the body:
>|
>| help
>| subscribe ibis <optional e-mail address, if different>
>| subscribe ibis-users <optional e-mail address, if different>
>| unsubscribe ibis <optional e-mail address, if different>
>| unsubscribe ibis-users <optional e-mail address, if different>
>|
>|or email a written request to ibis-request@eda.org.
>|
>|IBIS reflector archives exist under:
>|
>| http://www.eda.org/pub/ibis/email_archive/ Recent
>| http://www.eda.org/pub/ibis/users_archive/ Recent
>| http://www.eda.org/pub/ibis/email/ E-mail since 1993
>
>
>

-- 
Scott McMorrow
Teraspeed Consulting Group LLC
2926 SE Yamhill St.
Portland, OR 97214
(503) 239-5536
http://www.teraspeed.com

|------------------------------------------------------------------ |For help or to subscribe/unsubscribe, email majordomo@eda.org |with just the appropriate command message(s) in the body: | | help | subscribe ibis <optional e-mail address, if different> | subscribe ibis-users <optional e-mail address, if different> | unsubscribe ibis <optional e-mail address, if different> | unsubscribe ibis-users <optional e-mail address, if different> | |or email a written request to ibis-request@eda.org. | |IBIS reflector archives exist under: | | http://www.eda.org/pub/ibis/email_archive/ Recent | http://www.eda.org/pub/ibis/users_archive/ Recent | http://www.eda.org/pub/ibis/email/ E-mail since 1993



This archive was generated by hypermail 2b28 : Thu May 08 2003 - 00:54:07 PDT