Using the Declarative Language LUSTRE for Circuit Verification

LUSTRE is a synchronous declarative language designed for programming real-time systems. LUSTRE manipulates flows that are sequences of values with an associated clock. This paper explains how the language LUSTRE can be used to describe synchronous digital circuits at different levels of abstraction. Then, it presents the associated verification tool LESAR. This tool automatically proves the correctness of a circuit, i.e. that a circuit implementation and the circuit specification are equivalent with respect to some observation criteria.

[1]  Paolo Prinetto,et al.  Formal verification of hardware correctness: introduction and survey of current research , 1988, Computer.

[2]  Ben C. Moszkowski,et al.  A Temporal Logic for Multilevel Reasoning about Hardware , 1985, Computer.

[3]  Nicolas Halbwachs,et al.  Specifying, Programming and Verifying Real-Time Systems Using a Synchronous Declarative Language , 1989, Automatic Verification Methods for Finite State Systems.

[4]  Nicolas Halbwachs,et al.  LUSTRE: A declarative language for programming synchronous systems* , 1987 .

[5]  Carolyn L. Talcott,et al.  Formal Verification of Synchronous Circuits based on String-Functional Semantics: The 7 Paillet Circuits in Boyer-Moore , 1989, Automatic Verification Methods for Finite State Systems.

[6]  John Plaice Sémantique et compilation de LUSTRE, un langage déclaratif synchrone , 1988 .

[7]  Edmund M. Clarke,et al.  Hierarchical Verification of Asynchronous Circuits Using Temporal Logic , 1985, Theor. Comput. Sci..

[8]  Joseph Sifakis,et al.  Verification in XESAR of the Sliding Window Protocol , 1987, PSTV.

[9]  Nicolas Halbwachs,et al.  LUSTRE: a declarative language for real-time programming , 1987, POPL '87.

[10]  Zohar Manna,et al.  Verification of concurrent programs, Part I: The temporal framework , 1981 .

[11]  Harry G. Barrow Proving the Correctness of Digital Hardware Designs , 1983, AAAI.

[12]  Mary Sheeran,et al.  muFP, a language for VLSI design , 1984, LFP '84.

[13]  Gregor von Bochmann Hardware Specification with Temporal Logic: An Example , 1982, IEEE Transactions on Computers.

[14]  P. Caspi,et al.  Use of time functions to describe and explain circuit behaviour , 1986 .

[15]  Gary Lindstrom,et al.  Ada as a hardware description language : an initial report , 1984 .