Todo estudiante, ingeniero o profesional afín a la electrónica digital, ha cursado el estudio de las compuertas lógicas. Y se sabe que al ser combinadas e integradas en arquitecturas más complejas  por centenas, miles o incluso millones de ellas, constituyen la base de toda la electrónica moderna.

Desde los inicios de los circuitos integrados digitales, siempre se había planteado la posibilidad de crear dispositivos con hardware reconfigurable, es decir, circuitos que no sólo se limitaran a ejecutar instrucciones pre-configuradas, como ocurre en un microprocesador, si no, que fuera el mismo hardware en sí, el que se configurará para un propósito específico. Sin embargo, no fue hasta la década de los 70’s cuando salieron al mercado los primeros dispositivos lógicos programables (PLD). Esta idea fue evolucionando a lo largo de la década de los 80’s, pasando por diversas transformaciones y mejoras hasta llegar al dispositivo que hizo posible la popularización de esta corriente de desarrollo en base a la descripción de hardware: el FPGA.

Los FPGAo Field Programmable Gate Array (arreglo de compuertas programables en campo) es un circuito integrado de electrónica digital, que tiene la capacidad de reconfiguración del hardware en su interior. Esto plantea la posibilidad de que es el propio FPGA el que se reforma o reconstituye internamente para que sea un dispositivo con una aplicación específica, desde una calculadora sencilla hasta uno o varios microprocesadores funcionando al mismo tiempo en paralelo. El FPGA es entonces un dispositivo muy versátil, con capacidades prácticamente ilimitadas para crear diseños digitales a la medida y eficientes, en comparación con un microprocesador tradicional.

Por otro lado, los lenguajes más populares que se utilizan para programar FPGA son el VHDL y el Verilog. Cabe destacar que un FPGA no se programa de la forma “tradicional”, es decir, no se le graban instrucciones a seguir o ejecutar (no se creasoftware). Lo que se “programa” como código, es la  descripción de un hardware realque será implementado en él. Por lo tanto, lo que se desarrolla es en realidad el diseño de una arquitectura de hardware. Y este es el primer cambio de paradigma con el que se topan, los estudiantes recién adentrados en este campo. Sin embargo, una vez comprendida esta diferencia, se abren las puertas a muchas posibilidades e ideas nuevas que antes no se podían llevar a cabo de forma eficiente con microprocesadores tradicionales.

Los FPGA al día de hoy tienen aplicaciones en la industrias automotriz, en las telecomunicaciones, en computadoras y almacenamiento de datos, en los sectores médico, militar y hasta en la industria aeroespacial [1] y se perfila en un futuro para dar solución a las necesidades de la futura conectividad 5G, visión por computadora empotrada, internet de las cosas (IoT) y computación en la nube [2]. Tanto es el interés, que compañías como Microsoft, Amazon, Intel(que en 2015 compró a Altera) y Xilinx han realizado esfuerzos [3],[4] para demostrar que los FPGA y su lógica reconfigurable, pueden superar soluciones tradicionales con Microprocesadores y GPU (Graphic Processor Unit) y hasta superan la propuesta de Google de crear sus propios circuitos integrados de aplicación específica (ASIC) para sus TPU(Tensor Processing Unit) los cuales utiliza en todos sus servicios, desde el famoso motor de búsqueda, hasta el traductor y los mapas [5].

Relacionado con la computación en la nube, se encuentran las Deep Neural Network / red neuronal profunda, utilizadas en la inteligencia artificial [6]. Y no, no se trata de la inteligencia artificial que vemos en las películas con resultados apocalípticos, si no al paradigma de tratamiento de datos en base al aprendizaje y determinación de patrones con el fin de obtener uno o varios resultados de nuestro interés. Para lograrlo, es muy útil la concurrencia y el paralelismoparadigmas  que los FPGA pueden superar. Tanto así que Intel y Microsoft piensan que los FPGA son la respuesta [7].

Una última aplicación que vale la pena mencionar, fuera del contexto de la industria y más enfocado al entretenimiento personal que ilustra las capacidades de los FPGA, es la réplica de microprocesadores de consolas de videojuegos populares y antiguas como el Nintendo NES [8], el Game Boy [9] y hasta la más compleja Super Nintendo [10]. Muchas personas en la actualidad crecieron con alguno de estas consolas de videojuegos y el factor nostalgia ha sido un motivador para la recuperación de estas consolas usando FPGA, dándoles nueva vida con características modernas como el uso de controles USB y compatibilidad de video por HDMI preservando así los videojuegos clásicos para las futuras generaciones.

Como se puede apreciar los FPGA han llegado para quedarse. Cada día encuentran más y más aplicaciones en donde superan a la tecnología actual gracias a sus grandes capacidades. Los FPGA se perfilan como una gran área de desarrollo para el futuro de la electrónica, la computación y de las ciencias. Atrévete y descubre todas las bondades que un FPGA puede brindar, y piensa: ¿Qué harás el día de mañana con un FPGA?

Referencias:

  1. https://intel.ly/2O1j0zd
  2. https://bit.ly/2Nqnyj3
  3. https://bit.ly/2xuREIh
  4. https://bit.ly/2PTSdlH
  5. https://cloud.google.com/blog/products/gcp/an-in-depth-look-at-googles-first-tensor-processing-unit-tpu
  6. https://bit.ly/2xFY8n8
  7. https://bit.ly/2L3MIPY
  8. https://bit.ly/2OD0NFm
  9. https://bit.ly/2OFqxAT
  10. https://bit.ly/2kTg4Y2
Lo siento, debes estar conectado para publicar un comentario.
Menú