FPGA開発ボード / SoM / カスタム設計 / IP統合
info@profpga.net +86 18621324348
ホーム/ブログ/ソリューション分析/FPGA クロックツリーとジッタ予算:高速リンクがなぜ不安定になるのか
ソリューション分析

FPGA クロックツリーとジッタ予算:高速リンクがなぜ不安定になるのか

2026-10-16 推定読了時間:11分 Duyuan Electronics 研究開発チーム

PCIe が時々落ちる、JESD204B がロックしない、映像リンクがチラつく——原因は RTL コードではなくクロック設計にあることが多い。FPGA の高速トランシーバはリファレンスクロックジッタに極めて敏感で、発振器 → クロックバッファ → FPGA グローバルネットワークと続くクロックツリーの各段がジッタを加算する。本稿ではジッタ予算の計算方法、クロックツリーの設計、よくある陥りどころを解説する。

1. なぜ高速リンクはジッタに弱いのか

FPGA の高速トランシーバ(GTP/GTH/GTY)は埋め込みクロックリカバリ(CDR)を使うが、リカバードクロックの品質はリファレンスクロックに依存する。リファレンスクロックのジッタ過多は以下を招く:

  • PCIe BER の劣化:リファレンスクロック RMS ジッタが 1 ps を超えると、Gen3 の BER が 1e-12 から 1e-8 へ悪化しうる。
  • JESD204B の同期失敗:SYSREF ジッタ過多で LMFC が整合できず、リンクがロックしない。
  • 映像リンクのチラつき:ピクセルクロックのジッタがサンプリング点をずらし、揺れや横筋を生む。
  • DDR タイミング余裕の損失:クロックジッタがセットアップ/ホールド余裕を食い、高温でメモリエラーが出る。

核心となる公式:ジッタは加算的——クロックツリーの各段がジッタを足す。総ジッタは単純な合計ではなく RSS(二乗和の平方根)になる。

2. ジッタ予算の計算方法

PCIe Gen3 x8 を例に:リファレンスクロック RMS ジッタは ≤ 1 ps(12 kHz ~ 20 MHz 積分)が必要。段階ごとの計算:

クロックツリー段階 ジッタ(RMS) 備考
水晶発振器(XO) 0.3 ps 低位相雑音 OCXO、100 MHz
クロックバッファ 0.5 ps Si5341 または 8T49N シリーズ
PCB トレース + ビア 0.2 ps マイクロストリップ 5 cm、連続インピーダンス
FPGA グローバルクロックネットワーク 0.3 ps MRCC → BUFG → SERDES
総ジッタ(RSS) √(0.3²+0.5²+0.2²+0.3²) ≈ 0.67 ps 1 ps 規格以下、33% の余裕

予算を超過したら

総ジッタが 1.2 ps と計算され、PCIe Gen3 の 1 ps 要件を超える場合、優先順位で最適化する:

1. より低ジッタの発振器へ交換:普通の TCXO 1 ps → OCXO なら 0.3 ps まで低下、即効果がある。

2. より良いクロックバッファ:冗長なバッファを外し、専用クロック IC を使う(Si5341、GPIO バッファではなく)。

3. PCB トレースを短く:発振器を FPGA の近くに置き、トレース ≤ 5 cm、ビアを避ける。

4. 電源デカップリングを適切に:クロック IC はデジタル回路と共有せず LDO で個別給電。

3. FPGA クロックツリーの構造

FPGA 内部のクロックツリーは 1 本道ではなく多段バッファリング:

段階 リソース 用途 加算ジッタ
1. 外部入力 クロックピン(MRCC/SRCC) 発振器 / 外部クロック入力 —
2. MMCM/PLL ミックスモードクロックマネージャ 逓倍、分周、位相調整 ≈ 0.1~0.3 ps
3. グローバルバッファ BUFG / BUFGCE FPGA ロジックアレイ全体を駆動 ≈ 0.1 ps
4. リージョナルクロック BUFH / BUFR ローカルクロックドメイン、低ジッタ ≈ 0.05 ps
5. SERDES クロック CPLL / QPLL 高速トランシーバのリファレンスクロック ≈ 0.2 ps

重要なルール

  • 高速トランシーバのクロックは専用ピンを使う:GTH/GTY のリファレンスクロックピンは固定、普通の IO は使えない。
  • MMCM/PLL を多段にカスケードしすぎない:PLL を 2 段重ねるとジッタが加算される、1 段が 2 段に勝る。
  • クロック跨ぎは FIFO で:ロジック内でクロックドメインを跨ぐな。メタスタビリティがランダムエラーを生む。
  • ADC クロックはデータクロックと同源に:JESD204B は Device Clock と SYSREF の同源・同期が必要。

4. よくある 3 つのクロック陥りどころ

陥りどころ 1:発振器がスイッチング電源に近すぎる

DC-DC のリップル(mV 級)が発振器出力を変調し、ジッタを 2~3 倍悪化させる。対策:発振器を DC-DC から離し、LDO で個別給電、フェライトビーズを追加。

陥りどころ 2:JESD204B の SYSREF が整合していない

SYSREF は LMFC(ローカルマルチフレームクロック)を整合させる。SYSREF と Device Clock が同源でない、またはトレーススキューが大きすぎると、リンクがランダムにロックを失う。対策:SYSREF と Device Clock を同一クロック IC から出力し、トレース長を整合させる。

陥りどころ 3:SERDES リファレンスクロックに普通の IO を使う

FPGA の高速トランシーバには専用リファレンスクロックピン(例:MGTREFCLK0P/N)がある。発振器を普通の IO に繋いでもロジック用クロックは逓倍できるが、SERDES の CDR はロックしない——ジッタにグローバルクロックネットワークのノイズが乗るためだ。

FPGA 高速リンクの信頼性は、半分がロジック設計、半分がクロック設計で決まる。ジッタ予算を正しく計算し、クロックツリーをきちんと組み、電源デカップリングをしっかりすれば、多くの「時々落ちるリンク」は消える。クロックは魔法ではなく、計算できるエンジニアリング問題だ。

Clock TreeFPGAJESD204BJitterPCIe
Duyuan Electronics · オリジナル技術記事
‹ 前の記事

広帯域 SDR フロントエンドの構築:ADC から FPGA までの信号链

記事で問題が解決しませんでしたか?

具体的なご要望をお知らせいただければ、個別の技術サポートを提供します。

お問い合わせ · +86 18621324348