(57)【要約】【課題】  本発明の課題は、半導体集積回路のレイアウト処理におけるセル配置の際に、隣り合う２つのセルの特性を考慮した配置によって最適化することことを目的とする。【解決手段】  上記課題は、隣接して配置されるセルの組み合せ毎にショート可否とセル枠のオーバーラップ可能な距離との対応付けを含む最適化ライブラリを格納する第一記憶領域と、デザインルールを満たすセル配置において、前記第一記憶領域に格納されている前記最適化ライブラリを参照することによって、前記ショート可能なセルの組み合せに対して前記セル枠をオーバーラップさせて配置する第一最適化手段とを有することを特徴とする半導体集積回路のレイアウト装置により達成される。【選択図】  図５
2011192155.tif 000002
【特許請求の範囲】
【請求項１】
隣接して配置されるセルの組み合せ毎にショート可否とセル枠のオーバーラップ可能な距離との対応付けを含む最適化ライブラリを格納する第一記憶領域と、
デザインルールを満たすセル配置において、前記第一記憶領域に格納されている前記最適化ライブラリを参照することによって、前記ショート可能なセルの組み合せに対して前記セル枠をオーバーラップさせて配置する第一最適化手段と
を有することを特徴とする半導体集積回路のレイアウト装置。
【請求項２】
前記セルの少なくとも電気的特性又は歩留のいずれかに対応したセル間の間隔距離を示す対応テーブルを格納する第二記憶領域と、
前記第二記憶領域に格納されている前記対応テーブルを参照することによって、前記第一最適化手段によって配置されたセル間の間隔距離を変更する第二最適化手段と
を有することを特徴とする請求項１記載の半導体集積回路のレイアウト装置。
【請求項３】
前記対応テーブルは、セルの組み合せ毎に、消費電力削減に係る配線密度ごとの端子容量値を前記電気的特性として、対応するセル間の間隔距離を示すことを特徴とする請求項２記載の半導体集積回路のレイアウト装置。
【請求項４】
前記対応テーブルは、セルの組み合せ毎に、セル内のポリシリコン間隔を１単位とするポリピッチスケールを用いて、歩留に係るセル間の間隔距離を対応付けていることを特徴とする請求項２記載の半導体集積回路のレイアウト装置。
【請求項５】
前記対応テーブルは、セルの組み合せ及びビア密度毎に、歩留に係るセル間の間隔距離を対応付けていることを特徴とする請求項２記載の半導体集積回路のレイアウト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト装置に関し、レイアウト処理におけるセル配置の際に、隣り合う２つのセルの特性を考慮した配置によって最適化することに関する。
【背景技術】
【０００２】
半導体集積回路（以下、ＬＳＩ）を設計するに際し、レイアウト段階におけるセル及びマクロ（以下、総称して単にマクロと言う）の配置では、配置対象となるセルとその隣接に配置されるセルとの間隔が間隔ルールに従って配置される。配線率、タイミング、クロストークノイズなどといった要素を元に、セル配置の最適化が行なわれてきた。
【０００３】
例えば、ＡＣ特性を考慮したセルの配置に関し、クロックツリー遅延見積テーブルを参照してタイミングドリブンによるセル配置を行う、また、セルのレイアウトに関し、概略位置へ配置後、セル間のクリティカルエリア値に基づきセル間のクリティカルエリア値が格納されたテーブルを用いて詳細な配置を行い、歩留まりを向上させること等が提案されている（例えば、特許文献１、２を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−９９４９１号公報
【特許文献２】特再０４−０３４４６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、物理的な配置ルールのみで、どの特性を持ったセルの配置なのかは考慮されていなかったため、隣り合うセルの組み合わせに応じた最適なセル配置を行うことができなかった。
【課題を解決するための手段】
【０００６】
開示の技術は、半導体集積回路のレイアウト装置であって、隣接して配置されるセルの組み合せ毎にショート可否とセル枠のオーバーラップ可能な距離との対応付けを含む最適化ライブラリを格納する第一記憶領域と、デザインルールを満たすセル配置において、前記第一記憶領域に格納されている前記最適化ライブラリを参照することによって、前記ショート可能なセルの組み合せに対して前記セル枠をオーバーラップさせて配置する第一最適化手段とを有するように構成される。
【発明の効果】
【０００７】
開示の技術において、レイアウト処理におけるセル配置の際に、隣り合う２つのセルの特性を考慮した配置を可能とするため、セル配置を最適化することができる。
【図面の簡単な説明】
【０００８】
【図１】レイアウト装置のハードウェア構成を示す図である。
【図２】最適化ライブラリの作成処理を説明するためのフローチャート図である。
【図３】セル枠と物理データとの関係を示す図である。
【図４】作成された最適化ライブラリのデータ構成例を示す図である。
【図５】配置最適化処理を説明するためのフローチャート図である。
【図６】隣接セルをオーバーラップさせるオーバーラップ処理を説明するための図である。
【図７】セル間の消費電力削減量と間隔距離の対応例を示す図である。
【図８】消費電力削減を目的とした配置最適化を説明するための図である。
【図９】ポリピッチを用いた最適化を説明するための図である。
【図１０】ビア密度を考慮した最適化を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。ＬＳＩ（半導体集積回路）の設計において、搭載されるセルを配置するためのレイアウト装置は、図１に示すようなハードウェア構成を成す。図１は、レイアウト装置のハードウェア構成を示す図である。
【００１０】
図１において、レイアウト装置１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、メモリユニット１２と、表示ユニット１３と、出力ユニット１４と、入力ユニット１５と、通信ユニット１６と、記憶装置１７と、ドライバ１８とを有し 、システムバスＢに接続される。
【００１１】
ＣＰＵ１１は、メモリユニット１２に格納されたプログラムに従ってレイアウト装置１００を制御する。メモリユニット１２には、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、メモリユニット１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００１２】
表示ユニット１３は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力ユニット１４は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット１５は、マウス、キーボード等を有し、利用者がレイアウト装置１００が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット１６は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。記憶装置１７には、例えば、ハードディスクユニットが用いられ、各種処理を実行するプログラム等のデータを格納する。
【００１３】
レイアウト装置１００よって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によってレイアウト装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライバ１８にセットされると、ドライバ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがシステムバスＢを介して記憶装置１７にインストールされる。そして、プログラムが起動されると、記憶装置１７にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本実施例に係る処理を実現するプログラムは、通信ユニット１６によってネットワークを介してダウンロードし、記憶装置１７にインストールするようにしても良い。また、ＵＳＢ対応のレイアウト装置１００であれば、ＵＳＢ接続可能な外部記憶装置からインストールするようにしても良い。更に、ＳＤカード等のフラッシュメモリ対応のレイアウト装置１００であれば、そのようなメモリカードからインストールするようにしても良い。
【００１４】
先ず、レイアウト装置１００のＣＰＵ１１がプログラムを実行することによって行われる配置最適化処理にて参照される最適化ライブラリの作成処理を図２、図３、及び図４で説明する。図２は、最適化ライブラリの作成処理を説明するためのフローチャート図である。図３は、セル枠と物理データとの関係を示す図である。図４は、作成された最適化ライブラリのデータ構成例を示す図である。
【００１５】
図２において、ＣＰＵ１１は、メモリユニット１２又は記憶装置１７の記憶領域（以下、メモリユニット１２又は記憶装置１７を特定せず、単に記憶領域と言う）に格納されているセルライブラリ３２から設計するＬＳＩに搭載するセル情報を１つ読み出す（ステップＳ１１）。ＣＰＵ１１は、更にセルの物理データ３ｆを読み込んで、セル枠３ｗから内側へ物理データ３ｆの上下左右のエッジまでの距離を取得する（ステップＳ１２）。
【００１６】
ここで、物理データ３ｆとは、ウェルやポリシリコン（以下、ポリと略す）などの形状等の物理的な特徴を示す情報を含んでいる。ウェルやポリは、物理データ３ｆによって表現される。
【００１７】
ステップ１２では、例えば、セル情報とウェルやポリの物理データ３ｆとを用いることによって、ウェルの物理データ３ｆの各エッジを検出して各エッジからセル枠３ｗまでの距離、ポリの物理データ３ｆの各エッジからセル枠３ｗまでの距離が取得される（図３）。セル枠と上下左右のエッジの距離の項目値としてウェルとポリがあり、例えば、ＣＥＬＬ１に対して、セル枠とウェルの上下左右のエッジの距離として「αｔ１、αｂ１、αｌ１、αｒ１」及びセル枠とポリの上下左右のエッジの距離として「αｔ２、αｂ２、αｌ２、αｒ２」を取得する。
【００１８】
続けて、ＣＰＵ１１は、マスクデザインルールなどのデザインルール３１を読み込んで、セルと隣接セルの物理データ３ｆのデザインルール３１から、つまりウェルやポリの各エッジのセル間における配置間隔距離を算出する（ステップＳ１３）。ここで、各エッジの配置間隔距離とは、デザインルール３１で規定されているセルのウェルと隣接セルのウェルとの上下左右の配置間隔距離と、セルのポリと隣接セルのポリとの上下左右の配置間隔距離とを夫々取得して所定計算式で算出する。所定計算式は、例えば、
βｘ＝（デザインルールの値／２）−αｘ
ここで、αｘ（＝αｔ、αｂ、αｌ、αｒ）は、ステップＳ１２で取得した上下左右の各距離を示し、βｘ（＝βｔ、βｂ、βｌ、βｒ）は、上下左右の各配置間隔距離を示す。
【００１９】
図４に示す最適化ライブラリ７において、ＣＥＬＬ１と隣接ＣＥＬＬ２のポリ間隔ルールの項目値として、「βｔ１、βｂ１、βｌ１、βｒ１」、ウェル間隔ルールの項目値として「βｔ２、βｂ２、βｌ２、βｒ２」が設定される。
【００２０】
次に、ＣＰＵ１１は、利用者に、物理データ３ｆのレイアウトから、セルの組み合せによるウェル（Ｗｅｌｌ）及び活性領域（ＦＬ）のショート化又は不可のフラグ、及びショート化の場合にショート可能な距離をエッジ毎に設定させる（ステップＳ１４）。更に、ＣＰＵ１１は、利用者に、セル内のポリ間隔（poly pitch）を設定させる（ステップＳ１５）。
【００２１】
或いは、利用者によって予め設定され記憶領域に保存された、セルの組み合せによるウェル（Ｗｅｌｌ）及び活性領域（ＦＬ）のショート化又は不可の情報、及び、ショート化の場合にショート可能なエッジ毎の距離の情報、更に、セル内のポリ間隔（poly pitch）を示す情報を記憶領域から読み込んで、最適化ライブラリ７に書き込む。
【００２２】
ショート可とは、隣接するセル同士が同電位で、セル枠より内側での配置が可能でることを示す。ショート可能な距離とは、そのセルの組み合わせにおいて、セル枠内にオーバーラップできる距離を示す。
【００２３】
図４に示す最適化ライブラリ７において、ＣＥＬＬ１と隣接ＣＥＬＬ２のショート可否の項目値としてショート可を示す「１」、ショート可能な距離の項目値として「Ｌ１」、ポリ間隔の項目値として「Ｐ１」が設定される。ショート不可の場合、ショート可否の項目値は「０」で示され、その場合、ショート可能な距離の項目値及びポリ間隔の項目値は「ｎｕｌｌ」が設定される。
【００２４】
ＣＰＵ１１は、全てのセルについてセルライブラリ７への設定が終了したか否かを判断する（ステップＳ１６）。設定が終了していない場合、ステップＳ１１へ戻り、上述同様の処理を実行する。一方、設定が終了している場合、この最適化ライブラリの作成処理を終了する。
【００２５】
次に、レイアウト装置１００のＣＰＵ１１がプログラムを実行することによって行われる配置最適化処理について図５で説明する。図５は、配置最適化処理を説明するためのフローチャート図である。図５において、ＣＰＵ１１は、予め記憶装置１７に格納されたセルライブラリ３２等の初期配置に必要なデータを読み込んで、セルを初期配置して、レイアウトデータ４０としてメモリユニット１２又は記憶装置１７の記憶領域（以下、メモリユニット１２又は記憶装置１７を特定せず、単に記憶領域と言う）に出力する（ステップＳ３１）。
【００２６】
ＣＰＵ１１は、初期配置を示すレイアウトデータ４０を参照して、全てのセル−セル間の配置間隔距離を取得し、セル識別情報と配置間隔距離を示すセル配置間隔リスト５１を記憶領域に出力する（ステップＳ３２）。続けて、ＣＰＵ１１は、レイアウトデータ４０を参照することによって、セル配置間隔リスト５１のセル（対象セル）毎に、上下左右に位置する隣接セルを特定し、セル配置間隔リスト５１に隣接セルのセル識別情報を対象セルの上下左右の隣接方向毎に格納する。セル配置間隔リスト５１には、対象セル毎に、上下左右の隣接セルまでの配置間隔と、上下左右の隣接セルのセル識別情報とが対応付けられて出力されている。
【００２７】
そして、ＣＰＵ１１は、第一の最適化処理として、デザインルールで配置最適化を行う（ステップＳ３４）。この第一の最適化処理において、ＣＰＵ１１は、ＬＳＩのセル配置領域の左上の行（Row）の最上段から順に、デザインルール３１に基づいてセル−セル間チェックを行い（ステップＳ３４−２）、セル−セル間でエラーが出ないように距離を確定する（ステップＳ３４−４）。最適化ライブラリ７を参照することにより、対象セルとの組み合せでショート可の隣接セルのセル枠をオーバーラップさせて配置する（ステップＳ３４−６）。ＣＰＵ１１は、第一の最適化処理の結果に基づいてセル配置間隔リスト５１内の配置間隔を変更する。
【００２８】
更に、ＣＰＵ１１は、第二の最適化処理として、特性考慮した配置最適化を行って、その結果に基づいてセル配置間隔リスト５１内の配置間隔を変更し（ステップＳ３５）、セル配置間隔リスト５１を用いて、上述の処理によって得られた最適化されたセルの配置情報でレイアウトデータ４０を更新し、この配置最適化処理を終了する。
【００２９】
第二の最適化処理では、セル配置をどのような目的で最適化するか、つまり最適化の目的別に対応するセルの特性を用いて最適化する。最適化の目的が消費電力削減である場合、ＣＰＵ１１は、消費電力削減用テーブル８を参照し、目的とする消費電力削減量を満たすようにセル配置の最適化を行う。最適化の目的が歩留である場合、ＣＰＵ１１は、歩留用テーブル８を参照し、目的とする歩留を満たすようにセル配置の最適化を行う。歩留用テーブル８として、ポリピッチ用テーブル９１又はビア密度用テーブル９３を用いる。
【００３０】
上述した第一の最適化処理におけるステップ３４−３にて、隣接セルをオーバーラップさせるオーバーラップ処理について図６で説明する。図６は、隣接セルをオーバーラップさせるオーバーラップ処理を説明するための図である。
【００３１】
図６（Ａ）は、図４に示す最適化ライブラリ７を参照して、ショート可否に基づくオーバーラップ距離テーブルの例を示す図である。隣接セルの中には、上下左右が逆になるようにフリップさせることによってオーバーラップさせることができるセルがある。図６（Ａ）に示すオーバーラップ距離テーブル７３では、対象セルを横に、隣接セルを縦にしたマトリックスでセル−セル間を示している。対象セルの左側に隣接セルの右側が配置される配置関係で示し、例えば、対象セル「ＣＥＬＬ１」の右側に対して、隣接セル「ＣＥＬＬ１」の左側となる配置関係ではショート可能な距離Ｌ１１が示され、隣接セル「ＣＥＬＬ２」又は「ＣＥＬＬ３」の左側となる配置関係ではショート不可であることが示される。また、対象セル「ＣＥＬＬ２」の右側に対して、隣接セル「ＣＥＬＬ１」の左側となる配置関係ではショート可能な距離Ｌ１２が示され、隣接セル「ＣＥＬＬ２」の左側となる配置関係では「Ｆｌｐ」が設定されていることにより、隣接セル「ＣＥＬＬ２」をフリップさせることによってショート可能となり、ショート可能な距離Ｌ２２であることが示されている。
【００３２】
対象セル「ＣＥＬＬ２」の右側に隣接セル「ＣＥＬＬ２」の左側が隣接する配置関係を例として、オーバーラップさせた配置について、図６（Ｂ）及び図６（Ｃ）で説明する。図６（Ｂ）に示すような、出力端子７ｄが在る側を右側とする対象セル７ａ及び隣接セル７ｂとが、対象セル７ａの右側に隣接セル７ｂの左側が隣り合う配置関係において、図６（Ｃ）に示すように、隣接セル７ｂをフリップさせて上下左右を逆にし、かつ、ショート可能な距離Ｌ２２分をオーバーラップさせて出力端子７ｄ同士をショートさせた配置とすることによって、対象セル７ａと隣接セル７ｂのセル２個分の配置領域を少なくすることができる。
【００３３】
次に、上述した第二の最適化処理におけるステップ３５にて、消費電力削減を最適化の目的とした場合について図７で説明する。図７は、セル間の消費電力削減量と間隔距離の対応例を示す図である。
【００３４】
図７（Ａ）に例示される消費電力削減用マスター８ｍは、各セルのセル周りにある目的とする消費電力制限値（配線容量）毎にセル端子容量値と、目的とする消費電力制限値を満たすための必要間隔距離とを対応させたマスターテーブルである。消費電力削減用マスター８ｍでは、消費電力を最大に削減するための（言い換えると、消費電力削減を最優先とする場合の）消費電力制限値Ａと、配線密度を最大とした場合の消費電力制限値Ｂの各々に対して、配線したメタルの込み具合（配線密度の程度）と、左右の端子の容量値と、最小限必要な上下左右の各間隔距離とが示される。消費電力制限値Ａと消費電力制限値Ｂの２つの場合で例示しているが、３以上の消費電力制限値を設けてもよい。
【００３５】
図７（Ｂ）に例示される消費電力用テーブル８は、対象セルを横に、隣接セルを縦に示して、セル−セル間の組み合せ毎の目的とする消費電力制限値毎に必要間隔距離を示したテーブルであり、対象セルに対して隣接セルの左側が隣接した場合（左隣接）のテーブル例を示している。消費電力用テーブル８は、上隣接、下隣接、左隣接、右隣接の各々で作成される。
【００３６】
利用者によって消費電力削減を最優先とすることが指定されている場合、消費電力削減用マスター８ｍで示されるように、対象セル及び隣接セルのセル内の端子容量値は小さく設定され、消費電力用テーブル８の対象セル及び隣接セルの組み合せにおいて、消費電力制限値Ａに対する間隔距離が参照されてセル間の距離が最適化される。図５のステップＳ３５における第二の最適化処理として、消費電力削減を目的とした配置最適化が行われた場合について図８で説明する。
【００３７】
図８は、消費電力削減を目的とした配置最適化を説明するための図である。図８（Ａ）では、ＣＰＵ１１は、消費電力削減用テーブル８を参照して、セルの組み合せから消費電力削減用テーブル８内の該当セルの組み合せに対応する値を取得し（ステップＳ５１）、その組み合せについて消費電力制限値を選択する（ステップＳ５２）。利用者が消費電力効果大を選択する場合は消費電力制限値Ａが選択され、消費電力効果大を選択しない場合は消費電力制限値Ｂが選択される。セルの組み合せ毎の消費電力効果大の選択は、セルの組み合せ毎に予め利用者によって設定されたデータを読み込んで行ってもよい。
【００３８】
次に、ＣＰＵ５１は、第一の最適化処理の結果が反映されたセル配置間隔リスト５１を参照して、セル配置間隔リスト５１内の該当セルの組み合せの配置間隔距離と、消費電力削減用テーブル８内の該当セルの組み合せにおける配置関係（上隣接、下隣接、左隣接、右隣接のいずれか）に応じた必要間隔距離とを比較する（ステップＳ５３）。配置間隔距離が必要間隔距離より広い場合、ＣＰＵ１１は、ステップＳ５５へと進む。一方、配置間隔距離が必要間隔距離以下である場合、ＣＰＵ１１は、セルとセルの間隔を広げて必要間隔距離を満たすようにし、セル配置間隔リスト５１を変更する（ステップＳ５４）。
【００３９】
そして、ＣＰＵ１１は、全ての組み合せを終了したか否かを判断する（ステップＳ５５）。全ての組み合せを終了していない場合、ＣＰＵ１１は、ステップＳ５１へと戻り、全ての組み合せを終了するまで上述した同様の処理を繰り返し、全ての組み合せを終了した場合、この処理を終了する。
【００４０】
図８（Ｂ）では、ＣＥＬＬ１とＣＥＬＬ２との組み合せの例で示している。図７（Ｂ）に示される消費電力削減用テーブル８の例にて、ＣＥＬＬ１に左隣接でＣＥＬＬ２が配置される場合に、消費電力制限値Ａを選択した場合は、必要間隔距離はＬＮ３となる。上述したステップＳ５３での判断にて、配置間隔距離が必要間隔距離ＬＮ３より広い場合には、セル配置間隔リスト５１を更新しない。一方、配置間隔距離が必要間隔距離ＬＮ３以下の場合は、セルとセルの間隔を広げて必要間隔距離ＬＮ３を満たすように、セル配置間隔リスト５１内のこのセルの組み合せの配置間隔距離を必要間隔距離ＬＮ３に変更する。
【００４１】
以下に、歩留を考慮したセル配置の最適化の一例について説明する。先ず、セル間でポリ間隔（poly pitch）を均一になるように配置することで歩留り良くさせるようにした最適化について図９で説明する。図９は、ポリピッチを用いた最適化を説明するための図である。
【００４２】
図９（Ａ）に例示されるポリピッチ用テーブル９１は、最適化ライブラリ７を参照することによって作成される、対象セルがＣＥＬＬ１の場合の隣接セル毎のＣＥＬＬ１のポリ間隔Ｐ１を考慮したＣＥＬＬ１と隣接セルとの配置間隔距離を対応させたテーブルである。ポリピッチ用テーブル９１において、配置間隔距離が「ｎｕｌｌ」の場合、対象セル「ＣＥＬＬ１」の左側に隣接セルの左側が配置されることがあり得ないことを示している。また、対象セル「ＣＥＬＬ１」の右側には隣接セル「ＣＥＬＬ１」の左側が配置される場合、配置間隔距離「ＬＰ１１」とすることによってＣＥＬＬ１のポリ間隔Ｐ１を考慮した配置間隔となることが示されている。
【００４３】
図９（Ｂ）では、対象セル「ＣＥＬＬ１」の右側に隣接セル「ＣＥＬＬ２」の左側が配置される場合を例示しており、ＣＥＬＬ１のポリシリコン９ｐのポリ間隔Ｐ１を１単位とする均一ポリピッチのスケール９ｓを用いて設定された配置間隔距離ＬＰ１２となるように、ＣＥＬＬ２の配置を最適化している。この場合、セル配置間隔リスト５１内のＣＥＬＬ１とＣＥＬＬ２の組み合せによる配置間隔距離がＬＰ１２へと変更される。
【００４４】
ポリピッチを考慮した最適化は、全てのセルの組み合せに適応する必要はなく、例えば、ポリシリコン９ｐの密度が所定値を超えるセルに対してのみ適応すればよい。
【００４５】
次に、歩留を考慮したセル配置の最適化の他の例について説明する。セル内のビア数（コンタクト数）を考慮して配置することで歩留り良くさせるようにした最適化について図１０で説明する。図１０は、ビア密度を考慮した最適化を説明するための図である。
【００４６】
図１０（Ａ）に例示されるビア密度用テーブル９３は、最適化ライブラリ７のセルの組み合わせに対して、セルライブラリ３２を参照し、ビアのサイズ及び個数と、ビアが配置される配線メタルの面積に係る情報とを取得することによってビア密度を算出することによって作成される。セル間の対面する側の各セルのビア密度から所定の歩留を満たす配置間隔距離を対応させたテーブルである。ビア密度と歩留との関係は、デザインルール３１等に基づいて設定する。
【００４７】
ビア密度用テーブル９３では、対象セル毎及び配置関係（上隣接、下隣接、左隣接、右隣接）毎に２以上の異なるビア密度を用意しておくことで、利用者に所望のビア密度を選択させ、対象セルの隣接セルの配置を、歩留を満足する配置に変更することができる。
【００４８】
ビア密度用テーブル９３において、例えば、対象セル「ＣＥＬＬ１」に隣接セル「ＣＥＬＬ１」の左側が配置される場合、ビア密度Ａが選択されている場合は配置間隔距離ＬＡ１１を満たすように、また、ビア密度Ｂが選択されている場合は配置間隔距離ＬＢ１１を満たすように隣接セル「ＣＥＬＬ１」の配置を調節する。隣接セルがＣＥＬＬ２、ＣＥＬＬ３、・・・の左側が配置される場合においても同様に、各々のビア密度Ａ又はビア密度Ｂに応じて、配置間隔距離ＬＡ１２又はＬＢ１２、配置間隔距離ＬＡ１３又はＬＢ１３、・・・のように示される。
【００４９】
図１０（Ｂ）では、対象セル「ＣＥＬＬ１」の右側に隣接セル「ＣＥＬＬ２」の左側が配置される場合を例示しており、選択したビア密度Ａ又はビア密度Ｂに対応する歩留を満足するように、ＣＥＬＬ２の配置が配置間隔距離ＬＡ１２又はＬＢ１２以上に変更して配置を最適化している。例えば、ビア密度Ａが選択されている場合、セル配置間隔リスト５１内のＣＥＬＬ１とＣＥＬＬ２の組み合せによる配置間隔距離がＬＡ１２へと変更される。
【００５０】
上述したように、レイアウト処理においけるセル及びマクロの配置の際に、ショート可能なセルをオーバーラップすることにより配置領域の縮小を可能とし、端子容量値を小さくする配置によって消費電力削減を可能とし、ポリピッチ又はビア密度に応じた配置によって歩留を向上させることが可能となる。
【００５１】
また、最適化の目的に応じて配置する第二の最適化では、消費電力削減、歩留等の目的を優先順位付けして、複数のテーブルを用いてセル配置を最適化するようにしてもよい。
【００５２】
このように、電気的特性又は歩留に関する端子容量値、ポリ間隔、ビア密度等のパラメータとセル間のトレードオフを示す配置間隔距離を対応付けたテーブルを参照することによって、セル配置を最適化することができる。
【００５３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【００５４】
以上の説明に関し、更に以下の項を開示する。
（付記１）
隣接して配置されるセルの組み合せ毎にショート可否とセル枠のオーバーラップ可能な距離との対応付けを含む最適化ライブラリを格納する第一記憶領域と、
デザインルールを満たすセル配置において、前記第一記憶領域に格納されている前記最適化ライブラリを参照することによって、前記ショート可能なセルの組み合せに対して前記セル枠をオーバーラップさせて配置する第一最適化手段と
を有することを特徴とする半導体集積回路のレイアウト装置。
（付記２）
前記セルの少なくとも電気的特性又は歩留のいずれかに対応したセル間の間隔距離を示す対応テーブルを格納する第二記憶領域と、
前記第二記憶領域に格納されている前記対応テーブルを参照することによって、前記第一最適化手段によって配置されたセル間の間隔距離を変更する第二最適化手段と
を有することを特徴とする付記１記載の半導体集積回路のレイアウト装置。
（付記３）
前記対応テーブルは、セルの組み合せ毎に、消費電力削減に係る配線密度ごとの端子容量値を前記電気的特性として、対応するセル間の間隔距離を示すことを特徴とする付記２記載の半導体集積回路のレイアウト装置。
（付記４）
前記対応テーブルは、セルの組み合せ毎に、セル内のポリシリコン間隔を１単位とするポリピッチスケールを用いて、歩留に係るセル間の間隔距離を対応付けていることを特徴とする付記２記載の半導体集積回路のレイアウト装置。
（付記５）
前記対応テーブルは、セルの組み合せ及びビア密度毎に、歩留に係るセル間の間隔距離を対応付けていることを特徴とする付記２記載の半導体集積回路のレイアウト装置。
（付記６）
前記第二最適化手段は、前記第一最適化手段によって配置されたセル間の間隔距離を広げるように変更することを特徴とする付記２乃至５のいずれか一項記載の半導体集積回路のレイアウト装置。
（付記７）
コンピュータを半導体集積回路のレイアウト装置として機能させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータは、隣接して配置されるセルの組み合せ毎にショート可否とセル枠のオーバーラップ可能な距離との対応付けを含む最適化ライブラリを格納する第一記憶領域を有し、
前記コンピュータ読み取り可能な記憶媒体は、前記コンピュータに、
デザインルールを満たすセル配置において、前記第一記憶領域に格納されている前記最適化ライブラリを参照することによって、前記ショート可能なセルの組み合せに対して前記セル枠をオーバーラップさせて配置する第一最適化手順を実行させることを特徴とするコンピュータ読み取り可能な記憶媒体。
（付記８）
コンピュータを半導体集積回路のレイアウト装置として機能させるコンピュータ実行可能なプログラムであって、
前記コンピュータは、隣接して配置されるセルの組み合せ毎にショート可否とセル枠のオーバーラップ可能な距離との対応付けを含む最適化ライブラリを格納する第一記憶領域を有し、
前記コンピュータ実行可能なプログラムは、前記コンピュータに、
デザインルールを満たすセル配置において、前記第一記憶領域に格納されている前記最適化ライブラリを参照することによって、前記ショート可能なセルの組み合せに対して前記セル枠をオーバーラップさせて配置する第一最適化手順を実行させることを特徴とするコンピュータ実行可能なプログラム。
（付記９）
コンピュータが半導体集積回路のレイアウトを行うレイアウト方法であって、
前記コンピュータは、隣接して配置されるセルの組み合せ毎にショート可否とセル枠のオーバーラップ可能な距離との対応付けを含む最適化ライブラリを格納する第一記憶領域を有し、
前記コンピュータが、
デザインルールを満たすセル配置において、前記第一記憶領域に格納されている前記最適化ライブラリを参照することによって、前記ショート可能なセルの組み合せに対して前記セル枠をオーバーラップさせて配置する第一最適化手順を実行することを特徴とするレイアウト方法。
【符号の説明】
【００５５】
７            最適化ライブラリ
８            消費電力削減用テーブル
８ｍ          消費電力削減用マスタ
９            歩留用テーブル
１１          ＣＰＵ
１２          メモリユニット
１３          表示ユニット
１４          出力ユニット
１５          入力ユニット
１６          通信ユニット
１７          記憶装置
１８          ドライバ
１９          記憶媒体
３１          デザインルール
３２          セルライブラリ
４０          レイアウトデータ
５１          セル配置間隔リスト
７３          オーバーラップ距離テーブル
９１          ポリピッチ用テーブル
９３          ビア密度用テーブル
１００        レイアウト装置
【図１】
2011192155.tif 000003
【図２】
2011192155.tif 000004
【図３】
2011192155.tif 000005
【図４】
2011192155.tif 000006
【図５】
2011192155.tif 000007
【図６】
2011192155.tif 000008
【図７】
2011192155.tif 000009
【図８】
2011192155.tif 000010
【図９】
2011192155.tif 000011
【図１０】
2011192155.tif 000012