¿Qué es un Field Programmable Gate Array (FPGA)?

FPGA significa "Field Programmable Gate Array". El concepto fue inventado por el fabricante de chips estadounidense Xilinx, que sigue siendo uno de los principales proveedores. De hecho, se trata de circuitos cuya lógica puede definirse mediante software. En otras palabras, se puede utilizar un programa para determinar cómo se conmutan los circuitos. La ventaja obvia es que un sistema de conmutación no tiene que ser reconstruido o sustituido cuando se necesita un nuevo circuito. Sólo es necesario reprogramar.

Cómo funcionan las FPGAs

El circuito deseado debe estar escrito en un HDL ("Hardware Description Language") completo. Verilog, por ejemplo, sería adecuado. A continuación, el circuito se transfiere a un archivo de configuración y se instala la FPGA. En este caso hay diferencias según el fabricante. En el pasado, era habitual que sólo se pudiera cargar un circuito a la vez. Mientras tanto, algunos fabricantes ofrecen soluciones con varios circuitos. Si las FPGAs deben realizar diferentes tareas a intervalos cortos, la segunda variante es claramente más ventajosa.

Ventajas y desventajas de las FPGAs

Ventajas:

  • Paralelizabilidad: Se pueden conectar varias FPGAs en serie y así permitir la implementación de escenarios muy complejos.
  • La latencia de E/S es muy baja. El tiempo entre la entrada y la salida es 50 veces menor que con una CPU.

Compatibilidad: Una FPGA permite conectar cualquier fuente de datos directamente al chip. A diferencia de una CPU, no es necesaria la estandarización.Eficiencia energética: las FPGAs ofrecen un excelente rendimiento por vatio en comparación con las CPUs y las GPUs.

  • No se necesita un ordenador central.

En realidad, sólo hay una desventaja de las FPGAs: la programación es muy engorrosa. Por lo tanto, los circuitos se consideran inadecuados para las operaciones de punto flotante, por ejemplo. Esto requeriría cambios lógicos demasiado rápidos. Por lo tanto, las FPGA no sustituyen a las CPU ni a los chips gráficos, pero son adecuadas, por ejemplo, para la aceleración de hardware, las fusiones de sensores (evaluación simultánea de los datos de diferentes sensores) y las implementaciones de red en un chip (NOC).


Deja un comentario