JP2016018569A - Semiconductor integrated circuit - Google Patents

Semiconductor integrated circuit Download PDF

Info

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
Application number
JP2014138606A
Other languages
Japanese (ja)
Inventor
亮一 近江
Ryoichi Omi
亮一 近江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Priority to JP2014138606A priority Critical patent/JP2016018569A/en
Publication of JP2016018569A publication Critical patent/JP2016018569A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

PROBLEM TO BE SOLVED: To perform error correction of a register by a relatively small circuit.SOLUTION: A semiconductor integrated circuit includes registers a0-a2, b0-b2, c0-c2 to which row addresses and column addresses are allocated, and which store 1-bit values of 0 or 1, respectively. Error detection circuits pa-pc provided in each row address output a first error detection signal when any value in a register group of the same row address changes. Error detection circuits p0-p2 provided in each column address output a second error detection signal when any value in a register group of the same column address changes. A normal value writing unit 2 specifies a register c1 in which an error has occurred on the basis of the first error detection signal and the second error detection signal, and inverts a stored value of the register c1 from 1 to 0 or from 0 to 1.SELECTED DRAWING: Figure 1

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.

特開平9−55077号公報JP-A-9-55077 特開2007−248378号公報JP 2007-248378 A

レジスタのソフトエラー対策のために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 is a diagram illustrating an example of a semiconductor integrated circuit according to a first embodiment; 第2の実施の形態の半導体集積回路の一例を示す図である。It is a figure which shows an example of the semiconductor integrated circuit of 2nd Embodiment. 第2の実施の形態のレジスタ群及び誤り検出部の一例を示す図である。It is a figure which shows an example of the register group and error detection part of 2nd Embodiment. レジスタの一例を示す図である。It is a figure which shows an example of a register | resistor. レジスタのエラー訂正時の動作例を示すタイミングチャートである。It is a timing chart which shows the operation example at the time of the error correction of a register | resistor. 誤り検出回路の一例を示す図である。It is a figure which shows an example of an error detection circuit. 正常値保持部の一例を示す図である。It is a figure which shows an example of a normal value holding | maintenance part. レジスタ群に含まれるレジスタにエラーが発生した際の誤り検出回路及び正常値保持部の動作の一例を示すタイミングチャートである。7 is a timing chart illustrating an example of operations of an error detection circuit and a normal value holding unit when an error occurs in a register included in a register group. 誤り検出回路のレジスタにエラーが発生した際の誤り検出回路及び正常値保持回路の動作の一例を示すタイミングチャートである。6 is a timing chart illustrating an example of operations of an error detection circuit and a normal value holding circuit when an error occurs in a register of the error detection circuit. エラー発生時の半導体集積回路の動作の一例の流れを示すフローチャートである。It is a flowchart which shows the flow of an example of operation | movement of the semiconductor integrated circuit at the time of error generation. 第3の実施の形態の半導体集積回路の一例を示す図である。It is a figure which shows an example of the semiconductor integrated circuit of 3rd Embodiment. 第3の実施の形態の半導体集積回路の動作例を示すタイミングチャートである(その1)。14 is a timing chart illustrating an operation example of the semiconductor integrated circuit according to the third embodiment (part 1); 第3の実施の形態の半導体集積回路の動作例を示すタイミングチャートである(その2)。12 is a timing chart illustrating an operation example of the semiconductor integrated circuit according to the third embodiment (part 2);

以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第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 circuit 1 includes registers a0, a1, a2, b0, b1, b2, c0, c1, c2, error detection circuits pa, pb, pc, p0, p1, p2, and a normal value writing unit 2.
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 circuit 1.

また、レジスタ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 same column address 0 is stored in the registers a0, b0, and c0, the same column address 1 is stored in the registers a1, b1, and c1, and the registers a2, b2, and c2 are stored. It is assumed that the same column address 2 is assigned.

なお、行番地と列番地の一方はビット位置を示すものであってもよい。例えば、列番地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 column addresses 0, 1, 2 are assigned. For example, the registers a0 to a2, b0 to b2, and c0 to c2 may be arranged in one column. In FIG. 1, the clock signals supplied to the registers a0 to a2, b0 to b2, and c0 to c2 are not shown.

誤り検出回路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 column addresses 0, 1, and 2, respectively. The error detection circuit p0 is an error indicating that an error has been detected when any of the registers a0, b0, c0 at the column address 0 among the registers a0-a2, b0-b2, c0-c2 changes. A detection signal is output. The error detection circuit p1 outputs an error detection signal indicating that an error has been detected when any one of the registers a1, b1, and c1 at the column address 1 changes. The error detection circuit p2 outputs an error detection signal indicating that an error has been detected when any one of the registers a2, b2, and c2 at the column address 2 changes.

なお、誤り検出回路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 value writing unit 2 stores a register in which an error has occurred (the value is inverted) based on the error detection signals from the error detection circuits pa, pb, and pc and the error detection signals from the error detection circuits p0, p1, and p2. Identify. Since the error detection circuits pa, pb, pc, p0, p1, and p2 correspond to the row addresses a, b, and c or the column addresses 0, 1, and 2, they are output from the error detection circuits pa, pb, and pc. The row address of the register in which the error has occurred is specified from the error detection signal. Further, the column address of the register in which the error has occurred is specified from the error detection signals output from the error detection circuits p0, p1, and p2. As a result, the register in which the error has occurred is specified.

さらに、正常値書き込み部2は、特定したレジスタに書き込む値を1から0または0から1に反転させる。これによって、エラー訂正が行われる。
なお、正常値書き込み部2は、プロセッサ(例えば、CPU(Central Processing Unit))であってもよい。プロセッサを用いた場合、誤り検出回路pa〜pc,p0〜p2から出力されるエラー検出信号に基づき、プロセッサへの割り込みがアサートされ、プロセッサはエラーが発生したレジスタの値を反転させる。
Further, the normal value writing unit 2 inverts the value to be written to the specified register from 1 to 0 or from 0 to 1. As a result, error correction is performed.
The normal value writing unit 2 may be a processor (for example, a CPU (Central Processing Unit)). When the processor is used, an interrupt to the processor is asserted based on the error detection signals output from the error detection circuits pa to pc and p0 to p2, and the processor inverts the value of the register in which the error has occurred.

(半導体集積回路の動作例)
以下、半導体集積回路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 circuit 1 will be described. In the following description, an example in which an error (for example, a soft error) occurs in the register c1 and the value (bit) is inverted from 0 to 1 or from 1 to 0 will be described.

レジスタ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 value writing unit 2 receives an error detection signal from the error detection circuits pc and p1, and receives a register c1 in which an error has occurred from the row address c to which the error detection circuit pc belongs and the column address 1 to which the error detection circuit p1 belongs. Is identified. Then, the normal value writing unit 2 inverts the stored value of the register c1 and corrects the error occurring in the register c1.

以上のように、半導体集積回路1は、行番地と列番地をレジスタに割当て、同一行番地及び同一列番地ごとのレジスタ群の値の変化を検出して、検出結果から特定したエラーが発生したレジスタの格納値を反転してエラー訂正を行う。これによって、例えば、ECCを用いた際に行われる読み出し動作や、ECCの格納領域も不要となるので、レジスタのエラー検出/訂正を、比較的小さい回路で行える。   As described above, the semiconductor integrated circuit 1 assigns the row address and the column address to the register, detects a change in the value of the register group for each of the same row address and the same column address, and an error specified from the detection result occurs. The error is corrected by inverting the value stored in the register. As a result, for example, a read operation performed when ECC is used and an ECC storage area are not required, so that register error detection / correction can be performed with a relatively small circuit.

なお、誤り検出回路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 circuit 3 according to the second embodiment includes a processor 4, a register group 5, an error detection unit 6, a normal value holding unit 7, an interrupt control unit 8, and a circuit unit 9.

プロセッサ4は、例えば、クロック信号CLK、アドレス信号ADD、バイトイネーブル信号BE、ライト信号Wをレジスタ群5等に出力する。また、プロセッサ4は、レジスタ群5や誤り検出部6と、例えば、データバスにより接続されている。また、プロセッサ4は、割り込み制御部8から出力される割り込み信号Intがアサートされると、誤り検出部6からのエラー検出信号に基づき、レジスタ群5内のエラーが発生したレジスタを特定し、そのレジスタの格納値を反転させることで、エラー訂正を行う。すなわち、プロセッサ4は、第1の実施の形態の半導体集積回路1の正常値書き込み部2の機能を行う。   For example, the processor 4 outputs a clock signal CLK, an address signal ADD, a byte enable signal BE, and a write signal W to the register group 5 and the like. The processor 4 is connected to the register group 5 and the error detection unit 6 by, for example, a data bus. Further, when the interrupt signal Int output from the interrupt control unit 8 is asserted, the processor 4 specifies the register in which an error has occurred in the register group 5 based on the error detection signal from the error detection unit 6, and Error correction is performed by inverting the stored value of the register. That is, the processor 4 performs the function of the normal value writing unit 2 of the semiconductor integrated circuit 1 according to the first embodiment.

なお、プロセッサ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 processor 4 is, for example, a CPU, a micro processing unit (MPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a programmable logic device (PLD). The processor 4 may be a combination of two or more elements among CPU, MPU, DSP, ASIC, and PLD. The processor 4 may be a multiprocessor.

レジスタ群5に含まれる各レジスタには、行番地と列番地が割り当てられており、それぞれ0または1の1ビットの値を格納する。
誤り検出部6は、行番地及び列番地ごとに設けられた複数の誤り検出回路を有しており、レジスタ群5に含まれる行番地または列番地ごとのレジスタ群の値の変化を検出したときに、エラーを検出した旨のエラー検出信号を出力する。
Each register included in the register group 5 is assigned a row address and a column address, and stores a 1-bit value of 0 or 1, respectively.
The error detection unit 6 has a plurality of error detection circuits provided for each row address and column address, and detects a change in the value of the register group for each row address or column address included in the register group 5 In addition, an error detection signal indicating that an error has been detected is output.

正常値保持部7は、誤り検出部6でエラーが検出されても、回路部9に対しては正常値(エラー発生前のレジスタの格納値)の出力状態が保持(維持)されるようにする。正常値保持部7は、エラー検出信号に基づき、エラーが発生したレジスタの値を反転して回路部9に出力する。このため、エラーによって、あるレジスタの値が反転しても、回路部9に供給されるレジスタの値は正常値のままとなる。また、正常値保持部7は、誤り検出部6がエラーを検出した場合、割り込み制御部8に対して、割り込み信号Intの発生を指示する。   The normal value holding unit 7 holds (maintains) the output state of the normal value (the stored value of the register before the occurrence of the error) for the circuit unit 9 even if an error is detected by the error detection unit 6. To do. Based on the error detection signal, the normal value holding unit 7 inverts the value of the register in which the error has occurred and outputs it to the circuit unit 9. For this reason, even if the value of a certain register is inverted due to an error, the value of the register supplied to the circuit unit 9 remains a normal value. The normal value holding unit 7 instructs the interrupt control unit 8 to generate the interrupt signal Int when the error detection unit 6 detects an error.

割り込み制御部8は、正常値保持部7から割り込み信号Intの発生が指示されると、プロセッサ4に供給する割り込み信号Intをアサートする。また、割り込み制御部8は、正常値保持部7からの割り込み信号Intの発生の指示がないとき、割り込み信号Intをネゲートする。   When the generation of the interrupt signal Int is instructed from the normal value holding unit 7, the interrupt control unit 8 asserts the interrupt signal Int supplied to the processor 4. The interrupt control unit 8 negates the interrupt signal Int when there is no instruction to generate the interrupt signal Int from the normal value holding unit 7.

回路部9は、半導体集積回路1の特定の機能を実行する回路部である。回路部9は、レジスタ群5で保持されている値に基づき、特定の機能を実行する。回路部9に供給される値は、前述の正常値保持部7の機能により正常値が維持される。   The circuit unit 9 is a circuit unit that executes a specific function of the semiconductor integrated circuit 1. The circuit unit 9 executes a specific function based on the value held in the register group 5. The value supplied to the circuit unit 9 is maintained at a normal value by the function of the normal value holding unit 7 described above.

(レジスタ群及び誤り検出部の例)
以下、レジスタ群5及び誤り検出部6の一例を説明する。
図3は、第2の実施の形態のレジスタ群及び誤り検出部の一例を示す図である。
(Example of register group and error detection unit)
Hereinafter, an example of the register group 5 and the error detection unit 6 will be described.
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 register group 5, the write signal W and the like input from the processor 4 are not shown.

レジスタ群5は、行番地と列番地が割り当てられた9個のレジスタa0〜a2,b0〜b2,c0〜c2を有する。なお、レジスタの数は、特にこの数に限定されるものではない。   The register group 5 includes nine registers a0 to a2, b0 to b2, and c0 to c2 to which row addresses and column addresses are assigned. Note that the number of registers is not particularly limited to this number.

なお、第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 circuit 1 of the first embodiment, the row addresses are a, b, and c, and the same row address a is stored in the registers a0, a1, and a2, and the registers b0, Assume that the same row address b is assigned to b1 and b2, and the same row address c is assigned to registers c0, c1 and c2. The column addresses are 0, 1, and 2. The same column address 0 is stored in the registers a0, b0, and c0, the same column address 1 is stored in the registers a1, b1, and c1, and the registers a2, b2, and c2 are stored. It is assumed that the same column address 2 is assigned.

また、以下の説明では、行番地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 processor 4 as shown in FIG. 2, the column addresses 0, 1, and 2 indicate the bit positions, and the processor 4 Is specified by the multi-bit data output by. Here, assuming that the column address 0 indicates the least significant bit and the column address 2 is the most significant bit, for example, when 3-bit data “010” is output from the processor 4, the column address 1 is designated.

以下の説明では、レジスタ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 error detection unit 6 includes error detection circuits pa to pc and p0 to p2 provided for each row address and column address. Each of the error detection circuits pa to pc and p0 to p2 detects a change in the values of the registers a0 to a2, b0 to b2, and c0 to c2 belonging to the row addresses a, b, c or the column addresses 0, 1, 2. . Hereinafter, the error detection signals output from the error detection circuits pa to pc are expressed as signals xap, xbp, and xcp, and the error detection signals output from the error detection circuits p0 to p2 are expressed as signals x0p, x1p, and x2p. The signals xap, xbp, xcp, x0p, x1p, and x2p represent, for example, that an error has occurred when the value is “1”.

(レジスタの一例)
以下、レジスタ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 processor 4. The register c1 includes a flip-flop 10, a NOT circuit 11, and a selector 12.

フリップフロップ10は、クロック信号CLKの立ち上り(または立ち下がり)に同期して、セレクタ12から出力される値を保持し、また、保持した値を信号dc1として出力する。また、フリップフロップ10は、フリップフロップ10の初期値設定の際に使用される非同期セット端子10a、非同期リセット端子10bを有する。例えば、電源投入時等の初期状態において、フリップフロップ10の初期値を1とする場合は非同期セット端子10aに、初期値を0とする場合は非同期リセット端子10bに、初期値設定のための信号がプロセッサ4から供給される。   The flip-flop 10 holds the value output from the selector 12 in synchronization with the rise (or fall) of the clock signal CLK, and outputs the held value as the signal dc1. The flip-flop 10 also has an asynchronous set terminal 10a and an asynchronous reset terminal 10b that are used when setting the initial value of the flip-flop 10. For example, in an initial state such as when the power is turned on, a signal for setting an initial value is set to the asynchronous set terminal 10a when the initial value of the flip-flop 10 is 1, and to the asynchronous reset terminal 10b when the initial value is 0. Is supplied from the processor 4.

NOT回路11は、信号dc1の値を反転させ、セレクタ12に出力する。
セレクタ12は、選択信号に基づき、信号dc1と、NOT回路11で反転された信号dc1の何れかを選択し、フリップフロップ10に出力する。
The NOT circuit 11 inverts the value of the signal dc1 and outputs it to the selector 12.
The selector 12 selects either the signal dc1 or the signal dc1 inverted by the NOT circuit 11 based on the selection signal, and outputs the selected signal to the flip-flop 10.

選択信号は、アドレス信号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 column address 1 is designated by data. , “1”. At this time, the value stored in the flip-flop 10 is inverted from 0 to 1 or from 1 to 0.

以下、プロセッサ4から出力される各種信号に基づくレジスタc1の動作例を説明する。
(レジスタの動作例)
図5は、レジスタのエラー訂正時の動作例を示すタイミングチャートである。
Hereinafter, an operation example of the register c1 based on various signals output from the processor 4 will be described.
(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 processor 4 during the write-back process.

さらに、レジスタ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 selector 12 of the register c1 is shown. In FIG. 5, an error occurs in the register c1 before the timing t0, and the value stored in the register c1 (flip-flop 10) is inverted to “1”, that is, the signal dc1 is “1”. It shall be.

レジスタ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 control unit 8 asserts an interrupt signal Int to the processor 4. Then, the processor 4 identifies the register c1 in which an error has occurred based on the error detection signal output from the error detection unit 6. Then, the processor 4 designates the row address c to which the register c1 belongs by the address signal ADD at the timing t0, and designates the column address 1 by the 3-bit data “010”.

タイミングt0では、さらに、レジスタc1の値の書き換えが可能となるように、プロセッサ4は、バイトイネーブル信号BEを有効にする。
タイミングt1では、プロセッサ4により、ライト信号Wが、クロック信号CLKの立ち上りに同期して、“1”に立ち上り、選択信号も“1”になる。このとき、セレクタ12は、NOT回路11で“0”に反転された信号dc1を選択し、フリップフロップ10に出力する。
At timing t0, the processor 4 enables the byte enable signal BE so that the value of the register c1 can be rewritten.
At timing t1, the processor 4 causes the write signal W to rise to “1” in synchronization with the rise of the clock signal CLK, and the selection signal also becomes “1”. At this time, the selector 12 selects the signal dc1 inverted to “0” by the NOT circuit 11 and outputs it to the flip-flop 10.

タイミング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 processor 4 by the interrupt control unit 8 is negated. As a result, the designation of the row address c from the processor 4 and the data output for designating the column address 1 are stopped, and the byte enable signal BE is also invalidated.

上記のように、プロセッサ4は、エラー発生レジスタの属する列番地をビット位置として、複数ビット(上記の例では3ビット)のデータで指定する。複数ビットのうち値が“0”のビット位置に相当する列番地のレジスタではエラー訂正が行われず、値が“1”のビット位置に相当する列番地のレジスタではエラー訂正が行われる。これにより、レジスタ1つごと(1ビット単位)の訂正が可能である。   As described above, the processor 4 designates data having a plurality of bits (3 bits in the above example) with the column address to which the error occurrence register belongs as a bit position. Error correction is not performed in the register at the column address corresponding to the bit position having the value “0” among the plurality of bits, and error correction is performed in the register at the column address corresponding to the bit position having the value “1”. As a result, correction can be performed for each register (in units of 1 bit).

なお、上記の例では、プロセッサ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 processor 4 sets the write signal W to “1” only for one clock cycle (between timings t1 and t2). When the write signal W is “1” for an even number of clock cycles, for example, for two clock cycles, the selection signal is also “1” for two clock cycles. Then, the signal dc1 inverted from “1” to “0” at the first clock is further inverted from “0” to “1” at the second clock, and returns to the original state. In order to prevent this, as described above, the processor 4 sets the write signal W to “1” only for an odd clock period, for example, for one clock period.

他のレジスタについても同様の動作により、エラー訂正が行われる。
(誤り検出回路の一例)
以下、誤り検出回路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 XOR circuits 13 and 14, a register 15, and an XOR circuit 16.
The XOR circuit 13 performs an XOR operation on the signal dc1 output from the register c1 and the signal dc2 output from the register c2, and outputs the operation result to the XOR circuit 14. The XOR circuit 14 performs an XOR operation on the XOR operation result output from the XOR circuit 13 and the signal dc0 output from the register c0, and outputs the operation result to the register 15 and the XOR circuit 16. The XOR operation result output from the XOR circuit 14 becomes a parity bit generated by the even parity system of the signals dc0 to dc2.

レジスタ15は、XOR回路14から出力されたパリティビットを、クロック信号CLKの立ち上り(または立ち下り)に同期して保持し、また、保持したパリティビットをXOR回路16に出力する。   The register 15 holds the parity bit output from the XOR circuit 14 in synchronization with the rising edge (or falling edge) of the clock signal CLK, and outputs the held parity bit to the XOR circuit 16.

XOR回路16は、XOR回路14から出力されたパリティビットと、レジスタ15に保持されたパリティビットのXOR演算を行い、その演算結果を信号xpcとして、図2に示した正常値保持部7に出力する。図6に示す例では、XOR回路14から出力されたパリティビットと、レジスタ15に保持されたパリティビットが一致しないときに、信号xpcは、エラーの発生を示す“1”となる。   The XOR circuit 16 performs an XOR operation on the parity bit output from the XOR circuit 14 and the parity bit held in the register 15 and outputs the operation result as a signal xpc to the normal value holding unit 7 shown in FIG. To do. In the example shown in FIG. 6, when the parity bit output from the XOR circuit 14 and the parity bit held in the register 15 do not match, the signal xpc becomes “1” indicating the occurrence of an error.

なお、信号xpcはプロセッサ4にも出力するようにしてもよい。プロセッサ4は、信号xpcと、誤り検出回路p1が出力する信号xp1の値が両方“1”のときに、レジスタc1がエラー発生レジスタであることを特定する。   The signal xpc may also be output to the processor 4. The processor 4 specifies that the register c1 is an error occurrence register when both the value of the signal xpc and the value of the signal xp1 output from the error detection circuit p1 are “1”.

なお、誤り検出回路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 register 15 and the value of the held parity bit is inverted. However, since the register 15 updates the parity bit in synchronization with the clock signal CLK, the parity bit is automatically normal if the signals dc0 to dc2 supplied from the registers c0, c1, and c2 are correct. Is written back to the correct value and the error is corrected.

(正常値保持部の一例)
以下、正常値保持部7の一例を説明する。
図7は、正常値保持部の一例を示す図である。なお、図7では、エラーが発生してレジスタc1が出力する信号dc1が変化したときに、回路部9に正常な値を供給する回路部分が示されている。他のレジスタに関する部分については図示が省略されているが、同様の回路となる。
(Example of normal value holding unit)
Hereinafter, an example of the normal value holding unit 7 will be described.
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 value holding unit 7 includes an AND circuit 17, a register 18, a NOT circuit 19, and a selector 20.
The AND circuit 17 performs an AND operation on the signal xpc output from the error detection circuit pc shown in FIG. 3 and the signal xp1 output from the error detection circuit p1. The AND operation result is supplied to the clock input terminal of the register 18.

レジスタ18のデータ入力端子には、レジスタ18の保持する値を反転させ出力する反転出力端子が接続される。レジスタ18は、AND回路17から供給されるAND演算結果の立ち上り(または立ち下がり)に同期して、保持している値を反転し、セレクタ20の選択信号として出力する。選択信号は、後述のようにレジスタc1でエラーが発生したときに“1”となる。   The data input terminal of the register 18 is connected to an inverted output terminal that inverts and outputs the value held by the register 18. The register 18 inverts the held value in synchronization with the rise (or fall) of the AND operation result supplied from the AND circuit 17 and outputs it as a selection signal of the selector 20. The selection signal becomes “1” when an error occurs in the register c1, as will be described later.

NOT回路19は、図3に示したレジスタc1が出力する信号dc1の値を反転し、セレクタ20に出力する。
セレクタ20は、レジスタ18から供給される選択信号が“0”のときは、レジスタc1から出力される信号dc1を選択して信号Dc1として出力する。選択信号が“1”のときは、セレクタ20は、NOT回路19により反転された信号dc1を選択して信号Dc1として出力する。
The NOT circuit 19 inverts the value of the signal dc1 output from the register c1 shown in FIG.
When the selection signal supplied from the register 18 is “0”, the selector 20 selects the signal dc1 output from the register c1 and outputs it as the signal Dc1. When the selection signal is “1”, the selector 20 selects the signal dc1 inverted by the NOT circuit 19 and outputs it as the signal Dc1.

なお、第2の実施の形態の半導体集積回路3では、レジスタ18からセレクタ20に供給される選択信号は、図2に示した割り込み制御部8に割り込み信号Intの発生を指示する信号を生成する際にも用いられる。例えば、割り込み信号Intの発生を指示する信号は、レジスタ群5のレジスタごとに生成される選択信号のORをとったものである。   In the semiconductor integrated circuit 3 of the second embodiment, the selection signal supplied from the register 18 to the selector 20 generates a signal that instructs the interrupt control unit 8 shown in FIG. 2 to generate the interrupt signal Int. Also used when. For example, the signal instructing the generation of the interrupt signal Int is an OR of selection signals generated for each register of the register group 5.

また、選択信号は、後述のようにレジスタ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 register group 5, the processor 4 may specify the error occurrence register from the selection signal that is “1” when the interrupt signal Int is generated. Good.

(誤り検出回路及び正常値保持部の動作例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 value holding unit 7 are shown. The state of an example of the signal of each part of is shown.

なお、誤り検出回路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 register 15 of the error detection circuit pc and the initial value of the output of the XOR circuit 14 are “0”, the parity bit that is the output of the register 15 of the error detection circuit p1 and the initial value of the output of the XOR circuit 14 The value is assumed to be “1”.

図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 XOR circuit 14 of the error detection circuit pc rises to “1”. At this time, the value of the output of the XOR circuit 14 of the error detection circuit pc and the value of the output of the register 15 do not match, so that the signal xpc rises to “1”. As the value of the signal dc1 changes, the output of the XOR circuit 14 of the error detection circuit p1 falls to “0”. As a result, the value of the output of the XOR circuit 14 of the error detection circuit p1 does not match the value of the output of the register 15, so that the signal xp1 rises to “1”.

また、タイミング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 circuit 17 of the normal value holding unit 7 rises to “1”. Further, in synchronization with the rise of the output of the AND circuit 17, the register 18 inverts the held value from “0” to “1”, so that the output of the register 18 rises to “1”. Further, when the signal dc1 rises to “1”, the output of the NOT circuit 19 of the normal value holding unit 7 falls to “0”.

また、タイミングt3で、正常値保持部7のレジスタ18の出力が“1”に立ち上ることにより、セレクタ20は、NOT回路19からの出力を選択し、信号Dc1として出力する。これにより、タイミングt3で、レジスタc1にエラーが発生し、信号dc1の値が“1”に反転しても、回路部9には、信号dc1の正常値である“0”が信号Dc1として出力され続ける。   At timing t3, the output of the register 18 of the normal value holding unit 7 rises to “1”, so that the selector 20 selects the output from the NOT circuit 19 and outputs it as the signal Dc1. As a result, even if an error occurs in the register c1 at the timing t3 and the value of the signal dc1 is inverted to “1”, the normal value “0” of the signal dc1 is output to the circuit unit 9 as the signal Dc1. Continue to be.

タイミングt4では、誤り検出回路pcのレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力する“1”を保持する。そのため、誤り検出回路pcのレジスタ15の出力は“1”に立ち上る。また、このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値は“1”で一致するため、信号xpcは“0”に立ち下がる。   At timing t4, the register 15 of the error detection circuit pc holds “1” output from the XOR circuit 14 in synchronization with the rising edge of the clock signal CLK. Therefore, the output of the register 15 of the error detection circuit pc rises to “1”. At this time, the value of the output of the XOR circuit 14 of the error detection circuit pc and the output of the register 15 coincide with “1”, so that the signal xpc falls to “0”.

また、タイミングt4で、誤り検出回路p1のレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力する“0”を保持する。そのため、誤り検出回路p1のレジスタ15の出力は“0”に立ち下がる。また、このとき、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値は“0”で一致するため、信号xp1は“0”に立ち下がる。   At timing t4, the register 15 of the error detection circuit p1 holds “0” output from the XOR circuit 14 in synchronization with the rising edge of the clock signal CLK. Therefore, the output of the register 15 of the error detection circuit p1 falls to “0”. At this time, since the value of the output of the XOR circuit 14 of the error detection circuit p1 and the output of the register 15 coincide with “0”, the signal xp1 falls to “0”.

また、タイミング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 circuit 17 of the normal value holding unit 7 falls to “0”.
At timing t5, a write back (normal value writing) process by the processor 4 is performed. The signal dc1 falls to “0” by the operation of the register c1 shown in FIG.

また、信号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 XOR circuit 14 of the error detection circuit pc falls to “0”. At this time, since the XOR circuit 14 of the error detection circuit pc and the output value of the register 15 do not match, the signal xpc rises to “1”. As the value of the signal dc1 changes, the output of the XOR circuit 14 of the error detection circuit p1 falls to “1”. At this time, the value of the output of the XOR circuit 14 of the error detection circuit p1 does not match the value of the output of the register 15, so that the signal xp1 rises to “1”.

また、タイミング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 circuit 17 of the normal value holding unit 7 rises to “1”. In synchronization with the rise of the output of the AND circuit 17, the register 18 inverts “1” and holds “0”. Therefore, the output of the register 18 falls to “0”. Further, when the signal dc1 falls to “0”, the output of the NOT circuit 19 of the normal value holding unit 7 rises to “1”.

また、正常値保持部7のレジスタ18の出力が“0”に立ち下がることにより、セレクタ20は、信号dc1を選択し、信号Dc1として出力する。これにより、タイミングt5で、エラー訂正により正常値となった信号dc1の“0”が信号Dc1として出力される。   Further, when the output of the register 18 of the normal value holding unit 7 falls to “0”, the selector 20 selects the signal dc1 and outputs it as the signal Dc1. As a result, at timing t5, “0” of the signal dc1 having a normal value by error correction is output as the signal Dc1.

タイミングt6では、誤り検出回路pcのレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力する“0”を保持するため、誤り検出回路pcのレジスタ15の出力は“0”に立ち下がる。また、このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値は“0”で一致するため、信号xpcは“0”に立ち下がる。   At timing t6, the register 15 of the error detection circuit pc holds “0” output from the XOR circuit 14 in synchronization with the rising edge of the clock signal CLK, so that the output of the register 15 of the error detection circuit pc is “0”. To fall. At this time, the value of the output of the XOR circuit 14 of the error detection circuit pc coincides with the value of the output of the register 15, so that the signal xpc falls to “0”.

また、タイミングt6で、誤り検出回路p1のレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力する“1”を保持するため、誤り検出回路p1のレジスタ15の出力は“1”に立ち上る。また、このとき、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値は“1”で一致するため、信号xp1は“0”に立ち下がる。   At timing t6, the register 15 of the error detection circuit p1 holds “1” output from the XOR circuit 14 in synchronization with the rising edge of the clock signal CLK. Therefore, the output of the register 15 of the error detection circuit p1 is “ Get up to 1 ”. At this time, since the value of the output of the XOR circuit 14 of the error detection circuit p1 and the output of the register 15 coincide with “1”, the signal xp1 falls to “0”.

また、タイミング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 circuit 17 of the normal value holding unit 7 falls to “0”.
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 register 15 of the error detection circuit pc will be described.
(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 register 15 of the error detection circuit pc.
In the initial state, it is assumed that “0” is held as a normal parity bit in the register 15 of the error detection circuit pc.

図9の例では、タイミングt7で、誤り検出回路pcのレジスタ15にエラーが発生し、そのレジスタ15の出力が“0”から“1”に反転している。このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力の値が一致しなくなるため、信号xpcが“1”に立ち上る。   In the example of FIG. 9, an error occurs in the register 15 of the error detection circuit pc at timing t7, and the output of the register 15 is inverted from “0” to “1”. At this time, the value of the output of the XOR circuit 14 of the error detection circuit pc and the value of the output of the register 15 do not match, so that the signal xpc rises to “1”.

タイミング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 circuit 17 of the normal value holding unit 7 also maintains “0”. As a result, the output of the register 18 of the normal value holding unit 7 (selection signal of the selector 20) also maintains “0”, so that the signal instructing generation of the interrupt signal Int generated based on this selection signal is negated. No interrupt is generated.

また、正常値保持部7のレジスタ18の出力が“0”を維持することにより、セレクタ20も正常値である信号dc1を選択し続けるため、信号Dc1も正常値である信号dc1を維持し続ける。   Further, since the output of the register 18 of the normal value holding unit 7 maintains “0”, the selector 20 continues to select the signal dc1 having the normal value, and thus the signal Dc1 also continues to maintain the signal dc1 having the normal value. .

一方、タイミングt8で、誤り検出回路pcのレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力(正常なパリティビット)を保持する。これにより、レジスタ15の出力は“0”に立ち下がる。また、このとき、誤り検出回路pcのXOR回路14の出力とレジスタ15の出力が“0”となり一致するため、信号xpcが“0”に立ち下がる。   On the other hand, at the timing t8, the register 15 of the error detection circuit pc holds the output (normal parity bit) of the XOR circuit 14 in synchronization with the rising edge of the clock signal CLK. As a result, the output of the register 15 falls to “0”. At this time, since the output of the XOR circuit 14 of the error detection circuit pc and the output of the register 15 are “0” and coincide with each other, the signal xpc falls to “0”.

以下、エラー発生時の半導体集積回路1の動作についてまとめる。
図10は、エラー発生時の半導体集積回路の動作の一例の流れを示すフローチャートである。
The operation of the semiconductor integrated circuit 1 when an error occurs will be summarized below.
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 register group 5, the output to the circuit unit 9 is held at a normal value by the normal value holding unit 7 (step S1). For example, even if an error occurs in the register c1 and the value of the signal dc1 output from the register c1 is inverted, the selector 20 (FIG. 7) inverts the value of the signal dc1 in the NOT circuit 19 (FIG. 7). Since it outputs as Dc1, the output to the circuit part 9 is hold | maintained at a normal value.

一方、エラーが発生すると、前述のようにプロセッサ4への割り込み信号Intがアサートされる(ステップS2)。
その後、プロセッサ4はエラー発生レジスタを特定して、図5に示したように、そのレジスタへの正常値の書き戻し(エラー訂正)処理が行われる(ステップS3)。
On the other hand, when an error occurs, the interrupt signal Int to the processor 4 is asserted as described above (step S2).
Thereafter, the processor 4 identifies an error occurrence register and performs a normal value write-back (error correction) process to the register as shown in FIG. 5 (step S3).

以上の処理により、レジスタのエラーが訂正されると、パリティビットは、正常値となる(ステップ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 value holding unit 7 selects a register value that has become a normal value and outputs the selected value to the circuit unit 9 (step S5).

その後、プロセッサ4への割り込み信号Intがネゲートされる(ステップS6)。
以上のような、第2の実施の形態の半導体集積回路3では、第1の実施の形態の半導体集積回路1と同様の効果が得られる。
Thereafter, the interrupt signal Int to the processor 4 is negated (step S6).
In the semiconductor integrated circuit 3 of the second embodiment as described above, the same effect as the semiconductor integrated circuit 1 of the first embodiment can be obtained.

さらに、第2実施の形態の半導体集積回路3では、正常値保持部7が、エラー発生レジスタが出力する信号の値を0から1または1から0に反転して、回路部9に出力することで、回路部9に供給される値を正常値に維持することができる。これにより、レジスタ群5でのエラーにより回路部9で誤動作が生じることを抑制できる。   Further, in the semiconductor integrated circuit 3 of the second embodiment, the normal value holding unit 7 inverts the value of the signal output from the error occurrence register from 0 to 1 or 1 to 0 and outputs the inverted value to the circuit unit 9. Thus, the value supplied to the circuit unit 9 can be maintained at a normal value. As a result, it is possible to suppress a malfunction from occurring in the circuit unit 9 due to an error in the register group 5.

さらに、第2の実施の形態の半導体集積回路3では、レジスタ群5に含まれる複数のレジスタは、プロセッサ4の制御のもと、エラー発生時、保持している値を反転する機能を有する。これにより、正常値の複製をミラーリング等によりメモリ等に保持しておくことが不要となるため、より小面積の回路構成で、レジスタのエラー訂正を行うことができる。   Furthermore, in the semiconductor integrated circuit 3 according to the second embodiment, the plurality of registers included in the register group 5 have a function of inverting the held value when an error occurs under the control of the processor 4. As a result, it is not necessary to store a copy of the normal value in a memory or the like by mirroring or the like, so that it is possible to perform error correction of the register with a smaller circuit configuration.

(第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 circuit 3 a according to the third embodiment has a normal value writing unit 7 a that inverts the stored value of the error occurrence register instead of the processor 4. The normal value writing unit 7a also has a function of the normal value holding unit 7 of the semiconductor integrated circuit 3 according to the second embodiment. In FIG. 11, the normal value writing unit 7a is a circuit unit that inverts the stored value of the register c1 when an error occurs in the register c1, and the stored value (normal value) before the error of the register c1. 9 shows the portion to be output. Although the illustration regarding the other registers is omitted, the circuit is similar.

正常値書き込み部7aは、AND回路21、レジスタ22、NOT回路23、AND回路24、NOT回路25、セレクタ26を有する。
AND回路21は、誤り検出回路pcから出力される信号xpcと、誤り検出回路pcから出力される信号xp1のAND演算を行い、その演算結果を、レジスタ22とAND回路24に出力する。
The normal value writing unit 7a includes an AND circuit 21, a register 22, a NOT circuit 23, an AND circuit 24, a NOT circuit 25, and a selector 26.
The AND circuit 21 performs an AND operation on the signal xpc output from the error detection circuit pc and the signal xp1 output from the error detection circuit pc, and outputs the operation result to the register 22 and the AND circuit 24.

レジスタ22は、AND回路21から出力された演算結果を、入力されるクロック信号CLKの立ち上り(または立ち下がり)に同期して保持し、また、その保持した値を、NOT回路23に出力する。   The register 22 holds the operation result output from the AND circuit 21 in synchronization with the rising (or falling) of the input clock signal CLK, and outputs the held value to the NOT circuit 23.

NOT回路23は、レジスタ22から出力された値を反転し、AND回路24に出力する。
AND回路24は、AND回路21から出力された演算結果と、NOT回路23から出力された値のAND演算を行い、その演算結果を、セレクタ26と、レジスタc1に含まれるセレクタ12とに対する選択信号として出力する。選択信号は、レジスタc1でエラーが発生したときに“1”となる。
The NOT circuit 23 inverts the value output from the register 22 and outputs the result to the AND circuit 24.
The AND circuit 24 performs an AND operation on the operation result output from the AND circuit 21 and the value output from the NOT circuit 23, and the operation result is selected as a selection signal for the selector 26 and the selector 12 included in the register c1. Output as. The selection signal becomes “1” when an error occurs in the register c1.

NOT回路19は、図3に示したレジスタc1が出力する信号dc1の値を反転し、セレクタ20に出力する。
セレクタ20は、レジスタ18から供給される選択信号が“0”のときは、レジスタc1から出力される信号dc1を選択して信号Dc1として出力する。選択信号が“1”のときは、セレクタ20は、NOT回路19により反転された信号dc1を選択して信号Dc1として出力する。
The NOT circuit 19 inverts the value of the signal dc1 output from the register c1 shown in FIG.
When the selection signal supplied from the register 18 is “0”, the selector 20 selects the signal dc1 output from the register c1 and outputs it as the signal Dc1. When the selection signal is “1”, the selector 20 selects the signal dc1 inverted by the NOT circuit 19 and outputs it as the signal Dc1.

NOT回路25は、レジスタc1から出力される信号dc1の値を反転させ、セレクタ26に出力する。
セレクタ26は、AND回路24から供給される選択信号が“0”のときは、レジスタc1から出力される信号dc1を選択して信号Dc1として出力する。選択信号が“1”のときは、セレクタ26は、NOT回路25により反転された信号dc1を選択して信号Dc1として出力する。
The NOT circuit 25 inverts the value of the signal dc1 output from the register c1 and outputs it to the selector 26.
When the selection signal supplied from the AND circuit 24 is “0”, the selector 26 selects the signal dc1 output from the register c1 and outputs it as the signal Dc1. When the selection signal is “1”, the selector 26 selects the signal dc1 inverted by the NOT circuit 25 and outputs it as the signal Dc1.

以下、第3の実施の形態の半導体集積回路3aの動作例を説明する。
(半導体集積回路の動作例1)
図12は、第3の実施の形態の半導体集積回路の動作例を示すタイミングチャートである。図12では、レジスタc1でエラーが発生した場合の例が示されており、クロック信号CLK、レジスタc1から出力される信号dc1、誤り検出回路pc,p1の各部の信号と、正常値書き込み部7aの各部の信号の一例の様子が示されている。
Hereinafter, an operation example of the semiconductor integrated circuit 3a of the third embodiment will be described.
(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 value writing unit 7a. The state of an example of the signal of each part of is shown.

なお、誤り検出回路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 register 15 of the error detection circuit pc and the initial value of the output of the XOR circuit 14 are “0”, the parity bit that is the output of the register 15 of the error detection circuit p1 and the initial value of the output of the XOR circuit 14 The value is assumed to be “1”.

図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 XOR circuit 14 of the error detection circuit pc rises to “1”. At this time, the value of the output of the XOR circuit 14 of the error detection circuit pc and the value of the output of the register 15 do not match, so that the signal xpc rises to “1”. As the value of the signal dc1 changes, the output of the XOR circuit 14 of the error detection circuit p1 falls to “0”. As a result, the value of the output of the XOR circuit 14 of the error detection circuit p1 does not match the value of the output of the register 15, so that the signal xp1 rises to “1”.

また、タイミング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 circuit 21 of the normal value writing unit 7a rises to “1”. At this time, the output of the AND circuit 24 rises to “1”. Further, when the signal dc1 rises to “1”, the output of the NOT circuit 25 of the normal value writing unit 7a falls to “0”.

また、タイミング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 circuit 24 of the normal value writing unit 7a rises to “1”, the selector 26 selects the output from the NOT circuit 25 and outputs it as the signal Dc1. As a result, even if an error occurs in the register c1 at the timing t9 and the value of the signal dc1 is inverted to “1”, the normal value writing unit 7a continues to output “0” that is a normal value as the signal Dc1. .

また、タイミングt9で、正常値書き込み部7aのAND回路24の出力が“1”に立ち上るため、レジスタc1のセレクタ12は、NOT回路11により“0”に反転された信号dc1を選択し、フリップフロップ10に出力する。   At timing t9, the output of the AND circuit 24 of the normal value writing unit 7a rises to “1”. Therefore, the selector 12 of the register c1 selects the signal dc1 that has been inverted to “0” by the NOT circuit 11, and the flip-flop Output to

信号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-flop 10 holds the signal dc1 inverted to “0” by the NOT circuit 11 output from the selector 12 in synchronization with the rising edge of the clock signal CLK. As a result, the error occurring in the register c1 is corrected.

また、タイミング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 XOR circuit 14 of the error detection circuit pc falls to “0” in accordance with the change in the value of the signal dc1. Further, since the register 15 of the error detection circuit pc holds the output of the XOR circuit 14 that has risen to “1” at the timing t9 at the timing t10, the output of the register 15 of the error detection circuit pc rises to “1”. . At timing t10, the value of the output of the XOR circuit 14 of the error detection circuit pc and the output of the register 15 do not match, so the signal xpc maintains “1”.

また、タイミング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 XOR circuit 14 of the error detection circuit p1 rises to “1”. Further, since the register 15 of the error detection circuit p1 holds the output of the XOR circuit 14 that has fallen to “0” at the timing t9, the output of the register 15 of the error detection circuit p1 falls to “0”. Further, at timing t10, the value of the output of the XOR circuit 14 of the error detection circuit p1 and the output of the register 15 do not match, so the signal xp1 maintains “1”.

上記のように信号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 circuit 21 of the normal value writing unit 7a maintains “1”. At this time, the AND circuit 24 performs an AND operation on the output of the AND circuit 21 and the output of the NOT circuit 23. The output of the NOT circuit 23 becomes a value (“0”) obtained by inverting the value held in the register 22 at the timing t10. As a result, the output of the AND circuit 24 falls to “0”.

また、信号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 NOT circuit 25 of the normal value writing unit 7a rises to “1”.
At this time, since the output of the AND circuit 24 which is a selection signal supplied to the selector 26 is “0”, the selector 26 selects the signal dc1 and outputs it as the signal Dc1. As a result, the signal dc1 having a normal value by error correction is output as the signal Dc1.

クロック信号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 register 15 of the error detection circuit pc holds the output of the XOR circuit 14, so that the output of the register 15 falls to "0". At this time, the value of the output of the XOR circuit 14 of the error detection circuit pc coincides with the value of the output of the register 15, so that the signal xpc falls to “0”.

一方、誤り検出回路p1のレジスタ15は、クロック信号CLKの立ち上りに同期して、XOR回路14の出力を保持するため、レジスタ15の出力は“1”に立ち上る。また、このとき、誤り検出回路p1のXOR回路14の出力とレジスタ15の出力の値は“1”で一致するため、信号xp1は“0”に立ち下がる。   On the other hand, the register 15 of the error detection circuit p1 holds the output of the XOR circuit 14 in synchronization with the rising edge of the clock signal CLK, so that the output of the register 15 rises to “1”. At this time, since the value of the output of the XOR circuit 14 of the error detection circuit p1 and the output of the register 15 coincide with “1”, the signal xp1 falls to “0”.

このように、信号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 circuit 21 of the normal value writing unit 7a falls to “0”.
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 value writing unit 7a can correct an error occurring in the register c1 without asserting an interrupt to the processor 4.

以下、誤り検出回路pcのレジスタ15でエラーが生じた際の動作例を説明する。
(半導体集積回路の動作例2)
図13は、第3の実施の形態の半導体集積回路の動作例を示すタイミングチャートである。図12に示した各種信号の、誤り検出回路pcのレジスタ15でエラーが生じた際の一例の様子が図13に示されている。
Hereinafter, an operation example when an error occurs in the register 15 of the error detection circuit pc will be described.
(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 register 15 of the error detection circuit pc.

なお、初期状態では、誤り検出回路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 register 15 of the error detection circuit pc.
In the example of FIG. 13, at timing t12, an error occurs in the register 15 of the error detection circuit pc, and the output of the register 15 of the error detection circuit pc is inverted from “0” to “1”. At this time, the value of the output of the XOR circuit 14 of the error detection circuit pc and the value of the output of the register 15 do not match, so that the signal xpc rises to “1”.

しかし、信号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 circuit 21 of the normal value writing unit 7a also maintains “0”. As a result, the output of the AND circuit 24 of the normal value writing unit 7a also maintains “0”, so that the selector 12 of the register c1 also maintains the selection of the signal dc1 output from the flip-flop 10. Further, when the output of the AND circuit 24 of the normal value writing unit 7a is maintained at “0”, the selector 26 continues to output the signal dc1 as the signal Dc1.

エラー発生後のクロック信号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 register 15 of the error detection circuit pc holds the normal parity bit value that is the output of the XOR circuit 14. As a result, the output of the register 15 of the error detection circuit pc falls to “0” and is written back to a normal value. At this time, since the value of the output of the XOR circuit 14 of the error detection circuit pc and the value of the output of the register 15 are “0” and coincide with each other, the signal xpc falls to “0”.

その他の動作については、第2の実施の形態の半導体集積回路3と同様であり、第2の実施の形態の半導体集積回路3と同様の効果が得られる。
以上、実施の形態に基づき、本発明の半導体集積回路の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
Other operations are the same as those of the semiconductor integrated circuit 3 of the second embodiment, and the same effects as those of the semiconductor integrated circuit 3 of the second embodiment are obtained.
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 SYMBOLS 1 Semiconductor integrated circuit 2 Normal value writing part a0-a2, b0-b2, c0-c2 register p0-p2, pa-pc Error detection circuit

Claims (5)

行番地と列番地が割り当てられており、それぞれ0または1の1ビットの値を格納する複数のレジスタと、
前記複数のレジスタのうち、同一行番地の第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:
前記第1のエラー検出信号及び前記第2のエラー検出信号に基づき、エラーが発生した前記第1のレジスタから出力される値を、1から0または0から1に反転し、エラー発生前の前記第1のレジスタの第2の格納値の出力状態を保持する正常値保持部、を有することを特徴とする請求項1に記載の半導体集積回路。   Based on the first error detection signal and the second error detection signal, the value output from the first register in which an error has occurred is inverted from 1 to 0 or from 0 to 1, and the error before the error occurs The semiconductor integrated circuit according to claim 1, further comprising a normal value holding unit that holds an output state of the second stored value of the first register. 前記複数のレジスタのそれぞれは、前記正常値書き込み部から供給される選択信号に基づいて、自身が保持している値を反転させる回路を有している、ことを特徴とする請求項1または2に記載の半導体集積回路。   3. Each of the plurality of registers has a circuit that inverts a value held by itself based on a selection signal supplied from the normal value writing unit. A semiconductor integrated circuit according to 1. 前記第1の誤り検出回路または前記第2の誤り検出回路は、前記第1のレジスタ群または前記第2のレジスタ群が正常時のパリティビットを保持しており、エラーによって前記パリティビットが第1の値から第2の値に変化したとき、クロック信号に同期して、前記パリティビットを、前記第1のレジスタ群または前記第2のレジスタ群の値に基づき生成される前記第1の値に更新する、ことを特徴とする請求項1乃至3の何れか一項に記載の半導体集積回路。   In the first error detection circuit or the second error detection circuit, the first register group or the second register group holds a parity bit in a normal state, and the parity bit is set to the first by an error. When the value of the first register group changes to the second value, the parity bit is set to the first value generated based on the value of the first register group or the second register group in synchronization with the clock signal. The semiconductor integrated circuit according to claim 1, wherein the semiconductor integrated circuit is updated. 前記正常値書き込み部は、前記第1のエラー検出信号及び前記第2のエラー検出信号に基づき、エラーが発生した前記第1のレジスタから出力される値を、1から0または0から1に反転し、エラー発生前の前記第1のレジスタに格納される値の出力状態を保持する、ことを特徴とする請求項3または4に記載の半導体集積回路。   The normal value writing unit inverts the value output from the first register in which an error has occurred from 1 to 0 or from 0 to 1 based on the first error detection signal and the second error detection signal 5. The semiconductor integrated circuit according to claim 3, wherein an output state of a value stored in the first register before occurrence of an error is held.
JP2014138606A 2014-07-04 2014-07-04 Semiconductor integrated circuit Pending JP2016018569A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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