[ibis-macro] Re: Out-InOut BIRD, lets get real

  • From: Mike LaBonte <mlabonte@xxxxxxxxxx>
  • To: <Arpad_Muranyi@xxxxxxxxxx>, "'IBIS-ATM'" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Fri, 25 Sep 2015 09:25:14 -0400 (EDT)

A tool knows if it can handle special Model_Specific parameters when it
recognizes their names. To that tool it is as though it were a
Reserved_Parameter. But since the special names are not actually reserved
there is a risk an unaware model maker might accidentally use one of these
parameter names, and some tool might try to so something special with it.
For this the Reserved_Parameter we have been discussing can help. Even if
it recognizes a parameter name as special, a tool should not do anything
special with it unless it is listed in the parameter name table (don't
want to use its name until we've settled on that).



But this makes listing the special parameters required for model makers
who don't want to take that risk. As an alternative I think they might
just use more unique parameter names, possibly prefixed with proprietary
names. That would negate the ability to propose the names used as new
Reserved_Parameters and have them take effect in all tools once the BIRD
is incorporated, assuming we will not allow proprietary content in
Reserved_Parameter names.



A few thoughts regarding the "severity" indicator:



1. It has to be defined clearly so that there is some hope of being
interpreted the same way by all.

2. I'm reminded of the IBIS Quality specification IQ levels, which
would indicate the level of impact failure to pass a check might have.

3. We need a better name for it. Severity implies a sequence of
magnitudes, whereas I think this is about categories of capabilities.



Mike



From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Friday, September 25, 2015 12:35 AM
To: IBIS-ATM
Subject: [ibis-macro] Re: Out-InOut BIRD, lets get real



Walter,



Thanks for the clear answer. By the way, my analogy with

hot or cold had nothing to do with the topic, I could have

used rain or shine, or anything else, I just wanted to

illustrate that I felt that I got a "Yes" to an "OR" question.



Anyway, now that I understand that you would flag both cases,

"A" and "B", my next question (again) is, whether we should

have a "severity" indicator along with this list next to

each Model_Specific parameter name to give an indication

whether the model would not work at all, or whether it just

would not give the "above and beyond" information if the tool

doesn't support its special parameter. I believe it would be

useful to have that information, but some people say that

this would complicate matters too much. But how would the

user know without this indicator whether they can use the

model at all with the tool they got or not? I would like to

get a consensus on that question now.



So this time I am going to ask a Yes/No question:



"Should we have some sort of a severity indicator"?



Thanks,



Arpad

=================================================================



From: Walter Katz [mailto:wkatz@xxxxxxxxxx]
Sent: Thursday, September 24, 2015 8:01 PM
To: Muranyi, Arpad; IBIS-ATM
Subject: RE: [ibis-macro] Re: Out-InOut BIRD, lets get real



Arpad,



See below, my answer was Yes:

Arpad,



Yes, and that is when the User reads the documentation. At least he knows
he has to read the documentation and ask his EDA vendor what the EDA
vendor does.



Walter





Of course it should flag #A and #B. I though you analogy to Hot and Cold
was to the degree that it effects the results, and the "temperature" is
dealt with in the comments.



Walter



From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Thursday, September 24, 2015 8:48 PM
To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: Out-InOut BIRD, lets get real



Walter,



I don't understand why answering that simple question has to be so

difficult.



"Should the new Reserved parameter flag case B only, or both A and B?"



Here are my comments on your three examples:



If the simulator stimulus is not 8B10B encoded and the results are

pessimistic, the results are still correct, because the waveforms in

real life would be just as pessimistic if the hardware would run

without 8B10B encoding, correct? If yes, the model works as designed

whether the user pays attention to the need to set the stimulus to

8B10B encoding or not.



Now, if there is a Model_Specific parameter that tells the EDA tool

to use 8B10B stimulus and the tool doesn't interpret this parameter

and as a result is uses a regular PRBS stimulus, the results can still

be considered correct in the sense of fundamental IBIS-AMI, because

the AMI model and tool presented the correct answer to the user that

corresponds to the PRBS stimulus. So the lack of support for this

special Model_Specific parameter did not break the results. The

only problem is that the results were not as good as it could have

been if the parameter would have been supported in the tool. But

if this special parameter is listed in the new proposed parameter,

the user might look into the situation and read the description or

the manual to find out what it was supposed to do and why (if they

haven't done it yet). After doing so the user can still set the

tool's stimulus options manually to use an 8B10B encoded stimulus

and get the "better" results after all. I would classify this

situation as severity "yellow" ("A") because everything works according

to the IBIS specification, except the special feature needs special

attention. But I would prefer to flag this and list this parameter

in the new proposed Reserved parameter, because if it is not listed,

the user may not notice that the results they were working with were

not the intended results.



Your second example is very similar to the previous example. In this

case, in absence of support for a special parameter, the user will

need to select the appropriate Tx model depending on the CTLE settings

they use. This is a "dependency table" problem. If the tool doesn't

do it automatically, the used can hopefully still do it manually.

No matter what, the results are still correct according to the settings

used in the simulation, except that the settings may not be correct

without manual intervention. Garbage in, garbage out, but the answer

is still correct according to the settings used: garbage.



In your 3rd example my answer would depend on what you mean by

"the Rx model returns a parameter that the Model maker wants the EDA tool
to use in some waveform analysis calculation"

If "analysis" here refers to the basic eye and BER plot, and these would

be wrong without observing this parameter, I would call this a severity
"red"

("B") because non IBIS compliant only tool would be able to generate the
correct

results. But if "analysis" here means something beyond the basic eye and
BER

plots and these plots could still be correctly generated by all IBIS
compliant

only tools, I would call this a severity "yellow" ("A") condition, because
the

parameter is only needed for the extra, beyond the IBIS specification
stuff,

not the basic stuff.





So my question is still open:



"Should the new Reserved parameter flag case B only, or both A and B?"





I would prefer both.



Thanks,



Arpad

==========================================================================
=====









From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Thursday, September 24, 2015 4:46 PM
To: Muranyi, Arpad; IBIS-ATM
Subject: [ibis-macro] Re: Out-InOut BIRD, lets get real



Arpad,



Yes!



If Cold is the model has no Model Specific parameters that are "Non
Standard", "Not Cold" is a .ami file that does have Model Specific
parameters that are "Non Standard". It is up to the documentation provided
by the Model Maker to describe the temperature of the "Non Standard" Model
Specific parameters.



At the point that this .ami model goes to a User, the Model Maker should
have already documented what he expects an EDA tool to do with these
parameters. The Model Maker in this documentation should describe what
functionality will be lacking if the EDA tool does not support the actions
the Model Maker would like the EDA tool to do with these parameters. There
are many grades of temperature between your #A and #B.



So, for my example:



1. An example of this is a requirement that this Tx has 8b10b
encoding built into it and simulator needs to generate an 8b10b pattern
(incorrectly written below)

a. Many (if not all) EDA tools can generate an 8b10b stimulus
pattern, and if the User does not direct an EDA tool (that does not
support this parameter) to use an 8b10b then the BER will be pessimistic.
Is this cold, tepid, hot or lukewarm?

2. Another example is that analog model required to generate the
impulse response of the channel is a function of the CTLE AMI setting.

a. This could be cold, tepid, hot or lukewarm, depending on whether
the EDA tool give the User the capability to use different analog models
for different CTLE settings, and how much the analog model differ between
different CTLE settings.

3. Another example is that the Rx model returns a parameter that the
Model maker wants the EDA tool to use in some waveform analysis
calculation. Again, the model maker can indicate if this is cold, tepid,
hot or lukewarm depending on what this calculation does.



I think we have to assume that Users can read, and read the documentation
that comes with the model, and that model makers can write clear
documentation.



Walter





From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Thursday, September 24, 2015 11:55 AM
To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: Out-InOut BIRD, lets get real



Walter,



Your answer is like: Is it hot or cold? Yes.



Thanks a lot.



Arpad

================================================



From: Walter Katz [mailto:wkatz@xxxxxxxxxx]
Sent: Thursday, September 24, 2015 10:41 AM
To: Muranyi, Arpad; IBIS-ATM
Subject: RE: [ibis-macro] Re: Out-InOut BIRD, lets get real



Arpad,



Yes, and that is when the User reads the documentation. At least he knows
he has to read the documentation and ask his EDA vendor what the EDA
vendor does.



Walter



From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Thursday, September 24, 2015 11:28 AM
To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: Out-InOut BIRD, lets get real



Walter,



In summary, the two purposes you describe are



#1 Control the AMI DLL,

#2 Control the EDA tool.



But the second one can still be done in two different ways:



#A Without breaking the basic functionality of the model, i.e.

all tool can generate the basic eye diagrams and BER plots

correctly, and the tool that is capable of doing extra stuff

for that particular model can do more than the basics for

their user

#B The model would only work correctly in those EDA tool(s) which

understand these special Model_Specific parameters and other

tools will not be able do anything useful with the model.





Should the new Reserved parameter flag case B only, or both A and B?



Thanks,



Arpad

=====================================================================





From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Thursday, September 24, 2015 9:46 AM
To: IBIS-ATM
Subject: [ibis-macro] Out-InOut BIRD, lets get real



All,



Let's step back and discuss what AMI Model Specific parameters are all
about:



1. There are two primary purposes of Model Specific AMI parameters

a. Control what the DLL does

i. The
DLL should be controlled the way the silicon works

1. These usually map into the hardware registers that control the
actual buffer

2. Tx Tap settings

3. Rx CTLE settings

ii.
Model maker want to allow the user to turn on and off model features

iii. Use
to configure the DLL when the DLL supports multiple buffer implementations

b. Report to the user what the DLL did

i. DFE
tap values

2. The model maker wants to convey information to the User/EDA tool
on how to control simulations

a. An example of this is a requirement that this Tx model has 8b10b
encoding built into it

b. Another example is that analog model required to generate the
impulse response of the channel is a function of the CTLE AMI setting

c. Another example is that the Rx model returns a parameter that the
Model maker wants the EDA tool to use in some waveform analysis
calculation



The issue here is that the Model Maker, the User and the EDA Vendor wants
the Model Maker to add Model Specific parameters to allow the EDA tool to
programmatically do the functions described in 2. Above. The perpous of
this BIRD should be a mechanism that the Model Make can convery to the
User and the EDA tool that such Model Specific parameters exists, and a
standard place for him to document the parameters and what he is expecting
the EDA tool to do with them, whether they are Info parameters, In
parameters, Out parameters, or InOut parameters.



Walter





Walter Katz

<mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

Phone 303.449-2308

Mobile 303.335-6156

Other related posts: