Subject: VERSION1.1Y 2 OF 4

From: [email-masked] ( Bob Ross)
Date: Fri, 6 May 94 10:15:45 PDT

|*              the [Model] Polarity specification such that the pin in the
|*              [Diff_pin] column will be Non-Inverting and the pin in the 
|*              inv_pin column will be Inverting.  This convention allows
|*              one [Model] to be used for both pins. 
|*
|*              Column length limits are:
|*                      [Diff_Pin]        5 characters max 
|*                      inv_pin           5 characters max 
|*                      vdiff             9 characters max 
|*                      tdelay_typ        9 characters max
|*                      tdelay_min        9 characters max
|*                      tdelay_max        9 characters max
|*
|*              Each line must contain either four or six columns.  If "NA" is
|*              entered in the vdiff, tdelay_typ or tdelay_min columns, its
|*              entry will be interpreted as 0V or 0ns.  If "NA" appears in
|*              the tdelay_max column, its value will be interpreted as the
|*              tdelay_typ value.  When using six columns, the headers 
|*              tdelay_min and tdelay_max must be listed.  Entries for the 
|*              tdelay_min column are based on minimum magnitudes; and 
|*              tdelay_max column, maximum magnitudes.  One entry of vdiff
|*              regardless of its polarity is used for difference magnitudes.
|*--------------------------------------------------------------------------- 
[Diff_Pin]  inv_pin  vdiff  tdelay_typ tdelay_min tdelay_max
|*
 3           4       150mV    -1ns       0ns      -2ns  | Input or I/O pair
 7           8         0V      1ns        NA        NA  | Output* pin pair
 9          10         NA       NA        NA        NA  | Output* pin pair
16          15       200mV     1ns    | Input or I/O pin pair 
20          19         0V       NA    | Output* pin pair, tdelay = 0ns
22          21         NA       NA    | Output*, tdelay = 0ns
                                      | * Could be Input or I/O with vdiff = 0V
|******************************************************************************
|==============================================================================|
|     Keyword:  [Model]                                                        |
|    Required:  Yes                                                            |
| Description:  Used to define a model, and its attributes.                    |
|  Sub-Params:  Model_type, Polarity, Enable, Vinl, Vinh, C_comp               |
|*
|* BIRD7.2 and 9.3 modifications
|* Usage Rules:  Each Input, Output, I/O, 3-state, Open_drain, I/O_open_drain,
|*               Open_sink, I/O_open_sink, Open_source, I/O_open_source,
|*               Input_ECL, Output_ECL, I/O_ECL and Terminator model must
|*
|               begin with the keyword [Model].  The model_name must match     |
|               the one that is listed under the [Pin] keyword and must not    |
|               contain more than 20 characters.  An .ibs file must contain    |
|               enough [Model] keywords to cover all of the model_names        |
|               specified under the [Pin] keyword, except for those            |
|               model_names which use reserved words (POWER, GND and NC).      |
|               Model_names with reserved words are an exception and           |
|               they do not have to have a corresponding [Model] keyword.      |
|               C_comp is allowed to use "NA" for the min and max values only. |
|*
|* BIRD2.2 addition
|* The model types Input, I/O, I/O_open_drain, I/O_open_sink,
|* I/O_open_soure must have Vinl and Vinh defined. If
|* they are not defined, the parser will issue a warning and the default
|* values of Vinl=.8V and Vinh=2.0V will be assumed.
|*
|* The model types  Input_ECL and I/O_ECL must have Vinl and Vinh defined. If
|* they are not defined, the parser will issue a warning and the default
|* values of Vinl=-1.475V and Vinh=-1.165V will be assumed.
|*
|* BIRD9.3 change
|* Other Notes:  A complete [Model] description normally contains the following 
|*               keywords:  [Voltage range], [Pullup], [Pulldown], [GND_clamp], 
|*               [POWER_clamp], [Rgnd], [Rpower], [Rac], [Cac],
|*               and [Ramp].  However, some models may have only 
|*               a subset these keywords.  For example, an input structure      
|*               normally only needs the [Voltage range], [GND_clamp], and      
|*               possibly the [POWER_clamp] keywords.  If one or more of
|*               [Rgnd], [Rpower], [Rac] and [Cac] keywords are used, then
|*               the Model_type must be Terminator.                  
|*
|* BIRD2.2 addition
|* A "Terminator" is an input only device that can have analog loading effects
|* on the circuit being simulated but has no digital logic thresholds.
|* Examples of "Terminators" are: Capacitors, Termination Diodes, Pullup
|* resistors etc.
|*
|* BIRD7.2 addition
|*               Model_types with "open_sink" specify that the output has
|*               an OPEN side (the [Pullup] keyword is not used or I = 0mA
|*               for all voltages specified) AND the output SINKS current.
|*               Model_types with "open_drain" have the identical meaning and
|*               are retained for backward compatibility.  Model_types with
|*               "open_source" specify that the output has an OPEN side (the
|*               [Pulldown keyword is not used or I = 0mA for all voltages
|*               specified) AND the output SOURCES current.  Model_types with 
|*               "_ECL" specify that the model represents and ECL type logic
|*               which follows different conventions for the [Pulldown] keyword.
|*
|               Note that C_comp defines the silicon die capacitance.  This    |
|               value should not include the capacitance of the package.       |
|                                                                              |
|------------------------------------------------------------------------------|
[Model]         model_name
|*
|* BIRD7.2 and BIRD9.3 modification
Model_type      Input, Output, I/O, 3-state, Open_drain, I/O_open_drain,
                Open_sink, I/O_open_sink, Open_source, I/O_open_source,
                Input_ECL, Output_ECL, I/O_ECL, Terminator     | List one only
|*
Polarity        Non-Inverting, Inverting                | List one only, if any
Enable          Active-High, Active-Low                 | List one only, if any
| Signals       RAS, CAS, A(0-64), D(0-128),...         | Local list, if desired
Vinl = 0.8V                             | input logic "low" DC voltage, if any
Vinh = 2.0V                             | input logic "high" DC voltage, if any
| variable      typ             min             max
C_comp          12.0pF          10.0pF          15.0pF
|==============================================================================|
|     Keyword:  [Voltage range]                                                |
|    Required:  Yes                                                            |
| Description:  Used to define the power supply voltage tolerance over which   |
|               the model is intended to operate.                              |
| Usage Rules:  Actual voltages (not percentages) are to be presented in the   |
|               usual typ, min, max format.  "NA" is allowed for the min and   |
|               values only.                                                   |
| Other Notes:  [Voltage range] also describes the voltage range over which    |
|               the various V/I curves and ramp rates were derived.            |
|------------------------------------------------------------------------------|
| variable              typ             min             max
[Voltage range]         5.0V            4.5V            5.5V
|******************************************************************************
|*     BIRD3 replacement of [Voltage range] text above for VERSION 1.1X 
|*==========================================================================
|*    Keyword:  [Voltage range]
|*   Required:  Yes, if [Pullup reference], [Pulldown reference],
|*              [Power_clamp reference], and [GND_clamp reference] are not
|*              present
|*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 pulldown 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 GND_clamp 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.
|******************************************************************************
|==============================================================================|
|    Keywords:  [Pulldown], [Pullup], [GND_clamp], [POWER_clamp]               |
|    Required:  Yes, if they exist in the device                               |
| Description:  The data points under these keywords define the V/I curves of  |
|               the pulldown and pullup structures of an output buffer and the |
|               V/I curves of the clamping diodes connected to the GND and the |
|               POWER pins, respectively.                                      |
|*
|* BIRD11.2 Continuation of Previous Paragraph:
|*                                         Currents are considered positive
|*              when their direction is into the component.
|*
| Usage Rules:  In each of these sections the first column contains the        |
|               voltage value, and the three remaining columns hold the        |
|               typical, minimum, and maximum current values.   The four       |
|               entries, Voltage, I(typ), I(min), and I(max) must be placed on |
|               a single line and must be separated by at least one white      |
|               space or tab character.                                        |
|               All four columns are required under these keywords, however    |
|               data is only required in the typical column.  If minimum       |
|               and/or maximum current values are not available, the reserved  |
|               word "NA" must be used.  "NA" can be used for currents in the  |
|               typical column, but numeric values MUST be specified for the   |
|               first and last voltage points on any V/I curve.  Each V/I      |
|               curve must have at least 2, but not more than 100, voltage     |
|               points.                                                        |
| Other Notes:  It should be noted that the V/I curve of the [Pullup] and the  |
|               [POWER_clamp] structures are 'Vcc relative', meaning that the  |
|               voltage values are referenced to the Vcc pin.  The voltages in |
|               the data tables are derived from the equation:                 |
|                       Vtable = Vcc - Voutput                                 |
|               Therefore, for a 5V component, -5 V in the table actually      |
|               means 5 V above Vcc, which is +10 V with respect to ground;    |
|               and 10 V means 10 V below Vcc, which is -5 V with respect to   |
|               ground.  Vcc-relative data is necessary to model a pullup      |
|               structure properly, since the output current of a pullup       |
|               structure depends on the voltage between the output and Vcc    |
|               pins and not the voltage between the output and ground pins.   |
|               Note that the [GND_clamp] V/I curve can include quiescent      |
|               input currents, or the currents of a 3-stated output if so     |
|               desired.                                                       |
|******************************************************************************
|*                       BIRD4 ADDITION FOR VERSION 1.1X
|*     When tabulating data for ECL devices, the data in the pulldown table
|*     is measured with the output in the 'logic low' state.  In other words,
|*     the data in the table represents the V-I characteristics of the
|*     output when the output is at the most negative of its two logic
|*     levels.  Likewise, the data in the pullup table is measured with the
|*     output in the 'logic one' state and represents the V-I characteristics
|*     when the output is at the most positive logic level.  Note that in BOTH
|*     these cases the data is referenced to the VCC supply voltage, using
|*     the equation  Vtable = Vcc - Voutput.
|******************************************************************************
|------------------------------------------------------------------------------|
[Pulldown]
|  Voltage   I(typ)    I(min)    I(max)
|
   -5.0V    -40.0m    -34.0m    -45.0m
   -4.0V    -39.0m    -33.0m    -43.0m
|    .
|    .
    0.0V      0.0m      0.0m      0.0m
|    .
|    .
    5.0V     40.0m     34.0m     45.0m
   10.0V     45.0m     40.0m     49.0m
|
[Pullup]
|
|  Voltage   I(typ)    I(min)    I(max)
|
   -5.0V     32.0m     30.0m     35.0m
   -4.0V     31.0m     29.0m     33.0m
|    .
|    .
    0.0V      0.0m      0.0m      0.0m
|    .
|    .
    5.0V    -32.0m    -30.0m    -35.0m
   10.0V    -38.0m    -35.0m    -40.0m
|
[GND_clamp]
|
|  Voltage   I(typ)    I(min)    I(max)
|
   -5.0V  -3900.0m  -3800.0m  -4000.0m
   -0.7V    -80.0m    -75.0m    -85.0m
   -0.6V    -22.0m    -20.0m    -25.0m
   -0.5V     -2.4m     -2.0m     -2.9m
   -0.4V      0.0m      0.0m      0.0m
    5.0V      0.0m      0.0m      0.0m
|
[POWER_clamp]
|
|  Voltage   I(typ)    I(min)    I(max)
|
   -5.0V   4450.0m       NA        NA
   -0.7V     95.0m       NA        NA
   -0.6V     23.0m       NA        NA
   -0.5V      2.4m       NA        NA
   -0.4V      0.0m       NA        NA
    0.0V      0.0m       NA        NA
|*******************************************************************************
|*                    BIRD9.3 ADDITION FOR VERSION 1.1Y 
|*========================================================================== 
|*    Keywords:  [Rgnd], [Rpower], [Rac], [Cac]        
|*    Required:  Yes, if they exist in the device                              
|* Description:  The data for these keywords define the resistance values of
|*               Rgnd and Rpower connected to GND and the POWER pins,           
|*               respectively.                                                 
|* Usage Rules:  For each of these sections the three columns hold the         
|*               typical, minimum, and maximum resistance values.  The three  
|*               entries for R(typ), R(min), and R(max) or C(typ), C(min),
|*               and C(max) must be placed on a single line and must be    
|*               separated by at least one white space or tab character.       
|*               All three columns are required under these keywords, however  
|*               data is only required in the typical column.  If minimum      
|*               and/or maximum values are not available, the reserved word
|*               "NA" must be used indicating the R(typ) or C(typ) value by
|*               default.  
|* Other Notes:  It should be noted that [Rpower] is connected to 'Vcc' and   
|*               [Rgnd] is connected to 'GND'.  However, [GND_clamp reference] 
|*               voltages, if defined, apply to [Rgnd].  [POWER_clamp reference]
|*               voltages,  if defined, apply to [Rpower].                                                 |*               Either or both [Rgnd] and [Rpower] may be defined and may
|*               co-exist with [GND_clamp] and [POWER_clamp] structures.
|*               If an AC terminator is specified, then both [Rac] and [Cac]
|*               are required.
|*               When [Rgnd], [Rpower], or [Rac] and [Cac] are specified, the
|*               Model_type must be Terminator.
|*------------------------------------------------------------------------------
|* variable      R(typ)          R(min)          R(max)
|*
[Rgnd]          330Ohm          300Ohm          360Ohm   | Parallel Terminator
[Rpower]        220Ohm          200Ohm          NA       |
|*
[Rac]            30Ohm          NA              NA       | 
|*                                                       
|* variable      C(typ)          C(min)          C(max)  | AC terminator
|*                                                        
[Cac]            50pF            NA             NA       | 
|*******************************************************************************
|==============================================================================|
|     Keyword:  [Ramp]                                                         |
|    Required:  Yes, except for inputs                                         |
| Description:  Used to define the rise and fall times of a buffer.            |
|  Sub-Params:  dV/dt_r, dV/dt_f                                               |
| Usage Rules:  These parameters describe an ideal slope and can be expressed  |
|               as a ratio of any reasonable voltage and time values as shown  |
|               in the examples.  The [Ramp] values are allowed to use "NA"    |
|               for the min and max values only.                               |
|------------------------------------------------------------------------------|
[Ramp]
| variable      typ             min             max
dV/dt_r         4.2/1.8n        3.5/2.5n        5.0/1.1n
dV/dt_f         2.5/1.5n        2.0/2.3n        3.0/0.8n
|==============================================================================|
|     Keyword:  [End]                                                          |
|    Required:  Yes                                                            |
| Description:  Used to define the end of the .ibs file.                       |
|------------------------------------------------------------------------------|
[End]
|==============================================================================|
|                                                                              |
|                       NOTES ON DATA DERIVATION METHOD                        |
|                                                                              |
| This section explains how data values are derived.  The intention here is to |
| avoid over-guardbanding, enabling simulation results that are meaningful and |
| useful.  This is accomplished by having each silicon vendor base their data  |
| on typical process data, and then derate by voltage and temperature, and a   |
| proprietary "X%" factor.  This methodology also has the nice feature that    |
| the data can be derived either from vendor-proprietary silicon models, or    |
| typical device measurement over temperature/voltage.                         |
|                                                                              |
| 1) V/I curves for CMOS devices:                                              |
|       typ = nominal voltage,  50 degrees C, typical process                  |
|       min = low voltage tol, 100 degrees C, typical process, minus "X%"      |
|       max = hi voltage tol,    0 degrees C, typical process, plus  "X%"      |
|                                                                              |
|    V/I curves for bipolar devices:                                           |
|       typ = nominal voltage,  50 degrees C, typical process                  |
|       min = low voltage tol,   0 degrees C, typical process, minus "X%"      |
|       max = hi voltage tol,  100 degrees C, typical process, plus  "X%"      |
|                                                                              |
|       where X% should be statistically determined by the silicon vendor      |
|       based on numerous fab lots, test chips, process controls, ...  The     |
|       value of X need not be published in the IBIS file, and may decrease    |
|       over time as data on the I/O buffers and silicon process increases.    |
|       Temperatures are junction temperatures.                                |
|                                                                              |
| 2) Voltage Ranges:                                                           |