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

BIRD ID#:       148
ISSUE TITLE:    Allowable Model_types with IBIS-AMI
REQUESTOR:      Arpad Muranyi, Mentor Graphics, Inc.
DATE SUBMITTED: November 30, 2011
DATE REVISED:
DATE ACCEPTED BY IBIS OPEN FORUM: January 6, 2012

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

STATEMENT OF THE ISSUE:

The IBIS 5.0 specification allows [Model]s of any Model_type to contain
an [Algorithmic Model] keyword.  However, it really does not make sense to
use the [Algorithmic Model] keyword with certain Model_types.  The IBIS
specification needs to define some rules about what types of [Model]s are
allowed to contain the [Algorithmic Model] keyword.

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

STATEMENT OF THE RESOLVED SPECIFICATIONS:


On pg. 142 replace these lines:


| Usage Rules:  The [Algorithmic Model] keyword must be positioned within a
|               [Model] section and it may appear only once for each [Model]
|               keyword in a .ibs file.  It is not permitted under the
|               [Submodel] keyword.

with these lines:


| Usage Rules:  The [Algorithmic Model] keyword must be positioned within a
|               [Model] section and it may appear only once for each [Model]
|               keyword in a .ibs file.  It is not permitted under the
|*              [Submodel] keyword or in [Model]s which are of Model_type
|*              Terminator, Series or Series_switch.

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

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:

The topic was discussed in the IBIS ATM Task Group teleconference on
November 1, 2011 and the decision was made to add verbiage to the IBIS
specification to disallow the usage of [Algorithmic Model] in Series,
Series_switch and Terminator Model_types.

This decision also reduces the number of keywords and subparameters related
to the issues addressed by BIRD 140 regarding the alignment of the min/max
corners in IBIS models with the slow/fast corners in IBIS-AMI Format Corner
parameters.

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

ANY OTHER BACKGROUND INFORMATION:

The IBIS v5.0 specification has a flaw associated with the entries of
the [Algorithmic Model] keyword, namely that there is no indication for
the direction of the algorithmic model that is being pointed to (Tx
or Rx).  The ambiguities which arise from this flaw for [Model]s of any
3-state or I/O Model_types are not addressed in this BIRD.

The rule for 3-state Model_types should really be that they should only
contain transmitter algorithmic models.

I/O Model_types could theoretically contain both transmitter and receiver
algorithmic models, but there is no mechanism in the specification which
would associate the two types of algorithmic models (Tx or Rx) with the
two modes of the I/O buffer model (driving or receiving).  Unfortunately
there are no known methods to automatically detect the direction of an
algorithmic model by the EDA tool.

The current workaround is to split any I/O Model_types into two
independent models, an Input model with a receiver algorithmic model and
an Output model with a transmitter algorithmic model and list them under
a [Model Selector] keyword.

The IBIS Open Forum might want to consider fixing these problems in a
later version of the IBIS specification when circumstances make it
necessary.

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