Subject: IBIS BIRD59.1 - Model Spec Diagrams

From: Bob Ross <[email-masked]>
Date: Fri, 06 Aug 1999 16:24:35 -0700

To IBIS Committee:

BIRD59.1 is issued in response to comments at the August 6, 1999 IBIS meeting
and other minor editorial corrections and clarifications.  The purpose
of BIRD59.1 remains to document and agree upon the exact editorial change
we plan to make to IBIS Verions 3.2 in response to the letter ballot
comments on SP-4557.

Changes based on other comments received after the meeting are also 
implemented.  Thank you for your comments.  Refer to |* lines and embedded
comments for changes.

Please review BIRD59.1 and provide any additional comments.  We plan
to vote on BIRD59.1 (or as amended) at the next IBIS Meeting scheduled
on Friday, August 20, 1999.

Bob Ross
Mentor Graphics

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

BIRD ID#:       59.1
ISSUE TITLE:    Model Spec Diagrams
REQUESTER:      Bob Ross, Mentor Graphics
DATE SUBMITTED: August 3, 1999, August 6, 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.  Added clarifying
statement in the text are shown by |* lines.  Included is a reference to 
Schmitt trigger inputs, and 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.
|

Remove this statement and replace it with the reworded statement below:

|               Unless noted below, each subparameter does not require having
|               any other subparameter.

|*              Unless noted below, no subparameter requires having present
|*              any other subparameter.

End of rewording change

|      
|               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.
|

Remove this paragraph in response to Intel Comment 6

|               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.
|

End of removed paragraph

|               Vinh+, Vinh-, Vinl+, Vinl- rules:
|
|*              The four hysteresis subparmeters (used for Schmitt trigger
|               inputs for defining two thresholds for the rising edges and
|*              two thresholds for falling edges) must all be defined before
|*              independent input thresholds for rising and falling edges of
|               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
|         |
|         |
|*        |       Rising Edge                            Falling Edge
|*        |    Switching Region   oo    o              Switching Region
|*        |                  |  o    oo  ooooooooo           |
|*        |                  V o                    o        |
|* Vinh+  - - - - - - - - - - x                        o     |
|* Vinh-  - - - - - - - - -  x                           o   |
|*        |                 o                             o  |
|*        |                o                               o |
|*        |               o                                 oV
|* 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.

BIRD59.1 is issued in response to comments at the August 6, 1999 IBIS Meetings
where BIRD59 was introduced.  Also some editorial corrections are made in
the diagram for hysteresis thresholds.

A clarification statement is made to also refer to the commonly used term
in ASIC data books referring to Schmitt trigger input.  The alternatives
discussed included adding a table, doing another switching diagram, and
provide a more comprehensive definition.  We opted for a minimal amount of
work to avoid getting bogged down in producing a larger statement (with
possible errors).

Also, as a result of this discussion and a reflector comment on BIRD59, the
switching region is added to the hystersis diagram.

Also, one paragraph is deleted in response to Intel letter ballot comment 6
for this keyword shown in the Any Other Background Information section 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.

Also, another remark was dealt with by deleting one paragraph:

Intel: 6
Editorial
Reference: Page 23
Suggested Change: Delete paragraph about reversing Vinh, Vinl to mimic
hystersis.  While this my be true, we have explicit parameters that
describe this functionality and we should not document or encourage an
alternate method.

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

---

From: Stephen Peters <[email-masked]>
Date: Mon, 09 Aug 1999 14:12:17 -0700

Hello All:

   After reading BIRD 59.1 I have a concern regarding the S_overshoot 
definition.

> |*              the physical component to be destroyed.

However, the text (and diagrams) go on to show D_overshoot as a voltage 
*greater* than
S_overshoot.  My interpretation (after much head scratching) is that 
S_overshoot is
the DC limit.  In other words, I assume that exposure to a voltage greater 
than S_overshoot
but below D_overshoot for more than D_overshoot_time causes device failure.  
If so,
this needs to be stated, as it is not obvious from the text. 

     Regards,
     Stephen Peters
     Intel Corp.

---

From: Bob Ross <[email-masked]>
Date: Mon, 09 Aug 1999 16:00:42 -0700

Stephen:

We can probably fine-tune some final wording to resolve this at the
August 20, 1999 meeting.  The intent of the Dynamic overshoots were
to allow the overshoot to exceed the Static (DC limit that would
overheat the component) for a short period of time.  Some more
information and background is given in the BIRD38, BIRD39 and BIRD40
documents.

Bob Ross,
Mentor Graphics