Subject: BIRD #3

From: Stephen Peters <[email-masked]>
Date: Thu, 04 Nov 1993 16:40:31 -0800

Hello fellow IBISains --

     As promised during the last open forum meeting I started
to write a revised BIRD for ECL.  However....as I tried to
address the issues concerning clamp-diodes references, specifing
voltage rails, etc. it became apparent that I was trying to
kill two stones with one BIRD.  Therefore, BIRD #3 has become
a proposal that deals with the whole issue of handling multi-
supply devices and specifing devices that don't follow the
standard pullup/pulldown reference paradigm.  BIRD #4 will
follow shortly, and it deals stricly with the issue of
reducing the required voltage range when specifing ECL outputs.
I look forward to your comments.

	Best Regards,
	Stephen Peters
	Intel Corp.

----------------------------------------------------------------
	Buffer Issue Resolution Document  (BIRD)

BIRD ID#:     0003

ISSUE TITLE:  Multiple power supplies and references

REQUESTER:    Stephen Peters, Intel Corp.

DATE SUBMITTED:  Nov 4, 1993

DATE ACCEPTED BY IBIS OPEN FORUM:

******************************************************************************
******************************************************************************
STATEMENT OF THE ISSUE:  The IBIS specification currently does not address
devices that use more than one supply, or devices in which the pullups,
pulldowns, power_clamp or gnd_clamp diodes are referenced to voltages other
than that specified by the [Voltage range] keyword. This BIRD proposes
a general way in which both multiple power supplies can be defined and
V/I curve can be referenced to specific supplies. 

****************************************************************************
STATEMENT OF THE RESOLVED SPECIFICATIONS:  The specific change involves
adding four new keywords: [Pullup reference], [Pulldown reference],
[POWER_clamp reference] and [GND_clamp reference].  These keywords are
defined as shown below.  The following text replaces the current text
for the [Voltage range] keyword.

|==========================================================================
|    Keyword:  [Voltage range]
|   Required:  Yes
|Description:  Used to define the power supply voltage tolerance over which
|              the the model is intended to operate.  It also specifies the
|              default voltage rail the pullup and POWER_clamp V/I data is
|	       referenced to.
|Usage Rules:  Actual voltages (not percentages) are to be presented in the
|	       usual typ, min, max format.  "NA" is allowed for the min and
|	       max values only.
|---------------------------------------------------------------------------
| variable		typ	min	max
[Voltage range]		5.0v	4.5v	5.5v
|===========================================================================
|    Keyword:  [Pullup reference]
|   Required:  Yes, if the [Voltage range] keyword is not present.
|Description:  Used to define a voltage rail other than that defined by
|	       the [Voltage range] keyword as the reference voltage
|	       for the pullup V/I data.  
|Usage Rules:  Actual voltages (not percentages) are to be presented in the
|	       usual typ, min, max format.  "NA" is allowed for the min and
|	       max values only.
|Other Notes:  This keyword, if present, also defines the voltage range over
|	       which the min and max dV/dt_r values are derived.
|---------------------------------------------------------------------------
| variable		typ	min	max
[Pullup reference]	5.0V	4.5V	5.5V
|===========================================================================
|    Keyword:  [Pulldown reference]
|   Required:  Yes, if the [Voltage range] keyword is not present.
|Description:  Used to define a power supply rail other than 0v as the
|	       reference voltage for the pulldown V/I data.  If this keyword
|	       is not present the voltage data points in the pullup V/I table
|	       are referenced to 0v.
|Usage Rules:  Actual voltages (not percentages) are to be presented in the
|	       usual typ, min, max format.  "NA" is allowed for the min and
|	       max values only.
|Other Notes:  This keyword, if present, also defines the voltage range over
|	       which the min and max dV/dt_f values are derived.
|---------------------------------------------------------------------------
| variable		typ	min	max
[Pulldown reference]	0V	0V	0V
|===========================================================================
|    Keyword:  [POWER_clamp reference]
|   Required:  Yes, if the [Voltage range] keyword is not present.
|Description:  Used to define a voltage rail other than that defined by
|	       the [Voltage range] keyword as the reference voltage
|	       for the POWER_clamp V/I data.
|Usage Rules:  Actual voltages (not percentages) are to be presented in the
|	       usual typ, min, max format.  "NA" is allowed for the min and
|	       max values only.
|Other Notes:  Refer the "NOTES ON SPECIFYING POWER SUPPLIES" section below.
|---------------------------------------------------------------------------
| variable			typ	min	max
[POWER_clamp reference]		5.0V	4.5V	5.5V
|===========================================================================
|    Keyword:  [GND_clamp reference]
|   Required:  Yes, if the [Voltage range] keyword is not present.
|Description:  Used to define a power supply rail other than 0v as the
|	       reference voltage for the GND_clamp V/I data.  If this keyword
|	       is not present the voltage data points in the pullup V/I table
|	       are referenced to 0v.
|Usage Rules:  Actual voltages (not percentages) are to be presented in the
|	       usual typ, min, max format.  "NA" is allowed for the min and
|	       max values only.
|Other Notes:  Refer to the "NOTES ON SPECIFYING POWER SUPPLIES" section below.
|---------------------------------------------------------------------------
| variable			typ	min	max
[GND_clamp reference]		0V	0V	0V
|============================================================================
|		NOTES ON SPECIFYING POWER SUPPLIES
|  It is the intention that standard TTL and CMOS devices be specified
|  using only the [Voltage range] keyword.  However, in cases where
|  the output characteristics of a device depend on more than a single
|  supply and ground, or a pullup, pulldown or clamp structure is referenced
|  to something other than the default supplys, the additional 'reference'
|  keywords are to be used.
|      If the [Voltage range] keyword is not present then all four of the
|  other keywords must be present.  If the [Voltage range] keyword is
|  present the other keywords are optional and may or may not be used as
|  required.  It is legal (although redundant) for an optional keyword to
|  specify the same voltage as specified by the [Voltage range] keyword.

*******************************************************************************
ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:  Most of the above is fairly
self-explanatory.  The key here is to realize that the four 'reference'
keywords, in effect, create separate power supply rails that override
the default [Voltage range] supply.  The intention was to create a very
general and flexible way to handle multiple supply devices and ECL.
To illustrate with some examples:

  1. An RS23 line driver has a +/- 12V output swing.  One way to specify
     this device is shown below
				typ	min	max
     [Voltage range]		12.0V	11.5V	12.5V  | fixes pullup and
						       | POWER_clamp ref
     [Pulldown reference]	-12.0V	-12.5V	-11.5V | fixes pulldown ref
     [GND_clamp reference]	-12.0V  -12.5v	-11.5V | fixes GND_clamp ref
  
     Optionally, the [Voltage range] keyword could be replaced with the
     [Pullup reference] and [POWER_clamp] reference.

  2. A device uses two supplies, a 3V supply for its I/O and a 5V supply for
     it's internal logic.  The power clamp diodes are referenced to the 5V
     supply.  Their are two equally valid ways this device can be specified.

				typ	min	max
     [Voltage range]		3.3V	3.0V	3.6V  | fixes pullup reference
     [POWER_clamp reference	5.0V	4.5V	5.5V  | fixes POWER_clamp
						      | reference
			
				typ	min	max
     [Voltage range]		5.0V	4.5V	5.5V  | fixes both pullup and
						      | POWER_clamp reference
     [Pullup reference]		3.3V	3.0V	3.6V  | overrides [Voltage
						      | range] specification
						      | on the pullup

  3. When specifying a device with an ECL type output structure, the pulldown
     curves must be referenced to the most positive supply (the same one that
     the pullup curves are referenced to).  The easiest way to do this is
     define the value of the [Voltage range] as 0v.  Both the pullup AND
     pulldown V/I curves will be referenced to 0v (remember, the pulldown
     defaults to 0v). 

				typ	min	max
     [Voltage range]		0V	0V	0V	| VCC supply
     [Pulldown reference]  	0V	0V	0V	| not really
							| required, its
							| specified for 
							| completeness
     [GND_clamp reference]	-4.5V	-3.5V	-5.5V	| ESD diode

     Alternately, one could specify the VEE supply and then override the
     default values of the pullup and pulldown references
				typ	min	max
     [Voltage range]		-4.5V	-4.0V	-5.5v	| VEE supply
     [Pullup reference]		0v	0v	0V
     [Pulldown reference]	0v	0v	0v  
     [GND_clamp reference]	-4.5V	-3.5V	-5.5V	| ESD diode

     Finally, to specify ECL logic that is used with a +5V supply
     (positive ECL) one can do the following:

				typ	min	max
     [Voltage range]		5.0V	4.5V	5.5V	| VCC supply
     [Pulldown reference]	5.0V	4.5V	5.5V	| override default

     The default references are used for the pullup and GND_clamp V/I
     curves.

******************************************************************************
ANY OTHER BACKGROUND INFORMATION:
******************************************************************************