Subject: IBIS approved BIRD 3.0 and template

From: Derrick Duehren <[email-masked]>
Date: Wed, 2 Feb 94 23:44:03 PST

Text item: Text_1

Let's try this again...in smaller chunks.  This is approved BIRD 3.0 and the 
BIRDS.TXT instructions/template file.

>Attached are all of the cleaned up BIRD files as of 2/2/94.  (They should end 
>up concatenated below.  These will also be posted to vhdl.org as soon as I 
>figure out how to get them there.)  I have cleaned up formatting 
>inconsistencies and problems (such as converting tabs to spaces).  I have named
>the files with p (new/pending), a (approved), and d (dead) prefixes (such as 
>abird3_0.txt, for approved BIRD 3.0).

- Derrick Duehren

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++ birds.txt ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

BIRD filename convention:

pbirdn_n.txt   new/pending
abirdn_n.txt   approved
dbirdn_n.txt   dead

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

Howdy,                                                                  9/15/93

The following is your key to getting issues resolved in the IBIS Open Forum.
It's called a "Buffer Issue Resolution Document" or "BIRD".  Issues must be well
thought out and clearly documented using this template to be placed on
the agenda of a future IBIS Open Forum.

Here's how the process works.  Write up your issue and submit it to Will.  
Will's group will do a preliminary check for completeness and (potentially) send
your BIRD back to you.  If not, Will will post the issue to the reflector.  Each
issue must be out for review for two weeks before the Open Forum will vote on 
it. During that time, you will be expected to answer questions related to your 
BIRD. In each meeting announcement, Will will list those BIRDs that are ready 
for a vote at that meeting.  A BIRD will be accepted if EVERYONE at the meeting 
agrees with it.

Please note that Open Forum time will not be used for detailed BIRD review, but
rather for confirming consensus.  Detailed review MUST ensue during the two-week
review cycle via emails.  Dissenters should not wait until the Open Forum to
express their opinions.

So far the group has been exceedingly cooperative, achieving a 1.0 spec in only
a couple of months.  Hopefully this process will allow us to use time more
efficiently, while maintaining the same flavor in the larger group setting.

Regards,  Don Telian

NOTE:  All text in french brackets is for explanation only and should be 
deleted.

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

                       Buffer Issue Resolution Document  (BIRD)

BIRD ID#:      {don't fill in, will be filled in by Will Hobbs for tracking}
ISSUE TITLE:   {one line description of your issue}
REQUESTOR:     {your name and company}

DATE SUBMITTED:                       {date you sent to Will}
DATE REVISED:                         {revision date}
DATE ACCEPTED BY IBIS OPEN FORUM:     {status or date BIRD accepted}

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

STATEMENT OF THE ISSUE:

      {Place a short description of your issue here.  People should be able
       tell by reading this if they care about this in less than 1 minute.}

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

STATEMENT OF THE RESOLVED SPECIFICATIONS:

      {For new keywords, write the text EXACTLY AS IT SHOULD APPEAR in a
       future IBIS specification.  If this is a change, state the old text
       and the new text again EXACTLY AS IT SHOULD APPEAR.  Be sure to give
       intended location in the specification.}

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

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:

      {There are many "experts" reviewing this document.  Your reasons, 
analysis,
       and justifications must be precise and well documented, or your BIRD will
       be sent back to you.  Use this section to show that you've done your
       homework, and answer all questions that will undoubtedly be asked.  If
       your issue is a change instead of an enhancement, document how backward
       compatibility is to be addressed.}

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

ANY OTHER BACKGROUND INFORMATION:

      {These documents will be archived, so use this section to carry any detail
       that is not essential to the previous section, but should not be lost.}

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

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++ abird3_0.txt +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

                   Buffer Issue Resolution Document  (BIRD)

BIRD ID#:     3.0
ISSUE TITLE:  Multiple Power Supplies and References
REQUESTER:    Stephen Peters, Intel Corp.

DATE SUBMITTED:                     November 4, 1993
DATE ACCEPTED BY IBIS OPEN FORUM:   November 11, 1993

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

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:
******************************************************************************