1 / 90

Gustavo Adolfo Patiño Álvarez Proyecto de Maestría Laboratorio de Microelectrónica

Especificación e Implementación de una Representación Intermediaria Unificada para Sistemas Digitales. Gustavo Adolfo Patiño Álvarez Proyecto de Maestría Laboratorio de Microelectrónica Universidad de São Paulo, Brasil Enero-2006. Contenido. Introducción Motivaciones. Objetivos.

kynton
Télécharger la présentation

Gustavo Adolfo Patiño Álvarez Proyecto de Maestría Laboratorio de Microelectrónica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Especificación e Implementación de una Representación Intermediaria Unificada para Sistemas Digitales Gustavo Adolfo Patiño Álvarez Proyecto de Maestría Laboratorio de Microelectrónica Universidad de São Paulo, Brasil Enero-2006

  2. Contenido • Introducción • Motivaciones. • Objetivos. • Representación de Diseño • Representación Intermediaria (R.I). • Modelos de Sistemas Digitales. • UnIR: Una Representación Intermediaria Unificada. • System Design Languages (SLDL). • Generación e Implementación de la UnIR. • Conclusiones.

  3. Introducción Systems on Chip (SoCs) Flujo de Diseño Modelos y Lenguajes

  4. Qué es SoC ? • SoC es literalmente la integración de los componentes de un sistema en un chip. • Normalmente un sistema electrónico es colocado en una tarjeta impresa (PCB) con varios ICs representando el sistema. • Un SoC puede incluir: procesadores, lógica digital, FPGAs, unidades de DSP, memoria, circuitos análogos, y circuitos de interfase (A/D, D/A).

  5. FPGA Memory Digital Logic Microprocessor Analog circuitry Low freq. Analog circuitry RF freq. Common make-up for SoC

  6. Diseño en el nivel de sistemas System on Chip User Logic User Logic uP Core Std. Interface Memory DSP core 3rd Party IP

  7. From ASIC to System on a Chip Multimedia Game System Wireless GSM Pocket Communicator Satellite (DVB) Video Broadcasting Ejemplo de Diseño Design Methodology and EDA Enable SoC

  8. SoC Aplicaciones SoCs

  9. Diseño de SoCs • Un SoC es usualmente diseñado en módulos. • Lo que realmente define un SoC es la adición de circuiteria analógica a layouts digitales. • La complejidad en el diseño de SoCs crea la necesidad por herramientas de CAD. • Cada herramienta tiene una biblioteca de celdas para especificar un diseño de ASIC.

  10. Partitioning Hardware Functional Specification Software Functional Specification Refinement Software Compilers Hardware Implementable Specification Linkers RTOS Device Drivers HW Synthesis Binary RTL/Gates De la Especificación Funcional a la Implementación de HW/SW Functional Specification

  11. Flujo de diseño de SoCs

  12. Modelo del Sistema

  13. Flujo de Diseño Genérico Especificación Modelado Estímulos Representación de Diseño Validación Estimativas Biblioteca de Tecnologia Síntesis [Lavagno, L. Netherlands, 1999] Implementación

  14. FSM Petri Net CDFG Netlist Eventos Discretos SDF E outros FSM Petri Net CDFG Netlist Eventos Discretos SDF E outros Linguagem de Especificação Representação Intermediária Front-end Back-end Modelos en el Flujo de Diseño Modelo Abstrato de S.D (Comportamental e Estrutural) Modelo Abstrato de S.D (Comportamental e Estrutural) Modelo da R.I Modelo Abstrato Front-end: Analizador léxico y sintáctico del lenguaje Back-end: Generación de código, o herramientas de síntesis, validación, visualización, etc.

  15. Motivaciones Motivaciones generales Trabajos relacionados

  16. Motivaciones Generales • Los sistemas actuales son complejos y heterogéneos. • Actualmente los diseñadores de sistemas digitales usan una colección de herramientas que no están conectadas entre sí[F. Balarin, Y. Watanabe, 2003]. • Como consecuencia, pueden surgir errores dificiles de identificar y eliminar. 7

  17. Motivaciones Generales(cont...) • Búsqueda por una representación formal y unificada en varios niveles de abstracción, y en los dominios comportamental y estructural. • Búsqueda por una R.I. que permita a la colección de herramientas involucradas en un proceso general de diseño leer y escribir al mismo modelo de representación.

  18. Representaciones Intermediarias halladas en la literatura • Solar [Jerraya, TIMA, France, 1995] • Es una representación de diseño de los conceptos del nivel de sistemas que están basados en flujo de control. • Principalmente adaptado para propósitos de síntesis. • Su modelo de representación es basado en un modelo FSM-extendido. • Colif [Cesario, TIMA-France, 2001] • Es una representación de diseño que modela la comunicación on-chip en diferentes niveles de abstracción, separando el comportamiento de los componentes, de la infraestructura de comunicación.

  19. Representaciones Intermediarias hallados en la literatura (cont...) • Funstate [Strehl, ETH-Zurich, 2002] • Mezcla aspectos de diferentes MoCs, sólo las tareas de diseño de planificación (scheduling) y verificación son enfocados, sin aportar una especificación de unificación. • BNG (Behavioral Network Graph [Bergamaschi, IBM, 2002] • RI para tareas de síntesis. Proporciona um camino para conectar la síntesis de alto nível com la síntese lógica. • Red RTL/nivel de puertas-lógicas, la cual representa todos las máquinas de estado possibles que una especificación comportamental pode asumir.

  20. Representaciones Intermediarias hallados en la literatura (cont...) Modelos propuestos como soluciones particulares, útiles para los respectivos grupos de investigación, no obstante, diseñados para manipular sólo algunos niveles de abstracción en el dominio comportamental.

  21. Objetivos Objetivos Generales Objetivos Específicos

  22. Objetivos Generales • Estudio de los conceptos de modelado presentes en el flujo de diseño de los sistemas digitales (SD). • Análisis de varios de los modelos de computación y de los modelos estructurales más desarrollados y utilizados en el modelado de SD.

  23. Objetivos Generales (cont…) • Basándose en los modelos existentes, el desarrollo de una representación intermediaria (RI) que unifique algunos modelos de computación y modelos estructurales. • Concepción de una RI extensible a nuevos modelos de computación. • Ejemplo de generación e implementación de la representación intermediaria desarrollada.

  24. Objetivos Específicos • Capturar los objetos y la semántica de algunos de los modelos de computación más importantes y utilizados. • Representación jerárquica de un sistema en una descripción estructural y/o comportamental. • Modelado en los cuatro niveles de abstracción del flujo de diseño de S.D. (Nivel de sistemas hasta el nivel de puertas lógicas). • Representación separada de los conceptos de computación y comunicación.

  25. Objetivos Específicos (cont...) • Una representación intermediaria disponible para los diferentes proyectos desarrollados el grupo G-SEIS (LME-USP). • Ejemplo de generación e implementación de la RI para sistemas descritos en SystemC.

  26. Representación de Diseño Dominios de descripción y niveles de abstracción Separación de Computación y Comunicación.

  27. Modelos de Representación Descripción del sistema en el leng. de especificación Lenguaje de especificación de sistemas Dominios de descripción y niveles de abstracción Diagrama Y (Gajski – U. of California, 1994)

  28. Separación de Computación y Comunicación • Granularidad del tempo. [Cai, Gajski, 2003] • Modelamiento separado de los elementos de Computación y Comunicación.

  29. Representación Intermediaria Definición Características

  30. Definición • Estructura de datos que captura parcial o completamente los detalles de la descripción de un programa o sistema, dada en un respectivo lenguaje de programación (C++, Java) o de especificación (VHDL, SystemC, etc.).

  31. partición Herramienta De Alocación lenguaje de Especificación Herramienta De síntesis Características • Captura el modelo abstracto (comportamental o estructural) representado en el lenguaje. • Almacena la información de diseño necesaria para las tareas de partición (partitioning), asignación (allocation), síntesis lógica, estimación y visualización gráfica de SD. Modelo(s) Abstrato(s) Representación intermediaria Parsing

  32. Modelos de Sistemas Digitales Modelos Homogéneos de Computación Modelos Heterogéneos Modelos Estructurales

  33. Modelos de Computación Homogéneos • FSM (e sus derivaciones) [Gill, A. NY, 1962] • FSMD, CFSM, HCFSM, PSM. • Sistemas de Eventos Discretos (DE). [Cassandras, Boston, 1993] • Redes de Petri. [Petri, C. A.; Bonn; 1962] • HLPN, CPN. • Grafos de Flujo de Datos. • [Davis, A. L. IEEE Computer, 1982]

  34. Modelos Heterogéneos • Solar [Jerraya, TIMA, France, 1995] • Colif [Cesario, TIMA-France, 2001] • SPI [Ziegenbein, ETH-Zurich, 2001] • Funstate [Strehl, ETH-Zurich, 2002] • Tagged Signal Model (TSM) [Lee, Sangiovanni-Vincentelli, Berkeley, 1999] • Metropolis [Sangiovanni-Vincentelli, Berkeley, 2003]

  35. Modelos Estructurales • Modelo en el nivel de Puertas Lógicas. • Modelo en el nivel RTL. • Modelo en el nivel de Sistemas.

  36. UnIR: Una Representación Intermediaria Unificada Definición Modelo de Objetos Ejemplos de Representación en UnIR

  37. Definición UnIR: Unified Intermediate Representation. • Representación intermediaria que unifica en un sólo modelo una gran cantidad de las característicasque poseen los diferentes niveles de abstracción y dominios de descripción estructural y comportamental.

  38. Definición (cont...) • Soporta múltiples modelos de computación, tales como Redes de Petri, FSM, grafos de flujo de datos, y varias características de modelos heterogéneos como FunState y Metropolis.

  39. Representación Estructural Representación Comportamental Modelo de Objetos • Process: (Computación) • Medium • Process • Scene • Behavior • Fields

  40. Fields: Port Interface Variable Link Constant Modelo de Objetos

  41. Medium: (Comunicación) Process Medium Scene Service Fields Representación Estructural Representación Comportamental Modelo de Objetos

  42. Scene: Scene Register Function Link Fields Representación Comportamental Modelo de Objetos (Ramos, señales)

  43. Process Scenes SceneType:”State” Representación de Máquinas de Estados en UnIR Links Ports Function

  44. Scenes SceneType:”Transition” Registers Process RegisterType: ”Token” Scene SceneType:”Transition” Links Representación de Redes de Petri en UnIR Value=1 Value=0 Value=0 Value=1 Function Value=0

  45. Representación en UnIR de Modelos en el Nivel de Sistemas Process Scenes Interface Medium

  46. System Design Languages (SLDL) HDL-Based Flow C++ Based Flow SystemC-Based Flow

  47. Need a uniform system modeling language Current Methodology • Problems • Disconnection between system model and HDL model. • Manual conversion from C to HDL is time consuming and error prone. • Test created for C model can’t be run against HDL model. Specification Modeling in HDL Modeling in C/C++ Verification in C/C++ Verification in HDL manual conversion Synthesis

  48. System Design Languages • Requirements • Modeling at various levels of abstraction • Support SW as well as HW • Executable specification for easy simulation and evaluation • Fast simulation for efficient design space exploration • Accurate modeling • Separation of computation from communication for design reuse • Support good design tools/environment

  49. System Design Languages(cont...) • Examples • C/C++-based: SystemC, SpecC • HDL-based: SystemVerilog

More Related