L'acronimo FPGA (Field Programmable Gate Array), descrive quei dispositivi hardware formati da un circuito integrato e con funzionalità programmabili tramite appositi linguaggi. Ne esistono di diversi tipi e si distinguono principalmente per il numero di volte in cui possono essere riprogrammati, passando da circuiti (ormai obsoleti) programmabili una sola volta, fino alle più moderne tipologie SRAM ed EPROM.
La peculiarità delle FPGA sta nella possibilità di programmare funzioni logiche molto complesse e dalla elevata scalabilità dei sistemi.