Signal Integrity Simulation Using ADS
Signal Integrity Simulation Using ADS
Application Note
02 | Keysight | Signal Integrity Simulation Using Advanced Design System (ADS) - Application Note
Table of Contents
Simulation
What is the benefit of S-parameter simulation? What components
are specific for S-parameter simulation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 03
What components in ADS are used for Transient analysis? . . . . . . . . . . . . . . . . . . . . . . 05
What are the benefits of ChannelSim? What components in ADS are
compatible with ChannelSim? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 07
How do you set up bit sequence in ADS source components? . . . . . . . . . . . . . . . . . . . 09
How do you build an optimal and robust high speed digital design? . . . . . . . . . . . . . . 11
How do you perform batch simulation efficiently with Batch Simulation controller? . 13
How do you examine performance of multi-channels efficiently? . . . . . . . . . . . . . . . . . 15
How do you calculate insertion loss, return loss and crosstalk of differential
pairs in mixed mode S-parameters? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Resources
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
03 | Keysight | Signal Integrity Simulation Using Advanced Design System (ADS) - Application Note
Question Answer
What is the benefit of S-parameter S-Parameters Simulator calculates wide band S-parameters of a channel. Term is used
simulation? What components are specific to define the impedance and location of the ports for S-parameters simulation. Term has
for S-parameter simulation? to be continuously numbered from one. Note that time domain sources, IBIS, IBIS AMI
and SPICE IO models are not compatible with S-parameters simulation.
Simulation-S Param
S-Parameter Simulator supports not only S-Parameters, but also Z Parameters and
Group Delay. You can check the items which you want to examine during simulation.
Z parameter is used to analyze the impedance profile of the power distribution network
(PDN). It is useful for power integrity analysis.
Channel bandwidth and Crosstalk can be extracted from S-parameter. Channel
bandwidth limits maximum bit rate. Insertion loss to crosstalk ratio affects system BER.
Both channel bandwidth and crosstalk are important design factors for SI. A simple
S-parameter simulation of channels is shown in Figure 2. The results of Insertion loss
and crosstalk are shown in Figure 3.
Insertion Loss
Figure 2. A simple S-parameter simulation.
Group delay is time delay of a channel in frequency domain. Equal geometrical length
does not guarantee equal electrical delay. Figure 4 shows an example of such a layout.
Delay mismatch between data and strobe may cause timing skew and data error. Group
Delay analysis is helpful for DDR post-simulation.
Question Answer
What components in ADS are Transient simulator calculates node voltage and branch current at each time step.
used for Transient analysis? Transient works fine with lumped components and transistor models. Transient
simulator is not used to process S-parameter model because S-parameter is frequency
dependent. S-parameter model is, however, useful in channel modeling. ADS Transient
simulator enhances its advanced convolution engine for S-parameter model. In ADS, you
can get a reliable waveform in Transient simulation with S-parameter model.
Simulation-Transient
Time Domain sources are all compatible with Transient simulator and are useful for time
domain SI analysis. For example, Step source can be used for TDR simulation. Pulse
source can be used to model a clock signal. VtPRBS supports various bit pattern, output
resistance, de-emphasis, jitter, bit rate and PAM encoding.
Simulation-Transient
06 | Keysight | Signal Integrity Simulation Using Advanced Design System (ADS) - Application Note
IBIS (I/O Buffer Info Specification) is a popular IO buffer model. IBIS model supports
detailed rising and falling waveform. In order to protect intellectual property, an IBIS
model file records current-voltage, voltage-time data and IC package parasitic only. To
make IBIS model work well, it is necessary to bias power pin, ground pin and enable pin
properly. You also have to set trigger signal when the IBIS model serves as a transmitter.
Signal Integrity-IBIS
Although TX AMI, RX AMI, Xtlk TX AMI and Xtlk RX AMI are categorized in IBIS library,
they are not compatible with Transient simulator. They are compatible with ChannelSim
simulator only.
Some IC companies support HSPICE IO model rather than IBIS model for accuracy. To
import an HSPICE model into ADS, select Tools > HSPICE Compatibility Component >
Wizard. Note that ADS won’t support a HSPICE encrypted model. You can select an
imported HSPICE model and click the ‘Push Into Hierarchy’ button to view and edit the
HSPICE netlist.
07 | Keysight | Signal Integrity Simulation Using Advanced Design System (ADS) - Application Note
Question Answer
What are the benefits of ChannelSim? To evaluate the performance of SERDES, it is necessary to simulate a long waveform
What components in ADS are compatible for Bit Error Rate (BER). For example, it might require 1e6 bits or even more. It may take
with ChannelSim? hours or days for a transient simulation, which may be prohibitive. ChannelSim is a good
solution to resolve this issue. Here is a typical signal processing flow of ChannelSim:
–– Perform Transient simulation to get a channel impulse response of 1000 bits long.
–– Transmitter generates a long bit sequence, e.g. 1e6 bits long.
–– Perform convolution of the bit sequence and the impulse response to get waveform
after channel.
–– Pass the waveform to the receiver for signal equalization.
Typically, it takes only seconds or minutes to get a result of a ChannelSim.
EQU
Simulation-ChannelSim
2 1 3 4
Convolution
EQU Equalization
Question Answer
How do you set up bit sequence In ADS there are four modes in source components to generate a waveform in a different
in ADS source components? bit sequence:
–– Maximal Length LFSR
–– User Defined LFSR
–– Explicit Bit Sequence
–– Bit File
In mode 1 and 2, Linear Feedback Shift Register (LFSR) is used to generate Pseudo
Random Binary Sequence (PRBS). In mode 3, we can input an arbitrary bit sequence.
In mode 4, source components read a text-based bit file to generate a waveform.
Figure 105 shows a three tap LFSR example. In this example, Tap3 and Tap1 are inputs
of XOR operator, labeled as “101”. Initial value of registers is called seed. In this example,
seed is “011”. Every clock cycle, Values in the registers shift right. Tap1 is set as the
output value of XOR. Output of Tap3 is the generated bit of LFSR.
1 1 1 Output
Clock #2
#1 #5
1 1 0 0 1 0 1
#2 #6
1 1 1 0 0 1 0
#3 #7
0 1 1 1 0 0 1
#4 #8
1 0 1 1 1 0 0
0 1 1 1 0 1 0 0 1 1 1 0 1
Figure 10. Define Taps and Seed in “User Defined LFSR” mode.
11 | Keysight | Signal Integrity Simulation Using Advanced Design System (ADS) - Application Note
Question Answer
How do you build an optimal and System analysis is a systematical approach to an optimal and robust design. It helps us
robust high speed digital design? answering the following questions:
–– How does a specific variable affect system performance?
–– Is the system robust enough?
–– How do you minimize performance impact due to manufacturing variation?
–– What is an optimal design?
–– …
For DDR design, power integrity is crucial to signal integrity. One way to mitigate power
Set noise is to reduce the impedance of the power distribution network with decoupling
Variables Range
capacitors. Then the question is how to define capacitance of each capacitor.
Optimization controller is an effective and efficient tool. It takes mere seconds to
minutes to find out an optimal set of decupling capacitors.
Set
Algorithm
Run
Organization
Without Decaps
Optimized Decaps
Question Answer
How do you perform batch simulation To understand how circuit performance is determined by component variations, a
efficiently with Batch Simulation common way is to sweep variables of components in the circuit design. We can then
controller? compare results between these simulation runs to get insights of the circuit.
Batch Simulation controller is an easy-to-use tool for users to set up complex sweep
process as shown in Figure 14. It supports “Use sweep plan” and “Use sweep module”
modes. In “Use sweep plan” mode, we can input variables to sweep and the sweep range
in Batch Simulation dialog box as shown in Figure 15.
When the simulation ends, the results of all simulation runs can be displayed in a
rectangular plot as shown in Figure 16. We can examine the circuit performance
variation easily. However, filenames and strings are not supported in “Use sweep plan”
mode directly. A solution is to build a file list in a DataFileList component (or a string list
in a StringList component) as shown in Figure 17 to generate a mapping table between
filenames and the index. The indexes can then be used in “Use sweep plan” mode.
14 | Keysight | Signal Integrity Simulation Using Advanced Design System (ADS) - Application Note
Figure 16. Eye height and eye width of all simulation runs.
In “Use sweep module” mode, we can build a sweep plan in a .csv file with text editor
as shown in Figure 18. Values, filenames and strings are supported in this mode. When
simulation begins, Batch controller will set up variables based on the items listed in the
file and execute simulation iteratively until all items are performed.
Question Answer
How do you examine performance Repetitively checking performance of multi-channels can be time consuming.
of multi-channels efficiently? For example, we connect Tx_Diff and Rx_Diff to the first channel at first as shown in
Figure 19. Run a simulation to get the performance of the first channel. Next, move
Tx_Diff and Rx_Diff manually to the second channel and run a simulation to get the
performance of the second channel. The rest of the channels should be done in the
same manner. When the channel count is large, it will take a lot of time to examine
performance of all channels.
To make it easier, we can use two switch components for channel swapping as shown in
Figure 20. Parameter N of the switch is used to set the channel swapped with the first
channel. For example, N=2 means the second channel is swapped to connect to Tx_Diff
and Rx_Diff. When we let N=ix and sweep ix from 1 to 3 in the Batch controller, we can
get all three simulation results in one dataset. We can then display simulation results of
all three channels in one chart as shown in Figure 21.
The switch component is a user defined model built in Verilog-A code. Code of a three-
channel switch is shown in Figure 22. The code can be modified to build a more complex
switch.
Question Answer
How do you calculate insertion loss, Mixed mode S-parameters are often used to examine frequency characteristics of
return loss and crosstalk of differential differential pairs including insertion loss, return loss and balanced-unbalanced mode
pairs in mixed mode S-parameters? conversion. Typically we can convert four-port single ended S-parameters to mixed
mode S-parameters with equations as shown in Figure 23. Or, we can make the
conversion with simulation as shown in Figure 24.
Resources