JP6194679B2 - Data correction circuit and data correction method - Google Patents
Data correction circuit and data correction method Download PDFInfo
- Publication number
- JP6194679B2 JP6194679B2 JP2013158850A JP2013158850A JP6194679B2 JP 6194679 B2 JP6194679 B2 JP 6194679B2 JP 2013158850 A JP2013158850 A JP 2013158850A JP 2013158850 A JP2013158850 A JP 2013158850A JP 6194679 B2 JP6194679 B2 JP 6194679B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- data correction
- input
- register
- same value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、データを補正するデータ補正回路及びデータ補正方法に関する。 The present invention relates to a data correction circuit and a data correction method for correcting data.
衛星やロケットにおける装置、航空機における装置、基幹通信装置などは、その性質上、高い信頼性が求められている。
装置の高い信頼性を得るための技術の1つとして、冗長設計がある。この冗長設計は、装置レベル、その装置の備えるモジュールレベル、そのモジュールの備える回路レベルというように、階層毎に実施することができる。
そして、冗長設計は、多数決判定結果に従うものが一般的によく知られている。例えば、回路レベルでの冗長設計は、同一機能の回路を3つ以上用意し、それらの回路の出力結果の多数決判定結果に従うものである。
High reliability is required for satellite and rocket devices, aircraft devices, backbone communication devices, and the like.
One technique for obtaining high device reliability is a redundant design. This redundant design can be performed for each hierarchy, such as a device level, a module level of the device, and a circuit level of the module.
In general, it is well known that the redundant design follows the majority decision result. For example, in the redundancy design at the circuit level, three or more circuits having the same function are prepared and the majority decision result of the output results of those circuits is followed.
また、装置の高い信頼性を得るための別の技術として、CRC(Cyclic Redundancy Checking)がある。このCRCは、回路レベル、特にFPGA(Field Programmable Gate Array)において欠点であったソフトエラー等に起因するコンフィグメモリにおける1ビットエラー(1ビット反転)を自動的にエラービット訂正する技術である。また、CRCにより2ビットエラーが検出された場合には、エラービットの訂正はされないがエラーが発生したことを通知する。 Another technique for obtaining high device reliability is CRC (Cyclic Redundancy Checking). The CRC is a technique that automatically corrects an error bit for a 1-bit error (1-bit inversion) in a configuration memory caused by a soft error or the like that has been a defect in a circuit level, in particular, a field programmable gate array (FPGA). When a 2-bit error is detected by CRC, the error bit is not corrected but an error is notified.
さらに、装置の高い信頼性を得るための別の技術として、特許文献1には、対象レジスタに対して監視用レジスタを設けて2重化し、両レジスタの値を比較することによって、ビット化けや異常書き込みなどによるレジスタ値の変化を検出しデバイスの誤動作を防ぐレジスタ監視回路技術が記載されている。
Furthermore, as another technique for obtaining high reliability of the device, in
しかしながら、回路の出力結果の多数決判定結果に従う冗長設計は、規模や消費電力などが通常に比べ冗長した分だけ増大し、コストがかかる。 However, the redundant design according to the majority decision result of the output result of the circuit increases in size and power consumption by a redundant amount as compared with a normal case, and costs high.
また、FPGA内の素子同士を繋ぐ配線や、当該FPGA内の組合せ回路を構成するためのデータを格納したコンフィグメモリ内の当該データがソフトエラー等で1ビット反転した場合には、CRCがその1ビット反転データを自動訂正することで、FPGA内の素子同士の配線接続関係や、当該FPGA内で構成される組合せ回路は完全に訂正される。しかしながら、ソフトエラー等でコンフィグメモリ内の1ビットのデータが反転し、その反転したデータがFPGA内の順序回路の一つであるレジスタを構成するためのデータであった場合には、そのデータをCRCで訂正した後に、当該訂正後のデータを用いたレジスタの再構成をしたとしてもFPGA内で構成されるレジスタの保持すべき値が正常となるとは限らない。なぜなら、CRCがコンフィグメモリ内の1ビット反転データを自動訂正したデータを用いてFPGA内にレジスタを構成する段階でレジスタが初めて構成されるため当該レジスタに記録されるべき値も初期化され、その構成された直後においてレジスタが保持する値は、初期化後のレジスタが保持する値によっては、本来保持すべき値である可能性も、本来保持すべきでない値である可能性もあり、CRCが1ビット反転データを自動訂正したデータを用いてFPGA内のレジスタを構成した場合に本来保持すべき値となることのできる確率は50%である。 In addition, when the data in the configuration memory storing the wiring for connecting the elements in the FPGA or the data for configuring the combinational circuit in the FPGA is inverted by 1 bit due to a soft error or the like, the CRC is By automatically correcting the bit inversion data, the wiring connection relationship between elements in the FPGA and the combinational circuit configured in the FPGA are completely corrected. However, if 1-bit data in the configuration memory is inverted due to a soft error or the like and the inverted data is data for configuring a register that is one of the sequential circuits in the FPGA, the data is Even if the register is reconfigured using the corrected data after correction by CRC, the value to be held in the register configured in the FPGA is not always normal. This is because the register is configured for the first time when the CRC is configured in the FPGA using data obtained by automatically correcting 1-bit inverted data in the configuration memory, and the value to be recorded in the register is also initialized. The value held by the register immediately after the configuration may be a value that should be originally held or a value that should not be held depending on the value held by the register after initialization. When a register in the FPGA is configured using data obtained by automatically correcting 1-bit inverted data, the probability that it can be a value that should be retained is 50%.
また、1度FPGA内に正しくレジスタが構成され、レジスタにクロック信号が入力されレジスタが値を保持した後に、例えばFPGAの動作不良が発生しコンフィグメモリのデータを用いてレジスタを再構成する場合がある。その場合、レジスタが再構成後に保持すべき値は、コンフィグメモリのデータを用いてレジスタを再構成する直前に、レジスタがクロックを入力したタイミングで保持した値である。そしてレジスタの保持していた値は、レジスタの性質上、“0”と“1”共に50%である。そのため、コンフィグメモリ内の1ビットのデータが反転し、CRCにより1ビット反転データの訂正を行ったとしても、再構成後のレジスタの保持する値が再構成前に保持していた値と一致する、すなわち、レジスタが保持すべき値を保持して再構成される確率は50%であり、常に正しい値を保持するとは限らない。 In addition, once a register is correctly configured in the FPGA, after the clock signal is input to the register and the register holds the value, for example, an operation failure of the FPGA occurs and the register is reconfigured using the data in the configuration memory. is there. In this case, the value that the register should hold after reconfiguration is the value that the register holds at the timing when the clock is input immediately before the register is reconfigured using the data in the configuration memory. The value held in the register is 50% for both “0” and “1” due to the nature of the register. Therefore, even if 1-bit data in the configuration memory is inverted and 1-bit inverted data is corrected by CRC, the value held in the register after reconfiguration matches the value held before reconfiguration. That is, the probability that the register holds the value to be held and is reconfigured is 50% and does not always hold the correct value.
さらに、特許文献1に記載されているような技術では、レジスタ監視回路の出力信号が“1”となったときに、そのレジスタ監視回路を備える装置の何らかの機能がONとなることを想定しており、2重化したレジスタの出力が異なるときにはレジスタ監視回路は装置の機能がONとならない信号とアラーム信号を出力する。すなわち、特許文献1に記載されているような技術では、装置の誤動作防止のために機能を停止するための信号は生成するが、信号の値の訂正は装置をリセットして行う必要がある。
Further, in the technique as described in
そのため、装置の高い信頼性を得るための技術として、以前の状態に依存するレジスタのようなデータ保持部などで1ビットエラーが発生した場合にも正しい値を出力する技術が求められていた。 Therefore, as a technique for obtaining high reliability of the apparatus, there has been a demand for a technique for outputting a correct value even when a 1-bit error occurs in a data holding unit such as a register depending on the previous state.
そこでこの発明は、上記の課題を解決することのできるデータ補正回路及びデータ補正方法を提供することを目的としている。 Therefore, an object of the present invention is to provide a data correction circuit and a data correction method that can solve the above-described problems.
上記目的を達成するために、本発明は、複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値を入力した場合と、前記複数の入力端子のうちの何れか1つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力するデータ補正部を備え、前記データ補正部は、正常時において複数の入力端子のそれぞれが同一値として“0”を入力する場合は、AND回路と同等の機能を有することを特徴とするデータ補正回路である。
また本発明は、複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値を入力した場合と、前記複数の入力端子のうちの何れか1つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力するデータ補正部を備え、前記データ補正部は、正常時において複数の入力端子のそれぞれが同一値として“1”を入力する場合は、OR回路と同等の機能を有することを特徴とするデータ補正回路である。
In order to achieve the above object, the present invention provides a case where all of a plurality of input terminals are connected to a plurality of registers and the same value is input from each of the registers, and any one of the plurality of input terminals. A data correction unit that outputs the same value as the same value when the plurality of input terminals except the input terminal that inputs the inverted value of the same value and the input terminal that inputs the inverted value inputs the same value. the data correction unit, when each of the plurality of input terminals for inputting a "0" as the same value at the time of normal, the data correction circuit according to claim Rukoto which have a aND circuit function equivalent.
In the present invention, when all of the plurality of input terminals are connected to each of the plurality of registers and the same value is input from each of the registers, any one of the plurality of input terminals is the inverted value of the same value. When the plurality of input terminals excluding the input terminal that inputs the inverted value and the same value is input, the data correction unit that outputs the same value as the same value, the data correction unit, In a normal state, the data correction circuit has a function equivalent to that of an OR circuit when each of the plurality of input terminals inputs “1” as the same value.
また本発明は、データ補正回路に備えられAND回路と同等の機能を有するデータ補正部が、複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値として“0”を入力した場合と、前記複数の入力端子のうちの何れか1つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力することを特徴とするデータ補正方法である。
また本発明は、データ補正回路に備えられOR回路と同等の機能を有するデータ補正部が、複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値として“1”を入力した場合と、前記複数の入力端子のうちの何れか1つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力することを特徴とするデータ補正方法である。
Further, according to the present invention, the data correction unit provided in the data correction circuit and having a function equivalent to that of the AND circuit is configured such that all of the plurality of input terminals are connected to the plurality of registers, and “0” is set as the same value from each of the registers. When input, and when any one of the plurality of input terminals inputs an inverted value of the same value and the input terminals except the input terminal that inputs the inverted value input the same value A data correction method characterized by outputting the same value as the same value.
Further, according to the present invention, the data correction unit provided in the data correction circuit and having the same function as the OR circuit is configured such that all of the plurality of input terminals are connected to the plurality of registers, and “1” is set as the same value from each of the registers. When input, and when any one of the plurality of input terminals inputs an inverted value of the same value and the input terminals except the input terminal that inputs the inverted value input the same value A data correction method characterized by outputting the same value as the same value.
本発明によれば、以前の状態に依存するレジスタのようなデータ保持部などで1ビットエラーが発生した場合にも正しい値を出力することができる。 According to the present invention, a correct value can be output even when a 1-bit error occurs in a data holding unit such as a register depending on the previous state.
図1は、本発明のデータ補正回路10の最小構成を示す機能ブロック図である。
本発明のデータ補正回路10は、図1で示すように、少なくともデータ補正部101の機能部を備える。
ここで、データ補正部101は、複数の入力端子のすべてに同一値が入力される場合と、それら複数の入力端子のうちの何れか1つに前述の同一値の反転値が入力され、それ以外の複数の入力端子に前述の同一値が入力された場合に、前述の同一値と同一の値を出力する機能部である。
FIG. 1 is a functional block diagram showing the minimum configuration of the
As shown in FIG. 1, the
Here, when the same value is input to all of the plurality of input terminals, the
<第一の実施形態>
図2は、本発明の第一の実施形態によるデータ補正回路10を利用したシステム構成例を示す図である。
図2で示すように、本実施形態によるシステムは、データ補正回路10と、レジスタ20aと、レジスタ20bで構成されている。当該データ補正回路10とレジスタ20a、20bは、コンフィグレーションデータに基づいてFPGAが構成する回路である。
本実施形態によるデータ補正回路10は、データ補正部101と、マルチプレクサ102を備えている。また、本実施形態では、データ補正部101はAND回路101であり、レジスタ20aとレジスタ20bの保持する値を入力として論理演算を実施し、その結果を例えばマルチプレクサ102の選択端子へ出力する。そして、マルチプレクサ102は、その選択端子の入力した値がS=“0”の場合には正常系入力に入力される信号を出力し、選択端子の入力した値がS=“1”の場合には評価系入力に入力される信号を出力する。
<First embodiment>
FIG. 2 is a diagram illustrating a system configuration example using the
As shown in FIG. 2, the system according to the present embodiment includes a
The
ここで、レジスタ20aとレジスタ20bが共に“0”を保持し、それぞれのレジスタ出力をAND回路101が入力する場合、例えば装置の通常動作時にはマルチプレクサの選択端子を“0”に設定し、装置の評価にのみ利用する評価専用機能動作時にはマルチプレクサの選択端子を“1”に設定するような場合を考える。
Here, when both the
図3は、本発明の第一の実施形態によるデータ補正部101の出力を示す図である。
レジスタ20aとレジスタ20bの保持する値はエラーが無い場合に“0”となり、シングルイベントアップセットSEU(Single Event Upset)などのソフトエラーにより値が反転する場合に“1”となる。
FIG. 3 is a diagram showing an output of the
The value held in the
本実施形態によるデータ補正部101であるAND回路101の出力は、レジスタ20aの保持する値とレジスタ20bの保持する値に対して共にエラーが発生した2ビットエラーの場合に“1”となり、それ以外の場合には“0”となる。また、マルチプレクサ102は、AND回路101の出力が“0”の時には“正常系入力に入力した信号”を出力し、AND回路101の出力が“1”の時には“評価系入力に入力した信号”を出力する。すなわち、レジスタに1ビットエラーが発生してもAND回路101の出力は、正しい値である“0”を出力し、マルチプレクサ102の選択端子は“0”を入力してマルチプレクサ102の出力がエラーとなることはない。なお、仮にFPGAに入力するコンフィグレーションデータの1ビットエラーをCRCの技術を使用してコンフィグレーションデータをCRCで訂正した後に、当該訂正後のデータを用いたレジスタの再構成をしたとしてもFPGA内で構成されるレジスタの保持すべき値が正常となるとは限らない。なぜなら、CRCがコンフィグメモリ内の1ビット反転データを自動訂正したデータを用いてFPGA内にレジスタを構成する段階でレジスタが初めて構成されるため当該レジスタに記録されるべき値も初期化され、その構成された直後においてレジスタが保持する値は、初期化後のレジスタが保持する値によっては、本来保持すべき値である可能性も、本来保持すべきでない値である可能性もあり、CRCが1ビット反転データを自動訂正したデータを用いてFPGA内のレジスタを構成した場合に本来保持すべき値となることのできる確率は50%である。よってレジスタ20a、20bにおいて1ビットエラーが生じた場合にCRCの技術を用いてコンフィグレーションデータを訂正したデータを用いてFPGAを再構成する必要がなく、図2による構成によって1ビットエラーを訂正することができる。
The output of the AND
ここで、ソフトエラー等によりFPGAのコンフィグメモリに1ビット反転が発生し、その1ビット反転中に更に1ビット反転して2ビットエラーとなる場合の例を考える。
次の具体的な数値例で示すように、2ビットのソフトエラーの発生する確率は小さく、事実上考慮する必要がないと言える。
Here, consider an example in which 1-bit inversion occurs in the FPGA configuration memory due to a soft error or the like, and further 1-bit inversion occurs during the 1-bit inversion, resulting in a 2-bit error.
As shown in the following specific numerical example, it can be said that the probability of occurrence of a 2-bit soft error is small and it is not actually necessary to consider.
条件としては、コンフィグメモリビット数:約10000ビット、コンフィグメモリのソフトエラーレート:400FIT/メガビット、コンフィグメモリの一定区間長:127ビット(うちCRCビット:8ビット)、コンフィグビットの組:79(約10000/127)、出荷台数:10000台、稼働保証年数:10年と仮定する。
1回路のCRC計算およびCRCエラー訂正に要する時間を1msと仮定すると、79分割されたコンフィグビットのどこかに1ビットエラーが発生した場合、約80ms後にエラーの訂正が完了する。したがって、エラーが発生している時間は最大80msとなる。
10000台のFPGAが10年間(87600時間)の稼働中に発生する1ビットエラーは、400FIT=400×10−9(コンポーネント・時間)を考慮すると、400×10−9×10000×87600=350.4となる。つまり、10年間で約350回の1ビットエラーが発生することとなる。
As conditions, the number of bits of the configuration memory: about 10,000 bits, the soft error rate of the configuration memory: 400 FIT / megabit, the constant section length of the configuration memory: 127 bits (of which the CRC bits are 8 bits), the set of configuration bits: 79 (about 10000/127), shipment number: 10000 units, operation guarantee year: 10 years.
Assuming that the time required for CRC calculation and CRC error correction of one circuit is 1 ms, when a 1-bit error occurs in any of the 79 divided configuration bits, error correction is completed after about 80 ms. Therefore, the time during which an error occurs is a maximum of 80 ms.
A 1-bit error that occurs while 10,000 FPGAs are operating for 10 years (87600 hours) is 400 × 10 −9 × 10000 × 87600 = 350.350 when considering 400 FIT = 400 × 10 −9 (component / time). 4. That is, about 350 1-bit errors occur in 10 years.
次に、コンフィグメモリの一定区間長(127ビット)に1ビットエラーが発生した場合に、80msの間に更に1ビットエラーが発生して2ビットエラーとなる確率を求める。
127ビットの場合のFIT数は、400×127/10000=5.08FITとなる。ここで、コンフィグメモリの自動訂正を行っても再構成したレジスタの保持する値が本来保持すべき値となる確率は50%であり、FIT数=5.08×50%=2.54FITとなる。
したがって、350回/10年間(87600時間)にレジスタが2つともエラーとなるのは、10年間で発生する1ビットエラーが350回であることを考慮すると、(2.54×10−9)×350×87600=0.0778回であり、2ビットエラーの発生する確率は小さく、事実上考慮する必要がない。つまり、1ビットエラーに対してのみ正しい訂正が行われればよい。
Next, when a 1-bit error occurs in a certain section length (127 bits) of the configuration memory, a probability that an additional 1-bit error occurs and a 2-bit error occurs in 80 ms is obtained.
The number of FITs in the case of 127 bits is 400 × 127/10000 = 5.08 FIT. Here, even if automatic correction of the configuration memory is performed, the probability that the value held in the reconfigured register is the value that should be held is 50%, and the number of FITs = 5.08 × 50% = 2.54 FIT. .
Therefore, in consideration of the fact that 350 bits / 10 years (87600 hours), both registers are in error, considering that 1-bit error occurring in 10 years is 350 times (2.54 × 10 −9 ). × 350 × 87600 = 0.0778 times, and the probability of occurrence of a 2-bit error is small, and there is no need to consider it in practice. That is, it is only necessary to correct correctly for a 1-bit error.
図4と図5は、本発明の第一の実施形態によるデータ補正回路10における信号のタイムチャート例を示す図である。
図4と図5において、横軸は時間であり、図4と図5は、時間経過に伴うコンフィグメモリ値、レジスタ20aの出力値、レジスタ20bの出力値、AND回路101の出力値それぞれを示している。また、図4と図5は、時間t=Aにおいてコンフィグメモリの記憶するデータがソフトエラーにより反転し、レジスタ20bの保持する値が反転した後、時間t=Bにおいてコンフィグメモリ値を修復した場合の例を示している。なお、図4ではコンフィグレーションデータによる再構成によりレジスタ20bの出力が“1”となる場合を示しており、図5ではコンフィグレーションデータによる再構成によりレジスタ20bの出力が“0”となる場合を示している。
ここで、1ビットのソフトエラーとなったデータがレジスタに相当する箇所である場合、上述のように、レジスタの値が1ビットのソフトエラー発生前と同一の値に訂正される確率は50%であり、エラー発生前と異なる値である確率も50%あるが、レジスタの値が1ビットのソフトエラー発生前の値と同一であるか否かに関わらず、何れの値の場合でもAND回路101の出力は“0”を出力する。したがって、1ビットエラーが発生した場合であってもマルチプレクサ102の選択端子には“0”が入力され、マルチプレクサ102は、正しく選択された信号を出力する。
4 and 5 are diagrams showing examples of time charts of signals in the
4 and 5, the horizontal axis represents time, and FIGS. 4 and 5 show the configuration memory value, the output value of the
Here, when the data having a 1-bit soft error is a portion corresponding to the register, as described above, the probability that the register value is corrected to the same value as before the occurrence of the 1-bit soft error is 50%. There is also a 50% probability that the value is different from that before the occurrence of the error. However, regardless of whether or not the register value is the same as the value before the occurrence of the 1-bit soft error, the AND circuit can be used for any value. The output of 101 outputs “0”. Therefore, even when a 1-bit error occurs, “0” is input to the selection terminal of the
以上、本発明の第一の実施形態によるデータ補正回路10について説明したが、上述のデータ補正回路10によれば、ソフトエラーなどによりデータが反転する1ビットエラーが発生した場合であっても正しい値を出力することができる。例えば、レジスタ20aやレジスタ20bについてCRCなどの技術を用いて1ビットエラーを訂正した場合、再構成したレジスタの保持する値が本来保持すべき値となる確率は50%であり、エラー発生前の値と異なる確率も50%ある。しかしながら、本発明の第一の実施形態によれば、レジスタの出力がエラー発生前の値に一致するか否かに関わらず、本実施形態におけるAND回路101のような1ビットがデータ反転してもデータ補正回路10の出力が変化しないようにデータ補正回路10を構成することで正しい値を出力することができる。
The
<第二の実施形態>
図6は、本発明の第二の実施形態によるデータ補正回路10を利用したシステム構成例を示す図である。
図6で示すように、本実施形態によるシステムは、第一の実施形態と同様に、データ補正回路10と、レジスタ20aと、レジスタ20bで構成されている。
また、本実施形態によるデータ補正回路10は、データ補正部101と、マルチプレクサ102を備えている。
ただし、本実施形態では、データ補正部101はOR回路101であり、レジスタ20aとレジスタ20bの保持する値を入力として論理演算を実施し、その結果を例えばマルチプレクサ102の選択端子へ出力する。そして、マルチプレクサ102は、その選択端子の入力した値がS=“0”の場合には正常系入力に入力される信号を出力し、選択端子の入力した値がS=“1”の場合には評価系入力に入力される信号を出力する。
<Second Embodiment>
FIG. 6 is a diagram showing a system configuration example using the
As shown in FIG. 6, the system according to the present embodiment includes a
Further, the
However, in this embodiment, the
ここで、レジスタ20aとレジスタ20bが共に“1”を保持し、OR回路101は、それぞれのレジスタ出力値を入力する場合、例えば装置の通常動作時には“0”に設定し、装置の評価時にのみ評価専用機能のビットとして“1”に設定するような場合を考える。
Here, when both the
図7は、本発明の第二の実施形態によるデータ補正部101の出力を示す図である。
レジスタ20aとレジスタ20bの保持する値はエラーが無い場合に“1”となり、シングルイベントアップセットSEUなどにより値が反転するエラーが発生した場合に“0”となる。
FIG. 7 is a diagram showing the output of the
The value held in the
本実施形態によるデータ補正部101であるOR回路101の出力は、レジスタ20aの保持する値とレジスタ20bの保持する値に対して共にエラーが発生した2ビットエラーの場合に“0”となり、それ以外の場合には“1”となる。また、マルチプレクサ102の出力は、OR回路101の出力が“1”の時には“正常系入力に入力される信号”となり、OR回路101の出力が“0”の時には“評価系入力に入力される信号”となる。すなわち、レジスタに1ビットエラーが発生してもOR回路101の出力は、正しい値である“1”を出力し、マルチプレクサ102の出力がエラーとなることはない。
The output of the
図8と図9は、本発明の第二の実施形態によるデータ補正回路10における信号のタイムチャート例を示す図である。
図8と図9において、横軸は時間であり、図8と図9は、時間経過に伴うコンフィグメモリ値、レジスタ20aの出力値、レジスタ20bの出力値、AND回路101の出力値それぞれを示している。また、図8と図9は、時間t=Aにおいてコンフィグメモリの記憶するデータがソフトエラーにより反転し、レジスタ20bの保持する値が反転した後、時間t=Bにおいてコンフィグメモリ値を修復した場合の例を示している。なお、図8ではコンフィグレーションデータによる再構成によりレジスタ20bの出力が“0”となる場合を示しており、図9ではコンフィグレーションデータによる再構成によりレジスタ20bの出力が“1” となる場合を示している。
ここで、ソフトエラーとなったデータはレジスタに相当する箇所であるため、レジスタの値がエラー発生前と同一の値に訂正される確率は50%であり、エラー発生前と異なる値である確率も50%あるが、レジスタの値がエラー発生前の値と同一であるか否かに関わらず、何れの値の場合でもOR回路101の出力は“1”を出力する。したがって、1ビットエラーが発生した場合であってもマルチプレクサ102の選択端子には“1”が入力され、マルチプレクサ102は、正しく選択された信号を出力する。
8 and 9 are diagrams showing examples of signal time charts in the
8 and 9, the horizontal axis represents time, and FIGS. 8 and 9 show the configuration memory value, the output value of the
Here, since the data that caused the soft error is a portion corresponding to the register, the probability that the value of the register is corrected to the same value as before the error occurs is 50%, and the probability that the value is different from that before the error occurs. However, regardless of whether or not the value of the register is the same as the value before the error occurrence, the output of the
以上、本発明の第二の実施形態によるデータ補正回路10について説明したが、上述のデータ補正回路10によれば、ソフトエラーなどによりデータが反転する1ビットエラーが発生した場合であっても正しい値を出力することができる。例えば、レジスタ20aやレジスタ20bについてCRCなどの技術を用いて1ビットエラーを訂正した場合、再構成したレジスタの保持する値が本来保持すべき値となる確率は50%であり、エラー発生前の値と異なる確率も50%ある。しかしながら、本発明の第二の実施形態によれば、レジスタの出力がエラー発生前の値に一致するか否かに関わらず、本実施形態におけるOR回路101のような1ビットがデータ反転してもデータ補正回路10の出力が変化しないようにデータ補正回路10を構成することで正しい値を出力することができる。
The
<第三の実施形態>
図10は、本発明の第三の実施形態によるデータ補正回路10を利用したシステム構成例を示す図である。
図10で示すように、本実施形態によるシステムは、データ補正回路10と、レジスタ20aと、レジスタ20bと、レジスタ20cで構成されている。
本実施形態によるデータ補正回路10は、データ補正部101と、マルチプレクサ102を備えている。また、本実施形態では、データ補正部101はAND回路101であり、レジスタ20aとレジスタ20bとレジスタ20cの保持する値を入力として論理演算を実施し、その結果を例えばマルチプレクサ102の選択端子へ出力する。そして、マルチプレクサ102は、その選択端子の入力した値がS=“0”の場合には正常系入力に入力される信号を出力し、選択端子の入力した値がS=“1”の場合には評価系入力に入力される信号を出力する。
<Third embodiment>
FIG. 10 is a diagram showing a system configuration example using the
As shown in FIG. 10, the system according to the present embodiment includes a
The
ここで、レジスタ20aとレジスタ20bとレジスタ20cが共に“0”を保持し、AND回路101がそれぞれのレジスタ出力値を入力する場合、例えば装置の通常動作時には“0”に設定し、装置の評価時にのみ評価専用機能のビットとして“1”に設定するような場合を考える。
Here, when the
図11は、本発明の第三の実施形態によるデータ補正部101の出力を示す図である。
レジスタ20aとレジスタ20bとレジスタ20cの保持する値はエラーが無い場合に“0”となり、シングルイベントアップセットなどにより値が反転するエラーが発生した場合に“1”となる。
FIG. 11 is a diagram showing the output of the
The value held in the
本実施形態によるデータ補正部101であるAND回路101の出力は、レジスタ20aの保持する値とレジスタ20bとレジスタ20cの保持する値に対して共にエラーが発生した3ビットエラーの場合に“1”となり、それ以外の場合には“0”となる。すなわち、レジスタに2ビットエラーが発生してもAND回路101の出力は、正しい値である“0”を出力し、マルチプレクサ102の出力がエラーとなることはない。
この考え方をN入力のAND回路101に適用すると、(N−1)ビットエラーが発生してもAND回路101の出力は正しい値である“0”を出力し、マルチプレクサ102の出力がエラーとなることはないことがわかる。
The output of the AND
When this concept is applied to an AND
また、第一の実施形態のAND回路101と第二の実施形態のOR回路101の関係と同様に、このN入力のAND回路101に対応するN入力のOR回路101を考えた場合、(N−1)ビットエラーが発生してもOR回路101の出力は正しい値である“1”を出力し、マルチプレクサ102の出力がエラーとなることはない。
Similarly to the relationship between the AND
以上、本発明の実施形態によるデータ補正回路10について説明したが、上述のデータ補正回路10によれば、N入力のAND回路101とN入力のOR回路101は、(N−1)ビットエラーが発生した場合であっても正しい値を出力することができる。
Although the
10・・・データ補正回路
101・・・データ補正部
102・・・マルチプレクサ
20a、20b、20c・・・レジスタ
DESCRIPTION OF
Claims (8)
を備え、
前記データ補正部は、
正常時において複数の入力端子のそれぞれが同一値として“0”を入力する場合は、AND回路と同等の機能を有することを特徴とするデータ補正回路。 When all of the plurality of input terminals are connected to each of the plurality of registers and the same value is input from each of the registers, any one of the plurality of input terminals inputs the inverted value of the same value and the inversion A data correction unit that outputs the same value as the same value when the plurality of input terminals except the input terminal to which the value is input inputs the same value ;
The data correction unit is
If each of the plurality of input terminals for inputting a "0" as the same value at the time of normal, the data correction circuit according to claim Rukoto which have a AND circuit function equivalent.
を備え、 With
前記データ補正部は、 The data correction unit is
正常時において複数の入力端子のそれぞれが同一値として“1”を入力する場合は、OR回路と同等の機能を有することを特徴とするデータ補正回路。 A data correction circuit having a function equivalent to that of an OR circuit when each of a plurality of input terminals inputs “1” as the same value under normal conditions.
前記データ補正部が当該FPGA内の前記レジスタに接続される
ことを特徴とする請求項1または請求項2に記載のデータ補正回路。 Configured in the FPGA,
Data correction circuit as claimed in claim 1 or claim 2, wherein the data correcting section is connected to the register in the FPGA.
を備えることを特徴とする請求項1から請求項3の何れか一項に記載のデータ補正回路。 Data correction circuit as claimed in any one of claims 3, characterized in that it comprises a multiplexer for receiving the selection terminal a value the data correcting portion outputs.
複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値を入力した場合と、前記複数の入力端子のうちの何れか1つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力する
ことを特徴とするデータ補正方法。 A data correction unit having a function equivalent to that of an AND circuit when each of a plurality of input terminals inputs “0” as the same value in a normal state, provided in the data correction circuit,
When all of the plurality of input terminals are connected to each of the plurality of registers and the same value is input from each of the registers, any one of the plurality of input terminals inputs the inverted value of the same value and the inversion A data correction method comprising: outputting the same value as the same value when the plurality of input terminals except the input terminal to which the value is input inputs the same value.
複数の入力端子の全てが複数のレジスタそれぞれに接続し前記レジスタのそれぞれから同一値を入力した場合と、前記複数の入力端子のうちの何れか1つが前記同一値の反転値を入力し前記反転値を入力した入力端子を除く前記複数の入力端子が前記同一値を入力した場合に、前記同一値と同一の値を出力する When all of the plurality of input terminals are connected to each of the plurality of registers and the same value is input from each of the registers, any one of the plurality of input terminals inputs the inverted value of the same value and the inversion Outputs the same value as the same value when the plurality of input terminals except the input terminal to which the value is input inputs the same value.
ことを特徴とするデータ補正方法。 A data correction method characterized by the above.
ことを特徴とする請求項5または請求項6に記載のデータ補正方法。 The data correction method according to claim 5 or 6, wherein the data correction circuit is configured in an FPGA, and the data correction unit is connected to the register in the FPGA.
ことを特徴とする請求項5から請求項7の何れか一項に記載のデータ補正方法。 The data correction method according to any one of claims 5 to 7 , wherein a value output from the data correction unit is input to a selection terminal of a multiplexer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013158850A JP6194679B2 (en) | 2013-07-31 | 2013-07-31 | Data correction circuit and data correction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013158850A JP6194679B2 (en) | 2013-07-31 | 2013-07-31 | Data correction circuit and data correction method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015032860A JP2015032860A (en) | 2015-02-16 |
JP6194679B2 true JP6194679B2 (en) | 2017-09-13 |
Family
ID=52517884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013158850A Active JP6194679B2 (en) | 2013-07-31 | 2013-07-31 | Data correction circuit and data correction method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6194679B2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6419600A (en) * | 1987-07-13 | 1989-01-23 | Mitsubishi Electric Corp | Semiconductor integrated circuit device |
JPH04141745A (en) * | 1990-10-02 | 1992-05-15 | Mitsubishi Electric Corp | Semiconductor integrated circuit device |
JP3170145B2 (en) * | 1994-06-27 | 2001-05-28 | 株式会社日立製作所 | Memory control system |
JPH10177496A (en) * | 1996-12-13 | 1998-06-30 | Hitachi Ltd | Logic circuit with error detecting function and processor provided with logic circuit with error detecting function |
JP2001022648A (en) * | 1999-07-07 | 2001-01-26 | Fujitsu Ltd | Device for method for checking management memory |
JP3930513B2 (en) * | 2003-05-21 | 2007-06-13 | 富士通株式会社 | Flip-flop circuit having a majority logic circuit |
JP5558269B2 (en) * | 2010-09-02 | 2014-07-23 | 敏則 末吉 | Error correction circuit for programmable logic circuit |
JP2013109532A (en) * | 2011-11-18 | 2013-06-06 | Fuji Electric Co Ltd | Device, method and program for diagnosis and restoration |
-
2013
- 2013-07-31 JP JP2013158850A patent/JP6194679B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015032860A (en) | 2015-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4899556B2 (en) | Semiconductor integrated circuit | |
KR102399843B1 (en) | Error correction hardware with fault detection | |
US9583216B2 (en) | MBIST device for use with ECC-protected memories | |
EP2953027A1 (en) | Microcontroller and electronic control device using the same | |
US20120191388A1 (en) | Diagnostic method to check for stuck bits in storage registers of safety-critical systems | |
KR102283686B1 (en) | Error detection in stored data values | |
JP2016167669A (en) | Programmable logic circuit device and error detection method | |
US9471416B2 (en) | Partitioned error code computation | |
US8918706B1 (en) | Methods and circuitry for performing parallel error checking | |
JP2018181206A (en) | Data processing device, data processing method, and program | |
US20190179701A1 (en) | Semiconductor apparatus | |
JP6408482B2 (en) | Programmable device and electronic system apparatus using the same | |
JP6194679B2 (en) | Data correction circuit and data correction method | |
JP5174603B2 (en) | Memory error correction method, error detection method, and controller using the same | |
CN111880961A (en) | System and method for transparent register data error detection and correction | |
WO2014141455A1 (en) | Field-programmable gate array circuit | |
JP2003316599A (en) | Integrated circuit | |
KR101137771B1 (en) | Self-repairable digital circuit system and digital circuit self-repairing method inspired from endocrine cellular communication | |
WO2014115289A1 (en) | Programmable device and electronic syst em device | |
US9621167B2 (en) | Logic circuit and method for controlling a setting circuit | |
Nguyen et al. | Scheduling voter checks to detect configuration memory errors in FPGA-based TMR systems | |
JP6889138B2 (en) | Storage device and storage method | |
EP3296874B1 (en) | Apparatus and associated method | |
JP2016066344A (en) | Memory diagnostic circuit | |
JP3895118B2 (en) | Single event upset compensation circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170321 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170404 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170526 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6194679 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |