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

26
Grupo de Diseño Grupo de Diseño Hw Sw S S W W W W H H Jimt Jimt Segundo cuatrimestre Segundo cuatrimestre Codiseño Hardware-Software de Codiseño Hardware-Software de Sistemas de Computación Sistemas de Computación Especializados Especializados Grupo de Diseño Grupo de Diseño Hardware – Software Hardware – Software DIET – ESCET – URJC DIET – ESCET – URJC José Ignacio Martínez José Ignacio Martínez Torre Torre S S W W W W H H Tema 1: conceptos generales sobre Tema 1: conceptos generales sobre sistemas sistemas digitales digitales

description

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 - PowerPoint PPT Presentation

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

Page 1: 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

Page 2: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 3: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 4: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 5: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 6: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 7: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 8: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 9: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 10: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 11: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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)

Page 12: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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)

Page 13: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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)

Page 14: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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:

Page 15: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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:

Page 16: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 17: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 18: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 19: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 20: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 21: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 22: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 23: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 24: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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

Page 25: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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%

Page 26: Grupo de Diseño  Hardware – Software DIET – ESCET – URJC

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 ¿ ?