(57)【要約】【課題】以前の状態に依存するレジスタのようなデータ保持部などで１ビットエラーが発生した場合にも正しい値を出力することができるデータ補正回路を提供する。【解決手段】データ補正部は、複数の入力端子の全てが“０”または“１”の同一値を入力した場合と、その複数の入力端子のうちの何れか１つが同一値の反転値を入力し、その反転値を入力した入力端子を除く複数の入力端子が同一値を入力した場合に、同一値と同一の値を出力する。【選択図】図１
2015032860.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値を入力した場合と、前記複数の入力端子のうちの何れか１つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力するデータ補正部
を備えることを特徴とするデータ補正回路。
【請求項２】
ＦＰＧＡ内に構成され、
前記データ補正部が当該ＦＰＧＡ内の前記レジスタに接続される
ことを特徴とする請求項１に記載のデータ補正回路。
【請求項３】
前記データ補正部は、
正常時において複数の入力端子のそれぞれが同一値として“０”を入力する場合は、ＡＮＤ回路と同等の機能を有する
ことを特徴とする請求項１または請求項２に記載のデータ補正回路。
【請求項４】
前記データ補正部は、
正常時において複数の入力端子のそれぞれが同一値として“１”を入力する場合は、ＯＲ回路と同等の機能を有する
ことを特徴とする請求項１または請求項２に記載のデータ補正回路。
【請求項５】
前記データ補正部が出力する値を選択端子の入力とするマルチプレクサ
を備えることを特徴とする請求項１から請求項４の何れか一項に記載のデータ補正回路。
【請求項６】
データ補正回路のデータ補正部が、
複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値を入力した場合と、前記複数の入力端子のうちの何れか１つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力する
ことを特徴とするデータ補正方法。
【請求項７】
前記データ補正回路がＦＰＧＡ内に構成され、前記データ補正部が当該ＦＰＧＡ内の前記レジスタに接続される
ことを特徴とする請求項６に記載のデータ補正方法。
【請求項８】
前記データ補正部が出力する値をマルチプレクサの選択端子に入力する
ことを特徴とする請求項６または請求項７に記載のデータ補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを補正するデータ補正回路及びデータ補正方法に関する。
【背景技術】
【０００２】
衛星やロケットにおける装置、航空機における装置、基幹通信装置などは、その性質上、高い信頼性が求められている。
装置の高い信頼性を得るための技術の１つとして、冗長設計がある。この冗長設計は、装置レベル、その装置の備えるモジュールレベル、そのモジュールの備える回路レベルというように、階層毎に実施することができる。
そして、冗長設計は、多数決判定結果に従うものが一般的によく知られている。例えば、回路レベルでの冗長設計は、同一機能の回路を３つ以上用意し、それらの回路の出力結果の多数決判定結果に従うものである。
【０００３】
また、装置の高い信頼性を得るための別の技術として、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋｉｎｇ）がある。このＣＲＣは、回路レベル、特にＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）において欠点であったソフトエラー等に起因するコンフィグメモリにおける１ビットエラー（１ビット反転）を自動的にエラービット訂正する技術である。また、ＣＲＣにより２ビットエラーが検出された場合には、エラービットの訂正はされないがエラーが発生したことを通知する。
【０００４】
さらに、装置の高い信頼性を得るための別の技術として、特許文献１には、対象レジスタに対して監視用レジスタを設けて２重化し、両レジスタの値を比較することによって、ビット化けや異常書き込みなどによるレジスタ値の変化を検出しデバイスの誤動作を防ぐレジスタ監視回路技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−５８４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、回路の出力結果の多数決判定結果に従う冗長設計は、規模や消費電力などが通常に比べ冗長した分だけ増大し、コストがかかる。
【０００７】
また、ＦＰＧＡ内の素子同士を繋ぐ配線や、当該ＦＰＧＡ内の組合せ回路を構成するためのデータを格納したコンフィグメモリ内の当該データがソフトエラー等で１ビット反転した場合には、ＣＲＣがその１ビット反転データを自動訂正することで、ＦＰＧＡ内の素子同士の配線接続関係や、当該ＦＰＧＡ内で構成される組合せ回路は完全に訂正される。しかしながら、ソフトエラー等でコンフィグメモリ内の１ビットのデータが反転し、その反転したデータがＦＰＧＡ内の順序回路の一つであるレジスタを構成するためのデータであった場合には、そのデータをＣＲＣで訂正した後に、当該訂正後のデータを用いたレジスタの再構成をしたとしてもＦＰＧＡ内で構成されるレジスタの保持すべき値が正常となるとは限らない。なぜなら、ＣＲＣがコンフィグメモリ内の１ビット反転データを自動訂正したデータを用いてＦＰＧＡ内にレジスタを構成する段階でレジスタが初めて構成されるため当該レジスタに記録されるべき値も初期化され、その構成された直後においてレジスタが保持する値は、初期化後のレジスタが保持する値によっては、本来保持すべき値である可能性も、本来保持すべきでない値である可能性もあり、ＣＲＣが１ビット反転データを自動訂正したデータを用いてＦＰＧＡ内のレジスタを構成した場合に本来保持すべき値となることのできる確率は５０％である。
【０００８】
また、１度ＦＰＧＡ内に正しくレジスタが構成され、レジスタにクロック信号が入力されレジスタが値を保持した後に、例えばＦＰＧＡの動作不良が発生しコンフィグメモリのデータを用いてレジスタを再構成する場合がある。その場合、レジスタが再構成後に保持すべき値は、コンフィグメモリのデータを用いてレジスタを再構成する直前に、レジスタがクロックを入力したタイミングで保持した値である。そしてレジスタの保持していた値は、レジスタの性質上、“０”と“１”共に５０％である。そのため、コンフィグメモリ内の１ビットのデータが反転し、ＣＲＣにより１ビット反転データの訂正を行ったとしても、再構成後のレジスタの保持する値が再構成前に保持していた値と一致する、すなわち、レジスタが保持すべき値を保持して再構成される確率は５０％であり、常に正しい値を保持するとは限らない。
【０００９】
さらに、特許文献１に記載されているような技術では、レジスタ監視回路の出力信号が“１”となったときに、そのレジスタ監視回路を備える装置の何らかの機能がＯＮとなることを想定しており、２重化したレジスタの出力が異なるときにはレジスタ監視回路は装置の機能がＯＮとならない信号とアラーム信号を出力する。すなわち、特許文献１に記載されているような技術では、装置の誤動作防止のために機能を停止するための信号は生成するが、信号の値の訂正は装置をリセットして行う必要がある。
【００１０】
そのため、装置の高い信頼性を得るための技術として、以前の状態に依存するレジスタのようなデータ保持部などで１ビットエラーが発生した場合にも正しい値を出力する技術が求められていた。
【００１１】
そこでこの発明は、上記の課題を解決することのできるデータ補正回路及びデータ補正方法を提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明は、複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値を入力した場合と、前記複数の入力端子のうちの何れか１つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力するデータ補正部を備えることを特徴とするデータ補正回路である。
【００１３】
また本発明は、複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値を入力した場合と、前記複数の入力端子のうちの何れか１つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力することを特徴とするデータ補正方法である。
【発明の効果】
【００１４】
本発明によれば、以前の状態に依存するレジスタのようなデータ保持部などで１ビットエラーが発生した場合にも正しい値を出力することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明のデータ補正回路１０の最小構成を示す機能ブロック図である。
【図２】本発明の第一の実施形態によるデータ補正回路１０を利用したシステム構成例を示す図である。
【図３】本発明の第一の実施形態によるデータ補正部１０１の出力を示す図である。
【図４】本発明の第一の実施形態によるデータ補正回路１０における信号のタイムチャート例を示す図である。
【図５】本本発明の第一の実施形態によるデータ補正回路１０における信号のタイムチャート例を示す図である。
【図６】本発明の第二の実施形態によるデータ補正回路１０を利用したシステム構成例を示す図である。
【図７】本発明の第二の実施形態によるデータ補正部１０１の出力を示す図である。
【図８】本発明の第二の実施形態によるデータ補正回路１０における信号のタイムチャート例を示す図である。
【図９】本発明の第二の実施形態によるデータ補正回路１０における信号のタイムチャート例を示す図である。
【図１０】本発明の第三の実施形態によるデータ補正回路１０を利用したシステム構成例を示す図である。
【図１１】本発明の第三の実施形態によるデータ補正部１０１の出力を示す図である。
【発明を実施するための形態】
【００１６】
図１は、本発明のデータ補正回路１０の最小構成を示す機能ブロック図である。
本発明のデータ補正回路１０は、図１で示すように、少なくともデータ補正部１０１の機能部を備える。
ここで、データ補正部１０１は、複数の入力端子のすべてに同一値が入力される場合と、それら複数の入力端子のうちの何れか１つに前述の同一値の反転値が入力され、それ以外の複数の入力端子に前述の同一値が入力された場合に、前述の同一値と同一の値を出力する機能部である。
【００１７】
＜第一の実施形態＞
図２は、本発明の第一の実施形態によるデータ補正回路１０を利用したシステム構成例を示す図である。
図２で示すように、本実施形態によるシステムは、データ補正回路１０と、レジスタ２０ａと、レジスタ２０ｂで構成されている。当該データ補正回路１０とレジスタ２０ａ、２０ｂは、コンフィグレーションデータに基づいてＦＰＧＡが構成する回路である。
本実施形態によるデータ補正回路１０は、データ補正部１０１と、マルチプレクサ１０２を備えている。また、本実施形態では、データ補正部１０１はＡＮＤ回路１０１であり、レジスタ２０ａとレジスタ２０ｂの保持する値を入力として論理演算を実施し、その結果を例えばマルチプレクサ１０２の選択端子へ出力する。そして、マルチプレクサ１０２は、その選択端子の入力した値がＳ＝“０”の場合には正常系入力に入力される信号を出力し、選択端子の入力した値がＳ＝“１”の場合には評価系入力に入力される信号を出力する。
【００１８】
ここで、レジスタ２０ａとレジスタ２０ｂが共に“０”を保持し、それぞれのレジスタ出力をＡＮＤ回路１０１が入力する場合、例えば装置の通常動作時にはマルチプレクサの選択端子を“０”に設定し、装置の評価にのみ利用する評価専用機能動作時にはマルチプレクサの選択端子を“１”に設定するような場合を考える。
【００１９】
図３は、本発明の第一の実施形態によるデータ補正部１０１の出力を示す図である。
レジスタ２０ａとレジスタ２０ｂの保持する値はエラーが無い場合に“０”となり、シングルイベントアップセットＳＥＵ（Ｓｉｎｇｌｅ  Ｅｖｅｎｔ  Ｕｐｓｅｔ）などのソフトエラーにより値が反転する場合に“１”となる。
【００２０】
本実施形態によるデータ補正部１０１であるＡＮＤ回路１０１の出力は、レジスタ２０ａの保持する値とレジスタ２０ｂの保持する値に対して共にエラーが発生した２ビットエラーの場合に“１”となり、それ以外の場合には“０”となる。また、マルチプレクサ１０２は、ＡＮＤ回路１０１の出力が“０”の時には“正常系入力に入力した信号”を出力し、ＡＮＤ回路１０１の出力が“１”の時には“評価系入力に入力した信号”を出力する。すなわち、レジスタに１ビットエラーが発生してもＡＮＤ回路１０１の出力は、正しい値である“０”を出力し、マルチプレクサ１０２の選択端子は“０”を入力してマルチプレクサ１０２の出力がエラーとなることはない。なお、仮にＦＰＧＡに入力するコンフィグレーションデータの１ビットエラーをＣＲＣの技術を使用してコンフィグレーションデータをＣＲＣで訂正した後に、当該訂正後のデータを用いたレジスタの再構成をしたとしてもＦＰＧＡ内で構成されるレジスタの保持すべき値が正常となるとは限らない。なぜなら、ＣＲＣがコンフィグメモリ内の１ビット反転データを自動訂正したデータを用いてＦＰＧＡ内にレジスタを構成する段階でレジスタが初めて構成されるため当該レジスタに記録されるべき値も初期化され、その構成された直後においてレジスタが保持する値は、初期化後のレジスタが保持する値によっては、本来保持すべき値である可能性も、本来保持すべきでない値である可能性もあり、ＣＲＣが１ビット反転データを自動訂正したデータを用いてＦＰＧＡ内のレジスタを構成した場合に本来保持すべき値となることのできる確率は５０％である。よってレジスタ２０ａ、２０ｂにおいて１ビットエラーが生じた場合にＣＲＣの技術を用いてコンフィグレーションデータを訂正したデータを用いてＦＰＧＡを再構成する必要がなく、図２による構成によって１ビットエラーを訂正することができる。
【００２１】
ここで、ソフトエラー等によりＦＰＧＡのコンフィグメモリに１ビット反転が発生し、その１ビット反転中に更に１ビット反転して２ビットエラーとなる場合の例を考える。
次の具体的な数値例で示すように、２ビットのソフトエラーの発生する確率は小さく、事実上考慮する必要がないと言える。
【００２２】
条件としては、コンフィグメモリビット数：約１００００ビット、コンフィグメモリのソフトエラーレート：４００ＦＩＴ／メガビット、コンフィグメモリの一定区間長：１２７ビット（うちＣＲＣビット：８ビット）、コンフィグビットの組：７９（約１００００／１２７）、出荷台数：１００００台、稼働保証年数：１０年と仮定する。
１回路のＣＲＣ計算およびＣＲＣエラー訂正に要する時間を１ｍｓと仮定すると、７９分割されたコンフィグビットのどこかに１ビットエラーが発生した場合、約８０ｍｓ後にエラーの訂正が完了する。したがって、エラーが発生している時間は最大８０ｍｓとなる。
１００００台のＦＰＧＡが１０年間（８７６００時間）の稼働中に発生する１ビットエラーは、４００ＦＩＴ＝４００×１０−９（コンポーネント・時間）を考慮すると、４００×１０−９×１００００×８７６００＝３５０．４となる。つまり、１０年間で約３５０回の１ビットエラーが発生することとなる。
【００２３】
次に、コンフィグメモリの一定区間長（１２７ビット）に１ビットエラーが発生した場合に、８０ｍｓの間に更に１ビットエラーが発生して２ビットエラーとなる確率を求める。
１２７ビットの場合のＦＩＴ数は、４００×１２７／１００００＝５．０８ＦＩＴとなる。ここで、コンフィグメモリの自動訂正を行っても再構成したレジスタの保持する値が本来保持すべき値となる確率は５０％であり、ＦＩＴ数＝５．０８×５０％＝２．５４ＦＩＴとなる。
したがって、３５０回／１０年間（８７６００時間）にレジスタが２つともエラーとなるのは、１０年間で発生する１ビットエラーが３５０回であることを考慮すると、（２．５４×１０−９）×３５０×８７６００＝０．０７７８回であり、２ビットエラーの発生する確率は小さく、事実上考慮する必要がない。つまり、１ビットエラーに対してのみ正しい訂正が行われればよい。
【００２４】
図４と図５は、本発明の第一の実施形態によるデータ補正回路１０における信号のタイムチャート例を示す図である。
図４と図５において、横軸は時間であり、図４と図５は、時間経過に伴うコンフィグメモリ値、レジスタ２０ａの出力値、レジスタ２０ｂの出力値、ＡＮＤ回路１０１の出力値それぞれを示している。また、図４と図５は、時間ｔ＝Ａにおいてコンフィグメモリの記憶するデータがソフトエラーにより反転し、レジスタ２０ｂの保持する値が反転した後、時間ｔ＝Ｂにおいてコンフィグメモリ値を修復した場合の例を示している。なお、図４ではコンフィグレーションデータによる再構成によりレジスタ２０ｂの出力が“１”となる場合を示しており、図５ではコンフィグレーションデータによる再構成によりレジスタ２０ｂの出力が“０”となる場合を示している。
ここで、１ビットのソフトエラーとなったデータがレジスタに相当する箇所である場合、上述のように、レジスタの値が１ビットのソフトエラー発生前と同一の値に訂正される確率は５０％であり、エラー発生前と異なる値である確率も５０％あるが、レジスタの値が１ビットのソフトエラー発生前の値と同一であるか否かに関わらず、何れの値の場合でもＡＮＤ回路１０１の出力は“０”を出力する。したがって、1ビットエラーが発生した場合であってもマルチプレクサ１０２の選択端子には“０”が入力され、マルチプレクサ１０２は、正しく選択された信号を出力する。
【００２５】
以上、本発明の第一の実施形態によるデータ補正回路１０について説明したが、上述のデータ補正回路１０によれば、ソフトエラーなどによりデータが反転する１ビットエラーが発生した場合であっても正しい値を出力することができる。例えば、レジスタ２０ａやレジスタ２０ｂについてＣＲＣなどの技術を用いて１ビットエラーを訂正した場合、再構成したレジスタの保持する値が本来保持すべき値となる確率は５０％であり、エラー発生前の値と異なる確率も５０％ある。しかしながら、本発明の第一の実施形態によれば、レジスタの出力がエラー発生前の値に一致するか否かに関わらず、本実施形態におけるＡＮＤ回路１０１のような１ビットがデータ反転してもデータ補正回路１０の出力が変化しないようにデータ補正回路１０を構成することで正しい値を出力することができる。
【００２６】
＜第二の実施形態＞
図６は、本発明の第二の実施形態によるデータ補正回路１０を利用したシステム構成例を示す図である。
図６で示すように、本実施形態によるシステムは、第一の実施形態と同様に、データ補正回路１０と、レジスタ２０ａと、レジスタ２０ｂで構成されている。
また、本実施形態によるデータ補正回路１０は、データ補正部１０１と、マルチプレクサ１０２を備えている。
ただし、本実施形態では、データ補正部１０１はＯＲ回路１０１であり、レジスタ２０ａとレジスタ２０ｂの保持する値を入力として論理演算を実施し、その結果を例えばマルチプレクサ１０２の選択端子へ出力する。そして、マルチプレクサ１０２は、その選択端子の入力した値がＳ＝“０”の場合には正常系入力に入力される信号を出力し、選択端子の入力した値がＳ＝“１”の場合には評価系入力に入力される信号を出力する。
【００２７】
ここで、レジスタ２０ａとレジスタ２０ｂが共に“１”を保持し、ＯＲ回路１０１は、それぞれのレジスタ出力値を入力する場合、例えば装置の通常動作時には“０”に設定し、装置の評価時にのみ評価専用機能のビットとして“１”に設定するような場合を考える。
【００２８】
図７は、本発明の第二の実施形態によるデータ補正部１０１の出力を示す図である。
レジスタ２０ａとレジスタ２０ｂの保持する値はエラーが無い場合に“１”となり、シングルイベントアップセットＳＥＵなどにより値が反転するエラーが発生した場合に“０”となる。
【００２９】
本実施形態によるデータ補正部１０１であるＯＲ回路１０１の出力は、レジスタ２０ａの保持する値とレジスタ２０ｂの保持する値に対して共にエラーが発生した２ビットエラーの場合に“０”となり、それ以外の場合には“１”となる。また、マルチプレクサ１０２の出力は、ＯＲ回路１０１の出力が“１”の時には“正常系入力に入力される信号”となり、ＯＲ回路１０１の出力が“０”の時には“評価系入力に入力される信号”となる。すなわち、レジスタに１ビットエラーが発生してもＯＲ回路１０１の出力は、正しい値である“１”を出力し、マルチプレクサ１０２の出力がエラーとなることはない。
【００３０】
図８と図９は、本発明の第二の実施形態によるデータ補正回路１０における信号のタイムチャート例を示す図である。
図８と図９において、横軸は時間であり、図８と図９は、時間経過に伴うコンフィグメモリ値、レジスタ２０ａの出力値、レジスタ２０ｂの出力値、ＡＮＤ回路１０１の出力値それぞれを示している。また、図８と図９は、時間ｔ＝Ａにおいてコンフィグメモリの記憶するデータがソフトエラーにより反転し、レジスタ２０ｂの保持する値が反転した後、時間ｔ＝Ｂにおいてコンフィグメモリ値を修復した場合の例を示している。なお、図８ではコンフィグレーションデータによる再構成によりレジスタ２０ｂの出力が“０”となる場合を示しており、図９ではコンフィグレーションデータによる再構成によりレジスタ２０ｂの出力が“１” となる場合を示している。
ここで、ソフトエラーとなったデータはレジスタに相当する箇所であるため、レジスタの値がエラー発生前と同一の値に訂正される確率は５０％であり、エラー発生前と異なる値である確率も５０％あるが、レジスタの値がエラー発生前の値と同一であるか否かに関わらず、何れの値の場合でもＯＲ回路１０１の出力は“１”を出力する。したがって、1ビットエラーが発生した場合であってもマルチプレクサ１０２の選択端子には“１”が入力され、マルチプレクサ１０２は、正しく選択された信号を出力する。
【００３１】
以上、本発明の第二の実施形態によるデータ補正回路１０について説明したが、上述のデータ補正回路１０によれば、ソフトエラーなどによりデータが反転する１ビットエラーが発生した場合であっても正しい値を出力することができる。例えば、レジスタ２０ａやレジスタ２０ｂについてＣＲＣなどの技術を用いて１ビットエラーを訂正した場合、再構成したレジスタの保持する値が本来保持すべき値となる確率は５０％であり、エラー発生前の値と異なる確率も５０％ある。しかしながら、本発明の第二の実施形態によれば、レジスタの出力がエラー発生前の値に一致するか否かに関わらず、本実施形態におけるＯＲ回路１０１のような１ビットがデータ反転してもデータ補正回路１０の出力が変化しないようにデータ補正回路１０を構成することで正しい値を出力することができる。
【００３２】
＜第三の実施形態＞
図１０は、本発明の第三の実施形態によるデータ補正回路１０を利用したシステム構成例を示す図である。
図１０で示すように、本実施形態によるシステムは、データ補正回路１０と、レジスタ２０ａと、レジスタ２０ｂと、レジスタ２０ｃで構成されている。
本実施形態によるデータ補正回路１０は、データ補正部１０１と、マルチプレクサ１０２を備えている。また、本実施形態では、データ補正部１０１はＡＮＤ回路１０１であり、レジスタ２０ａとレジスタ２０ｂとレジスタ２０ｃの保持する値を入力として論理演算を実施し、その結果を例えばマルチプレクサ１０２の選択端子へ出力する。そして、マルチプレクサ１０２は、その選択端子の入力した値がＳ＝“０”の場合には正常系入力に入力される信号を出力し、選択端子の入力した値がＳ＝“１”の場合には評価系入力に入力される信号を出力する。
【００３３】
ここで、レジスタ２０ａとレジスタ２０ｂとレジスタ２０ｃが共に“０”を保持し、ＡＮＤ回路１０１がそれぞれのレジスタ出力値を入力する場合、例えば装置の通常動作時には“０”に設定し、装置の評価時にのみ評価専用機能のビットとして“１”に設定するような場合を考える。
【００３４】
図１１は、本発明の第三の実施形態によるデータ補正部１０１の出力を示す図である。
レジスタ２０ａとレジスタ２０ｂとレジスタ２０ｃの保持する値はエラーが無い場合に“０”となり、シングルイベントアップセットなどにより値が反転するエラーが発生した場合に“１”となる。
【００３５】
本実施形態によるデータ補正部１０１であるＡＮＤ回路１０１の出力は、レジスタ２０ａの保持する値とレジスタ２０ｂとレジスタ２０ｃの保持する値に対して共にエラーが発生した３ビットエラーの場合に“１”となり、それ以外の場合には“０”となる。すなわち、レジスタに２ビットエラーが発生してもＡＮＤ回路１０１の出力は、正しい値である“０”を出力し、マルチプレクサ１０２の出力がエラーとなることはない。
この考え方をＮ入力のＡＮＤ回路１０１に適用すると、（Ｎ−１）ビットエラーが発生してもＡＮＤ回路１０１の出力は正しい値である“０”を出力し、マルチプレクサ１０２の出力がエラーとなることはないことがわかる。
【００３６】
また、第一の実施形態のＡＮＤ回路１０１と第二の実施形態のＯＲ回路１０１の関係と同様に、このＮ入力のＡＮＤ回路１０１に対応するＮ入力のＯＲ回路１０１を考えた場合、（Ｎ−１）ビットエラーが発生してもＯＲ回路１０１の出力は正しい値である“１”を出力し、マルチプレクサ１０２の出力がエラーとなることはない。
【００３７】
以上、本発明の実施形態によるデータ補正回路１０について説明したが、上述のデータ補正回路１０によれば、Ｎ入力のＡＮＤ回路１０１とＮ入力のＯＲ回路１０１は、（Ｎ−１）ビットエラーが発生した場合であっても正しい値を出力することができる。
【符号の説明】
【００３８】
１０・・・データ補正回路
１０１・・・データ補正部
１０２・・・マルチプレクサ
２０ａ、２０ｂ、２０ｃ・・・レジスタ
【図１】
2015032860.tif 000003
【図２】
2015032860.tif 000004
【図３】
2015032860.tif 000005
【図４】
2015032860.tif 000006
【図５】
2015032860.tif 000007
【図６】
2015032860.tif 000008
【図７】
2015032860.tif 000009
【図８】
2015032860.tif 000010
【図９】
2015032860.tif 000011
【図１０】
2015032860.tif 000012
【図１１】
2015032860.tif 000013