US20160065185A1 - Multi-bit flip-flop with enhanced fault detection - Google Patents
Multi-bit flip-flop with enhanced fault detection Download PDFInfo
- Publication number
- US20160065185A1 US20160065185A1 US14/472,809 US201414472809A US2016065185A1 US 20160065185 A1 US20160065185 A1 US 20160065185A1 US 201414472809 A US201414472809 A US 201414472809A US 2016065185 A1 US2016065185 A1 US 2016065185A1
- Authority
- US
- United States
- Prior art keywords
- slave
- latch
- fault
- latches
- output
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims description 16
- 239000000758 substrate Substances 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 20
- 239000004065 semiconductor Substances 0.000 claims abstract description 19
- 230000002093 peripheral effect Effects 0.000 claims abstract description 14
- 210000004027 cell Anatomy 0.000 claims description 14
- 210000000692 cap cell Anatomy 0.000 claims description 9
- 230000000295 complement effect Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 5
- 238000002347 injection Methods 0.000 claims description 5
- 239000007924 injection Substances 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
- H03K3/0375—Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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/1608—Error detection by comparing the output signals of redundant hardware
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0175—Coupling arrangements; Interface arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
- H03K3/0372—Bistable circuits of the master-slave type
Definitions
- the present disclosure relates in general to semiconductor devices, and more specifically to multi-bit master latches with enhanced fault detection.
- SER and SEU soft error rate and/or single event upset
- SER and SEU can occur, for example, when external energy (such as energy due to alpha particle bombardment) is imparted onto the circuit, causing bit values in a memory, voltage detectors and/or other devices, to change to erroneous values. Therefore, as device geometries continue to shrink, error detection becomes increasingly important. Additionally, it is important to reduce power consumed by error detection so that energy costs are reduced and portable devices can operate for longer time periods between battery recharges.
- Flip-flops are often used as the basic storage element in circuit design.
- the clock signal may be deactivated and the flip-flops may transfer the state to low leakage latches (e.g., a balloon latch).
- a signal e.g., restore, active
- the flip-flops may transfer the state from the latches back to the flip-flops.
- FIG. 1 is a block diagram of a processing system with fault detection and collection capabilities according to one embodiment.
- FIG. 2 is a schematic diagram of an embodiment of a master latch and associated slave latches coupled to a comparator that may be included in the flip-flop unit of FIG. 1 .
- FIG. 3 is a block diagram of an embodiment of fault bus that may be used in the processing system of FIG. 1 .
- FIG. 4 is a layout diagram of an embodiment of a flip-flop unit that may be used in the processing system of FIG. 1 .
- FIG. 5 is a layout diagram of another embodiment of a flip-flop unit that may be used in the processing system of FIG. 1 .
- Embodiments of systems, devices and methods disclosed herein provide multi-bit flip-flop units with transient fault detection.
- Each flip-flop unit includes a master latch circuit with two slave latches coupled to the output of the master latch circuit.
- the slave latches are implemented in different wells in a substrate as far apart as possible from one another so that events causing soft errors or single event upsets in circuitry coupled to one well are less likely to affect circuitry coupled to the other well.
- the data input to one slave latch can be inverted relative to the other slave latch to improve immunity from common-cause faults.
- the outputs from both slave latches are compared using an open drain comparator (ODC).
- ODC open drain comparator
- the output from multiple ODCs are then connected to an open drain fault bus with a level shifter and provided to a fault collection and control unit.
- the ODC for each flip-flop can be placed between the slave latches and other unrelated flip-flop to increase lateral distance to corresponding flip-flop.
- the flip-flop units detect soft or transient errors caused by energetic particles while considerably reducing space requirements and costs associated with completely redundant backup processor cores.
- FIG. 1 is a block diagram of a processing system 100 with fault detection and collection capabilities according to one embodiment that includes one or more processor cores 102 , fault collection and control unit 104 , one or more peripheral devices 106 , and system control module 108 .
- Processor core(s) 102 and peripheral device(s) 106 can include one or more multi-bit flip-flop units 110 that are capable of detecting and reporting soft errors in state retaining slave latches associated with the flip-flop units 110 to fault collection and control unit 104 on respective fault buses 114 , 116 .
- Fault collection and control unit 104 provides error or fault information from the flip-flop units 110 to system control module 108 .
- the fault information can include the location of the flip-flop units 110 reporting the faults and the number of faults detected per fault bus over a specified period of time.
- System control module 108 receives the fault information from fault collection and control unit 104 and determines whether to issue a reset or interrupt signal to a processor 102 or peripheral 106 encountering soft errors and/or a single event upset.
- Processing system 100 can be any suitable type of computer system and may be implemented as system on chip (SOC) with all components on a single substrate, or as with components implemented on two or more substrates.
- SOC system on chip
- Peripherals 106 can include devices implemented with integrated circuit technology such as various types of logic circuitry, memory, low voltage detection circuits, and high voltage detection circuits, among others.
- FIG. 2 is a schematic diagram of an embodiment of a master latch 200 and associated slave latches 202 , 204 coupled to comparator 206 that may be included in flip-flop unit 110 of FIG. 1 .
- Master latch 200 includes inverters 210 , 216 , 218 , 220 and transmission gates 212 , 214 .
- Slave latch 202 includes inverters 226 , 228 , 230 and transmission gates 222 , 224 .
- Slave latch 204 includes inverters 238 , 240 , 242 and transmission gates 234 , 236 .
- Comparator 206 includes P-channel transistors 244 , 248 , 252 , 254 , 256 and N-channel transistors 246 , 250 .
- inverter 210 has an input terminal coupled to receive data (D), a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal of transmission gate 212 .
- Inverter 216 has an input terminal coupled to the output terminal of transmission gate 212 , a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal of inverter 218 and an input terminal of inverter 220 .
- Inverter 218 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal of transmission gate 214 .
- Inverter 220 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal of transmission gate 222 and an input terminal of inverter 232 .
- Transmission gate 212 is coupled to a true clock signal (CPI) and a complementary clock signal (CPN) and allows the output of inverter 210 to pass to the input terminal of inverter 216 when the true clock signal CPI goes low.
- Transmission gate 214 is coupled to true clock signal (CPI) and complementary clock signal (CPN) opposite to transmission gate 212 so the output of inverter 218 passes to the input terminal of inverter 216 when the true clock signal CPI goes high, thereby latching the value of the data D.
- transmission gate 222 is coupled to a true clock signal (CPI) and a complementary clock signal (CPN) to allow the output of inverter 220 to pass to the input terminals of respective inverters 228 and 230 when the true clock signal CPI goes high.
- Inverter 228 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal of inverter 226 .
- Inverter 230 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to control gates of P-channel transistors 248 and 252 and N-channel transistor 250 in comparator 206 .
- Inverter 226 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal of transmission gate 224 .
- Transmission gate 224 is coupled to true clock signal (CPI) and complementary clock signal (CPN) opposite to transmission gate 222 so the output of inverter 226 passes to the input terminals of inverters 228 and 230 when the true clock signal CPI goes low, thereby latching the value of the data D.
- CPI true clock signal
- CPN complementary clock signal
- transmission gate 234 is coupled to a true clock signal (CPI) and a complementary clock signal (CPN) to allow the output of inverter 232 to pass to the input terminals of respective inverters 240 and 242 when the true clock signal CPI goes high.
- Inverter 240 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal of inverter 238 .
- Inverter 242 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to control gates of P-channel transistors 244 and 254 and N-channel transistor 246 in comparator 206 .
- Inverter 238 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal of transmission gate 236 .
- Transmission gate 236 is coupled to true clock signal (CPI) and complementary clock signal (CPN) opposite to transmission gate 234 so the output of inverter 238 passes to the input terminals of inverters 240 and 242 when the true clock signal CPI goes low, thereby latching the value of the data D.
- CPI true clock signal
- CPN complementary clock signal
- the input to slave latch 204 is inverted compared to the input to slave latch 202 to help provide immunity to common-cause faults such as signal integrity issues and power supply noise.
- a fault indicator can be set to indicate a fault when the state of slave latch 202 matches the state of slave latch 204 .
- a fault indicator can be set to indicate a fault when the state of slave latch 202 does not match the state of slave latch 204 .
- the circuitry of comparator 206 will be rearranged to output a high signal when the state of slave latch 202 does not match the state of slave latch 204 .
- P-channel transistor 244 has a source terminal coupled to supply voltage VDD, a gate terminal coupled to the output of slave latch 204 and a drain terminal coupled to a drain terminal of N-channel transistor 246 and to the gate electrode of P-channel transistor 256 .
- N-channel transistor 246 further has a gate terminal coupled to the output of slave latch 204 and a source terminal coupled to a drain terminal of N-channel transistor 250 .
- P-channel transistor 248 has a source terminal coupled to supply voltage VDD, a gate terminal coupled to the output of slave latch 202 and a drain terminal coupled to the drain terminal of P-channel transistor 244 and to the gate electrode of P-channel transistor 256 .
- N-channel transistor 250 further has a gate terminal coupled to the output of slave latch 202 and a source terminal coupled to ground.
- P-channel transistor 252 has a source terminal coupled to supply voltage VDD, a gate terminal coupled to the output of slave latch 202 and a drain terminal coupled to a source terminal of P-channel transistor 254 .
- P-channel transistor 254 further has a gate terminal coupled to the output of slave latch 204 and a drain terminal coupled to the drain terminal of P-channel transistor 256 .
- P-channel transistor 256 has a source electrode coupled to supply voltage VDD, a gate terminal coupled to the drain terminals of P-channel transistors 244 , 248 , and a drain terminal coupled to the drain terminal of P-channel transistor 254 .
- the output of comparator at the drain terminals of P-channel transistors 254 , 256 indicates whether the output of slave latch 202 matched the output of slave latch 204 . If the outputs of slave latches 202 , 204 do not match, a fault will be indicated by comparator 206 .
- FIG. 3 is a block diagram of an embodiment of fault bus 114 (and 116 ) that may be used in the processing system 100 of FIG. 1 .
- the output terminal of one or more flip-flop units 110 can be coupled to fault bus 114 , 116 .
- One end of each fault bus 114 , 116 is coupled to ground through a respective resistor 310 , 312 .
- Another end of each fault bus 114 , 116 is coupled to ground through respective resistor 330 , 334 .
- a pull-up device such as P-channel transistor 328 , 332 is coupled in series with a respective one of resistors 330 , 334 .
- a source terminal of each P-channel transistor 328 , 332 is coupled to supply voltage VDD and a drain terminal of each P-channel transistor 328 , 332 is coupled to a first terminal of a respective one of resistors 330 , 334 .
- a second terminal of each resistor 330 , 334 is coupled to a respective ground or second supply voltage.
- the resistors 310 , 330 , 312 , 334 coupled to ground may be part of a standard end cap cell.
- a gate terminal of each P-channel transistor 328 , 332 is coupled to a respective fault injection port 324 , 326 that allows the fault line on each bus 114 , 116 to be pulled high during customer testing and debug.
- An input terminal to a level shifter 316 , 320 in each of detection registers 314 , 318 are also coupled respective fault buses 114 , 116 .
- Level shifters 316 , 320 translate the combined output signals from all flip-flop units 110 coupled to a respective bus 114 , 116 from an attenuated level to a full level before the fault signal is provided to fault collection and control unit 104 ( FIG. 1 ).
- Detection registers 314 , 318 can be implemented with a set/reset latch circuit or other suitable device, with the output of the level shifter 316 , 320 providing the input to the latch circuit. The output of each detection register 314 , 318 is provided to fault collection and control unit 104 .
- all flip-flop units 110 coupled to a fault bus 114 , 116 can be associated with a particular device or component in processing system.
- fault collection and control unit 104 can report the problem and the fact that the problem is occurring in a specific component, such as a particular processing core 102 or peripheral 106 , to system control 108 . If a reset or interrupt needs to be issued to correct the problem, the corrective action can be localized to the specific core 102 or peripheral 106 to help minimize impact on the rest of processing system 100 .
- FIG. 4 is a layout diagram of an embodiment of an eight bit flip-flop unit 110 that may be used in the processing system 100 of FIG. 1 .
- Flip-flop unit 110 includes a first section 402 with a first set of four master latches 200 coupled to a first set of four slave latches 202 (shown as ML/SL 0 , ML/SL 1 , ML/SL 2 , ML/SL 3 ), a second set of slave latches 204 (shown as SL 4 , SL 5 , SL 6 , SL 7 ), and a second set of comparators 206 (shown as COMP 4 , COMP 5 , COMP 6 , COMP 7 ).
- Flip-flop unit 110 further includes a second section 404 with a second set of four master latches 200 coupled to a second set of four slave latches 202 (shown as ML/SL 4 , ML/SL 5 , ML/SL 6 , ML/SL 7 ), a first set of slave latches 204 (shown as SL 0 , SL 1 , SL 2 , SL 3 ), and a first set of comparators 206 (shown as COMP 0 , COMP 1 , COMP 2 , COMP 3 ).
- Slave latches SL 2 , SL 3 , SL 6 , SL 7 , comparators COMP 2 , COMP 3 , COMP 6 , COMP 7 , and master/slave latches ML/SL 0 , ML/SL 1 , ML/SL 4 , ML/SL 5 are implemented using a first well 406 , which is a doped region in a semiconductor substrate 400 .
- Slave latches SL 0 , SL 1 , SL 4 , SL 5 , comparators COMP 0 , COMP 1 , COMP 4 , COMP 5 , and master/slave latches ML/SL 2 , ML/SL 3 , ML/SL 6 , ML/SL 7 are implemented using a second well 408 , which is another doped region in a semiconductor substrate 400 that is physically and electrically isolated from first well 406 .
- the output of each comparator 206 is coupled to a fault pin 410 centrally located between first and second portions 402 , 404 of flip-flop unit 110 .
- the fault pin 410 is coupled to fault bus 114 .
- slave latches SL 2 , SL 3 , SL 6 , SL 7 and comparators COMP 2 , COMP 3 , COMP 6 , COMP 7 are formed using first well 406 while corresponding master/slave latches ML/SL 2 , ML/SL 3 , ML/SL 6 , ML/SL 7 are formed using second well 408 .
- slave latches SL 0 , SL 1 , SL 4 , SL 5 and comparators COMP 0 , COMP 1 , COMP 4 , COMP 5 are formed using second well 408 while corresponding master/slave latches ML/SL 0 , ML/SL 1 , ML/SL 4 , ML/SL 5 are formed using first well 406 .
- both slave latches 202 , 204 were implemented in the same well 406 or 408 , they would be more likely to be affected by the same upset event.
- the input to slave latch 204 is not inverted, and a comparison between slave latches 202 , 204 indicates they both have the same state, no error will be detected by the comparator even though both slave latches 202 , 204 may have changed to an erroneous state during the upset event.
- slave latches 204 can be positioned as far as possible from master latch 200 and slave latch 202 .
- master latch and slave latch ML/SL 0 are positioned in first portion 402 of substrate 400 and corresponding slave latch SL 0 is positioned in the second portion 404 of substrate 400 .
- COMP 0 is also positioned in the second portion 404 of substrate 400 between master and slave latch ML/SL 0 and slave latch SL 0 to increase the physical distance between the slave latches 202 , 204 to the greatest extent possible.
- FIG. 5 is a layout diagram of an embodiment of a four bit flip-flop unit 110 that may be used in the processing system 100 of FIG. 1 .
- Flip-flop unit 110 includes a first section 502 with a first set of two master latches 200 coupled to a first set of two slave latches 202 (shown as ML/SL 2 , ML/SL 3 ), a second set of slave latches 204 (shown as SL 0 , SL 1 ), and a second set of comparators 206 (shown as COMP 0 , COMP 1 ).
- Flip-flop unit 110 further includes a second section 504 with a second set of two master latches 200 coupled to a second set of two slave latches 202 (shown as ML/SL 1 , ML/SL 0 ), a first set of slave latches 204 (shown as SL 2 , SL 3 ), and a first set of comparators 206 (shown as COMP 2 , COMP 3 ).
- Slave latches 202 , 204 , comparators 206 , and master latches 200 are implemented using a first well 506 , which is a doped region in a semiconductor substrate 500 .
- each comparator 206 is coupled to a fault pin 510 centrally located between first and second portions 502 , 504 of flip-flop unit 110 .
- the fault pin 510 is coupled to fault bus 114 .
- Slave latches 204 can be positioned as far as possible from master latch 200 and slave latch 202 .
- master latch and slave latch ML/SL 0 are positioned in first portion 502 of substrate 500 and corresponding slave latch SL 0 is positioned in the second portion 504 of substrate 500 .
- COMP 0 is also positioned in the second portion 504 of substrate 500 between master and slave latch ML/SL 0 and slave latch SL 0 to increase the physical distance between the slave latches 202 , 204 to the greatest extent possible.
- a processing system ( 100 ) can include a processor core ( 102 ), a peripheral component ( 106 ), and a flip-flop unit ( 110 ) in at least one of the processor core and the peripheral component.
- the flip-flop unit can include a master latch ( 200 ), and two slave latches ( 202 , 204 ) coupled to an output of the master latch.
- the first slave latch is formed over a first doped well region of a semiconductor substrate.
- the second slave latch ( 204 ) is formed over a second doped well region of the semiconductor substrate.
- a comparator ( 206 ) is coupled to an output of the first slave latch and to an output of the second slave latch. An output of the comparator indicates whether a state stored in the first slave latch is the same as a state stored in the second slave latch.
- the master latch can be formed over the first doped well region.
- the second slave latch can be positioned at a distance greater than a closest possible distance from the master latch.
- first slave latch and the master latch can be positioned in a first standard cell and the second slave latch can be positioned in a second standard cell at a farthest possible distance from the first slave latch and the master latch.
- system can further comprise a fault bus.
- the output of the comparator can be coupled to the fault bus.
- the flip-flop unit can further include a plurality of: master latches, first and second slave latches, and comparators, and the output from the comparator and a plurality of outputs from the plurality of comparators can be coupled to the fault bus.
- the fault bus can be coupled to a detection register with a level shifter to amplify the output from the comparator and the plurality of outputs from the plurality of comparators.
- the fault bus can be connected to end cap cells at both ends of a standard cell row.
- one of the end cap cells can include a pull-down device to enable wire-ORing of multiple fault signals, and the system can further comprise a controlled pull-up device to allow fault injection during testing.
- system can further comprise a fault collection and control unit coupled to the fault bus.
- a fault indication is set when either the state stored in the first slave latch is not the same as the state stored in the second slave latch, and the output of the master latch is input to the second slave latch; or the state stored in the first slave latch is the complement of the state stored in the second slave latch, and the output of the master latch is inverted before being input to the second slave latch.
- system can further comprise a system control unit coupled between the fault collection and control unit and the processor core, and between the fault collection and control unit and the peripheral.
- the fault indication from the fault collection and control unit can indicate a location of a fault and the system control unit can take corrective action based on the location of the fault indication.
- a flip-flop unit ( 110 ) can include a plurality of master latches ( 200 ) formed over a first doped well region of a semiconductor substrate, and a plurality of first slave latches ( 202 ) coupled to an output of a respective one of the master latches.
- the first slave latch can be formed over the first doped well region.
- a plurality of second slave latches ( 204 ) can be coupled to the output of the respective one of the master latches.
- the second slave latch can be formed over a second doped well region of the semiconductor substrate.
- a plurality of comparators ( 206 ) can each be coupled to an output one of the plurality of first slave latches and to an output of one of the plurality of the second slave latches. An output of each of the comparators indicates whether a state stored in the one of the plurality of first slave latch is the same as a state stored in the one of the plurality of the second slave latch.
- the output of each of the comparators can be coupled to
- each of the plurality of the first slave latches and the master latches can be positioned in a respective first standard cell and each of the plurality of the second slave latches can be positioned in a second standard cell.
- the second standard cell can be at a farthest possible distance from the first slave latch and the flip-clop circuit.
- the fault bus can be coupled to a detection register with a level shifter to amplify the output from the outputs of the plurality of comparators.
- the fault bus can be connected to an end cap cell at one end and the end cap cell includes a pull-down device to enable wire-ORing of multiple fault signals, and the flip-flop unit can further comprise a controlled pull-up device to allow fault injection during testing.
- the plurality of comparators can be positioned between the plurality of master latches and the plurality of second slave latches.
- a first half of the plurality of master latches and first slave latches can be positioned in a first column ( 402 ) of a layout and a first half of the second slave latches can be associated with the first half of the plurality of master latches and first slave latches are in a second column ( 404 ) of the layout.
- a second half of the plurality of master latches and first slave latches are positioned in the second column of the layout and a second half of the second slave latches associated with the second half of the plurality of master latches and first slave latches are in the first column of the layout.
- a method can comprise storing an output from a master latch as a state in a first slave latch, and storing the output from the master latch as a state in a second slave latch.
- the first slave latch and the master latch can be implemented using a first doped well of a semiconductor substrate, and the second slave latch can be implemented using a second doped well of the semiconductor substrate.
- the state stored in the first slave latch can be compared to the state stored in the second slave latch.
- a fault indicator can be based on whether the state stored in the first slave latch matches the state stored in the second slave latch.
- the method can further comprise taking corrective action in a processing system component based on the fault indicator.
- the method can further comprise coupling a plurality of fault indicators to a fault bus, and level shifting the plurality of fault indicators to translate a reduced voltage level on the fault bus to a full voltage level.
- any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components.
- any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality.
- the illustrated elements of systems disclosed herein are circuitry located on a single integrated circuit or within a same device.
- the systems may include any number of separate integrated circuits or separate devices interconnected with each other.
- a system or portions thereof may be soft or code representations of physical circuitry or of logical representations convertible into physical circuitry.
- a system may be embodied in a hardware description language of any appropriate type.
- Processing system 100 is a computer system such as a personal computer system. Other embodiments may include different types of computer systems. Computer systems are information handling systems which can be designed to give independent computing power to one or more users. Computer systems may be found in many forms including but not limited to mainframes, minicomputers, servers, workstations, personal computers, notepads, personal digital assistants, electronic games, automotive and other embedded systems, cell phones and various other wireless devices. A typical computer system includes at least one processing unit, associated memory and a number of input/output (I/O) devices.
- I/O input/output
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
- 1. Field of the Disclosure
- The present disclosure relates in general to semiconductor devices, and more specifically to multi-bit master latches with enhanced fault detection.
- 2. Description of the Related Art
- As consumers demand smaller processing devices, the integrated circuits within the devices also must shrink. As the size of the semiconductor memory devices decreases, the bit cell area also decreases, causing an increase in the possibility of failures induced by soft error rate (SER) and/or single event upset (SEU). SER and SEU can occur, for example, when external energy (such as energy due to alpha particle bombardment) is imparted onto the circuit, causing bit values in a memory, voltage detectors and/or other devices, to change to erroneous values. Therefore, as device geometries continue to shrink, error detection becomes increasingly important. Additionally, it is important to reduce power consumed by error detection so that energy costs are reduced and portable devices can operate for longer time periods between battery recharges.
- Flip-flops are often used as the basic storage element in circuit design. When the circuit enters a low power mode the clock signal may be deactivated and the flip-flops may transfer the state to low leakage latches (e.g., a balloon latch). When the power supply is restored to the flip-flop, a signal (e.g., restore, active) may be asserted to transfer the state from the latches back to the flip-flops.
- The benefits, features, and advantages of the present disclosure will become better understood with regard to the following description, and accompanying drawings where:
-
FIG. 1 is a block diagram of a processing system with fault detection and collection capabilities according to one embodiment. -
FIG. 2 is a schematic diagram of an embodiment of a master latch and associated slave latches coupled to a comparator that may be included in the flip-flop unit ofFIG. 1 . -
FIG. 3 is a block diagram of an embodiment of fault bus that may be used in the processing system ofFIG. 1 . -
FIG. 4 is a layout diagram of an embodiment of a flip-flop unit that may be used in the processing system ofFIG. 1 . -
FIG. 5 is a layout diagram of another embodiment of a flip-flop unit that may be used in the processing system ofFIG. 1 . - Embodiments of systems, devices and methods disclosed herein provide multi-bit flip-flop units with transient fault detection. Each flip-flop unit includes a master latch circuit with two slave latches coupled to the output of the master latch circuit. The slave latches are implemented in different wells in a substrate as far apart as possible from one another so that events causing soft errors or single event upsets in circuitry coupled to one well are less likely to affect circuitry coupled to the other well. The data input to one slave latch can be inverted relative to the other slave latch to improve immunity from common-cause faults. The outputs from both slave latches are compared using an open drain comparator (ODC). The output from multiple ODCs are then connected to an open drain fault bus with a level shifter and provided to a fault collection and control unit. The ODC for each flip-flop can be placed between the slave latches and other unrelated flip-flop to increase lateral distance to corresponding flip-flop. The flip-flop units detect soft or transient errors caused by energetic particles while considerably reducing space requirements and costs associated with completely redundant backup processor cores.
-
FIG. 1 is a block diagram of aprocessing system 100 with fault detection and collection capabilities according to one embodiment that includes one ormore processor cores 102, fault collection andcontrol unit 104, one or moreperipheral devices 106, andsystem control module 108. Processor core(s) 102 and peripheral device(s) 106 can include one or more multi-bit flip-flop units 110 that are capable of detecting and reporting soft errors in state retaining slave latches associated with the flip-flop units 110 to fault collection andcontrol unit 104 onrespective fault buses control unit 104 provides error or fault information from the flip-flop units 110 tosystem control module 108. The fault information can include the location of the flip-flop units 110 reporting the faults and the number of faults detected per fault bus over a specified period of time.System control module 108 receives the fault information from fault collection andcontrol unit 104 and determines whether to issue a reset or interrupt signal to aprocessor 102 or peripheral 106 encountering soft errors and/or a single event upset. -
Processing system 100 can be any suitable type of computer system and may be implemented as system on chip (SOC) with all components on a single substrate, or as with components implemented on two or more substrates. -
Peripherals 106 can include devices implemented with integrated circuit technology such as various types of logic circuitry, memory, low voltage detection circuits, and high voltage detection circuits, among others. -
FIG. 2 is a schematic diagram of an embodiment of amaster latch 200 and associatedslave latches comparator 206 that may be included in flip-flop unit 110 ofFIG. 1 .Master latch 200 includesinverters transmission gates Slave latch 202 includesinverters transmission gates Slave latch 204 includesinverters transmission gates Comparator 206 includes P-channel transistors channel transistors - For
master latch 200,inverter 210 has an input terminal coupled to receive data (D), a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal oftransmission gate 212.Inverter 216 has an input terminal coupled to the output terminal oftransmission gate 212, a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal ofinverter 218 and an input terminal ofinverter 220.Inverter 218 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal oftransmission gate 214.Inverter 220 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal oftransmission gate 222 and an input terminal ofinverter 232.Transmission gate 212 is coupled to a true clock signal (CPI) and a complementary clock signal (CPN) and allows the output ofinverter 210 to pass to the input terminal ofinverter 216 when the true clock signal CPI goes low.Transmission gate 214 is coupled to true clock signal (CPI) and complementary clock signal (CPN) opposite totransmission gate 212 so the output ofinverter 218 passes to the input terminal ofinverter 216 when the true clock signal CPI goes high, thereby latching the value of the data D. - For
slave latch 202,transmission gate 222 is coupled to a true clock signal (CPI) and a complementary clock signal (CPN) to allow the output ofinverter 220 to pass to the input terminals ofrespective inverters Inverter 228 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal ofinverter 226.Inverter 230 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to control gates of P-channel transistors channel transistor 250 incomparator 206.Inverter 226 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal oftransmission gate 224.Transmission gate 224 is coupled to true clock signal (CPI) and complementary clock signal (CPN) opposite totransmission gate 222 so the output ofinverter 226 passes to the input terminals ofinverters - For
slave latch 204,transmission gate 234 is coupled to a true clock signal (CPI) and a complementary clock signal (CPN) to allow the output ofinverter 232 to pass to the input terminals ofrespective inverters Inverter 240 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal ofinverter 238.Inverter 242 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to control gates of P-channel transistors channel transistor 246 incomparator 206.Inverter 238 further has a supply voltage terminal coupled to voltage VDD, and an output terminal coupled to an input terminal oftransmission gate 236.Transmission gate 236 is coupled to true clock signal (CPI) and complementary clock signal (CPN) opposite totransmission gate 234 so the output ofinverter 238 passes to the input terminals ofinverters - Note that in the example shown, the input to
slave latch 204 is inverted compared to the input toslave latch 202 to help provide immunity to common-cause faults such as signal integrity issues and power supply noise. In embodiments where the input to one of theslave latches slave latch 202 matches the state ofslave latch 204. In other embodiments where the input to one of theslave latches slave latch 202 does not match the state ofslave latch 204. In the other embodiments, the circuitry ofcomparator 206 will be rearranged to output a high signal when the state ofslave latch 202 does not match the state ofslave latch 204. - For
comparator 206 shown, P-channel transistor 244 has a source terminal coupled to supply voltage VDD, a gate terminal coupled to the output ofslave latch 204 and a drain terminal coupled to a drain terminal of N-channel transistor 246 and to the gate electrode of P-channel transistor 256. N-channel transistor 246 further has a gate terminal coupled to the output ofslave latch 204 and a source terminal coupled to a drain terminal of N-channel transistor 250. P-channel transistor 248 has a source terminal coupled to supply voltage VDD, a gate terminal coupled to the output ofslave latch 202 and a drain terminal coupled to the drain terminal of P-channel transistor 244 and to the gate electrode of P-channel transistor 256. N-channel transistor 250 further has a gate terminal coupled to the output ofslave latch 202 and a source terminal coupled to ground. P-channel transistor 252 has a source terminal coupled to supply voltage VDD, a gate terminal coupled to the output ofslave latch 202 and a drain terminal coupled to a source terminal of P-channel transistor 254. P-channel transistor 254 further has a gate terminal coupled to the output ofslave latch 204 and a drain terminal coupled to the drain terminal of P-channel transistor 256. P-channel transistor 256 has a source electrode coupled to supply voltage VDD, a gate terminal coupled to the drain terminals of P-channel transistors channel transistor 254. The output of comparator at the drain terminals of P-channel transistors slave latch 202 matched the output ofslave latch 204. If the outputs of slave latches 202, 204 do not match, a fault will be indicated bycomparator 206. -
FIG. 3 is a block diagram of an embodiment of fault bus 114 (and 116) that may be used in theprocessing system 100 ofFIG. 1 . The output terminal of one or more flip-flop units 110 can be coupled tofault bus fault bus respective resistor fault bus respective resistor channel transistor 328, 332 is coupled in series with a respective one ofresistors channel transistor 328, 332 is coupled to supply voltage VDD and a drain terminal of each P-channel transistor 328, 332 is coupled to a first terminal of a respective one ofresistors resistor resistors channel transistor 328, 332 is coupled to a respectivefault injection port bus - An input terminal to a
level shifter respective fault buses Level shifters flop units 110 coupled to arespective bus FIG. 1 ). Detection registers 314, 318 can be implemented with a set/reset latch circuit or other suitable device, with the output of thelevel shifter detection register 314, 318 is provided to fault collection andcontrol unit 104. - Note that all flip-
flop units 110 coupled to afault bus control unit 104 can report the problem and the fact that the problem is occurring in a specific component, such as aparticular processing core 102 or peripheral 106, tosystem control 108. If a reset or interrupt needs to be issued to correct the problem, the corrective action can be localized to thespecific core 102 or peripheral 106 to help minimize impact on the rest ofprocessing system 100. -
FIG. 4 is a layout diagram of an embodiment of an eight bit flip-flop unit 110 that may be used in theprocessing system 100 ofFIG. 1 . Flip-flop unit 110 includes a first section 402 with a first set of four master latches 200 coupled to a first set of four slave latches 202 (shown as ML/SL0, ML/SL1, ML/SL2, ML/SL3), a second set of slave latches 204 (shown as SL4, SL5, SL6, SL7), and a second set of comparators 206 (shown as COMP4, COMP5, COMP6, COMP7). Flip-flop unit 110 further includes a second section 404 with a second set of four master latches 200 coupled to a second set of four slave latches 202 (shown as ML/SL4, ML/SL5, ML/SL6, ML/SL7), a first set of slave latches 204 (shown as SL0, SL1, SL2, SL3), and a first set of comparators 206 (shown as COMP0, COMP1, COMP2, COMP3). - Slave latches SL2, SL3, SL6, SL7, comparators COMP2, COMP3, COMP6, COMP7, and master/slave latches ML/SL0, ML/SL1, ML/SL4, ML/SL5 are implemented using a first well 406, which is a doped region in a semiconductor substrate 400.
- Slave latches SL0, SL1, SL4, SL5, comparators COMP0, COMP1, COMP4, COMP5, and master/slave latches ML/SL2, ML/SL3, ML/SL6, ML/SL7 are implemented using a second well 408, which is another doped region in a semiconductor substrate 400 that is physically and electrically isolated from first well 406. The output of each
comparator 206 is coupled to a fault pin 410 centrally located between first and second portions 402, 404 of flip-flop unit 110. The fault pin 410 is coupled tofault bus 114. - Thus, slave latches SL2, SL3, SL6, SL7 and comparators COMP2, COMP3, COMP6, COMP7 are formed using first well 406 while corresponding master/slave latches ML/SL2, ML/SL3, ML/SL6, ML/SL7 are formed using second well 408. Conversely, slave latches SL0, SL1, SL4, SL5 and comparators COMP0, COMP1, COMP4, COMP5 are formed using second well 408 while corresponding master/slave latches ML/SL0, ML/SL1, ML/SL4, ML/SL5 are formed using first well 406.
- Using one of wells 406, 408 to implement one of the slave latches 204, and the other well to implement the
master latch 200 andother slave latch 202 increases the probability that both slave latches will not be affected by the same upset event. If both slave latches 202, 204 were implemented in the same well 406 or 408, they would be more likely to be affected by the same upset event. In embodiments where the input toslave latch 204 is not inverted, and a comparison between slave latches 202, 204 indicates they both have the same state, no error will be detected by the comparator even though both slave latches 202, 204 may have changed to an erroneous state during the upset event. In embodiments where the input toslave latch 204 is inverted, and a comparison between slave latches 202, 204 indicates they both have different states, no error will be detected by the comparator even though both slave latches 202, 204 may have changed to an erroneous state during the upset event. - Additionally, slave latches 204 can be positioned as far as possible from
master latch 200 andslave latch 202. For example, master latch and slave latch ML/SL0 are positioned in first portion 402 of substrate 400 and corresponding slave latch SL0 is positioned in the second portion 404 of substrate 400. COMP0 is also positioned in the second portion 404 of substrate 400 between master and slave latch ML/SL0 and slave latch SL0 to increase the physical distance between the slave latches 202, 204 to the greatest extent possible. -
FIG. 5 is a layout diagram of an embodiment of a four bit flip-flop unit 110 that may be used in theprocessing system 100 ofFIG. 1 . Flip-flop unit 110 includes afirst section 502 with a first set of two master latches 200 coupled to a first set of two slave latches 202 (shown as ML/SL2, ML/SL3), a second set of slave latches 204 (shown as SL0, SL1), and a second set of comparators 206 (shown as COMP0, COMP1). Flip-flop unit 110 further includes asecond section 504 with a second set of two master latches 200 coupled to a second set of two slave latches 202 (shown as ML/SL1, ML/SL0), a first set of slave latches 204 (shown as SL2, SL3), and a first set of comparators 206 (shown as COMP2, COMP3). - Slave latches 202, 204,
comparators 206, and master latches 200 are implemented using afirst well 506, which is a doped region in asemiconductor substrate 500. - The output of each
comparator 206 is coupled to afault pin 510 centrally located between first andsecond portions flop unit 110. Thefault pin 510 is coupled tofault bus 114. - Slave latches 204 can be positioned as far as possible from
master latch 200 andslave latch 202. For example, master latch and slave latch ML/SL0 are positioned infirst portion 502 ofsubstrate 500 and corresponding slave latch SL0 is positioned in thesecond portion 504 ofsubstrate 500. COMP0 is also positioned in thesecond portion 504 ofsubstrate 500 between master and slave latch ML/SL0 and slave latch SL0 to increase the physical distance between the slave latches 202, 204 to the greatest extent possible. - By now it should be appreciated that in some embodiments, a processing system (100) can include a processor core (102), a peripheral component (106), and a flip-flop unit (110) in at least one of the processor core and the peripheral component. The flip-flop unit can include a master latch (200), and two slave latches (202, 204) coupled to an output of the master latch. The first slave latch is formed over a first doped well region of a semiconductor substrate. The second slave latch (204) is formed over a second doped well region of the semiconductor substrate. A comparator (206) is coupled to an output of the first slave latch and to an output of the second slave latch. An output of the comparator indicates whether a state stored in the first slave latch is the same as a state stored in the second slave latch.
- In another aspect, the master latch can be formed over the first doped well region.
- In another aspect, the second slave latch can be positioned at a distance greater than a closest possible distance from the master latch.
- In another aspect, the first slave latch and the master latch can be positioned in a first standard cell and the second slave latch can be positioned in a second standard cell at a farthest possible distance from the first slave latch and the master latch.
- In another aspect, the system can further comprise a fault bus. The output of the comparator can be coupled to the fault bus.
- In another aspect, the flip-flop unit can further include a plurality of: master latches, first and second slave latches, and comparators, and the output from the comparator and a plurality of outputs from the plurality of comparators can be coupled to the fault bus.
- In another aspect, the fault bus can be coupled to a detection register with a level shifter to amplify the output from the comparator and the plurality of outputs from the plurality of comparators.
- In another aspect, the fault bus can be connected to end cap cells at both ends of a standard cell row.
- In another aspect, one of the end cap cells can include a pull-down device to enable wire-ORing of multiple fault signals, and the system can further comprise a controlled pull-up device to allow fault injection during testing.
- In another aspect, the system can further comprise a fault collection and control unit coupled to the fault bus. A fault indication is set when either the state stored in the first slave latch is not the same as the state stored in the second slave latch, and the output of the master latch is input to the second slave latch; or the state stored in the first slave latch is the complement of the state stored in the second slave latch, and the output of the master latch is inverted before being input to the second slave latch.
- In another aspect, the system can further comprise a system control unit coupled between the fault collection and control unit and the processor core, and between the fault collection and control unit and the peripheral. The fault indication from the fault collection and control unit can indicate a location of a fault and the system control unit can take corrective action based on the location of the fault indication.
- In other embodiments, a flip-flop unit (110) can include a plurality of master latches (200) formed over a first doped well region of a semiconductor substrate, and a plurality of first slave latches (202) coupled to an output of a respective one of the master latches. The first slave latch can be formed over the first doped well region. A plurality of second slave latches (204) can be coupled to the output of the respective one of the master latches. The second slave latch can be formed over a second doped well region of the semiconductor substrate. A plurality of comparators (206) can each be coupled to an output one of the plurality of first slave latches and to an output of one of the plurality of the second slave latches. An output of each of the comparators indicates whether a state stored in the one of the plurality of first slave latch is the same as a state stored in the one of the plurality of the second slave latch. The output of each of the comparators can be coupled to a fault bus.
- In another aspect, each of the plurality of the first slave latches and the master latches can be positioned in a respective first standard cell and each of the plurality of the second slave latches can be positioned in a second standard cell. The second standard cell can be at a farthest possible distance from the first slave latch and the flip-clop circuit.
- In another aspect, the fault bus can be coupled to a detection register with a level shifter to amplify the output from the outputs of the plurality of comparators.
- In another aspect, the fault bus can be connected to an end cap cell at one end and the end cap cell includes a pull-down device to enable wire-ORing of multiple fault signals, and the flip-flop unit can further comprise a controlled pull-up device to allow fault injection during testing.
- In another aspect, the plurality of comparators can be positioned between the plurality of master latches and the plurality of second slave latches.
- In another aspect, a first half of the plurality of master latches and first slave latches can be positioned in a first column (402) of a layout and a first half of the second slave latches can be associated with the first half of the plurality of master latches and first slave latches are in a second column (404) of the layout. A second half of the plurality of master latches and first slave latches are positioned in the second column of the layout and a second half of the second slave latches associated with the second half of the plurality of master latches and first slave latches are in the first column of the layout.
- In still other embodiments, a method can comprise storing an output from a master latch as a state in a first slave latch, and storing the output from the master latch as a state in a second slave latch. The first slave latch and the master latch can be implemented using a first doped well of a semiconductor substrate, and the second slave latch can be implemented using a second doped well of the semiconductor substrate. The state stored in the first slave latch can be compared to the state stored in the second slave latch. A fault indicator can be based on whether the state stored in the first slave latch matches the state stored in the second slave latch.
- In another aspect, the method can further comprise taking corrective action in a processing system component based on the fault indicator.
- In another aspect, the method can further comprise coupling a plurality of fault indicators to a fault bus, and level shifting the plurality of fault indicators to translate a reduced voltage level on the fault bus to a full voltage level.
- This disclosure is presented to enable one of ordinary skill in the art to make and use the present disclosure as provided within the context of a particular application and its requirements. Various modifications to the preferred embodiments will, however, be apparent to one skilled in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present disclosure is not intended to be limited to the particular embodiments shown and described herein, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed.
- Thus, it is to be understood that the architectures depicted herein are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. In an abstract, but still definite sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality.
- Also for example, in one embodiment, the illustrated elements of systems disclosed herein are circuitry located on a single integrated circuit or within a same device. Alternatively, the systems may include any number of separate integrated circuits or separate devices interconnected with each other. Also for example, a system or portions thereof may be soft or code representations of physical circuitry or of logical representations convertible into physical circuitry. As such, a system may be embodied in a hardware description language of any appropriate type.
- Furthermore, those skilled in the art will recognize that boundaries between the functionality of the above described operations merely illustrative. The functionality of multiple operations may be combined into a single operation, and/or the functionality of a single operation may be distributed in additional operations. Moreover, alternative embodiments may include multiple instances of a particular operation, and the order of operations may be altered in various other embodiments.
-
Processing system 100 is a computer system such as a personal computer system. Other embodiments may include different types of computer systems. Computer systems are information handling systems which can be designed to give independent computing power to one or more users. Computer systems may be found in many forms including but not limited to mainframes, minicomputers, servers, workstations, personal computers, notepads, personal digital assistants, electronic games, automotive and other embedded systems, cell phones and various other wireless devices. A typical computer system includes at least one processing unit, associated memory and a number of input/output (I/O) devices. - Although the present disclosure has been described in considerable detail with reference to certain preferred versions thereof, other versions and variations are possible and contemplated. Those skilled in the art should appreciate that they can readily use the disclosed conception and specific embodiments as a basis for designing or modifying other structures for carrying out the same purposes of the present disclosure without departing from the scope of the disclosure as defined by the appended claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/472,809 US9264021B1 (en) | 2014-08-29 | 2014-08-29 | Multi-bit flip-flop with enhanced fault detection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/472,809 US9264021B1 (en) | 2014-08-29 | 2014-08-29 | Multi-bit flip-flop with enhanced fault detection |
Publications (2)
Publication Number | Publication Date |
---|---|
US9264021B1 US9264021B1 (en) | 2016-02-16 |
US20160065185A1 true US20160065185A1 (en) | 2016-03-03 |
Family
ID=55275528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/472,809 Expired - Fee Related US9264021B1 (en) | 2014-08-29 | 2014-08-29 | Multi-bit flip-flop with enhanced fault detection |
Country Status (1)
Country | Link |
---|---|
US (1) | US9264021B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495648B1 (en) * | 2015-12-11 | 2016-11-15 | International Business Machines Corporation | Training a similar passage cognitive system using ground truth from a question answering cognitive system |
US10922203B1 (en) * | 2018-09-21 | 2021-02-16 | Nvidia Corporation | Fault injection architecture for resilient GPU computing |
US11217323B1 (en) | 2020-09-02 | 2022-01-04 | Stmicroelectronics International N.V. | Circuit and method for capturing and transporting data errors |
US11698833B1 (en) * | 2022-01-03 | 2023-07-11 | Stmicroelectronics International N.V. | Programmable signal aggregator |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4621345A (en) | 1984-12-17 | 1986-11-04 | International Business Machines Corporation | Soft error protection circuit for a storage cell |
US5610573A (en) | 1995-09-13 | 1997-03-11 | Lsi Logic Corporation | Method and apparatus for detecting assertion of multiple signals |
US5852569A (en) | 1997-05-20 | 1998-12-22 | Quality Semiconductor, Inc. | Content addressable memory multiple match detection circuit |
US6127864A (en) | 1998-08-19 | 2000-10-03 | Mission Research Corporation | Temporally redundant latch for preventing single event disruptions in sequential integrated circuits |
US6326809B1 (en) | 1999-09-27 | 2001-12-04 | University Of New Mexico | Apparatus for and method of eliminating single event upsets in combinational logic |
US6668341B1 (en) | 1999-11-13 | 2003-12-23 | International Business Machines Corporation | Storage cell with integrated soft error detection and correction |
CA2310295C (en) | 2000-05-31 | 2010-10-05 | Mosaid Technologies Incorporated | Multiple match detection circuit and method |
US6549443B1 (en) * | 2001-05-16 | 2003-04-15 | Rockwell Collins, Inc. | Single event upset resistant semiconductor circuit element |
US20030058017A1 (en) | 2001-09-21 | 2003-03-27 | Humphrey Guy Harlan | Alpha strike-insensitive latch design |
US8185812B2 (en) | 2003-03-20 | 2012-05-22 | Arm Limited | Single event upset error detection within an integrated circuit |
US6825691B1 (en) | 2003-06-05 | 2004-11-30 | International Business Machines Corporation | Apparatus and method for a radiation resistant latch with integrated scan |
US7907461B1 (en) | 2008-03-03 | 2011-03-15 | Xilinx, Inc. | Structures and methods of preventing an unintentional state change in a data storage node of a latch |
US8171386B2 (en) | 2008-03-27 | 2012-05-01 | Arm Limited | Single event upset error detection within sequential storage circuitry of an integrated circuit |
US8161367B2 (en) * | 2008-10-07 | 2012-04-17 | Arm Limited | Correction of single event upset error within sequential storage circuitry of an integrated circuit |
US8402328B2 (en) * | 2009-07-24 | 2013-03-19 | StarDFX Technologies, Inc. | Apparatus and method for protecting soft errors |
EP2854292B1 (en) * | 2013-09-30 | 2016-04-20 | Nxp B.V. | Variability resistant circuit element and signal processing method |
-
2014
- 2014-08-29 US US14/472,809 patent/US9264021B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9264021B1 (en) | 2016-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guo et al. | Design of area-efficient and highly reliable RHBD 10T memory cell for aerospace applications | |
Guo et al. | Novel low-power and highly reliable radiation hardened memory cell for 65 nm CMOS technology | |
Omaña et al. | High-performance robust latches | |
US20120275236A1 (en) | Method and Apparatus for Power Domain Isolation during Power Down | |
US7546519B2 (en) | Method and apparatus for detecting and correcting soft-error upsets in latches | |
US20070011513A1 (en) | Selective activation of error mitigation based on bit level error count | |
US20190171536A1 (en) | Data processing system having lockstep operation | |
US10024916B2 (en) | Sequential circuit with error detection | |
Guo et al. | Design and evaluation of low-complexity radiation hardened CMOS latch for double-node upset tolerance | |
US8301970B2 (en) | Sequential circuit with error detection | |
US9264021B1 (en) | Multi-bit flip-flop with enhanced fault detection | |
US9378098B2 (en) | Methods and systems for redundant data storage in a register | |
Liang et al. | Design of a radiation hardened latch for low-power circuits | |
US9559671B1 (en) | Devices and methods with capacitive storage for latch redundancy | |
KR100816130B1 (en) | System and method for automatically-detecting soft errors in latches of an integrated circuit | |
US8847621B2 (en) | Single event transient and upset mitigation for silicon-on-insulator CMOS technology | |
US7529118B2 (en) | Generalized interlocked register cell (GICE) | |
US20090230988A1 (en) | Electronic device having logic circuitry and method for designing logic circuitry | |
Eftaxiopoulos et al. | Low leakage radiation tolerant CAM/TCAM cell | |
US20090249174A1 (en) | Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage | |
CN107293323B (en) | Write operation tracking circuit and memory including the same | |
US20070250755A1 (en) | Dormant error checker | |
US6622267B1 (en) | Method and apparatus for detecting multi-hit errors in cache | |
US20200050734A1 (en) | Apparatuses having diversified logic circuits and methods thereof | |
US11686769B1 (en) | Signal toggling detection and correction circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JARRAR, ANIS M.;BOYER, JOHN M.;GEORGE, SAJI;AND OTHERS;REEL/FRAME:033638/0711 Effective date: 20140829 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YORK Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:034160/0351 Effective date: 20141030 Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YORK Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:034160/0370 Effective date: 20141030 Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YORK Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:034153/0027 Effective date: 20141030 Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:034153/0027 Effective date: 20141030 Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:034160/0370 Effective date: 20141030 Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:034160/0351 Effective date: 20141030 |
|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037357/0921 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037458/0502 Effective date: 20151207 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037458/0460 Effective date: 20151207 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SUPPLEMENT TO THE SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:039138/0001 Effective date: 20160525 |
|
AS | Assignment |
Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001 Effective date: 20160912 Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001 Effective date: 20160912 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040928/0001 Effective date: 20160622 |
|
AS | Assignment |
Owner name: NXP USA, INC., TEXAS Free format text: MERGER;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:041144/0363 Effective date: 20161107 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:050744/0097 Effective date: 20190903 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052915/0001 Effective date: 20160622 |
|
AS | Assignment |
Owner name: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052917/0001 Effective date: 20160912 |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20200216 |