トピックハブ

高速I/O

FPGAのトランシーバーとメモリインターフェースの仕組み、PCIe、Ethernet、DDR、HBM、JESD204がそれらに要求すること、そしてボード上のリンクが立ち上がるかどうかを決めるシグナルインテグリティの基礎を解説します。

更新 2026年11月13日 · トランシーバー、SerDes、PCIe、Ethernet、DDR5、HBM、JESD204、シグナルインテグリティ

概要

現代のFPGAに出入りするデータの大半は、少数の非常に高速なピンを通ります。ギガビットトランシーバーは、PCIe、Ethernet、JESD204、独自リンクを1レーンあたり数十Gb/sで運びます。メモリインターフェースはDDR4、DDR5、LPDDRを1ピンあたり数Gb/sで駆動します。最大級のデバイスでは、高帯域メモリが同じパッケージ内にあります。このハブは、そうしたレートでデータを動かさなければならない設計を持つエンジニアと、銅配線を動作させなければならないボード設計者のためのものです。

ここでのFPGAの役割は独特です。ハードのトランシーバーとメモリPHYは数百のコンフィギュレーションビットを持つ固定シリコンで、プロトコル層はベンダーIPか自作の論理で、ボードは自分のものです。立ち上がらないリンクはこの3つのレベルのどこででも失敗し得て、難しいのはどこで失敗しているかを見つけることです。

重要な考え方

トランシーバーは何をするか

トランシーバーチャネルは、ファブリックからの並列ワードを差動ペア上にシリアル化し、遠端で並列ワードを復元します。送信側ではチャネルを補償するためにプリエンファシスを加えます。受信側ではイコライザ(CTLEとDFE)がチャネルの損失を打ち消し、クロック・データ・リカバリ回路(CDR)がデータ自体からビットクロックを抽出し、デシリアライザがストリームをファブリック向けに32、64、または80ビットに戻します。ラインコーディング(8b/10b、64b/66b、PCIeでは128b/130b)はCDRのために十分な遷移を保ち、DCバランスを抑えます。1レーンあたり約28 Gb/sを超えると、ベンダーはNRZからPAM4信号方式に切り替えます。これはシンボルあたり2ビットを運ぶ代わりに、アイがはるかに小さくなります。本稿執筆時点で、112 Gb/s PAM4がAMD Versal Premium、Altera Agilex 7、Achronix Speedster7tで出荷されており、224 Gb/sがロードマップに載っています。

ファブリックプロトコルIPPCIe, MAC,JESD204, Aurora自作論理AXI-Stream,64から1024ビット幅トランシーバー(ハード)PCS8b/10b, 64b/66bコンマアライメントエラスティックバッファギアボックスPMATX: serialiser, pre-emphasis, driverRX: CTLE, DFE, CDR, deserialiserクリーンな基準クロックからのPLLデバッグ用のアイスキャンとループバックTXペアRXペアrefclkは低ジッタ発振器から入力、多くは100 MHzから322 MHz
トランシーバーの1レーン。物理媒体接続層(PMA)がビットとクロックを扱い、物理符号化副層(PCS)がワードを扱い、プロトコルはファブリックに置かれます。

プロトコルとそのIP

PCIeはほとんどのミッドレンジ以上のデバイスにハードブロックとして搭載されており、Gen3の8 GT/s、Gen4の16 GT/s、Gen5の32 GT/sが一般的で、PAM4を使うGen6の64 GT/sが最新のデバイスに登場しています。ハードブロックはトランザクション層とデータリンク層を実装し、AXIまたはベンダー固有のストリーミングインターフェースを公開します。Ethernetは、ソフトの1G MACから、前方誤り訂正付きのハード10G、25G、100G、400G MACまであります。JESD204BとJESD204Cは、高速ADCとDACを決定論的なレイテンシのシリアルレーンで接続し、複数デバイスにまたがる慎重なクロック(SYSREF)分配が必要です。AuroraとAlteraのSerialLiteは、FPGA間リンク向けの軽量なポイントツーポイントプロトコルです。これらすべてのベンダーIPは当該ベンダーのデバイス上では無償で使え、そうでない場合はサードパーティのIPが存在します。

メモリインターフェース

外部DDRは、ハードまたはソフトのメモリPHYとコントローラを通ります。DDR4はほとんどのFPGAで3,200 MT/sまで、DDR5は最新のもので5,600 MT/s以上で動作し、LPDDR4とLPDDR5は電力に敏感なデバイスに登場します。コントローラは電源投入時のキャリブレーション、リフレッシュ、バンクスケジューリングを扱い、ピンよりはるかに幅広く低速なAXIまたはAvalonポートを提供します。HBMはメモリダイをFPGAダイの隣に同じパッケージ内で積層し、数千の接続と、本稿執筆時点で400 GB/sから800 GB/s超の帯域を、AMD Virtex UltraScale+ HBM、Versal HBM、Altera Agilex Mシリーズで実現しています。その帯域を必要とする設計は、多数の独立したチャネルを同時に使うように書かれなければなりません。

シグナルインテグリティ

10 Gb/sのリンクのユニットインターバルは100 psなので、配線損失、インピーダンス不連続、ビアスタブ、コネクタの反射のすべてが問題になります。ベンダーはI/OのIBISモデルとIBIS-AMIモデルを公開しており、ボード設計者は製作前にチャネルをシミュレーションできます。基準クロックには低ジッタが必要で、通常はファブリックの分周クロックではなく専用の発振器から供給します。すべてのトランシーバーにはアイスキャン機能があり、受信したアイ開口をチップ内部から報告します。リンクが失敗したら最初に実行すべきものです。DDRでは、長さ合わせ、フライバイトポロジ、終端はレイアウト時に決まり、FPGAツールのピンプランナはキャリブレーションできない組み合わせを拒否します。

どこから始めるか

最初のトランシーバーループバック、1G Ethernet MAC、DDRコントローラの立ち上げに関する中級レッスンは準備中です。

ツールとベンダー

ベンダー トランシーバーファミリ 最高レーンレート(本稿執筆時点) PCIeハードブロック メモリ ハブ
AMD GTH、GTY、GTM、GTYP 112 Gb/s PAM4(GTM)、Versal Premium Gen 2で128 Gb/s Gen3からGen5、Versal Premium Gen 2でGen6 DDR4、DDR5、LPDDR5、HBM /vendors/amd/
Altera E-tile、F-tile、R-tile、P-tile 116 Gb/s PAM4(F-tile FHTレーン、IおよびMシリーズ) Gen4、Gen5 DDR4、DDR5、LPDDR5、HBM2e /vendors/altera/
Achronix Speedster7t SerDes 112 Gb/s PAM4 Gen5 GDDR6、DDR4 /vendors/achronix/
Microchip PolarFire XCVR 12.7 Gb/s Gen2 DDR4、LPDDR4 /vendors/microchip/
Lattice CertusPro-NX SerDes 10.3 Gb/s Gen3 x4(ハード) DDR4、LPDDR4 /vendors/lattice/

レートと世代はファミリのリリースごとに変わります。最新のデータシートを確認してください。

よくある間違い

  • 専用の低ジッタ源ではなく、ファブリックのPLL出力からトランシーバーの基準クロックを供給する。
  • レイアウトで差動ペアの極性を入れ替えてしまい、トランシーバーがコンフィギュレーションで反転できることを知らない。
  • バックドリルなしで25 Gb/sのペアにビアスタブを置く。
  • PCIeハードブロックがDMAエンジンをくれると思い込む。くれるのはバスです。DMAは別のIPか自作です。
  • DDRのキャリブレーションをベンチで一度だけ実行し、全温度範囲で実行しない。
  • 2つの独立したクロックを持つリンクのエラスティックバッファとクロック補償の必要性を無視する。

さらに深く