バウンダリスキャン可視化と端子の操作
バウンダリスキャン可視化とは
MITOUJTAGのバウンダリスキャン可視化機能は、FPGAやCPUのピンの状態を画面上で見ることができるようにする機能です。
下の図は、あるCPUデバイス(SH7750R)をバウンダリスキャンし可視化した図です。
この機能を利用すると、上の図のように、実際のデバイスと同じ形状のグラフィックがパソコンの画面上に表示されます。
MITOUJTAGは、ICの入出力端子の信号の状態を、JTAGインタフェースを通じて取得し、パソコンの画面上にリアルタイムに表示することができます。ロジックレベルのH/Lはもちろん、オシロスコープでは見ることができない信号の入出力の方向まで判別できます。
また逆に、パソコンの画面上に表示されたICの絵を操作することで、実際のICを操作することもできます。
ICが動作して、端子の状態が変わると、PCの画面上に表示されたデバイスのグラフィックの端子の色が変化します。また、PCの画面上に表示されたグラフィックの端子をマウスでクリックしすると、画面上で色が変わると同時に実際のデバイスから出力されている信号の状態も変化します。
このように、オシロスコープを使わなくてもデバイスの動作を知ることができると同時に、回路の信号を自由に電気的に操作することができます。
もし、バウンダリスキャンされているターゲットデバイスがCPUであれば、実行しているプログラムに関わりなく自由に端子を操作することができます。また、もし、ターゲットデバイスがFPGAであれば、コンフィギュレーションされている回路に関わりなく自由に端子を操作することができます。
BGAパッケージの信号の可視化
BGAタイプのパッケージは、すべての信号がデバイスの裏面に出ているため基板と密着してしまい、オシロスコープなどの物理的プローブでは信号の状態を調べることはできませんでした。このため、従来はBGAを使った基板の動作検証は困難でした。
MITOUJTAGのバウンダリスキャン可視化機能では、下の図ようにすべての端子の状態が一目瞭然、物理的なプローブを使用せずに端子の状態を調べ、操作することができます。
制約は一切ありません
この機能を利用するためには、CPUあるいはFPGAに何もプログラミングする必要はありません。CPUにモニタプログラムを常駐させる必要はありませんし、FPGAにIPコアを埋め込む必要もありません。また、本機能はユーザリソースを一切使用しません。
また、デバイスのメーカーや品種にも影響されません。JTAGバウンダリスキャンに対応したデバイスであれば、CPU、CPLD、FPGA、メモリ、バスドライバなどあらゆるデバイスでご利用いただけます。
端子の状態を調べる際は、CPUやCPLD/FPGAなどの動作に影響を与えることはありません。例えば、CPU上でLinuxを動作させながら、各信号を追うといったデバッグも可能です。
アイデア一つでこんな使い方も
従来の組込みシステム開発における問題点を考えてみましょう。BGAのパッケージでは中心にいくほど配線が引き出しにくいので、信号用のI/Oピンとしては使いにくくなります。したがって、BGAパッケージの中心近くには未使用のままI/Oピンが放置されている設計例も多く見受けられます。
一方、ロジアナやオシロで信号を観測するためのテストパッドを基板上に作るとなると、多くの面積を必要としてしまいます。
JTAGロジックアナライザを使えば、このような問題を一度に解決できます。
つまり、BGAの内側の、使っていない端子をテストパッドにして、テスト用のデバッグ信号は、これらの端子に出力します。
これらの内側の端子をロジアナやオシロで見ようとすると大変ですが、バウンダリスキャンならば物理的なプローブを当てることなく、一切手を触れることなくパソコン上で見ることができます。このようにすると、今まで基板上で無駄な面積を占めていたテストパッドを大幅に削減することができます。使っていない端子を活用して、テストパッドが作れるわけです。
これからの設計では、使いにくかったBGAの内側の端子をテストパッドにして活用してみてはいかがでしょうか。