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.