[ibis-macro] Re: Yet another problem with Usage Out

  • From: Mike Steinberger <msteinb@xxxxxxxxxx>
  • To: ibis-macro@xxxxxxxxxxxxx
  • Date: Fri, 16 Dec 2011 15:17:50 -0600

Arpad-

When we have a parameter of Usage In and Format List, what do we send in to the model through ami_parameters_in? Do we send a single value or do we send the entire list? We send in a single value selected from the list. There's no reason to suppose that a model sending a value back would do anything else. It will send back a single value from the list.

Consider, however, that currently we have no way to declare an array-type value in an AMI file. That makes the array value syntax we put into the parameter string definition considerably less useful. We have run into this problem a number of times in the work we've done; and the solution we came up with is not at all pretty.

For example, suppose I want the following parameter string sent into the model:

   (froboz(grue -1.3e9 0 -4.2e9 0))

According to IBIS 5.0, that's a valid parameter string syntax. The parameter grue has a value which is an array of floating point numbers.

What can I put in an AMI file that would tell the EDA tool to generate this parameter string?

Thanks.
Mike S.

On 12/16/2011 01:46 PM, Muranyi, Arpad wrote:
Hello everyone,

In the process of trying to make heads and tails
of this Usage Out discussion, I discovered another
interesting situation with the Usage Out parameters.

Let's assume that the .ami file contains this
perfectly legal parameter definition:

(MyExample
    (Description "Example")
    (Reserved_Parameters
       (MyRterm
          (Usage Out)
          (Type Integer)
          (List 100 80 90 110 120)
          (Default -1)
          (Description "Illustration")
       )
    )
)

What is the model supposed to return?  A single
value or multiple values?  According to BIRD 127.4
the AMI_parameters_in/out strings can only contain
"leaf/value pairs", i.e. a single value for each
parameter name (or a Table according to BIRD 132).

|****            2) the AMI Parameter branches Usage Out or Usage InOut are
|****               returned as leaf/value pairs in the AMI_parameters_out
|****               string.

If that is true, why would one define a Usage Out
parameter as anything else but Value, Default or Table?
If the purpose of defining a Usage Out parameter as
a List, for example, would be to tell the EDA tool
that the returned value from the Model is a List,
we are out of luck, since lists can't be passed
through the AMI_parameters_out strings.

It seems to me that we have another conflict here.
To remove this conflict we should not allow anything
else but Value, Default, or Table for Usage Out
parameters, or figure out a way to pass more than
just "leaf/value pairs" through the parameter string.

Comments, questions, suggestions welcome.

Thanks,

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

---------------------------------------------------------------------
IBIS Macro website  :  http://www.eda.org/pub/ibis/macromodel_wip/
IBIS Macro reflector:  //www.freelists.org/list/ibis-macro
To unsubscribe send an email:
   To: ibis-macro-request@xxxxxxxxxxxxx
   Subject: unsubscribe

Other related posts: