[ibis-macro] Yet another confusing issue when dealing with DIA referencing and [Receiver Thresholds]

  • From: Walter Katz <wkatz@xxxxxxxxxx>
  • To: <ibis-editorial@xxxxxxxxxxxxx>, "IBIS-ATM" <ibis-macro@xxxxxxxxxxxxx>, <ibis-interconn@xxxxxxxxxxxxx>
  • Date: Sat, 16 Apr 2016 15:36:49 -0400 (EDT)

All,

 

The [Receiver Thresholds] section throws a monkey wrench into all of our
discussions about referencing. This section clearly deals with Device
Under Test, since is describes how receiver thresholds change when the
voltage applied to the rails are not the voltages used for DUT. My
conclusion is that IBIS throught makes the assumption that GND is Ground
is Node 0, and that this is the reference node for all measurements DUT
and DIA, and that power aware simulations may not allow GND to "bounce". I
would hope that someone can find the error in my logic. Again, if my logic
is correct, we must accept the use of Node 0 when referencing interconnect
W-line and Touchstone Files.

 

The section on [Receiver Thresholds] is shown at the end of this e-mail. I
will try to explain this in terms of the example given on pages 44/45

 

A fully specified single-ended 3.3 V CMOS receiver: 

[Receiver Thresholds] 

Vth = 1.5V 

Vth_min = 1.45V

Vth_max = 1.53V 

Threshold_sensitivity = 0.45 

Reference_supply Power_clamp_ref 

Vinh_ac = +200mV 

Vinh_dc = +100mV 

Vinl_ac = -200mV 

Vinl_dc = -100mV 

Tslew_ac = 400ps

 

For the Typ corner Vth =1.5V (relative to what? - IBIS is silent on this).

 

Vinl_dc is the offset from this voltage that is equivalent to Vinl. In
order for the timing measurement at Vinl_dc to be valid, the signal must
cross Vinl_ac, but the timing is done at Vinl_dc.

 

So in this case, if the device is run in DUT conditions, the effective
Vinl is 1.4=1.5-.1

 

Reference_supply indicates which supply voltage Vth tracks; In this
example, Vth tracks Power_clamp_ref, so if the nominal [POWER Clamp
Reference] is 3.3, and Power_clamp_ref (relative to what?) is actually
3.8, then Vth becomes 1.725=1.5+(3.8-3.3)*Threshold_sensitivity (still
relative to what), and therefore Vinl becomes 1.625 (relative to what?).

 

Now suppose we measure Power_clamp_ref to be 3.8V relative to simulator
node 0, and Gnd_clamp_ref to be .5V relative to simulator node 0 ([GND
Clamp Reference]=0.). Since the buffer internals no nothing of simulator
Node 0, and Power_clamp_ref- Gnd_clamp_ref is still 3.3V (same as in DUT),
then Vinl must be 1.4V reparative to Gnd_clamp_ref, and 1.9V relative to
simulator Node 0. Neither 1.4V or 1.9V are near the value 1.625 as given
by these equations.

 

The only way that this can make sense is that IBIS is that IBIS assumes a
"ground referenced system", and I refer you to what Scott wrote

 

It 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

 

Actually, the syntax assumes that analog measurements are made outside of
the package. As such, 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.

Bottom line, IBIS assumes throughout a  "ground referenced system", and
that there is always a Node 0, and to try to make any assumptions about
power distribution allowing "GND" to float anywhere is hopeless. 

 

 

 

Keyword:         [Receiver Thresholds]

Required:        No

Sub-Params:    Vth, Vth_min, Vth_max, Vinh_ac, Vinh_dc, Vinl_ac, Vinl_dc,
Threshold_sensitivity, Reference_supply, Vcross_low, Vcross_high,
Vdiff_ac, Vdiff_dc, Tslew_ac, Tdiffslew_ac

Description:     The [Receiver Thresholds] keyword defines both a set of
receiver input thresholds as well as their sensitivity to variations in a
referenced supply.  The subparameters are defined as follows:

Vth, Vth_min, and Vth_max are the ideal input threshold voltages at which
the output of a digital logic receiver changes state.  Vth is the nominal
input threshold voltage under the voltage, temperature and process
conditions that define "typ".  Vth_min is the minimum input threshold
voltage at "typ" conditions while Vth_max is the maximum input threshold
voltage at "typ" conditions.

Vinh_ac is the voltage that a low-to-high going input waveform must reach
in order to guarantee that the receiver's output has changed state.  In
other words, reaching Vinh_ac is sufficient to guarantee a receiver state
change. Vinh_ac is expressed as an offset from Vth.

Vinh_dc is the voltage that an input waveform must remain above (more
positive than) in order to guarantee that a receiver output will NOT
change state.  Vinh_dc is expressed as an offset from Vth.

Vinl_ac is the voltage that a high-to-low going input waveform must reach
in order to guarantee that the receiver's output has changed state.  In
other words, reaching Vinl_ac is sufficient to guarantee a receiver state
change.  Vinl_ac is expressed as an offset from Vth.

Vinl_dc is the voltage that an input waveform must remain below (more
negative than) in order to guarantee that a receiver's output will NOT
change state.  Vinl_dc is expressed as an offset from Vth.

Threshold_sensitivity is a unit-less number that specifies how Vth varies
with respect to the supply voltage defined by the Reference_supply
subparameter. Threshold_sensitivity is defined as:

 



 

Threshold_sensitivity must be entered as a whole number or decimal, not as
a fraction.

Reference_supply indicates which supply voltage Vth tracks; i.e., it
indicates which supply voltage change causes a change in input threshold.
The legal arguments to this subparameter are as follows:

Power_clamp_ref  The supply voltage defined by the [POWER Clamp Reference]
keyword

Gnd_clamp_ref     The supply voltage defined by the [GND Clamp Reference]
keyword

Pullup_ref       The supply voltage defined by the [Pullup reference]
keyword

Pulldown_ref  The supply voltage defined by the [Pulldown reference]
keyword

Ext_ref            The supply voltage defined by the [External Reference]
keyword

Tslew_ac and Tdiffslew_ac measure the absolute difference in time between
the point at which an input waveform crosses Vinl_ac and the point it
crosses Vinh_ac.  The purpose of this parameter is to document the maximum
amount of time an input signal may take to transition between Vinh_ac and
Vinl_ac and still allow the device to meet its input setup and hold
specifications.  Tslew_ac is the parameter used for single ended receivers
while Tdiffslew_ac must be used for receivers with differential inputs.

Vcross_low is the least positive voltage at which a differential
receiver's input signals may cross while switching and still allow the
receiver to meet its timing and functional specifications.  Vcross_low is
specified with respect to 0 V.

Vcross_high is the most positive voltage at which a differential
receiver's input signals may cross while switching and still allow the
receiver to meet its timing and functional specifications.  Vcross_high is
specified with respect to 0 V.

Vdiff_dc is the minimum voltage difference between the inputs of a
differential receiver that guarantees the receiver will not change state.

Vdiff_ac is the minimum voltage difference between the inputs of a
differential receiver that guarantees the receiver will change state.

Usage Rules:   [Receiver Thresholds] must follow all subparameters under
the [Model] keyword and precede all other keywords of a model except
[Model Spec]. 

The [Receiver Thresholds] keyword is valid if the model type includes any
reference to input or I/O.  For single ended receivers the Vinh_ac,
Vinh_dc, Vinl_ac, Vinh_dc, Vth and Tslew_ac subparameters are required and
override the Vinh, Vinl, Vinh+/- and Vinl+/- subparameters declared under
the [Model] or [Model Spec] keywords.  For single ended receivers the
Vth_min, Vth_max, Threshold_sensitivity and Reference_supply subparameters
are optional.  However, if the Threshold_sensitivity subparameter is
present then the Reference_supply subparameter must also be present.

For differential receivers (i.e., the [Receiver Thresholds] keyword is
part of a [Model] statement that describes a pin listed in the [Diff Pin]
keyword), the Vcross_low, Vcross_high, Vdiff_ac, Vdiff_dc and Tdiffslew_ac
subparameters are required.  The rest of the subparameters are not
applicable.  The Vdiff_ac and Vdiff_dc values override the value of the
vdiff subparameter specified by the [Diff Pin] keyword.  Note that
Vcross_low and Vcross_high are valid over the device's minimum and maximum
operating conditions.

Subparameter Usage Rules:

Numerical arguments are separated from their associated subparameter by an
equals sign (=); white space around the equals sign is optional.  The
argument to the Reference_supply subparameter is separated from the
subparameter by white space.

Vth at Minimum or Maximum Operating Conditions:

As described above, the Vth_min and Vth_max subparameters define the
minimum and maximum input threshold values under typical operating
conditions.  There is no provision for directly specifying Vth under
minimum or maximum operating conditions.  Instead, these values are
calculated using the following equation:

Vth(min/max) = Vth* + [(Threshold_sensitivity) X (change in supply
voltage)]

where Vth* is either Vth, Vth_min or Vth_max as appropriate, and the
supply voltage is the one indicated by the Reference_supply subparameter.

 

 

Walter Katz

 <mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

Phone 303.449-2308

Mobile 303.335-6156

PNG image

Other related posts:

  • » [ibis-macro] Yet another confusing issue when dealing with DIA referencing and [Receiver Thresholds] - Walter Katz