Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
DISEÑO CON HARDWARE RECONFIGURABLE
Hortensia Mecha LópezDepartamento de Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Introducción
• Estilos de diseño microeléctrónico• Flujo de diseño sobre FPGAs• Arquitectura FPGAs Xilinx• Placa de trabajo • Prácticas
2
Estilos de diseño microelectrónico• La viabilidad económica de un diseño microelectrónico depende de varios factores:
– volumen de fabricación– número de circuitos correctos / número de circuitos fabricados (yield)– precio en mercado– rendimiento del circuito – tiempo de salida al mercado
• Para poder adaptar el diseño físico de un circuito a las diferentes necesidades del mercado, nacen los llamados estilos de diseño.
– Estos se clasifican en atención al grado de libertad que tiene el diseñador a la hora de decidir la topología física del circuito
basado en celdas
Semi Custom
basado en arrays
celdas estándar macroceldas arrays
prefundidosarrays
precableados
Full Custom
Estilos de diseño
Estilos de diseño microelectrónico
4004 de Intel
layout de un flip-flop CMOS
Full-custom
3
Estilos de diseño microelectrónico
CELDA14
CELDA13
CELDA12
CELDA11
CELDA10
CELDA9
CELDA8
CELDA7
CELDA6
CELDA5
CELDA4
CELDA3
CELDA2
CELDA1GND
GND
GND
PWR
PWR
PWR
CANAL
CANAL
CELDAS
CELDAS
CELDAS
diseño basado en Celdas estándar
Celdas estándar
Estilos de diseño microelectrónico
Vide
o-en
code
r
Data paths
Standardcells
SRAM
SRAM
Rou
ting
Ch a
nnel
Macro celdas (macro cells)
4
Arrays PredifundidosEstilos de diseño microelectrónico
VD D
GND
polysilicon
metal
possiblecontact
In1 In2 In3 In4
Out
4-in
put N
OR
esquema del layoutde un Gate array
LSI Logic LEA300K (0.6 mm CMOS)
Random Logic
MemorySubsystem
esquema del layoutde un Sea of Gates
Estilos de diseño microelectrónico
5
• Circuitos prefabricados con funcionalidad programable: PLA, PROM, PAL, CPLD, FPGA
Arrays Precableados
Estilos de diseño microelectrónico
Estilos de diseño microelectrónico
PLA
PROM
PALCPLD
6
• FPGA:– Un array de celdas regularmente
dispuestas sobre el silicio cuya funcionalidad es programable, denominados CLB.
– Una colección de celdas de entrada/salida dispuestas perimetralmente cuyas características son programables, denominaos IOB
– Una colección de bloques de interconexión, que bajo programación permiten conectar CLBs e IOBs entre sí.
Arrays Precableados
Estilos de diseño microelectrónico
Xilinx XC4025
Estilos de diseño microelectrónico
7
• Metodología de diseño para FPGA:– Los diseños no se fabrican, sino que se realizan programando adecuadamente los CLBs,
IOBs y bloques de interconexión.– Cada bloque almacena su configuración (programa) en una SRAM, EPROM o en
antifusibles. Dependiendo del método de almacenaje, el diseño volcado sobre la FPGA será o no volátil.
– Funcionalmente las celdas son complejas y su grado de complejidad se denomina granularidad:
• Granularidad fina (FPGAs): cualquier función de conmutación de 4~6 variables y varios FFs.• Granularidad gruesa (FIPSOCs, sistemas reconfigurables): ALUs y varios registros.
• Características:– El diseño físico y la fabricación es independiente del diseño particular.– Diseños complejos pueden no caber en una FPGA.
Estilos de diseño microelectrónico
Densidad funcionalRendimiento funcional
Flexibilidad en diseño físicoTiempo de diseño físicoTiempo de fabricaciónCoste baja producciónCoste alta producción
Tamaño de celdaTipo de celda
EmplazamientoInterconexionado
Variable
Variable
Variable
Variable
Muy Alta
Muy Alto
Muy Alta
Muy Alto
Medio
Muy Alto
Bajo
Altura Fija
Variable
En Filas
Variable
Alta
Alto
Alta
Medio
Medio
Alto
Bajo
Fijo
Fijo
Fijo
Variable
Alta
Alto
Media
Medio
Bajo
Alto
Bajo
Fijo
Programable
Fijo
Programable
Medio
Medio
Ninguna
Ninguno
Muy Bajo
Bajo
Muy Alto
Full-customBasado en
celdasArrays
PredifundidosArrays
Precableados
Fiabilidad eléctrica Media Alta Alta Muy Alta
Estilos de diseño microelectrónico
8
Introducción
• Estilos de diseño microeléctrónico• Flujo de diseño sobre FPGAs• Arquitectura FPGAs Xilinx• Placa de trabajo • Prácticas
Flujo de diseño
Especificación
Generación de tablas de verdad
Derivación ecuaciones booleanas
Simulación lógica
Generación del diseño a nivel de puertas
Montaje
Depuración
9
Flujo de diseñoEspecificación
Generación de tablas de verdad
Derivación ecuaciones booleanas
Simulación lógica
Generación del diseño a nivel de puertas
Montaje
Depuración
Especificación
Síntesis automática
Simulación lógica
Programación FPGA
Depuración
Entrada del diseño (sch,HDL)
Mapeo, colocación e interconexionado
Simulación temporal
Flujo de diseñoXilinx Foundation
10
Flujo de diseño de Xilinx
Flujo de diseño de Xilinx
11
Flujo de diseño
• P&R Report Sobre la utilización de la FPGA• Pad Report Asignación de E/S• Asincronous Delay Report: retardos de propagación de las señales
rutadas• Post Layout Timing Report: lista los caminos que violan las
restricciones
Informes generados
Introducción
• Estilos de diseño microeléctrónico• Flujo de diseño sobre FPGAs• Arquitectura FPGAs Xilinx• Placa de trabajo • Prácticas
12
Arquitectura FPGAs Xilinx
Arquitectura FPGAs Xilinx
Estructura de un CLB Estructura de una LUTLook Up Table
13
Arquitectura de las FPGAs
Arquitectura FPGAs Xilinx
CLB CLB
CLBCLB
matriz de conmutación
Canal de rutadohorizontal
Canal de rutado vertical
punto de interconexión
14
Introducción
• Estilos de diseño microeléctrónico• Flujo de diseño sobre FPGAs• Arquitectura FPGAs Xilinx• Placa de trabajo • Prácticas
18
• Figure 5: XS40 Board programmer's model.
15
Introducción
• Estilos de diseño microeléctrónico• Flujo de diseño sobre FPGAs• Arquitectura FPGAs Xilinx• Placa de trabajo • Prácticas
16
Prácticas
Práctica 1: Diseño de un circuito combinacional utilizando esquemáticos. Práctica 2. Diseño de un circuito combinacional utilizando HDL. Práctica 3. Simulación eléctricaPráctica 4. Diseño de un circuito secuencial mediante máquinas de estadoPráctica 5 Diseño de un circuito secuencial en VHDL.Práctica 6 Diseño de un interfaz de teclado. Práctica 7 Diseño de un interfaz de VGA.Práctica 8 Diseño de un interfaz de audio
Propuesta