Self-Checking Circuits

Slides:



Advertisements
Similar presentations
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Advertisements

STATISTIC & INFORMATION THEORY (CSNB134) MODULE 12 ERROR DETECTION & CORRECTION.
Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Fault-Tolerant Systems Design Part 1.
ERROR CORRECTION.
Copyright 2007 Koren & Krishna, Morgan-Kaufman Part.1.1 FAULT TOLERANT SYSTEMS Part 1 - Introduction.
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
1/28 ECE th May 2014 H ardware Implementation of Self-checking circuits on FPGA Project Team #1 Chandru Loganathan Sakshi Gupta Vignesh Chandrasekaran.
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
2. Introduction to Redundancy Techniques Redundancy Implies the use of hardware, software, information, or time beyond what is needed for normal system.
Convolutional Code Based Concurrent Error Detection in Finite State Machines Konstantinos N. Rokas Advisor: Prof. Yiorgos Makris.
Chapter 2 Error-Detecting Codes. Outline 2.1 Why Error-Detecting Codes? 2.2 Simple Parity Checks 2.3 Error-Detecting Codes 2.4 Independent Errors: White.
7. Fault Tolerance Through Dynamic or Standby Redundancy 7.5 Forward Recovery Systems Upon the detection of a failure, the system discards the current.
Error Detection and Correction
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
1 Fault-Tolerant Computing Systems #2 Hardware Fault Tolerance Pattara Leelaprute Computer Engineering Department Kasetsart University
Quantum Error Correction Jian-Wei Pan Lecture Note 9.
Unit V Fault Diagnosis.
Part.7.1 Copyright 2007 Koren & Krishna, Morgan-Kaufman FAULT TOLERANT SYSTEMS Part 7 - Coding.
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
Chapter 7. Testing of a digital circuit
British Computer Society
Multi Level, Multi Transition & Block Codes
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Part.1.1 In The Name of GOD Welcome to Babol (Nooshirvani) University of Technology Electrical & Computer Engineering Department.
Fault-Tolerant Systems Design Part 1.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
ENEE244-02xx Digital Logic Design Lecture 3. Announcements Homework 1 due next class (Thursday, September 11) First recitation quiz will be next Monday,
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 8: February 4, 2004 Fault Detection.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
DIGITAL COMMUNICATIONS Linear Block Codes
Error Detection in Hardware VO Hardware-Software-Codesign Philipp Jahn.
CprE 458/558: Real-Time Systems
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
Fault-Tolerant Systems Design Part 1.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
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
Data Link Layer. Data Link Layer Topics to Cover Error Detection and Correction Data Link Control and Protocols Multiple Access Local Area Networks Wireless.
An introduction to Fault Detection in Logic Circuits By Dr. Amin Danial Asham.
Data Communications and Networking
ECE 320 Homework #4 1. Using 8 data input selector logic (MUX), implement the following two functions: a) F(A,B,C)=S 0 S 2 S 3 S 5 b) F(A,B,C,D)=P 0 +P.
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
Manufacture Testing of Digital Circuits
A4 1 Barto "Sequential Circuit Design for Space-borne and Critical Electronics" Dr. Rod L. Barto Spacecraft Digital Electronics Richard B. Katz NASA Goddard.
Computer Architecture Error Correcting Codes Ralph Grishman Oct (Text pp and B-65-67) NYU.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Hamming (4,7) Code Binary Linear Codes Hamming Distance Weight of BLC
Error Detecting and Error Correcting Codes
Decoders A decoder is a logic circuit that detects the presence of a specific combination of bits at its input. Two simple decoders that detect the presence.
Memory and Programmable Logic
Self-Checking Circuits
Error Detection and Correction
Subject Name: COMPUTER NETWORKS-1
Advanced Computer Networks
Chapter 10 Error Detection And Correction
Sequential circuits and Digital System Reliability
Information Redundancy Fault Tolerant Computing
Error Detection and Correction
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Error Detection and Correction
Chapter 10 Error Detection and Correction
Presentation transcript:

Self-Checking Circuits Delay-Insensitive Codes and Self-Checking Checkers

Self-Checking Circuits Most important factors in designing a digital system: Speed, Cost and Correctness. Some systems used in 1. medical equipment used in ICUs, 2. aircraft control systems, 3. nuclear reactor control systems, 4. military systems and 5. computing systems used in space missions. High reliability is of the utmost importance. DSM technology: Signal Integrity problem

Self-Checking Circuits Def: Self-Checking Circuit Circuits detecting faults in normal operation. Testing vs self-checking? Faults: stuck at zero and stuck at one stuck at one in one input of an 2-input OR gate? stuck at zero in one input of an 2-input OR gate? stuck at one in one input of an 2-input AND gate? stuck at zero in one input of an 2-input AND gate?

Self-Checking Circuits: Def: Error An incorrect output caused by a stuck-at fault. Def: Single Error An error that affects only a single component value Def: Multiple Error An error that affects multiple component values. The component value affected by an error may change form 0 to 1, or vice versa. Def: unidirectional errors When all components affected by a multiple error change their values monotonically.

Self-Checking Circuits: Def: Error Detecting Code Def: Hamming distance of two vectors x and y the number of components in which they differ. Def: Hamming distance of a code X the minimum of the Hamming distances between all possible pairs of code words in X.

Self-Checking Circuits: Lemma: A code with Hamming distance d+1 can detect all errors with weight d or less. Lemma: A code with Hamming distance 2c+1 can correct all errors with weight c or less. One-Hot Code: 1. Delay-Insensitive Code 2. Detect one error (H.D.=2).

Fault-tolerant Systems: masking scheme: 1. All of the redundant modules are active at all times. 2. When a fault occurs, the faulty module is masked. 3. The most common masking scheme is triple modular redundancy in which the outputs of three copies of function units are fed to a majority gate. 4. If one of the three modules becomes faulty, the two remaining fault-free modules mask the results of the faulty one when the majority vote is performed.

Fault-tolerant Systems: Standby scheme: 1. only one copy of the system is active. 2. When the active module detects the occurrence of faults, the standby module is activated and takes over the control. 3. Thus, to use self-checking circuits in a fault-tolerant system, double module redundancy is sufficient. 4. This scheme may be superior than the former in terms of power consumption and hardware cost.

Self-checking scheme Self-Checking scheme: 1. a self-checking functional unit. 2. a self-checking checker. Self-Checking functional unit Inputs X Outputs Y ... ... ... ... Self-checking checker X: input code space Y: output code space Error signal

Self-Checking Circuits During the fault-free operation: a normal input will produce a normal output. If an incorrect output is produced due to a fault, the error should be detected by the self-checking checker.

Self-checking scheme

Self-checking scheme Fault Secure(FS): code word input to a faulty circuit must not produce an incorrect code word output. Self-testing: a fault in a circuit must be detected by some input.

Self-checking scheme Fault Secure(FS): Self-testing:

Self-checking scheme Totally Self-Checking: Partially Self-Checking:

Self-checking scheme Fault-secure-only circuits: 1. No erroneous results go undetected. 2. However, it is possible that some fault can never be detected. Self-testing-only circuit: 1. Any fault can produce undetected errors for a short time. 2. However, there is a code word input that can detect the fault.

Self-checking scheme Totally self-checking circuit: 1. no erroneous results go undetected and 2. any fault will be eventually detected. Partially self-checking circuits: 1. This approach is to restrict the set of faults for which the circuit has to be checked. 2. They are introduced to provide low-cost error detection. 3. They may be used in non-critical applications.

Delay-Insensitive Tree Adder

Self-Checking Checkers Code-disjoint: TSC Checker: With the code-disjoint feature, one may be able to test if the TSC checker is malfunction.

DI Adder Checker Code word input: one-hot code of output signals Correct code word output Z0 Z1 = 10 Incorrect code word outputs Z0 Z1 = {00 01 11}

Delay-Insensitive Codes M/N code (M<N): M-out-of-N code all valid code words have exactly M 1’s and N-M O’s. Length of M/N code: C(N,M) 1. One-hot code(1/N code): a. dual-rail encoding: (01 10) b. 1/3 code: (001 010 100) c. length of one-hot code: C(N,1) 2. Optimal M/N code: M=N/2 a. 3/6 code: (000111,001011,001101,001110, …) b. length of M/N Code = C(N, N/2) Berger Code, Modified Berger code:

Delay-Insensitive Transmission Sender Receiver I I DI codes decoder encoder

Delay-Insensitive Transmission Cost factors: Number of Wires (cost) Encoder (logic complexity/computation time) Decoder (logic complexity/computation time)

Delay-Insensitive Codes: Berger Berger Code: 1. Systematic code: Information bits + Check bits (note that M/N code is a nonsystematic code). 2. 3. Check bits = counting the number of 0’s in I bits. 4. See table (Next page)

Delay-Insensitive Codes

Delay-Insensitive Transmission: Berger codes DI codes Sender Receiver I’ I Check bits C’’ C C’ Check bits Compare Valid?

Self-Checking Checkers: Self-checking Checkers of M/N code 1. One-hot code(1/N code): a. dual-rail encoding: (01 10): shown in DI Adders b. 1/N code: c. Z0: completion signal Z1: error detection C(N,2) ... & & & ... + + Z1 Z0

Self-Checking Checkers: Self-checking Checkers of M/N code 2. Optimal M/N code: M=N/2 a. 3/6 code: (000111,001011,001101,001110, …) b. length of M/N Code = C(N, N/2) N/2 C(N,N/2) N/2+1 C(N,n/2+1) .. .. ... ... & & & & & & + + Z0 Z1

Self-Checking Checkers: Use Sorting Networks for Self-checking Checkers: General sorting network: A1 An Sorting Network Max(A1, … , An) Min(A1, … , An) n unsorted numbers n sorted numbers ... ... A1 A2 Max(A1,A2) Min(A1, A2) Comparator

Self-Checking Checkers: Binary sorting network: x1 xn Sorting Network 1 k 1’s 1 0 n-k o’s n binary input ... ... ... x1 x2 Max(x1,x2)= x1+x2 Min(x1, x2)= x1x2 Comparator

Self-Checking Checkers: Binary sorting network for 2/4 code CMP CMP CMP CMP CMP

Error Collection Codes: Code with HD>=3 may correct error Ex. HD=4: 0011 1100