[SI-LIST] Re: IBIS Model error

  • From: "Muranyi, Arpad" <arpad.muranyi@xxxxxxxxx>
  • To: <si-list@xxxxxxxxxxxxx>
  • Date: Mon, 17 Nov 2003 10:51:25 -0800

All,

I need to make a correction / clarification to reduce the possibility
of seeing more models made incorrectly.

The IBIS specification says that the min. and max. entries of the model
should always be based on the magnitude of the value.  There is only
one exception to this, temperature.  The reason for temperature being
an exception is because for CMOS, high T is slowing / weakening the
device, but for bipolar high T strengthens / speeds up the device.
Since in IBIS the temperature values are mostly there for informational
purposes (to tell the tool what the conditions were when the data was
generated), we decided that this could also tell us whether the device
is CMOS or bipolar.  So if max T is > min T in IBIS, it implies that
we have a bipolar, and if max T is < min T than we have a CMOS device.

The rest of the parameters  all go by magnitude, big number must be
placed in the max. position, and small number in the min. position.
The reason for this is because it is impossible to tell whether a
large die capacitance (C_comp) or package parasitic weather will
be your best or worst, fast or slow, etc case in your SI simulation
results.  Some times a fast edge can result in a very long flight time
because the large overshoot and ringing that could be a result of
the fast edge.  Quoting from the last chapter of the 4.0 spec:

| The voltage and temperature keywords and optionally the process models
| control the conditions that define the "typ", "min", and "max" column
| entries for all I-V table keywords [Pulldown], [Pullup], [GND Clamp], =
and
| [POWER Clamp]; all [Ramp] subparameters dV/dt_r and dV/dt_f; and all
| waveform table keywords and subparameters [Rising Waveform], [Falling
| Waveform], V_fixture, V_fixture_min, and V_fixture_max.
|
| The voltage keywords that control the voltage conditions are [Voltage
| Range], [Pulldown Reference], [Pullup Reference], [GND Clamp =
Reference], and
| [POWER Clamp Reference].  The entries in the "min" columns contain the
| smallest magnitude voltages, and the entries in the "max" columns =
contain
| the largest magnitude voltages.
|=20
| The optional [Temperature Range] keyword will contain the temperature =
which
| causes or amplifies the slow, weak conditions in the "min" column and =
the
| temperature which causes or amplifies the fast, strong conditions in =
the
| "max" column.  Therefore, the "min" column for [Temperature Range] =
will
| contain the lowest value for bipolar models (TTL and ECL) and the =
highest
| value for CMOS models.  Default values described later are assumed if
| temperature is not specified.
|
| The "min" and "max" columns for all remaining keywords and =
subparameters
| will contain the smallest and largest magnitude values.  This applies =
to the
| [Model] subparameter C_comp as well even if the correlation to the =
voltage,
| temperature, and process variations are known because information =
about such
| correlation is not available in all cases.=20

Now, regarding your reversed IV curves, in the old days it was always
true that the larger IV table went into your max. column, etc.  However,
with the arrival of compensated drivers, the differences between typ.,
min., max. may be very small, and as someone mentioned, it is possible
that they cross somewhere.  Where do you put an IV curve if it is
smaller in the linear region, but larger in the saturation region?
Also, what do you do if the max. pullup IV table is stronger, but the
max. pulldown is weaker than typical?  In IBIS they need to track, i.e.
whatever the conditions for the pullup IV curves were, have to be
the conditions for the pulldown also (supply voltage and temperature).

Also consider that the compensation circuit may end up selecting a
slightly weaker IV curve for the high supply low temp case than the
typical conditions case due to the operation of the A/D converter,
selection granularity, noise, etc...

To summarize, with modern buffers some times it becomes impossible to
keep things in numerical order as they used to be.  And this doesn't
necessarily mean that the model is plain blank BAD.

I hope this helps understanding what may be involved here.

Arpad Muranyi
Intel Corporation
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D



-----Original Message-----
From: si-list-bounce@xxxxxxxxxxxxx
[mailto:si-list-bounce@xxxxxxxxxxxxx]On Behalf Of Jon Powell
Sent: Monday, November 17, 2003 8:49 AM
To: chris.mcgrath@xxxxxxxx; si-list@xxxxxxxxxxxxx
Subject: [SI-LIST] Re: IBIS Model error


Chris,
you should go take a look at the IBIS spec to make sure I am right about
this but....

One of the problems we had when we were writing IBIS was trying to =
condense
many corners (fast, slow, hot, cold, big, little, etc) into just 3. I =
don't
remember why we chose 3 when it would have been just as easy for us to
choose N, but we did. So there. Anyway, I think we decided that MIN was =
fast
and MAX was slow (in general) and there are recommendations in the IBIS =
spec
on how to achieve this.
But I do agree that TYP should somehow be in between MIN and MAX.

jon
------------------------------------------------------------------
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:
//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.org

List archives are viewable at:     
                //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: