Grupo de Diseño Hardware – Software DIET – ESCET – URJC
description
Transcript of Grupo de Diseño Hardware – Software DIET – ESCET – URJC
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS
WW
WW
HH
Jim
tJim
t
Segundo cuatrimestreSegundo cuatrimestreCodiseño Hardware-Software de Codiseño Hardware-Software de Sistemas de Computación Sistemas de Computación EspecializadosEspecializados
Grupo de Diseño Grupo de Diseño
Hardware – SoftwareHardware – Software
DIET – ESCET – URJCDIET – ESCET – URJC
José Ignacio Martínez TorreJosé Ignacio Martínez Torre SS
WW
WW
HH
Tema 1: conceptos generales sobre Tema 1: conceptos generales sobre sistemas sistemas digitales digitales
CHS – 2P – T1 – 2
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
Índice Bibliografía básica El objeto de estudio Dominios descriptivos y niveles de abstracción Ejemplo Proceso de diseño Herramientas CAD Dudas
CHS – 2P – T1 – 3
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
D. D. GajskiD. D. GajskiPrincipios de Diseño Digital. 1ª edición. Principios de Diseño Digital. 1ª edición. Prentice-Hall Iberia. 1997.Prentice-Hall Iberia. 1997.
Cap Cap 11
M.D. Ercergovac, T. LangM.D. Ercergovac, T. LangDigital Systems and hardware/firmware Algorithms. Digital Systems and hardware/firmware Algorithms. John Wiley & Sons. 1985.John Wiley & Sons. 1985.
Cap Cap 11
CHS tema 1: bibliografía básica
CHS – 2P – T1 – 4
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
Z
X
Digital
Z
X
Analógico
El objeto de estudio “Un COMPUTADOR es un sistema complejo de cálculo
electrónico de alta velocidad que acepta información digitalizada de entrada, la procesa atendiendo a una lista de instrucciones que almacena internamente y produce la correspondiente información de salida” [Hamacher 96]
F ZX
Z=F(X)sistema
procesa
salidaAnalógico: conjunto continuo de valores – entre Analógico: conjunto continuo de valores – entre dos valores concretos hay infinitos valores dos valores concretos hay infinitos valores intermedios intermedios Digital: conjunto finito de valores – un valor se conjunto finito de valores – un valor se representa con una cadena finita de dígitosrepresenta con una cadena finita de dígitos
CHS – 2P – T1 – 5
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
Conductual La función
realizada sin información sobre cómo se hace
Dominios descriptivos y niveles de abstracción
Dominio Físico
Chip, Placa
Floorplanning, Bloques
Módulos, Macroceldas
Celdas estándar
Rectángulo, polígono, layout
DominioEstructural
CPU, Memoria
ALU, Reg,Mux
Procesador, Subsistema
Puertas, Flips-flops
Transistores, conexiones
DominioConductual
Ecuaciones diferenciales
ISAs, Algoritmos
Especif. Sistema
Transf. RT
Ec. Booleanas, FSMs
Diagrama Y de Gajsky-Khun
Dominios descriptivos:
Estructural Los bloques y las
interconexiones (netlist o esquemas) Físico
Localización y propiedades físicas reales
CHS – 2P – T1 – 6
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
DominioConductual
Ecuaciones diferenciales
ISAs, Algoritmos
Especif. Sistema
Transf. RT
Ec. Booleanas, FSMs
Niveles de abstracción:
Dominios descriptivos y niveles de abstracción
Dominio Físico
Chip, Placa
Floorplanning, Bloques
Módulos, Macroceldas
Celdas estándar
Rectángulo, polígono, layout
DominioEstructural
CPU, Memoria
ALU, Reg,Mux
Procesador, Subsistema
Puertas, Flips-flops
Transistores, conexiones
Nivel Sistema
Nivel algorítmico
Nivel RT
Nivel lógico
Nivel circuito
Sistema Relaciones entre
subsistemas, sincronización y protocolos
Diagrama Y de Gajsky-Khun
Circuito Valores continuos,
Todo es electrónica, tiempo continuo
Lógico Valores lógicos (T,F),
sólo computación, tiempo continuo
Algorítmico Estructuras
abstractas, dependencias en lugar de tiempo
RT (Register Transfer)
Palabras con valores discretos, control y procesamiento, tiempo discreto
CHS – 2P – T1 – 7
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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:
Dominios descriptivos y niveles de abstracción
Dominio Físico
Chip, Placa
Floorplanning, Bloques
Módulos, Macroceldas
Celdas estándar
Rectángulo, polígono, layout
DominioEstructural
CPU, Memoria
ALU, Reg,Mux
Procesador, Subsistema
Puertas, Flips-flops
Transistores, conexiones
Nivel Sistema
Nivel algorítmico
Nivel RT
Nivel lógico
Nivel circuito
DominioConductual
Ecuaciones diferenciales
ISAs, Algoritmos
Especif. Sistema
Transf. RT
Ec. Booleanas, FSMs
Sistema Ancho de banda,
MIPS.
Diagrama Y de Gajsky-Khun
CHS – 2P – T1 – 8
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
Transiciones:
Dominios descriptivos y niveles de abstracción
Dominio Físico
DominioEstructural
DominioConductual
Diagrama Y de Gajsky-Khun
Análisis
Síntesis
Extracción
Generación
Refinamiento
Abstracc
ión
Optimización
OptimizaciónMejora 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
Síntesis/Análisisconductual estructural
CHS – 2P – T1 – 9
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
CHS – 2P – T1 – 10
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
CHS – 2P – T1 – 11
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
Reloj
Ejemplo Representaciones en el dominio conductual: diagramas de flujo
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)
CHS – 2P – T1 – 12
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
Ajuste
Ejemplo Representaciones en el dominio conductual: diagramas de flujo
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)
CHS – 2P – T1 – 13
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
Alarma
Ejemplo Representaciones en el dominio conductual: diagramas de flujo
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)
CHS – 2P – T1 – 14
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
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)
Parte DIGITAL:
CHS – 2P – T1 – 15
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
1 oscilador / 1 altavoz1 generador de pulsos (ADC)1 generador de sonidos (DAC)
Parte ANALÓGICA:
CHS – 2P – T1 – 16
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
Vista externa
PCB
CHS – 2P – T1 – 17
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
CHS – 2P – T1 – 18
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
Proceso de diseño
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
CHS – 2P – T1 – 19
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
CHS – 2P – T1 – 20
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
CHS – 2P – T1 – 21
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
Proceso de diseño
CHS – 2P – T1 – 22
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
CHS – 2P – T1 – 23
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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.
Herramientas CAD
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
CHS – 2P – T1 – 24
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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
CHS – 2P – T1 – 25
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
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 inicio y relojes
Herramientas CAD
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%
CHS – 2P – T1 – 26
Tema 1: conceptos generales sobre sistemas digitales
Jim
tJim
t
Grupo de DiseñoGrupo de Diseño HHww – – SSww
SS WW
HH
Dudas ¿ ?