|
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 &ohgr;-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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
|
 |
4
|
|
| |
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.
|
| |
6
|
|
| |
7
|
K. D. Anon , N. Boulerice , Eduard Cerny , Francisco Corella , Michel Langevin , Xiaoyu Song , Sofiène Tahar , Y. Xu , Z. Zhou, MDG Tools for the Verification of RTL Designs, Proceedings of the 8th International Conference on Computer Aided Verification, p.433-436, August 03, 1996
|
| |
8
|
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
 |
12
|
Ilan Beer , Shoham Ben-David , Cindy Eisner , Avner Landver, RuleBase: an industry-oriented formal verification tool, Proceedings of the 33rd annual conference on Design automation, p.655-660, June 03-07, 1996, Las Vegas, Nevada, United States
[doi> 10.1145/240518.240642]
|
| |
13
|
|
| |
14
|
Mark Birman , Allen Samuels , George Chu , Ting Chuk , Larry Hu , John McLeod , John Barnes, Developing the WTL3170/3171 Sparc Floating-Point Coprocessors, IEEE Micro, v.10 n.1, p.55-64, January 1990
[doi> 10.1109/40.46769]
|
| |
15
|
Nikolaj Bjørner , Anca Browne , Eddie Chang , Michael Colón , Arjun Kapur , Zohar Manna , Henny Sipma , Tomás E. Uribe, STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems, Proceedings of the 8th International Conference on Computer Aided Verification, p.415-418, August 03, 1996
|
 |
16
|
Jörg Bormann , Jörg Lohse , Michael Payer , Gerd Venzl, Model checking in industrial hardware design, Proceedings of the 32nd ACM/IEEE conference on Design automation, p.298-303, June 12-16, 1995, San Francisco, California, United States
[doi> 10.1145/217474.217545]
|
| |
17
|
BOYER, R. S. AND MOORE, J. S. 1979. A Computational Logic. Academic Press, Inc., New York, NY.
|
| |
18
|
|
 |
19
|
Karl S. Brace , Richard L. Rudell , Randal E. Bryant, Efficient implementation of a BDD package, Proceedings of the 27th ACM/IEEE conference on Design automation, p.40-45, June 24-27, 1990, Orlando, Florida, United States
[doi> 10.1145/123186.123222]
|
| |
20
|
|
| |
21
|
Robert K. Brayton , Gary D. Hachtel , Alberto L. Sangiovanni-Vincentelli , Fabio Somenzi , Adnan Aziz , Szu-Tsung Cheng , Stephen A. Edwards , Sunil P. Khatri , Yuji Kukimoto , Abelardo Pardo , Shaz Qadeer , Rajeev K. Ranjan , Shaker Sarwary , Thomas R. Shiple , Gitanjali Swamy , Tiziano Villa, VIS, Proceedings of the First International Conference on Formal Methods in Computer-Aided Design, p.248-256, November 06-08, 1996
|
| |
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.
|
| |
23
|
BROCK, B., HUNT, W. A., AND KAUFMANN, M. 1994. The FM9001 microprocessor proof. Tech. Rep. 86. Computational Logic, Inc., Austin, TX.
|
| |
24
|
|
| |
25
|
|
 |
26
|
R. E. Bryant , D. Beatty , K. Brace , K. Cho , T. Sheffler, COSMOS: a compiled simulator for MOS circuits, Proceedings of the 24th ACM/IEEE conference on Design automation, p.9-16, June 28-July 01, 1987, Miami Beach, Florida, United States
[doi> 10.1145/37888.37890]
|
 |
27
|
|
| |
28
|
|
 |
29
|
|
| |
30
|
|
 |
31
|
|
| |
32
|
|
 |
33
|
|
| |
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.
|
 |
35
|
|
| |
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.
|
| |
37
|
|
| |
38
|
|
| |
39
|
|
| |
40
|
Yirng-An Chen , Edmund M. Clarke , Pei-Hsin Ho , Yatin Vasant Hoskote , Timothy Kam , Manpreet Khaira , John W. O'Leary , Xudong Zhao, Verification of All Circuits in a Floating-Point Unit Using Word-Level Model Checking, Proceedings of the First International Conference on Formal Methods in Computer-Aided Design, p.19-33, November 06-08, 1996
|
| |
41
|
CHURCH, A. 1940. A formulation of the simple theory of types. J. Symb. Logic 5, 56-115.
|
 |
42
|
|
| |
43
|
E. M. Clarke , M. Fujita , X. Zhao, Hybrid decision diagrams, Proceedings of the 1995 IEEE/ACM international conference on Computer-aided design, p.159-163, November 05-09, 1995, San Jose, California, United States
|
| |
44
|
Edmund M. Clarke , Orna Grumberg , Hiromi Hiraishi , Somesh Jha , David E. Long , Kenneth L. McMillan , Linda A. Ness, Verification of the Futurebus+ Cache Coherence Protocol, Proceedings of the 11th IFIP WG10.2 International Conference sponsored by IFIP WG10.2 and in cooperation with IEEE COMPSOC on Computer Hardware Description Languages and their Applications, p.15-30, April 26-28, 1993
|
| |
45
|
|
 |
46
|
E. M. Clarke , K. L. McMillan , X Zhao , M. Fujita , J. Yang, Spectral transforms for large boolean functions with applications to technology mapping, Proceedings of the 30th international conference on Design automation, p.54-60, June 14-18, 1993, Dallas, Texas, United States
[doi> 10.1145/157485.164569]
|
| |
47
|
|
| |
48
|
|
| |
49
|
|
 |
50
|
|
 |
51
|
E. M. Clarke , M. Khaira , X. Zhao, Word level model checking—avoiding the Pentium FDIV error, Proceedings of the 33rd annual conference on Design automation, p.645-648, June 03-07, 1996, Las Vegas, Nevada, United States
[doi> 10.1145/240518.240640]
|
| |
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.
|
| |
53
|
|
| |
54
|
|
| |
55
|
|
| |
56
|
|
| |
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.
|
| |
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.
|
| |
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.).
|
| |
60
|
|
| |
61
|
|
| |
62
|
DAC EXHIBITS, 1997. Thirty-Fourth DAC exhibit information, http://www.dac.com/ 34exhibits.html.
|
| |
63
|
|
| |
64
|
|
| |
65
|
|
| |
66
|
|
 |
67
|
|
| |
68
|
|
| |
69
|
|
 |
70
|
|
| |
71
|
|
| |
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.
|
| |
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.
|
| |
74
|
|
| |
75
|
|
| |
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.
|
| |
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.
|
| |
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.
|
 |
79
|
|
| |
80
|
|
| |
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.
|
 |
82
|
|
| |
83
|
|
| |
84
|
|
| |
85
|
|
| |
86
|
|
| |
87
|
|
| |
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.
|
| |
89
|
|
 |
90
|
|
 |
91
|
|
| |
92
|
|
| |
93
|
|
| |
94
|
|
 |
95
|
|
| |
96
|
|
 |
97
|
Alan J. Hu , Gary York , David L. Dill, New techniques for efficient verification with implicitly conjoined BDDs, Proceedings of the 31st annual conference on Design automation, p.276-282, June 06-10, 1994, San Diego, California, United States
[doi> 10.1145/196244.196377]
|
| |
98
|
|
| |
99
|
|
| |
100
|
|
 |
101
|
|
| |
102
|
|
| |
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.
|
| |
104
|
|
| |
105
|
Robert B. Jones , David L. Dill , Jerry R. Burch, Efficient validity checking for processor verification, Proceedings of the 1995 IEEE/ACM international conference on Computer-aided design, p.2-6, November 05-09, 1995, San Jose, California, United States
|
| |
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.
|
 |
107
|
|
| |
108
|
|
| |
109
|
KAUFMANN, M. AND MOORE, J. S. 1994. Design goals for ACL2. Tech. Rep. 101. Computational Logic, Inc., Austin, TX.
|
| |
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.
|
| |
111
|
|
| |
112
|
KLEENE, S. C. 1967. Mathematical Logic. John Wiley & Sons, Inc., New York, NY.
|
| |
113
|
|
| |
114
|
KOZEN, D. 1993. Results on the propositional tL-calculus. Theor. Comput. Sci. 27, 3 (Dec.), 333-354.
|
| |
115
|
|
| |
116
|
|
| |
117
|
|
| |
118
|
|
 |
119
|
|
| |
120
|
|
| |
121
|
|
 |
122
|
|
 |
123
|
|
| |
124
|
|
| |
125
|
|
| |
126
|
|
| |
127
|
Daniel Lenoski , James Laudon , Kourosh Gharachorloo , Wolf-Dietrich Weber , Anoop Gupta , John Hennessy , Mark Horowitz , Monica S. Lam, The Stanford Dash Multiprocessor, Computer, v.25 n.3, p.63-79, March 1992
[doi> 10.1109/2.121510]
|
 |
128
|
|
 |
129
|
|
| |
130
|
|
| |
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.
|
| |
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.
|
| |
133
|
Z Manna , Anuchit Anuchitanukul , Nikolaj Bjorner , Anca Browne , Edward Chang , Michael Colon , Luca de Alfaro , Harish Devarajan , Henny Sipma , Tomas Uribe, STeP: The Stanford Temporal Prover, Stanford University, Stanford, CA, 1994
|
| |
134
|
|
 |
135
|
|
| |
136
|
|
| |
137
|
MCCUNE, W. 1994. OTTER 3.0. Preprint MCS-P399-1193. Argonne National Laboratory, Argonne, IL.
|
| |
138
|
MCFARLAND, M. C. 1993. Formal verification of sequential hardware: A tutorial. IEEE Trans. Comput.-Aided Des. Integr. Circuits 12, 5 (May), 663-654.
|
| |
139
|
|
 |
140
|
|
| |
141
|
|
| |
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.
|
| |
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.
|
| |
144
|
|
| |
145
|
|
| |
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.
|
 |
147
|
|
| |
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.).
|
 |
149
|
|
| |
150
|
Sam Owre , S. Rajan , John M. Rushby , Natarajan Shankar , Mandayam K. Srivas, PVS: Combining Specification, Proof Checking, and Model Checking, Proceedings of the 8th International Conference on Computer Aided Verification, p.411-414, August 03, 1996
|
| |
151
|
|
| |
152
|
|
 |
153
|
Manish Pandey , Richard Raimi , Derek L. Beatty , Randal E. Bryant, Formal verification of PowerPC arrays using symbolic trajectory evaluation, Proceedings of the 33rd annual conference on Design automation, p.649-654, June 03-07, 1996, Las Vegas, Nevada, United States
[doi> 10.1145/240518.240641]
|
| |
154
|
PAULSON, L. C. 1994. Isabelle: A generic theorem prover. In Lecture Notes in Computer Science, vol. 828. Springer-Verlag, New York.
|
| |
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.
|
| |
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.
|
| |
157
|
|
 |
158
|
|
| |
159
|
|
| |
160
|
|
| |
161
|
|
| |
162
|
|
| |
163
|
|
| |
164
|
|
| |
165
|
|
| |
166
|
|
| |
167
|
|
| |
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.
|
 |
169
|
|
 |
170
|
|
 |
171
|
|
 |
172
|
|
| |
173
|
|
| |
174
|
|
| |
175
|
|
| |
176
|
|
| |
177
|
|
| |
178
|
|
| |
179
|
|
| |
180
|
|
| |
181
|
|
| |
182
|
TARSKI, A. 1951. Decision Method for Elementary Algebra and Geometry. University of California Press, Berkeley, CA.
|
| |
183
|
|
| |
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.
|
| |
185
|
|
| |
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.
|
| |
187
|
|
| |
188
|
|
 |
189
|
|
| |
190
|
WEIH, D. AND GREENSTREET, M. 1996. Verifying asynchronous data path circuits. IEE Proc. Comput. Digit. Tech. 143, 5 (Sept.), 295-300.
|
| |
191
|
|
| |
192
|
|
| |
193
|
WINDLEY, P.J. 1995. Verifying pipelined microprocessors. Tech. Rep.. Brigham Young University, Provo, UT.
|
| |
194
|
|
| |
195
|
WOLPER, P. 1984. Temporal logic can be more expressive. Inf. Control 56, 1/2 (Jan./Feb. 1983), 72-99.
|
| |
196
|
Xu, Y., CERNY, E., SILBURT, A., AND HUGHES, R. B. 1997. Property verification using theorem proving and model checking.
|
| |
197
|
|
CITED BY 19
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mauricio Varea , Bashir M. Al-Hashimi , Luis A. Cortés , Petru Eles , Zebo Peng, Symbolic model checking of Dual Transition Petri Nets, Proceedings of the tenth international symposium on Hardware/software codesign, May 06-08, 2002, Estes Park, Colorado
|
|
|
Andreas Griesmayer , Roderick Bloem , Martin Hautzendorfer , Franz Wotawa, Formal verification of control software: a case study, Proceedings of the 18th international conference on Innovations in Applied Artificial Intelligence, p.783-788, June 22-24, 2005, Bari, Italy
|
|
Leila Barakatain , Sofiène Tahar , Jean Lamarche , Jean-Marc Gendreau, Practical approaches to the verification of a telecom megacell using FormalCheck, Proceedings of the 11th Great Lakes symposium on VLSI, p.1-6, March 2001, West Lafayette, Indiana, United States
|
|
Hong-Zu Chou , I-Hui Lin , Ching-Sung Yang , Kai-Hui Chang , Sy-Yen Kuo, Enhancing bug hunting using high-level symbolic simulation, Proceedings of the 19th ACM Great Lakes symposium on VLSI, May 10-12, 2009, Boston Area, MA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE Design Automation Conference on
Gwo-Dong Chen
, Daniel D. Gajski
|