Automatic Constraint Based Test Generation for Behavioral HDL Models

With the emergence of complex high-performance microprocessors, functional test generation has become a crucial design step. Constraint-based test generation is a well-studied directed behavioral level functional test generation paradigm. The paradigm involves conversion of a given circuit model into a set of constraints and employing constraint solvers to generate tests for it. However, automatic extraction of constraints from a given behavioral hardware design language (HDL) model remained a challenging open problem. This paper proposes an approach for automatic extraction of word-level model constraints from the behavioral verilog HDL description. The scenarios to be tested are also expressed as constraints. The model and the scenario constraints are solved together using an integer solver to arrive at the necessary functional test. The effectiveness of the approach is demonstrated by automatically generating the constraint models for: 1) an exclusive-shared-invalid multiprocessor cache coherency model and 2) the 16-bit DLX-architecture, from their respective Verilog-based behavioral models. Experimental results that generate test vectors for high level scenarios like pipeline hazards, cache miss, etc., spanning over multiple time-frames are presented.

[1]  Kwang-Ting Cheng,et al.  Assertion checking by combined word-level ATPG and modular arithmetic constraint-solving techniques , 2000, DAC.

[2]  Janak H. Patel,et al.  Architectural level test generation for microprocessors , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  J. Yuan,et al.  A framework for constrained functional verification , 2003, ICCAD-2003. International Conference on Computer Aided Design (IEEE Cat. No.03CH37486).

[4]  Paolo Prinetto,et al.  RT-level TPG exploiting high-level synthesis information , 1999, Proceedings 17th IEEE VLSI Test Symposium (Cat. No.PR00146).

[5]  Allon Adir,et al.  Genesys-Pro: innovations in test program generation for functional processor verification , 2004, IEEE Design & Test of Computers.

[6]  K. Keutzer,et al.  Functional Vector Generation for HDL Models Using , 2001 .

[7]  Sujit Dey,et al.  Software-based self-testing methodology for processor cores , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[9]  Srinivas Devadas,et al.  Sequential test generation and synthesis for testability at the register-transfer and logic levels , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.

[11]  Daniel D. Gajski,et al.  Assignment Decision Diagram for High-Level Synthesis , 1992 .

[12]  Jacob A. Abraham,et al.  Test generation for Gigahertz processors using an automatic functional constraint extractor , 1999, DAC '99.

[13]  A. K. Chandra,et al.  Constraint solving for test case generation: a technique for high-level design verification , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[14]  Daniel G. Saab,et al.  CHEETA: Composition of hierarchical sequential tests using ATKET , 1993, Proceedings of IEEE International Test Conference - (ITC).

[15]  Srivaths Ravi,et al.  Satisfiability-based test generation for nonseparable RTL controller-datapath circuits , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Samir Palnitkar Design Verification with e , 2003 .

[17]  Allon Adir,et al.  A generic micro-architectural test plan approach for microprocessor verification , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[18]  R. Kalyanaraman,et al.  Generation of design verification tests from behavioral VHDL programs using path enumeration and constraint programming , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[19]  Srivaths Ravi,et al.  Fast test generation for circuits with RTL and gate-level views , 2001, Proceedings International Test Conference 2001 (Cat. No.01CH37260).

[20]  Zhihong Zeng,et al.  LPSAT: a unified approach to RTL satisfiability , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[21]  Armin Biere,et al.  A survey of recent advances in SAT-based formal verification , 2005, International Journal on Software Tools for Technology Transfer.

[22]  Michael S. Hsiao,et al.  Automatic design validation framework for HDL descriptions via RTL ATPG , 2003, 2003 Test Symposium.

[23]  Yang Guo,et al.  Assertion-based automated functional vectors generation using constraint logic programming , 2004, GLSVLSI '04.

[24]  Kwang-Ting Cheng,et al.  On testing the path delay faults of a microprocessor using its instruction set , 2000, Proceedings 18th IEEE VLSI Test Symposium.

[25]  Paolo Prinetto,et al.  Testability analysis and ATPG on behavioral RT-level VHDL , 1997, Proceedings International Test Conference 1997.

[26]  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..

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

[28]  Sujit Dey,et al.  A scalable software-based self-test methodology for programmable processors , 2003, DAC '03.

[29]  Kurt Keutzer,et al.  Functional vector generation for HDL models using linear programming and 3-satisfiability , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[30]  Yervant Zorian,et al.  Instruction-Based Self-Testing of Processor Cores , 2003, J. Electron. Test..

[31]  Jacob A. Abraham,et al.  Program slicing for hierarchical test generation , 2002, Proceedings 20th IEEE VLSI Test Symposium (VTS 2002).

[32]  Aharon Aharon,et al.  Test Program Generation for Functional Verification of PowePC Processors in IBM , 1995, 32nd Design Automation Conference.

[33]  Viraphol Chaiyakul,et al.  High-Level Transformations for Minimizing Syntactic Variances , 1993, 30th ACM/IEEE Design Automation Conference.

[34]  Srivaths Ravi,et al.  TAO: regular expression-based register-transfer level testability analysis and optimization , 2001, IEEE Trans. Very Large Scale Integr. Syst..

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

[36]  Samir Palnitkar,et al.  Verilog HDL: a guide to digital design and synthesis , 1996 .

[37]  L. Fournier,et al.  Constraint satisfaction for test program generation , 1995, Proceedings International Phoenix Conference on Computers and Communications.

[38]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.