(57)【特許請求の範囲】
【請求項１】
他の回路に接続されない独立した集積回路デバイスに接続され、該デバイスを検査する半導体デバイス検査システムであって、
前記デバイス検査システムの走査検査モードと、
前記デバイス検査システムの並列検査モードと、
ａ）前記並列検査モード中に用いる並列検査ベクトルと、ｂ）前記走査検査モード中に用いる並列検査ベクトルおよび走査検査ベクトルとを格納するために、記憶空間の実質上全てを用いることができる単一のメモリと、
前記走査検査モード中に用いるために、前記メモリから前記走査検査ベクトルを受け取る走査制御バッファを備えた走査コントローラと、
前記並列検査モード中に用いるために、前記メモリから前記並列検査ベクトルを受け取るバッファを備えた並列ベクトル・コントローラと、
前記並列検査モードと前記走査検査モードとの間で切り替えを行うスイッチと、
前記単一のメモリに結合され、ａ）前記並列検査モード中に用いる前記並列検査ベクトルを操作して集積回路を検査し、ｂ）前記走査検査モード中に用いる前記並列検査ベクトルおよび走査検査ベクトルを操作して前記集積回路を検査する、パターン発生器と、
を備える半導体デバイス検査システム。
【請求項２】
請求項１記載の半導体デバイス検査システムにおいて、前記メモリをインターリーブし、前記並列および走査検査モードに用いる検査ベクトルをメモリから並列に読み出し可能とする、半導体デバイス検査システム。
【請求項３】
請求項１または２記載の半導体デバイス検査システムにおいて、前記走査コントローラが、更に、１つ以上の交互データ・バス・レジスタを含み、各交互データ・バス・レジスタが、前記走査制御バッファから直列にデータ・ワードを受け取って走査チェーンを形成するデータ・ワードの直列チェーンを形成する、半導体デバイス検査システム。
【請求項４】
請求項３記載の半導体デバイス検査システムにおいて、前記直列データ・ワードが、走査入力において用いる走査入力ビット、および走査出力において用いる予想ビットを含む、半導体デバイス検査システム。
【請求項５】
請求項４記載の半導体デバイス検査システムにおいて、前記直列データ・ワードが、更に、未知のデータを隠蔽するために用いるマスク・ビットを含む、半導体デバイス検査システム。
【請求項６】
請求項４記載の半導体デバイス検査システムにおいて、１本以上の通信ラインを通じて前記交互データ・バス・レジスタと協働するマルチプレクサを有し、該マルチプレクサが、前記通信ラインを通じて前記データ・ワードの直列チェーンを受け取り、前記マルチプレクサが前記データ・ワードを多重化し、減少した本数のラインを通じて該多重化ワードを交互データ・バスに供給することにより、前記交互データ・バスが上昇したデータ速度で動作することを可能とする、半導体デバイス検査システム。
【請求項７】
請求項６記載の半導体デバイス検査システムにおいて、複数のピンを備えた被検査デバイスを有し、前記ピンの実質上全てが前記被検査デバイスにおける別個のチャネルとなり、前記ピンの１本以上を、１つ以上のチャネル入力を介して前記交互データ・バスに接続し、各前記走査チェーンが１つ以上の前記チャネルと協働する、半導体デバイス検査システム。
【請求項８】
請求項７記載の半導体デバイス検査システムにおいて、１つ以上のチャネルを選択し、各チャネルが前記走査チェーンの１つを受け取り、前記チャネルが走査入力チャネルであり、前記走査チェーンのデータ・ワードから走査入力ビットのみを受け取り、１つ以上の他のチャネルを選択し、各チャネルが前記走査チェーンの１つのデータ・ワードから走査出力予想ビットを受け取る、半導体デバイス検査システム。
【請求項９】
他の回路に接続されない独立した集積回路に接続され、該集積回路を検査する半導体デバイス検査システムであって、
前記デバイス検査システムの走査検査モードと、
前記デバイス検査システムの並列検査モードと、
ａ）前記並列検査モード中に用いる並列検査ベクトルと、ｂ）前記走査検査モード中に用いる並列検査ベクトルおよび走査検査ベクトルとを格納するために、記憶空間の実質上全てを用いることができる単一のメモリであって、インターリーブされ、検査ベクトルをメモリから並列に読み出すことを可能にするメモリと、
前記走査検査モード中に用いる前記走査検査ベクトルを前記メモリから受け取る走査制御バッファを備えた走査コントローラであって、更に、１つ以上の交互データ・バス・レジスタを有し、各交互データ・バス・レジスタが、前記走査制御バッファから直列にデータ・ワードを受け取って走査チェーンを形成するデータ・ワードの直列チェーンを形成する、走査コントローラと、
前記並列検査モードおよび前記走査検査モード中に用いるために、前記メモリから前記並列検査ベクトルを受け取るバッファを備えた並列ベクトル・コントローラと、を備え、
前記直列データ・ワードが、走査入力において用いる走査入力ビット、走査出力において用いる予想ビット、および未知のデータを隠蔽するために用いるマスク・ビットを含み、更に、
前記並列検査モードと前記走査検査モードとの間で切り替えを行うスイッチと、
前記単一のメモリに結合され、ａ）前記並列検査モード中に用いる前記並列検査ベクトルを操作して集積回路を検査し、ｂ）前記走査検査モード中に用いる前記並列検査ベクトルおよび走査検査ベクトルを操作して前記集積回路を検査する、パターン発生器と、
を備える半導体デバイス検査システム。
【請求項１０】
請求項９記載の半導体デバイス検査システムにおいて、複数のピンを備えた被検査デバイスを有し、前記ピンの実質上全てが前記被検査デバイスにおける別個のチャネルとなり、前記ピンの１本以上が、１つ以上のチャネル入力を通じて前記交互データ・バス・レジスタと協働し、各前記走査チェーンが１つ以上の前記チャネルと協働する、半導体デバイス検査システム。
【請求項１１】
請求項１０記載の半導体デバイス検査システムにおいて、１つ以上のチャネルを選択し、各チャネルが前記走査チェーンの１つを受け取り、前記チャネルが走査入力チャネルであり、前記走査チェーンのデータ・ワードから走査入力ビットのみを受け取り、１つ以上の他のチャネルを選択し、各チャネルが前記走査チェーンの１つのデータ・ワードから走査出力予想ビットを受け取る、半導体デバイス検査システム。
【請求項１２】
請求項１１記載の半導体デバイス検査システムにおいて、１本以上の通信ラインを通じて前記交互データ・バス・レジスタと協働するマルチプレクサを有し、該マルチプレクサが、前記通信ラインを通じて前記データ・ワードの直列チェーンを受け取り、前記マルチプレクサが前記データ・ワードを多重化し、減少した本数のラインを通じて該多重化ワードを交互データ・バスに供給することにより、前記交互データ・バスが上昇したクロック速度で動作することを可能とする、半導体デバイス検査システム。
【請求項１３】
他の回路に接続されない集積回路に接続され、該集積回路を走査検査する半導体デバイス検査システムであって、
走査検査中に用いる並列検査ベクトルおよび走査検査ベクトルとを格納するために、記憶空間の実質上全てを用いることができる単一のメモリと、
前記単一のメモリに結合され、前記走査検査モード中に用いる前記並列検査ベクトルおよび走査検査ベクトルを操作して前記集積回路を検査する、パターン発生器と、
前記走査検査モード中に用いる前記走査検査ベクトルを前記メモリから受け取る走査制御バッファを備えた走査コントローラであって、更に、１つ以上の交互データ・バス・レジスタを有し、各交互データ・バス・レジスタが、前記走査制御バッファから直列にデータ・ワードを受け取って走査チェーンを形成するデータ・ワードの直列チェーンを形成する、走査コントローラと、
前記走査検査モード中に用いるために、前記メモリから前記並列検査ベクトルを受け取るバッファを備えた並列ベクトル・コントローラと、を備え、
前記直列データ・ワードが、走査入力において用いる走査入力ビット、および走査出力において用いる予想ビットを含む、
半導体デバイス検査システム。
【請求項１４】
請求項１３記載の半導体デバイス検査システムにおいて、複数のピンを備えた被検査デバイスを有し、前記ピンの実質上全てが前記被検査デバイスにおける別個のチャネルとなり、前記ピンの１本以上が、１つ以上のチャネル入力を通じて前記交互データ・バス・レジスタと協働し、各前記走査チェーンが１つ以上の前記チャネルと協働する、半導体デバイス検査システム。
【請求項１５】
請求項１４記載の半導体デバイス検査システムにおいて、１つ以上のチャネルを選択し、各チャネルが前記走査チェーンの１つを受け取り、前記チャネルが走査入力チャネルであり、前記走査チェーンのデータ・ワードから走査入力ビットのみを受け取り、１つ以上の他のチャネルを選択し、各チャネルが前記走査チェーンの１つのデータ・ワードから走査出力予想ビットを受け取る、半導体デバイス検査システム。
【請求項１６】
請求項１５記載の半導体デバイス検査システムにおいて、１本以上の通信ラインを通じて前記交互データ・バス・レジスタと協働するマルチプレクサを有し、該マルチプレクサが、前記通信ラインを通じて前記データ・ワードの直列チェーンを受け取り、前記マルチプレクサが前記データ・ワードを多重化し、減少した本数のラインを通じて該多重化ワードを交互データ・バスに供給することにより、前記交互データ・バスが上昇したクロック速度で動作することを可能とする、半導体デバイス検査システム。
【請求項１７】
請求項１６記載の半導体デバイス検査システムにおいて、前記メモリをインターリーブし、前記走査検査モードに用いる検査ベクトルをメモリから並列に読み出し可能とする、半導体デバイス検査システム。
【請求項１８】
請求項１７記載の半導体デバイス検査システムにおいて、前記直列データ・ワードが、更に、未知のデータを隠蔽するために用いるマスク・ビットを含む、半導体デバイス検査システム。
【発明の詳細な説明】
【０００１】
発明の背景
発明の分野
本発明は、集積回路検査システムに関する。更に特定すれば、本発明は、並列検査モードおよび走査検査モード双方に用いる単一のメモリを有する検査システムに関するものである。
関連技術の説明
本願の譲受人に譲渡された米国特許第５，６０６，５６８号における従来技術は、並列検査ベクトル・メモリを用いて、電子回路のレベル感応走査設計（ＬＳＳＤ：ｌｅｖｅｌ  ｓｅｎｓｉｔｉｖｅ  ｓｃａｎ  ｄｅｓｉｇｎ）検査を行う検査方法および構造を示す。図１は、被検査電子デバイス（ＤＵＴ：ｄｅｖｉｃｅ  ｕｎｄｅｒ  ｔｅｓｔ）１０１を検査する従来技術のシステム１００を示す。検査システム１００は、ＤＵＴ１０１上で行う電子検査の間、複数の既定の検査命令を格納する検査ベクトル・ポインタ・メモリ１０２を含む。パターン・プロセッサ１０５は、フェッチ・ライン１０３を通じて検査ベクトル・ポインタ・メモリ１０２に印加されるフェッチ信号に応答して、検査ベクトル・ポインタ・メモリ１０２からの命令を命令バス１０４を通じて受け取る。命令に応答して、パターン・プロセッサ１０５は、アドレス・バス１０６を通じて、１つまたは一連のアドレスを検査ベクトル・データ・メモリ１０７に供給し、メモリ・ベクトル・データ・メモリ１０７に既に格納されている１つ以上の検査ベクトルにアクセスする。これら１つ以上の検査ベクトルは、順次データ・バス１０８を通じてタイミング発生器１０９に送られる。タイミング発生器１０９は、検査ベクトル・データを、適切な電圧および電流レベルを有し適切に時間調整した信号に変換するように機能する。一方、これらの信号は、バス１１０を通じて、ＤＵＴ１０１の適切なリードに印加される。図１に示すような従来技術の検査システムは、当技術分野では周知であり、例えば、Ｒ．Ｐｏｗｅｌｌ（Ｒ．ポウェル）著”ＩＢＭ’ｓ  ＶＬＳＩ  Ｌｏｇｉｃ  Ｓｙｓｔｅｍ”（ＩＢＭのＶＬＳＩロジック検査システム）（ＩＥＥＥ  Ｔｅｓｔ  Ｃｏｎｆｅｒｅｎｃｅ  Ｐｒｏｃｅｅｄｉｎｇｓ、ｐｐ．３８８―３９２、（１９８１年））に記載されている。
【０００２】
図２に示すように、正常動作の間、並列検査ベクトルがパターン・プロセッサ１０５によって検査ベクトル・データ・メモリ１０７からアドレスされ、バス１０８のリード１０８―１ないし１０８―Ｎを通じて、個々のタイミング発生器および関連する電子回路１０９―１ないし１０９―Ｎに順番に印加される。一方、これら電子回路は所望の信号レベルをＤＵＴ１０１の入力リード２０１―１ないし２０１―Ｎに印加する。
【０００３】
検査ベクトル・ポインタ・メモリ内には、パターン・プロセッサ１０５を制御するために数種類の命令を格納することができる。かかる命令の１つが、ｔｅｓｔ―ｖｅｃｔｏｒ―ｓｔｒｉｐ（ＴＶＳ：検査―ベクトル―ストリップ）命令であり、以下のフォーマットを有する。
【０００４】
【数１】
ＴＶＳ＜ｃｏｕｎｔ＞＜ａｄｄｒｅｓｓ＞
ここで、ＴＶＳは命令型、＜ｃｏｕｎｔ＞はパターン・プロセッサ１０５によって順次アドレスされる、検査ベクトル・データ・メモリ１０７内の連続ベクトルの数、そして＜ａｄｄｒｅｓｓ＞は、連続ベクトルの最初の１つを記憶する検査ベクトル・データ・メモリ１０７内部のアドレスである。例えば、ＴＶＳ命令、ＴＶＳ  １５  １１０２は、パターン・プロセッサ１０５に、検査ベクトル・データ・メモリ１０７内に格納されている、アドレス１１０２から開始ししたがってアドレス１１１６で終了する１５個のベクトルを順次アドレス指定させる。
【０００５】
大規模集積回路の出現により、デバイス検査の問題は増しつつある。例えば、集積回路内の構成部品および入力リード数が増大するに従って、入力データ・シーケンスおよび出力データ・シーケンスの組み合わせおよび順列の数も増大する。かかる組み合わせおよび順列の全てを検査することは増々難しくなっているだけでなく、検査シーケンスをプログラムし多数の検査ベクトルを格納するのに要する時間も長くなり、更に各集積回路を検査するのに要する時間も長くなる。これらの問題は、集積回路の検査コストを更に上昇させるものである。
【０００６】
ＬＳＩデバイスの検査に伴うこれらの問題のいくつかを低減するために、Ｅ．Ｅｉｃｈｅｌｂｅｒｇｅｒ（Ｅ．アイヘルベルガー）およびＴ．Ｗｉｌｌｉａｍｓ（Ｔ．ウイリアムス）によって”Ａ  Ｌｏｇｉｃ  Ｄｅｓｉｇｎ  Ｓｔｒｕｃｔｕｒｅ  ｆｏｒ  ＬＳＩ  Ｔｅｓｔａｂｉｌｉｔｙ”（ＬＳＩ検査性についての論理設計構造）（Ｊｏｕｒｎａｌ  ｏｆ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  ａｎｄ  Ｆａｕｌｔ  Ｔｏｌｅｒａｎｔ  Ｃｏｍｐｕｔｉｎｇ、Ｖｏｌ．２  Ｎｏ．２  ｐｐ．１６５―１７８（９７８年５月））に記載されている、レベル感応走査設計（ＬＳＳＤ）を用いて、集積回路の設計が行われている。このＬＳＳＤ技法を用いると、図２のＤＵＴ１０１は、複数のゲートまたはラッチ２０３―１ないし２０３―Ｎを含むように設計される。ゲートの各々は、ＤＵＴ１０１の入力リード２０１―１ないし２０１―Ｎに関連付けられている。入力リード２０１―１ないし２０１―Ｎ上の入力信号は、入力バッファ２０２―１ないし２０２―Ｎを介して、ラッチ２０３―１ないし２０３―Ｎに印加される。ラッチ２０３―１ないし２０３―Ｎの出力リードは、ＤＵＴ１０１の内部回路（図示せず）に接続されており、これによってＤＵＴ１０１の並列入力リード２０１―１ないし２０１―Ｎに印加される並列入力信号が、ＤＵＴ１０１を正常に動作させることができる。しかしながら、ＤＵＴ１０１は更に直列ＬＳＳＤ入力リード２０４および直列ＬＳＳＤ出力リード２０５を含み、ラッチ２０３―１ないし２０３―Ｎがこれらの間に直列に接続されている。図２は、ラッチ２０３―１ないし２０３―Ｎの単一チェーン、ならびにリード２０４，２０５のような、ＬＳＳＤ入力および出力リードの単一対のみを示すが、ＤＵＴ１０１は、ＤＵＴ１０１内部のいずれの所望の位置にも論理レベルを一時的に格納するラッチを含むＬＳＳＤチャネルを、いずれの所望数でも有することができるという点は理解されよう。かかるＬＳＳＤチャネルは各々、ラッチ２０３―１ないし２０３―Ｎのような複数のラッチやＬＳＳＤ入力および出力リード２０４，２０５、ならびに関連する入力バッファおよび出力バッファを含む。かかるＬＳＳＤチャネルを利用することにより、ＤＵＴ１０１の正常な並列データ入力動作を中断することができ、一方かかるラッチの内容は、ＬＳＳＤ入力リード２０４からの直列入力信号においてリップルさせ（ｒｉｐｐｌｅ）、ＬＳＳＤ出力リード２０５上で順次各ＬＳＳＤレジスタ２０３―１ないし２０３―Ｎの内容を読み取ることによってプリセットされる。これによって、検査システムは、ＤＵＴ１０１内部の所望の場所にデータ値をプリセットすることができ、入力リード２０１―１，２０１―Ｎに印加される並列入力検査ベクトルに応答してかかるデータ値をプリセットする必要はない。
【０００７】
ＤＵＴ１０１の正常な並列入力信号動作は、前述のように、検査ベクトル・データ・メモリ１０７を利用して行われ、メモリ１０７は並列検査ベクトルを並列入力リード２０１―１ないし２０１―Ｎに印加する。しかしながら、図３に示すように、ＬＳＳＤ入力および出力リード３０２，３０４を用いてＤＵＴ１０１を検査することが望まれる場合、別個の直列ＬＳＳＤ入力メモリ３０５―１およびＬＳＳＤ出力メモリ３０５―２を用いる。ＬＳＳＤ検査の間、ＬＳＳＤチャネル当たり１ビット幅で、通常約１００Ｍビット深さとなるように構成されているＬＳＳＤ入力メモリ３０５―１の内容は、順次ＬＳＳＤ入力リード３０２に印加される。同時に、ＬＳＳＤチャネル内のラッチの内容がＬＳＳＤ出力リード２０４上に順次出力され、予想ＬＳＳＤ出力メモリ３０５―２と比較される。メモリ３０５―２は、ＬＳＳＤチャネル当たり１ビット幅であり、通常ＬＳＳＤ入力メモリ３０５―１と同じ深さを有する。
【０００８】
しかしながら、このＬＳＳＤ検査を行う従来技術の技法は、追加のメモリ３０５―１，３０５―２の使用を必要とするため、検査システムのコスト上昇および複雑度の増大を招くことになる。
【０００９】
米国特許第５，６０６，５６８号は、更に、ＬＳＳＤデバイスの並列入力検査ベクトル検査および直列ＬＳＳＤ検査ベクトル検査双方に用いる単一のメモリについても記載している。この特許はメモリを示し、直列走査チェーンおよび並列ベクトル双方がメモリ全体に分散されており、データで満たされていない大きなメモリ・ブロックを有する。このメモリは、メモリに再ロードするのに必要な時間を短縮するために用いられるシステムの一部であった。このメモリは、メモリ空間を効率的に用いていないという欠点がある。再ロード時間を短縮するために、空間効率を犠牲にしている訳である。
【００１０】
テスタが並列検査モードおよび走査検査モード双方を有することができ、空間の使用効率が高く、集積回路の検査を経済的かつ効率的に行えるように高速に並列および走査ベクトルを検査システムに供給する、単一のメモリを有する検査システムが求められている。
発明の概要
半導体検査システムは、走査検査モードおよび並列検査モードを有する。単一のメモリが、その実質的に全ての記憶空間を用いて、ａ）並列検査モード中に用いる並列検査ベクトル、ならびにｂ）走査検査モード中に用いる並列検査ベクトルおよび走査検査ベクトルを格納する。スイッチを用いて、並列検査モードから走査検査モードに切り替える。単一のメモリに結合されているパターン発生器が、並列検査モード中に用いられる並列検査ベクトル、ならびに走査検査モード中に用いられる並列および走査検査ベクトルを操作（ｍａｎｉｐｕｌａｔｅ）する。
【００１１】
走査検査モードの速度は、メモリをインターリーブし、メモリから並列に検査ベクトルを読み出すことによって高められる。更に、多数の走査チェーンを形成し、これらを被検査素子（ＤＵＴ）の多数のピンに適用することによって、処理時間を短縮する。最後に、走査チェーン・データをＤＵＴのピンに供給するバスのクロック速度は、バスに転送される走査チェーン・データを多重化することによって高められる。
発明の詳細な説明
図５は、並列検査モードおよび走査検査モード双方に用いられる単一のメモリを有する検査システムを示す。バルク・メモリ５００には、並列検査モードにおける並列検査ベクトル、ならびに走査検査モードにおける並列および走査検査ベクトルの混合が詰められている。従来技術において記載したように満たされないままとなっているメモリ・エリアはない。４Ｍｘ１９２ビットのデータ・ワードが、４つの１Ｍ区域（セクション）５０２ａないし５０２ｄに分離されており、これらの区域が並列にインターリーブ状に動作することができる。このようにして、データを４倍速く読み出すことができる。例えば、並列検査ベクトルは、区域５０２ａないし５０２ｄから同時に、並列ベクトル・コントローラ５０４に読み出される。送られる各１９２ビット・データ・ワードには、６４個の３ビット並列検査データ・ワードがある。並列ベクトル・コントローラ５０４は、メモリ５００からの３２個の１９２ｘ４（即ち７６８）ビット並列ベクトル・データ・ワードを保持するバッファ５０５を有する。並列検査データ・ワードは、各々、３ビットであり、したがってチャネル当たり８つの並列検査ベクトル状態を与える。並列ベクトル・コントローラ５０４は、バス５２３を通じて、ＤＵＴ５１４におけるチャネル５０８―１ないし５０８―６４に対し、３ビットの並列検査データ・ワードを６４チャネル・ピン（即ち、入力、出力、またはその他とすることができる）５０６―１ないし５０６―６４の各々に供給する。チャネル５０８―１ないし５０８―６４は、各ピンに関連するロジックを示す。ピン電子回路およびタイミング回路は、図２の従来技術と同様に、５０７―１ないし５０７―６４（図示せず）として設けられる。
【００１２】
走査コントローラ５１２は、メモリ５００から受け取った３２個の１９２ｘ４（即ち、７６８）走査検査ベクトル・データ・ワードを保持するバッファ５１３を有する。加えて、走査コントローラ５１２は、１６個の交互データ・バス・レジスタ５１４―１ないし５１４―１６を有し、走査チェーンのデータを格納する。交互データ・バス・レジスタの数は、顧客によって選択可能であり、１６までの数であればいずれでもよい。例えば、図５では、５つの交互データ・レジスタ１ないし５は、５つの走査チェーンを形成するように選択される。５つの走査チェーン・データ・ワードの各々は、３ビットである。これらの区域は各々交互データ・レジスタ１―５に読み込まれ、３ビットはレジスタ１ないし５の各々に行く。最初の１５ビット・グループがバッファ５１３から転送された後、２番目の１５ビットのグループが転送され、７６８ビット・バッファ内の１５ビット・グループの全てを使い切るまでプロセスは継続する。バッファ５１３から１５ビット区域の全てを排出し終えた場合、バッファ内の３２個のワードから次の連続する７６８ビット・ワードを読み込む。交互データ・レジスタ１ないし５は、ビットをそれぞれの走査チェーンに直列に渡し続ける。３ビット走査検査データ・ワードの各々は、走査入力（ｓｃａｎ―ｉｎ）において用いられる１データ・ビット、走査出力（ｓｃａｎ―ｏｕｔ）において用いられる１予想（期待）ビット、および未知データを隠蔽（ｍａｓｋ  ｏｕｔ）するために用いられる１マスク・ビットを有する。また、２ビットの走査検査データ・ワードを用いることも、当技術分野の知識の範囲内である。マスク・ビットを省略し、２４走査チェーンを可能にしてもよい。
【００１３】
交互データ・レジスタ１―５内の１５ビットのデータは、１５本のデータ・ラインを通じて２：１マルチプレクサに転送される。合計で４８本のデータ・ラインがあり、１６個の交互データ・レジスタに用いることができるが、図示の例では、５つの走査チェーンのために１５個のみを用いている。他の３３本のラインは未使用である。マルチプレクサ５１６は、ライン当たり２ビットを多重化するので、走査チェーン・データを交互データ・バス５１８に搬送するラインの総数は４８から２４に減少する。交互データ・バス５１８には、各チャネルに向かう２４本のラインがある。これによって、バス５１８は、５０ＭＨｚで動作する８つの走査チェーン（即ち、各チャネル毎に、走査入力および走査出力チャネル）を搬送することが可能となる。これは、２５ＭＨｚの１６チェーンで動作するバスの速度の２倍である。これは、本発明の特徴の１つであり、走査検査データ・ワードの転送を高速化し、大きなチップの走査検査を経済的に行うことを可能にするものである。
【００１４】
パターン発生器５２０は、それぞれ、並列ベクトル・コントローラ５０４および走査コントローラ５１２への並列および走査検査ベクトル・データ・ワードの流れを規制する。走査検査ベクトルおよび並列検査ベクトルは関連があり、メモリ５００から読み出すときに調整する必要がある。この関係が生ずるのは、各３ビット走査検査データ・ワード（即ち、交互データ・レジスタにおける）の１ビットが予想ビットを有し、走査検査の間これを用いて並列検査ベクトル出力の予想値をチェックするからである。パターン・プロセッサ５２０は、それらの関係を維持するように、走査および検査ベクトル双方の位置および検索を制御する。検査中、並列検査ベクトル・データ・ワードが並列検査コントローラ５０４のバッファ内に無くなると、別の並列検査ベクトル・データ・ワードを要求する。これらのワードが要求されると、走査コントローラ５１２も更に関連する走査検査ベクトル・データ・ワードを要求する。
【００１５】
ＤＵＴ５１４、例えば、Ｐｅｎｔｉｕｍ（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ（インテル社）の商標）プロセッサの中には、１，０００，０００個を超えるフリップフロップ（これ以後ｆｆ。ラッチまたは記憶素子としても知られている）５２２―１ないし５２２―ｎがある。６４個の並列検査チャネル５０７―１ないし５０７―６４が、並列検査に用いるＩ／Ｏピンを駆動する。並列ベクトル・コントローラ５０４は、バス５１８を通じて３ビット・ワードを６４個のチャネル５０７―１ないし５０７―６４の殆どに供給する。チャネルの中には、他の目的に用いるものもある。
【００１６】
走査検査では、ＤＵＴは、全てのｆｆを直列に接続する内部回路を有する。これを、走査ベクトルと呼ぶ。６４個のチャネル５０７―１ないし５０７―６４を用いて、走査検査に用いるＩ／Ｏピンを駆動する。走査検査では、並列ベクトル（即ち、スイッチ）から、入力チャネル５０８―１ないし５０８―６４の１つに信号を供給し、これによってＤＵＴ５１４を走査モードに切り替え、ｆｆ全てをｆｆロジック・チェーン（即ち、走査ベクトル）に配する。この入力信号は、必要なときに、並列状態に戻すためにも用いられる。交互データ・レジスタ１ないし５からの５つの走査チェーンの例を用いると、ユーザは、６４個のチャネル５０８―１ないし５０８―６４のどれが走査チェーンを受け取るのか指定することができる。１つのチャネルは、走査ビットに用いられ、第２チャネルは走査出力ビット（即ち予想ビット）に用いられる。例では、１０チャネルが用いられる。例えば、図５に示すチャネル１、５０８―１が最初の走査チェーンを受け取るように選択することができる。走査入力ビットは入力５０６―１に印加される。３番目のチャネル５０８―３は、走査出力チャネルとなるように選択することができる。予想ビットは入力５０６―３に印加される。図５においてチャネル５０８―１および５０８―３上に示す走査入力および走査出力の矢印は、チャネルの走査検査への切り替えを示す代表的な目的で示すに過ぎない。
【００１７】
走査検査における第１段階は、直列ｆｆのチェーンを介して走査チェーンを印加し、ｆｆの全てに既知の状態を設定することである。走査入力ビットを１サイクルで駆動してゲート５２２―１に入力し、既知の状態をゲート５２２―１に与える。次の２つのクロック・サイクルで、ビットを駆動してゲート５２２―２および５２２―３に入力する。これも走査出力チャネル５０８―３である。これによって、直列ｆｆの全てを既知の状態に設定する。次に、全てのｆｆを走査検査状態から並列検査状態に切り替える。並列ベクトル・コントローラ５０５およびバス５２３からの次の並列検査ベクトルが、走査検査に用いられる各チャネルの入力に印加されるので、チャネル入力はわかる。並列検査ベクトルは、１つ以上のサイクルで駆動され、チャネルの各々を通過し、各出力ｆｆの状態を変化させることができる。次に、ｆｆを再度走査検査状態に切り替え、走査チェーンがｆｆの各々の状態を循環させる（即ち、並列検査出力）。出力状態を、走査検査ベクトルからの予想出力ビットと照合する。例では、このチャネルは５０８―３である。これによって、集積回路が論理的に正しいか否かについての指示が得られる。システム・プログラマは、メモリ５００のデータ構造を確定し、関連する並列検査ビットを用いて正しい予想ビットを調整する。また、ｆｆを既知の状態にリセットし、次の検査に備える。走査ベクトルの長さは、チャネル１および３間の全直列ｆｆとなる。
【００１８】
動作において、検査に先立ち、並列および走査検査を設計し、パターン・プロセッサ５２０内にプログラムする。検査を並列検査とするのかまたは走査検査とするのかについて判断を下す。検査を並列検査とする場合、検査を行う前に、並列検査ベクトルのみをメモリ５００にロードする。並列検査では、多くの並列検査ベクトルを用い（即ち、数百万程度）、メモリ全体が満杯となる。検査を走査検査とする場合、検査に先立って並列および走査検査ベクトルをメモリ５００にロードする。走査検査では、少数の並列検査ベクトルを用いる（即ち、１００，０００）。しかしながら、数百万程の多数の走査検査ベクトルを用いる。並列検査および走査検査は双方とも大容量メモリを必要とするので、並列検査モードおよび走査検査モードを有するテスタに、１つのメモリを用いることが可能である。走査検査および並列検査双方を有する従来技術のテスタは、２つの大容量メモリを用いている。
【００１９】
検査を走査検査とする場合、ＩＣは、ロジックがその正常な動作を実行する並列動作モードから、ｆｆが直列走査チェーンを形成する走査検査モードに切り替えることができるように設計しなければならない。走査モードに必要な余分な回路は、集積回路の約１５％である。前述のように、検査状態間の切り替えは、入力チャネルの１つへの入力信号によって行われる。
【００２０】
ロード手順は、例えば、２０分もの長時間を要するが、ロードは、検査対象の個々の集積回路の種類毎に１回だけ行えば済む。そして、数千もの同様の回路を検査する。一旦ロードが完了し、走査検査を選択したなら、検査を開始する用意が整ったことになる。パターン・プロセッサは、走査検査を開始し、メモリ５００から読み取った並列および走査検査ベクトルを並列ベクトル・コントローラ５０４のバッファ５０５に、更に走査コントローラ５１２のバッファ５１３に供給する。
【００２１】
最初に、切り替えチャネル上に入力を供給し、ｆｆを走査検査状態に切り替える。例における５つの走査チェーンの各々について、走査入力チャネルおよび走査出力チャネルとして選択したチャネルをイネーブルする。走査入力チャネルおよび走査出力チャネルとして選択したチャネルは、ＩＣピンのどのグループを検査したいかに応じて選択する。最初に、直列ｆｆのチェーンを介して走査チェーンを印加し、ｆｆの全てに既知の状態を設定する。次に、ｆｆを全て並列検査状態に再度切り替える。
【００２２】
並列検査ベクトルは、並列ベクトル・コントローラ５０４において、６４個の３ビット・ワードに分離され、走査検査に用いられている６４個のチャネル５０８―１ないし５０８―６４のいずれかに供給される。これらのチャネルは各々、検査すべきＩＣロジックの一部を含む。パターン発生器５２０内のクロックが、少なくとも１つの並列検査ベクトルを、各チャネルのロジックに循環させる。通常、数個のベクトルを駆動してロジックに入力する。この時点において、各チャネルの出力ｆｆには新しい出力状態が生ずる。次に、検査を走査検査状態に再度切り替え、走査検査を開始する。
【００２３】
バッファ５１３は、１５個のビット・グループを交互データ・バス・レジスタ５１４―１ないし５１４―５に送る。各交互データ・バス・レジスタは、１つの走査チェーンを表わし、当該チェーンの３ビット走査検査データ・ワードをマルチプレクサ５１６に供給する。これによって１５ビット・ワードを構成し、マルチプレクサ５１６において２：１に多重化され、バス５１８上に置かれ、走査入力チャネルおよび走査出力チャネルに送られる。選択した５つのチャネルの各々について走査チェーンが完了するまで、走査制御５１２は走査検査入力ワードを供給し続ける。各チャネルの出力ｆｆ内の並列検査データは、選択した５つの走査出力チャネルの各々からリップル状に出力される。次に、並列検査出力データを、関連する走査ワードからの予想ビットと比較する。これによって、集積回路のロジックに欠陥があるか否かが示される。同時に、走査チェーンは、既知の値で出力ｆｆをリセットし、次の検査に備える。これは、百万単位の検査サイクルにわたって継続する場合もある。通常、Ｐｅｎｔｉｕｍプロセッサのような大型の集積回路では、検査に０．６ないし２０秒を要する可能性がある。
【００２４】
本発明の特徴の１つは、同一メモリを用いて、並列検査モード中の全並列検査ベクトル、ならびに走査検査モード中の全走査検査ベクトルおよび並列検査ベクトルを格納することである。ベクトルはメモリ内にパックされ（詰め込まれ）、メモリ内の全空間を利用する。顧客は走査検査のための走査回路を内蔵した部品、および走査検査回路を内蔵しない別の部品を有する場合があるので、１つのマシンで双方の検査モードを有することができるのは重要である。これらは、双方の種類の部品を検査するマシンが必要となる。双方の種類の検査に大量の検査ベクトルを保持する同一メモリを用いれば、これは価格効率的に可能となる。
【００２５】
従来技術の一実施形態では、２つの別個のメモリを用い、１つを並列検査モード、１つを走査検査モードとしていた。別の従来技術の実施形態では、１つのメモリを用いるが、効率的に詰め込まれておらず、メモリ内に大量の未使用空間が放置されていた。これは、メモリ内に限られた数のベクトルのみを配し得るに過ぎないことを意味する。
【００２６】
加えて、並列および走査ベクトルをメモリから検査回路に読み出す速度は、本発明にとって重要である。検査ベクトルは、チップを素早く検査可能とする速度で検査回路に供給する必要がある。これによって、多大な投資を行った機器が、高いスループットを有することが可能となる。これを達成するために、メモリを、インターリーブが可能な４つの区域５０２ａないし５０２ｄに分離することにより、データを４倍高速に読み出すことが可能となる。また、ＤＵＴ内の直列走査チェーンは、例えば、１，０００，０００ゲートというような大型チップでは、非常に長くなる可能性があるので、完了するには多くのクロック・サイクルを要する。本発明においては、走査コントローラ５１２を用い、１６個の別個の交互データ・バス・レジスタ５１４―１ないし５１４―１６に分離することにより、これらが並列に動作し１６倍速く走査検査を実行可能となるので、この時間が短縮する。更に、２：１マルチプレクサ５１６を用いることにより、交互データ・バス５１８に向かうワイヤ数を４８本から２４本に減らすことによって、速度は更に上昇する。これによって、バスは５０ＭＨｚという、２倍の速さで動作することができ、実行時間の短縮がもたらされる。
【００２７】
以上１枚のボード上で６４チャネル用いた場合について本発明を説明してきたが、検査システムは、多数のボードを用いることによって拡張することができる。例えば、１６枚のボードでは、非常に大型のＩＣに１０００個の検査チャネルを与えることになろう。加えて、走査チェーンを数枚のボードに広げ、１つのボード上に走査入力チャネル、別のボード上に走査出力チャネルを有することも可能である。
【００２８】
高速化を図る第２の理由は、顧客が並列検査中にデバイスの速度で検査ができることを要望するためである。顧客は、並列検査の間クロック速度を制御することによって、これを行うことができる。
【００２９】
以上本発明の好適な実施形態について示しかつ記載してきたが、多数の変形および代替実施形態が当業者には想起されよう。したがって、本発明は、請求の範囲に関してのみ限定されることを意図するものである。
【図面の簡単な説明】
【図１】  従来技術による集積回路検査装置を示す図である。
【図２】  従来技術による集積回路検査装置のパターン・プロセッサおよび並列検査ベクトル・メモリの構成を示す図である。
【図３】  従来技術の集積回路検査装置の直列検査ベクトル・メモリ構成を示す図である。
【図４】  従来技術による直列集積回路検査装置のための支援装置を示す図である。
【図５】  並列検査モードおよび走査検査モードを有する本発明の集積回路検査システムの概略図である。
【図１】
0004252726.tif 000002
【図２】
0004252726.tif 000003
【図３】
0004252726.tif 000004
【図４】
0004252726.tif 000005
【図５】
0004252726.tif 000006