Subject: Bird 63 -- Documentation of Receiver Setup and Hold Timing Conditions

From: Stephen Peters <[email-masked]>
Date: Wed, 08 Sep 1999 09:51:37 -0700

Hello fellow IBISans:

   Following is a bird that enables an IBIS file to document the conditions
under which a devices setup and hold time are specified.  This bird is
a companion to BIRD #62, receiver spec.  Comments appreciated.

    Regards,
    Stephen Peters
    Intel Corp.

--------- cut here -------------------

                 Buffer Issue Resolution Document  (BIRD)

BIRD ID#:     63
ISSUE TITLE:  Documentation of Receiver Setup and Hold Timing Conditions
REQUESTOR:    D.C. Sessions (Philips), Stephen Peters, Richard Melitz,
              Arpad Muranyi (Intel Corp.)

DATE SUBMITTED:  Sept 8, 1999
DATE ACCEPTED BY IBIS OPEN FORUM:

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

STATEMENT OF THE ISSUE:  Currently, the edge rate and overdrive conditions 
under which a receiver's data book setup and hold timings are specified are 
not documented.  This bird provides a way for the model creator to document
those conditions in an IBIS file.

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

STATEMENT OF THE RESOLVED SPECIFICATIONS:  

1) The following new keyword is defined and placed in the specification 
just below the [Receiver Spec] keyword.

|=============================================================================
|      Keyword: [Tester Spec]
|     Required: No
|   Sub-Params: Tester_Vlow, Tester_Vhigh, Tester_Vth, Tester_Slew_Setup,
|               Tester_Slew_Hold
|  Description: The [Tester Spec] keyword documents the input overdrive
|               and tester slew rate conditions under which a device's
|               input setup and hold times are specified.  The subparameters 
|               are defined as follows:
|
|               Tester_Vth is an arbitrary voltage reference point.  It is
|               usually the input voltage at which the output of a digital 
|               logic receiver changes state.  Tester_Vth is used as the 
|               reference voltage for the Tester_Vlow and Tester_Vhigh
|               parameters.
|
|               Tester_Vlow represents the starting voltage of the low-to-high 
|               going waveform a tester uses when characterizing a receiver's
|               setup or hold time. It also represents the ending voltage of a 
|               high-to-low going waveform.  Tester_Vlow is expressed as an 
|               offset from Tester_Vth.
|
|               Tester_Vhigh represents the ending voltage of the low-to-high 
|               going waveform a tester uses when characterizing a receiver's
|               setup or hold time. It also represents the starting voltage of
|               a high-to-low going waveform.  Tester_Vhigh is expressed as an 
|               offset from Tester_Vth.
|
|               Tester_Slew_Setup is the tester waveform's slew rate at 
|               which a receiver's setup time is specified.  For purposes of 
|               this keyword, slew rate is defined as:
|
|                               Tester_Vhigh - |Tester_Vlow|
|         Slew Rate  = -------------------------------------------
|                        Time it takes to swing the above voltage
|
|               Tester_Slew_Setup must be expressed as a number, not as
|               a fraction.  
|
|               Tester_Slew_Hold is the tester waveform's slew rate at which 
|               a receiver's hold time is specified.  Slew rate is defined
|               as above.  Tester_Slew_Hold must be expressed as a number,
|               not as a fraction.
|
|
| Usage Rules:  The [Tester Spec] keyword is valid if the model type
|               includes any reference to input or I/O.  All subparameters
|               are required to be present.  When entering a value the
|               subparameter argument and the subparameter itself must
|               be separated by an equals sign (=).
|
|               Differential Receivers:
|               For a single ended receiver the numerical value of 
|               Tester_Vth is specified with respect to 0v.  However, if 
|               the [Tester Spec] keyword is describing a differential receiver
|               (i.e. is part of a [Model] statement that describes a pin 
|               listed in the [Diff Pin] keyword), then the numerical value of 
|               Tester_Vth is given as 0v.  Tester_Vlow and Tester_Vhigh
|               are assumed to represent the difference voltage between one
|               input and the other.
|
|
| A basic 3.3v single ended receiver 
Tester_Vth   = 1.5v
Tester_Vlow  = -1.0v
Tester_Vhigh = 2.5v
Tester_Skew_setup = 1v/1ns
Tester_Skew_hold = 1v/1ns
|
| A differential reciever
Tester_Vth = 0V
Tester_Vlow = -200mV
Tester_Vhigh = +200mV
Tester_Skew_setup = 1v/1ns
Tester_Skew_hold = 1v/1ns
|
|
*******************************************************************************

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:  Like it's companion BIRD #62,
this bird is an attempt to better specify and document a receiver's 
functionality.  It follows the convention of the previous BIRDS in that
most of the parameter values are specified as an offset from a reference 
voltage.  This technique supports both single ended and differential 
receivers.

Note that there are separate slew rate entries for setup and hold time.  When
formulating this bird the authors were not sure if receiver hold time was
specified under different slew rate conditions than setup time.  Thus,
separate slew rate entries.  These two parameters can be collapsed into one
if further information indicates that this is not the case.

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

ANY OTHER BACKGROUND INFORMATION: This BIRD is a direct result of a
request by the JEDEC JC-15 committee to the IBIS Open Forum to provide better
specification of receivers.  The basic form of this bird was discussed at
a meeting in July 1999 between DC Sessions of Phillips Corp. and Stephen
Peters, Richard Melitz and Aprad Muranyi of Intel Corp.

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

---

From: "D. C. Sessions" <[email-masked]>
Date: Thu, 09 Sep 1999 19:52:16 -0700

> --------- cut here -------------------

I absolutely refuse.

> DATE ACCEPTED BY IBIS OPEN FORUM:

Not exactly arbitrary.  This is the point at which input events are characterized
to happen.  It's exactly equivalent to Vmeas on ouput.  It doesn't matter whether
the input changes state at this point or not, but it DOES matter that this is the
point where setup and hold times are defined.

> |                        Time it takes to swing the above voltage

I don't think this expression works.  If Tester_Vhigh is +200mv and
Tester_Vlow is -200mv then this comes out to zero.  Counterintuitive.
Now if you replace the absolute-value brackets with parentheses, I'll
go for it.

> |               are assumed to represent the difference voltage between one

I think we should keep it general.  In most cases differential Tester_Vth will be
zero, but if I try I can imagine a situation where that's not true.  Perhaps we
should just say that in differential receivers Tester_Vth is typically zero.

> Tester_Skew_hold = 1v/1ns

Ummmm... Stephen?  Just above you wrote that these were to be
pure numbers, not fractions.  Also, shouldn't these be
"Tester_Slew" and not "Tester_Skew" ?  A skew spec seems a
bit outside of scope...

-- 
D. C. Sessions
[email-masked]