Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
Diseño de Circuitos Integrados I Diseño de Circuitos Integrados I (Plan 98 Ingeniero en Informática) (Plan 98 Ingeniero en Informática)
Diseño de Circuitos Integrados Diseño de Circuitos Integrados (Plan 98 Ingeniero Técnico en Informática de Sistemas(Plan 98 Ingeniero Técnico en Informática de Sistemas ))
José Manuel José Manuel MendíasMendías CuadrosCuadrosHortensia Mecha LópezHortensia Mecha López
Dpto. Arquitectura de Computadores y AutomáticaDpto. Arquitectura de Computadores y AutomáticaUniversidad Complutense de MadridUniversidad Complutense de Madrid
2
Datos profesorDatos profesor
Despacho 003 Despacho 003 Edif. Jardín BotánicoEdif. Jardín Botánicoteltel:: +34 91 394 70 61,+34 91 394 70 61,fax:fax: +34 91 394 70 60 +34 91 394 70 60
ee--mail:mail: [email protected]@dacya.ucm.es
Página Web Página Web www.dacya.ucm.es/hortenwww.dacya.ucm.es/horten
TutoriasTutorias: : Miércoles y Jueves Miércoles y Jueves de 11:00 a 13:00 y de 15:00 a 16:00 de 11:00 a 13:00 y de 15:00 a 16:00
3
Diseño de Circuitos IntegradosDiseño de Circuitos Integrados
Módulo I. Tecnología CMOSMódulo I. Tecnología CMOS ..Módulo II. Ingeniería de los Sistemas digitalesMódulo II. Ingeniería de los Sistemas digitales
4
Módulo I Tecnología CMOSMódulo I Tecnología CMOS
Tema 1. Tecnologías de diseño Tema 1. Tecnologías de diseño microelectrónicomicroelectrónico..Tema 2. Diseño digital CMOS.Tema 2. Diseño digital CMOS.Tema 3. Diseño físico de circuitos CMOS.Tema 3. Diseño físico de circuitos CMOS.Tema 4. Diseño de elementos CMOS específicos.Tema 5. Cables.Tema 5. Cables.
5
Módulo II Ingeniería de Sistemas DigitalesMódulo II Ingeniería de Sistemas Digitales
Tema 2.1 IntroducciónTema 2.1 IntroducciónTema 2.2 AlimentaciónTema 2.2 AlimentaciónTema 2.3 RuidoTema 2.3 RuidoTema 2.4 Señalización.Tema 2.4 Señalización.Tema 2.5 TemporizaciónTema 2.5 TemporizaciónTema 2.6 SincronizaciónTema 2.6 SincronizaciónTema 2.7 Diseño AsíncronoTema 2.7 Diseño Asíncrono
6
BibliografíaBibliografíaBibliografía básica:Bibliografía básica:
W. J. Dally, J. W. W. J. Dally, J. W. PoultonPoulton, "Digital Systems Engineering". Cambridge , "Digital Systems Engineering". Cambridge University Press.University Press.M. J. S. Smith “M. J. S. Smith “AplicationAplication--Specific Integrated Circuits” Ed. Addison Specific Integrated Circuits” Ed. Addison WesleyWesleyJan M. Jan M. RabaeyRabaey, "Digital Integrated Circuits". Prentice Hall., "Digital Integrated Circuits". Prentice Hall.W. Wolf , "Modern VLSI Design. A system approach". Prentice HallW. Wolf , "Modern VLSI Design. A system approach". Prentice Hall..N. N. WesteWeste, K. , K. EshraghianEshraghian, "Principles of CMOS VLSI Design: A Systems , "Principles of CMOS VLSI Design: A Systems Perspective". Perspective". AddisonAddison WesleyWesley, 1993., 1993.
Bibliografía complementaria:Bibliografía complementaria:
Daniel D. Daniel D. GajskiGajski, "Principios de Diseño Digital". , "Principios de Diseño Digital". Prentice Hall, 1997Prentice Hall, 1997Giovanni De Giovanni De MicheliMicheli , "Synthesis and optimization of digital circuits". , "Synthesis and optimization of digital circuits". McGrawMcGraw––HillHillMorantMorant Martín, "Diseño y tecnología de circuitos integrados". Martín, "Diseño y tecnología de circuitos integrados". AddisonAddison--Wesley Wesley IberoamericanaIberoamericanaC. Mead, L. Conway, "Introduction to VLSI Systems". Addison WeslC. Mead, L. Conway, "Introduction to VLSI Systems". Addison Wesley, ey, 1980.1980.
7
HerramientasHerramientas
DiseñoDiseño de de circuitoscircuitos–– MicrowinMicrowin. .
Simulación de circuitosSimulación de circuitos–– PSPICE.PSPICE.
8
Diseño de Circuitos Integrados IDiseño de Circuitos Integrados I
Tema 1. Tecnologías de diseño Tema 1. Tecnologías de diseño microelectrónicomicroelectrónico
José Manuel José Manuel MendíasMendías CuadrosCuadrosHortensia Mecha LópezHortensia Mecha López
Dpto. Arquitectura de Computadores y AutomáticaDpto. Arquitectura de Computadores y AutomáticaUniversidad Complutense de MadridUniversidad Complutense de Madrid
9
Módulo I Tecnología CMOSMódulo I Tecnología CMOS
Tema 1. Tecnologías de diseño Tema 1. Tecnologías de diseño microelectrónicomicroelectrónico..Tema 2. Diseño digital CMOS.Tema 2. Diseño digital CMOS.Tema 3. Diseño físico de circuitos CMOS.Tema 3. Diseño físico de circuitos CMOS.
Tema 4. Diseño de elementos CMOS específicos..Tema 5. Cables.Tema 5. Cables.
10
Tema 1. Tecnologías de diseño Tema 1. Tecnologías de diseño microelectrónicomicroelectrónico
–– 1.1 Introducción1.1 Introducción–– 1.2 Estilos de diseño 1.2 Estilos de diseño microelectrónicomicroelectrónico
Diseño fullDiseño full––custom. custom. Diseño Diseño semisemi––custom: gatecustom: gate––arrays, standard cells, FPGAs, arrays, standard cells, FPGAs, SOCs. SOCs.
–– 1.3 Ciclo de producción de un circuito integrado1.3 Ciclo de producción de un circuito integradoFabricación de un circuito integradoFabricación de un circuito integradoNiveles y dominios de descripciónNiveles y dominios de descripción
11
IntroducciónIntroducciónLa La microelectrónicamicroelectrónica es la ciencia que estudia la integración de un gran es la ciencia que estudia la integración de un gran número de dispositivos electrónicos sobre un único sustrato, y enúmero de dispositivos electrónicos sobre un único sustrato, y es la base del s la base del desarrollo de los sistemas informáticos.desarrollo de los sistemas informáticos.Este proceso de integración se debe a la continua reducción de tEste proceso de integración se debe a la continua reducción de tamaño de los amaño de los dispositivos, y ha dado lugar a diferentes dispositivos, y ha dado lugar a diferentes familias tecnológicas:familias tecnológicas:
microprocesadores 16/32 bitsmicroprocesadores 16/32 bits110044~10~1066VLVLSI / ULSI SI / ULSI 2 2 µµmm‘‘8080microprocesadores 8 bitsmicroprocesadores 8 bits101033~10~1044LLSI (SI (5 5 µµmm))‘‘7070
sumadores, contadoressumadores, contadores101022~10~1033MMSISImedmed. ‘60. ‘60
circuitoscircuitosnº de nº de dispdisp/chip/chip
tecnologíatecnologíaAñosAños
microprocesadores 64 bitsmicroprocesadores 64 bits10107 7 ~10~1088GLGLSI SI 0.5 0.5 µµmm‘‘9090
puertas, puertas, flipflip--flopsflops..1010SSISSI ((20 20 µµmm))inicio ’60inicio ’60
transistor.transistor.11componentes discretoscomponentes discretos‘‘5050invención del transistorinvención del transistor19471947
12
IntroducciónIntroducción
Mayor integración implica:Mayor integración implica:–– mayor nmayor núúmero de dispositivos/chip.mero de dispositivos/chip.–– menor nmenor núúmero de componentes/sistema.mero de componentes/sistema.–– mayor velocidad de cmayor velocidad de cáálculo.lculo.–– menor consumo.menor consumo.–– mayor esfuerzo en disemayor esfuerzo en diseñño.o.–– mayor esfuerzo en correccimayor esfuerzo en correccióón (menor posibilidad de reparacin (menor posibilidad de reparacióón).n).–– mayor coste de manufactura que si se compensa con un mayor mayor coste de manufactura que si se compensa con un mayor
volumen de ventas, se traduce en un menor coste/unidad.volumen de ventas, se traduce en un menor coste/unidad.
13
IntroducciónIntroduccióntransistores por die(escala logarítmica)
108
107
106
105
104
103
102
101
1
1K
4M
64K16K4K
1M256K
16M
40048080
8086
Intel386™ Intel486™
80286
64M
Pentium®
processor
MemoriaMicroprocesador
Pentium® Proprocessor
’70 ’75 ’80 ’85 ’90 ’95 ’00
ley de Moore (1964 - Fairchild), presidente de Intel:“el número de dispositivos/chip se duplica cada año”
14
Tema 1. Tecnologías de diseño Tema 1. Tecnologías de diseño microelectrónicomicroelectrónico
–– 1.1 1.1 IntroducciónIntroducción–– 1.2 1.2 EstilosEstilos de de diseñodiseño microelectrónicomicroelectrónico
DiseñoDiseño fullfull––custom. custom. DiseñoDiseño semisemi––custom: gatecustom: gate––arrays, standard cells, arrays, standard cells, FPGAsFPGAs, , SOCsSOCs..
–– 1.3 Ciclo de producción de un circuito integrado1.3 Ciclo de producción de un circuito integradoFabricación de un circuito integradoFabricación de un circuito integradoNiveles y dominios de descripciónNiveles y dominios de descripción
15
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónicoLa viabilidad económica de un diseño La viabilidad económica de un diseño microelectrónicomicroelectrónico depende de varios depende de varios factores:factores:–– volumen de fabricaciónvolumen de fabricación–– número de circuitos correctos / número número de circuitos correctos / número
de circuitos fabricados (de circuitos fabricados (yieldyield))–– precio en mercadoprecio en mercado–– rendimiento del circuito rendimiento del circuito –– tiempo de salida al mercadotiempo de salida al mercado
basado en celdas
SemiCustom
basado en arrays
celdas estándar macroceldas arrays
predifundidosarrays
precableados
Full Custom
Estilos de diseño
Para poder adaptar el diseño físico de Para poder adaptar el diseño físico de un circuito a las diferentes un circuito a las diferentes necesidades del mercado, nacen los necesidades del mercado, nacen los llamados llamados estilos de diseñoestilos de diseño..
Estos se clasifican en atención al Estos se clasifican en atención al grado de libertad que tiene el grado de libertad que tiene el diseñador a la hora de decidir la diseñador a la hora de decidir la topología física del circuitotopología física del circuito
16
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
El diseñador goza de completa libertad durante el diseño El diseñador goza de completa libertad durante el diseño físico del circuitofísico del circuito–– no se utilizan elementos prediseñados ni prefabricados.no se utilizan elementos prediseñados ni prefabricados.–– no existen restricciones en el diseño de un bloque funcional.no existen restricciones en el diseño de un bloque funcional.–– no existen restricciones en la ubicación de los bloques funcionano existen restricciones en la ubicación de los bloques funcionales.les.–– no existen restricciones en el trazado de las interconexiones.no existen restricciones en el trazado de las interconexiones.–– cualquier aspecto de un circuito puede optimizarse.cualquier aspecto de un circuito puede optimizarse.–– se suele realizar jerárquicamente.se suele realizar jerárquicamente.–– fue muy popular en los primeros años, su uso disminuye día a díafue muy popular en los primeros años, su uso disminuye día a día..
VentajasVentajas::–– flexibilidad.flexibilidad.–– obtención de circuitos de alta calidad.obtención de circuitos de alta calidad.
Full custom
17
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
DesventajasDesventajas::–– no es no es automatizableautomatizable..–– requiere un enorme esfuerzo y diseñadores con alta requiere un enorme esfuerzo y diseñadores con alta
especialización.especialización.–– tiempos largos de salida al mercado.tiempos largos de salida al mercado.–– si no se siguen unas ciertas reglas, no hay seguridad de que el si no se siguen unas ciertas reglas, no hay seguridad de que el
circuito funcione eléctricamente.circuito funcione eléctricamente.–– sólamentesólamente es rentable cuando los costes se amortizan con un gran es rentable cuando los costes se amortizan con un gran
volumen de producción (microprocesadores, memorias), con un volumen de producción (microprocesadores, memorias), con un tiempo de vida largo, o con un alto grado de reutilización tiempo de vida largo, o con un alto grado de reutilización (biblioteca de celdas).(biblioteca de celdas).
Full custom
18
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
4004 de Intel
layout de un flip-flop CMOS
19
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
El diseñador realiza tiene ciertas restricciones durante diseño El diseñador realiza tiene ciertas restricciones durante diseño físico del circuitofísico del circuito–– sólo pueden usar una colección de bloques funcionales primitivossólo pueden usar una colección de bloques funcionales primitivos
prediseñados o prefabricados.prediseñados o prefabricados.–– existen restricciones en la ubicación de los bloques funcionalesexisten restricciones en la ubicación de los bloques funcionales..–– existen restricciones en el trazado de las interconexiones.existen restricciones en el trazado de las interconexiones.–– sólo se pueden optimizar algunos aspectos del circuito.sólo se pueden optimizar algunos aspectos del circuito.
VentajasVentajas::–– es es automatizableautomatizable..–– el funcionamiento eléctrico del circuito está asegurado.el funcionamiento eléctrico del circuito está asegurado.–– reduce el esfuerzo de diseño y requiere diseñadores menos reduce el esfuerzo de diseño y requiere diseñadores menos
especializados.especializados.–– reduce el tiempo de salida al mercado.reduce el tiempo de salida al mercado.
Semi custom
20
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
DesventajasDesventajas::–– se obtienen circuitos de rendimiento mediose obtienen circuitos de rendimiento medio
Semi custom
basado en celdas
SemiCustom
basado en arrays
celdas estándar macroceldas arrays
predifundidosarrays
precableados
21
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
⌦Metodología de diseño:Todo diseño debe realizarse mediante la interconexión de un conjunto de bloques funcionales prediseñados denominados celdas.Las celdas (de entre 200 y 400 tipos diferentes) se agrupan en bibliotecas facilitadas por el fabricante y se actualizan cuando cambia la tecnología.Funcionalmente las celdas son simples (puerta lógicas, flip-flops).Geométricamente una celda es un rectángulo de altura fija y anchura variable que depende de la complejidad de funcionalidad implementada. Sus entradas y salidas están ubicadas en los extremos superior e inferior del rectángulo, y sus tomas de alimentación y tierra están ubicadas de manera que las líneas de distribución de alimentación y tierra se puedan trazar horizontalmente sobre ellas.
Celdas estándar (standard cells)
22
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Las celdas deben ubicarse en filas de igual altura, dejando entre las filas un espacio libre de anchura variable denominado canal.Las interconexiones entre celdas de la misma fila o entre celdas de filas adyacentes (conexiones cercanas) se trazan en el canal. Las restantes interconexiones (interconexiones lejanas) se realizan a través de celdas de paso o en otros niveles de metalización.
CELDA14
CELDA13
CELDA12
CELDA11
CELDA10
CELDA9
CELDA8
CELDA7
CELDA6
CELDA5
CELDA4
CELDA3
CELDA2
CELDA1GND
GND
GND
PWR
PWR
PWR
CANAL
CANAL
CELDAS
CELDAS
CELDAS
23
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
⌦Características:Requiere el diseño full custom de las celdas y su caracterización.Enlaza fácilmente con la fase previa de diseño lógico mediante un proceso conocido como proyección tecnológica.
Celdas estándar (standard cells)
24
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Existen circuitos, llamados Existen circuitos, llamados macroceldasmacroceldas, cuyas implementaciones físicas tienen , cuyas implementaciones físicas tienen una estructura regular, fácilmente escalable y con un rendimientuna estructura regular, fácilmente escalable y con un rendimiento óptimo:o óptimo:
–– Multiplicadores, sumadores, Multiplicadores, sumadores, desplazadoresdesplazadores, RAM, ROM, PLA ..., RAM, ROM, PLA ...Su diseño puede ser fácilmente automatizado mediante los Su diseño puede ser fácilmente automatizado mediante los generadores de generadores de macroceldasmacroceldas, que a partir de los parámetros característicos del módulo, gen, que a partir de los parámetros característicos del módulo, generan su eran su diseño físico.diseño físico.
Vide
o-en
code
r
Data paths
Standardcells
SRAM
SRAM
Rou
ting
Ch a
nnel
Macro celdas (macro cells)
Los dataLos data--pathspaths suelen ser suelen ser caminos muy regulares pues caminos muy regulares pues
mantienen la misma estructura mantienen la misma estructura para los n bits. Por eso también para los n bits. Por eso también suelen utilizarse generadores suelen utilizarse generadores
para su diseñopara su diseño
En un circuito es típico encontrar una En un circuito es típico encontrar una mezcla de fullmezcla de full--customcustom, celdas estándar y , celdas estándar y
macroceldasmacroceldas
25
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Metodología de diseñoMetodología de diseño::–– Todo diseño debe realizarse mediante la interconexión de una colTodo diseño debe realizarse mediante la interconexión de una colección de ección de
celdas idénticas.celdas idénticas.–– Funcionalmente las celdas extremadamente simples (transistor, NAFuncionalmente las celdas extremadamente simples (transistor, NAND o ND o
NOR).NOR).–– Las celdas ya están prefabricadas y dispuestas regularmente sobrLas celdas ya están prefabricadas y dispuestas regularmente sobre el silicio.e el silicio.–– Durante la fase de metalización se decide el Durante la fase de metalización se decide el interconexionadointerconexionado e incluso la e incluso la
función de las celdas.función de las celdas.
Características:Características:–– Solamente la última fase de fabricación (metalización) es dependSolamente la última fase de fabricación (metalización) es dependiente iente
del diseño particular, por lo que las primeras fases son comunesdel diseño particular, por lo que las primeras fases son comunes y y tienen un gran volumen de producción.tienen un gran volumen de producción.
–– Siempre queda un porcentaje de celdas sin usar.Siempre queda un porcentaje de celdas sin usar.
Arrays Predifundidos
26
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
GateGate arrayarray–– Cada celda está formada por un pequeño número de transistores cuCada celda está formada por un pequeño número de transistores cuyo yo
interconexionadointerconexionado local determina su función (este local determina su función (este interconexionadointerconexionado local local puede o no estar prefabricado).puede o no estar prefabricado).
–– Las celdas se disponen en filas dejando entre un espacio libre vLas celdas se disponen en filas dejando entre un espacio libre vertical y/o ertical y/o horizontal de tamaño fijo llamado canal.horizontal de tamaño fijo llamado canal.
–– Las interconexiones entre celdas se trazan por el canal.Las interconexiones entre celdas se trazan por el canal.Sea Sea ofof gatesgates–– Cada celda es un único transistor.Cada celda es un único transistor.–– Las celdas se disponen en filas sin dejar espacio libre entre elLas celdas se disponen en filas sin dejar espacio libre entre ellas.las.–– Las interconexiones se trazan sobre celdas sin utilidad, o usandLas interconexiones se trazan sobre celdas sin utilidad, o usando las propias o las propias
celdas como elemento de interconexión.celdas como elemento de interconexión.
Arrays Predifundidos
27
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Esquema del layoutde un Gate array
GateGate ArraysArrays
Esquema de una celda básicaEsquema de una celda básica
28
EstilosEstilos de diseño de diseño microelectrónicomicroelectrónico
29
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
ArraysArrays de celdas. Metalizaciónde celdas. Metalización
pppnn n n n n
G G G
a b c
30
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
ArraysArrays de celdas. Metalización. Transistores en seriede celdas. Metalización. Transistores en serie
pppnn n n n n
G G G
a b c0v 5v
31
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
ArraysArrays de celdas. Metalización. Transistores en paralelode celdas. Metalización. Transistores en paralelo
pppnn n n n n
G G Ga b c
0v 5v
32
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Posibles configuraciones después de la metalizaciónPosibles configuraciones después de la metalización
4-in
put N
OR
x0 x1
10 xxy +=
puerta NOR de 2 entradas
10 xxy ⋅=
VDD
GND
polysilicon
metal
posiblecontacto
In 1 In 2 In 3 In4
Out
33
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Posibles configuraciones después de la metalizaciónPosibles configuraciones después de la metalización
x0 x1
puerta NOR de 2 entradas
10 xxy ⋅=
10 xxy +=x0x0
x1x1YY
34
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
PUERTAPUERTANANDNAND
x0 x2
2*10 xxxy ∗=
210 xxxy ++=
x1x1x0x0
x2x2YY
x1
35
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
LSI Logic LEA300K (0.6 mm CMOS)
Random Logic
MemorySubsystem
esquema del layoutde un Sea of Gates
Sea Sea ofof GatesGates
36
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Circuitos prefabricados con funcionalidad programable: Circuitos prefabricados con funcionalidad programable: PLA, PLA, PROM, PAL, CPLD, FPGAPROM, PAL, CPLD, FPGAPLA (PLA (ArrayArray Lógico Programable)Lógico Programable)–– Un Un arrayarray de celdas AND programable (colección de de celdas AND programable (colección de mintérminosmintérminos
programable)programable)–– Un Un arrayarray de puertas OR programable (se pueden de puertas OR programable (se pueden reusarreusar términos)términos)
PAL (Lógica de PAL (Lógica de ArrayArray Programable)Programable)–– Un Un arrayarray de celdas AND programable (colección de de celdas AND programable (colección de mintérminosmintérminos
programable)programable)–– Un Un arrayarray de puertas OR no programablede puertas OR no programable
PROM (Memoria Programable de sólo Lectura)PROM (Memoria Programable de sólo Lectura)–– Un Un arrayarray de celdas AND no programable (están todos los de celdas AND no programable (están todos los mintérminosmintérminos))–– Un Un arrayarray de puertas OR programablede puertas OR programable
Arrays Precableados
37
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
PLA
PROM
PAL
CPLD
38
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
CPLD (Dispositivo de Lógica Programable Complejo)CPLD (Dispositivo de Lógica Programable Complejo)–– Se basa en la idea de las PLA pero a gran escala y con lógica adSe basa en la idea de las PLA pero a gran escala y con lógica adicionalicional
FPGA (FPGA (ArrayArray de puertas programable en laboratorio)de puertas programable en laboratorio)–– Un Un arrayarray de celdas regularmente dispuestas sobre el silicio cuya de celdas regularmente dispuestas sobre el silicio cuya
funcionalidad es programable, denominados funcionalidad es programable, denominados CLBsCLBs..–– Una colección de celdas de entrada/salida dispuestas perimetralmUna colección de celdas de entrada/salida dispuestas perimetralmente ente
cuyas características son programables, denominados cuyas características son programables, denominados IOBsIOBs–– Una colección de bloques de interconexión (Una colección de bloques de interconexión (PSMPSM), que bajo ), que bajo
programación permiten conectar programación permiten conectar CLBsCLBs e e IOBsIOBs entre sí.entre sí.–– CaracterísticasCaracterísticas::
El diseño físico y la fabricación es independiente del diseño paEl diseño físico y la fabricación es independiente del diseño particular.rticular.Diseños complejos pueden no caber en una FPGA.Diseños complejos pueden no caber en una FPGA.
39
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Xilinx XC4025
FPGAsFPGAs
40
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
41
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
CLB CLB
CLBCLB
matriz de conmutación
Canal de rutadohorizontal
Canal de rutado vertical
punto de interconexión
PSMPSM
42
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Estructura de un CLB Estructura de una LUT
43
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Metodología de diseñoMetodología de diseño para FPGA:para FPGA:–– Los diseños no se fabrican, sino que se realizan programando adeLos diseños no se fabrican, sino que se realizan programando adecuadamente cuadamente
los los CLBsCLBs, , IOBsIOBs y bloques de interconexión.y bloques de interconexión.–– Cada bloque almacena su configuración (programa) en una SRAM, EPCada bloque almacena su configuración (programa) en una SRAM, EPROM o ROM o
en en antifusiblesantifusibles. Dependiendo del método de almacenaje el diseño volcado . Dependiendo del método de almacenaje el diseño volcado sobre la FPGA será o no volátil.sobre la FPGA será o no volátil.
–– Funcionalmente las celdas son complejas y su grado de complejidaFuncionalmente las celdas son complejas y su grado de complejidad se d se denomina denomina granularidadgranularidad::
GranularidadGranularidad finafina ((FPGAsFPGAs): cualquier función de conmutación de 4~6 ): cualquier función de conmutación de 4~6 variables y varios variables y varios FFsFFs..GranularidadGranularidad gruesagruesa ((FIPSOCsFIPSOCs, sistemas , sistemas reconfigurablesreconfigurables): ): ALUsALUs y y varios registros. varios registros.
44
Estilos de diseño Estilos de diseño microelectrónicomicroelectró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
45
Estilos de diseño Estilos de diseño microelectrónicomicroelectrónico
Dentro del diseño VLSI existen múltiples procesos Dentro del diseño VLSI existen múltiples procesos tecnológicos nacidos para hacer frente, junto a los estilos de tecnológicos nacidos para hacer frente, junto a los estilos de diseño, a las diferentes necesidades de un producto: diseño, a las diferentes necesidades de un producto:
–– velocidad, velocidad, –– consumo, consumo, –– complejidad de diseñocomplejidad de diseño ⌦ En la actualidad las más comunes son:
nMOS: velocidad media, consumo altoCMOS: velocidad media, consumo bajoBiCMOS: velocidad alta, consumo altoECL: velocidad alta, consumo muy altoGaAs: velocidad muy alta, consumo alto, dificultad de integración
46
Tema 1. Tecnologías de diseño Tema 1. Tecnologías de diseño microelectrónicomicroelectrónico
–– 1.1 1.1 IntroducciónIntroducción–– 1.2 1.2 EstilosEstilos de de diseñodiseño microelectrónicomicroelectrónico
DiseñoDiseño fullfull––custom. custom. DiseñoDiseño semisemi––custom:, standard cells, gatecustom:, standard cells, gate––arrays, arrays, FPGAsFPGAs, ,
–– 1.3 Ciclo de producción de un circuito integrado1.3 Ciclo de producción de un circuito integradoFabricación de un circuito integradoFabricación de un circuito integradoNiveles y dominios de descripciónNiveles y dominios de descripción
47
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
Conceptualización
Especificación
Validación Refinamiento
Diseño
Validación Optimización
Fabricaciónprototipo
Encapsulado
Testeo
Evaluación
Fabricaciónmasiva
Encapsulado
Testeo
48
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
ConceptualizaciónConceptualización: a partir de un concepto, concreción de los requisitos : a partir de un concepto, concreción de los requisitos funcionales y no funcionales del circuito que va a implementarlofuncionales y no funcionales del circuito que va a implementarlo..Especificación o modeladoEspecificación o modelado: formalización de los anteriores requisitos : formalización de los anteriores requisitos en una representación uniforme y procesable por máquina.en una representación uniforme y procesable por máquina.Validación de modelosValidación de modelos: comprobación de que se ha especificado : comprobación de que se ha especificado correctamente el concepto.correctamente el concepto.Refinamiento del modeloRefinamiento del modelo: mejora de la calidad de una especificación.: mejora de la calidad de una especificación.Diseño o síntesisDiseño o síntesis: transformación de la especificación en una : transformación de la especificación en una implementación.implementación.OptimizaciónOptimización: mejora de la calidad de una implementación.: mejora de la calidad de una implementación.Validación de implementaciónValidación de implementación: comprobación de que se ha sintetizado : comprobación de que se ha sintetizado correctamente la especificación (de aspectos funcionales y no correctamente la especificación (de aspectos funcionales y no funcionales).funcionales).
49
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
Fabricación:– preparación de la oblea (10 cm de diámetro).– deposición, implantación y difusión de materiales en la oblea según las
máscaras resultado del proceso de síntesis física.Encapsulado: – cortado de la oblea en dados (dies).– descartado de dados defectuosos por imperfecciones del substrato.– encapsulado del dado en un soporte plástico o cerámico.– soldado de los pads del dado con la patillas del chip.– sellado del chip.
Validación de la producción o testeo: comprobación que se ha fabricado correctamente la implementación (de aspectos funcionales y no funcionales).
50
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
Fabricación de un circuito integradoFabricación de un circuito integrado
51
Sección de un transistor
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
52
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
Sección de una interconexión
53
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
Oblea fabricada
Vista al microscropio electrónicode una porción de circuito integrado
54
Tema 1. Tecnologías de diseño Tema 1. Tecnologías de diseño microelectrónicomicroelectrónico
–– 1.1 1.1 IntroducciónIntroducción–– 1.2 1.2 EstilosEstilos de de diseñodiseño microelectrónicomicroelectrónico
DiseñoDiseño fullfull––custom. custom. DiseñoDiseño semisemi––custom: gatecustom: gate––arrays, standard cells, arrays, standard cells, FPGAsFPGAs, , SOCsSOCs..
–– 1.3 Ciclo de producción de un circuito integrado1.3 Ciclo de producción de un circuito integradoFabricación de un circuito integradoFabricación de un circuito integradoNiveles y dominios de descripciónNiveles y dominios de descripción
55
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
funciones de transferencia, formas de ondaexpresiones de conmutación, FSMs
transferencias entre registrosISAs, algoritmos
transistorespuertas, flip-flops
ALU, MUX, registrosCPUs, subsistemas
póligonos, líneas
máscaras
celdas
nivel circuital
nivel lógico
nivel RT
nivel algorítmico
nivel sistema
dominioconductual
dominioestructural
dominiofísico
floorplan
Niveles y dominios de descripciónNiveles y dominios de descripción
Dominio conductualDominio conductual: un : un sistema es descrito por la sistema es descrito por la función que realiza.función que realiza.Domino estructuralDomino estructural: un : un sistema es descrito por la sistema es descrito por la interconexión de los interconexión de los módulos que lo forman módulos que lo forman ((netlistnetlist o esquemático).o esquemático).Domino físicoDomino físico: un sistema : un sistema es descrito por la ubicación es descrito por la ubicación espacial y propiedades de espacial y propiedades de los elementos reales que lo los elementos reales que lo constituyen.constituyen.
56
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
El nivel de detalle con que se realice cualquiera de las anterioEl nivel de detalle con que se realice cualquiera de las anteriores descripciones, se res descripciones, se denomina denomina nivel de abstracciónnivel de abstracción::
–– Nivel de circuito o de transistorNivel de circuito o de transistor: el tiempo es continuo, las variables son : el tiempo es continuo, las variables son magnitudes físicas continuas, no existen por separado las nocionmagnitudes físicas continuas, no existen por separado las nociones es alimentación y computación. alimentación y computación.
–– Nivel lógico o de puertasNivel lógico o de puertas: el tiempo es continuo, las variables toman valores : el tiempo es continuo, las variables toman valores booleanosbooleanos (0 ó 1), la alimentación se abstrae permaneciendo la noción de (0 ó 1), la alimentación se abstrae permaneciendo la noción de computación.computación.
–– Nivel RTNivel RT: el tiempo es discreto, las variables se agrupan en palabras qu: el tiempo es discreto, las variables se agrupan en palabras que e toman valores discretos. En la noción de computación se distingutoman valores discretos. En la noción de computación se distinguen las en las nociones de control y procesamiento de datos.nociones de control y procesamiento de datos.
–– Nivel algorítmicoNivel algorítmico: el tiempo desaparece apareciendo la noción de : el tiempo desaparece apareciendo la noción de dependencia, las variables se agrupan en estructuras abstractas,dependencia, las variables se agrupan en estructuras abstractas, el control está el control está estructurado.estructurado.
–– Nivel sistemaNivel sistema: desparecen los detalles de los cálculos concretos e interesan : desparecen los detalles de los cálculos concretos e interesan las las relaciones abstractas entre entre subsistemas, aparecen nocionesrelaciones abstractas entre entre subsistemas, aparecen nociones de de sincronización y protocolo.sincronización y protocolo.
57
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
AsímismoAsímismo cada nivel de abstracción tiene sus propias medidas de cada nivel de abstracción tiene sus propias medidas de calidad:calidad:
–– Nivel de circuito o de transistorNivel de circuito o de transistor: tiempos de subida/bajada, : tiempos de subida/bajada, pendientes de transición, área real. pendientes de transición, área real.
–– Nivel lógicoNivel lógico: tiempos de conmutación, incertidumbre, : tiempos de conmutación, incertidumbre, skewskew, área , área equivalente.equivalente.
–– Nivel RTNivel RT: tiempo de ciclo, margen, puertas equivalentes.: tiempo de ciclo, margen, puertas equivalentes.
–– Nivel algorítmicoNivel algorítmico: latencia, cadencia de datos, número de módulos.: latencia, cadencia de datos, número de módulos.
–– Nivel sistemaNivel sistema: ancho de banda, MFLOPS.: ancho de banda, MFLOPS.
58
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
dominioconductual
dominioestructural
dominiofísico
Síntesis
Análisis
Generación
Extracción
RefinamientoAbstracción
Optimización
59
Ciclo de producción de un circuito Ciclo de producción de un circuito integradointegrado
Las transiciones entre cada uno de los dominios y niveles de absLas transiciones entre cada uno de los dominios y niveles de abstracción tienen los tracción tienen los siguientes nombres:siguientes nombres:–– SíntesisSíntesis: todo proceso que genere una : todo proceso que genere una netlistnetlist a partir una descripción de su a partir una descripción de su
conducta (transición del dominio conductual al estructural).conducta (transición del dominio conductual al estructural).–– AnálisisAnálisis: todo proceso que permita obtener la conducta de una : todo proceso que permita obtener la conducta de una netlistnetlist
(transición del dominio estructural al conductual).(transición del dominio estructural al conductual).–– OptimizaciónOptimización: todo proceso que modifique una descripción, sin cambiar de : todo proceso que modifique una descripción, sin cambiar de
dominio ni de nivel de abstracción de manera que presente un rendominio ni de nivel de abstracción de manera que presente un rendimiento dimiento distinto.distinto.
–– GeneraciónGeneración: todo proceso que genere una estructura física a partir de una : todo proceso que genere una estructura física a partir de una netlistnetlist (transición del dominio estructural al físico).(transición del dominio estructural al físico).
–– ExtracciónExtracción: todo proceso que permita obtener la : todo proceso que permita obtener la netlistnetlist de una estructura de una estructura física (transición del dominio físico al estructural).física (transición del dominio físico al estructural).
–– RefinamientoRefinamiento: todo proceso que disminuya el nivel de abstracción de una : todo proceso que disminuya el nivel de abstracción de una descripción sin cambiar de dominio.descripción sin cambiar de dominio.
–– AbstracciónAbstracción: todo proceso que aumente el nivel de abstracción de una : todo proceso que aumente el nivel de abstracción de una descripción sin cambiar de dominio.descripción sin cambiar de dominio.