karan maini and sriharsha yerramalla ece 753 project #10 may 1, 2014 tool for customizing fault...
TRANSCRIPT
Karan Maini and Sriharsha Yerramalla ECE 753 Project #10
May 1, 2014
Tool for Customizing Fault Tolerance in a System
Agenda• Introduction• Background and Related Work• Problem Statement Formulation• Implementation• Hardware Redundancy Techniques and FT Library• Synthesis Results – Area and Timing• Conclusion and Future Scope
3
• CAD Tools– Implementing electronic systems easier– Cut down on development time– Made verification process automated
• CAD Tools for Fault Tolerance– Did not leverage advancements– Fault Tolerance was introduced manually– Being picked up in the recent past
Introduction
• Need for Fault Tolerance– Real-time Systems– Operation Critical Systems– No guarantee of flawless execution
• Applications– Banking– ATM Machines– Spacecraft– Satellites
4
Introduction
• There has been several attempts made to develop an efficient tool without much manual intervention to introduce FT.
• This could be at various levels of granularity. • Our attempt is to make FT at module level
granularity.
5
Introduction
6
The Challenge
IJ
A B
C
D F
EH
G
J K
M
7
The Plan
IJ
A B
C
D F
EH
G
J K
M
8
The Plan
IJ
A B
C
D F
H
G
J K
M
9
Solution
A B
C
J K
V
VB B B
10
Agenda• Introduction• Background and Related Work• Problem Statement Formulation• Implementation• Hardware Redundancy Techniques and FT Library• Synthesis Results – Area and Timing• Conclusion and Future Scope
11
• Hardware Redundancy– Insertion of F-T components into circuit– Done Manually (Old days)– Automatic Insertion Tools (At Present)
• Process– Identify element(s) to be modified– Replication of selected element(s)– Selecting one set of output from different outputs coming from
replicated element(s)
Background and Related Work
• Hardware Redundancy (Contd.)
– Initial Conditions – Input synthesizable design files
– Pre-processing tasks – Identify type, number of elements present
and their characteristics
– Similar to simplified elaboration for synthesis
– Specify the Hardware Redundancy technique to be followed
12
Background and Related Work
• Information Redundancy
– Selection of elements (Memory – IM, DM, Register Files)
– Nearly entire module modification to deal with
– Modification of data types and operators in order to process
encoded information
– Insertion of encoders, decoders and checkers in original design
– Adding appropriate operators in F-T library
– Declaration of target objects with the extra bits
13
Background and Related Work
• Information Redundancy (Contd.)
– Insert an encoder at a selected point
– Extend the size of selected data to accommodate extra bits
required by the redundant code used
– Perform the functionality on the coded data
– Insert a decoder/checker at a selected output point to get back
the original data
14
Background and Related Work
Agenda• Introduction• Background and Related Work• Problem Statement Formulation• Implementation• Hardware Redundancy Techniques and FT Library• Synthesis Results – Area and Timing• Conclusion and Future Scope
15
Make a design Fault Tolerant by introducing
components into the design using various Hardware
Redundancy Techniques. Provide a Fault Tolerant
Library to choose components from. Synthesize the
original and new design to compare overhead
introduced in terms of area and time.
16
Problem Statement Formulation
• Introduce Fault tolerance at Modular level
• Target for Coarse granularity
17
Aim
18
Assumptions
• User will input all the Synthesizable design files
• At any given instant of time, only a single
instance of a module may be fault prone.
• User will only input files written in Verilog HDL
Agenda• Introduction• Background and Related Work• Problem Statement Formulation• Implementation• Hardware Redundancy Techniques and FT Library• Synthesis Results – Area and Timing• Conclusion and Future Scope
19
20
Taming the Bull
• In which stage of design should this be
tackled? RTL or netlist
• In netlist – Finer control over granularity,
but higher design complexity
• In RTL – Difficult to have smaller
granularity, but relatively simple design
• This is where our tool helps
21
Approach
• Accept design files and top level module from
user.
• Identify different modules and their hierarchies
present in the design.
• Accept options from user.
• Update the design with fault tolerance.
• Verify the design.
22
Design
Scheme of Fault Tolerant Insertion Tool
23
Front End - GUI
Technology: Java Swing Look and Feel: Windows 8
24
Section 1
• Welcome Screen
• Upload Design files
• View/Update selected files
• Enter top-level module
• Fork() a child process to call
back-end search engine
25
Section 2
• Hierarchical View
• Returns from back-end
• JTree Component used
• Different levels – modules
and instantiations
• Singleton selection on leaf
node - select an instance
26
Section 3• Select Redundancy Type
• Scan characteristics of
Instantiated Module
Parameters passed
Bus-width of parameters
• Introduction of Library
Component into design
• Success Message Dialog
Box to inform user
27
Logical Components of Tool
GUI
FT Insertion
Library
Search Engine
Front End Back End
28
Search Engine block• FT insertion block passes the Verilog design
files to search engine block.• Searches for all modules in the design and
populates them in an array.• Starts a recursive process to identify all the
instances and their hierarchies. • Returns the hierarchical information to FT
insertion.
29
Library• Following hardware redundancies are supported.
1. TMR
2. 5MR
3. Hybrid
4. Sift-out
5. Pair and Spare
30
TMR
• Instance is replicated thrice and a Voter is added. Parameterized voter to support any bus width
ALU1
ALU2
ALU3
Voter
31
• Similar to TMR Voter….
5MR
ALU2
ALU3
ALU4
Voter
ALU5
ALU1
32
Hybrid Redundancy• Implemented the design proposed by Daniel P.
Siewiorek et al.• Made minor modifications to circuit to support
scalability.
33
Implementation of Hybrid Redundancy P
P
P
S Status reg Comp block
Voter
S
34
Sift-Out Modular Redundancy• Implemented the design proposed by Paulo T. De
Sousa et al.• Made minor modifications
35
Implementation of Sift-out Redundancy
comparator and register
E C
P1
P2
P3
36
Pair and Spare
comparator
comparator
Switch
P1
P2
P3
P4
37
Library Options
38
Area and Delay Overhead
39
Micro-op Generator
FSM D
Data PathMicro-op inst gen
Inst_gen
Inst_gen
Offset_reg_num_gen
Offset_gen
Offset_gen
Reg_num_gen
ALD
Priority Encoder
ALD
40
Area Overhead for Micro-op Generator
• Area without FT – 7628.1
Module / FT technique
5MR Hybrid (3,2) Sift-out (5)
Data_path 28023.1 28220.7 28214.2
FSM 11215.3 11420.8 11415.7
Offset_Regnum gen
17925.6 18128.2 18123.4
Reg_Num_Gen 16968.4 17212 17205.3
Act low decoder 8378.1 8661.9 8656
41
DUTs• PIIR filter• Micro-op Generator• 5 stage pipelined micro-processor
42
Future Work• Other types of hardware redundancies can be
added to library modules without changing other parts of tools.
• Information redundancy can also be added, but it will involve change in the tool and will need more information from user.
43
Conclusion• Tool that introduces fault tolerance in a Digital
System is successfully developed.• The tool is tested on three different designs.• Overhead of various fault tolerance techniques
is calculated and compared.
44
Tools Used• Java• Perl• Design Vision• Quartus