ScoutChecker

FPGAバンクのVCCIO割付、いつまで手作業でやりますか?

2026-04-30 · 7 min read · by ScoutLabo
fpga vccio バンク ピンアサイン 自動化

FPGA基板の設計でいちばん気を遣うのが、I/Oバンクごとの VCCIO 電圧アサイン

10バンクを超える大規模FPGAだと、Excelシートに「Bank番号 / 接続するインターフェース / 必要電圧 / VCCIO_N ピン番号」と書き出して、データシートと照合しながら整合チェック…という光景が今も日本中の設計現場で続いています。

本記事ではこの作業を自動化する考え方と、ScoutCheckerでの具体的な実現方法を解説します。

なぜ VCCIO アサインは事故りやすいか

1. バンク境界がデバイスごとに異なる

Cyclone V 5CGXFC9C7F23C8N は I/O バンクが10個、Kintex-7 XC7K325T-2FFG900C は16個、Stratix V GX は20個以上…と、デバイスでバンク数も境界も違う。データシートのピンテーブルから抜き出す作業に半日かかります。

2. 規格と電圧の整合制約

差動規格(LVDS / SSTL / HSTL)は VCCIO 電圧と論理的にリンクしています:

規格 必須VCCIO
LVDS 2.5V
LVCMOS33 3.3V
LVCMOS18 1.8V
SSTL15 1.5V
HSTL18 1.8V

「LVDS は 2.5V でしか動かない」のに、`Bank A は 3.3V で運用してる、しかも LVDS インターフェースを Bank A に割り当てた」という設計、実際にあります。基板実装後に動かなくて発覚する典型。

3. VREF ピンの位置決め

差動規格を使うバンクは VREF ピンに VCCIO/2 の基準電圧が必要。VREF ピンは I/O ピンと共有されているので、「I/O として使うつもりだったピンが実は VREF 必須」みたいな衝突が起こる。

4. バンク跨ぎの参照

Quartus / Vivado の制約ファイルでピンを縛った後、レイアウト工程でいざルーティングを始めると 「このピン、別のバンクに移したい」 が頻発。VCCIO 整合チェックを、ピン移動のたびに手作業でやり直すのは現実的でない。

自動化のアプローチ

ScoutChecker は内蔵のFPGAピンライブラリから、ピン番号 → バンク番号、バンク番号 → 必須電圧グループの対応を自動取得します。これと BOM の信号アサインを組み合わせると:

入力:
  - ネットリスト(どの IC ピンにどんな信号が来てるか)
  - BOMで指定された FPGA 型番
  - signal_assignments(このネットは LVDS 規格、このネットは LVCMOS33、等)

処理:
  1. 各FPGAピンを Bank N に分類
  2. 同一 Bank 内の信号規格を集計
  3. 規格 → VCCIO 必須電圧マッピング
  4. VCCIO_N ピンに来ているネットの電圧と照合

出力:
  - 規格不整合警告("Bank 14 has LVDS signal but VCCIO_14 = 3.3V")
  - VREF 衝突警告
  - 同一バンクに混在する規格のサマリ

検出例

仮に Kintex-7 XC7K325T-2FFG900C で「Bank 14 を 3.3V で運用しているが、LVDS 信号も Bank 14 に割り当ててしまっている」設計を解析した場合:

[Step03c] FPGA pin enrichment: XC7K325T_FFG900
[Step15b] FPGA bank voltage check:

  Bank 14 (VCCIO_14 = 3.3V from VCC_3V3)
    Signals on this bank:
      - U7.AB1: LVDS_OUT_P (LVDS - requires 2.5V) ← MISMATCH
      - U7.AB2: LVDS_OUT_N (LVDS - requires 2.5V) ← MISMATCH
      - U7.AC3: GPIO_LED1 (LVCMOS33 - OK)
      - U7.AC4: SPI_MISO (LVCMOS33 - OK)

  WARNING: Bank 14 has 2 signals requiring 2.5V VCCIO,
  but VCCIO_14 net (VCC_3V3) = 3.3V.
  Move LVDS signals to a 2.5V bank or change VCCIO_14 to 2.5V.

これが全バンク × 全インターフェース で機械的にチェックされる。手作業ではほぼ無理な精度です。

自動化できる範囲・できない範囲

項目 自動化可能?
バンクごとの信号規格集計
VCCIO 電圧との整合
VREF ピンの衝突検出
終端抵抗の値推奨 ⚠️ 設計ルール次第
インピーダンス整合 ❌ レイアウト依存
EMI への影響 ❌ 物理レイアウト依存

CADのERCでは見えない領域の大半は 「ピン機能と信号属性の整合」 で、これがScoutCheckerが得意とする領域です。

運用上のヒント

  1. 設計初期にバンク方針を固定する — 「Bank 0,1,14 は 3.3V系、Bank 13,15 は 1.8V系」みたいな運用ルールを決めて、レビューでは方針からの逸脱だけ見る
  2. 解析を CI に組み込む — BOM 変更や制約ファイル更新のたびに自動回す
  3. 設計レビューは「不整合だけ」見る — 全バンクを目視チェックしない

まとめ

VCCIO バンクアサインは、本質的に「ピン機能・信号規格・電圧」の3項対応なので、機械的にチェックできる領域です。Excel と人力でやってる時間を解析ツールに任せて、レビューは判断が必要なところだけに集中する、というのが現代的な運用の形だと思います。

Cyclone V対応一覧Kintex-7対応一覧 でScoutCheckerが解析対応しているデバイスを確認できます。

Run an automatic review on your own circuit

Upload a netlist + BOM. ScoutChecker auto-detects design-rule violations and power-rail issues in seconds.

Get Started Free