(57)【要約】【課題】スキュードロード手法とブロードサイド手法の利点を組み合わせた新しいスキャンベースの遅延テスト技術を提供する。【解決手段】デジタル回路のスキャンベースの遅延テストのスキャンチェーンにおいて、拡張スキャンセルの対応する１つと置換される少なくとも１つの通常型スキャンセルを選択し、スキュードロード手法により拡張スキャンセルを制御し、ブロードサイド手法によりスキャンチェーンの通常型スキャンセルを制御する。【選択図】図３
2008096440.tif 000002
【特許請求の範囲】
【請求項１】
テストシーケンス長を縮小しかつ故障検出率を改善するために、デジタル回路のスキャンベースの遅延テストのスキャンチェーンにおいて、拡張スキャンセルの対応する１つと置換される少なくとも１つの通常型スキャンセルを選択する段階と、
スキュードロード手法を用いて前記拡張スキャンセルを制御する段階と、
ブロードサイド手法を用いて前記スキャンチェーンの通常型スキャンセルを制御する段階と、
を有する方法。
【請求項２】
前記拡張スキャンセルをスイッチングする駆動信号は、余分な入出力ピンを使用することなく、前記通常型スキャンセルを駆動する信号から取り出される、請求項１に記載の方法。
【請求項３】
前記拡張スキャンセルで置換された前記少なくとも１つの通常型スキャンセルは、テストデータの量を削減するように選択される、請求項１に記載の方法。
【請求項４】
前記拡張スキャンセルで置換された前記少なくとも１つの通常型スキャンセルは、遷移故障検出率を変えるように選択される、請求項１に記載の方法。
【請求項５】
拡張スキャンセルの対応する１つで置換される少なくとも１つの通常型スキャンセルを選択する段階は、自動テストパターン発生器ＡＴＰＧツールが、前記デジタル回路用に発生させたテストパターン中のドントケアを増加させることを可能にさせ、かつ、テストデータの量を削減するために前記ドントケアでのテストパターン圧縮を可能にする、請求項１に記載の方法。
【請求項６】
対応する拡張スキャンセルで置換される複数の前記通常型スキャンセルが、信号線を２進値に設定するように指定された複数の入力に対応して選ばれる、請求項３に記載の方法。
【請求項７】
対応する拡張スキャンセルで置換される複数の通常型スキャンセルが、開始タイムフレームにおいてスキャン入力を指定する必要がある複数のテストパターンに対応して選ばれる、請求項３に記載の方法。
【請求項８】
前記拡張スキャンセルは、マスタフリップフロップと、スレーブフリップフロップとを有しており、前記スレーブフリップフロップは、入力と前記スレーブフリップフロップの出力との中から入力源を選択するマルチプレクサを通して、前記マスタフリップフロップに接続し、前記マスタフリップフロップは状態入力を直接駆動する、請求項１に記載の方法。
【請求項９】
自動テストパターン発生用途用の前記拡張スキャンセルのモデルは、前記マスタフリップフロップの出力と前記スレーブフリップフロップの出力との中での選択を選択的に可能にされた第２のマルチプレクサを有する、請求項１に記載の方法。
【請求項１０】
前記拡張スキャンセルは、短縮されたテストシーケンス長および改善された遅延故障検出率を有するテストパターンを発生させる任意の自動テストパターン発生ツールの使用を可能にするモデルである、請求項１に記載の方法。
【請求項１１】
拡張スキャンセルの対応する１つで置換される少なくとも１つの通常型スキャンセルを選択する段階は、それらの通常型スキャンセルを、テストシーケンス長を短縮し遅延故障検出率を改善できる前記拡張スキャンセルに置換する段階を有する、請求項１に記載の方法。
【請求項１２】
デジタル回路のスキャンベースの遅延テストのスキャンチェーンであって、ブロードサイドスイッチングによって制御される通常型スキャンセルとスキュードロードスイッチングによって制御される少なくとも１つの拡張スキャンセルとを有するスキャンチェーン、
を有する装置。
【請求項１３】
前記少なくとも１つの拡張スキャンセルを制御する駆動信号は、前記通常型スキャンセルを制御する駆動信号から取り出される、請求項１２に記載の装置。
【請求項１４】
前記拡張スキャンセルは、マスタフリップフロップと、スレーブフリップフロップとを有しており、前記スレーブフリップフロップは、入力と前記スレーブフリップフロップの出力との中から入力源を選択するマルチプレクサを通して、前記マスタフリップフロップに接続し、前記マスタフリップフロップは状態入力を直接駆動する、請求項１に記載の方法。
【請求項１５】
前記拡張スキャンセルをスイッチングする駆動信号は、前記通常型スキャンセルを駆動する信号から取り出される、請求項１２に記載の装置。
【請求項１６】
複数の前記通常型スキャンセルと比較される複数の前記拡張スキャンセルが、信号線を２進値に設定するように指定された複数の入力に対応して選ばれる、請求項１２に記載の装置。
【請求項１７】
複数の前記通常型スキャンセルと比較される複数の前記拡張スキャンセルが、開始タイムフレームにおいてスキャン入力を指定する必要がある複数のテストパターンに対応して選ばれる、請求項１２に記載の装置。
【請求項１８】
複数の前記通常型スキャンセルと比較される複数の前記拡張スキャンセルが、前記デジタル回路をテストするためのテストパターン中のドントケアを増加させ、かつ、テストデータ量を削減するためにテストパターン発生中にドントケアでの圧縮を使用するように選ばれる、請求項１２に記載の装置。
【請求項１９】
前記拡張スキャンセルは、短縮されたテストシーケンス長および改善された遅延故障検出率を有するテストパターンを発生させる任意の自動テストパターン発生ツールの使用を可能にするモデルである、請求項１２に記載の装置。
【請求項２０】
前記拡張スキャンセルは、対応する１個の通常スキャンセルに取って代わり、テストシーケンス長を短縮し、遅延故障検出率を改善する、請求項１２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、性能に関係する不良に関するチップの試験に関し、特に、拡張(extended)スキャンセルを使用して、遅延テストパターンの量を削減し、デジタル回路の遅延故障検出率(falut coverage)を改善する方法に関する。本出願は、２００６年１０月１２日に申請された、"Low overhead partial enhanced scan technique for compact and high fault coverage transition delay test patterns"と題する米国仮出願第60/829,183号の利益を請求し、その内容は参照によりここに組み込まれている。
【背景技術】
【０００２】
絶え間ない形状寸法の縮小化およびクロック速度の上昇に伴い、所望の速度でのデジタル回路の正確な動作の確認は、製品品質水準を保持するために選択肢（オプション）として行われることというよりも、むしろ、必須事項になってきている。スキャンチェーン(scan chain)を含んだテストパターンが設計用の自動テストパターン発生器（ＡＴＰＧ；automatic test pattern generator）によって発生させられる、スキャンベース(scan-based)の遅延テストは、実動作速度の機能パターン手法に対するコスト効率の高い選択肢として、性能関連の不良に関して大規模チップをテストするために、ますます使用されるようになってきている。
【０００３】
遅延故障の検出には、通常、「初期化パターン」と呼ばれ、対象とする故障している回路線を所望の値に初期化する第１のパターンと、ローンチ（開始；launch）パターンと呼ばれ、回路線での遷移を開始し、主出力(primary output)および／またはスキャンセル(scan cell)に対して故障の影響を伝播させる第２のパターンとの１対のテストパターンの適用が必要である。各パターン対での第２のパターンの適用方法が異なる２つの異なった手法が、ツーパターン(two-pattern)テストを標準スキャン方式に適用するために使用される。スキュードロード(skewed-load)あるいはローンチオフシフト(launch-off-shift)手法と呼ばれる第１の手法において、第２のパターンは、第１のパターンにおいて１つのスキャンセルだけシフトすることにより得られる。ブロードサイド(broadside)あるいはローンチオフキャプチャ(launch-off-capture)と呼ばれる第２の手法において、第２のパターンは、第１のパターンに対する回路応答から得られる。
【０００４】
大半の方式では、スキュードロード手法によって発生させたテストパターン集合は、ブロードサイド手法によって発生させたテストパターン集合よりも、高い故障検出率を達成する。スキュードロード手法のテストパターンは、組合せＡＴＰＧ(combinational ATPG)によって発生させることができ、その一方、ブロードサイドのテストパターンの発生には、シーケンシャルＡＴＰＧ(sequential ATPG)が必要である。さらに、スキュードロード手法によって発生させたテストパターン集合の大きさは、通常、ブロードサイド手法によって発生させた集合よりも小さい。しかしながら、スキュードロード手法は、より大きなハードウェアオーバヘッドと、より長い設計時間とを必要とするので、業界では、ブロードサイド手法の方がより広汎に使用されている。
【０００５】
標準スキャン方式に対してテストパターン対を適用する手順は、図１において、スキャンイネーブル信号ｓｃａｎ＿ｅｎのタイミング図１０で示されている。全てのスキャンセルはスキャンイネーブル信号によって制御され、シフトモードまたはノーマルモードのいずれかに構成される。ここでは、多重化されたスキャン式フリップフロップ（図４（ｂ）を参照）によってスキャンチェーンが構築されると仮定する。
【０００６】
初期化クロックエッジで、パターン対の初期化パターンは、スキャンチェーンに完全にロードされ、スキュードロード手法およびブロードサイド手法の両方において、入力をスキャンするために適用される。初期化パターンの適用により引き起こされたスイッチングから被試験回路（ＣＵＴ）が安定した後、ローンチパターン(launch pattern)が適用される。スキュードロード手法では、開始クロック(launch clock)がトリガするまで、スキャンイネーブル信号ｓｃａｎ＿ｅｎは論理値１のままである。したがって、スキャンチェーンは、開始クロックエッジにおいて、１つのセル分だけシフトされる。対照的に、ブロードサイド手法においては、開始クロックがトリガされる前に、スキャンイネーブル信号ｓｃａｎ＿ｅｎは０に遷移する。なお、初期化クロックと開始クロックとの間の期間は、通常動作速度(at-speed)サイクルである必要はない。したがって、ブロードサイド手法が使用される場合、ｓｃａｎ＿ｅｎは、通常動作速度でのスイッチング能力を必要としない。一方、開始クロックとキャプチャクロック(capture clock)との間の期間は、遅延故障をテストするために、通常動作速度サイクルでなくてはならない。スキュードロード手法では、スキャンセルは、通常動作速度のクロックサイクルでは、シフトモードからキャプチャモードに構成されるので、ｓｃａｎ＿ｅｎは、通常動作速度のスイッチング能力を必要とする。通常、たった１つのｓｃａｎ＿ｅｎ信号が、被試験回路ＣＵＴ内の全てのスキャンセルを駆動する。したがってｓｃａｎ＿ｅｎは、高度なバッファツリーまたは強力なクロックバッファによって駆動されるべきである。そのような設計要件は、しばしば、満足させるためにコストがかかりすぎる。さらに、スキャンイネーブル信号ｓｃａｎ＿ｅｎａｂｌｅに対するそのような厳しいタイミング要求を満たすことは、結果として、より長期の設計時間を必要とするであろう。
【０００７】
たとえブロードサイド手法がスキュードロード手法より安価に実施できても、ブロードサイド手法によって達成される故障検出率は、通常、スキュードロード手法によって達成される故障検出率よりも低い。さらに、ブロードサイド手法によって発生させたテストパターン集合は、通常、スキュードロード手法によって発生させたテストパターン集合よりも大きい。ブロードサイド手法で２つのパターンテストを発生させるために、２つのフルタイムフレームを処理することができるシーケンシャルＡＴＰＧが必要とされる。一方、スキュードロード手法のテストパターンは、わずかな変更を加えることによって組合せＡＴＰＧで発生させることができる。それゆえ、ブロードサイド手法でのテスト発生時間は、通常、スキュードロード手法でのテスト発生時間より長い。しかしながら上述のパラグラフで説明したような高い実装コストおよび長い設計時間により、スキュードロード手法がブロードサイド手法に優るいくつかの利点（より高い故障検出率、より小さなテストパターン集合、およびより低いテスト発生コスト）を有しているものの、多くの場合、ブロードサイド手法がスキャンベースのテスト方法の唯一の選択である。
【０００８】
ブロードサイド手法によるフルスキャン方式のための遷移テストパターン対の発生は、設計のツータイムフレームモデル(two time frame model)で示すことができる。フルスキャンを使用するシーケンシャル回路のツータイムフレームモデル２０が、図２に示されている。この回路には、ｈ個の主入力(primary input)ｐｉ1，ｐｉ2，…，ｐｉhと、ｍ個の主出力ｐｏ1，ｐｏ2，…，ｐｏmと、ｎ個の状態入力(state input)ｓｉ1，ｓｉ2，…，ｓｉnと、さらに、ｎ個の状態出力(state output)ｓｏ1，ｓｏ2，…，ｓｏnがある。なお、ｉ＝１，２，…，ｎとして、１番目のタイムフレームの状態出力ｓｏiは、２番目のタイムフレームの状態入力ｓｉiに接続されている。したがって、初期化タイムフレームでの状態出力ｓｏiの値は、開始タイムフレームでの状態入力ｓｉiの値と同じである。実際の設計では、状態出力ｓｏiと状態入力ｓｉiとの対は、スキャンフリップフロップＤiを通して接続され、フィードバックループを構成している。
【０００９】
テストコストは、テストパターン集合の大きさによって直接決定される。満足な検出率を達成するために必要なテスト量が大きいために、遷移故障検出率が、しばしば、容認できるテスト量のために妥協させられる。大半の圧縮アルゴリズムにおいて、テストパターンのドントケア(don't care)が、テスト集合のサイズを小さくする際に重要な役割を果たしている。テスト圧縮技術は、テストパターンのサイズの圧縮がいつ行われるかに応じて、動的圧縮および静的圧縮に分類できる。テスト発生の間に行われる動的圧縮では、ドントケアは、付加的な故障を検出するように規定されている。動的圧縮によって圧縮されたテストパターンは、テストパターンをすべて発生させた後、静的圧縮によってさらに縮小される。多数のドントケアを有するテストパターンは、静的圧縮によって、容易に他のテストパターンとマージすることができる。
【００１０】
最近、スキャンを介して遷移遅延パターンを適用できる、オーバヘッドの小さなスキャンベースの遅延テスト技術がいくつか提案されている（非特許文献１，２，３，４参照）。Wangら（非特許文献１参照）は、スキャンセルの小さな集合がスキュードロード手法によって制御され、残りのスキャンセルがブロードサイド手法によって制御される、ハイブリッド法を提案した。実験結果は、この方法によってテスト集合の大きさを縮小することができ、ブロードサイド手法の遷移遅延故障検出率を改善することができることを示している。しかしながらこの方法は、特別のＡＴＰＧアルゴリズムを必要とするので、既存の商用ＡＴＰＧツールを使用してテストパターンを発生させることができない。Ahmedらは、複数のローカル高速スキャンイネーブル信号を発生させる技術を提案した（非特許文献２参照）。高速スキャンイネーブル信号は、グローバルなスキャンイネーブル信号からスキャンセルによって発生させられる。スキャンセル用の高速スイッチング制御信号を必要としない技術が、Devtaprasannaらによって提案されている（非特許文献４参照）。しかし、この技術は、非特許文献１に記載のもののような特別のＡＴＰＧを必要とする。Ahmedら（非特許文献３参照）は、各開始およびキャプチャサイクルにおいて、スキャンセルの一部がそれらのスキャンセルのキャプチャモードに構成されずにそれらのスキャンセルのシフトモードのままである、拡張ローンチオフキャプチャ技術を提案した。この技術によって最良の結果に最適化するためには、ＡＴＰＧはこの提案された技術を理解していなけければならない。
【００１１】
以下、本明細書中で引用された他者による論文を列挙する。
【非特許文献１】S. Wang, X. Liu, and S. T. Chakradhar. Hybrid Delay Scan: A Low Hardware Overhead Scan-Based Delay Test Technique for High Fault Coverage and Compact Test Sets. In Proceedings Design Automation and Test in Europe Conference and Exhibition, pages 1296-1301, Feb 2004.
【非特許文献２】N. Ahmed, C. P. Ravikumar, M. Tehranipoor, and J. Plusquellic. At-Speed Transition Fault Testing with Low Speed Scan Enable. In Proceedings VLSI Testing Symposium, pages 42-47, May 2005.
【非特許文献３】N. Ahmed, M. Tehranipoor, and C. P. Ravikumar. Enhanced Launch-Off-Capture Transition Fault Testing. In Proceedings IEEE International Test Conference, pages 246-255, November 2005.
【非特許文献４】N. Devtaprasanna, A. Gunda, P. Krishnamurthy, S. M. Reddy, and I. Pomeranz. Methods for Improving Transition Delay Fault Coverage Using Broadside Tests. In Proceedings IEEE International Test Conference, pages 256-265, November 2005.
【発明の開示】
【発明が解決しようとする課題】
【００１２】
スキュードロード手法とブロードサイド手法の利点を組み合わせた新しいスキャンベースの遅延テスト技術に対する必要性がある。
【課題を解決するための手段】
【００１３】
本発明によれば、デジタル回路のスキャンベースの遅延テストのスキャンチェーンにおいて、拡張スキャンセル(enhanced scan cell)の対応する１つと置換される少なくとも１つの通常型スキャンセル(regular scan cell)を選択することと、スキュードロード手法を用いて拡張スキャンセルを制御することと、ブロードサイド手法を用いてスキャンチェーンの通常型スキャンセルを制御することと、を含む。より具体的にはこの方法は、ブロードサイド手法よりも高速のスイッチングを必要とするスキュードロード手法によってすべてのスキャンセルを駆動するための高いコストを払う必要なく、テストシーケンス長を短縮し、より高い遅延故障検出率を達成する。拡張スキャンセルをスイッチングする駆動信号が通常型スキャンセルを駆動する信号から取り出されるので、拡張スキャンセルを駆動するための付加的なピンは必要ない。
【００１４】
本発明の他の態様において、装置は、ブロードサイドスイッチングによって制御される多くの通常型スキャンセルとスキュードロードスイッチングによって制御される少なくとも１つの拡張スキャンセルとを有する、デジタル回路のスキャンベースの遅延テストのスキャンチェーンを含む。拡張スキャンセルのスキュードロードスイッチングは、通常型スキャンセルのブロードサイドスイッチングより高速である。少なくとも１つの拡張スキャンセルを制御する駆動信号は、通常型スキャンセルを制御する駆動信号から取り出されるのが好ましい。例示的な実施形態において、拡張スキャンセルは、マスタフリップフロップと、スレーブフリップフロップとを含み、このスレーブフリップフロップは、入力とスレーブフリップフロップの出力との中から入力源を選択するマルチプレクサを通して、マスタフリップフロップに接続し、マスタフリップフロップは状態入力を直接駆動する。本発明を用いて設計用のテストパターンを発生させるために任意のＡＴＰＧツールが使用されることを可能にする、自動テストパターン発生用途用の拡張スキャンセルのモデルは、マスタフリップフロップの出力とスレーブフリップフロップの出力との中での選択を選択的に可能にされた第２のマルチプレクサを有する。
【００１５】
発明のこれらおよび他の利点は、以下の詳細な説明および添付図面を参照して当業者には明白になるであろう。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の例示実施形態について図面を参照して説明する。本発明に係るテスト技術は、スキュードロード手法とブロードサイド手法との利点を組み合わせた新しいスキャンベースの遅延テスト技術である。本発明に基づく技術は、通常型スキャンセルの小さな集合を、２ビットを保持できる拡張スキャンセルで置換している。拡張スキャンセルはスキュードロード手法によって制御され、通常型スキャンセルはブロードサイド手法によって制御される。このような方法によって発生させたテストパターン集合の大きさは、従来のブロードサイド手法によって発生させたテストパターンの大きさより小さい。本明細書において提案された手法は、従来のブロードサイド手法よりも高い故障検出率を達成できる。さらに、本発明に基づくハイブリッド手法でのＡＴＰＧの実行時間(run time)は、従来のブロードサイド手法より短い。
【００１７】
図３（ａ）は、標準的なブロードサイド手法において、開始タイムフレームにおいて、ラインｌを０に設定するプロセスを示している。ラインｌを０に設定することは、開始タイムフレームにおいて状態入力ｓｉiを０に設定する必要があるものと仮定する。ｓｉiを０に設定することは、図３（ａ）に示すように、初期化タイムフレーム内でいくつかのスキャン入力を指定することによって行うことができる。図３（ｂ）は、本明細書で提案する基づく方法によって同一のラインｌを０に設定することを示している。なお、マルチプレクサが状態入力ｓｉiに対して挿入されている。マルチプレクサの選択した入力は、初期化タイムフレームにおいて０に設定され、開始タイムフレームにおいて１に設定される。したがって、フリップフロップＤM（ＤS）に格納された値が、初期化（開始）サイクルにおいて状態入力ｓｉiに適用される。ここで、単に１つのフリップフロップＤSだけを０に割り当てることにより、初期化タイムフレームにおいていかなるスキャン入力も指定せずに、開始タイムフレームにおいて状態入力ｓｉiを０に設定することができる。したがって、初期化タイムフレームにおいて極めて少数の状態入力を指定することにより、ラインｌを開始タイムフレームにおいて０に設定することができる。初期化タイムフレームにおいて回路線を通して開始タイムフレームでのｓｉiを指定するＡＴＰＧプロセスがもはや必要なくなるので、ｓｉiでの拡張スキャンセルの挿入は、ＡＴＰＧ実行時間も短縮することができる。フリップフロップＤM，ＤS、およびマルチプレクサにより提供される機能は、本明細書において提案される拡張スキャンセルにより実現でき、それについては次に説明する。
【００１８】
図４（ａ）は、拡張スキャンセルを含んだスキャンチェーンの一部を示し、図４（ｂ）は、通常型多重化(regular muxed)スキャンセルを説明しており、図４（ｃ）は、本明細書において提案されている拡張スキャンセルを説明している。
【００１９】
図４（ａ）に示したスキャンチェーンの一部分では、拡張スキャンセルは、状態入力ｓｉiにおいて挿入されている。通常型スキャンセルまたは拡張スキャンセルであるすべてのスキャンセルのスキャンイネーブルピンＳＥは、スキャンイネーブル信号ｓｃａｎ＿ｅｎにより駆動される。通常型スキャンセルは、ＳＥを１に設定することによりスキャンシフトモードに、ＳＥを０に設定することによりキャプチャモードに構成される。なお、ｓｉiにおいて挿入されている拡張スキャンセルは、通常型スキャンセルよりも１つ多い、信号ｓｋｅｗ＿ｌｄによって駆動される制御入力ＳＬを有する。本明細書によって提案された拡張スキャンセルは、構成要素である２つのフリップフロップ、すなわちマスタフリップフロップとスレーブフリップフロップとからなり、これらのフリップフロップはマルチプレクサを通して接続されている。マルチプレクサは、入力Ｄとスレーブフリップフロップの出力との中からマスタフリップフロップへの入力源を選択する。なお、マスタフリップフロップの出力は、状態入力ｓｉiを直接駆動する。したがって、各スキャンパターン対に対する初期化サイクルで、パターン対の初期化パターンで状態入力ｓｉiに割り当てられた値が、マスタフリップフロップにロードされる。同じサイクルにおいて、次のサイクル（すなわち開始サイクル）においてｓｉiに適用されるであろう値が、スレーブフリップフロップにロードされる。開始サイクルエッジでは、ＬＳＥが１に設定されるので、スレーブフリップフロップに格納された値は、マスタフリップフロップにロードされ、ｓｉiに適用される。引き続くサイクル（キャプチャサイクル）エッジでは、ＬＳＥは０に設定され、マスタフリップフロップは、Ｄ入力にある応答値を取り込む（キャプチャする）。なお、マルチプレクサがスキャンパス上に挿入されているので、拡張スキャンセルの挿入は、性能に不利な条件をなんら課すことがない。
【００２０】
図４（ｄ）は、図４（ｃ）に示した拡張スキャンセルの動作に関係する信号のタイミング図である。
【００２１】
初期化タイムフレームにおいてｓｉiに１を、開始タイムフレームにおいてｓｉiに０を適用することを考える。一般性を失うことなく図を理解しやすいように、すべてのスキャンセルのフリップフロップは、立ち上がりエッジでトリガされると仮定する。初期化クロックの立ち上がりクロックエッジで、マスタフリップフロップに１がロードされ（したがって、初期化サイクルで状態入力ｓｉiに１が適用され）、スレーブフリップフロップに０がロードされる。次に、スキャンイネーブル信号ｓｃａｎ＿ｅｎを０に設定してスキャンセルをキャプチャモードに構成し、次のクロック（すなわち開始クロック）のエッジで開始パターンを適用する。開始クロックの立ち上がりエッジで、拡張スキャンセル以外の通常型スキャンセルはすべて、初期化サイクルにおいて適用されたテストパターンに対する応答を取り込み、開始パターンがｓｉi以外のすべての状態入力に適用される。一方、信号ｓｋｅｗ＿ｌｄは１であり、よって拡張スキャンセルのＬＳＥ信号は開始クロックの立ち上がりエッジで１であるので、Ｄ入力での値の代わりに、スレーブフリップフロップに格納された値すなわち０が、拡張スキャンセルのマスタフリップフロップにロードされる。したがって、開始サイクルにおいては０が状態ｓｉiに適用される。キャプチャサイクルでは、拡張スキャンセルを含むすべてのスキャンセルに、開始パターンに対する応答がロードされる。
【００２２】
図４（ｄ）が示すように、ｓｋｅｗ＿ｌｄ信号は、通常動作速度のスイッチング能力を必要とする（ｓｋｅｗ＿ｌｄは、開始クロックとキャプチャクロックとの間のサイクルで１から０へ遷移する）。この明細書では、拡張スキャンセルは、回路において、スキャン入力のたかだか２％までに挿入されている。言いかえれば、ｓｋｅｗ＿ｌｄ信号は、非常に少数（２％以下）のスキャンセルを駆動する。したがって、ｓｋｅｗ＿ｌｄを通常動作速度でスイッチングさせることは、設計上スキャンセルをすべて駆動することとなるｓｃａｎ＿ｅｎを通常動作速度でスイッチングさせることよりも、ずっと容易なことである。ｓｋｅｗ＿ｌｄ信号は非常に小さな回路により内部的に発生させられるので、余分なピンはｓｋｅｗ＿ｌｄにとって不要である。ｓｋｅｗ＿ｌｄ信号は、図５（ａ），（ｂ）に示すように、スキャンイネーブル信号ｓｃａｎ＿ｅｎから発生させることができる。
【００２３】
拡張スキャンセルは、通常のスキャン挿入手順によって既に挿入されている通常型スキャンセルを単に置換することにより、挿入できる。大半の商用のＡＴＰＧツールは、図４（ｃ）で説明している本明細書での提案の拡張スキャンセルをサポートしていない。したがって、本明細書で提案の拡張スキャンセルを有する設計用の遷移遅延テストパターンを直接発生させることができない。しかしこの問題は、ＡＴＰＧ用の別のライブラリを使用することにより解決できる。ＡＴＰＧツール用のライブラリファイルでは、拡張スキャンセルの実際の表現（図４（ｃ）を参照）が、図６において符号６０で示した表現で置き換えられている。ＡＴＰＧ用の別のライブラリの使用は、業界では一般的である。なお、設計（ネットリスト）は全く変更する必要がない。図６に示したセルの表現によって図４（ｃ）に示したセルの表現を置き替えることは、極めて容易である。ＡＴＰＧプロセス中、図６に示した拡張セルの機能は、図４（ｃ）に示した実際の拡張スキャンセルの機能と全く同じになる。
【００２４】
上述したように、ここでは、挿入される拡張スキャンセルの個数を設計における全ての状態入力の数のわずか２％以下に制限している。極めて少数の拡張スキャンセルを挿入するので、最良の状態入力に対して拡張スキャンセルを挿入して、拡張スキャンセルを挿入することの効果を最大限にする必要がある。すなわち遅延故障検出率の向上と、テストパターン数の減少とを最大限にする必要がある。この明細書では、各状態入力に対して異なる２つの測定基準(metric)、すなわち制御性測定(controllability measure)と有用性測定(usefulness measure)とを算出し、拡張スキャンセルを挿入するために最良の状態入力を選択する。
【００２５】
上述したように、テストパターン中のドントケアは、テストパターン集合のサイズを圧縮する際に重要な役割を果たしている。開始タイムフレームにおける状態入力ｓｉiの２進値ｖへの設定が、初期化タイムフレームにおいて多数の状態入力を指定する必要がある場合、ｓｉiでの拡張スキャンセルの挿入は、２進値ｖにｓｉiを設定する必要のあるテストパターンに多数のドントケアを生成できる。
【００２６】
この明細書において、制御性コストは、初期化タイムフレームにおいてすべての回路線のそれぞれに対して定義される。回路線ｌの制御性コストＣｖ(ｌ)（ここで、ｖ＝０または１）は、ｌを２進値ｖに設定するように指定されるべき入力の最小数を表している。
【００２７】
制御性コストは、入力から出力に向かって再帰的な方法で算出される。制御性コストＣｖ(ｌ)は、ラインｌを所望の値ｖに設定するために指定される必要がある入力の最小数である。ラインｌの制御性コストは次式で与えられる。
【００２８】
【数１】
2008096440.tif 000003
【００２９】
ここで、ｌjは出力線ｌを有するゲートｇaの入力、∪は合併集合演算子を表し、
【００３０】
【数２】
2008096440.tif 000004
【００３１】
は、ｌjをｖに設定するために指定されるべき状態入力の集合であり、ｃaおよびｉaは、それぞれ、ｇaのコントロール値および反転である。状態出力ｓｏiが非常に大きな制御性コストＣｖ(ｓｏi)を有するならば、それは、純粋なブロードサイド手法を使用してテストパターンを発生させる場合に、初期化タイムフレームにおいて多数の入力を指定することにより、開始時間において対応する状態入力ｓｉiをｖに設定できることを意味している。したがって、状態ｓｉiへの拡張スキャンセルの挿入は、テストパターンに多くのドントケアを追加するであろう。
【００３２】
状態出力ｓｏiが１についての非常に大きな制御性測定値、すなわちＣ１(ｓｏi)lを有すると仮定する。そのとき、ｓｉiでの拡張スキャンフリップフロップの挿入は、開始タイムフレームのｓｉiで１を必要とするテストパターンに、多くのドントケアを生成できるであろう。しかし、極めて少数の故障がそれらの故障の検出のために開始タイムフレームにおける状態入力ｓｉiで１を必要とする場合には、たとえＣ１(ｓｏi)lであっても、状態入力ｓｉiでの拡張スキャンセルの挿入は、全体のテストデータ量を著しく削減することはできないだろう。言いかえれば、テストパターン数の大きな削減を達成するためには、拡張スキャンセルが挿入される状態入力が、多くのテストパターンで使用されるべきである。
【００３３】
この明細書において、追加の測定すなわち「０の有用性測定」および「１の有用性測定」が、多数のテストパターンにおいて指定される必要のある状態入力を選択するために定義される。信号線ｌでの縮退０(stuck-at-0)（縮退１(stuck-at-1)）故障ｆを検出するためには、信号線ｌを１（０）に設定することによりその故障を活性化すべきであり、活性化された故障（故障効果(fault effect)と呼ばれる）は、少なくとも１つの観測点、すなわち主出力または状態出力に伝播されるべきである。状態入力ｓｉiがｖ（ここで、ｖ＝０または１）に制御可能でないときに上記２つのプロセスのいずれかが達成されなくなった場合には、故障ｆは、ｓｉiのｖへの不可制御性(uncontrollability)によって「影響される(affected)」と言う。状態入力ｓｉiの０（１）の有用性測定Ｕ０(ｓｉi)（Ｕ１(ｓｉi)）は、状態入力ｓｉiが０（１）に設定できない場合に、その検出が影響を受ける縮退故障の数を反映している。なお、ここでは開始タイムフレームでの状態入力を指定する有用性を考慮しているので、遷移遅延故障モデルの代わりに縮退故障モデルを使用することができる。すなわち、縮退０（１）故障は、実際にはＳＴＲ（ＳＴＦ）故障を示している。多くの故障が入力ｓｉiのｖへの不可制御性による影響を受ける場合、多くの故障に対するテストパターン対の開始パターンは、ｓｉiをｖに指定することを必要とするだろう。言いかえれば、状態入力ｓｉiでの拡張スキャンセルの挿入は、多くのテストパターンにドントケアを追加するであろう。
【００３４】
状態入力ｓｉiの有用性測定を計算する手順は、まずｓｉiに
【００３５】
【数３】
2008096440.tif 000005
【００３６】
を割り当てることによって開始される（ここで
【００３７】
【数４】
2008096440.tif 000006
【００３８】
は、状態入力ｓｉiが０に制御できないことを示している）。次に、
【００３９】
【数５】
2008096440.tif 000007
【００４０】
は、既知の伝播規則に従って内部の信号線を伝播する。ＡＮＤ（ＯＲ）ゲートｇの入力に
【００４１】
【数６】
2008096440.tif 000008
【００４２】
が割り当てられた場合、すなわち１（０）に制御可能でない場合、ゲートｇの出力には
【００４３】
【数７】
2008096440.tif 000009
【００４４】
が割り当てられる。同様に、ＮＡＮＤ（ＮＯＲ）ゲートｇの入力に
【００４５】
【数８】
2008096440.tif 000010
【００４６】
が割り当てられた場合、すなわち１（０）に制御可能でない場合、ゲートｇの出力は
【００４７】
【数９】
2008096440.tif 000011
【００４８】
を割り当てられる。回路の構造および機能に依存して、ｓｉiでの
【００４９】
【数１０】
2008096440.tif 000012
【００５０】
が伝播すると、いくつかの信号線には、
【００５１】
【数１１】
2008096440.tif 000013
【００５２】
のいずれかが割り当てられるだろう。次に、ここで、状態入力ｓｉiが０に制御可能でないときに活性化できない（縮退）故障を特定する。もし信号線ｌjに
【００５３】
【数１２】
2008096440.tif 000014
【００５４】
が割り当てられると、ラインｌjの縮退１（０）故障が活性化できないので、この縮退故障は、ｓｉiが０に制御可能でない場合にはテストすることができない。これらの故障は、ｓｉiの
【００５５】
【数１３】
2008096440.tif 000015
【００５６】
への不可制御性による影響を受けることが明らかである。次に、その故障効果が１つまたは２以上のゲートでブロックされる故障を特定する。ゲートを通して故障効果を伝播させるためには、故障効果が存在する入力以外のすべての入力は、ゲートの不可制御値(non-controlling value)を割り当てられるべきである。（ゲートの制御値ｃとは、ゲートの任意の入力に印加されたとき、ゲートの他の入力に印加された値とは無関係にそのゲートの出力値を決定する２進値であり、ゲートの不可制御値ｎｃは制御値の相反値(opposite value)である。）言いかえれば、ゲートｇの入力ｌjがゲートｇの不可制御値に制御可能ではない場合、すなわち入力ｌjに
【００５７】
【数１４】
2008096440.tif 000016
【００５８】
が割り当てられる場合、ゲートｇの他の入力のファンインコーン(fanin cone)での故障は、ゲートｇを通して伝播することができない。
【００５９】
状態入力ｓｉiについての０の有用性測定Ｕ０(ｓｉi)は、活性化できない故障の数と、ｓｉiが０に制御可能でない場合に故障効果が少なくとも１つのゲートでブロックされる故障の数との和で与えられる。ここで、同じ手順を繰り返して、状態入力ｓｉiを
【００６０】
【数１５】
2008096440.tif 000017
【００６１】
を内部回路線へ伝播させることにより、状態ｓｉiについての１の有用性測定Ｕ１(ｓｉi)を計算する。有用性測定は、回路のすべての状態入力に対して計算される。
【００６２】
状態入力ｓｉiを２進値ｖに制御しがたい場合にその故障効果がブロックされる故障は、それらの故障効果がブロックされたすべてのゲートのファンインコーンをくまなく調べることにより、特定することができる。影響を受けた故障の数が状態入力ごとに計算されるので、大規模な設計に対する有用性測定の計算は、実行時における複雑性の点から、費用がかかるかもしれない。実行時間を短縮するために、ここでは、個別の回路線ではなくファンアウト自由領域（ＦＦＲ；fanout free region）を使用する。前処理ステップで、回路のＦＦＲをすべて特定する。次に、各ＦＦＲに対して、ＦＦＲでの故障の数を計数し、ＦＦＲの出力信号にその数を格納する。故障の数に加えて、各ＦＦＲの出力信号線は、ＦＦＲのすべての入力信号に対するポインタを格納する。したがって、ＦＦＲの出力または入力でない信号線をくまなく調べる必要はないので、ブロックされた故障の数は、極めて少数の信号線をくまなく調べることにより特定することができる。これは、上記のくまなく調べるプロセスを著しく迅速化できる。
【００６３】
以下、例に基づいてこの例示実施形態をさらに詳しく説明する。
【００６４】
例１：
図７はスキャン設計の一部を示している。状態入力ｓｉ1についての０の有用性測定Ｕ０(ｓｉ1)を計算することを考える。まず、
【００６５】
【数１６】
2008096440.tif 000018
【００６６】
がｓｉ1に割り当てられる。ｓｉ1が０に制御可能でない場合、ｓｉ1によって駆動される唯一のゲートであるＡＮＤゲートｇ2の出力は、（他の入力ｌ1を０に設定することにより）従前通り０に設定することができる。したがって、ｓｉ1での
【００６７】
【数１７】
2008096440.tif 000019
【００６８】
は、ｇ2の出力よりも遠くには伝播せず、Ｕ０(ｓｉ1)＝１である。すなわち、ｓｉ1の縮退１（以下、１への縮退をｓ−ａ−１(stuck-at-1)のように表す）のみが、ｓｉ1の０への不可制御性により影響を受ける。続いて、まず状態入力ｓｉiを
【００６９】
【数１８】
2008096440.tif 000020
【００７０】
に設定することにより、Ｕ１(ｓｉ1)を計算する。ｓｉ1が１に制御可能ではない場合には、ｓｉ1での縮退０（以下、０への縮退をｓ−ａ−０(stuck-at-0)のように表す）はテストすることができない。ｓｉ1が１に制御可能でない場合、ｌ1のファンインコーン内での故障に対する故障効果は、ゲートｇ2を通して伝播することができない。ここで、ｌ1から入力に向かってくまなく調べることにより、ｌ1のファンインコーンの故障の数を明らかにする。くまなく調査が行われたファンアウト自由領域ＦＦＲ1には３つの故障があるので、３がＵ１(ｓｉ1)に加えられる。（各ファンアウト自由領域ＦＦＲ1，ＦＦＲ2，…，ＦＦＲ5の出力において示された数は、そのファンアウト自由領域内の故障の数を与える。）ＦＦＲ1の訪問(visitation)は、ＦＦＲ1の訪問リスト(visitation list)に
【００７１】
【数１９】
2008096440.tif 000021
【００７２】
を加えることにより記録される。
【００７３】
【数２０】
2008096440.tif 000022
【００７４】
は、ゲートｇ2の出力に伝播する。ゲートｇ2の出力である信号線ｌ4が１に制御可能でないので、ｌ4でのｓ−ａ−０が影響を受ける。ｇ1の不可制御値が１なので、ゲートｇ1の他の入力ｌ3のファンインコーンでの故障は、ゲートｇ1を通して伝播することができない。ここで縦型(depth-first)探索を使用すると、ファンアウト自由領域ＦＦＲ5，ＦＦＲ3，ＦＦＲ4およびＦＦＲ2がこの順で訪問されるであろう。なお、
【００７５】
【数２１】
2008096440.tif 000023
【００７６】
が既にＦＦＲ1の訪問リストに載っているので、ＦＦＲ1が再び訪問されることはない。したがって、
Ｕ１(ｓｉ1)＝５(ＦＦＲ2)＋１４(ＦＦＲ3)＋７(ＦＦＲ4)＋３(ＦＦＲ1)＋５(ＦＦ5)＋１(ｓｉ1ｓ−ａ−０)＋１(ｌ4ｓ−ａ−０)＝３６
となる。
【００７７】
拡張スキャンセルが挿入された場合に状態入力を選択するために使用される利得関数は、制御性測定および有用性測定を使用して、状態入力ごとに計算される。状態入力ｓｉiに対する利得関数Ｇ(ｓｉi)は、次のように定義される。
【００７８】
Ｇ(ｓｉi)＝Ｃ０(ｓｏi)×Ｕ０(ｓｉi)＋Ｃ１(ｓｏi)×Ｕ１(ｓｉi)      …(2)
毎回、最大のＧ(ｓｉm)を有する状態入力ｓｉmが選択され、ｓｉmに既に挿入されていた通常型スキャンセルは、拡張スキャンセルで置換される。これは、通常、設計者によって事前に決められているＳ個の拡張スキャンセルが挿入されるまで、繰り返される。
【００７９】
図７に示したスキャン設計７０を再び参照する。ｓｉ1が最大の利得関数を有し、それによって拡張スキャンセルはｓｉ1に挿入されているものと仮定する。ｓｉ1に挿入された拡張スキャンセルのおかげで、開始タイムフレームでのｌ4の指定が、開始タイムフレームでの非常に少ない数の入力を指定することにより達成できることも仮定する。ｓｉ2を０に設定することは、初期化タイムフレームにおいて多くの数の入力を指定することが必要であるものとする。なお、ファンアウト自由領域ＦＦＲ2およびＦＦＲ4での故障は、その故障の検出のために、ゲートｇ1またはｇ4のいずれかを通して伝播することができる。拡張スキャンセルがｓｉ1に挿入されているので、ＦＦＲ2およびＦＦＲ4での故障に対する故障効果は、ｌ4を１に設定することにより、ゲートｇ1を通して伝播することができる。ｌ4の１への設定は、初期化タイムフレームにおいて少ない数の入力を指定することにより、ここで達成できる。したがって、ｓｉ2での拡張スキャンセルの挿入は、ＦＦＲ2およびＦＦＲ4の故障用のテストパターンに、さらに多くのドントケアを追加しないだろう。よって、各拡張スキャンセルが挿入された後に、通常型スキャンセルが拡張スキャンセルにより既に置換されているスキャン入力以外のすべてのスキャン入力の有用性測定を更新することが必要である。有用性測定は、各ＦＦＲに保持されている訪問リストを使用して、迅速に更新することができる。
【００８０】
例２：
拡張スキャンセルがｓｉ1に挿入された後、ｓｉ1での
【００８１】
【数２２】
2008096440.tif 000024
【００８２】
のいずれかによる影響を受けたすべてのＦＦＲは、再びくまなく調べられる。（ＦＦＲ1，ＦＦＲ2，ＦＦＲ3，ＦＦＲ4およびＦＦＲ5は、ｓｉ1での
【００８３】
【数２３】
2008096440.tif 000025
【００８４】
による影響を受けている。）更新ルーチンが、Ｆ個の故障をその中に有するＦＦＲjを訪れると、その更新ルーチンは、ＦＦＲjの訪問リストの要素をすべてチェックする。ＦＦＲjの訪問リストに要素
【００８５】
【数２４】
2008096440.tif 000026
【００８６】
があり、かつｓｉiのスキャンセルがまだ通常型スキャンセルである場合（これは、ＦＦＲjでの故障がｓｉ1の不可制御性による影響も受けたことを意味している）、更新ルーチンは、Ｕｖ(ｓｉi)からＦ（ＦＦＲj中の故障の数）を差し引く。例えば、ＦＦＲ2が２つの要素
【００８７】
【数２５】
2008096440.tif 000027
【００８８】
を有し、かつｓｉ2のスキャンセルはまだ通常型スキャンセルである。ＦＦＲ2は５個の故障を有するので、５がＵ０(ｓｉ2)から差し引かれて。Ｕ０(ｓｉ2)＝９とされる。７個の故障を有するＦＦＲ4は、その訪問リストに
【００８９】
【数２６】
2008096440.tif 000028
【００９０】
も有している。したがって、ＦＦＲ4の訪問リストをくまなく調べたとき、再び更新ルーチンは、Ｕ０(ｓｉ2)から７を減じ、Ｕ０(ｓｉ2)＝２とする。
【００９１】
本発明者らは、本明細書で提案された技術を実装し、大規模なＩＳＣＡＳ８９およびＩＴＣ９９のベンチマーク回路およびいくつかの産業用の回路を用いて、実験を行った。実験結果を図８の表に示す。純粋なブロードサイド手法で得られた結果（「純粋なブロードサイド手法」の欄）が、本発明に基づく方法（部分的拡張スキャン方法）を使用して得られた結果（「本明細書で提案の手法」の欄）と比較された。本発明者らは、提案した方法について、２つの異なる実験を行った。第１の実験（「制限された故障検出率」の欄を参照）では、提案した方法の目標故障検出率を純粋なブロードサイド手法で達成された故障検出率に制限した。第１の実験の主な目的は、本明細書で提案した方法によって、どれだけのテスト量を削減できるかを示すことである。第２の実験（「制限なしでの故障検出率」の欄を参照）では、提案した方法によってどれだけ故障検出率が改善するかを示すために、目標故障検出率を制限しなかった。＃ｉｎｐの欄は各回路の入力数を示し、＃ｌｉｎｅｓの欄は回路の信号線の総数を示している。すべての場合について、発生させたテストパターンは、動的圧縮および静的圧縮の両方によって大幅に圧縮された。
【００９２】
「１％拡張セル」の欄（「２％拡張セル」の欄）に示されたデータは、通常型スキャンセルの１％（２％）が拡張スキャンセルで置換された回路に対する結果を与えている。純粋なブロードサイド手法のためのテストパターンを含む全てのテストパターンが、本発明者らの社内での遷移遅延ＡＴＰＧツールにより発生させられた。ＦＣ％の欄は、達成された遷移遅延故障検出率を示し、一方、＃ｐａｔの欄は、ＡＴＰＧによって発生させたパターンの数を示している。ｖｏｌの欄は、純粋なブロードサイド手法のテストデータ量で正規化された、提案した方法でのテストデータ量を与える（数値１は、提案した方法のテストデータ量が純粋なブロードサイド手法のそれと全く同じであることを意味している）。提案した方法のテストデータ量については、（各拡張スキャンセルが２つのスキャンフリップフロップを有するので）追加されたスキャンフリップフロップのためのテストデータを含めた。１％の拡張スキャンセルが挿入されると、スキャンフリップフロップの総数も１％だけ増加する。時間(time)欄は、ＡＴＰＧの実行時間を秒単位で与えている。
【００９３】
これらの結果は、提案した方法の使用が、テストパターン数を削減できることを明確に示している。テストパターン数およびテストデータ量は、ｓ１３２０７およびｓ３８４１７以外の大半の回路について、提案した方法の使用により、著しく削減された。テストデータ量の削減が産業用の大規模な設計ではより大きくなることは、注目すべきである。なお、１％のスキャンセルが拡張スキャンセルで置換された場合、テストデータ量は、（提案した方法の目標故障検出率が制限された場合）Ｄ３について５２％削減されている。２％のスキャンセルが拡張スキャンセルで置換された場合には、Ｄ３のテストデータ量は６５％も削減された。発生したテストパターンの数が削減され、開始タイムフレームにおいてスキャン入力をジャスティフィケーション(justification)することに費やした時間も削減されたので、ＡＴＰＧの実行時間は著しく短縮される。なお、２％の拡張スキャンセルが挿入された場合、ＡＴＰＧの実行時間は、ｓ１５８５０について２２１秒から３９．７秒、すなわち、たった１／５．５になった。ＡＴＰＧの実行時間の短縮は、産業用の大規模な設計に対してさらに大きくなる。故障検出率は、提案した方法の使用により、向上した（「制限なしでの故障検出率」の欄を参照）。なお、故障検出率の改善は、高い遷移遅延故障検出率を達成するのが難しいＩＴＣ９９ベンチマーク回路に対して大きくなっている。たった１％の拡張スキャンセルの挿入が、ｂ２２ｓについて、故障検出率を約６％向上させることができた。これは、提案された方法を用いることにより、純粋なブロードサイド手法では所望の故障検出率を達成できない回路の故障検出率を改善できることを示唆している。提案された拡張スキャンセルを有する設計に対して達成された故障検出率は、常に、すべての回路に対して、純粋なブロードサイド手法によって達成された故障検出率よりも高い。
【００９４】
本発明に基づくスキャンベースのテスト容易化設計(design-for-testability)技術は、拡張スキャンセルを使用して遅延テストパターンの量を削減し、遅延故障検出率を改善する。本発明に基づく技術は、少数の通常型スキャンセルをこの明細書で提案している拡張スキャンセルで置換する。提案された拡張スキャンセルは、２ビットを保持できる。拡張スキャンセルはスキュードロード手法によって制御され、残りのスキャンセルはブロードサイド手法によって制御される。しかしながら本発明に基づく技術は、テストパターンの印加中にスキャンセルを制御するスキャンイネーブル信号のカスタム設計を必要としない。その代りに、付加的な信号を内部的に発生させ、スキュードロードのようなやり方で拡張スキャンセルを制御する。拡張スキャンセルの挿入は、テストパターンのドントケアを増加させることができる。これらのドントケアは、ＡＴＰＧプロセス中、動的圧縮および静的圧縮によって利用することができ、それによりテストデータ量を削減する。さらに、拡張スキャンセルの挿入は、ＡＴＰＧの実行時間を短縮することができる。少数の拡張スキャンセルのみが挿入されるので、提案した方法におけるハードウェアのオーバーヘッドは非常に小さい。拡張スキャンセルが挿入されるスキャン入力は、制御性コストと有用性測定とからなる利得関数によって選択される。制御性コストは、信号線を２進値に設定するために指定されるべき入力の数を反映し、スキャン入力の有用性測定は、開始タイムフレームにおいてスキャン入力を指定する必要があるテストパターンの数を反映している。特別なＡＴＰＧを必要とするＬｉｕら（非特許文献１）が提案するものと異なり、本発明に基づけば、通常型の遷移遅延ＡＴＰＧを使用して、修正することなく、提案した拡張スキャンセルを用いた設計用の遷移遅延テストパターンを発生させることができる。
【００９５】
実験結果は、少数の通常型スキャンセルのみが提案のスキャンセルで置換された場合に、提案された方法の使用により、６５％までテストデータ量を削減でき、約６％まで遷移故障検出率を改善できることを示している。実験結果は、提案された方法を用いることで、ＡＴＰＧの実行時移管の著しい短縮を達成できることも示している。
【００９６】
要約すると、本発明に基づけば、従来のブロードサイド手法よりも高い故障検出率を達成することができる。本発明に基づけば、スキャンイネーブル信号における通常動作速度でのスイッチング能力を必要とする高価なスキュードロード手法を使用せずに、遅延故障検出率を改善し、テストサイズを削減することができる。ブロードサイド手法をサポートするどのような商用ＡＴＰＧツールも、何ら変更なく使用することができる。本発明に基づく方法が被るハードウェアのオーバヘッドは非常に低い。本発明に基づく方法のＡＴＰＧの実行時間も従来のブロードサイド手法より短縮されている。
【００９７】
本発明に基づく方法は、ブロードサイド手法より高速のスイッチングを必要とするスキュードロード手法によってスキャンセルをすべて駆動するための高コストを払う必要なく、テストシーケンス長を短縮し、より高い遅延故障検出率を達成する。拡張スキャンセルをスイッチングする駆動信号が通常型スキャンセルを駆動する信号から取り出されるので、拡張スキャンセルを駆動する付加のピンは必要ではない。
【００９８】
最も実用的で好ましい実施形態であると考えられるものについて本発明を図示し、説明してきた。しかしながら、新しい試みがそこからなされてもよく、明白な修正が当業者によってなされることであろうことが予想される。当業者は、ここに明確に図示または説明していない多くの配置および変形を考案できるであろうが、それらは、本発明の原理を具体化するものであり、本発明の精神および範囲に包含されることが十分に理解されるであろう。
【図面の簡単な説明】
【００９９】
【図１】標準スキャン方式に対してツーパターンテストを適用するためにスキュードロード手法およびブロードサイド手法を用いる標準のスキャン遅延テストのタイミング図である。
【図２】図１のブロードサイド手法によりフルスキャン方式用の遷移テストパターン対を発生することを示すツータイムフレームモデルを示している。
【図３】（ａ）は、拡張チェーンを有しない回路に対する遷移遅延パターンの発生することを示し、（ｂ）は、ｓｉiでの拡張スキャンセルを有する回路に対する遷移遅延パターンの発生を示している。
【図４】（ａ）は、本発明に基づき拡張スキャンセルを有するスキャンチェーンを示す図であり、（ｂ）は、本発明に基づく多重化された(muxed)通常型スキャンセルを示す図であり、（ｃ）は、本発明に基づくスキャンセルを示す図であり、（ｄ）は、本発明に基づく、拡張スキャンセルに関連する信号の波形を示す図である。
【図５】図４（ａ）に示した拡張スキャンセルを駆動するｓｋｅｗ＿ｌｄ信号を発生させる回路のブロック図である。
【図６】本発明に基づく、自動テストパターン発生器ＡＴＰＧ用の拡張スキャンセルのブロック図である。
【図７】本発明に基づく拡張スキャンセルが標準スキャンチェーンに挿入された、状態入力の有用性尺度を例示的に計算するためのスキャン方式の一部を示す図である。
【図８】発明に基づく拡張スキャンセル技術を純粋なブロードサイド手法と比較した実験結果を示す表である。
【符号の説明】
【０１００】
２０    ツータイムフレームモデル
７０    スキャン設計
【図１】
2008096440.tif 000029
【図２】
2008096440.tif 000030
【図３】
2008096440.tif 000031
【図４】
2008096440.tif 000032
【図５】
2008096440.tif 000033
【図６】
2008096440.tif 000034
【図７】
2008096440.tif 000035
【図８】
2008096440.tif 000036