Efficient Generation of Stimuli for Functional Verification by Backjumping Across Extended FSMs

Extended finite state machines (EFSMs) can be efficiently adopted to model the functionality of complex designs without incurring the state explosion problem typical of the more traditional FSMs. However, traversing an EFSM can be more difficult than an FSM because the guards of EFSM transitions involve both primary inputs and registers. This paper first analyzes the hardness of traversing an EFSM according to the characteristics of its transitions. Then, it presents a methodology to generate an EFSM which is easy to be traversed. Finally, it proposes a functional deterministic automatic test pattern generation (ATPG) approach that exploits such EFSMs for functional verification. In particular, the ATPG approach joins backjumping, learning, and constraint solving to (i) early identify possible symptoms of design errors by efficiently exploring the whole state space of the design under verification (DUV), and (ii) generate effective input sequences to be used in further verification steps which require to stimulate the DUV. The effectiveness of the proposed approach is confirmed in the experimental result section, where it is compared with both genetic and pseudo-deterministic techniques.

[1]  Kwang-Ting Cheng,et al.  Automatic generation of functional vectors using the extended finite state machine model , 1996, TODE.

[2]  Daniel D. Gajski,et al.  Essential Issues in Codesign , 1997 .

[3]  Masahiro Fujita,et al.  Automatic test pattern generation for functional register-transferlevel circuits using assignment decision diagrams , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Yvon Savaria,et al.  Automating functional coverage analysis based on an executable specification , 2003, The 3rd IEEE International Workshop on System-on-Chip for Real-Time Applications, 2003. Proceedings..

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

[6]  Ali Y. Duale,et al.  Test generation for EFSM models of complex army protocols with inconsistencies , 2000, MILCOM 2000 Proceedings. 21st Century Military Communications. Architectures and Technologies for Information Superiority (Cat. No.00CH37155).

[7]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[8]  Kwang-Ting Cheng,et al.  Efficient conflict-based learning in an RTL circuit constraint solver , 2005, Design, Automation and Test in Europe.

[9]  Franco Fummi,et al.  Improving gate-level ATPG by traversing concurrent EFSMs , 2006, 24th IEEE VLSI Test Symposium.

[10]  Fabrizio Ferrandi,et al.  Implicit test generation for behavioral VHDL models , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[11]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[12]  Ian G. Harris,et al.  Design validation of behavioral VHDL descriptions for arbitrary fault models , 2005, European Test Symposium (ETS'05).

[13]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[14]  Giovanni Squillero,et al.  Effective techniques for high-level ATPG , 2001, Proceedings 10th Asian Test Symposium.

[15]  Zainalabedin Navabi,et al.  VHDL: Analysis and Modeling of Digital Systems , 1992 .

[16]  J.-C. Giomi Finite state machine extraction from hardware description languages , 1995, Proceedings of Eighth International Application Specific Integrated Circuits Conference.

[17]  Franco Fummi,et al.  Functional verification based on the EFSM model , 2004, Proceedings. Ninth IEEE International High-Level Design Validation and Test Workshop (IEEE Cat. No.04EX940).

[18]  Daniel Kroening,et al.  Decision Procedures - An Algorithmic Point of View , 2008, Texts in Theoretical Computer Science. An EATCS Series.

[19]  M. Wallace,et al.  Two problems-two solutions: one system-ECLIPSE , 1993 .

[20]  M. Umit Uyar,et al.  Modeling VHDL specifications as consistent EFSMs , 1997, MILCOM 97 MILCOM 97 Proceedings.

[21]  Yunfeng Tao An introduction to assertion-based verification , 2009, 2009 IEEE 8th International Conference on ASIC.

[22]  S. Padmanabhuni Extended analysis of intelligent backtracking algorithms for the maximal constraint satisfaction problem , 1999, Engineering Solutions for the Next Millennium. 1999 IEEE Canadian Conference on Electrical and Computer Engineering (Cat. No.99TH8411).

[23]  J. Gaschnig Performance measurement and analysis of certain search algorithms. , 1979 .

[24]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[25]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[26]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[27]  Peter Schachte,et al.  State Joining and Splitting for the Symbolic Execution of Binaries , 2009, RV.

[28]  Michael S. Hsiao,et al.  Efficient ATPG for design validation based on partitioned state exploration histories , 2004, 22nd IEEE VLSI Test Symposium, 2004. Proceedings..

[29]  Weixiong Zhang Search techniques , 2002 .

[30]  Tsuneo Nakata,et al.  Functional verification of system on chips - practices, issues and challenges , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[31]  Ali Y. Duale,et al.  Resolving inconsistencies in EFSM-modeled specifications , 1999, MILCOM 1999. IEEE Military Communications. Conference Proceedings (Cat. No.99CH36341).

[32]  Irith Pomeranz,et al.  Techniques for improving the efficiency of sequential circuit test generation , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[33]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[34]  M. Ümit Uyar,et al.  A method enabling feasible conformance test sequence generation for EFSM models , 2004, IEEE Transactions on Computers.

[35]  Srivaths Ravi,et al.  Test generation for non-separable RTL controller-datapath circuits using a satisfiability based approach , 2003, Proceedings 21st International Conference on Computer Design.

[36]  Franco Fummi,et al.  Genetic algorithms: the philosopher's stone or an effective solution for high-level TPG? , 2003, Eighth IEEE International High-Level Design Validation and Test Workshop.

[37]  Vitaly Chipounov,et al.  Selective Symbolic Execution , 2009 .

[38]  Michael S. Hsiao,et al.  Efficient sequential atpg for functional rtl circuits , 2003, International Test Conference, 2003. Proceedings. ITC 2003..

[39]  Robert M. Hierons,et al.  Expanding an extended finite state machine to aid testability , 2002, Proceedings 26th Annual International Computer Software and Applications.

[40]  David Lee,et al.  Online minimization of transition systems (extended abstract) , 1992, STOC '92.