[ibis-macro] Re: Format Corner - Interpretation?

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: "IBIS-ATM" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 30 Mar 2011 15:24:06 -0700

Bob,

 

I am not sure all previous models would stop working if

Default for Corner would be illegal starting in v5.1.

We do have a version number.  Wouldn't that sort things

out?

 

Thanks,

 

Arpad

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

 

From: Bob Ross [mailto:bob@xxxxxxxxxxxxx] 
Sent: Wednesday, March 30, 2011 5:12 PM
To: Muranyi, Arpad; 'IBIS-ATM'
Subject: RE: [ibis-macro] Re: Format Corner - Interpretation?

 

Arpad:

 

Your analysis is absolutely correct.

 

Also, we are dealing overall with a specification where not all people
were

on the same page - literally, nor did we have time to fully analyze the
interaction

impact of what was specified.  That is evident in released models and
spec.

interpretations.  Default was poorly thought out, and we are recovering
from

it with solutions compromising between perfection and what people have

implemented.

 

My overall recommendation is to keep default optional, as is currently

proposed, to avoid breaking models that work.  In most cases, where

used, Default just repeats the typical value.  For Corner, it makes no

sense, but tools could be advised to treat Default as  an (unlikely)

but intended alternative to Typ.   That also applies to List, Range,
Step,

and Increment - if Default is different than the Typ value.

 

To many changes from allowed to illegal will break many models

for unimportant reasons.

 

Bob

 

 

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Wednesday, March 30, 2011 11:28 AM
To: IBIS-ATM
Subject: [ibis-macro] Re: Format Corner - Interpretation?

 

Bob,

 

You are making good points regarding Default with Corner,

but the reason I was questioning this was from a different

perspective.  Think about it this way:

 

Default is usually used for multi-valued parameters where

the user has to make a choice.  Default serves the purpose

for having a value in absence of the user's selection.  Put

this thinking together with Corner, but first a little

background.

 

Reading the existing specification I had no clue that

Corner was actually assigned by the tool (the note on

pg. 141 doesn't say anything about that).  I only started

to get some clues about that when I began to study how

the Dependency Tables work.  Some of the examples use

Corner as a control input for the table and I was

wondering why Corner was not defined in the same .ami

file (as required for all Dependency Table parameters).

Then I realized that this was one of those "predefined"

parameters listed in BIRD 124.  But there is still no

description in BIRD 124 about how the predefined

parameters get their values, etc...

 

My "detective work" was misguided by the presence of the

Default value in some of those models which contain

Corner.  The presence of Default gave me the impression

that Corner may be a user selection through the same GUI

which allows them to make choices for the other AMI

Algorithmic Model parameters.  This "evidence" in my

detective work contradicts the logic that Corner is

assigned by the tool.  There is no situation when a

tool wouldn't know what corner it simulates, therefore

there is no need for Default, right?

 

Now, think about an EDA vendor who needs to implement all

this.  If the conclusion is that the tool makes this

assignment, the value of Corner should always be known.

But if the existence of Default is an indication that

this is a user selection, then we have to make a GUI

entry for it.  Taking this one step further, we can also

ask the question:  does the existence of Default imply

that regardless of what the tool uses for Corner in the

analog simulation engine to generate the channel

characterization impulse response, it should allow the

user to select a (different) Corner for the Algorithmic

Model simulation engine through the AMI parameter GUI?

To me doesn't make sense at all, but it is certainly a

possible conclusion based on what information is available

in the specification.

 

I think we have to address this issue and correct the

specification.  This is why I am asking all these questions

about these rules.  So while your reasons for keeping Default

may be doable from a spec perspective and for keeping the

existing models compatible with the new spec, I would

like to find out what was the intent of the authors when

the AMI specification was written regarding Corner.  Given

our track record I don't know whether the appearance of

Default in certain models is only a "left hand doesn't

know what the right hand does", a "senior moment" or

intentional.  Consequently I don't know which reasoning to

apply from my "detective work" to my interpretation of the

specification.

 

I would like to identify a consistent and reasonable solution

for this confusing situation for Corner.

 

Thanks,

 

Arpad

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

 

 

From: Bob Ross [mailto:bob@xxxxxxxxxxxxx] 
Sent: Wednesday, March 30, 2011 11:00 AM
To: Muranyi, Arpad; 'IBIS-ATM'
Subject: RE: [ibis-macro] Re: Format Corner - Interpretation?

 

Arpad:

 

We would do exactly as you state.  That is not my concern.

All entries in #6 start with a Typ value.  The Optional Default

is consistent in all cases as an override for some parameters.

 

My concern is consistency of our rules and existing applications.

I believe many models already redundantly use Corner and Default.

There is no reason for change, and the Default overrule interpretation

can be valid for some analysis for all of these cases.

 

In the cases for #7, there is no definition of "Typ" entry.  So the

Default exclusion rule is valid (as with the exclusive OR rule

with Value in #4).

 

I think Default was not fully thought out in its relationship to all the

other <data_format> parameters, but creating a spider-web of

inconsistent rules for our primitive elements does more harm than good.

 

Bob

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Wednesday, March 30, 2011 8:39 AM
To: IBIS-ATM
Subject: [ibis-macro] Re: Format Corner - Interpretation?

 

Bob,

 

I didn't remember that these "Notes" mentioned the same

as the text I quoted for change.  I don't see why we

couldn't delete "Corner" from #6 and add to #7 in these

notes.  Am I missing something?

 

Thanks,

 

Arpad

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

 

From: Bob Ross [mailto:bob@xxxxxxxxxxxxx] 
Sent: Wednesday, March 30, 2011 10:34 AM
To: wkatz@xxxxxxxxxx; Muranyi, Arpad; 'IBIS-ATM'
Subject: RE: [ibis-macro] Re: Format Corner - Interpretation?

 

All:

 

My only concern is now we have an inconsistent rule.   Here is where
this issue fits in:

 

 

|*              All parameters must be in the following format:

|*

|*              (parameter_name (Usage <usage>)

|*                              (Type <data_type>)

|*                              ({Format} <data_format> <data>)

|*                              (Default <value>)

|*                              (Description <string>))

|*

|*              Notes:

|*              1) The order of the entries is not important.

|*              2) The word Format is optional as indicated by the curly

|*                 braces "{" and "}" and may be ignored by the EDA
tools.

|*                 (The examples do not show the word Format).

|*              3) Certain reserved parameter names allow only certain

|*                 <data_format> selections, as described below.

|*              4) The <data_format> selection of Value and Default are

|*                 always mutually exclusive.  Certain parameters may
require

|*                 Value or Default, but Value and Default are not
allowed to

|*                  be present together for the same parameter.

|*              5) <data_format> is always required for selections other

|*                 than Value.

|*              6) Default is optional for <data_format> Range, List,
Corner, 

|*                 Increment and Steps.

|*              7) Default is not allowed for <data_format> Table,
Gaussian,

|*                 Dual-Dirac and DjRj.

|*

 

List, Range, and Corner, Increment, and Steps all have the first entry
defined as a "Typ" value.

 

The same logic applies for Corner in rule 6..  You may choose the slow
or fast value for the Default just

as you might choose any of the non-Typ values for the other
<data_format> entries.

So I think the rule should remain as is.

 

Bob

 

 

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Wednesday, March 30, 2011 8:18 AM
To: Arpad_Muranyi@xxxxxxxxxx; 'IBIS-ATM'
Subject: [ibis-macro] Re: Format Corner - Interpretation?

 

Arpad,

 

I agree that (Default Value) does not make much sense for (Corner typ
slow fast).

 

Walter

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Wednesday, March 30, 2011 10:55 AM
To: IBIS-ATM
Subject: [ibis-macro] Re: Format Corner - Interpretation?

 

Walter,

 

I checked in BIRD 127 (Out Typos BIRD) and found this in it:

 

|   Default <value>:

|*    Default and Value are mutually exclusive, and must not be used
together

|*    for the same parameter.  Default is not allowed for Table,
Gaussian,

|*    Dual-Dirac and DjRj.  Default is optional for Range, List, Corner,


|*    Increment and Steps.  If a Default <value> is specified, its value
must

|*    have the same Type as the parameter.  For example, if Type is
Boolean,

|*    <value> must be either True or False, if Type is Integer, <value>
must

|*    be an integer.  Also, if Default is specified, <value> must be a
member

|*    of the set of allowed values of the parameter.  If Default is not

|*    specified, the default value of the parameters will be the <typ>
value.

 

 

I still wonder if Default makes sense for Corner.  Wouldn't

a tool always know what corner they are working with, therefore

wouldn't Corner always be set to a known value?

 

What do you think?

 

Thanks,

 

Arpad

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

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Tuesday, March 29, 2011 1:52 PM
To: IBIS-ATM
Subject: [ibis-macro] Re: Format Corner - Interpretation?

 

Walter,

 

Another question:

 

Does a parameter of Type Corner need Default?  Or is it

not needed, or even prohibited?  When would a tool make

use of a default value for them?  The tool always knows

what corner it simulates, right?

 

Thanks,

 

Arpad

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

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Tuesday, March 29, 2011 1:39 PM
To: IBIS-ATM
Subject: [ibis-macro] Re: Format Corner - Interpretation?

 

Walter,

 

Thanks for the answer.  However, I think that's not the

end of the story yet...

 

If the value of corner (and the rest of the predefined

parameters) are set by the tool, the following statements

don't make sense in BIRD 124:

 

| "xyz" is a predefined AMI parameter of Type String and Usage Info

 

(Usage Info) is information that goes from the .ami file

to the tool.  If these parameters come FROM the tool they

can't be Info.

 

Thanks,

 

Arpad

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

 

 

 

From: Walter Katz [mailto:wkatz@xxxxxxxxxx] 
Sent: Tuesday, March 29, 2011 1:22 PM
To: Muranyi, Arpad; 'IBIS-ATM'
Subject: RE: [ibis-macro] Format Corner - Interpretation?

 

Arpad,

 

Corner is determined by the EDA tool.

 

Walter

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Tuesday, March 29, 2011 2:15 PM
To: IBIS-ATM
Subject: [ibis-macro] Format Corner - Interpretation?

 

Hello AMI experts,

 

I stumbled on a question regarding how Format Corner

supposed to be interpreted by an EDA tool.  Pg. 140

of the IBIS specification say this:

 

 

 

and pg. 141 has this:

 

 

 

Then on pg. 146 I see this:

 

 

 

and on pg. 147 I see this:

 

 

 

 

 

In BIRD 124 I read the following:

 

| "[Corner]" is a predefined AMI parameter of Type String and Usage Info
that can 

| be used to create an input column in a dependency table. It has a List
format with 

| the allowed values "Typ", "Slow" and "Fast".

 

but I don't see any text in the Specification or the BIRD that

explains how "Corner" is predefined and from where and how it

gets it value.  Could someone explain this to me please?  It

seems that this needs another clarification BIRD...

 

Thanks,

 

Arpad

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

PNG image

PNG image

PNG image

PNG image

Other related posts: