[ibis-editorial] Re: Draft DUT and reference language for specification

  • From: Walter Katz <wkatz@xxxxxxxxxx>
  • To: <Arpad_Muranyi@xxxxxxxxxx>, <ibis-editorial@xxxxxxxxxxxxx>
  • Date: Fri, 22 Apr 2016 09:01:49 -0400 (EDT)

Arpad,

 

Yes. And I am suggesting a specific resolution. First by adding a new
section [Pin Reference] we can state what the reference node needs to be
for each I/O pin. If there is no record for an I/O pin, the EDA tool
should reference a rail that has its [*** Reference] = 0.0V. This leaves
the case that a buffer has no [*** Reference] = 0.0V and no [Pin
Reference], which we can make a parser warning (or error if you like).

 

Does this not solve the problem?

 

Walter

 

From: ibis-editorial-bounce@xxxxxxxxxxxxx
[mailto:ibis-editorial-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Friday, April 22, 2016 8:54 AM
To: ibis-editorial@xxxxxxxxxxxxx
Subject: [ibis-editorial] Re: Draft DUT and reference language for
specification

 

Walter,

 

You used the words reasonable assumption a few times.  I don't

dispute that at this moment, but isn't the goal of this clean up

effort to eliminate or reduce the amount of assumptions one has

to make and spell things out more clearly in the spec?

 

Thanks,

 

Arpad

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

 

From: Walter Katz [mailto:wkatz@xxxxxxxxxx] ;
Sent: Friday, April 22, 2016 5:51 AM
To: Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx
<mailto:Arpad_Muranyi@xxxxxxxxxx> >; ibis-editorial@xxxxxxxxxxxxx
<mailto:ibis-editorial@xxxxxxxxxxxxx
Subject: RE: [ibis-editorial] Re: Draft DUT and reference language for
specification

 

Arpad,

 

The spec clearly points out the reference node for all measurements of a
DUT, it is the reference node of the test fixture. If any rail of a DUT is
0V relative to the test fixture reference, then it is the same as the test
fixture reference. So in this case, our tool  make the reasonable
assumption that this rail can be the reference node for measurements made
at the buffer.

 

And your memory is correct (wait a couple of years to see if remains so):

Is it spelled out in the spec with respect to what these voltages

are measured?  If I remember correctly, we don't say anything about

that in the spec.  Or is my memory failing me on that?

 

As I said, it is a reasonable assumption to make that if a rail voltage is
defined to be zero relative to test fixture ground for a DUT, then it can
be used as a local reference node by the EDA tool. IBIS does not say this
explicitly. And an EDA tool cannot make any reasonable assumption on what
to do when all of the *** Reference] are not 0.V.

 

I explicitly asked Bob if this example was real, and he said it was. You
continue to confuse DUT with DIA. The *** Reference values are DUT only,
and the values are referenced to the test fixture ground. What happens
when the rail voltages are other than these *** Reference values relative
to simulator Node 0 is the wild wild west, but frankly I do not care
because the case where at least one of the *** Reference values are not
zero is Extremely Rare, and I think we are wasting a huge amount of time
on this. The ultimate solution is very simple, we need to be able to add
the ability to specify a signal name of the component that is used as the
reference node for all measurement of an I/O pin. This signal name can
default to a signal name that is associated with a rail that has a 0.0V
Reference] value. Since this would be very rarely required (a couple of
PECL buffers that Tom came up with, and the RS232 interface that Bob
always cites), I would not complicate [Pin Mapping] but add a simple new
Keyword:

 

[Pin Reference] signal_name

 

Each row after this keyword would contain two columns, Pin and
Signal_name. The signal_name would be the signal name that would be used
for the reference of all voltage measurement made on the buffer identified
by the Pin (Pin_name).

 

Can we use this mechanism to put this whole issue to bed, so that we can
move on.

 

Walter

 

 

From: ibis-editorial-bounce@xxxxxxxxxxxxx
<mailto:ibis-editorial-bounce@xxxxxxxxxxxxx>
[mailto:ibis-editorial-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Thursday, April 21, 2016 11:38 PM
To: ibis-editorial@xxxxxxxxxxxxx <mailto:ibis-editorial@xxxxxxxxxxxxx
Subject: [ibis-editorial] Re: Draft DUT and reference language for
specification

 

Walter,

 

I think you have a cut and paste error in your example.

The fourth line should have -5.0 volt, not zero:

[Pullup Reference]      0.0V            0.0V            0.0V

[Pulldown Reference]    0.0V            0.0V            0.0V

[POWER Clamp Reference] 0.0V            0.0V            0.0V

[GND Clamp Reference]   0.0V            0.0V            0.0V

 

I think Bob's example is somewhat "twisted", but I am not sure

whether this is because we have special rules for ECL or PECL,

or whether this is supposed to be a pathological (impractical)

example.

 

In my mind, if the [Pullup Reference] and [Pulldown Reference]

are the same value (zero or otherwise), the buffer is powered

down.  It should have no signal coming out at all in this case,

considering that the predriver can't put a voltage on the base

or gate of the output transistors and by the "gate modulation

effect" (described in the ISSO_*** keywords) the I-V curve of

the output transistor should be scaled to zero.

 

Now, if Bob's example has the [Pullup Reference] or [Pulldown

Reference] at the same value because one or the other I-V curve

is missing, thinking of one or the other of these keywords as a

"place holder" of some sort, I would say that the reference

keyword of the missing I-V curve should not be present in the

[Model].  Again, I don't remember having any rules for this in

the spec, but this is common sense to me.  If there is no I-V

curve, a reference keyword is completely meaningless for it.

 

Regarding your comment "Is only true if all of the *** Reference keywords
are not 0.0V.",

I disagree.  The whole point of this discussion is to clarify the

meaning and definition of any voltages in the spec.  These four

reference keywords define a voltage (and also a voltage rail to

which the buffer terminals are connected).  Regarding the voltage

definition aspect of these keywords, my question is "with respect to

what?" for each of these keywords.  Even if they have a zero value,

with respect to what?  A zero value in these keywords does NOT imply

that the voltage is measured between its voltage rail and node 0.

 

Is it spelled out in the spec with respect to what these voltages

are measured?  If I remember correctly, we don't say anything about

that in the spec.  Or is my memory failing me on that?

 

Thanks,

 

Arpad

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

 

From: Walter Katz [mailto:wkatz@xxxxxxxxxx] ;
Sent: Thursday, April 21, 2016 8:32 PM
To: Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx
<mailto:Arpad_Muranyi@xxxxxxxxxx> >; michael.mirmak@xxxxxxxxx
<mailto:michael.mirmak@xxxxxxxxx> ; ibis-editorial@xxxxxxxxxxxxx
<mailto:ibis-editorial@xxxxxxxxxxxxx
Subject: RE: Draft DUT and reference language for specification

 

Arpad,

 

[Voltage Range] can, in fact can be 0.0V. Look at the ECL_0V model in the
enclosed IBIS file that Bob supplied.

 

In this case:

[Voltage Range]         0.0V            0.0V            0.0V

[GND Clamp Reference]   -5.0V          -5.0V           -5.0V

 

Is equivalent to the following

 

[Pullup Reference]      0.0V            0.0V            0.0V

[Pulldown Reference]    0.0V            0.0V            0.0V

[POWER Clamp Reference] 0.0V            0.0V            0.0V

[GND Clamp Reference]   0.0V            0.0V            0.0V

 

 

In this case there are 3 terminals that connect to 0.0V, but [Pin Mapping]
tells us that they all connect to signal_name VEE, which is also
Model_name GND. The Test Fixture reference node connects to this VEE pin,
and therefore the VEE connection to the buffer is the reference node. 

 

Your statement:

Also, this doesn't seem to define what the reference node is for the
buffer

terminals whose voltage value is defined by the four *** Reference
keywords.

Is only true if all of the *** Reference keywords are not 0.0V.

 

I agree that IBIS does not explicitly say this is what you should do, but
it seems like a very logical assumpltion when one of the *** Reference
keywords is 0.0V.

 

Walter

 

 

From: Muranyi, Arpad [mailto:Arpad_Muranyi@xxxxxxxxxx] ;
Sent: Thursday, April 21, 2016 9:09 PM
To: wkatz@xxxxxxxxxx <mailto:wkatz@xxxxxxxxxx> ; michael.mirmak@xxxxxxxxx
<mailto:michael.mirmak@xxxxxxxxx> ; ibis-editorial@xxxxxxxxxxxxx
<mailto:ibis-editorial@xxxxxxxxxxxxx
Subject: RE: Draft DUT and reference language for specification

 

Walter,

 

This doesn't make sense:  ".are referenced to a rail whose value of
[Voltage Range],

[Pullup Reference], [Pulldown Reference], [POWER Clamp Reference], or [GND
Clamp Reference] is 0.0V".

 

Voltage Range is not referring to a "rail", it specifies a voltage
difference

between two rails.  If I remember correctly, the spec doesn't state what
those

two rails are.

 

Also, this doesn't seem to define what the reference node is for the
buffer

terminals whose voltage value is defined by the four *** Reference
keywords.

I think what we want to achieve is a definition that tells us what the

"other node" is for the voltages associated with these four keywords and

their corresponding buffer terminals:

[Pullup Reference], [Pulldown Reference], [POWER Clamp Reference], or [GND
Clamp Reference]

 

Thanks,

 

Arpad

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

 

From: ibis-editorial-bounce@xxxxxxxxxxxxx
<mailto:ibis-editorial-bounce@xxxxxxxxxxxxx>
[mailto:ibis-editorial-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Thursday, April 21, 2016 6:56 PM
To: michael.mirmak@xxxxxxxxx <mailto:michael.mirmak@xxxxxxxxx> ;
ibis-editorial@xxxxxxxxxxxxx <mailto:ibis-editorial@xxxxxxxxxxxxx
Subject: [ibis-editorial] Re: Draft DUT and reference language for
specification

 

MM,

 

The [Receiver Thresholds] section does do DIA by allowing Vinl_dc,
Vinh_dc, Vinl_ac and Vinh_ac to be adjusted by the rail voltage supplied
to one of the rails, but it is not clear what the voltage supplied to the
rail is referenced to. This was the presentation on made to IBIS-ATM on
Tuesday (enclosed).

 

One might want to add the following:

 

Although not specifically stated in IBIS, EDA vendors generally assume
that the reference for all DUT keyword and subparameter voltage values, as
well as [Model] subparameters such as C_comp, Vinh, Vinl, and Vmeas are
referenced to a rail whose value of [Voltage Range], [Pullup Reference],
[Pulldown Reference], [POWER Clamp Reference], or [GND Clamp Reference] is
0.0V.

 

I personally would add this to the standard. If, for example, [GND Clamp
Reference] is 0.0V, then it is logical that this is also the reference for
the DUT test fixture. To me the problem is when  [Voltage Range], [Pullup
Reference], [Pulldown Reference], [POWER Clamp Reference], and [GND Clamp
Reference] are all non zero.

 

Walter

 

From: ibis-editorial-bounce@xxxxxxxxxxxxx
<mailto:ibis-editorial-bounce@xxxxxxxxxxxxx>
[mailto:ibis-editorial-bounce@xxxxxxxxxxxxx] On Behalf Of Mirmak, Michael
Sent: Thursday, April 21, 2016 4:50 PM
To: ibis-editorial@xxxxxxxxxxxxx <mailto:ibis-editorial@xxxxxxxxxxxxx
Subject: [ibis-editorial] Draft DUT and reference language for
specification

 

Please find enclosed proposed language for the IBIS document to address
the distinction between DUT and DIA.  Note that the list of keywords will
need careful scrutiny and is likely not complete here.

 

These paragraphs should appear in Chapter 2 or Chapter 6.  Some editing of
Chapter 2's language, particularly the use of the word "model", is needed
regardless of where the new text is added.

 

Comments are certainly welcome and encouraged.  

 

-          MM

 

-----------------------------------------------------

 

"IBIS files do not define buffer "models".  Instead, keywords and
subparameters in IBIS files describe device behaviors in terms of data
sets, to be used in combination with model equations and assumptions
defined within EDA simulation tools.  These data sets are generally
assumed to have been collected under static conditions using a test
fixture.  In other words, IBIS buffer data generally describes a "device
under test" (DUT), where the actual modeling of the collected data is
performed by the EDA simulator.

 

Not all the DUT fixture conditions are currently defined in IBIS.  In
particular, the node used as a reference for the rails defined by, and
voltage value arguments for, the [Voltage Range], [Pullup Reference],
[Pulldown Reference], [POWER Clamp Reference], and [GND Clamp Reference]
keywords is not specified.  Similarly, the node to be used as a reference
for the voltage arguments to the [Receiver Thresholds] keyword
subparameters, and the [Model] keyword Vinh and Vinl subparameters, is not
explicitly stated.  While the C_comp_pullup, C_comp_pulldown,
C_comp_power_clamp, and C_comp_ground_clamp subparameters define
references for I/O capacitances, the reference for the C_comp subparameter
is also not specifically defined.  The specification generally assumes
that the same single node, separate from the I/O pad, buffer supply rail,
or any package pin, is used as the reference for all DUT keyword and
subparameter voltage values, as well as [Model] subparameters such as
C_comp, Vinh, Vinl, and Vmeas.  Specific EDA vendors, however, may make
different assumptions or permit user assignment of the reference to
another defined point (e.g., a specific pin).

 

The behavior of most IBIS data in EDA tool models under conditions other
than those use to extract that data - called "device in action" (DIA) - is
not currently defined by the specification and may vary between
simulators.  Exceptions to this include the [ISSO_PU], [ISSO_PD], and
[Composite Current] keywords, where data and data-collection conditions
are provided for both DUT and DIA contexts."

 

-          MM    

Other related posts: