A succinct memory model for automated design debugging

In todaypsilas complex SoC designs, verification and debugging are becoming ever more crucial and increasingly time-consuming tasks. The prevalence of embedded memories adds to the difficulty of the problem by exponentially increasing the state-space of the design. In this work, a novel memory model for design debugging is presented. It models memory succinctly by avoiding an explicit representation for each memory bit. The method uses the simulation of the erroneous design to guide the debugging process. This results in a parameterizable formal encoding that grows linearly with the erroneous trace length, significantly reducing the memory requirements of the debugging problem. In addition, the proposed model is extended to handle an arbitrary initial memory configuration, as well as non-cycle accurate output traces where only a final expected memory state is available for comparison. Experiments on industrial designs show a 96% average reduction in memory usage along with a noticeable performance improvement compared to previous work.

[1]  Robert P. Kurshan,et al.  An Analysis of SAT-Based Model Checking Techniques in an Industrial Environment , 2005, CHARME.

[2]  Aarti Gupta,et al.  Verification of embedded memory systems using efficient memory modeling , 2005, Design, Automation and Test in Europe.

[3]  Moayad Fahim Ali,et al.  Fault diagnosis and logic debugging using Boolean satisfiability , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[5]  Leena Singh,et al.  System-on-a-Chip Verification: Methodology and Techniques , 2000 .

[6]  S.K. Srinivasan,et al.  Automatic Memory Reductions for RTL Model Verification , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[7]  Rolf Drechsler,et al.  Debugging sequential circuits using Boolean satisfiability , 2004, ICCAD 2004.

[8]  Rolf Drechsler,et al.  Post-verification debugging of hierarchical designs , 2005, ICCAD 2005.

[9]  Niklas Sörensson,et al.  Translating Pseudo-Boolean Constraints into SAT , 2006, J. Satisf. Boolean Model. Comput..

[10]  Sean Safarpour,et al.  Abstraction and refinement techniques in automated design debugging , 2007 .

[11]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[12]  Niraj K. Jha,et al.  Testing of Digital Systems , 2003 .

[13]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[14]  Shi-Yu Huang,et al.  Formal Equivalence Checking and Design Debugging , 1998 .

[15]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..