(57)【要約】【課題】エラー検出率が高い、小規模のカウンタ回路を提供する。【解決手段】カウンタ回路は、数値をカウントし、カウント値を出力する第１のカウンタと、前記第１のカウンタと同期して、該第１のカウンタにより出力された前記カウント値のビットエラーを検出するためのチェック信号を、前記第１のカウンタの内部信号を使用せずに生成する第２のカウンタと、前記第２のカウンタにより生成された前記チェック信号を使用して前記第１のカウンタにより出力された前記カウント値のビットエラーを検出する検出手段と、を有する。【選択図】図１
2010114581.tif 000002
【特許請求の範囲】
【請求項１】
数値をカウントし、カウント値を出力する第１のカウンタと、
前記第１のカウンタにより出力された前記カウント値のビットエラーを検出するためのチェック信号を、自身の内部信号を使用することにより、前記第１のカウンタと同期して生成する第２のカウンタと、
前記第２のカウンタにより生成された前記チェック信号を使用して前記第１のカウンタにより出力された前記カウント値のビットエラーを検出する検出手段と、
を有するカウンタ回路。
【請求項２】
前記第２のカウンタは、自身がカウントしたカウント値を前記チェック信号として生成する、請求項１に記載のカウンタ回路。
【請求項３】
前記第２のカウンタは、自身がカウントしたカウント値に基づいて、パリティ信号を前記チェック信号として生成する、請求項１に記載のカウンタ回路。
【請求項４】
前記第１のカウンタ及び前記第２のカウンタは、バイナリカウンタである、請求項１乃至３のいずれか１項に記載のカウンタ回路。
【請求項５】
前記第１のカウンタ及び前記第２のカウンタは、リングカウンタである、請求項１乃至３のいずれか１項に記載のカウンタ回路。
【請求項６】
前記第１のカウンタは、グレイコードカウンタであり、前記第２のカウンタは、トグルカウンタである、請求項３に記載のカウンタ回路。
【請求項７】
所定の２進値をグレイコードに変換し、変換した該グレイコードを初期値として前記グレイコードカウンタに入力し、変換した該グレイコードの最下位の値を初期値として前記トグルカウンタに入力する、グレイコード変換回路を更に有する、請求項６に記載のカウンタ回路。
【請求項８】
前記グレイコードカウンタにより出力された前記グレイコードを２進値に変換する２進変換回路を更に有する、請求項６又は７に記載のカウンタ回路。
【請求項９】
前記グレイコードカウンタは、
入力値を保持し、所定の周期のクロック信号に応じて保持値を更新し、該保持値を出力するカウンタ用レジスタと、
前記カウンタ用レジスタにより出力された前記保持値をグレイコード形式で所定値だけ増分するグレイコードインクリメンタと、
所定の制御信号に従って、前記グレイコードインクリメンタにより増分された値、又は前記初期値のいずれか一方を前記入力値として前記カウンタ用レジスタに入力するセレクタと、
を有する、請求項７又は８に記載のカウンタ回路。
【請求項１０】
前記トグルカウンタは、
入力値を保持し、前記クロック信号に応じて保持値を更新し、該保持値を出力するパリティ用レジスタと、
前記パリティ用レジスタにより出力された前記保持値を反転するインバータと、
前記制御信号に従って、前記インバータにより反転された値、又は前記初期値のいずれか一方を前記入力値として前記パリティ用レジスタに入力するパリティ用セレクタと、
を有する、請求項９に記載のカウンタ回路。
【請求項１１】
前記グレイコードインクリメンタは、
前記クロック信号に同期して交互に値を変える１ビットの補助ビットを保持し、保持値を出力する補助レジスタを更に有し、
前記検出手段は、前記パリティ信号を使用して、前記グレイコードカウンタにより出力された前記カウント値のビットエラーと、前記補助レジスタにより出力された前記保持値のビットエラーとを検出する、請求項９又は１０に記載のカウンタ回路。
【請求項１２】
前記カウンタ回路は、複数の桁に対応する複数の前記第１のカウンタを有し、
それぞれの第１のカウンタは、下位桁に対応する第１のカウンタにより桁上げ信号が出力されたときに数値をカウントし、前記カウント値が最大値であれば、上位桁に対応する第１のカウンタへ桁上げ信号を出力する、請求項１乃至１１のいずれか１項に記載のカウンタ回路。
【請求項１３】
前記検出手段は、複数の前記カウンタにより出力された前記カウント値のいずれかに生じたビットエラーを検出する、請求項１２に記載のカウンタ回路。
【請求項１４】
第１のカウンタが数値をカウントし、カウント値を出力し、
第２のカウンタが、前記第１のカウンタにより出力された前記カウント値のビットエラーを検出するためのチェック信号を、自身の内部信号を使用することにより、前記第１のカウンタと同期して生成し、
検出手段が、前記第２のカウンタにより生成された前記チェック信号を使用して前記第１のカウンタにより出力された前記カウント値のビットエラーを検出する、カウンタ回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カウンタ回路のソフトエラーを検出する技術に関する。
【背景技術】
【０００２】
半導体メモリ回路においては、α線の照射等によって生じる電荷によって記憶していた内容が変化してしまう現象が従来から知られている。この結果、動作不良（ソフトエラー）が生じることがある。その対策としてパリティビットやエラー訂正コードなど、エラー検出用の冗長なビットをメモリに記憶しておき、これらのビットを使用してエラーの検出や補正をすることが一般に行われている。
【０００３】
近年は、半導体の微細化によって、メモリ素子だけでなく、ロジック回路を構成するフリップフロップにおいてもソフトエラーが発生することが懸念されている。このロジック回路においても、数ビットのデータに対して1ビットのパリティビットを設けることなどによって、ソフトエラーの検出が可能である。
【０００４】
このロジック回路では、様々な機能を実現するためにカウンタ回路がよく使用される。特に、カウンタ回路はシステム内の秩序を保つために使われることが多いので、カウンタ回路が持つ役割は重要である。カウンタ回路は数値を保持するために内部にフリップフロップからなるレジスタを有する。もし、このレジスタにソフトエラーが発生するとシステム内の秩序が失われ、システムが致命的な誤動作を起こす可能性がある。従って、カウンタ回路のソフトエラーを検出することが重要となる。
【０００５】
パリティ信号でカウンタ回路のソフトエラーを検出する回路の一例を図２４に示す。同図に記載の回路は、カウンタ内の内部信号（インクリメンタの出力値または初期値）を使用してパリティ信号を生成する。そして、このパリティ信号を使用してカウンタのソフトエラーを検出する。
【０００６】
特許文献１に記載された回路は、インクリメンタの出力信号と並列にパリティ信号を生成している。
【特許文献１】特開２００７−２０８３８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、これらのカウンタ回路では、ソフトエラー検出確率が低いという問題がある。
【０００８】
詳細には、これらの回路において、クロックの立ち上がりでレジスタが更新された直後にインクリメンタがカウントアップし、そのカウント値に基づいてパリティ生成回路がパリティ信号を生成する。そして、カウンタ回路は、カウント値のビットエラーを、パリティ信号を使用して検出する。
【０００９】
この構成では、インクリメンタの出力値（カウント値）を保持するレジスタにソフトエラーが生じたとき、そのエラー発生のタイミングが遅く、エラー後の値を使用した増分処理が完了する前に、次のクロックが立ち上がれば、増分後の値がレジスタに保持されないので、カウンタ回路は、正常なカウント値を出力できる。
【００１０】
エラーの発生タイミングが比較的早く、増分処理完了後、パリティ生成処理完了前に次のクロックの立ち上がると、カウンタ回路は、エラー後のカウント値と、エラー後の値に基づかないパリティ信号とを使用してパリティチェックを行う。このパリティチェックの処理が、次のクロックの立ち上がりまでに完了すれば、パリティチェック回路は、そのクロックにおいてエラーを検出できる。但し、次のクロックにおいては、エラーチェック回路はエラー後の値から生成された正常値のパリティ信号を使用するので、次のクロック以降は、ビットエラーが生じたにも関わらず、エラーチェック回路においてエラーが検出されない。
【００１１】
エラーを示すパリティ信号が出力されとき、この信号を破棄しないで非同期ＲＳ（Set-Reset）フリップフロップで保持する構成が考えられる。ところが、この構成では、パリティチェックの処理中に一時的にエラーとなるグリッチがでた場合に、レジスタにエラーが生じなくともエラーが検出されてしまう。
【００１２】
さらに、ソフトエラーが生じたにも関わらず、全くエラーが検出されないときもある。例えば、図５（ａ）に示すように、増分処理およびパリティ生成処理よりもパリティチェック処理に時間がかかる構成について考える。この構成では、エラー発生のタイミングが早いと、次のクロックの立ち上がり前に、増分処理およびパリティ生成処理（白抜き部分）が完了するが、エラー後のカウント値を使用したパリティチェック処理（白抜き部分）が完了していないことがある。このときは、ビットエラーが生じたにも関わらず、エラーチェック回路においてエラーが検出されない。そして、次のクロック以降においても、エラー後の値を使用した正常値のパリティ信号がレジスタに書き込まれているので、ソフトエラーが生じているにも関わらず、全くエラーが検出されない。
【００１３】
パリティ値をレジスタ値から直接生成する構成としても、パリティチェックより早く次のパリティが生成されたならば、同様に、検出できないエラー発生のタイミングが存在する。
【００１４】
このように、ソフトエラーが生じても、カウンタ回路は、エラー検出信号を全く出力しなかったり、１クロックしか出力しなかったりすることがあったので、エラー検出率が低いという問題があった。
【００１５】
本発明は、エラー検出率が高いカウンタ回路を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明のカウンタ回路は、数値をカウントし、カウント値を出力する第１のカウンタと、前記第１のカウンタにより出力された前記カウント値のビットエラーを検出するためのチェック信号を、自身の内部信号を使用することにより、前記第１のカウンタと同期して生成する第２のカウンタと、前記第２のカウンタにより生成された前記チェック信号を使用して前記第１のカウンタにより出力された前記カウント値のビットエラーを検出する検出手段と、を有する。
【００１７】
本発明のカウンタ回路の制御方法は、第１のカウンタが数値をカウントし、カウント値を出力し、第２のカウンタが、前記第１のカウンタにより出力された前記カウント値のビットエラーを検出するためのチェック信号を、自身の内部信号を使用することにより、前記第１のカウンタと同期して生成し、検出手段が、前記第２のカウンタにより生成された前記チェック信号を使用して前記第１のカウンタにより出力された前記カウント値のビットエラーを検出する、方法である。
【発明の効果】
【００１８】
本発明によれば、カウンタ回路は、第１のカウンタおよび第２のカウンタを有し、第２のカウンタが自身の内部信号を使用することにより生成したチェック信号を用いて、第１のカウンタによるカウント値のビットエラーを検出する。従って、カウンタ回路は、ビットエラー後のカウント値に基づいてチェック信号を生成せず、ソフトエラーが生じてから、確実にエラー検出信号を出力するので、エラー検出率が高くなる。
【発明を実施するための最良の形態】
【００１９】
（第１の実施形態）
本発明の第１の実施形態について図面を参照して詳細に説明する。
【００２０】
図１は、本実施形態のカウンタ回路１の構成を示すブロック図である。同図を参照すると、カウンタ回路１は、カウンタ１０（第１のカウンタ）、チェック用カウンタ２０（第２のカウンタ）、およびパリティチェック回路３０を有する。
【００２１】
カウンタ１０は、インクリメンタ１１、セレクタ１３、およびレジスタ１４を有する。インクリメンタ１１には、レジスタ１４の出力値（バイナリ値）が入力される。インクリメンタ１１は、この入力値を１増分してセレクタ１３に出力する。
【００２２】
セレクタ１３には、リセット信号、インクリメンタの出力値（カウント値）、および所定の初期値が入力される。セレクタ１３は、リセット信号の値に応じて、インクリメンタの出力値または初期値のいずれかをレジスタ１４に出力する。
【００２３】
レジスタ１４には、クロック信号、イネーブル信号、およびセレクタ１３の出力値（カウント値）が入力される。レジスタ１４は、カウント値を保持し、イネーブル信号がアサート時に、クロック信号の値に同期して入力値で保持値を更新する。そしてレジスタ１３は、保持値をパリティチェック回路３０に出力する。
【００２４】
チェック用カウンタ２０は、インクリメンタ２１、セレクタ２３、およびレジスタ２４を有する。インクリメンタ２１には、レジスタ２４の出力値（バイナリ値）が入力される。インクリメンタ２１は、この入力値を１増分してセレクタ２３に出力する。
【００２５】
セレクタ２３には、リセット信号、インクリメンタ２１の出力値（バイナリ値）、および所定の初期値が入力される。セレクタ２２は、リセット信号の値に応じて、インクリメンタ２１の出力値または初期値のいずれかをレジスタ２４に出力する。
【００２６】
レジスタ２４には、クロック信号、イネーブル信号、およびセレクタ２２の出力値（バイナリ値）が入力される。レジスタ２４は、カウント値を保持し、イネーブル信号がアサート時に、クロック信号の値に同期して入力値で保持値を更新する。そしてレジスタ２４は、保持値をパリティチェック回路３０に出力する。
【００２７】
パリティチェック回路３０には、カウンタ１０およびチェック用カウンタ２０の出力値が入力される。パリティチェック回路３０は、カウンタ１０からの出力値のビットエラーを、チェック用カウンタ２０から出力値を使用して検出する。例えば、両方のカウンタからの出力値の排他的論理和を求め、「０」の値であれば、ビットエラーが生じていないと判断し、「１」の値であれば、ビットエラーが生じていないと判断する。
【００２８】
カウンタ回路１の動作について説明する。図２は、カウンタ回路１にソフトエラーが生じていないときの動作を示す表である。同図を参照すると、各クロックにおいて、カウンタ１０の出力値（Ｃｎ）と、チェック用カウンタ２０の出力値（Ｃ’ｎ）とは、同じ値なので、パリティチェック回路３０は、エラーを検出せず、排他的論理和として「０」の値（Ｐ）を出力する。
【００２９】
図３は、レジスタ１４にソフトエラーが生じた場合のカウンタ回路１の動作を示す表である。同図を参照すると、１６進数で「５」の値に対応するバイナリ値の２桁目にビットエラーが生じ、本来「０１０１」であるところ、「０１１１」が出力されている。同図において、色つきのマスはエラーが生じたビットまたはエラーを検出したビットを示すものである。一方、チェック用カウンタ２０の出力値は「０１０１」であり、１の数が奇数個となるので、パリティチェック回路３０は、エラーを検出し、排他的論理和として「１」の値を出力する。
【００３０】
インクリメンタ１１は、前回の出力値をフィードバックしてカウントするので、これ以降も正常な値を出力しない。このため、パリティチェック回路３０は、頻繁にエラーを検出する。
【００３１】
図４に示すように、レジスタ２４の方にソフトエラーが生じた場合も、パリティチェック回路３０は、エラーを検出する。
【００３２】
図５（a）は、インクリメンタの出力値からパリティ信号を生成する回路の動作を示すタイミングチャートである。同図（ｂ）は本実施形態のカウンタ回路１の動作を示すタイミングチャートである。
【００３３】
図５（ａ）に示すように、エラー発生のタイミングが早いと、次のクロックの立ち上がり前に、増分処理およびパリティ生成処理（白抜き部分）が完了して、エラー後のカウント値を使用したパリティチェック処理（白抜き部分）が完了する前に、次のクロックが立ち上がる。この結果、ビットエラーが生じたにも関わらず、エラーチェック回路においてエラーが検出されない。そして、エラー後の値から生成されたパリティ信号がレジスタに保持されるので、次のクロック以降でも、カウンタ回路は、全くエラーを検出できない。
【００３４】
これに対して図５（ｂ）に示すように、カウンタ回路１では、カウント用のインクリメンタ１１と独立したインクリメンタ２１を設けている。この構成でも、エラー発生のタイミングが早く、次のクロックの立ち上がり前に、エラー後のカウント値を使用したパリティチェック処理（白抜き部分）が完了しないと、そのクロックにおいてエラーが検出されない。しかし、次のクロックにおいては、インクリメンタ１１がエラー後の値を増分するのに対し、インクリメンタ２１は、エラー後のカウント値を使用しないので、エラーチェック回路３０は、エラー検出信号を出力できる。
【００３５】
このように、本実施形態のカウンタ回路１は、確実に、エラー検出信号を出力できる。また、図３で示したように、複数のクロックにわたってエラー検出信号を出力するので、エラー検出率が向上する。
【００３６】
以上説明したように、本実施形態によれば、カウンタ回路１は、チェック用カウンタ２０（第２のカウンタ）がレジスタ２４の出力値（内部信号）を使用することにより、生成したカウント値（チェック信号）を使用してカウンタ１０（第１のカウンタ）のビットエラーを検出する。カウンタ回路１は、ビットエラー後のカウント値に基づいてチェック信号を生成することがなくなり、ソフトエラーが生じたとき、確実にエラー検出信号を出力するので、エラー検出率が高くなる。
【００３７】
（第２の実施形態）
本発明の第２の実施形態について図面を参照して説明する。
【００３８】
図６は、本実施形態のカウンタ回路１ａの構成を示すブロック図である。同図を参照すると、カウンタ回路１aは、インクリメンタ１１および２１の代わりに、シフタ１１ａおよび２１ａを使用する点で、第１の実施形態のカウンタ回路１と異なる。
【００３９】
シフタ１１aは、ワンホットカウンタまたはリングカウンタであり、任意のビット長（例えば８ビット）のレジスタ２４の出力のうち最大値と最小値とをつないで環状にし、１ビットだけ他のビットと異なる値にし、このビットの位置をカウントすることに１ビットずつ変化させる。シフタ２１ａも、所定のビット数（例えば、２ビット）のリングカウンタであり、シフタ１１ａと同期してカウントする。
【００４０】
図７は、カウンタ回路１aにソフトエラーが生じていないときの動作を示す表である。同図を参照すると、各クロックにおいて、カウンタ１０（シフタ１１ａ）の出力値（Ｃｎ）における「１」値のビット数は、チェック用カウンタ２０（シフタ２１ａ）の出力値（Ｃ’ｎ）における「１」の値のビット数と同じなので、パリティチェック回路３０は、エラーを検出せず、排他的論理和として「０」の値（Ｐ）を出力する。
【００４１】
図８は、レジスタ１４にソフトエラーが生じた場合のカウンタ回路１ａの動作を示す表である。同図を参照すると、１６進数で「２」の値に対応するカウント値の７桁目にビットエラーが生じ、本来「００００００１００」であるところ、「０１０００１００」が出力されている。同図において、色つきのマスはエラーが生じたビットまたはエラーを検出したビットを示すものである。一方、チェック用カウンタ２０の出力値は「０１」であり、１の数が奇数個となるので、パリティチェック回路３０は、エラーを検出し、排他的論理和として「１」の値を出力する。
【００４２】
シフタ１１aは、前回の出力値をフィードバックしてカウントするので、これ以降も正常な値を出力しない。このため、パリティチェック回路３０は、エラーを検出し続ける。
【００４３】
図９に示すように、レジスタ１４に１から０への方向にビット化けが生じた場合も、１の数が奇数個となるので、パリティチェック回路３０は、エラーを検出できる。図１０に示すように、レジスタ２４の方にソフトエラーが生じた場合も、同様に、パリティチェック回路３０は、エラーを検出できる。
【００４４】
以上、説明したように、本実施形態によれば、カウンタ回路１ａは、リングカウンタに生じたソフトエラーについても高い確率で検出できる。
【００４５】
特に、本実施形態のカウンタ回路１aは、小規模なハードウェア構成でエラー検出率を向上させることができる。具体的には、カウンタのエラー検出率を向上させるには、カウンタ用のレジスタ１４を２重化する構成が考えられるが、この構成では、同じサイズのレジスタを２つ設けなくてはならず、オーバーヘッドが大きくなる。
【００４６】
これに対して、本実施形態のカウンタ回路１aでは、パリティ信号用のレジスタ２４は、カウンタ用のレジスタ１４以下のサイズで足りるので、ハードウェア規模は比較的小さくなる。
【００４７】
（第３の実施形態）
本発明の第３の実施形態について図面を参照して説明する。
【００４８】
図１１は、本実施形態のカウンタ回路１ｂの構成を示すブロック図である。同図を参照すると、カウンタ回路１ｂは、カウンタとしてグレイコードカウンタ（第１のカウンタ）およびトグルカウンタ（第２のカウンタ）を使用する点で、第１の実施形態のカウンタ回路１と異なる。
【００４９】
カウンタ回路１ｂは、グレイコードカウンタ１０ｂ、トグルカウンタ２０ｂ、パリティチェック回路３０、グレイコード変換回路４０、および二進変換回路５０を有する。
【００５０】
グレイコード変換回路４０は、所定の初期値のバイナリ値を、グレイコードに変換する。そして、グレイコード変換回路４０は、変換したグレイコードをグレイコードカウンタ１０ｂおよびトグルカウンタ２０ｂへ出力する。
【００５１】
グレイコードカウンタ１０ｂは、インクリメンタ１１の代わりにグレイコードインクリメンタ１１ｂを有するほかは、カウンタ１０と同様の構成である。グレイコードインクリメンタ１１ｂには、レジスタ１４の出力値が入力される。グレイコードインクリメンタ１１ｂは、入力値を、グレイコード形式で増分し、セレクタ１３に出力する。レジスタ１４は、パリティチェック回路３０および二進変換回路５０に保持値を出力する。
【００５２】
トグルカウンタ２０ｂは、インクリメンタ２１の代わりに、インバータ２１ｂを有するほかは、チェック用カウンタ２０と同様の構成である。インバータ２１ｂには、レジスタ２４の出力値が入力される。インバータ２１ｂは、入力値を反転した値をセレクタ２３に出力する。
【００５３】
二進変換回路５０は、グレイコードカウンタ１０ｂの出力値を、二進数に変換する。
【００５４】
このように、回路を構成することにより、グレイコードカウンタ１１ｂは、初期値からグレイコード形式でカウントした値を出力する。また、トグルカウンタ２０ｂは、０と１とのトグル値を交互に出力する。
【００５５】
図１２は、カウンタ回路１ｂの動作を説明するための表である。同図において、色の異なるマスは、増分前の値と異なる値となったビットを示すものである。同図を参照すると、２進数では、値が増分されるたびに、複数のビットが変化することがある。例えば、１６進表記で「７」の値に対応する２進数「０１１１」を１増分すると、「１０００」となり、４ビットが変化している。
【００５６】
これに対して、グレイコードでは、値を１変化させるたびに、コードの中のビットは、１ビットだけしか変化しない。例えば、１６進表記で「７」の値に対応するグレイコード「０１００」を１増分すると、「１１００」となり、１ビットしか変化しない。このため、値を１変化するたびに、コードの中における、値が１のビット数は、偶数の値と奇数の値とを交互にとることになる。
【００５７】
従って、グレイコードについて値が変化するたびにパリティビットを生成すると、そのパリティビットの値は０と１とを交互にとることになる。よって、０と１との値を交互に出力するトグルカウンタ２０ｂの出力をそのままパリティビットとして使用することで、カウンタ回路１ｂは、グレイコード中の１ビットのエラーを検出することができる。
【００５８】
図１３は、カウンタ回路１ｂの回路図の一例である。ここでは、４ビットのカウンタの例を示す。
【００５９】
グレイコード変換回路４０は、ＸＯＲゲート４０１、４０２、および４０３を有する。ＸＯＲゲート４０１には、４ビットの２進数（初期値）のうち、４桁目（Ｉ３）と３桁目（Ｉ２）との値が入力される。ＸＯＲゲート４０１は、入力値の排他的論理和を、グレイコードの３桁目としてグレイコードカウンタ１０ｂへ出力する。
【００６０】
ＸＯＲゲート４０２には、４ビットの２進数（初期値）のうち、３桁目（Ｉ２）と２桁目（Ｉ１）との値が入力される。ＸＯＲゲート４０２は、入力値の排他的論理和を、グレイコードの２桁目としてグレイコードカウンタ１０ｂへ出力する。
【００６１】
ＸＯＲゲート４０３には、４ビットの２進数（初期値）のうち、２桁目（Ｉ１）と１桁目（Ｉ０）との値が入力される。ＸＯＲゲート４０１は、入力値の排他的論理和を、グレイコードの１桁目としてグレイコードカウンタ１０ｂへ出力する。グレイコード変換回路４０は、４ビットの２進数（初期値）の４ケタ目（Ｉ３）を、そのまま、グレイコードの４桁目としてグレイコードカウンタ１０ｂへ出力する。
【００６２】
グレイコードカウンタ１０ｂは、グレイコードインクリメンタ１１ｂと、セレクタ１３１、１３２、１３３、および１３４と、Ｄフリップフロップ１４１、１４２、１４３、および１４４とを有する。
【００６３】
グレイコードインクリメンタ１１ｂは、ＸＯＲゲート１１１、１１２、１１３、１１７、１１８、および１１９と、ＡＮＤゲート１１４、１１５、および１１６と、インバータ１２０とを有する。
【００６４】
ＸＯＲゲート１１１は、Ｄフリップフロップ１４１の出力値と、Ｄフリップフロップ１４２の出力値との排他的論理和をＡＮＤゲート１１４に入力する。ＸＯＲゲート１１２は、Ｄフリップフロップ１４１の出力値と、Ｄフリップフロップ１４２の出力値との排他的論理和をＡＮＤゲート１１５に入力する。
【００６５】
ＸＯＲゲート１１３は、Ｄフリップフロップ１４１の出力値と、Ｄフリップフロップ１４２および１４３の出力値との排他的論理和をＡＮＤゲート１１６およびインバータ１２０に入力する。
【００６６】
ＡＮＤゲート１１４は、Ｄフリップフロップ１４３の出力を反転した値と、Ｄフリップフロップ１４４の出力を反転した値と、ＸＯＲゲート１１１の出力値との論理積をＸＯＲゲート１１７に入力する。
【００６７】
ＡＮＤゲート１１５は、Ｄフリップフロップ１４３の出力値と、Ｄフリップフロップ１４４の出力を反転した値と、ＸＯＲゲート１１２の出力を反転した値との論理積をＸＯＲゲート１１８に入力する。ＡＮＤゲート１１６は、Ｄフリップフロップ１４４の出力値と、ＸＯＲゲート１１３の出力を反転した値との論理積をＸＯＲゲート１１９に入力する。
【００６８】
ＸＯＲゲート１１７は、Ｄフリップフロップ１４１の出力値と、ＡＮＤゲート１１４の出力値との排他的論理和をセレクタ１３１に入力する。ＸＯＲゲート１１８は、Ｄフリップフロップ１４２の出力値と、ＡＮＤゲート１１５の出力値との排他的論理和をセレクタ１３２に入力する。ＸＯＲゲート１１９は、Ｄフリップフロップ１４３の出力値と、ＡＮＤゲート１１６の出力値との排他的論理和をセレクタ１３３に入力する。インバータ１２０は、ＸＯＲゲート１１３の出力を反転した値をセレクタ１３４に入力する。
【００６９】
セレクタ１３１は、リセット信号がＯＮの場合、グレイコード変換回路４０の出力値の４桁目の値を、ＯＦＦの場合、ＸＯＲゲート１１７の出力値をＤフリップフロップ１４１に入力する。セレクタ１３２は、リセット信号がＯＮの場合、グレイコード変換回路４０の出力値の３桁目の値を、ＯＦＦの場合、ＸＯＲゲート１１８の出力値をＤフリップフロップ１４２に入力する。
【００７０】
セレクタ１３３は、リセット信号がＯＮの場合、グレイコード変換回路４０の出力値の２桁目の値を、ＯＦＦの場合、ＸＯＲゲート１１９の出力値をＤフリップフロップ１４３に入力する。セレクタ１３４は、リセット信号がＯＮの場合、グレイコード変換回路４０の出力値の１桁目の値を、ＯＦＦの場合、インバータ１２０の出力値をＤフリップフロップ１４４に入力する。
【００７１】
Ｄフリップフロップ１４１は、カウント値の４桁目を保持し、イネーブル信号がアサート時にクロック信号に同期して保持値を更新する。Ｄフリップフロップ１４１は、保持値を、グレイコードの４桁目の値（Ｃ３）としてＸＯＲゲート１１１、１１２、１１３、および１１７と、パリティチェック回路３０と、二進変換回路５０とに入力する。
【００７２】
Ｄフリップフロップ１４２は、カウント値の３桁目を保持し、イネーブル信号がアサート時にクロック信号に同期して保持値を更新する。Ｄフリップフロップ１４２は、保持値を、グレイコードの３桁目の値（Ｃ２）としてＸＯＲゲート１１１、１１２、１１３、および１１８と、パリティチェック回路３０と、二進変換回路５０とに入力する。
【００７３】
Ｄフリップフロップ１４３は、カウント値の２桁目を保持し、イネーブル信号がアサート時にクロック信号に同期して保持値を更新する。Ｄフリップフロップ１４３は、保持値を、グレイコードの２桁目の値（Ｃ１）としてＡＮＤゲート１１４、１１５と、ＸＯＲゲート１１３、１１９と、パリティチェック回路３０と、二進変換回路５０とに入力する。
【００７４】
Ｄフリップフロップ１４４は、カウント値の１桁目を保持し、イネーブル信号がアサート時にクロック信号に同期して保持値を更新する。Ｄフリップフロップ１４４は、保持値を、グレイコードの１桁目の値（Ｃ０）としてＡＮＤゲート１１４、１１５、および１１６と、パリティチェック回路３０と、二進変換回路５０とに入力する。
【００７５】
トグルカウンタ２０ｂにおいてレジスタ２４は、Ｄフリップフロップであり、イネーブル信号がアサート時に、クロック信号に同期して入力されたパリティ信号の値に保持値を更新する。そしてレジスタ２４は、保持値（Ｃｐ）をパリティチェック回路３０に出力する。
【００７６】
パリティチェック回路３０は、ＸＯＲゲート３０１を有する。ＸＯＲゲート３０１は、Ｄフリップフロップ１４１、１４２、１４３、および１４４の値（Ｃ３、Ｃ２、Ｃ１、およびＣ０）と、レジスタ２４の出力値（パリティ信号：Ｃｐ）との排他的論理和を、エラー検出信号として出力する。
【００７７】
二進変換回路５０は、ＸＯＲゲート５０１、５０２、および５０３を有する。二進変換回路５０は、Ｄフリップフロップ１４１の出力値（Ｃ３）をそのまま、二進数の４桁目の値（Ｂ３）として出力する。
【００７８】
ＸＯＲゲート５０１は、Ｄフリップフロップ１４１および１４２の出力値（Ｃ３およびＣ２）の排他的論理和を二進数の３桁目の値（Ｂ２）として出力する。ＸＯＲゲート５０２は、Ｄフリップフロップ１４１、１４２、および１４３の出力値（Ｃ３、Ｃ２、およびＣ１）の排他的論理和を二進数の２桁目の値（Ｂ１）として出力する。ＸＯＲゲート５０３は、Ｄフリップフロップ１４１、１４２、１４３、および１４４の出力値（Ｃ３、Ｃ２、Ｃ１、およびＣ０）の排他的論理和を二進数の１桁目の値（Ｂ０）として出力する。
【００７９】
このように回路を構成することにより、Ｄフリップフロップ１４１、１４２、１４３、および１４４は、それぞれ、グレイコードのカウント値の４桁目、３桁目、２桁目、および１桁目の値（Ｃ３、Ｃ２、Ｃ１、およびＣ０）を保持する。
【００８０】
そして、パリティチェック回路３０は、グレイコードの各桁の値（Ｃ３、Ｃ２、Ｃ１、およびＣ０）、およびパリティ信号（Ｃｐ）の値において、１の値の数が偶数である場合、ビットエラーが生じていないことを意味する「０」のエラー検出信号を出力する。パリティチェック回路３０は、１の値の数が奇数である場合、ビットエラーが生じたことを意味する「１」のエラー検出信号を出力する。
【００８１】
図１４は、ソフトエラーが生じない場合のカウンタ回路１ｂの動作を示す表である。同図を参照すると、グレイコードカウンタ１０ｂは、グレイコード形式で、カウント動作を行い、４ビットのカウント値（Ｃｎ）を出力する。一方、トグルカウンタ２０ｂは、グレイコードカウンタ１０ａに同期して、１と０との値を交互にパリティ信号（Ｃｐ）として出力する。グレイコード（Ｃｎ）の各ビット値と、パリティ信号（Ｃｐ）の値にソフトエラーが生じない場合、これらの値において、１の値は偶数個なので、パリティチェック回路３０は、０の値のエラー検出信号（Ｅｒｒ）を出力する。
【００８２】
図１５は、グレイコードカウンタ１０ｂにソフトエラーが生じた場合の、カウンタ回路１ａの動作を示す表である。グレイコードのいずれかのビットにビットエラーが生じた場合、グレイコードの各ビット値とパリティ信号の値とにおいて、１の値の総数は奇数個となる。このため、パリティチェック回路３０は、ソフトエラーを検出し、１の値のエラー検出信号を出力する。
【００８３】
例えば、１６進数「Ａ」に対応するグレイコード（Ｃｎ）の３桁目にビットエラーが生じた場合について考える。グレイコードカウンタ１０ｂにより、正常値であれば「１１１１」であるところ、「１０１１」のカウント値が出力される。一方、トグルカウンタ２０ｂは、グレイコードカウンタ１０ｂとは別に、「０」の値のパリティ信号（Ｃｐ）を出力する。
【００８４】
そして、カウント値「１０１１」、およびパリティ信号の値「０」において、１の値の総数が奇数となるので、パリティチェック回路３０は、ソフトエラーを検出し、１の値のエラー検出信号（Ｅｒｒ）を出力する。
【００８５】
グレイコードカウンタ１０ｂは、ソフトエラーが生じたＤフリップフロップの出力値をフィードバックして、グレイコードをカウントするので、以降は、グレイコードカウンタ１０ｂから正しい値が出力されない。一方で、トグルカウンタ２０ｂは、独立して０、１の値を交互に出力し続けるので、カウント値およびパリティにおいて、１の値が偶数個とならない。このため、パリティチェック回路３０は、１の値のエラー検出信号（Ｅｒｒ）を出力し続ける。
【００８６】
図１６は、トグルカウンタ２０ａにソフトエラーが生じた場合の、カウンタ回路１ａの動作を示す表である。同図を参照すると、トグルカウンタ２０ｂにソフトエラーが生じた場合も、１の値が奇数個となるので、パリティチェック回路３０は、１の値のエラー検出信号（Ｅｒｒ）を出力する。
【００８７】
なお、本実施形態では、グレイコード変換回路４０により２進数の初期値をグレイコードに変換する構成としているが、グレイコードを直接初期値として入力するのであれば、グレイコード変換回路４０を設けない構成とすることもできる。
【００８８】
また、本実施形態では、二進変換回路５０によりグレイコードのカウンタ出力を二進数に変換する構成としているが、二進変換が必要でないのであれば、二進変換回路５０を設けない構成とすることもできる。
【００８９】
以上説明したように、本実施形態によれば、グレイコードカウンタのソフトエラーを小規模な回路で確実に検出することができる。
【００９０】
カウンタ回路１ｂは、パリティ信号を使用してエラーチェックするので、カウント値について所定数のビットごとに１ビットのソフトエラーを検出できる。
【００９１】
グレイコード変換回路４０で２進数をグレイコードに変換し、二進変換回路５０でグレイコードを２進数に変換するので、カウンタ回路１ｂは、二進数を使用する回路で使用できる。
【００９２】
特に、本実施形態のカウンタ回路１ｂは、小規模なハードウェア構成でエラー検出率を向上させることができる。カウンタ用のレジスタ１４を２重化する構成では、同じサイズのレジスタを２つ設けなくてはならず、オーバーヘッドが大きくなるところ、本実施形態のカウンタ回路１ｂでは、パリティ信号用のレジスタ２４は、１ビットを保持できるサイズで足りるので、ハードウェア規模は比較的小さくなる。
【００９３】
（第４の実施形態）
本発明の第４の実施形態について説明する。
【００９４】
図１７は、本実施形態のカウンタ回路１ｃの構成を示す回路図である。同図を参照すると、カウンタ回路１ｃは、補助ビットを使用するグレイコードカウンタのソフトエラーを検出する点で、第２の実施形態のカウンタ回路１ｂと異なる。
【００９５】
カウンタ回路１ｃは、グレイコード変換回路４０の代わりにグレイコード変換回路４０ｃを、グレイコードカウンタ１０ｂの代わりにグレイコードカウンタ１０ｃを、パリティチェック回路３０の代わりにパリティチェック回路３０ｃを有する以外は、カウンタ回路１ｂと同様の構成である。
【００９６】
グレイコード変換回路４０ｃは、インバータ４０４を更に有する以外は、グレイコード変換回路４０と同様の構成である。インバータ４０４は、２進数の初期値の１桁目の値（Ｉ０）を反転して、グレイコードカウンタ１０ｃへ出力する。
【００９７】
グレイコードカウンタ１０ｃは、補助ビットを保持するためのＤフリップフロップ１４５およびインバータ１０１を更に有し、グレイコードインクリメンタ１１ｂの代わりにグレイコードインクリメンタ１１ｃを有する以外は、グレイコードカウンタ１０ｂと同様の構成である。
【００９８】
グレイコードインクリメンタ１１ｃは、ＸＯＲゲート１１１、１１２、および１１３を有さず、ＡＮＤゲート１１４、１１５、および１１６と、ＸＯＲゲート１１７、１１８、および１１９と、インバータ１２０のほか、セレクタ１３５およびＸＯＲゲート１２１を更に有する。
【００９９】
ＡＮＤゲート１１４は、Ｄフリップフロップ１４３、１４４、および１４５の各出力を反転した値の論理積をＸＯＲゲート１１７に入力する。ＸＯＲゲート１１７は、ＡＮＤゲート１１４の出力値と、Ｄフリップフロップ１４１の出力値との排他的論理和を、セレクタ１３１に入力する。
【０１００】
ＡＮＤゲート１１５は、Ｄフリップフロップ１４３の出力値と、Ｄフリップフロップ１４４および１４５の各出力を反転した値との論理積をＸＯＲゲート１１８に入力する。ＸＯＲゲート１１８は、ＡＮＤゲート１１５の出力値と、Ｄフリップフロップ１４２の出力値との排他的論理和を、セレクタ１３２に入力する。
【０１０１】
ＡＮＤゲート１１６は、Ｄフリップフロップ１４４の出力値と、Ｄフリップフロップ１４５の出力を反転した値との論理積をＸＯＲゲート１１９に入力する。ＸＯＲゲート１１９は、ＡＮＤゲート１１６の出力値と、Ｄフリップフロップ１４３の出力値との排他的論理和を、セレクタ１３３に入力する。
【０１０２】
ＸＯＲゲート１２１は、Ｄフリップフロップ１４４および１４５の出力値の排他的論理和をセレクタ１３４に入力する。インバータ１２０は、Ｄフリップフロップ１４５の出力値を反転してセレクタ１３５に入力する。
【０１０３】
セレクタ１３５は、リセット信号がＯＮの場合、インバータ４０４の出力値を、ＯＦＦの場合、インバータ１２０の出力値をＤフリップフロップ１４５に入力する。
【０１０４】
Ｄフリップフロップ１４５は、補助ビット（Ｃｘ）を保持し、イネーブル信号がアサート時にクロック信号に同期して保持値を更新する。Ｄフリップフロップ１４５は、保持値を、インバータ１０１および１２０と、ＡＮＤゲート１１４、１１５、および１１６と、ＸＯＲゲート１２１とに入力する。
【０１０５】
インバータ１０１は、Ｄフリップフロップ１４５の出力値（Ｃｘ）を反転してパリティチェック回路３０ｃに入力する。
【０１０６】
パリティチェック回路３０ｃは、ＸＯＲゲート３０１に加えて、ＸＯＲゲート３０２およびＯＲゲート３０３を有する。
【０１０７】
ＸＯＲゲート３０１は、グレイコード（Ｃｎ）とパリティ（Ｃｐ）との排他的論理和（Ｅｒｒ０）をＯＲゲート３０３に入力する。ＸＯＲゲート３０２は、インバータ１０１の出力値とＤフリップフロップ２４の出力値（パリティ信号：Ｃｐ）との排他的論理和（Ｅｒｒ１）を、ＯＲゲート３０３に入力する。ＯＲゲート３０３は、ＸＯＲゲート３０１および３０２の各出力値の排他的論理和をエラー検出信号として出力する。
【０１０８】
このように回路を構成することにより、カウンタ回路１ｃは、カウント値を保持するＤフリップフロップ（１４１、１４２、１４３、および１４４）、パリティを保持するＤフリップフロップ（２４）のみならず、補助ビットを保持するＤフリップフロップ（１４５）に生じたソフトエラーも監視することができる。
【０１０９】
図１８は、カウンタ回路１ｃの動作を示す表である。同図を参照すると、グレイコードカウンタ１０ｃは、グレイコード形式で、カウント動作を行い、４ビットのカウント値（Ｃｎ）と補助ビット（Ｃｘ）を出力する。一方、トグルカウンタ２０ｂは、グレイコードカウンタ１０ｃに同期して、１と０との値を交互にパリティ信号（Ｃｐ）として出力する。
【０１１０】
グレイコード（Ｃｎ）の各ビット値と、パリティ信号（Ｃｐ）の値にソフトエラーが生じない場合、これらの値において、１の値は偶数個なので、パリティチェック回路３０は、０の値のエラー検出信号（Ｅｒｒ０）を生成する。また、補助ビット（Ｃｘ）およびパリティビット（Ｃｐ）の値にソフトエラーが生じない場合、これらの値において、１の値は偶数個なので、パリティチェック回路３０は、０の値のエラー検出信号（Ｅｒｒ１）を生成する。そして、ＸＯＲゲート３０１および３０２の出力値（Ｅｒｒ０，Ｅｒｒ１）がいずれもエラーを検出した値でない場合、パリティチェック回路３０は、０の値のエラー検出信号を出力する。
【０１１１】
図１９は、グレイコードカウンタ１０ｃにソフトエラーが生じた場合の、カウンタ回路１ｃの動作を示す表である。グレイコードのいずれかのビットにビットエラーが生じた場合、ＸＯＲゲート３０１は、１の値のエラー検出信号Ｅｒｒ０を出力する。
【０１１２】
例えば、１６進数「Ａ」に対応するグレイコード（Ｃｎ）の３桁目にビットエラーが生じた場合について考える。この場合、グレイコードは「１０１１」、パリティ信号の値は「０」となり、１の値が奇数個となるので、ＸＯＲゲート３０１は、１の値のエラー検出信号（Ｅｒｒ０）を出力する。
【０１１３】
図２０は、トグルカウンタ２０ｂにソフトエラーが生じた場合の、カウンタ回路１ｃの動作を示す表である。同図に示すように、トグルカウンタ２０ｂにソフトエラーが生じた場合も、１の値が奇数個となるので、ＸＯＲゲート３０１は、１の値のエラー検出信号（Ｅｒｒ０）を出力する。また、Ｃｘの反転とＣｐが異なるので、ＸＯＲゲート３０２は１の値のエラー検出信号（Ｅｒｒ１）を出力する。
【０１１４】
図２１は、グレイコードのサブコード（補助ビット：Ｃｘ）にビットエラーが生じた場合のカウンタ回路１ｃの動作を示す表である。同図を参照すると、Ｄフリップフロップ１４５にソフトエラーが生じた場合、Ｃｘの反転とＣｐが異なるので、ＸＯＲゲート３０２は、１の値のエラー検出信号（Ｅｒｒ１）を出力する。
【０１１５】
以上説明したように、本実施形態によれば、カウンタ回路１ｃは、補助ビットも監視するので、グレイコードカウンタのソフトエラーをより確実に検出できる。
【０１１６】
（第５の実施形態）
本発明の第５の実施形態について説明する。
【０１１７】
図２２は、本実施形態のカウンタ回路の構成を示すブロック図である。同図を参照すると、本実施形態のカウンタ回路は、４ビットカウンタを複数設けて長ビットカウンタを実現した点で、第２の実施形態のカウンタ回路１ｂと異なる。
【０１１８】
本実施形態のカウンタ回路は、カウンタ回路１ｄ、３、５、および７と、ＯＲゲート３１とを有する。カウンタ１ｄ、３、５、および７は、それぞれ、４ビットのグレイコードカウンタを有し、全体で１６ビットのグレイコードをカウントする回路として動作する。また、各カウンタ回路は、１ビットのエラーを検出するエラー検出信号をＯＲゲート３１へ出力する。ＯＲゲート３１は、各カウンタ回路からのエラー検出信号の論理和を出力する。
【０１１９】
図２３は、カウンタ回路１ｄの構成を示す回路図である。同図を参照すると、カウント回路１ｃは、ＡＮＤゲート６０を更に有するほかは、第２の実施形態のカウント回路１ｂと同様の構成である。
【０１２０】
ＡＮＤゲート６０は、Ｄフリップフロップ１４１の出力値と、Ｄフリップフロップ１４２、１４３、および１４４の出力を反転した値との論理積をカウントアップ信号として出力する。
【０１２１】
このように回路を構成することにより、グレイコードが最大値（「１０００」）となったとき、カウンタ回路１ｄはカウントアップ信号を出力し、このカウントアップ信号に応じて、上位の桁のカウンタ回路３がカウント動作を行う。
【０１２２】
カウンタ回路３、５、および７の構成は、カウンタ回路１ｄの構成と同様である。
【０１２３】
以上説明したように、本実施形態によれば、４ビットよりも長ビットのカウンタ回路に生じたソフトエラーを簡易な回路で確実に検出することができる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の第１の実施形態のカウンタ回路の構成を示すブロック図である。
【図２】本発明の第１の実施形態のカウンタ回路の動作を示す表である。
【図３】本発明の第１の実施形態のカウンタ回路の動作を示す表である。
【図４】本発明の第１の実施形態のカウンタ回路の動作を示す表である。
【図５】（ａ）従来のカウンタ回路の動作を示すタイミングチャートである。（ｂ）本発明の第１の実施形態のカウンタ回路を示すタイミングチャートである。
【図６】本発明の第２の実施形態のカウンタ回路の構成を示すブロック図である。
【図７】本発明の第２の実施形態のカウンタ回路の動作を示す表である。
【図８】本発明の第２の実施形態のカウンタ回路の動作を示す表である。
【図９】本発明の第２の実施形態のカウンタ回路の動作を示す表である。
【図１０】本発明の第２の実施形態のカウンタ回路の動作を示す表である。
【図１１】本発明の第３の実施形態のパリティビット生成回路の構成を示すブロック図である。
【図１２】本発明の第３の実施形態のカウンタ回路の動作を説明するための図である。
【図１３】本発明の第３の実施形態のカウンタ回路の構成を示す回路図である。
【図１４】本発明の第３の実施形態のカウンタ回路の動作を示す表である。
【図１５】本発明の第３の実施形態のカウンタ回路の動作を示す表である。
【図１６】本発明の第３の実施形態のカウンタ回路の動作を示す表である。
【図１７】本発明の第４の実施形態のカウンタ回路の構成を示す回路図である。
【図１８】本発明の第４の実施形態のカウンタ回路の動作を示す表である。
【図１９】本発明の第４の実施形態のカウンタ回路の動作を示す表である。
【図２０】本発明の第４の実施形態のカウンタ回路の動作を示す表である。
【図２１】本発明の第４の実施形態のカウンタ回路の動作を示す表である。
【図２２】本発明の第５の実施形態のカウンタ回路の構成を示すブロック図である。
【図２３】本発明の第５の実施形態のカウンタ回路の構成を示す回路図である。
【図２４】従来のカウンタ回路の構成を示すブロック図である。
【符号の説明】
【０１２５】
１、１ａ、１ｂ、１ｃ、１ｄ、３、５、７    カウンタ回路
１０    カウンタ
１０ｂ、１０ｃ    グレイコードカウンタ
１１、２１    インクリメンタ
１１ｂ、１１ｃ    グレイコードインクリメンタ
１１ａ、２１ａ    シフタ
１３、２３    セレクタ
１４、２４    レジスタ
２０    チェック用カウンタ
２０ｂ    トグルカウンタ
３０    パリティチェック回路
４０    グレイコード変換回路
５０    二進変換回路
１５    パリティビット生成回路
１１１、１１２、１１３、１１７、１１８、１１９、１２１、３０１、３０２、４０１、４０２、４０３、５０１、５０２、５０３    ＸＯＲゲート
１０１、１２０、４０４、２１ｂ    インバータ
３１、３０３    ＯＲゲート
６０、１１４、１１５、１１６    ＡＮＤゲート
１４１、１４２、１４３、１４４、１４５    Ｄフリップフロップ
【図１】
2010114581.tif 000003
【図２】
2010114581.tif 000004
【図３】
2010114581.tif 000005
【図４】
2010114581.tif 000006
【図５】
2010114581.tif 000007
【図６】
2010114581.tif 000008
【図７】
2010114581.tif 000009
【図８】
2010114581.tif 000010
【図９】
2010114581.tif 000011
【図１０】
2010114581.tif 000012
【図１１】
2010114581.tif 000013
【図１２】
2010114581.tif 000014
【図１３】
2010114581.tif 000015
【図１４】
2010114581.tif 000016
【図１５】
2010114581.tif 000017
【図１６】
2010114581.tif 000018
【図１７】
2010114581.tif 000019
【図１８】
2010114581.tif 000020
【図１９】
2010114581.tif 000021
【図２０】
2010114581.tif 000022
【図２１】
2010114581.tif 000023
【図２２】
2010114581.tif 000024
【図２３】
2010114581.tif 000025
【図２４】
2010114581.tif 000026