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.
Similar content being viewed by others
References
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.
A.V. Aho, R. Sethi, and J.D. Ullman, Compilers: Principles, Techniques, and Tools, Reading, Massachusetts: Addison-Wesley, 1986.
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.
B. Beizer, Software Testing Techniques (2nd Ed.), New York: Van Nostrand Reinhold, 1990.
M.L. Bushnell and V.D. Agrawal, Essential of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits, Boston: Kluwer, 2000.
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.
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.
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.
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.
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.
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.
P.M. Herman, “A Data Flow Analysis Approach to Program Testing,” Aust. Comput. J., vol. 8, pp. 92–96, Nov. 1976.
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.
The International Technology Roadmap for Semiconductor 2004, http://public.itrs.net/.
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.
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.
X.J. Ma, Code Coverage Analysis for Behavioral Verilog Models, M.S. Thesis, University of Illinois, Urbana-Champaign, 2000.
S.C. Ntafos, “On Testing with Required Elements,” Proc. COMPSAC-81, Nov. 1981, pp. 132–139.
Simeon C. Ntafos, “On Required Element Testing”, IEEE Trans. Soft. Eng., vol. SE-10, no. 6, pp. 795–803, Nov. 1984.
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.
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.
S. Sutherland, The Verilog PLI Handbook: A Users Guide and Comprehensive Reference on the Verilog Programming Language Interface (2nd Ed.), Norwell, Massachusetts: Kluwer, 2002.
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.
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.
M. Wolfe, High Performance Compilers for Parallel Computing, Redwood City: Addison-Wesley, 1996.
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.
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-006-8634-3