(57)【要約】【課題】本発明は、クロックゲーティングのイネーブルロジックを構成する組合せ回路部（動作）試験用のフリップフロップを別個に必要とせずにクロックイネーブルロジック及びクロックゲーティングセルを試験可能な半導体集積回路を提供することを目的とする。【解決手段】半導体集積回路は、クロックイネーブルロジックを演算する組み合わせ論理回路と、組み合わせ論理回路の出力信号を一方の入力としスキャンモード信号を他方の入力とする論理和機能を有するゲートと、ゲートの出力信号を制御信号入力とするクロックゲーティングセルを含み、スキャンモード信号はスキャン試験中のスキャンフリップフロップのスキャンシフト動作時にアサートされスキャン試験中のスキャンフリップフロップのデータ取り込み動作時にネゲートされる信号であることを特徴とする。【選択図】図６
2009192408.tif 000002
【特許請求の範囲】
【請求項１】
クロックイネーブルロジックを演算する組み合わせ論理回路と、
該組み合わせ論理回路の出力信号を一方の入力としスキャンモード信号を他方の入力とする論理和機能を有するゲートと、
該ゲートの出力信号を制御信号入力とするクロックゲーティングセル
を含み、該スキャンモード信号はスキャン試験中のスキャンフリップフロップのスキャンシフト動作時にアサートされ該スキャン試験中のスキャンフリップフロップのデータ取り込み動作時にネゲートされる信号であることを特徴とする半導体集積回路。
【請求項２】
クロックイネーブルロジックを演算する組み合わせ論理回路と、該組み合わせ論理回路の出力信号を一方の入力としスキャンモード信号を他方の入力とする論理和機能を有するゲートと、該ゲートの出力信号を制御信号入力とするクロックゲーティングセルを含み、該スキャンモード信号はスキャン試験中のスキャンフリップフロップのスキャンシフト動作時にアサートされ該スキャン試験中のスキャンフリップフロップのデータ取り込み動作時にネゲートされる信号である第１の回路を試験するために、
該スキャン試験中にアサートされ該スキャン試験中以外の時にネゲートされるスキャンテスト信号を、該スキャンモード信号の代わりに該ゲートに入力し、
該クロックゲーティングセルの出力クロック信号が供給されるフリップフロップのデ―タ入力部分にセレクタを設け、
該組み合わせ論理回路の該出力信号を該セレクタに選択制御信号として供給し、
該選択制御信号に応じて該フリップフロップの出力信号と試験対象論理回路の出力信号との何れか一方を該セレクタにより選択して該フリップフロップのデータ入力に供給するように構成する
各段階により生成された第２の回路を用いて該第１の回路を試験するための試験パターンを生成することを特徴とする試験パターン生成方法。
【請求項３】
総故障数から該セレクタに関する故障数を減算することにより該試験パターンの故障検出率を補正する段階を更に含むことを特徴とする請求項２記載の試験パターン生成方法。
【請求項４】
クロックイネーブルロジックを演算する組み合わせ論理回路と、該組み合わせ論理回路の出力信号を一方の入力としスキャンモード信号を他方の入力とする論理和機能を有するゲートと、該ゲートの出力信号を制御信号入力とするクロックゲーティングセルを含み、該スキャンモード信号はスキャン試験中のスキャンフリップフロップのスキャンシフト動作時にアサートされ該スキャン試験中のスキャンフリップフロップのデータ取り込み動作時にネゲートされる信号である第１の回路を生成し、
該スキャン試験中にアサートされ該スキャン試験中以外の時にネゲートされるスキャンテスト信号を、該スキャンモード信号の代わりに該ゲートに入力し、該クロックゲーティングセルの出力クロック信号が供給されるフリップフロップのデ―タ入力部分にセレクタを設け、該組み合わせ論理回路の該出力信号を該セレクタに選択制御信号として供給し、該選択制御信号に応じて該フリップフロップの出力信号と試験対象論理回路の出力信号との何れか一方を該セレクタにより選択して該フリップフロップのデータ入力に供給するように構成することにより生成された第２の回路を用いて試験パターンを生成し、
該試験パターンにより該第１の回路を試験する
各段階を含むことを特徴とする回路試験方法。
【請求項５】
総故障数から該セレクタに関する故障数を減算することにより該試験パターンの故障検出率を補正する段階を更に含むことを特徴とする請求項４記載の回路試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に計算機利用設計に関し、詳しくはクロックゲーティング方式の回路の設計に関する。
【背景技術】
【０００２】
半導体集積回路（ＬＳＩ）における低消費電力化を達成する設計手法として、クロックゲーティング方式がある。クロックゲーティング方式では、フリップフロップの状態が遷移しない場合、クロックを止めることにより、低消費電力化を図る。また、半導体集積回路設計における従来のデータ制御方式では、フリップフロップの入力部分に、そのフリップフロップ自身の出力との論理をとる。例えば、セレクタを設け、前段の回路素子から供給される信号と当該フリップフロップ自身の出力信号との何れか一方を、フリップフロップへのデータ入力として選択できるようにする。フリップフロップが状態遷移をしない動作条件にある場合には、セレクタにより当該フリップフロップ自身の出力信号をデータ入力信号として選択して取り込むことにより、フリップフロップの内部状態（格納データ）が変化しないようにする。
【０００３】
図１は、データ制御方式の場合の論理設計の一例を示す図である。フリップフロップ１２及び１３のデータ入力部分にセレクタ１４及び１５が設けられている。フリップフロップ１０及び１１の出力信号を入力とする組み合わせ論理回路１６の出力信号により、セレクタ１４及び１５の選択動作を制御する。クロック信号ＣＬＯＣＫが、フリップフロップ１０及び１１のクロック入力端に供給されると共に、バッファ１７を介してフリップフロップ１２及び１３のクロック入力端に供給される。組み合わせ論理回路１６による論理演算により、フリップフロップ１２及び１３が状態遷移をしない動作条件にある場合は、セレクタ１４及び１５によりフリップフロップ１２及び１３自身の出力信号をデータ入力信号として選択するように制御する。この制御により、フリップフロップ１２及び１３の内部状態（格納データ）が変化しないようにする。この場合、フリップフロップ１２及び１３の状態遷移は起こらないが、クロック信号ＣＬＯＣＫが伝搬するために、クロック信号配線（クロックツリー）や各フリップフロップのクロック入力部分での電力消費が発生する。
【０００４】
それに対してクロックゲーティング方式では、フリップフロップが状態遷移をしない動作条件の場合には、フリップフロップへのクロック信号入力を停止することにより、フリップフロップのデータ取り込み動作自体を行わないようにする。このようにクロック信号を制御して、クロック信号に同期したデータ取り込み動作を停止させることにより、無駄な電力消費を無くすことができる。
【０００５】
図２は、クロックゲーティング方式を利用した論理設計の一例を示す図である。フリップフロップ１２及び１３のクロック入力部分にクロックゲーティングセル２０が設けられている。クロックゲーティングセル２０は（フリップフロップ）ラッチ２１とＡＮＤ回路２２とを含み、クロックゲーティング動作を制御する制御信号を（フリップフロップ）ラッチ２１のデータ入力Ｄに受け取る。クロックゲーティングセル２０は、この制御信号がＨＩＧＨの時にクロック信号ＣＬＯＣＫをそのまま出力し、制御信号がＬＯＷの時にクロック信号ＣＬＯＣＫを遮断して固定値ＬＯＷを出力する。図２の例では、フリップフロップ１０及び１１の出力信号を入力とする組み合わせ論理回路１６の出力信号を、クロックゲーティングセル２０のクロックゲーティング動作を制御する制御信号としている。組み合わせ論理回路１６による論理演算により、フリップフロップ１２及び１３が状態遷移をしない動作条件にある場合は、クロックゲーティングセル２０によりクロック信号ＣＬＯＣＫを遮断して、フリップフロップ１２及び１３のデータ取り込み動作を停止する。この制御によりフリップフロップ１２及び１３の内部状態（格納データ）が変化しないだけでなく、クロック信号配線（クロックツリー）やフリップフロップのクロック入力部分での電力消費を削減することができる。
【０００６】
一方半導体集積回路の大規模化に伴い、故障検出率の高い試験パターンを設計者がマニュアルで作成することは非常に困難になっている。従って半導体集積回路に対する試験パターン作成は、スキャン設計手法を用いて自動パターン生成ツールにより行なっているのが現状である。
【０００７】
スキャン設計手法では、スキャン試験時にスキャンチェーンを構成するすべてのスキャンフリップフロップに対してクロックを供給することがデザインルールとして要求される。従ってクロックゲーティング方式とスキャン設計手法とを併用する場合、スキャンデザインルールを満足させるために、スキャン試験時にフリップフロップに常時クロックが供給される状態とする必要がある。しかしこのように常時クロック供給状態とすると、図２の１６のような、クロックゲーティングセルのイネーブルロジックを構成する組合せ回路部（常時クロックが供給されるフリップフロップを用いてクロックゲーティング動作）を試験することは不可能となるので、クロックゲーティング動作試験用のフリップフロップが別個に必要となる。
【０００８】
図３は、スキャン試験時に常時クロック供給状態とするとともにクロックゲーティングセルのイネーブルロジックを構成する組合せ回路部の試験用のフリップフロップを設けた構成を示す図である。図３において、図２と同一の構成要素は同一の番号で参照し、その説明は省略する。
【０００９】
図３の構成では、クロックゲーティングセル２０の制御信号入力部分にＯＲ回路２３を設けてある。ＯＲ回路２３の一方の入力は組み合わせ論理回路（クロックイネーブルロジック）１６の出力信号であり、もう一方の入力はスキャンテスト信号ＳＣＡＮ＿ＴＥＳＴである。このスキャンテスト信号ＳＣＡＮ＿ＴＥＳＴは、システムの通常動作時には０であり、スキャン試験動作時には１になる信号である。この構成により、スキャン試験動作中は常時クロック信号ＣＬＯＣＫがフリップフロップ１２及び１３に供給されることになる。
【００１０】
また図３の構成では、組み合わせ論理回路１６の出力信号をデータ入力に受け取るフリップフロップ２４が、組み合わせ論理回路１６の論理試験用に設けられている。これはスキャン試験動作中に常時クロック信号ＣＬＯＣＫが供給されるフリップフロップ１２及び１３では、クロックゲーティング動作を試験することができないからである。クロックゲーティング動作試験用のフリップフロップ２４を別個に設けることにより、組み合わせ論理回路１６が正常に動作するか否かを試験することが可能となる。
【００１１】
半導体集積回路内で異なるクロック制御が必要な箇所には異なるクロック制御用組み合わせ論理回路（クロックイネーブルロジック）が設けられている。各クロック制御用組み合わせ論理回路毎に上記のようなクロックゲーティング動作試験用のフリップフロップを別々に設けるのでは効率が悪いので、複数のクロック制御用組み合わせ論理回路の出力を排他的論理和で繋げてツリー構造とし、ツリーの終端に１つの試験用フリップフロップを設けるなどの工夫がなされている。しかしクロックゲーティング動作試験用のフリップフロップを設けても、クロックゲーティングセル２０の（フリップフロップ）ラッチ２１やＡＮＤ回路２２の故障等については完全には検出できないという問題がある。
【特許文献１】特開２００６−２５９８２０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
以上を鑑みて本発明は、クロックゲーティングのイネーブルロジックを構成する組合せ回路部（動作）試験用のフリップフロップを別個に必要とせずにクロックイネーブルロジック及びクロックゲーティングセルを試験可能な半導体集積回路を提供することを目的とする。またそのような半導体集積回路を試験するための試験パターン生成方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
半導体集積回路は、クロックイネーブルロジックを演算する組み合わせ論理回路と、該組み合わせ論理回路の出力信号を一方の入力としスキャンモード信号を他方の入力とする論理和機能を有するゲートと、該ゲートの出力信号を制御信号入力とするクロックゲーティングセルを含み、該スキャンモード信号はスキャン試験中のスキャンフリップフロップのスキャンシフト動作時にアサートされ該スキャン試験中のスキャンフリップフロップのデータ取り込み動作時にネゲートされる信号であることを特徴とする。
【００１４】
試験パターン生成方法は、クロックイネーブルロジックを演算する組み合わせ論理回路と、該組み合わせ論理回路の出力信号を一方の入力としスキャンモード信号を他方の入力とする論理和機能を有するゲートと、該ゲートの出力信号を制御信号入力とするクロックゲーティングセルを含み、該スキャンモード信号はスキャン試験中のスキャンフリップフロップのスキャンシフト動作時にアサートされ該スキャン試験中のスキャンフリップフロップのデータ取り込み動作時にネゲートされる信号である第１の回路を試験するために、該スキャン試験中にアサートされ該スキャン試験中以外の時にネゲートされるスキャンテスト信号を、該スキャンモード信号の代わりに該ゲートに入力し、該クロックゲーティングセルの出力クロック信号が供給されるフリップフロップのデ―タ入力部分にセレクタを設け、該組み合わせ論理回路の該出力信号を該セレクタに選択制御信号として供給し、該選択制御信号に応じて該フリップフロップの出力信号と試験対象論理回路の出力信号との何れか一方を該セレクタにより選択して該フリップフロップのデータ入力に供給するように構成する各段階により生成された第２の回路を用いて該第１の回路を試験するための試験パターンを生成することを特徴とする。
【００１５】
回路試験方法は、クロックイネーブルロジックを演算する組み合わせ論理回路と、該組み合わせ論理回路の出力信号を一方の入力としスキャンモード信号を他方の入力とする論理和機能を有するゲートと、該ゲートの出力信号を制御信号入力とするクロックゲーティングセルを含み、該スキャンモード信号はスキャン試験中のスキャンフリップフロップのスキャンシフト動作時にアサートされ該スキャン試験中のスキャンフリップフロップのデータ取り込み動作時にネゲートされる信号である第１の回路を生成し、該スキャン試験中にアサートされ該スキャン試験中以外の時にネゲートされるスキャンテスト信号を、該スキャンモード信号の代わりに該ゲートに入力し、該クロックゲーティングセルの出力クロック信号が供給されるフリップフロップのデ―タ入力部分にセレクタを設け、該組み合わせ論理回路の該出力信号を該セレクタに選択制御信号として供給し、該選択制御信号に応じて該フリップフロップの出力信号と試験対象論理回路の出力信号との何れか一方を該セレクタにより選択して該フリップフロップのデータ入力に供給するように構成することにより生成された第２の回路を用いて試験パターンを生成し、該試験パターンにより該第１の回路を試験する各段階を含むことを特徴とする。
【発明の効果】
【００１６】
本発明の少なくとも１つの実施例によれば、クロックゲーティングのイネーブルロジックを構成する組合せ回路部（動作）試験用のフリップフロップを別個に必要とせずにクロックイネーブルロジック及びクロックゲーティングセルを試験可能な半導体集積回路を提供することができる。またそのような半導体集積回路を試験するための試験パターン生成方法を提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１８】
図４は、従来技術による半導体集積回路の構成と本願発明による半導体集積回路の構成とを対比して示す図である。図４において、図面左側に従来技術による半導体集積回路の構成を示し、図面右側に本発明による半導体集積回路の構成を示してある。
【００１９】
従来技術による半導体集積回路の構成においては、図３に示す構成と同様に、イネーブルロジック１６（以下、クロックをイネーブルにするロジックを単にイネーブルロジックと呼ぶ）がＯＲ回路２３の一方の入力に供給され、ＯＲ回路２３のもう一方の入力はスキャンテスト信号ＳＣＡＮ＿ＴＥＳＴである。このスキャンテスト信号ＳＣＡＮ＿ＴＥＳＴは、図５に示すように、システムの通常動作時には０であり、スキャン試験動作中にはスキャンシフト時及びパターン取り込み時（ＳＣＡＮ−ＰＩＰＯ時）の両方において１になる信号である。ＯＲ回路２３の出力信号がクロックゲーティングセル２０にイネーブル制御信号ＥＮとして供給される。この構成により、通常動作中は適宜停止されるゲーテッドクロックＧＣＫが後段のフリップフロップに供給され、スキャン試験動作中はゲーテッドクロックＧＣＫが常時フリップフロップに供給されることになる。またイネーブルロジック１６の出力信号を受け取る試験回路２４が、イネーブルロジック１６の論理試験用に設けられている。
【００２０】
それに対して本発明による半導体集積回路の構成においては、クロックイネーブルロジックを演算する組み合わせ論理回路（イネーブルロジック）３０と、組み合わせ論理回路１６の出力信号を一方の入力としスキャンモード信号ＳＣＡＮ＿ＭＯＤＥを他方の入力とする論理和機能を有するゲート３１と、ゲート３１の出力信号を制御信号入力とするクロックゲーティングセル３２を含む。スキャンモード信号ＳＣＡＮ＿ＭＯＤＥは、図５に示されるように、スキャン試験中のスキャンフリップフロップのスキャンシフト動作時にアサートされ、スキャン試験中のスキャンフリップフロップのデータ取り込み動作時（パターン取り込み時）にネゲートされる信号である。通常のシステム動作中は、スキャンモード信号ＳＣＡＮ＿ＭＯＤＥはネゲートされる。なお図５に示す論理値表は正論理であり、図４のゲート３１も正論理の場合はＯＲ回路となる。しかし例えば、ゲート３１の入出力共に負論理であってもよく、この場合は図４のゲート３１はＡＮＤ回路となる。何れの場合にしても、使用されている論理で考えたときに、ゲート３１は論理和機能を有する回路であればよい。
【００２１】
図４に示すような本発明の構成とすることにより、スキャン試験中のスキャンシフト動作時にはクロック信号を後段のフリップフロップに常時供給して、問題なくスキャンシフト動作を実行することができる。またスキャン試験中のスキャンフリップフロップのデータ取り込み動作時には、適宜停止するゲーテッドクロックを後段のフリップフロップに供給することにより、このフリップフロップの格納値を観測することでクロックゲーティング動作の試験を行なうことができる。
【００２２】
図６は、クロックゲーティング動作の試験について説明するための図である。図６において、図４と同一の構成要素は同一の番号で参照し、その説明は省略する。図６において、クロック信号ＣＬＫをゲーティングすることによりクロックゲーティングセル３２が出力するゲーテッドクロックＧＣＫは、後段のフリップフロップ４１のクロック入力に供給される。フリップフロップ４１のデータ入力には、組み合わせ論理回路４０の出力信号が供給される。組み合わせ論理回路４０の出力の故障を見つけるためには、組み合わせ論理回路４０の出力が本来０であるのにフリップフロップ４１に１が取り込まれてしまうという故障（１故障）及び、組み合わせ論理回路４０の出力が本来１であるのにフリップフロップ４１に０が取り込まれてしまうという故障（０故障）を検出すればよい。この場合、ゲーテッドクロックＧＣＫを供給するために、イネーブルロジック３０の出力を１に設定する必要がある。
【００２３】
これに対して、イネーブルロジック３０の出力の故障については、単純に検出することはできない。上記の０故障又は１故障のような０／１の縮退故障ではなく、ゲーテッドクロックＧＣＫが本来はＯＮ状態（活性化状態）であるのにＯＦＦ状態（非活性化状態：遮断状態）であるというＯＦＦ故障と、ゲーテッドクロックＧＣＫが本来はＯＦＦ状態であるのにＯＮ状態であるというＯＮ故障とを検出するような、新たな故障検出方法を用いる必要がある。またその際、フリップフロップ４１の格納値を観測することによりＯＮ故障とＯＦＦ故障とを検出することになるが、これらを検出するためには、クロック入力により格納値が反転するようなデータ入力をフリップフロップ４１に与えておく必要がある。即ち、フリップフロップ４１の現在の格納値が０であるならデータ入力を１に設定し、現在の格納値が１であるならデータ入力を０に設定しておくといった作業が必要になる。
【００２４】
従って、イネーブルロジック３０の故障検出と組み合わせ論理回路４０の故障検出とは同時に実行することができず、更にはそれぞれの故障検出を異なる故障検出方式により実現しなければならない。従って、テストパターンの生成が容易ではなくなると共に、テストパターン数が多くなり、テストパターンの効率が悪くなってしまう。以上を鑑みて、本発明では、効率の良いテストパターンを容易に生成可能なテストパターン生成方法を提供する。
【００２５】
図７は、本発明によるテストパターン生成方法を含む回路試験方法の一例を示すフローチャートである。まず論理設計によりＣＧＣ（クロックゲーティングセル）を含むネットリスト５０が得られる。このネットリスト５０は、試験目的のための観測用試験回路が全く含まれていない状態のネットリストである。
【００２６】
ステップＳ１で、ＤＦＴ（Design For Test）挿入処理が行なわれる。このＤＦＴ処理により、試験目的のための観測用試験回路が挿入され、ＤＦＴ挿入後ネットリスト５１が生成される。
【００２７】
次にステップＳ２で、第１のネットリスト変更処理を実行し、ＤＦＴ挿入後ネットリスト５１から第１のネットリスト５２を生成する。図８は、第１のネットリスト変更処理を説明するための図である。図面左側に示す回路がＤＦＴ挿入後ネットリスト５１に相当し、図面右側に示す回路が第１のネットリスト５２に相当する。図面左側に示すようにＯＲゲート３１の一方の入力に供給されるスキャンテスト信号ＳＣＡＮ＿ＴＥＳＴを、図面右側に示すようにスキャンモード信号ＳＣＡＮ＿ＭＯＤＥに変更する。このように、クロックイネーブルロジックを演算する組み合わせ論理回路３０と、組み合わせ論理回路の出力信号を一方の入力としスキャンモード信号を他方の入力とする論理和機能を有するゲート３１と、ゲート３１の出力信号を制御信号入力とするクロックゲーティングセル３２を含む第１の回路を第１のネットリストとして生成する。この第１の回路が、実際に設計され製造されることになる半導体集積回路である。
【００２８】
図７に戻りステップＳ３で、第２のネットリスト変更処理を実行し、ＤＦＴ挿入後ネットリスト５１から第２のネットリスト５３を生成する。図９は、第２のネットリスト変更処理を説明するための図である。図面上側に示す回路がＤＦＴ挿入後ネットリスト５１に相当し、図面下側に示す回路が第２のネットリスト５３に相当する。第２のネットリスト５３では、図８の右側に示す第１のネットリスト５２のスキャンモード信号の代わりに、スキャン試験中にアサートされ該スキャン試験中以外の時にネゲートされるスキャンテスト信号ＳＣＡＮ＿ＴＥＳＴをゲート３１に入力する。またクロックゲーティングセル３２の出力クロック信号ＧＣＫが供給されるフリップフロップ４１及び４２のデ―タ入力部分にセレクタ４３及び４４を設け、イネーブルロジック３０の出力信号をセレクタ４３及び４４に選択制御信号（Ｓ端子入力信号）として供給する。また、この選択制御信号に応じて各フリップフロップ（４１及び４２）の出力信号（Ｉ０端子入力信号）と試験対象論理回路の出力信号（Ｉ１端子入力信号）との何れか一方をセレクタにより選択して、フリップフロップのデータ入力に供給するように構成する。このようにして生成された回路（第２のネットリスト５３）を用いて、第１のネットリスト５２の回路を試験するための試験パターンを生成することになる。
【００２９】
図７に戻りステップＳ４で、スキャン設計ルールをチェックする。次にステップＳ５で、ＡＴＰＧ（自動パターン生成）ツールによりテストパターン５４を生成する。このテストパターン５４は、試験対象の回路に試験目的で印加する入力ビットパターンと、この入力ビットパターンに応答して試験対象の回路が出力する出力ビットパターンの期待値パターンとを含む。
【００３０】
ステップＳ６で、論理シミュレーションを実行する。この論理シミュレーションでテストパターン５４を使用することにより、第１のネットリスト５２の回路のタイミング検証等の試験を行なう。また図７には示されていないが、タイミング検証等の試験による全ての検証が済んだ後に、第１のネットリスト５２に基づいて実際の半導体集積回路を製造する。この製造後の半導体集積回路に対しても、テストパターン５４を使用してスキャン試験を実行する。
【００３１】
ステップＳ５でＡＴＰＧ（自動パターン生成）ツールによりテストパターン５４を生成する際には、故障検出可能なノードと検出可能な故障とをリストアップした故障検出表５５も同時に出力される。ステップＳ７で、故障検出表５５に基づいて補正処理をすることにより、故障検出率を示す故障検出率リスト５６を生成する。
【００３２】
以下に、上記ステップＳ７での補正処理について説明する。この補正処理では、総故障数からセレクタに関する故障数を減算することにより試験パターンの故障検出率を補正する。具体的には、ＡＴＰＧツールに読み込ませたネットリストの総故障数をＳ０とし、第２のネットリスト変更処理（図７のステップＳ３）で追加したセレクタの数をnとすると、実際の総故障数Ｓは、
S=S0-n*{(セレクタI0端子の0と1の故障)+(セレクタI1端子の0と1の故障)+(セレクタS端子の0と1の故障)+(セレクタY端子の0と1の故障)}
となる。即ち、S=S0-n*8となる。
【００３３】
また検出された故障から、第２のネットリスト変更処理で追加したセレクタ部の故障を引く。更に、各クロックゲーティングセルが駆動するフリップフロップの前段のセレクタのＳ端子のいずれかの１故障が見つかっていれば、クロックゲーティングセル前段のＯＲゲート（例えば図９の３１）のＢ端子の１故障、Ａ端子の１故障、Ｘ端子の１故障、及びクロックゲーティングセル３２のＣＥＮ入力の１故障が見つかったことと等価とする。更に同様に、各クロックゲーティングセル３２が駆動するフリップフロップの前段のセレクタのＳ端子のいずれかの０故障が見つかっていれば、クロックゲーティングセル３２前段のＯＲゲートのＢ端子の０故障が見つかったことと等価とする。なおここで、１故障とは本来０である筈なのに１が検出される故障であり、０故障とは本来１である筈なのに０が検出される故障である。
【００３４】
図１０は、本発明によるテストパターン生成方法及び故障検出率補正処理を含む回路試験方法を実行する装置の構成を示す図である。
【００３５】
図１０に示されるように、本発明による回路試験方法を実行する装置は、例えばパーソナルコンピュータやエンジニアリングワークステーション等のコンピュータにより実現される。図１０の装置は、コンピュータ５１０と、コンピュータ５１０に接続されるディスプレイ装置５２０、通信装置５２３、及び入力装置よりなる。入力装置は、例えばキーボード５２１及びマウス５２２を含む。コンピュータ５１０は、ＣＰＵ５１１、ＲＡＭ５１２、ＲＯＭ５１３、ハードディスク等の二次記憶装置５１４、可換媒体記憶装置５１５、及びインターフェース５１６を含む。
【００３６】
キーボード５２１及びマウス５２２は、ユーザとのインターフェースを提供するものであり、コンピュータ５１０を操作するための各種コマンドや要求されたデータに対するユーザ応答等が入力される。ディスプレイ装置５２０は、コンピュータ５１０で処理された結果等を表示すると共に、コンピュータ５１０を操作する際にユーザとの対話を可能にするために様々なデータ表示を行う。通信装置５２３は、遠隔地との通信を行なうためのものであり、例えばモデムやネットワークインターフェース等よりなる。
【００３７】
本発明による回路試験方法は、コンピュータ５１０が実行可能なコンピュータプログラムとして提供される。このコンピュータプログラムは、可換媒体記憶装置５１５に装着可能な記憶媒体Ｍに記憶されており、記憶媒体Ｍから可換媒体記憶装置５１５を介して、ＲＡＭ５１２或いは二次記憶装置５１４にロードされる。或いは、このコンピュータプログラムは、遠隔地にある記憶媒体（図示せず）に記憶されており、この記憶媒体から通信装置５２３及びインターフェース５１６を介して、ＲＡＭ５１２或いは二次記憶装置５１４にロードされる。
【００３８】
キーボード５２１及び／又はマウス５２２を介してユーザからプログラム実行指示があると、ＣＰＵ５１１は、記憶媒体Ｍ、遠隔地記憶媒体、或いは二次記憶装置５１４からプログラムをＲＡＭ５１２にロードする。ＣＰＵ５１１は、ＲＡＭ５１２の空き記憶空間をワークエリアとして使用して、ＲＡＭ５１２にロードされたプログラムを実行し、適宜ユーザと対話しながら処理を進める。なおＲＯＭ５１３は、コンピュータ５１０の基本動作を制御するための制御プログラムが格納されている。
【００３９】
上記コンピュータプログラムを実行することにより、コンピュータ５１０が、上記各実施例で説明されたように回路試験方法を実行する。なおこの場合、図７に示すネットリスト５０、ＤＦＴ挿入後ネットリスト５１、第１のネットリスト５２、第２のネットリスト５３、テストパターン５４、故障検出表５５、及び故障検出率リスト５６は、ＲＡＭ５１２や二次記憶装置５１４に格納されることになる。
【００４０】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００４１】
【図１】データ制御方式の場合の論理設計の一例を示す図である。
【図２】クロックゲーティング方式を利用した論理設計の一例を示す図である。
【図３】スキャン試験時に常時クロック供給状態とするとともにクロックゲーティングセル試験用のフリップフロップを設けた構成を示す図である。
【図４】従来技術による半導体集積回路の構成と本願発明による半導体集積回路の構成とを対比して示す図である。
【図５】スキャンテスト信号とスキャンモード信号との真理値表である。
【図６】クロックゲーティング動作の試験について説明するための図である。
【図７】本発明によるテストパターン生成方法を含む回路試験方法の一例を示すフローチャートである。
【図８】第１のネットリスト変更処理を説明するための図である。
【図９】第２のネットリスト変更処理を説明するための図である。
【図１０】本発明によるテストパターン生成方法及び故障検出率補正処理を含む回路試験方法を実行する装置の構成を示す図である。
【符号の説明】
【００４２】
１０，１１，１２，１３  フリップフロップ
１４，１５  セレクタ
１６  組み合わせ回路
２０  クロックゲーティングセル
２１  （フリップフロップ）ラッチ
２２  ＡＮＤ回路
２３  ＯＲ回路
２４  クロックゲーティング動作試験用のフリップフロップ
３０  イネーブルロジック
３１  ＯＲゲート
３２  クロックゲーティングセル
４０  組み合わせ論理回路
４１  フリップフロップ
４２  フリップフロップ
４３，４４  セレクタ
５１０  コンピュータ
５１１  ＣＰＵ
５１２  ＲＡＭ
５１３  ＲＯＭ
５１４  二次記憶装置
５１５  可換媒体記憶装置
５１６  インターフェース
５２０  ディスプレイ装置
５２１  キーボード
５２２  マウス
５２３  通信装置
【図１】
2009192408.tif 000003
【図２】
2009192408.tif 000004
【図３】
2009192408.tif 000005
【図４】
2009192408.tif 000006
【図５】
2009192408.tif 000007
【図６】
2009192408.tif 000008
【図７】
2009192408.tif 000009
【図８】
2009192408.tif 000010
【図９】
2009192408.tif 000011
【図１０】
2009192408.tif 000012