Skip to main content
Log in

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

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A.V. Aho, R. Sethi, and J.D. Ullman, Compilers: Principles, Techniques, and Tools, Reading, MA: Addison-Wesley, 1986.

    Google Scholar 

  2. D. Brahme and J.A. Abraham, “Functional Testing of Microprocessors,” IEEE Trans. on Computers, vol. 33, no. 6, pp. 475-485, June 1984.

    Google Scholar 

  3. D.V. Campenhout, “A CMOS ARM Microprocessor,” Class Report, University of Michigan, 1995.

  4. J. Cheng, “Slicing Concurrent Programs-A Graph-Theoretical Approach,” in Lecture Notes in Computer Science, Automated and Algorithmic Debugging, May 1993, pp. 223-240.

  5. K.T. Cheng and V.D. Agrawal, “A Partial Scan Method for Sequential Circuits with Feedback,” IEEE Trans. on Computers, vol. 39, no. 9, pp. 544-548, April 1990.

    Google Scholar 

  6. E.M. Clarke, M. Fujita, P.S. Rajan, T. Reps, S. Shankar, and T. Teitelbaum, “Program Slicing of Hardware Description Languages,” in Proc. Conf. on Correct Hardware Design and Verif. Methods, Sept. 1999, pp. 298-312.

  7. Y. Deng, S. Kothari, and Y. Namara, “Program Slice Browser,” in Proc. of the Intl.Workshop on Program Comprehension, May 2001, pp. 50-59.

  8. K.B. Gallagher and J.R. Lyle, “Using Program Slicing in Software Maintenance,” IEEE Trans. on Software Engineering, vol. 17, no. 8, pp. 751-761, Aug. 1991.

    Google Scholar 

  9. H. Garavel and M. Sighireanu, “A Graphical Parallel Composition Operator for Process Algebras,” in Proc. FORTE/PSTV, Oct. 1999, pp. 185-202.

  10. S. Ichinose, M. Iwaihara, and H. Yasuura, “Program Slicing on VHDL Descriptions and Its Evaluation,” IEICE Trans. Fund., vol. E81-A, no. 12, pp. 2585-2597, Dec. 1998.

    Google Scholar 

  11. F. Lanubile and G. Visaggio, “Extracting Reusable Functions by Flow Graph-Based Program Slicing,” IEEE Trans. on Software Engg., vol. 23, no. 4, pp. 246-259, April 1997.

    Google Scholar 

  12. J. Lee and J.H. Patel, “Hierarchical Test Generation under Architectural Level Functional Constraints,” IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 15, no. 9, pp. 1144-1151, Sept. 1996.

    Google Scholar 

  13. C.J. Lin, Y. Zorian, and S. Bhawmik, “PSBIST: A Partial-Scan Based BIST Scheme,” in Proc. Intl. Test Conf., Oct. 1993, pp. 507-516.

  14. J.R. Lyle and K.B. Gallagher, “A Program Decomposition Scheme with Applications to Software Modification and Testing,” in Proc. of the Hawaii Intl. Conf. on System Sciences, vol. 2, June 1989, pp. 479-485.

  15. P.C. Maxwell and R.C. Aitken, “Test Sets and Reject Rates: All Fault Coverages Are Not Created Equal,” IEEE Design & Test of Computers, vol. 10, no. 1, pp. 42-51, March 1993.

    Google Scholar 

  16. R.S. Tupuri and J.A. Abraham, “A Novel Functional Test Generation Method for Processors Using Commercial ATPG,” in Proc. Intl. Test Conf., Nov. 1997, pp. 743-752.

  17. v2html, “Rough Verilog Parser,” version 6.0, available at www.burbleland.com/v2html/rvp.html.

  18. A.J. van de Goor, Testing Semiconductor Memories: Theory and Practice, Chichester, UK: John Wiley & Sons, 1991.

    Google Scholar 

  19. V.M. Vedula and J.A. Abraham, “FACTOR: A Hierarchical Methodology for Functional Test Generation and Testability Analysis,” in Proc. Design Automation and Test in Europe, March 2002, pp. 730-734.

  20. V.M. Vedula, J.A. Abraham, and J. Bhadra, “Program Slicing for Hierarchical Test Generation,” in Proc. of IEEE VLSI Test Symposium, April 2002, pp. 237-243.

  21. G.A. Venkatesh, “The Semantic Approach to Program Slicing,” in Proc. of the ACM Conf. on Programming Language Design and Implementation, June 1991, pp. 107-119.

  22. P. Vishakantaiah, J.A. Abraham, and M. Abadir, “Automatic Test Knowledge Extraction from VHDL (ATKET),” in Proc. Design Automation Conf., June 1992, pp. 273-278.

  23. M. Weiser, “Program Slicing,” IEEE Trans. on Software Engineering, vol. SE-10, no. 4, pp. 352-357, July 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Vedula, V.M., Abraham, J.A., Bhadra, J. et al. A Hierarchical Test Generation Approach Using Program Slicing Techniques on Hardware Description Languages. Journal of Electronic Testing 19, 149–160 (2003). https://doi.org/10.1023/A:1022885523034

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1022885523034

Navigation