(57)【要約】【課題】長期間にわたり電源電流や電源電圧などのアナログ信号を測定可能な試験装置あるいは波形データ取得モジュールを提供する。【解決手段】波形データ取得モジュール１４０は、複数チャンネルＣＨ１〜ＣＨＮの電気信号の波形を取り込む。メモリコントローラ１６０は、第１メモリ１５６Ａおよび第２メモリ１５６Ｂの一方にデジタル信号Ｓ３を連続して書き込み、メモリフルになるとモジュールインタフェース１８０を介して外部の上位コントローラ１１０にメモリフルであることを通知し、書き込み先のメモリを他方に切り替える。【選択図】図２
2020165711.tif 000002
【特許請求の範囲】
【請求項１】
複数チャンネルの電気信号の波形を取り込む波形データ取得モジュールであって、
複数チャンネルのキャプチャユニットと、
モジュールインタフェースと、
を備え、
各キャプチャユニットは、
対応するチャンネルの電気信号をデジタル信号に変換するＡ／Ｄコンバータと、
第１メモリおよび第２メモリと、
前記第１メモリおよび前記第２メモリの一方に前記デジタル信号を連続して書き込み、メモリフルになると前記モジュールインタフェースを介して外部の上位コントローラにメモリフルであることを通知するとともに、書き込み先のメモリを他方に切り替えるメモリコントローラと、
を含むことを特徴とする波形データ取得モジュール。
【請求項２】
前記モジュールインタフェースは、前記上位コントローラからのリード命令に応答して、前記メモリコントローラに対して、ローカルのリード命令を供給し、
前記メモリコントローラは、前記ローカルのリード命令に応答して、前記第１メモリおよび前記第２メモリのうち、メモリフルである一方のデータを、前記モジュールインタフェースを介して前記上位コントローラに出力することを特徴とする請求項１に記載の波形データ取得モジュール。
【請求項３】
前記上位コントローラからのリード命令は、複数のチャンネルを同時に対象として指定することができ、
前記モジュールインタフェースは、指定された複数のチャンネルを順に選択し、選択したチャンネルの前記メモリコントローラに前記ローカルのリード命令を供給することを特徴とする請求項２に記載の波形データ取得モジュール。
【請求項４】
前記メモリコントローラは、
前記第１メモリがメモリフルになるとアサートされ、前記第１メモリからすべてのデータが読み出されるとネゲートされる第１メモリフルフラグと、
前記第２メモリがメモリフルになるとアサートされ、前記第２メモリからすべてのデータが読み出されるとネゲートされる第２メモリフルフラグと、
を生成することを特徴とする請求項１から３のいずれかに記載の波形データ取得モジュール。
【請求項５】
前記メモリコントローラは、前記第１メモリフルフラグがネゲートされると、次回の読み出し先を第２メモリとし、前記第２メモリフルフラグがネゲートされると、次回の読み出し先を第１メモリとすることを特徴とする請求項４に記載の波形データ取得モジュール。
【請求項６】
前記モジュールインタフェースは、前記複数チャンネルのメモリフルフラグをパケット化して、前記上位コントローラに送信することを特徴とする請求項４または５に記載の波形データ取得モジュール。
【請求項７】
前記メモリコントローラは、前記第１メモリフルフラグと、前記第２メモリフルフラグが同時にアサートされると、メモリオーバーフローフラグをアサートすることを特徴とする請求項４から６のいずれかに記載の波形データ取得モジュール。
【請求項８】
前記モジュールインタフェースは、前記複数チャンネルのメモリオーバーフローフラグをパケット化して、前記上位コントローラに送信することを特徴とする請求項７に記載の波形データ取得モジュール。
【請求項９】
前記モジュールインタフェースは、前記複数チャンネルの波形測定完了フラグをパケット化して、前記上位コントローラに送信することを特徴とする請求項１から８のいずれかに記載の波形データ取得モジュール。
【請求項１０】
上位コントローラと、
複数の波形データ取得モジュールであって、各波形データ取得モジュールは、請求項１から９のいずれかに記載されるものである複数の波形データ取得モジュールと、
を備えることを特徴とする試験装置。
【請求項１１】
上位コントローラと、
それぞれが、複数チャンネルの電気信号の波形を取り込むよう構成される、複数の波形データ取得モジュールと、
複数のファンクション試験モジュールと、
を備え、
各波形データ取得モジュールは、
複数チャンネルのキャプチャユニットと、
モジュールインタフェースと、
を備え、
各キャプチャユニットは、
対応するチャンネルの電気信号をデジタル信号に変換するＡ／Ｄコンバータと、
前記デジタル信号を格納するメモリと、
を含み、
前記上位コントローラは、前記モジュールインタフェースに対して、複数チャンネルを同時に対象として指定するリード命令を発行し、
前記モジュールインタフェースは、指定された複数のチャンネルを順に選択し、選択したチャンネルの前記キャプチャユニットのメモリからデータを読み出して前記上位コントローラに出力することを特徴とする試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体試験装置に関する。
【背景技術】
【０００２】
近年、さまざまな電子機器に利用される半導体デバイスの種類は、非常に多岐にわたっている。半導体デバイスとしては、（i）ＤＲＡＭ（Dynamic Random Access Memory）やフラッシュメモリなどのメモリデバイスや、（ii）ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）、マイクロコントローラなどのプロセッサ、あるいは（iii）デジタル／アナログ混載デバイス、ＳｏＣ（System On Chip）などの多機能デバイスが例示される。これらの半導体デバイスを試験するために、半導体試験装置（以下、単に試験装置ともいう）が利用される。
【０００３】
半導体デバイスの試験項目は、主としてファンクション試験、パラメトリック試験、ＤＣ（直流）試験に大別される。ファンクション試験では、ＤＵＴ（被試験デバイス）が設計通りに正常に動作するか否かが判定され、不良箇所が特定される。パラメトリック試験は主としてＲＦデバイスなどに対して行われるものであり、ＤＵＴの性能を表す評価値（出力パワーや歪み）が取得される。ＤＣ試験では、ＤＵＴのリーク電流測定、動作電流（電源電流）測定、耐圧などが測定される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半導体デバイスに流れる電源電流は、半導体デバイスの動作と直結しているため、電源電流波形には、半導体デバイスの状態を解析する上で有益な情報が多く含まれている。また電源電圧は、電源電流の変動に応じて変動するため、電源電圧波形にもデバイスの解析に有益な情報が含まれている。
【０００５】
ところが従来の半導体試験装置は、ファンクション試験とＤＣ試験を並行して行う機能をサポートしていなかった。したがってユーザは、その必要がある場合には、半導体試験装置とは別に、オシロスコープなどのハードウェアを追加し、半導体試験装置を走らせながら、それと並行して、電源電圧波形などを測定する必要があった。また、オシロスコープなどを用いる場合、波形を取り込める時間に制約が生じ、ファンクション試験の開始から終了までの長時間にわたり、波形を取り込むことはできなかった。
【０００６】
本発明は係る課題に鑑みてされたものであり、そのある態様の例示的な目的のひとつは、長期間にわたり電源電流や電源電圧などのアナログ信号を測定可能な試験装置あるいは波形データ取得モジュールの提供にある。また目的の別のひとつは、多くのデータを効率的に収集可能な試験装置の提供にある。
【課題を解決するための手段】
【０００７】
本発明のある態様の波形データ取得モジュールは、複数チャンネルの電気信号の波形を取り込む波形データ取得モジュールであって、複数チャンネルのキャプチャユニットと、モジュールインタフェースと、を備える。各キャプチャユニットは、対応するチャンネルの電気信号をデジタル信号に変換するＡ／Ｄコンバータと、第１メモリおよび第２メモリと、第１メモリおよび第２メモリの一方にデジタル信号を連続して書き込み、メモリフルになるとモジュールインタフェースを介して外部の上位コントローラにメモリフルであることを通知するとともに、書き込み先のメモリを他方に切り替えるメモリコントローラと、を含む。
【０００８】
本発明のさらに別の態様は、試験装置である。この装置は、上位コントローラと、それぞれが、複数チャンネルの電気信号の波形を取り込むよう構成される、複数の波形データ取得モジュールと、複数のファンクション試験モジュールと、を備える。各波形データ取得モジュールは、複数チャンネルのキャプチャユニットと、モジュールインタフェースと、を備える。各キャプチャユニットは、対応するチャンネルの電気信号をデジタル信号に変換するＡ／Ｄコンバータと、デジタル信号を格納するメモリと、を含む。上位コントローラは、モジュールインタフェースに対して、複数チャンネルを同時に対象として指定するリード命令を発行し、モジュールインタフェースは、指定された複数のチャンネルを順に選択し、選択したチャンネルのキャプチャユニットのメモリからデータを読み出して上位コントローラに出力する。
【０００９】
なお、以上の構成要素を任意に組み合わせたもの、あるいは本発明の表現を、方法、装置などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明のある態様によれば、長時間にわたる膨大なデータを取得できる。またある態様によれば、多くのデータを効率的に収集できる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態に係る試験装置のブロック図である。
【図２】波形データ取得モジュールのブロック図である。
【図３】メモリコントローラおよび第１メモリ、第２メモリの構成例を示すブロック図である。
【図４】メモリアクセスの書き込みに関するタイムチャートである。
【図５】データの読み出しに関するタイムチャートである。
【図６】メモリのオーバーフローの検出を説明するタイムチャートである。
【図７】上位コントローラおよび波形データ取得モジュールのブロック図である。
【図８】上位コントローラと波形データ取得モジュールの間のデータアクセスを説明するシーケンス図である。
【図９】直接割り込みのパケット生成に関するブロック図である。
【図１０】図９のパケット生成部の動作を説明する図である。
【発明を実施するための形態】
【００１２】
（実施の形態の概要）
本明細書に開示される一実施の形態は、波形データ取得モジュールに関する。波形データモジュールは、複数チャンネルの電気信号の波形を取り込み可能に構成される。波形データ取得モジュールは、複数チャンネルのキャプチャユニットと、モジュールインタフェースと、を備える。各キャプチャユニットは、対応するチャンネルの電気信号をデジタル信号に変換するＡ／Ｄコンバータと、第１メモリおよび第２メモリと、第１メモリおよび第２メモリの一方にデジタル信号を連続して書き込み、メモリフルになるとモジュールインタフェースを介して外部の上位コントローラにメモリフルであることを通知するとともに、書き込み先のメモリを他方に切り替えるメモリコントローラと、を含む。
【００１３】
メモリフルの通知を受けた上位コントローラは、そのメモリからデータを読み出すことができる。この波形データ取得モジュールによれば、２個のメモリに交互に波形データを格納することで、時間的な制約なく、膨大な波形データを取り込み続けることができる。
【００１４】
モジュールインタフェースは、上位コントローラからのリード命令に応答して、メモリコントローラに対して、ローカルのリード命令を供給してもよい。メモリコントローラは、ローカルのリード命令に応答して、第１メモリおよび第２メモリのうち、メモリフルである一方のデータを、モジュールインタフェースを介して上位コントローラに出力してもよい。
【００１５】
上位コントローラからのリード命令は、複数のチャンネルを同時に対象として指定することができてもよい。モジュールインタフェースは、指定された複数のチャンネルを順に選択し、選択したチャンネルのメモリコントローラにローカルのリード命令を供給してもよい。これにより、上位コントローラは、複数チャンネル分のデータを短時間で効率的に収集できる。
【００１６】
メモリコントローラは、第１メモリがメモリフルになるとアサートされ、第１メモリからすべてのデータが読み出されるとネゲートされる第１メモリフルフラグと、第２メモリがメモリフルになるとアサートされ、第２メモリからすべてのデータが読み出されるとネゲートされる第２メモリフルフラグと、を生成してもよい。
【００１７】
メモリコントローラは、第１メモリフルフラグがネゲートされると、次回の読み出し先を第２メモリとし、第２メモリフルフラグがネゲートされると、次回の読み出し先を第１メモリとしてもよい。
【００１８】
モジュールインタフェースは、複数チャンネルのメモリフルフラグをパケット化して、上位コントローラに送信してもよい。これにより、従来の割り込みよりも高速に、上位コントローラに通知することができる。
【００１９】
メモリコントローラは、第１メモリフルフラグと、第２メモリフルフラグが同時にアサートされると、メモリオーバーフローフラグをアサートしてもよい。
【００２０】
モジュールインタフェースは、複数チャンネルのメモリオーバーフローフラグをパケット化して、上位コントローラに送信してもよい。これにより、別のデータによって上書きされて壊れたデータを、上位コントローラに知らせることができる。上位コントローラは、壊れたデータを破棄してもよい。またパケットで送信することで、従来の割り込みよりも高速に、上位コントローラに通知することができる。
【００２１】
モジュールインタフェースは、複数チャンネルの波形測定完了フラグをパケット化して、上位コントローラに送信してもよい。これにより、従来の割り込みよりも高速に、上位コントローラに通知することができる。
【００２２】
本発明の別の態様は、試験装置である。この試験装置は、複数の波形データ取得モジュールと、上位コントローラと、を備える。
【００２３】
一実施の形態には試験装置が開示される。試験装置は、上位コントローラと、それぞれが、複数チャンネルの電気信号の波形を取り込むよう構成される、複数の波形データ取得モジュールと、複数のファンクション試験モジュールと、を備える。各波形データ取得モジュールは、複数チャンネルのキャプチャユニットと、モジュールインタフェースと、を備える。各キャプチャユニットは、対応するチャンネルの電気信号をデジタル信号に変換するＡ／Ｄコンバータと、デジタル信号を格納するメモリと、を含む。上位コントローラは、モジュールインタフェースに対して、複数チャンネルを同時に対象として指定するリード命令を発行し、モジュールインタフェースは、指定された複数のチャンネルを順に選択し、選択したチャンネルのキャプチャユニットのメモリからデータを読み出して上位コントローラに出力する。この構成によれば、多チャンネル分の多くのデータを効率的に収集できる。
【００２４】
（実施の形態）
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００２５】
（試験システム全体について）
図１は、実施の形態に係る試験装置１００のブロック図である。この試験装置１００は、複数のＤＵＴ（被試験デバイス）２それぞれについて、ファンクション試験を実行しながら、それと並行してＤＵＴ２の電気的状態を示す電気信号の波形をキャプチャする。試験装置１００がキャプチャするＤＵＴ２の電気信号の種類は特に限定されないが、たとえば電源電圧や電源電流などが例示される。
【００２６】
一般的に、ＤＵＴ２のファンクション試験には、非常に長い時間を要する。試験装置１００は、ファンクション試験の開始から終了までの長い時間全体にわたり（あるいはその一部分について）、電気信号の波形を取り込み続ける機能を備える。以下、試験装置１００がキャプチャする電源電圧や電源電流を、電源信号と総称する。
【００２７】
試験装置１００は、上位コントローラ１１０、バススイッチ１２０、複数のファンクション試験モジュール１３０＿１〜１３０＿Ｎ、複数の波形データ取得モジュール１４０＿１〜１４０＿Ｎを備える。
【００２８】
上位コントローラ１１０は、試験装置１００全体を統括的に制御するコントローラであり、後述するようにＣＰＵ（Central Processing Unit）、メモリ、ＣＰＵが実行するプログラムなどで構成される。ファンクション試験モジュール１３０＿１〜１３０＿Ｍおよび波形データ取得モジュール１４０＿１〜１４０＿Ｍは、バススイッチ１２０を介して上位コントローラ１１０と接続される。上位コントローラ１１０は、ファンクション試験モジュール１３０および波形データ取得モジュール１４０に対して、指令を与え、あるいはそれらからデータを読み出す。上位コントローラ１１０は、波形データ取得モジュール１４０が測定した複数チャンネル分の膨大なデータ（ビッグデータ）を収集する。
【００２９】
複数のＤＵＴ２は、複数のグループＧＰ１〜ＧＰＭにわけられる。ファンクション試験モジュール１３０＿ｉ（ｉ＝１〜Ｍ）と波形データ取得モジュール１４０＿ｉはペアをなしており、共通のグループＧＰｉに割り当てられる。ファンクション試験モジュール１３０＿ｉは、たとえば、割り当てられたグループＧＰｉ内の複数のＤＵＴ２それぞれに対して、データ（テストパターン）を与え、データを読み出して、期待値と比較することにより、ＤＵＴ２の良否を判定する。ＤＵＴ２の種類は限定されないが、マイコン（Microcontroller）、メモリ、ＣＰＵ（Central Processing Unit）などが例示される。
【００３０】
波形データ取得モジュール１４０＿ｉは、割り当てられたグループＧＰ＿ｉ内の複数のＤＵＴ２それぞれの電源信号の波形をキャプチャする。波形データ取得モジュール１４０はそれぞれ、Ｎチャンネル（ＣＨ１〜ＣＨＮ）で構成される。１チャンネルは、１つのピンと対応付けられ、チャンネルごとに、１個の電気信号の波形をキャプチャすることができる。
【００３１】
１個のＤＵＴ２について、電源電圧と電源電流を測定する場合、Ｎチャンネルの波形データ取得モジュール１４０によって、Ｎ／２個のＤＵＴ２が割り当てられる。Ｎ＝９６の場合、４８個のＤＵＴ２の電源電圧と電源電流の波形が取得される。
【００３２】
波形データ取得モジュール１４０に、試験開始から終了までにわたる電源信号の波形を完全に保存しようとすると、波形データ取得モジュール１４０に非常に大きな容量のメモリが必要となり、コストの観点から現実的ではない。そこで以下では、１個の波形データ取得モジュール１４０に搭載するメモリの容量を削減するためのアーキテクチャを説明する。
【００３３】
（波形データ取得モジュール）
図２は、波形データ取得モジュール１４０のブロック図である。上述のように、波形データ取得モジュール１４０は、複数チャンネルＣＨ１〜ＣＨＮの信号波形をキャプチャ可能に構成される。
【００３４】
波形データ取得モジュール１４０は、複数のチャンネルＣＨ１〜ＣＨＮに対応する複数のキャプチャユニット１５０＿１〜１５０＿Ｎと、モジュールインタフェース１８０と、を備える。
【００３５】
複数のキャプチャユニット１５０＿１〜１５０＿Ｎは同様に構成される。キャプチャユニット１５０は、Ａ／Ｄコンバータ１５２、信号処理部１５４、第１メモリ１５６Ａ、第２メモリ１５６Ｂ、メモリコントローラ１６０を備える。信号処理部１５４およびメモリコントローラ１６０は、ＦＰＧＡ（Field Programmable Gate Array）で構成してもよい。この場合においてメモリ１５６Ａ，１５６Ｂは、ＦＰＧＡに内蔵されるＳＲＡＭであってもよい。
【００３６】
Ａ／Ｄコンバータ１５２は、所定のサンプリングレートで、キャプチャの対象である電源信号（アナログ信号）Ｓ１を、デジタル信号Ｓ２に変換する。サンプリングレートは、チャンネルごとに個別に設定可能である。
【００３７】
信号処理部１５４は、必要に応じて、デジタル信号Ｓ２に対して信号処理を施す。信号処理の内容は特に限定されないが、たとえばキャリブレーション処理が例示される。信号処理部１５４における信号処理後のデジタルデータＳ３は、メモリコントローラ１６０に入力される。
【００３８】
メモリコントローラ１６０には２個のメモリ１５６Ａ，１５６Ｂが接続される。メモリ１５６Ａ、１５６Ｂを、バンクＡ（ＢＡＮＫＡ），バンクＢ（ＢＡＮＫＢ）とも表記する。メモリ１５６Ａ、１５６Ｂは、たとえば８ｋワード程度の安価なメモリを採用することができる。
【００３９】
メモリコントローラ１６０は、２個のメモリ１５６Ａ，１５６Ｂを時分割で交互に使用する。具体的にはデジタルデータＳ３を２個のメモリ１５６Ａ，１５６Ｂの一方１５６＃（＃＝Ａ，Ｂ）に書き込んでいき、メモリ１５６＃がフルになると、デジタルデータＳ３の書き込み先を他方のメモリに切り替える。またメモリコントローラ１６０は、一方のメモリ１５６＃がフルになったことを示すフラグＭＥＭＯＲＹ＿ＦＵＬＬ＿＃（＃＝Ａ，Ｂ）をアサートする。
【００４０】
モジュールインタフェース１８０は、上位コントローラ１１０と複数のキャプチャユニット１５０＿１〜１５０＿Ｎとのインタフェースである。
【００４１】
モジュールインタフェース１８０は、複数のチャンネルＣＨ１〜ＣＨＮそれぞれにおけるフラグＭＥＭＯＲＹ＿ＦＵＬＬ＿＃（＃＝Ａ，Ｂ）を監視し、どのチャンネルのメモリがフルになっているかを、上位コントローラ１１０に通知する。
【００４２】
またモジュールインタフェース１８０は、キャプチャユニット１５０＿１〜１５０＿Ｎにおいて発生するエラーを監視し、エラーの状態を上位コントローラ１１０に通知する。モジュールインタフェース１８０から上位コントローラ１１０への通知には後述の直接割り込みが使用される。
【００４３】
上位コントローラ１１０は、モジュールインタフェース１８０からの通知によって、どのチャンネルにおいてメモリ１５６がフルになっているかを知ることができる。上位コントローラ１１０は、フルになっているチャンネルを指定し、モジュールインタフェース１８０にリード命令を発行する。
【００４４】
本実施の形態において、１つのメモリ命令によって、任意の複数のチャンネルを同時に指定可能となっている。モジュールインタフェース１８０は、上位コントローラ１１０からリード命令を受けると、指定されたチャンネルに対して順番に、ローカルの読み出し命令ＬＯＣＡＬ＿ＲＥＡＤを与える。モジュールインタフェース１８０から、ローカルの読み出し命令ＬＯＣＡＬ＿ＲＥＡＤを受信したメモリコントローラ１６０は、フルになっているバンクからデータを読み出し、それを出力する。フルになっているバンクからのデータの読み出しが完了すると、そのバンクに関するメモリフルフラグＭＥＭＯＲＹ＿ＦＵＬＬ＿＃がネゲート（デアサート）される。
【００４５】
上位コントローラ１１０が１回のリードで取得するデータは、波形データの１部分である。上位コントローラ１１０は、同じチャンネルの波形データの部分を繋ぎ合わせて、元の連続した波形データを復元する。
【００４６】
波形データ取得モジュール１４０によれば、２個のメモリ１５６Ａ，１５６Ｂに交互に波形データを格納することで、時間的な制約なく、膨大な波形データを取り込み続けることができる。またメモリフルとなるたびに、上位コントローラ１１０に通知を送信することで、上位コントローラ１１０にデータの読み出しを促すことができる。
【００４７】
（メモリコントローラ）
図３は、メモリコントローラ１６０およびメモリ１５６Ａ，１５６Ｂの構成例を示すブロック図である。この例において、メモリ１５６Ａ，１５６Ｂは１ワード１９ビットのデュアルポートメモリである。メモリ１５６Ａ，１５６Ｂはそれぞれ８ｋワードの容量を有する。
【００４８】
各メモリ１５６は、ポートａのアドレス入力ａｄｄｒｅｓｓ＿ａ［１２：０］、ポートａのデータ入力ｄａｔａ＿ａ［１８：０］、ポートａのライトイネーブルｗｒｅｎ＿ａ、ポートｂのアドレス入力ａｄｄｒｅｓｓ＿ｂ［１２：０］、ポートｂのデータ入力ｄａｔａ＿ｂ［１８：０］、ポートｂのライトイネーブルｗｒｅｎ＿ｂを有する。
【００４９】
メモリコントローラ１６０には、信号処理部１５４からのデジタルデータＳ３と、それと同期したライトイネーブル信号ＭＥＡＳ＿ＭＥＭＯＲＹ＿ＷＥＮが入力される。デジタルデータＳ３は、１８ビットのデータＣＡＬ＿ＤＡＴＡ［１７：０］である。ライトイネーブル信号ＭＥＡＳ＿ＭＥＭＯＲＹ＿ＷＥＮは、信号処理部１５４によって、ＣＡＬ＿ＤＡＴＡ［１７：０］が生成されるたびにアサートされる。
【００５０】
またメモリコントローラ１６０には、測定アドレスＭＥＡＳ＿ＡＤＤＲＥＳＳ［２８：０］が入力される。測定アドレスＭＥＡＳ＿ＡＤＤＲＥＳＳ［２８：０］は、測定開始からのサンプリング回数を示してもよい。
【００５１】
またメモリコントローラ１６０には、信号処理部１５４からのエラー信号ＯＶＥＲ，ＯＶＲ＿ＳＴＢＹが入力される。エラー信号ＯＶＥＲは、信号処理部１５４での演算中にオーバーフローが発生したこと、あるいは測定データにオーバーフローがあることを示すフラグである。またエラー信号ＯＶＲ＿ＳＴＹＢは、Ａ／Ｄコンバータ１５２による測定中にオーバーフローが発生したことを示すフラグである。
【００５２】
メモリコントローラ１６０は、メモリへのデータの書き込みに関して、ライトエンコーダ１６２、ライトセレクタ１６４、ライトカウンタ１６６、ステートマシン１６８を備える。
【００５３】
ライトエンコーダ１６２は、データＣＡＬ＿ＤＡＴＡ［１７：０］、エラー信号ＯＶＥＲ，ＯＶＲ＿ＳＴＢＹを受け、メモリ１５６Ａ，１５６Ｂに書き込むべき１９ビットのデータｍｅｍ＿ｄａｔａ［１８：０］を生成する。エラーが発生していないとき、データｍｅｍ＿ｄａｔａ［１８：０］は、元のデータＣＡＬ＿ＤＡＴＡ［１７：０］またはそれを加工したデータを含んでおり、エラーが発生しているとき、データｍｅｍ＿ｄａｔａ［１８：０］は所定のコードを含む。
【００５４】
ライトセレクタ１６４は、測定アドレスＭＥＡＳ＿ＡＤＤＲＥＳＳ［２８：０］と、測定メモリライトイネーブル信号ＭＥＡＳ＿ＭＥＭＯＲＹ＿ＷＥＮを受ける。ＭＥＡＳ＿ＡＤＤＲＥＳＳ［２８：０］は、イネーブル信号ＭＥＡＳ＿ＭＥＭＯＲＹ＿ＷＥＮのアサートごとにインクリメントされる。
【００５５】
ライトセレクタ１６４は、測定アドレスＭＥＡＳ＿ＡＤＤＲＥＳＳ［２８：０］の下位１４ビット目ＭＥＡＳ＿ＡＤＤＲＥＳＳ［１３］にもとづいて、書き込み先のメモリ（１５６Ａ，１５６Ｂ）を選択する。具体的には、ＭＥＡＳ＿ＡＤＤＲＥＳＳ［１３］が０のとき、メモリ１５６Ａが選択され、１のときメモリ１５６Ｂが選択される。ライトセレクタ１６４は、選択したメモリ１５６＃のアドレス入力ａｄｄｒｅｓｓ＿＃［１２：０］に、測定アドレスＭＥＡＳ＿ＡＤＤＲＥＳＳ［２８：０］の下位１３ビットＭＥＡＳ＿ＡＤＤＲＥＳＳ［１３：０］を供給し、選択したメモリ１５６＃のライトイネーブルｗｒｅｎ＿＃に、ライトイネーブル信号ＭＥＡＳ＿ＭＥＭＯＲＹ＿ＷＥＮを供給する。
【００５６】
これにより、新たな測定データＣＡＬ＿ＤＡＴＡが生成されるたびに、それが適切なメモリ（バンク）に書き込まれていく。
【００５７】
ライトカウンタ１６６は、ライトイネーブル信号ＭＥＡＳ＿ＭＥＭＯＲＹ＿ＷＥＮを監視し、書き込み回数をカウントする。このカウント値はステートマシン１６８に供給される。
【００５８】
ステートマシン１６８は、現在の書き込み先である一方のメモリ１５６＃がフルになると、そのメモリがフルであることを示すフラグＭＥＭＯＲＹ＿ＦＵＬＬ＿＃をアサートする。
【００５９】
以上がメモリコントローラ１６０の書き込みに関する構成である。続いて読み出しに関する構成を説明する。メモリコントローラ１６０は、データの読み出しに関して、命令デコーダ１７０、リードカウンタ１７２、出力セレクタ１７４を備える。
【００６０】
命令デコーダ１７０は、モジュールインタフェース１８０からの制御信号（命令）を受け、それをデコードする。命令デコーダ１７０は、ローカルの読み出し命令ＬＯＣＡＬ＿ＲＥＡＤを受けると、フルになっている書き込み完了後のメモリ１５６＃から、データを読み出す。リードカウンタ１７２は、読み出した回数をカウントする。リードカウンタ１７２のカウント値は、メモリ１５６＃のアドレス信号ＭＷ：ＡＤＣ＿ＭＥＭＯＲＹ＿ＡＤＤＲＥＳＳ［１２：０］として、メモリ１５６＃のポートｂのアドレス入力ａｄｄｒｅｓｓ＿ｂ［１２：０］に供給される。これにより、メモリ１５６＃の先頭のアドレスから最後のアドレスに向かって、１ワードずつデータが読み出されていく。出力セレクタ１７４は、メモリ１５６Ａ，１５６Ｂのポートｂの出力ｑ＿ｂのデータを受け、バンクセレクト信号ＢＡＮＬ＿ＳＥＬに応じた一方を選択する。バンクセレクト信号ＢＡＮＬ＿ＳＥＬは、現在フルになっているメモリ（つまり読み出すべきバンク）を指定するフラグであり、０のとき、メモリ１５６Ａが選択され、１のとき、メモリ１５６Ｂが選択される。
【００６１】
またリードカウンタ１７２のカウント値は、ステートマシン１６８に供給される。ステートマシン１６８は、リードカウンタ１７２のカウント値を参照し、メモリ１５６＃のすべてのアドレスからデータが読み出されると、フラグＭＥＭＯＲＹ＿ＦＵＬＬ＿＃をネゲートする。フラグＭＥＭＯＲＹ＿ＦＵＬＬ＿＃がネゲートされると、ＢＡＮＫ＿ＳＥＬをトグルし、上位コントローラ１１０がデータを読み出すべきメモリを入れ替える。
【００６２】
ステートマシン１６８は、２つのフラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａ，ＭＥＭＯＲＹ＿ＦＵＬＬ＿Ｂを監視し、両方が同時にアサートされると、メモリの読み出しに失敗したことを示すフラグＭＥＭＯＲＹ＿ＯＶＥＲ＿ＦＬＯＷをアサートする。フラグＭＥＭＯＲＹ＿ＯＶＥＲ＿ＦＬＯＷは、一方のバンクがフルの状態で、次のバンクもフルになったことを示す。これは、元のバンクに新たなデータが上書きされてデータが破壊されていることを示すエラー信号である。
【００６３】
続いてメモリアクセスの動作を説明する。図４は、メモリアクセスの書き込みに関するタイムチャートである。ＢＡＮＫの番号は、切り替え毎に１ずつインクリメントしており、奇数のバンク番号は、メモリ１５６Ａが書き込み先であることを示し、偶数のバンク番号は、メモリ１５６Ｂが書き込み先であることを示す。
【００６４】
測定アドレスＭＥＡＳ＿ＡＤＤＲＥＳＳ［２８：０］は、１ずつインクリメントする。測定アドレスの値が０ｘ０〜０ｘ１ＦＦＦの間は、メモリ１５６Ａにデータが書き込まれ、測定アドレスの値が０ｘ２０００〜０ｘ３ＦＦＦの間は、メモリ１５６Ｂにデータが書き込まれ、測定アドレスの値が０ｘ４０００〜０ｘ５ＦＦＦの間は、メモリ１５６Ａにデータが書き込まれ、測定アドレスの値が０ｘ６０００〜０ｘ７ＦＦＦの間は、メモリ１５６Ｂにデータが書き込まれ、測定アドレスの値が０ｘ８０００〜０ｘ９ＦＦＦの間は、メモリ１５６Ａにデータが書き込まれる。
【００６５】
フラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａは、メモリ１５６Ａのすべてのアドレス０ｘ０〜０ｘ１ＦＦＦへのデータ書き込みが完了するとアサートされる。また上位コントローラ１１０によってすべてのアドレスのデータ読み出しが完了するとネゲートされる。この動作が、２つのメモリ１５６Ａ，１５６Ｂで交互に繰り返される。
【００６６】
図５は、データの読み出しに関するタイムチャートである。フラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａがアサートされると、上位コントローラ１１０に通知される。ＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａのアサートから、次のＭＥＭＯＲＹ＿ＦＵＬＬ＿Ｂのアサートまでの間が、メモリ１５６Ａに対するデータ読み出し期間となり、この期間の間に、上位コントローラ１１０は、リード命令を発生し、メモリ１５６Ａからすべてのデータを読み出さなければならない。
【００６７】
上位コントローラ１１０が発生したリード命令に応答して、メモリ１５６Ａのリードアクセスが発生し、８１９２回すなわち全アドレス０ｘ０〜０ｘ１ＦＦＦの読み出しが完了すると、フラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａはネゲートされる。この動作が、２つのメモリ１５６Ａ，１５６Ｂで交互に繰り返される。
【００６８】
図６は、メモリのオーバーフローの検出を説明するタイムチャートである。この例では、メモリ１５６Ａ（ＢＡＮＫ１）への書き込みが完了し、フラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａがアサートされる。その後、メモリ１５６Ｂ（ＢＡＮＫ２）への書き込みが完了し、フラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ｂがアサートされるまでが、ＢＡＮＫ１に対するデータ読み出し期間となる。読み出し期間の間に発生したリード回数が８１９２回に満たないとき、すなわち読み出し期間の間に、フラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａがネゲートされないと、オーバーフローを示すフラグＭＥＭＯＲＹ＿ＯＶＥＲ＿ＦＬＯＷがアサートされる。
【００６９】
（バスインタフェースについて）
以上がローカルのメモリアクセスに関する説明である。続いて、波形データ取得モジュール１４０と上位コントローラ１１０との間のインタフェースについて説明する。
【００７０】
図７は、上位コントローラ１１０および波形データ取得モジュール１４０のブロック図である。上位コントローラ１１０は、ＣＰＵ１１２、バスインタフェース１１４、メモリ１１８を備える。バスインタフェース１１４は、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）カードなどであり、ＤＭＡ（Direct Memory Access）コントローラ１１６を有する。ＤＭＡコントローラ１１６は、ＣＰＵ１１２からのメモリアクセス命令にもとづいて、波形データ取得モジュール１４０にアクセスし、読み出したデータをメモリ１１８に格納する（バースト伝送）。
【００７１】
モジュールインタフェース１８０は、複数のチャンネルＣＨ１〜ＣＨＮのうち、どのチャンネルのメモリがフルになっているかをバスインタフェース１１４を経由してＣＰＵ１１２に通知する。たとえば、ＣＰＵ１１２は、複数のチャンネルＣＨ１〜ＣＨＮをいくつかのセットに分類して管理する。そして、同じセットに含まれるチャンネルのメモリがすべてフルになったことを検出すると、そのセットに含まれるすべてのチャンネルのメモリを対象とするリード命令（バースト伝送命令）を発生する。このリード命令に応答して、ＤＭＡコントローラ１１６は、モジュールインタフェース１８０に対して、リード命令を送信する。
【００７２】
モジュールインタフェース１８０はシーケンサ１８２を含む。シーケンサ１８２は、ＤＭＡコントローラ１１６からのリード命令ＲＥＡＤが指定する複数のチャンネルのキャプチャユニット１５０に対して、順にローカルのリード命令ＬＯＣＡＬ＿ＲＥＡＤを発生する。たとえば、ＤＭＡコントローラ１１６からのリード命令が、ＣＨ１〜ＣＨ４を指定したリード命令である場合、シーケンサ１８２は、ＣＨ１〜ＣＨ４に対して、順にローカルのリード命令を発生する。その結果、チャンネルごとのデータが順にバスインタフェース１１４に送信される。ＤＭＡコントローラ１１６は、各チャンネルのデータを、メモリ１１８の対応するアドレスに格納する。
【００７３】
従来のバースト伝送では、複数のチャンネルにまたがったデータ伝送は不可能であったが、モジュールインタフェース１８０にシーケンサ１８２を実装することで、複数のチャンネルを指定したバースト伝送が可能となる。
【００７４】
図８は、上位コントローラ１１０と波形データ取得モジュール１４０の間のデータアクセスを説明するシーケンス図である。はじめにＣＰＵ１１２によって、アクセスすべき波形データ取得モジュール１４０の番号と、チャンネル番号が指定される。アクセスすべき波形データ取得モジュール１４０の番号に応じて、バススイッチ１２０が切り替えられる。またチャンネル番号が波形データ取得モジュール１４０に送信される（Ｓ１００）。
【００７５】
続いてＤＭＡコントローラ１１６に起動指示が与えられる（Ｓ１０２）。ＤＭＡコントローラ１１６は、モジュールインタフェース１８０に対してリード命令を出力する（Ｓ１０４）。モジュールインタフェース１８０のシーケンサ１８２は、指定されたチャンネル（この例では全チャンネルＣＨ１〜ＣＨＮ）に対して順に、ローカルのリード命令を発行する（Ｓ１０６）。各チャンネルのリード命令に応答して、データが上位コントローラ１１０のメモリ１１８に対してバースト伝送される（Ｓ１０８）。そして全チャンネルの伝送が完了すると、ＤＭＡ終了の割り込みがバスインタフェース１１４からＣＰＵ１１２に出力される（Ｓ１１０）。
【００７６】
（直接割り込み）
続いて、波形データ取得モジュール１４０から上位コントローラ１１０への各種通知について説明する。波形データ取得モジュール１４０は、割り込みによって、メモリフルの通知、メモリのオーバーフローの通知および、波形測定が完了したことの通知を、上位コントローラ１１０に送信する。この割り込みには、レガシーの割り込み線を用いた通知を用いてもよいが、本実施の形態では、それとは異なる割り込み（以下、直接割り込みという）によって、これらの情報を上位コントローラ１１０に送信する。
【００７７】
直接割り込みでは、メモリフルに関する情報、メモリオーバーフローに関する情報、波形測定完了の通知が、パケット化され、上位コントローラ１１０に送信される。
【００７８】
図９は、直接割り込みのパケット生成に関するブロック図である。複数のチャンネルＣＨ１〜ＣＨＮは、１２チャンネルごとに分割される。１２チャンネルのセットを、１スプリットと称する。モジュールインタフェース１８０は、１スプリットごとに、割り込みパケットを生成するパケット生成部１８４を組む。チャンネル数Ｎが９６チャンネルの場合、９６／１２＝８個のパケット生成部１８４が設けられる。
【００７９】
パケット生成部１８４には、１２チャンネル分のメモリフルフラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａ，Ｂをまとめた割り込みデータＭＥＭＦＵＬ＿ＩＮＴ［１１：０］、１２チャンネル分の波形測定完了フラグＡＤＣ＿ＤＯＮＥをまとめた割り込みデータＡＤＤＯＮＥ＿ＩＮＴ［１１：０］、１２チャンネル分のメモリオーバーフローフラグＭＥＭＯＲＹ＿ＯＶＥＲ＿ＦＬＯＷをまとめた割り込みデータＭＥＭＯＦＬ＿ＩＮＴ［１１：０］が入力される。ＭＥＭＦＵＬ＿ＩＮＴ［ｉ］は、チャンネルＣＨｉにおける２個のフラグＭＥＭＯＲＹ＿ＦＵＬＬ＿Ａ，ＭＥＭＯＲＹ＿ＦＵＬＬ＿Ｂの論理和であってもよい。
【００８０】
パケット生成部１８４は、パケットデータＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳと、ステータスフラグＳＢＤＴＣＭ２Ｏを生成する。ステータスフラグＳＢＤＴＣＭ２Ｏは、割り込みデータＭＥＭＦＵＬ＿ＩＮＴ［１１：０］、ＡＤＤＯＮＥ＿ＩＮＴ［１１：０］、ＭＥＭＯＦＬ＿ＩＮＴ［１１：０］のいずれかのビットに１が立つと、アサートされる。
【００８１】
上位コントローラ１１０のメモリ１１８には、割り込み専用のアドレスが用意されている。モジュールインタフェース１８０は、パケットデータＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳを、その割り込み専用のアドレスに書き込む。上位コントローラ１１０のＣＰＵ１１２は、割り込み専用のアドレスを監視しており、割り込みを検出すると同時に、割り込み要因などを取得する。
【００８２】
割り込みデータＭＥＭＦＵＬ＿ＩＮＴ［１１：０］、ＡＤＤＯＮＥ＿ＩＮＴ［１１：０］、ＭＥＭＯＦＬ＿ＩＮＴ［１１：０］は全部で３６ビット存在する。この３６ビットをパケット化する際に、全ビットを含めると、パケットのサイズが大きくなり、パケットデータを複数に分割して送信する必要がある。そこでパケット生成部１８４は、メモリオーバーフローを示す割り込みデータＭＥＭＯＦＬ＿ＩＮＴ［１１：０］については、全ビットをＯＲ演算して１ビットにまとめて、パケットデータＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳに含めることとした。
【００８３】
一方、割り込みパケットの送信ごとに、割り込みデータＭＥＭＦＵＬ＿ＩＮＴ［１１：０］，ＡＤＤＯＮＥ＿ＩＮＴ［１１：０］を交互に、パケットデータＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳに含めて送信することとしている。パケットデータＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳは、現在、ＭＥＭＦＵＬ＿ＩＮＴ［１１：０］，ＡＤＤＯＮＥ＿ＩＮＴ［１１：０］のいずれを含んでいるかを示すフラグＯＵＴＰＵＴ＿ＳＴＡＴＵＳを含む。１ビットのＭＥＭＯＦＬは、ＭＥＭＦＵＬ＿ＩＮＴ［１１：０］とともに送信される。
【００８４】
ステータスラッチ信号ｓｔａｔｕｓ＿ｌａｔｃｈが発生する度に、出力ステータスＯＵＴＰＵＴ＿ＳＴＡＴＵＳがトグルする。ＯＵＴＰＵＴ＿ＳＴＡＴＵＳ＝０は、ＭＥＭＦＵＬ＿ＩＮＴを通知する状態を、ＯＵＴＰＵＴ＿ＳＴＡＴＵＳ＝１は、ＡＤＤＯＮＥ＿ＩＮＴを通知する状態を表す。
【００８５】
ＭＥＭＯＲＹ＿ＦＵＬＬ＿ＣＬＲ信号は、ＯＵＴＰＵＴ＿ＳＴＡＴＵＳのネガエッジごとにアサートされる。ＭＥＭＯＲＹ＿ＦＵＬＬ＿ＣＬＲ信号のアサートに応答して、フリップフロップＦＦ２の値（ＭＥＭＯＲＹ＿ＦＵＬＬのステータス）が確定し、後段のマルチプレクサＭＵＸに出力される。またＭＥＭＯＲＹ＿ＦＵＬＬ＿ＣＬＲ信号のアサートに応答してフリップフロップＦＦ１の値が０となり、ＭＥＭＯＲＹ＿ＦＵＬＬに関連する割り込み要因がクリアされる。
【００８６】
ＭＥＭＯＲＹ＿ＦＵＬＬ＿ＣＬＲ信号は、フリップフロップＦＦ５，ＦＦ６にも供給される。ＭＥＭＯＲＹ＿ＦＵＬＬ＿ＣＬＲ信号のアサートに応答して、フリップフロップＦＦ６の値（ＭＥＭＯＲＹ＿ＯＶＥＲ＿ＦＬＯＷのステータス）が確定し、後段のマルチプレクサＭＵＸに出力される。またＭＥＭＯＲＹ＿ＦＵＬＬ＿ＣＬＲ信号のアサートに応答してフリップフロップＦＦ５の値が０となり、ＭＥＭＯＲＹ＿ＯＶＥＲ＿ＦＬＯＷに関連する割り込み要因がクリアされる。
【００８７】
ＡＤＣ＿ＤＯＮＥ＿ＣＬＲ信号は、ＯＵＴＰＵＴ＿ＳＴＡＴＵＳのポジエッジごとにアサートされる。ＡＤＣ＿ＤＯＮＥ＿ＣＬＲ信号のアサートに応答して、フリップフロップＦＦ４の値（ＡＤＣ＿ＤＯＮＥのステータス）が確定し、後段のマルチプレクサＭＵＸに出力される。またＡＤＣ＿ＤＯＮＥ＿ＣＬＲ信号のアサートに応答して、フリップフロップＦＦ３の値がゼロとなり、ＡＤＣ＿ＤＯＮＥに関連する割り込み要因がクリアされる。
【００８８】
図１０は、図９のパケット生成部１８４の動作を説明する図である。時刻ｔ０に、ＭＥＭＦＵＬ＿ＩＮＴ［１１：０］のいずれかのビットに１が立つと、対応するチャンネルのフリップフロップＦＦ１に１が格納され、ＳＢＤＴＣＭ２Ｏ信号がハイとなる。続いて、ＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳパケットを送信するためのバスコマンドが生成され、ｓｔａｔｕｓ＿ｌａｔｃｈ信号がアサートされる。ｓｔａｔｕｓ＿ｌａｔｃｈ信号のネガエッジによって、出力ステータスがＭＥＭＯＲＹ＿ＦＵＬＬに切り替わり、ＭＥＭＯＲＹ＿ＦＵＬＬ＿ＣＬＲ信号がアサートされ、フリップフロップＦＦ１（およびＦＦ５）の値が０となり、ＭＥＭＯＲＹ＿ＦＵＬＬの割り込み要因がクリアされる。またフリップフロップＦＦ２の出力が、フリップフロップＦＦ５の出力とともにマルチプレクサＭＵＸに入力され、ＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳパケットに格納される。
【００８９】
時刻ｔ１に、再びＭＥＭＦＵＬ＿ＩＮＴ［１１：０］のいずれかのビットに１が立つと、対応するチャンネルのフリップフロップＦＦ１に１が格納され、ＳＢＤＴＣＭ２Ｏ信号がハイとなる。続いて、ＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳパケットを送信するためのバスコマンドが生成され、ｓｔａｔｕｓ＿ｌａｔｃｈ信号がアサートされる。ｓｔａｔｕｓ＿ｌａｔｃｈ信号のネガエッジによって、出力ステータスがＡＤＣ＿ＤＯＮＥに切り替わり、ＡＤＣ＿ＤＯＮＥ＿ＣＬＲ信号がアサートされる。ＡＤＣ＿ＤＯＮＥ＿ＣＬＲ信号がアサートされると、ＦＦ４の出力がマルチプレクサＭＵＸに入力され、ＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳパケットに格納され、送信される。ただし、このパケットには、送信すべき割り込み要因であるＭＥＭＯＲＹ＿ＦＵＬＬに関する情報は含まれない。
【００９０】
ＡＤＣ＿ＤＯＮＥ＿ＣＬＲ信号がアサートでは、フリップフロップＦＦ１の値（すなわちＭＥＭＯＲＹ＿ＦＵＬＬの割り込み要因）はクリアされないため、ＳＢＤＴＣＭ２Ｏ信号はハイを維持する。したがって、ふたたび、バスコマンドＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳが生成され、ｓｔａｔｕｓ＿ｌａｔｃｈ信号がアサートされる。ｓｔａｔｕｓ＿ｌａｔｃｈ信号のネガエッジによって、出力ステータスがＭＥＭＯＲＹ＿ＦＵＬＬに切り替わり、ＭＥＭＯＲＹ＿ＦＵＬＬ信号がアサートされる。これにより、ＭＥＭＯＲＹ＿ＦＵＬＬに関する情報を含むパケットＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳが生成され、送信される。またフリップフロップＦＦ１がクリアされ、ＳＢＤＴＣＭ２Ｏ信号がローとなる。
【００９１】
時刻ｔ２に、ＭＥＭＯＲＹ＿ＦＵＬＬ，ＭＥＭＯＲＹ＿ＯＶＥＲ＿ＦＬＯＷ，ＡＤＣ＿ＤＯＮＥのすべての割り込み要因が発生し、ＳＢＤＴＣＭ２Ｏ信号はハイとなる。それに続くバスコマンドＳＥＮＤ＿ＴＣＭ＿ＳＴによって、ＡＤＣ＿ＤＯＮＥに関する割り込みが、上位コントローラ１１０に送信され、割り込み要因がクリアされる。
【００９２】
時刻ｔ３に、ＡＤＣ＿ＤＯＮＥ［１１：０］のいずれかのビットに１が立つと、対応するチャンネルのフリップフロップＦＦ３に１が格納される。
【００９３】
続くバスコマンドＳＥＮＤ＿ＴＣＭ＿ＳＴによって、ＭＥＭＯＲＹ＿ＦＵＬＬに関する割り込みが上位コントローラ１１０に送信され、割り込み要因がクリアされる。
【００９４】
この状態では、時刻ｔ３に発生した割り込み要因がまだ残っているため、ＳＢＤＴＣＭ２Ｏ信号はハイを維持している。そして次のバスコマンドＳＥＮＤ＿ＴＣＭ＿ＳＴによって、ＡＤＣ＿ＤＯＮＥに関する割り込みが上位コントローラ１１０に送信され、割り込み要因がクリアされる。
【００９５】
以上が直接割り込みの説明である。続いて直接割り込みの利点を説明する。従来の割り込みでは、ＣＰＵは、割り込み信号を監視し、割り込みを検出すると、波形データ取得モジュール１４０にアクセスして割り込み要因を読み出す必要があったため、オーバーヘッドが大きかった。
【００９６】
これに対して本実施の形態では、直接割り込みを受けた上位コントローラ１１０のＣＰＵ１１２は、パケットＳＥＮＤ＿ＴＣＭ＿ＳＴＡＴＵＳの中身を見ることにより、どのチャンネルでどのような割り込み要因が発生したかを直接知ることができる。したがって従来の割り込みよりも高速な通知が可能となる。
【００９７】
（エラー検出）
図７を参照する。バスインタフェース１１４は、波形データ取得モジュール１４０にリード命令を発行してから所定時間内にデータを受け取れない場合、処理を打ち切り、ＣＰＵ１１２にエラー割り込みをかける。
【００９８】
モジュールインタフェース１８０は、ローカルのリード命令を発行した後に、所定の時間内にキャプチャユニット１５０からデータが出力されない場合、処理を打ち切る。モジュールインタフェース１８０が処理を打ち切ると、上位コントローラ１１０のバスインタフェース１１４にもデータは伝送されなくなる。結果として、バスインタフェース１１４が所定時間内にデータを受け取れなくなるため、ＣＰＵ１１２にエラー割り込みがかかる。
【００９９】
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【０１００】
ＤＵＴ  ２
１００  試験装置
１１０  上位コントローラ
１１２  ＣＰＵ
１１４  バスインタフェース
１１６  ＤＭＡコントローラ
１１８  メモリ
１２０  バススイッチ
１３０  ファンクション試験モジュール
１４０  波形データ取得モジュール
１５０  キャプチャユニット
１５２  Ａ／Ｄコンバータ
１５４  信号処理部
１５６Ａ，１５６Ｂ  メモリ
１６０  メモリコントローラ
１６２  ライトエンコーダ
１６４  ライトセレクタ
１６６  ライトカウンタ
１６８  ステートマシン
１７０  命令デコーダ
１７２  リードカウンタ
１７４  出力セレクタ
１８０  モジュールインタフェース
１８２  シーケンサ
１８４  パケット生成部
【図１】
2020165711.tif 000003
【図２】
2020165711.tif 000004
【図３】
2020165711.tif 000005
【図４】
2020165711.tif 000006
【図５】
2020165711.tif 000007
【図６】
2020165711.tif 000008
【図７】
2020165711.tif 000009
【図８】
2020165711.tif 000010
【図９】
2020165711.tif 000011
【図１０】
2020165711.tif 000012