Especificación heterogénea y generación automática de software desde systemc para sistemas embebidos

  1. HERRERA CASANUEVA, FERNANDO
Zuzendaria:
  1. Eugenio Villar Bonet Zuzendaria

Defentsa unibertsitatea: Universidad de Cantabria

Fecha de defensa: 2009(e)ko otsaila-(a)k 06

Epaimahaia:
  1. Antonio Núñez Ordóñez Presidentea
  2. Pablo Pedro Sánchez Espeso Idazkaria
  3. Román Hermida Correa Kidea
  4. Axel Jantsch Kidea
  5. Juan Carlos López López Kidea

Mota: Tesia

Teseo: 193781 DIALNET lock_openTESEO editor

Laburpena

Este trabajo cubre varias de esas carencias fundamentales. En primer lugar, provee una metodología de especificación de sistemas en SystemC denominada HetSC. Esta metodología ofrece un empleo sistemático y reglado de SystemC para asegurar que la especificación sea apta pra la aplicación de otras actividades del diseño en y desde el nivel de sistema. De esta manera, la especificación del sistema se podrá reutilizar para realizar análisis de rendimiento, para la verificación a través de simulación y, en último término, para realizar una implementación HW/SW. Además, la metodología HetSC soporta heterogeneidad. Para ello aporta reglas y facilidades de especificación SystemC adicionales para que la especificación se ciña a los supuestos de un Modelo de Computación (MoC) de entre varios soportados. De esta forma, se puede garantizar más fácilmente propiedades como el determinismo, lo que, de otro modo sería difícil, debido a la complejidad en tamaño y niveles de concurrencia y jerarquía de la especificación. La metodología HetSC soporta también la inclusión en la especificación de partes descritas bajo MoCs diferentes. Esto se hace dentro del lenguaje SystemC, por medio de canales y procesos frontera. HetSC aporta una librería metodológica denominada librería HetSC, que contiene facilidades de especificación que complementan las facilidades estándar de SystemC. Otra característica distintiva de HetSC es que el soporte de los distintos MoCs se realiza sobre el mismo núcleo de simulación de eventos dicretos de SystemC. Todas estas características hacen de HetSC una contribución novedosa en el campo de especificación de nivel de sistemas en SystemC. En este trabajo se ha desarrollado también SWG, una metodología de generación automática de software embebido desde código SystemC bajo la metodología HetSC, y por tanto, desde una especificación de nivel de sistema. Como se ha explicado, esto es crucial para que una metodología ESL provea la ganancia de productividad necesaria para paliar la brecha de diseño. La metodología SEGen se basa en la sustitución de las librerías SystemC y HetSC, por la librería SEGen. La idea es que la implementación SystemC de las primitivas de especificación, que hace que ésta sea ejecutable, se sustituye por una implementación software eficiente provista por la librería SEGen y que, entre otras cosas, no incluye ni el núcleo de simulación SystemC, ni el código de chequeo propio del nivel de sistema. SWGen es una contribución novedosa en el campo de generación de software desde el nivel de sistema por diversas características distintivas, tales como el tomar SystemC como lenguaje de entrada, estar basada en una librería metodológica y estar orientada a una plataforma HW/SW que incluye entre sus componentes básicos un sistema operativo embebido. Finalmente, en este trabajo se han realizado una serie de experimentos que han permitido realizar una validación de las metodologías. En el nivel de especificación, se han realizado varios ejemplos, desde ejemplos sencillos que se incluyen en la librería HetSC, hasta un EFR Vocoder del estándar GSM. Con estos ejemplos se han mostrado los beneficios de la metodología de especificación en cuanto a simplicidad, reutilización de código y velocidad de simulación. La librería SEGen se ha implementado para las API-C (del RTOS eCos) y POSIX (válida para GX-Linux, una distribución de Linux Embebido, y para eCos también). Asimismo, se ha probado para diversas plataformas objetivo, basadas en procesadores de arquitectura ARM y Open RISC, y en entornos de desarrollo diferentes. En todo caso, estas metodologías se integraron de forma natural y rápida en el entorno de desarrollo.