ABSTRACT

Field programmable gate arrays (FPGAs) are packaged integrated circuits (ICs) containing groups of logic, interconnects, and I/O referenced as blocks or cells [1–9]. The blocks have the ability to be configured (programmed) into a variety of small functions. The premise of device usage is to map a specified digital design into an FPGA’s configurable cells. Design mapping is feasible because each block type within an FPGA can be configured as a piecemeal implementation of the full design. Subsequently, each configurable cell of an FPGA device can be thought of as a building block.