Constraint generation for software-based post-silicon bug masking with scalable resynthesis technique for constraint optimization

Due to the dramatic increase in design complexity, verifying the functional correctness of a circuit is becoming more difficult. Therefore, bugs may escape all verification efforts and be detected after tape-out. While most existing solutions focus on fixing the problem on the hardware, in this work we propose a different methodology that tries to generate constraints which can be used to mask the bugs using software. This is achieved by utilizing formal reachability analysis to extract the conditions that can trigger the bugs. By synthesizing the bug conditions, we can derive input constraints for the software so that the hardware bugs will never be exposed. In addition, we observe that such constraints have special characteristics: they have small onset terms and flexible minterms. To facilitate the use of our methodology, we also propose a novel resynthesis technique to reduce the complexity of the constraints. In this way, software can be modified to run correctly on the buggy hardware, which can improve system quality without the high cost of respin.

[1]  Sy-Yen Kuo,et al.  Optimizing blocks in an SoC using symbolic code-statement reachability analysis , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[2]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[3]  Ofer Strichman,et al.  An approach for extracting a small unsatisfiable core , 2008, Formal Methods Syst. Des..

[4]  John D. Backes,et al.  Reduction of interpolants for logic synthesis , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[5]  William Craig,et al.  Linear reasoning. A new form of the Herbrand-Gentzen theorem , 1957, Journal of Symbolic Logic.

[6]  Igor L. Markov,et al.  Node Mergers in the Presence of Don't Cares , 2007, 2007 Asia and South Pacific Design Automation Conference.

[7]  Pavel Pudlák,et al.  Lower bounds for resolution and cutting plane proofs and monotone computations , 1997, Journal of Symbolic Logic.

[8]  R. Brayton,et al.  SAT-Based Logic Optimization and Resynthesis , 2007 .

[9]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[10]  David Rennels Fault-tolerant computing , 2003 .

[11]  Valeria Bertacco,et al.  Engineering Trust with Semantic Guardians , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[12]  Robert K. Brayton,et al.  Automating Logic Rectification by Approximate SPFDs , 2007, 2007 Asia and South Pacific Design Automation Conference.

[13]  Jie-Hong Roland Jiang,et al.  Interpolating functions from large Boolean relations , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[14]  Hiroshi Sawada,et al.  A new method to express functional permissibilities for LUT based FPGAs and its applications , 1996, ICCAD 1996.

[15]  Igor L. Markov,et al.  Logic synthesis and circuit customization using extensive external don't-cares , 2010, TODE.

[16]  Alberto L. Sangiovanni-Vincentelli,et al.  Multiple-Valued Minimization for PLA Optimization , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Nicola Nicolici,et al.  On Automated Trigger Event Generation in Post-Silicon Validation , 2008, 2008 Design, Automation and Test in Europe.

[18]  Hiroshi Sawada,et al.  CAD transactions best paper a ward "SPFD: a new method to express functional flexibility" , 2002, IEEE Circuits and Systems Magazine.

[19]  Nicola Nicolici,et al.  Resource-Efficient Programmable Trigger Units for Post-Silicon Validation , 2009, 2009 14th IEEE European Test Symposium.

[20]  Qi Zhu,et al.  SAT sweeping with local observability don't-cares , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[21]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[22]  Robert K. Brayton,et al.  A modified approach to two-level logic minimization , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.