(57)【要約】【課題】  システム検証において、各個別検証テストの共有資源に対するアクセスシーケンスの衝突によるエラーを防ぎつつ、複数の個別検証テストを同時に共有資源にアクセスさせる手段を提供し、システム検証の確度を向上させることを目的とする。【解決手段】  集積回路の論理検証を行う装置において、前記集積回路に含まれる複数の周辺回路に対応した複数の個別検証テスト記述と、複数の周辺回路を同時に動作させて論理検証するためのシステム検証テスト記述を用意する。各個別検証テストは、システム検証時に共有資源にアクセスする前に共有資源を確保する。この際に確保のモードを指定し、共有資源を排他的に確保するか、他の個別検証テストと共有して確保するかを選択する。また、アクセスが全て終了した後に、前記共有資源を解放する。【選択図】  図１
2007087180.tif 000002
【特許請求の範囲】
【請求項１】
集積回路の論理検証を行う装置において、前記集積回路に含まれる複数の周辺回路に対応した複数の個別検証テスト記述と、該複数の周辺回路を同時に動作させて論理検証するためのシステム検証テスト記述と、各個別検証テストが論理シミュレーション実行中に共有資源を確保する際のモードを選択する手段と、確保のモードに応じて、共有資源を確保する手段と各個別検証テストが論理シミュレーション実行中に前記共有資源を解放する手段を備えることを特徴とする集積回路用論理検証装置。
【請求項２】
前記共有資源を確保する際のモードは、共有資源を排他的に確保する排他モードと、複数の個別検証テストが同時に共有資源を確保できる共有モードを備えることを特徴とする請求項１記載の集積回路用論理検証装置。
【請求項３】
前記共有資源を確保、解放する手段は、各個別検証テストが共有資源を確保、解放する際に、前記集積回路に依存する部分を抽出した共有資源リストファイルと、確保する際のモードに応じて共有資源を各個別検証テストに割り当てる共有資源管理手段を備えることを特徴とする請求項１記載の集積回路用論理検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路の論理検証装置に関するものである。
【背景技術】
【０００２】
従来のこの種の発明が特開２００２−５５８４３号公報に記載されている。同公報に記載されている論理検証方法は図７のように、まずステップＳ６１において論理検証の種別として個別検証とシステム検証に分別する。なお、個別検証とは集積回路に含まれる複数の周辺回路のそれぞれを個別に検証すること、システム検証とは、複数の周辺回路を同時に動作させて検証を行うことである。ステップＳ６１で、個別検証テストが選択された場合はステップＳ６２へ進み、論理検証を行なうべき周辺回路の個別検証テストが選択される。この結果、ステップＳ６３において、個別検証テストから実行すべきコマンドを指定すると個別検証用ユーティリティ内に記述された処理が実行される。続いてステップＳ６４でアドレス割り当てコマンドを実行する。上記アドレス割り当てコマンドでは、共有メモリのアドレス空間からアドレスを選択し、各個別検証テストに割り当てている。ステップＳ６５では、個別検証が実行される。この個別検証は以下のように行う、まず、各個別検証テストからＣＰＵコマンドを起動すると、個別検証用ユーティリティ内に記述されたＣＰＵコマンド実行プログラムが起動し、所定の動作に従ってＣＰＵ内のバス動作回路を制御する。これにより、共有バスを介して周辺回路や共有メモリに対してＣＰＵアクセスが発生する。ＣＰＵアクセスを繰り返し行い、期待される周辺回路の動作と比較することで、検証を進める。
【０００３】
一方ステップＳ６１においてシステム検証が選択されるとステップＳ６６へ進み、複数の個別検証テストから使用可能な個別検証テストが選択される。次にステップＳ６７で、各個別検証テストにシステム検証用ユーティリティを連動させる。続いて、ステップＳ６８でアドレスの割り当てコマンドを実行する。続いてステップＳ６９では各個別検証テストを並列に動作させシステム全体の検証を行う。この際、各個別検証テストを独立に動作させる方法では、システム検証の実行中に各々の個別検証テストからのＣＰＵコマンド要求が衝突し、エラーが発生するという問題がある。この問題を防ぐために、ステップＳ６９では、上記個別検証時に用いたＣＰＵコマンドとは異なる動作を行う。まず、各個別検証テストからＣＰＵコマンドを起動すると、システム検証用ユーティリティ内に記述されたＣＰＵコマンド実行プログラムが起動する。このＣＰＵコマンド実行プログラムは、ＣＰＵアクセスを実行する前に、それぞれの個別検証テストからのＣＰＵコマンド要求を調停する。その結果選ばれた一つのＣＰＵコマンド要求が実行され、共有バスを介したＣＰＵアクセスが発生する。ＣＰＵアクセス実行中は他のＣＰＵコマンド要求は実行されない。ＣＰＵアクセスが終了した後に、ＣＰＵコマンド要求が解除され、他のＣＰＵコマンド要求を実行可能になる。このようにして、複数の個別検証テストからのＣＰＵコマンド要求を調停し、ＣＰＵアクセスの衝突を防ぐことにより、個別検証テストをそのままシステム検証に流用し、論理検証の効率化を図っている。
【０００４】
上述した従来技術は、システム検証の際に、一つのＣＰＵアクセスが終了すると、ＣＰＵコマンド要求が解除されてしまう。このため、システム検証において、検証対象内の共有資源に複数のコマンドから成るシーケンスを連続して実行する必要がある場合に、シーケンスの途中で他の個別検証テストが共有資源にアクセスしてしまい、エラーが発生する場合があった。
【０００５】
この問題を防ぐために、従来は各個別検証テストはシステム検証時に共有資源にアクセスする前に共有資源を排他的に確保し、アクセスが全て終了した後に前記共有資源を解放していた。この方法では、複数の個別検証テストが同時に開始されても、同一の共有資源へのアクセスを含む個別検証テスト同士は排他的に実行される。このように、共有資源に対する各個別検証テストのアクセスシーケンスが重ならないようにすることで、複数の各個別検証テストからのアクセスシーケンスの衝突によるエラーを防いでいた。
【特許文献１】特開２００２−５５８４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ある共有資源にアクセスする個別検証テストは次の２つに分類することができる。
【０００７】
１．共有資源にアクセスする他のテストシーケンスに影響を与えるため、排他的に実行されなければならない個別検証テスト。
【０００８】
２．共有資源にアクセスする他のテストシーケンスに影響を与えないため、他のシーケンスと同時に実行可能な個別検証テスト。
【０００９】
システム検証においては、分類１に属する個別検証テストと分類２に属する個別検証テストが混在する場合が一般的である。このような場合、従来技術では分類１に属する個別検証テストとの衝突によるエラーを防ぐために、各個別検証テストは共有資源にアクセスする前に排他的に共有資源を確保する必要がある。その結果、共有資源へのアクセスを含む全ての個別検証テストは逐次的に実行されてしまう。このため、分類２に属する複数の個別検証テストが共有資源に並行してアクセスする場合のテストが行なえないため、検証内容が制限され、システム検証の確度が低くなる問題があった。
【００１０】
本発明は、上述の課題を解決するためになされたものであり、システム検証において、各個別検証テストの共有資源に対するアクセスシーケンスの衝突によるエラーを防ぎつつ、複数の個別検証テストを同時に共有資源にアクセスさせる手段を提供し、システム検証の確度を向上させることを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明による論理検証装置は、集積回路に含まれる複数の周辺回路に対応した複数の個別検証テスト記述と、該複数の周辺回路を同時に動作させて論理検証するためのシステム検証テスト記述と、各個別検証テストが論理シミュレーション実行中に共有資源を確保する際のモードを選択する手段と、確保する際のモードに応じて、共有資源を確保する手段と、各個別検証テストが論理シミュレーション実行中に前記共有資源を解放する手段を備える。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、共有資源に対するアクセスシーケンスの衝突によるエラーを防ぎつつ、複数の個別検証テストが同時に共有資源にアクセスする動作をシミュレーションでき、システム検証の確度を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１３】
（実施例１）
以下、添付の図面を参照して、本発明の好適な実施形態を説明する。図1は第１の実施形態による、集積回路の論理検証を行うシステム構成を示す。１０１はシステム検証テスト、１０２、１０３、１０４は周辺回路の個別検証テスト、１０５は各検証で使用されるユーティリティ、１０６は各個別検証テストへの共有資源割り当てプログラムである。また、１０７は論理検証の対象となるシステムＬＳＩであり、周辺回路１０８、１０９、１１０、共有資源１１１、およびＣＰＵ１１２がシステムバス１１３に接続されているものとする。なお、共有資源１１１はバスブリッジ機能をもち、システムバス１１３とシステムバス１１５を接続しているものとする。システムバス１１５には、メモリ１１４が接続されている。
【００１４】
また、１１６はシステムが有する共有資源の管理プログラム、１１７は、システムが有する共有資源１１１を記述したリストファイルである。リストファイル１１７は検証対象となる集積回路に依存するが、共有資源管理プログラム１１６は、前記集積回路には依存しない構成となっている。このため、異なる集積回路の検証を行う際に、共有資源管理プログラム１１６は流用することができる。なお、周辺回路１０８、１０９、１１０の個別検証用のテストは、それぞれ個別検証テスト１０２、１０３、１０４に記述されているものとする。
【００１５】
システム検証テスト１０１を起動すると、個別検証テスト１０２、１０３、１０４は、システム検証テストに記述されたタイミングで起動される。各テストを直列に実行することも、並列に実行することも可能である。個別検証テスト１０２は、ユーティリティ１０５に記述されたＣＰＵコマンドを起動する。するとＣＰＵ１１２からシステムバス１１３を介して、対応する周辺回路１０８および共有資源１１１へのアクセスが行われる。同様に個別検証テスト１０３は、ユーティリティ１０５に記述されたＣＰＵコマンドを起動する。するとＣＰＵ１１２からシステムバス１１３を介して、対応する周辺回路１０９および共有資源１１１へのアクセスが行われる。個別検証テスト１０４についても同様である。各個別検証テスト１０２、１０３、１０４が完全に独立して共有資源１１１にアクセスすると、例えば、個別検証テスト１０３によって共有資源１１１の動作設定レジスタからあるデータが読み出された直後に、個別検証テスト１０２が共有資源１１１の同じ動作設定レジスタに、別のデータを上書きした場合には、個別検証テスト１０３が期待しているデータとは異なるデータが共有資源１１１の動作設定レジスタに書かれていることになり、エラーが生じるおそれがある。
【００１６】
これを回避するために、各個別検証テスト１０２、１０３、１０４は共有資源１１１にアクセスする前に、ユーティリティ１０５を介して共有資源割り当てプログラム１０６を駆動し、共有資源の確保を行う。この際に、各個別検証テストは確保のモードを指定して共有資源を確保する。確保のモードには排他モードと共有モードが存在する。共有資源がある個別検証テストにより、排他モードで確保されている間は、他の個別検証テストは共有資源を確保できなくなる。その結果、共有資源が解放されるまで、他の個別検証テストはその共有資源にはアクセスできなくなる。
【００１７】
一方、共有資源がある個別検証テストにより共有モードで確保されている間は、他の個別検証テストは共有資源を共有モードで確保することはできるが、排他モードで確保することはできなくなる。その結果、共有資源が解放されていなくても、共有モードで共有資源を確保する他の個別検証テストは該共有資源にアクセスできる。各個別検証テスト内でアクセスする共有資源名および確保のモードを指定し、ユーティリティ１０５内の共有資源確保コマンドを実行すると、共有資源管理プログラム１１６内の対応する共有資源確保コマンドが呼び出される。共有資源管理プログラム１１６内の共有資源確保コマンドは、確保可能であれば、共有資源を確保する。
【００１８】
また、確保した共有資源へのアクセスが全て終了した後に、ユーティリティ１０５を介して共有資源割り当てプログラム１１６を実行し、確保した共有資源を解放する。個別検証テスト内で、解放する共有資源名を指定し、ユーティリティ１０５内の共有資源解放コマンドを実行すると共有資源管理プログラム１１６内の、対応する共有資源解放コマンドが呼び出される。共有資源管理プログラム１１６内の共有資源解放コマンドは、指定された共有資源を解放する。
【００１９】
このようにして共有資源の確保、解放を行い、各個別検証テストが使用する共有資源が衝突しないようにする。この仕組みの詳細を例を挙げて以下に説明する。
【００２０】
図２は個別検証テスト１０２の一例である。周辺回路１０８内のデータを読み出し、共有資源１１１へ書き込み、共有資源１１１の動作モードを設定するものとする。まずステップＳ１１において、共有資源割り当てプログラム１０６を起動し、個別検証テスト１０２が使用する共有資源１１１を確保する。この個別検証テストは、共有資源の動作モードを変更するので、他の個別検証テストと並行して実行されるとエラーを起こす可能性がある。そのため確保のモードは排他モードとし、他の個別検証テストと並行して実行されないようにする。
【００２１】
もし、共有資源の確保に失敗した場合は、ステップＳ１２において、一定時間待ち、再び確保を試みる。共有資源の確保に成功した場合は、ステップＳ１３に進み、周辺回路１０８からデータを読み出す。次にステップＳ１４に進み、ＣＰＵコマンドを実行し、確保した共有資源１１１の動作モード設定レジスタに対してデータを書き込む。最後にステップＳ１５で確保していた共有資源１１１を解放する。
【００２２】
図３は個別検証テスト１０３の一例である。共有資源１１１の動作モード設定レジスタのデータを読み込み、動作モードを確認した後に、周辺回路１０９内のデータを読み出し、共有資源１１１を介してメモリ１１４へ書き込むものとする。まずステップＳ２１において、共有資源割り当てプログラム１０６を起動し、個別検証テスト１０３が使用する共有資源１１１を確保する。この個別検証テストは、共有資源の動作モードを変更することはなく、他の個別検証テストと並行して実行することができる。そのため、確保のモードは共有モードとし、他の個別検証テストと並行して実行されるようにする。
【００２３】
もし、共有資源の確保に失敗した場合は、ステップＳ２２において、一定時間待ち、再び確保を試みる。共有資源の確保に成功した場合は、ステップＳ２３に進み、ＣＰＵコマンドを実行し、確保した共有資源１１１のレジスタからデータを読み込む。次に、ステップＳ２４に進み、周辺回路１０９からデータを読み出す。続いてステップＳ２５で周辺回路１０９から読み出したデータを、共有資源１１１を介してメモリ１１４に書き込む。最後にステップＳ２６で確保していた共有資源１１１を解放する。
【００２４】
図４は個別検証テスト１０４の一例である。共有資源１１１の動作モード設定レジスタのデータを読み込み、動作モードを確認した後に、周辺回路１１０内のデータを読み出し、共有資源１１１を介してメモリ１１４へ書き込むものとする。まずステップＳ３１において、共有資源割り当てプログラム１０６を起動し、個別検証テスト１０４が使用する共有資源１１１を確保する。確保のモードは個別検証テスト１０３の場合と同様に、共有モードとする。もし、共有資源の確保に失敗した場合は、ステップＳ３２において、一定時間待ち、再び確保を試みる。共有資源の確保に成功した場合は、ステップＳ３３に進み、ＣＰＵコマンドを実行し、確保した共有資源１１１のレジスタからデータを読み込む。次に、ステップＳ３４に進み、周辺回路１０９からデータを読み出す。ステップＳ３５で周辺回路１０９から読み出したデータを、共有資源１１１を介してメモリ１１４に書き込む。最後にステップＳ３６で確保していた共有資源１１１を解放する。
【００２５】
図５は各共有資源管理プログラム１１６の処理を示したフローチャートである。
【００２６】
共有資源管理プログラム１１６は、内部に、リストファイル１１７をもとに作成された共有資源リストを有する。共有資源リストには、システムに存在する共有資源それぞれについて、共有資源名、使用状態を示すフラグ、使用している個別検証テストのＩＤを示すフラグ、確保のモードを示すフラグが含まれている。ユーティリティ１０５を介して個別検証テスト１０２が、確保あるいは解放しようとしている共有資源名および確保のモードを指定して、共有資源管理プログラムを実行すると、初めにステップＳ４１にて、共有資源１１１の確保、解放命令の種別がおこなわれる。共有資源１１１を確保する場合は、ステップＳ４２において確保のモードを判定する。個別検証テスト１０２が排他モードで共有資源１１１を確保する場合はステップＳ４３に進む。続いてステップＳ４３において、共有資源リストの使用状態を示すフラグを参照し、確保しようとしている共有資源１１１が現在使用中であるかどうかを判断する。未使用の場合は、ステップＳ４４に進み、共有資源１１１を排他モードで確保する。これは共有資源リストの使用状態を示すフラグをセットし、かつ確保のモードを示すフラグを排他モードにセットすることで行う。そしてステップＳ４５にて、共有資源１１１の確保に成功したことを示す真を返し、共有資源管理プログラム１１６を終了する。ステップＳ４４にて共有資源１１１が他の個別検証テスト１０３、および１０４より使用されていた場合はステップＳ４６に進み、共有資源１１１の確保に失敗したことを示す偽を返し、共有資源管理プログラム１１６を終了する。
【００２７】
ステップＳ４２において、個別検証テスト１０３が共有モードで共有資源１１１を確保する場合はステップＳ４７に進む。ステップＳ４７において、共有資源リスト内の使用状態を示すフラグを参照し、確保しようとしている共有資源１１１が現在使用中であるかどうかを判断する。未使用の場合は、ステップＳ４９に進み、共有資源１１１を共有モードで確保する。これは共有資源リストの使用状態を示すフラグをセットし、かつ確保のモードを示すフラグを共有モードにセットすることで行なう。そしてステップＳ４１０で共有資源１１１の確保に成功したことを示す真を返し、共有資源管理プログラム１１６を終了する。ステップＳ４７にて共有資源１１１が他の個別検証テスト１０２、１０４に使用されていた場合はステップＳ４８に進む。ステップＳ４８において、共有資源を１１１の確保のモードを示すフラグを調べ、共有資源１１１が共有モードで確保されていた場合には、ステップＳ４９に進み、共有資源１１１を共有モードで確保する。そしてステップＳ４１０で共有資源１１１の確保に成功したことを示す真を返し、共有資源管理プログラム１１６を終了する。ステップＳ４８において、共有資源１１１が排他モードで確保されていた場合には、ステップＳ４６に進み、共有資源１１１の確保に失敗したことを示す偽を返し、共有資源管理プログラム１１６を終了する。
【００２８】
また、ステップＳ４１で、個別検証テスト１０２が共有資源１１１を解放する場合は、ステップＳ４１１に進む。続いて、ステップＳ４１１にて共有資源リスト内の、共有資源の使用状態を示すフラグをリセットし、他の個別検証テスト１０３、１０４が該共有資源を確保できるようにする。
【００２９】
個別検証テスト１０２が共有資源管理プログラムを用いて、共有資源を排他モードで確保、解放することにより、個別検証テスト１０２がステップＳ１３からＳ１４の共有資源１１１へのアクセスシーケンスを実行している間に、個別検証テスト１０３がステップＳ２３からＳ２５の共有資源１１１へのアクセスシーケンスを実行することを防ぐことができる。同様に、個別検証テスト１０４がＳ３３からＳ３５の共有資源１１１へのアクセスシーケンスを実行することを防ぐことができる。
【００３０】
一方、個別検証テスト１０３、１０４が共有資源管理プログラムを用いて、共有資源を共有モードで確保、解放することにより、個別検証テスト１０３によるステップＳ２３からＳ２５の共有資源１１１へのアクセスシーケンスと、個別検証テスト１０４によるＳ３３からＳ３５の共有資源１１１へのアクセスシーケンスを並行して実行することができる。
【００３１】
上述した方法によれば、システム検証時に各個別検証テスト１０２、１０３、１０４を同時に実行した場合に、個別検証テスト１０２が共有資源１１１の動作モード設定している間は共有資源１１１は排他モードで確保されているため、個別検証テスト１０３、１０４の共有資源１１１へのアクセスシーケンスは実行されないが、動作モード設定後は、共有資源１１１は共有モードで確保されているため、個別検証テスト１０３、１０４の共有資源１１１へのアクセスシーケンスが並行に実行される。その結果、共有資源に対するクセスシーケンスの衝突によるエラーを防ぎつつ、複数の個別検証テストが同時に共有資源にアクセスする動作をシミュレーションでき、システム検証の確度を向上させることができる。
【００３２】
また、第１の実施形態は、共有資源の確保および解放はそれぞれ各個別検証テスト開始時および各個別検証テスト終了時のみであるため、個別検証テストにおける、共有資源確保、解放の記述が容易である。
【００３３】
（実施例２）
本発明の第２の実施形態について、第１の実施形態と異なる点についてのみ図面を用いて詳細に説明する。第２の実施形態は、個別検証テストの共有資源に対するアクセスシーケンスの一部分が排他的でなければならないが、その他の部分は排他的でなくてもよい場合に、同一共有資源を並行に利用する方法に関するものである。
【００３４】
第２の実施形態の第１の実施形態と異なる点は、第１の実施形態は各個別検証開始時に共有資源を確保のモードを決定し、各個別検証終了時まで同じモードで共有資源を確保していたが、第２の実施形態は、各個別検証中に、共有資源に排他的にアクセスする必要がある時にのみ、共有資源を排他モードで確保し、それ以外の時には共有資源を共有モードで確保する点である。以下に例を挙げて説明する。
【００３５】
第２の実施形態による集積回路の論理検証を行うシステム構成については、第１の実施形態と同様であるので、説明を省略する。
【００３６】
図６は各個別検証テスト１０２の一例である。共有資源１１１のレジスタに設定データを書き込み、動作モードを設定した後に、周辺回路１０８内のデータを読み出し、共有資源１１１を介してメモリ１１４へ書き込むものとする。まずステップＳ５１において、共有資源割り当てプログラム１０６を起動し、個別検証テスト１０２が使用する共有資源１１１を排他モードで確保する。もし、共有資源の確保に失敗した場合は、ステップＳ５２において一定時間待ち、再び確保を試みる。共有資源の確保に成功した場合は、ステップＳ５３に進み、周辺回路１０８から共有資源１１１のレジスタ設定データを読み出す。
【００３７】
次にステップＳ５４に進み、ＣＰＵコマンドを実行し、確保した共有資源１１１の動作モード設定レジスタに対してデータを書き込む。続いてステップＳ５５に進み、共有資源１１１の確保のモードを排他モードから共有モードに変更する。これはいったん共有資源１１１を解放し、直ちに共有資源１１１を共有モードで確保し直すことで行なう。次にステップＳ５６に進み、周辺回路１０８からデータを読み出す。ステップＳ５７でメモリ１１４に対して共有資源１１１を介して、周辺回路１０８から読み出したデータを書き込む。
【００３８】
この方法では、個別検証テスト１０２が実行中であっても、ステップＳ５５で共有資源１１１のモードを共有モードに変更した後であれば、他の個別検証テストが、共有資源１１１にアクセスすることが可能である。共有資源割り当てプログラム内における処理に関しては、第１の実施形態と同様であるので、説明を省略する。
【００３９】
第２の実施形態によれば、各個別検証テストが必要な時のみ共有資源に排他的にアクセスし、それ以外の時には他の個別検証テストと並行して共有資源にアクセスすることが可能になる。そのため、より制約の少ないシミュレーションを行なうことができ、システム検証の確度を向上させることができる。
【図面の簡単な説明】
【００４０】
【図１】集積回路の論理検証を行うシステム構成を示す図である。
【図２】個別検証テストの処理の一例を示すフローチャートである。
【図３】個別検証テストの処理の一例を示すフローチャートである。
【図４】個別検証テストの処理の一例を示すフローチャートである。
【図５】共有資源管理プログラムにおける処理を示したフローチャートである。
【図６】個別検証テストの処理の一例を示すフローチャートである。
【図７】従来の集積回路の論理検証の処理の一例を示すフローチャートである。
【符号の説明】
【００４１】
１０１  システム検証テスト
１０２  周辺回路の個別検証テスト
１０３  周辺回路の個別検証テスト
１０４  周辺回路の個別検証テスト
１０５  ユーティリティ
１０６  共有資源割り当てプログラム
１０７  論理検証対象
１０８  周辺回路
１０９  周辺回路
１１０  周辺回路
１１１  共有資源
１１２  ＣＰＵ
１１３  システムバス
１１４  メモリ
１１５  システムバス
１１６  共有資源管理プログラム
１１７  共有資源リストファイル
【図１】
2007087180.tif 000003
【図２】
2007087180.tif 000004
【図３】
2007087180.tif 000005
【図４】
2007087180.tif 000006
【図５】
2007087180.tif 000007
【図６】
2007087180.tif 000008
【図７】
2007087180.tif 000009