Tecnología

07/08/2012

Innovación en microcircuitos complejos

Una innovación desarrollada por investigadores argentinos facilita el diseño de circuitos digitales complejos, que son la base de los sistemas de procesamiento en infinidad de dispositivos, desde las computadoras de alto rendimiento hasta los circuitos cada vez más sofisticados de los teléfonos móviles.

Las FPGAs son unos circuitos digitales programables con un gran poder de cálculo y costos actualmente muy accesibles. Originalmente se utilizaban casi exclusivamente como banco de prueba para los circuitos impresos, pero hoy se han convertido en una opción muy ventajosa para procesar en paralelo grandes cantidades de datos a una velocidad que por software no se puede lograr.

Al ser su estructura de hardware simple y repetitiva consiguen a bajo costo las más altas escalas de integración, pero el costo real de utilización de las FPGAs no está en el circuito en sí, sino en las horas hombre que se necesitan para producir y llegar a validar un diseño completo.

Este logro se pudo alcanzar gracias al equipo conformado por investigadores argentinos del departamento de Lenguajes y Sistemas de la Universidad Politécnica de Cataluña (UPC), dirigido por la Dra. Silvia Clérici y del Laboratorio de Sistemas Digitales de la Facultad de Ingeniaría de la Universidad de Buenos Aires. Ellos están desarrollando una herramienta gráfica para diseñar FPGAs y microcircuitos en general de manera mucho más rápida, segura y viable respecto de las tecnologías actuales. Esta iniciativa está siendo apoyada por del centro de Emprendedores de Ingeniería a cargo de la Ing. Lidia Seratti.

“Los circuitos suelen especificarse mediante unos diagramas llamados esquemáticos, que antiguamente se los dibujaba en papel y luego utilizando una herramienta gráfica para conectar los componentes básicos, llamados compuertas. Éstas realizan operaciones lógicas muy simples, como and (y) y or(o), que se combinan para construir operaciones más complejas. A medida que la complejidad del circuito crece, la construcción de una especificación a tan bajo nivel, y sobre todo la comprobación de que todo funciona adecuadamente, se empieza a hacer inmanejable”, explica en diálogo con EL OTRO MATE el Dr. Miguel Sagreras, a cargo del desarrollo por la Facultad de Ingeniería de la UBA.

En las últimas décadas se difundieron los HDL (lenguajes descriptores de hardware), que permiten diseñar a un nivel un poco más alto. Éstos son parecidos a los lenguajes de programación de los años setenta, pero su interpretación es la interconexión de compuertas, es decir que a partir de una descripción HDL se sintetiza la programación de la FPGA o la especificación de fabricación del circuito integrado. Sin embargo, para problemas no triviales sigue siendo enormemente laborioso comprobar que una descripción HDL construida directamente es correcta. Por otro lado, con el uso cada vez más generalizado de interfaces gráficas resulta incoherente que para la especificación de circuitos digitales, que originalmente era gráfica, deba utilizarse un lenguaje textual.

Existen algunas herramientas que permiten expresar el diseño a primer nivel en forma gráfica. Sin embargo no pueden expresar gráficamente el equivalente a la instrucción “generate” que poseen los HDLs para generar estructuras de hardware parametrizables. Un ejemplo común, es el registro de desplazamiento que consta de una secuencia de flip-flops interconectados, el diseñador no puede en forma gráfica indicar como debe ser la interconexión de los flip-flops para que luego un usuario del registro de desplazamiento sólo especifique la cantidad de flip-flops y la herramienta gráfica genere la red en forma automática. Es decir, las herramientas gráficas actuales permiten la interconexión directa de bloques de hardware, pero no la generación de redes de interconexión de componentes ni los componentes mismos de manera integrada. Esto ha de programarse aparte y textualmente en otro lenguaje.

“La herramienta que estamos desarrollando permitirá por sí misma expresar diseños complejos y poner a punto el diseño de forma completamente gráfica y, una vez validado, la descripción HDL se generará de forma automática. Esta cuestión es de interés fundamental. A modo de referencia se puede mencionar otra herramienta (textual) existente desarrollada en el MIT que requirió ocho años de desarrollo y lleva hasta el momento invertidos 17 millones dólares. La gran ventaja  respecto a esa herramienta de nuestro abordaje tecnológico, es que el entorno gráfico de partida, que también ha llevado muchos años de desarrollo en Barcelona, es incomparablemente más dúctil para la puesta a punto de programas y mucho más intuitivo pues permite visualizar la ejecución del diseño en un modelo bi-dimensional bastante cercano a la estructura del circuito que se está programando”, le asegura Sagreras a EL OTRO MATE.

La industria microelectrónica es estratégica para el desarrollo tecnológico de todas las áreas y con el crecimiento de la escala de integración de los circuitos, y la reducción de sus costos la adquisición de estos dispositivos de gran potencia de cálculo, es actualmente accesible a pequeñas empresas o industrias e incluso a particulares. Sin embargo, el costo en horas de ingeniería para explotar ese potencial con las herramientas actuales sólo es abordable por equipos de desarrollo grandes altamente especializados.

Una herramienta capaz de  reducir ese costo crítico permitiría extender la utilización de FPGAs a un espectro mucho más amplio de aplicaciones.

La herramienta se basa en un entorno de programación paralela completamente gráfico, desarrollado por tres investigadores argentinos en la UPC con los que se está trabajando a través de un convenio de cooperación con la UBA. En esta tecnología, los programas se construyen arrastrando íconos que se conectan entre sí y conforman una red de procesos comunicados por canales en los que circulan los datos. Mientras se ejecuta el programa, el sistema permite visualizar todas las transformaciones del  estado interno y modificar interactivamente cualquier parte del código que se está ejecutando. Ambas cosas, imposibles en los lenguajes actuales, proveen una notable facilidad para poner a punto los programas.

La ventana a la derecha de la pantalla muestra un programa en el lenguaje gráfico, mientras se está ejecutando para controlar el simulador de robots que se ve en la ventana izquierda.

“La Dra Clérici se contactó conmigo por una posible aplicación a FPGAs y a partir de ahí realizamos diversas pruebas para evaluar la factibilidad de traducción automática a una HDL del diseño expresado en el lenguaje gráfico. Uno de los ejemplos fue la estructura de hardware de la transformada rápida de Fourier o FFT, que es la base de los sistemas OFMD que se utiliza en los cables-modem, ADSL, WiFi, 4G, etc. Este es justamente un caso típico de estructura parametrizable que permitió comprobar la adecuación de esta tecnología gráfica para diseños de este tipo y la facilidad de su puesta a punto”, relata Sagreras.

Este desarrollo se implementará mediante la creación de algunos procesos y tipos más específicos en el entorno gráfico para facilitar la correspondencia con las componentes de uso habitual en el diseño de circuitos. A esa especialización se le integrará un traductor que genere la descripción HDL a partir de la representación interna de las redes que constituyen la especificación gráfica.

Ya se han hecho las pruebas de concepto sobre una variedad de problemas clásicos que se implementaron y optimizaron en el sistema gráfico, pudiéndose traducir a HDL de manera prácticamente directa, definiendo esquemas de traducción sistemática. En este momento se está trabajando en el desarrollo del primer prototipo de la herramienta.

Por otro lado, la experiencia adquirida con los casos tratados ya permite abordar con los recursos actuales -es decir de manera asistida- diseños de mayor complejidad para casos reales.

Nota: EL OTRO MATE
Foto: Miguel Sagreras / Daniel Krupa / Facultad de Ingeniería




VOLVER

Obtener Adobe Flash Player
Obtener Adobe Flash Player