## Model Jitter and Noise While Designing Serial Link

You can model three major sources of jitter using the Serial Link Designer: TX clock jitter, RX clock jitter, and RX clock recovery jitter. You can also add RX noise.

Jitter and noise affect the bit error rate (BER) of a serial channel. Some sources of jitter affect the data bathtub curve and some affect the clock PDF (probability distribution function). The data bathtub and clock PDF are used in the BER calculation, so changing either changes BER.

TX jitter and RX noise always change the data eye and data bathtub. RX jitter and RX clock recovery jitter are handled differently depending on how you set the Clock Mode parameter.

• Normal — RX clock recovery jitter affects the clock PDF.

• Clocked — RX clock recovery jitter affects the data eye and bathtub.

• Convolved — RX clock recovery jitter affects the data eye and bathtub.

To access jitter and noise parameters, first select a transfer net sheet by selecting Setup > TNet Properties. Then open the Designator Element Properties panel by selecting . Finally, open the parameters by selecting or . These dialogs are also accessible by double-clicking on any of the designators in the pre-layout analysis tab.

### TX Clock Jitter

The app models the TX clock jitter using five parameters. The parameters modify the Tx stimulus (Time Domain analysis) or are added in postprocessing (Statistical Analysis). View and modify these parameters in the TX Jitter dialog box, accessible through the Designator Element Properties dialog box.

TX jitter always changes the data eye and data bathtub.

Jitter ParameterDescription
Tx Rj

Random Gaussian-distributed jitter (RJ) injected at the transmitter. The level is defined as the standard deviation of the RJ, in unit intervals (UI) or seconds. This is sometimes used to model the effects of power supply noise generated by logic switching events in the core of the device. Tx Rj affects the stimulus as follows:

Time(n) = n × UI + `Tx_Rj` × `randn`

Time(n) is the time of edge n.

`randn` is a function that returns random numbers from the standard normal distribution with mean 0 and variance 1.

Tx Dj

Deterministic jitter (DJ) injected upstream of the link. The level is defined as peak DJ, in UI or seconds. Tx Dj accounts for all deterministic and uncorrelated bounded jitter that is not accounted for by Tx DCD and Tx Sj. DJ is applicable only on the transmit side. The effects of intersymbol interference in the transmission channel are accounted for directly in the analysis or simulation. Tx Dj affects the stimulus as follows:

Time(n) = n × UI + `Tx_Dj` × `rand`

`rand` is a function that returns random numbers from a uniform distribution over the interval (-1, 1).

Tx Sj

Sinusoidal jitter (SJ) or sinusoidally varying delay injected at the transmitter. SJ is one half peak-to-peak deviation, in UI or seconds. This is sometimes used to model the effects of power supply noise generated by clock currents in the core of the device. Tx Sj affects the stimulus as follows:

Time(n) = n × UI + `Tx_Sj` × sin(n × UI × 2π × `Tx_Sj_Frequency`)

If Tx Sj Frequency is not defined, then Tx Sj is ignored.

Tx Sj FrequencyTx Sj Frequency is used explicitly in time domain simulation. Otherwise, Tx Sj Frequency is assumed to be much higher than the bandwidth of the clock recovery loop. Tx Sj Frequency is specified in Hz.
Tx DCD

Transmission duty cycle distortion (DCD) is defined as the difference in symbol duration between one symbol and the next. The value is the length of the logic `1` side of the clock cycle, as a percentage of the total cycle length, minus 50% in UI or seconds. The calculation assumes that the transmitter is driven by a half-rate clock, with symbols generated on the rising and falling edges of the clock, and further assumes that the duty cycle of that half-rate clock may not be exactly 50%. Tx DCD affects the stimulus as follows:

Time(n) = n × UI + `Tx_DCD` × (-1)n

Note

If you set a TX jitter parameter in the AMI file, you cannot edit the field in the TX Jitter dialog box. To change the jitter, edit the AMI file.

When set to the format `DjRj`, the IBIS-AMI parameter Tx_Jitter is translated to TX jitter parameters. The jitter parameter includes the value of DjMax and DjMin. The parameters are used to generate `Tx_Dj` and `Tx_Rj`:

`$\text{Tx_Dj}=\frac{DjMax-DjMin}{2}$`
`$\text{Tx_Rj}=\sigma$`

There is also a shift in the stimulus in time domain analysis:

`$\text{shift}=\frac{DjMax+DjMin}{2}$`

### RX Clock Jitter

The RX clock jitter parameters modify the statistics of the recovered clock. These parameters are used to account for jitter that is not included in either the `clock_times` returned by Rx AMI_GetWave or the Rx_Clock_Recovery parameters. These parameters are used by the simulator when postprocessing the results from the model and are not passed to the model. These parameters can be viewed and modified in the RX Jitter dialog box.

In the definition of these jitter parameters, time is the ideal clock time in statistical analysis and in time domain analysis when Getwave does not exist. time is the `clock_time` from Getwave when it exists for time domain analysis.

Jitter ParameterDescription
Rx Rj

Random Gaussian-distributed jitter (RJ) injected at the receiver. The level is defined as the standard deviation of the RJ, in unit intervals (UI) or seconds. This is sometimes used to model the effects of power supply noise generated by logic switching events in the core of the device. Rx Rj affects the clock times as follows:

clock_times(n) = time + `Rx_Rj` × `randn`

`randn` is a function that returns random numbers from the standard normal distribution with mean 0 and variance 1.

Rx Dj

Deterministic jitter (DJ), or the worst case half peak-to-peak variation of the recovered clock, not including the random jitter specified by Rx Rj, Rx Sj, or Rx DCD. Rx Dj includes all deterministic and uncorrelated bounded jitter that is not accounted for by Rx clock_times, Rx Rj, or Rx_Clock_Recovery parameters. Rx Dj affects the clock times as follows:

actual_time = time + `Rx_Dj` × `rand`

`rand` is a function that returns random numbers from a uniform distribution over the interval (-1, 1).

Rx Sj

Sinusoidal jitter (SJ), or sinusoidally varying delay injected at the receiver. SJ is one half peak-to-peak deviation, in UI or seconds. This is sometimes used to model the effects of power supply noise generated by clock currents in the core of the device. Rx Sj affects the clock times as follows:

actual_time = time + `Rx_Sj` × sin(π/2 × `rand`)

`rand` is a function that returns random numbers from a uniform distribution over the interval (-1, 1).

`Rx_DCD`

Duty cycle distortion (DCD) Difference in symbol duration between one symbol and the next. Assume that the receiver is driven by a half-rate clock, with symbols generated on the rising and falling edges of the clock, and further assume that the duty cycle of that half-rate clock may not be exactly 50%. The value is the length of the logic `1` side of the clock cycle, as a percentage of the total cycle length, minus 50% in unit intervals (UI) or seconds. `Rx_DCD` affects the clock times as follows:

actual_time = time + `Rx_DCD` × (-1)n

Note

If you set an RX Jitter parameter in the AMI file, you cannot the field in the RX Jitter dialog box. To change the jitter, edit the AMI file.

When set to the format `DjRj`, the IBIS-AMI parameter Rx_Clock_PDF is translated to Rx clock recovery jitter parameters. The jitter parameter includes the value of DjMax and DjMin. The parameters are used to generate `Rx_Clock_Recovery_Dj` and `Rx_Clock_Recovery_Rj`:

`$\text{Rx_Clock_Recovery_Dj}=\frac{DjMax-DjMin}{2}$`
`$\text{Rx_Clock_Recovery_Rj}=\sigma$`

There is also a shift in the stimulus in time domain analysis:

`$\text{Rx_Clock_Recovery_Mean}=\frac{DjMax+DjMin}{2}$`

### RX Clock Recovery Jitter

Serial Link Designer models RX clock recovery jitter using these parameters. This data is used when postprocessing the results from the model. Statistical analysis always uses these parameters. Time domain analysis uses these parameters when the model does not return clock_times, or when Rx AMI_GetWave does not exist. These parameters add to any jitter from the RX jitter parameters. Add these parameters to the AMI file using a text editor.

While defining these jitter parameters, ideal_time is defined as the halfway between the median of the eye crossing 0.0 on both sides of the eye.

Jitter ParameterDescription
Rx Clock Recovery Mean

Mean phase of recovered clock with respect to the center of the eye diagram (one half symbol from the median data transition time) in unit intervals (UI) or seconds. Rx Clock Recovery Mean affects the clock times as follows:

actual_time = ideal_time + `Rx_Clock_Recovery_Mean`

Rx Clock Recovery Rj

Random Gaussian-distributed jitter (RJ), injected at the clock recovery circuit. The level is defined as the standard deviation of the RJ, in UI or seconds. This is sometimes used to model the effects of power supply noise generated by logic switching events in the core of the device. Rx Clock Recovery Rj affects the clock times as follows:

actual_time = ideal_time + `Rx_Clock_Recovery_Rj` × `rand`

`randn` is a function that returns random numbers from the standard normal distribution with mean 0 and variance 1.

Rx Clock Recovery Sj

Sinusoidal jitter (SJ), or sinusoidally varying delay injected at the clock recovery circuit. SJ is one half peak-to-peak deviation, in UI or seconds and a modulation frequency. This is sometimes used to model the effects of power supply noise generated by clock currents in the core of the device. Rx Clock Recovery Sj affects the clock times as follows:

actual_time = ideal_time + `Rx_Clock_Recovery_Sj` × sin(π/2 × `rand`)

`rand` is a function that returns random numbers from a uniform distribution over the interval (-1, 1).

Rx Clock Recovery DCD

Duty cycle distortion (DCD) is defined as half the peak-to-peak variation, in UI or seconds, of a clock duty cycle distortion exhibited by the recovered clock. Rx Clock Recovery DCD affects the clock times as follows:

actual_time = ideal_time + `Rx_Clock_Recovery_DCD` × (-1)n

### RX Noise

RX noise parameters modify the statistics associated with the data input to the sampling latch of the receiver. This data is used by Serial Link Designer when postprocessing the results from the model; the budget values specified by the parameters are not passed directly to the model itself.

Noise ParameterDescription
Rx Noise

Standard deviation, in volts into a 100 ohm differential load, of a set of independent samples of a Gaussian noise process measured at the sampling latch of a receiver. Rx Noise is Gaussian distributed amplitude noise at the receiver decision point. It is assumed that the samples of this noise process are independent of each other in what is often called an additive white Gaussian noise (AWGN) process. Typically, this noise would be generated by shot noise in the receive amplifier. It is seldom if ever accurate to model crosstalk or power supply noise as a Gaussian distributed process. In order to supply an accurate value for this parameter, it might be necessary to account for the gain of the receive amplifier and any analog equalization inserted before the receiver decision point. Rx Noise affects the clock times as follows:

wave(t) = wave(t) + `Rx_Noise` × `randn`

`randn` is a function that returns random numbers from the standard normal distribution with mean 0 and variance 1.

Note

Rx GaussianNoise replaces the Rx Noise parameter in the IBIS specification (version 7.0). However, you can use either.

Rx Uniform Noise

Worst-case half peak-to-peak variation, in volts, of a bounded uniform random process. This is added to the signal measured at the sampling latch of a receiver.

Spectral density of the AWGN at the input to a receiver buffer in volts/sqrt(Hz). Ignored for a driver.

This parameter must be added to the AMI file using a text editor.

Note

If you set an RX Noise parameter in the AMI file, you cannot edit the field in the RX Jitter dialog box. To change the jitter, edit the AMI file.

### Set Jitter and Noise in AMI File

You can set jitter and noise parameters in multiple ways depending on the models and the type of simulation. The table shows sample AMI file entries.

Parameter TypeSample Entry and Description
Value

```(Tx_Rj (Usage Info) (Type UI) (Value 0.01) (Description "TX Random Jitter in UI"))```

The Transfer Net Properties dialog box shows this value, but editing is disabled to indicate that the value is controlled by the AMI file.

Corner

```(Tx_Rj (Usage Info)(Corner 0.005 0.006 0.004)(Type UI) (Description "TX Random Jitter in UI"))```

The value used in the analysis is based on the IC process corner selected in the GUI. The Transfer Net Properties dialog box shows the <AMI Corner> in the cell for parameters defined in the AMI file as Corner.

Range

```(Tx_Rj (Usage Info)(Format Range 0.0 0.0 0.5)(Type UI) (Default 0) (Description "Tx Random Jitter in UI"))```

The parameter will appear in the solution space table and can be swept. The Transfer Net Properties dialog box shows the <Sweep> in the cell for parameters defined in the AMI file as Range.