(57)【特許請求の範囲】
【請求項１】
チップ内に、前記チップの外部との信号線接続情報及びモジュール相互間の信号線接続情報が定義された複数のモジュールを、前記チップの機能設計又は論理設計に入る前に配置する半導体設計システムにおいて、
前記チップの周辺部に、入出力パッドが配置される複数のパッド割り当て領域を画定する手段と、
前記入出力パッドを介して前記チップの外部と信号の入出力を行なう第１のモジュールから前記パッド割り当て領域へ向かう方位を有し、前記パッド割り当て領域に配置され前記第１のモジュールに接続する入出力パッドの数を大きさとする前記第１のモジュールの第１ベクトルを算出する手段と、
前記第１のモジュールから前記複数のパッド割り当て領域へ向かう第１ベクトルの総和が０となる前記第１のモジュールの位置を算出する手段と、
前記第１のモジュールを、第１ベクトルの総和が０となる前記第１のモジュールの位置へ移動する手段とを備えたことを特徴とする半導体設計システム。
【請求項２】
前記第１のモジュールを移動した後、前記チップ内に配置されかつ前記入出力パッドとの信号線接続がない複数の第２のモジュールのうちの一つの前記第２のモジュールから前記第１のモジュール及び他の前記第２のモジュールへ向かう方位を有し、前記一つの第２のモジュールと前記第１のモジュール及び前記他の第２のモジュールとの間の信号線の数を大きさとする位置ベクトルを算出する手段と、
前記一つの第２のモジュールから前記第１のモジュール及び前記他の第２のモジュールへ向かう位置ベクトルの平均値を前記一つの第２のモジュールについての平均の位置ベクトルとして、前記複数の第２のモジュールの各々について前記平均の位置ベクトルを算出する手段と、
前記複数の第２のモジュールの各々を、前記複数の第２のモジュールの各々についての前記平均の位置ベクトル分移動する手段とを備えたことを特徴とする請求項１記載の半導体設計システム。
【請求項３】
前記複数の第２のモジュールの各々を、前記複数の第２のモジュールの各々についての前記平均の位置ベクトル分だけ移動する手段は、前記平均の位置ベクトルの大きさが所与の所定値より大きな前記第２のモジュールのみを移動することを特徴とする請求項２記載の半導体設計システム。
【請求項４】
請求項１、２又は３記載の半導体設計システムにより配置された前記モジュールのうち、チップ上に配置される形状が画定されているマクロを含むモジュールを、前記チップの周辺近傍に移動する手段を備えたことを特徴とする請求項１、２又は３記載の半導体設計システム。
【請求項５】
チップ内に、前記チップの外部との信号線接続情報及びモジュール相互間の信号線接続情報が定義された複数のモジュールを、前記チップの機能設計又は論理設計に入る前に配置する半導体設計プログラムを記録した記録媒体において、
前記半導体設計プログラムは、
前記チップの周辺部に、入出力パッドが配置される複数のパッド割り当て領域を画定する工程と、
前記入出力パッドを介して前記チップの外部と信号の入出力を行なう第１のモジュールから前記パッド割り当て領域へ向かう方位を有し、前記パッド割り当て領域に配置され前記第１のモジュールに接続する入出力パッドの数を大きさとする前記第１のモジュールの第１ベクトルを算出する工程と、
前記第１のモジュールから前記複数のパッド割り当て領域へ向かう第１ベクトルの総和が０となる前記第１のモジュールの位置を算出する工程と、
前記第１のモジュールを、第１ベクトルの総和が０となる前記第１のモジュールの位置へ移動する工程と、
前記チップ内に配置されかつ前記入出力パッドとの信号線接続がない複数の第２のモジュールのうちの一つの前記第２のモジュールから前記第１のモジュール及び他の前記第２のモジュールへ向かう方位を有し、前記一つの第２のモジュールと前記第１のモジュール及び前記他の第２のモジュールとの間の信号線の数を大きさとする位置ベクトルを算出する工程と、
前記一つの第２のモジュールから前記第１のモジュール及び前記他の第２のモジュールへ向かう位置ベクトルの平均値を前記一つの第２のモジュールについての平均の位置ベクトルとして、前記複数の第２のモジュールの各々について前記平均の位置ベクトルを算出する工程と、
前記第２のモジュールの各々を前記複数の第２のモジュールの各々についての前記平均の位置ベクトル分移動する工程とを実行することを特徴とする半導体設計プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＳＩの設計技術、特にＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）に関する。
【０００２】
【従来の技術】
半導体チップの設計においては、半導体チップの仕様が決定された後に、半導体チップの仕様に基づいて複数のモジュールへの分割を行う。モジュールとは所定の機能を実現するブロックであって、ＲＡＭ、ＲＯＭ又はＣＰＵなどのマクロと、ＡＮＤゲート、ＯＲゲート又はＦＦ（フリップフロップ）などのユニットセルなどを含む。半導体チップは、これら複数のモジュールから構成される。
【０００３】
図３０を参照して、半導体チップの設計の流れを説明する。
【０００４】
半導体チップの仕様１００に基づいて生成されたモジュール群は、ＲＴＬ記述（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ、動作レベル論理回路）１０１に記述された後に、機能・論理設計が施される。即ち、論理合成１０２により、ＲＴＬ記述１０１はネットリスト（ゲートレベル論理回路）１０３に変換される。ネットリストに変換されたモジュール群には、物理設計が施される。即  ち、レイアウト手段（配置配線手段）１０４により、ネットリスト１０３に基づいてモジュール群はチップ上に物理的に配置される。
【０００５】
【発明が解決しようとする課題】
ここで、マクロを含むモジュールがチップ上の中央付近部に配置された場合に問題が生じる。即ち、マクロは、ユニットセルに比べてそのサイズが非常に大きいとともに、配線はマクロ上を通過できない場合が多いため、配線はマクロを迂回しなければならず、配線効率が低減する。
【０００６】
そこで、モジュールの配置が終了した時点で、モジュールの配置分布をチェックする必要が生じる。この配置分布チェックは、シミュレーションなどの手法で行われる場合もあるが、ネットリストを実際に配置した結果について視覚で行われる場合が多い。もし、機能配置モジュールの配置分布に支障がある場合には、モジュールの配置分布を変更すべく、機能・論理設計から設計をやりなおさなければならず、場合によってはＲＴＬ記述を記述しなおさなければならない場合も生じる。
【０００７】
このように、従来においては、物理設計時においてはじめてモジュールの及びマクロの配置の不具合を知るため、再配置のための機能・論理設計に戻らなければならなかった。このことは、設計の繰返しによる半導体設計の長時間化を招  く。この長時間化は、視覚による不確かなモジュールの配置分布チェックによ  り、またモジュール数及び回路規模の増大により、拍車がかけられる。更に、設計前に見積もったチップ面積及びチップ価格に大きな誤算が生じ、顧客への信頼度が低下するという問題も生じる。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、本願発明は、チップ内に、前記チップの外部との信号線接続情報及びモジュール相互間の信号線接続情報が定義された複数のモジュールを、前記チップの機能設計又は論理設計に入る前に配置する半導体設計システムにおいて、前記チップの周辺部に、入出力パッドが配置される複数のパッド割り当て領域を画定する手段と、前記入出力パッドを介して前記チップの外部と信号の入出力を行なう第１のモジュールから前記パッド割り当て領域へ向かう方位を有し、前記パッド割り当て領域に配置され前記第１のモジュールに接続する入出力パッドの数を大きさとする前記第１のモジュールの第１ベクトルを算出する手段と、前記第１のモジュールから前記複数のパッド割り当て領域へ向かう第１ベクトルの総和が０となる前記第１のモジュールの位置を算出する手段と、前記第１のモジュールを、第１ベクトルの総和が０となる前記第１のモジュールの位置へ移動する手段とを備えたことを特徴とする半導体設計システム、として構成し、また、
前記第１のモジュールを移動した後、前記チップ内に配置されかつ前記入出力パッドとの信号線接続がない複数の第２のモジュールのうちの一つの前記第２のモジュールから前記第１のモジュール及び他の前記第２のモジュールへ向かう方位を有し、前記一つの第２のモジュールと前記第１のモジュール及び前記他の第２のモジュールとの間の信号線の数を大きさとする位置ベクトルを算出する手段と、前記一つの第２のモジュールから前記第１のモジュール及び前記他の第２のモジュールへ向かう位置ベクトルの平均値を前記一つの第２のモジュールについての平均の位置ベクトルとして、前記複数の第２のモジュールの各々についての前記平均の位置ベクトルを算出する手段と、前記複数の第２のモジュールの各々を、前記複数の第２のモジュールの各々についての前記平均の位置ベクトル分移動する手段とを備えたことを特徴とする半導体設計システム、として構成する。
【０００９】
本発明に係る半導体設計係る半導体設計システム、半導体集積回路及び半導体設計プログラムを記録した記録媒体によれば、仕様が決定された段階で（チップの機能・論理設計に入る前に）、正確なモジュールの配置位置情報を得ることができ、以後の機能・論理設計及び物理設計時における問題発生を抑えて、設計の繰返しを回避することができる。
【００１０】
【発明の実施の形態】
図１に本発明の原理図を示す。
【００１１】
本発明である半導体設計システム５には、設計情報１、マクロライブラリ２及びチップライブラリ３が入力され、ＣＰＵ６による制御に基づき一連の処理がなされ、モジュールの配置位置情報４が出力される。また、本半導体設計システム５においては、ディスプレイ（画面）７による設計者との対話も可能である。更に、設計情報１にモジュールの大きさ（エリア数）が定義されている場合には、モジュールの端子位置情報８とモジュールの形状情報９とが出力される。
【００１２】
また、本システムは、プログラムとして半導体メモリ（ＲＡＭ、ＲＯＭ）、フロッピーディスク（ＦＤ）、ハードディスク（ＨＤ）、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ、ＭＤ）、磁気テープなどの記録媒体に記録される場合もある。係る記録媒体を通じて、本システムは、ワークステーションやパーソナルコンピュータなどにインストールされて使用される。
［第１の実施例］
図２に、本発明の第１の実施例を示す。
【００１３】
図２は、ＬＳＩ設計の上層段階で、モジュールの配置を決定するとともに、モジュール内のマクロの配置を決定する半導体設計システムのフローである。
【００１４】
設計情報１は、半導体チップの設計仕様からの情報であって、少なくとも以下の四つの情報を含む。
【００１５】
・モジュール名
・入出力パッドとモジュール間の信号線数と信号方向
・モジュール間の信号線数と信号方向
・マクロの種類と個数
なお、モジュールの大きさ（エリア数）は必ずしも必要ではないが、モジュールの大きさ（エリア数）が設計情報に定義されていると、モジュールの大きさ  （エリア数）を考慮してモジュールの配置位置を決定できるので、より精度の高いモジュールの配置位置情報を得ることができる。
【００１６】
マクロライブラリ２は、マクロに関する情報が登録されたライブラリであっ  て、少なくとも以下の三つの情報を含む。
【００１７】
・マクロサイズ
・マクロの端子位置
・マクロタイプ
なお、マクロ名は必ずしも必要ではないが、マクロ名には信号端子の共有情報を含ませることができ、このようなマクロ名がマクロライブラリに登録されていると、信号端子の共有情報を引き出すことが容易にできるので有効である。
【００１８】
チップライブラリ３は、チップに関する情報が登録されたライブラリであっ  て、少なくとも以下の四つの情報を含む。
【００１９】
・半導体チップサイズ
・パッド位置
・パッド数
本半導体設計システムは、少なくとも、設計情報１、マクロライブラリ２及びチップライブラリ３を入力情報として必要とする。
【００２０】
（１）初期処理１０
初期処理１０は、入出力パッドの分割とモジュールの初期配置を行う。
【００２１】
図３は、入出力パッドの分割の一の具体例を示す。
【００２２】
チップの周辺に配置された入出力パッドを複数のパッド割り当て領域に分割する。モジュールと入出力パッドとの接続関係を、多数存在する入出力パッドを特定することにより表すと、詳細すぎて処理が複雑となる。そこで、モジュールと入出力パッドとの接続関係を、モジュールとパッド割り当て領域との接続関係に置き換えて、処理の簡易化を図る。
【００２３】
図３においては、入出力パッドを８個のパッド割り当て領域Ｐ１〜Ｐ８に分割している。分割する個数はいくつであってもよいが、分割の個数が多ければ多いほど、モジュールと入出力パッドとの接続関係がより正確に表されるため、精度が高くなる。
【００２４】
図４は、モジュールの初期配置の一の具体例を示す。
【００２５】
モジュールの初期配置は、チップ内部に含まれるモジュールを所定の位置に配置させる。なお、この第１の実施例においては、モジュールの大きさは考慮されず、モジュールはモジュールの位置を示すモジュール座標で表される。例えば、モジュール座標は各モジュールの中心点などで表現される。
【００２６】
図４においては、モジュールをチップ中央に配置しているが、配置場所はチップの中央部に限られず、所定の場所であればどこでもよい。なお、モジュールの初期配置において、モジュールが配置される位置を、モジュール初期配置位置という。
【００２７】
（２）モジュール移動▲１▼１１
モジュール移動▲１▼１１は、パッド割り当て領域（入出力パッド）と接続関係にあるモジュールを、パッド割り当て領域（入出力パッド）近傍に移動させる。
【００２８】
図５は、モジュール移動▲１▼１１の一の具体例を示す。
【００２９】
図６は、モジュールの配置先を決定する手法の一の具体例を示す。
【００３０】
モジュールのモジュール座標とこのモジュールと接続関係にあるパッド割り当て領域（入出力パッド）との間のベクトルを全て求める。各々のベクトルの大きさは、モジュールとパッド割り当て領域（入出力パッド）との間の信号線の数で表す。
【００３１】
図６においては、任意のモジュールが、パッド割り当て領域Ａとパッド割り当て領域Ｂとパッド割り当て領域Ｃという三つのパッド割り当て領域と接続関係にある。
【００３２】
モジュール座標：（ｘ，ｙ）
パッド割り当て領域Ａ：（Ａｘ，Ａｙ）
パッド割り当て領域Ｂ：（Ｂｘ，Ｂｙ）
パッド割り当て領域Ｃ：（Ｃｘ，Ｃｙ）
モジュールからパッド割り当て領域Ａへのベクトル：ａ
モジュールからパッド割り当て領域Ｂへのベクトル：ｂ
モジュールからパッド割り当て領域Ｃへのベクトル：ｃ
モジュールとパッド割り当て領域Ａと間の信号線の数：｜ａ｜
モジュールとパッド割り当て領域Ｂと間の信号線の数：｜ｂ｜
モジュールとパッド割り当て領域Ｃと間の信号線の数：｜ｃ｜
とすると、モジュールの配置先であるモジュール座標（ｘ，ｙ）は、以下の方程式を解くことにより求まる。
【００３３】
【式１】
0003988330.tif 000002
モジュール移動▲１▼１１では、式１により求められたモジュール座標に、モジュールを配置している。
【００３４】
（３）モジュール移動▲２▼１２
モジュール移動▲２▼１２は、モジュール移動▲１▼１１の処理において移動対象とならなかったために、モジュール初期配置位置から未だ移動させていないモジュールを移動させる。
【００３５】
図７は、モジュール移動▲２▼１２の一の具体例を示す。
【００３６】
モジュール移動▲２▼１２においては、モジュール移動▲１▼１１の処理及び直前までのモジュール移動▲２▼１２の処理によって移動させたモジュールと接続関係にあるモジュールであって、モジュール初期配置位置から未だ移動させていないモジュールに対して、式１で示した方程式を適用する。方程式を解くことにより、モジュール初期配置位置から未だ移動させていないモジュールを新たに配置させるモジュール座標が求まるため、モジュールをそのモジュール座標に配置する。
【００３７】
この場合の接続関係の対象となるモジュールは、先に行われたモジュール移動▲１▼１１の処理及びモジュール移動▲２▼１２の処理によって移動したモジュールだけであって、未だモジュール初期配置位置から移動させていないモジュールは対象とはならない。
【００３８】
モジュール初期配置位置に配置されたモジュールがなくなるまで、モジュール移動▲２▼１２の処理を繰り返す。
【００３９】
（４）モジュール移動▲３▼１３
モジュール移動▲３▼１３は、任意のモジュールを移動させる。
【００４０】
図８は、モジュール移動▲３▼１３の一の具体例を示す。
【００４１】
モジュール移動▲１▼１１においては、入出力パッドとの接続関係のみを、モジュール移動▲２▼１２においては、モジュール移動▲１▼１１の処理と直前までのモジュール移動▲２▼１２の処理とによって移動のあったモジュールとの接続関係のみを、それぞれ考慮しているため、他のモジュールとの接続関係は考慮されていない。このため、モジュール移動▲３▼１３では、任意のモジュールに着目し、該モジュールの全ての接続関係を考慮して、モジュールの移動を行う。
【００４２】
以下に、モジュール移動▲３▼１３における処理手順を示す。
【００４３】
▲１▼任意のモジュールの平均の位置ベクトルを求める。
【００４４】
平均の位置ベクトルの求め方を説明する。
【００４５】
図８においては、任意のモジュールＨに着目している。モジュールＨは、モジュールＢ、モジュールＪ及びモジュールＫとの間に接続関係を有してい  る。モジュールＨとモジュールＢとの間の位置ベクトル、モジュールＨとモジュールＪとの間の位置ベクトル、及びモジュールＨとモジュールＫとの間の位置ベクトルを求めて、平均値を計算する。この平均値が、平均の位置ベクトルである。ここで、各位置ベクトルの大きさは、モジュールとモジュールとの間の信号線の数で表す。
【００４６】
▲２▼全てのモジュールの平均の位置ベクトルを求める。
【００４７】
▲３▼平均の位置ベクトルが求められた全てのモジュールについて、平均の位置ベクトルとそのモジュールの現在の位置ベクトルとの差を所定値と比較する。
【００４８】
▲４▼平均の位置ベクトルとそのモジュールの現在の位置ベクトルとの差が所定値がより大きいモジュールが存在する場合。
【００４９】
所定値より大きい平均の位置ベクトルを有するモジュールの内の一つのモジュールをその平均の位置ベクトルに移動させる。
【００５０】
一つのモジュールを選択する方法としては、その平均の位置ベクトルが最も小さいもの、又は最も大きいものを選択する方法が考えられる。
【００５１】
▲５▼▲１▼から▲４▼の処理を繰り返し、全てのモジュールの平均の位置ベクトルとそのモジュールの現在の位置ベクトルとの差が所定値以下になった場合に終了する。
【００５２】
モジュール移動▲３▼１３の処理により、その間に信号線数を多く有するモジュール同士が近くに配置され、信号線数が少ないモジュール同士は離れて配置される。
【００５３】
（５）モジュール移動▲４▼１４
モジュール移動▲４▼１４は、内部にマクロを有するモジュールをチップ辺近傍に移動させる。
【００５４】
図９は、モジュール移動▲４▼１４の一の具体例を示す。
【００５５】
図９においては、内部にマクロを有するモジュールを、チップの中心とそのモジュールのモジュール座標とを結んだ方向へ移動させ、チップ辺近傍に配置させている。
【００５６】
（６）マクロ初期配置１５
マクロ初期配置１５は、マクロの初期配置を行う。
【００５７】
図１０は、マクロ初期配置１５の一の具体例を示す。
【００５８】
マクロ初期配置１５は、モジュールの各々について、モジュール内部に含まれる全てのマクロをモジュールのモジュール座標に配置させる。
【００５９】
図１０においては、モジュール座標にマクロを重ねて配置させている。
【００６０】
（７）マクロ配列１６
マクロ配列１６は、マクロ初期配置１５によってモジュール座標に配置させたマクロを配列する。
【００６１】
図１１及び図１２は、マクロ配列の一の具体例を示す。
【００６２】
図１１においては、モジュール内のマクロを、マクロの長辺をチップ辺に沿わせるようにして、長辺の長い順序で配列させている。
【００６３】
図１２は、マクロの長辺をチップの角を構成する二つの辺の何れに沿わせるかを決定する手法を示す。モジュールのモジュール座標が、チップを横に二分する線分Ｘ−Ｘ’又はチップを縦に二分する線分Ｙ−Ｙ’の何れに近いかによって決定する。モジュールのモジュール座標が、チップを横に二分する線分Ｘ−Ｘ’に近い場合は、マクロの長辺をチップの横辺に沿わせる。モジュールのモジュール座標が、チップを縦に二分する線分Ｙ−Ｙ’の近い場合は、マクロの長辺をチップの縦辺に沿わせる。係る手法により、図１２において、モジュールＪのモジュール座標が線分Ｙ−Ｙ’よりも線分Ｘ−Ｘ’に近いため、マクロの長辺がチップの横辺に沿っている。モジュールＧのモジュール座標が線分Ｘ−Ｘ’よりも線分Ｙ−Ｙ’に近いため、マクロの長辺がチップの縦辺に沿っている。
【００６４】
（８）マクロ回転▲１▼１７
マクロ回転▲１▼１７は、マクロ配列１６によって配列させたマクロをマクロの信号端子位置に基づいて回転させる。
【００６５】
図１３は、マクロ回転▲１▼１７の一の具体例を示す。
【００６６】
なお、図１３（１）及び図１３（２）において、ドット部はマクロの信号端子が存在することを示す。
【００６７】
マクロの各々の信号端子からチップの中心点への位置ベクトルを求めて、平均し、平均の位置ベクトルを算出する。この平均の位置ベクトルは、マクロの信号端子のチップの中心点に対する重心とみることができる。この重心が、チップ中心に近くなるように、マクロの長辺を所定のチップ辺に沿わせるという配列構成を崩さない状態で、マクロを回転させる。
【００６８】
図１３（１）は、回転させる前のマクロの配列を示し、図１３（２）は回転させた後のマクロの配列を示している。図１３（１）においては、マクロａの信号端子のチップの中心点に対する重心（平均の位置ベクトル）とマクロｇの信号端子のチップの中心点に対する重心（平均の位置ベクトル）が、チップの中心点から遠くなっているため、図１３（２）に示すように、マクロａとマクロｇとを回転させる。
【００６９】
（９）マクロ回転▲２▼１８
マクロ回転▲２▼１８は、信号を共有することができるマクロが隣り合って配置されている場合に、マクロを回転させる。
【００７０】
図１４は、マクロ回転▲２▼１８の一の具体例を示す。
【００７１】
なお、図１４（１）、図１４（２）及び図１４（３）において、ドット部はマクロの信号端子が存在することを示す。
【００７２】
マクロタイプが同一であるマクロが隣り合って配置されている場合において  は、信号端子を共有することができる場合が多々ある。
【００７３】
図１４（１）は、マクロ回転▲１▼１７の処理を経た、同一のマクロタイプであるマクロａとマクロｂとを示す。マクロａとマクロｂとは、マクロタイプが同じであるため信号を共有することができる可能性が非常に高いが、マクロａの信号端子を有する辺とマクロｂの信号端子を有する辺とが同じ方向を向いているため、信号を供給するため信号線を迂回させる必要が生じ、共有できる場合には配線効率が悪くなる。このため、図１３（２）に示すように、マクロｂを回転させてマクロａとマクロｂとの信号端子を有する辺を向かい合わせることにより、信号を共有できる場合においては、共有する信号配線の配線効率を高めることができ  る。図１４（３）は、マクロ回転▲１▼１７の処理後のマクロを示す図１２（２）に対して、マクロ回転▲２▼１８の処理を施したものである。マクロａとマクロｂと  が、マクロｃとマクロｄとが、それぞれマクロタイプが同じであるため、マクロｂとマクロｄとが回転されている。
【００７４】
マクロタイプの情報は、マクロライブラリ２から得ることができる。マクロライブラリ２に、信号端子の共有情報を示すマクロ名が登録されている場合には、共有することのできるマクロの信号端子をマクロ名から容易に取り出すことができるので、便利である。
【００７５】
（１０）モジュール回転１９
モジュール回転１９は、マクロの信号端子の位置、配線層毎の配線間隔及び配線方向に基づいて、モジュール（マクロ配列）を回転させる。
【００７６】
図１５は、モジュール回転の一の具体例を示す。
【００７７】
なお、図１５（１）及び図１５（２）において、ドット部はマクロの信号端子が存在することを示す。
【００７８】
例えば、チップが四層の配線層で構成されるとする。通常において、各々の配線層は、配線間隔及び配線方向について制限を有する。例として、制限を以下に示す。なお、配線間隔は、単位面積当たりに配線可能な信号線数とする。
【００７９】
・第一層目    配線方向：縦方向    配線間隔：３本
・第二層目    配線方向：横方向    配線間隔：３本
・第三層目    配線方向：縦方向    配線間隔：３本
・第四層目    配線方向：横方向    配線間隔：１本
縦方向には、第一層目の３本と第三層目の３本により、単位面積当たり合計６本の配線が可能となり、横方向には、第二層目の３本と第四層目の１本により、単位面積当たり合計４本の配線が可能となる。従って、縦方向に多く配線できることとなるが、横方向は縦方向に比べて配線数の制約が生じる。
【００８０】
図１５（１）及び図１５（２）は、モジュール内のマクロの配列であり、マクロａ、マクロｂ及びマクロｃの信号端子位置が斜線で示される。図１５（１）では、縦方向に延びる信号配線から各マクロの信号端子に信号を供給するために  は、横方向の配線を設けなければならない。これに対して、図１５（２）では、縦方向に延びる信号配線から各マクロの信号端子にそのまま信号を供給することができ、横方向の配線を設ける必要がない。
【００８１】
横方向に配線数の制約が生じるチップにおいては、図１５（２）に示すマクロ配列を有するモジュールがより良いことはいうまでもない。
【００８２】
例えば上記のような横方向の配線数の制約を有するチップにおいて、マクロ配列の処理やマクロ回転の処理などが施された結果、モジュールのマクロ配列が図１５（１）となった場合に、モジュール回転１９は、モジュール（マクロ配列）を回転させて、図１５（２）に示す配列とするものである。
【００８３】
このように、モジュール回転１９の処理は、配線数の制約を尊守するとともに配線効率を向上させるために行われる。
【００８４】
なお、図１５（３）は、モジュール回転１９の処理が行われた後のチップであって、縦方向に多く配線できるチップ（横方向に配線数の制約を有するチップ）である。
【００８５】
（１１）モジュール移動▲５▼２０
モジュール移動▲５▼２０は、所定のモジュールをチップの角（コーナ）に最接近させて配置する。
【００８６】
図１６は、モジュール移動の一の具体例を示す。
【００８７】
大きなマクロを有するモジュールをチップの角（コーナ）に配置する。
【００８８】
チップの角（コーナ）に配置するモジュールの選択は、例えば図１６に示すように行われる。チップの角（コーナ）を中心としてチップの中心点に向かって半径を徐々に大きくしながら四分の一の円を描いていき、モジュールのモジュール座標を探し出す。探し出されたモジュールが有するマクロの大きさを比較して、最も大きいマクロを有するモジュールをチップの角（コーナ）に配置する。この場合においては、マクロの大きさは、マクロの長辺を基準としている。
【００８９】
（１３）マクロ移動▲１▼２１
マクロ移動▲１▼２１は、マクロ間の重なり合い（オーバラップ）を無くすため  に、マクロを移動させる。
【００９０】
図１７は、マクロ移動▲１▼２１の一の具体例を示す。
【００９１】
図１７においては、モジュールＪのマクロ群とモジュールＧのマクロ群とが重なり合っているので（オーバラップしているので）、モジュールＧをチップの内側に平行移動させて、重なり合い（オーバラップ）を取り除いている。
【００９２】
マクロの移動は、モジュール移動▲５▼２０によりチップの角（コーナ）に最接近させて配置させたモジュールを固定させて、チップの中心点から遠く離れているマクロからチップの中心点に近いマクロへという順序で行い、チップの中央方向へ移動させる。
【００９３】
（１４）マクロ移動▲２▼２２
マクロ移動▲２▼２２は、マクロ間の最小間隔のルールに基づいて、マクロを移動させる。
【００９４】
図１８は、マクロ移動▲２▼２２の一の具体例を示す。
【００９５】
マクロ間の最小間隔についてのルールがあれば、ルールが示す最小間隔以上にマクロ間の間隔を広げる。
【００９６】
マクロの移動は、チップ辺の近傍にあるマクロ（チップの中心点から遠く離れているマクロ）は固定させて、チップの中心点から遠く離れているマクロからチップの中心点に近いマクロへという順序で行い、チップの中央方向へ移動させ  る。
【００９７】
（１５）マクロ移動▲３▼２３
マクロ移動▲３▼２３は、マクロの信号端子数等に基づいて、マクロを移動させ  る。
【００９８】
図１９は、マクロ移動▲３▼２３の一の具体例を示す。
【００９９】
なお、図１９において、ドット部はマクロの信号端子が存在することを示す。
【０１００】
マクロの信号端子数、マクロの信号端子がある辺と向かい合う他のマクロの辺にあるマクロの信号端子数、配線層の数、配線層毎の配線間隔及び配線層毎の配線方向などを考慮して、マクロ間の間隔を調整する。
【０１０１】
マクロの移動は、チップ辺の近傍にあるマクロ（チップの中心点から遠く離れているマクロ）は固定させて、チップの中心点から遠く離れているマクロからチップの中心点に近いマクロへという順序で行い、チップの中央方向へ移動させ  る。
【０１０２】
図１９に基づいて説明する。
【０１０３】
マクロａとマクロｂとの間には、マクロａの信号端子に信号を供給するための信号配線とマクロｂの信号端子に信号を供給するための信号配線とを配線する必要があるため、マクロ間の最小間隔では信号配線領域を確保できないときは、マクロａとマクロｂとの間の間隔を広げなければならない。
【０１０４】
マクロｂとマクロｃとの間には、信号端子が存在しないため、マクロ間の最小間隔を保持するだけでよいので、マクロ間の間隔を調整する必要はない。
【０１０５】
マクロｅとマクロｆとの間には、マクロｅの信号端子に信号を供給する信号配線のみを配線する必要があり、マクロ間の最小間隔では信号配線領域を確保できないときは、マクロ間の間隔を広げなければならない。
【０１０６】
（１６）処理の終了
本半導体設計システムは、少なくとも、設計情報１、マクロライブラリ２及びチップライブラリ３を入力情報として、モジュール初期配置１０の処理から始まり、マクロ移動▲３▼２３の処理で終了する。
【０１０７】
この一連の処理により、チップ周辺にマクロが適切に配置されたモジュールの配置位置情報４を得ることができる。
［第２の実施例］
図２０及び図２１に、本発明の第２の実施例を示す。
【０１０８】
なお、図２１において、ドット部は電源配線であることを示す。
【０１０９】
本発明の第２の実施例は、図２１に示すように、固定電源配線とマクロとが交差する場合の処理に関するものである。
【０１１０】
また、本発明の第２の実施例は、本発明の第１の実施例に示す処理の終了後に追加して行われる。
【０１１１】
（１）マクロ移動▲４▼２４
マクロ移動▲４▼２４は、チップの固定電源配線とマクロとが交差する場合に、マクロを移動させる。
【０１１２】
チップの固定電源配線とマクロとが交差する場合を、以下の三つの場合に場合分けして、マクロの移動の仕方を異ならせる。
【０１１３】
▲１▼固定電源配線がマクロ領域上に存在する場合
▲２▼固定電源配線がマクロのチップ中心から遠い辺上に存在する場合
▲３▼固定電源配線がマクロのチップ中心から近い辺上に存在する場合
以下、四つの場合についてのマクロの移動の仕方を説明する。
【０１１４】
▲１▼固定電源配線がマクロ領域上に存在する場合
この場合における固定電源配線とマクロとの配置関係は、図２２（１）に示される。
【０１１５】
なお、図２２（１）、図２２（２）及び図２２（３）において、ドット部は固定電源配線であることを示す。
【０１１６】
図２２（１）の配置関係にある場合には、図２２（２）に示すようにマクロをチップの中央部の方向に所定値だけ移動させる。
【０１１７】
図２２（３）は、固定電源配線とマクロとが図２０（１）に示すような配置関係にある場合の具体的な配線関係を示したものである。固定電源配線が、コンタクトＣ１とコンタクトＣ２において、マクロの周辺に配置された電源リングと接続されている。なお、配線層の配線方向の制約により横方向の配線と縦方向の配線との配線層が異なるため、電源リングの横方向は黒塗り部で、電源リングの縦方向は斜線部で示している。固定電源配線に所定の電流Ｉが流れるとすると、電流Ｉは電源リングにおいて電流Ｉ１と電流Ｉ２とに分流する。固定電源配線は、チップ内部に十分な電流を供給する必要があるため、マクロに電流を供給するための電源リングに比べて、その配線幅が太い。このため、電源リングは、総和が電流Ｉとなる電流Ｉ１と電流Ｉ２とを流すのに十分な配線幅を持たせる必要がある。従って、この配線幅は、固定電源配線がマクロ領域上を通過しない場合における電源リングの配線幅よりも太くなる。この通常よりも太くなった電源リングを配線する領域を確保する必要があるため、電源リングが太くなった分だけマクロを移動させなければならない。これが、上記の所定値である。
【０１１８】
マクロと固定電源配線とが重ならないようにマクロを大きく移動させれば、マクロの周辺に配置された電源リングの配線幅を太くする必要がなくなるが、このような大きな移動は、他のモジュールの配置に大きな影響を与えるため、この第２の実施例においては、上記の所定値分だけ移動するに止める。
【０１１９】
なお、固定電源配線がマクロのチップの中心から遠い部分に多く存在する場合には、マクロのチップの中央部から遠い辺を固定電源配線のチップの中央部から遠い辺に重なるようにマクロを移動させてもよい。
【０１２０】
▲２▼固定電源配線がマクロのチップの中心から遠い辺上に存在する場合
この場合における固定電源配線とマクロとの配置関係は、図２３（１）に示される。
【０１２１】
なお、図２３（１）及び図２３（２）において、ドット部は固定電源配線であることを示す。
【０１２２】
図２３（１）の配置関係にある場合には、図２３（２）に示すようにマクロのチップの中心から遠い辺が固定電源配線と重ならないように、マクロをチップの中央方向に移動する。
【０１２３】
マクロと固定電源配線とが重ならないようにすれば、上記▲１▼で説明したよう  に、マクロの周辺に配置された電源リングの配線幅を太くする必要がなく、配線面積の縮小化を図ることができる。
【０１２４】
▲３▼固定電源配線がマクロのチップの中心から近い辺上に存在する場合
この場合における固定電源配線とマクロとの配置関係は、図２４（１）に示される。
【０１２５】
なお、図２４（１）、図２４（２）、図２４（３）及び図２４（４）におい  て、ドット部は固定電源配線であることを示す。
【０１２６】
図２４（１）の配置関係にある場合には、図２４（２）に示すようにマクロのチップの中心から近い辺と固定電源配線のチップの中心から近い辺とが重なるように、マクロをチップの中央方向に移動する。
【０１２７】
図２４（３）は、固定電源配線とマクロとが図２４（１）に示すような配置関係にある場合の具体的な配線関係を示したものである。固定電源配線が、コンタクトＣ１とコンタクトＣ２においてマクロの周辺に配置された電源リングと接続される。なお、配線層の配線方向の制約により横方向の配線と縦方向の配線との配線層が異なるため、電源リングの横方向は黒塗り部で、電源リングの縦方向は斜線部で示している。電源リングにおいては、コンタクトＣ３及びコンタクトＣ４で縦方向の配線と横方向の配線とが接続される。コンタクトＣ１とコンタクトＣ３は、チップの信頼性の要求から、ある程度の距離をおいて配置する必要がある。コンタクトＣ２とコンタクトＣ４においても同様である。このため、マクロのチップの中心から近い辺が固定電源配線と重なる場合には、図２４（３）に示すように、マクロのチップの中心から近い辺と電源リングとの間に空き領域（スペース）が生じる。そこで、図２４（４）に示すように、マクロのチップの中心から近い辺と固定電源配線のチップの中心から近い辺とが重なるように、マクロをチップの中央方向に移動させれば、上記の空き領域（スペース）を縮小することができ、チップの集積度を高めることができる。
【０１２８】
（２）マクロ移動▲５▼２５
マクロ移動▲５▼２５は、マクロ間の重なり合い（オーバラップ）を無くすため  に、マクロを移動させる。
【０１２９】
図２５は、マクロ移動▲５▼２５の一の具体例を示す。
【０１３０】
マクロ移動▲４▼２４の処理によって、マクロ間の重なり合い（オーバラップ）が生じた場合に、マクロを移動させて、マクロ間の重なり合い（オーバラップ）を無くす。なお、図２５において、ドット部は電源配線であることを示す。
［第３の実施例］
図２６に、本発明の第３の実施例を示す。
【０１３１】
本発明の第３の実施例は、モジュールの大きさが定義されている場合の処理に関するものである。
【０１３２】
また、本発明の第３の実施例は、本発明の第１の実施例に示す処理の終了後  に、又は本発明の第２の実施例に示す処理の終了後に、追加して行われる。
【０１３３】
（１）エリア割当２６
エリア割当２６は、モジュールへのエリアの割当てを行う。
【０１３４】
図２７は、エリア割当２６の一の具体例を示す。
【０１３５】
設計情報１にモジュールの大きさ（エリア数）が定義されている場合には、モジュールの大きさ（エリア数）をも考慮したモジュールの配置を実現することができる。
【０１３６】
各モジュールに対して大きさ（エリア数）に比例した面積を有する円を割り当てる。円は、モジュール座標を中心として与えられるが、チップ辺の近傍にあるモジュールに対しては、チップ辺と接するような円を割り当てる。
【０１３７】
（２）全体均等化処理２７
全体均等化処理２７は、チップを複数の領域に分割して、モジュールの面積の重なり合い（オーバラップ）を均等化する。
【０１３８】
図２８は、全体均等化処理２７の一の具体例を示す。
【０１３９】
チップを複数の領域に分割し、各分割領域での面積の重なり合い（オーバラップ）を求める。面積の重なり合い（オーバラップ）が大きい分割領域において  は、チップ辺沿いにあるモジュールの位置を固定して、座標系を拡張し、モジュールを隣の分割領域の方向へ移動させる。面積の重なり合い（オーバラップ）が少ない分割領域においては、チップ辺沿いにあるモジュールの位置を固定して、座標系を縮小し、モジュールをチップ辺の方向へ移動させる。このような各分割領域におけるモジュールの移動により、面積の重なり合い（オーバラップ）が大きい分割領域においては面積の重なり合い（オーバラップ）が少なくなり、面積の重なり合い（オーバラップ）が少ない分割領域においては面積の重なり合い  （オーバラップ）が多くなる。このため、チップ全体において、面積の重なり合い（オーバラップ）が均等化する。
【０１４０】
図２８においては、チップを上下方向に二分割している。
【０１４１】
チップの上部領域がチップの下部領域よりも面積の重なり合い（オーバラッ  プ）が大きい。このため、上部領域においては、チップ辺沿いにあるモジュールａ、モジュールｂ及びモジュールｃの位置は固定させたまま、モジュールｄ、モジュールｅ、モジュールｆ及びモジュールｇを面積の重なり合い（オーバラッ  プ）の比率に基づいて下部方向に移動させる。ここで、面積の重なり合い（オーバラップ）の比率とは、上部領域で重なる（オーバラップする）面積の総和と、下部領域で重なる（オーバラップする）面積の総和との比率をいう。また、下部領域においては、チップ辺沿いにあるモジュールｉ、モジュールｊ及びモジュールｋの位置を固定させたまま、モジュールｈを面積の重なり合い（オーバラッ  プ）のに比率に基づいて下部方向に移動させる。
【０１４２】
なお、チップの分割は任意であって、左右方向への二分割であってもよい。
【０１４３】
（３）個別均等化処理２８
個別均等化処理２８は、個別的にモジュールの面積の重なり合い（オーバラップ）を均等化する。
【０１４４】
全体均等化処理２７においては、チップの全体的なモジュールの面積の重なり合い（オーバラップ）を均等化しているため、個別的にモジュール同士が大きな面積の重なり合い（オーバラップ）を有する場合が生じる。個別均等化処理２８は、個別的にモジュールに着目して、面積の重なり合い（オーバラップ）の削減を図る。
【０１４５】
図２９（１）及び図２９（２）は、個別均等化処理２８の具体例を示す。
【０１４６】
図２９（１）は、チップ辺にモジュールａ及びモジュールｂが接している場合である。チップ辺に接したままモジュールａを上部方向に移動させて、又はモジュールｂを下部方向へ移動させて、又はモジュールａを上部方向に移動させるとともにモジュールｂを下部方向に移動させて、モジュールａとモジュールｂとの重なり合い（オーバラップ）を少なくする。
【０１４７】
図２９（２）は、チップ辺にモジュールａ及びモジュールｂが接しているとともにモジュールｃがモジュールａとモジュールｂとに重なり合っている（オーバラップしている）場合である。モジュールａからモジュールｃへの方向とモジュールａとモジュールｃとの重なり合い（オーバラップ）の大きさを有する位置ベクトル（α）と、モジュールｂからモジュールｃへの方向とモジュールｂとモジュールｃとの重なり合い（オーバラップ）の大きさを有する位置ベクトル（β）との和である位置ベクトル（γ）を求める。この位置ベクトル（γ）にモジュールｃを移動させて、モジュールａとモジュールｃとの重なり合い（オーバラッ  プ）及びモジュールａとモジュールｃとの重なり合い（オーバラップ）を少なくする。
【０１４８】
図２９（２）に示すような手法を用いれば、モジュール同士の個別的な重なり合い（オーバラップ）を削減することができる。
【０１４９】
（４）形状変換２９
形状変換２９は、円形状で表示されているモジュールを他の形状に変換する。
【０１５０】
モジュールの形状が円形状であると、隣り合うモジュールの間に無駄な空き領域（スペース）が生じるため、モジュールの形状を、円形状から四角形状へと変換する。
【０１５１】
図３０（１）、図３０（２）及び図３０（３）は、形状変換２９の一の具体例を示す。
【０１５２】
図３０（１）は、モジュールａの四角形状の各辺の大きさを決定するためにモジュールａを９０°で四分割し、領域▲１▼、領域▲２▼、領域▲３▼及び領域▲４▼を形成している。領域▲１▼において、モジュールａの中心点とモジュールａが他のモジュールと交わる点との距離を全て求め、平均する。これを、ｘ１とする。領域▲２▼、領域▲３▼及び領域▲４▼においても同様にして、それぞれｙ１，ｘ２及びｙ２を求める。このように求められたｘ１、ｘ２、ｙ１及びｙ２を用いて、図３０（２）に示すような大きさの四角形状を形成する。
【０１５３】
図３０（３）は、円形状のモジュールａを上記した手法を使用して四角形状のモジュールに変換したものである。図３０（３）においては、モジュールはチップの角（コーナ）に配置されているため、▲３▼領域のｘ２及び▲４▼領域のｙ２を求める必要はない。領域▲１▼、領域▲２▼、領域▲３▼及び領域▲４▼の何れかの領域においてモジュールがチップ辺に接している場合には、モジュールの中心点からチップ辺との接点までの距離がその領域での四角形状の大きさになるため、その領域においては図３０（１）で示す計算を行う必要がない。
【０１５４】
図３０（３）のように、円形状のモジュールが四角形状に変換されると、無駄な空き領域（スペース）が減少し、チップの集積化を図ることができる。
【０１５５】
モジュールの形状情報９は、ファイルなどに格納され、配置配線処理などに利用される。
【０１５６】
（５）モジュール端子設定３０
モジュール端子設定は、モジュールの端子位置を決定する。
【０１５７】
図３１は、モジュール端子設定の一の具体例を示す。
【０１５８】
モジュールの形状が定まったので、モジュールの入出力端子をどの位置に配置すればよいかを決定することができる。
【０１５９】
接続関係があるモジュールのモジュール座標同士を結んだ線分と各モジュールの辺との接点に、各々の入出力端子を配置すればよい。
【０１６０】
図３１においては、モジュールａとモジュールｂとを接続するための端子位置Ｎが設定されている。
【０１６１】
端子位置情報８は、ファイルなどに格納され、配置配線処理を行う場合に、モジュールにおける入出力セルの配置の制約として使用される。
【０１６２】
【発明の効果】
図３２は、本発明の効果を示す。
【０１６３】
本発明によれば、以下の効果を得ることができる。
（１）チップの詳細な設計に入る前に、即ち仕様が決定された段階で（ＲＴＬ記述を作成する前の段階で）、正確なモジュールの配置位置情報を得ることができる。このため、チップ面積及びチップ価格の見積もりを迅速かつ正確に行うことができるため、顧客への迅速な対応が可能となる。また、正確なモジュールの配置位置に基づいて以後の設計を行うことができるため、問題発生に基づいて生じる設計の後戻りを無くすことができる。
（２）モジュールの大きさ（エリア数）が仕様に含まれている場合には、モジュールの大きさ（エリア数）を考慮したモジュールの配置位置情報を得ることができるため、更に正確さを増したチップ面積及びチップ価格の見積もりを得ることができる。
（３）モジュールの大きさ（エリア数）が仕様に含まれている場合には、モジュールの端子位置情報も合わせて入手できるため、精度の高い配置配線処理を行うことができる。
（４）本発明によれば、マクロを含むモジュールがチップ辺の近傍に配置された半導体集積回路が生成され、配線効率及びチップの集積度を向上させることができる。
［付記］
以上の説明に関して更に以下の項を開示する。
（１）外部とモジュールとの間の接続情報とモジュール間の接続情報とを含む設計情報と、マクロ情報と、チップ情報とに基づいて、モジュールの配置位置を決定することを特徴とする半導体設計システム。
（２）モジュールを所定の位置に配置するモジュール初期配置手段と外部とモジュールとの間の接続情報に基づいてパッド割り当て領域の近傍にモジュールを移動させる第１のモジュール移動手段と、モジュール間の接続情報に基づいてモジュールを移動させる第２のモジュール移動手段と、マクロを有するモジュールをチップ辺近傍に移動させる第３のモジュール移動手段と、モジュールのマクロを配列するマクロ配列手段と、マクロ間の重なりをなくすようにマクロを移動させるマクロ移動手段とを有することを特徴とする半導体設計システム。
（３）（１）に記載の半導体設計システムにおいては、マクロを含むモジュールをチップの辺の近傍に配置することを特徴とする。
（４）（１）に記載の半導体設計システムにおいては、前記設計情報は、モジュールの大きさに関する情報を含み、モジュールの大きさをも考慮してモジュールの配置位置を決定することを特徴とする。
（５）（１）に記載の半導体設計システムにおいては、チップの入出力パッドを複数の領域に分割して行うことを特徴とする。
（６）（１）に記載の半導体設計システムにおいては、モジュールに含まれるマクロを、チップの辺からチップの中央の方向にマクロの長辺の長い順序で配置することを特徴とする。
（７）（６）に記載の半導体設計システムにおいては、チップをチップの角を含むように四分割した各領域におけるモジュールの内で、長辺が一番長いマクロを有するモジュールを前記各領域のチップの角に配置することを特徴とする。
（８）（６）に記載の半導体設計システムにおいては、マクロの信号端子を多く含むマクロの辺がチップの中心の方向に向くように配置されていることを特徴とする。
（９）（６）に記載の半導体設計システムにおいては、同じ種類のマクロが隣り合っている場合には、マクロの信号端子を多く含む辺が向かい合うように配置されていることを特徴とする。
（１０）（６）に記載の半導体設計システムにおいては、配線層の数、配線層の配線方向及び配線層の配線間隔を考慮して、マクロの間隔を調整することを特徴とする。
（１１）（６）に記載の半導体設計システムにおいては、固定電源配線とマクロをが重なる場合に、該マクロを移動させることを特徴とする。
（１２）（４）に記載の半導体設計システムにおいては、モジュール間を接続するための端子位置の情報を生成することを特徴とする。
（１３）チップ辺からチップの中央の方向にマクロの長辺の長い順序で配置した複数のマクロを有するマクロ群を含むことを特徴とする半導体集積回路。
（１４）（１３）に記載の半導体集積回路においては、チップをチップの角を含むように四分割した各領域におけるモジュールの内で、長辺が一番長いマクロを有するモジュールを前記各領域のチップの角に配置することを特徴とする。
（１５）（１３）に記載の半導体集積回路においては、マクロの信号端子を多く含む辺がチップの中心の方向に向くように配置されていることを特徴とする。
（１６）（１３）に記載の半導体設計システムにおいては、同じ種類のマクロが隣り合っている場合には、マクロの信号端子を多く含む辺が向かい合うように配置されていることを特徴とする。
（１７）外部とモジュールとの間の接続情報とモジュール間の接続情報とを含む設計情報と、マクロ情報と、チップ情報とに基づいて、モジュールの配置位置を決定することを特徴とする半導体設計プログラムを記録した記録媒体。
（１８）（１７）に記載の半導体設計プログラムを記録した記録媒体において  は、マクロを含むモジュールをチップの辺の近傍に配置することを特徴とする。
（１９）（１７）に記載の半導体設計プログラムを記録した記録媒体において  は、前記設計情報は、モジュールの大きさに関する情報を含み、モジュールの大きさをも考慮してモジュールの配置位置を決定することを特徴とする。
（２０）（２）に記載の半導体設計システムにおいては、マクロの信号端子位置に基づいてマクロを回転させる第１のマクロ回転手段を有することを特徴とす  る。
（２１）（２）に記載の半導体設計システムにおいては、隣り合うマクロ間で信号を共有させるためにマクロを回転させる第２のマクロ回転手段を有することを特徴とする。
（２２）（２）に記載の半導体設計システムにおいては、マクロの信号端子位置又は配線層の配線間隔と配線方向に基づいてモジュールを回転させるモジュール回転手段を有することを特徴とする。
【図面の簡単な説明】
【図１】本発明の原理図を示す図である。
【図２】本発明の第１の実施例を示す図である。
【図３】初期処理（入出力パッド分割）を示す図である。
【図４】初期処理（モジュールの初期配置）を示す図である。
【図５】モジュール移動▲１▼（１）を示す図である。
【図６】モジュール移動▲１▼（２）を示す図である。
【図７】モジュール移動▲２▼を示す図である。
【図８】モジュール移動▲３▼を示す図である。
【図９】モジュール移動▲４▼を示す図である。
【図１０】マクロ初期配置を示す図である。
【図１１】マクロ配列（１）を示す図である。
【図１２】マクロ配列（２）を示す図である。
【図１３】マクロ回転▲１▼（１）及びクロ回転▲１▼（２）を示す図である。
【図１４】マクロ回転▲２▼（１）、マクロ回転▲２▼（２）及びマクロ回転▲２▼（３）を示す図である。
【図１５】モジュール回転（１）、モジュール回転（２）及びモジュール回転（３）を示す図である。
【図１６】モジュール移動▲５▼を示す図である。
【図１７】マクロ移動▲１▼を示す図である。
【図１８】マクロ移動▲２▼を示す図である。
【図１９】マクロ移動▲３▼を示す図である。
【図２０】本発明の第２の実施例（１）を示す図である。
【図２１】本発明の第２の実施例（２）を示す図である。
【図２２】マクロ移動▲４▼−１（１）、マクロ移動▲４▼−１（２）及びマクロ移動▲４▼−１    （３）を示す図である。
【図２３】マクロ移動▲４▼−２（１）及びマクロ移動▲４▼−２（２）を示す図である。
【図２４】マクロ移動▲４▼−３（１）、マクロ移動▲４▼−３（２）、マクロ移動▲４▼−３（３）及びマクロ移動▲４▼−３（４）を示す図である。
【図２５】マクロ移動▲５▼を示す図である。
【図２６】本発明の第３の実施例を示す図である。
【図２７】エリア割当を示す図である。
【図２８】全体均等処理化を示す図である。
【図２９】個別均等処理化（１）及び個別均等処理化（２）を示す図である。
【図３０】形状変換（１）、形状変換（２）及び形状変換（３）を示す図である。
【図３１】モジュール端子設定を示す図である。
【図３２】本発明の効果を示す図である。
【符号の説明】
１    設計情報
２    マクロライブラリ
３    チップライブラリ
４    配置位置情報
５    半導体設計システム
６    ＣＰＵ
７    ディスプレイ（画面）
８    端子位置情報
９    形状情報
【図１】
0003988330.tif 000003
【図２】
0003988330.tif 000004
【図３】
0003988330.tif 000005
【図４】
0003988330.tif 000006
【図５】
0003988330.tif 000007
【図６】
0003988330.tif 000008
【図７】
0003988330.tif 000009
【図８】
0003988330.tif 000010
【図９】
0003988330.tif 000011
【図１０】
0003988330.tif 000012
【図１１】
0003988330.tif 000013
【図１２】
0003988330.tif 000014
【図１３】
0003988330.tif 000015
【図１４】
0003988330.tif 000016
【図１５】
0003988330.tif 000017
【図１６】
0003988330.tif 000018
【図１７】
0003988330.tif 000019
【図１８】
0003988330.tif 000020
【図１９】
0003988330.tif 000021
【図２０】
0003988330.tif 000022
【図２１】
0003988330.tif 000023
【図２２】
0003988330.tif 000024
【図２３】
0003988330.tif 000025
【図２４】
0003988330.tif 000026
【図２５】
0003988330.tif 000027
【図２６】
0003988330.tif 000028
【図２７】
0003988330.tif 000029
【図２８】
0003988330.tif 000030
【図２９】
0003988330.tif 000031
【図３０】
0003988330.tif 000032
【図３１】
0003988330.tif 000033
【図３２】
0003988330.tif 000034