Mike,
You are making a good observation and I agree that as written
the spec is confusing about those keywords. But here is the
way I see it:
The [*** Reference] keywords do not define the terminal or node
or connection, or physical rail for the buffer. They define what
the voltage connected to them should be. In this interpretation
these keywords are consistent with the [Voltage Range] keyword.
The question for all five keywords is "with respect to what"?
The [Voltage Range] keyword refers to the voltage between the
pullup/power clamp and pulldown/gnd clamp terminals of the buffer.
In this scenario, the pulldown/gnd clamp reference was assumed
to be connected to a ground plane on the PCB (through the package
parasitics of the GND pin).
The other four keywords attempted to define what the voltages are
on the implementations of each of the four I-V table PWL sources.
What is missing in this definition is again "with respect to what"?
I would be tempted to say that this is with respect to the PCB
ground plane (through the package parasitics).
So I would not see the need for new keywords, we would just need
to describe these keywords with better words. I didn't look at
Mike L.'s drawings very carefully yet, but at a glance, it seems
that they capture this concept correctly.
Thanks,
Arpad
==================================================================
From: ibis-editorial-bounce@xxxxxxxxxxxxx
[mailto:ibis-editorial-bounce@xxxxxxxxxxxxx] On Behalf Of Mirmak, Michael
Sent: Friday, April 01, 2016 12:49 PM
To: ibis-editorial@xxxxxxxxxxxxx
Subject: [ibis-editorial] A suggestion regarding the [* Reference] keywords
Thanks to Mike LaBonte for his very complete listing of referencing issues in
IBIS today. I'd like to state a few facts related to slide 9 of that
presentation.
In contrast to the keyword [Voltage Range], I suggest that the keywords [Pullup
Reference], [Pulldown Reference], [POWER Clamp Reference], and [GND Clamp
Reference] are incorrectly named. The names themselves cause confusion and are
likely the source of many of the problems with referencing we are trying to
resolve.
These keywords define (and the specification mentions) the physical supply
"rails" or nodes to which the buffers are connected.
Unfortunately, the arguments to these keywords are voltage *values* or
measurements, with respect to an unnamed physical reference point. The
arguments are not themselves "references".
It is true that the [* Reference] keyword arguments - the voltages - are used
for calculations involving the I-V tables. However, these calculations are
used to *translate* voltage values in raw I-V data generated using the common
(unnamed) reference to voltage values for the I-V tables with respect to the
individual supply rails. It is utterly incorrect to state, as [Pulldown
Reference] does, that I-V table data points "are referenced to 0 V."
[Pin Mapping] gets the concept nearly correct, in that rails are defined to
which buffers are connected, but the term used there is "reference" and not
"rail" (though "bus" is used correctly). The C_comp_* text is also fairly
clear that these keywords define rails and that the individual C_comp_*
elements are connected between these rails and the I/O node.
I believe that Walter's "DUT" proposal would address this, at least in part,
but only if the specification is very carefully re-written to describe a single
reference node that is used for all voltage measurements, including the values
in the [* Reference] keywords.
Ideally, the [Pin Mapping] keyword would replace "reference" with "rail", and
"_ref" with "_rail" (as in, "pulldown_rail"). In addition, [Pullup Reference],
etc. would be called [Pullup Rail Voltage], etc., and would use a description
resembling the following:
Defines a voltage rail other than that defined by the [Voltage Range] keyword
as the reference rail for the [Pullup] I-V data. The voltage value provided is
with respect to the IBIS measurement reference node.
[Pulldown Rail Voltage] would use a description like:
Defines a voltage rail other than the IBIS measurement reference node as the
reference rail for the [Pulldown] I-V data. If this keyword is not present, the
voltage data points in the [Pulldown] I-V table are referenced to the IBIS
measurement reference node.
We could optionally add a keyword which would define whether the "IBIS
measurement reference node" is synonymous with a defined pin, a defined rail,
or is a completely independent node. If a defined rail were used (e.g.,
[Pulldown Rail Voltage]) as the "IBIS measurement reference node", any non-zero
voltage argument used for that rail definition keyword would be ignored, as it
would be meaningless if not contradictory. This could be strictly checked by
the parser. While complex, this would be a complete and unambiguous approach.
If it helps, think about the "IBIS measurement reference node" as "the point
where the reference wire on my probe is connected when I make voltage
measurements."
I believe this is consistent with Walter's earlier C_comp analysis.
Thoughts?
- MM