A Survey of Next Generation Reconfigurable Architectures for Embedded Computing
Krishnamurthy, Rajaram B.
MetadataShow full item record
The capabilities of an ASIC (Application Specific Integrated Circuit) cannot be changed once it has been produced or 'taped-out', on the other hand, a processor allows more flexibility by providing an ISA(Instruction-Set Architecture) and allowing programs to change sequences of instructions within the confines of a memory consistency model. Software allows increased flexibility as it can be written in a High-level language and compiled into a processor ISA instruction sequence. An FPGA(Field Programmable Gate Array) so called because it can be programmed in-situ lies `in between' hardware and software. The intent of an FPGA design is to provide a designer with the flexibility of software at hardware speeds. FPGAs have been developed with anti-fuse technology(one-time programming) but the most popular are SRAM-based versions that may be programmed an infinite number of times. The notion of Reconfigurable Computing in this paper is related to FPGA architectures(which may be standalone) and also to architectures that use FPGAs as one of their components. The capabilities of a system are significantly enhanced when a heterogeneous architecture comprised of different components and FPGAs are used in an integrated fashion. FPGAs have been popular for logic prototyping, logic emulation and `glue logic' and are being increasingly used for hardware acceleration of application-specific computations not limited to image processing kernels and video streams. Rapid prototyping and their use as a cheap ASIC replacement are allowing penetration into newer market segments.