Subject: IBIS BIRD59 MODEL SPEC DIAGRAMS

From: Bob Ross <[email-masked]>
Date: Tue, 03 Aug 1999 10:58:02 -0700

To IBIS Committee:

BIRD59 documents the intended diagrams to be included in IBIS Version 3.2
in response to editorial letter ballot comments on SP-4557 for more
clarification.

Please review these for discussion at the Friday August 6, 1999 IBIS Meeting.

Bob Ross
Mentor Graphics

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

BIRD ID#:       59
ISSUE TITLE:    Model Spec Diagrams
REQUESTER:      Bob Ross, Mentor Graphics
DATE SUBMITTED: August, 1999
DATE ACCEPTED BY IBIS OPEN FORUM: Pending

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

STATEMENT OF THE ISSUE:

The need to illustrate some [Model Spec] subparameters was raised in letter
ballot responses to SP-4557.

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

STATEMENT OF THE RESOLVED SPECIFICATIONS:

The [Model Spec] keyword is presented with added diagrams.  Also the |*
adds a clarifying remark concerning the static overshoot definition.

Replace the existing [Model Spec] keyword with the text below:

|=============================================================================
|     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 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.
|
|         |
|         |           Receiver Voltage with Hysteresis Thresholds
|         |
|         |
|         |                       oo    o
|         |                     o    oo  ooooooooo 
|         |                    o                    o
|  Vinh+  | - - - - - - - - - x                        o
|  Vinh-  | - - - - - - - -  x                           o
|         |                 o                             o
|         |                o                               o
|         |               o                                 o
|  Vinl+  | - - - - - -  o - - - - - - - - - - - - - - - - - x
|  Vinl-  | - - - - - - o  - - - - - - - - - - - - - - - - -  x
|         |           o                                         o
|         |        o                                               o
|         |oooooo-----------------------------------------------------oooooooo
|
|                                       Time -->
|
|               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.  Typically these are voltages which would cause
|*              the physical component to be destroyed.
|
|               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.
|                
|         |
|         |     Receiver Voltage with Static and Dynamic Overshoot Limits
|         |
|         |
|         |   D_overshoot_time ->|      |<-
|         |                      |      |
|  D_overshoot_high - - - - - - -+ - - -+                       
|         |                      | oo   |  Passes - Does Not Exceed Bounds
|         |                      |o  o  |
|  S_overshoot_high - - - - - - -x    o +- - - - - - - - - - - - - - - - - - -
|         |                     o      o ooooooooo 
|         |                    o        o         o
|         |                   o                    o
|         |                  o                      o
|         |                 o                        o
|         |                o                          o
|         |               o                            o
|         |              o                              o        Fails -
|         |             o                                o    Exceeds Bounds
|         |           o                                   o      |   |  |
|         |        o                                       o     V   V  V
|         |oooooo-------------------------------------------o---------o---oooo
|  S_overshoot_low - - - - - - - - - - - - - - - - - - - - - x      +x x x - -
|         |                                                  |o     x   x
|         |                                                  | o   o|
|  D_overshoot_low - - - - - - - - - - - - - - - - - - - - - + -x x-+
|         |                                                  |   x  |
|                                         D_overshoot_time ->|      |<-
|
|                                       Time -->
|
|               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.
|
|         |
|         |         Receiver Voltage with Pulse Immunity Thresholds
|         |
|         |
|         |            Switching                           No Switching
|         |                |                               |
|         |                |      oo    o                  |  Switching
|         |                |    o    oo  ooooooooo         |      |
|         |                |   o                    o      |      | 
|         |                V  o                       o    V   oooV
|  Vinh - - - - - - - - - -  x - - - - - - - - - - - - - x   o + -x
|         | Pulse_time ->|  o  |<-                       |ooo  |   o
|  Pulse_high - - - - -  + o - +            Pulse_low  - + - - +    o   
|         |              |o    |            Pulse_time ->|     |<-   o       
|  Vinl - - - - - - - -  x     + - - - - - - - - - - - - - - - - - -  x
|         |             o                                              o
|         |           o                                                 o
|         |        o                                                      o
|         |oooooo------------------------------------------------------------o
|
|                                       Time -->
|
|               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
|
| Timing Thresholds
|
Vmeas                     3.68       3.18       4.68    | A 5 volt PECL
|                                                       | example
|
|=============================================================================

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

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:

Diagrams are added to clarify meanings and also to illustrate switching 
points for the Vinl-, Vinl+, Vinh-, and Vinh+ hysteresis subparameters and for
the pulse immunity subparameters Pulse_high, Pulse_low, and Pulse_time.

Diagrams also show regions where the receiver waveform passes and fails
the overshoot constraints based on S_overshoot_high, S_overshoot_low,
D_overshoot_high, D_overshoot_low, and D_overshoot_time subparameters.

A short explaination is added for the static overshoot parameters to respond
to Intel's comment below.

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

ANY OTHER BACKGROUND INFORMATION:

This is in response to two letter ballot comments submitted in June, 1999 on
SP-4557 for EIA ratification of Version 3.2 from Cisco Systems and Intel.  The
comments are shown below:

Cisco Systems Comment 1 was:

Cisco Systems: 1
Editorial
Reference: Page 24
Suggested Change: Add a hysteresis diagram showing all the sub-parameters.

Rationale:  Would clarifiy usage of 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.

Intel: 7
Editorial
Reference: Page 24
Suggested Change: the whole discussion on dynamic and static overshoot is
confusing.  I can't figure out if static or dynamic overshoot implies an
absolute maximum rating or device destruction or what.  Not sure how to fix,
but this does need to be clarified.

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