Subject: BIRD41.1 Comments

From: [email-masked] ( Bob Ross)
Date: Wed, 12 Mar 97 08:40 PST

To John Fitzpatrick and IBIS Forum:

At the March 7, 1997 EIA/IBIS Open Forum Meeting I provide a few comments
on BIRD41.1.  One fundamental problem I had was that many series switch
devices have a restricted set of switch states that are described in
data book function tables.  The comments below attempt to address this
issue by providing an additional keyword [Series Pin Table] to be used
if needed with the [Series Pin] keyword.  This table describes the
allowable switch states for the component.

To test out the syntax proposal, I have provided a brief description and
six examples.  I still have some questions regarding whether the syntax needs
to be more compact or more general.

Also attached at the end for reference are the notes from the March 7, 1997 
minutes.  These notes provide the context for which the examples apply and 
also raise some other questions.

I believe the series and series switch functionality as proposed by John
Fitzpatrick is very useful and needed for Version 3.0 of IBIS.  I look
forward to working the issues related to getting BIRD41.1 approved.

Bob Ross
Interconnectix

COMMENTS REGARDING SERIES PIN TABLE FOR SERIES SWITCH

A possible addition to BIRD41.1 is presented here to describe allowable
settings associated with a series switch component.  Six examples follow
to illustrate the syntax.  In the examples, [On] and [Off] keywords are
used to tag the On and Off states of a Series_switch [Model].  Note, all
[Rseries] elements below could also be [Series Impedance] tables.

Keyword:     [Series Pin Table]
Required:    No
Description: Used to define allowable switching combinations of series
             switches described in the [Series Pin Table].
Sub-params:  On, Off, All
Usage Rules: Each state line contains an allowable configuration.  A typical
             state line will start with 'On' followed by all of the on-state
             group names, and then 'Off' followed by all of the off-state
             group names.  The state line is terminated with the slash '/', 
             even if it extends over several lines to fit within the 80
             character column width restriction.

             The group names in the Function Table Group are used to associate
             switches whose swithing action is controlled by a common control.
             The first state line defines the assumed (default) state of
             the series switch.  Other states are selected through a user
             interface or through automatic control.

             For devices where all of the switches can be operated independently
             of each other, the 'All' subparameter can be used just to list the
             available switches with All modes.  The first state line needs
             to be given explicitly to define the assumed (default) state of
             the series switch.

Examples:

|**************************************************************************

| SN74CBT3125 Quadruple Bus Switch

[Pin]
....

[Series Pin Table]
| Function Group States
On 1 2 3 4  Off  /      | Default setting is all switched On.
|
| All 1 2 3 4    /      | This line could be used instead of the explicit
                        | listing of combinations below.
|
On  Off 1 2 3 4  /      | All Off setting.
On 1  Off 2 3 4  /      | Other possible combinations below.
On 2  Off 1 3 4  /
On 3  Off 1 2 4  /
On 4  Off 1 2 3  /      | Note, if there were 8 switches, then 2^8 combinations
On 1 2  Off 3 4  /      | would have to be listed.
On 1 3  Off 2 4  /
On 1 4  Off 2 3  /
On 2 3  Off 1 4  /
On 2 4  Off 1 3  /
On 3 4  Off 1 2  /
On 1 2 3  Off 4  /
On 1 2 4  Off 3  /
On 1 3 4  Off 2  /
On 2 3 4  Off 1  /

[Series Pin]
| Pin1    Pin2      Model_name      Function Table Group
|
  2       3         CBT3125Series    1    | Four Independent Groups
  5       6         CBT3125Series    2
  9       8         CBT3125Series    3    
  12      11        CBT3125Series    4
|
....

[Model]         CBT3125Series
Model_type      Series_switch
...
[On]
[Rseries]       2    1    5

[Off]
[Rseries]      500M  400M 600M
...

|**************************************************************************

| SN74CBT3245 Octal Bus Switch

[Pin]
....

[Series Pin Table]
| Function Group States
On 1  Off  /      | Default setting is On.
On  Off 1  /      | Off state.

[Series Pin]
| Pin1    Pin2      Model_name      Function Table Group
|
  2       18        CBT3245Series    1    | All switches in sync
  3       17        CBT3245Series    1
  4       16        CBT3245Series    1    
  5       15        CBT3245Series    1
  6       14        CBT3245Series    1
  7       13        CBT3245Series    1
  8       12        CBT3245Series    1
  9       11        CBT3245Series    1
|
....

[Model]         CBT3245Series
Model_type      Series_switch
...
[On]
[Rseries]       2    1    5

[Off]
[Rseries]      500M  400M 600M
...

|**************************************************************************

| SN74CBT3244 Octal Bus Switch

[Pin]
....

[Series Pin Table]
| Function Group States
On 1 2  Off  /      | Default setting is all switched On.
On 1  Off 2  /
On 2  Off 1  /
On  Off 1 2  /        

[Series Pin]
| Pin1    Pin2      Model_name      Function Table Group
|
  2       18        CBT3244Series    1    | First Group
  4       16        CBT3244Series    1    
  6       14        CBT3244Series    1
  8       12        CBT3244Series    1
  11      9         CBT3244Series    2    | Second Group
  13      7         CBT3244Series    2
  15      5         CBT3244Series    2
  17      3         CBT3244Series    2
|
....

[Model]         CBT3244Series
Model_type      Series_switch
...
[On]
[Rseries]       2    1    5

[Off]
[Rseries]      500M  400M 600M
...

|**************************************************************************

| QS3251 QuickSwitch 8:1 Mux/Demux

[Pin]
....

[Series Pin Table]
| Function Group States
On  Off 1 2 3 4 5 6 7 8 /      | Default setting is all switches Off.
On 1  Off 2 3 4 5 6 7 8 / 
On 2  Off 1 3 4 5 6 7 8 /
On 3  Off 1 2 4 5 6 7 8 /
On 4  Off 1 2 3 5 6 7 8 /
On 5  Off 1 2 3 4 6 7 8 /
On 6  Off 1 2 3 4 5 7 8 /
On 7  Off 1 2 3 4 5 6 8 /
On 8  Off 1 2 3 4 5 6 7 /

[Series Pin]
| Pin1    Pin2      Model_name      Function Table Group
|
  4       5        QS3251Series    1
  3       5        QS3251Series    2
  2       5        QS3251Series    3
  1       5        QS3251Series    4
  15      5        QS3251Series    5
  14      5        QS3251Series    6
  13      5        QS3251Series    7
  12      5        QS3251Series    8
|
....

[Model]         QS3251Series
Model_type      Series_switch
...
[On]
[Rseries]       2    1    5

[Off]
[Rseries]      500M  400M 600M
...

|**************************************************************************

| SN74CBT3383 Bus-Exchange Switch

[Pin]
....

[Series Pin Table]
| Function Group States
On 1  Off 2  /         | First Entry is the Default.
On 2  Off 1  /         | Cross Over Mode
On  Off 1 2  /         | All Off

[Series Pin]
| Pin1    Pin2      Model_name      Function Table Group
|
  3       2         CBT3383Series    1    | Straight Thru Mode
  4       5         CBT3383Series    1
  3       5         CBT3383Series    2    | Cross Over Mode
  4       2         CBT3383Series    2
|
  7       6         CBT3383Series    1    | Straight Thru Mode
  8       9         CBT3383Series    1
  7       9         CBT3383Series    2    | Cross Over Mode
  8       6         CBT3383Series    2
|
  11      10        CBT3383Series    1    | Straight Thru Mode
  12      13        CBT3383Series    1
  11      13        CBT3383Series    2    | Cross Over Mode
  12      10        CBT3383Series    2
|
  17      16        CBT3383Series    1    | Straight Thru Mode
  18      19        CBT3383Series    1
  17      19        CBT3383Series    2    | Cross Over Mode
  18      16        CBT3383Series    2
|
  21      20        CBT3383Series    1    | Straight Thru Mode
  22      23        CBT3383Series    1
  21      23        CBT3383Series    2    | Cross Over Mode
  22      20        CBT3383Series    2
|
....

[Model]         CBT3383Series
Model_type      Series_switch
...
[On]
[Rseries]       2    1    5

[Off]
[Rseries]      500M  400M 600M
...

|**************************************************************************

| SN74CBT6800 10 Bus Switch with Precharged Outputs for Live Insertion

[Pin]
....

[Series Pin Table]
| Function Group States
On 1  Off   /         | First Entry is the Default.
On  Off 1   /         | Precharge State

[Series Pin]
| Pin1    Pin2      Model_name      Function Table Group
|
  2       23         CBT6800Series    1
  3       22         CBT6800Series    1
  4       21         CBT6800Series    1
  5       20         CBT6800Series    1
  6       19         CBT6800Series    1
  7       18         CBT6800Series    1
  8       17         CBT6800Series    1
  9       16         CBT6800Series    1
  10      15         CBT6800Series    1
  11      14         CBT6800Series    1

  23      13         CBT6800Precharge 1   | Precharge is connected to bias 
  22      13         CBT6800Precharge 1   | pin 13.
  21      13         CBT6800Precharge 1
  20      13         CBT6800Precharge 1
  19      13         CBT6800Precharge 1
  18      13         CBT6800Precharge 1
  17      13         CBT6800Precharge 1
  16      13         CBT6800Precharge 1
  15      13         CBT6800Precharge 1
  14      13         CBT6800Precharge 1
|
....

[Model]         CBT6800Series
Model_type      Series_switch
...
[On]
[Rseries]       2    1    5

[Off]
[Rseries]      500M  400M 600M

[Model]         CBT6800Precharge
Model_type      Series_switch
...
[On]
[Rseries]      500M  400M 600M        | No resistance in the On state

[Off]
[Rseries]      10k   15k   8k         | Precharge bias resistance 
...

|**************************************************************************
|**************************************************************************

COMMENTS FROM MARCH 7, 1997 MINUTES FOR REFERENCE

 BIRD41.1 - MODELING SERIES SWITCHABLE DEVICES
 Bob Ross had indicated that the author of BIRD41.1, John Fitzpatrick, was on
 vacation.  So Bob went over BIRD41.1 in some detail, both for explanation
 and also to raise some technical concerns.  Some of the points are presented
 here.

 BIRD41.1 Consists of two additions:

   Under [Component], [Series Pin] is defined to associate two pins with a 
   series model.

   Under [Model], two new Model_types (Series, and Series_switch) are 
   defined.  Several Series keywords are introduced to provide the electrical 
   description.

 BIRD41.1 handles both discrete series elements (series diodes, resistors,
 capacitors, etc. and also series switches such as represented by the Texas
 Instruments CBT technology and by the Quality Semiconductor Quick Switch
 technology.  In fact, these devices should drive what features are included
 in BIRD41.1 for series switch elements.

 Regarding the [Series Pin], under [Component], Bob had these points:

   1. Is non-symmetrical operation really needed?  It will lead to problems
      in other areas.

   2. The State table syntax needs to be standardized and restricted.  "OFF",
      "ON" and "NA" may be restricted suggestions.  However, a more general
      grouping method may be needed to relate to "Function Table" states.

   3. The data books give "Function Table" logic descriptions of the 
      components.  The Series_switch is a case where IBIS should embed some
      of the logic choices in the model to reduce, in most cases, the 
      combined OFF-ON permutations.  This is discussed later.

 Regarding the [Model] keyword additions:

   1. Just [Rseries], [Lseries], and [Cseries] are needed.  The proposed 
      [R_c_series], [L_c_series] and [R_l_series] additions are unnecessary.
      All series elements should be allowed to be connected in series, just
      as the "Terminator" model elements (such as [Rpower], [Rgnd], [Gnd
      Clamp], [Power Clamp and [Rac]&[Cac]) can all be used in one [Model]  
      and connected in parallel.

   2. The [Series Impedance] table can also be connected in series.

   3. The [Series Impedance] table could be defined with a voltage range
      of -Vcc to Vcc for closed switch operation or low impedance,  It could
      also have a range from -2Vcc to 2Vcc for open operation.  So its range
      needs to be defined.  The full ranges take care of Pin1-to-Pin2 and 
      Pin2-to-Pin1 non-symmetrical operation.

   4. R_load is not needed.  

   5. Also the Mode subparameter could be dropped.  This could be handled
      another way for actual switches.  One suggestion for Series_switch
      devices might be to introduce an [On] and an [Off] set of keywords
      under which the two states are described.  The simplest description
      can be done by just using low and high values of [Rseries].

 Some general comments are:

   1. The [Pin] keyword is still required as part of the [Component] pinout
      description.

   2. There is no restriction on possible [Pin] model descriptions including 
      GND, POWER, NC when the pin is also listed as a series pin.  This is a 
      potential advantage since the [Pin] model itself could still be used
      for describing any clamping structure for protection on the correct
      pin.  Drivers could be put on one side.  The package description methods 
      and all possible extensions under the [Pin] structure remain unchanged.

 There are some questions:

   1. What does C_comp mean in a series model?

   2. Should a Series Pin be used to connect to a supply or ground, as
      proposed above?

   3. Should the Series Pins be used for Differential terminations?

   4. Can several different series pin models be connected to the same pin?

 The final discussion consisted of elaborating on the "Function Table" for
 series switches, as described in data books.  Bob illustrated the need for 
 such a Function Table to allow the user interface or simulator controlled 
 operation to provide only the switch combinations that the device actually 
 supports (rather than all possible switch setting permutations of the 
 component).  Several Components were used as examples: 

   1. TI SN74CBT3125 Quadruple Bus Switch has 4 independent switches which 
      can be turned ON or OFF - 16 combinations.

   2. TI SN74CBT3245 Octal Bus Switch has 8 dependent switches, all OFF or 
      all ON - 2 combinations.

   3. TI SN74CBT3244 Octal Bus Switch has 8 switches of 2 groups of 4 
      dependent configurations where each group can be OFF or ON - 4 
      combinations.

   4. Quality QS3251 QuickSwitch 8:1 Mux/Demux has 8 switches which can be 
      all OFF or configured with only one switch to be ON at a time to 
      connect one of 8 lines to a second pin - 9 combinations.

   5. TI SN74CBT3383 10 Bit Bus-Exchange Switch describes 5 sets of exchange
      switches which ALL either connect-directly two lines, cross-over-
      connect two lines, or provide no connections - 3 combinations.

   6. (Not discussed was a case such as the TI SN74CBT6800 with 10 switches
      for direct connection and 10 switches for precharge bias, ALL of which
      are synchronized - 2 combinations.)

 Arpad Muranyi raised the issue whether BIRD41.1 should capture the dynamic
 turn-on and turn-off characteristics of a switch.  Bob suggested that there
 was sufficient complication already without this addition.  Also, Bob was
 not aware of a defined need.  Furthermore Arpad questioned whether the group
 switching was too much of a "logic" issue to be in IBIS.  Bob stated that a
 form of group change logic was already approved in Arpad's BIRD30.2 for
 Switching Buffer Models.  Arpad wondered if IBIS should extend into Analog
 and Mixed Signal domains.  However, someone stated that this would enter the
 domain where HDL languages exist.  C. Kumar stated that the mission of IBIS
 should be where IBIS is best positioned - a higher level behavioral modeling
 format for analog interface analysis.  Bob agreed.

 Steve Peters indicated that he had worked with designs using series switches.
 Dave Moxley also indicated that he has used series switches.  He stressed the
 need for a good user interface since the current way he describes series
 switches is to manually change the values of series resistors.

 Arpad questioned whether some existing table keywords should be re-used, and
 Bob responded that, in his opinion, it was better to define a new keyword if
 there was any difference in usage.

 AR - Bob Ross write up the comments regarding BIRD41.1.  Bob also work with
 John Fitzpatrick concerning any changes.