(57)【要約】【課題】  テスタ（例えば、自動試験装置（ＡＴＥ））に要求されるデータ記憶容量を節約し、更にできればこのような試験ソリューションに要求されるオンチップ回路量をできるだけ少なくする試験ソリューションを提供する。【解決手段】  テストデータを被験チップ３１５に入力するための手段３０２と、入力されたテストデータに応答して、被験チップから出力データを受信する手段３０３と、受信された出力データの少なくとも一部に対するシグネチャを生成するための手段３０５と、生成されたシグネチャを期待シグネチャと比較するための手段３０６と、生成されたシグネチャが期待シグネチャと一致しなかった場合にエラーマップログに情報を記憶するための手段３０７とを有する。【選択図】        図３Ａ
2004184413.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）  テストデータを被験チップに入力するための手段と、
（ｂ）  前記入力されたテストデータに応答して、前記被験チップから出力データを受信する手段と、
（ｃ）  前記受信された出力データの少なくとも一部に対するシグネチャを生成するための手段と、
（ｄ）  前記生成されたシグネチャを期待シグネチャと比較するための手段と、
（ｅ）  前記生成されたシグネチャが前記期待シグネチャと一致しなかった場合にエラーマップログに情報を記憶するための手段と、
を有することを特徴とするオフチップ試験システム。
【請求項２】
前記情報を記憶するための手段が、前記エラーマップログに記憶する前記情報を取得するための前記被験チップとの更なる相互作用を、前記生成されたシグネチャが前記期待シグネチャと一致しなかったことが判定された後には必要としないことを特徴とする請求項１に記載のオフチップ試験システム。
【請求項３】
前記受信された出力データが、複数のウィンドウに分割され、前記ウィンドウの各々は所定数のビットを含み、前記シグネチャを生成するための手段は、前記複数のウィンドウの各々に対してシグネチャを生成し、前記比較するための手段は、第一のウィンドウに対して生成された前記シグネチャを前記第一のウィンドウの期待シグネチャと比較し、前記情報を記憶するための手段は、前記第一のウィンドウに対して生成された前記シグネチャが前記第一のウィンドウの前記期待シグネチャと一致しなかった場合に、少なくとも前記第一のウィンドウに関する情報をエラーマップログに記憶するための手段を有することを特徴とする請求項１に記載のオフチップ試験システム。
【請求項４】
前記受信された出力データのマスキングされるべきビットを識別するマスクデータを記憶する手段を更に有し、前記マスクデータが圧縮されていることを特徴とする請求項１に記載のオフチップ試験システム。
【請求項５】
前記マスクデータを解凍するための手段を更に有することを特徴とする請求項４に記載のオフチップ試験システム。
【請求項６】
前記情報をエラーマップログに記憶するための手段は、前記期待シグネチャに一致しない前記シグネチャの生成に用いられた前記受信された出力データの少なくとも一部を記憶するものであることを特徴とする請求項１に記載のオフチップ試験システム。
【請求項７】
回路を試験するためのシステムであって、
前記回路の外部にあり、前記回路と少なくとも一時的に通信可能な状態で結合される自動試験装置を有し、
前記自動試験装置が、前記回路にテストデータを入力するための通信インターフェースと、前記入力テストデータに応答して前記回路から出力されるデータを受信するための通信インターフェースと、前記受信された出力データの少なくとも一部に対するシグネチャを生成するように作動する論理機構と、生成されたシグネチャを期待シグネチャと比較するための比較論理機構と、生成されたシグネチャが期待シグネチャと一致しない場合に情報をエラーマップログに記憶するための論理機構とを具備すること、
を特徴とするシステム。
【請求項８】
前記情報をエラーマップログに記憶するための論理機構は、前記回路との更なる相互作用を、生成されたシグネチャが期待されたシグネチャと一致しなかったことが検出された後には必要としないことを特徴とする請求項７に記載のシステム。
【請求項９】
前記自動試験装置が、
（ａ）  前記受信された出力データの少なくとも一部を、前記シグネチャの生成に用いられることからマスキングするための論理機構と、
（ｂ）  マスキングすべき前記受信された出力データのビットを識別する、圧縮されたマスクデータを含む前記自動試験装置に通信可能な状態で結合されるデータ記憶装置と、
（ｃ）  前記マスクデータを解凍するための論理機構と、
を更に有することを特徴とする請求項７に記載のシステム。
【請求項１０】
回路を試験するための方法であって、
（ａ）  被験回路にテストデータを入力するステップと、
（ｂ）  前記入力テストデータに応答して、前記被験回路からの出力データを外部試験装置において受信するステップと、
（ｃ）  前記外部試験装置において、前記受信された出力データの少なくとも一部に対してシグネチャを生成するステップと、
（ｄ）  前記被験回路が期待通りに機能しているかどうかを判定するために前記生成されたシグネチャを期待シグネチャと比較するステップと、
（ｅ）  前記生成されたシグネチャが前記期待シグネチャと一致しなかった場合には、情報をエラーマップログに記憶するステップと、
含み、
前記生成されたシグネチャが前記期待シグネチャと一致しないと判定された後は、前記情報の前記エラーマップログへの記憶用に前記情報を取得するための前記被験回路との更なる相互作用を必要としないこと、
を特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、集積回路の試験に関するものであり、より具体的には、被験回路の外部で生成されたシグネチャを用いて回路を試験するためのシステム及び方法に関する。
【背景技術】
【０００２】
一般的な半導体製造プロセスにおいては、一枚の半導体ウエハ上に複数の集積回路が個々のダイとして形成される。各半導体ウエハは、通常、その上に形成された数百から数千にものぼる別個のダイを含んでいる。半導体ウエハ上にダイが形成されると、どのダイが機能しており、どのダイが機能していないかを調べる試験が実施される。多くの試験手法においては、ダイがまだウエハ上にある間にプローブ装置を用いてそれぞれのダイが調べられる。この行程は「ウエハソート」としても知られている。
【０００３】
ウエハレベルでのプローブ試験の目的は、各ダイに欠陥がないかどうかを製造プロセスのできる限り早い段階で判定することである。欠陥ダイの検出が早ければ早いほど、その欠陥ダイにそれ以上の処理を施す場合にかかる時間と費用を節約することができる。すなわち、検出された欠陥を修復できないと判断した場合においては、そのチップ組立部品を完成させるまでの時間と費用を節約できるということである。ウエハレベル試験（ウエハレベルテスト）の後、機能するダイは、パッケージングされ、そしてパッケージングされた部品は、通常、パッケージングの際に何らかの欠陥が生じていないかを確認するために再度試験される。ウエハレベル試験を実施する上で、以下に説明するような様々な技術が開発されており、また、この分野において周知であるように、パッケージングされたデバイス試験においても類似の技術を適用することができる。
【０００４】
一般的な半導体試験においては、被験デバイス（ＤＵＴ；device under test）（この語は、ウエハ上のデバイスは勿論、パッケージングされたデバイスも含むことを意図したものであり、「被験回路」（ＣＵＴ；circuitry under test）とも呼ぶ場合がある）は、このＤＵＴの外部に設けられた自動試験装置（ＡＴＥ；automatic test equipment）からの入力刺激のセットを受信するものであり、その後にＡＴＥがＤＵＴの出力を観測する。一般にＤＵＴに期待される正しい出力がＡＴＥメモリ中に記憶されており、ＡＴＥはＤＵＴから受信した全ての出力ビットを記憶された期待ビット値と比較し、このＤＵＴが適正に機能しているかどうか（例えば、ＤＵＴが入力値に対して期待された出力値を生成するかどうか）を判定する。従って、ＤＵＴ（例えば、ウエハ上のデバイス又はパッケージングされたデバイス）は、外部のＡＴＥに通信可能な状態で結合されており、このＡＴＥが試験刺激を入力し、それに対する応答を受信して分析するのである。以下に詳細に説明するように、ＤＵＴ上には回路が含まれており、これが例えば入力刺激に対するＤＵＴの応答に対応するシグネチャを生成し、このシグネチャをＡＴＥに出力する。本願明細書に記載の試験技術は、ウエハ上のＤＵＴを試験するもの（例えば、ウエハレベル試験）として描かれているが、一般にパッケージング済みのデバイスにも同様の技術を利用することが可能であることは言う迄もない。
【０００５】
ウエハレベル試験の場合、ダイに信号（テストパターン）を送り、入力した信号に応答してダイから出力される信号を受信することができるように、ダイの１つ以上のボンディングパッドにプローブが接続される。一般的に、プローブは、ダイが適正に作動しているかどうかを調べるためにダイに入力する信号を生成し、ダイから出力される信号を評価することができる外部ＡＴＥに通信可能な状態で接続されている。ウエハ上のダイは、逐次試験（例えば、各ダイにプローブで連続的に接触していく）、或いは並行試験を行うことが可能である。
【０００６】
既存の従来の試験技術においては、試験に用いるＡＴＥに好ましくない程の大容量のメモリを必要とすることから、ＡＴＥのコスト、ひいては最終製品のコストが不本意に増大してしまう。例えば、ＡＴＥに通信可能に接続する充分なデータ記憶容量とは、試験技術に要する以下の情報を少なくとも記憶できるものでなければならない。
（１）入力ベクターデータ（ベクトルデータ）
（２）出力ベクターデータ
（３）マスクベクターデータ
一般に、ＡＴＥに記憶される入力ベクターデータは、ＤＵＴに入力するための刺激（例えば、テストパターンデータ）として用いられ、出力ベクターデータは、入力ベクターデータを与えられたＤＵＴに期待される出力データであり、ＤＵＴが適正に機能しているかどうかを判定する上で、入力ベクターデータに呼応してＤＵＴが出力する実際の出力データと比較するために使用されるものである。一般に、マスクベクターデータは、期待出力データのどのビットを受信したＤＵＴ出力と実際に比較しなければならないかを指定するデータで構成されており、例えばマスクベクターデータは期待出力データをＤＵＴから受信した実際の出力にマッピングするものであり、特定の構成においては、ＤＵＴからの全出力ビットが期待出力データと比較されるわけではない場合もある（例えば、ＤＵＴの適正機能を判定する上で意味の無い値を持つ特定の非決定的ビット、すなわち「値が決められていない（ドント・ケア）／未知ビット」が存在する場合もある）。
【０００７】
試験技術用のこのような入力ベクターデータ，出力ベクターデータ，及びマスクベクターデータは、ＡＴＥ上のデータ記憶空間を好ましからざる程大量に消費する場合がある。更に、試験技術の守備範囲が広がるに従い、及び／又は試験すべきデバイスの複雑性が増大するに従い、このベクターデータ用にＡＴＥ上で消費するデータ記憶空間もまた増大するのである。例えば、既存技術の従来の試験技術においては、テストされるＤＵＴの約４００〜８００ビット／ゲートを使用することが一般的である。勿論、ＤＵＴの複雑性及び／又は使用する試験技術の範囲（例えば、テストされるＤＵＴ上のフリップフロップの数、及び／又は使用する入力テストパターン数）に応じて、試験技術ごとに入力ベクターデータ、出力ベクターデータ及び／又はマスクベクターデータのサイズは変化する（しかしながら、現在のＡＴＥアーキテクチャにおいては、各出力ビットに１マスクビットが必要であり、マスクベクターメモリは、出力ベクターメモリに等しい大きさを持つことになる）。本発明の実施例は、この障壁を突き破るものであり、これにより試験においてＡＴＥに要求されるデータ記憶容量を小さくすることができるのである。
【０００８】
試験技術を実現するためにＡＴＥ上で必要とされるデータ記憶容量を最小化することは、一般的に望ましいことである。既存技術において試験技術を実現するためのＡＴＥのデータ記憶容量条件、より具体的には試験技術用の出力ベクターデータを記憶するために必要なＡＴＥの記憶容量条件を小さくする上で、幾つかのソリューションが提案されている。出力ベクターデータを記憶するためにＡＴＥ上に必要とされるデータ記憶容量を最小化する上で、最も普及している技術は、以下にも説明するベクターセット・トランケーション技術及びオンチップ・シグネチャ解析技術である。
【０００９】
ＡＴＥ上に必要とされる出力ベクターデータ用のデータ記憶容量を小さくする上で最も普及している技術の１つがトランケーション（truncation）である。一般に、トランケーションにおいては、例えば出力データ，マスクデータ，及び／又は入力データといったテストの一部を切り捨てる（例えば、ＤＵＴが適正に機能しているかを判定する上でこのテスト部分を使用しない）ということが行われる。この結果、ＡＴＥ上に記憶されるデータ量が小さくなる。しかしながら、ベクターセット（例えば、入力，出力，マスクベクターセット）のトランケーションは、テストカバレッジの低下にも繋がり、結果として製品品質を劣化させることにもなりかねない（例えば、トランケーションがＤＵＴ試験の網羅性を低下させることにより、適正に作動しないＤＵＴを合格品として扱ってしまう可能性がある）。この製品品質の劣化は、許容されない場合も多い。この技術は、時には各ベクター（ベクトル）について実際に欠陥を検出するベクターの類似性に基づくベクターセットの順番変更（reordering）と組み合わせて使用される場合があり、それ以降のベクターデータ末尾が切り捨てられる。このように、テストカバレッジの影響が最小限に抑制されるが、しかしながら、多くの場合、テストカバレッジには依然として無視できない影響が残るのである。
【００１０】
最も有効と目される出力圧縮方式の１つは、シグネチャ解析に基づくものである。シグネチャ解析は、被験回路からの論理値出力のシーケンスを相対的に少数のデータビット（シグネチャ）へ圧縮するための周知の技術であり、これを記憶されたデータ（例えば、期待シグネチャ）と比較した場合に回路中における不具合の有無が示されるというものである。一般に、出力ビット群のシグネチャは、このような出力ビット群を圧縮し、この出力ビット群が期待通りのものであるかどうかを判定できるようにこれらを一意に識別する。ここで留意すべきは、一般に、不適正な出力ビット（エイリアシング；aliasing）に対して適正なシグネチャを取得してしまう若干の可能性が存在するという点である。シグネチャは、出力ビット群が期待値通りのものであるかどうかを識別するために使用することができるが、シグネチャが期待通りではない場合には、どの出力ビット群が非期待値を持っていたのかをシグネチャから識別することができない。よって、オンチップのシグネチャ生成が使用された場合には、一般に、エラー診断、或いはエラーのデバッグには限界があるのである（例えば、不可能となる）。エラー診断とは、通常、ＤＵＴにおけるエラーを特定するためのプロセスのことを指すものであり、例えばＤＵＴがエラー持っている状況の判定、及び／或いはエラーに起因する不正ビットの判定を行うものである。エラーのデバッグとは、一般に、エラー原因を判定するためのプロセスを指すものである。
【００１１】
出力データについてのシグネチャを生成するための技術は、様々なものが周知である。例えば、一技術によれば、異なる排他的論理和（ＸＯＲ）フィードバックループを持つリニアフィードバック・シフトレジスタを通じて完全な出力ベクターデータを送ることにより、全ての出力ベクターデータに依存する非常に短いシグネチャがシフトレジスタ中に得られる。シフトレジスタのフィードバックループ、例えば多項式が慎重に選択された場合には、目だったエイリアシングは生じない。テスト中のチップ出力データのシグネチャを生成するオンチップ技術は、ＳＩＳＲ（Single Input Signature Register）或いはＭＩＳＲ（Multiple Input Signature Register）（複数の排他的論理和入力の場合）と呼ばれる回路を利用した既存技術において提案されている。オンチップでシグネチャを生成するための、このようなＳＩＳＲ回路及びＭＩＳＲ回路は周知であり、従って本願明細書においてはその詳細説明は行わないものとする。シグネチャ解析を使用する（例えば、ＭＩＳＲを通じて）試験方式の事例としては、引用するにより本願明細書に含まれるものとする下記の特許文献１〜１０が挙げられる。
（１）  Ｎａｄｅａｕ−Ｄｏｓｔｉｅ等による米国特許第６，４４２，７２２号“Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｔｅｓｔｉｎｇ  Ｃｉｒｃｕｉｔｓ  ｗｉｔｈ  Ｍｕｌｔｉｐｌｅ  Ｃｌｏｃｋｓ”（特許文献１）
（２）  Ａｎｄｅｒｓｏｎ等による米国特許第６，３９３，５９４号“Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｐｅｒｆｏｒｍｉｎｇ  Ｐｓｅｕｄｏ−Ｒａｎｄｏｍ  Ｔｅｓｔｉｎｇ  ｏｆ  ａｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ”（特許文献２）
（３）  Ｂｏｃｋｈａｕｓ等による米国特許第６，３７４，３７０号“Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｆｌｅｘｉｂｌｅ  Ｃｏｎｔｒｏｌ  ｏｆ  ＢＩＳＴ  Ｒｅｇｉｓｔｅｒｓ  Ｂａｓｅｄ  ｕｐｏｎ  Ｏｎ−Ｃｈｉｐ  Ｅｖｅｎｔｓ”（特許文献３）
（４）  Ｋａｒｒｉ等による米国特許第６，３６３，５０６号“Ｍｅｔｈｏｄ  ｆｏｒ  Ｓｅｌｆ−Ｔｅｓｔｉｎｇ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ”（特許文献４）
（５）  Ｋｏｐｒｏｗｓｋｉ等による米国特許第６，３２７，６８５号“Ｌｏｇｉｃ  Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ”（特許文献５）
（６）  Ｓｉｍによる米国特許第６，２４０，５３７号“Ｓｉｇｎａｔｕｒｅ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｃｉｒｃｕｉｔ  ａｎｄ  Ｍｅｔｈｏｄ”（特許文献６）
（７）  Ｗａｇｎｅｒ等による米国特許第６，１５８，０３３号“Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｓｉｇｎａｔｕｒｅ  Ｔｅｓｔｉｎｇ  ＆  Ｄｉａｇｎｏｓｉｓ  ｆｏｒ  Ｅｍｂｅｄｄｅｄ  Ｂｌｏｃｋｓ  ｉｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ”（特許文献７）
（８）  Ｎｅｅｄｈａｍによる米国特許第５，９７８，９４６号“Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｙｓｔｅｍ  Ｔｅｓｔｉｎｇ  ｏｆ  Ｐｒｏｃｅｓｓｏｒｓ  ａｎｄ  Ｃｏｍｐｕｔｅｒｓ  ｕｓｉｎｇ  Ｓｉｇｎａｔｕｒｅ  Ａｎａｌｙｓｉｓ”（特許文献８）
（９）  Ｏｓａｗａ等による米国特許第５，９６０，００８号“Ｔｅｓｔ  Ｃｉｒｃｕｉｔ”（特許文献９）
（１０）  Ｋｉｍによる米国特許第５，９３８，７８４号“Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ，Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｓｉｇｎａｔｕｒｅ  Ｒｅｇｉｓｔｅｒ  ａｎｄ  Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ  Ｃｉｒｃｕｉｔ  Ｕｓｉｎｇ  Ｓｕｃｈ  Ｒｅｇｉｓｔｅｒｓ”（特許文献１０）
（例えば、ＭＩＳＲを通じた）シグネチャ解析を利用する試験方式の更なる事例は、この参照によりその開示内容が本願明細書に含まれることとする米国公開特許出願第２００２００７３３７４号“Ｍｅｔｈｏｄ，Ｓｙｓｔｅｍ  ａｎｄ  Ｐｒｏｇｒａｍ  Ｐｒｏｄｕｃｔ  ｆｏｒ  Ｔｅｓｔｉｎｇ  ａｎｄ／ｏｒ  Ｄｉａｇｎｏｓｉｎｇ  Ｃｉｒｃｕｉｔｓ  Ｕｓｉｎｇ  Ｅｍｂｅｄｄｅｄ  Ｔｅｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ａｃｃｅｓｓ  Ｄａｔａ”（非特許文献２）に記載されている。
【００１２】
留意すべきは、シグネチャは、出力ビットの圧縮された識別手段であり、出力ベクターデータ（期待されるシグネチャ）を記憶するためにＡＴＥ上に必要とされる記憶空間の大きさは、実際の期待出力ビット全てを記憶するために必要な空間よりも充分に小さくすることができるという点である。更に、シグネチャは、解析したい（エイリアシング境界内にある）出力ビットのセットの全て（例えば、出力ベクター全体）を識別することができるので、テストカバレッジがトランケーションの時のように劣化することはない。
【００１３】
しかしながら、既存技術に基づくオンチップ・シグネチャ解析技術には、幾つかの欠点がある。第一には、このような技術がチップ出力データのシグネチャをテスト中に生成するための回路をオンチップで含んでいる点である。このようなシグネチャ生成回路は、チップの可成りの面積を消費するため、チップ全体のサイズが大きくなってしまい（或いはこれがなければチップに含ませることができた回路部分を削ることになる）、そして潜在的にチップのパフォーマンスを妨げることになる（例えば、チップサイズを大きくしたために信号が通過しなければならない距離が伸びる等）。また、シグネチャ生成回路をオンチップで実現する場合には、このようなシグネチャ生成回路を被験回路に組み込むことができるようにするために、被験回路のデザインを変更しなければならない。更に、シグネチャ生成回路は、通常、回路試験中にのみ使用するものである。すなわち、シグネチャ生成回路は、ターゲットアプリケーションにおける通常作動時には使用されないのが一般的なのである。よって、シグネチャ生成回路をオンチップで実現することは、チップ上の面積を消費する（従って、チップ全体のサイズを増大させる）という点、及びチップの試験中にのみ利用価値があるという点で不利なのである。加えて上述したように、一般にオンチップでのシグネチャ生成は、エラー診断或いはエラーデバッグをすることができない点においても不利なのである（例えば、出力ビット群のどれが不正な出力を持っているかどうかは、このような出力ビットのシグネチャからは判定することができない）。更に、オンチップのシグネチャ生成回路自体が欠陥を持つ場合もある。
【００１４】
また、シグネチャは、全出力ベクターデータに依存することから、非決定的挙動を持つ出力ベクターデータビットにも依存する。この非決定的挙動は、例えばＤＵＴ上のフリップフロップの一部のみをスキャンするといった部分スキャン手法を使用した場合に生じることがある。特定のデザインにおいては、フリップフロップの一部が設計上の制約からスキャンすることができないものもある。非決定的（未知の）出力状態となる他の原因には、複数のクロックドメイン及びトライステート・バス（tri-state bus）を持つことが含まれる。この結果、これらの非決定的ビットの値は、更なる設計変更なくしては制御することができない。しかしながら、これらの設計変更により、面積のオーバーヘッドや潜在的パフォーマンスが劣化することになる。未知の／非決定的出力信号の存在は、シグネチャを損ない、シグネチャや試験を殆ど常時にわたり役に立たないものにしてしまう可能性がある。面積的，フロー的，そしてデザインパフォーマンス的な影響を与える設計変更は、実質的な欠点ともなり得るものであり、一部のデザインにおいては許容できないものである。
【００１５】
更に、オンチップ・マスキング能力を提供しないオンチップ・シグネチャ生成技術において、例えばデバッグ段階において、或いは特定の期待出力が不正にシミュレーションされていたと判明した場合には、ユーザは、時々、試験の一部のみを実施するか、或いは被験回路からの特定の非決定的出力を抑えたいと望むことがある。この場合、マスキングされる出力の数によっては、既存のシグネチャ解析技術を使用できない場合がある。これは、既存のシグネチャ生成技術が特定セットの出力値用のシグネチャを生成するために固定されたオンチップ回路から成るものであるため、試験処理中にこれらの出力値は何れもマスクすることができないためである。オンチップ・マスキング能力を設けることも可能であるが、しかしながら、一般的にデータのマスキングを行うには余剰のチャネル／帯域を要することになる。
【００１６】
また、これは演算が集中的に実施されるものであり、時にはシグネチャ解析プロセスを逆行させることができない場合もある。換言すると、既存のシグネチャ解析技術を使用することにより、実際の出力ベクターデータと期待出力ベクターデータとの間の矛盾を判定することはできるが、しかしながら、通常は出力ベクターデータのどの受信ビットが誤りであるのかを判定することができないのである。このことは、既存のシグネチャを利用した試験法のエラー診断／デバッグ能力を著しく制限するものであり、一般にはエラー診断／デバッグ処理を実施するためにはバイパスモードが必要とされるが、これも回路及び入出力を更に付加する事になるのである。
【００１７】
シグネチャをチップの外で生成するテスタが提案されている。例えば、“Ｌｏｗ−Ｃｏｓｔ  Ｔｅｓｔｉｎｇ  ｏｆ  Ｈｉｇｈ−Ｄｅｎｓｉｔｙ  Ｌｏｇｉｃ  Ｃｏｍｐｏｎｅｎｔｓ”（ＩＥＥＥ  Ｄｅｓｉｇｎ＆Ｔｅｓｔ  ｏｆ  Ｃｏｍｐｕｔｅｒｓ，０７４０−７４７５、１９９０年４月）（非特許文献２）では、ＤＵＴから出力を受信し、このように受信された出力用のシグネチャを生成するシグネチャ生成論理機構を含むテスタを提案している。しかしながら、この提案されたテスタは、幾つかの欠点を持っている。例えば、この提案されたテスタは試験とエラー診断／デバッグ処理とを同時に実施することができない。更に、このテスタは、シグネチャの生成において未知の状態をマスクすること（例えば、非決定的出力ビットのマスキング）ができない。この“Ｌｏｗ−Ｃｏｓｔ  Ｔｅｓｔｉｎｇ  ｏｆ  Ｈｉｇｈ−Ｄｅｎｓｉｔｙ  Ｃｏｍｐｏｎｅｎｔｓ”論文が提唱する技術を実現した商業用ＡＴＥが存在しないことは、誰もが知っていることである。更に、ＡＴＥがこのような提案により実現されたとしても、これは、未知の状態のマスキングを行うことができず、そして、もしマスキング機能が実現されたとしても、ＡＴＥに記憶されるマスクデータの量は可成りのものとなる（マスクデータの圧縮は提示されていないため）。
【００１８】
上述した欠点から、ＡＴＥのメモリ条件を小さくするためにシグネチャ解析技術を用いるという手法は広く普及していないのである。
【００１９】
【特許文献１】米国特許第６，４４２，７２２号公報
【特許文献２】米国特許第６，３９３，５９４号公報
【特許文献３】米国特許第６，３７４，３７０号公報
【特許文献４】米国特許第６，３６３，５０６号公報
【特許文献５】米国特許第６，３２７，６８５号公報
【特許文献６】米国特許第６，２４０，５３７号公報
【特許文献７】米国特許第６，１５８，０３３号公報
【特許文献８】米国特許第５，９７８，９４６号公報
【特許文献９】米国特許第５，９６０，００８号公報
【特許文献１０】米国特許第５，９３８，７８４号公報
【非特許文献１】米国公開特許出願第２００２００７３３７４号
【非特許文献２】ＩＥＥＥ  Ｄｅｓｉｇｎ＆Ｔｅｓｔ  ｏｆ  Ｃｏｍｐｕｔｅｒｓ，０７４０−７４７５、１９９０年４月
【発明の開示】
【発明が解決しようとする課題】
【００２０】
上記のような実状の下で、データ記憶条件（例えば、ＡＴＥ記憶容量条件）を好適に維持しつつこのような試験技術を実現する回路試験システム及び方法が望まれている。更に、このような試験技術を実現する上で必要とされるオンチップ回路の量をできる限り抑制（最小化）した回路の試験を可能とするシステム及び方法が望まれている。更に、検出されたエラーの診断／デバッグを可能とする方法（例えば、大容量ベクターメモリを要することなく被験デバイスからの、不正となった特定の出力ビットを判定する方法）で回路を試験することができるシステム及び方法も望まれている。更に、エラー診断／デバッグ及び回路試験の同時実施も望まれている。すなわち、エラー評価（例えば、診断及び／又はデバッグ）と回路試験とを同時に実施することが望まれているのである。「エラー評価」という語は、本願明細書においては広義的に使用されているものであり、エラー診断及びエラーデバッグを包含することを意図した語である。エラー評価は、更に、歩留まり認識も含んでいる。すなわち、エラー診断，エラーデバッグ，或いは歩留まり認識の何れかがエラー評価と認識されるのである。更に、このようなシステム及び方法は、シグネチャ生成において更に未知の状態（例えば、非決定的ビット）のマスキングも可能であることが望ましい。回路試験の試験技術を実現する上で使用される少なくとも出力データとマスクデータを包含するシステム及び方法が望まれている。
【課題を解決するための手段】
【００２１】
本発明は、外部で生成されたシグネチャを用いて回路試験を可能とするシステム及び方法に関するものである。好適な一実施例においては、被験デバイス（ＤＵＴ）の外部に構成された外部テスタが設けられる。この外部テスタは、テストデータのＤＵＴへの入力と、ＤＵＴからの出力データの受信と、このように受信した出力データの少なくとも一部に対するシグネチャの生成とを実施することができるものである。本明細書において更に説明するように、ＤＵＴ外部で出力データのシグネチャを生成することにより様々な利点が認識される。外部テスタは、生成されたシグネチャを期待シグネチャと比較して、ＤＵＴが期待通りに機能しているかどうかを判定することができる。生成されたシグネチャが期待シグネチャと一致しない場合には、エラーマップログにエラーデータが書き込まれる。例えば、生成されたシグネチャが期待シグネチャと一致しなかった場合には、実際に受信された出力データの少なくとも一部（生成シグネチャが生成された対象）をエラーマップログに書き込むことができる。好適な一実施例においては、エラーを検出した後（例えば、生成シグネチャが期待シグネチャに一致しなかったことが検出された後）、エラー評価目標によっては、エラー評価（例えば、実際に受信した、エラーに対応する出力データをエラーマップログに記憶すること）を行うために更なるＤＵＴとの相互作用が必要とされない。従って、エラー評価（例えば、診断及び／又はデバッグ）は、ＤＵＴの試験と同時に実施することができる。このことにより、好適な一実施例においては、エラー評価を従来のＡＴＥが支持する範囲でＤＵＴの試験と同時に実施することができる。よって別個の試験モード及びデバッグモードが必要とされない。すなわち、試験がＤＵＴにおいて一旦実施されると、エラー評価のためのＤＵＴとの更なる相互作用が必要とされないのである。
【００２２】
また、本発明の好適な一実施例は、試験の実施に必要なデータ記憶容量を更に節約するために、試験にマスクベクター圧縮技術及び／又は入力ベクター圧縮技術を組み合わせて実施することができる。例えば、シグネチャ解析を出力ベクターデータ圧縮だけではなく、これに入力ベクター圧縮技術及び／又はマスクベクター圧縮技術を組み合わせて実現することにより、所与の試験の実施に必要とされるＡＴＥのデータ記憶容量を小さくすることができる。
【００２３】
特定の実施例においては、受信した出力データは、各々が所定数のビットを持つ複数のウィンドウに分割される。外部テスタは、各ウィンドウについてシグネチャを生成し、各ウィンドウ用に生成されたシグネチャをそのウィンドウの期待シグネチャと比較する。エラーが検出された場合（例えば、或るウィンドウ用に生成されたシグネチャがそのウィンドウ用の期待シグネチャと一致しなかった場合）には、少なくともその不良となったウィンドウに関する情報がエラーマップログに書き込まれる。例えば、不良となったウィンドウの実際の受信出力データがエラーマップログに書き込まれるのである。
【００２４】
本発明の一実施例によれば、オフチップ試験装置は、テストデータを被験チップに入力するための手段と、入力テストデータに応答して被験チップから出力されるデータを受信する手段とを含んでいる。オフチップ試験装置は、更に、受信された出力データの少なくとも一部についてシグネチャを生成するための手段と、生成されたシグネチャを期待シグネチャと比較するための手段とを含んでいる。また更に、オフチップ試験装置は、生成されたシグネチャが期待シグネチャと一致しなかった場合にエラーマップログに情報を記憶するための手段も含んでいる。
【００２５】
本発明の他の実施例によれば、回路を試験するためのシステムは、回路外部に少なくとも一時的にこのような回路と通信可能な状態で接続することが可能な自動試験装置を含んでいる。自動テスト装置は、回路にテストデータを入力するための通信インターフェースと、入力されたテストデータに応答して回路から出力されるデータを受信するための通信インターフェースと、受信した出力データの少なくとも一部に対してシグネチャを生成するように作動する論理機構とを含んでいる。自動試験装置は、更に、生成されたシグネチャを期待シグネチャと比較するための比較論理機構と、生成されたシグネチャが期待シグネチャと一致しなかった場合にエラーマップログに情報を記憶するための論理機構も含んでいる。
【００２６】
本発明の他の実施例によれば、回路を試験するための方法は、被験回路にテストデータを入力するステップと、入力されたテストデータに応答して被験回路から出力されるデータを外部試験装置において受信するステップとを含んでいる。方法は、更に、外部試験装置において受信した出力データの少なくとも一部に対してシグネチャを生成するステップと、生成されたシグネチャを期待シグネチャと比較して被験回路が期待通りに機能しているかどうかを判定するステップを含んでいる。生成されたシグネチャが期待シグネチャに一致しなかった場合には、情報がエラーマップログに記憶されるが、生成されたシグネチャが期待シグネチャと一致しないことが判明した後には、エラーマップログに情報を記憶するための情報取得用に被験回路との更なる相互作用は実施されない。
【００２７】
上記は、以下の本発明の詳細説明をより理解し易くするために、本発明の特徴及び意技術的利点を広義的に説明したものである。本発明の更なる特徴及び利点は、本発明の請求対象を構成する以下の説明に記載してある。開示した概念及び特定の実施例は、本発明と同じ目的を実施するために変更形態又は他の構造を設計するための基礎として容易に利用することができることは、当業者には明らかである。また、当業者には明らかなように、このような同等構造は請求項に定義される本発明の精神及び範囲から外れるものではない。本発明の特性とされる、構成上及び作動法上の新規の特徴は、本発明の更なる目的及び利点と共に以下の詳細説明を、添付図を参照しつつ読むことにより明らかとなる。ここで特に留意が必要なのは、各添付図は図示及び説明目的で提供されたものであり、本発明を限定することを意図したものではないという点である。
【００２８】
本発明のより深い理解を得るために、添付の図面を参照しつつ以下に説明する。
【発明を実施するための最良の形態】
【００２９】
上述したように、通常の半導体試験においては、被験デバイス（ＤＵＴ）（又は被験回路（ＣＵＴ））は一群の入力刺激をＤＵＴの外側に配された自動試験装置（ＡＴＥ）から受信し、その後ＡＴＥがＤＵＴからの出力を観測する。一般に、正しい期待ＤＵＴ出力値がＡＴＥメモリ中に記憶されており、ＡＴＥはＤＵＴから受信した全ての出力ビットを記憶された期待ビット値と比較することによりＤＵＴが適正に作動しているかどうかを判定する（入力値に応答してＤＵＴが期待出力値を生成するかどうかの判定等）。
【００３０】
ウエハレベル試験の場合、プローブをダイの１つ以上のボンディングパッドに接触させ、信号（例えば、テストパターン）をダイに送り、その入力信号に呼応してダイにより出力された信号を受信する。プローブは、通常、外部ＡＴＥと通信可能に接続されており、ＡＴＥは、ダイに入力すべき信号の生成及びダイからの出力信号の評価を行うように作動してダイが適正に機能しているかどうかを判定する。
【００３１】
従来手法の一例が図１Ａ〜図１Ｂに示されている。図１Ａは、自動試験装置（ＡＴＥ）１０１と、これが通信可能な状態で接続されたプローブ１１１とを含む従来の試験システム１００のブロック図である。以下によりさらに説明するが、プローブ１１１は、１つ以上の被験デバイス（ＤＵＴ）（例えば、ウエハ１１２上のＤＵＴ１１３）に入力データを送り、そのＤＵＴから出力データを受信するために用いることができる。図示されているように、データ記憶装置１０６が通信可能な状態でＡＴＥ１０１に結合しており、試験用に例えば入力ベクターデータ１０９、出力ベクターデータ（又は期待生データ）１０７及びマスクベクターデータ１１０等、ＤＵＴ１１３の試験を実施する上で必要な情報を格納している。更に、以下に説明するようにエラーマップデータ１０８がデータ記憶装置１０６中に記憶されている場合もある。データ記憶装置１０６は、通常、ＡＴＥ１０１の内部メモリとして実装されているが、特定の事例においてはＡＴＥ１０１に通信可能に結合する外部データ記憶媒体として実現されたものである場合もある。図１Ａにおいて、ＡＴＥ１０１は、更に、ＤＵＴ１１３に入力される入力テストデータ（例えば、入力テストパターン）を生成するための論理機構（ロジック）１０２と、入力テストデータに応答してＤＵＴ１１３から出力される生の出力データを受信するための論理機構１０３と、受信された生の出力データの非決定的ビットをマスクキングするための論理機構１１４と、受信された、マスクされていない生の出力データを期待される生のデータ１０７と比較するように作動する論理機構１０４と、そして不良を生じたテスト用のエラーマップ１０８を生成するための論理機構１０５とを含んでいる。ＡＴＥ１０１の論理機構１０２，１０３，１１４，１０４，１０５の各々は、それぞれのタスクを実施するためのソフトウエア及び／又はハードウエアから構成されている。
【００３２】
作動の際には、一般に、プローブ１１１を、例えばＤＵＴ１１３等の１つ以上のＤＵＴの試験のため適切なアクセスパッドに接触させる。一例を挙げると、プローブ１１１がＤＵＴ１１３のテスト信号を入力するための、そしてＤＵＴ１１３からの出力信号を受信するための適切なパッドに接触させられる。これに伴い、ＡＴＥ１０１の論理機構１０２が用いられ、ＤＵＴ１１３に入力テストデータが送られる。このような入力テストデータは、例えば様々な異なった入力刺激に対するＤＵＴ１１３の応答性を試験するように作られた入力信号のパターンとすることができる。その後、ＤＵＴ１１３が入力テストデータに応答して生成した出力データをＡＴＥ１０１の論理機構１０３が受信する。受信された生の出力データの非決定的ビットをマスキングするために論理機構１１４が用いられ、そして論理機構１０４がＤＵＴ１１３からのマスキングされていない生の出力データをデータ記憶装置１０６に記憶された期待生データ１０７と比較するために用いられる。これにより、ＤＵＴ１１３が入力データに呼応して生成した出力データが期待通りのものであったかどうかが判定される。ＤＵＴ１１３から受信した出力データが入力データに呼応したものとして期待されたものでなかった場合（例えば、受信した非マスク出力データが期待出力データ１０７に一致しなかった場合）、その時は論理機構１０５がこの不良となったテストに関する情報をエラーマップ１０８中に生成する。このようなエラーマップ情報は、例えば期待出力と実際に受信した出力のエラーログから構成される。この処理は、ＤＵＴ１１３の試験において生成される入力テストパターンの数だけ繰り返すことができる。
【００３３】
図１Ｂは、図１Ａに描いた従来の試験システム１００の処理フローの一例を示したものである。図示したように、処理ブロック１２１において、次の出力ビットが特定の入力テストデータに応答してＤＵＴ１１３から出力されるかどうかが判定される。すなわち、入力テスト刺激信号（例えば、テストパターン）がＤＵＴ１１３に入力され、これらの入力テスト刺激信号に呼応する全ての出力ビットがＤＵＴ１１３からＡＴＥ１０１に受信されたかが判定される。ＤＵＴ１１３からの更なる出力ビットの受信が期待されなくなると、ブロック１２２において試験が完了したかどうかが判定される。しかしながら、所定の入力テストパターンに呼応して出力ビットがＤＵＴ１１３から受信されたことが判明すると、処理はＡＴＥ１０１において処理ブロック１２３に進み、「ドント・ケア」ビット（すなわち「非決定的ビット」）がマスキングされる。例えば、ある出力ビットが非決定的挙動（例えば、ＤＵＴ１１３が入力パターンに呼応して適正に機能するかどうかを示さないものである場合もある）を持っている場合があり、テスト（試験）にとって関連性の無い値を持つビットは、受信出力データからマスキング（フィルタ）することができる。従って受信ビットは、処理ブロック１２３においてマスクキングすることができる。
【００３４】
その後、受信された出力ビットがブロック１２３においてマスキングされなかった場合には、処理ブロック１２４においてＡＴＥ１０１が受信された出力ビットを期待出力ビット１０７と比較し、この出力ビットが期待ビット１０７と一致するかどうかが判定される。受信出力ビットが期待出力ビット１０７と一致した場合には、ブロック１２５においてＤＵＴ１１３がこのテストを合格したものと判定され、処理はブロック１２１に戻り、更なるテストが実施される（例えば、ＤＵＴ１１３から更なる出力ビットが受信される）。しかしながら、受信出力ビットが期待出力ビット１０７と一致しなかった場合には、ＤＵＴ１１３は、このテストに合格しなかったものと判定され、処理ブロック１２６において、この不良に関する情報（例えば、アドレス及び／又はＤＵＴ１１３からの受信出力データ）がエラーマップ１０８に記憶され、これが後でＤＵＴ１１３のデバッグにおいて使用されることにより、このテストが不良となった理由が判定される。
【００３５】
上述を考慮すると、従来の試験技術は、一般に、異なる入力テストパターンに対する全ての期待出力ビットをＡＴＥ１０１のデータ記憶装置１０６中に出力ベクターデータ１０７として記憶するものである。このような期待出力ビット全てを記憶することにより、ＡＴＥには極めて高いメモリ条件が要求されることになる。更に、技術の向上に伴い、半導体技術のスケーリング（scaling）の上昇と共に必要とされる出力ベクターデータ容量も急激に増大することが見込まれる。従って、将来的には、この問題は更に深刻化することが予想されている。
【００３６】
この結果、このような出力ベクターデータ記憶に関するＡＴＥメモリ条件を低減しようと試みる特定のソリューションが既存技術において提案されている。上述したように提案されているソリューションの１つは、ＡＴＥが高度なメモリ要求に対応することができないという理由で出力ベクターデータの一部を単に切り捨てる（トランケーション）ものである。先にも述べたように、このようなトランケーションは、テストカバレッジを低下させ、製品品質を劣化させてしまうのである。
【００３７】
他のソリューションとしては、出力ベクターデータを圧縮するためにシグネチャ解析を用いたものがある。上述したように、シグネチャ解析は、被験回路から出力される一連の論理値を相対的に少数のデータビット（シグネチャ）へ圧縮する技術として周知のものである。出力データのシグネチャを生成するための様々な技術が当該分野では知られている。一般に、入力テストパターンに呼応したチップの出力値のシグネチャを生成するために、周知のＳＩＳＲ（Single Input Signature Register）或いはＭＩＳＲ（Multiple Input Signature Register）回路がチップ上に設けられている。特定の実施例においては、入力テストパターンに呼応したチップの出力値のシグネチャを生成するために周知のセルラーオートマタ回路（Cellular Automata circuitry）がチップ上に実現される。シグネチャ生成用のセルラーオートマタ回路の様々な例は当該分野においては周知であるので、本願においてはセルラーオートマタに関する更なる説明は行わないものとする。
【００３８】
図２には、シグネチャ解析を用いた従来の試験システム２００の一例を示すブロック図が示されている。試験システム２００は、自動試験装置（ＡＴＥ）２０１と、このＡＴＥ２０１と通信可能に接続されたプローブ２１１とを含んでいる。以下に詳細を説明するが、プローブ２１１を用いて例えばウエハ２１２上の被験デバイス（ＤＵＴ）２１３等の１つ以上のＤＵＴに入力データを送り、そのＤＵＴからの出力データを受信することができる。この試験ソリューションにおいては、ＤＵＴ２１３にはシグネチャ生成回路２１４（例えば、ＳＩＳＲ，ＭＩＳＲ，或いはセルラーオートマタ）が含まれているが、これは、入力テスト値に応答してＤＵＴ２１３が生成した出力値のシグネチャを生成することができるものである。図示されているように、データ記憶装置２０６は、ＡＴＥ２０１と通信可能に結合しており、ＤＵＴ２１３の試験を実施するために必要な情報、例えば入力ベクターデータ２０８及び期待シグネチャ２０７等を記憶している。さらに図示によれば、ＡＴＥ２０１は、更に、ＤＵＴ２１３に入力する入力テストデータを生成するための論理機構２０２と、入力テストデータに呼応するシグネチャ（回路２１４により生成されたもの）をＤＵＴ２１３から受信するための論理機構２０３と、受信したシグネチャを期待シグネチャ２０７と比較するように作動する論理機構２０４とを含んでいる。
【００３９】
作動に際しては、通常、ＤＵＴ２１３等の１つ以上のＤＵＴを試験するためにプローブ２１１が適切なアクセスパッドに接触させられる。例えば、プローブ２１１は、ＤＵＴにテスト信号を入力し、ＤＵＴ２１３からの出力信号を受信するために適切なパッドに接触させられる。次に、ＡＴＥ２０１の論理機構２０２が用いられ、ＤＵＴ２１３に入力テストデータが送信される。この入力テストデータは、例えば様々な異なる入力刺激に対するＤＵＴ２１３の応答性を試験するように作られた入力信号パターンから構成されている。その後、ＤＵＴ２１３のシグネチャ生成回路２１４が入力テスト信号に応答したＤＵＴ２１３の出力値のシグネチャを生成する。ＡＴＥ２０１の論理機構２０３は生成されたシグネチャをＤＵＴ２１３から受信し、そして論理機構２０４により受信されたシグネチャがデータ記憶装置２０６中に記憶された期待シグネチャ２０７と比較される。これにより、ＤＵＴ２１３が入力テストデータに応答して生成した受信シグネチャが期待された通りのものであるかどうかが判定される。この処理はＤＵＴ２１３の試験用に生成された入力テストパターンの数だけ繰り返される。
【００４０】
留意すべきは、シグネチャが圧縮された出力ビットの識別子であるために、出力ベクターデータ（期待シグネチャ２０７）を記憶するためにＡＴＥ２０１上に要求される記憶容量が実際の期待出力ビットの全て（図１Ａに示した従来のシステム１００における出力ビット）を記憶するために要求される記憶容量よりも大幅に小さいという点である。よって所定の試験技術を実現する上で期待シグネチャ２０７は、全ての期待されるビット（例えば、図１Ａの例における期待生データ１０７）を記憶する従来の試験ソリューションよりも、データ記憶装置２０６中のより小さい記憶空間しか消費しないのである。更に、シグネチャは解析が望まれる出力ビット群全体（例えば、全ての出力ベクター）を一意に識別することができるものであるため、トランケーションの場合のようにテストカバレッジが低下することがない。
【００４１】
しかしながら、上述したように、既存のシグネチャ解析技術には幾つかの欠点がある。例えば、このような技術は、試験中においてチップの出力データのシグネチャを生成するための回路（例えば、回路２１４）をチップ上に含むものである。このようなシグネチャ生成回路はチップ上の領域を消費し、これによりチップの全体寸法が大きくなり（或いはチップに含ませることができる回路の量が少なくなる）、そしてチップのパフォーマンスを劣化させるという潜在性がある。更に、このようなオンチップ・シグネチャ生成技術は一般にＡＴＥでのエラー診断（例えば、具体的にどの出力ビットが不正であるのかの判定）ができない。従って、図１Ａの例においては作られたエラーマップを、この場合においては構築することができない点に留意が必要である。他にも既存のシグネチャ解析技術に関する様々な欠点を上に述べてきたが、ＡＴＥメモリ条件を緩和するためのシグネチャ解析技術の利用が広く広まらないのは、これらの欠点があるためである。ＤＵＴの複雑性及び／又はテストカバレッジの守備範囲が広がった結果、試験を実施するためにＡＴＥ上に要求されるデータ記憶容量の節約が更に望まれるようになっている。従って、このような試験技術を実現するために必要とされるデータ記憶容量を（例えば、シグネチャ解析を通じて）抑制しつつも、上述した欠点の無い改善された試験技術が望まれているのである。
【００４２】
上述したように、シグネチャをチップ外で生成するテスタも提案されている。例えば、“Ｌｏｗ−Ｃｏｓｔ  Ｔｅｓｔｉｎｇ  ｏｆ  Ｈｉｇｈ−Ｄｅｎｓｉｔｙ  Ｌｏｇｉｃ  Ｃｏｍｐｏｎｅｎｔｓ”（ＩＥＥＥ  Ｄｅｓｉｇｎ＆Ｔｅｓｔ  ｏｆ  Ｃｏｍｐｕｔｅｒｓ、０７４０−７４７５、Ａｐｒｉｌ，１９９０）では、ＤＵＴからの出力を受信し、このように受信した出力のシグネチャを生成するシグネチャ生成論理機構を含むテスタが提案されている。しかしながら、提案されたテスタには幾つかの欠点がある。例えば、このテスタは未知の状態のマスキング（例えば、非決定的出力ビットのマスキング）をシグネチャ生成において実施することができない。また、“Ｌｏｗ−Ｃｏｓｔ  Ｔｅｓｔｉｎｇ  ｏｆ  Ｈｉｇｈ−Ｄｅｎｓｉｔｙ  Ｌｏｇｉｃ  Ｃｏｍｐｏｎｅｎｔｓ”論文で提案された技術を実現したＡＴＥが市販されていないことも周知である。更に、ＡＴＥがこの論文通りのＡＴＥが実現された場合には、未知の状態のマスキングを実施することができず、もしこれにマスキング機能を実現する場合には、相当な量のマスクデータをＡＴＥに記憶しなければならなくなる（マスクデータの圧縮については提案されていないため）。
【００４３】
本発明の実施例は、テスタ（例えば、ＡＴＥ）に要求されるデータ記憶容量を節約し、更にできればこのような試験ソリューションに要求されるオンチップ回路量をできるだけ少なくする試験ソリューションを提供するものである。より具体的には、本発明の実施例は、期待出力データの圧縮を実現するシグネチャ解析を用いたものである。更に本発明の実施例は、被験デバイスから離れて（例えば、試験対象であるウエハ上のデバイス又はパッケージされたデバイスから離れて）構成された論理機構（例えば、ソフトウエア及び／ハードウエア）を用いてそのデバイス出力のシグネチャを生成するものである。例えば、好適な一実施例においてはＤＵＴから生の出力データを受信し、受信した生の出力データの少なくとも一部（特定の実施例においては、受信生出力データの一部はシグネチャ生成に使用されないようにマスキングされる）についてシグネチャを生成する論理機構がＡＴＥに含まれている。最も望ましいのは、受信された生の出力データを、各ウィンドウが所定数のビットで構成される複数の「ウィンドウ」に分割し、各ウィンドウに対して１つのシグネチャをＡＴＥ中で生成し、これをそのウィンドウの期待シグネチャと比較してデバイスが期待通りの機能を実施しているかを判定することである。
【００４４】
好適な一実施例においては、ＡＴＥに要求されるデータ記憶装置の容量は、試験ソリューションにおける期待シグネチャを記憶することにより、このような試験ソリューションの全ての実際の期待出力ビットを記憶する場合よりも節約することができる。更に、好適な一実施例においては、ＤＵＴ出力のシグネチャを生成するための回路がＤＵＴ上にはなく、これにより試験ソリューションを実現するためにＤＵＴに要求される面積をできるだけ小さくすることができる。本発明の好適な実施例における更なる利点は、エラー評価（例えば、診断／デバッグ）を同時に（すなわち、「シングルパス」にて）実施することができるという点である。従って、試験中にエラーが検出されると、エラー評価（例えば、不正な値を持つ特定の出力ビットを判定するためのエラー診断）のためのＤＵＴへのデータ入力及びそこからの出力データ受信の第二のパスは必要とされない。更に、本発明の好適な実施例は、シグネチャ生成において受信された出力データをマスキングすることができる。従って、受信された出力データの非決定的ビットをＡＴＥに記憶されたマスクデータ（テスト用にマスク（フィルタ）するべき出力ビットを識別するもの）に基づいてマスキングすることができる。本発明の特定の実施例によれば、マスクデータに圧縮技術を適用してＡＴＥのデータ記憶容量条件を更に緩和することができる。本発明の実施例における更なる様々な利点を以下に説明する。
【００４５】
本発明の様々な実施例について、図３Ａ〜図３Ｂ及び図４〜図８を参照しつつ説明するが、複数の図にわたって同様の要素は同様の符号で示した。まず、図３Ａ及び図３Ｂを参照するが、ここには本発明の推奨される実施例が描かれている。図３Ａは、試験技術を実現する上で要求されるデータ記憶容量を節約するために出力ベクターデータを圧縮するためにシグネチャ解析を用いた試験システム３００の一例を示すブロック図である。本明細書に記載する多くの実施例（図３Ａの実施例も含む）は、ウエハ上にあるデバイスを試験することを前提としたものであるが、本発明のアプリケーションはこれに限られたものではない。本発明の実施例を用いて、例えばパッケージングされたＤＵＴ等、他のＤＵＴを試験することも可能である。
【００４６】
試験システム３００は、通信可能な状態でプローブ３１３に接続したＡＴＥ３０１を含んでいる。以下に説明するように、プローブ３１３は、ウエハ３１４上のＤＵＴ３１５といった１つ以上のＤＵＴ（被験チップ）に入力データを送り、ＤＵＴからの出力データを受信するために用いられる。図示されたように、データ記憶装置３０８は、通信可能な状態でＡＴＥ３０１と接続しており、ＤＵＴ３１５に試験を実施するために必要な情報、例えばテスト用の入力ベクターデータ３０９，出力シグネチャデータ３１１，及びマスクベクターデータ３１０を記憶したものである。以下にも説明するように、データ記憶装置３０８には、更に、エラーマップデータ３１２が記憶されている。
【００４７】
図示によれば、ＡＴＥ３０１は、更に、ＤＵＴ３１５に入力すべき入力テストデータを生成するための論理機構３０２と、入力テストデータに応答してＤＵＴ３１５から出力される生の出力データを受信するための論理機構３０３と、マスクデータ３１０を解凍し、受信した出力データの適正なビットにマスキングを施すための論理機構３０４と、ＤＵＴ３１５から受信した受信出力データの少なくとも一部（例えば、非マスク出力データ）のシグネチャを生成するための論理機構３０５と、生成されたシグネチャを期待シグネチャ３１１と比較するように作動可能な論理機構３０６と、不良となったテストについてエラーマップ３１２を生成するための論理機構３０７とを含んでいる。以下にさらに説明するが、論理機構３０５は、受信出力ビットの複数のウィンドウの各々について１つのシグネチャを生成するものであることが望ましく、論理機構３０６は、各ウィンドウ・シグネチャを期待ウィンドウ・シグネチャと比較するものであることが望ましい。ＡＴＥ３０１の各論理機構３０２，３０３，３０４，３０５，３０６，３０７は、それぞれのタスクを実施するためのソフトウエア及び／又はハードウエアから構成されている。
【００４８】
好適な一実施例の動作においては、プローブ３１３がＤＵＴ３１５等の１つ以上のＤＵＴを試験するために適切なアクセスパッドに接触させられる。例えば、プローブ３１３は、ＤＵＴ３１５にテスト信号を入力し、ＤＵＴ３１５からの出力信号を受信するように適切なパッドに接触させることができる。その後に、ＡＴＥ３０１の論理機構３０２が用いられ、入力テストデータがＤＵＴ３１５に伝達される。このような入力テストデータは、例えば様々な異なる入力刺激に対するＤＵＴ３１５の応答性を試験するように作られた入力信号パターンから構成することができる。その後に、ＡＴＥ３０１の論理機構３０３が、ＤＵＴ３１５が入力テストデータに応答して生成した生の出力データを受信する。従って、ＡＴＥ３０１は、ＤＵＴ３１５にテストデータを入力し、そこから生の出力データを受信するためにＤＵＴ３１５と通信可能な状態で（例えば、プローブ３１３を介して）インターフェースされているのである。
【００４９】
シグネチャ生成において特定の受信出力ビット（例えば、非決定的ビット）が使用されないようにこれらをマスキングするために、ＡＴＥ３０１に論理機構３０４を設けることができる。以下にも説明するように、マスクデータ３１０は圧縮されていることが望ましく、従って、論理機構３０４は、マスクデータ３１０を解凍し、受信した出力ビットの適正なものをマスクするためにこのマスクデータ３１０を使用することができるものである。ＡＴＥ３０１の論理機構３０５は、ＤＵＴ３１５から受信された出力値の少なくとも一部（例えば、非マスク出力ビット）についてシグネチャを生成するものである。上述したように、特定の実施例においては、受信された出力データをウィンドウに系統化することができ、また、論理機構３０５は、ビットのウィンドウ各々について１つのシグネチャを生成することができる。その後に、論理機構３０６により生成されたシグネチャがデータ記憶装置３０８中に記憶された期待シグネチャ３１１と比較される。ここでも、受信された出力ビットのウィンドウのシグネチャが、そのビット・ウィンドウの期待シグネチャと比較されるのが望ましい。これにより、入力テストデータに応答してＤＵＴ３１５から受信された出力データについて生成されたシグネチャが期待通りのものかどうかが判定される。入力データに応答して生成されたシグネチャ（例えば、ウィンドウ・シグネチャ）が期待された通りのものでない場合（例えば、そのビット・ウィンドウについて生成されたシグネチャが期待シグネチャ３１１に一致しなかった場合）には、論理機構３０７が不良となったテストに関する情報をエラーマップ３１２中に生成する。このようなエラーマップ情報には、不良ウィンドウ番号の識別子や、その不良ウィンドウに関する期待データと実際に受信されたデータ（例えば、実際に受信された生の出力ビット）のエラーログ等の情報が含まれる。ここで留意すべきは、このエラー評価がＤＵＴ３１５の試験中に同時に実施されるという点である。すなわち、一度エラーが検出されると（例えば、論理機構３０６により生成シグネチャと期待シグネチャの不一致が検出された場合）、検出されたエラーを評価（例えば、診断及び／又はデバッグ）するためにＡＴＥ２０１がＤＵＴ３１５を再度アクセスする必要はなく、試験においてＡＴＥ２０１が受信した、（エラーとなったシグネチャを生成することになった）生の出力データ（例えば、エラーマップログに記憶されたもの）を評価に使用することができるのである。このプロセスは、ＤＵＴ３１５の試験用に生成された入力テストパターンの数だけ繰り返すことができる。
【００５０】
図３Ｂは、図３Ａの試験システム３００の処理フローの一例を示したものである。図３Ｂは、システム３００の一般的な処理例を説明したものであり、このような処理フローは通常、ビット単位の方式で実現されるものである点に留意が必要である。例えば、処理ブロック３２２においては、出力データの１ビットが受信され、処理はそのビットについて、図１Ｂに関連して説明したものと同様のビット単位方式で進められる。図３Ｂの例は、具体的にビット単位方式として示されてはいないが、システム３００の一般的な処理の一例を提供するものである。
【００５１】
図示したように、処理ブロック３２１において、テストデータがオフチップ・テスタ（例えば、ＡＴＥ３０１）からＤＵＴ３１５に入力される。処理ブロック３２２においては、入力されたテストデータに応答してＤＵＴ３１５が出力したデータをオフチップ・テスタが受信する。処理ブロック３２３においては、以下によりさらに説明するように、受信された出力データの特定の部分（例えば、特定のビット）がオフチップ・テスタ（例えば、マスキング論理機構３０４）によりマスキングされる。受信された出力データの特定のビットとは、例えば非決定的なもの（ＤＵＴ３１５が入力パターンに呼応して適性に機能しているかどうかを示すものではないもの等）（例えば、複数のクロック領域、部分的スキャン手法、或いはトライステートバスを持つことによる）であり、このようなビットは信号の破損を防ぐためにマスキングすることができる。加えて、試験の特定の部分については、一般にユーザがその出力に関心を持たない場合がある（例えば、テストがごく稀にしか発生しない欠陥、或いは診断／デバッグ処理中に発生する欠陥をカバーするため）。これらのビットも、また、処理ブロック３２３において受信された出力データからマスキング（フィルタ）することができる。以下にさらに説明するが、マスクデータ３１０は圧縮されていることが望ましいので、処理ブロック３２３はこのようなマスクデータ３１０を解凍する処理を含む場合もあり、マスクデータは適切な受信出力ビットをマスキングにより除外するために使用される。
【００５２】
処理ブロック３２４においては、ブロック３２３でマスキングされなかった出力ビットがオフチップ・テスタにより使用され、シグネチャが生成される。できれば出力ビットはウィンドウに分割されるものであり、これにより処理ブロック３２４においてウィンドウ中の非マスキングビットがそのウィンドウのシグネチャへ圧縮されることが望ましい。その後に、処理ブロック３２５においてオフチップ・テスタが生成されたシグネチャを記憶された期待シグネチャ（例えば、データ記憶装置３０８中に記憶された期待シグネチャ３１１）と比較し、生成されたシグネチャがその期待シグネチャと一致するかどうかを判定する。生成されたシグネチャが期待シグネチャと一致するものであると判定された場合には、処理ブロック３２６においてＤＵＴ３１５のその出力が試験を合格したものと判定され、処理はブロック３２１に戻り、更なるテストが実施される（例えば、ＤＵＴ３１２に更なるテストパターンが入力される）。しかしながら、生成されたシグネチャが期待シグネチャと一致しなかった場合には、ＤＵＴ３１５はそのテストを不合格となり、処理ブロック３２７においてその不良についての情報がエラーマップ３１２に記憶され、これがエラー評価（例えば、この試験に合格しなかった理由を判定するためにＤＵＴ３１５をデバックされる）において使用される。より具体的には、あるウィンドウ・シグネチャが期待ウィンドウ・シグネチャと一致しなかった場合には、そのウィンドウの実際に受信された生の出力データがエラー評価用（例えば、どの特定のビットが不正な値を持っていたのかを判定するためのエラー診断）にエラーマップ３１２に記憶される。よって不良となったウィンドウＷｉｎｄｏｗ−１〜Ｗｉｎｄｏｗ−Ｍ（ここで、ＭはＮ以下）のデータがエラーマップデータ３１２に記憶されるのである。従って、Ｎウィンドウの期待シグネチャ３１１について、不良となったＭウィンドウ（一般にＮ個よりも大幅に小さい数であり、よってエラーマップデータ３１２の記憶条件を節約することになる）のデータがエラーマップデータ３１２に記憶されるのである。留意すべきは、実際の生の出力データがオフチップ・テスタに受信されるため、このようなエラー評価をＤＵＴ試験と同時に実施することができるという点である。すなわち、エラー検出後のＤＵＴとの更なるパス（例えば、情報の入力及び／又は出力の受信）は、必要とされず、代わりに、出力ビットのウィンドウに対して生成されたシグネチャがそのウィンドウの期待シグネチャと一致しなかった場合には、不良となったウィンドウの実施の出力ビットをエラーマップに記憶することにより（歩留まりを調べる目的等で）ＤＵＴとの更なる相互通信を必要とすることなくエラー評価を実施することができるのである。
【００５３】
シグネチャは、出力ビット群（例えば、ウィンドウ）を圧縮した識別子であるため、データ記憶装置３０８中に出力ベクターデータ（期待シグネチャ３１１）を記憶するための記憶容量を、（図１Ａの従来のシステム１００のように）実際に期待される出力ビットの全てを記憶するために要する容量よりも大幅に小さくすることができる。従って、期待シグネチャ３１１は、所定の試験手法を実現する上で、データ記憶装置３０８中において全ての期待ビットを記憶する従来の試験ソリューション（例えば、図１Ａの例における期待生データ１０７）と比べてより小さい記憶空間しか消費しないのである。更に、シグネチャは解析を望む出力ビット群全体（例えば、全出力ベクター）を識別することができるため、トランケーションの場合のようにテストカバレッジを低下させることがない。よって試験用の出力ベクターデータを記憶するために必要となるデータ記憶容量は、試験品質を犠牲にすることなくできるだけ小さくすることができるのである。加えて、シグネチャ生成論理機構を被験デバイスの外（例えば、試験下にあるウエハ上のダイ又はパッケージされたデバイスから離れた場所）に設けたことにより、従来のシグネチャ解析技術（オンチップで実現されたもの）が抱えていた上述の問題の多くを解消することができるのである。例えば、シグネチャ生成回路を実現するための余計な領域をダイ中に設ける必要がないことが挙げられる。更に、上述したようにエラー診断を試験と同時に実施することができる。また、好適な一実施例においては、マスキング論理機構３０４により、シグネチャ生成から特定の受信出力ビット（例えば、非決定的ビット）をマスキングすることが可能である。マスキング論理機構３０４は、所定の試験についてのマスクデータ３１０に基づいて出力ビットをマスキングすることができる。以下にさらに詳細を説明するが、特定の実施例においては、マスクデータ３１０も、また、圧縮可能であり、これによりＡＴＥ３０１のデータ記憶容量条件を更に小さくすることができる。
【００５４】
上述したように、シグネチャ生成論理機構は図３Ａの例に示したようにＡＴＥ３０１中、或いはＤＵＴ３１５が配されるウエハ３１４の外側に設けられた現在既知の、又は将来的に開発される他の種類のテスタ中に含まれていることが望ましい。しかしながら、他の実施例においては、このようなシグネチャ生成回路を、ＤＵＴ３１５の試験に利用することができる他の何れかのオフチップ・テスタ（例えば、ＤＵＴ３１５の外に配置されたテスタ）中に実現することができる。例えば、特定の実施例においては、ＡＴＥ３０１の機能として上述したもの（ＤＵＴ３１５へのテストデータ入力、ＤＵＴ３１５からの出力データ受信、出力データ用のシグネチャ生成、シグネチャと期待シグネチャの比較及び／又はシグネチャが期待シグネチャと一致しなかった場合のエラーマップ生成）のうちの一部又は全てを実施するために、ＤＵＴ３１５外部にあるテスタが３１４上に含まれている場合もある。
【００５５】
例えば、ウエハ３１４上にある第一のダイ（図３Ａ中にオプションとして点線で示されているダイ３１６等）を、このウエハ３１４上にあるダイ３１５の試験の実施用に実現することができる。ウエハ上の１つのダイで同じウエハ上の他のダイを試験することができるようにした構成例は、引用することにより本願明細書に含まれることとする、同時係属中であり、本発明の譲渡人に譲渡された米国特許出願第１０，１５５，６５１号、“Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｔｅｓｔｉｎｇ  Ｃｉｒｃｕｉｔ  ｙ  ｏｎ  ａ  Ｗａｆｅｒ”に記載されている。このような構成においては、シグネチャ生成論理機構は、ダイ３１５の出力のシグネチャを生成するための第一のダイ３１６を含んでおり、この場合のシグネチャ生成論理機構は、必ずしも試験対象となるダイ３１５中に含まれていなくても良い。より具体的に説明すると、特定の実施例においては、テスタ回路３１６がテストデータ（例えば、テストパターン）をダイ３１５に入力する。代わりに、このようなテストデータの入力には、プローブ３１３及びＡＴＥ３０１を使用しても良い。テスタ回路３１６は、ＤＵＴ３１５から入力テストデータに呼応する出力を受信し、受信した出力データの少なくとも一部についてのシグネチャを生成することができる。その後に、テスタ回路３１６は、シグネチャを期待シグネチャと比較することにより、ＤＵＴ３１５が適正に機能しているかどうかを判定する。代わりに、回路３１６がシグネチャを生成して（例えば、プローブ３１３を通じて）ＡＴＥ３０１に送り、ＡＴＥ３０１がその生成されたシグネチャと期待シグネチャの比較を行うことによりＤＵＴ３１５が適正に機能しているかどうかを判定するようにしても良い。
【００５６】
本発明の実施例は、試験においてマスクベクター圧縮技術及び／又は入力ベクター圧縮技術を組み合わせて実現することもできる。すなわち、シグネチャを用いて出力ベクターデータ３１１だけではなく、入力ベクターデータ３０９及び／又はマスクベクターデータ３１０をも圧縮することができる。出力データ３１１，入力データ３０９，及びマスクデータ３１０を圧縮することにより、この好適な実施例においてはエラーマップデータ３１２（ウィンドウを使用したもの）の容量を小さくすることができるだけではなく、ＤＵＴ試験を実現する上でＡＴＥ３０１のデータ記憶装置３０８に要求される条件を大幅に緩和することができるのである。
【００５７】
入力データ３０９及びマスクデータ３１０の圧縮には、様々な技術を使用することができる。例えば、本発明の特定の実施例においては、マスクデータ（例えば、図３Ａのマスクデータ３１０）をカテゴリー別に固定ビット数のパケットに分けることができる。すなわち、（１）ゼロパケット（例えば、全てが０のパケット）、及び、（２）１及び０の両方を含む決定的パケットの、２つの異なるパケットタイプを定義することができる。第一のタイプのパケット（ゼロパケット）は、これがゼロパケットであるという事実を指定する１つの制御ビットに置き換えることができる。決定的タイプのパケットは、元のパケットとタイプを指定した制御ビットから成る。「１」は一般に非常にまばらに散在しているため（例えば、「１」は所定試験においてマスクされるべきビットを指定している）、多数の元ビット（オリジナルビット）は、少数の制御ビットに置き換えることができる。
【００５８】
最適なパケットサイズは、「１」の統計的分布による（デバイスによりばらつく）。特定の実施例においては、異なるパケットタイプを２つだけに限らず、より多数のパケットタイプを導入することもできる。例えば、全てが「１」のパケットタイプを導入することもできる。
【００５９】
上述した種類のマスク圧縮は、入力圧縮手法と共に非常に好都合に適用することができ、このことは、引用することにより本願明細書に含まれることとする、同時係属中であり、本発明の譲渡人に譲渡された米国特許出願第０９／８０２，４４０号“Ｔｅｓｔ  Ｖｅｃｔｏｒ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｍｅｔｈｏｄ”（２００１年３月９日出願）に記載されている。
【００６０】
「１」は、マスクデータセットの中で一般にまばらに散在しているため、マスクデータはランレングス符号化方式を用いて圧縮することができる。長さを符号化するためには、通常の固定長コードワードが使用される。例えば高い確率で生じる長さに、より短いコードワードを付加するために周知のホフマンコードを使用することができる。コードはホフマンツリーを用いて得ることができる。また、限定された数の長さだけを符号化することができる。他の好適な圧縮符号化技術を利用することもでき、これらの中には周知のエイリアスγ，エイリアスΔ，フィボナッチコード，スパース・マトリクスコード，或いは現在既知の又は将来開発される他の何れかの好適な圧縮方式が含まれるが、これらに限られない。
【００６１】
周知のＧｏｌｏｍｂ−Ｒｉｃｅ符号化を利用することにより、単純なハードウエアデコーダで実現しても全ての長さを直接的に符号化することができる。Ｇｏｌｏｍｂ−Ｒｉｃｅコードワードは、可変長前置ｎビットと固定長末端ｍビット（ｑの十進数を表す）の連鎖から成り、全長ｎ＋ｍのコードワードを作っている。前置ｎビットは、ｎ−１  ０から始まり、最終ビットは常に１（記数法：０n-1１）である。このように、前置ビット（ｎ）の復号化は、０の数を数えることのみに緩和される。末端は通常の二進固定長コードである。Ｇｏｌｏｍｂ−Ｒｉｃｅコードワードの値は、ｎ・２m＋ｑで定義される。
【００６２】
表１は、固定長コード，ハフマンコード，及びＧｏｌｏｍｂ−Ｒｉｃｅコードを用いて符合化された８つの異なる長さの一例を示すものである。
【００６３】
【表１】
2004184413.tif 000003
【００６４】
本発明の実施例の様々な他の利点が当業者にとって明らかである。
【００６５】
従来の試験技術においては、期待出力データの全ビットがＡＴＥメモリ中に試験用出力ベクターデータ（例えば、図１Ａのデータ記憶装置１０６中に記憶された期待出力データ１０７）として記憶される。しかしながら、本発明の好適な一実施例においては、「ウィンドウ・シグネチャ」（本願において使用された場合、ビット・ウィンドウのシグネチャを意味する）のみが試験出力ベクターデータ用にデータ記憶装置３０８中に記憶される。例えば、図３Ａの例においては、期待シグネチャデータ３１１は、Ｗｉｎｄｏｗ−１、Ｗｉｎｄｏｗ−２、・・・、Ｗｉｎｄｏｗ−Ｎに示すように複数のウィンドウ・シグネチャから構成される。ウィンドウ・シグネチャは、ある所定数のビット、例えばウィンドウサイズのウィンドウのみに基づくシグネチャであると定義される。ウィンドウサイズは異なるデバイスの試験において、或いは同じデバイスの試験においてであってさえ変えることができる。
【００６６】
一例として、入力に応答するＤＵＴ出力が１０ビットだったと仮定する。この場合、出力ビットのうちの最初の５つを第一のシグネチャ生成に使用される第一のウィンドウに割り当て、出力ビットの次の５つを第二のシグネチャ生成に使用される第二のウィンドウに割り当てることができる。更なる例として、ＤＵＴに入力すべき異なるテストパターンをテストが１０個含み、ＤＵＴが適正に機能しているかどうかを判定するためにこれら１０個の異なるテストパターンそれぞれに応答してＤＵＴ（それは何れの数の出力ビットを含む）から返される出力ビットを評価する場合を仮定する。特定の事例においては、１０個の異なる入力テストパターンの各々に応答する出力ビットをシグネチャ生成に使われる異なるウィンドウに割り当てることができる。例えば、第一の入力テストパターンに応答してＤＵＴから出力された出力ビットを第一のウィンドウに割り当て、第二の入力テストパターンに応答してＤＵＴから出力された出力ビットを第二のウィンドウに割り当てる等、以下も同様に処理していくことができる。
【００６７】
受信された出力ビットをこのようにウィンドウに分割していくことにより、特定の利点がもたらされる。例えば、エラーマップデータ３１２を記憶するために必要とされるデータ記憶容量を節約することができる。一例を挙げると、あるウィンドウにエラーが検出された場合（ウィンドウのシグネチャがそのウィンドウの期待シグネチャと一致しなかった場合）には、特定の実施例においては、受信した全ての出力ビットではなく、この特定のウィンドウの出力データビットをエラーマップ中に記憶することができる。勿論、他の実施例においては、エラー検出時にＤＵＴから受信した出力データの全て（又はそのうちの所望量）をエラーマップに記憶することもできる。更に、特定の実施例においては、テスタ３０１に通信可能な状態で結合する外部記憶装置に１つ以上のエラーマップデータウィンドウを出力することによりテスタ３０１のデータ記憶装置３０８の負荷を軽減し、更なるエラーデータの記憶を可能とすることもできる。本願に開示したウィンドウ利用方法がもたらす様々な他の利点は、当業者により認識されるものである。
【００６８】
図４には、図３Ａに示したウィンドウ・シグネチャ３１１のような期待ウィンドウ・シグネチャが、好適な一実施例においてどのように生成されるかを説明する実例フローチャートが描かれている。このような期待シグネチャは、通常、図７に示した以下に説明する実例コンピュータのようなコンピュータ上で生成され、ＡＴＥ３０１にロードされる。処理ブロック４０１に示したように、シグネチャ生成プログラムが所定の試験について、期待出力ビットの次のウィンドウがあるかどうかを判定する。このような出力ビットは、例えば入力テストパターンを使用したＤＵＴのシミュレーションを通じて生成される。一例を挙げると、或る被験デバイスの所定試験について１つ以上の入力テスト値のパターンが提供され、そのデバイスは、入力テストパターンの各々に応答する特定の出力データ値を生成することを期待される。従って、そのデバイスが適正に作動する場合に入力テストパターンに応答してそのデバイスから出力されることが期待される様々な出力データ値を決定するために、試験はある意味において「モデリング」されるのである。期待出力データ値は、複数の「ウィンドウ」に分配することができる。上述したように特定の実施例においては、「ウィンドウ」は、異なるデバイスの試験において可変性を持つ、或いは１つのデバイスの試験においてでさえも可変性を持つ所定数の特定の出力ビットから構成されるのである。一例を挙げると、異なるサイズの様々なウィンドウを所定デバイスの試験に用いることができる。更に、使用されるウィンドウのサイズ及び数は、デバイステストによって異なる場合もある。ユーザが所定テストに使用されるウィンドウのサイズを指定できるようになっていることが望ましい。
【００６９】
従って、処理ブロック４０１においては、次の「ウィンドウ」を構成する期待出力ビット（入力試験刺激に呼応するもの）の全てがあるかどうかが判定される。その試験について、更なる出力データビットのウィンドウが期待されない場合には、ブロック４０２においてシグネチャ生成が終了したこと（そのテストに必要とされる全てのウィンドウ・シグネチャが生成されたこと）が判定される。従って、ブロック４０２においては、その試験を実際のデバイスに実施する準備が整った状態となる。しかしながら、ブロック４０１において、シグネチャ生成（例えば、所定の入力テストパターンに呼応する期待出力ビット）に出力ビットの次のウィンドウがあると判定された場合には、処理は処理ブロック４０３に進み、ここでシグネチャ生成論理機構（例えば、ＳＩＳＲ，ＭＩＳＲ又はセルラーオートマタ論理機構等のソフトウエア及び／又はハードウエア）がリセットされることにより、出力ビットのウィンドウを受信し、このウィンドウのシグネチャを生成する準備が整えられる。
【００７０】
処理ブロック４０４においては、出力ビット・ウィンドウの１つ以上の「ドント・ケア」ビットがマスキングされ得る。例えば、非決定的挙動を持つ特定の出力ビット（例えば、ＤＵＴが入力パターンに対して適性に応答して作動したかどうかを示さないものであり、これがマスクされない場合にはシグネチャが損なわれることになるもの）がある場合には、試験が無関心である（ドント・ケア）値を持つこのようなビットは、出力データ・ウィンドウからマスキング（フィルタ）することができる。このようなマスクデータは、生成された試験用のマスクデータ３１０として、ＡＴＥ３０１に試験がロードされる際にデータ記憶装置３０８に記憶されることが望ましい。上述したように、マスクデータ３１０はできれば圧縮されていることが望ましく、このようなデータは適正ビットをマスキングするために解凍されて処理ブロック４０４において使用される。次に処理ブロック４０５においては、ＡＴＥ３０１のシグネチャ生成論理機構３０５のモデルがウィンドウの残りの（非マスク）出力ビットについてシグネチャを生成するために使用される。例えば、特定の実施例においては、シグネチャ生成論理機構３０５のモデルはＳＩＳＲ，ＭＩＳＲ，又はセルラーオートマタを（ハードウエア及び／又はソフトウエアとして）実現することができ、このようなＳＩＳＲ，ＭＩＳＲ，又はセルラーオート或いはウィンドウの非マスク期待出力ビットに対するシグネチャを累積（生成）させることができるものである。従って、シグネチャ生成論理機構３０４は実際のデバイスにこの試験を実施した場合（もしデバイスが適正に機能していれば）には、試験の対応する部分に対して期待される期待シグネチャ・ウィンドウを生成するものである。このような期待シグネチャ・ウィンドウが生成されると、これは、処理ブロック４０６において（例えば、ＡＴＥ３０１のデータ記憶装置３０８中に）記憶される。以下に更に説明するように、このように記憶された期待シグネチャ・ウィンドウは、実際の回路試験中に用いられ、これによりその回路の出力が試験入力値に対して期待通りのものであるかどうかが判定される。
【００７１】
ここで図５を参照するが、これは、本発明の好適な一実施例に基づく試験技術の処理フローの一例を説明するフローチャートである。フローチャートに示されるように、処理ブロック５０１においては、オフチップ・テスタ（例えば、ＡＴＥ３０１）が、次の出力ビットのウィンドウがＤＵＴ（例えば、ＤＵＴ３１５）から出力されるかどうかを判定する。より具体的に説明すると、入力テストデータがテスタからＤＵＴに入力され、これに応答してＤＵＴが出力データを生成する。処理ブロック５０１において、テスタは、次の「ウィンドウ」を構成する出力ビットの全て（入力データに応答したもの）がＤＵＴから受信されたかどうかを判定する。この試験について、更なるウィンドウがＤＵＴから期待されない場合には、ブロック５０２において、この試験が完了したことが決定される。しかしながら、所定の入力テストパターンに応答する出力ビットのウィンドウがＤＵＴから受信されたと決定すると、処理はオフチップ・テスタにおいて処理ブロック５０３に進み、ここでシグネチャ生成論理機構（例えば、図３ＡにおけるＡＴＥ３０１の論理機構３０５）がリセットされ、出力ビットのウィンドウの受信及びこのウィンドウに対するシグネチャの生成を行う準備が整えられる。上述したように、テスタ用シグネチャ生成論理機構の特定の実施例は、ＳＩＳＲ，ＭＩＳＲ，又はセルラーオートマタを実現するものであるが、この場合、ブロック５０３においてリセットされるのは、ＳＩＳＲ，ＭＩＳＲ，又はセルラーオートマタということになる。
【００７２】
処理ブロック５０４においては、受信した出力ビットのウィンドウの１つ以上の「ドント・ケア」ビットをマスキングし得る（例えば、マスク論理機構３０４を使用して）。例えば、特定の出力ビットが非決定的挙動（例えば、ＤＵＴ３１５が入力パターンに応答して適性に作動しているかどうかを示さないもの）を持つ場合があり、このような、試験が無関心である（ドント・ケア）値を持つビットは受信出力データ・ウィンドウからマスキング（フィルタ）することができる。図４の期待シグネチャ・ウィンドウの生成に用いられた同じ出力ビットはＤＵＴの出力用のシグネチャ・ウィンドウの生成にも使用されており、図４の処理ブロック４０４の期待シグネチャ・ウィンドウの生成においてマスキングされた同じビットは、処理ブロック５０４においてもマスキングされる（勿論、ＤＵＴが期待通りに機能していない場合には、このような出力ビットの値は、図４における期待シグネチャ・ウィンドウの生成に用いられた期待値とは異なることになる）。できれば、試験用にマスキングされる出力ビットの識別子を、上述したように特定の実施例においては圧縮されるマスクデータ３１０中に含んでおくことが望ましい。
【００７３】
処理ブロック５０５においては、オフチップ・テスタのシグネチャ生成論理機構がウィンドウの残りの（非マスク）出力ビットについてのシグネチャ生成に用いられる。例えば、特定の実施例においては、テスタは、ＳＩＳＲ，ＭＩＳＲ，又はセルラーオートマタを（ハードウエア及び／又はソフトウエアとして）実現するものであり、このようなＳＩＳＲ，ＭＩＳＲ，又はセルラーオート或いはウィンドウの受信された（非マスク）出力ビットに対してシグネチャを累積（生成）するものである。このように、（例えば、論理機構３０５を使用して）ＤＵＴから受信された（非マスク）出力ビットに対してシグネチャ・ウィンドウが生成されるのである。
【００７４】
その後処理ブロック５０６において、テスタが生成されたシグネチャ・ウィンドウをこの試験部分に対する記憶された期待シグネチャ・ウィンドウと比較し、生成されたシグネチャ・ウィンドウが期待シグネチャ・ウィンドウと一致するかどうかを判定する。生成されたシグネチャ・ウィンドウが期待シグネチャ・ウィンドウと一致すると判定された場合には、処理ブロック５０７において、受信された出力ビットのウィンドウがこのテストを合格したものと判定され、処理はブロック５０１に戻って更なるテストが実施される（例えば、ＤＵＴから受信された更なる出力データ・ウィンドウの評価）。しかしながら、生成されたシグネチャ・ウィンドウが期待シグネチャ・ウィンドウに一致しなかった場合には、ＤＵＴはテストを不合格となったことが判定され、この不具合に関する情報が処理ブロック５０８においてエラーマップ（例えば、図３Ａのエラーマップ３１２）に記憶される。例えば、特定の実施例においては、不良となった出力ビット・ウィンドウの特性及び／又は内容（例えば、実際の生出力ビット）がエラーマップに記憶され、このように記憶されたエラーマップ情報はエラー評価（例えば、どのビットが不正だったのかを判定するためのエラー診断及び／又は試験に不合格となった理由の判定を行うためのＤＵＴのデバッグ）に用いることができる。
【００７５】
好適な一実施例においては、ＤＵＴのエラー評価は、このＤＵＴのシグネチャ解析試験と同時に実施することができる。従来のシグネチャ解析技術においては、このようなＤＵＴ試験とエラー評価を同時に実施することはできなかった。実際のところ、シグネチャ解析技術を用いてエラー評価（例えば、エラー診断）を実施すること自体が従来技術においては非常に難しいことであった。従来のシグネチャ解析技術にとっては、シグネチャ解析処理を逆行することは、演算負荷が重すぎるものであり、時には不可能でさえある。換言すると、既存のシグネチャ解析技術を利用して、実際の出力ベクターデータと期待出力ベクターデータとの間に矛盾があることを判定することは可能である。しかしながら、出力ベクターデータのうち、どの受信ビットに誤りがあるのかを判定することは、一般にできないのである。これは、既存技術のシグネチャに基づく試験方法の診断能力を著しく制約するものである。本発明の好適な一実施例は、シグネチャを診断のために逆転させる必要が無く、むしろ、テスタが受信した不良ウィンドウに対応する生の出力データをエラーログに書き込むことができることから、シグネチャ解析のエラー診断を容易にするものである。
【００７６】
更に、従来のシグネチャ解析技術においてエラー評価（例えば、診断）が実施される場合であっても、これがＤＵＴの試験と同時に実施されることはない。むしろ、試験（例えば、ＤＵＴへのテストデータの入力，ＤＵＴからの出力データに対してのシグネチャ生成，及び生成されたシグネチャと期待シグネチャとの比較）がまず実施され、エラー評価が望まれた場合（生成されたシグネチャが期待シグネチャと一致しなかった場合）には、応答を直接ＡＴＥに送るためにシグネチャ論理機構がバイパスされる形で、ＤＵＴ中に第二のパスが作られる。すなわち、ＤＵＴの診断／デバッグを行うためには、テスタとＤＵＴの間に第二の相互作用群が必要となるのである。
【００７７】
他の手法においては、（シグネチャが作成される領域範囲における）エラー位置がわかるように複数のシグネチャが生成される。しかしながら、ここでもＡＴＥに直接的に応答できるようにシグネチャ論理機構をバイパスした第二のパスがＤＵＴを通じて作られるのである。
【００７８】
上述したように、本発明の好適な一実施例において期待ウィンドウ・シグネチャと受信された出力データについて生成されたウィンドウ・シグネチャの間の矛盾が発見された場合には、ウィンドウ特性（ウィンドウＩＤ，実際の出力データ及び期待される生出力データ，サイクル数等）をエラーマップに記憶することができる。入力／出力ベクターデータのウィンドウの開始は、例えばサイクル開始レジスタ或いは入力ベクターデータの制御ビットにより指定されるようにすることができる。ウィンドウの長さは、ユーザ入力により動的に変更されることが望ましい長さレジスタにより指定することができる。更に、ウィンドウ長の指定は、入力ベクターデータにおける制御ビットにより、「ウィンドウ開始」制御ビットと組み合わせることで、或いは「ウィンドウ終了」を指定することで、実施することも可能である。
【００７９】
１つの不良となったウィンドウのみを捕捉する代わりに、（例えば、ＤＵＴに関するエラーマップデータを記憶するまでに）いくつの不良ウィンドウを捕捉する必要があるかを指定するカウンタを設けることも可能である。例えば、ユーザは高速の製造試験においては１つのＤＵＴについて第一の不良ウィンドウのみを捕捉したいと望む場合もあるが、ＤＵＴの集中解析においては、複数の不良ウィンドウに関する情報を捕捉したいと望む場合もある。
【００８０】
ｎ番目のウィンドウ、或いはｎ番目の不良ウィンドウの後にエラーマップ情報を取得し始めるためのカウンタを導入することにより、メモリ条件を更に緩和することができる。このようにすれば、先の不良ウィンドウの全てを同時にメモリに記憶する必要がなくなる。例えば、ｎ番目の不良ウィンドウ後にエラー情報の取得を開始する本発明の一実施例の処理フローチャートを図６に示した。処理ブロック６０１においては、不良ウィンドウをカウントするために用いられるカウンタがリセット（例えば、０に設定）される。その後、図５に基づいて上述したものと同様の方式でＤＵＴ試験が実施される。一例を挙げると、処理ブロック６０２〜６０８は、図５の処理ブロック５０１〜５０７に対応する。
【００８１】
しかしながら、図６の実施例においては、処理ブロック６０７において、ＤＵＴの受信出力に対して生成されたウィンドウ・シグネチャ（処理ブロック６０６にて生成されたシグネチャ）が試験のこの部分についての期待ウィンドウ・シグネチャと一致しないと判定された場合には、処理はブロック６０９に進み、不良ウィンドウ・カウンタが１つ増分される。その後、処理ブロック６１０において、カウンタが不良ウィンドウの所定のターゲット数に等しいかどうかが判定される。この実施例においては、ＤＵＴの所定のターゲット数の不良ウィンドウが捕捉された場合に限ってエラー情報が取得される。勿論、ＤＵＴは、たとえ１つであってもウィンドウが不良となれば試験を不合格となり、製品として出荷するには不適切な品質のものであると判断することができるが、そのＤＵＴの試験中に所定のターゲット数の不良ウィンドウが生じた場合に限って（エラー評価のために）エラー情報を取得することが可能である。よって、処理ブロック６１０において、不良ウィンドウが所定のターゲット数に至っていないことが判明した場合には、処理はブロック６０２に戻り、次のウィンドウが評価される。逆に、処理ブロック６１０において不良ウィンドウが所定のターゲット数に至ったことが判明した場合には、処理はブロック６１１に進み、その不良に関する情報（例えば、ウィンドウ特性及び／又はウィンドウ内容）が記憶される。その後処理は処理ブロック６０２に戻り、試験処理が継続される。
【００８２】
この手法を使えば、ＡＴＥの出力メモリ条件を、全出力ベクターデータサイズから、最大でもウィンドウサイズ及び全ウィンドウ・シグネチャのサイズへと小さくすることができる。ＡＴＥのメモリ条件は、試験中に取得したウィンドウを、ＡＴＥに通信可能な状態で結合するワークステーション等の他のデータ記憶装置に送ることにより更に小さくすることができる。この場合、ＡＴＥに記憶されるエラーマップは基本的に単なるバッファとして用いられる。エラーマップバッファ中のウィンドウ数は、試験中に取得したウィンドウをワークステーション等に転送するための不良ウィンドウ周波数及び利用できる帯域幅により決まる。
【００８３】
従来のフローと相関性を持たせることがさほど重要ではない場合には、以下のような普遍化が可能である。エラーマップに記憶された受信出力データを複数の階層的イテレーションの後にのみ捕捉することができ、これは捕捉不良ウィンドウ数のカウンタ、或いは最初に捕捉される不良ウィンドウによるものであってもなくても可能である。この場合、異なる所定ウィンドウサイズを使用してより小さなサブウィンドウにイテレート（すなわちズーム）することができる。この結果、必要となるメモリサイズは、より大きな従前のウィンドウのサイズ及びシグネチャ自体のサイズの最大となるかわりに、最大でも最後のウィンドウ・イテレーションのサイズ及びシグネチャ自体のサイズとなる。最適なウィンドウサイズは、所望される許容イテレーション数と要求される所望出力圧縮比との間のトレードオフとなる。
【００８４】
上述に鑑みると、好適な一実施例においては、シグネチャがＡＴＥ等のＤＵＴ外部のテスタ（例えば、オフチップ・テスタ）上で、ＤＵＴから受信される出力データの少なくとも一部に対して生成され、ＤＵＴが適正に機能しているかどうかを判定するために、このシグネチャが期待シグネチャと比較される。好適な一実施例においては、ＤＵＴがウエハ上にあり、テスタは、ＤＵＴがその上に配置されたウエハの外部にあるシステムを含んでいる。例えば、好適な一実施例の実行においては、テスタは、図３Ａに示したＡＴＥ３０１のようなＡＴＥを含んでいる。ＤＵＴにテストデータを入力するための論理機構３０２、ＤＵＴからの出力データを受信するための論理機構３０３，ビットをマスキングするための論理機構３０４，受信された出力データの少なくとも一部（非マスクデータ等）のシグネチャを生成するための論理機構３０５，生成されたシグネチャを期待シグネチャと比較するための論理機構３０６，不良を出したテストのエラーマップを生成するための論理機構３０７といった様々なテスタの要素は、ハードウエア及び／又はソフトウエアから構成される。実行可能命令又はソフトウエアコードとして実現された場合には、テスタは、このコードをコンピュータ読み取り可能媒体（例えば、ハードドライブ媒体，光学媒体，リードオンリーメモリ（ＲＯＭ），ランダムアクセスメモリ（ＲＡＭ），テープ媒体，カートリッジ媒体，フラッシュメモリ，メモリスティック等）から取得する、或いは通信媒体（インターネット等）からのデータ信号を通じて取得することができる。実際、読み取り可能媒体は、情報を記憶する、或いは伝送する何れの媒体であっても良い。
【００８５】
図７は、テスタにより使用される期待シグネチャ生成に用いることができるコンピュータシステム７００の一例を描いたものである。中央処理装置（ＣＰＵ）７０１は、システムバス７０２に結合している。ＣＰＵ７０１は、何れの汎用ＣＰＵであっても良い。好適なプロセッサとしては、例えばインテルのＰＥＮＴＩＵＭ（登録商標）４プロセッサが含まれるが、これに限られない。しかしながら、本発明は、ＣＰＵ７０１が本願に記載の発明的処理を支持するものである限りにおいては、ＣＰＵ７０１のアーキテクチャに限定するものではない。ＣＰＵ７０１は、所望の期待シグネチャ（例えば、ウィンドウ・シグネチャ）をテスト用に生成するための様々な論理的命令を実行するものである。ＣＵＰ７０１は、例えば図４を使って先に説明した処理フロー例に基づいてマシンレベル命令を実行することができる。
【００８６】
コンピュータシステム７００は、更に、ＳＲＡＭ，ＤＲＡＭ，ＳＤＲＡＭ等のランダムアクセスメモリ（ＲＡＭ）を含んでいることが望ましい。コンピュータシステム７００は、例えばＲＡＭ７０３を用いることにより、モデリングされる特定のテスト用に生成された様々な期待シグネチャを記憶（少なくとも一次的に）することができる。コンピュータシステム７００は、ＰＲＯＭ，ＥＰＲＯＭ，ＥＥＰＲＯＭ等のリードオンリーメモリ（ＲＯＭ）７０４を含むものであることが望ましい。ＲＡＭ７０３及びＲＯＭ７０４は、技術において従来から周知のようにユーザデータ、システムデータ及びプログラムを保持するものである。
【００８７】
コンピュータシステム７００は、更に、入出力（Ｉ／Ｏ）アダプタ７０５，通信アダプタ７１１，ユーザインターフェースアダプタ７０８及びディスプレイアダプタ７０９を含んでいることが望ましい。Ｉ／Ｏアダプタ７０５及び／又はユーザインターフェースアダプタ７０８は、特定の実施例において、ユーザが情報を入力する（例えば、ＤＵＴ用の試験の指定，ウィンドウサイズの指定，エラー情報を捕捉すべき不良ウィンドウ捕捉数の指定（図６のフロー例にあるもの），及び／又はマスクビット等の期待シグネチャ生成に用いられる情報の指定）ためにコンピュータ７００と対話することができるようにするものである。更に、Ｉ／Ｏアダプタ７０５は、情報をプリントアウトすることができるようにプリンタ７１４と結合していても良い。
【００８８】
更に、Ｉ／Ｏアダプタ７０５は、例えば１つ以上のハードドライブ，コンパクトディスク（ＣＤ）ドライブ，フロッピーディスクドライブ，テープドライブ等の記憶装置７０６に接続していることが望ましい。記憶装置は、ＲＡＭ７０３がテストのモデリング及び期待シグネチャの生成に関わるメモリ条件を満たしていない場合に使用することができる。
【００８９】
コンピュータ７００とネットワーク７１２（公共及び私設の電話交換ネットワーク等の電話ネットワーク，ローカルエリアネットワーク（ＬＡＮ），インターネット又は他の広域ネットワーク（ＷＡＮ），及び／又は無線通信ネットワーク等、何れの好適な通信ネットワークであっても良い）とを結合するように適合した通信アダプタ７１１を含むものであっても良い。ユーザインターフェースアダプタ７０８は、キーボード７１３、指示装置７０７のようなユーザ入力装置及び／又はスピーカーのような出力装置（図示せず）をコンピュータシステム７００に結合するものである。ディスプレイアダプタ７０９は、ＣＰＵ７０１により駆動され、表示装置７１０上の表示（例えば、試験実施中のデバイスについての情報のユーザへの表示情報）を制御するものである。本発明は、システム７０１に示したアーキテクチャに限られたものではないことは言うまでもない。例えば、試験用の期待シグネチャ生成には何れの好適なプロセッサベース装置であっても使用することができる（特定の実施例においては、例えばＡＴＥ３０１のようなオフチップ・テスタが使用されている）。
【００９０】
図８は、本発明の実施例を実現するように適合したテスタの一例であるＡＴＥ３０１のブロック図を示すものである。図８の実施例においては、コンピュータシステム７００が例えば図７に示した通信アダプタ７１１を介してＡＴＥ３０１に接続しており、テストプラン及びテストデータのダウンロード（例えば、テストデータや試験用期待シグネチャの入力等）の提供、及び／又はＡＴＥ３０１に対するインターフェース機能の提供が可能となっている。これらのテストプラン及びテストデータは、アクセス制御論理機構８１０を通じてＡＴＥメモリにロードすることが可能である（例えば、図３Ａのメモリ３０８がテストリソース８２０に含まれていても良い）。テストリソース８２０は、図３Ａを使って上で説明したリソース３０２〜３０７を含んでいても良い。図示した実施例においては、テストリソース８２０は、相互接続ネットワーク８３０を介してコントローラ／シーケンサ８４０に結合している。このコントローラ／シーケンサ８４０は、テストリソース８２０の１つをピン８６０の１つ（図３Ａのプローブ３１３のような１つ又は複数のプローブ上に配置することができるもの）に結合して、使用中のテストプランにおいて設定されている時間及び順番でＤＵＴに適切なテストデータを印加するように作動することが望ましい。図示した実施例においては、ピン電子部品カード８５０がコントローラ／シーケンサ８４０とピン８６０の間に配置されており、ＤＵＴに必要な特定の電圧レベルを提供している。
【００９１】
図示した実施例においては、３つのテストリソース，コントローラ／シーケンサ，及びピン電子部品カードが描かれているが、ＡＴＥ３０１は、いくつの要素を含むものであっても良いと理解すべきである。更に、本発明によれば、これらの各要素が同数設けられなければならないという制約は無い。更に、図８の実施例は、本発明の実施例を実現することが可能なＡＴＥの構成例を示したものに過ぎず、本発明をこのような構成例に限定する意図はない。むしろ、ＤＵＴから生の出力データを受信し、シグネチャを生成する（図３Ａにその詳細を説明した）ように構成することができる、現在既知の、或いは将来的に開発されるであろう他の何れの好適なオフチップ・テスタ構成も本発明の範囲に入るものであることを意図している。更に、特定の実施例においては、テスタをウエハ上に実現し、これをそのウエハ上の他の回路（ＤＵＴ）を試験するために利用しても良い。例えば、特定の実施例においては、テスタはウエハ上の第一のダイ中に実現されており、これをそのウエハ上の少なくとも１つの他のダイを試験するために用いることができる。
【００９２】
上述から、本発明の実施例は、既存の試験技術よりも多数の利点を提供するように実現できることが明らかである。例えば、本発明の実施例によれば、ＤＵＴ中の設計変更を必要としないにもかかわらず、従来のシグネチャ解析技術と同様の圧縮比に到達することが可能である。このため、試験を実現する上で、ＤＵＴ上の潜在的シリコン面積オーバーヘッドも、ＤＵＴの潜在的パフォーマンス劣化も無い。更に例を挙げると、本発明の実施例によれば、エラー診断能力に限界が設けられないにもかかわらず、従来のシグネチャ解析技術と同様の圧縮比を得ることが可能である。
【００９３】
更に好適な一実施例によれば、エラー診断（及び歩留まり認識）をＤＵＴの試験と同時に実施することができる。すなわち、インプットテストデータを入力し、そこから生の出力データを受信することによりＤＵＴと相互作用する「第一のパス」をオフチップ・テスタにおいて作ることができ、この第一のパスからオフチップ・テスタはシグネチャを生成し、このシグネチャをＤＵＴのエラー検出に使用することができるもので、エラーが検出された場合には、このような出力データを取得するためのＤＵＴとの更なる相互作用を必要とすることなく、ＤＵＴから受信された実際の出力データをエラーマップログに記憶することができる。エラー診断はＤＵＴの試験と同時に実施することができるため、本発明の特定の実施例は、特に試験設定を大量に生成しなければならない場合には適している。
【００９４】
更に、本発明の好適な一実施例は、受信された出力ビットを複数のウィンドウに分割し、各ウィンドウについてシグネチャを生成するものである。この方式でのウィンドウの利用は、エラーマップデータを記憶するために要するデータ記憶容量を節約できる等（例えば、このようなウィンドウの期待シグネチャに一致しないシグネチャを持つウィンドウ等、不良ウィンドウに関連するエラーデータを記憶することによる）特定の利点がある。本願に記載の方法でウィンドウを利用することによる他の様々な利点は、当業者にとって明らかである。
【００９５】
一実施例においては、試験技術がＡＴＥ上に実現されているが、これは、ＡＴＥが既に所望のマスキング能力（例えば、シグネチャ解析に使用する出力ビットの柔軟なマスキングを可能とする能力）を有することから有利である。他の事例を挙げると、本発明の実施例は、オンチップでＭＩＳＲを実現したＤＵＴを用いることが可能であり、これにより汎用試験プラットフォームが可能となる。すなわち、本発明の実施例においてはオンチップ試験回路（例えば、シグネチャ生成回路）を必要とはしないが、本発明の特定の実施例は、オンチップ試験回路を有するＤＵＴであっても試験することができるプラットフォーム（例えば、ＡＴＥ）上に実現することができ、これにより既存の従来技術に基づく試験、或いは本発明の実施例に基づく試験が可能となっている。すなわち、本発明の実施例に基づくプラットフォームは、オンチップ試験回路（オンチップシグネチャ生成回路等）を含むＤＵＴの試験の可能性を排除するものではないが、このようなオンチップ試験回路を含まないＤＵＴの効率的な試験を可能とするという利点を持っているのである。
【００９６】
更なる例として、本発明の実施例は、試験の実施に要するデータ記憶容量を更に節約するためにマスクベクター圧縮及び／又は入力ベクター圧縮技術と組み合わせて実現することができる。
【００９７】
以上を要約すると、次の通りである。すなわち、本願では、外部で生成したシグネチャを用いて回路を試験するためのシステム及び方法が開示されている。外部テスタ（外部テスタ回路）３０１，３１６が被験デバイス（ＤＵＴ）３１５の外部に配置されている。そのような外部テスタは、ＤＵＴにテストデータを入力し（処理ブロック３２１）、ＤＵＴから出力データを受信し（処理ブロック３２２）、そのように受信した出力データの少なくとも一部のためのシグネチャを生成する（処理ブロック３２４）。この外部テスタは、ＤＵＴが期待通りに機能しているかどうかを判定するために、生成されたシグネチャを期待シグネチャと比較する（処理ブロック３２５）。生成されたシグネチャが期待シグネチャと一致しない場合には、エラーデータがエラーマップログ３１２に書き込まれ得る（処理ブロック３２７）。好ましくは、生成されたシグネチャが期待シグネチャと一致しないことが検知された後には、そのようなエラー評価を行なうためにＤＵＴとの更なる相互作用（対話）は要求されない。このように、エラー評価がＤＵＴのテストと並行して（同時に）施行され得る。マスクデータ３１０は、圧縮形式で記憶（格納）されて解凍され（処理ブロック３２３）、そして或る非決定的出力ビットをマスキングするために使用され得る。
【００９８】
本発明及びその利点を詳細にわたって説明してきたが、請求項に定義される本発明の精神及び範囲から逸脱ことなく様々な変更，交換，及び改変が可能であることは明らかである。更に、本発明の適用範囲は、本明細書に記載した特定の実施例の処理，機械，製造，物の構成，手段，方法，或いはステップに限定することを意図したものではない。本発明の開示内容から当業者には明らかなように、本願に記載した対応する実施例と実質的に同じ機能を実施する、或いは実質的に同じ結果が得られる、現在既知の、或いは後に開発されるであろう処理，機械，製造，物の構成，手段，方法，又はステップを、本発明に基づいて使用することができるものである。よって、本願請求項は、その範囲にそれらの処理，機械，製造，物の構成，手段，方法，又はステップを包含することを意図したものである。
【図面の簡単な説明】
【００９９】
【図１Ａ】従来の試験システムのブロック図である。
【図１Ｂ】図１Ａの従来の試験システムの処理フロー例を示す図である。
【図２】シグネチャ解析手法を用いた従来の試験システム例のブロック図である。
【図３Ａ】本発明の好適な一実施例に基づく試験システムのブロック図である。
【図３Ｂ】本発明の好適な一実施例に基づく試験システムの処理フロー例を示す図である。
【図４】本発明の好適な一実施例に基づいて、期待ウィンドウ・シグネチャがどのように作成されるかを説明するフローチャート例である。
【図５】本発明の好適な一実施例に基づく試験技術の処理フローを説明するフローチャート例である。
【図６】被験デバイスについて、不良ウィンドウの検出が所定のターゲット数に達した後にエラー情報の捕捉が始まる本発明の一実施例に基づく処理フローチャート例である。
【図７】テスタにより使用される期待シグネチャの生成に用いることができるコンピュータシステムの例を示す図である。
【図８】本発明の実施例を実現するように適合させることができるテスタ例のブロック図である。
【符号の説明】
【０１００】
３０１  自動試験装置（外部試験装置）
３０２  テストデータ入力手段
３０３  出力データ受信手段
３０５  シグネチャ生成手段
３０６  シグネチャ比較手段
３０７  情報記憶手段
３１２  エラーマップ
３１３  通信インターフェース
３１５  被験チップ
３１６  外部試験装置
【図１Ａ】
2004184413.tif 000004
【図１Ｂ】
2004184413.tif 000005
【図２】
2004184413.tif 000006
【図３Ａ】
2004184413.tif 000007
【図３Ｂ】
2004184413.tif 000008
【図４】
2004184413.tif 000009
【図５】
2004184413.tif 000010
【図６】
2004184413.tif 000011
【図７】
2004184413.tif 000012
【図８】
2004184413.tif 000013