(57)【要約】  本発明では、クロックの動作マージンに関して不良・故障を検出することができるクロック調整回路と該クロック調整回路を備えた半導体集積回路装置を提供する。クロック調整回路は、クロック信号を入力し、制御信号に基づき、前記クロック信号の立ち上がりエッジと立ち下がりエッジの各タイミング位相を、可変にシフトさせる位相シフタ（１５１）と、前記制御信号を各エッジが出力される前に前記位相シフタ回路に供給する制御回路（１５２）と、を備え、任意のクロックサイクル数にわたって、入力クロック信号の周期、デユーティ比、ジッタ、スキュー・遅延のうち少なくとも１つを可変させたクロック信号を出力する。
2008032701.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を入力し、制御信号に基づき、クロックパルスの立ち上がりのエッジと立ち下がりエッジの両方又は一方のタイミング位相を可変にシフトさせて出力する位相シフタ回路と、
前記位相シフタ回路から出力されるクロック信号の遷移エッジよりも前のタイミングで前記制御信号を、前記位相シフタ回路に供給する制御回路と、
を備え、クロック周期、デューティ比、ジッタ、スキューのうち少なくとも１つのパラメータを、クロックサイクル単位に可変させたクロック信号が出力可能とされてなる、ことを特徴とするクロック調整回路。
【請求項２】
前記位相シフタ回路が、
入力クロック信号を共通に受ける第１及び第２の位相シフタと、
前記第１及び第２の位相シフタの出力を受け、選択制御信号に基づき一方を選択出力するセレクタと、
を備え、
前記制御回路は、前記第１及び第２の位相シフタに第１及び第２の制御信号を供給し、
前記第１及び第２の位相シフタは、クロック信号の立ち上がりエッジとクロック信号の立ち下がりエッジの位相をそれぞれ可変にシフトし、
前記セレクタからは、クロック信号の立ち上がりエッジとして、前記第１の位相シフタの出力を選択し、クロック信号の立ち下がりエッジとして、前記第２の位相シフタの出力を選択する、ことを特徴とする請求項１に記載のクロック調整回路。
【請求項３】
前記選択制御信号に、前記セレクタの出力信号から生成される信号を用いる、ことを特徴とする請求項２に記載のクロック調整回路。
【請求項４】
前記位相シフタ回路が、前記入力クロックを共通に受ける１対の位相シフタと、前記１対の位相シフタの出力を受け、選択制御信号に基づき一方を選択出力するセレクタとを含む回路ユニットを複数備え、
前記制御回路は、前記複数の回路ユニットの各位相シフタに制御信号をそれぞれ供給し、
前記複数の回路ユニットのセレクタから多相クロックが出力される、ことを特徴とする請求項１に記載のクロック調整回路。
【請求項５】
前記複数の回路ユニットとして、少なくとも第１及び第２の回路ユニットを備え、
前記第１の回路ユニットのセレクタは、前記第２の回路ユニットのセレクタの出力を選択制御信号として入力し、
前記第２の回路ユニットセレクタは、前記第１の回路ユニットのセレクタの出力を選択制御信号として入力する、ことを特徴とする請求項４に記載のクロック調整回路。
【請求項６】
前記位相シフタ回路が、多相クロック信号を入力し１の相のクロック信号を選択して出力する第１のセレクタと、
前記多相クロック信号を入力し前記１の相のクロック信号と別の相のクロック信号を選択して出力する第２のセレクタと、
前記第１及び第２のセレクタで選択されたクロック信号を入力し、前記入力した２つのクロック信号の位相差を制御信号に基づき補完したクロック信号を生成する位相補完回路と、
前記制御回路からの制御信号に基づき、前記位相補完回路で供給する制御信号と、前記第１及び第２のセレクタの選択を制御する信号と、を生成する論理回路と、
を備えている、ことを特徴とする請求項１に記載のクロック調整回路。
【請求項７】
前記制御回路が、クロック周期を規定する制御コードを入力する加算器と、
前記加算器の出力を保持するレジスタと、
を備え、前記レジスタの出力は前記加算器に入力されるとともに、前記位相シフタ回路へ供給される、ことを特徴とする請求項１に記載のクロック調整回路。
【請求項８】
前記制御回路が、クロック周期を規定する制御コードを入力する第１の加算器と、
前記第１の加算器の出力を保持するレジスタと、
を備え、前記レジスタの出力は第１の加算器に入力され、
前記制御コードの１／２と前記レジスタの出力を加算する第２の加算器と、
を備え、
前記レジスタの出力は前記第１の位相シフタ回路へ供給され、
前記第２の加算器の出力は前記第２の位相シフタ回路へ供給される、ことを特徴とする請求項２に記載のクロック調整回路。
【請求項９】
前記制御回路が、クロック周期を規定する制御コードを入力する第１の加算器と、
前記第１の加算器の出力を保持するレジスタと、
を備え、前記レジスタの出力は、前記第１の加算器に入力され、
前記制御コードの１／２と前記レジスタの出力を加算する第２の加算器と、
を備え、
前記レジスタの出力と第２の加算器の出力は、前記第１の回路ユニットの１対の位相シフタ回路へ供給され、
前記制御コードの１／４と前記レジスタの出力を加算する第３の加算器と、
前記クロック周期を規定する制御コードを１／２と前記第３の加算器の出力を加算する第４の加算器と、
を備え、
前記第３及び第４の加算器の出力は、前記第２の回路ユニットの一対の位相シフタ回路へ供給される、ことを特徴とする請求項５に記載のクロック調整回路。
【請求項１０】
前記レジスタの出力と第２の加算器の出力に対して、クロック位相、スキュー、デューティのいずれか１つの制御コードを加算する１対の加算器を備え、
前記第３及び第４の加算器の出力は、クロック位相、スキュー、デューティのいずれか１つの制御コードを加算する１対の加算器を備えている、ことを特徴とする請求項５に記載のクロック調整回路。
【請求項１１】
前記制御回路が、クロック信号をカウントするカウンタと、
前記カウンタのカウント値を入力しアドレス信号を生成するデコーダと、
前記デコーダから出力されるアドレス信号のデータを読み出し前記制御信号として出力するメモリと、
を備えている、ことを特徴とする請求項１に記載のクロック調整回路。
【請求項１２】
前記制御回路が、クロック信号を受けてシフト動作し、シフト結果を前記制御信号として出力するシフトレジスタを備えている、ことを特徴とする請求項１に記載のクロック調整回路。
【請求項１３】
前記制御回路のクロック信号として前記位相シフタ回路の出力クロックを用いる、ことを特徴とする請求項１乃至１２のいずれか一に記載のクロック調整回路。
【請求項１４】
請求項１乃至１３のいずれか一に記載の前記クロック調整回路と、
前記クロック調整回路の出力クロックをバッファを介して受ける回路と、
を備え、前記クロック調整回路の出力クロックをバッファを介して受ける回路に入力されるクロック信号と参照クロックとの位相を比較し比較結果を前記制御回路に供給する位相比較器と、
を備えた半導体集積回路装置。
【請求項１５】
ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路と、
請求項１乃至１３のいずれか一に記載の前記クロック調整回路と、
クロック信号を分配するバッファ回路と、
前記バッファ回路からクロックを受ける回路に供給されるクロック信号と、前記ＰＬＬ回路の入力クロック信号との位相を比較し比較結果を前記制御回路に供給する位相比較器と、
を備えた半導体集積回路装置。
【請求項１６】
任意のサイクルのクロック周期を可変させる；
任意のサイクルのクロック信号のジッタ振幅、及び／又は、ジッタ周波数を可変させる；
任意のサイクルのクロック信号の周波数、及び／又は、デューティ比を可変させる；
テスト対象のクロックドメインのクロックの位相を、他のクロックドメイン又は外部クロックに対して遅らせるか又は進ませる；
任意のサイクルのクロック信号の位相、及び／又は、クロック信号のデューティ比を可変させる；
のうちの少なくとも１つを実行しエラーの有無を判定することで、タイミング動作のマージン試験を行う、ことを特徴とする請求項１４又は１５に記載の半導体集積回路装置。
【請求項１７】
クロック信号を入力し、制御信号に基づき、クロックパルスの両エッジ又は一方のエッジのタイミング位相を可変させたクロック信号を生成する手段と、前記制御信号を生成する手段とを備え、
前記クロックパルスのエッジのタイミング位相はクロックサイクル単位に可変自在とされ、半導体集積回路装置内のクロック供給先の回路に、クロック周期、デューティ比、ジッタ、クロックドメイン間のスキューのうちの少なくとも１つのパラメータを可変に調整したクロック信号を供給するクロック調整回路を備えた、ことを特徴とする半導体集積回路装置。
【請求項１８】
自己テストにより、クロック周期、デューティ比、ジッタ、クロックドメイン間のスキューのうちの少なくとも１つのパラメータを可変させて、タイミング動作のマージンの評価を行い、動作マージンが予め定められた規定値に満たない場合に、警告を出力するか、又は動作を停止する制御を行う、ことを特徴とする請求項１７記載の半導体集積回路装置。
【請求項１９】
連続する任意のサイクル数又は無限のサイクル数のクロック信号に対して、
クロック周期、
デューティ比、
遅延、
の少なくとも１つを、入力クロック信号の値とは異なった値に調整可能なクロック調整回路を備え、
前記クロック調整回路は、
クロック入力端子と、
クロック出力端子と、
制御入力端子と、
前記クロック入力端子に入力されるクロック信号と前記クロック出力端子から出力されるクロック信号の間の遅延を、制御信号入力端子より入力されるデジタル信号の値に基づいて調整する位相シフタ回路と、
制御回路と、
を有し、
前記位相シフタ回路は、
クロック入力端子と、
クロック出力端子と、
制御入力端子と、
セレクタ又は位相補完回路の少なくとも一方を有し、前記クロック入力端子より入力されるクロックと、前記クロック出力端子から出力されるクロック信号の間の遅延を、前記制御信号入力端子より入力されるデジタル信号の値に基づいて調整する手段と、
を有し、
前記位相シフタ回路で調整されるクロック信号の遅延は、Ｎ（ただし、Ｎは所定の正整数）段階で調整され、１段階あたりの遅延の変化量は、クロック周期の１／Ｎであり、前記遅延はシフト可能であり、
前記制御回路は、
制御入力端子と、
制御出力端子と、
を有し、
前記制御回路の制御出力端子は、前記位相シフタ回路の制御入力端子に接続され、
前記制御回路の制御入力端子は、前記クロック調整回路の制御信号入力端子に接続され、
前記クロック調整回路のクロック入力端子は、前記位相シフタ回路のクロック入力端子に接続され、
前記クロック調整回路のクロック出力端子は、前記位相シフタ回路のクロック出力端子に接続され、
前記クロック調整回路のクロック入力端子は、外部からのクロック入力端子又は半導体集積回路内部のクロック信号発生回路の出力端子に接続され、
前記クロック調整回路のクロック出力端子は、前記半導体集積回路内部の論理回路、メモリ回路、及び入出力回路の少なくとも１つに接続される、ことを特徴とする半導体集積回路装置。
【請求項２０】
請求項１７又は１９に記載の半導体集積回路装置において、
前記クロック調整回路が、クロック周期、デューティ比、遅延を、１クロックサイクル毎に任意に調整可能である、ことを特徴とする半導体集積回路装置。
【請求項２１】
請求項１７又は１９に記載の半導体集積回路装置において、
前記クロック調整回路が、クロック周期、デューティ比、遅延を、１０ｐｓ以下の単位で調整可能である、ことを特徴とする半導体集積回路装置。
【請求項２２】
請求項１７又は１９に記載の半導体集積回路装置において、
前記クロック調整回路が、クロック周期、デューティ比、遅延を調整するステップが、クロック周期の１／２Ｎ（ただしＮは所定の正整数）である、ことを特徴とする半導体集積回路装置。
【請求項２３】
請求項１７又は１９に記載の半導体集積回路装置の動作テストにおいて、
前記クロック調整回路が、連続する任意のサイクル数のクロック信号の周期を縮ませる、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項２４】
請求項２３に記載の半導体集積回路装置のテスト方法において、
クロック信号の周期を、徐々に短くしながら又は徐々に長くしながら、前記半導体集積回路装置の動作不良の有無を検出し、クロック周期に対する動作マージンを検出する、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項２５】
請求項１７又は１９に記載の半導体集積回路装置の動作テストにおいて、
前記クロック調整回路が、連続する任意のサイクル数のクロック信号にジッタを与える、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項２６】
請求項２５に記載の半導体集積回路装置のテスト方法において、
ジッタの振幅を増大させながら又は減少させながら、前記半導体集積回路装置の動作不良の有無を検出し、クロックジッタに対する動作マージンを検出する、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項２７】
請求項２５に記載の半導体集積回路装置のテスト方法において、
ジッタの周波数を増大させながら又は減少させながら、前記半導体集積回路装置の動作不良の有無を検出し、クロックジッタの周波数に対する動作マージンを検出する、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項２８】
請求項１７又は１９に記載の半導体集積回路装置の動作テストにおいて、
前記クロック調整回路が、連続する任意のサイクル数のクロック信号のデューティ比を伸ばすか、又は、縮ませる、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項２９】
請求項２８に記載の半導体集積回路装置のテスト方法において、
クロック信号のデューティ歪みを、徐々に、大きくしながら又は小さくしながら、前記半導体集積回路装置の動作不良の有無を検出し、
クロック信号のデューティ歪みに対する動作マージンを検出する、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項３０】
請求項１７又は１９に記載の半導体集積回路装置の動作テストにおいて、
前記クロック調整回路が、前記半導体集積回路装置内部のクロック信号の位相を、前記半導体集積回路装置外部から与えられる参照クロック信号の位相に対して、遅らせるか又は進める、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項３１】
請求項１７又は１９に記載の半導体集積回路装置の動作テストにおいて、
前記半導体集積回路装置が内部に複数のクロックドメインを有し、
前記クロック調整回路が、前記半導体集積回路装置内部のあるクロックドメインのクロック信号の位相を、前記半導体集積回路装置内部の他のクロックドメインのクロック信号の位相に対して、遅らせるか又は進める、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項３２】
請求項３０又は３１に記載の半導体集積回路装置のテスト方法において、
クロック信号の位相の遅らせる量又は進ませる量を、徐々に、大きくしながら又は小さくしながら、前記半導体集積回路装置の動作不良の有無を検出し、クロック信号のスキューに対する動作マージンを検出する、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項３３】
請求項１７又は１９に記載の半導体集積回路装置の動作テストにおいて、
前記クロック調整回路が、連続する任意のサイクル数のクロック信号の周期を伸ばすか又は縮ませるとともに、デューティ歪みの量を、大きくしながら又は小さくしながら、前記半導体集積回路装置の動作不良の有無を検出し、
クロック信号の周期に対する動作マージンと、デューティ歪みに対する動作マージンの関係を検出する、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項３４】
請求項１７又は１９に記載の半導体集積回路装置の動作テストにおいて、
前記クロック調整回路が、連続する任意のサイクル数のクロック信号の、デューティ歪みの量を大きく又は小さくするとともに、クロック信号の位相を進ませるか又は遅らせながら、前記半導体集積回路装置の動作不良の有無を検出し、
クロック信号のデューティ歪みに対する動作マージンと、スキューに対する動作マージンの関係を検出する、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項３５】
請求項１７又は１９に記載の半導体集積回路装置において、
前記半導体集積回路装置が出荷された後に、請求項２３乃至３４のいずれか一に記載のテストを、前記半導体集積回路装置が搭載する前記クロック調整回路を用いて自律的に行い、
前記半導体集積回路装置の動作マージンの自己テストを行う、ことを特徴とする半導体集積回路装置。
【請求項３６】
請求項３５に記載の半導体集積回路装置において、
前記自己テストの結果に応じて、動作マージン減少の警告を発する手段を有する、ことを特徴とする半導体集積回路装置。
【請求項３７】
請求項３５に記載の半導体集積回路装置において、
前記自己テストの結果に応じて、システムを停止させる手段を有する半導体集積回路装置。
【請求項３８】
請求項１７又は１９に記載の半導体集積回路装置において、
前記クロック調整回路が、ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路と接続され、
前記ＢＩＳＴ回路によってクロック信号の、周期、デューティ比、スキューの少なくとも１つを調整しながら、自己テストを行う、ことを特徴とする半導体集積回路装置。
【請求項３９】
請求項１７又は１９に記載の半導体集積回路装置において、
前記クロック調整回路を用いて前記半導体集積回路装置の動作クロック周波数を静的又は動的に調整する、ことを特徴とする半導体集積回路装置。
【請求項４０】
請求項１７又は１９に記載の半導体集積回路装置において、
前記クロック調整回路を用いて前記半導体集積回路装置の動作クロックのデューティ比を調整する、ことを特徴とする半導体集積回路装置。
【請求項４１】
請求項４０に記載の半導体集積回路装置において、
請求項２８、２９、３３、３４のいずれか一に記載のテスト結果に基づいて、動作マージンが大きくなるようにクロック信号のデューティ比を調整する、ことを特徴とする半導体集積回路装置。
【請求項４２】
請求項１７又は１９に記載の半導体集積回路装置において、
前記クロック調整回路を用いて、前記半導体集積回路装置内部の２つの異なるクロックドメインのそれぞれのクロック信号の間の位相差又は参照クロック信号と前記半導体集積回路装置内部のクロック信号の位相差を調整する、ことを特徴とする半導体集積回路装置。
【請求項４３】
請求項４２に記載の半導体集積回路装置において、
請求項３０、３１、３２、３４のいずれか一に記載のテスト結果に基づいて、動作マージンが大きくなるようにクロック信号の位相差を調整する、ことを特徴とする半導体集積回路装置。
【請求項４４】
半導体集積回路装置に搭載されるクロック調整回路であって、
位相シフタ回路と、
制御回路と、
を備え、
前記位相シフタ回路は、
クロック入力端子と、
クロック出力端子と、
制御入力端子と、
を備え、
前記位相シフタ回路のクロック出力端子は、前記位相シフタ回路のクロック入力端子から与えられるクロック信号の位相をシフトさせたクロック信号を出力し、
前記位相シフタ回路のクロック入力端子より入力されるクロック信号と、前記位相シフタ回路の出力端子から出力されるクロック信号との位相差は、前記位相シフタ回路の制御入力端子から与えられるデジタル信号の値に基づいて決定され、
前記位相差は、Ｎ段階（Ｎは整数）で調整され、
前記位相差の調整ステップは、３６０／Ｎ度であり、
前記位相シフタ回路の制御入力端子が、前記制御回路に接続される、ことを特徴とするクロック調整回路。
【請求項４５】
請求項１９に記載の半導体集積回路装置において、
前記クロック調整回路が、
第１の位相シフタ回路と、
第２の位相シフタ回路と、
２入力セレクタ回路と、
制御回路と、
を備え、
前記第１及び第２の位相シフタ回路は、各々が、
クロック入力端子と、
クロック出力端子と、
制御入力端子と、
を備え、
前記位相シフタ回路のクロック出力端子は、前記位相シフタ回路のクロック入力端子から与えられるクロック信号の位相をシフトさせたクロック信号を出力し、
前記位相シフタ回路のクロック入力端子より入力されるクロック信号と、前記位相シフタ回路の出力端子から出力されるクロック信号との位相差は、前記位相シフタ回路の制御入力端子から与えられるデジタル信号の値に基づいて決定され、
前記位相差は、Ｎ段階（Ｎは整数）で調整され、
前記位相差の調整ステップは、３６０／Ｎ度であり、
前記位相シフタ回路の制御入力端子が、前記制御回路に接続され、
前記２入力セレクタ回路は、
第１のクロック信号入力端子と、
第２のクロック信号入力端子と、
出力端子と、
選択信号入力端子と、
を備え、
前記選択信号入力端子から与えられる値によって、前記第１又は第２のクロック信号入力端子から与えられる信号のいずれかが選択され、選択された信号が出力端子から出力され、
前記制御回路が、
第１の出力端子と、
第２の出力端子と、
を有し、
前記第１及び第２の位相シフタ回路のクロック入力端子に、入力クロック信号が接続され、
前記第１及び第２の位相シフタ回路のクロック出力端子が、それぞれ前記２入力セレクタ回路の第１及び第２のクロック信号入力端子に接続され、
前記第１及び第２の位相シフタ回路の制御入力端子がそれぞれ、前記制御回路の第１及び第２の出力端子と接続され、前記２入力セレクタの出力端子からクロック信号が出力される、ことを特徴とするクロック調整回路。
【請求項４６】
請求項４５に記載のクロック調整回路において、
さらに遅延素子を有し、
前記遅延素子は、
入力端子と、
出力端子と、
を有し、
前記２入力セレクタ回路の出力端子が、前記遅延素子の入力端子に接続され、
前記遅延素子の出力端子が、前記２入力セレクタ回路の選択信号入力端子に接続される、ことを特徴とするクロック調整回路。
【請求項４７】
請求項１９に記載の半導体集積回路装置において、
前記クロック調整回路が、
第１の位相シフタ回路と、
第２の位相シフタ回路と、
第３の位相シフタ回路と、
第４の位相シフタ回路と、
第１の２入力セレクタ回路と、
第２の２入力セレクタ回路と、
制御回路と、
を備え、
前記第１、第２、第３、及び第４の位相シフタ回路は、各々が、クロック入力端子と、クロック出力端子と、制御入力端子を備え、
前記第１及び第２の２入力セレクタ回路は、各々が、
第１のクロック信号入力端子と、
第２のクロック信号入力端子と、
出力端子と、
選択信号入力端子と、
を備え、
前記選択信号入力端子から与えられる値によって、前記第１又は第２のクロック信号入力端子から与えられる信号のいずれかが選択され、選択された信号が出力端子から出力され、
前記制御回路が、第１、第２、第３、第４の出力端子を有し、
前記第１、第２、第３、及び第４の位相シフタ回路のクロック入力端子に、入力クロック信号が接続され、
前記第１及び第２の位相シフタ回路のクロック出力端子が、それぞれ、前記第１の２入力セレクタ回路の第１及び第２のクロック信号入力端子に接続され、
前記第３及び第４の位相シフタ回路のクロック出力端子が、それぞれ、前記第２の２入力セレクタ回路の第１及び第２のクロック信号入力端子に接続され、
前記第１、第２、第３、及び第４の位相シフタ回路の制御入力端子が、それぞれ、前記制御回路の第１、第２、第３、及び第４の出力端子と接続され、
前記第１の２入力セレクタの出力端子と、前記第２の２入力セレクタの出力端子から、２つのクロック信号がそれぞれ出力される、ことを特徴とするクロック調整回路。
【請求項４８】
請求項４７に記載のクロック調整回路において、
前記第１の２入力セレクタ回路から出力されるクロック信号の位相と、前記第２の２入力セレクタ回路から出力されるクロック信号の位相が異なる、ことを特徴とするクロック調整回路。
【請求項４９】
請求項４７に記載のクロック調整回路において、
前記第１の２入力セレクタの出力端子が、前記第２の入力セレクタの選択信号入力端子に接続され、
前記第２の２入力セレクタの出力端子が、前記第１の２入力セレクタの選択信号入力端子に接続される、ことを特徴とするクロック調整回路。
【請求項５０】
請求項４４乃至４９のいずれか一に記載のクロック調整回路において、
前記位相シフタ回路が、入力される２つのクロック信号の位相を補完した位相の出力信号を出力する位相補完回路を有する、ことを特徴とするクロック調整回路。
【請求項５１】
請求項４４乃至４９のいずれか一に記載のクロック調整回路において、位相シフタ回路が、Ｎ個のクロック入力端子と、１つのクロック出力端子と、複数の制御入力端子と、２つのＮ入力のセレクタ回路と、位相補完回路、を有し、
前記位相補完回路は、２つのクロック入力端子と、１つのクロック出力端子と、制御入力端子を有し、
Ｎ入力セレクタはＮ個のクロック入力端子と、１つの出力端子と、複数の選択信号入力端子を有し、
２つのＮ入力セレクタ回路のＮ個の入力には共に、位相シフタ回路のＮ個のクロック入力端子に接続され、
２つのＮ入力セレクタ回路の出力端子は、それぞれ位相補完回路の２つのクロック入力端子に接続され、
位相補完回路の制御入力端子と、２つのＮ入力セレクタ回路の選択信号入力端子は、論理回路又はステートマシン回路を介して、前記位相シフタ回路の制御入力端子に接続され、前記位相補完回路のクロック出力端子は、前記位相シフタ回路のクロック出力端子に接続される、ことを特徴とするクロック調整回路。
【請求項５２】
請求項５１に記載のクロック調整回路において、位相シフタ回路のＮ個のクロック入力端子に入力されるクロック信号が、Ｎ相のクロック信号である、ことを特徴とするクロック調整回路。
【請求項５３】
請求項４４乃至４６のいずれか一に記載のクロック調整回路において、前記制御回路がクロック入力端子を備え、
前記２入力セレクタ回路の出力端子が、前記制御回路のクロック入力に接続される、ことを特徴とするクロック調整回路。
【請求項５４】
請求項４７乃至４９のいずれか一に記載のクロック調整回路において、前記制御回路が２つのクロック入力端子を備え、
前記第１と第２の２入力セレクタ回路の出力端子がそれぞれ、前記制御回路の２つのクロック入力に接続される、ことを特徴とするクロック調整回路。
【請求項５５】
請求項４４乃至５４のいずれか一に記載のクロック調整回路において、
前記制御回路が、Ｎビットの加算器を１つ以上有しており、
前記加算器の出力端子が、前記制御回路の出力端子を経由して、前記位相シフタの制御入力端子に接続されている、ことを特徴とするクロック調整回路。
【請求項５６】
請求項５５に記載のクロック調整回路の制御回路において、
前記加算器が、Ｎビットの第１の入力端子と、Ｎビットの第２の入力端子と、Ｎビット又はＮ＋１ビットの出力端子を有し、
少なくとも１つの加算器で、出力端子のＮビットが、第１の入力端子又は第２の入力端子のＮビットに、レジスタを介して接続される、ことを特徴とするクロック調整回路。
【請求項５７】
請求項５５に記載のクロック調整回路の制御回路において、
第１の加算器と、
第２の加算器と、
を有し、
前記第１と第２の加算器は、Ｎビットの第１の入力端子と、Ｎビットの第２の入力端子と、Ｎビット又はＮ＋１ビットの出力端子を有し、
前記第１の加算器の第１の入力端子に、クロック周期制御信号が接続され、
前記第１の加算器の出力端子が、前記第１の加算器の第２の入力端子に、レジスタを介して接続され、
前記第１の加算器の出力端子がさらに、前記第２の加算器の第２の入力端子にも接続され、
前記第２の加算器の第１の入力端子には、前記クロック周期制御信号の半分の値、又は前記クロック制御信号を１ビットシフトさせた値が入力され、
前記第１の加算器と前記第２の加算器の出力端子はさらにそれぞれ、前記制御回路の出力端子を経由して、前記第１及び第２の位相シフタの制御入力端子に接続される、ことを特徴とするクロック調整回路。
【請求項５８】
請求項５７に記載のクロック調整回路の制御回路において、
第３の加算器と、
第４の加算器と、
をさらに有し、
前記第３と第４の加算器は、Ｎビットの第１の入力端子と、Ｎビットの第２の入力端子と、Ｎビット又はＮ＋１ビットの出力端子を有し、
前記第１の加算器の出力端子がさらに、前記第３の加算器の第２の入力端子にも接続され、
前記第３の加算器の第１の入力端子には、前記クロック周期制御信号の４分の１の値、
又は前記クロック制御信号を２ビットシフトさせた値が入力され、
前記第３の加算器の出力端子が、前記第４の加算器の第２の入力端子に接続され、
前記第４の加算器の第１の入力端子には、前記クロック周期制御信号の半分の値、又は前記クロック制御信号を１ビットシフトさせた値が入力され、
前記第１乃至第４の加算器の出力端子は、それぞれ、前記制御回路の出力端子を経由して、前記第１乃至第４の位相シフタの制御入力端子に接続される、ことを特徴とするクロック調整回路。
【請求項５９】
請求項４４乃至５４のいずれか一に記載のクロック調整回路において、
前記制御回路が、
メモリ回路と、
カウンタ回路と、
を備え、
前記メモリ回路は、
アドレス入力端子と、
データ出力端子と、
複数のメモリセルと、
を有し、前記各メモリセルはデータを保持する機能を有し、
前記アドレス入力端子に入力された値に基づいて対応する１つのメモリセルに格納されているデータは、前記データ出力端子から出力され、
前記カウンタ回路は、出力端子を備え、１又は複数のクロックサイクル毎に出力値を増減させる機能を備え、前記カウンタ回路の出力端子は、前記メモリ回路のアドレス入力端子に接続され、前記メモリ回路のデータ出力端子が、前記クロック調整回路の前記位相シフタ回路の制御入力端子に接続されている、ことを特徴とするクロック調整回路。
【請求項６０】
請求項４４乃至５４のいずれか一に記載のクロック調整回路において、
前記制御回路が、複数のレジスタ回路を含むシフトレジスタ回路を備え、
前記シフトレジスタ内部の複数のレジスタ回路は、
データ入力端子と、
データ出力端子と、
を有し、
前記シフトレジスタ内部の複数のレジスタ回路は、データ出力端子が別のレジスタ回路のデータ入力端子と接続される形で、数珠繋ぎに接続されており、
クロック信号によって前記レジスタが記憶しているデータが隣の前記レジスタに転送される機能を有し、
前記シフトレジスタ回路内部の何れかのレジスタのデータ出力端子が、前記位相シフタ回路の制御入力端子に接続されている、ことを特徴とするクロック調整回路。
【請求項６１】
請求項４４乃至５５のいずれか一に記載のクロック調整回路において、
前記制御回路が乱数発生回路を有している、ことを特徴とするクロック調整回路。
【請求項６２】
請求項５７乃至６１のいずれか一に記載のクロック調整回路において、
前記制御回路が、１つ又は複数の加算器をさらに有し、
前記各加算器は、
第１の入力端子と、
第２の入力端子と、
出力端子と、
を有し、
前記各加算器の第１の入力端子は前記クロック調整回路の制御信号の出力端子に接続され、
前記各加算器の第２の入力端子は、制御回路の外部からの信号に接続され、
前記各加算器の出力端子はそれぞれ前記位相シフタ回路の制御入力端子に接続され、
前記加算器により、制御信号に一定の値を加算し、加算結果が、前記位相シフタ回路に供給される、ことを特徴とするクロック調整回路。
【請求項６３】
請求項４４乃至６２のいずれか一に記載のクロック調整回路において、さらに位相比較器を有し、
前記位相比較器は、
第１の入力端子と、
第２の入力端子と、
出力端子を有し、
前記第１の入力端子より入力されるクロック信号の位相と、前記第２の入力端子より入力されるクロック信号の位相を比較し、いずれのクロックの位相が進んでいるか又は遅れているかの比較結果を、前記出力端子から出力する機能を有し、
前記位相比較器の第１の入力端子は、前記クロック調整回路から出力されるクロック信号に接続され、
前記位相比較器の第２の入力端子は、参照クロック端子又は、前記クロック調整回路とは接続されていない他の回路のクロック信号端子に接続されており、
前記位相比較器の出力端子が、前記クロック調整回路の制御回路の入力端子に接続されている、ことを特徴とするクロック調整回路。
【請求項６４】
連続する任意のサイクル数又は無限のサイクル数の入力クロック信号に対して、前記入力クロック信号のクロック周期、デューティ比、遅延の少なくとも一つ又はこれらの複数を、異なる値に変化させるクロック調整回路を有する半導体装置であって、
前記クロック調整回路は、
位相シフタ回路と、
制御回路と、
を有し、
前記位相シフタ回路は、前記制御回路から与えられる制御信号に従って、入力クロックと出力クロックの間の位相差を調整する、ことを特徴とする半導体装置。
【請求項６５】
前記位相シフタ回路は、入力クロックと出力クロックの間の位相差をＮ段階（Ｎは整数）で調整する、ことを特徴とする請求項６４に記載の半導体装置。
【請求項６６】
前記位相シフタ回路は、クロック入力端子と、クロック出力端子と、制御入力端子を有し、前記クロック入力端子より入力されるクロック信号と、前記クロック出力端子から出力されるクロック信号の間の遅延を、制御信号入力端子より入力されるデジタル信号の値に基づいて調整し、
前記位相シフタ回路で調整されるクロック信号の遅延は、Ｎ（Ｎは整数）段階で調整され、１段階あたりの遅延の変化量は、クロック周期の１／Ｎであり、前記遅延は無制限にシフト可能であり、
前記位相シフタ回路は、セレクタ回路又は位相補完回路の少なくともどちらか１つを有する、ことを特徴とする請求項６４に記載の半導体装置。
【請求項６７】
半導体装置のテスト方法において、
前記半導体装置へ入力するクロック信号と前記半導体装置から出力するクロック信号との位相差をＮ段階で調整するテスト用クロック信号を生成し、
前記テスト用クロック信号の、クロック周期、ジッタ周波数、ジッタ振幅、デューティ、遅延の少なくとも一つ又は複数を調整する、ことを特徴とする半導体装置のテスト方法。
【請求項６８】
請求項１乃至１３、請求項４４乃至６３のいずれか一に記載のクロック調整回路と、
前記クロック調整回路から供給されるクロック信号で動作する回路と、
半導体集積回路内の所定の信号の波形を観測するオンチップ波形観測回路と、
を備えている、ことを特徴とする半導体集積回路装置。
【請求項６９】
前記オンチップ波形観測回路は、前記クロック調整回路から供給されるクロック信号で動作する回路の電源電圧及び／又は接地電圧の変動を観測する、ことを特徴とする請求項６８記載の半導体集積回路装置。
【請求項７０】
前記オンチップ波形観測回路は、前記クロック調整回路から供給されるクロック信号で動作する回路の入力信号、出力信号、入出力信号、前記回路の内部信号の少なくとも１つの変動を観測する、ことを特徴とする請求項６８記載の半導体集積回路装置。
【請求項７１】
前記クロック調整回路から供給されるクロック信号で動作する回路の特性変動を予測するためのレプリカ回路を有し、
前記オンチップ波形観測回路は、前記レプリカ回路の入力信号、出力信号、入出力信号、前記レプリカ回路の内部信号の少なくとも１つの変動を観測する、ことを特徴とする請求項６８記載の半導体集積回路装置。
【請求項７２】
請求項１乃至１３、請求項４４乃至６３のいずれか一に記載のクロック調整回路と、
前記クロック調整回路から供給されるクロック信号で動作する回路と、
半導体集積回路の温度を測定するオンチップ温度測定回路と、
を備えている、ことを特徴とする半導体集積回路装置。
【請求項７３】
請求項１乃至１３、請求項４４乃至６３のいずれか一に記載のクロック調整回路と、
前記クロック調整回路から供給されるクロック信号で動作する回路と、
前記クロック調整回路から供給されるクロック信号で動作する回路の特性変動を予測するためのレプリカ回路と、
を備えている、ことを特徴とする半導体集積回路装置。
【請求項７４】
前記制御回路は、前記オンチップ波形観測回路での観測結果に基づき、前記制御信号を生成し、前記クロック調整回路から出力されるクロック信号の波形を可変制御する、ことを特徴とする請求項６８乃至７１のいずれか一記載の半導体集積回路装置。
【請求項７５】
前記制御回路は、前記オンチップ温度測定回路での測定結果に基づき、前記制御信号を生成し、前記クロック調整回路から出力されるクロック信号の波形を可変制御する、請求項７２記載の半導体集積回路装置。
【請求項７６】
前記制御回路は、前記レプリカ回路の出力信号に基づき、前記制御信号を生成し、前記クロック調整回路から出力されるクロック信号の波形を可変制御する、請求項７３記載の半導体集積回路装置。
【請求項７７】
前記クロック調整回路から供給されるクロック信号で動作する回路の、誤動作を検出するためのエラー検出回路を有する、ことを特徴とする請求項６８乃至７５のいずれか一に記載の半導体集積回路装置。
【請求項７８】
クロック信号を生成し前記クロック調整回路に供給するクロック生成回路を備え、
前記制御回路は、前記クロック生成回路に対して制御信号を供給し前記クロック生成回路の特性を可変制御する、ことを特徴とする請求項７４乃至７６のいずれか一に記載の半導体集積回路装置。
【請求項７９】
前記クロック生成回路が位相ロックループ回路を含む、ことを特徴とする請求項７８記載の半導体集積回路装置。
【請求項８０】
前記クロック調整回路から出力されるクロック信号を受ける可変遅延回路を備え、
前記可変遅延回路から出力されるクロック信号が、前記クロック調整回路から供給されるクロック信号で動作する回路に供給され、
前記制御回路は、前記可変遅延回路に制御信号を供給し、前記可変遅延回路の遅延特性を可変制御する、ことを特徴とする請求項７４乃至７６のいずれか一に記載の半導体集積回路装置。
【請求項８１】
半導体集積回路装置内に配設された制御回路で生成された制御信号を受け、前記制御信号に応じて、半導体集積回路装置内の少なくとも一つのクロック供給先の回路に対して供給されるクロック信号に関して、前記クロック信号の周期、デューティ、ジッタ、スキューのうち少なくとも一つの特性をクロックサイクルベースで可変に調整する手段を含むクロック調整回路と、
を含み、
前記制御回路は、
前記半導体集積回路装置内の所定の電源端子の波形観測結果；
前記半導体集積回路装置内の所定の接地端子の波形観測結果；
前記クロック供給先の回路の信号波形の観測結果；
前記半導体集積回路装置内の温度測定結果；
前記クロック供給先の回路の特性変動を予測するために前記半導体集積回路装置内に設けられたレプリカ回路の出力；
前記クロック供給先の回路の出力に関するエラー検出結果；
の少なくとも一つに基づき、前記制御信号を生成する、半導体集積回路装置。
【請求項８２】
半導体集積回路装置内に配設された制御回路で生成された制御信号を受け、前記制御信号に応じて、半導体集積回路装置内の少なくとも一つのクロック供給先の回路に対して供給されるクロック信号に関して、前記クロック信号の周期、デューティ、ジッタ、スキューのうち少なくとも一つの特性をクロックサイクルベースで可変に調整する手段を含むクロック調整回路と、
前記半導体集積回路装置内の電源電圧の波形を観測する波形観測回路と、
を含み、
前記制御回路は、前記波形観測回路での電源電圧の波形観測結果に基づき、前記制御信号を生成して前記クロック調整回路を制御し、電源電圧の変動に対する前記クロック調整回路からのクロック信号の周波数変動の位相差、変動量を可変させ、
各位相差及びクロック周波数変動量に対して、前記クロック供給先の回路が正しく動作しているか否かを、前記半導体集積回路装置内又は外部のエラー検出回路で検出し、前記エラー検出回路でのパス／フェイル情報に基づき、電源電圧変動とクロック周波数変動間の位相差と動作マージンとの関係の取得自在としてなる、半導体集積回路装置。
【請求項８３】
クロック信号を生成し前記クロック調整回路に供給するクロック生成回路をさらに備え、
前記制御回路から、前記クロック調整回路のほか、前記クロック生成回路にも制御信号がそれぞれ供給され、前記クロック供給先へ供給されるクロック信号の特性が可変制御される、ことを特徴とする請求項８１記載の半導体集積回路装置。
【請求項８４】
前記クロック調整回路から出力されるクロック信号を受け、前記クロック供給先の回路にクロックを供給する可変遅延回路をさらに備え、
前記制御回路から、前記可変遅延回路にも、制御信号が供給され、前記クロック供給先へ供給されるクロックの特性が可変制御される、ことを特徴とする請求項８１又は８３記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の記載］
本発明は、日本国特許出願：特願２００６−２４７９８０号（平成１８年９月１３日出願）及び特願２００７−０２１１５９号（平成１９年１月３１日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、半導体集積回路の高信頼化技術と、それを実現するための回路に関し、特に半導体集積回路の動作マージンテスト技術と、該テストを実現するためのクロック信号生成技術に関する。
【背景技術】
【０００２】
従来の半導体集積回路の良品選別テストや動作マージンテストは、一般にＬＳＩテスタで行われる。しかし近年、ＬＳＩの大規模化、機能の複雑化に伴い、論理遅延のクリティカルパスのテストだけでは、故障や不良を検出できない場合が増えており、前述のテストを通過したＬＳＩが実機上で動作不良を起こす場合がある。【０００３】
そこで故障や不良の検出漏れを防ぐため、ＬＳＩを実機のプリント基板、または実機に見立てたテスト用のプリント基板に搭載して、システム全体を動かしてテストを行う手法が用いられる。【０００４】
ＬＳＩのテストでは、一般に、実際の動作条件よりも厳しい条件でテストを行い、ある程度の動作マージンがあるものが選別されて出荷される。しかし、前述のように、ＬＳＩをプリント基板に搭載してテストを行う場合には、ＬＳＩの動作周波数などを調整しながらマージンをテストすることができない。例えば、一般に、システム全体で動作テストを行う場合には、ＬＡＮ（Lｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｅｉａｌ  Ｂｕｓ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ビデオ信号などのインタフェースなども動作させる必要がある。【０００５】
このようなインタフェースは規格で動作周波数や許容されるデューティ比等が規定されているため、システム全体での動作を行うためには、システムの基準クロックの周波数を変えることが出来ない。【０００６】
また、ＬＳＩ外部からＬＳＩに供給されるリファレンスクロックは、一般に、水晶発振器から供給されるが、この水晶発振器の発振周波数は、製造時に決定され、後から調整することができない。【０００７】
また、ＬＳＩ内部のクロック信号は、一般に、ＬＳＩ内部に搭載された位相固定ループ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ；ＰＬＬ：「位相同期ループ」ともいう）によって生成されるため、ＬＳＩ外部からＬＳＩ内部のクロック信号のデューティ比などを調整することは不可能である。【０００８】
このように、プリント基板上に実装されたＬＳＩでは外部からクロック信号を調整することが出来ない。【０００９】
そこで、半導体集積回路の動作マージンテストを行うために、ＬＳＩ内部にクロック信号の、周期、デューティ比、遅延などを調整する回路を搭載する必要がある。【００１０】
従来のＬＳＩテスタで、半導体集積回路のテストを行う場合には、ＬＳＩテスタが半導体集積回路に与えるクロック周波数を調整することで、半導体集積回路内部の動作周波数を調整することができる。これにより半導体集積回路の動作マージンをテストすることができる。【００１１】
しかし、一般に半導体集積回路は内部に位相固定ループ（ＰＬＬ）を有しており、半導体集積回路内部のクロック信号は、このＰＬＬが出力するクロックを用いる。そのため、半導体集積回路内部のクロックのデューティ比や、位相のオフセットなどを外部から調整することは、これらを調整するための専用回路を具備しない限りは不可能である。【００１２】
このような問題から、半導体集積回路内部にクロック信号の周期を調整する回路を搭載して、動作マージンテストを行う手法が提案されている（特許文献１（ＵＳ６１２７８５８）、特許文献２（ＵＳ６８９１４２１（Ｂ２）））。【００１３】
この回路を搭載することで、実機に搭載された半導体集積回路内部のクロック周期およびデューティ比を調整することが可能である。【００１４】
また、半導体集積回路内部に搭載されるクロック調整回路で、半導体集積回路内部のクロックの遅延を制御できる回路の従来例として、特許文献３（ＵＳ５９４５８６２）、特許文献４（ＵＳ６１２５１５７）などがある。【００１５】
これらの回路はクロック位相を無制限にシフトすることが可能である。この特徴を用いて、出力クロックの立ち上がりエッジまたは立ち下がりエッジのどちらかを参照クロックのエッジのタイミングに合わせるＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ；同期固定ループ）機能を実現している。【００１６】
プリント基板に実装された半導体集積回路で、タイミングマージンなどのテストを行うには、半導体集積回路上にクロック信号の周期やデューティ比等を調整する回路を搭載する必要がある。【００１７】
前述したように、半導体集積回路内部で、クロック信号の周期などを調整する回路を開示した特許文献１（ＵＳ６１２７８５８）、特許文献２（ＵＳ６８９１４２１（Ｂ２））には、図１に示すような回路が提案されている。この回路は、クロック信号の遅延を動的に切り替えることにより、クロック周期やクロックのデューティ比などを調整することができる。図１の例では、遅延素子とセレクタで粗い遅延調整を行い、可変遅延回路によって、細かい遅延の調整を行っている。可変遅延回路は、トランジスタの駆動能力を切り替えるスイッチによって実現されている。例えば、遅延が短くなるようにセレクタを切り替えると、前のクロックに対して位相が早まるので、遅延の切り替えを行った１クロックサイクルに限り、クロック周期が短くなる。逆に遅延が大きくなるように切り替えると、位相が遅れ、その瞬間のクロック周期が長くなる。この方式は、簡単にクロック周期を伸縮させることが可能だが、クロック周期を伸縮できるクロックサイクル数が、遅延素子の段数によって制限されてしまう。また、遅延素子１段当たりの遅延量は、ばらつきによって変動するので、ユーザーは遅延を１段切り替えたことによって、クロック周期がどのくらい変動するのかを正確に知ることが出来ない。【００１８】
一方で、半導体集積回路の故障や不良を検出するためには、図２に示すように、半導体集積回路内部にクロック調整回路２３を内蔵し、任意のサイクル数のクロック信号に関して、
ジッタ、
デューティ比、
スキュー・遅延等、
周期（周波数）、
を調整できる構造が望ましい。【００１９】
任意のサイクル数のクロック信号（クロックパルス）の周期（周波数）、デューティ比、ジッタ、遅延などを調整するためには、クロック信号の位相を無制限にシフトできる機能が必要である。【００２０】
これを実現するためには、例えばクロック１周期をＮ分割した任意の位相を出力できる回路を構成すればよい。なお、図２において、クロック調整回路２３の出力はクロック分配回路（クロックツリーバッファ）２４を介してロジック回路、Ｉ／Ｏ回路、メモリ等の回路のクロックとして供給される。またクロック分配回路２４の出力クロックが、セレクタ２２を介して選択され、ＰＬＬ２１に入力される。【００２１】
図３（ａ）に示すように、クロック１周期をＮ分割した任意のタイミングでクロックエッジを発生できるシステムを考える。徐々にクロック位相を遅らせていくと、やがて元の位相から１周期遅れることになる。１周期遅れた状態は、元の位相と等価なので、さらに位相を遅らせるためには、同じ操作を繰り返せばよい。【００２２】
図３（ｂ）でこのことを考えると、クロック位相を遅らせていくことは、円上で位相が回転していくことであり、やがて１回転して元の位相に戻る。【００２３】
更に位相を遅らせたければ、同じ操作を行えばよい。逆に位相を早める場合も同様であり、円状を逆周りに回転し、やがて１回転する。【００２４】
このように、クロック周期（３６０度）をほぼ均等にＮ分割し、このＮ個の位相の中から任意の位相のクロックを取り出すことができる回路を用意すれば、位相を無限に遅らせたり早めたりすることができる。【００２５】
図４は、クロック１周期をＮ分割して、その中の任意の位相のクロックを出力する位相シフタの構成の一例を示す図である。【００２６】
Ｌ相クロック発生回路４４で、Ｌ相クロック（Ｌは整数）を発生する。Ｌ相クロック発生回路４４は、Ｌ本の出力端子を持ち、Ｌ本の出力端子から出力されるクロック位相が、３６０度／Ｌずつずれている。位相シフタ４０は、Ｌ相クロック発生回路４４からのＬ本の出力端子からのＬ相クロック信号を入力とするセレクタ４１、４２と、位相補完回路４３を備えている。セレクタ４１、４２、位相補完回路４３には位相制御信号が供給される。【００２７】
セレクタ４１、４２は、Ｌ個あるクロック信号から２個のクロック信号を選択する。セレクタ４１、４２では、クロック出力から出力されるクロック信号の位相が大まかに決定される。セレクタ４１、４２で選択される２つの信号は、互いに隣り合う位相であり、３６０度／Ｌの位相差がある。【００２８】
セレクタ４１、４２で選択された２つのクロック信号は、位相補完回路４３に入力される。位相補完回路４３は、位相がずれた２つのクロック信号を入力し、その２つのクロック信号の位相をＭ段階で補完し、中間の位相を出力する。【００２９】
入力される２つのクロック信号の位相がｘ度とｙ度であれば、出力クロックは（ｘ−ｙ）／Ｍ度刻みで、ｘとｙの間の任意の位相を出力することが可能である。これにより、セレクタで選択されたクロック位相をさらに細かく刻んで、クロック出力の位相を調整する。【００３０】
例えば、Ｌ＝８、Ｍ＝１６の場合は、Ｌ相クロック発生回路からは４５度刻みでクロック信号が出力され、位相補完回路では、４５／１６＝２．８１２５度刻みでクロック信号の位相を調整することができ、１周期のクロック信号を、（Ｌ×Ｍ＝）１２８段階で刻んだ任意の位相のクロック信号を出力することができる。【００３１】
この条件で、例えば５６．２５度のクロックを生成するには、セレクタ回路で、４５度と９０度のクロックを選択する。【００３２】
位相補完回路４３では、４５度のクロックと９０度のクロックを１２：４の割合で補完することで、４５度から４段階（２．８１２５×４＝１１．２５）位相差のあるクロックを出力することができる。【００３３】
図５は、位相シフタの別の構成例を示す図である。この例では、Ｌ相クロック発生回路５３からのＬ相クロック信号の全てを、Ｌ個の位相補完回路５１を用いて位相をずらし、Ｌ相クロック信号を生成する。次にセレクタ５２でこの中の１つを選択することで、任意の位相を発生する。【００３４】
図４（ｂ）の場合と同様に、Ｌ相クロック発生回路が８相のクロックを出力し、位相補完回路が１６段階で位相を補完する（Ｍ＝１６）場合を考える。【００３５】
ここで、５６．２５度のクロックを生成するには、各位相補完回路は、入力される２つのクロック信号を１２：４の割合で補完する。【００３６】
すると、８個ある各位相補完回路５１からは、１１．２５度、５６．２５度、１０１．２５度、１４６．２５度、１９１．２５度、２３６．２５度、２８１．２５度、３２６．２５度を出力する。この中から、２番目の位相である５６．２５度をセレクタで選択して出力すれば、所望の位相のクロックを出力することができる。【００３７】
図６は、図４や図５の位相シフタ４０、５０で用いられる多相クロック発生回路を位相固定ループ（ＰＬＬ）で構成した例である。位相固定ループ（PLL）は、参照クロックと、発振器６４の出力クロックの位相を比較する位相比較器６１、位相比較器６１での比較結果に対応する電圧を生成するチャージポンプ６２、チャージポンプ６２の出力を平滑化するループフィルタ６３を備え、ループフィルタ６３の出力電圧を制御電圧として受ける発振器（VCO）６４は、制御電圧に対応した発振周波数のクロックを出力する。発振器（VCO）６４は、初段のインバータ６５と複数段の遅延回路（正転バッファ）６６（インバータ２段で構成される）を備え、最終段の出力を初段に帰還入力したリングオシレータとして構成される。発振器６４に、等間隔の遅延を生成できる回路を用い、その等間隔の遅延のクロック信号を取り出すことで、多相クロックが得られる。【００３８】
図７は、多相クロック発生回路を、遅延固定ループ（ＤＬＬ）で構成した例である。位相固定ループ（PLL）は、参照クロックと、遅延回路列の出力クロックの位相を比較する位相比較器７１、位相比較器７１での比較結果に対応する電圧を生成するチャージポンプ７２、チャージポンプ７２の出力を平滑化するループフィルタ７３を備え、ループフィルタ７３の出力電圧を制御電圧として遅延回路列は、遅延時間を可変させる。遅延固定ループ内の遅延回路列に、等間隔の遅延を生成できる回路７４を用い、その等間隔の遅延のクロック信号を取り出すことで、多相クロックが得られる。【００３９】
図８（ａ）は、多相クロック発生回路をクロック分周器で構成した例である。Ｄ型フリップフロップ８１１は、Ｄ型フリップフロップ８１４の出力をインバータ８３で反転した信号をデータ入力端子Ｄに入力し、データ出力端子Ｑの出力信号とその反転信号をＱ０、／Ｑ０として出力する。任意のサイクルで内部の状態が１周するようなステートマシン回路を構成することで、多相クロック信号を得ることができる。図８（ｂ）は、その動作例のタイミングチャートを示している。この回路でＬ相のクロックを生成する場合、出力クロックの周波数は一般に、入力クロックの周波数の１／Ｌになる。【００４０】
図９（ａ）は、多相クロック発生回路を遅延素子と位相補完回路（PI）で構成した例である。位相補完回路９３、９４は、２つの入力信号の中間の位相の信号を出力する回路である。位相補完回路（PI）９３は、入力クロックＡと、３段の遅延回路（正転バッファ）９１で遅延させた信号Ｂと、を入力してその中間の位相の信号を差動で出力する。位相補完回路（PI）９４は、３段の遅延回路（正転バッファ）９１で遅延させた信号Ｂと、入力クロックＡをインバータ９２で反転させた信号／Ａを入力してその中間の位相の信号を、差動で出力する。図９（ｂ）は、この回路の動作のタイミングチャートを示している。入力クロックＡと、それを遅延させたクロックＢの中間の位相がＣである。【００４１】
ＡとＢの位相差をｘとすると、Ｃから出力されるクロック信号の位相は、Ａの位相に対してｘ／２遅れる。【００４２】
Ｄから出力されるクロック信号はＢとＡの反転信号（Ａから１８０度遅れた信号）の中間の位相を出力する。つまり、クロックＡの位相に対して、位相がｘ／２＋９０度遅れる。このため、位相差が９０度の２つのクロックＣとＤを得ることができる。これらの反転信号を合わせると、９０度刻みの４相クロックが得られる。【００４３】
図１０は、図４や図５の位相シフタで用いられる位相補完回路の構成例を示す図である。図１０を参照すると、ソースが共通接続され、ゲートにクロックＡの反転信号／Ａ、クロック信号Ａとを入力し、ドレインが、差動端子Ｑ、／Ｑにそれぞれ接続されるとともに、抵抗を介して電源に接続されたＮＭＯＳトランジスタ１０１、１０２と、ソースが共通接続され、ゲートにクロックＢとその反転信号／Ｂを入力し、ドレインが、ＮＭＯＳトランジスタ１０１、１０２のドレインとそれぞれ共通接続されて、差動端子Ｑ、／Ｑにそれぞれ接続されるとともに、抵抗を介して電源に接続されたＮＭＯＳトランジスタ１０３、１０４とを備え、ＮＭＯＳトランジスタ１０１、１０２の共通ソースは、制御信号Ｃ１によってオン・オフ制御される複数のスイッチトランジスタ１０５を介して複数の定電流源１０６に接続され、ＮＭＯＳトランジスタ１０３、１０４の共通ソースは、制御信号Ｃ２によってオン・オフ制御される複数のスイッチトランジスタ１０７を介して複数の定電流源１０８に接続されている。制御信号Ｃ１、Ｃ２により、スイッチトランジスタ１０６、１０７のオンさせる個数が決定され、差動対１０１、１０２と差動対１０３、１０４を駆動する電流値が制御され、信号ＡとＢの補完比（内分比）が決定される。すなわち、２つのクロック入力（ＡとＢ）の２つの位相を補完して出力することができる。内部は、２つ信号を加算（電流加算）し、負荷抵抗を介して電圧出力する構成とされている。この電流加算を行うときに、２つの信号の重み付けを変えられるように、スイッチ素子とそれを制御する制御端子（Ｃ１とＣ２）を備える。Ｃ１とＣ２により、２つの差動対に流れる電流Ｉ１とＩ２を調整すると、信号Ａを受ける差動対に流れる電流と差動対Ｂに流れる電流のバランスを調整することができる。このバランスによって、２つの信号が加算されるときの重み付けが変わるので、Ａに近い位相を出力したり、あるいは、逆にＢに近い位相を出力することも可能になる。【００４４】
図１１は、位相補完回路の動作原理を示した図である。位相がずれた２つのクロック信号Ａ（＝ｃｏｓ（ωｔ））とクロック信号Ｂ（＝ｃｏｓ（ωｔ−φ））を入力し、それらを足し合わせる。２つの信号をｃｏｓ波と仮定して、同じ重み付けで加算を行うと、その加算結果Ｑ（＝ｃｏｓ（ωｔ）＋ｃｏｓ（ωｔ−φ））は、ＡとＢの中間の位相（＝ωｔ−φ／２）を出力することが分かる。【００４５】
図１２は、位相補完回路の別の構成例を示す図である。図１２（ａ）に示すように、２つのクロック入力Ａ、Ｂに接続されるバッファ回路として、３ステート型のものを用いるか出力にトランスミッションゲートを配置するなどして、出力をハイインピーダンスに設定可能なバッファ（トライステート・バッファ）１２０を複数個用意する。図１２（ｂ）のバッファは、ＣＭＯＳインバータ（１２１、１２２）の出力にトランスミッションゲート（ＣＭＯＳトランスファゲート）１２３、１２４を備えた構成であり、図１２（ｃ）のバッファは、ＣＭＯＳインバータを構成するＰＭＯＳトランジスタ１２６のソースと電源間にＰＭＯＳトランジスタ１２５を備え、ＣＭＯＳインバータを構成するＮＭＯＳトランジスタ１２７のソースとＧＮＤ間にＮＭＯＳトランジスタ１２８を備え、ＰＭＯＳトランジスタ１２５、ＮＭＯＳトランジスタ１２８のゲートに相補の制御信号／ＣとＣを入力する構成としたものである。これら複数のバッファ１２０のうち、ハイインピーダンスに保つものと、通常のバッファとして動作するものの個数を、制御信号Ｃ１、Ｃ２で制御することにより、２つのクロック信号を混合する割合を調整する。これにより、ＡとＢから与えられる２つのクロックの位相を補完してＱから出力する。【００４６】
図１３は、位相シフタを用いた遅延調整回路の構成の一例を示す図（特許文献３参照）である。図１３を参照すると、遅延調整回路１３０は、位相シフタ１３１と、カウンタ１３２と、位相比較器１３３を備えている。【００４７】
カウンタ１３２は、位相比較器１３３の出力を受け入力クロックをカウントし、カウント値を位相シフタ１３１に制御信号として出力する。参照クロックと出力クロックの位相を位相比較器１３３で比較して、その比較結果によって出力クロックの位相を進めるか遅らせるかして、入力クロックと出力クロックの間の遅延を所望の値に調整するものである。このような構成を用いた遅延調整回路は、特許文献３、４（ＵＳ５９４５８６２、ＵＳ６１２５１５７）などがある。【００４８】
図１４は、図１３の回路を用いて位相シフタを動作させた場合のタイミングチャートの例を示している。図１４は、入力クロック、制御信号、出力クロックのタイミング波形を示している。この回路で位相シフトを行うと、制御信号の値が変動して位相シフタがクロックの位相を切り替える瞬間に、クロック信号の位相が不安定になる。これは、ユーザーが意図しないジッタを発生させてしまう。また、制御信号をクロック周期と同じ周期で動かしている場合には、クロック信号の片側のエッジの位相しかシフトできないので、デューティを調整することができない。【００４９】
図１３の回路構成では一般に、位相シフタ１３１の制御信号は、位相シフタ１３１が出力するクロック位相を１段階ずつしか調整できないので、クロック周期を急激に伸ばしたり縮めたりすることができない。【００５０】
さらに、複数のサイクルに渡ってクロック周期を伸縮させるためには、参照クロックの周期も伸縮させる必要がある。つまり、図１３の構成の回路は、自立的にクロック周期を伸縮させる機能を持たない。【００５１】
【特許文献１】米国特許第ＵＳ６１２７８５８号明細書
【特許文献２】米国特許第ＵＳ６８９１４２１（Ｂ２）号明細書
【特許文献３】米国特許ＵＳ５９４５８６２号明細書
【特許文献４】米国特許ＵＳ６１２５１５７号明細書
【発明の開示】
【発明が解決しようとする課題】
【００５２】
以上の特許文献１〜４の開示事項は、本書に引用をもって繰り込み記載されているものとする。以下に本発明による関連技術の分析を与える。
これまでにも、ＬＳＩ内部に搭載されるクロック調整回路が、特許文献１（ＵＳ６１２７８５８）、特許文献２（ＵＳ６８９１４２１（Ｂ２））等に提案されている。【００５３】
しかしながら、この回路は、
（１）クロック周期を調整することができるクロックサイクル数が限定される、
（２）ばらつきによってクロック周期やデューティの調整幅が変動し、テスト結果の絶対値の把握が困難である、
といった問題がある。【００５４】
この手法は、図１に示すように、クロック分配系に挿入した遅延素子１１の段数をセレクタ１２で動的に切り替えることで、クロック周期等の調整を行っている。例えばセレクタ１２にてクロック信号が通過する遅延段数が短くなるように切り替えることで、出力されるクロックの位相が進み、その瞬間のクロック周期を短くすることができる。逆に、セレクタ１２で遅延段数が長くなるように切り替えることで、クロックの位相が遅れるので、その瞬間のクロック周期を長くすることができる。例えば、遅延素子１１の段数が８段であった場合には、連続する８サイクルのクロックで、遅延素子１１の段数を１段ずつ短くなるように切り替えるか、長くなるように切り替えることにより、連続する８サイクルのクロック周期を短くまたは長くすることができる。【００５５】
しかし、この遅延素子１１の段数が有限であるため、連続してクロック周期を短くまたは長くできるクロックサイクル数が制限される。遅延素子１１の段数を増やすことで、連続してクロック周期を長くまたは短くできるクロックサイクル数を増やすことができる。【００５６】
しかしながら、クロック分配系に多くの遅延素子を挿入することにより、クロック信号のジッタが大きくなる。さらに、クロック生成に一般的に用いられる位相固定ループ（ＰＬＬ）のループ内遅延が大きくなり、フィードバックループの安定性が悪化するといった問題がある。そのため、遅延素子の段数はあまり多くできない。【００５７】
この手法は、アットスピードテストを、ＬＳＩ内で実現できる手法であり、論理遅延のクリティカルパスに対して１〜２サイクルのクロックを与えてマージンテストを行う場合には有効である。【００５８】
しかし、これは、設計者が予め想定したクリティカルパスに対してテストを行うものであり、前述の様に、近年の複雑なＬＳＩでは予期していない故障や不良が発生し、これらを検出できない可能性がある。【００５９】
そこで、テストでの検出漏れを防ぐためには、任意のサイクル数のクロック信号に対して、クロック周波数やデューティなどを調整できる回路が望まれる。【００６０】
また、近年の半導体集積回路は複数のクロックドメインを有するものが増えているが、動作周波数の高速化によるタイミングマージンの減少と、大規模化によるスキューの増大で、これら異なるクロックドメイン間での通信で動作不良を起こす場合が考えられる。【００６１】
このクロックドメイン間での通信で、タイミングマージンが十分に確保されているかをテストすることも重要になってきている。【００６２】
しかしながら、特許文献１、２等に開示される従来のクロック調整回路は、遅延の調整範囲が比較的狭い範囲に限定されているため、このようなテストに向かない。【００６３】
クロックドメイン間や入出力回路などのテストでは、クロックの位相をクロック１周期分以上の範囲で、任意に位相を変動させられる回路が望まれる。【００６４】
さらに、従来手法の遅延素子の段数や駆動能力を切り替える方式は、ばらつきなどによって遅延素子の遅延量が変動するので、遅延段数から遅延量の絶対値を読み取ることが困難である、といった問題がある。【００６５】
また、この従来手法のクロック調整回路において、クロック信号の立ち上がりエッジと立ち下がりエッジの両方のタイミングを制御する場合には、遅延素子の段数を制御する制御回路は、１クロック周期に２回制御信号を出力しなければならない。特に高いクロック周波数を扱うクロック調整回路では、このような１クロックサイクルに２回の制御信号を生成することが難しくなる、という問題がある。【００６６】
一方で、クロック位相を無制限にシフトすることが可能なクロック調整回路も提案されている（特許文献３、４等参照）。【００６７】
これらの従来例では、クロック１周期をＮ分割した位相の中から任意の位相を選択して出力することが可能な、位相シフタ回路を実現している。この位相シフタで出力するクロック信号の位相をＮ段階進めるか遅らせると、クロック位相は１周して元の位相に戻ってくる。そのため、無限に位相を進めるか遅らせることも可能になる。この位相シフタ回路は、内部で、多相クロック信号を生成して、これらの中から選択した２つの位相を、位相補完回路で補完することで、任意の位相のクロック信号を生成している。【００６８】
特許文献３、４等に開示されているクロック調整回路は、図１３に示すように、位相シフタ１３１とカウンタ１３２と位相比較器１３３とを備えて構成されており、参照クロックと出力クロックの位相が合うように、位相シフタ１３１の制御信号を調整する。しかし、この回路は、参照クロックの情報に基づいて、クロックの遅延を調整する遅延固定ループ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）機能しか持たない。クロック周期、デューティ比、ジッタなどを調整することができないため、半導体集積回路の動作マージンテストには用いることができない、という問題がある。【００６９】
また、図１４に示すように、クロック位相をシフトするときに、クロック信号の状態が画定しないタイミングが発生する。【００７０】
このタイミングでは、クロック信号が不安定になり、ジッタが発生する場合がある。そのため、ユーザーが意図しない外乱がクロック信号に入ってしまい、動作マージンのテストを正しく行うことができない、という問題もある。【００７１】
したがって、本発明の主たる目的は、上記課題を解消し、クロックの動作マージンに関して半導体集積回路の不良・故障を検出することができる回路、及び該回路を備えた半導体集積回路装置を提供することにある。
【課題を解決するための手段】
【００７２】
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。【００７３】
本発明の１つの側面に係る半導体集積回路装置においては、クロック信号を入力し、制御信号に基づき、クロックパルスの両エッジ又は一方のエッジのタイミング位相を可変させたクロック信号を生成する手段と、前記制御信号を生成する手段とを備え、前記クロックパルスのエッジのタイミング位相はクロックサイクル単位に可変自在とされ、半導体集積回路内のクロック供給先に、クロック周期、デューティ比、ジッタ、クロックドメイン間のスキューのうちの少なくとも１つのパラメータを可変に調整したクロック信号を供給するクロック調整回路を備え、タイミング動作のマージンを評価可能としている。【００７４】
本発明において、自己テストにより、タイミング動作のマージンの評価を行い、動作マージが予め定められた規定値に満たない場合に、警告を出力するか、又は動作を停止する制御を行う。【００７５】
本発明に係るクロック調整回路においては、クロック信号を入力し、制御信号に基づき、クロックパルスの立ち上がりエッジと立ち下がりエッジの両方又は一方のタイミング位相を可変にシフトさせて出力する位相シフタ回路と、前記位相シフタ回路から出力されるクロック信号のエッジよりも前のタイミングで前記制御信号を、前記位相シフタ回路に供給する制御回路と、を備えており、クロック周期、デューティ比、ジッタ、スキューのうち少なくとも１つのパラメータを、クロックサイクル単位に可変させたクロック信号が出力可能とされている。【００７６】
本発明に係るクロック調整回路において、前記位相シフタ回路は、入力クロック信号を共通に受ける第１及び第２の位相シフタと、前記第１及び第２の位相シフタの出力を受け、選択制御信号に基づき一方を選択出力するセレクタと、を備えている。前記制御回路は、前記第１及び第２の位相シフタに第１及び第２の制御信号を供給し、前記第１及び第２の位相シフタは、クロック信号の立ち上がりエッジとクロック信号の立ち下がりエッジの位相をそれぞれ可変にシフトし、前記セレクタからは、クロック信号の立ち上がりエッジとして、前記第１の位相シフタの出力を選択し、クロック信号の立ち下がりエッジとして、前記第２の位相シフタの出力を選択する。【００７７】
本発明に係るクロック調整回路において、前記選択制御信号に、前記セレクタの出力信号から生成される信号を用いる。【００７８】
本発明に係るクロック調整回路において、前記位相シフタ回路が、前記入力クロックを共通に受ける１対の位相シフタと、前記１対の位相シフタの出力を受け、選択制御信号に基づき一方を選択出力するセレクタとからなる回路ユニットを複数備え、前記制御回路は、前記各回路ユニットの各位相シフタに制御信号を供給する構成としてもよい。【００７９】
本発明に係るクロック調整回路において、前記回路ユニットとして、少なくとも第１及び第２の回路ユニットを備えている。前記第１の回路ユニットセレクタは、前記第２の回路ユニットのセレクタの出力を選択制御信号として入力する。前記第２の回路ユニットセレクタは、前記第１の回路ユニットのセレクタの出力を選択制御信号として入力する。【００８０】
本発明に係るクロック調整回路において、前記位相シフタ回路が、多相クロック信号を入力し１の相のクロック信号を選択して出力する第１のセレクタと、前記多相クロック信号を入力し前記１の相のクロック信号と別の相のクロック信号を選択して出力する第２のセレクタと、前記第１及び第２のセレクタで選択されたクロック信号を入力し、前記入力した２つのクロック信号の位相差を制御信号に基づき補完したクロック信号を生成する位相補完回路と、前記制御回路からの制御信号に基づき、前記位相補完回路で供給する制御信号と、前記第１及び第２のセレクタの選択を制御する信号と、を生成する論理回路と、を備えた構成としてもよい。【００８１】
本発明に係るクロック調整回路において、前記制御回路が、クロック周期を規定する制御コードを入力する加算器と、前記加算器の出力を保持するレジスタと、を備え、前記レジスタの出力は前記加算器に入力されるとともに、前記位相シフタ回路へ供給される、構成としてもよい。【００８２】
本発明に係るクロック調整回路において、前記制御回路が、クロック周期を規定する制御コードを入力する第１の加算器と、前記第１の加算器の出力を保持するレジスタと、を備えている。前記レジスタの出力は第１の加算器に入力される。前記制御コードの１／２と前記レジスタの出力を加算する第２の加算器をさらに備え、前記レジスタの出力は前記第１の位相シフタ回路へ供給され、前記第２の加算器の出力は前記第２の位相シフタ回路へ供給される構成としてもよい。【００８３】
本発明に係るクロック調整回路において、前記制御回路が、クロック周期を規定する制御コードを入力する第１の加算器と、前記第１の加算器の出力を保持するレジスタと、を備えている。前記レジスタの出力は前記第１の加算器に入力される。前記制御コードの１／２と前記レジスタの出力を加算する第２の加算器を備えている。前記レジスタの出力と第２の加算器の出力は、前記第１の回路ユニットの１対の位相シフタ回路へ供給される。前記制御コードの１／４と前記レジスタの出力を加算する第３の加算器と、前記クロック周期を規定する制御コードの１／２と前記第３の加算器の出力を加算する第４の加算器とをさらに備えている。前記第３、第４の加算器の出力は、前記第２の回路ユニットの一対の位相シフタ回路へ供給される。【００８４】
本発明に係るクロック調整回路において、前記レジスタの出力と第２の加算器の出力に対して、クロック位相、スキュー、デューティのいずれか１つの制御コードを加算する１対の加算器を備え、前記第３、第４の加算器の出力は、クロック位相、スキュー、デューティのいずれか１つの制御コードを加算する１対の加算器を備えている構成としてもよい。【００８５】
本発明に係るクロック調整回路において、前記制御回路が、クロック信号をカウントするカウンタと、前記カウンタのカウント値を入力しアドレス信号を生成するデコーダと、前記デコーダから出力されるアドレス信号のデータを読み出し前記制御信号として出力するメモリと、を備えている構成としてもよい。【００８６】
本発明に係るクロック調整回路において、前記制御回路が、クロック信号を受けてシフト動作し、シフト結果を前記制御信号として出力するシフトレジスタを備えた構成としてもよい。【００８７】
本発明に係るクロック調整回路において、前記制御回路のクロック信号として前記位相シフタ回路の出力クロックを用いる構成としてもよい。【００８８】
本発明に係る半導体集積回路装置は、前記クロック調整回路と、前記クロック調整回路の出力クロックをバッファを介して受ける回路と、前記クロック調整回路の出力クロックをバッファを介して受ける回路に入力されるクロック信号と参照クロックとの位相を比較し比較結果を前記制御回路に供給する位相比較器と、を備えている。【００８９】
本発明に係る半導体集積回路装置は、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路と、前記クロック調整回路と、クロック信号を分配するバッファ回路と、前記バッファ回路からクロックを受ける回路に供給されるクロック信号と、前記ＰＬＬ回路の入力クロック信号との位相を比較し比較結果を前記制御回路に供給する位相比較器と、を備えている。【００９０】
本発明に係る半導体集積回路装置において、
任意のサイクルのクロック周期を可変させる；
任意のサイクルのクロック信号のジッタ振幅、及び／又は、ジッタ周波数を可変させる；
任意のサイクルのクロック信号の周波数、及び／又は、デューティ比を可変させる；
テスト対象のクロックドメインのクロックの位相を、他のクロックドメイン又は外部クロックに対して遅らせるか又は進ませる；
任意のサイクルのクロック信号の位相、及び／又は、クロック信号のデューティ比を可変させる；
のうちの少なくとも１つを実行しエラーの有無を判定する。【００９１】
本発明の他の側面に係る半導体集積回路は、前記した本発明に係るクロック調整回路と、前記クロック調整回路から供給されるクロック信号で動作する回路と、前記半導体集積回路内の所定の信号の波形を観測するオンチップ波形観測回路と、を備えている。【００９２】
本発明において、前記オンチップ波形観測回路は、前記クロック調整回路から供給されるクロック信号で動作する回路の電源電圧、又は接地電圧、あるいは両者の変動を観測する。【００９３】
本発明において、前記オンチップ波形観測回路は、前記クロック調整回路から供給されるクロック信号で動作する回路の入力信号、出力信号、入出力信号、前記回路の内部信号の少なくとも１つの変動を観測する構成としてもよい。【００９４】
本発明において、前記クロック調整回路から供給されるクロック信号で動作する回路の特性変動を予測するためのレプリカ回路を有し、オンチップ波形観測回路は、前記レプリカ回路の入力信号、出力信号、入出力信号、前記レプリカ回路の内部信号の少なくとも１つの変動を観測する構成としてもよい。【００９５】
本発明に係る半導体集積回路は、さらに他の側面において、前記した本発明に係るクロック調整回路と、前記クロック調整回路から供給されるクロック信号で動作する回路と、半導体集積回路内の温度を測定するオンチップ温度測定回路と、を備えている。【００９６】
本発明に係る半導体集積回路は、さらに他の側面において、前記した本発明に係るクロック調整回路と、前記クロック調整回路から供給されるクロック信号で動作する回路と、前記クロック調整回路から供給されるクロック信号で動作する回路の特性変動を予測するためのレプリカ回路と、を備えている。【００９７】
本発明において、前記制御回路は、前記オンチップ波形観測回路での観測結果に基づき、前記制御信号を生成し、前記クロック調整回路から出力されるクロック信号の波形を可変制御する。【００９８】
本発明において、前記制御回路は、前記オンチップ温度測定回路での測定結果に基づき、前記制御信号を生成し、前記クロック調整回路から出力されるクロック信号の波形を可変制御する構成としてもよい。【００９９】
本発明において、前記制御回路は、前記レプリカ回路の出力信号に基づき、前記制御信号を生成し、前記クロック調整回路から出力されるクロック信号の波形を可変制御する構成としてもよい。【０１００】
本発明において、前記クロック調整回路から供給されるクロック信号で動作する回路の、誤動作を検出するためのエラー検出回路を有する構成としてもよい。
本発明において、クロック信号を生成し前記クロック調整回路に供給するクロック生成回路を備え、前記制御回路は、前記クロック生成回路に対して制御信号を供給し前記クロック生成回路の特性を可変制御する構成としてもよい。前記クロック生成回路が位相ロックループ回路を含む。【０１０１】
本発明において、前記クロック調整回路から出力されるクロック信号を受ける可変遅延回路を備え、前記可変遅延回路から出力されるクロック信号が、前記クロック調整回路から供給されるクロック信号で動作する回路に供給され、前記制御回路は、前記可変遅延回路に制御信号を供給し、前記可変遅延回路の遅延特性を可変制御する構成としてもよい。【０１０２】
本発明に係る半導体集積回路は、さらに他の側面において、半導体集積回路装置内に配設された制御回路で生成された制御信号を受け、前記制御信号に応じて、半導体集積回路装置内の少なくとも一つのクロック供給先の回路に対して供給されるクロック信号に関して、前記クロック信号の周期、デューティ、ジッタ、スキューのうち少なくとも一つの特性をクロックサイクルベースで可変に調整する手段を含むクロック調整回路と、  を含み、前記制御回路は、
前記半導体集積回路装置内の所定の電源端子の波形観測結果；
前記半導体集積回路装置内の所定の接地端子の波形観測結果；
前記クロック供給先の回路の信号波形の観測結果；
前記半導体集積回路装置内の温度測定結果；
前記クロック供給先の回路の特性変動を予測するために前記半導体集積回路装置内に設けられたレプリカ回路の出力；
前記クロック供給先の回路の出力に関するエラー検出結果；
の少なくとも一つに基づき、前記制御信号を生成する。【０１０３】
本発明において、クロック信号を生成し前記クロック調整回路に供給するクロック生成回路をさらに備え、前記制御回路から、前記クロック調整回路のほか、前記クロック生成回路に制御信号がそれぞれ供給され、前記クロック供給先へ供給されるクロック信号の特性が可変制御される。あるいは、前記クロック調整回路から出力されるクロック信号を受け、前記クロック供給先の回路にクロックを供給する可変遅延回路をさらに備え、前記制御回路から、前記クロック調整回路のほか、前記クロック生成回路、前記可変遅延回路に制御信号がそれぞれ供給され、前記クロック供給先へ供給されるクロックの特性が可変制御される構成とされる。【０１０４】
本発明に係る半導体集積回路は、さらに他の側面において、
半導体集積回路装置内に配設された制御回路で生成された制御信号を受け、前記制御信号に応じて、半導体集積回路装置内の少なくとも一つのクロック供給先の回路に対して供給されるクロック信号に関して、前記クロック信号の周期、デューティ、ジッタ、スキューのうち少なくとも一つの特性をクロックサイクルベースで可変に調整する手段を含むクロック調整回路と、
前記半導体集積回路装置内の電源電圧の波形を観測する波形観測回路と、
を含み、
前記制御回路は、前記電源電圧の波形観測結果に基づき、前記制御信号を生成して前記クロック調整回路を制御し、電源電圧の変動に対する前記クロック調整回路からのクロック信号の周波数変動の位相差、変動量（クロック周波数変動の振幅）を可変させ、
各位相差及びクロック周波数変動量に対して、前記クロック供給先の回路が正しく動作しているか否かを、前記半導体集積回路装置内又は外部のエラー検出回路で検出し、前記エラー検出回路でのパス／フェイル情報に基づき、電源電圧変動とクロック周波数変動の位相差と、動作マージンとの関係の取得自在としている。
【発明の効果】
【０１０５】
本発明によれば、半導体集積回路装置に、クロック信号の周期、デューティ、スキューなどを調整するためのクロック調整回路を搭載し、実機の基板または実機に見立てたテスト用基板に搭載されたＬＳＩにおいて、半導体集積回路装置を動作させながらＬＳＩ内部のクロック信号のパラメータに外乱を与え、外乱に対する動作マージンを検出することで、よりマージンが大きくて信頼性が高いＬＳＩを選別することができる。かかる本発明によれば、従来のＬＳＩのテストよりも厳しい条件でＬＳＩの不良・故障を検出することができる。【０１０６】
本発明によれば、連続する無限または任意のサイクル数のクロック信号に対して外乱を与えることが可能としている。このため、故障や不良の検出漏れをより少なくすることが可能になり、より信頼性の高い半導体集積回路装置を選別して出荷することが可能になる効果が得られる。【０１０７】
本発明によれば、クロック１周期（３６０度）をＮ分割した位相が、調整１段階あたりの変動量になるため、テスト結果から動作マージンの位相や時間の絶対値を把握することを容易としている。【０１０８】
また、本発明によれば、クロックの
（１）両エッジの位相を動的に制御できる、
（２）１サイクルで変動させられるクロック位相の調整幅が大きい、
（３）クロック位相の調整時に発生するジッタが小さい、
という効果を奏することができる。【０１０９】
本発明のクロック調整回路を、半導体集積回路装置内に内蔵することにより、出荷後にも実機上で動作マージンの自己テストをすることが可能となる。これにより、経年劣化などによる故障を未然に防ぐことにも有用である。【０１１０】
本発明のクロック調整回路は無限のサイクル数のクロック信号の周期を調整できる。このため、周波数シンセサイザとして用いることができる。ＰＬＬを用いた周波数シンセサイザに比べて回路面積の縮減、設計容易化を実現する。【０１１１】
本発明によれば、制御回路に乱数または擬似乱数を発生する回路を備え、クロック信号の位相をランダムに変動させることができ、スペクトラム拡散などの機能を実現することが可能である。【０１１２】
さらに、本発明によれば、クロック信号のデューティやスキューが調整できるので、デューティやスキューのばらつき補正回路としても用いることが出来る。【０１１３】
本発明のクロック調整回路は、通信機器の周波数変調回路や位相変調回路などの変調回路に適用可能とされ、様々な変調方式を１つの回路で実現できる、回路面積が小さくなる、などの効果が得られる。
【図面の簡単な説明】
【０１１４】
【図１】従来の構成を示す図である。
【図２】本発明のクロック調整回路が用いられるシステム構成を示す図である。
【図３】図２を説明する図である。
【図４】本発明の一実施例の構成を示す図である。
【図５】位相シフタの構成の別の例を示す図である。
【図６】多相クロック発生回路の構成の一例を示す図である。
【図７】多相クロック発生回路の構成の別の例を示す図である。
【図８】（ａ）、（ｂ）は、多相クロック発生回路の構成のさらに別の例と動作波形の例を示す図である。
【図９】（ａ）、（ｂ）は、多相クロック発生回路の構成のさらに別の例と動作波形の例を示す図である。
【図１０】（ａ）、（ｂ）は位相補完回路の構成と動作波形の例を示す図である。
【図１１】位相補完回路の動作波形の例を示す図である。
【図１２】位相補完回路の構成の別の例を示す図である。
【図１３】従来の遅延調整回路の構成を示す図である。
【図１４】図１３の回路の動作波形を説明する図である。
【図１５】（ａ）、（ｂ）は本発明の一実施例のクロック調整回路と動作波形の例の構成を示す図である。
【図１６】本発明の一実施例のクロック調整回路の構成を示す図である。
【図１７】図１６の回路の動作波形を説明する図である。
【図１８】本発明の一実施例のクロック調整回路の別の構成を示す図である。
【図１９】本発明の一実施例のクロック調整回路のさらに別の構成を示す図である。
【図２０】本発明の一実施例のクロック調整回路のさらに別の構成を示す図である。
【図２１】図２０の回路の動作を説明するタイミング波形図である。
【図２２】本発明の一実施例のクロック調整回路のさらに別の構成を示す図である。
【図２３】図２２の回路の動作を説明するタイミング波形図である。
【図２４】本発明の一実施例の制御回路の構成を示す図である。
【図２５】本発明の一実施例の制御回路の別の構成を示す図である。
【図２６】本発明の一実施例の制御回路のさらに別の構成を示す図である。
【図２７】図２６の回路の動作を説明するタイミング波形図である。
【図２８】本発明の一実施例の制御回路のさらに別の構成を示す図である。
【図２９】（ａ）、（ｂ）は本発明の別の実施例のクロック調整回路の構成を示す図である。
【図３０】本発明の別の実施例のクロック調整回路の構成を示す図である。
【図３１】本発明の実施例の動作を説明する図である。
【図３２】本発明の別の実施例のクロック調整回路の構成を示す図である。
【図３３】本発明の別の実施例のクロック調整回路の構成を示す図である。
【図３４】本発明の別の実施例のクロック調整回路の構成を示す図である。
【図３５】本発明の別の実施例のクロック調整回路の構成を示す図である。
【図３６】（ａ）、（ｂ）は本発明の実施例の構成を示す図である。
【図３７】本発明の一実施例の動作を説明する波形図である。
【図３８】（ａ）、（ｂ）は本発明の一実施例のテスト手順を示す流れ図と、説明図である。
【図３９】本実施例のジッタを説明する図である。
【図４０】（ａ）、（ｂ）は本発明の一実施例のテスト手順を示す流れ図と、説明図である。
【図４１】ジッタ周波数を説明する図である。
【図４２】（ａ）、（ｂ）は本発明の一実施例のテスト手順を示す流れ図と、説明図である。
【図４３】（ａ）、（ｂ）は本発明の一実施例のテスト手順を示す流れ図と、説明図である。
【図４４】（ａ）、（ｂ）、（ｃ）は本発明の一実施例のテスト手順を示す流れ図と、説明図と波形図である。
【図４５】（ａ）、（ｂ）は本発明の一実施例のテスト手順を示す流れ図と、説明図である。
【図４６】異なるクロックドメイン間で、クロックのスキューを調整した場合のクロック波形の例を示す図である。
【図４７】（ａ）、（ｂ）は本発明の一実施例のテスト手順を示す流れ図と、説明図である。
【図４８】（ａ）、（ｂ）は本発明の一実施例のテスト手順を示す流れ図と、説明図である。
【図４９】本発明の一実施例のテスト手順を示す流れ図である。
【図５０】本発明の別の実施例の構成を示す図である。
【図５１】本発明のさらに別の実施例の構成を示す図である。
【図５２】（ａ）、（ｂ）は図５１の実施例の動作マージンテスト例を説明する図である。
【図５３】図５１の実施例の動作マージンテスト例を説明する図である。
【図５４】図５１の実施例の変形例を示す図である。
【図５５】（ａ）、（ｂ）は図５４の実施例の動作マージンテスト例を説明する図である。
【図５６】本発明のさらに別の実施例の構成を示す図である。
【図５７】（ａ）、（ｂ）は図５６の実施例の動作マージンテスト例を説明する図である。
【図５８】本発明の別の実施例の構成を示す図である。
【図５９】（ａ）は図５８の実施例の動作マージンテスト例を説明する図、（ｂ）は電源変動とクロック周波数の位相差と動作マージンの関係の一例を示す図である。
【図６０】本発明の別の実施例の構成を示す図である。
【図６１】本発明の別の実施例の構成を示す図である。
【図６２】図６１の実施例の動作マージンを説明する図である。
【図６３】本発明の別の実施例の構成を示す図である。
【図６４】本発明の別の実施例の構成を示す図である。
【図６５】本発明の別の実施例の構成を示す図である。
【符号の説明】
【０１１５】
１１  遅延素子
１２  セレクタ
１３  可変遅延素子
２１  ＰＬＬ
２２  セレクタ
２３  クロック調整回路
２４  クロック分配回路
２５  論理回路／入出力回路／メモリ
４０  位相シフタ
４１、４２  セレクタ
４３  位相補完回路
４４  Ｌ相クロック発生回路
５０  位相シフタ
５１  位相補完回路
５２  セレクタ
５３  Ｌ相クロック発生回路
６０  多相クロック発生回路
６１  位相比較器
６２  チャージポンプ
６３  ループフィルタ
６４  発振器
６５  インバータ
６６  遅延回路
７０  多相クロック発生回路
７１  位相比較器
７２  チャージポンプ
７３  ループフィルタ
７４  遅延回路
８０  多相クロック発生回路
８１  Ｄ型フリップフロップ
８２、８３  インバータ
９１  遅延回路
９２、９５、９６  インバータ
９３、９４  位相補完回路
１０１、１０２、１０３、１０４  ＮＭＯＳトランジスタ
１０５、１０７  スイッチトランジスタ
１０６、１０８  定電流源
１２０  トライステートバッファ
１２１、１２３、１２５、１２６  ＰＭＯＳトランジスタ
１２２、１２４、１２７、１２８  ＮＭＯＳトランジスタ
１３０  遅延調整回路
１３１  位相シフタ
１３２  カウンタ
１３３  位相比較器
１５０、１６０、１８０  クロック調整回路
１５１、１６１、１６２、１８１、１８２  位相シフタ
１５２、１６４、１８４  制御回路
１６３、１８３  ２入力セレクタ
１８５  遅延素子  １９０  クロック調整回路
１９１、１９２、１９３、１９４  位相シフタ
１９５、１９６  ２入力セレクタ
１９７  制御回路  ２００  クロック調整回路
２０１、２０２、２０３、２０４  位相シフタ
２０５、２０６  ２入力セレクタ
２０７  制御回路
２２０  クロック調整回路
２２１  位相シフタ
２２３、２２４  Ｎ入力セレクタ
２２５  位相補完回路
２２６  論理回路
２２７  制御回路
２４０  制御回路
２４１  加算器
２４２  レジスタ
２４３  位相シフタ
２５０  制御回路
２５１  加算器
２５２  レジスタ
２５３  １／２倍または１ビットシフト回路
２５４  加算器
２５６、２５７  位相シフタ
２５８  セレクタ
２６１  加算器
２６２  レジスタ
２６３  １／２倍または１ビットシフト回路
２６４  １／４倍または２ビットシフト回路
２６５  １／２倍または１ビットシフト回路
２６６  位相シフタ
２６７  セレクタ
２８１  １／２倍または１ビットシフト回路
２８２  １／４倍または２ビットシフト回路
２８３  加算器
２８４  加算器
２８６  位相シフタ
２８５  スキュー制御コード加算器
２９１  位相シフタ
２９２  制御回路
２９３  メモリ
２９４  アドレスデコーダ
２９５  カウンタ
２９６  シフトレジスタ
３０１  位相シフタ
３０２  制御回路
３０３  乱数発生回路
３２１  位相シフタ
３２２  制御回路
３３１、３３２  位相シフタ
３３３  セレクタ
３３４  制御回路
３４１〜３４４  位相シフタ
３４５、３４６  セレクタ
３４７  制御回路
３５０  クロック調整回路
３５１  位相シフタ
３５２  制御回路
３５３  位相比較器
３５４  バッファ
３５５  論理回路／メモリ回路／入出力回路
３６１  ＰＬＬ
３６２、３６５  クロック調整回路
３６３  クロック分配回路（クロックツリーバッファ）
３６４  論理回路／メモリ回路／入出力回路
３６６  位相比較器
５０１  クロック調整回路
５０２  ＢＩＳＴ回路
５１０、５６０、５８０、６００、６１０、６３０、６４０、６５０  半導体集積回路
５１１、５６１、６０１、６３１、６４１、６５１  クロック調整回路
５１２、５６２、６０２、６３２、６４２、６５２  テスト対象回路
５１３、５６３、６０３、６５３  オンチップ波形観測回路
５１４、５６４、６０４、６３４、６４４、６５４  制御回路
５１５  電源線（電源端子）
５１６  接地線（接地端子）
５８１  エラー検出回路
６０５  ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）
６０６  クロックバッファ
６０７  遅延調整回路
６０８  エラー検出回路
６３３  温度測定回路（オンチップ温度センサ）
６４３、６５６  レプリカ回路
【発明を実施するための最良の形態】
【０１１６】
本発明は、クロック周期、デューティ比、クロックドメイン間のスキューなどを調整できる回路を半導体集積回路に内蔵する。半導体集積回路のテスト時には、この回路を用いて半導体集積回路内部のクロック信号のクロック周期、デューティ、クロックドメイン間のスキューなどを調整しながら動作テストを行い、それぞれの動作マージンを検出する。動作マージンが少ないＬＳＩ（被テスト対象のデバイス；Ｄｅｖｉｃｅ  Ｕｎｄｅｒ  Ｔｅｓｔ）は選別テストで不合格とし、マージンが大きく取れる半導体集積回路だけを出荷する。【０１１７】
また、半導体集積回路出荷後にもこの調整回路を用いて、クロック周期、デューティ、スキューなどに対するマージンの自己テストを行い、マージンが規定値よりも少なくなった場合には、警告を出したり、動作を安全に停止させたり等の操作を行う。【０１１８】
半導体集積回路内部のクロック周期、デューティ、スキューなどを調整できる回路の構成例として、半導体集積回路内部に、任意の位相のクロック信号を発生できる回路（「位相シフタ」という）を用意し、出力するクロックの位相を動的に切り替えることで、半導体集積回路内部のクロック周期を任意に調整できる構成を用いた。３６０度をＮ分割した任意のクロック位相を出力できる回路を用意することで、クロック位相を無限にシフトさせることができる。この回路は例えば、多相クロック発生回路と、セレクタ回路と、位相補完回路を組み合わせて実現することができる。【０１１９】
位相シフタを用いることにより、無限のサイクル数または、任意のサイクル数のクロックに対して、周期やデューティを調整することができる。また、クロック位相を任意のタイミングに調整できるので、他のクロックドメインに対するクロックスキューの制御も可能になる。この位相シフタ回路を用いると、クロックの位相は、３６０度／Ｎの単位で、調整されるので、ユーザーはクロック位相の変動量を正確に把握することが出来る。【０１２０】
位相シフタを制御する制御回路は、クロック信号の位相がユーザーの所望の値になるような制御を行う。この制御回路は、半導体集積回路のテストに必要となる、クロック周期の制御、ジッタ振幅およびジッタ周波数の制御、デューティ比の制御、参照クロックなどの他のクロックとの位相差、などを制御する機能を有する。この制御は、アキュムレータ回路を用いて、クロック位相の加算または減算を行うことで実現できる。このアキュムレータの構成を工夫することで、クロック信号のデューティを１：１程度に保ちながら、クロック周期を調整できる構造を発明した。クロック周期、デューティ比、遅延を、１０ｐｓ以下の単位で調整可能である。【０１２１】
またユーザーによって、任意の位相変動のパターンをプログラムできるように、メモリやレジスタ回路を用いてベクトルテーブルを構成し、プログラムされた制御信号を順次出力するような構成も考えられる。これを用いることで、ユーザーが定義した特定のクロックのタイミング変動に対する動作テストが可能になる。【０１２２】
また、この制御回路の内部に乱数発生回路を持たせることで、位相シフタにランダムジッタを発生させることもできる。これを用いることで、ランダムジッタに対する動作マージンテストも可能になる。【０１２３】
位相シフタ回路は、通常、クロック位相を変化させる時に、ジッタを発生してしまう場合がある。これは、クロック位相を変化させるための制御信号を与えてから、出力クロックの位相が所望の位相に切り替わるまでに、一定の遅延時間が生じるためである。この遅延時間の間に出力クロックのエッジが現われると、クロックエッジのタイミングが不安定になり、ジッタが発生してしまう。特に、この現象は、１クロックサイクルの間にクロック位相を大きくシフトさせる場合に顕著に現われる。【０１２４】
本発明が意図している半導体集積回路のテストでは、クロック周期やクロック位相を大きく変動させてマージンテストを行いたいので、１クロックサイクルの間にクロック位相を大きくシフトさせる操作を多用する。【０１２５】
しかし、半導体集積回路のテストにおいて、ユーザーが意図しないジッタが発生してしまうと、そのジッタによって半導体集積回路が誤動作を起こしてしまう可能性があり、正しいマージンテストができない。【０１２６】
そこで、位相シフタ回路によるクロック位相の切り替え時に発生するジッタを抑制する回路構成も、本発明の１つである。【０１２７】
本発明においては、位相シフタを複数個用意することで、それぞれの位相シフタが、クロック信号の立ち上がりエッジと立ち下がりエッジのうちいずれか一方だけの位相を調整する構成としている。複数個の位相シフタの出力を、動的に切り替えながら用いることで、位相シフタがクロック位相を変化させる時に一時的に現われる不安定な信号が、チップを動作させるクロック信号に伝わることを抑止（回避）することができる。これにより、クロック信号のジッタを小さくすることができる。【０１２８】
また、この位相シフタを複数個用いる構成の本発明によれば、位相シフタを制御する制御信号を、１クロックサイクルに１回以下の頻度で発生すればよいことから、制御回路の構成が容易になる。このため、本発明によれば、特に高い周波数を扱うクロック調整回路を構成することが可能になる。【０１２９】
位相シフタを複数個用いる構成では、１つの位相シフタが正確に出力しなければならないクロックエッジが、立ち上がりエッジか立ち下がりエッジのいずれか一方でよいことから、位相シフタを制御する制御信号は、立ち上がりエッジの間隔または立ち下がりエッジの間隔で、発生すればよい。【０１３０】
また、位相シフタの出力信号がセレクタで選択されていない間（時間期間）であれば、どのタイミングでクロック位相を切り替えても、出力クロックに影響しないため、制御回路が出力する制御信号のタイミングの設計が容易である。【０１３１】
従来のクロック調整回路では、１クロックサイクルの間に、立ち上がりエッジの制御信号と立ち下がりエッジの制御信号の２つの信号を発生する必要があった。【０１３２】
そのため、制御回路の動作速度の限界から、高いクロック周波数で動作できない問題があったが、これを解決した。【０１３３】
また、クロック位相の切り替えは、立ち上がりエッジと立ち下がりエッジの間と、立ち下がりエッジと立ち上がりエッジの間に行わなければならず、クロック位相の切り替えのタイミング制御に高い精度が必要であったが、本発明は、この点も解決した。【０１３４】
本発明は、従来のＬＳＩのテストよりも厳しい条件でＬＳＩの不良・故障を検出する手法を提供する。【０１３５】
そのために、ＬＳＩ上にクロック信号の周期、デューティ、スキューなどを調整するためのクロック調整回路を搭載する。実機の基板または実機に見立てたテスト用基板に搭載されたＬＳＩにおいて、ＬＳＩを動作させながらＬＳＩ内部のクロック信号の、（１）周期、（２）デューティ比、（３）スキュー、（４）ジッタ、などに外乱を与える。これらのパラメータの外乱に対する動作マージンを検出することで、よりマージンが大きくて信頼性が高いＬＳＩを選別する。【０１３６】
従来のクロック調整回路（例えば特許文献１、２）とは異なり、本発明によれば、連続する無限または任意のサイクル数のクロック信号に対して、１）周期、（２）デューティ比、（３）スキュー、（４）ジッタ、などに外乱を、クロックサイクル単位に与えることが可能になる。【０１３７】
本発明のかかる特徴により、故障や不良の検出漏れを、さらに縮減することを可能としており、信頼性のより高い半導体集積回路を選別して出荷することを可能としている。【０１３８】
従来の回路構成では、クロックの位相調整にインバータ遅延などを用いているため、１段階の調整で変動する位相が未知である、という問題があった。【０１３９】
本発明によれば、クロック１周期（３６０度）をＮ分割した位相が、調整１段階あたりの変動量になるため、テスト結果から動作マージンの位相や時間の絶対値を把握することを容易としている。【０１４０】
また、本発明は、従来の遅延調整回路で用いられている、クロック位相の調整方法とは異なり、
クロックパルスの
（１）両エッジの位相を動的に制御できる、
（２）１サイクルで変動させられるクロック位相の調整幅が大きい、
（３）クロック位相の調整時に発生するジッタが小さい、
といった効果がある。【０１４１】
本発明のクロック調整回路を半導体集積回路に内蔵することにより、出荷後にも実機上で動作マージンの自己テストをすることが可能になり、経年劣化などによる故障を未然に防ぐことにも有用である。【０１４２】
本発明のクロック調整回路は、無限のサイクル数のクロック信号の周期を調整できることから、周波数シンセサイザとして用いることができる。【０１４３】
そして、本発明のクロック調整回路は、ＰＬＬを用いた周波数シンセサイザに比べて回路面積が小さく出来るほか、設計が容易であるという効果がある。さらに、制御回路に乱数または擬似乱数を発生する回路を付加することで、クロック信号の位相をランダムに変動させることができ、スペクトラム拡散などの機能を実現することが可能である。【０１４４】
本発明のクロック調整回路は、クロック信号のデューティやスキューが調整できるので、デューティやスキューのばらつき補正回路としても用いることが出来る。【０１４５】
特に、近年の半導体集積回路の微細化に伴い、半導体集積回路の特性や信号品質のばらつきが大きくなってきており、これらの補正回路の必要性が高くなってきている。従来は、半導体集積回路の特性や信号品質のばらつきを補正するための専用回路が搭載されていた。これに対して、本発明のクロック調整回路を用いることで、テスト回路や周波数シンセサイザとも一体化でき、小面積化と低電力化が実現可能になる。また、これらの回路の制御が統合化されることから、その制御が容易化するという利点もある。【０１４６】
また、本発明のクロック調整回路は、瞬時にクロック周波数やクロック位相を切り替えることが出来るので、通信機器の周波数変調回路や位相変調回路などの変調回路として用いることもできる。【０１４７】
従来の変調回路は、通常、アナログ回路で構成されていたので、設計が困難であり、また、パッシブ素子の面積が大きいなどのデメリットがあった。【０１４８】
本発明のクロック調整回路においては、デジタル回路で変調を行うことが可能とされているため、設計の容易化を実現し、さらに、様々な変調方式を１つの回路で実現可能であり、回路面積を縮減できる等の各種効果を奏する。以下実施例に即して説明する。
【実施例】
【０１４９】
図１５（ａ）は、本発明の一実施例のクロック調整回路の構成を示す図である。クロック調整回路１５０は、位相シフタ１５１と、制御回路１５２を備えている。位相シフタ１５１は、入力クロックと出力クロックの間の位相差を調整する回路であり、その位相差は、制御回路１５２から与えられる制御信号によって決定される。【０１５０】
入力クロックと出力クロックの間の位相差はＮ段階（Ｎは整数）で調整され、調整１段あたりのクロック位相の変動量は約３６０／Ｎ度であり、クロックの遅延の変動量Ｔ／Ｎ（Ｔはクロック周期）である。【０１５１】
位相シフタ１５１は、例えば、図４や図５に示したような回路構成が用いられる。他の構成であってもよいことは勿論である。【０１５２】
出力クロックの各エッジの位相を変動させるためには、各エッジが出力される前に、制御回路から所望の制御信号を与えればよい。【０１５３】
図１５（ｂ）は、図１５（ａ）に示したクロック調整回路の動作を説明するためのタイミングチャートである。例えば、出力クロックに最初の立ち下りエッジが現われる前に、制御信号Ｆ０を与えることで、立ち下りエッジの位相を変えることができる。【０１５４】
図１５（ｂ）の例では、この最初の立ち下りエッジの位相を進めて、クロック周期を短くしている。また、次の立ち上がりエッジがくる手前で、制御信号Ｒ１を与えることで、立ち上がりエッジの位相を変えている。このように、各エッジが現われる少し手前のタイミングで制御信号を変化させることで、各クロックエッジの位相を自在に変えることが出来るので、１サイクル毎にクロック周期やデューティなどを調整することができる。【０１５５】
図１５（ａ）に示したクロック調整回路において、クロックパルスの立ち上がりエッジと立ち下りエッジの両方の位相を可変に制御するには、制御回路１５２から位相シフタ１５１に入力される制御信号を、１クロックサイクルの間に、２回変化させなければならない。【０１５６】
制御信号を生成する制御回路１５２は、一般に、論理回路で生成されるが、この論理回路が出力クロック周波数の２倍の周波数で動作しなければならない。クロック周波数が低い場合には、図１５（ａ）の構成でよいが、クロック周波数が高い場合には、論理回路が正常に動作できなくなる。【０１５７】
また、位相シフタ１５１は、一般に、出力クロックの位相を変えた直後はクロック信号の電圧が安定しない。特に、１回の位相シフトでクロック位相を大きく変える場合には、この現象が顕著に現われる。位相シフタ１５１がクロック位相を切り替える時に、位相シフタ１５１内部で持っているスイッチ回路（例えば図１０のスイッチトランジスタ１０５、１０７）を切り替えるが、この切り替えに遅延が生じる。このスイッチを切り替える前の位相から、所望の位相に完全に切り替わるまでの遷移期間中に、クロック信号の電圧が若干安定になるタイミングがある。このクロック信号の電圧が安定しない状態は、一般に数十ｐｓから数百ｐｓで収束する。しかし、クロック信号の電圧が安定しない状態で次のクロックエッジが現われてしまうと、クロックエッジのタイミングが不安定になり、ジッタが発生してしまう。【０１５８】
そのため、クロック位相の切り替えを行うタイミング（制御信号を変化させるタイミング）は、次の出力クロックのエッジのタイミングに対して、十分に余裕を持っていなければならない。低周波数のクロック信号ではこのことは問題にならないが、高周波のクロック信号の位相を調整する場合には、制御信号を変化させるタイミングの制御が非常に難しくなるか、あるいは出力クロックにジッタが発生してしまうという問題がある。【０１５９】
図１６は、これらの問題を改善した本発明の一実施例に係るクロック調整回路の別の構成例を示す図である。図１６を参照すると、このクロック調整回路は、２つの位相シフタ１６１、１６２の出力を、セレクタ１６３で交互に選択して出力する。２つの位相シフタ１６１、１６２は、クロックを共通に入力し、出力が、セレクタ１６３に入力され、セレクタ１６３では、選択制御信号ＳＥＬの値に応じて一方を選択出力し、２つの位相シフタ１６１、１６２には、制御回路１６４から位相シフト量を制御する制御信号Ａ、Ｂが供給される。例えば、位相シフタ１が立ち上がりエッジを出力する前後のタイミングでは、セレクタ１６３が位相シフタ１の出力（Ａ）を選択して出力し、位相シフタ２が立ち下がりエッジを出力する前後のタイミングでは、セレクタ１６３が位相シフタ２の出力（Ｂ）を選択して出力する。【０１６０】
図１７は、図１６のクロック調整回路の動作を説明するためのタイミングチャートであり、位相シフタ１６１、１６２の出力Ａ、Ｂ、出力クロック、ＳＥＬ、制御信号Ａ、制御信号Ｂのタイミング波形が示されている。出力クロックは、セレクタの制御信号ＳＥＬの値に基づいて、位相シフタ１の出力（Ａ）と位相シフタ２の出力（Ｂ）を交互に選択して出力する。【０１６１】
位相シフタ１には、出力（Ａ）が所望のタイミングで立ち上がりエッジを出力するように、制御信号Ａが与えられる。【０１６２】
同様に、位相シフタ２には、出力（Ｂ）が所望のタイミングで立ち上がりエッジを出力するように、制御信号Ｂが与えられる。【０１６３】
位相シフタ１の出力（Ａ）の立ち下がりエッジの位相と、位相シフタ２の出力（Ｂ）の立ち上がりエッジの位相はどのような位相であっても構わない。【０１６４】
図１６の回路構成においては、制御信号を変化させる周期が、出力クロックの周期と同じである。つまり、制御回路１６４は、出力クロックの周波数で動作すればよい。【０１６５】
また、制御信号Ａを変化させるタイミングは、位相シフタ１の出力（Ａ）の立ち上がりエッジと次の立ち上がりエッジの間であればよい。【０１６６】
同様に、制御信号Ｂを変化させるタイミングは、位相シフタ２の出力（Ｂ）の立ち下がりエッジと次の立ち下がりエッジの間であればよい。【０１６７】
図１５（ａ）の構成の場合、制御回路１５２は出力クロックの２倍の周波数で動作しなければならなかったのに比べて、図１６の構成の場合、制御回路１６４の動作周波数が低くてすむ。【０１６８】
また、制御信号を変化させることができるタイミングも、図１５の構成よりも、図１６の構成の方が広くとれるので、制御信号のタイミング設計が容易であるという利点がある。さらに、図１６の構成において、位相シフタ１６１、１６２が出力クロックの位相を切り替えるタイミングでは、位相シフタの出力がセレクタ１６３で遮断されて外部に出力されない。これにより、位相シフトの際に発生するクロック信号の電圧が不安定な状態が、外部に出力されるクロック信号に伝播されることは抑止され、出力クロックの波形が綺麗に保たれ、ジッタを小さくすることができる。【０１６９】
図１６において、セレクタの選択制御信号端子ＳＥＬの信号は、出力クロックと同じ周波数で、位相が出力クロックよりも遅れているか進んでいるものを用いてもよい。この場合、ＳＥＬ信号の位相は、出力クロックに対して９０度遅れているか、９０度進んでいるものが望ましい。【０１７０】
図１８は、本発明の実施例において、出力クロックから、セレクタ１８３の選択制御信号ＳＥＬを生成する場合の回路構成を示している。セレクタ１８３の選択制御信号ＳＥＬは、出力クロックを遅延素子１８５で遅延させた信号が用いられる。この回路で、出力クロックとＳＥＬ端子の間の遅延は、クロック周期の１／４程度が好ましい。【０１７１】
図１９は、多相クロック出力を有する本発明の実施例のクロック調整回路の構成の一例を示す図である。図１９を参照すると、このクロック調整回路は、図１８の１対の位相シフタとセレクタの組を、２組備え、制御回路は４つの位相シフタに制御信号Ａ、Ｂ、Ｃ、Ｄを与える。この回路では、出力クロック１と出力クロック２が異なった位相のクロック信号を出力する。例えば、４相クロックが必要な回路などで、出力クロック１に対して９０度遅れた出力クロック２が必要な場合などに有用である。【０１７２】
図１９のクロック調整回路において、４相クロックを発生させる場合、例えば位相シフタ１（１９１）は立ち上がりエッジ、位相シフタ２（１９２）は立ち下がりエッジ、位相シフタ３（１９３）は立ち上がりエッジ、位相シフタ４（１９４）は立ち下がりエッジのタイミングを調整する。【０１７３】
ここで、位相シフタ３（１９３）が生成する立ち上がりエッジのタイミングは、位相シフタ１（１９１）の出力（Ａ）の立ち上がりエッジと位相シフタ２（１９２）の出力（Ｂ）の立ち下がりエッジの中間のタイミングを生成する。【０１７４】
同様に、位相シフタ４（１９４）が生成する立ち下がりエッジのタイミングは、位相シフタ２（１９２）の出力（Ｂ）の立ち下がりエッジと位相シフタ１（１９１）の出力（Ａ）の立ち上がりエッジの中間のタイミングを生成する。【０１７５】
２入力セレクタ１（１９５）は、選択制御信号端子ＳＥＬ１の入力値によって、Ａの立ち上がりエッジとＢの立ち下がりエッジを選択して、出力クロック１に出力する。【０１７６】
同様に、２入力セレクタ２は、選択制御信号端子ＳＥＬ２の入力値によって、Ｃの立ち上がりエッジとＤの立ち下がりエッジを選択して、出力クロック２に出力する。【０１７７】
ここで、選択制御信号端子ＳＥＬ１に与えられる信号は出力クロック１から９０程度位相が進んでいるか遅れている波形が好ましい。同様に、選択制御信号端子ＳＥＬ２に与えられる信号は出力クロック２から９０程度位相が進んでいるか遅れている波形が好ましい。【０１７８】
出力クロック１と出力クロック２の位相が互いに９０度ずれている場合には、図２０に示すように、出力クロック１を、セレクタ２（２０６）の選択制御信号ＳＥＬ２とし、出力クロック２を、セレクタ１（２０５）の選択制御信号ＳＥＬ１に接続してもよい。図２１は、図２０の回路の動作波形を示したものである。【０１７９】
図２２は、本発明の一実施例のクロック調整回路の構成の一例を示す図である。位相シフタ２２１は、Ｎ入力の中の１つを選択するセレクタ２２３、２２４と、セレクタ２２３、２２４の出力を受ける位相補完回路２２５と、制御回路２２７からの制御信号を受け、セレクタ２２３、２２４の選択と、位相補完回路２２５の位相補完量を制御する信号を生成する論理回路２２６を備えている。クロック入力端子から多相クロック信号を入力し、それらの中から所望のクロック位相に近い位相の２つのクロック信号をセレクタ２２３、２２４で選択する。セレクタ２２３、２２４で選択された２つの位相のクロック信号が位相補完回路２２５に入力され、位相補完回路２２５は、２つの位相の間の任意の位相を補完して生成し、クロック出力端子に出力する。これにより、任意の位相のクロック信号を取り出すことができる。【０１８０】
ここで、クロック入力端子に入力される多相クロック信号は、図２３の（ａ）乃至（ｈ）に示すように、各のクロック入力の位相差が等間隔のものである。多相クロック生成回路は、図６乃至図９、位相補完回路は、図１０または図１２に示した構造のものを用いてもよい。【０１８１】
図２４は、本実施例のクロック調整回路の制御回路（位相シフタのシフト量を可変制御する制御回路）の構成の一例を示す図である。図２４を参照すると、この制御回路２４０は、加算器２４１と、レジスタ２４２とを備え、加算器２４１は、クロック周期制御コードΔＰｅｒｉｏｄと、レジスタ２４２の出力を加算した結果を制御信号として出力する。クロック周期を調整するためには、位相シフタ２４３の制御信号を、現在の位相から進めるか又は遅らせればよい。例えば、毎クロックサイクルで、位相シフタ２４３の制御信号の値をＮずつ加算すると、位相シフタ２４３が出力するクロック信号の位相は毎クロックΔθずれる。結果としてクロック周期がΔＴ変動する。【０１８２】
図２４の制御回路２４０のように、位相シフタ２４３に与える制御信号を、毎クロックΔＰｅｒｉｏｄずつ加算する制御回路２４０を用いることで、位相シフタが出力するクロック周期を変えることができる。【０１８３】
また、このΔＰｅｒｉｏｄを毎クロック変えることで、位相シフタ２４３から出力されるクロック信号にジッタを発生させることができる。【０１８４】
図１３に示したような遅延調整回路では、入力クロックの周期に対して、位相シフタ１３１の分解能１ステップ分の時間を加算または減算した周期のクロックしか出力できなかった。【０１８５】
図２４に示した構成の制御回路２４０を用いると、位相シフタ２４３の任意ステップ数だけ位相をシフトできるので、位相シフタが出力できるクロック周期の範囲が広がる。【０１８６】
また、図１３の回路では、参照クロックの周期や位相を調整しなければ、連続するＮサイクルの出力クロックの周期を調整することが出来なかったが、図２４の回路では、参照クロックを用いずに、クロック周期を調整することが可能である。【０１８７】
図２５は、本実施例におけるクロック調整回路の制御回路の構成の別の例を示す図である。この制御回路２５０は、図１６に示した位相シフタを２つ用いセレクタで選択する構成のクロック調整回路の制御回路に用いられる。制御回路２５０、位相シフタ２５６、２５７、セレクタ２５８は、図１６の制御回路１６４、位相シフタ１６１、１６２、セレクタ１６３に対応する。図２５において、制御回路２５０から位相シフタ１（２５６）に入力される制御信号Ａの生成の仕方は、図２４の制御回路２４０から位相シフタ２４３に入力される制御信号の生成の仕方と同じである。【０１８８】
図１６に示したクロック調整回路では、例えば位相シフタ１（１６１）が立ち上がりエッジの位相を制御するものだとすると、位相シフタ２（１６２）は立ち下がりエッジの位相を制御するために用いられる。立ち上がりエッジ同士の間隔が、ΔＰｅｒｉｏｄ変動した場合に、立ち下がりエッジの位置を２つの立ち上がりエッジの中間に調整するためには、立ち下がりエッジを、ΔＰｅｒｉｏｄ／２変動させればよい。【０１８９】
そこで、図２５に示すように、位相シフタ２（２５７）の制御信号Ｂは、現在の位相から、ΔＰｅｒｉｏｄ／２だけ変動するように構成されている。制御信号Ｂは、クロック周期制御コードを、ΔＰｅｒｉｏｄの１／２倍、したがって、ΔＰｅｒｉｏｄコードを１ビットシフト（右シフト）する回路２５３と、回路２５３の出力とレジスタ２５２の出力を加算した結果を制御信号Ｂとして出力する加算器２５４を備えている。制御回路２５０を用いることで、クロック信号のデューティ比を、１：１に保ったまま、クロック周期を調整することができる。【０１９０】
図２５に示した構成の制御回路を、図１６に示した本発明のクロック調整回路で用いる場合、制御信号Ａが変化するタイミングと、制御信号Ｂが変化するタイミングは、図１７に示したように、互いにクロック周期の半分程度ずれていることが好ましい。【０１９１】
図２６は、図１９で示した位相シフタを４つ用いる本発明の４相クロック調整回路の制御回路の構成の一例を示す図である。図２６を参照すると、位相シフタ１（２６６１）に入力される制御信号Ａと、位相シフタ２（２６６２）に入力される制御信号Ｂの生成の仕方は、図２５のものと同じである。図１９に示したクロック調整回路において、位相シフタ３は、位相シフタ１が出力する立ち上がりエッジと位相シフタ２が出力する立ち下がりエッジの中間のタイミングで、立ち上がりエッジを出力する。【０１９２】
クロック周期が元のクロック周期に対して、ΔＰｅｒｉｏｄ変動している場合、図２５の例で示したように位相シフタ２が出力するクロックエッジは、ΔＰｅｒｉｏｄ／２変動する。【０１９３】
図２６において、位相シフタ３（２６６３）が出力するクロック位相は、位相シフタ１（２６６１）と位相シフタ２（２６６２）が出力する位相の中間点であることから、クロックエッジの変動量は、ΔＰｅｒｉｏｄ／４になる。従って、位相シフタ３（２６６３）に入力される制御信号Ｃは、現在の位相（レジスタ２６２の出力）に、ΔＰｅｒｉｏｄ／４を加算した値を出力すればよい。ΔＰｅｒｉｏｄ／４は、例えばΔＰｅｒｉｏｄコードを２ビットシフト（右シフト）することで得られる。【０１９４】
同様にして、位相シフタ３（２６６３）が出力する位相は、位相シフタ２（２６６２）が出力する位相（ΔＰｅｒｉｏｄ／２変動）と、位相シフタ１（２６６１）が次に出力する位相（ΔＰｅｒｉｏｄ変動）の中間点であることから、その変動量は、３×（ΔＰｅｒｉｏｄ／４）である。【０１９５】
ただし、この位相は、位相シフタ３（２６６３）が出力するクロック位相に、ΔＰｅｒｉｏｄ／２を加えたものと等しいので、図２６のように、位相シフタ３（２６６３）に与えられる制御信号Ｃに、クロック周期制御信号ΔＰｅｒｉｏｄの１／２を加算した値を制御信号Ｄとして用いることができる。この様子を、波形図として、図２７に示す。図２７において、（ａ）は元の周期のクロック、（ｂ）は元の周期のクロックの９０度遅れのクロック、（ｃ）は図２６の出力クロック１、（ｄ）は図２６の出力クロック２のタイミング波形である。図２６のような制御回路２６０を用いることで、４つのクロックエッジ（出力クロック１の立ち上がりエッジと立ち下がりエッジ、出力クロック２の立ち上がりエッジと立ち下がりエッジ）の間隔を等しく保ったまま、クロック周期を調整することができる。【０１９６】
図２８は、図２６に示した本発明の制御回路に、クロック位相、デューティやスキュー遅延を制御する機能を備えた構成を示す図である。加算器２８３の出力と位相シフタ２８５の入力の間に、クロック位相、デューティやスキュー遅延を制御するための制御コードを加算するＮビット加算器２８４を備えている。【０１９７】
図２５、図２６で示した制御回路では、出力クロックのデューティ比を１：１程度に保ったままクロック周期を変えている。ここで、出力クロックのデューティ比なども調整したい場合には、別途そのための回路が必要になる。【０１９８】
図２８に示す構成によれば、図２６に示した制御回路で生成された制御信号Ａ〜制御信号Ｄに、さらに、個別に制御コードを加算することで、４つのクロックエッジのタイミングを個別に調整することができる。これにより、出力クロックのデューティや遅延などを調整することができる。【０１９９】
本実施例のクロック調整回路の制御回路は、ユーザーによって予めプログラムされた制御信号を出力するように構成することも可能である。【０２００】
図２９（ａ）は、本発明の別の実施例の制御回路の構成を示す図であり、メモリを用いた制御回路の構成の一例を示す図である。ユーザが予めメモリ２９３に位相シフタ２９１の制御信号のパターンを書き込んでおき、そのデータを順次位相シフタ２９１に送ることで、任意のパターンのクロック信号を発生させる。カウンタ２９５のカウント値をアドレスデコーダ２９４でデコードしたアドレスがメモリ２９３に供給される。【０２０１】
図２９（ｂ）は、シフトレジスタ２９６を用いた制御回路の構成の一例を示す図である。ユーザーが予めシフトレジスタ２９６に位相シフタ２９１の制御信号のパターンを書き込んでおき、そのデータをシフトしながら順次位相シフタ２９１に送ることで、任意のパターンのクロック信号を発生させる。【０２０２】
図３０は、本発明の別の実施例の制御回路の構成を示す図であり、乱数発生回路３０３を用いた例である。乱数を位相シフタ３０１の制御信号として用いることで、ランダムジッタを発生させることができる。これは、スペクトラム拡散などを実現する場合に必要となる構成である。また、擬似的にランダムジッタを大きくすることで、半導体周期回路のランダムジッタに対する動作マージンテストなどを行うことも可能になる。【０２０３】
本実施例のクロック調整回路を用いて、クロック周期の調整を行った場合、図３１に示すように、位相シフタに与える制御信号も出力クロックと同期して与えられなければならない。【０２０４】
例えば、クロック周期を１０％短くした場合には、位相シフタの制御信号の周期も１０％短くしなければならない。そのため、制御回路は位相シフタの出力クロックによって駆動されることが望ましい。【０２０５】
図３２、図３３、図３４はそれぞれ、図１５、図１６、図１９に示した回路における、制御回路のクロック入力端子の接続例を示している。【０２０６】
図３２においては、制御回路３２２のクロック入力端子には、位相シフタ３２１の出力クロック信号が入力される。【０２０７】
図３３においては、制御回路３３４のクロック入力端子には、セレクタ３３３の出力クロック信号が入力される。【０２０８】
図３４においては、制御回路３４７のクロック入力端子には、セレクタ３４５、３４６の出力クロック信号がそれぞれ入力される。【０２０９】
図３５は、本実施例のクロック調整回路３５０の制御回路３５２に、位相比較器３５３を接続した例である。クロック調整回路３５０の出力クロックの位相を調整する場合には、参照クロックや、他の回路のクロックなど、基準になるクロックとの相対的な位相関係を把握する必要がある。【０２１０】
位相比較器３５３は、２つの入力クロックのうち、どちらのクロックの位相が進んでいるかあるいは遅れているかといった情報を出力することができる。【０２１１】
図３５に示した回路構成を用いることで、位相シフタの制御信号の値をどの程度に設定したときに、クロック調整回路３５０の出力クロック信号の位相が、参照クロックや他の回路のクロックの位相と合うのかを把握することができる。【０２１２】
制御回路３５２がクロックの位相を調整する場合に、この位相比較器３５３から出力される情報を用いることで、より精度の高い位相の合わせこみが可能になる。【０２１３】
本実施例において、クロック調整回路３５０は、半導体集積回路内部のクロック信号の位相を、他のクロックの位相と比較しながら任意の位相に設定できる。【０２１４】
しかし、図３６（ａ）に示すようなクロック系の場合、半導体集積回路内部（Ｂ点）のクロック信号の位相は、外部（Ａ点）からのクロック信号の位相と合うようにＰＬＬ３６１によってフィードバック制御される。そのため、Ｂ点のクロックの位相を任意に設定することができない。【０２１５】
そこで、図３６（ｂ）に示すような、クロック系を構成することで、半導体集積回路内部のクロック位相を任意に制御できるようになる。【０２１６】
図３６（ｂ）の構成では、ＰＬＬ３６１はＡ点とＣ点のクロック信号の位相を合わせようとフィードバック制御を行うが、Ｂ点のクロック信号の位相は任意である。Ａ点とＢ点のクロック信号の相対的な位相差を調整したい場合には、クロック調整回路でクロックの位相を調整しながら、位相比較器３６６の出力を観測すればよい。【０２１７】
以上で説明した機能を有する回路を、半導体集積回路の内部に搭載することで、図３７に示すように、任意のＮサイクルのクロック周期等を縮めるか、あるいは伸ばすことができる。【０２１８】
例えば、図２４乃至図２６に示した制御回路で、出力クロックのＮサイクルの間、適切な制御コードΔＰｅｒｉｏｄを与えることで、クロック周期を所望の値だけ縮めた図３７のようなクロック信号を得ることができる。図３７（ａ）、（ｂ）は、クロック調整回路の入力（ＰＬＬの入力）とクロック調整回路の出力クロックである。【０２１９】
図２４乃至図２６に示した制御回路で、ΔＰｅｒｉｏｄにゼロ以外の値を与えることで、制御信号の値は徐々に増加または減少する。これによって、位相シフタが出力する位相の進み量または遅れ量が徐々に増加または減少する。【０２２０】
これは、図３７（ｂ）の波形において、出力クロックと入力クロックの位相差がＮサイクルの間、徐々に大きくなっているのと対応する。Ｎサイクルの後、ΔＰｅｒｉｏｄをゼロに戻せば、出力クロックの周期は入力クロックの周期と同じになる。【０２２１】
半導体集積回路のテストにおいて、図３８に示すフローチャートのように、クロック周期を伸縮させて、任意のＮクロックサイクルのテストパターンを実行することで、回路が正常に動作できる限界のクロック周期を探ることができる。Ｎサイクル中のクロック周期を調整し、動作をチェック（ＰＡＳＳ／ＦＡＩＬ判定）する。【０２２２】
例えば論理回路が規定の動作周波数よりもどれだけ高い周波数で動作できるかといった、マージンを調べることができる。【０２２３】
ＬＳＩテスタを用いたテストでは、外部から供給する参照クロックの周波数を変えることで同様のテストを行うことが出来るが、プリント基板上に実装した半導体集積回路でこのようなテストを行うことが望まれるので、本発明のテストは有用である。【０２２４】
また、特許文献１等に開示された従来のクロック調整回路では、連続してクロック周期を伸縮させられるクロックサイクル数に制限があり、テストの網羅性を高めることができなかったが、これと比べても、本発明のクロック変調回路は有用である。【０２２５】
また、本発明のクロック変調回路を用いることで、図３９に示すようなジッタを発生することも可能である。【０２２６】
例えば、あるクロックの周期を縮めて、次のクロックは周期を伸ばすといったことを繰り返すと、クロックエッジのタイミングは元の位相から大きく外れないので、他のクロックドメインの回路や外部の回路との同期を保ったままで、クロック周期に対する動作マージンを調べることができる。【０２２７】
図４０は、上記した実施例のクロック調整回路を備えた半導体集積回路のテスト手順の一例を示す図であり、クロックのジッタを増減させながら動作限界をテストするフローチャートである。このテストは例えば、テスト中も外部回路との同期を保ったままで、論理回路がどの程度高い周波数のクロックで動作できるのかといった、マージンを調べることができる。また、入出力回路などでは、どの程度のジッタがあっても正しく通信を行うことが可能かといったジッタトレランスのテストにも用いることができる。【０２２８】
さらに、このクロック変調回路を用いて、ジッタの周波数も変えることができる。ジッタとは、実際のクロックエッジのタイミングが、本来のクロックエッジのタイミング近辺を行き来することを言うが、図４１に示すような周期的なジッタは、クロックエッジのタイミング変動に特定の周波数を持っている。【０２２９】
一部の入出力回路などは、タイミング変動に追従する機能を有しているが、一般には高速に変動するジッタには追従できず、低速で変動するジッタには追従しやすい。【０２３０】
このような、ジッタ周波数によって特性が変わるような回路のテストをする場合には、ジッタの周波数を変えながらテストをすることが重要である。【０２３１】
図４２は、上記した実施例のクロック調整回路を備えた半導体集積回路のテスト手順の一例を示す図であり、ジッタの周波数を変えながらテストを行う場合のフローチャートである。このテストにより、回路がどの程度の周波数のジッタに追従できるかが観測できる。【０２３２】
図４３は、上記した実施例のクロック調整回路を備えた半導体集積回路のテスト手順の一例を示す図であり、ジッタ振幅とジッタ周波数を、２次元的にスイープして、回路の動作テストを行う場合のフローチャートである。ループ１開始とループ１終了の外側のループでは、ジッタ周波数を掃引し、ループ２開始とループ２終了の内側のループでは、与えられたジッタ周波数のもとでジッタ振幅を掃引する。【０２３３】
一般に、入出力回路などでは、ジッタ周波数が低い方が大きい振幅のジッタに耐えられ、ジッタ周波数が高くなると振幅の小さいジッタにしか耐えられなくなる。【０２３４】
図４３に示したテストでは、ジッタ周波数と許容ジッタ振幅の関係を得ることができる。【０２３５】
これは、特に、シリアル通信回路などで重要なテストであるが、従来のＬＳＩテスタやＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路ではテストできなかったものである。【０２３６】
図４４は、上記した実施例のクロック調整回路を備えた半導体集積回路のテスト手順の一例を示す図であり、クロック信号のデューティ比を変えながら、回路が正しく動作する限界を探索するテストのフローチャート（図４４（ａ））と、評価結果の概略（図４４（ｂ））を示している。図４４（ｃ−１）〜（ｃ−５）は、ステップＳ４３でデューティ比を変えた場合の出力クロックの波形を例示した図である。【０２３７】
一般には、デューティ比が１：１の場合に、最もエラーを起こしにくく、デューティ比に極端な差がつくと、回路は正常に動作しなくなる。【０２３８】
このテストでは、クロック信号のデューティ歪に対する回路の動作マージンをテストすることができる。【０２３９】
従来のＬＳＩテスタを用いたテストでは、半導体集積回路内部のクロック信号の調整が不可能なので、このようなテストができないが、本発明の半導体集積回路とそのテスト方法はこれを実現できる。【０２４０】
図４５は、上記した実施例のクロック調整回路を備えた半導体集積回路のテスト手順の一例を示す図であり、クロック周波数とデューティ比の２つのパラメータを２次元的にスイープさせながら、回路の動作テストを行う場合のフローチャート（図４５（ａ））と、そのテスト結果の例（ＳＨＭＯＯプロット）（図４５（ｂ））である。【０２４１】
一般に、クロックのデューティ比が適切で無い場合には、回路が動作することが出来る限界周波数が下がる傾向にある。デューティが規定の範囲内で崩れても、規定の動作周波数で十分に動作可能かどうかのテストを行うには、このようなテストが適している。また、動作限界周波数が最も高くなるデューティの設定を探索して設定することで、半導体集積回路の動作マージンを改善することもできる。【０２４２】
図４６は、異なるクロックドメイン間で、クロックのスキューを調整した場合のクロック波形の例を示している。テスト対象のクロッドメインのクロックは、チップ外部から、制御信号に基づき、基準に対して遅らせるか、進ませる。【０２４３】
一般に、異なるクロックドメインの間では、クロックの位相がずれている場合が多い。図４７は、上記した実施例のクロック調整回路を備えた半導体集積回路のテスト手順の一例を示す図であり、クロック位相のずれ（スキュー）に対する耐性をテストする場合のフローチャートである。【０２４４】
一般には、クロック位相が中心付近にある場合には、他のクロックドメインと正常に通信を行うことができるが、クロック位相が進みすぎるか、遅れすぎるとエラーを起こす。近時の半導体集積回路は、複数のクロックドメインを持っている場合が多いが、クロック周波数の高速化などに伴い、タイミングマージンが減少し、異なるクロックドメイン間の通信などでタイミングエラーを起こす場合がある。【０２４５】
ＬＳＩテスタを用いたテストでは、ＬＳＩ内部のクロック位相を調整することはできないので、このようなスキューに対する動作マージンをテストすることができない。【０２４６】
本発明のクロック調整回路を備えた半導体集積回路とそのテスト方法はこれを可能にするものである。【０２４７】
図４８は、上記した実施例のクロック調整回路を備えた半導体集積回路のテスト手順の一例を示す図であり、クロック信号のデューティ比とスキューの２つのパラメータを２次元でスイープするテストのフローチャート（図４８（ａ））と、テスト結果（図４８（ｂ））の例を示している。【０２４８】
一般に、デューティ比が適切な値に設定されていれば、クロックスキューに対する動作マージンは大きくなり、同様にクロックスキューが適切な値に設定されていれば、デューティ歪に対する動作マージンは大きくなる。このことを応用すると、動作マージンが最大になるデューティ比や、スキューの設定値を探索することが可能である。【０２４９】
上記した半導体集積回路のマージンテストは、半導体集積回路の出荷前の選別テストの時に行うことで、不良品や故障しやすい製品の混入を防ぐ効果がある。【０２５０】
また、半導体集積回路は、初期不良以外にも、使用に伴うストレスによる劣化や、経年劣化などによる故障が起こり得る。このような故障を防ぐためには、製品上に実装された半導体集積回路自身が、定期的にマージンテストを行うことが望ましい。【０２５１】
本発明のクロック調整回路を備えた半導体集積回路は、半導体集積回路内部にマージンをテストするための機能を内蔵しているため、このような自己テストにも適している。【０２５２】
図４９は、本発明の半導体集積回路が自己テストを行う場合の手順の一例を示すフローチャートである。半導体集積回路は、ある条件で自己テストを行う（ステップＳ８１のＹＥＳ分岐）。特に制限されないが、この条件としては、例えば、
・使用時間が一定の時間に達した場合、
・出荷されてからの時間が一定に達した場合、
・温度や電圧などの使用条件に変化が検出された場合、
・装置の起動時、
・ユーザーがテストを行うように所定の操作した場合、あるいは、
・ランダムな条件等のいずれであってもよい。【０２５３】
テストを行う場合には、上記実施例のクロック調整回路を用いて前述したマージンテストを行う（ステップＳ８２）。【０２５４】
テストを行わない場合には（ステップＳ８１のＮＯ分岐）、通常の動作を行う（ステップＳ８４）。【０２５５】
マージンテストの結果、不良や故障、あるいはマージンの減少などが検出された場合には、警告を発生する（ステップＳ８５）。この警告とは、例えば、
・ハードウェアに対する割り込み処理の要求であったり、
・オペレーティングシステムやアプリケーションソフトウェアに対するものであったり、あるいは、
・ユーザーに対する警告メッセージや音声での通知
等であってもよい。【０２５６】
マージンテストの結果が、直ちにシステムを停止させなければならないものであれば（ステップＳ８６のＹＥＳ分岐）、システムを停止させるための操作を行い（ステップＳ８７）、プログラムは終了する。【０２５７】
もし、このマージンテストの結果が正常であった場合や、緊急性を要するものでなければ（ステップＳ８６のＮＯ分岐）、通常の動作を行う（ステップＳ８４）。【０２５８】
クロック調整回路は、半導体集積回路が搭載しているＢＩＳＴ（Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ−Ｔｅｓｔ）回路と連携することで、ＢＩＳＴが行う自己テストの網羅度を高めることができる。例えば、クロック調整回路で実動作条件よりも厳しい条件のクロック信号を生成しながら、ＢＩＳＴを行うことで、回路が正しく機能するかだけでなく、動作マージンが十分に確保できているかをテストすることができる。【０２５９】
このような機能を実現するために、図５０に示すように、クロック調整回路５０１の制御端子が、ＢＩＳＴ回路５０２に接続され、ＢＩＳＴ回路５０２によってテスト時のクロック信号が調整される構造が考えられる。【０２６０】
次に本発明のさらに別の実施例を説明する。本発明のクロック調整回路と、半導体集積回路内部の信号波形を観測するために搭載されるオンチップ波形観測回路を同時に用いることで、マージンテストの精度をより高めることが可能になる。【０２６１】
動作している半導体集積回路内部では、電源電圧が変動しており、この電源変動によって回路の動作マージンが変動している。例えば、電源電圧が下がった時には回路の遅延が大きくなって動作マージンが縮小し、逆に電源電圧が上がった時には回路の遅延が小さくなって動作マージンが増大するような場合が考えられる。【０２６２】
本発明のクロック調整回路を用いて半導体集積回路のマージンテストを行う場合、テスト対象回路に与えるクロック信号を、前述の動作マージンの変動に同期させながら変動させることが望ましい。例えば、動作マージンが減少した時に、より厳しい条件のクロック信号を与え、逆に、動作マージンが増大した時には、クロック信号の条件を緩和することで、最悪条件での動作マージンを調べることが可能になる。【０２６３】
また、動作マージンが増大した時により厳しい条件のクロック信号を与え、逆に動作マージンが減少した時にはクロック信号の条件を緩和することで、動作マージン変動の影響を相殺することも可能である。【０２６４】
図５１は、本発明のクロック調整回路を用いた一実施例の構成を示す図であり、電源変動の影響を確認しながら、動作マージンテストを行うための回路構成を示す図である。【０２６５】
図５１を参照すると、本実施例においては、半導体集積回路５１０内部に、オンチップ波形観測回路５１３と、前記実施例で説明した本発明のクロック調整回路５１１と、クロック調整回路５１１からクロック信号の供給を受け動作する、テスト対象の回路（「テスト対象回路」という）５１２と、クロック調整回路５１１を制御する制御回路５１４と、を有する。オンチップ波形観測回路５１３は、電源線５１５の電圧波形を観測するための回路である。特に制限されないが、図５１では、テスト対象回路５１２の電源端子（テスト対象回路５１２の直近の電源線）の電源波形をモニタしている。オンチップ波形観測回路５１３は、不図示のＡ／Ｄ変換器により電源波形をサンプリングしており、電圧波形（電源ノイズ）を、所定の時間精度、振幅精度でサンプリングできるものでありさえばよく、Ａ／Ｄ変換器のサンプリング周波数（変換速度）、分解能は任意とされる。また、オンンチップ波形観測回路５１３のサンプリングの手法も、過渡波形等を直接デジタイズするものでもよいし、あるいは、低周波で高速の瞬時信号電圧値を複数点取得し波形を再生するサンプリング・オシロスコープの原理を使ってもよい。【０２６６】
本実施例では、前述したように、電源変動の具合を、オンチップ波形観測回路５１３によって観測し、その観測によって得られた情報を基に、制御回路５１４がクロック周波数などの適切な値を算出して、クロック調整回路５１１を制御する。クロック調整回路５１１からのクロック信号はテスト対象回路５１２に供給される。【０２６７】
例えば出荷後、半導体集積回路５１０を基板等に実装した状態でテスト（動作マージンテスト）を行う場合（診断テスト、あるいは故障解析等）、テスト対象回路５１２に供給されるクロック信号以外の、データ、制御信号等は、半導体集積回路５１０内部の他の回路ブロックから、あるいはＢＩＴＳ回路、あるいは、外部のパターンデータ生成器等から供給するようにしてもよい。半導体集積回路５１０をテスタ等によりテストする場合においては、テスト対象回路５１２に供給されるクロック信号以外の、データ、制御信号等は、テスタ等から供給するようにしてもよい。なお、図示されないテストモード信号により、オンチップ波形観測回路５１３の活性化、非活性化を制御し、ノーマル動作時に、オンチップ波形観測回路５１３をインアクティブ状態とし、制御回路５１４によるクロック調整を止め、消費電力の低減を図るようにしてもよい。以下の実施例においても同様とされる。【０２６８】
図５２は、図５１の回路を用いて、動作マージンテストを行う場合の制御の一例を示す波形図である。半導体集積回路の品質を保証するためには、動作マージンが減少した時でも誤動作を起こさない程度の動作マージンを残しておかなければならない。【０２６９】
この動作マージンを確認するために、図５２（ａ）の例では、動作マージンが減少した時に、より厳しい条件のクロック信号を入力する。例えば、オンチップ波形観測回路５１３によって観測される電源電圧が低くなった時（例えば回路の動作仕様値と比較して低いと判定された場合）に、オンチップ波形観測回路５１３の観測結果を受ける制御回路５１４により、制御信号をクロック調整回路５１１に供給し、より高い周波数のクロック信号を、テスト対象回路５１２に入力する。【０２７０】
このような条件で動作マージンテストを行うことにより、電源変動によって動作マージンが減少した状態でも、安全なマージンが残っているかを、確認することが可能になる。【０２７１】
また、図５２（ｂ）の例では、動作マージンが減少した時に、クロック信号の周波数を下げるなどして動作条件を緩和し、動作マージン変動の影響を相殺する。例えば、電源電圧が低くなった時に、テスト対象回路５１２の遅延Ｄが増大して、Ｄ＋ΔＴになる。このとき、クロック周期ＴをＴ＋ΔＴに増大させる（つまりクロック周波数を低下させる）。動作マージンがクロック周期とテスト対象回路５１２の遅延の差で定義される場合、電源電圧の変動に関わらず、動作マージンは、
Ｔ＋ΔＴ−（Ｄ＋ΔＴ）＝Ｔ−Ｄ
と、一定に保つことが可能になる。【０２７２】
このように、動作マージンの変動に合わせて、クロック信号の周波数などを変動させることで、電源変動などの影響を受けずに、テスト対象回路５１２の本来の動作マージンを測定することが可能になる。【０２７３】
なお、図５２（ａ）の動作マージンテストにおいて、電源電圧が高くなった時に、動作周波数を高くしても良い。同様に、図５２（ｂ）の動作マージンテストでは、電源電圧が高くなった時に動作周波数を低くしても良い。こうすることで、クロック周波数が一定の場合のクロック信号と同期を保つことが可能になる。【０２７４】
図５３の例では、電源変動に同期させて周波数を変動させた場合のクロック波形（テストクロック）と、そうでない場合のクロック信号の波形（元のクロック）を示している。どちらの場合でも、平均クロック周波数は同じになる。【０２７５】
図５１に示した実施例の構成では、半導体集積回路５１０内部の電源電圧をオンチップ波形観測回路５１３で測定して電源電圧の変動に同期してクロック周波数などを調整する例を示したが、半導体集積回路の動作マージンの変動は、接地電圧の変動の影響も受けるので、変動の測定対象は、接地電圧であってもよい。図５４は、接地電圧の変動を観測して、その変動に合わせてクロック信号の周波数など調整する構成例を示す図である。オンチップ波形観測回路５１３は接地電位を観測し、その観測によって得られた情報を基に、制御回路５１４がクロック周波数などの適切な値を算出して、クロック調整回路５１１を制御する。クロック調整回路５１１からのクロック信号はテスト対象回路５１２に供給される。【０２７６】
図５５は、図５４の回路構成を用いて動作マージンテストを行う場合の制御の例を示している。接地電圧が高くなると回路の遅延が大きくなり、動作マージンが減少することが考えられる。図５５（ａ）の例では、接地電圧が高くなった時に、より高い周波数のクロックを与え、より厳しい条件を与えることで、最悪条件の動作マージンを測定することができる。一方、図５５（ｂ）の例では、接地電圧が高くなった時に、より低い周波数のクロックを与えることで、動作マージンの変動を相殺して、非テスト回路の本来の動作マージンを電源変動の影響を受けずに測定する。【０２７７】
図５６は、本発明のさらに別の実施例の構成を示す図である。図５６を参照すると、本実施例は、動作中のテスト対象回路５６２からの出力信号を、オンチップ波形観測回路５６３が観測して動作マージンの変動を観測し、その観測によって得られた情報を基に、制御回路５６４がクロク周波数などの適切な値を算出して、クロック調整回路５６１を制御する。オンチップ波形観測回路５６３が観測する信号は、テスト対象回路５６２の動作マージンを反映するものであれば、テスト対象回路５６２の出力（Ｏ）、入力（Ｉ）、入出力（Ｉ／Ｏ）の任意の信号が用いられ、またテスト対象回路５６２の内部信号をオンチップ波形観測回路５６３にまで引き出すなりして観測するようにしてもよい。【０２７８】
例えば、
・テスト対象回路５６２をなす論理回路の遅延や、
・テスト対象回路５６２をなすメモリ回路のビット線電圧やワード線電圧、
・テスト対象回路５６２をなす入出力（Ｉ／Ｏ）回路の信号波形、
等を、オンチップ波形観測回路５６３で観測することによって、それらの回路の動作マージンが減少しているか、あるいは、増大しているかを把握することが可能である。メモリ回路のビット線電圧やワード線電圧等は、テスト対象回路５６２の内部信号に対応する。【０２７９】
制御回路５６４は、オンチップ波形観測回路５６３で観測された動作マージンに関する情報を基に、クロック調整回路５６１から出力されるクロック信号を調整することで、精度の高い動作マージンのテストが可能になる。テスト対象回路５６２の信号波形を観測するオンンチップ波形観測回路５６３は、テスト対象回路５６２に供給されるクロック信号の周波数よりも高い周波数のサンプリングクロックにて、該信号波形の過渡特性等を高速デジタイズするか、あるいは、例えば、テスト対象回路５６２から出力される信号（高速繰り返し信号）の瞬時電圧値を低周波数のサンプリングクロックでサンプル点をずらして複数サンプルし波形を再生するサンプリング・オシロスコープの原理を使ってもよい。テスト対象回路５６２には、半導体集積回路５６０内部の不図示のＢＩＳＴのパターン生成回路から印加（ｆｏｒｃｅ）パターンを印加してもよいし、外部のＬＳＩテスタ等からテストパターンを印加してもよい。【０２８０】
図５７は、図５６のオンチップ波形観測回路５６３が、論理回路（テスト対象回路５６２）の遅延の変動を観測して、制御回路５６４でクロック調整回路５６１を制御し、クロック信号を調整する制御の例を示している。【０２８１】
テスト対象回路５６２の遅延が大きくなると、動作マージンが減少する場合、図５７（ａ）のように、クロック周波数を高くして条件を厳しくすることで、動作マージンが十分かどうか確認することが可能である。【０２８２】
逆に、図５７（ｂ）のように遅延が大きくなった時に、クロック周波数を低くして、電源変動による動作マージン変動を相殺し、テスト対象回路５６２の本来の動作マージンを測定することも可能である。【０２８３】
図５８は、本発明のさらに別の実施例の構成を示す図であり、電源変動とクロック変動の位相差と、動作マージンの関係をテストするための回路の構成を示す図である。図５８を参照すると、図５１の構成に、テスト対象回路５１２の出力を受けエラーを検出するエラー検出回路５８１を備えている。本実施例においては、図５１に示した構成例と、図５２に示した制御例と同様に、クロック信号の変動を電源変動に同期させるが、クロック信号の変動と電源変動の位相差を変えながら、それぞれの位相差で、許容可能なクロック信号の変動量をテストする。テスト対象回路５１２と、エラー検出回路５８１とにそれぞれ供給される印加テストパターンと期待値パターンは、半導体集積回路５８０内部の不図示のＢＩＳＴから供給するようにしてもよいし、外部のＬＳＩテスタ等から供給するようにしてもよい。この場合、エラー検出回路５８１は、テスト対象回路５１２の出力と期待値パターンを比較するコンパレータ回路を備えて構成される。エラー検出回路５８１は、エラー検出結果（パス／フェイル情報）を出力ピンから、半導体集積回路５８０外部のＬＳＩテスタ等（不図示）に出力し、ＬＳＩテスタ等において、後述する図５９（ｂ）のＳＨＭＯＯ  ＰＬＯＴ等を作成するようにしてもよい。なお、変形例として、エラー検出回路５８１をＬＳＩテスタの比較回路で置き換える構成を本発明は排除するものではない。【０２８４】
図５９は、図５８に示した回路の制御の一例を説明するための図である。外乱の振幅を変えてテスト対象回路５１２のパス／フェイルを、エラー検出回路５８１を介して検証し、位相差等のパラメータに対する動作マージンの感度を検証する。図５９は、電源電圧の変動に同期させて、クロック周波数を変動させる例を説明するためのものである。【０２８５】
例えば、図５９（ａ）のクロック周波数（１）、クロック周波数（２）、クロック周波数（３）に示すように、図５９（ａ）に示した電源電圧の変動（電源ノイズの変動）に対するクロック周波数変動の位相を変える。【０２８６】
このようなテストを行うと、電源電圧の変動に対して、例えばクロック周波数（１）に示すような位相のクロック周波数変動を与えると、周波数変動の振幅（変動量）を比較的大きくした場合でも、回路が正常に動作可能である（動作マージンが大きい）。【０２８７】
逆に、図５９（ａ）に示した電源電圧の変動に対して、クロック周波数（３）のような位相のクロック周波数変動を与えると、周波数変動の振幅（変動量）が比較的小さいときでも、回路の誤動作が発生する（動作マージンが小さい）場合がある。【０２８８】
このような動作マージンテストの結果は、図５９（ｂ）に示すように、電源変動とクロック周波数変動の位相差（横軸）と、動作マージン（許容可能なクロック周波数振幅等）（縦軸）の関係としてプロット（ＳＨＭＯＯ  ＰＬＯＴ）することが可能である。この結果から、最も動作マージンが小さく又は大きくなる、電源変動とクロック周波数変動の位相差の関係が分かる。このような、電源変動とクロック周波数変動間の位相差と動作マージンの測定結果は、半導体集積回路の動作マージンテストの効率化や、設計精度の向上、不良解析などに有用である。【０２８９】
本発明のクロック調整回路を用いることで、クロック信号のジッタ、デューティ比、スキューなどを調整することが可能であるが、ＰＬＬやクロックバッファも電源変動やばらつきなどによって、ジッタ、デューティ歪み、スキューなどを発生する。そのため、論理回路などに供給されるクロック信号には、ユーザが意図してクロック調整回路で発生させたジッタ、デューティ比、スキューと、ユーザが意図しない変動やばらつきによって発生したジッタ、デューティ比、スキューが存在する。【０２９０】
図６０は、本発明のクロック調整回路を用いた、更に別の実施例の構成を示す図である。本実施例は、論理回路などに供給されるクロック信号を、出来るだけユーザが意図した信号に近づけるための回路構成としたものである。【０２９１】
図６０を参照すると、本実施例では、クロック調整回路６０１には、ＰＬＬ（phase locked loop）６０５からのクロック信号が供給される。また、クロック調整回路６０１の出力とテスト対象回路６０２の間には、例えばＣＴＳ（Ｃｌｏｃｋ  Ｔｒｅｅ  Ｓｙｎｔｈｅｓｉｓ）バッファ等から構成されたクロックバッファ６０６が配設され、テスト対象回路６０２に供給される複数のクロックのスキュー調整が行われている。【０２９２】
オンチップ波形観測回路６０３は、テスト対象回路６０２のクロック入力端子に直近で、クロックバッファ６０６から入力されるクロック信号の波形を観測する。クロック信号波形を観測するオンンチップ波形観測回路６０３は、該クロック信号の逓倍周波数のサンプリングクロックにて該クロック信号波形をデジタイズするか、あるいは、低周波数のサンプリングクロックでサンプル点をずらして該クロック信号波形の瞬時信号電圧を複数サンプルし、クロック信号波形を再生するサンプリング・オシロスコープの原理を使ってもよい。【０２９３】
本実施例は、オンチップ波形観測回路６０３によってテスト対象回路６０２に共有されるクロック信号を観測し、その観測波形が、ユーザの意図する波形に近づくように、クロック調整回路６０１のパラメータを調整する。【０２９４】
例えば、Ｘというジッタやデューティ歪みを、テスト対象回路６０２のクロック信号に与えることを考える。【０２９５】
図６０において、
ＰＬＬ６０５に、
Ａというジッタやデューティ歪みが発生し、
クロックバッファ６０６に、
Ｂというジッタやデューティ歪みが発生している場合、
クロックバッファ６０６を通過して、テスト対象回路６０２に到達するクロック信号には、
Ｘ＋Ａ＋Ｂ
というジッタやデューティ歪みが存在する。【０２９６】
その様子が、オンチップ波形観測回路６０３で波形として観測される。オンチップ波形観測回路６０３で観測された波形の情報を、クロック調整回路用の制御回路６０４にフィードバックすると、クロック調整回路用の制御回路６０４は、ジッタやデューティ歪みが過剰であると判断し、クロック調整回路６０１が発生するジッタやデューティ歪みを小さくしていく。最終的には、クロック調整回路６０１が、Ｘ−Ａ−Ｂというジッタや歪みを発生することで、テスト対象回路６０２には、ユーザが意図したＸというジッタや歪みを有するクロック信号を入力することが可能になる。【０２９７】
半導体集積回路６００内部のＰＬＬ６０５やクロック分配回路（クロックバッファ）６０６は、様々な調整機能を有する場合が多い。例えば、ＰＬＬ６０５は、チャージポンプ電流、電圧制御発振器（ＶＣＯ）の周波数ゲイン、ループフィルタの定数などが調整可能であることが多い。【０２９８】
また、クロック分配回路６０６にも、遅延調整回路（可変遅延回路）（不図示）等が組み込まれている場合がある。【０２９９】
これらの調整によって、クロック信号のジッタや、デューティ歪みの大きさが変わる場合がある。そのような場合には、これらの設定値によって動作マージンが変わる。【０３００】
図６１は、本発明のクロック調整回路を用いた、更に別の実施例の構成を示す図である。本実施例においては、クロック信号のジッタや、デューティ歪みの設定値と動作マージンの関係を測定したり、又は、動作マージンなどが最適になるように設定値を調整したりする。エラー検出回路６０８は、テスト対象回路６０２の出力を受け、エラーを検出する。【０３０１】
ＰＬＬ６０５の不図示のチャージポンプ電流、ＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）の周波数ゲイン、ループフィルタの定数、クロック分配回路の遅延など、回路の設定値を変えながら、クロック調整回路６０１で発生させるジッタやデューティの歪みを大きくして許容限界を測定することで、図６２に示すように、回路の設定値（例えばＰＬＬ６０５のチャージポンプの電流、ＰＬＬ６０５のループフィルタの設定値、クロック分配系の設定値等）と動作マージン（例えば許容可能なジッタ振幅等）の関係（ＳＨＭＯＯプロット）を測定することができる。このようなテスト結果を用いて、動作マージンが最適な値になるような半導体集積回路を設計することが可能になる。【０３０２】
図６３は、本発明のクロック調整回路を用いた、更に別の実施例の構成を示す図である。図６３を参照すると、本実施例は、半導体集積回路６３０内部の温度よって、クロック信号を調整する。ダイオード等のオンチップ温度センサーを含む温度測定回路（オンチップ温度測定回路）６３３は、温度の変動を観測して、制御回路６３４でクロック調整回路６３１を制御し、クロック信号を調整する。一般的には半導体集積回路の温度が大きくなると回路の遅延が大きくなり、動作マージンが減少する。この時、動作マージンの減少に合わせてクロック周波数を低くすることで、温度の変化の影響を受けずに、テスト対象回路が持つ本来のマージンを測定することが可能になる。【０３０３】
前述した様に、電源電圧変動や温度変動などよって、テスト対象回路の動作マージンは変動する。【０３０４】
このような動作マージンの変動（電源電圧変動や温度変動による動作マージンの変動）は、テスト対象回路を模擬した回路（レプリカ回路）を用いても観測することが可能である。【０３０５】
図６４と図６５は、それぞれ、本発明のクロック調整回路を用いた、更に別の実施例の構成を示す図である。図６４と図６５の本実施例では、テスト対象回路６４２、６５２を模擬したレプリカ回路６４３、６５６を用いることで、前述の動作マージン変動を検出し、テスト対象回路６４２、６５２のクロック信号を調整する。【０３０６】
レプリカ回路６４３、６５６は、テスト対象回路６４２、６５２の特性変動に対応した変動を示すものであれば、任意の回路を用いることができる。【０３０７】
図６４に示す実施例では、レプリカ回路６４３の出力を制御回路６４４で受けて、テスト対象回路６４２に与えるクロック信号を調整する。すなわち、レプリカ回路６４３の出力が制御回路６４４に直接入力されている。この場合、レプリカ回路６４３は、例えばインバータを奇数段リング形態に接続したリングオシレータ等を備え、その発振周波数の情報等を制御回路６４４に出力するようにしてもよい。レプリカ回路６４３がクロックで駆動される回路の場合、レプリカ回路６４３に供給するクロック信号は、テスト対象回路６４２と同一系統のクロック信号であってもよいし、あるいは別系統のクロック信号であってもよい。あるいは、レプリカ回路６４３には、半導体集積回路内部の不図示のＢＩＳＴのパターン生成回路から印加（ｆｏｒｃｅ）パターンを印加してもよいし、あるいは外部のＬＳＩテスタ等からテストパターンを印加してもよい。【０３０８】
図６５に示す実施例では、レプリカ回路６５６の出力をオンチップ波形観測回路６５３で観測し、その観測によって得られた情報を基に、制御回路６５４がクロック周波数などの適切な値を算出して、クロック調整回路６５１を制御する。【０３０９】
図６５に示す実施例では、レプリカ回路６５６の出力波形をオンチップ波形観測回路６５３で観測しているため、レプリカ回路６５６としては、任意の回路構成を用いることができる。レプリカ回路６５６は、テスト対象回路６５２と同一であってもよいし、テスト対象回路６５２の一部の機能ブロックの出力であってもよい。レプリカ回路６５６は、テスト対象回路６５２と独立して設けた別回路（例えばリングオシレータ等）であってもよい。レプリカ回路６５６がクロックで駆動される回路の場合、該クロックは、テスト対象回路６５２と同一系統のクロック信号であってもよいし、あるいは別系統のクロック信号であってもよい。また、レプリカ回路６５６には、半導体集積回路内部の不図示のＢＩＳＴのパターン生成回路から印加（ｆｏｒｃｅ）パターンを印加してもよいし、あるいは外部のＬＳＩテスタ等からテストパターンを印加してもよい。【０３１０】
電源電圧変動や温度変動などよってテスト対象回路の動作マージンが変動するが、この時、レプリカ回路６４３、６５６も同様の影響を受けるため、レプリカ回路６４３、６５６から出力される信号を観測することで、テスト対象回路６４２、６５２の動作マージンの変動を予測することができる。この観測結果を用いて、テスト対象回路６４２、６５２に与えるクロック信号の周波数などを調整することが可能である。【０３１１】
なお、図５１以降に示したクロック調整回路は、図１５以降に示したクロック調整回路であってもよい。また、電源電圧変動をみてクロック調整回路が出力するクロック信号は、クロック周波数だけではなく、デューティ比、ジッタなど、でもよい。【０３１２】
本実施例においては、チップ内の電源電圧を測定する回路により測定される測定値と、クロック調整回路により測定される動作マージンの値と、の両方の結果から、チップの出来（動作余裕の大小）を判断することで、チップの選別テスト等において、チップの動作余裕の大きさに関する判断の精度を、より高くすることができる。【０３１３】
例えば動作マージンの観測結果が、
チップＡでは２、
チップＢでは１
であったとする。【０３１４】
動作マージンだけの観測では、チップＢの方が、チップＡよりも出来が悪いと判断される。【０３１５】
ところが、動作マージンを観測したときに電源電圧を同時に知ることで、例えば、
チップＡは動作マージンが２で、そのときの電源電圧は１．０、
チップＢは動作マージンが１で、そのときの電源電圧は０．５
という情報が得られたとする。【０３１６】
いま、電源電圧の仕様が１．０である場合、電源電圧が０．５という、極めて悪条件にもかかわらず、動作マージンが１であるチップＢは、チップＡよりも、チップの出来が良いという判断が可能である。【０３１７】
ここで、動作マージンを測定するときに、
・電源電圧の他にも、
・チップの温度や応力等、
測定対象を変えることも可能である。【０３１８】
このように、動作マージンと同時に電源電圧等を同時に測定して、それぞれのセットでチップの出来を判断することは、喩えて言えば、あたかも、人間の体脂肪率を測定したときに、一概に体脂肪率だけを測定するのではなく、体脂肪率と同時に体重や身長を同時に測定して健康度合いを判断するのと同じである。【０３１９】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図１】
2008032701.tif 000003
【図２】
2008032701.tif 000004
【図３】
2008032701.tif 000005
【図４】
2008032701.tif 000006
【図５】
2008032701.tif 000007
【図６】
2008032701.tif 000008
【図７】
2008032701.tif 000009
【図８】
2008032701.tif 000010
【図９】
2008032701.tif 000011
【図１０】
2008032701.tif 000012
【図１１】
2008032701.tif 000013
【図１２】
2008032701.tif 000014
【図１３】
2008032701.tif 000015
【図１４】
2008032701.tif 000016
【図１５】
2008032701.tif 000017
【図１６】
2008032701.tif 000018
【図１７】
2008032701.tif 000019
【図１８】
2008032701.tif 000020
【図１９】
2008032701.tif 000021
【図２０】
2008032701.tif 000022
【図２１】
2008032701.tif 000023
【図２２】
2008032701.tif 000024
【図２３】
2008032701.tif 000025
【図２４】
2008032701.tif 000026
【図２５】
2008032701.tif 000027
【図２６】
2008032701.tif 000028
【図２７】
2008032701.tif 000029
【図２８】
2008032701.tif 000030
【図２９】
2008032701.tif 000031
【図３０】
2008032701.tif 000032
【図３１】
2008032701.tif 000033
【図３２】
2008032701.tif 000034
【図３３】
2008032701.tif 000035
【図３４】
2008032701.tif 000036
【図３５】
2008032701.tif 000037
【図３６】
2008032701.tif 000038
【図３７】
2008032701.tif 000039
【図３８】
2008032701.tif 000040
【図３９】
2008032701.tif 000041
【図４０】
2008032701.tif 000042
【図４１】
2008032701.tif 000043
【図４２】
2008032701.tif 000044
【図４３】
2008032701.tif 000045
【図４４】
2008032701.tif 000046
【図４５】
2008032701.tif 000047
【図４６】
2008032701.tif 000048
【図４７】
2008032701.tif 000049
【図４８】
2008032701.tif 000050
【図４９】
2008032701.tif 000051
【図５０】
2008032701.tif 000052
【図５１】
2008032701.tif 000053
【図５２】
2008032701.tif 000054
【図５３】
2008032701.tif 000055
【図５４】
2008032701.tif 000056
【図５５】
2008032701.tif 000057
【図５６】
2008032701.tif 000058
【図５７】
2008032701.tif 000059
【図５８】
2008032701.tif 000060
【図５９】
2008032701.tif 000061
【図６０】
2008032701.tif 000062
【図６１】
2008032701.tif 000063
【図６２】
2008032701.tif 000064
【図６３】
2008032701.tif 000065
【図６４】
2008032701.tif 000066
【図６５】
2008032701.tif 000067
【国際調査報告】
2008032701.tif 000068
2008032701.tif 000069
2008032701.tif 000070
2008032701.tif 000071