A Formal Speci cation Model for Hardware / Software

Embedded controllers for reactive real-time applications are implemented as mixed software-hardware systems. In this paper we present a model for speciication, partitioning, and implementation of such systems. The model, called Codesign Finite State Machines (CFSMs), is based on FSMs and is particularly suited to a speciic class of systems with relatively low algo-rithmic complexity. Pre-existing formal speciication languages can be used by the designer to specify the intended behavior of the system and mapped into our model. CFSMs use a non-zero unbounded reaction delay model and hence can be indiierently implemented either in hardware or in software. The implementation only restricts the range of variation of some previously undeened delays, thus preserving formal properties of the speciication across implementation reenements. The communication primitive, event broadcasting, is low-level enough to be implemented eeciently and yet general enough to allow higher-level mechanisms (such as channels) to be deened by the designer.

[1]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[2]  Giovanni De Micheli,et al.  Synthesis and simulation of digital systems containing interacting hardware and software components , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[3]  Luciano Lavagno,et al.  Synthesis of Mixed Software-Hardware Implementations from CFSM Specifications , 1993 .

[4]  Dante Del Corso Microcomputer buses and links , 1986 .

[5]  David L. Dill,et al.  Trace theory for automatic hierarchical verification of speed-independent circuits , 1989, ACM distinguished dissertations.

[6]  Frank Vahid,et al.  System specification and synthesis with the SpecCharts language , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[7]  Gérard Berry,et al.  The ESTEREL Synchronous Programming Language and its Mathematical Semantics , 1984, Seminar on Concurrency.

[8]  Gaetano Borriello,et al.  Synthesis of the hardware/software interface in microcontroller-based systems , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[9]  Robert P. Kurshan,et al.  Analysis of Discrete Event Coordination , 1989, REX Workshop.

[10]  Jeremy Gunawardena,et al.  Causal automata , 1992, Theor. Comput. Sci..

[11]  Mani Srivastava,et al.  Rapid-prototyping of hardware and software in a unified framework , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[12]  Wayne H. Wolf,et al.  The Princeton University behavioral synthesis system , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[13]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[14]  Giovanni De Micheli,et al.  Program implementation schemes for hardware-software systems , 1994, Computer.

[15]  Robert W. Brodersen,et al.  Design of system interface modules , 1992, ICCAD.

[16]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains, Part I , 1981, Theor. Comput. Sci..

[17]  Nancy G. Leveson,et al.  Software Requirements Analysis for Real-Time Process-Control Systems , 1991, IEEE Trans. Software Eng..

[18]  John O'Leary,et al.  Codesign of communication protocols , 1993, Computer.

[19]  A. Hugo A Hardware Implementation of Pure Esterel , 1991 .

[20]  Alain J. Martin Programming in VLSI: from communicating processes to delay-insensitive circuits , 1991 .

[21]  C. Petri Kommunikation mit Automaten , 1962 .

[22]  R.K. Gupta,et al.  System-level synthesis using re-programmable components , 1992, [1992] Proceedings The European Conference on Design Automation.

[23]  Robert K. Brayton,et al.  Sequential circuit design using synthesis and optimization , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[24]  Edmund M. Clarke,et al.  A language for compositional specification and verification of finite state hardware controllers , 1991 .

[25]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[26]  Marly Roncken,et al.  The VLSI-programming language Tangram and its translation into handshake circuits , 1991, Proceedings of the European Conference on Design Automation..

[27]  Gururaj S. Rao,et al.  Integration of Machine Organization and Control Program Design - Review and Direction , 1983, IBM J. Res. Dev..

[28]  Alain J. Martin A Synthesis Method for Self-Timed VLSI Circuits , 1987 .