FPGA’s

Una herramienta con grandes posibilidades

Ricardo Mastachi Torres

 

Odoo CMS - a big picture


FPGA proviene de las siglas en inglés de Field Programable Gate Array, y es un dispositivo semiconductor que contiene bloques lógicos cuya conexión y funcionalidad puede ser programada mediante algún lenguaje de descripción especializado.

Ya que puede modificar la manera en la que sus bloques están conectados, uno puede hacer configuraciones para reproducir desde arreglos de compuertas lógicas hasta sistemas combinacionales y microprocesadores.


A pesar de ser tan versátiles como la mayoría de las tarjetas de desarrollo actuales, como Arduino, no son tan populares porque su manejo requiere de comprensión y mucho más esfuerzo, pero que se ve compensado con un sistema rápido y especializado que podría después ser reproducido en un ASIC (Application-specific integrated circuit) y así industrializar sistemas embebidos y especializados a bajo costo y con alto rendimiento.

Odoo text and image blockimagen obtenida de http://www.nkcelectronics.com/assets/images/s3e-top-400.jpg con fines didácticos.

Xilinx fue la primer empresa en lanzarlos, siendo sus cofundadores los creadores de la misma tecnología para permitir a estudiantes programar varias veces el dispositivo, a diferencia de los ASIC que sólo se pueden programar una vez.

Actualmente son producidos también por Atmel, Motorola, AMD y Altera, y sus aplicaciones son variadas y siempre donde se requiera un sistema permanente especializado como ciertos chips de celulares y computadoras de aeronaves.

Para poder programar estos dispositivos, los softwares más utilizados son el Xilinx ISE y NI LabVIEW. El IDE de Xilinx permite crear esquemáticos de compuertas digitales, donde el programador debe acomodarlas e interconectarlas para hacer su sistema especializado, y después simular su comportamiento en el mismo programa.

LabVIEW permite una programación distinta, basada en bloques y lo que se conoce como programación gráfica.

Sus variadas aplicaciones y relativa complejidad de desarrollar da pie a que grandes empresas como Intel se vean interesadas en contratar personas que dominen el desarrollo de esta clase de sistemas.

En conclusión, a pesar de su costo elevado en comparación de las otras plataformas de desarrollo, los FPGA’s permiten un acercamiento más real con el mercado y la industria. A su vez, involucra al usuario más al hardware que al software, permitiendo que los sistemas sean más robustos, veloces y sencillos de producir en serie. Particularmente, son efectivos en sistemas que requieren de paralelismo, siendo otro de los principales diferenciadores contra el tan cotidiano Arduino y su programación serial. Los FPGA’s han encontrado una muy importante aplicación en el campo aeroespacial y de defensa, audio, automatización, broadcast, electrónica de consumo, centros de datos, cómputo de alto rendimiento, industria, médico, seguridad, procesamiento de imagen y video y comunicaciones cableadas e inalámbricas.

Podrá ser complicado al inicio, pero traerá muy grandes beneficios a aquel que aprenda a dominarlos.

Compartir