Main Content

Waveform Analysis Parameters and Thresholds

The Parallel Link Designer app uses waveform analysis parameters in one of two ways:

  • To set waveform levels used in waveform and eye diagram processing.

  • To specify design rule check limits for the app to verify.

All waveform processing extensions are specified in the IBIS files by adding a line that starts with: |MathWorks. This notation uses the IBIS comment character, pipe (|), by default. The extensions are not case sensitive. The parameters can be grouped as:

  • Waveform Processing Parameters: The thresholds used to verify edge transitions (waveform thresholds), the overshoot and area parameters (overshoot thresholds), and the ringback parameters (ringback thresholds). The thresholds are defined for both AC and DC. For more information, see Waveform Processing Parameters.

  • Waveform Check Parameters: The parameters used to check waveform characteristics. For more information, see Waveform Check Parameters.

  • Eye Measurement Parameters: The parameters used to control the eye diagram measurement process. For more information, see Eye Measurement Parameters.

  • Eye Check Parameters: The parameters that can be used to check the eye diagram parameters. For more information, see Eye Check Parameters.

  • Etch Delay Measurement Threshold Parameters: The thresholds used to measure etch delays at receivers. For more information, see Etch Delay Measurement Threshold Parameters.

  • Standard Load Parameters.: The thresholds used to measure the standard load delay on the standard load waveform. For more information, see Standard Load Parameters.

  • Other Parameters: Other miscellaneous parameters. For more information, see Other Parameters.

Waveform Processing Parameters

The waveform processing parameters define the waveform edge transitions, overshoots, and ringback thresholds. The thresholds and parameters are:

Waveform processing parameters.

Waveform Threshold Parameters

These parameters are placed in the [Model Spec] section of the IBIS file.

ParameterDescriptionWaveform
|MathWorks Vin_AC_High
  • A rising edge must start below Vin_DC_Low and cross Vin_AC_High.

MathWorks-vin-ac-high.

|MathWorks Vin_AC_Low
  • A falling edge must start above Vin_DC_High and cross Vin_AC_Low.

MathWorks-vin-ac-low.

|MathWorks Vin_DC_High
  • A rising edge must start below Vin_DC_Low, cross Vin_AC_High and end above Vin_DC_High.

  • A falling edge must start above Vin_DC_High.

MathWorks-vin-dc-high.

|MathWorks Vin_DC_Low
  • A falling edge must start above Vin_DC_High, cross Vin_AC_Low and end below Vin_DC_Low.

  • A rising edge must start below Vin_DC_Low.

MathWorks-vin-dc-low.

|MathWorks Tvac
  • Defines the minimum time that a signal must stay above Vin_AC_High on a rising edge and below Vin_AC_Low on a falling edge in cases where there is ringback.

  • Depends on the slew rate of the signal and contains pairs of slew rates and Tvac values.

MathWorks-tvac.

|MathWorks Vdiff_AC
  • The AC threshold value used for differential signals.

  • Measured on the differential waveform (inverting minus non-inverting).

  • A rising differential edge must start below –Vdiff_DC, cross +Vdiff_AC and end above +Vdiff_DC.

  • A falling differential edge must start above +Vdiff_DC, cross –Vdiff_AC and end below –Vdiff_DC.

MathWorks-vdiff_ac.

|MathWorks Vdiff_DC
  • The DC threshold value used for differential signals.

  • Measured on the differential waveform (inverting minus non-inverting).

  • A rising differential edge must start below –Vdiff_DC, cross Vdiff_AC and end above Vdiff_DC.

  • A falling differential edge must start above +Vdiff_DC, cross –Vdiff_AC and end below –Vdiff_DC.

MathWorks-vdiff_dc.

Overshoot Threshold Parameters

These parameters define the AC and DC overshoots as well as overshoot areas. They are placed in the [Model Spec] section of the IBIS file.

ParameterDescriptionWaveform
|MathWorks Overshoot_High
  • The maximum voltage a rising waveform can ever achieve. Any value higher than this value results in an overshoot waveform violation.

  • You can assign a specific value for each corner, or use a single value. Corner values are assigned as: TT SS FF.

  • You must specify the typical value. The minimum and maximum values are optional.

  • If you specify only a single value, the slow and fast corners are subject to the voltage scaling rules.

overshoot high

|MathWorks Overshoot_Low
  • The minimum voltage a falling waveform can ever achieve. Any value lower than this value results in an overshoot waveform violation.

  • You can assign a specific value for each corner, or use a single value. Corner values are assigned as: TT SS FF.

  • You must specify the typical value. The minimum and maximum values are optional.

Overshoot low

|MathWorks AC_Overshoot_High
  • The voltage a rising waveform is allowed to exceed for only a specified amount of time. The specified amount of time is called the AC_Overshoot_Time.

  • You must define the AC_Overshoot_Time to perform waveform DRC (design rule check).

  • Does not effect Overshoot_High parameter.

  • You can assign a specific value for each corner, or use a single value. Corner values are assigned as: typ min max.

  • If you specify only a single value, the slow and fast corners are subject to the voltage scaling rules.

AC overshoot high

|MathWorks AC_Overshoot_Low
  • The voltage a falling waveform is allowed to exceed for only a specified amount of time. The specified amount of time is called the AC_Overshoot_Time.

  • You must define the AC_Overshoot_Time to perform waveform DRC (design rule check).

  • Does not effect Overshoot_Low parameter.

  • You can assign a specific value for each corner, or use a single value. Corner values are assigned as: typ min max.

AC overshoot low

|MathWorks AC_Overshoot_Time
  • User-defined period of time for allowable overshoot on rising and falling waveforms. The app allows an overshooting waveform to exceed AC_Overshoot_High or AC_Overshoot_Low for a time less than AC_Overshoot_Time.

  • You must define AC_Overshoot_Time when defining AC_Overshoot_High or AC_Overshoot_Low

  • Does not effect Overshoot_High or Overshoot_Low parameters.

  • The app uses a single value of the parameter in all corners.

Overshoot time

|MathWorks AC_Overshoot_High_Area
  • The area under the signal that is above AC_Overshoot_High must be less than the value of this parameter.

AC overshoot high area

|MathWorks AC_Overshoot_Low_Area
  • The area under the signal that is below AC_Overshoot_Low must be less than the value of this parameter.

AC overshoot low area

Ringback Threshold Parameters

These parameters are placed in the [Model Spec] section of the IBIS file.

ParameterDescriptionWaveform
|MathWorks Ringback_High
  • Measure of the excessive ringing on the rising waveforms.

  • Measured only after the rising signal crosses the Vin_AC_High level. A rising waveform must not ring through user-defined Vin_AC_High level.

  • You can assign a specific value for each corner, or use a single value. Corner values are assigned as: typ min max.

Mathworks ringback high

|MathWorks Ringback_Low
  • Measure of the excessive ringing on the falling waveforms.

  • Measured only after the falling signal crosses the Vin_AC_Low level. A falling waveform must not ring through user-defined Vin_AC_Low level.

  • You can assign a specific value for each corner, or use a single value. Corner values are assigned as: typ min max.

Mathworks ringback low

|MathWorks AC_Ringback_High
  • The app allows a rising waveform to ring through the AC_Ringback_High level for a time less than AC_Ringback_Time.

  • Does not effect or Ringback_High parameter.

  • You can assign a specific value for each corner, or use a single value. Corner values are assigned as: typ min max.

Mathworks ac ringback high

|MathWorks AC_Ringback_Low
  • The app allows a falling waveform to ring through the AC_Ringback_Low level for a time less than AC_Ringback_Time.

  • Does not effect or Ringback_Low parameter.

  • You can assign a specific value for each corner, or use a single value. Corner values are assigned as: typ min max.

Mathworks ac ringback low

|MathWorks AC_Ringback_Time
  • User-defined period of time for allowable ringback on rising and falling waveforms. The app allows a waveform to ring back through AC_Ringback_High or AC_Ringback_Low for a time less than AC_Ringback_Time.

  • Does not effect Ringback_High or Ringback_Low parameters.

  • The app uses a single value of the parameter in all corners.

Mathworks ac ringback time

Properties of Good Waveform

A proper rising edge has these characteristics:

  • Starts below Vin_DC_Low.

  • Never goes below Overshoot_Low and does not go below AC_Overshoot_Low for more than AC_Overshoot_Time.

  • After crossing Vin_DC_Low, crosses Vin_AC_High between Slew_Time_Min and Slew_Time_Max.

  • Does not ring for more than Non_Monotonic_Time within the window between Vin_DC_Low and Vin_AC_High.

  • Does not go above Overshoot_High and does not go above AC_Overshoot_High for more than AC_Overshoot_Time.

  • Does not ring back below Ringback_High and does not go below AC_Ringback_High for more than AC_Ringback_Time.

  • Must end above Vin_DC_High.

Waveform Check Parameters

The Parallel Link Designer app performs waveform design rule checks as part of the waveform analysis. These checks falls into three categories:

  • Fatal errors

  • Quality warnings

  • Overshoot warnings

The app analyzes the driver and passive I/O buffers only for overshoot. Standard load I/O buffers are only analyzed for timing. Receiver I/O buffers are analyzed for both timing and waveform DRC. Single-ended nodes of differential I/O buffers are analyzed for overshoot. Differential nodes of differential I/O receivers are analyzed for timing and waveform DRC.

Fatal Errors

Fatal errors result into either missing or invalid timing data. Examples of fatal errors include: failed simulation (no transitions at the receiver), insufficient voltage swing at receivers, and ringing clocks. Fatal errors are results of either general simulation setup problems or topology problems (opens in traces or connector models).

Note

The app can generate timing margins even in the presence of fatal waveform errors. For example, if there is only one good data transition and many bad ones, the app reports the timing results on that one good transition and also report the fatal waveform quality errors. So you should always check the waveform analysis log for errors.

Fatal Error MessageDescription/Possible Cause
Cannot open waveform data file.tr0/csd file does not exist. SPICE was not run or had a fatal error.
Output of receiver does not wiggle.Analyzing receiver at core and core does not have any transitions. Verify that SPICE receiver model does have valid output pin. Verify that the Driver I/O buffer is compatible with the Receiver I/O buffer. Verify that the interconnect subcircuit is properly connected and with proper terminations.
Failed to open .prb file.Internal programming error.
Cannot find ibis model.Internal programming error.
Cannot find node.Internal programming error. Some SPICE formats truncate node names to 16 characters.
Cannot find node in simulation file.Internal programming error. Some SPICE formats truncate node names to 16 characters.
Cannot find differential node in simulation file.Internal programming error. Some SPICE formats truncate node names to 16 characters.
Differential driver waveform not identified in simulation file.Internal programming error. Some SPICE formats truncate node names to 16 characters.
Driver waveform not identified in simulation file.Internal programming error. Some SPICE formats truncate node names to 16 characters.
Output of driver does not wiggle.Driver not operating correctly, or incorrect standard load termination.
Driver does not transition.Driver not operating correctly, or incorrect standard load termination.
Driver fails at UI.Driver does not operate at full range of frequencies analyzed.
Simulation has ... transitions; should have...Internal programming error.
No receiver transitions.Signal at receiver does not transition through (VinL+VinH)/ 2. Open in subcircuit between driver and receiver. Improper termination. Mismatched driver and receiver models.
Cannot match stimulus with node.Receiver transitions, but waveform is problematic.
No receiver transition for stimulus transition at...May have timing data for some transitions, not all.
No receiver transition in analysis window.May have timing data for some transitions, not all.
No standard load transition in analysis window.Timing not corrected for standard loads.
Clock rings through Vin_Meas_R_High.Rising clock edge rings through Vin_Meas_R_High. Possible double clocking.
Clock rings through Vin_Meas_F_Low.Falling clock edge rings through Vin_Meas_F_Low. Possible double clocking.
Clock rings through Vdiff.Rising clock rings through +Vdiff. Falling clock rings through –Vdiff. Possible double clocking.

Quality Warnings

Quality warnings indicate that the app generated timing data, but the timing results may be incorrect because the shape of the waveform transition is outside of manufactures specifications: Examples of quality warnings include slow slew rates and ringing data. Waveform quality warnings fall into these categories:

  • Eye rule violations

  • Miscellaneous edge rule violations

  • Ringback rule violations

  • Initial and final state rule violations

  • AC rules violations

  • Bus turnaround violations

Note

Bus turnaround waveform analysis only pattern matches the initial priming edges. After the first bus turnaround, the waveform analysis at receivers is done in an analysis window determined by the stimulus edges and a time offset calculated during the analysis of the priming edges.

Waveform Quality WarningAffects Margin?Description/Possible Causes
Min Eye Inner HeightYesEye Inner Height < rule (Min_Eye_Inner_Height).
Max Eye Outer HeightYesEye Outer Height > rule (Max_Eye_Outer_Height).
Min Eye VinMeas WidthYesEye width (measured at inside tear ducts) < rule (Min_Eye_Vmeas_Width).
Max Eye VinMeas JitterYesEye tear duct width > rule (Max_Eye_Vmeas_Jitter).
Min Eye VinMeas(H/L) WidthYesEye inter width measured at VinMeas < rule (Min_Eye_Vmeas(H/ L)_Width).
Slew Time MaxYesSlew time > rule (Slew_Time_Max).
Slew Time MinYesSlew time < rule (Slew_Time_Min).
Non-MonotonicNoRising edge is falling for more than Non_monotonic_time during transition. Falling edge is rising for more than Non_monotonic_time during transition.
Data rings throughNoRising data edge rings through Vin_Meas_R_High. Falling data edge rings through Vin_Meas_F_Low.
Data rings through VdiffNoRising data edge rings through +Vdiff. Falling data edge rings through –Vdiff.
Ringback HighYesRising edge goes above Vin_AC_High then below Ringback_High then above Vin_DC_High. Falling edge goes below Vin_DC_High then below Ringback_High then above Vin_DC_High.
Ringback LowYesFalling edge goes below Vin_AC_Low then above Ringback_Low then below Vin_DC_Low. Rising edge goes above Vin_DC_Low then above Ringback_Low then above Vin_DC_Low.
AC Ringback HighYesRising edge goes above Vin_AC_High then below AC_Ringback_High for more than AC_Ringback_Time then above Vin_DC_High. Falling edge goes below Vin_DC_High then below AC_Ringback_High for more than AC_Ringback_Time then above Vin_DC_High.
AC Ringback LowYesFalling edge goes below Vin_AC_Low then above AC_Ringback_Low for more than AC_Ringback_Time then below Vin_DC_Low. Rising edge goes above Vin_DC_Low then above AC_Ringback_Low for more than AC_Ringback_Time then below Vin_DC_Low.
Vin_Meas_High + AC_Noisegreater than Ringback_HighYesRingback rules are disabled when the ringback voltage crosses the VinMeas voltages when adjusted for AC_Noise. Generated once per transfer net receiver.
Vin_Meas_LowAC_Noise less than Ringback_LowYesRingback rules are disabled when the ringback voltage crosses the VinMeas voltages when adjusted for AC_Noise. Generated once per transfer net receiver.
Initial state above Vin_DC_LowYesRising edge starts above Vin_DC_Low.
Initial state below Vin_DC_HighYesFalling edge starts below Vin_DC_High.
Initial state below Vdiff_DCYesEdge starts below Vdiff_DC.
Initial state below VdiffYesEdge starts below Vdiff.
Initial state above (Vin_Meas_R_LowAC_Noise)YesRising edge starts above (Vin_Meas_R_LowAC_Noise)
Initial state below (Vin_Meas_F_High + AC_Noise)YesFalling state starts below (Vin_Meas_F_High + AC_Noise)
Initial state within AC Noise of VdiffYesEdge starts within AC Noise of Vdiff.
Final state above Vin_DC_LowYesFalling edge above Vin_DC_Low.
Final state below Vin_DC_HighYesRising edge below Vin_DC_High.
Final state below Vdiff_DCYesEdge ends below Vdiff_DC.
Final state below VdiffYesEdge ends below Vdiff.
Final state below (Vin_Meas_R_High + AC_Noise)YesRising edge below (Vin_Meas_R_High + AC_Noise)
Final state above (Vin_Meas_F_LowAC_Noise)YesFalling edge above (Vin_Meas_F_LowAC_Noise)
Final state within AC Noise of VdiffYesEdge ends within AC Noise of Vdiff. Max timing is the end of the analysis window.
Enters transition but ends below (Vin_Meas_R_High + AC_Noise)YesRising edge crosses Vin_Meas_R_LowAC_Noise but ends below Vin_Meas_R_High + AC_Noise. Maximum timing is end of analysis window.
Enters transition but ends above (Vin_Meas_F_LowAC_Noise)YesFalling edge crosses Vin_Meas_F_High + AC_Noise but ends above Vin_Meas_F_LowAC_Noise. Maximum timing is the end of the analysis window.
Did not enter transition and ends below (Vin_Meas_R_High + AC_Noise)YesFalling edge never crosses Vin_Meas_F_High + AC_Noise but ends below (Vin_Meas_R_High + AC_Noise). Minimum timing is the start of the analysis window.
Did not enter transition and ends above (Vin_Meas_F_LowAC_Noise)YesRising edge never crosses Vin_Meas_R_LowAC_Noise but ends above Vin_Meas_R_High + AC_Noise. Minimum timing is the start of the analysis window.
Did not cross Vin_Meas_R_HighYesRising edge did not cross Vin_Meas_R_High.
Did not cross Vin_Meas_F_LowYesFalling edge did not cross Vin_Meas_F_Low.
Did not exit Vdiff rangeYesRising edge started below –Vdiff but never crossed +Vdiff. Falling edge started above +Vdiff but never crossed –Vdiff.
Did not cross Vdiff_ACYesEdge did not cross Vdiff_AC.
Did not cross Vin_AC_HighYesRising edge not cross Vin_AC_High.
Did not cross Vin_AC_LowYesFalling edge did not cross Vin_AC_Low.
Final state above Vin_Meas_F_LowYesLow level final state above Vin_Meas_F_Low.
Final state below Vin_Meas_R_HighYesHigh level final state below Vin_Meas_R_High.

Overshoot Warnings

Overshoot warnings indicate potential component reliability and failure problems. Overshoot at drivers or receivers can affect the reliability and lifetime of components.

Waveform Overshoot WarningAffects Timing Margin?Description/Possible Cause
Overshoot HighNoSignal goes above Overshoot_High.
Overshoot LowNoSignal goes below Overshoot_Low.
AC Overshoot HighNoSignal goes above AC_Overshoot_High for more than AC_Overshoot_Time.
AC Overshoot LowNoSignal goes below AC_Overshoot_Low for more than AC_Overshoot_Time

Note

Overshoot_High and AC_Overshoot_High warnings can either have just a TT (typ) value or values for all three (typical, fast, and slow) process corners. If the warnings just have the typical values, then the level is adjusted by the difference between the model rail voltage and the actual rail voltage used in the simulation.

Waveform Check Parameters

These parameters check the edges of the processed waveforms. They are placed in the [Model Spec] section of the IBIS file.

ParameterDescriptionWaveform
|MathWorks Slew_Time_Min
  • For single-ended waveforms, the slew rate is defined as:

    • The rising edge time from Vin_DC_Low to Vin_AC_High.

    • The falling edge time from Vin_DC_High to Vin_AC_Low.

  • For differential waveforms, the slew rate is defined as:

    • The rising edge time from –Vdiff_DC to +Vdiff_AC.

    • The falling edge time from +Vdiff_DC to –Vdiff_AC.

  • An edge’s slew time may not be less than Slew_Time_Min.

Note

If ±Vdiff_AC and ±Vdiff_DC are not defined, the app defaults to

using Vdiff.

  • Single-ended waveforms:

    Minimum slew time for single-ended waveforms

  • Differential waveforms:

    Minimum slew time for differential waveforms

|MathWorks Slew_Time_Max
  • For single-ended waveforms, the slew rate is defined as:

    • The rising edge time from Vin_DC_Low to Vin_AC_High.

    • The falling edge time from Vin_DC_High to Vin_AC_Low.

  • For differential waveforms, the slew rate is defined as:

    • The rising edge time from –Vdiff_DC to +Vdiff_AC.

    • The falling edge time from +Vdiff_DC to –Vdiff_AC.

  • An edge’s slew time may not be greater than Slew_Time_Max.

Note

If ±Vdiff_AC and ±Vdiff_DC are not defined, the app defaults to

using Vdiff.

  • Single-ended waveforms:

    Maximum slew time for single-ended waveforms

  • Differential waveforms:

    Maximum slew time for differential waveforms

|MathWorks Nonmonotonic_time
  • User-defined filter that the app uses to check for short non-monotonicity on clocks or strobes. The default value is 10 ps.

  • If there is a slope reversal on a rising or falling edge for a time greater than the time set by this parameter, the app reports an error.

  • A single value of the parameter is used in all corners.

Non-monotonic time

|MathWorks Vcm_overshoot
  • Defined as the maximum voltage that the combined differential signal is allowed to achieve.

  • It is applied to the two halves of a differential signal, not to each signal individually.

  • This extension is similar to the High/Low overshoot extensions used on non-differential waveforms, but the voltage scaling rules do not apply.

Vcm overshoot

|MathWorks Vdiff_Vcm_min/max 

Minimum/Maximum Vdiff_Vcm

Eye Measurement Parameters

These parameters control how the Parallel Link Designer app measures the eye diagram parameters. They are placed in the [Model Spec] section of the IBIS file.

Eye diagram processing parameters

ParameterDescriptionWaveform
|MathWorks Inner_Eye_Center
  • Distance from eye-midpoint within which all of the inner eye measurements are made.

  • Applies only to Eye Inner Height, Inner Eye Min, Inner Eye Max, Inner Eye Min Eye Time, and Inner Eye Max Eye Time.

  • Applied as a percentage of the data rate and does not need to be symmetric.

  • The default is ± 5% of the UI (unit interval).

MathWorks Inner Eye Center

|MathWorks Outer_Eye_Center
  • Distance from eye-midpoint within which all of the outer eye measurements are made.

  • Applies only to Eye Outer Height, Outer Eye Min, Outer Eye Max, Outer Eye Min Eye Time, and Outer Eye Max Eye Time.

  • Applied as a percentage of the data rate and does not need to be symmetric.

  • The default is ± 50% of the UI (unit interval).

MathWorks Outer Eye Center

Eye Check Parameters

These parameters are used to check the eye that the Parallel Link Designer app calculates from the waveform data. They are placed in the [Model Spec] section of the IBIS file. The app reports the violations of these parameters in the Waveform Quality tab of the Waveform and Timing Report window.

ParameterDescriptionWaveform
|MathWorks Max_Eye_Vmeas_Jitter
  • The maximum allowed variation of the waveform when the rising or falling edge crosses the typical Vin_Meas value.

  • Any value greater than this time is flagged as a violation.

  • A single value is used for all corners.

Maximum eye Vmeas_jitter

|MathWorks Min_Eye_Vmeas_Width
  • The minimum allowable inner eye.

  • Measured at the typical Vin_Meas reference point on both rising and falling edges of the waveform.

  • Any value less than this time is flagged as a violation.

  • A single value is used for all corners.

Minimum eye Vmeas_width

|MathWorks Min_Eye_Vmeas(H/L)_Width
  • The minimum allowable inner eye.

  • Measured from VinMeas (H/L) left eye time to VinMeas (H/L) right eye time.

  • Any value less than this time is flagged as a violation.

  • A single value is used for all corners.

Minimum eye Vmeas (H/L)_width

|MathWorks Min_Eye_High_Width
  • The minimum allowable inner eye.

  • Measured from VinMeas_R_High left eye time to VinMeas_F_High right eye time.

  • Any value less than this time is flagged as a violation.

  • A single value is used for all corners.

Minimum eye high_width

|MathWorks Min_Eye_Low_Width
  • The minimum allowable inner eye.

  • Measured from VinMeas_F_Low left eye time to VinMeas_R_Low right eye time.

  • Any value less than this time is flagged as a violation.

  • A single value is used for all corners.

Minimum eye low_width

|MathWorks Max_Eye_Outer_Height
  • The maximum allowable outer eye height.

  • Measured as Outer_Eye_MaxOuter_Eye_Min.

  • Any value greater than this voltage is flagged as a violation.

  • A single value is used for all corners.

Maximum eye outer_height

|MathWorks Min_Eye_Inner_Height
  • The minimum allowable inner eye height.

  • Measured as Inner_Eye_MaxInner_Eye_Min.

  • Any value less than this voltage is flagged as a violation.

  • A single value is used for all corners.

Minimum eye inner_height

Etch Delay Measurement Threshold Parameters

The Parallel Link Designer app measures the minimum and maximum raw etch delays on the rising and falling edges of the waveform. To calculate the final etch, the app subtracts the standard load delay from the derated raw etch delay. The app can measure the delays on either single-ended waveforms or differential waveforms.

Single-Ended Etch Delay

Single-ended raw etch delays are measured on single-ended waveforms. The delay measurement is different in non-STAT mode and STAT mode.

Non-STAT Mode Single-Ended Raw Etch Delay Measurements

Non-STAT mode single-ended raw etch delay

STAT Mode Single-Ended Raw Etch Delay Measurements

STAT Mode Single-Ended Raw Etch Delay Measurements

For non-STAT mode simulations, every edge of every waveform is measured except for skipped edges. The first and last edge of every waveform are skipped by default. The receiver thresholds used for each delay are dependent on the target probe points:

Raw Etch DelayTarget Probe PointTarget Measurement Threshold
Rmin (Rising minimum)padVin_Meas_R_Low
pinVin_Meas_R_Low
core20% voltage on z node
Rmax (Rising maximum)padVin_Meas_R_High
pinVin_Meas_R_High
core80% voltage on z node
Fmin (Falling minimum)padVin_Meas_F_High
pinVin_Meas_F_High
core80% voltage on z node
Fmax (Falling maximum)padVin_Meas_F_Low
pinVin_Meas_F_Low
core20% voltage on z node

The z node is the output of the receiver buffer (the chip side of the buffer)

For STAT Mode simulations, use the parameter Waveform Analysis Bits from the Simulation Parameter dialog box to specify the number of edges to measure. The target probe point is always pad by default.

To account for the timing affect of the noise, these thresholds are offset by the AC noise parameter. The actual measurement point used for each of the thresholds are:

ThresholdActual Measurement Point
Vin_Meas_R_LowVin_Meas_R_Low – AC noise
Vin_Meas_R_HighVin_Meas_R_High + AC noise
Vin_Meas_F_HighVin_Meas_F_High + AC noise
Vin_Meas_F_LowVin_Meas_F_Low – AC noise

The _Low thresholds become lower and the _High thresholds become higher when the AC noise is greater than zero. This makes the minimum delays shorter and the maximum delays longer, which reduces timing margins.

Differential Etch Delay

The app measures the differential raw etch delays on the differential waveform (non-inverting minus inverting). The delay measurement is different in non-STAT mode and STAT mode.

Non-STAT Mode Differential Raw Etch Delay Measurements

Non-STAT Mode Differential Raw Etch Delay Measurements

STAT Mode Differential Raw Etch Delay Measurements

STAT Mode Differential Raw Etch Delay Measurements

For non-STAT mode simulations, every edge of every waveform is measured except for skipped edges. The first and last edge of every waveform are skipped by default. The receiver thresholds used for each delay are dependent on the target probe points:

Raw Etch DelayTarget Probe PointTarget Measurement Threshold
Rmin (Rising minimum)pad-Vdiff
pin-Vdiff
core50% voltage on z node
Rmax (Rising maximum)pad+Vdiff
pin+Vdiff
core50% voltage on z node
Fmin (Falling minimum)pad+Vdiff
pin+Vdiff
core50% voltage on z node
Fmax (Falling maximum)pad-Vdiff
pin-Vdiff
core50% voltage on z node

The z node is the output of the receiver buffer (the chip side of the buffer).

For STAT Mode simulations, use the parameter Waveform Analysis Bits from the Simulation Parameter dialog box to specify the number of edges to measure. The target probe point is always pad by default.

AC Noise does not affect differential etch delays.

Etch Delay Parameters

These parameters are placed in the [Model Spec] section of the IBIS file.

ParameterDescriptionWaveform
|MathWorks Vin_Meas_R_High
  • The time that a rising edge last crosses Vin_Meas_R_High is used to determine the maximum rising delay.

Vin_meas_R_high

|MathWorks Vin_Meas_F_High
  • The time that a falling edge first crosses Vin_Meas_F_High is used to determine the minimum falling delay.

Vin_meas_F_high

|MathWorks Vin_Meas_High
  • Vin_Meas_High sets the value of Vin_Meas_F_High and Vin_Meas_R_High.

Vin_meas_high

|MathWorks Vin_Meas_R_Low
  • The time that a rising edge first crosses Vin_Meas_R_Low is used to determine the minimum rising delay.

Vin_meas_R_low

|MathWorks Vin_Meas_F_Low
  • The time that a falling edge last crosses Vin_Meas_F_Low is used to determine the maximum falling delay.

Vin_meas_F_low

|MathWorks Vin_Meas_Low
  • Vin_Meas_Low sets the value of Vin_Meas_F_Low and Vin_Meas_R_Low.

Vin_meas_low

|MathWorks vdiff
  • The threshold value used for measuring etch delays on differential nets.

  • Measured on the differential waveform (inverting minus non-inverting).

  • Used to pass the differential threshold value into the SPICE deck. Used in both timing and waveform analysis.

  • Similar to the Vinh and Vinl used in single-ended models.

  • Overrides any value in the [Diff Pin] section in the IBIS file.

MathWorks vdiff

|MathWorks Vin_Vref
  • Used in slew rate derating calculations.

MathWorks Vin Vref

|MathWorks Derate_*
  • The derate parameters specify the slew-rate derating table values for a model. The parameters are:

    • |MathWorks Derate_Min

    • |MathWorks Derate_Max

    • |MathWorks Derate_RMin

    • |MathWorks Derate_RMax

    • |MathWorks Derate_FMin

    • |MathWorks Derate_FMax

    • |MathWorks Diff_Derate_Min

    • |MathWorks Diff_Derate_Max

    • |MathWorks Diff_Derate_RMin

    • |MathWorks Diff_Derate_RMax

    • |MathWorks Diff_Derate_FMin

    • |MathWorks Diff_Derate_FMax

  • Defines one or more pairs of values that each represent a slew rate and an adjustment to interconnect delays for that slew rate.

  • The app applies derating to every edge. You can view applied derating in the Derating Details tab of the Waveform and Timing Report window.

  • The slew rate is the worst case of the nominal and tangential slew rate. You can change the slew rate used for derating.

  • The default slew rate for the max parameters is the Vin_AC to Vref slew rate.

  • The default slew rate for the min parameters is the Vin_DC to Vref slew rate.

 
|MathWorks Derate Slew
  • These parameters controls the measurement thresholds used for measuring the slew rate used for slew rate derating. The parameters are:

    • |MathWorks derate_min_slew

    • |MathWorks derate_max_slew

    • |MathWorks diff_derate_min_slew

    • |MathWorks diff_derate_max_slew

  • The parameters are set to one of these values:

    • DC_Vref

    • DC_DC

    • DC_AC

    • Vref

    • Vref_DC

    • Vref_AC

    • DC_Vref_Tangent (single-ended only)

    • Vref_AC_Tangent (single-ended only)

    These values control the measurement thresholds for both rising and falling edges. The names refer to the measurement points of a rising edge.

  • The default values for the parameters are:

    ParameterDefault

    |MathWorks derate_min_slew

    DC_Vref_Tangent

    |MathWorks derate_max_slew

    Vref_AC_Tangent

    |MathWorks diff_derate_min_slew

    DC_Vref

    |MathWorks diff_derate_max_slew

    Vref_AC

 

Standard Load Parameters

ParameterDescription
|MathWorks VmeasR
  • Defines the value at which standard load timing on the rising edge of the waveforms is done.

  • Should match the vendor recommended level for rising edge reference timing.

  • You can specify a single value for all corners or different values for each (typical, fast, and slow) corner.

|MathWorks VmeasF
  • Defines the value at which standard load timing on the falling edge of the waveforms is done.

  • Should match the vendor recommended level for falling edge reference timing.

  • You can specify a single value for all corners or different values for each (typical, fast, and slow) corner.

|MathWorks VmeasRef
  • If both rising and falling edges have the same Vmeas value (the value may be different for each process corner), then you can use VmeasRef to specify these values.

  • VmeasRef is the vendor-recommended level where the standard load timing information is referenced. It is a single value used on both rising and falling transitions.

  • You can use VmeasRef in place of VmeasR and VmeasF, when you need only a single standard load timing level.

Other Parameters

|MathWorks Probe_Points Parameter

The Parallel Link Designer app uses the |MathWorks Probe_Points to override the transfer net probe point property for a model. The parameter also specifies the probe point to use for the model. The parameter is set in the [Model] section of the IBIS buffer model.

Format:  |MathWorks Probe_Points <drv>/<rcv>, where <drv> is one of the sl_pin, sl_pad, or core and <drv> is one of the pin, pad, or core.

STAT Mode Parameters

The Parallel Link Designer app uses the STAT mode parameters to apply an eye mask during the STAT Mode post-processing. The app reports the margins in the Statistical and Time Domain tabs of the Results. The parameters are:

  • |MathWorks Skew_Eye_Latch — Applies an eye mask at the latch (after equalization).

  • |MathWorks Skew_Eye_Pad — Applies an eye mask at the die pad (before equalization).

Threshold Parameter Precedence

Threshold NameParameters (Highest Precedence First)QualifierCorner Used
Overshoot_High|MathWorks Overshoot_High typ min max
D Overshoot_HighIf S Overshoot_High is defined

typ min max

typ

S Overshoot_High 

typ min max

typ

Overshoot_Low|MathWorks Overshoot_Low typ min max
D Overshoot_LowIf S Overshoot_Low is defined

typ min max

typ

S Overshoot_Low 

typ min max

typ

AC_Overshoot_High|MathWorks AC_Overshoot_High typ min max
S AC_Overshoot_HighIf D_Overshoot_High is defined

typ min max

typ

AC_Overshoot_Low|MathWorks AC_Overshoot_Low typ min max
S AC_Overshoot_LowIf D_Overshoot_Low is defined

typ min max

typ

AC_Overshoot_Time|MathWorks AC_Overshoot_Time typ
D AC_Overshoot_Time typ
AC_Overshoot_High_Area|MathWorks AC_Overshoot_High_Area typ min max
AC_Overshoot_Low_Area|MathWorks AC_Overshoot_Low_Area typ min max
VmeasR|MathWorks VmeasR typ min max
|MathWorks Vmeas typ
Vmeas  
VmeasF|MathWorks VmeasF typ min max
|MathWorks Vmeas typ
Vmeas  
Vin_Meas_R_High|MathWorks Vin_Meas_R_High typ min max
|MathWorks Vin_Meas_High typ min max
Vth_Max + Offset typ min max
Vth + Offset typ min max
Vin_DC_High typ min max
Vin_AC_High typ min max
VinH typ min max
Vin_Meas_F_High|MathWorks Vin_Meas_F_High typ min max
|MathWorks Vin_Meas_High typ min max
Vth_Max + Offset typ min max
Vth + Offset typ min max
Vin_DC_High typ min max
Vin_AC_High typ min max
VinH typ min max
Vin_Meas_R_Low|MathWorks Vin_Meas_R_Low typ min max
|MathWorks Vin_Meas_Low typ min max
Vth_Min + Offset typ min max
Vth + Offset typ min max
Vin_DC_Low typ min max
Vin_AC_Low typ min max
VinL typ min max
Vin_Meas_F_Low|MathWorks Vin_Meas_F_Low typ min max
|MathWorks Vin_Meas_Low typ min max
Vth_Min + Offset typ min max
Vth + Offset typ min max
Vin_DC_Low typ min max
Vin_AC_Low typ min max
VinL typ min max
Vin_AC_High|MathWorks Vin_AC_High typ min max
Vinh_ac + Vth + Offset typ
VinH typ min max
Vin_AC_Low|MathWorks Vin_AC_Low typ min max
Vinl_ac + Vth + Offset typ
VinL typ min max
Vin_DC_High|MathWorks Vin_DC_High typ min max
Vinh_dc + Vth + Offset typ
VinH typ min max
Vin_DC_Low|MathWorks Vin_DC_Low typ min max
Vinl_dc + Vth + Offset typ
VinL typ min max
Vdiff|MathWorks Vdiff  
[Diff Pin] vdiffPre-layout: max vdiff of all pin pairs that use the model 
0.2V  
Vdiff_DC|MathWorks Vdiff_DC  
Vdiff  
[Diff Pin] vdiffPre-layout: max vdiff of all pin pairs that use the model 
0.2V  
Vdiff_AC|MathWorks Vdiff_AC  
Vdiff_DC  
Vdiff  
[Diff Pin] vdiffPre-layout: max vdiff of all pin pairs that use the model 
0.2V  
Slew_Time_max|MathWorks Slew_Time_Max typ
|MathWorks Tslew_ac typ
|MathWorks Tdiffslew_ac typ
Slew_Time_min|MathWorks Slew_Time_Min typ
Ringback_High|MathWorks Ringback_High typ min max
Vin_DC_High typ min max
VinH typ min max
Ringback_LowRingback_Low typ min max
Vin_DC_Low typ min max
VinL typ min max
AC_Ringback_HighAC_Ringback_High typ min max
AC_Ringback_LowAC_Ringback_Low typ min max
AC_Ringback_TimeAC_Ringback_Time typ
Vin_Vref (Rising Edge)Vin_Vref typ min max
(Vin_Meas_R_High + Vin_Meas_R_Low)/2 typ min max
Vin_Vref (Falling Edge)Vin_Vref typ min max
(Vin_Meas_F_High + Vin_Meas_F_Low)/2 typ min max
Vdiff_vcm_minVdiff_vcm_min typ
Vcross_low typ
Vdiff_vcm_maxVdiff_vcm_max typ
Vcross_high typ

Note

Overshoot voltage corner usage: When the I/O corner voltages setting is Scale IBIS Model [Voltage Range] Typical Value in the Simulation Preferences, the typ value is used and scaled. When the I/O corner voltages setting is Use IBIS Model [Voltage Range] in the Simulation Preferences, the typ, min, and max values are used.

Note

Vth Offset ={Voltage([Voltage Range] typ value)}Threshold_sensitivity

Related Topics