JP2020193899A - 試験装置 - Google Patents

試験装置 Download PDF

Info

Publication number
JP2020193899A
JP2020193899A JP2019100390A JP2019100390A JP2020193899A JP 2020193899 A JP2020193899 A JP 2020193899A JP 2019100390 A JP2019100390 A JP 2019100390A JP 2019100390 A JP2019100390 A JP 2019100390A JP 2020193899 A JP2020193899 A JP 2020193899A
Authority
JP
Japan
Prior art keywords
memory
time
test
waveform data
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019100390A
Other languages
English (en)
Other versions
JP7252830B2 (ja
Inventor
直哉 豊田
Naoya Toyota
直哉 豊田
康樹 秋田
Yasuki Akita
康樹 秋田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Priority to JP2019100390A priority Critical patent/JP7252830B2/ja
Priority to US16/742,087 priority patent/US11169205B2/en
Publication of JP2020193899A publication Critical patent/JP2020193899A/ja
Application granted granted Critical
Publication of JP7252830B2 publication Critical patent/JP7252830B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2882Testing timing characteristics
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31935Storing data, e.g. failure memory

Abstract

【課題】パターンプログラムの進行と対応付けて、アナログ信号の波形データを取得する。【解決手段】波形データ取得モジュール140は、DUT2に関連する電気信号をデジタル信号に変換するA/Dコンバータ152と、デジタル信号の列である波形データを格納する第1メモリユニット155と、を含む。ファンクション試験モジュール130は、試験ユニット132と第2メモリユニット134とを含む。上位コントローラ110は、波形データ取得モジュール140にサンプリング開始を指示し、その時刻t1を保持し、ファンクション試験モジュール130にパターンプログラムの実行開始を指示し、その時刻t2を保持する。第1メモリユニット155は、サンプリングの開始の時刻t1’を記録する。上位コントローラ110は、第2メモリユニット134は、パターンプログラムの実行開始の時刻t2’を記録する。【選択図】図11

Description

本発明は、半導体試験装置に関する。
近年、さまざまな電子機器に利用される半導体デバイスの種類は、非常に多岐にわたっている。半導体デバイスとしては、(i)DRAM(Dynamic Random Access Memory)やフラッシュメモリなどのメモリデバイスや、(ii)CPU(Central Processing Unit)やMPU(Micro-Processing Unit)、マイクロコントローラなどのプロセッサ、あるいは(iii)デジタル/アナログ混載デバイス、SoC(System On Chip)などの多機能デバイスが例示される。これらの半導体デバイスを試験するために、半導体試験装置(以下、単に試験装置ともいう)が利用される。
半導体デバイスの試験項目は、主としてファンクション試験、ACパラメトリック試験、DC(直流)特性試験(DC試験)に大別される。ファンクション試験では、DUT(被試験デバイス)が設計通りに正常に動作するか否かが判定され、不良箇所が特定される。ACパラメトリック試験は、タイミングパラメータや周波数測定の試験行われる。DC試験では、DUTのリーク電流測定、動作電流(電源電流)測定、耐圧などが測定される。
半導体デバイスに流れる電源電流は、半導体デバイスの動作と直結しているため、電源電流波形には、半導体デバイスの状態を解析する上で有益な情報が多く含まれている。電源電圧は、電源電流の変動に応じて変動するため、電源電圧波形にもデバイスの解析に有益な情報が含まれている。
ところで、半導体デバイスの試験では、試験のため被試験デバイスをパターンプログラムで制御することが多い。ところが、従来の半導体試験装置は、DC試験に並行して、時間的な制約なく膨大な電源電圧などの波形データと取り込み続ける機能がなかった。したがってユーザは、その必要がある場合には、半導体試験装置とは別に、オシロスコープなどのハードウェアを追加し、半導体試験装置を走らせながら、それと並行して、電源電圧波形などを測定する必要があった。
また、多くのDC試験では、パターンプログラムを用いて、被試験デバイスの回路状態を試験項目で狙った状態にしたのち、電圧もしくは電流測定を行う。例えば、被試験デバイスの回路状態を、事前にわかっている、内部のゲートでの故障を顕在化する状態にしたのちに電圧や電流が測定されている。
一般的に、パターンプログラムに従って動作するファンクション試験モジュールが生成した信号を、被試験デバイスに入力して、狙った状態に設定する。また、試験では、狙った回路状態に設定した後、測定を行う、を複数の異なる狙った状態に対して行う。よって、パターンプログラムには、回路状態を設定する信号の組み合わせ(パターン)が、複数含まれる。
もしパターンプログラムの進行と、取り込んだ波形データを対応づけて取得することができれば、被試験デバイスに関する多くの情報が得られることが期待される。しかしながらオシロスコープなどの外部のハードウェアを追加する場合、波形とパターンプログラムの進行の対応付けは容易ではない。
本発明は係る課題に鑑みてされたものであり、そのある態様の例示的な目的のひとつは、DC試験あるいはその他の試験中に、パターンプログラムの進行と対応付けて、電源電流や電源電圧などのアナログ信号の波形データを取得可能な試験装置の提供にある。
本発明のある態様は、試験装置に関する。試験装置は、波形データ取得モジュールと、ファンクション試験モジュールと、波形データ取得モジュールおよびファンクション試験モジュールを制御するとともに、波形データ取得モジュールおよびファンクション試験モジュールにおいて得られたデータを収集する上位コントローラと、を備える。波形データ取得モジュールは、被試験デバイスに関連する電気信号を所定のサンプリングレートでデジタル信号に変換するA/Dコンバータと、A/Dコンバータにより得られるデジタル信号の列である波形データを格納する第1メモリユニットと、を含む。ファンクション試験モジュールは、被試験デバイスを試験する試験ユニットと第2メモリユニットとを含む。上位コントローラは、波形データ取得モジュールにサンプリングの開始を指示するとともに、その時刻tのタイムスタンプを保持し、第1メモリユニットは、サンプリングの開始の時刻t’のタイムスタンプを記録し、上位コントローラは、ファンクション試験モジュールにパターンプログラムの実行開始を指示するとともにその時刻tのタイムスタンプを保持し、第2メモリユニットは、パターンプログラムの実行開始の時刻t’のタイムスタンプを記録する。
なお、以上の構成要素を任意に組み合わせたもの、あるいは本発明の表現を、方法、装置などの間で変換したものもまた、本発明の態様として有効である。
本発明のある態様によれば、DC試験あるいはその他の試験中に、パターンプログラムの進行と対応付けて、電源電流や電源電圧などのアナログ信号の波形データを取得できる。
実施の形態に係る試験装置のブロック図である。 波形データ取得モジュールのブロック図である。 メモリコントローラおよび第1メモリ、第2メモリの構成例を示すブロック図である。 メモリアクセスの書き込みに関するタイムチャートである。 データの読み出しに関するタイムチャートである。 メモリのオーバーフローの検出を説明するタイムチャートである。 上位コントローラおよび波形データ取得モジュールのブロック図である。 上位コントローラと波形データ取得モジュールの間のデータアクセスを説明するシーケンス図である。 直接割り込みのパケット生成に関するブロック図である。 図9のパケット生成部の動作を説明する図である。 試験装置のブロック図である。 図11の試験装置の動作を説明するタイムチャートである。 試験装置により得られる波形データと、ファンクション試験モジュールにおけるパターンプログラムのPG命令の対応関係の一例を示す図である。
(実施の形態の概要)
本明細書に開示される一実施の形態は試験装置に関する。試験装置は、波形データ取得モジュールと、ファンクション試験モジュールと、波形データ取得モジュールおよびファンクション試験モジュールを制御するとともに、波形データ取得モジュールおよびファンクション試験モジュールにおいて得られたデータを収集する上位コントローラと、を備える。波形データ取得モジュールは、被試験デバイスに関連する電気信号を所定のサンプリングレートでデジタル信号に変換するA/Dコンバータと、A/Dコンバータにより得られるデジタル信号の列である波形データを格納する第1メモリユニットと、を含む。ファンクション試験モジュールは、被試験デバイスを試験する試験ユニットと第2メモリユニットとを含む。上位コントローラは、波形データ取得モジュールにサンプリングの開始を指示するとともに、その時刻tのタイムスタンプを保持し、第1メモリユニットは、サンプリングの開始時刻t’のタイムスタンプを記録し、上位コントローラは、ファンクション試験モジュールにパターンプログラムの実行開始を指示するとともにその時刻tのタイムスタンプを保持し、第2メモリユニットは、パターンプログラムの実行開始時刻t’のタイムスタンプを記録する。
A/DコンバータのサンプリングレートFが既知であるとき、波形データ取得モジュールのローカルの時間軸での波形データのj番目のデータの時刻t’は、
’=t’+j×1/F
から得ることができる。そして、波形データ取得モジュールのローカル時刻t’を、上位コントローラの時間軸の時刻tにアラインすることにより、上位コントローラ110の時間軸での波形データのj番目のデータの時刻tは、
=t+j×1/F
から得ることができる。またファンクション試験モジュールのローカル時刻t’を上位コントローラの時刻tにアラインすることで、波形データと、パターンプログラムの進行を対応付けることができる。
第2メモリユニットは、時刻tに加えて、パターンプログラムに含まれる所定のアドレスの命令の実行時刻tのタイムスタンプを記録してもよい。これにより、波形データと、パターンプログラムの進行をより詳細に対応付けることができる。
第2メモリユニットは、実行時刻tに加えて、所定アドレスの命令にもとづく被試験デバイスへの入力値を記録してもよい。これにより、被試験デバイスへの入力値(論理データ、テストベクトルやテストパターンなど)と波形データの対応関係から、被試験デバイスの不良、故障に関する情報を得ることができる。
第2メモリユニットは、所定のイベントの発生時刻のタイムスタンプを記録してもよい。たとえば所定のイベントはエラーや異常の発生、タイムアウトの発生などであってもよい。
第1メモリユニットは、第1バンクおよび第2バンクと、第1バンクおよび第2バンクの一方にデジタル信号を連続して書き込み、メモリフルになると前記上位コントローラにメモリフルであることを通知するとともに、書き込み先のメモリを他方に切り替えるメモリコントローラと、を含んでもよい。上位コントローラは、通知に応答してメモリフルである第1バンクおよび第2バンクの一方からデータを読み出すことができる。この波形データ取得モジュールによれば、2個のバンクに交互に波形データを格納することで、時間的な制約を受けずに波形データを取り込み続けることができる。
電気信号は、被試験デバイスの電源電圧または電源電流であってもよい。
(実施の形態)
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
(試験システム全体について)
図1は、実施の形態に係る試験装置100のブロック図である。この試験装置100は、複数のDUT(被試験デバイス)2それぞれについて、ファンクション試験を実行しながら、それと並行してDUT2の電気的状態を示す電気信号の波形をキャプチャする。試験装置100がキャプチャするDUT2の電気信号の種類は特に限定されないが、たとえば電源電圧や電源電流などが例示される。
一般的に、DUT2の試験は、サンプリングレートFsに比べて非常に長い時間を要する。試験装置100は、試験の開始から終了までの長い時間全体にわたり(あるいはその一部分について)、電気信号の波形を取り込み続ける機能を備える。以下、試験装置100がキャプチャする電源電圧や電源電流を、電源信号と総称する。
試験装置100は、上位コントローラ110、バススイッチ120、複数のファンクション試験モジュール130_1〜130_N、複数の波形データ取得モジュール140_1〜140_Nを備える。
上位コントローラ110は、試験装置100全体を統括的に制御するコントローラであり、後述するようにCPU(Central Processing Unit)、メモリ、CPUが実行するプログラムなどで構成される。ファンクション試験モジュール130_1〜130_Mおよび波形データ取得モジュール140_1〜140_Mは、バススイッチ120を介して上位コントローラ110と接続される。上位コントローラ110は、ファンクション試験モジュール130および波形データ取得モジュール140に対して、指令を与え、あるいはそれらからデータを読み出す。上位コントローラ110は、波形データ取得モジュール140が測定した複数チャンネル分の膨大なデータ(ビッグデータ)を収集する。
複数のDUT2は、複数のグループGP1〜GPMにわけられる。ファンクション試験モジュール130_i(i=1〜M)と波形データ取得モジュール140_iはペアをなしており、共通のグループGPiに割り当てられる。ファンクション試験モジュール130_iは、たとえば、割り当てられたグループGPi内の複数のDUT2それぞれに対して、データ(テストパターン)を与え、データを読み出して、期待値と比較することにより、DUT2の良否を判定する。DUT2の種類は限定されないが、マイコン(Microcontroller)、メモリ、CPU(Central Processing Unit)などが例示される。
波形データ取得モジュール140_iは、割り当てられたグループGP_i内の複数のDUT2それぞれの電源信号の波形をキャプチャする。波形データ取得モジュール140はそれぞれ、Nチャンネル(CH1〜CHN)で構成される。1チャンネルは、1つのピンと対応付けられ、チャンネルごとに、1個の電気信号の波形をキャプチャすることができる。
1個のDUT2について、電源電圧と電源電流を測定する場合、Nチャンネルの波形データ取得モジュール140によって、N/2個のDUT2が割り当てられる。N=96の場合、48個のDUT2の電源電圧と電源電流の波形が取得される。
波形データ取得モジュール140に、試験開始から終了までにわたる電源信号の波形を完全に保存しようとすると、波形データ取得モジュール140に非常に大きな容量のメモリが必要となり、コストの観点から現実的ではない。そこで以下では、1個の波形データ取得モジュール140に搭載するメモリの容量を削減するためのアーキテクチャを説明する。
(波形データ取得モジュール)
図2は、波形データ取得モジュール140のブロック図である。上述のように、波形データ取得モジュール140は、複数チャンネルCH1〜CHNの信号波形をキャプチャ可能に構成される。
波形データ取得モジュール140は、複数のチャンネルCH1〜CHNに対応する複数のキャプチャユニット150_1〜150_Nと、モジュールインタフェース180と、を備える。
複数のキャプチャユニット150_1〜150_Nは同様に構成される。キャプチャユニット150は、A/Dコンバータ152、信号処理部154、第1メモリ156A、第2メモリ156B、メモリコントローラ160を備える。信号処理部154およびメモリコントローラ160は、FPGA(Field Programmable Gate Array)で構成してもよい。この場合においてメモリ156A,156Bは、FPGAに内蔵されるSRAMであってもよい。
A/Dコンバータ152は、所定のサンプリングレートで、キャプチャの対象である電源信号(アナログ信号)S1を、デジタル信号S2に変換する。サンプリングレートは、チャンネルごとに個別に設定可能である。
信号処理部154は、必要に応じて、デジタル信号S2に対して信号処理を施す。信号処理の内容は特に限定されないが、たとえばキャリブレーション処理が例示される。信号処理部154における信号処理後のデジタルデータS3は、メモリコントローラ160に入力される。
メモリコントローラ160には2個のメモリ156A,156Bが接続される。メモリ156A、156Bを、バンクA(BANKA),バンクB(BANKB)とも表記する。メモリ156A、156Bは、たとえば8kワード程度の安価なメモリを採用することができる。
メモリコントローラ160は、2個のメモリ156A,156Bを時分割で交互に使用する。具体的にはデジタルデータS3を2個のメモリ156A,156Bの一方156#(#=A,B)に書き込んでいき、メモリ156#がフルになると、デジタルデータS3の書き込み先を他方のメモリに切り替える。またメモリコントローラ160は、一方のメモリ156#がフルになったことを示すフラグMEMORY_FULL_#(#=A,B)をアサートする。
モジュールインタフェース180は、上位コントローラ110と複数のキャプチャユニット150_1〜150_Nとのインタフェースである。
モジュールインタフェース180は、複数のチャンネルCH1〜CHNそれぞれにおけるフラグMEMORY_FULL_#(#=A,B)を監視し、どのチャンネルのメモリがフルになっているかを、上位コントローラ110に通知する。
またモジュールインタフェース180は、キャプチャユニット150_1〜150_Nにおいて発生するエラーを監視し、エラーの状態を上位コントローラ110に通知する。モジュールインタフェース180から上位コントローラ110への通知には後述の直接割り込みが使用される。
上位コントローラ110は、モジュールインタフェース180からの通知によって、どのチャンネルにおいてメモリ156がフルになっているかを知ることができる。上位コントローラ110は、フルになっているチャンネルを指定し、モジュールインタフェース180にリード命令を発行する。
本実施の形態において、1つのメモリ命令によって、任意の複数のチャンネルを同時に指定可能となっている。モジュールインタフェース180は、上位コントローラ110からリード命令を受けると、指定されたチャンネルに対して順番に、ローカルの読み出し命令LOCAL_READを与える。モジュールインタフェース180から、ローカルの読み出し命令LOCAL_READを受信したメモリコントローラ160は、フルになっているバンクからデータを読み出し、それを出力する。フルになっているバンクからのデータの読み出しが完了すると、そのバンクに関するメモリフルフラグMEMORY_FULL_#がネゲート(デアサート)される。
上位コントローラ110が1回のリードで取得するデータは、波形データの1部分である。上位コントローラ110は、同じチャンネルの波形データの部分を繋ぎ合わせて、元の連続した波形データを復元する。
波形データ取得モジュール140によれば、2個のメモリ156A,156Bに交互に波形データを格納することで、時間的な制約なく、膨大な波形データを取り込み続けることができる。またメモリフルとなるたびに、上位コントローラ110に通知を送信することで、上位コントローラ110にデータの読み出しを促すことができる。
(メモリコントローラ)
図3は、メモリコントローラ160およびメモリ156A,156Bの構成例を示すブロック図である。この例において、メモリ156A,156Bは1ワード19ビットのデュアルポートメモリである。メモリ156A,156Bはそれぞれ8kワードの容量を有する。
各メモリ156は、ポートaのアドレス入力address_a[12:0]、ポートaのデータ入力data_a[18:0]、ポートaのライトイネーブルwren_a、ポートbのアドレス入力address_b[12:0]、ポートbのデータ入力data_b[18:0]、ポートbのライトイネーブルwren_bを有する。
メモリコントローラ160には、信号処理部154からのデジタルデータS3と、それと同期したライトイネーブル信号MEAS_MEMORY_WENが入力される。デジタルデータS3は、18ビットのデータCAL_DATA[17:0]である。ライトイネーブル信号MEAS_MEMORY_WENは、信号処理部154によって、CAL_DATA[17:0]が生成されるたびにアサートされる。
またメモリコントローラ160には、測定アドレスMEAS_ADDRESS[28:0]が入力される。測定アドレスMEAS_ADDRESS[28:0]は、測定開始からのサンプリング回数を示してもよい。
またメモリコントローラ160には、信号処理部154からのエラー信号OVER,OVR_STBYが入力される。エラー信号OVERは、信号処理部154での演算中にオーバーフローが発生したこと、あるいは測定データにオーバーフローがあることを示すフラグである。またエラー信号OVR_STYBは、A/Dコンバータ152による測定中にオーバーフローが発生したことを示すフラグである。
メモリコントローラ160は、メモリへのデータの書き込みに関して、ライトエンコーダ162、ライトセレクタ164、ライトカウンタ166、ステートマシン168を備える。
ライトエンコーダ162は、データCAL_DATA[17:0]、エラー信号OVER,OVR_STBYを受け、メモリ156A,156Bに書き込むべき19ビットのデータmem_data[18:0]を生成する。エラーが発生していないとき、データmem_data[18:0]は、元のデータCAL_DATA[17:0]またはそれを加工したデータを含んでおり、エラーが発生しているとき、データmem_data[18:0]は所定のコードを含む。
ライトセレクタ164は、測定アドレスMEAS_ADDRESS[28:0]と、測定メモリライトイネーブル信号MEAS_MEMORY_WENを受ける。MEAS_ADDRESS[28:0]は、イネーブル信号MEAS_MEMORY_WENのアサートごとにインクリメントされる。
ライトセレクタ164は、測定アドレスMEAS_ADDRESS[28:0]の下位14ビット目MEAS_ADDRESS[13]にもとづいて、書き込み先のメモリ(156A,156B)を選択する。具体的には、MEAS_ADDRESS[13]が0のとき、メモリ156Aが選択され、1のときメモリ156Bが選択される。ライトセレクタ164は、選択したメモリ156#のアドレス入力address_#[12:0]に、測定アドレスMEAS_ADDRESS[28:0]の下位13ビットMEAS_ADDRESS[13:0]を供給し、選択したメモリ156#のライトイネーブルwren_#に、ライトイネーブル信号MEAS_MEMORY_WENを供給する。
これにより、新たな測定データCAL_DATAが生成されるたびに、それが適切なメモリ(バンク)に書き込まれていく。
ライトカウンタ166は、ライトイネーブル信号MEAS_MEMORY_WENを監視し、書き込み回数をカウントする。このカウント値はステートマシン168に供給される。
ステートマシン168は、現在の書き込み先である一方のメモリ156#がフルになると、そのメモリがフルであることを示すフラグMEMORY_FULL_#をアサートする。
以上がメモリコントローラ160の書き込みに関する構成である。続いて読み出しに関する構成を説明する。メモリコントローラ160は、データの読み出しに関して、命令デコーダ170、リードカウンタ172、出力セレクタ174を備える。
命令デコーダ170は、モジュールインタフェース180からの制御信号(命令)を受け、それをデコードする。命令デコーダ170は、ローカルの読み出し命令LOCAL_READを受けると、フルになっている書き込み完了後のメモリ156#から、データを読み出す。リードカウンタ172は、読み出した回数をカウントする。リードカウンタ172のカウント値は、メモリ156#のアドレス信号MW:ADC_MEMORY_ADDRESS[12:0]として、メモリ156#のポートbのアドレス入力address_b[12:0]に供給される。これにより、メモリ156#の先頭のアドレスから最後のアドレスに向かって、1ワードずつデータが読み出されていく。出力セレクタ174は、メモリ156A,156Bのポートbの出力q_bのデータを受け、バンクセレクト信号BANL_SELに応じた一方を選択する。バンクセレクト信号BANL_SELは、現在フルになっているメモリ(つまり読み出すべきバンク)を指定するフラグであり、0のとき、メモリ156Aが選択され、1のとき、メモリ156Bが選択される。
またリードカウンタ172のカウント値は、ステートマシン168に供給される。ステートマシン168は、リードカウンタ172のカウント値を参照し、メモリ156#のすべてのアドレスからデータが読み出されると、フラグMEMORY_FULL_#をネゲートする。フラグMEMORY_FULL_#がネゲートされると、BANK_SELをトグルし、上位コントローラ110がデータを読み出すべきメモリを入れ替える。
ステートマシン168は、2つのフラグMEMORY_FULL_A,MEMORY_FULL_Bを監視し、両方が同時にアサートされると、メモリの読み出しに失敗したことを示すフラグMEMORY_OVER_FLOWをアサートする。フラグMEMORY_OVER_FLOWは、一方のバンクがフルの状態で、次のバンクもフルになったことを示す。これは、元のバンクに新たなデータが上書きされてデータが破壊されていることを示すエラー信号である。
続いてメモリアクセスの動作を説明する。図4は、メモリアクセスの書き込みに関するタイムチャートである。BANKの番号は、切り替え毎に1ずつインクリメントしており、奇数のバンク番号は、メモリ156Aが書き込み先であることを示し、偶数のバンク番号は、メモリ156Bが書き込み先であることを示す。
測定アドレスMEAS_ADDRESS[28:0]は、1ずつインクリメントする。測定アドレスの値が0x0〜0x1FFFの間は、メモリ156Aにデータが書き込まれ、測定アドレスの値が0x2000〜0x3FFFの間は、メモリ156Bにデータが書き込まれ、測定アドレスの値が0x4000〜0x5FFFの間は、メモリ156Aにデータが書き込まれ、測定アドレスの値が0x6000〜0x7FFFの間は、メモリ156Bにデータが書き込まれ、測定アドレスの値が0x8000〜0x9FFFの間は、メモリ156Aにデータが書き込まれる。
フラグMEMORY_FULL_Aは、メモリ156Aのすべてのアドレス0x0〜0x1FFFへのデータ書き込みが完了するとアサートされる。また上位コントローラ110によってすべてのアドレスのデータ読み出しが完了するとネゲートされる。この動作が、2つのメモリ156A,156Bで交互に繰り返される。
図5は、データの読み出しに関するタイムチャートである。フラグMEMORY_FULL_Aがアサートされると、上位コントローラ110に通知される。MEMORY_FULL_Aのアサートから、次のMEMORY_FULL_Bのアサートまでの間が、メモリ156Aに対するデータ読み出し期間となり、この期間の間に、上位コントローラ110は、リード命令を発生し、メモリ156Aからすべてのデータを読み出さなければならない。
上位コントローラ110が発生したリード命令に応答して、メモリ156Aのリードアクセスが発生し、8192回すなわち全アドレス0x0〜0x1FFFの読み出しが完了すると、フラグMEMORY_FULL_Aはネゲートされる。この動作が、2つのメモリ156A,156Bで交互に繰り返される。
図6は、メモリのオーバーフローの検出を説明するタイムチャートである。この例では、メモリ156A(BANK1)への書き込みが完了し、フラグMEMORY_FULL_Aがアサートされる。その後、メモリ156B(BANK2)への書き込みが完了し、フラグMEMORY_FULL_Bがアサートされるまでが、BANK1に対するデータ読み出し期間となる。読み出し期間の間に発生したリード回数が8192回に満たないとき、すなわち読み出し期間の間に、フラグMEMORY_FULL_Aがネゲートされないと、オーバーフローを示すフラグMEMORY_OVER_FLOWがアサートされる。
(バスインタフェースについて)
以上がローカルのメモリアクセスに関する説明である。続いて、波形データ取得モジュール140と上位コントローラ110との間のインタフェースについて説明する。
図7は、上位コントローラ110および波形データ取得モジュール140のブロック図である。上位コントローラ110は、CPU112、バスインタフェース114、メモリ118を備える。バスインタフェース114は、PCI Express(登録商標)カードなどであり、DMA(Direct Memory Access)コントローラ116を有する。DMAコントローラ116は、CPU112からのメモリアクセス命令にもとづいて、波形データ取得モジュール140にアクセスし、読み出したデータをメモリ118に格納する(バースト伝送)。
モジュールインタフェース180は、複数のチャンネルCH1〜CHNのうち、どのチャンネルのメモリがフルになっているかをバスインタフェース114を経由してCPU112に通知する。たとえば、CPU112は、複数のチャンネルCH1〜CHNをいくつかのセットに分類して管理する。そして、同じセットに含まれるチャンネルのメモリがすべてフルになったことを検出すると、そのセットに含まれるすべてのチャンネルのメモリを対象とするリード命令(バースト伝送命令)を発生する。このリード命令に応答して、DMAコントローラ116は、モジュールインタフェース180に対して、リード命令を送信する。
モジュールインタフェース180はシーケンサ182を含む。シーケンサ182は、DMAコントローラ116からのリード命令READが指定する複数のチャンネルのキャプチャユニット150に対して、順にローカルのリード命令LOCAL_READを発生する。たとえば、DMAコントローラ116からのリード命令が、CH1〜CH4を指定したリード命令である場合、シーケンサ182は、CH1〜CH4に対して、順にローカルのリード命令を発生する。その結果、チャンネルごとのデータが順にバスインタフェース114に送信される。DMAコントローラ116は、各チャンネルのデータを、メモリ118の対応するアドレスに格納する。
従来のバースト伝送では、複数のチャンネルにまたがったデータ伝送は不可能であったが、モジュールインタフェース180にシーケンサ182を実装することで、複数のチャンネルを指定したバースト伝送が可能となる。
図8は、上位コントローラ110と波形データ取得モジュール140の間のデータアクセスを説明するシーケンス図である。はじめにCPU112によって、アクセスすべき波形データ取得モジュール140の番号と、チャンネル番号が指定される。アクセスすべき波形データ取得モジュール140の番号に応じて、バススイッチ120が切り替えられる。またチャンネル番号が波形データ取得モジュール140に送信される(S100)。
続いてDMAコントローラ116に起動指示が与えられる(S102)。DMAコントローラ116は、モジュールインタフェース180に対してリード命令を出力する(S104)。モジュールインタフェース180のシーケンサ182は、指定されたチャンネル(この例では全チャンネルCH1〜CHN)に対して順に、ローカルのリード命令を発行する(S106)。各チャンネルのリード命令に応答して、データが上位コントローラ110のメモリ118に対してバースト伝送される(S108)。そして全チャンネルの伝送が完了すると、DMA終了の割り込みがバスインタフェース114からCPU112に出力される(S110)。
(直接割り込み)
続いて、波形データ取得モジュール140から上位コントローラ110への各種通知について説明する。波形データ取得モジュール140は、割り込みによって、メモリフルの通知、メモリのオーバーフローの通知および、波形測定が完了したことの通知を、上位コントローラ110に送信する。この割り込みには、レガシーの割り込み線を用いた通知を用いてもよいが、本実施の形態では、それとは異なる割り込み(以下、直接割り込みという)によって、これらの情報を上位コントローラ110に送信する。
直接割り込みでは、メモリフルに関する情報、メモリオーバーフローに関する情報、波形測定完了の通知が、パケット化され、上位コントローラ110に送信される。
図9は、直接割り込みのパケット生成に関するブロック図である。複数のチャンネルCH1〜CHNは、12チャンネルごとに分割される。12チャンネルのセットを、1スプリットと称する。モジュールインタフェース180は、1スプリットごとに、割り込みパケットを生成するパケット生成部184を組む。チャンネル数Nが96チャンネルの場合、96/12=8個のパケット生成部184が設けられる。
パケット生成部184には、12チャンネル分のメモリフルフラグMEMORY_FULL_A,Bをまとめた割り込みデータMEMFUL_INT[11:0]、12チャンネル分の波形測定完了フラグADC_DONEをまとめた割り込みデータADDONE_INT[11:0]、12チャンネル分のメモリオーバーフローフラグMEMORY_OVER_FLOWをまとめた割り込みデータMEMOFL_INT[11:0]が入力される。MEMFUL_INT[i]は、チャンネルCHiにおける2個のフラグMEMORY_FULL_A,MEMORY_FULL_Bの論理和であってもよい。
パケット生成部184は、パケットデータSEND_TCM_STATUSと、ステータスフラグSBDTCM2Oを生成する。ステータスフラグSBDTCM2Oは、割り込みデータMEMFUL_INT[11:0]、ADDONE_INT[11:0]、MEMOFL_INT[11:0]のいずれかのビットに1が立つと、アサートされる。
上位コントローラ110のメモリ118には、割り込み専用のアドレスが用意されている。モジュールインタフェース180は、パケットデータSEND_TCM_STATUSを、その割り込み専用のアドレスに書き込む。上位コントローラ110のCPU112は、割り込み専用のアドレスを監視しており、割り込みを検出すると同時に、割り込み要因などを取得する。
割り込みデータMEMFUL_INT[11:0]、ADDONE_INT[11:0]、MEMOFL_INT[11:0]は全部で36ビット存在する。この36ビットをパケット化する際に、全ビットを含めると、パケットのサイズが大きくなり、パケットデータを複数に分割して送信する必要がある。そこでパケット生成部184は、メモリオーバーフローを示す割り込みデータMEMOFL_INT[11:0]については、全ビットをOR演算して1ビットにまとめて、パケットデータSEND_TCM_STATUSに含めることとした。
一方、割り込みパケットの送信ごとに、割り込みデータMEMFUL_INT[11:0],ADDONE_INT[11:0]を交互に、パケットデータSEND_TCM_STATUSに含めて送信することとしている。パケットデータSEND_TCM_STATUSは、現在、MEMFUL_INT[11:0],ADDONE_INT[11:0]のいずれを含んでいるかを示すフラグOUTPUT_STATUSを含む。1ビットのMEMOFLは、MEMFUL_INT[11:0]とともに送信される。
ステータスラッチ信号status_latchが発生する度に、出力ステータスOUTPUT_STATUSがトグルする。OUTPUT_STATUS=0は、MEMFUL_INTを通知する状態を、OUTPUT_STATUS=1は、ADDONE_INTを通知する状態を表す。
MEMORY_FULL_CLR信号は、OUTPUT_STATUSのネガエッジごとにアサートされる。MEMORY_FULL_CLR信号のアサートに応答して、フリップフロップFF2の値(MEMORY_FULLのステータス)が確定し、後段のマルチプレクサMUXに出力される。またMEMORY_FULL_CLR信号のアサートに応答してフリップフロップFF1の値が0となり、MEMORY_FULLに関連する割り込み要因がクリアされる。
MEMORY_FULL_CLR信号は、フリップフロップFF5,FF6にも供給される。MEMORY_FULL_CLR信号のアサートに応答して、フリップフロップFF6の値(MEMORY_OVER_FLOWのステータス)が確定し、後段のマルチプレクサMUXに出力される。またMEMORY_FULL_CLR信号のアサートに応答してフリップフロップFF5の値が0となり、MEMORY_OVER_FLOWに関連する割り込み要因がクリアされる。
ADC_DONE_CLR信号は、OUTPUT_STATUSのポジエッジごとにアサートされる。ADC_DONE_CLR信号のアサートに応答して、フリップフロップFF4の値(ADC_DONEのステータス)が確定し、後段のマルチプレクサMUXに出力される。またADC_DONE_CLR信号のアサートに応答して、フリップフロップFF3の値がゼロとなり、ADC_DONEに関連する割り込み要因がクリアされる。
図10は、図9のパケット生成部184の動作を説明する図である。時刻tに、MEMFUL_INT[11:0]のいずれかのビットに1が立つと、対応するチャンネルのフリップフロップFF1に1が格納され、SBDTCM2O信号がハイとなる。続いて、SEND_TCM_STATUSパケットを送信するためのバスコマンドが生成され、status_latch信号がアサートされる。status_latch信号のネガエッジによって、出力ステータスがMEMORY_FULLに切り替わり、MEMORY_FULL_CLR信号がアサートされ、フリップフロップFF1(およびFF5)の値が0となり、MEMORY_FULLの割り込み要因がクリアされる。またフリップフロップFF2の出力が、フリップフロップFF5の出力とともにマルチプレクサMUXに入力され、SEND_TCM_STATUSパケットに格納される。
時刻tに、再びMEMFUL_INT[11:0]のいずれかのビットに1が立つと、対応するチャンネルのフリップフロップFF1に1が格納され、SBDTCM2O信号がハイとなる。続いて、SEND_TCM_STATUSパケットを送信するためのバスコマンドが生成され、status_latch信号がアサートされる。status_latch信号のネガエッジによって、出力ステータスがADC_DONEに切り替わり、ADC_DONE_CLR信号がアサートされる。ADC_DONE_CLR信号がアサートされると、FF4の出力がマルチプレクサMUXに入力され、SEND_TCM_STATUSパケットに格納され、送信される。ただし、このパケットには、送信すべき割り込み要因であるMEMORY_FULLに関する情報は含まれない。
ADC_DONE_CLR信号がアサートでは、フリップフロップFF1の値(すなわちMEMORY_FULLの割り込み要因)はクリアされないため、SBDTCM2O信号はハイを維持する。したがって、ふたたび、バスコマンドSEND_TCM_STATUSが生成され、status_latch信号がアサートされる。status_latch信号のネガエッジによって、出力ステータスがMEMORY_FULLに切り替わり、MEMORY_FULL信号がアサートされる。これにより、MEMORY_FULLに関する情報を含むパケットSEND_TCM_STATUSが生成され、送信される。またフリップフロップFF1がクリアされ、SBDTCM2O信号がローとなる。
時刻tに、MEMORY_FULL,MEMORY_OVER_FLOW,ADC_DONEのすべての割り込み要因が発生し、SBDTCM2O信号はハイとなる。それに続くバスコマンドSEND_TCM_STによって、ADC_DONEに関する割り込みが、上位コントローラ110に送信され、割り込み要因がクリアされる。
時刻tに、ADC_DONE[11:0]のいずれかのビットに1が立つと、対応するチャンネルのフリップフロップFF3に1が格納される。
続くバスコマンドSEND_TCM_STによって、MEMORY_FULLに関する割り込みが上位コントローラ110に送信され、割り込み要因がクリアされる。
この状態では、時刻tに発生した割り込み要因がまだ残っているため、SBDTCM2O信号はハイを維持している。そして次のバスコマンドSEND_TCM_STによって、ADC_DONEに関する割り込みが上位コントローラ110に送信され、割り込み要因がクリアされる。
以上が直接割り込みの説明である。続いて直接割り込みの利点を説明する。従来の割り込みでは、CPUは、割り込み信号を監視し、割り込みを検出すると、波形データ取得モジュール140にアクセスして割り込み要因を読み出す必要があったため、オーバーヘッドが大きかった。
これに対して本実施の形態では、直接割り込みを受けた上位コントローラ110のCPU112は、パケットSEND_TCM_STATUSの中身を見ることにより、どのチャンネルでどのような割り込み要因が発生したかを直接知ることができる。したがって従来の割り込みよりも高速な通知が可能となる。
(エラー検出)
図7を参照する。バスインタフェース114は、波形データ取得モジュール140にリード命令を発行してから所定時間内にデータを受け取れない場合、処理を打ち切り、CPU112にエラー割り込みをかける。
モジュールインタフェース180は、ローカルのリード命令を発行した後に、所定の時間内にキャプチャユニット150からデータが出力されない場合、処理を打ち切る。モジュールインタフェース180が処理を打ち切ると、上位コントローラ110のバスインタフェース114にもデータは伝送されなくなる。結果として、バスインタフェース114が所定時間内にデータを受け取れなくなるため、CPU112にエラー割り込みがかかる。
続いて、パターンプログラムの進行と対応付けて、電源電流や電源電圧などのアナログ信号の波形データを取得するためのアーキテクチャを説明する。
図11は、試験装置100のブロック図である。上述のように、試験装置100は多チャンネルで構成されるが、図11では簡略化して1チャンネル分の構成のみを示す。
試験装置100は、上位コントローラ110、波形データ取得モジュール140、ファンクション試験モジュール130を備える。
波形データ取得モジュール140は、A/Dコンバータ152、信号処理部154、第1メモリユニット155、モジュールインタフェース180を備える。A/Dコンバータ152は、DUT2に関連する電気信号S1(たとえば電源電圧や電源電流)を、所定のサンプリングレートFsでデジタル信号S2に変換するデジタイザである。
信号処理部154は、必要に応じて、A/Dコンバータ152の出力であるデジタル信号S2に対して信号処理を施す。信号処理の内容は特に限定されないが、たとえばキャリブレーション処理が例示される。
第1メモリユニット155は、A/Dコンバータ152により得られるデジタル信号S2にもとづくデジタルデータS3の列である波形データを格納する。第1メモリユニット155は、図2で説明したアーキテクチャで実装してもよく、メモリコントローラ160および2バンクのメモリ156A,156Bを含みうる。
モジュールインタフェース180は、上位コントローラ110とのインタフェースである。
ファンクション試験モジュール130は、試験ユニット132、第2メモリユニット134、モジュールインタフェース136を含む。試験ユニット132は、DUT2のためのパターンプログラムを実行する。パターンプログラムは、DUT2に与えるべき信号(1/0)の組み合わせ(テストパターンあるいはテストベクトル)と、与えた信号に応答してDUT2から戻ってくるべき信号(期待値、H/L)の組み合わせを記述するPG命令を、実行順にリスト化したものである。パターンプログラムは、その他、条件分岐、待機、トリガーを発生するためのPG命令などを組み合わせて構成される。
試験ユニット132の構成は特に限定されるものではないが、たとえば、パターンプログラムに記述されるテストパターンをDUT2に供給するドライバDRと、与えたテストパターンに応答してDUT2からの出力される信号を受信するレシーバ、レシーバが受信した信号をその期待値と比較し、一致、不一致を判定するコンパレータ、などを含む。
第2メモリユニット134は、試験ユニット132によって得られた判定結果を記録する。モジュールインタフェース136は、上位コントローラ110とのインタフェースである。
上位コントローラ110は、波形データ取得モジュール140およびファンクション試験モジュール130を制御するとともに、波形データ取得モジュール140およびファンクション試験モジュール130において得られたデータを収集する。
図12は、図11の試験装置100の動作を説明するタイムチャートである。上位コントローラ110は、波形データ取得モジュール140にサンプリングの開始を指示する(S100)とともに、その時刻tのタイムスタンプを保持する。この時刻tは、上位コントローラ110の時間管理機能にもとづいて生成される。
波形データ取得モジュール140のモジュールインタフェース180がサンプリング開始の指示(S100)を受けると、第1メモリユニット155は、サンプリングの開始の時刻t’のタイムスタンプを記録する。この時刻t’は、上位コントローラ110から送信されるわけではなく、波形データ取得モジュール140のローカルの時間管理機能にもとづいて生成される。
また上位コントローラ110は、ファンクション試験モジュール130に対して、パターンプログラムの実行開始を指示(S102)するとともにその時刻tのタイムスタンプを保持する。ファンクション試験モジュール130のモジュールインタフェース136が、パターンプログラムの実行開始の指示(S102)を受けると、第2メモリユニット134は、パターンプログラムの実行開始の時刻tのタイムスタンプを記録する。この時刻tは、ファンクション試験モジュール130のローカルの時間管理機能にもとづいて生成される。
パターンプログラム中に、条件分岐や、待機が含まれない場合は、パターンプログラムの開始時刻だけ記録しておけば、それに続く各命令の実行時刻は推定することができる。ところが、実際のパターンプログラムは、条件分岐や、ループ、待機を含む場合が多く、その場合には、第2メモリユニット134は、時刻tに加えて、パターンプログラムに含まれる所定のアドレス…の命令(図12においてハッチングを付す)の実行時刻t3_1,t3_1…のタイムスタンプを記録する。これによりパターンプログラムの進行と、波形を対応付けることができる。
タイムスタンプを残すべき命令は、ユーザが指定可能である。パターンプログラムに、指定したアドレスの実行時刻においてタイムスタンプを残すための命令を追加してもよい。あるいは、パターンプログラムとは別に、タイムスタンプをとるべき箇所(パターンプログラムのアドレス)を指定するリストをユーザが用意して、ファンクション試験モジュール130がそのリストを読んで、タイムスタンプをとるようにしてもよい。
また第2メモリユニット134は、所定のアドレスADR,ADR…の命令の実行ごとに、そのとき、あるいはその直前のDUT2への入力値を記録してもよい。DUT2への入力値は、たとえばテストベクトルやテストパターンであってもよいし、その他の制御パラメータであってもよい。
また第2メモリユニット134は、所定のイベントEVT,EVT…ごとに、各イベントEVT(i=1,2…)の種類を示す識別子IDとその発生時刻のタイムスタンプを記録してもよい。イベントEVTは、ファンクション試験モジュール130による異常検知などであってもよい。
上位コントローラ110は、適切なタイミングで第1メモリユニット155にアクセスし、波形データと開始時刻t’を読み出す。
また上位コントローラ110は、適切なタイミングで第2メモリユニット134にアクセスし、試験ユニット132が生成したデータと、開始時刻t’や、所定命令の実行時刻tのタイムスタンプを読み出す。
A/Dコンバータ152のサンプリングレートFは既知であり、波形データ取得モジュール140のローカルの時間軸での波形データのj番目のデータの時刻t’は、
’=t’+j×1/F
で表される。
上位コントローラ110は、波形データ取得モジュールのローカル時刻t’を、上位コントローラの時間軸の時刻tにアラインする。このとき、上位コントローラ110の時間軸での波形データのj番目のデータの時刻tは、
=t+j×1/F
に修正される。
またファンクション試験モジュールのローカル時刻t’を上位コントローラの時刻tにアラインすることで、波形データと、ファンクション試験の進行を対応付けることができる。
図13は、試験装置100により得られる電源電流IDDの波形データと、パターンプログラムのPG命令の対応関係の一例を示す図である。
いま、DUT2の状態を、切り替えながら、電源電流IDDを測定するケースを考える。時刻t’はパターンプログラムの実行開始時刻である。パターンプログラムは先頭のアドレスから順に実行されていく。そして、状態設定のためのPG命令群300が実行されることにより、DUT2の内部状態が第1状態となる。PG命令群300の実行が完了すると、測定のトリガー命令302が実行される。このトリガー命令302は、本来、電源電流IDDの測定開始(取り込み開始)を示すが、本実施の形態では、トリガー命令302より前に、電源電流IDDは連続的にサンプリングされていることに留意されたい。そして、測定の完了まで待機を指示する待機命令304が実行される。待機命令304の実行が完了すると、第1状態での電源電流IDDの測定が完了する。
続いて、DUT2を第2状態に設定するためのPG命令群306が実行され、DUT2の内部状態が切り替えられる。命令群306の実行が完了すると、測定のトリガー命令308が実行され、待機命令310が実行される。待機命令310の実行が完了すると、第2状態での電源電流IDDの測定が完了する。
このような試験を行う際に、たとえば、トリガ命令302,308の実行時刻t3_1,t3_3を示すタイムスタンプを残してもよい。このタイムスタンプを後からチェックすることにより、DUTの状態が安定していたか、電流を取り込むべきタイミングとして適切であったか、を確認できる。具体的には、実行時刻t3_1、t3_3のタイムスタンプにもとづいて、それらに対応する時刻における電源電流IDDの波形をチェックできる。この例では、タイムスタンプt3_1における電源電流IDDは安定しており、したがってDUTの状態が安定していることが確認できる。一方、タイムスタンプt3_3において電源電流IDDは過渡的に遷移しており、したがってDUTの状態が安定しておらず、電源電流IDDの測定タイミングとして不適切であったことを確認できる。
また時刻t3_2のタイムスタンプを記録しておくと、トリガー命令302に対して、待機命令の待ち時間が適切であったかを確認することができる。この情報は、待機命令304の設定時間を変更するような修正をパターンプログラムを施す際にも役立つ。
なお図13の波形は一例であり、実行されるパターンプログラムの中身や、タイムスタンプを残すべき命令は、ユーザが自由に決めることができる。
試験装置100によれば、図13に示すように、波形データと、ファンクション試験モジュール130における命令(イベント)とを時間軸上で対応付けることが可能となり、パターンプログラムのどの工程において、監視対象の電気信号がどのように振る舞うのかを知ることができる。
ここまでの説明では、DC試験においてパターンプログラムと同期した波形データの取得を説明したが、DC試験以外の試験、たとえばACパラメトリック試験やファンクション試験、マージン試験についても、それらにおいて実行されるパターンプログラムと同期して、波形データを取得することができる。
たとえば、波形データ取得モジュール140は、ACパラメトリック試験やファンクション試験に必要な機能ブロックやIPをさらに含んでもよく、この場合、波形データ取得モジュール140は、それぞれの試験ユニットを兼ねることとなる。
図13には、1個のDUTについて得られる波形データのみが示されるが、実施の形態に係る試験装置100は、複数のDUTを同時に測定可能である。一般に、複数のDUTを同時測定する際には、DUTごとのファンクション試験モジュール130は独立に異なるタイミングで動作するところ、試験装置100によれば、多数のDUTそれぞれの波形データを、それぞれを制御するパターンプログラムの進行と対応付けて取得することができる。
実施の形態にもとづき本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
DUT 2
100 試験装置
110 上位コントローラ
112 CPU
114 バスインタフェース
116 DMAコントローラ
118 メモリ
120 バススイッチ
130 ファンクション試験モジュール
132 試験ユニット
134 第2メモリユニット
136 モジュールインタフェース
140 波形データ取得モジュール
150 キャプチャユニット
152 A/Dコンバータ
154 信号処理部
155 第1メモリユニット
156A,156B メモリ
160 メモリコントローラ
162 ライトエンコーダ
164 ライトセレクタ
166 ライトカウンタ
168 ステートマシン
170 命令デコーダ
172 リードカウンタ
174 出力セレクタ
180 モジュールインタフェース
182 シーケンサ
184 パケット生成部

Claims (7)

  1. 被試験デバイスに関連する電気信号を所定のサンプリングレートでデジタル信号に変換するA/Dコンバータと、前記A/Dコンバータにより得られる前記デジタル信号の列である波形データを格納する第1メモリユニットと、を含む波形データ取得モジュールと、
    前記被試験デバイスを試験する試験ユニットと第2メモリユニットとを含むファンクション試験モジュールと、
    前記波形データ取得モジュールおよび前記ファンクション試験モジュールを制御するとともに、前記波形データ取得モジュールおよび前記ファンクション試験モジュールにおいて得られたデータを収集する上位コントローラと、
    を備え、
    前記上位コントローラは、前記波形データ取得モジュールにサンプリングの開始を指示するとともに、その時刻tのタイムスタンプを保持し、
    前記第1メモリユニットは、前記サンプリングの開始の時刻t’のタイムスタンプを記録し、
    前記上位コントローラは、前記ファンクション試験モジュールにパターンプログラムの実行開始を指示するとともにその時刻tのタイムスタンプを保持し、
    前記第2メモリユニットは、前記パターンプログラムの実行開始の時刻t’のタイムスタンプを記録することを特徴とする試験装置。
  2. 前記第2メモリユニットは、前記時刻tに加えて、前記パターンプログラムに含まれる所定のアドレスの命令の実行時刻tのタイムスタンプを記録することを特徴とする請求項1に記載の試験装置。
  3. 前記第2メモリユニットは、前記実行時刻tに加えて、前記所定アドレスの命令にもとづく前記被試験デバイスへの入力値を記録することを特徴とする請求項2に記載の試験装置。
  4. 前記第2メモリユニットは、所定のイベントの発生時刻のタイムスタンプを記録することを特徴とする請求項2または3に記載の試験装置。
  5. 前記第1メモリユニットは、
    第1バンクおよび第2バンクと、
    前記第1バンクおよび前記第2バンクの一方に前記デジタル信号を連続して書き込み、メモリフルになると前記上位コントローラにメモリフルであることを通知するとともに、書き込み先のメモリを他方に切り替えるメモリコントローラと、
    を含むことを特徴とする請求項1から4のいずれかに記載の試験装置。
  6. 前記上位コントローラは、前記通知に応答して前記メモリフルである前記第1バンクおよび前記第2バンクの一方からデータを読み出すことを特徴とする請求項5に記載の試験装置。
  7. 前記電気信号は、被試験デバイスの電源電圧または電源電流であることを特徴とする請求項1から6のいずれかに記載の試験装置。
JP2019100390A 2019-05-29 2019-05-29 試験装置 Active JP7252830B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019100390A JP7252830B2 (ja) 2019-05-29 2019-05-29 試験装置
US16/742,087 US11169205B2 (en) 2019-05-29 2020-01-14 Test apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019100390A JP7252830B2 (ja) 2019-05-29 2019-05-29 試験装置

Publications (2)

Publication Number Publication Date
JP2020193899A true JP2020193899A (ja) 2020-12-03
JP7252830B2 JP7252830B2 (ja) 2023-04-05

Family

ID=73548743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019100390A Active JP7252830B2 (ja) 2019-05-29 2019-05-29 試験装置

Country Status (2)

Country Link
US (1) US11169205B2 (ja)
JP (1) JP7252830B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377290A (zh) * 2021-06-03 2021-09-10 电子科技大学 基于axi协议的具有深存储和双捕获功能的数据采集装置
WO2022107360A1 (ja) 2020-11-20 2022-05-27 日本たばこ産業株式会社 エアロゾル生成装置の電源ユニット

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115047307B (zh) * 2022-08-17 2022-11-25 浙江杭可仪器有限公司 一种半导体器件老化测试箱

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324665B1 (en) * 1998-11-03 2001-11-27 Agilent Technologies, Inc. Event based fault diagnosis
JP2002196051A (ja) * 2000-12-27 2002-07-10 Sony Corp 半導体装置の動作試験装置および動作試験方法
JP2008164563A (ja) * 2007-01-05 2008-07-17 Yokogawa Electric Corp データ転送回路および半導体試験装置
JP2008216030A (ja) * 2007-03-05 2008-09-18 Yokogawa Electric Corp 半導体試験システム
JP2016223828A (ja) * 2015-05-28 2016-12-28 セイコーエプソン株式会社 電子部品搬送装置および電子部品検査装置
JP2017015477A (ja) * 2015-06-30 2017-01-19 セイコーエプソン株式会社 電子部品搬送装置および電子部品検査装置
JP2018117400A (ja) * 2017-01-16 2018-07-26 いすゞ自動車株式会社 車輌の駆動装置、及び車輌
JP2019060792A (ja) * 2017-09-27 2019-04-18 株式会社日立製作所 電力変換装置の診断回路および診断システム
US20200393509A1 (en) * 2017-06-20 2020-12-17 Byung Kyu Kim Processor-based measuring method for testing device under test, and measuring device using same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574626B1 (en) * 2000-09-29 2003-06-03 Agilent Technologies, Inc. Method and apparatus for administration of extended memory
TWI536166B (zh) 2015-01-27 2016-06-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置
CN106021182B (zh) 2016-05-17 2018-11-30 华中科技大学 一种基于二维fft处理器的行转置架构设计方法
US10859628B2 (en) * 2019-04-04 2020-12-08 Apple Ine. Power droop measurements using analog-to-digital converter during testing
US11709275B2 (en) * 2019-07-09 2023-07-25 Xilinx, Inc. Root monitoring on an FPGA using satellite ADCs

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324665B1 (en) * 1998-11-03 2001-11-27 Agilent Technologies, Inc. Event based fault diagnosis
JP2002196051A (ja) * 2000-12-27 2002-07-10 Sony Corp 半導体装置の動作試験装置および動作試験方法
JP2008164563A (ja) * 2007-01-05 2008-07-17 Yokogawa Electric Corp データ転送回路および半導体試験装置
JP2008216030A (ja) * 2007-03-05 2008-09-18 Yokogawa Electric Corp 半導体試験システム
JP2016223828A (ja) * 2015-05-28 2016-12-28 セイコーエプソン株式会社 電子部品搬送装置および電子部品検査装置
JP2017015477A (ja) * 2015-06-30 2017-01-19 セイコーエプソン株式会社 電子部品搬送装置および電子部品検査装置
JP2018117400A (ja) * 2017-01-16 2018-07-26 いすゞ自動車株式会社 車輌の駆動装置、及び車輌
US20200393509A1 (en) * 2017-06-20 2020-12-17 Byung Kyu Kim Processor-based measuring method for testing device under test, and measuring device using same
JP2019060792A (ja) * 2017-09-27 2019-04-18 株式会社日立製作所 電力変換装置の診断回路および診断システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022107360A1 (ja) 2020-11-20 2022-05-27 日本たばこ産業株式会社 エアロゾル生成装置の電源ユニット
CN113377290A (zh) * 2021-06-03 2021-09-10 电子科技大学 基于axi协议的具有深存储和双捕获功能的数据采集装置
CN113377290B (zh) * 2021-06-03 2022-07-26 电子科技大学 基于axi协议的具有深存储和双捕获功能的数据采集装置

Also Published As

Publication number Publication date
JP7252830B2 (ja) 2023-04-05
US20200379036A1 (en) 2020-12-03
US11169205B2 (en) 2021-11-09

Similar Documents

Publication Publication Date Title
US7580807B2 (en) Test protocol manager for massive multi-site test
JP2021520570A (ja) 1または複数の被テストデバイスをテストするための自動試験装置、1または複数の被テストデバイスの自動試験のための方法、および、コマンドエラーを処理するためのコンピュータプログラム
US6321320B1 (en) Flexible and programmable BIST engine for on-chip memory array testing and characterization
JP7252830B2 (ja) 試験装置
US20080052585A1 (en) Integrated testing apparatus, systems, and methods
EP2449391B1 (en) Programmable protocol generator
US20050257109A1 (en) Built-in self-test (BIST) architecture having distributed interpretation and generalized command protocol
US20200379030A1 (en) Test apparatus
US6202186B1 (en) Integrated circuit tester having pattern generator controlled data bus
US7421632B2 (en) Mapping logic for controlling loading of the select ram of an error data crossbar multiplexer
US7596730B2 (en) Test method, test system and assist board
JP2002517762A (ja) アモルファス論理を有する集積回路テスタ
US20130198566A1 (en) Method and Apparatus for Debugging System-on-Chip Devices
KR20000034827A (ko) 반도체 메모리 시험방법 및 그 장치
JP7316818B2 (ja) 波形データ取得モジュールおよび試験装置
US20080235548A1 (en) Test apparatus, and electronic device
JPH05216710A (ja) データ集録・モニタ装置およびデータ集録・モニタ方法
JP4520942B2 (ja) 試験装置及び設定方法
TW201027546A (en) Chip testing circuit
CN112466381B (zh) 一种适用于测试ddr3物理层电气功能的测试芯片
KR101309182B1 (ko) 대규모 집적회로 테스터에서 타이밍 발생 및 포맷 장치
TW201928981A (zh) 記憶體整體測試之系統及其方法
CN105895166B (zh) 一种支持ddr3数据通路调试的调试控制单元及调试方法
TWI227856B (en) System for displaying waveforms of data signals and method thereof
JP2006107071A (ja) ロジックアナライザ内蔵型電子部品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230324

R150 Certificate of patent or registration of utility model

Ref document number: 7252830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150