Functional Testing of ASICs Designed with Hardware Description Languages

Richard Davis

Submitted to the Department of Electrical Engineering and Computer Science on May 24, 1995, in partial fulfillment of the requirements for the Degrees of Bachelor of Science in Computer Science and Engineering and Master of Engineering in Electrical Engineering and Computer Science

Abstract

Functional testing is a part of the VLSI design process for which there is no standard approach. Some research suggests that a method which integrates directed testing and random testing has the best chance of providing a bug-free design quickly. The functional testing system for the Arctic router chip uses this method and is designed with a very structured approach to shorten testing time further. This approach is comprised of the following three methods. Verilog is used to implement both the testing system and the Arctic chip itself. Signals are generated and recorded during test simulations with Verilog modules that connect to each functionally separate set of Arctic's pins. Finally, all tests have configuration, execution, and checking phases to force the users of the system to think about testing in a structured way. The result of this structured approach is a very fast and flexible testing system.

Thesis Supervisor: G. Andrew Boughton

Title: Research Associate, Department of Electrical Engineering and Computer Science


Acknowledgments

I would like to thank John Kubiatowicz and David Chaiken for giving me helpful pointers to other research on functional testing. Thanks also go to Professor Arvind for supporting this work through the Arctic project. Many, many thanks go to the brave men and women of the Arctic team, including Tom Durgavich, Doug Faust, Jack Costanza, and Ralph Tiberio who were the main engineers on the project, and the undergraduates Thomas Deng, Wing Chi Leung, and Elth Ogston who helped me implement this testing system, and Yuval Koren who used it to test statistics. Most of all, I would like to thank the omniscient and omnipresent Andy Boughton who led the Arctic team, provided all the advice, support, and feedback I could ever have asked for, and taught me that a boss can be a friend, too.

Contents

  1. Introduction
  2. Background
  3. Goals for the Arctic Testing Project
  4. Implementation of the Testing System
  5. The Randomized System
  6. Evaluation of the Arctic Testing Project
  7. Conclusions
  8. Appendix A: Example Test Groups From Arctic's Functional Testing System
  9. Appendix B: The User's Manual for Arctic's Functional Testing System
  10. Bibliography