High-Speed Serial Channel Simulation

Category: 電磁場解析 / 信号品質 | Integrated 2026-04-11
High-speed serial link channel simulation showing S-parameter cascading and eye diagram prediction
高速シリアルチャネルシミュレーション ── 送信IC→パッケージ→PCB→コネクタ→ケーブル→受信ICまでの伝送路全体を、Sパラメータのカスケードモデルと等化器アルゴリズムで統合し、アイダイアグラムとBERを予測する

Theory and Physics

What is Channel Simulation?

🧑‍🎓

Professor, what exactly does channel simulation simulate?

🎓

Simply put, it's a simulation that connects the entire transmission path between transmitter and receiver—IC package → PCB trace → connector → cable → connector → PCB → IC—using S-parameters, and predicts the eye diagram including equalizers.

🧑‍🎓

You simulate the entire transmission path as a whole? Not looking at each part individually?

🎓

Yes. For example, PCIe 6.0 uses 64 GT/s PAM4 signals, with a Nyquist frequency of 16 GHz. The channel insertion loss can sometimes exceed 30 dB. Designing compensation for this with CTLE+DFE is impossible without simulation. We "cascade connect" the S-parameters of each part and solve the entire system—transmit equalizer → channel → receive equalizer—consistently.

🧑‍🎓

30 dB means the signal weakens to about 1/30th of its original level, right? Restoring that with software is an amazing world...

🎓

To be precise, the voltage amplitude ratio is $10^{-30/20} \approx 1/31.6$. The equalizer restores the signal from a state where it's almost gone at the Nyquist frequency. That's precisely why channel simulation, which "verifies the design including equalizers," becomes essential.

Channel Model Composition and Cascade Connection

🧑‍🎓

What does "cascade connecting" the entire transmission path mean specifically? How is it done?

🎓

Each component is modeled as a 2-port network (S-parameters) and connected in series. For example, a server backplane would have a configuration like this:

ElementTypical Insertion Loss @16GHzS-parameter Model Source
Tx IC Package2–4 dBProvided by semiconductor vendor (IBIS-AMI)
PCB Via + Trace (Tx side)3–8 dB3D EM extraction (e.g., HFSS)
Backplane Connector1–3 dBProvided by connector vendor or measured
Backplane Trace8–15 dB2D EM extraction + transmission line model
PCB Via + Trace (Rx side)3–8 dB3D EM extraction
Rx IC Package2–4 dBProvided by semiconductor vendor (IBIS-AMI)
🧑‍🎓

So you extract S-parameters with different tools for each part and finally connect them all. Is the connection calculation just simple multiplication?

🎓

You can't just multiply S-parameters directly. If you convert them to T-parameters (Transmission matrices), you can cascade them via matrix multiplication. For a 2-port network:

$$ T_{\text{total}} = T_1 \cdot T_2 \cdot T_3 \cdots T_n $$
🎓

The conversion formula from S-parameters to T-parameters is:

$$ T = \frac{1}{S_{21}} \begin{bmatrix} -\Delta S & S_{11} \\ -S_{22} & 1 \end{bmatrix}, \quad \Delta S = S_{11}S_{22} - S_{12}S_{21} $$
🧑‍🎓

I see, so it's a three-step process: convert to T-parameters → multiply → convert back to S-parameters. Does the tool do this automatically?

🎓

Yes, tools like ADS or Sigrity read Touchstone files (.s2p/.s4p) and automatically calculate the cascade connection. However, there's a caveat—when the frequency points of each S-parameter don't align, interpolation is needed, and the accuracy of this interpolation can affect the results. Extrapolation at the high-frequency end requires particular caution.

S-parameter Mathematics

🧑‍🎓

Regarding the S-parameters used in channel simulation, which specific components do you look at? There are so many like S11, S21, it's confusing.

🎓

The three most important ones for channel simulation are:

  • $S_{21}$ (Insertion Loss): How much signal passes through. Attenuation increases with frequency. Directly indicates the "difficulty" of the channel.
  • $S_{11}$ (Return Loss): How much is reflected at the input port. An indicator of impedance mismatch. $|S_{11}| < -15\text{dB}$ is a typical target.
  • $S_{\text{NEXT/FEXT}}$ (Crosstalk): Interference from adjacent channels. Evaluated using multi-port S-parameters.
🧑‍🎓

How is the overall channel transfer function ultimately expressed?

🎓

Representing the entire channel after cascade connection as a single transfer function $H_{\text{ch}}(f)$ gives:

$$ H_{\text{ch}}(f) = S_{21,\text{total}}(f) $$
🎓

The end-to-end transfer function including equalizers is:

$$ H_{\text{total}}(f) = H_{\text{Tx-FFE}}(f) \cdot H_{\text{ch}}(f) \cdot H_{\text{CTLE}}(f) $$
🎓

DFE is a nonlinear process that cannot be expressed in the frequency domain, so it's not included here. DFE is calculated separately in the time domain.

Principles of CTLE/DFE Equalizers

🧑‍🎓

I often hear the names CTLE and DFE, but what's the difference? They're both "equalizers," right?

🎓

The fundamental difference is that CTLE is a linear filter while DFE is a nonlinear feedback.

CTLE (Continuous Time Linear Equalizer) is a high-pass filter that "boosts" the high-frequency components attenuated by the channel. Its transfer function looks like this:

$$ H_{\text{CTLE}}(f) = \frac{1 + j f / f_z}{1 + j f / f_p}, \quad f_z < f_p $$
🎓

$f_z$ is the zero frequency (boost start point), $f_p$ is the pole frequency (boost upper limit). The high-frequency gain increases in the frequency band between the zero and the pole. In practice, multiple CTLE stages are often used, providing around 10–15 dB of boost.

🧑‍🎓

Boosting high frequencies means amplifying noise as well, doesn't it?

🎓

Exactly, that's the weakness of CTLE. CTLE involves noise enhancement. That's where DFE (Decision Feedback Equalizer) comes in. DFE uses past decided bits to cancel post-cursor ISI (Inter-Symbol Interference):

$$ y_{\text{DFE}}[n] = y[n] - \sum_{k=1}^{N_{\text{tap}}} c_k \cdot \hat{d}[n-k] $$
🎓

$\hat{d}[n-k]$ is the past decided bit value, $c_k$ is the DFE tap coefficient. Importantly, DFE does not amplify noise. Because it uses decision results ($\pm 1$), it can accurately cancel only the signal component. In PCIe 6.0, the number of DFE taps can be 10 to 24.

🧑‍🎓

Wait, but what if a past decision is wrong? It seems like errors could propagate...

🎓

Good question. That's the "error propagation" problem, a fundamental weakness of DFE. If a decision error occurs, subsequent ISI cancellation also becomes incorrect, potentially causing a burst of consecutive errors. In actual SerDes, FEC (Forward Error Correction) covers DFE's error propagation. In channel simulation, whether this error propagation is correctly modeled significantly changes the accuracy of BER prediction.

🎓

In practice, Tx-FFE (Feed-Forward Equalizer) is also used. This is a method that "pre-distorts" the signal on the transmitter side, implemented as an FIR filter:

$$ x_{\text{FFE}}[n] = \sum_{k=-N_{\text{pre}}}^{N_{\text{post}}} a_k \cdot d[n-k] $$
🎓

Pre-cursor taps ($a_{-1}$, etc.) and post-cursor taps ($a_1, a_2$, etc.) preemptively cancel ISI. PCIe 5.0 specifies 3 taps, and PCIe 6.0 specifies up to 10 Tx-FFE taps.

Statistical Eye Diagram

🧑‍🎓

I often hear about "statistical eye." What's the difference from a regular eye diagram?

🎓

A regular eye diagram is created by overlaying waveforms from an actual bit stream. This is called "bit-by-bit simulation." It's intuitive, but to verify a BER of $10^{-15}$, you'd need to stream over $10^{17}$ bits, which would take over 40 minutes even at 64 GT/s.

Statistical eye analysis is a method that calculates probability distributions from the pulse response and directly obtains BER contour lines.

🧑‍🎓

How do you calculate BER from the pulse response?

🎓

Differentiate the step response $s(t)$ to get the pulse response $p(t)$, then extract the pulse response values at sampling times. You get the main cursor $p_0$ and the values before and after it: $p_{-k}$ (pre-cursor ISI) and $p_k$ (post-cursor ISI).

🎓

Each ISI term is weighted by a random bit ($\pm 1$), so the total ISI sum forms a discrete probability distribution. For NRZ with N ISI terms, there are $2^N$ possible combinations. Convolving this probability distribution with the Gaussian noise distribution gives the BER directly at each voltage and time:

$$ \text{BER}(V, t) = \sum_i P_i \cdot Q\!\left(\frac{|V - V_i(t)|}{\sigma_n}\right) $$
🎓

$P_i$ is the occurrence probability of ISI combination $i$, $V_i(t)$ is the received voltage for that combination, $\sigma_n$ is the noise standard deviation. The Q-function is the tail probability of the normal distribution. This calculation finishes in seconds, so even ultra-low BER levels like $10^{-15}$ can be evaluated instantly.

🧑‍🎓

From 40 minutes with bit-by-bit to seconds is an incredible difference! So is the statistical eye all we need?

🎓

The statistical eye is very accurate within the scope of linear channels + linear equalizers. However, DFE error propagation and nonlinear effects like slicer thresholds in PAM4 become approximations. In practice, it's common to explore a large design space using the statistical eye and then perform precise verification of final candidates with bit-by-bit simulation.

COM (Channel Operating Margin)

🧑‍🎓

What is COM (Channel Operating Margin)? I hear things like "pass if COM is above 3dB"...

🎓

COM is a unified metric for channel quality defined in IEEE 802.3. It's the equalized eye opening normalized by noise, jitter, and crosstalk, expressed in dB:

$$ \text{COM} = 20 \log_{10}\!\left(\frac{A_{\text{signal}}}{A_{\text{noise}}}\right) \; [\text{dB}] $$
🎓

$A_{\text{signal}}$ is half the eye opening after DFE+CTLE equalization, $A_{\text{noise}}$ is the effective value of all noise, jitter, residual ISI, and crosstalk. COM > 3dB is a common pass criterion, meaning the target BER (e.g., $10^{-15}$) is met with sufficient margin.

🧑‍🎓

What parameters are specifically input for COM calculation?

🎓

COM calculation requires quite a lot of inputs. Even the main ones include:

CategoryParameterTypical Value (100GBASE-KR4)
ChannelThru S-parameter (.s4p)Frequency range: DC to Nyquist×2
CrosstalkFEXT/NEXT S-parameterFor all aggressor channels
Tx-FFENumber of taps, tap constraints3 taps, $c_{-1}+c_0+c_1 = 1$
CTLEDC gain, peak frequency0–12 dB boost
DFENumber of taps, tap constraints5–14 taps
Noise$\sigma_{\text{Tx}}, \sigma_{\text{Rx}}$Specified in standard (mV rms)
JitterDJ, RJDJ: 0.01UI, RJ: 0.01UI rms
🧑‍🎓

That's a huge number of parameters... Doing this by hand seems absolutely impossible.

🎓

That's precisely why automation is crucial. The IEEE 802.3 committee publishes official MATLAB scripts (COM calculation code), which have become the de facto industry standard. Vendor tools also implement this algorithm. The key point is that in COM calculation, the Tx-FFE and CTLE parameters are automatically optimized to find the best COM value.

Internal Steps of COM Calculation (Detailed)
  1. Calculate pulse response from channel S-parameters (IFFT)
  2. Enumerate Tx-FFE tap combinations
  3. Sweep CTLE boost value for each Tx-FFE setting
  4. Calculate pulse response after CTLE, optimize DFE tap coefficients
  5. Probabilistically sum the effects of residual ISI, crosstalk, noise, jitter
  6. Calculate eye opening, compute COM value
  7. Report the maximum COM among all combinations

Numerical Methods and Implementation

Pulse Response Calculation

関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧

関連する分野

電磁気解析連成解析構造解析
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
About the Authors