FPGA

Enqunto as PAL's se foram desenvolvendo para GAL's e CPLD's, uma linha de desenvolvimento separado ocorreu. Este tipo de componente é baseado na tecnologia gate array (porta matriz) e é chamado de field programmable gate array (FPGA). Os primeiros exemplos de FPGA's foram a matriz 82s100 e a sequela 82s105 produzido pela Signetics nos finais de 1970. O 82s100 foi uma matriz de termos AND. O 82s105 também tinha funções flip-flop.

O FPGA usa uma rede de portas lógicas, semelhante a uma matriz gate ordinário, mas cujo a programação é feita pelo cliente e não pelo fabricante. O termo "campo programavel" pode ser estranho para alguns, mas "campo" é apenas um termo da engenharia utilizada para indicar o mundo de fora da fabrica, onde vivem os clientes.

FPGA's são normalmente programadas depois de terem sido soldadas a placa de circuito, de forma semelhante aos CPLD's maiores. Nos FPGA's grandes a configuração é volatil, e tem que ser recarregada no componente quando lhe é aplicada energia eléctrica ou diferentes funcionalidades são requeridas. A configuração é normalmente guardada numa configuração PROM EEPROM são programaveis embutidamente (tipicamente por JTAG).

FPGA's e CPLD's oferecem boas escolhas para tarefas particulares. Algumas vezes a decisão é mais económica do que técnica, ou pode depender da experiencia ou preferencia pessoal do engenheiro