[ibis-macro] Re: Usage Dep example

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: "mlabonte@xxxxxxxxxx" <mlabonte@xxxxxxxxxx>, "ibis-macro@xxxxxxxxxxxxx" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Sat, 24 Nov 2018 23:36:32 +0000

Mike,

If I remember correctly, “my_file” used to be “Tstonefile” in this example, and
I raised the same questions as you did.  Instead of changing it to Ts4file and
moving it to the Reserved Parameters section, it was decided to change it to
“my_file” because the purpose of the file could be all kinds of things, other 
than
a BIRD158 style buffer model.  We just forgot to change the Description after
we did that.  Even though I agree with you, I think since the group decided to
handle the situation this way, we should just correct the Description so that
it would not make people think that this is a BIRD158 style buffer example.

Thanks,

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

From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] ;
On Behalf Of Mike LaBonte
Sent: Wednesday, November 21, 2018 9:01 PM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Usage Dep example


All,

Making an editorial pass through IBIS 7.0, I came across a slightly technical 
question. The example for AMI Usage Dep has AMI_Resolve setting the name of the 
analog model file based on other inputs:

(Rx_model

  (Reserved_Parameters

    (AMI_Version (Usage Info) (Type String) (Value "7.0")

      (Description "This is a v7.0 AMI file."))

    (Resolve_Exists (Usage Info) (Type Boolean) (Value True)

      (Description "Indicates whether the executable model implements          
AMI_Resolve."))

    (Model_Name (Usage In) (Type String) (Value "ignore_me")

      (Description "IBIS model name"))

    (Rx_Receiver_Sensitivity (Usage Out) (Type Float) (Range 0.0 0.0 0.01)

      (Description "Value depends on OP_mode and data rate"))

    (Init_Returns_Impulse (Usage Info) (Type Boolean) (Default True)

      (Description "Impulse response is returned"))

    (GetWave_Exists (Usage Info) (Type Boolean) (Default True)

      (Description "GetWave Exists"))

  )

  (Model_Specific

    (my_file (Usage Dep) (Type String) (Value "ignore_me.s4p")

      (Description "Rx analog model. Value depends on OP_mode"))

    (my_corner (Usage In) (Type String) (Corner "Typ" "Min" "Max")

    (Description "Informs the executable model what[ML1]  corner is selected by 
user"))

   (OP_mode (Usage In) (Type Integer) (List 0 1 2 3)

      (Description "Operation mode"))

    …

  )

)
In this example, the Rx analog model is represented with a 4-port Touchstone 
file specified by parameter my_file, Both Rx_Receiver_Sensitivity and my_file 
depend on the legacy IBIS model name, parameter my_corner, and parameter 
OP_mode, which specifies the device operation mode. Rx_Receiver_Sensitivity 
also depends on bit_time. Parameters Model_Name, my_corner and OP_mode, having 
usage type In, are included in both input parameter strings to AMI_Resolve and 
AMI_Init. my_file is of usage type Dep, and its dependency on Model_Name, 
my_corner and OP_mode is resolved in AMI_Resolve, which returns the value of 
my_file. Rx_Receiver_Sensitivity is of usage type Out, and its dependency on 
Model_Name, my_corner, OP_mode and bit_time is resolved in AMI_Init, which 
returns the value of Rx_Receiver_Sensitivity.

My question is, now that we have Ts4File to formally specify the name of an 
analog model file, should "my_file" above be replaced by "Ts4File", which would 
also require moving it to Reserved_Parameters? As it stands, this is not really 
a legitimate example. It is the EDA tool that must know the analog model to get 
the channel impulse response, and there is no way an EDA tool should be using 
my_file, or any Model_Specific parameter, for that. I can't think of any 
example where a Model_Specific parameter would need to be Usage Dep.

Mike







________________________________

 [ML1]

Other related posts: