(57)【要約】  本設計支援装置は、半導体集積回路のセル配置エリアにおける空き領域に容量セルを配置する配置部と、ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定してセル配置エリアに含まれる複数の容量チェックエリアのうち上記位置を含む容量チェックエリアについての容量の総和を算出し、上記ある論理セルが配置されたと仮定して上記位置を含む容量チェックエリアについての必要容量の総和を算出し、上記位置を含む容量チェックエリアについて算出された上記容量の総和と必要容量の総和との関係を表す情報を出力する情報出力部とを有する。
2013084356.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のセル配置エリアにおける空き領域に容量セルを配置する配置部と、
容量セルの容量と、論理セルの必要容量とを格納するデータ格納部と、
ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定して前記セル配置エリアに含まれる複数の容量チェックエリアのうち前記位置を含む容量チェックエリアについての容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記ある論理セルが配置されたと仮定して前記位置を含む容量チェックエリアについての必要容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す情報を出力する情報出力部と、
を有する設計支援装置。
【請求項２】
前記情報出力部が、
前記複数の容量チェックエリアの各々について、当該容量チェックエリアに既に配置されているセルによる容量の総和と必要容量の総和とを算出し、当該容量の総和と当該必要容量の総和との関係を表す第２の情報を出力する
請求項１記載の設計支援装置。
【請求項３】
前記データ格納部が、スペアセルエリアの必要容量をさらに格納しており、
前記情報出力部が、
あるスペアセルエリアを配置する予定の第２の位置が指定されると、当該第２の位置の容量セルが除去されたと仮定して前記第２の位置を含む容量チェックエリアについての容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記あるスペアセルエリアが配置されたと仮定して前記第２の位置を含む容量チェックエリアについての必要容量の総和を、前記スペアセルエリアのうち論理セルとして使用する割合と前記データ格納部に格納されているデータとを用いて算出し、前記第２の位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す第３の情報を出力する、
請求項１又は２記載の設計支援装置。
【請求項４】
前記情報出力部は、
前記ある論理セルが既に別の位置に配置されていて移動させる場合には、当該別の位置に対応容量セルが配置されたと仮定して前記複数の容量チェックエリアのうち前記別の位置を含む容量チェックエリアについての容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記ある論理セルが除去されたと仮定して前記別の位置を含む容量チェックエリアについての必要容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記別の位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す第４の情報を出力する、
請求項１乃至３のいずれか１つ記載の設計支援装置。
【請求項５】
前記情報出力部が、
前記あるスペアセルエリアが既に別の第２の位置に配置されていて移動させる場合には、当該別の第２の位置に対応容量セルが配置されたと仮定して前記第２の別の位置を含む容量チェックエリアについての容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記あるスペアセルエリアが除去されたと仮定して前記第２の別の位置を含む容量チェックエリアについての必要容量の総和を、前記スペアセルエリアのうち論理セルとして使用する割合と前記データ格納部に格納されているデータとを用いて算出し、前記別の第２の位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す第５の情報を出力する、
請求項３記載の設計支援装置。
【請求項６】
前記容量の総和と前記必要容量の総和との関係を表す情報が、前記容量の総和に対する前記必要容量の総和の比又当該比に応じた表示形態のデータである
請求項１乃至５のいずれか１つ記載の設計支援装置。
【請求項７】
前記データ格納部が、
前記複数の容量チェックエリアの各々に、当該容量チェックエリアに既に配置されているセルについての容量の総和と必要容量の総和とを格納する
請求項１乃至６のいずれか１つ記載の設計支援装置。
【請求項８】
前記配置部が、前記情報出力部より先に動作する
請求項１乃至７のいずれか１つ記載の設計支援装置。
【請求項９】
半導体集積回路のセル配置エリアにおける空き領域に容量セルを配置する処理と、
ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定して前記セル配置エリアに含まれる複数の容量チェックエリアのうち前記位置を含む容量チェックエリアについての容量の総和を、容量セルの容量と、論理セルの必要容量とを格納するデータ格納部に格納されているデータを用いて算出し、前記ある論理セルが配置されたと仮定して前記位置を含む容量チェックエリアについての必要容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す情報を出力する処理と、
を含む処理を、コンピュータに実行させるためのプログラム。
【請求項１０】
半導体集積回路のセル配置エリアにおける空き領域に容量セルを配置する処理と、
ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定して前記セル配置エリアに含まれる複数の容量チェックエリアのうち前記位置を含む容量チェックエリアについての容量の総和を、容量セルの容量と、論理セルの必要容量とを格納するデータ格納部に格納されているデータを用いて算出し、前記ある論理セルが配置されたと仮定して前記位置を含む容量チェックエリアについての必要容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す情報を出力する処理と、
を含む処理を、コンピュータが実行する設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、半導体集積回路の設計支援技術に関する。
【背景技術】
【０００２】
近年のＬＳＩ（Large-Scale Integrated circuits）設計は、微細化、大規模化、高周波数化、低電圧化が進み電源ノイズに対する対策が重要となってきている。この対策の１つに、容量セルを配置する方法がある。【０００３】
容量セルの配置は、通常の論理セルを全て配置した後に、空き領域に対して、予め準備され且つ数種類のサイズを持つ容量セルを、自動で配置していた。例えば図１Ａに示すように、ＬＳＩ１０００内のセル配置エリア１１００に先に論理セルを配置した後、図１Ｂに示すように、セル配置エリア１１００の空き領域に容量セルを配置していた。【０００４】
さらに、図１Ｃに示すように、容量セルを配置した後の空き領域に対し、スペアセルを配置していた。このスペアセルとは、配線層のみが異なった特定の論理セルと置き換えが可能なセルである。一度、製造したＬＳＩの簡易な仕様変更等が発生した際、このスペアセルを特定の論理セルと置き換えることで配線層のみの修正でＬＳＩの仕様変更が可能となる。【０００５】
容量セルをどれだけ配置したらよいのかは、あるエリア内に存在する各論理セルが必要としている容量の総和で決定される。個々の論理セルの必要容量はセルライブラリに記述されているので、このデータにより算出できる。そして、論理セル配置後、空き領域に容量セルを配置した状態で、セル配置エリアに設けられる複数の容量チェックエリア（図２）の各々について必要容量の総和と容量セルによる容量（以下、実容量とも呼ぶ）の総和とを算出し、各容量チェックエリアについて必要容量の総和≦容量の総和という関係が成立しているか確認する。【０００６】
より具体的には以下のような処理を実施する。すなわち、（１）設計者が、各論理セルの配置を指示し、全ての論理セルの配置位置を確定させる。（２）容量セル発生プログラムで、セル配置エリアの空き領域に対して容量セルの自動配置を行う。（３）容量セルの自動配置が完了すると、容量チェックプログラムが、実容量と必要容量とを算出して、ＬＳＩの容量チェックを行い、その結果を出力する。ここで、容量チェックの結果が必要容量の総和＞容量の総和であれば、設計者は、論理セル配置の修正を行う。【０００７】
この論理セル配置の修正は、例えば図３Ａの状態で、容量チェックをクリアできなかったとすると、設計者が、論理セル１１１０を選択して、図３Ｂに示すように論理セル１１１０をこの容量チェックエリアから外に移動させる。その後、容量セル発生プログラムで、容量セルの自動配置を再度行う。そうすると、例えば図３Ｃに示すように、サイズが大きくなった容量セル１１２０が配置されて、その分実容量が増加することになる。【０００８】
または、論理セル１１１０を選択することは同じであるが、図４Ａに示すように、設計者は、同じ容量チェックエリアにおける位置１１３０に、論理セル１１１０を移動させるように指示する。その後、容量セル発生プログラムで、容量セルの自動配置を再度行う。そうすると、例えば図４Ｂに示すように、サイズが大きくなった容量セル１１２０が配置されて、その分実容量が増加することになる。【０００９】
そして、再度、容量チェックプログラムが、容量チェックを実施する。このような作業及び処理を、容量チェックプログラムの容量チェック結果が問題なしとなるまで繰り返す。このような作業及び処理を行うとすると、収束までの時間がかかってしまう。【００１０】
なお、（４）その後、容量チェック結果が問題なしとなると、スペアセル発生プログラムが、空き領域にスペアセルを発生させる。【００１１】
また、ライブラリセルに対してその必要容量のための領域を付加する手法を導入することで、事前に容量不足を発生させないようにする従来技術も存在している。しかし、このようなライブラリセルを用いると大幅に設計の自由度が低下することが予測される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００２−２８８２５３号公報
【特許文献２】特開平１１−１２６８２３号公報
【特許文献３】特開２００５−９３９４７号公報
【特許文献４】特開２００７−１４２２８２号公報
【特許文献５】特開平１１−８５８３４号公報
【特許文献６】特開２００４−３３５９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従って、本技術の目的は、一側面において、手動で論理セル等を配置する前に、容量の観点において当該論理セル等の配置の適否を判断できるようにするための技術を提供することである。
【課題を解決するための手段】
【００１４】
本技術に係る設計支援装置は、（Ａ）半導体集積回路のセル配置エリアにおける空き領域に容量セルを配置する配置部と、（Ｂ）容量セルの容量と、論理セルの必要容量とを格納するデータ格納部と、（Ｃ）ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定してセル配置エリアに含まれる複数の容量チェックエリアのうち上記位置を含む容量チェックエリアについての容量の総和をデータ格納部に格納されているデータを用いて算出し、上記ある論理セルが配置されたと仮定して上記位置を含む容量チェックエリアについての必要容量の総和をデータ格納部に格納されているデータを用いて算出し、上記位置を含む容量チェックエリアについて算出された上記容量の総和と必要容量の総和との関係を表す情報を出力する情報出力部とを有する。
【図面の簡単な説明】
【００１５】
【図１Ａ】図１Ａは、論理セルの配置を説明するための図である。
【図１Ｂ】図１Ｂは、容量セルの配置を説明するための図である。
【図１Ｃ】図１Ｃは、スペアセルの配置を説明するための図である。
【図２】図２は、容量チェックエリアを説明するための図である。
【図３Ａ】図３Ａは、容量チェックについて説明するための図である。
【図３Ｂ】図３Ｂは、容量チェックについて説明するための図である。
【図３Ｃ】図３Ｃは、容量チェックについて説明するための図である。
【図４Ａ】図４Ａは、容量チェックについて説明するための図である。
【図４Ｂ】図４Ｂは、容量チェックについて説明するための図である。
【図５Ａ】図５Ａは、本技術の実施の形態を説明するための図である。
【図５Ｂ】図５Ｂは、本技術の実施の形態を説明するための図である。
【図５Ｃ】図５Ｃは、本技術の実施の形態を説明するための図である。
【図５Ｄ】図５Ｄは、本技術の実施の形態を説明するための図である。
【図６Ａ】図６Ａは、スペアセルを用いる場合を説明するための図である。
【図６Ｂ】図６Ｂは、スペアセルを用いる場合を説明するための図である。
【図６Ｃ】図６Ｃは、スペアセルを用いる場合を説明するための図である。
【図７】図７は、実施の形態における設計支援装置の構成を示す図である。
【図８】図８は、パラメータ設定ウィンドウの一例を示す図である。
【図９】図９は、実施の形態に係る処理フローを示す図である。
【図１０】図１０は、容量余裕度マップの一例を示す図である。
【図１１】図１１は、実施の形態に係る処理フローを示す図である。
【図１２】図１２は、容量セル自動配置処理の処理フローを示す図である。
【図１３】図１３は、容量セル自動配置処理の処理フローを示す図である。
【図１４】図１４は、容量余裕度マップ生成処理の処理フローを示す図である。
【図１５】図１５は、容量余裕度マップ生成処理の処理フローを示す図である。
【図１６】図１６は、管理テーブルの一例を示す図である。
【図１７】図１７は、容量余裕度マップ生成処理の処理フローを示す図である。
【図１８】図１８は、容量余裕度マップ生成処理の処理フローを示す図である。
【図１９】図１９は、容量余裕度マップの一例を示す図である。
【図２０】図２０は、容量余裕度マップの一例を示す図である。
【図２１】図２１は、容量余裕度マップの一例を示す図である。
【図２２】図２２は、容量余裕度マップの一例を示す図である。
【図２３】図２３は、更新処理の処理フローを示す図である。
【図２４】図２４は、内部テーブルの一例を示す図である。
【図２５】図２５は、更新処理の処理フローを示す図である。
【図２６】図２６は、更新処理の処理フローを示す図である。
【図２７Ａ】図２７Ａは、更新処理で更新された容量余裕度マップの一例を示す図である。
【図２７Ｂ】図２７Ｂは、更新処理で更新された容量余裕度マップの一例を示す図である。
【図２８】図２８は、更新処理の処理フローを示す図である。
【図２９Ａ】図２９Ａは、表示画面の第１の例を示す図である。
【図２９Ｂ】図２９Ｂは、表示画面の第２の例を示す図である。
【図２９Ｃ】図２９Ｃは、表示画面の第３の例を示す図である。
【図３０】図３０は、表示画面の第４の例を示す図である。
【図３１】図３１は、管理テーブルの一例を示す図である。
【図３２Ａ】図３２Ａは、表示画面の第５の例を示す図である。
【図３２Ｂ】図３２Ｂは、表示画面の第６の例を示す図である。
【図３２Ｃ】図３２Ｃは、表示画面の第７の例を示す図である。
【図３３】図３３は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１６】
本実施の形態では、ＬＳＩのセル配置エリアに、まず容量セルを配置し、その後に論理セルをインタラクティブ型エディタを用いて配置する。この論理セルの配置位置を確定させる前に、配置予定位置を含む容量チェックエリアについて、実容量と必要容量との関係を表す情報を表示することで、その配置予定位置に論理セルを配置することの適否を判断できるようにする。具体的には、図５Ａに示すように、インタラクティブ型エディタの配置作業ウィンドウ１０５０に示されたセル配置エリア１１００において、横方向に細長いサイト１２０１乃至１２０８の各々に、容量セル（白色）を配置した後に、設計者が、ハッチングが付された論理セルの配置を指示する。さらに、論理セルを配置する場合には、設計者は、配置予定位置１２１０乃至１２３０を当該論理セルの配置先候補として考えることとする。この場合、設計者は、例えば、配置すべき論理セルをドラッグして、配置予定位置１２１０乃至１２３０のいずれかに持って行く。そうすると、本実施の形態では、配置予定位置毎に、その位置に仮に配置した場合における、実容量と必要容量との関係を表す情報を表示する。実容量と必要容量との関係は、例えば、必要容量／実容量で算出される容量余裕度であり、予め容量余裕度の範囲毎に決められた色のうち今回算出された容量余裕度に対応する色を、配置予定位置に表示するものとする。図５Ｂでは、配置予定位置１２１０については、ここに論理セルを仮に配置すると容量余裕度が例えば１．０（１００％）を超えており、問題が発生することを表す例えば「赤色」が表示される。また、配置予定位置１２２０については、ここに論理セルを仮に配置すると余裕度が例えば０．９５（９５％）以上１．０（１００％）未満となり、問題は発生していないが余裕があまりないことを表す「黄色」が表示される。さらに、配置予定位置１２３０については、ここに論理セルを仮に配置すると余裕度が例えば０．５（５０％）未満となり、問題が発生しないことを表す「白色」が表示される。これによって、設計者は、論理セルの配置を確定させる前に、容量の観点で、その配置の適否を判断できるようになり、無駄な手戻りを回避できるようになる。
【００１７】
さらに、本実施の形態では、内部にスペアセルを配置するスペアセルエリアについても、容量セルを配置後、インタラクティブ型エディタでその配置位置を手動で指示するものとする。但し、スペアセルエリアに必要容量がないものとして配置してしまうと、実際にスペアセルエリアのスペアセルを使用しようとすると必要容量が生じてしまって、結果として配置先の容量チェックエリアにおける必要容量が実容量を超えてしまう場合がある。
【００１８】
例えば図６Ａに示すように、セル配置エリア１１００における論理セル１３２０から論理セル１３１０へのネットＡ（ｎｅｔＡ）に論理変更を実施し、バッファを挿入してネットを分割することを考える。この場合、論理セル１３１０に隣接してスペアセル１３３０が配置されているので、このスペアセル１３３０を用いることが考えられる。しかしながら、このスペアセル１３３０を論理セルとして用いようとすると、その分必要容量が増加する。スペアセル１３３０の必要容量が考慮されずにスペアセル１３３０が配置されていると、図６Ｂに示すように、例えばエリア１３４０では、必要容量が実容量を超えてしまうという現象が生ずる。そのため、図６Ｃに示すように、エリア１３５０において、玉突き式にスペアセルを容量セルに変更するなどのさらなる変更を行わざるを得なくなる。
【００１９】
本実施の形態では、内部にスペアセルを配置するスペアセルエリアにも必要容量を規定しておき、論理セルと同様に、配置先を確定させる前に、配置予定位置に仮に配置した場合における、実容量と必要容量との関係を表す情報を表示する。例えば、図５Ｃに示すように、配置予定位置１２４０に、スペアセルエリアを仮に配置しようとする場合、図５Ｄに示すように、容量余裕度が１．０（１００％）を超えており、問題が発生することを表す「赤色」が表示される。なお、スペアセルエリアの全てが論理セルになることはないので、論理セルとして使用する標準的な割合（スペアセル標準使用率とも呼ぶ）を乗じた上で、該当する容量チェックエリアにおける必要容量の総和を算出する。
【００２０】
以上のような内容を実現するための構成を図７乃至図３１を用いて説明する。最初に、本実施の形態に係る設計支援装置１００の構成を図７を用いて説明する。本実施の形態に係る設計支援装置１００は、インタラクティブ型のエディタ１１０と、データベース（ＤＢ）１２０と、データ格納部１３０と、スペアセル発生プログラム１４０と、マウスやキーボードなどの入力部１５０と、ディスプレイなどの表示部１６０とを有する。
【００２１】
エディタ１１０は、容量セル配置部１１１と、データ出力部１１２とを有する。データ出力部１１２は、余裕度算出部１１２１を有する。容量セル配置部１１１は、以下で述べるように、最初にセル配置エリアの空き領域に容量セルを配置する処理を実施する。データ出力部１１２は、入力部１５０からの設計者からの指示入力に応じて、論理セル等の配置の目安となる情報を生成して、表示部１６０に出力する。余裕度算出部１１２１は、必要容量と実容量との関係を表す情報として容量余裕度を算出する。
【００２２】
ＤＢ１２０は、セル等の配置情報の他、論理接続情報、インスタンス情報、配線ルール情報、配線情報などを格納している。また、データ格納部１３０は、セルライブラリ情報（論理セルの必要容量のデータを含む）と、パラメータ情報と、スペアセル発生プログラム１４０により用いられるスペアセル情報及びスペーサセル情報などを格納する。パラメータ情報は、配置パラメータ、配置回転コード、配置スペース、スペアセルエリアの必要容量、容量セル情報（各サイズの容量セルの実容量のデータを含む）、容量規定値、容量チェックパラメータ、ユーザから入力された表示のためのパラメータなどを含む。なお、データ格納部１３０は、エディタ１１０の処理途中のデータを格納する場合もある。
【００２３】
次に、図８乃至図３１を用いて、設計支援装置１００の処理内容について説明する。なお、エディタ１１０は、図８に示すようなパラメータ設定ウィンドウを表示部１６０に表示させ、設計者に設定させる。図８の例では、容量余裕度マップの表示モードの設定と、色表示モードが設定されている場合における色と容量余裕度の範囲との対応関係と、数値表示下限と、スペアセルの標準使用率とを設定するようになっている。容量余裕度マップの表示モードは、数値表示モードと、色表示モードと、その両方とを選択できるようになっている。色表示モードにおける色と余裕度の範囲との対応関係については、色無し（白）を含め色を４種類に塗り分ける例を示しているが、２種類であってもよいし、より多くの種類の色で塗り分けるようにしても良い。エディタ１１０は、このようなパラメータ設定ウィンドウにて設定されたパラメータを容量余裕度マップのためのパラメータとして受け付けて、例えばデータ格納部１３０に格納する。
【００２４】
そして、設計者が、例えば入力部１５０を介してエディタ１１０に対して特定のＬＳＩを物理設計の対象として指定し、処理開始を指示した場合、以下の処理を実施する。すなわち、エディタ１１０は、データ格納部１３０に格納されており且つ以下の処理で用いるパラメータ情報を読み込み（図９：ステップＳ１）、容量セル配置部１１１に、容量セル自動配置処理を実施させる（ステップＳ３）。容量セル自動配置処理については、図１２及び図１３を用いて後に説明する。なお、この処理は、セル配置エリアの空き領域に可能な限り容量セルを配置する処理である。
【００２５】
次に、エディタ１１０のデータ出力部１１２等は、容量余裕度マップ生成処理を実施する（ステップＳ５）。容量余裕度マップ生成処理については、図１４乃至図２２を用いて後に説明する。なお、この処理は、初期的な容量余裕度マップを生成して表示部１６０に出力する処理である。容量余裕度マップは、図１０に示すようにセル配置エリアに含まれる複数の容量チェックエリアの各々について、数値又は色若しくはその両方にて余裕度を示すマップである。但し、容量セルを配置しただけの状態であれば、容量余裕度は、必要容量＝０であるから、容量余裕度も０となり、図１０の例では色は付されない。数値についても表示下限未満であれば、表示されない。
【００２６】
そして、設計者は、論理セル又はスペアセルエリアを新規に配置対象物として選択するか、処理が進んだ後であれば既に配置済みである論理セル又はスペアセルエリアを配置対象物として移動させるために選択する。そして、設計者は、当該配置対象物を例えばドラッグして、セル配置エリアのうち配置したい位置、すなわち配置予定位置へ持って行く。この際、容量余裕度マップを参照して、容量の観点で適切と考えられる場所を配置予定位置として選択する。
【００２７】
エディタ１１０は、入力部１５０から、設計者による配置対象物の選択入力を受け付け（ステップＳ７）、配置予定位置などの配置指示パラメータを取得する（ステップＳ９）。そして、エディタ１１０は、このような配置対象物を配置予定位置に持って行く動作に応じて、容量余裕度マップ等の更新処理を実施する（ステップＳ１１）。この更新処理については、図２３乃至図３１を用いて後に説明する。なお、更新処理は、図５Ｂ及び図５Ｄで示したような表示だけではなく、図１０に示した容量余裕度マップの表示の更新も行う。
【００２８】
そして、エディタ１１０は、現在の配置予定位置に仮に配置したとすると、当該現在の配置予定位置を含む容量チェックエリアにおける実容量が、データ格納部１３０に格納されている容量規定値以下となっているか判断する（ステップＳ１３）。ここで、現在の配置予定位置を含む容量チェックエリアにおける実容量が容量規定値以下であれば、この現在の配置予定位置への配置を確定できる。すなわち、エディタ１１０は、配置対象物をドロップできるようにする。一方、容量チェックエリアにおける実容量が容量規定値を超えている場合には、この現在の配置予定位置への配置は確定できない。すなわち、エディタ１１０は、配置対象物をドロップできないようにする。配置を確定できないので、処理はステップＳ９に戻って、設計者は他の配置予定位置に配置対象物をドラッグするようになる。一方、配置を確定できる場合には、設計者は、配置対象物をドロップできるので、エディタ１１０は、設計者が配置対象物をドロップして配置を確定させたかを判断する（ステップＳ１５）。ここで、設計者が他の配置予定位置へのドラッグを継続させている場合には、配置の確定を指示しているわけではないとして、処理はステップＳ９に戻る。
【００２９】
設計者が配置対象物をドロップして配置を確定させた場合には、処理は端子Ａを介して図１１の処理の説明に移行する。
【００３０】
そして、エディタ１１０は、配置対象物の配置確定に応じて、ＤＢ１２０におけるセル等の配置情報を更新する（ステップＳ１７）。この際には、更新処理において生成される内部テーブルのデータを用いて更新する。また、以下で説明する管理テーブルについても、データ出力部１１２は、今回配置を確定させた配置対象物の配置情報及び内部テーブルのデータに従って更新する。
【００３１】
そして、エディタ１１０は、設計者により入力部１５０を介して配置完了が指示されたか判断する（ステップＳ１９）。配置完了が指示されていない場合には、処理は端子Ｂを介して図９のステップＳ７に戻る。一方、配置完了が指示された場合には、エディタ１１０は、スペアセル発生プログラム１４０を実行させる。すなわち、スペアセル発生プログラム１４０は、従来と同様に、データ格納部１３０に格納されているパラメータなどを用いて、スペアセルエリアその他の空き領域などにスペアセルを発生する処理を実施し、ＤＢ１２０を更新する（ステップＳ２１）。この処理は従来と同様であるから、詳細については省略する。
【００３２】
以上のような処理を実施することで、設計者は、容量の観点において配置すべき論理セルやスペアセルエリアを適切な位置を確認しつつ配置できる。すなわち、従来のように配置、容量セル配置、及び容量チェックを含む処理シーケンスを何度も繰り返すことなく、効率良くＬＳＩの物理設計を行うことができるようになる。
【００３３】
次に、図１２及び図１３を用いて、容量セル自動配置処理について説明する。まず、容量セル配置部１１１は、データ格納部１３０から容量セル情報を読み込む（図１２：ステップＳ３１）。そして、容量セル配置部１１１は、容量セル情報に含まれる容量セルの面積を用いて、容量セルの面積が大きい順にソートする（ステップＳ３３）。さらに、容量セル配置部１１１は、例えばＤＢ１２０から、容量セル配置基準となる未処理のサイトの情報を取得する（ステップＳ３５）。そして、容量セル配置部１１１は、取得したサイトの情報内に、既に配置されているセルの情報が存在しているか確認する（ステップＳ３７）。何らかの理由で既に何らかのセルが配置されている場合には、これを考慮して容量セルを配置するものである。
【００３４】
処理に係るサイト内に既配置セルが存在している場合には（ステップＳ３９：Ｙｅｓルート）、容量セル配置部１１１は、サイト内の空き領域を算出し、当該空き領域を空き領域集合に登録する（ステップＳ４３）。そして処理はステップＳ４５に移行する。例えば既配置セルがサイトの中央に配置されている場合には、サイトが２つの空き領域に分割されることもある。一方、処理に係るサイト内に既配置セルが存在していない場合には、容量セル配置部１１１は、サイト全体を空き領域集合に登録する（ステップＳ４１）。そして処理はステップＳ４５に移行する。
【００３５】
その後、容量セル配置部１１１は、空き領域集合から、サイト内の未処理の空き領域を１つ取得する（ステップＳ４５）。また、容量セル配置部１１１は、ステップＳ３３でソートした結果から、最も大きい容量セルの情報を取得する（ステップＳ４７）。そして処理は端子Ｃを介して図１３の処理に移行する。
【００３６】
図１３の処理の説明に移行して、容量セル配置部１１１は、処理に係る容量セルのセルサイズが、取得した空き領域以下であるか判断する（ステップＳ４９）。処理に係る容量セルのセルサイズが、取得した空き領域以下であれば、容量セル配置部１１１は、空き領域に容量セルを配置する処理を実施する（ステップＳ５１）。すなわち、配置位置と配置される容量セルの情報を、ＤＢ１２０に登録する。そして、容量セル配置部１１１は、空き領域を再計算する（ステップＳ５３）。その後、処理はステップＳ４９に戻る。このように空き領域にはできるだけ大きい容量セルを詰めようとする。
【００３７】
一方、処理に係る容量セルのセルサイズが、取得した空き領域を超えている場合には、容量セル配置部１１１は、ステップＳ３３のソート結果において次のサイズの容量セルがあるか判断する（ステップＳ５５）。次のサイズの容量セルが存在する場合には、容量セル配置部１１１は、次に大きい容量セルの情報を取得する（ステップＳ５７）。そして、処理はステップＳ４９に戻る。一方、次のサイズの容量セルが存在しない場合には、容量セル配置部１１１は、処理に係るサイトの全ての空き領域を処理したか判断する（ステップＳ５９）。未処理の空き領域が存在する場合には、端子Ｄを介して図１２のステップＳ４５に戻る。一方、処理に係るサイトの全ての空き領域を処理した場合には、容量セル配置部１１１は、未処理のサイトが存在しているか判断する（ステップＳ６１）。未処理のサイトが存在している場合には、端子Ｅを介して図１２のステップＳ３５に戻る。
【００３８】
以上のような処理を実施することで、容量セルを可能な限りセル配置エリアの空き領域に敷き詰めることができるようになる。これによって、容量余裕度の分母である実容量を初期的に確定させることができる。すなわち、論理セル等を配置し始める時点において、容量余裕度を正しく算出できるようになる。
【００３９】
次に、図１４乃至図２２を用いて、容量余裕度マップ生成処理を説明する。データ出力部１１２は、例えばデータ格納部１３０から、容量チェックエリアのデータを読み込む（図１４：ステップＳ７１）。そして、データ出力部１１２は、未処理の容量チェックエリアを１つ特定する（ステップＳ７３）。また、データ出力部１１２は、容量チェックエリアに関係する容量セルのデータを、ＤＢ１２０から読み出す（ステップＳ７５）。処理に係る容量チェックエリアに一部でも入っている容量セルのデータを読み出す。そして、余裕度算出部１１２１は、読み出した容量セルのうち未処理の容量セルを１つ特定する（ステップＳ７７）。ここで、余裕度算出部１１２１は、特定された容量セル全体が、特定された容量チェックエリアに入っているか判断する（ステップＳ７９）。特定された容量セル全体が、特定された容量チェックエリアに入っている場合には、余裕度算出部１１２１は、この容量セルの実容量を、加算対象として特定する（ステップＳ８１）。そして処理はステップＳ８５に移行する。
【００４０】
一方、特定された容量セルの一部が、特定された容量チェックエリアに入っている場合には、余裕度算出部１１２１は、この容量セルのうちこの容量チェックエリアに入っている面積を算出し、実容量×算出面積／容量セルの全面積、すなわち実容量を面積で按分して本容量チェックエリアの分を、加算対象として特定する（ステップＳ８３）。そして処理はステップＳ８５に移行する。
【００４１】
その後、余裕度算出部１１２１は、特定された容量チェックエリアの実容量の総和に、特定された容量セルについての加算対象実容量を加算し、例えばメインメモリなどの記憶装置に格納する（ステップＳ８５）。そして、余裕度算出部１１２１は、ステップＳ７５で特定された容量セルのうち、未処理の容量セルが存在しているか判断する（ステップＳ８７）。未処理の容量セルが存在している場合には、処理はステップＳ７７に戻る。一方、未処理の容量セルが存在していない場合には、処理は端子Ｆを介して図１５の処理に移行する。
【００４２】
次に、データ出力部１１２は、特定された容量チェックエリアに関係する、容量セル以外の配置セルのデータを、ＤＢ１２０から読み出す（図１５：ステップＳ８９）。手動で論理セルを配置する前に何らかのセルを配置している場合には、当該セルのデータを読み出す。そして、余裕度算出部１１２１は、ステップＳ８９で読み出した配置セルのうち未処理の配置セルが存在しているか判断する（ステップＳ９１）。未処理の配置セルが存在しない場合には端子Ｇを介して図１７の処理に移行する。一方、未処理の配置セルが存在する場合には、余裕度算出部１１２１は、読み出した配置セルのうち未処理の配置セルを１つ特定する（ステップＳ９３）。ここで、余裕度算出部１１２１は、特定された配置セル全体が、特定された容量チェックエリアに入っているか判断する（ステップＳ９５）。特定された配置セル全体が、特定された容量チェックエリアに入っている場合には、余裕度算出部１１２１は、この配置セルの必要容量を、加算対象として特定する（ステップＳ９７）。そして処理はステップＳ１０１に移行する。
【００４３】
一方、特定された配置セルの一部が、特定された容量チェックエリアに入っている場合には、余裕度算出部１１２１は、この配置セルのうちこの容量チェックエリアに入っている面積を算出し、必要容量×算出面積／配置セルの全面積、すなわち必要容量を面積で按分して本容量チェックエリアの分を、加算対象として特定する（ステップＳ９９）。そして処理はステップＳ１０１に移行する。
【００４４】
その後、余裕度算出部１１２１は、特定された容量チェックエリアの必要容量に、特定された配置セルについての加算対象必要容量を加算し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１０１）。そして、処理はステップＳ９１に戻る。
【００４５】
例えばメインメモリなどの記憶装置又はデータ格納部１３０に、例えば図１６に示すような管理テーブルを保持しておく。図１６の例では、容量チェックエリア毎に、実容量の総和と、必要容量の総和と、容量余裕度と、容量余裕度マップの色と、当該容量チェックエリアに関係するセル又はエリアの識別子と、そのセル又はエリアの個別必要容量又は個別実容量とが登録されるようになっている。容量チェックエリアに関係するセル又はエリアの識別子及びその個別必要容量又は個別実容量については、ステップＳ７５及びＳ８９で登録する。但し、これらのデータについては、管理テーブルに登録しなくても良い。
【００４６】
次に、図１７の処理の説明に移行して、余裕度算出部１１２１は、未処理の容量チェックエリアが存在するか判断する（ステップＳ１０３）。未処理の容量チェックエリアが存在する場合には、処理は端子Ｈを介してステップＳ７３に戻る。一方、未処理の容量チェックエリアが存在しない場合には、各容量チェックエリアについて、必要容量の総和と実容量の総和が算出されたことになる。
【００４７】
そして、余裕度算出部１１２１は、容量余裕度マップに関連するパラメータの変更を禁止するため、変更禁止フラグをセットする（ステップＳ１０５）。そして、余裕度算出部１１２１は、データ格納部１３０から、容量余裕度マップに関連するパラメータを読み出す（ステップＳ１０７）。例えば図８に関連して入力されたデータを読み出す。
【００４８】
その後、余裕度算出部１１２１は、未処理の容量チェックエリアを１つ特定し（ステップＳ１０９）、当該容量チェックエリアの容量余裕度を、必要容量／実容量にて算出し、例えば管理テーブルに格納する（ステップＳ１１１）。容量余裕度は、０が余裕大で１が余裕無しを表している。
【００４９】
そして、余裕度算出部１１２１は、算出された容量余裕度が、容量余裕度マップに関連するパラメータに含まれる色出力下限値未満であるか判断する（ステップＳ１１３）。容量余裕度が色出力下限値未満である場合には処理はステップＳ１１７に移行する。一方、容量余裕度が色出力下限値以上であれば、余裕度算出部１１２１は、容量余裕度マップに関連するパラメータから、算出された容量余裕度に合致する色データを取得し、例えば管理テーブルに登録する（ステップＳ１１５）。その後、余裕度算出部１１２１は、未処理の容量チェックエリアが存在するか判断する（ステップＳ１１７）。未処理の容量チェックエリアが存在する場合には、ステップＳ１０９に戻る。一方、未処理の容量チェックエリアが存在しない場合には、端子Ｉを介して図１８の処理に移行する。
【００５０】
図１８の処理の説明に移行して、データ出力部１１２は、容量余裕度マップに関連するパラメータとして色出力が指示されているか判断する（ステップＳ１１９）。色出力が指示されていない場合には、処理はステップＳ１２３に移行する。色出力が指示されている場合には、データ出力部１１２は、各容量チェックエリアについて特定された色が付された容量余裕度マップを生成して、表示部１６０に出力する（ステップＳ１２１）。初期的には、必要容量がほぼ０の場合が多いので、図１０に示したように色が何も付されないような容量余裕度マップが生成される。なお、例えば色出力下限値が１（＝１００％）である場合には、図１９に示すような容量余裕度マップが生成される。また、例えば色出力下限値が０．９（＝９０％）以上であり、１．０以上と色分けする場合には、図２０に示すような容量余裕度マップが生成される。
【００５１】
また、データ出力部１１２は、容量余裕度マップに関連するパラメータとして数値出力が指示されているか判断する（ステップＳ１２３）。数値出力が指示されていない場合には、処理はステップＳ１２７に移行する。一方、数値出力が指示されている場合には、データ出力部１１２は、各容量チェックエリアについて数値の容量余裕度が付された容量余裕度マップを生成して、表示部１６０に出力する（ステップＳ１２５）。例えば、図１９のように、出力下限値が１（＝１００％）である場合には、図２１に示すような容量余裕度マップが出力される。同様に、図２０に示すように、出力下限値が０．９（＝９０％）である場合には、図２２に示すような容量余裕度マップが出力される。
【００５２】
その後、データ出力部１１２は、変更禁止フラグを解除する（ステップＳ１２７）。そして、呼び出し元の処理に戻る。
【００５３】
以上のような処理を実施することで、初期的な容量余裕度マップを出力することができ、これから論理セル等を配置しようとする設計者は、どのあたりであれば論理セル等を配置しても容量の観点で問題がないのかを、大まかに把握できるようになる。容量余裕度マップについては、例えば配置作業ウィンドウの横に表示する。但し、別ウィンドウにて容量余裕度マップを表示させるようにしても良い。
【００５４】
次に、更新処理について、図２３乃至図３１を用いて説明する。データ出力部１１２は、更新内容を一時保管する内部テーブルをクリアする（ステップＳ１３１）。そして、データ出力部１１２は、容量余裕度マップに関連するパラメータの変更を禁止するため、変更禁止フラグをセットする（ステップＳ１３３）。また、データ出力部１１２は、配置対象物の配置予定位置を含む容量チェックエリアである配置先エリアを特定する（ステップＳ１３５）。
【００５５】
さらに、データ出力部１１２は、配置対象物が既にＤＢ１２０に配置位置が登録されているか、すなわち配置位置を含む、配置元の容量チェックエリアである配置元エリアが存在するか判断する（ステップＳ１３７）。配置対象物を移動させる指示が入力された場合には、移動前の配置位置を含む配置元エリアが特定される。なお、配置対象物が、２つ以上の容量チェックエリアをまたいで配置されることがあるので、複数の配置元エリアが特定される場合もある。配置元エリアが存在しない場合、すなわち新規に配置対象物を配置することが指示された場合には、処理は端子Ｊを介して図２５の処理に移行する。
【００５６】
一方、配置元エリアが存在する場合には、データ出力部１１２は、配置元エリアに関連するサイトのデータを例えばＤＢ１２０から取得する（ステップＳ１４１）。配置元エリアには複数のサイトが関連する場合があるので、全てのサイトのデータを取得する。そして、データ出力部１１２は、未処理のサイトを１つ特定する（ステップＳ１４２）。その後、データ出力部１１２は、特定されたサイトにおいて増加する容量セルのデータを、内部テーブルに格納する（ステップＳ１４３）。本実施の形態では、論理セル等を移動させる場合には、配置元のサイトにできる空き領域には自動的に容量セルを配置する。従って、配置元のサイトにできる空き領域を特定し、当該空き領域に配置される予定の容量セルを特定し、配置される予定の容量セルと、当該容量セルの実容量と、その配置予定位置のデータを、内部テーブルに格納する。例えば図２４に示すように、追加される予定の容量セルなのか削除される予定の容量セルなのかを表すフラグと、容量セルの識別子と、実容量と、位置データとが登録されるようになっている。
【００５７】
そして、データ出力部１１２は、未処理のサイトがあるか判断する（ステップＳ１４５）。未処理のサイトがある場合にはステップＳ１４２に戻る。一方、未処理のサイトが存在しない場合には、処理は端子Ｊを介して図２５の処理に移行する。
【００５８】
図２５の処理の説明に移行して、データ出力部１１２は、配置予定位置を含む容量チェックエリアである配置先エリアに関連するサイトのデータをＤＢ１２０から取得する（ステップＳ１４７）。配置先エリアには複数のサイトが関連する場合があるので、全てのサイトのデータを取得する。そして、データ出力部１１２は、未処理のサイトを１つ特定する（ステップＳ１４９）。その後、データ出力部１１２は、特定されたサイトにおいて減少する容量セルのデータを、内部テーブルに格納する（ステップＳ１５１）。本実施の形態では、容量セル以外のセルが配置されている位置には論理セル等を配置できないものとしている。従って、配置対象物を配置した場合に削除されるのは容量セルとなる。よって、配置予定位置に既に配置されている容量セルのうち論理セル等と重複する容量セルを特定し、削除される予定の容量セルと、当該容量セルの実容量と、その配置元位置のデータを、内部テーブルに格納する。
【００５９】
そして、データ出力部１１２は、未処理のサイトがあるか判断する（ステップＳ１５３）。未処理のサイトがある場合にはステップＳ１４９に戻る。一方、未処理のサイトが存在しない場合には、データ出力部１１２は、配置元エリアが存在するか判断する（ステップＳ１５５）。配置元エリアが存在しない場合には、端子Ｌを介して図２８の処理に移行する。一方、配置元エリアが存在する場合には、端子Ｋを介して図２６の処理に移行する。
【００６０】
図２６の処理の説明に移行して、データ出力部１１２は、配置元エリアに関連する容量チェックエリアを特定する（ステップＳ１５７）。上でも述べたように、複数の容量チェックエリアが関連する場合もある。そして、データ出力部１１２の余裕度算出部１１２１は、未処理の容量チェックエリアを１つ特定し（ステップＳ１５９）、配置対象物がスペアセルエリアであるか判断する（ステップＳ１６１）。配置対象物がスペアセルエリアであれば、余裕度算出部１１２１は、容量余裕度マップのためのパラメータに含まれるスペアセル標準使用率を取得する（ステップＳ１６３）。そして処理はステップＳ１６５に移行する。一方、配置対象物がスペアセルエリアでなければ、ステップＳ１６５に移行する。
【００６１】
その後、余裕度算出部１１２１は、配置元エリアにおける必要容量の削減量を算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１６５）。配置対象物が論理セルであれば、当該論理セルの必要容量が、必要容量の削減量となる。一方、配置対象物がスペアセルエリアであれば、ステップＳ１６３で取得したスペアセル標準使用率を用いて、スペアセル標準使用率×スペアセルエリアの必要容量によって、必要容量の削減量を算出する。
【００６２】
さらに、余裕度算出部１１２１は、特定された容量チェックエリアにおける必要容量の総和を再計算し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１６７）。管理テーブル（図１６）には、配置確定された状態における必要容量の総和が登録されているので、必要容量の総和−必要容量の削減量にて、配置対象物を仮に移動させた場合における必要容量の総和が得られる。
【００６３】
さらに、余裕度算出部１１２１は、特定された容量チェックエリアにおける実容量の総和を再計算し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１６９）。管理テーブル（図１６）には、配置確定された状態における実容量の総和が登録されているので、実容量の総和＋追加されるべき容量セルの実容量（内部テーブルに「追加」として登録されている容量セルの実容量）によって、配置対象物を仮に移動させた場合における実容量の総和が得られる。
【００６４】
その後、余裕度算出部１１２１は、必要容量の総和／実容量の総和により容量余裕度を算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１７１）。そして、データ出力部１１２は、算出された容量余裕度に基づき表示の更新を実施する（ステップＳ１７３）。図２７Ａに示すような容量余裕度マップにおいて、容量チェックエリア１４０１ａに含まれる論理セルを他の場所に移動させる場合には、実容量が増加して必要容量が減少する。よって、これまで容量余裕度が０．９以上１．０未満であったものが、図２７Ｂに示すように０．９未満となって、容量チェックエリア１４０１ｂのように色が付されなくなる場合もある。
【００６５】
そして、余裕度算出部１１２１は、未処理の容量チェックエリアが存在するか判断する（ステップＳ１７５）。未処理の容量チェックエリアが存在する場合には、ステップＳ１５９に戻る。一方、未処理の容量チェックエリアが存在しない場合には、端子Ｌを介して図２８の処理に移行する。
【００６６】
図２８の処理の説明に移行して、データ出力部１１２は、配置先エリアに関連する容量チェックエリアを特定する（ステップＳ１７７）。上でも述べたように、複数の容量チェックエリアが関連する場合もある。そして、データ出力部１１２の余裕度算出部１１２１は、未処理の容量チェックエリアを１つ特定し（ステップＳ１７９）、配置対象物がスペアセルエリアであるか判断する（ステップＳ１８１）。配置対象物がスペアセルエリアであれば、余裕度算出部１１２１は、容量余裕度マップのためのパラメータに含まれるスペアセル標準使用率を取得する（ステップＳ１８３）。そして処理はステップＳ１８５に移行する。一方、配置対象物がスペアセルエリアでなければ、ステップＳ１８５に移行する。
【００６７】
その後、余裕度算出部１１２１は、配置先エリアにおける必要容量の増加量を算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１８５）。配置対象物が論理セルであれば、当該論理セルの必要容量が、必要容量の増加量となる。一方、配置対象物がスペアセルエリアであれば、ステップＳ１８３で取得したスペアセル標準使用率を用いて、スペアセル標準使用率×スペアセルエリアの必要容量によって、必要容量の増加量を算出する。
【００６８】
さらに、余裕度算出部１１２１は、特定された容量チェックエリアにおける必要容量の総和を再計算し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１８７）。管理テーブル（図１６）には、配置確定された状態における必要容量の総和が登録されているので、必要容量の総和＋必要容量の増加量にて、配置対象物を仮に配置させた場合における必要容量の総和が得られる。
【００６９】
さらに、余裕度算出部１１２１は、特定された容量チェックエリアにおける実容量の総和を再計算し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１８９）。管理テーブル（図１６）には、配置確定された状態における実容量の総和が登録されているので、実容量の総和−削除されるべき容量セルの実容量（内部テーブルに「削除」として登録されている容量セルの実容量）によって、配置対象物を仮に配置させた場合における実容量の総和が得られる。
【００７０】
その後、余裕度算出部１１２１は、必要容量の総和／実容量の総和により容量余裕度を算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１９１）。そして、データ出力部１１２は、算出された容量余裕度に基づき表示の更新を実施する（ステップＳ１９３）。図２９Ａに示すような容量余裕度マップが表示されており、容量チェックエリア１４１１ａには０．９以上１．０未満に相当する色が付されているものとする。そして、図２９Ｂに示すように、配置作業ウィンドウにおいて、例えば論理セルを配置予定位置１４２１にドラッグして持って行くと、上で述べた計算を行う。そうすると、容量チェックエリア１４１１ａの容量余裕度が１．０を超えるので、図２９Ｂに示すように、容量チェックエリア１４１１ｂには１．０以上に相当する色が付されて、論理セルについても同じ色に変化する。
【００７１】
同様に、図２９Ｃに示すように、配置作業ウィンドウにおいて例えば論理セルを配置予定位置１４２２にドラッグして持って行って上で述べた計算を行っても、算出された容量余裕度が属する範囲が変化しないものとする。そうすると、容量余裕度マップにおいても容量チェックエリア１４１２の色は変化せず、同じ色が論理セルにも表示される。さらに、論理セルを配置予定位置１４２３にドラッグして持って行って上で述べた計算を行っても、算出された容量余裕度が属する範囲が変化しないものとする。そうすると、容量余裕度マップにおいても容量チェックエリア１４１３の色は変化せず、同じ色が論理セルにも表示される。
【００７２】
論理セルではなくスペアセルエリアを配置する場合も同様である。図３０に示すように、配置作業ウィンドウにおける配置予定位置１４２５に、スペアセルエリアを配置しようとすると、その配置予定位置１４２５を含む容量チェックエリア１４１５及び１４１６が特定される。この場合には、容量チェックエリア１４１５は容量余裕度が１．０以上となっているが、容量チェックエリア１４１６は容量余裕度が０．９以上１．０未満となっており、スペアセルエリアを配置しても容量余裕度が属する範囲が変化しないものとする。そうすると、配置予定位置１４２５にドラッグされてきたスペアセルエリアは、対応する容量チェックエリア毎に塗り分けを行っても良いが、例えば、容量余裕度のうち高い方の値に基づき色を決定して色付けするようにしても良い。図３０では後者の方式を採用している。
【００７３】
そして、余裕度算出部１１２１は、未処理の容量チェックエリアが存在するか判断する（ステップＳ１９５）。未処理の容量チェックエリアが存在する場合には、ステップＳ１７９に戻る。一方、未処理の容量チェックエリアが存在しない場合には、データ出力部１１２は、容量余裕度マップのためのパラメータに対する変更禁止フラグを解除する（ステップＳ１９９）。そして呼び出し元の処理に戻る。なお、内部テーブルを、そのまま配置確定指示（例えばドロップの指示など）を受けた場合（ステップＳ１７）に用いるため、メインメモリなどの記憶装置に保持しておく。すなわち、ステップＳ１７では、配置対象物の配置に加えて、内部テーブルに格納されているデータに基づく配置変更をも、ＤＢ１２０に反映させる。
【００７４】
また、ステップＳ１７では、管理テーブルについても更新する。例えば、図３１に示すように、各容量チェックエリアについて、実容量の総和、必要容量の総和、容量余裕度、容量余裕度マップにおける色について、確定状態を反映させる。これは直前の更新処理で得られた値を反映させればよい。また、各容量チェックエリアに属するセル又はエリア毎の個別必要容量及び個別実容量については、配置対象物の配置情報に加えて内部テーブルに格納されているデータに基づく配置変更の情報に従って更新される。
【００７５】
このようにすれば、設計者は、容量余裕度マップで論理セル等を配置する配置予定位置を探した上で、実際に配置する前に、仮に配置予定位置に配置した場合に容量余裕度がどのように変化するのかをも確認することができるようになる。すなわち、問題があるような配置予定位置に論理セル等を配置確定させることが無くなり、無駄な作業及び処理を削減して、効率的な作業及び処理が行えるようになる。
【００７６】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、処理フローについては、処理結果が変わらない限り、処理ステップの順番を入れ替えたり、複数の処理ステップを並列に実行するようにしても良い。
【００７７】
さらに、上で述べた機能ブロック構成は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。
【００７８】
また、表示の仕方は様々に変更可能である。例えば、数値と色にて容量余裕度を示す例を示したが、ハッチングの形態を変更することで示すことも可能である。さらに、配置作業ウィンドウにおいて配置対象物の色を変更する例を示したが、図３２Ａに示すように、配置対象物内に色ではなく数値を示すようにしても良い。さらに、図３２Ｂに示すように、配置対象物外の表示欄１４５１に、数値や色を提示するようにしても良い。
【００７９】
さらに、容量余裕度ではなく、必要容量の総和及び実容量の総和を対比可能な形で提示するようにしても良い。例えば、図３２Ｃに示すように、表示欄１４６１に、必要容量と実容量とを表示させるようにしても良い。また、表示欄１４６１に数値を表示させても良いし、円グラフその他の表現方法にて提示するようにしても良い。
【００８０】
また、容量余裕度マップと、作業配置ウィンドウとを並べて表示して、作業配置ウィンドウにおいて配置しようとする論理セル等と、容量余裕度マップにおける対応容量チェックエリアとで同じ色で更新するような処理を説明した。しかし、容量余裕度マップについては確定配置の結果を反映しておき、作業配置ウィンドウにおいて配置しようとする論理セル等については、仮に配置した場合における色を表示するようにしても良い。これによって、配置前後を比較することも可能になる。
【００８１】
さらに、他の方法で一旦容量チェックまで行った後に、本エディタ１１０により修正するようにしても良い。その際にも、更新処理以降を実施すれば良い。
【００８２】
なお、上で述べた設計支援装置１００は、コンピュータ装置であって、図３３に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８３】
以上述べた本実施の形態をまとめると、以下のようになる。
【００８４】
本実施の形態に係る設計支援装置は、（Ａ）半導体集積回路のセル配置エリアにおける空き領域に容量セルを配置する配置部と、（Ｂ）容量セルの容量と、論理セルの必要容量とを格納するデータ格納部と、（Ｃ）ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定してセル配置エリアに含まれる複数の容量チェックエリアのうち上記位置を含む容量チェックエリアについての容量の総和をデータ格納部に格納されているデータを用いて算出し、上記ある論理セルが配置されたと仮定して上記位置を含む容量チェックエリアについての必要容量の総和をデータ格納部に格納されているデータを用いて算出し、上記位置を含む容量チェックエリアについて算出された上記容量の総和と必要容量の総和との関係を表す情報を出力する情報出力部とを有する。
【００８５】
このようにすれば、配置する前に容量の観点において問題が発生するか否かを判断することができる。すなわち、問題がない部分に論理セルを配置すれば、手戻り無く効率的に作業及び処理を行うことができる。
【００８６】
また、上で述べた情報出力部が、複数の容量チェックエリアの各々について、当該容量チェックエリアに既に配置されているセルによる容量の総和と必要容量の総和とを算出し、当該容量の総和と当該必要容量の総和との関係を表す第２の情報を出力するようにしてもよい。このようにすれば、現状を考慮した上で、論理セルの配置予定位置を決定することができるようになる。
【００８７】
さらに、上で述べたデータ格納部が、スペアセルエリアの必要容量をさらに格納している場合もある。その場合、上で述べた情報出力部が、あるスペアセルエリアを配置する予定の第２の位置が指定されると、当該第２の位置の容量セルが除去されたと仮定して第２の位置を含む容量チェックエリアについての容量の総和をデータ格納部に格納されているデータを用いて算出し、あるスペアセルエリアが配置されたと仮定して第２の位置を含む容量チェックエリアについての必要容量の総和を、スペアセルエリアのうち論理セルとして使用する割合とデータ格納部に格納されているデータとを用いて算出し、第２の位置を含む容量チェックエリアについて算出された容量の総和と必要容量の総和との関係を表す第３の情報を出力するようにしても良い。このようにスペアセルエリアについても、論理セルとして使用する割合を考慮しつつ、配置予定位置へ配置した場合における容量の観点において適否を判断できるようになる。さらに、実際に論理セルとして使用することになっても、容量の観点において問題が発生しづらくなる。
【００８８】
また、上で述べた情報出力部は、ある論理セルが既に別の位置に配置されていて移動させる場合には、当該別の位置に対応容量セルが配置されたと仮定して複数の容量チェックエリアのうち別の位置を含む容量チェックエリアについての容量の総和をデータ格納部に格納されているデータを用いて算出し、ある論理セルが除去されたと仮定して別の位置を含む容量チェックエリアについての必要容量の総和をデータ格納部に格納されているデータを用いて算出し、別の位置を含む容量チェックエリアについて算出された容量の総和と必要容量の総和との関係を表す第４の情報を出力するようにしても良い。新たに論理セルを配置するだけではなく、移動させる場合にも対処できるようになる。特に、自動的に配置元位置に容量セルを配置しようとするので、配置元位置を含む容量チェックエリアについて正確に必要容量の総和及び容量の総和が算出できるようになる。
【００８９】
さらに、上で述べた情報出力部が、あるスペアセルエリアが既に別の第２の位置に配置されていて移動させる場合には、当該別の第２の位置に対応容量セルが配置されたと仮定して第２の別の位置を含む容量チェックエリアについての容量の総和をデータ格納部に格納されているデータを用いて算出し、あるスペアセルエリアが除去されたと仮定して第２の別の位置を含む容量チェックエリアについての必要容量の総和を、スペアセルエリアのうち論理セルとして使用する割合とデータ格納部に格納されているデータとを用いて算出し、上記別の第２の位置を含む容量チェックエリアについて算出された容量の総和と必要容量の総和との関係を表す第５の情報を出力するようにしても良い。スペアセルエリアについても論理セルと同様に移動させることも可能である。
【００９０】
また、容量の総和と必要容量の総和との関係を表す情報が、容量の総和に対する必要容量の総和の比又当該比に応じた表示形態のデータである場合もある。様々な表示態様が可能であるが、このような比をベースにすることで分かり易くなる。
【００９１】
なお、上で述べたデータ格納部が、複数の容量チェックエリアの各々に、当該容量チェックエリアに既に配置されているセルについての容量の総和と必要容量の総和とを格納するようにしても良い。このようすれば、高速に容量の総和及び必要容量の総和を算出することができる。例えば、論理セルを配置する場合には、容量の総和から、除去される予定の容量セルの容量を減ずれば容量の新たな総和を算出でき、必要容量の総和に論理セルの必要容量を加算すれば必要容量の新たな総和を算出できる。
【００９２】
なお、上で述べた配置部が、情報出力部より先に動作するようにしても良い。例えば最初に配置部を動作させることで、正確に計算が可能になる。
【００９３】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【図１Ａ】
2013084356.tif 000003
【図１Ｂ】
2013084356.tif 000004
【図１Ｃ】
2013084356.tif 000005
【図２】
2013084356.tif 000006
【図３Ａ】
2013084356.tif 000007
【図３Ｂ】
2013084356.tif 000008
【図３Ｃ】
2013084356.tif 000009
【図４Ａ】
2013084356.tif 000010
【図４Ｂ】
2013084356.tif 000011
【図５Ａ】
2013084356.tif 000012
【図５Ｂ】
2013084356.tif 000013
【図５Ｃ】
2013084356.tif 000014
【図５Ｄ】
2013084356.tif 000015
【図６Ａ】
2013084356.tif 000016
【図６Ｂ】
2013084356.tif 000017
【図６Ｃ】
2013084356.tif 000018
【図７】
2013084356.tif 000019
【図８】
2013084356.tif 000020
【図９】
2013084356.tif 000021
【図１０】
2013084356.tif 000022
【図１１】
2013084356.tif 000023
【図１２】
2013084356.tif 000024
【図１３】
2013084356.tif 000025
【図１４】
2013084356.tif 000026
【図１５】
2013084356.tif 000027
【図１６】
2013084356.tif 000028
【図１７】
2013084356.tif 000029
【図１８】
2013084356.tif 000030
【図１９】
2013084356.tif 000031
【図２０】
2013084356.tif 000032
【図２１】
2013084356.tif 000033
【図２２】
2013084356.tif 000034
【図２３】
2013084356.tif 000035
【図２４】
2013084356.tif 000036
【図２５】
2013084356.tif 000037
【図２６】
2013084356.tif 000038
【図２７Ａ】
2013084356.tif 000039
【図２７Ｂ】
2013084356.tif 000040
【図２８】
2013084356.tif 000041
【図２９Ａ】
2013084356.tif 000042
【図２９Ｂ】
2013084356.tif 000043
【図２９Ｃ】
2013084356.tif 000044
【図３０】
2013084356.tif 000045
【図３１】
2013084356.tif 000046
【図３２Ａ】
2013084356.tif 000047
【図３２Ｂ】
2013084356.tif 000048
【図３２Ｃ】
2013084356.tif 000049
【図３３】
2013084356.tif 000050
【手続補正書】
【提出日】平成26年5月8日(2014.5.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
半導体集積回路のセル配置エリア全体に論理セルの配置前に容量セルを配置する配置部と、
容量セルの容量と、論理セルの必要容量とを格納するデータ格納部と、
ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定して前記セル配置エリアに含まれる複数の容量チェックエリアのうち前記位置を含む容量チェックエリアについての容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記ある論理セルが配置されたと仮定して前記位置を含む容量チェックエリアについての必要容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す情報を出力する情報出力部と、
を有する設計支援装置。
【請求項２】
前記情報出力部が、
前記複数の容量チェックエリアの各々について、当該容量チェックエリアに既に配置されているセルによる容量の総和と必要容量の総和とを算出し、当該容量の総和と当該必要容量の総和との関係を表す第２の情報を出力する
請求項１記載の設計支援装置。
【請求項３】
前記データ格納部が、スペアセルエリアの必要容量をさらに格納しており、
前記情報出力部が、
あるスペアセルエリアを配置する予定の第２の位置が指定されると、当該第２の位置の容量セルが除去されたと仮定して前記第２の位置を含む容量チェックエリアについての容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記あるスペアセルエリアが配置されたと仮定して前記第２の位置を含む容量チェックエリアについての必要容量の総和を、前記スペアセルエリアのうち論理セルとして使用する割合と前記データ格納部に格納されているデータとを用いて算出し、前記第２の位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す第３の情報を出力する、
請求項１又は２記載の設計支援装置。
【請求項４】
前記情報出力部は、
前記ある論理セルが既に別の位置に配置されていて移動させる場合には、当該別の位置に対応容量セルが配置されたと仮定して前記複数の容量チェックエリアのうち前記別の位置を含む容量チェックエリアについての容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記ある論理セルが除去されたと仮定して前記別の位置を含む容量チェックエリアについての必要容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記別の位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す第４の情報を出力する、
請求項１乃至３のいずれか１つ記載の設計支援装置。
【請求項５】
前記情報出力部が、
前記あるスペアセルエリアが既に別の第２の位置に配置されていて移動させる場合には、当該別の第２の位置に対応容量セルが配置されたと仮定して前記第２の別の位置を含む容量チェックエリアについての容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記あるスペアセルエリアが除去されたと仮定して前記第２の別の位置を含む容量チェックエリアについての必要容量の総和を、前記スペアセルエリアのうち論理セルとして使用する割合と前記データ格納部に格納されているデータとを用いて算出し、前記別の第２の位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す第５の情報を出力する、
請求項３記載の設計支援装置。
【請求項６】
前記容量の総和と前記必要容量の総和との関係を表す情報が、前記容量の総和に対する前記必要容量の総和の比又当該比に応じた表示形態のデータである
請求項１乃至５のいずれか１つ記載の設計支援装置。
【請求項７】
前記データ格納部が、
前記複数の容量チェックエリアの各々に、当該容量チェックエリアに既に配置されているセルについての容量の総和と必要容量の総和とを格納する
請求項１乃至６のいずれか１つ記載の設計支援装置。
【請求項８】
前記配置部が、前記情報出力部より先に動作する
請求項１乃至７のいずれか１つ記載の設計支援装置。
【請求項９】
半導体集積回路のセル配置エリア全体に論理セルの配置前に容量セルを配置する処理と、
ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定して前記セル配置エリアに含まれる複数の容量チェックエリアのうち前記位置を含む容量チェックエリアについての容量の総和を、容量セルの容量と、論理セルの必要容量とを格納するデータ格納部に格納されているデータを用いて算出し、前記ある論理セルが配置されたと仮定して前記位置を含む容量チェックエリアについての必要容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す情報を出力する処理と、
を含む処理を、コンピュータに実行させるためのプログラム。
【請求項１０】
半導体集積回路のセル配置エリア全体に論理セルの配置前に容量セルを配置する処理と、
ある論理セルを配置する予定の位置が指示されると、当該位置の容量セルが除去されたと仮定して前記セル配置エリアに含まれる複数の容量チェックエリアのうち前記位置を含む容量チェックエリアについての容量の総和を、容量セルの容量と、論理セルの必要容量とを格納するデータ格納部に格納されているデータを用いて算出し、前記ある論理セルが配置されたと仮定して前記位置を含む容量チェックエリアについての必要容量の総和を前記データ格納部に格納されているデータを用いて算出し、前記位置を含む容量チェックエリアについて算出された前記容量の総和と前記必要容量の総和との関係を表す情報を出力する処理と、
を含む処理を、コンピュータが実行する設計支援方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
また、容量余裕度マップと、配置作業ウィンドウとを並べて表示して、配置作業ウィンドウにおいて配置しようとする論理セル等と、容量余裕度マップにおける対応容量チェックエリアとで同じ色で更新するような処理を説明した。しかし、容量余裕度マップについては確定配置の結果を反映しておき、配置作業ウィンドウにおいて配置しようとする論理セル等については、仮に配置した場合における色を表示するようにしても良い。これによって、配置前後を比較することも可能になる。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１７
【補正方法】変更
【補正の内容】
【図１７】
2013084356.tif 000051
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図２５
【補正方法】変更
【補正の内容】
【図２５】
2013084356.tif 000052
【国際調査報告】
2013084356.tif 000053
2013084356.tif 000054
2013084356.tif 000055
2013084356.tif 000056