Combining Operational Semantics, Logic Programming and Literate Programming in the Specification and Animation of the Verilog Hardware Description Language

An operational semantics for a significant subset of the Verilog Hard-ware Description Language (HDL) has been developed. An unusual aspect of the semantics is that it was formulated as a Prolog logic program. This allows the possibility of simulating the semantics. In addition, a literate programming style has been used, so the semantics can be processed by the LATEX document preparation system with minimal and fully automated preprocessing. Bringing together the paradigms of operational semantics, logic programming and literate programming in this manner has proved a great aid in a number of ways. It has helped improve the understanding of the semantics, in the formalization of semantic aspects left informal in the original mathematical formulation of the semantics, and in the maintenance of the formal semantics and its associated informal description.

[1]  Flemming Nielson,et al.  Semantics with applications - a formal introduction , 1992, Wiley professional computing.

[2]  Jonathan P. Bowen The ethics of safety-critical systems , 2000, CACM.

[3]  Jonathan P. Bowen Animating the Semantics of VERILOG using Prolog , 2001 .

[4]  Jack Minker,et al.  Logic and Data Bases , 1978, Springer US.

[5]  Leslie Lamport,et al.  Latex : A Document Preparation System , 1985 .

[6]  Jifeng He A Behavioral Model for Co-design , 1999, World Congress on Formal Methods.

[7]  Donald E. Knuth,et al.  Literate Programming , 1984, Comput. J..

[8]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .

[9]  Mark Schlack,et al.  Digital Equipment Corp. , 1993 .

[10]  Leslie Lamport,et al.  How to Write a Proof , 1995 .

[11]  Augusto Sampaio,et al.  ParTS: A Partitioning Transformation System , 1999, World Congress on Formal Methods.

[12]  Gerardo Schneider,et al.  Towards an Operational Semantics of Verilog , 1998 .

[13]  Michael J. C. Gordon,et al.  The semantic challenge of Verilog HDL , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[14]  Jonathan P. Bowen,et al.  High-Integrity System Specification and Design , 1999, Formal Approaches to Computing and Information Technology (FACIT).

[15]  Andy Galloway,et al.  IFM '99 : proceedings of the 1st International Conference on Integrated Formal Methods, York, 28-29 June 1999 , 1999 .

[16]  Jifeng He,et al.  An animatable operational semantics of the Verilog hardware description language , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[17]  Jonathan P. Bowen Hardware Compilation : Verification and Rapid-prototyping , 1999 .

[18]  Jonathan P. Bowen,et al.  High-Integrity System Specification and Design , 1999 .

[19]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[20]  Jifeng He,et al.  A theory of combinational programs , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[21]  Jonathan P. Bowen An Invoicing Case Study in Z , 1998 .

[22]  Jifeng He,et al.  A Common Framework for Mixed Hardware/Software Systems , 1999, IFM.

[23]  Jonathan P. Bowen,et al.  Industrial-Strength Formal Methods in Practice , 1999, Formal Approaches to Computing and Information Technology (FACIT).

[24]  T. Van Dung,et al.  A theory of combinational programs , 2001 .

[25]  W. F. Clocksin Logic Programming and Digital Circuit Analysis , 1987, J. Log. Program..

[26]  Carlos Delgado Kloos,et al.  Reasoning about VHD3L and VHDL-AMS using denotational semantics , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[27]  Cliff B. Jones,et al.  Specifications are not (necessarily) executable , 1989 .

[28]  Norbert E. Fuchs Specifications are (preferably) executable , 1992, Softw. Eng. J..

[29]  Jifeng He,et al.  An Operational Semantics of a Simulator Algorithm , 2000, PDPTA.

[30]  Jonathan P. Bowen,et al.  Formal Models and the Specification Process , 1997, The Computer Science and Engineering Handbook.

[31]  William F. Clocksin,et al.  Programming in Prolog , 1987, Springer Berlin Heidelberg.

[32]  Ulrich Golze VLSI Chip Design with the Hardware Description Language VERILOG , 1996, Springer Berlin Heidelberg.

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

[34]  Carlos Delgado Kloos,et al.  Formal Semantics for VHDL , 1995 .

[35]  ZJonathan P. BowenThe,et al.  An Invoicing Case Study in , 1998 .