1 / 26

Grupo de Diseño Hardware – Software DIET – ESCET – URJC

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

eljah
Download Presentation

Grupo de Diseño Hardware – Software DIET – ESCET – URJC

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. 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

  2. Índice • Bibliografía básica • El objeto de estudio • Dominios descriptivos y niveles de abstracción • Ejemplo • Proceso de diseño • Herramientas CAD • Dudas

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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)

  12. 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)

  13. 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)

  14. 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)

  15. 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)

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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%

  26. Dudas • ¿ ?

More Related