JP2016018569A - Semiconductor integrated circuit - Google Patents
Semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2016018569A JP2016018569A JP2014138606A JP2014138606A JP2016018569A JP 2016018569 A JP2016018569 A JP 2016018569A JP 2014138606 A JP2014138606 A JP 2014138606A JP 2014138606 A JP2014138606 A JP 2014138606A JP 2016018569 A JP2016018569 A JP 2016018569A
- Authority
- JP
- Japan
- Prior art keywords
- register
- error detection
- value
- circuit
- signal
- 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.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
本発明は、半導体集積回路に関する。 The present invention relates to a semiconductor integrated circuit.
宇宙からのアルファ線や中性子線により、メモリに記憶されているビットの値が反転してしまうソフトエラーと呼ばれる現象が知られている。ソフトエラーで発生したエラーを訂正する手法として、ECC(Error Correcting Code)を用いる技術があった。 A phenomenon called soft error is known in which the value of a bit stored in a memory is inverted by alpha rays and neutron rays from the universe. As a technique for correcting an error caused by a soft error, there has been a technique using ECC (Error Correcting Code).
一方で、微細化が進む大規模ロジック回路においても、設定値等を格納するレジスタ群に対するソフトエラーの影響が懸念されている。 On the other hand, even in a large-scale logic circuit that is becoming finer, there is a concern about the influence of a soft error on a register group that stores setting values and the like.
レジスタのソフトエラー対策のためにECCを適用しようとすると、データ書き込み時にECCを生成して格納するため、その格納領域等により回路面積が増加してしまう。 If an attempt is made to apply ECC to counter a soft error in a register, the ECC is generated and stored at the time of data writing, so the circuit area increases due to the storage area and the like.
発明の一観点によれば、行番地と列番地が割り当てられており、それぞれ0または1の1ビットの値を格納する複数のレジスタと、前記複数のレジスタのうち、同一行番地の第1のレジスタ群の何れかの値が変化したときに第1のエラー検出信号を出力する、前記行番地ごとに設けられた第1の誤り検出回路と、前記複数のレジスタのうち、同一列番地の第2のレジスタ群の何れかの値が変化したときに第2のエラー検出信号を出力する、前記列番地ごとに設けられた第2の誤り検出回路と、前記第1のエラー検出信号及び前記第2のエラー検出信号に基づき、エラーが発生した第1のレジスタを特定して、前記第1のレジスタの第1の格納値を1から0または0から1に反転させる正常値書き込み部と、を有する半導体集積回路が提供される。 According to one aspect of the invention, a row address and a column address are assigned, a plurality of registers each storing a 1-bit value of 0 or 1, and a first row of the same row address among the plurality of registers. A first error detection circuit provided for each row address, which outputs a first error detection signal when any of the values of the register group changes, and the first column of the same column address among the plurality of registers; A second error detection circuit provided for each of the column addresses, which outputs a second error detection signal when any one of the two register groups changes, the first error detection signal, and the first error detection signal A normal value writing unit that identifies the first register in which an error has occurred based on the error detection signal of 2 and inverts the first stored value of the first register from 1 to 0 or from 0 to 1; A semiconductor integrated circuit having .
開示の半導体集積回路によれば、比較的小さい回路でレジスタのエラー訂正が行える。 According to the disclosed semiconductor integrated circuit, register error correction can be performed with a relatively small circuit.
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の半導体集積回路の一例を示す図である。
Hereinafter, embodiments for carrying out the invention will be described with reference to the drawings.
(First embodiment)
FIG. 1 is a diagram illustrating an example of a semiconductor integrated circuit according to the first embodiment.
半導体集積回路1は、レジスタa0,a1,a2,b0,b1,b2,c0,c1,c2、誤り検出回路pa,pb,pc,p0,p1,p2、正常値書き込み部2を有する。
レジスタa0〜a2,b0〜b2,c0〜c2は、それぞれ0または1の1ビットの値を格納する。格納される値は、半導体集積回路1の動作に用いられる設定値等である。
The semiconductor integrated
The registers a0 to a2, b0 to b2, and c0 to c2 each store a 1-bit value of 0 or 1. The stored value is a set value used for the operation of the semiconductor integrated
また、レジスタa0〜a2,b0〜b2,c0〜c2は、行番地と列番地が割り当てられている。
以下の説明では、行番地をa,b,cとして、レジスタa0,a1,a2には同一の行番地aが、レジスタb0,b1,b2には同一の行番地bが、レジスタc0,c1,c2には同一の行番地cが割り当てられているものとする。また、列番地を0,1,2として、レジスタa0,b0,c0には同一の列番地0が、レジスタa1,b1,c1には同一の列番地1が、レジスタa2,b2,c2には同一の列番地2が割り当てられているものとする。
In addition, row addresses and column addresses are assigned to the registers a0 to a2, b0 to b2, and c0 to c2.
In the following description, the row addresses are a, b, and c, the same row address a is stored in the registers a0, a1, and a2, the same row address b is stored in the registers b0, b1, and b2, and the registers c0, c1, and c2. It is assumed that the same row address c is assigned to c2. The column addresses are 0, 1, and 2. The
なお、行番地と列番地の一方はビット位置を示すものであってもよい。例えば、列番地0〜2がビット位置を示すとすると、レジスタa0は、行番地aのデータの最下位ビットを格納するレジスタ、レジスタa2は、行番地aのデータの最上位ビットを格納するレジスタ、となる。 One of the row address and the column address may indicate a bit position. For example, if the column addresses 0 to 2 indicate the bit positions, the register a0 is a register that stores the least significant bit of the data at the row address a, and the register a2 is a register that stores the most significant bit of the data at the row address a. .
なお、図1の例では、レジスタa0〜a2,b0〜b2,c0〜c2は、行列状に配置されているが、どのように配置されていてもよく、物理配置にかかわらず、行番地a,b,cと列番地0,1,2が割り当てられる。例えば、レジスタa0〜a2,b0〜b2,c0〜c2は、1列に配置されていてもよい。また、図1では、レジスタa0〜a2,b0〜b2,c0〜c2に供給されるクロック信号については図示が省略されている。
In the example of FIG. 1, the registers a0 to a2, b0 to b2, and c0 to c2 are arranged in a matrix. However, the registers a0 to a2, b0 to b2, and c0 to c2 may be arranged in any way. , B, c and
誤り検出回路pa,pb,pcは、各行番地a,b,cに対応して設けられている。誤り検出回路paは、レジスタa0〜a2,b0〜b2,c0〜c2のうち、行番地aのレジスタa0〜a2の何れかの値が変化したときに、エラーを検出したことを示すエラー検出信号を出力する。誤り検出回路pbは、行番地bのレジスタb0〜b2の何れかの値が変化したときに、エラーを検出したことを示すエラー検出信号を出力する。誤り検出回路pcは、行番地cのレジスタc0〜c2の何れかの値が変化したときに、エラーを検出したことを示すエラー検出信号を出力する。 The error detection circuits pa, pb, pc are provided corresponding to the respective row addresses a, b, c. The error detection circuit pa is an error detection signal indicating that an error has been detected when any one of the registers a0 to a2 of the row address a changes among the registers a0 to a2, b0 to b2, and c0 to c2. Is output. The error detection circuit pb outputs an error detection signal indicating that an error has been detected when any value of the registers b0 to b2 at the row address b changes. The error detection circuit pc outputs an error detection signal indicating that an error has been detected when any one of the registers c0 to c2 at the row address c changes.
一方、誤り検出回路p0,p1,p2は、各列番地0,1,2に対応して設けられている。誤り検出回路p0は、レジスタa0〜a2,b0〜b2,c0〜c2のうち、列番地0のレジスタa0,b0,c0の何れかの値が変化したときに、エラーを検出したことを示すエラー検出信号を出力する。誤り検出回路p1は、列番地1のレジスタa1,b1,c1の何れかの値が変化したときに、エラーを検出したことを示すエラー検出信号を出力する。誤り検出回路p2は、列番地2のレジスタa2,b2,c2の何れかの値が変化したときに、エラーを検出したことを示すエラー検出信号を出力する。
On the other hand, error detection circuits p0, p1, and p2 are provided corresponding to the
なお、誤り検出回路pa,pb,pc,p0,p1,p2で、各行番地または各列番地のレジスタ群の値の変化を検出する方法として、例えば、以下の方法がある。
誤り検出回路paを例にして説明する。誤り検出回路paは、例えば、レジスタa0,a1,a2の値のXOR演算を行うことによりパリティビットを生成する。そして、誤り検出回路paは、生成したパリティビットと、予め格納している正常時のパリティビットとを比較することにより、レジスタa0,a1,a2の何れかの値が変化したか否かを検出できる。生成したパリティビットと正常時のパリティビットが異なれば、誤り検出回路paは、エラーを検出したことを示すエラー検出信号を出力する。
As a method for detecting a change in the value of a register group at each row address or each column address by the error detection circuits pa, pb, pc, p0, p1, and p2, for example, the following methods are available.
The error detection circuit pa will be described as an example. For example, the error detection circuit pa generates a parity bit by performing an XOR operation on the values of the registers a0, a1, and a2. Then, the error detection circuit pa detects whether the value of any of the registers a0, a1, and a2 has changed by comparing the generated parity bit with a normal parity bit stored in advance. it can. If the generated parity bit is different from the normal parity bit, the error detection circuit pa outputs an error detection signal indicating that an error has been detected.
正常値書き込み部2は、誤り検出回路pa,pb,pcからのエラー検出信号と、誤り検出回路p0,p1,p2からのエラー検出信号に基づき、エラーが発生した(値が反転した)レジスタを特定する。誤り検出回路pa,pb,pc,p0,p1,p2は、行番地a,b,cまたは列番地0,1,2に対応しているため、誤り検出回路pa,pb,pcから出力されるエラー検出信号から、エラーが発生したレジスタの行番地が特定される。また、誤り検出回路p0,p1,p2から出力されるエラー検出信号から、エラーが発生したレジスタの列番地が特定される。これによって、エラーが発生したレジスタが特定される。
The normal
さらに、正常値書き込み部2は、特定したレジスタに書き込む値を1から0または0から1に反転させる。これによって、エラー訂正が行われる。
なお、正常値書き込み部2は、プロセッサ(例えば、CPU(Central Processing Unit))であってもよい。プロセッサを用いた場合、誤り検出回路pa〜pc,p0〜p2から出力されるエラー検出信号に基づき、プロセッサへの割り込みがアサートされ、プロセッサはエラーが発生したレジスタの値を反転させる。
Further, the normal
The normal
(半導体集積回路の動作例)
以下、半導体集積回路1によるエラー検出/訂正時の動作例を説明する。なお、以下では、レジスタc1でエラー(例えば、ソフトエラー)が発生し、値(ビット)が0から1または1から0に反転した例を用いて説明する。
(Operation example of semiconductor integrated circuit)
Hereinafter, an operation example at the time of error detection / correction by the semiconductor integrated
レジスタc1の値が反転したとき、誤り検出回路pcは、レジスタc0〜c2の値の変化を受けて、エラーが発生した旨を示すエラー検出信号を出力する。一方、誤り検出回路p1も、レジスタa1,b1,c1の値の変化を受けて、エラーが発生した旨を示すエラー検出信号を出力する。 When the value of the register c1 is inverted, the error detection circuit pc outputs an error detection signal indicating that an error has occurred in response to a change in the values of the registers c0 to c2. On the other hand, the error detection circuit p1 also outputs an error detection signal indicating that an error has occurred in response to changes in the values of the registers a1, b1, and c1.
正常値書き込み部2は、誤り検出回路pc,p1からのエラー検出信号を受けて、誤り検出回路pcが属する行番地cと、誤り検出回路p1が属する列番地1から、エラーが発生したレジスタc1を特定する。そして、正常値書き込み部2は、レジスタc1の格納値を反転させ、レジスタc1に発生したエラーを訂正する。
The normal
以上のように、半導体集積回路1は、行番地と列番地をレジスタに割当て、同一行番地及び同一列番地ごとのレジスタ群の値の変化を検出して、検出結果から特定したエラーが発生したレジスタの格納値を反転してエラー訂正を行う。これによって、例えば、ECCを用いた際に行われる読み出し動作や、ECCの格納領域も不要となるので、レジスタのエラー検出/訂正を、比較的小さい回路で行える。
As described above, the semiconductor integrated
なお、誤り検出回路pa〜pcまたは誤り検出回路p0〜p2の一方は、1つであってもよい。例えば、各レジスタに1行n(n≧2)列の番地が割当てられたときには、行番地に対応した誤り検出回路は1つとなる。 One of the error detection circuits pa to pc or the error detection circuits p0 to p2 may be one. For example, when an address of 1 row n (n ≧ 2) column is assigned to each register, there is one error detection circuit corresponding to the row address.
(第2の実施の形態)
図2は、第2の実施の形態の半導体集積回路の一例を示す図である。
第2の実施の形態の半導体集積回路3は、プロセッサ4、レジスタ群5、誤り検出部6、正常値保持部7、割り込み制御部8、回路部9を有する。
(Second Embodiment)
FIG. 2 is a diagram illustrating an example of a semiconductor integrated circuit according to the second embodiment.
The semiconductor integrated
プロセッサ4は、例えば、クロック信号CLK、アドレス信号ADD、バイトイネーブル信号BE、ライト信号Wをレジスタ群5等に出力する。また、プロセッサ4は、レジスタ群5や誤り検出部6と、例えば、データバスにより接続されている。また、プロセッサ4は、割り込み制御部8から出力される割り込み信号Intがアサートされると、誤り検出部6からのエラー検出信号に基づき、レジスタ群5内のエラーが発生したレジスタを特定し、そのレジスタの格納値を反転させることで、エラー訂正を行う。すなわち、プロセッサ4は、第1の実施の形態の半導体集積回路1の正常値書き込み部2の機能を行う。
For example, the
なお、プロセッサ4は、例えば、CPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)である。また、プロセッサ4は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。また、プロセッサ4は、マルチプロセッサであってもよい。
The
レジスタ群5に含まれる各レジスタには、行番地と列番地が割り当てられており、それぞれ0または1の1ビットの値を格納する。
誤り検出部6は、行番地及び列番地ごとに設けられた複数の誤り検出回路を有しており、レジスタ群5に含まれる行番地または列番地ごとのレジスタ群の値の変化を検出したときに、エラーを検出した旨のエラー検出信号を出力する。
Each register included in the
The
正常値保持部7は、誤り検出部6でエラーが検出されても、回路部9に対しては正常値(エラー発生前のレジスタの格納値)の出力状態が保持(維持)されるようにする。正常値保持部7は、エラー検出信号に基づき、エラーが発生したレジスタの値を反転して回路部9に出力する。このため、エラーによって、あるレジスタの値が反転しても、回路部9に供給されるレジスタの値は正常値のままとなる。また、正常値保持部7は、誤り検出部6がエラーを検出した場合、割り込み制御部8に対して、割り込み信号Intの発生を指示する。
The normal
割り込み制御部8は、正常値保持部7から割り込み信号Intの発生が指示されると、プロセッサ4に供給する割り込み信号Intをアサートする。また、割り込み制御部8は、正常値保持部7からの割り込み信号Intの発生の指示がないとき、割り込み信号Intをネゲートする。
When the generation of the interrupt signal Int is instructed from the normal
回路部9は、半導体集積回路1の特定の機能を実行する回路部である。回路部9は、レジスタ群5で保持されている値に基づき、特定の機能を実行する。回路部9に供給される値は、前述の正常値保持部7の機能により正常値が維持される。
The circuit unit 9 is a circuit unit that executes a specific function of the semiconductor integrated
(レジスタ群及び誤り検出部の例)
以下、レジスタ群5及び誤り検出部6の一例を説明する。
図3は、第2の実施の形態のレジスタ群及び誤り検出部の一例を示す図である。
(Example of register group and error detection unit)
Hereinafter, an example of the
FIG. 3 is a diagram illustrating an example of a register group and an error detection unit according to the second embodiment.
なお、図1に示す要素と同一の要素には、同一の符号を付し、その説明を一部省略する。また、レジスタ群5において、プロセッサ4から入力されるライト信号W等については図示を省略している。
The same elements as those shown in FIG. 1 are denoted by the same reference numerals, and the description thereof is partially omitted. In the
レジスタ群5は、行番地と列番地が割り当てられた9個のレジスタa0〜a2,b0〜b2,c0〜c2を有する。なお、レジスタの数は、特にこの数に限定されるものではない。
The
なお、第1の実施の形態の半導体集積回路1で示したレジスタ群と同様に、行番地をa,b,cとして、レジスタa0,a1,a2には同一の行番地aが、レジスタb0,b1,b2には同一の行番地bが、レジスタc0,c1,c2には同一の行番地cが割り当てられているものとする。また、列番地を0,1,2として、レジスタa0,b0,c0には同一の列番地0が、レジスタa1,b1,c1には同一の列番地1が、レジスタa2,b2,c2には同一の列番地2が割り当てられているものとする。
As in the register group shown in the semiconductor integrated
また、以下の説明では、行番地a,b,cは、図2に示したようにプロセッサ4が出力するアドレス信号ADDで指定され、列番地0,1,2はビット位置を示し、プロセッサ4が出力する複数ビットのデータで指定されるものとする。ここで、列番地0が最下位ビットを示し、列番地2が最上位ビットとすると、例えば、3ビットのデータ“010”がプロセッサ4から出力された場合、列番地1が指定される。
In the following description, the row addresses a, b, and c are specified by the address signal ADD output from the
以下の説明では、レジスタa0〜a2の出力信号を信号da0,da1,da2、レジスタb0〜b2の出力信号を信号db0,db1,db2、レジスタc0〜c2の出力信号を信号dc0,dc1,dc2と表記する。 In the following description, the output signals of the registers a0 to a2 are the signals da0, da1, and da2, the output signals of the registers b0 to b2 are the signals db0, db1, and db2, and the output signals of the registers c0 to c2 are the signals dc0, dc1, and dc2. write.
誤り検出部6は、行番地及び列番地ごとに設けられた誤り検出回路pa〜pc,p0〜p2を有する。誤り検出回路pa〜pc,p0〜p2の各々は、行番地a,b,cまたは列番地0,1,2に属するレジスタa0〜a2,b0〜b2,c0〜c2の値の変化を検出する。以下、誤り検出回路pa〜pcから出力されるエラー検出信号を信号xap,xbp,xcp、誤り検出回路p0〜p2から出力されるエラー検出信号を信号x0p,x1p,x2pと表記する。信号xap,xbp,xcp,x0p,x1p,x2pは、例えば、値が“1”のとき、エラーが発生したことを表す。
The
(レジスタの一例)
以下、レジスタa0〜a2,b0〜b2,c0〜c2の一例を説明する。
図4は、レジスタの一例を示す図である。
(Example of register)
Hereinafter, an example of the registers a0 to a2, b0 to b2, and c0 to c2 will be described.
FIG. 4 is a diagram illustrating an example of a register.
なお、以下では、レジスタc1の一例を示すが、他のレジスタについても同様の回路構成で実現できる。
レジスタc1は、例えばエラーにより反転された値を、プロセッサ4の制御のもとさらに反転する機能を有する。レジスタc1は、フリップフロップ10、NOT回路11、セレクタ12を有する。
In the following, an example of the register c1 is shown, but other registers can be realized with the same circuit configuration.
The register c1 has a function of further inverting the value inverted by an error, for example, under the control of the
フリップフロップ10は、クロック信号CLKの立ち上り(または立ち下がり)に同期して、セレクタ12から出力される値を保持し、また、保持した値を信号dc1として出力する。また、フリップフロップ10は、フリップフロップ10の初期値設定の際に使用される非同期セット端子10a、非同期リセット端子10bを有する。例えば、電源投入時等の初期状態において、フリップフロップ10の初期値を1とする場合は非同期セット端子10aに、初期値を0とする場合は非同期リセット端子10bに、初期値設定のための信号がプロセッサ4から供給される。
The flip-
NOT回路11は、信号dc1の値を反転させ、セレクタ12に出力する。
セレクタ12は、選択信号に基づき、信号dc1と、NOT回路11で反転された信号dc1の何れかを選択し、フリップフロップ10に出力する。
The
The
選択信号は、アドレス信号ADD、バイトイネーブル信号BE、ライト信号W、データ(例えば、前述した3ビットのデータ)に基づいて生成される。レジスタc1に入力される選択信号は、アドレス信号ADDで行番地cが指定され、バイトイネーブル信号BEが有効であり、ライト信号Wが“1”で、データで列番地1が指定されたときに、“1”となる。このとき、フリップフロップ10に格納される値が0から1または1から0に反転される。
The selection signal is generated based on the address signal ADD, the byte enable signal BE, the write signal W, and data (for example, the above-described 3-bit data). The selection signal input to the register c1 is when the row address c is designated by the address signal ADD, the byte enable signal BE is valid, the write signal W is “1”, and the
以下、プロセッサ4から出力される各種信号に基づくレジスタc1の動作例を説明する。
(レジスタの動作例)
図5は、レジスタのエラー訂正時の動作例を示すタイミングチャートである。
Hereinafter, an operation example of the register c1 based on various signals output from the
(Register operation example)
FIG. 5 is a timing chart showing an operation example at the time of register error correction.
図5には、書き戻し処理の際、プロセッサ4から出力されるクロック信号CLK、アドレス信号ADD、バイトイネーブル信号BE、ライト信号W、データバスに流れるデータの一例が示されている。
FIG. 5 shows an example of the clock signal CLK, the address signal ADD, the byte enable signal BE, the write signal W, and the data flowing through the data bus that are output from the
さらに、レジスタc1から出力される信号dc1と、レジスタc1のセレクタ12に入力される選択信号の一例の様子が示されている。なお、図5では、タイミングt0より前にレジスタc1にエラーが発生し、レジスタc1(フリップフロップ10)に格納されている値が“1”に反転されている、すなわち、信号dc1が“1”となっているものとする。
Further, an example of a signal dc1 output from the register c1 and a selection signal input to the
レジスタc1にエラーが発生すると、割り込み制御部8によりプロセッサ4への割り込み信号Intがアサートされる。そして、プロセッサ4は、誤り検出部6から出力されるエラー検出信号に基づき、エラーが発生したレジスタc1を特定する。そしてプロセッサ4は、タイミングt0で、アドレス信号ADDでレジスタc1の属する行番地cを指定し、“010”という3ビットのデータにより、列番地1を指定する。
When an error occurs in the register c1, the interrupt
タイミングt0では、さらに、レジスタc1の値の書き換えが可能となるように、プロセッサ4は、バイトイネーブル信号BEを有効にする。
タイミングt1では、プロセッサ4により、ライト信号Wが、クロック信号CLKの立ち上りに同期して、“1”に立ち上り、選択信号も“1”になる。このとき、セレクタ12は、NOT回路11で“0”に反転された信号dc1を選択し、フリップフロップ10に出力する。
At timing t0, the
At timing t1, the
タイミングt2では、クロック信号CLKの立ち上りに同期して、信号dc1が“0”に立ち下がる。これにより、レジスタc1で発生したエラーが訂正される。また、クロック信号CLKの立ち上りに同期して、ライト信号Wが立ち下り、選択信号も立ち下る。 At timing t2, the signal dc1 falls to “0” in synchronization with the rise of the clock signal CLK. Thereby, the error generated in the register c1 is corrected. Further, in synchronization with the rising of the clock signal CLK, the write signal W falls and the selection signal also falls.
レジスタc1から正常値が出力されると割り込み制御部8によるプロセッサ4への割り込み信号Intがネゲートされる。これにより、プロセッサ4からの行番地cの指定や、列番地1を指定するためのデータ出力が停止され、バイトイネーブル信号BEも無効となる。
When a normal value is output from the register c1, an interrupt signal Int to the
上記のように、プロセッサ4は、エラー発生レジスタの属する列番地をビット位置として、複数ビット(上記の例では3ビット)のデータで指定する。複数ビットのうち値が“0”のビット位置に相当する列番地のレジスタではエラー訂正が行われず、値が“1”のビット位置に相当する列番地のレジスタではエラー訂正が行われる。これにより、レジスタ1つごと(1ビット単位)の訂正が可能である。
As described above, the
なお、上記の例では、プロセッサ4は、ライト信号Wを1クロック周期の間(タイミングt1〜t2間)だけ“1”としている。ライト信号Wが、偶数クロック周期の間、例えば、2クロック周期の間“1”であると、選択信号も2クロック周期の間、“1”になる。そうすると、1クロック目で“1”から“0”に反転した信号dc1が、2クロック目で、さらに“0”から“1”と反転し、元の状態に戻ってしまう。これを防止するために、プロセッサ4は、上記のように、ライト信号Wを奇数クロック周期の間、例えば、1クロック周期の間だけ、“1”になるようにしている。
In the above example, the
他のレジスタについても同様の動作により、エラー訂正が行われる。
(誤り検出回路の一例)
以下、誤り検出回路pa〜pc,p0〜p2の一例を説明する。
For other registers, error correction is performed by the same operation.
(Example of error detection circuit)
Hereinafter, an example of the error detection circuits pa to pc and p0 to p2 will be described.
図6は、誤り検出回路の一例を示す図である。以下では、誤り検出回路pcを例にとって説明するが、他の誤り検出回路についても同様の回路構成で実現できる。
誤り検出回路pcは、偶数パリティ方式により、行番地cのレジスタc0,c1,c2の値の変化を検出する回路である。
FIG. 6 is a diagram illustrating an example of an error detection circuit. Hereinafter, the error detection circuit pc will be described as an example, but other error detection circuits can be realized with the same circuit configuration.
The error detection circuit pc is a circuit that detects a change in the values of the registers c0, c1, and c2 at the row address c by an even parity method.
誤り検出回路pcは、XOR回路13,14、レジスタ15、XOR回路16を有する。
XOR回路13は、レジスタc1から出力される信号dc1とレジスタc2から出力される信号dc2とのXOR演算を行い、その演算結果をXOR回路14に出力する。XOR回路14は、XOR回路13から出力されるXOR演算結果と、レジスタc0から出力される信号dc0のXOR演算を行い、その演算結果を、レジスタ15とXOR回路16に出力する。XOR回路14から出力されるXOR演算結果が、信号dc0〜dc2の偶数パリティ方式により生成されたパリティビットとなる。
The error detection circuit pc includes
The
レジスタ15は、XOR回路14から出力されたパリティビットを、クロック信号CLKの立ち上り(または立ち下り)に同期して保持し、また、保持したパリティビットをXOR回路16に出力する。
The
XOR回路16は、XOR回路14から出力されたパリティビットと、レジスタ15に保持されたパリティビットのXOR演算を行い、その演算結果を信号xpcとして、図2に示した正常値保持部7に出力する。図6に示す例では、XOR回路14から出力されたパリティビットと、レジスタ15に保持されたパリティビットが一致しないときに、信号xpcは、エラーの発生を示す“1”となる。
The
なお、信号xpcはプロセッサ4にも出力するようにしてもよい。プロセッサ4は、信号xpcと、誤り検出回路p1が出力する信号xp1の値が両方“1”のときに、レジスタc1がエラー発生レジスタであることを特定する。
The signal xpc may also be output to the
なお、誤り検出回路pcでは、レジスタ15でエラーが発生し、保持しているパリティビットの値が反転してしまう可能性がある。しかしながら、レジスタ15は、クロック信号CLKに同期してパリティビットを更新しているため、レジスタc0,c1,c2から供給される信号dc0〜dc2が正しいものであれば、パリティビットは自動的に正常な値に書き戻され、エラーが訂正される。
In the error detection circuit pc, there is a possibility that an error occurs in the
(正常値保持部の一例)
以下、正常値保持部7の一例を説明する。
図7は、正常値保持部の一例を示す図である。なお、図7では、エラーが発生してレジスタc1が出力する信号dc1が変化したときに、回路部9に正常な値を供給する回路部分が示されている。他のレジスタに関する部分については図示が省略されているが、同様の回路となる。
(Example of normal value holding unit)
Hereinafter, an example of the normal
FIG. 7 is a diagram illustrating an example of a normal value holding unit. FIG. 7 shows a circuit portion that supplies a normal value to the circuit portion 9 when an error occurs and the signal dc1 output from the register c1 changes. Although the illustration regarding the other registers is omitted, the circuit is similar.
正常値保持部7は、AND回路17、レジスタ18、NOT回路19、セレクタ20を有する。
AND回路17は、図3に示した誤り検出回路pcから出力される信号xpcと、誤り検出回路p1から出力される信号xp1のAND演算を行う。AND演算結果はレジスタ18のクロック入力端子に供給される。
The normal
The AND
レジスタ18のデータ入力端子には、レジスタ18の保持する値を反転させ出力する反転出力端子が接続される。レジスタ18は、AND回路17から供給されるAND演算結果の立ち上り(または立ち下がり)に同期して、保持している値を反転し、セレクタ20の選択信号として出力する。選択信号は、後述のようにレジスタc1でエラーが発生したときに“1”となる。
The data input terminal of the
NOT回路19は、図3に示したレジスタc1が出力する信号dc1の値を反転し、セレクタ20に出力する。
セレクタ20は、レジスタ18から供給される選択信号が“0”のときは、レジスタc1から出力される信号dc1を選択して信号Dc1として出力する。選択信号が“1”のときは、セレクタ20は、NOT回路19により反転された信号dc1を選択して信号Dc1として出力する。
The
When the selection signal supplied from the
なお、第2の実施の形態の半導体集積回路3では、レジスタ18からセレクタ20に供給される選択信号は、図2に示した割り込み制御部8に割り込み信号Intの発生を指示する信号を生成する際にも用いられる。例えば、割り込み信号Intの発生を指示する信号は、レジスタ群5のレジスタごとに生成される選択信号のORをとったものである。
In the semiconductor integrated
また、選択信号は、後述のようにレジスタc1でエラーが発生したときに“1”となる。この選択信号は、レジスタ群5のレジスタごとに生成されるため、プロセッサ4は、割り込み信号Intが発生したとき、“1”となっている選択信号から、エラー発生レジスタを特定するようにしてもよい。
Further, the selection signal becomes “1” when an error occurs in the register c1, as will be described later. Since this selection signal is generated for each register of the
(誤り検出回路及び正常値保持部の動作例1)
以下、誤り検出回路及び正常値保持部の動作例を説明する。
図8は、レジスタ群に含まれるレジスタにエラーが発生した際の誤り検出回路及び正常値保持部の動作の一例を示すタイミングチャートである。図8では、レジスタc1でエラーが発生した場合の例が示されており、クロック信号CLK、レジスタc1から出力される信号dc1、誤り検出回路pc,p1の各部の信号と、正常値保持部7の各部の信号の一例の様子が示されている。
(Operation example 1 of error detection circuit and normal value holding unit)
Hereinafter, operation examples of the error detection circuit and the normal value holding unit will be described.
FIG. 8 is a timing chart illustrating an example of the operation of the error detection circuit and the normal value holding unit when an error occurs in a register included in the register group. FIG. 8 shows an example in the case where an error occurs in the register c1. The clock signal CLK, the signal dc1 output from the register c1, the signals of the error detection circuits pc and p1, and the normal
なお、誤り検出回路p1と、図6に示した誤り検出回路pcは同様の回路であるため、図8では便宜上対応する要素に同じ符号を付して説明する。
また、誤り検出回路pcのレジスタ15の出力であるパリティビット及びXOR回路14の出力の初期値は“0”、誤り検出回路p1のレジスタ15の出力であるパリティビット及びXOR回路14の出力の初期値は“1”であるものとする。
Note that the error detection circuit p1 and the error detection circuit pc shown in FIG. 6 are similar circuits, and therefore, in FIG.
Also, the parity bit that is the output of the
図8の例では、タイミングt3で、レジスタc1にエラーが発生し、レジスタc1の出力する信号dc1の値が“0”から“1”に反転している。信号dc1の値の変化に伴い、誤り検出回路pcのXOR回路14の出力が“1”に立ち上る。このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値が一致しなくなるため、信号xpcが“1”に立ち上る。また、信号dc1の値の変化に伴い、誤り検出回路p1のXOR回路14の出力が“0”に立ち下る。これにより、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値が一致しないため信号xp1が“1”に立ち上る。
In the example of FIG. 8, an error occurs in the register c1 at the timing t3, and the value of the signal dc1 output from the register c1 is inverted from “0” to “1”. As the value of the signal dc1 changes, the output of the
また、タイミングt3で、信号xpc,xp1が“1”に立ち上ることにより、正常値保持部7のAND回路17の出力が“1”に立ち上る。また、AND回路17の出力の立ち上りに同期して、レジスタ18は、保持している値を“0”から“1”に反転するため、レジスタ18の出力が“1”に立ち上る。また、信号dc1が“1”に立ち上ることにより、正常値保持部7のNOT回路19の出力は、“0”に立ち下がる。
Further, at timing t3, the signals xpc and xp1 rise to “1”, whereby the output of the AND
また、タイミングt3で、正常値保持部7のレジスタ18の出力が“1”に立ち上ることにより、セレクタ20は、NOT回路19からの出力を選択し、信号Dc1として出力する。これにより、タイミングt3で、レジスタc1にエラーが発生し、信号dc1の値が“1”に反転しても、回路部9には、信号dc1の正常値である“0”が信号Dc1として出力され続ける。
At timing t3, the output of the
タイミングt4では、誤り検出回路pcのレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力する“1”を保持する。そのため、誤り検出回路pcのレジスタ15の出力は“1”に立ち上る。また、このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値は“1”で一致するため、信号xpcは“0”に立ち下がる。
At timing t4, the
また、タイミングt4で、誤り検出回路p1のレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力する“0”を保持する。そのため、誤り検出回路p1のレジスタ15の出力は“0”に立ち下がる。また、このとき、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値は“0”で一致するため、信号xp1は“0”に立ち下がる。
At timing t4, the
また、タイミングt4で、信号xpc,xp1が“0”に立ち下がることにより、正常値保持部7のAND回路17の出力が“0”に立ち下がる。
タイミングt5では、プロセッサ4による書き戻し(正常値書き込み)処理が行われる。前述の図5に示したレジスタc1の動作により、信号dc1が“0”に立ち下がる。
At timing t4, the signals xpc and xp1 fall to “0”, so that the output of the AND
At timing t5, a write back (normal value writing) process by the
また、信号dc1の値の変化に伴い、誤り検出回路pcのXOR回路14の出力が“0”に立ち下がる。また、このとき、誤り検出回路pcのXOR回路14とレジスタ15の出力の値が一致しないため、信号xpcが“1”に立ち上る。また、信号dc1の値の変化に伴い、誤り検出回路p1のXOR回路14の出力が“1”に立ち下がる。また、このとき、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値が一致しないため、信号xp1が“1”に立ち上る。
As the value of the signal dc1 changes, the output of the
また、タイミングt5で、信号xpc,xp1が“1”に立ち上ることにより、正常値保持部7のAND回路17の出力が“1”に立ち上る。また、AND回路17の出力の立ち上りに同期して、レジスタ18は、“1”を反転させて“0”を保持する。そのため、レジスタ18の出力が“0”に立ち下がる。また、信号dc1が“0”に立ち下がることにより、正常値保持部7のNOT回路19の出力は、“1”に立ち上る。
At timing t5, the signals xpc and xp1 rise to “1”, whereby the output of the AND
また、正常値保持部7のレジスタ18の出力が“0”に立ち下がることにより、セレクタ20は、信号dc1を選択し、信号Dc1として出力する。これにより、タイミングt5で、エラー訂正により正常値となった信号dc1の“0”が信号Dc1として出力される。
Further, when the output of the
タイミングt6では、誤り検出回路pcのレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力する“0”を保持するため、誤り検出回路pcのレジスタ15の出力は“0”に立ち下がる。また、このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値は“0”で一致するため、信号xpcは“0”に立ち下がる。
At timing t6, the
また、タイミングt6で、誤り検出回路p1のレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力する“1”を保持するため、誤り検出回路p1のレジスタ15の出力は“1”に立ち上る。また、このとき、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値は“1”で一致するため、信号xp1は“0”に立ち下がる。
At timing t6, the
また、タイミングt6で、信号xpc,xp1が“0”に立ち下がることにより、正常値保持部7のAND回路17の出力が“0”に立ち下がる。
以上のような動作によって、レジスタc1にエラーが発生して、信号dc1の値が変わっても、回路部9へは正常値を供給し続けることができる。
At timing t6, the signals xpc and xp1 fall to “0”, so that the output of the AND
With the above operation, even if an error occurs in the register c1 and the value of the signal dc1 changes, the normal value can be continuously supplied to the circuit unit 9.
以下、誤り検出回路pcのレジスタ15でエラーが生じた際の動作例を説明する。
(誤り検出回路及び正常値保持回路の動作例2)
図9は、誤り検出回路のレジスタにエラーが発生した際の誤り検出回路及び正常値保持回路の動作の一例を示すタイミングチャートである。
Hereinafter, an operation example when an error occurs in the
(Operation example 2 of error detection circuit and normal value holding circuit)
FIG. 9 is a timing chart showing an example of operations of the error detection circuit and the normal value holding circuit when an error occurs in the register of the error detection circuit.
図8に示した各種信号の、誤り検出回路pcのレジスタ15でエラーが生じた際の一例の様子が図9に示されている。
なお、初期状態では、誤り検出回路pcのレジスタ15には、正常なパリティビットとして“0”が保持されているものとする。
FIG. 9 shows an example of the various signals shown in FIG. 8 when an error occurs in the
In the initial state, it is assumed that “0” is held as a normal parity bit in the
図9の例では、タイミングt7で、誤り検出回路pcのレジスタ15にエラーが発生し、そのレジスタ15の出力が“0”から“1”に反転している。このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値が一致しなくなるため、信号xpcが“1”に立ち上る。
In the example of FIG. 9, an error occurs in the
タイミングt7では、信号xpcが“1”に立ち上っても、信号xp1は“0”を維持するため、正常値保持部7のAND回路17の出力も“0”を維持する。これにより、正常値保持部7のレジスタ18の出力(セレクタ20の選択信号)も“0”を維持するため、この選択信号に基づいて生成される割り込み信号Intの発生を指示する信号はネゲートされ、割り込みは発生しない。
At timing t7, even if the signal xpc rises to “1”, the signal xp1 maintains “0”, so that the output of the AND
また、正常値保持部7のレジスタ18の出力が“0”を維持することにより、セレクタ20も正常値である信号dc1を選択し続けるため、信号Dc1も正常値である信号dc1を維持し続ける。
Further, since the output of the
一方、タイミングt8で、誤り検出回路pcのレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力(正常なパリティビット)を保持する。これにより、レジスタ15の出力は“0”に立ち下がる。また、このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力が“0”となり一致するため、信号xpcが“0”に立ち下がる。
On the other hand, at the timing t8, the
以下、エラー発生時の半導体集積回路1の動作についてまとめる。
図10は、エラー発生時の半導体集積回路の動作の一例の流れを示すフローチャートである。
The operation of the semiconductor integrated
FIG. 10 is a flowchart showing an example of the operation of the semiconductor integrated circuit when an error occurs.
レジスタ群5に含まれるレジスタにエラーが発生した場合、回路部9への出力が、正常値保持部7により、正常値に保持される(ステップS1)。例えば、レジスタc1にエラーが発生し、レジスタc1が出力する信号dc1の値が反転しても、セレクタ20(図7)は、NOT回路19(図7)で信号dc1の値を反転して信号Dc1として出力するため、回路部9への出力は、正常値に保持される。
When an error occurs in a register included in the
一方、エラーが発生すると、前述のようにプロセッサ4への割り込み信号Intがアサートされる(ステップS2)。
その後、プロセッサ4はエラー発生レジスタを特定して、図5に示したように、そのレジスタへの正常値の書き戻し(エラー訂正)処理が行われる(ステップS3)。
On the other hand, when an error occurs, the interrupt signal Int to the
Thereafter, the
以上の処理により、レジスタのエラーが訂正されると、パリティビットは、正常値となる(ステップS4)。
また、正常値保持部7により、正常値となったレジスタの値が選択され、回路部9に出力される(ステップS5)。
When the register error is corrected by the above processing, the parity bit becomes a normal value (step S4).
Further, the normal
その後、プロセッサ4への割り込み信号Intがネゲートされる(ステップS6)。
以上のような、第2の実施の形態の半導体集積回路3では、第1の実施の形態の半導体集積回路1と同様の効果が得られる。
Thereafter, the interrupt signal Int to the
In the semiconductor integrated
さらに、第2実施の形態の半導体集積回路3では、正常値保持部7が、エラー発生レジスタが出力する信号の値を0から1または1から0に反転して、回路部9に出力することで、回路部9に供給される値を正常値に維持することができる。これにより、レジスタ群5でのエラーにより回路部9で誤動作が生じることを抑制できる。
Further, in the semiconductor integrated
さらに、第2の実施の形態の半導体集積回路3では、レジスタ群5に含まれる複数のレジスタは、プロセッサ4の制御のもと、エラー発生時、保持している値を反転する機能を有する。これにより、正常値の複製をミラーリング等によりメモリ等に保持しておくことが不要となるため、より小面積の回路構成で、レジスタのエラー訂正を行うことができる。
Furthermore, in the semiconductor integrated
(第3の実施の形態)
図11は、第3の実施の形態の半導体集積回路の一例を示す図である。なお、図3、図4に示した要素と同一の要素には、同一の符号を付し、その説明を一部省略する。
(Third embodiment)
FIG. 11 is a diagram illustrating an example of a semiconductor integrated circuit according to the third embodiment. The same elements as those shown in FIGS. 3 and 4 are denoted by the same reference numerals, and the description thereof is partially omitted.
第3の実施の形態の半導体集積回路3aは、プロセッサ4の代わりにエラー発生レジスタの格納値を反転させる正常値書き込み部7aを有している。この正常値書き込み部7aは、第2の実施の形態の半導体集積回路3の正常値保持部7の機能も有する。なお、図11では、正常値書き込み部7aは、レジスタc1でエラーが発生したときに、レジスタc1の格納値を反転させる部分と、レジスタc1のエラー発生前の格納値(正常値)を回路部9に出力する部分が示されている。他のレジスタに関する部分については図示が省略されているが、同様の回路となる。
The semiconductor integrated
正常値書き込み部7aは、AND回路21、レジスタ22、NOT回路23、AND回路24、NOT回路25、セレクタ26を有する。
AND回路21は、誤り検出回路pcから出力される信号xpcと、誤り検出回路pcから出力される信号xp1のAND演算を行い、その演算結果を、レジスタ22とAND回路24に出力する。
The normal
The AND
レジスタ22は、AND回路21から出力された演算結果を、入力されるクロック信号CLKの立ち上り(または立ち下がり)に同期して保持し、また、その保持した値を、NOT回路23に出力する。
The
NOT回路23は、レジスタ22から出力された値を反転し、AND回路24に出力する。
AND回路24は、AND回路21から出力された演算結果と、NOT回路23から出力された値のAND演算を行い、その演算結果を、セレクタ26と、レジスタc1に含まれるセレクタ12とに対する選択信号として出力する。選択信号は、レジスタc1でエラーが発生したときに“1”となる。
The
The AND
NOT回路19は、図3に示したレジスタc1が出力する信号dc1の値を反転し、セレクタ20に出力する。
セレクタ20は、レジスタ18から供給される選択信号が“0”のときは、レジスタc1から出力される信号dc1を選択して信号Dc1として出力する。選択信号が“1”のときは、セレクタ20は、NOT回路19により反転された信号dc1を選択して信号Dc1として出力する。
The
When the selection signal supplied from the
NOT回路25は、レジスタc1から出力される信号dc1の値を反転させ、セレクタ26に出力する。
セレクタ26は、AND回路24から供給される選択信号が“0”のときは、レジスタc1から出力される信号dc1を選択して信号Dc1として出力する。選択信号が“1”のときは、セレクタ26は、NOT回路25により反転された信号dc1を選択して信号Dc1として出力する。
The
When the selection signal supplied from the AND
以下、第3の実施の形態の半導体集積回路3aの動作例を説明する。
(半導体集積回路の動作例1)
図12は、第3の実施の形態の半導体集積回路の動作例を示すタイミングチャートである。図12では、レジスタc1でエラーが発生した場合の例が示されており、クロック信号CLK、レジスタc1から出力される信号dc1、誤り検出回路pc,p1の各部の信号と、正常値書き込み部7aの各部の信号の一例の様子が示されている。
Hereinafter, an operation example of the semiconductor integrated
(Operation Example 1 of Semiconductor Integrated Circuit)
FIG. 12 is a timing chart illustrating an operation example of the semiconductor integrated circuit according to the third embodiment. FIG. 12 shows an example in the case where an error occurs in the register c1, and the clock signal CLK, the signal dc1 output from the register c1, the signals of the error detection circuits pc and p1, and the normal
なお、誤り検出回路p1と、図6に示した誤り検出回路pcは同様の回路であるため、図12では便宜上対応する要素に同じ符号を付して説明する。
また、誤り検出回路pcのレジスタ15の出力であるパリティビット及びXOR回路14の出力の初期値は“0”、誤り検出回路p1のレジスタ15の出力であるパリティビット及びXOR回路14の出力の初期値は“1”であるものとする。
Since the error detection circuit p1 and the error detection circuit pc shown in FIG. 6 are similar circuits, the same reference numerals are given to the corresponding elements in FIG. 12 for convenience.
Also, the parity bit that is the output of the
図12の例では、タイミングt9で、レジスタc1にエラーが発生し、レジスタc1の出力する信号dc1が“0”から“1”に反転している。信号dc1の値の変化に伴い、誤り検出回路pcのXOR回路14の出力が“1”に立ち上る。このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値が一致しなくなるため、信号xpcが“1”に立ち上る。また、信号dc1の値の変化に伴い、誤り検出回路p1のXOR回路14の出力が“0”に立ち下がる。これにより、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値が一致しないため、信号xp1が“1”に立ち上る。
In the example of FIG. 12, at timing t9, an error occurs in the register c1, and the signal dc1 output from the register c1 is inverted from “0” to “1”. As the value of the signal dc1 changes, the output of the
また、タイミングt9で、信号xpc,xp1が“1”に立ち上ることにより、正常値書き込み部7aのAND回路21の出力が“1”に立ち上る。このとき、AND回路24の出力は、“1”に立ち上る。また、信号dc1が“1”に立ち上ることにより、正常値書き込み部7aのNOT回路25の出力は、“0”に立ち下がる。
At timing t9, the signals xpc and xp1 rise to “1”, whereby the output of the AND
また、タイミングt9で、正常値書き込み部7aのAND回路24の出力(選択信号)が“1”に立ち上ることにより、セレクタ26は、NOT回路25からの出力を選択し、信号Dc1として出力する。これにより、タイミングt9で、レジスタc1にエラーが発生し、信号dc1の値が“1”に反転しても、正常値書き込み部7aは、正常値である“0”を信号Dc1として出力し続ける。
At timing t9, when the output (selection signal) of the AND
また、タイミングt9で、正常値書き込み部7aのAND回路24の出力が“1”に立ち上るため、レジスタc1のセレクタ12は、NOT回路11により“0”に反転された信号dc1を選択し、フリップフロップ10に出力する。
At timing t9, the output of the AND
信号dc1が“1”に反転した後のクロック信号CLKの最初の立ち上がりタイミング(タイミングt10)に同期して、信号dc1が“0”に立ち下がる。これは、フリップフロップ10が、クロック信号CLKの立ち上りに同期して、セレクタ12から出力されるNOT回路11で“0”に反転された信号dc1を保持するためである。これにより、レジスタc1に発生したエラーは訂正される。
The signal dc1 falls to “0” in synchronization with the first rising timing (timing t10) of the clock signal CLK after the signal dc1 is inverted to “1”. This is because the flip-
また、タイミングt10で、信号dc1の値の変化に伴い、誤り検出回路pcのXOR回路14の出力が“0”に立ち下がる。また、誤り検出回路pcのレジスタ15は、タイミングt10において、タイミングt9で“1”に立ち上ったXOR回路14の出力を保持するため、誤り検出回路pcのレジスタ15の出力は、“1”に立ち上る。また、タイミングt10では、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値が一致しないため、信号xpcは“1”を維持する。
At timing t10, the output of the
また、タイミングt10での信号dc1の値の変化に伴い、誤り検出回路p1のXOR回路14の出力が“1”に立ち上る。また、誤り検出回路p1のレジスタ15は、タイミングt9で“0”に立ち下がったXOR回路14の出力を保持するため、誤り検出回路p1のレジスタ15の出力は、“0”に立ち下がる。また、タイミングt10では、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値が一致しないため、信号xp1は“1”を維持する。
Further, with the change of the value of the signal dc1 at the timing t10, the output of the
上記のように信号xpc,xp1は“1”を維持するため、正常値書き込み部7aのAND回路21の出力は、“1”を維持する。また、このとき、AND回路24は、AND回路21の出力と、NOT回路23の出力とのAND演算を行う。NOT回路23の出力は、タイミングt10でレジスタ22に保持された値を反転した値(“0”)となる。これにより、AND回路24の出力は、“0”に立ち下がる。
As described above, since the signals xpc and xp1 maintain “1”, the output of the AND
また、信号dc1が“0”に立ち下がることにより、正常値書き込み部7aのNOT回路25の出力は、“1”に立ち上る。
このときセレクタ26に供給される選択信号であるAND回路24の出力は“0”であるため、セレクタ26は、信号dc1を選択し、信号Dc1として出力する。これにより、エラー訂正で正常値となった信号dc1が信号Dc1として出力される。
Further, when the signal dc1 falls to “0”, the output of the
At this time, since the output of the AND
クロック信号CLKの次の立ち上がりタイミング(タイミングt11)に同期して、誤り検出回路pcのレジスタ15は、XOR回路14の出力を保持するため、レジスタ15の出力は“0”に立ち下がる。また、このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値は“0”で一致するため、信号xpcは“0”に立ち下がる。
In synchronization with the next rising timing (timing t11) of the clock signal CLK, the
一方、誤り検出回路p1のレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力を保持するため、レジスタ15の出力は“1”に立ち上る。また、このとき、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値は“1”で一致するため、信号xp1は“0”に立ち下がる。
On the other hand, the
このように、信号xpc,xp1が“0”に立ち下がることにより、正常値書き込み部7aのAND回路21の出力は“0”に立ち下がる。
以上のような動作によって、レジスタc1にエラーが発生して、信号dc1の値が変わっても、回路部9へは正常値を供給し続けることができる。また、プロセッサ4への割り込みをアサートしなくても、正常値書き込み部7aが、レジスタc1に発生したエラーを訂正することができる。
As described above, when the signals xpc and xp1 fall to “0”, the output of the AND
With the above operation, even if an error occurs in the register c1 and the value of the signal dc1 changes, the normal value can be continuously supplied to the circuit unit 9. Further, the normal
以下、誤り検出回路pcのレジスタ15でエラーが生じた際の動作例を説明する。
(半導体集積回路の動作例2)
図13は、第3の実施の形態の半導体集積回路の動作例を示すタイミングチャートである。図12に示した各種信号の、誤り検出回路pcのレジスタ15でエラーが生じた際の一例の様子が図13に示されている。
Hereinafter, an operation example when an error occurs in the
(Operation example 2 of semiconductor integrated circuit)
FIG. 13 is a timing chart illustrating an operation example of the semiconductor integrated circuit according to the third embodiment. FIG. 13 shows an example of the various signals shown in FIG. 12 when an error occurs in the
なお、初期状態では、誤り検出回路pcのレジスタ15には、正常なパリティビットとして“0”が保持されているものとする。
図13の例では、タイミングt12で、誤り検出回路pcのレジスタ15にエラーが発生し、誤り検出回路pcのレジスタ15の出力が“0”から“1”に反転している。このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値が一致しなくなるため、信号xpcが“1”に立ち上る。
In the initial state, it is assumed that “0” is held as a normal parity bit in the
In the example of FIG. 13, at timing t12, an error occurs in the
しかし、信号xpcが“1”に立ち上っても、信号xp1は“0”を維持するため、正常値書き込み部7aのAND回路21の出力も“0”を維持する。これにより、正常値書き込み部7aのAND回路24の出力も“0”を維持するため、レジスタc1のセレクタ12もフリップフロップ10から出力される信号dc1の選択を維持する。また、正常値書き込み部7aのAND回路24の出力が“0”を維持することにより、セレクタ26も信号Dc1として、信号dc1を出力し続ける。
However, even if the signal xpc rises to “1”, the signal xp1 maintains “0”, so the output of the AND
エラー発生後のクロック信号CLKの最初の立ち上がりタイミング(タイミングt13)に同期して、誤り検出回路pcのレジスタ15は、XOR回路14の出力である正常なパリティビット値を保持する。これにより、誤り検出回路pcのレジスタ15の出力は“0”に立ち下がり、正常値に書き戻される。また、このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値が“0”となり一致するため、信号xpcが“0”に立ち下がる。
In synchronization with the first rise timing (timing t13) of the clock signal CLK after the occurrence of the error, the
その他の動作については、第2の実施の形態の半導体集積回路3と同様であり、第2の実施の形態の半導体集積回路3と同様の効果が得られる。
以上、実施の形態に基づき、本発明の半導体集積回路の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
Other operations are the same as those of the semiconductor integrated
As described above, one aspect of the semiconductor integrated circuit of the present invention has been described based on the embodiment, but these are only examples, and the present invention is not limited to the above description.
1 半導体集積回路
2 正常値書き込み部
a0〜a2,b0〜b2,c0〜c2 レジスタ
p0〜p2,pa〜pc 誤り検出回路
DESCRIPTION OF
Claims (5)
前記複数のレジスタのうち、同一行番地の第1のレジスタ群の何れかの値が変化したときに第1のエラー検出信号を出力する、前記行番地ごとに設けられた第1の誤り検出回路と、
前記複数のレジスタのうち、同一列番地の第2のレジスタ群の何れかの値が変化したときに第2のエラー検出信号を出力する、前記列番地ごとに設けられた第2の誤り検出回路と、
前記第1のエラー検出信号及び前記第2のエラー検出信号に基づき、エラーが発生した第1のレジスタを特定して、前記第1のレジスタの第1の格納値を1から0または0から1に反転させる正常値書き込み部と、
を有することを特徴とする半導体集積回路。 A row address and a column address are assigned, and a plurality of registers each storing a 1-bit value of 0 or 1,
A first error detection circuit provided for each row address that outputs a first error detection signal when any value of the first register group at the same row address among the plurality of registers changes. When,
A second error detection circuit provided for each column address that outputs a second error detection signal when any value of the second register group at the same column address among the plurality of registers changes. When,
Based on the first error detection signal and the second error detection signal, the first register in which an error has occurred is specified, and the first stored value of the first register is set to 1 to 0 or 0 to 1 A normal value writing part to be reversed,
A semiconductor integrated circuit comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014138606A JP2016018569A (en) | 2014-07-04 | 2014-07-04 | Semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014138606A JP2016018569A (en) | 2014-07-04 | 2014-07-04 | Semiconductor integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016018569A true JP2016018569A (en) | 2016-02-01 |
Family
ID=55233685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014138606A Pending JP2016018569A (en) | 2014-07-04 | 2014-07-04 | Semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016018569A (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS50122141A (en) * | 1974-03-13 | 1975-09-25 | ||
JPS5175342A (en) * | 1974-12-25 | 1976-06-29 | Fujitsu Ltd | |
JPS57152597A (en) * | 1981-03-17 | 1982-09-20 | Nippon Telegr & Teleph Corp <Ntt> | Semiconductor memory device |
JPS58114600U (en) * | 1982-01-29 | 1983-08-05 | 富士通株式会社 | semiconductor memory element |
JPS6168657A (en) * | 1985-09-04 | 1986-04-09 | Hitachi Ltd | Memory element |
JPH02128258A (en) * | 1988-11-09 | 1990-05-16 | Hitachi Ltd | Error self-correcting memory |
JPH02150000A (en) * | 1988-11-30 | 1990-06-08 | Oki Electric Ind Co Ltd | Semiconductor storage device with error self correction function |
US20080120525A1 (en) * | 2006-11-16 | 2008-05-22 | Agarwal Kanak B | Method and Apparatus for Detecting and Correcting Soft-Error Upsets in Latches |
-
2014
- 2014-07-04 JP JP2014138606A patent/JP2016018569A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS50122141A (en) * | 1974-03-13 | 1975-09-25 | ||
JPS5175342A (en) * | 1974-12-25 | 1976-06-29 | Fujitsu Ltd | |
JPS57152597A (en) * | 1981-03-17 | 1982-09-20 | Nippon Telegr & Teleph Corp <Ntt> | Semiconductor memory device |
JPS58114600U (en) * | 1982-01-29 | 1983-08-05 | 富士通株式会社 | semiconductor memory element |
JPS6168657A (en) * | 1985-09-04 | 1986-04-09 | Hitachi Ltd | Memory element |
JPH02128258A (en) * | 1988-11-09 | 1990-05-16 | Hitachi Ltd | Error self-correcting memory |
JPH02150000A (en) * | 1988-11-30 | 1990-06-08 | Oki Electric Ind Co Ltd | Semiconductor storage device with error self correction function |
US20080120525A1 (en) * | 2006-11-16 | 2008-05-22 | Agarwal Kanak B | Method and Apparatus for Detecting and Correcting Soft-Error Upsets in Latches |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7137569B2 (en) | Error correction code memory | |
US8732551B2 (en) | Memory controller with automatic error detection and correction | |
JP4664208B2 (en) | Semiconductor memory and operation method of semiconductor memory | |
EP2894566A1 (en) | Data processing apparatus using error detection in combination with error correction | |
JP2005242797A (en) | Error correction circuit | |
JP2012073678A (en) | Pseudo error generator | |
JP4793741B2 (en) | Error correction circuit and error correction method | |
US8365055B2 (en) | High performance cache directory error correction code | |
TW201530554A (en) | Method for operating memory and memory device | |
JP2004246754A (en) | Semiconductor memory and its controller | |
JP2016018569A (en) | Semiconductor integrated circuit | |
JP5510107B2 (en) | Error correction test method | |
JP5176646B2 (en) | Error correction function confirmation circuit, error correction function confirmation method, computer program thereof, and storage device | |
JP5843804B2 (en) | Arithmetic apparatus and error processing method | |
JP7107696B2 (en) | Failure detection method for semiconductor device and semiconductor memory | |
US9542266B2 (en) | Semiconductor integrated circuit and method of processing in semiconductor integrated circuit | |
JP6130735B2 (en) | Microcontroller and error detection method | |
WO2013132806A1 (en) | Nonvolatile logic integrated circuit and nonvolatile register error bit correction method | |
TWI723515B (en) | Memory apparatus and data accessing method thereof | |
JP2011054221A (en) | Storage device and electronic device | |
JP5344634B2 (en) | Semiconductor memory device and control method thereof | |
JP2006195863A (en) | Error detection device | |
US5375231A (en) | Control memory error correcting apparatus | |
JP6358122B2 (en) | Microcomputer | |
JP2003007085A (en) | Memory provided with error-correcting function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180508 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181211 |