[ibis-macro] Re: Usage Out syntax rules

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: "ibis-macro@xxxxxxxxxxxxx" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 14 Dec 2011 23:40:21 +0000

Hello,

I took the initiative and wrote a new BIRD draft to
address the issues I brought up in the email below.
(See attached file).

The way this BIRD is written doesn't change any of
the .ami file syntax, i.e. Usage Out parameters are
still required to contain <data>, but the BIRD states
that this data is ignored.  The other new rule I added
was to prohibit Default when the Usage is Out, since
the <data> is coming from the model, and I don't see
why we should pay attention to Default in the .ami file
when <data> is ignored anyway.

Please take a few minutes to review it and send me
your questions, comments, suggestions if you have any.
I would hope that this simple BIRD would not take up
much of our time, and could be submitted to the Open
Forum in a short time.

Thanks,

Arpad
========================================================

From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] 
On Behalf Of Muranyi, Arpad
Sent: Monday, December 12, 2011 5:38 PM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Usage Out syntax rules

All,

I looked at BIRD 127.4 again to see what the options
might be to say something about Usage Out parameters.
I double checked, and this text applies to all parameters,
Reserved and Model_Specific:

|*              All parameters must be in the following format:
|*
|*              (parameter_name (Usage <usage>)
|*                              (Type <data_type>)
|*                              ({Format} <data_format> <data>)
|*                              (Default <value>)
|*                              (Description <string>))

There is another rule that Default and Format Value can't
coexist in the same parameter.  All other Formats are
allowed to have Default.  We could possibly refine/revise
the notes below this syntax definition.  Here are the
relevant notes which could be considered:

|*              4) The <data_format> selection of Value and Default are
|*                 always mutually exclusive.  Certain parameters may require
|*                 Value or Default, but Value and Default are not allowed to
|*                  be present together for the same parameter.
|*              5) <data_format> is always required for selections other
|*                 than Value.
|*              6) Default is optional for <data_format> Range, List, Corner,
|*                 Increment and Steps.
|*              7) Default is not allowed for <data_format> Table, Gaussian,
|*                 Dual-Dirac and DjRj.

We should probably state that for Usage Out,

-   Default is not allowed

-   Format Value is not allowed

-   and <data> shall be omitted for all other <data_format>s.

Table poses an interesting exception.  According to BIRD 132,
tables of Usage Out are still required to contain a single row
of data, so that the tool would know how many columns are in a
row when it reads the flattened data coming from the model.

Questions, comments, suggestions are welcome.

Thanks,

Arpad
================================================================
*****************************************************************************
*****************************************************************************

BIRD ID#:        xxx
ISSUE TITLE:     Usage Out Syntax Correction
REQUESTER:       Arpad Muranyi, Mentor Graphics, Inc.
DATE SUBMITTED:  December 14, 2011
DATE REVISED:    
DATE ACCEPTED BY IBIS OPEN FORUM:  

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

STATEMENT OF THE ISSUE:

Usage Out parameter values are returned by the AMI model to the EDA tool.
Consequently, it is questionable why the .ami parameter file should contain
a value for Usage Out parameters.  Yet the general syntax for AMI parameters
does not distinguish between Usage Out and any other Usage types.  As a
result, a strict interpretation of the syntax implies that Usage Out
parameters are also required to have values in the .ami file.  This is in
conflict with the rule that Usage Out parameters are originated in the AMI
model and returned to the EDA tool and raises questions like:  What is the
purpose of the value supplied by the .ami file, are these values supposed
to be used for any purpose, or are they supposed to be ignored, etc...

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

STATEMENT OF THE RESOLVED SPECIFICATIONS:

Since BIRD 127.4 contains significant modifications in this area of the
IBIS specification, the resolutions described here are to be applied to
BIRD 127.4.   In BIRD 127.4 change these lines:


|*              All parameters must be in the following format:
|*
|*              (parameter_name (Usage <usage>)
|*                              (Type <data_type>)
|*                              ({Format} <data_format> <data>)
|*                              (Default <value>)
|*                              (Description <string>))
|*
|*              Notes:
|*              1) The order of the entries is not important.
|*              2) The word Format is optional as indicated by the curly
|*                 braces "{" and "}" and may be ignored by the EDA tools.
|*                 (The examples do not show the word Format).
|*              3) Certain reserved parameter names allow only certain
|*                 <data_format> selections, as described below.
|*              4) The <data_format> selection of Value and Default are
|*                 always mutually exclusive.  Certain parameters may require
|*                 Value or Default, but Value and Default are not allowed to
|*                  be present together for the same parameter.
|*              5) <data_format> is always required for selections other
|*                 than Value.
|*              6) Default is optional for <data_format> Range, List, Corner, 
|*                 Increment and Steps.
|*              7) Default is not allowed for <data_format> Table, Gaussian,
|*                 Dual-Dirac and DjRj.
|**             8) Additional rules apply when <data_format> is Table.  The
|**                format for <data> describes a set of rows containing data
|**                values.  Each row has its set of column data values enclosed
|**                by parentheses '(' and ')'.  Each row contains the same
|**                number of column values.  Any or all of these columns may
|**                have different data types.  For this case the <data_type>
|**                argument is either a list of data types (one for each
|**                column), or a single data type.  If it is a single data
|**                type then this type shall be applied to all of the columns
|**                in each row.
|***            9) Description is optional.


to:


|*              All parameters must be in the following format:
|*
|*              (parameter_name (Usage <usage>)
|*                              (Type <data_type>)
|*                              ({Format} <data_format> <data>)
|*                              (Default <value>)
|*                              (Description <string>))
|*
|*              Notes:
|*              1) The order of the entries is not important.
|*              2) The word Format is optional as indicated by the curly
|*                 braces "{" and "}" and may be ignored by the EDA tools.
|*                 (The examples do not show the word Format).
|*              3) Certain reserved parameter names allow only certain
|*                 <data_format> selections, as described below.
|*              4) The <data_format> selection of Value and Default are
|*                 always mutually exclusive.  Certain parameters may require
|*                 Value or Default, but Value and Default are not allowed to
|*                  be present together for the same parameter.
|*              5) <data_format> is always required for selections other
|*                 than Value.
|*              6) Default is optional for <data_format> Range, List, Corner, 
|*                 Increment and Steps.
|*              7) Default is not allowed for <data_format> Table, Gaussian,
|*****             Dual-Dirac and DjRj, and Usage Out parameters.
|**             8) Additional rules apply when <data_format> is Table.  The
|**                format for <data> describes a set of rows containing data
|**                values.  Each row has its set of column data values enclosed
|**                by parentheses '(' and ')'.  Each row contains the same
|**                number of column values.  Any or all of these columns may
|**                have different data types.  For this case the <data_type>
|**                argument is either a list of data types (one for each
|**                column), or a single data type.  If it is a single data
|**                type then this type shall be applied to all of the columns
|**                in each row.
|***            9) Description is optional.
|*****         10) For Usage Out parameters, <data> is ignored by the EDA
|*****             tool, except when <data_format> is Table where a one-row
|*****             Table is required in <data> to serve as a template for
|*****             single and multi-row tables.  


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

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION


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

ANY OTHER BACKGROUND INFORMATION:

The order of Notes #9 and #10 might be reversed, since the topic of #8
and #10 are more closely related than #8 or #10 and #9.  This was left
to the editorial committee to reduce the amount of changes shown in this
BIRD and to allow the meaningful changes stand out.

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

Other related posts: