EXTESTによる端子の操作
FPGAの端子を自由に操作したい
FPGAやCPUは、「一度動き出してしまえば、内部に書き込まれた回路やプログラムのとおりにしか動くことができない」、というのが今までの常識でした。
たとえば、
「L状態を出力しているFPGAの信号の状態を、
ちょっとだけ試しにHに変えてみたい・・。」
「FPGAにつながっているLEDをちょっと点滅させてみたい・・。」
言葉にしてみれば簡単な要求ですが、それを実際に行うには、FPGAを再コンパイル(論理合成+フィット)しなければなりませんでした。ところが、最近の大規模なFPGAでは、再コンパイルに何十分、何時間も要しててしまうことも珍しくありません。忙しいエンジニアにとって、コンパイル時間はいつも悩みの種です。
これでは、思いのまま、気の向くままに、自由な発想でデバッグを行うことなどとてもできません。FPGAやCPUのデバッグ効率は上がらないでしょう。
端子の状態を書き換える
デバッグ中の組込みエンジニアが望むことは2つです。
① FPGAの端子や、CPUの端子を少しだけ自由に操作したい。
② でも、FPGAの再コンパイル(再論理合成)やCPUのプログラムの書き換えはしたくない。
この2つの相反する望みをかなえるのが、MITOUJTAGのバウンダリスキャン機能です。
MITOUJTAGのバウンダリスキャン機能を使えば、動作しているFPGAやCPUを一瞬だけ停めて、その端子だけを自由自在に操作することができるようになります。
画面に表示されたFPGAやCPUの端子の絵をマウスでクリックするだけでよいのです。
実際の手順
以下に、実際の操作例をご紹介します。
下の図は、あるIC(XC3S1000FG676)の一部の端子の状態を可視化したものです。
このICは、見てのとおりBGAのパッケージです。
中央に集中している●と●は、電源の端子をあらわしています。
●と●は、それぞれHレベルとLレベルを出力している端子を表しています。
ピンクと水色で網掛けになっている端子は、それぞれHレベルとLレベルを入力している端子です。
このFPGAの動作を書き換えてしまいましょう。
操作したいこのFPGAをマウスでワンクリックした後、MITOUJTAGのツールバーの中にある、EXTESTボタンを押します。
次に、ツールバーの中の右端にある「X」の形をしたボタンを押します。
するとマウスカーソルの形状が変化するので、この状態で操作したい端子を画面上でクリックします。ためしに、FPGAの左側の半分のピンを、全部「Hレベル出力」にしてみましょう。
カチカチと、端子を一つ一つクリックしていきいます。
ご覧のとおり、左側半分の端子がピンク色の塗りつぶし状態に変化しました。No Connectの端子や電源ピンまではさすがに変えられませんが、FPGAのI/O端子は、その端子がどのような機能になっていようとも自由自在に操作することができます。
なお、FPGAの右側半分の端子は操作する前の状態を保っています。これはシミュレーションではありませんので、実際のデバイスからもこのような状態が出力されることになります。注意してご利用ください。
従来のプリント基板検査ソフトでは、このように手軽に端子を操作することはできません。
この技術は、MITOUJTAGだけのものです。(特許出願済)
特徴
- BGAの裏側の端子でも自由自在に操作することができます。
- FPGAやCPLDに、専用の回路(IP)を書き込む必要がありません。
(ICのリソースは全く消費しません。 ) - FPGAやCPLD、CPUがプログラミングされていないブランクの状態でもご利用いただけます。
- 回路図やネットリストなどの設計データは必要ありません。
- メーカーや品種を問わず、あらゆるJTAGデバイスでご利用いただけます。
(デバイスがIEEE1149準拠のバウンダリスキャンをサポートしており、メーカーからBSDLファイルを入手できることが必要。詳しくはお問い合わせください。) - CPUやFPGAなどの動作状態によらず、いかなる状況でもご使用いただけます。