Subject: IBIS BIRD55 - [Model Spec] Vmeas Addition

From: [email-masked] (Bob Ross)
Date: Sun, 4 Oct 98 18:31:04 PDT

IBIS folks:

BIRD55 proposes defining the timing test load extraction based on typical
model parameters only.  Only single values are given for the [Model]
keyword subparameters Vmeas, Vref, Rref, and Cref.

However minimum and maximum column values of Vmeas are needed in simulators
when minimum and maximum columns are used for the models.

Currently there there is an inconsistency between PECL and ECL timing
specification numbers and applications for the same device.

More details of a proposal are given below to promote discussion and understanding.

Bob Ross
Interconnectix/Mentor Graphics

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

BIRD ID#:       55
ISSUE TITLE:    [Model Spec] Vmeas Addition
REQUESTER:      Bob Ross, Mentor Graphics
DATE SUBMITTED: October 4, 1998
DATE ACCEPTED BY IBIS OPEN FORUM: Pending

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

STATEMENT OF THE ISSUE:

Vmeas may need to be different for min and max columns.

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

STATEMENT OF THE RESOLVED SPECIFICATIONS:

Changes and additions to the [Model Spec] keyword are shown by the |* lines
to add Vmeas with typ-min-max values:

|=============================================================================
|     Keyword:  [Model Spec]
|    Required:  No
|  Sub-Params:  Vinh, Vinl, Vinh+, Vinh-, Vinl+, Vinl-, S_overshoot_high,
|               S_overshoot_low, D_overshoot_high, D_overshoot_low,
|*               D_overshoot_time, Pulse_high, Pulse_low, Pulse_time, Vmeas
| Description:  The [Model Spec] keyword defines four columns under which
|               specification subparameters are defined.  
|               
|               The following subparameters are defined:
|               Vinh               Input voltage threshold high
|               Vinl               Input voltage threshold low
|               Vinh+              Hysteresis threshold high max Vt+
|               Vinh-              Hysteresis threshold high min Vt+
|               Vinl+              Hysteresis threshold low max Vt-
|               Vinl-              Hysteresis threshold low min Vt-
|               S_overshoot_high   Static overshoot high voltage
|               S_overshoot_low    Static overshoot low voltage
|               D_overshoot_high   Dynamic overshoot high voltage
|               D_overshoot_low    Dynamic overshoot low voltage
|               D_overshoot_time   Dynamic overshoot time
|               Pulse_high         Pulse immunity high voltage
|               Pulse_low          Pulse immunity low voltage
|               Pulse_time         Pulse immunity time
|
|*               Vmeas              Measurement voltage for timing measurements
|*
| Usage Rules:  [Model Spec] must follow all other subparameters under the 
|               [Model] keyword.
|
|               For each subparameter contained in the first column, the 
|               remaining three hold its typical, minimum and maximum values.
|               The entries of typical, minimum and maximum be 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
|               the [Model Spec] keyword.  However, data is required only in
|               the typical column.  If minimum and/or maximum values are not
|               available, the reserved word "NA" must be used indicating the
|               typical value by default.
|
|               The minimum and maximum values are used for specifications
|               subparameter values that may track the min and max operation
|               conditions of the [Model].  Usually it is related to the
|               Voltage Range settings.
|
|               Unless noted below, each subparameter does not require having
|               any other subparameter.
|      
|               Vinh, Vinl rules:
| 
|               The threshold subparameter lines provide additional min and
|               max column values, if needed.  The typ column values are still
|               required and would be expected to override the Vinh and Vinl
|               subparameter values specified elsewhere.  Note: the syntax
|               rule that require inserting Vinh and Vinl under models remains
|               unchanged even if the values are defined under the [Model
|               Spec] keyword.
|
|               To mimic a hysteresis effect, the values of Vinh and Vinl may
|               be interchanged such that the Vinl value is larger than the
|               Vinh value.  However, simulators may process this information
|               differently or report an error.
|
|               Vinh+, Vinh-, Vinl+, Vinl- rules:
|
|               The four hysteresis subparmeters must all be defined before
|               the hysteresis threshold rules become effective.  Otherwise
|               the standard threshold subparameters remain in effect.  The
|               hysteresis thresholds shall be at the Vinh+ and Vinh- values
|               for a low-to-high transition, and at the Vinl+ and Vinl-
|               values for a high-to-low transition.
|
|               S_overshoot_high, S_overshoot_low rules:
|
|               The static overshoot subparameters provide the voltage values
|               for which the model is no longer guaranteed to function
|               correctly.
|
|               D_overshoot_high, D_overshoot_low, D_overshoot_time rules:
|
|               The dynamic overshoot values provide a time window during
|               which the overshoot may exceed the static overshoot limits
|               but be below the dynamic overshoot limits.  D_overshoot_time
|               is required for dynamic overshoot testing.  In addition, if
|               D_overshoot_high is specified, then S_overshoot_high is
|               necessary for testing beyond the static limit.  Similarly, if
|               D_overshoot_low is specified, then S_overshoot_low is
|               necessary for testing beyond the static limit.
|                
|               Pulse_high, Pulse_low, Pulse_time rules:
|
|               The pulse immunity values provide a time window during which
|               a rising pulse may exceed the nearest threshold value but
|               be below the pulse voltage value and still not cause the
|               input to switch.  Pulse_time is required for pulse immunity
|               testing.  A rising response is tested only if Pulse_high is
|               specified.  Similarly, a falling response is tested only if
|               Pulse_low is specified.  The rising response may exceed the
|               Vinl value, but remain below the Pulse_high value.
|               Similarly, the falling response may drop below the Vinh value,
|               but remain above the Pulse_low value.  In either case the
|               input is regarded as immune to switching if the responses
|               are within these extended windows.  If the hysteresis
|               thresholds are defined, then the rising response shall use
|               Vinh- as the reference voltage, and the falling response shall
|               use Vinl+ as the reference voltage.
|*
|*              Vmeas rules:
|*
|*              The Vmeas values under the [Model Spec] keyword override the
|*              Vmeas entry elsewhere.

|-----------------------------------------------------------------------------
[Model Spec]
|   Subparameter          typ        min        max
|
| Thresholds
|
Vinh                      3.5        3.15       3.85    | 70% of Vcc
Vinl                      1.5        1.35       1.65    | 30% of Vcc
|
| Vinh                    3.835       3.335     4.335   | Offset from Vcc
| Vinl                    3.525       3.025     4.025   | for PECL
|
| Hysteresis
|
Vinh+                     2.0        NA         NA      | Overrides the
Vinh-                     1.6        NA         NA      | thresholds
Vinl+                     1.1        NA         NA 
Vinl-                     0.6        NA         NA      | All 4 are required
|
| Overshoot
|
S_overshoot_high          5.5        5.0        6.0     | Static overshoot
S_overshoot_low          -0.5        NA         NA
D_overshoot_high          6.0        5.5        6.5     | Dynamic overshoot
D_overshoot_low          -1.0       -1.0       -1.0     | requires
|                                                       | D_overshoot_time 
D_overshoot_time          20n        20n        20n     | & static overshoot
|
| Pulse Immunity
|
Pulse_high                3V         NA         NA      | Pulse immunity
Pulse_low                 0          NA         NA      | requires
Pulse_time                3n         NA         NA      | Pulse_time
|

|*** ADDED EXAMPLE BELOW:
| Timing Thresholds
|
Vmeas                     3.68       3.18       4.68    | A 5 volt PECL
|                                                       | example
|
|*** END OF ADDED EXAMPLE
|============================================================================= 

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

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:

BIRD55 is issued because the timing measurement value Vmeas defined under
the [Model] keyword changes with the Vcc reference voltage for some
technologies (such as PECL) when used for the min or max column.  This
can cause ibischk3 Warning messages, particularly for the min column that
the waveform cannot drive through Vmeas.

Adding the Vref, Rref, Cref timing load list of parameters for [Model Spec]
was also considered.  However, the Rref and Cref values are always fixed
in data books (we are not interested it the tolerances of these components).
Also Vref tends to be fixed.  The compelling reason for not including these
is that the REFERENCE value for timing test load extraction should be
taken from the typical model only (it is the only required set of data).  

From a data book point of view. the timing test load is fixed, and a
number of devices could be tested.  The spread of the results (based on
minimum and maximum process corners and test conditions) would define the
specification range of timing values in the data book.  From a simulator
point of view, the typical value model would center up the calibration of
the simulator delays to the midpoint or typical component delay in the data
book.  A minimum or maximum model already has a slower response or faster
response that should have already contributed to some of the delay spread
in the data book.  So it is not clear what number to compare this response
delay to in the data book without risking "double counting" some of the delay.

Vmeas may be used elsewhere for other measurements related to calibrating
the actual response under minimum and maximum column test conditions.
Thus minimum and maximum column entries are needed (related to the Vcc values).
However, Vref would not be needed to be changed since the actual calibration
extraction should be done using typical conditions to avoid "double
counting" of delay changes due to model response changes.

ibischk2+ and ibischk3 checks whether the signal passes throught the timing
reference for each column.  For PECL technology, the signal may not be
able to reach the reference value for the minimum column.  If the same device
is configured for ECL operation (with a 0 volt reference), the values of Vref
and Vmeas remain at a constant offset from the positive rail, and no Warning
is issued.  This inconsistency would be resolved with BIRD55 by simply not
doing the check for minimum and maximum conditions.  (A Bug report would
have to be filed to make the change in ibischk3.)

An alternative approach is to add Vmeas_min and Vmeas_max, etc. subparameters
to the [Model] keyword.  This would be similar to the V_fixture_min and
V_fixture_max subparameters for the [Rising Waveform] and [Falling Waveform]
keywords.  However, the [Model Spec] keyword  method is chosen since it is
already set up for formating existing and new subparameter values into
a typical/minimum/maximum column format.

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

ANY OTHER BACKGROUND INFORMATION:

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