Subject: Bird 8.1 (The monotonic bird from 'L' files again)

From: Kellee Crisafulli <[email-masked]>
Date: 11 May 94 04:42:52 EDT

From: Kellee Crisafulli, Hyperlynx Inc.
To: IBIS all
Re: BIRD 8.1  (The bird from hell on monotonicity)
Date: 5-10-94

I wrote down the following comments after the last meeting:
 (some editoral liberty was used)

1) The goal is to insure that simulators have a single valued function of
   current v.s. voltage to insure that they remain stable (i.e. the data
   is monotonic)
2) Monotonic will be defined to include 0 slope, i.e. a flat spot is ok.
3) The IBIS_CHK program should generate a WARNING if non-monotonic
   data is found.  The warning should indicate that MOST simulators will
   filter the non-monotonic portion of the data out.  The warning should
   also indicate that SOME simulators may go into oscillation as a result
   of using the non-monotonic data.
4) It is expected that simulators will load and filter the non-monotonic
   data without warnings to a user.  This makes it possible for a semiconductor
   vendor to create data that is NOT monotonic and have it run without warnings
   on simulators.
5) To keep the IBIS_CHK program simple no attempt will be made to 
   include the sum of currents form both the clamp and output stage.  It
   was recognized that the sum of the two tables may be a monotonic output.

I have revised birdy 8 based on what I believe was the general
wisdom from the last meeting.  Please give it a look and let me
know if I accurately captured the thinking.

 )
  )
   )
 )   \
    \ \
   \ \ \ 

   ^^^^^
   o   o
     (
   \___/

 Have a sunny day....Kellee

*******************************************************************************
*******************************************************************************
                     Buffer Issue Resolution Document  (BIRD)

BIRD ID#:                8.1
ISSUE TITLE:             Specification of V/I data monotonicity REQUESTOR:
                         Kellee Crisafulli, HyperLynx Inc.
DATE SUBMITTED:                     January 29, 1994
DATE REVISED:                       5-9-94
DATE ACCEPTED BY IBIS OPEN FORUM:   {pending}

*******************************************************************************
*******************************************************************************
STATEMENT OF THE ISSUE:
Statements have been made at various meetings specific to V/I data and
monotonicity.  This information has not been added to the specification. It is
therefore the intent of this BIRD to add a monotonicity statement to the version
2.0 IBIS specification.

*******************************************************************************
STATEMENT OF THE RESOLVED SPECIFICATIONS:

(The proposed changes start on the 20th line after 'Keywords:'.
Note: An '*' is used to denote the changed lines)

|==============================================================================
|    Keywords:  [Pulldown], [Pullup], [GND_clamp], [POWER_clamp]
|    Required:  Yes, if they exist in the device
| Description:  The data points under these keywords define the V/I curves -of
|               the pulldown and pullup structures of an output buffer -and the
|               V/I curves of the clamping diodes connected to the GND -and the
|               POWER pins, respectively.
| Usage Rules:  In each of these sections the first column contains the
|               voltage value, and the three remaining columns hold the
|               typical, minimum, and maximum current values.   The four
|               entries, Voltage, I(typ), I(min), and I(max) must be placed on
|               a single line and must be separated by at least one white
|               space or tab character.
|               All four columns are required under these keywords, however
|               data is only required in the typical column.  If minimum
|               and/or maximum current values are not available, the reserved
|               word "NA" must be used.  "NA" can be used for currents in the
|               typical column, but numeric values MUST be specified for the
|               first and last voltage points on any V/I curve.  Each V/I
|               curve must have at least 2, but not more than 100, voltage
|               points.
|
*               The V/I table DATA SHOULD BE MONOTONIC to insure that most
*               simulators provide stable simulations.  Monotonic data is
*               needed to insure that all data is single valued.  MONOTONIC
*               DATA IS NOT REQUIRED to provide a valid IBIS model.
*               It is recognized that automated measurement equipment may
*               be used to acquire this data and as such may include "noise"
*               which causes the data to be non-monotonic.  It is also recognized
*               that some device may be non-monotonic in certain regions.
*               Therefore the IBIS specification allows non-monotonic data.
*               Simulation tools should filter out non-monotonic data if
*               such data causes instabilities in the simulation results.
*               To be monotonic the V/I table data must meet any one of the
*               following 8 criteria:
*                 1- The CURRENT axis either increases or remains constant as
*                    the voltage axis is increased.
*                 2- The CURRENT axis either increases or remains constant as
*                    the voltage axis is decreased.
*                 3- The CURRENT axis either decreases or remains constant as
*                    the voltage axis is increased.
*                 4- The CURRENT axis either decreases or remains constant as
*                    the voltage axis is decreased.
*
*                 5- The VOLTAGE axis either increases or remains constant as
*                    the current axis is increased.
*                 6- The VOLTAGE axis either increases or remains constant as
*                    the current axis is decreased.
*                 7- The VOLTAGE axis either decreases or remains constant as
*                    the current axis is increased.
*                 8- The VOLTAGE axis either decreases or remains constant as
*                    the current axis is decreased.
*
*               The IBIS_CHK program will test for non-monotonic data and
*               provide the following warning if such data is found:
*                "WARNING: xxxx V/I table for model yyyy is non-monotonic!
*                 Most simulators will filter this data to remove the
*                 non-monotonic data."
*               Where xxxx is Pullup, Pulldown, GND_clamp or POWER_clamp.
*               Where yyyy is the name of the model.
*
*               It is also recognized that the some data may be monotonic if
*               currents from both the output stage and the clamp diode are
*               added together as most simulators do.  To limit the complexity
*               of the version 2.0 IBIS_CHK program, it will consider only one
*               V/I table at a time monotonicity testing.
*               
| Other Notes:  It should be noted that the V/I curve of the [Pullup] and the
|               [POWER_clamp] structures are 'Vcc relative', meaning that the
|               voltage values are referenced to the Vcc pin.  The voltages in
|               the data tables are derived from the equation:
|                       Vtable = Vcc - Voutput
|               Therefore, for a 5V component, -5 V in the table actually
|               means 5 V above Vcc, which is +10 V with respect to ground;
|               and 10 V means 10 V below Vcc, which is -5 V with respect to
|               ground.  Vcc-relative data is necessary to model a pullup
|               structure properly, since the output current of a pullup
|               structure depends on the voltage between the output and Vcc
|               pins and not the voltage between the output and ground pins.
|               Note that the [GND_clamp] V/I curve can include quiescent
|               input currents, or the currents of a 3-stated output if so
|               desired.
|------------------------------------------------------------------------------

*******************************************************************************
ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:
I reviewed the previous discussions the results of the 1993 summit.
Considerable email has passed on this discussion.

*******************************************************************************
ANY OTHER BACKGROUND INFORMATION:

The IBIS_CHK program must also be modified to test for this condition.
------------------------------------------------------------------------------
From meeting Nov 5, 1993
1)
Non-monotonic buffer behavior:  Arpad asked, "Do we require monotonic behavior
in curves?"  If this is a requirement, the parser must check for monotonicity.

Jon Powell said that customers want to model non-monotonic parts.  Non-monotonic
behavior can result from slow feedback designed to prevent parts from melting;
thus is is more of a DC phenomenon than an AC phenomenon.  Does this pose a
convergence problem for some simulators?  Is a DC representation of the curve
acceptable for some devices?  Due to DC current limiting, DC measurements may
imply non-monotonic behavior that would never actually occur under real
switching conditions.  How do we measure in an AC manner instead of DC manner?

Behavior that is nonmonotonic due to feedback goes into the controlled slew rate
discussion, modeling the dynamic characteristics of device.  For IBIS to be
useful, it must deal with negative resistance regions.

2)
Monotonic data entry:  We felt that in IBIS tables, voltage values should be
monotonically rising or falling, but that current values may change.   The
parser should check whether the data is good, but it shouldn't restrict the type
of data.  A BIRD against the parser should be written at some point to add
checks for this in rev 2.0.  No specific AR owner was identified.

------------------------------------------------------------------------------
1993 Summit minutes:
There are several defined buffer types (input, output, I/O, tri-state, open
drain), which drives what information you collect.  Collection of data from
measurement is a decomposition problem, of trying to sort out the effects of
clamps from buffers etc.  The companies with whom Bob has worked (Zeelan and
Interconnectix) do this decomposition with software.  One problem is selecting
measurement regions with abnormal behavior, such as non-monotonic behavior
caused by device switching or "jumps" in the ESD protection during sweeps.
Their software does some filtering of data to eliminate false abnormal behavior.
They can also filter for monotonic behavior.

  Monotonicity, General Discussion
  --------------------------------
  We clarified that one axis of data representation should be monotonic, such as
  the voltage axis on the V/I curve, but that we could not require that the other
  axis be monotonic, since we were modeling real components whose nature may not
  be monotonic.
-------------------------------------------------------------------------------

********************************************************************************