The Semantics of Verilog Using Transition System Combinators

Since the advent of model checking it is becoming more common for languages to be given a semantics in terms of transition systems. Such semantics allow to model check properties of programs but are usually difficult to formally reason about, and thus do not provide a sufficiently abstract description of the semantics of a language. We present a set of transition system combinators that allow abstract and compositional means of expressing language semantics. These combinators are then used to express the semantics of a subset of the Verilog hardware description language. This approach allows reasoning about the language using both model checking and standard theorem proving techniques.

[1]  Sérgio Vale Aguiar Campos,et al.  The Verus Tool: A Quantitative Approach to the Formal Verification of Real-Time Systems , 1997, CAV.

[2]  R. Brayton,et al.  Compiling Verilog into timed finite state machines , 1995, Proceedings. 1995 IEEE International Verilog HDL Conference.

[3]  Amr Sabry,et al.  Putting Operational Techniques to the Test: A Syntactic Theory for Behavioral Verilog , 1999, HOOTS.

[4]  Parosh Aziz Abdulla,et al.  Symbolic Reachability Analysis Based on SAT-Solvers , 2000, TACAS.

[5]  Edmund M. Clarke Automatic Verification of Finite-state Concurrent Systems , 1994, Application and Theory of Petri Nets.

[6]  Ieee Standards Board IEEE Standard hardware Description language : based on the Verilog hardware description language , 1996 .

[7]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[8]  Armin Biere,et al.  Combining Decision Diagrams and SAT Procedures for Efficient Symbolic Model Checking , 2000, CAV.

[9]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[10]  Hisashi Sasaki A formal semantics for Verilog-VHDL simulation interoperability by abstract state machine , 1999, DATE '99.

[11]  Gordon J. Pace,et al.  Formal reasoning with Verilog HDL , 1998 .

[12]  Edmund M. Clarke Automatic verification of finite-state concurrent systems , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[13]  Hisashi Sasaki A Formal Semantics on Net Delay in Verilog-HDL , 1999 .

[14]  Rance Cleaveland,et al.  Priority in Process Algebra , 2001, Handbook of Process Algebra.