270 likes | 431 Views
S W. W H. Tema 1: conceptos generales sobre sistemas digitales. José Ignacio Martínez Torre. Grupo de Diseño Hardware – Software DIET – ESCET – URJC. Índice. Bibliografía básica El objeto de estudio Dominios descriptivos y niveles de abstracción Ejemplo Proceso de diseño
E N D
S W W H Tema 1: conceptos generales sobre sistemas digitales José Ignacio Martínez Torre Grupo de Diseño Hardware – Software DIET – ESCET – URJC
Índice • Bibliografía básica • El objeto de estudio • Dominios descriptivos y niveles de abstracción • Ejemplo • Proceso de diseño • Herramientas CAD • Dudas
D. D. Gajski Principios de Diseño Digital. 1ª edición. Prentice-Hall Iberia. 1997. Cap 1 • M.D. Ercergovac, T. Lang Digital Systems and hardware/firmware Algorithms. John Wiley & Sons. 1985. Cap 1 CHS tema 1: bibliografía básica
El objeto de estudio • “Un COMPUTADOR es un sistemacomplejo de cálculo electrónico de alta velocidad que acepta información digitalizadade entrada, laprocesaatendiendo a una lista de instrucciones que almacena internamente y produce la correspondiente información de salida” [Hamacher 96] sistema procesa salida Analógico: conjunto continuo de valores – entre dos valores concretos hay infinitos valores intermedios Digital: conjunto finito de valores – un valor se representa con una cadena finita de dígitos
Dominio Estructural Dominio C o n d u c t u a l CPU, Memoria Procesador, Subsistema ALU, Reg,Mux Especif. Sistema Rectángulo, polígono, layout Puertas, Flips-flops ISAs, Algoritmos Transistores, conexiones Transf. RT Celdas estándar Ec. Booleanas, FSMs Ecuaciones diferenciales Módulos, Macroceldas Floorplanning, Bloques Chip, Placa Dominio Físico Dominios descriptivos y niveles de abstracción • Dominios descriptivos: • Conductual • La función realizada sin información sobre cómo se hace • Estructural • Los bloques y las interconexiones (netlist o esquemas) • Físico • Localización y propiedades físicas reales Diagrama Y de Gajsky-Khun
Dominio N i v e l S i s t e m a Estructural Dominio C o n d u c t u a l CPU, Memoria Procesador, Subsistema ALU, Reg,Mux Especif. Sistema Nivel algorítmico Rectángulo, polígono, layout Puertas, Flips-flops ISAs, Algoritmos Nivel RT Transistores, conexiones Transf. RT Celdas estándar Nivel lógico Ec. Booleanas, FSMs Ecuaciones diferenciales Módulos, Macroceldas Nivel circuito Floorplanning, Bloques Chip, Placa Dominio Físico Dominios descriptivos y niveles de abstracción • Circuito • Valores continuos, Todo es electrónica, tiempo continuo • Niveles de abstracción: • Lógico • Valores lógicos (T,F), sólo computación, tiempo continuo • RT (Register Transfer) • Palabras con valores discretos, control y procesamiento, tiempo discreto • Algorítmico • Estructuras abstractas, dependencias en lugar de tiempo • Sistema • Relaciones entre subsistemas, sincronización y protocolos Diagrama Y de Gajsky-Khun
Dominio N i v e l S i s t e m a Estructural Dominio C o n d u c t u a l CPU, Memoria Procesador, Subsistema ALU, Reg,Mux Especif. Sistema Nivel algorítmico Rectángulo, polígono, layout Puertas, Flips-flops ISAs, Algoritmos Nivel RT Transistores, conexiones Transf. RT Celdas estándar Nivel lógico Ec. Booleanas, FSMs Ecuaciones diferenciales Módulos, Macroceldas Nivel circuito Floorplanning, Bloques Chip, Placa Dominio Físico Dominios descriptivos y niveles de abstracción • Circuito • Tiempo de subida y bajada, consumos área • Lógico • Tiempo de conmutación, skew, área equivalente • RT • Tiempo de ciclo, márgenes, puertas equivalentes • Algorítmico • Latencia, cadencia de datos, número de módulos • Medidas: • Sistema • Ancho de banda, MIPS. Diagrama Y de Gajsky-Khun
Síntesis Análisis Generación Refinamiento Abstracción Extracción Optimización Dominios descriptivos y niveles de abstracción • Transiciones: • Síntesis/Análisis • conductual estructural Dominio Dominio C o n d u c t u a l Estructural • Optimización • Mejora de una descripción sin variar el nivel de abstracción • Generación / Extracción • estructural físico • Refinamiento / Abstracción • Bajar/Subir el nivel de abstracción en el mismo dominio Diagrama Y de Gajsky-Khun Dominio Físico
Ejemplo • Representaciones en el dominio conductual, estructural y físico de un reloj despertador sencillo. Especificación • Visualizador de cristal líquido (LCD): muestra horas, minutos y segundos • 5 conmutadores: • S1: ajuste de hora / S2: ajuste de alarma • S3: avance de los minutos / S4: avance de las horas • S5: conexión de la alarma • Modo de operación • Si S1 está activo (cerrado) se ajusta la hora presionando S3 ó S4 • minutos u horas +1 y se muestran en el LCD • Si S2 está activo (cerrado) se ajusta la alarma del mismo modo • Durante el ajuste de la alarma, minutos u horas se muestran en el LCD • Si S5 está activo (cerrado) la alarma se activa y emite un sonido cuando el reloj coincide con el tiempo ajustado en la alarma
Ejemplo • Representaciones en el dominio conductual Una posible representación del comportamiento (funcionamiento) del reloj despertador consiste en entenderlo como 3 procesos concurrentes (paralelos): • Reloj • Ajuste • Alarma
Ejemplo • Representaciones en el dominio conductual: diagramas de flujo • Reloj • Modo de operación • Cada pulso de 1 segundo incrementa el valor de segundos • Las cuentas, módulo 60, 60 y 12, ponen a 0 la cuenta de segundos, minutos y horas 1 entrada (Pulse) 6 variables internas (Seconds, S display, Minutes, M display, Hours, H display)
Ejemplo • Representaciones en el dominio conductual: diagramas de flujo • Ajuste • Modo de operación • Si S1 está activo (cerrado) se ajusta la hora presionando S3 ó S4 • M o H +1 al LCD • Si S2 está activo (cerrado) se ajusta la alarma del mismo modo • M o H al LCD 2 variables internas (Mwakeup, Hwakeup)
Ejemplo • Representaciones en el dominio conductual: diagramas de flujo • Alarma • Modo de operación • Se comprueba que minutos y horas coincidan con los minutos y horas de la alarma y si S5 está activo se emite un sonido 1 salida (Buzz)
Ejemplo • Representación en el dominio estructural: las representaciones en el dominio conductual no indican la estructura del sistema • Sin embargo, variables y asignaciones pueden implicar un modelo – no siempre óptimo – de la estructura Parte DIGITAL: 3 contadores (S, M y H cnt) 2 registros (Mreg, Hreg) 1 LCD (S, M y H display) 2 comparadores (Minute, Hour comparator) 1 valor constante (1 lógico)
Ejemplo • Representación en el dominio estructural: las representaciones en el dominio conductual no indican la estructura del sistema • Sin embargo, variables y asignaciones pueden implicar un modelo – no siempre óptimo – de la estructura Parte ANALÓGICA: 1 oscilador / 1 altavoz 1 generador de pulsos (ADC) 1 generador de sonidos (DAC)
Ejemplo • Representación en el dominio físico: • PCB (Printed Circuit Board – Placa de Circuito Impreso) • Parte analógica: oscilador, generador de pulsos y sonidos • Toda la parte digital en un chip • Resto de componentes: conmutadores, caja para baterías, pistas de metal, LCD PCB Vista externa
Proceso de diseño • Los pasos tomados desde la concepción hasta la fabricación de un producto • No es fijo, ni lineal – existen iteraciones • Depende de la empresa, de los equipos de trabajo, de la tecnología, de las herramientas, del conjunto de aplicaciones, etc. • Especificaciones del diseño • Bibliotecas de componentes • Síntesis del diseño • Análisis del diseño • Documentación Metodologías del proceso de diseño • Arriba–abajo (Top-down) • Abajo–arriba (Bottom-up) • Mixta – la aplicada en realidad
Proceso de diseño Especificaciones del diseño • Definen el funcionamiento y las interfaces del producto • Diseño esquemático de la arquitectura • Diagrama de bloques de alto nivel descrito mediante lenguaje natural, pseudo-algoritmos o algoritmos • Las especificaciones ejecutables permiten verificar, analizar y sintetizar mediante herramientas CAD Biblioteca de componentes • Constituyen los bloques internos de la arquitectura • Dependientes de la tecnología • A distintos niveles de abstracción y distintas prestaciones • Diseño cerrado para un uso fiable por parte de otros equipos • Características de los componentes de la biblioteca ... /... • Función, interfaz y aplicaciones típicas • Encapsulado, dimensiones y localización física de entradas y salidas
Proceso de diseño • Características de los componentes de la biblioteca ... /... • Requisitos eléctricos, rangos de tensión y corriente de las entradas • Disipación de calor, consumo de potencia • Retardos, relaciones y sincronización entre las señales • Modelos para simulación, síntesis, diseño físico y verificación para las distintas herramientas CAD empleadas Síntesis del diseño • Conversión de una especificación/descripción de comportamiento a una estructura con componentes de la biblioteca • El comportamiento se redefine y se divide en bloques más detallados • Se vuelven a dividir y estructurar, bajando el nivel de abstracción • El último escalón son los componentes de la biblioteca • Los componentes no existentes se diseñan o se adquieren • Tipos de síntesis ... /... • Distintas síntesis dependiendo de los distintos niveles de abstracción
Proceso de diseño • Tipos de síntesis ... /... • Síntesis de sistema: especificación procesadores, memorias y ASICs • Síntesis de alto nivel: algoritmos, ISAs registros, ALUs, multiplexores • Síntesis lógica: expresiones booleanas puertas y biestables • Síntesis física: puertas esquemas geométricos, configuraciones eléctricas Análisis del diseño • Evaluación de la bondad del diseño respecto a los requisitos de la especificación o entre las distintas alternativas de materialización • Existen distintas medidas de bondad: costes, prestaciones, testabilidad • Costes: el aumento de área (ASIC, PCB), del número de entradas y salidas (encapsulados), el consumo de potencia (tamaño y peso) incrementa el precio • Prestaciones: frecuencia de reloj, tiempo de ejecución de las instrucciones, tiempo de ejecución de algoritmos de prueba (benchmarks) • Testabilidad: mide el número de fallos detectables y es función del número de patrones de test – entradas con salidas conocidas – y del tiempo
Proceso de diseño Documentación • Detalla todos los aspectos del proceso de diseño • Se debe realizar durante todo el ciclo de vida del diseño • Esquemática para los consumidores, y centrada en el comportamiento y en los interfaces físicos y temporales • Detallada para el reuso interno en otros productos de la compañía
Herramientas CAD • El proceso de diseño está apoyado en herramientas informáticas de ayuda al diseño, herramientas CAD – Computer Aided Design • Hay herramientas muy especializadas y consolidadas desde hace tiempo • Hay un campo de trabajo muy amplio en la creación de herramientas • Existen distintas herramientas para distintas tareas • Captura y modelado • Síntesis • Verificación y simulación • Diseño físico • Test
Herramientas CAD Captura y modelado • Permiten describir el diseño en distintos dominios y niveles • Captura de esquemas gráficos – geometrías, puertas lógicas, bloques, etc. Útiles para modelar en dominios estructurales y de nivel de abstracción medio-bajo. En desuso. • Los lenguajes de descripción de hardware – VHDL, Verilog – permiten modelar en todos los dominios y casi todos los niveles de abstracción. Mejoran la documentación y el análisis. En consolidación. • Las descripciones ejecutables avanzan hasta el nivel de sistema. Mejoran la verificación y la corrección por construcción. En expansión. Síntesis • Automatizan la creación de estructuras desde comportamientos ... / ... • Síntesis lógica: convierte ecuaciones booleanas en esquemas con puertas lógicas, minimizando su número, reduciendo el retardo y el consumo • Síntesis secuencial: convierte comportamientos en máquinas finitas de estados con el mínimo número de elementos de memoria y de estados, y con codificaciones que reducen costes combinacionales
Herramientas CAD • Automatizan la creación de estructuras desde comportamientos ... / ... • Síntesis de alto nivel: convierten expresiones aritméticas, flujos de datos y control, o algoritmos en estructuras RT, minimizando tiempos de ejecución y área consumida Verificación y simulación • Comprueban si el funcionamiento del diseño es el deseado • Esto no es posible si no se dispone de una especificación ejecutable • Se puede asegurar que la estructura sintetizada desde el comportamiento es correcta por construcción – verificación formal – mediante manipulación algebraica o demostradores de teoremas • Se puede asegurar que los caminos críticos – verificación temporal – respetan los requisitos temporales • Ambas verificaciones son muy lentas al explorar todas las posibilidades de las entradas • La técnica más utilizada es la simulación – prueba de un conjunto reducido de todas las posibles combinaciones de las entradas • Diseñar una simulación adecuada es una tarea valiosa, pero difícil y lenta
Herramientas CAD Diseño físico • Permiten colocar e interconectar los componentes físicos en Chips o PCBs • Herramientas de colocación – Placement – optimizan la colocación de celdas y componentes en función de sus dimensiones e interfaces minimizando el área • Herramientas de interconexión – Routing – optimizan el tipo, longitud y retardos de los cables de interconexión entre celdas y componentes. Esto incluye alimentaciones, señales de inicioy relojes Test • Detectan fallos en los circuitos • Generan patrones de test – Test Pattern Generators – previos y posteriores a la fabricación capaces de detectar fallos comprobando el máximo número de caminos • Detectan cortocircuitos, circuitos abiertos, etc. con índices de cobertura cercanos al 100%
Dudas • ¿ ?