Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.

Slides:



Advertisements
Similar presentations
Giuseppe De Robertis - INFN Sez. di Bari 1 SEU – SET test structures.
Advertisements

Spartan-3 FPGA HDL Coding Techniques
Error Control Code.
Registers and Counters
10/14/2005Caltech1 Reliable State Machines Dr. Gary R Burke California Institute of Technology Jet Propulsion Laboratory.
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Fault-Tolerant Systems Design Part 1.
Circuits require memory to store intermediate data
Finite State Machine Chapter 10 RTL Hardware Design by P. Chu.
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
DSD 2007 Concurrent Error Detection for FSMs Designed for Implementation with Embedded Memory Blocks of FPGAs Andrzej Krasniewski Institute of Telecommunications.
CHAPTER 2 Digital Combinational Logic/Arithmetic Circuits.
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
Embedded Systems Hardware:
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
ENGIN112 L25: State Reduction and Assignment October 31, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 25 State Reduction and Assignment.
1 Fault-Tolerant Computing Systems #2 Hardware Fault Tolerance Pattara Leelaprute Computer Engineering Department Kasetsart University
Finite State Machines. Binary encoded state machines –The number of flip-flops is the smallest number m such that 2 m  n, where n is the number of states.
Documentation Standards Circuit specification. –Description of what the system is supposed to do, including a description of all inputs and outputs and.
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
Vendor Independent SEE Mitigation Solution For FPGAs Kamesh Ramani Pravin Bhandakkar Darren Zacher Melanie Berg (MEI – NASA Goddard)
Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System.
Fault-Tolerant Systems Design Part 1.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Module : FSM Topic : types of FSM. Two types of FSM The instant of transition from the present to the next can be completely controlled by a clock; additionally,
Introduction to State Machine
Fault-Tolerant Systems Design Part 1.
2011/IX/27SEU protection insertion in Verilog for the ABCN project 1 Filipe Sousa Francis Anghinolfi.
D_160 / MAPLD Burke 1 Fault Tolerant State Machines Gary Burke, Stephanie Taft Jet Propulsion Laboratory, California Institute of Technology.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Error Detection and Correction – Hamming Code
Logic Design / Processor and Control Units Tony Diep.
Evaluating Logic Resources Utilization in an FPGA-Based TMR CPU
Varadarajan Srinivasan, Julian W. Farquharson,
Digital System Design using VHDL
Synchronous Sequential Logic A digital system has combinational logic as well as sequential logic. The latter includes storage elements. feedback path.
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
A4 1 Barto "Sequential Circuit Design for Space-borne and Critical Electronics" Dr. Rod L. Barto Spacecraft Digital Electronics Richard B. Katz NASA Goddard.
Chapter5: Synchronous Sequential Logic – Part 1
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Chapter 11: System Design.
A Simplified Approach to Fault Tolerant State Machine Design for Single Event Upsets Melanie Berg.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 99-1 Under-Graduate Project Design of Datapath Controllers Speaker: Shao-Wei Feng Adviser:
12004 MAPLD Int’l Conference – Paper 118 Kumar Automated FSM Error Correction for Single Event Upsets Dr. Nand Kumar & Darren Zacher Design Creation and.
Gunjeet Kaur Dronacharya Group of Institutions. Outline I Random-Access Memory Memory Decoding Error Detection and Correction Read-Only Memory Programmable.
1 Modeling Synchronous Logic Circuits Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
Chandrasekhar 1 MAPLD 2005/204 Reduced Triple Modular Redundancy for Tolerating SEUs in SRAM based FPGAs Vikram Chandrasekhar, Sk. Noor Mahammad, V. Muralidharan.
EMT 351/4 DIGITAL IC DESIGN Verilog Behavioral Modeling  Finite State Machine -Moore & Mealy Machine -State Encoding Techniques.
MAPLD 2005/213Kakarla & Katkoori Partial Evaluation Based Redundancy for SEU Mitigation in Combinational Circuits MAPLD 2005 Sujana Kakarla Srinivas Katkoori.
Class Exercise 1B.
REGISTER TRANSFER LANGUAGE (RTL)
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
EEL 3705 / 3705L Digital Logic Design
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
MAPLD 2005 BOF-L Mitigation Methods for
Interfacing Memory Interfacing.
Sequential circuits and Digital System Reliability
SYNTHESIS OF SEQUENTIAL LOGIC
Synthesis مرتضي صاحب الزماني.
EET107/3 DIGITAL ELECTRONICS 1
CSE 370 – Winter Sequential Logic-2 - 1
Information Redundancy Fault Tolerant Computing
CSE 370 – Winter Sequential Logic-2 - 1
Error Detection and Correction
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 3: Timing & Sequential Circuits
Presentation transcript:

Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Agenda  Introduction  Typical FSM  Synthesis of Fault Tolerant (FT) FSMs  Single Event Upset (SEU) Detect and Recovery  Single Event Upset Detection  Synthesis tool user options  Fault tolerant RAMs  Conclusion

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Introduction  Single Event Upset (SEU)  noise introduced in circuit operating in extreme conditions of space, military, aircrafts etc  Affects all types of FPGA devices and technology  Results in data corruption, system malfunction or impairment of various circuit components

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Contd..  FSMs and RAMs are crucial component of circuit  FSMs control design functionality by transitioning system to new state depending on transition function  RAMs are the data storage components of the circuit  Any malfunction to their operation can make the whole system go unpredictable

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Existing Solutions  Triple Module Redundancy (TMR) is the commonly used scheme for SEU. But it is :  Area Extensive  Only applicable to whole module block  FPGA designers manually write fault tolerant circuits  Cumbersome job for RTL designers There is an absence of complete automated software synthesis solutions in this domain

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Typical FSM circuit  FSM circuit has four major components  Inputs  Current state vectors  Next State function  Output logic Present State Next State Function State Vectors State Vectors Output Logic Inputs Outputs rst clk

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Synthesis of Fault Tolerant (FT) FSMs Next State Function State Vectors State Vectors Output Logic Inputs Outputs clkrst Next State Function State Registers Inputs Outputfunction rst PresentState Paritygenerator Parity Registers ErrorCorrectionCircuit output FTFSM clk

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Contd..  Synthesis goals  Automated Fault tolerant circuit implementation  Achieve optimal implementation with minimal impact on quality of results (area and timing)  Extra combinational and sequential logic added  Parity generator  Generates logic for parity registers  Error corrector  Detects and corrects SEU

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs SEU detection and recovery Circuit Next State Function State Registers Inputs Outputfunction rst PresentState ParityGenerator Parity Registers ErrorCorrectionCircuit output FOR SEU detection and recovery to original state Encoding of State and parity registers such that Hamming Distance >= 3 clk

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Parity generation(Hamming-3)  Extra parity flops added to current state registers to create hamming distance-3  number of parity flops k must satisfy the inequality 2^k >= n+k+1, n is data flops  n + k flops uniquely detect upset in n data flops  Hamming code constructor to generate parity Error Correction circuit detects upset and recovers to original state  General technique can be applied to any encoding scheme

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Contd.. n + k bits uniquely detect for n data bits  Consider a message having 4 data bits. We add 3 parity bits to uniquely determine the single bit error in any of the 7 bits send  Here (3,5,6,7) are data bits and (1,2,4) are parity bits  Change in parity bits detect upset in data bits  (1,2) detect upset in 3  (1,4) detect upset in 5  (2,4) detect upset in 6  (1,2,4) detect upset in 7  Upset in any (1,2,4) detect for itself

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Contd..  Asynchronous Events  FSM State registers may have asynchronous set and reset  Any asynchronous set and reset signal will abruptly transition the state of FSM registers  Parity registers needs to be synchronized to FSM registers in case of asynchronous event

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs  Consider hamming-3 for 2 data flops  3 parity registers required for 2 data flops  Calculate rP1,sP1,rP2,sP2,rP3,sP3 (reset and set) of parity registers in terms of rC1,sC1,rC2,sC2 ?  Set/reset have priority associated with them so both cannot be high simultaneously When one of set/reset high, Q is defined by set Q = set clk rP2 sP2 rC2 sC2 C2 rP3 sP3 rC1 sC1 rP1 sP1 C1 P1 P2 P3 setresetQ No effect 0 1 Contd..

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Contd..  In case of inferred FSM, any asynchronous event will affect all FSM registers  Given FSM registers, asynchronous event is detected as  OR of all set ands resets of FSM registers (rC1 || sC1 || rC2|| sC2) => ET (event trigger)  Parity registers set /reset calculated as  set = Fn(sC1,sC2) && event trigger  Reset = !Fn(sC1,sC2) && event trigger

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Cont..  Initial value state registers  Current state registers may have initial values  Parity registers needs to be synchronized to current state registers’ initial value so that these are not considered as upsets  Initial value flops created for parity flops  Initial value = Fn( Current state initial values)

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Enable Handling  Say at T = t1, SEU occurs in Cs1 flop  Because of En = low  Output at cs1 not corrected in next clock cycles so circuit no longer remains Fault Tolerant  Now say at T = t1 + next clock cycles upset also occurs at Cs2 En En ErrorCorrector Next State Function SEU occurs Cs1 Cs2 This can be taken care by dissolving enable at Data path of Flops clk clk

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Cont..  Dissolving Enable  mux is put in the data path of flop with enable as select line  Mux sel0 = corrected current state  Mux sel1 = next state  Now, after upset in any register, correct state is set at Flip flop output in next clock cycle En En ErrorCorrector Next State Function Cs1 Cs2 mux mux mux clk clk

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Optimized techniques for 1-hot/1-cold encoding  1-hot/1-cold special encoding schemes  Already hamming distance-2  Only single bit is 1 or 0 in whole state Vector  Optimized technique for 1-hot/1-cold are following  Binary transformation with parity  Full Register duplication scheme

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Binary transformation with parity One Hot One Hot State State Vectors Vectors Binary Binary Vectors Vectors Parity ParityRegister (P) (P) 1-hot to Binary Next State Function Function Error Error Detection Detection Error Error Corrector Corrector Upset Present state input Corrected state Paritygenerator Output function output rst  1-hot vectors already hamming-2  Binary vectors + parity added to create total minimum hamming-3 clk

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Technique  1-hot encoded Next state will be converted to Binary value vector  Even parity bit (P) will be generated for this binary vector by doing XOR operation of next state Binary vectors.  Error Detection Circuit  generates the new even parity bit (P’) using the binary vector state registers  P and P’ are compared to detect the upset  If P and P’ differ : an upset has occurred in Binary Registers or parity Register  P and P’ same : no upset has occurred at least in Binary Vector or parity register

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Contd..  Since SEU, upset occurs either in the preset state vector or the binary state vectors and parity  Error Corrector circuit  if upset signal is high  no upset in preset state registers  Present state set as corrected state  If upset is low  no upset in Binary Vector Registers  decode binary vector to one hot and set them as corrected state.

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Full Register duplication scheme 1-hot State Vector State Vector Duplicated One Hot State Vectors Next State Function input Error Detector Detector Error Error Corrector Corrector upset OutputFunction output rst Corrected state  1-hot vectors already hamming-2  Duplicated 1-hot vector also hamming-2 So total hamming distance >=4 clk

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Technique  All 1-hot state vectors are duplicated as parity registers  Error detector circuit  detects the upset in one hot using optimized xnor circuit  Since SEU, upset will either occur in present state vector or duplicated parity registers  Error Correction Circuit  If the upset signal is high  upset detected then present state (one hot state vectors) passed as corrected state.  If upset is low  no upset, duplicated registers are passed as corrected state.

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Comparison of different SEU correct & recovery schemes for 1-hot Area (in LUTs)

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Results explanation  Hamming-3  Applicable to all encoding schemes  Extensive area penalty in case of 1-hot/1-cold  optimal for binary (gray etc) encoding  For 1-hot/1-cold  binary transformation with parity  Optimizes area usage over hamming-3  Full Register duplication scheme  More prone to SEU  Area efficient then both the above techniques  logic is simple

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs SEU detection and correction Next State Function State Registers Inputs Outputfunction rst PresentState ParityGenerator Parity Registers ErrorCorrectionCircuit output FOR SEU detection and Correction to User defined state Encoding of state and parity registers such that Encoding of state and parity registers such that minimum Hamming Distance > =2 clk

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Hamming-2 technique Current State Vectors 2 parity registers (p0 and p1) (p0 and p1) Next state Function Error detector Output Function Error corrector Error corrector Paritygenerator output input clk rst  2 parity registers added to create Hamming-2 distance in encoded states

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Technique  Parity generator  generates two parity bits p0 and p1  p0 and p1 are the odd and even parity respectively of next state  Error detection circuit  calculate parity registers p0’ and p1’ using Current state registers  Both p0 and P1 compared with p0’ and p1’ respectively  If both sets (p0,p0’) and (p1,p1’) differ, an upset in current state vector  Error correction circuit  If Upset detected  sets the corrected state to user defined state  If no upset detected  current state vector set as corrected state

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Optimized detection and correction scheme for 1-hot/1-cold/2-hot Current State Vectors (1-hot ) Next state Function Error detector Error corrector (user defined state) upset Outputfunction output clk rst input Corrected state  1-hot vectors already hamming-2  No parity required

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Technique  Error detection circuit  implemented using xnor/xor circuit to detect single event upset  Error Corrector Circuit  If upset detected  corrected state is set to user defined state  If no upset detected  current state vector is set as corrected state

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Synthesis tools options for User controls  User options to implement SEU detection or both SEU detection & recovery circuit  Ability to apply different fault tolerant implementation on different FSMs  User attributes on FSM state register specifying  FSM encoding scheme  //pragma attribute encoding_style  Fault tolerant implementation  //pragma attribute safe_fsm_type  Correction State for SEU detection & correction circuit  //pragma attribute recovery_state

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Contd..  Example : reg [3:0] cst //pragma attribute cst recovery_state S0 (0001) S1 (0010) S2 (0100) Transition to default state ?? (0101) Invalid state Default S3 (1000) States defined for normal FSM operation Recovery State Reset

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Fault Tolerant RAMs  Application of TMR to RAMs  Triplicates memory elements  Can overfill the FPGA Block RAM capacity  Can lead to many potential memories in the design not inferred  Hamming-3 is applied to RAMs to detect and recover from SEU  the width of memory word size is increased by adding error checking bits

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Contd..  Memory cell with addition of parity registers  Additional combinational logic added for parity generator and error corrector... RAM Hamming Code RAM... RAM parity parityGenerator ErrorCorrector address datain parity dataout

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Conclusion  For safety critical applications automated synthesis solution is good for its following salient features  Designer does not need to write manually Fault tolerant implementations  Generates best Quality of results in terms of timing and area  Is formally verifiable with equivalence checker

MAPLD Synthesis of Fault Tolerant Circuits for FSMs & RAMs Thank you