(57)【要約】  【課題】  設計時におけるシミュレーションと、実デバイスでの遅延が異なった場合、部分的にＬＳＩを再度作りなおさなければならないという課題がある。  【解決手段】  クロックリピータ１０１、１０４、クロックリピータ群１０２、１０３、インバータ１１１〜１１５、セレクタ１２１〜１２３を備えるようにし、制御信号１４１、１４２、１４３に基づいて、セレクタ１２１、１２２、１２３を切り替えることにより、クロック遅延で支配的なクロックリピータ１０１、１０４、クロックリピータ群１０２、１０３を、クロックソースに対して論理正転、論理反転で動作する個数を変えることで、クロック遅延、及びデューティを調整することができるようにした。【選択図】  図１
2005038157.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号をバッファリングする第１のバッファリング回路と、
前記第１のバッファリング回路によりバッファリングされたクロック信号を入力としこれを論理反転し出力する第１のインバータと、
前記第１のバッファリング回路の出力と、前記第１のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第１のセレクタと、
前記第１のセレクタの出力を第２のバッファリング回路を介して入力としこれをバッファリングし出力する第３のバッファリング回路と、
前記第３のバッファリング回路の出力を入力としこれを論理正転し出力する第３のバッファと、
前記第３のバッファリング回路の出力を入力としこれを論理反転し出力する第３のインバータと、
前記第３のバッファの出力と、前記第３のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第３のセレクタと、
前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、
ことを特徴とするクロック調整回路。
【請求項２】
クロック信号をバッファリングする第１のバッファリング回路と、
前記第１のバッファリング回路の出力を入力としこれをバッファリングし出力する第２のバッファリング回路と、
前記第２のバッファリング回路の出力を入力としこれをバッファリングし出力する第３のバッファリング回路と、
前記第３のバッファリング回路の出力を入力としこれを論理正転し出力する第３のバッファと、
前記第３のバッファリング回路の出力と、前記第３のバッファの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第３のセレクタと、
前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、
ことを特徴とするクロック調整回路。
【請求項３】
クロック信号をバッファリングする第１のバッファリング回路と、
前記第１のバッファリング回路によりバッファリングされたクロック信号を入力としこれを論理反転し出力する第１のインバータと、
前記第１のバッファリング回路の出力と、前記第１のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第１のセレクタと、
前記第１のセレクタの出力を第２のバッファリング回路を介して入力としこれをバッファリングし出力する第３のバッファリング回路と、
前記第３のバッファリング回路の出力を入力とし、これを論理反転し出力する第３のインバータと、
前記第３のバッファリング回路の出力を入力とし、これを論理正転し出力する第３のバッファと、
前記第３のバッファリング回路の出力と、前記第３のバッファの出力と、前記第３のインバータの出力とを入力とし、そのいずれか一つを外部からの選択信号に基づいて選択し出力する第３のセレクタと、
前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、
ことを特徴とするクロック調整回路。
【請求項４】
請求項１に記載のクロック調整回路において、
前記第１のセレクタおよび第２のセレクタの選択信号は、ＬＳＩの外部信号またはプログラムから書き込みができるレジスタの出力から生成する、
ことを特徴とするクロック調整回路。
【請求項５】
請求項２に記載のクロック調整回路において、
前記第３のセレクタの選択信号は、ＬＳＩの外部信号またはプログラムから書き込みができるレジスタの出力から生成する、
ことを特徴とするクロック調整回路。
【請求項６】
請求項３に記載のクロック調整回路において、
前記第４のセレクタおよび第５のセレクタの選択信号は、ＬＳＩの外部信号またはプログラムから書き込みができるレジスタの出力から生成する、
ことを特徴とするクロック調整回路。
【請求項７】
請求項１に記載のクロック調整回路において、
クロック終点箇所に、クロックデューティ比が崩れたことを検出する観測回路を備え、
該観測回路の出力に基づき、前記第１のセレクタおよび第２のセレクタの選択信号を生成する、
ことを特徴とするクロック調整回路。
【請求項８】
請求項２に記載のクロック調整回路において、
クロック終点箇所に、クロックデューティ比が崩れたことを検出する観測回路を備え、
該観測回路の出力に基づき、前記第３のセレクタの選択信号を生成する、
ことを特徴とするクロック調整回路。
【請求項９】
請求項３に記載のクロック調整回路において、
クロック終点箇所に、クロックデューティ比が崩れたことを検出する観測回路を備え、
該観測回路の出力に基づき、前記第４のセレクタおよび第５のセレクタの選択信号を生成する、
ことを特徴とするクロック調整回路。
【請求項１０】
クロック信号をバッファリングする第１のバッファリング回路と、
前記第１のバッファリング回路によりバッファリングされたクロック信号を入力としこれを論理反転し出力する第１のインバータと、
前記クロック信号と前記第１のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第１のセレクタと、
前記第１のセレクタの出力を入力としこれをバッファリングし出力する第２のバッファリング回路と、
前記第２のバッファリング回路の出力を入力としこれを論理反転し出力する第２のインバータと、
前記第２のバッファリング回路の出力と前記第２のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第２のセレクタと、
前記第２のセレクタの出力を入力とし、これをバッファリングし出力する第３のバッファリング回路と、
前記第３のバッファリング回路の出力を入力とし、これを論理反転し出力する第３のインバータと、
前記第３のバッファリング回路の出力を入力とし、これを論理正転し出力する第３のバッファと、
前記第３のバッファリング回路の出力と、前記第３のバッファの出力と、前記第３のインバータの出力とを入力とし、そのいずれか一つを外部からの選択信号に基づいて選択し出力する第３のセレクタと、
前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、
ことを特徴とするクロック調整回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック調整回路に関し、特に動作周波数に対してクロック遅延時間が大きい大規模ＬＳＩにおけるクロック調整回路に関するものである。
【背景技術】
【０００２】
近年、半導体プロセスの微細化により、これまで複数のＬＳＩで構成されていたシステムを１つＬＳＩで実現するようになっている。異なるブロックを１つのＬＳＩで実現する際、クロックを均一に供給するためにクロックリピータと遅延調整セルを使用した方法が一般的に知られている。
【０００３】
図１０に大規模システムＬＳＩにおける従来のクロック構成図を示す。
図１０において、１０００はクロック信号、１００１〜１０１５はクロックを伝播させるクロックリピータ、１０２１〜１０２３はクロック遅延を任意の値に設定する遅延調整セル、１０３１〜１０３３はラッチ回路、１０４１〜１０４３はシステムＬＳＩを構成する各ブロックである。
【０００４】
各ブロックは回路規模が異なるため、クロックを伝播させるために最低限必要なクロックリピータの段数が異なり、また、あるブロックでは高速動作が必要なため高速のクロックリピータセルを使用する場合があり、各ブロックで使用しているクロックリピータセルも異なる。
【０００５】
ブロックＡ１０４１、ブロックＢ１０４２、ブロックＣ１０４３はそれぞれ他ブロックとのデータの送受信を行うものとする。また、説明の便宜上、クロックリピータ１００１での遅延を“０．５０ｎｓ”、１００２での遅延を“０．４７ｎｓ”１００３での遅延を“０．２０ｎｓ”、１００４での遅延を“０．２１ｎｓ”、１００５での遅延を“０．２０ｎｓ”、１００６での遅延を“０．２１ｎｓ”、１００７での遅延を“０．４８ｎｓ”、１００８での遅延を“０．４０ｎｓ”、１００９での遅延を“０．３０ｎｓ”、１０１０での遅延を“０．４２ｎｓ”、１０１１での遅延を“０．４８ｎｓ”、１０１２での遅延を“０．３９ｎｓ”、１０１３での遅延を“０．３８ｎｓ”、１０１４での遅延を“０．３５ｎｓ”、１０１５での遅延を“０．３０ｎｓ”とし、遅延調整セル１０２１〜１０２３は、“０．０１ｎｓ”単位での遅延値を設定できるものとする。
【０００６】
ブロックＡ１０４１において、クロック１０００はクロックリピータ１００１、１００２、１００３、１００４を通り、次に遅延調整セル１０２１を通り、クロックリピータ１００５、１００６を通り、ラッチ回路１０３１へ到達する。
【０００７】
ブロックＢ１０４２において、クロック１０００はクロックリピータ１００１、１００７、１００８、１００９を通り、次に遅延調整セル１０２２を通り、クロックリピータ１０１０を通り、ラッチ回路１０３２へ到達する。
【０００８】
ブロックＣ１０４３において、クロック１０００はクロックリピータ１００１、１０１１、１０１２、１０１３，１０１４を通り、次に遅延調整セル１０２３を通り、クロックリピータ１０１５を通り、ラッチ回路１０３３へ到達する。
【０００９】
ラッチ回路１０３１〜１０３３において、各ブロックからのデータをミスラッチしないようにクロック１０００から各ラッチ回路１０３１〜１０３３までのクロック遅延値を等しくする必要がある。
【００１０】
遅延調整セル１０２１での遅延を“０．６２ｎｓ”、遅延調整セル１０２２での遅延を“０．３１ｎｓ”、遅延調整セル１０２３での遅延を“０．０１ｎｓ”とすることで、クロック１０００からラッチ回路１０３１までのクロック遅延値は“２．４１ｎｓ”、クロック１０００からラッチ回路１０３２までのクロック遅延値は“２．４１ｎｓ”、クロック１０００からラッチ回路１０３３までのクロック遅延値は“２．４１ｎｓ”となり、各ブロックのクロック遅延値を等しくなるように設計できる。
【００１１】
また、高速動作を行うためにブロックＡ１０４１内でダイナミック回路が使用されており、ラッチ回路１０３１がダイナミック回路内のラッチ回路である場合、ラッチ回路１０３１へ到達するクロックは、クロックの“Ｈ”の期間と“Ｌ”の期間を保障してやる必要がある。
【００１２】
クロックリピータおよび遅延調整セルにおいて、立上り期間と立下り期間が等しいセルを使用する等の、クロックの“Ｈ”の期間と“Ｌ”の期間を等しくする手段や、特開２００１−３１３８７４のような手段が用いられる。
【特許文献１】特開２００１−３１３８７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ＬＳＩ設計時、クロック１０００から各ラッチ回路１０３１〜１０３３までのクロック遅延値が等しくなるように設計していても、ＬＳＩの実デバイスの特性が悪かったり、トランジスタの劣化があったりすると、特定のクロックリピータや遅延調整セルでのクロック遅延値が、設計時点でのシミュレーション遅延値と異なってしまうことがあった。
【００１４】
設計時点では、先に述べたように各ブロックの遅延値を“２．４１ｎｓ”に合わせていたとして、クロックリピータ１００３〜１００６だけの遅延値が実デバイスでは１０％遅くなった場合を例に挙げると、クロック１０００からラッチ回路１０３１までのクロック遅延値は“２．４９２ｎｓ”となる。
【００１５】
これにより、ブロックＡ１０４１内のラッチ回路までのクロック遅延値と、ブロックＢ１０４２、ブロックＣ１０４３内のラッチ回路までのクロック遅延値との間に、“０．０８２ｎｓ”の差が生じてしまう。
【００１６】
各ブロック間での送受信に関して、タイミングマージンが“０．０８２ｎｓ”以下の場合、ブロックＡ１０４１とブロックＢ１０４２間のデータ送受信、及びブロックＡ１０４１とブロックＢ１０４３間のデータ送受信でデータのミスラッチが起こってしまう。
【００１７】
また、クロックリピータ１００３〜１００６において、立下り期間に対して立上り時間が１０％遅くなった場合を例に挙げると、クロック１０００の立上りからラッチ回路１０３１でのクロック立上りまでのクロック遅延値は、“２．４９２ｎｓ”となる。
【００１８】
クロック１０００の立下りからラッチ回路１０３１でのクロック立下りまでのクロック遅延値は“２．４１ｎｓ”なので、クロックの“Ｈ”の期間と“Ｌ”の期間で、“０．０８２ｎｓ”の差が生じてしまう。
これによりクロックのデューティ比（クロックの“Ｈ”の期間と“Ｌ”の期間の比率）が変わってしまう。
【００１９】
大規模ＬＳＩにおいては、クロックパスに使用されるリピータ数は非常に大きく、総クロック遅延値も大きい。このため、先に述べた設計時でのシミュレーション遅延値と、実デバイスでの遅延値との差が積み重なり、１クロックサイクルに対して大きな値となってしまう。
【００２０】
設計時でのシミュレーション遅延値と、実デバイスでの遅延値との差が、設計時のタイミングマージンを超えてしまうと、ＬＳＩが正しく動作しないということが起こることとなる。
【００２１】
このようなことが起こった場合、従来のクロック構成ではどうすることもできず、クロック構成を再設計し、ＬＳＩを作り直さなければならないとの課題があった。
【課題を解決するための手段】
【００２２】
この課題を解決するために本発明の請求項１にかかるクロック調整回路は、クロック信号をバッファリングする第１のバッファリング回路と、前記第１のバッファリング回路によりバッファリングされたクロック信号を入力としこれを論理反転し出力する第１のインバータと、前記第１のバッファリング回路の出力と、前記第１のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第１のセレクタと、前記第１のセレクタの出力を第２のバッファリング回路を介して入力としこれをバッファリングし出力する第３のバッファリング回路と、前記第３のバッファリング回路の出力を入力としこれを論理正転し出力する第３のバッファと、前記第３のバッファリング回路の出力を入力としこれを論理反転し出力する第３のインバータと、前記第３のバッファの出力と、前記第３のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第３のセレクタと、前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、ことを特徴とするものである。
【００２３】
本発明の請求項２にかかるクロック調整回路は、クロック信号をバッファリングする第１のバッファリング回路と、前記第１のバッファリング回路の出力を入力としこれをバッファリングし出力する第２のバッファリング回路と、前記第２のバッファリング回路の出力を入力としこれをバッファリングし出力する第３のバッファリング回路と、前記第３のバッファリング回路の出力を入力としこれを論理正転し出力する第３のバッファと、前記第３のバッファリング回路の出力と、前記第３のバッファの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第３のセレクタと、前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、ことを特徴とするものである。
【００２４】
本発明の請求項３にかかるクロック調整回路は、クロック信号をバッファリングする第１のバッファリング回路と、前記第１のバッファリング回路によりバッファリングされたクロック信号を入力としこれを論理反転し出力する第１のインバータと、前記第１のバッファリング回路の出力と、前記第１のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第１のセレクタと、前記第１のセレクタの出力を第２のバッファリング回路を介して入力としこれをバッファリングし出力する第３のバッファリング回路と、前記第３のバッファリング回路の出力を入力とし、これを論理反転し出力する第３のインバータと、前記第３のバッファリング回路の出力を入力とし、これを論理正転し出力する第３のバッファと、前記第３のバッファリング回路の出力と、前記第３のバッファの出力と、前記第３のインバータの出力とを入力とし、そのいずれか一つを外部からの選択信号に基づいて選択し出力する第３のセレクタと、前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、ことを特徴とするものである。
【００２５】
本発明の請求項１０にかかるクロック調整回路は、クロック信号をバッファリングする第１のバッファリング回路と、前記第１のバッファリング回路によりバッファリングされたクロック信号を入力としこれを論理反転し出力する第１のインバータと、前記クロック信号と前記第１のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第１のセレクタと、前記第１のセレクタの出力を入力としこれをバッファリングし出力する第２のバッファリング回路と、前記第２のバッファリング回路の出力を入力としこれを論理反転し出力する第２のインバータと、前記第２のバッファリング回路の出力と前記第２のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第２のセレクタと、前記第２のセレクタの出力を入力とし、これをバッファリングし出力する第３のバッファリング回路と、前記第３のバッファリング回路の出力を入力とし、これを論理反転し出力する第３のインバータと、前記第３のバッファリング回路の出力を入力とし、これを論理正転し出力する第３のバッファと、前記第３のバッファリング回路の出力と、前記第３のバッファの出力と、前記第３のインバータの出力とを入力とし、そのいずれか一つを外部からの選択信号に基づいて選択し出力する第３のセレクタと、前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、ことを特徴とするものである。
【発明の効果】
【００２６】
以上のように、本発明にかかるクロック調整回路によれば、クロック信号をバッファリングする第１のバッファリング回路と、前記第１のバッファリング回路によりバッファリングされたクロック信号を入力としこれを論理反転し出力する第１のインバータと、前記クロック信号と前記第１のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第１のセレクタと、前記第１のセレクタの出力を入力としこれをバッファリングし出力する第２のバッファリング回路と、前記第２のバッファリング回路の出力を入力としこれを論理反転し出力する第２のインバータと、前記第２のバッファリング回路の出力と前記第２のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第２のセレクタと、前記第２のセレクタの出力を入力とし、これをバッファリングし出力する第３のバッファリング回路と、前記第３のバッファリング回路の出力を入力とし、これを論理反転し出力する第３のインバータと、前記第３のバッファリング回路の出力を入力とし、これを論理正転し出力する第３のバッファと、前記第３のバッファリング回路の出力と、前記第３のバッファの出力と、前記第３のインバータの出力とを入力とし、そのいずれか一つを外部からの選択信号に基づいて選択し出力する第３のセレクタと、前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、ことを特徴とするものとしたので、シミュレーションでのクロック遅延値と実デバイスでの遅延値が異なった場合でも、クロック遅延値を調整することができ、また、実デバイスでクロックデューティ比が崩れてしまった場合でも、これを検出して、クロックデューティを調整することができ、これによって、ＬＳＩを再度つくり直す必要がないという効果が得られる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図１〜図９を用いて説明する。
【００２８】
（実施の形態１）
図１は本発明の実施の形態１によるクロック調整回路の概略構成を示したものである。
図１において、１０００はクロック信号、１０１、１０４はクロックリピータ、１０２、１０３は複数のクロックリピータから構成されるクロックリピータ群、１１１、１１２、１１３、１１４，１１５はインバータ、１２１、１２２、１２３はセレクタ、１４１、１４２、１４３はセレクタの制御信号、１０３１はラッチ回路である。
【００２９】
セレクタ１２１は制御信号１４１が“０”の場合は、クロックリピータ１０１の出力を選択し、“１”の場合はインバータ１１１の出力を選択する。
【００３０】
セレクタ１２２は制御信号１４２が“０”の場合は、クロックリピータ１０２の出力を選択し、“１”の場合はインバータ１１２の出力を選択する。
【００３１】
セレクタ１２３は制御信号１４３が”００１”の場合は、クロックリピータ１０３の出力を選択し、“０１０”の場合は、インバータ１１３の出力を選択し、“１００”の場合は、インバータ１１５の出力を選択する。
【００３２】
以上のように構成された本実施の形態１によるクロック調整回路の動作について、以下説明する。
【００３３】
説明の便宜上、制御信号１４１、１４２、１４３の初期状態をそれぞれ“０”、“０”、“１００”とし、クロックリピータ１０１、１０４の遅延値を、“０．３０ｎｓ”、クロックリピータ群１０２、１０３の遅延値を、“２．００ｎｓ”、インバータ１１１、１１２，１１３、１１４，１１５の遅延値を、“０．１５ｎｓ”、セレクタ１２１，１２２，１２３の遅延値を、“０．５０ｎｓ”とする。配線遅延は上記値に含まれているものとする。他ブロックでの総クロック遅延値は等しくなるように設計されており、異なるブロック間のデータ送受信におけるタイミングマージンは、“０．３０ｎｓ”確保されているとする。
【００３４】
また、ラッチ回路１０３１におけるクロックの”Ｈ”の期間と、“Ｌ”の期間はともに、“１．０ｎｓ”で、クロックの“Ｈ”期間：“Ｌ”期間＝５０％：５０％に設計されているものとする。
【００３５】
初期状態において、クロック１０００は、クロックリピータ１０１、セレクタ１２１、クロックリピータ１０２、セレクタ１２２、クロックリピータ１０３、インバータ１１４，１１５、セレクタ１２３、クロックリピータ１０４を通り、ラッチ回路１０３１に到達し、総クロック遅延値は“６．４０ｎｓ”となる。
【００３６】
クロックリピータ１０１、１０２、１０３、１０４について、シミュレーションでの遅延値に対して実デバイスでの遅延値が１０％遅くなった場合について説明する。
【００３７】
この場合、クロックリピータ１０１、１０４の遅延値は、“０．３３ｎｓ”、クロックリピータ群１０２、１０３の遅延値は、“２．２０ｎｓ”となり、総クロック遅延値は“６．８６ｎｓ”となる。これにより、ブロックＡ１０４１の総クロック遅延値と、他ブロックの総クロック遅延値の差は、“０．４６ｎｓ”となる。
【００３８】
このような場合においては、異なるブロック間のデータ送受信におけるタイミングマージン“０．３０ｎｓ”をオーバーしているので、異なるブロック間のデータ送受信においてミスラッチを起こしてしまう。
【００３９】
このような場合、初期状態に対して、制御信号１４３を“００１”に設定すると、クロック１０００は、クロックリピータ１０１、セレクタ１２１、クロックリピータ１０２、セレクタ１２２、クロックリピータ１０３（このあと、１１４，１１５を通らない）、セレクタ１２３、クロックリピータ１０４を通り、ラッチ回路１０３１に到達し、総クロック遅延値は、“６．５６ｎｓ”となる。
【００４０】
これにより、ブロックＡ１０４１の総クロック遅延値と、他ブロックの総クロック遅延値との差は、“０．１６ｎｓ”となり、異なるブロック間のデータ送受信においてミスラッチを防ぐことができる。
【００４１】
次に、ラッチ回路１０３１がクロックの“Ｈ”期間：“Ｌ”期間＝４０％：６０％〜６０％：４０％保障が必要な回路であり、クロックリピータ１０１、１０２、１０３、１０４について、シミュレーションでの立上り遅延値に対して実デバイス立上り遅延値が１０％遅くなった場合について説明する。
【００４２】
この場合、クロック１０００の立上りからラッチ回路１０３１でのクロックの立上りまでの遅延値は“６．４０ｎｓ”となり、クロック１０００の立下りからラッチ回路１０３１でのクロックの立下りまでの遅延値は、“６．８６ｎｓ”となる。これにより、設計時にクロックの“Ｈ”期間：“Ｌ”期間＝５０％：５０％であったものが、実デバイスでは、クロックの“H”期間：“L”期間＝７３％：２７％（１．４６ｎｓ：０．５４ｎｓ）となってしまい、ラッチ回路１０３１でのデューティ比が保障できなくなってしまう。
【００４３】
このような場合、初期状態に対して、制御信号１４１を“１”、１４２を“１”、１４３を“００１”に設定すると、クロック１０００は、クロックリピータ１０１、インバータ１１１、セレクタ１２１、クロックリピータ１０２、インバータ１１２、セレクタ１２２、クロックリピータ１０３、セレクタ１２３、クロックリピータ１０４を通り、ラッチ回路１０３１に到達する。
【００４４】
クロックリピータ群１０２はクロック信号１０００に対して論理反転で動作し、クロックリピータ群１０３はクロック信号１０００に対して論理正転で動作するので、クロック信号１０００の立上りからラッチ回路１０３１でのクロックの立上りまでの遅延値は、“６．６０ｎｓ”となる。
【００４５】
クロック１０００の立下りからラッチ回路１０３１でのクロックの立下りまでの遅延値は、“６．６０ｎｓ”となる。
これにより、ラッチ回路１０３１でのクロックは、“Ｈ”期間：“Ｌ”期間＝５０％：５０％となり、デューティを保障できる。
【００４６】
また、セレクタ１４３で総クロック遅延値を調整しているので、異なるブロック間のデータ送受信に関するタイミング制約も満足している。
総クロック遅延値に対して、クロックリピータ１０２、１０３の遅延が占める割合が大きい場合、クロック反転するインバータと、正転クロックと反転クロックを選択するセレクタを、更に複数段備えることで、更なる遅延値の微調整を行うことが可能となる。
【００４７】
以上のような本実施の形態１のクロック調整回路によれば、クロック信号をバッファリングする第１のバッファリング回路と、前記第１のバッファリング回路によりバッファリングされたクロック信号を入力としこれを論理反転し出力する第１のインバータと、前記クロック信号と前記第１のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第１のセレクタと、前記第１のセレクタの出力を入力としこれをバッファリングし出力する第２のバッファリング回路と、前記第２のバッファリング回路の出力を入力としこれを論理反転し出力する第２のインバータと、前記第２のバッファリング回路の出力と前記第２のインバータの出力とを入力とし、そのいずれか一方を外部からの選択信号に基づいて選択し出力する第２のセレクタと、前記第２のセレクタの出力を入力とし、これをバッファリングし出力する第３のバッファリング回路と、前記第３のバッファリング回路の出力を入力とし、これを論理反転し出力する第３のインバータと、前記第３のバッファリング回路の出力を入力とし、これを論理正転し出力する第３のバッファと、前記第３のバッファリング回路の出力と、前記第３のバッファの出力と、前記第３のインバータの出力とを入力とし、そのいずれか一つを外部からの選択信号に基づいて選択し出力する第３のセレクタと、前記第３のセレクタの出力を入力とし、これをバッファリングし出力する第４のバッファリング回路と、を備えた、ものとしたので、前記第１のセレクタ、第２のセレクタ、および、第２のセレクタの選択信号の切替により、前記バッファリング回路を論理正転あるいは論理反転で動作させることができ、かつこの際におけるクロック遅延値をも、調整することができ、シミュレーションでのクロック遅延値と実デバイスでの遅延値が異なった場合でも、クロック遅延値を調整することができ、また、実デバイスでクロックデューティ比が崩れてしまった場合でも、これを検出して、クロックデューティを調整することができ、これによって、ＬＳＩを再度つくり直す必要がなくなる。
【００４８】
（実施の形態２）
図２は本発明の実施の形態２によるクロック調整回路の概略構成を示したものである。
図２において、１０００はクロック信号、１０１、１０４はクロックリピータ、１０２、１０３は複数のクロックリピータから構成されるクロックリピータ群、１１１、１１２、１１３、１１４，１１５はインバータ、１２１、１２２、１２３はセレクタ、１４１、１４２、１４３はセレクタの制御信号であり、本発明の実施の形態１で説明したものと同じである。
【００４９】
２０１はデューティがずれたことを検出する検出回路である。
該検出回路２０１の概略構成を図３に示す。
【００５０】
図３において、３００はクロック信号、３０１はクロック信号３００を反転するインバータ、３０２〜３０４は入力クロックの立下りで入力データを保持するラッチ回路、３１０〜３１５はダイナミック回路、３０６は論理和ゲート、３０７はインバータ、３０８はクロックの立上りで入力データを保持するフリップフロップである。
【００５１】
ダイナミック回路３１０〜３１５の概略構成を図４に示す。
図４において、４００はクロック信号、４０１は入力信号、４０２は出力信号、４０３はＰ型トランジスタ、４０４、４０５はＮ型トランジスタ、４０６はインバータである。
【００５２】
図４に示したダイナミック回路３０５の動作を以下説明する。
クロック４００が“Ｈ”から“Ｌ”へ切り替わると、Ｐ型トランジスタ４０３はＯＮになり、Ｎ型トランジスタ４０５はＯＦＦになる。
【００５３】
これによりＰ型トランジスタによるプリチャージ動作が始まり、インバータ４０６の入力は次第に“Ｈ”に変化する。
この結果、出力信号４０２は次第に”Ｌ”へと変化する。
【００５４】
クロック４００が“Ｌ”から“Ｈ”へ切り替わると、Ｐ型トランジスタ４０３はＯＦＦになり、Ｎ型トランジスタ４０５はＯＮになる。
【００５５】
入力信号４０１が“Ｈ”の場合、Ｎ型トランジスタ４０４はＯＮなので、インバータ４０６の入力は次第に“Ｈ”から“Ｌ”に変化する。
この結果、出力信号４０２は次第に“Ｈ”へと変化する。
【００５６】
入力信号４０１が“Ｌ”の場合、Ｎ型トランジスタ４０４はＯＦＦなので、インバータ４０６の入力は“Ｈ”のままである。
この結果、出力信号４０２は“Ｌ”を出力する。
【００５７】
この時の各信号のタイミング動作図を図５に示す。
ここで、クロック信号４００が“Ｌ”の期間での動作をプリチャージ動作、クロック信号４００が“Ｈ”の期間での動作を評価動作と定義する。
【００５８】
図４に示した回路を用いた検出回路２０１の動作について、まずはクロックデューティが保障されている場合（クロックの“Ｈ”期間：“Ｌ”期間＝５０％：５０％）の動作について以下説明する。
【００５９】
ダイナミック回路３１０〜３１２はクロック３００が入力され、ダイナミック回路３１３〜３１５はクロック３００の反転されたクロックが入力される。
【００６０】
したがって、クロック３００が“Ｌ”の期間、ダイナミック回路３１０〜３１２はプリチャージ動作をし、ダイナミック回路３１３〜３１５は評価動作をする。
【００６１】
クロック３００が“Ｈ”の期間、ダイナミック回路３１０〜３１２は評価動作をし、ダイナミック回路３１３〜３１５はプリチャージ動作をする。
説明の便宜上、ラッチ３０２の出力は“Ｈ”に固定されているものとする。
【００６２】
クロック３００が“Ｈ”から“Ｌ”へ切り替わると、ダイナミック回路３１０〜３１２はプリチャージ動作をするので、それぞれの出力は図６に示すように“Ｈ”から“Ｌ”へと一斉に変化する。
【００６３】
クロック３００が“Ｌ”から“Ｈ”へ切り替わると、ダイナミック回路３１０の出力は“Ｌ”から“Ｈ”へと変化する。
【００６４】
ダイナミック回路３１１はダイナミック３１０の出力を入力としているので、ダイナミック回路３１１の出力が“Ｈ”へと変化するにつれ、ダイナミック回路３１２の出力は“Ｌ”から“Ｈ”へと変化する。
【００６５】
ダイナミック回路３１２も同様に、ダイナミック回路３１１の出力を受け、出力は“Ｌ”から“Ｈ”へと変化する。
【００６６】
ラッチ回路３０３はクロック信号３００が“Ｈ”から“Ｌ”への切り替わりでダイナミック回路３１２の出力“Ｈ”を保持する。
このときのタイミング動作図を図６に示す。
【００６７】
ダイナミック回路３１３〜３１５はクロック３００の反転クロックで動作するので、タイミング動作図は図７のようになる。
【００６８】
これによりラッチ回路３０４の出力は“Ｈ”が保持され、インバータ３０７の出力は常に“Ｌ”となる。
【００６９】
フリップフロップ３０８の初期値を“Ｌ”とすると、フリップフロップ３０８の出力とインバータ３０７の出力は、論理和ゲート３０６でＯＲ演算され、出力は“Ｌ”となる。
したがって、フリップフロップ３０８は常に“Ｌ”を保持することになる。
【００７０】
次にクロックデューティが保障されていない場合の動作について以下説明する。
クロック３００の“Ｈ”期間が“Ｌ”期間に対して大きくなった場合を説明する。
【００７１】
クロック３００の“Ｈ”期間が“Ｌ”期間に対して大きくなった場合、図８に示すように、ラッチ回路３０３においてクロック３００の立下り時間がダイナミック回路３１２の出力に対して遅れる方向に作用し、図９に示すように、ラッチ回路３０４においてクロック３００の立上り（ラッチ回路３０４に供給される反転クロックは立下り）時間が、ダイナミック回路３１５の出力に対して早くなる方向に作用する。
【００７２】
これによって、ラッチ回路３０４でミスラッチが発生してしまい、ラッチ回路３０４は“Ｌ”を保持してしまう。
これによりラッチ回路３０４の出力は“Ｌ”が保持され、インバータ３０７の出力は常に”Ｈ”となる。
【００７３】
フリップフロップ３０８の初期値を“Ｌ”とすると、フリップフロップ３０８の出力とインバータ３０７の出力は論理和ゲート３０６でＯＲ演算され、出力は“Ｈ”となる。
したがって、フリップフロップ３０８は“Ｈ”を保持することになる。
【００７４】
クロック３００を数サイクル動作させた場合、ラッチ回路３０４において一度でもミスラッチが発生するとフリップフロップ３０８は“Ｈ”を保持することになる。
【００７５】
クロックデューティ比の値については、ラッチ回路３０２と３０３の間のダイナミック回路の段数、ラッチ回路３０３と３０４の間のダイナミック回路の段数を変えることで設定できる。
【００７６】
以上のように、フリップフロップ３０８の出力を観測することで、クロックデューティが保障されていないことを検出することができる。
クロック３００の“Ｈ”期間が“Ｌ”期間に対して小さくなった場合は、ラッチ回路３０３の出力をインバータ３０７に接続した構成により、先に述べたクロックデューティが保障されていないことを同様に検出することができる。
【００７７】
次に、検出回路２０１での検出結果により制御信号１４１、１４２，１４３の設定について説明する。
図２において、制御信号１４１、１４２、１４３の初期状態をそれぞれ“１”、“１”、“００１”とする。
【００７８】
検出回路２０１がクロックの“Ｈ”期間が“Ｌ”期間より大きいことを検出した場合は、制御信号１４１、１４２、１４３をそれぞれ“１”、“０”、“０１０”とする。
【００７９】
このように制御信号１４１、１４２、１４３を設定することで、総クロック遅延で支配的なクロックリピータ群１０２、１０３をクロック１０００に対して論理反転動作させ、クロック１０００の立下りからブロックＡ１０４１内のラッチ回路におけるクロックの立下りまでにかかる遅延値をクロック１０００の立上りからブロックＡ１０４１内のラッチ回路におけるクロックの立上りまでにかかる遅延値に近づけることができる。
【００８０】
また、検出回路２０１がクロックの“Ｈ”期間が“Ｌ”期間より小さいことを検出した場合は、制御信号１４１、１４２、１４３をそれぞれ“０”、“０”、“１００”とする。
【００８１】
このように本実施の形態２におけるクロック調整回路においては、制御信号１４１、１４２、１４３を設定することで、総クロック遅延で支配的なクロックリピータ群１０２、１０３をクロック１０００に対して論理正転動作させ、クロック１０００の立上りからブロックＡ１０４１内のラッチ回路におけるクロックの立上りまでにかかる遅延値を、クロック１０００の立下りからブロックＡ１０４１内のラッチ回路におけるクロックの立下りまでにかかる遅延値に近づける、ようにすることができる。
【産業上の利用可能性】
【００８２】
本発明は大規模システムＬＳＩにおけるクロック調整回路としてこれを利用することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施の形態１に係るクロック調整回路の構成図
【図２】本発明の実施の形態２におけるクロック検出回路の構成図
【図３】本発明の実施の形態２における検出回路の構成図
【図４】本発明の実施の形態２におけるダイナミック回路の構成図
【図５】本発明の実施の形態２におけるダイナミック回路のタイミング動作図
【図６】本発明の実施の形態２における検出回路のタイミング動作図
【図７】本発明の実施の形態２における検出回路のタイミング動作図
【図８】本発明の実施の形態２における検出回路のタイミング動作図
【図９】本発明の実施の形態２における検出回路のタイミング動作図
【図１０】従来のクロック調整回路の構成図
【符号の説明】
【００８４】
１０１，１０４  クロックリピータ
１０２，１０３  クロックリピータ群
１１１，１１２，１１３，１１４，１１５，３０１，３０７，４０６  インバータ
１２１，１２２，１２３  セレクタ
１４１，１４２，１４３  セレクタの制御信号
３００，４００，１０００  クロック信号
３０２，３０３，３０４，１０３１  ラッチ回路
１０４１，２０４１  ブロック
２０１  検出回路
３０６  論理和ゲート
３０８  フリップフロップ
３１０，３１１，３１２，３１３，３１４，３１５  ダイナミック回路
４０１  入力信号
４０２  出力信号
４０３  Ｐ型トランジスタ
４０４，４０５  Ｎ型トランジスタ
１００００  クロック信号
１００１，１００２，１００３，１００４，１００５，１００６，１００７，１００８，１００９，１０１０，１０１１，１０１２，１０１３，１０１４，１０１５  クロックリピータ
１０２１，１０２２，１０２３  遅延調整セル
１０３１，１０３２，１０３３  ラッチ回路
１０４１，１０４２，１０４３  ブロック
【図１】
2005038157.tif 000003
【図２】
2005038157.tif 000004
【図３】
2005038157.tif 000005
【図４】
2005038157.tif 000006
【図５】
2005038157.tif 000007
【図６】
2005038157.tif 000008
【図７】
2005038157.tif 000009
【図８】
2005038157.tif 000010
【図９】
2005038157.tif 000011
【図１０】
2005038157.tif 000012