FPGA are a special form of Programmable logic devices(PLDs) with higher densities as compared to custom ICs and capable of implementing functionality in a short period of time using computer aided design (CAD) software.
This tutorial gives you a grounding on the basics of FPGA architecture and the requirements that FPGAs address.