Synchronous approach to the functional equivalence of embeddedsystem implementations

Design space exploration is the process of analyzing several functionally equivalent alternatives to determine the most suitable one. A fundamental question is whether an implementation is consistent with the high-level specification or whether two implementations are "equivalent." The synchronous assumption has made it possible to develop efficient procedures for establishing functional equivalence between different implementations in the domains of synchronous circuits and synchronous reactive systems. We extend this notion to embedded systems that do not satisfy the synchronous assumption inside their boundaries but only at the interface with the environment. Leveraging this property, we define synchronous equivalence for embedded systems that strongly resembles the concept of functional equivalence for sequential circuits. We develop efficient synchronous equivalence analysis algorithms for embedded system designs. The efficiency comes from analyzing the behavior statically on abstract representations, at a cost that some of the negative results may be false, i.e. the analysis is conservative. We develop primitives for making the representation more/less abstract, trading off complexity of the algorithms with the conservativeness of the results. We apply our analysis algorithms to an ATM switch and demonstrate that synchronous equivalence opens design exploration avenues uncharted before.

[1]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[2]  Luciano Lavagno,et al.  Intellectual property re-use in embedded system co-design: an industrial case study , 1998, Proceedings. 11th International Symposium on System Synthesis (Cat. No.98EX210).

[3]  Hermann Kopetz,et al.  The time-triggered architecture , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[4]  Felice Balarin,et al.  Worst-case analysis of discrete systems , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[5]  A. Richard Newton,et al.  Design and specification of embedded systems in Java using successive, formal refinement , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[6]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[7]  Luciano Lavagno,et al.  Hardware-Software Co-Design of Embedded Systems , 1997 .

[8]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[9]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[10]  Robert K. Brayton,et al.  Two-Level Minimization of Multivalued Functions with Large Offsets , 1993, IEEE Trans. Computers.

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

[12]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[13]  Stephen H. Unger,et al.  Asynchronous sequential switching circuits , 1969 .

[14]  Felice Balarin,et al.  Synchronous equivalence for embedded systems: a tool for design exploration , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[15]  P. Coppo,et al.  The A-VPN server: a solution for ATM virtual private networks , 1994, Proceedings of ICCS '94.

[16]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[17]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[18]  Carl-Johan H. Seger,et al.  Generalized Ternary Simulation of Sequential Circuits , 1994, RAIRO Theor. Informatics Appl..

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

[20]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[21]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .