Talk Abstract
Benefits and Applications of Self-Configurable Hardware: The Cell Matrix Architecture
Nicholas J. Macias, Cell Matrix Corporation
seminar given at Starlab, Brussels, Belgium, Dec 7, 2000
The term "Configurable Hardware" generally implies a device with a fixed physical structure, but a variable functionality which is specified by a post-manufacture configuration step. Early devices were one-time configurable, allowing the user to specify an initial configuration of the devive, but not to subsequently change it.
     Modern configurable devices allow multiple configuration steps, and thus may be termed "Reconfigurable Hardware." These devices have found application to numerous areas, including evolvable hardware, hardware compilation, and run-time optimization.
     To date, most work in reconfigurable hardware has focused on Field Programmable Gate Arrays (FPGAs). However, FPGAs suffer from some fundamental limitations, including fault sensitivity, a non-scalable architecture, and slow congfiguration time (which grows with the device size). More generally, these shortcomings derive from the nature of FPGAs as externally-configured devices. While FPGAs are reconfigurable, their configuration is usually controlled by some external system, such as a PC, a special-purpose processor, or another FPGA. Because of this, device configuration is usually treated as separate from device execution.
     A new type of reconfigurable device called the Cell Matrix avoids these problems by utilizing internally-controlled configuration. Within a cell matrix, configuration strings are read, modified and written among the cells of the matrix itself. Moreover, there is a complete interchangability between data (which is processed by the cells) and code (which configures the cells). Thus the cell matrix is "Self-Configurable Hardware."
     This talk will provide an introduction to the cell matrix architecture. I will give a high-level description of its basic characteristics, followed by a brief overview of its cell-level behavior. I'll then discuss the benefits of self-configurable hardware, and explain how self-configurability can be used to support dynamic hardware synthesis, fault tolerance and massively parallel configuration. I'll then present some applications for the cell matrix architecture, including large search-space problems, evolvable hardware, and massively-parallel computation. I'll conclude with a summary of this research's current status and a discussion of future work.