FPGA
Siglas de field-programmable gate array, matriz de puertas programable en campo.
FPGA: un chip que se puede reconfigurar después de salir de fábrica
Un FPGA es un circuito integrado construido a partir de una matriz de bloques lógicos configurables, interconexiones programables y memoria embebida. A diferencia de un microprocesador fijo, se puede reprogramar el cableado interno y las funciones lógicas después de la fabricación, lo que le permite adaptarse a diferentes tareas sin reemplazar físicamente el chip. Esta reconfigurabilidad hace que los FPGA sean valiosos en aplicaciones donde la flexibilidad, el procesamiento paralelo o la lógica personalizada superan el costo y el consumo de energía de un hardware dedicado.
El bloque de construcción básico es la tabla de consulta (LUT), típicamente una unidad de 4 o 6 entradas que realiza cualquier función lógica booleana en sus entradas. Los grupos de LUT se emparejan con multiplexores, lógica de acarreo y flip-flops para formar "slices" más grandes; estas "slices" luego se distribuyen por el chip en una cuadrícula regular. Los interruptores de interconexión programables conectan todo. Cuando se escribe y sintetiza código de lenguaje de descripción de hardware (Verilog o VHDL), la herramienta de síntesis mapea la lógica en estos recursos primitivos y programa la memoria en el chip que controla cada interruptor y multiplexor.
Los FPGA modernos varían desde dispositivos pequeños con unos pocos miles de elementos lógicos hasta chips grandes con millones, con fabricantes como Xilinx, Intel (Altera) y Lattice dominando el mercado. Las aplicaciones industriales incluyen el procesamiento de señales en radares y sonares, sistemas de comercio de alta frecuencia, preprocesamiento de visión artificial, sistemas de control en tiempo real y aceleración de hardware para centros de datos. La creación de prototipos y la lógica personalizada de bajo volumen también se benefician de los FPGA porque se evita el costo de ingeniería no recurrente y el tiempo de entrega del diseño de un ASIC específico para una aplicación.
Desafíos y compensaciones
Los FPGA consumen más energía y ocupan más área que los ASIC equivalentes de función fija, y el tiempo de desarrollo es más largo porque se debe pensar en lógica paralela en lugar de código secuencial. El cierre de temporización es crítico: el diseño debe cumplir con los tiempos de "setup" y "hold" en todas las rutas a la frecuencia de reloj objetivo, lo que requiere un "place-and-route" iterativo. La depuración es más difícil que el software; no se puede avanzar paso a paso fácilmente a través del hardware ni inspeccionar señales internas sin instrumentar el diseño con bloques lógicos adicionales.
La volatilidad de la cadena de suministro y los largos plazos de entrega se han convertido en serias preocupaciones desde 2020. Los nodos más antiguos (28 nm y superiores) tienen disponibilidad esporádica. La gestión térmica es importante en aplicaciones densas: algunos FPGA industriales deben operar a 70 °C o más de temperatura de unión, por lo que la refrigeración del gabinete y el modelado térmico son esenciales. La seguridad de la configuración también es una preocupación; el cifrado de "bitstream" y la protección contra manipulaciones están disponibles en los dispositivos modernos, pero añaden complejidad.
Fuentes
- Fuente de la definiciónWiktionary