European Test Symposium, May 28, 2008 Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence, RI 02912 Kundan.

Slides:



Advertisements
Similar presentations
RAID (Redundant Arrays of Independent Disks). Disk organization technique that manages a large number of disks, providing a view of a single disk of High.
Advertisements

Digital Integrated Circuits© Prentice Hall 1995 Design Methodologies Design for Test.
Using Implications for Online Error Detection Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence, RI
Give qualifications of instructors: DAP
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Modern VLSI Design 2e: Chapter 8 Copyright  1998 Prentice Hall PTR Topics n High-level synthesis. n Architectures for low power. n Testability and architecture.
Finite State Machine Chapter 10 RTL Hardware Design by P. Chu.
Combinational Logic and Verilog. XORs and XNORs XOR.
NATW 2008 Using Implications for Online Error Detection Nuno Alves, Jennifer Dworak, R. Iris Bahar Division of Engineering Brown University Providence,
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
Give qualifications of instructors: DAP
4/20/2006ELEC7250: Alexander 1 LOGIC SIMULATION AND FAULT DIAGNOSIS BY JINS DAVIS ALEXANDER ELEC 7250 PRESENTATION.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
TH EDA NTHU-CS VLSI/CAD LAB 1 Re-synthesis for Reliability Design Shih-Chieh Chang Department of Computer Science National Tsing Hua University.
ELEC 7250 Term Project Presentation Khushboo Sheth Department of Electrical and Computer Engineering Auburn University, Auburn, AL.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
مرتضي صاحب الزماني  The registers are master-slave flip-flops (a.k.a. edge-triggered) –At the beginning of each cycle, propagate values from primary inputs.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
System/Software Testing
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.
Unit II Test Generation
DYNAMIC TEST SET SELECTION USING IMPLICATION-BASED ON-CHIP DIAGNOSIS Nicholas Imbriglia, Nuno Alves, Elif Alpaslan, Jennifer Dworak Brown University NATW.
Sparse Coding for Specification Mining and Error Localization Runtime Verification September 26, 2012 Wenchao Li, Sanjit A. Seshia University of California.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Testability and architecture. Design methodologies. Multiprocessor system-on-chip.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
Pseudo-Random Pattern Generator Design for Column ‑ Matching BIST Petr Fišer Czech Technical University Dept. of Computer Science and Engineering.
SiLab presentation on Reliable Computing Combinational Logic Soft Error Analysis and Protection Ali Ahmadi May 2008.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
Design for Testability By Dr. Amin Danial Asham. References An Introduction to Logic Circuit Testing.
Memory Intro Computer Organization 1 Computer Science Dept Va Tech March 2006 ©2006 McQuain & Ribbens Built using D flip-flops: 4-Bit Register Clock input.
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
1 Lecture 3 ENGRE 254 1/14/09. 2 Lecture 1 review Digital signals assume two values represented by “0” and “1”. Typically a “0” represents a voltage near.
SOCSAMS e-learning Dept. of Computer Applications, MES College Marampally VIRTUALMEMORY.
1 Compacting Test Vector Sets via Strategic Use of Implications Kundan Nepal Electrical Engineering Bucknell University Lewisburg, PA Nuno Alves, Jennifer.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
Error Detection in Hardware VO Hardware-Software-Codesign Philipp Jahn.
Universität Dortmund Chapter 6A: Validation Simulation and test pattern generation (TPG) EECE **** Embedded System Design.
2011/IX/27SEU protection insertion in Verilog for the ABCN project 1 Filipe Sousa Francis Anghinolfi.
Detecting Errors Using Multi-Cycle Invariance Information Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence,
Using Loop Invariants to Detect Transient Faults in the Data Caches Seung Woo Son, Sri Hari Krishna Narayanan and Mahmut T. Kandemir Microsystems Design.
VLSI Test Symposium, 2011 Nuno Alves, Yiwen Shi, and R. Iris Bahar School of Engineering, Brown University, Providence, RI Jennifer Dworak Department of.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 22 Memory Definitions Memory ─ A collection of storage cells together with the necessary.
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
CS717 1 Hardware Fault Tolerance Through Simultaneous Multithreading (part 2) Jonathan Winter.
Gunjeet Kaur Dronacharya Group of Institutions. Outline I Random-Access Memory Memory Decoding Error Detection and Correction Read-Only Memory Programmable.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
MAPLD 2005/213Kakarla & Katkoori Partial Evaluation Based Redundancy for SEU Mitigation in Combinational Circuits MAPLD 2005 Sujana Kakarla Srinivas Katkoori.
VLSI Testing Lecture 6: Fault Simulation
COUPING WITH THE INTERCONNECT
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
MAPLD 2005 BOF-L Mitigation Methods for
VLSI Testing Lecture 6: Fault Simulation
Overview: Fault Diagnosis
Sequential circuits and Digital System Reliability
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
Automatic Test Generation for Combinational Circuits
RAID Redundant Array of Inexpensive (Independent) Disks
Resolution Proofs for Combinational Equivalence
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
Software Verification and Validation
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Automatic Test Pattern Generation
Software Verification and Validation
Test Data Compression for Scan-Based Testing
Presentation transcript:

European Test Symposium, May 28, 2008 Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence, RI Kundan Nepal Electrical Engineering Dept. Bucknell University Lewisburg, PA 17837

Online Error Detection GOAL: Detect transient faults that may occur in a circuit during operation Becoming critical as circuits scale to smaller sizes Error detection in memory is “relatively easy” since we know the answer a priori What about random logic? Determine that the functional transformation of the inputs to the outputs has occurred correctly. But how do we know what it’s supposed to be?

Online Detection Techniques Use of pre-computed test vectors and their expected responses (stored in hardware) Duplicating the computation of disjoint hardware elements and voting on the result (e.g.: TMR or logic duplication) Use of check bits (e.g.: parity bit or Hamming Codes)

Our Approach Instead, find invariant relationships that are naturally present among circuit sites in a block of logic. Discovered automatically without requiring knowledge of the circuit’s function or designer constraints. Can be used for combinational or sequential circuits. For sequential circuits, invariants can be within a single cycle or across multiple cycles Violations of these expected relationships can then be used to identify errors. All error checking is done off the critical path

Error Detection Flow invariant relationships verified by checker logic

Invariant Relationships in Circuits In all digital circuits, certain relationships must always be present among particular circuit sites if the circuit is operating correctly. n5=1 n8=0 These relationships can be thought of as logic invariants or logic implications n1 n2 n3 n4 n5 n6 n7 n8

Error Detection with Implications Once we have discovered the implication, extra HW is added to the circuit to verify if implication holds If n5=1 & n8=1, this implies an error occurred in the circuit ERROR n1 n2 n3 n4 n5 n6 n7 n8 n5=1 n8=0

Process Overview (1/2) Verilog Description Logic Simulation Find & Validate Implications 1.Run logic simulation to identify potential implication sites (parallel search). 2.Check all implications for validity using a SAT solver. 3.Eliminate implications subsumed by others.

Process Overview (2/2) Fault Analysis Compress Implications Return Verilog Description with Additional HW 4.Determine the fault coverage of all valid implications. 5.Select a subset of the valid implications such that the highest fault coverage is obtained given a user- specified hardware budget. 6.Deliver a modified Verilog file with implication logic

Multi-cycle Implications Implications can also exist across latch boundaries, over multiple time cycles Faults not adequately covered by single-cycle implications may be better covered across cycles with additional spatial distance. In particular, including multi-cycle implications in checker hardware can help detect errors near latch boundaries May also be useful in detecting delay faults

Multi-cycle Implication Example Consider only the combinational portion of this circuit: There are no useful implication we can use for error checking What if we created a (virtual) copy of this circuit and searched for implications across time cycles? A B F Y X

Multi-cycle Implication Example A B F Y X A B Y X F A B Y X F B=0 F=0

Multi-cycle Implication Example A B F Y X A B Y X F A B Y X F ERROR B 1 =0 F 2 =0

Multi-cycle Implication Example A B Y X F A B Y X F B 1 =0 F 2 =0

Multi-cycle Implication Example A B F Y X ERROR

Experimental Setup Tested approach on circuits from ISCAS benchmarks 3 step process: 1. Initial (non-validated) implications generated using a random set of 32,000 input vectors 2. Zchaff SAT solver used to valid initial set of implications 3. Run fault coverage using these implication in checker Process completed for single cycle and across 2 time cycles

Discovered Implications

Case 1 Case 2 Case 3 Case 4 Error Propagates To Output  An Implication is Violated  Covering faults with implications For each random input vector, and at each fault, the implications-based circuit operation can fall into the following 4 categories:

Detection of Observable Faults Average 9.6% improvement in detection rate Case1/[Case1+Case4]

Do We Need All Implications? Generating checker logic for all discovered implications is unnecessary and wasteful We only want to keep important implications that: Detect many faults Identify hard-to-detect faults Cover faults not detected by other implications

Identifying Important Implications Finding these important implications requires a combination of: structural analysis to removed subsumed implications fault analysis to determine the specific fault coverage for each implication.

Removing Subsumed Implications Some implications may be contained within other implications. Implications i 2 –i 5 are in the path from n 4 to n 8. Of these implications, i 3 has the longest distance. All nodes that have n 4 as parent and n 8 as child and leads to implication with n 8 = 0 can be dropped n6n6 n1n1 n2n2 n3n3 n4n4 n5n5 n7n7 n8n8 n9n9 n 13 n 12 n 11 n 10 i 1 : n 3 =0  n 8 =0 i 2 : n 4 =1  n 12 =0 i 3 : n 4 =1  n 8 =0 i 4 : n 12 =0  n 8 =0 i 5 : n 4 =1  n 13 =0 i 6 : n 12 =0  n 8 =0

Pruning Implications

Conclusions We presented a practical online error detection alternative based on implication validation Does not require modification of targeted logic Checker logic is added off the critical path and run in parallel rest of circuit. We show our approach can easily be expanded to discover implications across multiple time frames to improve fault coverage. We detect up to 90% of observable faults Multi-cycle implications boost detection rate by almost 10% on average