karan maini and sriharsha yerramalla ece 753 project #10 may 1, 2014 tool for customizing fault...

44
Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

Upload: blake-mccormick

Post on 03-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

Karan Maini and Sriharsha Yerramalla ECE 753 Project #10

May 1, 2014

Tool for Customizing Fault Tolerance in a System

Page 2: 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

Page 3: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 4: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

• Need for Fault Tolerance– Real-time Systems– Operation Critical Systems– No guarantee of flawless execution

• Applications– Banking– ATM Machines– Spacecraft– Satellites

4

Introduction

Page 5: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

• 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

Page 6: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

6

The Challenge

IJ

A B

C

D F

EH

G

J K

M

Page 7: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

7

The Plan

IJ

A B

C

D F

EH

G

J K

M

Page 8: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

8

The Plan

IJ

A B

C

D F

H

G

J K

M

Page 9: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

9

Solution

A B

C

J K

V

VB B B

Page 10: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 11: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 12: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

• 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

Page 13: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

• 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

Page 14: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

• 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

Page 15: 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

15

Page 16: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 17: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

• Introduce Fault tolerance at Modular level

• Target for Coarse granularity

17

Aim

Page 18: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 19: 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

19

Page 20: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 21: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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.

Page 22: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

22

Design

Scheme of Fault Tolerant Insertion Tool

Page 23: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

23

Front End - GUI

Technology: Java Swing Look and Feel: Windows 8

Page 24: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 25: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 26: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 27: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

27

Logical Components of Tool

GUI

FT Insertion

Library

Search Engine

Front End Back End

Page 28: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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.

Page 29: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

29

Library• Following hardware redundancies are supported.

1. TMR

2. 5MR

3. Hybrid

4. Sift-out

5. Pair and Spare

Page 30: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

30

TMR

• Instance is replicated thrice and a Voter is added. Parameterized voter to support any bus width

ALU1

ALU2

ALU3

Voter

Page 31: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

31

• Similar to TMR Voter….

5MR

ALU2

ALU3

ALU4

Voter

ALU5

ALU1

Page 32: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

32

Hybrid Redundancy• Implemented the design proposed by Daniel P.

Siewiorek et al.• Made minor modifications to circuit to support

scalability.

Page 33: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

33

Implementation of Hybrid Redundancy P

P

P

S Status reg Comp block

Voter

S

Page 34: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

34

Sift-Out Modular Redundancy• Implemented the design proposed by Paulo T. De

Sousa et al.• Made minor modifications

Page 35: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

35

Implementation of Sift-out Redundancy

comparator and register

E C

P1

P2

P3

Page 36: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

36

Pair and Spare

comparator

comparator

Switch

P1

P2

P3

P4

Page 37: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

37

Library Options

Page 38: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

38

Area and Delay Overhead

Page 39: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 40: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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

Page 41: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

41

DUTs• PIIR filter• Micro-op Generator• 5 stage pipelined micro-processor

Page 42: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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.

Page 43: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

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.

Page 44: Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System

44

Tools Used• Java• Perl• Design Vision• Quartus