(57)【要約】【課題】少ない工数で、かつ、少ない消費電力でゲーティッド間のskewを調整することが出来る半導体集積回路を提供する。【解決手段】ゲーティッド素子の出力端子は少なくとも１つ以上の回路素子の入力端子に配線し、遅延素子をゲーティッド素子と回路素子の間に挿入してそれぞれのゲーティッド回路間のskewを軽減する構成となっている。このことでゲーティッド素子にイネーブル信号が入力されゲーティッド回路のゲーティッド素子以降の回路に信号が伝達されない場合、遅延素子も駆動せず消費電力が削減できる。【選択図】図２
2006093393.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を生成するクロックジェネレータと、
前記クロックジェネレータによって生成される前記クロック信号を供給するための複数のクロック配線と、
前記複数のクロック配線の少なくとも一部に対応して設けられ、クロックゲーティング信号に基づいて前記クロック信号を出力するか否かを決定する少なくとも１つのクロックゲーティング回路と、
前記複数のクロック配線の少なくとも一部に対応して設けられ、前記クロックゲーティング回路から出力される前記クロック信号に対して遅延調整を行う少なくとも１つの遅延調整回路と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記少なくとも１つのクロックゲーティング回路のうち少なくとも１つは一のクロックゲーティング端子を有しており、前記一のクロックゲーティング端子に入力される信号に応じて、前記クロック信号を出力するか否かを決定することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記少なくとも１つのクロックゲーティング回路のうち少なくとも１つは複数のクロックゲーティング入力端子を有しており、前記複数のクロックゲーティング端子に入力される信号の組み合わせに応じて、前記クロック信号を出力するか否かを決定することを特徴とする請求項１記載の半導体集積回路。
【請求項４】
前記半導体集積回路は、
クロック供給ブロックと、
前記クロック供給ブロックから、前記複数のクロック配線を介して、前記クロック信号を供給される複数の被クロック供給ブロックとを有しており、
前記クロックジェネレータは前記クロック供給ブロック内に配置されていることを特徴とする請求項１記載の半導体集積回路。
【請求項５】
前記少なくとも１つのクロックゲーティング回路、及び前記少なくとも１つの遅延調整回路は前記クロック供給ブロック内に配置されていることを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記少なくとも１つのクロックゲーティング回路のうち少なくとも１つは、複数の前記被クロック供給ブロックへと、前記クロック信号を出力することを特徴とする請求項１記載の半導体集積回路。
【請求項７】
前記被クロック供給ブロックのうち少なくとも１つはメモリブロックであることを特徴とする請求項１記載の半導体集積回路。
【請求項８】
前記被クロック供給ブロックのうち少なくとも１つはＣＰＵであることを特徴とする請求項１記載の半導体集積回路。
【請求項９】
前記少なくとも１つのクロックゲーティング回路には、前記クロックジェネレータから、配線のみを介して、前記クロック信号が入力されていることを特徴とする請求項１記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックゲーティング信号によってクロック信号の導通遮断を制御するゲーティッドクロック設計におけるクロック供給制御方式、クロック供給回路方式の設計方法に関するものである。
【背景技術】
【０００２】
昨今、ＬＳＩ化された回路等に供給されるクロックの周波数が飛躍的に向上し、これに伴い、回路の消費電力の増加が大きな問題となってきている。具体的には、消費電力の増大によりＬＳＩ回路のパッケージの放熱限界を超えて熱を発生させてしまうことや、電池駆動システムでの電池寿命を著しく短くしてしまうことが問題となる。
【０００３】
ここで、ＬＳＩチップの中の電源消費元を、データ転送系、クロック系、入出力インターフェース系、機能モジュール等の部分に分けて考えると、そのうち消費電力の大きい部分は、通常、常に動作するクロック系である。従って、ＬＳＩチップの消費電力の低減を図るには、クロック系の低消費電力化を実現することが最も有効となる。
【０００４】
消費電力の低減のため最も効果のある方法としては、従来からゲーティッドクロックと呼ばれる設計手法が知られている。この手法では、レジスタ間転送においてデータ転送が本当に必要な期間でのみ、該当するレジスタにクロック信号を供給するようにクロックの伝播を制御することの出来るクロック供給回路を設計することが出来る。
【０００５】
一方、クロック同期の半導体集積回路では、クロック信号が供給されるフリップフロップ（ＦＦ）間のクロック信号の遅延時間差（以降、「ｓｋｅｗ」という）が大きい場合、半導体集積回路が不動または誤動作などの悪影響を及ぼす。
【０００６】
そこで、従来のゲーティッドクロック回路では、ゲーティッドクロック回路間のｓｋｅｗを低減するために、ゲーティッド前に遅延素子を挿入する方法やゲーティッド素子の駆動能力や分割数を個々に設定してｓｋｅｗを低減する方法がある（特許文献１参照）。
【特許文献１】特開２００１−２２８１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上述したゲーティッド前に遅延素子を挿入する方法では、遅延素子がゲーティッド素子よりも前にあるため遅延素子が常に駆動し電力を消費してしまっている。
【０００８】
また、上述した特許文献１のゲーティッド素子の駆動能力を個々に設定する手法は各ゲーティッド回路の総負荷容量に応じてセルの駆動能力を選択し、遅延値が均等になるようにゲーティッド回路の分割数とセルの駆動能力を割り当てるゲーティッド回路分割工程が必要であり多くの工数を必要とする。
【０００９】
このため本発明の目的は少ない工数で、かつ、少ない消費電力でゲーティッド間のｓｋｅｗを調整することが出来る半導体集積回路を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の半導体集積回路は、クロック信号を生成するクロックジェネレータと、前記クロックジェネレータによって生成される前記クロック信号を供給するための複数のクロック配線と、前記複数のクロック配線の少なくとも一部に対応して設けられ、クロックゲーティング信号に基づいて前記クロック信号を出力するか否かを決定する少なくとも１つのクロックゲーティング回路と、前記複数のクロック配線の少なくとも一部に対応して設けられ、前記クロックゲーティング回路から出力される前記クロック信号に対して遅延調整を行う少なくとも１つの遅延調整回路と、を備えることを特徴とする。
【発明の効果】
【００１１】
上記の構成をとることにより、本発明の半導体集積回路は、クロックゲーティング時にクロックゲーティング回路の後段の遅延調整回路を停止させることができるので、設計工数を増大させることなく、容易にｓｋｅｗを低減させ、かつ消費電力も低減させることができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら本発明の実施形態について説明する。
【００１３】
図１は本発明の一実施形態における半導体集積回路の全体レイアウト図である。半導体集積回路は複数のブロックに分かれてレイアウトされている。
【００１４】
図１は半導体集積回路のレイアウト図であり、半導体集積回路はいくつかのブロックで構成されている。クロック供給ブロック１は内部にクロックジェネレータを有しクロック信号を生成すると共に、クロック信号をゲーティングする機能も有している。ブロック２〜６はクロック供給ブロック１からクロックの供給を受けて動作するブロックであり、ここでは、例えば、ブロック２はＳＲＡＭ、ブロック３は電源回路、ブロック４はＲＯＭ、ブロック５はＡＬＵ（Arithmetic Logic Unit）、ブロック６はＣＰＵである。クロック供給ブロック１からブロック２へのクロックの供給はクロック配線７により、ブロック３へのクロックの供給はクロック配線８により、ブロック４へのクロックの供給はクロック配線９により、ブロック５へのクロックの供給はクロック配線１０により、ブロック６へのクロックの供給はクロック配線１１により伝播される。しかしながら、クロック供給ブロックは全てのクロック配線へと位相のそろったクロック信号を供給すると、クロック配線は各ブロックにより配線長や使用配線層が異なるためｓｋｅｗが生じてしまう。このためクロック供給ブロック１は各ブロックへｓｋｅｗのないクロック信号を供給するために遅延調整を行う必要がある。
【００１５】
図２は、クロック供給ブロック１の詳細なレイアウトを示した図である。図２中において、同一の符号を付した構成要素は図１と同一の構成要素を示す。
【００１６】
クロックジェネレータ１２はクロック信号を生成し、主クロック配線１６へと出力する。主クロック配線は各クロック配線７〜１１へと分岐し、最終的に図１のブロック２〜６へと供給される。
【００１７】
ゲーティッド素子１３は、主クロック配線を経由するクロック信号とクロックゲーティング信号２０を入力とするＡＮＤ回路である。クロックゲーティング信号２０が“Ｈ”のときは、入力されるクロック信号をそのまま出力する。ゲーティッド素子１３から出力されたクロック信号は、遅延素子１７を介して、クロック配線７へと出力される。クロックゲーティング信号２０が“Ｌ”のときは、クロック信号をゲーティングして出力しない。
【００１８】
ゲーティッド素子１４は、主クロック配線を経由するクロック信号とクロックゲーティング信号２１、２２を入力とする３入力ＡＮＤ回路である。クロックゲーティング信号２１、２２の双方が“Ｈ”のときは、入力されるクロック信号をそのまま出力する。ゲーティッド素子１４から出力されたクロック信号は分岐し、遅延素子１８を介して、クロック配線１０へと出力され、また、遅延素子１９を介して、クロック配線１１へと出力される。また、クロックゲーティング信号２１、２２のいずれか一方でも“Ｌ”のときは、クロック信号をゲーティングして出力しない。
【００１９】
ゲーティッド素子１５は、主クロック配線を経由するクロック信号とクロックゲーティング信号２３を入力とするＡＮＤ回路である。クロックゲーティング信号２３が“Ｈ”のときは、入力されるクロック信号をそのまま出力する。ゲーティッド素子１５から出力されたクロック信号は遅延素子を介さずにクロック配線９へと出力される。クロックゲーティング信号２３が“Ｌ”のときは、クロック信号をゲーティングして出力しない。
【００２０】
また、クロック配線８は、ゲーティッド素子と遅延素子の双方を介さずに主クロック配線１６へと接続されている。
【００２１】
ここで、これら遅延素子を挿入するか否か、挿入するのであればその段数は、設計時に、各ブロックのクロック供給に関して、ｓｋｅｗがなくなるように選択される。本実施の形態においては、クロック配線７、１０は相対的にクロック配線長が短くなっているため遅延素子の段数が多くなっており、クロック配線８、９は相対的にクロック配線長が長いため遅延素子は挿入されていない。もちろん、単純に配線長のみでは遅延素子の挿入段数は決定されず、各ブロック内のクロックレイテンシや駆動負荷容量、配線層などのさまざまな影響が起因している。
【００２２】
ここで、電源回路３を除くブロックへはゲーティッド素子によってゲーティッドされたクロック信号が供給されている。すなわち、非動作時にはクロックゲーティング信号を“Ｌ”とすることによって、クロックの供給を停止し、電力消費を削減している。これら、どのブロックへのクロック信号をゲーティッドするかについては半導体集積回路が目的とするスペックに応じて、設計される。
【００２３】
ここで、本願発明においては、ゲーティング素子の後段に遅延素子を設けて遅延調整を行っている点で従来技術と大きく異なっている。このような構成にすることにより、クロック信号のゲーティング時に、遅延調整のため（ｓｋｅｗをなくすため）に設けられた遅延素子に供給されるクロック信号をも停止させることにより、さらなる電力消費の低減という効果を得ることができる。
【００２４】
また、設計時には、各ブロックをまず配置した後に、クロック配線を配線し、遅延調整を行うといった方法をとるが、単純にゲーティッド素子の後段で遅延調整を行うのみであるので少ない工数で実現可能である。
【００２５】
なお、ゲーティッド素子は、遅延素子を介さずにクロックジェネレータ１２からのクロック信号が入力されるのが望ましいが、クロック信号を増幅するためなどにクロックジェネレータ１２の後段にバッファ（遅延素子と同等の構成を有する）が配置されることなどはありえる。また、遅延調整のための遅延素子の一部でもゲーティッド素子の後段にあれば、その分の低消費電力という効果を達成することは一応できるが、遅延調整のための遅延素子は全てゲーティッド素子の後段に設ける方が大きく消費電力を低減することができ、またレイアウトも簡素化するので好ましい。
【００２６】
なお、本実施の形態のように、遅延調整のための遅延素子はクロック供給ブロック内に配置される方が望ましい。クロック供給ブロック内で遅延素子挿入後のｓｋｅｗを解析でき、かつ、ｓｋｅｗ解析の結果で遅延素子の挿入段数を変える場合に、クロック供給ブロック外の領域に手を加えずクロック供給ブロック内でレイアウト変更が可能だからである。しかしながら、クロック配線の配線エリア（クロックの供給を受けるブロックの外の領域）に設けるものであっても構わない。
【００２７】
また、本実施の形態においては、クロック供給ブロックから伸びる１つのクロック配線が１つのブロックへとクロック信号を供給する構成としているが、１つのクロック配線がクロック供給ブロックの外において分岐して、複数のブロックへとクロック信号を供給する構成であっても良い。
【産業上の利用可能性】
【００２８】
本発明は低消費電力の半導体集積回路を実現可能であるので、種々の電子機器の分野において利用可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明の半導体集積回路の全体構成図
【図２】クロック供給ブロックの詳細を示した図
【符号の説明】
【００３０】
１  クロック供給ブロック
２〜６  ブロック
７〜１１  クロック配線
１２  クロックジェネレータ
１３〜１５  ゲーティッド素子
１７〜１９  遅延素子
２０〜２３  クロックゲーティング信号
【図１】
2006093393.tif 000003
【図２】
2006093393.tif 000004