半導体集積回路の自動レイアウト設計方法であって、単位領域当たりのネットの数の上限をネット密度制約として設定するネット密度設定工程と、前記ネット密度設定工程で設定された前記ネット密度制約を満たすようにセルを配置するセル配置工程と、を備えることを特徴とする半導体集積回路の自動レイアウト設計方法。請求項1に記載の半導体集積回路の自動レイアウト設計方法において、前記セル配置工程の前に、セルを仮配置するセル仮配置工程を備え、前記セル配置工程は、前記セル仮配置工程で仮配置されたセルのレイアウトに対し、単位領域に存在する端子を抽出する端子抽出工程と、前記抽出された端子に接続されるネットをネットリストを参照して抽出するネット抽出工程と、前記抽出したネットの数が前記ネット密度制約を満たすようにセルの配置を変更するセル配置変更工程と、を備えることを特徴とする半導体集積回路の自動レイアウト設計方法。請求項2に記載の半導体集積回路の自動レイアウト設計方法において、前記セル仮配置工程の後、前記セル配置工程の前に、仮配線を行う仮配線工程を備え、前記ネット抽出工程では、前記単位領域を通過する通過ネットも含めてネットを抽出することを特徴とする半導体集積回路の自動レイアウト設計方法。請求項2に記載の半導体集積回路の自動レイアウト設計方法であって、前記単位領域内の端子に接続されないで前記単位領域を通過する通過ネットの数の上限を通過ネット制約として設定する通過ネット制約設定工程をさらに備え、前記セル配置工程は、さらに、前記通過ネットの数をカウントする工程を備え、前記セル配置変更工程では、さらに、前記通過ネットの数が前記通過ネット制約を満たすようにセルの配置を変更することを特徴とする半導体集積回路の自動レイアウト設計方法。半導体集積回路の自動レイアウト設計方法であって、単位領域当たりのネットの数の上限をネット密度制約として設定するネット密度設定工程と、前記ネット密度設定工程で設定された前記ネット密度制約を満たすようにセルを配置するセル配置工程と、を備えることを特徴とする半導体集積回路の自動レイアウト設計方法。半導体集積回路の自動レイアウト設計装置であって、単位領域当たりのネットの数の上限をネット密度制約として設定する制約設定部と、前記制約設定部で設定された前記ネット密度制約を満たすようにセルを配置するレイアウト処理部と、を備えることを特徴とする半導体集積回路の自動レイアウト設計装置。しかしながら、特許文献2の方法では、不必要にチップ面積が増大するという問題が生じる。これを図20、図21を参照して説明する。図20Aに示される半導体チップ10において、領域R1とは異なる領域である領域R2に注目するとする。図20Cに示される領域R2において、端子数は、端子T1から端子T13までの13個であるが、総て問題なく結線されている。しかし、前述したように単位面積当たりの端子密度の上限を10に設定しているので、端子密度が10以下になるように領域R1と同じように領域R2においてもセルの再配置が行われてしまう。例えば、図20Cに示される領域R2の面積を単位面積とすると、図21Aに示される半導体チップ10における領域R2は、図21Cに示すように、領域R2においてもセル4の位置がずらされて端子密度が10以下になるようにされる。領域R2についてはセルをもっと密集させて配置してもよいにも関わらず、不必要な再配置が行われたために面積が広がってしまっている。その結果、チップ10全体としても余計なスペースが多数生じることになり、チップ面積がかなり増大してしまう。本発明の半導体集積回路の自動レイアウト設計方法は、単位領域当たりのネットの数の上限をネット密度制約として設定するネット密度設定工程と、前記ネット密度設定工程で設定された前記ネット密度制約を満たすようにセルを配置するセル配置工程と、を備えることを特徴とする。本発明の半導体集積回路の自動レイアウト設計装置は、単位領域当たりのネットの数の上限をネット密度制約として設定する制約設定部と、前記制約設定部で設定された前記ネット密度制約を満たすようにセルを配置するレイアウト処理部と、を備えることを特徴とする。本発明では、配線が収束できるか否かは、端子数というよりもネット数にこそ左右されるものと考え、ネット数に着目する。そして、ネット密度が設定値以下になるようにセル配置を行うようにしている。これにより、必要な領域に対しては配線混雑の緩和を行い、かつ、不必要な面積増大を抑制し、最適なレイアウトを提供することができる。以下、図面を参照して本発明の実施の形態について説明する。第1実施形態本発明の半導体集積回路の自動レイアウト装置にかかる第1実施形態を説明する。図1は、自動レイアウト装置の全体機能ブロック図である。自動レイアウト装置100は、入力部101と、表示部102と、出力部103と、本体装置110と、を備え、これは一般的なパーソナルコンピュータによって実現できるものである。本体装置110は、メモリとCPUとを有し、自動レイアウトプログラムを読み込むことで各機能部としての機能を実現する。本体装置110は、データ格納部120と、制約設定部130と、レイアウト処理部140と、制約判定部150と、を備える。データ格納部120には、機能セルライブラリ121と、ネットリスト122と、デザインルール123と、が格納される。機能セルライブラリ121には、各種の機能セルが格納されている。ここで、機能セルとしては、プリミティブセルや基本セルなどとも称されるAND回路、OR回路、インバータ回路などの基本的なマクロセルであってもよい。あるいは、機能セルとしては、RAMrandomaccessmemoryやROMreadonlymemoryなどのメガセルであってもよい。ネットリスト122とは、回路の接続状態を表現したデータであり、論理回路設計の結果である。デザインルール123は、半導体集積回路の製造プロセスにおいて認可されている半導体素子寸法や、配線金属の幅や間隔などを規定した設計規定である。さらには、本実施形態では、制約設定部130で設定される制約もデザインルールに加えられる。制約設定部130は、単位面積当たりのネット数の上限値を制約条件として設定する。このような制約条件は、入力部101からユーザによって適宜入力されるものである。制約条件の詳細については後述する。レイアウト処理部140は、ネットリスト122およびデザインルール123に基づいて機能セルの配置を行う。さらに、レイアウト処理部140は、その他、フロアプラン、電源配線、クロックツリー合成、配線を行う。制約判定部150は、レイアウト処理部140によって行われた機能セルの配置が制約条件を満たしているかどうかを判定する。制約条件が満たされていない場合、制約判定部150は、レイアウト処理部140に再配置を指令する。制約条件が満たされている場合、制約判定部150はその旨をレイアウト処理部140に伝える。すると、レイアウト処理部140は、セル配置の後工程であるクロックツリー合成CTS:clocktreesynthesisおよび配線処理を実行する。このようにして作成されたレイアウトデータは出力部103から出力される。第1実施形態による自動レイアウトの各処理工程を参照しながら説明する。図2は、自動レイアウト処理の手順を示すフローチャートである。まず、ST100において、レイアウト処理部140は、データ格納部120の機能セルライブラリ121、ネットリスト122、および、デザインルール123を読み込む。そして、読み込んだデータに基づいて、フロアプラン、電源配線を行うST101。これにより、IOバッファやハードマクロの配置位置を決定し、機能セルの配置領域を決定する。さらに、電源ラインの付加を行う。次に、ST102において、機能セルの仮配置を行う。例えば、読み込んだデータに基づいて、概略配線を行って配線遅延およびセル遅延を算出しつつ、タイミング制約等も考慮しながらタイミング収束が図れるように各機能セルの配置位置を仮決めする。このようなセル配置はレイアウト処理部140によって実行される。この仮配置ST102により、図3のように機能セルが配置されたとする。ここで、図3Aは、半導体回路チップの全体レイアウト図である。図3Bは、図3A中の領域R1を抜き出して拡大した図である。図3Cは、図3A中の領域R2を抜き出して拡大した図である。ここでは、わかりやすいように、仮想的に詳細配線まで行ったとした場合の配線の様子を合わせて示しているが、仮配置ST102では、詳細配線まで行う必要はない。続いて、ST103において、仮配置ST102された機能セルの配置領域内で配線が未収束になる混雑領域が有るか否かを判断する。例えば、図3B中では、端子T4と端子T11とがこのままでは配線不可能であり、配線未収束になってしまう。したがって、領域R1は混雑領域である。ここで、混雑領域の有無を判断するに当たっては様々な方法が考えられる。例えば、仮想的に詳細配線を行ってみてもよい。あるいは、単位面積当たりの端子数をカウントして、端子数が所定数以上例えば10以上である場合には混雑領域であると判定してもよい。ここでは、一例として、単位面積当たりの端子数が10以上である領域に対しては、混雑領域である、と判定することとする。単位面積当たりの端子数が10以上である領域を混雑領域とすると、領域R1に加えて、領域R2も混雑領域となる。混雑領域がある場合ST103:YES、例えば、表示部102の画面において、図3Aのレイアウト図上で混雑領域R1と混雑領域R2とを表示し、ユーザに混雑領域を提示するST104。さて、混雑領域は配線が未収束になる恐れがあるので、ユーザとしては、配線が適切に収束するようにセルの再配置を実行させなければならない。ここで、本第1実施形態では、再配置を実行する際の制約条件として、ネット密度を用いる。すなわち、単位面積当たりのネット数が所定値以下になるようにセルの再配置を実行させる。図4は、ネット密度制約を設定入力するための入力画面200の一例である。入力画面200において、エリア名201、範囲202、単位面積203、および、ネット密度204を入力できるようになっている。あるいは、コマンドを打ち込むようにしてもよい。例えば、ネット密度制約を設定する領域を、座標x、y=2134、1234で、縦横幅が1000×1000であるエリア1であるとする。そして、このエリア1において、縦横幅100×100の単位面積当たりにネット数の上限が1000になるようにする。このようにエリア1に対してネット密度制約を設定する場合、次のような入力コマンドが一例として挙げられる。領域の設定にあたっては、setregionnamelocwidthheightの順で入力することとし、具体的には、setregionnamearea1loc21341234width1000height1000とする。単位面積の設定にあたっては、setareaUnitnameの順で入力することとし、具体的には、setareaUnit100100namearea1とする。そして、ネット密度制約の設定にあたっては、setplaceNetDensitynameの順で入力することとし、具体的には、setplaceNetDensity1000namearea1とする。本実施形態では、ネット密度制約を設定する点に特徴を有するところ、半導体集積回路の設計分野では広く使用されている用語ではあるが、ここでネットという用語について簡単に補足を加えておく。回路設計者によって、設計対象の回路で処理したいアルゴリズムが動作レベル記述言語で記述される。この動作記述に基づいてデータフロー情報が作成される。データフロー情報から論理合成によって、クラスタ論理ブロックに分けられる。そして、クラスタ情報およびクラスタ同士の接続情報がRTLレジスタ転送レベル、Registertransferlevelのようなハードウエア記述言語に変換され、これが回路接続情報を有するネットリストなる。ここに、ネットとは、クラスタ論理ブロック間のつながりのことである。ネットリストを具体的な集積回路に落とし込むと、ネットは端子間を繋ぐ配線という形で具体化されることになる。さらに、ネットの数え方について補足を加える。図5において、領域R3には、Cell1、Cell2およびCell3が配置されている。Cell1は、端子T1と、端子T2と、端子T3と、を有する。Cell2は、端子T4と、端子T5と、を有する。Cell3は、端子T6と、端子T7と、を有する。すなわち、この領域R3の端子数は7つである。ここで、端子数が7であるからといってネット数も7になるとは限らない。領域R3に配置された機能セルを論理ブロックのレベルに戻してみると、図6のようになる。Cell1は論理ブロックB1に対応し、Cell2は論理ブロックB2に対応し、Cell3は論理ブロックB3に対応する、とする。ここで、論理ブロックB1の端子T3と、論理ブロックB2の端子T5と、論理ブロックB3の端子T6と、に注目する。論理ブロックB3の出力は、端子T6から出て、論理ブロックB1の端子T3と、論理ブロックB2の端子T5と、に入力される。この場合、端子T6と端子T3との間の信号は、端子T6と端子T5との間の信号に同じであり、ネットとしてみると、同じ論理ブロックB3に繋がるネットである。したがって、端子T6と端子T3とを繋ぐネットと、端子T6と端子T5とを繋ぐネットとは、同じネットとして数える。実際のレイアウト設計の段階でネット数を数えるにあたっては、図5や図6のような配線が存在しない段階でネットをカウントすることになる。したがって、図7のように、対象領域内にある端子を抽出し、さらに、各端子が繋がるネットをネットリストから抽出する。すると、端子T3と端子T5と端子T6とに繋がるネットは同じであるので、この対象領域には、合計でネットが5つあることになる。さて、ST105でネット密度の設定を行う。例えば、入力部101を操作してユーザがネット密度の上限を入力する。設定値は、制約設定部130によりデザインルール123に加えられる。ここでは、ネット密度制約を9に設定したとする。このネット密度制約のもとでセルの再配置を実行するST106。セル再配置の手順を説明する。図8は、セルの再配置ST106を実行する詳細手順を示すフローチャートである。セルの再配置にあたって、単位領域ごとにネット密度を求めるST200。なお、単位面積を有する領域を単位領域と称する。ネット密度を求めるにあたりST200、具体的には、仮配置された配置領域内に対して単位領域内の端子を抽出しST201、抽出された端子に接続するネットを抽出するST202。そして、抽出したネットの数をカウントするST203。この工程は、図7で説明した手順である。これを図3の領域R1に適用すると、図9のようになり、単位面積当たりのネット数が10である。このように求められたネット数と設定されたネット密度制約とを対比するST204。このような対比は制約判定部150により実行される。ここで現在の状態では、ネット数10本がネット密度制約9本を超えているST204:NO。このような場合には、この単位領域のセル配置を変更してST205、ネット密度制約を満たすまでネット密度の算出ST200とセル配置の変更ST205とを繰り返す。この結果、図10Bに示すようになったとする。Cell3の位置がずらされることによりネット密度が緩和され、これにより総ての端子が結線されている。単位面積あたりのネット密度も9となり、ネット密度の制約も満たすST204:YES。ネット密度制約を満たしたところでST204:YES、対象領域内のすべての単位領域について検証したか判断するST206。まだ、検証していない単位領域がある場合にはST206:NO、別の単位領域に移動し、ネット密度の算出ST200とセル配置の変更ST205とを行う。ここで、例えば、図3の領域R2に移動したとする。領域R2のネット数をカウントすると図11のようになる。ネット数としては9本であり、これはネット密度制約を満たすST204:YES。したがって、領域R2についてはセル配置の変更ST205を行わない。対象領域内のすべての単位領域について検証が済んだ場合ST206:YES、セルの再配置が終了する。これでセルの配置が決定したことになるので、あとは、クロックツリー合成ST107と詳細配線ST108を行う。また、ST102の仮配置のあと、混雑領域が無ければST103:NO、クロックツリー合成ST107にジャンプする。この場合は、仮配置ST102によって混雑領域が無いようにセルを配置できているので、セル再配置ST106を行う必要がないからである。クロックツリー合成ST107においては、単位面積あたりのネット本数がネット密度制約を満たすようにする。配線を行ってみてST108、すべての端子に配線ができ、配線が収束した場合ST109:YES、自動レイアウトが終了する。なお、配線が収束しなかった場合ST109:NOには、再びセルの仮配置ST102に戻ってやり直す。このような第1実施形態によれば、次の効果を奏する。従来は、端子密度が設定値以下になるようにセルの配置を調整していた。この方法で確かに配線未収束という事態は無くなるが、図21を参照して説明したように、配線が十分に可能な領域に対してもセル占有率を下げるような再配置を行ってしまう場合があった。この点、本実施形態では、端子数ではなく、単位面積当たりのネット数ネット密度に注目している。そして、ネット密度が設定値以下になるようにセル配置を行うようにしている。これにより、領域R1のように配線が混雑して配線未収束に陥る可能性がある領域に対しては配線混雑を緩和するようにセルの再配置を実行する一方、領域R2のように端子数が多くても配線が十分に収束できる領域に対しては不必要な再配置を行わない。配線が収束できるか否かは、端子数というよりもネット数に左右されるものと考えられる。したがって、単純に単位領域あたりの端子数を抽出だけでなく、本実施形態ではさらにそれら端子に接続されるネットを抽出する工程ST202と、ネットの数をカウントする工程ST203と、を行うこととしている。これにより、必要な領域に対しては配線混雑の緩和を行い、かつ、不必要な面積増大を抑制し、最適な自動レイアウトを提供することができる。第2実施形態次に、本発明の第2実施形態について説明する。第2実施形態の基本的構成は第1実施形態と同様であるが、領域を通過する配線についてもカウントの対象とする点に特徴を有する。第1実施形態においてネットの数をカウントするにあたっては、対象領域内に存在する端子に繋がるネットを抽出してカウントした。ここで、実際の回路構成では、対象領域内の端子に繋がるわけではないが、対象領域を通過する配線も存在することがあり、このような配線を引くためは対象領域内の配線層が使用されることになってしまう。したがって、配線が混雑するか否か配線が収束するか否かを検証するにあたっては領域を通過するネットについても考えることが好ましい。例えば、図12のように、領域R2とともに、領域R2の左右の領域である領域R21と領域R22とを合わせて考える。このとき、通過ネット1から通過ネット4は、領域R2内の端子に繋がるわけではないが、領域R2を間にして離れた領域にある端子を繋ぐために領域R2を通過するもしくは通過する可能性が高い。このような通過配線が増えてしまうと、領域R2内の配線スペースが無くなり、配線未収束になる恐れがある。そこで、第2実施形態では、対象領域を通過するネットも含めてネット数をカウントするようにする。第2実施形態においては、図13に示す入力画面で、対象領域を通過するネットも含めてネット数をカウントするように設定できる入力枠205が設けられている。ネット密度設定工程ST105では、この入力枠205をONにし、通過ネットもカウントするように設定する。図14は、第2実施形態におけるセル再配置の手順を示すフローチャートである。第1実施形態図8と異なる点は、ネット密度を求めるにあたりST300、まず仮配線を行う点であるST301。通過ネットを見積もるためには仮配線が必要である。そして、対象領域のネット数を通過ネットも含めてカウントする。例えば図12の例でいうと、4つの通過ネットを含めて、領域R2のネット数は12である。これは、ネット密度制約である9を超えているのでST204:NO、この場合、セルの配置を変更するST205。ネット密度制約を満たすまでネット密度の算出ST300とセル配置の変更ST205とを繰り返す。その他の工程は、第1実施形態と同じである。このような第2実施形態によれば、第1実施形態の効果に加え、さらに領域を通過するネットについてもカウント対象とする。これにより、配線混雑を回避するためのセルの再配置をより適切に実行することができる。第3実施形態次に、本発明の第3実施形態について説明する。第3実施形態の基本的構成は第1実施形態と同様であるが、領域内のネット密度の制約に加えて、通過配線数についても制約を設定する点に特徴を有する。第2実施形態において対象領域を通過する通過ネットも含めてネット数をカウントした。これに対し、第3実施形態では、通過ネットに対して別個の制約条件を設けることとする。例えば、図15の入力画面において、ネット密度制約204に加えて、通過ネットの上限を設定する入力枠206を設ける。図16は、第3実施形態における自動レイアウト処理の手順を示すフローチャートである。第1実施形態と異なる点は、制約設定において、ネット密度を設定ST105することに加えて通過ネット本数を設定ST1051する点である。さらに、このような制約を満たすようにセルの再配置を行うところST400、第3実施形態におけるセルの再配置ST400を説明する。図17のフローチャートにおいて、第1実施形態図8と異なる点は、ネット密度を求めるにあたりST500、まず仮配線を行う点であるST501。通過ネットを見積もるためには仮配線が必要である。そして、対象領域のネット数を通過ネットも含めてカウントするST501。次に、ST501でカウントされたネットのうち、端子に接続しているものを抽出する。これが対象領域内の端子に接続されるネットであり、第3実施形態ではこの本数をネット密度とする。さらに、ST501でカウントされたネットのうち、端子に繋がっていないネットを抽出する。これが対象領域を通過するネットであり、第3実施形態ではこの本数を通過ネット数とする。次に、ST204においては、ST503でカウントしたネット数ネット密度がネット密度制約を満たすか判定する。ST2041において、ST504でカウントした通過ネット数が通過ネット数の設定値ST1051以下になっているか判定する。ST204およびST2041を満たすまでセル配置の変更ST205を繰り返す。対象領域内のすべての領域がST204およびST2041の条件を満たしたところで、次にクロックツリー合成ST107および配線ST108を行う。クロックツリー合成ST107においては、単位面積あたりのネット本数がネット密度制約を満たすようにする。さらに、配線ST108を行うにあたっては、通過ネット本数が通過ネット数の設定値以下になるように配線を行う。このような第3実施形態によれば、第1実施形態の効果に加え、さらに、領域を通過するネットについても制約条件以下とする。これにより、配線混雑を回避するためのセルの再配置をより適切に実行することができる。変形例上記実施形態、例えば、第1実施形態を示す図2においては、セルを仮配置ST102した後、ST103において混雑領域がありと判断した場合ST103:YESにネット密度を考慮してセルの再配置ST106を行なう場合を例示した。これに限らず、セルの仮配置ST102においてネット密度を考慮しながら仮配置を行なうようにしてもよい。この場合、セルの仮配置ST102よりも以前に、単位領域当たりのネットの数の上限をネット密度として設定し、該ネット密度を満たすようにセル仮配置を実行する。セルを仮配置した後、すべての機能セルについて制約を満たすように配置できたか否かを判定し、制約を満たすように配置できていなければセルの再配置を実行する。ネット密度を満たすように配置できていれば、クロックツリーの合成、配線、と工程を進めていく。さらに、クロックツリーの合成時ST107にもネット密度を考慮しながら合成するようにしてもよい。混雑領域の有無を判断するステップST103は、セル仮配置ST102の直後のみならず、クロックツリー合成ST107の後や配線処理ST108の後にも実行するようにしてもよい。混雑領域の有無を判断するステップST103は、レイアウト処理のどの段階でも実行できるものであり、必要に応じて適宜挿入すればよい。そして、混雑領域が有ることが判定された場合には、セルの仮配置ST102まで戻るようにする。混雑領域が有るままで配線処理まで行うことは結局は無駄な処理になってしまうところ、こまめに混雑領域の有無を判定することによってより効率的に処理フローのループを回すことができる。上記実施形態では、配線が収束しなかったときにはST109:NOセルの仮配置ST102まで戻る場合を例示したが、混雑領域の混雑の程度に応じてどのステップまで戻るかを適切に判断するようにしてもよい。すなわち、配線が収束しなかった場合ST109:NO、混雑領域の混雑の程度に応じて、セルの仮配置ST102まで戻るようにしてもよく、または、クロックツリー合成ST107まで戻るようにしてもよく、あるいは、配線処理ST108まで戻るようにしてもよい。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。