Arquitecturas microelectrónicas para aplicaciones de procesamiento numérico local - Lozano-Rivera, Ana Clevis (Instituto Tecnológico de Costa Rica, 2019)
Los resultados de la investigación científica en ingeniería deben medirse en termino de sus efectos sobre el entorno, pues promueve el desarrollo no solo sustentable, sino que además, generan mejoras en las condiciones sociales y económica de la población actual y futura. En el caso particular de la investigación ingeniería, los resultados conducen, muchas veces, al desarrollo de nuevas tecnologías que inducen cambios sustanciales en la historia de la humanidad. Un ejemplo es la invención de los minúsculos circuitos integrados (ICs) de silicio, que trajo consigo la integración de miles de millones de transistores en un solo componente y, consecuentemente, el vertiginoso avance de los microprocesadores. El avance tecnológico ha impulsado la creación de complejos sistemas más compactos, robustos y eficientes que mejoran la vida cotidiana. Estos demuestran que la generación de conocimiento científico a través del método ingenieril es un mecanismo crucial de estructuración y dinámica social y, por ende, un factor que transforma la productividad mundial. El aumento en la capacidad de computación numérica derivada de la integración de 1CAP´ ITULO 1. INTRODUCCI´ ON 2 circuitos integrados junto con el estudio de los fenómenos naturales cotidianos, ha llevado a la formulación científica de los procesos mediante modelos no lineales, de difícil sino imposible resolución simbólica. Un ejemplo clásico de esta integración es la dinámica de f luidos, donde en los años sesenta, Edward Lorenz estudió el problema de convección, derivando el sistema de tres ecuaciones diferenciales ordinarias no lineales [8]. Dicho estudio demostró que no eran necesarios múltiples formas para obtener estados complejos en f luidos, y que a pesar de conocer las condiciones iniciales, los sistemas deterministas son en principio predecibles. En la práctica esta predictibilidad puede ser difícil de obtener, debido a la sensibilidad frente a las condiciones de reposo del sistema, lo que vuelve los cálculos extremadamente pesados [9]. Para la solución de las ecuaciones diferenciales determinísticas que describen el comportamiento de un sistema natural con características específicas, se ha creado gran variedad de robustas herramientas computacionales. Dichas herramientas permiten implementar complejos algoritmos y definir criterios para evaluar su rendimiento y comportamiento. Estos criterios se centran principalmente en el uso eficiente de los recursos computacionales, que suelen medirse en función de dos parámetros: el espacio, es decir, memoria que utiliza, y el tiempo, lo que tarda en ejecutarse [10]. Ambos criterios representan los costos que supone encontrar una solución al problema planteado mediante un algoritmo. No obstante, el uso de la computación digital tradicional basada en microprocesadores de proceso general para el estudio de estos fenómenos —construidos siguiendo las arquitecturas inspiradas por Von Neumann [11, 12]—, ha conllevado la limitante de que muchos de los mismos deban llevarse a cabo en laboratorios o instalaciones dotadas del costoso equipo computacional especializado, y no necesariamente en el campo mismo, donde pueden ser de más utilidad. Una potencial solución alternativa para implementar los modelos matemáticos que describen un sistema no lineal son los procesadores digitales de señales (DSPs, del inglés CAP´ ITULO 1. INTRODUCCI´ ON 3 Digital Signal Processing), como apoyo a sistemas embebidos con procesadores de propósito general. Pero a medida que aumenta la complejidad en los algoritmos de procesamiento se requieren sistemas con mejor desempeño y de menor tiempo de ejecución. Los DSPs son altamente flexibles debido a su programabilidad, pero por su esquema secuencial, se ven limitados en aplicaciones de muy alta frecuencia (aquellas donde las tasas de muestreo superan el millón de muestras por segundo) [4]. De ahí el creciente interés en arquitecturas de procesamiento numérico local dedicadas y a la medida, que permitan una aplicación indirecta y en línea sobre el estudio del problema, sin limitantes por portabilidad y flexibilidad. Estas soluciones pueden implementarse ya sea sobre circuitos integrados de aplicación especifica (ASICs, del inglés Aplication Specific Integrated Circuit) o en Arreglos Lógicos Programables en Campo (FPGAs, del inglés Field-programmable Gate Array), incluso dotados de su propias unidades de DSP y de procesamiento general en un SoC (del inglés System on Chip). No obstante, en tamaño y velocidad los FPGAs son equiparables, en ciertos casos, a los ASICs, pero los FPGAs por ser más flexibles, tener un ciclo de diseño más corto y con herramientas de diseño más asequibles, se han convertido en la primera opción para los ingenieros [4]. Actualmente, los fabricantes de FPGAs compiten para optimizar al máximo la implementación de ciertas operaciones, como sumas y productos, para conseguir un rendimiento elevado con un mínimo costo de recursos. Los complejos algoritmos implementados en estas unidades dedicadas, pueden hacer uso intensivo de estas operaciones aritméticas sin perjudicar su desempeño [10]. Existen ejemplos de uso en aceleración de simulaciones numéricas tan complejas, como el modelado de redes neuronales biológicamente realistas, tal como los presentados en [13] (desarrollado en el laboratorio de diseño de circuitos integrados DCILab, de la Escuela de Ingeniería Electrónica del ITCR, en el que se llevó a cabo la misma tesis), que muestra precisamente las ventajas de este tipo de tecnologías para obtener rápidos resultados de manera eficiente. CAP´ ITULO 1. INTRODUCCI´ ON 4 En el caso particular de la presente tesis, se ha considerado la necesidad de aplicar el método iterativo (por iteraciones) de diseño en ingeniería para resolver dos problemas complejos de procesamiento numérico, aplicados en sistemas robustos que deben trabajar en ambientes industriales y, de ser posible, estar implementados en una FPGA verificando la factibilidad de integrarse en un ASIC, de bajo consumo de potencia. Con esta premisa en mente la tesis se ha centrado en el análisis de dos problemas reales particulares: por un lado, a la problemática de la localización de un objeto móvil en un ambiente industrial altamente ruidoso, tal como el esperado en una instalación portuaria o industrial, con decenas de operarios y de máquinas automatizadas que deben mover o procesar gran cantidad de material con el mínimo riesgo para las personas involucradas. Cabe aquí anotar que este problema fue el que dio inicio a esta tesis, enmarcada dentro del proyecto internacional denominado “3D Gigascale Integrated Circuit for Nonlinear Computation, Filter and Fusion with applications in Industrial Field Robotics” [2], financiado por la Agencia Nacional de Promoción Científica y Tecnológica de Argentina, en el cual participaban destacados investigadores de Argentina, Estados Unidos, Australia y Costa Rica, el cuál incluía los fondos necesarios para la fabricación de los prototipos ASIC. Este proyecto se nutría de la experiencia del DCILab no solo en desarrollo en FPGAs, tal como ya se vio en [13], así como en múltiples aplicaciones ya integradas en silicio, como las descritas en [14, 15, 16, 17, 18, 19, 20, 21], algunas de las cuales se retomarán más adelante como base para las soluciones que se propondrán en esta tesis. Sin embargo, dicho proyecto se vio afectado por la crisis económica Argentina, lo que impidió al final contar con los fondos esperados, y obligo a reorientar parcialmente la tesis. Por otro lado, a consecuencia de los buenos resultados obtenidos en la pasantía de investigación, realizada como parte de los requisitos del programa de doctorado, se determinó la importancia de desarrollar un sistema local para la estimación de parámetros eléctricos de un sistema fotovoltaico, que permite el monitoreo en tiempo real de la potencia suministrada, con miras a la administración automática de una red inteligente compuesta por decenas o centenas de paneles CAP´ ITULO 1. INTRODUCCI´ ON 5 solares. El reto al que se enfrentó ´esta tesis fue por tanto establecer una metodología para implementar los dos sistemas, que por estar descritos mediante ecuaciones diferenciales no lineales presentan un alto grado de complejidad algorítmica. Además, aprovechar las capacidades de procesamiento numérico de las arquitecturas a gran escala VLSI (del inglés, Very Large Scale Integration), ya sea implementadas en una FPGA o en un ASIC, para ofrecer soluciones que sirvan de base para la construcción de sistemas de producción y generación más eficientes, seguros y confiables–incluso en términos energéticos– brindando así un mejoramiento en las condiciones existenciales de la humanidad.
Tesis (Doctorado en Ciencias Naturales para el Desarrollo con énfasis Tecnologías Electrónicas Aplicadas) Instituto Tecnológico de Costa Rica, Universidad Estatal a Distancia, Universidad Nacional, Doctorado en Ciencias Naturales para el Desarrollo, 2019.
Keywords: Diseño de hardware; Eficiencia energética; Procesamiento de señales; Sistemas dinámicos; Circuitos integrados de aplicaciones específicas; Sistemas fotovoltaicos