(57)【要約】      （修正有）【課題】  修正対象回路の近傍にダミーセルを配置し、かつダミーセルを追加してもチップサイズが拡大することはなく、かつダミーセルが記述されている階層と修正対象回路が記述されている階層が近くにあるネットリストを生成することが可能なレイアウト装置および方法を提供する。【解決手段】  スタンダードセル方式の半導体集積回路のレイアウト設計においてマクロセルおよびＲＡＭ、ＲＯＭ、ＣＰＵなどのメガセルを配置した後の空き領域を検出する空き領域検出手段１０と、各々の空き領域にどの論理機能ブロックに属するダミーセルを配置するのが最適かを判断する判断手段１２と、空き領域にダミーセルをできる限り多く配置するダミーセル配置手段１３と、その結果を反映したダミーセル入りのネットリストを構築するネットリスト構築手段１９とを有する半導体集積回路のレイアウト装置Ａにおいて、空き領域に隣接している全てのセルが属する論理機能ブロックを検出し、１番多かった論理機能ブロックに属するダミーセルをその空き領域に配置する。【選択図】  図１
2005093947.tif 000002
【特許請求の範囲】
【請求項１】
スタンダードセル方式の半導体集積回路のレイアウト設計において、マクロセルおよびＲＡＭ、ＲＯＭ、ＣＰＵなどのメガセルを配置した後の空き領域を検出する空き領域検出手段と、各々の空き領域にどの論理機能ブロックに属するダミーセルを配置するのが最適かを判断する判断手段と、空き領域にダミーセルをできる限り多く配置するダミーセル配置手段と、その結果を反映したダミーセル入りのネットリストを構築するネットリスト構築手段とを有する半導体集積回路のレイアウト装置において、
空き領域に隣接している全てのセルが属する論理機能ブロックを検出し、１番多かった論理機能ブロックに属するダミーセルをその空き領域に配置することを特徴とする半導体集積回路のレイアウト装置。
【請求項２】
ダミーセルの配置は順序セルと組み合わせセルの２回に分け、順序セルはクロックツリーシンセシスの実施前に、組み合わせセルはクロックツリーシンセシスの実施後に処理することを特徴とする請求項１記載の半導体集積回路のレイアウト装置。
【請求項３】
ダミーセルの順序セルを追加するにあたり、１番大きな空き領域から順に、指定の数の順序セルを配置していくことを特徴とする請求項２に記載の半導体集積回路のレイアウト装置。
【請求項４】
半導体集積回路のレイアウト装置において、ダミーセルの組み合わせセルを追加するにあたり、ダミーセルとして追加するセルを１種類ずつ、グリッドの大きなものから順に並べたものを基本単位と定義し、まず基本単位を空き領域に配置できるだけ配置し、残りの空き領域に対しては、大きなセルから順に、できるだけ大きな単位で、できるかぎり多く配置していくことを特徴とする請求項２に記載の半導体集積回路のレイアウト装置。
【請求項５】
スタンダードセル方式の半導体集積回路のレイアウト設計におけるレイアウト方法において、マクロセルおよびＲＡＭ、ＲＯＭ、ＣＰＵなどのメガセルを配置した後の空き領域を検出し、各々の空き領域にどの論理機能ブロックに属するダミーセルを配置するのが最適かを判断し、空き領域にダミーセルをできる限り多く配置し、その結果を反映したダミーセル入りのネットリストを構築し、空き領域に隣接している全てのセルが属する論理機能ブロックを検出し、１番多かった論理機能ブロックに属するダミーセルをその空き領域に配置することを特徴とする半導体集積回路のレイアウト方法。
【請求項６】
請求項１ないし４のいずれか１項記載の半導体集積回路のレイアウト装置または請求項５記載の半導体集積回路のレイアウト方法を使用して製造されることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、導体集積回路のレイアウト装置およびそのレイアウト方法ならびにそれらを使用して製造された半導体装置に関するものである。
【背景技術】
【０００２】
半導体集積回路の制作に当たり、不要なセル（以下、ダミーセルと呼ぶ）を予めチップ内に配置しておき、回路変更の必要が生じた場合、このダミーセルを用いて希望の機能を実現する方法は知られている（例えば、特許文献１参照）。
ＬＳＩ（大規模集積回路）等の半導体集積回路の設計手法は、主に２つに分類される。第１の設計手法は、ゲートアレイ方式であり、この方式では基本セル（２入力のＮＡＮＤゲート相当分のトランジスタ）を碁盤の目のようにアレイ状に配置した下地データを予め用意して置き、これら基本セル間の配線（上地）を任意に行うことにより、ユーザの希望する機能を実現する。この場合、機能の変更に際しては、製造工程上、配線用のマスクを変更するだけなので、短納期、低コストである。
第２の設計手法は、スタンダードセル方式であり、この方式では予め機能ブロックが幾つかの標準的なセルとして用意してあるので、トランジスタを効率的に配置し、配線することができる。ユーザの希望に合った高機能なＬＳＩを作ることができるが、開発期間はゲートアレイ方式に比べて長くなってしまう。
ここで、スタンダードセル方式のＬＳＩで回路修正を行う場合、その都度セルの配置、配線をし直さなければならず、回路変更が容易にできないという欠点があった。これは、スタンダードセル方式で作成されたファンクションセルは、拡散層（下地）と配線層（上地）が一体化していることによる。
そのため、回路変更に伴いセルが追加になるということは、配線用のマスクだけでなく、全てのマスクパターンが変更になるということであり、コスト、開発期間の点で大きな問題となってしまう。
そこでスタンダードセル方式の欠点を克服する手段として、特許文献１で開示された手法が従来から広く一般的に知られている。これは本来の機能には不要なセル、すなわち、ダミーセルを予めチップ内に配置しておき、回路変更の必要が生じた場合、このダミーセルを用いて希望の機能を実現する方法である。この場合、ダミーセルを用いるように配線を変更するだけで済むので、従来のスタンダードセル方式のように全ての作業をやり直す必要がなく、ゲートアレイ方式と同様に短納期、低コストで回路修正が可能となる。
【０００３】
図１１は従来技術の構成例を示す概略図である。図１１を簡単に説明する。まずユーザは回路修正が必要になる恐れのある論理機能ブロックに、その回路修正を行うのに必要な数、必要な種類のダミーセルを予め追加したネットリスト１を用意する。
レイアウト装置Ａではこのネットリスト１の情報に基づいて、初めにマクロセル（ダミーセルを含む）およびＲＡＭ、ＲＯＭ、ＣＰＵなどのメガセルの配置を行う。
次にクロックツリーシンセシス１４の処理を行う。ここまでで回路に必要なセルの配置は全て完了しているので、最後にセル間の配線部１７で配線を行う。後は配置配線情報格納部１８での配置配線情報を基に、レイアウトデータとネットリストを出力するだけである。
ここでレイアウト完了後に回路修正を行う必要が生じた場合、このレイアウトデータを直接修正する方法と、回路修正を反映したネットリストを作成してＥＣＯ（技術変化順序：Engineering Change Order）という技術を使ってレイアウト装置Ａでレイアウトを変更する方法のどちらかの方法で回路修正を実施している。
【特許文献１】特開平１１−１２６８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし前記ダミーセルを用いる手法には幾つかの問題点がある。第１の問題はダミーセルが修正対象回路の近くに配置されないことがあるという点である。これは通常ダミーセルは入力を０固定もしくは１固定にしておき、出力はフローティングにしてあるので、実際の回路とは切り離されているために起こる。
ダミーセルと修正対象回路が離れていると、その間の配線は当然長くなる。したがって前段のゲートに付く配線容量が大きくなり、ゲートの遅延時間は大きくなってしまう。
近年のＬＳＩは非常に高速で動作するため、１つのゲートの遅延時間が大きくなるだけで所望のタイミングを満たせなくなってしまうことがある。この問題は、一度配置を実施して各論理機能ブロックの配置状況を確認した後、各ブロック内に領域を切ってそこにダミーセルを配置するように設定して、再配置を行う方法で回避できる。
ただし、ダミーセルを入れたい論理機能ブロックが多数あると、その分レイアウト担当者の手間が増えてしまうという問題が残る。
第２の問題はダミーセルを入れ過ぎて希望のチップサイズに収まり切らないことがあるという点である。この問題は、ダミーセルの数を減らして再度レイアウトを行うことで回避できるが、レイアウト工期が長くなるという問題が残る。またどれだけダミーセルを減らせば良いかの判断は人の感に頼るため、イタレーションが発生する可能性もある。
第３の問題はネットリストにおけるダミーセルが記述されている階層と修正対象回路の階層が離れていると、ネットリストの修正が面倒になるという点である。ダミーセルによる回路修正を前述のＥＣＯという技術を使ってレイアウト装置で行う場合、回路修正を反映したネットリストが必要になる。
ここで言うネットリストの修正とは、修正対象回路とダミーセルを所望の機能通りに接続することであるので、階層が離れていると、各階層での信号の繋ぎ変えをしていかねばならず、非常に面倒であり、また接続ミスが発生することも考えられる。
通常、ネットリストにダミーセルを追加する段階で、どの階層に入れておけば修正が楽になるか考えてダミーセルを追加するので、この問題は回避できる。ここで言いたかったのは単に物理的にダミーセルと修正対象回路が近くにあれば良いのではなく、ネットリスト的にも近くにある必要があるということである。
そこで本発明の目的は、上記の問題点を解決するために、修正対象回路の近傍にダミーセルを配置し、かつダミーセルを追加してもチップサイズが拡大することはなく、かつダミーセルが記述されている階層と修正対象回路が記述されている階層が近くにあるネットリストを生成することが可能なレイアウト装置および方法ならびにこれらを使用して製造された半導体装置を提供することにある。
【課題を解決するための手段】
【０００５】
前記の課題を解決するために、請求項１記載の発明では、スタンダードセル方式の半導体集積回路のレイアウト設計において、マクロセルおよびＲＡＭ、ＲＯＭ、ＣＰＵなどのメガセルを配置した後の空き領域を検出する空き領域検出手段と、各々の空き領域にどの論理機能ブロックに属するダミーセルを配置するのが最適かを判断する判断手段と、空き領域にダミーセルをできる限り多く配置するダミーセル配置手段と、その結果を反映したダミーセル入りのネットリストを構築するネットリスト構築手段とを有する半導体集積回路のレイアウト装置において、空き領域に隣接している全てのセルが属する論理機能ブロックを検出し、１番多かった論理機能ブロックに属するダミーセルをその空き領域に配置する半導体集積回路のレイアウト装置を特徴とする。
また、請求項２記載の発明では、ダミーセルの配置は順序セルと組み合わせセルの２回に分け、順序セルはクロックツリーシンセシスの実施前に、組み合わせセルはクロックツリーシンセシスの実施後に処理する請求項１記載の半導体集積回路のレイアウト装置を特徴とする。
また、請求項３記載の発明では、ダミーセルの順序セルを追加するにあたり、１番大きな空き領域から順に、指定の数の順序セルを配置していく請求項２に記載の半導体集積回路のレイアウト装置を特徴とする。
また、請求項４記載の発明では、半導体集積回路のレイアウト装置において、ダミーセルの組み合わせセルを追加するにあたり、ダミーセルとして追加するセルを１種類ずつ、グリッドの大きなものから順に並べたものを基本単位と定義し、まず基本単位を空き領域に配置できるだけ配置し、残りの空き領域に対しては、大きなセルから順に、できるだけ大きな単位で、できるかぎり多く配置していく請求項２に記載の半導体集積回路のレイアウト装置を特徴とする。
また、請求項５記載の発明では、スタンダードセル方式の半導体集積回路のレイアウト設計におけるレイアウト方法において、マクロセルおよびＲＡＭ、ＲＯＭ、ＣＰＵなどのメガセルを配置した後の空き領域を検出し、各々の空き領域にどの論理機能ブロックに属するダミーセルを配置するのが最適かを判断し、空き領域にダミーセルをできる限り多く配置し、その結果を反映したダミーセル入りのネットリストを構築し、空き領域に隣接している全てのセルが属する論理機能ブロックを検出し、１番多かった論理機能ブロックに属するダミーセルをその空き領域に配置する半導体集積回路のレイアウト方法を特徴とする。
また、請求項６記載の発明では、請求項１ないし４のいずれか１項記載の半導体集積回路のレイアウト装置または請求項５記載の半導体集積回路のレイアウト方法を使用して製造される半導体装置を特徴とする。
【発明の効果】
【０００６】
或る論理機能ブロックに属するセルの近傍の空き領域に、その論理機能ブロック用のダミーセルを追加しているので、ダミーセルとそのダミーセルが属する論理機能ブロックの配置が離れることはない。
また空き領域にダミーセルを追加するだけなので、ダミーセルを追加することによってチップサイズが拡大することもなく、またダミーセルを所属する論理機能ブロックに収めた形のネットリストを生成するので、回路修正時にネットリストの修正が容易に行える。
【発明を実施するための最良の形態】
【０００７】
以下、図面により本発明の実施の形態を詳細に説明する。図1は本発明によるレイアウト装置の構成例を示す概略図である。この図を使って本発明の実施の形態を説明する。
まず本発明のレイアウト装置Ａはダミーセルが入っていないネットリスト１の読み込み部２と、ダミーセルを追加する論理機能ブロックリスト３の読み込み部４と、ダミーセルブロックの構成リスト５の読み込み部６とを備えている。
図２はダミーセルを追加する論理機能ブロックリストのフォーマットを示す概略図である。このファイルにはユーザがダミーセルを追加しておきたいと考えている論理機能ブロックのインスタンス名を記載しておく。
図３は例となるレイアウトの配置イメージを示す概略図である。図４はネットリストの階層構成を示す概略図である。ダミーセル追加ブロック認識部７ではダミーセルを追加する論理機能ブロックリスト３の読み込み部４で得られたファイルを検索して、以下の４つのダミーセルブロックを入れる必要があることが認識される。
（１）ミドル１／ボトム１のインスタンスを有する論理機能ブロック内にダミー１と称するブロック。
（２）ミドル／ボトム２のインスタンスを有する論理機能ブロック内にダミー２と称するブロック。
（３）ミドル２のインスタンスを有する論理機能ブロック内にダミー３と称するブロック。
（４）ミドル３のインスタンスを有する論理機能ブロック内にダミー４と称するブロック。
図５はダミーセルブロックの構成リストのフォーマットを示す概略図である。ダミーセルブロックの構成リスト５は図５に示すようなフォーマットとする。このファイルにはユーザがダミーセルとして追加したいセルの名前、すなわち、前述のダミーセルブロックがどのような種類のセルで構成されるかを記載しておく。
【０００８】
本発明ではダミーセルを幾つ入れるかは、本来の機能に必要なセルの配置後の空き領域がどれだけあるかによって、レイアウト装置Ａが自動的に決める。言い換えればここで必要になるのは、空き領域に配置するダミーセルの種類だけで良い。
ただし、フリップフロップ（以下、ＦＦと呼ぶ）を実際に回路修正に使用するさいには、既存のＦＦとのクロックスキューが合わされていないと、既存のＦＦとの間のタイミング調整が複雑になり、容易には使えなくなってしまう。
そこで、ダミーセルの配置工程を順序セルと組み合わせセルの２回に分け、順序セルはクロックツリーシンセシスの実施前に、組み合わせセルはクロックツリーシンセシスの実施後に処理する。
この場合には、ダミーのＦＦも既存のＦＦと同様にクロックツリーシンセシス（以下、ＣＴＳと呼ぶ）を適用することを考える。まずＣＴＳを適用するにあたり、既存のＦＦはネットリストにおいてクロック端子がＣＴＳの基となるクロック信号に接続しているのでそのままでＣＴＳ可能である。
しかしダミーのＦＦはネットリストに記載されていないので、当然ＣＴＳの基となるクロック信号との対応も解らず、そのままではＣＴＳが不可能である。したがってＦＦに関しては、ＣＴＳの基となるクロック信号名と、そのＦＦが所属すべきダミーセルブロック名とを明記しておく必要がある。さらに追加するＦＦの個数をも明記しておく。これについては後ほど理由を明らかにする。
このように上記の場合に使用するダミーセルブロックの構成リスト５は、順序セルに関するセクションと、組み合わせセルに関するセクションとの２つの構成になる。
【０００９】
ダミーセルブロック構成認識部８は、順序セル検出部８−１と組み合わせセル検出部８−２で構成される。ダミーセルブロック構成認識部８の処理について図５を用いて説明する。
順序セル検出部８−１では、ダミーセルブロックの構成リスト５の読み込み部６で得られたファイルを検索して、“シーケンシャルセルリスト（Sequencial Cell List）”のセクションに記載されている情報から、ダミーセルとして追加する順序セルの名前と、ＣＴＳの基となるクロック信号名と、そのＦＦが所属すべきダミーセルブロック名と、追加するＦＦの個数を検出する。
この例の場合、以下を追加する必要があることが認識される。
（１）ダミー１ブロックにＣＬＫ１がＣＴＳの基となるＤＦＦＳＲ×４を３２個。
（２）ダミー２ブロックにＣＬＫ１がＣＴＳの基となるＤＦＦＳＲ×４を３２個。
（３）ダミー３ブロックにＣＬＫ２がＣＴＳの基となるＤＦＦＳＲ×４を３２個。
（４）ダミー４ブロックにＣＬＫ３がＣＴＳの基となるＤＦＦＳＲ×４を３２個。
組み合わせセル検出部８−２では、“コンビネーショナルセルリスト（Combinational Cell List）”のセクションに記載されている情報から、ダミーセルとして追加する組み合わせセルの名前を検出する。この例の場合、以下の各セルを追加する必要があることが認識される。
１）ＸＮＯＲ２×４
２）ＮＡＮＤ４×４
３）ＮＯＲ４×４
４）ＩＮＶ×１６
５）ＭＸ２×４
６）ＮＡＮＤ２×４
７）ＮＯＲ２×４
８）ＩＮＶ×４
次に実際の配置、配線作業の説明に移る。図１のマクロセル配置部９では、ダミーセルが入っていないネットリスト１の読み込み部２で得られたネットリストにしたがって、マクロセルおよびＲＡＭ、ＲＯＭ、ＣＰＵなどのメガセルの配置を行う。
通常、スタンダードセル方式のマクロセルの高さは全て同じに作成されている。また横幅はグリッドという基本単位で管理されており、各マクロセルは１グリッドの整数倍の幅で作成されている。
【００１０】
図６は隣接するセルの認識手段を示す概略図である。図７は空き領域の所属論理機能ブロック決定の後のレイアウトイメージを示す概略図である。図７に示すように、マクロセル配置後のレイアウトはマクロセル（空き領域を含む）が横一列に並んだものが、縦に何列か並んだ形になる。
ここでマクロセルの置かれていない空き領域の横幅はというと、これもグリッドの整数倍になっている。空き領域検出部１０（図１）では、全ての空き領域の位置座標と、それぞれの空き領域が何グリッドあるかを検出する。
本発明の要部をなす、空き領域の所属ブロック決定部１２（図１）は、隣接セル認識部１２−１と、ブロックカウント部１２−２と、所属ブロック決定部１２−３で構成される。
空き領域の所属ブロック決定部１２では、ユーザがダミーセルを追加しておきたいと考えている論理機能ブロックの情報を基に、各々の空き領域にどの論理機能ブロックに属するダミーセルを追加するのが最適かを判断する。
これらの情報はマクロセル配置情報格納部１１で保有される各マクロセルの位置座標と、空き領域検出部１０で得られた各空き領域の位置座標と、ダミーセル追加ブロック認識部７（図１）で得られる。
【００１１】
以下に空き領域の所属ブロック決定部１２の処理について図を用いて詳しく説明する。まず隣接セル認識部１２−１では、各々の空き領域に対して、図６に示すように、左右のセルと、上下段のセルのうち横幅が空き領域の横幅を超えないものを、隣接セルとして認識する。
次にブロックカウント部１２−２では、前記隣接セルの属する論理機能ブロックをカウントしていき、各論理機能ブロックのセルがそれぞれ何個隣接しているかを調べる。
最後に所属ブロック決定部１２−３では、各々の空き領域にどの論理機能ブロックに属するダミーセルを追加するかを決定する。ここでの判断材料として、本発明は隣接しているセルの数が１番多かった論理機能ブロックを選択することを特徴とする。
ダミーの順序セルを追加するにあたり、１番大きな空き領域から順に、指定の数の順序セルを配置していく。ダミー順序セル配置部１３（図１）では、順序セル検出部８−１で認識されたＦＦを順番に空き領域に配置していく。
ＦＦを配置する空き領域を選定するにあたり、すでに各々の空き領域がどの論理機能ブロックに対応するか決まっているので、該当する論理機能ブロック用の空き領域であればどこでも良い。しかし回路修正時にダミーセルでカウンタなどを作成することを考えると、ＦＦはできる限りまとまっている方が使い易い。
ダミーセルの配置工程を順序セルと組み合わせセルの２回に分け、順序セルはクロックツリーシンセシスの実施前に配置しているので、ダミーのＦＦに関しても、既存のＦＦと同様にクロックスキューを合わせることができる。
【００１２】
図８はダミーの順序セルの配置例を示す概略図である。上述した例では、図８に示すように、まず１番グリッドの大きな空き領域に対してＦＦをできる限り多く配置する。
もしその空き領域に全てのＦＦが入り切らなければ、２番目に大きな空き領域に残りのＦＦをできる限り多く配置する。このようにしてＦＦを指定数まで配置していくことで、ＦＦをできる限りまとまった形で追加することが上述した例の特徴となる。
クロックツリーシンセシス部１４（図１）ではＣＴＳを実施する。ＣＴＳによりクロック信号にバッファツリーが形成され、各ＦＦのスキューが合うように最適な場所にバッファが配置される。
ここでダミーのＦＦのクロックスキューを考慮するのであれば、ダミーセルの配置工程を、前記ダミー順序セル配置部１３と、後で説明するダミー組み合わせセル配置部１６との２回に分け、順序セルをＣＴＳの実施前に配置することで、ダミーのＦＦも既存のＦＦと同様にクロックスキューを合わせることが可能となる。
ここで組み合わせセルをＣＴＳの実施後に配置しなければいけないのは、追加されるバッファを配置する空き領域を残しておかなければいけないからである。さらにダミーセルブロックの構成リスト５において、ＦＦの追加数を指定しているのも同じ理由である。
空き領域検出部１５では、ＣＴＳの実施後、改めて全ての空き領域の位置座標と、それぞれの空き領域が何グリッドあるかを検出する。そして空き領域の所属ブロック決定部で前回と同様の処理を行う。
１番大きな空き領域から順に、指定の数の順序セルを配置しているので、ダミーのFFが出来る限りまとまった形で置かれ、回路修正でカウンタなどを追加することが容易に行える。
【００１３】
本発明の半導体集積回路のレイアウト装置においては、ダミーの組み合わせセルを追加するにあたり、ダミーセルとして追加するセルを１種類ずつ、グリッドの大きなものから順に並べたものを基本単位と定義する。
それによって、まず、基本単位を空き領域にできる限り多く配置し、残りの空き領域に対しては、大きなセルから順に、できるだけ大きな単位で、できる限り多く配置していく。
この構成において、ダミー組み合わせセル配置部１６（図１）は基本単位配置部１６−１と残グリッド配置部１６−２で構成される。ダミー組み合わせセル配置部１６では、組み合わせセル検出部８−２で認識された組み合わせセルを順番に空き領域に配置していく。
組み合わせセルを配置する空き領域を選定するにあたり、すでに各々の空き領域がどの論理機能ブロックに対応するか決まっているので、該当する論理機能ブロック用の空き領域であればどこでも良い。
図９は各セルの大きさを示す概略図である。しかしグリッド数の異なる複数の種類のダミーセルを配置するにあたり、如何にして効率良く、各種セルを均等に配置するかを考える必要がある。今回ダミーセルとして追加する各セルは、図９に示すグリッド数を有しているものとする。
【００１４】
図１０は横幅の異なるセルを効率良く、均等に配置する組み合わせセルの配置例を示す概略図である。そこで上記の例では、これら横幅の異なるセルを効率良く、均等に配置する手段として、図１０に示す方法を取る。
ここでは図中の（１）に示すように各セルを１個ずつ、グリッドの大きなものから順に並べたものを基本単位と定義する。この例の場合、この基本単位は計９６グリッドのセルで構成される。
最初に基本単位配置部１６−１（図１）では、全ての空き領域に対して、前記基本単位が配置可能であれば配置を行う。例えば（１）に示すように９６グリッドの空き領域であれば、基本単位がそのまますっぽり収まる。また（２）に示すように１９２グリッドの空き領域であれば、基本単位が２つ収まる。
次に残グリッド配置部１６−２では、基本単位を配置した余りの空き領域、および基本単位が配置できなかった９６グリッド以下の空き領域に対しての処理を行う。ここでは対象空き領域のうち、大きなものから順に処理していく。
また各々の空き領域に対してはグリッドの大きなセルから順に配置していくが、例えば（３）に示すように、８グリッドのセルを配置する領域が残らなかった場合には、そのセルを飛ばして、次の4グリッドのセルの配置の可否を判断し、可能であれば配置する。
【００１５】
ここで飛ばされた８グリッドのセルの処理は次のように行われる。初めにセルのグリッドと同じ８グリッドの空き領域を検索し、存在すればそこに配置する。もし存在しなければ、８グリッド以上で一番小さな空き領域に配置する。
このように空き領域の大きなものから順に処理していくと、どこかで２個以上のセルが配置できずに飛ばされるようになる。例えば（４）に示すように、空き領域が７５グリッドの場合、１０グリッド、８グリッド、４グリッドの３個のセルが飛ばされる。
ここで飛ばされたセルの処理は次のように行われる。ここではできるだけ残ったセルをまとめて配置するということを前提に処理を行う。この例の場合は、初めに３個のセルを合計した２２グリッドで配置の可否を判断する。この処理は前記（３）の８グリッドのセルの処理と同様に行われる。
２２グリッドでの配置が不可であれば、次に大きな単位は１０グリッドと８グリッドの２個のセルを合計した１８グリッドなので、この１８グリッドで配置の可否を判断する。
これでも不可であれば、さらに単位を小さくして処理していき、最悪の場合は、最小単位であるセル単体、すなわち、１０グリッド、８グリッド、４グリッドでそれぞれ処理を行う。
さらに処理を続けていき空き領域が小さくなってくると、配置可能な空き領域がどこにも存在しないセルが出てくる。例えば（５）に示すように、空き領域が１７グリッドの場合、１８グリッド、１６グリッド×２個、１０グリッド、８グリッド×２個、４グリッドのセルが飛ばされる。
ここで１８グリッド以上の空き領域はすでに残っていないので、これ以降、１８グリッドのセルの配置処理は終了となる。このように処理を進めていき、全てのグリッドのセルが配置不可能になった時点で、ここでの処理は終了となる。
【００１６】
上記に説明した通り、まず基本単位を空き領域にできる限り多く配置し、残りの空き領域に対しては、大きなセルから順に、できるだけ大きな単位で、できる限り多く配置していくことで、横幅の異なるセルを効率良く、均等に配置することが可能となる。
ダミーセルとして追加するセルを１種類ずつ、グリッドの大きなものから順に並べたものを基本単位と定義し、まず基本単位を空き領域に配置できるだけ配置し、残りの空き領域に対しては、大きなセルから順に、できるだけ大きな単位で、配置できるだけ配置していくので、各セルが追加される数を均等化でき、かつ効率的に空き領域を使用することができる。
配線部１７（図１）では、ダミーセルを含めた全てのセルの配線が行われる。ここでダミーセルの入力は電源（ＶＤＤ）もしくはグランド（ＧＮＤ）に接続しておき、出力はフローティングにしておく。配線後の情報は配置配線情報格納部１８に保存される。
ネットリスト構築部１９（図１）では、配置配線情報格納部１８の情報を基にネットリストを構築する。ここでレイアウト装置Ａによって自動的に追加されたダミーセルであっても、所属する論理機能ブロックは決まっている。
したがって、図４に示すような、ダミーセルを所属する論理機能ブロックに収めた形のネットリストを生成することができる。生成されたダミーセル入りのネットリスト２１（図１）は、ネットリスト出力部２０（図１）から出力される。
また配置配線情報格納部１８の情報を基にレイアウトデータ、すなわち、マスクパターン２３（図１）がレイアウトデータ出力部２２（図１）から出力される。
【図面の簡単な説明】
【００１７】
【図１】本発明によるレイアウト装置の構成例を示す概略図である。
【図２】ダミーセルを追加する論理機能ブロックリストのフォーマットを示す概略図である。
【図３】例となるレイアウトの配置イメージを示す概略図である。
【図４】ネットリストの階層構成を示す概略図である。
【図５】ダミーセルブロックの構成リストのフォーマットを示す概略図である。
【図６】隣接するセルの認識手段を示す概略図である。
【図７】空き領域の所属論理機能ブロック決定の後のレイアウトイメージを示す概略図である。
【図８】ダミーの順序セルの配置例を示す概略図である。
【図９】各セルの大きさを示す概略図である。
【図１０】横幅の異なるセルを効率良く、均等に配置する組み合わせセルの配置例を示す概略図である。
【図１１】従来技術の構成例を示す概略図である。
【符号の説明】
【００１８】
１  ネットリスト（ダミーセルが入っていない）
３  ダミーセルを追加する論理機能ブロックリスト
５  ダミーセルブロックの構成リスト
７  ダミーセル追加ブロック認識部
８  ダミーセルブロック構成認識部
１０  空き領域検出部（検出手段）
１２  空き領域の所属ブロック決定部（判断手段）
１３  ダミー順序セル配置部（配置手段）
１６  ダミー組み合わせセル配置部
１９  ネットリスト構築部（ネットリスト構築手段）
【図１】
2005093947.tif 000003
【図２】
2005093947.tif 000004
【図３】
2005093947.tif 000005
【図４】
2005093947.tif 000006
【図５】
2005093947.tif 000007
【図６】
2005093947.tif 000008
【図７】
2005093947.tif 000009
【図８】
2005093947.tif 000010
【図９】
2005093947.tif 000011
【図１０】
2005093947.tif 000012
【図１１】
2005093947.tif 000013