This chapter describes the main characteristics, structure, and hardware resources of modern field-programmable gate arrays (FPGAs). The basic architecture of most FPGAs based on a matrix of configurable hardware basic building blocks surrounded by I/O Blocks (IOBs) that give FPGA access to/from external devices. In addition to distributed logic, aimed at supporting the development of custom functions, FPGAs include specialized hardware blocks aimed at the efficient implementation of functions required in many practical applications. Column architectures are application oriented, because FPGAs with very different resources can be readily developed using chips with the same area and pin count, allowing the cost–performance trade-off to be optimized for each particular application. Logic Blocks (LBs) are intended to implement custom combinational and sequential functions. The differences among LBs from different vendors basically refer to the number of inputs of the lookup tables (LUTs), the number of memory elements, and the configuration capabilities of the LB.