[ibis-macro] IBIS AMI Specification Questions/Proposal

  • From: Bob Ross <bob@xxxxxxxxxxxxx>
  • To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
  • Date: Tue, 18 Aug 2009 15:11:17 -0700

All:

This is being sent out per the issue raised at the Aug. 18
meeting concerning parser interpretation of the AMI Spec.

The ibischk5 parser with the -ami flag will check the
syntax of the <file name>.ami file.  The attached document
shows several forms for <parameter_name> that are in the
specification.  Some of the forms imply a restricted set of
parameters, but then this is contradicted by the example
at the end.

This implies that some parameters are really optional and
not excluded according to the syntaxes given.

The propposal is simply to make all parameters at least
optional, and some required according to a draft Table 4
that is NOT in the specification.

Do the choices in Table 4 look reasonable?

Bob

--
Bob Ross
Teraspeed Consulting Group LLC     Teraspeed Labs
121 North River Drive              13610 SW Harness Lane
Narragansett, RI 02882             Beaverton, OR 97008
401-284-1827                       503-430-1065
http://www.teraspeed.com           503-246-8048 Direct
bob@xxxxxxxxxxxxx

Teraspeed is a registered service mark of Teraspeed Consulting Group LLC
SOME SYNTAX VARIATIONS, BUT NOT CLEAR IF OTHER PARAMETERS ARE "ALLOWED"

First five reserved parameters:
(no Format, is Default optional for the first two (Init_Returns_Impulse,
GetWave_Exists) since Table 1 states Default "NA".

|               (parameter_name (Usage <usage>)(Type <data_type>)
|                               (Default <values>) (Description <string>))

TX_Jitter, TX_DCD:

|               (<parameter_name> (Usage <usage>)(Type <data_type>)
|                                 (Format <data format>) (Default <values>)
|                                 (Description <string>))

Examples (without Default, but showing "required" Format choices)

|               (Tx_Jitter (Usage Info)(Type Float)
|                          (Format Gaussian <mean> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|                          (Format Dual-Dirac <mean> <mean> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|                          (Format DjRj <minDj> <maxDj> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|                          (Format Table .... etc.

|               (Tx_DCD (Usage Info)(Type Float)
|                       (Format Range <typ> <min> <max>)) 

RX_Receiver_Sensitivity, RX_Clock_PDF:

|               (<parameter_name> (Usage <usage>)(Type <data_type>)
|                                 (Format <data format>) (Default <values>)
|                                 (Description <string>))

Examples (without Default, but showing "required" Format choices)

|               (Rx_Clock_PDF (Usage Info)(Type Float)
|                             (Format Gaussian <mean> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|                             (Format Dual-Dirac <mean> <mean> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|                             (Format DjRj <minDj> <maxDj> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|                             (Format Table .... etc.

|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|                                        (Format Value <value>))
|
|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|                                        (Format Range <typ> <min> <max>))
|
|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|                                        (Format Corner <slow> <fast>))

-----------------------------------------------------------------------------

GENERAL SYNTAX (and Model Specific Syntax)

|               (<parameter_name> (Usage <usage>) (Type <data type>)
|                                 (Format <data format>) (Default <values>)
|                                 (Description <string>))
|

NEW TABLE TO CLARIFY REQUIRED AND OPTIONAL PARAMETERS SHOWING CASES WHERE
SOME UNSPECIFIED PARAMETERS CAN BE "OPTIONALLY" INCLUDED

|                           +-------------------+
|                           |      Parameter    |
| ===============================================
| | <parameter_name>        | U | T | F | D | D |
| |                         | s | y | o | e | e |
| |                         | a | p | r | f | s |
| |                         | g | e | m | a | c |
| |                         | e |   | a | u | r |
| |                         |   |   | t | l | i |
| |                         |   |   |   | t | p |
| |                         |   |   |   |   | t |
| |                         |   |   |   |   | i |
| |                         |   |   |   |   | o |
| |                         |   |   |   |   | n |
| +-------------------------+---+---+---+---+---+
|
|   Reserved Parameters
|
| | Init_Returns_Impulse    | X   X   O   O   O |
| | GetWave_Exists          | X   X   O   O   O |
| | Use_Init_Output         | X   X   O   O   O |
| | Ignore_Bits             | X   X   O   O   O |
| | Max_Init_Aggressors     | X   X   O   O   O |
| | Tx_Jitter               | X   X   X   O   O |
| | Tx_DCD                  | X   X   X   O   O |
| | Rx_Receiver_Sensitivity | X   X   X   O   O |
| | Rx_Clock_PDF            | X   X   X   O   O |

| | Model Specific Params.  | X   X   X   X   O |                     |         
          |

| +-------------------------+-------------------+
|
| Table 4: Syntax Variations (X=required, O=optional)

------------------------------------------------------------------------

EXAMPLE IN SPEC - SHOWING SOME "OPTIONAL" PARAMETERS SUCH AS "Default"

|=============================================================================
| Example of Parameter File
|=============================================================================
(mySampleAMI                           | Name given to the Parameter file
  (Description "Sample AMI File")
  (Reserved_Parameters                 | Required heading

    (Ignore_Bits (Usage Info) (Type Integer) (Default 21)
      (Description "Ignore 21 Bits"))
    (Max_Init_Aggressors (Usage Info) (Type Integer)(Default 25))
    (Init_Returns_Impulse (Usage Info) (Type Boolean)(Default True))
    (GetWave_Exists (Usage Info) (Type Boolean) (Default True))
  )                                    | End Reserved_Parameters

  (Model_Specific                      | Required heading
    (txtaps
      (-2 (Usage Inout)(Type Tap) (Format Range 0.1 -0.1 0.2)(Default 0.1)
          (Description "Second Precursor Tap"))
      (-1 (Usage Inout)(Type Tap) (Format Range 0.2 -0.4 0.4)(Default 0.2)
          (Description "First Precursor Tap"))
      (0  (Usage Inout)(Type Tap) (Format Range 1 -1 2)(Default 1)
          (Description "Main Tap"))
      (1  (Usage Inout)(Type Tap) (Format Range 0.2 -0.4 0.4)(Default2 0.2)
          (Description "First Post cursor Tap"))
      (2  (Usage Inout)(Type Tap) (Format Range 0.1 -0.1 0.2)(Default 0.1)
          (Description "Second Post cursor Tap"))
    )                                  | End txtaps
    (tx_freq_offset (Format Range 1 0 150) (Type UI) (Default 0))
  )                                    | End Model_Specific
)                                      | End SampleAMI
|

Other related posts: