Subject: Interpretation of Minimum/Maximum data in IBIS

From: Andy Ingraham 07-May-1997 1214 <[email-masked]>
Date: Wed, 7 May 97 12:21:06 EDT

This is a request for clarification.  The IBIS spec is a very
perplexing document.  I have a ton of problems with it, and one of
these days, when I can find the time, maybe I will list some of them.

Regarding minimum/maximum data, is the following supposed to be
correct?

For the V/I data under the [Pulldown], [Pullup], [GND Clamp], and
[POWER Clamp] keywords, the "min" column always represents the "slow,
weak" extreme and the "max" column always represents the "fast,
strong" extreme of device performance.

Likewise, for the [Ramp], [Rising Waveform], and [Falling Waveform]
sections, the "min" column always represents the same "slow, weak"
extreme and the "max" column always represents the same "fast, strong"
extreme of device performance.  Thus, the computed dV/dt_* value in
the "min" column ought to be the smallest (slowest) of the three, and
the one in the "max" column should be the largest (fastest).

Under [Rising Waveform] and [Falling Waveform] keywords, V_fixture_min
always represents the fixture load voltage used to collect the data in
the "min" column, and V_fixture_max always represents the voltage used
for the data in the "max" column.  The spec doesn't say this, but I
think it is the only meaning that makes sense.

For the [Package] keyword, the "min" column always represents minimum
resistance, minimum inductance, and minimum capacitance values; and
the "max" column always represents maximum values.  There is no
implied relationship between these values and the device performance
(fast/slow/strong/weak).

For the [Rgnd], [Rpower], [Rac], and [Cac] keywords, the "min" column
always represents minimum resistance and minimum capacitance values;
and the "max" column always represents maximum values.  There is no
implied relationship between these values and the device performance
(fast/slow/strong/weak).

For the C_comp sub-parameter under the [Model] keyword, the "min"
column always represents minimum capacitance values; and the "max"
column always represents maximum capacitance.  There is no implied
relationship between these values and the device performance
(fast/slow/strong/weak).

For the [Temperature Range] keyword, the "min" column always
represents the lowest junction temperature for device operation, and
the "max" column always represents highest junction temperature. 
There is no implied relationship between these values and the device
performance (fast/slow/strong/weak).

For the [Voltage Range] keyword, the "min" column always represents
the lowest operating voltage for device operation, and the "max"
column always represents the highest voltage.  There is no implied
relationship between these values and the device performance
(fast/slow/strong/weak) (although I know of no device whose speed
does not vary in the same direction as the voltage).

For the [Pullup Reference], [Pulldown Reference], [POWER Clamp
Reference], and [GND Clamp Reference] keywords, the "min" column
always represents the values associated with the "min" columns in the
[Rising Waveform], [Falling Waveform], and [Ramp] sections; and the
"max" column always associates with the "max" columns in those
sections.  Thus, the values in the "min" columns must be the ones that
cause the "slow, weak" extreme, and the values in the "max" columns
must correspond to the "fast, strong" extreme.

So, how well did I do?

I know that one or two of these are likely to cause some discussion. 
I see, for example, that s2ibis2 apparently treats the [Temperature
Range] keyword differently; but the way I wrote it above, is the way I
read it in the spec.  (I'm not sure that it matters in that case
anyway, because as far as I can tell, [Temperature Range] is only
there for reference ... what would a simulator ever do with it?)

Regards,
Andy Ingraham

---

From: Arpad Muranyi <[email-masked]>
Date: Wed, 07 May 97 11:44:00 PDT

Text item: 

Andy, and all IBIS gurus,

If you read the spec carefully, you will find the following in the 
data derivations methods section:

| The optional [Temperature] 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] will contain the lowest value for bipolar devices (TTL
| and ECL) and the highest value for CMOS devices.  Default values
| described later are assumed if temperature is not specified.

So your statement below is not completely true (for CMOS).

At the same time, I think the spec needs to be fixed, because there is no such 
thing as {Temperature] keyword, only [Temperature Range], yet the comments use 
the first one in several occasions.

I don't have the time to comment on the rest of your message...

Arpad Muranyi
Intel Corporation
==============================================================================

Likewise, for the [Ramp], [Rising Waveform], and [Falling Waveform] 
sections, the "min" column always represents the same "slow, weak" 
extreme and the "max" column always represents the same "fast, strong" 
extreme of device performance.  Thus, the computed dV/dt_* value in the 
"min" column ought to be the smallest (slowest) of the three, and the 
one in the "max" column should be the largest (fastest).

So, how well did I do?

Regards,
Andy Ingraham

Text item: External Message Header

The following mail header is for administrative use
and may be ignored unless there are problems.

***IF THERE ARE PROBLEMS SAVE THESE HEADERS***.

Subject: Interpretation of Minimum/Maximum data in IBIS
Apparently-To: [email-masked], [email-masked]
Cc: [email-masked], [email-masked]
To: [email-masked]
From: Andy Ingraham  07-May-1997 1214 <[email-masked]>
Date: Wed, 7 May 97 12:21:06 EDT
.vhdl.org (8.8.5/8.8.3) with ESMTP id JAA01745; Wed, 7 May 1997 09:36:07 -0700 (
PDT)
Received: from server.vhdl.org (vhdl.vhdl.org [198.31.14.3])
          by ormail.intel.com (8.8.4/8.8.4) with ESMTP
       id JAA06870; Wed, 7 May 1997 09:45:33 -0700 (PDT)
Received: from ormail.intel.com by relay.hf.intel.com with smtp
     (Smail3.1.28.1 #2) id m0wP9s9-000qDNC; Wed, 7 May 97 09:47 PDT

---

From: Andy Ingraham <[email-masked]>
Date: Wed, 7 May 97 16:02:46 EDT

Arpad,

As long as you brought up the [Temperature] keyword, I might as well
address that particular issue.  That was one of the (many) things
about the spec that bothers the heck out of me.

There is no [Temperature] keyword!

Yes I know [Temperature] is mentioned in that paragraph in the back
of the spec that you quoted; but if [Temperature] ever was a keyword,
it is not defined anywhere in the spec.

Are you trying to tell me that

  [Temperature]
and
  [Temperature Range]

are supposed to be equivalent?

If so, then

{FLAME ON}

this is no way to write a specification.  They sure are not equivalent
to me.

Plus you can't define a keyword, saying simply that it has min and max
values, thereby implying that they are the min and max temperatures,
and giving no hint that they mean anything else ... and then 1050
lines later, at the bottom of the spec, explain that they really mean
something entirely different.

When I pick up a specification to check on some particular item, I
don't want to have to read it front to back, and then go back and
cross-reference everything that was "defined" over here but then
"defined" some more over there, and so on and so forth.  PUT IT ALL
TOGETHER IN ONE PLACE.

In my opinion, the IBIS Spec needs a major re-write from start to
finish before it can be used.  I cannot understand why it has taken
IBIS four years to get to this point yet it still doesn't have a spec
that hangs together.

{flame off}

Regards,
Andy Ingraham

---

From: Arpad Muranyi <[email-masked]>
Date: Wed, 07 May 97 13:53:00 PDT

Text item: 

Andy,

You are actually repeating my words alsmost exactly between the flames on/off 
sections, including the flames... I brought this up in the times when the ver. 
2.0 spec was formulating.

That is when the keyword [Temperature Range] was added.  IBIS 1.1 didn't have a 
keyword for it, it was only described in the data derivation section that slow 
and fast conditions were supposed to include temperature and voltage supply 
variations.  When the keyword was discussed it was decided by the open forum 
attendees, that it was not necessary to describe the meaning of min and max 
under the keyword description section, because it was already written down in 
the data derivation section.  I didn't like that at all for the same reason you 
don't...

(By the way, I checked, and in my file it was 1048 lines later...)

Regarding the two kinds of keywords, it was probably just an oversight.  Usually
before a keywords get approved, it goes through several iterations, and whoever 
wrote it must have not changed each occurance, and noone caught it.

Arpad
================================================================================

Arpad,

  [Temperature]
and
  [Temperature Range]

If so, then

{FLAME ON}

{flame off}

Regards,
Andy Ingraham

Subject: Re: Interpretation of Minimum/Maximum data in IBIS
Apparently-To: [email-masked], [email-masked],
        [email-masked]
Cc: [email-masked], [email-masked], [email-masked]
To: [email-masked]
From: Andy Ingraham <[email-masked]>
Date: Wed, 7 May 97 16:02:46 EDT
ay 1997 20:13:17 GMT
Received: from thalia.fm.intel.com (thalia.fm.intel.com [132.233.247.11]) by fmm
ail.fm.intel.com (8.8.5/8.7.3) with ESMTP id NAA00780 for <[email-masked].
intel.com>; Wed, 7 May 1997 13:13:56 -0700 (PDT)
Return-Path: [email-masked]