MATERIAL COMPLEMENTARIO TEMA I Estilos de … · 3Tipos: con canal (channeled, gate array), sin...
Transcript of MATERIAL COMPLEMENTARIO TEMA I Estilos de … · 3Tipos: con canal (channeled, gate array), sin...
Estilos de Implementación 1 Metodologías y Herramientas de CAD
MATERIAL COMPLEMENTARIO TEMA I
Estilos de Implementación de CIs digitales
1 Rabaey: “Digital Integrated Circuits: A design Perspective” Cap. 11 1a ed., Cap 8 2 a ed
* las imagenes se han tomado de la página web del libro: http://bwrc.eecs.berkeley.edu/IcBook/
Estilos de Implementación 2 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
Metodologías de Implementación de ASIC
CUSTOM SEMICUSTOM
BASADO EN CELDASBASADO EN ARRAYS
CELDAS ESTANDARESCELDAS COMPILADAS MACRO CELDAS PRE-DIFUNDIDOS:
Gate Arrays
PRE-CABLEADOS:(PLDs, FPGAs)
automatizaciónprestaciones, tiempo y coste de diseño, densidad de integración
Estilos de Implementación 3 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
CUSTOM. Concepto
En el diseño a medida (custom), el diseñador realiza el layout del circuito a partir de mode-los de transistores y reglas geométricas de layout proporcionadas por la foundry
única opción en los comienzos de la microelectrónica
diseño eléctrico y físico manual (no automatizado)
permite obtener las mejores prestaciones y densidades de integración
alto coste diseño y fabricación
mucho tiempo para la presencia del producto en el mercado
sólo esta justificado económicamente:• el coste no es criterio primario (determinadas aplicaciones)• el coste es amortizable por gran volumen (por ejemplo memorias y microprocesadores)• el bloque se diseña para reutilizarlo
su utilización se reduce cada vez más. Básicamente se reduce a partes muy críticas dealgunos diseños y librerías de celdas para determinados estilos semicustom
Estilos de Implementación 4 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
CUSTOM. Ejemplo
INTEL 4004
Estilos de Implementación 5 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
SEMICUSTOM. Concepto
la aproximación full-custom puede llegar a ser extremadamente costosa, las aproxima-ciones semicustom acortan y automatizan el proceso de diseño
se distinguen dos tipos de aproximaciones semicustom:
basada en celdas: redución esfuerzo de diseño
basada en arrays: redución del esfuerzo de diseño y coste-tiempo de fabricación
respecto a custom se reduce la densidad de integración y/o empeoran las prestaciones
el esfuerzo de diseño se reduce sobre la base del concepto de Librería de Celdas
• el diseño se restringe a utilizar “bloques lógicos” (celdas) de una determinada colec-ción (librería)
• el diseñador no tiene que ocuparse del diseño eléctrico, ni físico de estos bloques• el diseño es más suceptible de ser automatizado• es necesario que la librería de celdas esté bien caracterizada y documentada:
(modelos de comportamiento para poder validar el diseño a distintos niveles de abstracción)
Estilos de Implementación 6 Metodologías y Herramientas de CAD
SEMICUSTOM. Diseño basado en Celdas (i)
todos los pasos del proceso de fabricación son específicos de cada diseño (como en custom)
para su fabricación se requiere el layout completo y realizar todas las máscaraspuede mezclarse custom y semicustom basado en celdas
diseñar requiere determinar una red de celdas de la librería que implementen la funcional-idad deseada (flujo de diseño hasta diseño lógico) y definir la posición de cada celda ypatrones para las capas físicas con las que se van a establecer las conexiones (diseñofísico, layout). El layout de las celdas no es tarea del diseñador
para cada tecnología las celdas sólo necesitan ser diseñadas, caracterizadas y verificadasuna vez, amortizándose el coste de este proceso en numerosos diseños
Dependiendo de la granularidad de los elementos de la librería se distinguen
celdas estándares (standard cell): nivel lógico, librería discretaceldas compiladas: más flexibilidad, las celdas se pueden personalizar (tamaños ttros.)megaceldas: mas complejas, memorias, multiplicadores, PLAs...
Estilos de Implementación 7 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
SEMICUSTOM. Diseño basado en Celdas Estándares (i)
Fila
s de
Cel
das
MóduloFuncional
Celda Lógica
Canal de
Celda de “Feedthrough”Generación de layout (place&route) muy automati-zada
* las celdas de la librería están diseñadas de maneraque pueden apilarse:
misma alturapolarizaciones en el mismo metal y posicionesancho distinto según complejidad
* se colocan en filas dejando espacio para suconexionado (canal de routing)
* más de una capa de metalización (metales distintospueden cruzarse sin establecer un contacto)
* las celdas de “feedthrough” simplifican las inter-conexiones
* herramientas automáticas cada vez mejores
“routing”
Estilos de Implementación 8 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
SEMICUSTOM. Diseño basado en Celdas Estándares (ii)
una parte sustancial del área se destina al “routing” de la señal.
standard cell antiguo standard cell de nueva generación
siete capas de metalizaciones3 capas de metalización
diseños muy densos
Estilos de Implementación 9 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
Diseño basado en Arrays. predifundidos ó MPGAS (i)
Los diseños se realizan sobre un array de transistores (o celdas básicas) prefabricado
La interconexion de estos transistores produce distintas aplicaciones
Sólo los últimos pasos del proceso de fabricación son dependientes de la aplicación particular
El tiempo (~ días) y el coste de fabricación de un sistema particular se reducen
. las obleas con el array de transistores ya fabricado están disponibles
. solo es necesario realizar un número reducido de mascaras
. solo es necesario realizar un número reducido de pasos de fabricación.
Perdida de flexibilidad y posibilidad de tener área desocupada
Se diseña a partir de una librería de celdas lógicas precaracterizada
Tipos: con canal (channeled, gate array), sin canal (channeless, sea of gates)
Estilos de Implementación 10 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
Diseño basado en Arrays. predifundidos ii
celda base: cuatro NMOS, cuatro PMOS, railes de alimentación
celda personalizada: NOR de cuatro entradas
pozosdifusionespolisiliciometal alimenta-ciones
metales más superficiales definen la interconexión de los transistores
se deja espacio para conexionado
Gate array
celda
canalconexionad
oblea predifundida
Estilos de Implementación 11 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
Diseño basado en Arrays. Predifundidos (iii)
LSI Logic, LEA300Ktecnología: CMOS 0.6μm
Sea of gates arquitectura sin canales contactos personalizados mayor nivel de integración pueden incorporar memorias u
otros macros
capacidad: máximo de 300.000 puertas
MEMORIA
RANDOM LOGIC
Estilos de Implementación 12 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
Diseño basado en Arrays. Precableados ó Programables en Campo (FPGAs)
todos los pasos de fabricación son independientes de la aplicación particular
la aplicación particular la programa el diseñador, fuera de la foundry, en campo
adecuado aplicaciones con bajo volumen de producción, prototipos, sistemas reconfigu-
rables
disponibles como componentes de catálogo
peores prestaciones y menor densidad de diseño
tiempo de realización física muy reducido (minutos)
distintas tecnologías de programación
consisten en piezas de lógica programables, interconexiones programables, terminales I/O
Estilos de Implementación 13 Metodologías y Herramientas de CAD
ESTILOS DE IMPLEMENTACIÓN & METODOLOGIAS DE DISEÑO
Diseño Semicustom. IPs & reuso
El crecimiento muy rápido de la complejidad de los sistemas se traduce en una tendencia a no diseñar desde cero sino a reutilizar (reuse) bloques cada vez más complejos (más que reutilizar una librería de celdas, bloques de memoria o multiplicadores)
los bloques que se reutilizan (IPs de Intelectual Property) son distribuidos, en muchos casos, por compañías especializadas mediante el pago de licencias
el número y complejidad de estos IPs ha crecido espectacularmente en los últimos años
Ejemplos de IPs disponibles:
microprocesadores,microcontroladoresfiltros para aplicaciones de DSPinterfases de comunicacióncodificadores-decodificadores de video
Estilos de Implementación 14 Metodologías y Herramientas de CAD
FPGAs
FPGAs. Visión general.
Celda Lógica
Celda Lógica
Celda Lógica
Celda Lógica
Celda Lógica
Celda Lógica
Celda Lógica
Celda Lógica
Celda Lógica
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Interconexiones
Interconexiones
Interconexiones
Inte
rcon
exio
nes
Inte
rcon
exio
nes
Inte
rcon
exio
nes
Inte
rcon
exio
nes
Interconexiones
Celdas lógicas programables. Las celdas lógicas son capaces de realizar la función de varias puertas lógicas típicas pero“pequeñas” en comparación con lo requerido en un diseño real
Las celdas lógicas se conectan usando interconexiones programables = segmentos de cables y conexiones programables* los cables se organizan en canales verticales y horizontales* cada canal contiene un conjunto de segmentos de cables de distinta longitud* son necesario distintos tipos de conexiones: celda lógica a cable, cable a cable, cable a I/O, señales de reloj
una conexión utiliza un con-junto determinado de cables
Arquitectura genérica típica
Estilos de Implementación 15 Metodologías y Herramientas de CAD
FPGAs. XILINX
Xilinx Spartan-II. Vision general
Además de los tres elementos básicos, la lógica, los recursos de interconexión y la circuitería I/O, los FPGAs actuales incorporan otros componentes como:
Bloques de memoria
DLLs para manejar el reloj
Estilos de Implementación 16 Metodologías y Herramientas de CAD
PLATAFORMAS DE IMPLEMENTACIÓN HÍBRIDAS
FPGA PLATAFORMA
Una FPGA plataforma es un chip que combina distintos tipos de componentes (programables)
PowerPC
Multiplicadores
Memoria
FPGA
FPGA basada en la arquitectura Virtex-II
CPUmemoria e interfases de memoriamultiplicadoresinterfases de comunicación de altavelocidad
VIRTEX-II PRO
En un FPGA que no disponga deestos elementos también puedenincorporarse implementándoloscon la lógica configurable (típica-mente usando un IP) pero ocupa-rían mucho y necesitaríamos unaFPGA muy grande para disponerde recursos adicionales