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