FPGA
Las FPGA son Campos de Matrices de Puertas Programables. Simplemente son
matrices de puertas eléctricamente programables que contienen múltiples
niveles de lógica. Las FPGA se caracterizan por altas densidades de puerta,
alto rendimiento, un número grande de entradas y salidas definibles por
el usuario, un esquema de interconexión flexible, y un entorno de diseño
similar al de matriz de puertas. No están limitadas a la típica matriz
AND-OR. Por contra, contienen una matriz interna configurable de relojes
lógicos (CLBs) y un anillo de circunvalación de bloques de e/s (IOBs).
Cada CLB contiene lógica programable combinacional
y registros de almacenamiento. La sección de lógica combinacional es capaz
de implementar cualquier función booleana de sus variables de entrada.
Cada IOB puede programarse independientemente para
ser una entrada, y salida con control tri-estado o un pin bidireccional.
También contiene flip-flops que pueden usarse como buffers de entrada
y salida. Los recursos de interconexión son una red de líneas que corren
horizontalmente y verticalmente las filas y columnas entre el CLBS.
Los interruptores programables conectan las entradas
y salidas de IOBS y CLBS a líneas cercanas. Las líneas largas recorren
la anchura o longitud entera del dispositivo, estableciendo intercambios
para proporcionar una distribución de señales críticas con la mínima demora
o distorsión.
Los diseñadores que usan FPGAs pueden definir funciones
lógicas en un circuito y revisar estas funciones como sea necesario. Así,
las FPGAs pueden diseñarse y verificarse en unos días, a diferencia de
las varias semanas necesarias para las matrices de puerta programables.