EP3161691A1 - Procédé de fabrication automatisée d'un circuit électronique adapté pour détecter ou masquer des fautes par redondance temporelle, programme d'ordinateur et circuit électronique associés - Google Patents
Procédé de fabrication automatisée d'un circuit électronique adapté pour détecter ou masquer des fautes par redondance temporelle, programme d'ordinateur et circuit électronique associésInfo
- Publication number
- EP3161691A1 EP3161691A1 EP15753710.1A EP15753710A EP3161691A1 EP 3161691 A1 EP3161691 A1 EP 3161691A1 EP 15753710 A EP15753710 A EP 15753710A EP 3161691 A1 EP3161691 A1 EP 3161691A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- memory
- block
- circuit
- data
- 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.)
- Withdrawn
Links
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
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- 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
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
Definitions
- the present invention relates to the field of electronic digital circuits adapted to detect or mask faults.
- a first technique is the triple modular redundancy or TMR (in English “Triple Modular Redundancy"), in which the hardware elements of an electronic circuit are tripled, the same input data are provided in parallel with each of the triplet components, and voting modules associated with these triplet components select as the result provided by the component triplet the common result provided in parallel by at least two of the components.
- TMR triple modular redundancy
- voting modules associated with these triplet components select as the result provided by the component triplet the common result provided in parallel by at least two of the components.
- a second technique is time redundancy, typically triple time redundancy (TTR), in which the same input data is provided three times in succession to the same hardware component that delivers three results, and voting modules associated with the component select as a result. provided by the component the result provided at least twice by the component among the three results.
- TTR triple time redundancy
- the present invention more particularly relates to this second technique, and in particular to a method of automated synthesis of an electronic circuit adapted to detect or hide faults by time redundancy, said method comprising a computer implemented step, according to which to implement a memory cell function of the electronic circuit is inserted in the electronic circuit a memory block comprising a delay chain comprising N series memory cells, N ⁇ 2, and a selection block (voter / detector) which, in a mode of operation corresponding to a time redundancy of order n1, involving n1 reruns, n1e [1, N], compares the current contents of the n1 memory cells storing n1 redundant input data successively supplied to the memory block, and if n1> 2, selects as output data of the memory cell function, the majority content of the n1 memory cells and optionally additionally delivers a fault signal if the contents of two memory cells differ;
- n1 1, delivers as output data of the memory cell function, the contents of the memory cell determined.
- US 7,200,822 B1 is an example of circuits with triple time redundancy and more. The technique described therein, however, decreases the processing rate of the circuit.
- the invention proposes a method of automated synthesis of an electronic circuit adapted to detect or mask faults by time redundancy of the aforementioned type, characterized in that a control block of the above-mentioned type is furthermore inserted.
- circuit adapted to transmit control signals of the memory blocks, and in that the inserted memory block is adapted to switch, according to a toggle command signal received from the control block, between said operating mode corresponding to a temporal redundancy of order n1 and another mode of operation corresponding to a time redundancy of order n2 e [1, N] according to which the circuit performs n2 reruns, n2 ⁇ n1, in which the selection block compares the current content of n2 determined cells among the N memory cells storing n2 redundant input data successively supplied to the memory block, and:
- n2> 2 selects as output data of the memory cell function, the majority content of said n2 memory cells
- n2 2
- n2 2
- n2 1
- the invention makes it possible to dynamically adapt the compromise between the corrections / fault detections and the output rate of the circuit.
- the dynamic adaptation of the level of temporal redundancy implemented according to the invention makes it possible in particular to adapt the operation of the circuit manufactured according to the invention to the fluctuations of the radiation in the environment of the circuit.
- Such dynamic temporal redundancy makes it possible in particular to obtain circuits masking an error using means equivalent to a double temporal redundancy instead of triple.
- the principle is to take advantage of the K clock cycles following the occurrence of a fault during which, hypothetically, no new fault will occur.
- the circuit switches to non-redundant mode to make a third execution of the erroneous calculation, without the flow observed at the output of the circuit changing ( see “Combining Dual Dynamic Time Redundancy and Rewind Recording” below).
- the automated synthesis method of a temporally redundant fault tolerant electronic circuit further comprises one or more of the following features:
- the inserted memory block furthermore comprises, when N> 2, an additional delay block disposed at the output of the delay chain and comprising at least
- the operating mode switching command according to a time redundancy of order 2 to the operating mode according to a time redundancy of order 1, and vice versa is triggered following the reception by the control block of a signal of fault issued by one of the memory blocks;
- the second cell of the delay chain stores, at each clock cycle of the circuit, the content stored in the previous clock cycle, in the first cell of the delay chain
- the inserted memory block further comprises a chain for receiving, on receiving a control signal from the control block, storing the input signal value of the memory block also supplied in parallel with the first cell of the delay chain, and in the according to a redundancy of order 2, the recording control signal is output every two cycles so that when redundant data stored in the two memory cells of the delay chain are compared by the selection block, the last cell of the recording chain contains in memory the data which were stored two cycles previously in each of the two memory cells of the delay chain ;
- control block supplies the memory block with a command backward response following which the memory block delivers as output data of the memory cell function, the current contents of the last cell of the recording string;
- the input block in the mode of operation according to a second order temporal redundancy, storing the current external data item received and also supplying the circuit with said current external data received and, the input block, with the mode of reception. operation according to a first order time redundancy, providing the circuit with successive non-redundant external data previously stored by the input block to allow a third execution of these data by the circuit;
- an output block of the circuit receiving the data output by the circuit, said output block, in the operating mode according to a time redundancy of order 2, storing the data delivered by the circuit and applying a given delay before delivering them, and the output block, in the mode of operation according to a temporal redundancy of order 1, delivering without delay the data delivered by the circuit, duplicating data delivered by the circuit and delivering the duplicate data,
- the fault recovery by the circuit is thus masked vis-à-vis the upstream circuit and downstream of the circuit by said input and output blocks.
- the present invention proposes a computer program to be installed in an automated manufacturing tool of an electronic circuit adapted to detect or hide faults by time redundancy, said program comprising instructions for implementing the steps of FIG. a method according to the first aspect of the invention during execution of the program by processing means of the automated electronic circuit manufacturing tool.
- the present invention proposes an electronic circuit adapted to detect or mask faults by time redundancy comprising a set of memory block (s), each memory block of said set comprising a delay chain comprising N memory cells in memory. series, N ⁇ 2, and a selection block which, in an operating mode corresponding to a time redundancy of order n1, n1 e [1, N], compares the current contents of n1 of said N memory cells storing n1 data d redundant inputs successively supplied to the memory block, and if n1> 2, selects as output data from the memory cell function, the majority content of the n1 memory cells and optionally additionally delivers a fault signal if the contents of two memory cells differ;
- n1 1, delivers as output data of the memory cell function, the contents of the memory cell determined;
- said electronic circuit being characterized in that it comprises a control block of the circuit adapted to transmit control signals of said memory blocks, and in that each of said memory blocks is adapted to, according to a failover control signal received from the control block, switch between said operating mode corresponding to a time redundancy of order n1 and another operating mode corresponding to a time redundancy of order n2 e [1, N], n2 ⁇ n1, in which the selection block compares the current contents of n2 determined cells, among said N memory cells, storing n2 redundant input data successively supplied to the memory block, and:
- n2> 2 selects as output data of the memory cell function, the majority content of said n2 memory cells
- n2 2
- n2 2
- n2 1, delivers as output data of the memory cell function, the contents of the memory cell determined.
- FIG. 7 is a representation of a digital circuit before transformation according to the invention.
- Figure 2 is a view of an automated synthesis tool of fault-tolerant electronic circuits in one embodiment of the invention
- Figure 3 is a view of a digital circuit after transformation in an embodiment of the invention
- Figure 4 is a view of a memory block of Figure 3 in one embodiment of the invention
- FIG. 5 is a view of the memory block of FIG. 3 in one embodiment of the invention corresponding to a dual dynamic time redundancy
- FIG. 6 is a view of the memory block of FIG. 3 in one embodiment of the invention corresponding to a triple dynamic time redundancy
- Figure 7 shows an example of voter used in Figure 6
- Figure 8 is a view of a memory block of Figure 3 having a recording / reverse mechanism in one embodiment of the invention
- Fig. 9 is a view of a memory block of Fig. 3 in an embodiment of the invention combining dual dynamic time redundancy and back-up / recording mechanism features;
- FIG. 10 is a view of a digital circuit in one embodiment of the invention corresponding to a dual time redundancy with backtracking
- Fig. 11 shows an input buffer in one embodiment of the dual dynamic redundancy with backtracking invention
- Fig. 12 shows an output buffer in one embodiment of the dual dynamic redundancy with backtracking
- Fig. 13 is a view of a finite state machine of a control block in an embodiment of the invention of double reverse dynamic redundancy
- Figure 14 shows steps of a method in one embodiment of the invention
- Figure 15 depicts steps of an integrated circuit design flow in one embodiment of the invention.
- FIG. 7 is a general representation of a digital circuit 10, comprising a combinational part 77 and a sequential part 72, driven by a clk clock signal.
- the combinatorial part 77 comprising combinatorial gates AND, OR, NOT, etc., performs a Boolean function without memory ⁇ .
- the sequential part 72 comprises memory cells or Flip-Flops (FF) which each memorize a bit, or Flip-Flops (FF) intended to memorize the data delivered by the combinatorial part 77.
- a memory cell 73 is represented in FIG. It receives on an input wire D a signal IF and delivers on an output wire Q an output signal SO (note that here a flip-flop of type D is described, but the invention is of course applicable to any type of memory cell).
- the digital circuit 10 takes as input a primary input bit vector PI and outputs a primary output bit vector PO at each clock cycle.
- the input bit vector, respectively the output bit vector, of the combinatorial part 77 is denoted by Cl or CO respectively.
- v the value of the bit vector v at my clock cycle in the circuit.
- v any component of the bit vector v.
- the fault models considered are of the form "at most m transient singular effects (SET) every K clock cycles", denoted SET (m, K). This includes the direct SEUs of a memory cell and the SEUs resulting from a SET in the combinatorial part. According to the SET (1, K) fault model, there is no fault occurrence in the clock cycles following the last fault occurrence.
- a SET in the combinatorial portion 77 of a circuit may lead to non-deterministic corruption of any connected memory cell (by a purely combinatorial path) at the location where the SET occurred.
- a SET in the combinatorial portion 77 to a cycle / ' may cause output corruption (s) in POi and input (s) in Sh, which then causes the corruption of memory cells in the sequential portion 72. last corruption is visible in the clock cycle
- a SET can happen on any wire of the circuit (connections between logic gates, memory cells, inputs, outputs).
- FIG. 2 represents a tool 1 for automated synthesis of fault-tolerant electronic circuits in one embodiment of the invention.
- This tool 1 comprises a microprocessor 2 and a memory 3.
- a program of software instructions P is stored which, when it is executed by the microprocessor 2, is adapted to implement the steps indicated below. automatic transformation of the design of the circuit.
- Such a tool 1 is adapted for, from a description of a digital circuit of the type of logic gate network (in English "netlist”) comprising AND, OR, NOT and memory cells or Flip-Flops, perform a stage of automatic transformation of the design of the circuit to obtain a transformed circuit, then to manufacture a circuit FGPA or an ASIC circuit from the transformed circuit in netlist form.
- logic gate network in English "netlist”
- netlist the type of logic gate network
- Such a tool 1 is adapted for, from a description of a digital circuit of the type of logic gate network (in English "netlist”) comprising AND, OR, NOT and memory cells or Flip-Flops, perform a stage of automatic transformation of the design of the circuit to obtain a transformed circuit, then to manufacture a circuit FGPA or an ASIC circuit from the transformed circuit in netlist form.
- the lowercase vectors for example pi, po, represent the signals in a digital circuit transformed by the digital circuit fabrication tool that correspond to the uppercase letter vectors, for example PI, PO. They satisfy the same equalities (1) indicated above.
- the tool 1 implements an automatic transformation step 100 of the circuit design to obtain a fault-tolerant circuit by dynamic temporal redundancy.
- a circuit as obtained after transformation is adapted to switch, without any interruption of calculation, from an operating mode according to a time redundancy of order n to an operating mode according to a time redundancy of order m, with n ⁇ m , following a mode switching control signal indicating the transition from the order n to the order m, which allows a dynamic compromise between the flow rate and the fault tolerance.
- the tool 1 replaces each input memory cell 13, output S0, and provided in the original circuit, with a memory block 14 of input S1 and output N0 and additionally a control block 15 which generates control signals, as represented by the modules 12 and 15 of FIG.
- the memory block 14 implements a dynamic temporal redundancy mechanism adapted to mask and / or detect faults caused by SETs in at least one of the operating modes of the memory block 14.
- the memory block 14 is adapted to switch during operational operation.
- control block 15 determines the control signals of the memory block 14 in particular according to the order n of the time redundancy currently selected for the circuit. It is implemented for example using a finite state machine, for example itself protected by TMR.
- n mode is defined as the mode of operation with time redundancy of order n (n natural number):
- the input flux PI of the circuit is oversampled n times and noted pi, the flow rate of the initial circuit is n times greater than the flow rate of the transformed circuit;
- the memory block 14 is adapted to detect or hide up to ⁇ [-] faults
- [E] represents the function "integer part") when n is greater than or equal to 2, as a function of comparisons between them, all the n clock cycles, of the n data successively stored by the memory block and corresponding to the n if redundant input signals (in the case of a fault mask, the output data selected by the memory block is the majority data among the n compared data).
- a memory block 14 includes a dynamic delay pipeline, an additional delay line and a voter / detector.
- the dynamic delay pipeline is adapted to, in an n-order time redundancy mode, storing n successive signals supplied at the input of the memory block. It is adapted to dynamically modify its delay function n as a function of control signals transmitted by the control block 15.
- the additional delay chain is suitable for, in a mode of n - ⁇
- the memory block 14 comprises a voter / detector adapted to determine n decisions of the type masking or / and detection of faults, successive n-mode time redundancy mode, according to data stored in the pipeline and / or in the line additional delay.
- a memory block 14 is shown in one embodiment, in FIG. 4.
- the dynamic delay pipeline 76 has N (N ⁇ 2) memory cells 13 arranged in cascade and N-2 multiplexers 20 (it should be noted that other implementations are possible: for example, one could not use multiplexers 20 and change the voter / detector to select cells to compare / vote.
- the N successive memory cells are named respectively di, d 2 , d N -
- a multiplexer 20 is disposed between each cell d, and each cell d i + 1 , ⁇ e [1, N-2] (when N> 2).
- the cell di has for signal input the signal if.
- the cell d N has for its input signal the output signal of d N-1.
- the output of each cell d 1, ie [1, N-2], is delivered to the input 0 of the multiplexer 20 placed between each cell d, and each cell dj + i.
- the signal if is delivered to the input 7 of the multiplexer 20 disposed between each cell d, and each cell d i + i.
- the output of the multiplexer 20 disposed between the cells d, and d i + i cell d ,, ie [1, N-2] is delivered to the input of the cell d i + i.
- a control bus indicates to each multiplexer 20, that of its inputs 0 and 7 to be output from the multiplexer 20 (if the signal of the control bus modeS is equal to 7: 1 input 7, receiving if is outputted from the multiplexer, if the signal of the control bus modeS is equal to 0: the input 0, receiving the output of the previous cell, is output from the multiplexer).
- modeS indicates to each multiplexer 20, that of its inputs 0 and 7 to be output from the multiplexer 20 (if the signal of the control bus modeS is equal to 7: 1 input 7, receiving if is outputted from the multiplexer, if the signal of the control bus modeS is equal to 0: the input 0, receiving the output of the previous cell, is output from the multiplexer).
- This known operation of a multiplexer is also that of the other multiplexers described below and therefore will not be recalled systematically.
- the modeS control signals are a function of the selected time redundancy mode. not - ⁇
- the input of d ⁇ is fed by the output of d N.
- the input of of y + 1 is fed by the output of d, with j ⁇ 1.
- the contents of these cells are provided on the n - ⁇
- the voter / detector 18 is adapted to determine the output signal so as a function of redundant data present on the dataA and dataB buses and to make mask decisions and / or error detection in the order n current time redundancy. In a masking decision, the voter / detector compares the entries supplied to him and selects as signal n the majority value among these entries.
- the signal if is supplied at the input of the cell D N - by control of the multiplexers 20 (in other embodiments, for example without multiplexer 20, it is provided to each cell). It is the content of the cell d N- i which is delivered as signal n0 by the voter / detector 18 (thus the signal SO at the cycle / is the signal supplied at the input of the memory block 14 at the cycle i-1).
- the signal if is supplied at the input of the cell d N .i to an even cycle 2 /; in the cycle 2 ⁇ + 1, the signal if redundant is in turn provided at the input of the cell d N -i while the output of the cell d N -i is provided at the input of the cell d N.
- the voter / detector 18 provides as a signal so the content of d N each cycle. It compares, in cycle 2 / ' , the data (derived from redundant input data) stored in the memory cells N .i and d N after they have been inputted from memory block 14 to cycle 2 ⁇ -1.
- the cells d N. 2 , d N-1 and d N are used as well as, similarly to the respective cells d, d ', d "and s of Figure 6 whose operation is described below.
- the same input data are provided n times to the combinatorial part 11 of the circuit which recalculates the same result n times, which is then found gradually saved in the n memory cells dd 2 , a n n pipeline 16. These results represent the current redundant set of redundant results
- the voter / detector 18 makes a first decision based on these n results which are inputted to it on the dataA bus. Then the redundant data at the output of the cell d N are successively stored in the additional delay line 17,
- the decision maker / voter makes n-1 decisions on the redundant results of the current game stored in the memory cells of the pipeline 16 and the additional delay line 17 via the dataA and dataB data buses. So to me (i ⁇ n) the next cycle, the decision relates to the majority value from (or) redundant results
- n-1 redundant results of the following set of redundant results are contained in the N cells. n + i and d N -i-
- the fetchA control signals indicate at each clock cycle, according to the currently selected time redundancy order, that (s) of the outputs of the memory cells on dataA buses, dataB, that the voter / decision-maker 18 must consider in his current decision.
- a circuit is produced with alternative modes of operation 2 and 5, which thus detects a single SET (mode 2), or masks up to two SETs ( mode 5).
- the modeS, fetchA control signals are determined by the control block 15, in particular according to the selected time redundancy mode and the current cycle.
- a temporal mode change is made automatically or not, for example when crossing a radiation threshold in the environment of the circuit or following the occurrence of a fault.
- the modules interfaced to the circuit must adapt to the redundancy order changes, in particular the level of oversampling must follow the redundancy order.
- the memory block 140 replacing each memory cell provided in the original circuit, comprises a pipeline 16 comprising the cells d and d ', respectively corresponding to the cells of N- i, d N of Figure 4 and a voter / detector 18.
- the voter / detector 18 comprises a multiplexer 21 and a comparator 22.
- the multiplexer 21 has two inputs 0 and 1.
- the output signal so of the memory block is the output signal of the multiplexer. It is equal to either input 1 or input 0 depending on the modeS control signals.
- the output of the cell is supplied as input 7 of the multiplexer 27.
- the bit s / is given at the input of the cell d.
- the voter / detector 18 provides as signal each cycle the content of d.
- the multiplexer 27 is controlled by the modeS signal emitted by the control block 75, so that its output, Le., The signal so, is always equal to the input 7 of the multiplexer.
- the value of the signal fail returned by the comparator 22 is not significant to the odd cycles, since then d and d do not contain redundant data.
- a signal value fail equal to 7 signals the detection of an error in the redundancy of the data then stored in d and d', Le., Supplied at the input of the memory block 740 in cycles 2 / and 2 / '-7.
- N 3
- the memory block 141 replacing each memory cell provided in the original circuit includes a pipeline 16 having the cells d, d 'and d ", respectively corresponding to the cells of N. 2, d N - d N of FIG. 4, the additional delay line 13 and a voter / detector 18.
- a multiplexer 20, comprising two inputs 0 and 1, is arranged upstream of the input of the cell.
- the input of d is the output of the multiplexer 20.
- the multiplexer 20 receives on its input 1 the signal if and on its input 0 the output of the cell d.
- the additional delay line 13 comprises a memory cell corresponding to the cell shown in FIG.
- the voter / detector 18 comprises two multiplexers 23, 23 'and a voter 24.
- the input bit stream of the original PI is oversampled 3 times:
- the control signal modeS is equal to 0.
- the cell s stores the redundant value stored in the specific cycle in d"
- the vote in the specific cycle 3 / ' -2 is carried out on the contents of the cells d, d' and d "and the vote is made instead on the contents of the cells d, d" and s the following two cycles, selecting the majority value among these three contents.
- control signal modeS is therefore set to 7 by the control block 15 in this mode.
- the fetchA signal is set equal to 1.
- the output bit stream of the combinational part co after the transformation 100 of the circuit is the output stream CO of the original circuit oversampled twice:
- a new value on is supplied to d and d, then the next cycle is propagated to d while redundant data of value a is again provided on if d and d '.
- control signal modeS is therefore set to 7 by the control block 15 in this mode.
- the fetchA signal is set equal to 1.
- n 1
- the circuit does not have fault detection or fault masking properties.
- the triple dynamic time redundancy according to the invention makes it possible to mask the SETs of the SET model (1, K) for any K greater than 4 cycles.
- the tool 1 implements a step of automatic transformation 101 of the design of the circuit to obtain a circuit with a mechanism of recording of the state of the circuit, this recording being triggered by a control signal named save, and furthermore provided with a feedback mechanism of the state of the circuit in the state thus recorded, this backtrack being triggered later by a command signal named rollBack.
- the tool 1 replaces each input memory cell 13 if, so output and provided in the original circuit shown in FIG. 1, by an input memory block 30 if and output so as shown in Figure 8, and further adds a control block which generates control signals save and rollBack.
- the memory block 30 comprises a memory cell 13 receiving on its input D a signal if, delivering on its output Q a signal to the input 0 of a multiplexer mux.
- the memory block 30 further comprises a recording block 29 adapted to record the signal if it is input to it when a signal save equal to 1 is addressed to it. The signal, if so recorded by the record block, is supplied at input 1 of the multiplexer mux.
- the record block 29, in this case, comprises a memory cell 31, named copy.
- the memory cell 31 stores, when a signal save equal to 1 is provided on its input E (enable), the signal if supplied to it on its input D, in parallel with its supply on the input D of the cell 13 When save is equal to 0, the signal if is not stored in the memory cell copy 31.
- the Q output of the copy cell 31 is provided at input 1 of the mux multiplexer.
- the mux multiplexer delivers at its output the signal so.
- the signal so is equal to the input 0 of the multiplexer when rollBack is equal to 0 and is equal to the input 1 of the multiplexer 31 when rollBack is equal to 1.
- the same signal save at 1 supplied to the cycle / to the set (or to a subset) of the memory blocks 30 of the circuit makes it possible to record in the cells copy 31 the current state of the cells 13 of the circuit to the cycle / ' . This state remains stored as long as a new save signal at 1 is not supplied.
- Such a circuit is adapted to mask errors using only a level 2 time redundancy instead of a level 3 time redundancy.
- the tool 1 replaces each memory cell 13, of the input if and of the output so, provided in the original circuit represented in FIG. 1, by a memory block 40, of input si and output so as shown in Figure 9, and further adds a control block 15 which generates control signals save and rollBack.
- FIG. 1 A view of the transformed circuit resulting from this transformation is shown in FIG.
- Such a transformation involves the implementation of double oversampling means of the primary inputs of the circuit which, in the embodiment under consideration, are always activated independently of the value of the active redundancy order, the addition of buffer memories of input to all the primary inputs PI of the initial circuit, and finally the addition of output buffers to all the primary outputs PO of the initial circuit.
- ⁇ p (c / ' ) is computed twice, the results are compared and if an error is detected, ⁇ p (c / ' ) is computed a third time, thanks to the contents of the input buffers.
- the memory block 40 thus comprises cells d and d arranged in series to save redundant data. It furthermore comprises an EQ comparator comparing the contents of the cells d and the emission of a signal fail indicating the result of the comparison.
- the memory block 40 further comprises a recording block 29 adapted to store the signal if it is input to it when the control signal save is set to 1.
- the output of the recording block is supplied to the input 1 the muxA multiplexer, while the output of the cell d is provided on the input 0 of the multiplexer muxA.
- the muxA multiplexer is controlled by the signal save as well.
- the recording block 29 has the cells r and r 'arranged in series, the signal if supplied at the input D of the cell r, the output Q of the cell r is supplied at the input D of the cell r ', the output Q of the cell r' is the output of the recording block 29.
- the storage by the cells r and r 'of the signal supplied to them on their input D takes place only when the signal save command provided on their input £ is set to 1.
- a muxB multiplexer receives at its input 1 the mu output of the multiplexer muxA and receives on its input 0 the output of the cell.
- the muxB multiplexer is controlled by the rollBack control signal.
- the operating mode is a time redundancy of order 2 and the output of the memory block so is equal to the contents of the cell of .
- the operating mode is without time redundancy (i.e., of order 1).
- the output of the memory block so is equal to the content of the cell d when save is equal to 0 and the output of the memory block so is equal to the output of the recording block, ie, in the embodiment considered to the content of the cell r 'when save is equal to 1.
- the recording block 29 makes it possible to memorize the value of if during 4 clock cycles and to allow the circuit to reposition itself on this memorized value in the event of error detection.
- an input buffer 50 is further inserted after each primary input P1 of the original circuit for storing the last two bits of the input stream (each input corresponds to a component of the vector pi).
- This input buffer 50 shown in FIG. 11 in one embodiment, is implemented by a pipeline of two memory cells b and b ', pi denotes the primary input of the original circuit.
- the control signal rB is set to 1 by the control block during the recovery phase, after an error detection performed by the comparator EQ during an odd cycle.
- the vector ci thus comprises the vector p / ' which comes from the input buffers and the vector so from the repositioned memory blocks. If the error is detected at the cycle / ' , then the backspace is performed at cycle i + 1 and the vector ⁇ / ' ,. _ 1 ® n, -i is supplied to the combinatorial portion, exactly the input vector already provided two cycles previously.
- the recovery phase (mode without temporal redundancy) disturbs the flow of the vectors co of the circuit relative to the normal operating mode (mode of redundancy of order 2).
- an output buffer is inserted before each primary output po (each output po corresponds to a component of the vector po).
- Such an output buffer 60 is shown in one embodiment in FIG. 72.
- the signal co comes from the combinatorial part 77.
- the buffer memory 60 is adapted to be tolerant to a SET occurring in the buffer memory 60 or its outputs. .
- the primary outputs are tripled: poA, poB and poC are the primary outputs of the transformed circuit corresponding to the primary output po of the initial circuit.
- Output buffers ensure that at least two of the tripled outputs are correct on every even cycle.
- the surrounding circuit can read these outputs in the even cycle and vote on these outputs read to hide any SET.
- other output blocks eg, ignoring faults in the outputs
- other interface specifications could be used.
- Tables 7 and 2 below illustrate a case fault detection cycle /.
- a vector v corrupted by any number of corrupted bits is noted ⁇ v.
- ( ⁇ -) indicates a data substitution performed by the muxAs, muxBs, muxCs, muxDs multiplexers of an output buffer 60.
- the control signals save, rollBack, rB and subst are generated by the control block 15 to implement the functionality of the transformed circuit during the normal operating mode and the recovery phase.
- the input of the control block 15 is the fault detection signal fail (disjoint fail signals come from the different memory blocks 14 and the output buffer memories 60)
- Fig. 13 shows the finite state machine (FSM) of the control block 15 in one embodiment of the invention.
- FSM finite state machine
- the sign indicates the action of assigning a value to a signal, for example if a signal fail is detected equal to 1, we assign the value 1 to the signals rB, save, rollBack and subst during the next cycle.
- all the control signals transmitted by the control block 15 and not mentioned during a change of state are set to 0.
- the states norm1 and norm2 correspond to the normal operating mode, which gives rise to the setting at 1 alternating of the signal save.
- the control block 15 itself is not protected against the SETs by time redundancy. In one embodiment, it is protected by TMR.
- the values taken by the control signals in the different states are shown in Tables 1 and 2.
- the operating mode of the circuit is the normal operating mode (2nd order redundancy mode).
- the value of the rollBack control signal is always set to 0 by the control block 15.
- Property 1 first of all, the output bit stream co of the combinatorial part 11 after the transformation of the circuit is a double oversampling of the bit stream CO of the original circuit.
- the error detection corresponds to a determination of a violation of this property 2 by the comparator EQ.
- the circuit backtracks during the cycle following the fault detection, then performs three consecutive cycles during which the second order time redundancy in the memory blocks is replaced by a mode without time redundancy and by application by the control block 15 of the sequence of the save, rollBack, subst and rB control signals shown in FIG. 13 between the "error" state until it returns to the "norm2" state.
- Table 1 contains the values of the bit vectors in the transformed circuit cycle by cycle when a fault is detected at the cycle / ' .
- the behavior of the circuit in normal mode ie, in the absence of fault is indicated in Table 1a.
- the principle of backtracking is that the memory blocks 40 re-inject the last state saved in the cells r '(vector si) while the input buffers reinject the corresponding primary inputs (vector pi) stored therein.
- the contents of the memory cell d are propagated directly through the outputs so of each memory block 40, by short-circuiting the memory cells of. This is implemented by setting the rollBack control signal to 1, keeping the save signal at 0 which controls the muxA and muxB multiplexers appropriately. This is of no consequence since the SET fault pattern (1, K) ensures that no additional fault occurs during K cycles after a SET.
- the architectures of the output buffers are simplified, the main function being maintained: implement a delay on the signal co in normal operating mode with a mechanism for propagating co to po during the recovery phase.
- a circuit converted according to this embodiment of the invention realizes the propagation of the signal through the combinational part of the circuit twice before the comparison, with a backtracking and replaying when an error is detected.
- a SET fault model (1, K) no error occurring in the cycles after the last fault occurrence, the level 2 redundancy mechanism is then removed and the circuit is accelerated twice. It returns to its correct state (Le., The state of the circuit if no error had occurred) after 8 cycles after detection or 10 cycles after the occurrence of the SET.
- FIG. 14 represents steps of a method of automated manufacturing of a fault tolerant electronic circuit by time redundancy, which is implemented in one embodiment of the invention.
- step 90 of choosing the required transformation and the type of dynamic redundancy (redundancy level, modes of operation and fault tolerance properties);
- step 700 of transforming the memory blocks of the original circuit into memory blocks for implementing the dynamic redundancy chosen comprising:
- step 101 generation of the memory block
- step 102 replacing each memory cell of the original circuit by the memory block generated in the circuit design;
- Ni / step 103 generation of the control block (and for the double dynamic redundancy with backtracking, input and output buffers);
- iv / step 104 insertion of the control block (and in the case of double dynamic redundancy with backtracking, input buffers and output) in the design of the circuit and interconnections between the control block and the transformed memory blocks of the circuit (and in the case of the double reverse dynamic redundancy with the input and output buffers).
- FIG. 15 describes different stages of the design flow of integrated circuits corresponding to different levels of abstraction in one embodiment of the invention:
- step 201 synthesis at the system level, based on circuit specifications, including allocation or distribution between software and hardware, one of whose results is a high-level and behavioral description of the circuit;
- step 202 synthesis of the high-level circuit on the basis of this description (transformation, planning, selection of modules), one of whose results is an architectural description, at the level of "Transfer of registers" or RTL: this modeling amounts to describing the implementation in the form of sequential elements (registers, flip-flops) and logical combinations between the different inputs / outputs of the sequential elements and the primary inputs / outputs of the circuit:
- step 203 logical synthesis of the circuit as a function of this description RTL, which transforms the description RTL of the circuit into a description at the logic level, in terms of logical gates (netlist gate): this step 203 comprising the following successive substeps:
- mapping technology mapping technology
- step 204 physical mask synthesis of the circuit based on the logical description.
- this synthesis includes the description of the circuit at the level of the transistors (placement, routing, clock distribution) and delivers a description of the circuit at the level of the mask.
- this synthesis includes translation, topography (placement, routing) and delivers a programming file.
- Transform 100 brings the fault tolerance properties to the circuit. In the embodiment described, it is implemented after the independent optimizations of the technology (the properties will thus be preserved by the subsequent steps) and before the separation of the flow in VLSI technology or FPGA technology, which makes it possible to apply it. jointly with both technologies.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1456080A FR3023038B1 (fr) | 2014-06-27 | 2014-06-27 | Procede de fabrication automatisee d'un circuit electronique adapte pour detecter ou masquer des fautes par redondance temporelle, programme d'ordinateur et circuit electronique associes |
PCT/FR2015/051698 WO2015197979A1 (fr) | 2014-06-27 | 2015-06-24 | Procédé de fabrication automatisée d'un circuit électronique adapté pour détecter ou masquer des fautes par redondance temporelle, programme d'ordinateur et circuit électronique associés |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3161691A1 true EP3161691A1 (fr) | 2017-05-03 |
Family
ID=52003907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP15753710.1A Withdrawn EP3161691A1 (fr) | 2014-06-27 | 2015-06-24 | Procédé de fabrication automatisée d'un circuit électronique adapté pour détecter ou masquer des fautes par redondance temporelle, programme d'ordinateur et circuit électronique associés |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170294900A1 (fr) |
EP (1) | EP3161691A1 (fr) |
FR (1) | FR3023038B1 (fr) |
WO (1) | WO2015197979A1 (fr) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10325046B2 (en) * | 2016-09-20 | 2019-06-18 | Synopsys, Inc. | Formal method for clock tree analysis and optimization |
US10775433B1 (en) * | 2018-04-10 | 2020-09-15 | Flex Logix Technologies, Inc. | Programmable/configurable logic circuitry, control circuitry and method of dynamic context switching |
CN111310246B (zh) * | 2020-03-23 | 2023-06-27 | 能科科技股份有限公司 | 高压动态无功补偿装置安全保护系统 |
US11985226B2 (en) * | 2020-12-23 | 2024-05-14 | Intel Corporation | Efficient quantum-attack resistant functional-safe building block for key encapsulation and digital signature |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093204B2 (en) | 2003-04-04 | 2006-08-15 | Synplicity, Inc. | Method and apparatus for automated synthesis of multi-channel circuits |
US8191021B2 (en) * | 2008-01-28 | 2012-05-29 | Actel Corporation | Single event transient mitigation and measurement in integrated circuits |
US8296604B1 (en) * | 2009-10-12 | 2012-10-23 | Xilinx, Inc. | Method of and circuit for providing temporal redundancy for a hardware circuit |
JP5421152B2 (ja) * | 2010-03-08 | 2014-02-19 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
US9075111B2 (en) * | 2013-10-07 | 2015-07-07 | King Fahd University Of Petroleum And Minerals | Generalized modular redundancy fault tolerance method for combinational circuits |
-
2014
- 2014-06-27 FR FR1456080A patent/FR3023038B1/fr not_active Expired - Fee Related
-
2015
- 2015-06-24 WO PCT/FR2015/051698 patent/WO2015197979A1/fr active Application Filing
- 2015-06-24 EP EP15753710.1A patent/EP3161691A1/fr not_active Withdrawn
- 2015-06-24 US US15/321,568 patent/US20170294900A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
None * |
See also references of WO2015197979A1 * |
Also Published As
Publication number | Publication date |
---|---|
FR3023038B1 (fr) | 2016-07-22 |
US20170294900A1 (en) | 2017-10-12 |
FR3023038A1 (fr) | 2016-01-01 |
WO2015197979A1 (fr) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3161691A1 (fr) | Procédé de fabrication automatisée d'un circuit électronique adapté pour détecter ou masquer des fautes par redondance temporelle, programme d'ordinateur et circuit électronique associés | |
EP2983156B1 (fr) | Système et procédé de protection de circuit | |
FR2964482A1 (fr) | Procede de test en ligne des etages de pipeline temporairement non utilises et son dispositif associe | |
US6910173B2 (en) | Word voter for redundant systems | |
JP2006309643A (ja) | 遅延計算装置 | |
EP3392773B1 (fr) | Circuit integre numerique protege contre les erreurs transitoires | |
FR2888014A1 (fr) | Procede et dispositif pour determiner l'emplacement de defauts de collage dans des chaines de cellules utilisant des chaines de test | |
WO2015197813A1 (fr) | Procédé de gestion du fonctionnement d'un circuit redondant à vote majoritaire et dispositif associé | |
EP1417582B1 (fr) | Ensemble de circuits electroniques comportant des moyens de decontamination de parties contaminees par des erreurs | |
WO2003014931A2 (fr) | Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur | |
EP3427383B1 (fr) | Communications asynchrones résistant aux rayonnements | |
Sheikh et al. | Double modular redundancy (dmr) based fault tolerance technique for combinational circuits | |
FR2655748A1 (fr) | Circuit decaleur avec generateur de bits de parite. | |
CA2892502C (fr) | Procede de durcissement logique par partitionnement d'un circuit electronique | |
Ruano et al. | Automatic insertion of selective TMR for SEU mitigation | |
Kourfali et al. | Superimposed in-circuit fault mitigation for dynamically reconfigurable fpgas | |
Suresh et al. | Optimised fault tolerant core-based ASIC design for SRAM | |
EP4137945A1 (fr) | Méthode de protection d'un circuit intégré numérique reconfigurable contre les erreurs réversibles | |
Pratt | Analysis and Mitigation of SEU-induced Noise in FPGA-based DSP Systems | |
Panhofer et al. | Self-healing circuits for space-applications | |
Chipana et al. | SET susceptibility analysis in buffered tree clock distribution networks | |
EP1340148B1 (fr) | Dispositif et procede de detection et correction d'erreurs memoire dans un systeme electronique | |
NAVINER | Conception robuste de circuits numériques à technologie nanométrique | |
Marques et al. | A method for efficient implementation of reliable processors | |
FR3028066A1 (fr) | Procede et dispositif de tolerance aux fautes sur des composants electroniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20170110 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: INRIA - INSTITUT NATIONAL DE RECHERCHE EN INFORMAT Owner name: UNIVERSITE GRENOBLE ALPES |
|
17Q | First examination report despatched |
Effective date: 20171113 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 30/00 20200101AFI20200114BHEP Ipc: H03K 3/037 20060101ALI20200114BHEP |
|
INTG | Intention to grant announced |
Effective date: 20200205 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20200616 |