Subject: IBIS BIRD62 - Comments

From: Bob Ross <[email-masked]>
Date: Thu, 16 Sep 1999 18:24:52 -0700

To IBIS Committee:

I also have concerns about introducing new keywords and subparameters when
exiting methods may work.  However, after trying out a few examples, I
now see the differences.  These are at the end with comments.

BIRD62 introduces a new keyword [Receiver Thresholds] and several new
subparameters.  Several key components are:

  Vth - ideal fixed threshold voltage
  Vth_min and Vth_max  - deviations from the ideal threshold voltage
  Vth_sensitivity - relationship of Vth to some specified reference voltage

  [External Reference] if needed for external references.

  Vinl_ac, Vinh_ac - "AC" thresholds as deviations from Vth
  Vinl_dc, Vinh_dc = "DC" thresholds as deviations from Vth

  Definition of all parameters relative to Vth

  The notion that these parameters are for differential inputs if Vth = 0.

Several major comments are:

(1) While I cannot think of any current example where this would be a
problem, I would still not mix Vth single-ended definition with differential
definition, distinguished only by value.  This would cause problems if there
is a new single-ended technology that is connected to positive and
negative supplies.  Also, it may be possible to use the same buffer
model for both single-ended and differential applications.

With this format, I would prefer separate Diff_Vth subparameter.  The offset
subparameters for differential operation might also be different.

(2) For single-ended operation, the existing [Model Spec] keyword already
has much of the necessary information.  With a few additions, it could
be used.  BIRD62 examples are illustrated.

Assumptions:

The Vinl_dc and Vinh_dc values function as the existing Vinl and Vinh
  thresholds

The Vinl_ac and Vinh_ac values function as existing Vinl and Vinh thresholds,
  but with margins.  Currently these may entered as part of the rules or
  design data and are not considered as a specification of the buffer.
  Assuming that they are now needed, I arbitrarily defining them by
  they new [Model Spec] subparameters also designated "Vinl_ac"
  and "Vinh_ac"

The | Vth is entered as a [Model Spec] subparameter for information, but is
  not needed.

Here are the BIRD62 examples and the corresponding [Model Spec] Syntax:

---------------------------------------------------------------

| 
| A basic 3.3v single ended receiver using only the required
| subparameters
|
[Receiver Thresholds]
Vth = 1.5v
Vinh_ac = +225mV
Vinh_dc = +100mV
Vinl_ac = -225mV
Vinl_dc = -100mV
|
|

---------------------------------------------------------------

[Model Spec]
|   Subparameter          typ        min        max
|
| Thresholds
|
Vinh_ac                   1.725      NA         NA
Vinh                      1.6        NA         NA
| Vth                      1.5        NA         NA
Vinl                      1.4        NA         NA
Vinl_ac                   1.275      NA         NA
|

No change

---------------------------------------------------------------

| A single ended receiver using an external threshold reference.  In this
| case the input threshold is the external reference voltage so
| Vth_sensitivity equals 1.
|
[Receiver Thresholds]
Vth = 1.0v                    
Vth_sensitivity = 1
Input_Ref_Supply = EXT
Vinh_ac = +200mV
Vinh_dc = +100mV
Vinl_ac = -200mV
Vinl_dc = -100mV
|
| variable              typ          min           max
[External Reference]    1.0v         0.95v        1.05v
|

---------------------------------------------------------------

(1) Set up Model Spec with "shift opposite" tolerances, but
keep Vinh, Vinl differences, but with the [External Reference]
changes.

[Model Spec]
|   Subparameter          typ        min        max
|
| Thresholds
|
Vinh_ac                   1.20       1.25        1.15
Vinh                      1.10       1.15        1.05
| Vth                      1.0        1.05        0.95
Vinl                      0.90       0.95        0.85
Vinl_ac                   1.80       0.85        0.75
|

(2) Set up Model Spec with "shift with" tolerances, but
keep Vinh, Vinl differences but with the [External Reference]
changes.

[Model Spec]
|   Subparameter          typ        min        max
|
| Thresholds
|
Vinh_ac                   1.20       1.15        1.25
Vinh                      1.10       1.05        1.15
| Vth                      1.0        0.95        1.05
Vinl                      0.90       0.85        0.95
Vinl_ac                   1.80       0.75        0.85
|

(3) Set up Model Spec with worst case tolerances, but do not
keep Vinh, Vinl differences.  The [External Reference]
variations are added to Vinh and subtracted from Vinl values.

[Model Spec]
|   Subparameter          typ        min        max
|
| Thresholds
|
Vinh_ac                   1.25       NA         NA
Vinh                      1.15       NA         NA
| Vth                      1.0        NA         NA
Vinl                      0.85       NA         NA
Vinl_ac                   0.75       NA         NA
|

---------------------------------------------------------------

| A fully specified single ended 3.3v CMOS receiver
|
Vth = 1.5v
Vth_min = 1.45v
Vth_max = 1.53v
Vth_sensitivity = 0.45
Input_Ref_Supply = VOLTAGE_RANGE
Vinh_ac = +200mV
Vinh_dc = +100mV
Vinl_ac = -200mV
Vinl_dc = -100mV
|

---------------------------------------------------------------

(1) Set up Model Spec with "shift opposite" tolerances, of Vth_min
and Vth_max.  Vth_max of 0.03 added to min column values, Vth_min
of 0.05 subtracted from max column values.  Keep Vinh, Vinl differences.

| variable              typ             min             max
[Voltage Range]         3.3V            3.0V            3.6V
|

[Model Spec]
|   Subparameter          typ        min        max
|
| Thresholds
|
Vinh_ac                   1.7       1.538       1.830
Vinh                      1.6       1.468       1.730   
| Vth                      1.5        1.365        1.635 | without
                                                         | Vth_min/max shift
Vinl                      1.4       1.268       1.530
Vinl_ac                   1.3       1.168       1.430
|

(2) Set up Model Spec with "shift with" tolerances, of Vth_min
and Vth_max.  Vth_max of 0.03 added to max column values, Vth_min
of 0.05 subtracted from min column values.  Keep Vinh, Vinl differences.

[Model Spec]
|   Subparameter          typ        min        max
|
| Thresholds
|
Vinh_ac                   1.7       1.560       1.838
Vinh                      1.6       1.460       1.738   
| Vth                      1.5        1.365        1.635 | without
                                                         | Vth_min/max shift
Vinl                      1.4       1.260       1.538
Vinl_ac                   1.3       1.160       1.438
|

(3) Set up Model Spec with worst case Vinh and Vinl values without
keeping Vinh, Vinl differences.

[Model Spec]
|   Subparameter          typ        min        max
|
| Thresholds
|
Vinh_ac                   1.703       1.568       1.838
Vinh                      1.603       1.468       1.738   
| Vth                      1.5        1.365        1.635 | without
                                                         | Vth_min/max shift
Vinl                      1.395       1.260       1.530
Vinl_ac                   1.295       1.160       1.430
|

-------------------------------------------------------------------------

The [Model Spec] keyword could be used, but one of three interpretations
might be needed.  The (3) interpretation still retains the worst case
conditions on both ends, but does not keep the specified Vinh to Vinl
difference.  The other shifts cases show some of the threshold shifts.

Not all possible shifts are captured.  The new Specification allows
shifting based on INDEPENDENT Vth_min and Vth_max variations and
also INDEPENDENT External Reference changes.  While this may capture
correctly all of the tolerence variations, it means that simulators
would now have to program added tests.  They might just go with (3)
conditions anyway for conservative design, and look just at the
failure cases in more detail.

Bob Ross,
Mentor Graphics