Not only are the logic blocks configurable, but both the routing matrix and the input and output cells are programmable, giving FPGAs great flexibility when it comes to adjusting to the specifications of each design.
FPGAs are an intermediate product between programmable logic devices (PLD), and application-specific integrated circuits (ASIC).