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