(57)【要約】【課題】本発明の課題は、半導体集積回路を構成するモジュールを配置する際、外部端子位置との接続性に基づくモジュールへの割当領域の決定後、更にその割当領域の重心を求めて接続端子としたモジュール間の接続性に基づいてモジュールを配置することを目的とする。【解決手段】上記課題は、ＬＳＩチップを構成する複数のモジュールを配置するモジュール配置方法であって、コンピュータが、モジュール毎の外部端子位置と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各モジュールへ割り当てる割当領域を決定する割当領域決定手順と、各モジュールへ割り当てられた前記割当領域から算出される各重心を接続端子としてモジュール間の接続性を含めた相関値を算出し、その算出結果に基づいてモジュール位置を決定するモジュール位置決定手順とを実行することを特徴とするモジュール配置方法により達成される。【選択図】図１
2008305333.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩチップを構成する複数のモジュールを配置するモジュール配置方法であって、コンピュータが、
モジュール毎の外部端子位置と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各モジュールへ割り当てる割当領域を決定する割当領域決定手順と、
各モジュールへ割り当てられた前記割当領域から算出される各重心を接続端子としてモジュール間の接続性を含めた相関値を算出し、その算出結果に基づいてモジュール位置を決定するモジュール位置決定手順とを実行することを特徴とするモジュール配置方法。
【請求項２】
前記コンピュータが、更に、
各モジュールの下層にて該モジュールを構成する階層モジュールに対して、接続する前記外部端子位置、及び接続する上層の他モジュールの重心と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各階層モジュールへ割り当てる階層割当領域を決定する階層割当領域決定手順と、
前記階層割当領域に係るデータを用いて、接続する記外部端子位置、及び接続する下層の他モジュールの重心と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて階層モジュール位置を決定する階層モジュール位置決定手順とを、
階層毎に実行することを特徴とする請求項１記載のモジュール配置方法。
【請求項３】
前記コンピュータが、更に、
前記モジュール及び前記階層モジュール夫々に属する各セルに対して、該セルと最下層の階層モジュールとの接続性の相関値を算出し、その算出結果に基づいて該セルの配置を決定するセル配置決定手順を実行することを特徴とする請求項２記載のモジュール配置方法。
【請求項４】
ＬＳＩチップを構成する複数のモジュールを配置するＬＳＩ設計装置としてコンピュータを機能させるためのプログラムであって、該プログラムに、
モジュール毎の外部端子位置と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各モジュールへ割り当てる割当領域を決定する割当領域決定手順と、
各モジュールへ割り当てられた前記割当領域から算出される各重心を接続端子としてモジュール間の接続性を含めた相関値を算出し、その算出結果に基づいてモジュール位置を決定するモジュール位置決定手順とを実行させることを特徴とするプログラム。
【請求項５】
ＬＳＩチップを構成する複数のモジュールを配置するＬＳＩ設計装置であって、
モジュール毎の外部端子位置と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各モジュールへ割り当てる割当領域を決定する割当領域決定手段と、
各モジュールへ割り当てられた前記割当領域から算出される各重心を接続端子としてモジュール間の接続性を含めた相関値を算出し、その算出結果に基づいてモジュール位置を決定するモジュール位置決定手段とを有することを特徴とするＬＳＩ設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路を構成するモジュールを配置する際、外部端子位置との接続性に基づくモジュールへの割当領域の決定後、更にその割当領域の重心を求めて接続端子としたモジュール間の接続性に基づいてモジュールを配置するモジュール配置方法、モジュール配置プログラム、及びＬＳＩ設計装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路のセル配置設計においては、スタンダードセル配置方法が採用されている。そして、セル配置の代表的なアルゴリズムとしては、ミニマムカット法が広く知られている。この方法は、セルの二次元座標配置に対してカットラインを設定してセル郡に分割し、セル郡の配置位置の変更を繰り返しながら、カットラインを横切る接続ネットが最小となるような配置を探索するものである。
【０００３】
また、予めモジュール毎に端子の位置を決定することなく、かつ隣接するモジュール以外の全モジュールとの接続も考慮に入れて、論理セルを配置する方法が提案されている（例えば、特許文献１参照）。
【０００４】
更に、ＬＳＩ設計におけるブロックのピン位置を決定する段階で、ブロック位置を考慮した配線経路の配線長が最小で不当な配線の回り込みが発生しないピン位置配置最適化方法なども提案されている（例えば、特許文献２参照）。
【特許文献１】特開平８−２３６６３３号公報
【特許文献２】特開２００２−１００６７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の方法では、集積回路を構成するセル数が多くまたモジュールの階層が深くなると、膨大な配置位置の変更を繰り返す必要があり、処理負荷等がかかるといった問題があった。
【０００６】
よって、本発明の目的は、半導体集積回路を構成するモジュールを配置する際、外部端子位置との接続性に基づくモジュールへの割当領域の決定後、更にその割当領域の重心を求めて接続端子としたモジュール間の接続性に基づいてモジュールを配置するモジュール配置方法、モジュール配置プログラム、及びＬＳＩ設計装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係るモジュール配置方法は、ＬＳＩチップを構成する複数のモジュールを配置するモジュール配置方法であって、コンピュータが、モジュール毎の外部端子位置と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各モジュールへ割り当てる割当領域を決定する割当領域決定手順と、各モジュールへ割り当てられた前記割当領域から算出される各重心を接続端子としてモジュール間の接続性を含めた相関値を算出し、その算出結果に基づいてモジュール位置を決定するモジュール位置決定手順とを実行するように構成される。
【０００８】
上記課題を解決するための手段として、本発明は、上記半モジュール配置方法による処理手順をコンピュータに実行させるモジュール配置方法プログラム、該プログラムを記憶した記憶媒体、モジュール配置方法を実現するＬＳＩ設計装置とすることもできる。
【発明の効果】
【０００９】
本願発明は、外部端子位置の接続性を考慮して各モジュールへの領域を割り当て、その割当領域から算出された重心を用いてモジュール間の接続性を考慮し、各モジュールの配置位置（モジュール位置）を決定するため、不要な繰り返し処理を抑止した新たなモジュール配置処理を実現することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１１】
本発明に係る半導体集積回路を構成するモジュールの配置処理を図１で説明する。図１は、本発明に係るモジュール配置処理を説明するためのフローチャート図である。図１において、ＬＳＩチップ上に配置されるモジュールの外部端子位置への接続性に基づいて、各モジュールのモジュール割当領域を決定する（Ｓｔｅｐ１）。
【００１２】
各モジュール領域において、外部端子位置とステップＳ１で決定したモジュール割当領域の重心とに基づいて、そのモジュール割当領域に配置されるモジュールのモジュール位置を決定する（Ｓｔｅｐ２）。
【００１３】
次に、モジュール毎に、そのモジュール割当領域内の下層毎にそのモジュールを構成する階層モジュールを配置する階層モジュール位置を決定する（Ｓｔｅｐ３）。
【００１４】
そして、各モジュールに属するセルの配置位置を決定する（Ｓｔｅｐ４）。
【００１５】
以下に、このモジュール配置処理について、Ｓｔｅｐ１から４毎に詳述する。
【００１６】
本実施例では、ＬＳＩチップ３がモジュールＡ、Ｂ及びＣで構成される場合を例として説明する。この実施例において、モジュールＡとモジュールＣとの間に接続性があり、モジュールＢが独立している場合において、上述したモジュール配置処理が、モジュール間の接続性を考慮しつつ効果的なモジュール配置を行うことを以下に説明する。
【００１７】
以下図中、ＬＳＩチップ３はモジュールを配置するＬＳＩチップの領域を表し、▼１から▼９はモジュールが接続される外部端子を表し、その周辺に記されているアルファベットＡ、Ｂ及びＣは外部端子▼１から▼９に直接接続されるモジュール名（以下、モジュールＡ、Ｂ及びＣという）を表す。
【００１８】
Ｓｔｅｐ１：外部端子位置の接続性に基づいくモジュール割当領域の決定
図２は、Ｓｔｅｐ１における各モジュールの外部端子とＬＳＩチップ上の位置との相関について説明するための図である。図２（Ａ）では、予め定められたＬＳＩ仕様を示すＬＳＩ仕様データに基づく、ＬＳＩチップ３と、ＬＳＩチップ３上に配置される各モジュールＡ、Ｂ及びＣの外部端子▼１から▼９とが示される。また、各外部端子▼１から▼９には、接続されるモジュール名が対応付けされている。
【００１９】
次に、図２（Ｂ）に示すように、ＬＳＩチップ３の領域を格子状の所定のユニット（単位面積）で区切る。この実施例において、ユニットの合計は６４であり、各モジュールＡ、Ｂ及びＣで必要とされるユニット数は、
モジュールＡ：  ２０
モジュールＢ：  ３０
モジュールＣ：  １４
であるとする。
【００２０】
例えば、スタンダードセル方式による部品回路の形状、サイズ等を示すライブラリと、各モジュールＡ、Ｂ及びＣにおける部品回路の構成を示すネットリストとを用いて、各モジュールＡ、Ｂ及びＣが必要とする領域を算出し、その算出された各領域がＬＳＩ仕様データで指定されるＬＳＩチップ３の領域に占める割合から必要となるユニット数を算出することができる。
【００２１】
そして、モジュールＡ、Ｂ及びＣ毎に、接続される外部端子とＬＳＩチップ３上の位置との相関を求める。図２（Ｃ）では、モジュールＡの場合にユニットＰを相関を求める位置として示している。モジュールＡに接続される外部端子▼３、▼６及び▼７とユニットＰとの相関ＳＡは、各外部端子▼３、▼６及び▼７とユニットＰとの間の距離ｒに比例した式（１Ａ）で表されるような関数ｆ（ｒ）を用いて算出する。
【００２２】
ＳＡ＝f(P~▼3)+f(P~▼6)+f(P~▼7)  ・・・・・・・・・・・・・・・・・・・・（１Ａ）
モジュールＡに対して、各６４ユニットの相関ＳＡを算出する。同様に、モジュールＢ及びＣに対しても、各６４ユニットに対して下記式（１Ｂ）及び（１Ｃ）に従って相関ＳＢ及び相関ＳＣを算出する。
【００２３】
ＳＢ＝f(P~▼1)+f(P~▼2)+f(P~▼8)+f(P~▼9)  ・・・・・・・・・・・・・・・・（１Ｂ）
ＳＣ＝f(P~▼4)+f(P~▼5)  ・・・・・・・・・・・・・・・・・・・・・・・・・（１Ｃ）
相関ＳＡ、相関ＳＢ、及び相関ＳＣの算出結果に基づいてモジュールＡ、Ｂ及びＣ毎の占有ユニットを決定する方法について図３で説明する。
【００２４】
図３（Ａ）では、モジュールＡの場合の相関ＳＡの分布を示している。ＬＳＩチップ３に相関ＳＡの強度が示され、例えば、色の最も濃いユニットはモジュールＡに接続される外部端子▼３、▼６及び▼７との相関が最も強いことを示し、色の最も薄いユニットはモジュールＡに接続される外部端子▼３、▼６及び▼７との相関が最も弱いことを示している。
【００２５】
相関が最も強いユニットを中心としてモジュールＡを配置すれば、外部端子▼３、▼６及び▼７からモジュールＡへの総配線長を短くすることができる。
【００２６】
同様に、上式（１Ｂ）及び（１Ｃ）による相関ＳＢ及び相関ＳＣの分布に基づいて、相関が最も強いユニットを特定する。図３（Ｂ）では、モジュールＡを配置するために中心となるユニットにはＡが記され、モジュールＢを配置するために中心となるユニットにはＢが記され、モジュールＣを配置するために中心となるユニットにはＣが記されている。これら相関が最も強いユニットをそれぞれ占有ユニットＡ、Ｂ及びＣとする。
【００２７】
次に、モジュール毎に対応する占有ユニットの周囲のユニットに対して得点付けを行う方法について図４で説明する。図４（Ａ）では、モジュールＡにおいて、占有ユニットＡの周囲のユニットに対して、所定強度範囲毎に得点付けがなされた結果が示されている。他モジュールＢ及びＣの占有ユニットＢ及びＣを除く周囲のユニットに対して得点付けされる。図４（Ｂ）では、モジュールＢにおいて、占有ユニットＢの周囲のユニットに対して、所定強度範囲毎に得点付けがなされた結果が示されている。他モジュールＡ及びＣの占有ユニットＡ及びＣを除く周囲のユニットに対して得点付けされる。図４（Ｃ）では、モジュールＣにおいて、占有ユニットＣの周囲のユニットに対して、所定強度範囲毎に得点付けがなされた結果が示されている。他モジュールＡ及びＢの占有ユニットＡ及びＢを除く周囲のユニットに対して得点付けされる。
【００２８】
得点付けは、各占有ユニットＡ、Ｂ及びＣの上下左右に位置するユニットに対して最高得点（本例では５点）を与え、最高得点を有するユニットの上下左右に位置する得点付けされていないユニットに対して２位の得点（本例では４点）を与え、２位の得点を有するユニットの上下左右に位置する得点付けされていないユニットに対して３位の得点（本例では３点）を与え、３位の得点を有するユニットの上下左右に位置する得点付けされていないユニットに対して４位の得点（本例では２点）を与える。４位未満のユニットは未占有ユニットとし、得点付けを行わない。ここでは、得点付けのレベルを５段階とし、最高得点から２点まで得点付けを行っている。得点付けのレベルを５段階に限定するものではない。
【００２９】
更に、モジュールＡ、Ｂ及びＣ毎に、未占有ユニット数に対する周囲ユニットの得点の総和から１ユニット当りの平均点を算出する。未占有ユニット数とは、各モジュールＡ、Ｂ及びＣを割り当てるのに必要なユニット数からそれぞれの占有ユニットＡ、Ｂ及びＣを除いたユニット数である。
【００３０】
１ユニット当りの平均点＝周囲ユニットの得点の総和／未占有ユニット数  ・・・・（２）
上述した処理によって得られた情報は、例えば、図５に示す得点表２１として記憶領域に格納される。図５は、Ｓｔｅｐ１における得点表の例を示す図である。図５に示す得点表２１では、モジュールＡ、Ｂ及びＣ毎に、必要とするユニット数を満たす最終割り当てユニット（数）と、最高得点「５」、２位の得点「４」、３位の得点「３」、４位の得点「２」、未占有ユニット（数）、得点合計、１ユニット当りの平均点などの値が対応付けて記憶される。
【００３１】
モジュールＡに対して、最終割り当ては２０ユニット、最高得点「５」は２ユニット、２位の得点「４」は４ユニット、３位の得点「３」は６ユニット、４位の得点「２」は７ユニット、得点合計は５８点、１ユニット当りの平均点は３．０５３点であることが示されている。
【００３２】
モジュールＢに対して、最終割り当ては３０ユニット、最高得点「５」は４ユニット、２位の得点「４」は７ユニット、３位の得点「３」は９ユニット、４位の得点「２」は９ユニット、得点合計は２９点、１ユニット当りの平均点は３．２０７点であることが示されている。
【００３３】
モジュールＣに対して、最終割り当ては１４ユニット、最高得点「５」は２ユニット、２位の得点「４」は３ユニット、３位の得点「３」は４ユニット、４位の得点「２」は４ユニット、得点合計は１３点、１ユニット当りの平均点は３．２３１点であることが示されている。
【００３４】
次に、必要となるユニット数に達するまでのユニットの割り当て方法について説明する。図６は、ユニットの割り当て方法を説明するための図である。図５に示す得点表２１から、１ユニット当りの平均点が最も低いモジュールに対して、追加で１ユニットを占有させ（割り当て）る。本例の場合、モジュールＡの１ユニット当りの平均点が最も低いので、モジュールＡに対して１ユニットを追加で割り当てる。この時、得点の最も高いユニットの中から相関値の最も高いユニットを割り当てて占有ユニットを増やす。この１ユニットの割り当てと同時に、周囲ユニットの得点付けを再度行って得点表２１を更新する。
【００３５】
図６（Ａ）では、モジュールＡに対して２ユニットが占有ユニットＡとなり、得点付けられた周囲ユニットが示される。図６（Ｂ）では、占有ユニットＡが更に割り当てられた後に更新された得点表２１が示され、モジュールＡに対して、各得点が付されたユニット数と、未占有ユニット数と、得点合計、１ユニット当りの平均点とが更新されたことを示している。すなわち、モジュールＡに対して、最高得点「５」は２から３ユニットへ、２位の得点「４」は４から５ユニットへ、３位の得点「３」は６から７ユニットへ、４位の得点「２」は７から３ユニットへ、得点合計は５８から６２点、１ユニット当りの平均点は３．０５３から３．４４４点へと更新されている。
【００３６】
図６（Ｂ）に示す更新された得点表２１から、モジュールＢが１ユニット当たりの平均点が最も低いことが判るため、モジュールＢに対して追加で１ユニットを配分して占有ユニットＢとする。この時、得点の最も高いユニットの中から相関値の最も高いユニットを割り当てて占有ユニットを増やす。この１ユニットの割り当てと同時に、周囲ユニットの得点付けを再度行って得点表２１を更新する。
【００３７】
このように、必要となるユニット数に達するまでの占有ユニットを割り当てる処理を繰り返すことによって、図６（Ｃ）に示すようにモジュールＡ、Ｂ及びＣへとユニットが割り当てられて、モジュールＡの割当領域Ａ３１と、モジュールＢの割当領域Ｂ３２と、モジュールＣの割当領域Ｃ３３とが決定する。
【００３８】
上述したＳｔｅｐ１での処理についてフローチャートで説明する。図７は、Ｓｔｅｐ１での処理を説明するためのフローチャート図である。図７において、第一階層目のモジュール数を変数Ｍ１に設定して（ステップＳ１１）、Ｍ１個の第一階層目のモジュールに１、２、３...Ｍ１と番号付けする（ステップＳ１２）。そして、モジュール毎の処理を行うために変数ｉにモジュール番号「１」を初期設定する（ステップＳ１３）。
【００３９】
全モジュールについてステップＳ１４からＳ１７までの処理を繰り返すループ１−１を行なう。全モジュールについて処理が終了したらステップＳ１８へと進む。
【００４０】
ループ１−１において、モジュールｉと接続する外部端子とユニットとの相関を算出する（ステップＳ１４）。そして、最も相関の高いユニットをモジュールｉの占有ユニットとし（ステップＳ１５）、占有ユニットの周囲のユニットに対して得点付けを実施する（ステップＳ１６）。変数ｉを１インクリメントする（ステップＳ１７）。
【００４１】
各モジュールについて１つの占有ユニットが決定し、その周囲ユニットへの得点付けが終了すると、ループ１−１を抜けて、得点表２１を記憶領域に作成する（ステップＳ１８）。
【００４２】
そして、未占有ユニットがなくなるまでモジュールｉへのユニット割り当てを実行するループ１−２を行なう。未占有ユニットが全て割り当てられたらＳｔｅｐ１の処理を終了する。
【００４３】
ループ１−２において、得点表２１を参照して、１ユニット当りの平均点が最も低いモジュールを処理対象とし（ステップＳ１９）、得点の最も高いユニットのうち、相関値の最も高いユニットをそのモジュールの占有ユニットとする（ステップＳ２０）。そして、占有ユニットの周囲のユニットに対して得点付けを実施して、得点表２１を更新する（ステップＳ２１）。
【００４４】
Ｓｔｅｐ２：外部端子位置とモジュール割当領域の重心とに基づくモジュール位置の決定
図８は、Ｓｔｅｐ２における各モジュールの外部端子及び重心とＬＳＩチップ上の位置との相関について説明するための図である。先ず、Ｓｔｅｐ１で求めたモジュールＡの割当領域Ａ３１、モジュールＢの割当領域Ｂ３２、モジュールＣの割当領域Ｃ３３の夫々に対して重心▼ｇＡ、▼ｇＢ、▼ｇＣを算出する。図８（Ａ）中、▼ｇＡ、▼ｇＢ、▼ｇＣで示される位置が各割当領域Ａ３１、割当領域Ｂ３２、割当領域Ｃ３３における重心の位置を示す。
【００４５】
これら重心ｇＡ、ｇＢ、ｇＣを接続端子とみなし、Ｓｔｅｐ１と同様の方法で、相関の強いユニットを求める。モジュールＡと、モジュールＣとの間に接続がある場合、モジュールＡに接続される端子と、ユニットＰとの相関は図８（Ｂ）のように求められる。このとき、モジュールＡとモジュールＣとの間の接続ネット数がＮである場合、モジュールＡに接続される外部端子及び重心ｇＣとユニットＰとの相関ＳＡ'は、外部端子及び重心ｇＣとユニットＰとの間の距離に反比例した式（３Ａ）で表されるような関数ｆ（ｒ）を用いて算出する。
【００４６】
ＳＡ'＝f(P~▼3)+f(P~▼6)+f(P~▼7)+h(N)・f(P~▼gA)+ｉ(N)・f(P~▼gC)  ・・・・（３Ａ）
ここで、関数h(N)及び関数ｉ(N)は、接続ネット数に比例する関数である。
【００４７】
モジュールＡとモジュールＣとが接続される本例において、モジュールＡの接続性を考慮する場合、ＬＳＩチップ３上の任意のユニットＰは、重心▼ｇＡと重心▼ｇＣとに接続されることが考慮される。また、ユニットＰは、重心▼ｇＣよりもモジュールＡ自身の重心▼ｇＡに対して接続性が強いと考えたほうが良いため、ユニットＰから重心▼ｇＡへの距離がユニットＰから重心▼ｇＣへの距離と等しい場合（以下に示す等式（４Ａ））、ユニットＰから重心▼ｇＡへ相関がより強くなるように（以下に示す不等式（５Ａ））、関数h(N)及び関数ｉ(N)によって調整される。
【００４８】
Ｐ〜▼ｇＡ  ＝  Ｐ〜▼ｇＣ・・・・・・・・・・・・・・・・・・・・・・・・（４Ａ）
h(N)・f(P~▼gA)  >  ｉ(N)・f(P~▼gC) ・・・・・・・・・・・・・・・・・・・（５Ａ）
モジュールＡに対して、各６４ユニットの相関ＳＡ'を算出する。その結果を図９に示す。図９は、Ｓｔｅｐ２におけるモジュールＡの場合の相関分布を示す図である。図９において、ＬＳＩチップ３に相関ＳＡ'の強度が示され、例えば、色の最も濃いユニットはモジュールＡに接続される外部端子▼３、▼６、▼７、及び重心▼ｇＡ、▼ｇＣとの相関が最も強いことを示し、色の最も薄いユニットはモジュールＡに接続される外部端子▼３、▼６、▼７、及び重心▼ｇＡ、▼ｇＣとの相関が最も弱いことを示している。
【００４９】
同様に、モジュールＣに対して、各６４ユニットに対して下記式（３Ｃ）に従って相関ＳＣ'を算出する。
【００５０】
ＳＣ'＝f(P~▼4)+f(P~▼5) +h(N)・f(P~▼gC)+ｉ(N)・f(P~▼gA)  ・・・・・・・・（３Ｃ）
ここで、関数h(N)及び関数ｉ(N)は、接続ネット数に比例する関数である。
【００５１】
モジュールＣの場合、ユニットＰは、重心▼ｇＡよりもモジュールＣ自身の重心▼ｇＣに対して接続性が強いと考える方が好ましいため、ユニットＰから重心▼ｇＣへの距離がユニットＰから重心▼ｇＡへの距離と等しい場合（以下に示す等式（４Ｃ））、ユニットＰから重心▼ｇＣへ相関がより強くなるように（以下に示す不等式（５Ｃ））、関数h(N)及び関数ｉ(N)によって調整される。
【００５２】
Ｐ〜▼ｇＣ  ＝  Ｐ〜▼ｇＡ・・・・・・・・・・・・・・・・・・・・・・・・（４Ｃ）
h(N)・f(P~▼gC)  >  ｉ(N)・f(P~▼gA) ・・・・・・・・・・・・・・・・・・・（５Ｃ）
そして、モジュールＡにもモジュールＣにも接続性がなく独立しているモジュールＢの場合、接続ネット数は存在しないため、モジュールＢに接続される外部端子及び重心ｇＢとユニットＰとの相関ＳＢ'は、Ｓｔｅｐ１での相関ＳＢを算出するための式（１Ｂ）となる。
【００５３】
次に、Ｓｔｅｐ１と同様に、端子位置との相関が最も高いユニットを求め、それを中心に周囲のユニットの得点付けをし、モジュールＡ、Ｂ、Ｃの占有ユニットを増やす処理を行って割当領域を決定する。Ｓｔｅｐ２では、決定した割当領域がモジュールＡ、Ｂ、Ｃを配置するためのモジュール位置となる。Ｓｔｅｐ２による結果が図１０に示される。図１０は、Ｓｔｅｐ２において決定されたモジュール位置の例を示す図である。
【００５４】
図１０において、Ｓｔｅｐ２による結果は、モジュールＡに対してモジュールＡ位置４１、モジュールＢに対してモジュールＢ位置４２、モジュールＣに対してモジュールＣ位置４３が割り当てられたことを示している。図６（Ｃ）に示されるＳｔｅｐ１による結果と比べると、モジュールＡとモジュールＣとの接続性が高まるように、モジュールＡ位置４１、モジュールＢ位置４２、モジュールＣ位置４３が決定される。
【００５５】
上述したＳｔｅｐ２での処理についてフローチャートで説明する。図１１は、Ｓｔｅｐ２での処理を説明するためのフローチャート図である。図１１において、第一階層目のモジュール数を変数Ｍ１に設定して（ステップＳ３１）、Ｍ１個の第一階層目のモジュールに１、２、３...Ｍ１と番号付けする（ステップＳ３２）。Ｓｔｅｐ１において割り当てられたユニット郡の重心を算出する（ステップＳ３３）。そして、モジュール毎の処理を行うために変数ｉにモジュール番号「１」を初期設定する（ステップＳ３４）。
【００５６】
全モジュールについてステップＳ３５からＳ３８までの処理を繰り返すループ２−１を実行する。全モジュールについて処理が終了したらステップＳ３９へと進む。
【００５７】
ループ２−１において、モジュールｉと接続する外部端子および他モジュールの重心と、ユニットとの相関を算出する（ステップＳ３５）。そして、最も相関の高いユニットをモジュールｉの占有ユニットとし（ステップＳ３６）、占有ユニットの周囲のユニットに対して得点付けを実施する（ステップＳ３７）。変数ｉを１インクリメントする（ステップＳ３８）。
【００５８】
各モジュール１、２、３...Ｍ１について１つの占有ユニットが決定し、その周囲ユニットへの得点付けが終了すると、ループ２−１を抜けて、得点表２１を記憶領域に作成する（ステップＳ３９）。
【００５９】
そして、未占有ユニットがなくなるまでモジュールｉへのユニット割り当てを実行するループ２−２を行なう。未占有ユニットが全て割り当てられたらＳｔｅｐ２の処理を終了する。
【００６０】
ループ２−２において、得点表２１を参照して、１ユニット当りの平均点が最も低いモジュールを処理対象とし（ステップＳ４０）、得点の最も高いユニットのうち、相関値の最も高いユニットをそのモジュールの占有ユニットとする（ステップＳ４１）。そして、占有ユニットの周囲のユニットに対して得点付けを実施して、得点表２１を更新する（ステップＳ４２）。
【００６１】
Ｓｔｅｐ３：階層モジュール位置の決定
各モジュールＡ、Ｂ、Ｃを構成する階層モジュールに対してユニットを割り当てる。例えば、モジュールＡが、第二階層目の３つのモジュールＡ１、Ａ２、Ａ３で構成され、それぞれの第二階層目でのユニット使用数と、接続する端子とが以下の通りであるとする。
【００６２】
モジュール名      ユニット使用数      接続する端子
Ａ１              １                  ▼ｇＣ
Ａ２              １６                なし
Ａ３              ３                  ▼３、▼６、▼７
Ｓｔｅｐ２で決定したモジュールＡのモジュール位置の範囲内で、外部端子▼３、▼６、▼７と、接続する第一階層目のモジュールＣの重心▼ｇＣの位置とに基づいて、Ｓｔｅｐ２と同様に第二階層目のモジュールＡ１、Ａ２、Ａ３にユニットを割り当てる。
【００６３】
ただし、本例では、モジュールＡ２は、外部端子にも他モジュールにも接続されないため、モジュールＡ２へのユニットの割り当ては、モジュールＡ１及びモジュールＡ３へのユニットの割り当てが完了後に、空いているユニットを割り当てる。同様にして、モジュールＢ及びＣの第二階層目のモジュールについてもユニットを割り当てる。
【００６４】
外部端子、及び他の上層のモジュールとの接続が無いモジュールが２つ以上存在する場合には、同層モジュール間の接続性のみを考慮してユニットの割り当てを実施する。具体的には、外部端子、及び上層モジュールとの接続のあるモジュールに対してユニットを割り当てた後、その割り当てたユニット郡の重心をモジュールの接続端子として、Ｓｔｅｐ２と同等の手段を実施するものである。
【００６５】
モジュールＢは第二階層目の２つのモジュールＢ１、Ｂ２で構成され、また、モジュールＣは第二階層目の２つのモジュールＣ１、Ｃ２で構成される場合の、全ての第二階層目のモジュールの位置が決定した状態を図１２に示す。図１２は、Ｓｔｅｐ３において決定された第二階層目のモジュール位置の例を示す図である。
【００６６】
図１２において、Ｓｔｅｐ３による結果は、第一階層目のモジュールＡに割り当てられた領域において、モジュールＡ１に対してモジュールＡ１位置５１と、モジュールＡ２に対してモジュールＡ２位置５２と、モジュールＡ３に対してモジュールＡ３位置５３とが割り当てられたことを示している。また、第一階層目のモジュールＢに割り当てられた領域において、モジュールＢ１に対してモジュールＢ１位置６１と、モジュールＢ２に対してモジュールＢ２位置６２とが割り当てられたことを示している。更に、第一階層目のモジュールＣに割り当てられた領域において、モジュールＣ１に対してモジュールＣ１位置７１と、モジュールＣ２に対してモジュールＣ２位置７２とが割り当てられたことを示している。
【００６７】
次に、第二階層目のモジュールの重心を接続端子とみなしてユニットの割り当てを行う際、第一階層目のモジュールＡ、Ｂ、Ｃに割り当てたユニット郡の境界をそのまま保存して処理を行うか、又は、この境界を破棄して処理を行うかを選択することができる。
【００６８】
同様に、第三階層目のモジュールにたいしても、このＳｔｅｐ３と同様にユニットの割り当てを実施し、最下層のモジュールのモジュール位置が決定するまで処理を繰り返す。
【００６９】
上述したＳｔｅｐ３での処理についてフローチャートで説明する。図１３及び図１４は、Ｓｔｅｐ３での処理を説明するためのフローチャート図である。図１３及び図１４において、階層番号を示す変数ｎに１を初期設定する（ステップＳ５１）。
【００７０】
全階層についてステップＳ５１からＳ７９までの処理を繰り返すループ３−１を実行する。全階層について処理が終了したら、このＳｔｅｐ３の処理を終了する。
【００７１】
ループ３−１において、第ｎ階層目のモジュール数を変数Ｍｎに設定し（ステップＳ５２）、Ｍｎ個の第ｎ階層目のモジュールに１、２、３...Ｍ１と番号付けする（ステップＳ５３）。そして、第ｎ階層目のモジュール毎の処理を行うために変数ｉにモジュール番号「１」を初期設定する（ステップＳ５４）。
【００７２】
第ｎ階層目の全モジュールについてステップＳ５５からＳ６６までの処理を繰り返すループ３−２を実行する。第ｎ階層目の全モジュールについて処理が終了したらステップＳ６７へと進む。
【００７３】
ループ３−２において、モジュールｉに属する第ｎ+１階層目のモジュール数を変数Ｍｎ+１に設定し（ステップＳ５５）、モジュールｉに属する第ｎ+１階層目のモジュールに１、２、３...Ｍ１と番号付けする（ステップＳ５６）。そして、第ｎ+１階層目のモジュール毎の処理を行うために変数ｊにモジュール番号「１」を初期設定する（ステップＳ５７）。
【００７４】
第ｎ+１階層目の全モジュールについてステップＳ５８からＳ６６までの処理を繰り返すループ３−３を実行する。第ｎ+１階層目の全モジュールについて処理が終了したらステップＳ６２へと進む。
【００７５】
ループ３−３において、モジュールｊが接続する外部端子、及び接続する第ｎ階層目の他モジュールの重心とユニットとの相関を算出する（ステップＳ５８）。そして、最も相関の高いユニットをモジュールｊの占有ユニットとし（ステップＳ５９）、占有ユニットの周囲のユニットに対して得点付けを実施する（ステップＳ６０）。変数ｊを１インクリメントする（ステップＳ６１）。
【００７６】
各モジュール１、２、３...Ｍ１について１つの占有ユニットが決定し、その周囲ユニットへの得点付けが終了すると、ループ３−３を抜けて、得点表２１を記憶領域に作成する（ステップＳ６２）。
【００７７】
そして、未占有ユニットがなくなるまで第ｎ＋１階層目のモジュールｉへのユニット割り当てを実行するループ３−４を行なう。未占有ユニットが全て割り当てられたらステップＳ６６へと進む。
【００７８】
ループ３−４において、得点表２１を参照して、１ユニット当りの平均点が最も低いモジュールを処理対象とし（ステップＳ６３）、得点の最も高いユニットのうち、相関値の最も高いユニットをそのモジュールの占有ユニットとする（ステップＳ６４）。そして、占有ユニットの周囲のユニットに対して得点付けを実施して、得点表２１を更新する（ステップＳ６５）。
【００７９】
そして、未占有ユニットが全て割り当てられたら、ループ３−４を抜けて、変数ｉを１インクリメントする（ステップＳ６６）。
【００８０】
更に、第ｎ階層目の各モジュールに属する第ｎ+１階層目の全モジュールについて処理が終了したら、ループ３−２を抜けて、現時点での第ｎ+１階層目のユニットの割り当て状態を領域ＤＡＴＡに保存して（ステップＳ６７）、変数ｉに１を初期設定する（ステップＳ６８）。
【００８１】
第ｎ＋１階層目の他モジュールの重心との接続性を考慮するために、第ｎ＋１階層目の全モジュールについてステップＳ６９からＳ７８までの処理を繰り返すループ３−５を実行する。第ｎ階層目の全モジュールについて処理が終了したらステップＳ７９へと進む。
【００８２】
ループ３−５において、変数ｊに１を初期設定し（ステップＳ６９）、第ｎ＋１階層目のモジュールｊに対して、外部端子及びその下層の第ｎ＋１階層目の他モジュールの重心との接続性を考慮したユニットの割り当てるためにステップＳ７０からＳ７３までの処理を繰り返すループ３−６を実行する。第ｎ＋１階層目の全モジュールについて処理が終了したらステップＳ７４へと進む。
【００８３】
ループ３−６において、ステップＳ６７で保存された領域ＤＡＴＡに記憶されているユニットの割り当て状態から、モジュールｊに接続する外部端子、及び接続する第ｎ＋１階層目の他モジュールの重心とユニットとの相関を算出し（ステップＳ７０）、最も相関の高いユニットをモジュールｊの占有ユニットとする（ステップＳ７１）。
【００８４】
そして、占有ユニットの周囲のユニットに対して得点付けを実施し（ステップＳ７２）、変数ｊを１インクリメントする（ステップＳ７３）。
【００８５】
第ｎ＋１階層目の全モジュールについて同層の他モジュールの重心との接続性を考慮した占有ユニットを決定したらループ３−６を抜けて、得点表２１を記憶領域に作成する（ステップＳ７４）。
【００８６】
そして、未占有ユニットがなくなるまで第ｎ＋１階層目のモジュールｉへのユニット割り当てを実行するループ３−７を行なう。未占有ユニットが全て割り当てられたらステップＳ７８へと進む。
【００８７】
ループ３−７において、得点表２１を参照して、１ユニット当りの平均点が最も低いモジュールを処理対象とし（ステップＳ７５）、得点の最も高いユニットのうち、相関値の最も高いユニットをそのモジュールの占有ユニットとする（ステップＳ７６）。そして、占有ユニットの周囲のユニットに対して得点付けを実施して、得点表２１を更新する（ステップＳ７７）。
【００８８】
そして、未占有ユニットが全て割り当てられたら、ループ３−７を抜けて、変数ｉを１インクリメントする（ステップＳ７８）。
【００８９】
更に、第ｎ＋１階層目の各モジュールについてモジュール位置が決定したら、ループ３−５を抜けて、変数ｎを１インクリメントする（ステップＳ７９）。最下層のモジュールへの処理が終了すると、ループ３−１を抜けて、このＳｔｅｐ３の処理を終了する。
【００９０】
上述した半導体集積回路を構成するモジュールの新たな配置方法を実現するＬＳＩ設計装置は、例えば図１５に示されるように構成される。図１５は、本発明の一実施例に係るＬＳＩ設計装置の構成例を示す図である。図１５において、ＬＳＩ設計装置１００は、コンピュータ装置であって、制御部７と、一時記憶部７ｃと、表示装置８と、入出力装置９と、ドライバ１０と、記憶部２０とで構成される。
【００９１】
制御部７は、中央処理装置７ａとメインプログラム記憶部７ｂとを備え、ＬＳＩ設計装置１００全体を制御し、上述したモジュール配置処理を実行する。一時記憶部７ｃは、制御部７で処理されたデータ又は処理に必要となるデータなどを一時的に記憶する記憶部である。表示装置８は、制御部７の制御のもとに必要な各種情報を表示する。入出力装置９は、利用者からの指示に応じて各種情報の入出力を制御する。ドライバ１０は、例えば、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）等の記憶媒体１１から本発明に係るモジュール配置プログラム３０を読み込む。読み込まれたモジュール配置プログラム３０は、記憶部２０に格納される。記憶部２０は、本発明に係るモジュール配置処理で使用される得点表２１と、ユニット割り当て状態を示すＤＡＴＡ２０（上述される領域ＤＡＴＡに相当する）と、制御部７によって実行されるモジュール配置プログラム３０とを格納する。
【００９２】
尚、モジュール配置プログラム３０を格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。ＬＳＩ設計装置１００が通信制御装置を備えている場合、本発明に係る処理を実現するモジュール配置プログラム３０は、その通信制御装置によってネットワークを介してダウンロードし、記憶部２０にインストールするようにしても良い。また、ＬＳＩ設計装置１００が外部との接続を行うＵＳＢ（Universal Serial Bus）等のインタフェースを有する場合には、ＵＳＢ接続によって外部記憶媒体からモジュール配置プログラム３０を読み込んでもよい。
【００９３】
上述したように、本発明では、第一に、チップ上を格子状に区切ることでチップが単位ユニットで構成される状態を考え、チップ上の任意のユニットから任意の一階層目のモジュールに接続する外部端子までの距離を引数として、任意の一階層目モジュールに関してのチップ上の任意ユニットにおける接続性を算出する。
【００９４】
第二に、任意の一階層目のモジュールに対して算出した接続性のうち、最も接続性の高いユニットを、その任意モジュールの占有ユニットとして割り当て、その占有ユニットの近傍のユニットを判定基準にもとづいて、順次その任意の一階層目のモジュールに割り当てる。
【００９５】
第三に、この判定基準は、複数の一階層目のモジュールが存在する場合においても、それぞれの一階層目のモジュールに割り当てるユニットの重複が発生しない。
【００９６】
第四に、複数の一階層目のモジュールそれぞれに対してチップ上のユニットが割り当てられた状態において、各一階層目のモジュールを形成するユニット郡の重心を接続端子とみなし、このモジュールの重心との接続情報を加えて上述した同様の処理を実施し、任意の一階層目のモジュールに対して再度ユニットの割り当てを行なう。
【００９７】
第五に、上記第四での処理の後、一階層目のモジュールを形成するユニット郡の重心を求め直して、再度上記第四での処理の実施を選択できる。
【００９８】
第六に、任意の二階層目のモジュールに接続する「外部端子」、及び接続する「この任意の二階層目のモジュールの属さない一階層目のモジュールに対して、モジュールの重心との接続情報を加えた配置処理によって割り当てられたユニット郡の重心」までの距離を引数として、この任意の二階層目のモジュールに関しての任意ユニットにおける接続性を算出する。
【００９９】
第七に、第六での処理において任意の二階層目のモジュールに対して算出した接続性のうち、最も接続性の高いユニットを、その任意の二階層目のモジュールの占有ユニットとして割り当て、その占有ユニットの近傍のユニットを判定基準にもとづいて、順次その任意の二階層目のモジュールに割り当てる。
【０１００】
第八に、この第七での処理における判定基準は、複数の二階層目のモジュールが存在する場合においても、それぞれのモジュールに割り当てるユニットの重複が発生しない。
【０１０１】
第九に、二階層目のモジュールに割り当てられるユニットは、上記第四での処理で割り当てられた、その二階層目のモジュールが属する一階層目のユニットの範囲内である。
【０１０２】
第十に、複数の一階層目のモジュールが存在する場合、夫々のモジュールに対して、上記第六での処理及び第七での処理を並列して実施する。
【０１０３】
第十一に、複数の一階層目のモジュールに属する二階層目のモジュール全てに対してチップ上のユニットが割り当てられた状態において、各二階層目のモジュールを形成するユニット郡の重心を接続端子とみなし、この二階層目のモジュールの重心との接続情報を加えて、上記第六での処理及び第七での処理を実施し、任意の二階層目のモジュールに対して再度ユニットの割り当てを行う。
【０１０４】
第十二に、第十一での処理後、二階層目のモジュールを形成するユニット郡の重心を求め直して、この二階層目のモジュールの重心との接続情報を加えて、上記第六での処理及び第七での処理の実施を選択することができる。
【０１０５】
第十三に、三階層目以降のモジュールに対しても、上記第六から第十二での処理によってユニットの割り当てを実施する。
【０１０６】
第十四に、セルに対しても、セルをモジュールと見なすことで、上記第六から第十二での処理によってユニットの割り当てを実施する。
【０１０７】
第十五に、上記十四での処理において、セルに対してのユニットの割り当ての実施の際には、モジュールの割り当ての考慮時よりも1ユニットの面積を小さくして実施する。
【０１０８】
上述より、本発明は、外部端子位置の接続性を考慮して各モジュールへの領域を割り当て、その割当領域から算出された重心を用いてモジュール間の接続性を考慮し、各モジュールの配置位置（モジュール位置）を決定するため、不要な繰り返し処理を抑止した新たなモジュール配置処理を実現することができる。
【０１０９】
以上の説明に関し、更に以下の項を開示する。
（付記１）
ＬＳＩチップを構成する複数のモジュールを配置するモジュール配置方法であって、コンピュータが、
モジュール毎の外部端子位置と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各モジュールへ割り当てる割当領域を決定する割当領域決定手順と、
各モジュールへ割り当てられた前記割当領域から算出される各重心を接続端子としてモジュール間の接続性を含めた相関値を算出し、その算出結果に基づいてモジュール位置を決定するモジュール位置決定手順とを実行することを特徴とするモジュール配置方法。
（付記２）
前記コンピュータが、更に、
各モジュールの下層にて該モジュールを構成する階層モジュールに対して、接続する前記外部端子位置、及び接続する上層の他モジュールの重心と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各階層モジュールへ割り当てる階層割当領域を決定する階層割当領域決定手順と、
前記階層割当領域に係るデータを用いて、接続する記外部端子位置、及び接続する下層の他モジュールの重心と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて階層モジュール位置を決定する階層モジュール位置決定手順とを、
階層毎に実行することを特徴とする付記１記載のモジュール配置方法。
（付記３）
前記コンピュータが、更に、
前記モジュール及び前記階層モジュール夫々に属する各セルに対して、該セルと最下層の階層モジュールとの接続性の相関値を算出し、その算出結果に基づいて該セルの配置を決定するセル配置決定手順を実行することを特徴とする付記２記載のモジュール配置方法。
（付記４）
前記セル配置決定手順は、
前記階層モジュール位置決定手順によって決定された最下層の階層モジュールに割り当てられた前記階層モジュール位置の領域内で、該最下層の階層モジュールに属するセルの配置を決定することを特徴とする付記３記載のモジュール配置方法。
（付記５）
前記セル配置決定手順は、
前記階層モジュール位置の領域より所定単位小さい領域内で前記最下層の階層モジュールに属するセルの配置を決定することを特徴とする付記４記載のモジュール配置方法。
（付記６）
ＬＳＩチップを構成する複数のモジュールを配置するＬＳＩ設計装置としてコンピュータを機能させるためのモジュール配置プログラムであって、該プログラムに、
モジュール毎の外部端子位置と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各モジュールへ割り当てる割当領域を決定する割当領域決定手順と、
各モジュールへ割り当てられた前記割当領域から算出される各重心を接続端子としてモジュール間の接続性を含めた相関値を算出し、その算出結果に基づいてモジュール位置を決定するモジュール位置決定手順とを実行させることを特徴とするモジュール配置プログラム。
（付記７）
ＬＳＩチップを構成する複数のモジュールを配置するＬＳＩ設計装置であって、
モジュール毎の外部端子位置と前記ＬＳＩチップ上の任意の領域との接続性の相関値を算出し、その算出結果に基づいて各モジュールへ割り当てる割当領域を決定する割当領域決定手段と、
各モジュールへ割り当てられた前記割当領域から算出される各重心を接続端子としてモジュール間の接続性を含めた相関値を算出し、その算出結果に基づいてモジュール位置を決定するモジュール位置決定手段とを有することを特徴とするＬＳＩ設計装置。
【０１１０】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【０１１１】
【図１】本発明に係るモジュール配置処理を説明するためのフローチャート図である。
【図２】Ｓｔｅｐ１における各モジュールの外部端子とＬＳＩチップ上の位置との相関について説明するための図である。
【図３】Ｓｔｅｐ１におけるモジュール毎の占有ユニットを決定する方法を説明するための図である。
【図４】Ｓｔｅｐ１における占有ユニット周辺のユニットに対して得点付けを行う方法を説明するための図である。
【図５】Ｓｔｅｐ１における得点表の例を示す図である。
【図６】Ｓｔｅｐ１におけるユニットの割り当て方法を説明するための図である。
【図７】Ｓｔｅｐ１での処理を説明するためのフローチャート図である。
【図８】Ｓｔｅｐ２における各モジュールの外部端子及び重心とＬＳＩチップ上の位置との相関について説明するための図である。
【図９】Ｓｔｅｐ２におけるモジュールＡの場合の相関分布を示す図である。
【図１０】Ｓｔｅｐ２において決定されたモジュール位置の例を示す図である。
【図１１】Ｓｔｅｐ２での処理を説明するためのフローチャート図である。
【図１２】Ｓｔｅｐ３において決定された第二階層目のモジュール位置の例を示す図である。
【図１３】Ｓｔｅｐ３での処理を説明するためのフローチャート図である。
【図１４】Ｓｔｅｐ３での処理を説明するためのフローチャート図（続き）である。
【図１５】本発明の一実施例に係るＬＳＩ設計装置の構成例を示す図である。
【符号の説明】
【０１１２】
７          制御部
７ａ        中央処理装置
７ｂ        メインプログラム記憶部
７ｃ        一時記憶部
８          表示装置
９          入出力装置
１０        ドライバ
１１        記憶媒体
２０        記憶部
２１        得点表
２２        ユニット割り当て状態（ＤＡＴＡ）
３０        モジュール配置プログラム
【図１】
2008305333.tif 000003
【図２】
2008305333.tif 000004
【図３】
2008305333.tif 000005
【図４】
2008305333.tif 000006
【図５】
2008305333.tif 000007
【図６】
2008305333.tif 000008
【図７】
2008305333.tif 000009
【図８】
2008305333.tif 000010
【図９】
2008305333.tif 000011
【図１０】
2008305333.tif 000012
【図１１】
2008305333.tif 000013
【図１２】
2008305333.tif 000014
【図１３】
2008305333.tif 000015
【図１４】
2008305333.tif 000016
【図１５】
2008305333.tif 000017