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.
- 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 Scholar
- 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 Scholar
- ABADI, M. AND LAMPORT, L. 1991. The existence of refinement mappings. Theor. Comput. Sci. 82, 2 (May 31, 1991), 253-284. Google Scholar
- ABADI, M. AND LAMPORT, L. 1993. Composing specifications. ACM Trans. Program. Lang. Syst. 15, 1 (Jan. 1993), 73-132. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- BEATTY, D. L. 1993. A methodology for formal hardware verification, with application to microprocessors. Ph.D. Dissertation. Carnegie Mellon University, Pittsburgh, PA. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- BOYER, R. S. AND MOORE, J. S. 1979. A Computational Logic. Academic Press, Inc., New York, NY.Google Scholar
- 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 Scholar
- 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 Scholar
- BRADFIELD, J. C. 1992. Verifying Temporal Properties of Systems. Birkh User Progress in Theoretical Computer Science Series. Birkh user Boston Inc., Cambridge, MA. Google Scholar
- 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 Scholar
- 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 Scholar
- BROCK, B., HUNT, W. A., AND KAUFMANN, M. 1994. The FM9001 microprocessor proof. Tech. Rep. 86. Computational Logic, Inc., Austin, TX.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- BRYANT, R. E. 1986. Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35, 8 (Aug. 1986), 677-691. Google Scholar
- BRYANT, R. 1991. A methodology for hardware verification based on logic simulation. J. ACM 38, 2 (Apr. 1991), 299-328. Google Scholar
- 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 Scholar
- BRYANT, R. E. 1992. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24, 3 (Sept. 1992), 293-318. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- CAVANAGH, J. J. 1984. Digital Computer Arithmetic: Design and Implementation. McGraw- Hill, Inc., New York, NY. Google Scholar
- CHANDY, K. M. AND MISRA, J. 1988. Parallel Program Design: A Foundation. Addison-Wesley Longman Publ. Co., Inc., Reading, MA. Google Scholar
- 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 Scholar
- CHURCH, A. 1940. A formulation of the simple theory of types. J. Symb. Logic 5, 56-115.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- COHN, A. 1989. The notion of proof in hardware verification. J. Autom. Reasoning 5, 2 (June 1989), 127-139. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- DAC EXHIBITS, 1997. Thirty-Fourth DAC exhibit information, http://www.dac.com/ 34exhibits.html.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- DUFFY, D.A. 1991. Principles of Automated Theorem Proving. John Wiley & Sons, Inc., New York, NY. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- GRUMBERG, O. AND LONG, D. E. 1994. Model checking and modular verification. ACM Trans. Program. Lang. Syst. 16, 3 (May 1994), 843-871. Google Scholar
- GUPTA, A. 1992. Formal hardware verification methods: A survey. Formal Methods Syst. Des. 1, 2/3 (Oct. 1992), 151-238. Google Scholar
- 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 Scholar
- HAREL, D. 1988. On visual formalisms. Commun. ACM 31, 5 (May 1988), 514-530. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- HAZELHURST, S. 1996. Compositional model checking of partially ordered state spaces. Ph.D. Dissertation. University of British Columbia, Vancouver, Canada. Google Scholar
- 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 Scholar
- 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 Scholar
- HENNESSY, J. L. AND PATTERSON, D.A. 1990. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA. Google Scholar
- HOARE, C. 1969. An axiomatic basis for computer programming. Commun. ACM 12, 10, 576-583. Google Scholar
- HOARE, C. 1978. Communicating sequential processes. Commun. ACM21, 8, 666-677. Google Scholar
- 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 Scholar
- 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 Scholar
- HOLZMANN, G.J. 1997. The model checker SPIN. IEEE Trans. Softw. Eng. 23, 5 (May), 279-295. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- HUNT, W.A. 1989. Microprocessor design verification. J. Autom. Reasoning 5, 4 (Dec. 1989), 429-460. Google Scholar
- HUNT, W.A. 1994. FM8501: A verified microprocessor. In Lecture Notes in Computer Science, vol. 795. Springer-Verlag, New York. Google Scholar
- IP, C. N. AND DILL, D. L. 1996. Better verification through symmetry. Formal Methods Syst. Des. 9, 1/2 (Aug.), 41-75. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- KAUFMANN, M. AND MOORE, J. S. 1994. Design goals for ACL2. Tech. Rep. 101. Computational Logic, Inc., Austin, TX.Google Scholar
- 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 Scholar
- 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 Scholar
- KLEENE, S. C. 1967. Mathematical Logic. John Wiley & Sons, Inc., New York, NY.Google Scholar
- KLOOS, C. D. AND BREUER, P. 1995. Formal Semantics for VHDL. Kluwer Academic Publishers, Hingham, MA. Google Scholar
- KOZEN, D. 1993. Results on the propositional tL-calculus. Theor. Comput. Sci. 27, 3 (Dec.), 333-354.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- KURSHAN, R. P. 1997. Formal verification in a commercial setting. In Proceedings of the 34th Conference on Design Automation ( DAC '97, June). Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- LEE, T. W., GREENSTREET, M. R., AND SEGER, C.-J. 1994. Automatic verification of asynchronous circuits. IEEE Des. Test 12, 1, 24-31. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- MANNA, Z. AND PNUELI, A. 1992. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, New York, NY. Google Scholar
- 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 Scholar
- 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 Scholar
- MCCUNE, W. 1994. OTTER 3.0. Preprint MCS-P399-1193. Argonne National Laboratory, Argonne, IL.Google Scholar
- MCFARLAND, M. C. 1993. Formal verification of sequential hardware: A tutorial. IEEE Trans. Comput.-Aided Des. Integr. Circuits 12, 5 (May), 663-654.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- NELSON, G. AND OPPEN, D. C. 1979. Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1, 2 (Oct.), 245-257. Google Scholar
- 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 Scholar
- OWICKI, S. AND LAMPORT, L. 1982. Proving liveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4, 3 (July), 455-495. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- PAULSON, L. C. 1994. Isabelle: A generic theorem prover. In Lecture Notes in Computer Science, vol. 828. Springer-Verlag, New York.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- SHANKAR, A. U. 1993. An introduction to assertional reasoning for concurrent systems. ACM Comput. Surv. 25, 3 (Sept. 1993), 225-262. Google Scholar
- SHOSTAK, R. E. 1979. A practical decision procedure for arithmetic with function symbols. J. ACM 26, 2 (Apr.), 351-360. Google Scholar
- SHOSTAK, R. E. 1984. Deciding combinations of theories. J. ACM 31, 1 (Jan. 1984), 1-12. Google Scholar
- SISTLA, A. P. AND CLARKE, E. M. 1985. The complexity of propositional linear temporal logics. J. ACM 32, 3 (July 1985), 733-749. Google Scholar
- SRIVAS, M. AND BICKFORD, M. 1990. Formal verification of a pipelined microprocessor. IEEE Softw. 7, 5 (Sept.), 52-64. Google Scholar
- 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 Scholar
- STAUNSTRUP, J. 1994. A Formal Approach to Hardware Design. Kluwer Academic Publishers, Hingham, MA. Google Scholar
- 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 Scholar
- STAUNSTRUP, J. AND MELLERGAARD, N. 1995. Localized verification of modular designs. Formal Methods Syst. Des. 6, 3 (June 1995), 295-320. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- TARSKI, A. 1951. Decision Method for Elementary Algebra and Geometry. University of California Press, Berkeley, CA.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- VARDI, M. Y. AND WOLPER, P. 1994. Reasoning about infinite computations. Inf. Comput. 115, 1 (Nov. 15, 1994), 1-37. Google Scholar
- VETTER, R. J. 1995. ATM concepts, architectures, and protocols. Commun. ACM 38, 2 (Feb. 1995), 30ft. Google Scholar
- WEIH, D. AND GREENSTREET, M. 1996. Verifying asynchronous data path circuits. IEE Proc. Comput. Digit. Tech. 143, 5 (Sept.), 295-300.Google Scholar
- 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 Scholar
- WINDLEY, P.J. 1995. Formal modeling and verification of microprocessors. IEEE Trans. Comput. 44, 1 (Jan. 1995), 54-72. Google Scholar
- WINDLEY, P.J. 1995. Verifying pipelined microprocessors. Tech. Rep. Brigham Young University, Provo, UT.Google Scholar
- 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 Scholar
- WOLPER, P. 1984. Temporal logic can be more expressive. Inf. Control 56, 1/2 (Jan./Feb. 1983), 72-99.Google Scholar
- Xu, Y., CERNY, E., SILBURT, A., AND HUGHES, R. B. 1997. Property verification using theorem proving and model checking.Google Scholar
- 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 Scholar
Index Terms
Formal verification in hardware design: a survey
Recommendations
Industrial Strength Formal Verification Techniques for Hardware Designs
VLSID '97: Proceedings of the Tenth International Conference on VLSI Design: VLSI in Multimedia ApplicationsThe past decade has seen tremendous progress in the application of formal methods for hardware design and verification. While a number of different techniques based on BDDs, symbolic simulation, special-purpose decision procedures, model checking, and ...
Formal Verification of Digital Systems
VLSID '97: Proceedings of the Tenth International Conference on VLSI Design: VLSI in Multimedia ApplicationsA formal verifier is an automated decision procedure that can prove or disprove a set of statements in some logical system of reasoning. Problems informal verification have been posed and studied in a variety of disciplines for many years. However the ...
Formal verification of ASMs using MDGs
We present a framework for the formal verification of abstract state machine (ASM) designs using the multiway decision graphs (MDG) tool. ASM is a state based language for describing transition systems. MDG provides symbolic representation of transition ...
Comments