Las FPGAs son dispositivos que nos permiten implementar circuitos digitales. Están compuestos por bloques iguales, configurables, llamados CLBs, que se unen dinámicamente según cómo se especifique en la memoria de configuración. De esta forma, cambiando el contenido de la esta memoria, se establecen unas uniones diferentes entre los CLBs, obteniéndose un dispositivo u otro.
El fichero que contiene la configuración se denomina bitstream. La características fundamental de las FPGAs es que son Dispositivos universales. Se pueden ``convertir'' en cualquier diseño digital, según el bitstream que se cargue en su memoria de configuración.