(57)【要約】【課題】ネットリストから消費電力ピークの見積を少ない工数で行う。【解決手段】本発明の消費電力のピークを見積もるプログラムツールでは，第１の期間にわたり論理シミュレーションを実行して第１の期間内の所定の区間毎のゲーティッドクロックの動作データ，例えば動作波形データや動作回数データ，を抽出する一次処理を行う。そして，動作データから求められる単位時間あたりの動作率が，他の区間より高くなる１つ又は複数の区間からなる絞り込み区間を見つけ，その絞り込み区間を第２の期間とする。そして，その第２の期間にわたり論理シミュレーションを実行してクロックサイクル毎の信号波形データを抽出し，当該信号波形データからクロックサイクルに対応した消費電力データを求める二次処理を行う。【選択図】図１
2008065496.tif 000002
【特許請求の範囲】
【請求項１】
ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて，
第１の期間にわたり，前記ネットリストについて論理シミュレーションを実行して前記第１の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と，
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを，コンピュータに構築させる消費電力ピーク見積プログラム。
【請求項２】
請求項１において，
前記一次処理手段が当該一次処理を複数回繰り返し，２回目以降の一次処理では，前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
【請求項３】
請求項１において，
前記一次処理手段は，ＬＳＩのネットリストを論理シミュレーションして，ゲーティッドクロックの信号波形データを動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。
【請求項４】
請求項１において，
前記一次処理手段は，ＬＳＩのネットリストに前記ゲーティッドクロックのパルス数をカウントするカウンタを追加したカウンタ追加ネットリストを生成し，当該カウンタ追加ネットリストに対して前記論理シミュレーションを実行して，前記カウンタのカウント値を前記動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。
【請求項５】
請求項４において，
前記一次処理手段が，前記カウンタのカウント値を前記所定の区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
【請求項６】
請求項１において，
前記ゲーティッドクロックの動作率が，当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され，重み付け処理された動作率に基づいて絞り込み区間が決定されることを特徴とする消費電力ピーク見積プログラム。
【請求項７】
ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて，
前記ネットリストに，当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するカウンタ追加ネットリスト生成手段と，
第１の期間にわたり，前記カウンタ追加ネットリストについて論理シミュレーションを実行して，前記第１の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と，
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と，
前記絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して，前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを，コンピュータに構築させる消費電力ピーク見積プログラム。
【請求項８】
ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において，
第１の期間にわたり，前記ネットリストについて論理シミュレーションを実行して前記第１の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と，
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有することを特徴とする消費電力ピーク見積装置。
【請求項９】
ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において，
前記ネットリストに，当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するネットリスト生成手段と，
第１の期間にわたり，前記カウンタ追加ネットリストについて論理シミュレーションを実行して，前記第１の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と，
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と，
前記絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して，前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有する消費電力ピーク見積装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ＬＳＩの消費電力ピークの見積プログラム及びその装置に関し，特に，少ない工数で消費電力のピークを見積もることができる消費電力ピーク見積プログラム及びその装置に関する。
【背景技術】
【０００２】
半導体集積回路（ＬＳＩ）の設計は，ハードウエア記述言語（ＨＤＬ）で記述されたＲＴＬファイルを論理合成してネットリストを生成する工程と，そのネットリストに基づいてレイアウト設計を行ってレイアウトデータを生成する工程とを有する。そして，ネットリストの段階で，論理検証と共に消費電力を見積もることが行われる。
【０００３】
ＬＳＩの消費電力解析ツールとして，シノプシス社のプライムパワー（PrimePower商品名）が知られている。この消費電力解析ツールは，ネットリストに対して論理シミュレーションを行って得られた回路セルの信号波形データを入力データとし，信号波形データとセルライブラリ内のセルの消費電力データとから，所定の期間における消費電力を算出する。クロックサイクル毎に信号波形データから消費電力を計算することで，所定の期間内における消費電力のピーク値を見積もることができる。
【０００４】
ＬＳＩの消費電力を見積もる方法については，以下の特許文献１〜５に記載されている。特許文献１には，集積回路中の消費電力を算出すべき対象論理回路に，ゲートの信号変化数を計測する計測回路を付加してデバイスを構成し，一定の動作後に計測された信号変化数を積算することで，論理回路の消費電力を算出することが記載されている。
【０００５】
特許文献２には，消費電力計測対象回路の論理ゲート出力のトグルを検出しトグル回数を加算するトグル検出回路を構成して，シミュレーション終了時にこのトグル検出回路のトグル回数を抽出して，消費電力の計算をすることが記載されている。
【０００６】
特許文献３には，集積回路装置のテスト時におけるピークの消費電力を抑制するための構造，テスト方法，設計方法などが記載されている。
【０００７】
特許文献４には，ＬＳＩ全体のＲＴネットリスト及びテストパターンを用いて論理回路シミュレーションを実行してメモリアクセス回数を収集し，一方で，メモリ部のネットリストを用いてシミュレーションを実行してメモリ消費電流を収集し，メモリアクセス回数とメモリ消費電流とからメモリ平均消費電力を計算することが記載されている。
【０００８】
特許文献５には，デジタル回路について論理シミュレーションを実行して各要素のデジタル動作履歴情報を求め，そのデジタル動作履歴情報と，各要素毎の消費電流見積一般式とに基づき，見積もり対象回路の総消費電流を見積もることが記載されている。特許文献６には，ＣＭＯＳゲートアレイの消費電力計算方法として特許文献５と同様のことが記載されている。
【０００９】
一方，特許文献７には，ＬＳＩの消費電力を削減するために，フリップフロップを選択的にゲーティッドクロックバッファ付きのフリップフロップに変更する回路設計方法が記載されている。
【特許文献１】特開２００４−６２２３８号公報
【特許文献２】特開２００２−２８８２５７号公報
【特許文献３】特開２００１−５９８５６号公報
【特許文献４】特開２００３−２５６４９５号公報
【特許文献５】特開平２−１３６７５５号公報
【特許文献６】特開平２−１７１８６１号公報
【特許文献７】特開２００２−９２０６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
近年のＬＳＩは，低電源電圧化と微細化が進んだため，急激な電力消費による電圧降下が問題になっている。そこでＬＳＩの開発段階で，電力消費のピークが発生するLSIの処理内容と、その処理が発生する時間及びピーク値を見積もることが求められている。
【００１１】
従来の電力解析方法によれば，前述のとおり論理シミュレーションを実行してセルの信号波形データを求め，その信号波形データとセルライブラリの消費電力データとから各サイクルでの消費電力を求める。この求められたサイクル毎の消費電力から消費電力ピークを求めることができる。
【００１２】
ところが，ＬＳＩの消費電力がピーク値をとるような動作をあらかじめ予測することは困難である。したがって，ピーク値を含む期間のみを限定的に論理シミュレーションすることはできない。そのため，ＬＳＩがとりうる全ての動作について論理シミュレーションを行う必要があり，長時間の論理シミュレーションの実行が必要になる。このような論理シミュレーションは，実際にシステムが適用される状態と同等の動作を実現することを意味し，数千万サイクル〜数億サイクルになるのが一般的である。
【００１３】
上記の長時間の論理シミュレーションにおいて，ソフトウエアシミュレータによるシミュレーションで長時間サイクルの信号波形データを抽出しようとすると，数週間〜数ヶ月以上の時間を要することになり，現実的ではない。また，エミュレータなどのハードウエアによるシミュレーションであっても，膨大な信号波形データをホストコンピュータに転送しなければならず，同様に長い時間が必要となる。
【００１４】
そこで，本発明の目的は，少ない工数でＬＳＩの消費電力ピークを見積もることができるＬＳＩの消費電力ピーク見積プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために，本発明の第１の側面によれば，ＬＳＩの低消費電力化のために，イネーブル状態のみ有効になるゲーティッドクロックを利用することが行われている。イネーブル時のみ有効になるゲーティッドクロックを回路に供給することで，動作不要の回路にはクロックの供給を停止することができ，消費電力を抑えることができる。このようなゲーティッドクロックバッファによりゲーティッドクロックを生成するＬＳＩでは，消費電力とゲーティッドクロックの動作率との間に密接な関係がある。つまり，ゲーティッドクロックの動作率が高ければ消費電力が上昇し，低ければ低下する。
【００１６】
そこで，本発明の消費電力のピークを見積もるプログラムツールでは，第１の期間にわたり論理シミュレーションを実行して第１の期間内の所定の区間毎のゲーティッドクロックの動作データ，例えば動作波形データや動作回数データ，を抽出する一次処理を行う。そして，動作データから求められる単位時間あたりの動作率が，他の区間より高くなる１つ又は複数の区間からなる絞り込み区間を見つけ，その絞り込み区間を第２の期間とする。そして，その第２の期間にわたり論理シミュレーションを実行してクロックサイクル毎の信号波形データを抽出し，当該信号波形データからクロックサイクルに対応した消費電力データを求める二次処理を行う。
【００１７】
上記の本発明の第１の側面によれば，一次処理では，長時間にわたり論理シミュレーションを実行するが，抽出するデータはゲーティッドクロックの動作データのみであるので，従来の全ての信号波形データを取得する場合に比較して，短時間で論理シミュレーションを完了することができる。一方，二次処理では論理シミュレーションを実行して全ての信号波形データを取得するが，それは絞り込まれた短い期間だけであるので，従来の長時間にわたり信号波形データを取得する場合に比較して，短時間で論理シミュレーションを完了することができる。よって，全体でも短時間で消費電力のピークを見積もることができる。
【００１８】
上記の目的を達成するために，本発明の第２の側面によれば，ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて，
第１の期間にわたり，前記ネットリストについて論理シミュレーションを実行して前記第１の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と，
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを，コンピュータに構築させることを特徴とする。
【００１９】
上記の第２の側面によれば，少ない工数及び短時間でＬＳＩの消費電力がピークになる時間とピーク値を見積もることができる。
【００２０】
上記の第２の側面において，好ましい態様によれば，前記一次処理手段が当該一次処理を複数回繰り返し，２回目以降の一次処理では，前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の絞り込み区間にわたり，前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出する。この態様によれば，前記一次処理手段が一次処理を複数回繰り返しながらゲーティッドクロックの動作率が高い区間を絞り込むので，二次処理手段が実行すべき論理シミュレーションの区間を狭くすることができ，工数をより少なくすることができる。
【００２１】
上記の第２の側面において，好ましい態様によれば，前記一次処理手段は，ＬＳＩのネットリストを論理シミュレーションして，ゲーティッドクロックの信号波形データを動作データとして抽出する。この場合は，信号波形データから所定の区間毎の動作率が求められる。
【００２２】
上記の第２の側面において，好ましい態様によれば，前記ゲーティッドクロックの動作率が，当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され，重み付け処理された動作率に基づいて絞り込み区間が決定される。回路規模などに対応した重み付け係数によって重み付けすることで，より正確に消費電力の高い区間を絞り込むことができる。
【００２３】
上記の第２の側面において，好ましい態様によれば，前記一次処理手段は，ＬＳＩのネットリストに前記ゲーティッドクロックのパルス数をカウントするカウンタを追加してカウンタ追加ネットリストを生成し，当該カウンタ追加ネットリストに対して前記論理シミュレーションを実行して，前記カウンタのカウント値を前記動作データとして抽出する。この場合は，カウント値から所定の区間毎の動作率が求められる。
【００２４】
上記の好ましい態様では，前記一次処理手段が，前記カウンタのカウント値を前記所定の区間毎に抽出する。したがって，信号波形データのようにクロックサイクル毎にＨ，Ｌのデータを抽出する必要がないので，より短時間で論理シミュレーションを実行することができる。
【００２５】
上記の目的を達成するために，本発明の第３の側面によれば，ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において，
第１の期間にわたり，前記ネットリストについて論理シミュレーションを実行して前記第１の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と，
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有することを特徴とする。
【００２６】
上記の第３の側面によれば，少ない工数及び短時間でＬＳＩの消費電力がピークになる時間とピーク値を見積もることができる。
【発明の効果】
【００２７】
本発明によれば，少ない工数でＬＳＩの消費電力ピークを見積もることができる。  
【発明を実施するための最良の形態】
【００２８】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００２９】
図１は，本実施の形態における消費電力ピーク見積装置の構成図である。汎用コンピュータのＣＰＵ１０と，キーボードと表示モニタなどの入出力手段１２に加えて，プログラム群として，論理シミュレーションツール１００と，電力解析ツール２００と，消費電力ピーク見積ツール３００とが備えられている。消費電力ピークを見積もる場合は，消費電力ピーク見積ツール３００がＣＰＵ１０により実行され，必要に応じて論理シミュレーションツール１００と電力解析ツール２００とがＣＰＵ１０により実行される。
【００３０】
論理シミュレーションツール１００は，ネットリストに対して実行され，所定の入力パターンについてネットリストのＬＳＩが動作した時のクロックやデータの信号波形データ，例えばクロックサイクル毎のＨ，Ｌレベルのデータ，を抽出する。また，電力解析ツール２００は，ネットリストとセルライブラリの消費電力の属性データとを参照して，上記信号波形データからクロックサイクル毎の消費電力を算出する。
【００３１】
論理シミュレーションツール１００としては，例えばCadence社のNC-Verilog 
などが知られている。また，電力解析ツール２００としては，例えばSynopsys社のPrimePowerが知られている。
【００３２】
消費電力ピーク見積ツール３００は，ネットリストに対して論理シミュレーションを実行してゲーティッドクロックの動作データを所定の区分毎に抽出する一次処理を繰り返し，動作データから求められる動作率が高い区間を絞り込む。つまり，一次処理が完了するたびに動作率の高い区間を検出し，その区間について更に一次処理を行って動作率の高いより短い区間を検出する。そして，消費電力ピーク見積ツール３００は，絞り込まれた区分について，論理シミュレーションツール１００による論理シミュレーションを実行して信号波形データを抽出し，電力解析ツール２００による電力解析処理を実行して信号波形データからクロックサイクル毎の消費電力を算出する二次処理を行う。
【００３３】
したがって，この消費電力ピーク見積装置には，被検査ＬＳＩのネットリスト２０と，消費電力属性データを有するセルライブラリ２４とが，入力データとして与えられる。そして，消費電力ピークの見積に際して，信号波形データ３０と，動作率データ２８と，消費電力データ３２とが生成される。
【００３４】
さらに，本実施の形態の好ましい例では，被検査ＬＳＩのネットリストにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリスト２６が生成される。そして，このカウンタ追加ネットリスト２６に対して論理シミュレーションツール１００がシミュレーションを実行すると，カウンタにゲーティッドクロックの変化回数が生成される。このカウント値がゲーティッドクロックの動作データとして抽出される。したがって，所定の区間毎にカウント値を抽出することで，所定の区間毎のゲーティッドクロックの動作回数を抽出することができる。この動作回数は動作率と同等である。
【００３５】
ゲーティッドクロックについては，後で詳述するが，クロックをイネーブル信号に応じて後段の回路に供給するクロックゲートにより生成されるクロックであり，イネーブル信号が活性化状態の時にクロックが後段の回路群に供給され，イネーブル信号が非活性化状態の時にクロックが後段の回路群に供給されない。よって，このゲーティッドクロックの動作率を監視することで，その後段の回路群の消費電力をある程度見積もることができる。つまり，ゲーティッドクロックの動作率と消費電力とは相関関係を有する。
【００３６】
図２は，本実施の形態における消費電力ピーク見積プログラムの手順を示すフローチャート図である。ここでは，ゲーティッドクロックの変化回数をカウントするためのカウンタ追加ネットリストを利用する場合と利用しない場合の両方について，見積プログラムの概略的手順を説明し，後でエミュレーション用ネットリストを利用したエミュレータによる方法を具体例を示して説明する。なお，このフローチャートの処理では，消費電力ピーク見積ツール３００を主プログラムとして実行され，論理シミュレーションツール１００と電力解析ツール２００とをサブプログラムとして実行される。
【００３７】
処理Ｓ１０〜Ｓ２０が一次処理，処理Ｓ２２が二次処理に対応する。まず，消費電力ピークが必ず発生するような比較的長い期間を複数の区間に分け，１区間につき被検査ＬＳＩのネットリスト２０について論理シミュレーションツール１００によるシミュレーションを実行する（Ｓ１０）。この論理シミュレーション工程Ｓ１０では，ネットリスト内の注目すべきゲーティッドクロックの情報２２が与えられ，論理シミュレーションツールは，その注目すべきゲーティッドクロックの動作データを抽出する（Ｓ１２）。この動作データは，例えばゲーティッドクロックの信号波形データ（クロックサイクル毎のＨ，Ｌレベルのデータ列）である。このように，１区間にわたる論理シミュレーションを実行した結果，ゲーティッドクロックデータ２２で指定したゲーティッドクロックの信号波形データが抽出される。
【００３８】
そして，１区間内のゲーティッドクロックの動作データが，そのゲーティッドクロックの動作率に変換される（Ｓ１４）。動作データが信号波形データの場合は，その信号波形の単位時間あたりの変化の回数が動作率に対応する。上記の処理Ｓ１０〜Ｓ１４が複数の区間について繰り返される（Ｓ１６）。そして，最初の一次処理では，長いシミュレーション対象期間内の複数の区間についてそれぞれゲーティッドクロックの動作データが抽出される。
【００３９】
図３は，最初の一次処理が終了した時点でのシミュレーション時間とゲーティッドクロック動作率及び実際の消費電力の例を示す図である。実際の消費電力は折れ線グラフに示され，電力ピーク値ＰＰＫを有する。この消費電力の折れ線グラフはシミュレーションでは求めることはできない。また，棒グラフは区間毎のゲーティッドクロックの動作率を示す。図３の例では，シミュレーション時間が０サイクルから３０，０００サイクルまでの比較的長い期間であり，それが５，０００サイクルの区間に区分されている。そして，この１区間（５，０００サイクル）毎のゲーティッドクロックの動作率が，実際の消費電力の折れ線グラフに重ねて表示されている。
【００４０】
図３に示されるとおり，消費電力が高い区間では動作率も高く，消費電力が低い区間では動作率も低い。このように，消費電力とゲーティッドクロックの動作率とは所定の相関関係があるので，ゲーティッドクロックの動作率を監視することで，消費電力のピーク値ＰＰＫが存在する区間を絞り込むことができる。そして，図３の例では，全クロックサイクル０〜３０，０００サイクル中，ゲーティッドクロック動作率が他の区間より高い２つの区間Ｔ１（１０，０００〜２０，０００サイクル）が絞り込まれる（Ｓ１８）。この絞り込み処理では，図３の全区間のうち上位の複数区間，例えば２区間に絞り込んだり，または上位のある割合，例えば２０％の区間数に絞り込んだりされる。あるいは，絞り込み処理では，最高動作率のある割合，例えば７０％を基準動作率ＲＥＦに算出し，その基準動作率ＲＥＦより高い動作率の区間に絞り込まれる。
【００４１】
そして，この絞り込み区間Ｔ１について，更に細かい区分に分けて，再度一次処理Ｓ１０〜Ｓ１６が繰り返される（Ｓ２０のＹＥＳ）。
【００４２】
図４は，２回目の一次処理が終了した時点でのシミュレーション時間とゲーティッドクロック動作率及び実際の消費電力の例を示す図である。２回目の一次処理では，クロックサイクル１０，０００〜２０，０００の区間Ｔ１を，１回目の一次処理より短い１０区間に分割して動作率が抽出されている。そして，最高動作率に比率を乗じた基準動作率ＲＥＦより高い動作率の区間Ｔ２が絞り込まれる（１８）。図４の例では，絞り込まれた区間Ｔ２は，１１，０００〜１５，０００サイクルの区間である。
【００４３】
一次処理が所定の回数繰り返されるまで，または絞り込まれた区間Ｔ２が所定のサイクル数以下になるまで，上記の一次処理と絞り込み処理とが繰り返される（Ｓ２０）。いずれかの条件を満たすと複数回の一次処理は完了し，処理Ｓ２２の二次処理に移行する。１回の一次処理で狭い区分まで絞り込むことができる場合は，一次処理を繰り返す必要はない。
【００４４】
また，１区間毎の論理シミュレーションを実行するたびに，ゲーティッドクロックの信号波形データを動作データとして抽出し動作率に変換しているが，このゲーティッドクロックのクロックサイクル毎の信号波形データを全て保存することができる場合は，１区間毎の論理シミュレーション工程Ｓ１０を繰り返す必要はない。単に，絞り込まれた新たな狭い区間Ｔ１を複数の区間に分けて，保存している信号波形データから新たな区間毎に動作率を求めれば良い。つまり，新たな区間毎に処理Ｓ１２，Ｓ１４を実行すればよい。
【００４５】
上記の一次処理では，論理シミュレーションを実行して信号波形データを抽出するが，その対象はゲーティッドクロックに限定されている。したがって，全ての信号波形データを抽出するよりも論理シミュレーションを短時間で完了することができる。
【００４６】
一次処理で最終的に絞り込まれた区間について，二次処理が行われる。すなわち，最終絞り込み区間について論理シミュレーションツール１００により論理シミュレーションを実行して，消費電力計算に必要な信号波形データ３０を抽出する（Ｓ２２）。つまり，ゲーティッドクロックだけでなくデータ線などの信号波形データも抽出される。多くの信号波形データを抽出する論理シミュレーションであるが，シミュレーション期間が最終絞り込み区間と短いので，このシミュレーションも比較的短時間で完了することができる。ここでは，３回目の一次処理が行われ最終絞り込み区間が１２，０００〜１３，０００サイクルになったとする。
【００４７】
そして，電力解析ツール２００を実行して，信号波形データ３０からクロックサイクル毎の消費電力データ３２を算出する（Ｓ２４）。このとき，電力解析ツール２００は，信号波形データ３０を入力とし，セルライブラリ２４のセルの消費電力属性データを参照して，クロックサイクル毎の消費電力値を算出する。かかる電力解析ツールの機能は，従来のツールに備えられている機能である。セルの消費電力属性データは，例えばクロックの変化に伴う動作で消費される電力値である。
【００４８】
図５は，消費電力データ３２の例を示す図である。最終絞り込み区間（１２，０００〜１３，０００クロックサイクル）において，クロックサイクル毎の消費電力の推移が示される。この消費電力は，消費電力の算出に必要な全ての信号波形データから算出されているので，そのピーク値と時間をより正確に算出することができる。
【００４９】
上記の説明で，ゲーティッドクロックの動作データとして信号波形データを抽出することにしたが，後述するゲーティッドクロックの動作回数をカウントするカウンタを挿入したカウンタ追加ネットリストを生成し，それを論理シミュレーションして，カウンタ値を動作データとして抽出するようにしてもよい。カウンタ値を区間長で割れば動作率が求められる。このような方法であれば，論理シミュレーションでクロックサイクル毎に信号波形データを抽出する必要はない。
【００５０】
図６，図７は，信号波形データから動作率への変換処理の変形例を示す図である。信号波形データから単位時間あたりの動作率に変換すると，図６に示すとおり，実際の消費電力と動作率との間の差Ｄ１，Ｄ２が大きくなる場合がある。その理由は，図７に示されるとおり，ゲーティッドクロックバッファＧＣＬＫ１では，クロックＣＬＫがイネーブル信号ＥＮ１に基づいて後段の論理回路群４０にゲーティッドクロックgclk1を供給し，ゲーティッドクロックバッファＧＣＬＫ２では，クロックＣＬＫがイネーブル信号ＥＮ２に基づいて後段の論理回路群４２にゲーティッドクロックgclk2を供給する。クロックの供給は，供給される回路規模に応じて複数のクロックバッファ５０，５１，５２〜５５を介して行われる。
【００５１】
そして，一般的に，回路規模が小さい論理回路群４０での消費電力は，回路規模が大きい論理回路群４２での消費電力よりも小さい。あるいは，内部の回路構成によっては，論理回路４０によるクロックに同期した１回の動作に伴う消費電流が，論理回路４２のそれよりも小さい場合もある。例えば，ＳＲＡＭ等のメモリを多く含むような回路ブロックでは、メモリの消費電力が大きいため、回路規模そのものは小さくても、消費電力が大きくなる。このように論理回路４０と論理回路４２におけるクロックに対する１回の動作の消費電流が異なる場合は，それらに対するゲーティッドクロックバッファのゲーティッドクロックの動作率が同じであっても，２つの論理回路４０，４２消費電流は異なる。
【００５２】
そこで，この変形例では，ゲーティッドクロックが供給される後段の論理回路に対応して重み付け係数を設定する。消費電流が大きい回路の係数を大きくし，消費電流が小さい回路の係数を小さくする。図７の例では，論理回路４０の係数は１，論理回路４２の係数は３である。
【００５３】
そして，処理Ｓ１４で信号波形データから単位時間あたりの動作率に変換するときに，上記の重み付け係数を乗算して，重み付けされた動作率に変換する。このようにすることで，図６に示した動作率と実際の消費電力との誤差Ｄ１，Ｄ２をより小さくすることが期待できる。
【００５４】
［具体例］
図８は，本実施の形態の具体的な消費電力ピーク見積プログラムのフローチャート図である。図８では、論理シミュレータとして、ハードウェアシミュレータであるエミュレータを使用している。したがって，図２における論理シミュレーションが，図８ではエミュレータによるエミュレーションに置き換えられる。このように，エミュレーションとは，ハードウエアエミュレータにより行われる論理シミュレーションと等価の意味である。
図９以下の具体例を示しながら説明する。
【００５５】
図９は，被検証LSIに対応するtopと、topに対してリセットxrst及びクロックを供給するテストベンチ「testbench」を示している。テストベンチは、被検証LSI「top」の動作クロック100MHzでシミュレーションサイクル数をカウントするマスタカウンタ５０を持っている。m_topは、被検証LSIモジュールのインスタンスであることを示す。クロックｃｌｋをイネーブル信号EN1〜EN3に基づいてマスタゲーティッドクロックmas_gclk1〜3を生成する３つのマスタゲーティッドクロックバッファmas_GCLK1〜3と，それらのマスタゲーティッドクロックが供給される下位層のサブ回路SUB1,2,3と，それらサブ回路の出力dout1,2,3の論理積を出力するアンドゲートANDとを有する。
【００５６】
そして，サブ回路SUB1は，マスタゲーティッドクロックmas_gclk1を所定回数カウントしてイネーブル信号gclk_enを出力するカウンタ５４と，そのイネーブル信号に基づいてマスタゲーティッドクロックmas_gclk1からゲーティッドクロックgclkを生成するゲーティッドクロックバッファm_GCLK1と，そのゲーティッドクロックgclkが供給されるメモリコントローラ５６とメモリ５８とを有する。
【００５７】
同様にサブ回路SUB2は，マスタゲーティッドクロックmas_gclk2を所定回数カウントしてイネーブル信号gclk_en1を出力するカウンタ６０と，そのイネーブル信号に基づいてマスタゲーティッドクロックmas_gclk2からゲーティッドクロックgclk1を生成するゲーティッドクロックバッファm_GCLK1と，そのゲーティッドクロックgclk1が供給されるメモリコントローラ６２とメモリ６４と加算器６６とを有する。図示されていないが，サブ回路SUB3も同様のゲーティッドクロックバッファが含まれているものとする。
【００５８】
上記の通り，被検査ＬＳＩには，複数のゲーティッドクロックが存在し，それぞれが後段の論理回路に供給される。このような被検査ＬＳＩのネットリスト２０が消費電力ピーク見積の対象になる。
【００５９】
図８に戻り，前処理では，電力解析ツール２００のデータ抽出機能により，ネットリスト２０からゲーティッドクロックデータ２２とゲーティッドクロックが供給される下位モジュールの回路規模データ３４とが抽出される（Ｓ２）。このゲーティッドクロックデータファイル２２には，上位層m_topから、そのゲーテットクロックが存在する階層までの位置情報が含まれる。
【００６０】
図１０は，下位モジュールの回路規模データ３４とゲーティッドクロックの係数データ３６とを示す図である。ネットリスト２０を解析することで，ゲーティッドクロックが供給される下位モジュールの回路規模データ３４が抽出される（Ｓ２）。図１０の例では，回路規模データ３４は，上位層m_topにセル数８０，モジュールU1,U2,U3にセル数１２０，１２０，５３３が対応付けられている。なお，U1,U2,U3は，サブ回路モジュールSUB1,2,3のインスタンス名である。
【００６１】
次に，ゲーティッドクロックデータ２２と回路規模データ３４とから，ゲーティッドクロックの重み付け処理が行われる（Ｓ４）。この重み付け処理により，ゲーティッドクロックが供給される回路モジュールの係数データとパスファイル３６とが生成される。図１０にはモジュール毎の重み付け係数データ３６（１）が示されている。
【００６２】
また，図１１は，ゲーティッドクロックのパスデータ３６（２）の例を示す図である。図１１には，前述した６個のゲーティッドクロックが上位階層からのパス情報付で記述され，それぞれの動作回数が０に設定されている（図中ＰＡＳＳ参照）。例えば１行目では，サブ回路インスタンスU1内のゲーティッドクロックのインスタンスm_GCLK1の出力がGOUTである。
【００６３】
次に，エミュレーション用ネットリスト生成処理を行う（Ｓ６）。その際，被検証ＬＳＩのネットリスト２０内のゲーティッドクロックバッファを，カウンタ付きゲーティッドクロックバッファ３８に置き換えることを同時に行う。
【００６４】
図１２は，エミュレーション用ネットリストに含まれるカウンタ付きゲーティッドクロックバッファを示す図である。図１２には，カウンタ付きゲーティッドクロックバッファのＨＤＬ記述３８と，その回路図（ネットリスト）とが示されている。このカウンタ付きゲーティッドクロックバッファ３８は，イネーブル信号ＥＮをクロックＣＫでラッチするラッチ７０と，その出力ＭとクロックＣＫとの論理積をゲーティッドクロック出力ＧＯＵＴとして出力するアンドゲート７２と，そのゲーティッドクロック出力ＧＯＵＴの変化をカウントするカウンタ７４とを有する。ＨＤＬ記述３８内には，これらの回路の記述７０，７２，７４が含まれている。そして，ゲーティッドクロックバッファに追加されたカウンタ７４（モジュール名gated_count）のＨＤＬ記述例も図１２に示されている。カウンタ７４は，ゲーティッドクロックＧＯＵＴの変化をカウントし，カウント値端子count_valとオーバーフロー端子overflowとにカウント結果を出力する。
【００６５】
このように，元のネットリスト２０内の，ラッチ７０とアンドゲート７２からなるゲーティッドクロックバッファを，その出力のゲーティッドクロックの変化数をカウントするカウンタ７４が追加されたカウンタ付きゲーティッドクロックバッファ３８に置き換えることで，エミュレーション用ネットリスト２０Ｅが生成される。つまり，エミュレーション用ネットリスト２０Ｅは，元のネットリスト２０にカウンタ７４が追加されたネットリストである。
【００６６】
さらに，前処理にて，図１１のゲーティッドクロックパス３６（２）から，カウンタ値を読み出すためのリードコマンドファイルが生成される。図１３は，このリードコマンドファイルの一例を示す図である。このリードコマンドファイル３７は，図９に示したマスタカウンタ５０の出力クロックｃｌｋのカウント値と，前述した６つのゲーティッドクロックのカウント値とを，それぞれ取得する命令「signal get」と，その取得対象のゲーティッドクロックのパスデータとが記述されている。
【００６７】
図８に戻り，上記の前処理が終了すると，エミュレーション用ネットリストに対して図２と同様の処理が行われる。まず，一次処理として，エミュレータによるによる論理シミュレーション（エミュレーション）を１区間実行する（Ｓ１０）。この例では，エミュレーション用ネットリスト２０Ｅについてエミュレーションが実行され，それにより生成されるゲーティッドクロックの変化回数が、追加したゲーティッドクロックカウンタ７４によりカウントされる。
【００６８】
１区間の論理シミュレーションが終了した時点で，ゲーティッドクロックカウンタ７４のカウンタ値が読み出される（Ｓ１２Ａ）。具体的には，エミュレータ制御ツールが図１３のリードコマンドファイル３７を実行して，エミュレータ内の当該カウンタ値を読み出す。つまり，この例では，ゲーティッドクロックの動作データとしてクロックの変化回数であるカウンタ値が抽出される。
【００６９】
そして，消費電力ピーク見積ツール３００は，カウンタ値とゲーティッドクロックの係数データ（図１０の３６（１））とから動作率データ２８を生成する（Ｓ１４Ａ）。上記の処理Ｓ１０〜Ｓ１４Ａが，シミュレーション期間内の複数の区間について繰り返される（Ｓ１６）。
【００７０】
図１４は，カウンタ値２７と動作率２８の具体例を示す図である。カウンタ値２７には，３つの区間ＤＴ１，ＤＴ２，ＤＴ３において読み出されたカウンタ値が示されている。各区間は同じサイクル数であるので，マスタカウンタmaster_counterの値は「１１００１０」と全て同じである。このカウンタ値を区間内のマスタカウンタ値で除算すると動作率が求められる。ここでは，係数データにより重み付けされた動作率２８が生成される。
【００７１】
この動作率データの区間毎の平均値又は合計値をプロットすると，図３と同様の動作率データが得られる。そこで，絞り込み処理Ｓ１８にて，動作率の高い区間が選択され，新たなエミュレーション区間情報３４が生成される。そして，区間が十分絞り込まれるまで（Ｓ２０），上記の一次処理が繰り返される。
【００７２】
最終絞り込み区間が確定すると，次に二次処理Ｓ２２が行われる。消費電力ピーク見積ツール３００は，エミュレーション用ネットリスト２０Ｅまたは元のネットリスト２０Ｅについて，エミュレータにより論理シミュレーションを実行して，消費電力計算に必要な全ての信号波形データ３０を抽出する。このシミュレーション期間は，最終絞り込み区間であるので，消費電力ピークが発生する比較的短い期間であるので，全ての信号波形データ３０を抽出しても短時間で完了することができる。
【００７３】
最後に，抽出した信号波形データ３０を電力解析ツール２００に入力して，クロックサイクル毎の消費電力データ３２を生成する（Ｓ２４）。この消費電力データの算出は図２と同じである。その結果，図５と同様の消費電力データを生成することができる。
【００７４】
以上の通り，図８の消費電力ピーク見積ツールでは，被検証ＬＳＩのネットリスト２０内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したエミュレーション用ネットリスト２０Ｅを準備しておき，それをエミュレータによりエミュレーションすることで，ゲーティッドクロックの動作回数をカウンタで抽出する。そして，ゲーティッドクロックに割り当てられた係数で重み付けした動作率を求めて，消費電力ピークが発生する区間の絞り込みを行う。したがって，一次処理の論理シミュレーションでゲーティッドクロックの信号波形データを抽出する必要がないので，より高速に処理することができる。
【００７５】
以上の実施の形態をまとめると，次の付記のとおりである。
【００７６】
（付記１）ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて，
第１の期間にわたり，前記ネットリストについて論理シミュレーションを実行して前記第１の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と，
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを，コンピュータに構築させる消費電力ピーク見積プログラム。
【００７７】
（付記２）付記１において，
前記一次処理手段が当該一次処理を複数回繰り返し，２回目以降の一次処理では，前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
【００７８】
（付記３）付記１において，
前記一次処理手段は，ＬＳＩのネットリストを論理シミュレーションして，ゲーティッドクロックの信号波形データを動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。
【００７９】
（付記４）付記１において，
前記一次処理手段は，ＬＳＩのネットリストに前記ゲーティッドクロックのパルス数をカウントするカウンタを追加してカウンタ追加ネットリストを生成し，当該カウンタ追加ネットリストに対して前記論理シミュレーションを実行して，前記カウンタのカウント値を前記動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。
【００８０】
（付記５）付記４において，
前記一次処理手段が，前記カウンタのカウント値を前記所定の区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
【００８１】
（付記６）付記１において，
前記ゲーティッドクロックの動作率が，当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され，重み付け処理された動作率に基づいて絞り込み区間が決定されることを特徴とする消費電力ピーク見積プログラム。
【００８２】
（付記７）ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて，
前記ネットリストに，当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するカウンタ追加ネットリスト生成手段と，
第１の期間にわたり，前記カウンタ追加ネットリストについて論理シミュレーションを実行して，前記第１の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と，
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と，
前記絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して，前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを，コンピュータに構築させる消費電力ピーク見積プログラム。
【００８３】
（付記８）付記７において，
前記一次処理手段が当該一次処理を複数回繰り返し，２回目以降の一次処理では，前回の一次処理で抽出したカウンタ値から求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記エミュレーションネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
【００８４】
（付記９）付記７において，
前記ゲーティッドクロックの動作率が，当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され，重み付け処理された動作率に基づいて絞り込み区間が決定されることを特徴とする消費電力ピーク見積プログラム。
【００８５】
（付記１０）ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において，
第１の期間にわたり，前記ネットリストについて論理シミュレーションを実行して前記第１の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と，
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有することを特徴とする消費電力ピーク見積装置。
【００８６】
（付記１１）付記１０において，
前記一次処理手段が当該一次処理を複数回繰り返し，２回目以降の一次処理では，前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積装置。
【００８７】
（付記１２）ゲーティッドクロックを有するＬＳＩのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において，
前記ネットリストに，当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するカウンタ追加ネットリスト生成手段と，
第１の期間にわたり，前記カウンタ追加ネットリストについて論理シミュレーションを実行して，前記第１の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と，
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と，
前記絞り込み区間にわたり，前記ネットリストについて論理シミュレーションを実行して，前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と，
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有する消費電力ピーク見積装置。
【００８８】
（付記１３）付記１２において，
前記一次処理手段が当該一次処理を複数回繰り返し，２回目以降の一次処理では，前回の一次処理で抽出したカウンタ値から求められる前記ゲーティッドクロックの動作率が他の区間より高い１つ又は複数の区間からなる絞り込み区間にわたり，前記エミュレーションネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積装置。
【図面の簡単な説明】
【００８９】
【図１】本実施の形態における消費電力ピーク見積装置の構成図である。
【図２】本実施の形態における消費電力ピーク見積プログラムの手順を示すフローチャート図である。
【図３】最初の一次処理が終了した時点でのシミュレーション時間とゲーティッドクロック動作率及び実際の消費電力の例を示す図である。
【図４】２回目の一次処理が終了した時点でのシミュレーション時間とゲーティッドクロック動作率及び実際の消費電力の例を示す図である。
【図５】消費電力データ３２の例を示す図である。
【図６】信号波形データから動作率への変換処理の変形例を示す図である。
【図７】信号波形データから動作率への変換処理の変形例を示す図である。
【図８】本実施の形態の具体的な消費電力ピーク見積プログラムのフローチャート図である。
【図９】被検査ＬＳＩのネットリストに対応する回路図である。
【図１０】ゲーティッドクロックデータの一例を示す図である。
【図１１】ゲーティッドクロックのパスデータ３６（２）の例を示す図である。
【図１２】エミュレーション用ネットリストに含まれるカウンタ付きゲーティッドクロックバッファを示す図である。
【図１３】リードコマンドファイルの一例を示す図である。
【図１４】カウンタ値２７と動作率２８の具体例を示す図である。
【符号の説明】
【００９０】
２０：被検査ＬＳＩのネットリスト      ２２：ゲーティッドクロックデータ
２４：セルライブラリ                  ２６：エミュレーション用ネットリスト
２８：動作率データ                    ３０：信号波形データ
３２：消費電力データ                  １００：論理シミュレーションツール
２００：電力解析ツール                ３００：消費電力ピーク見積ツール
【図１】
2008065496.tif 000003
【図２】
2008065496.tif 000004
【図３】
2008065496.tif 000005
【図４】
2008065496.tif 000006
【図５】
2008065496.tif 000007
【図６】
2008065496.tif 000008
【図７】
2008065496.tif 000009
【図８】
2008065496.tif 000010
【図９】
2008065496.tif 000011
【図１０】
2008065496.tif 000012
【図１１】
2008065496.tif 000013
【図１２】
2008065496.tif 000014
【図１３】
2008065496.tif 000015
【図１４】
2008065496.tif 000016