(57)【特許請求の範囲】
【請求項１】
被試験装置からのデジタル・データを取り込む取り込み回路と、
取り込まれた上記デジタル・データ内の第１特定データである第１イベントと上記第１特定データと異なる第２特定データである第２イベントを含む複数のイベントを検出して検出信号を発生するイベント検出器と、
上記検出信号に応答してトリガ機能を制御すると共に、上記イベント検出器による上記第１イベントの検出に応じて第１信号を発生し、上記イベント検出器による上記第２イベントの検出に応じて第２信号を発生するトリガ・マシンと、
該トリガ・マシンが発生した上記第１信号に応答してカウント・アップし、上記トリガ・マシンが発生した上記第２信号に応答してカウント・ダウンする双方向カウンタとを具え、
該双方向カウンタは、所定計数値にカウント・アップしたときにオーバーフロー信号を発生すると共に、別の所定計数値にカウント・ダウンしたときにアンダーフロー信号を発生し、上記オーバーフロー信号及び上記アンダーフロー信号を上記トリガ・マシンに供給することを特徴とするロジック・アナライザ。
【請求項２】
上記第１イベントは、上記被試験装置からの上記取り込みデジタル・データにおける上記被試験装置内のスタックに対するプッシュ命令の検出であり、
上記第２イベントは、上記被試験装置からの上記取り込みデジタル・データにおける上記スタックに対するポップ命令の検出であり、
上記双方向カウンタの計数値は、上記被試験装置のスタック・ポインタの値と一致することを特徴とする請求項１のロジック・アナライザ。
【請求項３】
被試験装置内のスタック・ポインタを模倣するために、双方向カウンタを用いたロジック・アナライザであって、
被試験装置からのデジタル・データを取り込む取り込み回路と、
取り込まれた上記デジタル・データ内の第１特定データである第１イベントと上記第１特定データと異なる第２特定データである第２イベントを含む複数のイベントを検出して検出信号を発生するイベント検出器と、
上記検出信号に応答してトリガ機能を制御すると共に、上記イベント検出器による上記第１イベントの検出に応じて第１信号を発生し、上記イベント検出器による上記第２イベントの検出に応じて第２信号を発生するトリガ・マシンとを具え、
上記双方向カウンタは、上記トリガ・マシンが発生した上記第１信号に応答してカウント・アップし、上記トリガ・マシンが発生した上記第２信号に応答してカウント・ダウンし、
上記双方向カウンタは、所定計数値にカウント・アップしたときにオーバーフロー信号を発生すると共に、別の所定計数値にカウント・ダウンしたときにアンダーフロー信号を発生し、上記オーバーフロー信号及び上記アンダーフロー信号を上記トリガ・マシンに供給することを特徴とするロジック・アナライザ。
【請求項４】
上記第１イベントは、上記被試験装置からの上記取り込みデジタル・データにおける上記被試験装置内のスタックに対するプッシュ命令の検出であり、
上記第２イベントは、上記被試験装置からの上記取り込みデジタル・データにおける上記スタックに対するポップ命令の検出であり、
上記双方向カウンタの計数値は、上記被試験装置のスタック・ポインタの値と一致することを特徴とする請求項３のロジック・アナライザ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、ロジック・アナライザなどの試験測定機器に用いるカウンタに関し、特に、被試験装置のメモリ・スタックの状態を示すために双方向カウンタを用いたロジック・アナライザに関する。
【０００２】
【従来の技術】
技術者は、ロジック・アナライザを用いて、被試験装置からのデジタル・データを取り込んで、被試験装置に生じたかもしれない問題を解決する手段としている。ロジック・アナライザは、非常に多くの入力線上のアドレス、クロック及びデータ情報を同時に取り込むことができるため、コンピュータ・システムを扱う技術者にとって、非常に貴重なツールである。
【０００３】
被試験装置内のメモリ・スタックの動作を調べるためにロジック・アナライザを使用したい場合に、残念なことに、後述の如き問題が生じる。この問題の詳細を説明する前に、メモリ・スタックについてを簡単に説明する。
【０００４】
「スタック」とは、データを一時的に蓄積するのに用いる記憶場所の定義された配列である。スタックは、初期状態において、空である（即ち、データが蓄積されていない）。「スタック・ポインタ」は、例えば、スタックの最も底側の記憶場所を最初に指示する。スタックにデータを蓄積することは、「スタックにデータをプッシュする」と言われ、その命令は、プッシュ命令である。また、スタックからデータを読み出すことは、「スタックからデータをポップする」と言われ、その命令は、ポップ命令である。データをスタックにプッシュすると、スタック・ポインタに現在指示された記憶場所に蓄積され、その後、スタック・ポインタは、次に高い（上側の）記憶場所を指示するようにインクリメント（上昇方向の変化）される。よって、スタックは、底から上に向かって「成長」する。データをスタックからポップするとき、スタック・ポインタは、現在よりも低い記憶場所を指示するようにデクリメント（下降方向の変化）され、その後、スタック・ポインタがその時指示している記憶場所からデータを読取る。よって、スタック・ポインタは、スタックの先端側の利用可能な記憶場所を常に指示する。
【０００５】
説明のため、あるイベント（事象）の検出に応じて、データ形式の情報をスタックに「プッシュ」し、異なるイベントの検出により、スタックから情報を「ポップ」すると仮定する。すべてがうまくいっている場合、スタックは、定義された境界内で、成長したり、縮む（即ち、スタック・ポインタが大きくなったり小さくなったりする）。
【０００６】
残念なことに、エラー状態になっても、情報を保持できない記憶場所に更なる情報をプッシュするので、スタックは、メモリ配列の上側境界付近にてオーバーフローしてデータを重ね書きしてしまう。これとは逆に、エラー状態では、情報をプッシュした以外のスタックから情報をポップするので、スタックは、メモリ配列の下側境界付近でアンダーフローしてデータを読み出してしまう。
【０００７】
【発明が解決しようとする課題】
上述の問題に対して、従来のロジック・アナライザ（例えば、非特許文献１参照）は、不正確なスタック動作の２つのモード（オーバーフロー及びアンダーフローのモード）の一方のみしか試験できない。これら２つのモードを試験できない理由は、次の通りである。従来のロジック・アナライザは、一般的に、入力イベントを計数するのに利用できる１個以上のカウンタを有する。かかるロジック・アナライザ内のトリガ・マシンが、これらカウンタをチェックして、所定計数値に達したか否かを判断できる。しかし、残念なことに、従来のロジック・アナライザに用いられているカウンタは、一方向にしか計数することができない。アップ・カウンタを用いて、オーバーフロー状態に導くイベントを計数し、ダウン・カウンタを用いて、アンダーフロー状態に導くイベントを計数するようにすることも考えられる。しかし、残念なことに、これらカウンタが互いに関連していないので、かかる試みは、両方のカウンタにおいて意味のない計数を行ってしまう。すなわち、アップ・カウンタは、ダウン・カウンタがデクリメントした回数を知らず、ダウン・カウンタはアップ・カウンタがインクリメントした回数を知らない。よって、いずれのカウンタもスタック・ポインタの正確な位置（指示）を反映した計数値を保持していない。
【０００８】
【非特許文献１】
本願出願人のテクトロニクス社が２０００年に発行した「テスト・メージャメント・アンド・モニターリング・プロダクト・カタログ２００１」第１２８ページ〜第１５３ページ
【０００９】
したがって、本発明は、被試験装置内のスタック・メモリのオーバーフロー状態及びアンダーフロー状態を正確に試験できるロジック・アナライザの提供にある。
【００１０】
【課題を解決するための手段】
本発明のロジック・アナライザ（２００）は、被試験装置からのデジタル・データを取り込む取り込み回路（２１０）と；
取り込まれたデジタル・データ内の第１特定データである第１イベントとこの第１特定データと異なる第２特定データである第２イベントを含む複数のイベントを検出して検出信号を発生するイベント検出器（２２０）と；検出信号に応答してトリガ機能を制御すると共に、イベント検出器による第１イベントの検出に応じて第１信号を発生し、イベント検出器による第２イベントの検出に応じて第２信号を発生するトリガ・マシン（２３０）と：このトリガ・マシンが発生した第１信号に応答してカウント・アップ（インクリメント）し、トリガ・マシンが発生した第２信号に応答してカウント・ダウン（デクリメント）する双方向カウンタ（２４０）とを具え；この双方向カウンタは、所定計数値にカウント・アップしたときにオーバーフロー信号を発生すると共に、別の所定計数値にカウント・ダウンしたときにアンダーフロー信号を発生し、これらオーバーフロー信号及びアンダーフロー信号をトリガ・マシンに供給することを特徴としている。
また、本発明は、被試験装置内のスタック・ポインタを模倣するために、双方向カウンタ（２４０）を用いたロジック・アナライザ（２００）であって；
被試験装置からのデジタル・データを取り込む取り込み回路（２１０）と；
取り込まれた上記デジタル・データ内の第１特定データである第１イベントと第１特定データと異なる第２特定データである第２イベントを含む複数のイベントを検出して検出信号を発生するイベント検出器（２２０）と；検出信号に応答してトリガ機能を制御すると共に、イベント検出器による第１イベントの検出に応じて第１信号を発生し、イベント検出器による第２イベントの検出に応じて第２信号を発生するトリガ・マシン（２３０）とを具え；双方向カウンタは、トリガ・マシンが発生した第１信号に応答してカウント・アップ（インクリメント）し、トリガ・マシンが発生した第２信号に応答してカウント・ダウン（デクリメント）し；双方向カウンタは、所定計数値にカウント・アップしたときにオーバーフロー信号を発生すると共に、別の所定計数値にカウント・ダウンしたときにアンダーフロー信号を発生し、これらオーバーフロー信号及びアンダーフロー信号をトリガ・マシンに供給することを特徴としている。
【００１１】
本発明によるロジック・アナライザは、あるイベントの検出に応答してインクリメントし、他の異なるイベントの検出に応答してデクリメントできる双方向カウンタを用いている。かかるロジック・アナライザのトリガ・マシンは、オーバーフロー（所定計数へのインクリメント）及びアンダーフロー（別の所定計数へのデクリメント）の両方を試験できる。
【００１２】
【発明の実施の形態】
本発明の理解を助けるために、先ず、従来のロジック・アナライザについて更に説明する。図２は、従来のロジック・アナライザのトリガ部分を中心とした簡略化したブロック図である。かかる従来のロジック・アナライザ１００は、被試験装置からのデータを取り込む入力チャネル回路（取り込み回路）１１０を含んでいる。かかる入力チャネル回路１１０は、サンプリング・ゲートにより、入力デジタル・データをサンプリングして、取り込みメモリ（図示せず）に蓄積される。一方、入力チャネル回路１１０で取り込まれたデータは、イベント検出回路（イベント検出器）１２０にも供給される。このイベント検出回路１２０は、例えば、被試験装置のデジタル・データ・バス上で伝送されている「スタックへのプッシュ」命令及び「スタックからのポップ」命令などを検出する。イベント検出回路１２０は、ワード・レコグナイザ（所定ワードを認識する回路）、レンジ・レコグナイザ（所定レンジを認識する回路）、トランジション検出器（所定の遷移を検出する回路）、及び／又は、任意特定の状況が生じたか否かを判断する他のハードウェア回路を具えていてもよい。この例においては、イベント検出回路１２０は、取り込んだ「プッシュ」及び「ポップ」命令データの検出を表すイベント検出信号を発生し、イベント線（図2では、図を簡単にするために単一のイベント線として示す）を介して、これらイベント検出信号をトリガ・マシン１３０に供給する。トリガ・マシン１３０は、一種のステート・マシンであり、イベント検出回路１２０からのイベント線、アップ・カウンタ１４０からのオーバーフロー指示線と、ダウン・カウンタ１５０からのアンダーフロー指示線をモニタし、被試験装置から取り込んだデータの履歴を判断して、機能ブロック１６０に示す種々の機能を実行させる。これら機能には、所定のイベントの組合せを検出したことにより、トリガ信号を発生したり、このトリガ信号により、取り込みメモリ（図示せず）の蓄積を制御したり、その他のトリガ機能を制御する。トリガ・マシン１３０は、複数のカウンタを制御するが、これらの内の２個のカウンタのみを図２に示す。カウンタ１４０は、アップ・カウンタであり、カウンタ１５０は、ダウン・カウンタである。トリガ・マシン１３０は、イベント検出回路１２０からのプッシュ命令検出信号に応じて、カウント（計数）信号をアップ・カウンタ１４０に供給し、また、イベント検出回路１２０からのポップ命令検出信号に応じて、カウント信号をダウン・カウンタ１５０に供給する。トリガ・マシン１３０は、アップ・カウンタ１４０からのオーバーフロー指示線と、ダウン・カウンタ１５０からのアンダーフロー指示線をモニタする。カウンタ１４０及び１５０の一方は、他方の計数方向を変更できない点に留意することが重要である。また、トリガ・マシン１３０は、その状態により、カウンタ１４０及び１５０にリセット信号及びホールド信号も供給する。
【００１３】
表１は、各ステップにおける取り込み命令のデータと、アップ・カウンタ１４０の内容と、ダウン・カウンタ１５０の内容と、実際のスタック・ポインタの値との関係を示す。記憶場所０〜４である５バイトのスタックにおいて、ランダムにプッシュ及びポップ動作を行った例における問題を示している。ステップ０において、アップ・カウンタ１４０が０の値に初期化されており、ダウン・カウンタ１５０が４に初期化されており、被試験装置のスタック・ポインタが記憶場所０を実際に示していると仮定する。アップ・カウンタ１４０のオーバーフローは、５の値（即ち、最高スタック・アドレスよりも１だけ大きい値）に設定されている。ダウン・カウンタ１５０のアンダーフローは、−１の値（即ち、最下位のスタック・アドレスよりも１だけ小さい値）に設定されている。カウンタ１４０及び１５０を制御するのに利用できる命令は、カウント（計数）、リセット及びホールド（保持）のみである点に留意されたい。
【００１４】
【表１】
0004049309.tif 000002
【００１５】
ステップ１からステップ８まで、取り込み命令データが表１のように進むと、アップ・カウンタ１４０及びダウン・カウンタ１５０の内容も表１に示すように進む。この際のスタック・ポインタの実際の値も表１に示す。このように表１に示すように進むと、ステップ８において、スタック・ポインタがオーバーフローしたとアップ・カウンタ１４０が誤って指示するが、実際には、スタック・ポインタは、有効なスタック記憶場所（即ち、記憶場所２）を指示している点に留意されたい。また、アップ・カウンタ及びダウン・カウンタの計数値も、各ステップにおいて実際のスタック・ポインタ値と異なる。
【００１６】
かかる従来技術の説明を踏まえて、次に、図１及び表２を参照して本発明を説明する。図１は、本発明によるロジック・アナライザのトリガ部分を中心とした簡略化したブロック図である。かかる図１に示すロジック・アナライザ２００において、入力チャネル回路２１０は、図２の入力チャネル回路１１０に対応し、イベント検出回路２２０は、図２のイベント検出回路１２０に対応し、トリガ・マシン２３０は、図２のトリガ・マシン１３０に対応し、ブロック２６０は、図２のブロック１６０に対応する。これら類似の参照符号のブロックは、図２の対応ブロックと同じ機能を果たすので、これらブロックの詳細説明を省略する。トリガ・マシン２３０は、イベント検出回路２２０が検出したプッシュ命令に応じて、インクリメント検出信号（第１信号）を発生し、また、イベント検出回路２２０が検出したポップ命令に応じて、デクリメント検出信号（第２信号）を発生して、カウンタ２４０に供給する。このカウンタ２４０は、双方向カウンタであり、インクリメント（上昇方向の変化、即ち、カウンタ・アップ）及びデクリメント（下降方向の変化、即ち、カウンタ・ダウン）をできることに留意されたい。かかる双方向カウンタ２４０は、インクリメント信号、デクリメント信号、リセット信号及びホールド信号をトリガ・マシン２３０から受け、オーバーフロー信号及びアンダーフロー信号をトリガ・マシン２３０に供給する。トリガ・マシン２３０は、上述のトリガ・マシン１３０と同様にステート・マシンとして動作する。
【００１７】
表２は、各ステップにおける取り込み命令のデータと、双方向カウンタ２４０の内容と、実際のスタック・ポインタの値との関係を示す。かかる表２のステップ０において、双方向カウンタが０の値に初期化され、被試験装置内のスタック・ポインタが記憶場所０を実際に指示していると仮定する。双方向カウンタ２４０のオーバーフローは、５の値（即ち、最大のスタック・アドレスよりも１だけ大きい値）に設定され、そのアンダーフローは、−１（即ち、最低のスタック・アドレスよりも１だけ小さい値）に設定される。図２に示す従来技術では、カウンタ１４０及び１５０を制御するのに利用可能な命令は、カウント、リセット及びホールドのみであった点に留意されたい。しかし、本発明では、双方向カウンタ２４０を制御するのに利用できる命令は、インクリメント、デクリメント、リセット及びホールドである。ステップ１からステップ８まで、取り込み命令データが表２のように進むと、双方向カウンタ２４０及び実際のスタック・ポインタ値も表２に示すように進む。このように、表２は、双方向カウンタ２４０の動作がスタック・ポインタの値と正確に一致していることを示している。よって、双方向カウンタ２４０の計数値は、被試験装置のスタック・ポインタのアドレスを模倣したことになる。
【００１８】
【表２】
0004049309.tif 000003
【００１９】
従来技術のカウンタとは異なり、本発明による双方方向カウンタ２４０の値は、デクリメント機能と同じ値で動作すると共に、インクリメント機能と同じ値でも動作する点に留意されたい。よって、最初に受けた命令が、スタックからのデータを読取るポップ命令ならば、双方カウンタ２４０は、アンダーフロー状態を正確に指示できる。
【００２０】
上述した本発明の構成では、双方向カウンタを用いて、従来技術で問題であったインクリメント及びデクリメントの両方のモードを同時に試験できる。かかる同時試験は、従来のロジック・アナライザでは、実現できなかった。
【００２１】
図を参照して、個別のロジック・アナライザについて本発明を用いた場合を説明したが、総てのロジック回路をＡＳＩＣ、又は、ＦＰＧＡ（フィールド・プログラム・ゲート・アレイ）へのプログラムにより実現でき、これらの変更は、本発明の要旨の範囲内であることが当業者には実現できよう。
【００２２】
【発明の効果】
上述の如く、本発明のロジック・アナライザによれば、被試験装置内のスタック・メモリのオーバーフロー状態及びアンダーフロー状態を正確に試験できる。
【図面の簡単な説明】
【図１】本発明によるロジック・アナライザのトリガ部分を中心とした簡略化したブロック図である。
【図２】従来のロジック・アナライザのトリガ部分を中心とした簡略化したブロック図である。
【符号の説明】
１００、２００  ロジック・アナライザ
１１０、２１０  入力チャネル回路（取り込み回路）
１２０、２２０  イベント検出回路（イベント検出器）
１３０、２３０  トリガ・マシン
１４０  アップ・カウンタ
１５０  ダウン・カウンタ
２４０  双方向カウンタ
１６０、２６０  機能ブロック
【図１】
0004049309.tif 000004
【図２】
0004049309.tif 000005