(57)【要約】【課題】消費電力及びクロックスキューが小さく、かつ、大規模な半導体集積回路においても、クロック信号を供給するクロック駆動セルの負荷容量が小さいクロック分配回路を提供する。【解決手段】機能ブロック１００の領域１０，２０にそれぞれ、第１の方向に延びるクロック基幹配線１１，２１、第２の方向に延びるクロック支線配線群１２，２２、およびクロック駆動セル１３，２３が、それぞれ配置されている。領域１０のクロック同期セル群１４は、クロック基幹配線１１またはクロック支線配線群１２と接続されている一方、領域２０のクロック同期セル群２４は、クロック基幹配線２１またはクロック支線配線群２２と接続されている。クロック基幹配線１１，２１は、第１の方向においてクロック支線配線群１２，２２が存在する範囲に限って延びている。【選択図】図１
2009288890.tif 000002
【特許請求の範囲】
【請求項１】
スタンダードセルを用いて構成された機能ブロックにおいてクロック信号を分配するクロック分配回路が設けられた、半導体集積回路であって、
第１の方向に延び、かつ、並行して配置された第１および第２のクロック基幹配線と、
前記第１の方向と直交する第２の方向に延び、前記第１のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなる第１のクロック支線配線群と、
前記第１のクロック基幹配線に電気的に接続された第１のクロック駆動セルと、
前記第２の方向に延び、前記第２のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなり、前記第１のクロック支線配線群と電気的に分離されている、第２のクロック支線配線群と、
前記第２のクロック基幹配線に電気的に接続された第２のクロック駆動セルと、
前記第１および第２のクロック駆動セルにクロック信号を与えるクロックソースドライバとを備え、
第１のクロック同期セル群の各クロック同期セルは、前記第１のクロック基幹配線または前記第１のクロック支線配線群と電気的に接続されている一方、第２のクロック同期セル群の各クロック同期セルは、前記第２のクロック基幹配線または前記第２のクロック支線配線群と電気的に接続されており、
前記第１のクロック駆動セルのみで、前記第１のクロック基幹配線および前記第１のクロック支線配線群を駆動し、
前記第２のクロック駆動セルのみで、前記第２のクロック基幹配線および前記第２のクロック支線配線群を駆動し、
前記第１のクロック基幹配線は、前記第１の方向において前記第１のクロック支線配線群が存在する範囲に限って延びており、前記第２のクロック基幹配線は、前記第１の方向において前記第２のクロック支線配線群が存在する範囲に限って延びている
ことを特徴とする半導体集積回路。
【請求項２】
請求項１記載の半導体集積回路において、
複数の配線層で構成されており、かつ、前記複数の配線層のうち、上層配線層の膜厚が、他の下層配線層の膜厚よりも厚くなっており、
前記第１および第２のクロック基幹配線は、前記上層配線層の配線を用いて形成されており、
前記第１のクロック同期セル群の各クロック同期セルは、前記第１のクロック基幹配線または前記第１のクロック支線配線群と、前記下層配線層の配線を用いて、接続されており、
前記第２のクロック同期セル群の各クロック同期セルは、前記第２のクロック基幹配線または前記第２のクロック支線配線群と、前記下層配線層の配線を用いて、接続されている
ことを特徴とする半導体集積回路。
【請求項３】
請求項１記載の半導体集積回路において、
前記第１のクロック駆動セルと前記第１のクロック基幹配線とを接続する配線経路、および、前記第２のクロック駆動セルと前記第２のクロック基幹配線とを接続する配線経路は、幅広の配線および複数のコンタクトによって構成されている
ことを特徴とする半導体集積回路。
【請求項４】
請求項１記載の半導体集積回路において、
前記第１のクロック支線配線群の各クロック支線配線は、前記第１の方向において等間隔で、かつ前記第１のクロック基幹配線に関して対称に配置されており、
前記第２のクロック支線配線群の各クロック支線配線は、前記第１の方向において等間隔で、かつ前記第２のクロック基幹配線に関して対称に配置されている
ことを特徴とする半導体集積回路。
【請求項５】
請求項１記載の半導体集積回路において、
前記第１のクロック支線配線群のクロック支線配線数と前記第２のクロック支線配線群のクロック支線配線数とは、異なっている
ことを特徴とする半導体集積回路。
【請求項６】
請求項１記載の半導体集積回路において、
前記第１のクロック駆動セルは、前記第１のクロック基幹配線の前記第１の方向における中心近傍に、出力端子が接続されており、
前記第２のクロック駆動セルは、前記第２のクロック基幹配線の前記第１の方向における中心近傍に、出力端子が接続されており、
前記第１のクロック駆動セルと前記第２のクロック駆動セルとは、駆動能力が互いに異なっている
ことを特徴とする半導体集積回路。
【請求項７】
請求項１記載の半導体集積回路において、
前記第１のクロック同期セル群は、後段のフリップフロップへのクロック供給を制御するクロック制御セルである第１および第２のクロック同期セルを含み、
前記第１のクロック同期セルと前記第２のクロック同期セルとは、駆動能力が互いに異なっている
ことを特徴とする半導体集積回路。
【請求項８】
請求項７記載の半導体集積回路において、
前記第１のクロック同期セルの出力端子に接続されたフリップフロップ数は、前記第２のクロック同期セルの出力端子に接続されたフリップフロップ数よりも、多く、
前記第１のクロック同期セルは、前記第２のクロック同期セルよりも駆動能力が高い
ことを特徴とする半導体集積回路。
【請求項９】
請求項７記載の半導体集積回路において、
前記第１のクロック同期セルの出力端子に接続された配線の配線長は、前記第２のクロック同期セルの出力端子に接続された配線の配線長よりも、長く、
前記第１のクロック同期セルは、前記第２のクロック同期セルよりも駆動能力が高い
ことを特徴とする半導体集積回路。
【請求項１０】
請求項１記載の半導体集積回路において、
前記第１のクロック支線配線群は、各クロック支線配線が前記第１のクロック基幹配線に関して非対称に配置されており、かつ、配線長が互いに異なるクロック支線配線を含んでいる
ことを特徴とする半導体集積回路。
【請求項１１】
請求項１０記載の半導体集積回路において、
前記第１のクロック支線配線群が含んでいる、前記配線長が互いに異なるクロック支線配線は、配線幅が互いに異なっている
ことを特徴とする半導体集積回路。
【請求項１２】
請求項１記載の半導体集積回路において、
前記第１のクロック支線配線群と前記第２のクロック支線配線群とは、前記第２の方向において、重なりを有するように、配置されている
ことを特徴とする半導体集積回路。
【請求項１３】
請求項１記載の半導体集積回路において、
前記第１の方向に延び、前記第２のクロック基幹配線と隣り合う第３のクロック基幹配線と、
前記第２の方向に延び、前記第３のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなる第３のクロック支線配線群と、
前記第３のクロック基幹配線に電気的に接続された第３のクロック駆動セルとを備え、
前記第１のクロック基幹配線と前記第２のクロック基幹配線との配線間隔と、前記第２のクロック基幹配線と前記第３のクロック基幹配線との配線間隔とは、互いに異なっており、
前記第１のクロック支線配線群、前記第２のクロック支線配線群、および前記第３のクロック支線配線群は、クロック支線配線の配線長が、互いに異なっている
ことを特徴とする半導体集積回路。
【請求項１４】
請求項１記載の半導体集積回路において、
前記第２の方向に延びるように配置された第３のクロック基幹配線と、
前記第１の方向に配線され、前記第３のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなり、前記第１および第２のクロック支線配線群と電気的に分離されている、第３のクロック支線配線群と、
前記第３のクロック基幹配線に電気的に接続された第３のクロック駆動セルとを備え、
前記第３のクロック駆動セルのみで、前記第３のクロック基幹配線および前記第３のクロック支線配線群を駆動し、
前記クロックソースドライバは、前記第３のクロック駆動セルにもクロック信号を与えている
ことを特徴とする半導体集積回路。
【請求項１５】
請求項１記載の半導体集積回路において、
前記第１のクロック基幹配線と前記第２のクロック基幹配線とは、配線長が互いに異なっている
ことを特徴とする半導体集積回路。
【請求項１６】
請求項１記載の半導体集積回路において、
前記第１の方向に延び、かつ、前記第２のクロック基幹配線と直列に並ぶように配置された、第３のクロック基幹配線と、
前記第２の方向に延び、前記第３のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなる第３のクロック支線配線群と、
前記第３のクロック基幹配線に電気的に接続された第３のクロック駆動セルとを備え、
前記第１のクロック基幹配線の配線長は、前記第２および第３のクロック基幹配線の配線長の和よりも長い
ことを特徴とする半導体集積回路。
【請求項１７】
請求項１記載の半導体集積回路において、
前記第１および第２のクロック基幹配線の少なくともいずれか一方と重なるように配置されたハードマクロを備え、
前記第１および第２のクロック駆動セルは、前記第１の方向において前記ハードマクロと重ならない位置に、配置されている
ことを特徴とする半導体集積回路。
【請求項１８】
請求項１記載の半導体集積回路において、
複数の配線層で構成されており、かつ、前記複数の配線層のうち、上層配線層の膜厚が、他の下層配線層の膜厚よりも厚くなっており、
クロック信号が供給されるクロック接続ピンを複数有するハードマクロを備え、
各クロック接続ピンは、前記第１または第２のクロック基幹配線、または前記第１または第２のクロック支線配線群と、前記下側配線層の配線を用いて、接続されている
ことを特徴とする半導体集積回路。
【請求項１９】
請求項１記載の半導体集積回路において、
前記クロックソースドライバから前記第１および第２のクロック駆動セルのそれぞれのクロック入力ピンまでの配線経路が、複数段の、各段における配線長が等長であるバッファツリーによって、構成されている
ことを特徴とする半導体集積回路。
【請求項２０】
請求項１９記載の半導体集積回路において、
前記第１の方向に延び、かつ、前記第１のクロック基幹配線と直列に並ぶように配置された第３のクロック基幹配線と、
前記第２の方向に延び、前記第３のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなる第３のクロック支線配線群と、
前記第３のクロック基幹配線に電気的に接続された第３のクロック駆動セルと、
前記第１の方向に延び、かつ、前記第２のクロック基幹配線と直列に並ぶように配置された第４のクロック基幹配線と、
前記第２の方向に延び、前記第４のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなる第４のクロック支線配線群と、
前記第４のクロック基幹配線に電気的に接続された第４のクロック駆動セルとを備え、
前記クロックソースドライバは、前記第３および第４のクロック駆動セルにもクロック信号を与えており、
前記クロックソースドライバから前記第３および第４のクロック駆動セルのそれぞれのクロック入力ピンまでの配線経路が、複数段の、各段における配線長が等長であるバッファツリーによって構成されている
ことを特徴とする半導体集積回路。
【請求項２１】
請求項２０記載の半導体集積回路において、
前記クロックソースドライバから前記第３および第４のクロック駆動セルのそれぞれのクロック入力ピンまでの配線経路を構成するバッファツリーは、前記クロックソースドライバから前記第１および第２のクロック駆動セルのそれぞれのクロック入力ピンまでの配線経路を構成するバッファツリーと、別個に、設けられている
ことを特徴とする半導体集積回路。
【請求項２２】
請求項２０記載の半導体集積回路において、
前記クロックソースドライバから前記第３および第４のクロック駆動セルのそれぞれのクロック入力ピンまでの配線経路を構成するバッファツリーは、前記クロックソースドライバから前記第１および第２のクロック駆動セルのそれぞれのクロック入力ピンまでの配線経路を構成するバッファツリーと、一体に、設けられている
ことを特徴とする半導体集積回路。
【請求項２３】
請求項１記載の半導体集積回路において、
前記第１の方向に延び、前記第２のクロック基幹配線と隣り合う第３のクロック基幹配線と、
前記第２の方向に延び、前記第３のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなる第３のクロック支線配線群と、
前記第３のクロック基幹配線に電気的に接続された第３のクロック駆動セルと、
前記第１の方向に延び、前記第３のクロック基幹配線と隣り合う第４のクロック基幹配線と、
前記第２の方向に延び、前記第４のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなる第４のクロック支線配線群と、
前記第４のクロック基幹配線に電気的に接続された第４のクロック駆動セルと、
前記第３および第４のクロック駆動セルにクロック信号を与える、前記クロックソースドライバとは別の、第２のクロックソースドライバとを備え、
前記クロックソースドライバと、前記第２のクロックソースドライバとは、それぞれ別のクロック信号が入力される
ことを特徴とする半導体集積回路。
【請求項２４】
クロック信号を分配するクロック分配回路を有する半導体集積回路のレイアウト方法であって、
前記クロック分配回路が設けられる機能ブロックを、第１の方向に、複数の領域に分割する領域分割工程と、
分割された各領域に対し、当該領域の中心に、前記第１の方向に延びるクロック基幹配線を配置する基幹配線配置工程と、
前記クロック基幹配線を起点とし、前記第１の方向と直交する第２の方向に延びる、複数のクロック支線配線を配置する支線配線配置工程と、
前記各領域の中心部に、前記クロック基幹配線およびクロック支線配線を駆動するクロック駆動セルを配置するとともに、配置したクロック駆動セルと前記クロック基幹配線とを接続する配線を作成する駆動セル配置配線工程と、
前記各領域において、当該領域内のクロック同期セルを、同じ領域内の近接するクロック基幹配線またはクロック支線配線と接続する配線を作成するクロック接続工程と、
クロックソースドライバから前記クロック駆動セルまでのバッファツリーを作成するバッファツリー作成工程とを備えた
ことを特徴とする半導体集積回路のレイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スタンダードセルを用いて構成された機能ブロックにおいてクロック信号を分配するクロック分配回路が設けられた半導体集積回路、およびこの半導体集積回路のレイアウト方法に関するものである。
【背景技術】
【０００２】
近年、ディジタル回路の高速化、高機能化に伴い、半導体集積回路の高速化、高集積化が進んでいる。
【０００３】
半導体集積回路の高速化に伴い、半導体集積回路内のフリップフロップの同期を取るクロック信号の信号遅延のばらつき（クロックスキュー）を抑えることが重要となってきている。クロックスキューは、同期しているフリップフロップ間のクロック信号の到達時間の差であり、クロックスキューが大きいと動作周波数の低下や、さらには回路の誤動作を引き起こすという問題がある。
【０００４】
また、半導体集積回路を高集積化するためには、製造プロセスを微細化する必要がある。そのため、年々半導体集積回路内で使用する信号配線幅は細くなってきており、配線抵抗増加により配線遅延が増大している。
【０００５】
従来は配線遅延が小さかったため、スタンダードセルのゲート遅延のばらつきによるクロックスキューが支配的だった。しかし、近年は、配線遅延のばらつき増加によるクロックスキューの増大が問題となってきており、クロック信号の配線遅延ばらつきの削減が必要となってきている。
【０００６】
クロック信号の配線遅延ばらつきを削減する従来のクロック配線構造としては、例えば、櫛型クロック配線やフィッシュボーン型クロック配線、メッシュ型クロック配線といったクロック配線技術がある（例えば、特許文献１や特許文献２を参照）。
【０００７】
また、半導体集積回路におけるクロック信号の配線遅延の削減手法としては、特許文献３に記載された技術がある。
【０００８】
また、クロック信号の配線遅延ばらつきを削減とクロストークの影響の考慮を両立する従来のクロック配線構造としては、特願２００８−０５４５７３に記載したクロック配線技術がある。
【特許文献１】特開平９−２８３６３１号公報
【特許文献２】特開平１０−１９９９８５号公報
【特許文献３】特開２００３―３３２４３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、櫛型クロック配線は、配線遅延のばらつきを回路動作に誤動作しないように制御することで動作速度の低下を防いでいるが、信号の出し側と受け側のフリップフロップが一対一であれば、配線遅延のばらつきを制御できるが、一般の回路では多対多の関係にあるため、それら全てのフリップフロップに対して配線遅延のばらつきを制御するのは困難である。
【００１０】
また、フィッシュボーン型クロック配線は、チップサイズが小さい場合は効果的であったが、大規模な半導体集積回路では水平方向の支線配線が長く、支線配線の中央部から端までの配線抵抗が非常に大きくなり、配線遅延のばらつきによりチップの中心部と周辺部でのクロックスキューが大きくなるという問題がある。また、多数のクロック同期セルがクロック基幹配線に負荷として接続しているため、クロック基幹配線部分の配線遅延のばらつきも大きくなるという問題もある。
【００１１】
また、メッシュ型クロック配線は、ブロック全体にクロックを格子状に配線するため、配線抵抗が小さく、配線遅延のばらつきは小さいが、クロックの総配線長が長く、クロック信号を供給するクロック駆動セルの負荷容量が大きくなり、消費電力が大きくなってしまうという問題がある。
【００１２】
また、櫛型クロック配線とフィッシュボーン型クロック配線、メッシュ型クロック配線は共に、ブロック全体のクロック同期セルへのクロック信号を１本のクロック配線で駆動するので負荷容量が非常に大きい。
【００１３】
そのため、クロック配線全体を複数のクロック駆動セルで同時に駆動する必要がある。この場合、複数のクロック駆動セルまででクロックスキューがあると、フィッシュボーン型クロック配線やメッシュ配線部分を通ってクロック駆動セル間で貫通電流が流れ、消費電力が大きくなるという問題がある。
【００１４】
また、現在市販されているスタンダードセルレベルの遅延計算ツールではこのように一本のクロック配線を複数のクロック駆動セルで駆動するような場合には、精度よく遅延計算ができない、他の信号配線とのクロストークの影響を考慮することができないという課題がある。
【００１５】
また、クロック信号の配線遅延を削減するため膜圧が厚く低抵抗の上層配線を使用しようとすると、製造プロセスの制約により幅広の配線を使用する必要があったり、上層配線への配線層間を接続するコンタクトが大きい等により、クロック配線全体に使用すると信号配線領域が不足するため、多数のクロック駆動セルまたはクロック同期セルを駆動するクロックツリーの末端側では上層配線の使用が困難であった。
【００１６】
また、特願２００８−０５４５７３で記載したクロック配線技術では領域内のクロック同期セルを一つのクロック駆動セルのみで駆動するため、クロック同期セルの配置が大きく偏りがあると、領域によってはクロック駆動セルが駆動する負荷容量が大きく付きすぎるためクロック駆動セル単体では駆動できずにスキューが大きくなったり、領域の分割によってはクロック配線が冗長となって配線容量が大きくなるといった課題がある。
【００１７】
本発明は上記の問題に着目してなされたものであり、消費電力及びクロックスキューが小さく、かつ、大規模な半導体集積回路においても、クロック信号を供給するクロック駆動セルの負荷容量が小さいクロック分配回路を提供し、更に各クロック駆動セルが駆動するクロック同期セル数が均等となるように領域分割位置を調整し、また不要なクロック配線部分を削除することでクロック分配回路の消費電力を削減することを目的とする。
【課題を解決するための手段】
【００１８】
本発明は、スタンダードセルを用いて構成された機能ブロックにおいてクロック信号を分配するクロック分配回路が設けられた半導体集積回路として、第１の方向に延び、かつ、並行して配置された第１および第２のクロック基幹配線と、前記第１の方向と直交する第２の方向に延び、前記第１のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなる第１のクロック支線配線群と、前記第１のクロック基幹配線に電気的に接続された第１のクロック駆動セルと、前記第２の方向に延び、前記第２のクロック基幹配線とコンタクトにより電気的に接続された複数のクロック支線配線からなり、前記第１のクロック支線配線群と電気的に分離されている、第２のクロック支線配線群と、前記第２のクロック基幹配線に電気的に接続された第２のクロック駆動セルと、前記第１および第２のクロック駆動セルにクロック信号を与えるクロックソースドライバとを備え、第１のクロック同期セル群の各クロック同期セルは、前記第１のクロック基幹配線または前記第１のクロック支線配線群と電気的に接続されている一方、第２のクロック同期セル群の各クロック同期セルは、前記第２のクロック基幹配線または前記第２のクロック支線配線群と電気的に接続されており、前記第１のクロック駆動セルのみで、前記第１のクロック基幹配線および前記第１のクロック支線配線群を駆動し、前記第２のクロック駆動セルのみで、前記第２のクロック基幹配線および前記第２のクロック支線配線群を駆動し、前記第１のクロック基幹配線は、前記第１の方向において前記第１のクロック支線配線群が存在する範囲に限って延びており、前記第２のクロック基幹配線は、前記第１の方向において前記第２のクロック支線配線群が存在する範囲に限って延びているものである。
【発明の効果】
【００１９】
本発明によれば、クロック分配回路の消費電力及びクロックスキューを小さくでき、大規模な半導体集積回路においてもクロック駆動セルの負荷容量を小さくできる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
【００２１】
また、以下の説明では、半導体集積回路を示す各図において、縦方向すなわち上下方向を第１の方向とし、横方向すなわち左右方向を第２の方向とする。
【００２２】
（実施形態１）
図１は本発明の実施形態１に係る半導体集積回路における、クロック分配回路が設けられた機能ブロック１００を示す平面図である。機能ブロック１００は、スタンダードセルを用いて回路が構成されている。スタンダードセルには、ＰチャンネルトランジスタとＮチャンネルトランジスタとを組み合わせることによってインバータやＮＡＮＤ等の機能が実装されている。
【００２３】
図１において、機能ブロック１００は、第１の領域１０と第２の領域２０とに分割されている。そして、第１および第２の領域１０，２０にはそれぞれ、クロック基幹配線、クロック支線配線群およびクロック駆動セルが設けられている。
【００２４】
詳しくは、第１の領域１０には、そのほぼ中央部（中心近傍）に、縦方向（第１の方向）に延びる第１のクロック基幹配線１１が、配置されている。また、第２の領域２０にも、縦方向に延びる第２のクロック基幹配線２１が、その中心近傍に配置されている。すなわち、第１および第２のクロック基幹配線１１，２１は並行して配置されている。
【００２５】
そして、第１の領域１０では、横方向（第１の方向と直交する第２の方向）に延びる複数のクロック支線配線からなる第１のクロック支線配線群１２が、配置されている（なお、各図では、クロック支線配線群のうちの１つのクロック支線配線に代表で符号を付している）。各クロック支線配線は、第１のクロック基幹配線１１とコンタクトにより電気的に接続されている。また、第１の領域１０の中心近傍に第１のクロック駆動セル１３が配置されており、その出力端子は第１のクロック基幹配線１１の縦方向における中心近傍と電気的に接続されている。
【００２６】
同様に、第２の領域２０では、横方向に延びる複数のクロック支線配線からなる第２のクロック支線配線群２２が、配置されている。各クロック支線配線は、第２のクロック基幹配線２１とコンタクトにより電気的に接続されている。また、第２の領域２０の中心近傍に第２のクロック駆動セル２３が配置されており、その出力端子は第２のクロック基幹配線２１の縦方向における中心近傍と電気的に接続されている。
【００２７】
また、第１のクロック支線配線群１２と第２のクロック支線配線群２２とは、電気的に分離されている。
【００２８】
また、クロックソースドライバ２５は、機能ブロック１００の外部からクロック信号を受け、このクロック信号を第１および第２のクロック駆動セル１３，２３に供給する。
【００２９】
そして、第１の領域１０内に配置されている第１のクロック同期セル群１４の各クロック同期セル（破線の楕円内の各ブロック）は、第１のクロック基幹配線１１または第１のクロック支線配線群１２と電気的に接続されている。一方、第２の領域２０内に配置されている第２のクロック同期セル群２４の各クロック同期セル（破線の楕円内の各ブロック）は、第２のクロック基幹配線２１または第２のクロック支線配線群２２と電気的に接続されている。
【００３０】
ここで、第１および第２のクロック駆動セル１３，２３は、バッファまたはインバータの機能が実装されたスタンダードセルであり、第１および第２のクロック同期セル群１４，２４の各クロック同期セルは、後段のフリップフロップへのクロック供給を制御するクロック制御セル、またはフリップフロップである。
【００３１】
第１のクロック駆動セル１３は、クロックソースドライバ２５から供給されたクロック信号を、第１のクロック基幹配線１１および第１のクロック支線配線群１２を通して、第１のクロック同期セル群１４の各クロック同期セルに分配する。また、第２のクロック駆動セル２３は、クロックソースドライバ２５から供給されたクロック信号を、第２のクロック基幹配線２１および第２のクロック支線配線群２２を通して、第２のクロック同期セル群２４の各クロック同期セルに分配する。
【００３２】
また、第１のクロック基幹配線１１は、縦方向において第１のクロック支線配線群１２が存在する範囲に限って延びており、その両端部がクロック支線配線と接続されている。同様に、第２のクロック基幹配線２１は、縦方向において第２のクロック支線配線群２２が存在する範囲に限って延びており、その両端部がクロック支線配線と接続されている。
【００３３】
上述したような本実施形態に係る構成によると、第１のクロック駆動セル１３は、第１の領域１０内の第１のクロック基幹配線１１、第１のクロック支線配線群１２、および第１のクロック同期セル群１４のみを駆動すればよい。また、第２のクロック駆動セル２３は、第２の領域２０内の第２のクロック基幹配線２１、第２のクロック支線配線群２２、および第２のクロック同期セル群２４のみを駆動すればよい。このため、機能ブロック全体にわたってクロック信号を駆動する場合に比べて、駆動する負荷容量を約半分にすることができる。
【００３４】
すなわち本実施形態によれば、１つのクロック駆動セルが駆動するクロック同期セル数を小さくすることができ、また、クロック支線配線の総配線長も短くすることができる。このため、１つのクロック駆動セルが駆動する負荷を小さくすることができる。したがって、各領域に設けられた１つのクロック駆動セルによって、当該領域内のクロック基幹配線、クロック支線配線、クロック同期セルを駆動することが可能となる。
【００３５】
また、クロック基幹配線が延びる範囲が、クロック支線配線群が存在する範囲に限られているため、クロック基幹配線の冗長な配線部分が削除されている。これにより、クロック配線の配線容量を削減することができる。
【００３６】
また、領域内全体にクロック支線配線を均等に配線することができ、クロック駆動セルからクロック同期セルまでのクロック配線の構造を均一化できるため、配線遅延のばらつきを小さくすることができる。
【００３７】
また、機能ブロックを複数の領域に分割しているので、その領域毎にクロックツリーを最適化することができる。
【００３８】
また、現在市販されているスタンダードセルレベルの遅延計算ツールでの遅延計算が可能になる。すなわち、現在市販されているスタンダードセルレベルの遅延計算ツールでは、１つの信号配線を複数のクロック駆動セルで駆動するような場合に、正しく遅延計算ができず、遅延時間の誤差が大きいという問題がある。そのため、櫛型クロック配線やメッシュ配線部分のみを、トランジスタレベルのシミュレーターを用いて遅延計算を行なう必要があるが、それによって半導体集積回路のタイミング保証に要する工数が増加したり、またクロストークなどの影響を正しく反映できなかったり、遅延計算精度が低下するという問題がある。しかしながら、本実施形態では、１つのクロック駆動セルでクロック信号を駆動するので、このような問題を解消できる。
【００３９】
なお、図１の構成では、機能ブロック１００を縦方向に領域分割しているため、第１および第２のクロック基幹配線１１，２１は非常に長い配線となり得る。しかし、膜厚の厚い上層配線を用いて配線することによって、第１および第２のクロック基幹配線１１，２１の配線抵抗を小さくできるので、その配線長が長い場合でも、中心部と両端部との間のクロックスキューを非常に小さくすることができる。また、幅広の配線で構成することによって、クロック基幹配線の配線抵抗をさらに小さくすることができる。
【００４０】
また、図１の構成では、クロック基幹配線からクロック支線配線の終端部までの距離は、機能ブロック１００の横幅のほぼ１／４となる。このため、その部分の配線抵抗が小さくなり、配線遅延のばらつきを小さくすることができる。すなわち、クロック基幹配線、クロック支線配線のクロックスキューを小さくすることができる。さらに、配線抵抗が小さいと、高駆動のクロック駆動セルで多数のクロック同期セルを一気に駆動することができ、クロックスキューを小さくすることができる。
【００４１】
図２は第２の領域２０内における第２のクロック同期セル群２４の接続例を示す図である。図２に示すように、第２のクロック基幹配線２１の近傍にあるクロック同期セルは、第２のクロック基幹配線２１に直接接続されており、それ以外のクロック同期セルは、縦方向において最も近いクロック支線配線と接続されている。このため、クロック同期セルとクロック支線配線またはクロック基幹配線とを接続する配線の配線長は、短くて済む。このため、この配線には、膜厚の薄い下層配線を用いても、配線遅延を小さくすることができる。なお、第２のクロック基幹配線２１はクロック支線配線が存在する範囲に限って延びているため、第２のクロック基幹配線２１の上端部よりも上に配置されたクロック同期セルは、最も上に配置されたクロック支線配線と接続されている。
【００４２】
また、図１および図２に示すように、各クロック支線配線は、一定間隔で領域ほぼ全体に配線することがのぞましい。これにより、クロック同期セルの配置がばらついた場合でも、各クロック同期セルを、非常に短い配線によってクロック支線配線と接続することができる。すなわち、第１のクロック支線配線群１２の各クロック支線配線は、縦方向において等間隔で、第１のクロック基幹配線１１に関して対称に配置されているのが好ましい。同様に、第２のクロック支線配線群２２の各クロック支線配線は、縦方向において等間隔で、第２のクロック基幹配線２１に関して対称に配置されているのが好ましい。
【００４３】
図３は図２における、第２のクロック駆動セル２３と第２のクロック基幹配線２１との接続部分、および第２のクロック支線配線群２２と第２のクロック同期セル群２４との接続部分を拡大した平面図である。また、図４は第２のクロック駆動セル２３と第２のクロック基幹配線２１との接続部分の断面図である。
【００４４】
図３および図４に示す例では、機能ブロック１００の配線層は、第１層から第６層の６層配線で構成されている。また、各配線層間には、配線層同士を接続するコンタクトが配置されている。
【００４５】
第１〜第５層の下層配線層は、膜厚が薄く構成されており、そのため、シート抵抗が大きい。ただし、この下層配線層は、配線領域を多数確保できるというメリットがある。一方、第６層の上層配線層の膜厚は、第１〜第５層に比べて５倍以上となっており、シート抵抗が１／５以下になっている。膜厚を厚くすると製造プロセスの制約により配線幅を幅広にする必要がある。そのため、第６層は配線に使用できる本数が少なくなる。しかし、クロック基幹配線のみに膜厚の厚い上層配線の使用を限定することによって、上層配線の使用を最低限に抑えることが可能となる。すなわち、この構造は、クロック信号のための上層配線の使用箇所を限定することができる。
【００４６】
すなわち、半導体集積回路が、複数の配線層で構成されており、かつ、この複数の配線層のうち、上層配線層の膜厚が、他の下層配線層の膜厚よりも厚くなっている場合において、第１および第２のクロック基幹配線１１，２１は、上層配線層の配線を用いて形成されているのが好ましい。このとき、第１のクロック同期セル群１４の各クロック同期セルは、第１のクロック基幹配線１１または第１のクロック支線配線群１２と、下層配線層の配線を用いて、接続されており、第２のクロック同期セル群２４の各クロック同期セルは、第２のクロック基幹配線２１または第２のクロック支線配線群２２と、下層配線層の配線を用いて、接続されているのが好ましい。
【００４７】
図３および図４の例では、第２のクロック駆動セル２３は、ＰチャンネルトランジスタとＮチャンネルトランジスタでインバータの機能が実装されたスタンダードセルである。この例では、第２のクロック駆動セル２３の出力端子は、第４層目までコンタクトを通して持ち上げられた後に、第６層で配線された第２のクロック基幹配線２１の中心近傍に接続された第５層の配線に、第４層の配線によって接続されている。
【００４８】
第２のクロック駆動セル２３は、第２の領域２０内の全てのクロック同期セルを駆動する必要がある。そのため第２のクロック駆動セル２３は、駆動能力が非常に高く、第２のクロック駆動セル２３から第２のクロック基幹配線２１までは電流が集中し、エレクトロマイグレーションによる配線の断線が問題となる。そのため、第２のクロック駆動セル２３から第２のクロック基幹配線２１までは、配線及びコンタクトを流れる電流の電流密度を小さくする必要がある。それには、幅広の配線および複数のコンタクトで接続を行うとよい。これにより、クロック駆動セルからクロック基幹配線までの抵抗を小さくすることができる。それゆえ、高駆動のクロック駆動セルで多数のクロック同期セルを一気に駆動することができ、クロックスキューを小さくすることができる。すなわち、第２のクロック駆動セル２３と第２のクロック基幹配線２１との接続は、幅広の配線および複数のコンタクトによって実現されているのが好ましい。同様に、第１のクロック駆動セル１３と第１のクロック基幹配線１１との接続は、幅広の配線および複数のコンタクトによって実現されているのが好ましい。
【００４９】
また、図３および図４の例では、第２のクロック支線配線群２２が第５層の配線層で配線されており、クロック支線配線から第２のクロック同期セル群２４までは、第２〜第４層の配線を使用して接続されている。したがって、第２のクロック支線配線群２２から第２のクロック同期セル群２４までの配線は配線長が短く、また先に繋がる負荷容量が小さいため、プロセス制約上の最小幅の配線で構成しても配線遅延は小さい。
【００５０】
また、クロック基幹配線からは複数のクロック支線配線が配線されており、クロック基幹配線からクロック支線配線へ電流が分散される。そのため、クロック支線配線やクロック支線配線からクロック同期セルまでの配線については電流密度を小さくすることが可能になり、最小線幅でもエレクトロマイグレーションは問題ない。
【００５１】
クロック同期セルは多数あるため、クロック支線配線からクロック同期セルまでの配線に上層配線や下層配線で幅広の配線を使用すると配線領域が足りなくなる。しかし、上述したように、クロック駆動セルから上層のクロック基幹配線までを幅広の配線と複数のコンタクトを用いて接続し、クロック基幹配線のみ膜厚の厚い上層配線を用い、クロック支線配線から同期セルまでは最小幅の下層配線を使用することによって、配線遅延で支配的となるドライバー側の配線抵抗を小さくすることができ、クロックスキューの削減と配線領域の確保を両立することが可能となる。
【００５２】
また、図３および図４では、クロック支線配線として使用される第５層の配線層を膜厚の薄い配線層としているが、例えば、第１層〜第４層の配線層を膜厚の薄い配線層とし、第５層の配線層を膜厚の厚い配線層としてもよい。これにより、クロック支線配線の配線遅延をさらに低減することができる。
【００５３】
（実施形態２）
図５は本発明の実施形態２に係る半導体集積回路における、クロック分配回路が設けられた機能ブロック２００を示す平面図である。図５に示す機能ブロック２００では、第１のクロック支線配線群１２のクロック支線配線数と第２のクロック支線配線群２２のクロック支線配線数とが異なっている。すなわち、第１のクロック支線配線群１２にはクロック支線配線が５本、第２のクロック支線配線群２２にはクロック支線配線が７本設けられている。第１のクロック支線配線群１２では、クロック同期セルが近傍にないクロック支線配線が削除されており、これにより、不要な配線容量を削除し消費電力を削減することができる。
【００５４】
また、第１のクロック支線配線群１２では、縦方向における最上部と最下部のクロック支線配線が削除されており、これに合わせて、第１のクロック基幹配線１１の配線長が短くなっている。これにより、不要な配線容量をさらに削減することができる。
【００５５】
図５の例では、第１のクロック駆動セル１３と第２のクロック駆動セル２３とは、駆動する負荷容量が異なる。このため、第１および第２のクロック駆動セル１３，２３の駆動能力が同じであるとき、これらによる信号遷移時間が異なり、全体のクロックスキューが大きくなる。
【００５６】
そこで、第１および第２のクロック駆動セル１３，２３の駆動能力は、これらが駆動する負荷容量の削減割合に応じて定めるとよい。図５の例では、第１のクロック駆動セル１３の駆動能力を、駆動する負荷容量の削減割合に応じて、第２のクロック駆動セル２３よりも下げるのが好ましい。これにより、第１および第２のクロック駆動セル１３，２３の信号遷移時間を同一としながら消費電力を削減することが可能となる。
【００５７】
なお、クロック同期セルの配置が決定した後は、その配置に合わせてクロック支線配線を配線することで、クロック支線配線の冗長な配線部分を削減することができる。これにより、クロック支線配線の総配線長も削減されるため、削減された領域を通常の信号配線に使用することができるようになる。
【００５８】
また、図６に示すように、クロック支線配線は、クロック同期セルが配置されている場所までを配線するのが好ましい。すなわち、第１および第２のクロック支線配線群１２，２２は、それぞれ、第１および第２のクロック基幹配線１１，２１に関して非対称に配置されており、かつ、配線長が互いに異なるクロック支線配線を含んでいてもよい。これにより。配線負荷容量を削減し、消費電力を削減することができる。
【００５９】
また、図７に示すように、クロック支線配線は、配線長に応じて配線幅を変化させておくのが好ましい。すなわち、配線長が互いに異なるクロック支線配線は、配線幅が互いに異なっていてもよい。クロック基幹配線から離れた位置にあるクロック同期セルまでのクロック支線配線は、配線長が長くなるため、配線遅延が大きくなる。しかし、クロック支線配線を配線長に比例して幅広にすることによって、クロック同期セルまでの配線抵抗ばらつきを小さくすることができる。この結果、クロック基幹配線から各クロック同期セルまでの間のクロックスキューを小さくすることができる。逆にクロック基幹配線の近傍にあるクロック同期セルへのクロック支線配線は、配線幅を狭くすることによって、配線容量を削減することができる。
【００６０】
上述したようなクロック支線配線の配線方法について、図８および図９を用いて説明する。
【００６１】
図８に示すように、第１および第２の領域１０，２０を、それぞれ更に８つの領域に分割する。そして、分割された各領域毎に、クロック支線配線を１本ずつ配置する。クロック支線配線の縦方向における配置位置は、その領域内のクロック同期セル群の重心位置とする。そして、クロック基幹配線から最も遠いクロック同期セルまでの間に横方向に延びるように、クロック支線配線を配線する。これにより、冗長な配線を削除し、消費電力を削減することができる。
【００６２】
また、図８において、第１のクロック同期セル群１４のセル数は１８個、第２のクロック同期セル群２４のセル数は１６個であり、第１のクロック同期セル群１４のセル数の方が多い。このため、第１のクロック駆動セル１３の負荷容量は第２のクロック駆動セル２３の負荷容量よりも大きくなってしまい、信号遷移時間が互いに異なってしまう。この問題を回避するために、分割する各領域の面積を個々に調整することによって、第１のクロック同期セル群１４と第２のクロック同期セル群２４とのセル数を等しくしてもよい。
【００６３】
図９の例では、第２の領域２０の分割した領域の１つの面積を拡大している。これにより、この分割領域が、第２の領域２０から第１の領域１０の方へはみだしている。そのため、第１のクロック支線配線群１２の横方向における最大位置をＸ１、第２のクロック支線配線群２２の横方向における最小位置をＸ２とすると、Ｘ１＞Ｘ２となっている。言い換えると、第１のクロック支線配線群１２と第２のクロック支線配線群２２とは、横方向において、重なりを有するように配置されている。このように第２の領域２０における分割領域を拡大した結果、第１のクロック同期セル群１４は１個減り１７個となり、第２のクロック同期セル群２４は１個増えて１７個となっている。すなわち、第１および第２のクロック駆動セル１３，２３が駆動するクロック同期セル数は等しくなっている。
【００６４】
なお、図９では、クロック駆動セルが駆動するクロック同期セル数が等しくなるように領域の分割方法を調整したが、この代わりに、クロック駆動セルの出力端子に接続される負荷容量が等しくなるように、領域の分割方法を調整してもよい。また、クロック支線配線の配線長が最小となるように、領域の分割方法を調整してもよい。
【００６５】
（実施形態３）
図１０は本発明の実施形態３に係る半導体集積回路における、クロック同期セルの構成を示す図である。図１０に示すように、機能ブロック３００は、クロックソースドライバ２５、第１のクロック駆動セル１３、第２のクロック駆動セル２３、第１のクロック同期セル群１４、第２のクロック同期セル群２４、およびフィリップフロップ２６で構成されている。各クロック同期セルは、後段のフリップフロップへのクロック供給を制御するクロック制御セルとなっている。
【００６６】
図１０において、第１のクロック同期セル群１４の各クロック同期セルは、その出力端子に接続されたフリップフロップの数に応じて駆動能力が異なっている。例えば、接続されたフリップフロップの数が多い第１のクロック同期セル１４ａは、接続されたフリップフロップの数が少ない第２のクロック同期セル１４ｂよりも駆動能力が高い。また、第２のクロック同期セル群２４の各クロック同期セルは、その出力端子に接続された配線の配線長に応じて駆動能力が異なっている。例えば、接続された配線の配線長が長い第１のクロック同期セル２４ａは、接続された配線の配線長が短い第２のクロック同期セル２４ｂよりも駆動能力が高い。
【００６７】
このように、負荷容量に応じてクロック同期セルの駆動能力を変えることによって、負荷に寄らずクロック同期セルの遅延値を等しくすることができ、実施形態１，２と組み合わせることによってクロックソースドライバからフリップフロップまでのクロックスキューを小さくすることができる。
【００６８】
また、接続するフリップフロップの数やクロック配線長に寄らず、クロック同期セルの駆動能力を変えるようにしてもよい。例えば、信号の受け渡しがあるフリップフロップ間で、途中のロジック部分の遅延時間に余裕があるため、クロックスキューが部分的に大きくなっても半導体集積回路の全体の性能には影響がない場合がある。このようなフリップフロップを駆動するクロック同期セルの駆動能力を他よりも小さくしてもよい。この場合、このクロック同期セルに駆動されているフリップフロップのクロックスキューが大きくなるが、タイミングに余裕があるため、性能上は問題とならない。したがって、半導体集積回路の性能を低下させることなく、クロックの消費電力を下げることができる。
【００６９】
（実施形態４）
上述の各実施形態では、第１の領域１０などの各領域はほぼ同じ大きさであったが、実施形態４では、機能ブロックを異なる大きさの領域に分割する例について説明する。
【００７０】
図１１は本発明の実施形態４に係る半導体集積回路における、クロック分配回路が設けられた機能ブロック４００を示す平面図である。図１１に示すように、機能ブロック４００は大きさが異なる第１〜第３の領域１０，２０，３０に分割されている。
【００７１】
第３の領域３０には、その中心近傍に、縦方向に延びる第３のクロック基幹配線３１が配置されている。また、横方向に延びる複数のクロック支線配線からなる第３のクロック支線配線群３２が配置されている。第３のクロック支線配線群３２の各クロック支線配線は、第３のクロック基幹配線３１とコンタクトにより電気的に接続されている。さらに、第３の領域３０の中心近傍に第３のクロック駆動セル３３が配置されており、その出力端子は第３のクロック基幹配線３１の中心近傍と電気的に接続されている。
【００７２】
ここで、第１〜第３の領域１０，２０，３０の大きさは、各領域内のクロック同期セルの個数が同じになるように定めてある。そして、第１のクロック基幹配線１１と第２のクロック基幹配線２１との配線間隔と、第２のクロック基幹配線２１と第３のクロック基幹配線３１との配線間隔とは、互いに異なっている。また、第１のクロック支線配線群１２、第２のクロック支線配線群２２、および第３のクロック支線配線群３２は、クロック支線配線の配線長が、互いに異なっている。
【００７３】
クロック同期セル群の配置に偏りがある場合に、領域を均等に分割すると、クロック同期セルが多い領域と少ない領域とができてしまい、クロック駆動セルが駆動する負荷容量が領域毎に異なることになる。この場合は、クロック駆動セルの信号遷移時間が異なり、全体のクロックスキューが大きくなってしまう。
【００７４】
しかし、図１１のように、負荷が均等となるように領域を分割することにより、クロック同期セルの配置に偏りがある場合でも、クロック駆動セルが駆動するクロック同期セル数を均等にすることができる。それゆえ、第１〜第３のクロック駆動セル１３，２３，３３の駆動能力が同じでも、それぞれの信号遷移時間が等しくなり、したがって、全体のクロックスキューを小さくすることができる。
【００７５】
なお、図１１の例では、領域内のクロック同期セルが同じ数になるように領域を分割したが、各領域内のクロック同期セルの入力容量及びクロック配線の配線容量の総和が等しくなるように領域を分割してもよい。
【００７６】
また、図１２は図１に示した機能ブロック１００の分割の他の例を示す図である。図１２では、図１に示した第２の領域２０を更に２つに分割して、第２および第３の領域２０，３０としている。すなわち、図１２の機能ブロック１００は、第１の領域１０と、上下に配置された第２および第３の領域２０，３０とに分割されている。図１２に示す例では、第３のクロック基幹配線３１は、第２のクロック基幹配線２１の下部で、第１の方向に延びるように配置されている。ここで、下部とは、第２のクロック基幹配線２１の、第１の方向における順方向側又は逆方向側をいう。言い換えると、第３のクロック基幹配線３１は、第２のクロック基幹配線２１と直列に並ぶように配置されている。そして、第１のクロック基幹配線１１の配線長は、第２および第３のクロック基幹配線２１，３１の配線長の和よりも長くなっている。
【００７７】
また、この例では、第２および第３の領域２０，３０の面積の和は、第１の領域１０の面積と等しい。また、第２および第３のクロック同期セル群２４，３４におけるクロック同期セル数の和は、第１のクロック同期セル群１４におけるクロック同期セル数よりも多い。
【００７８】
このように、クロック同期セル群の配置に偏りがある場合、クロック同期セルが密に配置されている領域について、更に複数の領域に分割し、それぞれの領域に対してクロック駆動セルを設けるのが好ましい。これにより、図１２の例では、第２および第３のクロック駆動セル２３，３３がそれぞれ駆動する負荷容量を小さくし、第１〜第３のクロック駆動セル１３，２３，３３が駆動する負荷容量を均等化することができる。さらに、第２および第３のクロック駆動セル２３，３３を、縦方向において、第１のクロック駆動セル１３の位置の近傍に配置することによって、クロックソースドライバ２５から第１〜第３ののクロック駆動セル１３，２３，３３までのそれぞれの配線距離をほぼ等しくすることができる。
【００７９】
図１３は形状が非矩形の機能ブロックについて、上述のクロック分配回路を適用した例である。図１３の例では、第２の領域２０は、第１の領域１０に比べて縦方向の長さが短い。このため、第２のクロック支線配線群２２は縦方向下部のクロック支線配線を含まず、よって、第２のクロック基幹配線２１の長さを短くすることができる。これにより、第２のクロック駆動セル２３の負荷容量が小さくなり、負荷容量に応じて第２のクロック駆動セル２３の駆動能力を小さくすることによって、クロックスキューを小さくしながら、消費電力も小さくすることができる。
【００８０】
なお、第１および第２のクロック駆動セル１３，２３の縦方向の位置を合わせると、第２のクロック駆動セル２３の位置は、第２の領域２０の中心ではなくなるが、第２のクロック基幹配線２１として低抵抗の上層配線を用いることによって、クロック基幹配線のクロックスキューを小さくすることができる。
【００８１】
また、図１３の例では各領域が矩形であったが、領域は非矩形であってもよい。例えば図１４に示す例では、第１の領域１０は、上辺よりも下辺が長い非矩形の形状となっている。そして、第１のクロック支線配線群１２は、第１の領域１０の形状に合わせて、上部に比べて下部の配線長が長くなっている。これにより、第１のクロック同期セル群１４は、第１のクロック支線配線群１２に最短で接続することができる。
【００８２】
（実施形態５）
本発明の実施形態５では、機能ブロック内にＳＲＡＭ（Static Random Access Memory）等のハードマクロがある例について説明する。
【００８３】
図１５は本発明の実施形態５に係る半導体集積回路における、クロック分配回路が設けられた機能ブロック５００を示す平面図である。機能ブロック５００は、図１５に示すように、ハードマクロ２７を有している。ハードマクロ２７は、第１および第２の領域１０，２０に跨って配置されている。
【００８４】
図１５に示すように、第２の領域２０の中心部にはハードマクロ２７が配置されている。このため、機能ブロック５００では、第２のクロック駆動セル２３を第２の領域２０の中心近傍に配置することができず、第２のクロック駆動セル２３は、ハードマクロ２７と重ならないように、第２の領域２０の下部に配置されている。しかし、第２のクロック基幹配線２１は低抵抗の上層配線によって構成されているので、第２のクロック駆動セル２３を第２のクロック基幹配線２１の末端近傍に配置して第２のクロック基幹配線２１と最短で接続することによって、全体のクロックスキューへの影響を十分小さくすることができる。
【００８５】
また、第１のクロック駆動セル１３も、縦方向において、第２のクロック駆動セル２３と同じ位置まで移動させている。これにより、第１および第２のクロック駆動セル１３，２３からクロックソースドライバ２５からまでのそれぞれの距離が、ほぼ等しくなる。すなわち、クロックソースドライバ２５からの第１および第２のクロック駆動セル１３，２３までのクロックスキューを小さくすることができる。すなわち、ハードマクロ２７が第１および第２のクロック基幹配線１１，２１の少なくともいずれか一方と重なるように配置されているときは、第１および第２のクロック駆動セル１３，２３は、縦方向においてハードマクロと重ならない位置に、配置されているのが好ましい。
【００８６】
また、ハードマクロ２７は、クロック接続ピンが複数あってもよい。図１５の例では、ハードマクロ２７のクロック接続ピン２８は、第１および第２の領域１０，２０にそれぞれ１個ずつ配置されている。そこで、第１の領域１０内にあるクロック接続ピン２８を第１のクロック駆動セル１３に接続し、第２の領域２０内にあるクロック接続ピン２８を第２のクロック駆動セル２３に接続する。これにより、クロック支線配線からクロック接続ピンまでを最短で接続することができる。この場合、各クロック接続ピン２８からの接続は、膜厚の薄い下層配線層の配線を用いて行われていてもよい。
【００８７】
クロック接続ピンの入力容量が大きい場合は、クロック接続ピンまでの配線遅延が大きくなったり、クロック駆動セルが駆動する負荷容量が非常に大きくなったりするため、クロック信号の信号波形の傾きがなまってクロックスキューが大きくなる。しかし、図１５の例のようにクロック接続ピンを複数に分割し、それぞれのクロック接続ピンを異なるクロック駆動セルにより駆動したり、別々のクロック支線配線と接続したりすることによって、クロック接続ピンまでの配線遅延を小さくし、クロック駆動セルが駆動する負荷容量を小さくすることができる。
【００８８】
また図１６の例では、機能ブロック５００Ａは第１〜第３の領域１０，２０，３０に分割されている。また、ハードマクロ２７は、第２および第３の領域２０，３０に跨って配置されている。ここで、ハードマクロ２７は第２および第３の領域２０，３０の中心部に重なっているため、第２および第３の領域２０，３０の中心近傍には、第２および第３のクロック駆動セル２３，３３を配置することができない。このため、第２および第３のクロック駆動セル２３，３３を、ハードマクロ２７と配置が重ならないように、横方向に移動させて配置する。すなわち、図１６に示すように、第２および第３のクロック駆動セル２３，３３の位置を、縦方向において、第１のクロック駆動セル１３の位置と合わせてもよい。
【００８９】
この場合、第２および第３のクロック基幹配線２１，３１を、第２および第３のクロック駆動セル２３，３３と同じ位置に移動することによって、クロック駆動セルからクロック基幹配線までの配線遅延を小さくしクロックスキューの悪化を防ぐことができる。
【００９０】
また、ハードマクロ２７の左右を第２および第３のクロック基幹配線２１，３１で挟みこむことによって、ハードマクロ２７に対するクロック供給を第２および第３のクロック基幹配線２１，３１の両方から行うことができる。すなわち、クロック駆動セルからクロック接続ピンまでの配線長が短くなり、配線遅延を小さくすることができる。
【００９１】
なお、第１および第２のクロック駆動セル１３，２３を、図１６のように一列に配置しておき、クロックソースドライバ２５から第１および第２のクロック駆動セル１３，２３それぞれのクロック入力ピンまでの配線経路を、複数段の、各段における配線長が等長であるバッファツリーによって構成してもよい。これにより、バッファツリーの各段の配線遅延を等しくし、クロックソースドライバ２５からのクロックスキューを小さくすることができる。
【００９２】
また、クロック基幹配線の配線の方向を領域によって変えてもよい。図１７に示す機能ブロック５００Ｂにおいて、第３の領域３０には、ハードマクロ２７が上下に配置されており、クロック同期セルが配置されている領域が横長になっている。この場合、クロック基幹配線を縦方向とすると、クロック支線配線の長さが非常に長くなってしまい、配線遅延のばらつきが大きくなってしまう。図１７において、機能ブロック５００Ｂは、第１〜第６層の６層配線で構成されており、第１および第２のクロック基幹配線１１，２１は、膜厚の厚い第６層の上層配線を用いて縦方向に配置されており、第３のクロック基幹配線３１は第５層の配線を用いて横方向に配置されている。ここで、第５層の配線を膜厚の厚い配線とするか、または、第３のクロック基幹配線３１の配線幅を広くすることによって、第３のクロック基幹配線３１の配線抵抗を小さくすることができ、配線遅延のばらつきを小さくすることができる。また、第３のクロック支線配線群３２は、膜厚の薄い第４の配線層を用いて縦方向に配置されるが、配線長が短いために配線抵抗が小さく、配線遅延のばらつきは小さい。
【００９３】
（実施形態６）
本発明の実施形態６では、本発明に係るクロック分配回路を大規模回路に応用した例について説明する。図１８は本発明の実施形態６に係る半導体集積回路における、クロック分配回路が設けられた機能ブロック６００を示す平面図である。図１８に示すように、機能ブロック６００は第１〜第４の領域１０，２０，３０，４０に分割されている。第３および第４の領域３０，４０はそれぞれ、第１および第２の領域１０，２０の下部に配置されている。
【００９４】
第３の領域３０には、その中心近傍に、縦方向に延びる第３のクロック基幹配線３１が配置されている。すなわち、第３のクロック基幹配線３１は、第１のクロック基幹配線１１と直列に並ぶように配置されている。また、横方向に延びる複数のクロック支線配線からなる第３のクロック支線配線群３２が配置されている。第３のクロック支線配線群３２の各クロック支線配線は、第３のクロック基幹配線３１とコンタクトにより電気的に接続されている。さらに、第３の領域３０の中心近傍に第３のクロック駆動セル３３が配置されており、その出力端子は第３のクロック基幹配線３１の中心近傍と電気的に接続されている。
【００９５】
第４の領域４０には、その中心近傍に、縦方向に延びる第４のクロック基幹配線４１が配置されている。すなわち、第４のクロック基幹配線４１は、第２のクロック基幹配線２１と直列に並ぶように配置されている。また、横方向に延びる複数のクロック支線配線からなる第４のクロック支線配線群４２が配置されている。第４のクロック支線配線群４２の各クロック支線配線は、第４のクロック基幹配線４１とコンタクトにより電気的に接続されている。さらに、第４の領域４０の中心近傍に第４のクロック駆動セル４３が配置されており、その出力端子は第４のクロック基幹配線４１の中心近傍と電気的に接続されている。
【００９６】
また、第３の領域３０内には、第３のクロック同期セル群３４が配置されており、これらは、第３のクロック基幹配線３１または第３のクロック支線配線群３２と電気的に接続されている。同様に、第４の領域４０内には、第４のクロック同期セル群４４が配置されており、これらは、第４のクロック基幹配線４１または第４のクロック支線配線群４２と電気的に接続されている。
【００９７】
第１〜第４のクロック駆動セル１３，２３，３３，４３は、同じクロックソースドライバ２５から出力されるクロック信号が中継バッファを経由して入力され、それぞれ同じクロック信号が分配される。ここで、クロックソースドライバ２５から各中継バッファまで、中継バッファから各クロック駆動セル１３，２３，３３，４３までは、それぞれ等長配線で構成することによって、各段の配線遅延を等しくすることができる。
【００９８】
このように、横方向だけでなく縦方向にも領域を分けることによって、クロック基幹配線の長さを短くして、その配線遅延を小さくすることができる。さらに、各領域内のクロック同期セル数を少なくすることによって、各クロック駆動セルが駆動する負荷容量を小さくできる。すなわち、１つのクロック駆動セルで、領域内のクロック基幹配線、クロック支線配線群、およびクロック同期セルを駆動することが可能となる。
【００９９】
なお、機能ブロックは、機能ブロックのサイズに応じて、縦方向に３つ以上に分割してもかまわない。
【０１００】
また、クロックソースドライバ２５から第１および第２のクロック駆動セル１３，２３それぞれのクロック入力ピンまでの配線経路を、複数段の、各段における配線長が等長であるバッファツリーによって構成するとともに、このバッファツリーとは別個に、クロックソースドライバ２５から第３および第４のクロック駆動セル３３，４３のそれぞれのクロック入力ピンまでの配線経路を、複数段の、各段における配線長が等長であるバッファツリーによって構成してもよい。これにより、機能ブロックが縦方向に長い場合でも、領域を分割することによって各クロック基幹配線を短くし、各クロック駆動セルが駆動するクロック同期セル数を少なくすることができる。
【０１０１】
ただし、クロックソースドライバ２５から第１および第２のクロック駆動セル１３，２３のそれぞれのクロック入力ピンまでのバッファツリーと、クロックソースドライバ２５から第３および第４のクロック駆動セル３３，４３のそれぞれのクロック入力ピンまでのバッファツリーは、一体に、設けられていてもよい。これにより、バッファツリーに使用する中継バッファおよびクロック配線を一部共有することができ、消費電力を削減することができる。
【０１０２】
また、図１９に示す例では、機能ブロック６００Ａは、縦方向に、第１〜第４の領域１０，２０，３０，４０に分割されている。そして、各領域１０，２０，３０，４０に対し、クロック基幹配線、クロック支線配線群およびクロック駆動セルが配置されている。すなわち、機能ブロックのサイズに応じて最適な領域に分割すれば、領域内のクロックの負荷容量を、１個のクロック駆動セルで駆動できる負荷容量値以下にすることができる。
【０１０３】
また、図２０に示す例では、機能ブロック６００は図１８と同様に領域分割されているが、第１〜第４のクロック駆動セル１３，２３，３３，４３の位置が図１８と異なっている。すなわち、各クロック駆動セル１３，２３，３３，４３は、中継バッファに近い位置に配置されている。これにより、クロック信号配線の配線長を短くすることができ、消費電力を削減することが可能となる。
【０１０４】
（実施形態７）
本発明の実施形態７では、本発明に係るクロック分配回路を、複数系統のクロックがある回路に応用した例について説明する。図２１の例では、機能ブロック６００Ａが、図１９と同様に領域分割されており、各領域に、クロック基幹配線、クロック支線配線群、およびクロック駆動セルが配置されている。
【０１０５】
図２１では、第１および第２のクロック駆動セル１３，２３は、クロックソースドライバ２５によって駆動され、第３および第４のクロック駆動セル３３，４３は、第２のクロックソースドライバ６０によって駆動される。すなわち、クロックソースドライバ２５と第２のクロックソースドライバ６０とに、それぞれ別々のクロック信号を入力することによって、機能ブロック６００Ａ内で複数系統のクロックを使用することが可能となる。
【０１０６】
すなわち、図２１の例では、クロック系統毎に領域を分けてクロック同期セルを配置し、それぞれの領域にクロック基幹配線、クロック支線配線群、およびクロック駆動セルを配置する。
【０１０７】
なお、異なるクロック系統同士で領域が重なっていてもよい。例えば、図２２に示す例では、第２の領域２０と第３の領域３０とが一部重なっている。この場合でも、第２のクロック支線配線群２２と第３のクロック支線配線群３２とで、縦方向における配線位置をずらせばよい。このような構成により、クロック系統が異なるクロック同期セルが同じ領域に配置された場合でも、クロックをそれぞれ別々に供給することが可能となる。
【０１０８】
（実施形態８）
実施形態８では、上述したクロック分配回路を実現する自動化手法について説明する。図２３は本発明の実施形態８に係る半導体集積回路のレイアウト方法を示すフロー図である。この方法は、領域分割工程Ｓ００１、基幹配線配置工程Ｓ００２、支線配線配置工程Ｓ００３、駆動セル配置配線工程Ｓ００４、クロック接続工程Ｓ００５、およびバッファツリー作成工程Ｓ００６を含んでいる。各工程での処理は、以下のとおりである。
【０１０９】
まず、領域分割工程Ｓ００１では、半導体集積回路の機能ブロックを、例えば縦方向に、複数に分割する。
【０１１０】
基幹配線配置工程Ｓ００２では、分割したそれぞれの領域に対し、膜厚が厚い上層配線を用いて、例えば当該領域の中心に、例えば縦方向に延びるクロック基幹配線を配置する。
【０１１１】
支線配線配置工程Ｓ００３では、クロック基幹配線を起点として、クロック基幹配線が延びる方向と直交する例えば横方向に延びる、複数のクロック支線配線を配置する。
【０１１２】
駆動セル配置配線工程Ｓ００４では、例えば領域の中心部に、クロック基幹配線およびクロック支線配線を駆動するクロック駆動セルを配置するとともに、配置したクロック駆動セルとクロック基幹配線とを接続する配線を作成する。
【０１１３】
クロック接続工程Ｓ００５では、各領域において、当該領域内のクロック同期セルを、同じ領域内の近接するクロック基幹配線またはクロック支線配線と接続する配線を作成する。
【０１１４】
バッファツリー作成工程Ｓ００６では、クロックソースドライバからクロック駆動セルまでのバッファツリーを作成する。
【０１１５】
すなわち、本実施形態のクロックレイアウト自動化手法は、領域の分割方法及びバッファツリー構成を入力することによって、指定された方法で領域を分割する。次に、それぞれの領域に対してクロック基幹配線、クロック支線配線群、クロック駆動セルを配置する。そして、領域内のクロック同期セルを領域内のクロック駆動セルに接続されるように接続を変更し、近接するクロック基幹配線またはクロック支線配線と接続する配線を作成する。その後、クロックドライバーからクロック同期セルまでを指定されたバッファツリー構成にてバッファツリーを構成する。
【０１１６】
なお、図２３では、工程Ｓ００１〜Ｓ００６を順に実行するものとしているが、各工程の実行順は、適宜入れ替えてもかまわない。
【産業上の利用可能性】
【０１１７】
本発明に係るクロック分配回路は、消費電力及びクロックスキューを小さくでき、大規模な半導体集積回路においてもクロック駆動セルの負荷容量を小さくできるという効果を有し、半導体集積回路上にスタンダードセルを用いて構成された機能ブロックにおいてクロック信号を分配するクロック分配回路等として有用である。
【図面の簡単な説明】
【０１１８】
【図１】本発明の実施形態１に係る半導体集積回路における、クロック分配回路が設けられた機能ブロックを示す平面図である。
【図２】図１の第２の領域２０内における第２のクロック同期セル群２４の接続例を示す図である。
【図３】図２の一部を拡大した平面図である。
【図４】図３に対応する断面図である。
【図５】本発明の実施形態２に係る半導体集積回路における、クロック分配回路が設けられた機能ブロックを示す平面図である。
【図６】クロック支線配線の配線例を示す図である。
【図７】クロック支線配線の配線例を示す図である。
【図８】クロック支線配線の配線方法を説明するための図である。
【図９】クロック支線配線の配線方法を説明するための図である。
【図１０】本発明の実施形態３に係る半導体集積回路における、クロック同期セルの構成を示す図である。
【図１１】本発明の実施形態４に係る半導体集積回路における、クロック分配回路が設けられた機能ブロックを示す平面図である。
【図１２】本発明の実施形態４における、機能ブロックの分割の一例を示す図である。
【図１３】形状が非矩形の機能ブロックにクロック分配回路を適用した例である。
【図１４】形状が非矩形の機能ブロックにクロック分配回路を適用した例である。
【図１５】本発明の実施形態５に係る半導体集積回路における、クロック分配回路が設けられた機能ブロックを示す平面図である。
【図１６】本発明の実施形態５における、クロック分配回路が設けられた機能ブロックの他の例を示す平面図である。
【図１７】本発明の実施形態５における、クロック分配回路が設けられた機能ブロックの他の例を示す平面図である。
【図１８】本発明の実施形態６に係る半導体集積回路における、クロック分配回路が設けられた機能ブロックを示す平面図である。
【図１９】本発明の実施形態６における、クロック分配回路が設けられた機能ブロックの他の例を示す平面図である。
【図２０】本発明の実施形態６における、クロック分配回路が設けられた機能ブロックの他の例を示す平面図である。
【図２１】本発明の実施形態７に係る半導体集積回路における、クロック分配回路が設けられた機能ブロックを示す平面図である。
【図２２】本発明の実施形態７における、クロック分配回路が設けられた機能ブロックの他の例を示す平面図である。
【図２３】本発明の実施形態８に係る半導体集積回路のレイアウト方法を示すフロー図である。
【符号の説明】
【０１１９】
１００，２００，４００，５００，５００Ａ，５００Ｂ，６００，６００Ａ  機能ブロック
１１  第１のクロック基幹配線
１２  第１のクロック支線配線群
１３  第１のクロック駆動セル
１４  第１のクロック同期セル群
１４ａ  第１のクロック同期セル
１４ｂ  第２のクロック同期セル
２１  第２のクロック基幹配線
２２  第２のクロック支線配線群
２３  第２のクロック駆動セル
２４  第２のクロック同期セル群
２４ａ  第１のクロック同期セル
２４ｂ  第２のクロック同期セル
２５  クロックソースドライバ
２７  ハードマクロ
２８  クロック接続ピン
３１  第３のクロック基幹配線
３２  第３のクロック支線配線群
３３  第３のクロック駆動セル
４１  第４のクロック基幹配線
４２  第４のクロック支線配線群
４３  第４のクロック駆動セル
６０  第２のクロックソースドライバ
【図１】
2009288890.tif 000003
【図２】
2009288890.tif 000004
【図３】
2009288890.tif 000005
【図４】
2009288890.tif 000006
【図５】
2009288890.tif 000007
【図６】
2009288890.tif 000008
【図７】
2009288890.tif 000009
【図８】
2009288890.tif 000010
【図９】
2009288890.tif 000011
【図１０】
2009288890.tif 000012
【図１１】
2009288890.tif 000013
【図１２】
2009288890.tif 000014
【図１３】
2009288890.tif 000015
【図１４】
2009288890.tif 000016
【図１５】
2009288890.tif 000017
【図１６】
2009288890.tif 000018
【図１７】
2009288890.tif 000019
【図１８】
2009288890.tif 000020
【図１９】
2009288890.tif 000021
【図２０】
2009288890.tif 000022
【図２１】
2009288890.tif 000023
【図２２】
2009288890.tif 000024
【図２３】
2009288890.tif 000025