(57)【要約】【課題】再収斂分岐構造を含むクロック分配回路のレイアウト生成において、冗長な迂回配線を生じさせることなく、クロックスキューを低減可能にする。【解決手段】クロック分配回路の基本セル構成を解析し（Ｓ２０１）、解析された基本セル構成を基にして、クロック経路にクロックバッファを挿入する（Ｓ２０２）。その後、基本セルとクロックバッファとを配置し（Ｓ２０３）、配線を配置する（Ｓ１０５）。解析ステップ（Ｓ２０１）において、クロックの各経路における基本セルの段数の最大値を求め、挿入ステップ（Ｓ２０２）において、クロックの各経路におけるセル段数が、この最大値以上でかつ同じ値になるように、クロックバッファを挿入する。【選択図】図１
2009253756.tif 000002
【特許請求の範囲】
【請求項１】
再収斂分岐構造を含むクロック分配回路のレイアウトを生成する方法であって、
前記クロック分配回路のゲートレベルのネットリストを基にして、前記クロック分配回路の基本セル構成を解析する解析ステップと、
解析された基本セル構成を基にして、クロックソースからクロック駆動素子までの経路に、クロックバッファを挿入する挿入ステップと、
基本セル構成に含まれた基本セルと挿入されたクロックバッファとからなる論理セルを、クロックソースとクロック駆動素子との間に配置するセル配置ステップと、
前記各論理セル同士を接続する配線を配置する配線ステップとを備え、
前記解析ステップにおいて、クロックソースからクロック駆動素子までの各経路における基本セルの段数の最大値を求め、
前記挿入ステップにおいて、クロックソースからクロック駆動素子までの各経路における、基本セルとクロックバッファとを合わせた段数が、前記最大値以上であり、かつ、同じ値になるように、前記クロックバッファを挿入する
ことを特徴とするレイアウト生成方法。
【請求項２】
請求項１記載のレイアウト生成方法において、
前記セル配置ステップにおいて、
クロックソースからクロック駆動素子までの各経路において、各論理セルを、クロックソースからクロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置する
ことを特徴とするレイアウト生成方法。
【請求項３】
再収斂分岐構造を含むクロック分配回路のレイアウトを生成する方法であって、
前記クロック分配回路のゲートレベルのネットリストを基にして、前記クロック分配回路の基本セル構成を解析する解析ステップと、
解析された基本セル構成を基にして、クロックソースからクロック駆動素子までの経路に、クロックバッファを挿入する挿入ステップと、
基本セル構成に含まれた基本セルと挿入されたクロックバッファとからなる論理セルを、クロックソースとクロック駆動素子との間に配置するセル配置ステップと、
前記各論理セル同士を接続する配線を配置する配線ステップとを備え、
前記セル配置ステップにおいて、
クロックソースからクロック駆動素子までの各経路において、論理セルを、クロックソースからクロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置する
ことを特徴とするレイアウト生成方法。
【請求項４】
請求項１または３記載のレイアウト生成方法において、
前記配線ステップの後に、
各クロック駆動素子間のクロックスキューを確認するステップと、
確認したクロックスキューが回路動作上支障をきたす程度に大きいとき、クロックバッファの削除、追加、および、駆動能力の変更、並びに、基本セルの駆動能力の変更のうち少なくとも１つによって、クロックスキューを低減させるステップとを行う
ことを特徴とするレイアウト生成方法。
【請求項５】
再収斂分岐構造を含むクロック分配回路を有する半導体集積回路装置であって、
前記クロック分配回路は、
３個以上のクロックソースと、
前記各クロックソースそれぞれについて１個以上接続された、クロック駆動素子と、
前記クロックソースと前記クロック駆動素子との間に配置された、１０個以上の基本セルおよび１個以上のクロックバッファからなる複数の論理セルとを備え、
２個以上の再収斂回路が構成されたものであり、
前記クロック分配回路において、前記各論理セルは、前記クロックソースから前記クロック駆動素子までの各経路において、前記クロックソースから前記クロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置されている
ことを特徴とする半導体集積回路装置。
【請求項６】
再収斂分岐構造を含むクロック分配回路を有する半導体集積回路装置であって、
前記クロック分配回路は、
３個以上のクロックソースと、
前記各クロックソースそれぞれについて１個以上接続された、クロック駆動素子と、
前記クロックソースと前記クロック駆動素子との間に配置された、１０個以上の基本セルおよび１個以上のクロックバッファからなる複数の論理セルとを備え、
２個以上の再収斂回路が構成されたものであり、
前記クロック分配回路において、前記クロックソースから前記クロック駆動素子までの各経路において、クロック信号が伝搬する配線が、前記クロックソースから前記クロック駆動素子に向かう方向と逆方向にクロック信号が伝搬する迂回配線を含まない
ことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト生成に関し、特に、再収斂分岐構造を含み、多数の論理セルを有するクロック分配回路のレイアウト生成に関する。
【背景技術】
【０００２】
半導体集積回路では、発信器からのクロック信号を分配して多数のフリップフロップ等の回路を同期して駆動させる場合が多い。クロック分配回路の設計手法として、クロックツリー構造を決定するためのクロックツリーシンセシス（ＣＴＳ）がある。ＣＴＳは、クロック信号発信器からクロック信号の分配先の回路までのクロックスキューが最小となる経路をコンピュータを用いて決定する方法である。またＣＴＳでは、クロック信号の配線を分割し、クロックバッファを挿入することによって、クロックスキューを調整する場合がある。
【０００３】
図４は従来の半導体集積回路のレイアウト設計を示すフローチャートである。まず、回路設計を行い、ハードウェア記述言語（ＨＤＬ）等による機能記述を生成する（Ｓ１０１）。次に、ハードウェア記述言語等を論理合成し、ゲートレベルの論理回路のネットリストが生成する（Ｓ１０２）。
【０００４】
次に、ゲートレベルの論理回路からレイアウトを作成する。まず、基本セルが配置される（Ｓ１０３）。次に、クロックツリーが形成され、クロックラインの論理セルが配置される（Ｓ１０４）。クロックツリーは、クロックソースからフリップフロップ等のクロック駆動素子に向かって、木枝状に形成される。次に、各論理セル間を接続する配線が配置される（Ｓ１０５）。最後に、形成されたレイアウトに対して、シミュレーション等により動作検証を行う（Ｓ１０６）。
【０００５】
従来、クロックツリー構造によるクロック分配回路として、クロック信号発信器に近い部分はＨ−ｔｒｅｅ構造とし、他の部分をＣＴＳによって決定した構造としたものが、開示されている（例えば、特許文献１参照）。
【０００６】
また、クロック配線を直線方向に展開し、折り返し配線等を利用して、クロック信号を分配する際のクロックスキューを低減する技術が、開示されている（例えば、特許文献２参照）。
【特許文献１】特開２００３−７８０１４号公報
【特許文献２】特開２００３−１１００２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のようなＨ−ｔｒｅｅ構造を有するクロック分配回路では、クロックラインがＨ構造による迂回配線を有することになり、クロック信号の伝搬に冗長な遅延を含んでしまう。
【０００８】
また図５に示すように、クロックラインの流れが分岐し、その後再び合流する再収斂分岐構造をクロック分配回路が含む場合には、従来の手法のように、クロック配線を直線方向に展開してクロックスキューを低減することは困難である。例えば、図５の回路の場合、クロックスキューを低減するためには、クロックソース５０１から配線５３１を経て基本セル５１３に至る経路と、クロックソース５０１から基本セル５１１，５１２および配線５３２，５３３を経て基本セル５１３に至る経路との間で、遅延差を少なくする必要がある。この問題にクロック配線の配置変更だけで対応するのは極めて困難である。
【０００９】
また、従来のＣＴＳでは、クロックバッファを挿入することによって、クロックスキューを調整することが行われていた。ところが、これにも問題がある。
【００１０】
図６はクロック分配回路に従来の手法によってクロックバッファが挿入された一例である。図６において、６０１〜６０３はクロックソース、６４１〜６４４はクロック信号によって駆動されるフリップフロップ、６１１，６１２等はクロック分配回路を構成する基本セルである。また、６２１〜６２３等のハッチを付したセルは、挿入されたクロックバッファである。
【００１１】
従来の手法では、基本セルが配置された（Ｓ１０３）後、クロックツリーが形成される（Ｓ１０４）。そして、このステップＳ１０４において、クロックスキューを調整するために、クロックバッファ６２１〜６２３が挿入される。このとき、冗長な迂回配線が生成されてしまう可能性がある。例えば図６の例では、クロックバッファ６２２，６２３の挿入により、迂回配線６３１，６３２が生成されている。
【００１２】
このように冗長な迂回配線が生成されると、クロック信号伝搬に余分な配線遅延が付くことになり、フリップフロップのセットアップエラーが起こりやすくなる等、回路動作上好ましくない問題を引き起こす可能性が高まる。また、冗長配線の発生により、配線リソースが減ることになり、レイアウト上の問題も生じる可能性がある。
【００１３】
図５のような再収斂分岐構造においても、配線５３１にクロックバッファを挿入することによって、遅延値を調整することは可能である。しかしながら、クロック分配回路の回路規模が大きくなり、複雑な再収斂分岐構造を有するような場合には、遅延調整のために挿入するクロックバッファの個数が多くなり、必要とする配置領域も大きくなる。このとき、従来の手法では、クロックバッファの適切な配置領域の確保が困難であり、冗長な迂回配線も発生しやすい、という問題が生じる。
【００１４】
そこで、本発明は、再収斂分岐構造を含むクロック分配回路のレイアウト生成において、冗長な迂回配線を生じさせることなく、クロックスキューを低減可能にすることを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、再収斂分岐構造を含むクロック分配回路のレイアウトを生成する方法として、前記クロック分配回路のゲートレベルのネットリストを基にして、前記クロック分配回路の基本セル構成を解析する解析ステップと、解析された基本セル構成を基にして、クロックソースからクロック駆動素子までの経路に、クロックバッファを挿入する挿入ステップと、基本セル構成に含まれた基本セルと挿入されたクロックバッファとからなる論理セルを、クロックソースとクロック駆動素子との間に配置するセル配置ステップと、前記各論理セル同士を接続する配線を配置する配線ステップとを備え、前記解析ステップにおいて、クロックソースからクロック駆動素子までの各経路における基本セルの段数の最大値を求め、前記挿入ステップにおいて、クロックソースからクロック駆動素子までの各経路における、基本セルとクロックバッファとを合わせた段数が、前記最大値以上であり、かつ、同じ値になるように、前記クロックバッファを挿入するものである。
【００１６】
本発明によると、セル配置ステップの前に、ネットリスト上でクロックバッファの挿入を行うので、クロックバッファの配置領域が予め確保されることになり、したがって、迂回配線が生じる可能性が低減される。また、クロックバッファ挿入の際に、クロックソースからクロック駆動素子までの各経路について、基本セルとクロックバッファとを合わせた段数が、各経路における基本セルの段数の最大値以上であり、かつ、同じ値にすることによって、全ての経路の論理セルの遅延値の総和を平均化できる。これにより、クロックスキューを確実に低減させることができる。
【００１７】
また、本発明は、再収斂分岐構造を含むクロック分配回路のレイアウトを生成する方法として、前記クロック分配回路のゲートレベルのネットリストを基にして、前記クロック分配回路の基本セル構成を解析する解析ステップと、解析された基本セル構成を基にして、クロックソースからクロック駆動素子までの経路に、クロックバッファを挿入する挿入ステップと、基本セル構成に含まれた基本セルと挿入されたクロックバッファとからなる論理セルを、クロックソースとクロック駆動素子との間に配置するセル配置ステップと、前記各論理セル同士を接続する配線を配置する配線ステップとを備え、前記セル配置ステップにおいて、クロックソースからクロック駆動素子までの各経路において、論理セルを、クロックソースからクロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置するものである。
【００１８】
本発明によると、セル配置ステップの前に、ネットリスト上でクロックバッファの挿入を行うので、クロックバッファの配置領域が予め確保されることになり、したがって、迂回配線が生じる可能性が低減される。また、セル配置の際に、クロックソースからクロック駆動素子までの各経路において、各論理セルを、クロックソースからクロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置することによって、クロックソースからクロック駆動素子まで一方向の構造を生成することができる。これにより、冗長となる迂回配線を確実になくすことができる。
【００１９】
また、本発明は、再収斂分岐構造を含むクロック分配回路を有する半導体集積回路装置として、前記クロック分配回路は、３個以上のクロックソースと、前記各クロックソースそれぞれについて１個以上接続されたクロック駆動素子と、前記クロックソースと前記クロック駆動素子との間に配置された１０個以上の基本セルおよび１個以上のクロックバッファからなる複数の論理セルとを備え、２個以上の再収斂回路が構成されたものであり、かつ、前記クロック分配回路において、前記各論理セルは、前記クロックソースから前記クロック駆動素子までの各経路において、前記クロックソースから前記クロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置されているものである。あるいは、前記クロック分配回路において、前記クロックソースから前記クロック駆動素子までの各経路において、クロック信号が伝搬する配線が、前記クロックソースから前記クロック駆動素子に向かう方向と逆方向にクロック信号が伝搬する迂回配線を含まないものである。
【発明の効果】
【００２０】
本発明によると、再収斂分岐構造を含むクロック分配回路について、冗長な迂回配線を生じさせることなく、クロックスキューが確実に低減されたレイアウトを生成することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００２２】
図１は本発明の実施形態に係る、クロック分配回路を含む半導体集積回路のレイアウト生成方法を示すフローチャートである。ここでは、対象となるクロック分配回路は、再収斂分岐構造を含み、また、多数（例えば１０個以上）の基本セルを有するものとする。
【００２３】
図１に示すように、まず、対象となる半導体集積回路の回路設計を行い、ハードウェア記述言語（ＨＤＬ）等による機能記述を生成する（Ｓ１０１）。次に、ハードウェア記述言語等を論理合成し、ゲートレベルのネットリストを生成する（Ｓ１０２）。これにより、対象となるクロック分配回路のゲートレベルのネットリストが得られる。ここまでは、従来の方法と同様である。
【００２４】
次に、得られたネットリストを基にして、対象となるクロック分配回路の基本セル構成を解析する（Ｓ２０１：解析ステップ）。そして、解析された基本セル構成を基にして、クロックソースからクロック駆動素子までの経路に、クロックバッファを挿入する（Ｓ２０２：挿入ステップ）。ここでのクロックバッファの挿入は、ネットリスト上で行われる。そして、基本セル構成に含まれた基本セルと挿入されたクロックバッファとからなる論理セルを、クロックソースとクロック駆動素子との間に配置する（Ｓ２０３：セル配置ステップ）。そして、各論理セル同士を接続する配線を配置する（Ｓ１０５：配線ステップ）。ここでの論理セルおよび配線の配置は、レイアウト上で行われる。
【００２５】
このように本実施形態では、論理セルをレイアウト配置する前に、ネットリスト上でクロックバッファの挿入を行う。これにより、論理セルのレイアウト配置後において、クロックバッファを挿入する必要性がなくなるか、または低くなる。すなわち、クロックバッファの配置領域が予め確保されることになり、したがって、迂回配線が生じる可能性が低減される。さらに、レイアウトのフロアプランの再検討等の後戻り工程をなくすことが可能になり、効率の良い設計を実現することができる。
【００２６】
配線ステップＳ１０５の後、配線後の遅延値情報を取得し、各クロック駆動素子間のクロックスキューを確認する（Ｓ２０４）。そして、確認したクロックスキューが回路動作上支障をきたす程度に大きいとき、クロックラインに挿入されているクロックバッファの削除、追加、および、駆動能力の変更、並びに、基本セルの駆動能力の変更等によって、クロックスキューを低減させる（Ｓ２０５）。そして、ステップＳ２０５によって再構成されたクロックラインの再配置および再配線を行う（Ｓ２０６）。最後に、形成されたレイアウトについて、シミュレーション等により動作検証を行う（Ｓ１０６）。
【００２７】
本実施形態におけるステップＳ２０１，Ｓ２０２，Ｓ２０３について、さらに詳細に説明する。
【００２８】
本実施形態では、まずステップＳ２０１において、クロックソースからクロック駆動素子までの各経路における基本セルの段数の最大値を求める。そしてステップＳ２０２において、クロックソースからクロック駆動素子までの各経路において、基本セルとクロックバッファとを合わせた段数が、求めた最大値と同じになるように、クロックバッファを挿入する。
【００２９】
図２はクロック分配回路のゲートレベルのネットリストの一例である。図２において、３０１，３０２，３０３はクロックソース、３３１，３３２，３３３，３３４はクロック駆動素子としてのフリップフロップである。クロックソース３０１〜３０３からフリップフロップ３３１〜３３４までの各経路には、基本セル３１１〜３２４が構成されている。
【００３０】
ステップＳ２０１では、まず、各基本セルの段番号を決定する。具体的には例えば次のようにして決定する。まず、クロックソース３０１〜３０３を１段目とし、１段目の出力を受ける基本セルを２段目とし、２段目の出力を受ける基本セルを３段目とし、同様に順次、各基本セルの段番号を定める。また、複数の出力を受ける基本セルについては、段番号の大きい方を優先するものとする。例えば、クロックソース３０１が１段目、クロックソース３０１の出力を受ける基本セル３１１が２段目、クロックソース３０１と基本セル３１１の出力を受ける基本セル３１２が３段目、基本セル３１２の出力を受ける基本セル３１３が４段目、クロックソース３０１と基本セル３１３の出力を受ける基本セル３１４が５段目となる。
【００３１】
このように各基本セルの段番号を定めた結果、フリップフロップ３３１は６段目、フリップフロップ３３２は１０段目、フリップフロップ３３３は８段目、フリップフロップ３３４は７段目となる。そして、各フリップフロップの段番号の最大値、ここでは「１０」を、クロックソースからクロック駆動素子までの各経路における基本セルの段数の最大値として決定する。
【００３２】
ステップＳ２０２では、クロックソースからクロック駆動素子までの各経路において、基本セルとクロックバッファとを合わせた段数が、ステップＳ２０１で求めた最大値（ここでは「１０」）と同じ値になるように、クロックバッファを挿入する。
【００３３】
図３は図２のクロック分配回路に対してクロックバッファを挿入した結果を示す図である。図３において、挿入されたクロックバッファにはハッチを付している。ここでは、各経路において、基本セルおよび挿入されたクロックバッファの持つ段番号が１から１０までの数列となるように、クロックバッファを挿入する。例えば、基本セル３１４は５段目であり、その出力を受ける基本セル３１７は８段目なので、その間に２個のクロックバッファ４４１，４４２を挿入する。挿入されたクロックバッファ４４１，４４２はそれぞれ、６段目、７段目となる。また、基本セル３２４は６段目であり、その出力を受けるフリップフロップ３３４は１０段目なので、その間に、７，８，９段目となるクロックバッファ４４３，４４４，４４５を挿入する。
【００３４】
このように、クロックソースからクロック駆動素子までの各経路について、経由する論理セルの個数を同じ値にすることによって、全ての経路の論理セルの遅延値の総和を平均化することができる。これにより、クロックスキューを確実に低減することができる。
【００３５】
次に、ステップＳ２０３では、クロックソースからクロック駆動素子までの各経路において、各論理セルを、クロックソースからクロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置する。
【００３６】
まず、図３に示すように、論理セルの段番号の境界を示す区切り線４５１〜４５９を、設定する。そして、区切り線４５１〜４５９で区切られた領域に、各論理セルを、段番号毎に配置する。例えば、６段目の論理セル３１５，３２４およびクロックバッファ４４１，４４６は、区切り線４５５，４５６の間の領域に配置し、７段目の論理セル３１６，３２０およびクロックバッファ４４２，４４３は、区切り線４５６，４５７の間の領域に配置する。このように配置することにより、各経路において、論理セルは、クロックソースからフリップフロップに向かう方向において、段番号順に並ぶことになる。これにより、クロックソースからフリップフロップまで一方向の構造となり、冗長となる迂回配線をなくすことができる。
【００３７】
なお、区切り線４５１〜４５９は、配置領域のマージンを設けて決定するのが好ましい。これにより、後のステップにおいて、論理セルのサイズが駆動能力の変更等に起因して変わる場合にも対応可能となる。また、後のステップにおいて、さらなるクロックバッファの挿入が必要になった場合でも、迂回配線を必要とすることなく、配線を一方向に保った状態で、クロックバッファを挿入することができる。
【００３８】
例えば、基本セルの段数が最大となる経路が複数存在する場合は、これらの経路間でクロックスキューの調整が必要となる場合がある。しかし、これらの経路は、基本セルの段数が最大であったため、ステップＳ２０２ではクロックバッファが挿入されていない。このため、クロックスキューを低減するためのクロックバッファを挿入できるように、各段の入力側に配置領域のマージンを設けておくのが好ましい。これは特に、クロック分配回路が、多分岐を多く含む場合や、多くの段数からなる場合に有効である。
【００３９】
以上のように本実施形態に係るレイアウト生成方法によると、レイアウト配置前にクロックバッファを挿入し、クロック配線が、垂直方向または水平方向に関して一方向となるように配置した後、同期する論理回路の遅延調整を行う。これにより、冗長な迂回配線が生じない、効率のよいクロック分配回路が実現できる。
【００４０】
なお、ここではステップＳ２０２において、クロックソースからクロック駆動素子までの各経路において、基本セルとクロックバッファとを合わせた段数が基本セルの段数の最大値と同じになるように、クロックバッファを挿入するものとしたが、本発明はこれに限られるものではない。すなわち、各経路における基本セルとクロックバッファとを合わせた段数が、基本セルの段数の最大値以上であり、かつ、同じ値になるように、クロックバッファを挿入するようにすれば、同様の効果が得られる。
【００４１】
ただし、各経路における基本セルとクロックバッファとを合わせた段数を、基本セルの段数の最大値とすることによって、冗長なクロックバッファの挿入を抑制することができ、クロックソースからクロック駆動素子までの遅延値を最低限に抑えることができる。すなわち、回路面積の低面積化や消費電力の抑制が可能となる。
【００４２】
一方、各経路における基本セルとクロックバッファとを合わせた段数を、基本セルの段数の最大値よりも大きな値にすれば、上述したような基本セルの段数が最大となる経路が複数存在する場合であっても、これらの経路に少なくとも１つのクロックバッファが存在することになる。このため、クロックスキューの調整が容易になる。
【００４３】
また、ステップＳ２０２において、クロックソースからクロック駆動素子までの各経路において、基本セルとクロックバッファとを合わせた段数を、必ずしも同じ値にしなくてもよい。このような場合でも、ステップＳ２０３において、クロックソースからクロック駆動素子までの各経路において、各論理セルを、クロックソースからクロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置することによって、クロックソースからクロック駆動素子まで一方向の構造を生成することができ、冗長となる迂回配線を確実になくすことができる。
【００４４】
本発明に係るレイアウト生成方法を用いることによって、再収斂分岐構造を含むクロック分配回路を、クロックソースからクロック駆動素子まで一方向の構造によって、実現することができる。すなわち、本発明は、再収斂分岐構造を含むクロック分配回路を有する半導体集積回路装置として、クロック分配回路において、各論理セルが、各経路において、クロックソースからクロック駆動素子に向かう方向において、クロック信号が伝搬する順に並ぶように、配置されているものを含む。あるいは、クロック分配回路において、各経路において、クロック信号が伝搬する配線が、クロックソースからクロック駆動素子に向かう方向と逆方向にクロック信号が伝搬する迂回配線を含まないものを含む。
【００４５】
なお、本発明は、特に、自動配置配線が必須となるような大きな回路規模のクロック分配路について、有効である。例えば、３個以上のクロックソースを有し、各クロックソースについてそれぞれ１個以上のクロック駆動素子が接続されており、かつ、クロックソースとクロック駆動素子との間に、１０個以上の基本セルと１個以上のクロックバッファとからなる複数の論理セルが配置されており、２個以上の再収斂回路が構成されている、クロック分配回路について、特に有効である。
【００４６】
また、本発明は、上述したような半導体集積回路のレイアウト方法として実現できるだけでなく、半導体集積回路のレイアウト方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【産業上の利用可能性】
【００４７】
本発明では、複雑な構成のクロック分配回路について、クロックスキューが小さく、かつ、冗長な迂回配線のないレイアウトを生成できるので、例えば、ＬＳＩの性能向上や面積削減に有効である。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施形態に係る、クロック分配回路を含む半導体集積回路のレイアウト生成方法を示すフローチャートである。
【図２】クロック分配回路のゲートレベルのネットリストの一例であり、各経路の基本セルの段数について説明するための図である。
【図３】図２のクロック分配回路に対してクロックバッファを挿入した結果を示す図である。
【図４】従来の半導体集積回路のレイアウト生成方法を示すフローチャートである。
【図５】再収斂分岐構造の一例を示す図である。
【図６】従来の方法によるクロックバッファ挿入の例である。
【符号の説明】
【００４９】
Ｓ２０１  解析ステップ
Ｓ２０２  挿入ステップ
Ｓ２０３  セル配置ステップ
Ｓ１０５  配線ステップ
３０１〜３０３  クロックソース
３１１〜３２４  基本セル
３３１〜３３４  フリップフロップ（クロック駆動素子）
４４１〜４４６  クロックバッファ
【図１】
2009253756.tif 000003
【図２】
2009253756.tif 000004
【図３】
2009253756.tif 000005
【図４】
2009253756.tif 000006
【図５】
2009253756.tif 000007
【図６】
2009253756.tif 000008