Infome - Escuela de Ingeniería Eléctrica

Transcrição

Infome - Escuela de Ingeniería Eléctrica
Universidad de Costa Rica
Facultad de Ingeniería
Escuela de Ingeniería Eléctrica
IE – 0502 Proyecto Eléctrico
LABORATORIOS DE MICRO-ELECTRONICA
Por:
LORIANA SANABRIA SANCHO
Ciudad Universitaria Rodrigo Facio
Julio del 2012
LABORATORIO DE MICRO-ELECTRONICA
Por:
LORIANA SANABRIA SANCHO
Sometido a la Escuela de Ingeniería Eléctrica
de la Facultad de Ingeniería
de la Universidad de Costa Rica
como requisito parcial para optar por el grado de:
BACHILLER EN INGENIERÍA ELÉCTRICA
Aprobado por el Tribunal:
_________________________________
Ing. Ing. Enrique Coen Alfaro
Profesor Guía
_________________________________
Ing. Monry Porras Altamirano
Lector
_________________________________
Ing. Lochi Yu Lo
Profesor lector
ii
DEDICATORIA
A mis padres
iii
RECONOCIMIENTOS
A Enrique Coen, Monry Porras y Brett Newkirk por toda la ayuda, ideas y
retroalimentación para este proyecto.
iv
ÍNDICE GENERAL
1.CAPÍTULO 1: Introducción ....................................................................... 19
1.1.
Objetivos ............................................................................................. 20
1.1.1.
Objetivo general ........................................................................... 20
1.1.2.
Objetivos específicos .................................................................... 20
1.2.
Metodología ........................................................................................ 21
2.CAPITULO 2: Desarrollo teórico ............................................................... 22
2.1.
Flujo de diseño .................................................................................... 22
2.2.
Layout ................................................................................................. 25
2.3.
DRC y ERC ........................................................................................ 27
2.4.
Modelo para el transistores MOSFET ................................................. 29
2.4.1.
2.5.
Regiones de operación .................................................................. 30
Simulación de circuitos ....................................................................... 32
2.5.1. SPICE .................................................................................................. 34
3.CAPÍTULO 3: Herramientas y Proceso ...................................................... 36
3.1. Herramienta de diseño de VLSI .............................................................. 36
3.1.1. Electric ................................................................................................ 37
v
3.1.2. Magic .................................................................................................. 42
3.2. Elección de la herramienta ..................................................................... 44
3.3. Herramientas para las Simulaciones ....................................................... 46
3.4. Selección del proceso de fabricación ...................................................... 48
4.CAPITULO4: Laboratorios ........................................................................ 49
4.1.
Visión inicial de los laboratorios ......................................................... 49
4.2.
LABORATORIO N°0: INTRODUCCIÓN A ELECTRIC .................. 53
4.2.1.
Objetivos del laboratorio .............................................................. 53
4.2.2.
Resultados Esperados ................................................................... 53
4.3.
4.3.1.
Laboratorio N°1 : Creación y Simulación de inversor ........................ 55
Objetivos del laboratorio .............................................................. 55
4.3.2.Curva de transición del inversor ........................................................... 55
4.3.3.Potencia dinámica del inversor ............................................................. 58
4.3.4.
Tiempo de ascenso y caída ........................................................... 59
4.3.5.
Ruido ............................................................................................ 60
4.4.
4.4.1.
Laboratorio N°2: Creación de compuertas básicas .............................. 61
Objetivos del laboratorio .............................................................. 61
vi
4.4.2.
Curvas VTC.................................................................................. 62
4.4.3.
Comparación entre las compuertas ............................................... 65
4.4.4.
Compuertas complejas .................................................................. 66
4.4.5.
Potencia ........................................................................................ 67
4.5.
Laboratorio N°3: Compuertas de paso ................................................. 67
4.5.1.
Objetivos del laboratorio .............................................................. 67
4.5.2.
Compuertas de Paso...................................................................... 68
4.5.3.
Muxes ........................................................................................... 70
4.5.4.
Latches y Flip-Flops ..................................................................... 70
4.6.
Laboratorio N°4: Lógica dinámica ...................................................... 72
4.6.1.
Objetivos del laboratorio .............................................................. 72
4.6.2.
Lógica dinámica ........................................................................... 72
4.6.3.
Lógica domino .............................................................................. 75
4.6.4.
Keepers en la lógica dinámica ...................................................... 76
4.6.5.
Fenómeno de “Charge Sharing” ................................................... 77
4.7.
Laboratorio 5: Lógica combinacional y algoritmos de placement ........ 80
4.7.1.
Objetivos del laboratorio .............................................................. 80
4.7.2.
Algoritmos Min-cut y force direted .............................................. 80
vii
4.7.3.
Construcción y simulación de un sumador .................................... 81
5.CAPITULO 5: Conclusiones y recomendaciones ....................................... 82
5.1.
Conclusiones ....................................................................................... 82
5.2 Recomendaciones .................................................................................... 83
BIBLIOGRAFÍA .......................................................................................... 84
6.CAPITULO 6: Apéndices .......................................................................... 86
APENDICE A) Manual para el Laboratorio N°0: Introducción a Electric ..... 86
APENDICE B) Manual para el laboratorio N°1: Creación y simulación de un
inversor ......................................................................................................... 90
APENDICE C) Manual para el laboratorio N°3: Creación de compuertas
básicas para la librería ................................................................................... 99
APENDICE D) MANUAL PARA EL LABORATORIO N° 3:
COMPUERTAS DE PASO ......................................................................... 107
APENDICE E) MANUAL PARA EL LABORATORIO N°4:
COMPUERTAS DINÁMICAS ................................................................... 116
APENDICE F) MANUAL PARA EL LABORATORIO N°5: LÓGICA
COMBINACIONAL Y ALGORITMOS DE PLACEMENT ...................... 124
viii
APENDICE G) TUTORIAL DE LABORATORIO .................................... 127
Electric: ....................................................................................................... 127
¿Cómo crear una celda? .............................................................................. 127
Creación de la una librería y nueva celda .................................................... 127
Esquemático ................................................................................................ 128
Ícono ........................................................................................................... 131
Layout ......................................................................................................... 132
¿Cómo preparar la simulación en Spice? ..................................................... 149
¿Cómo colocar y conectar celdas en electric? .............................................. 155
LTSPICE..................................................................................................... 158
Como simular en LTSPICE? ....................................................................... 158
Código de Spice .......................................................................................... 162
Notas teóricas .............................................................................................. 163
ix
ÍNDICE DE FIGURAS
Figura 2.1 Layout inversor (Tomada de CMOS_VLSI_DESIGN) .................................... 26
Figura 2.2 Ejemplo de reglas de diseño............................................................................. 28
Figura 2.3 Transistor Nmos .............................................................................................. 29
Figura 2.4 Curva característica transistor Nmos ................................................................ 32
Figura 2.5 Rendimiento de la simulación .......................................................................... 33
Figura 3.1.Interfaz grafica de Electric ............................................................................... 37
Figura 3.2. Panel de componentes Para el layout .............................................................. 38
Figura 3.3. Violación de las reglas de diseño .................................................................... 39
Figura 3.4. Comparación del layout y el esquemático de un Mux 2:1 ................................ 40
Figura 3.5.Interfaz de Magic ............................................................................................. 42
Figura 3.6. Magic DRC .................................................................................................... 43
Figura 3.7 Interfaz de LVSpice ......................................................................................... 47
Figura 4.1. Laboratorio N°0: Curvas de corriente vrs voltaje para un transistor PMOS ..... 54
Figura 4.2.Laboratorio N°0: Curvas de corriente vrs voltaje para un transistor NMOS...... 54
Figura 4.3. Curva VO vrs VIN para distintos transistores.................................................. 58
Figura 4.4.Tiempo de asenso y caída para el inversor ....................................................... 60
Figura 4.5.Influencia de la pendiente de la señal de entrada en el tiempo de asenso y caída
......................................................................................................................................... 60
Figura 4.6. Curva VTC Transición i compuerta NAND .................................................... 63
Figura 4.7.Curva VTC Transición ii compuerta NAND .................................................... 64
x
Figura 4.8.Curva VTC Transición iii compuerta NAND ................................................... 64
Figura 4.9. Simulación compuerta de paso ........................................................................ 68
Figura 4.10 Medición del tiempo de setup para el lacht-D ................................................ 71
Figura 4.11. Simulación de la compuerta NAND dinámica con el transistor de pie ........... 74
Figura 4.12. Cascada de compuertas AND domino ........................................................... 76
Figura 4.13. Esquemático NAND dinámica ...................................................................... 78
Figura 4.14. Simulación del fenómeno de "Charge Sharing" ............................................. 79
Figura 6.1 Laboratorio 0: Transistor NMOS ..................................................................... 87
Figura 6.2. Laboratorio 0:Transistor NMOS con terminales .............................................. 88
Figura 6.3.Transistor PMOS ............................................................................................. 88
Figura 6.4. Laboratorio 0: Ids vrs Vds PMOS ................................................................... 89
Figura 6.5. Laboratorio 0: Ids vrs Vds NMOS .................................................................. 89
Figura 6.6. Laboratorio1: Esquemático para el inversor .................................................... 91
Figura 6.7 Laboratorio 1: Layout para el inversor ............................................................. 92
Figura 6.8. Laboratorio 1: Vista en 3D para el inversor..................................................... 92
Figura 6.9. Laboratorio 1: Layout para las distintas versiones del inversor ........................ 93
Figura 6.10. Laboratorio 1: VTC inversor ......................................................................... 94
Figura 6.11. Laboratorio 1: tiempos de ascenso y caída .................................................... 97
Figura 6.12. Laboratorio 1: Slope de entrada .................................................................... 97
Figura 6.13. Laboratorio 1: Simulación de Ruido.............................................................. 98
xi
Figura 6.14 . Laboratorio 2: NAND3 .............................................................................. 100
Figura 6.15. Laboratorio 2: Transición de 1 a 4 .............................................................. 101
Figura 6.16.Laboratorio 2: Transición de 2 a 4 ............................................................... 102
Figura 6.17.Transición de 3 a 4....................................................................................... 102
Figura 6.18.Laboratorio 2: Compuerta AOI .................................................................... 105
Figura 6.19. Laboratorio 2: Compuerta OAI ................................................................... 105
Figura 6.20.Laboratorio 3: Compuerta de paso: Icono y esquemático ............................. 108
Figura 6.21.Laboratorio 3: Compuerta de paso: Layout .................................................. 108
Figura 6.22. Laboratorio 3: Compuerta de paso .............................................................. 109
Figura 6.23. Laboratorio 3: Transistor de paso ............................................................... 110
Figura 6.24. Laboratorio 3: Variación en el voltaje de umbral......................................... 111
Figura 6.25. Laboratorio 3: Mux2:1 Ícono ...................................................................... 111
Figura 6.26. Laboratorio 3: Mux2:1 layout ..................................................................... 112
Figura 6.27. Laboratorio 3: Mux2:1 NAND .................................................................... 112
Figura 6.28. Laboratorio 3: Latch layout ........................................................................ 113
Figura 6.29. Laboratorio 3: Simulación Latch fase positiva ............................................ 114
Figura 6.30. Laboratorio 3: Tiempo de setup .................................................................. 115
Figura 6.31. Laboratorio 4: NAND Dinámica ................................................................ 117
Figura 6.32. Laboratorio 4: Etapa de precarga y evaluación ............................................ 117
Figura 6.33. Laboratorio 4: NAND dinámica con transistor de pie .................................. 118
xii
Figura 6.34.Laboratorio 4: Simulación de inversores dínamicos en cadena ..................... 119
Figura 6.35. Laboratorio 4: AND de lógica domino ........................................................ 120
Figura 6.36. Laboratorio 4: Compuerta and de lógica dómino ......................................... 120
Figura 6.37. Laboratorio 4: Nodo dinámico de la compuerta NAND............................... 121
Figura 6.38. Laboratorio 4: Charge sharing ..................................................................... 122
Figura 6.39. Laboratorio 4: Técnicas para evitar el charge sharing ................................. 123
Figura 6.40. Laboratorio 5: Algoritmos de "placement" ................................................. 125
Figura 6.41. Nueva librería ............................................................................................. 127
Figura 6.42. Nueva celda ................................................................................................ 128
Figura 6.43.Ventana de componentes de la Librería ........................................................ 129
Figura 6.44. Esquemático del inversor ............................................................................ 130
Figura 6.45.Seleccionando la entrada.............................................................................. 131
Figura 6.46. Celda del inversor ....................................................................................... 132
Figura 6.47.Tecnología mocmos ..................................................................................... 133
Figura 6.48.Trasistor Nmos ............................................................................................ 135
Figura 6.49.Propiedades del transistor ............................................................................ 136
Figura 6.50. Estableciendo el modelo de Spice ............................................................... 136
Figura 6.51.Cambiando el modelo a PMOS .................................................................... 137
Figura 6.52.Modelo de Spice transistor NMOS............................................................... 137
Figura 6.53. Inversor: conexión PMOS y NMOS ............................................................ 138
xiii
Figura 6.54.Inversor: contactos....................................................................................... 139
Figura 6.55.DRC ............................................................................................................ 140
Figura 6.56.Inversor: líneas de Vcc y Vss ....................................................................... 141
Figura 6.57. Inversor: Vss y Vcc .................................................................................... 142
Figura 6.58. Inversor ...................................................................................................... 143
Figura 6.59.Inversor: taps ............................................................................................... 144
Figura 6.60. Inversor contactos de entrada y salida ......................................................... 145
Figura 6.61.Inversor: exportando la entrada .................................................................... 146
Figura 6.62.Preferencias para NCC................................................................................. 147
Figura 6.63. LVS ............................................................................................................ 148
Figura 6.64. Mensajes de la herramienta NCC ................................................................ 148
Figura 6.65.Diferencia reportadas por NCC .................................................................... 149
Figura 6.66. File/Preferences/Tools/Spice ....................................................................... 150
Figura 6.67. Nueva versión de la celda para simulación .................................................. 151
Figura 6.68. Nueva celda para simulación....................................................................... 152
Figura 6.69.Conexiones y nombres para la simulación .................................................... 153
Figura 6.70. Celda lista para la simulación...................................................................... 155
Figura 6.71. Herramienta "Placement" ............................................................................ 156
Figura 6.72.Unrouted Arcs ............................................................................................. 157
Figura 6.73.Unrouted Arcs ............................................................................................. 157
xiv
Figura 6.74.Archivo .spi en LTspice ............................................................................... 158
Figura 6.75.Selección de las señales ............................................................................... 159
Figura 6.76.Curva característica del inversor .................................................................. 159
Figura 6.77. Como agregar ventanas para graficar .......................................................... 160
Figura 6.78. Dos ventanas de gráficos ............................................................................ 161
Figura 6.79. Opciones de zoom ...................................................................................... 161
Figura 6.80.Pendiente ..................................................................................................... 163
xv
ÍNDICE DE TABLAS
Tabla 3.1. Comparación entre Magic y Electric ................................................................ 45
Tabla 4.1. Dimensionamiento de los inversores para el Laboratorio 1 ............................... 55
Tabla 4.2. Dimensionamiento para las compuertas nand y nor ......................................... 62
Tabla 4.3 Transiciones para la compuerta nand2 ............................................................... 62
Tabla 4.4 Transiciones para la compuerta nor2 ................................................................. 63
Tabla 4.5.Dimensiones para la compuerta de paso ............................................................ 68
Tabla 6.1.Laboratorio 2: NAND 2 .................................................................................. 101
Tabla 6.2.Laboratorio 2: Tiempos de asenso y caída con una carga de FO4 .................... 104
Tabla 6.3. Laboratorio 2: Tiempos de asenso y caída con una carga de FO4 ................... 104
xvi
NOMENCLATURA
DRC
Design Rule Checker
ERC
Electrical Rule Checker
LVS
Layout Versus Squematic
RTL
Register Transfer Level
TLM
Transfer Level Model
VLSI
Very Large Scaled Integration
xvii
RESUMEN
El presente proyecto se desarrolló, para incorporar al curso de micro-electrónica,
una parte práctica que permitiera consolidar los conocimientos adquiridos por los
estudiantes durante el curso teórico.
A lo largo del semestre se escogieron las herramientas a usar en laboratorio y se
definieron los temas a tratar siendo el resultado final seis laboratorios y su tutorial.
A lo largo de los laboratorios se dirige el aprendizaje del alumno, desde ciertas
generalidades, hasta puntos más específicos. Los laboratorios cubren diversos temas
entre ellos: zonas de operación del inversor, tiempos de asenso y caída para señales,
simulación de compuertas de paso, lógica dinámica y algoritmos de colocación de
celdas.
El tutorial incluye toda la información necesaria sobre cómo construir celdas y
cómo realizar simulaciones en las herramientas escogidas para desarrollar el
laboratorio que fueron: Electric y LTSPICE.
xviii
1. CAPÍTULO 1: Introducción
Gran parte de los avances en los sistemas y aparatos electrónicos son resultado
directo de la tecnología VLSI. Cada día se busca construir circuitos más pequeños, más
veloces y con menor consumo de potencia. Sin embargo, existe un compromiso entre
la disipación de potencia y la velocidad en un circuito. Si tratamos de optimizar el uno,
el otro se ve afectado y la elección entre los dos depende del objetivo de diseño del
circuito.
El diseño de circuitos digitales va más allá del aspecto funcional. Con este
proyecto se pretende poner en práctica, por medio de laboratorios, conceptos básicos
relacionados con el diseño de circuitos, de forma que los estudiantes logren una
introducción al mundo del diseño de circuitos integrados.
En este contexto, los
estudiantes deberán reconocer implicaciones físicas, pensar en área, tiempo, consumo
de potencia y consideraciones de “layout”.
Los primeros laboratorios se enfocarán en simulaciones de compuertas sencillas
donde se logre comprender el impacto del dimensionamiento de transistores en la
respuesta del circuito. Conforme se avance en los laboratorios y se construyan circuitos
más complejos, entrarán en juego factores como colocación (placement), enrutamiento
(routing) y dimensionamiento de celdas.
19
1.1. Objetivos
1.1.1.
Objetivo general
Crear un laboratorio para el curso de Microelectrónica que permita introducir a
los estudiantes al mundo del diseño de
circuitos integrados consolidando el
conocimiento adquirido en las clases teóricas por medio de laboratorios.
1.1.2.
Objetivos específicos
∙ Diseñar una serie de experimentos de laboratorio para el curso de Microelectrónica
∙ Evaluar y elegir las herramientas para el laboratorio.
∙ Preparar un manual de prácticas de laboratorio.
∙Crear un tutorial para las prácticas de laboratorio.
20
1.2. Metodología
Para concretar los objetivos de este proyecto se procedió en tres etapas:
1.
Elección de Herramientas de laboratorio:
Como punto de partida se realizó una investigación sobre herramientas de diseño
de VLSI de código abierto, que cumplieran con las siguientes características básicas:
diseño lógico, diseño de circuitos esquemáticos, generación de layout y verificación de
diseño. Además se desarrolló una investigación con herramientas de simulación
compatibles con las herramientas de diseño
2.
Planificación de los Laboratorios:
Se especificaron los laboratorios a realizar, así como los objetivos que debía
cumplir cada experimento, de forma que se lograra poner en práctica los conceptos
teóricos. Se consultó con el profesor del curso de teoría y se investigó en internet sobre
laboratorios de VLSI realizados en otras universidades.
3.
Creación de los experimentos laboratorios y material de apoyo:
Se especificó en detalle cada uno de los ejercicios a realizar en los laboratorios y
se elaboró un material de apoyo que incluye temas como el uso de las herramientas y
los conceptos clave para el desarrollo de cada laboratorio.
21
2. CAPITULO 2: Desarrollo teórico
Es importante establecer en qué contexto se desarrolla este laboratorio y para
esto es necesario entender el flujo de diseño de los circuitos integrados. Cómo se
modelan los circuitos,
qué tipos de herramientas se necesitan y otros conceptos
relacionados con la tecnología de fabricación.
2.1. Flujo de diseño
Cuando se introdujeron por primera vez los circuitos integrados, los paquetes
lógicos se limitaban a unos pocos transistores. Sin embargo, hoy en día, debido a
incrementos exponenciales en la densidad de los circuitos, en un solo chip se puede
encontrar millones de transistores. Para lograr esto, las técnicas de diseño y las
tecnologías de fabricación han cambiado drásticamente a lo largo de los años.
El diseño inicia con una especificación textual del chip, con un alto nivel de
abstracción. Se especifica, por ejemplo, qué funciones o características debe tener el
circuito integrado, cuáles son las metas de mercado del producto y otras
consideraciones generales del diseño. Por ejemplo, en la actualidad, con la gran
cantidad de dispositivos móviles, una meta clara desde la concepción del chip puede
ser alcanzar un bajo consumo de potencia.
22
Para simplificar el problema de diseño de un circuito integrado complejo,
normalmente
se divide el diseño completo en bloques funcionales más pequeños y
manejables. La clave está en dividir el proyecto general en problemas más pequeños y
específicos que puedan ser resueltos de manera más simple. Usualmente, los distintos
bloques funcionales se asignan a distintos diseñadores y verificadores que trabajan en
paralelo. Asimismo, hay un grupo de diseñadores y verificadores encargados de unir
los bloques funcionales individuales para formar el sistema completo.
Los diseñadores lógicos escriben descripciones
de RTL de cada bloque y
simulan estos modelos hasta que sean funcionalmente correctos. Basados en la
complejidad de los bloques en el RTL, los diseñadores estiman el tamaño de cada
bloque y crean un “plano de piso” (floor plan) que muestra la posición relativa de todos
los bloques. Hay muchos algoritmos de colocación y normalmente se requieren varios
de ellos para lograr crear este “plano de piso” del chip. La colocación de los bloques
establece las primeras metas para el diseño físico en términos de área y enrutamiento.
Además permite la estimación de la longitud de las líneas de metal que unen los nodos
del circuito. Es importante tener en cuenta que el enrutamiento del chip se puede
facilitar o complicar dependiendo de la posición relativa de los bloques que lo
23
componen. Por estas razones, es común que en un proyecto se hagan modificaciones
sobre la marcha en el “plano de piso”.
En general, el proceso de diseño de circuitos integrados consiste en realizar
varias iteraciones del flujo de diseño que se describe aquí, realizando modificaciones
que buscan mejorar el desempeño del circuito integrado con cada iteración del flujo de
diseño.
Cuando ya se cuenta con un primer “plano de piso”, se inicia el diseño del
circuito. Hay dos estilos de diseño, el “manual” (custom) y el automatizado. Con el
método manual, el diseñador tiene más flexibilidad para elegir de qué forma va
implementar las funciones y para dimensionar las celdas, y cuando el diseño esta
completo se realiza una verificación formal por equivalencia para comparar el RTL con
el esquemático.
Por otra parte, en el estilo de diseño automatizado se usa herramientas de
síntesis. Se espera que estos circuitos sean correctos por construcción, pues la síntesis
usa el RTL para construir los circuitos, pero para logar cumplir con especificaciones
24
de tiempo y potencia siempre es necesario escribir restricciones para la herramienta de
síntesis.
Conforme se va completando el diseño a nivel lógico y funcional, se trabaja
también en el diseño de “layout”. En esta parte del diseño se utilizan herramientas
como DRC (verificador de reglas de diseño), que busca garantizar que el layout
dibujado se puede construir físicamente, y el LVS que compara el esquemático y el
layout para verificar que sean equivalentes. Cuando ya se cuenta con una parte
significativa del layout, la extracción de capacitancias y resistencias del circuito se
vuelve más precisa, por lo que el modelado de los retardos también se acerca más a la
realidad. En esta etapa, normalmente se hacen necesarios ciertos arreglos para que se
sigan cumpliendo las metas de temporización del diseño. Una vez que el chip ha sido
verificado y que cumple con los requerimientos de área, temporización y consumo de
potencia, el diagrama de layout final se envía a manufactura.
2.2. Layout
Ya se mencionó este concepto, pero es importante explicar con detalle en qué
consiste. El layout representa, básicamente, la implementación física de la lógica.
25
Esencialmente es una representación gráfica que incluye todas las capas de materiales
necesarias para construir cada transistor y sus interconexiones.
Por ejemplo, un
inversor, cuyo diagrama esquemático consiste de dos
transistores, uno tipo P y otro tipo N, se traduce en layout a varias capas de distintos
materiales: óxido se silicio, difusión N, difusión P, poli-silicio y metal 1. La Figura 2.1
muestra una sección transversal de la construcción de un inversor.
Figura 2.1 Layout inversor (Tomada de CMOS_VLSI_DESIGN)
Para fabricar el layout, se construyen las capas del circuito integrado a través de
un proceso llamado fotolitografía. Este proceso consiste en transferir un patrón desde
una máscara a la oblea de silicio para fabricar las capas de cada material de acuerdo a
la distribución representada en el layout.
26
Por ejemplo, para la construcción del
inversor se necesitan seis máscaras: la del pozo n, la del poli-silicio, la difusión n, la
difusión p, los contactos y el metal.
Para diseñar cualquier circuito se necesita entender la implementación física y
cómo interactúan todas las capas que lo forman, pues las consideraciones físicas de
diseño tienen un gran impacto en desempeño y costo.
2.3. DRC y ERC
Existen reglas para garantizar una baja probabilidad de defectos de fabricación,
de forma que la mayoría de circuitos manufacturados funcionen de forma correcta.
Dos conjuntos de reglas muy importantes son las reglas de diseño y las reglas
eléctricas. Las reglas de diseño varían según el proceso de fabricación. Básicamente
especifican las dimensiones geométricas y restricciones de conectividad para asegurar
márgenes suficientes que compensen la variabilidad del proceso de fabricación.
Las reglas de diseño, por ejemplo, son las que especifican el ancho mínimo y
espaciamiento permitido entre las distintas capas de materiales en el circuito y sirven
como directrices para el proceso de fabricación de máscaras. Por ejemplo una regla
para la capa de metal 1 puede ser la que muestra en la Figura 2.2. En este caso se
especifican las dimensiones en términos del factor de escalamiento “lambda”, donde
27
dos veces lambda corresponde al ancho mínimo del canal. Cuando las reglas diseño se
establecen en términos de este factor lambda, se les llama reglas de diseño escalables
Figura 2.2 Ejemplo de reglas de diseño
Las reglas eléctricas, por otra parte, definen parámetros para conexiones que
pueden ser consideradas “peligrosas” para el correcto funcionamiento del circuito. Por
ejemplo, los contactos para los pozos y su espaciamiento.
Las herramientas encargadas de verificar el cumplimiento de estas reglas son el
DRC y el ERC, que por siglas en inglés significan verificador de reglas de diseño y
verificador de reglas eléctricas, respectivamente.
28
2.4. Modelo para el transistores MOSFET
Uno de los dispositivos más usados en el diseño de los circuitos integrados son
los transistores, especialmente los MOSFET.
Los transistores MOSFET conducen corriente eléctrica por medio del voltaje
aplicado para mover cargas de la región de la fuente a la del drenaje. Puesto que el
drenaje y la fuente están separados físicamente, la corriente debajo de la región de la
compuerta solo puede fluir si existe un canal conductor entre las dos regiones.
Figura 2.3 Transistor Nmos
29
2.4.1.
Regiones de operación
Para describir el comportamiento de los transistores MOSFET, consideraremos
uno NMOS, pero todas las conclusiones, son aplicables, de forma análoga, al PMOS.
El potencial
es el que permite crear una capa de cargas debajo del óxido de silicio,
para lograr la inversión del canal. Cuando este voltaje es menor al voltaje de umbral,
no se ha formado el canal y las dos regiones tipo n están eléctricamente separadas, no
existe camino para la corriente entra ellas. Se puede decir que existe un circuito
abierto entre las terminales de la fuente y el drenaje. Mientras esta situación se
mantenga se dice que el transistor está en la región de corte. La siguiente ecuación
define la corriente cuanto el transistor se encuentra en esta región
=0
Cuando el potencial
<
(2.4.1.-1)
es mayor al de umbral se forma una capa de electrones
debajo del óxido de silicio Esta carga forma un canal entre el drenaje y la fuente, lo
que permite el flujo de corriente entre las dos regiones tipo n.
Por otra parte, esta corriente también depende del potencial
de
. Según el valor
esta tensión, el transistor se puede encontrar en la región lineal o en la de
30
saturación. En la región lineal, la corriente
mantiene una relación cuasi-lineal con
y se cumple la siguiente condición.
<
−
→
ó
(2.4.1 -2)
Pero si la diferencia de potencial entre el drenaje y la fuente es mayor a la de la
de la compuerta y la fuente menos el voltaje de umbral, se dice que el transistor está en
la región de saturación.
>
−
→
(2.4.1 -3)
En la región de saturación el canal se deforma y la corriente deja de
depender directamente del potencial
.
La gráfica de la Figura 2.4 caracteriza el comportamiento de tensión y
corriente para el transistor NMOS.
31
Figura 2.4 Curva característica transistor Nmos
2.5. Simulación de circuitos
El proceso de fabricación de un circuito integrado es, a menudo, largo y costoso.
Por esta razón, los diseñadores simulan los circuitos antes de construirlos, para
explorar el diseño y verificar su funcionalidad. El diseño se simula en distintas etapas.
Por ejemplo, primero se verifica
el RTL, luego se realizan simulaciones de
verificación formal de equivalencia (FEV), entre el RTL y los esquemáticos para
comprobar que ambas representaciones cumplan la misma función.
Los esquemáticos luego se verifican contra el layout, utilizando herramientas
conocidas como LVS, que por sus siglas en inglés significa layout versus esquemático,
32
y cuyo propósito es garantizar que ambas representaciones son equivalentes.
Finalmente, se simula el funcionamiento del diseño en layout antes de enviar el
diagrama al proceso de manufactura.
En general, el circuito se simula en varios niveles de abstracción. Se puede
utilizar modelos de bajo nivel como el RTL, o modelos más abstractos como el TLM
(modelo a nivel de transacciones, por sus siglas en inglés). El circuito también se
puede simular a nivel esquemático o nivel de layout.
Los modelos más abstractos
suelen ser más rápidos no solo en tiempo de simulación, sino que suelen ser más
fáciles de escribir y ejecutar. Mientras tanto, entre más detalle se tenga, los resultados
de la simulación serán más precisos, pero a su vez, la simulación será más lenta y
compleja. La Figura 2.5 ilustra esta relación.
Figura 2.5 Rendimiento de la simulación
Los circuitos de VLSI son, en general, complejos, y los transistores reales tienen
un comportamiento diferente al modelo ideal, por lo que la simulación es necesaria
33
para predecir el comportamiento de los circuitos diseñados.
Predecir el
comportamiento de un diseño por métodos analíticos requiere un esfuerzo muy grande
con un retorno sobre inversión muy bajo. Sin embargo, es necesario alcanzar una
buena comprensión de los circuitos para poder analizar los resultados de la simulación
y poder darse cuenta si hay algún error en la simulación, o en el modelo que se está
usando.
2.5.1. SPICE
SPICE es un simulador de circuitos creado en Berkeley en la década de los
setentas. Resuelve ecuaciones diferenciales no lineales, describiendo componentes
como transistores, capacitores, resistencias y fuentes de voltaje.
Por medio de SPICE se puede simular el circuito de muchas formas, por ejemplo
simulaciones AC, el análisis DC y el análisis en el tiempo.
Para la simulación de circuitos de VLSI se incluye un archivo que contiene el
modelo de los transistores y los simula usando modelos con distintos niveles de
abstracción. Por ejemplo, el de nivel 1, que es el más sencillo e incluye fenómenos
como la modulación de longitud de canal y el efecto cuerpo (body effect). También
34
existen los modelos
de nivel 2 y 3 que incluyen efectos como la velocidad de
saturación y degradación de la movilidad
35
3. CAPÍTULO 3: Herramientas y Proceso
El primer paso para la creación del laboratorio y la definición de sus alcances
consistió en definir las herramientas disponibles para su desarrollo. La principal
limitación es que las herramientas debían ser de código abierto. Se necesitaba, por un
lado, una herramienta que permitiera manipular layout y esquemáticos, y por otro, una
que permitiera simular los circuitos.
3.1. Herramienta de diseño de VLSI
La elección adecuada de la herramienta de diseño es crucial para el desarrollo
de cualquier proyecto, con base en el flujo de trabajo típico del diseño de VLSI. Un
buen flujo de diseño de VLSI debe incluir al menos las funcionalidades básicas de
diseño lógico, diseño de circuitos esquemáticos, generación de “layout” y verificación
de diseño.
Se consideraron dos posibles herramientas, Magic y Electric, ambas de código
abierto (open source). Para comparar y elegir entre las posibles herramientas de diseño
se consideraron criterios como:
a) Funciones de automatización, por ejemplo generación de conexiones
b) Herramientas de verificación de las funciones, como DRC y ERC.
c) Accesibilidad a documentos de ayuda, tutoriales y ejemplos
36
d) Dificultad de empleo
e) Dificultad de Instalación.
f) Requerimientos del sistema.
g) Estabilidad
3.1.1. Electric
Electric es una herramienta de código abierto, desarrollado por Steven M. Rubin
a principios de los años ochenta, y su desarrollo es soportado por Sun Microsystems
Laboratories. En la Figura 3.1 se muestra una captura de pantalla de la interfaz de este
programa.
Figura 3.1.Interfaz grafica de Electric
37
Crear un circuito en Electric es muy intuitivo, pues cuenta con un panel con los
diferentes componentes del circuito de forma que tanto para crear el layout o el
esquemático basta con arrastrar al “lienzo” los componentes que se quieran. Las
conexiones se realizan de forma sencilla basta con marcar el origen y el destino de la
conexión sobre el diagrama.
Figura 3.2. Panel de componentes Para el layout
38
Este sistema puede manipular diferentes formas de diseño de circuitos: ASICs,
esquemáticos y especificaciones de descripción de hardware, e incluye un gran número
de funciones de automatización y herramientas de verificación.
Electric cuenta tanto con una herramienta de DRC que es capaz de desplegar
mensajes de error, cuando se detecta una violación a una regla de diseño como con una
herramienta de chequeo de reglas eléctricas ERC. La primera busca errores de
espaciamiento, violación de tamaños mínimos y errores de identación. Mientas que la
de ERC
examina el área de los pozos asegurándose que los contactos y el
espaciamiento sean los adecuados, en la Figura 3.3 se observa como la herramienta
DRC resalta una violación de una regla de diseño en Electric.
Figura 3.3. Violación de las reglas de diseño
39
Otra herramienta de verificación con que cuenta Electric es la Chequeo de
consistencia de la red. Esta herramienta usa el algoritmo "Gemini" para comparar el
esquemático con el layout
y determinar si son equivalentes. En la Figura 3.4 se
muestra el resultado de utilizar la herramienta de LVS, en este ejemplo se señalan
diferencias en el nombre de los puertos de entrada.
Figura 3.4. Comparación del layout y el esquemático de un Mux 2:1
En cuanto a simuladores, Electric es compatible con simuladores que permiten
verificar el funcionamiento de los circuitos como el IRSIM. El IRSIM
es una
herramienta que permite simular circuitos digitales a nivel de funcionalidad, trata a los
transistores como interruptores ideales, extrae capacitancias y resistencias para hacer
la simulación un poco más realista que la ideal, utilizando las constantes de tiempo RC
40
para predecir
el tiempo relativo de los eventos. Por otra parte Electric es también
capaz de generar datos para simuladores como Spice y Verilog.
Electric cuenta además con herramientas para el enrutamiento y la colocación,
para la colocación se puede usar algoritmos como “ForceDirect” o “MinCut” y para el
enrutamiento cuenta con 5 algoritmos. Una gran ventaja es que permite copiar la
topología de enrutamiento de una celda y pegarla en otra, de modo que se puede usar
para copiar el ruteo de una celda en vista de esquemático y usarla para la vista de
layout.
Otra herramienta muy útil de este sistema es la de esfuerzo lógico. Si bien es
cierto las reglas no son tan usadas en la industria, sí representan un primer
acercamiento a lo que es el dimensionamiento de celdas en los circuitos y su efecto en
desempeño final de este. En teoría, esta herramienta permite dimensionar las celdas de
forma óptima para obtener circuitos más rápidos.
41
3.1.2. Magic
Magic es una herramienta de layout creada en los años ochenta en la universidad
de Berkeley, y que es conocida como una herramienta muy fácil de usar. A
continuación en la Figura 3.5 se muestra la interfaz del programa.
Figura 3.5.Interfaz de Magic
Para la construcción de los circuitos se utilizan comandos, por ejemplo para
insertar una difusión se debe conocer que el comando es: paint_pdiff . Desde el punto
de vista de los objetivos del laboratorio, esto es una gran desventaja puesto que
aprender comandos de una herramienta de layout no debería consumir gran parte del
tiempo de laboratorio y se espera que aprender a usar la herramienta no consuma gran
parte del laboratorio.
42
Sin embargo, una ventaja de Magic es que cuenta con una herramienta para la
revisión de las reglas de diseño (DRC) y realiza esta operación de forma automática. Si
detecta un error, Magic informa al usuario de forma inmediata por medio de puntos
blancos en el área que presenta el problema y una vez que este se arregla los puntos
desaparecen
Figura 3.6. Magic DRC
En cuanto a las simulaciones, Magic además cuenta con una función para extraer
la información del layout (extract) que se necesita para las simulaciones de Spice o
IRSIM. La información incluye tamaños Y forma de los transistores, conectividad,
parámetros de resistencia y capacitancia parasita de los nodos. Por otra parte el
simulador IRSIM está incluido en Magic.
Además Magic cuenta con una herramienta de enrutamiento que permite realizar
conexiones entre sub-celdas del diseño
43
Es importante también destacar que Magic no manipula esquemáticos, solo
layout, y desde el punto de vista del laboratorio, es importante contar con la opción de
tener los esquemáticos, primero porque en el flujo de diseño de circuitos integrados es
importante, así se puede construir una librería de celdas estándar, además de introducir
conceptos como LVS que es parte de la verificación del layout.
Normalmente Magic corre sobre plataformas Linux o Unix. Para poder usar
Magic en Windows necesita de Cygwin, pero a pesar de esta aparente dificultad Magic
es muy usado en pequeñas empresas y Universidades.
3.2. Elección de la herramienta
En cuanto a funciones de automatización, y herramientas de verificación Electric
cuenta con más funciones de diseño y verificación como DRC, ERC, LVS,
enrutamiento, análisis del esfuerzo lógico y simulación. Además de tener la gran
ventaja de incorporar esquemáticos.
En cuanto a facilidad de instalación y empleo Electric resulta más intuitivo y
ahorra la necesidad de tener que aprender comandos para dibujar el layout, lo cual es
una gran ventaja puesto que la herramienta se aprehende de usar de forma más rápida.
44
En cuanto a documentación en internet se puede encontrar gran cantidad de
tutoriales y documentación de ambas. Otra gran ventaja es que Electric tiene la mejor
compatibilidad con diferentes plataformas
A continuación se muestra una tabla comparativa considerando y resumiendo los
criterios para la elección de la herramienta.
Tabla 3.1. Comparación entre Magic y Electric
Criterio
Herramientas
chequeo
de
de
las
Electric
Magic
LVS, DRC, ERC,
DRC
Placemet, 5 routers
funciones, DRC y ERC
y
funciones
de
automatización
Accesibilidad
a
Gran
Gran
documentos de ayuda,
accesibilidad
tutoriales y ejemplos
documentos , ejemplos
documentos , ejemplos
y tutorial
y tutorial
Dificultad
empleo
de
a
Baja dificultad de
empleo
accesibilidad
Dificultad
empleo
45
media
a
de
se
necesita conocer
con
claridad los comandos
Dificultad
Instalación
de
Muy
fácil
de
Necesita
de
instalar, tanto en Linux
Cygwin para operar en
como Windows
Windows
Estabilidad
Muy estable tanto
en
Windows
como
No
estable
en
Windows
Linux
3.3. Herramientas para las Simulaciones
La herramienta para simulación es un simulador de SPICE de código abierto, y
es compatible con Electric, de forma que los archivos de Spice generados por Electric
funcionan perfectamente en la herramienta de simulación. La herramienta seleccionada
es LTSPice, es un simulador SPICE de alto rendimiento con captura esquemática y
visor de ondas.
46
LTSpice es una herramienta muy flexible, los datos generados por Electric, se
pueden modificar desde LTSpice, así como agregar o cambiar comandos para la
simulación.
Una vez que se cuenta con los datos generados por Electric, basta con seleccionar
el botón de simular, y luego se pueden elegir las señales que se desean visualizar.
Figura 3.7 Interfaz de LVSpice
47
3.4. Selección del proceso de fabricación
Si bien es cierto no se planea fabricar ningún circuito que se construya en el
laboratorio, no se descarta esa posibilidad y por esa razón es importante elegir un
proceso que facilite un eventual fabricación de los circuitos diseñados.
MOSIS es un servicio de bajo costo que recoge diseños de instituciones
académicas, comerciales y gubernamentales. MOSIS ha desarrollado un conjunto de
reglas de diseño escalables que cubren un amplio rango de procesos de manufactura.
La gran ventaja de trabajar con un proceso que soporte MOSIS es que cuenta con
programas para instituciones académicas, de forma que si se quisiera fabricar un chip
se tiene las puertas abiertas usando un proceso soportado por MOSIS.
Para los programas académicos se ofrece el proceso CN5 500 nm, que es un
proceso CMOS con tres capas de metal, dos de poly-silicio y es para aplicaciones de 5
volts.
Si bien es cierto en la actualidad los transistores tiene un tamaño de 22nm, la
intuición y experiencia que se gana de un conjunto simple de reglas escalables es muy
importante para entender de reglas de diseño más complejas
48
4. CAPITULO4: Laboratorios
En este capítulo se describe la visión inicial de los laboratorios, los objetivos que
se pretenden alcanzar con la realización de cada laboratorio y los conceptos que se
pretenden reforzar.
Conforme se realizan los laboratorios se construye una librería de celdas
estándar, por lo que las celdas se deben construir del mismo alto y de diferente ancho
según su función. De forma que Vcc y Vss pueden correr de forma horizontal en la
parte superior e inferior de la celda en metal 1, específicamente la separación entre
Vcc y Vss será de 80 λ de centro a centro.
4.1. Visión inicial de los laboratorios
Para iniciar el bosquejo inicial de lo que serían los laboratorios fue necesario
investigar sobre otros laboratorios o proyectos similares que pudieran servir como
referencia
Al buscar en la red, se puede encontrar que muchas universidades o institutos
cuentan con programas donde incluyen laboratorios de VLSI y se pueden encontrar
distintas ideas para los laboratorios.
49
Sin embargo la búsqueda debía orientarse a laboratorios que complementarán el
programa de micro-electrónica con el que cuenta la Escuela de Ingeniería Eléctrica de
la Universidad de Costa Rica.
Tomando esto en cuenta, el laboratorio que más se acercaba a lo que se quería
lograr y que al mismo tiempo mostraba que en Electric se podían construir circuitos
complejos, fue el laboratorio complementario que se incluye como suplemento del
libro “CMOS VLSI design” del autor Neil Weste.
Este complemento es un laboratorio donde se construye el procesador MIPS de 8
bits que se describe a lo largo del libro. Sin embargo la visión del laboratorio era
reforzar conceptos más sencillos, por lo que el laboratorio del MIPS fue solo una
referencia inicial.
Al iniciar con el proyecto se pretendía elaborar 5 laboratorios, a lo largo de los
tres primeros se pretendía construir una pequeña librería de celdas estándar, que luego
serían utilizadas en los últimos dos. La primera propuesta fue la siguiente:
1)
Laboratorio 1: El inversor
2)
Laboratorio 2: Construcción de una librería de celdas estándar
50
3)
Laboratorio 3: Flip Flop Latches y Muxes
4)
Laboratorio 4: Circuitos combinacionales
5)
Laboratorio 5: Máquinas de Estados
Sin embargo, la idea inicial se modificó, se elaboraron 6 laboratorios, se incluyó
uno para lógica dinámica y se eliminó el relacionado a máquinas de estado.
Se prescindió de realizar un laboratorio relacionado con máquinas de estado
puesto que el aporte de este era incluir el proceso de síntesis, donde se utilizarán las
celdas construidas a la largo del laboratorio, sin embargo, no se logró obtener la
licencia para utilizar una herramienta de síntesis, por lo cual se modificaron los
laboratorios cuatro y cinco.
Por otra parte al elegir un proceso de fabricación con solo tres capas de metal el
ruteo de los circuitos se vuelve complejo, por lo cual es mejor elegir circuitos que
aunque sencillos puedan reforzar conceptos, en lugar de enfrentarse a circuitos que
solo son complejos en términos de construcción.
Tomando esto en cuenta se elaboraron 6 laboratorios, que son los siguientes:
51
1)
Laboratorio 0: Introducción a Electric
2)
Laboratorio 1: Creación y Simulación de inversor
3)
Laboratorio 2: Creación de compuertas básicas
4)
Laboratorio 3: Compuertas de Paso
5)
Laboratorio 4: Compuertas de Lógica dinámica
6)
Laboratorio 5: Lógica Combinacional y algoritmos de “placement”
52
4.2. Laboratorio N°0: Introducción a Electric
Este laboratorio es una introducción a las herramientas que se utilizarán en los
distintitos laboratorios: Electric y LTSPICE.
4.2.1. Objetivos del laboratorio
∙ Familiarizarse con las herramientas
∙ Analizar la curva de corriente
contra
, para distintos valores de
∙ Identificar las regiones de operación para los transistores NMOS y PMOS
4.2.2. Resultados Esperados
Cuenta con dos apartados, el primero es sobre como instalar las herramientas y
el segundo apartador es Sobre la simulación de los PMOS y NMOS.
Si bien es cierto la curva de corriente
contra
, para distintos valores de
para los transistores MOSFET, es más que conocida para los estudiantes, la intención
de esta simulación es simplemente familiarizarse Electric y preparar una simulación en
LTSPICE.
Se espera que el estudiante como resultado obtenga curvas como las siguientes:
53
Figura 4.1. Laboratorio N°0: Curvas de corriente vrs voltaje para un transistor PMOS
Figura 4.2.Laboratorio N°0: Curvas de corriente vrs voltaje para un transistor NMOS
54
4.3.
Laboratorio N°1 : Creación y Simulación de inversor
En este primer laboratorio se deben construir inversores de distintos tamaños,
con distintos radios
y se realizaran simulaciones para comparar su comportamiento.
4.3.1. Objetivos del laboratorio
∙ Analizar la curva de VI VRS VO para un “inversor” para distintos radios
∙ Simular el tiempo de ascenso y caída para los inversor
∙ Analizar el consumo de potencia de un inversor
4.3.2. Curva de transición del inversor
Se deben construir 4 inversores, los transistores deben estar construidos
correctamente, para verificar esto los estudiantes deben usar herramientas como el
DRC y LVR, que son herramientas imprescindibles en la industria.
Los inversores deberán tener las siguientes dimensiones:
Tabla 4.1. Dimensionamiento de los inversores para el Laboratorio 1
Inversor simétrico
20
10
55
~1
Inversor simétrico
40
20
~1
Inversor HI-skewed
15
5
~1.5
Inversor Low-skewed
10
10
~0.5
Se dimensionan de forma que se tengan tres versiones del inversor: simétrico, hiskewed y low-skewed. Con estas tres versiones se obtendrán distintos resultados, de
forma que puede comparar la curva de tensión de salida contra tensión de entrada, y
márgenes de ruido.
Para cada inversor se debe encontrar la tensión
de forma gráfica,
está
definida como el punto donde la curva característica del inversor interseca la línea de
ganancia unitaria es decir
=
es el punto donde Vout es igual a Vin. Un valor de
no representa una cantidad booleana, pero, para
menor a
indica que
salida es más cercana a un cero lógico.
La tensión
también se puede encontrar de a través de ecuaciones, cuando la
tensión de salida es igual a
ambos transistores se encuentran en la región de
saturación, usando las ecuaciones de corriente se puede llegar a la siguiente expresión.
|
|
=
(4.3.2-1)
56
Dependiendo del radio
el valor de
cambia y ese valor define si el
inversor en HI-skewed , Low-skewed o simétrico.
Un inversor simétrico es aquel que tiene un rango de voltajes de entrada, que
permite que la tensión de salida tenga un rango 0 y 1 de igual tamaño .
57
Figura 4.3. Curva VO vrs VIN para distintos transistores
El inversor simétrico de dimensiones
= 40
y
= 20 ., es para
ejemplificar una técnica llamada “legging”. Puesto que las celdas para el laboratorio
tienen una restricción de alto, para lograr construir un inversor de esas dimensiones
se deben usar dos inversores y conectarlos en paralelo, se puede comprobar que su
comportamiento es igual al de inversión común simulando la curva de transición.
4.3.3. Potencia dinámica del inversor
El laboratorio incluye un ejercicio donde se brindan los datos para calcular la
potencia dinámica, para uno de los inversores bajo ciertas circunstancias, puesto que es
importante no perder de vista que la potencia es un factor determinante en la
construcción de circuitos integrados.
58
4.3.4. Tiempo de ascenso y caída
Las compuertas lógicas introducen un tiempo de retardo cuanto sus entradas
cambian, la señal de entrada reacciona a la salida, pero el voltaje de salida no puede
cambiar de forma instantánea. La transición de la salida de 1 a 0 es el retardo de caída
y de 0 a 1 el de ascenso. Estos tiempos se pueden obtener por medio de simulaciones.
El tiempo de ascenso y de caída se definirá como el tiempo de la compuerta de
pasar del 10% al 90% de su valor final.
Para las simulaciones se propone usar una carga de 4FO, la idea es comparar
como el dimensionamiento de los transistores puede favorecer alguna de las
transiciones, es decir una es más rápida que la otra. Una celda Hi-skewed favorece la
transición de cero a 1 mientras que el Low-skewed favorece la transición de uno a cero.
59
Figura 4.4.Tiempo de asenso y caída para el inversor
Luego se debe cambiar la señal de entrada de forma que su pendiente sea más
pronunciada, es decir que cambie de forma más lenta, observar cómo influye esto en la
respuesta del inversor. Al tener una entrada muy lenta la transición en la salida también
será más lenta.
Figura 4.5.Influencia de la pendiente de la señal de entrada en el tiempo de asenso y caída
4.3.5. Ruido
60
Como una forma de reforzar como el dimensionamiento de los transistores puede
afectar el margen de ruido, se agregó un ejercicio, para esto se deben generar señales
que representan ruido, y evaluar la respuesta de los inversores.
El dimensionamiento de los transistores como ya se mencionó anterior anteriormente
puede favorecer alguna de las transiciones de la salida, sin embargo al favorecer estas
transiciones el margen de ruido del inversor se ve afectado, a esta conclusión es a la que se
pretende que llegue el estudiantes luego de esta simulación.
4.4.
Laboratorio N°2: Creación de compuertas básicas
En el laboratorio número dos se deberán construir y simular las siguientes
compuertas: nand2, nand3, nor2, nor3, AOI y OAI
4.4.1. Objetivos del laboratorio
∙ Comparar
por medio de simulaciones el tiempo de respuesta de distintas
compuertas
∙ Comprender como afecta el “Fan-in” los tiempos de ascenso y caída de una
compuerta.
∙ Comprender como los transistores en serie afectan el diseño.
61
4.4.2. Curvas VTC
Un inversor tiene solo una curva VTC, pero las compuertas nand2 y nor2
tienen 3 curvas de este tipo que caracterizan sus transiciones.
Tabla 4.2. Dimensionamiento para las compuertas nand y nor
Compuerta
Nand2
10
10
Nand3
10
15
Nor2
20
5
Nor3
30
5
Para estas curvas se hace una transición en la salida de 1 a 0 para las distintas
combinaciones de entrada.
Tabla 4.3 Transiciones para la compuerta nand2
A
B
Salida
(i)
0
0
1
(ii)
0
1
1
(iii)
1
0
1
1
1
0
62
Tabla 4.4 Transiciones para la compuerta nor2
A
B
Salida
0
0
1
(i)
0
1
0
(ii)
1
0
0
(iii)
1
1
0
Cuando estas transiciones se simulan para la compuerta NAND2 se obtienen las
siguientes graficas:
Figura 4.6. Curva VTC Transición i compuerta NAND
63
Figura 4.7.Curva VTC Transición ii compuerta NAND
Figura 4.8.Curva VTC Transición iii compuerta NAND
El voltaje
se puede obtener de forma gráfica, y para la transición i donde
ambas entradas cambias se puede encontrar por medio de ecuaciones de forma muy
sencilla, igual que como se realizó con el inversor. Por ejemplo para la compuerta
nand2, en los transistores NMOS en serie se puede ignorar la región n+ que separa las
compuertas de los transistores, y los 2 transistores se pueden “unir” como un solo
transistor de ancho W y ancho del canal 2L de forma el valor equivalente de β se
reduce a la mitad.
64
Los transistores PMOS al estar en paralelo y conectados a entradas que cambian
simultáneamente se pueden “combinar” como un solo transistor PMOS de ancho 2W .
Este razonamiento se puede aplicar de igual forma a la compuerta NOR2, y por medio
de las ecuaciones de corriente se puede encontrar
cuando ambas entradas cambian
al mismo tiempo.
Luego de esta simulación se pretende que quede claro que las entradas de una
compuerta se comportan de manera distinta, y que al conectar las señales de entrada a
una celda se debe tener claro cual señal es la señal critica y cuál es la mejor entrada
para colocarla según la situación
4.4.3. Comparación entre las compuertas
Las compuertas NAND2, NAND3, NOR2, NOR3, se deben simular utilizando,
distintas cargas, primero se debe usar una carga de 4 inversores de tamaño
y
= 10
= 20
y luego una de 16 inversores del mismo tamaño.
El tiempo de asenso y de caída se deben registrar, para comparar como afecta el
Fan-in y el Fan-out , el tiempo de transición de las compuertas
Se sabe que el tiempo de transición de una compuerta aumenta al incrementar
el número de entradas y aumenta también con el incremento de al aumentar la carga
65
que la compuerta debe manejar, por medio de estas simulaciones esto se debe
comprobar.
Se puede realizar una comparación en términos de fan-in entre las compuertas
NAND y NOR así como entre las compuertas de dos entradas y las tres entradas. Y se
puede comparar el comportamiento con distintas cargas a la salida de las celdas.
4.4.4. Compuertas complejas
Como su nombre lo indica estas compuertas realizan funciones, complejas y se
construyen por medio de transistores en serie y en paralelo, la construcción de
funciones de esta forma en lugar de usar compuertas más sencillas como la NAND y
la NOR, tiene sus ventajas, en muchos casos puede reducir el área y potencia, así
como el tiempo de propagación. Para ejemplificar este tipo de compuertas en este
laboratorio se deben construir las compuertas AOI y OAI, y realizar una simulación
para verificar su funcionamiento.
66
4.4.5. Potencia
Se incluye además un ejerció donde se debe calcular la potencia dinámica de
cada una de las compuertas. La potencia dinámica es el resultado de una transición en
la salida, para modelar el numero de transiciones que tienen lugar en periodo T se
introduce el factor de actividad que representa la probabilidad que una transición tome
lugar durante un periodo
=
Para los cálculos se da un periodo T, una carga
( 4.4.4-1)
y un patrón de salida que se
puede utilizar para calcular el factor de actividad.
4.5.
Laboratorio N°3: Compuertas de paso
En este laboratorios se introducen las puertas de paso, y se realizan simulaciones
para comprender su ventaja sobre los transistores de paso. Luego se construyen
compuertas que incluyen compuertas de paso como lo son el mux, el latch y el flipflop.
4.5.1. Objetivos del laboratorio
∙ Comprender el funcionamiento de los Latches y Flip Flops y Muxes
67
∙ Reconocer las ventajas y desventajas de utilizar compuertas de paso.
∙ Comprender por medio de simulaciones el tiempo de setup y de hold.
4.5.2. Compuertas de Paso
Se inicia construyendo una compuerta de paso con las dimensiones que se
muestran en la Tabla 4.5.
Tabla 4.5.Dimensiones para la compuerta de paso
PMOS
NMOS
10
10
El layout de la compuerta se debe simular para comprobar su funcionamiento.
Como ejemplo del comportamiento esperado se incluye la Figura 4.9
Figura 4.9. Simulación compuerta de paso
68
Se utilizan compuertas de paso en lugar de transistores de paso, porque estos
pueden degradar la señal, los transistores NMOS degradan los unos y los PMOS los
ceros, como ejercicio en el laboratorio se deberán simular estas situaciones.
Cuando un transistor NMOS “pasa” un uno la salida alcanzará el valor dado por
la Ecuación 4.5.2-1 , y cuando se intenta “pasar” un cero por un transistor PMOS la
tensión a la salida está dada por la Ecuación 4.5.2.-2
=
−
=
(4.5.2-1)
(4.5.2-2)
Como se tiene acceso al archivo de proceso se puede variar la tensión umbral, en
el
laboratorio se deben utilizar tres valores distintos para la tensión de umbral,
primero se debe usar el que está por defecto en el archivo de proceso y luego este se
varía ±200
. De esta forma se podrá observar como la tensión de umbral afecta la
tensión de la salida.
69
4.5.3. Muxes
El Mux es un circuito muy utilizado y se puede construir de muchas maneras, en el
laboratorio se propone construirlo con las compuertas de paso y luego con compuertas
NAND y comparar las implementaciones, la implementación con compuertas NAND,
implica más área y potencia, por lo que en muchos casos se prefiere la implementación con
compuertas de paso.
4.5.4. Latches y Flip-Flops
Los laches y flip flops son los bloques de de construcción básicos en la mayoría
de los circuitos secuenciales,
por lo cual es importante entender con detalle su
funcionamiento, y que mejor manera que construyéndolos y simulándolos.
En el laboratorio se deberá construir un latch D de fase positiva y un flip-flop D
disparado por flanco positivo.
Primero se debe construir el latch, y realizar un simulación para verificar que
funcione como se espera, y luego se deberá medir el tiempo de retención y
establecimiento para esta celda.
70
Como el latch es de fase positiva el tiempo de establecimiento es el tiempo antes
del flanco descendente que la entrada se tiene que mantener estable, para que la salida
logre capturar el valor de entrada, así mismo hay un tiempo luego del flanco
descendente que la salida también debe mantenerse estable, este el tiempo de retención.
La medición del tiempo de establecimiento y retención se puede hacer de distintas
formas, como referencia en el laboratorio en el manual de prácticas se incluye una de
ellas que consiste, en usar dos frecuencias distintas para el dato y el reloj de forma que
en cada flanco de reloj el dato es más alejado del flanco de captura del latch. De esta
forma se puede encontrar un valor aproximado para el tiempo de setup, usando la
misma técnica se puede encontrar el tiempo de hold.
Figura 4.10 Medición del tiempo de setup para el lacht-D
71
Luego utilizando el Latch, se puede proceder a construir un Flip-Flop D, y
realizar una simulación similar para obtener el tiempo de establecimiento y retención
solo que en este caso, este tiempo se miden con respecto al flanco de apertura.
4.6.
Laboratorio N°4: Lógica dinámica
En este laboratorio se construirán compuertas sencillas de lógica dinámica y lógica
domino, esta familia de circuitos tiene sus ventajas sobre la lógica estática, son más rápidas,
pero para su construcción se deben tener en cuenta consideraciones diferentes a las que se
tienen cuando se trabaja solo con lógica estática.
4.6.1. Objetivos del laboratorio
∙Comprender el funcionamiento de las compuertas dinámicas y la lógica domino.
∙Reconocer las ventajas y desventajas de las compuertas dinámicas en relación a las
compuertas estáticas
4.6.2. Lógica dinámica
Para esta parte del laboratorio se deberá construir una compuerta NAND de dos
entradas. En las celdas de lógica dinámica la red de transistores PMOS es remplazada
por un solo transistor PMOS, pero este transistor en lugar de estar siempre encendido
se conecta a una net de reloj. Por esta razón la operación de los circuitos dinámicos
puede ser divida en dos etapas, la etapa de precarga es cuando el reloj
es cero de
forma que el transistor PMOS esta encendido por lo que la salida de la compuerta es
72
igual a 1, durante la etapa de evaluación el reloj es uno de forma que el transistor
PMOS se apaga, y en ese momento las restantes entradas conectadas a la red NMOS
pueden cambiar y descargar el nodo de salida, o dependiendo del valor de las
entradas el nodo de salida puede permanecer en un uno lógico.
Luego de contruir la compuerta NAND, esta se debera simular de forma que se
puedan observa la etapa de pregarca y evalución.
Durante esta simulación el estudiante deberá notar que las entradas lógicas a la
compuerta deben mantener la red NMOS apagada durante la pregarga para evitar
contención en el nodo de salida, y también que estas entradas solo pueden cambiar en
la etapa de evalución, lo que lleva un problema importante de temporización.
Para evitar este problema es normal agregar un transistor extra a la red
NMOS (Un transistor de pie), este transistor se agrega en serie al final de la red, es
decir con una de sus terminales conectadas a tierra, y como entrada a este elemento se
debe conectar el reloj .
73
Como segundo ejercicio se debe agregar este transistor a la compuerta NAND y
simularla, para verificar que este transistor cumpla su función. El estudiante obtendrá
una simulación similar a la que muestra en la Figura 4.11.
Figura 4.11. Simulación de la compuerta NAND dinámica con el transistor de pie
Un limitante que tienen estas compuertas es que no pueden ser conectadas
directamente en cascada.
Esto porque durante la evaluación las entradas de la
compuertas pueden empezar en bajo y mantenerse en bajo, o empezar en bajo y
después pasar a alto, o empezar en alto y permanecer en alto, pero no deben empezar
en alto y luego pasar a bajos, esto porque descagarían el nodo dinámico en falso, y el
valor de uno a la salida no se podría recuperar.
74
Desafortuandamente la salida de una compuerta dinámica inicia con un valor en
alto y luego puede pasar a bajo durante la evalución, de forma que una salida de una
compuerta dinámica no pueda ser conectada a la entrada de una compuerta de la misma
familia.
Los estudiantes deberán conectar en cascada dos inversores dinámicos para
simular y entender esta situación, de esta forma al tener dos inversores en cadena se
espera que salida del circuito sea igual a laentrada, pero en la simulación se obtendrá
un resultado erróneo, resulatado de la limitante que tienen las compuertas dinámicas
de poder conectarce en cadena.
4.6.3. Lógica domino
El problema que se discutió anteriormente se puede solucionar agregando un
inversor estático a la salida de la compuerta dinámica, esta configuración se llama
lógica domino, básicamente es una celda dinámica seguida de inversor estático.
Un aspecto importante de estas celdas a tomar en cuenta es el dimensionamiento
del inversor, este debe favorecer la transición crítica, es decir cuando el nodo dinámico
cambia su valor de uno a cero lógico durante la evaluación. Para favorecer esta
transición el transistor debe ser HI-Skew pues favorece la salida en ascenso.
75
Al estudiante se le indica que para el dimensionamiento del inversor debe
considerar cual es la transición crítica, con esto se espera guiarlo para que pueda intuir
que tipo de transistor debe usar.
Una vez construida la celda,
se deben conectar 2 en cascada y simular
mostrando los el valor de los nodos intermedios, como en la Figura 4.12, donde Va y
Vb son las entradas a la primera AND y Vx es la salida, y esta salida se conecta junto
con Vc a la entrada de la segunda AND
Figura 4.12. Cascada de compuertas AND domino
4.6.4. Keepers en la lógica dinámica
76
Los circuitos dinámicos también tienen otro problema, el nodo dinámico se
descarga a un valor de uno durante la precarga y luego queda flotando, por lo que
tiende a descargarse durante la evaluación. Para solucionar este problema se usan un
keeper, que es un transistor PMOS, normalmente se dimensiona por que será un
transistor débil, y se conecta de forma que mantenga el valor de uno en salida si es
necesario. Por el contrario, si la entrada debe cambiar a cero se produce contención por
esta razón este es un transistor pequeño.
Se propone que se simule una situación donde se presencie la descarga del nodo
dinámico, y luego los estudiantes deberán agregar un keeper y dimensionarlo de forma
que el nodo dinámico al cabo de 6ms se mantenga por encima de 4.75 V.
4.6.5. Fenómeno de “Charge Sharing”
Este es un
fenómeno que ocurre cuando
la carga del nodo dinámico es
compartida para cargar nodos internos. Por ejemplo considérese una compuerta NAND
dinámica, donde la salida Y es precargada con a Vdd y las entras A y B están en bajo.
Y el valor del nodo intermedio X (ver Figura 4.13) tiene un valor bajo resultado del
ciclo anterior. Durante la evaluación la entrada A pasa un uno lógico y la entrada B se
mantiene en bajo, se espera que la salida mantenga su valor de uno pero la carga es
compartida entre
tal y como se expresa en la siguiente ecuación:
77
=
=
(4.6.5-1)
Figura 4.13. Esquemático NAND dinámica
Los estudiantes deberán simular una situación como la que uso de ejemplo para
obtener una simulación donde se observe ese fenómeno.
78
Figura 4.14. Simulación del fenómeno de "Charge Sharing"
Como este fenómeno es más que conocido existen técnicas para evitarlo, como lo
son los transistores secundarios de precarga. Los alumnos deberán estudiar sobre esta
técnica, implementarla y simularla.
79
4.7.
Laboratorio 5: Lógica combinacional y algoritmos de placement
El laboratorio cinco, es el laboratorio final, en este se deberá construir un
sumador de cuatro bits, y se explorar diferentes algoritmos de placement
4.7.1. Objetivos del laboratorio
˖Construir un sumador con las compuertas construidas en los laboratorios anteriores
˖Reconocer las dificultades en términos de área, enrutamiento, dimensionamiento de
celdas que conlleva construir un circuito complejo
4.7.2. Algoritmos Min-cut y force direted
En el laboratorio se deberá construir el circuito para un sumador de rizo, de 4
bits, este circuito incluye 24 celdas por lo que la forma en la que se colocan las celdas
afectara el desempeño final del sumador, el área y la facilidad con la que logrará
conectar el circuito. En el laboratorio se explorarán 3 algoritmos de colocación: Mincut, Force Directed y Aleatorio.
En algoritmo de Min-cut el circuito se parte repetidamente y se elije la
colocación de la celdas en las cual el números de cortes a las conexiones sea mínima.
El algoritmo Force Directed tiene muchas implementaciones, pero en general
funciona de la siguiente manera: se asume que entre dos bloques conectados por cables
80
que tienen ejercen una fuerza de atracción entre los bloques, asumiendo que los
bloques se pueden mover libremente, ellos se moverán en la dirección de la fuerza total
hasta que el sistema alcance equilibrio.
El Algoritmo Aleatorio es un algoritmo incluido en Electric, y de hecho no es
recomendado, por el que el resultado será una colocación pobre que dificulte la
construcción del circuito.
4.7.3. Construcción y simulación de un sumador
Primero el estudiante deberá crear el sumador de un bit, y crear tres versiones de
este módulo usando los distintos algoritmos de colocación antes mencionados.
Una vez que se tengan las tres versiones totalmente ruteadas. Se deberán simular
las tres versiones del sumador, el estudiante deberá pensar en el estimulo crítico para
este circuito, el cual es una suma donde todas las celdas generen acarreo. Por medio de
la simulación se deberá medir el tiempo que llevó realizar la suma y comparar como la
colocación de los bloques afectó el desempeño del circuito.
Las tres versiones del circuito también se pueden comparar en términos de área y
la dificultad de conectar el circuito
81
5. CAPITULO 5: Conclusiones y recomendaciones
5.1.
Conclusiones
El diseño de circuitos integrados va más allá de la programación en RTL,
incluye toda una parte de diseño físico que es extremadamente interesante y retadora y
en continuo avance, sin embargo el programa de estudios de la escuela solo se cuenta
con un curso donde se aborda VLSI, y es necesario que este curso cuente con
laboratorio, de forma se los estudiantes de acerquen más al diseño de circuitos
integrados.
Con este proyecto se lograron elaborar seis laboratorios que van a reforzar
los conceptos que se desarrollan en el curso de micro-electrónica y están pensados para
que vayan de la mano con el curso teórico.
Se elaboró un tutorial detallado que va a servir como primera ayuda a los
estudiantes cuando se encuentren realizando el laboratorio.
.
82
5.2 Recomendaciones
∙La recomendación principal, es que se incluyan los laboratorios expuestos como
parte del curso de micro-electrónica, y realicen de la mano con los temas que se van
impartiendo en la clase.
∙ Para complementar el laboratorio, e incluir todo el proceso que conlleva la
creación de un circuito, se recomienda incluir laboratorios que incluyan síntesis, de
forma que se parta de una especificación arquitectónica, se escriba el código y se
sintetice utilizando la librería de celdas estándar creadas a lo largo de este laboratorio
83
BIBLIOGRAFÍA
Libros:
1.
Sutherland,I & Sproull,B. “Logical Effort”, , Academic Press, Estados
Unidos, 1999.
2.
Weste, N & Harris, D. “CMOS VLSI DESIGN”, 4 edición, Editorial
Person Education, Estados Unidos , 2011.
3.
Wakerly, J. “Diseño Digital”; 3 edición. Editorial Person Education,
México,2001
Páginas web:
4.
Jin,L
Liu,C & Ana,M. Anan “Open-Source VLSI CAD Tools: A
Comparative Study”, http://ilin.asee.org/Conference2010/Papers/A1_Liu_Anan.pdf.
5. Silva,L.“Uso
de
SPICE
en
la
simulación
de
redes”
http://ramos.elo.utfsm.cl/~lsb/elo102/aplicaciones/aplicaciones/clases/ap1.pdf
6. Rubin
,S
“Using
the
Electric
VLSI
design
system”,
http://www.staticfreesoft.com/manual/
7. Desconocido.
“CMOS
VLSI
Design:
Lab
1
Gate
design”,
http://www3.hmc.edu/~harris/cmosvlsi/4e/index.html
8. Desconocido. “CMOS VLSI Design: Lab 2 Datapath Design and Verification”,
http://www3.hmc.edu/~harris/cmosvlsi/4e/index.html
84
9. Harris,D
Introduction
to
VLSI
design,
http://www.slideserve.com/iolani/introduction-to-cmos-vlsi-design-lecture-2-mipsprocessor-example
10. Shahookar, K & P. Mazumder, P. VLSI Cell Placement Techniques. VLSI Cell
Placement Techniques
85
6. CAPITULO 6: Apéndices
APENDICE A) Manual para el Laboratorio N°0: Introducción a Electric
Este laboratorio es una introducción a las herramientas que se utilizarán en los distintitos
laboratorios, se inicia con una guía rápida de instalación y luego se simularán transistores
PMOS y NMOS.
Objetivos
Familiarizarse con las herramientas
Analizar la curva de corriente
contra
, para distintos valores de
Identificar las regiones de operación para los transistores NMOS y PMOS
Procedimiento
I.
Instalación de las herramientas
Electric es una herramienta “Open Source” para el diseño de circuitos integrados,
posee muchas funciones de diseño y verificación como DRC, ERC, LVS, enrutamiento y
análisis del esfuerzo lógico.
1. Para
instalar
Electric
de
forma
rápida
vaya
a
http://cmosedu.com/cmos1/electric/electric.htm y guarde el archivo electric.jar
en su computadora, si desea usar Electric sobre una plataforma Linux también
puede descargarlo desde los repositorios.
2. LT Spice es la herramienta de Spice que se utilizara para las simulaciones, para
instalarla vaya a http://www.linear.com/designtools/software/ y de click en
“Download LTSpice VI”
86
II.
Simulación de los transistores NMOS y PMOS
1. Cree una celda en vista de layout, deles un nombre significativo por ejemplo
NMOS_IV{lay}, como referencia puede consultar el tutorial, use
10 .
2. Establezca el modelo de Spice para el transistor
Figura 6.1 Laboratorio 0: Transistor NMOS
3. Presione la tecla F5 para verificar que no hayan errores en el layout.
4. Exporte las terminales
87
=
Figura 6.2. Laboratorio 0:Transistor NMOS con terminales
5. Repita para el transistor PMOS
Figura 6.3.Transistor PMOS
6. Cree una simulación para los dos transistores donde para 5 valores de vgs se
muestre la relación de corriente
88
vrs
.
Figura 6.4. Laboratorio 0: Ids vrs Vds PMOS
Figura 6.5. Laboratorio 0: Ids vrs Vds NMOS
7. Identifique las regiones de operación para los transistores
89
APENDICE B) Manual para el laboratorio N°1: Creación y simulación
de un inversor
En este primer laboratorio se crearán inversores de distintos tamaños y se realizarán
simulaciones para comparar su comportamiento
Objetivos
∙ Analizar la curva de VI VRS VO para un “inversor” para distintos radios
∙ Simular el tiempo de ascenso y caída para los inversor
∙ Analizar el consumo de potencia de un inversor
Procedimiento
III.
Layout y esquemático de los inversores
1. Crear el esquemático y el ícono para un inversor con las siguientes dimensiones
= 20
y
= 10 . Asegúrese de exportar las entradas y salidas. En
TutorialVLSILab se explica con detalle los pasos a seguir para crear una celda
refiérase a este para la creación del primer inversor, un nombre representativo para
este inversor puede ser Inv_20_10.
90
Figura 6.6. Laboratorio1: Esquemático para el inversor
2. Dibuje el layout para esta celda. Para este laboratorio Vcc y Vss deberán correr de
forma horizontal en la parte superior e inferior de la celda en metal 1, el espacio
entre Vcc y Vss será de 80 λ de centro a centro. Los transistores nos ocuparán la
parte inferior de la celda y los pmos la parte superior; las entradas y salidas se
conectarán por medio de contactos de metal 2, aparte de esto las
ningún metal 2 o
3 deberá ser utilizado dentro de las celdas. Asegúrese de establecer el modelo de
Spice para los transistores.
91
Figura 6.7 Laboratorio 1: Layout para el inversor
3. Use la herramienta DRC para verificar que el layout cumple con las reglas de diseño
4. Verifique que el layout y el esquemático sean equivalentes por medio de NCC
Puede ver la celda en 3D para tener un mejor entendimiento de la interacción entre
las distintas capas.
Figura 6.8. Laboratorio 1: Vista en 3D para el inversor
92
5. Ahora cree otros dos inversor (tres vistas) pero dimensiones
= 15 y
= 10 y
= 10
= 5 . El tamaño de la celda se debe mantener. Para hacer esto más
rápido de click derecho sobre la celda Inv_20_10 seleccione “Duplicate cells in
group” cambie el nombre para el grupo y modifique esta nueva celda.
Figura 6.9. Laboratorio 1: Layout para las distintas versiones del inversor
93
6. Use las herramientas DRC y NCC para las dos nuevas celdas que creó
7. El largo de la celda es límitado, debe ser de 80 λ desde el centro de gnd al de vdd,
pero la celda puede crecer en ancho tanto como se quiera. Teniendo esto en cuenta
cree un inversor de tamaño
II.
= 40 y
= 20 .
Simulaciones
Curva de transición del inversor
1. Haga una copia de los layout para realizar una simulación.
2. Prepare la simulación, puede apoyarse en el tutorial.
3. Realice un análisis DC donde se determine el valor de Vout para un valor dado
de Vin, realice un grafico de Vout vrs Vin para cada uno de los transistores
Figura 6.10. Laboratorio 1: VTC inversor
4. Determine los márgenes de ruido para cada uno de estos inversores.
5. Identifique las regiones de operación. Los voltajes de umbral los puede
encontrar en el archivo Spice.txt
94
Recuerde que el punto medio de voltaje
está definido como el punto donde la
curva característica del inversor interseca la línea de ganancia unitaria es decir
es el punto donde Vout es igual a Vin. Un valor de
cantidad booleana, pero, para
menor a
=
no representa una
indica que salida es más cercana a un
cero lógico.
Un inversor simétrico es aquel que tiene un rango de voltajes de entrada, que
permite que
la tensión de salida tenga un rango
0 y 1 de igual tamaño. Esto se
logra cuando:
=
6. Encuentre
1
2
para los distintos transistores, compare el valor obtenido con el
valor teórico, debe encontrar una expresión para
en términos de los voltajes
de umbral de los transistores y de β.
7. Analice como afecta el dimensionamiento de los transistores la curva
característica del inversor encuentre la relación
para los transistores que
simuló.
Potencia
Para los siguientes cálculos considere el inversor simétrico de dimensiones
= 20 y
= 10
95
8. De la simulación anterior, visualice la corriente del inversor durante la
transición, observe que la corriente alcanza un pico en
, que implicaciones
tiene esto en consumo de potencia?.
9. La potencia dinámica
deriva del hecho que cuando hay una transición se
crea un camino de Vdd y Gnd que carga o descarga
,. Considere la señal de
entrada es una onda cuadrada con un periodo de 10ns, y que la carga para el
inversor de de 4FO. Con estos datos calcule
.
Tiempo de ascenso y caída
Las compuertas lógicas introducen un tiempo de retardo cuanto sus entradas
cambian, la señal de entrada reacciona a la salida, pero el voltaje de salida no
puede cambiar de forma instantánea. La transición de la salida de 1 a 0 es el
retardo de caída y de 0 a 1 el de ascenso. Estos tiempos se pueden calcular
analizando las transiciones de los circuitos.
10. Realice una simulación con una carga de 4FO, en el los archivos de Spice puede
ver cuánto es la capacitancia de entrada para cada uno para cada uno de los
inversores que dibujó. El tiempo de ascenso y de caída se definirán como el
tiempo de la compuerta de pasar del 10% al 90% de su valor final. Como
entrada use una onda cuadrada con un periodo de 20ns y que tarde de u 1 ns en
hacer una transición lógica del 0 al 100%
96
Figura 6.11. Laboratorio 1: tiempos de ascenso y caída
11. Compare los tiempos ascenso y caída para los distintos inversores que dibujó.
12. Ahora manteniendo la misma carga, varíe la forma de la señal de entrada,
cambiando el slope, algo similar a lo que se muestra a continuación, escoja 3
valores para este slope y simule para cada inversor, compare. Como afecta esta
variación en la salida la velocidad de respuesta del inversor
Figura 6.12. Laboratorio 1: Slope de entrada
Ruido
13. Para analizar la inmunidad al ruido del inversor genere señales a la entrada que
le permitan determinar como se ve afectado el valor de la salida por el ruido.
97
Determine qué valor de voltaje en la entrada logra distorsionar la salida. Itere
cuantas veces sea necesario
14. ¿Cómo se ven afectados estos valores por el dimensionamiento del transistor?
Qué nivel lógico se está beneficiado, en términos de inmunidad al ruido, con el
dimensionamiento de los transistores.
Figura 6.13. Laboratorio 1: Simulación de Ruido
98
APENDICE C) Manual para el laboratorio N°3: Creación de compuertas
básicas para la librería
En este laboratorio se crearán distintas compuertas para formar una librería básica para los
siguientes laboratorios.
Objetivos
Comparar
por medio de simulaciones el tiempo de respuesta de distintas
compuertas
Comprender como afecta el “Fan-in” los tiempos de ascenso y caída de una
compuerta.
Comprender como los transistores en serie afectan el diseño.
Procedimiento
I.
Layout y esquemático y simulaciones.
Todas las celdas que cree deberán tener las siguientes características: Vcc y
Vss deberán correr de forma horizontal en la parte superior e inferior de la
celda en metal 1, el espacio entre Vcc y Vss será de 80 λ de centro a centro.
Los transistores NMOS ocuparan la parte inferior de la celda y los PMOS la
parte superior; las entradas y salidas se conectaran por medio de contactos de
metal 2, aparte de esto las ningún metal2 o 3 deberá ser utilizado dentro de las
celdas.
1. Crear compuertas Nand y Nor con las siguientes dimensiones que se indican en la
tabla. Crear tanto la vista de layout como la de icono y esquemático
99
Compuerta
Nand2
10
10
Nand3
10
15
Nor2
20
5
Nor3
30
5
Recuerde exportar las entradas salidas y verificar que el diseño cumpla con las
reglas de (DRC).Además de definir el modelo de Spice para los transistores para
poder simular.
Figura 6.14 . Laboratorio 2: NAND3
2. Para las compuertas nand2 y nor2 realice una simulación que muestre las 3 curvas
VTC.
100
La presencia de dos entradas independientes implica que más de una curva VTC
necesita para describir el circuito.
Para estas curvas se hace una transición en la salida de 1 a 0 para las distintas
combinaciones de entrada.
Tabla 6.1.Laboratorio 2: NAND 2
A
B
Salida
0
0
1
0
1
1
1
0
1
1
1
0
Figura 6.15. Laboratorio 2: Transición de 1 a 4
101
Figura 6.16.Laboratorio 2: Transición de 2 a 4
Figura 6.17.Transición de 3 a 4
3. Analice las curvas porque
varia de pendiendo de la transición (Tanto para la
compuerta nor2 como la nand2), como afecta, el dimensionamiento de los
transistores a estas curvas.
102
Transición
(Volts)
De 1 a 4
De 2 a 4
De 3 a 4
4. Para la transición de 1 a 4 ambas entradas cambian al mismo simultáneamente y la
curva VCT para este caso está mucho más hacia la derecha que para las otras 2
curvas. Es instructivo calcular
para este caso (tanto para la compuerta nor2
como para la nand2).
Para facilitar este cálculo para la compuerta nand2 piense que los transistores
NMOS en serie se pueden unir como en la figura que se muestra a continuación.
Ahora bien, los transistores PMOS al estar en paralelo y conectados a entradas que
cambian simultáneamente se pueden “combinar” como un solo transistor PMOS de
ancho 2
. Piense en como afectaría esto
y
para encontrar
2L
5. Compare la compuerta nand2 con nor2 en términos de dimensionamiento de
transistores y sus curvas VCT.
6. Para una fanout de 4 inversores (dimensiones 20_10) simule las compuertas nand2,
nor2, nand3, nor3. Varié solo una de las entradas y mantenga constante las demás.
Complete la siguiente tabla:
103
Tabla 6.2.Laboratorio 2: Tiempos de asenso y caída con una carga de FO4
Compuerta
Nad2
Nor2
Nand3
Nor3
7. Para una fanout de 16 inversores simule las compuertas nand2, nor2, nand3, nor3.
Varié solo una de las entradas y mantenga constante las demás. Complete la
siguiente tabla:
Tabla 6.3. Laboratorio 2: Tiempos de asenso y caída con una carga de FO4
Compuerta
Nad2
Nor2
Nand3
Nor3
8. Comparando los datos recolectados conteste como afecta el Fain-in y el Fan-Out el
tiempo de asenso y caída de una compuerta.
104
9. Si tuviera una señal critica en cuál entrada de la compuerta la colocaría y por qué?
Compuertas AOI OAI
10. Construya una compuerta AOI y otra OAI de dos entradas con las dimensiones que
se muestran en las siguientes figuras, Recuerde crear tanto el layout, el esquemático
y el ícono para estas compuertas.
Figura 6.18.Laboratorio 2: Compuerta AOI
Figura 6.19. Laboratorio 2: Compuerta OAI
105
11. Realice una simulación donde cambie el valor de la salida, utilice un fan-out de 4
inversores (20_10) para estas dos compuertas que acaba de construir.
12. Cuáles son las ventajas de construir esta compuerta de esta forma en lugar de
utilizar varias compuertas?
Potencia
La potencia dinámica es el resultado de una transición en la salida, para modelar el
número de transiciones que tienen lugar en periodo T se introduce el factor de
actividad que representa la probabilidad que una transición tome lugar durante un
periíodo. De esta forma la potencia dinámica se describe mediante la siguiente
fórmula.
=
Supóngase que a la salida de las compuertas se observa 1101101111111111
durante un período T. Calcule
además que la carga
para cada una de las compuertas. Considere
son 4 inversores (20_10).
106
APENDICE D) Manual para el laboratorio N° 3: Compuertas
de paso
Objetivos
Comprender el funcionamiento de los Latches y Flip Flops y Muxes
Reconocer las ventajas y desventajas de utilizar compuertas de paso.
Comprender por medio de simulaciones el tiempo de setup.
Procedimiento
I.
Compuertas de paso
Todas las celdas que construya deberán tener las siguientes características: Los
transistores NMOS ocuparan la parte inferior de la celda y los PMOS la parte
superior; las entradas y salidas se conectaran por medio de contactos de metal
2, aparte de esto ningún metal2 o 3 deberá ser utilizado dentro de las celdas.
1. Crear una compuerta de paso con las siguientes dimensiones que se indican en
la tabla. Crear tanto la vista de layout como la de ícono y esquemático.
PMOS
NMOS
10
10
107
Figura 6.20.Laboratorio 3: Compuerta de paso: Icono y esquemático
El layout de esta compuerta es un poco diferente si se compara con una
compuerta como una NAND o NOR. Se debe realizar como se muestra
continuación. Recuerde agregar los taps y conectar el poso P a tierra y el N a
vdd.
Figura 6.21.Laboratorio 3: Compuerta de paso: Layout
108
2. Simule esta compuerta, para comprobar que funcione como se espera.
Figura 6.22. Laboratorio 3: Compuerta de paso
3. Que ocurre con los niveles de voltaje a la salida si solo se utilizaran un
transistor de paso. Realice una simulación para justificar porque se usa una
compuerta de paso en lugar de un solo transistor de paso.
109
Figura 6.23. Laboratorio 3: Transistor de paso
4. Cambie el voltaje de umbral en el archivo de proceso. Utilice el voltaje de
umbral por defecto ± 200
. Qué sucede con el voltaje de salida?
110
Figura 6.24. Laboratorio 3: Variación en el voltaje de umbral
5. Utilizando compuertas de paso construya un mux 2:1, Simúlela para comprobar
que estén bien construida. Suponga que cuenta tanto con la entrada de selección
como con la entrada de selección negada.
Figura 6.25. Laboratorio 3: Mux2:1 Ícono
111
Figura 6.26. Laboratorio 3: Mux2:1 layout
6. Utilizando compuertas nand construya la misma compuerta y el mismo mux 2:1
Figura 6.27. Laboratorio 3: Mux2:1 NAND
112
7. Cuáles son las ventajas y desventajas de usar compuertas de paso
comparándolas con compuertas estándar. Compárelas en área, tamaño y
potencia.
8. Imagine que en lugar de un mux 2:1 tiene un mux 3:1, o que no cuenta con la
entrada negada, que podría suceder en ese caso, investigue sobre “mux
contention” y explique qué sucedería.
Latches y Flip Flop
9. Construya un latch de fase positiva usando compuertas de paso, tanto el layout
como el esquemático.
Figura 6.28. Laboratorio 3: Latch layout
10. Simule el latch que acaba de construir, haga la entrada variar de forma que
pueda comprobar que el latch funciona como se espera.
113
Figura 6.29. Laboratorio 3: Simulación Latch fase positiva
11. Realice una simulación que le permita encontrar el tiempo de setup, como
referencia puede tomar la figura a continuación. Qué representa el tiempo de
setup en el circuito?
114
Figura 6.30. Laboratorio 3: Tiempo de setup
12. Utilizando la misma técnica encuentre el tiempo de hold para el latch.
13. Analice qué efectos puede tener ruido en la señal de reloj. Qué pasa si durante la
fase negativa del reloj se produce un evento de ruido. Explique
14. Utilizando el latch que acaba de construir, construya un FF de flaco positivo
15. Encuentre el tiempo de setup para el FF
115
APENDICE E) Manual para el Laboratorio N°4: Compuertas
Dinámicas
Objetivos
Comprender el funcionamiento de las compuertas dinámicas y la lógica domino.
Reconocer las ventajas y desventajas de las compuertas dinámicas en relación a las
compuertas estáticas
Procedimiento
I.
Compuertas de lógica dinámica
Todas las celdas que construya deberán tener las siguientes características: Los
transistores NMOS ocuparan la parte inferior de la celda y los PMOS la parte
superior; las entradas y salidas se conectaran por medio de contactos de metal
2, aparte de esto ningún metal2 o 3 deberá ser utilizado dentro de las celdas.
1. Crear una compuerta dinámica NAND2. Crear tanto la vista de layout como la de
icono y esquemático.
PMOS
NMOS
5
10
116
Figura 6.31. Laboratorio 4: NAND Dinámica
2. Simule la compuerta, durante la etapa de precarga y evaluación, y verifique su
correcto funcionamiento.
Figura 6.32. Laboratorio 4: Etapa de precarga y evaluación
117
3. Que sucede si durante la etapa de precarga, las entradas A y B tienen un valor
lógico de 1?
4. Cuando no se puede garantizar que las entradas sean cero durante la precarga, se
incluye un transistor extra al fondo de la “Pila” NMOS, cuya entrada es el reloj, de
esta forma se evita situaciones de contención durante la precarga. Agregue este
transistor a la compuerta que construyó y simúlela.
Figura 6.33. Laboratorio 4: NAND dinámica con transistor de pie
5. Según la teoría, la salida de una compuerta, dinámica, no puede ser conectada a la
entrada de otra compuerta dinámica, si tienen el mismo reloj, explique
118
detalladamente porque y realice simulaciones que la comprueben. Una forma
sencilla de simularlo es mediante inversores dinámicos en cadena.
Figura 6.34.Laboratorio 4: Simulación de inversores dínamicos en cadena
6. Esto se soluciona agregando un inversor estático luego de la compuerta dinámica.
Cree una compuerta and2 en lógica domino. Debe dimensionar los transistores para
el inversor tomando en cuenta cual es la etapa crítica para la lógica dinámica.
Explique.
119
Figura 6.35. Laboratorio 4: AND de lógica domino
7. Conecte dos compuertas domino and2 y simule su comportamiento, muestre los
nodos intermedios.
Figura 6.36. Laboratorio 4: Compuerta and de lógica dómino
120
8. Si el nodo dinámico de la nand2 y es precargado y en evaluación permanece en
uno, eventualmente el nodo se descarga, esto puede ocurrir en nanosegundos o
milisegundos, realice una simulación donde observe este comportamiento.
Figura 6.37. Laboratorio 4: Nodo dinámico de la compuerta NAND
9. Investigue sobre “Keeper” como una técnica para prevenir la descarga del nodo
dinámico, ¿Qué se debe tener en cuenta cuando se dimensiona este elemento?
Explique
10. Agregue un “keeper ” a la compuerta nand2 y dimensiónelo de forma que el nodo
dinámico al cabo de 6ms se mantenga por encima de 4.75 V. El ciclo del “reloj”
debe ser de 20 ms
11. Charge Sharing
121
12. Investigue sobre el fenómeno de Charge Sharing. En términos de la capacitancia, de
los nodos, escriba una ecuación que describa el valor de tensión del nodo dinámico.
13. Utilizando la nand de 2 entradas haga una simulación donde se presente este
fenómeno.
Figura 6.38. Laboratorio 4: Charge sharing
14. Investigue sobre formas como se evita este fenómeno, implemente alguna de ellas
en el circuito y simule nuevamente.
122
Figura 6.39. Laboratorio 4: Técnicas para evitar el charge sharing
123
APENDICE F) Manual para el laboratorio N°5: Lógica
combinacional y algoritmos de placement
Objetivos
Construir un sumador con las compuertas construidas en los laboratorios anteriores
Reconocer las dificultades en términos de área, enrutamiento, dimensionamiento de
celdas que conlleva construir un circuito complejo
Procedimiento
I.
Construcción de un sumador
1. Investigue sobre los siguientes algoritmos de “placement” Random, Forcedirected y Mincut. Escriba una descripción de un párrafo para cada uno de
estos algoritmos.
2. Construya el esquemático para un sumador (ripple carry adder) de 4 bits.
Utilice las celdas que construyo en los laboratorios anteriores.
3. Construya tres versiones de “layout” para el sumador utilizando los
algoritmos de “placement” mencionados anteriormente.
124
Figura 6.40. Laboratorio 5: Algoritmos de "placement"
4. Ahora conecte los diferentes componentes del el circuito, puede utilizar el
alguno de los enrutadores de Electric. Recuerde que solo se puede usar hasta
Metal 3
5. ¿Qué dificultades tuvo para construirlo? ¿Tuvo que sacrificar área para
lograr enrutar el circuito? Compare los algoritmos de “placement” y
explique
II.
Simulación
6. Simule el sumador, piense en el estimulo crítico para este. Explique por qué
eligió ese estímulo.
7. Comprare el tiempo de suma para las distintas versiones del circuito.
125
8. Compare ahora los tres algoritmos considerando área, tiempo de suma y
facilidad para conectar los elementos del circuito.
III.
Recomendaciones
-Construya un diseño modular, esto facilita la construcción y encontrar errores
- Copie la topología de conexiones del esquemático al layout (Unrouted arc de
Electric)
-Para facilitar su trabajo utilice las herramientas de enrutamiento de Electric,
puede que necesite hacer parte del enrutamiento de forma manual
126
APENDICE G) Tutorial de laboratorio
Electric:
¿Cómo crear una celda?
A lo largo de los laboratorios se creará una librería con diferentes compuertas
lógicas, que permitirán crear circuitos más complejos. Como referencia en esta parte
del tutorial se creará un inversor, tanto en su vista en esquemático como el layout.
Creación de la una librería y nueva celda
Inicie Electric, y seleccione File˖ New libary, elija un nombre para la librería, la
librería puede contener cuantas usted desea y es una buena forma de agrupar distintas
celdas.
Figura 6.41. Nueva librería
127
Para crear una celda dentro de la librería dé click-derecho sobre la librería y
seleccione NewCell, la celda puede tener múltiples vistas por ejemplo esquemático,
layout e icono.
La celda que se construirá como ejemplo será un inversor, se especificarán los
tamaños de los transistores, se incluirán parámetros de Spice para la celda, y se
utilizarán las herramientas DRC y NCC de Electric, todo esto para que poder tener una
idea de cómo debe crear las celdas requeridas en el laboratorio.
Esquemático
Para crear la vista en esquemático seleccione la opción en la siguiente ventana.
Seleccione un nombre en este caso Inversor.
Figura 6.42. Nueva celda
128
Ahora dentro de la librería VLSI lab, usted podrá notar, una celda Inversor{sch},
dando click sobre esta celda puede iniciar a editarla.
Electric define varios componentes para esquemáticos y layout, para observar
los componentes disponibles para la creación de este primer esquemático, de click en
la pestaña de componentes y seleccione schematic. Se observara entones la ventana de
componentes tal como se muestra en la
Figura 6.43 ; esta lista de componentes
incluye elementos básicos de un circuito como transistores, resistencias, capacitores.
Figura 6.43.Ventana de componentes de la Librería
El objetivo es dibujar una compuerta como la que se muestra en la Figura 6.44.
Seleccione Window˖Toggle grid para hacer visible grilla, esto le ayudara a alinear los
objetos. Dé click-izquierdo sobre el símbolo de transistor nMOS, en la ventana de
componentes (al lado izquierdo de la pantalla), de click-derecho sobre la ventana del
esquemático para colocar el transistor. Repita lo anterior hasta que tenga, el transistor
129
nMOS, pMOS, el símbolo de Tierra y de alimentación en la ventana de su
esquemático. Para mover los objetos basta con dar click-izquierdo sobre ellos y
arrastrarlos. El valor de largo/ancho de los transistores por defecto es 2/2, el ancho se
puede cambiar dando doble click sobre los transistores, para este primer inversor
iniciaremos creando el pMOS de un ancho que sea el doble del ancho del nMOS. Los
tamaños pueden ser 10 para el pMOS y 5 para el nMOS
Figura 6.44. Esquemático del inversor
Ahora, se deben hacer las conexiones para estos de click-izquierdo sobre alguno
de las terminales del transistor, ahora de click-derecho sobre alguna terminal del otro
transistor o componente.
Se necesitan definir los puertos (entradas,salidas) de la celda. Para esto se debe
seleccionar la entrada e ir a Export • Create Export. Escoja un nombre y seleccione
una característica en este caso Input. Se debe hacer lo mismo para la salida.
130
Figura 6.45.Seleccionando la entrada
Use File˖Save para salvar la librería, es bueno salvar constantemente los
cambios.
Ícono
Cada esquemático tiene un símbolo correspondiente, llamado ícono usado para
representar la celda en un nivel de jerarquía superior. Se necesita crear un ícono para el
esquemático que se acaba de crear, para esto seleccionamos view˖MakeIconView.
Electric creará un icono genérico y lo colocaáa en la vista de esquemático. Sin
embargo el esquemático es más fácil de leer cuando el ícono usado
131
nos resulta
familiar, en lugar de las cajas genéricas que Electric crea, por lo que es buena idea
modificar este ícono para obtener el símbolo representativo de un inversor.
Para editar el ícono, damos click sobre él y seleccionamos Cell˖DonwHierarchy,
borramos la caja genérica y utilizamos las distintas formas para crear un inversor, es
buena idea mantener la grilla encendida para que la entrada y salida queden alineadas.
Layout
Ahora crearemos el layout. Vaya a Cell˖NewCell y seleccione la vista de layout,
utilice el mismo nombre que uso para el esquemático. Al hacer esto la librería se verá
como se muestra a continuación, donde la celda Inversor tiene tres vistas.
Figura 6.46. Celda del inversor
Todas las celdas se construirán usando la tecnología mocmos (tecnología
MOSIS CMOS), vaya a File˖Preferences˖Tecnology, seleccione mocmos, 3 capas de
132
metal, 2 de poli y opción de submicron rules. También es necesario cambiar la escala a
para esto vaya a File˖ Preferences ˖Scale seleccione 300 nm.
Figura 6.47.Tecnología mocmos
Es importante escoger un “estilo” consistente para dibujar las celdas de forma
que cuando se necesite construir circuitos más complejos, las celdas de nuestra librería
puedan “calzar” unas con otras similar a un LEGO. Para este laboratorio Vcc y Vss
deberán correr de forma horizontal en la parte superior e inferior de la celda en metal
1, el espacio entre Vcc y Vss será de 80 λ de centro a centro. Los transistores nmos
ocuparan la parte inferior de la celda y los pmos la parte superior; las entradas y salidas
se conectaran por medio de contactos de metal 2, aparte de esto las ningún metal2 o 3
133
deberá ser utilizado dentro de las celdas. Teniendo esto en cuenta se iniciará a construir
el inversor.
Empiece por colocar el transistor nmos. Usted notara una pequeña cruz en la
pantalla, este es el centro o origen (0,0), dibuje el su inversor a una buena distancia del
centro al terminar el layout moveremos el inversor a la posición correcta.
En la pestaña de componentes se encuentra el transistor nmos, colóquelo en la
ventana, recuerde que un transistor nmos se forma cuando poli-silicio cruza sobre una
difusión N, en Electric la difusión n es representada como una difusión verde rodeada
de capa punteada de color amarillo, y la capa sombreada de color amarillo que
“contiene” el transistor representa el pozo de material P.
134
Figura 6.48.Trasistor Nmos
Ahora rotemos el transistor para que la capa de poli-silicio quede de forma
vertical, esto lo puede hacer en Edit˖Rotate o también haciendo doble click sobre el
transistor, con esta última opción también se pueden cambiar otras propiedades del
componente incluyendo el ancho. Ahora coloque un transistor Pmos, rótelo 90 grados
y cambie su tamaño a 5 .
135
Figura 6.49.Propiedades del transistor
Modelos de Spice para los transistores
Para poder tener la posibilidad de simular las compuertas que se crean a lo largo
del laboratorio la es necesario establecer el modelo de Spice para los transistores,
seleccione el transistor Pmos y vaya a Tools˖Spice˖SetSpiceModel, al hacer esto
aparecerá un texto sobre el transistor.
Figura 6.50. Estableciendo el modelo de Spice
Debemos cambiar este texto a PMOS para esto nos posicionamos sobre el texto y
con Crtl+I lo editamos.
136
Figura 6.51.Cambiando el modelo a PMOS
Hacemos lo mismo con el transistor NMOS, cambiando el modelo a NMOS.
Figura 6.52.Modelo de Spice transistor NMOS
Una vez que se establecieron los modelos de Spice es posible continuar
dibujando el layout para el inversor. Conecte los poli-silicio, haciendo click izquierdo
137
en el extremo inferior del pMOS y click derecho en el extremo superior del nMOS.
Para este punto usted deberá tener su diseño como se muestra a continuación.
Figura 6.53. Inversor: conexión PMOS y NMOS
Hay que crear contactos a ambos lados en el source y drain de cada transistor.
Para eso, seleccionamos Metal-1-Active-Contact n o p, según corresponda. Para el
transistor n, seleccionamos el nAct, y lo creamos a alguna distancia a la izquierda del
transistor n. Hacemos doble click sobre el contacto y fijamos su valor y en 4 (el mismo
que el transistor). Se ocupan dos contactos ya uno está hecho, para duplicarlo
138
seleccionamos el objeto y presionamos CTRL-M, colocamos este otro contacto a la
derecha del transistor nMOS.
Antes de acercarlo al drain y source debemos realizar las conexiones, hacemos
click izquierdo sobre el contacto y luego hacemos click derecho sobre el drain o
source.
Figura 6.54.Inversor: contactos
DRC
Antes de acercar los contactos a la difusión utilizaremos la herramienta DRC de
Electric que indica las violaciones de reglas en nuestro layout. Seleccionamos en el
menú: Tools, DRC, Check Hierarchically, o solo presionamos F5.
No debería haber errores. Si los hubiera, presionando > o < se puede ver todos
los errores .El error aparecerá en la ventana de mensajes y se señalará en la ventana del
layout tal y como se muestra a continuación. También se pueden observar los errores
en la pestaña Explorer.
139
Figura 6.55.DRC
Hay que acercar los contactos al transistor tanto como sea posible, sin violar las
reglas de diseño que en este caso son 3 . Para eso es más fácil mostrar el cuadriculado,
el cual está en distancias de lambda, en el menú: Window, Toggle Grid.
Ahora agreguemos Vcc y tierra. Las líneas deben ser de un ancho de 8 λ , para
agregar la línea seleccione metal-1-pin, dibujar la línea en el lado derecho usando
primer el click izquierdo y luego el click derecho, dando doble click en la línea cambie
el ancho a 8 λ, ahora colocaremos estas líneas a una distancia de 80 λ, para realizar
mediciones vamos a Window˖Measurements˖ ToggleMeasumentMode.
140
Figura 6.56.Inversor: líneas de Vcc y Vss
Ahora acerque los transistores a una distancia de 1 lamda de la líneas de metal
que acabamos de crear, de mantenga el click izquierdo presionado para arrastrar el
transistor.
Para realizar la conexión entre el metal 1 y los contactos, haga click izquierdo
sobre el contacto y click derecho sobre el metal 1, si el ancho de esta conexión resulta
141
ser de 8 , de doble click sobre el cable para cambiar las propiedades y ajustar el
ancho a 4
Cuando haya terminado de realizar estas conexiones, debe extender las líneas de
Vcc y Vss, 2 más allá del contenido de la celda. Esto para que al conectar distintas
celdas su contenido estén separados por una distancia de 4 λ y se cumpla así con las
reglas de diseño.
Figura 6.57. Inversor: Vss y Vcc
Su layout debe verse similar a la figura que se muestra a continuación, recuerde
utilizar contantemente la herramienta DRC, para verificar que la celda cumpla las
reglas de diseño.
142
Figura 6.58. Inversor
Recuerde que es necesario colocar contactos en los pozos para evitar que los
diodos BJT que se forman entre pozo y source/drain se polaricen. Pondremos Nwell
taps and P-well taps en cada celda sobre los cables de Vcc y Vss cada, estos se
encuentran en la ventana de componentes.
Colocamos los taps de vdd seleccionando Metal-1-P-Well-Con para el pozo P y
colocándolo “encima” del metal del GN. Se colocan al menos 2 taps, al menos a 3
lambdas de distancia entre ellos. Luego de conectar cada uno hay que conectarlo al
metal por medio de la combinación click-izquierdo-click-derecho. Se realiza lo mismo
143
con Vdd, usando Metal-1-N-Well-Con. Su compuerta debe lucir como se muestra en
la siguiente figura.
Figura 6.59.Inversor: taps
Ahora conectaremos
la entrada al poli-silicio, usando el ícono Metal-1-
Polisilicon-1-Contact. Lo colocamos unos cuantos lambdas a la izquierda del polisilicio y lo conectamos con el click derecho, también debemos realizar la conexión de
metal 1 para la salida del inversor y colocar un contacto de metal 1 metal2 (vía).
Solo falta exportar la entrada, salida, Vcc y Vss y su compuerta debe lucir como
se muestra en la figura a continuación
144
Figura 6.60. Inversor contactos de entrada y salida
Para exportar la entrada seleccionamos el contacto, y en Export˖CreateExport se
le debe dar un nombre, se hace lo mismo con la salida. Para Vcc y Vss el
procedimiento es similar solo que en este caso en característica se debe seleccionar
power o gnd según corresponda, Electric reconoce vdd y gnd como nombres
especiales, asegúrese por lo tanto de usar esos nombres.
145
Figura 6.61.Inversor: exportando la entrada
Al terminar la compuerta verifique nuevamente que la compuerta cumpla con las
reglas de diseño.
La última tarea consiste en posicionar la celda en lugar correcta, centrarla
facilitara conexiones en otros circuitos. Para esto utilizamos el botón
Toggle-
special-select selecionanos el centro de la ventana y arrastramos el símbolo de cruz al
centro de nuestra celda.
146
NCC
Electric puede comparar dos celdas diferentes para determinar si tienen la misma
topología. Esta operación se llama Layout vrs Squematic, es un tipo de verificación
formal, pero Electric puede comparar dos circuitos, sin importar que ambos sean
esquemáticos o layout por eso en Electric se usa el término NCC (Network
Consistency Checking).
Vaya a File˖Preferences˖Tools˖NCC y asegúrese que las opciones marcadas sean
iguales a las siguientes
Figura 6.62.Preferencias para NCC
147
Ahora corrobore que su esquemático y layout sean equivalentes, vaya a
Tools˖NCC˖SchematicandLayoutViews… Si no hay ninguna diferencia en la ventana
de mensajes de Electric deberá observar el siguiente mensaje.
Figura 6.63. LVS
Si existiera alguna diferencia, entonces observara una ventana como la siguiente,
corrija su celda si es necesario.
Figura 6.64. Mensajes de la herramienta NCC
148
Si desea conocer los detalles se debe hacer click sobre las diferencias del lado
izquierdo de la ventana de mensajes del NCC.
Figura 6.65.Diferencia reportadas por NCC
¿Cómo preparar la simulación en Spice?
Electric puede generar archivos de entrada para diferentes simuladores externos,
en nuestro caso usaremos LTspice. Pero antes de realizar una simulación se deben
cambiar algunas de las preferencias que Electric tiene por defecto.
En File˖Preferences, en la sección “Tools” seleccionamos Spice, y cambiamos
las preferencias a las que se muestran a continuación.
149
Figura 6.66. File/Preferences/Tools/Spice
Verifique los transistores de la celda que desea simular tengan definido el
modelo de Spice, ya sea NMOS o PMOS para hacer esto seleccione el transistor y vaya
a Tools˖Spice˖SetSpiceModel, al hacer esto aparecerá un texto sobre el transistor que
deberá cambiar a PMOS o NMOS.
Siempre que se vaya a hacer una simulación copiaremos la celda que deseamos
simular y cambiaremos su nombre, debe ser un nombre representativo por ejemplo
Inversor_lay_sim. Como ejemplo realizaremos la simulación para un inversor.
150
Primero creamos una nueva celda en vista de layout o esquemático según lo que
se desee simular, vamos a Cell˖PlaceCellInstanse y seleccionamos la celda que
deseamos simular en este caso Inversor {lay}
Figura 6.67. Nueva versión de la celda para simulación
Usted deberá tener algo similar a lo que se muestra a continuación.
151
Figura 6.68. Nueva celda para simulación
Si observa con atención podrá notar que los puertos que se exportaron están se
pueden ver en esta celda vamos a conectar estos puertos y darles un nombre para la
simulación en Spice. Para conectarlos basta con hacer click sobre los puertos y dar otro
click en otro lugar de la ventana. Ahora para cambiar el nombre solo es necesario hacer
doble click sobre las líneas de metal y cambiar el nombre de la “net”.
152
Figura 6.69.Conexiones y nombres para la simulación
Ahora se debe incorporar el código de Spice que se desea simular, en las pestaña
de componentes seleccionamos MISC ˖SpiceCode. De Click sobre la ventana para
colocar el texto, y ahora presione Crtl+I para modificarlo.
153
De click en Ok y ahora pondrá ver este código en la ventana donde esta su celda
para simulación, modifique el tamaño del texto para que sea visible y de click en la
opción de multilinea. Como ejemplo para esta simulación cambiaremos el voltaje de
entrada de 0 a 5 volts, y no pondremos ninguna carga la salida de la compuerta.
Debemos incluir el archivo spice.txt que el archivo que contiene los parámetros para
simulación de Spice, estos parámetros son para un proceso subsidiado por MOSIS,
asegúrese de incluir este archivo de forma correcta y de que los nombres de las
conexiones que realizó correspondan a los nombres del código de Spice.
154
Figura 6.70. Celda lista para la simulación
Para este punto tal vez no comprenda este código de Spice, por lo que en la
siguiente sección Código de Spice se detalla las opciones que se pueden utilizar para
otro tipo de simulaciones.
Ahora generaremos el código para Spice ,vaya a Tools/Simulation(Spice)/
WriteSpiceDeck. Con esto se creara un archivo de extensión .spi que es la entrada para
la simulación en LTspice.
¿Cómo colocar y conectar celdas en electric?
Electric cuenta con herramientas para colocar y conectar los elementos de un
circuito. Para hacer uso de estas herramientas y cambiar las preferencias puede ir a
Preferences,∙Tools∙Placement o Preferences,∙Tools∙Routing.
155
Figura 6.71. Herramienta "Placement"
Una vez que los elementos del circuito están colocados, para facilitar el
enrutamiento , se puede copiar la topología del esquemático y pegarla a layout. Para
hacerlo
seleccione
el
esquemático
y
vaya
al
menú
principal
Tools∙Routing∙CopyRoutingTopology luego seleccione el layout de la celda y vaya a
Tools∙Routing∙PasteRoutingTopology. Con esto Electric creará Líneas finas que
conectan dos componentes que luego son usadas por el herramienta de ruteo, para
realizar las conexiones reales, esta líneas se llaman UnroutedArcs.
156
.
Figura 6.73.Unrouted
6.72.Unrouted Arcs
Posteriormente se puede utilizar el enrutador SeaofGatesRouting que usa todas
las líneas de metal disponibles para tecnología que se está usando
157
LTSPICE
La herramienta para simulación es un simulador de SPICE de código abierto, y
es compatible con Electric, de forma que los archivos de Spice generados por Electric
funcionan perfectamente en la herramienta de simulación
Como simular en LTSPICE?
Abra LTSpice y vaya File˖Open y busque el archivo que desea simular.
Figura 6.74.Archivo .spi en LTspice
Para correr la simulación de click en el botón
, ahora tendrá una nueva
ventana en esta es donde se grafican los resultados de la simulación, vaya a
seleccionar las señales que desea graficar.
158
para
Figura 6.75.Selección de las señales
El grafico para el inversor construido en la etapa anterior debería verse como el
siguiente
Figura 6.76.Curva característica del inversor
159
También se puede graficar en distintas ventanas, por medio de la opción “Add
Plot Pane”
Figura 6.77. Como agregar ventanas para graficar
160
Se pueden agregar tantas ventanas como se desee en este caso se agregó una más
para visualizar el voltaje de entrada y el de salida en distintas ventanas
Figura 6.78. Dos ventanas de gráficos
Para visualizar un punto con mayor detalle se pueden usar las opciones de zoom
Figura 6.79. Opciones de zoom
Y en la parte inferior izquierda de la pantalla se puede observar las coordenadas
del punto.
161
Código de Spice
Fuente de voltaje
Spice tiene varias fuentes de voltaje: SINE, PULSE,AC, DC. A continuación se
muestra un ejemplo para cada una de ellas.
DC( {v1} {v2}{distancia entre puntos})
DC Vin 0 5 1m
PULSE( {v1} {v2} {tdelay} { } { } {tiempo en bajo} {periodo} )
Vin In GND DC 0 Pulse 0 5 1n 1n 1n 10n 20n
SIN( {voffset} {amplitud} {freq} {tdelay})
Vin In GND DC 0 Sin 4 1 10000kHz
Componentes
En Spice se pueden colocar muchos componentes por ejemplo resistencias,
capacitores, inductores , diodos, líneas de transmisión y muchos otros.
Capacitor
C{nombre} {+nodo} {-nodo} [{modelo}] {valor}
162
CLOAD Out 0 20pF
Resistencia
R{nombre} {+nodo} {-nodo} [{modelo}] {valor}
RLOAD Out 0 2k
Notas teóricas
Pendiente de las señales
Los cambios de estado en una señal digital no son instantáneos, la transición de
un uno lógico a un cero lógico o viceversa toma cierta cantidad de tiempo de forma que
se la transición tiene una pendiente o “slope”.
Figura 6.80.Pendiente
Para referirnos a la pendiente que se muestra en la figura anterior, se dice que la
pendiente es de un 100% en 5 ns
163

Documentos relacionados

Teoría - Area 5 - Universidad Nacional del Sur

Teoría - Area 5 - Universidad Nacional del Sur CIRCUITOS CON AMPLIFICADOR OPERACIONAL. ..................................................... 156 EL AMPLIFICADOR INVERSOR. ............................................................................

Leia mais