ピン互換FPGAへの載せ替えは本当に安全か?BOM差分コミットで検証する方法
「Artix-7 の 35T を 100T に載せ替えれば、もうちょっとロジック詰め込めるよね。同じCSG324パッケージだしピン互換だから基板そのままでいけるはず」
設計レビューでよく出る話です。理屈は正しい。でも**「本当にピン互換ですか?」**という確認は、意外と機械的にやっている人が少ない。データシートを並べて目視チェックしている、というケースが大半ではないでしょうか。
この記事では、ScoutCheckerの コミット機能 と Run比較機能 を使って、載せ替え前後の解析結果を自動で diff する方法を紹介します。
「ピン互換」の罠
メーカーが「ピン互換」を謳っていても、実際には微妙な差があります。Artix-7 ファミリーで実際にあるパターン:
| パターン | 影響 |
|---|---|
| GTPトランシーバ数の増加 | MGTAVCC / MGTAVTT が新規必須に |
| HRバンク数が変わる | 一部 VCCIO ピンの使い方が変わる |
| MMCM/PLLの数 | 専用クロックピンの位置が微妙にずれる場合 |
| サーマルパッド要件 | 消費電力増 → 放熱パターン要件が変わる |
つまり「電源ピンが新規追加された」「I/Oだったピンが MGT 専用になった」など、一見同じパッケージでも未接続になるピン・規格外電圧になるピンが出ることがあります。
検証ワークフロー:BOM変更コミット → 解析比較
Step 1. 変更前の状態をコミット
まず現状(XC7A35T-1CSG324C)の BOM・ネットリストをアップロードして、初回解析を完了させた状態でコミットを作ります。
[Project: MyBoard] /commits → "Initial review with XC7A35T"
ScoutChecker のコミットは ファイル群のスナップショット + 解析結果 をひとまとめに保存します。Git の commit と同じ感覚で、「あとで戻せる時点」を作る操作です。
Step 2. BOMを書き換える
BOM の IC型番を変更します:
変更前: U7 XC7A35T-1CSG324C Artix-7 FPGA
変更後: U7 XC7A100T-1CSG324C Artix-7 FPGA (upgrade)
ネットリストはそのまま、BOMだけ修正してアップロード(または Power IC Assignment UIから直接ライブラリを差し替え)します。
Step 3. 再解析 → 新コミット
新しいデバイスでパイプラインを再実行。終わったらまたコミット:
[Project: MyBoard] /commits → "Swap to XC7A100T"
Step 4. 2つのRunを比較
/projects/{id}/results/compare で2つの解析結果を選んで比較します。出るのは:
- 新規発生したエラー/警告 — 載せ替えで増えた問題
- 解消されたエラー/警告 — もしあれば(普通は載せ替えで増えるだけ)
- 属性が変わったピン — 同じ物理ピンの機能が変わったもの
実例:XC7A35T → XC7A100T で何が起きるか
CSG324 パッケージで Artix-7 35T と 100T を比較した場合の、典型的に検出される差分を示します(あくまで例)。
ケースA: そのまま載せ替えOK
シンプルなI/O規格のみ使っている、高速トランシーバ未使用、PLL2個以下、という設計だと、両者ともピン機能が一致するためエラーは増えません。ScoutCheckerの比較画面では「新規 0 / 解消 0」と表示されます。これがゴール。
ケースB: MGT系ピンの違い
100T の方が GTP トランシーバを多く持つ場合、35T では「未使用 I/O」だったピンが 100T では「MGT専用ピン」になります。Run比較で:
[NEW] U7.D6 - cSIG mismatch: was 'SIG' (I/O), now must be 'MGTAVTT' (POW)
[NEW] U7.E6 - Decoupling required: MGTAVCC 1.0V
ボード側で MGT電源を用意していなければ、実装ミスで動かないか、最悪は電源ショートのリスク。
ケースC: BANK電圧の違い
100T は I/O バンクが1つ追加されているケースがあります。元設計で「未使用バンク」だったピンに新たに VCCIO 入力義務 が発生:
[NEW] U7.A2 - Pin function: VCCIO_15 (was: I/O), no power assigned
VCCIO_15 への電源供給を追加するか、そのバンクを完全未使用にしてプルダウン処理するか、判断が必要。
なぜ手作業より速いのか
データシートを並べて目視で chip pinout 表をマッチング、というのは 324ピンの Artix-7 で1〜2時間コース。しかも疲れた最後で見落とす確率が高い。
ScoutChecker は内蔵のFPGA対応一覧から両デバイスのピン機能テーブルを取得し、物理ピン番号ごとに自動 diff します。実時間は秒単位、見落としゼロ。
さらにコミットで履歴が残るので、後日「載せ替え検討した時の痕跡」を辿って「なぜこの判断をしたか」を再確認できます。設計レビューの記録としても価値があります。
まとめ:載せ替え検討の手順テンプレート
- ✅ メーカー公式の「Pin compatibility table」を確認(あれば)
- ✅ 現状をScoutCheckerでコミット
- ✅ BOMを書き換えて再解析
- ✅ Run比較で機能差分を抽出
- ✅ 差分のうち電源ピン・MGTピン・コンフィグピンは厳しめに精査
- ✅ 必要なら基板変更(VCCIO追加、デカップリング追加 等)
「ピン互換」は物理ピン位置の互換であって、機能の互換は別の話。機械的に diff を取ることで、データシート読み込みでは漏れがちな差分を捕まえられます。
Artix-7対応一覧 でScoutCheckerが解析対応しているデバイスを確認できます。Cyclone V や Stratix V でも同様に検証可能です。