Subject: DRAFT IBIS Rev 2.0, part 2

From: Derrick Duehren <[email-masked]>
Date: Wed, 25 May 94 00:00:35 PST

Text item: Text_1

## DOES THIS BELONG HERE (FROM BOB'S BIRD 10.1x)? ############################
## When measuring the entries of the RLC matrices, either with laboratory
## equipment or field-solver software, currents are defined as ENTERING the pins
## of the package from the board (General Syntax Rule #10).  The corresponding
## voltage drops are to be measured with the current pointing "in" to the "+"
## sign and "out" of the "-" sign.
##
##                              I1   +-----+    I2
##                            -----> |     | <------
##                    board 0--------| Pkg |---------0 board
##                           +  V1 - |     | -  V2  +
##                                   +-----+
##
## It is important to observe this convention in order to get the correct signs
## for the mutual inductances and resistances.
################################################################################
$|------------------------------------------------------------------------------
$[Package Model]     Package_Model_Name
$|
$|==============================================================================
$|    Keyword:  [Pin Mapping]
$|   Required:  No
$|Description:  Used to indicate which power and ground buses a given driver,
$|              receiver, or terminator is connected.
$| Sub-Params:  pulldown_ref, pullup_ref, gnd_clamp_ref, power_clamp_ref
$|Usage Rules:  Each power and ground bus is given a unique name which must
$|              not exceed 15 characters.  The first column contains a pin
$|              number.  Each pin number must match one of the pin numbers
$|              declared previously in the [Pin] section of the IBIS file.
$|              The second column, "pulldown_ref", designates the ground bus
$|              connections for that pin.  Here the term "ground bus" can
$|              also mean another "power bus".  The third column "pullup_ref"
$|              designates the power bus connection.  The forth and fifth
$|              columns "gnd_clamp_ref" and "power_clamp_ref" contain
$|              entries, if needed, to specify different ground bus
$|              and power bus connections than those previously specified.
$|
$|              If the [Pin Mapping] keyword is present, then the bus
$|              connections for EVERY pin listed in the [Pin] section must
$|              be given.
$|
$|              Each line must contain either three or five columns.  "NC"
$|              is used for entries which are not needed or which follow
$|              the conditions below:
$|
$|              If a pin has no connection, then both the "pulldown_ref"
$|              and "pullup_ref" entries for it will be NC.
$|
$|              GND and POWER pin entries and buses are designated by
$|              entries in either the "pulldown_ref" or "pullup_ref" columns.
$|              There is no implied association to any column other than
$|              through explicit designations in other pins.
$|
$|              For any other type of pin, the "pulldown_ref" column contains
$|              the power connection for the [Pulldown] table for non-ECL type
$|              [Models].  This is also the power connection for the [GND Clamp]
$|              table and the [Rgnd] model unless overridden by a specification
$|              in the "gnd_clamp_ref" column.
$|
$|              Also, the "pullup_ref" column contains the power connection
$|              for the [Pullup] table and, for ECL type models, the [Pulldown]
$|              table.  This is also the power connection for the [POWER Clamp]
$|              table and the [Rpower] model unless overridden by a 
specification
$|              in the "power_clamp_ref" column.
$|
$|              Column length limits are:
$|                      [Pin Mapping]     5 characters max
$|                      pulldown_ref     15 characters max
$|                      pullup_ref       15 characters max
$|                      gnd_clamp_ref    15 characters max
$|                      power_clamp_ref  15 characters max
$|
$$|              When 5 columns are used the headings "gnd_clamp_ref" and
$|              "power_clamp_ref" must be used.  Otherwise, these headings can
$|              be omitted.
$|---------------------------------------------------------------------------
$[Pin Mapping]  pulldown_ref     pullup_ref   gnd_clamp_ref  power_clamp_ref
$|
$1                GNDBUS1         PWRBUS1   | Signal pins and their associated
$2                GNDBUS2         PWRBUS2   | ground and power connections
$3                GNDBUS1         PWRBUS1        GNDCLMP       PWRCLAMP
$4                GNDBUS2         PWRBUS2        GNDCLMP       PWRCLAMP
$5                GNDBUS2         PWRBUS2        NC            PWRCLAMP
$6                GNDBUS2         PWRBUS2        GNDCLMP       NC
$                                           | Some possible clamping connections
$|  .                                       | are shown above for illustration
$|  .                                       | purposes
$|  .
$11               GNDBUS1         NC        | One set of ground connections.
$12               GNDBUS1         NC        | NC indicates no connection to
$13               GNDBUS1         NC        | power bus.
$|  .
$21               GNDBUS2         NC        | Second set of ground connections
$22               GNDBUS2         NC
$23               GNDBUS2         NC
$|  .
$31               NC              PWRBUS1   | One set of power connections.
$32               NC              PWRBUS1   | NC indicates no connection to
$33               NC              PWRBUS1   | ground bus.
$|  .
$41               NC              PWRBUS2   | Second set of power connections
$42               NC              PWRBUS2
$43               NC              PWRBUS2
$|  .
$51               GNDCLMP         NC        | Additional power connections
$52               NC              PWRCLMP   | for clamps
$|
$|==============================================================================
$|    Keyword:  [Diff Pin]
$|   Required:  No
$|Description:  Associates differential pins, their differential
$|              threshold voltages, and differential timing delays.
$| Sub-Params:  inv_pin, vdiff, tdelay_typ, tdelay_min, tdelay_max
$|Usage Rules:  Enter only differential pin pairs.  The [Diff Pin] column
$|              contains a non-inverting pin number and the inv_pin column
$|              always contains the corresponding inverting pin number for
$|              I/O output.  The vdiff column contains the specified
$|              output and differential threshold voltage between pins if
$|              the pins are Input or I/O Model_types.  For output only
$|              differential pins, the vdiff entry is 0V.  The tdelay columns
$|              contain launch delays of the non-inverting pins relative to
$|              the inverting pins.  The values can be either polarity.
$|
$|              If a pin is a differential input pin, the differential input
$|              threshold (vdiff) overrides and supersedes the need for Vinh and
$|              Vinl.
$|
$|              If vdiff is not defined for a pin that is defined as requiring a
$|              Vinh by its [Model] type.  The parser issues a warning and
$|              vdiff is set to the default value of 200mV.
$|
$|Other Notes:  The output pin polarity specification in the table overrides
$|              the [Model] Polarity specification such that the pin in the
$|              [Diff Pin] column is Non-Inverting and the pin in the
$|              inv_pin column is Inverting.  This convention enables
$|              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 is interpreted as 0V or 0ns.  If "NA" appears in
$|              the tdelay_max column, its value is 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, Vmeas, Cref
$|               Rref, Vref
$| 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 that 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.
|               The Model_type and C_comp sub-parameters are required.
|
$|              The model types Input, I/O, I/O_open_drain, I/O_open_sink, and
$|              I/O_open_soure must have Vinl and Vinh defined.  If they are not
$|              defined, the parser issues a warning and the default
$|              values of Vinl=.8V and Vinh=2.0V are assumed.
$|
$|              The model types Input_ECL and I/O_ECL must have Vinl and Vinh
$|              defined.  If they are not defined, the parser issues a
$|              warning and the default values of Vinl=-1.475V and Vinh=-1.165V
$|              are assumed.
$|
$|              Cref, Rref and Rref are optional.  These parameters correspond
$|              to the test load that the manufacturer uses when specifying the
$|              propagation delay and/or output switching time of the device.
$|              Vmeas is the reference voltage level the manufacture uses
$|              for the above.  This information is included in the IBIS
$|              specification to facilitate board-level timing simulation.
$|              The assumed connections for Cref, Rref, and Rref are shown
$|              below.
$|
## AR John Keifer:  Please supply a connection diagram
$|
$| Other Notes:  A complete [Model] description normally contains the following
$|               keywords:  [Voltage Range], [Pullup], [Pulldown], [GND Clamp],
$|               [POWER Clamp], and [Ramp].  A Model_type of Terminator uses one
$|               or more of the [Rgnd], [Rpower], [Rac], and [Cac] keywords.
$|               However, some models may have only a subset of 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.
$|
$|               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.
$|
## The following paragraph seems confusing to me, particularly the
## parenthetical phrases.  - Derrick
$|
$|               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
$|               Input_ECL, Output_ECL, or I/O_ECL specify that the model
$|               represents and ECL type logic that follows different
$|               conventions for the [Pulldown] keyword.
$|
|               C_comp defines the silicon die capacitance.  This
|               value should not include the capacitance of the package.
|
|------------------------------------------------------------------------------
[Model]         model_name
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, if any
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
$Vmeas = 1.5V               |Test voltage timings are specified to
$Cref = 50pF                |Timing specification test load capacitance value
$Rref = NA                  |Timing specification test load resistance value
$Vref = NA                  |Timing specification test load voltage
| variable      typ             min             max
C_comp          12.0pF          10.0pF          15.0pF
|
|==============================================================================
$|     Keyword:  [Temperature range]
$|    Required:  Yes, if other than the preferred 0, 50, 100 degree C range
$| Description:  Defines the temperature range over which the model is
$|               to operate.
$| Usage Rules:  List the actual die temperatures (not percentages) in the
$|               usual typ, min, max format.  "NA" is not allowed.
$| Other Notes:  [Temperature range] also describes the temperature range over
$|               which the various V/I curves and ramp rates were derived.
$|------------------------------------------------------------------------------
$| variable              typ             min             max
$[Temperature range]     27.0C           -50C            130.0C
|
|==============================================================================
|    Keyword:  [Voltage Range]
$|   Required:  Yes, if [Pullup Reference], [Pulldown Reference],
$|              [POWER Clamp Reference], and [GND Clamp Reference] are not
$|              present
$|Description:  Defines the power supply voltage tolerance over which the
$|              model is intended to operate.  It also specifies the default
$|              voltage rail to which the pullup and POWER_clamp V/I data is
$|              referenced.
$|Usage Rules:  Provide actual voltages (not percentages) 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:  Defines a voltage rail other than that defined by the
$|              [Voltage Range] keyword as the reference voltage for the
$|              pullup V/I data.
$|Usage Rules:  Provide actual voltages (not percentages) 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:  Defines 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:  Provide actual voltages (not percentages) 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:  Defines 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:  Provide actual voltages (not percentages) 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
$|
---------------------------------- end of part 2 ------------------------------