(57)【要約】【課題】従来よりも回路規模を縮小し、かつ同一系統内で偶数個のビット誤りが発生した場合にもビット誤りの検出が行える３重冗長誤り訂正回路を得る。【解決手段】並列データの入出力機能と、並列データをビット単位でシフトすることによるビットデータの入出力機能とを合わせ持ったシフトレジスタ２ａ、２ｂ、２ｃと、１ビット幅３系統入力の誤り訂正回路６を用いて、なおかつ誤り訂正回路６で検出された誤り訂正結果をシフトレジスタ２ａの直列データ入力８としてフィードバックする構成を取ることにより、誤り訂正された並列出力データ１２を得ることができる。従来よりも回路規模を縮小し、かつ同一系統内で偶数個のビット誤りが発生した場合にもビット誤りの検出が行える３重冗長誤り訂正回路を得ることができる。【選択図】        図２
2004349840.tif 000002
【特許請求の範囲】
【請求項１】
入力信号として並列ロード信号に基づいて３重冗長構成のデータバスラインから並列入力データを取り込み、シフトクロック信号に基づいて内部レジスタのビットデータを１ビットシフトするとともに直列入力データを最上位ビットに取り込むことにより内部レジスタの内容を更新する機能を有し、出力信号として内部レジスタの内容を並列出力データとして出力するとともに最下位のビットデータを直列出力データとして出力する機能を有する第１から第３のシフトレジスタと、
前記第１から第３のシフトレジスタから前記直列出力データを取得し、あらかじめ設定された真理値表に基づいて訂正直列出力データを出力する誤り訂正回路と
を備えた３重冗長誤り訂正回路であって、
前記第１から第３のシフトレジスタのいずれか１つのシフトレジスタは、前記誤り訂正回路から前記訂正直列出力データを前記直列入力データとして取得することにより、３重冗長構成のデータバスラインから取り込まれた前記並列入力データに対して誤り訂正を施したデータを前記並列出力データとして出力することを特徴とする３重冗長誤り訂正回路。
【請求項２】
請求項１に記載の３重冗長誤り訂正回路において、
前記第１から第３のシフトレジスタから前記直列出力データを取得し、あらかじめ設定された真理値表に基づいて前記第１から第３のシフトレジスタに対応する誤り検出データを出力する誤り検出回路と、
前記誤り検出回路から取得した前記誤り検出データに基づいて前記第１から第３のシフトレジスタに対応するエラー出力データを出力するエラー検出回路と
をさらに備えたことを特徴とする３重冗長誤り訂正回路。
【請求項３】
請求項２に記載の３重冗長誤り訂正回路において、
前記エラー検出回路は、前記第１から第３のシフトレジスタに対応した第１から第３のカウンタを備え、前記第１から第３のシフトレジスタに取り込まれた前記並列入力データの誤りビット数を計数し、計数結果をエラー出力データとして出力することを特徴とする３重冗長誤り訂正回路。
【請求項４】
請求項２に記載の３重冗長誤り訂正回路において、
前記エラー検出回路は、前記第１から第３のシフトレジスタに対応した第１から第３のフリップフロップを備え、前記第１から第３のシフトレジスタに取り込まれた前記並列入力データ内の誤りビットの有無を検出し、検出結果をエラー出力データとして出力することをすることを特徴とする３重冗長誤り訂正回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３重冗長系の構成によりデータバスラインからデータを取り込み、誤りが生じた系を検出し、誤りの発生していない系のデータを取り出す３重冗長誤り訂正回路に関するものである。
【０００２】
【従来の技術】
従来の３重冗長誤り訂正回路では、３重冗長構成のデータバスラインの誤り検出処理を行う回路の回路規模を抑制するために、入力データそれぞれからチェックサムビットを生成し、このチェックサムビットの多数決をとることによりデータ誤りを検出して、出力するべき系を決定する回路構成とすることで、回路規模の大きい多ビット比較器を用いることなく誤り判定処理を行うようにしている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平９−３０７５３６号公報（第５頁、第１図）
【０００４】
【発明が解決しようとする課題】
しかしながら、従来技術には次のような問題点がある。このような３重冗長誤り訂正回路においては、同一系統内で偶数個のビット誤りが発生した場合チェックサムビットは他の系統と同一となり、誤り判定が出来ないという欠点があった。また、各系統に必要となるチェックサムビット生成回路には、データ幅に対応したビット数分の１ビット加算を行う機能が必要であり、回路規模の抑制の妨げになるという問題点もあった。さらに入力データのデータ幅に応じた出力データ選択回路が必要なため、さらなる回路規模の抑制の妨げになるという問題点もあった。
【０００５】
本発明は上述のような課題を解決するためになされたもので、従来よりも回路規模を縮小し、かつ同一系統内で偶数個のビット誤りが発生した場合にもビット誤りの検出が行える３重冗長誤り訂正回路を得ることを目的とする。
【０００６】
【課題を解決するための手段】
本発明に係る３重冗長誤り訂正回路は、入力信号として並列ロード信号に基づいて３重冗長構成のデータバスラインから並列入力データを取り込み、シフトクロック信号に基づいて内部レジスタのビットデータを１ビットシフトするとともに直列入力データを最上位ビットに取り込むことにより内部レジスタの内容を更新する機能を有し、出力信号として内部レジスタの内容を並列出力データとして出力するとともに最下位のビットデータを直列出力データとして出力する機能を有する第１から第３のシフトレジスタと、前記第１から第３のシフトレジスタから前記直列出力データを取得し、あらかじめ設定された真理値表に基づいて訂正直列出力データを出力する誤り訂正回路とを備えた３重冗長誤り訂正回路であって、前記第１から第３のシフトレジスタのいずれか１つのシフトレジスタは、前記誤り訂正回路から前記訂正直列出力データを前記直列入力データとして取得することにより、３重冗長構成のデータバスラインから取り込まれた前記並列入力データに対して誤り訂正を施したデータを前記並列出力データとして出力するものである。
【０００７】
【発明の実施の形態】
実施の形態１．
図１は本発明の実施の形態１に係る３重冗長誤り訂正回路を示す構成図である。入力データバスラインからシフトレジスタ２ａの並列データ入力に並列入力データ１ａが入力されている。同様に入力データバスラインからシフトレジスタ２ｂ、２ｃの並列データ入力に並列入力データ１ｂ及び並列入力データ１ｃがそれぞれ入力されている。
【０００８】
シフトレジスタ２ａ、２ｂ、２ｃには、並列ロード信号３と、シフトクロック信号４が入力されている。シフトレジスタ２ａ、２ｂ、２ｃの直列出力データ５ａ、５ｂ、５ｃは、誤り訂正回路６と誤り検出回路７に入力されている。誤り訂正回路６は、直列出力データ５ａ、５ｂ、５ｃに基づいて訂正直列出力データを出力する。そして、誤り訂正回路６の出力である訂正直列出力データはシフトレジスタ２ａの直列入力に直列入力データ８としてフィードバック入力されている。
【０００９】
一方、誤り検出回路７は、シフトレジスタ２ａ、２ｂ、２ｃから取得した直列出力データ５ａ、５ｂ、５ｃに基づいて誤り検出データ９ａ、９ｂ、９ｃを出力する。出力された誤り検出データ９ａ、９ｂ、９ｃは、エラー検出回路１０に入力される。エラー検出回路１０は、取得した誤り検出データに基づいてエラー出力データ１１ａ、１１ｂ、１１ｃを出力する。出力されたエラー出力データ１１ａ、１１ｂ、１１ｃは、それぞれ並列入力データ１ａ、１ｂ、１ｃの誤り検出結果に対応している。
【００１０】
シフトレジスタ２ａは、誤り訂正回路６からの訂正直列出力データを直列入力データ８としてフィードバック入力することにより、シフトレジスタ２ａの内部レジスタのビットデータを誤り訂正の施された結果で書き替えることとなる。内部レジスタが保持している論理値は並列出力データ１２としてシフトレジスタ２ａから出力される。シフトレジスタ２ａ，２ｂ，２ｃはともに同一の機能を有しているが、本実施の形態１ではシフトレジスタ２ａから誤り訂正の施された並列出力データが出力される構成を示している。
【００１１】
次に、シフトレジスタ２ａ，２ｂ，２ｃの動作について図２を用いて詳細を説明する。図２は、本発明の実施の形態１に係るシフトレジスタ２ａ，２ｂ，２ｃの動作を説明する図であり、入力データ幅が８ビットの場合を示している。８ビット構成の１ビットレジスタ１４ａ〜１４ｈは並列ロード信号３が論理値０になるとそれぞれ８ビット構成の並列入力データ１５ａ〜１５ｈの論理値に更新される。
【００１２】
また、シフトクロック信号４が論理値１から０に変化すると、１ビットレジスタ１４ａ〜１４ｈの内容が１ビットシフトされる。すなわち、１ビットレジスタ１４ａは直列入力データ８の論理値に更新され、１ビットレジスタ１４ｂ〜１４ｈはそれぞれシフトクロック信号４が論理値１から０に変化するまえの１ビットレジスタ１４ａ〜１４ｇの論理値に更新される。８ビット構成の並列出力データ１６ａ〜１６ｈはそれぞれ１ビットレジスタ１４ａ〜１４ｈが保持している論理値出力であり、直列出力データ５は並列出力データ１６ｈと同じ論理値を出力する。
【００１３】
図２で説明した８ビット構成の並列出力データ１６ａ〜１６ｈは、図１におけるシフトレジスタ２ａからの並列出力データ１２に相当する。また、図２で説明した８ビット構成の並列入力データ１５ａ〜１５ｈは、図１におけるシフトレジスタ２ａ、２ｂ、２ｃそれぞれの並列入力データ１ａ、１ｂ、１ｃに相当する。さらに、図２で説明した直列出力データ５は、図１におけるシフトレジスタ２ａ、２ｂ、２ｃそれぞれの直列出力データ５ａ、５ｂ、５ｃに相当する。
【００１４】
図３は、本発明の実施の形態１に係る並列ロード信号３と、シフトクロック信号４の入力タイミングを示すタイミングチャートである。並列ロード信号３を論理値０とした後に論理値１に戻し、その後にシフトクロック信号４を入力データバスラインのビット幅と同じ回数だけ論理値０とした後に論理値１に戻す動作を繰り返す。ここでは入力データバスラインのビット幅が８ビットの場合を示している。
【００１５】
図１においてシフトレジスタ２ａ、２ｂ、２ｃは、この並列ロード信号３が論理値０のときに入力データバスラインから並列入力データ１ａ、１ｂ、１ｃを並列ロードし、それぞれのシフトレジスタ２ａ，２ｂ，２ｃの内部レジスタの内容を更新する。また、シフトクロック信号４が論理値１から論理値０に変化する毎にそれぞれのシフトレジスタ２ａ，２ｂ，２ｃの内部レジスタに保持したデータをシフトし、これに伴って直列出力データ５ａ、５ｂ、５ｃも並列出力データ１６ｈを出力することとなる。
【００１６】
シフトレジスタ２ａだけは、誤り訂正回路６からの訂正直列出力データが直列入力データ８としてフィードバック入力されている。そこでシフトレジスタ２ａは、シフトクロック信号４が論理値１から論理値０に変化する毎に、さらに内部レジスタの最上位ビットに誤り訂正回路６からの訂正直列出力データを読み込む。これにより、シフトレジスタ２ａの内部レジスタのビットデータは誤り訂正の施された結果で書き替えられることとなる。
【００１７】
次に、図４を用いて誤り訂正回路６の動作を説明する。図４は、本発明の実施の形態１に係る誤り訂正回路６における入出力信号の関係を示した真理値表である。図４の真理値表ではシフトレジスタ２ａ、２ｂ、２ｃから取得した直列出力データ５ａ、５ｂ、５ｃをそれぞれ入力Ａ、Ｂ、Ｃで表しており、これらのデータの組み合わせにより一義的に定まる訂正直列出力データを出力Ｙで表している。入力Ａ、Ｂ、Ｃが全て同じ場合には、そのままの値を出力Ｙと定め、入力Ａ、Ｂ、Ｃの結果が２：１で分かれたときは、多数決により２系統で得られた同じ値を誤りがなかったものと判断し出力Ｙと定めている。
【００１８】
誤り訂正回路６は、シフトレジスタ２ａ、２ｂ、２ｃから取得した直列出力データ５ａ、５ｂ、５ｃに対して、図４に示す誤り訂正回路６の真理値表に基づいて訂正直列出力データを定めることにより、シフトレジスタ２ａ、２ｂ、２ｃで取得したそれぞれの並列入力データの同一ビットに対して、多数決による誤り訂正を施すことができる。この同一ビットのチェックを図３のシフトクロック信号４の繰り返し動作に基づいてビット幅分行うことにより、並列入力データの全てのビットチェックが行える。
【００１９】
さらに、同一ビットのチェックにより訂正を施された訂正直列出力データは、シフトレジスタ２ａの直列入力データとしてフィードバックされている。したがって、入力データ幅を８ビットとすると、図３でシフトクロック信号４が８回分の繰り返し動作を行った後の出力タイミング１３においてシフトレジスタ２ａに保持された内部レジスタの値は、並列入力データ１ａ、１ｂ、１ｃに対して誤り訂正回路６により誤り訂正を行った結果が順次８ビット分蓄えられたものとなっている。内部レジスタの値はそのまま並列出力データ１２として出力されており、誤り訂正が施された結果が出力タイミング１３のときに並列出力データ１２として得られることとなる。
【００２０】
次に、図５を用いて誤り検出回路７の動作を説明する。図５は、本発明の実施の形態１に係る誤り検出回路７における入出力信号の関係を示した真理値表である。図５の真理値表ではシフトレジスタ２ａ、２ｂ、２ｃから取得した直列出力データ５ａ、５ｂ、５ｃをそれぞれ入力Ａ、Ｂ、Ｃで表しており、これらのデータの組み合わせにより一義的に定まる誤り検出データを出力Ｄ、Ｅ、Ｆで表している。出力Ｄ、Ｅ、Ｆは、それぞれシフトレジスタ２ａ、２ｂ、２ｃが取得した並列入力データ１ａ、１ｂ、１ｃの誤り検出データ９ａ、９ｂ、９ｃに対応している。
【００２１】
入力Ａ、Ｂ、Ｃが全て同じ場合には、どの並列入力データ１ａ、１ｂ、１ｃにも誤りがなかったと判断し、出力Ｄ、Ｅ、Ｆを全て０と定めている。また、入力Ａ、Ｂ、Ｃの結果が２：１で分かれたときは、多数決により１系統だけでしか得られなかった値を誤りがあったものと判断し、１系統だけでしか得られなかった値の入力に対応する出力を１と定めている。
【００２２】
誤り検出回路７は、シフトレジスタ２ａ、２ｂ、２ｃから取得した直列出力データ５ａ、５ｂ、５ｃに対して、図５に示す誤り検出回路７の真理値表に基づいて誤り検出データ９ａ、９ｂ、９ｃを定めることにより、シフトレジスタ２ａ、２ｂ、２ｃで取得したそれぞれの並列入力データ１ａ、１ｂ、１ｃの同一ビットに対して、多数決による誤り検出を施すことができる。シフトレジスタ２ａ、２ｂ、２ｃが取得した並列入力データ１ａ、１ｂ、１ｃに対応したそれぞれの誤り検出データ９ａ、９ｂ、９ｃは、エラー検出回路１０に取り込まれる。
【００２３】
次に、図６を用いてエラー検出回路１０の動作を説明する。図６は、本発明の実施の形態１に係るエラー検出回路１０の構成図である。エラー検出回路１０は、カウンタ１７ａ、１７ｂ、１７ｃによって構成されており、これらのカウンタ１７ａ、１７ｂ、１７ｃにはそれぞれ並列ロード信号３とシフトクロック信号４がつながれている。
【００２４】
カウンタ１７ａ、１７ｂ、１７ｃの計数値は並列ロード信号３が論理値０になれば０にクリアされ、シフトレジスタ２ａ、２ｂ、２ｃが新たな並列入力データ１ａ、１ｂ、１ｃを読み込むタイミングで０にクリアされることとなる。また、カウンタ１７ａ、１７ｂ、１７ｃの計数値はシフトクロック信号４が論理値１から論理値０に変化したときにそれぞれの誤り検出データ９ａ、９ｂ、９ｃが論理値１であれば１増加する。図３で出力タイミング１３の期間においてカウンタ１７ａ、１７ｂ、１７ｃの計数値はそれぞれエラー出力データ１１ａ、１１ｂ、１１ｃとして出力され、並列入力データ１ａ、１ｂ、１ｃの誤りビット数を計数した値となっている。
【００２５】
並列入力データ１ａ、１ｂ、１ｃのビット幅をＮビットとした場合、カウンタ１７ａ、１７ｂ、１７ｃはそれぞれ（ｌｏｇ２（Ｎ）＋１）ビットのカウンタである必要がある。このような構成によれば、並列入力データ１ａ、１ｂ、１ｃそれぞれについて誤りが発生したビット数を知ることが可能となる。
【００２６】
実施の形態１によれば、並列データの入出力機能と、並列データをビット単位でシフトすることによるビットデータの入出力機能とを合わせ持ったシフトレジスタを３個と、１ビット幅３系統入力の誤り訂正回路を１個用いて、容易に誤り訂正結果を得ることができる。さらに、誤り訂正結果を１個のシフトレジスタにフィードバックすることにより、シフトレジスタの並列出力データとして誤り訂正された出力データを容易に得ることができる。したがって、チェックサムビットの生成や付加に伴う回路、そして誤り検出結果に応じて出力データを選択する回路が不要となり、従来よりも回路規模を縮小できる。
【００２７】
さらに、３個のレジスタに対して１ビットごとのチェックを行うため、同一レジスタ内で偶数個の誤りが発生した場合にも誤り訂正を行うことができる。さらに、誤り検出回路及びエラー検出回路を用いることにより、入力系統ごとの誤りビットの発生を検出することができる。特に、エラー検出回路としてカウンタを用いることにより、並列入力データ１ａ、１ｂ、１ｃそれぞれについて誤りビット数がいくつあるかを最小構成の回路で知ることが可能となる。
【００２８】
実施の形態２．
実施の形態１においては、エラー検出回路１０としてカウンタ１７ａ、１７ｂ、１７ｃを用い、入力系統ごとの誤りビット数を出力する場合を説明した。実施の形態２では、エラー検出回路１０にＲＳフリップフロップを用いる場合について説明する。図７は本発明の実施の形態２に係るエラー検出回路の構成図であり、ＲＳフリップフロップ１８ａ、１８ｂ、１８ｃを用いている。誤り検出データ９ａ、９ｂ、９ｃはそれぞれＲＳフリップフロップ１８ａ、１８ｂ、１８ｃのセット入力に入力されている。また、これらのＲＳフリップフロップ１８ａ、１８ｂ、１８ｃにはそれぞれ並列ロード信号３がつながれている。
【００２９】
ＲＳフリップフロップ１８ａ、１８ｂ、１８ｃの出力値は並列ロード信号３が論理値０になれば０にクリアされ、シフトレジスタ２ａ、２ｂ、２ｃが新たな並列入力データ１ａ、１ｂ、１ｃを読み込むタイミングで０にクリアされることとなる。また、ＲＳフリップフロップ１８ａ、１８ｂ、１８ｃの出力値は、それぞれの誤り検出データ９ａ、９ｂ、９ｃが一度論理値１になると、並列ロード信号３によるクリアがかからない間は論理値が１にセットされたままとなる。
【００３０】
図３で出力タイミング１３の期間においてＲＳフリップフロップ１８ａ、１８ｂ、１８ｃの出力値はエラーフラグ１９ａ、１９ｂ、１９ｃとして出力され、並列入力データ１ａ、１ｂ、１ｃのそれぞれについて１ビットでもエラーがあった場合に論理値１を出力する。このような構成によれば、並列入力データ１ａ、１ｂ、１ｃそれぞれについて誤りが発生したかどうかを最小構成の回路で知ることが可能となる。
【００３１】
実施の形態２によれば、エラー検出回路としてＲＳフリップフロップを用いることにより、並列入力データ１ａ、１ｂ、１ｃそれぞれについて誤りが発生したかどうかを最小構成の回路で知ることが可能となる。
【００３２】
【発明の効果】
以上のように、本発明によれば、並列データの入出力機能と、並列データをビット単位でシフトすることによるビットデータの入出力機能とを合わせ持ったシフトレジスタを３個と、１ビット幅３系統入力の誤り訂正回路を１個用いて、なおかつ検出された誤り訂正結果をシフトレジスタのビットデータ入力としてフィードバックする構成を取ることにより、従来よりも回路規模を縮小し、かつ同一系統内で偶数個のビット誤りが発生した場合にもビット誤りの検出が行える３重冗長誤り訂正回路を得ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係る３重冗長誤り訂正回路を示す構成図である。
【図２】本発明の実施の形態１に係るシフトレジスタの動作を説明する図である。
【図３】本発明の実施の形態１に係る並列ロード信号と、シフトクロック信号の入力タイミングを示すタイミングチャートである。
【図４】本発明の実施の形態１に係る誤り訂正回路における入出力信号の関係を示した真理値表である。
【図５】本発明の実施の形態１に係る誤り検出回路における入出力信号の関係を示した真理値表である。
【図６】本発明の実施の形態１に係るエラー検出回路の構成図である。
【図７】本発明の実施の形態２に係るエラー検出回路の構成図である。
【符号の説明】
１ａ〜１ｃ  並列入力データ、２ａ〜２ｃ  シフトレジスタ、３  並列ロード信号、４  シフトクロック信号、５、５ａ〜５ｃ  直列出力データ、６  誤り訂正回路、７  誤り検出回路、８  直列入力データ、９ａ〜９ｃ  誤り検出データ、１０  エラー検出回路、１１ａ〜１１ｃ  エラー出力データ、１２  並列出力データ、１３  出力タイミング、１４ａ〜１４ｈ  １ビットレジスタ、１５ａ〜１５ｈ  ８ビット構成の並列入力データ、１６ａ〜１６ｈ  ８ビット構成の並列出力データ、１７ａ〜１７ｃ  カウンタ、１８ａ〜１８ｃ  ＲＳフリップフロップ、１９ａ〜１９ｃ  エラーフラグ。
【図１】
2004349840.tif 000003
【図２】
2004349840.tif 000004
【図３】
2004349840.tif 000005
【図４】
2004349840.tif 000006
【図５】
2004349840.tif 000007
【図６】
2004349840.tif 000008
【図７】
2004349840.tif 000009