A Hierarchical Test Generation Approach Using Program Slicing Techniques on Hardware Description Languages

Sequential Automatic Test Pattern Generation is extremely computation intensive and produces acceptable results only on relatively small designs. Hierarchical approaches that target one module at a time and use ad-hoc abstractions for the rest of the design, have shown promising results in reducing the test generation complexity. This paper develops an elegant theoretical basis, based on program slicing, for hierarchical test generation. The technique to systematically obtain a “constraint slice” for each embedded module under test within a design, is described in detail. The technique has been incorporated in an automated tool for Verilog designs, and results on large benchmark circuits show the significant benefits of the approach.

[1]  Jingde Cheng,et al.  Slicing Concurrent Programs - A Graph-Theoretical Approach , 1993, AADEBUG.

[2]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[3]  Mihaela Sighireanu,et al.  A Graphical Parallel Composition Operator for Process Algebras , 1999, FORTE.

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

[5]  Jacob A. Abraham,et al.  Automatic test knowledge extraction from VHDL (ATKET) , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[6]  Giuseppe Visaggio,et al.  Extracting Reusable Funtions by Flow Graph-Based Program Slicing , 1997, IEEE Trans. Software Eng..

[7]  Masahiro Fujita,et al.  Program Slicing of Hardware Description Languages , 1999, CHARME.

[8]  A. J. van de Goor,et al.  Testing Semiconductor Memories: Theory and Practice , 1998 .

[9]  Suraj C. Kothari,et al.  Program Slice Browser , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[10]  Jacob A. Abraham,et al.  A novel functional test generation method for processors using commercial ATPG , 1997, Proceedings International Test Conference 1997.

[11]  Robert C. Aitken,et al.  Test sets and reject rates: all fault coverages are not created equal , 1993, IEEE Design & Test of Computers.

[12]  Jacob A. Abraham,et al.  FACTOR: a hierarchical methodology for functional test generation and testability analysis , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[13]  Yervant Zorian,et al.  PSBIST: A partial-scan based built-in self-test scheme , 1993, Proceedings of IEEE International Test Conference - (ITC).

[14]  G. A. Venkatesh,et al.  The semantic approach to program slicing , 1991, PLDI '91.

[15]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

[16]  Hiroto Yasuura,et al.  Program Slicing on VHDL Descriptions and Its Evaluation (Special Section on VLSI Design and CAD Algorithms) , 1998 .

[17]  Jacob A. Abraham,et al.  Functional Testing of Microprocessors , 1984, IEEE Transactions on Computers.

[18]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[19]  Keith Gallagher,et al.  A program decomposition scheme with applications to software modification and testing , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[20]  K.-T. Cheng,et al.  A Partial Scan Method for Sequential Circuits with Feedback , 1990, IEEE Trans. Computers.

[21]  Janak H. Patel,et al.  Hierarchical test generation under architectural level functional constraints , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..