現地デバッグ編:現場に行って初めて分かった本当の問題
On-Site FPGA Debugging: Issues You Can’t Find Remotely
English Sammary
After delivery, I received a report that the system was not working as expected, leading to an on-site debugging session.
Once on-site, several discrepancies became clear. The actual hardware behavior differed from prior specifications, including signal polarity (active high vs. active low) due to an intermediate IC that had not been fully accounted for. This mismatch was resolved on the software side.
Additionally, waveform observation revealed unexpected noise-like signals inside the FPGA, introducing a risk of unstable behavior—something that was not visible in the clean development environment.
This experience highlights the importance of on-site debugging in FPGA development, where real-world conditions, undocumented hardware details, and system-level interactions can significantly impact behavior.
納品後、しばらくして連絡がありました。
👉 「なんか動かない」
詳細がよく分からないまま、最終的に現地対応となりました。
■ 行ってみて分かったこと
現地で確認してみると、いくつか重要な違いがありました。
まず一つ目。
👉 事前に聞いていた仕様と実際の論理が違う
■ ロジックレベルの違い(Active High / Low)
実際の回路を確認すると、
- 間にICが挟まっている
- 信号が反転されている
つまり、
👉 Active High / Active Low が逆になっている
状態でした。
これは、
- FPGA側の問題ではなく
- システム全体の認識ズレ
です。
■ 対応方法
今回は、
👉 ソフトウェア側で補正
する形で対応しました。
■ もう一つの問題:ノイズ
さらに波形を確認すると、
👉 FPGA内部でノイズ的な信号が発生
していることが分かりました。
これにより、
- 意図しないトリガ
- 誤動作のリスク
がある状態でした。
■ なぜ事前に分からなかったのか
今回の大きなポイントはここです。
👉 現地でしか分からない情報だった
理由としては:
- 実機構成が事前情報と違う
- 中間ICの存在が共有されていない
- 実際の配線・環境ノイズ
さらに、
👉 開発環境が「綺麗すぎた」
つまり、
- 理想環境では問題なし
- 現場環境では問題発生
という典型的なパターンです。
■ 行ってよかった理由
正直なところ、
👉 現地に行かなかったら解決できなかった
と思います。
もし電話やリモートだけだった場合:
- 情報が断片的
- 認識ズレが解消されない
👉 永遠に原因不明のまま

■ まとめ
今回のポイントはこれです:
- 仕様は現場で変わっていることがある
- Active High / Low の違いは致命的
- ノイズは実機でしか見えない
- 綺麗な環境だけでは不十分
■ 一言
今回の経験で改めて感じたのは、
👉 「実際に見る」ことの重要性
です。
FPGAは特に、
- ハード
- ソフト
- 外部回路
が絡むため、
👉 現場確認が最短ルートになることがある
この一連の流れで、
- 仕様ミス
- タイミング問題
- 現地トラブル
一通り経験できました。
かなり良い経験でしたね。
FPGAインフォメーションのホームページはこちらです。
