If it has required this much discussion, then we probably need a
well-considered BIRD, for a future spec. I do think that dropping "Rx
analog model" for IBIS 7.0 would be a good idea. It leaves us with an
example in which the purpose of "my_file" is not explained, but at least
it doesn't mislead.
Mike
On 11/26/2018 12:48 AM, Muranyi, Arpad wrote:
Mike,
Like I said in my previous email, I initially suggested the same as you, to use
Ts4file and move it up to the Reserved Parameter section, but others in that
meeting felt that it would be too much of a change, and we could just do what
we did, change it to my_file and thereby disassociate the example from the
BIRD158 concepts. We just forgot to change the Description. I think the easiest
and quickest way to fix this would be to change the Description (and if we still
don’t like it we can file it away as a known issue and address it for the next
revision). Do you think that would be still too confusing?
Thanks,
Arpad
==============================================================
*From:*Mike LaBonte [mailto:mlabonte@xxxxxxxxxx]
*Sent:* Saturday, November 24, 2018 7:08 PM
*To:* Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx>; ibis-macro@xxxxxxxxxxxxx
*Subject:* Re: [ibis-macro] Usage Dep example
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.
Mike
On 11/24/2018 6:36 PM, Muranyi, Arpad wrote:
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>
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] *On Behalf Of *Mike LaBonte
*Sent:* Wednesday, November 21, 2018 9:01 PM
*To:* ibis-macro@xxxxxxxxxxxxx <mailto: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 modelwhat[ML1] <#_msocom_1>
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
------------------------------------------------------------------------