[ibis-editorial] Re: A suggestion regarding the [* Reference] keywords

  • From: "Bob Ross" <bob@xxxxxxxxxxxxxxxxx>
  • To: <mlabonte@xxxxxxxxxx>
  • Date: Fri, 1 Apr 2016 16:10:31 -0700

Mike,

 

Your diagram looks correct.  I think you mean several things - the nodes for
pulldown_ref and pullup_ref are

connected, and the voltages for [Pulldown Reference] and [Pullup Reference]
must be the same.

 

You are correct about the [GND Clamp] reference, but your drawing shows it
correctly and also shows that

it is legal and possible to create some pathological cases for ECL.  For an
ECL model, [Voltage Range] 0.0 0.0 0.0

is sufficient, and the  [GND Clamp Reference] is not required.  In this case
ALL references including by default

the [GND Clamp Reference] are 0.0 V, as you show.  (We assume that a [GND
Clamp] does not exist because

it would clamp the simulation swing.)  

 

Similarly, without a [GND Clamp], ALL [* Reference] voltages could be set to
5.0 4.5 5.5

 

This works because the[Ramp] default connection to R_load is -2.0 V below
the [Pullup Reference]

voltage to mimic test conditions and also the way actual ECL technology is
connected for simulation.

 

(Also note, that if C_comp_pullup and C_comp_pulldown are both given
(overriding C_comp), the values

should be summed.)

 

Attached are some pathological cases the pass ibischk6 with just some
Caution messages for [Pin Mapping]..

 

For *_open devices, defining all [* Reference] voltages to a single value
(assuming no clamps) would also work,

except that the default [Ramp] connections to R_load requires that the
[Pullup Reference]

and [Pulldown Reference] be different.  Otherwise dV/dt_ and dV/dt_f would
issue parser errors

because dV would be 0.0.  Note, the [Rising Waveform] and [Falling Waveform]
tables with realistic

V_fixture values would override the [Ramp] data, and the models should
produce realistic simulation

results, if the EDA tool could accept the model that fails the parser.

 

Bob

 

From: ibis-editorial-bounce@xxxxxxxxxxxxx
[mailto:ibis-editorial-bounce@xxxxxxxxxxxxx] On Behalf Of Mike LaBonte
Sent: Friday, April 01, 2016 1:38 PM
To: Bob Ross
Cc: michael.mirmak@xxxxxxxxx; ibis-editorial@xxxxxxxxxxxxx
Subject: [ibis-editorial] Re: A suggestion regarding the [* Reference]
keywords

 

Hi Bob,

 

For ECL IBIS states in several places that [Pulldown] is connected to the
node associated with the [POWER Clamp Reference] source, but I find nothing
in IBIS about what the [GND Clamp] is referenced to. Of course it has to be
connected to a lower voltage to do anything useful, but IBIS doesn't clarify
that. Is this correct for ECL?

 



 

Mike

 

From: Bob Ross [mailto:bob@xxxxxxxxxxxxxxxxx] ;
Sent: Friday, April 01, 2016 4:11 PM
To: mlabonte@xxxxxxxxxx; michael.mirmak@xxxxxxxxx;
ibis-editorial@xxxxxxxxxxxxx
Cc: bob@xxxxxxxxxxxxxxxxx
Subject: RE: [ibis-editorial] Re: A suggestion regarding the [* Reference]
keywords

 

Mike,

 

I like your picture as a start.  It does imply a "ground" reference.   Of
course, the other I/O technology diagram is ECL.

Many EDA vendors already have diagrams in their documentation.  Later, we
can add Split C_comps.

 

IBIS works as is.  We do not have to create new keywords for references or
for shifting or to even

rename the existing syntax.  But voltages can be shifted in the [Model] - as
already done.

 

My DesignCon presentation (slide 9) and page 41 of the Spec illustrates PECL
[Model Spec]

Vinh/Vinl shifts for typ/min/max columns based on revised voltage entries
relative to a "local"

ground.  (It was not stated that [Voltage Range] was 5.0V, 4.5V, 5.5V in the
Spec.)

 

Much of IBIS centers around some "ground" reference (whether it is ideal
external DUT rail

reference or a local ideal reference or node 0, and IBIS defines many
voltages relative to that

reference whether or not it exists in that [Model].  We can explain this.

 

Bob

 

From: ibis-editorial-bounce@xxxxxxxxxxxxx
[mailto:ibis-editorial-bounce@xxxxxxxxxxxxx] On Behalf Of Mike LaBonte
Sent: Friday, April 01, 2016 12:15 PM
To: michael.mirmak@xxxxxxxxx; ibis-editorial@xxxxxxxxxxxxx
Subject: [ibis-editorial] Re: A suggestion regarding the [* Reference]
keywords

 

Sigh, [* Rail Voltage] keywords would have been much better. I'm not sure we
need "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", however it may help to have figures depicting at least
two of those cases. Here is a simple figure that IBIS 6.1 does not have,
illustrating the independent reference node case:

 



 

I'd like to suggest that one as a new figure between the current figures 10
and 11.

 

Having written software to netlist these circuits, I'm agreeing that
[Pulldown Reference] and [GND Clamp Reference] are meaningless in the
defined pin/rail case (unless node zero is used both inside and outside the
model, tsk tsk). You almost could argue that if you pulled all of those DC
sources to the right and ran their "wires" through a package model, you
would have define pin/rail yet still have an independent reference node on
the test fixture side, and all four voltage sources could be connected to
that reference node. But then you can't connect C_comp to that reference
node because it no longer exists on the left side. I don't have a figure for
that yet, but I'll post one soon and then it may be easier to discuss.

 

One more thought: IBIS 6.1 makes no mention of the IBIS Modeling Cookbook
<mailto:http://ibis.org/cookbook/cookbook-v4.pdf> , which really is quite a
good document although it was written for IBIS 4.0. I don't think such a
reference should be added until the cookbook is up to date. But the cookbook
could use some similar reference/node/voltage cleanup and IBIS section 9
"NOTES ON DATA DERIVATION METHOD" should be checked against the cookbook for
consistency. That may or may not be out of scope for this effort.

 

I'll save a rev 2 of the resolutions document and capture these comments.
All other comments are welcome.

 

Mike

 

From: ibis-editorial-bounce@xxxxxxxxxxxxx
[mailto:ibis-editorial-bounce@xxxxxxxxxxxxx] On Behalf Of Mirmak, Michael
Sent: Friday, April 01, 2016 1: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

 

 

PNG image

PNG image

Attachment: same_rails.ibs
Description: Binary data

Other related posts: