Yes, we eliminated "TStonefile" because it was not an official means to
designate an on-die model, and we did not want to imply that. But
"my_file" is still described as the "Rx analog model", and that is an
impossible example because only a Reserved_Parameter can do that. Maybe
the issue here is that we have not yet found a purpose for Usage Dep,
other than to calculate an analog model.
Stretching to find an example: maybe a Tx buffer that has presets could have Dep tap coefficients that AMI_Resolve would report out, based on the preset input. That would allow the EDA tool to know the coefficients in advance, and pass them into AMI_Init. But even that is not a great example, because the preset could simply be passed to AMI_Init, which would report the calculated coefficients as Out parameters. And Dep parameters are not passed to AMI_Init anyway, so the EDA tool would never know to pass the coefficients back in. This would not be a valid example.
Can anyone think of a Model_Specific Dep parameter that makes more sense? If not, then since we do now have Ts4File, to me it makes sense to use that as the example. What we have now is confusing. An alternative would be to delete "Rx analog model. " from the Description in that example, and simply leave it vague what my_file is for.
On 11/24/2018 6:36 PM, Muranyi, Arpad wrote:
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.
*From:*ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] *On Behalf Of *Mike LaBonte
*Sent:* Wednesday, November 21, 2018 9:01 PM
*Subject:* [ibis-macro] Usage Dep example
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:
(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
(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)
*(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 modelwhat[ML1] <#_msocom_1> corner is
selected by user"))
(OP_mode (Usage In) (Type Integer) (List 0 1 2 3)
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.