Subject: CONNECTOR/CABLE EGGS

From: [email-masked] ( Bob Ross)
Date: Thu, 12 Oct 95 11:38 PDT

To All:

CONNECTOR/CABLE EGGS

The package formats in IBIS 1.1, 2.1 and BIRD28.3 present a format that can
be used for modeling connectors and can be extended to cables.  An outline of
a proposal is given below.  Thanks to Chris Reid for suggesting this approach.

CONNECTOR MODELS

The standard package model specifies the C_pkg or C_pin and works inward
to the DIE.  If the package model split between two boards is JOINED at
the DIE position, the existing set of package models can be used for
two-board connections without any changes in the IBIS Specification.
Some rules for joining are proposed along with some examples.

(1) The package model data defined by the default values in [Package],
by the per pin values in [Pin] or by the matrices in Version 2.1 of [Define
Package Model] are connected at the DIE position.

(2) For BIRD28.3 extensions, only the first section is considered for 
joining two connectors.  

(3) An IBIS Terminator model may be included at the joining point for 
cases where the connector itself has some built in pullup or clamping
elements.  Otherwise, NC, POWER, and GND are permissible Model_name entries 
in the [Pin] keyword.  Note, the point at which the connectors join is similar
to where the DIE begins in the standard IBIS format and would be the position
of the Terminator model.  The proposal here includes the Terminator model
so that an element such as C_comp can be inserted in the middle.  It would
be an issue whether to allow such a model or models on each board, and also
whether to allow the complete set of other Model_types. 

So the connector models may look like this:

a) Using the [Package] default C_pkg, L_pkg, R_pkg:

 BOARD 1, PIN 1                  Connection                  BOARD 2, PIN 1
                L_pkg    R_pkg       V        R_pkg    L_pkg
      o-----+---@@@@@---/\/\/\-------+--------/\/\/\---@@@@@---+-----o
            |                     ___|___                      |
            |                NC, |       | Optional            |
          __|__        POWER or, |       | Terminator        __|__
    C_pkg _____          GND or  |       | Model(s)          _____ C_pkg
            |                    |_______|                     |
            |                        |                         |            
           GND             GND, Gnd_Clamp Reference,          GND
                           or Power Clamp Reference

b) Using the [Pin] C_pin, L_pin, R_pin:

 BOARD 1, PIN 2                  Connection                  BOARD 2, PIN 2
                L_pin    R_pin       V        R_pin    L_pin
      o-----+---@@@@@---/\/\/\-------+--------/\/\/\---@@@@@---+-----o
            |                     ___|___                      |
            |                NC, |       | Optional            |
          __|__        POWER or, |       | Terminator        __|__
    C_pin _____          GND or  |       | Model(s)          _____ C_pin
            |                    |_______|                     |
            |                        |                         |            
           GND             GND, Gnd_Clamp Reference,          GND
                           or Power Clamp Reference

c) Using Version 2.1 [Define Package Model] extension:

 BOARD 1, PIN 3                  Connection                  BOARD 2, PIN 3
                 [L]     [R]         V         [R]      [L]
      o-----+---@@@@@---/\/\/\-------+--------/\/\/\---@@@@@---+-----o
            |                     ___|___                      |
            |                NC, |       | Optional            |
          __|__        POWER or, |       | Terminator        __|__
      [C] _____          GND or  |       | Model(s)          _____ [C]
            |                    |_______|                     |
            |                        |                         |            
           GND             GND, Gnd_Clamp Reference,          GND
                           or Power Clamp Reference

    [C] represents the [Capacitance Matrix] elements
    [L] represents the [Inductance Matrix] elements
    [R] represents the [Resistance Matrix] elements

d) Using BIRD28.3 [Pin Numbers] per unit length Matrix extension:

| Pin   Model
  4     / Len=xx Matrix / ..... /

 BOARD 1, PIN 4                  Connection                  BOARD 2, PIN 4
               [L],Len  [R],Len      V       [R],Len  [L],Len
      o-----+---@@@@@---/\/\/\-------+--------/\/\/\---@@@@@---+-----o
            |                     ___|___                      |
            |                NC, |       | Optional            |
          __|__        POWER or, |       | Terminator        __|__
  Len,[C] _____          GND or  |       | Model(s)          _____ Len,[C]
            |                    |_______|                     |
            |                        |                         |            
           GND             GND, Gnd_Clamp Reference,          GND
                           or Power Clamp Reference

    Len, [C] are the [Capacitance Matrix] per unit length elements and length
    Len, [L] are the [Inductance Matrix] per unit length elements and length
    Len, [R] are the [Resistance Matrix] per unit length elements and length

e) Using BIRD28.3 [Pin Numbers] per unit length Component or Transmission Line:

| Pin   Model
  5     / Len=xx R=xx C=yy L=zz / ..... /

 BOARD 1, PIN 6                  Connection                  BOARD 2, PIN 5
                L,Len   R,Len        V        R,Len    L,Len
      o-----+---@@@@@---/\/\/\-------+--------/\/\/\---@@@@@---+-----o
            |                     ___|___                      |
            |                NC, |       | Optional            |
          __|__        POWER or, |       | Terminator        __|__
    Len,C _____          GND or  |       | Model(s)          _____ Len,C
            |                    |_______|                     |
            |                        |                         |            
           GND             GND, Gnd_Clamp Reference,          GND
                           or Power Clamp Reference

    Len, C are the capacitance per unit length elements and length
    Len, L are the inductance per unit length elements and length
    Len, R are the resistance per unit length elements and length

f) Using BIRD28.3 [Pin Numbers] extension for discrete components:

| Pin   Model
  6     / Len=0 R=xx C=yy L=zz / ..... /

 BOARD 1, PIN 6                  Connection                  BOARD 2, PIN 6
                  L       R          V          R        L
      o-----+---@@@@@---/\/\/\-------+--------/\/\/\---@@@@@---+-----o
            |                     ___|___                      |
            |                NC, |       | Optional            |
          __|__        POWER or, |       | Terminator        __|__
        C _____          GND or  |       | Model(s)          _____ C
            |                    |_______|                     |
            |                        |                         |            
           GND             GND, Gnd_Clamp Reference,          GND
                           or Power Clamp Reference

    Len, [C] are the [Capacitance Matrix] per unit length elements and length
    Len, [L] are the [Inductance Matrix] per unit length elements and length
    Len, [R] are the [Resistance Matrix] per unit length elements and length

With the above structure, the existing IBIS Version 1.1 format can be used
without change to model some standard, uncoupled connectors, and Version 2.1
[Define Package Model] can be used to model up to two sections of matrix
coupling between lines.  BIRD28.3 provides an extended syntax to include
much more detail and also transmission line segments.  

The connector model components would be divided into two models.  The examples
above show some symmetrical division and also relate to the existing default 
package model.  There would be no restriction that the connection models for
each board would have to be symmetrical or even of the same structure.  So 
the Board 1 structure could be the default package parameters, and the board 2 
structure could be a coupled matrix.  However, such mixing would not be 
expected to be a common practice and may produce unusual results if a 
particular connection is open.

The Terminator models could provide a termination if a particular connection
is left disconnected.  Since connector models assume a connection, the 
model for an un-connected pin may be a less accurate approximation.

CABLE MODELS

The BIRD28.3 provides the syntax and a set of elements that could also be
used for modeling CABLES.  Without BIRD28.3, a very crude LUMPED approximation
is available using the CONNECTOR model structure elements above.  With
BIRD28.3 a middle cable section can be included to model the longer wire.

However, such an approach does not support CABLES as independent components
with CONNECTORS on each end and with non-direct paths.  The proposal here is
to generalize a [Define Cable Model] keyword ALMOST identical to the [Define
Package Model] syntax.  There would be some differences, however, which
justifies a separate keyword.  The major differences would be:

(1) At least two Sections would be required, and the FIRST and LAST sections
define the connection interfaces similar to the CONNECTOR model.  These
could be joined with board CONNECTOR models or with another CABLE Model.
The LAST section of a CABLE model would be treated in a mirror image
manner so that the connection point with L, R and C given is through the L
and R elements.

(2) Two columns of Pin numbers would be supported so that split cables and
cables with paths joining, for example, pin 1 on one end and pin 2 on the
other end could be modeled.  Also, paths for pin 1 joining several pins
could also be modeled.  Two columns would also allow supporting different
connector A and connector B pin numbering syntax.  In the example below,
[Cable Pin Numbers] has the [Pin Numbers] syntax, but requires two columns
of pin numbers.

(3) The [Component] description for Cables would have to describe all of 
the pins on each end.  To avoid redundant pin numbers the [Pin] keyword
under [Component] may have to have a sub-parameter to separate the Side A
and side B groupings.  Another approach would be to use a [Component]
keyword and name for side A and another [Component] keyword and name for
side B.  The details of these alternatives are not considered here.

(4) A separate provision might be made for jumpers.  A syntax example is
shown below using [Jumper Table].  Whether to provide such support would be
an issue.  

With such extensions, this complicated path could be modeled:

   BOARD 1                    CABLE                    BOARD 2
       _____    Connector A          Connector B    ______
            |   First Section       Last Section   |
           +-+ +-+                            +-+ +-+
           |-|-|1|-------------\/-------------|1|-|-|
           |-|-|2|-------------/\-------------|2|-|-|
   Board 1 |-|-|3|----------------------------|3|-|-| Board 2
 Connector |-|-|4|-\--------------------------|4|-|-| Connector
           |-|-|5|  \-------------------------|5|-|-|
           |-|-|6|--------------------------|-|6|-|-|
           |-|-|7|                          |-|7|-|-|
           |-|-|8|-|                        | |8|-|-|
           |-|-|9|-|                        |-|9|-|-|
           |-|-|0|  ------------------------  |0|-|-|
           +-+ +-+                            +-+ +-+
            |                                      |
            |                                      |

[Cable Pin Numbers]
|  A   B     First Section   .....   Last Section
|
   1   2     Len ... /       .....   Len ... /
   2   1     Len ... /       .....   Len ... /
   3   3     Len ... /       .....   Len ... /
   4   4     Len ... /       .....   Len ... /
   4   5     Len ... /       .....   Len ... /
   5   5     Len ... /       .....   Len ... /  | "Open" Middle, Last Sections
   6   6     Len ... /       .....   Len ... /
   7   7     Len ... /       .....   Len ... /  | "Open" Middle Sections
   8   8     Len ... /       .....   Len ... /  | "Open" Middle Sections
   9   9     Len ... /       .....   Len ... /  | "Open" Middle Sections
   0   0     Len ... /       .....   Len ... /  | "Open" First, Last Sections
|
[Jumper Table]
| Side  Pin Pin
   A    8   9
   B    6   7    
   B    7   9

The simulator would have the necessary information for keeping track of the
connecting paths between boards.  The attachment of Connector and Cable
models would be through the Component Names with assumed identical pin
numbers at the connection points.  Board1 to Cable side A to Cable side B
to Board2 might flow like this:

   BOARD1-CONNECTOR
   CABLE_A
   CABLE_B
   BOARD2-CONNECTOR

Bob Ross,
Interconnectix, Inc.

---

From: Will Hobbs <[email-masked]>
Date: Fri, 13 Oct 95 09:32:00 PDT

Bob, et al,

To continue a somewhat fragile and unofficial tradition, let's call the 
connector/cable egg Egg 7.

Will Hobbs
Intel Corp.