(57)【要約】【課題】  本来のパルス幅のラウンチクロック及びキャプチャクロックをタイミング制約に応じて発生することにより、確実な遅延故障テストを可能にする。【解決手段】  相互に異なる周波数のクロックで動作する複数のフリップフロップと、前記フリップフロップに供給するクロックの元となる発振出力を出力する発振器１と、遅延故障テスト用の制御データを記憶する記憶部１７と、前記発振器の発振出力を用いて、前記遅延故障テストに用いるラウンチクロック及びキャプチャクロックを前記制御データに基づいて生成するものであって、前記フリップフロップを動作させるクロックの周期に対応したパルス幅の前記ラウンチクロック及びキャプチャクロックを生成するパルス制御部１１とを具備したことを特徴とする。【選択図】      図１
2007327838.tif 000002
【特許請求の範囲】
【請求項１】
相互に異なる周波数のクロックで動作する複数のフリップフロップと、
前記フリップフロップに供給するクロックの元となる発振出力を出力する発振器と、
遅延故障テスト用の制御データを記憶する記憶部と、
前記発振器の発振出力を用いて、前記遅延故障テストに用いるラウンチクロック及びキャプチャクロックを前記制御データに基づいて生成するものであって、前記フリップフロップを動作させるクロックの周期に対応したパルス幅の前記ラウンチクロック及びキャプチャクロックを生成するパルス制御部と
を具備したことを特徴とする半導体集積回路装置。
【請求項２】
前記複数のフリップフロップは、スキャンテスト回路によって書込み及び読出しが可能であることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
前記パルス制御部は、前記制御データによって指定されるクロックの組合せに応じて定まる最小のタイミング制約に基づくタイミングで前記ラウンチクロック及びキャプチャクロックを発生することを特徴とする請求項１に記載の半導体集積回路装置。
【請求項４】
前記パルス制御部は、前記発振器の発振出力に基づくサイクル毎に前記制御データに基づいて出力レベルの状態が遷移するステートマシンを含むことを特徴とする請求項１に記載の半導体集積回路装置。
【請求項５】
前記パルス制御部は、前記発振器の発振出力に基づくサイクル毎に前記制御データに基づく出力レベルを規定したテーブルを参照することで、前記ラウンチクロック及びキャプチャクロックを生成することを特徴とする請求項１に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遅延故障テストが可能な半導体集積回路装置に関する。
【背景技術】
【０００２】
従来、順序回路を備えた大規模集積回路（ＬＳＩ）においては、多数のフリップフロップ回路が構成されている。このようなＬＳＩの故障診断のために、スキャンテストが採用されることがある。スキャンテストは、回路内部のフリップフロップをチェイン状の経路を有するスキャンフリップフロップとして構成し、入出力を観測することで、故障の有無を判定するものである。
【０００３】
このようなスキャンテストを可能にした半導体集積回路としては、特許文献１，２に記載されたもの等、種々の回路が提案されている。
【０００４】
更に、近年、対象回路の高速化に伴い、遅延故障に対するテスト（遅延故障テスト）も採用されるようになってきた。遅延故障テストは、スキャン設計された回路のフリップフロップ間の組み合わせ回路部を対象にして，所定の遅延時間内にデータが遷移可能であるか否かをテストするものである。 
遅延故障テストにおいては、先ず、スキャンチェインを利用してフリップフロップに必要な値をセットする。次に、テストしたい周波数で高速にクロック信号を２つ印加する。そうすると、最初のクロックで前段のフリップフロップに発生した値の変化が、２番目のクロックで後段のフリップフロップに取り込まれる。フリップフロップの出力を観測することで、前段のフリップフロップと後段のフリップフロップ間のテスト周波数における遅延故障を検出することができる。
【０００５】
ところで、近年、ＬＳＩ内の各素子の駆動周波数は極めて高くなっており、例えば、周波数が５００ＭＨｚの高速クロックが用いられることがある。この場合には、フリップフロップは２ｎｓ（秒）以内に高速に動作する必要があり、遅延故障テストにおいても、このような高速動作に対応するために高速クロックを用いたテストが必要である。この場合に、テスト用のクロックをＬＳＩの外部のテスタから供給しようとすると、波形歪みによって遅延故障テストの計測が困難である。そこで、ＬＳＩ内に構成されたＰＬＬ回路の出力を用いて、テストクロックを発生させることが考えられる。即ち、テストクロックは、ＰＬＬ回路の出力クロックを、テストパターンに応じたタイミングで選択することで、発生させるのである。
【０００６】
ところで、ＬＳＩ内には、高速駆動する素子と低速駆動する素子とが混在して設けられることがある。この場合には、テストパターンは、高速駆動する素子用の短周期に応じたタイミングと、低速駆動する素子用の長周期に応じたタイミングを示すものとなる。ＰＬＬ回路の出力クロックを、このテストパターンに応じたタイミングで選択することで、高速駆動する素子と低速駆動する素子とが混在して設けられた素子の遅延故障テスト用のテストクロックを発生させることができる。
【０００７】
しかしながら、このようなテストクロックは、ＰＬＬ回路の出力をテストパターンに応じて選択することで生成されており、高速駆動する素子と低速駆動する素子のいずれに供給されるテストクロックも、そのパルス幅はＰＬＬ回路の出力に応じて一定である。
【０００８】
そうすると、遅延故障テストのテスト結果として十分な精度が得られないことがある。例えば、立ち上がりエッジで動作する素子と立ち下がりエッジで動作する素子とが混在した回路では、通常動作時のクロックよりもパルス幅が短いテストクロックが与えられた場合、立ち上がりエッジで動作する素子から、立ち下がりエッジで動作する素子への信号パスが存在するものとすると、素子をこの信号パスの本来のタイミング制約よりも短い周期で動作させることになり、期待値の不一致が発生する可能性がある。
【０００９】
また、クロックラインの立ち上がり遷移時間と立ち下がり遷移時間とが非対称な場合には、本来のパルス幅よりも短いパルス幅のテストクロックでは、最小パルス幅を満足しないか又はテストクロックの消失が生じる可能性もある。
【特許文献１】特開２００４−３５４０５９号公報
【特許文献２】特開平８−２０１４８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、適正なパルス幅のテストクロックによって故障テストを行うことができる半導体集積回路装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様の半導体集積回路装置は、相互に異なる周波数のクロックで動作する複数のフリップフロップと、前記フリップフロップに供給するクロックの元となる発振出力を出力する発振器と、遅延故障テスト用の制御データを記憶する記憶部と、前記発振器の発振出力を用いて、前記遅延故障テストに用いるラウンチクロック及びキャプチャクロックを前記制御データに基づいて生成するものであって、前記フリップフロップを動作させるクロックの周期に対応したパルス幅の前記ラウンチクロック及びキャプチャクロックを生成するパルス制御部とを具備したことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、適正なパルス幅のテストクロックによって故障テストを行うことができるという効果を有する。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１４】
＜第１の実施の形態＞
図１は本発明の第１の実施の形態に係る半導体集積回路装置を示すブロック図である。また、図２は図１の半導体集積回路装置上に構成される素子を説明するためのブロック図である。図３は図２中のＦＦ群Ａ２１〜ＦＦ群Ｃ２３において用いるクロック信号Ａ〜Ｃを示している。また、図４乃至図６は各信号パスのタイミング制約、即ち、遅延故障テストに必要なクロックを説明するためのタイミングチャートである。
【００１５】
先ず、図２を参照して半導体集積回路装置上に構成される素子について説明する。
【００１６】
半導体集積回路装置上には、発振器としてのＰＬＬ回路１が構成されている。ＰＬＬ回路１は、所定周波数のクロック信号Ａを発生する。半導体集積回路装置上には、複数のフリップフロップが構成されており、各フリップフロップは要求される駆動速度に相違がある。図２は異なるクロック周波数で動作するフリップフロップ群の数が３の例を示している。
【００１７】
即ち、図２の例では、各フリップフロップは、クロック信号Ａに基づいて駆動されるフリップフロップ群Ａ（ＦＦ群Ａ）２１と、クロック信号Ｂに基づいて駆動されるフリップフロップ群Ｂ（ＦＦ群Ｂ）２２と、クロック信号Ｃに基づいて駆動されるフリップフロップ群Ｃ（ＦＦ群Ｃ）２３とに分けられる。クロックＢは、クロックＡよりも低い周波数のクロックであり、例えば、クロックＡの１／２の周波数である。また、クロックＣは、クロックＢよりも低い周波数のクロックであり、例えば、クロックＡの１／４の周波数である。
【００１８】
１／２分周器５１は、ＰＬＬ回路１からのクロック信号Ａ（図３（ａ））を１／２分周してクロック信号Ｂ（図３（ｂ））を生成し、ＦＦ群Ｂ２２に出力する。１／４分周器５２は、ＰＬＬ回路１からのクロック信号Ａを１／４分周してクロック信号Ｃ（図３（ｃ））を生成し、ＦＦ群Ｃ２３に出力する。
【００１９】
ＦＦ群Ａ２１の各フロップフロップは、所定の入力信号をクロック信号Ａのエッジに同期させて出力する。また、ＦＦ群Ｂ２２の各フロップフロップは、所定の入力信号をクロック信号Ｂのエッジに同期させて出力する。また、ＦＦ群Ｃ２３の各フロップフロップは、各フリップフロップに入力された所定の入力信号をクロック信号Ｃのエッジに同期させて出力する。
【００２０】
半導体集積回路装置内においては、ＦＦ群Ａ２１〜ＦＦ群Ｃ２３の各フリップフロップが相互に接続されて順序回路が構成されている。図４乃至図６は、ＦＦ群Ａ２１〜ＦＦ群Ｃ２３中の各フリップフロップのうち前段及び後段の連続する２段のフリップフロップに供給されるクロックの関係のうち最も周期が短い関係（タイミング制約）を矢印にて示すものである。図４はＦＦ群Ａ２１〜ＦＦ群Ｃ２３のうち、連続する２段のフリップフロップが同一群のフリップフロップである場合のタイミング制約を示している。
【００２１】
図４（ａ）は前段及び後段のフリップフロップがクロック信号Ａによって動作する例を示している。この場合のタイミング制約ｔＡＡは矢印によって示すことができる。即ち、前段のフリップフロップは、矢印の始点となるサイクル０のクロック信号Ａの立ち上がりエッジで動作し、後段のフリップフロップは矢印の終点となるサイクル１のクロック信号Ａの立ち上がりエッジで動作する。
【００２２】
同様に、図４（ｂ）は前段及び後段のフリップフロップがクロック信号Ｂによって動作するタイミング制約ｔＢＢの例を示している。即ち、前段のフリップフロップは矢印の始点となるサイクル０のクロック信号Ｂの立ち上がりエッジで動作し、後段のフリップフロップは矢印の終点となるサイクル２のクロック信号Ｂの立ち上がりエッジで動作する。
【００２３】
また同様に、図４（ｃ）は前段及び後段のフリップフロップがクロック信号Ｃによって動作するタイミング制約ｔＣＣの例を示している。前段のフリップフロップは矢印の始点となるサイクル０のクロック信号Ｃの立ち上がりエッジで動作し、後段のフリップフロップは矢印の終点となるサイクル４のクロック信号Ｃの立ち上がりエッジで動作する。
【００２４】
図５はＦＦ群Ａ２１〜ＦＦ群Ｃ２３のうち、連続する２段のフリップフロップの一方がＦＦ群Ａ２１のフリップフロップであり、他方がＦＦ群Ｂ２２又はＦＦ群Ｃ２３のフリップフロップである場合のタイミング制約ｔＢＡ，ｔＡＢ，ｔＣＡ，ｔＡＣを示している。この場合に、前後段の２つのフリップフロップに与えられるクロックの組としては、図５の矢印に示すように、クロックＡと次のクロックＢ、クロックＡと次のクロックＣ、クロックＢと次のクロックＡ、クロックＣと次のクロックＡの４種類が考えられる。
【００２５】
また、図６はＦＦ群Ａ２１〜ＦＦ群Ｃ２３のうち、連続する２段のフリップフロップの一方がＦＦ群Ｂ２２のフリップフロップであり、他方がＦＦ群Ｃ２３のフリップフロップである場合のタイミング制約ｔＣＢ，ｔＢＣを示している。この場合に、前後段の２つのフリップフロップに与えられるクロックの組としては、図６の矢印に示すように、クロックＣと次のクロックＢ、クロックＢと次のクロックＣの２種類が考えられる。
【００２６】
即ち、異なる周波数で動作する３つのフリップフロップ群を有し、各フリップフロップが立ち上がりエッジで動作し、異なる周波数のクロックが立ち上がりエッジで位相が同期している半導体集積回路装置におけるタイミング制約としては、図４乃至図６に示す９パターンのタイミング制約ｔＡＡ〜ｔＣＣのみを考慮すればよい。
【００２７】
なお、図４乃至図６は異なる周波数で動作するフリップフロップ群が３の例を示したが、２又は４以上であっても本実施の形態を同様に適用可能である。また、図４乃至図６の例では、説明を簡略化するために、クロック信号の立ち上がりエッジでフリップフロップが動作する例を説明したが、立ち上がりエッジ及び立ち下がりエッジのいずれで動作する場合にも、同様に適用可能である。
【００２８】
本実施の形態は、遅延故障テストにおいて、各タイミング制約に対応した２つのテスト用のクロック（以下、制御クロック信号という）を各フリップフロップに供給するものであって、各制御クロック信号をその周波数に応じたパルス幅で各フリップフロップに供給することを可能にするものである。
【００２９】
図１はこのような遅延故障テストにおける制御クロック信号を出力可能な半導体集積回路装置を示している。なお、図１は異なる周波数で動作するフリップフロップ群が３つの例であり、各フリップフロップが立ち上がりエッジで動作し、異なる周波数のクロックが立ち上がりエッジで位相が同期している場合の例を示している。
【００３０】
図１に示すように、半導体集積回路装置には、図２の構成の外に、ＰＬＬパルス制御部１１が設けられている。なお、図１では図示を省略したが、半導体集積回路装置には、通常動作時においてＦＦ群Ａ２１乃至ＦＦ群Ｃ２３にクロック信号Ａ〜Ｃを供給する１／２分周器５１及び１／４分周器５２が設けられていると共に、通常動作時と遅延故障テスト時とで、クロック信号Ａ〜Ｃと制御クロック信号Ａ〜Ｃとを切り替えるためのセレクタも設けられている。また、図１の半導体集積回路装置には、スキャンテストを実施するために、ＦＦ群Ａ２１乃至ＦＦ群Ｃ２３の各フリップフロップに対する書込み及び読み出しを可能にする図示しないスキャンテスト回路も設けられている。
【００３１】
ＰＬＬ回路１からのクロック信号ＡはＰＬＬパルス制御部１１内のサイクル制御部１２及びアンド回路１３に与えられる。サイクル制御部１２にはスキャンイネーブル入力及びパルス制御データも与えられる。スキャンイネーブル入力は、故障テストのうちスキャンチェインを利用したスキャンテストを行う場合に、スキャンシフト動作とファンクション動作とを切り替える信号であり、スキャンシフト時にはハイレベル（以下、Ｈレベルという）となり、ファンクション動作時にはローレベル（以下、Ｌレベルという）となる。
【００３２】
遅延故障テスト時には、前段及び後段のフリップフロップに、連続する２つの制御クロック信号を与える。最初の制御クロック信号（以下、ラウンチクロックともいう）によって前段のフリップフロップに発生した値の変化が、次の制御クロック信号（以下、キャプチャクロックともいう）によって後段のフリップフロップによって取り込まれるか否かが検査される。
【００３３】
パルス制御データは、ＦＦ群Ａ２１〜ＦＦ群Ｃ２３の構成に応じて上述したタイミング制約に基づくタイミングにおいてラウンチクロック及びキャプチャクロックを発生させるための情報を含む。記憶部としての制御データレジスタ部１７は、このパルス制御データを保持する。制御データレジスタ部１７は、所定のサイクル毎にラウンチクロック及びキャプチャクロックを発生させるためのパルス制御データをサイクル制御部１２に供給する。サイクル制御部１２は、パルス制御データを用いて、タイミング制約に基づくタイミングにおいて、ラウンチクロック及びキャプチャクロックの周期に応じたパルス幅の信号を出力する。
【００３４】
図７は図１中のサイクル制御部１２の具体的な構成を示すブロック図である。
【００３５】
サイクル制御部１２は制御信号生成回路３２、ステートレジスタ３３及びフリップフロップ３４乃至３６によって構成されている。制御信号生成回路３２には、クロック信号Ａ、スキャンイネーブル入力及びパルス制御データが入力され、制御信号生成回路３２はこれらの入力に応じた信号を出力する。
【００３６】
制御信号生成回路３２はクロック信号Ａに応じた所定のサイクルで動作して、各サイクル毎に出力状態を変化させる。ステートレジスタ３３は現在のサイクルが何番目のサイクルであるかを記憶して、次のサイクルを制御信号生成回路３２に指示する。制御信号生成回路３２の各出力は、フリップフロップ３４乃至３６によって同期化されて出力される。
【００３７】
例えば、制御信号生成回路３２は、クロック信号Ａ及びパルス制御データに基づいて出力の状態が所定のサイクル毎に変化するステートマシンによって構成することができる。図８及び図９はこのようなステートマシンによって構成される制御信号生成回路３２の出力状態を説明するための状態遷移図である。図８はトップ階層の状態遷移図であり、リセット時においては制御信号生成回路３２は、ステートＳＴ００より動作を開始する。
【００３８】
図８は丸印でステートダイアグラムを示しており、二重丸はサブステートダイアグラムである。図８において、ＳＥはスキャンイネーブル入力を示し、ＡＬ〜ＣＬ及びＡＣ〜ＣＣはパルス制御データを示している。ＡＬ〜ＣＬは、夫々制御クロック信号Ａ〜Ｃをラウンチクロックとして出力するためのデータを示し、ＡＣ〜ＣＣは、夫々制御クロック信号Ａ〜Ｃをキャプチャクロックとして出力するためのデータを示している。図８では“＝”によって、遷移条件を示しており，“＝”の両辺が一致の場合に、ステート間での遷移が発生することを示す。なお、条件式はＡＮＤ及びＯＲ等で複数を結合してもよい。なお、図８では“，”によってＡＮＤ条件を示している。
【００３９】
図８は図４乃至図６に示す上述した９つのタイミング制約ｔＡＡ〜ｔＣＣを満足するラウンチクロック及びキャプチャクロックを出力する場合の例を示している。各タイミング制約ｔＡＡ〜ｔＣＣが夫々サブステートＳＴ０１〜ＳＴ０９によって実現される。ステートＳＴ００は初期ステートを示している。
【００４０】
スキャンイネーブル入力がＬレベルになると（ＳＥ＝０）、ステートＳＴ００から制御データに応じたサブステートＳＴ０１〜ＳＴ０９に状態が移行する。サブステートＳＴ０１は、ラウンチクロック及びキャプチャクロックのいずれも制御クロック信号Ａを選択する場合の例であり、図４（ａ）のタイミング制約ｔＡＡを実現するものである。
【００４１】
同様に、サブステートＳＴ０２は、ラウンチクロックとして制御クロック信号Ａを選択し、キャプチャクロックとして制御クロック信号Ｂを選択する場合の例であり、図５（ａ），（ｂ）に示すタイミング制約ｔＡＢを実現するものである。
【００４２】
同様に、サブステートＳＴ０３は、ラウンチクロックとして制御クロック信号Ａを選択し、キャプチャクロックとして制御クロック信号Ｃを選択する場合の例であり、図５（ａ），（ｃ）に示すタイミング制約ｔＡＣを実現するものである。
【００４３】
同様に、サブステートＳＴ０４は、ラウンチクロックとして制御クロック信号Ｂを選択し、キャプチャクロックとして制御クロック信号Ｂを選択する場合の例であり、図４（ｂ）に示すタイミング制約ｔＢＢを実現するものである。
【００４４】
同様に、サブステートＳＴ０５は、ラウンチクロックとして制御クロック信号Ｂを選択し、キャプチャクロックとして制御クロック信号Ａを選択する場合の例であり、図５（ｂ），（ａ）に示すタイミング制約ｔＢＡを実現するものである。
【００４５】
同様に、サブステートＳＴ０６は、ラウンチクロックとして制御クロック信号Ｂを選択し、キャプチャクロックとして制御クロック信号Ｃを選択する場合の例であり、図６（ｂ），（ｃ）に示すタイミング制約ｔＢＣを実現するものである。
【００４６】
同様に、サブステートＳＴ０７は、ラウンチクロックとして制御クロック信号Ｃを選択し、キャプチャクロックとして制御クロック信号Ｃを選択する場合の例であり、図４（ｃ）に示すタイミング制約ｔＣＣを実現するものである。
【００４７】
同様に、サブステートＳＴ０８は、ラウンチクロックとして制御クロック信号Ｃを選択し、キャプチャクロックとして制御クロック信号Ａを選択する場合の例であり、図５（ｃ），（ａ）に示すタイミング制約ｔＣＡを実現するものである。
【００４８】
同様に、サブステートＳＴ０９は、ラウンチクロックとして制御クロック信号Ｃを選択し、キャプチャクロックとして制御クロック信号Ｂを選択する場合の例であり、図６（ｃ），（ｂ）に示すタイミング制約ｔＣＢを実現するものである。
【００４９】
図９はサブステートＳＴ０１の具体的な構成を示している。図９において、ＡＥＮは制御クロック信号Ａの出力を許可するクロックＡ制御信号を示し、ＢＣＫ，ＣＣＫは、夫々制御クロック信号Ｂ，Ｃの出力を規定するクロックＢレベル信号及びクロックＣレベル信号を示している。図９では、左向きの矢印によって、クロックＡ制御信号、クロックＢレベル信号及びクロックＣレベル信号に右辺の値を代入することを示している。
【００５０】
図９に示す下位階層では、ステートＳ及びステートＥが設けられる。ステートＳは上位階層がアクティブになった際に、下位階層の開始ステートを明示するものである。ステートＥは下位階層の処理を終了し、図８に示す上位階層に制御を移すことを明示するものである。
【００５１】
図８に示す遷移条件によって、サブステートＳＴ０１が選択されると、サブステートの開始ステートＳからサブステートＳＴ０１のダミーサイクルを示すステートＳＴ０１−０に移行する。ステートＳＴ０１−０は、全ての値、ＡＥＮ，ＢＣＫ，ＣＣＫを０にリセットする。次のサイクルでは、ステートＳＴ０１−１に移行して、ＡＥＮに１が代入される。これにより、このサイクルにおいてクロックＡ制御信号がＨレベルに遷移する。クロックＡ制御信号は、フリップフロップ３４に供給されて、クロック信号Ａに同期して出力される。
【００５２】
次のサイクルでは、ステートＳＴ０１−２に移行して、前サイクルと同様にＡＥＮに１が代入される。これにより、このサイクルにおいてクロックＡ制御信号がＨレベルに遷移する。クロックＡ制御信号は、フリップフロップ３４に供給されて、クロック信号Ａに同期して出力される。
【００５３】
次のサイクルでは、ステートＳＴ０１−３に移行して、全ての値、ＡＥＮ，ＢＣＫ，ＣＣＫを０にリセットする。最後に、終了ステートＥに移行して、上位階層の初期ステートＳＴ００に状態が遷移する。
【００５４】
即ち、例えば、パルス制御データとして、ＡＬ，ＡＣ＝１でＢＬ，ＣＬ，ＢＣ，ＣＣ＝０のパルス制御データがサイクル制御部１２に入力された場合には、サブステートＳＴ０１に遷移して、サイクル制御部１２からは、所定のサイクルでＨレベルのクロックＡ制御信号が出力され、次のサイクルでＨレベルのクロックＡ制御信号が出力されることになる。
【００５５】
図１において、クロックＡ制御信号は、アンド回路１３に与えられる。アンド回路１３には、ＰＬＬ回路１からクロックＡも与えられている。アンド回路１３は、クロックＡ制御信号がＨレベルの期間において、クロックＡを出力する。アンド回路１３の出力はセレクタ１４に供給される。セレクタ１４には、シフトクロック入力も入力されている。シフトクロック入力は、外部の図示しないテスタからのクロックであり、スキャンシフト時に用いられるクロックである。セレクタ１４は、スキャンイネーブル入力によって制御され、スキャンイネーブル入力がＨレベルでスキャンシフト動作時には、シフトクロック入力を選択して出力し、スキャンイネーブル入力がＬレベルでファンクション動作時には、アンド回路１３の出力を選択する。
【００５６】
即ち、ファンクション動作時には、セレクタ１４からは、クロックＡ制御信号がＨレベルのサイクルにおいて、クロック信号Ａが制御クロック信号Ａとして出力される。セレクタ１４の出力はＦＦ群Ａ２１に供給される。
【００５７】
サイクル制御部１２からのクロックＢレベル信号及びクロックＣレベル信号は、夫々セレクタ１５，１６に供給される。セレクタ１５，１６にはシフトクロック入力も入力されている。セレクタ１５，１６は、スキャンイネーブル入力がスキャンシフト動作を指示している場合には、シフトクロック入力を選択して出力し、ファンクション動作を指示している場合にはクロックＢレベル信号又はクロックＣレベル信号を選択して出力する。
【００５８】
本実施の形態においては、クロックＢレベル信号は、クロック信号Ａの１サイクル期間だけＨレベルを維持するように制御されており、ファンクション動作時においては、セレクタ１５はクロック信号Ｂと同じパルス幅の制御クロック信号Ｂを出力する。また、クロックＣレベル信号は、クロック信号Ａの２サイクル期間だけＨレベルを維持するように制御されており、ファンクション動作時においては、セレクタ１６はクロック信号Ｃと同じパルス幅の制御クロック信号Ｃを出力する。なお、クロック信号Ｂ及びクロック信号Ｃのデューティー比（Ｈレベル期間とＬレベル期間の比率）は、１：１として説明したが、それ以外の場合でもクロック信号Ａの１サイクル期間を単位としてデューティー比を変化させることができる。
【００５９】
図１０はクロックＢレベル信号を含む出力を出力するサブステートダイアグラムの例として、サブステートＳＴ０２の具体的な構成を示す状態遷移図である。図１０における各符号も図９と同様のものである。
【００６０】
図８に示す遷移条件によって、サブステートＳＴ０２が選択されると、サブステートの開始ステートＳからサブステートＳＴ０２のダミーサイクルを示すステートＳＴ０２−０に移行する。ステートＳＴ０２−０は、全ての値、ＡＥＮ，ＢＣＫ，ＣＣＫを０にリセットする。次のサイクルでは、ステートＳＴ０２−１に移行して、ＡＥＮに１が代入される。これにより、このサイクルにおいてクロックＡ制御信号がＨレベルに遷移する。クロックＡ制御信号は、フリップフロップ３４に供給されて、クロック信号Ａに同期して出力される。
【００６１】
次のサイクルでは、ステートＳＴ０２−２に移行して、ＡＥＮに０が代入されると共にＢＣＫに１が代入される。これにより、このサイクルにおいてクロックＡ制御信号がＬレベルに遷移すると共に、クロックＢレベル信号がＨレベルに遷移する。クロックＢレベル信号はフリップフロップ３５に供給されて、クロック信号Ａに同期して出力される。
【００６２】
次のサイクルでは、ステートＳＴ０２−３に移行して、全ての値、ＡＥＮ，ＢＣＫ，ＣＣＫを０にリセットする。最後に、終了ステートＥに移行して、上位階層の初期ステートＳＴ００に状態が遷移する。
【００６３】
即ち、例えば、パルス制御データとして、ＡＬ，ＢＣ＝１でＢＬ，ＣＬ，ＡＣ，ＣＣ＝０のパルス制御データがサイクル制御部１２に入力された場合には、サブステートＳＴ０２に遷移して、サイクル制御部１２からは、所定のサイクルでＨレベルのクロックＡ制御信号が出力され、次のサイクルでＨレベルのクロックＢレベル信号が出力されることになる。即ち、クロックＢレベル信号は、１サイクル期間Ｈレベルを維持する。
【００６４】
サイクル制御部１２からのクロックＢレベル信号は、セレクタ１５に供給される。セレクタ１５は、スキャンイネーブル入力がファンクション動作を指示している場合には、クロックＢレベル信号を制御クロック信号Ｂとして出力する。クロックＢレベル信号が１サイクル期間Ｈレベルであるので、制御クロック信号Ｂは１サイクル期間、即ち、クロック信号Ａの１周期期間のパルス幅を有する。
【００６５】
図１１はクロックＣレベル信号を含む出力を出力するサブステートダイアグラムの例として、サブステートＳＴ０３の具体的な構成を示す状態遷移図である。図１１における各符号も図９と同様のものである。
【００６６】
図８に示す遷移条件によって、サブステートＳＴ０３が選択されると、サブステートの開始ステートＳからサブステートＳＴ０３のダミーサイクルを示すステートＳＴ０３−０に移行する。ステートＳＴ０３−０は、全ての値、ＡＥＮ，ＢＣＫ，ＣＣＫを０にリセットする。次のサイクルでは、ステートＳＴ０３−１に移行して、ＡＥＮに１が代入される。これにより、このサイクルにおいてクロックＡ制御信号がＨレベルに遷移する。クロックＡ制御信号は、フリップフロップ３４に供給されて、クロック信号Ａに同期して出力される。
【００６７】
次のサイクルでは、ステートＳＴ０３−２に移行して、ＡＥＮに０が代入されると共にＣＣＫに１が代入される。これにより、このサイクルにおいてクロックＡ制御信号がＬレベルに遷移すると共に、クロックＣレベル信号がＨレベルに遷移する。クロックＣレベル信号はフリップフロップ３６に供給されて、クロック信号Ａに同期して出力される。
【００６８】
次のサイクルでは、ステートＳＴ０３−３に移行して、前サイクルと同様にＣＣＫに１が代入される。これにより、このサイクルにおいて、クロックＣレベル信号はＨレベルを維持する。クロックＣレベル信号はフリップフロップ３６に供給されて、クロック信号Ａに同期して出力される。
【００６９】
次のサイクルでは、ステートＳＴ０３−４に移行して、ＣＣＫに０が代入される。これにより、このサイクルにおいて、クロックＣレベル信号はＬレベルに遷移する。クロックＣレベル信号はフリップフロップ３６に供給されて、クロック信号Ａに同期して出力される。更に、次のサイクルでは、ステートＳＴ０３−５に移行して、前サイクルと同様にＣＣＫに０が代入される。これにより、このサイクルにおいても、クロックＣレベル信号はＬレベルを維持する。クロックＣレベル信号はフリップフロップ３６に供給されて、クロック信号Ａに同期して出力される。最後に、終了ステートＥに移行して、上位階層の初期ステートＳＴ００に状態が遷移する。
【００７０】
即ち、例えば、パルス制御データとして、ＡＬ，ＣＣ＝１でＢＬ，ＣＬ，ＡＣ，ＢＣ＝０のパルス制御データがサイクル制御部１２に入力された場合には、サブステートＳＴ０３に遷移して、サイクル制御部１２からは、所定のサイクルでＨレベルのクロックＡ制御信号が出力され、次の２サイクルでＨレベルのクロックＣレベル信号が出力され、次の２サイクルでＬレベルのクロックＣレベル信号が出力されることになる。即ち、クロックＣレベル信号は、２サイクル期間Ｈレベルを維持し、２サイクル期間Ｌレベルを維持する。
【００７１】
サイクル制御部１２からのクロックＣレベル信号は、セレクタ１６に供給される。セレクタ１６は、スキャンイネーブル入力がファンクション動作を指示している場合には、クロックＣレベル信号を制御クロック信号Ｃとして出力する。クロックＣレベル信号が２サイクル期間Ｈレベルであるので、制御クロック信号Ｃは２サイクル期間、即ち、クロック信号Ａの２周期期間のパルス幅を有する。
【００７２】
セレクタ１５，１６からの制御クロック信号Ｂ及び制御クロック信号Ｃは、夫々ＦＦ群Ｂ２２及びＦＦ群Ｃ２３に供給される。
【００７３】
次に、このように構成された実施の形態の動作について図１２乃至図２０のタイミングチャートを参照して説明する。図１２乃至図２０は夫々タイミング制約ｔＡＡ、ｔＡＢ，ｔＡＣ，ｔＢＢ，ｔＢＡ，ｔＢＣ，ｔＣＣ，ｔＣＡ，ｔＣＢを説明するものである。
【００７４】
通常の動作時には、半導体集積回路装置は図２と同様の構成となる。この場合には、ＰＬＬ回路１からのクロック信号ＡはＦＦ群Ａ２１の各フリップフロップに供給され、クロック信号ＢはＦＦ群Ｂ２２の各フリップフロップに供給され、クロック信号ＣはＦＦ群Ｃ２３の各フリップフロップに供給される。
【００７５】
テストモード時には、スキャンイネーブル入力によって、スキャンシフト動作とファンクション動作が指示される。スキャンシフト時には、スキャンイネーブル入力はＨレベルとなり、セレクタ１４乃至１６はいずれもシフトクロック入力を選択して、夫々ＦＦ群Ａ２１乃至ＦＦ群Ｃ２３に供給する。なお、スキャンシフト時には、ＦＦ群Ａ２１乃至ＦＦ群Ｃ２３の各フリップフロップによってスキャンチェインが構成される。
【００７６】
また、スキャンチェインを利用して、遅延故障テストにおいて用いる値が各フリップフロップにセットされる。制御データレジスタ部１７には、遅延故障テストにおいて用いるパルス制御データがセットされる。
【００７７】
ファンクション動作時には、スキャンイネーブル入力はＬレベルとなる。サイクル制御部１２の制御信号生成回路３２には、クロック信号Ａ及びパルス制御データが供給され、制御信号生成回路３２は、スキャンイネーブルがＬレベルになると、クロック信号Ａに基づくサイクル毎に、パルス制御データに基づいて出力の状態を決定する。
【００７８】
いま、制御信号生成回路３２に、図４（ａ）のタイミング制約ｔＡＡに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＡＬ，ＡＣ＝１でＢＬ，ＣＬ，ＢＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０１に遷移し、図９に示す各ステートＳ，ＳＴ０１−１〜ＳＴ０１−３，Ｅを実行する。即ち、ＰＬＬパルス制御部１１は図１２に示す動作を行う。
【００７９】
図１２に示すように、ステートＳＴ０１−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０１−１において、ＡＥＮに１を代入する。また、ステートＳＴ０１−２においても継続してＡＥＮを１にする。これにより、図１２に示すように、クロックＡ制御信号はステートＳＴ０１−１，ＳＴ０１−２の２サイクル期間Ｈレベルとなる。なお、他のクロックＢレベル信号及びクロックＣレベル信号はＬレベルのままである。
【００８０】
クロックＡ制御信号はアンド回路１３に与えられ、ステートＳＴ０１−１，ＳＴ０１−２の２サイクル期間にクロック信号Ａがセレクタ１４に供給される。こうして、セレクタ１４からは、２サイクル期間にわたり、クロック信号Ａが制御クロック信号Ａとして連続的に出力される。こうして、図４（ａ）のタイミング制約ｔＡＡに対応したラウンチクロック及びキャプチャクロックをＦＦ群２１に与えることができる。
【００８１】
次に、制御信号生成回路３２に、図５（ａ），（ｂ）のタイミング制約ｔＡＢに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＡＬ，ＢＣ＝１でＢＬ，ＣＬ，ＡＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０２に遷移する。そして、ＰＬＬパルス制御部１１は図１３に示す動作を行う。
【００８２】
即ち、図１３に示すように、ステートＳＴ０２−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０２−１において、ＡＥＮに１を代入する。次に、ステートＳＴ０２−２においてＡＥＮを０に戻し、ＢＣＫに１を代入する。これにより、図１３に示すように、ステートＳＴ０２−１においてクロックＡ制御信号がＨレベルとなり、ステートＳＴ０２−２においてクロックＢレベル信号がＨレベルとなる。
【００８３】
クロックＡ制御信号はアンド回路１３に与えられ、ステートＳＴ０２−１においてクロック信号Ａが制御クロック信号Ａとして出力される。また、クロックＢレベル信号は、セレクタ１５に与えられ、ステートＳＴ０２−２の１サイクル期間に渡ってＨレベルの制御クロック信号Ｂが出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＢはＦＦ群Ｂ２２のフリップフロップに供給される。こうして、図５（ａ），（ｂ）のタイミング制約ｔＡＢに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【００８４】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【００８５】
次に、制御信号生成回路３２に、図５（ａ），（ｃ）のタイミング制約ｔＡＣに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＡＬ，ＣＣ＝１でＢＬ，ＣＬ，ＡＣ，ＢＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０３に遷移する。そして、ＰＬＬパルス制御部１１は図１４に示す動作を行う。
【００８６】
即ち、図１４に示すように、ステートＳＴ０３−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０３−１において、ＡＥＮに１を代入する。次に、ステートＳＴ０３−２においてＡＥＮを０に戻し、ＣＣＫに１を代入する。更に、次のステートＳＴ０３−３において、ＣＣＫに継続して１を代入する。これにより、図１４に示すように、ステートＳＴ０３−１においてクロックＡ制御信号がＨレベルとなり、ステートＳＴ０３−２，ＳＴ０３−３においてクロックＣレベル信号がＨレベルとなる。
【００８７】
クロックＡ制御信号はアンド回路１３に与えられ、ステートＳＴ０３−１においてクロック信号Ａが制御クロック信号Ａとして出力される。また、クロックＣレベル信号は、セレクタ１６に与えられ、ステートＳＴ０３−２，ＳＴ０３−３の２サイクル期間に渡ってＨレベルの制御クロック信号Ｃが出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＣはＦＦ群Ｃ２３のフリップフロップに供給される。こうして、図５（ａ），（ｃ）のタイミング制約ｔＡＣに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【００８８】
この場合には、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【００８９】
次に、制御信号生成回路３２に、図４（ｂ）のタイミング制約ｔＢＢに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＢＬ，ＢＣ＝１でＡＬ，ＣＬ，ＡＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０４に遷移する。そして、ＰＬＬパルス制御部１１は図１５に示す動作を行う。
【００９０】
即ち、図１５に示すように、ステートＳＴ０４−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０４−１において、ＢＣＫに１を代入する。次に、ステートＳＴ０４−２においてもＢＣＫを０に戻し、次のステートＳＴ０４−３においてＢＣＫに１を代入する。また、ステートＳＴ０４−４においてＢＣＫを０に戻す。これにより、図１５に示すように、ステートＳＴ０４−１，ＳＴ０４−３においてクロックＢレベル信号がＨレベルとなる。
【００９１】
クロックＢレベル信号は、セレクタ１５に与えられ、ステートＳＴ０４−１の１サイクル期間及びステートＳＴ０４−３の１サイクル期間にＨレベルの制御クロック信号Ｂが出力される。制御クロック信号ＢはＦＦ群Ｂ２２のフリップフロップに供給される。こうして、図４（ｂ）のタイミング制約ｔＢＢに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【００９２】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【００９３】
次に、制御信号生成回路３２に、図５（ｂ），（ａ）のタイミング制約ｔＢＡに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＢＬ，ＡＣ＝１でＡＬ，ＣＬ，ＢＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０５に遷移する。そして、ＰＬＬパルス制御部１１は図１６に示す動作を行う。
【００９４】
即ち、図１６に示すように、ステートＳＴ０５−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０５−１において、ＢＣＫに１を代入する。次に、ステートＳＴ０５−２においてもＢＣＫを０に戻し、ＡＥＮに１を代入する。これにより、図１６に示すように、ステートＳＴ０５−１においてクロックＢレベル信号がＨレベルとなり、ステートＳＴ０５−２においてクロックＡ制御信号がＨレベルとなる。
【００９５】
クロックＢレベル信号は、セレクタ１５に与えられ、ステートＳＴ０５−１の１サイクル期間に渡ってＨレベルの制御クロック信号Ｂが出力される。クロックＡ制御信号はアンド回路１３に与えられ、ステートＳＴ０５−２においてクロック信号Ａが制御クロック信号Ａとして出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＢはＦＦ群Ｂ２２のフリップフロップに供給される。こうして、図５（ｂ），（ａ）のタイミング制約ｔＢＡに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【００９６】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【００９７】
次に、制御信号生成回路３２に、図５（ｂ），（ｃ）のタイミング制約ｔＢＣに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＢＬ，ＣＣ＝１でＡＬ，ＣＬ，ＡＣ，ＢＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０６に遷移する。そして、ＰＬＬパルス制御部１１は図１７に示す動作を行う。
【００９８】
即ち、図１７に示すように、ステートＳＴ０６−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０６−１において、ＢＣＫに１を代入する。次に、ステートＳＴ０６−２においてもＢＣＫを０に戻す。次に、ステートＳＴ０６−３において、ＣＣＫに１を代入する。更に、次のステートＳＴ０６−４において、ＣＣＫに継続して１を代入する。これにより、図１７に示すように、ステートＳＴ０６−１においてクロックＢレベル信号がＨレベルとなり、ステートＳＴ０６−３，ＳＴ０６−４においてクロックＣレベル信号がＨレベルとなる。
【００９９】
クロックＢレベル信号は、セレクタ１５に与えられ、ステートＳＴ０６−１の１サイクル期間に渡ってＨレベルの制御クロック信号Ｂが出力される。また、クロックＣレベル信号は、セレクタ１６に与えられ、ステートＳＴ０６−３，ＳＴ０６−４の２サイクル期間に渡ってＨレベルの制御クロック信号Ｃが出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＣはＦＦ群Ｃ２３のフリップフロップに供給される。こうして、図５（ｂ），（ｃ）のタイミング制約ｔＢＣに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１００】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、また、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１０１】
次に、制御信号生成回路３２に、図４（ｃ）のタイミング制約ｔＣＣに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＣＬ，ＣＣ＝１でＡＬ，ＢＬ，ＡＣ，ＢＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０７に遷移する。そして、ＰＬＬパルス制御部１１は図１８に示す動作を行う。
【０１０２】
即ち、図１８に示すように、ステートＳＴ０７−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０７−１において、ＣＣＫに１を代入する。次に、ステートＳＴ０７−２においてもＣＣＫに継続して１を代入する。更に、ステートＳＴ０７−３，ＳＴ０７−４でＣＣＫを０に戻した後、ステートＳＴ０７−５，ＳＴ０７−６でＣＣＫに１を代入する。これにより、図１８に示すように、ステートＳＴ０７−１，ＳＴ０７−２においてクロックＣレベル信号が継続してＨレベルとなると共に、ステートＳＴ０７−５，ＳＴ０７−６においてクロックＣレベル信号が継続してＨレベルとなる。
【０１０３】
クロックＣレベル信号は、セレクタ１６に与えられ、ステートＳＴ０７−１，ＳＴ０７−２の２サイクル期間に渡ってＨレベルの制御クロック信号が出力され、更に、ステートＳＴ０７−５，ＳＴ０７−６の２サイクル期間に渡ってＨレベルの制御クロック信号が出力される。こうして、図４（ｃ）のタイミング制約ｔＣＣに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１０４】
この場合には、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１０５】
次に、制御信号生成回路３２に、図５（ｃ），（ａ）のタイミング制約ｔＣＡに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＣＬ，ＡＣ＝１でＡＬ，ＢＬ，ＢＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０８に遷移する。そして、ＰＬＬパルス制御部１１は図１９に示す動作を行う。
【０１０６】
即ち、図１９に示すように、ステートＳＴ０８−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０８−１において、ＣＣＫに１を代入する。次に、ステートＳＴ０８−２においてもＣＣＫに継続して１を代入すると共に、ＡＥＮに１を代入する。これにより、図１９に示すように、ステートＳＴ０８−１，ＳＴ０８−２においてクロックＣレベル信号がＨレベルとなると共に、ステートＳＴ０８−２においてはクロックＡ制御信号もＨレベルとなる。
【０１０７】
クロックＣレベル信号は、セレクタ１６に与えられ、ステートＳＴ０８−１，ＳＴ０８−２の２サイクル期間に渡ってＨレベルの制御クロック信号Ｃが出力される。また、クロックＡ制御信号はアンド回路１３に与えられ、ステートＳＴ０８−２においてクロック信号Ａが制御クロック信号Ａとして出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＣはＦＦ群Ｃ２３のフリップフロップに供給される。こうして、図５（ｃ），（ａ）のタイミング制約ｔＣＡに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１０８】
この場合には、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１０９】
次に、制御信号生成回路３２に、図６（ｃ），（ｂ）のタイミング制約ｔＣＢに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＣＬ，ＢＣ＝１でＡＬ，ＢＬ，ＡＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、制御信号生成回路３２は、パルス制御データに応じて、図８のステートＳＴ０９に遷移する。そして、ＰＬＬパルス制御部１１は図２０に示す動作を行う。
【０１１０】
即ち、図２０に示すように、ステートＳＴ０９−０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、ステートＳＴ０９−１において、ＣＣＫに１を代入する。更に、ステートＳＴ０９−２においてもＣＣＫに継続して１を代入する。次に、ステートＳＴ０９−３においてＣＣＫを０に戻すと共に、ＢＣＫに１を代入する。これにより、図２０に示すように、ステートＳＴ０９−１，ＳＴ０９−２においてクロックＣレベル信号がＨレベルとなり、ステートＳＴ０９−３においてクロックＢレベル信号がＨレベルとなる。
【０１１１】
クロックＣレベル信号は、セレクタ１６に与えられ、ステートＳＴ０９−１，ＳＴ０９−２の２サイクル期間に渡ってＨレベルの制御クロック信号Ｃが出力される。また、クロックＢレベル信号は、セレクタ１５に与えられ、ステートＳＴ０９−３の１サイクル期間に渡ってＨレベルの制御クロック信号Ｂが出力される。制御クロック信号ＢはＦＦ群Ｂ２２のフリップフロップに供給され、制御クロック信号ＣはＦＦ群Ｃ２３のフリップフロップに供給される。こうして、図６（ｃ），（ｂ）のタイミング制約ｔＣＢに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１１２】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１１３】
このように、本実施の形態においては、周波数が異なる複数のクロックを用いる半導体集積回路装置における遅延故障テストにおいて、周波数が最も高いクロック以外のクロックに対応したラウンチクロック又はキャプチャクロックを発生させる場合には、本来のクロック幅期間だけＨレベル又はＬレベルを示す信号を発生させることで、適正なタイミング制約で本来と同等のパルス幅のラウンチクロック又はキャプチャクロックを発生させることができる。これにより、遅延故障テストの確実性を向上させることができる。
【０１１４】
＜第２の実施の形態＞
図２１は本発明の第２の実施の形態において採用されるサイクル制御部の構成を示すブロック図である。図２１において図７と同一の構成要素には同一符号を付して説明を省略する。なお、本実施の形態はサイクル制御部以外の構成は図１と同様である。
【０１１５】
第１の実施の形態の説明ではサイクル制御部をステートマシンで構成した例について説明した。本実施の形態はステートマシンではなく変換テーブルを用いたサイクル制御部４０を採用する。
【０１１６】
サイクル制御部４０はカウンタ４１、パターン変換テーブル４２、及びフリップフロップ３４乃至３６によって構成されている。カウンタ４１にはスキャンイネーブル入力が入力される。カウンタ４１は、スキャンイネーブル入力がＬレベルになってファンクション動作が指示されると、クロック信号Ａをカウントすることで、一連の各サイクルのタイミングをパターン変換テーブルに通知するようになっている。
【０１１７】
パターン変換テーブル４２には、カウンタ４１のカウント出力が何番目のサイクルであるかを示す信号として入力されると共に、クロック信号Ａ及びパルス制御データも入力される。パターン変換テーブル４２は、各サイクル毎にパルス制御データに基づいて、クロックＡ制御信号（ＡＥＮ）、クロックＢレベル信号（ＢＣＫ）及びクロックＣレベル信号（ＣＣＫ）を出力する。これらのクロックＡ制御信号（ＡＥＮ）、クロックＢレベル信号（ＢＣＫ）及びクロックＣレベル信号（ＣＣＫ）は、夫々フリップフロップ３４乃至３６に与えられ、クロック信号Ａに同期化されて出力される。
【０１１８】
図２２乃至図３０はパターン変換テーブル４２内の各テーブルの内容を示す説明図である。図２２乃至図３０において、ＳＥはスキャンイネーブル入力を示し、ＡＬ〜ＣＬ及びＡＣ〜ＣＣは第１の実施の形態と同様のパルス制御データを示している。即ち、ＡＬ〜ＣＬは、夫々制御クロック信号Ａ〜Ｃをラウンチクロックとして出力するためのデータを示し、ＡＣ〜ＣＣは、夫々制御クロック信号Ａ〜Ｃをキャプチャクロックとして出力するためのデータを示している。
【０１１９】
図２２乃至図３０は夫々上述したタイミング制約ｔＡＡ、ｔＡＢ，ｔＡＣ，ｔＢＢ，ｔＢＡ，ｔＢＣ，ｔＣＣ，ｔＣＡ，ｔＣＢに対応したラウンチクロック及びキャプチャクロックを発生させるためのものである。
【０１２０】
次に、このように構成された実施の形態の動作について説明する。
【０１２１】
本実施の形態においても図４乃至図６に示す上述した９つのタイミング制約ｔＡＡ〜ｔＣＣを満足するラウンチクロック及びキャプチャクロックを出力する場合の例で説明する。各タイミング制約ｔＡＡ〜ｔＣＣは夫々図２２乃至図３０に示すテーブルによって実現される。
【０１２２】
ファンクション動作時には、スキャンイネーブル入力はＬレベルとなる。スキャンイネーブル入力がＬレベルになると（ＳＥ＝０）、カウンタ４１はクロック信号Ａをカウントして、各サイクル期間をパターン変換テーブル４２に指示する。サイクル制御部４０のパターン変換テーブル４２には、カウンタ４１からのサイクル期間を示す信号とパルス制御データとが入力れる。
【０１２３】
いま、パターン変換テーブル４２に、図４（ａ）のタイミング制約ｔＡＡに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＡＬ，ＡＣ＝１でＢＬ，ＣＬ，ＢＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図２２の変換テーブルを参照する。
【０１２４】
即ち、図２２に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＡＥＮに１を代入する。また、サイクル２においても継続してＡＥＮを１にする。即ちこの場合には、図１２のタイミングチャートと同様の動作となり、クロックＡ制御信号はサイクル１，２の２サイクル期間Ｈレベルとなる。
【０１２５】
クロックＡ制御信号はアンド回路１３に与えられ、サイクル１，２の２サイクル期間にクロック信号Ａがセレクタ１４に供給される。こうして、セレクタ１４からは、２サイクル期間にわたり、クロック信号Ａが制御クロック信号Ａとして連続的に出力される。こうして、図４（ａ）のタイミング制約ｔＡＡに対応したラウンチクロック及びキャプチャクロックをＦＦ群２１に与えることができる。
【０１２６】
次に、パターン変換テーブル４２に、図５（ａ），（ｂ）のタイミング制約ｔＡＢに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＡＬ，ＢＣ＝１でＢＬ，ＣＬ，ＡＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図２３の変換テーブルを参照する。
【０１２７】
即ち、図２３に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＡＥＮに１を代入する。次に、サイクル２においてＡＥＮを０に戻し、ＢＣＫに１を代入する。即ちこの場合には、図１３のタイミングチャートと同様の動作となり、サイクル１においてクロックＡ制御信号がＨレベルとなり、サイクル２においてクロックＢレベル信号がＨレベルとなる。
【０１２８】
クロックＡ制御信号はアンド回路１３に与えられ、サイクル１においてクロック信号Ａが制御クロック信号Ａとして出力される。また、クロックＢレベル信号は、セレクタ１５に与えられ、サイクル２の１サイクル期間に渡ってＨレベルの制御クロック信号Ｂが出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＢはＦＦ群Ｂ２２のフリップフロップに供給される。こうして、図５（ａ），（ｂ）のタイミング制約ｔＡＢに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１２９】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１３０】
次に、パターン変換テーブル４２に、図５（ａ），（ｃ）のタイミング制約ｔＡＣに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＡＬ，ＣＣ＝１でＢＬ，ＣＬ，ＡＣ，ＢＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図２４の変換テーブルを参照する。
【０１３１】
即ち、図２４に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＡＥＮに１を代入する。次に、サイクル２においてＡＥＮを０に戻し、ＣＣＫに１を代入する。更に、次のサイクル３において、ＣＣＫに継続して１を代入する。即ちこの場合には、図１４のタイミングチャートと同様の動作となり、サイクル１においてクロックＡ制御信号がＨレベルとなり、サイクル２，３においてクロックＣレベル信号がＨレベルとなる。
【０１３２】
クロックＡ制御信号はアンド回路１３に与えられ、サイクル１においてクロック信号Ａが制御クロック信号Ａとして出力される。また、クロックＣレベル信号は、セレクタ１６に与えられ、サイクル２，３の２サイクル期間に渡ってＨレベルの制御クロック信号Ｃが出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＣはＦＦ群Ｃ２３のフリップフロップに供給される。こうして、図５（ａ），（ｃ）のタイミング制約ｔＡＣに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１３３】
この場合には、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１３４】
次に、パターン変換テーブル４２に、図４（ｂ）のタイミング制約ｔＢＢに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＢＬ，ＢＣ＝１でＡＬ，ＣＬ，ＡＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図２５の変換テーブルを参照する。
【０１３５】
即ち、図２５に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＢＣＫに１を代入する。次に、サイクル２においてもＢＣＫを０に戻し、次のサイクル３においてＢＣＫに１を代入する。また、サイクル４においてＢＣＫを０に戻す。即ちこの場合には、図１５のタイミングチャートと同様の動作となり、サイクル１，３においてクロックＢレベル信号がＨレベルとなる。
【０１３６】
クロックＢレベル信号は、セレクタ１５に与えられ、サイクル１の１サイクル期間及びサイクル３の１サイクル期間にＨレベルの制御クロック信号Ｂが出力される。制御クロック信号ＢはＦＦ群Ｂ２２のフリップフロップに供給される。こうして、図４（ｂ）のタイミング制約ｔＢＢに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１３７】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１３８】
次に、パターン変換テーブル４２に、図５（ｂ），（ａ）のタイミング制約ｔＢＡに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＢＬ，ＡＣ＝１でＡＬ，ＣＬ，ＢＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図２６の変換テーブルを参照する。
【０１３９】
即ち、図２６に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＢＣＫに１を代入する。次に、サイクル２においてもＢＣＫを０に戻し、ＡＥＮに１を代入する。即ちこの場合には、図１６のタイミングチャートと同様の動作となり、サイクル１においてクロックＢレベル信号がＨレベルとなり、サイクル２においてクロックＡ制御信号がＨレベルとなる。
【０１４０】
クロックＢレベル信号は、セレクタ１５に与えられ、サイクル１の１サイクル期間に渡ってＨレベルの制御クロック信号Ｂが出力される。クロックＡ制御信号はアンド回路１３に与えられ、サイクル２においてクロック信号Ａが制御クロック信号Ａとして出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＢはＦＦ群Ｂ２２のフリップフロップに供給される。こうして、図５（ｂ），（ａ）のタイミング制約ｔＢＡに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１４１】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１４２】
次に、パターン変換テーブル４２に、図５（ｂ），（ｃ）のタイミング制約ｔＢＣに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＢＬ，ＣＣ＝１でＡＬ，ＣＬ，ＡＣ，ＢＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図２７の変換テーブルを参照する。
【０１４３】
即ち、図２７に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＢＣＫに１を代入する。次に、サイクル２においてもＢＣＫを０に戻し、ＣＣＫに１を代入する。更に、次のサイクル３において、ＣＣＫに継続して１を代入する。即ちこの場合には、図１７のタイミングチャートと同様の動作となり、サイクル１においてクロックＢレベル信号がＨレベルとなり、サイクル３，４においてクロックＣレベル信号がＨレベルとなる。
【０１４４】
クロックＢレベル信号は、セレクタ１５に与えられ、サイクル１の１サイクル期間に渡ってＨレベルの制御クロック信号Ｂが出力される。また、クロックＣレベル信号は、セレクタ１６に与えられ、サイクル３，４の２サイクル期間に渡ってＨレベルの制御クロック信号Ｃが出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＣはＦＦ群Ｃ２３のフリップフロップに供給される。こうして、図５（ｂ），（ｃ）のタイミング制約ｔＢＣに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１４５】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、また、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１４６】
次に、パターン変換テーブル４２に、図４（ｃ）のタイミング制約ｔＣＣに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＣＬ，ＣＣ＝１でＡＬ，ＢＬ，ＡＣ，ＢＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図２８の変換テーブルを参照する。
【０１４７】
即ち、図２８に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＣＣＫに１を代入する。次に、サイクル２においてもＣＣＫに継続して１を代入する。更に、サイクル３，４でＣＣＫを０に戻した後、サイクル５，６でＣＣＫに１を代入する。即ちこの場合には、図１８のタイミングチャートと同様の動作となり、サイクル１，２においてクロックＣレベル信号が継続してＨレベルとなると共に、サイクル５，６においてクロックＣレベル信号が継続してＨレベルとなる。
【０１４８】
クロックＣレベル信号は、セレクタ１６に与えられ、サイクル１，２の２サイクル期間に渡ってＨレベルの制御クロック信号が出力され、更に、サイクル５，６の２サイクル期間に渡ってＨレベルの制御クロック信号が出力される。こうして、図４（ｃ）のタイミング制約ｔＣＣに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１４９】
この場合には、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１５０】
次に、パターン変換テーブル４２に、図５（ｃ），（ａ）のタイミング制約ｔＣＡに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＣＬ，ＡＣ＝１でＡＬ，ＢＬ，ＢＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図２９の変換テーブルを参照する。
【０１５１】
即ち、図２９に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＣＣＫに１を代入する。次に、サイクル２においてもＣＣＫに継続して１を代入すると共に、ＡＥＮに１を代入する。即ちこの場合には、図１９のタイミングチャートと同様の動作となり、サイクル１，２においてクロックＣレベル信号がＨレベルとなると共に、サイクル２においてはクロックＡ制御信号もＨレベルとなる。
【０１５２】
クロックＣレベル信号は、セレクタ１６に与えられ、サイクル１，２の２サイクル期間に渡ってＨレベルの制御クロック信号Ｃが出力される。また、クロックＡ制御信号はアンド回路１３に与えられ、サイクル２においてクロック信号Ａが制御クロック信号Ａとして出力される。制御クロック信号ＡはＦＦ群Ａ２１のフリップフロップに供給され、制御クロック信号ＣはＦＦ群Ｃ２３のフリップフロップに供給される。こうして、図５（ｃ），（ａ）のタイミング制約ｔＣＡに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１５３】
この場合には、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１５４】
次に、パターン変換テーブル４２に、図６（ｃ），（ｂ）のタイミング制約ｔＣＢに対応したラウンチパルス及びキャプチャパルスを発生させるためのパルス制御データが入力されるものとする。即ち、この場合には、ＣＬ，ＢＣ＝１でＡＬ，ＢＬ，ＡＣ，ＣＣ＝０である。この場合には、スキャンイネーブル入力がＬレベルになる（ＳＥ＝０）と、パターン変換テーブル４２は、パルス制御データに応じて、図３０の変換テーブルを参照する。
【０１５５】
即ち、図３０に示すように、サイクル０において、ＡＥＮ（クロックＡ制御信号）、ＢＣＫ（クロックＢレベル信号）、ＣＣＫ（クロックＣレベル信号）を０に初期化し、サイクル１において、ＣＣＫに１を代入する。更に、サイクル２においてもＣＣＫに継続して１を代入する。次に、サイクル３においてＣＣＫを０に戻すと共に、ＢＣＫに１を代入する。即ちこの場合には、図２０のタイミングチャートと同様の動作となり、サイクル１，２においてクロックＣレベル信号がＨレベルとなり、サイクル３においてクロックＢレベル信号がＨレベルとなる。
【０１５６】
クロックＣレベル信号は、セレクタ１６に与えられ、サイクル１，２の２サイクル期間に渡ってＨレベルの制御クロック信号Ｃが出力される。また、クロックＢレベル信号は、セレクタ１５に与えられ、サイクル３の１サイクル期間に渡ってＨレベルの制御クロック信号Ｂが出力される。制御クロック信号ＢはＦＦ群Ｂ２２のフリップフロップに供給され、制御クロック信号ＣはＦＦ群Ｃ２３のフリップフロップに供給される。こうして、図６（ｃ），（ｂ）のタイミング制約ｔＣＢに対応したラウンチクロック及びキャプチャクロックによって、遅延故障テストを実施することができる。
【０１５７】
この場合には、制御クロック信号Ｂは、本来のクロック信号Ｂのパルス幅を有しており、制御クロック信号Ｃは、本来のクロック信号Ｃのパルス幅を有しており、遅延故障テストの確実な実施が可能である。
【０１５８】
このように、本実施の形態においては、第１の実施の形態と同様の効果を有する。
【０１５９】
なお、上記各実施の形態においては、１つのラウンチクロックに対して１つのキャプチャクロックを生成する例を説明したが、１つ以上のラウンチクロックに対して１つ以上のキャプチャクロックを生成する場合にも同様に適用可能である。
【０１６０】
また、上記各実施の形態においては、スキャンチェイン及びスキャンテストを可能にする回路を具備する半導体集積回路装置の例について説明したが、各群のフリップフロップにデータをセットするための適宜の入力手段を設ければ、スキャンチェイン及びスキャンテストを可能にする回路を設けていない半導体集積回路装置にも適用可能である。
【０１６１】
また、本発明は上述した９パターンのタイミング制約に限定されるものではなく、種々のタイミング制約に応じたラウンチクロック及びキャプチャクロックを生成することができることは明らかである。
【図面の簡単な説明】
【０１６２】
【図１】本発明の第１の実施の形態に係る半導体集積回路装置を示すブロック図。
【図２】図２は図１の半導体集積回路装置上に構成される素子を説明するためのブロック図。
【図３】図３は図２中のＦＦ群Ａ２１〜ＦＦ群Ｃ２３において用いるクロック信号Ａ〜Ｃを示すタイミングチャート。
【図４】各信号パスのタイミング制約を説明するためのタイミングチャート。
【図５】各信号パスのタイミング制約を説明するためのタイミングチャート。
【図６】各信号パスのタイミング制約を説明するためのタイミングチャート。
【図７】図１中のサイクル制御部１２の具体的な構成を示すブロック図。
【図８】ステートマシンによって構成される制御信号生成回路３２の出力状態を説明するための状態遷移図。
【図９】ステートマシンによって構成される制御信号生成回路３２の出力状態を説明するための状態遷移図。
【図１０】サブステートＳＴ０２の具体的な構成を示す状態遷移図。
【図１１】サブステートＳＴ０３の具体的な構成を示す状態遷移図。
【図１２】第１の実施の形態の動作を説明するためのタイミングチャート。
【図１３】第１の実施の形態の動作を説明するためのタイミングチャート。
【図１４】第１の実施の形態の動作を説明するためのタイミングチャート。
【図１５】第１の実施の形態の動作を説明するためのタイミングチャート。
【図１６】第１の実施の形態の動作を説明するためのタイミングチャート。
【図１７】第１の実施の形態の動作を説明するためのタイミングチャート。
【図１８】第１の実施の形態の動作を説明するためのタイミングチャート。
【図１９】第１の実施の形態の動作を説明するためのタイミングチャート。
【図２０】第１の実施の形態の動作を説明するためのタイミングチャート。
【図２１】本発明の第２の実施の形態において採用されるサイクル制御部の構成を示すブロック図。
【図２２】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【図２３】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【図２４】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【図２５】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【図２６】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【図２７】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【図２８】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【図２９】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【図３０】パターン変換テーブル４２内の各テーブルの内容を示す説明図。
【符号の説明】
【０１６３】
１…ＰＬＬ回路、１１…ＰＬＬパルス制御部、１２…サイクル制御部、１３…アンド回路、１４〜１６…セレクタ、２１…ＦＦ群Ａ、２２…ＦＦ群Ｂ、２３…ＦＦ群Ｃ。  
【図１】
2007327838.tif 000003
【図２】
2007327838.tif 000004
【図３】
2007327838.tif 000005
【図４】
2007327838.tif 000006
【図５】
2007327838.tif 000007
【図６】
2007327838.tif 000008
【図７】
2007327838.tif 000009
【図８】
2007327838.tif 000010
【図９】
2007327838.tif 000011
【図１０】
2007327838.tif 000012
【図１１】
2007327838.tif 000013
【図１２】
2007327838.tif 000014
【図１３】
2007327838.tif 000015
【図１４】
2007327838.tif 000016
【図１５】
2007327838.tif 000017
【図１６】
2007327838.tif 000018
【図１７】
2007327838.tif 000019
【図１８】
2007327838.tif 000020
【図１９】
2007327838.tif 000021
【図２０】
2007327838.tif 000022
【図２１】
2007327838.tif 000023
【図２２】
2007327838.tif 000024
【図２３】
2007327838.tif 000025
【図２４】
2007327838.tif 000026
【図２５】
2007327838.tif 000027
【図２６】
2007327838.tif 000028
【図２７】
2007327838.tif 000029
【図２８】
2007327838.tif 000030
【図２９】
2007327838.tif 000031
【図３０】
2007327838.tif 000032