As others have said, “ground” is for carrots and potatoes.
We need to go back to IBIS basics as an “electronic” representation of an IC
Data Sheet. In Data Sheets that name specific signals on pins as “Ground”.
I have to except that this is the traditional way of saying that these are
the reference nodes for measurements of signal (and other rail) pins. We of
course now know that we need a nearby reference node, but 20 years ago
nearby was someplace on the chassis. We know better now.
Unfortunately “ground” is in the vernacular of IBIS. Whether we call it
“local ground”, “local reference” or “signal ground” we need to define this
concept of how voltages are measured with respect to all of the voltage
rules we have in IBIS.
We cannot get mired in some of the declarations that everything can be
measured using Node 0, or that since some weird ECL/MECL/PECL/RS232 buffers
that do not have a buffer rail or a pin that is a node that voltages can be
Here is an e-mail that I sent to Brad, which we should all read and
Can we agree on the following, and then come up with words to describe it:
Voltage measurements are made between a point in a circuit (or node in a
simulation) and a second reference point in a circuit. Where this reference
point is located as near as possible to the point being measured.
The manufacturer of a component is required to specify these two points, and
today he does that in a data sheet.
Data books tend to specify rules that apply to voltages at I/O buffer pins.
The data book specifies signal names that are the reference voltage for I/O
voltage measurements and the data book calls these signal names “ground” or
rail voltage =0.
A proper voltage measurement at an I/O pin is made between that pin and a
nearby pin that is called ground (voltage=0). Some components have multiple
“ground” signal names, and the measurement (physical or simulation) must be
made between the I/O signal pin and a nearby “ground or V=0” pin that is on
the appropriate “ground” for that I/O signal.
All of this can be generalized to measurements at an I/O buffer which must
have a reference point for measurements that should be local to the I/O
buffer itself (e.g. ground_clamp_reference).
What shall we call this reference in IBIS and in BIRD 189? I prefer to call
this “node” “signal ground”, since this is a well defined (search for
“signal ground” in Google):
Signal ground is a reference point from which that signal measured, due to
the inevitable voltage drops when current flows within circuit, some
'ground' points will be slightly different others it protective connected
earth. Chassis ground vs signal.Jul 16, 2017
We could also call this “local ground”, “local reference”, “reference node” …
As you say correctly:
“IC designers are among the worst offenders at applying global reference
improperly and they will drag down the design community for years to come,
at least until most their chips start to fail due to inaccurate
So what are we to do in IBIS. We need to be compatible with the way people
have been building models for 20 years, we do not want to break existing
models that some long time IBIS “experts” have been insisting on saying
this must be HSPICE node 0, but we need to also support what we agree is
You say that “IBIS has a chance to lead but we won’t.”. I disagree, the
current BIRD 189 support the ability to make models that handle referencing
of voltage measurements and correct handling of return paths – if the model
maker chooses to use that capability. I think you agree that according to
the current BIRD 189 specification you can generate interconnect models and
power aware models in IBIS that handle referencing correctly.
All you need to say, and maybe we should make this more clear in the
specification: The use of node A_gnd or node 0 should be avoided in order to
handle power aware simulations, or some other more general disclaimer.
What would you suggest we do?
The problem with A_gnd is it contains the letters “gnd”. Might I suggest
common up with a new name for a “Node” such as “A_ref”. In a beginning
section of IBIS add a section describing that “ground” is not longer a good
way of describing a node that is used for describing the physical location
(point) in a component or a node in a simulation that is the reference node
for a measurement, and that since this reference point/node must be “near”
the measurement point or node. We must rely on the model maker to define
“near”. Any existing mention of Ground, GND, A_gnd or Node 0 must be
interpreted as an appropriate reference point or node for the measurement of
any voltage at the buffer, die pad or pin, and we must recognize that each
location should have a different reference point, and these reference points
are not shorted together in a simulation. I think we need to declare that
all measurements within a single buffer must have a single reference point
or node. EDA tools can do with this information want they want. Many tools
will connect all of these reference nodes to a Node 0, which implies they
are doing Ground Based Power Aware Simulations.
According to Scott McMorrow:
Actually, the syntax assumes that analog measurements are made outside of
the package. As such, the the node 0 ground assumption is quite valid. Now,
we can modify that assumption and determine that the model should be created
at that boundary of the I/O cell, in which case the model is locally
referenced. But, in fact, measurement based IBIS models are created by
measuring silicon in packages with the reference placed effectively at the
ground balls, which is a summation over many paths through the package and
Circuit theory says that we can go from a partial element system where
ground and power loops are fully modeled to a ground referenced system where
node 0 ground is applied to every element in the path. But, ground bounce
inductance and resistance is then lumped into power circuit and signal path
circuits, and the discrimination between the these is lost. From a
differential node voltage perspective at the receiver, the result is the
same. The voltage between the signal and ground will remain the same. If
there is a difference, then somewhere in the circuit, the ground partial
inductance has not been reduced into the loop inductance for the signal path
and power paths.
This is a pretty standard transformation from partial inductance/resistance
matrices to loop inductance/resistance matrices, and is covered quite
extensively in Brian Young's book, which is still the best on the subject.
He's been at Motorola and TI. I believe he's at TI now running their ASIC
978.461-0449 x 133
<ibis-interconn-bounce@xxxxxxxxxxxxx> On Behalf Of Bradley Brim
Sent: Friday, March 9, 2018 3:28 AM
To: Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx>; ibis-macro@xxxxxxxxxxxxx;
Subject: [ibis-interconn] Re: A_gnd in IBIS 6.1
For some but not all circuit simulators, “A_gnd is a local reference node
but may be connected to Node 0 per user-configurable option”.
As Walter often says … “a rose by any other name …”
P.S. Please notice no use of the word “ground” was applied and no small
cuddly animals or innocent plants were harmed in the generation of this
[mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Thursday, March 8, 2018 11:17 PM
To: ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> ;
<mailto:ibis-interconn@xxxxxxxxxxxxx> ) <ibis-interconn@xxxxxxxxxxxxx
Subject: [ibis-interconn] Re: A_gnd in IBIS 6.1
So, after all this, how should we define/describe A_gnd in IBIS?
* is it something global
* is it something local
* is it a signal/power ground
* is it a chassis ground
* is it an earth ground
* is it a reference
* anything else?
Obviously some of these are nonsense, but (except for the last one)
they were all mentioned in this conversation one way or another…
By the way, if we want to call it a reference instead of ground, we
might want to consider a new IBIS reserved name for it: A_ref
(just be consistent with how we would refer to it in the text)…