Subject: Bird 36.3 (Electrical Board Description)

From: Stephen Peters <[email-masked]>
Date: Mon, 31 Mar 1997 09:02:49 -0800

Hello All:

     Here is the latest version of Bird 36.3, the Electical Board
Description.  In this update I have included an example (along
with the rules for) showing how to include a series, descrete element 
in a [Path Description]. There have also been a few minor editoral
corrections.  Bareing any major modifications, this version will be
be voted on at the next IBIS teleconference.

                   Regards,
                   Stephen Peters
                   Intel Corp.

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

Buffer Issue Resolution Document  (BIRD)
BIRD ID#:        36.3
ISSUE TITLE:     Electric Descriptions of Boards
REQUESTER:       Stephen Peters, Hank Herrmann
DATE SUBMITTED:  June 23, 1996
DATE ACCEPTED BY IBIS OPEN FORUM:  Pending

******************************************************************************
******************************************************************************
STATEMENT OF THE ISSUE:  There is a need to describe SIMM modules and related
type components that consist of one or more ICs mounted on a PCB board that
connects them to a system thru a set of pins.  The following BIRD proposes a
new type of file called .ebd (Electrical Board Description) that
addresses this need.  This proposal does not encompass an electrical 
description of connectors and other interconnect devices. 

******************************************************************************
STATEMENT OF THE RESOLVED SPECIFICATIONS:  The following text is placed
in the specification after the .pkg file description and before the
[End] keyword description.

==================== ELECTRICAL BOARD  DESCRIPTION ====================

     An Board Level Component is defined as a part that connects one or more 
IC packages to another part or board thru a set of user visible pins.  For 
example, a SIMM module is an board level component in that it connects 
several DRAM packages to a PCB thru an edge connector.  To provide a 
simple electrical description of the connection between the pins of the
board level component and the IC packages, an electrical board description 
file (a .ebd file) is defined.  A fundamental assumption regarding the
electrical board description is that the inductance and capacitance 
parameters listed in the file are derived with respect to well defined 
reference plane(s) within the board.  Also, this current description does 
not allow one to describe electrical (inductive or capacitive) coupling
between paths.  It is recommended that if coupling is an issue than an
electrical description be extracted from the boards physical parameters.

    What is, and is not, included in an Electrical Board Description
is defined by its boundaries.  For the definition of the boundaries, see the
Description section under the [Path Description] Keyword.

Usage Rules:
     A .ebd file is intended to be a stand alone file, not associated with any
.ibs file.  Board level component descriptions are stored in a file
whose name looks like <filename>.ebd, where <filename> must conform to the
naming rules given in the general syntax section of this specification.  The
.ebd extension is mandatory.

Contents:
    A .ebd file is structured similar to a standard IBIS file.  It must
contain the following keywords, as defined in the IBIS specification:
[IBIS Ver], [File Name], [File Rev], and [End].  It may also contain the
following optional keywords: [Comment Char], [Date], [Source], [Notes],
[Disclaimer] and [Copyright].  The actual board level component
description is contained between the keywords [Begin Board Description]
and [End Board Description], and includes the keywords listed below.

[Begin Board Description]
[Manufacturer]
[Number of Pins]                 
[Pin List]                       
[Path Description]
[Reference Designator Map]
[End Board Description]

  More than one [Begin Board Description]/[End Board Description] 
keyword pair is allowed in a .ebd file.

|=============================================================================
|    Keyword: [Begin Board Description]
|   Required: Yes
|Description: Marks the beginning of an Electrical Board Description.
|Usage Rules: The keyword is followed by the name of the board level
|             component.  If the .ebd file contains more than one [Begin
|             Board Description] keyword, then each name must be unique.
|             The length of the component name must not exceed 40 characters
|             in length, and blank characters are allowed.  For every
|             [Begin Board Description] keyword there must be a
|             matching [End Board Description] keyword.
|-----------------------------------------------------------------------------
[Begin Board Description]  16Meg X 8 Simm Module
|
|=============================================================================
|    Keyword: [Manufacturer]
|   Required: Yes
|Description: Declares the manufacturer of the part(s) that use this .ebd
|             file.
|Usage Rules: Following the keyword is the manufacturers name.  It must not
|             exceed 40 characters, and can include blank characters.  Each
|             manufacturer must use a consistent name in all .ebd files.
|-----------------------------------------------------------------------------
[Manufacturer] Quality SIMM Corp.
|
|=============================================================================
|    Keyword: [Number of Pins]
|   Required: Yes
|Description: Tells the parser the number of pins to expect.  Pins are any
|             externally accessible electrical connection to the part.
|Usage Rules: The field must be a positive decimal integer.
|             Note: The simulator must not limit the Number of Pins to any
|             value less than 1,000.
|-----------------------------------------------------------------------------
[Number of Pins] 128
|
|=============================================================================
|    Keyword: [Pin List]
|   Required: Yes
|Description: Tells the parser the pin names of the user accessible 
|             pins.  It also informs the parser which pins are connected to
|             power and ground. 
|Sub-params:  pin_name signal_name
|Usage Rules: Following the [Pin List] keyword are two columns.  The first
|             column lists the pin name while the second lists the data book 
|             name of the signal connected to that pin. There must be as many 
|             pin_name/signal_name rows as there are pins given by the 
|             preceding [Number of Pins] keyword.  Pin names must be the 
|             alphanumeric external pin names of the part.  The pin
|             names cannot exceed eight characters in length.  Any pin
|             associated with a signal name that begins with "GND" or
|             "POWER" will be interpreted as connecting to the boards ground
|             or power plane.  In addition, NC is a legal signal name and
|             indicates that the Pin is a 'no connect'.  As per the IBIS
|             standard "GND", "POWER" and "NC" are case insensitive.
|             
|-----------------------------------------------------------------------------
|  A SIMM BOARD EXAMPLE
|
[Pin List]
pin_name  signal_name
A1        GND
A2        data1
A3        data2
A4        POWER5    | this pin connects to 5v
A5        NC        | a no connect pin
| .
| .
A22       POWER3.3  | this pin connects to 3.3v
B1        casa
| .
| .
|etc.
|
|============================================================================
|    Keyword: [Path Description]
|   Required: Yes
|Description: This keyword allows the user to describe the connection
|             between the user accessible pins of a part and the pins of
|             the ICs mounted on that part.  Each pin to node connection is
|             divided into one or more cascaded "sections", where each
|             section is described in terms of it's L/R/C per unit length.
|             The Fork and Endfork subparameters allow the path to branch
|             to multiple nodes, or another pin.  A path description is
|             required for each pin whose signal name is not "GND", "POWER"
|             or "NC".
|
|             BOARD DESCRIPTION AND IC BOUNDARIES:
|             In any system, each part interfaces with another part at some 
|             boundary.  Every part model must contain the components 
|             necessary to represent the behavior of the part being modeled 
|             within its boundaries. The boundary definition depends upon 
|             the parts being represented by the model.
|
|             For CARD EDGE CONNECTIONS such as a SIMM or a PC Daughter 
|             Card plugged into a SIMM Socket or Edge Connector, the 
|             boundary should be at the end of the board card edge pads as 
|             they emerge from the connector.
|
|             For any THROUGH-HOLE MOUNTED PART, the boundary will be at 
|             the surface of the board on which the part is mounted.
|
|             SURFACE MOUNTED PART models end at the outboard end of their
|             recommended surface mount pads.
|
|             If the board level component contains an UNMATED CONNECTOR,
|             the unmated connector will be described in a separate file,
|             with it's boundaries being as described above for the
|             through-hole or surface mounted part.
|
| Sub-params: Len, L, R, C, Fork, Endfork, Pin, Node
|Usage Rules: Each individual connection path (user pin to node(s))
|             description begins with the
|             [Path Description] keyword and a path name, followed by the
|             subparameters used to describe the path topology and the
|             electrical characteristics of each section of the path.  The
|             path name must not exceed 40 characters, blanks are not allowed,
|             and each occurrence of the [Path Description] keyword must be
|             followed by a unique path name.  Every signal pin (pins other
|             than POWER, GND or NC) must appear in one and only one path
|             description per [Begin Board Description]/[End Board
|             Description] pair.  Pin names do not have to appear in the
|             same order as listed in the [Pin List] table.  The individual
|             subparameters are broken up into those that describe the 
|             electrical properties of a section, and those that describe
|             the topology of a path.
|
|             SECTION DESCRIPTION SUBPARAMETERS:
|             The Len, L, R, and C subparameters specify the length, the
|             series inductance and resistance and the capacitance to ground
|             of each section in a path description.
|             Len     The physical length of a section.  Lengths are given
|                     in terms of arbitrary 'units'.  Any non-zero length
|                     requires that the parameters that follow must be
|                     interpreted as distributed elements by the simulator.
|             L       The series inductance of a section, in terms of
|                     'inductance/unit length'.  For example, if the total
|                     inductance of a section is 3.0 nH and the length of the
|                     section is 2 'units', the inductance would be listed
|                     as L = 1.5 nH  (i.e. 3.0 / 2). 
|             C       The capacitance to ground of a section, in terms of
|                     capacitance per unit length.
|             R       The series DC (ohmic) resistance of a section, in
|                     terms of ohms per unit length.
|
|             TOPOLOGY DESCRIPTION SUBPARAMETERS:
|             The Fork and Endfork subparameters denote branches from the 
|             main pin-to-node or pin-to-pin connection path.  The Node 
|             subparameter is used to reference the pin of a component
|             or board as defined in a .ibs or .edb file.  The Pin 
|             subparameter is used to indicate the point at which a path 
|             connects to a user visible pin. 
|             Fork    This subparameter indicates that the sections
|                     following (up to the Endfork subparameter) are part
|                     of a branch off of the main connection path.  This
|                     subparameter has no arguments.
|             Endfork This subparameter indicates the end point of a
|                     branch.  For every Fork subparameter there must be a
|                     corresponding Endfork subparameter.  As with the Fork
|                     subparameter, the Endfork subparameter has no arguments.
|             Node    reference_designator.pin
|                     This subparameter is used when the connection path
|                     connects to a pin of another, externally defined part.
|                     The arguments of the Node subparameter indicate the pin
|                     and reference designator of the external component.  The
|                     pin and reference designator portions of the argument are
|                     separated by a period (".").  The reference designator is
|                     mapped to an external component description (another .ebd
|                     file or .ibs file) by the [Reference Designator Map]
|                     Keyword.  Note that a Node MUST reference a model of
|                     a passive or active component.  A Node is not an
|                     arbitrary connection point between two elements or 
|                     paths.
|             Pin     This subparameter is used to mark the point at which
|                     a path description connects to a user accessible pin.
|                     Every path description must contain at least one 
|                     occurrence of the Pin subparameter.  It may also contain
|                     the reserved word NC.  The value of the Pin subparameter
|                     must be one of the pin names listed in the [Pin List]
|                     section.
|
|             Using The Subparameters to Describe Paths:
|             A section description begins with the Len subparameter and
|             ends with the slash (/) character.  The value of the Len, L,
|             R and C subparameters and the subparameter itself are separated
|             by an equals sign (=); whitespace around the equals sign is
|             optional.  The Fork, Endfork, Node and Pin subparameters are
|             placed between section descriptions (i.e. between the concluding
|             slash of one section and the 'Len' parameters that starts
|             another).  The arguments of the Pin and Node subparameter are
|             separated by white space. 
|
|             Specifying a Len or L/R/C value of zero is allowed.  If
|             Len = 0 is specified, then the L/R/C values are the total
|             for that section.  If a non-zero length is specified, then
|             the total L/R/C for a section is calculated by multiplying 
|             the value of the Len subparameter by the value of the L,
|             R or C subparameter.  However, as noted below, if a non-
|             zero length is specified, that section MUST be interpreted as
|             distributed elements.
|
|             Legal Subparameter Combinations for Section Descriptions:
|
|             A)  Len, and one or more of the L, R and C subparameters.  If
|             the Len subparameter is given as zero, then the L/R/C sub-
|             parameters represent lumped elements.  If the Len subparameter
|             is non-zero, then the L/R/C subparameters represent distributed
|             elements and both L and C must be specified, R is optional.
|
|             B) The first subparameter following the [Path Description]
|             keyword must be 'Pin', followed by one or more section
|             descriptions.  The path description can terminate in a Node,
|             another pin or the reserved word, NC.
|
|             Dealing With Series Elements
|             A discrete series R or L component can be included in a path
|             description by defining a section with L=0 and the proper
|             R or L value.  A discrete series component can also be
|             included in a path description by writing two back to back 
|             node statements that reference the same component (see the 
|             example below).  Note that both ends of a discrete, two 
|             terminal component MUST be contained in a single [Path
|             Description].  Connecting two seperate [Path Description]
|             with a series component is not allowed.
|
|---------------------------------------------------------------------------
|
|
|  AN EXAMPLE PATH FOR A SIMM MODULE
|
[Path Description] CAS_2
Pin J25
Len = 0.5 L=8.35n C=3.34p R=0.01 /
Node u21.15
Len = 0.5 L=8.35n C=3.34p R=0.01 /
Node u22.15
Len = 0.5 L=8.35n C=3.34p R=0.01 /
Node u23.15
|
|  A DESCRIPTION USING THE FORK AND ENDFORK SUBPARAMETERS
|
[Path Description] PassThru1
Pin B5
Len = 0   L=2.0n /
Len = 2.1 L=6.0n C=2.0p /
 Fork
 Len = 1.0 L = 1.0n C= 2.0p /
 Node u23.15
 Endfork
Len = 1.0 L = 6.0n C=2.0p /
Pin A5
|
|   A DESCRIPTION INCLUDING A DISCRETE SERIES ELEMENT
|
[Path Description] sig1
Pin B27
Len = 0  L=1.6n /
Len = 1.5 L=6.0n C=2.0p /
Node R2.1
Node R2.2
Len = 0.25 L=6.0n C=2.0p /
Node U25.6
|
|=============================================================================
|    Keyword: [Reference Designator Map]
|   Required: Yes, if any of the path descriptions use the Node subparameter.
|Description: Maps a reference designator to a component or electrical
|             board description contained in an .ibs or .edb file.
|Usage Rules: The [Reference Designator Map] keyword must be followed by a
|             list of all of the reference designators called out by the Node
|             subparameters used in the various path descriptions.  Each
|             reference designator is followed by the name of the .ibs or
|             .ebd file containing the electrical description of the
|             component or board, then the name of the component itself as
|             given by the .ibs or .ebd file's [Component] or [Begin Board 
|             Description] keyword respectively.  The reference designator, 
|             file name and component name terms are separated by whitespace.
|             By default the .ibs or .ebd files are assumed to exist in the
|             same directory as the calling .edb file. It is legal for a
|             reference designator to point to a component that is
|             contained in the calling .ebd file.
|-----------------------------------------------------------------------------
[Reference Designator Map]
|
|  EXTERNAL PART REFERENCES
|
|Ref Des   File name   Component name
u23        pp100.ibs   Pentium(R)__Pro_Processor
u24        simm.ebd    16Meg X 36 SIMM Module
u25        ls244.ibs   National 74LS244a
u26        r10K.ibs    My_10K_Pullup
| 
|=============================================================================
|    Keyword: [End Electrical Description]
|   Required: Yes
|Description: Marks the end of an Electrical Interconnect Description.
|Usage Rules: This keyword must come at the end of each complete electrical
|             interconnect model description.
|
|             Optionally, a comment may be added after the [End Electrical
|             Description] keyword to clarify which board model has
|             ended.
|-----------------------------------------------------------------------------
[End Electrical Description]        | End: 16Meg X 8 Simm Module
|
******************************************************************************
ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: