(57)【要約】【課題】レイアウト変更に有効利用できる空き領域を効率的に確保する。【解決手段】本発明による半導体集積回路の設計方法は、事前に設計されたレイアウトパタンデータから縮小対象の第１セルを選択するステップと、第１セルに隣接する空き領域の面積を算出するステップと、空き領域の面積に応じて選択された一辺を固定し、前記一辺に対向する他の辺を変動させて前記第１セルを縮小するステップとを具備する。【選択図】図７
2011123543.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行される半導体集積回路の設計方法において、
事前に設計されたレイアウトパタンデータから縮小対象の第１セルを選択するステップと、
前記第１セルに隣接する空き領域の面積を算出するステップと、
前記空き領域の面積に応じて選択された一辺を固定し、前記一辺に対向する他の辺を変動させて前記第１セルを縮小するステップと
を具備する
半導体集積回路の設計方法。
【請求項２】
請求項１に記載の半導体集積回路の設計方法において、
前記第１セルの第１辺に隣接する第１空き領域と、前記第１辺に対向する第２辺に隣接する第２空き領域の面積を比較するステップと、
前記面積の比較結果に応じて、前記第１辺及び前記第２辺からの一方を、前記第１セルの縮小前後で前記固定する一辺として選択するステップと
を具備する
半導体集積回路の設計方法。
【請求項３】
請求項２に記載の半導体集積回路の設計方法において、
前記第１空き領域の面積が前記第２空き領域の面積より大きい場合、前記第２辺を固定し、前記第１辺を変動して前記第１セルを縮小する
半導体集積回路の設計方法。
【請求項４】
請求項２に記載の半導体集積回路の設計方法において、
前記第２辺が他のセルと隣接し、前記第２空き領域が存在せず、前記第１空き領域が存在する場合、前記第２辺を固定し、前記第１辺を変動して前記第１セルを縮小する
半導体集積回路の設計方法。
【請求項５】
請求項１に記載の半導体集積回路の設計方法において、
前記第１セルの論理を変更せずに縮小した第２セルを用意するステップを更に具備し、
前記縮小するステップは、前記第２セルの一辺が、対応する前記第１セルの一辺と同じ位置となるように、前記第１セルを前記第２セルに置き換えるステップを備える
半導体集積回路の設計方法。
【請求項６】
請求項５に記載の半導体集積回路の設計方法において、
前記第１セルの第１辺に隣接する第１空き領域と、前記第１辺に対向する第２辺に隣接する第２空き領域の面積を比較するステップを更に具備し、
前記面積の比較結果に応じて、前記第２セルの配置位置を設定するステップを備える
半導体集積回路の設計方法。
【請求項７】
請求項６に記載の半導体集積回路の設計方法において、
前記第１空き領域の面積が前記第２空き領域の面積より大きい場合、前記第２辺に対応する前記第２セルにおける一辺が、前記第２辺と同じ位置となるように、前記第１セルを前記第２セルに置き換える
半導体集積回路の設計方法。
【請求項８】
請求項６に記載の半導体集積回路の設計方法において、
前記第２辺が他のセルと隣接し、前記第２空き領域が存在せず、前記第１空き領域が存在する場合、前記第２辺に対応する前記第２セルにおける一辺が、前記第２辺と同じ位置となるように、前記第１セルを前記第２セルに置き換える
半導体集積回路の設計方法。
【請求項９】
駆動力を低下させて第２セルを生成する
請求項５から８のいずれか１項に記載の半導体集積回路の設計方法において、
前記第２セルは、前記第１セルの駆動力より低く設定される
半導体集積回路の設計方法。
【請求項１０】
請求項１から９のいずれか１項に記載の半導体集積回路の設計方法において、
前記第１セルの縮小化は、前記半導体集積回路のタイミング修正工程又は、駆動力修正工程において行われる
半導体集積回路の設計方法。
【請求項１１】
請求項１から１０のいずれか１項に記載の設計方法をコンピュータに実行させる半導体集積回路の設計支援プログラム。
【請求項１２】
事前に設計されたレイアウトパタンデータを記憶する記憶装置と、
前記レイアウトパタンデータから縮小対象の第１セルを選択し、前記第１セルに隣接する空き領域の面積を算出する空き容量算出部と、
前記空き領域の面積に応じて選択された一辺を固定し、前記一辺に対向する他の辺を変動させて前記第１セルを縮小するセルサイズ縮小部と
を具備する
半導体集積回路の設計支援装置。
【請求項１３】
請求項１２に記載の半導体集積回路の設計支援装置において、
前記第１セルの第１辺に隣接する第１空き領域と、前記第１辺に対向する第２辺に隣接する第２空き領域の面積を比較する空き領域比較部と、
前記面積の比較結果に応じて、前記第１辺及び前記第２辺からの一方を、前記第１セルの縮小前後で前記固定する一辺として選択するセル位置設定部と
を更に具備する
半導体集積回路の設計支援装置。
【請求項１４】
請求項１３に記載の半導体集積回路の設計支援装置において、
前記第１空き領域の面積が前記第２空き領域の面積より大きい場合、前記第２辺を固定し、前記セルサイズ縮小部は、前記第１辺を変動して前記第１セルを縮小する
半導体集積回路の設計支援装置。
【請求項１５】
請求項１３に記載の半導体集積回路の設計支援装置において、
前記第２辺が他のセルと隣接し、前記第２空き領域が存在せず、前記第１空き領域が存在する場合、前記セルサイズ縮小部は、前記第２辺を固定し、前記第１辺を変動して前記第１セルを縮小する
半導体集積回路の設計支援装置。
【請求項１６】
請求項１２に記載の半導体集積回路の設計支援装置において、
前記記憶装置には、前記第１セルの論理を変更せずに縮小した第２セルのライブラリデータが記録され、
前記セルサイズ縮小部は、前記第２セルの一辺が、対応する前記第１セルの一辺と同じ位置となるように、前記第１セルを前記第２セルに置き換える
半導体集積回路の設計支援装置。
【請求項１７】
請求項１６に記載の半導体集積回路の設計支援装置において、
前記第１セルの第１辺に隣接する第１空き領域と、前記第１辺に対向する第２辺に隣接する第２空き領域の面積を比較する空き領域比較部と、
前記面積の比較結果に応じて、前記第２セルの配置位置を設定するセル位置設定部と
を更に具備する
半導体集積回路の設計支援装置。
【請求項１８】
請求項１７に記載の半導体集積回路の設計支援装置において、
前記第１空き領域の面積が前記第２空き領域の面積より大きい場合、前記セルサイズ縮小部は、前記第２辺に対応する前記第２セルにおける一辺が、前記第２辺と同じ位置となるように、前記第１セルを前記第２セルに置き換える
半導体集積回路の設計支援装置。
【請求項１９】
請求項１７に記載の半導体集積回路の設計支援装置において、
前記第２辺が他のセルと隣接し、前記第２空き領域が存在せず、前記第１空き領域が存在する場合、前記セルサイズ縮小部は、前記第２辺に対応する前記第２セルにおける一辺が、前記第２辺と同じ位置となるように、前記第１セルを前記第２セルに置き換える
半導体集積回路の設計支援装置。
【請求項２０】
駆動力を低下させて第２セルを生成する
請求項１６から１９のいずれか１項に記載の半導体集積回路の設計支援装置において、
前記第２セルは、前記第１セルの駆動力より低く設定される
半導体集積回路の設計支援装置。
【請求項２１】
請求項１２から２０のいずれか１項に記載の半導体集積回路の設計支援装置において、
前記セルサイズ縮小部は、前記半導体集積回路のタイミング修正工程又は、駆動力修正工程において前記第１セルを縮小化する
半導体集積回路の設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法、設計支援プログラム、設計支援装置に関し、特に半導体集積回路の自動レイアウトにおけるセルブロック縮小時の再配置方法に関する。
【背景技術】
【０００２】
図１〜図３を参照して、半導体集積回路のレイアウトフェーズにおける一般的な処理工程を説明する。一般的に図１〜図３に示す半導体集積回路のレイアウト方法は、コンピュータによる設計支援システムにて実現される。
【０００３】
図１は、一般的な半導体における設計工程のフロー図である。図１を参照して、レイアウトフェーズにおいて、設計支援システムは、回路情報が記載されたネットリストｆ１１と、制約条件を記した制約ファイルｆ１２とを用いてフロアプランを行う（ステップＳ１３）。設計支援システムは、ネットリストファイルｆ１１とフロアプランの結果を入力とし、配置配線工程（ステップＳ１０１）を実施する。続いて、設計支援システムは、タイミング最適化工程（ステップＳ１０２）を行い、サインオフチェック（ステップＳ１０３）にて問題の有無を確認する。サインチェックで問題のない場合はサインオフ（ステップ１０４）にて終了となる。又、サインオフチェックで問題が発生した場合には再度タイミング最適化（ステップＳ１０２）を実施しタイミング収束（以降、ＭＥＴと称す）させる。
【０００４】
図１を参照して、半導体集積回路の設計工程の詳細を説明する。
【０００５】
ステップＳ１３におけるフロアプランでは、制約ファイルｆ１２に記載されたタイミング条件を元にネットリストｆ１１に記載されているハードマクロや外部端子などの配置が行われる。
【０００６】
続くステップＳ１０１における配置配線工程では、電源配線（ステップＳ１４）、セルの配置（ステップＳ１５）、タイミング調整（ＣＴＳ；ｃｌｏｃｋ  ｔｒｅｅ  ｓｙｎｔｈｅｓｉｓ、ステップＳ１６）、セル間配線（ステップＳ１７）が行われる。
【０００７】
ステップＳ１４における電源配線では、ステップＳ１３で配置されたハードマクロや外部端子を考慮して電源配線が行われる。続いて、ステップＳ１５におけるセルの配置では、制約ファイルｆ１２に記載されたタイミング情報を元に、ネットリストｆ１１に記載されているセルブロックが、タイミングドリブン配置される。配置されたセルブロックに対し、クロックのタイミング調整のためにＣＴＳが実施される（ステップＳ１６）。全てのセルブロックの配置及びＣＴＳが終了すると、セルブロック間の配線が行われる（ステップＳ１７）。
【０００８】
セルブロック間の配線が終了すると、ステップＳ１０２のタイミング最適化工程に移行する。ステップＳ１０２では、低電力化（ステップＳ１８）、タイミング遅延修正（ステップＳ１９）、負荷分散のためのＣＴＳ（ステップＳ２０）、ドライブ能力向上（ゲートサイジング、ステップＳ２１）、リピータ挿入（ステップＳ２２）、ＨＯＬＤ遅延素子挿入（ステップＳ２３）が行われる。
【０００９】
ステップＳ１７における配線後の半導体集積装置には、タイミング的に余裕がある箇所に高速駆動セルが使用されていたり、過剰な高駆動能力をもった大きなセルブロックが配置されている場合がある。このため、ステップＳ１８において、これらのセルブロックは低消費電力のセルブロックに置き換えられる。
【００１０】
図２は、低電力化処理（ステップＳ１８）の動作の詳細を示すフローチャートである。
【００１１】
ステップＳ１８では、先ず、設計支援システムは、ステップＳ１７において生成された配線後レイアウトデータを用いて、チップ上に配置されたセルブロックの駆動能力をチェックする（ステップＳ２５）。ここで、適正な駆動能力のセルブロックであればステップＳ２７に進む。
【００１２】
過剰な駆動能力のセルブロックが配置されている場合は、当該セルブロックのサイズダウンが行われる（ステップＳ２６）。ここでは、適正な駆動能力のセルブロックに変更される。
【００１３】
次にタイミング検証が実施され、タイミングに問題がある場合はサイズダウンしたセルブロックがサイズアップされる（ステップＳ２７Ｎｏ、Ｓ２８）し、再度ステップＳ２７に戻り、タイミング検証が行われる。一方、タイミング検証においてタイミングに問題がない（ＭＥＴ）場合は、低電力化レイアウトフローを終了し、次工程へ進む（ステップＳ２７ＭＥＴ、Ｓ１９）。
【００１４】
ステップＳ１８によって低電力化されたレイアウトにおいて、ＨＯＬＤタイミングエラー等となった箇所に対して、タイミング遅延修正による低駆動セルへの置き換えを実施する（ステップＳ１９）。
【００１５】
図３は、タイミング遅延修正処理（ステップＳ１９）の動作の詳細を示すフローチャートである。
【００１６】
ステップＳ１９では、先ず、設計支援システムは、ステップＳ１８において生成された低電力化後レイアウトデータを利用して、セルブロックのサイズダウンを実施、サイズダウン後のセルブロックに対してタイミング検証を実施する（ステップＳ２９、Ｓ３０）。ここで、ＭＥＴしている箇所はタイミングおよびレイアウト面積に余裕のある箇所であると判断され、ステップＳ２９に戻り、更なるセルブロックのサイズダウンが実施される（ステップＳ３０ＭＥＴ、Ｓ２９）。このように、セルブロックのサイズダウン及びタイミング検証を、ＭＥＴしなくなるまで繰り返す。
【００１７】
一方、ステップＳ３０のタイミング検証にてＭＥＴしなくなった箇所は、セルブロックのサイズアップが実施されることで、タイミングがＭＥＴする状態に戻される（ステップＳ３０Ｎｏ、Ｓ３１）。そして、タイミング遅延処理を終了し、次工程へ移行する（ステップＳ２０）。
【００１８】
ステップＳ１９による遅延修正後のレイアウトにおいて、電気的特性が悪い箇所の改善の為、負荷分散のためのＣＴＳが行われるとともに、追加セルブロックの挿入が行われる（ステップＳ２０）。
【００１９】
次に、ドライブ能力が不足している箇所のドライブ能力向上のため既存セルブロックを駆動能力の高いセルブロックに置き換えられる（ステップＳ２１）。
【００２０】
次に、セルブロック間の配置距離が遠く、配線が長くなってしまい電気的特性の悪い箇所の改善の為、リピータ挿入が行われるとともに、追加セルブロックが挿入される（ステップＳ２２）。
【００２１】
次に、ＨＯＬＤタイミングが不足している箇所にタイミングを遅延させるために遅延素子挿入が行われるとともに、追加セルブロックが挿入される（ステップＳ２３）。
【００２２】
ステップＳ１０２における一連の処理の後、ステップＳ１０３のサインオフチェックにおいてＭＥＴしてない場合は、更にタイミング調整をするためステップＳ１０２の処理（ステップＳ１８〜ステップＳ２３）を繰り返す。一方、サインオフチェックにおいてＭＥＴしている場合は、レイアウトがサインオフ（ステップＳ１０４）され、レイアウト設計を終了する。
【００２３】
ここで、負荷分散のためのＣＴＳ（ステップＳ２０）、長配線箇所へのリピータ挿入（ステップＳ２２）、及びタイミング調整のためのＨＯＬＤ遅延素子挿入（ステップＳ２３）では、セルブロックの追加が必要となる。又、ドライブ能力が不足している箇所に対してドライブ能力を向上する工程（ステップＳ２１）では、既存セルのサイズアップが必要となる。このように、セルブロックの追加やサイズアップを行うためには、所定の面積及び形状の空き領域が必要となる。
【００２４】
更に、負荷分散のためのＣＴＳ（ステップＳ２０）からＨＯＬＤ遅延素子挿入（ステップＳ２３）までの工程において、既にセルブロックが配置された領域（既存配置領域）に収まりきらなかったセルブロックを再配置するための空き領域が必要となる。
【００２５】
従って、ステップＳ１０２のタイミング最適化工程において、セルブロックの追加やサイズアップ、あるいはセルブロックの再配置に要する空き領域を確保することが求められる。
【００２６】
セルブロックの追加やサイズアップ等のために空き領域を確保する技術が、例えば、特開２００９−２０５７５に記載されている（特許文献１参照）。特許文献１には、セルブロックの移動や削除を行うことで、所定の大きさ及び形状の空き領域を確保する技術が記載されている。
【００２７】
図４Ａは、ステップＳ１０２のタイミング最適化工程における空き領域確保前の半導体集積回路のレイアウトの一部を示す平面図である。一方、図４Ｂは、特許文献１に記載の方法によって空き領域Ａが確保された半導体集積回路のレイアウトの一部を示す平面図である。
【００２８】
図４Ａに示す領域Ａｒではセルブロックが混雑しているため、負荷分散のためのＣＴＳ（ステップＳ２０）、ドライブ能力向上（ステップＳ２１）、リピータ挿入（ステップＳ２２）、ＨＯＬＤ遅延素子挿入（ステップＳ２３）において、セルブロックの追加やサイズアップ等ができない。このような場合、特許文献１では、領域Ａｒ内に配置されたセルブロックを移動又は削除することで、図４Ｂに示すように空き領域Ａを確保することができる。
【先行技術文献】
【特許文献】
【００２９】
【特許文献１】特開２００９−２０５７５
【発明の概要】
【発明が解決しようとする課題】
【００３０】
特許文献１に記載の方法では、追加セルの配置領域を確保するため、既存セルブロックを移動又は削除する必要がある。この場合、既存セルブロックの配置場所の変更にともない、配線経路も変更される。追加セルブロックを置く為に配置場所を変更されたセルは、配線経路が変わりタイミングが変更される。また縮小されるセルブロックがある場合はチップ上の既存配置位置から変更されずに縮小されるため追加のセルブロックを配置できない無駄な空き領域となる場合がある。すなわち、空き領域Ａｒを確保するためのセルの移動によって、有効活用出来ない空き領域が発生してしまい、追加セルを有効に配置可能な領域が不足するという問題が発生する。
【課題を解決するための手段】
【００３１】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために、［発明を実施するための形態］で使用される番号・符号が付加されている。ただし、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００３２】
本発明による半導体集積回路の設計方法は、事前に設計されたレイアウトパタンデータから縮小対象の第１セルを選択するステップと、第１セルに隣接する空き領域の面積を算出するステップと、空き領域の面積に応じて選択された一辺を固定し、前記一辺に対向する他の辺を変動させて前記第１セルを縮小するステップとを具備する。
【００３３】
本発明による半導体集積回路の設計方法は、記憶媒体に記録されるプログラムによって実現されることが好ましい。
【００３４】
本発明による半導体集積回路の設計支援装置（１０）は、事前に設計されたレイアウトパタンデータを記憶する記憶装置（１５）と、レイアウトパタンデータから縮小対象の第１セルを選択し、第１セルに隣接する空き領域の面積を算出する空き容量算出部（１０１）と、空き領域の面積に応じて選択された一辺を固定し、この一辺に対向する他の辺を変動させて第１セルを縮小するセルサイズ縮小部（１０４）とを具備する。
【００３５】
第１セルの一辺が固定されてセルが縮小されるため、縮小化によって他のセル（既存セル）や既存配線の移動を行う必要がない。又、隣接する空き領域の面積を考慮して固定する一辺を決めて縮小化しているため、セルの追加や拡大を行う上で効率的な空き領域を確保することができる。
【発明の効果】
【００３６】
従って、本発明によれば、レイアウト変更に有効利用できる空き領域を効率的に確保することができる。
【００３７】
又、タイミング収束性を損なわずにレイアウト変更に有効利用できる空き領域を確保することができる。
【００３８】
更に、チップサイズを増大することなくレイアウト変更に有効利用できる空き領域を確保することができる。
【図面の簡単な説明】
【００３９】
【図１】図１は、一般的な半導体における設計工程のフロー図である。
【図２】図２は、低電力化処理の動作の詳細を示すフローチャートである。
【図３】図３は、タイミング遅延修正処理の動作の詳細を示すフローチャートである。
【図４Ａ】図４Ａは、タイミング最適化工程における空き領域確保前の半導体集積回路のレイアウトの一部を示す平面図である。
【図４Ｂ】図４Ｂは、特許文献１に記載の方法によって空き領域が確保された半導体集積回路のレイアウトの一部を示す平面図である。
【図５】図５は、本発明による半導体集積回路の設計支援装置の構成を示す図である。
【図６】図６は、本発明による設計支援プログラムを実行することで実現される機能ブロックを示す図である。
【図７】図７は、本発明による半導体集積回路の設計方法の一部を示すフロー図である。
【図８Ａ】図８Ａは、本発明による設計方法における配線への影響を示す概念図（縮小前）である。
【図８Ｂ】図８Ｂは、本発明による設計方法における配線への影響を示す概念図（縮小後）である。
【図８Ｃ】図８Ｃは、本発明による設計方法における配線への影響を示す概念図（縮小後）である。
【図９Ａ】図９Ａは、縮小対象セルの両側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図９Ｂ】図９Ｂは、縮小対象セルの両側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１０Ａ】図１０Ａは、縮小対象セルの基準辺側に空き領域が存在し、基準辺に対向する辺側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１０Ｂ】図１０Ｂは、縮小対象セルの基準辺側に空き領域が存在し、基準辺に対向する辺側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１１Ａ】図１１Ａは、縮小対象セルの基準辺側に空き領域がなく、基準辺に対向する辺側に空き領域が存在する場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１１Ｂ】図１１Ｂは、縮小対象セルの基準辺側に空き領域がなく、基準辺に対向する辺側に空き領域が存在する場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１２Ａ】図１２Ａは、縮小対象セルの基準辺側及び基準辺に対向する辺側に同じ大きさの空き領域が存在する場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１２Ｂ】図１２Ｂは、縮小対象セルの基準辺側及び基準辺に対向する辺側に同じ大きさの空き領域が存在する場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１３Ａ】図１３Ａは、縮小対象セルの基準辺に対向する辺側の空き領域よりも基準辺側の空き領域が大きい場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１３Ｂ】図１３Ｂは、縮小対象セルの基準辺に対向する辺側の空き領域よりも基準辺側の空き領域が大きい場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１４Ａ】図１４Ａは、縮小対象セルの基準辺側の空き領域よりも基準辺に対向する辺側の空き領域が大きい場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１４Ｂ】図１４Ｂは、縮小対象セルの基準辺側の空き領域よりも基準辺に対向する辺側の空き領域が大きい場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１５Ａ】図１５Ａは、縮小対象セルの基準辺側に空き領域がなく、基準辺に対向する辺側に他のセルブロックがない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１５Ｂ】図１５Ｂは、縮小対象セルの基準辺側に空き領域がなく、基準辺に対向する辺側に他のセルブロックがない場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１６Ａ】図１６Ａは、縮小対象セルの基準辺側に他のセルブロックがなく、基準辺に対向する辺側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１６Ｂ】図１６Ｂは、縮小対象セルの基準辺側に他のセルブロックがなく、基準辺に対向する辺側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１７Ａ】図１７Ａは、縮小対象セルの基準辺に対向する辺側に他のセルブロックがなく、基準辺側の空き領域が対向辺側の空き領域より小さい場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１７Ｂ】図１７Ｂは、縮小対象セルの基準辺に対向する辺側に他のセルブロックがなく、基準辺側の空き領域が対向辺側の空き領域より小さい場合の、本発明によるセルの縮小方を示す模式図（縮小後）である。
【図１８Ａ】図１８Ａは、縮小対象セルの基準辺に対向する辺側に他のセルブロックがなく、対向辺側の空き領域が基準辺側の空き領域より大きい場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１８Ｂ】図１８Ｂは、縮小対象セルの基準辺に対向する辺側に他のセルブロックがなく、対向辺側の空き領域が基準辺側の空き領域より大きい場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【図１９Ａ】図１９Ａは、縮小対象セルの基準辺側、及び基準辺に対向する辺側に他のセルブロックがない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【図１９Ｂ】図１９Ｂは、縮小対象セルの基準辺側、及び基準辺に対向する辺側の両側に他のセルブロックがない場合の、本発明によるセルの縮小方法を示す模式図（縮小後）である。
【発明を実施するための形態】
【００４０】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。本実施の形態では、セルベースＩＣのレイアウト設計を行う方法及び設計支援装置について説明する。
【００４１】
（概要）
本発明は、図２に示す低電力化処理（ステップＳ１８）や図３に示すタイミング遅延修正処理（ステップＳ１９）において実行されるセルブロックのサイズダウン方法である。本発明では、セルブロック（以下、セルと称す）のサイズを縮小する際、セル周辺の空き領域の面積を算出し、当該面積に応じて縮小したセルのチップ上における位置を決定する。縮小したセルの位置を適切に設定することで、空き領域の数を変更することなく空き領域の面積を増大することができる。これにより、図１に示す負荷分散のためのＣＴＳ（ステップＳ２０）、ドライブ能力向上（ステップＳ２１）、リピータ挿入（ステップＳ２２）、ＨＯＬＤ遅延素子挿入（ステップＳ２３）における、セルの追加やサイズアップ等が可能な形状及び大きさの空き領域が生成され得る。以下、本発明による半導体集積回路の設計方法（セルサイズダウン方法）について詳細に説明する。
【００４２】
（回路設計支援装置の構成）
図５及び図６を参照して、本発明による半導体集積回路の設計支援装置（以下、回路設計支援装置１０と称す）の実施の形態における構成を説明する。図５は、本発明による回路設計支援装置１０の構成を示す図である。本発明による回路設計支援装置１０は、バス１６を介して相互に接続されるＣＰＵ１１、ＲＡＭ１２、入力装置１３、出力装置１４、記憶装置１５を備えるコンピュータ装置である。入力装置１３は、キーボードやマウスに例示され、ユーザによって操作されることで、各種データをＣＰＵ１１や記憶装置１５に出力する。出力装置１３は、モニタやプリンタに例示され、ＣＰＵ１１から出力される回路設計結果をユーザに対し視認可能に出力する。記憶装置１５はハードディスクやメモリ等に例示される記憶装置である。
【００４３】
記憶装置１５には、半導体集積回路設計支援プログラム１００（以下、設計支援プログラム１００と称す）、レイアウト情報２０１及びセルライブラリ２０２が格納される。又、記憶装置１５は、レイアウト設計後のレイアウトパタンデータを記録する領域を有する。
【００４４】
レイアウト情報２０１は、図１におけるフロアプラン（ステップＳ１３）及び配置配線工程（ステップＳ１０１）によって、タイミングドリブンレイアウトされた半導体集積回路のレイアウトに関する情報である。詳細には、レイアウト情報２０１は、半導体集積回路（チップ）上におけるセルブロックの配置位置（座標情報）が記載されているＤＥＦ（Ｄｅｓｉｇｎ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイル２１１を含む。
【００４５】
セルライブラリ２０２は、内部が既にレイアウト設計されたマクロセルに関するデータ（以下ライブラリデータと称す）の集合である。セルライブラリ２００には、ＮＡＮＤやフリップフロップなどの基本的回路を含むマクロセルから、ＲＡＭやＲＯＭ、ＣＰＵコア等の大規模回路を含むマクロセルが登録される。ライブラリデータは、セル内の配線や端子の位置等、セルの外形や外部配線との接続位置、配線禁止領域を指定するデータを含む。詳細には、ライブラリデータは、セル内のピン配置に関するセル内及びセル枠（セル外形）の位置情報やセルサイズ情報を含むＬＥＦ（Ｌｉｂｒａｒｙ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイル２１２である。
【００４６】
又、記憶装置には、セルをチップ上に配置する際のセル間隔や配線長等を決定するための条件である制約情報（図示なし）が記録されていてもよい。
【００４７】
ＣＰＵ１１は、入力装置１４からの入力に応答して、記憶装置１５内の設計支援プログラム１００を実行し、タイミングドリブンレイアウト済みのチップ上におけるセルの縮小処理を行う。この際、記憶装置１５からの各種データやプログラムはＲＡＭ１２に一時格納され、ＣＰＵ１１は、ＲＡＭ１２内のデータを用いて各種処理を実行する。
【００４８】
ＣＰＵ１１は、設計支援プログラム１００を実行することで、図６に示す空き領域算出部１０１、空き領域比較部１０２、セル位置設定部１０３、セルサイズ縮小部１０４の各機能を実現する。
【００４９】
空き領域算出部１０１は、縮小対象セルを指定し、当該縮小対象セルに接する空き領域の検索及びその面積（サイズ）の算出を行う。詳細には、空き領域算出部１０１は、図１に示すステップＳ１７において生成された配線後レイアウトデータや、ステップＳ１８において生成された低電力化後のレイアウトデータを用いてサイズダウン（縮小化）の対象となるセル（以下、縮小化対象セル）を指定する。ここで、図１に示す低電力化処理（ステップＳ１８）においては、過剰な駆動力のセルが縮小対象セルとして指定され、図１に示すタイミング遅延修正処理（ステップＳ１９）では、遅延修正の対象とするセルが縮小対象セルとして指定される。
【００５０】
空き領域算出部１０１は、ＤＥＦファイル２１１から各セルのチップ上における配置位置（位置座標）を読み出すとともに、ＬＥＦファイル２１２から各セルのセルサイズを読み出す。空き領域算出部１０１は、セルの位置座標とセルサイズを用いて縮小対象セルの周辺の空き領域を検索するとともに、検出された空き領域の面積（サイズ）を算出する。
【００５１】
本実施の形態では、チップ上におけるセルの配置位置を表す原点が、セル枠上の所定の位置に設定されることが好ましい。又、セルのチップ上における配置位置を示す原点（以下、基準点と称す）のセル内における位置は、全てのセルで統一して設定されることが好ましい。例えば、セル枠において、行方向に向かいあう２辺の一方を左辺、他方を右辺とし、列方向に向かいあう２辺の一方を上辺、他方を下辺とした場合、左辺と下辺の交差する角がセルの原点として設定される。
【００５２】
尚、セルに対して行方向に隣接する空き領域のサイズを算出する場合、基準点として、セルの左辺又は右辺の一方において下辺から一定の距離（距離０を含む）の点が設定されることが好ましい。又、セルに対して列方向に隣接する空き領域のサイズを算出する場合、基準点として、セルの下辺又は上辺の一方において左辺から一定の距離（距離０を含む）の点が設定されることが好ましい。更に、セルに対して行方向に隣接する空き領域、及び列方向に隣接する空き領域のサイズを算出する場合、基準点として、セルの左辺又は右辺の一方と下辺又は上辺の一方の交差する角が設定されることが好ましい。
【００５３】
以下の説明では、一例として、セルの基準点が、左辺と下辺とが交差する角の一点に設定されているものとし、縮小対象セルを行方向に縮小する方法について説明する。
【００５４】
行方向のセル間に存在する空き領域の面積は、行の高さと、セル間の距離との積で表される。同一行において、行の高さは一定であるため、行方向のセル間に存在する空き領域の面積は、セル間の距離に比例にする。このため、空き領域算出部１０１は、行方向に対して縮小対象セルと隣あう他のセルとの距離を、当該他のセルとの間に存在する空き領域のサイズ（面積）として算出する。
【００５５】
ここで、縮小対象セルの左辺に隣接する空き領域を左側空き領域とし、左側空き領域に隣接する他のセルを左側セルとすると、左側空き領域のサイズは、（１）式のように表される。尚、セルの行方向のセル幅を当該セルのセルサイズとする。
左側空き領域のサイズ＝（縮小対象セルの位置座標）−（（左側セルの位置座標）＋（左側セルのセルサイズ））・・・（１）
ただし、左側セルが存在しない場合、（１）式における（左側セルの位置座標）＋（左側セルのセルサイズ）を、縮小対象セルの左辺側のチップの端部座標に置き換えて、左側空き領域のサイズが算出される。
【００５６】
又、縮小対象セルの右辺に隣接する空き領域を右側空き領域とし、右側空き領域に隣接する他のセルを右側セルとすると、右側空き領域のサイズは、（２）式のように表される。尚、セルの行方向のセル幅を当該セルのセルサイズとする。
右側空き領域のサイズ＝（右側セルの位置座標）−（（縮小対象セルの座標）＋（縮小対象セルのセルサイズ））・・・（２）
【００５７】
ただし、右側セルが存在しない場合、（２）式における（右側セルの位置座標）を、縮小対象セルの右辺側のチップの端部座標に置き換えて、左側空き領域のサイズが算出される。
【００５８】
空き領域比較部１０２は、縮小対象セルにおいて対向する２辺のそれぞれに隣接する空き領域のサイズを比較する。例えば、縮小対象セルに対して行方向に隣接する右側空き領域のサイズと左側空き領域のサイズを比較する。
【００５９】
セル位置設定部１０３は、空き領域比較部１０２による比較結果に応じて、縮小したセル（以下、縮小セルと称す）の再配置位置を設定する。この際、セル位置設定部１０３は、セルの縮小方向、及び基準点のセル内における位置を考慮して縮小セルの配置位置を決定する。本発明による設計方法では、縮小対象セルを挟むように存在する２つの空き領域のうち、広いサイズ（面積）の空き領域を拡大するように、縮小対象セルを縮小する。このため、縮小セルの配置位置は、縮小対象セルに隣接する空き領域の面積に応じて設定される。
【００６０】
縮小対象セルにおいて、セルの縮小方向に対向する２つの辺のうち、基準点を含む辺を基準辺、基準辺に対向する辺を対向辺として、縮小後のセルの再配置位置を説明する。セル位置設定部１０３は、基準辺に接する空き領域のサイズが対向辺に接する空き領域サイズよりも大きい場合、基準辺及び対向辺のそれぞれに接する空き領域の大きさに差が無い場合、基準辺及び対向辺のそれぞれに接する空き領域が存在しない場合のいずれかに該当するとき、縮小セルの配置位置（基準点）を、元の位置（縮小対象セルの配置位置（基準点）と同じ位置に設定する。一方、縮小対象セルの基準辺に接する空き領域のサイズが、対向辺に接する空き領域のサイズよりも大きい場合、縮小セルの対向辺を、縮小対象セルの対向辺と同じ位置に設定する。この場合、縮小セルの基準点、すなわち縮小セルの配置位置は、縮小対象セルの配置位置から縮小分だけ移動することとなる。
【００６１】
セルサイズ縮小部１０４は、セルライブラリ２０２内のライブラリデータを修正することで、縮小対象セルの論理を変更せず、駆動力を低下させるようにセルサイズを縮小する。例えば、セルサイズ縮小部１０４は、縮小対象セルのセルハイトを固定し、行方向のセル幅を縮小して縮小セルを生成する。
【００６２】
以上のような構成により、本発明による設計支援装置１０は、タイミングドリブンレイアウト済みの半導体集積回路に対して、低電力化又はタイミング遅延修正のためのレイアウト修正（セルの縮小化）を自動で行う。
【００６３】
（設計方法）
以下、図７〜図１９Ｂを参照して、本発明による半導体集積回路の設計方法の詳細を説明する。本実施の形態では、セルの左下角を基準点とし、行方向にセルを縮小する方法を一例に説明する。
【００６４】
図７は、本発明による半導体集積回路の設計方法の一部（セル縮小方法）を示すフロー図である。設計支援装置１０は、ＤＥＦファイル２１１、セルブロックサイズ情報が記載されているＬＥＦファイル２１２から縮小対象セルの位置座標とセルサイズを読み出す（ステップＳ３）。ここでは、縮小対象セルの基準点の座標（一座標）と行方向のセル幅（セルサイズ）が読み取られる。
【００６５】
続いて、ステップＳ３で読み出された座標を元に、縮小対象セルに対して行方向に隣あう他のセルの位置座標及びセルサイズが、ＤＥＦファイル２１１及びＬＥＦファイル２１２から読み出される（ステップＳ４、Ｓ５）。ここでは、左側セルと右側セルのそれぞれの基準点の座標（位置座標）及び行方向のセル幅（セルサイズ）が読み出される。
【００６６】
設計支援装置１０は、読み出された縮小対象セル及び左側セルの位置座標及びセルサイズを用いて、両者の間に存在する左側空き領域のサイズ（ここでは行方向のセル間の距離）を算出する（ステップＳ６）。同様に、設計支援装置１０は、読み出された縮小対象セル及び右側セルの位置座標及びセルサイズを用いて、両者の間に存在する右側空き領域のサイズ（ここでは行方向のセル間の距離）を算出する（ステップＳ７）。
【００６７】
次に、設計支援装置１０は、左側空き領域のサイズと右側空き領域のサイズを比較する（ステップＳ８）。この際、右側空き領域サイズが左側空き領域サイズよりも大きい場合（右＞左）、左右の空き領域の大きさに差が無い場合（左＝右）、左右の空き領域が存在しない場合（左＝右＝０）のいずれかに該当するときは、配置位置を固定したままセルサイズの縮小を行う（ステップＳ１０）。ステップＳ１０におけるセルサイズの縮小処理では、縮小セルの基準点が縮小対象セルの基準点と同じ位置となるように、縮小対象セルを縮小セルに置き換えられる。
【００６８】
一方、ステップＳ８において、左側空き領域サイズが右側空き領域サイズより大きい場合（左＞右）、縮小対象セルの位置座標を右側に移動させて、縮小対象セルが縮小される（ステップＳ９、Ｓ１０）。ステップＳ９では、縮小セルの対向辺が、縮小対象セルの対抗辺の位置と一致するように、縮小セルの配置位置が設定され、ステップＳ１０において、設定された配置位置に縮小セルが配置される。
【００６９】
上述の例では、行方向にセルを縮小する場合について説明したが、列方向に縮小する場合も同様に空き領域サイズの比較結果に応じて縮小セルの配置位置が設定される。又、上述の例では、左右の空き領域の大きさに差が無い場合（左＝右）、又は、左右の空き領域が存在しない場合（左＝右＝０）に、配置位置を固定してセルを縮小しているが、これに限らず対向辺を固定してセルを縮小してもよい。
【００７０】
本発明によれば、縮小対象セルの空き領域の広い側を拡張するようにセルの縮小を行うため、効率的に広い空き領域を確保することができる。又、拡張された空き領域は、縮小対象セルのセルハイトに対応する幅を有しているため、セルを追加又は拡張することが可能な形状となる。更に、縮小されたセルは、元のセルが配置されていた領域内に配置されるため、既に配置されている他のセルは配線を移動することなく、空き領域を確保することができる。
【００７１】
図８Ａ〜図１９Ｂを参照して、本発明による縮小化処理によって修正前後のレイアウトの具体例と、その効果について説明する。以下では、図面上のＸ軸方向正側を右側、負側を左側とし、Ｙ軸方向正側を上側、負側を下側と称して説明する。又、チップ上に配置されるセルや配線を矩形とし、それぞれが占めるチップ上の範囲や空き領域を、その左下角及び右上角の座標（Ｘ、Ｙ）で表す。例えば、セルが配置される領域が左上（００、０２）、左下（００、０１）、右上（０３、０２）、右下（０３、０１）の範囲である場合、セル自身又はセルの配置される領域を、その左下座標と右上座標を用いて（００、０１）〜（０３、０２）と表す。又、縮小対象セルの配置位置を示す基準点を左下角の点とし、当該基準点を通過しＹ軸方向に伸びる辺とする。更に、領域（００、００）〜（０１、０１）の面積を１ブロックとし、セルの配置される領域や空き領域のサイズ（面積）をブロック数によって示す。
【００７２】
先ず、図８Ａ〜図８Ｃを参照して、本発明におけるセルの縮小方法による配線への影響を説明する。図８Ａは、本発明による設計方法における配線への影響を示す概念図（縮小前）である。
【００７３】
図８Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図８Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＬ０１、Ｌ０２、Ｌ０５、及び配線Ｌ０３、Ｌ０４が配置されている。ここでは、セルＬ０５が縮小対象セルとして指定されるものとする。縮小対象セルＬ０５は、領域（０５、０１）〜（１４、０２）に配置される。縮小対象セルＬ０５の左側の領域（００、０１）〜（０３、０２）にセルＬ０１が配置され、右側の領域（１６、０１）〜（１９、０２）にセルＬ０２が配置される。左側セルＬ０１と縮小対象セルＬ０５の間の領域（０４、００）〜座標（０４、０３）に配線Ｌ０３が配置され、右側セルＬ０２と縮小対象セルＬ０５との間の領域（１５、００）〜座標（１５、０３）に配線Ｌ０４が配置される。又、縮小前における縮小対象セルの基準点は、（０５、０１）であり、基準辺は（０５、０１）〜（０５、０２）、対向辺は（１４、０１）〜（１４、０２）である。
【００７４】
図８Ａに示す一例では、縮小対象セルＬ０５と、左側セルＬ０１及び右側セルＬ０２との間の空き領域のサイズは、ともに２ブロックである。このため、セルを縮小する方法として、縮小対象セルＬ０５の配置位置（基準辺）を変更せずに対向辺側を変更して縮小する方法と、対向辺を変更せずに配置位置（基準辺）を変更して縮小する方法がある。
【００７５】
図８Ｂは、縮小対象セルＬ０５の配置位置（基準辺）を変更せずに対向辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【００７６】
ここでは、縮小対象セルブロックＬ０５の基準点（基準辺）の座標を変更せずに、セルサイズの小さい縮小セルＬ０６に置き換えられる。詳細には、縮小対象セルＬ０５がチップ上から削除され、縮小対象セルＬ０５を縮小したセルＬ０６が、領域（０５、０１）〜（１２、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＬ０５が配置されていた領域（０５、０１）〜（１４、０２）から、縮小セルＬ０６が配置される領域（０５、０１）〜（１２、０２）に縮小され、縮小セルＬ０６と右側セルＬ０２との間に新たな空き領域（１２、０１）〜（１４、０２）が追加されることとなる。すなわち、縮小対象セルＬ０５を縮小セルＬ０６に置換することによって、縮小対象セルＬ０５と右側セルＬ０２との間の空き領域が２ブロック分拡張される。
【００７７】
この場合、縮小対象となるセルブロックの配置範囲の中で、縮小セルの再配置を行っているため、周りの配線Ｌ０３、Ｌ０４の位置を変更する必要がない。従って、セルの縮小工程において、他の配線やセルを移動することなく、セルの追加や拡大に利用できる空き領域を確保することができる。
【００７８】
図８Ｃは、縮小対象セルＬ０５の対向辺を変更せずに基準辺側（配置位置）を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【００７９】
ここでは、縮小対象セルブロックＬ０５の対向辺の座標を変更せずに、セルサイズの小さい縮小セルＬ０７に置き換えられる。すなわち、縮小対象セルＬ０５がチップ上から削除され、縮小対象セルＬ０５を縮小したセルＬ０７が、領域（０７、０１）〜座標（１４、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＬ０５が配置されていた領域（０５、０１）〜（１４、０２）から、縮小セルＬ０６が配置される領域（０７、０１）〜座標（１４、０２）に縮小され、縮小セルＬ０７と左側セルＬ０１との間に新たな空き領域（０５、０１）〜（０７、０２）が追加されることとなる。すなわち、縮小対象セルＬ０５を縮小セルＬ０７に置換することによって、縮小対象セルＬ０５と左側セルＬ０１との間の空き領域が２ブロック分拡張される。
【００８０】
この場合も、縮小対象となるセルブロックの配置範囲の中で、縮小セルの再配置を行っているため、周りの配線Ｌ０３、Ｌ０４の位置を変更する必要がない。従って、セルの縮小工程において、他の配線やセルを移動することなく、セルの追加や拡大に利用できる空き領域を確保することができる。
【００８１】
本発明によれば、セルの縮小を、縮小対象セルの配置された領域内で行うため、他の配線やセルを移動することなく空き領域を拡張することができる。例えば、縮小対象セルの左右に空き領域の一方（例えば左側空き領域）をなくして、右側の空き領域を拡張するようにセルの移動及び縮小を行うと、空き領域が１つにまとまるため、セルの追加や拡張に有効に利用できる。しかし、この場合、図８Ａのようなレイアウトでは、セル間の空き領域を削除することで、当該空き領域上の配線を移動又は迂回する必要が生じる。本発明では、上述のように、既存の配置領域以外へは縮小セルの再配置を行わないことため、既存配線への影響を避けることができる。
【００８２】
次に、図９Ａ及び図９Ｂを参照して、縮小対象セルの両側に空き領域がない場合（右＝左＝０）のセルの縮小方法を説明する。図９Ａは、縮小対象セルの両側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【００８３】
図９Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図９Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＡ０１、Ａ０２、Ａ０３が配置されている。ここでは、セルＡ０３が縮小対象セルとして指定されるものとする。縮小対象セルＡ０３は、領域（０４、０１）〜座標（１５、０２）に配置される。縮小対象セルＡ０３の左側の領域（００、０１）〜（０４、０２）にセルＡ０１が配置され、右側の領域（１５、０１）〜（１９、０２）にセルＢ０２が配置される。又、縮小前における縮小対象セルの基準点は、（０４、０１）であり、基準辺は（０４、０１）〜（０４、０２）、対向辺は（１５、０１）〜（１５、０２）である。各セル間の空き領域は存在しない。
【００８４】
縮小対象セルＡ０３の左右には、空き領域が無く、左右のどちらに領域が広がっても領域の大きさに違いはない。このため、セルを縮小する方法として、縮小対象セルＡ０３の配置位置（基準辺）を変更せずに対向辺側を変更して縮小する方法と、対向辺を変更せずに配置位置（基準辺）を変更して縮小する方法のどちらか一方を選択できる。ここでは、セルの配置位置（基準辺）を変更せずに縮小する方法について説明する。
【００８５】
図９Ｂは、縮小対象セルＡ０３の配置位置（基準辺）を変更せずに対向辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【００８６】
ここでは、縮小対象セルブロックＡ０３の基準点（基準辺）の座標を変更せずに、セルサイズの小さい縮小セルＡ０４に置き換えられる。詳細には、縮小対象セルＡ０３がチップ上から削除され、縮小対象セルＡ０３を縮小したセルＡ０４が、領域（０４、０１）〜（１１、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＡ０３が配置されていた領域（０４、０１）〜（１５、０２）から、縮小セルＡ０４が配置される領域（０４、０１）〜（１１、０２）に縮小され、縮小セルＡ０４と右側セルＡ０２との間に新たな空き領域（１１、０１）〜（１５、０２）が追加されることとなる。すなわち、縮小対象セルＡ０３を縮小セルＡ０４に置換することによって、４ブロック分の新たな空き領域が確保される。
【００８７】
次に、図１０Ａ及び図１０Ｂを参照して、縮小対象セルの基準辺側に空き領域が存在し、対向辺側に空き領域がない場合の（左＞右＝０）のセルの縮小方法を説明する。図１０Ａは、縮小対象セルの基準辺側に空き領域が存在し、対向辺側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【００８８】
図１０Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１０Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＢ０１、Ｂ０２、Ｂ０３が配置されている。ここでは、セルＢ０３が縮小対象セルとして指定されるものとする。縮小対象セルＢ０３は、領域（０６、０１）〜座標（１５、０２）に配置される。縮小対象セルＢ０３の左側の領域（００、０１）〜（０４、０２）にセルＢ０１が配置され、右側の領域（１５、０１）〜（１９、０２）にセルＢ０２が配置される。これにより、左側セルＢ０１と縮小対象セルＢ０３との間に空き領域（０４、０１）〜（０６、０２）が形成される。又、縮小前における縮小対象セルの基準点は、（０６、０１）であり、基準辺は（０６、０１）〜（０６、０２）、対向辺は（１５、０１）〜（１５、０２）である。
【００８９】
本発明による方法では、既存の空き領域を効率的に利用するため、基準辺側の空き領域を拡張するようにセルＢ０３を縮小する。図１０Ａに示す一例では、縮小対象セルＣ０３の左側のみに空き領域が存在するため、縮小対象セルＢ０３の対向辺を変更せずに配置位置（基準辺）を変更して縮小する方法が採用される。
【００９０】
図１０Ｂは、縮小対象セルＢ０３の対向辺を変更せずに基準辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【００９１】
ここでは、縮小対象セルブロックＢ０３の対向辺の座標を変更せずに、セルサイズの小さい縮小セルＢ０４に置き換えられる。詳細には、縮小対象セルＢ０３がチップ上から削除され、縮小対象セルＢ０３を縮小したセルＢ０４が、領域（０９、０１）〜（１５、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＢ０３が配置されていた領域（０６、０１）〜（１５、０２）から、縮小セルＢ０４が配置される領域（０９、０１）〜（１５、０２）に縮小され、縮小セルＢ０４と左側セルＢ０２との間の空き領域が（０４、０１）〜（０９、０２）となる。すなわち、縮小対象セルＢ０３を縮小セルＢ０４に置換することによって、既存の空き領域が、セルの縮小量に応じた３ブロック分拡張される。
【００９２】
次に、図１１Ａ及び図１１Ｂを参照して、縮小対象セルの対向辺側に空き領域が存在し、基準辺側に空き領域がない場合の（右＞左＝０）のセルの縮小方法を説明する。図１１Ａは、縮小対象セルの対向辺側に空き領域が存在し、基準辺側に空き領域がない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【００９３】
図１１Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１１Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＣ０１、Ｃ０２、Ｃ０３が配置されている。ここでは、セルＣ０３が縮小対象セルとして指定されるものとする。縮小対象セルＣ０３は、領域（０４、０１）〜座標（１３、０２）に配置される。縮小対象セルＣ０３の左側の領域（００、０１）〜（０４、０２）にセルＣ０１が配置され、右側の領域（１５、０１）〜（１９、０２）にセルＣ０２が配置される。これにより、右側セルＣ０２と縮小対象セルＣ０３との間に空き領域（１３、０１）〜（１５、０２）が形成される。又、縮小前における縮小対象セルの基準点は、（０４、０１）であり、基準辺は（０４、０１）〜（０４、０２）、対向辺は（１３、０１）〜（１３、０２）である。
【００９４】
本発明による方法では、既存の空き領域を効率的に利用するため、対向辺側の空き領域を拡張するようにセルＣ０３を縮小する。図１１Ａに示す一例では、縮小対象セルＣ０３の右側のみに空き領域が存在するため、縮小対象セルＣ０３の配置位置（基準辺）を変更せずに対向辺を変更して縮小する方法が採用される。
【００９５】
図１１Ｂは、縮小対象セルＣ０３の基準辺を変更せずに対向辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【００９６】
ここでは、縮小対象セルブロックＣ０３の基準辺の座標を変更せずに、セルサイズの小さい縮小セルＣ０４に置き換えられる。詳細には、縮小対象セルＣ０３がチップ上から削除され、縮小対象セルＣ０３を縮小したセルＣ０４が、領域（０４、０１）〜（１０、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＣ０３が配置されていた領域（０４、０１）〜（１３、０２）から、縮小セルＣ０４が配置される領域（０４、０１）〜（１０、０２）に縮小され、縮小セルＣ０４と右側セルＣ０２との間の空き領域が（１０、０１）〜（１５、０２）となる。すなわち、縮小対象セルＣ０３を縮小セルＣ０４に置換することによって、既存の空き領域が、セルの縮小量に応じた３ブロック分拡張される。
【００９７】
次に、図１２Ａ及び図１２Ｂを参照して、縮小対象セルの両側の空き領域が等しい場合（右＝左＞０）のセルの縮小方法を説明する。図１２Ａは、縮小対象セルの両側に空き領域が等しい場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【００９８】
図１２Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１２Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＤ０１、Ｄ０２、Ｄ０３が配置されている。ここでは、セルＤ０３が縮小対象セルとして指定されるものとする。縮小対象セルＤ０３は、領域（０５、０１）〜座標（１３、０２）に配置される。縮小対象セルＤ０３の左側の領域（００、０１）〜（０４、０２）にセルＤ０１が配置され、右側の領域（１５、０１）〜（１９、０２）にセルＢ０２が配置される。これにより、左側セルＣ０１と縮小対象セルＣ０３との間に空き領域（０４、０１）〜（０５、０２）が形成され、右側セルＣ０２と縮小対象セルＣ０３との間に空き領域（１３、０１）〜（１５、０２）が形成される。又、縮小前における縮小対象セルの基準点は、（０５、０１）であり、基準辺は（０５、０１）〜（０５、０２）、対向辺は（１３、０１）〜（１４、０２）である。
【００９９】
図１２Ａに示す一例では、縮小対象セルＤ０３の左右には、同じ大きさ（１ブロック）の空き領域が存在するため、左右のどちらに領域が拡がっても領域の大きさに違いはない。このため、セルを縮小する方法として、縮小対象セルＤ０３の配置位置（基準辺）を変更せずに対向辺側を変更して縮小する方法と、対向辺を変更せずに配置位置（基準辺）を変更して縮小する方法のどちらか一方を選択できる。ここでは、セルの配置位置（基準辺）を変更せずに縮小する方法について説明する。
【０１００】
図１２Ｂは、縮小対象セルＤ０３の配置位置（基準辺）を変更せずに対向辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【０１０１】
ここでは、縮小対象セルブロックＤ０３の基準点（基準辺）の座標を変更せずに、セルサイズの小さい縮小セルＤ０４に置き換えられる。詳細には、縮小対象セルＤ０３がチップ上から削除され、縮小対象セルＤ０３を縮小したセルＤ０４が、領域（０５、０１）〜（１０、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＤ０３が配置されていた領域（０５、０１）〜（１３、０２）から、縮小セルＤ０４が配置される領域（０５、０１）〜（１０、０２）に縮小され、縮小セルＤ０４と右側セルＤ０２との間の空き領域が（１０、０１）〜（１５、０２）となる。すなわち、縮小対象セルＤ０３を縮小セルＤ０４に置換することによって、既存の空き領域がセルの縮小量に応じた３ブロック分拡張される。
【０１０２】
次に、図１３Ａ及び図１３Ｂを参照して、縮小対象セルの対向辺側の空き領域よりも基準辺側の空き領域が大きい場合（左＞右＞０）の、本発明によるセルの縮小方法を説明する。図１３Ａは、縮小対象セルの対向辺側の空き領域よりも基準辺側の空き領域が大きい場合を示す模式図（縮小前）である。
【０１０３】
図１３Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１３Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＥ０１、Ｅ０２、Ｅ０３が配置されている。ここでは、セルＥ０３が縮小対象セルとして指定されるものとする。縮小対象セルＥ０３は、領域（０５、０１）〜座標（１４、０２）に配置される。縮小対象セルＥ０３の左側の領域（００、０１）〜（０２、０２）にセルＥ０１が配置され、右側の領域（１５、０１）〜（１９、０２）にセルＥ０２が配置される。これにより、左側セルＥ０１と縮小対象セルＥ０３との間に空き領域（０２、０１）〜（０５、０２）が形成され、右側セルＥ０２と縮小対象セルＥ０３との間に空き領域（１４、０１）〜（１５、０２）が形成される。又、縮小前における縮小対象セルの基準点は、（０５、０１）であり、基準辺は（０５、０１）〜（０５、０２）、対向辺は（１４、０１）〜（１４、０２）である。
【０１０４】
本発明による方法では、縮小対象セルの両側に空き領域が存在する場合、両者のうち、より大きい空き領域を更に拡張するようにセルＥ０３を縮小する。図１３Ａに示す一例では、縮小対象セルＥ０３の左側の空き領域のサイズが右側の空き領域のサイズよりも２ブロック分大きい。このため、縮小対象セルＥ０３の対向辺を変更せずに配置位置（基準辺）を変更して縮小する方法が採用される。
【０１０５】
図１３Ｂは、縮小対象セルＥ０３の対向辺を変更せずに基準辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【０１０６】
ここでは、縮小対象セルブロックＥ０３の対向辺の座標を変更せずに、セルサイズの小さい縮小セルＥ０４に置き換えられる。詳細には、縮小対象セルＥ０３がチップ上から削除され、縮小対象セルＥ０３を縮小したセルＥ０４が、領域（０８、０１）〜（１４、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＥ０３が配置されていた領域（０５、０１）〜（１４、０２）から、縮小セルＥ０４が配置される領域（０８、０１）〜（１４、０２）に縮小され、縮小セルＥ０４と左側セルＥ０１との間の空き領域が（０２、０１）〜（０８、０２）となる。すなわち、縮小対象セルＥ０３を縮小セルＥ０４に置換することによって、既存の空き領域が、セルの縮小量に応じた３ブロック分拡張される。
【０１０７】
次に、図１４Ａ及び図１４Ｂを参照して、縮小対象セルの基準辺側の空き領域よりも対向辺側の空き領域が大きい場合（右＞左＞０）の、本発明によるセルの縮小方法を説明する。図１４Ａは、縮小対象セルの基準辺側の空き領域よりも対向辺側の空き領域が大きい場合を示す模式図（縮小前）である。
【０１０８】
図１４Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１４Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＦ０１、Ｆ０２、Ｆ０３が配置されている。ここでは、セルＦ０３が縮小対象セルとして指定されるものとする。縮小対象セルＦ０３は、領域（０５、０１）〜座標（１４、０２）に配置される。縮小対象セルＦ０３の左側の領域（００、０１）〜（０４、０２）にセルＦ０１が配置され、右側の領域（１７、０１）〜（１９、０２）にセルＦ０２が配置される。これにより、左側セルＦ０１と縮小対象セルＦ０３との間に空き領域（０４、０１）〜（０５、０２）が形成され、右側セルＦ０２と縮小対象セルＦ０３との間に空き領域（１４、０１）〜（１７、０２）が形成される。又、縮小前における縮小対象セルの基準点は、（０５、０１）であり、基準辺は（０５、０１）〜（０５、０２）、対向辺は（１４、０１）〜（１４、０２）である。
【０１０９】
本発明による方法では、縮小対象セルの両側に空き領域が存在する場合、両者のうち、より大きい空き領域を更に拡張するようにセルＦ０３を縮小する。図１４Ａに示す一例では、縮小対象セルＦ０３の右側の空き領域のサイズが左側の空き領域のサイズよりも２ブロック分大きい。このため、縮小対象セルＦ０３の配置位置（基準辺）を変更せずに対向辺を変更して縮小する方法が採用される。
【０１１０】
図１４Ｂは、縮小対象セルＦ０３の基準辺を変更せずに対向辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【０１１１】
ここでは、縮小対象セルブロックＦ０３の基準辺の座標を変更せずに、セルサイズの小さい縮小セルＦ０４に置き換えられる。詳細には、縮小対象セルＦ０３がチップ上から削除され、縮小対象セルＦ０３を縮小したセルＦ０４が、領域（０５、０１）〜（１１、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＦ０３が配置されていた領域（０５、０１）〜（１４、０２）から、縮小セルＦ０４が配置される領域（０５、０１）〜（１１、０２）に縮小され、縮小セルＦ０４と右側セルＦ０１との間の空き領域が（１１、０１）〜（１７、０２）となる。すなわち、縮小対象セルＦ０３を縮小セルＦ０４に置換することによって、既存の空き領域が、セルの縮小量に応じた３ブロック分拡張される。
【０１１２】
次に、図１５Ａ及び図１５Ｂを参照して、縮小対象セルの基準辺側に空き領域がなく、対向辺側に他のセルブロックがない場合（右＞左＝０）のセルの縮小方法を説明する。図１５Ａは、縮小対象セルの基準辺側に空き領域がなく、対向辺側に他のセルブロックがない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【０１１３】
図１５Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１５Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＧ０１、Ｇ０２が配置されている。ここでは、セルＧ０２が縮小対象セルとして指定されるものとする。縮小対象セルＧ０２は、領域（０４、０１）〜座標（１４、０２）に配置される。縮小対象セルＧ０２の左側の領域（００、０１）〜（０４、０２）にセルＧ０１が配置され、右側の領域にセルは存在しない。これにより、左側セルＧ０１と縮小対象セルＧ０２との間に空き領域は存在せず、縮小対象セルＧ０２と同一行内において、縮小対象セルＧ０２の右側の領域は全て空き領域となる。又、縮小前における縮小対象セルの基準点は、（０４、０１）であり、基準辺は（０４、０１）〜（０４、０２）、対向辺は（１４、０１）〜（１４、０２）である。
【０１１４】
本発明による方法では、既存の空き領域を効率的に利用するため、対向辺側の空き領域を拡張するようにセルＧ０２を縮小する。図１５Ａに示す一例では、縮小対象セルＧ０２の右側のみに空き領域が存在するため、縮小対象セルＧ０２の配置位置（基準辺）を変更せずに対向辺を変更して縮小する方法が採用される。
【０１１５】
図１５Ｂは、縮小対象セルＧ０２の基準辺を変更せずに対向辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【０１１６】
ここでは、縮小対象セルブロックＧ０２の基準辺の座標を変更せずに、セルサイズの小さい縮小セルＧ０３に置き換えられる。詳細には、縮小対象セルＧ０２がチップ上から削除され、縮小対象セルＧ０２を縮小したセルＧ０３が、領域（０４、０１）〜（１０、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＧ０２が配置されていた領域（０４、０１）〜（１４、０２）から、縮小セルＧ０３が配置される領域（０４、０１）〜（１０、０２）に縮小され、縮小セルＧ０３の対向辺（１０、０１）〜（１０、０２）の右側の領域が全て空き領域となる。これにより、空き領域がセルの縮小量に応じた４ブロック分拡張される。
【０１１７】
次に、図１６Ａ及び図１６Ｂを参照して、縮小対象セルの対向辺側に空き領域がなく、基準辺側に他のセルブロックがない場合（左＞右＝０）のセルの縮小方法を説明する。図１６Ａは、縮小対象セルの対向辺側に空き領域がなく、基準辺側に他のセルブロックがない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【０１１８】
図１６Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１６Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＨ０１、Ｈ０２が配置されている。ここでは、セルＨ０２が縮小対象セルとして指定されるものとする。縮小対象セルＨ０２は、領域（０５、０１）〜座標（１５、０２）に配置される。縮小対象セルＨ０２の右側の領域（１５、０１）〜（１９、０２）にセルＨ０１が配置され、左側の領域にセルは存在しない。これにより、右側セルＨ０１と縮小対象セルＨ０２との間に空き領域は存在せず、縮小対象セルＨ０２と同一行内において、縮小対象セルＨ０２の右側の領域は全て空き領域となる。又、縮小前における縮小対象セルの基準点は、（０５、０１）であり、基準辺は（０５、０１）〜（０５、０２）、対向辺は（１５、０１）〜（１５、０２）である。
【０１１９】
本発明による方法では、既存の空き領域を効率的に利用するため、基準辺側の空き領域を拡張するようにセルＨ０２を縮小する。図１６Ａに示す一例では、縮小対象セルＨ０２の左側のみに空き領域が存在するため、縮小対象セルＨ０２の対向辺を変更せずに配置位置（基準辺）を変更して縮小する方法が採用される。
【０１２０】
図１６Ｂは、縮小対象セルＨ０２の対向辺を変更せずに基準辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【０１２１】
ここでは、縮小対象セルブロックＨ０２の基準辺の座標を変更せずに、セルサイズの小さい縮小セルＨ０３に置き換えられる。詳細には、縮小対象セルＨ０２がチップ上から削除され、縮小対象セルＨ０２を縮小したセルＨ０３が、領域（０９、０１）〜（１５、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＨ０２が配置されていた領域（０５、０１）〜（１５、０２）から、縮小セルＨ０３が配置される領域（０９、０１）〜（１５、０２）に縮小され、縮小セルＨ０３の基準辺（０９、０１）〜（０９、０２）の左側の領域が全て空き領域となる。これにより、空き領域がセルの縮小量に応じた４ブロック分拡張される。
【０１２２】
次に、図１７Ａ及び図１７Ｂを参照して、縮小対象セルの対向辺側に他のセルブロックがなく、対向辺側の空き領域が基準辺側の空き領域より大きい場合（右＞左＞０）のセルの縮小方法を説明する。図１７Ａは、縮小対象セルの対向辺側に他のセルブロックがなく、対向辺側の空き領域が基準辺側の空き領域より大きい場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【０１２３】
図１７Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１７Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＩ０１、Ｉ０２が配置されている。ここでは、セルＩ０２が縮小対象セルとして指定されるものとする。縮小対象セルＩ０２は、領域（０５、０１）〜座標（１４、０２）に配置される。縮小対象セルＩ０２の左側の領域（００、０１）〜（０４、０２）にセルＩ０１が配置され、右側の領域にセルは存在しない。これにより、左側セルＩ０１と縮小対象セルＩ０２との間に空き領域（０４、０１）〜（０５、０２）が形成され、縮小対象セルＩ０２と同一行内において、縮小対象セルＩ０２の右側の領域は全て空き領域となる。又、縮小前における縮小対象セルの基準点は、（０５、０１）であり、基準辺は（０５、０１）〜（０５、０２）、対向辺は（１４、０１）〜（１４、０２）である。
【０１２４】
本発明による方法では、既存の空き領域を効率的に利用するため、対向辺側の空き領域を拡張するようにセルＩ０２を縮小する。図１７Ａに示す一例では、縮小対象セルＩ０２の右側の空き領域が左側の空き領域よりも大きいため、縮小対象セルＩ０２の配置位置（基準辺）を変更せずに対向辺を変更して縮小する方法が採用される。
【０１２５】
図１７Ｂは、縮小対象セルＩ０２の基準辺を変更せずに対向辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【０１２６】
ここでは、縮小対象セルブロックＩ０２の基準辺の座標を変更せずに、セルサイズの小さい縮小セルＩ０３に置き換えられる。詳細には、縮小対象セルＩ０２がチップ上から削除され、縮小対象セルＩ０２を縮小したセルＩ０３が、領域（０５、０１）〜（１０、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＩ０２が配置されていた領域（０５、０１）〜（１４、０２）から、縮小セルＩ０３が配置される領域（０５、０１）〜（１０、０２）に縮小され、縮小セルＩ０３の対向辺（１０、０１）〜（１０、０２）の右側の領域が全て空き領域となる。これにより、空き領域がセルの縮小量に応じた４ブロック分拡張される。
【０１２７】
次に、図１８Ａ及び図１８Ｂを参照して、縮小対象セルの基準辺側に他のセルブロックがなく、基準辺側の空き領域が対向辺側の空き領域より大きい場合（左＞右＞０）のセルの縮小方法を説明する。図１８Ａは、縮小対象セルの基準辺側に他のセルブロックがなく、基準辺側の空き領域が対向辺側の空き領域より大きい場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【０１２８】
図１８Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１８Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＪ０１、Ｊ０２が配置されている。ここでは、セルＪ０２が縮小対象セルとして指定されるものとする。縮小対象セルＪ０２は、領域（０５、０１）〜座標（１４、０２）に配置される。縮小対象セルＪ０２の右側の領域（１５、０１）〜（１９、０２）にセルＪ０１が配置され、左側の領域にセルは存在しない。これにより、右側セルＪ０１と縮小対象セルＪ０２との間に空き領域（１４、０１）〜（１５、０２）が形成され、縮小対象セルＪ０２と同一行内において、縮小対象セルＪ０２の左側の領域は全て空き領域となる。又、縮小前における縮小対象セルの基準点は、（０５、０１）であり、基準辺は（０５、０１）〜（０５、０２）、対向辺は（１４、０１）〜（１４、０２）である。
【０１２９】
本発明による方法では、既存の空き領域を効率的に利用するため、対向辺側の空き領域を拡張するようにセルＪ０２を縮小する。図１８Ａに示す一例では、縮小対象セルＪ０２の左側の空き領域が右側の空き領域よりも大きいため、縮小対象セルＪ０２の対向辺を変更せずに配置位置（基準辺）を変更して縮小する方法が採用される。
【０１３０】
図１８Ｂは、縮小対象セルＪ０２の対向辺を変更せずに基準辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【０１３１】
ここでは、縮小対象セルブロックＪ０２の対向辺の座標を変更せずに、セルサイズの小さい縮小セルＪ０３に置き換えられる。詳細には、縮小対象セルＪ０２がチップ上から削除され、縮小対象セルＪ０２を縮小したセルＪ０３が、領域（０９、０１）〜（１４、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＪ０２が配置されていた領域（０５、０１）〜（１４、０２）から、縮小セルＪ０３が配置される領域（０９、０１）〜（１５、０２）に縮小され、縮小セルＪ０３の基準辺（０９、０１）〜（０９、０２）の右側の領域が全て空き領域となる。これにより、空き領域がセルの縮小量に応じた４ブロック分拡張される。
【０１３２】
次に、図１９Ａ及び図１９Ｂを参照して、縮小対象セルの両側に他のセルがない場合のセルの縮小方法を説明する。図１９Ａは、縮小対象セルの両側に他のセルがない場合の、本発明によるセルの縮小方法を示す模式図（縮小前）である。
【０１３３】
図１９Ａには、縮小前の半導体集積回路のレイアウトの一部（００、００）〜（１９、０３）が示される。図１９Ａに示す領域には、図１に示すタイミングドリブンレイアウト（ステップＳ１０１）によって、セルＫ０１が配置されている。ここでは、セルＫ０１が縮小対象セルとして指定される。縮小対象セルＫ０１は、領域（０５、０１）〜座標（１４、０２）に配置される。縮小対象セルＫ０１の左側及び右側には他のセルは配置されていない。これにより、同一行において縮小対象セルＫ０１の左右の領域は全て空き領域となる。又、縮小前における縮小対象セルの基準点は、（０５、０１）であり、基準辺は（０５、０１）〜（０５、０２）、対向辺は（１４、０１）〜（１４、０２）である。
【０１３４】
図１９Ａに示す一例では、縮小対象セルＫ０１の左右には、広い空き領域が存在するため、左右のどちらに領域が拡がっても領域の大きさに違いはない。このため、セルを縮小する方法として、縮小対象セルＫ０１の配置位置（基準辺）を変更せずに対向辺側を変更して縮小する方法と、対向辺を変更せずに配置位置（基準辺）を変更して縮小する方法のどちらか一方を選択できる。ここでは、セルの配置位置（基準辺）を変更せずに縮小する方法について説明する。
【０１３５】
図１９Ｂは、縮小対象セルＫ０１の配置位置（基準辺）を変更せずに対向辺側を変更する縮小方法によって得られたレイアウトの一部（００、００）〜（１９、０３）を示す。
【０１３６】
ここでは、縮小対象セルブロックＫ０１の基準点（基準辺）の座標を変更せずに、セルサイズの小さい縮小セルＫ０２に置き換えられる。詳細には、縮小対象セルＫ０１がチップ上から削除され、縮小対象セルＫ０１を縮小したセルＫ０２が、領域（０５、０１）〜（１０、０２）に配置される。これにより、セルが占める領域は、縮小対象セルブロックＫ０１が配置されていた領域（０５、０１）〜（１４、０２）から、縮小セルＫ０２が配置される領域（０５、０１）〜（１０、０２）に縮小され、既存の右側の空き領域がセルの縮小量に応じた３ブロック分拡張される。
【０１３７】
図８Ａ〜図１９Ｂに示す一例は、チップ上における１行に着目して説明したが、他の行も同様に行うことで、セル縮小による空き領域を拡張することができる。
【０１３８】
以上のように、本発明によれば、縮小対象セルを挟む２つの空き領域のうち、広い側の空き領域を拡張するように、セルの縮小処理が行われる。これにより、セルの配置や拡大に対して効率よく利用可能な空き領域を確保することができる。又、縮小セルの再配置位置は、元のセルが配置された領域内に設定されるため、他の配線やセルを移動する必要がないため、セルや配線の移動するための領域の確保や、移動に伴う検証作業等を省略することができる。すなわち、本発明によれば、チップサイズの増大を抑制し、タイミング収束性を損なわずに、低電力化処理（ステップＳ１８）やタイミング遅延修正処理（ステップＳ１９）以降に行われるセルの追加や既存セルのサイズアップに利用可能な空き領域を、セル縮小処理の段階で確保することができる。
【０１３９】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。本実施の形態では、行方向（Ｘ軸方向）にセルを縮小する方法について説明したが、列方向（Ｙ軸方向）に縮小する方法にも適用できる。この際、上述と同様に、縮小対象セルの上下の空き領域の比較結果に応じて、配置位置（基準点のチップ上における位置）が決定する。又、行方向及び列方向を同時に縮小する方法にも適用できる。
【０１４０】
又、縮小セルは、セルの縮小処理の都度、生成されてもよいし、予め、記憶装置１５に記録されているライブラリデータを利用してもよい。
【０１４１】
更に、本実施の形態では、レイアウト情報２０１から取得した位置座標に基づいて、空き領域のサイズ比較等の処理を行ったが、領域のサイズ（面積又は面積に対応する寸法）を比較できればこれに限らない。例えば、マスタスライス型の半導体集積回路を設計する場合、ブロック単位でセルの位置やサイズを取得し、これを用いて空き領域のサイズを比較することができる。
【符号の説明】
【０１４２】
１００：半導体集積回路設計支援プログラム
１０１：空き領域算出部
１０２：空き領域比較部
１０３：セル位置設定部
１０４：セルサイズ縮小部
【図１】
2011123543.tif 000003
【図２】
2011123543.tif 000004
【図３】
2011123543.tif 000005
【図４Ａ】
2011123543.tif 000006
【図４Ｂ】
2011123543.tif 000007
【図５】
2011123543.tif 000008
【図６】
2011123543.tif 000009
【図７】
2011123543.tif 000010
【図８Ａ】
2011123543.tif 000011
【図８Ｂ】
2011123543.tif 000012
【図８Ｃ】
2011123543.tif 000013
【図９Ａ】
2011123543.tif 000014
【図９Ｂ】
2011123543.tif 000015
【図１０Ａ】
2011123543.tif 000016
【図１０Ｂ】
2011123543.tif 000017
【図１１Ａ】
2011123543.tif 000018
【図１１Ｂ】
2011123543.tif 000019
【図１２Ａ】
2011123543.tif 000020
【図１２Ｂ】
2011123543.tif 000021
【図１３Ａ】
2011123543.tif 000022
【図１３Ｂ】
2011123543.tif 000023
【図１４Ａ】
2011123543.tif 000024
【図１４Ｂ】
2011123543.tif 000025
【図１５Ａ】
2011123543.tif 000026
【図１５Ｂ】
2011123543.tif 000027
【図１６Ａ】
2011123543.tif 000028
【図１６Ｂ】
2011123543.tif 000029
【図１７Ａ】
2011123543.tif 000030
【図１７Ｂ】
2011123543.tif 000031
【図１８Ａ】
2011123543.tif 000032
【図１８Ｂ】
2011123543.tif 000033
【図１９Ａ】
2011123543.tif 000034
【図１９Ｂ】
2011123543.tif 000035