Globally Asynchronous Locally Synchronous (GALS) systems are popular both in software and hardware for specifying and producing embedded systems as well as electronic circuits. In this paper, we propose a method for obtaining automatically a GALS system from a centralised synchronous circuit. We focus on an algorithm that takes as input a program whose control structure is a synchronous sequential circuit and some distribution specifications given by the user, and gives as output the distributed program matching the distribution specifications. Since the obtained programs communicate with each other through asynchronous FIFO queues, the resulting distributed system is indeed a GALS system. We also sketch a correctness proof for our distribution algorithm, and we present how our method can be used to achieve hardware/software codesign.
Our algorithm is implemented in the tool screp that distributes automatically synchronous circuits in the SC format produced by the Esterel compiler.
@InProceedings{GM02, author = {A. Girault and C. M{\'e}nier}, title = {Automatic Production of Globally Asynchronous Locally Synchronous Systems}, booktitle = {2nd International Workshop on Embedded Software, EMSOFT'02}, pages = {266--281}, year = {2002}, editor = {A. Sangiovanni-Vincentelli and J. Sifakis}, volume = {2491}, series = {LNCS}, address = {Grenoble, France}, month = {October}, publisher = {Springer-Verlag}, }