FPGA (Field Programmable Gate Array). Por lo general, una FPGA es más compleja y tiene una densidad mucho mayor que un CPLD, aunque en ocasiones sus aplicaciones pueden solaparse. Como hemos dicho, el SPLD y el CPLD están íntimamente relacionados, puesto que, básicamente, el CPLD contiene un conjunto de dispositivos SPLD. Sin embargo, la FPGA tiene una estructura interna (arquitectura) diferente, como se ilustra en la Figura 1.36. Los tres elementos básicos en una FPGA son el bloque lógico, las interconexiones programables y los bloques de entrada/salida (E/S). Los bloques lógicos de una FPGA no son tan complejos como los bloques de matrices lógicas (LAB) de un CPLD, aunque generalmente contienen muchos más. Cuando los bloques lógicos son relativamente simples, la arquitectura de la FPGA se dice que es de granularidad fina. Cuando los bloques lógicos son grandes y más complejos, la arquitectura se denomina de granularidad gruesa. Los bloques de E/S se encuentran en los bordes exteriores de la estructura y proporcionan entrada, salida o acceso bidireccional seleccionable al mundo exterior.