skip to main content
article
Free Access

High-level design verification of microprocessors via error modeling

Published:01 October 1998Publication History
Skip Abstract Section

Abstract

A design verification methodology for microprocessor hardware based on modeling design errors and generating simulation vectors for the modeled errors via physical fault testing techniques is presented. We have systematically collected design error data from a number of microprocessor design projects. The error data is used to derive error models suitable for design verification testing. A class of basic error models is identified and shown to yield tests that provide good coverage of common error types. To improve coverage for more complex errors, a new class of conditional error models is introduced. An experiment to evaluate the effectiveness of our methodology is presented. Single actual design errors are injected into a correct design, and it is determined if the methodology will generate a test that detects the actual errors. The experiment has been conducted for two microprocessor designs and the results indicate that very high coverage of actual design errors can be obtained with test sets that are complete for a small number of synthetic error models.

References

  1. ABADIR, M. S., FERGUSON, J., AND KIRKLAND, T.E. 1988. Logic design verification via test generation. IEEE Trans. Computer-Aided Des. 7, 1 (Jan.), 138-148.Google ScholarGoogle Scholar
  2. AHARON, A., ET AL. 1991. Verification of the IBM RISC System/6000 by dynamic biased pseudo-random test program generator. IBM Syst. J. 30, 4, 527-538. Google ScholarGoogle Scholar
  3. AL-ASAAD, H., AND HAYES, J.P. 1995. Design verification via simulation and automatic test pattern generation. In Proceedings of the International Conference on Computer-Aided Design. IEEE Computer Society Press, Los Alamitos, CA, 174-180. Google ScholarGoogle Scholar
  4. AL-ASAAD, H., VAN CAMPENHOUT, D., HAYES, J. P., MUDGE, T., AND BROWN, R. B. 1997. High-level design verification of microprocessors via error modeling. In Digest of the IEEE High-Level Design Validation and Test Workshop. IEEE Computer Society Press, Los Alamitos, CA, 194-201.Google ScholarGoogle Scholar
  5. AL HAYEK, G., AND ROBACH, C. 1996. From specification validation to hardware testing: A unified method. In Proceedings of the IEEE International Test Conference. IEEE Computer Society Press, Los Alamitos, CA, 885-893. Google ScholarGoogle Scholar
  6. BHATTACHARYA, D., AND HAYES, J.P. 1985. High-Level test generation using bus faults. In Digest of the 15th International Symposium on Fault-Tolerant Computing. IEEE, New York, 65-70.Google ScholarGoogle Scholar
  7. BEIZER, B. 1990. Software Testing Techniques. Van Nostrand Reinhold, New York, 2nd ed. Google ScholarGoogle Scholar
  8. BRGLEZ, F., AND FUJIWARA, H. 1985. A neutral netlist of 10 combinational benchmark circuits and a target translator in Fortran. In Proceedings of the IEEE Symposium on Circuits and Systems. IEEE Computer Society Press, Los Alamitos, CA, 695-698.Google ScholarGoogle Scholar
  9. BROWN, R., ET AL. 1996. Complementary GaAs technology as a GHz microprocessor. In Technical Digest of the GaAs IC Symposium. IEEE Piscataway, NJ, 313-316.Google ScholarGoogle Scholar
  10. CADENCE DESIGN SYSTEMS, INC. 1994. Verilog-XL Reference Manual. Cadence Design Systems, Inc.Google ScholarGoogle Scholar
  11. CASAUBIEILH, F., ET AL. 1996. Functional verification methodology of Chameleon processor. In Proceedings of the 33rd Design Automation Conference. ACM, New York, 421-426. Google ScholarGoogle Scholar
  12. CEDERQVIST, P., ET AL. 1995. Version management with CVS. Signum Support AB, Linkoping, Sweden.Google ScholarGoogle Scholar
  13. CHANDRA, A. K., ET AL. 1995. AVPGEN--A test generator for architecture verification. IEEE Trans. VSLI Syst. 3, (June), 188-200. Google ScholarGoogle Scholar
  14. COLWELL, R. P., AND LETHIN, R.J. 1994. Latent design faults in the development of the Multiflow TRACE/200. IEEE Trans. Reliabil. 43, 4 (Dec.), 557-565.Google ScholarGoogle Scholar
  15. DEMILLO, R. A., LIPTON, R. J., AND SAYWARD, F.G. 1978. Hints on test data selection: Help for the practicing programmer. IEEE Comput. (Apr.), 34-41.Google ScholarGoogle Scholar
  16. DEVADAS, S., GHOSH, A., AND KEUTZER, K. 1996. Observability-based code coverage metric for functional simulation. In Proceedings of the International Conference on Computer-Aided Design. IEEE Computer Society Press, Los Alamitos, CA, 418-425. Google ScholarGoogle Scholar
  17. GANAPATHY, G., ET AL. 1996. Hardware emulation for functional verification of K5. In Proceedings of the Design Automation Conference. ACM, New York, 315-318. Google ScholarGoogle Scholar
  18. HANSEN, M. C., AND HAYES, J.P. 1995. High-level test generation using physically induced faults. In Proceedings of the VLSI Test Symposium. IEEE Computer Society Press, 20-28. Google ScholarGoogle Scholar
  19. HENNESSY, g., AND PATTERSON, D. 1990. Computer Architecture: A Quantitative Approach. Morgan-Kaufmann, San Francisco, CA. Google ScholarGoogle Scholar
  20. HOSSEINI, A., MAVROIDIS, D., AND KONAS, P. 1996. Code generation and analysis for the functional verification of microprocessors. In Proceedings of the Design Automation Conference. ACM, New York, 305-310. Google ScholarGoogle Scholar
  21. INTEL CORPORATION. 1998. Pentium Processor Specification Update. Available from http:// www.intel.com.Google ScholarGoogle Scholar
  22. KANTROWITZ, M., AND NOACK, L. M. 1996. I'm done simulating; Now what? Verification coverage analysis and correctness checking of the DECchip 21164 Alpha microprocessor. In Proceedings of the Design Automation Conference. Los Alamitos, CA, 325-330. Google ScholarGoogle Scholar
  23. KIM, H. 1996. C880 high-level Verilog description. Internal Report. Univ. Michigan, Ann Arbor, MI.Google ScholarGoogle Scholar
  24. KING, K. N., AND OFFUTT, A. J. 1991. A Fortran language system for mutation-based software testing. Softw. Pract. Exp. 21, 685-718. Google ScholarGoogle Scholar
  25. KUMAR, g.1997. Prototyping and M68060 for concurrent verification. IEEE Des. Test 14, 1, 34-41. Google ScholarGoogle Scholar
  26. MIPS TECHNOLOGIES, INC. 1994. MIPS R4OOOPC/SC Errata, Processor Revision 2.2 and 3.0. (May).Google ScholarGoogle Scholar
  27. OFFUTT, A. J., ROTHERMEL, G., UNTCH, R. H., AND ZAPF, C. 1996. An experimental determination of sufficient mutant operators. ACM Trans. Softw. Eng. Meth. 5, 2 (Apr.), 99-118. Google ScholarGoogle Scholar
  28. PALNITKAR, S., SAGGURTI, P., AND KUANG, S.-H. 1994. Finite state machine trace analysis program. In Proceedings of the International Verilog HDL Conference. IEEE Computer Science Press, Los Alamitos, CA, 52-57.Google ScholarGoogle Scholar
  29. POSTIFF, M. 1996. LC-2 Programmer's Reference Manual, rev. 3.1. Univ. Michigan, Ann Arbor, MI.Google ScholarGoogle Scholar
  30. TEXAS INSTRUMENTS. 1988. The TTL Logic Data Book. Texas Instruments, Dallas, TX.Google ScholarGoogle Scholar
  31. WOODWARD, M.R. 1993. Mutation testing--Its origin and evolution. Inf. Softw. Tech. 35, (Mar.). 163-169.Google ScholarGoogle Scholar
  32. YOELI, M., ED. 1990. Formal Verification of Hardware Design. IEEE Computer Society Press, Los Alamitos, CA. Google ScholarGoogle Scholar

Index Terms

  1. High-level design verification of microprocessors via error modeling

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader