FPGA Editor を使用したデバッグの方法

FPGA Editorは、配置配線後のデザインインプリメンテーションを詳細に表示できるツールである。これを用いると、FPGA内部の特定の信号を任意のI/Oピンに割り当てることができる。
したがって、それらの信号をオシロスコープロジックアナライザーなどの、通常のテスト装置を使用して、リアルタイムの信号の動作を調べることができる。
このエントリーでは、その方法についての備忘録をまとめる。



プローブの追加

まずFPGA Editorを起動する。ちなみに、Probeの追加にはISE側で配置配線を実行している必要がある。
FPGA Editorのメニューバー Tools->Probesをクリック。


以下のようなウインドウが開くはずだ。右端のAddから観測したい信号と、出力させるI/Oピンを定義していく。


Select Netから観測したい信号を選択する。

出力させるI/Oピンは、デフォルトで自動選択になっているが、今回はI/Oピンが決まっているのでSelect Pin NumbersのMethodはManualを選択した。Available Pinから出力させたいI/Oピンを選択し、横にある矢印ボタンをクリックしてSelected Pinsに追加してく。選択が終了したらOKをクリックして、一つ前のウインドウに戻る。



プローブを追加した.bitファイルの保存

以下は、先ほど紹介したウインドウと同じ物だ。右側のBitgen...から新しい.bitファイルを保存することができる。




デフォルトではISEが生成した.bitファイルと同じ名前になっている。このまま保存しようとした場合、元のプローブされないデザインを示していると警告が出てしまう。私は区別するためにファイル名末尾に_tを追加した。




FPGAへの.bitファイルのダウンロード

FPGAへプローブの追加されたデザインをダウンロードする。特に特別な処理の必要は無く、通常通りiMPACTを使用して行う。



オシロスコープでの波形観測

以下はTektronixのオシロスコープで波形を観測した物だ。



まとめ

FPGAデバッグは非常に難しい物だが、これによりかなり効率が上がると思われる。
FPGA EditorのProbeを使用したデバッグでは、オシロスコープロジックアナライザーのch数、もしくはFPGAの空きピンの数により観測できる信号が限られてしまう。さらに複数の信号を観測するにはChipScopeが必要である。
しかし、ChipScopeは有償版のISEにしかバンドルされていないので、無償のISE WebPackを使用している場合、この方法が一番有用だと思われる。