FPGA で高速データ収録カードを作る:なぜ FMC HPC + PCIe x8 が黄金の組み合わせなのか
オシロスコープ、デジタイザ、フェーズドアレイレーダ、ソフトウェア無線、高速振動監視——これらすべてのシステムの核心は「高速 ADC サンプリング → データパッケージ → ホストへ転送して処理」だ。なぜこの段階に MCU や DSP や CPU 直サンプリングではなく FPGA が要るのか?なぜ FMC HPC コネクタと PCIe x8 インターフェースが高速収録カードの黄金コンビになったのか?本稿は実際の 250MSPS 収録プロジェクトから始める。
1. なぜ高速収録に FPGA が要るのか
数字から始める。代表的な高速 ADC AD9643:14-bit、250 MSPS、デュアルチャネル。データレートに換算:
デュアルチャネル 14-bit @ 250 MSPS
= 2 ch × 14 bit × 250 MS/s
= 7.0 Gbps 生データレート
= 875 MB/s 連続ストリーム
つまり毎秒 875MB のサンプルデータを ADC からホストメモリへ移さねばならない。链のどのリンクが追いつかなくてもサンプルは失われる:
- MCU / ARM:SPI/パラレルポートは 50MB/s が上限、17 倍足りない——即サンプル欠落
- DSP:DMA ポートは 200MB/s 上限、4 倍足りない——バッファが満杯でサンプル欠落
- CPU が GPIO を直接読む:OS スケジューリング遅延で 1 回の読み取りが 10μs 級——滝をバケツで掬うようなもの
FPGA の価値:並列で決定論的なハード回路であること。ADC の LVDS データストリームが入ると、FPGA は IDDR プリミティブで各クロックエッジに 8 差動ペアを受け取り、デシリアライズ、アライメント、タイムスタンプ、FIFO バッファリングを行い、PCIe DMA でホストへまとめて転送する。链全体に OS スケジューリングもキャッシュミスも割り込み遅延もなく、クロックサイクルは決定論的だ。
だからこそ、すべての産業用高速収録カード、オシロスコープ、デジタイザの制御コアは FPGA なのだ——FPGA が CPU より賢いからではなく、速く、決定論的で、十分並列だから。
2. 高速収録カードの標準アーキ
完全なデータパス:
アナログ信号 ───▶ 高速 ADC(FMC 子カード)→ LVDS / JESD204B → FPGA ロジック(デシリアライズ / アライメント / トリガ / 間引き / FIFO)→ DDR3 バッファ(バースト収録、アンダーラン緩衝)→ PCIe 2.0 x8 DMA → ホストメモリ → ホストソフト
このパスには 4 つのクリティカルなボトルネックがあり、それぞれが収録カードの真性能を決める:
1. ADC から FPGA への物理リンク:FMC HPC
高速 ADC 子カードはメインボードへ直接ハンダ付けされず、標準 FMC(FPGA Mezzanine Card)子カードとして作られる。FMC HPC コネクタが提供するもの:
- 8 GTX 高速シリアルペア(最大 6.6 Gbps、JESD204B 用)
- 168 シングルエンド/差動 IO(LVDS パラレル ADC 用)
- 専用クロック、トリガ、GA 信号ピン
- 大電流電源ピン(子カードが自己給電)
FMC HPC スロット 1 つで AD9643(250MSPS ADC)、AD9152(DAC)、AD9361(ソフトウェア無線)、FT601(USB3.0)、さらに FMC-40G 光モジュールまで載る。だから LPC ではなく HPC を主張する——LPC は差動 IO ペアが 10 しかなく GTX もなく、高速 ADC が一切繋げない。
2. オンボードバッファリング:DDR3 はオプションではない
ADC は 875MB/s を出し続ける一方、PCIe 2.0 x8 は理論 4GB/s——PCIe は十分速く見える。だが実システムではホストに常にバーストがある:OS スケジューリング、ホストソフト処理、ディスク I/O。DDR3 バッファがなければ、これらのバーストが直接サンプル欠落に変わる。
4GB DDR3 はこのパス上の「弾力のある貯水池」として働く:ADC が送るものはすべて受け入れて先に DDR3 へ書き込み、PCIe DMA はホストが空いたときにまとめて運び出す。1 秒のワンショットバースト収録なら、875MB のデータを DDR3 に完全格納できサンプルを 1 つも失わない。DDR3 2GB なら連続収録時間は半分になる。
3. FPGA からホストへの転送:PCIe x8 と x2 の本当の差
最も見落とされやすい点。多くの FPGA 開発ボードは PCIe x2 しか露出していない——「PCIe がある、それで十分」に見えるが、実帯域は 4 倍違う:
| PCIe 構成 | 理論帯域 | 実効(8B/10B 符号化 + プロトコルオーバーヘッド) | 持続可能収録率 |
|---|---|---|---|
| PCIe 2.0 x2 | 1.0 GB/s | 約 700 MB/s | 14-bit デュアル 250MSPS を持続不可——サンプル欠落 |
| PCIe 2.0 x4 | 2.0 GB/s | 約 1.5 GB/s | シングルチャネル 250MSPS でぎりぎり |
| PCIe 2.0 x8 | 4.0 GB/s | 約 3.0 GB/s | デュアル 250MSPS + マルチチャネルトリガで十分な余裕 |
だからこそ Duyuan の DUK7325T / DUK7410T は両方 PCIe を x8 で実装する——他社オリジナルボードは x2 しか露出していない;チップが対応していないのではなく、設計がコストを節約しただけ。Kintex-7 の PCIe ブロックはハード的に Gen2 x8、PCB にあと差動ペア 4 本追加するだけ。収録顧客にとって x2 と x8 の差は「ちょっと速い」どころか——ADC サンプリングレートを持続できるかどうかだ。
4. クロック同期:なぜ 125MHz 差動発振器が重要か
高速収録はクロックジッタに極めて敏感。ADC サンプリングクロックのジッタが SN 比を直接決める——250MSPS ADC にはサンプリングクロックジッタ < 1ps が要る。オンボード 125MHz 差動発振器は GTX トランシーバ専用、200MHz 差動発振器は FPGA ロジック用、二つのクロックドメインは分離して相互汚染を避ける。JESD204B 同期収録では、このクロック品質がマルチチャネル位相一致性に直接影響する。
3. 実事例:DUK7410T で 250MSPS 収録プロトタイプを作る
Duyuan Electronics は最近ある顧客のプロトタイプ構築を支援した:DUK7410T + 第三者 FMC-ADC9643 子カード(AD9643、デュアルチャネル 14-bit 250MSPS)ベースの高速デジタイザ。
DUK7410T + FMC AD9643 + ホストソフト
- FPGA:JFM7K410T、406K LC / 1,540 DSP / 28.6 Mb BRAM
- ADC:FMC 子カード AD9643、デュアルチャネル 14-bit 250MSPS
- バッファ:オンボード 4GB DDR3
- 転送:PCIe 2.0 x8 DMA、実測 2.6 GB/s
- トリガ:FPGA ハードトリガ(立ち上がり/立ち下がりエッジ、ウィンドウ)、遅延 < 50ns
実測結果:デュアルチャネル 1 秒連続収録——875MB を DDR3 に完全書き込み後、PCIe x8 でホストへ転送、サンプル欠落ゼロ。第三者オリジナルボードの PCIe x2 では同一構成の連続収録が 0.6 秒後にサンプルを失い始める——それが x8 と x2 の本当の差だ。
このプロトタイプ検証後、顧客は DUK7410T のコアボード(83.8×64.8mm)を囲む独自キャリアボードを起こし、FMC スロットを基板直付け ADC へ替え、PCIe コネクタをゴールドフィンガエッジへ替え、半年後には量産収録カードへ仕上げた。
4. Duyuan の 3 枚のボードから収録用途で選ぶ
すべての収録プロジェクトに Virtex-7 が要るわけではない。サンプリングレートとチャネル数で選ぶ:
| シナリオ | DUK7325T $1,231 | DUK7410T $1,538 | DUF7690T $3,846 |
|---|---|---|---|
| ADC サンプリングレート | ≤ 125 MSPS | ≤ 250 MSPS | ≥ 500 MSPS |
| ADC チャネル数 | 2 チャネル | 2–4 チャネル | 8+ チャネル |
| DSP 需要 | 単純間引き/FIR | リアルタイム FIR/FFT | パルス圧縮/MIMO レーダ |
| 光同期 | 2×SFP+ | 2×SFP+ | QSFP 40G + 3×FMC |
| 代表用途 | 振動監視、産業収録 | デジタイザ、SDR 試作 | フェーズドアレイレーダ、ソフトウェア無線 |
選定原理は単純:まず ADC 総データレートを計算し、次に PCIe 帯域の余裕を計算し、最後に DSP/BRAM がリアルタイム処理に十分か。低速・中速収録プロジェクトの 80% は DUK7325T で十分;250MSPS デュアルチャネルや単純リアルタイム FFT なら DUK7410T へ;レーダ、超広帯域 SDR、マルチチャネル同期といった手強い案件だけが DUF7690T の 36 GTH ペアと 3 FMC スロットを要する。
高速収録の本質は「どれだけ速くサンプリングするか」ではなく、「链全体のどのリンクも落ちないこと」。十分速い ADC、十分並列な FPGA、十分大きな DDR3、十分広い PCIe、十分安定したクロック——どのリンクをケチっても、最後は画面上のサンプル欠落になる。FMC HPC + PCIe x8 + 4GB DDR3 は、この道を行く顧客のために我々が組んだ最小限の信頼できる構成だ。
