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