アイダイアグラム解析
理論と物理
概要 — アイダイアグラムとは
先生、アイダイアグラムの「目が開いている」って具体的にどういう意味ですか? 先輩が「アイが閉じてるから基板やり直し」って言ってて、何のことか全然分からなくて…
いい質問だ。まず原理から説明しよう。デジタル通信では、送信側が「0」と「1」のビット列を電圧波形として送り出す。受信側ではこの波形をサンプリングして「0か1か」を判定するわけだ。
アイダイアグラムは、全てのビットパターンの波形を1UI(Unit Interval = 1ビット幅の時間)ごとに切り出して重ね描きしたもの。すると中央に「目」のような開口部ができる。この開口部が大きいほど、受信側がビットを正しく判定しやすい。
なるほど、重ね描きですか! でもなぜ「目」の形になるんですか? ただの矩形波を重ねたら長方形にならないんですか?
理想的な矩形波なら確かに長方形になる。でも現実の伝送路には帯域制限がある。高周波成分が減衰するから、波形の立ち上がり・立ち下がりが鈍る。さらに前後のビットパターンによって波形が微妙に変わる——これがISI(符号間干渉)だ。
例えば「0→1→1→1」のパターンと「0→1→0→1」のパターンでは、2番目の「1」の到達電圧が異なる。前者は十分チャージされるけど、後者はすぐ放電に転じるから電圧が上がりきらない。こうした全パターンを重ねると、軌跡が広がって「目」の形になるんだ。
あぁ、それで目が「閉じる」って言うんですね! ISIがひどくなると軌跡が重なって目が潰れちゃうと。
その通り。目が開いているとは、ノイズやタイミングのずれがあってもビットを正しく判定できるマージンがあるということ。PCIe Gen5(32 GT/s)だと、等化後のアイ開口高さは最低15 mV以上、ジッタは3.5 ps以下が要求される。Gen6(64 GT/s、PAM4)ではさらに厳しくなる。
アイ開口の定量指標
「目が開いている」の度合いを数値で測れるんですか?
もちろん。アイダイアグラムには2つの基本指標がある。
アイ開口高さ(Eye Height)は、サンプリングタイミングにおける「1」レベルの最低電圧と「0」レベルの最高電圧の差:
$V_{\text{high,min}}$ は全ビットパターンにおける「1」レベルの最小電圧、$V_{\text{low,max}}$ は「0」レベルの最大電圧だ。これが大きいほどノイズマージンが大きい。受信バッファの閾値電圧にどれだけ余裕があるかを示す。
アイ開口幅(Eye Width)は、左右のクロッシングポイント間の時間差:
$T_{\text{UI}}$ は1UIの時間幅、$\text{Jitter}_{\text{pp}}$ はクロッシングポイントのピーク間ジッタだ。これが大きいほどタイミングマージンが大きい。
例えば PCIe Gen5(32 GT/s)では $T_{\text{UI}} = 1/32 \times 10^9 \approx 31.25\,\text{ps}$ だから、3.5 ps のジッタがあると Eye Width は約 27.75 ps。受信CDRのロックレンジに対してどの程度余裕があるかが分かるわけだ。
高さがノイズ、幅がタイミングに対応するんですね。片方だけ良くてもダメということですか?
その通り。実務ではアイマスクという六角形の禁止領域をアイの中央に定義して、どの波形軌跡もマスクに触れないことを確認する。高さと幅の両方を同時に満たさないと規格不合格になる。USB4やPCIeの規格書にマスクの座標が明記されている。
ジッタ分解(RJ/DJ)
ジッタって単純に波形の揺れだと思ってたんですけど、RJとDJに分けるって何のためですか?
ジッタ分解はBER(ビット誤り率)推定に不可欠だからだ。ジッタには大きく2種類ある:
- DJ(Deterministic Jitter、確定的ジッタ):原因を特定できる有界なジッタ。ISI、クロストーク、デューティサイクル歪み(DCD)、周期性ジッタ(PJ)などが含まれる。ピーク間値が上界を持つ。
- RJ(Random Jitter、ランダムジッタ):熱雑音やショットノイズに起因するガウス分布のジッタ。理論的には上界がない。
トータルジッタ(TJ)は、特定のBER目標に対して次式で推定する:
ここで $Q(\text{BER})$ は正規分布の逆累積分布関数(Q関数の逆)。BER = $10^{-12}$ なら $Q \approx 7.03$、BER = $10^{-15}$ なら $Q \approx 7.94$ だ。
具体例を挙げよう。あるチャネルで $\text{DJ}_{\text{pp}} = 5\,\text{ps}$、$\sigma_{\text{RJ}} = 0.3\,\text{ps}$ だとする。BER = $10^{-12}$ でのTJは:
RJが小さく見えても、Q関数の倍率でかなり効いてくるんですね…! DJ 5 ps に対して RJ 0.3 ps で追加4.2 psですか。
そう。だからRJの低減は高速シリアル設計で最も重要な課題の一つだ。PLLのジッタ性能、電源ノイズの抑制、基板のグランドインテグリティが直接RJに効く。DJは等化器で補償できる部分が多いが、RJは補償できない。
BERバスタブ曲線
BERバスタブ曲線ってよく出てきますけど、アイダイアグラムとどう関係するんですか?
バスタブ曲線は、サンプリング位相(横軸)に対するBER(縦軸)をプロットしたものだ。名前の通り浴槽の断面形状になる。左右の壁が急峻に立ち上がり、中央部にBERが最小の「底」がある。
数学的には、サンプリング位相 $\phi$ におけるBERは、RJのガウス分布とDJの分布の畳み込みから求まる。片側のBER(例えば左壁)は:
右壁も同様に求めて、合計BERは:
バスタブの「底の幅」が、そのBER目標に対するタイミングマージンだ。例えば BER = $10^{-12}$ で底の幅が 0.3 UI あれば、CDRのサンプリング位相に 0.3 UI の余裕がある。PCI-SIGの規格では、この底の幅を「Minimum Eye Width at BER = $10^{-12}$」として規定している。
バスタブの底が深くて広いほどいいわけですね。普通のアイダイアグラムだと見えにくいBERの情報が、バスタブ曲線なら一目でわかると。
そう。アイダイアグラムは波形の重ね合わせだから「ワーストケース的」に見えるが、統計的にはBER $10^{-5}$ 程度の情報しか含まない。$10^{-12}$ や $10^{-15}$ のBERを評価するには、ジッタ分解とバスタブ曲線が不可欠なんだ。
チャネルの伝達関数モデル
アイが開くか閉じるかは結局チャネルの特性で決まるんですよね? チャネルはどうモデル化するんですか?
チャネル(伝送路)はSパラメータで特徴づける。2ポートの場合、挿入損失 $S_{21}(f)$ と反射損失 $S_{11}(f)$ が基本だ。差動ペアなら $S_{dd21}$(差動挿入損失)を使う。
時間領域のパルス応答 $h(t)$ は $S_{21}(f)$ の逆フーリエ変換で得られる:
受信波形 $y(t)$ は、送信波形 $x(t)$ とチャネルインパルス応答の畳み込みになる:
実務では、Sパラメータを測定器(VNA)で実測するか、3D電磁界ソルバー(HFSS、CST)でシミュレーションして取得する。PCB配線、コネクタ、ビア、パッケージのSパラメータをカスケード接続して、エンドツーエンドのチャネル特性を構築するのが一般的だ。
つまりチャネルの周波数特性が悪い(高周波が減衰する)と、パルス応答の裾が広がってISIが増え、アイが閉じるということですね。
完璧な理解だ。例えばFR-4基板で10インチの差動ペアを引くと、ナイキスト周波数(16 GHz @PCIe Gen5)での挿入損失が -20 dB を超えることも珍しくない。この損失をどう補償するかが、等化器設計の核心だ。
「目が閉じる」を設計段階で見る — アイダイアグラムの誕生
アイダイアグラムという名前は、重ね合わせたビット波形が人の目(eye)の形に見えることから来ている。この表示方法が広く使われるようになったのは、オシロスコープのトリガ同期技術が発達した1960〜70年代の電話回線のデジタル化の時代。設計段階でシミュレーションによるアイ開口を予測できるようになったのは、90年代のSPICE-based IBISモデルの普及から。「基板を作って試験機にかけるまで品質が分からない」から「シミュレーションで事前に閉じ具合を予測する」への転換は、高速シリアル設計の歴史でも最大の転換点だった。
各項の物理的意味
- Eye Height $V_{\text{high,min}} - V_{\text{low,max}}$:受信バッファが「0」と「1」を判別できる最小電圧差。ノイズ(電源変動、クロストーク、基板の誘電損失)があってもビット判定が正しく行える余裕を示す。自動車で言えば、対向車線との間のセンターラインの幅に相当する——狭すぎると正面衝突リスクが高まる。
- Eye Width $T_{\text{UI}} - \text{Jitter}_{\text{pp}}$:CDR(Clock Data Recovery)がデータをサンプリングするタイミングの余裕。ジッタが大きいと最適なサンプリング位相がビットごとにずれ、判定ミス(BER増加)を引き起こす。電車のドア開閉タイミングに例えると、ホームに停車している時間が短いほど乗降が難しくなるイメージだ。
- Q関数 $Q(\text{BER})$:正規分布の裾確率をBER目標から求めるスケーリング係数。BERが小さい(信頼性要求が厳しい)ほどQの値が大きくなり、RJの影響が増幅される。
仮定条件と適用限界
- 線形チャネル仮定:Sパラメータモデルは線形時不変系を前提とする。送信ドライバの非線形性(スルーレート制限、電源ドロップ)は別途モデル化が必要。
- RJのガウス性:ジッタ分解はRJがガウス分布に従う仮定に基づく。PLLのバンギングジッタ(非ガウス)が支配的な場合は精度が低下する。
- 定常状態:BERバスタブ曲線はCDRロック後の定常状態を仮定。起動時やリンクトレーニング中は適用できない。
- NRZ信号:基本式はNRZ(2値)向け。PAM4では3つのアイ開口それぞれに指標を適用する必要がある。
次元解析と単位系
| 物理量 | 単位 | 典型値(PCIe Gen5) |
|---|---|---|
| UI(Unit Interval) | ps | 31.25 ps(32 GT/s) |
| Eye Height | mV | ≥ 15 mV(等化後) |
| ジッタ(TJ @ BER=$10^{-12}$) | ps | ≤ 3.5 ps |
| RJ(rms) | ps | 0.1 〜 0.5 ps |
| DJ(pp) | ps | 1 〜 8 ps |
| 挿入損失 $S_{dd21}$ | dB | -20 〜 -35 dB @ナイキスト |
数値解法と実装
統計的アイダイアグラム解析
実際の解析では全ビットパターンを本当に時間波形としてシミュレーションするんですか? $2^{20}$ ビットとか計算量が膨大になりそうですが…
いい着眼点だ。時間領域シミュレーション(Time-domain bit-by-bit simulation)は直感的だが、BER = $10^{-12}$ を直接検証するには $10^{13}$ ビット以上必要で、現実的でない。
そこで使われるのが統計的アイダイアグラム解析(Statistical Eye Analysis)だ。これはチャネルのパルス応答からISIの確率分布を解析的に求め、RJの畳み込みと組み合わせてBERマップを生成する。計算量は $O(2^N)$($N$ はISIに影響するカーソル数)だが、実際には有効カーソル数を10〜20程度に打ち切れるから、数秒で完了する。
ISI畳み込み計算
ISIの確率分布を「解析的に」求めるって、具体的にはどうやるんですか?
チャネルのパルス応答(SBR: Single Bit Response)をサンプリングすると、各UIでのカーソル値 $c_k$ が得られる。$c_0$ がメインカーソル、$c_{-1}, c_{-2}, \ldots$ がプリカーソル、$c_1, c_2, \ldots$ がポストカーソルだ。
受信信号のサンプル値 $y_n$ は:
$a_{n-k} \in \{-1, +1\}$ はビット値。メインカーソル $c_0 \cdot a_n$ を除いた残りがISIだ。ISIの各項は $\pm c_k$ の2値を取り、それぞれ等確率 1/2。全カーソルが独立だから、ISIの確率分布は各カーソルの2点分布の畳み込みになる。
カーソル数が $N$ 個なら $2^N$ 通りの組み合わせから離散確率分布が得られる。これにRJのガウス分布を畳み込めば、サンプル値の連続確率密度関数が求まり、任意のBER目標でのアイ開口を計算できるわけだ。
なるほど…畳み込みの繰り返しなんですね。FFTで高速化できそうですか?
鋭い。実際、商用ツール(Keysight ADS、Ansys HFSS Transientなど)では特性関数(確率分布のフーリエ変換)を利用した高速アルゴリズムを使っている。各カーソルの特性関数 $\Phi_k(\omega) = \cos(c_k \omega)$ を全て乗算し、逆FFTで確率分布に戻す。計算量は $O(N \cdot M \log M)$($M$ は離散化点数)で、$2^N$ の全列挙より桁違いに速い。
等化器(FFE/CTLE/DFE)の数理
チャネルシミュレーションで「等化器の係数を最適化してアイを開ける」と聞きますが、等化器ってどんな種類があるんですか?
高速シリアルリンクでは主に3段階の等化を使う:
1. FFE(Feed-Forward Equalizer):送信側に実装。FIRフィルタ構造で、プリカーソルとポストカーソルのISIを予め打ち消す。
$w_k$ がタップ係数で、$w_0 = 1$(メインカーソル)に対して $w_{-1}$(プリカーソル)と $w_1$(ポストカーソル)を負の値に設定することで、ISIを相殺する。PCIe Gen5では3タップ($w_{-1}, w_0, w_1$)が標準。制約として $|w_{-1}| + |w_0| + |w_1| = 1$(電圧正規化)がある。
2. CTLE(Continuous Time Linear Equalizer):受信側のアナログフィルタ。高周波ゲインを持ち上げて挿入損失を補償する。伝達関数は:
$\omega_z$ がゼロ周波数、$\omega_p$ がポール周波数。$\omega_z < \omega_p$ のとき、$\omega_z$ 以上の周波数帯でゲインが持ち上がる。DCゲインは1(0 dB)、ナイキスト周波数でのゲインは $\omega_p/\omega_z$ 倍になる。実測のチャネル損失に合わせてピーキング量を調整する。
3. DFE(Decision Feedback Equalizer):受信側のデジタルフィードバックフィルタ。過去の判定結果を用いてポストカーソルISIを除去する:
$d_k$ がDFEタップ係数、$\hat{a}_{n-k}$ が過去の判定値だ。DFEの利点はノイズを増幅しないこと(CTLEは高周波ノイズも増幅してしまう)。欠点はエラー伝搬——1ビットの判定ミスが次のビットの等化を狂わせる。PCIe Gen5では1タップDFEが標準的。
FFEが送信側で「先回りして」ISIを打ち消し、CTLEが受信側で周波数特性を補正して、DFEが残りのISIをデジタル的に除去する…三段構えなんですね。
その通り。実際のチャネルシミュレーションでは、FFEのタップ係数、CTLEのピーキング量、DFEの係数をスイープして、アイ開口が最大になる組み合わせを探索する。これが「等化器最適化」だ。Keysight ADSのChannel Simulationや、Ansys Circuit(旧Nexxim)にはこの自動最適化機能がある。
収束性と計算精度
統計的アイ解析で気をつけるべきパラメータはありますか?
主に3つある:
- 有効カーソル数:SBRの裾をどこで打ち切るか。通常、メインカーソルの1%以下に減衰した点で打ち切る。不足するとISIを過小評価する。
- 電圧・時間の離散化ステップ:確率分布の離散化が粗いとBERマップにアーティファクトが出る。電圧方向は0.1 mV以下、時間方向は0.1 ps以下が目安。
- Sパラメータの周波数レンジ:ナイキスト周波数の5倍以上までカバーしないと、IFFT時にパルス応答の精度が落ちる。因果性(Causality)チェックも必須。
統計的アイ解析のたとえ
統計的アイ解析は「全部の試合を実際にやらずに勝率を計算する」ようなもの。チャネル(コース特性)とドライバ(選手の能力)のデータから、全パターンの結果を確率的に導出する。$10^{12}$試合を実際にシミュレーションする代わりに、数学的に勝率(BER)を求める。だから数秒で結果が出る。
実践ガイド
解析フロー
アイダイアグラムのシミュレーションって、最初の一歩から教えてください! 何から始めればいいですか?
実務の標準フローはこうだ:
Step 1. チャネルモデルの構築
- PCBレイアウトから差動ペアの配線長・層構成を確認
- 各セグメント(配線、ビア、コネクタ、パッケージ)のSパラメータを取得
- 全セグメントをカスケード接続してエンドツーエンドのSパラメータを生成
Step 2. TX/RXモデルの設定
- IBISまたはIBIS-AMIモデルを入手(チップベンダーから提供)
- 送信ドライバのインピーダンス、スルーレート、FFE設定を定義
- 受信バッファのCTLE設定、DFEタップ数、CDRバンド幅を定義
Step 3. シミュレーション実行
- 統計的アイ解析(推奨)またはトランジェント解析を実行
- 等化器係数のスイープ・最適化を実施
- BERバスタブ曲線を生成
Step 4. 合否判定
- 規格のアイマスクに対する合否を確認
- Eye Height / Eye Width が規格値以上であることを検証
- BER目標(例:$10^{-12}$)でのタイミング・電圧マージンを記録
Step 1のSパラメータを取得する部分が一番大変そうですね。VNAで実測するか、3Dソルバーで計算するか…
その通り。設計段階ではソルバー(HFSS、CST、SIwave)でシミュレーション、試作後にVNA実測で検証する。実測とシミュレーションの差が3 dB以内に収まれば、モデルの妥当性は確認されたと判断できる。差が大きい場合は、誘電体の $D_k$/$D_f$ 値や銅箔粗さモデルの見直しが必要だ。
IBISモデルの選択と設定
IBISモデルって複数のコーナー(Typical, Fast, Slow)がありますよね。どれを使えばいいんですか?
規格コンプライアンス検証ではワーストケースのSlow-Slow(SS)コーナーを使うのが基本だ。SSコーナーは高温・低電圧・遅いプロセスを組み合わせたもので、ドライバの出力振幅が最小になる。
ただし量産設計ではSSだけでは不十分。統計的なモンテカルロ解析で、プロセスばらつき・温度変動・電圧変動を同時に振って、BERの分布を評価するのがベストプラクティスだ。
| コーナー | プロセス | 電圧 | 温度 | 用途 |
|---|---|---|---|---|
| TT | Typical | Nominal | 25 ℃ | 初期設計確認 |
| SS | Slow | -5% | 125 ℃ | ワーストケース検証(推奨) |
| FF | Fast | +5% | -40 ℃ | 過大振幅・EMI評価 |
| SF/FS | 混合 | 混合 | 混合 | クロストーク評価 |
規格コンプライアンス検証
PCIeやUSBの規格書に書いてあるアイマスクの仕様、具体的な数字を教えてください!
| 規格 | データレート | UI | Eye Height(等化後) | TJ(BER=$10^{-12}$) |
|---|---|---|---|---|
| PCIe Gen3 | 8 GT/s | 125 ps | ≥ 70 mV | ≤ 26.25 ps |
| PCIe Gen4 | 16 GT/s | 62.5 ps | ≥ 30 mV | ≤ 9.38 ps |
| PCIe Gen5 | 32 GT/s | 31.25 ps | ≥ 15 mV | ≤ 3.5 ps |
| PCIe Gen6 | 64 GT/s (PAM4) | 15.625 ps | ≥ 8 mV | ≤ 1.5 ps |
| USB4 Gen3 | 20 Gbps | 50 ps | ≥ 25 mV | ≤ 6.5 ps |
世代が上がるごとにUIが半分になって、要求もどんどん厳しくなってる…Gen6の8 mVなんて、ほとんどノイズに埋もれそうですね。
だからGen6ではNRZからPAM4に移行した。PAM4は1シンボルで2ビット運ぶから、ボーレートはGen5と同じ32 GBaud。でもアイが3段(3つの目)になるから、各アイの開口高さは約1/3になる。FEC(前方誤り訂正)の導入が必須になったのもこのためだ。
実務上の注意点
教科書には載ってない「現場の知恵」みたいなものってありますか?
いくつかの典型的な落とし穴を挙げよう:
- Sパラメータの因果性違反:実測データに因果性違反(Causality violation)があると、IFFT後のパルス応答に非物理的な先行波が出る。必ずPassivity/Causality enforcementを適用すること。
- DC点の外挿ミス:VNAの測定帯域が50 MHz始まりだと、DC付近のデータが欠落する。線形外挿やモデルフィッティングで適切に補完しないと、SBRの定常値がずれる。
- 銅箔粗さの影響:FR-4の銅箔粗さ(RTF: Reverse Treated Foil vs. STD)で挿入損失が2〜5 dB変わることがある。Huray モデルや Hammerstad-Jensen モデルで粗さを考慮すること。
- クロストークの過小評価:差動ペア間のFEXT(遠端クロストーク)はアグレッサーが多いほど蓄積する。ワーストケースでは全アグレッサーを同時に考慮したシミュレーションが必要。
Sパラメータの品質がそんなに重要なんですね。ゴミを入れればゴミが出る(GIGO)の典型ですか。
まさにその通り。「アイが閉じている」と思って基板を再設計したら、実はSパラメータの品質が悪かっただけだった——という話は珍しくない。Keysight ADS の S-parameter Quality Check 機能や、Broadcom の SNP Validator を使って品質を事前確認するのが鉄則だ。
「アイが開いていたのに量産でBERが悪化した」謎
試作段階ではアイダイアグラムが規格を余裕でクリアしていたのに、量産ロットになったら突然BER(ビット誤り率)が悪化した——という話は業界でよく聞く。原因のひとつは基板製造の工程ばらつき。誘電体の厚みや銅箔の表面粗さがロット間で変動すると、挿入損失と反射特性が設計値からずれる。試作で良好な結果が出ても、量産での工程ばらつきを考慮したワーストケースSS(Slow-Slow)コーナー解析を怠ると痛い目に遭う。アイダイアグラムのシミュレーションは「典型値」だけでなく「ばらつきの端点」まで評価するのが実務の鉄則だ。
初心者が陥りやすい落とし穴
「等化器をONにしたら良くなりました!」——と喜ぶ前に、その等化器の設定がチップの実力に合っているか確認しよう。ツールのデフォルトは「理想的なDFE 10タップ」だったりするが、実チップは1〜4タップしかない。理想等化後のアイと現実の等化後のアイは天と地ほど違う。必ず実チップのIBIS-AMIモデルかデータシートに基づいた設定で解析すること。
ソフトウェア比較
主要ツール一覧
アイダイアグラム解析に使える商用ツールって、どんなものがあるんですか?
| ツール名 | 開発元 | 特徴 |
|---|---|---|
| Keysight ADS(Advanced Design System) | Keysight Technologies | Channel Simulation機能が業界標準。統計的アイ、IBIS-AMI対応、COM(Channel Operating Margin)計算。 |
| Ansys HFSS + Circuit | Ansys Inc. | 3D電磁界解析+回路シミュレーションの統合。Sパラメータ抽出からアイ解析まで一気通貫。 |
| Cadence Sigrity | Cadence Design Systems | PCB/パッケージ専用。SystemSI機能でチャネル解析。EDAツール(Allegro)との連携が強い。 |
| Synopsys HSPICE | Synopsys | トランジスタレベルの精度。IBIS-AMI対応。大規模トランジェント解析に強い。 |
| Siemens HyperLynx | Siemens EDA | PCBレイアウトから直接アイ解析。使いやすいGUI。中規模プロジェクト向け。 |
機能比較マトリクス
それぞれの得意分野は何ですか? 予算も限られているので選び方を教えてください。
| 機能 | ADS | Ansys | Sigrity | HSPICE | HyperLynx |
|---|---|---|---|---|---|
| 統計的アイ | ◎ | ○ | ○ | △ | ○ |
| IBIS-AMI対応 | ◎ | ○ | ○ | ◎ | ○ |
| COM計算 | ◎ | ○ | ○ | △ | ○ |
| 3D EM連携 | △ | ◎ | ○ | △ | △ |
| PCBレイアウト連携 | △ | ○ | ◎ | △ | ◎ |
| PAM4対応 | ◎ | ○ | ○ | ○ | △ |
| 価格帯 | 高 | 高 | 中〜高 | 高 | 中 |
◎:業界最高水準 ○:十分対応 △:限定的
選定の指針
結局どれを選べばいいですか?
等化器設定のミスで「偽のアイ」を見る問題
商用のアイダイアグラム解析ツールで見落としやすいのが「等化器のパラメータ設定」。実際のチップが持つFFEのタップ数や係数の範囲をツールに正確に入力しないと、「理想的な等化後アイ」が表示されてしまい現実との乖離が大きくなる。あるプロジェクトでは、ツールのデフォルトDFEが10タップだったのに実チップは1タップで、試作したらBERが2桁悪かった。ツールの「デフォルト設定」を安易に信じず、実チップのデータシートと突き合わせた設定が必須だ。
先端技術
PAM4アイダイアグラム
PAM4になるとアイダイアグラムはどう変わるんですか?
PAM4(Pulse Amplitude Modulation 4-level)は4つの電圧レベル(-3, -1, +1, +3の正規化値)を使う。1シンボルで2ビットを運ぶから、ボーレートはNRZの半分で同じビットレートを達成できる。
アイダイアグラムは3つの目(上段・中段・下段)が重なった形になる。各アイの開口高さはNRZ比で約1/3になるから、ノイズマージンが大幅に小さくなる。
PAM4の品質指標としてTDECQ(Transmitter and Dispersion Eye Closure Quaternary)が使われる。これは理想的な等化器を仮定した場合の、中段アイのBERから等価的なアイクロージャペナルティを算出したものだ。800GbE(IEEE 802.3ck)では TDECQ ≤ 3.4 dB が要求される。
FEC(前方誤り訂正)が必須になるのもPAM4からですか?
PAM4ではFEC前のBERが $10^{-4}$ 〜 $10^{-6}$ 程度でも、FEC後に $10^{-15}$ を達成できるRS-FEC(Reed-Solomon FEC)が標準。PCIe Gen6やEthernet 400G/800Gでは FEC が前提のシステム設計になっている。アイダイアグラム解析でもFEC前BER(pre-FEC BER)で評価するのが一般的になってきた。
機械学習による等化器最適化
等化器の係数最適化にAIを使う研究ってありますか?
あるよ。従来のグリッドサーチ(全組み合わせの総当たり)は、FFE 3タップ × CTLE 16設定 × DFE 4タップだと数千〜数万回のシミュレーションが必要。最近は以下のアプローチが研究されている:
- ベイズ最適化:少ないサンプル数で最適解を探索。ガウス過程回帰でサロゲートモデルを構築し、獲得関数(Expected Improvement)で次の探索点を決定。50〜100回の評価で最適解に到達できる。
- 強化学習:等化器のパラメータ調整をマルコフ決定過程としてモデル化。Deep Q-Networkで適応的に等化器を制御する研究がIEEE JSSC等で発表されている。
- ニューラルネットワーク等化器:DFEの代わりに小規模NNを受信側に実装し、非線形ISIも含めて補償する。チップ実装は消費電力の課題があるが、112 Gbps以上で研究が進んでいる。
112 Gbps以上の課題
今後さらに高速化すると、アイダイアグラム解析にはどんな課題がありますか?
112 Gbps(PAM4、56 GBaud)以上では、従来のSパラメータベースの線形モデルだけでは不十分になってきている。主な課題は:
- ドライバの非線形性:トランジスタの飽和特性、電源ドロップによるレベル非対称性が無視できない。IBIS-AMIモデルでの精密な非線形モデリングが必要。
- パッケージとPCBの共振:ビアのスタブ共振、パッケージのキャビティ共振がナイキスト周波数に近づき、挿入損失に急峻なディップが生じる。
- 電源ノイズの影響:PDN(電源分配ネットワーク)のインピーダンスがSSN(同時スイッチングノイズ)を通じてジッタに寄与。電源とSIの連成解析が必要。
- コプレーナ導波路(CPW)モード:差動ペアのモード変換(差動→コモン)が高周波でクロストークの支配要因になる。
高速化するほど、あらゆる物理現象を考慮しなきゃいけなくなるんですね…。SI(信号品質)とPI(電源品質)の連成が特に大変そう。
その通り。だから最近は「SI-PI-EMI Co-Simulation」と呼ばれる統合解析が主流になりつつある。Ansys SIwaveやCadence Sigrity PowerSIで電源のインピーダンスプロファイルを求め、それをChannel Simulationにフィードバックする。従来のSI単独の「アイが開いたからOK」という判定は、112 Gbps以上では通用しなくなってきている。
トラブルシューティング
アイが閉じる原因と対策
シミュレーションでアイが完全に閉じてしまいました…。どこから調べればいいですか?
| 症状 | 考えられる原因 | 対策 |
|---|---|---|
| Eye Height ≈ 0 | 挿入損失が大きすぎる(長配線、高損失基板材) | 基板材をMegtron6等の低損失材に変更。配線長の短縮。CTLEピーキング量の増加。 |
| Eye Width ≈ 0 | ISIが過大(反射、スタブ共振) | ビアのバックドリル加工。インピーダンス不整合箇所の特定と修正。FFEプリカーソルの最適化。 |
| アイの上下が非対称 | ドライバのデューティサイクル歪み、電源ドロップ | DCD補正回路の確認。電源デカップリングの強化。 |
| アイに横線(水平方向のつぶれ) | クロストーク(FEXT/NEXT) | 差動ペア間の間隔拡大。ガードトレースの追加。 |
| 等化後もアイが開かない | 等化器の設定ミス(タップ数不足、係数範囲超過) | 実チップの等化器仕様を確認。IBIS-AMIモデルの使用。 |
まずは挿入損失のプロット($S_{dd21}$)を確認して、どの周波数帯で損失が大きいかを見ればいいんですね。
その通り。加えて $S_{dd11}$(反射損失)も確認する。特定の周波数で $S_{dd11}$ が -10 dB より大きい(反射が大きい)場合、そこがインピーダンス不整合のポイントだ。TDR(Time Domain Reflectometry)に変換すると、物理的な位置が特定できる。
シミュレーションと実測の乖離
シミュレーションでは余裕で開いてたのに、実測したらアイが閉じてました…。何が間違ってるんでしょうか?
| 乖離の原因 | 確認方法 | 対策 |
|---|---|---|
| 基板材の誘電特性($D_k$/$D_f$)が想定と異なる | 実基板のTRL校正付き測定 | 基板メーカーから実測 $D_k$/$D_f$ を取得してモデル更新 |
| 銅箔粗さの影響を無視 | SEM画像で粗さプロファイル確認 | Hurayモデルのパラメータを実測粗さに合わせる |
| コネクタのSパラメータが不正確 | コネクタ単体でのVNA実測 | ベンダー提供モデルの検証、必要に応じ実測モデルに差替え |
| 電源ノイズの影響を未考慮 | オシロスコープで電源波形を測定 | PDNシミュレーション追加、デカップリング最適化 |
| IBISモデルの精度不足 | ドライバ出力波形の実測との比較 | ベンダーにモデル品質のフィードバック、SPICEモデルの検討 |
よくあるエラーと対策
ツール使用時にハマりがちなエラーってありますか?
| エラー / 症状 | 原因 | 対策 |
|---|---|---|
| 「Non-passive S-parameter」警告 | Sパラメータに受動性違反がある($|S_{21}|>1$ の周波数がある) | Passivity enforcementを適用。測定環境の校正やり直し。 |
| 「Causality violation detected」 | 因果性条件 $\text{Re}[S_{21}]$ と $\text{Im}[S_{21}]$ のKramers-Kronig関係が崩れている | Causality enforcementを適用。DC外挿の見直し。 |
| パルス応答に大きな先行波 | Sパラメータの遅延が正しく除去されていない | ポートの位相リファレンスプレーンを確認。De-embeddingの適用。 |
| 統計的アイとトランジェントアイで結果が大きく異なる | 等化器の適応アルゴリズムの違い、有効カーソル数の不足 | 有効カーソル数を増やす。トランジェントのビット数を $10^6$ 以上に増加。 |
| IBIS-AMIモデルのロードエラー | DLLのアーキテクチャ不一致(32bit/64bit)、モデルバージョン不整合 | ツールとモデルのbitアーキテクチャを合わせる。最新版のIBISモデルを入手。 |
Sパラメータの品質チェックが本当に大事なんですね。入力が悪ければ出力も悪い、という基本を忘れないようにします!
その意識が大事だ。特にSパラメータの品質3条件——受動性(Passivity)、因果性(Causality)、相反性(Reciprocity)——は必ずチェックすること。この3つが満たされていないSパラメータでのチャネルシミュレーションは、結果を信用できない。ツールの警告を無視しないことが、アイダイアグラム解析成功の第一歩だ。
「解析が合わない」と思ったら
- まずSパラメータの品質チェック——受動性・因果性・相反性の3条件を確認する。
- 等化器の設定を疑う——デフォルト設定が実チップと合っているか確認。理想等化と現実等化の差は非常に大きい。
- 最小再現ケースを作る——チャネルを1セグメントずつ追加して、どこでアイが閉じるか特定する。「引き算のデバッグ」が最も効率的。
- 挿入損失とTDRを見る——$S_{dd21}$ の周波数特性とTDRのインピーダンスプロファイルから、問題箇所を物理的に特定する。
なった
詳しく
報告