(57)【要約】【課題】温度センサや電圧センサを用いずに、ゲート遅延をモニタすることができるＬＳＩを提供する。【解決手段】本発明に係るＬＳＩは、複数段のゲート素子６，７と第一の信号線とを有し、第一の信号線にイネーブル信号が入力されている期間、発振信号を出力するリングオシレータ１を備える。パルスカウンタ３は、リングオシレータ１の出力パルス数をカウントし、遅延モニタは、パルスカウンタ３のカウント値を出力する。【選択図】図１
2008180635.tif 000002
【特許請求の範囲】
【請求項１】
複数段のゲート素子と第一の信号線とを有し、前記第一の信号線にイネーブル信号が入力されている期間、発振信号を出力するリングオシレータと、
前記リングオシレータの出力パルス数をカウントするパルスカウンタとを備え、
前記パルスカウンタのカウント値を出力する回路を備える、
半導体装置。
【請求項２】
前記リングオシレータの各段の前記ゲート素子の出力を、前記イネーブル信号の終了のタイミングで検出するエッジ位置検出部をさらに備え、
前記エッジ位置検出部の検出内容を出力する、
請求項１に記載の半導体装置。
【請求項３】
前記エッジ位置検出部は、前記イネーブル信号の終了のタイミングで値をサンプリングするフリップフロップを含む、
請求項２に記載の半導体装置。
【請求項４】
前記イネーブル信号は、前記半導体装置の操作に用いられるクロックの１周期の期間、前記第一の信号線に入力される、
請求項１乃至請求項３のいずれかに記載の半導体装置。
【請求項５】
一の前記パルスカウンタに複数の前記リングオシレータが接続された、
請求項１乃至請求項４のいずれかに記載の半導体装置。
【請求項６】
一の前記エッジ位置検出部に複数の前記リングオシレータが接続された、
請求項２に記載の半導体装置。
【請求項７】
前記回路の出力は、所定のフィードバック先に用いられる、
請求項１乃至請求項６のいずれかに記載の半導体装置。
【請求項８】
前記パルスカウンタは、前記イネーブル信号が前記リングオシレータに入力される前に、前記出力パルス数をリセットする、
請求項１乃至請求項７のいずれかに記載の半導体装置。
【請求項９】
前記パルスカウンタは、前記回路の起動時に前記出力パルス数をリセットする、
請求項１乃至請求項８のいずれかに記載の半導体装置。
【請求項１０】
前記パルスカウンタは、前記回路の起動前に前記出力パルス数をリセットする、
請求項１乃至請求項８のいずれかに記載の半導体装置。
【請求項１１】
前記回路は定期的に起動される、
請求項１乃至請求項１０のいずれかに記載の半導体装置。
【請求項１２】
前記エッジ位置検出部はゲート素子との間で規則性をもって配置される、
請求項２に記載の半導体装置。
【請求項１３】
前記回路の出力に基づいて、前記ゲート素子による遅延に関する所定の数値を算出する演算部をさらに備える、
請求項１乃至請求項１２のいずれかに記載の半導体装置。
【請求項１４】
前記所定の数値は、前記第一の信号線に前記イネーブル信号が入力されている期間に前記イネーブル信号のエッジが前記リングオシレータの前記各ゲート素子を伝播可能な段数、および／または、前記ゲート素子あたりの平均遅延時間である、
請求項１３に記載の半導体装置。
【請求項１５】
前記回路の回路構成および／またはレイアウト形状はライブラリ化された、
請求項１乃至請求項１４のいずれかに記載の半導体装置。
【請求項１６】
前記回路近傍に設けられた半導体モジュールをさらに備え、
前記回路の出力に基づく結果に応じて、前記半導体モジュールに使用される電圧、および／または、前記半導体モジュールに使用されるクロック周波数を制御する、
請求項１乃至請求項１５のいずれかに記載の半導体装置。
【請求項１７】
前記回路の出力に基づく結果が、予め設定された所定の範囲にあるか否かを判定する判定部をさらに備える、
請求項１乃至請求項１６のいずれかに記載の半導体装置。
【請求項１８】
前記半導体モジュールは、タスク処理を実行する複数のＣＰＵを含み、
前記判定部の判定に応じて、タスク処理を実行する前記ＣＰＵを変更する、
請求項１７に記載の半導体装置。
【請求項１９】
前記判定部の判定に応じて、前記半導体装置の外部に信号を出力する、
請求項１７または請求項１８に記載の半導体装置。
【請求項２０】
前記各ゲート素子はゲート素子同士の間で規則性をもって配置される、
請求項１乃至請求項１９のいずれかに記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特にリングオシレータを有する半導体装置に関するものである。
【背景技術】
【０００２】
ゲート素子による信号伝達の遅延（以下ゲート遅延）は、製造ばらつきにより、チップ単位でばらつく。さらに、同一チップ内であっても、ゲート遅延は、ゲート素子の周囲温度、使用電圧などの条件の変動によってばらつく。そのため、チップ全体の遅延を決定するパス、つまり、クリティカルパスを特定することは困難である。
【０００３】
このクリティカルパスを特定する従来の方法として、温度センサや電圧センサを用いて、ゲート素子の周囲温度や使用電圧をモニタすることで、トランジスタの遅延をモニタする方法が取られている。特許文献１には、クリティカルパスと想定される構成と同じ構成からなるレプリカ回路で遅延をモニタし、そのモニタ結果に基づいて使用電圧を制御する半導体装置が記載されている。
【０００４】
【特許文献１】特開２００１−３６００８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
温度センサや電圧センサでは、ある程度の遅延のモニタが可能であるが遅延を直接モニタするものではない。そのため、各センサで検出された温度や電圧が、予め設定された所定の範囲を外れた場合であっても、遅延が予め設定された所定の範囲を外れていないという場合がある。それにも係わらず、画一的に遅延が所定の範囲を外れたものとみなしているという問題があった。また、温度センサや電圧センサの回路面積は非常に大きいため、温度センサや電圧センサを形成すると、チップが大きくなるという問題があった。
【０００６】
また、特許文献１に記載の発明では、レプリカ回路を用いており、クリティカルパスを見つけるのが難しく、製造ばらつきによりチップごとに異なる可能性もあるので、１つに絞れないという可能性があるという問題があった。また、電圧、温度などの周囲条件の変動により、クリティカルパスが変わる可能性があるという問題があった。また、ＬＳＩごとにレプリカ回路が異なるため、ＩＰ（ライブラリ）化しにくいという問題があった。
【０００７】
本発明は、上記のような問題点を解決するためになされたものであり、温度センサや電圧センサを用いずに、ゲート遅延をモニタすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る請求項１に係る半導体装置は、複数段のゲート素子と第一の信号線とを有し、前記第一の信号線にイネーブル信号が入力されている期間、発振信号を出力するリングオシレータと、前記リングオシレータの出力パルス数をカウントするパルスカウンタとを備え、前記パルスカウンタのカウント値を出力する回路を備える。
【発明の効果】
【０００９】
本発明の半導体装置によれば、温度センサや電圧センサを用いずに、ゲート遅延をモニタすることができる。
【発明を実施するための最良の形態】
【００１０】
＜実施の形態１＞
図１は、本実施の形態に係る半導体装置を示すブロック図である。本実施の形態に係る半導体装置は、リングオシレータ１と、フリップフロップ２と、パルスカウンタ３と、エッジ位置検出部４と、ＣＰＵ（Central Processing Unit）５と、半導体装置制御レジスタ８を備える。そして、パルスカウンタ３のカウント値を出力する回路である遅延モニタを備える。パルスカウンタ３と、エッジ位置検出部４と、ＣＰＵ５は、内部周辺バスによって互いに接続されている。以下、半導体装置は、ＬＳＩ（Large Scale Integration）であるものとして説明する。
【００１１】
遅延モニタ制御レジスタ８には、内部周辺バスを介してＣＰＵ５から信号が入力される。さらに、遅延モニタ制御レジスタ８には、ＬＳＩの操作に用いられるクロックである基準クロックが入力される。基準クロックには、例えば、ＣＰＵ５のクロック、内部周辺バスのクロック、遅延モニタ専用のクロック、ＬＳＩ内の別のモジュールのクロック、ＰＬＬのクロックが用いられる。
【００１２】
遅延モニタ制御レジスタ８は、遅延モニタの起動時に、ＣＰＵ５の制御により、遅延モニタ計測開始ビットに”１”が書き込まれる。遅延モニタ制御レジスタ８は、”１”が書き込まれた場合に、遅延モニタリセット信号をパルスカウンタ３に出力する。図２は、本実施の形態に係るＬＳＩの動作を示すタイミングチャートである。遅延モニタ制御レジスタ８は、図２の矢印で示される遅延モニタの起動時に、遅延モニタリセット信号をパルスカウンタ３に入力する。
【００１３】
遅延モニタ制御レジスタ８は、遅延モニタリセット信号を出力してから一定時間経過後に、計測開始信号をフリップフロップ２にさらに出力する。本実施の形態では、図２に示されるように、計測開始信号は、遅延モニタリセット信号が出力されてから、基準クロックの１周期経過後に出力するものとする。
【００１４】
フリップフロップ２には、基準クロックと、遅延モニタ制御レジスタ８からの計測開始信号が入力される。フリップフロップ２は、計測開始信号が入力された場合に、リングオシレータ１とエッジ位置検出部４に、イネーブル信号であるオシレータイネーブル信号を、図２に示されるように、基準クロックの１周期Ｔｃの期間出力する。
【００１５】
オシレータイネーブル信号が入力される期間Ｔｃは、精度よく一定に保たれる必要がある。そのため、フリップフロップ２に入力される基準クロックには、ＬＳＩ内の半導体モジュールのクロックであっても、遅延モニタの近傍にある半導体モジュールのクロックを用いるのが望ましい。
【００１６】
リングオシレータ１は、複数段のゲート素子と第一の信号線とを有し、第一の信号線にイネーブル信号であるオシレータイネーブル信号が入力されている期間、発振信号を出力する。本実施の形態では、図１に示すように、リングオシレータ１は、１４個のインバータ素子６と、１個のＮＡＮＤ素子７とを直列接続した１５段のゲート素子を有する。ＮＡＮＤ素子７は２つの端子を有する。
【００１７】
ＮＡＮＤ素子７の一の端子は、上述した第一の信号線が接続されたイネーブル端子である。上述したフリップフロップの動作により、オシレータイネーブル信号は、ＬＳＩに用いられる基準クロックの１周期の期間、第一の信号線に入力される。そのため、第一の信号線と接続されたイネーブル端子には、フリップフロップ２から出力されるオシレータイネーブル信号が入力される。ＮＡＮＤ素子７の残りの端子には、最終段のインバータ素子６から出力される信号が入力される。リングオシレータ１が発振信号を出力する動作については後述する。
【００１８】
パルスカウンタ３は、リングオシレータ１の発振信号の発振数、つまり、リングオシレータ１の出力パルス数Ｃｄｃをカウントする。遅延モニタは、このパルスカウンタ３のカウント値Ｃｄｃを出力する。このカウント値は、例えば、１６ビット単位で出力される。
【００１９】
パルスカウンタ３には、遅延モニタ制御レジスタ８から、遅延モニタリセット信号が入力される。図２のパルスカウンタは、パルスカウント３が保持している出力パルス数を示している。図２に示すように、パルスカウンタ３は、遅延モニタリセット信号が入力されると、それまで保持していた出力パルス数をリセットする。
【００２０】
上述したように、遅延モニタ制御レジスタ８は、遅延モニタリセット信号を出力してから、基準クロックの１周期経過後に、計測開始信号を出力する。フリップフロップ２は、計測開始信号が入力されてから、オシレータイネーブル信号をリングオシレータ１に出力する。そのため、パルスカウンタ３は、オシレータイネーブル信号がリングオシレータ１に入力される前に、出力パルス数をリセットする。また、上述したように、遅延モニタ制御レジスタ８は、遅延モニタの起動時に、遅延モニタリセット信号を出力する。そのため、パルスカウンタ３は、遅延モニタの起動時に、出力パルス数をリセットする。
【００２１】
エッジ位置検出部４は、リングオシレータ１の各段のゲート素子の出力を、オシレータイネーブル信号の終了のタイミングで検出する。具体的には、エッジ位置検出部４は、オシレータイネーブル信号のエッジが、上記のタイミングで伝播しているゲート素子の段数（以下、ゲート段数）Ｃｄｆを検出する。
【００２２】
このＣｄｆは、リングオシレータ１内を通過したオシレータイネーブル信号のエッジ数が偶数である場合には、イネーブル端子からのゲート段数と対応する。一方、リングオシレータ１内を通過したオシレータイネーブル信号のエッジ数が奇数である場合には、Ｃｄｆは、イネーブル端子からのゲート段数に全ゲート段数を加えた値となる。例えば、全ゲート段数が図１のように１５段であり、オシレータイネーブル信号のエッジが、ＮＡＮＤ素子７の手前にあったものとする。この場合において、通過したエッジ数が偶数であればＣｄｆは０となり、奇数であればＣｄｆは１５となる。このようにして、Ｃｄｆは、０〜２９までの値を取る。遅延モニタは、エッジ位置検出部４の検出内容Ｃｄｆを出力する。この検出内容は、例えば、１５ビットで出力される。図１５に示すように、エッジ位置検出部４は、オシレータイネーブル信号の終了のタイミングで値をサンプリングするフリップフロップを含む。ここでいうフリップフロップは、例えば、多ビットのフリップフロップが該当する。
【００２３】
ＣＰＵ５は、内部周辺バスを介して、パルスカウンタ３と、エッジ位置検出部４と接続される。演算部であるＣＰＵ５は、遅延モニタの出力に基づいて、ゲート素子による遅延に関する所定の数値を算出する。
【００２４】
本実施の形態において、遅延モニタの出力は、上述したパルスカウンタ３のカウント値Ｃｄｃと、エッジ位置検出部４の検出内容Ｃｄｆである。所定の数値は、第一の信号線にオシレータイネーブル信号が入力されている期間にオシレータイネーブル信号のエッジがリングオシレータ１の各ゲート素子を伝播可能な段数（以下、伝播可能段数）Ｃｄ、および、ゲート素子あたりの平均遅延時間Ｔｄである。
【００２５】
演算部であるＣＰＵ５は、遅延モニタの出力Ｃｄｃ，Ｃｄｆに基づいて、ゲート素子による遅延に関する所定の数値Ｃｄ，Ｔｄを、
Ｃｄ＝Ｃｄｃ×Ｎ×２＋Ｃｄｆ・・・（１）
Ｔｄ＝Ｔｃ／Ｃｄ・・・（２）
により算出する。このＣＰＵ５での算出は、例えば、ソフトウェアによって行われる。
【００２６】
以上からなるＬＳＩが、これらＣｄ、および、Ｔｄを測定するまでの動作について説明する。なお、以下、信号が入力されていないことをＬｏｗとしてＬと表し、信号が入力されていることをＨｉｇｈとしてＨと表す。
【００２７】
まず、遅延モニタ制御レジスタ８は、遅延モニタの起動時に、ＣＰＵ５の制御により、ビットが書き込まれると、遅延モニタリセット信号をパルスカウンタ３に出力する。パルスカウンタ３は、遅延モニタリセット信号を受けると、それまで保持していた検出内容をリセットする。
【００２８】
遅延モニタ制御レジスタ８は、遅延モニタリセット信号を出力してから基準クロックの１周期経過後に、計測開始信号をフリップフロップ２に出力する。フリップフロップ２は、計測開始信号を受けると、リングオシレータ１の第一の信号線に、基準クロックの１周期期間のオシレータイネーブル信号を出力する。そうすると、第一の信号線に接続されたイネーブル端子における入力はＨとなる。
【００２９】
ここで、リングオシレータ１の出力がＨ、つまり、ＮＡＮＤ素子７の残りの端子における入力がＨである場合について説明する。この場合、ＮＡＮＤ素子７において、イネーブル端子はＨであり、残りの端子はＨであるため、ＮＡＮＤ素子７の出力はＬとなる。
【００３０】
ＮＡＮＤ素子７の出力がＬになると、インバータ素子６の出力は、インバータ素子６を通過するごとに、Ｈ，Ｌ，Ｈ，…と反転を繰り返す。その結果、最終段のインバータ素子６の出力、つまり、リングオシレータ１の出力はＬとなる。こうして、オシレータイネーブル信号がゲート素子を１５段通過すると、リングオシレータ１の出力は、Ｈ→Ｌと反転する。この最終の段における出力Ｌは、ＮＡＮＤ素子７の残りの端子に入力される。
【００３１】
さらに継続して、イネーブル端子がＨである場合には、ＮＡＮＤ素子７の出力はＨとなる。ＮＡＮＤ素子７の出力がＨになると、インバータ素子６の出力は、インバータ素子６を通過するごとに、Ｌ，Ｈ，Ｌ，…と反転を繰り返す。その結果、最終段のインバータ素子６の出力、つまり、リングオシレータ１の出力はＨとなる。こうして、オシレータイネーブル信号がゲート素子を１５段通過すると、リングオシレータ１の出力は、Ｌ→Ｈと反転する。このように、リングオシレータ１のイネーブル端子に、オシレータイネーブル信号が入力されている間は、ＨとＬの反転を繰り返し、発振する。
【００３２】
一方、リングオシレータ１のイネーブル端子に、オシレータイネーブル信号が入力されていない場合、つまり、ＮＡＮＤ素子７のイネーブル端子がＬである場合には、ＮＡＮＤ素子７の残りの端子における入力がＨ、Ｌにかかわらず、ＮＡＮＤ素子７の出力はＨとなる。そして、インバータ素子６の出力は、インバータ素子６を通過するごとに、Ｌ，Ｈ，Ｌ，…と反転を繰り返す。その結果、最終段のインバータ素子６の出力、つまり、リングオシレータ１の出力はＨのまま維持される。
【００３３】
以上のように、オシレータイネーブル信号のエッジが１５段×２のゲート素子を通過するごとに、リングオシレータ１の出力は、Ｈ→Ｌ→Ｈと１回発振する。パルスカウンタ３は、リングオシレータ１の発振信号の１回の発振に対して、１のパルスをカウントする。図２のパルスカウンタは、オシレータイネーブル信号の入力時において、リングオシレータ１の発振信号が、パルスカウンタ３によってカウントされている様子が示されている。パルスカウンタ３が検出する出力パルス数がＣｄｃであれば、オシレータイネーブル信号のエッジが通過したゲート段数は、Ｃｄｃ×１５×２となる。
【００３４】
エッジ位置検出部４は、上述したように、オシレータイネーブル信号が終了するタイミングで、オシレータイネーブル信号のエッジが伝播しているゲート段数Ｃｄｆを検出する。このＣｄｆは、上述したように、０〜２９までの値を取る。
【００３５】
なお、以上の説明では、リングオシレータ１のゲート段数を１５段としたものである。以上を一般化すると、ゲート段数がＮ段であれば、オシレータイネーブル信号が通過したゲート段数は、Ｃｄｃ×Ｎ×２となる。そして、エッジ位置検出部４は、０〜（Ｎ×２−１）段までのゲート段数を検出する。
【００３６】
そうすると、第一の信号線にオシレータイネーブル信号が入力されている期間Ｔｃに、オシレータイネーブル信号のエッジがリングオシレータ１のゲート素子を伝播可能な段数Ｃｄは、Ｃｄｃ×Ｎ×２＋Ｃｄｆとなる。また、ゲート素子の１段あたりの平均遅延時間Ｔｄは、Ｔｃ／Ｃｄとなる。ＣＰＵ５は、遅延モニタの出力Ｃｄｃ，Ｃｄｆに基づいて、ゲート素子による遅延に関する所定の数値Ｃｄ，Ｔｄを、上述した式により算出する。
【００３７】
こうして、本実施の形態に係るＬＳＩは、温度センサや電圧センサを用いずに、小さな回路面積で、ゲート遅延を直接モニタすることができる。そして、ＬＳＩは、遅延モニタの出力に基づいて、ゲート素子による遅延に関する所定の数値ＣｄとＴｄを正確に測定することができる。
【００３８】
なお、本実施の形態では、エッジ位置検出部４を備えたＬＳＩを示したが、それに限ったものではなく、図３に示すように、ＬＳＩは、パルスカウンタ３のみを備えるものであってもよい。その場合には、パルスカウンタ３のみのモニタとなり、ＬＳＩは、ゲート素子の３０（Ｎ×２）段の精度でモニタした値を用いて、所定の数値Ｃｄ，Ｔｄを測定することができる。
【００３９】
しかしながら、本実施の形態のように、ＬＳＩがエッジ位置検出部４を備えている場合には、ゲート素子の１段の精度でモニタすることができるため、ＬＳＩは、さらに正確に所定の数値Ｃｄ，Ｔｄを測定することができる。
【００４０】
また、パルスカウンタ３は、第一の信号線にオシレータイネーブル信号が入力される前に、それまでに保持していた出力パルス数をリセットする。そのため、例えば、計測開始前にカウントした値から累積してカウントするといった誤った動作を防ぐことができ、確実にゲート遅延をモニタすることができる。
【００４１】
＜実施の形態２＞
ゲート遅延は、製造ばらつきや、温度、熱などの周囲条件の変化だけでなく、ゲート素子の閾値電圧によっても異なる。例えば、ゲート素子の閾値電圧が低いと動作速度は速くなり、閾値電圧が高いと動作速度が高くなる。そのため、互いに異なる閾値電圧を有する複数のゲート素子を備えているＬＩＳもある。そうすると、ＬＳＩが正確にゲート遅延を測定するためには、各閾値電圧のゲート素子を有するリングオシレータについて、ゲート遅延を測定する必要がある。
【００４２】
図４に本実施の形態に係るＬＳＩのブロック図を示す。なお、以下、新たに説明しない構成については、実施の形態１と同一であって、同一の符号を付すものとする。図４に示すように、本実施の形態に係るＬＳＩの遅延モニタは、実施の形態１のリングオシレータ１に相当するリングオシレータ１Ａ，１Ｂと、実施の形態１のエッジ位置検出部４に相当するエッジ位置検出部４Ａ，４Ｂとを備える。このうち、リングオシレータ１Ａが備える複数のゲート素子の閾値電圧（Ｌｖｔ）は、リングオシレータ１Ｂが備える複数のゲート素子の閾値電圧（Ｈｖｔ）よりも低くしている。
【００４３】
パルスカウンタ３は、どの閾値電圧のゲート素子で構成してもよく、リングオシレータ１Ａ，１Ｂは、パルスカウンタ３を兼用可能である。そこで、本実施の形態に係るＬＳＩは、一のパルスカウンタ３に複数のリングオシレータ１Ａ，１Ｂが、マルチプレクサ９を介して、接続されている。このマルチプレクサ９は、ＣＰＵ５からの信号に応じて、リングオシレータ１Ａ，１Ｂとパルスカウンタ３とを選択的に接続する。リングオシレータ１Ａはエッジ位置検出部４Ａと接続され、リングオシレータ１Ｂはエッジ位置検出部４Ｂと接続されている。
【００４４】
以上のように構成された本実施の形態に係るＬＳＩは、異なる閾値電圧を有するゲート素子のゲート遅延を直接モニタすることができる。さらに、パルスカウンタ３が、リングオシレータ１Ａ，１Ｂに兼用されているため、各リングオシレータ１Ａ，１Ｂごとにパルスカウンタ３を設けた遅延モニタに比べて、回路面積およびリーク電流を削減することができる。
【００４５】
なお、閾値電圧が互いに異なる２つのリングオシレータについて以上説明したが、閾値電圧が互いに異なる３以上のリングオシレータで、パルスカウンタ３を兼用してもよい。また、ＬＳＩのゲート素子全ての種類に対して遅延モニタを設ける必要はなく、一またはそのうちのいくつかに限定して設けてもよい。
【００４６】
＜実施の形態３＞
本実施の形態に係るＬＳＩを図５に示す。なお、以下、新たに説明しない構成については、実施の形態２と同一であって、同一の符号を付すものとする。
【００４７】
図５に示すように、本実施の形態に係るＬＳＩの遅延モニタは、リングオシレータ１Ａ，１Ｂに接続されるエッジ位置検出部４Ｃを備える。実施の形態２と同様、リングオシレータ１Ａが備える複数のゲート素子の閾値電圧（Ｌｖｔ）は、リングオシレータ１Ｂが備える複数のゲート素子の閾値電圧（Ｈｖｔ）よりも低くしている。
【００４８】
パルスカウンタ３、および、エッジ位置検出部４Ｃは、どの閾値電圧のゲート素子で構成してもよく、リングオシレータ１Ａ，１Ｂは、パルスカウンタ３、および、エッジ位置検出部４Ｃを兼用可能である。そこで、本実施の形態に係るＬＳＩは、一のエッジ位置検出部４Ｃに複数のリングオシレータ１Ａ，１Ｂが接続されている。エッジ位置検出部４Ｃは、例えば、リングオシレータ１Ａ，１Ｂとの間にセレクタを備えており、リングオシレータ１Ａ，１Ｂそれぞれの検出内容を選択してラッチする。そして、エッジ位置検出部４Ｃの検出内容は、内部周辺バスを介してＣＰＵ５で用いられる。
【００４９】
以上のように構成された本実施の形態に係るＬＳＩは、実施の形態２と同様に、異なる閾値電圧を有するゲート素子のゲート遅延を直接モニタすることができる。さらに、エッジ位置検出部４が、リングオシレータ１Ａ，１Ｂに兼用されているため、実施の形態２に比べて、回路面積およびリーク電流をさらに削減することができる。
【００５０】
なお、閾値電圧が互いに異なる２つのリングオシレータについて以上説明したが、閾値電圧が互いに異なる３以上のリングオシレータで、パルスカウンタ３を兼用してもよい。また、ＬＳＩのゲート素子全ての種類に対して遅延モニタを設ける必要はなく、一またはそのうちのいくつかに限定してもよい。
【００５１】
＜実施の形態４＞
図６に本実施の形態に係るＬＳＩのブロック図を示し、図７にそのＬＳＩの動作を示すタイミングチャートを示す。実施の形態１では、パルスカウンタ３には、遅延モニタ制御レジスタ８から遅延モニタリセット信号が入力されていた。本実施の形態では、遅延モニタ制御レジスタ８は、図６の矢印で示される遅延モニタの起動時に、フリップフロップ２に入力される計測開始信号をパルスカウンタ３に入力する。
【００５２】
パルスカウンタ３は、図７に示すように、計測開始信号が入力されたタイミングで、それまで保持していた出力パルス数をリセットする。一方、フリップフロップ２は、計測開始信号の入力終了のタイミングで、リングオシレータ１にオシレータイネーブル信号を入力する。
【００５３】
以上のように構成された本実施の形態に係るＬＳＩは、実施の形態１と比較すると、パルスカウンタ３が出力パルス数をリセットするタイミングにおいて異なる。しかし、リングオシレータ１がオシレータイネーブル信号を入力される前に、パルスカウンタ３が出力パルス数をリセットする点では同じである。そのため、実施の形態１と同様に、小さな回路面積で、ゲート遅延を直接モニタすることができる。
【００５４】
＜実施の形態５＞
図８に本実施の形態に係るＬＳＩのブロック図を示し、図９にそのＬＳＩの動作を示すタイミングチャートを示す。本実施の形態にかかるＬＳＩでは、図８に示すように、遅延モニタリセットレジスタ１０を備える。この遅延モニタリセットレジスタ１０は、他のレジスタと同様、特定のアドレスにマッピングされている。ＣＰＵ５は、内部周辺バスを介して、この遅延モニタリセットレジスタ１０をリード／ライト可能である。
【００５５】
遅延モニタ制御レジスタ８に値が書き込まれる前、つまり、遅延モニタの起動前に、遅延モニタリセットレジスタ１０は、ＣＰＵ５の制御により、遅延モニタリセットレジスタ１０に値が書き込まれる。遅延モニタリセットレジスタ１０は、値が書き込まれた場合に、遅延モニタリセット信号をパルスカウンタ３に出力する。
【００５６】
こうして、図９のタイミングチャートに示すように、遅延モニタリセットレジスタ１０は、図の矢印で示される遅延モニタの起動前に、遅延モニタリセット信号をパルスカウンタ３に入力する。パルスカウンタ３は、遅延モニタリセット信号が入力されると、それまで保持していた出力パルス数をリセットする。そのため、パルスカウンタ３は、遅延モニタの起動前に出力パルス数をリセットする。
【００５７】
本実施の形態に係るＬＳＩは、実施の形態１と同様に、小さな回路面積で、ゲート遅延を直接モニタすることができる。また、本実施の形態に係るＬＳＩでは、遅延モニタの起動前に、パルスカウンタ３は、それまで保持していた出力パルス数をリセットする。そのため、遅延モニタを起動してからゲート遅延を測定開始するまでの時間を短縮することができる。
【００５８】
なお、本実施の形態では、遅延モニタ制御レジスタ８と遅延モニタリセットレジスタ１０をＣＰＵ５の外部に設けた構成としている。しかし、これに限ったものではなく、図１０に示すように、遅延モニタ制御レジスタ８と遅延モニタリセットレジスタ１０の両方の動作が可能なＣＰＵ５を用いてもよい。
【００５９】
＜実施の形態６＞
ＬＳＩが備えるゲート素子のゲート遅延は、ゲート素子の周囲温度や、使用電圧の変動によって変動する。そこで、本実施の形態では、ゲート遅延の変動を、所定の範囲内に抑えることが可能なＬＳＩについて説明する。
【００６０】
図１１は、本実施の形態に係るＬＳＩ１４を示した図である。図１１に示すように、本実施の形態に係るＬＳＩ１４は、半導体モジュールと、ＰＬＬ２０と、ＣＰＵ２１とを備える。半導体モジュールは、複数のＣＰＵ５と、複数の遅延モニタ１３と、ＤＳＰ１５と、複数のモジュール１６と、２次キャッシュ１７と、バスＩ／Ｆ１８と、ＳＲＡＭ１９の少なくともいずれかを含む。
【００６１】
ＣＰＵ５、ＤＳＰ１５、各モジュール１６、２次キャッシュ１７、バスＩ／Ｆ１８、ＳＲＡＭ１９、ＣＰＵ２１は、それぞれ個別にクロック周波数の制御が可能である。また、ＣＰＵ５、ＤＳＰ１５、２次キャッシュ１７、バスＩ／Ｆ１８、ＳＲＡＭ１９、ＣＰＵ２１は、それぞれ個別に電圧制御が可能であり、モジュール１６はグループ単位で電圧制御可能である。
【００６２】
本実施の形態では、半導体モジュールは、複数のモジュール１６であるものとして以下説明する。モジュール１６は、遅延モニタ１３近傍に設けられている。
【００６３】
判定部であるＣＰＵ２１は、遅延モニタ１３の出力に基づく結果が、モジュール１６に対して予め設定された所定の範囲にあるか否かを判定する。ここで、遅延モニタ１３の出力に基づく結果とは、遅延モニタ１３の出力そのものだけでなく、遅延モニタ１３の出力により算出された所定の数値Ｃｄ，Ｔｄを含む。本実施の形態では、遅延モニタ１３の出力に基づく結果が、所定の範囲にあれば、モジュール１６は正常であるとＣＰＵ２１は判定する。一方、遅延モニタ１３に基づく結果が、所定の範囲外にあれば、遅延モニタ１３近傍のモジュール１６は正常に動作できない可能性があるとＣＰＵ２１は判定する。
【００６４】
本実施の形態では、ＣＰＵ２１が、定期的に上述した判定を行うために、遅延モニタ１３は定期的に起動される。ＬＳＩ１４は、遅延モニタ１３に基づく結果に応じて、モジュール１６に使用される電圧、または、モジュール１６に使用されるクロック周波数を制御する。
【００６５】
以上のように構成された本実施の形態に係るＬＳＩ１４の動作を、図１２を用いて説明する。ＣＰＵ２１が判定を開始するタイミング（ＳＴＥＰ１）で、遅延モニタ１３を起動する（ＳＴＥＰ２）。そして、ＣＰＵ２１は、遅延モニタ１３に基づく結果が、モジュール１６に対して予め設定された所定の範囲にあるか否かを判定する（ＳＴＥＰ３，４）。
【００６６】
モジュール１６が正常に動作できない可能性があるとＣＰＵ２１が判定した場合には、ＬＳＩ１４は、遅延モニタ１３に基づく結果が所定の範囲となるように、遅延モニタ１３に基づく結果に応じて、モジュール１６に使用される電圧、または、モジュール１６に使用されるクロック周波数を制御する（ＳＴＥＰ５）。
【００６７】
例えば、遅延モニタ１３に基づく結果が、上述したオシレータイネーブル信号の伝播可能段数Ｃｄであるとする。その伝播可能段数Ｃｄが所定の範囲よりも小さい、つまり、ゲート遅延が大きくなっている場合、モジュール１６の電圧が降下しているか、大きな消費電力により周囲温度が想定より上昇していると考えられる。
【００６８】
そこで、伝播可能段数Ｃｄが所定の範囲よりも小さい場合に、ＬＳＩ１４は、モジュール１６に使用されるクロック周波数を下げる。こうすることで、消費電力と温度が下がり、ゲート遅延が小さく（伝播可能段数Ｃｄは大きく）なる。クロック周波数の下げ幅は、伝播可能段数Ｃｄに応じて決定される。そして、クロック周波数を変更した後、ＳＴＥＰ２に戻り、ＳＴＥＰ４で再度、伝播可能段数Ｃｄが所定の範囲内にあるか否かを判定する。
【００６９】
なお、上の例では、伝播可能段数Ｃｄが小さい場合に、モジュール１６に使用されるクロック周波数を下げるとしたが、その代わりにモジュール１６に使用される電圧を上げてもよい。あるいは、モジュール１６に使用されるクロック周波数を下げるとともに、モジュール１６に使用される電圧を上げてもよい。
【００７０】
また別の例として、製造ばらつき、もしくは、温度の影響により、伝播可能段数Ｃｄが所定の範囲よりも大きい、つまり、ゲート遅延が小さくなる場合を示す。製造ばらつきがある場合には、想定よりも高速に仕上がることがある。温度の影響がある場合には、例えば、寒冷地などの使用で、周囲温度が低くなりすぎていてゲート遅延が小さくなりすぎている場合がある。また、製造プロセスによっては、温度が上がるとゲート遅延が小さくなる場合があり、特に最先端の微細プロセスでは、この傾向がみられる。
【００７１】
以上の影響で、ゲート遅延が小さすぎる、つまり、ゲート素子のスイッチング速度が速すぎるようになると、クロストークによる誤動作の原因になったり、ホールドエラーの原因になったり、ＥＭＩノイズによる誤動作の原因になったりする場合がある。
【００７２】
そこで、伝播可能段数Ｃｄが所定の範囲よりも大きい場合に、ＬＳＩ１４は、モジュール１６の電圧を下げる。こうすることで、ゲート遅延が大きく（伝播可能段数Ｃｄは小さく）なり、ＬＳＩ１４の誤動作を防ぐ。この場合には、それとともに、消費電力を低減することも可能である。電圧の下げ幅は、伝播可能段数Ｃｄに応じて決定される。そして、電圧を変更した後、ＳＴＥＰ２に戻り、ＳＴＥＰ４で再度、伝播可能段数Ｃｄが所定の範囲内にあるか否かを判定する。このように、遅延モニタ１３の出力は、例えば、遅延モニタ１３の出力を算出した値Ｃｄによって、間接的に、所定のフィードバック先に用いられる。ここでは、遅延モニタ１３の出力は間接的に所定のフィードバック先に用いられるが、直接的に所定のフィードバック先に用いてもよい。
【００７３】
なお、上の例では、伝播可能段数Ｃｄが大きい場合に、モジュール１６に使用される電圧を下げるとしたが、その代わりにモジュール１６に使用されるクロック周波数を上げてもよい。あるいは、モジュール１６に使用される電圧を下げるとともに、モジュール１６に使用されるクロック周波数を上げてもよい。
【００７４】
モジュール１６が正常であるとＣＰＵ２１が判定した場合には、何も行わずに、ＣＰＵ２１が次に判定するタイミングまでチェックを完了する（ＳＴＥＰ６）。なお、以上の例では、遅延モニタ１３の出力に基づく結果として、伝播可能段数Ｃｄを用いたが、平均遅延時間Ｔｄを用いてもよく、遅延モニタ１３の出力を用いてもよい。
【００７５】
このような本実施の形態に係るＬＳＩ１４は、遅延モニタ１３の出力に基づく結果が所定の範囲内となるように、モジュール１６に使用される電圧、および、モジュール１６に使用されるクロック周波数を制御する。これにより、ゲート素子の周囲温度および使用電圧の変動や、製造ばらつきや、局所的な状態変動によって生じるゲート遅延の変動を、所定の範囲内に抑えることができる。その結果、ＬＳＩ１４の誤動作を防ぐことができる。
【００７６】
なお、本実施の形態では、ＣＰＵ２１を判定部としたが、これに限ったものではなく、他のＣＰＵ５を判定部とするものであってもよい。また、判定部は、一定時間ごとに判定するものとしたが、これに限ったものではなく、モジュール１６の使用開始のタイミング、または、プログラム上で何らかの処理を行うタイミングなど、イベントごとに判定してもよい。
【００７７】
＜実施の形態７＞
本実施の形態において、以下、新たに説明しない構成については、実施の形態６と同一であって、同一の符号を付すものとする。
【００７８】
判定部であるＣＰＵ２１は、遅延モニタ１３の出力に基づく結果が、半導体モジュールに対して予め設定された所定の範囲にあるか否かを判定する。遅延モニタ１３の出力に基づく結果が、所定の範囲にあれば、半導体モジュールは正常であるとＣＰＵ２１は判定する。一方、遅延モニタ１３の出力に基づく結果が、所定の範囲外にあれば、遅延モニタ１３近傍の半導体モジュールは正常に動作できない可能性があるとＣＰＵ２１は判定する。
【００７９】
本実施の形態に係るＬＳＩ１４は、ＣＰＵ２１の判定に応じて、ＬＳＩ１４の外部に信号を出力する。ＬＳＩ１４の外部に出力される信号は、例えば、ＬＳＩ１４近傍に設けられた冷却ファンの回転数をコントロールしたり、ＬＳＩ１４近傍の他のＬＳＩまたは電子部品を停止する信号として用いられる。
【００８０】
以上のように構成された本実施の形態に係るＬＳＩ１４の動作を、図１３を用いて説明する。ＣＰＵ２１が判定を開始するタイミング（ＳＴＥＰ１１）で、遅延モニタ１３を起動する（ＳＴＥＰ１２）。そして、ＣＰＵ２１は、遅延モニタ１３の出力に基づく結果が、半導体モジュールに対して予め設定された所定の範囲にあるか否かを判定する（ＳＴＥＰ１３，１４）。
【００８１】
半導体モジュールが正常に動作できない可能性があるとＣＰＵ２１が判定した場合には、ＬＳＩ１４は、ＬＳＩ１４の外部に信号を出力する。そして、その信号に基づいて、ＬＳＩ１４近傍に設けられた冷却ファンの回転数をコントロールしたり、ＬＳＩ１４に近接しているＬＳＩまたは電子部品を停止する（ＳＴＥＰ１５）。その後、何も行わずに、ＣＰＵ２１が次に判定するタイミングまでチェックを完了する。
【００８２】
半導体モジュールが正常であるとＣＰＵ２１が判定した場合には、何も行わずに、次にＣＰＵ２１が判定するタイミングまでチェックを完了する（ＳＴＥＰ１６）。
【００８３】
このような本実施の形態に係るＬＳＩ１４は、遅延モニタ１３の出力に基づく結果が所定の範囲外にある場合には、ＬＳＩ１４の外部に信号を出力する。これにより、半導体モジュールが正常に動作できない可能性がある場合に、冷却ファンの回転数をコントロールしたり、周囲の電子部品の停止などのフィードバックが可能となる。そのようなフィードバックにより、ゲート遅延の変動を所定の範囲内に抑えることができる。その結果、ＬＳＩ１４の誤動作を防ぐことができるとともに、高温使用による発火を未然に防ぐことができる。
【００８４】
なお、本実施の形態では、半導体モジュールが正常に動作できない可能性があるとＣＰＵ２１が判定した場合に、ＬＳＩ１４の外部に信号を出力するＬＳＩ１４について説明したが、これに限ったものではない。例えば、半導体モジュールが正常に動作できない可能性があるとＣＰＵ２１が判定した場合に、実施の形態６と同様、半導体モジュールに使用される電圧、および、半導体モジュールに使用されるクロック周波数を制御する。そして、その制御を行った後でもなお、複数の半導体モジュールにおいて正常に動作できない可能性があると判定された場合に、冷却ファンの回転数を制御、または、ＬＳＩ１４近傍の他のＬＳＩの動作を停止するようにしてもよい。また、ＬＳＩ１４は、場合によっては、外部に信号を出力するとともにＬＳＩ１４自身の動作を停止してもよい。
【００８５】
＜実施の形態８＞
本実施の形態において、以下、新たに説明しない構成については、実施の形態６と同一であって、同一の符号を付すものとする。
【００８６】
本実施の形態において、半導体モジュールは、タスク処理を実行する複数のＣＰＵ５である。この複数のＣＰＵ５は、ＳＭＰ（Symmetric Multiple Processor）であり、互いに同一機能・同一性能を有する。そして、１個のＣＰＵ５は、１本のタスクを行うものとし、ＬＳＩ１４は、８個のうち最大７個のＣＰＵ５がタスク処理を行うものとする。つまり、７本以下のタスクまで実行するものとする。
【００８７】
判定部であるＣＰＵ２１は、遅延モニタ１３の出力に基づく結果が、ＣＰＵ５に対して予め設定された所定の範囲にあるか否かを判定する。遅延モニタ１３の出力に基づく結果が、所定の範囲にあれば、ＣＰＵ５は正常であるとＣＰＵ２１は判定する。一方、遅延モニタ１３の出力に基づく結果が、所定の範囲外にあれば、遅延モニタ１３近傍のＣＰＵ５は正常に動作できない可能性があるとＣＰＵ２１は判定する。本実施の形態に係るＬＳＩ１４は、ＣＰＵ２１の判定に応じてタスク処理を実行するＣＰＵ５を変更する。
【００８８】
以上のように構成された本実施の形態に係るＬＳＩ１４の動作を、図１４を用いて説明する。ＣＰＵ２１が判定を開始するタイミング（ＳＴＥＰ２１）で、遅延モニタ１３を起動する（ＳＴＥＰ２２）。そして、ＣＰＵ２１は、遅延モニタ１３の出力に基づく結果が、ＣＰＵ５に対して予め設定された所定の範囲にあるか否かを判定する（ＳＴＥＰ２３，２４）。
【００８９】
ＣＰＵ５が正常に動作できない可能性があるとＣＰＵ２１が判定した場合には、ＬＳＩ１４は、ＣＰＵ２１の判定に応じてタスク処理を実行するＣＰＵ５を変更する。具体的には、正常に動作できない可能性があると判定されたＣＰＵ５におけるタスク処理を停止する。そして、８個のうちタスク処理を実行していなかった残りの一のＣＰＵ５に、停止したＣＰＵ５の状態をコピーして、タスクの続きを実行させる。こうして、タスク処理を実行するＣＰＵ５を変更する（ＳＴＥＰ２５）。そして、次にＣＰＵ２１が判定するタイミングまで判定を完了する（ＳＴＥＰ２６）。その後、何も行わずに、ＣＰＵ２１が次に判定するタイミングまでチェックを完了する。
【００９０】
ＣＰＵ５全てが正常であるとＣＰＵ２１が判定した場合には、何も行わずに、次にＣＰＵ２１が判定するタイミングまでチェックを完了する（ＳＴＥＰ２７）。
【００９１】
このような本実施の形態に係るＬＳＩ１４は、遅延モニタ１３の出力に基づく結果が所定の範囲外になった場合には、タスク処理を実行するＣＰＵ５を変更する。こうして、高負荷な演算によって温度が上昇してゲート遅延に異常を起こしているＣＰＵ５を停止して、そのＣＰＵ５を自然冷却することができる。そのため、ゲート遅延の変動を所定の範囲内に抑えることができる。その一方で、ゲート遅延に異常を起こしていない他のＣＰＵ５でタスク処理が引き継がれるため、処理能力を低下させることなく、演算を継続することができる。その結果、誤動作を防ぐことができるとともに、過度な負荷の演算にも誤動作なく演算することができる。
【００９２】
なお、本実施の形態では、８個のＣＰＵ５のうち、７個以下のＣＰＵ５でタスク処理を実行する場合について説明したが、これに限ったものではない。タスクによって演算量が違うため、ＣＰＵ５それぞれにおける負荷は異なるからである。そのため、例えば、演算量の多いＣＰＵ５で異常があると判定された場合に、演算量の少ないＣＰＵ５とタスクを交代すれば、ＣＰＵ５全てがタスク処理を実行する場合においても適用可能である。
【００９３】
＜実施の形態９＞
本実施の形態では、遅延モニタの回路構成およびレイアウトについて説明する。本実施の形態に係るＬＳＩの遅延モニタは、ゲート構造、配線構造など物理的構成が全く同じとなるようにレイアウトされている。これは、例えば、ＬＳＩ製造で使用するマスク上における遅延モニタのパターンデータを、同一マスク上において全て同じパターンにすることにより実現できる。
【００９４】
図１５は、本実施の形態に係るＬＳＩの遅延モニタのレイアウトを示したものである。本実施の形態では、遅延モニタを構成するリングオシレータ１は、ゲート素子であるインバータ素子６とＮＡＮＤ素子７と備える。図１５には、エッジ位置検出部４を構成する多ビットのフリップフロップ１２が示されている。図１５では、フリップフロップ１２の容量は大きいが、リングオシレータ１の容量は小さいほうが望ましいため、ゲート素子と、フリップフロップ１２との間には、バッファ１１が設けられている。
【００９５】
本実施の形態に係る遅延モニタの回路構成およびレイアウトは、各ゲート素子は規則性をもって配置されて各ゲート素子同士の間ではインピーダンスは互いに等しく、エッジ位置検出部４は各ゲート素子との間で規則性をもって配置されて各ゲート素子とエッジ位置検出部４との間のインピーダンスは互いに等しく形成されている。本実施の形態では、これらインピーダンスを等しくするため、図１５に示すように、インバータ素子６、ＮＡＮＤ素子７、バッファ１１、フリップフロップ１２それぞれの配置、および、各素子間に形成される配線のメタルの層、長さ、ビア数は揃えられている。
【００９６】
以上のように形成される本実施の形態に係るＬＳＩは、インピーダンスが等しいため、各ゲート素子による遅延基準を全て同じにすることができる。これにより、遅延モニタの出力の精度のばらつきを抑え、精度の高い測定ができる。
【００９７】
＜実施の形態１０＞
本実施の形態では、実施の形態９で説明したＬＳＩについて説明する。なお、以下、新たに説明しない構成については、実施の形態９と同一であって、同一の符号を付すものとする。本実施の形態に係るＬＳＩは、遅延モニタの回路構成およびレイアウト形状はライブラリ化、つまり、ＩＰ化されている。
【００９８】
以上のように、遅延モニタをライブラリ化すると、ＬＳＩのパターン、および、機能が異なっても、同一製造プロセスで製造すれば、ゲート構造、配線構造など物理的構成が全く同一となる遅延モニタを搭載することができる。これにより、多くのＬＳＩにおいて、モニタ値が全て同じ基準下でデータを蓄積することができ、そのデータを用いてゲート遅延の解析を行うことが可能となる。
【図面の簡単な説明】
【００９９】
【図１】実施の形態１に係るＬＳＩを示すブロック図である。
【図２】実施の形態１に係るＬＳＩのタイミングチャートである。
【図３】実施の形態１に係るＬＳＩを示すブロック図である。
【図４】実施の形態２に係るＬＳＩを示すブロック図である。
【図５】実施の形態３に係るＬＳＩを示すブロック図である。
【図６】実施の形態４に係るＬＳＩを示すブロック図である。
【図７】実施の形態４に係るＬＳＩのタイミングチャートである。
【図８】実施の形態５に係るＬＳＩを示すブロック図である。
【図９】実施の形態５に係るＬＳＩのタイミングチャートである。
【図１０】実施の形態５に係るＬＳＩを示すブロック図である。
【図１１】実施の形態６に係るＬＳＩを示すブロック図である。
【図１２】実施の形態６に係るＬＳＩの動作を示すフローチャートである。
【図１３】実施の形態７に係るＬＳＩの動作を示すフローチャートである。
【図１４】実施の形態８に係るＬＳＩの動作を示すフローチャートである。
【図１５】実施の形態９に係るＬＳＩのレイアウトを示す図である。
【符号の説明】
【０１００】
１，１Ａ，１Ｂ  リングオシレータ、２，１２  フリップフロップ、３  パルスカウンタ、４，４Ａ，４Ｂ  エッジ位置検出部、５，２１  ＣＰＵ、６  インバータ素子、７  ＮＡＮＤ素子、８  遅延モニタ制御レジスタ、９  マルチプレクサ、１０  遅延モニタリセットレジスタ、１１  バッファ、１３  遅延モニタ、１４  ＬＳＩ、１５  ＤＳＰ、１６  モジュール、１７  ２次キャッシュ、１８  バスＩ／Ｆ、１９  ＳＲＡＭ、２０  ＰＬＬ。
【図１】
2008180635.tif 000003
【図２】
2008180635.tif 000004
【図３】
2008180635.tif 000005
【図４】
2008180635.tif 000006
【図５】
2008180635.tif 000007
【図６】
2008180635.tif 000008
【図７】
2008180635.tif 000009
【図８】
2008180635.tif 000010
【図９】
2008180635.tif 000011
【図１０】
2008180635.tif 000012
【図１１】
2008180635.tif 000013
【図１２】
2008180635.tif 000014
【図１３】
2008180635.tif 000015
【図１４】
2008180635.tif 000016
【図１５】
2008180635.tif 000017