Functional test generation using design and property decomposition techniques

Functional verification of microprocessors is one of the most complex and expensive tasks in the current system-on-chip design methodology. Simulation using functional test vectors is the most widely used form of processor validation. A significant bottleneck in the validation of such systems is the lack of automated techniques for directed test generation. While existing model checking--based approaches have proposed several promising ideas for automated test generation, many challenges remain in applying them to industrial microprocessors. The time and resources required for test generation using existing model checking--based techniques can be prohibitively large. This article presents an efficient test generation technique using decompositional model checking. The contribution of the article is the development of both property and design decomposition procedures for efficient test generation of pipelined processors. Our experimental results using a multi-issue MIPS processor and an industrial processor based on Power Architecture#8482; Technology demonstrate several orders-of-magnitude reduction in validation effort by drastically reducing both test generation time and test program length.

[1]  Nikil D. Dutt,et al.  Functional coverage driven test generation for validation of pipelined processors , 2005, Design, Automation and Test in Europe.

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

[3]  Ofer Strichman,et al.  Pruning Techniques for the SAT-Based Bounded Model Checking Problem , 2001, CHARME.

[4]  Nikil Dutt,et al.  Processor Description Languages , 2008 .

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

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

[7]  Giovanni Squillero,et al.  Automatic test program generation for pipelined processors , 2003, SAC '03.

[8]  Alon Gluska Practical methods in coverage-oriented verification of the Merom microprocessor , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

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

[10]  Klaus Schneider,et al.  Model Checking PSL Using HOL and SMV , 2006, Haifa Verification Conference.

[11]  Sandeep K. Shukla,et al.  Model-Driven Validation of SystemC Designs , 2008, EURASIP J. Embed. Syst..

[12]  Nikil D. Dutt,et al.  Automatic functional test program generation for pipelined processors using model checking , 2002, Seventh IEEE International High-Level Design Validation and Test Workshop, 2002..

[13]  Magdy S. Abadir,et al.  Directed Micro-architectural Test Generation for an Industrial Processor: A Case Study , 2006, Seventh International Workshop on Microprocessor Test and Verification (MTV'06).

[14]  Prabhat Mishra,et al.  Test generation using SAT-based bounded model checking for validation of pipelined processors , 2006, GLSVLSI '06.

[15]  Todd M. Austin,et al.  StressTest: an automatic approach to test generation via activity monitors , 2005, Proceedings. 42nd Design Automation Conference, 2005..

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

[17]  Christian Jacobi Formal Verification of Complex Out-of-Order Pipelines by Combining Model-Checking and Theorem-Proving , 2002, CAV.

[18]  Prabhat Mishra,et al.  Functional Test Generation using Property Decompositions for Validation of Pipelined Processors , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[19]  Kenneth L. McMillan,et al.  A Hybrid of Counterexample-Based and Proof-Based Abstraction , 2004, FMCAD.

[20]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[21]  Timothy Kam,et al.  Formal verification of pipeline control using controlled token nets and abstract interpretation , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[22]  Shmuel Ur,et al.  Micro architecture coverage directed generation of test programs , 1999, DAC '99.

[23]  Ofer Shtrichman Pruning Techniques for the SAT-Based Bounded Model Checking Problem , 2001 .

[24]  Ranjit Jhala,et al.  Microarchitecture Verification by Compositional Model Checking , 2001, CAV.

[25]  Joonyoung Kim,et al.  SATIRE: A new incremental satisfiability engine , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[26]  Allon Adir,et al.  Piparazzi: a test program generator for micro-architecture flow verification , 2003, Eighth IEEE International High-Level Design Validation and Test Workshop.

[27]  Mark Horowitz,et al.  Architecture validation for processors , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.

[28]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[29]  Edmund M. Clarke,et al.  Efficient generation of counterexamples and witnesses in symbolic model checking , 1995, DAC '95.

[30]  Fabio Somenzi,et al.  An Incremental Algorithm to Check Satisfiability for Bounded Model Checking , 2005, Electron. Notes Theor. Comput. Sci..

[31]  Armando Tacchella,et al.  Benefits of Bounded Model Checking at an Industrial Setting , 2001, CAV.

[32]  Armin Biere,et al.  Bounded model checking , 2003, Adv. Comput..

[33]  Robert P. Kurshan,et al.  Experimental Analysis of Different Techniques for Bounded Model Checking , 2003, TACAS.

[34]  John P. Hayes,et al.  High-level test generation for design verification of pipelined microprocessors , 1999, DAC '99.

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

[36]  John Paul Shen,et al.  Effectiveness of Microarchitecture Test Program Generation , 2000, IEEE Des. Test Comput..

[37]  Per Bjesse,et al.  Using counter example guided abstraction refinement to find complex bugs , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[38]  Nobu Matsumoto,et al.  A new verification methodology for complex pipeline behavior , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[39]  Angelo Gargantini,et al.  Using model checking to generate tests from requirements specifications , 1999, ESEC/FSE-7.

[40]  Stephan Merz,et al.  Model Checking , 2000 .

[41]  Jian Shen,et al.  An RTL Abstraction Technique for Processor Microarchitecture Validation and Test Generation , 2000, J. Electron. Test..

[42]  Sandeep K. Shukla,et al.  Design Fault Directed Test Generation for Microprocessor Validation , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[43]  Avi Ziv,et al.  Coverage directed test generation for functional verification using Bayesian networks , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

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

[45]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[46]  Sandeep K. Shukla,et al.  Model-driven test generation for system level validation , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

[47]  Kwang-Ting Cheng,et al.  Safety property verification using sequential SAT and bounded model checking , 2004, IEEE Design & Test of Computers.

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

[49]  Nikil D. Dutt,et al.  Graph-based functional test program generation for pipelined processors , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.