CODAPLI

Laboratorio: Proyecto de Investigación en Codiseño de Hardware & Software para Aplicaciones en Tiempo Real


En el presente proyecto se propone realizar Investigación y Desarrollo en proyectos de codiseño hardware/software relacionados con los sistemas de tiempo real.

Esto incluye tanto sistemas centralizados y distribuidos basados en computadoras  personales, como también sistemas embebidos basados en placas con microcontrolador. Permitira generar recursos humanos que podran  realizar, por ejemplo, aplicaciones industriales en desarrollos de sistemas de control de supervisión y adquisición de datos con  variables de proceso a través de dispositivos sensores y actuadores de la más variada índole, asi como en otras como por ejemplo robotica.

En el diseño de un sistema  de cierta complejidad siempre surgen dos alternativas contrapuestas: el empleo de componentes estándar cuya funcionalidad puede ser definida mediante programación sobre sistemas de computo genericos o la implementación de dicha funcionalidad mediante circuitos microelectrónicos específicamente construido para la aplicación. La primera genera soluciones de gran flexibilidad pero con tiempos de ejecución elevados, mientras que la segunda optimiza los aspectos de  velocidad de operación pero limitando su flexibilidad. Entre ambas, las técnicas de codiseño hardware/software (HW/SW) pretenden obtener un compromiso adecuado entre sus ventajas e inconvenientes. Un ambiente de trabajo flexible que permita fácilmente cumplir con las etapas  que corresponden a la metodología de trabajo de Codiseño Hardware/Software, es la solucion a estos problemas, la investigación y desarrollo de esta metodologia teniendo en cuenta el planteo del problema, la extracción de especificaciones; la descripción del sistema, su simulación funcional; el particionamiento HW/SW y sus algoritmos, junto con procesos como la Cosíntesis HW/SW y Cosimulación HW/SW, permiten dar un marco de solución al problema propuesto.

Existen herramientas comerciales y universitarias que cumplen con dicho cometido pero en  forma parcial, lo que determina una manera poco ágil de elaborar y llevar a la práctica un proyecto, ayudando a la dispersión de los esfuerzos del equipo de trabajo. Es por ello que se plantea en este proyecto, primero generar los recursos humanos que puedan trabajar en esta área con la correspondiente suficiencia (generación de conocimiento), para luego  desarrollar sistemas originales que ayuden a la propuesta final de una transferencia al medio rápida y confiable (desarrollo innovador).

En el codiseño  se utilizan herramientas  EDA (electronic desing automation) que corresponden a un flujo de tareas que  comienza con la caracterización del sistema completo, del que se extraen aquellas funcionalidades para culminar en un circuito hardware dedicado y la programación adecuada a dicho problema. Utilizando estas herramientas  especializadas en diferentes niveles de abstracción, se exploran diferentes diseños alternativos.

Normalmente todas las herramientas EDA, trabajan en un ambiente específico pero no se vinculan entre si, para lo cual se deben diseñar interfases  a medida que interactúe entre los distintos programas y distintas alturas del desarrollo explicadas anteriormente.

Una interfaz interesante para vincular estos espacios de diseño es utilizar en cojunto  lenguajes de descripción de hardware (HDL - típicamente VHDL [1]), que permite además simular un modelo conductual  particular del resto del sistema, junto a  lenguajes de descripción de Software (tipicamente lenguaje ADA [1]).

Una vez alcanzado el diseño idóneo y debidamente probado, éste se puede proyectar sobre una tecnología (Red de PC, PC, microprocesadores, microcontroladores, DSP, FPGA) de tal manera que en muy poco tiempo disponemos de un prototipo hardware-software en funcionamiento.

En sistemas donde se requieren realizar mas de una tarea, son  necesarios para su implementación la utilización de Sistemas Operativos de Tiempo Real (SOTR), ya que estos permiten optimizar los resultados en los tiempos de ejecución  (sistemas de tiempo real estrictos). Para la implemetacion de dichos sistemas sera necesario por lo tanto  realizar investigación y desarrollo con distintos SOTR.

[ Sitio WEB ]