Subject: 2 OF 3 EXTENDED IBIS

From: [email-masked] ( Bob Ross)
Date: Sun, 20 Feb 94 18:43:45 PST

|*               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 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       | 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.                                      |
| 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
|==============================================================================|
|     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:                                                           |
|       Points for each curve must span the voltages listed below:             |
|                                                                              |
|       Curve                   Low Voltage             High Voltage           |
|       -----------             -----------             ------------           |
|       [Pulldown]              GND - POWER             POWER + POWER          |
|       [Pullup]                GND - POWER             POWER + POWER          |
|       [GND_clamp]             GND - POWER             GND + POWER            |
|       [POWER_clamp]           POWER                   POWER + POWER          |
|                                                                              |
|       For example, a device with a 5 V power supply voltage should be        |
|       characterized between (0 - 5) = -5 V and (5 + 5) = 10 V;               |
|       and a device with a 3.3 V power supply should be characterized         |
|       between (0 - 3.3) = -3.3 V and (3.3 + 3.3) = 6.6 V for the             |
|       pulldown curve.                                                        |
|
|******************************************************************************
|*                       BIRD4 ADDITION FOR VERSION 1.1X
|*     When tabulating output data for ECL type devices, the voltage points 
|*     must span the range of VCC to VCC - 2.2V.  This range applies to both the
|*     pullup and pulldown tables.  Note that this range applies ONLY when
|*     characterizing an ECL output.
|******************************************************************************
|                                                                              |
| 3) Ramp Rates:                                                               |
|       The ramp rates (listed in AC characteristics below) should be          |
|       derived by:                                                            |
|       1.  Start with silicon model, remove all packaging.                    |
|       2.  Attach 50 Ohm resistor to GND to derive rising edge ramp.          |
|       3.  Attach 50 Ohm resistor to POWER to derive falling edge ramp.       |
|       4.  Due to the resistor, output swings will not make a full            |
|           transition as expected.  However the pertinent data can still      |
|           be collected as follows:                                           |
|              a)  determine the 20% to 80% voltages of the 50 Ohm swing       |
|              b)  measure this voltage change as "dv"                         |
|              c)  measure the amount of time required to make this swing "dt" |
|       5.  Post the value as a ratio "dv/dt", the simulation tool vendor      |
|           will extrapolate this value to span the required voltage swing     |
|           range in the final model.                                          |
|       6.  Typ, Min, and Max must all be posted, and are derived at the       |
|           same extremes as the V/I curves, which are:                        |
|                                                                              |
|       Ramp times for CMOS devices:                                           |
|           typ = nominal voltage,  50 degrees C, typical process              |
|           min = low voltage tol, 100 degrees C, typical process, minus "Y%"  |
|           max = hi voltage tol,    0 degrees C, typical process, plus  "Y%"  |
|                                                                              |
|       Ramp times for bipolar devices:                                        |
|           To be determined by manufacturer.                                  |
|                                                                              |
|           Note that the derate factor, "Y%", may be different than that used |
|           for the V/I curve data.  This factor is similar to the X% factor   |
|           described above.  As in the case of V/I curves, temperatures are   |
|           junction temperatures here also.                                   |
|                                                                              |
|       7.  The rise time of an open-drain device must be measured into        |
|           a 50 Ohm pullup resistor tied to the power pin.                    |
|                                                                              |
|******************************************************************************
|*                 BIRD7.2 REPLACEMENT OF 3) FOR VERSION 1.1X
|* NOTE, Items 3. and 7. above deleted, Items 4. thru 6. renumbered 3. thru 5.
|*
|* 3) Ramp Rates:
|*      The ramp rates (listed in AC characteristics below) should be derived
|*      as follows:
|*
|*      1.  Start with the silicon model, remove all packaging.
|*
|*      2.  If: The Model_type is one of the following: Output, I/O, or
|*              3-state (not open or ECL types);
|*              Then: Attach a 50 ohm resistor to GND to derive the rising edge 
|*              ramp.  Attach a 50 ohm resistor to POWER to derive the 
|*              falling edge ramp.
|*
|*          If: the Model_type is Output_ECL or I/O_ECL;
|*          Then:  Attach a 50 ohm resistor to the termination voltage 
|*              (Vterm = VCC - 2v).  Use this load to derive both the
|*              rising and falling edges.
|*
|*          If: The Model_type is either an open_sink type or open_drain type;
|*          Then: Attach either a 50 ohm resistor or the vendor suggested 
|*              termination resistance to either POWER or the vendor suggested
|*              termination voltage.  Use this load to derive both the rising
|*              and falling edges.
|*
|*          If: The Model_type is an open_source type;
|*          Then: Attach either a 50 ohm resistor or the vendor suggested
|*              termination resistance to either GND or the vendor suggested
|*              termination voltage.  Use this load to derive both the rising
|*              and falling edges.
|*
|*      3.  Due to the resistor, output swings will not make a full         
|*          transition as expected.  However the pertinent data can still  
|*          be collected as follows:                                     
|*             a)  determine the 20% to 80% voltages of the 50 Ohm swing    
|*             b)  measure this voltage change as "dv"                        
|*             c)  measure the amount of time required to make this swing "dt"
|*      4.  Post the value as a ratio "dv/dt", the simulation tool vendor     
|*          will extrapolate this value to span the required voltage swing   
|*          range in the final model.                                        
|*      5.  Typ, Min, and Max must all be posted, and are derived at the     
|*          same extremes as the V/I curves, which are:                      
|*                                                                           
|*      Ramp times for CMOS devices:                                         
|*          typ = nominal voltage,  50 degrees C, typical process            
|*          min = low voltage tol, 100 degrees C, typical process, minus "Y%"
|*          max = hi voltage tol,    0 degrees C, typical process, plus  "Y%" 
|*                                                                          
|*      Ramp times for bipolar devices:                                      
|*          To be determined by manufacturer.                               
|*                                                                           
|*          Note that the derate factor, "Y%", may be different than that used
|*          for the V/I curve data.  This factor is similar to the X% factor  
|*          described above.  As in the case of V/I curves, temperatures are  
|*          junction temperatures here also.                                  
|******************************************************************************
|
| It is expected that this data will be created from silicon vendor            |
| proprietary silicon-level models, and later correlated with actual device    |
| measurement.                                                                 |
|==============================================================================|

|******************************************************************************|
|           ADDITIONAL NOTES FOR IBIS EXTENSIONS     (BIRDS)                   |
|******************************************************************************|

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

NOTES ON BIRD3