(57)【要約】【課題】論理合成後のＬＳＩに遅延故障の検出が可能なテスト回路を自動挿入することができ、テスト容易化設計工数の低減化を図ることができるテストクロック回路自動挿入方法を提供する。【解決手段】論理合成後テスト容易化設計前のＬＳＩのネットリスト７と、ＳＴＡタイミング制約情報８と、クロックグループ情報９を入力し（Ｓ１）、論理合成後のＬＳＩのＳＴＡでのクロック設定箇所にテストクロック供給可能なテストクロック回路を挿入し（Ｓ２）、システムモード時に論理０または論理１に設定される０／１ケース設定箇所の論理値を外部から制御することができる０／１制御回路を挿入し（Ｓ３）、テスト容易化設計回路合成を行う（Ｓ４）。【選択図】図２
2008009823.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより、論理合成後の半導体集積回路の静的タイミング解析でのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程を含むことを特徴とするテストクロック回路自動挿入方法。
【請求項２】
論理合成後の半導体集積回路の静的タイミング解析でのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程をコンピュータに実行させることを特徴とするテストクロック回路自動挿入プログラム。
【請求項３】
前記クロック設定箇所を抽出するクロック設定箇所抽出工程を前記コンピュータに実行させるクロック設定箇所抽出プログラムと、
前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程を前記コンピュータに実行させるセレクタ挿入プログラムと、
前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を前記コンピュータに実行させるネット結線プログラムを含むことを特徴とする請求項２記載のテストクロック回路自動挿入プログラム。
【請求項４】
前記クロック設定箇所がセル端子であるか否かの判定を行う端子判定工程を前記コンピュータに実行させる端子判定プログラムを含み、
前記セレクタ挿入プログラムは、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入するものであることを特徴とする請求項３記載のテストクロック回路自動挿入プログラム。
【請求項５】
システムモード時に論理０または論理１に設定される０／１ケース設定箇所を抽出し、該０／１ケース設定箇所の論理値を外部から制御することができる０／１制御回路を挿入する０／１制御回路挿入工程を前記コンピュータに実行させる０／１制御回路挿入プログラムを含むことを特徴とする請求項２、３または４記載のテストクロック回路自動挿入プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理合成後の半導体集積回路（以下、ＬＳＩという）についてテスト容易化設計の一種類であるテストクロック設計を行う場合に使用して好適なテストクロック回路自動挿入方法及びプログラムに関する。
【背景技術】
【０００２】
論理合成後のＬＳＩについてテストクロック設計を行う場合において、縮退故障（短絡や断線などで、回路を構成している素子の入力端子または出力端子などが論理０または論理１に固定されてしまう故障）のみを検出することを目的とする場合には、ＬＳＩがシステムモード（実使用時の動作モード）時に周波数の異なる複数のクロックを使用するものである場合であっても、これら複数のクロックの周波数を考慮する必要がなく、低速のスキャンクロックを全フリップフロップに供給するようにテストクロック回路を挿入すれば足りる。
【０００３】
しかしながら、近年のＬＳＩの高速化に伴い、遅延故障（何らかの理由で、回路の遅延が仕様に収まらなくなる故障）の割合が高くなり、縮退故障の検出だけでなく、遅延故障の検出が必要となっている。遅延故障を検出しようとする場合には、システムモード時のクロックの周波数を考慮する必要があり、このため、ＬＳＩがシステムモード時に周波数の異なる複数のクロックを使用するものであり、かつ、ＬＳＩに許容されているテストクロック端子数がシステムモード時のクロック数よりも少ない場合には、システムモード時のクロックをテストクロック端子数にグループ化することが必要となる。
【特許文献１】特開２００３−６２５３号公報
【特許文献２】特開２００３−３０７５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ＬＳＩ設計工程では、論理設計者とテスト容易化設計者とが同一人で無い場合が多く、テスト容易化設計者は、論理設計者による論理合成後のＬＳＩについて遅延故障の検出を可能とするテストクロック設計を行う場合において、前述のようにＬＳＩがシステムモード時に周波数の異なる複数のクロックを使用するものであり、かつ、ＬＳＩに許容されているテストクロック端子数がシステムモード時のクロック数よりも少ない場合には、システムモード時のクロックをテストクロック端子数にグループ化することが必要となるので、ＬＳＩのシステムモード時のクロック構造を完全に理解する必要がある。
【０００５】
しかしながら、ＬＳＩの大規模化に伴い、ＬＳＩのシステムモード時のクロック構造が極めて複雑になってきていることから、テスト容易化設計者がＬＳＩのシステムモード時のクロック構造を完全に理解することは困難となっており、このため、テスト容易化設計者がＬＳＩのシステムモード時のクロック構造を調べることによるテスト容易化設計工数の増大が問題となっている。
【０００６】
本発明は、かかる点に鑑み、論理合成後のＬＳＩに遅延故障の検出が可能なテストクロック回路を自動挿入することができ、テスト容易化設計工数の低減化を図ることができるテストクロック回路自動挿入方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のテストクロック回路自動挿入方法は、コンピュータにより、論理合成後のＬＳＩの静的タイミング解析（以下、ＳＴＡ［Static Timing Analysis］という）でのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程を含むものである。
【０００８】
前記テストクロック回路挿入工程は、クロック設定箇所抽出プログラムにより、前記ＬＳＩから前記クロック設定箇所を抽出するクロック設定箇所抽出工程と、セレクタ挿入プログラムにより、前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程と、ネット結線プログラムにより、前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を含むものとすることができる。
【０００９】
この場合、前記セレクタ挿入工程は、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入する工程とすることができる。
【００１０】
また、本発明のテストクロック回路自動挿入方法には、コンピュータにより、システムモード時に論理０または論理１に設定される０／１ケース（case）設定箇所を抽出し、該０／１ケース設定箇所の論理値を外部から制御することができる０／１制御回路を挿入する０／１制御回路挿入工程を含めることができる。
【００１１】
この場合、前記０／１制御回路挿入工程は、０／１ケース設定箇所抽出プログラムにより、前記０／１ケース設定箇所を抽出する０／１ケース設定箇所抽出工程と、前記セレクタ挿入プログラムにより、前記０／１ケース設定箇所がセルの入力端子の場合には、該セルの入力側にセレクタを挿入し、前記０／１ケース設定箇所がセルの出力端子の場合には、該セルの出力側にセレクタを挿入し、前記０／１ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合には、セルの出力端子を探索し、該探索したセルの出力側にセレクタを挿入する工程を含むものとすることができる。
【００１２】
本発明のテストクロック回路自動挿入プログラムは、論理合成後のＬＳＩのＳＴＡでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程をコンピュータに実行させるものである。
【００１３】
本発明のテストクロック回路自動挿入プログラムは、前記クロック設定箇所を抽出するクロック設定箇所抽出工程を前記コンピュータに実行させるクロック設定箇所抽出プログラムと、前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程を前記コンピュータに実行させるセレクタ挿入プログラムと、前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を前記コンピュータに実行させるネット結線プログラムを含むものとすることができる。
【００１４】
この場合、前記クロック設定箇所がセル端子であるか否かの判定を行う端子判定工程を前記コンピュータに実行させる端子判定プログラムを含むものとし、前記セレクタ挿入プログラムは、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入するものとすることができる。
【００１５】
また、本発明のテストクロック回路自動挿入プログラムには、システムモード時に論理０または論理１に設定される０／１ケース設定箇所を抽出し、該０／１ケース設定箇所の論理値を外部から制御することができる０／１制御回路を挿入する０／１制御回路挿入工程を前記コンピュータに実行させる０／１制御回路挿入プログラムを含めることができる。
【００１６】
この場合、前記０／１制御回路挿入プログラムには、０／１ケース設定箇所を抽出する０／１ケース設定箇所抽出工程を前記コンピュータに実行させる０／１ケース設定箇所抽出プログラムと、前記０／１ケース設定箇所がセルの入力端子の場合には、該セルの入力側にセレクタを挿入し、前記０／１ケース設定箇所がセルの出力端子の場合には、該セルの出力側にセレクタを挿入し、前記０／１ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合には、セルの出力端子を探索し、該探索したセルの出力側にセレクタを挿入する工程を前記コンピュータに実行させるセレクタ挿入プログラムを含めることができる。
【発明の効果】
【００１７】
本発明のテストクロック回路自動挿入方法によれば、コンピュータにより、論理合成後のＬＳＩのＳＴＡでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程が実行されるので、論理合成後のＬＳＩに遅延故障の検出が可能なテストクロック回路を自動挿入することができ、テスト容易化設計工数の低減化を図ることができる。
【００１８】
本発明のテストクロック回路自動挿入プログラムによれば、論理合成後のＬＳＩのＳＴＡでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程をコンピュータに実行させることができるので、論理合成後のＬＳＩに遅延故障の検出が可能なテストクロック回路を自動挿入することができ、テスト容易化設計工数の低減化を図ることができる。
【発明を実施するための最良の形態】
【００１９】
図１は本発明のテストクロック回路自動挿入方法の一実施形態を実施するための装置の概略的構成図である。この装置は、コンピュータからなり、ＣＰＵ（central processing unit）１、ＲＡＭ（random access memory）２、マウス３、キーボード４、ディスプレイ５及びハードディスク６等を備えている。
【００２０】
ハードディスク６には、本発明のテストクロック回路自動挿入方法の一実施形態の実施に必要なデータ及びプログラム（本発明のテストクロック回路自動挿入プログラムの一実施形態）が格納され、論理合成後のＬＳＩへのテストクロック回路及び０／１制御回路の自動挿入時には、これらデータ及びプログラムは、ハードディスク６からＲＡＭ２に転送される。
【００２１】
本発明のテストクロック回路自動挿入方法の一実施形態の実施に必要なデータとしては、論理合成後テスト容易化設計前のＬＳＩのネットリスト７、ＳＴＡタイミング制約情報８、及び、システムモード時の周波数の異なる複数のクロックをテストクロック端子数にグループ化するためのクロックグループ情報９がハードディスク６に格納される。
【００２２】
また、本発明のテストクロック回路自動挿入方法の一実施形態の実施に必要なプログラムとしては、クロック設定箇所抽出プログラム１０、端子判定プログラム１１、セル抽出プログラム１２、セレクタ挿入プログラム１３、グループ化プログラム１４、ネット結線プログラム１５及び０／１ケース設定箇所抽出プログラム１６がハードディスク６に格納される。
【００２３】
クロック設定箇所抽出プログラム１０は、論理合成後テスト容易化設計前のＬＳＩのネットリスト７からＳＴＡでのクロック設定箇所を抽出するプログラムであり、後述するステップＳ２０１で使用するものである。
【００２４】
端子判定プログラム１１は、クロック設定箇所抽出プログラム１０により抽出したＳＴＡでのクロック設定箇所がセル端子であるか否かの判定や、０／１ケース設定箇所抽出プログラム１６により抽出した０／１ケース設定箇所がセルの入力端子であるか否かの判定や、セルの出力端子であるか否かの判定を行うプログラムであり、後述するステップＳ２０２、Ｓ３０２、Ｓ３０４で使用するものである。
【００２５】
セル抽出プログラム１２は、クロック設定箇所抽出プログラム１０により抽出したＳＴＡでのクロック設定箇所がセルの上位階層のモジュールポートである場合におけるモジュールポートの直前のセルの出力端子の探索や、０／１ケース設定箇所抽出プログラム１６により抽出した０／１ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合におけるセルの出力端子の探索を行うプログラムであり、後述するステップＳ２０４、Ｓ３０６に使用するものである。
【００２６】
セレクタ挿入プログラム１３は、クロック設定箇所抽出プログラム１０により抽出したクロック設定箇所であるセル端子へのセレクタの挿入や、セル抽出プログラム１２により探索したセルの出力端子へのセレクタの挿入や、０／１ケース設定箇所抽出プログラム１６により抽出した０／１ケース設定箇所がセルの入力端子である場合におけるセルの入力側へのセレクタの挿入や、０／１ケース設定箇所がセルの出力端子である場合におけるセルの出力側へのセレクタの挿入や、０／１ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合において、セル抽出プログラム１２により抽出したセルの出力側へのセレクタの挿入を行うプログラムであり、後述するステップＳ２０３、Ｓ３０３、Ｓ３０５に使用するものである。
【００２７】
グループ化プログラム１４は、セレクタ挿入プログラム１３により挿入したセレクタを同一周波数のテストクロックを供給するセレクタごとにグループ化するプログラムであり、後述するステップＳ２０５で使用するものである。
【００２８】
ネット結線プログラム１５は、セレクタ挿入プログラム１３により挿入したテストクロック回路を構成するセレクタへのテストクロック端子及びテストモード制御信号の接続や、０／１制御回路を構成するセレクタの入力端子のうち、テストモード時に選択される入力端子の論理０または論理１へのクリップや、同セレクタへのテストモード制御信号の接続を行うプログラムであり、後述するステップＳ２０６、Ｓ２０７、Ｓ３０７、Ｓ３０８で使用するものである。
【００２９】
０／１ケース設定箇所抽出プログラム１６は、論理合成後テスト容易化設計前のＬＳＩのネットリスト７から０／１ケース設定箇所を抽出するプログラムであり、後述するステップＳ３０１で使用するものである。なお、本発明のテストクロック回路自動挿入プログラムに含まれる０／１制御回路挿入プログラムは、端子判定プログラム１１、セル抽出プログラム１２、セレクタ挿入プログラム１３、ネット結線プログラム１５及び０／１ケース設定個所抽出プログラムを含むものである。
【００３０】
図２は本発明のテストクロック回路自動挿入方法の一実施形態を示すフローチャートである。すなわち、本発明のテストクロック回路自動挿入方法の一実施形態を実施する場合には、まず、論理合成後テスト容易化設計前のＬＳＩのネットリスト７、ＳＴＡタイミング制約情報８及びクロックグループ情報９をハードディスク６からＲＡＭ２に入力する（ステップＳ１）。
【００３１】
次に、論理合成後のＬＳＩのＳＴＡでのクロック設定箇所にテストクロック供給可能なテストクロック回路を挿入し（ステップＳ２）、システムモード時に論理０または論理１に設定される０／１ケース設定箇所の論理値を外部から制御することができる０／１制御回路を挿入し（ステップＳ３）、テスト容易化設計回路合成を行う（ステップＳ４）。
【００３２】
図３はステップＳ２でのテストクロック回路挿入処理結果例を具体的に示す回路図であり、実線で示す回路部分は、論理合成後テスト容易化設計前のネットリスト７が示すＬＳＩの回路状態の一部分を示し、破線で示す回路部分は、本発明のテストクロック回路自動挿入方法の一実施形態で挿入したテストクロック回路を示している。図３中、２０はＰＬＬ、２１、２２は入力セル、２３〜２５はテストクロック端子、２６〜２８はフリップフロップからなる２分周器、２９はゲーティングクロックセルからなる２分周器、３０〜３９はテスト時にシフトレジスタを構成するフリップフロップである。
【００３３】
また、４０〜４６はＳＴＡでのクロック設定箇所であり、４０は１００ＭＨzのクロックＣＬＫ１００が設定されるクロック設定箇所、４１は５０ＭＨzのクロックＣＬＫ５０が設定されるクロック設定箇所、４２は２５ＭＨzのクロックＣＬＫ２５が設定されるクロック設定箇所、４３は８０ＭＨzのクロックＣＬＫ８０が設定されるクロック設定箇所、４４は４０ＭＨzのクロックＣＬＫ４０が設定されるクロック設定箇所、４５は６０ＭＨzのクロックＣＬＫ６０が設定されるクロック設定箇所、４６は３０ＭＨzのクロックＣＬＫ３０が設定されるクロック設定箇所、４７〜５３はテストクロック回路を構成するセレクタである。
【００３４】
図４はステップＳ２でのテストクロック回路挿入処理手順を示すフローチャートである。すなわち、論理合成後テスト容易化設計前のＬＳＩにテストクロック回路を挿入する場合には、まず、クロック設定箇所抽出プログラム１０により、論理合成後テスト容易化設計前のＬＳＩのネットリスト７からＳＴＡでのクロック設定箇所を抽出する（ステップＳ２０１）。図３の例では、ＳＴＡでのクロック設定箇所４０〜４６が抽出されることになる。
【００３５】
なお、ＳＴＡクロックは、例えば、図５に示すように定義され、ＳＴＡタイミング制約情報８中に含まれる。この例では、記述６０は、「クロックＣＬＫ１００は、１周期を１００００ピコ秒とし、ｔ＝０で立ち上がり、ｔ＝５０００ピコ秒で立ち下がり、ＰＬＬ２０（ＰＬＬ＿Ａ）の出力端子（Ｘ）に設定されるもの」であることを示している。
【００３６】
記述６１は、「クロックＣＬＫ５０は、ＰＬＬ２０（ＰＬＬ＿Ａ）の出力端子（Ｘ）をソースとし、２分周器２６（ＲＥＧ＿Ａ）の出力端子（Ｑ）に設定されるもの」であることを示している。記述６２は、「クロックＣＬＫ２５は、ＰＬＬ２０（ＰＬＬ＿Ａ）の出力端子（Ｘ）をソースとし、４分周したものであり、２分周器２７（ＲＥＧ＿Ｂ）の出力端子（Ｑ）に設定されるもの」であることを示している。
【００３７】
記述６３は、「クロックＣＬＫ８０は、１周期を１２５００ピコ秒とし、ｔ＝０で立ち上がり、ｔ＝６２５９ピコ秒で立ち下がり、入力セル２１（ＩＮＰＵＴ＿Ａ）の出力端子（Ｘ）に設定されるもの」であることを示している。記述６４は、「クロックＣＬＫ４０は、入力セル２１（ＩＮＰＵＴ＿Ａ）の出力端子（Ｘ）をソースとし、２分周器２８（ＲＥＧ＿Ｃ）の出力端子（Ｑ）に設定されるもの」であることを示している。
【００３８】
記述６５は、「クロックＣＬＫ６０は、１周期を１６６００ピコ秒とし、ｔ＝０で立ち上がり、ｔ＝８３００ピコ秒で立ち下がり、入力セル２２（ＩＮＰＵＴ＿Ｂ）の出力端子（Ｘ）に設定されるもの」であることを示している。記述６６は、「クロックＣＬＫ３０は、入力セル２２（ＩＮＰＵＴ＿Ｂ）の出力端子（Ｘ）をソースとし、２分周器２９（ＧＣＢ＿Ａ）の出力端子（ＧＣＬＫ）に設定されるもの」であることを示している。
【００３９】
前述のステップＳ２０１の後、抽出したＳＴＡでのクロック設定箇所がセル端子であるかモジュールポートであるかを端子判定プログラム１１により判定する（ステップＳ２０２）。判定の結果、抽出したＳＴＡでのクロック設定箇所がセル端子である場合には、抽出したＳＴＡでのクロック設定箇所であるセル端子にセレクタ挿入プログラム１３によりセレクタを挿入する（ステップＳ２０３）。
【００４０】
図３の例では、ＳＴＡでのクロック設定箇所４０〜４６は、全てセル端子であるから、クロック設定箇所４０〜４６にセレクタ４７〜５３が挿入される。なお、セレクタ４７〜５３は、テストモード制御信号ＸＴＳＴ＝“０”の場合には、システムモード時のクロックを選択し、テストモード制御信号ＸＴＳＴ＝“１”の場合には、テストクロックを選択するものとして挿入される。
【００４１】
また、前述のステップＳ２０２での判定の結果、抽出したＳＴＡでのクロック設定箇所がモジュールポートである場合には、ＳＴＡでのクロック設定箇所として抽出したモジュールポートの直前のセルの出力端子をセル抽出プログラム１２により探索し（ステップＳ２０４）、探索したセルの出力端子にセレクタ挿入プログラム１３によりセレクタを挿入する（ステップＳ２０３）。
【００４２】
次に、クロックグループ情報９及びグループ化プログラム１４により、ステップＳ２０３で挿入したセレクタを同一のテストクロックを与えるセレクタ毎のグループにグループ化する（ステップＳ２０５）。
【００４３】
図６はクロックグループ情報９の例を示す表図である。この例の場合には、記述７０は、「クロックＣＬＫ１００は、テストクロックTestClock１００のグループにグループ化される」ことを示し、記述７１は、「クロックＣＬＫ８０、ＣＬＫ６０、ＣＬＫ５０は、テストクロックTestClock５０のグループにグループ化される」ことを示し、記述７２は、「クロックＣＬＫ４０、ＣＬＫ３０、ＣＬＫ２５は、テストクロックTestClock２５のグループにグループ化される」ことを示している。
【００４４】
したがって、図３の例の場合には、セレクタ４７は、テストクロックTestClock１００のグループにグループ化され、セレクタ４８〜５０は、テストクロックTestClock５０のグループにグループ化され、セレクタ５１〜５３は、テストクロックTestClock２５のグループにグループ化されることになる。
【００４５】
次に、挿入されたセレクタの入力端子のうち、テストモード時に選択される入力端子にネット結線プログラム１５によりテストクロック端子をグループごとに接続し（ステップＳ２０６）、更に、挿入されたセレクタのセレクト制御端子にネット結線プログラム１５によりテストモード制御信号ＸＴＳＴを接続する（ステップＳ２０７）。
【００４６】
図３の例では、セレクタ４７の入力端子のうち、テストモード制御信号ＸＴＳＴ＝“１”の場合に選択される入力端子にテストクロック端子２３が接続され、セレクタ４８〜５０の入力端子のうち、テストモード制御信号ＸＴＳＴ＝“１”の場合に選択される入力端子にテストクロック端子２４が接続され、セレクタ５１〜５３の入力端子のうち、テストモード制御信号ＸＴＳＴ＝“１”の場合に選択される入力端子にテストクロック端子２５が接続され、更に、セレクタ４７〜５３のセレクト制御端子にはテストモード制御信号ＸＴＳＴが接続される。
【００４７】
この結果、テストモード時には、システムモード時に１００ＭＨzのクロックＣＬＫ１００が与えられるフリップフロップ（フリップフロップ３０等）には、テストクロックTestClock１００として、１００ＭＨzのスキャンクロックが供給される。
【００４８】
また、システムモード時に８０ＭＨzのクロックＣＬＫ８０が与えられるフリップフロップ（フリップフロップ３４等）、システムモード時に６０ＭＨzのクロックＣＬＫ６０が与えられるフリップフロップ（フリップフロップ３７等）、及び、システムモード時に５０ＭＨzのクロックＣＬＫ５０が与えられるフリップフロップ（フリップフロップ３１等）には、テストクロックTestClock５０として、５０ＭＨzのスキャンクロックが供給される。
【００４９】
また、システムモード時に４０ＭＨzのクロックＣＬＫ４０が与えられるフリップフロップ（フリップフロップ３５、３６等）、システムモード時に３０ＭＨzのクロックＣＬＫ３０が与えられるフリップフロップ（フリップフロップ３８、３９等）、及び、システムモード時に２５ＭＨzのクロックＣＬＫ２５が与えられるフリップフロップ（フリップフロップ３２、３３等）には、テストクロックTestClock２５として、２５ＭＨzのスキャンクロックが供給される。
【００５０】
図７はステップＳ３での０／１制御回路挿入処理結果例を具体的に示す回路図であり、実線で示す回路部分は、論理合成後テスト容易化設計前のＬＳＩのネットリスト７が示す回路状態の一部分を示し、破線で示す部分は、本発明のテストクロック回路自動挿入方法の一実施形態で挿入された０／１制御回路を示している。
【００５１】
図７中、７５は５０ＭＨzのクロックＣＬＫＡまたは１００ＭＨzのクロックＣＬＫＢを選択するセレクタであり、セレクト制御端子Ｓ０のレベル＝“０”の場合にはクロックＣＬＫＡを選択し、セレクト制御端子Ｓ０のレベル＝“１”の場合にはクロックＣＬＫＢを選択するものである。７６はセレクタ７５のセレクト制御端子Ｓ０にセレクト制御信号を与えるフリップフロップ、７７は０／１制御回路を構成するセレクタである。
【００５２】
また、７８は１００ＭＨzのクロックＣＬＫＣまたは５０ＭＨzのクロックＣＬＫＤを選択するセレクタであり、セレクト制御端子Ｓ０のレベル＝“０”の場合にはクロックＣＬＫＣを選択し、セレクト制御端子Ｓ０のレベル＝“１”の場合にはクロックＣＬＫＤを選択するものである。７９はセレクタ７８のセレクト制御端子Ｓ０にセレクト制御信号を与えるフリップフロップ、８０は０／１制御回路を構成するセレクタである。
【００５３】
図８はステップＳ３での０／１制御回路挿入処理手順を示すフローチャートである。すなわち、０／１制御回路を挿入する場合には、まず、０／１ケース設定箇所抽出プログラム１６により、論理合成後テスト容易化設計前のＬＳＩのネットリスト７から０／１ケース設定箇所を抽出する（ステップＳ３０１）。図７の例では、０／１ケース設定箇所としてセレクタ７５、７８のセレクト制御端子Ｓ０が抽出される。
【００５４】
次に、抽出した０／１ケース設定箇所がセルの入力端子か否かを端子判定プログラム１１により判定する（ステップＳ３０２）。判定の結果、抽出した０／１ケース設定箇所がセルの入力端子の場合（ステップＳ３０２でＹＥＳの場合）には、セレクタ挿入プログラム１３により、セルの入力側にセレクタを挿入する（ステップＳ３０３）。
【００５５】
図７の例では、セレクタ７５のセレクト制御端子Ｓ０側にセレクタ７７が挿入され、セレクタ７８のセレクト制御端子Ｓ０側にセレクタ８０が挿入される。セレクタ７７は、テストモード制御信号ＸＴＳＴ＝“０”の場合にはフリップフロップ７６の出力を選択し、セレクタ８０は、テストモード制御信号ＸＴＳＴ＝“０”の場合にはフリップフロップ７９の出力を選択するように挿入される。
【００５６】
これに対して、抽出した０／１ケース設定箇所がセルの入力端子でない場合（ステップＳ３０２でＮＯの場合）には、抽出した０／１ケース設定箇所がセルの出力端子であるか否かを端子判定プログラム１１により判定する（ステップＳ３０４）。判定の結果、抽出した０／１ケース設定箇所がセルの出力端子の場合（ステップＳ３０４でＹＥＳの場合）には、セルの出力側にセレクタを挿入する（ステップＳ３０５）。
【００５７】
また、ステップＳ３０４での判定の結果、抽出した０／１ケース設定箇所がセルの出力端子でない場合（ステップＳ３０４でＮＯの場合）には、セル抽出プログラム１２により、抽出した０／１ケース設定箇所からセルの出力端子を探索し（ステップＳ３０６）、探索したセルの出力側にセレクタ挿入プログラム１３によりセレクタを挿入する（ステップＳ３０５）。
【００５８】
次に、挿入したセレクタの入力端子のうち、テストモード時に選択される入力端子をケース設定の値にあわせて論理０または論理１にネット結線プログラム１５によりクリップし（ステップＳ３０７）、更に、挿入したセレクタのセレクト制御端子にテストモード制御信号をネット結線プログラム１５により接続する（ステップＳ３０８）。
【００５９】
図７の例では、セレクタ７７は、テストモード制御信号ＸＴＳＴ＝“１”の場合に選択される入力端子が論理１にクリップされ、セレクト制御端子にテストモード制御信号ＸＴＳＴが接続される。セレクタ８０は、テストモード制御信号ＸＴＳＴ＝“１”の場合に選択される入力端子が論理０にクリップされ、セレクト制御端子にテストモード制御信号ＸＴＳＴが接続される。
【００６０】
図９はＳＴＡタイミング制約情報８に含まれる０／１ケース設定情報例を示す表図であり、記述８５は、「セレクタ７５（ＭＵＸ＿Ａ）のセレクト制御端子（Ｓ０）には論理１が設定される」ことを示している。記述８６は、「セレクタ７８（ＭＵＸ＿Ｂ）のセレクト制御端子（Ｓ０）には論理０が設定される」ことを示している。
【００６１】
以上のように、本発明のテストクロック回路自動挿入方法の一実施形態では、クロック設定箇所抽出プログラム１０によるＳＴＡでのクロック設定箇所の抽出（ステップＳ２０１）と、端子判定プログラム１１、セル抽出プログラム１２及びセレクタ挿入プログラム１３によるクロック設定箇所にテストクロック供給可能なテストクロック回路を構成するセレクタの挿入（ステップＳ２０２〜Ｓ２０４）と、グループ化プログラム１４によるテストクロック回路を構成するセレクタのグループ化（ステップＳ２０５）と、ネット結線プログラム１５によるテストクロック回路を構成するセレクタへのテストクロック端子及びテストモード制御信号ＸＴＳＴの接続（ステップＳ２０６、Ｓ２０７）が実行される。
【００６２】
さらに、０／１ケース設定箇所抽出プログラム１６による０／１ケース設定箇所の抽出（ステップＳ３０１）と、端子判定プログラム１１、セル抽出プログラム１２及びセレクタ挿入プログラム１３によるセルの入力側または出力側への０／１制御回路を構成するセレクタの挿入（ステップＳ３０２〜Ｓ３０６）と、ネット結線プログラム１５による０／１制御回路を構成するセレクタの所定の入力端子の論理０または論理１へのクリップと、０／１制御回路を構成するセレクタのセレクト制御端子へのテストモード制御信号ＸＴＳＴの接続（ステップＳ３０７、Ｓ３０８）が実行される。
【００６３】
すなわち、本発明のテストクロック回路自動挿入方法の一実施形態によれば、本発明のテストクロック回路自動挿入プログラムの一実施形態を使用し、コンピュータにより、論理合成後のＬＳＩのＳＴＡでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程が実行されるので、論理合成後のＬＳＩに遅延故障の検出が可能なテストクロック回路及び０／１制御回路を自動挿入することができる。したがって、テスト容易化設計工数の低減化を図ることができる。
【００６４】
ここで、本発明を整理すると、本発明には、少なくとも、以下のテストクロック回路自動挿入方法及びプログラムが含まれる。
【００６５】
（付記１）コンピュータにより、論理合成後のＬＳＩのＳＴＡでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程を含むことを特徴とするテストクロック回路自動挿入方法。
【００６６】
（付記２）前記テストクロック回路挿入工程は、クロック設定箇所抽出プログラムにより、前記ＬＳＩから前記クロック設定箇所を抽出するクロック設定箇所抽出工程と、セレクタ挿入プログラムにより、前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程と、ネット結線プログラムにより、前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を含むことを特徴とする付記１記載のテストクロック回路自動挿入方法。
【００６７】
（付記３）前記セレクタ挿入工程は、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入する工程であることを特徴とする付記２記載のテストクロック回路自動挿入方法。
【００６８】
（付記４）前記コンピュータにより、システムモード時に論理０または論理１に設定される０／１ケース設定箇所を抽出し、該０／１ケース設定箇所の論理値を外部から制御することができる０／１制御回路を挿入する０／１制御回路挿入工程を含むことを特徴とする付記１、２または３記載のテストクロック回路自動挿入方法。
【００６９】
（付記５）前記０／１制御回路挿入工程は、０／１ケース設定箇所抽出プログラムにより、前記０／１ケース設定箇所を抽出する０／１ケース設定箇所抽出工程と、前記セレクタ挿入プログラムにより、前記０／１ケース設定箇所がセルの入力端子の場合には、該セルの入力側にセレクタを挿入し、前記０／１ケース設定箇所がセルの出力端子の場合には、該セルの出力側にセレクタを挿入し、前記０／１ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合には、セルの出力端子を探索し、該探索したセルの出力側にセレクタを挿入する工程を含むことを特徴とする付記４記載のテストクロック回路自動挿入方法。
【００７０】
（付記６）論理合成後のＬＳＩのＳＴＡでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程をコンピュータに実行させることを特徴とするテストクロック回路自動挿入プログラム。
【００７１】
（付記７）前記クロック設定箇所を抽出するクロック設定箇所抽出工程を前記コンピュータに実行させるクロック設定箇所抽出プログラムと、前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程を前記コンピュータに実行させるセレクタ挿入プログラムと、前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を前記コンピュータに実行させるネット結線プログラムを含むことを特徴とする付記６記載のテストクロック回路自動挿入プログラム。
【００７２】
（付記８）前記クロック設定箇所がセル端子であるか否かの判定を行う端子判定工程を前記コンピュータに実行させる端子判定プログラムを含み、前記セレクタ挿入プログラムは、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入するものであることを特徴とする付記７記載のテストクロック回路自動挿入プログラム。
【００７３】
（付記９）システムモード時に論理０または論理１に設定される０／１ケース設定箇所を抽出し、該０／１ケース設定箇所の論理値を外部から制御することができる０／１制御回路を挿入する０／１制御回路挿入工程を前記コンピュータに実行させる０／１制御回路挿入プログラムを含むことを特徴とする付記６、７または８記載のテストクロック回路自動挿入プログラム。
【００７４】
（付記１０）前記０／１制御回路挿入プログラムには、前記０／１ケース設定箇所を抽出する０／１ケース設定箇所抽出工程を前記コンピュータに実行させる０／１ケース設定箇所抽出プログラムと、前記０／１ケース設定箇所がセルの入力端子の場合には、該セルの入力側にセレクタを挿入し、前記０／１ケース設定箇所がセルの出力端子の場合には、該セルの出力側にセレクタを挿入し、前記０／１ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合には、セルの出力端子を探索し、該探索したセルの出力側にセレクタを挿入する工程を前記コンピュータに実行させるセレクタ挿入プログラムを含むことを特徴とする付記９記載のテストクロック回路自動挿入プログラム。
【図面の簡単な説明】
【００７５】
【図１】本発明のテストクロック回路自動挿入方法の一実施形態を実施するための装置の概略的構成図である。
【図２】本発明のテストクロック回路自動挿入方法の一実施形態を示すフローチャートである。
【図３】本発明のテストクロック回路自動挿入方法の一実施形態で実行するテストクロック回路挿入処理結果例を具体的に示す回路図である。
【図４】本発明のテストクロック回路自動挿入方法の一実施形態で実行するテストクロック回路挿入処理手順を示すフローチャートである。
【図５】本発明のテストクロック回路自動挿入方法の一実施形態で使用するＳＴＡタイミング制約情報に含まれるＳＴＡクロックの定義例を示す表図である。
【図６】本発明のテストクロック回路自動挿入方法の一実施形態で使用するクロックグループ情報の例を示す表図である。
【図７】本発明のテストクロック回路自動挿入方法の一実施形態で実行する０／１制御回路挿入処理結果例を具体的に示す回路図である。
【図８】本発明のテストクロック回路自動挿入方法の一実施形態で実行する０／１制御回路挿入処理手順を示すフローチャートである。
【図９】本発明のテストクロック回路自動挿入方法の一実施形態で使用するＳＴＡタイミング制約情報に含まれる０／１ケース設定情報例を示す表図である。
【符号の説明】
【００７６】
１…ＣＰＵ
２…ＲＡＭ
３…マウス
４…キーボード
５…ディスプレイ
６…ハードディスク
７…ネットリスト
８…ＳＴＡタイミング制約情報
９…クロックグループ情報
１０…クロック設定箇所抽出プログラム
１１…端子判定プログラム
１２…セル抽出プログラム
１３…セレクタ挿入プログラム
１４…グループ化プログラム
１５…ネット結線プログラム
１６…０／１ケース設定箇所抽出プログラム
２０…ＰＬＬ
２１、２２…入力セル
２３〜２５…テストクロック端子
２６〜２９…２分周器
３０〜３９…フリップフロップ
４０〜４６…ＳＴＡでのクロック設定箇所
４７〜５３…セレクタ
７５…セレクタ
７６…フリップフロップ
７７、７８…セレクタ
７９…フリップフロップ
８０…セレクタ
【図１】
2008009823.tif 000003
【図２】
2008009823.tif 000004
【図３】
2008009823.tif 000005
【図４】
2008009823.tif 000006
【図５】
2008009823.tif 000007
【図６】
2008009823.tif 000008
【図７】
2008009823.tif 000009
【図８】
2008009823.tif 000010
【図９】
2008009823.tif 000011