(57)【要約】【課題】ＩＲＤｒｏｐやＥＭＩの低減等が可能な半導体集積回路の設計方法等を提供する。【解決手段】この半導体集積回路の設計方法は、複数のリーフセルを複数のグループにグループ分けするステップと、複数のグループの各々に対して、クロック信号の入り口としての代表セルを設けるステップと、複数のグループの各々に対して、代表セルとリーフセルの各々との間のクロック信号の遅延が略同等になるように、代表セル及びリーフセルをグループ配置領域内に配置するステップと、複数のグループをレイアウト領域内に配置するステップと、複数のグループにクロック信号を供給するためのクロックルートセルと複数のグループ内の代表セルとの間にクロックツリーシンセシスを行うステップと、を含む。【選択図】図１
2009271699.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路を設計するためにコンピュータが実行する方法であって、
複数のリーフセルを複数のグループにグループ分けするステップ（ａ）と、
前記複数のグループの各々に対して、クロック信号の入り口としての代表セルを設けるステップ（ｂ）と、
前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間のクロック信号の遅延が略同等になるように、前記代表セル及び前記リーフセルをグループ配置領域内に配置するステップ（ｃ）と、
前記複数のグループをレイアウト領域内に配置するステップ（ｄ）と、
前記複数のグループにクロック信号を供給するためのクロックルートセルと前記複数のグループ内の前記代表セルとの間にクロックツリーシンセシス（ＣＴＳ）を行うステップ（ｅ）と、
を含む、半導体集積回路の設計方法。
【請求項２】
請求項１において、
ステップ（ｃ）が、前記複数のグループの各々に対して、前記代表セルから前記リーフセルの各々にクロック信号を伝送する配線の長さが略等長になるように、前記代表セル及び前記リーフセルを前記グループ配置領域内に配置する、半導体集積回路の設計方法。
【請求項３】
請求項２において、
前記グループ配置領域が所定面積を有する、半導体集積回路の設計方法。
【請求項４】
請求項２又は３において、
前記グループ配置領域が、前記代表セルの面積及び前記リーフセルの面積の総和のＫ倍（Ｋは自然数）の面積を有する、半導体集積回路の設計方法。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記グループ配置領域が、前記代表セルの面積及び前記リーフセルの面積の総和のＫ倍（Ｋは自然数）の面積を有する正方形である、半導体集積回路の設計方法。
【請求項６】
請求項１乃至５のいずれかにおいて、
ステップ（ａ）が、前記複数のリーフセルを最大８、１６、又は、３２個のリーフセルをそれぞれ含む前記複数のグループにグループ分けする、半導体集積回路の設計方法。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記代表セルが、クロックゲーティングセル又はバッファである、半導体集積回路の設計方法。
【請求項８】
請求項１乃至７のいずれかにおいて、
ステップ（ｃ）が、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行う処理を含む、半導体集積回路の設計方法。
【請求項９】
請求項１乃至７のいずれかにおいて、
ステップ（ｄ）が、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行う処理を含む、半導体集積回路の設計方法。
【請求項１０】
請求項１乃至７のいずれかにおいて、
ステップ（ｅ）が、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行う処理を含む、半導体集積回路の設計方法。
【請求項１１】
請求項１乃至７のいずれかにおいて、
ステップ（ｃ）が実行された後且つステップ（ｄ）が実行される前に実行されるステップであって、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行うステップを更に含む、半導体集積回路の設計方法。
【請求項１２】
請求項１乃至７のいずれかにおいて、
ステップ（ｄ）が実行された後且つステップ（ｅ）が実行される前に実行されるステップであって、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行うステップを更に含む、半導体集積回路の設計方法。
【請求項１３】
請求項１乃至７のいずれかにおいて、
ステップ（ｅ）が実行された後において実行されるステップであって、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行うステップを更に含む、半導体集積回路の設計方法。
【請求項１４】
請求項１乃至１３のいずれかにおいて、
前記複数のグループの各々に対して、前記リーフセルの各々におけるクロックスキューを算出し、前記リーフセルにおけるクロックスキューが所定の値以上の場合に、前記リーフセルにおけるクロックスキューを微調整するための１つ又は複数のセルを前記代表セルと１つ又は複数の前記リーフセルとの間に配置するステップを更に含む、半導体集積回路。
【請求項１５】
請求項１乃至１３のいずれかに記載の半導体集積回路の設計方法によって設計された半導体集積回路であって、
前記複数のグループの各々において、前記代表セルと前記リーフセルとの間にクロックスキューを調整するためのセルが設けられていないこと
を特徴とする、半導体集積回路。
【請求項１６】
請求項１４に記載の半導体集積回路の設計方法によって設計された半導体集積回路であって、
前記複数のグループの各々において、前記代表セルと１つ又は複数の前記リーフセルとの間にクロックスキューを微調整するための１つ又は複数のセルが設けられていること
を特徴とする、半導体集積回路。
【請求項１７】
半導体集積回路を設計するためにコンピュータに実行させるためのプログラムであって、
複数のリーフセルを複数のグループにグループ分けする手順（ａ）と、
前記複数のグループの各々に対して、クロック信号の入り口としての代表セルを設ける手順（ｂ）と、
前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間のクロック信号の遅延が略同等になるように、前記代表セル及び前記リーフセルをグループ配置領域内に配置する手順（ｃ）と、
前記複数のグループをレイアウト領域内に配置する手順（ｄ）と、
前記複数のグループにクロック信号を供給するためのクロックルートセルと前記複数のグループ内の前記代表セルとの間にクロックツリーシンセシス（ＣＴＳ）を行う手順（ｅ）と、
を前記コンピュータに実行させる、半導体集積回路の設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路並びにその設計方法及び設計プログラムに関する。
【背景技術】
【０００２】
半導体集積回路において、データ転送を保証するためには、クロックスキューを抑える必要がある。クロックスキューを抑えるため、一般に、クロックツリーシンセシス（ＣＴＳ）ツール（プログラム）を利用してクロックツリー構築を行うことが行われている。
【０００３】
ＣＴＳツールは、クロックルートセルから複数のリーフセル（クロックスキュー抑制の対象であるセルであり、例えばフリップフロップ（ＦＦ）やラッチ等である。）までのクロック信号の遅延値が略同等になるように、クロックバッファ（例えば、バッファ、インバータ、インバータペア等）をクロックルートセルと複数のリーフセルとの間に挿入するためのツールである。このようなクロックバッファの構成がクロックツリーと呼ばれており、クロックバッファをクロックルートセルと複数のリーフセルとの間に挿入することがクロックツリー構築と呼ばれている。
【０００４】
上記のようなＣＴＳツールを利用してクロックツリー構築を行うことにより、クロックスキューを抑え、データ転送を保証することができる。
【０００５】
しかしながら、クロックツリーは多数のクロックバッファで構成されるため、クロックツリー構築を行うことにより半導体集積回路の消費電力が増加する。また、クロック信号が入力されクロック信号に同期して動作するセルは論理回路の中でも動作率と動作周波数が最も高いため、ダイナミックパワーが増加する。その中でも特にピークパワーの増加が問題となる。クロックツリーを構成する複数のクロックバッファはほぼ同時に変化（動作）するため、ピークパワーが増加し、ＩＲＤｒｏｐ（電源電圧が一瞬下がること）やＥＭＩ（電磁波障害）の発生を招く要因となる。
【０００６】
関連する技術として、下記の特許文献１、２には、クロックツリーに関して消費電力を低減する半導体集積回路等が掲載されている。
【０００７】
【特許文献１】特開平１０−３０８４５０号公報
【特許文献２】特開２００１−２２８１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、ＩＲＤｒｏｐやＥＭＩの低減等が可能な半導体集積回路並びにその設計方法及び設計プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、
半導体集積回路を設計するためにコンピュータが実行する方法であって、
複数のリーフセルを複数のグループにグループ分けするステップ（ａ）と、
前記複数のグループの各々に対して、クロック信号の入り口としての代表セルを設けるステップ（ｂ）と、
前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間のクロック信号の遅延が略同等になるように、前記代表セル及び前記リーフセルをグループ配置領域内に配置するステップ（ｃ）と、
前記複数のグループをレイアウト領域内に配置するステップ（ｄ）と、
前記複数のグループにクロック信号を供給するためのクロックルートセルと前記複数のグループ内の前記代表セルとの間にクロックツリーシンセシス（ＣＴＳ）を行うステップ（ｅ）と、
を含む、半導体集積回路の設計方法に関係する。
【００１０】
本発明によれば、クロックルートセルと複数のグループ内の代表セルとの間にＣＴＳを行うことにより、クロックツリーを構成するクロックバッファの数を低減することができる。これにより、ＩＲＤｒｏｐ及びＥＭＩを低減することが可能である。
【００１１】
また本発明に係る半導体集積回路の設計方法では、
ステップ（ｃ）が、前記複数のグループの各々に対して、前記代表セルから前記リーフセルの各々にクロック信号を伝送する配線の長さが略等長になるように、前記代表セル及び前記リーフセルを前記グループ配置領域内に配置することができる。
【００１２】
また本発明に係る半導体集積回路の設計方法では、
前記グループ配置領域が所定面積を有することとすることができる。
【００１３】
また本発明に係る半導体集積回路の設計方法では、
前記グループ配置領域が、前記代表セルの面積及び前記リーフセルの面積の総和のＫ倍（Ｋは自然数）の面積を有することとすることができる。
【００１４】
また本発明に係る半導体集積回路の設計方法では、
前記グループ配置領域が、前記代表セルの面積及び前記リーフセルの面積の総和のＫ倍（Ｋは自然数）の面積を有する正方形であることとすることができる。
【００１５】
また本発明に係る半導体集積回路の設計方法では、
ステップ（ａ）が、前記複数のリーフセルを最大８、１６、又は、３２個のリーフセルをそれぞれ含む前記複数のグループにグループ分けすることができる。
【００１６】
また本発明に係る半導体集積回路の設計方法では、
前記代表セルが、クロックゲーティングセル又はバッファであることとすることができる。
【００１７】
また本発明に係る半導体集積回路の設計方法では、
ステップ（ｃ）が、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行う処理を含むようにしても良い。
【００１８】
また本発明に係る半導体集積回路の設計方法では、
ステップ（ｄ）が、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行う処理を含むようにしても良い。
【００１９】
また本発明に係る半導体集積回路の設計方法では、
ステップ（ｅ）が、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行う処理を含むようにしても良い。
【００２０】
また本発明に係る半導体集積回路の設計方法では、
ステップ（ｃ）が実行された後且つステップ（ｄ）が実行される前に実行されるステップであって、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行うステップを更に含むようにしても良い。
【００２１】
また本発明に係る半導体集積回路の設計方法では、
ステップ（ｄ）が実行された後且つステップ（ｅ）が実行される前に実行されるステップであって、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行うステップを更に含むようにしても良い。
【００２２】
また本発明に係る半導体集積回路の設計方法では、
ステップ（ｅ）が実行された後において実行されるステップであって、前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間を接続する配線を行うステップを更に含むようにしても良い。
【００２３】
また本発明に係る半導体集積回路の設計方法では、
前記複数のグループの各々に対して、前記リーフセルの各々におけるクロックスキューを算出し、前記リーフセルにおけるクロックスキューが所定の値以上の場合に、前記リーフセルにおけるクロックスキューを微調整するための１つ又は複数のセルを前記代表セルと１つ又は複数の前記リーフセルとの間に配置するステップを更に含むようにしても良い。
【００２４】
また本発明は、
本発明に係る半導体集積回路の設計方法によって設計された半導体集積回路であって、
前記複数のグループの各々において、前記代表セルと前記リーフセルとの間にクロックスキューを調整するためのセルが設けられていないこと
を特徴とする、半導体集積回路に関係する。
【００２５】
本発明によれば、クロックツリーを構成するクロックバッファの数を低減することができる。これにより、ＩＲＤｒｏｐ及びＥＭＩを低減することが可能である。
【００２６】
また本発明は、
本発明に係る半導体集積回路の設計方法によって設計された半導体集積回路であって、
前記複数のグループの各々において、前記代表セルと１つ又は複数の前記リーフセルとの間にクロックスキューを微調整するための１つ又は複数のセルが設けられていること
を特徴とする、半導体集積回路に関係する。
【００２７】
また本発明は、
半導体集積回路を設計するためにコンピュータに実行させるためのプログラムであって、
複数のリーフセルを複数のグループにグループ分けする手順（ａ）と、
前記複数のグループの各々に対して、クロック信号の入り口としての代表セルを設ける手順（ｂ）と、
前記複数のグループの各々に対して、前記代表セルと前記リーフセルの各々との間のクロック信号の遅延が略同等になるように、前記代表セル及び前記リーフセルをグループ配置領域内に配置する手順（ｃ）と、
前記複数のグループをレイアウト領域内に配置する手順（ｄ）と、
前記複数のグループにクロック信号を供給するためのクロックルートセルと前記複数のグループ内の前記代表セルとの間にクロックツリーシンセシス（ＣＴＳ）を行う手順（ｅ）と、
を前記コンピュータに実行させる、半導体集積回路の設計プログラムに関係する。
【００２８】
本発明によれば、クロックルートセルと複数のグループ内の代表セルとの間にＣＴＳを行うことにより、クロックツリーを構成するクロックバッファの数を低減することができる。これにより、ＩＲＤｒｏｐ及びＥＭＩを低減することが可能である。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。また同一の構成要素には同一の参照番号を付して説明を省略する。
【００３０】
図１は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図１に示す処理は、コンピュータにプログラムを実行させることにより実現することができる。
【００３１】
まず、複数のリーフセルを複数のグループにグループ分けする（ステップＳ１１）。ここで、リーフセルとは、例えば、フリップフロップ（ＦＦ）やラッチ等であり、クロック信号に同期して信号を保持するセルである。
【００３２】
グループ分けの仕方の一例として、各グループが含み得るリーフセルの最大数を４個、８個、１６個、３２個、６４個等にすると好適である。これは、一般にデータの処理単位として４ビット（ニブルと呼ばれることがある。）、８ビット（バイトと呼ばれることがある。）、１６ビット、３２ビット、６４ビット（ワードと呼ばれることがある。）が用いられることが多いためである。とりわけ、各グループが含み得るリーフセルの最大数を８、１６、又は、３２個にすると好適である。各グループが含み得るリーフセルの最大数があまり大きい（例えば、６４個）と、或る１つのグループが６４個のリーフセルを、他の１つのグループが８個のリーフセルをそれぞれ含むようにグループ分けされることが起こり得ると考えられ、グループ分けや後のレイアウトが難しくなることが起こり得ると考えられるためである。一方、各グループが含み得るリーフセルの最大数があまり小さい（例えば、４個）と、後に説明する代表セルが多くなってしまうためである。
【００３３】
図２（Ａ）は、４８個のリーフセルＡ１〜Ａ４８がクロックルートセルＢ１に接続されている回路例を示す図である。ここで、例えば、各グループが含み得るリーフセルの最大数を１６個とした場合に、図２（Ｂ）に示すように、４８個のリーフセルＡ１〜Ａ４８を、１６個のリーフセルＡ１〜Ａ１６を含む第１のグループＣ１と、１６個のリーフセルＡ１７〜Ａ３２を含む第２のグループＣ２と、１６個のリーフセルＡ３３〜Ａ４８を含む第３のグループＣ３と、の３つのグループにグループ分けすることができる。
【００３４】
なお、上記においては専らリーフセルの数に基づいてグループ分けをする場合について説明したが、リーフセルの数及び論理（ここでは、クロックイネーブル信号にかかわらず動作することや、クロックイネーブル信号に応じて動作を停止することを言う。）に基づいてグループ分けをするようにしても良い。例えば、各グループが含み得るリーフセルの最大数を１６個とし、４８個のリーフセルの内の２４個がクロックイネーブル信号にかかわらず動作し、他の２４個がクロックイネーブル信号に応じて動作する場合には、クロックイネーブル信号にかかわらず動作する１６個のリーフセルを含む第１のグループと、クロックイネーブル信号にかかわらず動作する８個のリーフセルを含む第２のグループと、クロックイネーブル信号に応じて動作する１６個のリーフセルを含む第３のグループと、クロックイネーブル信号に応じて動作する８個のリーフセルを含む第４のグループと、の４つのグループにグループ分けするようにしても良い。
【００３５】
再び図１を参照すると、複数のグループの各々に対して、クロック信号の入り口として、クロックルートセルからクロック信号の入力を受けてクロック信号をグループ内の複数のリーフセルに出力する代表セルを設ける（ステップＳ１２）。
【００３６】
ここで、代表セルは、クロックゲーティングセル等の論理セルであっても良いし、単なるバッファ等であっても良い。クロックゲーティングセルとは、クロック動作が不要な際にクロックイネーブル信号等に応じてクロック信号の供給を停止するために利用されるセル（論理）であり、消費電力低減の目的のために利用される。
【００３７】
或るグループが論理的に元々クロックゲーティングセルを必要とする場合（クロックイネーブル信号に応じて動作を停止する場合）には、クロックゲーティングセルを代表セルとみなす（クロックゲーティングセルを代表セルに兼ねさせる）ことにより、無駄をなくすことができる。また、或るグループでは代表セルとしてクロックゲーティングセルが兼用され、他の或るグループでは代表セルとしてバッファが設けられる（挿入される）場合には、クロックゲーティングセルのクロック信号遅延量とバッファのクロック信号遅延量とが略同等であると好適である。
【００３８】
図３は、図２（Ｂ）の第１〜第３のグループＣ１〜Ｃ３のグループの各々に対して、代表セルＤ１〜Ｄ３を設けた様子を示す図である。
【００３９】
再び図１を参照すると、複数のグループの各々に対して、代表セルと複数のリーフセルの各々との間のクロック信号の遅延量が略同等になるように代表セル及び複数のリーフセルをグループ配置領域内に配置及び配線する（ステップＳ１３）。
【００４０】
図４（ａ）は、或るグループが代表セルＥ１と１６個のリーフセルＦ１〜Ｆ１６とを含む場合に、代表セルＥ１及びリーフセルＦ１〜Ｆ１６をグループ配置領域Ｇ１内に配置した例を示す図である。図４（ａ）においては、リーフセルＦ１〜Ｆ１６が、グループ配置領域Ｇ１の左辺のやや上側から左辺のやや下側まで左辺〜上辺〜右辺〜下辺〜左辺に沿って配置されている。また、代表セルＥ１が、グループ配置領域Ｇ１の中央付近に配置されている。代表セルＥ１及びリーフセルＦ１〜Ｆ１６をこのように配置することで、代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間のクロック信号の遅延量が略同等になるようにすることができる。なお、グループ配置領域Ｇ１の左辺の中央付近のセルが配置されていない部分は、後に説明するように、クロック信号配線の配置に利用することができる。
【００４１】
代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間のクロック信号の遅延量は、リーフセルＦ１〜Ｆ１６の各々の入力容量と、代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間の配線の配線容量との和によって定まる。従って、リーフセルＦ１〜Ｆ１６の各々の入力容量が略同等であるとすると、代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間のクロック信号の遅延量が略同等になるようにするためには、代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間の配線の配線容量を略同等にすれば良いことになる。すなわち、代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間の配線の長さを略等長にすれば良いことになる。図４（ａ）は、そのようなことを実現する配置の仕方の一例である。
【００４２】
代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間の配線の長さを略等長にすることを容易に実現するための一つの手法として、グループ配置領域Ｇ１の面積を所定の面積にすることができる。その一例として、グループ配置領域Ｇ１の面積を、代表セルＥ１の面積とリーフセルＦ１〜Ｆ１６の面積との和のｋ倍（ｋは自然数）とすることが考えられる。例えば、代表セルＥ１の面積を２（単位面積）、リーフセルＦ１〜Ｆ１６の各々の面積を１０（単位面積）とすると、グループ配置領域Ｇ１の面積を（（２＋１０×１６）×ｋ）（単位面積）とすることが考えられる（ｋは自然数）。例えば、ｋ＝２とし、グループ配置領域Ｇ１の面積を（２＋１０×１６）×２＝３２４（単位面積）とすることが考えられる。ｋの値は、許容できるスキュー量に応じて変更することができる。これにより、代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間の配線の長さを略等長にすることを容易に実現することができるようになる。
【００４３】
また、代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間の配線の長さを略等長にすることをより容易に実現するための一つの手法として、グループ配置領域Ｇ１を、代表セルＥ１の面積とリーフセルＦ１〜Ｆ１６の面積との和のｋ倍の面積を有する正方形とすることが考えられる。例えば、代表セルＥ１の面積を２（単位面積）、リーフセルＦ１〜Ｆ１６の各々の面積を１０（単位面積）とすると、グループ配置領域Ｇ１を、一辺の長さが３２４（＝（２＋１０×１６）×２）の平方根である正方形とすることが考えられる。このようにグループ配置領域Ｇ１を正方形とすることで、グループ配置領域Ｇ１を長方形とした場合よりも、代表セルＥ１とリーフセルＦ１〜Ｆ１６の各々との間の配線の長さを略等長にすることをより容易に実現することができるようになる。
【００４４】
図４（ｂ）は、図４（ａ）のレイアウトに配線を行った例を示す図である。代表セルＥ１の出力ピンからは、三方向（図中上下及び図中右方向）に向かって配線が延在している。代表セルＥ１の出力ピンから図中上方向に向かって延在する配線は、７個のリーフセルＦ１〜Ｆ７に接続されている。代表セルＥ１の出力ピンから図中右方向に向かって延在する配線は、２個のリーフセルＦ８、Ｆ９に接続されている。代表セルＥ１の出力ピンから図中下方向に向かって延在する配線は、７個のリーフセルＦ１０〜Ｆ１６に接続されている。
【００４５】
なお、グループ内の配線は、ステップＳ１３において行っても良いし、後のステップＳ１４やステップＳ１５で行うようにしても良いし、ステップＳ１３とステップＳ１４との間やステップＳ１４とステップＳ１５との間やステップＳ１５の後で行うようにしても良い。
【００４６】
再び図１を参照すると、複数のグループ及びその他のセルをレイアウト領域内に配置する（ステップＳ１４）。
【００４７】
図５は、レイアウト領域Ｈ１内に６個のグループＪ１〜Ｊ６を配置した例を示す図である。グループＪ１〜Ｊ３は、レイアウト領域Ｈ１の上辺左側〜右側に沿って配置されており、グループＪ４〜Ｊ６は、レイアウト領域Ｈ１の下辺右側〜左側に沿って配置されている。グループＪ１〜Ｊ６は、図４に示すグループと略同様のレイアウトをそれぞれ有しており、辺縁部に１６個のリーフセルをそれぞれ有し、中央部に代表セルＪ１ａ〜Ｊ６ａをそれぞれ有している。さらに、レイアウト領域Ｈ１内にはクロックルートセルＫ１及びその他のセルＬ１〜Ｌ１０も配置されている。
【００４８】
再び図１を参照すると、クロックルートセルと複数のグループ内の代表セルとの間にクロックツリーシンセシス（ＣＴＳ）を行う（ステップＳ１５）。ＣＴＳとは、一般に、クロック信号を伝送する配線上にセルや素子を挿入することでクロック信号のディレイを合わせてクロックスキューを低減することを言う。ステップＳ１５におけるＣＴＳを行うために、一般に広く用いられている汎用のＣＴＳツール（プログラム）を利用することができる。
【００４９】
図６は、図５のクロックルートセルＫ１とグループＪ１〜Ｊ６内の代表セルとの間にＣＴＳを行った例を示す図である。クロックルートセルＫ１の入力ピン（図中左側）には、レイアウト領域Ｈ１の外部からクロック信号ＣＬＫを入力するための配線が配置されている。クロックルートセルＫ１の出力ピン（図中右側）には、配線を介してバッファＭ１が配置されており、さらに、バッファＭ１の後段（図中右側）には、配線を介してバッファＭ２が配置されている。
【００５０】
バッファＭ２の後段の配線は二方向（図中上下方向）に延在しており、上方向に延在する配線はバッファＭ３に接続されている。バッファＭ３の後段の配線は三方向（図中左右及び図中上方向）に延在している。バッファＭ３から図中左側方向に延在する配線は、バッファＭ４に接続されている。
【００５１】
バッファＭ４の後段の配線は図中上方向に延在しており、該配線はグループＪ１の中央部に配置されている代表セルＪ１ａの入力ピンに接続されている。代表セルＪ１ａの出力ピンからは、三方向（図中左右及び図中上方向）に向かって配線が延在している。代表セルＪ１ａの出力ピンから図中左方向に向かって延在する配線は、グループＪ１の図中左下〜図中左上に配置された７個のリーフセルに接続されている。代表セルＪ１ａの出力ピンから図中上方向に向かって延在する配線は、グループＪ１の上辺の中央近傍に配置された２個のリーフセルに接続されている。代表セルＪ１ａの出力ピンから図中右方向に向かって延在する配線は、グループＪ１の図中右上〜図中右下に配置された７個のリーフセルに接続されている。
【００５２】
バッファＭ３から図中上側方向に延在する配線は、バッファＭ５に接続されている。バッファＭ５の後段の配線は図中上方向に延在しており、該配線はグループＪ２の中央部に配置されている代表セルＪ２ａの入力ピンに接続されている。代表セルＪ２ａの出力ピンからは、三方向（図中左右及び図中上方向）に向かって配線が延在している。代表セルＪ２ａの出力ピンから図中左方向に向かって延在する配線は、グループＪ２の図中左下〜図中左上に配置された７個のリーフセルに接続されている。代表セルＪ２ａの出力ピンから図中上方向に向かって延在する配線は、グループＪ２の上辺の中央近傍に配置された２個のリーフセルに接続されている。代表セルＪ２ａの出力ピンから図中右方向に向かって延在する配線は、グループＪ２の図中右上〜図中右下に配置された７個のリーフセルに接続されている。
【００５３】
バッファＭ３から図中右側方向に延在する配線は、バッファＭ６に接続されている。バッファＭ６の後段の配線は図中上方向に延在しており、該配線はグループＪ３の中央部に配置されている代表セルＪ３ａの入力ピンに接続されている。代表セルＪ３ａの出力ピンからは、三方向（図中左右及び図中上方向）に向かって配線が延在している。代表セルＪ３ａの出力ピンから図中左方向に向かって延在する配線は、グループＪ３の図中左下〜図中左上に配置された７個のリーフセルに接続されている。代表セルＪ３ａの出力ピンから図中上方向に向かって延在する配線は、グループＪ３の上辺の中央近傍に配置された２個のリーフセルに接続されている。代表セルＪ３ａの出力ピンから図中右方向に向かって延在する配線は、グループＪ３の図中右上〜図中右下に配置された７個のリーフセルに接続されている。
【００５４】
バッファＭ２の後段の図中下方向に延在する配線はバッファＭ７に接続されている。バッファＭ７の後段の配線は三方向（図中左右及び図中下方向）に延在している。バッファＭ７から図中右側方向に延在する配線は、バッファＭ８に接続されている。
【００５５】
バッファＭ８の後段の配線は図中下方向に延在しており、該配線はグループＪ４の中央部に配置されている代表セルＪ４ａの入力ピンに接続されている。代表セルＪ４ａの出力ピンからは、三方向（図中左右及び図中下方向）に向かって配線が延在している。代表セルＪ４ａの出力ピンから図中右方向に向かって延在する配線は、グループＪ４の図中右上〜図中右下に配置された７個のリーフセルに接続されている。代表セルＪ４ａの出力ピンから図中下方向に向かって延在する配線は、グループＪ４の下辺の中央近傍に配置された２個のリーフセルに接続されている。代表セルＪ４ａの出力ピンから図中左方向に向かって延在する配線は、グループＪ４の図中左下〜図中左上に配置された７個のリーフセルに接続されている。
【００５６】
バッファＭ７から図中下側方向に延在する配線は、バッファＭ９に接続されている。バッファＭ９の後段の配線は図中下方向に延在しており、該配線はグループＪ５の中央部に配置されている代表セルＪ５ａの入力ピンに接続されている。代表セルＪ５ａの出力ピンからは、三方向（図中左右及び図中下方向）に向かって配線が延在している。代表セルＪ５ａの出力ピンから図中右方向に向かって延在する配線は、グループＪ５の図中右上〜図中右下に配置された７個のリーフセルに接続されている。代表セルＪ５ａの出力ピンから図中下方向に向かって延在する配線は、グループＪ５の下辺の中央近傍に配置された２個のリーフセルに接続されている。代表セルＪ５ａの出力ピンから図中左方向に向かって延在する配線は、グループＪ５の図中左下〜図中左上に配置された７個のリーフセルに接続されている。
【００５７】
バッファＭ７から図中左側方向に延在する配線は、バッファＭ１０に接続されている。バッファＭ１０の後段の配線は図中下方向に延在しており、該配線はグループＪ６の中央部に配置されている代表セルＪ６ａの入力ピンに接続されている。代表セルＪ６ａの出力ピンからは、三方向（図中左右及び図中下方向）に向かって配線が延在している。代表セルＪ６ａの出力ピンから図中右方向に向かって延在する配線は、グループＪ６の図中右上〜図中右下に配置された７個のリーフセルに接続されている。代表セルＪ６ａの出力ピンから図中下方向に向かって延在する配線は、グループＪ６の下辺の中央近傍に配置された２個のリーフセルに接続されている。代表セルＪ６ａの出力ピンから図中左方向に向かって延在する配線は、グループＪ６の図中左下〜図中左上に配置された７個のリーフセルに接続されている。
【００５８】
なお、図６において、複数のグループの各々に対して、リーフセルの各々におけるクロックスキューを算出し、リーフセルにおけるクロックスキューが所定の値（許容できる限度の値）以上の場合に、リーフセルにおけるクロックスキューを微調整するための１つ又は複数のセルを代表セルと１つ又は複数のリーフセルとの間に適宜挿入（配置）するようにしても良い。
【００５９】
このように本実施形態のステップＳ１５では、クロックルートセルと複数のグループ内の代表セルとの間にＣＴＳを行うこととしている。これは、換言すると、ＣＴＳツールに対して代表セルをリーフセルに見せかけ、ＣＴＳツールに対してリーフセル（ここでは、代表セルを見せかけたもの）の数を少なく見せかけていると言うこともできる。ＣＴＳツールでは、リーフセルが増えるほど挿入されるクロックバッファの数が増加するため、リーフセルの数を少なく見せかけることでクロックバッファの数を低減することができる。
【００６０】
一方、従来の半導体集積回路の設計方法では、クロックルートセルと複数のリーフセルとの間にＣＴＳを行っていた。
【００６１】
図７は、図５のクロックルートセルＫ１とグループＪ１〜Ｊ６内の複数のリーフセル（１６×６の計９６個）との間にＣＴＳを行った例を示す図である。図７では、代表セルＪ１ａ〜Ｊ６ａから三方向にそれぞれ延在する配線上に（代表セルＪ１ａ〜Ｊ６ａと複数のリーフセルとの間に）クロックスキューを調整するためのバッファＮ１ａ〜Ｎ１ｃ、Ｎ２ａ〜Ｎ２ｃ、Ｎ３ａ〜Ｎ３ｃ、Ｎ４ａ〜Ｎ４ｃ、Ｎ５ａ〜Ｎ５ｃ、Ｎ６ａ〜Ｎ６ｃがそれぞれ挿入されている。
【００６２】
一方、本実施形態によれば、図６に示すように、代表セルＪ１ａ〜Ｊ６ａから三方向に延在する配線上に（代表セルＪ１ａ〜Ｊ６ａと複数のリーフセルとの間に）クロックスキューを調整するためのバッファが挿入されていない。これは、先に説明したように、ステップＳ１５において、クロックルートセルと複数のグループ内の代表セル（計６個）との間にＣＴＳを行うこととしているためである。
【００６３】
このようにステップＳ１５においてクロックルートセルと複数のグループ内の代表セルとの間にＣＴＳを行うことが可能であるのは、ステップＳ１３において、グループＪ１〜Ｊ６の各々に対して、代表セルと複数のリーフセルの各々との間のクロック信号の遅延が略同等になるように、代表セル及び複数のリーフセルを配置しているためである。
【００６４】
一方、従来は、代表セルと複数のリーフセルの各々との間のクロック信号の遅延が略同等になるように代表セル及び複数のリーフセルを配置するということは行われていなかった。そのため、クロックルートセルと複数のリーフセルとの間にＣＴＳを行う必要があった。その結果として、図７に示すように、代表セルＪ１ａ〜Ｊ６ａから三方向にそれぞれ延在する配線上にバッファＮ１ａ〜Ｎ１ｃ、Ｎ２ａ〜Ｎ２ｃ、Ｎ３ａ〜Ｎ３ｃ、Ｎ４ａ〜Ｎ４ｃ、Ｎ５ａ〜Ｎ５ｃ、Ｎ６ａ〜Ｎ６ｃがそれぞれ挿入されてしまうことが起こっていた。
【００６５】
以上説明したように、本実施形態によれば、複数のグループの各々に対して、代表セルと複数のリーフセルの各々との間のクロック信号の遅延が略同等になるように、代表セル及び複数のリーフセルを配置し、クロックルートセルと複数のグループ内の代表セルとの間にＣＴＳを行うことにより、クロックツリーを構成するクロックバッファの数を低減することができる。これにより、消費電力、ＩＲＤｒｏｐ、ＥＭＩを低減することが可能である。また、クロックディレイを低減することも可能である。
【００６６】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また各グループの構成や、代表セル及びリーフセルの配置等も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。
【００６７】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施形態に係る半導体集積回路の設計方法を示すフローチャート。
【図２】クロックルートセル及び複数のリーフセルを含む回路例を示す図。
【図３】図２（Ｂ）の回路に代表セルを設けた回路例を示す図。
【図４】代表セル及び複数のリーフセルを含むグループの配置例を示す図。
【図５】複数のグループを含む回路の配置例を示す図。
【図６】図５の回路に本実施形態に係るステップを行った配置例を示す図。
【図７】図５の回路に従来のＣＴＳを行った配置例を示す図。
【符号の説明】
【００６９】
Ａ１〜Ａ４８、Ｆ１〜Ｆ１６  リーフセル、  Ｂ１、Ｋ１  クロックルートセル、  Ｃ１〜Ｃ３、Ｊ１〜Ｊ６  グループ、  Ｄ１〜Ｄ３、Ｅ１、Ｊ１ａ〜Ｊ６ａ  代表セル、  Ｇ１  グループ配置領域、  Ｈ１  レイアウト領域、  Ｌ１〜Ｌ１０  セル、  Ｍ１〜Ｍ１０、Ｎ１ａ〜Ｎ１ｃ、Ｎ２ａ〜Ｎ２ｃ、Ｎ３ａ〜Ｎ３ｃ、Ｎ４ａ〜Ｎ４ｃ、Ｎ５ａ〜Ｎ５ｃ、Ｎ６ａ〜Ｎ６ｃ  クロックバッファ、  １０、３０、６０  セル
【図１】
2009271699.tif 000003
【図２】
2009271699.tif 000004
【図３】
2009271699.tif 000005
【図４】
2009271699.tif 000006
【図５】
2009271699.tif 000007
【図６】
2009271699.tif 000008
【図７】
2009271699.tif 000009