[ibis-macro] Potential technical errors in Dependency examples

  • From: "Mirmak, Michael" <michael.mirmak@xxxxxxxxx>
  • To: "IBIS-ATM (ibis-macro@xxxxxxxxxxxxx)" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Fri, 2 Nov 2018 18:44:38 +0000

(this is a modified version of a mail sent earlier this month to the Editorial 
Task Group)

Pages 192-193 of the current IBIS 7.0 draft (page 179-180 of IBIS 6.1) contain 
a few strange problems with the dependency text and example.  In the text 
below, a grammatical error has been corrected, but a technical issue may remain.

In particular, shouldn't the "Rx_Receiver_Sensitivity" be Usage Dep, not Usage 
Out?  The explanatory text states that Rx_Receiver_Sensitivity is dependent on 
OP_mode, and though the last sentence mentions that Rx_Receiver_Sensitivity is 
determined by AMI_Init, it's not clear why this case has Usage Out if Usage Dep 
is permitted (and involved).  Is there an example of where Usage Dep for 
Rx_Receiver_Sensitivity would be used (it is a legal option)?

A diagram would very much help here, but I doubt we have the time to include 
one.


  *   MM

Relevant text


Example:

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


Other related posts: