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. *****************************************************************************