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
CIRCUITOS CON AMPLIFICADOR OPERACIONAL. ..................................................... 156 EL AMPLIFICADOR INVERSOR. ............................................................................
Leia mais