Globally asynchronous locally synchronous
||This article provides insufficient context for those unfamiliar with the subject. (December 2010)|
Globally asynchronous locally synchronous (GALS) is a Model of Computation (MoC) that emerged in the 80s. It is based on the synchronous MoC and on the asynchronous MoC. 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 MoC) 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. Advantages include lower power consumption and electromagnetic interference (EMI). GALS is sometimes used in system-on-a-chip (SoC).
The GALS MoC is a compromise between a completely synchronous system (a single clock domain, perhaps with clock gating on some registers) and a completely asynchronous circuit (every register can be considered its own independent clock domain). Each synchronous subsystem ("clock domain") can run on its own independent clock frequency. 
- Synchronous programming
- Asynchronous programming
- Concurrency (computer science)
- Asynchronous circuit
- Asynchronous system
- clock domain crossing
- SIGNAL (a dataflow-oriented synchronous language enabling multi-clock and GALS specifications)
- Zhoukun WANG and Omar HAMMAMI. "A 24 Processors System on Chip FPGA Design with Network on Chip". 
- "A Deterministic Globally Asynchronous Locally Synchronous Microprocessor Architecture". CiteSeerX: 10.1.1.91.9608.
- Dataflow Architectures for GALS
|This article relating to communication is a stub. You can help Wikipedia by expanding it.|