*** Welcome to piglix ***

Globally asynchronous locally synchronous


Globally asynchronous locally synchronous (GALS) is a Model of Computation (MoC) that emerged in the 1980s. It is based on the synchronous programming and on the asynchronous programming. It allows to relax the synchrony assumption to model and design computer systems consisting of several so-called synchronous islands (the program of each such island obeying the synchronous programming) interacting with each other with asynchronous communication, e.g., FIFOs.

A GALS circuit consists of a set of locally synchronous modules communicating with each other via asynchronous wrappers. Each synchronous subsystem ("clock domain") can run on its own independent clock (frequency). Advantages include much lower electromagnetic interference (EMI). The CMOS circuit (logic gates) requires relatively large supply current when changing state from 0 to 1. These changes are aggregated for synchronous circuit as most changes are initialised by an active clock edge. Therefore, large spikes on supply current occur at active clock edges. These spikes can cause large electromagnetic interference, and may lead to circuit malfunction. In order to limit these spikes large number of decoupling capacitors are used. Another solution is to use a GALS design style, i.e. design (locally) is synchronous (thus easer to be designed than asynchronous circuit) but globally asynchronous, i.e. there are different (e.g. phase shifted, rising and falling active edge) clock signal regimes thus supply current spikes do not aggregate at the same time. Consequently, GALS design style is often used in system-on-a-chip (SoC).



...
Wikipedia

...