[ibis-macro] Re: questions about Init input parameter string

  • From: "Walter Katz" <wkatz@xxxxxxxxxx>
  • To: <fangyi_rao@xxxxxxxxxxx>, <ibis-macro@xxxxxxxxxxxxx>
  • Date: Sat, 10 Jul 2010 10:48:28 -0400

Fangyi,

Regarding questions 1-3:

Page 140 of IBIS 5.0 states:

|
| Usage: (required for model specific parameters)
|   In Parameter is required Input to executable
|   Out Parameter is Output only from executable
|   Info Information for user or EDA platform
|   InOut Required Input to executable. Executable may return different
|      value.

Clearly In and InOut are required to be in the input parameters string.
Well-written EDA tool should not put Info and Out in the input parameter
string. Well-written DLL's should ignore Info and Out parameters in the
input parameter string, or any other parameter that is not specified in the
AMI file that the EDA tool passes to it. Well-written DLLs should put all
Out and InOut parameters in the output parameter string. Well-written EDA
tools should ignore In and Info parameter and other unknown parameters in
the output parameter string. Well-written EDA tools should expect that all
InOut and Out parameters are in the output parameter string, but handle
gracefully when these Out and InOut parameters are not returns in the output
parameter string.


Regarding question 4, your question is worded in a misleading way.
"sub-parameter" is not defined in IBIS 5.0. I believe that the following
explanation does represent the intent of question 4.

The current specification is clear that various combinations of question 4
are problematic. Assuming that parameter can be In, InOut, Info, or Out, and
its sub parameter can independently be In, InOut, Info, or Out, there are 16
possible combinations, and some of them would violate the following rule.

| 2. Parameter name/value pairs are always enclosed in parentheses, with the
|        value separated from the name by white space.


One problematic example:


  (root
          (Model_Specific
               (Xyz (Usage In) (Type Integer) (Range 0 0 5) (Description
"Xyz configuration")
                       (Abc (Usage In) (Type Integer) (Range 0 -10 10)
("Description Xyz Abc control"))
              )
         )
  )

  The following input parameter string would violate the 2. rule above

  (root (Xyz 3 (Abc -5)))

  The following avoids the .2 rule, but violates various rules about
describing parameters tree structures (two branches with the same name).

  (root (Xyz 3) (Xyz (Abc -5)))


I tried to clear this up in the BIRD that I proposed in March. It said:

| In this section, a sub-parameter is a leaf under a parameter that
describes the Type, Usage,
| Allowed Values, and Description of the parameter.
|
| A leaf is a parameter if the leaf only contains sub-parameters.
|
| A parameter tree contains a root, branches and leaves. A branch of the
parameter tree is
| an AMI Parameter, if it has one of the following leaves:
Usage
Type
Default
Allowed-Value Method
Value
List
Range
Increment
Corner
Steps
Array

This AMI specification clearly defines root.Xyz.Abc is an AMI Parameter
because is contains a sub-parameter (Usage, Type, Range).
This AMI specification also clearly defines root.Xyz as not an AMI Parameter
because is contains a the leaf Abc which is not a sub-parameter.


Do you have any problems with this interpretation and clarification?

Walter


Walter Katz
303.449-2308
Mobile 720.333-1107
wkatz@xxxxxxxxxx
www.sisoft.com

-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx]On Behalf Of fangyi_rao@xxxxxxxxxxx
Sent: Saturday, July 10, 2010 12:26 AM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] questions about Init input parameter string

Hi, AMI experts;

I have some questions about input parameter string of AMI Init.

1.      If a parameter is of Usage Info, shall it be included in the input
parameter string to the Init call?
2.      If a parameter is of Usage Out, shall it be included in the input
parameter string to the Init call?
3.      If a parameter is of Usage InOut, shall it be included in the input
parameter string to the Init call?
4.      If a parameter is of Usage Info or Out, can its sub-parameter be of
Usage In?

The current spec is not clear about what parameters go into the input
string. We should clarify this in the clean-up BIRD.

Thanks in advance.

Fangyi

Other related posts: