Abstract
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.
Similar content being viewed by others
Notes
This may happen if iv is the last vector of s.
If the unsatisfiability of t depends on more than one register, the backjumping procedure is repeated for each of them.
References
Cheng K, Krishnakumar A (1996) Automatic generation of functional vectors using the extended finite state machine model. ACM Transact Des Automat Electron Syst 1(1):57–79
Chipounov V, Georgescu V, Zamfir C, Candea G (2009) Selective symbolic execution. In: Proc. of workshop on hot topics dependable systems
Corno F, Cumani G, Sonza Reorda M, Squillero G (2001) Effective Techniques for High-Level ATPG. In: Proc of IEEE ATS, pp 225–230
Cytron R, Ferrante J, Rosen B, Wegman M, Zadeck F (1991) Efficiently computing static single assignment form and the control dependence graph. ACM Trans Program Lang Syst (TOPLAS) 13(4):451–490
Di Guglielmo G, Fummi F, Marconcini C, Pravadelli G (2006) Improving Gate-Level ATPG by Traversing Concurrent EFSMs. In: Proc of IEEE VTS
Dijkstra E (1959) A note on two problems in connexion with graphs. Numer Math 1:269–271
Duale A, Uyar U (2004) A method enabling feasible conformance test sequence generation for EFSM models. IEEE Trans Comput 53(5):614–627
Ferrandi F, Fummi F, Sciuto D (1998) Implicit test generation for behavioral vhdl models. In: Proc of IEEE ITC, pp 436–441
Fin A, Fummi F (2003) Genetic algorithms: the philosopher’s stone or an effective solution for high-level TPG? In: Proc of IEEE HLDVT, pp 163–168
Fummi F, Marconcini C, Pravadelli G (2004) Functional verification based on the EFSM model. In: Proc of IEEE HLDVT, pp 69–74
Gajski D, Zhu J, Domer R (1997) Essential issue in codesign. Thecnical report ICS-97-26, University of California, Irvine
Gajski D, Dutt N, Allen S, Wu C, Lin Y (1992) High-level synthesis: introduction to chip and system design, 1st edn. Kluwer Academic Publishers
Gaschnig J (1979) Performance measurement and analysis of certain search algorithms. PhD thesis, Department of Computer Science, CarnegieMellon University, Pittsburgh
Ghosh I, Fujita M (2001) Automatic test pattern generation for functional register-transfer level circuits using assignment decision diagrams. IEEE Trans Comput-Aided Des Integr Circuits Syst 20(3):402–415
Giomi J (1995) Finite state machine extraction from hardware description languages. In: ASIC conference and exhibit, 1995. Proceedings of the eighth annual IEEE international, pp 353–357
Hansen T, Schachte P, Søndergaard H (2009) State Joining and Splitting for the Symbolic Execution of Binaries. In: Runtime Verification. Springer, pp 76–92
Hierons R, Kim T-H, Ural H (2002) Expanding an extended finite state machine to aid testability. In: Proc of IEEE COMPSAC, pp 334–339
IEEE Computer Society (2008) IEEE standard for the functional language e. IEEE Computer Society
Iyer M, Parthasarathy G, Cheng K-T (2005) Efficient conflict-based learning in an RTL circuit constraint solver. In: Proc of IEEE DATE, pp 666–671
Jaffar J, Maher M (1994) Constraint logic programming: a survey. J Log Program 19:503–581
King J (1976) Symbolic execution and program testing. Commun ACM 19(7):385–394
Kroening D, Strichman O (2008) Decision procedures: an algorithmic point of view. Springer, New York
Lee D, Yannakakis M (1992) Online minimization of transition systems. In: Proc of ACM symposium on the theory of computing, pp 264–274
Lin X, Pomeranz I, Reddy S (1999) Techniques for improving the efficiency of sequential circuit test generation. In: Proc of IEEE/ACM ICCAD, pp 147–151
Lingappan L, Ravi S, Jha N (2003) Test generation for non-separable RTL controller-datapath circuits using a satisfiability based approach. In: Proc of IEEE ICCD, pp 187–193
Mentor Graphics inFact. http://www.mentor.com/products/fv/infact/
Mentor Graphics Questa MVC. http://www.mentor.com/products/fv/questa-mvc/
Moskewicz M, Madigan C, Zhao Y, Zhang L, Malik S (2001) Chaff: engineering an efficient sat solver. In: Proc of ACM/IEEE DAC, 530–535
Myers G (1979) The art of software testing. Wiley-Interscience, New York
Navabi Z (1993) VHDL: analysis and modeling of digital systems. McGraw-Hill
Padmanabhuni S (1999) Extended analysis of intelligent backtracking algorithms for the maximal constraint satisfaction problem. In: Proc of IEEE CCECE, pp 1710–1715
Pearl J, Korf R (1987) Search techniques. Annu Rev Comput Sci 2(1):451–467
Politecnico di Torino (1999) ITC-99 Benchmarks. In: http://www.cad.polito.it/tools/itc99.html
Regimbal S, Lemire J-F, Savaria Y, Bois G, Aboulhamid E, Baron A (2003) Automating functional coverage analysis based on an executable specification. In: Proc of IEEE international workshop on system-on-chip for real-time applications, pp 228–234
Roy S, Ramesh S, Chakraborty S, Nakata T, Rajan S (2002) Functional verification of system on chips-practices, issues and challenges. In: Proc of IEEE ASP-DAC, pp 11–13
Russel S, Norvig P (2002) Artificial intelligence: a modern approach. Prentice Hall
Sallay B, Petri A, Tilly K, Pataricza A, Sziray J (1996) High level test pattern generation for vhdl circuits. In: Proc of IEEE ETW, pp 201–205
Tao Y (2009) An introduction to assertion-based verification. In: Proc of IEEE international conference on ASIC, pp 1318–1323
Uyar U, Duale A (1997) Modeling VHDL specifications as consistent EFSMs. In: Proc of IEEE MILCOM, pp 740–744
Uyar U, Duale A (1999) Resolving inconsistencies in EFSM-modeled specifications. In: Proc of IEEE MILCOM, pp 135–139
Uyar U, Duale A (2000) Test generation form EFSM models of complex army protocols with inconsistencies. In: Proc of IEEE MILCOM, pp 340–346
Wallace M, Veron A (1994) Two problems-two solutions: one system-ECLiPSe. In: IEE Colloquium on advanced software technologies for scheduling, pp 1–3
Wu Q, Hsiao M (2004) Efficient ATPG for design validation based on partitioned state exploration histories. In: Proc of IEEE VTS, pp 389–394
Xin F, Ciesielski M, Harris I (2005) Design validation of behavioral vhdl descriptions for arbitrary fault models. In: Proc of IEEE ETS, pp 156–161
Zhang L, Ghosh I, Hsiao M (2003) Efficient Sequential ATPG for Functional RTL Circuits. In: Proc of IEEE ITC, pp 290–298
Author information
Authors and Affiliations
Corresponding author
Additional information
Responsible Editor: J. P. Hayes
This work has been partially supported by European project COCONUT FP7-2007-IST-1-217069.
Rights and permissions
About this article
Cite this article
Guglielmo, G.D., Guglielmo, L.D., Fummi, F. et al. Efficient Generation of Stimuli for Functional Verification by Backjumping Across Extended FSMs. J Electron Test 27, 137–162 (2011). https://doi.org/10.1007/s10836-011-5209-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-011-5209-8