(57)【要約】【課題】マクロの全端子で配線が引き出し可能かを判定できるレイアウト設計装置、レイアウト設計方法およびレイアウト設計プログラムを提供する。【解決手段】記憶部１１は内部にマクロを含んだ多層回路の階層レイアウトの設計データを記憶する。チャネル数算出部１３は設計データに基づいて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出する。経路算出部１５は算出したチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出する。経路判定部１６はマクロの全ての端子について引き出し経路を算出できたか否かを判定する。【選択図】図１
2013037451.tif 000002
【特許請求の範囲】
【請求項１】
階層レイアウトの設計を行うレイアウト設計装置であって、
内部にマクロを含んだ多層回路の階層レイアウトの設計データを記憶する記憶部と、
前記記憶部に記憶された設計データに基づいて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出するチャネル数算出部と、
前記チャネル数算出部により算出したチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出する経路算出部と、
前記マクロの全ての端子について前記経路算出部により引き出し経路を算出できたか否かを判定する経路判定部と
を有することを特徴とするレイアウト設計装置。
【請求項２】
前記経路判定部により、前記マクロの全ての端子について前記経路算出部により引き出し経路を算出できたと判定された場合に、前記経路算出部により算出された前記マクロの全ての端子の引き出し経路に関する情報を前記記憶部に格納する格納部と、
前記記憶部に記憶された情報に基づいて、前記マクロの各端子の引き出し配線を設計する配線設計部と
をさらに有することを特徴とする請求項１記載のレイアウト設計装置。
【請求項３】
前記マクロの端子毎に、他の端子からの引き出し配線の影響により前記所定の配線層まで配線を引き出すために使用可能なチャネル数が減少する減少割合を算出する減少割合算出部をさらに有し、
前記経路算出部は、前記減少割合算出部により算出された減少割合が所定の閾値よりも大きい端子と、当該減少割合が所定の閾値よりも大きい端子のチャネル数の減少に影響を与える端子とからの経路とを続けて算出する
ことを特徴とする請求項１または請求項２記載のレイアウト設計装置。
【請求項４】
前記経路算出部は、経路を算出できない端子が存在する場合、算出済みの経路以外の新たな経路が算出されるまで、当該経路を算出できない端子から１つずつ前の端子の経路の算出に戻り、経路を再算出する
ことを特徴とする請求項１〜３の何れか１つに記載のレイアウト設計装置。
【請求項５】
階層レイアウトの設計を行うレイアウト設計方法であって、
コンピュータが、
記憶部に記憶された、内部にマクロを含んだ多層回路の階層レイアウトの設計データに基づいて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出し、
算出されたチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出し、
前記マクロの全ての端子について引き出し経路を算出できたか否かを判定する
各処理を実行することを特徴とするレイアウト設計方法。
【請求項６】
階層レイアウトの設計を行うレイアウト設計プログラムであって、
コンピュータに、
記憶部に記憶された、内部にマクロを含んだ多層回路の階層レイアウトの設計データに基づいて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出し、
算出されたチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出し、
前記マクロの全ての端子について引き出し経路を算出できたか否かを判定する
各処理を実行させることを特徴とするレイアウト設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト設計装置、レイアウト設計方法およびレイアウト設計プログラム
に関する。
【背景技術】
【０００２】
ＬＳＩ（Large  Scale  Integration）などの集積回路の設計では、例えば、処理を機能毎に分けた回路ブロックであるマクロが最初に単体で設計される。そして、集積回路の設計では、設計されたマクロを集積回路に配置してマクロ間の配線設計が行われる。そして、集積回路の設計では、集積回路全体での性能評価が行われる。
【０００３】
マクロは、集積回路の内部に、複数層に渡って多層配線で回路が形成される。マクロの接続は、集積回路の層にビア（Via）を形成してマクロに形成された端子を接続配線が形成される層に引き出し、接続配線で接続することにより行う。
【０００４】
ＬＳＩなどの基板内に形成された回路間の配線設計に関して次のような従来技術が知られている。例えば、プリント基板内に回路を配置した段階で回路間の引き出し経路やビアの配置などの配線設計を行う従来技術が知られている。また、マクロの端子を覆うチャネルと該チャネルの周辺の空きチャネルを検出し、検出されたチャネルから指定配線層まで連続して引き出し可能な空きチャネルが存在するか否か判定する技術が知られている。回路設計では、基板上に一定間隔でグリッドを仮想的に配置し、グリッドに合わせて位置を指定する。チャネルとは、ビアなどにより他の層へ信号経路が形成可能なグリッドを意味する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−１３９３１１号公報
【特許文献２】特開２００６−２６８３６５号公報
【特許文献３】特開２０００−３５３７４６号公報
【特許文献４】国際公開第２００９／０８４０９２号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術のように、ＬＳＩにマクロを配置した段階でマクロ間の配線設計を行う場合、マクロに配線を引き出せない端子が存在し、マクロの配置変更などによっても解決できない場合、マクロの再設計が必要となり、設計作業の手戻りが大きい。
【０００７】
また、従来技術の空きチャネルが存在するか否かの判定は、マクロの各端子について個別に行っており、他の端子の引き出し配線の影響を考慮していない。このため、端子単独では配線を引き出し可能と判定されても、他の端子の配線の影響で配線を引き出せない場合がある。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、マクロの全端子で配線が引き出し可能かを判定できるレイアウト設計装置、レイアウト設計方法およびレイアウト設計プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示するレイアウト設計装置は、一つの態様において、記憶部と、チャネル数算出部と、経路算出部と、経路判定部とを有する。記憶部は、階層レイアウトの設計データを記憶する。チャネル数算出部は、前記記憶部に記憶された設計データに基づいて、下位階層のマクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出する。経路算出部は、前記チャネル数算出部により算出したチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出する。経路判定部は、前記マクロの全ての端子について前記経路算出部により引き出し経路を算出できたか否かを判定する。
【発明の効果】
【００１０】
一つの態様によれば、マクロの全端子で配線が引き出し可能かを判定できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、レイアウト設計装置の機能的な構成の一例を示す図である。
【図２】図２は、マクロの配置位置と配置グリッドおよび配線グリッドの関係の一例を示す図である。
【図３】図３は、マクロの端子層から引き出し対象層までの階層レイアウトの一例を示す図である。
【図４】図４は、使用可能な配線チャネルが制限される場合を説明するための図である。
【図５】図５は、バックトラック処理の一例を説明するための図である。
【図６】図６は、集積回路の設計手順の一例を示すフローチャートである。
【図７】図７は、マクロの全端子で配線が引き出し可能か判定する判定処理の手順を示すフローチャートである。
【図８】図８は、優先順位決定処理の手順を示すフローチャートである。
【図９】図９は、配置パターン特定処理の手順を示すフローチャートである。
【図１０】図１０は、レイアウト設計プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示するレイアウト設計装置、レイアウト設計方法およびレイアウト設計プログラムの各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１３】
実施例１に係るレイアウト設計装置１０について説明する。図１は、レイアウト設計装置の機能的な構成の一例を示す図である。図１に示すように、レイアウト設計装置１０は、記憶部１１と、配置パターン特定部１２と、チャネル数算出部１３と、減少割合算出部１４と、経路算出部１５と、経路判定部１６と、格納部１７と、配線設計部１８とを有する。レイアウト設計装置１０は、ＬＳＩなどの集積回路の設計を行う機器であり、例えば、コンピュータなどである。ここで、ＬＳＩなどの集積回路の設計では、マクロ単体でのレイアウト設計が設計規則に従って行われる。そして、集積回路の設計では、設計したマクロを集積回路にマクロを配置してマクロ間の配線設計が行われる。そして、集積回路の設計では、集積回路全体での性能評価が行われる。マクロの設計は、集積回路の複数の配線層のうちの一部の配線層を用いて行われる。マクロ間の配線設計は、集積回路の層にビアを形成してマクロの端子を所定の配線層まで配線で引き出し、接続配線で接続することにより行われる。例えば、集積回路が１〜８の配線層を有する場合、マクロは１〜５の配線層を用いて設計される。マクロ間の配線は６〜８の配線層を用いて設計される。本実施例に係るレイアウト設計装置１０は、マクロが設計された段階で、マクロの全端子について配線が引き出し可能かの判定を行う。
【００１４】
記憶部１１には、各種情報が記憶されている。例えば、記憶部１１には、設計データ１１ａ、設計条件データ１１ｂ、配置パターン情報１１ｃ、および引き出し経路情報１１ｄが記憶されている。記憶部１１のデバイスの一例としては、フラッシュメモリやＮＶＳＲＡＭなどのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
【００１５】
設計データ１１ａは、設計されたマクロの各層毎の回路のレイアウト情報や信号を入出力する端子の位置情報を含む。設計条件データ１１ｂは、回路設計での各種の設計条件を含む。この設計条件には、例えば、各層の配線幅、ビアのサイズ、最低必要な配線間隔などの情報が含まれる。配置パターン情報１１ｃは、後述する配置パターン特定部１２により特定された配置パターン毎のマクロの各端子で配線に使用可能なチャネルに示す情報である。引き出し経路情報１１ｄは、配置パターン毎のマクロの各端子の配線の引き出し経路を示す情報である。
【００１６】
ここで、回路設計では、回路の位置を任意指定としてもよいが、位置の指定を容易にするため、基板上に一定間隔でグリッドを仮想的に配置し、グリッドに合わせて位置が指定される。また、マクロと配線は、配置位置の指定に用いる好ましいグリッドの間隔が異なる。設計条件データ１１ｂは、マクロの配置に用いる配置グリッドの間隔および配線の配置に用いる配線グリッドの間隔をそれぞれ設計条件として含む。
【００１７】
図２は、マクロの配置位置と配置グリッドおよび配線グリッドの関係の一例を示す図である。なお、図２の例では、配置グリッドおよび配線グリッドの一部だけ図示している。図２の例では、「×」のマークにより配線グリッド３０を示す。また、図２の例では、横方向に平行に示した破線３２で配置グリッド３１の縦方向の配置位置を示し、縦方向に平行に示した破線３３で配置グリッドの配置位置を示す。破線３２と破線３３の交点がそれぞれ配置グリッド３１の配置位置を表す。図２の例では、配線グリッド３０は、横方向について配置グリッドの２倍の間隔で設けられている。マクロは、配置グリッドに合わせて配置される。配線は、配線グリッド３０に合わせてその上に配置される。図２の例では、同じサイズのマクロ４０Ａ、４０Ｂが横方向に１配置グリッド分だけ位置をずらして配置されている。マクロ４０Ａ、４０Ｂの内部に位置する配線グリッド３０は、マクロ内で配線を設けることが可能な位置である配線チャネル３５となる。ところで、配線グリッド３０と配置グリッド３１との間隔が異なるため、マクロ内部の配線チャネル３５の数は、マクロの配置位置によって異なる。例えば、マクロ４０Ａは、配線チャネル３５の列が４本ある。一方、１配置グリッド分だけ位置をずらしたマクロ４０Ｂは、配線チャネル３５の列が５本ある。このように、マクロは、配置位置によって、配線チャネル３５の配置パターンが複数存在する場合がある。配置パターンのパターン数は、縦および横の配線グリッドの間隔と、縦および横の配置グリッドの間隔から以下の（１）式の演算により求めることができる。
【００１８】
パターン数＝  ［（縦の配線グリッドの間隔と縦の配置グリッドの間隔の最小公倍数）
／縦の配置グリッド］
×［（横の配線グリッドの間隔と横の配置グリッドの間隔の最小公倍数)
／横の配置グリッド)］            （１）
【００１９】
例えば、縦の配置グリッドの間隔を１００とし、縦の配線グリッドの間隔を２００とし、横の配置グリッドの間隔を１００とし、横の配線グリッドの間隔を１００とした場合、パターン数は、(２００／１００)×(１００/１００)＝２×１＝２と求まる。
【００２０】
配置パターン特定部１２は、マクロの配線チャネル３５の配置パターンを特定する。例えば、配置パターン特定部１２は、配置グリッドと配線グリッドの間隔が異なる場合、間隔の異なる方向に対して１配線グリッド分の範囲内で、マクロの配置位置を１配置グリッド分ずつずらして配線チャネル３５の配置パターンを求める。例えば、縦または横の一方向で配置グリッドと配線グリッドの間隔が異なる場合は、一方向に対して１配線グリッド分の範囲内で、マクロの配置位置を１配置グリッド分ずつずらして配線チャネル３５の配置パターンを求める。これにより、図２に示す２つの配置パターンが求まる。また、縦および横の２つ方向で配置グリッドと配線グリッドの間隔が異なる場合は、縦または横の何れか一方向に対して１配線グリッド分の範囲内で、マクロの配置位置を１配置グリッド分ずつずらして配線チャネル３５の配置パターンを求める。そして、一方向のマクロの配置位置の移動が完了すると、マクロの配置位置を他方向に対して１配線グリッド分の範囲内で１配置グリッド分ずらし、再度一方向へ１配置グリッド分ずつずらして配線チャネル３５の配置パターンを求める。
【００２１】
配置パターン特定部１２は、配置パターン毎のマクロ内での相対的な配線チャネル３５の配置位置を配置パターン情報１１ｃとして記憶部１１に記憶させる。なお、配線グリッドおよび配置グリッドの間隔が一定の場合は、配置パターン情報１１ｃとして、配線チャネル３５の個別の配置位置を全て記憶させる必要はない。例えば、配置パターン情報１１ｃは、マクロ内での何れか１つの配線チャネル３５の位置と縦、横の配線グリッドの間隔の情報であってもよい。このように、配置パターン情報１１ｃとして何れか１つの配線チャネル３５の位置と縦、横の配線グリッドの間隔の情報を記憶した場合は、記憶された配線チャネル３５の位置と縦、横の配線グリッドの間隔から各配線チャネル３５の位置を特定する。
【００２２】
チャネル数算出部１３は、それぞれの配置パターンについて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出する。チャネル数とは、ビアなどにより他の層へ信号経路が形成可能なチャネルの数を意味する。この所定の配線層は、マクロの外への引き出し経路が形成される配線層であり、例えば、最上位層や引き出し経路が形成される中間の配線層が該当する。引き出し経路が存在する配線層が複数存在する場合は、全てを対象とする。以下、マクロの外への引き出し経路が形成される配線層を引き出し対象層とも言う。
【００２３】
図３は、マクロの端子層から引き出し対象層までの階層レイアウトの一例を示す図である。図３の例は、端子層５０ａの上に配線層５０ｂを設け、配線層５０ｂの上に、マクロの外への引き出し経路が形成される引き出し対象層５０ｃを設けた場合を示す。端子層５０ａには、マクロの端子として端子５１ａと端子５１ｂが並んで設けられている。また、端子層５０ａには、端子５１ａの端子５１ｂ側以外の３方向を囲むように配線メタル５２ａが設けられている。配線層５０ｂには、配線メタル５２ｂ、５２ｃが設けられている。引き出し対象層５０ｃには、配線メタル５２ｄが設けられている。
【００２４】
例えば、チャネル数算出部１３は、設計データ１１ａおよび配置パターン情報１１ｃに基づいて、各配置パターンについて、端子層５０ａから引き出し対象層５０ｃまでの各層毎に、各端子から配線を引き出すために使用可能な配線チャネル３５を特定する。具体的には、チャネル数算出部１３は、マクロの各端子について、各層毎に、それぞれ端子からの引き出し配線を設けることが可能な使用可能範囲を求める。この使用可能範囲は、例えば、何れかの端子が含まれ、他の端子および各配線のスペーシング領域外となる範囲とする。そして、チャネル数算出部１３は、マクロの各端子について、各層毎に、使用可能範囲内の配線グリッド３０を使用可能な配線チャネル３５と特定する。図３の例では、端子層５０ａは範囲５３ａの各配線グリッド３０が使用可能な配線チャネル３５と特定される。配線層５０ｂは範囲５３ｂの各配線グリッド３０が使用可能な配線チャネル３５と特定される。引き出し対象層５０ｃは範囲５３ｃの各配線グリッド３０が使用可能な配線チャネル３５と特定される。
【００２５】
そして、チャネル数算出部１３は、各層の使用可能な配線チャネル３５を比較し、端子層５０ａから引き出し対象層５０ｃの各相で同じ位置となった配線チャネル３５のチャネル数を算出する。例えば、図３の例では、端子層５０ａの範囲５３ａと、配線層５０ｂの範囲５３ｂと、引き出し対象層５０ｃの範囲５３ｃの重複範囲を求める。配線層５０ｂの範囲５４ａは、端子層５０ａの範囲５３ａと、配線層５０ｂの範囲５３ｂとの重複範囲である。引き出し対象層５０ｃの範囲５４ｂは、配線層５０ｂの範囲５４ａと、引き出し対象層５０ｃの範囲５３ｃとの重複範囲である。よって、引き出し対象層５０ｃの範囲５４ｂは、範囲５３ａと範囲５３ｂと範囲５３ｃの重複範囲を示す。範囲５４ｂ内の配線チャネル３５の数が、端子５１ａについての同じ位置となった配線チャネル３５のチャネル数となる。範囲５４ｃは、端子５１ｂについての端子層５０ａから引き出し対象層５０ｃまでの各層の使用可能範囲の重複範囲である。
【００２６】
ところで、マクロの各端子は、周囲の端子に設けられた引き出し配線の影響で、使用可能な配線チャネル３５が制限される場合がある。図４は、使用可能な配線チャネルが制限される場合を説明するための図である。図４の例は、端子層５０ａの端子５１ａにビア５５を設けた場合を示している。端子５１ｂは、ビア５５が無い場合、端子５１ｂおよび近傍の各配線チャネル３５に引き出し配線を設けることができる。一方、端子５１ｂは、ビア５５が設けられた場合、ビア５５から設計条件とされた最低必要な配線間隔を保つためにスペーシング領域５６を設けるため、使用可能な配線チャネル３５の数が減少する。図４の例は、使用可能な配線チャネル３５の数が１８個から８個に減少する。
【００２７】
減少割合算出部１４は、それぞれの配置パターンについて、マクロの各端子毎に、他の端子の引き出し配線の影響により、使用可能なチャネル数が減少する減少割合を算出する。例えば、減少割合算出部１４は、端子層５０ａについて、各端子毎に、上述の使用可能範囲を求める。また、減少割合算出部１４は、各端子毎に、使用可能範囲から他の端子の引き出し配線による影響を受ける範囲を除いた無影響範囲を求める。減少割合算出部１４は、各端子毎に、使用可能範囲内の配線チャネル３５の数から無影響範囲内の配線チャネル３５の数を減算して減少チャネル数を求める。減少割合算出部１４は、求めた減少チャネル数を使用可能範囲内の配線チャネル３５の数で除算して減少割合を算出する。
【００２８】
減少割合算出部１４は、減少割合が所定の閾値以上の端子がある場合、減少割合が所定の閾値以上となる端子と当該端子の周辺の使用可能なチャネル数を減少させた端子を特定する。この所定の閾値は、例えば、３０％とする。なお、閾値は、外部から調整可能とする。減少割合算出部１４は、特定した各端子について、使用可能な配線チャネル３５の数を比較し、各端子の使用可能チャネルの数を最も低い値に更新する。例えば、図４の例では端子５１ａにビア５５を配置したことにより、端子５１ｂ上の引き出し使用可能チャネルが５５％減少し、閾値以上減少している。このため、端子５１ａ、５１ｂの使用可能なチャネル数には、端子５１ａ、５１ｂの使用可能チャネルのうち、低い方の値を保存する。これにより、互いに配線の影響の大きい端子の組み合わせの使用可能チャネルの値が同じになる。これにより、後述する経路算出部１５による経路算出の処理において、互いに配線の影響の大きい端子の同士の経路の計算順が近くなり、経路の計算をやり直す際のバックトラック処理を効率的に行うことができる。
【００２９】
経路算出部１５は、それぞれの配置パターンについて、使用可能チャネルの数の少ない順に、設計条件とされた配線幅、ビアのサイズ、最低必要な配線間隔で、各端子から引き出し対象層まで配線を引き出す経路を算出する。例えば、経路算出部１５は、設計条件とされた配線幅、ビアのサイズで経路を算出する。また、経路算出部１５は、既に経路を算出された他の端子の引き出し配線から最低必要な配線間隔以上の間隔を保って経路を算出する。この経路の算出は、既存の経路探索法を用いて行う。この経路検索法としては、例えば「ラインサーチ法」や「メイズ法」などがある。経路算出部１５は、それぞれの配置パターンについて、各端子の経路を算出できた場合、算出された各配置パターンの各端子の経路を引き出し経路情報１１ｄとして記憶する。一方、経路算出部１５は、経路を算出できない端子が存在する場合、１つ前の端子の経路の算出に戻るバックトラック処理を行う。例えば、経路算出部１５は、算出済みの経路以外の新たな経路が算出されるまで、配線チャネル３５の数の少ない順で当該経路を算出できない端子から１つずつ前の端子の経路の算出に戻り経路を再算出することを繰り返す。新たな経路の算出は、例えば、算出済みの経路を記憶しておき、算出済みの経路をスペーシング領域など経路の算出から除外される領域に設定して行う。
【００３０】
図５は、バックトラック処理の一例を説明するための図である。図５の例は、端子６０ａについて経路６１ａが算出されており、端子６０ｂについて経路の算出を行う場合を示す。端子６０ｂは、周囲に配線メタル６２が設けられており、経路を算出した結果、経路６３ａが経路６１ａに阻まれるため、経路を算出できない。そこで、経路算出部１５は、端子６０ａについて経路の算出をやり直し、端子６０ａについて算出済みの経路６１ａ以外の新たな経路６１ｂを算出する。これにより、経路算出部１５は、端子６０ｂについて経路の算出を行うことで、経路６３ｂを算出できる。
【００３１】
経路判定部１６は、経路算出部１５により、マクロの端子について引き出し経路を算出できたか否かを判定する。経路判定部１６は、全ての配置パターンについて、引き出し経路を算出できた場合、マクロの全端子の配線が引き出し可能であると判定する。一方、経路判定部１６は、何れの配置パターンで引き出し経路を算出できない場合、当該配置パターンについて端子で配線からの引き出し不可能であると判定する。
【００３２】
格納部１７は、経路算出部１５により算出された経路を引き出し経路情報１１ｄとして記憶部１１に格納する。これにより、経路算出部１５で全ての配置パターンについて、マクロの全ての端子について引き出し経路を算出できた場合、記憶部１１には、配置パターン毎に、マクロの全ての端子の引き出し経路が引き出し経路情報１１ｄとして記憶される。
【００３３】
配線設計部１８は、引き出し経路情報１１ｄに基づいて、マクロの各端子の引き出し配線を設計する。例えば、マクロを集積回路に配置してマクロ間の配線設計が行われる場合、配線設計部１８は、引き出し経路情報１１ｄから集積回路に配置されたマクロの配置パターンに対応する各端子の引き出し経路を読み出す。そして、配線設計部１８は、読み出した各端子の引き出し経路に配線を配置し、マクロの各端子の引き出し配線を設計する。なお、図１の例では、機能的な構成を示したため、配置パターン特定部１２、チャネル数算出部１３、減少割合算出部１４、経路算出部１５、経路判定部１６、格納部１７および配線設計部１８を別に分けているが、例えば、１つのデバイスで構成してもよい。デバイスの一例としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路が挙げられる。なお、デバイスとして、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路を採用することもできる。
【００３４】
次に、本実施例に係るレイアウト設計装置１０を用いた場合の集積回路の設計手順について説明する。図６は、集積回路の設計手順の一例を示すフローチャートである。
【００３５】
図６に示すように、集積回路の設計では、最初にマクロ単体での設計を行う（ステップＳ１０）。集積回路の設計では、次に、設計された各マクロの集積回路への配置設計を行う（ステップＳ１１）。集積回路の設計では、次に、配置されたマクロ間の配線設計を行う（ステップＳ１２）。集積回路の設計では、次に、集積回路全体での性能評価を行う（ステップＳ１３）。性能評価の結果がＮＧの場合は（ステップＳ１４ＮＧ）、結果に応じてマクロ単体での設計やマクロの配置設計、マクロ間の配線設計に戻って修正を行う。性能評価を評価した結果がＯＫの場合は（ステップＳ１４ＯＫ）、集積回路の設計作業は終了する。
【００３６】
マクロの設計では、最初に、各マクロが実現する機能の機能設計を行う（ステップＳ２０）。マクロの設計では、次に、機能設計に従い、各マクロの実装設計を行う（ステップＳ２１）。マクロの設計では、次に、実装設計されたマクロの全端子で配線が引き出し可能か判定を行う（ステップＳ２２）。全端子で配線が引き出し可能か判定した結果がＮＧの場合は（ステップＳ２３肯定）、マクロの実装設計に戻って修正を行う。全端子で配線が引き出し可能か判定した結果がＯＫの場合は（ステップＳ２３否定）、マクロの設計作業は終了する。本実施例に係るレイアウト設計装置１０は、実装設計されたマクロの全端子で配線が引き出し可能か判定を行う。
【００３７】
次に、本実施例に係るレイアウト設計装置１０の処理の流れを説明する。図７は、マクロの全端子で配線が引き出し可能か判定する判定処理の手順を示すフローチャートである。
【００３８】
図７に示すように、配置パターン特定部１２は、設計条件データ１１ｂから各種の設計条件を読み出す（ステップＳ３０）。そして、配置パターン特定部１２は、設計条件とされた間隔で配置グリッドおよび配線グリッドを仮想的に配置し、設計データ１１ａに基づくマクロを配置グリッドに合わせて配置してマクロの配線チャネル３５の配置パターンを特定する（ステップＳ３１）。特定された配置パターンは、配置パターン情報１１ｃとして記憶部１１に記憶される。チャネル数算出部１３は、配置パターン情報１１ｃにより示される各配置パターンのうち、未検証の配置パターンを検証配置パターンと決定する（ステップＳ３２）。チャネル数算出部１３は、設計条件とされた配線幅、ビアのサイズ、最低必要な配線間隔に基づいて、検証配置パターンの各端子にスペーシング領域などの制約を特定する（ステップＳ３３）。そして、チャネル数算出部１３は、検証配置パターンの各端子の優先順位を決定する優先順位決定処理を行う（ステップＳ３４）。経路算出部１５は、優先順位決定処理で決定された順に、未検証の端子を検証端子と決定する（ステップＳ３５）。そして、経路算出部１５は、設計条件とされた配線幅、ビアのサイズ、最低必要な配線間隔で、経路算出済みの他の端子については算出順の最も新しい経路を引き出し配線として、検証端子から引き出し対象層まで配線を引き出す経路を算出する（ステップＳ３６）。経路判定部１６は、経路が算出できたか否かを判定する（ステップＳ３７）。経路が算出できた場合（ステップＳ３７肯定）、格納部１７は、算出された経路を検証端子と対応付けて算出順に記憶部１１に格納する（ステップＳ３８）。経路判定部１６は、検証端子について検証ＯＫと記憶する（ステップＳ３９）。経路判定部１６は、検証配置パターンの各端子に未検証の端子があるか否かを判定する（ステップＳ４０）。未検証の端子がある場合（ステップＳ４０肯定）、経路判定部１６は、ステップＳ３５の処理へ移行する。一方、未検証の端子がない場合（ステップＳ４０否定）、格納部１７は、記憶部１１に端子毎の算出順に記憶させた経路のうち、各端子の算出順が最も新しい経路を引き出し経路情報１１ｄとして記憶部１１に格納する（ステップＳ４１）。これにより、記憶部１１には、検証配置パターンの各端子の配線の引き出し経路が引き出し経路情報１１ｄとして記憶される。経路判定部１６は、配置パターン情報１１ｃにより示される各配置パターンに未検証の配置パターンがあるか否かを判定する（ステップＳ４２）。未検証の配置パターンがある場合（ステップＳ４２肯定）、経路判定部１６は、ステップＳ３２の処理へ移行する。一方、未検証の配置パターンがない場合（ステップＳ４２否定）、経路判定部１６は、処理を終了する。
【００３９】
一方、経路が算出できない場合（ステップＳ３７否定）、経路算出部１５は、検証配置パターンに検証ＯＫとされた端子があるか否か判定する（ステップＳ４３）。検証ＯＫとされた端子がある場合（ステップＳ４３肯定）、経路算出部１５は、優先順位の順で、１つ前の検証ＯＫとされた端子について記憶部１１に記憶された算出済みの経路以外の新たな経路の再算出を行う（ステップＳ４４）。経路算出部１５は、新たな経路が算出できたか否かを判定する（ステップＳ４５）。新たな経路が算出できた場合（ステップＳ４５肯定）、経路算出部１５は、新たな経路を１つ前に検証された端子と対応付けて算出順に記憶部１１に格納して、ステップＳ３６へ移行する。一方、新たな経路が算出できない場合（ステップＳ４５否定）、経路算出部１５は、優先順位の順で、１つ前の検証ＯＫとされた端子の検証ＯＫと取り消して（ステップＳ４６）、ステップＳ４３へ移行する。これにより、優先順位の順で、さらに１つ前に検証ＯＫとされた端子について経路の再算出が行われる。
【００４０】
一方、検証ＯＫとされた端子がない場合（ステップＳ４３否定）、経路判定部１６は、マクロに配線の引き出し不可能なパターンがある判定し（ステップＳ４７）、処理を終了する。すなわち、どのように各端子の経路を変えても配線の引き出しが不可能な端子がある場合、マクロの全端子で配線が引き出し不可能であるため、処理を終了する。マクロに配線の引き出し不可能なパターンがある判定された場合には、マクロの実装設計に戻り、マクロの再設計が行われる。
【００４１】
次に、優先順位決定処理の流れを説明する。図８は、優先順位決定処理の手順を示すフローチャートである。
【００４２】
図８に示すように、減少割合算出部１４は、検証配置パターンについて、マクロの各端子毎に、他の端子の引き出し配線の影響により引き出し配線を配置可能な使用可能なチャネル数が減少する減少割合を算出する（ステップＳ５０）。そして、減少割合算出部１４は、減少割合が所定の閾値以上の端子がある場合、チャネル数が減少する端子の組み合わせを特定し、特定した各端子の使用可能チャネルの数を比較して最も低い値に更新する（ステップＳ５１）。減少割合算出部１４は、使用可能チャネルの数の少ない順に端子順をソートする（ステップＳ５２）。減少割合算出部１４は、ソートした使用可能チャネルの数の少ない順を優先順位と決定し（ステップＳ５３）、処理を終了する。このように優先順位を使用可能チャネルの数の少ない順とすることにより、配線引き出し領域の厳しい端子から検証が行われるため、短時間でマクロ設計の不具合を検証することができる。また、影響の大きい端子の組み合わせについて使用可能チャネルの数を同じ値として経路の計算順を近くすることによって、経路の計算をやり直す際のバックトラック処理を効率的に行うことができる。
【００４３】
上述してきたように、本実施例に係るレイアウト設計装置１０は、内部にマクロを含んだ多層回路の階層レイアウトの設計データ１１ａを記憶部１１に記憶する。また、レイアウト設計装置１０は、記憶部１１に記憶された設計データ１１ａに基づいて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出する。また、レイアウト設計装置１０は、算出したチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出する。そして、レイアウト設計装置１０は、マクロの全ての端子について引き出し経路を算出できたか否かを判定する。このように、使用可能なチャネル数の少ない端子から配線を引き出すための経路の算出を行うことにより、配線を引き出す自由度の少ない端子から順に経路を算出できるため、全ての端子について引き出し経路を算出が行いやすくなる。そして、マクロの全ての端子について引き出し経路を算出できたか否かを判定することにより、設計されたマクロの全端子で配線が引き出し可能かを判定することができる。
【００４４】
また、本実施例に係るレイアウト設計装置１０は、マクロの全ての端子について引き出し経路を算出できたと判定された場合に、算出されたマクロの全ての端子の引き出し経路に関する引き出し経路情報１１ｄを記憶部１１に格納する。そして、レイアウト設計装置１０は、記憶部１１に記憶された引き出し経路情報１１ｄに基づいて、マクロの各端子の引き出し配線を設計する。このように、マクロの全ての端子について引き出し経路に関する引き出し経路情報１１ｄを記憶することにより、マクロ間の配線設計を行う際のマクロの各端子の引き出し配線を容易に設計することができる。
【００４５】
また、本実施例に係るレイアウト設計装置１０は、マクロの各端子毎に、他の端子の引き出し配線の影響により所定の配線層まで配線を引き出すために使用可能なチャネル数が減少する減少割合を算出する。そして、レイアウト設計装置１０は、算出された減少割合が所定の閾値よりも大きい端子とチャネル数の減少に影響を与える端子の経路を続けて算出する。このように、減少割合が所定の閾値よりも大きい端子とチャネル数の減少に影響を与える端子について経路を続けて算出することにより、経路の計算の効率的に行うことができる。
【００４６】
また、本実施例に係るレイアウト設計装置１０は、経路を算出できない端子が存在する場合、算出済みの経路以外の新たな経路が算出されるまで、チャネル数の少ない順で当該経路を算出できない端子から１つずつ前の端子の経路の算出に戻る。そして、レイアウト設計装置１０は、経路を再算出することを繰り返す。これにより、何れの端子で経路が算出できない場合でも、経路を算出済みの端子の経路を変えて、経路が算出できない端子について経路の算出を網羅的に行うことができる。
【００４７】
また、本実施例に係るレイアウト設計装置１０は、マクロの配置位置に応じた配線チャネルの配置パターンを特定し、全ての配置パターンでマクロの全ての端子について引き出し経路を算出できたか否かを判定する。これにより、マクロの配置位置によらずマクロの全ての端子から配線が引き出せることを確認できる。
【００４８】
また、本実施例に係るレイアウト設計装置１０は、マクロの設計段階でマクロの全ての端子について引き出し経路を算出できたか否かを判定する。これにより、マクロの設計段階でマクロの全ての端子から配線が引き出せることを確認できるため、マクロ間の配線設計でマクロの引き出し経路の有無を検証する場合と比較して、設計作業の手戻り少なく抑えることができる。
【実施例２】
【００４９】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００５０】
例えば、上記の実施例１では、マクロの全ての端子について経路を計算した場合について説明したが、開示の装置はこれに限定されない。例えば、端子の配線チャネル数が閾値以上あるものについては、引き出し配線の自由度が高く、配線を引き出せるため、経路の計算対象から除外してもよい。これにより、経路の計算時間を短縮できる。経路の計算対象から除外する閾値は、例えば、マクロ内に包含された配線チャネルの５０％以上のチャネル数とする。この閾値は、外部から調整可能としてもよい。
【００５１】
また、上記の実施例１では、配線グリッドおよび配置グリッドの間隔を一定として、配置パターンを特定する場合について説明したが、開示の装置はこれに限定されない。例えば、配線グリッドおよび配置グリッドの間隔を一定ではない場合、以下の配置パターン特定処理を行うことにより、配置パターンを特定する。
【００５２】
図９は、配置パターン特定処理の手順を示すフローチャートである。
【００５３】
図９に示すように、配置パターン特定部１２は、設計条件とされた間隔で配置グリッドおよび配線グリッドを仮想的に配置し、マクロを配置可能な範囲の縦横一方の端部に配置する（ステップＳ６０）。配置パターン特定部１２は、現在のマクロを配置位置で配線グリッドの新たな配置パターンが出現したか否かを判定する（ステップＳ６１）。新たな配置パターンが出現した場合（ステップＳ６１肯定）、配置パターン特定部１２は、マクロ内の配線グリッドの配置パターンを記憶する（ステップＳ６２）。また、配置パターン特定部１２は、配置可能な範囲内のマクロの配置位置を記憶する（ステップＳ６３）。一方、新たな配置パターンが出現しない場合（ステップＳ６１否定）、配置パターン特定部１２は、ステップＳ６４へ移行する。配置パターン特定部１２は、現在のマクロの配置位置がマクロを配置可能な範囲の横方向の他端に到達したか否か判定する（ステップＳ６４）。横方向の他端に到達していない場合（ステップＳ６４否定）、配置パターン特定部１２は、横方向にマクロを１配置グリッド分シフトし（ステップＳ６５）、ステップＳ６１へ移行する。一方、横方向の他端に到達した場合（ステップＳ６４肯定）、配置パターン特定部１２は、現在のマクロの配置位置がマクロを配置可能な範囲の縦方向の他端に到達したか否か判定する（ステップＳ６６）。縦方向の他端に到達していない場合（ステップＳ６６否定）、配置パターン特定部１２は、縦方向にマクロを１配置グリッド分シフトする（ステップＳ６７）。そして、配置パターン特定部１２は、マクロを横方向の一端に配置して（ステップＳ６８）、ステップＳ６１へ移行する。一方、縦方向の他端に到達した場合（ステップＳ６６肯定）、配置パターン特定部１２は、処理を終了する。
【００５４】
この配置パターン特定処理により、配線グリッドおよび配置グリッドの間隔が一定でない場合でも、配置パターンを特定できる。
【００５５】
また、各種の負荷や使用状況などに応じて、実施例１において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
【００５６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１に示す配置パターン特定部１２やチャネル数算出部１３、減少割合算出部１４、経路算出部１５および経路判定部１６は適宜統合されてもよい。
【００５７】
［レイアウト設計プログラム］
また、上記の実施例で説明したレイアウト設計装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図１０を用いて、上記の実施例で説明したレイアウト設計装置と同様の機能を有するレイアウト設計プログラムを実行するコンピュータの一例を説明する。図１０は、レイアウト設計プログラムを実行するコンピュータを示す図である。
【００５８】
図１０に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３００〜３４０の各部は、バス４００を介して接続される。
【００５９】
ＲＯＭ３２０には、実施例１に示す配置パターン特定部１２、チャネル数算出部１３、減少割合算出部１４、経路算出部１５、経路判定部１６、格納部１７および配線設計部１８と同様の機能を発揮するレイアウト設計プログラム３２０ａが予め記憶される。なお、レイアウト設計プログラム３２０ａについては、適宜分離しても良い。
【００６０】
そして、ＣＰＵ３１０が、レイアウト設計プログラム３２０ａをＲＯＭ３２０から読み出して実行する。
【００６１】
そして、ＨＤＤ３３０には、設計データ、設計条件データ、配置パターン情報、および引き出し経路情報が設けられる。設計データ、設計条件データ、配置パターン情報、および引き出し経路情報のそれぞれは、図１に示した、設計データ１１ａ、設計条件データ１１ｂ、配置パターン情報１１ｃ、および引き出し経路情報１１ｄに対応する。
【００６２】
そして、ＣＰＵ３１０は、設計データ、設計条件データ、配置パターン情報、および引き出し経路情報を読み出してＲＡＭ３４０に格納する。ＣＰＵ３１０は、ＲＡＭ３４０に格納された設計データ、設計条件データ、配置パターン情報、および引き出し経路情報を用いて、レイアウト設計プログラム３２０ａを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納される必要はなく、処理に必要なデータのみがＲＡＭ３４０に格納されれば良い。
【００６３】
なお、上記したレイアウト設計プログラム３２０ａについては、必ずしも最初からＨＤＤ３３０に記憶させておく必要はない。
【００６４】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００６５】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００６６】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【００６７】
（付記１）階層レイアウトの設計を行うレイアウト設計装置であって、
内部にマクロを含んだ多層回路の階層レイアウトの設計データを記憶する記憶部と、
前記記憶部に記憶された設計データに基づいて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出するチャネル数算出部と、
前記チャネル数算出部により算出したチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出する経路算出部と、
前記マクロの全ての端子について前記経路算出部により引き出し経路を算出できたか否かを判定する経路判定部と
を有することを特徴とするレイアウト設計装置。
【００６８】
（付記２）前記経路判定部により、前記マクロの全ての端子について前記経路算出部により引き出し経路を算出できたと判定された場合に、前記経路算出部により算出された前記マクロの全ての端子の引き出し経路に関する情報を前記記憶部に格納する格納部と、
前記記憶部に記憶された情報に基づいて、前記マクロの各端子の引き出し配線を設計する配線設計部と
をさらに有することを特徴とする付記１記載のレイアウト設計装置。
【００６９】
（付記３）前記マクロの端子毎に、他の端子からの引き出し配線の影響により前記所定の配線層まで配線を引き出すために使用可能なチャネル数が減少する減少割合を算出する減少割合算出部をさらに有し、
前記経路算出部は、前記減少割合算出部により算出された減少割合が所定の閾値よりも大きい端子と、当該減少割合が所定の閾値よりも大きい端子のチャネル数の減少に影響を与える端子とからの経路を続けて算出する
ことを特徴とする付記１または付記２記載のレイアウト設計装置。
【００７０】
（付記４）前記経路算出部は、経路を算出できない端子が存在する場合、算出済みの経路以外の新たな経路が算出されるまで、当該経路を算出できない端子から１つずつ前の端子の経路の算出に戻り、経路を再算出する
ことを特徴とする付記１〜３の何れか１つに記載のレイアウト設計装置。
【００７１】
（付記５）階層レイアウトの設計を行うレイアウト設計方法であって、
コンピュータが、
記憶部に記憶された、内部にマクロを含んだ多層回路の階層レイアウトの設計データに基づいて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出し、
算出されたチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出し、
前記マクロの全ての端子について引き出し経路を算出できたか否かを判定する
各処理を実行することを特徴とするレイアウト設計方法。
【００７２】
（付記６）コンピュータが、
前記マクロの全ての端子について引き出し経路を算出できたと判定された場合に、算出された前記マクロの全ての端子の引き出し経路に関する情報を前記記憶部に格納し、
前記記憶部に記憶された情報に基づいて、前記マクロの各端子の引き出し配線の設計を行う
各処理をさらに実行することを特徴とする付記５記載のレイアウト設計方法。
【００７３】
（付記７）コンピュータが、
前記マクロの各端子毎に、他の端子からの引き出し配線の影響により前記所定の配線層まで配線を引き出すために使用可能なチャネル数が減少する減少割合を算出する処理をさらに実行し、
前記経路を算出する処理は、減少割合が所定の閾値よりも大きい端子と、当該減少割合が所定の閾値よりも大きい端子のチャネル数の減少に影響を与える端子とからの経路を続けて算出する
ことを特徴とする付記５または付記６記載のレイアウト設計方法。
【００７４】
（付記８）前記経路を算出する処理は、経路を算出できない端子が存在する場合、算出済みの経路以外の新たな経路が算出されるまで、当該経路を算出できない端子から１つずつ前の端子の経路の算出に戻り、経路を再算出する
ことを特徴とする付記５〜７の何れか１つに記載のレイアウト設計方法。
【００７５】
（付記９）階層レイアウトの設計を行うレイアウト設計プログラムであって、
コンピュータに、
記憶部に記憶された、内部にマクロを含んだ多層回路の階層レイアウトの設計データに基づいて、マクロの各端子から所定の配線層まで配線を引き出すために使用可能なチャネル数を端子毎に算出し、
算出されたチャネル数の少ない端子から順に、端子から所定の配線層まで配線を引き出すための経路を算出し、
前記マクロの全ての端子について引き出し経路を算出できたか否かを判定する
各処理を実行させることを特徴とするレイアウト設計プログラム。
【００７６】
（付記１０）コンピュータに、
前記マクロの全ての端子について引き出し経路を算出できたと判定された場合に、算出された前記マクロの全ての端子の引き出し経路に関する情報を前記記憶部に格納し、
前記記憶部に記憶された情報に基づいて、前記マクロの各端子の引き出し配線の設計を行う
各処理をさらに実行させることを特徴とする付記９記載のレイアウト設計プログラム。
【００７７】
（付記１１）コンピュータに、
前記マクロの各端子毎に、他の端子からの引き出し配線の影響により前記所定の配線層まで配線を引き出すために使用可能なチャネル数が減少する減少割合を算出する処理をさらに実行させ、
前記経路を算出する処理は、減少割合が所定の閾値よりも大きい端子と、当該減少割合が所定の閾値よりも大きい端子のチャネル数の減少に影響を与える端子とからの経路を続けて算出する
ことを特徴とする付記９または付記１０記載のレイアウト設計プログラム。
【００７８】
（付記１２）前記経路を算出する処理は、経路を算出できない端子が存在する場合、算出済みの経路以外の新たな経路が算出されるまで、当該経路を算出できない端子から１つずつ前の端子の経路の算出に戻り、経路を再算出する
ことを特徴とする付記９〜１１の何れか１つに記載のレイアウト設計プログラム。
【符号の説明】
【００７９】
１０    レイアウト設計装置
１１    記憶部
１１ａ  設計データ
１１ｂ  設計条件データ
１１ｃ  配置パターン情報
１１ｄ  引き出し経路情報
１２    配置パターン特定部
１３    チャネル数算出部
１４    減少割合算出部
１５    経路算出部
１６    経路判定部
１７    格納部
１８    配線設計部
【図１】
2013037451.tif 000003
【図２】
2013037451.tif 000004
【図３】
2013037451.tif 000005
【図４】
2013037451.tif 000006
【図５】
2013037451.tif 000007
【図６】
2013037451.tif 000008
【図７】
2013037451.tif 000009
【図８】
2013037451.tif 000010
【図９】
2013037451.tif 000011
【図１０】
2013037451.tif 000012