Subject: BIRD 41.1

From: John V Fitzpatrick <[email-masked]>
Date: Mon, 17 Feb 1997 17:30:19 +0100

Hello all,

Thanks to all who commented on Bird 41 during the Open Forum
meeting on Friday.

Based on what I heard, I've made some changes to the BIRD, which
I submit as BIRD 41.1.

I'll be on holidays for 3 weeks from Thursday 20th, so I'd really
appreciate your comments as soon as possible.... 

What I'd like to know is:

  a) Is the definition of series pins OK?
     Will it be compatible with the connector pin definitions?

  b) Is the explanation of state understandable?
     Should [State] be a separate keyword?

  c) Will [Series Impedance] allow bus-switches to be correctly
     modelled? 

  d) What are your opinions on the RLC series path as defined?
     Would it be better to allow an arbitrary series path be
     defined, as per the old 36.1?

If, like me, you print out BIRD's, then scribble corrections on 
them, you can fax me your handwritten notes at 
+33 2 9604 8509 (where + stands for 011 in the USA)

Regards,
John

p.s. And for those who heard my plea for a simpler way to define
V/I curves, what about the suggestion for an [Impedance] keyword
with a Mode subparameter (see Analysis Path)?    

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

BIRD ID#:      41.1
ISSUE TITLE:   Modelling Series Switchable Devices
REQUESTER:     John Fitzpatrick, Alcatel
DATE SUBMITTED:                       February 17, 1997
DATE ACCEPTED BY IBIS OPEN FORUM:     Pending

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

STATEMENT OF THE ISSUE:

IBIS cannot model series devices. 
IBIS cannot model switches.
 
************************************************************************

STATEMENT OF THE RESOLVED SPECIFICATIONS:

One new keyword is defined under [Component]:
       [Series_Pin]
      
A new keyword is defined under [Component]:
       [Series_Impedance]
 
RLC series paths can be defined with:
       [Rseries], 
       [C_series], [R_c_series], [L_c_series],
       [L_series], [R_l_series]

Two additional Model_type values are allowed under the [Model]
keyword:
       Series, 
       Series_Switch

New measurement methods are defined for impedance tables.

Add the following text somewhere after the [Component] keyword:

|======================================================================
|    Keyword:  [Series_Pin]
|   Required:  Optional
|Description:  Used to associate two pins joined by a series device.
| Sub-Params:  Pin1, Pin2, Model_Name, State
|Usage Rules:  Entries follow these rules: Only series pin pairs
|              are entered.  The Pin1 column contains the pin number for 
|              which input impedances are measured. The Pin2 column
|              contains the pin name of the other end of the series 
|              device. The Model_Name colum contains the name of the 
|              model corresponding to the series device.
|              The State column contains text allowing the simulator
|              tool to make intelligent path configurations in the
|              case of, say, crossbar switches.
|
|               Column length limits are:
|                  Pin1          5 characters max
|                  Pin2          5 characters max
|                  Model_Name   20 characters max
|                  State        20 characters max
| 
|Other Notes: 
|              The order of the pins is important. All V/I curves 
|              correspond to measurements made at Pin1. 
|              If the device is not symmetric, a different model may be
|              specified with the pin order swapped.
|
|              The State column shall contain text
|              which can be used by the simulator to prompt the user
|              for configuration information:
|                - for a Series_Switch, the device os ON when the
|                  corresponding state is selected, otherwise it
|                  is OFF;
|                - for other devices, the device is present only 
|                  when the corresponding state is selected, or if the
|                  state is "NA".
|
|              In the case of a crossbar switch, all possible series
|              connections must be listed:  switching information is
|              contained under the State column. 
|
|              The model name given here supersedes that given 
|              under the the [Pin] keyword
|
[Series_Pin]
|Pin1      Pin2    Buffer       State
    3         4    switchA       AB      |switchA is buffer from 3 to
                                         |4
    4         3    switchAneg    AB      |Buffer from 3 to 4 is
                                         |non-symmetric
   12        13    switchA       AB      |12 connected to 13 in state AB
   12        14    switchB       AC      |12 connected to 14 in state AB

Change existing text from:
|               Model_type must be one of the following:
|               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.
|
to:
|               Model_type must be one of the following:
|               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, Series,
|               Series_switch and Series_path.
|

Add text to the special usage rules:
|
|               Series             This models a non-linear series  
|                                  device e.g. a diode
|                                  [Series_Impedance]: no modes
|                                  No mode subparameter.
|                                 
|               Series_switch      This models a series device that can
|                                  can be either ON or OFF.
|                                  Mode subparameters defined under
|                                  [Series_Impedance]: modes ON, OFF
 
Add the following text after the [Model] keyword:
 
|======================================================================
|    Keyword:  [Series_Impedance]
|   Required:  Yes, for series devices
|Description:  The data points under this keyword define the V/I curves
|              measured at Pin1 for a given load at Pin2 and for a 
|              given mode of operation of the device.
|              Pin1 and Pin2 are defined under the [Series_Pins] 
|              keyword.
| Sub-Params:  R_load, Mode
|Usage Rules:  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.
|
|              The R_load sub-parameter specifies the resistive load
|              between Pin2 and ground. If not specified, it is
|              assumed that Pin2 is directly connected to ground.
|
|              The Mode subparameter is required if the 
|              characteristics of the series device can be
|              configure by internal or external control logic.
|              Accepted values for Mode are:
|                 ON   : the series device is switched on
|                 OFF  : the series device is switched off
|
| Other Notes:  All measurements are relative to ground.
|
|               There is no monotonicity requirement. However
|               the model supplier should realise that it may
|               not be possible to derive a behavioural model
|               from non-monotonic data.
|
|               More than one [Series_Impedance] may be included,
|               with different values of R_load.
|               Recommended values: 0, 50 and 1kohm.
|

Add the following text somewhere after the [Rgnd] keyword:
 
|======================================================================
|   Keywords:  [Rseries], 
|              [C_series], [R_c_series],[L_c_series],
|              [L_series], [R_l_series]
|   Required:  Yes, if they exist in the device
|Description:  The data for these keywords allow the definition
|              of series R, L or C paths.   
| Usage Rules: For each of these keywords, the three columns hold the
|              typical, minimum, and maximum resistance values.  The 
|              three entries must be placed on a single line
|              and must be separated by at least one white space or tab
|              character.  All three columns are required under these
|              keywords.  However, data is only required in the typical
|              column.  If minimum and/or maximum values are not 
|              available, the reserved word "NA" must be used.
| Other Notes: This series RLC model defined to allow IBIS to model
|              simple passive devices and/or parasitics.
|              The model is:
|
|
|                    R_series
|                     +---/\/\/\/\--------------------+
|                     |                               |
|               Pin1  |   L_series  R_l_series        |  Pin2
|                 <---+---@@@@@@@@-/\/\/\/\-----------+--->
|                     |                               |
|                     |   | |                         |
|                     +---| |--@@@@@@@@@---/\/\/\/\---+
|                         | |  L_c_series  R_c_series
|                       C_series
|
|               [R_l_series] shall be defined only
|               if [L_series] exists.
|               [R_c_series] and [L_c_series] shall be defined
|               only if [C_series] exists.
|

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

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:

Bus-switches (ex: 74LVX3L383 from NS or 74CBT3383 from TI) are
increasingly being used on high-speed boards. They cannot be
modelled by IBIS 2.1. 

This BIRD allows the definition of a series device which is
connected between any two pins. If this device is a non-linear
resistor (e.g. a diode), then it can be described by an I/V
table.  

One approach suggested was to force one of the pins to Vcc or
ground, and then reuse the [Pullup] and [Pulldown] tables.
This approach will not correctly model bus-switches.

So instead, a new keword [Series_Impedance] is defined. This
has a R_load keyword. For bus-switches, R_load should be set
to a value >> 5ohms in order to allow the Ron vs. bias voltage
(as given in application notes) curves be obtained.

The author would like to suggest an extra keyword [Impedance] to
"replace", or provide an alternative, to the pullup, pulldown,
etc. This keyword would have a mode subparameter, with
values Pullup, Pulldown and Hi-state. This would allow 3 sets of
measurements be included in the IBIS file, without any fiddly
subtaracting of curves, or confusing Vcc relativity.
 
As suggested by Chris Reid, a state entry is added to allow
crossbar switches be modelled. It is expected that the simulator
detect these states, then ask the user to choose one of them.
Is this information really in the right place??

Often a bus-switch is used to provide 3.3V to 5V translation.
If this is to be modelled in IBIS, then a second model must
be generated for Vcc=4.3V. Use the [Model selector] keyword
to allow the correct buffer be chosen.

Additional series RLC paths are defined in this BIRD.
An alternative solution would be to allow an arbitrary path be 
defined, similar to Bird 36.1 prior to the amputation of connector
support.
                             
***********************************************************************

ANY OTHER BACKGROUND INFORMATION:

41   Submitted Feb 12, 1997 

41.1 Submitted Feb 17, 1997
     - Better explanation of State column
     - Define new [Series Impedance] keyword
     - Define series RLC path (to model passive device + parasitics)