Download Síntesis arquitectónica y de alto nivel
Document related concepts
no text concepts found
Transcript
Síntesis arquitectónica y de alto nivel Módulo 1. Concepto y fases de la Síntesis de Alto Nivel Román Hermida Universidad Complutense Concepto y fases de la SAN 1 Diseño de circuitos: la complejidad Tratamiento de problemas de complejidad creciente z z Dificultades z z Rápido desarrollo Tecnología Electrónica Avances en Arquitectura de Computadores Enorme complejidad de los chips Acortamiento de la vida activa del chip Consecuencias z z Acortamiento del ciclo de diseño Necesidad de herramientas CAD z Place&routing, esquemas, lenguajes Aumento del nivel de abstracción Layout, transistor, puerta, esquema RT, algoritmos, … Román Hermida Universidad Complutense Concepto y fases de la SAN 2 Evolución tecnológica Tecnología 100000 10000 Millones de T 1000 Mhz 100 Area 10 Consumo W DRAM Mb Capas Interconexiones 1 0,1 0,01 1997 1999 2001 2003 2004 2005 2008 2012 2014 Años Román Hermida Universidad Complutense Concepto y fases de la SAN 3 Evolución tecnológica Nuevos procesos tecnológicos z Conexiones de cobre (IBM, Motorola, Xilinx) z z z z Menor resistividad Menor anchura Menor capacidad Mayor velocidad Once capas de metal para interconexiones Tamaño tecnología: 45 nm. Tensión de alimentación: ~1.5 V (menos consumo) 1000 millones de transistores en un chip. Román Hermida Universidad Complutense Concepto y fases de la SAN 4 Marco conceptual del diseño Dominio Conductual Dominio Estructural Nivel Sistema Algorítmico RT Espec. Sistema Algoritmos Espec. RT CPU, Memoria Lógico Ecua. booleanas Ecua. Diferenc. Circuito Procesador, Subsistema ALU, Reg, Mux Puerta, FF Transistor Rectángulo, Polígono Celda estándar Macrocelda Diagrama en Y de Gajski-Kuhn z z Bloque / Chip Dominios: Estilos descriptivos Niveles de abstracción Román Hermida Universidad Complutense Chip / Placa Dominio Físico Concepto y fases de la SAN 5 Lenguajes de descripción de HW (LDH) Notación utilizada para describir un sistema digital con un cierto rango de niveles de abstracción en al menos uno de los dominios de descripción Evolución z z Abundancia de lenguajes Tendencia a la estandarización: Verilog, VHDL Aplicaciones z z Diseño automático: descripción inicial del sistema Reducción de la complejidad notacional z LDH de alto nivel: Descripción precisa y concisa Vehículo de comunicación fabricantes usuarios Simulación y verificación. Comprobación de las especificaciones Detección precoz de errores Predicción de rendimiento Román Hermida Universidad Complutense Concepto y fases de la SAN 6 Dominios: estilos descriptivos Conductual si (a,b,c i i i-1) = abc i i i-1 +abc i i i-1 +abc i i i-1 +abc i i i-1 ci (a,b,c i i i-1) = ac i i-1 +ab i i +bc i i-1 Estructural ai bi c i-1 ai bi c i-1 ai bi c i-1 ai bi c i-1 Román Hermida Universidad Complutense Físico / Geométrico ai c i-1 si ai Canal ci bi Fila de Celdas Estándar bi c i-1 Concepto y fases de la SAN 7 Concepto de síntesis sistema interactua con su entorno. Comportamiento Ejemplo: ec. lógicas, algoritmos, ... Restricciones Objetivos SINTESIS Estructura Cjto. de componentes interconectados Ejemplos: Algoritmos de síntesis lógica (espresso) Síntesis RTL (Synopsis, Actel, ...) Román Hermida Universidad Complutense Concepto y fases de la SAN 8 Síntesis de Alto Nivel (SAN) Dominio Conductual Dominio Estructural Nivel Sistema Algorítmico RT Espec. Sistema Algoritmos Espec. RT Lógico Ecua. booleanas Ecua. Diferenc. z Circuito Entrada: z z Procesador, Subsistema ALU, Reg, Mux Puerta, FF Transistor Rectángulo, Polígono Conductual Algorítmico Celda estándar Macrocelda Salida: z CPU, Memoria Estructural Transf. Registros (RT) Bloque / Chip Chip / Placa Dominio Físico Román Hermida Universidad Complutense Concepto y fases de la SAN 9 Síntesis de Alto Nivel Proceso de síntesis donde Descripción comportamiento z z z A nivel algorítmico Tipos de datos habituales: enteros, arrays, etc. Escasa mención a estructura d b f c b/a c d/f a=b+c-d e=a*f Estructura generada z z z A nivel RT Ruta de datos: Registros, buses, MUX, UFs, … Control: autómata finito. Activa los puntos de control de la RD Román Hermida Universidad Complutense Concepto y fases de la SAN +- * e 10 Espacio de diseño de la SAN 1 / Retardo diseños inferiores Diseños aceptables: compromiso coste/velocidad Román Hermida Universidad Complutense Concepto y fases de la SAN Nuevos objetivos: •Testabilidad •Consumo Area chip 11 Subtareas de la SAN LAN COMPILADOR ASIGNADOR DE HW Esquema µ-programa GENERADOR CONTROL Unidad de control Ruta de Datos AYUDAS GRAFICAS CONTROL CICLO DISEÑO PLANIFICADOR Interfaz sistema CAD - Standard cells, FPGAs Román Hermida Universidad Complutense Concepto y fases de la SAN 12 Compilación / Representación interna 0 Ejemplo Algoritmo: A 31 loop = RR := 0 /* resultado */ for i:=0 to 31 do + if RB(0)=1 then RR=RR+RA end; B RB RR RA i RA := A /* multiplicando */ RB := B /* multiplicador */ 0 1 lsb if << T + F 1 = >> RA << RA,1 RB >> RB,1 endfor; Lazos, Condicionales, Dependencias, Ocultación variables Román Hermida Universidad Complutense Concepto y fases de la SAN 13 1 Flujo de diseño en SAN y representación de datos Ejemplo z Descripción VHDL de un multiplicador para números de 4 bits B1 B2 B3 B4 Román Hermida Universidad Complutense Concepto y fases de la SAN 14 Flujo de diseño en SAN y representación de datos Ejemplo (cont.) z Paso 1. Compilación Grafos de flujo de datos Grafo de flujo de control Obtención de una representación que muestre el flujo de datos y de control Sin alusión a la estructura hardware Extracción del paralelismo implícito B1 B4 B2 B3 Román Hermida Universidad Complutense Concepto y fases de la SAN 15 Flujo de diseño en SAN y representación de datos Ejemplo (cont.) z Paso 2. Planificación temporal (scheduling) Pasos de control (csteps) Determinar en qué estado o paso de control se ejecuta cada una de las operaciones de la descripción Muchas alternativas: repercusión sobre coste y tiempo Retroanotación (“back annotation”) Román Hermida Universidad Complutense Concepto y fases de la SAN 16 Flujo de diseño en SAN y representación de datos Ejemplo (cont.) z Paso 3. Selección de módulos Determinar tipos y número de módulos hardware de nivel RT que se usarán en el diseño Selección condicionada por el scheduling Román Hermida Universidad Complutense Concepto y fases de la SAN 17 Flujo de diseño en SAN y representación de datos Ejemplo (cont.) z Paso 4. Asignación de módulos e interconexiones Determinar con qué módulo se implementa cada operación Determinar en qué registro se almacena cada dato Proveer las interconexiones necesarias (modelos) Generación del control simbólica Retroanotación Pasos 3+4: Asignación de hardware (“Allocation”) Román Hermida Universidad Complutense Concepto y fases de la SAN 18 Flujo de diseño en SAN y representación de datos: Diseño resultante Román Hermida Universidad Complutense Concepto y fases de la SAN 19 Técnicas de representación del comportamiento Representación separada del flujo de datos y de control z z Mantiene las construcciones de control originales de forma muy explícita Nodos operativos del CFG apuntan a grafos parciales de flujo de datos. Se debe analizar el flujo de datos global Ejemplo Román Hermida Universidad Complutense Concepto y fases de la SAN 20 Técnicas de representación del comportamiento Representación híbrida z z Incorpora en un solo grafo la información relevante de los grafos de flujo de datos y de control Ocultación de nombres de variables (traza de valores) Ejemplo Román Hermida Universidad Complutense Concepto y fases de la SAN 21