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

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: "ibis-editorial@xxxxxxxxxxxxx" <ibis-editorial@xxxxxxxxxxxxx>
  • Date: Fri, 22 Apr 2016 12:54:11 +0000

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>; 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: