JPWO2008126747A1 - 試験装置、試験方法、および電子デバイス - Google Patents

試験装置、試験方法、および電子デバイス Download PDF

Info

Publication number
JPWO2008126747A1
JPWO2008126747A1 JP2009509283A JP2009509283A JPWO2008126747A1 JP WO2008126747 A1 JPWO2008126747 A1 JP WO2008126747A1 JP 2009509283 A JP2009509283 A JP 2009509283A JP 2009509283 A JP2009509283 A JP 2009509283A JP WO2008126747 A1 JPWO2008126747 A1 JP WO2008126747A1
Authority
JP
Japan
Prior art keywords
instruction
test
pattern
offset
sequence
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
JP2009509283A
Other languages
English (en)
Other versions
JP5175840B2 (ja
Inventor
山田 達也
達也 山田
清志 村田
清志 村田
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
Publication of JPWO2008126747A1 publication Critical patent/JPWO2008126747A1/ja
Application granted granted Critical
Publication of JP5175840B2 publication Critical patent/JP5175840B2/ja
Expired - Fee Related 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/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/31813Test pattern generators
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

被試験デバイスを試験する試験装置であって、被試験デバイスを試験するための試験シーケンスを定める試験命令列を圧縮形式で記憶するパターンメモリと、パターンメモリから読み出された試験命令列を非圧縮形式に展開する展開部と、展開部により展開された試験命令列をキャッシングする命令キャッシュと、命令キャッシュに格納された命令を順次読み出して実行し、実行される命令に対する試験パターンを発生するパターン発生部と、試験パターンに基づく試験信号を生成し、被試験デバイスに供給する信号出力部とを備える試験装置を提供する。

Description

本発明は、試験装置、試験方法、および電子デバイスに関する。特に本発明は、被試験デバイスを試験する試験装置および試験方法、および、被試験回路を試験する試験回路を備える電子デバイスに関する。本出願は、下記の米国特許出願に関連する。文献の参照による組み込みが認められる指定国については、下記の出願に記載された内容を参照により本出願に組み込み、本出願の一部とする。
1.米国特許出願 11/733,174 出願日 2007年04月09日
半導体等の被試験デバイスを試験する試験装置が知られている。試験装置は、所定の論理パターンの試験信号を被試験デバイスに供給し、当該試験信号に応じて被試験デバイスから出力される信号を検出する。そして、試験装置は、検出した信号と期待値と比較することにより、当該被試験デバイスの良否を判定する。
試験装置は、試験パターンを順次に発生するパターン発生器と、試験パターンに応じた論理の試験信号を出力する試験信号出力部とを備える(例えば、特許文献1参照)。パターン発生器は、メモリに格納されたシーケンスデータ(試験命令列)から順次に命令を読み出し、読み出した命令を実行する。そして、パターン発生器は、実行した各命令に対応するパターンデータをメモリから読み出し、読み出したパターンデータを試験パターンとして順次に出力する。これにより、試験装置は、所定の論理パターンの試験信号を被試験デバイスに供給することができる。
日本国特許出願 特開2000−206210号
ところで、被試験デバイスの機能の向上に伴い試験項目および内容が増大し、シーケンスデータに含まれる命令数が多くなっている。このため、試験装置によれば、シーケンスデータを記憶するメモリの容量が大きくなってしまっていた。
そこで本発明の1つの側面においては、上記の課題を解決することのできる試験装置、試験方法、および電子デバイスを提供することを目的とする。この目的は請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
本発明の第1の形態においては、被試験デバイスを試験する試験装置であって、被試験デバイスを試験するための試験シーケンスを定める試験命令列を圧縮形式で記憶するパターンメモリと、パターンメモリから読み出された試験命令列を非圧縮形式に展開する展開部と、展開部により展開された試験命令列をキャッシングする命令キャッシュと、命令キャッシュに格納された命令を順次読み出して実行し、実行される命令に対する試験パターンを発生するパターン発生部と、試験パターンに基づく試験信号を生成し、被試験デバイスに供給する信号出力部とを備える試験装置を提供する。
本発明の第2の形態においては、電子デバイスであって、被試験回路と、被試験回路を試験する試験回路とを備え、試験回路は、被試験回路を試験するための試験シーケンスを定める試験命令列を圧縮形式で記憶するパターンメモリと、パターンメモリから読み出された試験命令列を非圧縮形式に展開する展開部と、展開部により展開された試験命令列をキャッシングする命令キャッシュと、命令キャッシュに格納された命令を順次読み出して実行し、実行される命令に対する試験パターンを発生するパターン発生部と、試験パターンに基づく試験信号を生成し、被試験回路に供給する信号出力部とを有する電子デバイスを提供する。
本発明の第3の形態においては、被試験デバイスを試験する試験方法であって、被試験デバイスを試験するための試験シーケンスを定める試験命令列を圧縮形式で記憶する段階と、パターンメモリから読み出された試験命令列を非圧縮形式に展開する段階と、展開された試験命令列をキャッシングする段階と、格納された命令を順次読み出して実行し、実行される命令に対する試験パターンを発生する段階と、試験パターンに基づく試験信号を生成し、被試験デバイスに供給する段階とを備える試験方法を提供する。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
本発明の一つの実施形態に係る試験装置200の構成の一例を示す図である。 試験モジュール100の構成の一例を示す図である。 パターンリストメモリ14が格納するパターンリスト、メインメモリ40が格納するシーケンスデータ、及びパターンデータの一例を説明する図である。 本実施形態に係るパターン発生部70の構成の一例を、メインメモリ40およびパターン発生制御部20とともに示す図である。 圧縮前のシーケンスデータ(試験命令列)の一例を示す図である。 圧縮前のシーケンスデータ、NOP命令を削除した圧縮形式のシーケンスデータおよび圧縮形式のシーケンスデータを展開したシーケンスデータの一例を示す図である。 マッチ制御命令(JFF命令)を含むシーケンスデータの一例を示す図である。 回数指定命令(STI命令)およびループ分岐命令(JNI命令)を含むシーケンスデータの一例を示す図である。 ブレーク命令(BRK命令)を含むシーケンスデータの一例を示す図である。 繰返し命令(IDXI命令)を含むシーケンスデータの一例を示す図である。 本発明の一つの実施形態に係る電子デバイス400の構成の一例を示す図である。
符号の説明
10 チャネル制御部
12 インターフェイス部
14 パターンリストメモリ
16 結果メモリ
20 パターン発生制御部
30 レート発生部
40 メインメモリ
50 チャネル回路
52 波形成形部
54 ドライバ
56 タイミング発生部
58 コンパレータ
60 タイミング比較部
62 判定部
64 キャプチャメモリ
70 パターン発生部
80 ベクタ発生部
90 パターンキャッシュメモリ
100 試験モジュール
110 システム制御装置
130 サイト制御装置
140 切替部
200 試験装置
300 被試験デバイス
312 一次キャッシュ
314 展開部
316 命令キャッシュ
318 命令実行部
330 オフセットレジスタ
332 ベクタ生成制御部
334 パターン発生部
336 マッチ信号入力部
340 スタック
400 電子デバイス
410 被試験回路
420 試験回路
430 入出力ピン
440 BISTピン
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の一つの実施形態に係る試験装置200の構成の一例を示す図である。試験装置200は、半導体回路等の被試験デバイス300を試験する装置であって、システム制御装置110、複数のサイト制御装置130、切替部140、及び複数の試験モジュール100を備える。
システム制御装置110は、試験装置200が被試験デバイス300の試験に用いる試験制御プログラム、試験プログラムデータ、及び試験パターンデータ等を外部のネットワーク等を介して受信して格納する。複数のサイト制御装置130は、通信ネットワークを介してシステム制御装置110と接続される。
サイト制御装置130a〜cは、いずれかの被試験デバイス300の試験を制御する。例えば複数のサイト制御装置130は、複数の被試験デバイス300と一対一に対応して設けられ、それぞれのサイト制御装置130は、対応する被試験デバイス300の試験を制御する。
図1においては、サイト制御装置130aは被試験デバイス300aの試験を制御して、サイト制御装置130bは被試験デバイス300bの試験を制御する。これに代えて、複数のサイト制御装置130は、それぞれ複数の被試験デバイス300の試験を制御してもよい。
より具体的には、サイト制御装置130は、システム制御装置110から試験制御プログラムを取得し実行する。次に、サイト制御装置130は、試験制御プログラムに基づいて、対応する被試験デバイス300の試験に用いる試験プログラムデータ(例えば、後述するシーケンスデータ)及び試験パターンデータ(例えば、後述するパターンデータ)をシステム制御装置110から取得する。尚、以下では試験プログラムデータ及び試験パターンデータを、試験データ列と総称する。試験データ列は、試験プログラムデータ及び試験パターンデータの少なくとも一方を含むデータであってよい。
またサイト制御装置130は、切替部140を介して当該被試験デバイス300の試験に用いる1又は複数の試験モジュール100等のモジュールに格納する。次に、サイト制御装置130は、試験プログラムデータ及び試験パターンデータに基づく試験の開始を切替部140を介して試験モジュール100に指示する。そして、サイト制御装置130は、試験が終了したことを示す割込み等を例えば試験モジュール100から受信して、試験結果に基づいて次の試験を試験モジュール100に行なわせる。
切替部140は、複数のサイト制御装置130のそれぞれを、当該サイト制御装置130が制御する1又は複数の試験モジュール100に接続して、これらの間の通信を中継する。ここで、予め定められた一のサイト制御装置130は、試験装置200の使用者、試験制御プログラム等の指示に基づいて、複数のサイト制御装置130のそれぞれを、当該サイト制御装置130が被試験デバイス300の試験に用いる1以上の試験モジュール100に接続させるべく切替部140を設定してよい。
例えば、図1においては、サイト制御装置130aは、複数の試験モジュール100aに接続するように設定され、これらを用いて被試験デバイス300aの試験を行なう。ここで、他のサイト制御装置130が試験モジュール100を用いて被試験デバイス300を試験するための構成及び動作は、サイト制御装置130aが被試験デバイス300aを試験するための構成及び動作と同一であってよい。以下では、サイト制御装置130aが被試験デバイス300aを試験するための構成及び動作を中心に説明する。
試験モジュール100aは、サイト制御装置130aの指示に基づいて、被試験デバイス300aの試験に用いる試験信号を生成すべきタイミング信号を生成する。また、いずれかの試験モジュール100aは、他の試験モジュール100aにおける試験結果を受信して、試験結果の良否に対応したシーケンスを複数の試験モジュール100aに実行させてよい。
複数の試験モジュール100aは、被試験デバイス300aが有する複数の端子の一部ずつにそれぞれ接続され、サイト制御装置130aにより格納されたシーケンスデータ及びパターンデータに基づいて被試験デバイス300aの試験を行なう。被試験デバイス300aの試験において、試験モジュール100aは、後述するパターンリストにより指定されたシーケンスデータ及びパターンデータに基づいて、パターンデータから試験信号を生成して、当該試験モジュール100aに接続された被試験デバイス300aの端子に試験信号を供給する。
次に、試験モジュール100aは、被試験デバイス300aが試験信号に基づいて動作した結果出力する出力信号を取得して、期待値と比較する。ここで複数の試験モジュール100aは、シーケンスデータ及びパターンデータに基づいて、試験信号のサイクル周期を動的に変化させるべく、異なるサイクル周期に基づいて試験信号を生成してよい。
また、試験モジュール100aは、試験プログラムデータの処理が完了した場合、試験プログラムデータの実行中に異常が生じた場合等において、サイト制御装置130aに対して割込みを発生する。この割込みは、切替部140を介して当該試験モジュール100aに対応するサイト制御装置130aに通知され、サイト制御装置130aが有するプロセッサにより割込み処理が行われる。
以上において、試験装置200は、オープンアーキテクチャにより実現され、オープンアーキテクチャ規格を満たす各種のモジュールを使用することができる。そして、試験装置200は、試験モジュール100等のモジュールを、切替部140が有する任意の接続スロットに挿入して使用することができる。
この際、試験装置200の使用者等は、例えばサイト制御装置130aを介して切替部140の接続形態を変更して、被試験デバイス300の試験に用いる複数のモジュールを、当該被試験デバイス300の試験を制御するサイト制御装置130に接続させることができる。これにより、試験装置200の使用者は、複数の被試験デバイス300のそれぞれの端子数、端子の配置、端子の種類、又は試験の種類等に応じて適切なモジュールを選択して、試験装置200に実装することができる。
また、試験装置200又は試験モジュール100は、試験対象となる被試験回路と共に同一の電子デバイスに設けられた試験回路であってもよい。当該試験回路は、電子デバイスのBIST回路等として実現され、被試験回路を試験することにより電子デバイスの診断等を行う。これにより、当該試験回路は、被試験回路となる回路が、電子デバイスが本来目的とする通常動作を行うことができるかどうかをチェックすることができる。
また、試験装置200又は試験モジュール100は、試験対象となる被試験回路と同一のボード又は同一の装置内に設けられた試験回路であってもよい。このような試験回路も、上述したように被試験回路が本来目的とする通常動作を行うことができるかどうかをチェックすることができる。
図2は、試験モジュール100の構成の一例を示す図である。試験モジュール100は、チャネル制御部10及び複数のチャネル回路50を有する。本例では、一つのチャネル回路50の機能及び構成を説明するが、他のチャネル回路50も同一の機能及び構成を有してよい。
それぞれのチャネル回路50は、被試験デバイス300の対応する入出力ピンに接続され、当該入出力ピンに試験信号を供給してよい。また、それぞれのチャネル回路50は、当該入出力ピンからの出力信号を測定してよい。尚、被試験デバイス300の入出力ピンは、入力ピン又は出力ピンのいずれかであってもよい。
チャネル制御部10は、それぞれのチャネル回路50を制御する。例えばチャネル制御部10は、それぞれのチャネル回路50を制御して試験信号を生成させる。また、チャネル制御部10は、それぞれのチャネル回路50を制御して、被試験デバイス300の出力信号を測定させる。
また、チャネル制御部10は、いずれかのチャネル回路50における測定結果に基づいて、他のチャネル回路50を制御してもよい。例えば、いずれかのチャネル回路50における測定結果が所定の条件を満たすまで、他の少なくとも一つのチャネル回路50に所定の動作を繰り返し行わせ、測定結果が所定の条件を満たした場合に、当該他のチャネル回路50に、次に行うべき動作を行わせてよい。
チャネル制御部10は、インターフェイス部12、パターンリストメモリ14、結果メモリ16、パターン発生制御部20、メインメモリ40、レート発生部30、及びパターン発生部70を有する。インターフェイス部12は、サイト制御装置130と、試験モジュール100との間でデータを受け渡す。
メインメモリ40は、複数種類のシーケンスデータと、シーケンスデータに対応するパターンデータとを格納する。メインメモリ40は、サイト制御装置130から与えられるシーケンスデータ及びパターンデータを、被試験デバイス300の試験前に予め格納してよい。またメインメモリ40は、シーケンスデータ及びパターンデータを圧縮して格納してもよい。
例えばサイト制御装置130は、シーケンスデータ、パターンデータ、及びこれらのデータをメインメモリ40の指定アドレスに格納すべき命令を、インターフェイス部12に入力してよい。パターン発生制御部20は、インターフェイス部12が受け取った命令に応じて、これらのデータをメインメモリ40に格納する。
シーケンスデータは、例えば順次実行すべき命令群を示すデータであってよい。ここで、シーケンスデータにおける一つの命令が、試験データに対応してよく、複数の命令が試験データに対応してもよい。
パターンデータは、例えば論理値パターンを示すデータであり、複数の命令と一対一に対応付けて格納されてよい。例えばシーケンスデータは、それぞれのパターンデータを、所定の順序で出力させることにより、試験パターンを生成させる命令群であってよい。ここで、パターンデータにおいて、一つの命令に対するデータが試験データに対応してよく、複数の命令に対するデータが試験データに対応してもよい。
このとき、シーケンスデータは、それぞれのパターンデータを複数回用いて、試験パターンを生成してよい。例えばシーケンスデータは、ループ命令、ジャンプ命令等を含んでよい。チャネル制御部10が、このようなシーケンスデータを実行することにより、対応するパターンデータを展開して、シーケンスデータ及びパターンデータに応じた試験信号を生成することができる。メインメモリ40が格納するシーケンスデータ及びパターンデータの一例は、図3において後述する。
パターンリストメモリ14は、メインメモリ40が格納したシーケンスデータを実行すべき順序を示すパターンリストを格納する。例えばパターンリストメモリ14は、実行すべきシーケンスデータの、メインメモリ40におけるアドレスを順次指定するパターンリストを格納してよい。パターンリストメモリ14は、メインメモリ40と同様に、サイト制御装置130から与えられるパターンリストを、被試験デバイス300の試験前に予め格納してよい。パターンリストは、上述した試験制御プログラムの一例であってよく、試験制御プログラムの一部であってもよい。
パターン発生制御部20は、被試験デバイス300の試験を開始する場合に、パターンリストメモリ14からパターンリストを読み出す。例えばサイト制御装置130から試験を開始する旨の命令を受けた場合に、パターン発生制御部20は、パターンリストメモリ14からパターンリストを読み出してよい。
パターン発生制御部20は、メインメモリ40が格納したシーケンスデータ及び対応するパターンデータを、パターンリストに基づく順序で読み出す。パターン発生制御部20は、読み出したシーケンスデータを、パターン発生部70のベクタ発生部80に送信する。また、パターン発生制御部20は、読み出したパターンデータを、パターン発生部70のパターンキャッシュメモリ90に送信する。
パターン発生制御部20は、後段の回路のキャッシュメモリ、FIFO等に、所定の空き領域が生じた場合に、次のシーケンスデータ及びパターンデータを読み出して送信してよい。この場合、パターン発生制御部20は、シーケンスデータ及びパターンデータを格納すべき全てのキャッシュメモリ、FIFO等に、所定の空き領域が生じたことを条件として、次のシーケンスデータ及びパターンデータを読み出して、これらのキャッシュメモリ、FIFO等に送信してよい。
パターン発生部70は、パターン発生制御部20から順次受け取るシーケンスデータ及びパターンデータに基づいて、試験パターンを順次生成する。本例のパターン発生部70は、ベクタ発生部80及びパターンキャッシュメモリ90を有する。
上述したように、ベクタ発生部80は、パターン発生制御部20からシーケンスデータを受け取る。ベクタ発生部80は、受け取ったシーケンスデータを所定のキャッシュエントリ(以下、エントリと称する)に格納するシーケンスキャッシュメモリを有してよい。パターンキャッシュメモリ90は、パターン発生制御部20からパターンデータを受け取り、所定のエントリに格納する。エントリとは、例えば一つ又は複数のアドレスで指定される記憶領域であってよい。
ベクタ発生部80は、シーケンスキャッシュメモリに格納したシーケンスデータを順次実行して、パターンキャッシュメモリ90のアドレスを順次指定する。例えばシーケンスデータの各命令には、当該命令に応じて指定すべきパターンデータのアドレスが対応付けられていてよい。そして、ベクタ発生部80は、シーケンスデータに含まれるループ命令、ジャンプ命令等に応じてパターンキャッシュメモリ90のアドレスを順次指定する。
パターンキャッシュメモリ90は、順次指定されるアドレスのパターンデータを出力する。このような構成により、シーケンスデータ及びパターンデータに応じた論理パターンを有する試験パターンを生成することができる。また、シーケンスキャッシュメモリ及びパターンキャッシュメモリ90は、シーケンスデータの実行が終了した場合に、当該シーケンスデータ及び対応するパターンデータの記憶領域を開放してよい。シーケンスデータは、命令群の末尾に、シーケンスデータの終了を示す終了命令を有してよい。
それぞれのチャネル回路50は、パターン発生部が出力する試験パターンに基づいて試験信号を成形して、被試験デバイス300に入力する。また被試験デバイス300の出力信号を測定する。チャネル回路50は、波形成形部52、ドライバ54、タイミング発生部56、コンパレータ58、タイミング比較部60、判定部62、及びキャプチャメモリ64を有する。
波形成形部52は、パターン発生部70が生成した試験パターンに基づいて、試験信号を成形する。例えば波形成形部52は、当該試験パターンに応じた論理パターンを有する試験信号を生成してよい。また、波形成形部52は、与えられるタイミング信号に応じて、試験信号を生成してよい。例えば波形成形部52は、与えられるタイミング信号に応じて論理値が遷移する試験信号を生成してよい。
ドライバ54は、波形成形部52が生成した試験信号を、被試験デバイス300に入力する。ドライバ54は、波形成形部52が生成した試験信号がH論理を示すときに所定のHレベルの電圧を出力して、試験信号がL論理を示すときに所定のLレベルの電圧を出力することにより、試験信号の電圧レベルを、被試験デバイス300に入力すべき信号レベルに変換してよい。
コンパレータ58は、被試験デバイス300の出力信号を受け取り、出力信号の電圧レベルと、予め設定される参照レベルとを比較することにより、出力信号を2値の論理信号に変換してよい。例えばコンパレータ58は、出力信号の電圧レベルが参照レベルより大きい場合にH論理を出力して、出力信号の電圧レベルが参照レベル以下である場合にL論理を出力してよい。
タイミング比較部60は、与えられるストローブ信号に応じて、コンパレータ58が出力する信号の論理値を取得する。これにより、出力信号の論理パターンを検出することができる。
タイミング発生部56は、予め与えられるタイミングセットの設定値に応じて、上述したタイミング信号及びストローブ信号を生成する。例えばタイミング発生部56は、レート発生部30からタイミングセットに応じた周期で与えられるレート信号を、与えられるタイミングセットに応じた遅延量で遅延させたタイミング信号及びストローブ信号を生成してよい。
タイミングセットは、例えば一つのシーケンスデータを実行する毎に、レート発生部30及びタイミング発生部56に与えられてよい。例えばメインメモリ40は、当該シーケンスデータに対応するパターンデータの一部に、タイミングセットのデータを含んでよい。パターン発生部70は、それぞれのシーケンスデータを実行する毎に、当該シーケンスデータに対応するタイミングセットを、レート発生部30及びタイミング発生部56に設定してよい。
判定部62は、タイミング比較部60が検出した論理パターンと、期待値パターンとを比較する。これにより、被試験デバイス300の良否を判定することができる。期待値パターンは、パターン発生部70が生成してよい。例えば期待値パターンは、パターン発生部70が生成する試験パターンに含まれる、被試験デバイス300に入力される試験信号の論理パターンと同一であってよい。これに加え、判定部62は、一例として、タイミング比較部60が検出した論理パターンと、期待値とが一致したか否かを検出してもよい。これにより、判定部62は、被試験デバイス300の出力信号が予め指定した値と一致したことを検出することができる。判定部62は、被試験デバイス300の出力信号が予め指定した値と一致したことを示すマッチ信号をパターン発生部70に供給してよい。
キャプチャメモリ64は、判定部62における判定結果を格納する。例えばキャプチャメモリ64は、判定部62におけるパス(一致)及びフェイル(不一致)の判定結果を、試験パターン毎に格納してよい。また、キャプチャメモリ64は、判定部62におけるフェイルの判定結果を選択して格納してもよい。
また、チャネル制御部10の結果メモリ16は、それぞれのチャネル回路50の判定部62における判定結果を格納する。結果メモリ16は、それぞれの判定部62におけるパス(一致)及びフェイル(不一致)の判定結果を、試験パターン毎にそれぞれのチャネルに対応付けて格納してよい。また、結果メモリ16は、それぞれの判定部62におけるフェイルの判定結果を選択して格納してもよい。
上述したように、キャプチャメモリ64は、試験パターン毎のフェイル情報を、チャネル回路50毎に格納してよい。これに対し、結果メモリ16は、パターンリストメモリ14に格納されたシーケンスデータ毎のフェイル情報を、例えば被試験デバイス300毎に格納してよい。
図3は、パターンリストメモリ14が格納するパターンリスト、メインメモリ40が格納するシーケンスデータ、及びパターンデータの一例を説明する図である。上述したように、メインメモリ40は、複数のシーケンスデータ(シーケンスデータ1、シーケンスデータ2、・・・)と、それぞれ対応するパターンデータを格納する。
上述したように、シーケンスデータは複数の命令を含む。パターン発生部70は、それぞれの命令を実行した場合に、当該命令に対応するパターンデータを出力してよい。例えばシーケンスデータは、対応するパターンデータを出力して次の命令に移行するNOP命令、対応するパターンデータを出力して、更に所定のアドレスの命令にジャンプするJMP命令、対応するパターンデータを出力して、更に指定されたアドレス範囲の命令を所定の回数繰り返すLOOP命令等を含んでよい。
このような命令群を実行することにより、それぞれのパターンデータをシーケンスデータに応じた順序で出力して、所定の試験パターンを生成する。例えば、シーケンスデータ2を実行した場合、パターン発生部70は、パターンデータAを出力した後、パターンデータBからパターンデータCまでを、LOOP命令で指定される回数繰り返して出力する。
また、メインメモリ40は、複数のチャネル回路50に共通して、シーケンスデータを格納してよい。また、メインメモリ40は、それぞれのチャネル回路50に対してパターンデータを格納してよい。例えばシーケンスデータのそれぞれの命令に対して、複数のチャネル回路50に対応するパターンデータを格納してよい。図3の例では、メインメモリ40は、各チャネル回路50に対応するパターンデータを、それぞれのアドレスの異なるビット位置に格納する。
パターンリストメモリ14は、実行すべきシーケンスデータの順序を格納する。図3に示した例では、パターンリストメモリ14は、シーケンスデータ2、シーケンスデータ1、・・・を順に指定するパターンリストを格納する。
また、図2に示した例では、シーケンスデータ及びパターンデータを格納するメインメモリ40をチャネル制御部10に設けている。これに対し他の例では、シーケンスデータを格納するメインメモリ40をチャネル制御部10に設け、それぞれのチャネル回路50のパターンデータを格納するメモリを、それぞれのチャネル回路50に設けてもよい。
この場合、それぞれのチャネル回路50にパターンキャッシュメモリ90を設けてよい。そして、ベクタ発生部80が順次指定するアドレスを、それぞれのチャネル回路50に設けたパターンキャッシュメモリ90に分配してよい。
図4は、本実施形態に係るパターン発生部70の構成の一例を、メインメモリ40およびパターン発生制御部20とともに示す図である。ベクタ発生部80は、一次キャッシュ312と、展開部314と、命令キャッシュ316と、命令実行部318とを含む。
メインメモリ40は、上述したように、被試験デバイス300を試験するための試験シーケンスを定める試験命令列(シーケンスデータ)を記憶する。メインメモリ40は、シーケンスデータを圧縮形式で記憶する。さらに、メインメモリ40は、圧縮前のシーケンスデータに含まれる各命令に対応付けられた試験パターンを含む試験パターン列(パターンデータ)を記憶する。
ベクタ発生部80に含まれる一次キャッシュ312は、シーケンスデータを圧縮形式で記憶する。一次キャッシュ312は、本発明に係るパターンメモリの一例である。パターンキャッシュメモリ90は、パターンデータを記憶する。
パターン発生制御部20は、メインメモリ40に記憶されたシーケンスデータをパターンリストの記述に従って読み出して、一次キャッシュ312に書き込む。パターン発生制御部20は、メインメモリ40に記憶されたパターンデータをパターンリストの記述に従って読み出して、パターンキャッシュメモリ90に書き込む。
展開部314は、一次キャッシュ312からシーケンスデータを読み出して、命令キャッシュ316に書き込む。この場合において、展開部314は、一次キャッシュ312から読み出された圧縮形式のシーケンスデータを非圧縮形式に展開する。
命令キャッシュ316は、展開部314により一次キャッシュ312から読み出され、非圧縮形式に展開されたシーケンスデータをキャッシングする。命令キャッシュ316によりキャッシングされているシーケンスデータに含まれる各命令は、パターンキャッシュメモリ90により記憶されているパターンデータに含まれる試験パターンに対応付けられている。
命令実行部318は、命令キャッシュ316に記憶されたシーケンスデータに含まれる命令を順次に読み出して実行する。ここで、シーケンスデータに含まれる各命令には、当該シーケンスデータ中における、当該命令の位置を示すオフセットが割り付けられている。命令実行部318は、命令を実行し、実行した当該命令に応じて定められる次に実行すべき命令のオフセットを特定し、特定したオフセットの命令を命令キャッシュ316から読み出し、読み出した命令を実行する、といった処理を繰り返す。これにより、命令実行部318によれば、当該シーケンスデータにより定められた試験シーケンスを実行することができる。
更に、命令実行部318は、命令を実行した場合、当該命令に割り付けられたオフセットを、当該命令に対応した試験パターンを指定するベクタアドレスに変換する。命令実行部318は、当該ベクタアドレスをパターンキャッシュメモリ90に与え、パターンキャッシュメモリ90から実行した命令に対応する試験パターンを出力させる。パターンキャッシュメモリ90は、試験パターンをチャネル回路50に供給する。そして、チャネル回路50は、供給された試験パターンに応じた試験信号を生成し、被試験デバイス300に供給する。チャネル回路50は、本発明に係る信号出力部の一例である。パターンキャッシュメモリ90は、一例として、試験パターンを波形成形部52、タイミング発生部56および判定部62に供給する。
また、シーケンスデータに含まれる各命令には、対応する当該試験パターンを出力するためのタイミングの組を指定するタイミングセット情報(TS)が対応付けられている。命令実行部318は、命令を実行した場合、当該命令に対応付けられたタイミングセット情報を、パターンキャッシュメモリ90から出力する試験パターンに対応させて、当該パターンキャッシュメモリ90からレート発生部30およびタイミング発生部56に出力させる。
本実施形態において、命令実行部318は、オフセットレジスタ330と、ベクタ生成制御部332と、パターン発生部334と、マッチ信号入力部336と、スタック340とを含む。オフセットレジスタ330は、ベクタ生成制御部332により次に実行される命令および対応する試験パターンのオフセットを記憶する。
ベクタ生成制御部332は、命令キャッシュ316に格納された命令を順次読み出して実行する。より具体的には、ベクタ生成制御部332は、オフセットレジスタ330により指定されたオフセットの命令を、命令キャッシュ316から読み出して実行する。さらに、ベクタ生成制御部332は、実行した命令に応じて、オフセットレジスタ330の値を更新する。より具体的には、ベクタ生成制御部332は、順次実行される各命令を実行する度にオフセットレジスタ330の値をインクリメントする。また、ベクタ生成制御部332は、分岐命令を実行する場合に分岐先の命令のオフセットを、オフセットレジスタ330にロードする。
なお、ベクタ生成制御部332は、一例として、オフセットレジスタ330に記憶されたオフセットを、クロックサイクルに同期させて命令キャッシュ316に与えることにより、命令を読み出してよい。また、ベクタ生成制御部332が例えばクロックサイクルと非同期で命令を読み出す場合、命令キャッシュ316は、ベクタ生成制御部332を介さずオフセットレジスタ330からオフセットが与えられてもよい。
パターン発生部334は、オフセットレジスタ330に記憶されたオフセットに対応する試験パターンを出力する。より具体的には、パターン発生部334は、オフセットレジスタ330に記憶されたオフセットをベクタアドレスに変換して、パターンキャッシュメモリ90に与える。
マッチ信号入力部336は、タイミング比較部60により出力された、被試験デバイス300の出力信号が予め指定した値と一致したこと示すマッチ信号を入力する。そして、マッチ信号入力部336は、入力したマッチ信号を、例えばベクタ生成制御部332により読み出し可能なレジスタに格納する。
スタック340は、1以上の命令を含むループ区間を繰り返し実行する場合において、当該ループ区間を実行すべき繰返し回数を格納する。ここで、スタック340は、複数の繰返し回数を格納することができる。スタック340は、最後に入力(プッシュ)した繰返し回数を先頭に格納し、最後に入力した繰返し回数から順に取り出(ポップ)される。
図5は、圧縮前のシーケンスデータ(試験命令列)の一例を示す図である。圧縮前のシーケンスデータには、一例として、NOP(No Operation)命令、ジャンプ命令(JMP命令)、繰返し命令(IDXI命令)、終了命令(EXIT命令)等が含まれてよい。
NOP命令は、試験シーケンスの変更および当該試験装置200内のレジスタ値の明示的な変更を伴わない命令である。命令実行部318は、NOP命令を実行した場合、当該NOP命令の次のオフセットが割り付けられた命令を次に実行すべき命令として特定する。
ジャンプ命令(JMP命令)は、指定された条件に一致しない場合(又は一致する場合)、当該JMP命令より前の実行済みの命令を、次に実行すべき命令として特定させる。これにより、命令実行部318は、処理を再び実行済みの命令に戻し、当該実行済み命令から当該JMP命令までの処理を繰り返すことができる。更に、JMP命令は、指定された条件に一致した場合(又は一致しない場合)、当該JMP命令の次のオフセットが割り付けられた命令を、次に実行すべき命令として特定させる。これにより、命令実行部318は、ループ処理を抜けて、処理を次の命令に進めることができる。
繰返し命令(IDXI命令)は、対応するパターンデータを指定した回数分繰り返し出力させる命令である。命令実行部318は、IDXI命令を実行した場合、当該IDXI命令を実行してから指定されたサイクルをカウントするまでの間においては次の命令に処理を移さない。そして、命令実行部318は、IDXI命令を実行した場合、指定されたサイクルが経過した後に、当該IDXI命令の次のオフセットが割り付けられた命令を、次に実行すべき命令として特定する。
終了命令(EXIT命令)は、シーケンスデータの実行を終了させる命令である。命令実行部318は、EXIT命令を実行した場合、次に実行すべき命令を特定せず、当該シーケンスデータの実行を終了する。そして、命令実行部318は、EXIT命令を実行すると、次に実行すべき他のシーケンスデータへ処理を移す。
図6は、圧縮前のシーケンスデータ、NOP命令を削除した圧縮形式のシーケンスデータおよび圧縮形式のシーケンスデータを展開したシーケンスデータの一例を示す図である。メインメモリ40および一次キャッシュ312は、圧縮形式のシーケンスデータを記憶する。圧縮形式のシーケンスデータは、試験シーケンスを定めるための全ての命令が記述されたシーケンスデータよりも、データ量が少ない。
メインメモリ40および一次キャッシュ312は、一例として、シーケンスデータにおける、予め定められた種類の命令を圧縮する圧縮形式で記憶してよい。予め定められた種類の命令は、一例として、NOP命令であってよい。メインメモリ40および一次キャッシュ312は、一例として、NOP命令を削除した圧縮形式により、シーケンスデータに含まれる圧縮対象でない各命令を記憶してよい。すなわち、メインメモリ40および一次キャッシュ312は、IDXI命令、JMP命令、EXIT命令等のNOP以外の命令を含むシーケンスデータを記憶してよい。
更に、メインメモリ40および一次キャッシュ312は、圧縮対象でない各命令に対応して、各命令に対応する試験パターンのオフセットを記憶する。すなわち、メインメモリ40および一次キャッシュ312は、圧縮対象でない各命令(NOP命令以外の各命令)に対応して、各命令が圧縮されていない状態において割り付けられていたオフセットを記憶する。
展開部314は、一次キャッシュ312から読み出されたシーケンスデータを非圧縮形式に展開する。予め定められた種類の命令を圧縮する圧縮形式で一次キャッシュ312にシーケンスデータが記憶されている場合、展開部314は、一次キャッシュ312から読み出されたシーケンスデータにおいて圧縮された予め定められた種類の命令を展開して非圧縮形式とし、命令キャッシュ316に書き込む。
例えばNOPを削除した圧縮形式で一次キャッシュ312にシーケンスデータが記憶されている場合であれば、展開部314は、NOP命令を再生し、NOP命令を含む非圧縮形式のシーケンスデータを命令キャッシュ316に書き込む。より具体的には、展開部314は、一次キャッシュ312から読み出したシーケンスデータにおける第1の命令のオフセットと、一次キャッシュ312中において第1の命令の次に記憶された第2の命令のオフセットとが連続しない場合において、第1の命令の次のオフセットから第2の命令の前のオフセットまでの各オフセットに対応してNOP命令を再生する。
例えば、図6に示すように、4番目以前のオフセットの命令が全てNOP命令であり、更に、5番目のオフセットのIDXI命令と、9番目のオフセットのJMP命令との間の命令が全てNOP命令であったとする。すなわち、メインメモリ40および一次キャッシュ312に格納されるシーケンスデータは、5番目のオフセットのIDXI命令と、9番目のオフセットのJMP命令とを含み、1〜4番目、6番目〜8番目のNOP命令が削除されている。
この場合、展開部314は、1〜4番目のオフセットのNOP命令、および、5番目〜9番目のNOP命令を再生する。これにより、展開部314によれば、圧縮形式のシーケンスデータを、命令実行部318により実行ができる非圧縮形式のシーケンスデータに変換することができる。
以上のようにパターン発生部70によれば、データ量の小さい圧縮形式のシーケンスデータをメインメモリ40および一次キャッシュ312に格納することができる。これにより、パターン発生部70によれば、メインメモリ40および一次キャッシュ312の容量を小さくすることができる。
なお、本実施形態において、展開部314は、削除されていたNOP命令を再生する場合、当該NOP命令を、NOP命令と同様の内容の命令であるENOP命令に置き換えて、命令キャッシュ316に書き込む。また、本実施形態において、展開部314は、一次キャッシュ312からIDXI命令を読み出した場合、当該IDXI命令と同様の内容の命令であるEIDXI命令に置き換えて、命令キャッシュ316に書き込む。また、本実施形態において、展開部314は、一次キャッシュ312からJMP命令を読み出した場合、当該JMP命令と同様の内容の命令であるEJMP命令に置き換えて、命令キャッシュ316に書き込む。
図7は、マッチ制御命令(JFF命令)を含むシーケンスデータの一例を示す図である。圧縮前のシーケンスデータは、一例として、図7のAに示すように、少なくとも1つの連続したNOP命令(順次実行区間)と、当該順次実行区間の次に位置するマッチ制御命令(JFF命令)とを含んでよい。
JFF命令は、順次実行区間に含まれる各NOP命令および当該JFF命令(ループ区間の各命令)の実行中において、被試験デバイス300の出力信号が予め指定した値と一致しないことを条件として、当該順次実行区間の先頭のNOP命令に制御を分岐させる。また、JFF命令は、ループ区間の各命令の実行中において、被試験デバイス300の出力信号が予め指定した値と一致したことを条件として、当該JFF命令の次のオフセットの命令に制御を移す。
JFF命令は、一例として、ループ区間の各命令の実行中にマッチ信号入力部336がマッチ信号を入力しなかったことを条件として、ループ区間の先頭のNOP命令に分岐してよい。また、JFF命令は、一例として、ループ区間の各命令の実行中にマッチ信号入力部336がマッチ信号を入力したことを条件として、当該JFF命令の次の命令に制御を移してよい。このようなJFF命令によれば、被試験デバイス300から予め定められた出力信号が出力されるまで、ループ区間において試験の実行を待機させ、被試験デバイス300から予め定められた出力信号が出力されたことを条件として、試験を再開させることができる。
なお、図7のBに示すように、JFF命令は、分岐先の命令(ループ区間の各命令)を指定する値を、オペランドとして含む。圧縮形式のシーケンスデータに含まれるJFF命令のオペランドは、当該JFF命令と、分岐先の命令(ループ区間の先頭のNOP命令)とのオフセットの差で表されている。すなわち、JFF命令のオペランドは、当該JFF命令に対する、分岐先の命令(ループ区間の先頭のNOP命令)の相対オフセットにより表される。
展開部314は、一次キャッシュ312からJFF命令を読み出した場合、図7のCに示すように、当該JFF命令を、前方向分岐命令(EMTAIL命令)に置き換えて、命令キャッシュ316にキャッシングさせる。EMTAIL命令は、当該EMTAIL命令の実行時において、被試験デバイス300の出力信号が予め指定した値と一致しないことを条件として、ループ区間の先頭の命令に制御を分岐させる。また、EMTAIL命令は、当該EMTAIL命令の実行時において、被試験デバイス300の出力信号が予め指定した値と一致したことを条件として、当該EMTAIL命令の次のオフセットの命令に制御を移す。
EMTAIL命令は、分岐先の命令(ループ区間の先頭の命令)を指定する値を、オペランドとして含む。非圧縮形式のシーケンスデータに含まれるEMTAIL命令のオペランドは、分岐先の命令(ループ区間の先頭の命令)の絶対オフセットで表されている。すなわち、EMTAIL命令のオペランドは、分岐先の命令(ループ区間の先頭の命令)の、シーケンスデータ中の絶対位置により表される。そこで、展開部314は、一次キャッシュ312から読み出されたJFF命令における分岐先の相対オフセットを、絶対オフセットに変換して命令キャッシュ316にキャッシングさせる。
そして、ベクタ生成制御部332は、EMTAIL命令の実行において、被試験デバイス300の出力信号が予め指定した値と一致しないことを条件として、当該EMTAIL命令のオペランドにより指定された絶対オフセットをオフセットレジスタ330にロードする。これにより、ベクタ生成制御部332によれば、オフセットレジスタ330にループ区間の先頭の命令のオフセットを格納することができるので、制御をループ区間の先頭の命令に戻すことができる。
更に、ベクタ生成制御部332は、EMTAIL命令の実行において、被試験デバイス300の出力信号が予め指定した値と一致したことを条件として、オフセットレジスタ330の値をインクリメントする。これにより、ベクタ生成制御部332によれば、オフセットレジスタ330にEMTAIL命令の次の命令のオフセットを格納することができるので、制御をEMTAIL命令の次の命令に移すことができる。
また、展開部314は、一次キャッシュ312からJFF命令を読み出した場合、当該JFF命令に先行する順次実行区間に含まれる各NOP命令を展開する。この場合において、展開部314は、図7のCに示すように、順次実行区間に含まれる各NOP命令を、後方向分岐命令(EMBODY命令)に置き換えて、命令キャッシュ316にキャッシングさせる。EMBODY命令は、当該EMBODY命令の実行時において、被試験デバイス300の出力信号が予め指定した値と一致したことを条件として、EMTAIL命令の次の命令に制御を分岐させる。また、EMBODY命令は、当該EMBODY命令の実行時において、被試験デバイス300の出力信号が予め指定した値と一致しないことを条件として、当該EMBODY命令の次の命令に制御を移す。
EMBODY命令は、JFF命令によるループ内に位置することをベクタ生成制御部332が識別可能な命令の一例である。また、EMBODY命令は、分岐先の命令(EMTAIL命令の次の命令)を指定する値を、オペランドとして含む。非圧縮形式のシーケンスデータに含まれるEMBODY命令のオペランドは、分岐先の命令(EMTAIL命令の次の命令)の絶対オフセットで表されている。
ベクタ生成制御部332は、EMBODY命令の実行において、被試験デバイス300の出力信号が予め指定した値と一致しないことを条件として、オフセットレジスタ330の値をインクリメントする。これにより、ベクタ生成制御部332によれば、オフセットレジスタ330に各EMBODY命令の次の命令のオフセットを順次に格納することができるので、順次実行区間の各命令を順次に実行することができる。
更に、ベクタ生成制御部332は、EMBODY命令の実行において、被試験デバイス300の出力信号が予め指定した値と一致したことを条件として、当該EMBODY命令のオペランドにより指定された絶対オフセットをオフセットレジスタ330にロードする。これにより、ベクタ生成制御部332によれば、オフセットレジスタ330にEMTAIL命令の次の命令のオフセットを格納することができるので、EMTAIL命令の次の命令に制御を分岐することができる。
以上のように非圧縮形式のシーケンスデータにEMTAIL命令が含まれていることにより、ベクタ生成制御部332によれば、ループ区間の先頭の命令から当該EMTAIL命令までの各命令を、被試験デバイス300の出力信号が予め指定した値と一致するまで、繰返して実行することができる。更に、非圧縮形式のシーケンスデータにEMBODY命令が含まれていることにより、ベクタ生成制御部332によれば、順次実行区間の各命令を被試験デバイス300の出力信号が予め指定した値と一致するまで、順次に実行することができる。
ここで、ベクタ生成制御部332は、クロックサイクル毎に試験パターンを発生するために、命令キャッシュ316からの命令の読出処理、命令の実行処理、次の命令のオフセット発生処理という一連の処理を、1クロックサイクルで行わなければならない。さらに、ベクタ生成制御部332は、より短いクロックサイクルで試験パターンを発生できることが望ましい。しかしながら、もし、分岐先の命令が相対オフセットにより指定されている場合、ベクタ生成制御部332は、分岐先の命令のオフセットを発生するために、分岐命令の実行中において、当該分岐命令のオフセットから相対オフセットを減算しなければならない。
これに対して、本実施形態において、ベクタ生成制御部332は、分岐先の命令の絶対オフセットがオペランドとして指定されたEMTAIL命令およびEMBODY命令を実行する。従って、ベクタ生成制御部332は、EMTAIL命令およびEMBODY命令の実行において、オペランドの値をそのままオフセットレジスタ330にロードすればよく、減算処理を行わなくても分岐処理ができる。これにより、ベクタ生成制御部332によれば、分岐命令の実行における処理が軽減し、より短いクロックサイクルで試験パターンを発生できる。
さらに、本実施形態において、展開部314は、順次実行区間における各NOP命令を、EMBODY命令に置き換えている。これにより、ベクタ生成制御部332によれば、ループ区間の末尾のみならず、ループ区間の途中においても分岐処理ができるので、被試験デバイス300の出力信号が予め指定した値と一致してから、試験が再開させるまでの応答時間を短くすることができる。また、JFF命令およびEMTAIL命令は、ループ回数が定められていない無限ループを形成する命令であってもよいし、ループ回数が予め定められた有限ループを形成する命令であってもよい。
また、JFF命令は、出力信号が予め指定した値と一致しないことを条件として、自身または先行する命令に分岐してもよい。JFF命令が自身に分岐する場合(すなわち、オペランドとして0が指定されている場合)、展開部314は、JFF命令をEMTAIL命令に置き換えて命令キャッシュ316にキャッシングさせ、EMBODY命令を命令キャッシュ316にキャッシングさせない。
そして、ベクタ生成制御部332は、EMTAIL命令の実行において、被試験デバイス300の出力信号が予め指定した値と一致したことを条件として、当該EMTAIL命令のオペランド(この場合、0となっている。)をオフセットレジスタ330にロードする。これにより、ベクタ生成制御部332によれば、分岐命令の実行における処理を軽減することができる。
図8は、回数指定命令(STI命令)およびループ分岐命令(JNI命令)を含むシーケンスデータの一例を示す図である。圧縮前のシーケンスデータは、一例として、図8のAに示すように、回数指定命令(STI命令)およびループ分岐命令(JNI命令)を含んでよい。
STI命令は、1以上の命令を含むループ区間を繰り返し実行する繰返し回数を指定する。より具体的には、STI命令は、JNI命令により形成されるループ区間の繰返し回数を指定する。STI命令は、一例として、繰返し回数をオペランドとして含む。STI命令は、シーケンスデータにおける、ループ区間より前に配置される。
JNI命令は、1以上の命令を含むループ区間の末尾に配置される。なお、ループ区間は、1つのJNI命令のみであってもよい。この場合、ループ区間の先頭および末尾は一致する。JNI命令は、ループ区間の実行回数が、直前のSTI命令において指定された繰返し回数に達していないことを条件として、当該ループ区間の先頭の命令に制御を分岐させる。また、JNI命令は、ループ区間の実行回数が、直前のSTI命令において指定された繰返し回数に達したことを条件として、当該JNI命令の次の命令に制御を移す。
なお、図8のBに示すように、JNI命令は、分岐先の命令(ループ区間の先頭の命令)を指定する値を、オペランドとして含む。ループ区間が1つのJNI命令のみである場合、JNI命令は、自身を指定する値をオペランドとして含む。圧縮形式のシーケンスデータに含まれるJNI命令のオペランドは、当該JNI命令と、分岐先の命令(ループ区間の先頭の命令)とのオフセットの差で表されている。すなわち、JNI命令のオペランドは、当該JNI命令に対する、分岐先の命令(ループ区間の先頭の命令)の相対オフセットにより表される。
展開部314は、一次キャッシュ312からSTI命令を読み出した場合、図8のCに示すように、当該STI命令を、当該STI命令と同様の回数指定命令であるESTI命令に置き換えて、命令キャッシュ316にキャッシングさせる。また、展開部314は、JNI命令を読み出した場合、当該JNI命令を、EJNI命令に置き換えて命令キャッシュ316にキャッシングさせる。EJNI命令は、ループ区間の実行回数が、直前のESTI命令において指定された繰返し回数に達していないことを条件として、当該ループ区間の先頭の命令に制御を分岐させる。また、EJNI命令は、ループ区間の実行回数が、直前のESTI命令において指定された繰返し回数に達したことを条件として、当該EJNI命令の次の命令に制御を移す。
EJNI命令は、分岐先の命令(ループ区間の先頭の命令)を指定する値を、オペランドとして含む。非圧縮形式のシーケンスデータに含まれるESTI命令のオペランドは、分岐先の命令(ループ区間の先頭の命令)の絶対オフセットで表されている。従って、展開部314は、一次キャッシュ312から読み出されたJNI命令における分岐先の相対オフセットを、絶対オフセットに変換して命令キャッシュ316にキャッシングさせる。これにより、ベクタ生成制御部332は、EJNI命令の実行において、オペランドの値をそのままオフセットレジスタ330にロードすれば、分岐処理をすることができる。
ベクタ生成制御部332は、ESTI命令の実行において、当該ESTI命令により指定された繰返し回数をスタック340にプッシュする。これにより、スタック340は、当該ESTI命令において指定された繰返し回数を先頭に記憶することができる。
ベクタ生成制御部332は、EJNI命令の実行において、スタック340の先頭に記録された繰返し回数が0でないことを条件として、スタック340の先頭の繰返し回数をデクリメントする。この場合において、ベクタ生成制御部332は、当該EJNI命令のオペランドにより指定された絶対オフセットをオフセットレジスタ330にロードする。これにより、ベクタ生成制御部332は、ループ区間の先頭に処理を戻すことができる。また、ベクタ生成制御部332は、スタック340の先頭の繰返し回数が0であることを条件として、当該繰返し回数をスタック340からポップして、次の命令に制御を移す。これにより、ベクタ生成制御部332によれば、指定された繰返し回数分ループ区間が実行されたことに応じて、当該ループ区間の次の命令に制御を移すことができる。
図9は、ブレーク命令(BRK命令)を含むシーケンスデータの一例を示す図である。圧縮前のシーケンスデータは、一例として、図9のAに示すように、JNI命令により形成されるループ区間中に、ブレーク命令(BRK命令)を含んでよい。
BRK命令は、JNI命令によるループを終了させることを指示する。より具体的には、BRK命令は、当該BRK命令の後のJNI命令の実行において、ループ区間の処理を抜けて、JNI命令の次の命令に制御を移す。
展開部314は、一次キャッシュ312からBRK命令を読み出した場合、図9のBおよびCに示すように、当該BRK命令を、当該BRK命令と同様のブレーク命令であるEBRK命令に置き換えて、命令キャッシュ316にキャッシングさせる。ベクタ生成制御部332は、EBRK命令の実行において、スタック340の先頭の繰返し回数を0とする。そして、ベクタ生成制御部332は、ループ区間中における当該EBRK命令以降の各命令(すなわち、EBRK命令からEJNI命令までの各命令)を実行した後に、EJNI命令の次の命令を実行する。これにより、ベクタ生成制御部332によれば、STI命令において指定された繰返し回数に関わらず、強制的にループを終了することができる。
図10は、繰返し命令(IDXI命令)を含むシーケンスデータの一例を示す図である。圧縮前のシーケンスデータは、一例として、図10のAに示すように、IDXI命令を含んでよい。
展開部314は、一次キャッシュ312から、IDXI命令を一次キャッシュ312から読み出した場合、当該IDXI命令において指定された繰返し回数が1回であることを検出したことに応じて、当該IDXI命令をNOP命令に置換して命令キャッシュ316にキャッシングさせる。本実施形態においては、展開部314は、1回の繰返し回数を指定するIDXI命令を、ENOP命令に置換して、命令キャッシュ316にキャッシングさせる。
ここで、IDXI命令を実行する場合、ベクタ生成制御部332は、レジスタから現在の繰返し回数を読み出す読出処理、読み出した繰返し回数が0であるか否かを判断する判断処理、読み出した繰返し回数が0でないことを条件としてレジスタをデクリメントするデクリメント処理を、1クロックサイクル中において実行しなければならない。これに加え、ベクタ生成制御部332は、IDXI命令の1サイクル目の実行においては、これらの処理に先立って、指定された繰返し回数をレジスタにロードするロード処理をしなければならない。
これに対して、本実施形態においては、IDXI命令において指定される繰返し回数が2以上であることが保証される。従って、ベクタ生成制御部332は、IDXI命令の1サイクル目の実行においては、読出処理、判断処理およびデクリメント処理を実行せずに、ロード処理だけを実行すればよい。従って、ベクタ生成制御部332は、IDXI命令の1サイクル目において実行すべき処理数を少なくすることができる。これにより、ベクタ生成制御部332によれば、IDXI命令の実行における処理が軽減し、より短いクロックサイクルで試験パターンを発生できる。
図11は、本発明の一つの実施形態に係る電子デバイス400の構成の一例を示す図である。電子デバイス400は、被試験回路410、試験回路420、入出力ピン430、及びBISTピン440を有する。被試験回路410は、電子デバイス400の実装時に動作する回路であってよい。被試験回路410は、電子デバイス400の実装時に入出力ピン430から与えられる信号に応じて動作する。
例えば電子デバイス400がメモリデバイスである場合、被試験回路410は、電子デバイス400のメモリセルを含む回路であってよい。例えば被試験回路410は、メモリセル及びメモリセルを制御する制御回路であってよい。制御回路は、メモリセルへのデータの書き込み、メモリセルからのデータの読み出しを制御する回路であってよい。
試験回路420は、被試験回路410と同一の半導体チップに設けられ、被試験回路410を試験する。試験回路420は、図1から図10に関連して説明した試験モジュール100と同一の構成を有してよい。また試験回路420は、試験モジュール100の一部の構成を有してもよい。また試験回路420は、試験モジュール100の一部の機能を行う回路であってよい。例えば試験回路420は、結果メモリ16を有さなくてよい。また試験回路420のレート発生部30及びタイミング発生部56は、固定されたタイミングセットの設定値により動作してよい。
また試験回路420は、外部の試験装置からBISTピン440を介して被試験回路410のセルフテストを行う旨の信号が与えられた場合に、被試験回路410を試験してよい。BISTピン440は、電子デバイス400の実装時には用いられないピンであることが好ましい。また試験回路420は、被試験回路410の試験結果を、BISTピン440から外部の試験装置に出力してよい。
外部の試験装置は、図1に関連して説明したサイト制御装置130と同様の動作を行ってよい。つまり、試験回路420を、図1から図10に関連して説明した試験モジュール100と同様に機能させるべく、試験制御プログラム、試験プログラム、試験データ等を試験回路420に供給してよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。

Claims (12)

  1. 被試験デバイスを試験する試験装置であって、
    前記被試験デバイスを試験するための試験シーケンスを定める試験命令列を圧縮形式で記憶するパターンメモリと、
    前記パターンメモリから読み出された試験命令列を非圧縮形式に展開する展開部と、
    前記展開部により展開された試験命令列をキャッシングする命令キャッシュと、
    前記命令キャッシュに格納された命令を順次読み出して実行し、実行される命令に対する試験パターンを発生するパターン発生部と、
    前記試験パターンに基づく試験信号を生成し、前記被試験デバイスに供給する信号出力部と
    を備える試験装置。
  2. 前記パターンメモリは、前記試験命令列における、予め定められた種類の命令を圧縮する圧縮形式で記憶し、
    前記展開部は、前記パターンメモリから読み出された前記試験命令列において圧縮された前記予め定められた種類の命令を展開して非圧縮形式とし、前記命令キャッシュに書き込む
    請求項1に記載の試験装置。
  3. 前記予め定められた種類の命令は、前記試験シーケンスの変更および当該試験装置内のレジスタ値の明示的な変更を伴わないNOP(No Operation)命令を含む請求項2に記載の試験装置。
  4. 前記パターンメモリは、
    前記被試験デバイスを試験するための試験パターン列を更に記憶し、
    NOP命令を削除した圧縮形式により、前記試験命令列に含まれる圧縮対象でない各命令を記憶し、
    圧縮対象でない各命令に対応して、各命令に対応する試験パターンのオフセットを記憶し、
    前記展開部は、前記パターンメモリから読み出した試験命令列における第1の命令のオフセットと、前記パターンメモリ中において前記第1の命令の次に記憶された第2の命令のオフセットとが連続しない場合において、前記第1の命令の次のオフセットから前記第2の命令の前のオフセットまでの各オフセットに対応してNOP命令を再生する
    請求項3に記載の試験装置。
  5. 前記パターン発生部は、
    前記命令キャッシュに格納された命令を順次読み出して実行し、実行される命令および対応する試験パターンのオフセットを記憶するオフセットレジスタの値を更新するベクタ生成制御部と、
    前記ベクタ生成制御部の前記オフセットレジスタに記憶されたオフセットに対応する試験パターンを出力するパターン発生器と
    を有し、
    前記ベクタ生成制御部は、順次実行される各命令を実行する度に前記オフセットをインクリメントし、分岐命令を実行する場合に分岐先の命令のオフセットを前記オフセットレジスタにロードする
    請求項4に記載の試験装置。
  6. 前記試験命令列は、少なくとも1つのNOP命令と、前記少なくとも1つのNOP命令の次に位置する、前記少なくとも1つのNOP命令の実行中に前記被試験デバイスの出力信号が予め指定した値と一致しないことを条件として前記少なくとも1つのNOP命令の先頭に分岐するマッチ制御命令とを含み、
    前記展開部は、前記パターンメモリから前記マッチ制御命令が読み出された場合に、前記マッチ制御命令に先行する前記少なくとも1つのNOP命令を展開し、前記マッチ制御命令によるループ内に位置することを前記パターン発生部が識別可能な命令として前記命令キャッシュにキャッシングさせる
    請求項5に記載の試験装置。
  7. 前記展開部は、前記マッチ制御命令によるループ内に位置する命令のそれぞれに、前記マッチ制御命令の次の命令のオフセットを対応付けて前記命令キャッシュにキャッシングさせ、
    前記ベクタ生成制御部は、前記マッチ制御命令によるループ内に位置する命令の実行時に前記被試験デバイスの出力信号が前記予め指定した値と一致したことを条件として、当該NOP命令に対応付けられた前記オフセットを前記オフセットレジスタにロードすることにより前記マッチ制御命令の次の命令に分岐する
    請求項6に記載の試験装置。
  8. 前記試験命令列は、前記被試験デバイスの出力信号が予め指定した値と一致しないことを条件として、自身または先行する命令に分岐するマッチ制御命令を含み、
    前記展開部は、前記パターンメモリから読み出された前記マッチ制御命令における分岐先の相対オフセットを、絶対オフセットに変換して前記命令キャッシュにキャッシングさせ、
    前記パターン発生部は、前記マッチ制御命令の実行時に前記被試験デバイスの出力信号が前記予め指定した値と一致しないことを条件として、前記絶対オフセットを前記オフセットレジスタにロードする
    請求項5に記載の試験装置。
  9. 前記ベクタ生成制御部は、
    1以上の命令を含むループ区間を繰り返し実行する繰返し回数を指定する回数指定命令の実行において、回数指定命令により指定された繰返し回数をスタックにプッシュし、
    前記ループ区間の末尾に配置されたループ分岐命令の実行において、前記スタックの先頭に記録された繰返し回数が0でないことを条件として前記スタックの先頭の繰返し回数をデクリメントして前記ループ区間の先頭に分岐し、前記スタックの先頭の繰返し回数が0であることを条件として当該繰返し回数を前記スタックからポップして次の命令に制御を移し、
    前記ループ区間中においてループを終了させることを指示するブレーク命令を実行する場合において前記スタックの先頭の繰返し回数を0として、前記ループ区間中における当該ブレーク命令以降の各命令を実行した後に前記ループ分岐命令の次の命令を実行する
    請求項5に記載の試験装置。
  10. 指定した繰返し回数実行される繰返し命令が前記パターンメモリから読み出された場合において、前記展開部は、前記繰返し回数が1回であることを検出したことに応じて、前記繰返し命令をNOP命令に置換して前記命令キャッシュにキャッシングさせる
    請求項4に記載の試験装置。
  11. 電子デバイスであって、
    被試験回路と、
    前記被試験回路を試験する試験回路とを備え、
    前記試験回路は、
    前記被試験回路を試験するための試験シーケンスを定める試験命令列を圧縮形式で記憶するパターンメモリと、
    前記パターンメモリから読み出された試験命令列を非圧縮形式に展開する展開部と、
    前記展開部により展開された試験命令列をキャッシングする命令キャッシュと、
    前記命令キャッシュに格納された命令を順次読み出して実行し、実行される命令に対する試験パターンを発生するパターン発生部と、
    前記試験パターンに基づく試験信号を生成し、前記被試験回路に供給する信号出力部と
    を有する電子デバイス。
  12. 被試験デバイスを試験する試験方法であって、
    前記被試験デバイスを試験するための試験シーケンスを定める試験命令列を圧縮形式で記憶する段階と、
    前記パターンメモリから読み出された試験命令列を非圧縮形式に展開する段階と、
    前記展開された試験命令列をキャッシングする段階と、
    前記格納された命令を順次読み出して実行し、実行される命令に対する試験パターンを発生する段階と、
    前記試験パターンに基づく試験信号を生成し、前記被試験デバイスに供給する段階と
    を備える試験方法。
JP2009509283A 2007-04-09 2008-04-02 試験装置、試験方法、および電子デバイス Expired - Fee Related JP5175840B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/733,174 US7603604B2 (en) 2007-04-09 2007-04-09 Test apparatus and electronic device
US11/733,174 2007-04-09
PCT/JP2008/056612 WO2008126747A1 (ja) 2007-04-09 2008-04-02 試験装置、試験方法、および電子デバイス

Publications (2)

Publication Number Publication Date
JPWO2008126747A1 true JPWO2008126747A1 (ja) 2010-07-22
JP5175840B2 JP5175840B2 (ja) 2013-04-03

Family

ID=39828028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009509283A Expired - Fee Related JP5175840B2 (ja) 2007-04-09 2008-04-02 試験装置、試験方法、および電子デバイス

Country Status (6)

Country Link
US (1) US7603604B2 (ja)
JP (1) JP5175840B2 (ja)
KR (1) KR20090131676A (ja)
DE (1) DE112008001032T5 (ja)
TW (1) TW200841033A (ja)
WO (1) WO2008126747A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539902B2 (en) * 2006-10-19 2009-05-26 Sun Microsystems, Inc. Application level testing of instruction caches in multi-processor/multi-core systems
CN101398752B (zh) * 2007-09-29 2011-08-31 国际商业机器公司 重叠指令存取单元和重叠指令存取方法
JP5153670B2 (ja) * 2009-01-30 2013-02-27 株式会社アドバンテスト 診断装置、診断方法および試験装置
US8706439B2 (en) * 2009-12-27 2014-04-22 Advantest Corporation Test apparatus and test method
CN102142284A (zh) * 2010-01-29 2011-08-03 京元电子股份有限公司 可扩充样本储存器的储存器测试设备
WO2012073395A1 (ja) * 2010-11-29 2012-06-07 株式会社アドバンテスト 通信システムおよび試験装置
JP7208448B2 (ja) * 2019-02-01 2023-01-19 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
CN112433765B (zh) * 2020-11-26 2023-09-08 海光信息技术股份有限公司 一种数据存储方法、装置、处理器及电子设备
CN116643140A (zh) * 2022-02-15 2023-08-25 华为技术有限公司 集成电路及集成电路的测试方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0812230B2 (ja) 1988-09-06 1996-02-07 株式会社日立製作所 Ic試験装置
JPH0742150Y2 (ja) * 1989-12-11 1995-09-27 株式会社アドバンテスト テストパタン発生器
JPH0742150A (ja) 1993-07-27 1995-02-10 Taisei Corp 山留め用鋼管の打込み装置と打込み方法
US5737512A (en) * 1996-05-22 1998-04-07 Teradyne, Inc. Fast vector loading for automatic test equipment
JP4156712B2 (ja) 1998-07-24 2008-09-24 株式会社アドバンテスト 半導体試験装置の試験方法
US6009546A (en) 1998-07-30 1999-12-28 Credence Systems Corporation Algorithmic pattern generator
US6769083B1 (en) * 1998-11-10 2004-07-27 Advantest Corporation Test pattern generator, a testing device, and a method of generating a plurality of test patterns
JP2000162287A (ja) 1998-11-24 2000-06-16 Advantest Corp パターン信号を生成するパターン発生器
JP4285816B2 (ja) 1999-01-19 2009-06-24 株式会社アドバンテスト パターン発生器、パターン発生方法及び試験装置
JP2003028936A (ja) 2001-07-16 2003-01-29 Mitsubishi Electric Corp 半導体装置のテストパターン編集方法

Also Published As

Publication number Publication date
TW200841033A (en) 2008-10-16
WO2008126747A1 (ja) 2008-10-23
US20080250291A1 (en) 2008-10-09
US7603604B2 (en) 2009-10-13
KR20090131676A (ko) 2009-12-29
DE112008001032T5 (de) 2010-03-11
JP5175840B2 (ja) 2013-04-03
TWI365996B (ja) 2012-06-11

Similar Documents

Publication Publication Date Title
JP5175840B2 (ja) 試験装置、試験方法、および電子デバイス
JP5171333B2 (ja) 試験装置及び電子デバイス
JPWO2008114697A1 (ja) 試験装置、及び電子デバイス
US7725794B2 (en) Instruction address generation for test apparatus and electrical device
JPWO2006077685A1 (ja) 試験装置及び試験方法
KR20070051618A (ko) 시험 장치 및 시험 방법
JPWO2008114701A1 (ja) 試験装置および電子デバイス
JPH1048297A (ja) 回路テスター
JP5183622B2 (ja) 試験装置、電子デバイスおよび試験方法
WO2006022088A1 (ja) 試験装置及び試験方法
US6484282B1 (en) Test pattern generator, a memory testing device, and a method of generating a plurality of test patterns
US7716541B2 (en) Test apparatus and electronic device for generating test signal to a device under test
JP2005267673A (ja) 試験装置及び試験方法
JP4843102B2 (ja) 試験装置および試験方法
JP4486383B2 (ja) パターン発生器、及び試験装置
JP4704131B2 (ja) 試験装置、及び試験方法
JP4616434B2 (ja) パターン発生器、パターン発生方法及び試験装置
JP4285816B2 (ja) パターン発生器、パターン発生方法及び試験装置
JP5279816B2 (ja) 試験モジュール、試験装置および試験方法
KR20060019609A (ko) 시험 장치, 및 프로그램
JP2000163994A (ja) 半導体記憶装置
JP2000162287A (ja) パターン信号を生成するパターン発生器
JP2005345239A (ja) Icテスタ
JP2010133886A (ja) 半導体試験装置
JP2009128172A (ja) 半導体試験装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121129

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130107

LAPS Cancellation because of no payment of annual fees