La mayoría de los chips solo pueden hacer aquello para lo que fueron fabricados — el cableado está integrado en el silicio de fábrica y nunca puede cambiar. Un FPGA rompe esa regla. Es un chip «programable en campo»: un mar en blanco de pequeños bloques lógicos e interconexiones idénticos que configuras después de fabricarlo, cargando un diseño. Carga un diseño y es una calculadora; carga otro y el mismo chip es un controlador de semáforos. Esta exhibición te permite seguir todo el recorrido desde unas pocas líneas de código hasta un chip en funcionamiento — y luego observar cada detalle de lo que ocurre dentro.
Empiezas con Verilog real — el lenguaje que usan los diseñadores de chips de verdad — y lo ves pasar por la cadena de herramientas real: la síntesis evalúa cada ecuación para cada entrada y escribe las respuestas en una Tabla de Consulta (una «tabla de respuestas» de dieciséis bits), la colocación y el enrutamiento depositan esas LUT en los bloques lógicos y configuran las cajas de conmutación, y se genera un flujo de bits — la cadena ordenada exacta de bits. Ese flujo de bits se guarda en un chip Flash; al encender, se carga bit a bit en las celdas SRAM de configuración del FPGA, y el silicio cobra vida. Apaga la alimentación y la SRAM lo olvida todo — un FPGA recarga su diseño cada vez que se enciende. (Dos notas honestas: la colocación y el enrutamiento aquí están preelegidos para mayor claridad, y esta es una vista a nivel lógico — las señales reales también tardan un tiempo y pueden producir transitorios.) Ahora haz zoom. Abre un bloque lógico y su LUT se revela como lo que es físicamente — un multiplexor de 16 a 1 que lee dieciséis celdas de memoria, las entradas seleccionando un bit a la vez, de dieciséis a ocho a cuatro a dos a uno, con el camino ganador en vivo iluminado. Ve más profundo y un único bit de respuesta es una celda SRAM de seis transistores; abre una caja de conmutación y el enrutamiento es una rejilla de transistores de paso, cada uno activado o desactivado por un bit de configuración. Activa los interruptores, acciona el reloj y la señal en vivo ilumina cada cable en cada nivel.
El primer FPGA, el XC2064 de Xilinx, fue inventado por Ross Freeman en 1985 con solo 64 bloques lógicos; los actuales tienen millones y funcionan en todo, desde redes telefónicas y naves espaciales hasta las máquinas que prueban nuevos chips de ordenador — valorados porque el mismo hardware puede recablearse por software a medida que cambian las necesidades. Es el pariente más directo del propio DigiSim: un FPGA es lógica programable, exactamente lo que construyes puerta a puerta en el Logic Lab de DigiSim, convertido en un chip que puedes sostener en la mano.
Especificaciones
- Desde el código
- Verilog real → sintetizar → colocar y enrutar → flujo de bits → grabar → ejecutar
- Grabado en
- Los bits de configuración se desplazan a las celdas SRAM del chip — observa cómo se llena el die
- Zoom hasta los átomos
- Bloque lógico → LUT como multiplexor 16:1 en vivo → celda SRAM de 6 transistores
- Diseños
- Puerta lógica, semisumador, parpadeo, contador → 7 segmentos, FSM de semáforo
Más de Informática