(57)【要約】【課題】被クリップセルとクリップセル間の配線引き回しを抑え、配線引き回しに起因した不具合を回避する。【解決手段】レイアウト設計において、ネットリストを用い、被クリップセルと、その被クリップセルに接続されるクリップセルとを抽出し（ステップＳ１）、抽出された被クリップセルとクリップセルとを関連付けた関連付け情報を生成する（ステップＳ２）。そして、生成された関連付け情報に基づき、被クリップセルとクリップセルとを隣接させる等して一体で配置し（ステップＳ３）、配置された被クリップセルとクリップセルとを配線で接続する（ステップＳ４）。【選択図】図１
2012186236.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
ネットリストを用いて、第１回路の情報を含む第１セルと、前記第１回路に接続される第２回路の情報を含む第２セルとを抽出し、
抽出された前記第１セルと前記第２セルとを関連付けた第１関連付け情報を生成し、
生成された前記第１関連付け情報に基づき、前記第１セルと前記第２セルとを隣接させて配置し、
配置された前記第１セルと前記第２セルとを接続する第１配線を配置する、
ことを特徴とするレイアウト設計方法。
【請求項２】
前記コンピュータが、更に、前記第１関連付け情報に基づき、前記第１セルと前記第２セルとをブロック化して第３セルを生成し、
前記第１セルと前記第２セルとを配置する際には、前記第３セルを配置し、
前記第１配線を配置する際には、前記第３セルに含まれる前記第１セルと前記第２セルとを接続する前記第１配線を配置することを特徴とする請求項１に記載のレイアウト設計方法。
【請求項３】
前記第３セルの配置後に、前記第３セルを、前記第１セル、前記第２セル及び前記第１配線に展開することを特徴とする請求項２に記載のレイアウト設計方法。
【請求項４】
前記コンピュータが、更に、
前記ネットリストを用いて、第３回路の情報を含む第３セルと、前記第３回路に接続される第４回路の情報を含む第４セルとを抽出し、
抽出された前記第３セルと前記第４セルとを関連付けた第２関連付け情報を生成し、
生成された前記第２関連付け情報に基づき、前記第３セルと前記第４セルとを一体で配置し、
前記第１セル、前記第２セル、前記第３セル及び前記第４セルの配置後、
配置された前記第２セル及び前記第４セルを、前記第１回路及び前記第３回路に接続される第５回路の情報を含む第５セルに置換し、
前記第１セルと前記第５セルとを接続する第２配線を配置すると共に、前記第３セルと前記第５セルとを接続する第３配線を配置する、
ことを特徴とする請求項１に記載のレイアウト設計方法。
【請求項５】
コンピュータに、
ネットリストを用いて、第１回路の情報を含む第１セルと、前記第１回路に接続される第２回路の情報を含む第２セルとを抽出し、
抽出された前記第１セルと前記第２セルとを関連付けた第１関連付け情報を生成し、
生成された前記第１関連付け情報に基づき、前記第１セルと前記第２セルとを一体で配置し、
配置された前記第１セルと前記第２セルとを接続する第１配線を配置する、
処理を実行させることを特徴とするレイアウト設計プログラム。
【請求項６】
ネットリストを用いて、第１回路の情報を含む第１セルと、前記第１回路に接続される第２回路の情報を含む第２セルとを抽出する抽出部と、
前記抽出部によって抽出された前記第１セルと前記第２セルとを関連付けた第１関連付け情報を生成する生成部と、
前記生成部によって生成された前記第１関連付け情報に基づき、前記第１セルと前記第２セルとを一体で配置する第１配置部と、
前記第１配置部によって配置された前記第１セルと前記第２セルとを接続する第１配線を配置する第２配置部と、
を含むことを特徴とするレイアウト設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト設計方法、レイアウト設計プログラム及びレイアウト設計装置に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration）等の半導体集積回路のレイアウト設計においては、例えば、自動配置配線ツールを用いた装置（コンピュータ）を利用して、ネットリストに含まれる複数のセルの配置、セル間の配線が行われている。配置配線の際には、論理の関係から、セルに含まれる所定の入力端子を“１”又は“０”に固定すること（クリップのほか、タイ、クランプ等と称される）が行われる場合がある。クリップする方法としては、セルの入力端子を“１”又は“０”に該当する電位の電源線に直接配線で繋ぐ方法がある。近年では、プロセスの微細化に伴う、急激な電圧変動による誤動作やゲート破壊を抑制するため、電源線に接続する入力端子を含んだセルの当該入力端子を、抵抗等の保護素子を含んだセルを介して、電源線に接続する方法も知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１５５１１８号公報
【特許文献２】特開平１１−８３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ネットリストを用い、クリップされるセル（被クリップセル）と共に、保護素子を含んだセル（クリップセル）を配置配線する場合、既存の装置では、必ずしも被クリップセルの近傍に当該被クリップセルと接続するクリップセルが配置されるとは限らない。他のセルの配置、セルの配置を禁止する領域等の制約のために、被クリップセルとクリップセルとが比較的離れた場所に配置され得る。また、既存の装置では、一旦配置した被クリップセルを別の場所に移動するときに、被クリップセルのみが移動し、クリップセルとの距離が離れてしまうことが起こり得る。
【０００５】
被クリップセルとクリップセルが離れた場所に配置されると、それらの間を繋ぐ配線が、他の配線の経路を塞いだり、他の配線やセルを迂回させるために引き回されたり、ショートのような配線違反を引き起こしたりする場合がある。これらの修正には時間を要し、また、修正の際には、他のセルや配線との配置関係によって配線が引き回せない、配線引き回しによって所定のタイミング特性が得られない、といったことも起こり得る。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、コンピュータが、ネットリストを用いて、第１回路の情報を含む第１セルと、前記第１回路に接続される第２回路の情報を含む第２セルとを抽出し、抽出された前記第１セルと前記第２セルとを関連付けた第１関連付け情報を生成し、生成された前記第１関連付け情報に基づき、前記第１セルと前記第２セルとを隣接させて配置し、配置された前記第１セルと前記第２セルとを接続する第１配線を配置するレイアウト設計方法が提供される。
【発明の効果】
【０００７】
開示の方法によれば、接続するセル同士を隣接させて配置し、セル間を適切に配線することが可能になる。また、配置配線の効率化を図ることが可能になる。
【図面の簡単な説明】
【０００８】
【図１】レイアウト設計方法の一例を示す図である。
【図２】レイアウト設計装置の一構成例を示す図である。
【図３】クリップの説明図である。
【図４】ネットリストの一例を示す図である。
【図５】クリップ情報テーブルの一例を示す図である。
【図６】別形態のレイアウト設計方法の一例を示す図（その１）である。
【図７】別形態のレイアウト設計方法の一例を示す図（その２）である。
【図８】別形態のレイアウト設計フローを用いた場合の説明図（その１）である。
【図９】別形態のレイアウト設計フローを用いた場合の説明図（その２）である。
【図１０】第１の実施の形態に係るレイアウト設計フローの一例を示す図（その１）である。
【図１１】第１の実施の形態に係るレイアウト設計フローの一例を示す図（その２）である。
【図１２】第１の実施の形態に係るレイアウト設計フローの一例を示す図（その３）である。
【図１３】第１の実施の形態に係るレイアウト設計の説明図である。
【図１４】第２の実施の形態に係る階層化処理の一例の説明図である。
【図１５】第２の実施の形態に係る階層化処理の内容を示すネットリストの一例を示す図（その１）である。
【図１６】第２の実施の形態に係る階層化処理の内容を示すネットリストの一例を示す図（その２）である。
【図１７】第２の実施の形態に係るレイアウト設計フローの一例を示す図（その１）である。
【図１８】第２の実施の形態に係るレイアウト設計フローの一例を示す図（その２）である。
【図１９】第２の実施の形態に係るレイアウト設計の説明図である。
【図２０】第３の実施の形態に係るクリップセル共有化処理の一例の説明図（その１）である。
【図２１】第３の実施の形態に係るクリップセル共有化処理の一例の説明図（その２）である。
【図２２】第３の実施の形態に係るクリップセル共有化処理の一例の説明図（その３）である。
【図２３】第３の実施の形態に係るレイアウト設計フローの一例を示す図（その１）である。
【図２４】第３の実施の形態に係るレイアウト設計フローの一例を示す図（その２）である。
【図２５】第３の実施の形態に係るレイアウト設計の第１変形例の説明図である。
【図２６】第３の実施の形態に係るレイアウト設計の第２変形例の説明図である。
【図２７】第３の実施の形態に係るレイアウト設計の第３変形例の説明図である。
【図２８】第３の実施の形態に係るレイアウト設計の第４変形例の説明図である。
【図２９】第３の実施の形態に係るレイアウト設計の第５変形例の説明図である。
【図３０】レイアウト設計装置のハードウェアの一構成例を示す図である。
【発明を実施するための形態】
【０００９】
図１はレイアウト設計方法の一例を示す図、図２はレイアウト設計装置の一構成例を示す図である。
レイアウト設計にあたっては、まずそれに先立ち、形成する半導体集積回路の仕様に基づく機能設計が行われる。そして、機能設計後の各機能についてのレジスタトランスファレベル（ＲＴＬ）設計、更にゲートレベル設計（論理設計）が行われ、セルとその接続情報（回路の情報）を含むネットリストが作成される。これらの各処理には、それぞれ適当な論理合成ＣＡＤ（Computer Aided Design）が利用される。
【００１０】
レイアウト設計では、このようにして作成されるネットリストを用いて、自動配置配線ツールを用いた装置（レイアウト設計装置（自動配置配線装置））を利用して配置配線を行う。そのようなレイアウト設計装置の一例を図２に示す。レイアウト設計装置を用いたレイアウト設計方法の流れを図１に示す。
【００１１】
図２に示すレイアウト設計装置１０００は、抽出部１０１０、生成部１０２０、第１配置部１０３０、及び第２配置部１０４０を含んでいる。レイアウト設計装置１０００の処理機能は、コンピュータによって実現することができる。
【００１２】
レイアウト設計装置１０００を用いたレイアウト設計では、まず、抽出部１０１０が、ネットリスト１０を用いて、第１回路の情報を含む第１セルと、その第１回路に接続される第２回路の情報を含む第２セルとを抽出する（ステップＳ１）。次いで、生成部１０２０が、抽出された第１セルと第２セルとを関連付けた関連付け情報を生成する（ステップＳ２）。そして、第１配置部１０３０が、生成されたその関連付け情報に基づき、第１セルと第２セルとを一体で配置する（ステップＳ３）。例えば、第１セルと第２セルを、隣接させた状態で、或いは１セルにブロック化した状態で、或いはまた一定の間隔を設けた状態で、配置する。配置後、第２配置部１０４０が、第１セルと第２セルの間の配線（結線）を行う（ステップＳ４）。
【００１３】
このように、結線される第１セルと第２セルとを一体で配置することで、それらの間を適切に配線することが可能になる。例えば、第１セルと第２セルの間を、迂回配線や他の配線とのショートを回避し、また、所定のタイミング条件や配線条件を満足させて、適切に配線することが可能になる。
【００１４】
上記レイアウト設計において、例えば、第１セルは、入力端子を“１”又は“０”にクリップされるセル（被クリップセル）とすることができる。第２セルは、被クリップセルと電源線の間に設ける、抵抗等の保護素子（保護回路）を含んだセル（クリップセル）とすることができる。
【００１５】
ここでクリップについて説明する。
図３はクリップの説明図である。図３（Ａ）〜（Ｃ）は被クリップセルの入力端子を“１”に固定する場合の説明図、図３（Ｄ）〜（Ｆ）は被クリップセルの入力端子を“０”に固定する場合の説明図である。尚、図３において、（Ａ）及び（Ｄ）は被クリップセルと電源線の直接接続の一例、（Ｂ）及び（Ｅ）は被クリップセルと電源線のクリップセルを介した接続の一例、（Ｃ）及び（Ｆ）はそれぞれ（Ｂ）及び（Ｅ）の回路図の一例である。
【００１６】
ここでは、“１”に相当する電位レベルを電源電位（ＶＤＤ）レベル、“０”に相当する電位レベルを接地電位（ＶＳＳ）レベルとしている。図３（Ａ）の場合、被クリップセル１は、その入力端子１ａ，１ｂのうち、例えば一方の入力端子１ａが、クリップ配線２ａによってＶＤＤレベルの電源線３ａに接続され、それにより、その入力端子１ａが“１”にクリップされた状態になっている。図３（Ｄ）の場合、被クリップセル１は、例えばその入力端子１ａが、クリップ配線２ａによってＶＳＳレベルの電源線３ｂに接続され、それにより、その入力端子１ａが“０”にクリップされた状態になっている。
【００１７】
尚、レイアウト設計上、このような一対の電源線３ａ，３ｂによって画定される領域は、いわゆるＲＯＷ領域とされ、被クリップセル１等のセルは、このようなＲＯＷ領域に配置される。
【００１８】
被クリップセル１に含まれる回路の、電圧変動に起因した誤動作や破壊を抑える観点から、図３（Ｂ），（Ｃ）及び図３（Ｅ），（Ｆ）に示すような、保護素子４ａを含むクリップセル４が、被クリップセル１に接続される。
【００１９】
被クリップセル１には、所定の回路１ｃ（ここでは一例としてＮＡＮＤゲート）が含まれ、入力端子１ａ（Ｉｎ１），１ｂ（Ｉｎ２）のうち、一方の入力端子１ａに、クリップセル４の保護素子４ａが接続される。保護素子４ａとしては、例えば、抵抗、ダイオード等を用いることができる。保護素子４ａは、ＶＤＤレベルの電源線３ａ又はＶＳＳレベルの電源線３ｂに接続される。
【００２０】
図３（Ｂ），（Ｃ）の場合、被クリップセル１の回路１ｃの入力端子１ａが、ＶＤＤレベルの電源線３ａに接続されたクリップセル４の保護素子４ａ（入力端子４ｂ）と、クリップ配線２ｂで接続されている。それにより、被クリップセル１の入力端子１ａが、保護素子４ａを介して、“１”にクリップされている。
【００２１】
図３（Ｅ），（Ｆ）の場合、被クリップセル１の回路１ｃの入力端子１ａが、ＶＳＳレベルの電源線３ｂに接続されたクリップセル４の保護素子４ａ（入力端子４ｂ）と、クリップ配線２ｂで接続されている。それにより、被クリップセル１の入力端子１ａが、保護素子４ａを介して、“０”にクリップされている。
【００２２】
ネットリスト１０には、例えばこのような被クリップセル１及びクリップセル４に関する情報が含まれる。
図４にネットリストの一例を示す。尚、図４（Ａ）はクリップセルに関する情報を含まないネットリストの一例、図４（Ｂ）はクリップセルに関する情報を含むネットリストの一例である。
【００２３】
図４（Ａ）に示すネットリスト１０ａは、図３（Ａ）及び図３（Ｄ）に示したような接続を示す。ネットリスト１０ａには、被クリップセル１（ＣＥＬＬ＿Ａ，インスタンス名ＩＮＳＴ＿Ａ＿１，ＩＮＳＴ＿Ａ＿２）が、その入出力（ＩＮ１，ＩＮ２，ＯＵＴ）の接続情報と共に記述されている。
【００２４】
図４（Ｂ）に示すネットリスト１０ｂは、図３（Ｂ），（Ｃ）（図３（Ｅ），（Ｆ））に示したような接続を示す。ネットリスト１０ｂには、被クリップセル１（ＣＥＬＬ＿Ａ）の入力（ＩＮ１）に、クリップセル４（ＣＬＩＰ＿１，ＣＬＩＰ＿０，インスタンス名ＣＬＩＰ＿１＿１，ＣＬＩＰ＿０＿１）のネット（ＣＬＩＰＮＥＴ１，ＣＬＩＰＮＥＴ０）に接続される情報が記述されている。
【００２５】
尚、ネットリスト１０ｂのような、被クリップセル１に関する情報のほか、クリップセル４に関する情報も含んだネットリストは、例えば、ゲートレベル設計時（論理合成時）にクリップセル４の情報も含めることで、取得することができる。
【００２６】
上記の例（図１，図２）の場合、レイアウト設計では、例えば図４（Ｂ）のようなネットリスト１０ｂが用いられ、被クリップセル１及びクリップセル４が、それらの接続情報に基づき、レイアウト設計装置１０００の抽出部１０１０によって抽出される。そして、抽出された被クリップセル１とクリップセル４を関連付けた関連付け情報（クリップ情報）が、レイアウト設計装置１０００の生成部１０２０によって生成される。クリップ情報は、データベース（クリップ情報テーブル）として、レイアウト設計装置１０００が備える記憶部に記憶される。
【００２７】
図５にクリップ情報テーブルの一例を示す。
例えば、この図５に示すように、被クリップセルのインスタンス名と、クリップされる端子名（被クリップ端子名）、及び被クリップセルに接続されるクリップセルのインスタンス名が、グループに分けられ、クリップ情報テーブル２０に格納される。図５には、上記図４（Ｂ）に示したようなネットリスト１０ｂを基に得られるクリップ情報テーブル２０を例示している。
【００２８】
この図５の例の場合、クリップ情報テーブル２０のグループ１（Ｇｒｏｕｐ１）は、インスタンス名ＩＮＳＴ＿Ａ＿１の被クリップセル１、被クリップ端子名ＩＮ１、インスタンス名ＣＬＩＰ＿１＿１のクリップセル４の組み合わせ（関連付け）を示す。グループ２（Ｇｒｏｕｐ２）は、インスタンス名ＩＮＳＴ＿Ａ＿２の被クリップセル１、被クリップ端子名ＩＮ１、インスタンス名ＣＬＩＰ＿０＿１のクリップセル４の組み合わせ（関連付け）を示す。
【００２９】
上記の例（図１，図２）の場合、レイアウト設計では、この図５に示したようなクリップ情報テーブル２０に含まれる情報に基づき、配置配線処理が行われる。即ち、接続される被クリップセルとクリップセル（一グループ内の被クリップセルとクリップセル）を、レイアウト設計装置１０００の第１配置部１０３０によって一体で配置（レイアウト）する。そして、一体で配置した被クリップセルとクリップセルの間に、レイアウト設計装置１０００の第２配置部１０４０によって配線（クリップ配線）を配置（結線）する。
【００３０】
このように、接続される被クリップセルとクリップセルの組を一体で配置することで、それらの間を繋ぐ配線を配置（結線）する際に生じ得る不具合を回避することが可能になる。
【００３１】
そこでまず、上記のような、接続される被クリップセルとクリップセルの組を一体で配置するための処理を行わない、別形態のレイアウト設計方法の一例について述べる。
図６及び図７は別形態のレイアウト設計方法の一例を示す図である。尚、図６（Ａ）はクリップセルに関する情報を含むネットリストを用いた場合のレイアウト設計フローの一例を示す図、図６（Ｂ）はクリップセルに関する情報を含まないネットリストを用いた場合のレイアウト設計フローの一例を示す図である。図７は図６（Ａ），（Ｂ）に含まれるタイミング修正の処理フローの一例を示す図である。
【００３２】
図６（Ａ），（Ｂ）及び図７に示すようなレイアウト設計フローにおける各ステップの処理は、レイアウト設計装置で実行される。
例えば、図６（Ａ）に示すレイアウト設計フローでは、まず、被クリップセル及びクリップセルに関する情報を含むネットリスト１０を用いて、ＲＯＷ領域に被クリップセル及びクリップセルが配置（初期配置）される（ステップＳ１０）。クリップされないセルがある場合には、そのセルも初期配置される。次いで、セル間を接続する配線が配置される（ステップＳ１１）。そして、タイミングチェックが行われ、所定のタイミング条件を満たすか否かが判定される（ステップＳ１２）。所定のタイミング条件を満たす場合には、配線チェックが行われ、配線がデザインルール等の条件を満たすか否かが判定される（ステップＳ１３）。配線が所定の条件を満たすと判定された場合には、レイアウト設計の処理が終了する。
【００３３】
ステップＳ１２のタイミングチェック時に、所定のタイミング条件を満たさなかった場合には、タイミング修正が行われる（ステップＳ１４）。タイミング修正は、レイアウト設計装置により、例えば、図７に示すようなフローに従って行われる。
【００３４】
タイミング修正の際には、図７に示すように、まず、レイアウト設計装置が備えるネットリスト１０、更に配置配線データ１１及びタイミングチェック情報１２のデータが読み込まれる（ステップＳ３０）。配置配線データ１１には、ステップＳ１０，Ｓ１１の処理で取得された、配置した被クリップセル及びクリップセル並びに配線のデータが含まれる。タイミングチェック情報１２には、クロックの周波数や波形等、回路のタイミングチェックに要するデータが含まれる。
【００３５】
読み込んだデータを基に、タイミング修正を要する一のセルについて、その駆動能力の変更が必要となる場合には（ステップＳ３２）、そのセルが駆動能力変更に対応したセルに置換され（ステップＳ３３）、置換されたセルが再配置される（ステップＳ３４）。置換されたセルの情報は、ネットリスト１０に格納され（タイミング修正後ネットリスト１０ｃ）、当該セルの再配置後のデータは、配置配線データ１１に格納される（タイミング修正後配置配線データ１１ａ）。
【００３６】
タイミング修正を要する一のセルについて、その駆動能力の変更が不要である場合には（ステップＳ３２）、適当な他の処理を経て（ステップＳ３５）、セルの再配置が行われる（ステップＳ３４）。処理後のセルの情報は、ネットリスト１０（タイミング修正後ネットリスト１０ｃ）に格納される。
【００３７】
このような処理が、ネットリスト１０内のタイミング修正を要する全ての箇所について実行され（ステップＳ３１）、全ての修正が完了すれば、タイミング修正の処理を終了する。
【００３８】
タイミング修正後は、図６（Ａ）に示したように、そのタイミング修正の結果に基づき、配線が修正され（ステップＳ１５）、その後、ステップＳ１２のタイミングチェックに戻り、ステップＳ１２以降の処理が実行される。また、ステップＳ１３の配線チェック時に、配線がデザインルール等の条件を満たさない場合も同様に、配線修正（ステップＳ１５）の後、ステップＳ１２以降の処理が実行される。
【００３９】
一方、図６（Ｂ）に示すレイアウト設計フローの場合には、クリップセルに関する情報を含まないネットリスト１０を用いて、被クリップセルが初期配置される（ステップＳ２０）。クリップされないセルがある場合には、そのセルも初期配置される。その後、クリップセルがネットリスト１０に挿入され、配置される（ステップＳ２１）。以後は、図６（Ａ）のステップＳ１１以降と同様の処理が実行される。
【００４０】
即ち、配線後（ステップＳ２２）、タイミングチェックが行われ（ステップＳ２３）、所定のタイミング条件を満たせば、配線チェックが行われる（ステップＳ２４）。配線が所定の条件を満たせば、レイアウト設計処理を終了する。ステップＳ２３で所定のタイミング条件を満たさなかった場合には、図７に示すようなフロー（配置配線データ１１にステップＳ２０〜Ｓ２２で取得されたデータを使用）に従ってタイミング修正が行われる（ステップＳ２５）。そして、タイミング修正の結果に基づき、配線が修正され（ステップＳ２６）、ステップＳ２３以降の処理が実行される。また、ステップＳ２４の配線チェック時に、配線が所定の条件を満たさない場合も同様に、配線修正（ステップＳ２６）の後、ステップＳ２３以降の処理が実行される。
【００４１】
この図６及び図７に示したような別形態のレイアウト設計フローを用いた場合には、以下に示すような状況が生じる可能性がある。図８及び図９は別形態のレイアウト設計フローを用いた場合の説明図である。
【００４２】
例えば、図６（Ａ），（Ｂ）のステップＳ１０，Ｓ２０に示した、ＲＯＷ領域８０への初期配置時には、必ずしも、図８のＰ１部にある被クリップセル３０（セルＡ（１））とクリップセル４０のように、接続対象のセル同士が隣接して配置されるとは限らない。図８のＰ２部にある被クリップセル３０（セルＡ（２））とクリップセル４０のように、間に他のセル５０（セルＢ）が配置されてしまう場合もある。
【００４３】
このＰ２部のような配置の場合には、被クリップセル３０とクリップセル４０の間を接続する配線（クリップ配線）を、セル５０の外側で、更に他のセルや配線の配置領域も避けて、配置する必要が生じる。このように配線を引き回すと、例えば、他の配線の経路が塞がれる、所定のタイミングやデザインルールの条件を満たさない、セルサイズ或いはチップサイズが大型化する、といったことが起こり得る。
【００４４】
また、図６（Ａ），（Ｂ）のステップＳ１４，Ｓ２５に示したタイミング修正後には、駆動能力変更の結果、被クリップセル３０のサイズが変更される場合がある。
例えば、初期配置では被クリップセル３０の両側にそれぞれ隣接してクリップセル４０及び他のセル５０が配置されていたとする。しかし、その後のタイミング修正で、その被クリップセル３０のサイズが大きくなり、そのままではセル５０にオーバーラップしてしまう場合を想定する。この場合、被クリップセル３０が、図９（Ａ）に示すように、大きな被クリップセル３０ａ（セルＡ−２）に置換される。そして、図９（Ｂ）に太矢印で示すように、その置換された被クリップセル３０ａが、セル５０とオーバーラップせず、配置済みの配線６１を避けるような、別のＲＯＷ領域８０に再配置される。
【００４５】
しかし、このとき、その再配置された被クリップセル３０ａに接続されるクリップセル４０は、再配置の対象とはされず、図９（Ｂ）に示したように、元の場所に留まる。このような配置関係にある状態から、被クリップセル３０ａとクリップセル４０の間に、最短距離でクリップ配線６０を配置しようとすると、図９（Ｃ）に示すように、他の配線６１とのショート７０を引き起こしてしまう。セル５０を含む他のセル、配線６１を含む他の配線の配置領域を避けてクリップ配線６０を配置すれば、配線引き回し（迂回配線）の結果、上記同様のことが起こり得る。即ち、他の配線の経路が塞がれる、所定のタイミングやデザインルールの条件を満たさない、セルサイズやチップサイズが大型化する、といったことが起こり得る。
【００４６】
尚、図８及び図９（Ａ）の例では、クリップセル４０が被クリップセル３０，３０ａと、同じＲＯＷ領域８０内に隣接して配置される場合を例示した。このほか、クリップセル４０と被クリップセル３０，３０ａが、異なるＲＯＷ領域８０に配置されて隣接している場合にも、上記同様のことが起こり得る。
【００４７】
これに対し、上記図１及び図２の例に従い、接続する被クリップセルとクリップセルを関連付け、それらを一体で初期配置すると、それらの間に別のセルが配置されるような状況（図８）を回避することが可能になる。また、初期配置後、被クリップセルの再配置時に、当該被クリップセルと共に、それに接続されるクリップセルも一体で再配置することが可能になり、配線引き回しによって生じ得る不具合（図９）を回避することが可能になる。
【００４８】
以下、レイアウト設計方法について、より詳細に説明する。
まず、第１の実施の形態について説明する。
図１０〜図１２は第１の実施の形態に係るレイアウト設計フローの一例を示す図である。
【００４９】
図１０〜図１２に示すようなレイアウト設計フローにおける各ステップの処理は、レイアウト設計装置で実行される。
レイアウト設計においては、レイアウト設計装置が、まず、図１０に示すように、ゲートレベル設計後に得られる、被クリップセル及びクリップセルに関する情報が含まれるネットリスト１０を用いて、クリップ接続解析を行う（ステップＳ４０）。レイアウト設計装置は、このステップＳ４０のクリップ接続解析を行うことにより、被クリップセルとそれに接続されるクリップセルとを関連付けた情報を含む、クリップ情報テーブル２０を生成する。このステップＳ４０のクリップ接続解析の処理は、例えば、図１１に示すようなフローに従って実行される。
【００５０】
クリップ接続解析では、レイアウト設計装置が、図１１に示すように、まずネットリスト１０の読み込みを行う（ステップＳ５０）。読み込み時には、ネットリスト１０から一部ずつ、例えば所定の記述ブロック単位で、読み込みが行われる。例えば、図４（Ｂ）に示したようなネットリスト１０ｂが読み込まれる。
【００５１】
レイアウト設計装置は、読み込んだネットリスト（一部）がクリップセルに関する情報を含むか否かを判定し（ステップＳ５１）、そのような情報が含まれない場合には、ステップＳ５０に戻り、改めてネットリストの読み込みを行う。
【００５２】
レイアウト設計装置は、ステップＳ５１において、読み込んだネットリスト（一部）がクリップセルに関する情報を含むと判定した場合、次のような処理を行う。即ち、レイアウト設計装置は、その読み込んだネットリストに含まれるクリップネット定義から、当該クリップセルの接続先となる被クリップセルの情報を抽出する（ステップＳ５２）。そして、互いに接続される関係となる、これらのクリップセル及び被クリップセルの組み合わせを、クリップ情報としてクリップ情報テーブル２０に格納する（ステップＳ５３）。
【００５３】
例えば、図４（Ｂ）に示したようなネットリスト１０ｂが読み込まれたときには、レイアウト設計装置は、クリップセルに関する情報を含むか否かをＣＬＩＰ＿１又はＣＬＩＰ＿０の記述で判定する（ステップＳ５１）。そして、そのクリップネット定義ＣＬＩＰＮＥＴ１又はＣＬＩＰＮＥＴ０の記述を基に、ＣＬＩＰ＿１又はＣＬＩＰ＿０の接続先となる被クリップセルＣＥＬＬ＿Ａを抽出する（ステップＳ５２）。このようにして、ネットリスト１０ｂから、接続されるクリップセルと被クリップセルが抽出され、それらのインスタンス名及び被クリップ端子名がクリップ情報として、クリップ情報テーブル２０に格納される（ステップＳ５３）。即ち、図５のように、Ｇｒｏｕｐ１，２としてそれぞれ、ＣＥＬＬ＿Ａのインスタンス名ＩＮＳＴ＿Ａ＿１，ＩＮＳＴ＿Ａ＿２、被クリップ端子名ＩＮ１，ＩＮ１、ＣＬＩＰ＿１，ＣＬＩＰ＿０のインスタンス名ＣＬＩＰ＿１＿１，ＣＬＩＰ＿０＿１が格納される。
【００５４】
レイアウト設計装置は、このようにしてクリップ情報テーブル２０を生成する。そして、レイアウト設計装置は、読み込んだネットリスト（一部）が最終行か否かを判定し（ステップＳ５４）、最終行と判定した場合には、クリップ接続解析の処理を終了する。レイアウト設計装置は、ステップＳ５４において、読み込んだネットリスト（一部）が最終行でないと判定した場合には、ステップＳ５０以降の処理を実行する。
【００５５】
このようなクリップ接続解析の処理後、レイアウト設計装置は、ネットリスト１０及びクリップ情報テーブル２０を用いて、被クリップセル及びクリップセルの初期配置を行う（ステップＳ４１）。クリップされないセルがある場合には、そのセルの初期配置も行われる。このステップＳ４１の初期配置時には、クリップ接続解析（図１１）によって取得されたクリップ情報テーブル２０を用いることにより、接続される被クリップセルとクリップセルとを隣接させて配置することが可能になる。
【００５６】
初期配置を行った後、レイアウト設計装置は、被クリップセルとクリップセルを繋ぐクリップ配線、所定のセル間を繋ぐ配線の配置を行う（ステップＳ４２）。その後、レイアウト設計装置は、タイミングチェックを行い、所定のタイミング条件を満たすか否かを判定する（ステップＳ４３）。レイアウト設計装置は、所定のタイミング条件を満たすと判定した場合には、配線チェックを行い、配線がデザインルール等の条件を満たすか否かを判定する（ステップＳ４４）。レイアウト設計装置は、配線が所定の条件を満たすと判定した場合、レイアウト設計の処理を終了する。
【００５７】
レイアウト設計装置は、ステップＳ４３のタイミングチェック時に、所定のタイミング条件を満たさないと判定した場合には、タイミング修正を行う（ステップＳ４５）。タイミング修正の処理は、例えば、図１２に示すようなフローに従って行われる。
【００５８】
タイミング修正の際、レイアウト設計装置は、図１２に示すように、まず、レイアウト設計装置が備えるネットリスト１０、更に配置配線データ１１及びタイミングチェック情報１２のデータを読み込む（ステップＳ６０）。配置配線データ１１には、ステップＳ４０〜Ｓ４２の処理で取得された、配置した被クリップセル及びクリップセル並びに配線のデータが含まれる。タイミングチェック情報１２には、クロックの周波数や波形等、回路のタイミングチェックに要するデータが含まれる。
【００５９】
レイアウト設計装置は、読み込んだデータを基に、タイミング修正を要する一のセルについて、その駆動能力の変更が必要か否かを判定する（ステップＳ６２）。レイアウト設計装置は、セルの駆動能力変更が必要と判定した場合には、そのセルを駆動能力変更に対応したセルに置換し（ステップＳ６３）、置換したセルをレイアウト上に再配置する（ステップＳ６４）。レイアウト設計装置は、置換したセルの情報を、ネットリスト１０に格納し（タイミング修正後ネットリスト１０ｃ）、当該セルの再配置のデータを、配置配線データ１１に格納する（タイミング修正後配置配線データ１１ａ）。
【００６０】
レイアウト設計装置は、タイミング修正を要する一のセルについて、その駆動能力の変更が不要と判定した場合には（ステップＳ６２）、配線の再配置やセル内容の変更等、適当な他の処理を行った後（ステップＳ６５）、その処理後のセルの再配置を行う（ステップＳ６４）。レイアウト設計装置は、処理後のセルの情報を、タイミング修正後ネットリスト１０ｃに格納する。
【００６１】
セルの再配置後、レイアウト設計装置は、その再配置したセルが被クリップセルか否かを判定する（ステップＳ６６）。レイアウト設計装置は、再配置したセルが被クリップセルであると判定した場合には、クリップ情報テーブル２０を参照し、その被クリップセルに関連付けられたクリップセル、即ちその被クリップセルに接続されるクリップセルを再配置する（ステップＳ６７）。このクリップセルの再配置の際、レイアウト設計装置は、そのクリップセルを、被クリップセルに隣接させて、再配置する。レイアウト設計装置は、クリップセルの再配置のデータを、タイミング修正後配置配線データ１１ａに格納する。
【００６２】
尚、クリップ情報テーブル２０では、被クリップセル及びクリップセルが、ネットリスト１０内のインスタンス名で関連付けられている。そのため、元の被クリップセルを、駆動能力変更に対応したセルに置換して再配置する場合でも、タイミング修正後ネットリスト１０ｃにおいてそのインスタンス名を変更しないようにすれば、接続されるクリップセルとの関連付けは変更されない。タイミング修正前に取得していたクリップ情報テーブル２０をそのまま利用し、置換及び再配置後の被クリップセルに接続されるクリップセルを再配置することが可能である。
【００６３】
一方、レイアウト設計装置は、ステップＳ６６において、再配置したセルが被クリップセルでないと判定した場合には、全ての修正が完了したか否かを判定する（ステップＳ６１）。レイアウト設計装置は、ステップＳ６７のクリップセル再配置後も同様に、全ての修正が完了したか否かを判定する（ステップＳ６１）。
【００６４】
レイアウト設計装置は、このような処理を、タイミング修正を要する全ての箇所について実行し、全ての修正が完了すれば、タイミング修正の処理を終了する。
レイアウト設計装置は、タイミング修正後、図１０に示したように、そのタイミング修正の結果に基づき、配線を修正し（ステップＳ４６）、その後、ステップＳ４３のタイミングチェックに戻り、ステップＳ４３以降の処理を実行する。また、レイアウト設計装置は、ステップＳ４４の配線チェック時に、配線が所定の条件を満たさないと判定した場合も同様に、配線修正（ステップＳ４６）の後、ステップＳ４３以降の処理を実行する。
【００６５】
この図１０〜図１２に示したようなレイアウト設計フローを用いることにより、レイアウト設計（配置配線処理）で生じ得る不具合を回避することが可能になる。
図１３は第１の実施の形態に係るレイアウト設計の説明図である。尚、図１３において、（Ａ）は初期配置時の状態の一例を示す図、（Ｂ）は駆動能力変更時の状態の一例を示す図、（Ｃ）は被クリップセル及びクリップセル再配置時の状態の一例を示す図、（Ｄ）はクリップ配線配置時の状態の一例を示す図である。
【００６６】
上記図１０〜図１２のレイアウト設計フローでは、レイアウト設計装置が、初期配置（ステップＳ４１）に先立ち、クリップ接続解析（ステップＳ４０，Ｓ５０〜Ｓ５４）を行い、クリップ情報テーブル２０を生成する。生成されるクリップ情報テーブル２０には、接続対象の被クリップセルとクリップセルとを関連付けた情報が含まれる。レイアウト設計装置は、まず、このようなクリップ情報テーブル２０を参照して初期配置を行う。
【００６７】
そのため、図１３（Ａ）に示すように、ＲＯＷ領域８０において、接続される被クリップセル３０（セルＡ）とクリップセル４０とが隣接して配置されるようになる。図１３（Ａ）の例では、他のセル５０（セルＢ）が被クリップセル３０に隣接して配置されている場合を図示している。初期配置時には、このような他のセル５０が、上記図８に示したように、接続される被クリップセル３０とクリップセル４０の間に配置されてしまうのを回避することが可能になっている。
【００６８】
このような初期配置後に行われる配線（ステップＳ４２）時には、被クリップセル３０とクリップセル４０の間を、セル外に引き回さず、短いクリップ配線で繋ぐことができる。その結果、配置したクリップ配線で他の配線の経路が塞がれてしまったり、所定のタイミングやデザインルールの条件を満たさなかったり、セルサイズやチップサイズが大型化したりする等の不具合の発生を回避することができる。
【００６９】
また、配線後のタイミング修正時（ステップＳ４５，Ｓ６０〜Ｓ６７）には、駆動能力変更に伴い（ステップＳ６２）、セルサイズが変更され（ステップＳ６３）、そのサイズ変更されたセルが別のＲＯＷ領域８０に再配置される（ステップＳ６４）場合がある。
【００７０】
例えば、まず、被クリップセル３０、クリップセル４０及び他のセル５０が初期配置された後、クリップ配線６０や他の配線６１が配置される。その後、被クリップセル３０が、図１３（Ｂ）に示すように、より大きなサイズの被クリップセル３０ａ（セルＡ−２）に変更される場合を想定する。
【００７１】
この場合、このままでは被クリップセル３０ａがセル５０にオーバーラップしてしまうため、図１３（Ｃ）に示すように、被クリップセル３０ａは、セル５０とオーバーラップせず、配線６１を避けるような、別のＲＯＷ領域８０に再配置される。レイアウト設計装置は、再配置するセルがこのような被クリップセル３０ａである場合には、クリップ情報テーブル２０を参照し、被クリップセル３０ａに接続されるクリップセル４０を、初期配置時と同様に、被クリップセル３０ａに隣接させて配置する。
【００７２】
このように被クリップセル３０ａ及びクリップセル４０を共に再配置した後は、図１３（Ｄ）に示すように、配線修正が行われる（ステップＳ４６）。被クリップセル３０ａとクリップセル４０を隣接させて再配置させているため、それらを繋ぐクリップ配線６０を、初期配置時と同様に、セル外に引き回さず、短い距離で、配置することができる。
【００７３】
尚、図１３の例では、初期配置時に、クリップセル４０と被クリップセル３０が、同じＲＯＷ領域８０に隣接して配置される場合を例示したが、上記処理の適用は、必ずしもこのような初期配置に限定されるものではない。レイアウト設計装置は、初期配置時に、クリップセル４０と被クリップセル３０を、それぞれ異なるＲＯＷ領域８０に、隣接させて配置することも可能もあり、このような場合にも、上記同様の処理を行うことができる。
【００７４】
次に、第２の実施の形態について説明する。
第２の実施の形態では、上記第１の実施の形態で述べたようなクリップ情報テーブル２０を用い、接続対象の被クリップセルとクリップセルの階層化（ブロック化、モジュール化）処理を行う。
【００７５】
図１４は第２の実施の形態に係る階層化処理の一例の説明図である。また、図１５及び図１６は第２の実施の形態に係る階層化処理の内容を示すネットリストの例である。尚、便宜上、図１５のネットリストでは、セルＡ、セルＡ’、クリップセルといった記述を含めている。
【００７６】
まず、図１４に示すＸ部（鎖線枠内の（Ａ）〜（Ｃ））の処理について述べる。
クリップ情報テーブル２０には、被クリップセルとクリップセルが関連付けられた情報が含まれている。配置処理（初期配置、再配置）時には、図１４（Ａ）に示すように、被クリップセル３０（セルＡ）とクリップセル４０が、隣接して配置される。図１５（Ａ）のネットリストには、このような被クリップセル３０（セルＡ）とクリップセル４０（クリップセル）の接続関係が記述されている。
【００７７】
第２の実施の形態では、このようにクリップ情報テーブル２０で関連付けられている被クリップセル３０とクリップセル４０を、図１４（Ｂ）に示すように、１つのモジュールセルと捉える（点線）。そして、図１４（Ｃ）に示すようなモジュールセル３０ｂ（セルＡ’）として、配置を行う。尚、ネットリスト上は、図１５（Ｂ）のように、セルＡ（被クリップセル３０）とクリップセル（クリップセル４０）を、上位論理階層のセルＡ’として扱うように記述される。更に、図１５（Ｃ）のように、当該セルＡ’が、セルＡ（被クリップセル３０）とクリップセル（クリップセル４０）で構成されることが併せて記述される。
【００７８】
図１５（Ｂ），（Ｃ）のネットリストは階層化ネットリストとして、また、それらの記述内容（セルＡ’とその構成）を示す情報は階層ブロック情報として、レイアウト設計装置が備える記憶装置等に記憶される。
【００７９】
このように上位論理階層化したモジュールセル３０ｂ（セルＡ’）は、配置後、最終的には、図１４（Ａ）に示す、元の論理階層の被クリップセル３０（セルＡ）とクリップセル４０に戻される（階層展開処理）。
【００８０】
続いて、図１４に示すＹ部（鎖線枠内の（Ａ）〜（Ｆ））の処理について述べる。
レイアウト設計において、図１４（Ｃ）のようなモジュールセル３０ｂ（セルＡ’）を配置した後に、タイミング修正により、そのモジュールセル３０ｂに含まれる被クリップセル３０（セルＡ）が、駆動能力変更に伴ってサイズが変更される場合を想定する。例えば、図１４（Ｄ）のように、被クリップセル３０（セルＡ）が、より大きなサイズの被クリップセル３０ａ（セルＡ−２）に変更されたものとする。
【００８１】
このような場合も、図１４（Ｄ）のように、被クリップセル３０ａとクリップセル４０を１つのモジュールセルと捉え（点線）、図１４（Ｅ）に示すようなモジュールセル３０ｃ（セルＡ−２’）として、配置を行う。尚、ネットリスト上は、図１６（Ａ）のように、セルＡ−２（被クリップセル３０ａ）とクリップセル（クリップセル４０）を、上位論理階層のセルＡ−２’として扱うように記述される。更に、図１６（Ｂ）のように、当該セルＡ−２’が、セルＡ−２（被クリップセル３０ａ）とクリップセル（クリップセル４０）で構成されることが併せて記述される。
【００８２】
図１６（Ａ），（Ｂ）のネットリストは階層化ネットリストとして、また、それらの記述内容（セルＡ−２’とその構成）を示す情報は階層ブロック情報として、それぞれレイアウト設計装置が備える記憶装置等に記憶される。
【００８３】
このように上位論理階層化したモジュールセル３０ｃ（セルＡ−２’）は、配置後、最終的には、図１４（Ｆ）に示す、元の論理階層の被クリップセル３０ａ（セルＡ−２）とクリップセル４０に戻される（階層展開処理）。この処理をネットリストで記述すると、図１６（Ｃ）のようになる。尚、図１４（Ａ）と図１４（Ｆ）は、被クリップセル３０と被クリップセル３０ａの駆動能力は異なるが、論理は等価である。
【００８４】
第２の実施の形態では、この図１４に示したような処理を行い、被クリップセルとクリップセルを隣接させて配置し、その後の配線時の不具合発生を回避する。
図１７及び図１８は第２の実施の形態に係るレイアウト設計フローの一例を示す図である。
【００８５】
図１７及び図１８に示すようなレイアウト設計フローにおける各ステップの処理は、レイアウト設計装置で実行される。
レイアウト設計装置は、まず、ネットリスト１０を用いて、クリップ接続解析を行い（ステップＳ７０）、クリップ情報テーブル２０を生成する。このステップＳ７０のクリップ接続解析の処理は、例えば、上記図１１に示したようなフローに従って実行される。
【００８６】
クリップ接続解析後、レイアウト設計装置は、ネットリスト１０及びクリップ情報テーブル２０を用いて、階層化処理を行う（ステップＳ７１）。即ち、レイアウト設計装置は、上記図１４（Ａ）〜（Ｃ）及び図１５（Ａ）〜（Ｃ）の例に従い、接続される被クリップセルとクリップセルを１つのモジュールセルとして扱えるように階層化処理を行う。そして、レイアウト設計装置は、階層化処理後に得られるネットリストを、階層化ネットリスト１０ｄに格納する。また、レイアウト設計装置は、階層化処理後に得られるモジュールセルの構成（いずれの被クリップセルとクリップセルで構成されているかを示す情報）を、階層ブロック情報２１に格納する。
【００８７】
このような階層化処理後、レイアウト設計装置は、取得した階層化ネットリスト１０ｄ及び階層ブロック情報２１を用いて、モジュールセルの初期配置を行う（ステップＳ７２）。クリップされないセル（階層化されていないセル）がある場合には、そのセルの初期配置も行われる。このステップＳ７２の初期配置時には、接続される被クリップセルとクリップセルが、１つのモジュールセルとして、配置される。
【００８８】
初期配置を行った後、レイアウト設計装置は、モジュールセル内の被クリップセルとクリップセルを繋ぐクリップ配線、所定のセル間を繋ぐ配線の配置を行う（ステップＳ７３）。その後、レイアウト設計装置は、タイミングチェックを行い、所定のタイミング条件を満たすか否かを判定する（ステップＳ７４）。レイアウト設計装置は、所定のタイミング条件を満たすと判定した場合には、配線チェックを行い、配線がデザインルール等の条件を満たすか否かを判定する（ステップＳ７５）。レイアウト設計装置は、配線が所定の条件を満たすと判定した場合には、階層展開処理を行う（ステップＳ７６）。
【００８９】
レイアウト設計装置は、このステップＳ７６の階層展開処理において、クリップ情報テーブル２０及び階層ブロック情報２１を用いて、配置したモジュールセルを、それを構成している被クリップセルとクリップセルに展開（復元）し、元の論理階層に戻す。レイアウト設計装置は、このようにして元の論理階層に展開されたネットリストを、階層展開ネットリスト１０ｅに格納し、レイアウト設計の処理を終了する。
【００９０】
レイアウト設計装置は、ステップＳ７４のタイミングチェック時に、所定のタイミング条件を満たさないと判定した場合には、タイミング修正を行う（ステップＳ７７）。タイミング修正の処理は、例えば、図１８に示すようなフローに従って行われる。
【００９１】
タイミング修正の際、レイアウト設計装置は、図１８に示すように、まず、ネットリスト１０、配置配線データ１１、タイミングチェック情報１２のデータを読み込む（ステップＳ８０）。レイアウト設計装置は、読み込んだデータを基に、タイミング修正を要する一のセルについて、その駆動能力の変更が必要か否かを判定する（ステップＳ８２）。レイアウト設計装置は、セルの駆動能力変更が必要と判定した場合には、そのセルがモジュールセルか否かを判定する（ステップＳ８３）。
【００９２】
レイアウト設計装置は、駆動能力変更が必要なセルがモジュールセルであると判定した場合には、階層ブロック情報２１を用い、そのモジュールセル内のセル（被クリップセル）を、駆動能力変更に対応したセルに変更する（ステップＳ８４）。レイアウト設計装置は、セル変更後のモジュールセルの構成を示す情報を、階層ブロック情報２１に格納する（ステップＳ８５）。そして、レイアウト設計装置は、階層ブロック情報２１を用い、セル変更前の元のモジュールセルを、セル変更後のモジュールセル（変更後モジュールセル）に置換し（ステップＳ８６）、その変更後モジュールセルをレイアウト上に再配置する（ステップＳ８７）。レイアウト設計装置は、置換したセルの情報を、ネットリスト１０に格納し（タイミング修正後ネットリスト１０ｃ）、当該セルの再配置のデータを、配置配線データ１１に格納する（タイミング修正後配置配線データ１１ａ）。
【００９３】
レイアウト設計装置は、駆動能力変更が必要なセルがモジュールセルでないと判定した場合には、そのセルを駆動能力変更に対応したセルに置換し（ステップＳ８８）、置換したセルをレイアウト上に再配置する（ステップＳ８７）。レイアウト設計装置は、置換したセルの情報を、タイミング修正後ネットリスト１０ｃに格納し、当該セルの再配置のデータを、タイミング修正後配置配線データ１１ａに格納する。
【００９４】
レイアウト設計装置は、ステップＳ８２において、タイミング修正を要する一のセルについて、その駆動能力の変更が不要と判定した場合には、配線の再配置やセル内容の変更等、適当な他の処理を行った後（ステップＳ８９）、その処理後のセルの再配置を行う（ステップＳ８７）。レイアウト設計装置は、処理後のセルの情報を、タイミング修正後ネットリスト１０ｃに格納する。
【００９５】
レイアウト設計装置は、このような処理を、タイミング修正を要する全ての箇所について実行し（ステップＳ８１）、全ての修正が完了すれば、タイミング修正の処理を終了する。
【００９６】
レイアウト設計装置は、タイミング修正後、図１７に示したように、そのタイミング修正の結果に基づき、配線を修正し（ステップＳ７８）、その後、ステップＳ７４のタイミングチェックに戻り、ステップＳ７４以降の処理を実行する。また、レイアウト設計装置は、ステップＳ７５の配線チェック時に、配線が所定の条件を満たさないと判定した場合も同様に、配線修正（ステップＳ７８）の後、ステップＳ７４以降の処理を実行する。
【００９７】
この図１７及び図１８に示したようなレイアウト設計フローを用いることにより、配置配線処理時の不具合の発生を回避することが可能になる。
図１９は第２の実施の形態に係るレイアウト設計の説明図である。尚、図１９において、（Ａ）は初期配置時の状態の一例を示す図、（Ｂ）は駆動能力変更時の状態の一例を示す図、（Ｃ）はモジュールセル再配置時の状態の一例を示す図、（Ｄ）は階層展開処理時の状態の一例を示す図である。
【００９８】
上記図１７及び図１８のレイアウト設計フローでは、レイアウト設計装置が、初期配置（ステップＳ７２）に先立ち、クリップ接続解析（ステップＳ７０，Ｓ５０〜Ｓ５４）及び階層化処理（ステップＳ７１）を行う。レイアウト設計装置は、これによりクリップ情報テーブル２０及び階層ブロック情報２１を生成し、これらの情報を用いて、初期配置を行う。
【００９９】
図１９（Ａ）に示すように、ＲＯＷ領域８０には、モジュールセル３０ｂ（セルＡ’）が配置され、他のセル５０（セルＢ）は、モジュールセル３０ｂの外部に配置される。その結果、モジュールセル３０ｂ内のセル間を短いクリップ配線で繋ぐことが可能になり、配線引き回しに起因する不具合の発生を回避することが可能になる。
【０１００】
また、配線後のタイミング修正時（ステップＳ７７，Ｓ８０〜Ｓ８９）には、駆動能力変更に伴ってモジュールセル３０ｂ内のセルのサイズが変更され、図１９（Ｂ）に示すように、より大きなモジュールセル３０ｃ（セルＡ−２’）に変更される場合がある。そのままではモジュールセル３０ｃがセル５０にオーバーラップしてしまうため、図１９（Ｃ）に示すように、モジュールセル３０ｃは、セル５０とオーバーラップせず、配線６１を避けるような、別のＲＯＷ領域８０に再配置される。その後、階層展開処理が行われることで、別のＲＯＷ領域８０に再配置されたモジュールセル３０ｃが、図１９（Ｄ）に示すように、被クリップセル３０とクリップセル４０に展開される。
【０１０１】
このように、被クリップセル３０とクリップセル４０を１つのモジュールセル３０ｃとして扱い、再配置後に展開することで、引き回さずにクリップ配線６０を配置することができ、配線引き回しに起因する不具合の発生を回避することができる。
【０１０２】
尚、この第２の実施の形態では、同じＲＯＷ領域８０に配置されたクリップセル４０と被クリップセル３０，３０ａ、更にモジュールセル３０ｂ，３０ｃを例示したが、上記処理の適用は、必ずしもこのような初期配置に限定されるものではない。レイアウト設計装置は、初期配置時に、クリップセル４０と被クリップセル３０を、それぞれ異なるＲＯＷ領域８０に、隣接させて配置することも可能であり、このような場合にも、それらに対して上記のような階層化処理を行い、配置配線処理を行うこともできる。
【０１０３】
次に、第３の実施の形態について説明する。
第３の実施の形態では、上記第１の実施の形態で述べたようにクリップ情報テーブル２０を用いて接続対象の被クリップセルとクリップセルの組を複数配置した後、所定の条件を満たす幾つかの組については、クリップセルを共有化する処理を行う。
【０１０４】
図２０〜図２２はそれぞれ、第３の実施の形態に係るクリップセル共有化処理の一例の説明図である。
図２０（Ａ）には、上記第１の実施の形態同様、クリップ情報テーブル２０を用いて初期配置を行うことにより、複数の被クリップセル３１，３２，３３，３４及びクリップセル４１，４２，４３，４４がＲＯＷ領域８０に配置された状態を例示している。クリップ情報テーブル２０では、被クリップセル３１（セルＡ）とクリップセル４１が関連付けられている。同様に、クリップ情報テーブル２０では、被クリップセル３２（セルＢ）とクリップセル４２、被クリップセル３３（セルＣ）とクリップセル４３、被クリップセル３４（セルＤ）とクリップセル４４が、それぞれ関連付けられている。このようなクリップ情報テーブル２０を用いることで、図２０（Ａ）のような初期配置が得られるようになる。
【０１０５】
このように複数の被クリップセル３１，３２，３３，３４及びクリップセル４１，４２，４３，４４が配置された場合に、この第３の実施の形態では、所定のクリップセル共有化ルールに基づき、クリップセル４１，４２，４３，４４のうち、幾つかを共有化する。
【０１０６】
クリップセル共有化ルールとしては、次のようなものを用いることができる。例えば、図２０（Ｂ）に示すように、各被クリップセル３１，３２，３３，３４から所定距離の範囲（共有化対象領域）Ｒ１，Ｒ２，Ｒ３，Ｒ４を設定する。そして、共有化対象領域Ｒ１，Ｒ２，Ｒ３，Ｒ４が重なる被クリップセル、この例では被クリップセル３１，３２，３３を、クリップセル共有化の対象にする。即ち、これら共有化対象の被クリップセル３１，３２，３３にそれぞれ接続されるクリップセル４１，４２，４３を、図２０（Ｃ）のように、１つのクリップセル（共有クリップセル）４０ａに置き換える。この共有クリップセル４０ａを、３つの被クリップセル３１，３２，３３で共有するようにする（点線矢印は共有クリップセル４０ａの接続先を表す）。
【０１０７】
共有クリップセル４０ａは、例えば、クリップセル４１，４２，４３のいずれかを選択してそれを共有クリップセル４０ａとして配置し、残りを消去することによって、生成することができる。また、クリップセル４１，４２，４３を全て消去し、改めて共有クリップセル４０ａを配置するようにしてもよい。
【０１０８】
共有クリップセル４０ａは、これを共有する被クリップセル３１，３２，３３の間の領域、例えば、被クリップセル３１，３２，３３の中心付近の領域（いずれの被クリップセル３１，３２，３３からも同程度の距離の領域）に、配置することができる。
【０１０９】
また、共有クリップセル４０ａは、初期配置後の一のクリップセルから、共有対象の被クリップセルにクリップ配線を繋いだ時に、そのクリップ配線（総延長）が最短になるクリップセルを選択し、残りを消去することによって、生成してもよい。このような例について、図２１を参照して説明する。
【０１１０】
図２１の例では、クリップセル４３から被クリップセル３１，３２（セルＡ，Ｂ）にクリップ配線（点線矢印はクリップセル４３の接続先を表す）を繋いだ時に、その総延長が、その他の組み合わせの場合に比べて短くなるものとする。この場合、クリップセル４３を初期配置後の領域にそのまま残し、これを共有クリップセル４０ａとして用いる。被クリップセル３１，３２に対応した残りのクリップセル４１，４２は消去される。
【０１１１】
尚、図２０及び図２１の例において、共有化対象外の被クリップセル３４（セルＤ）については、初期配置後の領域にそのまま残し、対応するクリップセル４４と隣接させて配置した状態を維持する（点線矢印はクリップセル４４の接続先を表す）。
【０１１２】
上記のように、複数の被クリップセルで共有する共有クリップセルを設け、複数のクリップセルのうち幾つかを消去して削減することで、セル及び配線の配置が可能な領域の面積増加を図ることが可能になる。
【０１１３】
クリップセルを共有化する被クリップセルの選択にあたっては、上記のような共有化対象領域の条件と共に、配線混雑度を考慮するようにしてもよい。このような配線混雑度を考慮する例について、図２２を参照して説明する。尚、図２２（Ａ）は被クリップセルの初期配置後の一例（クリップセルは図示を省略）、図２２（Ｂ）は共有クリップセルの配置後の一例を示す図である。
【０１１４】
図２２の例では、図２２（Ａ）に示すように、鎖線で区切られた２つの領域（分割領域）ＡＲ１，ＡＲ２のうち、一方の分割領域ＡＲ１の配線混雑度が４０％、もう一方の分割領域ＡＲ２の配線混雑度が６０％であるものとしている。分割領域ＡＲ１，ＡＲ２は、予め任意の範囲に設定しておくことができる。配線混雑度は、例えば、そのような任意の分割領域ＡＲ１，ＡＲ２に配置される全配線経路の長さ又は面積に対する、同領域を通る全配線の長さ又は面積の比率で、表すことができる。
【０１１５】
このような分割領域の配線混雑度を考慮し、配線混雑度が一定値（閾値）を越える場合には、その分割領域に存在する被クリップセルを、クリップセル共有化の対象外とする。
例えば、配線混雑度の閾値を５０％とした場合、図２２（Ａ）に示した、配線混雑度６０％の分割領域ＡＲ２に存在する被クリップセル３２，３４が、クリップセル共有化の対象外となる。即ち、図２２（Ｂ）に示すように、分割領域ＡＲ１の被クリップセル３１，３３（セルＡ，Ｃ）がクリップセル共有化の対象になり、それらの間に共有クリップセル４０ａが配置される（点線矢印は共有クリップセル４０ａの接続先を表す）。分割領域ＡＲ２の被クリップセル３２，３４（セルＢ，Ｄ）は、クリップセル共有化の対象外になるため、それぞれ対応するクリップセル４２，４４と隣接させて配置した状態が維持される（点線矢印はクリップセル４２，４４の接続先を表す）。
【０１１６】
上記図２０の例では、所定の共有化対象領域Ｒ１，Ｒ２，Ｒ３，Ｒ４に基づき、クリップセル共有化の対象を被クリップセル３１，３２，３３とした。更に配線混雑度を考慮した場合には、図２２の例のように、クリップセル共有化の対象が被クリップセル３１，３３になる。配線混雑度を考慮することにより、クリップ配線引き回しの発生リスクの低減を図ることが可能になる。
【０１１７】
上記のようなクリップセル共有化の処理を含むレイアウト設計フローについて、次の図２３及び図２４を参照して説明する。尚、ここでは、共有化対象領域及び配線混雑度を考慮したレイアウト設計フローを例にして説明する。
【０１１８】
図２３及び図２４は第３の実施の形態に係るレイアウト設計フローの一例を示す図である。
図２３及び図２４に示すようなレイアウト設計フローにおける各ステップの処理は、レイアウト設計装置で実行される。
【０１１９】
レイアウト設計装置は、まず、ネットリスト１０を用いて、クリップ接続解析を行い（ステップＳ１００）、クリップ情報テーブル２０を生成する。このステップＳ１００のクリップ接続解析の処理は、例えば、上記図１１に示したようなフローに従って実行される。
【０１２０】
クリップ接続解析後、レイアウト設計装置は、ネットリスト１０及びクリップ情報テーブル２０を用いて、被クリップセル及びクリップセルの初期配置を行う（ステップＳ１０１）。クリップされないセルがある場合には、そのセルの初期配置も行われる。このステップＳ１０１の初期配置時には、クリップ情報テーブル２０が用いられることで、接続される被クリップセルとクリップセルとが隣接して配置される。
【０１２１】
初期配置を行った後、レイアウト設計装置は、被クリップセルとクリップセルを繋ぐクリップ配線、所定のセル間を繋ぐ配線の配置を行う（ステップＳ１０２）。レイアウト設計装置は、このステップＳ１０２で配置した配線に関する情報を、配線混雑度情報１３に格納する。配線混雑度情報１３に格納される、配置した配線に関する情報は、配線混雑度の決定に利用される。
【０１２２】
配線配置後、レイアウト設計装置は、タイミングチェックを行い、所定のタイミング条件を満たすか否かを判定する（ステップＳ１０３）。レイアウト設計装置は、所定のタイミング条件を満たすと判定した場合には、配線チェックを行い、配線がデザインルール等の条件を満たすか否かを判定する（ステップＳ１０４）。レイアウト設計装置は、配線が所定の条件を満たすと判定した場合、レイアウト設計の処理を終了する。
【０１２３】
レイアウト設計装置は、ステップＳ１０３のタイミングチェック時に、所定のタイミング条件を満たさないと判定した場合には、タイミング修正を行う（ステップＳ１０５）。このステップＳ１０５のタイミング修正の処理は、例えば、上記図１２に示したようなフローに従って行われる。
【０１２４】
レイアウト設計装置は、タイミング修正後、クリップセル共有化処理を行う（ステップＳ１０６）。このステップＳ１０６のクリップセル共有化処理は、例えば、図２４に示すようなフローに従って行われる。ここでは、所定の共有化対象領域を指定し（図２０，図２１）、更に配線混雑度を考慮して（図２２）、クリップセル共有化の対象とする被クリップセルを選択する場合を例に、クリップセル共有化処理のフローを説明する。
【０１２５】
図２４に示すクリップセル共有化処理では、まず、レイアウト設計装置が、ネットリスト１０及びクリップ情報テーブル２０を用い、クリップセル共有化ルール１４に従い、共有化対象領域を設定する（ステップＳ１１０）。
【０１２６】
例えば、ｘｙ座標系のセル配置領域に配置されている各被クリップセルから、それぞれｘ方向及びｙ方向にｎ（任意の値（距離））の範囲を設定する。このようにして設定される範囲が共有化対象領域となる。ｎの値は、レイアウト設計装置のユーザによって予め設定され、クリップセル共有化ルール１４に格納される。クリップセル共有化ルール１４には、ｎの値のほか、範囲設定のルール（被クリップセルのどこからｎの範囲を設定するか等）が格納されていてもよい。レイアウト設計装置は、例えば、各被クリップセルのエッジから所定のｎの範囲を指定し、その範囲を共有化対象領域として設定する。
【０１２７】
次いで、レイアウト設計装置は、設定した共有化対象領域が重なる被クリップセルを抽出し、共有化対象領域が重なる被クリップセル同士をグループ化する（ステップＳ１１２）。このように共有化対象領域が重なる被クリップセルを抽出し、グループ化するといったルールは、クリップセル共有化ルール１４に格納される。レイアウト設計装置は、このようなクリップセル共有化ルール１４を用い、所定の被クリップセルを抽出し、グループ化する。レイアウト設計装置は、抽出し、グループ化した、共有化対象の被クリップセルの情報（共有化対象情報）を、共有化対象データベース（ＤＢ）１５に格納する。
【０１２８】
更に、レイアウト設計装置は、配線混雑度情報１３を用い、配線混雑度が閾値ｍを越える領域に配置されている被クリップセルを除外する（ステップＳ１１３）。配線混雑度情報１３には、上記ステップＳ１０２で配置された配線に関する情報のほか、レイアウト設計装置のユーザによって予め設定された閾値ｍ、配線混雑度を求める領域（分割領域）或いは領域設定のルール、配線混雑度の算出式等の情報が格納される。レイアウト設計装置は、このような配線混雑度情報１３を用いて、所定の被クリップセルを除外する。
【０１２９】
配線混雑度によって除外するか否かの対象となる被クリップセルは、配置されている全ての被クリップセルとする。即ち、上記ステップＳ１１２で抽出され、グループ化された被クリップセルも、除外するか否かの対象となり、グループ化された被クリップセルのいずれかが除外対象となった場合には、当該グループから当該除外対象の被クリップセルが除かれる。レイアウト設計装置は、ステップＳ１１２で取得された共有化対象情報から、配線混雑度に基づいて所定の被クリップセルを除外した情報を、共有化対象ＤＢ１５に格納する。
【０１３０】
レイアウト設計装置は、これらステップＳ１１２，Ｓ１１３の処理を、配置した全ての被クリップセルについて実行する（ステップＳ１１１）。
その後、レイアウト設計装置は、共有化対象のグループについてそれぞれ、共有化対象ＤＢ１５を用い、共有化対象の被クリップセルに対応したクリップセルを消去する（ステップＳ１１５）。クリップセルは、例えば、共有化対象の被クリップセルのうち１つに対応するクリップセルを除いた、残りのクリップセルを消去する。或いは、共有化対象の被クリップセルに対応する全てのクリップセルを消去する。
【０１３１】
次いで、ネットリストにおいて、共有化対象の被クリップセルで共有されることとなるクリップセル（共有クリップセル）の情報（接続先のセル等）の挿入、及びクリップ配線の情報（接続先のセルとの接続情報等）の修正を行う（ステップＳ１１６）。そして、その挿入した共有クリップセルをレイアウト上に配置する（ステップＳ１１７）。このようにして共有化対象の被クリップセルに対応していたクリップセルを、共有クリップセルに置換する。共有クリップセルは、例えば、共有化対象の被クリップセル間の領域（図２０（Ｃ），図２２（Ｂ））、いずれかの被クリップセルの隣接領域（図２１）に配置することができる。共有クリップセルを配置した後は、レイアウト上でクリップ配線の接続（配置）の修正を行う（ステップＳ１１８）。レイアウト設計装置は、このステップＳ１１８まで行って取得された情報を、クリップセル共有化ネットリスト１０ｆに格納する。
【０１３２】
レイアウト設計装置は、これらステップＳ１１５〜Ｓ１１８の処理を、共有化対象の全てのグループについて実行し（ステップＳ１１４）、クリップセル共有化処理を終了する。
【０１３３】
クリップセル共有化処理後、レイアウト設計装置は、図２３に示したように、上記のタイミング修正（ステップＳ１０５）、クリップセル共有化処理（ステップＳ１０６）の結果に基づき、配線を修正する（ステップＳ１０７）。その後、レイアウト設計装置は、ステップＳ１０３のタイミングチェックに戻り、ステップＳ１０３以降の処理を実行する。また、レイアウト設計装置は、ステップＳ１０４の配線チェック時に、配線が所定の条件を満たさないと判定した場合も同様に、配線修正（ステップＳ１０７）の後、ステップＳ１０３以降の処理を実行する。
【０１３４】
このようなレイアウト設計フローを用いることにより、配置配線処理時の不具合の発生を回避することが可能になる。
以上、所定の共有化対象領域を指定し、更に配線混雑度を考慮して、クリップセル共有化の対象とする被クリップセルを選択する処理を含む、レイアウト設計方法について説明した。このほか、レイアウト設計においては、以下のような条件を考慮して、クリップセル共有化の対象とする被クリップセルを選択することもできる。
【０１３５】
図２５は第３の実施の形態に係るレイアウト設計の第１変形例の説明図である。
レイアウト設計装置では、例えば、ＣＰＦ（Common Power Format）、ＵＰＦ（Unified Power Format）といったフォーマットで規定されるパワードメイン（Power Domain）が設定される。各セルは、それに適用される電源電圧の情報に基づき、電源電圧ごとに分類され設定されたパワードメインに、それぞれ配置され、配線される。
【０１３６】
第１変形例では、このようなパワードメインを、クリップセル共有化の対象とする被クリップセルの選択に利用する。
図２５には、２種類のパワードメインＰＤ１，ＰＤ２が設定されている場合を例示している。例えば、パワードメインＰＤ１は電源電圧１．０Ｖの領域、パワードメインＰＤ２は電源電圧１．１Ｖの領域である。図２５（Ａ）は初期配置時の状態の一例を示す図であり、この例では、被クリップセル３１（セルＡ）とクリップセル４１が隣接し、被クリップセル３２（セルＢ）とクリップセル４２が隣接して、パワードメインＰＤ１内のＲＯＷ領域８０に配置されている。また、図２５（Ａ）の例では、初期配置時に、被クリップセル３３（セルＣ）とクリップセル４３が隣接して、パワードメインＰＤ２内のＲＯＷ領域８０に配置されている。
【０１３７】
レイアウト設計装置は、図２５（Ａ）に示したような初期配置の状態から、上記のように、各被クリップセル３１，３２，３３に対して所定の共有化対象領域を指定して、或いは更に配線混雑度を考慮して、クリップセル共有化処理を行う。その結果、図２５（Ａ）に示した全ての被クリップセル３１，３２，３３がクリップセル共有化の対象（グループ）になったものとする。
【０１３８】
この第１変形例では、更に、パワードメインが異なる被クリップセルを、クリップセル共有化の対象外とする。即ち、図２５（Ｂ）に示すように、パワードメインＰＤ１内の被クリップセル３１，３２（セルＡ，Ｂ）はそのままクリップセル共有化の対象とする一方、異なるパワードメインＰＤ２内の被クリップセル３３（セルＣ）をクリップセル共有化の対象外とする。
【０１３９】
このような処理の内容（ルール）は、クリップセル共有化ルール１４に格納しておくことができる。このような処理は、例えば、上記図２４のクリップセル共有化処理フローにおけるステップＳ１１３に替えて若しくはステップＳ１１３の前又は後に、行う（その処理結果を共有化対象ＤＢ１５に反映させる）ことが可能である。或いはまた、ステップＳ１１０の処理に先立って行うことも可能である。
【０１４０】
レイアウト設計装置は、クリップセル共有化の対象である、パワードメインＰＤ１内の被クリップセル３１，３２については、例えばそれらの間の領域に、共有クリップセル４０ａを配置し、クリップ配線を配置する。レイアウト設計装置は、クリップセル共有化の対象外とされた、パワードメインＰＤ２内の被クリップセル３３については、クリップセル共有化の対象でない他の被クリップセルと同様に、対応するクリップセル４３を隣接させて配置し、クリップ配線を配置する。
【０１４１】
このようなクリップセル共有化処理を含むレイアウト設計方法を用いることによっても、クリップセル数の減少を図ることが可能になる。
図２６は第３の実施の形態に係るレイアウト設計の第２変形例の説明図である。
【０１４２】
レイアウト設計装置では、クリップセル共有化の対象とする被クリップセルの数に上限値を設定しておくこともできる。
例えば、所定の共有化対象領域を指定する方法、或いはそれに配線混雑度やパワードメインに基づくセルの選択を加えた方法によって、図２６（Ａ）に示す３つの被クリップセル３１，３２，３３（セルＡ，Ｂ，Ｃ）がクリップセル共有化の対象になったものとする。その場合、１つの共有クリップセル４０ａが３つの被クリップセル３１，３２，３３に共有されるようになる。
【０１４３】
この第２変形例では、１つの共有クリップセル４０ａに接続することのできる被クリップセルの数に、例えば２つまでといったように、上限値を設定しておく。そして、クリップセル共有化の対象（グループ）に入っている被クリップセルの数が、上限値を越えるか否かを判定し、上限値を越える場合には、上限値以内に収まるように、いずれかの被クリップセルをクリップセル共有化の対象外とする。
【０１４４】
いずれの被クリップセルをクリップセル共有化の対象外とするかは、例えば、配置した共有クリップセル４０ａから最も遠いものを対象外とすることができる。或いは、対象外とする被クリップセルの候補を除いた残りの被クリップセルについて、共有クリップセル４０ａを所定領域に配置した場合に、クリップ配線の総延長が最短になるもの等を対象外とすることもできる。
【０１４５】
例えば、上限値が２つである場合、図２６（Ｂ）の例では、３つの被クリップセル３１，３２，３３（セルＡ，Ｂ，Ｃ）のうち、被クリップセル３１をクリップセル共有化の対象外としている。
【０１４６】
このような処理の内容（ルール）は、クリップセル共有化ルール１４に格納しておくことができる。このような処理は、例えば、上記図２４のクリップセル共有化処理フローにおけるステップＳ１１８の処理の後に、行うことが可能である。また、この第２変形例で述べたような処理を、上記第１変形例で述べたような処理と組み合わせて行うことも可能である。
【０１４７】
レイアウト設計装置は、クリップセル共有化の対象である被クリップセル３２，３３については、共有クリップセル４０ａを配置し、クリップ配線を配置する。レイアウト設計装置は、クリップセル共有化の対象から外された被クリップセル３１については、対応するクリップセル４１を隣接させて配置し、クリップ配線を配置する。
【０１４８】
このようなクリップセル共有化処理を含むレイアウト設計方法を用いることによっても、クリップセル数の減少を図ることが可能になる。
図２７は第３の実施の形態に係るレイアウト設計の第３変形例の説明図である。
【０１４９】
レイアウト設計装置は、被クリップセル３１，３２，３３（セルＡ，Ｂ，Ｃ）で共有クリップセル４０ａを共有する場合、例えば図２７（Ａ）に点線で示すように、共有クリップセル４０ａを、被クリップセル３１，３２，３３の中心付近の領域ＡＲ３に配置する。レイアウト設計装置では、このような領域ＡＲ３に一旦配置された共有クリップセル４０ａを、他のセルや配線が配置される関係で、そのような領域ＡＲ３に配置できなくなった場合には、別の場所に移動する処理を行うことができる。
【０１５０】
図２７（Ａ）の例では、他のセル５０の配置によって領域ＡＲ３に配置できなくなった共有クリップセル４０ａを、被クリップセル３１，３２と同じＲＯＷ領域８０に残る空き領域に移動（再配置）させている。しかし、このように共有クリップセル４０ａを領域ＡＲ３から移動させたことで、共有クリップセル４０ａと被クリップセル３３（セルＣ）とを繋ぐ（再配置される）クリップ配線６０が長くなってしまう。
【０１５１】
この第３変形例では、共有クリップセル４０ａを移動させる処理を行う場合に、その移動に伴って再配置されるクリップ配線６０の長さについて閾値を設定する。そして、再配置したクリップ配線６０の長さが閾値を越えるか否かを判定し、閾値を越える場合には、そのクリップ配線６０で接続される被クリップセル、この例では被クリップセル３３を、クリップセル共有化の対象外とする。この場合、図２７（Ｂ）に示すように、被クリップセル３３には、クリップセル４３が隣接して配置され、それらの間を繋ぐクリップ配線が別途配置される。
【０１５２】
クリップ配線長の閾値には、例えば、共有クリップセル４０ａの再配置前に配置されたクリップ配線の長さに対する、共有クリップセル４０ａの再配置後に配置されるクリップ配線の長さの比を用いることができる。
【０１５３】
また、ここでは再配置されるクリップ配線の長さについて閾値を設定する場合を例示したが、長さに替え、配線容量について閾値を設定し、その閾値に基づき、被クリップセルをクリップセル共有化の対象外とするか否かを判定するようにしてもよい。
【０１５４】
このような処理の内容（ルール）は、クリップセル共有化ルール１４に格納しておくことができる。このような処理は、例えば、上記図２４のクリップセル共有化処理フローにおけるステップＳ１１８の処理後で、共有クリップセル４０ａの移動を行った場合に、行うことが可能である。また、この第３変形例で述べたような処理を、上記第１変形例及び第２変形例で述べたような処理と組み合わせて行うことも可能である。
【０１５５】
このようなクリップセル共有化処理を含むレイアウト設計方法を用いることによっても、クリップセル数の減少を図ることが可能になる。
図２８は第３の実施の形態に係るレイアウト設計の第４変形例の説明図である。尚、図２８では、各被クリップセルに対応するクリップセルの図示は省略している。
【０１５６】
レイアウト設計装置では、例えば、セル配置領域が一定範囲ごとに分割された領域、いわゆるグローバルエリアが設定され、各セルは、グローバルエリアごとに配置され、配線される。尚、このようなグローバルエリアは、例えば、レイアウト設計装置によって任意に設定されたり、レイアウト設計装置のユーザによって任意に設定されたりする。
【０１５７】
第４変形例では、このようなグローバルエリアを、クリップセル共有化の対象とする被クリップセルの選択に利用する。
例えば、図２８（Ａ）の例では、初期配置時に、あるセル配置領域１００が一定範囲ごとに分割されたグローバルエリア１０１のうち、中央のグローバルエリア１０１に、３つの被クリップセル３１，３２，３３（セルＡ，Ｂ，Ｃ）が配置されている。そして、そのグローバルエリア１０１の周囲にあるグローバルエリア１０１のうちの３つに、それぞれ被クリップセル３４，３５，３６（セルＤ，Ｅ，Ｆ）が配置されている。
【０１５８】
レイアウト設計装置は、個々のグローバルエリア１０１に含まれる被クリップセルを、クリップセル共有化の対象とする。図２８（Ａ）の例では、中央のグローバルエリア１０１（太線で図示）に含まれる被クリップセル３１，３２，３３（セルＡ，Ｂ，Ｃ）が、クリップセル共有化の対象になる。
【０１５９】
尚、ここでは、１つのグローバルエリア１０１に含まれる被クリップセルをクリップセル共有化の対象にするようにしたが、複数のグローバルエリア１０１に含まれる被クリップセルをクリップセル共有化の対象にするようにしてもよい。
【０１６０】
例えば、図２８（Ｂ）の例において、全てのグローバルエリア１０１に含まれる被クリップセル３１，３２，３３，３４，３５，３６（セルＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ）を、クリップセル共有化の対象にすることもできる。更に、それら被クリップセル３１〜３６の間の領域に共有クリップセル４０ａを配置する場合に、共有クリップセル４０ａからグローバルエリア１０１が２個までの範囲（太線で図示）の被クリップセル３１〜３３を、クリップセル共有化の対象に変更してもよい。
【０１６１】
図２８（Ａ），（Ｂ）に例示したような処理の内容（ルール）は、クリップセル共有化ルール１４に格納しておくことができる。このような処理は、例えば、上記図２４のクリップセル共有化処理フローにおけるステップＳ１１０の処理に先立って行う（その処理結果を共有化対象ＤＢ１５に反映させる）ことが可能である。また、この第４変形例で述べたような処理において、第１〜第３変形例で述べたような処理を組み合わせることも可能である。
【０１６２】
このようなクリップセル共有化処理を含むレイアウト設計方法を用いることによっても、クリップセル数の減少を図ることが可能になる。
図２９は第３の実施の形態に係るレイアウト設計の第５変形例の説明図である。尚、図２９では、各被クリップセルに対応するクリップセルの図示は省略している。
【０１６３】
第５変形例では、論理モジュール単位で、クリップセル共有化の対象とする被クリップセルを選択する。
図２９には、上位の論理階層の論理モジュール１１０（ＴＯＰ）に対して下位の論理階層の論理モジュール１１１（ＳＵＢ＿Ａ）、更に下位の論理階層の論理モジュール１１２，１１３（ＳＵＢ＿Ｂ，ＳＵＢ＿Ｃ）を例示している。この図２９の例では、論理モジュール１１２（ＳＵＢ＿Ｂ）に含まれる被クリップセル３１，３２（セルＡ，Ｂ）が、クリップセル共有化の対象になる。同様に、論理モジュール１１１（ＳＵＢ＿Ａ）に含まれる被クリップセル３３，３４（セルＣ，Ｄ）が、クリップセル共有化の対象になる。
【０１６４】
このほか、論理モジュール化の回路規模等によって、クリップセル共有化を実施する論理階層を設定し、より下位論理階層の論理モジュールも含めた、クリップセル共有化を実施することも可能である。例えば、図２９に示した論理モジュール１１１（ＳＵＢ＿Ａ）に、それより下位の論理モジュール１１２，１１３（ＳＵＢ＿Ｂ，ＳＵＢ＿Ｃ）を含めた、クリップセル共有化を実施する。その場合、被クリップセル３１，３２，３３，３４，３５（セルＡ，Ｂ，Ｃ，Ｄ，Ｅ）が、クリップセル共有化の対象になる。
【０１６５】
図２８（Ａ），（Ｂ）に例示したような処理の内容（ルール）は、クリップセル共有化ルール１４に格納しておくことができる。このような処理は、例えば、上記図２４のクリップセル共有化処理フローにおけるステップＳ１１０の処理に先立って行う（その処理結果を共有化対象ＤＢ１５に反映させる）ことが可能である。また、この第５変形例で述べたような処理において、第１〜第３変形例で述べたような処理を組み合わせることも可能である。
【０１６６】
このようなクリップセル共有化処理を含むレイアウト設計方法を用いることによっても、クリップセル数の減少を図ることが可能になる。
以上、レイアウト設計装置を用いたレイアウト設計方法について説明した。
【０１６７】
尚、上記のレイアウト設計に用いるレイアウト設計装置は、例えば、次の図３０に示すような構成とすることができる。
図３０はレイアウト設計装置のハードウェアの一構成例を示す図である。レイアウト設計装置２００は、ＣＰＵ（Central Processing Unit）２０１によって装置全体が制御される。ＣＰＵ２０１には、バス２０８を介してＲＡＭ（Random Access Memory）２０２と複数の周辺機器が接続されている。
【０１６８】
ＲＡＭ２０２は、レイアウト設計装置２００の主記憶装置として使用される。ＲＡＭ２０２には、ＣＰＵ２０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２０２には、ＣＰＵ２０１による処理に必要な各種データが格納される。
【０１６９】
バス２０８に接続されている周辺機器としては、ハードディスクドライブ（Hard Disk Drive，ＨＤＤ）２０３、グラフィック処理装置２０４、入力インタフェース２０５、光学ドライブ装置２０６、及び通信インタフェース２０７がある。
【０１７０】
ＨＤＤ２０３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ２０３は、レイアウト設計装置２００の二次記憶装置として使用される。ＨＤＤ２０３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。尚、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【０１７１】
グラフィック処理装置２０４には、モニタ３０１が接続されている。グラフィック処理装置２０４は、ＣＰＵ２０１からの命令に従って、画像をモニタ３０１の画面に表示させる。モニタ３０１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置等がある。
【０１７２】
入力インタフェース２０５には、キーボード３０２とマウス３０３とが接続されている。入力インタフェース２０５は、キーボード３０２やマウス３０３から送られてくる信号をＣＰＵ２０１に送信する。尚、マウス３０３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【０１７３】
光学ドライブ装置２０６は、レーザ光等を利用して、光ディスク３０４に記録されたデータの読み取りを行う。光ディスク３０４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク３０４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等がある。
【０１７４】
通信インタフェース２０７は、ネットワーク４００に接続されている。通信インタフェース２０７は、ネットワーク４００を介して、他のコンピュータ又は通信機器との間でデータの送受信を行う。
【０１７５】
図３０に示したようなハードウェア構成によって、上記のレイアウト設計方法に用いられるレイアウト設計装置の処理機能が実現される。
レイアウト設計装置の処理機能は、コンピュータによって実現することができる。その場合、レイアウト設計装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等がある。
【０１７６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１７７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。尚、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１７８】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）等の電子回路で実現することもできる。
【０１７９】
尚、以上の説明では、ネットリストを用い、被クリップセルとクリップセルを抽出して配置配線処理を行う場合を例にした。上記のようなレイアウト設計は、そのような被クリップセルとクリップセルのような接続関係のセルに限らず、互いに接続される関係にあるセル同士を抽出して配置配線処理を行う場合に、同様に適用可能である。
【０１８０】
以上説明した実施の形態に関し、更に以下の付記を開示する。
（付記１）  コンピュータが、
ネットリストを用いて、第１回路の情報を含む第１セルと、前記第１回路に接続される第２回路の情報を含む第２セルとを抽出し、
抽出された前記第１セルと前記第２セルとを関連付けた第１関連付け情報を生成し、
生成された前記第１関連付け情報に基づき、前記第１セルと前記第２セルとを隣接させて配置し、
配置された前記第１セルと前記第２セルとを接続する第１配線を配置する、
ことを特徴とするレイアウト設計方法。
【０１８１】
（付記２）  前記コンピュータが、更に、前記第１関連付け情報に基づき、前記第１セルと前記第２セルとをブロック化して第３セルを生成し、
前記第１セルと前記第２セルとを配置する際には、前記第３セルを配置し、
前記第１配線を配置する際には、前記第３セルに含まれる前記第１セルと前記第２セルとを接続する前記第１配線を配置することを特徴とする付記１に記載のレイアウト設計方法。
【０１８２】
（付記３）  前記第３セルの配置後に、前記第３セルを、前記第１セル、前記第２セル及び前記第１配線に展開することを特徴とする付記２に記載のレイアウト設計方法。
（付記４）  前記第３セルの配置後、前記第３セルを前記第１セルと前記第２セルとに復元することを特徴とする付記３に記載のレイアウト設計方法。
【０１８３】
（付記５）  前記コンピュータが、更に、
前記ネットリストを用いて、第３回路の情報を含む第３セルと、前記第３回路に接続される第４回路の情報を含む第４セルとを抽出し、
抽出された前記第３セルと前記第４セルとを関連付けた第２関連付け情報を生成し、
生成された前記第２関連付け情報に基づき、前記第３セルと前記第４セルとを一体で配置し、
前記第１セル、前記第２セル、前記第３セル及び前記第４セルの配置後、
配置された前記第２セル及び前記第４セルを、前記第１回路及び前記第３回路に接続される第５回路の情報を含む第５セルに置換し、
前記第１セルと前記第５セルとを接続する第２配線を配置すると共に、前記第３セルと前記第５セルとを接続する第３配線を配置する、
ことを特徴とする付記１に記載のレイアウト設計方法。
【０１８４】
（付記６）  前記第２セル及び前記第４セルを前記第５セルに置換する際には、前記第５セルを、前記第１セルと前記第３セルの間の領域に配置することを特徴とする付記５に記載のレイアウト設計方法。
【０１８５】
（付記７）  前記第２セル及び前記第４セルを前記第５セルに置換する際には、前記第５セルを、前記第１セル又は前記第３セルに隣接させて配置することを特徴とする付記５に記載のレイアウト設計方法。
【０１８６】
（付記８）  前記コンピュータが、更に、
前記第１セルの周囲に第１範囲を設定し、
前記第３セルの周囲に第２範囲を設定し、
配置された前記第１セルの前記第１範囲と、配置された前記第３セルの前記第２範囲とが部分的に重なる場合に、前記第２セル及び前記第４セルを前記第５セルに置換することを特徴とする付記５乃至７のいずれかに記載のレイアウト設計方法。
【０１８７】
（付記９）  前記第１セルと前記第３セルとが共に、複数に分割された配置領域の、一の配置領域に配置された場合に、前記第２セル及び前記第４セルを前記第５セルに置換することを特徴とする付記５乃至８のいずれかに記載のレイアウト設計方法。
【０１８８】
（付記１０）  前記第５セルに接続可能なセルの数の上限値が設定されており、前記第５セルに接続された、前記第１セル及び前記第３セルを含むセルの数が、前記上限値を超えるか否かを判定することを特徴とする付記５乃至９のいずれかに記載のレイアウト設計方法。
【０１８９】
（付記１１）  前記第２配線及び前記第３配線には、長さ又は配線容量の閾値が設定されており、配置された前記第２配線及び前記第３配線が前記閾値を超えるか否かを判定することを特徴とする付記５乃至１０のいずれかに記載のレイアウト設計方法。
【０１９０】
（付記１２）  前記第１セルと前記第３セルとが共に、同じ論理階層である場合に、前記第２セル及び前記第４セルを前記第５セルに置換することを特徴とする付記５乃至１１のいずれかに記載のレイアウト設計方法。
【０１９１】
（付記１３）  コンピュータに、
ネットリストを用いて、第１回路の情報を含む第１セルと、前記第１回路に接続される第２回路の情報を含む第２セルとを抽出し、
抽出された前記第１セルと前記第２セルとを関連付けた第１関連付け情報を生成し、
生成された前記第１関連付け情報に基づき、前記第１セルと前記第２セルとを一体で配置し、
配置された前記第１セルと前記第２セルとを接続する第１配線を配置する、
処理を実行させることを特徴とするレイアウト設計プログラム。
【０１９２】
（付記１４）  ネットリストを用いて、第１回路の情報を含む第１セルと、前記第１回路に接続される第２回路の情報を含む第２セルとを抽出する抽出部と、
前記抽出部によって抽出された前記第１セルと前記第２セルとを関連付けた第１関連付け情報を生成する生成部と、
前記生成部によって生成された前記第１関連付け情報に基づき、前記第１セルと前記第２セルとを一体で配置する第１配置部と、
前記第１配置部によって配置された前記第１セルと前記第２セルとを接続する第１配線を配置する第２配置部と、
を含むことを特徴とするレイアウト設計装置。
【符号の説明】
【０１９３】
１，３０，３０ａ，３１，３２，３３，３４，３５，３６  被クリップセル
１ａ，１ｂ  入力端子
１ｃ  回路
２ａ，２ｂ，６０  クリップ配線
３ａ，３ｂ  電源線
４，４０，４１，４２，４３，４４  クリップセル
４ａ  保護素子
４ｂ  入力端子
１０，１０ａ，１０ｂ  ネットリスト
１０ｃ  タイミング修正後ネットリスト
１０ｄ  階層化ネットリスト
１０ｅ  階層展開ネットリスト
１０ｆ  クリップセル共有化ネットリスト
１１  配置配線データ
１１ａ  タイミング修正後配置配線データ
１２  タイミングチェック情報
１３  配線混雑度情報
１４  クリップセル共有化ルール
１５  共有化対象ＤＢ
２０  クリップ情報テーブル
２１  階層ブロック情報
３０ｂ，３０ｃ  モジュールセル
４０ａ  共有クリップセル
５０  セル
６１  配線
７０  ショート
８０  ＲＯＷ領域
１００  セル配置領域
１０１  グローバルエリア
１１０，１１１，１１２，１１３  論理モジュール
２００  レイアウト設計装置
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＨＤＤ
２０４  グラフィック処理装置
２０５  入力インタフェース
２０６  光学ドライブ装置
２０７  通信インタフェース
２０８  バス
３０１  モニタ
３０２  キーボード
３０３  マウス
３０４  光ディスク
４００  ネットワーク
１０００  レイアウト設計装置
１０１０  抽出部
１０２０  生成部
１０３０  第１配置部
１０４０  第２配置部
Ｒ１，Ｒ２，Ｒ３，Ｒ４  共有化対象領域
ＡＲ１，ＡＲ２，ＡＲ３  領域
ＰＤ１，ＰＤ２  パワードメイン
【図１】
2012186236.tif 000003
【図２】
2012186236.tif 000004
【図３】
2012186236.tif 000005
【図４】
2012186236.tif 000006
【図５】
2012186236.tif 000007
【図６】
2012186236.tif 000008
【図７】
2012186236.tif 000009
【図８】
2012186236.tif 000010
【図９】
2012186236.tif 000011
【図１０】
2012186236.tif 000012
【図１１】
2012186236.tif 000013
【図１２】
2012186236.tif 000014
【図１３】
2012186236.tif 000015
【図１４】
2012186236.tif 000016
【図１５】
2012186236.tif 000017
【図１６】
2012186236.tif 000018
【図１７】
2012186236.tif 000019
【図１８】
2012186236.tif 000020
【図１９】
2012186236.tif 000021
【図２０】
2012186236.tif 000022
【図２１】
2012186236.tif 000023
【図２２】
2012186236.tif 000024
【図２３】
2012186236.tif 000025
【図２４】
2012186236.tif 000026
【図２５】
2012186236.tif 000027
【図２６】
2012186236.tif 000028
【図２７】
2012186236.tif 000029
【図２８】
2012186236.tif 000030
【図２９】
2012186236.tif 000031
【図３０】
2012186236.tif 000032