All,
To add to the terminology discussion, we link to IBIS-ISS and have adopted some
of its terms.
In IBIS-ISS, Node 0 or alternative names are defined simply interpreted as
“ground.”
Nodes are the points of connection between elements in the input circuit
description. If entirely numeric, node numbers shall be between 1 and
999999999999999 (1 to 1e16-1). A node number of 0 is permitted but is
interpreted as ground. Letters that follow a leading number in a node name are
ignored; this means that node strings such as '3n5' and '3' shall be
interpreted as referring to the same node.
When the node name begins with a letter or a valid special character, the node
name may contain a maximum of 1024 characters. See Table 3: IBIS-ISS Special
Characters for a list of valid special characters.
To indicate the ground node, use either the number 0 or the names GND, !GND,
GROUND, or GND!. Every node shall have at least two connections, except for
transmission line nodes (unterminated transmission lines are permitted).
For Touchstone files using the S-element, “reference” is used.
Argument
Description
n1 n2...nn
Nodes of an S-element. Three kinds of definitions are permitted:
n With no reference node nRef, the default reference node is GND. Each node
ni (i=1~n) and GND construct one of the n ports of the S-element.
n With one reference node, nRef is defined. Each node ni (i=1~n) and nRef
construct one of the n ports of the S-element.
n With N reference nodes, each port has its own reference
node. The node definition may be written more clearly:
n1+ n1- n2+ n2- ... nn+ nn-
Each pair of the nodes (ni+ and ni-, i=1~n) constructs one of the n ports of
the S-element.
nRef
Reference node
Bob
From: ibis-interconn-bounce@xxxxxxxxxxxxx
[mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Friday, March 9, 2018 6:53 AM
To: Muranyi, Arpad; ibis-macro@xxxxxxxxxxxxx; IBIS-Interconnect
Subject: [ibis-interconn] Re: A_gnd in IBIS 6.1
All,
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 measured with.
Here is an e-mail that I sent to Brad, which we should all read and understand:
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 simulations.”
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 necessary to
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 die.
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 packaging
group.
http://www.amazon.com/Digital-Signal-Integrity-Simulation-Interconnects/dp/0130289043
Walter
Walter Katz
wkatz@xxxxxxxxxx
978.461-0449 x 133
Mobile 303.335-6156
From: ibis-interconn-bounce@xxxxxxxxxxxxx <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;
IBIS-Interconnect (ibis-interconn@xxxxxxxxxxxxx) <ibis-interconn@xxxxxxxxxxxxx>
Subject: [ibis-interconn] Re: A_gnd in IBIS 6.1
hello Arpad,
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 …”
Best regards,
-Brad
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 e-mail
response.
From: ibis-interconn-bounce@xxxxxxxxxxxxx
[mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Thursday, March 8, 2018 11:17 PM
To: ibis-macro@xxxxxxxxxxxxx; IBIS-Interconnect (ibis-interconn@xxxxxxxxxxxxx)
<ibis-interconn@xxxxxxxxxxxxx>
Subject: [ibis-interconn] Re: A_gnd in IBIS 6.1
EXTERNAL MAIL
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)…
Thanks,
Arpad