From Statecharts to Verilog: a formal approach to hardware/software co-specification

Hardware/software co-specification is a critical phase in co-design. Our co-specification process starts with a high level graphical description in Statecharts and ends with an equivalent parallel composition of hardware and software descriptions in Verilog. In this paper, we first investigate the Statecharts formalism by providing it a formal syntax and a compositional operational semantics. Based on that, a semantics-preserving linking function is designed to compile specifications written in Statecharts into Verilog. The obtained Verilog specifications are then passed to a partitioning process to generate hardware and software subspecifications, where the correctness is guaranteed by algebraic laws of Verilog.

[1]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[2]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[3]  Augusto Sampaio,et al.  A Normal Form Reduction Strategy for Hardware/Software Partitioning , 1997, FME.

[4]  Huibiao Zhu,et al.  Linking the semantics of a multithreaded discrete event simulation language , 2005 .

[5]  Arcot Sowmya,et al.  Extending Statecharts with Temporal Logic , 1998, IEEE Trans. Software Eng..

[6]  He Jifeng,et al.  Formalising VERILOG , 2000, ICECS 2000. 7th IEEE International Conference on Electronics, Circuits and Systems (Cat. No.00EX445).

[7]  Emil Sekerinski,et al.  Translating Statecharts to B , 2002, IFM.

[8]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.

[9]  Wang Yi,et al.  Formal Verification of UML Statecharts with Real-Time Extensions , 2002, FASE.

[10]  He Jifeng An Algebraic Approach to the VERILOG Programming , 2003 .

[11]  Jozef Hooman,et al.  A Compositional Axiomatization of Statecharts , 1992, Theor. Comput. Sci..

[12]  C. A. R. Hoare,et al.  Provably Correct Systems , 1994, FTRTFT.

[13]  Augusto Sampaio An Algebraic Approach to Compiler Design , 1993, AMAST Series in Computing.

[14]  C. A. R. Hoare,et al.  Unifying theories of programming , 1998, RelMiCS.

[15]  Sanjit A. Seshia,et al.  A Translation of Statecharts to Esterel , 1999, World Congress on Formal Methods.

[16]  Jifeng He An Algebraic Approach to the VERILOG Programming , 2002, 10th Anniversary Colloquium of UNU/IIST.

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

[18]  Jifeng He,et al.  Deriving operational semantics from denotational semantics for Verilog , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[19]  Jifeng He,et al.  From Operational Semantics to Denotational Semantics for Verilog , 2001, CHARME.

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

[21]  Michael J. C. Gordon,et al.  Relating Event and Trace Semantics of Hardware Description Languages , 2002, Comput. J..

[22]  Jifeng He,et al.  Soundness, Completeness and Non-redundancy of Operational Semantics for Verilog Based on Denotational Semantics , 2002, ICFEM.

[23]  Jifeng He,et al.  Towards a Provably Correct Hardware Implementation of Occam , 1993, CHARME.

[24]  Andrea Maggiolo-Schettini,et al.  Equivalences of Statecharts , 1996, CONCUR.

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

[26]  David Harel,et al.  On visual formalisms , 1988, CACM.

[27]  He Jifeng,et al.  An algebraic approach to hardware/software partitioning , 2000, ICECS 2000. 7th IEEE International Conference on Electronics, Circuits and Systems (Cat. No.00EX445).

[28]  Amir Pnueli,et al.  What is in a Step: On the Semantics of Statecharts , 1991, TACS.

[29]  Shengchao Qin,et al.  Partitioning program into hardware and software , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[30]  Rance Cleaveland,et al.  A compositional approach to statecharts semantics , 2000, SIGSOFT '00/FSE-8.

[31]  Gerard J. Holzmann,et al.  Implementing statecharts in PROMELA/SPIN , 1998, Proceedings. 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques.