(57)【要約】【課題】無駄領域を削減するとともに配線混雑の発生も抑制できる回路設計方法を提供する。【解決手段】データフローを参照し、同じタイミングで動作するレジスタ群を終点として、それらの終点レジスタから同じタイミングで動作する前段方向の始点レジスタ群までを一つの集まりとしてクラスタ化する。クラスタ化したクラスタをさらに複数のクラスタに分割する場合（ST207）、分割後のクラスタ同士が共有する始点レジスタを複製して（ST235）、分割されたクラスタ同士で始点レジスタを共有しないようにする。【選択図】図11
2012150631.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計方法であって、
データフローを参照し、
同じタイミングで動作するレジスタ群を終点として、それらの終点レジスタから同じタイミングで動作する前段方向の始点レジスタ群までを一つの集まりとしてクラスタ化し、
前記クラスタ化したクラスタをさらに複数のクラスタに分割する場合には、分割後のクラスタ同士が共有する始点レジスタを複製して、分割されたクラスタ同士で始点レジスタを共有しないようにする
ことを特徴とする半導体集積回路の設計方法。
【請求項２】
請求項1に記載の半導体集積回路の設計方法において、
クラスタごとに前記終点レジスタ群と始点レジスタ群との間の演算子群を論理回路ブロックとしてのロジックコーンとして捉え、各ロジックコーンの回路規模を見積もり、
各ロジックコーンの回路規模が所定のロジックコーン制約内になるように前記クラスタの分割または統合を行う
ことを特徴とする半導体集積回路の設計方法。
【請求項３】
請求項1または請求項2に記載の半導体集積回路の設計方法において、
前記データフローは、動作レベル記述言語を用いて記述されたものであり、
前記分割または統合されたクラスタの情報に基づいてレジスタ転送レベル記述を生成し、
前記レジスタ転送レベル記述の階層情報を反映させて論理合成を実行する
ことを特徴とする半導体集積回路の設計方法。
【請求項４】
請求項3に記載の半導体集積回路の設計方法において、
論理合成の結果として得られた回路情報を回路データとして蓄積し、
前記ロジックコーンの回路規模の見積もりにおいて、見積もり対象のロジックコーンに対応する回路情報が前記回路データとして既に存在する場合には、それを回路規模の見積もりに使用する
ことを特徴とする半導体集積回路の設計方法。
【請求項５】
半導体集積回路の設計装置であって、
データフローを参照し、同じタイミングで動作するレジスタ群を終点として、それらの終点レジスタから同じタイミングで動作する前段方向の始点レジスタ群までを一つの集まりとしてクラスタ化するクラスタ化部と、
前記クラスタ化したクラスタをさらに複数のクラスタに分割するクラスタ分割部と、を備え、
前記クラスタ分割部は、分割されたクラスタ同士で始点レジスタを共有しないように始点レジスタを複製する
ことを特徴とする半導体集積回路の設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の分野に関し、特に半導体集積回路の設計方法および設計装置に関する。
【背景技術】
【０００２】
従来、半導体集積回路を設計するにあたって、複雑なシステム動作を記述するためにＲＴＬ（レジスタ転送レベル、Register transfer level）のようなハードウエア記述言語が用いられていた。ところが、近年、半導体集積回路のシステム規模がまずます大きくなってきている。そのため、ハードウエア記述言語に代えて、より抽象度の高い動作レベル記述言語を用いることが求められ、動作レベル記述言語による動作合成によって回路設計を行う方法が知られている。
この場合、動作レベル記述言語で設計された回路情報は、自動タイムスケジューリングをしながらＲＴＬ記述言語による回路情報に変換される。そして、ＲＴＬ記述言語に変換するにあたっては、コストを低減させるように回路規模の縮小を優先させつつ、ＲＴＬ記述言語による回路情報を生成する機能があった。これにより、動作レベル記述言語によるより直観的な論理設計が可能になるとともに、半導体チップのコスト低減を図ることができた。
【０００３】
しかしながら、従来は、ＲＴＬ記述言語による回路情報を機械的に生成するに過ぎなかった。したがって、回路が高度に複雑になってくると、生成されたゲートレベルのネットリストで実際にレイアウトを行っても、適切なフロアプランが困難となることがあった。
例えば、レイアウト設計時に無駄な領域が発生したり、配線混雑が発生したりして、チップ面積が増加する場合があった。そこで、回路が複雑さを増してきても、論理合成で生成されたゲートレベルのネットリストで適切なフロアプランが行えることはもちろん、レイアウト設計時に無駄な領域が発生したり、配線混雑が発生することがない設計手法が求められるようになってきている。
【０００４】
特許文献１（特開2001-14377号公報）には、論理合成システムが開示されている。特許文献１では、ＲＴＬフロアプラン情報を用いて機能単位でブロック領域の位置決定を行う。そして、論理合成結果後の回路をコーン単位にグループ化する。続いて、グループサイズの平均値を求め、初期グループサイズが許容範囲内か否かのチェックを行う。グループサイズの均一化を図りながら、グループサイズを許容範囲内に収めるようにグループを分割または統合する。
これにより、コーン単位に求められた遅延情報をそのまま使用することができ、また、サイズを均一化するので無駄な領域を少なくすることができる。そして、実製品に近い見積もりによって、フロアプランをやり直す頻度を少なくすることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2001-14377号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、レイアウト設計時に発生する無駄な領域を無くすように論理合成ブロックを適切に分割統合している。
しかし、特許文献１の方法では、配線混雑が発生してしまい、レイアウト時に配線を確保するための領域が必要になってしまい、結果として、チップ面積の縮小が疎外されてしまうという問題が生じる。
【０００７】
すなわち、ロジックコーンは、その始点および終点にレジスタを有する。そして、ロジックコーンを分割する場合、始点のレジスタは、分割された他のロジックコーンと共有されることになる。
ロジックコーンを分割してレイアウト設計時に発生する無駄な領域を無くしたとしても、分割されたロジックコーン同士が始点レジスタを共有してしまうと、実際のレイアウト設計時には、このレジスタと二つ以上のロジックコーンとを新たに接続する必要が発生する。
また、始点レジスタを共有するということは、分割したロジックコーンをその始点レジスタを起点にして集めなければならなくなるので、許容範囲のグループサイズに収まるようにグループの分割を行ったとしても、結局、レイアウト設計時の配置処理で集められて配置されてしまう。
さらに、タイミング収束のための修正用バッファが挿入されるので、サイズを均一化したことによるスペース効率は相当減殺されてしまう。
【課題を解決するための手段】
【０００８】
本発明の半導体集積回路の設計方法は、
データフローを参照し、
同じタイミングで動作するレジスタ群を終点として、それらの終点レジスタから同じタイミングで動作する前段方向の始点レジスタ群までを一つの集まりとしてクラスタ化し、
前記クラスタ化したクラスタをさらに複数のクラスタに分割する場合には、分割後のクラスタ同士が共有する始点レジスタを複製して、分割されたクラスタ同士で始点レジスタを共有しないようにする
ことを特徴とする。
【０００９】
本発明の半導体集積回路の設計装置は、
データフローを参照し、同じタイミングで動作するレジスタ群を終点として、それらの終点レジスタから同じタイミングで動作する前段方向の始点レジスタ群までを一つの集まりとしてクラスタ化するクラスタ化部と、
前記クラスタ化したクラスタをさらに複数のクラスタに分割するクラスタ分割部と、を備え、
前記クラスタ分割部は、分割されたクラスタ同士で始点レジスタを共有しないように始点レジスタを複製する
ことを特徴とする。
【発明の効果】
【００１０】
本発明では、クラスタを分割する際に共有される始点レジスタを複製し、クラスタ間で始点レジスタの共有が発生しないようにしている。
このように始点レジスタを含めてクラスタを完全に分離するので、レイアウト時に回路配置の自由度が増し、かつ、配線混雑の発生も抑えられる。
【図面の簡単な説明】
【００１１】
【図１】第1実施形態に係る回路設計装置を実現する機能ブロック図。
【図２】第1実施形態に係る回路設計方法の処理手順を示すフローチャート。
【図３】クラスタサイズ調整工程の手順を示すフローチャート。
【図４】データフローおよびクラスタの一例を示す図。
【図５】回路規模見積もり工程の詳細フローチャート。
【図６】クラスタごとに始点レジスタ情報と終点レジスタ情報を抽出したテーブル。
【図７】始点レジスタ名リストの一例を示す図。
【図８】終点レジスタ名リストの一例を示す図。
【図９】ロジックコーンの一例を示す図。
【図１０】レジスタ間回路情報の見積もりの一例を示す図。
【図１１】クラスタ分割工程の詳細フローチャート。
【図１２】クラスタの一例を示す図。
【図１３】クラスタの一例を示す図。
【図１４】クラスタの一例を示す図。
【図１５】クラスタの一例を示す図。
【図１６】クラスタの一例を示す図。
【図１７】クラスタの一例を示す図。
【図１８】クラスタの一例を示す図。
【図１９】クラスタの一例を示す図。
【図２０】クラスタの一例を示す図。
【図２１】ＲＴＬ記述の一例を示す図。
【図２２】下流設計工程の詳細フローチャート。
【図２３】従来技術において配線混雑が発生する例を示す図。
【図２４】第1実施形態の効果を説明するための図。
【図２５】変形例1における回路規模見積もり工程のフローチャート。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態について説明する。
（第1実施形態）
図1は、第1実施形態に係る回路設計装置を実現するハードウエア構成図である。
回路設計装置100は、演算部200と、記憶部300と、入力部400と、表示部500と、を備える。
演算部200は、記憶部に格納された回路設計プログラムを読み込むことにより、上流設計部210、動作合成部220、下流設計部230、としての機能を実現するが、詳しくは後述する。
また、記憶部300には、回路設計プログラム（不図示）の他、演算子ライブラリ301やロジックコーン制約302を格納しており、また、演算部200で作成される各種のデータを記憶するものである。
ロジックコーン制約302の内容についても演算部200の動作と合わせて後述する。
【００１３】
図2は、第1実施形態に係る回路設計方法の処理手順を示すフローチャートである。
第1実施形態に係る回路設計方法は、主な工程として、上流設計工程ST100と、動作合成工程ST200と、下流設計工程ST300と、を備える。
以下、各工程について詳しく説明する。
【００１４】
上流設計工程ST100では、まず、動作記述を読み込む（ST101）。
この動作記述は、回路設計者によって作成されるもので、設計対象の回路で処理したいアルゴリズムを動作レベル記述言語で表したものである。そして、動作記述に基づいてデータフロー情報を作成する（ST102）。このような処理は、データフロー変換部211により実行される。
【００１５】
次に、動作合成部220による動作合成工程ST200を実行する。
動作合成工程ST200は、クラスタサイズ調整部230によるクラスタサイズ調整工程ST2001と、RTL記述変換部240によるRTL記述変換工程ST2002、と、を備える。
クラスタサイズ調整工程ST2001について図3を参照して詳細に説明する。
図3は、クラスタサイズ調整工程（ST2001）の手順を示すフローチャートである。
クラスタサイズ調整工程ST2001では、まず、前記データフロー情報に基づいてクラスタ化を実行する（ST201）。
ここで、データフローをクラスタ化するにあたって、同じタイムスケジュールとなるレジスタ群を終点とし、それらの終点レジスタから同じタイムスケジュールとなる前段方向の始点レジスタまでを一つの集まりとしてクラスタ化する。
【００１６】
例えば、図4に示すデータフローにおいて、レジスタＥと、レジスタＦと、レジスタＧと、は同じタイムスケジュールT2で動作するレジスタである。そこで、これらレジスタＥ、レジスタＦおよびレジスタＧを終点レジスタ群とし、この終点レジスタ群から前段方向で同じタイムスケジュールで動作するレジスタを抽出する。
このとき、レジスタAと、レジスタBと、レジスタCと、レジスタDと、が同じタイムスケジュールT1で動作するとする。そこで、これらレジスタA、レジスタB、レジスタCおよびレジスタDを始点レジスタ群としてまとめる。そして、終点レジスタ群（レジスタＥ、レジスタＦ）と、始点レジスタ群（レジスタA、レジスタB、レジスタC、レジスタD）と、終点レジスタと始点レジスタとの間の演算子群OP0と、を一つの集まりとしてクラスタCL0とする。
データフロー情報内の総ての情報について上記手法をあてはめてクラスタ化していく。
結果はクラスタ情報として出力する（ST202）。
【００１７】
クラスタ化処理は、クラスタ化部231によって実行される。
【００１８】
なお、「同じタイムスケジュールとなるレジスタ群」を抽出するにあたっては、総て同じクロックで動作するレジスタに限るものではなく、異なるクロックで動作するレジスタであっても同じタイミングで動作するものであれば、同じタイムスケジュールで動作するものとしてまとめることができる。
【００１９】
次に、回路規模見積もり部232による回路規模の見積もりを行う（ST203）。
図5は、回路規模見積もり工程（ST203）の詳細フローチャートである。
まず、前記クラスタ情報をもとに、クラスタごとの始点レジスタ名および終点レジスタ名を取得する（ST221）。
図6は、クラスタごとに始点レジスタ情報と終点レジスタ情報を抽出したテーブルである。
【００２０】
図6において、縦方向に個々のクラスタ情報（クラスタID）を取る。
また、横方向にレジスタ情報として、クラスタごとに、始点レジスタ情報と、終点レジスタ情報と、始点レジスタから終点レジスタのレジスタ間回路情報と、を表す。
始点レジスタ情報は、始点レジスタの数（始点レジスタ数）と、レジスタ名と、を含む。終点レジスタ情報は、終点レジスタの数（終点レジスタ数）と、レジスタ名と、を含む。
なお、レジスタ間回路情報は、これから見積もられるので現段階では空白にしてある。
【００２１】
また、図7は、始点レジスタ名リストであり、図8は、終点レジスタ名リストである。
始点レジスタ名リスト（図7）および終点レジスタ名リスト（図8）は、レジスタのインスタンス名を示す。
【００２２】
次に、演算子ライブラリ301を参照して（ST222）、各クラスタの回路規模を見積もる（ST223）。演算子ライブラリ301には、演算子ごと、式ごとに予測される回路規模の情報が格納されている。したがって、始点レジスタ群と終点レジスタ群との間にある演算子および式をクラスタごとに抽出し、演算子ライブラリ301を用いて演算子および式を回路（具体的な論理回路）に変換することで、回路規模を見積もることができる（ST223）。
例えば、クラスタCLを具体的な論理回路に変換すると、図9に示すような回路ブロックになるとする。
以後、この回路ブロックをロジックコーンLと称する。
ロジックコーンLは、論理回路ブロックであって、多入力多出力でもよく、多入力一出力であってもよい。
回路規模の情報として、例えば、回路規模、ネット数、ピンペア数を見積もり、図10に示すようにレジスタ間回路情報として出力する（ST224）。
これにより、回路規模の見積もりが終了する。
【００２３】
図3に戻って、クラスタサイズ調整工程ST2001を継続する。
回路規模の見積もり（ST203）が終了したところで、次に、ロジックコーン制約情報302を読み込む。
【００２４】
ロジックコーン制約情報302は、これまでの開発経験から得られるものである。
レイアウト設計の経験則も基づき、個々の論理階層化において、各ロジックコーンの始点レジスタの総数、終点レジスタの総数、始点レジスタから終点レジスタまでの総接続パス数、終点レジスタから始点レジスタまでの総接続パス数等を制約条件として規定する。
例えば、始点レジスタまたは終点レジスタの総数を10万ゲート以下としたり、始点レジスタから終点レジスタまでの総接続パス数、または、終点レジスタから始点レジスタまでの総接続パス数を200パス以下とするようにロジックコーン制約302を設定しておくことが例として挙げられる。
【００２５】
ロジックコーン制約302に照らして、回路規模判定部233により、回路規模を判定する（ST205）。すなわち、各クラスタの回路規模情報をロジックコーン制約302に照らして回路規模がロジックコーン制約を満たすか否かを判定する（ST205）。そして、ロジックコーン制約の上限を超えるクラスタがあれば（ST206：YES）、そのクラスタを分割する（ST207）。
【００２６】
次に、クラスタ分割部234によるクラスタ分割工程（ST207）について説明する。
図11は、クラスタ分割工程（ST207）の詳細フローチャートである。
クラスタの分割にあたって、まず、クラスタの一つの終点レジスタを起点に設定する（ST231）。
この終点レジスタを起点にしてデータフローを前段方向に辿り、前段方向の始点レジスタまでを一つの集まりとしてサブクラスタ化する（ST232）。
これを総ての終点レジスタについて行う（ST233）。
【００２７】
例えば、図4に示すクラスタCL0において、終点レジスタEを起点に設定し、前段方向の始点レジスタA、B、Cまでをサブクラスタとする。すると、図12に示すように、始点レジスタA、B、Cと、終点レジスタEと、演算子群OP1からなるクラスタCL1が新たにできる。
同様に、図13に示すように、終点レジスタFを起点に設定し、前段方向の始点レジスタA、B、C、DまでをクラスタCL2としてサブクラスタ化する。
同様に、図14に示すように、終点レジスタGを起点に設定し、前段方向の始点レジスタA、B、C、DまでをクラスタCL3としてサブクラスタ化する。
【００２８】
次に、始点レジスタがクラスタ間で共有されているか否かを判定する（ST234）。
上記の例では、クラスタCL1と、クラスタCL2と、クラスタCL3と、により、始点レジスタA、B、Cが共有されていることになる。
また、クラスタCL2とクラスタCL3とにより、始点レジスタDが共有されていることになる。
【００２９】
そこで、始点レジスタが複数のクラスタで共有されないようにレジスタの複製を行う（ST235）。
レジスタA、B、Cについては、クラスタCL1用にレジスタA1、B1、C1、クラスタCL2用にレジスタA2、B2、C2、クラスタCL3用にA3、B3、C3を設けるようにする。
また、レジスタDについては、クラスタCL2用にレジスタD2、クラスタCL3用にクラスタD3を設けるようにする。
このようにしてクラスタCL1、CL2、CL3は完全に分離されたクラスタとなる（図15、16、17）。
これによりクラスタ分割工程が終了する。
【００３０】
クラスタ分割した情報を更新し（ST208）、再び回路規模の見積もり（ST203）に戻ってロジック制約の上限を超えるものがなくなるまでループを繰り返す。
【００３１】
一方、ステップST206において、ロジックコーン制約の上限を超えるクラスタが無い場合（ST206：NO）、ロジックコーン制約の下限を下回るものがあるか判定する（ST209）。
ロジックコーン制約の下限を下回るものが複数ある場合（ST209：YES）、それらが統合可能であるかどうか判定する（ST210）。
【００３２】
例えば、図18に示すように、クラスタCL4のデータフローが、始点レジスタH4、I4、J4、終点レジスタM、演算子群OP4で構成されているとする。
また、図19に示すように、クラスタCL5のデータフローが始点レジスタH5、I5、J5、K5、終点レジスタN、演算子群OP5で構成されているとする。そして、クラスタCL4のデータフローとクラスタCL5のデータフローとが一部重複しているとする。
この場合、クラスタCL4とクラスタCL5とは統合可能である。
【００３３】
統合可能なクラスタがある場合（ST210：YES）、クラスタ統合部235によりそれらを統合処理する（ST211）。
クラスタCL4とクラスタCL5とを統合すると、例えば、図20のようになり、始点レジスタH6、I6、J6、K6、終点レジスタM、N、演算子群OP6で構成されたクラスタCL6ができる。
このようにして、分離していたクラスタCL4とクラスタCL5とは、図20に示す一つのクラスタCL6に統合される。
【００３４】
クラスタ情報を更新（ST208）しながらループを繰り返し、各クラスタの回路規模がロジックコーン制約の範囲内に入るか、または、統合可能なクラスタがなくなると、最後に最終クラスタ情報を出力して（ST212）、クラスタサイズ調整工程（ST2001）が終了する。
【００３５】
続いて、前記作成されたクラスタ情報を入力として、RTL記述変換部240は、ＲＴＬ記述に反映させてマッピングを行う（ST2002）。
例えば、クラスタCL1（図15）、クラスタCL2（図16）、クラスタCL3（図17）のクラスタ情報をＲＴＬ記述で出力すると図21で示すＲＴＬ記述となる。
【００３６】
続いて下流設計部250により下流設計工程（ST300）を行う。
下流設計工程ST300は、RTL記述に従った一般的なレイアウト設計である。
図22に下流設計工程ST300の詳細フローチャートを示す。
下流設計工程（ST300）では、論理合成部251によりRTL記述に基づいて論理合成を行い（ST301）、回路情報を出力する（ST302）。そして、フロアプラン（ST303）、タイミング調整（ST304）、レイアウト設計（ST305）等を行う。
最終的に、マスクデータを出力して（ST400）、回路設計が終了する。
【００３７】
このような第1実施形態によれば、次の効果を奏する。
（１）データフローを基にして、その中のクラスタ情報を分割または統合することで、各ロジックコーンLをロジックコーン制約の範囲内に抑える。
このとき、クラスタ間で共有される始点レジスタを複製することで、実際にレイアウトされたときの配線混雑を抑えることができる。例えば、従来技術では始点レジスタが共有されていたので、一例として図23に示すように、レジスタ間の接続が複雑になり配線混雑が発生してしまっていた。
また、従来技術では始点レジスタが共有されていたので、ロジックコーンを分割したとしても、分割されたロジックコーンがレイアウト時に集められて配置されてしまっていた。
この点、第1実施形態では、クラスタを分割する際に共有される始点レジスタを複製し、クラスタ間で始点レジスタの共有が発生しないようにしている。
このように始点レジスタを含めてクラスタを完全に分離するので、一例として図24に示すように、配置が自由になり、かつ、配線混雑の発生が抑えられる。
【００３８】
（２）始点レジスタの出力端子は、共有される配線が多くなると配線引き出しのためのスペースを意図的に確保して、配線性を確保する必要がある。一般的に、配線の接続コストを示すスパン数は、小さくなると配線性が有利である。この点、本第１実施形態によれば、共有される始点レジスタを複製することにより、各始点レジスタの出力端子の配線のスパン数は最小の１にすることが出来るので、配線性が有利になる。
【００３９】
（３）始点レジスタを複製することで、配線引き出しのスペースを意図的に確保することなく、複製されたレジスタ自体の面積が配線引き出しのスペースになりうるので、レイアウトの配置処理時に意図的な処置を行わなくても、単純に始点レジスタを密に配置していけば配線混雑を起こすことなくレイアウトすることができる。
【００４０】
（４）始点レジスタを複製することで、その始点レジスタを起点に分割したロジックコーンが集められて配置されることがない。したがって、ロジックコーン単位で求められた遅延情報をそのまま使用することがでる。さらに、別途に遅延調整回路等を挿入する必要が無くなるので、無駄な領域を削減する効果を最大限に活かすことが出来る。
【００４１】
（変形例1）
上記第1実施形態では、回路規模見積もり（ST203）において、演算子ライブラリを参照して各クラスタの回路規模を見積もる場合を例示した。
ここで、実際の回路設計にあたっては改良を加えながら何度かやり直したりすることがある。
そこで、論理合成（ST401）の結果として得られた回路情報を回路データとして蓄積しておくことが好ましい。そして、回路規模見積もり（ST203）にあたっては、図25のフローチャートに示すように、演算子ライブラリを参照（ST222）する前に前記回路データを検索する（ST2211）。
そして、対応するクラスタの回路データが既に存在しているか否かを判断する（ST2212）。
対応するクラスタの回路データが既にあれば、それを読み出して使用する（ST2213）。
これにより、回路規模の見積もりの正確度が格段に向上する。
【００４２】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００４３】
100…回路設計装置、200…演算部、210…上流設計部、211…データフロー変換部、220…動作合成部、230…下流設計部、230…クラスタサイズ調整部、231…クラスタ化部、232…回路規模見積もり部、233…回路規模判定部、234…クラスタ分割部、235…クラスタ統合部、240…RTL記述変換部、250…下流設計部、251…論理合成部、300…記憶部、301…演算子ライブラリ、302…ロジックコーン制約、400…入力部、500…表示部。
【図１】
2012150631.tif 000003
【図２】
2012150631.tif 000004
【図３】
2012150631.tif 000005
【図４】
2012150631.tif 000006
【図５】
2012150631.tif 000007
【図６】
2012150631.tif 000008
【図７】
2012150631.tif 000009
【図８】
2012150631.tif 000010
【図９】
2012150631.tif 000011
【図１０】
2012150631.tif 000012
【図１１】
2012150631.tif 000013
【図１２】
2012150631.tif 000014
【図１３】
2012150631.tif 000015
【図１４】
2012150631.tif 000016
【図１５】
2012150631.tif 000017
【図１６】
2012150631.tif 000018
【図１７】
2012150631.tif 000019
【図１８】
2012150631.tif 000020
【図１９】
2012150631.tif 000021
【図２０】
2012150631.tif 000022
【図２１】
2012150631.tif 000023
【図２２】
2012150631.tif 000024
【図２３】
2012150631.tif 000025
【図２４】
2012150631.tif 000026
【図２５】
2012150631.tif 000027