(57)【要約】【課題】クロックドメイン間の信号の受け渡しを可能にすることと、クロックツリーへの遅延調整用バッファの挿入による消費電力の増大を抑制することとを両立させる。【解決手段】半導体集積回路が、クロック信号１０２がそれぞれに供給されるクロックドメイン１０９、１１０、１１１と、クロックゲーティング部１５０と、クロックゲーティング部１５０とクロックドメイン１０９、１１０、１１１の間に設けられた遅延調節部１６０と、制御回路１３７とを具備する。クロックゲーティング部１５０は、クロックドメイン１０９、１１０、１１１のそれぞれへのクロック信号の供給及び停止を制御する。遅延調節部１６０は、クロックドメイン１０９、１１０、１１１のそれぞれに供給されるクロック信号１０２の遅延を調節する。制御回路１３７は、クロックゲーティング部１５０によるクロック信号１０２の供給及び停止のタイミングを、クロックドメイン１０９、１１０、１１１のそれぞれについて個別に制御する。【選択図】図３
2013250953.tif 000002
【特許請求の範囲】
【請求項１】
同期したクロック信号がそれぞれに供給される複数のクロックドメインと、
前記複数のクロックドメインのそれぞれへの前記クロック信号の供給及び停止を制御するクロックゲーティング部と、
前記クロックゲーティング部と前記複数のクロックドメインの間に設けられ、前記複数のクロックドメインのそれぞれに供給される前記クロック信号の遅延を調節する遅延調節部と、
前記クロックゲーティング部による前記クロック信号の供給及び停止のタイミングを、前記複数のクロックドメインのそれぞれについて独立して制御可能に構成された制御回路
とを具備する
半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路であって、
前記複数のクロックドメインのそれぞれに供給される前記クロック信号の前記遅延調節部における遅延時間が、前記クロック信号の１クロックサイクルに相当する時間未満である
半導体集積回路。
【請求項３】
請求項１又は２に記載の半導体集積回路であって、
前記クロックゲーティング部による前記クロック信号の供給及び停止のタイミングが前記クロック信号のクロックサイクルを単位として制御される
半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路であって、
前記制御回路は、クロックイネーブル信号に応答して前記複数のクロックドメインのそれぞれへの前記クロック信号の供給及び停止を制御する複数のローカルクロックイネーブル信号を生成し、
前記クロックゲーティング部は、前記複数のクロックドメインにそれぞれに対応して設けられ、前記複数のローカルクロックイネーブル信号にそれぞれに応答して対応する前記クロックドメインに前記クロック信号を供給する複数のゲートを具備する
半導体集積回路。
【請求項５】
請求項４に記載の半導体集積回路であって、
前記制御回路は、
前記クロックイネーブル信号を、前記クロック信号のクロックサイクルを単位として遅延することにより複数の信号を生成するシフトレジスタと、
マルチプレクサ
とを備え、
前記マルチプレクサは、前記クロックイネーブル信号及び前記複数の信号のうちのいずれか一の信号を選択し、選択した信号を前記複数のローカルクロックイネーブル信号のうちの一のローカルクロックイネーブル信号として出力する
半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に、同期したクロック信号が供給される複数のクロックドメインを有する半導体集積回路に関する。
【背景技術】
【０００２】
半導体集積回路の高性能化や多機能化を実現する為に、複数のクロックドメインを有するものが数多く存在している。このような半導体集積回路は、各クロックドメインを高速クロックで動作させ、且つ、該クロックドメインを同期して動作させることで高性能化を実現している。そして、クロックドメインを同期して動作させるためには、クロックドメイン間のクロックスキューを小さくし、クロックドメイン間のセットアップ／ホールド時間を確保する必要がある。
【０００３】
クロックドメイン間のクロックスキューを小さくするための一つの手法としては、各クロックドメインにクロック信号を供給するクロックツリーに遅延調整用バッファを挿入する技術が知られている（例えば、特開２００２−９１５５号公報（特許文献１）、特開２０００−１００９５７号公報（特許文献２）等を参照）。
【０００４】
しかしながら、バッファの挿入によるクロックスキューの解消は、クロックラインの消費電力の増大の問題を招く。近年の微細化プロセスでは、バッファ１個あたりの遅延は数ｐｓ〜数十ｐｓ程度である。一方、大規模な半導体集積回路においては、クロックドメイン間で数ｎｓのクロックスキューが発生することがある。これは、各クロックドメインにクロック信号を供給する配線に、多数の（例えば、数百個の）バッファの挿入が必要であることを意味している。各バッファにおいては電力が消費されるから、多数のバッファを挿入すると消費電力の増大の問題が顕著になる。
【０００５】
クロックツリーの遅延調整用バッファにおける消費電力の低減のための一つの技術としては、クロックゲーティングが知られている。クロックゲーティングとは、各クロックドメインへのクロック供給を制御する技術である。クロックドメインを動作させない場合にクロック供給を停止することで、消費電力を低減することができる。クロックゲーティングについては、例えば、特開２０１１−１０７７６９号公報（特許文献３）、特開２００７−７２９９５号公報（特許文献４）、特開２００６−９３２４９号公報（特許文献５）に開示されている。
【０００６】
しかしながら、発明者の検討によれば、クロックゲーティングによる消費電力の低減には、改良の余地がある。公知のクロックゲーティング技術は、遅延調整用バッファの数が増大するという問題を解消するものではない。
【０００７】
クロックドメイン間のクロックスキューを小さくするための他の技術としては、各クロックドメインに電圧制御発信器（ＶＣＯ）を集積化し、該電圧制御発信器から当該クロックドメイン内のフリップフロップにクロック信号を供給する技術が知られている（例えば、特開平９−２８２０４４号公報（特許文献６）参照）。この公報に記載された技術では、各電圧制御発信器が発生するクロック信号を基準信号に同期させることで、各クロックドメインのクロック信号の位相が合わせられている。この技術は、クロックドメイン間の遅延の差を調整するためのバッファが不要であり、消費電力の観点では有利である。
【０００８】
しかしながら、この技術では、クロックドメイン間の信号の受け渡しが困難になるという問題が発生し得る。例えば、第１のクロックドメインと第２のクロックドメインにおいて、クロック信号の遅延の差がクロックサイクルに相当する時間以上である場合を考える。このような場合、一方のクロックドメインのフリップフロップへのクロック信号の供給が、他方のクロックドメインのフリップフロップへのクロック信号の供給よりも先に停止されることになる。このような事態が発生するようなタイミングでは、第１のクロックドメインと第２のクロックドメインの間の信号の受け渡しを行うことはできない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−９１５５号公報
【特許文献２】特開２０００−１００９５７号公報
【特許文献３】特開２０１１−１０７７６９号公報
【特許文献４】特開２００７−７２９９５号公報
【特許文献５】特開２００６−９３２４９号公報
【特許文献６】特開平９−２８２０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
このように、従来技術では、クロックドメイン間の信号の受け渡しを可能にすることと、クロックツリーへの遅延調整用バッファの挿入による消費電力の増大を抑制することを両立させることができないという問題がある。
【００１１】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
一実施形態では、半導体集積回路が、同期したクロック信号がそれぞれに供給される複数のクロックドメインと、クロックゲーティング部と、クロックゲーティング部と複数のクロックドメインの間に設けられた遅延調節部と、制御回路とを具備する。クロックゲーティング部は、複数のクロックドメインのそれぞれへのクロック信号の供給及び停止を制御する。遅延調節部は、複数のクロックドメインのそれぞれに供給されるクロック信号の遅延を調節する。制御回路は、クロックゲーティング部によるクロック信号の供給及び停止のタイミングを、複数のクロックドメインのそれぞれについて個別に制御する。
【発明の効果】
【００１３】
上記実施形態によれば、クロックドメイン間の信号の受け渡しが可能でありながら、クロックツリーへの遅延調整用バッファの挿入による消費電力の増大を抑制できる技術を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】クロックツリーに遅延調整用バッファが挿入されると共に、上記のクロックゲーティング技術を採用した半導体集積回路の構成の例を示す回路図である。
【図２】公知の半導体回路の構成を示すブロック図である。
【図３】一実施形態の半導体集積回路の構成を示すブロック図である。
【図４】図３のクロック供給／停止制御回路の詳細を示す回路図である。
【図５】図３の半導体集積回路におけるＰＬＬ回路からフリップフロップまでのクロック信号の遅延を示すタイミングチャートである。
【図６】一実施形態における図３の半導体集積回路の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１５】
以下では、まず、本実施形態の半導体集積回路の技術的意義の理解を容易にするために、クロックツリーに遅延調整用バッファが挿入されると共にクロックゲーティング技術を採用した半導体集積回路について議論する。
【００１６】
図１は、クロックツリーに遅延調整用バッファを挿入すると共に、クロックゲーティング技術を採用する半導体集積回路の構成の例を概念的に示す回路図である。図１の半導体集積回路５００は、ＰＬＬ（phase locked loop）回路５０１と、ＡＮＤゲート５０４、５０５、５０６と、遅延調整バッファ群５０７、５０８と、クロックドメイン５０９、５１０、５１１とを備えている。ＰＬＬ回路５０１は、クロック信号５０２を生成するクロック生成部として機能する。ＡＮＤゲート５０４、５０５、５０６は、クロックドメイン５０９、５１０、５１１へのクロック信号５０２の供給及び停止を、クロックイネーブル信号５０３に応答して制御することでクロックゲーティングを実現する。遅延調整バッファ群５０７、５０８は、それぞれ、クロックドメイン５０９、５１０に供給されるクロック信号５０２を遅延する。後述されるように、遅延調整バッファ群５０７、５０８は、クロックドメイン５０９、５１０、５１１の間のクロックスキューを解消するために使用される。
【００１７】
クロックドメイン５０９、５１０、５１１のそれぞれは、ＣＴＳ（clock tree synthesis）バッファとフリップフロップとを備えている。ＣＴＳバッファとは、各クロックドメインのクロックツリーに含まれているバッファである。図１の例では、クロックドメイン５０９が、ＣＴＳバッファ５１２〜５１４と、フリップフロップ５２６、５２７とを備えており、クロックドメイン５１０が、ＣＴＳバッファ５１５〜５１８と、フリップフロップ５２８〜５３０とを備えている。また、クロックドメイン５１１は、ＣＴＳバッファ５１９〜５１２５と、フリップフロップ５３１〜５３４とを備えている。ＣＴＳバッファ５１２〜５２５は、クロックドメイン５０９、５１０、５１１の各々において、リーフセルとなるフリップフロップ５２６〜５３４までのクロックスキューを小さくするために配置される。なお、図１では、各クロックドメインの構成が概念的に示されており、現実の半導体集積回路では、各クロックドメインに多数のＣＴＳバッファ、フリップフロップが設けられることに留意されたい。
【００１８】
以下において、各クロックドメインのＣＴＳ遅延とは、各クロックドメインに供給されるクロック信号を受け取る初段のバッファの入力からフリップフロップの入力までの遅延時間をいう。ここで、各クロックドメインの内部では、ＣＴＳバッファを設けることによってクロックスキューが実質的に解消されているものとする。ＣＴＳバッファを適切に配置すれば、各クロックドメインの内部のクロックスキューを（設計上又は製造上の誤差を除いて）実質的にゼロにする（又は、微小な値である所定の基準値以下にする）ことが可能である。
【００１９】
図１の回路構成では、クロックドメイン５１０のフリップフロップ５２８とクロックドメイン５０９のフリップフロップ５２７の間で、信号パス５３５を介してデータの受け渡しが行われる。加えて、クロックドメイン５１１のフリップフロップ５３１とクロックドメイン５１０のフリップフロップ５３０間で、信号パス５３６を介してデータの受け渡しが行われる。
【００２０】
遅延調整バッファ群５０７、５０８の遅延時間は、クロックドメイン５０９、５１０、５１１の間のクロックスキューを小さくするように（より具体的には、所定の基準値以下になるように）決定される。このためには、クロックドメイン５０９、５１０、５１１のＣＴＳ遅延に応じて遅延調整バッファ群５０７、５０８の遅延時間が決定される。例えば、クロックドメイン５０９におけるＣＴＳ遅延（図１の例では、初段のＣＴＳバッファ５１２の入力からフリップフロップ５２６、５２７の入力までの遅延時間）が０．４ｎｓ、クロックドメイン５１０におけるＣＴＳ遅延が２．２ｎｓ、クロックドメイン５１１におけるＣＴＳ遅延が４．８ｎｓである場合を考える。この場合、クロックドメイン５１１におけるＣＴＳ遅延に合わせ、クロックドメイン５０９に接続される遅延調整バッファ群５０７の遅延時間を４．４ｎｓ（＝４．８ｎｓ−０．４ｎｓ）、クロックドメイン５１０に接続される遅延調整バッファ群５０８の遅延時間を２．６ｎｓ（＝４．８ｎｓ−２．２ｎｓ）に設定することで、クロックドメイン５０９、５１０、５１１のクロックスキューを解消することができる。
【００２１】
一つの問題は、近年の微細化プロセスでは、バッファ１個あたりの遅延が数ｐｓ〜数十ｐｓ程度である一方で、大規模な半導体集積回路においては、クロックドメイン間で数ｎｓのクロックスキューが発生することがあることである。これは、各クロックドメインにクロック信号を供給する配線に、多数の（例えば、数百個の）バッファの挿入が必要であることを意味している。例えば、上述の例では、遅延調整バッファ群５０７、５０８の遅延時間をそれぞれ４．４ｎｓ、２．６ｎｓとするためには、遅延調整バッファ群５０７、５０８として数百個のバッファを設ける必要がある。各バッファにおいては電力が消費されるため、多数のバッファを挿入すると消費電力の増大の問題が顕著になる。
【００２２】
その一方で、上述の特許文献６に開示されているように、各クロックドメインに電圧制御発信器（ＶＣＯ）を集積化することで、遅延調整のバッファを用いずにクロックドメイン間のクロックスキューを小さくするための技術が知られている。図２は、特許文献６に開示されている半導体回路３００の構成を示す回路図である。
【００２３】
図２の半導体回路３００は、クロック発振器３０７と、分周器３０８ｃ、３０８ｄと、位相比較器３０９ｃ、３０９ｄと、セレクタ３１０と、ループフィルタ３１１ｃ、３１１ｄと、ランダムロジックブロック３１５ｃ、３１５ｄとを備えている。ランダムロジックブロック３１５ｃは、電圧制御発振器（ＶＣＯ）３１２ｃと、クロックツリー３１３ｃと、フリップフロップ３１４ｃとを備えている。同様に、ランダムロジックブロック３１５ｄは、電圧制御発振器３１２ｄと、クロックツリー３１３ｄと、フリップフロップ３１４ｄとを備えている。
【００２４】
クロック発振器３０７は、分岐点３０６で分岐するクロック供給配線３０４を介して、位相比較器３０９ｄの基準信号入力部ｆｒとセレクタ３１０の入力部ｉｎ０とに接続されている。また、ランダムロジックブロック３１５ｃのフリップフロップ３１４ｃのクロック信号入力部は、クロック参照配線３０５ａ及び分周器３０８ｃを介して、位相比較器３０９ｃの比較信号入力部ｆａに接続されている。同様に、ランダムロジックブロック３１５ｄのフリップフロップ３１４ｄのクロック信号入力部は、クロック参照配線３０５ｂ及び分周器３０８ｄを介して、位相比較器３０９ｄの比較信号入力部ｆａに接続されている。
【００２５】
以上のように構成された半導体回路３００では、セレクタ３１０で入力部ｉｎ１（即ち、クロック参照配線３０５ａ）を選択し、クロックツリー３１３ｄから出力されるクロック信号をクロック参照配線３０５ｂを介して位相比較器３０９ｃの基準信号入力部ｆｒに入力することで、ランダムロジックブロック３１５ｃ、３１５ｄの間のクロックスキューを解消することができる。図２の半導体回路３００では、クロックドメイン間のＣＴＳ遅延のスキューを調整するバッファを追加する必要がない。
【００２６】
しかしながら、この技術では、クロックドメイン間の信号の受け渡しが困難になるという問題が発生し得る。例えば、ランダムロジックブロック３１５ｃ、３１５ｄ（これらは、いずれも、クロックドメインに相当する）において、ＣＴＳ遅延の差がクロックサイクルに相当する時間以上である場合を考える。このとき、ランダムロジックブロック３１５ｄのクロックツリー３１３ｄのＣＴＳ遅延が、ランダムロジックブロック３１５ｃのクロックツリー３１３ｃのＣＴＳ遅延よりも２クロックサイクルに相当する時間だけ相違するとする。このような場合、ランダムロジックブロック３１５ｃのフリップフロップ３１４ｃへのクロック信号の供給が、ランダムロジックブロック３１５ｄのフリップフロップ３１４ｄへのクロック信号の供給よりも２クロックサイクルだけ先に停止されることになる。このような事態が発生するようなタイミングでは、ランダムロジックブロック３１５ｃ、３１５ｄの間の信号の受け渡しを行うことはできない。
【００２７】
このような問題に対処するために、本実施形態の半導体集積回路は、クロックドメイン間の信号の受け渡しが可能でありながら、クロックツリーへの遅延調整用バッファの挿入による消費電力の増大を抑制するように構成されている。以下、本実施形態の半導体集積回路について説明する。
【００２８】
図３は、本実施形態の半導体集積回路１００の構成を示すブロック図である。半導体集積回路１００は、ＰＬＬ回路１０１と、クロックゲーティング部１５０と、遅延調節部１６０と、クロックドメイン１０９、１１０、１１１と、クロック供給／停止制御回路１３７とを備えている。
【００２９】
ＰＬＬ回路１０１は、クロックドメイン１０９、１１０、１１１に供給されるクロック信号１０２を生成するクロック生成部である。クロックドメイン１０９、１１０、１１１には、同期したクロック信号がそれぞれに供給されることになる。
【００３０】
クロックゲーティング部１５０は、クロック供給／停止制御回路１３７から供給されるローカルクロックイネーブル信号１３８、１３９、１４０に応答して、クロックドメイン１０９、１１０、１１１へのクロック信号１０２の供給及び停止を制御する。ここで、ローカルクロックイネーブル信号１３８、１３９、１４０は、それぞれ、クロックドメイン１０９、１１０、１１１へのクロック信号１０２の供給及び停止を指示する信号である。本実施形態では、クロックゲーティング部１５０は、ＡＮＤゲート１０４、１０５、１０６を備えている。ＡＮＤゲート１０４は、ローカルクロックイネーブル信号１３８に応答してクロックドメイン１０９へのクロック信号１０２の供給及びその停止を制御するゲートである。同様に、ＡＮＤゲート１０５、１０６は、それぞれ、ローカルクロックイネーブル信号１３９、１４０に応答してクロックドメイン１１０、１１１へのクロック信号１０２の供給及びその停止を制御するゲートである。
【００３１】
ここで、本実施形態の半導体集積回路１００は、クロックドメイン１０９、１１０、１１１のそれぞれについて独立にクロック信号１０２の供給及びその停止を制御することができるように構成されていることに留意されたい。本実施形態では、ローカルクロックイネーブル信号１３８、１３９、１４０に応答して、それぞれ、クロックドメイン１０９、１１０、１１１へのクロック信号１０２の供給及びその停止が制御される。よって、クロックドメイン１０９、１１０、１１１にクロック信号１０２の供給を開始するタイミング、及び供給を停止するタイミングを個別に制御可能である。図１に図示されている回路構成では、ＡＮＤゲート５０４〜５０６がいずれも同一のクロックイネーブル信号５０３に応答してクロックドメイン５０９、５１０、５１０へのクロック信号５０２の供給及び停止を制御していることに留意されたい。図１の回路構成では、クロックドメイン５０９、５１０、５１０へのクロック信号５０２の供給及び停止を独立に制御することはできない。後述されるように、本実施形態の半導体集積回路１００では、クロックドメイン１０９、１１０、１１１にクロック信号１０２の供給を開始するタイミング、及び供給を停止するタイミングを個別に制御可能であることが、遅延の調整のためのバッファの挿入による消費電力の増大を抑制するために重要である。
【００３２】
遅延調節部１６０は、ＡＮＤゲート１０４、１０５、１０６から出力されるクロック信号１０２の遅延を調節してクロックドメイン１０９、１１０、１１１の間のクロックスキューを解消する。本実施形態では、クロックドメイン１０９、１１０、１１１のうちクロックドメイン１１１が最も大きなＣＴＳ遅延を有するものとする。遅延調節部１６０は、クロックドメイン１１１のＣＴＳ遅延に合わせて決められた遅延時間だけクロックドメイン１０９、１１０に供給されるクロック信号１０２を遅延するように構成される。
【００３３】
より具体的には、遅延調節部１６０は、ＡＮＤゲート１０４とクロックドメイン１０９の間に接続された位相調整バッファ群１０７と、ＡＮＤゲート１０５とクロックドメイン１１０の間に接続された位相調整バッファ群１０８とを備えている。位相調整バッファ群１０７、１０８は、それぞれ、クロックドメイン１０９、１１０に供給されるクロック信号１０２を遅延する。
【００３４】
位相調整バッファ群１０７、１０８の遅延時間は、クロックドメイン１０９、１１０、１１１の間でクロック信号の位相を整合させるように調節される。本実施形態では、クロックドメイン１１１のＣＴＳ遅延が最も大きいとして位相調整バッファ群１０７、１０８の遅延時間が調節されている。具体的には、位相調整バッファ群１０７の遅延時間が、クロックドメイン１０９とクロックドメイン１１１とに供給されるクロック信号１０２の位相を合わせるように調節される。位相調整バッファ群１０８の遅延時間が、クロックドメイン１１１とクロックドメイン１１１とに供給されるクロック信号１０２の位相を合わせるように調節される。位相調整バッファ群１０７、１０８に含まれるバッファの数は、位相調整バッファ群１０７、１０８が提供すべき遅延時間に合わせて決定される。
【００３５】
ここで、「クロック信号の位相を整合させる」とは、ＡＮＤゲート１０４、１０５、１０６の出力からクロックドメイン１０９、１１０、１１１の入力までの遅延時間が、クロック信号の周期（クロックサイクル）を単位とするずれを許容することを意味している。よって、位相調整バッファ群１０７、１０８の遅延時間は、最大でもクロック信号１０２の１クロックサイクルに相当する時間未満であるように調節される。後述されるように、１クロックサイクル単位の遅延時間の差は、ローカルクロックイネーブル信号１３８、１３９、１４０によってクロックドメイン１０９、１１０、１１１へのクロック信号１０２の供給及びその停止のタイミングを制御することで補償される。
【００３６】
クロック供給／停止制御回路１３７は、クロック信号１０２とクロックイネーブル信号１０３とに応答して、ローカルクロックイネーブル信号１３８、１３９、１４０を生成する。クロックイネーブル信号１０３とは、クロックドメイン１０９、１１０、１１１を含む回路ブロック（半導体集積回路１００の全体の場合もある）へのクロック供給・停止を制御するための信号である。一方、ローカルクロックイネーブル信号１３８、１３９、１４０は、上述の通り、それぞれＡＮＤゲート１０４、１０５、１０６を制御してクロックドメイン１０９、１１０、１１１へのクロック信号１０２の供給及びその停止を制御するための信号である。
【００３７】
クロック供給／停止制御回路１３７は、ローカルクロックイネーブル信号１３８、１３９、１４０をアサート／ディアサートするタイミングをクロック信号１０２のクロックサイクル単位で制御可能であるように構成されている。これにより、ＡＮＤゲート１０４、１０５、１０６にクロック信号１０２の供給を許可するタイミングを、クロック信号１０２のクロックサイクル単位で制御可能である。
【００３８】
クロックドメイン１０９、１１０、１１１のそれぞれは、ＣＴＳ（clock tree synthesis）バッファとフリップフロップとを備えている。図３の例では、クロックドメイン１０９は、ＣＴＳバッファ１１２〜１１４と、フリップフロップ１２６、１２７とを備えている。クロックドメイン１０９には、クロック信号１０２がＡＮＤゲート１０４と位相調整バッファ群１０７を介して供給される。このクロックドメイン１０９内において、クロック信号１０２は、ＣＴＳバッファ１１２、１１３を介してフリップフロップ１２６へ供給され、ＣＴＳバッファ１１２、１１４を介してフリップフロップ１２７へ供給される。同様に、クロックドメイン１１０は、ＣＴＳバッファ１１５〜１１８と、フリップフロップ１２８〜１３０とを備えている。クロックドメイン１１０には、クロック信号１０２がＡＮＤゲート１０５と位相調整バッファ群１０８を介して供給される。このクロックドメイン１１０内において、クロック信号１０２は、ＣＴＳバッファ１１５、１１６を介してフリップフロップ１２８へ供給される。更に、クロック信号１０２は、ＣＴＳバッファ１１５、１１７を介してフリップフロップ１２９へ供給され、ＣＴＳバッファ１１５、１１８を介してフリップフロップ１３０へ供給される。更に、クロックドメイン１１１は、ＣＴＳバッファ１１９〜１２５と、フリップフロップ１３１〜１３４とを備えている。クロックドメイン１１１には、クロック信号１０２が、ＡＮＤゲート１０６を介して供給される。このクロックドメイン１１１内において、クロック信号１０２は、ＣＴＳバッファ１１９、１２０、１２１を介してフリップフロップ１３１へ供給され、ＣＴＳバッファ１１９、１２０、１２２を介してフリップフロップ１３２へ供給されている。クロック信号１０２は、更に、ＣＴＳバッファ１１９、１２３、１２４を介してフリップフロップ１３３へ供給され、ＣＴＳバッファ１１９、１２３、１２５を介してフリップフロップ１３４へ供給される。
【００３９】
ＣＴＳバッファ１１２〜１２５は、各々のクロックドメイン１０９、１１０、１１１内において、リーフセルとなるフリップフロップ１２６〜１３４までのクロックスキューを小さくするために配置される。以下の説明では、各クロックドメイン１０９、１１０、１１１の内部では、ＣＴＳバッファ１１２〜１２５を設けることによってクロックスキューが実質的に解消されているものとする。ＣＴＳバッファを適切に配置すれば、各クロックドメインの内部のクロックスキューを（設計上又は製造上の誤差を除いて）実質的にゼロにする（又は、微小な値である所定の基準値以下にする）ことが可能である。なお、図３では、各クロックドメインの構成が概念的に示されており、現実の半導体集積回路では、各クロックドメインに多数のＣＴＳバッファ、フリップフロップが設けられることに留意されたい。
【００４０】
また、図３の回路構成では、信号パス（path）１３５を介してクロックドメイン１０９、１１０の間でデータの受け渡しが行われ、信号パス１３６を介してクロックドメイン１１０、１１１の間でデータの受け渡しが行われる。詳細には、クロックドメイン１１０のフリップフロップ１２８のデータ出力が、信号パス１３５を介してクロックドメイン１０９のフリップフロップ１２７のデータ入力に接続されている。更に、クロックドメイン１１１のフリップフロップ１３１のデータ出力が、信号パス１３６を介してクロックドメイン１１０のフリップフロップ１３０のデータ入力に接続されている。
【００４１】
図４は、図３のクロック供給／停止制御回路１３７の詳細な回路構成の一例を示す回路図である。クロック供給／停止制御回路１３７は、フリップフロップ２１０〜２１４と、マルチプレクサ２１５、２１６と、遅延調整選択信号生成部２１７とを備えている。上述のように、クロック供給／停止制御回路１３７は、クロック信号１０２とクロックイネーブル信号１０３とに応答してローカルクロックイネーブル信号１３８、１３９、１４０を生成する。本実施形態では、クロック供給／停止制御回路１３７は、ローカルクロックイネーブル信号１４０がアサート／ディアサートされるタイミングからローカルクロックイネーブル信号１３８、１３９がアサート／ディアサートされるタイミングまでの遅延を、それぞれ、０〜５クロックサイクルの間で制御可能であるように構成されている。
【００４２】
詳細には、フリップフロップ２１０〜２１４は、直列に接続されており、シリアル入力パラレル出力型のシフトレジスタを構成している。このシフトレジスタは、クロック信号１０２に同期して動作しており、クロック信号１０２のクロックサイクルを単位としてクロックイネーブル信号１０３を遅延することにより複数の出力信号を生成する。詳細には、フリップフロップ２１０は、そのデータ入力にクロックイネーブル信号１０３が入力されており、そのデータ出力は、次段のフリップフロップ２１１のデータ入力に接続されている。同様に、フリップフロップ２１１のデータ出力はフリップフロップ２１２のデータ入力に接続され、フリップフロップ２１２のデータ出力はフリップフロップ２１３のデータ入力に接続されている。更に、フリップフロップ２１３のデータ出力はフリップフロップ２１４のデータ入力に接続されている。加えて、フリップフロップ２１０〜２１４のクロック入力には、クロック信号１０２が供給される。したがって、フリップフロップ２１０〜２１４は、それぞれ、クロックイネーブル信号１０３を１クロックサイクルずつで遅延して出力することになる。フリップフロップ２１０〜２１４の出力信号は、クロックイネーブル信号１０３を、それぞれ、１クロックサイクル、２クロックサイクル、３クロックサイクル、４クロックサイクル、５クロックサイクルだけ遅延した信号になる。
【００４３】
マルチプレクサ２１５は、遅延調整選択信号生成部２１７から供給される選択信号２１８に応答してクロックイネーブル信号１０３及びフリップフロップ２１０〜２１４の出力信号のいずれかを選択する。マルチプレクサ２１５によって選択された信号が、ＡＮＤゲート１０４に供給されるローカルクロックイネーブル信号１３８として使用される。
【００４４】
同様に、マルチプレクサ２１６は、遅延調整選択信号生成部２１７から供給される選択信号２１９に応答してクロックイネーブル信号１０３及びフリップフロップ２１０〜２１４の出力信号のいずれかを選択する。マルチプレクサ２１６によって選択された信号が、ＡＮＤゲート１０５に供給されるローカルクロックイネーブル信号１３９として使用される。
【００４５】
ローカルクロックイネーブル信号１４０としては、クロックイネーブル信号１０３がそのまま出力される。
【００４６】
遅延調整選択信号生成部２１７は、マルチプレクサ２１５、２１６に入力された信号の中で、どの信号を出力するかを指定する選択信号２１８、２１９を生成する。選択信号２１８、２１９により、ローカルクロックイネーブル信号１３８、１３９がアサート／ディアサートされるタイミング、即ち、ＡＮＤゲート１０４、１０５からクロックドメイン１０９、１１０へのクロック信号１０２の供給／停止のタイミングが決定される。選択信号２１８、２１９の値を適切に設定することで、クロックドメイン１０９、１１０、１１１の間のＣＴＳ遅延の差が吸収される。
【００４７】
選択信号２１８、２１９の値は、様々な手法で設定可能である。例えば、遅延調整選択信号生成部２１７に設けられたレジスタに格納された値が、選択信号２１８、２１９の値として設定されてもよい。また、設計の下流段階において、（例えば、上層の配線層の設計において）、選択信号２１８、２１９として所望値が出力されるように配線のレイアウトが決定され、これにより、選択信号２１８、２１９として固定値が出力されるようにしてもよい。
【００４８】
本実施形態では、選択信号２１８、２１９の値として、それぞれ、ローカルクロックイネーブル信号１３８、１３９のクロックイネーブル信号１０３からの遅延量を示す値がクロック信号１０２のクロックサイクルを単位として設定される。例えば、選択信号２１８、２１９の値が“０”に設定された場合、マルチプレクサ２１５、２１６は、ローカルクロックイネーブル信号１３８、１３９として、クロックイネーブル信号１０３を選択する（この場合、ローカルクロックイネーブル信号１３８、１３９のクロックイネーブル信号１０３からの遅延量はゼロである）。また、選択信号２１８、２１９の値が“１”に設定された場合、マルチプレクサ２１５、２１６は、ローカルクロックイネーブル信号１３８、１３９として、クロックイネーブル信号１０３を１クロックサイクルだけ遅延した信号、即ち、フリップフロップ２１０の出力信号を選択する。他の値についても同様である。選択信号２１８、２１９の値が“２”に設定された場合、マルチプレクサ２１５、２１６は、フリップフロップ２１１の出力信号を選択し、選択信号２１８、２１９の値が“３”に設定された場合、マルチプレクサ２１５、２１６は、フリップフロップ２１２の出力信号を選択する。また、選択信号２１８、２１９の値が“４”に設定された場合、マルチプレクサ２１５、２１６は、フリップフロップ２１３の出力信号を選択し、選択信号２１８、２１９の値が“５”に設定された場合、マルチプレクサ２１５、２１６は、フリップフロップ２１４の出力信号を選択する。
【００４９】
この場合、選択信号２１８の値（即ち、ローカルクロックイネーブル信号１３８のクロックイネーブル信号１０３からの遅延量を示す値）としては、次式（１ａ）：
Ｄ１＝Ａ−Ｂ１−（Ｃ×ｎ１）・・・式（１ａ）
について、Ｄ１が負の数にならないような自然数ｎ１の最大値が選択される。ここで、Ａは、（最もＣＴＳ遅延の大きい）クロックドメイン１１１のＣＴＳ遅延であり、Ｂ１は、クロックドメイン１０９のＣＴＳ遅延であり、Ｃは、クロック信号１０２のクロックサイクルである。自然数ｎ１が、Ｄ１が負の数にならないような最大値に選択された場合、式（１ａ）で与えられるＤ１は、位相調整バッファ群１０７の遅延時間に一致することになる。
【００５０】
同様に、選択信号２１９の値（即ち、ローカルクロックイネーブル信号１３９のクロックイネーブル信号１０３からの遅延量を示す値）としては、次式（１ｂ）：
Ｄ２＝Ａ−Ｂ２−（Ｃ×ｎ２）・・・式（１ｂ）
について、Ｄ２が負の数にならないような自然数ｎ２の最大値が選択される。ここで、Ａは、クロックドメイン１１１のＣＴＳ遅延であり、Ｂ２は、クロックドメイン１１０のＣＴＳ遅延であり、Ｃは、クロック信号１０２のクロックサイクルである。自然数ｎ２が、Ｄ２が負の数にならないような最大値に選択された場合、Ｄ２は、位相調整バッファ群１０８の遅延時間に一致することになる。
【００５１】
図５は、選択信号２１８、２１９の値の設定手法、即ち、ローカルクロックイネーブル信号１３８、１３９のクロックイネーブル信号１０３からの遅延量を決定する手法の例を示す図である。図５には、ＡＮＤゲート１０４、１０５、１０６からのクロック信号１０２の供給が、同時に開始されたと仮定した場合における、フリップフロップ１２７、１２８、１３１のクロック端子に供給されるクロック信号の波形が示されている。
【００５２】
図５において、時刻ＴＡにおいてＰＬＬ回路１０１からクロック信号１０２の供給が開始され、更に、時刻ＴＢにおいてＡＮＤゲート１０４、１０５、１０６からのクロック信号１０２の出力が開始されたとする。このとき、時刻ＴＡから時刻ＴＢまでの経過時間ＴＨは、ＰＬＬ回路１０１からクロック信号１０２の出力が開始された後、ＡＮＤゲート１０４、１０５、１０６の出力からクロック信号１０２が出力されるまでの遅延時間に相当する。
【００５３】
この場合、クロックドメイン１０９の初段のＣＴＳバッファ１１２の入力には、時刻ＴＢから位相調整バッファ群１０７による遅延時間ＴＩだけ遅れた時刻ＴＣにクロック信号１０２が到達する。更に、クロックドメイン１０９のフリップフロップ１２７のクロック入力には、時刻ＴＣから、クロックドメイン１０９のＣＴＳ遅延ＴＪ（即ち、クロックドメイン１０９のＣＴＳバッファ１１２〜１１４による遅延時間）だけ遅れた時刻ＴＥにクロック信号１０２が到達する。遅延時間ＴＩは、式（１ａ）のＤ１に相当し、ＣＴＳ遅延ＴＪは、式（１ａ）のＢ１に相当する。
【００５４】
また、クロックドメイン１１０の初段のＣＴＳバッファ１１５の入力には、時刻ＴＢから位相調整バッファ群１０８による遅延時間ＴＫだけ遅れた時刻ＴＤにクロック信号１０２が到達する。更に、クロックドメイン１１０のフリップフロップ１２８のクロック入力には、時刻ＴＤから、クロックドメイン１１０のＣＴＳ遅延ＴＬ（クロックドメイン１１０のＣＴＳバッファ１１５〜１１８による遅延時間）だけ遅れた時刻ＴＦにクロック信号１０２が到達する。遅延時間ＴＩは、式（１ｂ）のＤ２に相当し、ＣＴＳ遅延ＴＬは、式（１ｂ）のＢ２に相当する。
【００５５】
更に、クロックドメイン１１１のフリップフロップ１３１のクロック入力には、時刻ＴＢから、クロックドメイン１１１のＣＴＳ遅延ＴＭ（ＣＴＳバッファ１１９〜１２５による遅延時間）だけ遅れた時刻ＴＧにクロック信号１０２が到達する。
【００５６】
時刻ＴＥから時刻ＴＧまでの経過時間ＴＮは、（最もＣＴＳ遅延の大きい）クロックドメイン１１１のＣＴＳ遅延ＴＭから、位相調整バッファ群１０７による遅延時間ＴＩとクロックドメイン１０９のＣＴＳ遅延ＴＪの合計を減ずることで得られ、式（１ａ）の（Ｃ＊ｎ１）に相当する。自然数ｎ１は、経過時間ＴＮをクロック信号１０２のクロックサイクルＣで割ることで得られる。
【００５７】
同様に、時刻ＴＦから時刻ＴＧまでの経過時間ＴＯは、クロックドメイン１１１のＣＴＳ遅延ＴＭから、位相調整バッファ群１０８による遅延時間ＴＫとクロックドメイン１１０のＣＴＳ遅延ＴＬの合計を減ずることで得られ、式（１ｂ）の（Ｃ＊ｎ２）に相当する。自然数ｎ２は、経過時間ＴＯをクロック信号１０２のクロックサイクルＣで割ることで得られる。
【００５８】
例えば、下記の例について考える：
・クロック信号１０２の１クロックサイクルが１ｎｓ（クロック信号１０２の周波数が１ＧＨｚである場合に対応）
・クロックドメイン１０９のＣＴＳ遅延ＴＪが０．４ｎｓ
・位相調整バッファ群１０７の遅延時間ＴＩが０．４ｎｓ
・クロックドメイン１１０のＣＴＳ遅延ＴＬが２．２ｎｓ
・位相調整バッファ群１０８の遅延時間ＴＫが０．６ｎｓ
・クロックドメイン１１１のＣＴＳ遅延ＴＭが４．８ｎｓ
【００５９】
この例では、クロックドメイン１０９について式（１ａ）が成立するため、下記式：
０．４（ｎｓ）＝４．８（ｎｓ）−０．４（ｎｓ）−（１．０（ｎｓ）×ｎ１）
・・・（２ａ）
が得られる。式（２ａ）を成立させる自然数ｎ１は“４”である。即ち、ＡＮＤゲート１０４からクロックドメイン１０９のフリップフロップ１２７のクロック端子までの遅延時間（ＴＩ＋ＴＪ）は、ＡＮＤゲート１０６からクロックドメイン１１１のフリップフロップ１３１のクロック端子までの遅延時間（ＴＭ）と比較して、４クロックサイクルに相当する時間だけ小さい。
【００６０】
よって、マルチプレクサ２１５に供給される選択信号２１８の値として“４”を設定すれば、クロックドメイン１０９のフリップフロップ１２７のクロック端子へのクロック信号１０２の到達時刻と、クロックドメイン１１１のフリップフロップ１３１のクロック端子へのクロック信号１０２の到達時間を一致させることができる。
【００６１】
また、クロックドメイン１１０については式（１ｂ）が成立するため、下記式：
０．６（ｎｓ）＝４．８（ｎｓ）−２．２（ｎｓ）−（１．０（ｎｓ）×ｎ２）
・・・（２ｂ）
が得られる。式（２ｂ）を成立させる自然数ｎ２は“２”である。即ち、ＡＮＤゲート１０５からクロックドメイン１１０のフリップフロップ１２８のクロック端子までの遅延時間（ＴＫ＋ＴＬ）は、ＡＮＤゲート１０６からクロックドメイン１１１のフリップフロップ１３１のクロック端子までの遅延時間（ＴＭ）と比較して、２クロックサイクルに相当する時間だけ小さい。
【００６２】
よって、マルチプレクサ２１６に供給される選択信号２１９の値として“２”を設定すれば、クロックドメイン１１０のフリップフロップ１２８のクロック端子へのクロック信号１０２の到達時刻と、クロックドメイン１１１のフリップフロップ１３１のクロック端子へのクロック信号１０２の到達時間を一致させることができる。
【００６３】
上述のように、図５に図示されているクロック供給／停止制御回路１３７は、ローカルクロックイネーブル信号１３８、１３９、１４０のアサート／ディアサートのタイミングの調整の為のシフトレジスタは、直列に接続された５つのフリップフロップ（２１０〜２１４）を備えている。しかしながら、シフトレジスタに含まれるフリップフロップの数は、５に限定されないことに留意されたい。
【００６４】
また、本実施形態のクロック供給／停止制御回路１３７は、ローカルクロックイネーブル信号１３８、１３９、１４０のアサート／ディアサートのタイミングの調整のためにシフトレジスタを使用する構成を採用しているが、必ずしもシフトレジスタを使用する構成である必要はない。例えば、クロックイネーブル信号１０３をカウンタ回路を用いてクロックサイクル単位で遅延させることでローカルクロックイネーブル信号を生成する構成でもよい。更に、本実施形態では、クロックドメイン１１１へのクロック信号の供給を制御するローカルクロックイネーブル信号１４０としてクロックイネーブル信号１０３をそのまま用いているが、ローカルクロックイネーブル信号１４０のアサート／ディアサートのタイミングを制御する構成であってもよい。
【００６５】
図６は、本実施形態の半導体集積回路１００におけるクロックゲーティングの動作の例を示すタイミングチャートである。図６には、時刻Ｔ４０においてクロックイネーブル信号１０３がディアサートされ、時刻Ｔ４４においてクロックイネーブル信号１０３がアサートされる場合の動作が示されている。また、図６のタイミングチャートは、クロック供給／停止制御回路１３７が、上述したように設計された場合（図５を参照）についての動作を図示している。即ち、図６は、下記の場合の動作を示している。
・クロック信号１０２の１クロックサイクルが１ｎｓ
・クロックドメイン１０９のＣＴＳ遅延ＴＪが０．４ｎｓ
・位相調整バッファ群１０７の遅延時間ＴＩが０．４ｎｓ
・クロックドメイン１１０のＣＴＳ遅延ＴＬが２．２ｎｓ
・位相調整バッファ群１０８の遅延時間ＴＫが０．６ｎｓ
・クロックドメイン１１１のＣＴＳ遅延ＴＭが４．８ｎｓ
この場合、上述されているように、クロック供給／停止制御回路１３７は、ローカルクロックイネーブル信号１３８、１３９を、それぞれ、４クロックサイクル、２クロックサイクルだけクロックイネーブル信号１０３を遅延した信号として生成するように設計される。また、位相調整バッファ群１０７、１０８に含まれるバッファの数は、クロックドメイン１０９、１１０、１１１のフリップフロップの入力においてクロック信号１０２の位相が（設計上、製造上の誤差を除いて）同一であるように設計される。
【００６６】
初期状態では、クロックイネーブル信号１０３及びローカルクロックイネーブル信号１３８、１３９、１４０がいずれもアサートされており、クロック信号１０２がクロックドメイン１０９、１１０、１１１に供給されているとする。
【００６７】
時刻Ｔ４０においてクロックイネーブル信号１０３がディアサートされると、実質的に同時にローカルクロックイネーブル信号１４０がディアサートされる。「実質的に同時」とは、微小な遅延を無視すれば同時であることを意味している。
【００６８】
その後、時刻Ｔ４０から２サイクルクロックに相当する経過時間Ｔ４８が経過した時刻Ｔ４１において、クロック供給／停止制御回路１３７によりローカルクロックイネーブル信号１３９がディアサートされる。更に、時刻Ｔ４０から４サイクルクロックに相当する経過時間Ｔ４９が経過した時刻Ｔ４１において、クロック供給／停止制御回路１３７によりローカルクロックイネーブル信号１３８がディアサートされる。
【００６９】
ローカルクロックイネーブル信号１３８、１３９、１４０がディアサートされると、ＡＮＤゲート１０４、１０５、１０６により、クロック信号１０２のクロックドメイン１０９、１１０、１１１への供給が停止される。ただし、クロックドメイン１０９、１１０、１１１のフリップフロップの入力へのクロック信号１０２の供給は、ローカルクロックイネーブル信号１３８、１３９、１４０がディアサートされた時刻よりも後の時刻に停止されることになる。
【００７０】
ここで、本実施形態では、クロック供給／停止制御回路１３７によるローカルクロックイネーブル信号１３８、１３９、１４０がディアサートされるタイミングの制御と、位相調整バッファ群１０７、１０８による位相調整により、クロックドメイン１０９、１１０、１１１のフリップフロップのクロック入力へのクロック信号１０２の供給が同時に停止される。図６においては、時刻Ｔ４３が、クロックドメイン１０９、１１０、１１１の各フリップフロップの入力へのクロック信号１０２の供給が停止されるタイミングである。
【００７１】
クロックドメイン１０９、１１０、１１１の各フリップフロップのクロック入力へのクロック信号１０２の供給が同時に停止されることは、クロックドメイン１０９、１１０、１１１の間のスキューが解消されることを意味している。加えて、クロックドメイン１０９、１１０、１１１の間での信号の受け渡しも可能である。例えば、図３の回路構成であれば、信号パス１３５を介したフリップフロップ１２８からフリップフロップ１２７への信号の供給が可能であり、また、信号パス１３６を介したフリップフロップ１３１からフリップフロップ１３０への信号の供給が可能である。
【００７２】
更に、時刻Ｔ４４においてクロックイネーブル信号１０３がアサートされると、実質的に同時にローカルクロックイネーブル信号１４０がアサートされる。
【００７３】
その後、時刻Ｔ４４から２サイクルクロックに相当する経過時間Ｔ５０が経過した時刻Ｔ４５において、クロック供給／停止制御回路１３７によりローカルクロックイネーブル信号１３９がアサートされる。更に、時刻Ｔ４４から４サイクルクロックに相当する経過時間Ｔ５１が経過した時刻Ｔ４６において、クロック供給／停止制御回路１３７によりローカルクロックイネーブル信号１３８がアサートされる。
【００７４】
ローカルクロックイネーブル信号１３８、１３９、１４０がアサートされると、ＡＮＤゲート１０４、１０５、１０６により、クロック信号１０２のクロックドメイン１０９、１１０、１１１への供給が開始される。ただし、クロックドメイン１０９、１１０、１１１のフリップフロップの入力へのクロック信号１０２の供給は、ローカルクロックイネーブル信号１３８、１３９、１４０がアサートされた時刻よりも後の時刻に開始されることになる。
【００７５】
ここで、本実施形態では、クロック供給／停止制御回路１３７によるローカルクロックイネーブル信号１３８、１３９、１４０がアサートされるタイミングの制御と、位相調整バッファ群１０７、１０８による位相調整により、クロックドメイン１０９、１１０、１１１のフリップフロップのクロック入力へのクロック信号１０２の供給が同時に開始される。図６においては、時刻Ｔ４７が、クロックドメイン１０９、１１０、１１１の各フリップフロップの入力へのクロック信号１０２の供給が開始されるタイミングである。
【００７６】
クロックドメイン１０９、１１０、１１１の各フリップフロップの入力へのクロック信号１０２の供給が同時に開始されることは、クロックドメイン１０９、１１０、１１１の間のスキューが解消されることを意味している。
加えて、クロックドメイン１０９、１１０、１１１の間での信号の受け渡しが可能であることも意味している。
【００７７】
以上に述べられているように、本実施形態の半導体集積回路１００では、クロック供給／停止制御回路１３７によってローカルクロックイネーブル信号１３８、１３９、１４０がアサート／ディアサートされるタイミングが制御されることにより、位相調整バッファ群１０７、１０８に含まれるバッファが少なくてもクロックドメイン１０９、１１０、１１１の間のスキューを解消することができる。ローカルクロックイネーブル信号１３８、１３９、１４０がアサート／ディアサートされるタイミングがクロックサイクル単位で制御されるので、位相調整バッファ群１０７、１０８の遅延時間は１クロックサイクルに相当する時間より短くできる。これは、位相調整バッファ群１０７、１０８に含まれるバッファを低減できることを意味している。
【００７８】
このとき、本実施形態の半導体集積回路１００では、図２の回路構成のように、各クロックドメインのＣＴＳ遅延がクロックサイクルに相当する時間以上の差がある場合にクロックドメイン間の信号の受け渡しが存在しても、その信号の受け渡しが出来ないという問題も発生しない。
【００７９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上述の実施形態では、一例として、半導体集積回路１００が３つのクロックドメインを有する構成を説明したが、２つ以上の同期関係を持つクロックドメイン（分周クロックで同期している場合を含む）を有する半導体集積回路であれば本発明は適用可能である。
【符号の説明】
【００８０】
１００：半導体集積回路
１０１：ＰＬＬ回路
１０２：クロック信号
１０３：クロックイネーブル信号
１０４、１０５、１０６：ＡＮＤゲート
１０７、１０８：位相調整バッファ群
１０９、１１０、１１１：クロックドメイン
１１２、１１３、１１４、１１５、１１６、１１７、１１８、１１９、１２０、１２１、１２２、１２３、１２４、１２５：ＣＴＳバッファ
１２６、１２７、１２８、１２９、１３０、１３１、１３２、１３３、１３４：フリップフロップ
１３５、１３６：信号パス
１３７：クロック供給／停止制御回路
１３８、１３９、１４０：ローカルクロックイネーブル信号
２１０、２１１、２１２、２１３、２１４：フリップフロップ
２１５、２１６：マルチプレクサ
２１７：遅延調整選択信号生成部
２１８、２１９：選択信号
５００：半導体集積回路
５０１：ＰＬＬ回路
５０２：クロック信号
５０３：クロックイネーブル信号
５０４、５０５、５０６：ＡＮＤゲート
５０７、５０８：遅延調整バッファ群
５０９、５１０、５１１：クロックドメイン
５１２、５１３、５１４、５１５、５１６、５１７、５１８、５１９、５２０、５２１、５２２、５２３、５２４、５２５：ＣＴＳバッファ
５２６、５２７、５２８、５２９、５３０、５３１、５３２、５３３、５３４：フリップフロップ
５３５、５３６：信号パス
３０７：クロック発振器
３０８ｃ、３０８ｄ：分周器
３０９ｃ、３０９ｄ：位相比較器
３１０：セレクタ
３１１ｃ、３１１ｄ：ループフィルタ
３１２ｃ、３１２ｄ：電圧制御発振器
３１３ｃ、３１３ｄ：クロックツリー
３１４ｃ、３１４ｄ：フリップフロップ
３１５ｃ、３１５ｄ：ランダムロジックブロック
３００：半導体回路
３０４：クロック供給配線
３０５ａ、３０５ｂ：クロック参照配線
３０６：分岐点
【図１】
2013250953.tif 000003
【図２】
2013250953.tif 000004
【図３】
2013250953.tif 000005
【図４】
2013250953.tif 000006
【図５】
2013250953.tif 000007
【図６】
2013250953.tif 000008