(57)【特許請求の範囲】
【請求項１】
パターンジェネレータを備えるメモリデバイス用内蔵自己テスト回路であって、さらに、
テストパターンのコマンド部及びデータ部を生成するための有限状態機械と、
前記テストパターンのアドレス部を生成するためのアドレスジェネレータと、
前もって決められたアドレス変化のシーケンスに基づいて、前クロックサイクルのアドレスから前クロックサイクルに続くクロックサイクルのアドレスを予測するための予測ロジックと、
前記内蔵自己テスト回路と前記メモリデバイスとの間のバッファとして機能する出力バッファと、
予測されるメモリ応答を遅延させるための遅延バッファと、
前記メモリデバイスの出力応答と、前記遅延バッファにより供給される予測されるメモリ応答とを比較するための比較器とを備えて成り、
前記予測ロジックにより予測されたアドレスは、前記バッファが遅延させる前記予測されるメモリ応答を求めるために用いられ、
これにより前記メモリデバイスが正常に機能するかどうかを決定することができるメモリデバイス用内蔵自己テスト回路。
【請求項２】
前記メモリデバイスは静的ランダム・アクセス・メモリ（SRAM）を備えることを特徴とする請求項１記載の内蔵自己テスト回路。
【請求項３】
前記テストパターンが前記メモリデバイスにより決められた一連のメモリコマンドにより生成されることを特徴とする請求項１記載の内蔵自己テスト回路。
【請求項４】
複数のレジスタが前記有限状態機械と、前記アドレスジェネレータと、前記予測ロジックとの間に挿入されることを特徴とする請求項１記載の内蔵自己テスト回路。
【請求項５】
メモリデバイスをテストするための内蔵自己テスト回路内で使用されるパターンジェネレータにおいて、
少なくともテストパターンの、アドレス部と、データ部と、コマンド部とを生成するための有限状態機械と、
前記テストパターンのアドレス部を生成するためのアドレスコマンドにより駆動されるアドレスジェネレータと、
前もって決められたアドレス変化のシーケンスに基づいて、前クロックサイクルのアドレスから前クロックサイクルに続くクロックサイクルのアドレスを予測するための予測ロジックと、
を備えることを特徴とするパターンジェネレータ。
【請求項６】
前記有限状態機械との間に挿入されたアドレス・コマンド・レジスタと、
前記アドレスジェネレータと前記予測ロジックとの間に挿入された遅延アドレスレジスタと、
前記予測ロジックと前記有限状態機械との間に挿入された初期アドレスレジスタと、
をさらに備えたことを特徴とする請求項５記載のパターンジェネレータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テストとメモリのテストハードウエアに関するものである。さらに詳しくは、本発明は同一チップに埋め込められたメモリ用内蔵自己テスト回路に関するものである。
【０００２】
【従来の技術および発明が解決しようとする課題】
メモリは、チップまたはマスク上の塵粒子により引き起こされる損傷（掻き傷およびゲート酸化ピンホール）に対する製造プロセスを受けやすい。これらの損傷により開回路を生じたり、ショートを生じる。多くの方法やハードウエアが、メモリが正常に機能することができるかどうかをテストするために開発されてきた。しかしながら、集積回路技術が徐々に発達するにつれて、メモリの機能がさらに複雑になっている。結果として、メモリの機能テストを行うには、しばしば非常に長い時間がかかりかつ複雑な回路を必要とする。
【０００３】
上記問題を解決するために、メモリ用内蔵自己テスト（BIST）の技術が発達してきた。メモリ用内蔵自己テストにおいて、テストアルゴリズムは、テスト下でメモリに付与される一連のコマンド、データ、及びアドレスに翻訳される。従来、配線による有限状態機械（FSM）が翻訳過程を実行するために使用されている。高速テスト可能性を具備するために、BIST回路はテスト下でのメモリと同様の早さで作動する。この方式の欠点は、有限状態機械がテストパターンの特別なセット（複雑さがテストアルゴリズムに依存する）に合わせて作られていることである。テストアルゴリズムの複雑さが増大するにつれてこの方式は適当なものではないと言える。なぜなら、有限状態機械は非常に大きくかつ非常に遅くなるので、テスト下でのメモリを集中的に使用するための各クロックサイクルでのテストパターンを生成できないからである。
【０００４】
いくつかのBIST回路（プログラム可能または構成可能なBIST回路として知られている）としては、1992年に Dreibelbis 氏らにより開示された米国特許第 5173906号明細書「集積回路用内蔵自己テスト」を参照することができる。テストパターンを生成するためにリードオンリーメモリの内容に決められたマイクロコード化シーケンスを使用する回路を開示したものとしては、1993年に Popyack氏らによる米国特許第 5224101号明細書がある。米国特許第 5301156号明細書「埋設RAM用構成可能自己テスト」において、Talley氏らは、テストパターンまたは制御パターンを入力する（shift in）ために、かつ結果を出力する（shift out）ために、回路のアドレス、コマンド、及びデータ部を介して送られるシリアル経路を有する回路を開示している。各スキャンには数クロックサイクルを必要とする。
【０００５】
【課題を解決するための手段】
従って、本発明はメモリ（特にメモリデバイス）をテストするための回路及び方法を提供する。本回路は、パターンジェネレータと、内蔵自己テスト出力バッファと、遅延バッファと、比較器とを備える。パターンジェネレータは、さらに、３つのモジュールを備え、すなわち、テストパターンのデータ及びコマンドを生成するための有限状態機械と、アドレス計算を実行するためのアドレスジェネレータと、前もって決められたアドレス変化のシーケンスに基づいて、前のサイクルのアドレス情報から次のクロックのアドレスを予測するための予測ロジックとを備える。
【０００６】
本発明は、サイクリック・パス・ブレーキング・テクニックを使用する。複数のフリップフロップをパターンジェネレータの初期クリティカル・パスに挿入することにより、初期クリティカル・パスは複数のセグメントになる。よって、パターンジェネレータのクロックサイクル時間は、これらのセグメント内の最長クロックサイクル時間により支配される。しかしながら、フリップフロップは初期クリティカル・パスに挿入されているので、クロックサイクルは遅延する。この遅延したクロックサイクルを各フリップフロップの挿入により埋め合わせるために、予測ロジックが各フリップフロップ間に挿入される。結果として、フリップフロップの挿入により生じるレイテンシ（待ち時間）が解消し、その間パターンジェネレータのクロックサイクル時間が効果的に減少する。
【０００７】
前述の概略的記載及び以下の記載は、例示的および説明用のものであって、クレームされたように、本発明を制限するものではない。
【０００８】
【発明の実施の形態】
図１は、メモリデバイスをテストするための内蔵自己テスト回路のブロック図を示す。
図２から図４は、本発明による内蔵自己テスト回路におけるパターンジェネレータを発展させたものであって、図２は単純なパターンジェネレータであり、図３はリタイミング（retiming）後のパターンジェネレータであり、図４はパターンジェネレータの高速版である。
図５は、予測ロジックのマーチ（March）のアルゴリズム用状態遷移図である。
図６は、予測ロジックのためのレジスタ転送レベルコードを示している。
【０００９】
＜テストアルゴリズム＞
メモリデバイスのテストを行う一方で、高級言語にてプログラムとして書かれたテストアルゴリズムがしばしば提供されている。Ｒ行及びＣ列を備えるメモリデバイスがテストされると仮定すると、４つのステップがマーチのアルゴリズムには含まれている。第１ステップにて、‘０’が各セルに書き込まれる。第２ステップでは、前進により（すなわち、第１行の第１セルから最後行の最後セルへ）、全配列を巡回する。各セルにおいて、いわゆるリード（０）−ライト（１）−リード（１）操作が行われる。このリード−ライト−リード操作は、メモリセルの潜在的動的欠陥をよりよく表示することをねらいとして提供される。第３ステップでは、最後セルから最初セルへと全セルを巡回する。各セルにおいて、リード（１）−ライト（０）−リード（０）操作が行われる。このアルゴリズムの第４ステップにおいて、各セルの値が最初の３ステップの後においても依然ゼロであるかどうかをチェックする。
【００１０】
高級言語にてプログラムされたマーチのアルゴリズムの一例としては、以下に示されたものである。
0003667146.tif 000002
【００１１】
<内蔵自己テスト回路>
内蔵自己テスト回路が本発明において開示されている。図１に示すように、内蔵自己テスト回路は、パターンジェネレータと、内蔵自己テスト（BIST）回路出力バッファ（BOB）と、遅延バッファと、比較器とを備えている。
【００１２】
パターンジェネレータは、一連のテストパターンを生成する有限状態機械である。これは上記テストアルゴリズムに対応する。BOBはBIST回路とメモリデバイス（例えばSRAM）との間のバッファであって、BIST回路を導入したことによるメモリデバイスの潜在的な機能低下を排除する。遅延バッファは、パターンジェネレータと比較器との間のファースト・イン・ファースト・アウト（FIFO）レジスタファイルである。第１に、メモリ・リード・コマンドの予測された応答を計算する。遅延されたクロックサイクル数は、メモリのリード操作のレイテンシに依存する。比較器は、組み合わせロジックの一部であり、メモリが正常に機能しているかどうかを決めるためにメモリの出力応答を予測値と比較する。ここで、予測値は遅延バッファにより提供される。
【００１３】
BIST回路の４つの構成部材において、パターンジェネレータはクロックサイクル時間を支配するタイミング・クリティカルなものである。タイミング・クリティカル・パスを遮断するためのテクニックは、以下の段落で記載されよう。
【００１４】
図２から図４は、本発明による図１に示されたような内蔵自己テスト回路内のパターンジェネレータの発展を示している。図２は単純なパターンジェネレータの構造を示している。前述したように、パターンジェネレータは、データ部、コマンド部、及びアドレス部をそれぞれ備えたテストパターンを生成するものである。よって、パターンジェネレータはさらに２つのモジュール（すなわち、PG_fsmと示された有限状態機械と、A_genと示されたアドレスジェネレータ）に分けられる。図に示すように、モジュールPG_fsmは、テストパターンのコマンド部、データ部、及び（a_commandと示された）アドレスコマンドを生成する。アドレスコマンドa_commandはモジュールA_genを駆動するために使用される。モジュールA_genは、各テストパターンのアドレス部を生成するものである。この実施形態において、９つのアドレスコマンドが様々なテストアルゴリズムを適合させるために使用される。これらの９つのアドレスコマンドは、NO_CHANGE、INIT_ADDRESS、LAST_ADDERSS、NEXT_CELL、PREVIOUS_CELL、Y_NEXT_CELL、Y_PREVIOUS_CELL、CROSS_CELL、及びRECALLである。各アドレスコマンドによると、モジュールA_gen は、各クロックサイクルごとに、アドレスレジスタ１０の値を更新する。この構成では、タイミング・クリティカル・パスがアドレスレジスタ１０の出力から出発し、モジュールPG_fsmとA_genとの組み合わせ部を通過し、最後にアドレスレジスタ１０の入力に終わる。さらに、パターンジェネレータは有限状態機械のための初期状態レジスタ（pg_stateとして示される）を備えている。
【００１５】
リタイミング変換が、タイミング最適化のための効果的な手段となるように具備されている。しかしながら、クリティカル・パスは実際ループを形成しているので、この構成においてリタイミング変換は適用することができない。図３はリタイミング変換のデモンストレーションを示している。リタイミングが、アドレスレジスタ１０をモジュールA_genを反対側に背後に移動させる。リタイムされた版では、タイミング・クリティカル・パスは若干変化しているが、クロックサイクル時間は、A_gen及びPG_fsmの組み合わせ部分を介して伝達遅延の和により依然として支配されている。
【００１６】
この発明のテクニックの動機は、モジュールPG_fsmとA_genとの間だけでなく、A_genからPG_fsmへのパス間にもレジスタを挿入することで、サイクリック・パスを遮断することである。この考えは、図４に示されるような新しい構成を導く。２つの組み合わせモジュールPG_fsmとA_genに加えて、新しい構成には４つのレジスタと別の組み合わせロジックがある。４つのレジスタは、初期状態レジスタpg_stateと、初期セルアドレスレジスタaddressと、PG_fsmにより生成されたアドレスコマンドを表すレジスタaddress-command 20と、１クロックサイクルだけ遅延されたセルアドレスを表すレジスタdelay-address30とを備えている。delay-address30は、信号address commandにて加えられたレジスタのために遅延する。
【００１７】
新たに加えられた組み合わせモジュール（予測ロジックと呼ばれている）が、このテクニックの最も重要な部分である。この目的は、前クロックサイクルのアドレス情報に基づく次クロックサイクルのアドレスを予測することである。よって、向上された版のタイミングは初期のものとほぼ同等のである。
【００１８】
初期のパターンジェネレータのセルアドレスが、最初の６クロックサイクルの対するＡ１，Ａ２、Ａ３、Ａ４、Ａ５、Ａ６であると仮定する。これらのアドレスは必ずしも連続していない。これらの高速版の３観測点の信号の値と、レジスタ遅延アドレス３０と、予測ロジックの出力と、レジスタaddress-command２０とが表１にリストされている。
【００１９】
【表１】
0003667146.tif 000003
【００２０】
例えば第２クロックサイクルにおいて、現在のアドレスがＡ２であるのに対して、予測ロジックの入力は、遅延されたアドレスＡ１である。予測ロジックの初期機能の記載に基づいて、その出力は次クロックサイクルのアドレス（Ａ３）でなければならない。このアドレスは、モジュールPG_fsmを供給する前の別のレジスタにより遅延されたもので、よってPG_fsmへのアドレス入力は依然として現在のアドレスＡ２である（これはパターンジェネレータの初期版でのアドレスと同じである）。この例において、予測ロジックはＡ１からＡ３を予測する必要がある。アドレス変化のシーケンスが裏に潜んだテストアルゴリズムにて前もって決められたものであるので、このような予測は可能である。以下において、予測ロジックの実行を示す。より複雑なテストアルゴリズムに対する実行が同様にして得られる。
【００２１】
＜マーチのアルゴリズムに対する予測ロジック＞
一般性を損なうこと無いように単純化するために、メモリアレイはＮ個のセルを有する１次元であると仮定する。半分のマーチアルゴリズムの状態遷移図が図６に示されている。ここで、遷移上にラベルされた変数ａはセルアドレスを表す。開始状態と終了状態とに加えて、５つの状態（すなわちＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５）がある。各状態は、各サイクル中に示されたように固有のテストコマンドとデータを生成する。予測ロジックに対するレジスタ転送レベル（RTL）コードが図６に示されている。
【００２２】
上記記載を要約すると、本発明はメモリデバイスをテストするための内蔵自己テスト回路を提供している。最大クロックサイクル時間を支配する構成部材は、パターンジェネレータである。パターンジェネレータは、有限状態機械PG_fsmと、アドレスジェネレータA_genと、予測ロジックと、フリップフロップの３セット（すなわち初期セルアドレスレジスタaddressと、アドレス・コマンド・レジスタaddress commandと、１クロックサイクルだけ遅延されたセルアドレスのためのdelay-address）とを備えている。このようにして、時間・クリティカル・パスは、PG_fsmとA_genと予測ロジックでの３セグメントに分けられる。このようにして、クロックサイクル時間が、PG_fsmとA_genと予測ロジックのうちの最長パスにより決められる。単純なジェネレータでのループと比較すると、クロックサイクル時間が効果的に減少している。追加レジスタの挿入によりレイテンシが生じるが、これらのレジスタ内の各信号が前もって予測ロジックにより１クロックサイクルだけ前計算される。
【００２３】
＜総合した結論＞
本発明は、レジスタ転送レベル（RTL）コードとして実行された。機能の正常さの信頼性を打ち立てるためのテストにおいて、メモリデバイスの機能モデルでシミュレーションした。総合ツール（設計コンパイル）がRTLコードをネットリストに変換することに使用され、かつ0.35μｍ CMOS技術ライブラリを使用してロジック最適化を行っている。静的タイミング解析ツール（設計時間）は、クロックサイクル時間が2.5ns以下であることを示している。位置決め・ラウトツール（place-and-rout tool）（Apollo）のタイミング駆動特性が、レイアウトを生成するために使用された。後レイアウトタイミングチェックが、上記クロックサイクル時間内で、タイミング違反がないことを示している。これらの結果に基づき、本発明で提供されたBIST構成部材は400MHzもの早さで実行するための大きな潜在能力を有していると結論付けることができる。このことは、提供されたテクニックを有しない単純に実行した場合に比べて約30％の速度上昇である。
【００２４】
本発明の他の実施形態は、明細書及びここに開示された本発明の具体例から当業者にとっては明らかであろう。明細書及び具体例は単に例として考慮されるべきであり、本発明の真の範囲及び精神が請求項により示されていることを強調しておく。
【図面の簡単な説明】
【図１】  メモリデバイスをテストするための内蔵自己テスト回路のブロック図である。
【図２】  単純なパターンジェネレータを示す図である。
【図３】  リタイミング後のパターンジェネレータを示す図である。
【図４】  パターンジェネレータの高速版を示す図である。
【図５】  予測ロジックのマーチのアルゴリズム用状態遷移図である。
【図６】  予測ロジックのためのレジスタ転送レベルコードを示す図である。
【符号の説明】
１０  初期状態アドレスレジスタ（pg_state）
【図１】
0003667146.tif 000004
【図２】
0003667146.tif 000005
【図３】
0003667146.tif 000006
【図４】
0003667146.tif 000007
【図５】
0003667146.tif 000008
【図６】
0003667146.tif 000009