ACM Home Page
Please provide us with feedback. Feedback
Formal verification in hardware design: a survey
Full text PdfPdf (412 KB)
Source ACM Transactions on Design Automation of Electronic Systems (TODAES) archive
Volume 4 ,  Issue 2  (April 1999) table of contents
Pages: 123 - 193  
Year of Publication: 1999
ISSN:1084-4309
Authors
Christoph Kern  Univ. of British Columbia, Vancouver, B.C., Canada
Mark R. Greenstreet  Univ. of British Columbia, Vancouver, B.C., Canada
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 38,   Downloads (12 Months): 321,   Citation Count: 18
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/307988.307989
What is a DOI?

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
 
8
 
9
 
10
11
12
 
13
 
14
 
15
16
 
17
BOYER, R. S. AND MOORE, J. S. 1979. A Computational Logic. Academic Press, Inc., New York, NY.
 
18
19
 
20
 
21
 
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
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
 
41
CHURCH, A. 1940. A formulation of the simple theory of types. J. Symb. Logic 5, 56-115.
42
 
43
 
44
 
45
46
 
47
 
48
 
49
50
51
 
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
 
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
 
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
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
 
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
 
151
 
152
153
 
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
 
 
 
 
 
 
 
 
 

Collaborative Colleagues:
Christoph Kern: colleagues
Mark R. Greenstreet: colleagues

Peer to Peer - Readers of this Article have also read: