Silicon capability has enabled the embedding of an entire
system on a single silicon die. These devices are known as
systems-on-a-chip. Currently, the design of these devices is
undisciplined, expensive, and risky. One way of amortizing the cost
and ameliorating this design risk is to make a single integrated
circuit serve multiple applications, and the natural way of enabling
this is through end-user programmability. The aim of the MESCAL
project, which is the subject of this paper, is to introduce a
disciplined approach to producing reusable architectural platforms
that can be easily programmed to meet a variety of
applications. (MESCAL stands for Modern Embedded Systems, Compilers,
Architectures, and Languages.)