(57)【要約】   テスト対象回路（２４）が、論理回路（１２）に可動的に接続される入力部及び出力部を備えるフリップフロップセル（10a-c）を有するスキャンチェーンを有する。異なるクロックドメインが各々、各ドメインクロック信号(CLKa, CLKb, CLKc)によってクロック出力されるフリップフロップセル(10a-c)の各部分を含む。テストパターンに対する応答を取り込むように選択的にイネーブルされるドメインクロック信号の関連付けられた組み合わせを各々備えるテスト入力パターンのセットが選択される。前記セットは、(a)第一のクロックドメインにおけるタイミングセンシティブフリップフロップセル（10a-c）によって取り込まれる応答が故障を検出するために使用され、(b)タイミングセンシティブフリップフロップセル（10a-c）は、第一のクロックドメインと異なる第二のクロックドメインに属するソースフリップフロップセル（10a-c）からのデータに依存するデータを受信し、(c)特定のテストパターンに関連付けられる選択的にイネーブルされたドメインクロック信号の組み合わせが、第一のドメインと第二のドメインとの両方のクロックを有するという特性を有する特定のテストパターンを含む。これらの特定のテストパターンは、ソースフリップフロップセル（10a-c）におけるデータ値が、特定のテストパターンのためにソースフリップフロップセル（10a-c）によって取り込まれる応答値に等しくなるという特性も有する。好ましくは、テストパターンのセットは、実際のテスト対象回路の設計に加えられる追加の論理回路(30, 40, 42)によって得られる仮想回路に対して生成される。追加の論理回路(30, 40, 42)は、ソースフリップフロップセル（10a-c）の入力信号と出力信号とが等しくなり、第二のドメインクロックがイネーブルされるとき、ソースフリップフロップセル（10a-c）からのデータに対するタイミングセンシティブフリップフロップセル（10a-c）の入力信号の依存性を選択的にイネーブルするように設計される。
2007518988.tif 000002
【特許請求の範囲】
【請求項１】
論理回路に可動的に接続される入力部及び出力部を備えるフリップフロップセルを有するスキャンチェーン及び前記論理回路を備えるテスト対象回路をテストするための回路テスティングシステムであって、前記テスト対象回路は、各々が、各ドメインクロック信号によってクロック出力される前記フリップフロップセルの各部分を含む複数のクロックドメインを有し、前記回路テスティングシステムは、
−  テスト制御器が前記スキャンチェーンを通じて連続のテスト入力パターンをもたらすテストモードに前記テスト対象回路をスイッチするように構成され、各々のテスト入力パターンは、前記スキャンチェーンのフリップフロップセルに前記テスト入力パターンに対する前記論理回路の応答を取り込むように選択的にイネーブルされるドメインクロック信号の各組み合わせと関連付けられ、前記テスト制御器は、前記テスト対象回路における故障を検出するために少なくとも前記フリップフロップセルの部分からの前記取り込まれた応答を使用するテスト制御器と、
−  前記テスト制御器による使用のために前記ドメインクロック信号の関連付けられた組み合わせ及びテスト入力パターンのセットを選択するように構成されるテストパターンセレクタと
を有し、
−  第一のクロックドメインにおけるタイミングセンシティブフリップフロップセルによって取り込まれる前記特定のテストパターンに対する応答は故障を検出するために使用され、
−  前記タイミングセンシティブフリップフロップセルは、前記第一のクロックドメインと異なる第二のクロックドメインに属するソースフリップフロップセルからのデータに依存するデータを受信し、
−  前記特定のテストパターンに関連付けられる前記選択的にイネーブルされたドメインクロック信号の組み合わせは、前記第一のドメインと前記第二のドメインとの両方の前記クロックを有する
という特性を有する前記選択されたセットにおける特定のテストパターンが、
前記ソースフリップフロップセルにおけるデータ値は、前記特定のテストパターンのために前記ソースフリップフロップセルによって取り込まれる応答値に等しくなるという更なる特性も有する回路テスティングシステム。
【請求項２】
前記テストパターンセレクタは、
−  前記テスト対象回路に対応する元の設計を表す情報を記憶し、
−  各々のテストパターンと共に、前記ドメインクロックの各々の一つが前記テストパターンに対する応答の取り込みの間にディスエーブルされなければならないかどうかを示すクロックステータス信号を含み、
−  前記元の設計の適応バージョンを生成し、追加の論理回路が前記元の設計に加えられており、前記クロックステータス信号が、前記第二のドメインクロックはディスエーブルされることを示すとき、前記追加の論理回路は、前記元の設計による前記ソースフリップフロップからのデータに対する前記タイミングセンシティブフリップフロップセルの入力信号の依存性を選択的にイネーブルするように設計され、前記ソースフリップフロップセルの入力信号と出力信号とが等しくなり、前記第二のドメインクロックがイネーブルされるとき、前記追加の回路も前記依存性をイネーブルし、
−  論理回路故障のセットが前記適応バージョンに対してカバーされるように、関連付けられたクロックステータス信号で前記テストパターンを選択するように前記適応バージョンを使用する
請求項１に記載の回路テスティングシステム。
【請求項３】
論理回路に可動的に接続される入力部及び出力部を備えるフリップフロップセルを有するスキャンチェーン及び前記論理回路を備えるテスト対象回路をテストする方法であって、前記テスト対象回路は、各々が、各ドメインクロック信号によってクロック出力される前記フリップフロップセルの各部分を含む複数のクロックドメインを有し、前記方法は、
−  前記テストパターンに対する応答を取り込むように選択的にイネーブルされるドメインクロック信号の関連付けられた組み合わせを各々備えるテスト入力パターンのセットを選択するステップ
を有し、前記セットが、
−第一のクロックドメインにおけるタイミングセンシティブフリップフロップセルによって取り込まれる前記特定のテストパターンに対する応答は故障を検出するために使用され、
−前記タイミングセンシティブフリップフロップセルは、前記第一のクロックドメインと異なる第二のクロックドメインに属するソースフリップフロップセルからのデータに依存するデータを受信し、
−前記特定のテストパターンに関連付けられる前記選択的にイネーブルされたドメインクロック信号の組み合わせは、前記第一のドメインと前記第二のドメインとの両方のクロックを有する
という特性を有する特定のテストパターンを含み、
−  前記特定のテストパターンは、前記ソースフリップフロップセルにおけるデータ値は、前記特定のテストパターンのために前記ソースフリップフロップセルによって取り込まれる応答値に等しくなるという更なる特性も有し、
前記方法は、
−  前記テスト対象回路をテストモードにスイッチするステップと、
−  前記特定のテストパターンを含む、前記スキャンチェーンを通じた前記セットからの連続テスト入力パターンをもたらすステップと、
−  前記スキャンチェーンのフリップフロップセルに前記テストパターンに対する前記論理回路の応答を取り込むように、各々のテストパターンに関連付けられた前記ドメインクロック信号の組み合わせを選択的にイネーブルするステップと、
−  前記特定のテストパターンに応答して前記タイミングセンシティブフリップフロップセルによって取り込まれる応答を含む、前記テスト対象回路における故障を検出するために少なくとも前記フリップフロップセルの部分からの前記取り込まれた応答を使用するステップと
を有する方法。
【請求項４】
前記テストパターンのセットを選択するステップは、
−  前記テスト対象回路に対応する元の設計を表す情報を受信するステップと、
−  各々のパターンと共に、前記ドメインクロックの各々の一つが前記テストパターンに対する応答の取り込みの間にディスエーブルされるかどうかを示すクロックステータス信号を含むステップと、
−  前記元の設計の適応バージョンを生成し、追加の論理回路が前記元の設計に加えられており、前記クロックステータス信号が、前記第二のドメインクロックはディスエーブルされることを示すとき、前記追加の論理回路は、前記元の設計による前記ソースフリップフロップセルからのデータに対する前記タイミングセンシティブフリップフロップセルの入力信号の依存性を選択的にイネーブルするように設計され、前記ソースフリップフロップセルの入力信号と出力信号とが等しくなり、前記第二のドメインクロックがイネーブルされるとき、前記追加の回路も前記依存性をイネーブルするように設計されるステップと、
−  論理回路故障のセットが前記適応バージョンに対してカバーされるように、前記適応バージョンに対して、関連付けられたクロックステータス信号で前記テストパターンのセットを選択するステップと
を有する請求項３に記載のテストする方法。  
【請求項５】
−  前記元の設計における前記論理回路を通じて前記タイミングセンシティブフリップフロップセルの入力部から、ノード信号は、前記第一及び第二のクロックドメインの外側のフリップフロップセルからの何れのデータにも依存しないが前記ソースフリップフロップセルからのデータに依存する回路ノードが遭遇されるまで追跡するステップ
を有し、
−  前記生成するステップが、前記選択的にイネーブルされた依存性を実現するために前記回路ノードにおいて前記設計の適応バージョンで追加のゲートを加えるステップを含む
請求項４に記載のテストする方法。    
【請求項６】
論理回路に可動的に接続される入力部及び出力部を備えるフリップフロップセルを有するスキャンチェーン及び前記論理回路を備えるテスト対象回路をテストするためのテストパターンのセットを伝える媒体であって、前記テスト対象回路は、各々が、各ドメインクロック信号によってクロック出力される前記フリップフロップセルの各部分を含む複数のクロックドメインを有し、前記テスト入力パターンのセットの各々は、前記テストパターンに対する応答を取り込むように選択的にイネーブルされるドメインクロック信号の関連付けられた組み合わせに関連付けられ、
前記セットが、
−第一のクロックドメインにおけるタイミングセンシティブフリップフロップセルによって取り込まれる前記特定のテストパターンに対する応答は故障を検出するために使用され、
−前記タイミングセンシティブフリップフロップセルは、前記第一のクロックドメインと異なる第二のクロックドメインに属するソースフリップフロップセルからのデータに依存するデータを受信し、
−前記特定のテストパターンに関連付けられる前記選択的にイネーブルされたドメインクロック信号の組み合わせは、前記第一のドメインと前記第二のドメインとの両方の前記クロックを有し、
−前記特定のテストパターンは、前記ソースフリップフロップセルにおけるデータ値が前記特定のテストパターンのために前記ソースフリップフロップセルによって取り込まれる応答値に等しくなるという更なる特性も有する
という特性を有する特定のテストパターンを含む媒体。  
【請求項７】
論理回路に可動的に接続される入力部及び出力部を備えるフリップフロップセルを有するスキャンチェーン及び前記論理回路を備えるテスト対象回路のためのテストパターンのセットを生成する方法であって、前記テスト対象回路は、各々が、各ドメインクロック信号によってクロック出力される前記フリップフロップセルの各部分を含む複数のクロックドメインを有し、各々のテストパターンは、前記テストパターンに対する応答を取り込むように選択的にイネーブルされるドメインクロック信号の関連付けられた組み合わせになり、前記方法は、
−  前記テスト対象回路に対応する元の設計を表す情報を受信するステップと、
−  各々のパターンと共に、前記ドメインクロックの各々の一つが前記パターンに対する応答の取り込みの間にディスエーブルされるかどうかを示すクロックステータス信号を含むステップと、
−  前記元の設計の適応バージョンを生成し、追加の論理回路が前記元の設計に加えられており、前記クロックステータス信号が、前記第二のドメインクロックはディスエーブルされることを示すとき、前記追加の論理回路は、前記元の設計による前記ソースフリップフロップセルからのデータに対する前記タイミングセンシティブフリップフロップセルの入力信号の依存性を選択的にイネーブルするように設計され、前記ソースフリップフロップセルの入力信号と出力信号とが等しくなり、前記第二のドメインクロックがイネーブルされるとき、前記追加の回路も前記依存性をイネーブルするように設計されるステップと、
−  論理回路故障のセットが前記適応バージョンに対してカバーされるように、前記適応バージョンに対して関連付けられたクロックステータス信号で前記テストパターンのセットを選択するステップと
を有する方法。
【請求項８】
−  前記元の設計における前記論理回路を通じて前記タイミングセンシティブフリップフロップセルの入力部から、ノード信号は、前記第一及び第二のクロックドメインの外側のフリップフロップセルからの何れのデータにも依存しないが前記ソースフリップフロップセルからのデータに依存する回路ノードが遭遇されるまで追跡するステップ
を有し、
−  前記生成するステップが、前記選択的にイネーブルされた依存性を実現するために前記回路ノードにおいて前記設計の適応バージョンで追加のゲートを加えるステップを含む
請求項７に記載のテストパターンのセットを生成する方法。  
【請求項９】
論理回路に可動的に接続される入力部及び出力部を備えるフリップフロップセルを有するスキャンチェーン及び前記論理回路を備えるテスト対象回路のためのテストパターンのセットを生成するためのテストパターン発生装置であって、前記テスト対象回路は、各々が、各ドメインクロック信号によってクロック出力される前記フリップフロップセルの各部分を含む複数のクロックドメインを有し、各々のテストパターンは、前記テストパターンに対する応答を取り込むように選択的にイネーブルされるドメインクロック信号の関連付けられた組み合わせになり、前記装置は、
−  前記テスト対象回路に対応する元の設計を表す情報を受信し、
−  各々のパターンと共に、前記ドメインクロックの各々の一つが前記パターンに対する応答の取り込みの間にディスエーブルされるかどうかを示すクロックステータス信号を含み、
−  前記元の設計の適応バージョンを生成し、追加の論理回路が前記元の設計に加えられており、前記クロックステータス信号が、前記第二のドメインクロックはディスエーブルされることを示すとき、前記追加の論理回路は、前記元の設計による前記ソースフリップフロップセルからのデータに対する前記タイミングセンシティブフリップフロップセルの入力信号の依存性を選択的にイネーブルするように設計され、前記ソースフリップフロップセルの入力信号と出力信号とが等しくなり、前記第二のドメインクロックがイネーブルされるとき、前記追加の回路も前記依存性をイネーブルするように設計され、
−  論理回路故障のセットが前記適応バージョンに対してカバーされるように、前記適応バージョンに対して関連付けられたクロックステータス信号で前記テストパターンのセットを選択する
ように構成されるテストパターン発生装置。
【請求項１０】
論理回路に可動的に接続される入力部及び出力部を備えるフリップフロップセルを有するスキャンチェーン及び前記論理回路を備えるテスト対象回路のためのテストパターンのセットを生成するための装置命令を含むコンピュータプログラムであって、前記テスト対象回路は、各々が、各ドメインクロック信号によってクロック出力される前記フリップフロップセルの各部分を含む複数のクロックドメインを有し、各々のテストパターンは、前記テストパターンに対する応答を取り込むように選択的にイネーブルされるドメインクロック信号の関連付けられた組み合わせになり、前記命令は、
−  前記テスト対象回路に対応する元の設計を表す情報を受信し、
−  各々のパターンと共に、前記ドメインクロックの各々の一つが前記パターンに対する応答の取り込みの間にディスエーブルされるかどうかを示すクロックステータス信号を含み、
−  前記元の設計の適応バージョンを生成し、追加の論理回路が前記元の設計に加えられており、前記クロックステータス信号が、前記第二のドメインクロックはディスエーブルされることを示すとき、前記追加の論理回路は、前記元の設計による前記ソースフリップフロップセルからのデータに対する前記タイミングセンシティブフリップフロップセルの入力信号の依存性を選択的にイネーブルするように設計され、前記ソースフリップフロップセルの入力信号と出力信号とが等しくなり、前記第二のドメインクロックがイネーブルされるとき、前記追加の回路も前記依存性をイネーブルするように設計され、
−  論理回路故障のセットが前記適応バージョンに対してカバーされるように、前記適応バージョンに対して関連付けられたクロックステータス信号で前記テストパターンのセットを選択する
ように構成されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路、特に集積回路のテスティングに関する。  
【背景技術】
【０００２】
米国特許出願第2002/0069385号公報は、複数のクロックドメイン（領域）を有する集積回路をテストする方法を開示している。
【０００３】
回路をテストする従来方法は、論理回路と、論理回路に接続される演算（オペレーション）入力部及び出力部を有するフリップフロップとを備える回路をテストするためのスキャンチェーン（scan chain）技術を使用する。テストの間、回路は、フリップフロップが自身の演算入力部から一時的に切り離される（解除される）モードにスイッチされると共にシフトレジスタを形成するようにスイッチされる。テスト入力パターンがシフトレジスタを通じて入力されるので、各々のフリップフロップはテストパターンの各ビットを受信する。次に、論理回路の応答を取り込むため、フリップフロップは１クロックサイクルの間に自身の通常演算入力部及び出力部に再びスイッチされる。その後、フリップフロップは、論理回路の取り込まれた応答が抽出される（取り出される）シフトレジスタを形成するように再度スイッチされる。
【０００４】
テストパターンの回路特定セットが、特定の回路の経済的かつ信頼度（性）の高いテストを実現するために必要とされる。入力パターンのセットを選択するためのテスト設計技術はそれ自体知られている。テスト設計技術のタスクは、最少数のテストパターンを備えるセットを見つけることにあるので、選択されたセットの故障（欠陥（フォールト））の各々の効果は、少なくとも一つのテストパターンに対する応答において観測可能になるであろう。故障の一つのセットは、例えば論理回路の全ての回路ノードにおける”縮退（スタックアト）”故障（"stuck-at" fault）のセットになる。その結果、回路ノードは、論理回路の入力信号から独立して固定論理レベルにおいて保持される。縮退故障に対してテストするために、テストパターンのセットは、各々の回路ノードが少なくとも一つのテストパターンによって、可能な縮退値と反対（逆）の論理値に駆動されると共に、ノードにおける論理値が、回路の観測可能な応答に影響を及ぼすようなパターンを含んでいなければならない。他方で、テスト入力パターンの増大する数が必要とされるとき、テスト時間及びそれ故に集積回路の費用は増大するため、セットにおけるテストパターンの数は最少化されるべきである。
【０００５】
知られているテスト設計技術は、テスト応答を取り込むために単一クロックを備える回路を仮定する。しかしながら、最新の集積回路は、多くの場合、複数のクロックドメインを含んでいる。すなわち、当該集積回路は、異なるクロック信号の間の所定の相対的なタイミング関係を仮定することなく複数の異なるクロック信号を使用する。各々のクロック信号は、フリップフロップの各グループにクロック出力する。異なるグループの間のインタフェース回路により、グループの間のデータ転送はクロック信号の正確なタイミング関係に依存しないことが保証される。異なるクロックドメインの存在は、テスティングに対する問題をもたらす。一つのドメインからのクロックでクロック出力されると共に他のクロックドメインにおけるクロックのタイミングに依存するフリップフロップにおいて取り込まれる応答データの値は、故障のない集積回路においてさえも不定（uncertain）となり得る。
【０００６】
米国特許出願第2002/0069385号公報は、マルチクロックドメイン回路に対してどのくらい信頼度の高いテスティングが可能になるかを開示している。当該回路において、テスト入力データに対する応答の取り込みの間、選択可能（セレクタブル）なクロックドメインのフリップフロップに対してクロック信号をディスエーブルする可能性がもたらされる。このように、テスト応答データは、たった一つのクロックドメインのイネーブルクロック信号に依存するテスト条件がもたらされ得るので、不定は解除される。基本的に信頼度の高いテストは、たった一つのクロックドメインのクロック信号を同時にイネーブルすることによって保証され得る。
【０００７】
しかしながら、米国特許出願第2002/0069385号公報は、たった一つのクロックドメインのクロック信号を同時にイネーブルすることが、同じクロックドメイン内でフリップフロップを接続する論理回路における故障をテストするのに必ずしも必要とされないことを記載している。これらの故障は、全てのクロック信号がイネーブルされる間、テストされ得る。従って、異なるクロックドメインにおける故障は並列にテストされることが可能であり、これにより、必要とされるテストパターンの数が低減され、それによって、テスト時間及びテスティングコスト（費用）が低減される。全てのクロックドメインのクロック信号がイネーブルされる間、確実にテストされ得ない故障は、ほとんど一つの含まれるドメインのクロック信号をディスエーブルすることによってテストされる。
【０００８】
トリック（trick）を使用することによって、従来の単一クロックドメインテストパターン生成ソフトウエアは、この種のマルチクロックドメイン回路もテストするためのテストパターンの必要とされるセットを生成するために使用され得る。テストパターンは、どのクロックドメインがテストパターンの応答を取り込むためにイネーブルされるかを示すクロックステータス（状態）信号（clock status signal）を含むことが仮定される。従来のテストパターン生成ソフトウエアの使用は、実際の設計の代わりに設計がテスト対象回路（circuit under test）の実際の設計から適応される“仮想（virtual）”回路のためのテストパターンを生成することによって可能になる。
【０００９】
仮想回路において、関連するクロックがディスエーブルされない場合に、クロックタイミングに依存する信号の影響（効果）は、クロックステータス信号の制御下で現れなくなるように見えるように回路を加えることによって適用がなされる。これにより、従来のテストパターン生成ソフトウエアは、選択クロックドメインをディスエーブルするクロックステータス信号の値を備えるテストパターンを含まなければならない。従って、従来のテストパターン生成ソフトウエアは、ちょうど単一クロックドメインが存在しているかのように続行（進行）し得る。各々の結果としてもたらされるテストパターンに対して、応答のどの部分は、加えられた仮想回路における故障を示すかが決定される（わずかなテスト応答における収差（aberration）をもたらし得る回路の決定は従来のテスト設計技術の標準的なオプション（選択肢）になる）。応答のこれらの部分は、実際の回路において当該部分がタイミングの不正確さによって影響を及ぼされるため、テスティングのために無視される。
【００１０】
元来この技術は、異なるクロックによってクロック出力されるフリップフロップの間に接続される論理回路が、限定された複数さになることは予期されるため、多くの追加のテスト入力パターンを必要としないと考えられてきた。しかしながら実際、多くの論理回路はかなりの追加の数のテストパターン、それに応じてテスト時間のかなりの増大を必要とすることが分かった。  
【発明の開示】
【発明が解決しようとする課題】
【００１１】
とりわけ本発明の目的は、複数の異なるクロックドメインを含むテスティング回路のために必要とされるテスト時間の量を低減することにある。  
【課題を解決するための手段】
【００１２】
本発明による回路テスティングシステムは請求項１に記載される。本発明によれば、第二の異なるクロックドメインにおけるソースフリップフロップ（source flip-flop）におけるテストデータに依存する応答を取り込む第一のクロックドメインにおけるタイミングセンシティブ（感度の高い）フリップフロップ（timing sensitive flip-flop）の間で論理回路をテストするための入力テストパターンの選択の間、第一のフリップフロップにおけるデータは、応答が取り込まれるときに当該データはクロック出力される場合、値を変えるかどうかが考慮される。そうでない場合、異なるクロックドメインのタイミング関係についての不確定性は、タイミングセンシティブフリップフロップからのデータに対して不確定性をもたらさないので、第二のフリップフロップにおける応答データは信頼され得るものとして処理され得ることが仮定されてもよい。
【００１３】
この洞察は、第一のクロックドメインにおいてタイミングセンシティブフリップフロップセル（10a-c）によって取り込まれる特定のテストパターンに対する応答に依存する故障検出を使用して故障をカバーすることによって、全ての必要とされる故障を検出するのに必要とされるテスト入力パターンの数を低減するために使用される。ここで、タイミングセンシティブフリップフロップセル（10a-c）は、第一のクロックドメインと異なる第二のクロックドメインに属するソースフリップフロップセル（10a-c）からのデータに依存するデータを受信し、特定のテストパターンに関連して選択的にイネーブルされたドメインクロック信号の組み合わせは、第一のドメインと第二のドメインとの両方のクロックを有する。特定のテストパターンにおいて、ソースフリップフロップセル（10a-c）におけるデータ値は、特定のテストパターンに対してソースフリップフロップセル（10a-c）によって取り込まれる応答値に等しくなる。
【００１４】
好ましくは、クロックステータス信号が、第二のドメインクロックはディスエーブルされ、ソースフリップフロップの入力及び出力信号が同じになるとき追加の回路も依存性（従属）をイネーブルするように設計されていることを示すとき、及び／又はクロックステータス信号が、第二のドメインクロックはディスエーブルされていることを示すとき、テストは、元の設計によりソースフリップフロップからのデータに対するタイミングセンシティブフリップフロップの入力信号の依存性を選択的にディスエーブルする他の回路に対して実行されるようにテストパターンを選択することによって本発明は実現される。従って、従来の単一クロックドメインテストパターン選択装置は、必要とされる故障をカバーするテストパターンのセットを選択するために使用されてもよい。テストパターン選択は、テスト対象デバイス（device under test）にもテストパターンを供給するテスト装置において実行されてもよい。しかしながら、テストパターン選択は、この目的のために好適にプログラムされる別個のコンピュータにおいて実行されてもよく、この目的のためのプログラムはネットワークを介してもたらされ得るか、又はディスク上、若しくは他の型式のコンピュータ読み出し可能なメモリ内に存在し得る。この場合、テストパターンはネットワークを介してテスト装置に送信され得るか、又は機械読み出し可能なディスク若しくはテープのようないくつかの他の媒体（medium）に送信され得る。
【００１５】
本発明のこれら及び他の目的及び有利な態様は、以下の図面を使用して非限定的な実施例によって、より詳細に記載されるであろう。  
【発明を実施するための最良の形態】
【００１６】
図１は、複数のフリップフロップセル10a-c及び11、（枠として示される）論理回路の集合部12、並びにテスト制御回路１５を備えるテスト可能な回路の実施例を概略的に示している。機能フリップフロップセル10a-cは、論理回路１２に結合される演算入力部及び出力部を有する。更にフリップフロップセル10a-c及び11は、入力部１４及び出力部１６を備えるスキャンチェーンで接続されるシリアルシフト入力部及び出力部を有する。
【００１７】
図1ａは、図１の回路において使用されてもよいフリップフロップセル１０の実施例を示す。各々のセル１０は、マルチプレクサ１１２及びフリップフロップ１１０を有する。マルチプレクサ１１２は、セル１０の入力部及び先行するセルのフリップフロップ１１０のデータ出力部に結合される入力部を有する。各々のセル１０において、マルチプレクサ１１２の出力部は、セル１０のフリップフロップ１１０のデータ入力部に接続される。フリップフロップ１１０のデータ出力は、セルのデータ出力を形成する。フリップフロップ１１０はセルのクロック信号でクロック出力される。テスト制御信号は、入力データと出力データとが論理回路１２で交換されるか、又はデータがクロック信号に応答して一方のセルから他方のセルにシフトされるようにセル１０のマルチプレクサ１１２を制御する。選択的に、追加のフリップフロップが、フリップフロップ１１０の間に挿入されてもよく、フリップフロップ１１０のクロッキングの間でクロック出力されてもよい。
【００１８】
回路は、各々がフリップフロップセル10a-c及び11の各グループを含んでおり、各々が各クロック信号に対してクロック入力CLKa, CLKb, 及びCLKcを有している複数のクロックドメインを有する。入力CLKa, CLKb, 及びCLKcの選択された一つからのクロックをディスエーブルすることを可能にするクロックイネーブルゲート１８及び１９がもたらされる。テスト制御回路１５が、イネーブル信号はもたらされる（生成される）べきであることを示すとき、又はクロックドメイン制御フリップフロップセル１１からのデータがクロック信号は伝えられる（通される）べきであることを示すとき、論理和（ＯＲ）ゲート１９は各クロックドメインに対してクロックイネーブル信号をもたらす。論理積（ＡＮＤ）ゲート１８は、イネーブル信号がもたらされているとき、入力CLKa, CLKb, 及びCLKcからのクロック信号を伝える。
【００１９】
図１及び１ａの回路が、テストの間、選択的にイネーブルされ得るクロックドメイン及びスキャンチェーンを備える回路の例によって示されていることは評価されるべきである。
【００２０】
動作において、回路テスト制御回路１５は、回路が通常（ノーマル）モード及びテストモードで動作するかを制御する。通常モードにおいて、フリップフロップセル10a-cは、論理回路１２からデータを受信すると共に論理回路１２にデータを供給する。クロック信号CLKa, CLKb, 及びCLKcは、フリップフロップセル10a-cにもたらされる。クロック信号の間の所定のタイミング関係が必要とされることはなく、クロック信号は、例えばいくつかのクロック源にロックされる異なる発振器から得られてもよい。フリップフロップセル10a-cにおけるデータは、フリップフロップセル10a-cにもたらされるクロック信号CLKa, CLKb, 及びCLKcによって規定される時点で更新される。
【００２１】
基本的に、論理回路１２はイントラクロックドメイン（クロックドメイン内）論理回路（intra clock domain logic circuit）を含んでいてもよく、当該回路は、同じ単一クロック信号CLKa, CLKb, 及びCLKcのみを受信するフリップフロップセル１０に直接的に結合されるか、又は他の論理回路を介して間接的に結合される論理入力部及び出力部を有する。他の論理回路は、例えば一方のクロックドメインのフリップフロップセル１０ａに結合される一つ又はそれより多くの入力部と、他方のクロックドメインのフリップフロップセル１０ｂに結合される出力部とを備える（複数の入力部の場合、可能なことに、異なる入力部も、異なる遅延を備える異なる論理回路を介して一方のクロックドメインのフリップフロップセル１０ａに接続される）か、又は異なるクロックドメインからフリップフロップセル１０ａ及びｂに結合される異なる入力部を備える一つよりも多くのクロックドメインからフリップフロップセル１０に接続されるインタドメイン（ドメイン間）論理回路（inter-domain logic circuit）であってもよい。それ自体知られている同期又はハンドシェイク（handshake）回路が、このようなマルチドメイン論理回路のタイミングを処理するために論理回路１２に含まれていてもよい。
【００２２】
図２は、テストモードにおいて回路を動作させるテストシステムを示す。テストシステムは、テストパターンセレクタ（test pattern selector）２０、テストデータ信号発生器（ジェネレータ）（test data signal generator）２２、及び図１の回路を含むテスト対象回路２４を含む。テストパターンセレクタ２０は、発生器２２に対する予測された応答及び選択されたパターンを信号で伝える（信号送出する）ための出力部を有する。発生器２２はテストデータ入力部／出力部２６と、テスト対象回路２４の一つ又はそれより多くのクロック入力部、テスト出力部１６、及びテスト入力部１４に結合されるクロック出力部２８とを有する。テストパターンセレクタ２０及び発生器２２は、当該二つの間の接続部で別個に示されているが、これらが実際、同じ装置の部分になってもよいこと、又は代わりに、テストパターンセレクタが、ネットワークを介して、又はテストパターンのセットを規定する情報を伝える一つ又はそれより多くのディスク、及び磁気テープ等を使用して、発生器２２を含むテスタにテストパターンのセットを送信する汎用コンピュータで実現されることは理解されるであろう。
【００２３】
テストモードにおいて、フリップフロップセル10a-cはまず、一連のクロックパルスを全てのフリップフロップセル10a-cにもたらすことによってフリップフロップセル10a-cを通じてテスト入力部１４からテストデータをシフトするようにスイッチされる。
【００２４】
次に入力データが目標のフリップフロップセル10a-cに達したとき、テストデータは論理回路１２を通じて当該フリップフロップセル10a-cから伝播すると共に、クロック信号は、入力データに対する論理回路１２の応答を取り込むようにフリップフロップセル10a-cにもたらされる取り込みステップが実行される。その後、フリップフロップセル10a-cは、一連のクロックパルスを全てのフリップフロップセル10a-cにもたらすことによって、結果としてもたらされるデータをテスト出力部１６にシフトするようにスイッチされる。
【００２５】
論理回路１２の間のイントラクロックドメイン論理回路からのテスト結果は、このように全てのクロック信号CLKa, CLKb, 及びCLKcが取り込みステップにおいて使用されるときの取り込みステップにおける問題がもたらされることなく取り込まれ得る。
【００２６】
しかしながら、CLKa, CLKb, 及びCLKcが全て取り込みステップにおいて使用される場合、イントラクロックドメイン論理回路からのテスト結果は不定になり得る。これは、含まれるクロックの間のタイミング関係が不定になることによる。従来、論理回路１２の間のイントラドメイン論理回路をテストするためのテスト結果は、取り込みステップにおいてクロック信号の部分をディスエーブルすることによって実行されるので、選択されたフリップフロップセル10a-cのデータコンテンツ（内容）取り込みステップにおいて更新されない。従って、当該セル10a-cの更新のタイミングが取り込みステップにおけるテスト結果に影響を及ぼすことはなく、結果としてもたらされるテスト応答から不確定（実）性（uncertainty）が除去される。
【００２７】
クロック信号は、テスト入力データと共にスキャンチェーンを介してクロック制御フリップフロップセル１１にシフトされているクロックイネーブル信号でディスエーブルされてもよいが、クロック信号は他の何れかの方法でディスエーブルされてもよい。また、全クロックドメインのフリップフロップセル10a-cのクロック信号が共にディスエーブルされることは必要とされない。タイミング不確定性に起因する不確定性が、テスト結果に関連する当該フリップフロップセルのみの更新を妨げることを保証するため、代わりにより選択性の高いディスエーブリングが使用されてもよい。従って、実効的により多くのクロックドメインがテスティングのためにもたらされる。
【００２８】
テストパターンセレクタ２０は、テスト入力パターンのセットを選択する。ここで使用される“選択（セレクティング（Selecting））”は概して、好適なテストパターンを構成するステップを含んでおり、それ故に実効的に選択は、可能なテストパターンの全セットから構成される。“選択”は、いくつかは使用され、いくつかは使用され、ない、記憶されたテストパターンの先行して存在するセットを想定していない。各々のテストパターンは、取り込みステップにおいてフリップフロップセル10a-cからの組み合わせでもたらされるビット値の組み合わせを決定する。テストパターンのセットは、故障のいくつかのセットの十分なテストカバレジ（test coverage）が最少のテストパターンで実現されるように選択される。故障の一つのセットは、図１の回路の何れのゲート出力部における縮退故障も検出され得るべきであることを必要とするが、他の故障又はより少ない故障が必要に応じてこのようなセットに含まれていてもよい。縮退故障は、回路ノードが、論理入力にかかわらず固定の論理レベルに保持される故障である。当該故障をテストするために、テストパターンは、取り込まれた応答に影響を及ぼすように回路ノードにおける反対のレベルをもたらすべきパターンを含んでいなければならない。
【００２９】
テストパターンのこのようなセットを選択するためのアルゴリズムは、単一クロックドメイン論理回路に対してそれ自体知られている。当該知られているアルゴリズムは、マルチドメイン論理回路に対してもテストパターンのセットを見つけるように修正され得る。このことは、追加の回路に不確定な結果をマスクさせる（隠させる）ことによってタイミング不確定性による不確定性を表現するために追加の回路を使用する仮想回路に対するテストパターンを、知られているアルゴリズムに生成させることによってなされる。このため、各々の特定のフリップフロップセル10a-cに対して、タイミングセンシティブフリップフロップセル10a-cの入力部における信号に影響を与えるフリップフロップセル10a-c（この場合、特定のフリップフロップセル10a-cの“ソースフリップフロップセル” 10a-cと称される）が決定される。当該ソースフリップフロップセル10a-cの少なくとも一つが、特定のフリップフロップセル10a-cの特定のクロックドメイン以外の更なるクロックドメイン（特定のフリップフロップセル10a-cの更なるソースクロックドメインと称される）に属する場合、不確定性は存在し得る。この場合、特定のフリップフロップセルは“タイミングセンシティブフリップフロップセル”と称されるであろう。
【００３０】
図３は、テストパターンを選択するため、（仮想的に、当該ゲートは、物理回路（physical circuit）においてではなく、テスト入力パターンを選択するプログラムの入力部においてのみ加えられるという意味において）どのように追加のゲート３０がタイミングセンシティブフリップフロップセル３２の入力部の前に仮想的に加えられ得るかを示す。図から、説明に関連しない接続部及びフリップフロップは省略されている。追加のゲート３０は、物理回路でタイミングセンシティブフリップフロップセル３２の入力部に接続される論理回路１２の部分の出力部に結合される入力部を有しており、追加のゲート３０は、タイミングセンシティブフリップフロップセル３２の入力部に結合される出力部を有している。
追加のゲート３０は、自身の出力信号が、ソースフリップフロップセル３４の全ての更なるソースクロックドメインのクロックはディスエーブルされるかどうかを示すクロック制御信号に依存するように特定される。全てのこれらのクロックがディスエーブルされない場合、追加のゲートはＸ値（タイミングセンシティブフリップフロップセル３２の元の入力信号から独立した値）をタイミングセンシティブフリップフロップセル３２の入力部に伝える。全てのこれらのクロックがディスエーブルされる場合、追加のゲートは、物理回路でタイミングセンシティブフリップフロップセル３２の入力部に結合される論理回路１２から出力信号を伝える。
テストパターンセレクタ２０にとって、テストパターンは、追加のゲート３２及び論理回路１２を含む論理回路のために生成されなければならず、テストパターンの通常部分としてテスト制御フリップフロップセル１１からクロック制御信号を受信しなければならないようにみえる。結果として、テストパターン発生器は、更なるソースドメインに対するクロック信号が、追加のゲート３０に先行する論理回路１２の出力部における故障のテスティングのためにディスエーブルされるテストパターンを含まなければならない。追加のゲート３０により、ソースフリップフロップセル３４のクロック又は更なるソースクロックがディスエーブルされない限り追加のゲート３０の出力部における結果は、観測可能な論理回路１２において論理信号をもたらさないことが従来のテストパターン発生器に対して検出可能になる。好ましくは、検出されなければならない故障のセットは、追加された回路における故障を含まないという情報がセレクタ２０にもたらされる。これにより、追加された論理をテストするために追加のテストベクトルがもたらされることは防止される。
【００３１】
改良点として、一つ又はそれより多くの追加のゲート３０は、タイミングセンシティブフリップフロップセル３２の入力部のすぐ近くの代わりに、論理回路１２を通じたタイミングセンシティブフリップフロップセル３２の入力部への信号経路（パス）において何れに位置されてもよい。タイミングセンシティブフリップフロップセル３２の入力部への信号経路は、ツリー状（樹状）構造（tree like structure）として分岐し、ソースフリップフロップセル３４は、論理回路に対応するツリーにおける枝葉及びノード（節点）にもたらされる。一つ又は複数の追加のゲート３０の位置は、当該ツリー状構造を通じて、タイミングセンシティブフリップフロップセル３２に最も近い論理回路までたどる（追跡（トレース）する）ことによって選択され得るので、各々の最も近い論理回路の入力信号は、一つよりも多くの更なるソースクロックドメインからの論理データ値に依存しない。
【００３２】
この場合、一つ又はそれより多くの追加のゲートが、タイミングセンシティブフリップフロップセル３２に対する入力部の代わりに、選択された最も近い論理回路の出力部において仮想的に追加されてもよい。追加のゲート３０は特定されるので、各々の追加のゲート３０の出力信号は、追加のゲート３０が信号を受信するソースフリップフロップセル３４のクロックドメインのクロックはディスエーブルされるかどうかに依存する。当該クロックがイネーブルされる場合、追加のゲートは、タイミングセンシティブフリップフロップセル３２の入力部に対してＸ値を伝える。当該クロックがディスエーブルされる場合、追加のゲート３０は、物理回路におけるタイミングセンシティブフリップフロップセル３２の入力部に対して、選択された論理ゲートの出力信号を伝える。より多くのクロックドメインのクロックがイネーブルされるとき、論理回路のいくつかはこの場合テストされ得るため、これによりテストパターン発生器はより少ないテストパターンを発生させることが可能になる。
本発明によれば、テストパターン発生器は、ソースフリップフロップにおけるデータ値が変化するかどうかを考慮する。それ故にずっとより少ないテストパターンが必要とされるであろう。
図４は、従来のテストパターンセレクタに、信号変化を考慮するテストパターンを選択させるように設計に仮想的に追加され得る追加の回路を示す。この場合、排他的否定論理和（エクズクルーシブノア（exclusive NOR））ゲート４０及び論理和（オア（OR））ゲート４２が追加されている。排他的否定論理和ゲート４０は、タイミングセンシティブフリップフロップセル３２のソースフリップフロップセル３４の入力部及び出力部に結合される入力部を有する。当該回路は、ソースフリップフロップセル３４の入力信号と出力信号とが等しくなる場合、又はソースフリップフロップセル３４の更なるソースクロック（CLKa）はディスエーブルされることをクロックイネーブルフリップフロップセル１１からのクロックイネーブル信号が信号で伝える場合、追加のゲート３０が論理回路１２の出力部から信号を伝えるように設計される。
テストパターンセレクタ２０にとって、テストパターンは、排他的否定論理和ゲート４０及び論理和ゲート４２並びに追加のゲート３０及び論理回路１２を含むと共にテストパターンの通常の部分としてテスト制御フリップフロップセル１１からクロック制御信号を受信する論理回路のために生成されなければならないようにみえる。追加のゲート３０及びそれの制御回路により、従来のテストパターン発生器に対して、ソースフリップフロップセル３４の更なるソースクロックがディスエーブルされる場合、又はソースフリップフロップセル３４のデータ値は、それがテストの間にクロック出力されるときに変化しない場合を除いて、追加のゲート３０の出力部における結果は、観測可能な論理回路１２において論理信号をもたらさないことが検出可能になる。結果としてテストパターン発生器は、更なるソースドメインに対するクロック信号がディスエーブルされるか、又はソースフリップフロップセル３４の入力信号と出力信号とが等しくなるテストパターンを含むように選択を行う。これにより、テストパターンセレクタ２０は、全ての必要とされる故障をより少ないテストパターンでカバーすることが可能になる。
図５は、入力信号と出力信号との同等性についての情報がより複雑な回路においてどのように使用され得るかを示す。図は、それぞれ第一及び第二のクロックドメインにおけるソースフリップフロップセル３４のみから入力信号を受信する部分と、共通部分とに分割される論理回路１２を示す（部分の間の単一の接続部が示されているが、当然のことながらより多くの接続部がもたらされていてもよい）。
【００３３】
第二のクロックドメインにおいて、一つよりも多くのソースフリップフロップセル３４がタイミングセンシティブフリップフロップセル３２の入力信号に影響を及ぼす。この場合、入力部と出力部とは異なっているかどうかをテストするための仮想回路が、各々のソースフリップフロップセル３４に対して追加される。当該回路は、関連するソースフリップフロップセル３４の各々の入力信号と出力信号とが等しくなるとき、又はソースフリップフロップセル３４のクロックドメインに対するクロックイネーブルフリップフロップセル１１からのクロックイネーブル信号がディスエーブルされるとき、追加のゲート３０が自身の入力信号を伝えるように設計される。
【００３４】
図５は、各々の追加のゲート３０の入力部が各クロックドメインにおけるソースフリップフロップからのデータにのみ依存すると共に、制御ゲートの信号伝送（達）は、関連するドメインに対するクロック信号のディスエーブリングにのみ依存するように、追加の回路３０はどのように論理回路１２の異なる部分の間に位置され得るかを更に示している。しかしながら、論理回路の異なる部分の間に追加のゲート３０を位置することが必要とされないことは評価されるであろう。代わりに、タイミングセンシティブフリップフロップセル３４の入力部における単一の追加のゲートが使用されてもよく、当該ゲートは全てのクロックドメインに対して、（ａ）クロックイネーブルフリップフロップセル１１からのクロックイネーブル信号が、クロックはディスエーブルされることを信号で伝えるか、又は（ｂ）ドメインからの全ての関連するソースフリップフロップセル３４が、等しい入力及び出力信号を有する場合にのみ、自身の入力信号を伝える。
【００３５】
図５において、入力部と出力部とは異なっているかどうかをテストするための回路が、ことによるとタイミングセンシティブフリップフロップセル３２に対する入力信号に影響を及ぼす各々のソースフリップフロップセル３４に対して追加されることが必要とされることは評価されるであろう。しかしながら、追加のゲートをソースフリップフロップセル３４に対して更に後方に位置させることによって、この状態は緩和され得る。この場合、各々の追加のゲートの入力部は、ドメインにおけるソースフリップフロップセル３４の部分によって影響を及ぼされると共に、（ａ）ドメインのクロックがディスエーブルされるか、又は（ｂ）追加のゲート３０の入力信号に影響を及ぼし得るドメインからの全てのソースフリップフロップセル３４が、等しい入力及び出力信号を有する場合にのみ、自身の入力信号を伝える。いくつかのゲートに対して、より多くのテストパターンをもたらし得るが、故障カバレジの不足をもたらさない後者の可能性は省略され得る。
【００３６】
先行する図の回路において、テスト対象回路において実際にもたらされていない仮想回路が追加されていることは評価されるであろう。仮想回路において、クロックイネーブルフリップフロップセル１１は論理回路１２への出力接続部を有しているようにみえる（実際のテスト対象回路においてもたらされていない）。図１の回路が、図示のためにスキャンチェーンの部分としてクロックイネーブルフリップフロップセル１１を示すことも評価されるであろう。実際のテスト対象回路において、これらのクロックイネーブルフリップフロップセル１１さえもスキャンチェーンに含まれる必要はなく、テスト発生器２２が、テストパターンからクロックイネーブルビットを読み出してもよく、クロック信号を、関連するクロックに対する外部ＩＣピンにもたらさないことによって、他のいかなる好都合な態様であっても様々なドメインにおけるクロックをイネーブル及びディスエーブルしてもよい。
【００３７】
テスト結果の評価において、タイミングセンシティブフリップフロップセル３２によって取り込まれる応答は、ソースフリップフロップセル３４の更なるクロックドメインからのクロックがイネーブルされると共にソースフリップフロップセル３２の入力及び出力信号が等しくならないテストパターン、すなわち仮想の追加のゲート３０が通常の信号を阻止（ブロック）する入力パターンに対して無視される。
【００３８】
図６は、本発明により動作するテストパターンセレクタ２０の動作のフローチャートを示す。第一のステップ６１において、テストパターンセレクタ２０は、テスト対象回路の設計の電子記述（electronic description）を受信する。第二のステップ６２において、テストパターンセレクタ２０は、設計における各々のフリップフロップセル10a-cに対して、当該セルが、他のクロックドメインにおけるフリップフロップセル10a-cにおけるデータに依存する入力信号を受信するかどうかを確認（チェック）する。そうなる場合、テストパターンセレクタ２０は、このようなタイミングセンシティブフリップフロップセル10a-cに対して第三のステップ６３を実行し、先行して記載されているように、一つ又はそれより多くの追加のゲートが電子記述に追加される。第四のステップにおいて、テストパターンセレクタ２０は、全てのフリップフロップセル10a-cが処理されているかどうかをテストする。処理されていない場合、処理が第二のステップ６２から繰り返される。第五のステップ６５において、テストパターンセレクタ２０は、最少のテストパターンで可能な故障のセットの完全な（フルの）故障カバレジをもたらすために、クロックイネーブル信号を含むテストパターンのセットを生成する。この第五のステップ６５において、回路は単一のクロックドメインしか有さないように動作する従来のアルゴリズムが使用されてもよい。
【００３９】
好ましくは、ビットに影響を及ぼし得る可能な回路故障の各々のテストパターンに対する応答のビット毎のインジケーション（表示）ももたらすアルゴリズムが使用される。これらのテストパターンに対してテストパターンセレクタ２０は、当該応答ビットがテストにおいて無視されなければならないことを信号で伝える。代わりに、結果としてもたらされるテストパターンは、どのテストパターンにおいて、追加の回路がソースフリップフロップセルのクロックドメインのクロック信号に加えられているタイミングセンシティブフリップフロップセル３２はイネーブルされるのか、並びに当該テストパターンの何れにおいてソースフリップフロップセル３４の入力と出力とが異なっているのかを検出するために分析されてもよい。
【００４０】
第六のステップ６６においてテストパターンセレクタ２０は、フリップフロップセル10a-c及び11のチェーンを通じてテストパターンのビットでシフトすることによって、テストパターンセレクタ２０が連続テストパターンをテスト対象回路２４にもたらすようにすると共に、テストセレクタ２０が当該応答は無視されるべきであることを信号で伝えていないテスト対象回路の応答をテストパターンセレクタ２０が観測するようにする。全てのパターンが、関連するフリップフロップセルに対する予測された応答をもたらすとき、テスト対象回路は受け入れられる。
【００４１】
本発明が、図６のプロセスに限定されないことは評価されるであろう。例えば、テストパターンに応答する“誤った（wrong）”クロックドメインにおける全てのソースフリップフロップの出力信号が、テストパターンに応答する入力信号に等しくなるかどうかを検出する仮想の追加のゲートを加えることは好ましい。しかしながら、この検出は、ソースフリップフロップセル３４の任意の一つに対して省略されていてもよい。これは、誤り（エラー（error））ではなく、より非効率なテスティングをただもたらすだけである。
【００４２】
同様に、テストパターン発生ステップ６５が、様々なクロックドメインのクロックイネーブル信号をテストパターンにおける通常の入力ビットとして処理するステップに“欺かれる（フール（fool）される）”場合、テストパターン発生器に対して最小限の変化が必要とされることは評価されるであろう。しかしながら、本発明から逸脱することなく、これらのビットに、第五のステップ６５においても特殊な処理及び特殊はビットがもたらされてもよい。
【００４３】
様々な改良が図のプロセスに追加されてもよいことは評価されるであろう。例として、第三のステップ６３において、テストパターンセレクタ２０は、他のクロックドメインにおけるソースフリップフロップによって影響を及ぼされるデータを受信するタイミングセンシティブフリップフロップ３２のすぐ前に追加のゲートを挿入してもよい。この場合追加のゲート３０は、何れのドメインも相互に異なる入力及び出力信号を有すると共にイネーブルされたドメインクロックを有するソースフリップフロップセル３４を含む場合、ソースフリップフロップからのデータに対する依存性を阻止（抑制）する。
【００４４】
代わりに、第三のステップにおいて、テストパターンセレクタ２０は、タイミングセンシティブフリップフロップセル３２から更に離れて、論理回路１２の間で電子記述に追加のゲートを加えるための回路ノードを探索してもよい。この場合、タイミングセンシティブフリップフロップセル３２の入力部が他のクロックドメインにおけるソースフリップフロップセル３４からの信号に依存する回路ノードのいかなるセットも選択される。通常回路ノードにおける信号に影響を及ぼす何れのドメインも、相互に異なる入力及び出力信号を有するソースフリップフロップセル３４を含むと共にイネーブルされたドメインクロックを有する場合、他のクロックドメインからのソースフリップフロップセル３４からのデータに対する信号回路ノードの依存性を阻止するため、追加のゲート３０が回路ノードにおいて加えられる。
【００４５】
このために、テストパターンセレクタ２０は、好ましくは、信号がタイミングセンシティブフリップフロップセル３２における入力信号に影響を及ぼし得ると共にたった一つのクロックドメインにおけるフリップフロップセル３４からのデータに依存する信号を伝え得る論理回路１２における内部回路ノードのセットを選択する。
【００４６】
フリップフロップセルのすぐ近くに比較回路４０を追加する代わりに、比較回路は、隣接する回路ノードにおいて追加されてもよく、一つの入力部は、ソースフリップフロップセルの入力部に結合される自身の入力部を有する論理回路の先行する部分の複製に結合される。しかしながらこのことは、回路の特性が動作不良（グリッチ（glitch））は発生し得ないようになる場合にのみ可能になる。
【００４７】
第二のステップ６２において、テストパターンセレクタ２０は、特定のフリップフロップセル10a-cの入力部における信号に影響を及ぼすソースフリップフロップセル10a-cを見つけるため、回路の設計を通じて各々の特定のフリップフロップセル10a-cの入力部から追跡してもよい（トレースバック（trace back）してもよい）。テストパターンセレクタ２０は次に、特定のフリップフロップセル10a-cの少なくとも一つが、特定のフリップフロップセル10a-cの特定のクロックドメイン以外の更なるソースクロックドメインに属するかどうかを検出する。この場合、特定のフリップフロップセル10a-cはタイミングセンシティブフリップフロップセル10a-cであるとみなされる。
【００４８】
更に、従来の信号クロックドメインテストパターンセレクタ２０を“欺いて”仮想回路のためのテストパターンのセットをもたらすために前処理ステップを使用する代わりに、テストパターンに応答してフリップフロップセル10a-cの入力と出力との同等性を考慮する専用のテストパターン発生アルゴリズムが使用され得ることは評価されるであろう。例えばアルゴリズムが論理回路の関係する部分で動作するとき、関連する仮想回路は、テストパターン発生アルゴリズムの実行の間、動的（ダイナミック）に追加されてもよい。他の例において、実施例で、このようなテストパターン発生アルゴリズムは、当該アルゴリズムがどの故障を検出するかを示すように各々のテストパターンをマークし、全ての故障をともにマーク（mark）する（印付ける）パターンのセットを探索する。この場合、タイミングばらつき（変動）により不確定に検出される故障は、テストパターンに対して“マークされない（unmarked）”。
【００４９】
他の実施例において、テストパターンセレクタ２０はまず、タイミング不確定性によるいかなる不確定性も無視して、元の回路設計に対してテスト入力パターンのセットを単に生成し、その後、選択されたクロック信号がディスエーブルされるセットからテストパターンのバージョン（version）を生成する。当該実施例において、テストパターンセレクタ２０は、他のクロックドメインからのソースフリップフロップからもたらされる入力信号を有する特定のフリップフロップを識別する。テストパターンセレクタ２０は、テストパターンに応答する他のクロックドメインにおけるソースフリップフロップにおける入力信号と出力信号とが等しくならない場合にのみ、他のクロックドメインからのクロックがディスエーブルされるテストパターンの追加バージョン（型）を生成する。
【図面の簡単な説明】
【００５０】
【図１】テスト可能な回路の実施例を示す。
【図１ａ】フリップフロップセルのチェーンの部分を示す。
【図２】テストシステムを示す。
【図３】仮想回路の部分を示す。
【図４】他の仮想回路を示す。
【図５】他の仮想回路を示す。
【図６】回路をテストするためのフローチャートを示す。
【図１】
2007518988.tif 000003
【図１ａ】
2007518988.tif 000004
【図２】
2007518988.tif 000005
【図３】
2007518988.tif 000006
【図４】
2007518988.tif 000007
【図５】
2007518988.tif 000008
【図６】
2007518988.tif 000009
【国際調査報告】
2007518988.tif 000010
2007518988.tif 000011
2007518988.tif 000012