ABSTRACT

This chapter describes the main characteristics and structure of modern field programmable gate arrays (FPGAs) together with the software resources that enable the efficient exploitation of their many capabilities. The programming process mainly consists of choosing the right instructions and sequences for the target application. Programmable matrices can be found in programmable logic devices, whose main application is in glue logic and finite state machines. The original application of FPGA in rapid prototyping has been complemented with new applications that take advantage of the characteristics of current devices, such as high speed, very large number of components and supported protocols, or the availability of intellectual property cores. FPGA devices have reached a level of development that puts them on the edge of microelectronics fabrication technology advancements. This has enabled an impressive amount of resources to be readily available on a single chip.