ロジックアナライザ・マイクロプロセッサ開発関連機器

1 ロジックアナライザ

 ロジックアナライザは,デジタルシステムのデバッグ,設計検証,及び組み込み形ソフトウエアのデバッグをサポートする はん用性の高いツールである。デジタルシステムの設計者にとって欠かせないツールとなっている。
 ロジックアナライザは,デジタルオシロスコープと比較して次の点が大きく異なっている。
デジタルオシロスコープが,数チャネルの信号についてアナログの詳細を測定するのに対して,ロジックアナライザは,アナログの詳細は測定せず,しきい値で判別されるロジック値を扱う。
入力チャネル数が多い。多くの信号を一度に取り込んで表示し,信号のタイミング関係を解析する。
ロジックアナライザは,ハードウエアとソフトウエアの結合時に,組み込み形ソフトウエアの実行をトレースし,プログラム実行をリアルタイムに解析する。

1.1  ロジックアナライザの分類
 ロジックアナライザは,大きく分けて次の 3 種類の形態に分類される。
a) モジュラ形
 本体のスロットにモジュール化されたロジックアナライザを挿入し,用途に応じたロジックアナライザを構成するもので,柔軟性や拡張性に優れる。パターンジェネレータ,デジタルオシロスコープ等のモジュールも用意されており,システム化が容易である。
b) モノリシック形
 一つのきょう体ですべての機能が提供される自己完結形である。拡張性やチャネル数は制限を受けるが,外部機器との統合によって機能拡張を行っている。また,ロジックアナライザとオシロスコープの機能を併せ持つ機種もある。
c) パソコン接続形
 外部パソコンに接続して動作するもので,操作や表示はパソコンで行う。コンパクトな形状で安価であるが,機能や性能の制限がある。

1.2 用語の定義
 ロジックアナライザの機能及び性能を表す主な要素には,次のものがある。
a) チャネル数
 オシロスコープと比較して,ロジックアナライザは,チャネル数が多いという特長をもっている。通常のオシロスコープが,最大で 4 チャネル入力であるのに対し,ロジックアナライザは,数十から数百,時には数千にも上る入力チャネルをもっている。
b) メモリ長
 サンプリングしたデータを保持できる容量を示し,通常はチャネルごとのビット数で表現される。チャネル数とメモリ長がロジックアナライザの重要な要素となる。
c) プロービング
 ロジックアナライザと被測定システム( SUT: System Under Test )との間で,物理的/電気的な接続を行う。被測定システムへの負荷や影響を少なくし,信号に見合った帯域幅をもって,信号へのアクセスを実現する機能を提供する。
d) トリガ
 トリガは,ロジックアナライザがデータを取り込む条件を指定する機能である。ロジックアナライザのトリガでは,多くの条件を設定することができる。
e) タイミング解析
 ロジックアナライザが内部にもっているクロックで多くの信号をサンプリングし,そのタイミング関係を解析する。非同期解析とも呼ばれる。
 サンプリングのクロックレートによって時間分解能は決定される。クロックレートが早いほど時間分解能は高くなる。クロックレートは,記録できるチャネル数,メモリ長のバランスで決定する必要がある。通常,被測定システムの少なくとも5倍程度のクロックレートが必要とされている。
 サンプリングには,データだけを書き込むもの,グリッチの有無を記憶させるもの,等いくつかの方式がある。
f) ステート解析
 被測定システムのステート(状態)を解析する機能である。サンプリングは,被測定システムのステートを変化させる信号(システムクロック,バス制御信号等)を用いる。取り込んだデータは,逆アセンブル等の解析に供せられる。
g) 波形品質評価
 ロジックアナライザは,デジタル値を扱う。しかし,信号の高速化に伴い,デジタル信号のアナログ特性の理解が重要になってきている。デジタルシステムのアナログ特性を計測するために,ロジックアナライザにオシロスコープの機能を内蔵する,又は外付けのオシロスコープと統合して波形品質の評価を行う。

1.3  ロジックアナライザの動作原理
 簡略化したロジックアナライザの構成を,図 1 に示す。ロジックアナライザの動作を以下に説明する。


a) プロービング
 被測定システムに接続されたプローブ内のコンパレータによって,入力電圧をしきい値電圧と比較し,信号のロジックステート( 1 又は 0 )を定める。しきい値は,TTL レベル,CMOS,ECL,ユーザ設定によって定義される。
 プローブのインピーダンス(容量,抵抗,インダクタンス)は,被測定システムに対する負荷となるので,負荷を最小限にする必要がある。
b) 設定
1) クロックモードの設定
 ロジックアナライザのクロックモードは,タイミング解析又はステート解析に応じて設定する。
 タイミングアクイジションは,信号のタイミング情報を取り出すために,ロジックアナライザの内部クロックを使用してデータをサンプリングする。このモードでは,被測定システムとロジックアナライザによって取り込まれるデータとの間にはタイミング関係はない。
 ステートアクイジションは,被測定システムからの信号を使って被測定システムのステートを取り込むために使用される。
2) トリガの設定
 ロジックアナライザは,様々な論理条件でトリガを設定することができる。トリガ条件は,取り込みデータのロジックパターン,イベントカウント数,外部信号,グリッチ,タイマ,等がある。
c) アクイジション
1) ステート及びタイミングの同時取得
 システムデバッグ時には,時間的に関係付けられたステート情報とタイミング情報が重要である。ステート及びタイミング情報を取得するのに複数のプローブを使うと信号に負荷がかかり,被測定システムの立ち上がり時間,振幅,ノイズ性能が低下する。同じプローブを用いて同時にステート及びタイミング情報を取り込むことが望ましい。
2) リアルタイムアクイジションメモリ
 ロジックアナライザが取り込むデータは,リアルタイムアクイジションメモリと呼ばれるメモリに格納される。リアルタイムアクイジションメモリは,チャネル数分の幅とメモリ長を持つマトリックスと考えることができる。
 ロジックアナライザは,継続してデータをサンプリングし,リアルタイムアクイジションメモリに先入れ先出し方式でデータを蓄える。メモリからあふれたデータは廃棄される。データ取得中は,常にメモリは更新され,トリガが発生するとメモリのデータは固定される。
 メモリ内でのトリガの位置は柔軟性を持つので,トリガ前のデータ(プリトリガデータ)やトリガ後のデータ(ポストトリガデータ)を柔軟に設定することができる。
d) 解析と波形表示
 アクイジションメモリに格納されたデータは,表示及び解析モードに使用される。
1) 波形表示
 複数チャネルの波形は,図 2 のように,時間相関をもたせながら表示される。
 波形表示は,タイミング解析に使用され,以下の場合に有用である。
  ・ SUT のタイミング診断
  ・ シミュレータとの比較によるハードウエアの動作検証
  ・ ハードウエアのタイミング関連特性の測定
  ・ グリッチの解析
2) アナログ/デジタル表示
 信号の高速化に伴って,設計マージンが小さくなり,デジタル信号のアナログ特性は,システムの性能と信頼性に大きな影響を与える。ロジックアナライザとオシロスコープを使用したアナログ/デジタルの相関表示によって,システムのアナログ特性を確認しながら,異常原因の検出が容易となる。
3) リスト表示
 リスト表示は,バス全体から取り込んだサンプルを基に,16 進数形式や他の形式で被測定システムのステートを表示することが目的である。
 ステートデータは,いくつかの形式で表示される。リアルタイムインストラクショントレースでは,バストランザクションを逆アセンブリし,インストラクションを確認する。アドレスと共に,インストラクションニーモニックが表示される。
 インストラクショントレースの履歴に相関付けたソースコードの表示によって,デバッグの効率を上げることが可能となる。
 ステート解析アプリケーションによって,更に統合された解析環境を構築することも可能となっている。


2 マイクロプロセッサ開発関連機器

 マイクロプロセッサの開発機器は,プロセッサの機能を置き換えるインサーキットエミュレータ( ICE: In-Circuit Emulator )が従来から使用されている。
 プロセッサの高速化,アプリケーションに特化したプロセッサの増加,SoC( System on Chip )化に伴って,パーケージが多様となり信号の取り出しが難しくなってきている。このような動向に対応するため,JTAG( Joint Test Action Group )エミュレータ,ROM エミュレータ等の方式も行われている。
2.1 ICE
 ICE は,マイクロプロセッサを使ったシステムの開発やデバッグを行うため,実際の CPU の代わりに装着して使う専用のプロセッサ,又はそれを使った開発支援装置のことである。通常,ターゲットシステムの CPU の代わりに ICE を CPU ソケットにそのまま接続する。実際の使用環境に極めて近い形で,CPU やメモリ内部の内容を詳細にトレースしながら実行し,特定のメモリアドレスへのアクセス等の指定された条件が発生した場合に,実行を一時的に停止させる,などの機能をもつ。ハードウエアシステムの開発,デバイスドライバのようなハードウエアに近いレベルのシステムソフトウエアの開発支援に利用される。
 デバッガとして強力な機能を提供するが,特定の CPU 向けであること,CPU の進化への追従が困難であること,SoC 化によって使用が限定されてしまうこと,という問題がある。

2.2 オンチップエミュレータ
 ICE が,CPU を入れ替えてデバッグを実行するのに対し,オンチップエミュレータは,マイクロプロセッサを実装した状態でプログラムのデバッグを行う。ICE と比べると機能的には劣るが,プロセッサとの接続が簡単であること,コストが安いことなどの利点がある。
a) JTAG エミュレータ
 検査方式の一つとして,あらかじめプロセッサ内部にプローブテストと同様の挙動を行うJTAGと呼ばれる端子及びレジスタを構成し,外部からテストコードを入力して,プロセッサの挙動をテストする方式である。
 JTAG に対応したプロセッサは,本来の機能に加えて,JTAG に対応した回路と TAP( Test Access Port )と呼ばれる 5 本の端子からなるインタフェースをもつ。
b) ROM エミュレータ
 ROM ソケットに専用プローブを挿入し,プロセッサに直接プログラムをダウンロードして実行する方式である。内蔵ポートを用いてホスト上のデバッガとの通信を行い,プログラムの実行/中断,レジスタ/メモリ内容の参照や変更を行う。
 オンチップエミュレータを使用した実現例を図3に示す。
 ASIC に組み込まれたハードウエアを使って内部の実行状況を外部に取り出し,これをデバッガやロジックアナライザで解析する。JTAG ポート及びトレースポートを通してプロセッサの実行をテストすると共に,外部バスの状態をロジックアナライザで監視している。


参考文献
1. ロジック・アナライザ入門,日本テクトロニクス,教育資料
2. ロジック・アナライザ入門,日本テクトロニクス,セミナー資料
3. ロジックアナライザ・マイクロプロセッサ開発関連機器,畑山 仁,電子計測器&システム[ガイドブック],2003 年
4. ロジック・アナライザ/マイクロプロセッサ開発関連機器,中門哲士,電子計測器&システム[ガイドブック],2005 年>