Arreglos de compuertas lógicas programables en sitio


Una matriz de puertas programables en campo ( FPGA ) es un circuito integrado diseñado para ser configurado por un cliente o un diseñador después de la fabricación, de ahí el término programable en campo . La configuración de FPGA generalmente se especifica usando un lenguaje de descripción de hardware (HDL), similar al usado para un circuito integrado específico de aplicación (ASIC). Los diagramas de circuitos se usaban anteriormente para especificar la configuración, pero esto es cada vez más raro debido a la llegada de las herramientas de automatización de diseño electrónico .

Los FPGA contienen una serie de bloques lógicos programables y una jerarquía de interconexiones reconfigurables que permiten conectar los bloques entre sí. Los bloques lógicos se pueden configurar para realizar funciones combinacionales complejas o actuar como puertas lógicas simples como AND y XOR . En la mayoría de los FPGA, los bloques lógicos también incluyen elementos de memoria , que pueden ser simples flip-flops o bloques de memoria más completos. [1] Muchos FPGA se pueden reprogramar para implementar diferentes funciones lógicas , lo que permite una computación reconfigurable flexible como se realiza en software de computadora .

Los FPGA tienen un papel destacado en el desarrollo de sistemas integrados debido a su capacidad para iniciar el desarrollo de software (SW) del sistema simultáneamente con el hardware (HW), permiten simulaciones de rendimiento del sistema en una fase muy temprana del desarrollo y permiten varias particiones del sistema (SW y HW). ) ensayos e iteraciones antes de la congelación final de la arquitectura del sistema. [2]

La industria de FPGA surgió de la memoria programable de solo lectura (PROM) y los dispositivos lógicos programables (PLD). Los PROM y los PLD tenían la opción de programarse en lotes en una fábrica o en el campo (programables en el campo). Sin embargo, la lógica programable estaba cableada entre las puertas lógicas. [3]

Altera se fundó en 1983 y entregó el primer dispositivo lógico reprogramable de la industria en 1984, el EP300, que incluía una ventana de cuarzo en el paquete que permitía a los usuarios encender una lámpara ultravioleta en el troquel para borrar las celdas EPROM que contenían la configuración del dispositivo. . [4]

Los cofundadores de Xilinx , Ross Freeman y Bernard Vonderschmitt , inventaron la primera matriz de puertas programables en campo comercialmente viable en 1985: la XC2064. [5] El XC2064 tenía puertas programables e interconexiones programables entre puertas, los inicios de una nueva tecnología y mercado. [6] El XC2064 tenía 64 bloques lógicos configurables (CLB), con dos tablas de búsqueda de tres entradas (LUT). [7] Más de 20 años después, Freeman ingresó al Salón de la Fama de los Inventores Nacionales por su invento. [8] [9]


Una FPGA Stratix IV de Altera
Un FPGA espartano de Xilinx
Ilustración de ejemplo simplificada de una celda lógica (LUT - Tabla de búsqueda , FA - Sumador completo , DFF - Flip-flop tipo D )
Un sistema todo programable Xilinx Zynq-7000 en un chip