0

Una breve historia de los FPGA

En el didáctico libro Make: FPGAs — Turning Software into Hardware with Eight Fun & Easy DIY Projects, el autor David Romano detalla el funcionamiento de las altamente configurables placas de matriz de compuerta programable en campo (FPGA) y explica cómo y por qué comenzar con estos dispositivos avanzados.

Orígenes industriales

Una matriz de compuerta programable en campo es un circuito integrado cuya funcionalidad de hardware fundamental se puede programar después de la fabricación. Hay muchas razones por las que un equipo de diseño considerará la tecnología FPGA en la industria. Por ejemplo, en muchas empresas de diseño de circuitos integrados de silicio, las plataformas basadas en FPGA se utilizan para lo que se llama pruebas de “desplazamiento a la izquierda”, donde un nuevo dispositivo SoC (sistema en un chip) es asignado a FPGAs al inicio de la fase de diseño, para comenzar integración de software mucho antes de que se fabrique el dispositivo de silicio real.

Esto se llama “emulación” del diseño. La gran ventaja es que la emulación ejecuta órdenes de magnitud más rápido que la simulación, por lo que puedes obtener interacciones de hardware / software del mundo real muy temprano en la fase de validación. El sistema FPGA generalmente opera a solo una fracción de la frecuencia de operación del silicio, pero el tiempo ahorrado en la integración es tremendo.

Otro ejemplo donde los FPGA se consideran una solución viable en la industria es donde el diseño requiere tener múltiples personalidades de hardware en la misma huella (footprint).

Oportunidades ilimitadas

La verdadera pregunta, entonces, es: ¿por qué tú, maker o estudiante, incluso considerarías experimentar con FPGA? Para los estudiantes, brinda métodos y prácticas contemporáneas de diseño de lógica digital de una manera divertida, práctica y asequible. Para el maker, se puede usar una plataforma FPGA asequible y lista para usar en algunos proyectos DIY muy interesantes y divertidos.

Seguro has tenido experiencia con Arduino o proyectos similares de microcontroladores pequeños. Con estos proyectos, generalmente montas un circuito en protoboard, lo conectas a tu Arduino, y escribes un poco de código en el lenguaje de programación C (en el que se basa Arduino) para realizar la tarea en cuestión. Por lo general, tu protoboard puede contener solo unos pocos componentes discretos y pequeños circuitos integrados. Luego pasas por el dolor de cabeza de cablear el circuito y conectarlo a tu Arduino con un nido de ratas de cables jumper.

En cambio, imagina tener una protoboard del tamaño de una cancha de baloncesto o un campo de fútbol para jugar y, lo mejor de todo, sin cables jumper. Imagina que puedes conectar todo virtualmente. Ni siquiera necesitas comprar una placa de microcontrolador separada; simplemente puedes colocar diferentes procesadores en tu diseño a tu elección. ¡De eso estamos hablando ahora! Bienvenido al mundo de los FPGA.

Historia del FPGA

Xilinx Inc. se fundó en 1984 y, como resultado de numerosas patentes y avances tecnológicos, la compañía produjo la primera familia de dispositivos lógicos programables por el usuario de propósito general basados en una arquitectura de matriz. Llamó a este avance tecnológico el Logic Cell Array (LCA), y con esto nació la familia de FPGA Xilinx XC 2000.

Puedes pensar que un LCA está compuesto por tres tipos de elementos configurables: bloques de entrada / salida (E / S), bloques lógicos, y una matriz de interconexión.

A partir de estos, un diseñador puede definir bloques de E / S individuales que se conectan a circuitos externos. Puedes pensar en estos como pines configurables de puertos. El diseñador también puede usar bloques lógicos, conectados entre sí a través de la matriz de interconexión, para implementar funciones lógicas. Estas funciones pueden ser tan simples como un contador o tan complejas como un núcleo de microcontrolador. En cierto modo, la matriz de interconexión es como los cables en una protoboard que conectan todo, pero completamente programable.

Antes de que existieran los FPGA, necesitabas usar docenas de circuitos integrados discretos en una placa de circuito, o, a veces, incluso cientos de circuitos integrados en múltiples placas de circuito, para lograr la funcionalidad de hardware que puedes lograr hoy con un dispositivo FPGA.

Por ejemplo, hoy puede crear todo el juego arcade de Pac-Man en un solo dispositivo FPGA, incluido el software del juego. ¡Ahora eso es divertido!

La configuración de un dispositivo FPGA se logra mediante la programación de las celdas de memoria, que determinan las funciones lógicas y las interconexiones. En los primeros días, este programa (o lo que se conoce como el archivo de bits) era cargado durante el encendido desde EEPROM, EPROM o ROM en la placa de circuito, o cargado desde una PC a través de una conexión serial en la placa desde la herramienta de programación de FPGA. Dado que la tecnología subyacente es la RAM estática volátil (SRAM), el archivo de bits debe recargarse con cada ciclo de encendido del dispositivo.

En los FPGA de hoy, la memoria flash SD reemplaza a la EPROM, y el USB o JTAG reemplaza la conexión serial, pero la función de programación sigue siendo la misma que al principio.

Pioneros del FPGA abierto

Es un momento realmente emocionante para los FPGAs y los makers, y estas personas son algunas de las más influyentes en el movimiento de FPGA abierto. Dales seguimiento para mantenerte al día con los últimos desarrollos.

  • Luke Valenty
  • Tim “Mithro” Ansell: Tim ha sido una fuerza impulsora en el movimiento de FPGA abierto … Tiene la habilidad de reunir a las personas adecuadas para que las cosas sucedan.
  • Clifford “oe1cxw” Wolf: Clifford es esencial en el desarrollo de herramientas FPGA open source como IceStorm y SymbiFlow.
  • Juan “Obijuan_cube” González: Juan ha trabajado en el desarrollo de una serie sustancial de tutoriales para makers y estudiantes basados en la herramienta gráfica de FPGA Icestudio que él ayuda a desarrollar.
  • David “fpga_dave” Shah: David casi ha terminado de documentar el FPGA Lattice ECP5 para que pueda usarse con la cadena de herramientas SymbiFlow de código abierto.
  • Piotr “esden” Esden-Tempski: Piotr acaba de financiar con éxito su placa FPGA IceBreaker en Crowd Supply.

Fuente: Makezine