(57)【要約】  集積回路中のパイプライン（１４）をテストするためのアーキテクチャが、入力ポートおよび出力ポートを備え、複数のデータ・ビットを有するデータ・ワードを処理するように動作可能になっている。アーキテクチャは、それぞれが、データ・ビットまたはテスト・データ・ビットがパイプラインに入力されることを可能にするように動作可能になっているパイプライン（１４）の入力ポートの各入力に設けられたマルチプレクサ（１８）を備える。書込みテスト・ブロック（１５）は、通常モードの動作またはテスト・モードの動作中にパイプライン（１４）に対してデータ・ビットまたはテスト・データ・ビットの書込みを制御するように動作可能であり、読取りテスト・ブロック（１６）は、通常モードの動作またはテスト・モードの動作中にパイプラインからデータ・ビットまたはテスト・データ・ビットの読取りを制御するように動作可能である。書込みテスト・ブロック（１５）および読取りテスト・ブロック（１６）は、テスト・モードにおいてパイプライン（１４）をスキャン・チェーンとして制御するように動作可能である。アーキテクチャは、従来のテスト・アーキテクチャに比べて、少ししかハードウェアを必要とせず、したがって少ししかシリコン面積を必要としない。
2008506106.tif 000002
【特許請求の範囲】
【請求項１】
入力ポートおよび出力ポートを有し、複数のデータ・ビットを有するデータ・ワードを処理するように動作可能である、集積回路中のパイプラインをテストするためのアーキテクチャであって、
データ・ビットまたはテスト・データ・ビットが前記パイプラインに対して入力されることを可能にするように動作可能である、前記パイプラインの前記入力ポートの各入力に設けられたマルチプレクサと、
通常モードの動作またはテスト・モードの動作中に前記パイプラインに対するデータ・ビットまたはテスト・データ・ビットの書込みを制御するための書込みテスト・ブロックと、
通常モードの動作またはテスト・モードの動作中に前記パイプラインからのデータ・ビットまたはテスト・データ・ビットの読取りを制御するための読取りテスト・ブロックと
を備え、前記書込みテスト・ブロックおよび読取りテスト・ブロックが、テスト・モードにおいて、前記パイプラインをスキャン・チェーンとして制御するように動作可能であるアーキテクチャ。
【請求項２】
複数のマルチプレクサが組み合わさって、テスト・データが前記パイプラインに導入されることを可能にするための追加の入力ポートを設ける、請求項１に記載のアーキテクチャ。
【請求項３】
前記パイプラインのスキャン・チェーン出力ポートが、同じパイプラインのスキャン・チェーン入力ポートに接続される、請求項１または２に記載のアーキテクチャ。
【請求項４】
前記スキャン・チェーンが、前記パイプラインのスキャン・チェーン出力ポートを第２のパイプラインのスキャン・チェーン入力ポート信号に接続することにより形成される、請求項１または２に記載のアーキテクチャ。
【請求項５】
前記書込みテスト・ブロックが、前記書込みテスト・ブロックによって受け取られるテスト制御信号を使用してそれ自体制御されている、データを前記パイプラインに書き込むための書込み制御信号を供給するように動作可能である、請求項１に記載のアーキテクチャ。
【請求項６】
前記書込みテスト・ブロックが、前記書込みテスト・ブロックによって受け取られるテスト制御信号と、前記書込みテスト・ブロックに以前に記憶されたテスト制御信号を使用してそれ自体制御されている、データを前記パイプラインに書き込むための書込み制御信号を供給するように動作可能である、請求項１に記載のアーキテクチャ。
【請求項７】
前記読取りテスト・ブロックが、前記読取りテスト・ブロックによって受け取られるテスト制御信号を使用してそれ自体制御されている、データを前記パイプラインから読み取るための読取り制御信号を供給するように動作可能である、請求項１に記載のアーキテクチャ。
【請求項８】
前記読取りテスト・ブロックが、前記読取りテスト・ブロックによって受け取られるテスト制御信号と、前記読取りテスト・ブロックに以前に記憶された制御信号を使用してそれ自体制御されている、データを前記パイプラインから読み取るための読取り制御信号を供給するように動作可能である、請求項１に記載のアーキテクチャ。
【請求項９】
前記書込みテスト・ブロックおよび読取りテスト・ブロックが、スキャン・テスト・モード中に書込み制御信号および読取り制御信号をそれぞれロジックの１に設定するように動作可能であり、それによってテスト・データが前記パイプラインを介してスキャンされることを可能にする、請求項１に記載のアーキテクチャ。
【請求項１０】
前記パイプラインが、埋め込まれたマウストラップＦＩＦＯである、請求項１に記載のアーキテクチャ。
【請求項１１】
入力ポートおよび出力ポートを有し、複数のデータ・ビットを有するデータ・ワードを処理するように動作可能である、集積回路中のパイプラインをテストする方法であって、
データ・ビットまたはテスト・データ・ビットが、前記パイプラインに入力されることを可能にするステップと、
通常モードの動作またはテスト・モードの動作中に前記パイプラインに対するデータ・ビットまたはテスト・データ・ビットの書込みを制御するステップと、
通常モードの動作またはテスト・モードの動作中に前記パイプラインからのデータ・ビットまたはテスト・データ・ビットの読取りを制御するステップと、
書込みテスト・ブロックおよび読取りテスト・ブロックを使用して、前記パイプラインをスキャン・チェーンとして制御するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、埋め込まれたマウストラップＦＩＦＯなどのパイプラインをテストするためのアーキテクチャに関し、とりわけ従来のテスト・アーキテクチャよりも少ないハードウェア、したがって少ないシリコン面積しか必要としないアーキテクチャに関する。
【背景技術】
【０００２】
Ｍ．ＳｉｎｇｈとＳ．Ｎｏｗｉｃｋによる「ＭＯＵＳＥＴＲＡＰ：Ｕｌｔｒａ−Ｈｉｇｈ−Ｓｐｅｅｄ  Ｔｒａｎｓｉｔｉｏｎ−Ｓｉｇｎａｌｉｎｇ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｐｉｐｅｌｉｎｅ」中で説明されているマウストラップＦＩＦＯは、高速用途に適した非同期式パイプライン設計である。
【０００３】
図１は、基本的なマウストラップＦＩＦＯ構造体を示すものである。パイプライン２は、一緒に接続されてデータ・パスを形成するいくつかのラッチ４と、各ラッチ４に接続されて、パイプライン２を介してのデータの移動を制御するラッチ・コントローラ６とを備える。非同期式パイプライン中にはグローバル・クロック信号が存在しないので、各ラッチ・コントローラ６は、ラッチ４をいつオープンし、またクローズするかを決定する「要求」信号と、「肯定応答」信号を使用して、先行するステージと後続のステージと情報をやり取りする。
【０００４】
マウストラップＦＩＦＯは、パイプライン・ステージのラッチング動作がネズミ捕りの動作に似ているので、そのように呼ばれる。具体的には、これらのラッチは、データが到着する以前にはトランスペアレントであり（すなわち、これらのラッチの出力は、これらのラッチの入力にマッチングしており）、データが通過するとすぐにクローズされる。代替的な非同期式パイプラインにおいては、ラッチは新しいデータが到着し、その入力の所で安定化した後にだけ、オープンされる（トランスペアレントにされる）。
【０００５】
非同期式マウストラップ・パイプライン２が、同期式システム（すなわち、グローバル・クロック信号を使用したシステム）に埋め込まれるべきときには、パイプライン２は、「ラップ（ｗｒａｐ）」される必要があり、そのためにパイプライン２にデータを書き込むための同期式書込みポートと、パイプライン２からデータを読み取るための同期式読取りポートとが存在するようになっている。
【０００６】
図２は、非同期式パイプライン２と、非同期式パイプライン２を同期式システム中に埋め込むために必要とされる「ラッパ（ｗｒａｐｐｅｒ）」の一例を示している。書込み制御ブロック８と読取り制御ブロック１０が設けられ、それぞれは、同期式システムから各クロック信号（ｗｒ＿ｃｌｋおよびｒｄ＿ｃｌｋ）を受け取る。この「ラッパ」によって、非同期式パイプライン２は、同期式システムとインターフェースすることができるようになる。
【０００７】
マウストラップＦＩＦＯによって使用されるシリコン面積を最小にするために、マウストラップＦＩＦＯは、完全に実装されたフルカスタム設計であり、したがってハード・マクロとして一体化される。
【０００８】
どのようなシステムとも同様に、システムを実装するために必要とされるハードウェアをあまり増大させない、システムをテストするための戦略がなければならない。テスト戦略では、パイプラインのシリコン面積を確実に小さく保持するために、ハードウェア・オーバーヘッドがあまり多くない、高いカバレージでパイプラインをテストすることが可能でなければならない。一般的に、パイプラインは、論理設計内に埋め込まれ、いくつかのパイプラインが、特定の設計において使用される。
【０００９】
パイプラインは、フリップ・フロップなどの標準メモリ・セルを使用せず、パイプラインは、ハード・マクロであるので、これらの埋め込まれたパイプラインは、標準のテスト手法（例えば、スキャンテスト）を用いてテストすることができない。
【００１０】
パイプラインがテストされることを可能にする一方法が、図３ａに示されている。ここでは、パイプライン２は、その入力のそれぞれにおいてテスト・ポイント１１ａにより、またその出力のそれぞれにおいてテスト・ポイント１１ｂによって周囲を取り囲まれて、パイプライン２に対するテスト・アクセスとテスト制御を可能にしている。
【００１１】
テスト・ポイント１１ａおよび１１ｂの構成は、それぞれ図３ｂおよび３ｃに示されている。各テスト・ポイントは、スキャン・フリップ・フロップ１２およびマルチプレクサ１３を備える。
【００１２】
スキャン・チェーンは、１つのテスト・ポイント１１ａまたは１１ｂのｓｏポートを次のテスト・ポイント１１ａまたは１１ｂのｓｉポートに接続することによって構成されてもよい。これは、機能テスト刺激をパイプライン２に加え、パイプライン応答を記憶することを可能にする。
【００１３】
パイプライン２に対する入力におけるテスト・ポイント１１ａ中のマルチプレクサ１３が使用されて、テスト中にパイプライン２に対して刺激が加えられ、またはシステムの残りの（すなわち、ＦＩＦＯを除いた）ロジックがテストされているときに信号入力の値が取り込まれる。
【００１４】
パイプライン２の出力におけるテスト・ポイント１１ｂ中のマルチプレクサ１３が使用されて、パイプライン２のテスト中にＦＩＦＯ＿ｏｕｔｐｕｔ信号の値が取り込まれ、またはシステムの残りのロジックをテストするために出力ポートに刺激が加えられる。
【００１５】
また、テスト・ポイント１１ａおよび１１ｂを使用し、テスト刺激をｗｒ＿ｖａｌｉｄ信号およびｒｄ＿ａｃｃｅｐｔ信号に加える。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかし、このテスト・ポイント手法は、大きなシリコン面積を必要とし、小型のパイプラインを使用する利点を低下させてしまう。
【００１７】
したがって、本発明の一目的は、従来のテスト・アーキテクチャよりも少ないシリコン面積しか必要としない、ＩＣ中におけるテスト・パイプラインのためのアーキテクチャを実現することである。
【課題を解決するための手段】
【００１８】
本発明は、独立請求項によって定義される。従属請求項は、有利な実施形態を定義している。
【００１９】
本発明の第１の態様によれば、集積回路中における、入力ポートおよび出力ポートを有しており、複数のデータ・ビットをもつデータ・ワードを処理するように動作可能であるパイプラインをテストするためのアーキテクチャが設けられている。アーキテクチャは、パイプラインの入力ポートの各入力に設けられ、それぞれ、データ・ビットまたはテスト・データ・ビットがパイプラインに対して入力されることを可能にするように動作可能であるマルチプレクサを備える。書込みテスト・ブロックは、通常モードまたはテスト・モードの動作中にパイプラインに対するデータ・ビットまたはテスト・データ・ビットの書込みを制御するように動作可能であり、また読取りテスト・ブロックは、通常モードまたはテスト・モードの動作中にパイプラインからのデータ・ビットまたはテスト・データ・ビットの読取りを制御するように動作可能である。書込みテスト・ブロックと読取りテスト・ブロックは、テスト・モードにおいて、スキャン・チェーンとしてパイプラインを制御するように動作可能である。
【００２０】
本発明をより良好に理解するために、また本発明がどのようにして実施され得るかをより明確に示すために、次に実施例として以降の図面に対する参照が行われることになる。
【発明を実施するための最良の形態】
【００２１】
図４は、本発明によるテスト・アーキテクチャのラッパを示している。（ＦＩＦＯを同期式システムに埋め込むためのラッパを含んでいる）マウストラップＦＩＦＯ１４が、書込みテスト・ブロック１５と読取りテスト・ブロック１６に接続されている。ＦＩＦＯ１４のテスト動作および通常動作中に、これらのブロックは、それぞれパイプライン１４のためのｗｒ＿ｖａｌｉｄ＿ｏｕｔ信号およびｒｄ＿ａｃｃｅｐｔ＿ｏｕｔ信号を生成し制御する。
【００２２】
書込みテスト・ブロック１５および読取りテスト・ブロック１６は、それぞれ同期式システム（ｗｒ＿ｃｌｋおよびｒｄ＿ｃｌｋ）からの各クロック信号を受け取り、パイプライン１４は、同期式システムからのクロック信号を両方共受け取る。もちろん同期式システムは、単一クロック信号を使用してもよく、したがってｗｒ＿ｃｌｋは、ｒｄ＿ｃｌｋと同じになる。
【００２３】
スキャン・フリップ・フロップとマルチプレクサを備えるテスト・ポイントがパイプラインの各入力および出力に必要とされる従来のテスト・アーキテクチャ中とは異なって、本発明によるテスト・アーキテクチャは、パイプライン１４のデータ入力においてしかマルチプレクサ１８を必要としない。これらのマルチプレクサは、テスト・データが導入されることを可能にするパイプラインへの各入力において、余分なポート、すなわちｓｉ［．．］ポートを提供するために使用される。したがって、パイプライン１４によって処理されるデータ・ワード中のビットごとに、パイプライン１４の入力には１つのマルチプレクサ１８が存在する。
【００２４】
例えば、パイプライン１４によって処理されるデータ・ワードが８ビットを備える場合、パイプライン１４に対する入力には、ビットごとに１つの、８個のマルチプレクサ１８が存在することになる。図４において、データ・ワード中にはｎビットが存在し、したがってｎ個のマルチプレクサ１８が存在する。
【００２５】
各マルチプレクサ１８は、パイプラインが通常の機能モードで動作しているときに、パイプライン１４の入力について、データ・ビット、すなわちｗｒ＿ｄａｔａ［．．］を受け取り、スキャン・テスト・モード中に使用するために、スキャン・テスト・ビット、すなわちｓｉ［．．］を受け取り、またスキャン・イネーブル信号ｓｅを受け取る。スキャン・イネーブル信号ｓｅは、マルチプレクサ１８を制御し、そのためにパイプライン１４の入力におけるビットは、通常の機能モード中にはデータ・ビットｗｒ＿ｄａｔａ［．．］となり、またはスキャン・テスト・モード中にはスキャン・テスト・ビットｓｉ［．．］となる。
【００２６】
書込みテスト・ブロック１５および読取りテスト・ブロック１６もまた、スキャン・イネーブル信号ｓｅを受け取る。スキャン・イネーブル信号ｓｅは、スキャン・モードがイネーブルされるときには、ロジックの高レベルであり、パイプラインが、その通常の機能モードで機能しているときにはロジックの低レベルである。
【００２７】
前述のように、本発明によるアーキテクチャは、ＦＩＦＯの各データ・ビット入力およびデータ・ビット出力においてスキャン・フリップ・フロップとマルチプレクサとを使用してはいないが、その代わりに、データ・ビット入力ごとに単一のマルチプレクサを使用している。したがって、マウストラップＦＩＦＯ１４は、スキャン・テスト・モード中に制御され、そのためにマウストラップＦＩＦＯは、まるでこれがデータ・ビットごとに単一のフリップ・フロップであるかのように動作する。ＦＩＦＯ１４が、書込みテスト・ブロック１５および読取りテスト・ブロック１６によって適切なやり方で制御される場合には、次いでＦＩＦＯ１４は、スキャン・チェーンのように機能する。
【００２８】
スキャン・チェーン入力ポートは、（ポートのそれぞれで受け取られるスキャン・テスト入力ビットと同じ）ｓｉ［０．．ｎ−１］として示され、スキャン・チェーン出力ポートは、（スキャン・テスト出力ビットｓｏ［０．．ｎ−１］が受け取られる元の）ｓｏ［０．．ｎ−１］として示される。これらのポートは、本発明に従っていくつかの異なるやり方で組み合わされてもよい。
【００２９】
第１のタイプのスキャン・チェーンは、各スキャン・チェーン出力ポートｓｏ［０．．ｎ−１］を同じパイプライン１４のスキャン入力ポートｓｉ［０．．ｎ−１］に接続することによって形成されてもよい。例えば、第１の出力ポートｓｏ［０］は、第２の入力ポートｓｉ［１］に接続されてもよく、また第２の出力ポートｓｏ［１］は、第３の入力ポートｓｉ［２］に接続されてもよい。したがって、パイプライン１４中に記憶されたデータ・ワード数によって乗算された、データ・ワード（「データ幅」）中のデータ・ビット数に等しい長さを有するスキャン・チェーンが、形成される。
【００３０】
第２のタイプのスキャン・チェーンは、システム中に複数のマウストラップＦＩＦＯが存在するときに形成されてもよい。例えば、第１のＦＩＦＯの第１のスキャン出力ポートｓｏ［０］は、第２のＦＩＦＯの第１のスキャン入力ポートｓｉ［０］に接続されてもよく、以下同様である。これにより、ＦＩＦＯのすべてに記憶されるデータ・ワードの総数に等しい長さを有するいくつかのスキャン・チェーンが生成される。
【００３１】
代替スキャン・チェーンが生成されてもよく、また以上のこれら２つの技法の組合せも可能であることが理解されよう。
【００３２】
すべてのスキャン・チェーンが、複数のＦＩＦＯを含むか否かにかかわらず、単一のスキャン・イネーブル信号ｓｅによって制御される。
【００３３】
リセット信号、すなわちｒｓｔ＿ａｎが使用されて、パイプライン１４を初期化し、またはリセットする。この信号は、スキャン・テスト・モード中に制御される必要があり、リセット信号ｒｓｔ＿ａｎと、テスト・モード・リセット信号ｔｅｓｔ＿ｒｓｔ＿ａｎと、マルチプレクサ２０の出力を選択するためのテスト・モード選択信号ｔｅｓｔ＿ｃｔｒｌ＿ｓｅｌを受け取るマルチプレクサ２０が設けられる。
【００３４】
設計内にいくつかのマウストラップＦＩＦＯが存在する場合、このマルチプレクサ２０とその関連する制御信号は、マウストラップＦＩＦＯごとに再使用され、それ故にＦＩＦＯごとにマルチプレクサ２０を含めることは必要ではない。
【００３５】
スキャン・テスト・モード中に、ＦＩＦＯは、先ずリセットされる必要があり（すなわち、ｔｅｓｔ＿ｃｔｒｌ＿ｓｅｌは、ロジック１であり、ｔｅｓｔ＿ｒｓｔ＿ａｎは、ロジックの低レベルであり）、次いでリセット信号ｔｅｓｔ＿ｒｓｔ＿ａｎは、テスト中にロジックの高レベルに保たれる。
【００３６】
テスト中に、すべてのクロック・ポートは、共通のクロック信号に接続される必要があり、共通のクロック信号は、スキャン・テストでは標準である。
【００３７】
図５および６は、それぞれ本発明の第１の実施形態による書込みテスト・ブロック１５および読取りテスト・ブロック１６のブロック図である。前述のように、書込みテスト・ブロック１５および読取りテスト・ブロック１６の目的は、それぞれパイプライン１４についてのｗｒ＿ｖａｌｉｄ＿ｏｕｔ信号およびｒｄ＿ａｃｃｅｐｔ＿ｏｕｔ信号を制御することである。さらに、テスト・カバレージを向上させるために、信号ｒｄ＿ｖａｌｉｄおよびｗｒ＿ａｃｃｅｐｔが、制御されてもよく、また（同期式システムから受け取られる）信号ｒｄ＿ａｃｃｅｐｔおよびｗｒ＿ｖａｌｉｄが、観察されてもよい。書込みテスト・ブロック１５および読取りテスト・ブロック１６はそれぞれ、２つのスキャン・フリップ・フロップ２２と３つのマルチプレクサ２４とを備える。
【００３８】
ｗｒ＿ｖａｌｉｄ＿ｏｕｔ信号とｒｄ＿ａｃｃｅｐｔ＿ｏｕｔ信号の制御は、テスト制御信号ｔｅｓｔ＿ｃｔｒｌ＿ｓｅｌ、ｔｅｓｔ＿ｗｒ＿ｖａｌｉｄおよびｔｅｓｔ＿ｒｄ＿ａｃｃｅｐｔを用いて達成される（これらの後者の２つの信号は、それぞれ書込みテスト・ブロック１５および読取りテスト・ブロック１６によって受け取られている）。
【００３９】
データは、ｗｒ＿ｖａｌｉｄ＿ｏｕｔがロジックの１であるときにマウストラップＦＩＦＯ１４に書き込まれ、データは、ｒｅａｄ＿ａｃｃｅｐｔ＿ｏｕｔがロジックの１であるときにＦＩＦＯ１４から読み取られる。したがって、これらの信号の両方がロジックの１であるときに、データは、単一クロックサイクルで書き込まれ、また読み取られている。これは、シフトする動作をもたらし、シフトする動作は、スキャン・チェーンを介してデータをスキャンするのと同じである。
【００４０】
テスト制御信号（ｔｅｓｔ＿ｃｔｒｌ＿ｓｅｌ、ｔｅｓｔ＿ｗｒ＿ｖａｌｉｄおよびｔｅｓｔ＿ｒｄ＿ａｃｃｅｐｔ）のすべては、システム中のすべてのＦＩＦＯについて共用されて、必要とされるハードウェアの量を低減させることができる。これらの信号は、チップ・ピン、テスト制御ブロック（ＴＣＢ）、ＪＴＡＧポート、またはＴＣＢのＪＴＡＧとの組合せから直接に生成させられてもよい。
【００４１】
両方のテスト・ブロック１５、１６は、スキャン・テスト・データ入力ポートｓｉとスキャン・テスト・データ出力ポートｓｏを有し、その結果テスト・データは、ブロック内にスキャンして入れられ、ブロックからスキャンして出されてもよい。各ブロック内のスキャン・チェーンの長さは２である。別法として、長さ２を有する単一スキャン・チェーンの代わりに１の長さを有する２つのスキャン・チェーンが存在していてもよい。
【００４２】
表１は、本発明の異なる動作モードについてのテスト制御信号の値の概要を示すものである。アプリケーション・モード（Ａｐｐｌｉｃａｔｉｏｎ  ｍｏｄｅ）は、パイプライン１４が正常に動作しているモードである。テスト・スキャン・モード（Ｔｅｓｔ：ｓｃａｎ  ｍｏｄｅ）は、データがスキャン・チェーン内にスキャンして入れられ、スキャン・チェーンを介して外に出されるモードである。テスト通常モード（Ｔｅｓｔ：ｎｏｒｍａｌ  ｍｏｄｅ）は、スキャン機能がディスエーブルにされ、テスト・データがパイプライン１４に直接に加えられ、応答が取り込まれるモードである。モード、すなわちワード書込み（Ｗｒｉｔｅ  ｗｏｒｄ）が使用されて、ランダムなデータ内容を有するワードをパイプライン１４に書き込んで、パイプラインをデータで満たし、モード、すなわちワード読取り（Ｒｅａｄ  ｗｏｒｄ）が使用されて、テスト中に事実上失われるパイプライン１４からワードを読み取り、パイプラインを空にする。
【表１】
2008506106.tif 000003
図７および８は、それぞれ本発明の第２の実施形態による書込みテスト・ブロック１５および読取りテスト・ブロック１６のブロック図である。
【００４３】
これらの書込みテスト・ブロックおよび読取りテスト・ブロックは、第１の実施形態のテスト・ブロックと類似しているが、より少ない制御信号しか必要とされない。具体的には、制御信号ｗｒ＿ｖａｌｉｄ＿ｏｕｔおよびｒｄ＿ａｃｃｅｐｔ＿ｏｕｔは、それぞれ書込みテスト・ブロック１５および読取りテスト・ブロック１６中のフリップ・フロップ２６の出力値と、スキャン・イネーブル信号ｓｅを使用してテスト・モード中に生成される。その結果、制御信号ｗｒ＿ｖａｌｉｄ＿ｏｕｔおよびｒｄ＿ａｃｃｅｐｔ＿ｏｕｔは、スキャン・イネーブル信号ｓｅが、ロジックの１であるときに常にロジックの１であることになり、これは、データが、テスト中にシステムのすべてのスキャン・チェーンを介してスキャンされる必要があるときに、ＦＩＦＯ１４が、スキャン・チェーンとして動作することを意味する。そうでなければ、ｗｒ＿ｖａｌｉｄ＿ｏｕｔおよびｒｄ＿ａｃｃｅｐｔ＿ｏｕｔの値は、テスト制御信号ｔｅｓｔ＿ｃｔｒｌ＿ｓｅｌによって制御されるマルチプレクサ２８の出力の値に追随することになる。これは、第１の実施形態中で使用される制御信号ｔｅｓｔ＿ｗｒ＿ｖａｌｉｄおよびｔｅｓｔ＿ｒｄ＿ａｃｃｅｐｔを不必要にする。
【００４４】
パイプライン１４が、テスト・モードにある（すなわち、ｔｅｓｔ＿ｃｔｒｌ＿ｓｅｌがロジックの１である）ときに、制御信号は、スキャン・フリップ・フロップ２６の出力によって直接に決定される。フリップ・フロップ２６中の値は、スキャン・テストのスキャン・フェーズ中にスキャンされ、実際にはまるで値が、（値が静的である図５および６中の第１の実施形態とは異なり）テストの刺激の一部分であるかのように加えられる。したがって、制御信号は、テスト通常モード中に制御されるだけでもよいが、これは、以下で説明されるテスト戦略のすべてを実装するのに十分である。
【００４５】
したがって、本発明によるテスト・アーキテクチャを実装するために必要とされる追加のハードウェア・コンポーネントは、ｎ＋６個のマルチプレクサと４個のスキャン・フリップ・フロップである。書込みテスト・ブロックおよび読取りテスト・ブロックが、本発明の第２の実施形態に従って実装される場合には、２つのＯＲゲートもまた、必要とされる。
【００４６】
これは、２ｎ個のスキャン・フリップ・フロップと２ｎ個のマルチプレクサを必要とする従来のテスト・アーキテクチャと対照をなすはずである。したがって、本明細書中で提示されるアーキテクチャは、データ・ワード中のビット数が４以上であるときに、従来のアーキテクチャより優れたかなりのハードウェアの節約を実現する可能性がある。
【００４７】
本発明によるテスト・アーキテクチャと共に使用されてもよい、異なるテスト戦略の説明が、以下に与えられている。図９は、マウストラップＦＩＦＯのメモリ・エレメントの概略図を示すものである。各垂直なバーは、データ・ワードについてのストレージ・エレメントを示し、各データ・ワードは、ｎビットの幅を有する。全部でＮ個のストレージ・エレメントが存在する。
【００４８】
図９においては、ストレージ・エレメントのすべては、空である。図１０および１１においては、斜線は、満たされたストレージ・エレメントを示す。
【００４９】
ＦＩＦＯに入力される第１のデータ・ワードは、ストレージ・エレメント０に記憶されることになり、次のデータ・ワードはエレメント１に記憶され、以下同様である。ＦＩＦＯからデータを読み取るときには、エレメント０中のデータ・ワードが読み取られることになり、他のデータ・ワードのすべてが、１エレメントだけ右にシフトすることになる。この書込み動作および読取り動作は、マウストラップＦＩＦＯについて一般的である。この概略図は、本発明によるテスト・ハードウェアと共に適用されることが可能な異なるテスト戦略について説明するために、以下で使用される。
【００５０】
最も簡単なテストは、単一のストレージ・エレメントが使用されるスキャン・テストである。このエレメントは、常にエレメント０になる。このテストの概略図が、図１０に示されている。
【００５１】
このスキャン・テストは、いくつかの利点を有する。第１に、テストは、初期化を必要としないが、システム中の各ＦＩＦＯは、テストする前にリセットされる必要がある。第２に、ＦＩＦＯについての制御信号は、一定である。第３に、スキャン・テストは、ＦＩＦＯの周りのロジックのテストが実行されると同時に、実施されてもよい。換言すれば、（ＦＩＦＯを含めて）完全なシステムについてのテスト・パターンは、自動テスト・パターン・ジェネレータ（ＡＴＰＧ）を用いて自動的に生成されてもよく、単一のスキャン・テストをもたらす。第４に、ロジックとＦＩＦＯについてのＡＴＰＧを同時に使用する結果として、これらの２つの間の相互接続についてもテストされる。
【００５２】
しかし、このテストは、ＦＩＦＯのこれら可能な状態のうちの限られた数のものしかテストされず、したがってテストは、マウストラップＦＩＦＯの可能性のある故障のすべてをカバーしないという短所を有する。
【００５３】
これを克服するために、複数のストレージ・エレメントを有するスキャン・テストが使用されて、ＦＩＦＯのもっと多くの状態をテストすることができる。原理的には、ＦＩＦＯのすべての異なる状態がテストされることが可能である。最初に、単一のストレージ・エレメントを伴うスキャン・テストが前述のように実施され、次いで２つのストレージ・エレメントを使用してスキャン・テストが実施され、次いで３つとなり、また以下同様である。図１１は、Ｎ−６個のストレージ・エレメントが使用されるスキャン・テストを示している。
【００５４】
スキャン・テストが適切に動作するには、テスト中で使用されるストレージ・エレメントの最大数は、Ｎ−１であることに留意することが重要である。
【００５５】
このスキャン・テスト戦略は、複数のストレージ・エレメントが使用されるときに初期化フェーズが必要とされる点を除いて、単一のストレージ・エレメントを有するスキャン・テストと同じ利点を有する。この初期化中に、ＦＩＦＯは、ランダム・データ・ビットを含むＮ−ｉ個のデータ・ワードで満たされ、その結果これらのストレージ・エレメントをスキャン・テストにおいて使用することができる。
【００５６】
ＦＩＦＯがこれらのランダム・データ・ワードで満たされているときに、ＦＩＦＯの制御信号は、一定ではない。しかし、スキャン・テストが実施されるときに、制御信号は、再び一定となる。
【００５７】
スキャン・テスト中で使用されるストレージ・エレメント数を増大させることは、テストのカバレージを増大させるが、これはまた、テストを実施するために必要とされる時間も増大させる。
【００５８】
本発明によるテスト・アーキテクチャを使用して可能となる他のテストが、メモリ・テスト・パターンを伴う機能テストである。
【００５９】
このテストは、ＦＩＦＯだけがテストされることになり（その周囲のロジックはテストされず）、特別なメモリ・テスト・パターンが必要とされる点を除いて複数のストレージ・エレメントを有するテストと同様である。
【００６０】
特別なメモリ・テスト・パターンの一例が、図１２に示されている。このパターンは、交互に並んだ０と１を含むので、チェッカーボード・テスト・パターンとして知られている。
【００６１】
いわゆるメモリ・ビット間の相互結合故障がテストされることが可能なので、テストは、故障カバレージをさらに改善するために使用される。この場合にも、テストにおいて使用されるべきストレージ・エレメント数を選択するために初期化が必要とされる。
【００６２】
初期化の後に、メモリ・テスト・パターンは、単にＦＩＦＯにスキャンして入れられ、スキャンして出される。この場合にも、初期化中に、ＦＩＦＯの制御信号は可変であるのに対して、スキャニング中には、制御信号は一定である。
【００６３】
したがって、従来のテスト・アーキテクチャよりも少ないシリコン面積しか必要としない、埋め込まれたマウストラップＦＩＦＯをテストするためのアーキテクチャが実現されている。さらに、アーキテクチャにより、また周囲のロジックと一緒に埋め込まれたマウストラップＦＩＦＯのテストが可能にもなる。従来のテスト解決方法を用いて、マウストラップＦＩＦＯは、周囲を取り囲むロジックとは別にテストされる。最終的に、ＦＩＦＯの通常のメモリ・テストが可能になる。
【００６４】
前述の実施形態は、本発明を限定するのでなく例証するものであり、当業者なら、添付の特許請求の範囲の範囲を逸脱することなく、多数の代替実施形態を設計することができるようになるはずであることに留意されたい。本発明は、マウストラップＦＩＦＯによって形成されたパイプラインを用いて例示されているが、本発明は、ただこの種類のパイプラインだけに限定されるものではない。特許請求の範囲中において、括弧で囲まれたどのような参照符号もこの請求項を限定するものとして解釈されるべきではない。単語「備える、含む（ｃｏｍｐｒｉｓｉｎｇ）」は、請求項中にリストアップされたもの以外の要素またはステップの存在を除外するものではない。要素に先行する単語「１つの（ａ）」または「１つの（ａｎ）」は、複数のこのような要素の存在を除外するものではない。本発明は、いくつかの明確な要素を備えたハードウェアを用いて、また適切にプログラムされたコンピュータを用いて実装されてもよい。いくつかの手段を列挙したデバイス請求項においては、これらの手段のうちのいくつかは、１つの手段、および同じ項目のハードウェアによって実施されてもよい。ただ単にある種の手段が相互に異なる従属請求項中で列挙されていることは、これらの手段の組合せが有利になるように使用される可能性がないことを示すものではない。
【図面の簡単な説明】
【００６５】
【図１】基本的なマウストラップＦＩＦＯ構造体のブロック図である。
【図２】マウストラップＦＩＦＯを同期式システムに埋め込むために使用されるラッパのブロック図である。
【図３ａ】埋め込まれたマウストラップＦＩＦＯをテストするための従来のアーキテクチャのブロック図である。
【図３ｂ】マウストラップＦＩＦＯに対する入力についての従来のテスト・ポイントのブロック図である。
【図３ｃ】マウストラップＦＩＦＯからの出力についての従来のテスト・ポイントのブロック図である。
【図４】本発明によるテスト・アーキテクチャのブロック図である。
【図５】本発明の第１の実施形態による書込みテスト・ブロックのブロック図である。
【図６】本発明の第１の実施形態による読取りテスト・ブロックのブロック図である。
【図７】本発明の第２の実施形態による書込みテスト・ブロックのブロック図である。
【図８】本発明の第２の実施形態による読取りテスト・ブロックのブロック図である。
【図９】マウストラップＦＩＦＯのメモリの概略図である。
【図１０】単一のストレージ・エレメントを有するスキャン・テストを示す図である。
【図１１】複数のストレージ・エレメントを有するスキャン・テストを示す図である。
【図１２】チェッカーボード・パターンを有する機能テストを示す図である。
【図１】
2008506106.tif 000004
【図２】
2008506106.tif 000005
【図３ａ】
2008506106.tif 000006
【図３ｂ】
2008506106.tif 000007
【図３ｃ】
2008506106.tif 000008
【図４】
2008506106.tif 000009
【図５】
2008506106.tif 000010
【図６】
2008506106.tif 000011
【図７】
2008506106.tif 000012
【図８】
2008506106.tif 000013
【図９】
2008506106.tif 000014
【図１０】
2008506106.tif 000015
【図１１】
2008506106.tif 000016
【図１２】
2008506106.tif 000017
【国際調査報告】
2008506106.tif 000018
2008506106.tif 000019
2008506106.tif 000020