Abstract
In order to achieve bug-free designs, two complementary strategies have been actively developed: Automatic synthesis generates under specified constraints, from a behavioural description of a circuit, a layout of interconnected components such that the resulting network produces the same behaviour and satisfies the constraints; such designs are functionally correct by construction if the primitive components have been fully verified, and if the transformations used to map behavioural statements into a network of primitive components are themselves correct. However, to check the result of the synthesis software (which in general has not been proven bug-free), and in the case of manual or humanassisted design, a thorough verification of the design functional correctness has to be performed. Except for very small circuits, the functional verification by exhaustive simulation is impractical. This is why, for the last ten years, considerable research efforts have gone into finding theoretical models, proof methods and efficient algorithms to perform the formal verification of a design correctness. Correctness is not an absolute concept, but rather relates to several quite distinct attributes, such as checking desired timing characteristics (set-up, hold time,...), properties ( safety, liveness, etc.), or functional behaviour. In this paper, we shall concentrate on the last two aspects, and shall consider the following partial definition: formally verifying a circuit design consists in proving that, for all acceptable initial state values and for all possible input values, the design implementation (how it is built) realizes its specification (its expected behavior). Results obtained in the last years show that such verifications are applicable to reasonably complex circuits.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
J.R.Burch, E.M.Clarke, K.L.McMillan, D.L.Dill : “Sequential circuit verification using symbolic model ckecking”. Proc. 27th DAC, 1990.
J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill , L.J. Hwang: “Symbolic Model Checking: 1020 States and Beyond”. ACM Int. Workshop on Formal Methods in VLSI Design; Miami, 9–11 janvier 1991.
D. Borrione, D. Deharbe, H. Eveking, S. Höreth: “Application of a BDD package to the verification of HDL descriptions”. Proc. Advanced Research Workshop on Correct Hardware Design Methodologies. June 12–14, 1991. Turin (Italy), North Holland, pp. 385–400.
A.Bartsch, H.Eveking, H.J.Faerber, M.Kelelatchew, J.Pinder, U.Schellin : “LOVERT-A Logic Verifier of Register-Transfer Descriptions”. In “Formal VLSI Correctness Verification”, L.Claesen Ed., North Holland (1990), ISBN 0444 88689 3.
S.Bose, A.L. Fisher: “Automatic Verification of Synchronous Circuits Using Symbolic Logic Simulation And Temporal Logic”. Proc. of the IFIP International Workshop “Applied Formal Methods for Correct VLSI Design”, Leuven, Belgium, Nov. 89 (North Holland).
R.S Boyer, J S.Moore : “A computational logic handbook”, Academic Press, 1988.
D. Borrione, J.L. Paillet : “An approach to the formal verification of VHDL descriptions”, Research Report N°683-I, IMAG/ARTEMIS, Grenoble, Nov. 1987
C.Bayol, J.L.Paillet : “ Using Tache for proving circuits”. Proc. IFIP WG 10.2 Int. Workshop Nov. 1989. In “Formal VLSI Correctness Verification”, L.Claesen ED., North Holland (1990), ISBN 0444 88689 3.
D.Borrione, L.Pierre, A.Salem : “PREVAIL : A Proof Environment for VHDL Descriptions”. Proc. Advanced Research Workshop on Correct Hardware Design Methodologies. June 12–14, 1991. Turin (Italy), North Holland, pp 163–186
R.E. Bryant: “Graph-based algorithms for boolean function manipulation”. IEEE Trans. on Computers, Vol C-35, N° 8, pp. 677–691, August 1986
R.E. Bryant: “Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams”. ACM Computing Surveys, Vol. 24, Nr. 3, 1992, pp. 293–318
O.Coudert, C.Berthet, J.C.Madre : “Verification of synchronous sequential machines based on symbolic execution”. In “Automatic Verification Methods for Finite State Systems”, LNCS n°407. Spinger Verlag 1989 (pp 365–373).
O.Coudert, C.Berthet, J.C.Madre: “Verification Of Sequential Machines using Boolean Functional Vectors”. Proc. of the IFIP International Workshop “Applied Formal Methods for Correct VLSI Design”, Leuven, Belgium, Nov. 89 (North Holland).
P. Cavenel, X. Epineuse: “Validation de propriétés de circuits digitaux dans un environnement VHDL”. Rapport de stage 3° année ENSIMAG, Grenoble, Juin 1992.
E. M. Clarke, E. A. Emerson, A.P.Sistla: “Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications”. ACM Trans. on Programming Languages and Systems, Vol.8, N°2, April 1986, pp 244–263.
P. Camurati, M. Gilli, P. Prinetto, M. S. Reorda: “ The Product Machine and implicit enumeration to prove FSMs correct”. Proc. Advanced Research Workshop on Correct Hardware Design Methodologies. June 12–14, 1991. Turin (Italy), North Holland, pp 51–62.
CLSI: “VHDL Tool Integration Platform (VTIP)”, CAD Language Systems, Rockville, MD, USA, April 1990
P. Camurati, P. Prinetto: “Formal verification of hardware correctness: Introduction and survey of current research”. IEEE Computers, vol 21, N° 7, 1988
E.A. Emerson, J.Y. Halpern: “Decision Procedures and Expressiveness in the Temporal Logic of Branching Time”. Journal of Computer and Systems Sciences, Vol 30, No. 1, Feb.85
H. Eveking: “Axiomatizing hardware description languages”. International Journal of VLSI Design, Vol.2, N° 3, pp. 263–280, 1990.
H. Eveking: “Experience in designing formally verifiable HDLV.” Proc. CHDL’91, Marseille, France, April 1991, North Holland, pp.321–334
T. Filkorn: “A method for symbolic verification of synchronous circuits”. Proc. CHDL’91, Marseille, April 1991, North Holland, pp. 229–239.
M.Gordon : “The denotational semantics of sequential machines”. Information Processing Letters, Vol.10, n°l. February 1980.
M.Gordon : “Why Higher Order Logic is a good formalism for specifying and verifying hardware”, Proc. Edinburgh Workshop on “Formal aspects of VLSI design”, 1985, G. Milne and P.A. Subrahmanyam Ed., North Holland (1986).
A. Gupta: “Formal hardware verification methods: a survey”. Formal Methods in System Design, Vol.1 N° 2/3, Oct. 1992
W.A. Hunt : “FM8501 : A verified microprocessor”. Institute for Computing Science, University of Texas, Austin (USA). Technical Report n°47. February 1986.
Z. Kohavi: “Switching and finite automata theory”, McGraw Hill, 1978
J.C. Madre, J.P. Billon: “Proving circuit correctness using formal comparison between expected and extracted behaviour”. Proc. 25th ACM-IEEE Design Automation Conference, June 1988.
L.Pierre : “The Formal Proof of the “Min-max” sequential benchmark described in CASCADE using the Boyer-Moore Theorem Prover”. Proc. IFIP WG 10.2 Int. Workshop Nov. 1989. In “Formal VLSI Correctness Verification”, L.Claesen ED., North Holland, 1990, ISBN 0444 88689 3.
L.Pierre : “Représentation fonctionnelle et preuve automatisée de circuits digitaux”. PhD thesis. Université de Provence, Marseille (France). December 1990.
L.Pierre : “One Aspect of Mechanizing Formal Proof of Hardware : the Generalization of Partial Specifications”. Proc. ACM International Workshop on Formal Methods in VLSI Design. Miami (USA). 9–11 January 1991.
G. Thuau, B. Berkane: “Using the language Lustre for sequential circuit verification”. Proc. 2nd Workshop on Designing Correct Circuits, Lyngby, Denmark, Participants Edition, pp.81–96
D. Verkest, L. Claesen, H. DE Man : “Correctness proof of parameterized hardware modules in the Cathedral-II synthesis environment”. Proc. European Design Automation Conference. Glasgow (U.K.). 12–15 March 1990
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Borrione, D., Eveking, H., Pierre, L. (1993). Formal proofs from HDL descriptions. In: Mermet, J.P. (eds) Fundamentals and Standards in Hardware Description Languages. NATO ASI Series, vol 249. Springer, Dordrecht. https://doi.org/10.1007/978-94-011-1914-6_5
Download citation
DOI: https://doi.org/10.1007/978-94-011-1914-6_5
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-010-4846-0
Online ISBN: 978-94-011-1914-6
eBook Packages: Springer Book Archive