Subject: BIRD #62 -- Enhanced Specification of Receiver Thresholds

From: Stephen Peters <[email-masked]>
Date: Tue, 24 Aug 1999 08:48:05 -0700

Hello All:

   As promised, here is the next bird dealing with characterizing
and specifying receivers.  Comments welcome.

   Regards,
   Stephen

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

                 Buffer Issue Resolution Document  (BIRD)

BIRD ID#:      62
ISSUE TITLE:   Enhanced Specification of Receiver Thresholds
REQUESTOR:     DC Sessions (Philips), Stephen Peters, Richard Melitz,
               Arpad Muranyi (Intel Corp).
DATE SUBMITTED:  Aug 24, 1999
DATE ACCEPTED BY IBIS OPEN FORUM:

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

STATEMENT OF THE ISSUE:  When specifying receiver input thresholds the current
specification allows only the traditional DC derived Vinh and Vinl parameters.
These two parameters are no longer adequate for describing receivers used for
high speed designs.  This BIRD proposes four new input switching threshold 
parameters: Vinh_ac, Vinh_dc, Vinl_ac, Vinl_dc.  These parameters are 
referenced to an reference point Vth, and this reference is allowed to vary
with variations in a supply.

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

STATEMENT OF THE RESOLVED SPECIFICATIONS:  

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

|=============================================================================
|      Keyword: [Receiver Thresholds]
|     Required: No
|   Sub-Params: Vth, Vth_min, Vth_max, Vinh_ac, Vinh_dc, Vinl_ac, Vinl_dc, 
|               Vth_sensitivity, Input_Ref_Supply
|  Description: The [Receiver Thresholds] keyword defines both a set of 
|               receiver input thresholds as well as their sensitivity to 
|               variations in a referenced supply.  The subparameters are
|               defined as follows:
|
|               Vth, Vth_min and Vth_max are the ideal input threshold voltage
|               at which the output of a digital logic receiver changes state.
|               Vth is the nominal input threshold voltage under the voltage, 
|               temperature and process conditions that define 'typ'.  Vth_min
|               is the minimum input threshold voltage at 'typ' conditions 
|               while Vth_max is the maximum input threshold voltage at 'typ' 
|               conditions.
|
|               Vinh_ac is the voltage that a low-to-high going input waveform
|               must reach in order to guarantee that the receiver's output 
|               has changed state.  In other words, reaching Vinh_ac is 
|               sufficient to guarantee a receiver state change.  Vinh_ac is 
|               expressed as an offset from Vth.
|
|               Vinh_dc is the voltage that an input waveform must remain 
|               above (more positive than) in order to guarantee that a 
|               receiver output will NOT change state.  Vinh_dc is expressed 
|               as an offset from Vth.
|
|               Vinl_ac is the voltage that a high-to-low going input waveform
|               must reach in order to guarantee that the receiver's output
|               has changed state.  In other words, reaching Vinl_ac is 
|               sufficient to guarantee a receiver state change.  Vinl_ac
|               is expressed as an offset from Vth.
|
|               Vinl_dc is the voltage that an input waveform must remain below
|               (more negative than) in order to guarantee that a receiver's 
|               output will NOT change state.  Vinh_dc is expressed as a
|               offset from Vth.
|
|               Vth_sensitivity is a unitless number that specifies how Vth 
|               varies with respect to the supply voltage defined by the
|               Input_Ref_Supply subparameter. Vth_sensitivity is defined
|               as:
|
|                                   change in input threshold voltage
|               Vth_sensitivity = ------------------------------------
|                                  change in referenced supply voltage
|               
|               Vth_sensitivity must be entered as a number, not as a
|               fraction.
|
|               Input_Ref_Supply indicates which supply voltage Vth tracks;
|               i.e. it indicates which supply voltage change causes a change
|               in input threshold.  The legal arguments to this subparameter
|               are VOLTAGE_RANGE (the supply voltage defined by the 
|               [Voltage Range] keyword), PULLUP_REF (the supply voltage
|               defined by the [Pullup Reference] keyword), or EXT (an
|               external voltage defined by the [External Reference] keyword).
|
|
| Usage Rules:  The [Receiver Thresholds] keyword is valid if the model type
|               includes any reference to input or I/O.  The Vinh_ac, Vinh_dc, 
|               Vinl_ac, Vinh_dc and Vth subparameters are required and
|               override any threshold subparmeters declared under the [Model] 
|               or [Model Spec] keywords.  The Vth_min, Vth_max, 
|               Vth_sensitivity and Input_Ref_Supply subparameters are 
|               optional.  However, if the Vth_sensitivity subparameter is 
|               present then the Input_Ref_Supply subparameter must also be
|               present.   
|
|               Vth at Minimum or Maximum Operating Conditions:
|               As described above, the Vth_min and Vth_max subparameters 
|               define the minimum and maximum input threshold values under
|               typical operating conditions.  There is no provision for
|               directly specifying Vth under minimum or maximum operating
|               conditions.  Instead, these values are calculated using
|               the following equation:
|
|           Vth(new) = Vth(x) + (Vth_sensitivity) X (change in supply voltage)
|             
|               where Vth(x) is either Vth, Vth_min or Vth_max as appropriate,
|               and the supply voltage is the one indicated by the
|               Input_Ref_Supply subparameter.
|
|               
|               Differential Receivers:
|               For a single ended receiver the numerical values of Vth, 
|               Vth_min and Vth_max are specified with respect to 0v.  
|               However, if the [Receiver Threshold] 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
|               Vth is assigned a value of zero volts and the Vth_min and 
|               Vth_max parameters are not used.  The values of Vinh_* and 
|               Vinl_* subparameters are still given as an offset from Vth 
|               and become, in effect, the more traditional Vdiff.
|
|
| Examples:
| 
| A basic 3.3v single ended receiver using only the required
| subparameters
|
Vth = 1.5v
Vinh_ac = +225mV
Vinh_dc = +100mV
Vinl_ac = -225mV
Vinl_dc = -100mV
|
|
| 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.
|
Vth = 1.0v
Vth_sensitivity = 1
Input_Ref_Supply = EXT
Vinh_ac = +200mV
Vinh_dc = +100mV
Vinl_ac = -200mV
Vinl_dc = -100mV
|
|
| 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
|
|
| A differential receiver
|
Vth = 0.0v
Vinh_ac = +50mV
Vinh_dc = +25mV
Vinl_ac = -50mV
Vinl_dc = -25mV

2) The following new keyword is defined and place in the specification
following the [GND Clamp Reference] keyword
|=============================================================================
|      Keyword: [External Reference]
|     Required: Yes, if a receiver's input threshold is determined by an
|               external reference voltage
|  Description: Defines a voltage source that supplies the reference voltage
|               used by a receiver for its input threshold reference.
|  Usage Notes: Provide actual voltages (not percentages in the typ, min max
|               format.  "NA" is allowed for the min and max values only.
|-----------------------------------------------------------------------------
| variable              typ          min           max
[External Reference]    1.0v         0.95v        1.05v

3)  Under section 2 of General Syntax Rules and Guidelines the following 
words are added to the list of reserved words.

EXT   -  A reference to a voltage defined by the [External Reference] Keyword
VOLTAGE_RANGE - A reference to a voltage defined by the [Voltage Range] keyword
PULLUP_REFERENCE - A reference to a voltage defined by the [Pullup
Reference] keyword

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

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:  This proposal follows the
recomendations of the JC-15 committee for specifing SDRAM inputs.

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

ANY OTHER BACKGROUND INFORMATION:

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

---

From: Fred Balistreri <[email-masked]>
Date: Tue, 24 Aug 1999 15:17:05 -0700

> DATE ACCEPTED BY IBIS OPEN FORUM:
I passed some comments to Steven Peters about the general receiver bird.
Steven thought
it would be helpful to express those comments on the ibis reflector to
get feed back. Here is the jest of my comments.

The current bird will require eda vendors to essentially measure slope
to determine delay. My idea would be to provide device voltage transfer
information. That is vout as a function of the controlling vin. In this
way there is no need to specify delay as a function of slope. The delay
is measured at the output as it attains a high or low. Hystersis 
information can be added as a function of low to high or high to low.
This may greatly simplify the spec and more importantly make it
easier for EDA companies to implement. 

Comments please.

Best Regards,

-- 
Fred Balistreri
[email-masked]

http://www.apsimtech.com

---

From: "Dr. Edward P. Sayre" <[email-masked]>
Date: Tue, 24 Aug 1999 19:33:31 -0400

Fred:

Doesn't this mean that Vout vs. Vin should be measured at speed?  That is,
under the same conditions that vout vs. time is measured and tabulated?

ed sayre
=================
>> DATE ACCEPTED BY IBIS OPEN FORUM:
****************************************************************************
***
****************************************************************************
***
>> with variations in a supply.
****************************************************************************
***
>> PULLUP_REFERENCE - A reference to a voltage defined by the [Pullup
****************************************************************************
***
>> recomendations of the JC-15 committee for specifing SDRAM inputs.
****************************************************************************
***
>> ANY OTHER BACKGROUND INFORMATION:
****************************************************************************
***
>easier for EDA companies to implement. 

+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
|       NORTH EAST SYSTEMS ASSOCIATES, INC.       |
|      -------------------------------------      |
|     "High Performance Engineering & Design"     |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
| Dr. Ed Sayre            e-mail: [email-masked] |
| NESA, Inc.              http://www.nesa.com/    |
| 636 Great Road          Tel +1.978.897-8787     |
| Stow, MA 01775 USA      Fax +1.978.897-5359     |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+

---

From: "D. C. Sessions" <[email-masked]>
Date: Tue, 24 Aug 1999 16:57:38 -0700

> easier for EDA companies to implement.

I think that this actually addresses the subject of BIRD #61 instead,
so I've changed the 'Subject:' to match.  #62 just attempts to capture
in IBIS the same specification semantics that already exist in standards
such as SSTL and HSTL so that there is common ground between the SI tools
and device timing specs.

WRT using vout <= f( vin ) semantic, the problem is that this is not
a static function.  The whole point is that it's time-sensitive in
some pretty nonlinear ways.  We had a go at characterizing input
delays using algebraicly and weren't happy with the results, so we
fell back on the IBIS tabular strategy.

That doesn't mean that there isn't some clever way to do it more
concisely; it just means that the BIRD's authors weren't smart
enough to find it.  Maybe one of the other listmembers will fare
better.

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