WO2015193984A1 - 集積回路およびプログラマブルデバイス - Google Patents
集積回路およびプログラマブルデバイス Download PDFInfo
- Publication number
- WO2015193984A1 WO2015193984A1 PCT/JP2014/066092 JP2014066092W WO2015193984A1 WO 2015193984 A1 WO2015193984 A1 WO 2015193984A1 JP 2014066092 W JP2014066092 W JP 2014066092W WO 2015193984 A1 WO2015193984 A1 WO 2015193984A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- ram
- access
- error
- logic circuit
- integrated circuit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/702—Masking faults in memories by using spares or by reconfiguring by replacing auxiliary circuits, e.g. spare voltage generators, decoders or sense amplifiers, to be used instead of defective ones
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Definitions
- the present invention relates to an integrated circuit and a programmable device.
- SRAM Static Random ⁇ Access ⁇ Memory
- microprocessors microcontrollers
- AISC AISCs
- ECC Error Correcting Code
- SECDED Single Error Collection, Double Error Detection
- the logic circuit information is stored in the internal CRAM (configuration RAM). Therefore, there is a problem that a soft error occurs in the CRAM and the logic circuit information is rewritten, and the logic circuit changes to a wrong function (fails) and malfunctions.
- CRAM configuration RAM
- Non-Patent Document 1 proposes a method “TMR Block RAM with Refresh” as an error correction method for BRAM (Block RAM) which is an internal memory of the FPGA.
- BRAM Block RAM
- a BRAM is connected to each of the triple logic circuits, and a BRAM refresh circuit is connected to the error correction port.
- the BRAM refresh circuit simultaneously reads data from the same address of the three BRAMs regardless of the access of the logic circuit, performs majority processing, and writes the data back. BRAM access is executed while periodically updating the address.
- the method of majority processing the RAM access signal of the triple logic circuit is not suitable for high speed operation because the wiring from the logic circuit to the RAM via the majority circuit increases the access time.
- the BRAM refresh method of Non-Patent Document 1 can be connected to the BRAM as it is without performing majority processing on the RAM access signal of the triple logic circuit, so that high speed operation is possible.
- This method can also be used for correction when a soft error occurs in the BRAM, but can also be used for correction when a logic circuit erroneously writes to the BRAM.
- FIG. 1 is a block diagram of an integrated circuit having a RAM access correction circuit of a triple logic circuit in a first embodiment to which the present invention is applied;
- FIG. 3 is an equivalent logic diagram of the majority circuit in the first embodiment. 3 is a truth table of the majority circuit in the first embodiment.
- 2 is a block diagram of a RAM access correction circuit RAMEDC in Embodiment 1.
- FIG. 6 is an error classification table of RAMEDC in a case where the access signals of the triple logic circuit in Embodiment 1 are divided into 2 to 1. It is a processing flowchart of RAMEDC.
- In the error classification table of RAMEDC shown in FIG. 2 is an error correction processing timing chart of 1;
- In the error classification table of RAMEDC shown in FIG. 2 is an error correction processing timing chart of FIG.
- FIG. 3 In the error classification table of RAMEDC shown in FIG. 3 is an error correction processing timing chart of FIG.
- FIG. 4 is an error correction processing timing chart of FIG. 10 is a block diagram of a RAM access correction circuit RAMEDC in Embodiment 2.
- FIG. It is a block diagram of the 3rd example to which the present invention is applied.
- FIG. 10 is a block diagram of an FPGA having RAM access correcting means of a triple logic circuit.
- 10 is a RAM access error correction processing timing chart in Embodiment 4.
- FIG. 1 is a block diagram of an integrated circuit having a RAM access correction circuit of a triple logic circuit according to a first embodiment to which the present invention is applied.
- the integrated circuit shown in FIG. 1 employs an LSI in which an electronic circuit is fabricated on a thin semiconductor substrate called a wafer, particularly a programmable device that allows the user to define and change the internal logic circuit after manufacture.
- the integrated circuit (1) includes three modules M0 (2), M1 (3), and M2 (4), a majority circuit V (5), a RAM access correction circuit RAMEDC (6), and an error control circuit ERRMNG (7). ) Is included.
- the input signal IN of the integrated circuit (1) is input to M0 (2), M1 (3), and M2 (4), the output signal 8 of M0 (2), the output signal 9 of M1 (3), and M2 (4)
- the output signal 10 is subjected to majority processing in the majority circuit V (5), and the result is output as the output signal OUT of the integrated circuit (1).
- a signal 11 is an error detection signal of the majority circuit V (5), and is output when all three inputs do not match.
- the error detection signal 11 is input to the error control circuit ERRNG (7) and notifies the error signal ERR to the outside of the integrated circuit.
- the module M0 (2) includes a logic circuit LC (20) and a RAM (21), and a signal 22 is an LC (20) RAM access signal including a command, an address, and write data.
- the signal 23 is read data read from the RAM (21) when the RAM access signal (22) of the LC (20) is read access.
- LC (20) outputs an output signal 8 to the outside of M0 (2).
- the module M1 (3) includes a logic circuit LC (30) and a RAM (31), and a signal 32 is a RAM access signal of the LC (30) and includes a command, an address, and write data.
- the signal 33 is read data read from the RAM (31) when the RAM access signal (32) of the LC (30) is read access.
- LC (30) outputs an output signal 9 to the outside of M1 (3).
- the module M2 (4) includes a logic circuit LC (40) and a RAM (41), and a signal 42 is an LC (40) RAM access signal including a command, an address, and write data.
- the signal 43 is read data read from the RAM (41) when the RAM access signal (42) of the LC (40) is read access.
- LC (40) outputs an output signal 10 to the outside of M2 (4).
- the RAM access correction circuit RAMEDC (6) monitors the RAM access signals 22, 32, 42 of the triple logic circuit LC (20, 30, 40), and corrects it immediately when an error such as erroneous data writing is detected.
- the RAM access signals 24, 34, 44 from the RAMEDC (6) to the triple RAM (21, 32, 42) include commands, addresses, and write data.
- Signals 25, 35, 45 from the triple RAM (21, 31, 41) to the RAM EDC (6) are read data read when the RAM access signals 24, 34, 44 are read access.
- the signal 12 is an error detection signal of the RAMEDC (6), and is output when the RAM access signals 22, 32, and 42 do not all match.
- the error detection signal 12 is input to the error control circuit ERRNG (7) to notify the error signal ERR to the outside of the integrated circuit.
- FIG. 2 is an equivalent logic diagram of the majority circuit in the first embodiment.
- the output signals of the triple logic circuit are input to vin0, vin1, and vin2, respectively.
- the output signal has N bits, N circuits are connected for each bit.
- vout is a majority output signal
- err [1: 0] is an error signal.
- FIG. 3 is a truth table of the majority circuit in the first embodiment.
- the input signals vin0, vin1, and vin2 each take a value of 0 or 1, and there are eight combinations.
- the majority output signal vout outputs the larger value of the three inputs.
- the error signal err [1: 0] is 00 (no error) when all three input signals match, and the input signal identification number that does not match when divided into 2: 1 (in the case of vin0, 01, in case of vin1) In the case of 10, vin2, 11) is output.
- FIG. 4 is a block diagram of the RAM access correction circuit RAMEDC (6) in the first embodiment. It includes six types of registers (60 to 65), an LC-RAM access monitoring unit (66), and a RAMEDC-RAM access control unit (67).
- the ED register (60) holds the error detection result. “0” indicates no error, “1” indicates that writing is not executed (including a write data error at the correct address), “2” indicates incorrect writing, “3” indicates an address error, and “4” indicates that all RAM access signals do not match.
- the EMI register (61) is the identification number of the LC that outputs the decimal side when the RAM access signal is divided into 2 to 1, the LC (20) of M0 (2) is '0', and the LC ( 30) is “1”, and LC (40) of M2 (4) is “2”.
- the CA register (62) holds a plurality of addresses when the RAM access signal is divided into 2 to 1.
- the CWD register (63) holds a large number of write data when the RAM access signal is divided into 2 to 1.
- the WA register (64) holds the address on the minority side when the RAM access signal is divided into 2 to 1.
- the CRD register (65) reads the data at the address indicated by the WA register (64) from the triple RAM when the RAM access signal is divided into two-to-one and the minority side generates an illegal write or an address error. Performs majority processing and retains data on the majority side.
- the LC-RAM access monitoring unit (66) monitors the RAM access signals 22, 32, and 42 of the triple logic circuit LC (20, 30, 40) to detect an error, and registers ED (60), EMI ( 61), CA (62), CWD (63), and WA (64) are set.
- the RAMEDC-RAM access control unit (67) sets the RAM (21, 2) and '3' when the RAM access signal is divided into 2 to 1 in the ED register (60). 31 and 41) are accessed to correct data erroneously written by the LC.
- FIG. 5 is a RAMEDC error classification table in the case where the access signal of the triple logic circuit in the first embodiment is divided into 2 to 1. Many columns of command, address, and write data mean the majority side of the RAM access signal, and a few columns mean the minority side of the RAM access signal.
- No. 1 is when the majority command is W (write) and the minor command is N (no access) or R (read).
- Write data WDm is written at address Am in the majority RAM, but no write is performed in the RAM on the minority side. In this case, 1 (write not executed) is set in the ED register of RAMEDC, Am is set in the CA register, and WDm is set in the CWD register.
- No. 2 is a case where the commands on the majority side and the minority side match with W, the addresses match, and the write data does not match.
- 1 write data error to the correct address
- Am is set in the CA register
- WDm is set in the CWD register.
- No. 3 is the case where the majority command is N or R, and the minor command is W. Although writing is not performed in the majority RAM, write data WDn is written in the address An in the minor RAM.
- the RAMEDC ED register is set to 2 (illegal write)
- the WA register is set to An
- the read data read from the RAM address An that has been tripled to the CRD register is majority processed. Set RDm.
- No. 4 is a case where the commands on the majority side and the minority side match with W and the addresses do not match.
- Write data WDm is written at address Am in the majority RAM, but write data WDn is written at address An in the minor RAM.
- the RAMEDC ED register is set to 3 (address error)
- the CA register is set to Am
- the CWD register is set to WDm
- the WA register is set to An
- the CRD register is tripled.
- the majority data RDm obtained by majority processing of the read data read from the address An is set.
- No. No. 5 is the above No. 5 This is the case where, for example, the commands on the majority side and the minority side match with R and the addresses do not match under conditions other than 1 to 4. In this case, since erroneous writing to the RAM is not performed, error correction of the RAM is not necessary. Therefore, 0 (no error) is set in the ED register.
- FIG. 6 is a process flowchart of RAMEDC.
- P1 Process 1
- the LC RAM access signals 22, 32, and 42 in the modules M0 to M2 are compared. If the three match, the ED register is set to 0 (no error) in P11 and the process ends.
- P3 register setting is performed.
- Set ED register to 1 write not executed, write data error to correct address
- set EMI register to output LC access number on the minority side set LC identification number n, and access to CA register on the larger side
- the signal address Am is set, and the write data WDm of the RAM access signal on the multiple side is set in the CWD register.
- the error classification is No.
- the register setting of P5 is performed. 2 (illegal writing) is set in the ED register, the identification number n of the LC that has output the RAM access signal on the minority side is set in the EMI register, and the address An of the RAM access signal on the minority side is set in the WA register.
- the error classification is No.
- P4 register setting is performed.
- Set 3 (address error) in the ED register set the identification number n of the LC that output the RAM access signal on the minority side in the EMI register, set the address Am of the RAM access signal on the majority side in the CA register, and set CWD Write data WDm of the RAM access signal on the majority side is set in the register, and the address An of the RAM access signal on the minor side is set in the WA register.
- the processing of P3 and P4 proceeds to the processing of P6, and the RAM of the module Mn whose RAM access signal is the minority side is write-accessed.
- the address at this time is the value of the CA register, and the write data is the value of the CWD register.
- the processing of P5 and P6 proceeds to the processing of P7, and the error classification is No. 1 or No. In the case of 2, the ED register is set to 0 (no error) in P11, and the process ends.
- the error classification is No. 3 or No.
- the process proceeds to P8, and the RAM of the modules M0 to M2 is read-accessed.
- the address at this time is the value of the WA register.
- the process of P8 proceeds to the process of P9, and the read data RD0 to RD2 are inspected. If the three match, the ED register is set to 0 (no error) in P11 and the process ends.
- the process proceeds to P10 and the read data RDm on the majority side is set in the CRD register.
- the process of P10 proceeds to the process of P12, and the Mn RAM is write-accessed. The address at this time is the value of the WA register, and the write data is the value of the CRD register.
- the process of P12 proceeds to the process of P11, the ED register is set to 0 (no error), and the process ends. If none of the three read data RD0 to RD2 or RDn match in P9, the process proceeds to P13, the ED register is set to 4, and the process ends abnormally.
- FIG. 7 shows the No. in the error classification table of RAMEDC shown in FIG. 2 is an error correction processing timing chart of 1;
- the LC RAM access signals, RAM addresses and data, and RAMEDC RAM access signals and registers in the modules M0 to M2 are shown.
- the clock signal clk is 1
- the LC RAM access signal in the module M0 is N or R and writing to the RAM is not performed (writing is not executed)
- the LC RAM access signal in the modules M1 and M2 is W and the RAM Data D1 is written to address A1.
- 1 is set in the ED register (write not executed, write data error at the correct address)
- 0 is set in the EMI register
- A1 is set in the CA register
- D1 is set in the CWD register.
- RAMEDC performs write access to the RAM of M0, writes data D1 at address A1, and corrects an error caused by non-execution of writing.
- RAMEDC sets 0 (no error) in the ED register.
- FIG. 8 shows the No. in the error classification table of RAMEDC shown in FIG. 2 is an error correction processing timing chart of FIG.
- clk is 1
- LC RAM access signal in module M0 is W and data D5 is written to RAM address A2 (write data error)
- LC RAM access signal in modules M1 and M2 is W and RAM address Data D2 is written to A2.
- 1 is set in the ED register (write not executed, write data error at the correct address)
- 0 is set in the EMI register
- A2 is set in the CA register
- D2 is set in the CWD register.
- RAMEDC performs write access to the RAM of M0, writes data D2 at address A2, and corrects an error due to a write data error.
- RAMEDC sets 0 (no error) in the ED register.
- FIG. 9 is the No. in the error classification table of RAMEDC shown in FIG. 3 is an error correction processing timing chart of FIG.
- the LC RAM access signal in the module M0 is W and the data D6 is written to the RAM address A3 (illegal writing), and the LC RAM access signal in the modules M1 and M2 is N or R to the RAM Is not written.
- 2 (illegal write) is set in the ED register
- 0 is set in the EMI register
- A3 is set in the WA register.
- RAMEDC performs read access to RAMs M0 to M2, inspects data read from address A3, and sets D3 read from RAMs M1 and M2 in the CRD register.
- RAMEDC performs write access to the RAM in M0, writes data D3 at address D3, and corrects an error due to illegal writing.
- RAMEDC sets 0 (no error) in the ED register.
- FIG. 10 is the No. in the error classification table of RAMEDC shown in FIG. 4 is an error correction processing timing chart of FIG.
- clk is 1
- the LC RAM access signal in the module M0 is W and the data D4 is written to the RAM address A7 (address error)
- the LC RAM access signal in the modules M1 and M2 is W and the RAM address A4 Data D4 is written in
- 3 (address error) is set in the ED register
- 0 is set in the EMI register
- A4 is set in the CA register
- D4 is set in the CWD register
- A7 is set in the WA register.
- RAMEDC performs write access to the RAM in M0 and writes data D4 to address A4.
- RAMEDC performs read access to the RAMs M0 to M2, inspects the data read from the address A7, and sets D7 read from the RAMs M1 and M2 in the CRD register.
- clk performs write access to the RAM in M0 and writes data D7 to address D7 to correct an error due to an address error.
- RAMEDC sets 0 (no error) in the ED register.
- FIG. 11 is a block diagram of the RAM access correction circuit RAMEDC in the second embodiment.
- buffers 660, 661, 662 for the RAM access signals 22, 32, 42 are added to the LC-RAM access monitoring unit (66). Each of these can hold up to three RAM access signals.
- FIGS. 7 and 8 since correction writing by RAMEDC is completed in the next cycle, even if clk is 2, 3,... The error can be corrected with a delay of one cycle.
- the error shown in FIG. 9 since the error is corrected over 3 cycles from the next cycle, it cannot be set in the register when the write access is performed in the cycles where clk is 2 and 3.
- the access signals are temporarily held in the buffers (660, 661, 662) of the LC-RAM access monitoring unit (66) in FIG. 11, and are transferred to the registers in the held order when the RAM correction of the RAMEDC is completed.
- the RAM of the module in which the error has occurred can be corrected without omission.
- the LC-RAM access monitoring unit ( 66) since the error is corrected over the next four cycles, the LC-RAM access monitoring unit ( 66), the access signal can be temporarily held in the buffer (660, 661, 662).
- the buffer (660, 661, 662) in FIG. 11 it is preferable to invalidate the LC RAM access signal in the module that detected the error.
- FIG. 12 is a block diagram of a third embodiment to which the present invention is applied.
- the RAM (21, 22, 23) has one port, and selectors (26, 36, 46) are added. Further, a wait signal 68 from the RAMEDC (6) to the LC (20, 30, 40) in M0 to M2 is added.
- the selector (26, 36, 46) selects the RAM access signal 24, 34, 44 of the RAMEDC (6) when there is RAM access by the RAMEDC (6), and the RAM access signal 22, 32, LC of the LC when there is not. 42 is selected.
- the RAM access of LC (20, 30, 40) cannot be executed.
- the wait signal 68 is output to delay the start of the RAM access of LC (20, 30, 40). .
- this embodiment reduces the performance because a RAM access error causes a wait for LC RAM access, but it requires only one RAM port. There are benefits.
- FIG. 13 is a block diagram of an FPGA having a RAM access correcting means of a triple logic circuit according to a fourth embodiment to which the present invention is applied.
- the FPGA of this embodiment has a dynamic partial reconfiguration function.
- the dynamic partial reconfiguration function is a function capable of reloading a part of logic circuit information from an external flash ROM to the CRAM during operation. If this function is used, when the output of the triple logic circuit is divided into two-to-one, it is considered that the logic circuit that has output that does not match is faulty, and the logic circuit information in the CRAM is Reload and repair the failed logic circuit.
- the integrated circuit (1) of FIG. 1 is replaced with the FPGA (1), and a partial reconfiguration control circuit PTFCFG is formed in a region where a user-defined circuit called a user logic circuit (17) is formed. (50) has been added. Further, a CRAM access interface circuit CRAM_ACC_IF (54) and CRAM (55) are added to the outside of the user logic circuit (17) of the FPGA (1), and a flash ROM (FR) (59) is connected to the outside of the FPGA (1). Interface signals 60 and 61 are added. In the FPGA (1), the logic circuit information is held in the FR (59). When the FPGA (1) is turned on, the logic circuit information is loaded into the CRAM (55), and the FPGA (1) Determine and start operation.
- CRAM_ACC_IF CRAM_ACC_IF
- CRAM flash ROM
- the RAM access correction circuit RAMEDC (6) outputs the error detection signal 12 output to the error control circuit ERRNG (7), and the RAM access signal is divided into 2 to 1. It includes the error and the identification number of the module that generated the error.
- the error control circuit ERRMNG (7) requests the partial reconfiguration control circuit PTRCFG (50) to perform partial reconfiguration of the module in which the error has occurred (51).
- the CRAM (55) is divided into areas for storing the logic circuit information of the triple modules M0, M1, M2, the majority circuit V, the error control circuit ERRMNG, and the partial reconfiguration control circuit PTRCFG.
- PTRCFG designates the address area of FR (59) and the address area of CRAM (55) in which information of the failed logic circuit is stored in CRAM_ACC_IF (54), and from FR (59) to CRAM (55). Is requested to be reloaded (56).
- the CRAM_ACC_IF (54) outputs an address to the FR (59) (60), reads the logic circuit information (61), outputs the address and logic circuit information to the CRAM (55), and performs overwriting ( 58).
- the CRAM_ACC_IF (54) outputs an end signal 57 to the PTRCFG (50), and the PTRCFG (50) outputs an end signal 52 to the ERRMNG (7).
- ERRMNG (7) outputs an end signal 53 to RAMEDC (6) to notify the completion of repair of the module that detected the error.
- RAMEDC (6) is a normal module and a write access to the RAM is executed, the RAM access signal is N (no access) because the RAM of the module in which the error occurred is delayed by one cycle.
- the RAM access signal of the module in which an error has occurred in the next cycle is validated to restore the triple operation of M0-2.
- FIG. 14 is a RAM access error correction processing timing chart in the fourth embodiment.
- the LC RAM access signal in the module M0 is N or R, and the RAM is not written (write is not executed)
- the LC RAM access signal in the modules M1 and M2 is W
- the RAM address A1 Data D1 is written in
- 1 is set in the ED register (write not executed, write data error at the correct address)
- 0 is set in the EMI register
- A1 is set in the CA register
- D1 is set in the CWD register.
- RAMEDC performs write access to the RAM of M0, writes data D1 at address A1, and corrects an error caused by non-execution of writing.
- RAMEDC sets 0 (no error) in the ED register. Thereafter, the LC RAM access in M0 is invalidated.
- the RAMEDC notifies the ERRMNG that a 2-to-1 error in the RAM access signal has occurred at M0, partial reconfiguration of the M0 area of the CRAM is executed. During this time, if write access to the RAM is executed in a normal module, correction writing is performed in the M0 RAM with a delay of one cycle.
- this invention is not limited to the above-mentioned Example, Various modifications are included.
- the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
- a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
- control lines and information lines indicate what is considered necessary for explanation, and not all control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
2,3,4 3重化モジュール
5 多数決回路
6 RAMアクセス訂正回路
7 エラー制御回路
8 M0におけるLCの出力信号
9 M1におけるLCの出力信号
10 M2におけるLCの出力信号
11 多数決回路(5)のエラー検出信号
12 RAMアクセス訂正回路のエラー検出信号
17 FPGA内部のユーザ論理回路
50 部分再構成制御回路
54 CRAMアクセスインタフェース回路
55 CRAM
59 フラッシュROM
Claims (13)
- 少なくとも3重に多重化された論理回路と,
前記多重化された論理回路それぞれに設けられ,前記論理回路がデータの書き込み及び読み出しを行うRAMと,
前記論理回路から前記RAMへのアクセス信号を比較して,誤ったアクセス信号を検出すると,誤ったアクセス信号を受信した前記RAMに対して,他の前記RAMに書き込まれたライトデータを用いてエラー訂正を行うRAMアクセス訂正手段と,
を有する集積回路。 - 請求項1に記載の集積回路において,
前記RAMアクセス訂正手段は,前記多重化された論理回路から前記RAMへのアクセス信号を比較して不一致を検出した場合に,一致する数が最も多い値を正常な信号とみなし,それ以外の値を異常な信号とみなし,前記正常とみなしたアクセス信号と前記異常とみなしたアクセス信号とから前記RAMのエラー種別を特定し,そのエラーを訂正することを特長とする集積回路。 - 請求項2に記載の集積回路において,
前記RAMアクセス訂正手段は,誤ったデータ書き込みのエラー種別を保持するエラー検出レジスタを有し,
前記エラー検出レジスタは,エラー無し,書き込み不実行,不正書き込み,アドレス誤りの少なくとも4つの種別を表すことを特長とする集積回路。 - 請求項1に記載の集積回路において,
前記論理回路は,所定のクロックに従って前記RAMへのアクセスを行うものであって,
前記RAMアクセス訂正手段は,あるクロックでアクセス信号を検出すると,次のクロックで,当該RAMのエラー訂正処理を行うことを特徴とする集積回路。 - 請求項1に記載の集積回路において,
前記RAMアクセス訂正手段は,誤ったデータ書き込みを検出した場合に,一致する数が最も多いアクセス信号のアドレス値を保持する正常アドレスレジスタと,一致する数が最も多いアクセス信号のライトデータ値を設定する正常ライトデータレジスタを有することを特長とする集積回路。 - 請求項1に記載の集積回路において,
前記RAMアクセス訂正手段は,誤ったデータ書き込みを検出した場合に,一致する数が最も多いアクセス信号以外のアクセス信号のアドレス値を設定する異常アドレスレジスタと,前記多重化した論理回路に接続されるRAMの前記異常アドレスレジスタに設定されたアドレスからデータを読み出して,その一致する数が最も多いデータを正常データとして設定する正常リードデータレジスタ有することを特長とする集積回路。 - 請求項1に記載の集積回路において,
前記RAMアクセス訂正手段は,前記多重化した論理回路から前記RAMへのアクセス信号を比較して不一致を検出した場合に,正常とみなしたアクセス信号のコマンドがライトで,異常とみなしたアクセス信号のコマンドがライトで無い場合に,正常とみなしたアクセス信号のアドレスとライトデータを使って,異常とみなしたアクセスが実行されたRAMへのライトアクセスを行うことによりエラーを訂正することを特長とする集積回路。 - ライトデータ誤り
請求項1に記載の集積回路において,
前記RAMアクセス訂正手段は,前記多重化した論理回路から前記RAMへのアクセス信号を比較して不一致を検出した場合に,正常とみなしたアクセス信号と異常とみなしたアクセス信号のコマンドがライトで一致し,アドレスが一致し,ライトデータが不一致の場合に,正常とみなしたRAMアクセス信号のアドレスとライトデータを使って,異常とみなしたRAMアクセスが実行されたRAMへのライトアクセスを行うことによりエラーを訂正することを特長とする集積回路。 - 請求項1に記載の集積回路において,
前記RAMアクセス訂正手段は,前記多重化した論理回路から前記RAMへのアクセス信号を比較して不一致を検出した場合に,正常とみなしたアクセス信号のコマンドがライトなく,異常とみなしたアクセス信号のコマンドがライトの場合に,異常とみなしたアクセス信号のアドレスを使って,前記多重化した論理回路に接続されるRAMからデータを読み出して,その一致する数が最も多いデータを正常データとして,異常とみなしたRAMアクセスが実行されたRAMへのライトアクセスを行うことによりエラーを訂正することを特長とする集積回路。 - 請求項1に記載の集積回路において,
前記RAMアクセス訂正手段は,前記多重化した論理回路から前記RAMへのアクセス信号を比較して不一致を検出した場合に,正常とみなしたアクセス信号と異常とみなしたアクセス信号のコマンドがライトで一致し,アドレスが不一致の場合に,正常とみなしたRAMアクセス信号のアドレスとライトデータを使って,異常とみなしたRAMアクセスが実行されたRAMへのライトアクセスを行い,異常とみなしたアクセス信号のアドレスを使って,前記多重化した論理回路に接続されるRAMからデータを読み出して,その一致する数が最も多いデータを正常データとして,異常とみなしたRAMアクセスが実行されたRAMへのライトアクセスを行うことによりエラーを訂正することを特長とする集積回路。 - 請求項1に記載の集積回路において,
前記RAMアクセス訂正手段は,前記多重化した論理回路から前記RAMへのアクセス信号を一時記憶する3段以上のバッファを有し,異常とみなしたRAMアクセスが実行されたRAMのエラーを訂正中にアクセス信号を一時記憶しておき,異常とみなしたRAMアクセスが実行されたRAMのエラーの訂正が終了した後に比較を行うことを特長とする集積回路。 - 請求項1に記載の集積回路において,
前記RAMアクセス訂正手段が誤ったデータ書き込みを検出した場合に,そのエラー訂正が終了するまでエラーを発生した論理回路のRAMアクセスが無効化することを特長とする集積回路。 - 電源が投入されると外部の記憶媒体に保持された論理回路情報を内部のコンフィギュレーションRAMにロードして論理回路を構成して動作するプログラマブルデバイスにおいて,
動作中に論理回路の一部を外部の記憶媒体から再ロードする動的部分再構築部と,
少なくとも3重に多重化した論理回路と,
前記多重化した論理回路にそれぞれ接続される複数のRAMと,
前記多重化した論理回路から前記RAMへのアクセス信号を比較して誤ったアクセス信号を検出し,前記RAMのエラーを訂正するRAMアクセス訂正手段を有し,
前記RAMアクセス訂正手段が誤ったデータ書き込みを検出した場合に,そのエラー訂正が終了するまでエラーを発生した論理回路のRAMアクセスを無効化し,前記動的部分再構成部を用いてエラー発生した論理回路の部分再構成を行い,部分再構成が完了した後,前記多重化した論理回路から前記RAMへのアクセスが無く,誤ったデータ書き込みが検出されていない条件でRAMアクセスの無効化を解除することを特長とするプログラマブルデバイス。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/066092 WO2015193984A1 (ja) | 2014-06-18 | 2014-06-18 | 集積回路およびプログラマブルデバイス |
JP2016528704A JP6220972B2 (ja) | 2014-06-18 | 2014-06-18 | 集積回路およびプログラマブルデバイス |
US15/317,230 US10318376B2 (en) | 2014-06-18 | 2014-06-18 | Integrated circuit and programmable device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/066092 WO2015193984A1 (ja) | 2014-06-18 | 2014-06-18 | 集積回路およびプログラマブルデバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015193984A1 true WO2015193984A1 (ja) | 2015-12-23 |
Family
ID=54935016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/066092 WO2015193984A1 (ja) | 2014-06-18 | 2014-06-18 | 集積回路およびプログラマブルデバイス |
Country Status (3)
Country | Link |
---|---|
US (1) | US10318376B2 (ja) |
JP (1) | JP6220972B2 (ja) |
WO (1) | WO2015193984A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020046840A (ja) * | 2018-09-18 | 2020-03-26 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
FR3104798B1 (fr) * | 2019-12-17 | 2022-02-18 | Thales Sa | Registre a triplication comportant un dispositif de securisation |
CN112838857B (zh) * | 2021-01-27 | 2022-07-22 | 复旦大学 | 一种应用于组合逻辑电路的软错误加固方法 |
US11861181B1 (en) | 2022-08-10 | 2024-01-02 | Bae Systems Information And Electronic Systems Integration Inc. | Triple modular redundancy (TMR) radiation hardened memory system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08212093A (ja) * | 1995-02-07 | 1996-08-20 | Toshiba Corp | フォールトトレラント計算機システム |
JP2001175545A (ja) * | 1999-12-15 | 2001-06-29 | Nec Corp | サーバシステムおよび障害診断方法ならびに記録媒体 |
JP2010113388A (ja) * | 2008-11-04 | 2010-05-20 | Renesas Technology Corp | 処理結果を照合する比較器を有するマルチコアマイコン |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3665173A (en) * | 1968-09-03 | 1972-05-23 | Ibm | Triple modular redundancy/sparing |
US3780276A (en) * | 1972-06-20 | 1973-12-18 | Ibm | Hybrid redundancy interface |
JPS55119753A (en) * | 1979-03-07 | 1980-09-13 | Nippon Signal Co Ltd:The | Information input method in electronic computer system |
JPS6161299A (ja) * | 1984-08-31 | 1986-03-29 | Fujitsu Ltd | 記憶装置 |
US6963217B2 (en) * | 2003-02-21 | 2005-11-08 | University Of South Florida | Method and apparatus for creating circuit redundancy in programmable logic devices |
US20060236168A1 (en) * | 2005-04-01 | 2006-10-19 | Honeywell International Inc. | System and method for dynamically optimizing performance and reliability of redundant processing systems |
WO2008078355A1 (ja) * | 2006-12-22 | 2008-07-03 | Fujitsu Limited | メモリ回路、半導体装置及び情報処理装置並びにデータ書込み方法 |
US7863733B2 (en) * | 2007-07-11 | 2011-01-04 | Arm Limited | Integrated circuit with multiple layers of circuits |
US8271912B2 (en) * | 2008-03-19 | 2012-09-18 | International Business Machines Corporation | Radiation tolerance by clock signal interleaving |
US9112536B2 (en) * | 2011-01-31 | 2015-08-18 | Everspin Technologies, Inc. | Method of reading and writing to a spin torque magnetic random access memory with error correcting code |
US8572538B2 (en) * | 2011-07-01 | 2013-10-29 | Altera Corporation | Reconfigurable logic block |
JP5699057B2 (ja) * | 2011-08-24 | 2015-04-08 | 株式会社日立製作所 | プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス |
US9244783B2 (en) * | 2013-06-18 | 2016-01-26 | Brigham Young University | Automated circuit triplication method and system |
-
2014
- 2014-06-18 JP JP2016528704A patent/JP6220972B2/ja not_active Expired - Fee Related
- 2014-06-18 US US15/317,230 patent/US10318376B2/en not_active Expired - Fee Related
- 2014-06-18 WO PCT/JP2014/066092 patent/WO2015193984A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08212093A (ja) * | 1995-02-07 | 1996-08-20 | Toshiba Corp | フォールトトレラント計算機システム |
JP2001175545A (ja) * | 1999-12-15 | 2001-06-29 | Nec Corp | サーバシステムおよび障害診断方法ならびに記録媒体 |
JP2010113388A (ja) * | 2008-11-04 | 2010-05-20 | Renesas Technology Corp | 処理結果を照合する比較器を有するマルチコアマイコン |
Non-Patent Citations (1)
Title |
---|
TAKUYA TAKAHARA: "High-Reliable Computer System on SRAM Based FPGA for Spacecraft", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. J88-B, 1 January 2005 (2005-01-01), pages 90 - 98 * |
Also Published As
Publication number | Publication date |
---|---|
US10318376B2 (en) | 2019-06-11 |
JPWO2015193984A1 (ja) | 2017-04-20 |
US20180165153A1 (en) | 2018-06-14 |
JP6220972B2 (ja) | 2017-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11385959B2 (en) | Memory repair method and apparatus based on error code tracking | |
US9015558B2 (en) | Systems and methods for error detection and correction in a memory module which includes a memory buffer | |
US9104595B2 (en) | Selective remedial action based on category of detected error for a memory read | |
US9583215B2 (en) | Semiconductor memory device and testing method thereof | |
US20080181035A1 (en) | Method and system for a dynamically repairable memory | |
US20120079346A1 (en) | Simulated error causing apparatus | |
JP6220972B2 (ja) | 集積回路およびプログラマブルデバイス | |
US9104588B2 (en) | Circuits, apparatuses, and methods for address scrambling | |
JP2012198727A (ja) | メモリコントローラ及び情報処理装置 | |
US20150143188A1 (en) | Methods for accessing a storage unit of a flash memory and apparatuses using the same | |
US10043588B2 (en) | Memory device | |
EP4246329B1 (en) | Error correction method and apparatus | |
JP2020198142A (ja) | 半導体集積回路及びメモリ回路 | |
US11182231B2 (en) | Host system and computing system including the host system | |
JP6193112B2 (ja) | メモリアクセス制御装置、メモリアクセス制御システム、メモリアクセス制御方法、及び、メモリアクセス制御プログラム | |
WO2014141455A1 (ja) | Fpga回路 | |
JP2015001774A (ja) | 半導体集積回路及びその処理方法 | |
US11537467B2 (en) | Memory, memory system, and operation method of memory | |
JP6749965B2 (ja) | メモリデバイス | |
KR100926149B1 (ko) | 반도체 메모리 테스트 시스템의 페일 데이터 처리 방법 | |
KR102087509B1 (ko) | 메모리 디바이스 | |
US20240330133A1 (en) | Method and system for repairing a dynamic random access memory (dram) of memory device | |
TWI676175B (zh) | 預比對系統及預比對方法 | |
US11119852B2 (en) | Memory device having error correction function and error correction method for memory device | |
JP2015201813A (ja) | プログラマブルゲートアレイ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14895010 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016528704 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15317230 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14895010 Country of ref document: EP Kind code of ref document: A1 |