+ Post-Silicon Fault Localisation using MAX-SAT & Backbones Georg Weissenbacher Charlie Shucheng Zhu, Sharad Malik Princeton University (Photo: Intel Press.

Slides:



Advertisements
Similar presentations
Exploiting SAT solvers in unbounded model checking
Advertisements

Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Solution of a 20-Variable 3-SAT Problem on a DNA Computer R. S. Briach, N. Chelyapov, C. Johnson, P. W. K. Rothemund, L. Adleman 발표자 : 문승현.
Delta Debugging and Model Checkers for fault localization
Introduction to Formal Methods for SW and HW Development 09: SAT Based Abstraction/Refinement in Model-Checking Roberto Sebastiani Based on work and slides.
Satisfiability Modulo Theories (An introduction)
SMT Solvers (an extension of SAT) Kenneth Roe. Slide thanks to C. Barrett & S. A. Seshia, ICCAD 2009 Tutorial 2 Boolean Satisfiability (SAT) ⋁ ⋀ ¬ ⋁ ⋀
SAT Based Abstraction/Refinement in Model-Checking Based on work by E. Clarke, A. Gupta, J. Kukula, O. Strichman (CAV’02)
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Mahadevan Subramaniam and Bo Guo University of Nebraska at Omaha An Approach for Selecting Tests with Provable Guarantees.
Post-silicon Timing Diagnosis Made Simple using Formal Technology Daher Kaiss, Jonathan Kalechstain Formal Engines and Technologies Team Core CAD Technologies.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Mar, 4, 2015 Slide credit: some slides adapted from Stuart.
Presenter : Shih-Tung Huang 2015/4/30 EICE team Automated Data Analysis Solutions to Silicon Debug Yu-Shen Yang Dept. of ECE University of Toronto Toronto,
BackSpace: Formal Analysis for Post-Silicon Debug Flavio M. de Paula * Marcel Gort *, Alan J. Hu *, Steve Wilton *, Jin Yang + * University of British.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
1 Recursive Learning Madhurima Maddela. ELEC /26/052 Decision Tree Traditionally used to branch and bound in the search space to generate test.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1 ITC-07 Paper /25/2007 Estimating Stuck Fault Coverage in Sequential Logic Using State Traversal and Entropy Analysis Soumitra Bose Design Technology,
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
1 CS 4700: Foundations of Artificial Intelligence Carla P. Gomes Module: Satisfiability (Reading R&N: Chapter 7)
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Presenter : Ching-Hua Huang 2013/9/16 Visibility Enhancement for Silicon Debug Cited count : 62 Yu-Chin Hsu; Furshing Tsai; Wells Jong; Ying-Tsai Chang.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
Robust Low Power VLSI ECE 7502 S2015 Fault Diagnosis and Logic Debugging Using Boolean Satisfiability ECE 7502 Class Discussion Benjamin Melton Thursday.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module Logic Representations.
On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Oct, 30, 2015 Slide credit: some slides adapted from Stuart.
Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015Information Security, CS 5261.
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
Generating High-Quality Tests for Boolean Circuits by Treating Tests as Proof Encoding Eugene Goldberg, Pete Manolios Northeastern University, USA TAP-2010,
Abdul-Rahman Elshafei – ID  Introduction  SLAT & iSTAT  Multiplet Scoring  Matching Passing Tests  Matching Complex Failures  Multiplet.
Manufacture Testing of Digital Circuits
C OMPUTING U NSAT C ORES O F B OOLEAN A ND SMT F ORMULAS Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories Alessandro Cimatti, Alberto.
© 2006 Carnegie Mellon University Introduction to CBMC: Part 1 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Arie Gurfinkel,
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
1 Alan Mishchenko Research Update June-September 2008.
© 2006 Carnegie Mellon University Introduction to CBMC: Part 1 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Arie Gurfinkel,
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Sudoku Solutions Using Logic Equations Christian Posthoff The University of The West Indies, Trinidad & Tobago Bernd Steinbach Freiberg University of Mining.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
© 2012 IBM Corporation Perfect Hashing and CNF Encodings of Cardinality Constraints Yael Ben-Haim Alexander Ivrii Oded Margalit Arie Matsliah SAT 2012.
Fault Diagnosis.
VLSI Testing Lecture 5: Logic Simulation
Alan Mishchenko UC Berkeley
Vishwani D. Agrawal Department of ECE, Auburn University
Solving Linear Arithmetic with SAT-based MC
Mining backbone literals in incremental SAT
LPSAT: A Unified Approach to RTL Satisfiability
Overview: Fault Diagnosis
ECE 667 Synthesis and Verification of Digital Circuits
A Progressive Approach for Satisfiability Modulo Theories
Resolution Proofs for Combinational Equivalence
Post-Silicon Calibration for Large-Volume Products
Improved Design Debugging using Maximum Satisfiability
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

+ Post-Silicon Fault Localisation using MAX-SAT & Backbones Georg Weissenbacher Charlie Shucheng Zhu, Sharad Malik Princeton University (Photo: Intel Press Kit)

+ Where did things go wrong? Intel Pentium FDIV Bug 1994 incorrect results for division Understanding bugs is often more time consuming than finding them Failed test scenarios may have millions of execution cycles origindestination

+ Where did things go wrong? A

+ Fault A A Where did things go wrong? Design Debugging: find fault in chip design Post-Silicon Validation find faulty physical gate Difficulty: some signals are not observable

Specification or HDL Design RTL Synthesis Logic Net-List Physical Design Chip Prototype Design Error Diagnosis Fault Diagnosis [Smith, Veneris, Ali, Viglas 2004] pre-silicon post-silicon

HDL Specification RTL Synthesis Logic Net-List Physical Design Chip Prototype Design Error Diagnosis Fault Diagnosis post-silicon

+ Post-Silicon Validation The net-list is the fault-free golden model We assume functional correctness The test vector represents the erroneous behavior Class of faults: Electrical bugs Fault model: (small number of) faulty gates Not in every time-frame: may be transient or intermittent Undesired Test Result

+ Post-Silicon Validation Problem Definition Consistent? Chip Prototype Testing Test Result Logic Net-List Unfolding Propositional Encoding

+ Post-Silicon Validation Limited observability of signals in manufactured chip Trace buffers: Record limited number of signals (less than 10%) Scan chains: Read-out after chip execution stopped 0 … 11 … 1 0 … 1 1 … 0 0 … 01 … 1 10…110…1 11…011…0 ??…1??…1 Trace Buffer Scan chain ??…1??…1 ??…0??…0

+ Test Results as Circuit Constraints Test results used as constraint for unwinding ? = information was not recorded 0 … 11 … 1 0 … 1 1 … 0 0 … 01 … 1 10…110…1 11…011…0 ??…1??…1 ??…0??…0 ??…1??…1

+ Test Results as Constraints Example Test run Logic net-list time-frame 1 s = 0 i 1 = ? i 2 = 0 o = 0 r = ? time-frame 2 r = ? i 1 = ? i 2 = 0 o= 1 t = ?

+ Test Results as Constraints Add test results as constraints to circuit The corresponding CNF formula is inconsistent Identify gates inconsistent with observed behaviour Example

+ Minimal Correction Set (MCS) Minimal number of clauses that must be dropped to make instance satisfiable Given an UNSAT instance dropping and (s) “corrects” the formula Remaining clauses are consistent The complement of a MAX-SAT solution is an MCS Algorithm to compute MCSes based on core-guided MAX-SAT

+ Fault Localisation Use MCSes to identify error location Recorded test results are hard constraints Using Minimal Correction Sets

+ Post-Silicon Faults and MCSes Test scenarios may be millions of cycles long Limited observability results in hard decision problems Analysing millons of time-frames computationally infeasible Limits of Scalability ??…0??…0 ??…1??…1 ??…1??…1

+ Post-Silicon Faults and MCSes Analysis limited to small (contiguous) sequence of cycles Scalability of decision procedure determines window size Slide window backwards in time to cover different cycles Limits of Scalability ??…0??…0 ??…1??…1 ??…1??…1

+ Sliding Windows Example Sliding windows may fail to locate fault Approach is incomplete due to limited information In this particular example: we don’t know the value of r

+ Sliding Windows Example Would like to propagate information across windows At a reasonable computational cost Maybe we can infer the value of r in the first window? r=?

+ Reconstructing Information With Inferred Values 1 0 r =

+ Backbones Backbone of a formula: Set of variables that have same value in all assignments Consider the satisfiable formula Satisfying assignments: Inferring “Fixed” Signals rst

+ Computing Backbones Given a Boolean formula F 1. Obtain initial satisfying assignment A 0 2. For each literal p such that A 0 [p]=0 variable of p is part of backbone if (F. p) is UNSAT Optimization (Filtering): 1. If (F. p) is satisfiable, look at satisfying assignment A 1 2. Literals differing in value in A 0 and A 1 are not in backbone [Marques-Silva, Janota, Lynce 2010]

+ Propagating Backbones Across Sliding Windows 0 … 11 … 1 0 … 1 1 … 0 0 … 01 … 1 10…110…1 11…011…0 ??…1??…1 ??…1??…1 11…111…1 ?1…1?1…1 ??…0??…0 1?…01?…0

+ Experimental Results oc8051 (2784 latches) and 68hc05 (127 latches) microcontroller/processor from OpenCores also used in Alan Hu’s Backspace work Seeded stuck-at-constant fault in 2000 cycle test scenario Error surfaces up to 1000 cycles before end of the trace 1.) Measured window size required to localise the fault For a trace-buffer recording 5% of latches (chosen at random) 2.) Measured trace-buffer size required to localise the fault For a fixed window-size of 3

+ Experimental Results  Experiment 1: With Backbone, sliding window size can be reduced to detect a bug. Trace-buffer recording 5% of latches (chosen at random)  Experiment 2: With Backbone, trace buffer overhead can be reduced. Fixed window-size of 3

+ More… Extended version of this talk: Courtesy of Center for Embedded Systems For Critical Applications, Virginia Tech “SAT-based Techniques for Determining Backbones for Post-Silicon Fault Localisation”, HLDVT ’11, Charlie Shucheng Zhu et al. More on algorithms to compute backbones “Boolean Satisfiability Solvers: Techniques and Extensions”, Tools for Analysis and Verification of Software Safety and Security, IOS Press 2012 Tutorial for SAT, minimal correction sets, and fault localisation as application Future work: Automated placement of trace buffers Narrow down number of fault candidates

+ Post-Silicon Validation: Summary  Generate Iterative Logic Array  Analyze small “sliding windows” t=1t=2t=3t=n error  Infer signals from trace-buffer  Propagate signals to next window t=1t=2t=3t=n error t=1t=2  Detect discrepancies  Localise fault

+ References [Smith, Veneris, Ali, Viglas 2004] Fault Diagnosis and Logic Debugging Using Boolean Satisfiability IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems [Liffiton, Sakallah 2009] Generalizing Core-Guided MAX-SAT Theory and Applications of Satisfiability Testing [Chen, Safarpour, Marques-Silva, Veneris 2009] Automated Design Debugging with Maximum Satisfiability IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems [Marques-Silva, Janota, Lynce 2010] On Computing Backbones of Propositional Theories European Conference on Artificial Intelligence