Abstract
Functional validation of hardware designs is a major challenge for circuit design companies. Post-delivery software problems can be addressed by subsequent software releases; however, fixing hardware bugs in any shipped product is expensive. Simulation remains the dominate functional validation method, but in the last decade, formal verification (FV) has emerged as an important complementary method. We describe basic FV methods: theorem proving, model checking, and equivalence checking with some illustrations from their applications to Alpha microprocessor designs. The last one is described in detail. Although theoretically, FV can provide much more complete verification coverage than simulation, our ability to apply FV is limited due to capacity limits of existing FV tools and the availability of trained personnel. The application of FV to industrial designs is an active research area with huge opportunities for academic and industrial researchers.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Kaufmann, M., Manolios, P., Moore, J.S.: Computer-Aided Reasoning. An Approach. Kluwer Academic Publishers, 2000. http://www.cs.utexas.edu/users/moore/acl2.
Aagaard, M.D., Jones, R.B., Seger, C.-J.H.: Lifted-FL: A Pragmatic Implementation of Combined Model Checking and Theorem Proving. Proc. of Theorem Proving in Higher Order Logics 1999, LNCS 1690, pp.323–340, 1999.
Bryant, R.E.: Graph-based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers, C-35, pp. 677–691, 1986.
Bryant, R.E., Beatty, D.L., Seger, C.H.: Formal Hardware Verification by Symbolic Trajectory evaluation. Proc. of Design Automation Conference, 1991.
Bryant. R.E., Beatty, D., Brace, K.S., Cho, K., Sheffler, T.: COSMOS: A Compiled Simulator for MOS Circuits. IEEE Proc. of Design Automation Conference, 1987.
Bjesse, P., Claessen, K.: SAT-Based Verification without State Space Traversal. Proc. of Formal Methods in Computer-Aided Design 2000, LNCS 1954, pp. 373–389, 2000.
Burch, J.R., Clarke, E.M., McMilla, K.L., Dill, D.L., Hwang, L.J.: Symbolic Model Checking 1020 States and Beyond. Information and Computation 98(2), pp. 142–170.
Bierre, A., Clarke, E.M., Raimi, R., Zhu, Y.: Verifying Safety Properties of a PowerPCTM Microprocessor Using Symbolic Model Checking Without BDDs. Proc. of Computer Aided Verification, 1999.
Bierre, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic Model Checking Without BDDs. Proc. of Conference on Tools and Algorithms for the Construction and Analysis of Systems, 1999.
Brace, K.S., Rudell, R.L., Bryant, R.E.: Effcient Implementation of a BDD Package. IEEE Proc. of Design Automation Conference, pp. 40–45, 1990.
Bischo., G., Brace, K., Jain, S., Razdan, R.: Formal Implementation Verification of the Bus Interface Unit for the Alpha 21264 Microprocessor. IEEE Proc. of International Conference on Computer Design: VLSI in Computers and Processors. pp. 16–24, 1997.
Bjesse, P., Leonard, T., Mokkedem, A.: Finding Bugs in an Alpha Microprocessor Using Satisfiability Solvers. In Proc. Computer Aided Verification. LNCS 2102, pp.454–464, 2001.
Moskewicz, M.W., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Cha.: Engineering an Efficient SAT Solver. IEEE Proc. of Design Automation Conference, 2001.
Somenzi, F.: CUDD ftp://vlsi.colorado.edu/pub, 1996.
Clarke, E.M., Emerson, E.A.: Design an Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic. Proc. of Workshop Logic of Programs, LNCS 131, 1981.
Cabodi, G., Camurati, P., Quer, S.: Symbolic Exploration of Large Circuits with Enhanced Forward/Backward Traversals. Proc. of European Design Automation Conference, 1994.
Clarke, E.M., Grumberg, O., Doron, A.P.: Model Checking. The MIT Press, 1999.
Coudert, O., Madre, J.: A Unified Framework for the Formal Verification of Sequential Circuits. IEEE Proc. of International Conference on Computer Aided Design, pp.126–129, 1990.
Davis, M., Putnam, H.: A Computing Procedure for Quantification Theory. J. of ACM, Vol 7, pp.201–215, 1960.
Emerson, E.A.: Branching Time Temporal Logicand the Design of Correct concurrent Progams. PhD thesis, Harvard University, 1981.
Bernschneider, B.J., Sungho Park, Allmon, R., Anderson, W., Arneborn, M., Jangho Cho, Changjun Ghoi, Clouser, J., Sangok Han, Hokinson, R., Gyeoocheol Hwang, Daesuk Jung, Jaeyoon Kim, Krause, J., Kwack, J., Meier, S., Yongsik Seok, Thierauf, S., Zhou, C.: A 1 GHz Alpha Microprocessor. IEEE Proc. of International Solid-State Circuits Conference, pp. 86–87, 2000.
Jain, A., Anderson, W., Benningho., T., Bertucci, D., Braganza, M., Burnette, J., Chang, T., Eble, J., Faber, R., Gowda, D., Grodstein, J., Hess, G., Kowaleski, J., Kumar, A., Miller, B., Paul, P., Pickholz, J., Russell, S., Shen, M., Truex, T., Vardharajan, A., Xanthopoulos, D., Zou, T.: A 1.2 GHz Alpha Microprocessor with 44.8 GB/sec of chip bandwith. IEEE Proc. of International Solid-State Circuits Conference. pp. 240–241, 2001.
Gordon, M.J.C.: Reachability Programming in HOL98 Using BDDs. Proc. of Theorem Proving in Higher Order Logics 2000, LNCS 1869, pp. 179–196, 2000.
Gupta, A., Yang, Z., Ashar, P., Gupta, A.: SAT-Based Image Computation with Application in Reachability Analysis. Proc. of Formal Methods in Computer-Aided Design 2000, LNCS 1954, pp. 355–371, 2000.
Harrison, J.: Formal Verification of Floating Point Trigonometric Functions. Proc. of Formal Methods in Computer-Aided Design 2000, LNCS 1954, pp. 217–233, 2000.
Gordon, M.J.C., Melham, T.F.: Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic. Cambridge University Press, 1993.
Hazelhurst, s., Seger, C.H.: Symbolic Trajectory Evaluation. LNCS 1997. State-ofthe-art Survey.
Hunt, W.A., Brock, B.C.: The Dual-Eval Hardware Description Language and Its Use in the Formal Specification and Verification of the FM9001 Microprocessor. J. Formal Methods in System Design 11 (1), pp. 71–104, 1997.
Hachtel, G.D., Somenzi, F.: Logic Synthesis and Verification Algorithms. Kluwer Academic Publishers, 1998.
Widing, M., Greve, D., Hardin, D.: Efficient Simulation of Formal Processor Models. Formal Methods in System Design. to appear.
McMillan, K.: A Methodology for Hardware Verification Using Compositional Model Cheking. Technical Report, Cadence Berkley Labs, April 1999. http://wwwcad.eecs.berkeley.edu/~kenmcmil.
Mokkedem, A., Leonard, T.: Formal Verification of the Alpha 21364 Network Protocol. Proc. of Theorem Proving in Higher Order Logics 2000, LNCS 1869, pp.443–461, 2000.
Marques-Silva, J.P., Sakallah, K.A.: Grasp: A Search Algorithm for Propositional Satisfiability. IEEE Transactions on Computers, 48(5), pp. 506–521, 1999.
Meinel, Ch., Theobald, T.: Algorithms and Data Structures in VLSI Design. Springer, 1998.
McCune, W.: Otter 3.0 reference manual and guide. Tech. Report ANL94/6, Argonne National Laboratory, Argone, IL, 1994. http://www.mcs.anl.gov/AR/otter.
Cabodi, G., Quer, S.: PdTRAV. http://www.polito.it/~quer/software/tools.htm.
Owre, S., Rushby, J.M., Shankar, N.: PVS: A Prototype Verification System. Proc. of International Conference on Automated Deduction, Lecture Notes in Artificial Intelligence 607, pp. 748–752, 1992.
O’Leary, J., Zhao, X., Gerth, R., Seger, C.H.: Formally Verfying IEEE Compliance of Floating-Point Hardware. Intel Technical Journal, Q1:147–190, 1999.
Pixley, C.: A Computational Theory and Implementation of Sequential Hardware Equivalence. Workshop on Computer Aided Verification, Rutgers University, 1990.
Papadimitriou, C.H.: Computational Complexity. Addison Wesley 1994.
Queile, J.P., Sifakis, J.: Specification and Verification of Concurrent Systems in CESAR. Proc. of International Symposium on Programming, LNCS 137, pp.337–351, 1982.
Paruthi, V., Kuehlmann, A.: Equivalence Checking Using a Structural SAT-Solver, BDDs, and Simulation. IEEE Proc. of International Conference on Computer Design, 2000.
Russino., D.M.: A case Study in Formal Verification of Register-Transfer Logic with ACL2: The Floating Point Adder of the AMD Athlon Processor. Proc. of Formal Methods in Computer-Aided Design 2000, LNCS 1954, pp. 3–36, 2000.
Rajan, S., Shankar N., Srivas, M.K.: An Integration of Model Checking with Automated Proof Checking. Proc. of Computer-Aided Verification 1995, LNCS 939, pp.84–97, 1995.
Strichman, O.: Tuning SAT Checkers for Bounded Model-Checking. Proc. of Computer Aided Verification, LNCS 1855, pp.480–494, 2000.
McMillan, K.L.: Symbolic Model Checking: An Approach to the state explosion Problem. Kluwer Academic, 1993.
Seger, C.H., Joyce, J.J.: A Mathematically Precise Two-Level Formal Hardware Verification Methodology. Technical Report TR-92-34, University of British Columbia, 1992.
Sheeran, M., Stålmarck, G.: A Tutorial on Stålmarck’s Proof Procedure for Propositional Logic. Formal Methods in System Design, 16, pp. 23–58, 2000.
Kuehlmann, A., Srinivasan, A., LaPotin, D.P.: VERITY — a Formal Verification Program for Custom CMOS Circuits. IBM Journal of Research and Development, 1/2, Vol. 39, pp.149–165, 1995.
Wang, L., Abadir, M., Krishnamurthy, N.: Automatic Generation of Assertions for Formal Verification of PowerPCTM Microprocessor Arrays Using Symbolic Trajectory Evaluation. Proc. of Design Automation Conference, pp.534–537, ACM Press, 1998.
Williams, P.F., Biere A., Clarke, E.M., Gupta, A.: Combining Decision Diagrams and SAT Procedures for Efficient Symbolic Model Checking. Proc. of Computer Aided Verification, LNCS 1855, pp.124–138, 2000.
Zhang, H.: SATO: An Efficient Propositional Prover. Proc. of CADE, LNCS 1249, pp. 272–275, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Slobodová, A. (2001). Formal Verification Methods for Industrial Hardware Design. In: Pacholski, L., Ružička, P. (eds) SOFSEM 2001: Theory and Practice of Informatics. SOFSEM 2001. Lecture Notes in Computer Science, vol 2234. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45627-9_10
Download citation
DOI: https://doi.org/10.1007/3-540-45627-9_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42912-8
Online ISBN: 978-3-540-45627-8
eBook Packages: Springer Book Archive