1/28 ECE 753 8 th May 2014 H ardware Implementation of Self-checking circuits on FPGA Project Team #1 Chandru Loganathan Sakshi Gupta Vignesh Chandrasekaran.

Slides:



Advertisements
Similar presentations
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
Advertisements

Spartan-3 FPGA HDL Coding Techniques
Modular Combinational Logic
Logical Design.
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
Fault-Tolerant Systems Design Part 1.
CENG536 Computer Engineering Department Çankaya University.
Self-Checking Circuits
Binocular Bilateral Controller: A Hardware Fault Tolerant Implementation Marylène Audet March 2001 VLSI Testing.
Self-Checking Carry-Select Adder Design Based on Two-Rail Encoding
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Chien Hsing James Wu David Gottesman Andrew Landahl.
Spring 07, Feb 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Logic Equivalence Vishwani D. Agrawal James J.
Performed by : Rivka Cohen and Sharon Solomon Instructor : Walter Isaschar המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון.
Low power architecture and HDL coding practices for on-board hardware applications Kaushal D. Buch ASIC Engineer, eInfochips Ltd., Ahmedabad, India
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
1 Fault-Tolerant Computing Systems #2 Hardware Fault Tolerance Pattara Leelaprute Computer Engineering Department Kasetsart University
Dynamic Test Set Selection Using Implication-Based On-Chip Diagnosis Nuno Alves, Yiwen Shi, Nicholas Imbriglia, and Iris Bahar Brown University Jennifer.
Digital Computer Design Fundamental
Memory and Programmable Logic
Unit V Fault Diagnosis.
ECE 545 Project 1 Part IV Key Scheduling Final Integration List of Deliverables.
Labs Practicing in Design of Combinational Networks and FSM with Concurrent Error Detection Tatjana Stanković, Goran Djordjević, Mile Stojčev 2075 Microprocessor.
Part.7.1 Copyright 2007 Koren & Krishna, Morgan-Kaufman FAULT TOLERANT SYSTEMS Part 7 - Coding.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
SiLab presentation on Reliable Computing Combinational Logic Soft Error Analysis and Protection Ali Ahmadi May 2008.
Implementation of Finite Field Inversion
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
THE TESTING APPROACH FOR FPGA LOGIC CELLS E. Bareiša, V. Jusas, K. Motiejūnas, R. Šeinauskas Kaunas University of Technology LITHUANIA EWDTW'04.
Design for Testability By Dr. Amin Danial Asham. References An Introduction to Logic Circuit Testing.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
Low-Power and Area-Efficient Carry Select Adder on Reconfigurable Hardware Presented by V.Santhosh kumar, B.Tech,ECE,4 th Year, GITAM University Under.
Fault-Tolerant Systems Design Part 1.
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
CprE 458/558: Real-Time Systems
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
Final Presentation Final Presentation OFDM implementation and performance test Performed by: Tomer Ben Oz Ariel Shleifer Guided by: Mony Orbach Duration:
ADVANTAGE of GENERATOR MATRIX:
Fault-Tolerant Systems Design Part 1.
Elements of Coding and Encryption 1. Encryption In the modern word, it is crucial that the information is transmitted safely. For example, Internet purchases,
LOGIC OPTIMIZATION USING TECHNOLOGY INDEPENDENT MUX BASED ADDERS IN FPGA Project Guide: Smt. Latha Dept of E & C JSSATE, Bangalore. From: N GURURAJ M-Tech,
An introduction to Fault Detection in Logic Circuits By Dr. Amin Danial Asham.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
VLSI Test Symposium, 2011 Nuno Alves, Yiwen Shi, and R. Iris Bahar School of Engineering, Brown University, Providence, RI Jennifer Dworak Department of.
Manufacture Testing of Digital Circuits
Silicon Programming--Testing1 Completing a successful project (introduction) Design for testability.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
EEL 5722 FPGA Design Fall 2003 Digit-Serial DSP Functions Part I.
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4a) Department of Electrical.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
©2010 Cengage Learning SLIDES FOR CHAPTER 8 COMBINATIONAL CIRCUIT DESIGN AND SIMULATION USING GATES Click the mouse to move to the next page. Use the ESC.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
Week#3 Software Quality Engineering.
©2010 Cengage Learning SLIDES FOR CHAPTER 8 COMBINATIONAL CIRCUIT DESIGN AND SIMULATION USING GATES Click the mouse to move to the next page. Use the ESC.
16-bit barrel shifter A Mini Project Report
Self-Checking Circuits
Design and Documentation
Clocks A clock is a free-running signal with a cycle time.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Sequential circuits and Digital System Reliability
Chapter 3 – Combinational Logic Design
Information Redundancy Fault Tolerant Computing
DESIGN OF SEQUENTIAL CIRCUITS
Veeraraghavan Ramamurthy
EGR 2131 Unit 12 Synchronous Sequential Circuits
Fault Tolerant Systems in a Space Environment
Chapter5: Synchronous Sequential Logic – Part 3
Presentation transcript:

1/28 ECE th May 2014 H ardware Implementation of Self-checking circuits on FPGA Project Team #1 Chandru Loganathan Sakshi Gupta Vignesh Chandrasekaran Spring 2014

2/28 Structure of the Talk 1.Motivation and Introduction 2.Totally self-checking circuits and Reconfiguration logic 3.Less than or equal to checker 4.Non increasing sorting checker 5.Range checker 6.Residue checker 7.Future scope

3/28 Introduction In a Totally Self-checking Circuit (TSC), if there is a fault in the inputs and/or within the TSC itself, the system no longer functions as desired. If any of the input is faulty, then the TSC brings the complete system to halt. Having a reconfiguration logic can leverage that. Reconfiguration logic allows the system to function properly in presence of at most two faults. Motivation of this project is to make the most of the available hardware without having to compromise on the fault tolerance of the output.

4/28 Basic Definitions A circuit is said to be fault secure if in the presence of a fault, the output is either always correct, or not a code word for valid input code words. A circuit is said to be self-testing if only valid inputs can be used to test it for faults. A circuit is said to be totally self-checking if it is both fault secure and self-testing.

5/28 Totally Self-checking Checker (TSC) A TSC has 4 inputs and 2 outputs Hence, 4 possible output combinations are possible (00, 11, 01, 10)

6/28 Totally Self-checking Checker (TSC) Two-rail checker

7/28 * denotes a two-rail self-checker circuit Totally Self-checking Checker (TSC) Multi-bit TSC

8/28 Reconfiguration Logic When there is a fault in any one of the inputs or in the TSC itself, then the system halts. In order, to prolong system halt we introduce Reconfiguration Logic. If a non-code word (00 or 11) output is detected from the TSC, then the Reconfiguration Logic Enable (logic high) signal is triggered. Now, the reconfiguration logic identifies the faulty line and masks it. New x 0, y 0, x 1, y 1 values are computed and fed into a multiplexer. The multiplexer selects between the new values and old values of x 0, y 0, x 1, y 1 and outputs the final values of x 0, y 0, x 1, y 1.

9/28 Reconfiguration Logic Algorithm for Reconfiguration logic

10/28 TSC with Reconfiguration Logic Block Diagram

11/28 TSC with Reconfiguration Logic Analytical comparison Without reconfiguration logic With reconfiguration logic

12/28 Implementation Analysis Checker CircuitNumber of Sliced LUTs Number of LUT flip flop pairs used Worst case combinational delay (ns) TSC (1 bit) TSC (16 bit) Reconfiguration logic (16 bit) TSC with reconfiguration logic (16 bit)

13/28 There are three types of errors encountered in sorting algorithm: – Functional error: Operands are incorrectly ordered – Data error: One or more bits of the operands are changed – Hybrid error: Where both functional and data errors occur simultaneously LTOETC compares two consecutive non-negative numbers and checks if they are in correct order. Non-increasing sorting checker

14/28 Suppose two non-negative numbers N 1 and N 2 are represented as x 1,x 2,…,x k and y 1,y 2,…,y k. X 1 = x 2,…,x k and Y 1 = y 2,…,y k Valid input code space: – x 1 y 1 = 00 and X 1 ≥ Y 1 – x 1 y 1 = 11 and X 1 ≥ Y 1 – x 1 y 1 = 10 and X 1 ≥ Y 1 – x 1 y 1 = 10 and X 1 < Y 1 Above code space denotes that N 1 ≥ N 2 and the output of LTOETC block must be a valid codeword. LTOETC

15/28 LTOETC Block Diagram Reference: D.L. Tao, “A Self-Testing Non-increasing Order Checker”, IEEE Transactions on Computers, Vol. 46, No. 7, pp , July 1997.

16/28 x 1 y 1` (X 1, Y 1 )co 1 co 2 a 11 a 12 b 11 b 12 c1c2c3c4c1c2c3c4 a 21 a 22 b 21 b 22 a 31 a 32 b 31 b 32 o 1 o 2 00X 1 ≥ Y X 1 ≥ Y X 1 ≥ Y X 1 < Y X 1 < Y X 1 < Y X 1 ≥ Y X 1 < Y LTOETC Input code space

17/28 LTOETC is code disjoint: – Different inputs follow different output routes. LTOETC is self-testing: – Each functional block receives all necessary test vectors. Hence, it is fully tested during normal operation. – Fault in each functional block will be excited which therefore generates a non- code-word at o 1 o 2 of LTOETC LTOETC Properties

18/28 Implemented a design which detects only functional errors in ordered set of inputs. Considered 5 input numbers in order Non-increasing sorting checker Block Diagram Reference: D.L. Tao, “A Self-Testing Non-increasing Order Checker”, IEEE Transactions on Computers, Vol. 46, No. 7, pp , July 1997.

19/28 Non-increasing sorting checker Simulation Inputs when in non-increasing order generate a valid code word Functional error in sorting order generates non-code word, i.e., o 1 o 2 = 11

20/28 The checker circuit detects whether the input lies within a specified range. Input out of bound generates a non-code word, i.e., o 1 o 2 = 11 Input within the range generates a valid code word Range Checker Block Diagram

21/28 Simulation Range Checker Input value for the first set of upper and lower range generates valid code word. Input value when out of range for the second case generates non-code word.

22/28 Implementation Analysis Checker CircuitNumber of Sliced LUTs Number of LUT flip flop pairs used Worst case combinational delay (ns) Non-increasing sorting checker Range checker

23/28 Residue Checker Based on the idea of computing the residue of a given function for a given modulo and comparing it against the residue obtained by computing the same function broken down by modulo arithmetic. Property 1: m = m + m > m Property 2: m = m * m > m Consider a multiple-accumulate (MAC) unit of a processor which computes the following function: Z = A*B+C

24/28 Residue Checker m = m m = m * m > m + m > m Block Diagram Reference: S.Wei and K.Shimizu, “Error Detection of Arithmetic Circuits Using a Residue Checker with Signed-Digit Number System”, IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, pp , Oct. 2001

25/28 Residue Checker Modulo checkers can be implemented in several ways in hardware. 2 n Modulo checker Bit select the lower n bits of the applied input. Hardware conservative. Lesser combinational delay. General modulo checker Residue for any value of modulo. Demands more hardware compared to the earlier method. Relatively slower clock rate. Modulo Checker

26/28 Residue Checker Hardware utilization for each of the implementation is different. As the value of modulo increases, the hardware utilization increases. Hardware utilization is the measure of the number of LUTs utilized on the FPGA. Hardware complexity can be expressed as function of modulo. Timing. Performance matrix

27/28 Residue Checker HC(m) = ln(m) Hardware Complexity: 2 n Modulo checker

28/28 Residue Checker HC(m) = ln(m) Hardware Complexity: General modulo checker

29/28 Residue Checker Mix of both designs Multiplex both and choose according to Modulo. This hybrid is ideally suited for various application.

30/28 Implementation details Design was implemented on Xilinx Spartan 6 XUPV5LX110T FPGA Synthesis was done with Xilinx ISE 14.7 Simulation was done using ModelSim Debugging was done using ChipScope Pro.

31/28 Future Scope Reconfiguration logic Can be introduced in all hardware redundant circuits. Can be scaled to every design. Must be made fault secure

32/28 Questions?

33/28 Thank you