skip to main content
article
Free Access

Formal verification in hardware design: a survey

Published:01 April 1999Publication History
Skip Abstract Section

Abstract

In recent years, formal methods have emerged as an alternative approach to ensuring the quality and correctness of hardware designs, overcoming some of the limitations of traditional validation techniques such as simulation and testing.

There are two main aspects to the application of formal methods in a design process: the formal framework used to specify desired properties of a design and the verification techniques and tools used to reason about the relationship between a specification and a corresponding implementation. We survey a variety of frameworks and techniques proposed in the literature and applied to actual designs. The specification frameworks we describe include temporal logics, predicate logic, abstraction and refinement, as well as containment between ω-regular languages. The verification techniques presented include model checking, automata-theoretic techniques, automated theorem proving, and approaches that integrate the above methods.

In order to provide insight into the scope and limitations of currently available techniques, we present a selection of case studies where formal methods were applied to industrial-scale designs, such as microprocessors, floating-point hardware, protocols, memory subsystems, and communications hardware.

References

  1. AAGAARD, M. D. AND SEGER, C.-J. H. 1995. The formal verification of a pipelined doubleprecision IEEE floating-point multiplier. In Proceedings of the 1995 IEEE/ACM International Conference on Computer-Aided Design (ICCAD-95, San Jose, CA, Nov. 5-9), R. Rudell, Ed. IEEE Computer Society Press, Los Alamitos, CA, 7-10. Google ScholarGoogle Scholar
  2. AAGAARD, M. D., LEESER, M. E., AND WINDLEY, P.J. 1993. Toward a super duper hardware tactic. In HUG '93. Lecture Notes in Computer Science, vol. 780. Springer-Verlag, New York, 400-412. Google ScholarGoogle Scholar
  3. ABADI, M. AND LAMPORT, L. 1991. The existence of refinement mappings. Theor. Comput. Sci. 82, 2 (May 31, 1991), 253-284. Google ScholarGoogle Scholar
  4. ABADI, M. AND LAMPORT, L. 1993. Composing specifications. ACM Trans. Program. Lang. Syst. 15, 1 (Jan. 1993), 73-132. Google ScholarGoogle Scholar
  5. ALBIN, K. L., BROCK, B. C., HUNT, W. A., AND SMITH, L. M 1995. Testing the FM9001 microprocessor. Tech. Rep. 90. Computational Logic, Inc., Austin, TX.Google ScholarGoogle Scholar
  6. ALUR, R. AND HENZINGER, T.A. 1992. Logics and models of real time: A survey. In Real-Time: Theory in Practice. Lecture Notes in Computer Science, vol. 600. Springer-Verlag, New York, 74-106. Google ScholarGoogle Scholar
  7. ANON, K. D., BOULERICE, N., CERNY, E., CORELLA, F., LANGEVIN, M., SONG, X., TAHAR, S., Xu, Y., AND ZHOU, Z. 1996. MDG tools for the verification of RTL designs. In Proceedings of the 8th International Conference on Computer-Aided Verification (CAV '96, New Brunswick, NJ, July/Aug.), R. Alur and T. A. Henzinger, Eds. Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York, NY, 433-436. Google ScholarGoogle Scholar
  8. APPENZELLER, D. P. AND KUEHLMANN, A. 1995. Formal verification of the PowerPCTM microprocessor. In Proceedings of the International Conference on Computer Design (ICCD '95, Oct.). 79-84. Google ScholarGoogle Scholar
  9. BARRETT, C., DILL, D., AND LEVITT, J. 1996. Validity checking for combinations of theories with equality. In Proceedings of the First International Conference on Formal Methods in Computer-Aided Design (FMCAD '96, Palo Alto, CA, Nov.), M. Srivas and A. Camilleri, Eds. Lecture Notes in Computer Science, vol. 1166. Springer-Verlag, New York, NY, 187-201. Google ScholarGoogle Scholar
  10. BEATTY, D. L. 1993. A methodology for formal hardware verification, with application to microprocessors. Ph.D. Dissertation. Carnegie Mellon University, Pittsburgh, PA. Google ScholarGoogle Scholar
  11. BEATTY, D. L. AND BRYANT, R. E. 1994. Formally verifying a microprocessor using a simulation methodology. In Proceedings of the 31st Annual Conference on Design Automation (DAC'94, San Diego, CA, June 6-10, 1994), M. Lorenzetti, Ed. ACM Press, New York, NY, 596-602. Google ScholarGoogle Scholar
  12. BEER, I., BEN-DAVID, S., EISNER, C., AND LANDVER, A. 1996. RuleBase: An industry-oriented formal verification tool. In Proceedings of the 33rd Conference on Design Automation (DAC '96, Las Vegas, NV, June). 655-660. Google ScholarGoogle Scholar
  13. BERNHOLTZ, O., VARDI, M. Y., AND WOLPER, P. 1994. An automata-theoretic approach to branching-time model checking. In Proceedings of the Sixth International Conference on Computer-Aided Verification (CAV'94, June). Lecture Notes in Computer Science, vol. 818. Springer-Verlag, New York, 142-155. Google ScholarGoogle Scholar
  14. BIRMAN, M., SAUMELS, A., CHU, G., CHUK, T., Hu, L., MCLEOD, J., AND BARNES, J. 1990. Developing the WTL3170/3171 Sparc floating-point coprocessors. IEEE Micro 10, 1 (Feb.), 55-64. Google ScholarGoogle Scholar
  15. BJORNER, N., BROWNE, A., CHANG, E., COL N, M., KAPUR, A., MANNA, Z., SIPMA, H., AND URIBE, T. 1996. STEP: Deductive-algorithmic verification of reactive and real-time systems. In Proceedings of the 8th International Conference on Computer-Aided Verification (CAV '96, New Brunswick, NJ, July/Aug.), R. Alur and T. A. Henzinger, Eds. Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York, NY, 415-418. Google ScholarGoogle Scholar
  16. BORMANN, J.-R., LOHSE, J.-R., PAYER, M., AND VENZL, G. 1995. Model checking in industrial hardware design. In Proceedings of the 32nd ACM/IEEE Conference on Design Automation (DAC '95, San Francisco, CA, June 12-16, 1995), B. T. Preas, Ed. ACM Press, New York, NY, 298-303. Google ScholarGoogle Scholar
  17. BOYER, R. S. AND MOORE, J. S. 1979. A Computational Logic. Academic Press, Inc., New York, NY.Google ScholarGoogle Scholar
  18. BOYER, R. S. AND MOORE, J. S. 1988. A Computational Logic Handbook. Academic Press Perspectives in Computing. Academic Press Prof., Inc., San Diego, CA. Google ScholarGoogle Scholar
  19. BRACE, K. S., RUDELL, R. L., AND BRYANT, R. E. 1990. Efficient implementation of a BDD package. In Proceedings of the ACM/IEEE Conference on Design Automation (DAC '90, Orlando, FL, June 24-28), R. C. Smith, Ed. ACM Press, New York, NY, 40-45. Google ScholarGoogle Scholar
  20. BRADFIELD, J. C. 1992. Verifying Temporal Properties of Systems. Birkh User Progress in Theoretical Computer Science Series. Birkh user Boston Inc., Cambridge, MA. Google ScholarGoogle Scholar
  21. BRAYTON, R. K., HACHTEL, G. D., SANGIOVANNI-VINCENTELLI, A., SOMENZI, F., AzIz, A., CHENG, S.-T., EDWARDS, S. A., KHATRI, S. P., KUKIMOTO, Y., PARDO, A., QADEER, S., RANJAN, R. K., SARWARY, S., SHIPLE, T. R., SWAMY, G., AND VILLA, T. 1996. VIS. In Proceedings of the First International Conference on Formal Methods in Computer-Aided Design (FMCAD '96, Palo Alto, CA, Nov.), M. Srivas and A. Camilleri, Eds. Lecture Notes in Computer Science, vol. 1166. Springer-Verlag, New York, NY, 248-256. Google ScholarGoogle Scholar
  22. BROCK, B. AND HUNT, W.A. 1990. Report on the formal specification and partial verification of the VIPER microprocessor. Tech. Rep. 46. Computational Logic, Inc., Austin, TX.Google ScholarGoogle Scholar
  23. BROCK, B., HUNT, W. A., AND KAUFMANN, M. 1994. The FM9001 microprocessor proof. Tech. Rep. 86. Computational Logic, Inc., Austin, TX.Google ScholarGoogle Scholar
  24. BROCK, B., KAUFMANN, M., AND MOORE, J. S. 1996. ACL2 theorems about commercial microprocessors. In Proceedings of the First International Conference on Formal Methods in Computer-Aided Design (FMCAD '96, Palo Alto, CA, Nov.), M. Srivas and A. Camilleri, Eds. Lecture Notes in Computer Science, vol. 1166. Springer-Verlag, New York, NY, 275-293. Google ScholarGoogle Scholar
  25. BROCK, B. C. AND HUNT, W.A. 1997. The DUAL-EVAL hardware description language and its use in the formal specification and verification of the FM9001 microprocessor. Formal Methods Syst. Des. 11, 1 (July), 71-104. Google ScholarGoogle Scholar
  26. BRYANT, R. E., BEATTY, D., BRACE, D. K., CHO, K., AND SHEFFLER, T. 1987. COSMOS: A compiled simulator for MOS circuits. In Proceedings of the 24th ACM/IEEE Conference on Design Automation (DAC '87, Miami Beach, FL, June 28-July 1, 1987), A. O'Neill and D. Thomas, Eds. ACM Press, New York, NY, 9-16. Google ScholarGoogle Scholar
  27. BRYANT, R. E. AND CHEN, Y.-A. 1995. Verification of arithmetic circuits with binary moment diagrams. In Proceedings of the 32nd ACM/IEEE Conference on Design Automation (DAC '95, San Francisco, CA, June 12-16, 1995), B. T. Preas, Ed. ACM Press, New York, NY, 535-541. Google ScholarGoogle Scholar
  28. BRYANT, R. E. 1986. Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35, 8 (Aug. 1986), 677-691. Google ScholarGoogle Scholar
  29. BRYANT, R. 1991. A methodology for hardware verification based on logic simulation. J. ACM 38, 2 (Apr. 1991), 299-328. Google ScholarGoogle Scholar
  30. BRYANT, R. E. 1991. On the complexity of VLSI implementations and graph representations of boolean functions with application to integer multiplication. IEEE Trans. Comput. 40, 2 (Feb. 1991), 205-213. Google ScholarGoogle Scholar
  31. BRYANT, R. E. 1992. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24, 3 (Sept. 1992), 293-318. Google ScholarGoogle Scholar
  32. BRYANT, R. E. 1995. Binary decision diagrams and beyond: Enabling technologies for formal verification. In Proceedings of the 1995 IEEE /ACM International Conference on Computer- Aided Design (ICCAD-95, San Jose, CA, Nov. 5-9), R. Rudell, Ed. IEEE Computer Society Press, Los Alamitos, CA, 236-243. Google ScholarGoogle Scholar
  33. BRYANT, R. E. 1996. Bit-level analysis of an srt divider circuit. In Proceedings of the 33rd Conference on Design Automation (DAC '96, Las Vegas, NV, June). 661-665. Google ScholarGoogle Scholar
  34. BURCH, J., CLARKE, E., LONG, D., MCMILLAN, K., AND DILL, D. 1994. Symbolic model checking for sequential circuit verification. IEEE Trans. Comput.-Aided Des. Integr. Circuits 13, 4 (Apr.), 401-424.Google ScholarGoogle Scholar
  35. BURCH, J. R. 1996. Techniques for verifying superscalar microprocessors. In Proceedings of the 33rd Conference on Design Automation (DAC '96, Las Vegas, NV, June). 552-557. Google ScholarGoogle Scholar
  36. BURCH, J. R., CLARKE, E. M., MCMILLAN, K. L., DILL, D. L., AND HWANG, L.J. 1990. Symbolic model checking: 1020 states and beyond. In Proceedings of the Fifth Annual Symposium on Logic in Computer Science (LICS '90, June). 428-439.Google ScholarGoogle Scholar
  37. BURCH, J. R. AND DILL, D. L. 1994. Automatic verification of pipelined microprocessor control. In Proceedings of the Sixth International Conference on Computer-Aided Verification (CAV'94, June). Lecture Notes in Computer Science, vol. 818. Springer-Verlag, New York, 68-80. Google ScholarGoogle Scholar
  38. CAVANAGH, J. J. 1984. Digital Computer Arithmetic: Design and Implementation. McGraw- Hill, Inc., New York, NY. Google ScholarGoogle Scholar
  39. CHANDY, K. M. AND MISRA, J. 1988. Parallel Program Design: A Foundation. Addison-Wesley Longman Publ. Co., Inc., Reading, MA. Google ScholarGoogle Scholar
  40. CHEN, Y.-A., CLARKE, E., HO, P.-H., HOSKOTE, Y., KAM, T., KHAIRA, M., O'LEARY, J., AND ZHAO, X. 1996. Verification of all circuits in a floating-point unit using word-level model checking. In Proceedings of the First International Conference on Formal Methods in Computer-Aided Design (FMCAD '96, Palo Alto, CA, Nov.), M. Srivas and A. Camilleri, Eds. Lecture Notes in Computer Science, vol. 1166. Springer-Verlag, New York, NY, 19-33. Google ScholarGoogle Scholar
  41. CHURCH, A. 1940. A formulation of the simple theory of types. J. Symb. Logic 5, 56-115.Google ScholarGoogle Scholar
  42. CLARKE, E. M., EMERSON, E. A., AND SISTLA, A. P. 1986. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8, 2 (Apr. 1986), 244-263. Google ScholarGoogle Scholar
  43. CLARKE, E. M., FUJITA, M., AND ZHAO, X. 1995. Hybrid decision diagrams. In Proceedings of the 1995 IEEE/ACM International Conference on Computer-Aided Design (ICCAD-95, San Jose, CA, Nov. 5-9), R. Rudell, Ed. IEEE Computer Society Press, Los Alamitos, CA, 159-163. Google ScholarGoogle Scholar
  44. CLARKE, E., GRUMBERG, O., HIRAISHI, H., JHA, S., LONG, D., MCMILLAN, K., AND NESS, L. 1993. Verification of the Futurebus+ cache coherence protocol. In Proceedings of the 11th Conference on on Computer Hardware Description Languages and Their Applications (CHDL '93). IFIP, Laxenburg, Austria. Google ScholarGoogle Scholar
  45. CLARKE, E., MCMILLAN, K., CAMPOS, S., AND HARTONAS-GARMHAUSEN, V. 1994. Symbolic model checking. In Proceedings of the Sixth International Conference on Computer-Aided Verification (CAV'94, June). Lecture Notes in Computer Science, vol. 818. Springer-Verlag, New York, 419-422. Google ScholarGoogle Scholar
  46. CLARKE, E. M., MCMILLAN, K. L., ZHAO, X, FUJITA, M., AND YANG, J. 1993. Spectral transforms for large boolean functions with applications to technology mapping. In Proceedings of the 30th International Conference on Design Automation (DAC'93, Dallas, TX, June 14-18), A. E. Dunlop, Ed. ACM Press, New York, NY, 54-60. Google ScholarGoogle Scholar
  47. CLARKE, E. M., DRAGHICESCU, I. A., AND KURSHAN, R. P. 1990. A unified approach for showing language containment and equivalence between various types of o~-automata. In Proceedings of the 15th Colloquium on Trees in Algebra and Programming (CAAP'90, May). Lecture Notes in Computer Science Springer-Verlag, New York, 103-116. Google ScholarGoogle Scholar
  48. CLARKE, E. M., GERMAN, S. M., AND ZHAO, X. 1996. Verifying the SRT division algorithm using theorem proving techniques. In Proceedings of the 8th International Conference on Computer-Aided Verification (CAV '96, New Brunswick, NJ, July/Aug.), R. Alur and T. A. Henzinger, Eds. Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York, NY, 111-122. Google ScholarGoogle Scholar
  49. CLARKE, E. M., GRUMBERG, O., AND HAMAGUCHI, K. 1994. Another look at LTL model checking. In Proceedings of the Sixth International Conference on Computer-Aided Verification (CAV'94, June). Lecture Notes in Computer Science, vol. 818. Springer-Verlag, New York. Google ScholarGoogle Scholar
  50. CLARKE, E. M., GRUMBERG, O., AND LONG, D. E. 1994. Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16, 5 (Sept. 1994), 1512-1542. Google ScholarGoogle Scholar
  51. CLARKE, E. M., KHAIRA, M., AND ZHAO, X. 1996. Word level model checking: Avoiding the Pentium FDIV error. In Proceedings of the 33rd Conference on Design Automation (DAC '96, Las Vegas, NV, June). 645-648. Google ScholarGoogle Scholar
  52. COHN, A. 1988. A proof of correctness of the Viper microprocessor: The first level. In VLSI Specification, Verification and Synthesis, G. Birtwistle and P. Subrahmanyam, Eds. Kluwer Academic Publishers, Hingham, MA, 27-71.Google ScholarGoogle Scholar
  53. COHN, A. 1989. Correctness properties of the Viper block model: The second level. In Current Trends in Hardware Verification and Automated Theorem Proving, G. Birtwistle and P. A. Subrahmanyam, Eds. Springer-Verlag, New York, NY, 1-91. Google ScholarGoogle Scholar
  54. COHN, A. 1989. The notion of proof in hardware verification. J. Autom. Reasoning 5, 2 (June 1989), 127-139. Google ScholarGoogle Scholar
  55. CORELLA, F., ZHOU, Z., SONG, X., LANGEVIN, M., AND CERNY, E. 1997. Multiway decision graphs for automated hardware verification. Formal Methods Syst. Des. 10, 1 (Feb.), 7-46. Google ScholarGoogle Scholar
  56. COUDERT, O., BERTHET, C., AND MADRE, J. C. 1989. Verification of synchronous sequential machines based on symbolic execution. In Automatic Verification Methods for Finite State Systems. Lecture Notes in Computer Science, vol. 407. Springer-Verlag, New York, 365-373. Google ScholarGoogle Scholar
  57. COUDERT, O. AND MADRE, J. C. 1990. A unified framework for the formal verification of sequential circuits. In Proceedings of the International Conference on Computer-Aided Design (ICCAD'90). 126-129.Google ScholarGoogle Scholar
  58. CURZON, P. 1994. The formal verification of the Fairisle ATM switching element: An overview. Tech. Rep. 328,. Univ. of Cambridge Computer Laboratory, Cambridge, UK.Google ScholarGoogle Scholar
  59. CURZON, P. AND LESLIE, I. 1996. Improving hardware design whilst simplyfying their proof. In Proceedings of the Third Workshop on Designing Correct Circuits (DCC, Bastad, Sweden, Sept.). Google ScholarGoogle Scholar
  60. CYRLUK, D., LINCOLN, P., AND SHANKAR, N. 1996. On Shostak's decision procedure for combinations of theories. In Proceedings of the 15th International Conference on Automated Deduction (CADE'96, July). Lecture Notes in Computer Science, vol. 1104. Springer-Verlag, New York, 463-477. Google ScholarGoogle Scholar
  61. CYRLUK, D., RAJAN, S., SHANKAR, N., AND SRIVAS, M. K. 1994. Effective theorem proving for hardware verification. In Proceedings of the Second International Conference on Theorem Provers in Circuit Design (TPCD'94). Lecture Notes in Computer Science, vol. 901. Springer-Verlag, New York, 203-222. Google ScholarGoogle Scholar
  62. DAC EXHIBITS, 1997. Thirty-Fourth DAC exhibit information, http://www.dac.com/ 34exhibits.html.Google ScholarGoogle Scholar
  63. D HARBE, D. AND BORRIONE, D. 1995. Semantics of a verification-oriented subset of VHDL. In Correct Hardware Design and Verification Methods (CHARME '95, Oct.). Lecture Notes in Computer Science, vol. 987. Springer-Verlag, New York, 293-310. Google ScholarGoogle Scholar
  64. DILL, D. L. 1996. The Mur~ verification system. In Proceedings of the Eighth International Conference on Computer-Aided Verification (CAV '96, Aug.). Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York, 390-393. Google ScholarGoogle Scholar
  65. DILL, D. L., DREXLER, A. J., Hu, A. J., AND YANG, C. H. 1992. Protocol verification as a hardware design aid. In Proceedings of the International Conference on Computer Aided Design. 522-525. Google ScholarGoogle Scholar
  66. DUFFY, D.A. 1991. Principles of Automated Theorem Proving. John Wiley & Sons, Inc., New York, NY. Google ScholarGoogle Scholar
  67. EIR KSSON, A. T. 1996. Integrating formal verification methods with a conventional project design flow. In Proceedings of the 33rd Conference on Design Automation (DAC '96, Las Vegas, NV, June). 666-671. Google ScholarGoogle Scholar
  68. EIR KSSON, A. T. AND MCMILLAN, K. L. 1995. Using formal verification/analysis methods on the critical path in system design. In Proceedings of the Seventh International Conference on Computer-Aided Verification (CAV '95, July). Lecture Notes in Computer Science, vol. 939. Springer-Verlag, New York, 367-380. Google ScholarGoogle Scholar
  69. EMERSON, E.A. 1990. Temporal and modal logic. In Handbook of Theoretical Computer Science (vol. B): Formal Models and Semantics, J. van Leeuwen, Ed. MIT Press, Cambridge, MA, 995-1072. Google ScholarGoogle Scholar
  70. EMERSON, E. A. AND HALPERN, J.Y. 1986. "Sometimes" and "not never" revisited: On branching versus linear time temporal logic. J. ACM 33, 1 (Jan. 1986), 151-178. Google ScholarGoogle Scholar
  71. ENGBERG, U., GRONNING, P., AND LAMPORT, L. 1992. Mechanical verification of concurrent systems with TLA. In Proceedings of the Fourth International Conference on Computer- Aided Verification (CAV '92). Lecture Notes in Computer Science, vol. 663. Springer-Verlag, New York, 44-55. Google ScholarGoogle Scholar
  72. FILKORN, T. 1991. A method for symbolic verification of synchronous circuits. In Computer Hardware Description Languages and their Applications (CHDL '91, Apr.), D. Borrione and R. Waxman, Eds. North-Holland Publishing Co., Amsterdam, The Netherlands, 249-259.Google ScholarGoogle Scholar
  73. FUJITA, M., FUJISAWA, H., AND MATSUNAGA, Y. 1993. Variable ordering algorithms for ordered binary decision diagrams and their evaluation. IEEE Trans. Comput.-Aided Des. Integr. Circuits 12, 1 (Jan.), 6-12.Google ScholarGoogle Scholar
  74. GARLAND, S. J. AND GUTTAG, J.V. 1989. An overview of LP, the Larch prover. In Rewriting Techniques and Applications. Lecture Notes in Computer Science, vol. 355. Springer-Verlag, New York, 137-151. Google ScholarGoogle Scholar
  75. GERTH, R. 1989. Foundations of compositional program refinement: Safety properties. In Stepwise Refinement of Distributed Systems. Lecture Notes in Computer Science, vol. 430. Springer-Verlag, New York, 777-808. Google ScholarGoogle Scholar
  76. GORDON, M. 1985. Why higher-order logic is a good formalism for specifying and verifying hardware. In Formal Aspects of VLSI Design, G. J. Milne and P. A. Subrahmanyam, Eds. Elsevier Science Inc., New York, NY, 153-177.Google ScholarGoogle Scholar
  77. GORDON, M. J., Ed. 1988. HOL: A proof generating system for higher-order logic. In VLSI Specification, Verification and Synthesis, G. Birtwistle and P. Subrahmanyam, Eds. Kluwer Academic Publishers, Hingham, MA, 74-128.Google ScholarGoogle Scholar
  78. GORDON, M. J. C., WADSWORTH, C. P., AND MILNER, A. J. 1979. Edinburgh LCF: a mechanised logic of computation. In Lecture Notes in Computer Science. Lecture Notes in Computer Science, vol. 78. Springer-Verlag, New York.Google ScholarGoogle Scholar
  79. GRUMBERG, O. AND LONG, D. E. 1994. Model checking and modular verification. ACM Trans. Program. Lang. Syst. 16, 3 (May 1994), 843-871. Google ScholarGoogle Scholar
  80. GUPTA, A. 1992. Formal hardware verification methods: A survey. Formal Methods Syst. Des. 1, 2/3 (Oct. 1992), 151-238. Google ScholarGoogle Scholar
  81. HARDIN, R. H., HAR'EL, Z., AND KURSHAN, R. P. 1996. COSPAN. In Proceedings of the Eighth International Conference on Computer-Aided Verification (CAV '96, Aug.). Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York, 423-427.Google ScholarGoogle Scholar
  82. HAREL, D. 1988. On visual formalisms. Commun. ACM 31, 5 (May 1988), 514-530. Google ScholarGoogle Scholar
  83. HARKNESS, C. AND WOLF, E. 1994. Verifying the Summit bus converter protocols with symbolic model checking. Formal Methods Syst. Des. 4, 2 (Feb. 1994), 83-97. Google ScholarGoogle Scholar
  84. HARRISON, J. 1993. A HOL decision procedure for elementary real algebra. In HUG '93. Lecture Notes in Computer Science, vol. 780. Springer-Verlag, New York, 426-436. Google ScholarGoogle Scholar
  85. HARRISON, J. 1995. Floating point verification in HOL. In Proceedings of the Eighth International Workshop on Higher Order Logic Theorem Proving and Its Applications (HOL '95). Lecture Notes in Computer Science, vol. 971. Springer-Verlag, New York, 186-199. Google ScholarGoogle Scholar
  86. HAZELHURST, S. 1996. Compositional model checking of partially ordered state spaces. Ph.D. Dissertation. University of British Columbia, Vancouver, Canada. Google ScholarGoogle Scholar
  87. HAZELHURST, S. AND SEGER, C.-J. H. 1994. Composing symbolic trajectory evaluation results. In Proceedings of the Sixth International Conference on Computer-Aided Verification (CAV'94, June). Lecture Notes in Computer Science, vol. 818. Springer-Verlag, New York, 273-285. Google ScholarGoogle Scholar
  88. HAZELHURST, S. AND SEGER, C.-J. H. 1995. A simple theorem prover based on symbolic trajectory evaluation and BDDs. IEEE Trans. Comput.-Aided Des. Integr. Circuits 14, 4 (Apr.), 413-422. Google ScholarGoogle Scholar
  89. HENNESSY, J. L. AND PATTERSON, D.A. 1990. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA. Google ScholarGoogle Scholar
  90. HOARE, C. 1969. An axiomatic basis for computer programming. Commun. ACM 12, 10, 576-583. Google ScholarGoogle Scholar
  91. HOARE, C. 1978. Communicating sequential processes. Commun. ACM21, 8, 666-677. Google ScholarGoogle Scholar
  92. HOJATI, R., BRAYTON, R. K., AND KURSHAN, R. P. 1993. BDD-based debugging of designs using language containment and fair CTL. In Proceedings of the Fifth International Conference on Computer-Aided Verification (CAV '93, June). Lecture Notes in Computer Science, vol. 697. Springer-Verlag, New York, 41-58. Google ScholarGoogle Scholar
  93. HOJATI, R., SINGHAL, V., AND BRAYTON, R. K. 1994. Edge-Streett/Edge-Rabin automata environment for formal verification using language containment. Memo. UCB/ERL M94/12. Electronics Research Lab. UC Berkeley, Berkeley, CA. Google ScholarGoogle Scholar
  94. HOLZMANN, G.J. 1997. The model checker SPIN. IEEE Trans. Softw. Eng. 23, 5 (May), 279-295. Google ScholarGoogle Scholar
  95. Hu, A. J. AND DILL, D. L. 1993. Reducing BDD size by exploiting functional dependencies. In Proceedings of the 30th International Conference on Design Automation (DAC'93, Dallas, TX, June 14-18), A. E. Dunlop, Ed. ACM Press, New York, NY, 266-271. Google ScholarGoogle Scholar
  96. Hu, A. J., DILL, D. L., DREXLER, A. J., AND YANG, C. H. 1992. Higher-level specification and verification with BDDs. In Proceedings of the Fourth International Conference on Computer- Aided Verification (CAV '92). Lecture Notes in Computer Science, vol. 663. Springer-Verlag, New York, 82-95. Google ScholarGoogle Scholar
  97. Hu, A. J., YORK, G., AND DILL, D. L. 1994. New techniques for efficient verification with implicitly conjoined BDDs. In Proceedings of the 31st Annual Conference on Design Automation (DAC'94, San Diego, CA, June 6-10, 1994), M. Lorenzetti, Ed. ACM Press, New York, NY, 276-282. Google ScholarGoogle Scholar
  98. HUNT, W.A. 1989. Microprocessor design verification. J. Autom. Reasoning 5, 4 (Dec. 1989), 429-460. Google ScholarGoogle Scholar
  99. HUNT, W.A. 1994. FM8501: A verified microprocessor. In Lecture Notes in Computer Science, vol. 795. Springer-Verlag, New York. Google ScholarGoogle Scholar
  100. IP, C. N. AND DILL, D. L. 1996. Better verification through symmetry. Formal Methods Syst. Des. 9, 1/2 (Aug.), 41-75. Google ScholarGoogle Scholar
  101. IP, C. N. AND DILL, D. L. 1996. State reduction using reversible rules. In Proceedings of the 33rd Conference on Design Automation (DAC '96, Las Vegas, NV, June). 564-567. Google ScholarGoogle Scholar
  102. JACKSON, P. B. 1992. Nuprl and its use in circuit design. In Proceedings of the First International Conference on Theorem Provers in Circuit Design (TPCD '92), V. Stavridou, T. Melham, and R. Boute, Eds. North-Holland Publishing Co., Amsterdam, The Netherlands. Google ScholarGoogle Scholar
  103. JAIN, J., ABRAHAM, J. A., BITNER, J., AND FUSSELL, D. S. 1996. Probabilistic verification of boolean functions. Formal Methods Syst. Des. 1, 1 (July), 63-115.Google ScholarGoogle Scholar
  104. JAIN, J., NARAYAN, A., AND FUJITA, M. 1997. Formal verification of combinational circuits. In Proceedings of the Tenth International Conference on VLSI Design. 218-225. Google ScholarGoogle Scholar
  105. JONES, R. B., DILL, D. L., AND BURCH, J. R. 1995. Efficient validity checking for processor verification. In Proceedings of the 1995 IEEE /ACM International Conference on Computer- Aided Design (ICCAD-95, San Jose, CA, Nov. 5-9), R. Rudell, Ed. IEEE Computer Society Press, Los Alamitos, CA, 2-6. Google ScholarGoogle Scholar
  106. JOYCE, J. J. 1988. Formal verification and implementation of a microprocessor. In VLSI Specification, Verification and Synthesis, G. Birtwistle and P. Subrahmanyam, Eds. Kluwer Academic Publishers, Hingham, MA, 129-157.Google ScholarGoogle Scholar
  107. JOYCE, J. J. AND SEGER, C.-J. H. 1993. Linking BDD-based symbolic evaluation to interactive theorem-proving. In Proceedings of the 30th International Conference on Design Automation (DAC'93, Dallas, TX, June 14-18), A. E. Dunlop, Ed. ACM Press, New York, NY, 469-474. Google ScholarGoogle Scholar
  108. KAPUR, D. AND ZHANG, H. 1988. RRL: A rewrite rule laboratory. In Proceedings of the Ninth International Conference on Automated Deduction (CADE '88). Lecture Notes in Computer Science, vol. 310. Springer-Verlag, New York, 768-769. Google ScholarGoogle Scholar
  109. KAUFMANN, M. AND MOORE, J. S. 1994. Design goals for ACL2. Tech. Rep. 101. Computational Logic, Inc., Austin, TX.Google ScholarGoogle Scholar
  110. KAUFMANN, M. AND MOORE, J. S. 1996. ACL2: an industrial strength version of Nqthm. In Proceedings of the 11th Annual Conference on Computer Assurance (COMPASS '96, Gaithersburg, MD, June), S. Faulk and C. Heitmayer, Eds. 23-34.Google ScholarGoogle Scholar
  111. KESTEN, Y., MANNA, Z., McGUIRE, H., AND PNUELI, A. 1993. A decision algorithm for full propositional temporal logic. In Proceedings of the Fifth International Conference on Computer-Aided Verification (CAV '93, June). Lecture Notes in Computer Science, vol. 697. Springer-Verlag, New York, 97-109. Google ScholarGoogle Scholar
  112. KLEENE, S. C. 1967. Mathematical Logic. John Wiley & Sons, Inc., New York, NY.Google ScholarGoogle Scholar
  113. KLOOS, C. D. AND BREUER, P. 1995. Formal Semantics for VHDL. Kluwer Academic Publishers, Hingham, MA. Google ScholarGoogle Scholar
  114. KOZEN, D. 1993. Results on the propositional tL-calculus. Theor. Comput. Sci. 27, 3 (Dec.), 333-354.Google ScholarGoogle Scholar
  115. KUEHLMANN, A., SRINIVASAN, A., AND LAPOTIN, D. P. 1995. Verity--a formal verification program for custom CMOS circuits. IBM J. Res. Dev. 39, 1/2 (Jan./Mar. 1995), 149-165. Google ScholarGoogle Scholar
  116. KUMAR, R., BLUMENR HR, C., EISENBIEGLER, D., AND SCHMID, D. 1996. Formal synthesis in circuit design -- a classfication and survey. In Proceedings of the First International Conference on Formal Methods in Computer-Aided Design (FMCAD '96). Lecture Notes in Computer Science, vol. 1166. Springer-Verlag, New York, 294-309. Google ScholarGoogle Scholar
  117. KUMAR, R., SCHNEIDER, K., AND KROPF, T. 1993. Structuring and automating hardware proofs in a higher-order theorem-proving environment. Formal Methods Syst. Des. 2, 2 (Apr. 1993), 165-223. Google ScholarGoogle Scholar
  118. KURSHAN, R. P. 1989. Analysis of discrete event coordination. In Stepwise Refinement of Distributed Systems. Lecture Notes in Computer Science, vol. 430. Springer-Verlag, New York, 414-453. Google ScholarGoogle Scholar
  119. KURSHAN, R. P. 1997. Formal verification in a commercial setting. In Proceedings of the 34th Conference on Design Automation ( DAC '97, June). Google ScholarGoogle Scholar
  120. KURSHAN, R. P. AND LAMPORT, L. 1993. Verification of a multiplier: 64 bits and beyond. In Proceedings of the Fifth International Conference on Computer-Aided Verification (CAV '93, June). Lecture Notes in Computer Science, vol. 697. Springer-Verlag, New York, 166-179. Google ScholarGoogle Scholar
  121. LAI, Y.-T. AND SASTRY, S. 1992. Edge-valued binary decision diagrams for multi-level hierarchical verification. In Proceedings of the 29th ACM/IEEE Conference on Design Automation (DAC '92, Anaheim, CA, June 8-12), D. G. Schweikert, Ed. IEEE Computer Society Press, Los Alamitos, CA, 608-613. Google ScholarGoogle Scholar
  122. LAMPORT, L. 1980. "Sometime" is sometimes "not never"- on the temporal logic of programs. In Proceedings of the Seventh Annual ACM Symposium on Principles of Programming Languages. ACM Press, New York, NY, 174-185. Google ScholarGoogle Scholar
  123. LAMPORT, L. AND SCHNEIDER, F. B. 1984. The "Hoare logic" of CSP, and all that. ACM Trans. Program. Lang. Syst. 6, 2 (Apr. 1984), 281-296. Google ScholarGoogle Scholar
  124. LEE, T. W., GREENSTREET, M. R., AND SEGER, C.-J. 1994. Automatic verification of asynchronous circuits. IEEE Des. Test 12, 1, 24-31. Google ScholarGoogle Scholar
  125. LEE, T. W., GREENSTREET, M. R., AND SEGER, C. -J. 1994. Automatic verification of refinement. In Proceedings of the IEEE International Conference on Computer Design (Cambridge, MA, Oct. 10-12). Google ScholarGoogle Scholar
  126. LEESER, M. AND O'LEARY, J. 1995. Verification of a subtractive radix-2 square root algorithm and implementation. In Proceedings of the International Conference on Computer Design (ICCD '95, Oct.). 526-531. Google ScholarGoogle Scholar
  127. LENOSKI, D., LAUDON, J., GHARACHORLOO, K., WEBER, W.-D., GUPTA, A., HENNESSY, J., HOROW- ITSZ, M., AND LAM, M. S. 1992. The Stanford Dash multiprocessor. IEEE Computer 25, 3 (Mar.), 63-79. Google ScholarGoogle Scholar
  128. LESLIE, I. AND MCAULEY, D. 1991. Fairisle: An ATM network for the local area. SIGCOMM Comput. Commun. Rev. 21, 4 (Sept. 1991), 327-336. Google ScholarGoogle Scholar
  129. LEVITT, J. AND OLUKOTUN, K. 1996. A scalable formal verification methodology for pipelined microprocessors. In Proceedings of the 33rd Conference on Design Automation (DAC '96, Las Vegas, NV, June). 558-563. Google ScholarGoogle Scholar
  130. MADRE, J.-C. AND BILLON, J.-P. 1988. Proving circuit correctness using formal comparison between expected and extracted behaviour. In Proceedings of the 25 Conference on Design Automation (DAC'88). 205-210. Google ScholarGoogle Scholar
  131. MADRE, J. C., COUDERT, O., AND BILLON, J. P. 1989. Automating the diagnosis and the rectification of design errors with PRIAM. In Proceedings of the International Conference on Computer-Aided Design (ICCAD, Nov.). 30-33.Google ScholarGoogle Scholar
  132. MALIK, S., WANG, A., BRAYTON, R., AND SANGIOVANNI-VINCENTELLI, A. 1988. Logic verification using binary decision diagrams in a logic synthesis environment. In Proceedings of the International Conference on Computer-Aided Design (ICCAD '88, Santa Clara, CA, Nov.). 6-9.Google ScholarGoogle Scholar
  133. MANNA, Z., ANUCHITANUKUL, A., BJORNER, N., CHANG, E., COL N, M., DE ALFARO, L., DEVARAJAN, H., SIPMA, H., AND URIBE, T. 1994. STEP: The Stanford temporal prover. Tech. Rep. STAN-CS-TR-94-1518. Computer Systems Laboratory, Stanford Univ., Stanford, CA. Google ScholarGoogle Scholar
  134. MANNA, Z. AND PNUELI, A. 1992. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, New York, NY. Google ScholarGoogle Scholar
  135. MANNA, Z. AND WOLPER, P. 1984. Synthesis of communicating processes from temporal logic specifications. ACM Trans. Program. Lang. Syst. 6, 1 (Jan.), 68-93. Google ScholarGoogle Scholar
  136. MARETTI, N. 1994. Mechanized verification of refinement. In Proceedings of the Second International Conference on Theorem Provers in Circuit Design (TPCD'94). Lecture Notes in Computer Science, vol. 901. Springer-Verlag, New York, 185-202. Google ScholarGoogle Scholar
  137. MCCUNE, W. 1994. OTTER 3.0. Preprint MCS-P399-1193. Argonne National Laboratory, Argonne, IL.Google ScholarGoogle Scholar
  138. MCFARLAND, M. C. 1993. Formal verification of sequential hardware: A tutorial. IEEE Trans. Comput.-Aided Des. Integr. Circuits 12, 5 (May), 663-654.Google ScholarGoogle Scholar
  139. MCMILLAN, K. L. 1992. Symbolic model checking--an approach to the state explosion problem. Ph.D. Dissertation. School of Computer Science, Carnegie Mellon University, Pittsburgh, PA. Google ScholarGoogle Scholar
  140. MCMILLAN, K. L. 1994. Fitting formal methods into the design cycle. In Proceedings of the 31st Annual Conference on Design Automation (DAC'94, San Diego, CA, June 6-10, 1994), M. Lorenzetti, Ed. ACM Press, New York, NY, 314-319. Google ScholarGoogle Scholar
  141. MCMILLAN, K. L. 1996. A conjunctively decomposed boolean representation for symbolic model checking. In Proceedings of the Eighth International Conference on Computer-Aided Verification (CAV '96, Aug.). Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York, 13-25. Google ScholarGoogle Scholar
  142. MCMILLAN, K. L. AND SCHWALBE, J. 1991. Formal verification of the Encore Gigamax cache consistency protocol. In Proceedings of the 1991 International Symposium on Shared Memory Multiprocessors.Google ScholarGoogle Scholar
  143. MELHAM, T. F. 1988. Abstraction mechanisms for hardware verification. In VLSI Specification, Verification and Synthesis, G. Birtwistle and P. Subrahmanyam, Eds. Kluwer Academic Publishers, Hingham, MA, 267-291.Google ScholarGoogle Scholar
  144. MILLER, S. P. AND SRIVAS, M. 1995. Formal verification of the AAMP5 microprocessor: A case study in the industrial use of formal methods. In Proceedings of the Workshop on Industrial-Strength Formal Specification Techniques (WIFT '95) (WIFT '95, Boca Raton, FL). IEEE Computer Society, Washington, DC, 2-16. Google ScholarGoogle Scholar
  145. MINER, P. S. AND LEATHRUM, g. F. JR. 1996. Verification of IEEE compliant subtractive division algorithms. In Proceedings of the First International Conference on Formal Methods in Computer-Aided Design (FMCAD '96). Lecture Notes in Computer Science, vol. 1166. Springer-Verlag, New York, 64-78. Google ScholarGoogle Scholar
  146. MOORE, J. S., LYNCH, T., AND KAUFMANN, M. 1996. Mechanically checked proof of the correctness of the kernel of the AMDI~86TM floating-point division algorithm, http://devil.ece.utexas.edu:80/Mynch/divide/divide.html.Google ScholarGoogle Scholar
  147. NELSON, G. AND OPPEN, D. C. 1979. Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1, 2 (Oct.), 245-257. Google ScholarGoogle Scholar
  148. NOWATZYK, A., AYBAY, G., BROWNE, M., KELLY, E., PARKIN, M., RADKE, W., AND VISHIN, S. 1995. The S3.mp scalable shared memory multiprocessor. In Proceedings of the 9th International Symposium on Parallel Processing (Apr.).Google ScholarGoogle Scholar
  149. OWICKI, S. AND LAMPORT, L. 1982. Proving liveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4, 3 (July), 455-495. Google ScholarGoogle Scholar
  150. OWRE, S., RAJAN, S., RUSHBY, J., SHANKAR, N., AND SRIVAS, M. 1996. PVS: Combining specification, proof checking, and model checking. In Proceedings of the Eighth International Conference on Computer-Aided Verification (CAV '96, Aug.). Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York. Google ScholarGoogle Scholar
  151. OWRE, S., RUSHBY, g. M., AND SHANKAR, N. 1992. PVS: A prototype verification system. In Proceedings of the 11th Conference on Automated Deduction (CADE'92). Lecture Notes in Computer Science, vol. 607. Springer-Verlag, New York, 748-752. Google ScholarGoogle Scholar
  152. PANDA, S. AND SOMENZI, F. 1995. Who are the variables in your neighborhood. In Proceedings of the 1995 IEEE/ACM International Conference on Computer-Aided Design (ICCAD-95, San Jose, CA, Nov. 5-9), R. Rudell, Ed. IEEE Computer Society Press, Los Alamitos, CA, 74-77. Google ScholarGoogle Scholar
  153. PANDEY, M. AND RAIMI, R. 1996. Formal verification of PowerPCTM arrays using symbolic trajectory evaluation. In Proceedings of the 33rd Conference on Design Automation (DAC '96, Las Vegas, NV, June). 649-654. Google ScholarGoogle Scholar
  154. PAULSON, L. C. 1994. Isabelle: A generic theorem prover. In Lecture Notes in Computer Science, vol. 828. Springer-Verlag, New York.Google ScholarGoogle Scholar
  155. PIXLEY, C., JEONG, S.-W., AND HACHTEL, G. D. 1994. Exact calculation of synchronizing sequences based on binary decision diagrams. IEEE Trans. Comput.-Aided Des. Integr. Circuits 13, 8 (Aug.), 1024-1034.Google ScholarGoogle Scholar
  156. PNUELI, A. 1977. The temporal logic of programs. In Proceedings of the 18th Annual Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, CA, 46-57.Google ScholarGoogle Scholar
  157. PNUELI, A. 1986. Applications of temporal logic to the specification and verification of reactive systems: A survey of current trends. In Current Trends in Concurrency, J. W. de Bakker, W.-P. de Roever, and G. Rozenberg, Eds. Lecture Notes in Computer Science, vol. 224. Springer-Verlag, New York, 510-584. Google ScholarGoogle Scholar
  158. PONG, F. AND DUBOIS, M. 1993. The verification of cache coherence protocols. In Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA '93, Velen, Germany, June 30-July 2, 1993), L. Snyder, Ed. ACM Press, New York, NY, 11-20. Google ScholarGoogle Scholar
  159. PONG, F., NOWATZYK, A., AYBAY, G., AND DUBOIS, M. 1995. Verifying distributed directorybased cache coherence protocols: S3.mp, a case study. In Proceedings of the EURO-Par '95 Conference on Parallel Processing.Lecture Notes in Computer Science, vol. 966. Springer-Verlag, New York, 207-300. Google ScholarGoogle Scholar
  160. RAJAN, S., SHANKAR, N., AND SRIVAS, M. 1995. An integration of model-checking with automated proof checking. In Proceedings of the Seventh International Conference on Computer-Aided Verification (CAV '95, July). Lecture Notes in Computer Science, vol. 939. Springer-Verlag, New York, 84-97. Google ScholarGoogle Scholar
  161. RAVI, K. AND SOMENZI, F. 1995. High-density reachability analysis. In Proceedings of the 1995 IEEE /ACM International Conference on Computer-Aided Design (ICCAD-95, San Jose, CA, Nov. 5-9), R. Rudell, Ed. IEEE Computer Society Press, Los Alamitos, CA, 154-158. Google ScholarGoogle Scholar
  162. RUDELL, R. 1993. Dynamic variable ordering for ordered binary decision diagrams. In Proceedings of the International Conference on Computer-Aided Design (ICCAD '93, Nov. 1993). 42-47. Google ScholarGoogle Scholar
  163. RUESS, H., SHANKAR, N., AND SRIVAS, N. M. 1996. Modular verification of SRT division. In Proceedings of the Eighth International Conference on Computer-Aided Verification (CAV '96, Aug.). Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York. Google ScholarGoogle Scholar
  164. SAXE, J. B., HORNING, J. J., GUTTAG, J. V., AND GARLAND, S.J. 1993. Using transformations and verification in circuit design. Formal Methods Syst. Des. 3, 3 (Dec. 1993), 181-209. Google ScholarGoogle Scholar
  165. SCHNEIDER, K. AND KROPF, T. 1996. A unified approach for combining different formalisms for hardware verification. In Proceedings of the First International Conference on Formal Methods in Computer-Aided Design (FMCAD '96). Lecture Notes in Computer Science, vol. 1166. Springer-Verlag, New York, 202-217. Google ScholarGoogle Scholar
  166. SEGER, C.-J. H. 1993. Voss: A formal hardware verification system, user's guide. Tech. Rep. TR-93-45. University of British Columbia, Vancouver, Canada. Google ScholarGoogle Scholar
  167. SEGER, C.-J. H. AND BRYANT, R. E. 1995. Formal verification by symbolic evaluation of partially-ordered trajectories. Formal Methods Syst. Des. 6, 2 (Mar. 1995), 147-189. Google ScholarGoogle Scholar
  168. SENTOVICH, E., SINGH, K., LAVAGNO, L., MOON, C., MURGAI, R., SALDANHA, A., SAVOJ, H., STEPHAN, P., BRAYTON, R., AND SANGIOVANNI-VINCENTELLI, A. 1992. SIS: A system for sequential circuit synthesis. Tech. Rep. UCB/ERL M92/41. UC Berkeley, Berkeley, CA.Google ScholarGoogle Scholar
  169. SHANKAR, A. U. 1993. An introduction to assertional reasoning for concurrent systems. ACM Comput. Surv. 25, 3 (Sept. 1993), 225-262. Google ScholarGoogle Scholar
  170. SHOSTAK, R. E. 1979. A practical decision procedure for arithmetic with function symbols. J. ACM 26, 2 (Apr.), 351-360. Google ScholarGoogle Scholar
  171. SHOSTAK, R. E. 1984. Deciding combinations of theories. J. ACM 31, 1 (Jan. 1984), 1-12. Google ScholarGoogle Scholar
  172. SISTLA, A. P. AND CLARKE, E. M. 1985. The complexity of propositional linear temporal logics. J. ACM 32, 3 (July 1985), 733-749. Google ScholarGoogle Scholar
  173. SRIVAS, M. AND BICKFORD, M. 1990. Formal verification of a pipelined microprocessor. IEEE Softw. 7, 5 (Sept.), 52-64. Google ScholarGoogle Scholar
  174. SRIVAS, M. K. AND MILLER, S. P. 1996. Applying formal verification to the AAMP5 microprocessor: A case study in the industrial use of formal methods. Formal Methods Syst. Des. 8, 2, 153-188. Google ScholarGoogle Scholar
  175. STAUNSTRUP, J. 1994. A Formal Approach to Hardware Design. Kluwer Academic Publishers, Hingham, MA. Google ScholarGoogle Scholar
  176. STAUNSTRUP, J., GARLAND, S. J., AND GUTTAG, J.V. 1992. Mechanized verification of circuit descriptions using the Larch prover. In Proceedings of the First International Conference on Theorem Provers in Circuit Design (TPCD '92), V. Stavridou, T. Melham, and R. Boute, Eds. North-Holland Publishing Co., Amsterdam, The Netherlands. Google ScholarGoogle Scholar
  177. STAUNSTRUP, J. AND MELLERGAARD, N. 1995. Localized verification of modular designs. Formal Methods Syst. Des. 6, 3 (June 1995), 295-320. Google ScholarGoogle Scholar
  178. STERN, U. AND DILL, D. L. 1995. Automatic verification of the SCI cache coherence protocol. In Correct Hardware Design and Verification Methods (CHARME '95, Oct.). Lecture Notes in Computer Science, vol. 987. Springer-Verlag, New York, 21-34. Google ScholarGoogle Scholar
  179. TAHAR, S. AND CURZON, P. 1996. A comparison of MDG and HOL for hardware verification. In Theorem Proving in Higher Order Logics. Lecture Notes in Computer Science, vol. 1125. Springer-Verlag, New York, 415-430. Google ScholarGoogle Scholar
  180. TAHAR, S. AND KUMAR, R. 1993. Implementing a methodology for formally verifying RISC processors in HOL. In HUG '93. Lecture Notes in Computer Science, vol. 780. Springer-Verlag, New York, 281-294. Google ScholarGoogle Scholar
  181. TAHAR, S., ZHOU, Z., SONG, X., CERNY, E., AND LANGEVIN, M. 1996. Formal verification of an ATM switch fabric using Multiway Decision Graphs. In Proceedings of the Great Lakes Symposium on VLSI (Ames, IA). IEEE Computer Society Press, Los Alamitos, CA. Google ScholarGoogle Scholar
  182. TARSKI, A. 1951. Decision Method for Elementary Algebra and Geometry. University of California Press, Berkeley, CA.Google ScholarGoogle Scholar
  183. THOMAS, W. 1990. Automata on infinite objects. In Handbook of Theoretical Computer Science (vol. B): Formal Models and Semantics, J. van Leeuwen, Ed. MIT Press, Cambridge, MA, 133-191. Google ScholarGoogle Scholar
  184. TOUATI, H. J., SAVOJ, H., LIN, B., BRAYTON, R. K., AND SANGIOVANNI-VINCENTELLI, A. 1990. Implicit state enumeration of finite state machines using BDDs. In Proceedings of the International Conference on Computer-Aided Design (ICCAD'90). 130-133.Google ScholarGoogle Scholar
  185. VAN TASSEL, J. P. 1992. A formalism of the VHDL simluation cycle. In Proceedings of the International Workshop on Higher Order Logic Theorem Proving and Its Applications,, L. J. M. Claesen and M. J. C. Gordon, Eds. Elsevier North-Holland, Inc., Amsterdam, The Netherlands, 359-374. Google ScholarGoogle Scholar
  186. VARDI, M. AND WOLPER, P. 1986. An automata-theoretic approach to automatic program verification. In Proceedings of the First Annual Symposium on Logic in Computer Science (Cambridge, MA, June16-18). IEEE Computer Society Press, Los Alamitos, CA, 332-344.Google ScholarGoogle Scholar
  187. VARDI, M. AND WOLPER, P. 1986. Automata-theoretic techniques for modal logics of programs. J. Comput. Syst. Sci. 32, 2 (Apr. 1986), 183-221. Google ScholarGoogle Scholar
  188. VARDI, M. Y. AND WOLPER, P. 1994. Reasoning about infinite computations. Inf. Comput. 115, 1 (Nov. 15, 1994), 1-37. Google ScholarGoogle Scholar
  189. VETTER, R. J. 1995. ATM concepts, architectures, and protocols. Commun. ACM 38, 2 (Feb. 1995), 30ft. Google ScholarGoogle Scholar
  190. WEIH, D. AND GREENSTREET, M. 1996. Verifying asynchronous data path circuits. IEE Proc. Comput. Digit. Tech. 143, 5 (Sept.), 295-300.Google ScholarGoogle Scholar
  191. WINDLEY, P.J. 1992. Abstract theories in HOL. In Proceedings of the International Workshop on Higher Order Logic Theorem Proving and Its Applications,, L. J. M. Claesen and M. J. C. Gordon, Eds. Elsevier North-Holland, Inc., Amsterdam, The Netherlands. Google ScholarGoogle Scholar
  192. WINDLEY, P.J. 1995. Formal modeling and verification of microprocessors. IEEE Trans. Comput. 44, 1 (Jan. 1995), 54-72. Google ScholarGoogle Scholar
  193. WINDLEY, P.J. 1995. Verifying pipelined microprocessors. Tech. Rep. Brigham Young University, Provo, UT.Google ScholarGoogle Scholar
  194. WINDLEY, P. J. AND COE, M. 1994. A correctness model for pipelined microprocessors. In Proceedings of the Second International Conference on Theorem Provers in Circuit Design (TPCD'94). Lecture Notes in Computer Science, vol. 901. Springer-Verlag, New York, 33-51. Google ScholarGoogle Scholar
  195. WOLPER, P. 1984. Temporal logic can be more expressive. Inf. Control 56, 1/2 (Jan./Feb. 1983), 72-99.Google ScholarGoogle Scholar
  196. Xu, Y., CERNY, E., SILBURT, A., AND HUGHES, R. B. 1997. Property verification using theorem proving and model checking.Google ScholarGoogle Scholar
  197. ZHU, Z. AND SEGER, C.-J. H. 1994. The completeness of a hardware inference system. In Proceedings of the Sixth International Conference on Computer-Aided Verification (CAV'94, June). Lecture Notes in Computer Science, vol. 818. Springer-Verlag, New York, 286-298. Google ScholarGoogle Scholar

Index Terms

  1. Formal verification in hardware design: a survey

      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