高速串行通道仿真

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

理论与物理

什么是通道仿真

🧑‍🎓

老师,通道仿真是仿真什么内容呢?

🎓

简单来说,就是对收发器之间整个传输路径——IC封装→PCB布线→连接器→线缆→连接器→PCB→IC——用S参数连接起来,并预测包含均衡器的眼图的仿真。

🧑‍🎓

是把整个传输路径放在一起仿真吗?不是逐个部件分析?

🎓

是的。例如PCIe 6.0是64GT/s的PAM4信号,奈奎斯特频率为16GHz。通道的插入损耗有时会超过30dB。用CTLE+DFE来补偿这种损耗的设计,没有仿真是无法实现的。将各部件的S参数进行“级联连接”,对发送均衡器→通道→接收均衡器的整体进行一致求解。

🧑‍🎓

30dB,意味着信号衰减到原来的1/30左右吧。用软件来恢复这个,真是了不起的世界啊…

🎓

准确地说,电压振幅比是 $10^{-30/20} \approx 1/31.6$。从奈奎斯特频率处的信号几乎消失的状态,用均衡器来恢复。正因如此,“包含均衡器来验证设计”的通道仿真才变得必不可少。

通道模型的构成与级联连接

🧑‍🎓

“级联连接”整个传输路径,具体是怎么做的呢?

🎓

将各构成要素建模为二端口网络(S参数),然后将它们串联连接。例如服务器的背板,构成如下:

要素典型的插入损耗 @16GHzS参数模型来源
Tx IC封装2〜4 dB半导体厂商提供(IBIS-AMI)
PCB过孔+布线(发送侧)3〜8 dB3D EM提取(HFSS等)
背板连接器1〜3 dB连接器厂商提供 or 实测
背板布线8〜15 dB2D EM提取+传输线模型
PCB过孔+布线(接收侧)3〜8 dB3D EM提取
Rx IC封装2〜4 dB半导体厂商提供(IBIS-AMI)
🧑‍🎓

分别用不同的工具提取S参数,最后全部连接起来对吧。连接的计算是简单的乘法吗?

🎓

直接用S参数不能做乘法。转换成T参数(传输矩阵)后,就可以用矩阵乘积进行级联。对于二端口网络:

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

S参数到T参数的转换公式如下:

$$ 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} $$
🧑‍🎓

原来如此,是T参数转换→乘法→转回S参数,这三个步骤对吧。工具会自动完成吗?

🎓

是的,ADS或Sigrity等工具会读取Touchstone文件(.s2p/.s4p)并自动计算级联连接。但有一点需要注意——当各S参数的频率点不一致时需要进行插值,这个插值精度有时会影响结果。特别是高频端的外推需要格外小心。

S参数的数学原理

🧑‍🎓

通道仿真中使用的S参数,具体看哪些成分呢?S11、S21等等有很多,容易混淆。

🎓

通道仿真中最重要的有以下三个:

  • $S_{21}$(插入损耗, Insertion Loss):信号通过的程度。频率越高衰减越大。直接反映了通道的“难度”
  • $S_{11}$(回波损耗, Return Loss):输入端口反射的程度。阻抗失配的指标。目标通常是 $|S_{11}| < -15\text{dB}$
  • $S_{\text{NEXT/FEXT}}$(串扰):来自相邻通道的干扰。用多端口S参数评估
🧑‍🎓

通道整体的传递函数,最终是如何表示的呢?

🎓

将级联连接后的整个通道表示为一个传递函数 $H_{\text{ch}}(f)$,如下:

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

包含均衡器的端到端传递函数为:

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

DFE是无法在频域表示的非线性处理,所以不包含在这里。DFE是在时域另行计算的。

CTLE・DFE均衡器原理

🧑‍🎓

CTLE和DFE经常听到,它们有什么区别呢?不都是“均衡器”吗?

🎓

根本区别在于,CTLE是线性滤波器,而DFE是非线性反馈

CTLE(连续时间线性均衡器)是一种“提升”通道中衰减的高频成分的高通滤波器。其传递函数形式如下:

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

$f_z$ 是零点频率(提升起始点),$f_p$ 是极点频率(提升上限)。在零点和极点之间的频带,高频增益会提升。实际应用中常使用多级CTLE,通常提供10〜15dB的提升。

🧑‍🎓

提升高频,意味着噪声也会一起被放大吧?

🎓

这正是CTLE的弱点。CTLE会伴随噪声放大(noise enhancement)。于是DFE(判决反馈均衡器)登场了。DFE利用过去已判决的比特来抵消码间干扰(ISI)的后光标部分:

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

$\hat{d}[n-k]$ 是过去判决的比特值,$c_k$ 是DFE抽头系数。重要的是,DFE不会放大噪声。因为它使用判决结果($\pm 1$),所以能够精确地只抵消信号成分。PCIe 6.0中DFE抽头数可能达到10〜24个。

🧑‍🎓

啊,但是如果过去的判决错了会怎么样?错误好像会连锁下去…

🎓

问得好。这就是“错误传播(error propagation)”问题,是DFE的本质弱点。一旦发生判决错误,后续的ISI抵消也会出错,可能导致错误连续突发。实际的SerDes中,FEC(前向纠错)会覆盖DFE的错误传播。在通道仿真中,能否正确建模这种错误传播,会极大地影响BER预测的精度。

🎓

实际应用中也会使用Tx-FFE(前馈均衡器)。这是在发送侧对信号进行“预失真”的方式,以FIR滤波器实现:

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

利用前光标抽头($a_{-1}$等)和后光标抽头($a_1, a_2$等)预先抵消ISI。PCIe 5.0规定为3抽头,PCIe 6.0规定最大10抽头的Tx-FFE。

统计眼图

🧑‍🎓

经常听到“统计眼图”,它和普通的眼图有什么区别呢?

🎓

通常的眼图是实际流过比特序列并将波形重叠绘制而成的。这称为“逐比特(bit-by-bit)仿真”。虽然直观,但要验证 $10^{-15}$ 的BER,需要流过 $10^{17}$ 比特以上,即使是64GT/s也需要约40分钟以上。

统计眼图分析是一种从脉冲响应计算概率分布,直接求出BER等高线的方法。

🧑‍🎓

从脉冲响应怎么计算BER呢?

🎓

对阶跃响应 $s(t)$ 求微分得到脉冲响应 $p(t)$,提取采样时刻的脉冲响应值。得到主光标 $p_0$ 及其前后的值 $p_{-k}$(前光标ISI)、$p_k$(后光标ISI)。

🎓

每个ISI项由随机比特($\pm 1$)加权,所以所有ISI的总和是一个离散概率分布。对于NRZ,若有N个ISI项,则存在 $2^N$ 种组合。将此概率分布与噪声的高斯分布进行卷积,即可直接得到各电压、时刻的BER:

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

$P_i$ 是ISI组合 $i$ 的出现概率,$V_i(t)$ 是该组合下的接收电压,$\sigma_n$ 是噪声的标准偏差。Q函数是正态分布的尾部概率。这个计算几秒钟就能完成,因此可以立即评估 $10^{-15}$ 级别的超低BER。

🧑‍🎓

逐比特仿真需要40分钟,而统计眼图只需几秒,差距好大!那是不是只用统计眼图就够了?

🎓

统计眼图对于线性通道+线性均衡器的范围非常精确。但是,对于DFE的错误传播,以及PAM4中限幅器阈值的非线性效应,则是近似处理。实际工作中,通常用统计眼图进行大量的设计空间探索,最后对最终候选方案用逐比特仿真进行精密验证。

COM(通道工作裕度)

🧑‍🎓

COM(Channel Operating Margin)是什么?经常听到“COM大于3dB就算合格”之类的…

🎓

COM是IEEE 802.3定义的通道质量统一指标。它是用噪声、抖动、串扰归一化均衡后眼图开度的值,以dB为单位表示:

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

$A_{\text{signal}}$ 是DFE+CTLE均衡后眼图开度的一半,$A_{\text{noise}}$ 是所有噪声、抖动、残留ISI、串扰的有效值。COM > 3dB是一般的合格标准,这意味着以足够的裕度满足目标BER(如 $10^{-15}$)。

🧑‍🎓

COM的计算,具体需要输入哪些参数呢?

🎓

COM计算的输入参数相当多。仅主要参数就有这些:

类别参数典型值(100GBASE-KR4)
通道直通S参数(.s4p)频率范围: DC〜奈奎斯特×2
串扰FEXT/NEXT S参数所有干扰通道
Tx-FFE抽头数、抽头约束3抽头,$c_{-1}+c_0+c_1 = 1$
CTLEDC增益,峰值频率0〜12 dB提升
DFE抽头数、抽头约束5〜14抽头
噪声$\sigma_{\text{Tx}}, \sigma_{\text{Rx}}$规格书规定(mV rms)
抖动DJ, RJDJ: 0.01UI, RJ: 0.01UI rms
🧑‍🎓

参数数量真多啊…手动计算这个绝对不可能。

🎓

所以自动化才重要。IEEE 802.3委员会公开了官方的MATLAB脚本(COM计算代码),这已成为事实上的行业标准。各厂商工具也实现了这个算法。关键在于,COM计算会自动优化Tx-FFE和CTLE的参数以寻找最佳的COM值

COM计算的内部步骤(详细)
  1. 从通道S参数计算脉冲响应(IFFT)
  2. 枚举Tx-FFE抽头组合
  3. 对每个Tx-FFE设置,扫描CTLE提升值
  4. 计算CTLE后的脉冲响应,优化DFE抽头系数
  5. 概率性地合计残留ISI、串扰、噪声、抖动的影响
  6. 计算眼图开度,算出COM值
  7. 报告所有组合中的最大COM

数值解法与实现

脉冲响应的计算

関連シミュレーター

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

シミュレーター一覧

関連する分野

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