SATORI - A Fast Sequential SAT Engine for Circuits

We describe the design and implementation of SATORI - a fast sequentialjustification engine based on state-of-the-art SAT and ATPG techniques.We present several novel techniques that propel SATORI to ademonstrable 10x improvement over a commercial engine. Traditionalsequential justification based on ATPG or, on a bounded model of thesequential circuit using SAT, has diverging strengths and weaknesses. Inthis paper, we contrast these techniques and describe how their strengthsare combined in SATORI. We use conflict-based learning in each time-frameand illegal state learning across time-frames. This enables bothcombinational and sequential back-jumping. We experimentally analyzethe main features of SATORI by comparing SATORI's performanceagainst a state-of-the-art SAT solver - ZCHAFF using a boundedmodel, and a commercial sequential ATPG engine performing justification.Additional results are presented for SATORI versus the commercialATPG engine and VIS on ISCAS ý89 and ITC'99 benchmark circuitsfor an application to assertion checking.

[1]  Wolfgang Kunz,et al.  SAT and ATPG: Boolean engines for formal hardware verification , 2002, ICCAD 2002.

[2]  Kenneth L. McMillan,et al.  Applying SAT Methods in Unbounded Symbolic Model Checking , 2002, CAV.

[3]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[4]  Kwang-Ting Cheng,et al.  On the over-specification problem in sequential ATPG algorithms , 1992, DAC '92.

[5]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[6]  Kwang-Ting Cheng,et al.  An analysis of ATPG and SAT algorithms for formal verification , 2001, Sixth IEEE International High-Level Design Validation and Test Workshop.

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

[8]  Xinghao Chen,et al.  Sequential circuit test generation using dynamic justification equivalence , 1996, J. Electron. Test..

[9]  D. G. Saab,et al.  Verifying Properties Using Sequential ATPG , 2002 .

[10]  Kwang-Ting Cheng,et al.  Current Directions in Automatic Test-Pattern Generation , 1999, Computer.

[11]  Masahiro Fujita,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, DAC '99.

[12]  Masahiro Fujita,et al.  Model Checking Based on Sequential ATPG , 1999, CAV.

[13]  Kwang-Ting Cheng,et al.  Static property checking using ATPG vs. BDD techniques , 2000, Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159).

[14]  Kurt Antreich,et al.  IGRAINE-an Implication GRaph-bAsed engINE for fast implication, justification, and propagation , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[16]  Melvin A. Breuer,et al.  Digital systems testing and testable design , 1990 .