(57)【特許請求の範囲】
【請求項１】
少なくとも１つのスキャン・チェーンを介してアクセス可能なデータ及びアドレス線を備えた埋め込み式メモリを有する半導体デバイスのためのテスタであって、
（ａ）複数の出力信号をパラレルに発生するアルゴリズム・パターン発生器と、
（ｂ）それぞれが、テスト対象デバイスのテスト・ポイントにおいて信号を駆動又は受け取ることが可能な、複数のチャネルと、
（ｃ）複数のシリアライザ回路であって、それぞれが、
ｉ）複数のデータ入力、少なくとも１つのデータ出力、及び制御入力を有するマルチプレクサであって、前記複数のデータ入力は、前記アルゴリズム・パターン発生器の前記複数の出力信号に接続され、前記出力は、前記複数のチャネルの１つに結合されている、マルチプレクサと、
ｉｉ）複数のアドレス線を備えたアドレス入力、及び前記マルチプレクサの前記制御入力に結合されたデータ出力とを有するメモリと、
を含む複数のシリアライザ回路と、
（ｄ）複数の第２のマルチプレクサであって、それぞれが複数のデータ入力とデータ出力とを有し、前記複数の第２のマルチプレクサの前記データ出力は、前記メモリの前記アドレス入力に接続され、前記データ入力は、前記アルゴリズム・パターン発生器からの前記複数の出力信号の少なくとも一部分に接続されている、複数の第２のマルチプレクサと、
を備えたテスタ。
【請求項２】
前記メモリの前記アドレス入力に結合されたカウンタを更に備えている、請求項１記載のテスタ。
【請求項３】
スキャン・チェーンの長さに基づいて前記カウンタを設定する手段を更に備えている、請求項２記載のテスタ。
【請求項４】
前記メモリは、前記アルゴリズム・パターン発生器からの前記複数の出力信号と前記埋め込み式メモリの前記データ及びアドレス線のスキャン・チェーンにおける順序との間のマッピングを記憶する、請求項１記載のテスタ。
【請求項５】
ａ）パターン・メモリを更に備えており、
ｂ）前記チャネルの一部分は、前記シリアライザ回路の１つの出力と前記パターン・メモリの出力との間で選択を行うように構成されたマルチプレクサを含む、請求項１記載のテスタ。
【請求項６】
シリアライザ回路の数は、チャネルの数よりも少ない、請求項１記載のテスタ。
【請求項７】
少なくとも１つのスキャン・チェーンを介してアクセス可能なデータ及びアドレス線を備えた埋め込み式メモリを有する半導体デバイスのためのテスタであって、
（ａ）複数の出力信号をパラレルに発生するアルゴリズム・パターン発生器と、
（ｂ）それぞれが、テスト対象デバイスのテスト・ポイントにおいて信号を駆動又は受け取ることが可能な、複数のチャネルと、
（ｃ）複数のシリアライザ回路であって、それぞれが、
ｉ）複数のデータ入力、少なくとも１つのデータ出力、及び制御入力を有するマルチプレクサであって、前記複数のデータ入力は、前記アルゴリズム・パターン発生器の前記複数の出力信号に接続され、前記出力は、前記複数のチャネルの１つに結合されている、マルチプレクサと、
ｉｉ）複数のアドレス線を備えたアドレス入力、及び前記マルチプレクサの前記制御入力に結合されたデータ出力とを有するメモリと、
を含む複数のシリアライザ回路と、を備え、
（ｄ）前記アルゴリズム・パターン発生器の前記複数の出力信号は、前記複数のシリアライザ回路のそれぞれのマルチプレクサの前記複数のデータ入力にバスを介して接続される、テスタ。
【請求項８】
前記複数のチャネルの一部分は、信号を駆動するように構成され、前記複数のチャネルの一部は、信号を受け取るように構成されている、請求項１記載のテスタ。
【請求項９】
少なくとも１つのスキャン・チェーンを介してアクセス可能なデータ及びアドレス線を備えた埋め込み式メモリを有する半導体デバイスのためのテスタであって、
（ａ）アルゴリズム・パターン発生器と、
（ｂ）それぞれが、テスト対象デバイスのテスト・ポイントにおいて信号を駆動又は受け取ることが可能な、複数のチャネルと、
（ｃ）メモリを含む複数のシリアライザ回路と、
から構成されており、
ｉ）シリアライザ回路内の前記メモリに、前記埋め込み式メモリのデータ及びアドレス線がスキャン・チェーンにおいて接続されている順序を示すデータをロードするステップと、
ｉｉ）チャネルを、前記スキャン・チェーンに接続されたテスト対象半導体デバイス上のテスト・ポイントに接続するステップと、
ｉｉｉ）前記アルゴリズム・パターン発生器を、前記埋め込み式メモリの前記アドレス及びデータ線に対する値のストリーム発生するように、動作させるステップと、
ｉｖ）前記シリアライザ回路を、前記メモリにロードされたデータによって特定される順序に従って、前記アドレス及びデータ線に対する前記値を前記チャネルまで経路決定（ルーティング）するように選択させるように動作させるステップと、
を含む方法に従って動作される、テスタ。
【請求項１０】
ａ）複数の出力を有するパターン・メモリと、
ｂ）前記複数のチャネルの少なくとも一部分に接続されており、前記パターン・メモリの前記複数の出力の１つ、前記複数のシリアライザ回路の１つの出力、及び前記アルゴリズム・パターン発生器の値のストリームの間で選択を行うように構成された複数のマルチプレクサと、
を更に備えている、請求項９記載のテスタ。
【請求項１１】
ａ）複数の出力を有するパターン・メモリと、
ｂ）前記複数のチャネルの少なくとも一部分に接続されており、前記パターン・メモリの前記複数の出力の１つと前記複数のシリアライザ回路の１つの出力との間で選択を行うように構成された複数のマルチプレクサと、
を更に備えている、請求項９記載のテスタ。
【請求項１２】
前記シリアライザ回路と前記パターン・メモリとからデータを同時に提供する方法に従って動作される、請求項１１記載のテスタ。
【請求項１３】
少なくとも１つのスキャン・チェーンを介してアクセス可能なデータ及びアドレス線を備えた埋め込み式メモリを有する半導体デバイスのためのテスタであって、
（ａ）前記埋め込み式メモリに与えられるアドレス・ビットとデータ・ビットとのパターンをアルゴリズム的に発生する手段と、
（ｂ）データ入力と出力とを備えたドライバを有する第１のチャネル回路と、
（ｃ）信号入力と、データ入力と、出力とを備えたコンパレータを有する第２のチャネル回路と、
（ｄ）前記パターンをアルゴリズム的に発生する手段の出力を受け取り、プログラム可能な順序に従って、前記アドレス・ビットとデータ・ビットとを前記第１のチャネルの前記データ入力にシーケンシャルに与える第１の手段と、
（ｅ）前記パターンをアルゴリズム的に発生する手段の出力を受け取り、プログラム可能な順序に従って、前記アドレス・ビットとデータ・ビットとを前記第２のチャネルの前記データ入力にシーケンシャルに与える第２の手段と、
（ｆ）それぞれが、制御入力と、複数の入力線と、出力線とを有する複数のマルチプレクサと、
から構成される、テスタ。
【請求項１４】
前記第１の手段は、前記プログラム可能な順序に関するメモリ記憶情報を備えている、請求項１３記載のテスタ。
【請求項１５】
アドレス入力を前記メモリに提供するカウンタを更に備えている、請求項１４記載のテスタ。
【請求項１６】
ａ）  ｉ）前記複数の入力線の第１の部分は、前記カウンタに接続され、
ｉｉ）前記複数の入力線の第２の部分は、前記パターンをアルゴリズム的に発生する手段からの出力を受け取るように接続され、
ｉｉｉ）前記マルチプレクサの前記出力線は、前記メモリのアドレス入力に接続され、
ｂ）前記複数のマルチプレクサの前記制御入力に接続されたプログラム可能な制御レジスタと、
を更に備えている、請求項１５記載のテスタ。
【発明の詳細な説明】
本発明は、広くは、テストのための半導体素子に関し、更に詳しくは、メモリを含む半導体素子のテストに関する。
半導体は、一般に、その製造の間に、完全にテストがなされる。自動テスト装置（一般に、「テスタ」と称される）が、半導体デバイスをテストするのに用いられる。テスタは、多くの信号を発生し測定することができる。それぞれの信号は、テストがなされているデバイス上の１つのリード線に接続される。それぞれの信号は、任意のデバイスをテスタに接続してテストすることができるように、プログラムすることができる。
ＶＬＳＩ半導体回路のためのテスタは、多くのチャネルを含む。現在のテスト・システムのほとんどにおいて、それぞれのチャネルの回路は、１つのテスト信号を発生又は測定し、それぞれのチャネルは、独立にプログラムすることが可能である。
図１には、ブロック図形式で、従来技術によるＶＬＳＩテスタ１３０が示されている。テスタ１３０は、多くのドライバ１３６又はコンパレータ１３８を含んでおり、それぞれが、テスト対象である半導体デバイス（device under test = DUT）１１２の１つのリード線１１６に接続されている。
ドライバ１３６又はコンパレータ１３８は、それぞれが、１つのチャネルを表している。図１には、１つのドライバ１３６又は１つのコンパレータ１３８が、それぞれのチャネルを構成している様子が示されている。より多くの場合には、すべてのチャネルは同一であり、任意の時点において、テスト信号を駆動又は測定するようにプログラムすることができる。また、それぞれのチャネルは、信号が測定される又はＤＵＴ１１２に与えられる時間を制御するようにプログラムすることができる回路を含む。この回路は、どれも、簡略にするために、図示されていない。
ベクトル・パターン・メモリ１３２は、テスト・パターンを記憶する。テスト・パターンは、ベクトルの列又はパターンで構成されている。ベクトルは、テスタ１３０のすべてのチャネルに対するデータ値の組である。テスタ１３０内部のタイミング回路（図示せず）によって、テスタの動作の各サイクルに対して１つのベクトルが実行されることが保証される。ベクトルの実行とは、データがベクトル・パターン・メモリから読み出され、すべてのチャネルの動作を制御するのに用いられることを意味する。図１には、ベクトル・パターン・メモリ１３２からの値がドライバ１３６及びコンパレータ１３８に与えられることが示されている。
コンパレータ１３８の出力は、故障プロセッサ（failure processor）１３４に与えられる。ベクトル・パターン・メモリ１３２からのデータによって、ＤＵＴ１１２が適切に動作している場合には、コンパレータ１３８はどの値を検出すべきかが特定される。従って、コンパレータ１３８の出力が、ＤＵＴ１１２が故障しているかどうかを示す。故障プロセッサ１３４は、単に、これらの値を記憶するメモリにすることも可能である。故障プロセッサ１３４は、更に複雑な論理関数を実行し、テスタ動作の特定のサイクルの間にだけ、コンパレータ１３８からのデータを選択的に記憶することができる。簡略にするために、故障プロセッサ１３４の回路の詳細は、図示されていない。
図１は、半導体デバイスをテストする際の特定の問題を図解している。ＤＵＴ１１２は、オン・ボードのメモリ１１８及び１２０と論理部１１４とを含む。ＤＵＴ１１２の内部で、メモリ１１８及び１２０は、論理部１１４に接続されている。しかし、メモリ１１８及び１２０は、ＤＵＴ１１２のリード線１１６には接続されない多くのアドレス及びデータ入力を含む。従って、いったんＤＵＴ１１２のパッケージングがなされてしまうと、メモリ１１８及び１２０の入力及び出力へのアクセスは、不可能である。
図１には、この問題に対する可能性のある解決法が１つ示されている。特に、ときには「スキャン・テスト」（scan testing）として知られているものが図示されている。スキャン・テストのためには、ＤＵＴ１１２は、それぞれのメモリに接続されたスキャン入力リード線１１６in及びスキャン出力リード線１１６outを備えているように作成される。メモリ１１８及び１２０は、その内部入力又は出力線に接続された「スキャン・レジスタ」（図示せず）を備えているように作成される。スキャン入力リード線１１６inに与えられたデータは、スキャン・レジスタの中にシフトされる。このようにすれば、すべての入力線に対するデータを、１つのリード線を介して、シリアルなデータ・ストリームとして提供することが可能である。
このプロセスを、逆方向に反復して、メモリ１１８又は１２０の出力を測定する。メモリ１１８及び１２０の内部出力線上のデータ値は、スキャン・レジスタの中にラッチされる。これらの値は、一度に１ビットずつ、スキャン出力リード線１１６outを介して、シフト・アウトされる。
テスタ１３０は、ほとんどどのようなタイプの信号であっても発生するように、高度にプログラム可能である。従って、要求されるデータをシリアル・ストリームとして提供し測定値を分析するベクトル・パターンを用いて、テスタ１３０をプログラムすることが可能である。このアプローチの短所は、メモリのためのテスト・プログラムを書くことが複雑であることが多い点である。
メモリの内部線は、通常は、論理線と同じ順序にはなっていない。例えば、メモリは、D0...D15と論理的に順序付けられた線を備えたデータ・バスを有することがありうる。また、A0...A7と論理的に順序付けられた線を備えたアドレス・バスを有することもありうるし、更に、いくつかの制御信号線を有する可能性もある。デバイスが設計されるときには、データ・バス、アドレス・バス及び制御信号に対応する線は、任意の順序の外観を呈することがありうるし、交互配置（インターリーブ）されていることがありうる。従って、シリアル・データ・パターンを発生することは、複雑になりうる。例えば、最初のビットがデータ・ビットD4であり、次のビットがアドレス・ビットA5である、などである。状況を更に複雑にするのは、メモリ１１８及び１２０が、その内部入力、出力及び制御線に関して、異なる物理的レイアウトをもちうることである。従って、メモリ１１８及び１２０が論理的に同等である場合であっても、テスト・メモリ１１８に書き込まれるベクトル・パターンが、メモリ１２０のテストに役立つ可能性は低い。
スキャン・テストを用いることとは別の選択肢として、図２に示されているように、それぞれのメモリに１つのポートを提供することがある。メモリの入力及び出力線は、リード線２１６を介して、アクセス可能でありうる。ＤＵＴ２１２は、リード線２１６の中のいくつかをメモリ２１８の内部線に接続可能となるように、構成することができる。これらのリード線は、ある時点では論理部２１４に接続を行うが、テストにだけ用いられる何らかの制御信号に応答して、メモリ２１８の内部線に接続するように切り換えることもできるという二重の目的を果たすことができる。
メモリ２１８に対してポートがいったん提供されれば、メモリ２１８のある位置と関連する全ビットを、同時に、読み出し書き込むことが可能である。
図２には、更なる強化が示されている。アルゴリズム・パターン発生器２５２が、テスタ２３０に含まれている。アルゴリズム・パターン発生器２５２は、一連のデータ値とメモリ２１８を完全にテストするためにこれらの値が読み出される又は書き込まれるべきメモ２１８内のアドレスとを発生する回路である。例えば、メモリは、そのメモリ内のすべての位置に、１と０とが交互に並ぶパターンを有するワードを書き込むことによって、テストすることができる。メモリ内の値が読み出されるときには、この同じパターンが反復されなければならない。次に、このパターンを、１の代わりに０を、０の代わりに１を配置することによって、反転させて、プロセスを反復させることができる。これらのパターンは、このパターンを有するデータを発生するようにプログラムされた回路によって、発生させることができる。現実のパターンが記憶されていることは必要ではない。しかし、このアプローチがうまくいくためには、ポートを介してメモリにアクセスが可能であることが必要である。
アルゴリズム・パターン発生器２５２をテスタ２３０に組み入れるためには、それぞれのチャネルにおいて、一連のマルチプレクサ２５０が用いられる。マルチプレクサ２５０は、「代替的データ・ソース」（alternative data source）マルチプレクサと称されることもあるが、それぞれのチャネルに対して、アルゴリズム・パターン発生器２５２からのデータとベクトル・パターン・メモリ２３２からのデータとの間での選択を可能にする。これらのマルチプレクサによって、アルゴリズム・パターン発生器２５２を任意のチャネルに接続することが可能となる。
以上から認識できるのは、アルゴリズム・パターン発生器とスキャン・テストとの長所を組み合わせることが非常に望ましいであろう、ということである。特に、メモリ・テストのために、テスタを迅速にプログラムできることが望ましい。また、メモリをテストする際に、ベクトルを記憶するために大量のベクトル・パターン・メモリを用いなくてもよいことが望ましい。更に、ＤＵＴ上の内部メモリへのアクセスのためにポートを設ける必要がないことが望ましい。しかし、これらの技術の効果を組み合わせても、結果として、高コストのテスタとはならないことが、必要である。
発明の概要
以上を鑑みて、本発明の目的は、埋め込み式メモリ（embedded memory）をテストするように単純にプログラムすることができる、半導体素子のためのテスタを提供することである。
また、本発明の目的は、埋め込み式メモリに対してスキャン・テスト信号を単純に発生することができるテスタを提供することである。
更に、本発明の目的は、テスト・プログラムの容易なデバッグを可能にするプログラミング・フォーマットを備えているメモリ・テストのオプションを、半導体素子のためのテスタに提供することである。
以上の及びそれ以外の目的は、データ・シリアライザ（data serializer）回路に接続されたパターン発生器を備えたテスタにおいて、達成される。データ・シリアライザ回路は、テスト・ワードを、テスト対象デバイスのスキャン・リード線に与えられるシリアル・ストリームに変換する。
ある実施例では、データ・シリアライザ回路は、パターン発生器の出力が、シリアル・データ・ストリームの任意の順序で現れることを可能にする選択回路を含む。
【図面の簡単な説明】
本発明は、以下で行うより詳細な説明と次の添付した図面とを参照することにより、よりよく理解される。
図１は、埋め込み式メモリを備えた半導体素子のスキャン・テストに用いられる、従来技術によるテスタのブロック図である。
図２は、埋め込み式メモリとテスト・ポートとを備えた半導体素子のテストに用いられる、従来技術によるテスタのブロック図である。
図３は、本発明によるテスタのブロック図である。
図４は、図３のデータ・シリアライザ回路のブロック図である。
好適実施例の説明
図３には、単純にアルゴリズム的に発生されたデータを用いて、埋め込み式（エンベッデッド）メモリ上でのスキャン・テストを実行することができるテスタ３３０が示されている。後に説明されるように、これらの特徴により、テスト・プログラムを短時間で開発することが可能となる。また、テスト・エンジニアがテスト・プログラムをデバッグしなければならないときに、時間が節約される。
テスタ３３０は、ベクトル・パターン・メモリ３３２と、故障プロセッサ３３４と、アルゴリズム・パターン発生器３５２とを有し、これらはすべて、従来技術の場合と同様である。やはり従来技術の場合と同じように、テスタ３３０は、ドライバ３３６とコンパレータ３３８とを含む多数のチャネルを有する。ドライバ３３６及びコンパレータ３３８のためのデータ・ソースは、代替的データ・ソース・マルチプレクサ３５０によって選択される。
しかし、テスタ３３０は、シリアライザ回路４１０を備えた複数のチャネルを有する。これらのチャネルは、テスト対象デバイス３１２上のスキャン入力リード線３１６in又はスキャン出力リード線３１６outに接続することができる。シリアライザ回路４１０は、アルゴリズム的に発生されたテスト・データを、スキャン・テストに用いるのに適切な形式に変換する。この変換のために、データは、スキャン・イン及びアウトのためのシリアル・データ・ストリームに変換されなければならない。更に重要なことに、シリアライザ４１０の出力におけるビットは、あるチャネルに接続されたスキャン・チェーン（scan chain）における特定のメモリをテストするのに要求される順序を有していなければならない。この理由により、それぞれのシリアライザ回路４１０は、テスト・パターンの所望のビットを所望の順序で加えることができるように、プログラム可能でなければならない。
図３は、４つのシリアライザ４１０が存在することを示している。シリアライザ回路の数は、本発明にとって重要ではない。１つのテスト対象デバイス上の複数のスキャン・チェーンからのデータを、同時にスキャン・イン及びスキャン・アウトすることを可能にするように、複数のシリアライザがあることが好ましい。好適実施例では、１６チャネルごとに１つのシリアライザ回路４１０が存在する。
従来技術の場合のように、アルゴリズム・パターン発生器３５２の出力は、アドレス部分とデータ部分とを含む。アドレス部分は、テスト対象メモリのアドレス線に与えられる信号を表す。データ部分は、テスト対象メモリのデータ線に供給されるデータを表す。例えば、アルゴリズム・パターン発生器３５２は、３２のアドレス線を発生する。これらのアドレス線は、バス態様で、それぞれのシリアライザに接続される。アルゴリズム・パターン発生器は、好適実施例では、２つのデータ線を提供する。従来技術によるテスタでは、テスト対象メモリのデータ線に接続されたそれぞれのチャネルは、１つのデータ線に接続されていた。これらのデータ線上の値を変化させることにより、そのデータ線に接続されたメモリ内のセルをテストすることができる。
図解されている実施例では、アルゴリズム・パターン発生器３５２からのアドレス線は、それぞれのシリアライザ回路４１０まで延びている。図３から分かるように、それぞれのシリアライザ回路４１０は、１つのチャネルと直列になっている。そのチャネルに対するアルゴリズム・パターン発生器からのデータ線もまた、そのシリアライザに入力される。
シリアライザ回路４１０は、アルゴリズム・パターン発生器３５２の出力を受け取るが、これは、テスト対象メモリに対するアドレスとデータ値とのストリング（string）である。例えば、単純なテスト・パターンは、テスト対象メモリ内の１つおきのワード（every other word）における最初のビットの値を交代させる。これは、従来技術において、データ線１に接続されたチャネルを最初のデータ線に接続させるようにテスタを構成することにより、行われていた。すると、他のすべてのデータ線に接続されたチャネルは、他のデータ線に接続されることになる。テストが進行するにつれて、アルゴリズム・パターン発生器が、シーケンシャルに増加するアドレスを出力する。それぞれの新たなアドレスに対して、最初のデータ線は反転する。このようにして、１つおきのワードの最初のビットが、反転される。
スキャン入力を介してアクセスする場合であっても、同じタイプのパターンを用いてメモリをテストすることができる。ただし、適切な値を適切な順序でスキャン入力に提供することが必要である。シリアライザ回路４１０が、この機能を実行する。図３に示されているように、シリアライザ４１０を含むチャネルにおける代替的データ・ソース選択マルチプレクサ３５０が、そのシリアライザの出力とアルゴリズム・パターン発生器３５２の出力とのどちらかを選択する。このようにして、テスタ３３０を、従来技術の場合のように動作させることも、シリアライザ４１０と共に動作するように構成することもできる。
図４を参照すると、シリアライザ４１０のブロック図が示されている。シリアライザ４１０は、複数のマルチプレクサ４１２を有するように示されている。ここでは、８つのマルチプレクサ４１２が示されている。マルチプレクサ４１２は、その入力として、アルゴリズム・パターン発生器３５２からのアドレス線を受け取る。シリアライザ制御レジスタ４１８が、アドレス線の中の８つがメモリ４２０へのアドレス入力として選択されるように、プログラムされる。
この好適実施例では、３２のアドレス線の中の８つの線上の値が、別個のアドレス・カウンタ４１４によって発生される。典型的には、これらの線は、マルチプレクサ４１２によって選択される。制御レジスタは、従来技術の場合と同様に、テスタ３３０を制御するコンピュータ・ワークステーションによってプログラムされる。
アドレス・カウンタ４１４は、オーバーライド（override）制御回路４１６によって制御される。オーバーライド制御回路は、スキャン・チェーンの長さを用いてプログラムされる。例えば、特定のテスト対象メモリが４Ｋｘ６４のメモリであれば、そのテスト対象メモリは、１２のアドレス線と、６４のデータ入力と、おそらく１つの制御信号とを有する。このように、そのパーツ（part）内部をスキャンするのに１つのピンが用いられる場合には、アルゴリズム・パターン発生器３５２によって発生されたそれぞれの値に対して、そのピンの中に、全体で７７の値が、スキャンされることが必要となる。カウンタ４１４は、スキャン・チェーンにおける値の数を数え上げる（カウント・アウトする）ように、オーバーライド制御回路４１６によって予め設定されている。
マルチプレクサ４１２の出力は、メモリ４２０へのアドレス入力である。メモリ４２０は、スキャン・チェーンにおけるレジスタの順序を用いてプログラムされる。メモリ４２０における最初の値は、アルゴリズム・パターン発生器３５２からの３４の線の中のどれが、そのスキャン・チェーンにおける最後のレジスタに対するデータを含むのか、を示す。メモリ４２０における次の値は、アルゴリズム・パターン発生器３５２からの３４の線の中のどれが、そのスキャン・チェーンにおける最後の１つ前のレジスタに対するデータを含むのか、を示す。以下同様である。
メモリ４２０には、テスタ３３０が特定のタイプの半導体素子をテストするように設定されるときに、必要な値がロードされる。テスタ３３０は、コンピュータ・ワークステーション（図示せず）によって制御される。テスタ３３０は、一般に、ある特定のタイプのパーツに対してテストを実行するように設定され、次に、そのタイプの複数のパーツがテストされる。この設定プロセスの一部分として、制御レジスタや、メモリ４２０などのメモリに、データがロードされる。メモリ４２０にロードされたデータは、テストされているパーツのタイプに特有のものであり、テスト対象メモリの内部アドレス及びデータ線がスキャン・チェーンにおいて接続されている順序に関する情報から、導かれる。
メモリ４２０の出力は、マルチプレクサ４２２を制御する。マルチプレクサ４２２は、アルゴリズム・パターン発生器３５２からの３４の線の中から適切な１つを選択して、それを、マルチプレクサ４２４及び４２６に送る。
マルチプレクサ４２４及び４２６の出力は、代替的データ・ソース選択マルチプレクサ３５０を介して、シリアライザを含むチャネルにおけるドライバ２３６又はコンパレータ２３８に至る。シリアライザ回路４１０が用いられているときには、マルチプレクサ４２４及び４２６は、マルチプレクサ４２２の出力を選択するように構成される。しかし、シリアライザ回路４１０は、制御を行っているマルチプレクサ４２４及び４２６によって効果的にディセーブル（動作不能）されることにより、データを、アルゴリズム・パターン発生器３５２から直接に通過させることもできる。
２つのマルチプレクサ４２４及び４２６は、従来技術との互換性のために与えられている。コンパレータを制御するのに、２つのデータ線が必要である。コンパレータは、入力が論理ハイ（HI）又はロー（LO）である場合に、その入力が予測されるものと一致することを示すように動作させることができる。これとは異なり、コンパレータを、「ドント・ケア」（don't care）状態に設定することもできる。これは、入力の値とは関係なく、その入力が予測される状態と一致することを示すという意味である。このように、これらの３つの可能性のある状態を表すのには、２ビットのデータが必要となる。すなわち、１ビットが、コンパレータが「ドント・ケア」状態にあるにちがいないかどうかを示し、残りの１ビットが、予測される値を示す。この「ドント・ケア」ビットは、アルゴリズム・パターン発生器３５２からの線の所定の１つの上に現れる。
シリアライザ４１０が、コンパレータを伴って構成されているチャネルで用いられるときには、マルチプレクサ４２６は、「ドント・ケア」ビットを通過させるように構成される。マルチプレクサ４２４は、マルチプレクサ４２２の出力からのデータ・ビットを通過させるように構成される。シリアライザ４１０がドライバを伴うように構成されているチャネルで用いられるときには、１データ・ビットだけが必要となる。従って、マルチプレクサ４２４及び４２６の出力は同一であり、両方のマルチプレクサは、マルチプレクサ４２２の出力を選択するように構成される。
マルチプレクサ４２４及び４２６は、出力制御レジスタ４２８から制御される。シリアライザ制御レジスタ４１８の場合のように、出力制御レジスタ４２８には、テスタ３３０が特定のテストのために設定されるときに、１つの値がロードされる。これらの値は、同様に、テスタ３３０を制御するコンピュータ・ワークステーション（図示せず）から送られる。
動作の際には、シリアライザ４１０によって、テスト対象デバイス３１２の上にメモリに対する限られた数のテスト・ポイントしか存在しないという事実にもかかわらず、アルゴリズム・パターン発生器３５２を用いて、埋め込み式メモリ３１８又は３２０をテストすることが可能となる。アルゴリズム・パターン発生器は、埋め込み式メモリに対するテスト・パターンを発生するように、容易にプログラムできる。実際、同じサイズであれば、どの埋め込み式メモリに対しても、同じプログラミングを用いることができる。そのプログラムは、一度に、開発及びデバッグが可能である。デバイスに左右されず多くのタイプのデバイスのテストに用いることができるプログラム作品を有することにより、著しいプログラム上の節約が達成できる。どのようなデバイスをテストするプログラムを書いたりデバッグしたりするのにも、必要となる時間が短縮される。
デバッグ時間については、更なる節約が得られる。シリアライザが用いられるときには、埋め込み式メモリのためのテスト・データは、論理的な態様で発生される。すべてのデータ線を、テスト対象メモリに現れる順序とは関係なく、論理グループごとに扱うことができる。同様に、アドレス線も、埋め込み式メモリにおけるアドレス線の物理的位置とは関係なく、グループとして扱うことが可能である。データ及びアドレス値が論理形式であるときには、テスト・プログラムをデバッグするのは、より容易であり、時間も短縮される。
それぞれのテストされている埋め込み式メモリにおけるそれぞれのスキャン・チェーンと関連するシリアライザ回路４１０は、別々にプログラムされる。シリアライザ回路４１０は、そのメモリ上で実行されるテストの数とは関係なく、それぞれのスキャン・チェーンに対して、１回プログラムされる。こうして、更なる節約が得られる。このような節約は、本発明の新規なアーキテクチャによって得られるものである。
以上で１つの実施例について説明したが、多くの別の実施例又は変更が可能である。例えば、マルチプレクサ４１２はカウンタから導かれる線を選択すると説明された。メモリ４２０のアドレシングをするのに用いられるすべての線が１つのカウンタから、すなわち、同一のカウンタから導かれることは必要でない。メモリ４２０は、８つのアドレス線を有することが示され、それによって、２５６ビットまでの長さのスキャン・チェーンを処理することが可能となっている。スキャン・チェーンがそれほどには長くない場合には、メモリ４２０を、更に、それ以外の機能のために用いることが可能である。１つの可能性のある機能として、従来技術の「トポ反転」（topo invert）機能をエミュレートすることがある。メモリによっては、そのメモリにおけるセルのいくつかが、電荷を蓄積することによって論理１を、電荷を蓄積しないことによって論理ゼロを表すように、設計される。別のセルでは、これとは逆のことを行うことにより、データを表す。アルゴリズム・パターン発生器３５２からの少なくとも１つの線が、データ値を示す。多くの場合に、データ線は、対（ペア）になって現れ、対の一方の線が最初のものの反転を表す。データが、電荷を蓄積することによって論理１を表すセルに与えられるときには、第１の線が用いられる。データが、電荷の不存在によって論理１を表すセルに与えられるときには、第２の線が用いられる。トポ線（topo line）と称される別の線が、特定のセルに対して、通常のデータが必要であるのか、反転されたデータが必要であるのかを示す。従来技術によるテスタは、トポ線に基づいてこれらの線の間で選択を行う別個の回路を含んでいた。２つの線の間での選択は、マルチプレクサ４１２に、トポ線を、メモリ４２０へのアドレス入力のいくつかとして選択させることによって、なされる。メモリ４２０は、トポ・ビットの値に基づいて、反転又はそうではない適切なデータ線を選択するようにプログラムされている。
メモリの特定のビット数やサイズは例示のために与えられているのであって、限定する意図はないことを理解すべきである。例えば、アルゴリズム・パターン発生器３５２からのデータ線が２より多くてもかまわない。
また、テスタのための好適なハードウェア・アーキテクチャが示されている。しかし、シリアライザ回路は、これ以外のアーキテクチャと共に用いることができる。例えば、チャネルが双方向的であることは必要ない。あるチャネルが信号を駆動し、あるチャネルが信号を受け取ることも可能である。
更に、シリアライザ回路４１０は、ベクトル・パターン・メモリを用いて実行されるテストに追加して用いることができることを理解すべきである。マルチプレクサ３５０は、シリアル化されたデータとベクトル・パターン・メモリからのデータとの間での切り換えに用いることができる。このようにして、素子のテストにおいて、大きな融通性を得ることができる。
更に、図３には、シリアライザ回路３１０は、アルゴリズム・パターン発生器だけからデータを受け取る様子が示されている。シリアライザが、他のソースからデータを受け取ることも可能である。例えば、シリアライザの入力を多重化することもできる。
また、シリアライザはアルゴリズム的に発生されたデータと共にのみ用いられると説明した。埋め込み式メモリは、一部をアルゴリズム的に発生されたデータを用いて、また一部をベクトル・パターンからのデータによってテストすることが可能である。例えば、データ及びアドレス信号は、アルゴリズム的に発生されるが、書き込み制御などの制御信号は、ベクトル・パターン・メモリから導かれうる。
従って、本発明は、請求の範囲の記載によって決定される精神と範囲とによってのみ、限界が画される。
【図１】
0004008041.tif 000002
【図２】
0004008041.tif 000003
【図３】
0004008041.tif 000004
【図４】
0004008041.tif 000005