« MITOUJTAGパンフレット・機能・対応デバイス一覧 | トップページ | USB2.0の転送速度に関する一考察 »

2006.09.13

JTAGロジックアナライザの大幅な機能強化

JTAGロジックアナライザの機能を大幅にアップさせようとしています。

しかし、今のJTAGロジックアナライザのソースコードは非常に汚いのが4000行もあるで、これ以上の拡張が全くできない状態になっていました。

そこで、全てのコードを1から綺麗に書き直すことにしました。

私は、C言語でクラスを実現するプログラミングスタイルを覚えてからは、C++は使わずに、Cで構造体を駆使してクラスを作るようになりました。オブジェクト指向プログラミングをするなら、C++よりもこっちのほうがラクです。 要はC++が自動でやってくれることを自分で書くわけですが、C++よりも緊張しながら考えながら書かないとうまく作れないので、必然的にプログラムが綺麗になります。 暇ができれば、いつかこの「Cでクラス」を書くプログラミング技法も紹介したいところです。

さて、今回の改良のポイントは、表示とデータ構造を完全に分離して、ロジアナ機能の拡張を容易にするところにあります。

今までのJTAGロジックアナライザの問題点としては、何百本もある信号の1本1本を波形で表示できるものの、いくつかの信号をバスとしてまとめて表示させることはできなかったところにあります。
そこで、今回は主にバス化対応の改良を行っています。

次のJTAGロジックアナライザのイメージは、こんな感じになります。
新しいJTAGロジアナ

(この画面は開発中のものです。)

このように、いくつかの信号を纏めて、バスとして表示させる機能をつけました。
バスの表示は、10進、16進、2進、ASCII文字、8B10Bデコード、アナログ波形など、いろいろな形式に対応しています。
※PCI Expressの実験のために、8B/10Bでデコードした結果を画面上で見たかったというのが、この開発の最大の動機です。

よくみると、8B10Bデコードしたような値が見えていますが、元のデータはただの乱数なので、K7.4とかいうありえない値が出ています。

さて、波形上をマウスでクリックするとカーソルが表示されますが、左クリックと右クリックで2つのカーソルが使えるようになりました。カーソル間の時間差がステータスバーに表示されるので、これが意外と波形の解析に使えて便利そうです。

見たくない信号を表示されないようにしたり、区切り行を挿入したりと、操作性も向上しています。
今週か来週中にはリリースできるかと思います。

ご期待ください。

|

« MITOUJTAGパンフレット・機能・対応デバイス一覧 | トップページ | USB2.0の転送速度に関する一考察 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« MITOUJTAGパンフレット・機能・対応デバイス一覧 | トップページ | USB2.0の転送速度に関する一考察 »