Skip to main content
Log in

Observability Statement Coverage Based on Dynamic Factored Use-Definition Chains for Functional Verification

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

Abstract

Simulation is still the primary verification method for integrated circuit designs, and coverage evaluation is indispensable for it on account of its incompleteness. As the functional complexity of modern designs is increasing dramatically, it is necessary to take observability into consideration for coverage metrics. In this paper we extend factored use-definition chains (FUD chains), a mature data structure in compilers, from sequential software to concurrent hardware design, and propose dynamic FUD chains (DFUD chains). Based on it, we present an observability model and an algorithm to evaluate observability-based statement coverage. This technique has several advantages. Firstly, it could be easily integrated into compilers or simulators for hardware description languages, since it utilizes many flow analysis techniques adopted in compilers. Secondly, it can be combined with many controllability metrics, such as statement coverage metric, since the observability model is based on definitions and uses of variables. The proposed technique has been implemented as a prototype tool for Verilog designs, and experimental results show its benefits.

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. M.S. Abadir, J. Ferguson, and T.E. Kirkland, “Logic Design Verification via Test Generation,” IEEE Trans. on Computer-Aided Design, vol. 7, no. 1, pp.138–148, 1988.

    Article  Google Scholar 

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

    Google Scholar 

  3. H. AL-Asaad and J.P. Hayes, “Design Verification via Simulation and Automatic Test Pattern Generation,” Proc. Int. Conf. on Computer-Aided Design, 1995, pp. 174–180.

  4. B. Beizer, Software Testing Techniques (2nd Ed.), New York: Van Nostrand Reinhold, 1990.

    Google Scholar 

  5. M.L. Bushnell and V.D. Agrawal, Essential of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits, Boston: Kluwer, 2000.

    Google Scholar 

  6. D.V. Campenhout, H. Al-Asaad, J.P. Hayes, T. Mudge, and R.B. Brown, “High-Level Design Verification of Microprocessors via Error Modeling,” ACM Trans. on Design Automation of Electronic System, vol. 3, no. 4, pp. 581–599, 1998.

    Article  Google Scholar 

  7. D.V. Campenhout, T. Mudge, and J.P. Hayes, “High-Level Test Generation for Design Verification of Pipelined Microprocessors,” Proc. Design Automation Conf., 1999, pp. 185–188.

  8. E.M. Clarke, M. Fujita, S.P. Rajan, T. Reps, S. Shankar, and T. Teitelbaum, “Program Slicing of Hardware Description Languages,” Proc. Conf. on Correct Hardware Design and Verification Methods, 1999, pp. 298–313.

  9. F. Corno, M. Sonza Reorda, G. Squillero, “RT-Level ITC’99 Benchmark and First ATPG Results,” IEEE Design & Test of Computers, July–August, pp. 44–53, 2000.

  10. S. Devadas, A. Ghosh, and K. Keutzer, “Observability-based Code Coverage Metric for Functional Simulation,” Proc. Int. Conf. on Computer-Aided Design, 1996, pp. 418–425.

  11. F. Fallah, S. Devadas, and K. Keutzer, “OCCOM—Efficient Computation of Observability-Based Code Coverage Metrics for Functional Verification,” IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 8, pp. 1003–1015, August 2001.

    Article  Google Scholar 

  12. P.M. Herman, “A Data Flow Analysis Approach to Program Testing,” Aust. Comput. J., vol. 8, pp. 92–96, Nov. 1976.

    MATH  Google Scholar 

  13. http://www.icarus.com/eda/verilog

  14. S. Ichinose, M. Iwaihara, and H. Yasuura, “Program Slicing of VHDL Descriptions and Its Evaluation,” IEICE Trans. Fundamentals, vol. E81-A, no. 12, pp. 2585–2597, 1998.

    Google Scholar 

  15. The International Technology Roadmap for Semiconductor 2004, http://public.itrs.net/.

  16. M. Kantrowitz and L.M. Noack, “I’m Done Simulating; Now What? Verification Coverage Analysis and Correctness Checking of the DECchip 21164 Alpha microprocessor,” Proc. Design Automation Conf., 1996, pp. 325–330.

  17. Tao Lv, Jianping Fan, and Xiaowei Li, “An Efficient Observability Evaluation Algorithm based on Factored Use-Def Chains,” Proc. Asian Test Symposium, 2003, pp. 161–166.

  18. X.J. Ma, Code Coverage Analysis for Behavioral Verilog Models, M.S. Thesis, University of Illinois, Urbana-Champaign, 2000.

  19. S.C. Ntafos, “On Testing with Required Elements,” Proc. COMPSAC-81, Nov. 1981, pp. 132–139.

  20. Simeon C. Ntafos, “On Required Element Testing”, IEEE Trans. Soft. Eng., vol. SE-10, no. 6, pp. 795–803, Nov. 1984.

    Article  Google Scholar 

  21. S. Rapps and E.J Weyuker, “Selecting Software Test Data Using Data Flow Information,” IEEE Trans. Soft. Eng., vol. SE-11, no. 4, pp. 367–375, Apr. 1985.

    Google Scholar 

  22. J. Shen and J.A. Abraham, “An RTL Abstraction Technique for Processor Microarchitecture Validation and Test Generation,” Jour. of Electronic Testing: Theory and Application, vol. 16, pp. 67–81, 2000.

    Article  Google Scholar 

  23. S. Sutherland, The Verilog PLI Handbook: A Users Guide and Comprehensive Reference on the Verilog Programming Language Interface (2nd Ed.), Norwell, Massachusetts: Kluwer, 2002.

    Google Scholar 

  24. S. Tasiran and K. Keutzer, “Coverage Metrics for Functional Validation of Hardware Designs,” IEEE Des. Test of Comput., vol. 18, no. 4, pp. 36–45, July–August 2001.

    Article  Google Scholar 

  25. V.M. Vedula, J.A. Abraham, J. Bhadra, and R. Tupuri, “A Hierarchical Test Generation Approach Using Program Slicing Techniques on Hardware Description Languages,” Jour. of Electronic Testing: Theory and Application, vol. 19, pp. 149–160, 2003.

    Article  Google Scholar 

  26. M. Wolfe, High Performance Compilers for Parallel Computing, Redwood City: Addison-Wesley, 1996.

    MATH  Google Scholar 

  27. Q.S. Zhang and I.G. Harris, “A Data Flow Fault Coverage Metric for Validation of Behavioral HDL Descriptions,” Proc. Int. Conf. on Computer-Aided Design, November 2000, pp. 369–372.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tao Lv.

Additional information

Editor: M. Abadir

*This paper is the revised version of “An efficient observability evaluation algorithm based on factored use-def chains” in the Proceedings of IEEE Asian Test Symposium, 2003.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lv, T., Fan, JP., Li, XW. et al. Observability Statement Coverage Based on Dynamic Factored Use-Definition Chains for Functional Verification. J Electron Test 22, 273–285 (2006). https://doi.org/10.1007/s10836-006-8634-3

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-006-8634-3

Keywords

Navigation