ROMトラブル編(コンフィグレーション失敗の原因は容量不足) | 有限会社 FPGAインフォメーション

BLOG & INFO

ROMトラブル編(コンフィグレーション失敗の原因は容量不足)

FPGA Boot Failure Debug: ROM Size Mismatch in Configuration Flash


English Samary

While bringing up an FPGA design from configuration flash, I encountered an unexpected failure when generating the ROM file. The root cause turned out to be insufficient flash capacity for the bitstream.

This issue highlights two critical checks when selecting a configuration ROM:
(1) the required bitstream size for the target FPGA device, and
(2) compatibility with the FPGA toolchain (e.g., Vivado).

After identifying the problem, I quickly replaced the flash with a higher-capacity device and successfully booted the FPGA from ROM. This article walks through the debugging process and key lessons learned to avoid similar pitfalls.


■ デバッグが一段落ついて、、

ある程度デバッグが進んできたタイミングで、
「そろそろROMから起動させよう」というフェーズに入りました。

つまり、FPGAをコンフィグレーションROM(Flash)からブートさせる段階です。


■ 事件発生:ROMファイルが作れない

まず必要なのが、コンフィグレーション用のROMファイル生成です。

しかしここで問題発生。

👉 なぜかエラーが出て生成できない


■ 最初の認識

  • 回路は過去に動いていたもののコピー
  • 配線ミスの可能性は低いはず

👉 「これはおかしい…」


■ 原因調査

いろいろ調べた結果、原因はシンプルでした。

👉 ROM容量が足りない


■ ここが重要(知見ポイント)

コンフィグレーションROMを選ぶときは、必ずこの2つを確認する必要があります。

① FPGAが要求するビットストリームサイズ

  • デバイスごとに必要容量が違う
  • 例:Artix-7 / Spartan-7 / Zynq などで差あり

② Vivado がサポートしているFlash

  • 対応していないROMだと生成や書き込みで詰む
  • 特に古い or マイナーな型番は注意

👉 この2つを外すとどうなるか

  • ROMファイルが生成できない
  • 書き込みできない
  • 最悪、原因特定に時間を溶かす

■ 今回の対応

原因が分かったので即対応。

  • 発注元に連絡(受注案件なので重要)
  • 容量の大きいROMを緊急手配

購入先:
👉 チップワンストップ


■ 現場的に助かったポイント

  • パッケージは違うが
  • ピン配置・ピッチが同一

👉 手ハンダで交換可能

これはかなりラッキーでした。


■ 結果

  • 翌日到着
  • ROM交換
  • 書き込み成功

👉 ROMからのFPGA起動に成功


■ まとめ(教訓)

今回のポイントはこれです👇

  • ROMは「回路図流用」でも安心しない
  • 必ず容量を再確認する
  • ツール対応(Vivado)も確認する

👉 地味だけど、ここ外すと普通に詰みます


■ 一言

ちゃんとやってるつもりでも、こういう「ポロポロしたミス」は出ますね。

でも逆に言うと、
👉 このレベルで止まるなら、まだ安全圏

設計フローに組み込めば再発防止できます。


次回:VCD編(波形解析・ログ活用)
これもかなり面白いところなので期待です👍


FPGAインフォメーションのホームページはこちらです。

プライバシーポリシー / 特定商取引法に基づく表記 / 利用規約

Copyright © 2026 有限会社FPGAインフォメーション All Rights Reserved.

CLOSE