A formal approach to debug polynomial datapath designs

By increasing the complexity of digital systems, debugging of such systems has become a major economical issue. In this paper, we introduce a mutation-based debugging technique that allows us to efficiently locate and then correct bugs in datapath dominated applications such as in Digital Signal Processing (DSP) for multimedia applications and embedded systems. In order to evaluate the effectiveness of our approaches, we have applied the proposed debugging technique to several industrial designs. The experimental results show that the proposed debugging technique enables us to locate and correct even multiple bugs in a reasonable run time and memory usage.

[1]  Florian Enescu,et al.  Equivalence Verification of Polynomial Datapaths Using Ideal Membership Testing , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Rolf Drechsler,et al.  The K*BMD: A Verification Data Structure , 1997, IEEE Des. Test Comput..

[3]  Kwang-Ting Cheng,et al.  RTL Error Diagnosis Using a Word-Level SAT-Solver , 2008, 2008 IEEE International Test Conference.

[4]  Masahiro Fujita,et al.  Modular Datapath Optimization and Verification Based on Modular-HED , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Priyank Kalla,et al.  Equivalence verification of arithmetic datapaths with multiple word-length operands , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[6]  Jing-Yang Jou,et al.  An efficient approach for error diagnosis in HDL design , 2003, Proceedings of the 2003 International Symposium on Circuits and Systems, 2003. ISCAS '03..

[7]  Rolf Drechsler,et al.  Automatic Fault Localization for Property Checking , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Masahiro Fujita,et al.  Automatic Merge-Point Detection for Sequential Equivalence Checking of System-Level and RTL Descriptions , 2007, ATVA.

[9]  David Singmaster,et al.  On polynomial functions (mod m) , 1974 .

[10]  W. Eric Wong,et al.  Using Mutation to Automatically Suggest Fixes for Faulty Programs , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[11]  Oscar H. Ibarra,et al.  Probabilistic Algorithms for Deciding Equivalence of Straight-Line Programs , 1983, JACM.

[12]  Chien-Nan Jimmy Liu,et al.  Estimating likelihood of correctness for error candidates to assist debugging faulty HDL designs , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[13]  Igor L. Markov,et al.  Fixing Design Errors with Counterexamples and Resynthesis , 2007, 2007 Asia and South Pacific Design Automation Conference.

[14]  Lionel C. Briand,et al.  Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria , 2006, IEEE Transactions on Software Engineering.

[15]  Franz Wotawa,et al.  Verification and Fault Localization for VHDL Programs , 2002 .

[16]  Yi-Yuan Chang,et al.  An efficient mechanism for debugging RTL description , 2003, The 3rd IEEE International Workshop on System-on-Chip for Real-Time Applications, 2003. Proceedings..

[17]  Masahiro Fujita,et al.  Modular equivalence verification of polynomial datapaths with multiple word-length operands , 2011, 2011 IEEE International High Level Design Validation and Test Workshop.

[18]  Marco Benedetti,et al.  A performance-driven QBF-based iterative logic array representation with applications to verification, debug and test , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[19]  Rolf Drechsler,et al.  On the representational power of bit-level and word-level decision diagrams , 1997, Proceedings of ASP-DAC '97: Asia and South Pacific Design Automation Conference.

[20]  Norbert Hungerbühler,et al.  A GENERALIZATION OF THE SMARANDACHE FUNCTION TO SEVERAL VARIABLES , 2006 .

[21]  Masahiro Fujita,et al.  A Unified Framework for Equivalence Verification of Datapath Oriented Applications , 2009, IEICE Trans. Inf. Syst..

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

[23]  Chao Liu,et al.  Statistical Debugging: A Hypothesis Testing-Based Approach , 2006, IEEE Transactions on Software Engineering.

[24]  Olivier Coudert,et al.  Automating the diagnosis and the rectification of design errors with PRIAM , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[25]  Masahiro Fujita,et al.  LTED : A Canonical and Compact Hybrid Word-Boolean Representation as a Formal Model for Hardware / Software Co-designs , 2007 .

[26]  Ibrahim N. Hajj,et al.  Design error diagnosis and correction via test vector simulation , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  Andreas G. Veneris,et al.  Design diagnosis using Boolean satisfiability , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).