(57)【要約】【課題】非同期クロックの複数クロックドメイン間でパスが存在する場合、クロック系統数分のシフトとラウンチ−キャプチャを繰り返す必要があり、テスト時間が長くなる。【解決手段】複数のクロックドメインに対応する複数のクロック制御回路が、第ｎのスキャンイネーブル信号に基づき、第ｎのクロックに同期動作する第ｎのクロックドメインに接続される第ｎのスキャンチェーン回路に第ｎの遅延テスト用クロックを出力する第ｎのクロック制御回路と、第ｎの遅延テスト用クロック出力終了に基づき、第ｎのクロック制御回路から出力される第ｎ＋１のスキャンイネーブル信号に基づき、第ｎのクロックとは非同期の第ｎ＋１のクロックに同期動作する第ｎ＋１のクロックドメインに接続される第ｎ＋１のスキャンチェーン回路に第ｎ＋１の遅延テスト用クロックを出力する第ｎ＋１の制御回路を含む半導体テスト回路を提供する。【選択図】図１
2008275480.tif 000002
【特許請求の範囲】
【請求項１】
複数のクロックドメインに対応する複数のクロック制御回路を有する半導体テスト回路であって、
前記複数のクロック制御回路は、
第ｎのスキャンイネーブル信号に基づいて、第ｎのクロックに同期して動作する第ｎのクロックドメインに接続される第ｎのスキャンチェーン回路に第ｎの遅延テスト用クロックを出力する第ｎのクロック制御回路と、
前記第ｎの遅延テスト用クロックの出力終了に基づいて、前記第ｎのクロック制御回路から出力される第ｎ＋１のスキャンイネーブル信号に基づいて、前記第ｎのクロックとは非同期の第ｎ＋１のクロックに同期して動作する第ｎ＋１のクロックドメインに接続される第ｎ＋１のスキャンチェーン回路に第ｎ＋１の遅延テスト用クロックを出力する第ｎ＋１のクロック制御回路と、
を含むことを特徴とする半導体テスト回路。
【請求項２】
前記第ｎのクロック制御回路は、前記第ｎ＋１のクロック制御回路とカスケード接続により前記第ｎ＋１のスキャンイネーブル信号が供給されることを特徴とする請求項１に記載の半導体テスト回路。
【請求項３】
前記テスト回路はさらに、外部から供給されるスキャンイネーブル信号を前記複数のクロック制御回路のうち任意のクロック制御回路に入力するよう選択する選択回路をさらに有することを特徴する請求項２に記載の半導体テスト回路。
【請求項４】
前記選択回路を制御する選択制御回路をさらに有することを特徴する請求項３に記載の半導体テスト回路。
【請求項５】
前記第ｎのクロック制御回路は、あらかじめ設定されている前記第ｎのクロックドメインに供給する前記第ｎの遅延テスト用クロックのクロックパルス数をカウントするカウンタ（シフトレジスタ）をさらに有することを特徴とする請求項１乃至請求項４のいずれか１項に記載の半導体テスト回路。
【請求項６】
前記カウンタは前記第ｎの遅延テスト用クロックのクロックパルス数と同数のフリップフロップにより構成されていることを特徴とする請求項５に記載の半導体テスト回路。
【請求項７】
前記半導体テスト回路は、第１のシフト期間と第２のシフト期間にシフトクロックを入力するスキャンテストクロック端子をさらに有し、
第１のシフト期間終了後、第２のシフト期間が開始される前に、前記スキャンテストクロック端子から前記第ｎのクロックと第ｎ＋１のクロックに対応するクロックを入力することを特徴とする請求項１乃至請求項６のいずれか１項に記載の半導体テスト回路。
【請求項８】
第１のスキャンイネーブル信号に基づいて、第１のクロックに同期して動作する第１のクロックドメインに接続される第１のスキャンチェーン回路に第１の遅延テスト用クロックを出力する第１のクロック制御回路と、
前記第１の遅延テスト用クロックの出力終了に基づいて、前記第１のクロック制御回路から出力される第２のスキャンイネーブル信号に基づいて、前記第１のクロックとは非同期の第２のクロックに同期して動作する第２のクロックドメインに接続される第２のスキャンチェーン回路に第２の遅延テスト用クロックを出力する第２のクロック制御回路と、
を有する半導体テスト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンテスト回路と複数のクロックドメインを有する半導体集積回路の遅延故障テスト回路および遅延故障テスト方法に関する。
【背景技術】
【０００２】
従来、半導体集積回路の品質を保証するために、スキャンテスト回路を利用した縮退故障テストを実施していた。
【０００３】
近年、プロセスの微細化に伴い、配線幅、配線ピッチが小さくなり、また半導体集積回路に要求される動作周波数の高速化により、縮退故障テストに加えて遅延故障テストが必要となっている。
【０００４】
複数のクロックドメインを有するＬＳＩにおいて、通常のスキャンテスト時には、スキャンクロックを供給するためにクロックドメイン数と同数の専用端子または兼用端子を設ける必要がある。しかし、端子数制限により専用端子を設けることができない場合、または、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＤＤＲ２のような高速インターフェイスは、テスト端子と兼用すると外部ＡＣタイミングが悪化し、ＡＣスペックを満足できない。そこで、複数のクロックドメインのクロック供給源を１本化した外部端子からのスキャンクロックを供給している。よって、その１本化した外部端子から遅延故障テストを確実に行うことが重要になってきている。
【０００５】
ここで、図１３、図１４および図１５を用いて、特許文献２に記載の従来技術の例を示す。図１３は、内部クロックが２系統の場合の回路構成である。図１４は、図１３中に示すクロック生成回路の構成例である。図１５は、図１３に示す従来技術のタイミングチャートである。
【０００６】
分周回路１１２は同期設計された分周回路で、ＰＬＬ（Ｐｈａｓｅ Ｌｏｃｋｅｄ Ｌｏｏｐ）１１１からＣＫＯ出力を分周して多相クロックＣＫ1出力及びＣＫ２出力を生成する。
【０００７】
タイミング検出回路１１５４はクロック生成回路１１５２及び１１５３の状態を示すＳｅｔｕｐＣＡ-Ｔｘ入力及びｉｄｌｅ-Ｔｘ入力と分周回路１１２のＣＫ１出力及びＣＫ２出力を監視し、設定レジスタ１１５１から入力されるＤＣＡＲ-Ｏｕｔ-Ｔｘ入力の設定に従ってｄｔｃｔＣＡ出力を生成する。
【０００８】
クロック生成回路１１５２及び１１５３はタイミング検出回路１１５４のｄｔｃｔＣＡ出力が"１"になったタイミングを基点として順序回路が動作し、設定レジスタ回路１１５１から入力されるＳｅｔ１ｓｔＣＫ入力及びＳｅｔ２ｎｄＣＫ入力の設定に従ってＣＫｉｎに入力されたクロックより任意のタイミング（図１５では、２クロック後）のＣＫｏｕｔ出力を生成する。
【特許文献１】特開２００３−４８０７号公報
【特許文献２】特開２００３−２２２６５６号公報
【特許文献３】特開２００４−２９４４２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来技術では、分周回路１１２から出力される多相クロックＣＫ1とＣＫ２が同期の関係であることを前提とし、1回のラウンチ−キャプチャ期間にタイミング検出回路１１５４のｄｔｃｔＣＡ出力を基点としてＣＫ１クロック及びＣＫ２クロックを供給しており、ＣＫ1クロック及びＣＫ２クロックの位相関係が保たれた状態でしか遅延故障テストできない。
【００１０】
ＣＫ1クロックとＣＫ２クロックが非同期の関係でＣＫ１クロックドメインからＣＫ２クロックドメインへのパスが存在する場合、ＣＫ１クロックからＣＫ２クロックへのパスは遅延故障テストする必要がない為、1回目の遅延故障テストではラウンチ−キャプチャ期間にＣＫ１クロックまたはＣＫ２クロックのどちらか一方のクロックを供給して遅延故障テストを実施し、２回目の遅延故障テストではラウンチ−キャプチャ期間にＣＫ２クロックまたはＣＫ１クロックのどちらか一方のクロックを供給して遅延故障テストを実施することになる。このように多相クロックが非同期の関係にある場合はクロック系統数分のシフトとラウンチ−キャプチャを繰り返す必要があり、テスト時間（テストコスト）が長くなってしまう。
【００１１】
また、複数のＰＬＬ及び分周回路が存在し、各ＰＬＬ及び分周回路から出力されるクロックドメイン間に非同期のパスが存在する場合も、上記と同様の理由で1回のラウンチ−キャプチャ期間に1つのクロックしか供給できない為、テスト時間（テストコスト）が長くなる。
【課題を解決するための手段】
【００１２】
本発明にかかる半導体テスト回路は、複数のクロックドメインに対応する複数のクロック制御回路を有する半導体テスト回路であって、前記複数のクロック制御回路は、第ｎのスキャンイネーブル信号に基づいて、第ｎのクロックに同期して動作する第ｎのクロックドメインに接続される第ｎのスキャンチェーン回路に第ｎの遅延テスト用クロックを出力する第ｎのクロック制御回路と、前記第ｎの遅延テスト用クロックの出力終了に基づいて、前記第ｎのクロック制御回路から出力される第ｎ＋１のスキャンイネーブル信号に基づいて、前記第ｎのクロックとは非同期の第ｎ＋１のクロックに同期して動作する第ｎ＋１のクロックドメインに接続される第ｎ＋１のスキャンチェーン回路に第ｎ＋１の遅延テスト用クロックを出力する第ｎ＋１のクロック制御回路と、を含むことを特徴とするものである。
【００１３】
本発明にかかる半導体テスト回路によれば、内部クロック系統毎に分けて遅延故障テストを実施する必要がなく、且つ内部クロック系統の位相に関係なく1回のラウンチ−キャプチャ期間に複数のクロックドメインの遅延故障テストを実施することが可能となる。
【発明の効果】
【００１４】
本発明によれば、1回のラウンチ−キャプチャ期間に複数のクロックドメインの遅延故障テストを実施することが可能となり、テスト時間を短縮し、テストにかかるコストを削減することができる。
【発明を実施するための最良の形態】
【００１５】
＜発明の実施の形態１＞
以下、本発明を適用した具体的な実施の形態１について、図面を参照しながら詳細に説明する。この実施の形態１は、本発明を半導体集積回路のテスト回路に適用したものである。
【００１６】
図１に本実施の形態にかかる半導体集積回路のテスト回路の構成の一例を示す。ここで、本実施形態では、内部クロックが２系統（クロックドメインが２系統）の場合の回路構成である。図１に示す半導体集積回路のテスト回路は以下のように構成されている。
【００１７】
第１のクロックドメイン側が、クロック生成回路２３１と、マルチプレクサ２４１と、クロック制御回路２２１と、組み合わせ回路２１１と、組み合わせ回路２１１に対する複数のスキャンチェーン（本例では、記憶素子が２個）であるスキャン・フリップ・フロップ２５１１、２５１２で構成される。また、第２のクロックドメイン側が、クロック生成回路２３２と、マルチプレクサ２４２と、クロック制御回路２２２と、組み合わせ回路２１２と、組み合わせ回路２１２に対する複数のスキャンチェーン（本例では、記憶素子が２個）であるスキャン・フリップ・フロップ２５２１、２５２２で構成される。
【００１８】
また、外部入力端子として、外部入力ＤａｔａＩｎと、外部入力ＳｃａｎＩｎ１、外部入力ＳｃａｎＩｎ２、外部入力ＳｃａｎＥｎａｂｌｅ、外部入力Ｃｌｏｃｋ、外部入力ＢｙｐａｓｓＣｌｏｃｋ、外部入力ＢｙｐａｓｓＭｏｄｅを有する。また、外部出力端子として、外部出力ＤａｔａＯｕｔ、外部出力ＳｃａｎＯｕｔ１、外部出力ＳｃａｎＯｕｔ２を有する。
【００１９】
クロック生成回路２３１とクロック生成回路２３２は、ＣＫ入力（端子）に入力された信号より、それぞれのクロックドメインの通常動作時の動作クロックをそれぞれＣＫＯ１信号とＣＫＯ２信号として出力する。
【００２０】
クロック制御回路２２１とクロック制御回路２２２は、ＥＮ入力（端子）とＲＳＴ入力（端子）に入力された信号に応じてＣＫ入力（端子）に入力された信号をＴＣＫＯ出力（端子）に、それぞれＴＣＫＯ１信号とＴＣＫＯ２信号として出力する。
【００２１】
マルチプレクサ２４１とマルチプレクサ２４２は、Ｓ０入力（端子）に入力される信号に応じてＤ０入力（端子）またはＤ１入力（端子）に入力される信号を選択してＹ出力（端子）に出力する。
【００２２】
組み合わせ回路２１１と組み合わせ回路２１２は、ＩＮ１入力（端子）からＩＮ３入力（端子）からのデータを入力とし、ＯＴ１出力（端子）からＯＴ３出力（端子）へデータを出力する。
【００２３】
スキャン・フリップ・フロップ２５１１、２５１２、２５２１、２５２２は、ＣＬＫ入力（端子）に入力されたクロックの立ち上がりに同期して、Ｄ入力（端子）に入力されたデータを記憶しＱ出力（端子）に出力する。
【００２４】
外部入力ＤａｔａＩｎは、外部からの入力データを入力する。外部入力ＳｃａｎＩｎ１は、第１のクロックドメインのスキャンインデータを入力する。外部入力ＳｃａｎＩｎ２は、第２のクロックドメインのスキャンインデータを入力する。
【００２５】
外部入力ＳｃａｎＥｎａｂｌｅは、シフト期間とラウンチ−キャプチャ期間の切り替えを行うスキャンイネーブル信号を入力する。
【００２６】
外部入力ＢｙｐａｓｓＣｌｏｃｋは、遅延故障テスト時に各クロックドメインに入力する外部テストクロック（例えば、後述する図３に示すα、β、γのクロック）を入力する。
【００２７】
外部入力ＢｙｐａｓｓＭｏｄｅは、遅延故障テスト時に"１"レベルである外部テストモード信号を入力する。
【００２８】
外部出力ＤａｔａＯｕｔは、組合せ回路２１２のデータを出力する。外部出力ＳｃａｎＯｕｔ１は、スキャン・フリップ・フロップ２５１２からの出力データを出力する。
外部出力ＳｃａｎＯｕｔ２は、スキャン・フリップ・フロップ２５２２からの出力データを出力する。
【００２９】
次に、上記構成に対する接続関係を説明する。まず、外部入力ＤａｔａＩｎを組み合わせ回路２１１のＩＮ１に接続する。
【００３０】
外部入力ＳｃａｎＩｎ１をスキャン・フリップ・フロップ２５１１のＳＩ入力に接続し、外部入力ＳｃａｎＩｎ２をスキャン・フリップ・フロップ２５２１のＳＩ入力に接続する。外部入力ＳｃａｎＥｎａｂｌｅをクロック制御回路２２１のＥＮ入力及びＲＳＴ入力とクロック制御回路２２２のＲＳＴ入力とスキャン・フリップ・フロップ２５１１、２５１２及び２５２１、２５２２のＳＥ入力に接続する。外部入力Ｃｌｏｃｋをクロック生成回路２３１及び２３２のＣＫ入力に接続する。外部入力ＢｙｐａｓｓＣｌｏｃｋをクロック制御回路２２１及び２２２のＣＫ入力に接続する。外部入力ＢｙｐａｓｓＭｏｄｅをマルチプレクサ２４１及び２４２のＳ０入力に接続する。
【００３１】
クロック生成回路２３１のＣＫＯ１出力信号をマルチプレクサ２４１のＤ０入力に接続し、クロック制御回路２２１のＴＣＫＯ１出力信号をマルチプレクサ２４１のＤ１入力に接続する。クロック生成回路２３２のＣＫＯ２出力信号をマルチプレクサ２４２のＤ０入力に接続し、クロック制御回路２２２のＴＣＫＯ２出力信号をマルチプレクサ２４２のＤ１入力に接続する。クロック制御回路２２１のＮＥＸＴＥＮ出力をクロック制御回路２２２のＥＮ入力に接続する（この接続ネットをＣｔｒｌ１とする）。
【００３２】
マルチプレクサ２４１のＹ出力ＣＫ１信号をスキャン・フリップ・フロップ２５１１及び２５１２のＣＬＫ入力に接続し、マルチプレクサ２４２のＹ出力ＣＫ２信号をスキャン・フリップ・フロップ２５２１及び２５２２のＣＬＫ入力に接続する。
【００３３】
組み合わせ回路２１１のＯＴ１出力をスキャン・フリップ・フロップ２５１１のＤ入力に接続し、スキャン・フリップ・フロップ２５１１のＱ出力を組み合わせ回路２１１のＩＮ２とスキャン・フリップ・フロップ２５１２のＳＩ入力に接続し、組み合わせ回路２１１のＯＴ２出力をスキャン・フリップ・フロップ２５１２のＤ入力と接続し、スキャン・フリップ・フロップ２５１２のＱ出力を組み合わせ回路２１１のＩＮ３と外部出力ＳｃａｎＯｕｔ１に接続し、組み合わせ回路２１１のＯＴ３出力を組み合わせ回路２１２のＩＮ１に接続する。
【００３４】
組み合わせ回路２１２のＯＴ１出力をスキャン・フリップ・フロップ２５２１のＤ入力に接続し、スキャン・フリップ・フロップ２５２１のＱ出力を組み合わせ回路２１２のＩＮ２とスキャン・フリップ・フロップ２５２２のＳＩ入力に接続し、組み合わせ回路２１２のＯＴ２をスキャン・フリップ・フロップ２５２２のＤ入力に接続し、スキャン・フリップ・フロップ２５２２のＱ出力を組み合わせ回路２１２のＩＮ３と外部出力ＳｃａｎＯｕｔ２に接続し、組み合わせ回路２１２のＯＴ３出力を外部出力ＤａｔａＯｕｔに接続する。
【００３５】
次に、図２に図１中に示すクロック制御回路２２１と２２２の構成例を示す。クロック制御回路２２１と２２２は同様の構成である。図２のクロック制御回路以下のように構成されている。
【００３６】
入力ＥＮを入力とするインバータ５１１と、インバータ５１１の出力を入力するフリップ・フロップ５２１とフリップ・フロップ５２１の出力データを入力とするフリップ・フロップ５２２と、フリップ・フロップ５２２の出力データを入力とするインバータ５１２と、インバータ５１１とインバータ５１２の出力を入力とするＡＮＤ回路５３１と、ＡＮＤ回路５３１の出力をラッチし、ラッチした値を出力するラッチ回路５４と、ラッチ回路５４とＣＫ入力（端子）からの信号を入力とするＡＮＤ回路５３２と、ＡＮＤ回路５３２とＣＫ端子からの信号を入力とするマルチプレクサ５５からなる。また、入力端子として、入力ＥＮと、入力ＲＳＴと、入力ＣＫを有する。また、出力端子として、出力ＴＣＫＯと、出力ＮＥＸＴＥＮを有する。
【００３７】
インバータ５１１とインバータ５１２は、Ａ入力（端子）に入力された値を論理反転してＹＢ出力（端子）に出力する。
【００３８】
フリップ・フロップ５２１のフリップ・フロップ５２２は、Ｒ入力（リセット入力端子）を有するＤフリップ・フロップであり、ＣＬＫ入力（端子）から入力されるクロックの立ち上がりに同期して、Ｄ入力（端子）に入力されたデータを記憶しＱ出力（端子）に出力する。ここで、Ｒ入力に"１"が入力されると"０"を出力する。
【００３９】
ＡＮＤ回路５３１と５３２は、端子Ａと端子Ｂに入力されたデータをＡＮＤ演算して端子Ｙへ出力する。
【００４０】
次に、上記構成に対する接続関係を説明する。入力ＥＮをインバータ回路５１１のＡ入力に接続し、入力ＲＳＴをフリップ・フロップ５２１及び５２２のＲ入力とマルチプレクサ５５のＳ０入力に接続する。入力ＣＫをフリップ・フロップ５２１及び５２２のＣＬＫ入力とラッチ５４のＧＢ入力とＡＮＤ回路５３２のＢ入力とマルチプレクサ５５のＤ１入力に接続する。インバータ回路５１１のＹＢ出力をＡＮＤ回路５３１のＡ入力とフリップ・フロップ５２１のＤ入力に接続する。
【００４１】
フリップ・フロップ５２１のＱ出力をフリップ・フロップ５２２のＤ入力に接続し（この接続ネットをＣａｐＥｎ１とする）、フリップ・フロップ５２２のＱ出力をインバータ回路５１２のＡ入力に接続し（この接続ネットをＣａｐＥｎ２とする）、インバータ回路５１２のＹＢ出力をＡＮＤ回路５３１のＢ入力と出力ＮＥＸＴＥＮに接続する。
【００４２】
ＡＮＤ回路５３１のＹ出力をラッチ５４のＤ入力に接続し（この接続ネットをＣｌｋＥｎとする）、ラッチ５４のＱ出力をＡＮＤ回路５３２のＡ入力に接続し（この接続ネットをＣｌｋＥｎＤｌｙとする）、ＡＮＤ回路５３２のＹ出力をマルチプレクサ５５のＤ０入力に接続する（この接続ネットをＧＣＫとする）。
【００４３】
次に、本実施の形態にかかる半導体集積回路のテスト回路の動作について説明する。まず、通常動作時の説明を行う。通常動作時、外部入力ＳｃａｎＩｎ１とＳｃａｎＩｎ２とＳｃａｎＥｎａｂｌｅとＢｙｐａｓｓＣｌｏｃｋとＢｙｐａｓｓＭｏｄｅを"０"に固定する。外部入力Ｃｌｏｃｋからクロック生成回路２３１及び２３２のＣＫ入力にクロックを供給する。クロック生成回路２３１及び２３２はＣＫ入力を元に各々任意のクロックを生成しＣＫＯから出力する。ＢｙｐａｓｓＭｏｄｅが"０"の時、マルチプレクサ２４１及び２４２のＤ０入力の値をＹに出力する為、クロック生成回路２３１のＣＫＯ１出力がＣＫ１信号としてスキャン・フリップ・フロップ２５１１及び２５１２のＣＬＫ入力に供給され、クロック生成回路２３２のＣＫＯ２出力がＣＫ２信号としてスキャン・フリップ・フロップ２５２１及び２５２２のＣＬＫ入力に供給され動作する。ここで、クロック生成回路２３１のＣＫＯ１出力とクロック生成回路２３２のＣＫＯ２出力は相関のない非同期の関係にある。
【００４４】
次に遅延故障テスト時の動作の説明を行う。図３に図１の回路構成における遅延故障テスト時のタイミングチャートを示す。
【００４５】
遅延故障テスト時、クロック生成回路２３１及び２３２の出力信号ＣＫＯ１及びＣＫＯ２が"０"レベルの時に外部入力ＢｙｐａｓｓＭｏｄｅを"１"に固定する。ＢｙｐａｓｓＭｏｄｅが"１"の時、マルチプレクサ２４１及び２４２のＤ１入力の値をＹに出力する為、クロック制御回路２２１のＴＣＫＯ１出力がＣＫ１信号としてスキャン・フリップ・フロップ２５１１及び２５１２のＣＬＫ入力に供給され、クロック制御回路２２２のＴＣＫＯ２出力がＣＫ２信号としてスキャン・フリップ・フロップ２５２１及び２５２２のＣＬＫ入力に供給され動作する。
【００４６】
外部入力ＳｃａｎＥｎａｂｌｅはシフト期間とラウンチ−キャプチャ期間の切り替えを行い、"１"でシフト期間、"０"でラウンチ−キャプチャ期間となり、シフト動作から遅延故障テストを開始する。
【００４７】
外部入力ＳｃａｎＩｎ１は、シフト期間中はシフトデータを入力しスキャン・フリップ・フロップ２５１１及び２５１２にデータを設定し、ラウンチ−キャプチャ期間中は"０"または"１"の固定値を入力する。外部入力ＳｃａｎＩｎ２は、シフト期間中はシフトデータを入力しスキャン・フリップ・フロップ２５２１及び２５２２にデータを設定し、ラウンチ−キャプチャ期間中は"０"又は"１"の固定値を入力する。外部出力ＳｃａｎＯｕｔ１は、シフト期間中にスキャン・フリップ・フロップ２５１１及び２５１２のＤ入力で取り込まれたデータを順次出力し期待値照合する。外部出力ＳｃａｎＯｕｔ２は、シフト期間中にスキャン・フリップ・フロップ２５２１及び２５２２のＤ入力で取り込まれたデータを順次出力し期待値照合する。ここで、外部入力ＳｃａｎＩｎ１、ＳｃａｎＩｎ２、外部出力ＳｃａｎＯｕｔ１、ＳｃａｎＯｕｔ２はスキャンパス動作の一般的な動作のため、図３のタイミングチャートには記載していない。
【００４８】
外部入力ＢｙｐａｓｓＣｌｏｃｋは、シフト期間中に供給するクロック（以降はαと記載）と、ラウンチ−キャプチャ期間中は最初に２クロック分のクロック（以降はβと記載）を、次に２クロック分のクロック（以降はγと記載）を供給する。
【００４９】
クロック制御回路２２１のＴＣＫＯ１出力であるＣＫ１信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中はβのクロック、つまり、図３のＡの時刻から最初の２パルス分が出力される。
【００５０】
クロック制御回路２２１のＮＥＸＴＥＮ出力はＣｔｒｌ１制御信号として、図３のＢの時刻の２発目のパルスの立ち上がりエッジに同期して"１"から"０"に遷移し、クロック制御回路２２２のＥＮに入力する。
【００５１】
クロック制御回路２２２のＴＣＫＯ２出力であるＣＫ２信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中はγのクロック、つまり図３のＣの時刻から次の２パルス分が出力される。
【００５２】
図４は図２のクロック制御回路２２１（またはクロック制御回路２２２）の動作を示すタイミングチャートである。図４を用いて、図２のクロック制御回路の動作を説明する。
【００５３】
入力ＲＳＴが"１"の期間はシフト期間であり、フリップ・フロップ５２１及び５２２はリセット状態で、マルチプレクサ５５のＤ１入力の値をＹに出力する。ラッチ５４にはリセット入力が存在しないが、ＣＬＫ入力が"０"の期間にＱ出力は確定している。そのためＣＫ信号がそのままＴＣＫＯに出力される。
【００５４】
ＲＳＴが"０"の期間はラウンチ−キャプチャ期間であり、フリップ・フロップ５２１及び５２２はリセット解除状態で、マルチプレクサ５５のＤ０入力（ＧＣＫ）をＴＣＫＯとして出力する。リセット解除後の図４のＡの時刻にフリップ・フロップ５２１は入力ＣＫの立ち上がりエッジで入力ＥＮの反転信号を取り込みＱからＣａｐＥｎ１として"１"を出力する。図４のＢの時刻にフリップ・フロップ５２２はＣＫの立ち上がりエッジでＣａｐＥｎ１を取り込みＱからＣａｐＥｎ２として"１"を出力し、インバータ５１２のＡに入力され、インバータ５１２の出力であるＣａｐＥｎ２の反転信号をＮＥＸＴＥＮ出力として出力する。また、ＮＥＸＴＥＮ出力は、インバータ５１１出力とＡＮＤ演算した結果のＣｌｋＥｎ信号となり、図４のＢの時刻にラッチ５４に取り込み、ＱからＣｌｋＥｎＤｌｙとして"１"を出力する。ＣＫとＣｌｋＥｎＤｌｙをＡＮＤ５３２で演算した結果はＣＫのマスク制御を行う動作となり、その出力がマルチプレクサ５５を介してＴＣＫＯとして出力される。
【００５５】
つまりＣｌｋＥｎＤｌｙはＥＮ信号の立ち下がりであるラウンチ−キャプチャ期間の最初からＣＫの２クロックの間"１"の信号を出力し、そのＣｌｋＥｎＤｌｙ信号とＣＫをＡＮＤ演算することにより、ラウンチ−キャプチャの最初時刻からＣＫ信号の最初の２クロックのみを有効にしてＴＣＫＯとして出力する。
【００５６】
同様の考え方で、クロック制御回路２２２のＥＮ信号は、クロック制御回路２２１のＮＥＸＴＥＮより受ける回路になっているため。ＮＥＸＴＥＮ信号の立ち下がりである時点、つまりラウンチ−キャプチャ期間のＣＫ信号が２クロック目の立ち上がる時点から、次のＣＫ信号の２クロック目の立下りまで、クロック制御回路２２２のＣｌｋＥｎＤｌｙは"１"の信号を出力することになり、クロック制御回路２２２のＴＣＫＯには、クロック制御回路２２２のＣｌｋＥｎＤｌｙの"１"の期間だけＣＫ信号を出力する。
【００５７】
以上より、シフト期間中はαのクロックがＣＫ１とＣＫ２に供給され、ラウンチ−キャプチャ期間中は最初のβのクロックがＣＫ１にのみ供給され、次のγのクロックがＣＫ２にのみ供給される。
【００５８】
またここで、実施の形態1のクロック制御回路２２１と２２２のテスト方法について説明する。例えば、クロック制御回路２２１と２２２が故障していた場合、遅延故障テストができなくなる為、テストが必要となる。1例としては、マルチプレクサ２４１のＹ出力とマルチプレクサ２４２のＹ出力を外部端子に接続し、遅延故障テスト時と同じシーケンスで動作させ、期待するクロックが生成されているかどうかモニタすることでテストすることができる。
【００５９】
以下、従来技術のテスト回路のテスト時間算出例と本発明のテスト回路のテスト時間算出例を示し比較する。
【００６０】
＜従来技術の場合＞
最大スキャンチェーン数を１０，０００個、ラウンチ−キャプチャ・サイクル数を約３[サイクル]、シフト周期を１００[ｎｓ]（１０[ＭＨｚ]）、ＣＫ１クロックドメインのパターンセット数を５００[セット]、ＣＫ２クロックドメインのパターンセット数を５００[セット]とする。ただしここで、パターンセット数とは、1回のシフト期間中に各スキャン・フリップ・フロップにデータを設定するパターンのことを１セットと定義し、パターンセット数が５００[セット]の場合、５００回のシフト動作が行われるものとする。
【００６１】
従来技術では、１回のラウンチ−キャプチャ期間中に１つのクロックしか供給できない。よって、１回目の遅延故障テストでＣＫ１クロックドメインのパターンをシフト期間中に各スキャン・フリップ・フロップに設定してテストする。次に、２回目の遅延故障テストでＣＫ２クロックドメインのパターンをシフト期間中に各スキャン・フリップ・フロップに設定してテストする。よって、テスト時間は以下のような計算式から求められる。
（１０，０００[個]＋３）×１００[ｎｓ]×（５００＋５００）
よって、テスト時間は、１，０００，３００，０００[ｎｓ]≒１．０[ｓ]となる。
【００６２】
＜本発明技術の場合＞
最大スキャンチェーン数を１０，０００[個]、ラウンチ−キャプチャ・サイクル数を６[サイクル]、シフト周期を１００[ｎｓ]（１０[ＭＨｚ]）、ＣＫ１クロックドメインのパターンセット数を５００[セット]、ＣＫ２クロックドメインのパターンセット数を５００[セット]とする。
【００６３】
ここで本発明技術では前述したように、1回のラウンチ−キャプチャ期間中に２つのクロックを供給できる。よって、ＣＫ１クロックドメインのパターンとＣＫ２クロックドメインのパターンをシフト期間中に各スキャン・フリップ・フロップに同時に設定してテストする。このため、テスト時間は以下のような計算式から求められる。
（１０，０００[個]＋６）×１００[ｎｓ]×５００
よって、テスト時間は、５００，３００，０００[ｎｓ]≒０．５[ｓ]となる。
【００６４】
以上の結果から、従来技術の問題点であるテスト時間およびテストコストの増加は、クロック制御回路２２１及び２２２を追加し、クロック制御回路２２１のＮＥＸＴＥＮ出力をトリガーとしてクロック制御回路２２２が動作することにより、ラウンチ−キャプチャ期間中に、最初の２クロック分のβをＣＫ１にのみ供給し、次に２クロック分のγをＣＫ２にのみ供給する為、1回のラウンチ−キャプチャ期間中に２つのクロックドメインの遅延故障テストを実施することが可能となり、２つのクロックドメインの位相に関係なくテスト時間を削減することができる。よって、ＣＫ１クロックで動作する回路とＣＫ２クロックで動作する回路の故障定義数が同じだと仮定して、従来技術の半分のテスト時間で遅延故障テストを実施することができることがわかる。
【００６５】
よって、1回のラウンチ−キャプチャ期間中に複数のクロックドメインの遅延故障テストを実施することが可能となり、テスト時間を削減することができる。また、1本のスキャンクロックで複数のクロックドメインの遅延故障テストを実施することが可能となり、テスト用の専用端子や兼用端子を削減することができる。
【００６６】
＜発明の実施の形態２＞
以下、本発明を適用した具体的な実施の形態２について、図面を参照しながら詳細に説明する。この実施の形態２は、実施の形態１と同様、本発明を半導体集積回路のテスト回路に適用したものである。
【００６７】
図５に本実施の形態２にかかる半導体集積回路のテスト回路の構成の一例を示す。なお、図に示された符号のうち、図１と同じ符号を付した構成は、図１と同じか又は類似の構成を示している。実施の形態１と異なる点は、クロック制御回路２２１とクロック制御回路２２２との接続が異なる点である。よって、本実施の形態２では、その部分のみの説明を記載する。このため、構成およびクロック制御回路２２１とクロック制御回路２２２との接続関係以外は実施の形態１に説明済みのため省略する。また、クロック制御回路２２１及び２２２は、実施の形態1で説明した構成と同様の為、構成の説明は省略する。
【００６８】
以下に本実施の形態２における、クロック制御回路２２１とクロック制御回路２２２の接続関係を説明する。
【００６９】
外部入力ＳｃａｎＥｎａｂｌｅをクロック制御回路２２１のＲＳＴ入力とクロック制御回路２２２のＥＮ入力及びＲＳＴ入力を接続する。クロック制御回路２２２のＮＥＸＴＥＮ出力をクロック制御回路２２１のＥＮ入力に接続する（この接続ネットをＣｔｒｌ１とする）。
【００７０】
次に、本実施の形態にかかる半導体集積回路のテスト回路の動作について説明する。ただし、通常動作は実施の形態1と同様の為、説明は省略する。また、遅延故障テスト時においても基本的な動作は実施形態１と同様なため説明は省略し、本実施の形態に特徴を有するラウンチ−キャプチャ期間の動作のみ記載する。
【００７１】
ここで、図６に図５の回路構成における遅延故障テスト時のタイミングチャートを示す。外部入力ＢｙｐａｓｓＣｌｏｃｋは、シフト期間中はαのクロックを、ラウンチ−キャプチャ期間中は２クロック分のγのクロックと次に２クロック分のβのクロックを供給する。
【００７２】
クロック制御回路２２２のＴＣＫＯ２出力であるＣＫ２信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は２クロック分のγのクロック、つまり、図６のＡの時刻から最初の２パルスを出力する。
【００７３】
クロック制御回路２２２のＮＥＸＴＥＮ出力Ｃｔｒｌ１制御信号として、図６のＢの時刻の２発目のパルスの立ち上がりエッジに同期して"１"から"０"に遷移し、クロック制御回路２２１のＥＮに入力する。
【００７４】
クロック制御回路２２１のＴＣＫＯ１出力であるＣＫ１信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は２クロック分のβのクロック、つまり図６のＣの時刻から次の２パルスを出力する。その他の動作は発明の実施の形態1と同様の為、説明は省略する。
【００７５】
以上より、シフト期間中はαのクロックがＣＫ１とＣＫ２に供給され、ラウンチ−キャプチャ期間中は最初の２クロック分のγのクロックがＣＫ２にのみ供給され、次の２クロック分のβのクロックがＣＫ１にのみ供給される。
【００７６】
よって、実施の形態1の場合には、シフト期間中はαのクロックをＣＫ１とＣＫ２に供給し、ラウンチ−キャプチャ期間中は最初の２クロック分のβのクロックをＣＫ１にのみ供給し、次の２クロック分のγのクロックをＣＫ２にのみ供給していたが、本実施の形態２では逆に、最初の２クロック分のγのクロックをＣＫ２にのみ供給し、次に２クロック分のβのクロックをＣＫ１にのみ供給することができる。
【００７７】
＜発明の実施の形態３＞
以下、本発明を適用した具体的な実施の形態３について、図面を参照しながら詳細に説明する。この実施の形態３は、本発明を半導体集積回路のテスト回路に適用したものである。
【００７８】
図７に本実施の形態３にかかる半導体集積回路のテスト回路の構成の一例を示す。なお、図に示された符号のうち、図１と同じ符号を付した構成は、図１と同じか又は類似の構成を示している。実施の形態１と異なる点は、装置内のクロックドメインを複数（ｎ個）持つ場合である。よって、本実施の形態３では、その部分のみの説明を記載する。
【００７９】
図７に示す半導体集積回路のテスト回路は、第１から第ｎのクロックドメインにおけるそれぞれのクロック生成回路７３１から７３ｎと、それぞれのマルチプレクサ７４１から７４ｎと、それぞれのクロック制御回路７２１から７２ｎと、組み合わせ回路７１１から７１ｎと、組み合わせ回路７１１から７１ｎに対する複数のスキャンチェーン（本例では、記憶素子が２個）であるスキャン・フリップ・フロップ７５１１、７５１２から７５ｎ１、７５ｎ２からなる。ただし、これらクロック生成回路７３１から７３ｎと、マルチプレクサ７４１から７４ｎと、クロック制御回路７２１から７２ｎは、実施の形態１のクロック生成回路、マルチプレクサ、クロック制御回路と同様の構成のため説明は省略し、以下にそれぞれの接続関係を記載する。
【００８０】
外部入力ＤａｔａＩｎを組み合わせ回路７１１のＩＮ１に接続し、ＳｃａｎＩｎ１をスキャン・フリップ・フロップ７５１１のＳＩ入力に接続し、ＳｃａｎＩｎ２をスキャン・フリップ・フロップ７５２１のＳＩ入力に接続し、ＳｃａｎＩｎ３をスキャン・フリップ・フロップ７５３１のＳＩ入力に接続し、ＳｃａｎＩｎ(ｎ)をスキャン・フリップ・フロップ７５ｎ１のＳＩ入力に接続する。
【００８１】
外部入力ＳｃａｎＥｎａｂｌｅをクロック制御回路７２１のＥＮ入力及びＲＳＴ入力とクロック制御回路７２２、７２３、７２ｎのＲＳＴ入力とスキャン・フリップ・フロップ７５１１、７５１２、７５２１、７５２２、７５３１、７５３２、７５ｎ１、７５ｎ２のＳＥ入力に接続する。外部入力Ｃｌｏｃｋをクロック生成回路７３１、７３２、７３３、７３ｎのＣＫ入力に接続する。外部入力ＢｙｐａｓｓＣｌｏｃｋをクロック制御回路７２１、７２２、７２３、７２ｎのＣＫ入力に接続する。外部入力ＢｙｐａｓｓＭｏｄｅをマルチプレクサ７４１、７４２、７４３、７４ｎのＳ０入力に接続する。
【００８２】
クロック生成回路７３１のＣＫＯ１出力信号をマルチプレクサ７４１のＤ０入力に接続し、クロック制御回路７２１のＴＣＫＯ１出力信号をマルチプレクサ７４１のＤ１入力に接続する。
【００８３】
クロック生成回路７３２のＣＫＯ２出力信号をマルチプレクサ７４２のＤ０入力に接続し、クロック制御回路７２２のＴＣＫＯ２出力信号をマルチプレクサ７４２のＤ１入力に接続する。
【００８４】
クロック生成回路７３３のＣＫＯ３出力信号をマルチプレクサ７４３のＤ０入力に接続し、クロック制御回路７２３のＴＣＫＯ３出力信号をマルチプレクサ７４３のＤ１入力に接続する。以下同様の接続を繰り返す。
【００８５】
最後に、クロック生成回路７３ｎのＣＫＯｎ出力信号をマルチプレクサ７４ｎのＤ０入力に接続し、クロック制御回路７２ｎのＴＣＫＯｎ出力信号をマルチプレクサ７４ｎのＤ１入力に接続する。
【００８６】
クロック制御回路７２１のＮＥＸＴＥＮ出力をクロック制御回路７２２のＥＮ入力に接続し（この接続ネットをＣｔｒｌ１とする）、クロック制御回路７２２のＮＥＸＴＥＮ出力をクロック制御回路７２３のＥＮ入力に接続し（この接続ネットをＣｔｒｌ２とする）、クロック制御回路７２３のＮＥＸＴＥＮ出力を次に制御したいクロック制御回路のＥＮ入力に接続し（この接続ネットをＣｔｒｌ３とする）、同様に各クロック制御回路のＮＥＸＴＥＮ出力を次に制御したいクロック制御回路のＥＮ入力に順次接続し、（ｎ−１）個目のクロック制御回路のＮＥＸＴＥＮ出力をｎ個目のクロック制御回路７２ｎのＥＮ入力に接続する（この接続ネットをＣｔｒｌ（ｎ−１）とする）。
【００８７】
マルチプレクサ７４１のＹ出力ＣＫ１信号をスキャン・フリップ・フロップ７５１１及び７５１２のＣＬＫ入力に接続し、マルチプレクサ７４２のＹ出力ＣＫ２信号をスキャン・フリップ・フロップ７５２１及び７５２２のＣＬＫ入力に接続し、マルチプレクサ７４３のＹ出力ＣＫ３信号をスキャン・フリップ・フロップ７５３１及び７５３２のＣＬＫ入力に接続し、マルチプレクサ７４ｎのＹ出力ＣＫｎ信号をスキャン・フリップ・フロップ７５ｎ１及び７５ｎ２のＣＬＫ入力に接続する。なお、図７に示すクロック制御回路７２１、７２２、７２３、７２ｎは、実施の形態1で説明した図２の構成と同様の為、説明は省略する。
【００８８】
組み合わせ回路７１１のＯＴ１出力をスキャン・フリップ・フロップ７５１１のＤ入力に接続し、スキャン・フリップ・フロップ７５１１のＱ出力を組み合わせ回路７１１のＩＮ２とスキャン・フリップ・フロップ７５１２のＳＩ入力に接続し、組み合わせ回路７１１のＯＴ２出力をスキャン・フリップ・フロップ７５１２のＤ入力と接続し、スキャン・フリップ・フロップ７５１２のＱ出力を組み合わせ回路７１１のＩＮ３と外部出力ＳｃａｎＯｕｔ１に接続し、組み合わせ回路７１１のＯＴ３出力を組み合わせ回路７１２のＩＮ１に接続する。
【００８９】
組み合わせ回路７１２のＯＴ１出力をスキャン・フリップ・フロップ７５２１のＤ入力に接続し、スキャン・フリップ・フロップ７５２１のＱ出力を組み合わせ回路７１２のＩＮ２とスキャン・フリップ・フロップ７５２２のＳＩ入力に接続し、組み合わせ回路７１２のＯＴ２出力をスキャン・フリップ・フロップ７５２２のＤ入力と接続し、スキャン・フリップ・フロップ７５２２のＱ出力を組み合わせ回路７１２のＩＮ３と外部出力ＳｃａｎＯｕｔ２に接続し、組み合わせ回路７１２のＯＴ３出力を組み合わせ回路７１３のＩＮ１に接続する。
【００９０】
組み合わせ回路７１３のＯＴ１出力をスキャン・フリップ・フロップ７５３１のＤ入力に接続し、スキャン・フリップ・フロップ７５３１のＱ出力を組み合わせ回路７１３のＩＮ２とスキャン・フリップ・フロップ７５３２のＳＩ入力に接続し、組み合わせ回路７１３のＯＴ２出力をスキャン・フリップ・フロップ７５３２のＤ入力と接続し、スキャン・フリップ・フロップ７５３２のＱ出力を組み合わせ回路７１３のＩＮ３と外部出力ＳｃａｎＯｕｔ３に接続し、組み合わせ回路７１３のＯＴ３出力を図面に記載のない組み合わせ回路７１４のＩＮ１に接続する。以下同様の接続を繰り返す。
【００９１】
組み合わせ回路７１ｎのＯＴ１出力をスキャン・フリップ・フロップ７５ｎ１のＤ入力に接続し、スキャン・フリップ・フロップ７５ｎ１のＱ出力を組み合わせ回路７１ｎのＩＮ２とスキャン・フリップ・フロップ７５ｎ２のＳＩ入力に接続し、組み合わせ回路７１ｎのＯＴ２出力をスキャン・フリップ・フロップ７５ｎ２のＤ入力と接続し、スキャン・フリップ・フロップ７５ｎ２のＱ出力を組み合わせ回路７１ｎのＩＮ３と外部出力ＳｃａｎＯｕｔ(ｎ)に接続し、組み合わせ回路７１ｎのＯＴ３出力を外部出力ＤａｔａＯｕｔに接続する。
次に遅延故障テスト時の動作の説明を行う。ここで、図８に図７の回路構成における遅延故障テスト時のタイミングチャートを示す。
【００９２】
遅延故障テスト時、クロック生成回路７３１、７３２、７３３、７３ｎの出力信号ＣＫＯ１、ＣＫＯ２、ＣＫＯ３、ＣＫＯｎが"０"レベルの時に外部入力ＢｙｐａｓｓＭｏｄｅを"１"に固定する。ＢｙｐａｓｓＭｏｄｅが"１"の時、マルチプレクサ７４１、７４２、７４３、７４ｎのＤ１入力の値をＹ出力に接続されたスキャン・フリップ・フロップ７５１１、７５１２、７５２１，７５２２、７５３１、７５３２、７５ｎ１、７５ｎ２のＣＬＫ入力に出力する。外部入力ＳｃａｎＥｎａｂｌｅはシフト期間とラウンチ−キャプチャ期間の切り替えを行い、"１"でシフト期間、"０"でラウンチ−キャプチャ期間となり、シフト動作から遅延故障テストを開始する。
【００９３】
外部入力ＢｙｐａｓｓＣｌｏｃｋは、シフト期間中はαのクロックを供給し、ラウンチ−キャプチャ期間中はＣＫ１に出力する２クロック分のβのクロックと、ＣＫ２に出力する２クロック分のγのクロックと、ＣＫ３に出力する２クロック分のδのクロックと、以下同様にして、最後にＣＫｎ出力する２クロック分のεのクロックを供給する。
【００９４】
クロック制御回路７２１のＴＣＫＯ１出力信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は、Ａの時刻から最初の２クロック分のパルスを出力する。クロック制御回路７２１のＮＥＸＴＥＮ出力は、Ｂの時刻のクロックの立ち上がりエッジに同期して"１"から"０"に遷移し、Ｃｔｒｌ１制御信号としてクロック制御回路７２２のＥＮに入力する。クロック制御回路７２２のＴＣＫＯ２出力信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は、クロック制御回路７２１のＴＣＫＯ１が出力した２クロック分の次のＣの時刻の２クロック分のパルスを出力する。クロック制御回路７２２のＮＥＸＴＥＮ出力は、Ｄの時刻のクロックの立ち上がりエッジに同期して"１"から"０"に遷移し、Ｃｔｒｌ２制御信号としてクロック制御回路７２３のＥＮに入力する。クロック制御回路７２３のＴＣＫＯ３出力信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は、クロック制御回路７２２のＴＣＫＯ２が出力した２クロック分の次のＥの時刻の２クロック分のパルスを出力する。クロック制御回路７２３のＮＥＸＴＥＮ出力は、Ｆの時刻のパルスの立ち上がりエッジに同期して"１"から"０"に遷移し、Ｃｔｒｌ３制御信号として次のクロック制御回路のＥＮに入力する。以上の動作を繰り返し、（ｎ−１）個目のクロック制御回路のＮＥＸＴＥＮ出力は、（２×（ｎ−１））発目のクロックの立ち上がりエッジに同期して"１"から"０"に遷移し、Ｃｔｒｌ（ｎ−１）信号としてｎ個目のクロック制御回路７２ｎのＥＮ入力にする。ｎ個目のクロック制御回路７２ｎのＴＣＫＯｎ出力信号は、シフト期間中はαのクロックを出力し、ラウンチ−キャプチャ期間中は、（ｎ−１）個目のクロック制御回路のＴＣＫＯが出力した２クロック分のパルスの次のＧの時刻の２クロック分のパルスを出力する。その他の動作は実施の形態１と同様である。
【００９５】
以上より、シフト期間中はαのクロックがＣＫ１、ＣＫ２、ＣＫ３、ＣＫｎに供給され、ラウンチ−キャプチャ期間中はＣＫ１には最初の２クロック分のクロック、ＣＫ２にはその次の２クロック分のクロック、後はＣＫｎまで同様な動作でクロックが供給される。
【００９６】
よって、実施の形態1と実施の形態２の場合、２系統のクロックを供給していたが、本実施の形態３では、２系統以上のクロックＣＫ１からＣＫｎを各クロックドメインに供給することができる。
【００９７】
＜発明の実施の形態４＞
以下、本発明を適用した具体的な実施の形態４について、図面を参照しながら詳細に説明する。この実施の形態４は、本発明を半導体集積回路のテスト回路に適用したものである。
【００９８】
図９に本実施の形態４にかかる半導体集積回路のテスト回路の構成の一例を示す。なお、図に示された符号のうち、図１と同じ符号を付した構成は、図１と同じか又は類似の構成を示している。実施の形態１と異なる点は、ＩＥＥＥ Ｓｔｄ １１４９．１（ＪＴＡＧ）に準拠したＴＡＰコントローラと、データレジスタであるキャプチャモード制御回路を有し、クロック制御回路に入力されるＳｃａｎＥｎａｂｌｅ信号を制御する点である。よって、本実施の形態４では、その部分のみの説明を記載する。
【００９９】
図９に示す半導体集積回路のテスト回路は、ＴＡＰコントローラ８６と、キャプチャモード制御回路８７と、マルチプレクサ８７１および８７２と、クロック生成回路８３１および８３２と、マルチプレクサ８４１および８４２と、クロック制御回路８２１および８２２と、組み合わせ回路８１１および８１２と、組み合わせ回路８１１および８１２に対する複数のスキャンチェーン（本例では、記憶素子が２個）であるスキャン・フリップ・フロップ８５１１、８５１２およびから８５２１、８５２２からなる。ここで、本実施形態では、クロックドメインが２系統の場合の回路構成であり、第１のクロックドメインのスキャン・フリップ・フロップに出力するクロックをＣＫ１とし、第２のクロックドメインのスキャン・フリップ・フロップに出力するクロックをＣＫ２とする。
【０１００】
ＴＡＰコントローラ８６は、ＴＣＫとＴＭＳ信号からなるシーケンス回路であり、ＩＥＥＥ Ｓｔｄ １１４９．１（ＪＴＡＧ）に準拠している。ここで、図１０にＩＥＥＥ Ｓｔｄ １１４９．１（ＪＴＡＧ）で規定されたＴＡＰコントローラの状態遷移を示す。図中の枠内のラベルは、コントローラの夫々の状態を示し、周囲に記載されている数値は、状態が遷移するときのＴＭＳ信号の値である。よって、例えば、図１０中９３２のＣａｐｔｕｒｅ−ＤＲの状態に遷移したい場合は、ＴＣＫ信号の立ち上がりエッジでＴＭＳ信号を取り込めるタイミングでＴＭＳ信号から"０"、"１"、"０"を入力する。また、ＴＡＰコントローラ８６には、キャプチャ・モードを設定するプライベート・インストラクション・コードが追加されている。また、データレジスタである後述するキャプチャ・モード制御回路が追加されている。
【０１０１】
キャプチャ・モード制御回路８７は、ＩＥＥＥ Ｓｔｄ １１４９．１（ＪＴＡＧ）に準拠したユーザが任意に定義したデータレジスタである。ここで、マルチプレクサ８７１、８７２、８４１、８４２と、クロック生成回路８３１、８３２と、クロック制御回路８２１、８２２は、実施の形態１のクロック生成回路、マルチプレクサ、クロック制御回路と同様の構成のため説明は省略し、以下に接続関係を記載する。
【０１０２】
テストクロック外部入力ＴＣＫをＴＡＰコントローラ８６のＴＣＫ入力に接続し、テストモードセレクト外部入力ＴＭＳをＴＡＰコントローラ８６のＴＭＳ入力に接続し、テストデータ外部入力ＴＤＩをＴＡＰコントローラ８６のＴＤＩ入力とキャプチャ・モード制御回路（データレジスタ）８７のＴＤＩ入力に接続し、テストリセット外部入力ＴＲＳＴをＴＡＰコントローラ８６のＴＲＳＴ入力に接続する。
【０１０３】
ＴＡＰコントローラ８６のＴＤＯ出力をテストデータ外部出力ＴＤＯに接続し、ＴＡＰコントローラ８６のその他の制御信号出力をキャプチャ・モード制御回路（データレジスタ）８７のその他の制御信号入力に接続し、ＴＡＰコントローラ８６のＣａｐＭｏｄｅＥｎ出力をキャプチャ・モード制御回路（データレジスタ）８７のＣａｐＭｏｄｅＥｎ入力に接続する。
【０１０４】
外部入力ＤａｔａＩｎを組み合わせ回路８１１のＩＮ１に接続し、ＳｃａｎＩｎ１をスキャン・フリップ・フロップ８５１１のＳＩ入力に接続し、ＳｃａｎＩｎ２をスキャン・フリップ・フロップ８５２１のＳＩ入力に接続する。外部入力ＳｃａｎＥｎａｂｌｅをマルチプレクサ８７１及び８７２のＤ０入力とクロック制御回路８２１及び８２２のＲＳＴ入力とスキャン・フリップ・フロップ８５１１、８５１２、８５２１、８５２２のＳＥ入力に接続する。外部入力Ｃｌｏｃｋをクロック生成回路８３１、８３２のＣＫ入力に接続する。外部入力ＢｙｐａｓｓＣｌｏｃｋをクロック制御回路８２１及び８２２のＣＫ入力に接続する。外部入力ＢｙｐａｓｓＭｏｄｅをマルチプレクサ８４１及び８４２のＳ０入力に接続する。
【０１０５】
クロック生成回路８３１のＣＫＯ１出力信号をマルチプレクサ８４１のＤ０入力に接続し、クロック制御回路８２１のＴＣＫＯ１出力信号をマルチプレクサ８４１のＤ１入力に接続する。
【０１０６】
クロック生成回路８３２のＣＫＯ２出力信号をマルチプレクサ８４２のＤ０入力に接続し、クロック制御回路８２２のＴＣＫＯ２出力信号をマルチプレクサ８４２のＤ１入力に接続する。
【０１０７】
マルチプレクサ８７１のＹ出力をクロック制御回路８２１のＥＮ入力に接続し、マルチプレクサ８７２のＹ出力をクロック制御回路８２２のＥＮ入力に接続する。
【０１０８】
クロック制御回路８２１のＮＥＸＴＥＮ出力をマルチプレクサ８７２のＤ１入力に接続し（この接続ネットをＣｔｒｌ１とする）、クロック制御回路８２２のＮＥＸＴＥＮ出力をマルチプレクサ８７１のＤ１入力に接続する。
【０１０９】
キャプチャ・モード制御回路（データレジスタ）８７のＣａｐＭｏｄｅ１出力をマルチプレクサ８７１のＳ０入力に接続し、キャプチャ・モード制御回路（データレジスタ）８７のＣａｐＭｏｄｅ２出力をマルチプレクサ８７２のＳ０入力に接続する。
【０１１０】
マルチプレクサ８４１のＹ出力ＣＫ１信号をスキャン・フリップ・フロップ８５１１及び８５１２のＣＬＫ入力に接続し、マルチプレクサ８４２のＹ出力ＣＫ２信号をスキャン・フリップ・フロップ８５２１及び８５２２のＣＬＫ入力に接続する。
【０１１１】
組み合わせ回路８１１のＯＴ１出力をスキャン・フリップ・フロップ８５１１のＤ入力に接続し、スキャン・フリップ・フロップ８５１１のＱ出力を組み合わせ回路８１１のＩＮ２とスキャン・フリップ・フロップ８５１２のＳＩ入力に接続し、組み合わせ回路８１１のＯＴ２出力をスキャン・フリップ・フロップ８５１２のＤ入力と接続し、スキャン・フリップ・フロップ８５１２のＱ出力を組み合わせ回路８１１のＩＮ３と外部出力ＳｃａｎＯｕｔ１に接続し、組み合わせ回路８１１のＯＴ３出力を組み合わせ回路８１２のＩＮ１に接続する。
【０１１２】
組み合わせ回路８１２のＯＴ１出力をスキャン・フリップ・フロップ８５２１のＤ入力に接続し、スキャン・フリップ・フロップ８５２１のＱ出力を組み合わせ回路８１２のＩＮ２とスキャン・フリップ・フロップ８５２２のＳＩ入力に接続し、組み合わせ回路８１２のＯＴ２出力をスキャン・フリップ・フロップ８５２２のＤ入力と接続し、スキャン・フリップ・フロップ８５２２のＱ出力を組み合わせ回路８１２のＩＮ３と外部出力ＳｃａｎＯｕｔ２に接続し、組み合わせ回路８１２のＯＴ３出力を外部出力ＤａｔａＯｕｔに接続する。
【０１１３】
なお、図９中に示すクロック制御回路８２１及び８２２は、実施の形態１で説明した構成と同様の為、構成の説明は省略する。
【０１１４】
次に、本実施の形態にかかる半導体集積回路のテスト回路の動作について説明する。ただし、通常動作は、実施の形態１と同様の為、説明は省略する。また、ＴＡＰコントローラ８６及びキャプチャ・モード制御回路８７はＩＥＥＥ Ｓｔｄ １１４９．１（ＪＴＡＧ）で規定された動作に従う回路の為、詳細な説明は省略する。
【０１１５】
遅延故障テスト時、先ず、図１０に示すＩＥＥＥ Ｓｔｄ １１４９．１（ＪＴＡＧ）で規定された動作（状態遷移）に従って、テストクロック外部入力ＴＣＫとテストモードセレクト外部入力ＴＭＳとテストデータ外部入力ＴＤＩを制御しプライベート・インストラクションであるキャプチャ・モードに設定し、ＴＡＰコントローラ８６のＣａｐＭｏｄｅＥｎから"１"を出力する。
【０１１６】
次に再度テストクロック外部入力ＴＣＫとテストモードセレクト外部入力ＴＭＳとテストデータ外部入力ＴＤＩを制御しＴＤＩよりキャプチャ・モード制御回路８７内のデータレジスタに任意のキャプチャ順序を設定する。
【０１１７】
ここで、ラウンチ−キャプチャ期間中の最初の２パルスをＣＫ１に供給し、次の２パルスをＣＫ２に供給する場合、キャプチャ・モード制御回路のＣａｐＭｏｄｅ１出力から"０"を出力し、ＣａｐＭｏｄｅ２出力から"１"を出力し、実施の形態１と同様の動作をする。
【０１１８】
また、ラウンチ−キャプチャ期間中の最初の２パルスをＣＫ２に供給し、次の２パルスをＣＫ１に供給する場合、キャプチャ・モード制御回路のＣａｐＭｏｄｅ１出力から"１"を出力し、ＣａｐＭｏｄｅ２出力から"０"を出力し、実施の形態２と同様の動作をする。その他の動作は実施の形態１および実施の形態２と同様の為、説明は省略する。
【０１１９】
以下に本実施の形態４にかかる半導体集積回路のテスト回路による効果を記載する。
【０１２０】
実施の形態１の場合、図３のタイミングチャートの動作からシフト期間中はαのクロックをＣＫ１とＣＫ２に供給し、ラウンチ−キャプチャ期間中は最初の２クロック分のβをＣＫ１にのみ供給し、次に２クロック分のγをＣＫ２にのみ供給する。また、実施の形態２の場合、図６のタイミングチャートの動作からシフト期間中はαのクロックをＣＫ１とＣＫ２に供給し、ラウンチ−キャプチャ期間中は最初の２クロック分のγをＣＫ２にのみ供給し、次に２クロック分のβをＣＫ１にのみ供給する。このように、実施の形態１および実施の形態２では、ＣＫ１とＣＫ２に与えられるクロックの供給順序が常に固定されていたが、本実施の形態４では、ＩＥＥＥ Ｓｔｄ １１４９．１（ＪＴＡＧ）に準拠したＴＡＰコントローラを通してプログラマブルにＣＫ１とＣＫ２の供給順序を可変にすることができる。
【０１２１】
＜発明の実施の形態５＞
以下、本発明を適用した具体的な実施の形態５について、図面を参照しながら詳細に説明する。この実施の形態５は、本発明を半導体集積回路のテスト回路に適用したものである。
【０１２２】
図１１に本実施の形態５にかかる半導体集積回路のテスト回路のクロック制御回路の構成の一例を示す。なお、図に示された符号のうち、図２と同じ符号を付した構成は、図２と同じか又は類似の構成を示している。実施の形態１と異なる点は、クロック制御回路内のフリップ・フロップをｎ個接続することで、ｎビットのカウンタ（シフトレジスタ）を構成する点である。よって、本実施の形態５では、その部分のみの説明を記載し、クロック制御回路以外の構成は実施の形態１と同様なため説明は省略する。
【０１２３】
本実施の形態の半導体集積回路のテスト回路のクロック制御回路は、インバータ５１１の出力を入力するフリップ・フロップ５２１とフリップ・フロップ５２１の出力データを入力とするフリップ・フロップ５２２と、同様の接続をｎ回繰り返して接続されるフリップ・フロップ５２３からなるｎビットのカウンタ（シフトレジスタ）５２を有する。その他の構成は、実施の形態１で説明したクロック制御回路の構成と同様の為説明は省略し、以下に接続関係を記載する。
【０１２４】
入力ＲＳＴをフリップ・フロップ５２１、５２２、５２３のＲ入力に接続する。入力ＣＫをフリップ・フロップ５２１、５２２、５２３のＣＬＫ入力に接続する。
【０１２５】
インバータ回路５１１のＹＢ出力をフリップ・フロップ５２１のＤ入力に接続し、フリップ・フロップ５２１のＱ出力をフリップ・フロップ５２２のＤ入力に接続し（この接続ネットをＣａｐＥｎ１とする）、フリップ・フロップ５２２のＱ出力を次のフリップ・フロップのＤ入力に接続し（この接続ネットをＣａｐＥｎ２とする）、順次同様の接続を繰り返し、（ｎ−１）個目のフリップ・フロップのＱ出力をフリップ・フロップ５２３のＤ入力に接続し、フリップ・フロップ５２３のＱ出力をインバータ回路５１２のＡ入力に接続する（この接続ネットをＣａｐＥｎ（ｎ）とする）。ここで、カウンタ（シフトレジスタ）回路５２は、フリップ・フロップ５２１、５２２、５２３をひとつにまとめた構成とする。
【０１２６】
図１２は図１１のクロック制御回路の動作を示すタイミングチャートである。図１２を用いて、図１１のクロック制御回路の動作を説明する。ただし、図が煩雑になるのを避けるため、図１２に示すタイミングチャートは、図１１の回路構成のカウンタ（シフトレジスタ）５２が３個のフリップ・フロップで構成される場合を示す。
【０１２７】
入力ＲＳＴが"１"の期間は、フリップ・フロップ５２１、５２２、５２３はリセット状態で、マルチプレクサ５５のＤ１入力の値（ＣＫ入力）をＹに出力する。ラッチ５４にはリセット入力が存在しないが、ＣＬＫ入力が"０"の期間にＱ出力は確定している。
【０１２８】
入力ＲＳＴが"０"の期間は、フリップ・フロップ５２１、５２２、５２３はリセット解除状態で、マルチプレクサ５５のＤ０入力の値（ＧＣＫ信号）をＹに出力する。リセット解除後、図１２のＡの時刻にフリップ・フロップ５２１のＤ入力が入力ＣＫの立ち上がりエッジで入力ＥＮの反転信号を取り込みＱからＣａｐＥｎ１として出力する。
【０１２９】
図１２のＢの時刻にフリップ・フロップ５２２のＤ入力はＣＫの立ち上がりエッジでＣａｐＥｎ１を取り込みＱから出力する。図１２のＣの時刻にフリップ・フロップ５２３のＤ入力はＣＫの立ち上がりエッジでＣａｐＥｎ２を取り込みＱから出力する。フリップ・フロップ５２３のＱ出力はインバータ５１２で反転されてＮＥＸＴＥＮとして出力する。
【０１３０】
また、出力ＮＥＸＴＥＮはＡＮＤ回路５３１でＡＮＤ演算した結果を図１２のＣの時刻にラッチ５４のＤ入力に取り込みＱからＣｌｋＥｎＤｌｙとして出力し、ＡＮＤ回路５３２のＡに入力しＣＫのマスク制御を行い、図１２のＡの時刻から最初の３クロック分のパルスのみを有効にしてマルチプレクサ５５のＤ０入力を通りＴＣＫＯとして出力する。
【０１３１】
よって、実施の形態１のクロック制御回路の場合、リセット解除後の２パルスのみを有効にして供給していたが、本実施の形態５では、図１２のタイミングチャートに示すように、クロック制御回路を３ビットのシフトレジスタ構成にすることで、３クロック分のパルスを供給することができる。よって、図１１の回路構成においてカウンタ（シフトレジスタ）５２をｎ個のフリップ・フロップ（ｎビットのカウンタ（シフトレジスタ））で構成すると、ｎクロック分のクロックを、スキャン回路のクロックドメインに供給することができる。
【０１３２】
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【図面の簡単な説明】
【０１３３】
【図１】実施形態１にかかる半導体集積回路のテスト回路の構成の一例
【図２】実施形態１にかかるクロック制御回路の構成の一例
【図３】実施形態１にかかる半導体集積回路のテスト回路のタイミングチャートの一例
【図４】実施形態１にかかるクロック制御回路のタイミングチャートの一例
【図５】実施形態２にかかる半導体集積回路のテスト回路の構成の一例
【図６】実施形態２にかかる半導体集積回路のテスト回路のタイミングチャートの一例
【図７】実施形態３にかかる半導体集積回路のテスト回路の構成の一例
【図８】実施形態３にかかる半導体集積回路のテスト回路のタイミングチャートの一例
【図９】実施形態４にかかる半導体集積回路のテスト回路の構成の一例
【図１０】ＩＥＥＥ Ｓｔｄ １１４９．１（ＪＴＡＧ）で規定された状態遷移図
【図１１】実施形態５にかかるクロック制御回路の構成の一例
【図１２】実施形態５にかかるクロック制御回路のタイミングチャートの一例
【図１３】従来技術にかかる半導体集積回路のテスト回路の構成の一例
【図１４】従来技術にかかるクロック生成回路の構成の一例
【図１５】従来技術にかかるテスト回路のタイミングチャートの一例
【符号の説明】
【０１３４】
２１１、２１２  各クロックドメインの組合せ回路
２５１１、２５１２、２５２１、２５２２  スキャン・フリップ・フロップ
２３１、２３２  クロック生成回路
２２１、２２２  クロック制御回路
２４１、２４２  マルチプレクサ
ＤａｔａＩｎ、ＳｃａｎＩｎ１、ＳｃａｎＩｎ２、ＳｃａｎＥｎａｂｌｅ、ＢｙｐａｓｓＣｌｏｃｋ、ＢｙｐａｓｓＭｏｄｅ  外部入力端子
ＤａｔａＯｕｔ、ＳｃａｎＯｕｔ１、ＳｃａｎＯｕｔ２  外部出力端子
【図１】
2008275480.tif 000003
【図２】
2008275480.tif 000004
【図３】
2008275480.tif 000005
【図４】
2008275480.tif 000006
【図５】
2008275480.tif 000007
【図６】
2008275480.tif 000008
【図７】
2008275480.tif 000009
【図８】
2008275480.tif 000010
【図９】
2008275480.tif 000011
【図１０】
2008275480.tif 000012
【図１１】
2008275480.tif 000013
【図１２】
2008275480.tif 000014
【図１３】
2008275480.tif 000015
【図１４】
2008275480.tif 000016
【図１５】
2008275480.tif 000017