Si llevas tiempo interesado en los asuntos informáticos, es probable que alguna vez hayas oído hablar sobre las matrices de puertas lógicas programables o también Field Programmable Gate Array, por su denominación original. Sin embargo, sabemos que muchas personas aún no pueden definir con precisión estos elementos, y es por eso que nos hemos propuesto repasar qué es un FPGA y para qué se utiliza comúnmente.
Lo primero que tenemos que tener en cuenta es que los FPGA han beneficiado a numerosos dispositivos electrónicos a lo largo del tiempo. No hablamos sólo de los días que corren, sino que sectores como la navegación aérea o el ultrasonido en la medicina vienen sacando provecho de sus interesantísimas cualidades hace décadas.
Definición de los Field Programmable Gate Array
En líneas generales, nos estamos refiriendo a semiconductores basados en una serie de bloques lógicos configurables, lo que permite a los ingenieros modificar parte de su funcionamiento eléctrico y objetivo.
En otras palabras, también podemos afirmar que los FPGA se definen como una serie de subcircuitos digitales interconectados. Cada uno de estos subcircuitos digitales interconectados realizan funciones comunes, al mismo tiempo que proporcionan un alto grado de versatilidad, lo que comentábamos antes, dentro de la noción de lógica programable o hardware programable. Es decir, todo depende de qué queramos que hagan específicamente.
¿Y cómo funcionan?
El modo en el que funcionan los FPGA es bastante sencillo, ya que sólo hace falta cargarles una configuración, y luego comenzará a ejecutarse como cualquier otro circuito. La configuración basada en RAM de los FPGA significa que podemos reconfigurarlo cuantas veces deseemos, y por eso son tan apreciados en la industria.
Tipos de FPGA más habituales
Hay dos clases de FPGA más frecuentes, que se distinguen por la disposición interna de los bloques, como así también por la tecnología de programación que utilizan. Así, surgen tres categorías principales para ordenarlos:
- Arreglo simétrico: se compone de filas y columnas de bloques lógicos interconectados, los cuales a su vez están rodeados por bloques de entrada y de salida.
- Arquitectura basada en filas: esta disposición alterna filas de bloques lógicos programables y recursos de conexión, con esos mismos bloques de entrada y de salida.
- PLD jerárquico o dispositivo lógico programable: su diseño es un poco más complejo, ya que constan de un nivel superior con bloques lógicos e interconectados. Mientras tanto, los primeros contienen una serie de módulos lógicos, dentro de los cuales hay elementos funcionales, combinaciones y secuenciales.
Usos comunes de los FPGA
Hay innumerables usos de los FPGA, enfocados en cubrir una amplia gama de campos, como los siguientes:
- Industria automotriz
- Aplicaciones militares
- Reconocimiento de voz
- Controladores de dispositivos
- Radios gestionadas por software
- Computación de alto rendimiento
- Sistemas de emulación de hardware
- Comunicaciones por cable e inalámbricas
- Creación de imágenes en ámbitos de la salud
Beneficios de los FPGA
- Integración: a medida que los FPGA de última generación van ganando funcionalidades, menos dispositivos poseen sus placas, por lo que resultan más confiables a medida que se van reduciendo la posibilidad de fallas.
- Flexibilidad: tras cada reinicio de los dispositivos, podemos modificar las funciones establecidas para los FPGA, de manera que simplemente hace falta cargar una nueva configuración para realizar el cambio.
- Aceleración: los FPGA admiten una rápida comercialización. Esto es posible gracias a su cualidad de flexibles, por lo que los fabricantes de equipos pueden enviar al mercado los sistemas tan pronto comprueban que funcionan.
- Disponibilidad a largo plazo: el uso de FPGA permite a los propios fabricantes obtener una mayor independencia respecto de los componentes. La funcionalidad ya no depende de los módulos, sino de la configuración. Esta capacidad de programarse en función de las necesidades marca la diferencia a su favor.