パルスジェネレーター400chをどう検証する? デバッグボード開発のスタート地点
How Do You Debug a 400-Channel Pulse Generator? — Debug Board Planning
English Summary
When I received an order for a 400-channel pulse generator, I first focused on how to implement the design.
However, after a while I realized a more fundamental problem:
How am I going to verify 400 channels of pulses?
Checking each channel individually with an oscilloscope is clearly impractical.
A logic analyzer could help, but there are very few setups capable of capturing hundreds of channels simultaneously.
The situation becomes even more challenging because the pulse widths are relatively long.
Although FPGA tools provide built-in debugging features such as ChipScope-style logic analyzers, their internal memory limits make it difficult to record signals over long periods of time.
Of course, releasing hardware without proper verification is not an option.
So I decided to take a different approach:
build a dedicated debug board using my 5 cm FPGA board.
The idea was to create a simple custom logic analyzer capable of capturing the pulse signals from the generator.
Since the pulse generator also requires a command interface to configure its operation, the debug board would also include the hardware needed to send those commands.
This meant developing several components together:
- A hardware system to capture pulse signals
- A command interface for controlling the pulse generator
- A dedicated debug PCB
- Communication software
- FPGA logic for signal capture
- A waveform visualization system
Having a 5 cm FPGA board already available made this approach much easier.
Instead of designing everything from scratch, I could simply create a compact debug board that plugs into the FPGA board, allowing me to quickly build the required test environment.
Finally, the captured data will be converted into VCD (Value Change Dump) files, so the waveforms can be inspected easily with standard waveform viewers.
In the next article, I will explain how this idea was translated into actual hardware and how the long-duration waveform capture system was designed.
はじめに
パルスジェネレーター400チャンネルの受注が決まったとき、まず考えたのは「どう実装するか」でした。
ですが、しばらくしてから、もっと根本的な問題に気がつきました。
これ、どうやって検証するんだろう?

本体を作る前に、まず本体を検証するための道具を作る必要があった、というわけです。
400チャンネルものパルスを、普通にオシロスコープで1本ずつ確認していくのは現実的ではありません。
ロジックアナライザを使う方法もありますが、400チャンネルを一度に見られる環境はそう簡単にはありません。
さらに今回やっかいだったのが、パルス幅が長いことです。
FPGAの中には、いわゆるチップスコープという、小型ロジアナ機能を入れることができます。
これを使えば、多チャンネルの信号を内部で観測すること自体は可能です。
ただし、内部メモリの制約があるため、長時間の波形を記録するのは難しいという問題がありました。
とはいえ、検証を十分に行わないまま出すわけにはいきません。
特に今回のような多チャンネルのパルス制御では、「たまたま動いた」では済まされないからです。
そこで考えたのが、
5cm FPGA基板を使って、パルスジェネレーターを測定するための専用デバッグボードを作る
という方法でした。
要するに、今回の案件専用の簡易ロジアナを自分で用意しよう、という発想です。
しかも今回は、パルスジェネレーター本体に対して命令を送るためのインターフェースも必要でした。
この部分は少し特殊な仕様だったため、波形を観測するだけでなく、制御用インターフェースも一緒に作ることにしました。
つまり、このデバッグボード開発では、次の要素をまとめて実装することになります。
- パルス波形を取得するためのハードウェア
- パルスジェネレーターへ命令を送るためのインターフェース
- 基板製作
- 通信ソフト
- FPGA側のロジック
- 取得結果を見やすくするための表示環境
このとき、手元に5cm FPGA基板があったのは非常に大きかったです。
ゼロからすべてを作るのではなく、すでに使えるFPGA基板があることで、そこに挿して使う専用の両面デバッグ基板を考えることができました。
この構成なら、比較的短い時間で必要な検証環境を立ち上げられます。
受注案件では、本体の設計だけでなく、検証の仕組みをどう用意するかが非常に重要だと改めて感じました。
さらに、取得した波形は後で確認しやすい形にしたいので、最終的にはVCDファイルとして保存し、波形ビューアで見られるようにするところまで構想しています。
単に信号を取るだけではなく、
「あとから何度でも見返せる」「変化点を追える」「ソフトでも解析できる」
そんなデバッグ環境を目指した、というわけです。
このデバッグボードは、単なる補助ツールではなく、今回の400チャンネルパルスジェネレーター開発を支える、かなり重要な土台になりそうです。
次回以降は、この構想をどう回路に落とし込んだのか、
そしてどんな方式で長時間の波形取得を実現しようとしたのかを書いていこうと思います。
FPGAインフォメーションでは、このようなデバッグボードの作成のお手伝いもしています。
5SQ XC7S25A FPGAボードはこちらから販売しています。
