Download Libro de Técnicas de Integración Ing. Iván Jaramillo Jaramillo.
Document related concepts
no text concepts found
Transcript
Tendencias en diseño digital CMOS - VLSI Tendencias en diseño digital CMOS - VLSI Ivan Jaramillo Jaramillo Tendencias en diseño digital CMOS - VLSI Todos los derechos reservados Ivan Jaramillo Jaramillo Universidad Nacional de Colombia Diseño, diagramación y edición: Carolina Jaramillo www.littha.com Ilustraciónes y gráficas: Edna Lizarazo www.pleasure.com.co Primera edición: Agosto de 2012 Impreso en Bogotá, Colombia Indice Prólogo Cápitulo 1 La era del estado sólido Reseña Historica Cápitulo 2 El Chip VLSI Cápitulo 3 Juntura PN Cápitulo 4 El MOSFET Cápitulo 5 Reglas de diseño para transistores Cápitulo 6 El inversor CMOS Cápitulo 7 Lógica Combinatoria en CMOS Cápitulo 8 Lógica Secuencial en CMOS Cápitulo 9 Lógica Dinámica en CMOS Cápitulo 10 Celdas Estándar Cápitulo 11 Diseño de Alto Nivel Cápitulo 12 Test de circuitos integrados Apendice L-edit Referencias y bibliografía 11 15 25 41 85 137 167 221 277 323 373 413 443 469 549 A Ana María, Carolina y Juan Camilo por todo su amor. Prólogo D urante mas de una década se ha venido trabajando en los procesos de diseño digital de alto nivel en los cursos del área de sistema digitales en el programa de pregrado de Ingeniería Electrónica de la Universidad Nacional. Específicamente el curso de Técnicas de Integración se ha centrado en el estudio del diseño digital con tecnologías CMOS. Dado el desarrollo que la tecnología CMOS ha tenido en los últimos 15 años, hemos centrado nuestro estudio en profundizar sobre su alcance, funcionalidad, ventajas y técnicas de diseño. No obstante nos encontrabamos con la ausencia de textos guía que permitieran cubrir toda la temática de nuestros cursos y en especial del curso de Técnicas de Integración. Durante los últimos cinco años como profesor de esta asignatura, me dediqué a realizar una recopilación de los temas e incluir algunas ayudas para el estudiante con el ánimo de conseguir una comprensión de los procesos tecnológicos del CMOS en el ambiente industrial de nuestro país. Esta es la razón por la que hacemos énfasis en este texto en diseño digital de alto nivel con implementación de Celdas Estándar, ya que esta es la tecnología que las grandes compañías del mundo de la electrónica de consumo están empleando en sus diseños e implementaciones. La organización del libro inicia con dos capítulos en donde se realiza una breve reseña sobre el desarrollo de transistor y a continuación se muestra la importancia y el impacto de la tecnología CMOS, como eje central de los desarrollo de aplicaciones del mundo de la electrónica comercial. El capítulo 3 muestra una breve referencia sobre el comportamiento de la juntura pn y su forma de caracterizar el comportamiento estático y dinámico de los dispositivos semiconductores. El capítulo 4 presenta la estructura y comportamiento del transistor Mosfet en donde se incluyen los modelos básicos y sus circuitos equivalentes. El capítulo 5 explica la importancia del conocimiento y manejo de las reglas de diseño, las cuales constituyen la interfaz entre el diseñador y el responsable del proceso de fabricación. El capítulo 6 presenta la arquitectura básica de la estructura CMOS, la cual corresponde al inversor. Se presenta su arquitectura, operación, modelamiento y se establecen las bases para el diseño de cualquier compuerta lógica 11 El capítulo 7 corresponde al diseño de lógica combinatoria y las posibles variantes que se pueden obtener con transistores Mosfet para la implementación de funciones lógicas. El capítulo 8 presenta las diferentes configuraciones para conseguir sistemas digitales con realimentación positiva y así lograr circuitos básicos de lógica secuencial. El capítulo 9 corresponde a las configuraciones de lógica dinámica y su importancia en los procesos de diseño en donde prevalece la reducción del numero de transistores. El capítulo 10 presenta el proceso tecnológico de diseño con celdas estándar. El capítulo 11 muestra las consideraciones básicas del diseño digital de alto nivel y finalmente el capítulo 12 incluye algunas recomendaciones para la realización del test en Asics. Por ultimo, se incluyo un anexo sobre el manejo de la herramienta L-edit, la cual espero sea de mucha ayuda para los estudiantes que desarrollan circuitos integrados con la tecnología de celdas estándar. Quiero expresar mi profundo agradecimiento a mi hija Carolina, quien con mucha dedicación realizó la diagramación de este texto. IVAN JARAMILLO JARAMILLO Chia . Junio de 2012 12 CAPÍTULO 1 La era del estado sólido Reseña Historica L as observaciones de Faraday en 1833, sobre la peculiaridad del sulfuro de plata, dieron partida a la electrónica del estado sólido en 1947 y al circuito integrado, a finales de los 50. La teoría de la mecánica cuántica de Schrödinger fue necesaria para explicar la conducta de los semiconductores; la alquimia fue necesaria para hacerlos, aparentemente. No obstante, la tecnología del semiconductor dio comienzo a una nueva industria aventurera que transformó la segunda mitad del siglo XX y penetró como elemento fundamental en todos los campos de la tecnología1 Cuando los laboratorios Bell, anunciaron la invención del transistor, la prensa general trató el desarrollo casi indiferentemente. El New-York-Times publicó la noticia al siguiente día, julio 1 de 1948, en la ultima página del periódico, como el último artículo en la columna de noticias de la Radio: “Un dispositivo llamado transistor que tiene varias aplicaciones en la radio, donde es empleado ordinariamente el tubo de vacío, se desarrolló por primera vez ayer en los laboratorios telefónicos Bell, 463 calle Oriental, donde fue inventado. El dispositivo sé demostró en un receptor de radio que no contenía ninguno de los tubos convencionales”. El dispositivo desarrollado funcionaba como un amplificador, aunque también se podía usar como un oscilador que emitía ondas de radio. Tenía la forma de un cilindro de metal pequeño de una y media pulgada de largo, el transistor no contiene ni vacío, ni rejilla, ni placa, ni funda de vidrio para mantener fuera el aire. Su acción es instantánea y no se disipa calor como en un tubo de vacío. La idea de usar algún tipo de interruptor electrónico, en vez del tubo de vacío, para reemplazar el sistema de interruptores mecánicos del sistema de comunicación telefónica cobra interés en 1936. Durante 1945, los laboratorios Bell realizan un amplio curso de investigación en la física de los semiconductores apuntando al desarrollo del transistor. En 1948 el tubo de vacío estaba en una alta sofisticación como producto comercial. Era frágil es cierto; pero aun así, fue el primer amplificador. El transistor requirió totalmente, nuevos métodos de producción para el sistema diseñado; y al principio era muy costoso. A causa del reducido tamaño, al poco peso del transistor y al bajo consumo de potencia, hace que el ejército lo adquiera inmediatamente; también trabajan con el los fabricantes de artículos para el cuidado del oído. Lo que inclino las balanzas totalmente hacia el transistor, era la influencia de las computadoras y su necesidad de enormes cantidades de pequeños interruptores de bajo poder, así como la digitalización de muchos de sus sistemas. Pero si algún factor puede darse crédito por el nacimiento del transistor, es la curiosidad intelectual, el transistor tenía sus orígenes en una teoría científica en lugar de tenerlo en desarrollos tecnológicos.2 Es irónico que aunque el concepto de un transistor de efecto de campo, sea muy simple, su desarrollo estaba destinado a llegar, después de un amplificador más complicado: el transistor bipolar. El principio de operación del transistor de efecto de campo se basaba en una modulación de la corriente que fluía a través de un pedazo corto y grueso de material semiconductor por inyección de portadores de carga a través de 1 2 The Foundation of Silicon Age – Ian M.Ross – Bell Labs Technical Journal – Autumn 1.997 A history of the invention of the transistor and where it will lead us William F. Brinkman, Douglas E. Haggan, William W. Trotman – IEEE Journal of solid state circuits. Vol 32, No- 12, December 1.997. 17 una compuerta totalmente aislada del material. Pero la clave para su desarrollo estaba en la formación de estados en la superficie: Los portadores de carga inyectados no podían afectar el flujo de la corriente a través del material semiconductor por que ellos quedaban atrapados en la superficie del material. La ignorancia sobre esta superficie retarda la aparición del transistor de efecto de campo y también la del bipolar. Los Precursores L aboratorios Bell ya era en 1948, y aun lo es, una de las más grandes industrias de investigación y desarrollo en el mundo. Es quien explora todos los aspectos en sus negocios de telecomunicaciones, la disciplina de la metalurgia, la química, la ciencia de materiales, la física del estado sólido y la ingeniería, utilizo organizadamente estas disciplinas para conseguir el logro del primer amplificador de estado sólido. Las investigaciones de Bell en la física de los transistores fueron un producto de las investigaciones en el tubo de vacío, el cual estaba a la par con las emisiones termoiónicas y otras propiedades de las superficies de los materiales. Walter H. Brattain, uno de los tres hombres que jugo un papel principal en la invención del transistor fue asignado a la investigación del tubo de vacío cuando se unió a los laboratorios Bell en 1929. Los conocimientos de Brattain en física del estado sólido le dieron una inclinación hacia los semiconductores y en 1931, el fue reasignado al centro Bell para estudiar el rectificador de óxido de cobre junto con J.A. Becker. Brattain y Becker estaban convencidos de que la acción rectificadora tomaba lugar en la unión del metal y del oxido de cobre, y que el flujo de corriente a través de los materiales era óhmico (Ohm). Estos descubrimientos fueron confirmados por experimentos en fotoelectricidad, en los cuales un flujo de corriente era producido solamente por la iluminación de la unión y por el volumen de los materiales. Como pasó con muchos otros científicos de su tiempo, las investigaciones de Laboratorios Bell también se concentraron con la noción de cómo añadir un tercer electrodo (una malla de control) al rectificador para hacer un amplificador. En 1931, el Físico ingles Alan H, Wilson, publicó el modelo teórico de un semiconductor sólido, el cual se relacionaba con el trabajo inicial sobre el movimiento de los electrones de los metales a los aislantes y semiconductores. Dentro de los pocos años siguientes, se generaron contribuciones a la teoría de los semiconductores por parte de Mott en Inglaterra, Yakob Ilich Frenkel y Davydov en la República Soviética y Schottky en Alemania. Un estudiante William Shockey, el más joven de tres diseñadores claves en el desarrollo del transistor, se unió a los laboratorios Bell inmediatamente después de recibir su doctorado en física del Instituto Tecnológico de Massachusetts en 1936. 18 El Invento P robablemente el hombre responsable de plantar la idea del transistor de Shockley fue Mervin Kelly, director de las investigaciones y más tarde, presidente de los laboratorios Bell. Inevitablemente Brattain y Shockley cruzaron sus caminos a finales de los 30. Shockley se había envuelto en las investigaciones de Brattain y Becker sobre los rectificadores de óxido de cobre y en diciembre 29 de 1939, hizo su primer cuaderno de entrada con una propuesta de un semiconductor amplificador construido de óxido de cobre. Él había estudiado la teoría de Shockley sobre la región espacial de carga, la capa superficial del semiconductor cerca de su unión con el metal, y notó que esa capa se vaciaba de cargas en presencia de un campo de potencial inverso. Esto llevó a Shockley a pensar ¿por qué no podría él extendiendo, de algún modo, la capa de vaciamiento bajo un campo eléctrico aumentado, usarlo como una válvula para regular el flujo de corriente? Él escribió en su cuaderno: “Se me ha ocurrido que un amplificador usando semiconductores en vez de vacío, es en principio posible, suponiendo que una fina malla con una capa de cobre sea oxidada, permitiendo que los contactos óhmicos sean hechos hacia las superficies externas”. Brattain y Shockley continuaron experimentado con el óxido. Russel S. Ohl, un químico de las directivas investigativas de los laboratorios Bell, trabajaba mientras tanto con silicio, un material muy poco conocido en ese tiempo. Ohl observó el comportamiento de unos detectores de silicio tipo Bigote de Gato, en los cuales Bell había buscado mejorar los detectores de microondas, así que comenzó a trabajar con los metalúrgicos, J.H. Scaff y H.C. Theurer, quienes habían descubierto que derritiendo silicio al vacío se podían obtener lingotes relativamente puros; aunque algunos podrían rectificar en alguna forma, algunos de otra, y algunos no. Al material que conducía mejor cuando se inclinaba negativamente, lo llamaron tipo n; al que conducía mejor de la otra forma lo llamaron tipo p. Scanff y Theurer eventualmente descubrieron que lo que distinguía el silicio tipo p era la cantidad de impureza que contenía. Además los dos metalúrgicos encontraron que los elementos en ambos lados de la cuarta columna de la tabla periódica, eran el silicio y el germanio, y éstos podían más fácilmente producir el efecto deseado. Los elementos de la quinta columna como el fósforo y el arsénico, proveían de un exceso de electrones y así, hacían un material de tipo n. Los elementos de la tercera columna incluyendo el boro y el indio creaban un exceso de hoyos haciendo un material de tipo p. Brattain se maravilló de la elegante simplicidad de este descubrimiento. Las investigaciones de los laboratorios Bell se concentraron exclusivamente en el germanio, ya que sus propiedades eran mas claramente entendidas que las del silicio. A mediados de diciembre de 1947, Pearson y Bardeen, probaron que bajando la temperatura del semiconductor los electrones atrapados en la superficie podían ser congelados y su efecto de campo, detectado. Un intento consecuente para medir ese cambio de potencial en la superficie del germanio, con esa temperatura, resultó ser una prueba inconclusa: la condensación interfería. Una posible solución fue sugerir que todo el aparato, un pedazo de semiconductor, con los electrodos de contacto respectivos, y cables para 19 medir los potenciales de contacto y voltajes fotoeléctricos, fuera sumergido en un líquido aislante o en un electrolito. Variando entre la superficie del semiconductor y el respectivo electrodo, intentaron cambiar significativamente el voltaje generado fotoeléctricamente. El grupo que había hecho esto, había descubierto el efecto de campo de Shockley. La semana antes de navidad una adaptación del experimento anterior produjo un tríodo amplificador: un potencial aplicado, entre una gota de agua, alrededor de un contacto de metal con silicio y la placa de silicio, que podía regular por su cuenta un flujo de corriente al contacto con el semiconductor. Otros líquidos, electrolíticos, dieron aún mejores resultados. Sin embargo, el grupo sabía que el amplificador que ellos estaban buscando no podía utilizar líquidos; se hicieron intentos de usar un filme evaporado de oro alrededor del punto pero debido a sus pequeñas dimensiones, un bajo voltaje destruiría aun el punto de contacto. Cuatro días después en diciembre 23 de 1947, el grupo obtuvo su mayor triunfo. Bardeen y Brattain habían decidido que lo que había que hacer era conseguir dos contactos extremadamente cercanos entre sí en la superficie del semiconductor. Por sus cálculos la distancia no debía ser mayor de o milésimas. Esto los puso en problemas ya que el alambre más fino que tenían para trabajar tenía 5 milésimas de diámetro. Bardeen y Brattain descubrieron pronto que un pequeño potencial en el emisor, positivo con respecto a la base, podría inyectar “hoyos” en la superficie del semiconductor y prontamente incrementar su capacidad de carga de corriente. Usando la acción de válvula, su amplificador logró una ganancia de voltaje de aproximadamente 100 eso operando en el rango del audio. El circuito original fue dado a conocer aun en ese día, y usando inmediatamente siguiente en la construcción de un oscilador, despejando cualquier duda de que era verdaderamente un amplificador. El único problema urgente era como llamar al invento. Figura 1.1 El primer Transistor1 1 http://francisthemulenews.wordpress.com/2008/08/16/¿como-se-hace-un-genio-o-la-historia-debardeen-y-el-primer-transistor/ 20 El Transistor E l nombre llegó un día cuanto John R.Pierce estaba en la oficina de Brattain. Pierce, que era mejor conocido por su trabajo en comunicaciones satelitales, propuso un nombre que encajó en la dualidad del invento y los tubos de vacío: el parámetro importante en un tubo. El razonó: esto es transconducción de radio de corriente externa a voltaje interno; el amplificador de estado sólido brindó gran resistencia. Pierce sugirió la palabra “transistor”. Fue sólo después de siete meses que los laboratorios Bell anunciaron públicamente su “transistor”. El grupo de trabajo en el semiconductor, necesitó todo ese tiempo para entender completamente el efecto que envolvía el funcionamiento del transistor, de manera que pudieran escribir un documento sobre esto y así poder patentarlo. También los militares, tuvieron que ser invitados a mirar si, a su parecer, este invento tenía que ser guardado como clasificado. Pero un informe convenció a los militares de que no era necesario hacerlo y una semana después fue llevado a cabo su primera demostración pública en Nueva York en junio 30 de 1948. La cálida acogida del público, sin embargo, dejó entre ver que el invento iba a quedar como una rareza de laboratorio hasta que más versiones prácticas fueran hechas y diseñadas a los equipos. Ya que Shockley no había participado en el descubrimiento del punto de contacto del transistor, la patente fue adjudicada a Bardeen y a Brattain, aunque él fuera el líder del grupo del semiconductor, y fue ciertamente un contribuyente clave en el conocimiento que permitió este descubrimiento. Shockley decidió abandonar su idea de un transistor de campo-efecto, temporalmente, y se concentró en otra idea que tenía, para un mejor dispositivo bipolar y sugirió que el efecto del transistor podía tomar lugar en una estructura que empaquetara una región de semiconductor n entre dos regiones de semiconductor p. Shockley llamó a la estructura un transistor de unión, pero no pudo verificar la teoría de su operación simplemente porque no había manera de construirlo en ese tiempo. Los laboratorios de TI producían transistores de punta de contacto, como también su respectiva ensambladura en ese mismo año, pero su mayor contribución fue en 1954 cuando anunciaron el primer transistor hecho con silicio. El primer dispositivo construido por difusión fue el transistor mesa. Este podía operar con frecuencias más altas que dispositivos anteriores (algunos de estros primero transistores mesa llegaron al nivel del gigahertz) y era mejor para disipar el calor por su estructura rugosa. El aparato hizo su primera aparición en 1958, y en 1959 era lo ultimo en el campo de transistores. Fue entonces cuando Fairchild Semiconductor marco huella en la industria del transistor con el proceso planar. A fines de los años 50´s, ingenieros en Fairchild Semiconductor Co. Y en Texas Instrument desarrollaron el primer transistor plano, y más adelante el primer circuito integrado plano. La invención del circuito integrado reveló el potencial para extender el costo y los beneficios de operación de los transistores a todos los circuitos producidos en masa. 21 La invención del circuito integrado permitió que docenas de transistores se pusieran en el mismo chip. Este empaquetamiento permitió construir computadoras más pequeñas, rápidas y baratas que sus predecesores con transistores. Las primeras versiones de la IBM 360 eran transistorizadas, pero las versiones posteriores no solo eran más rápidas y poderosas, sino que fueron construidas en base a circuitos integrados. En 1965, Gordon E. Moore (fundador de Fairchild, y patentador del primer circuito integrado) cuantificó el crecimiento sorprendente de las nuevas tecnologías de semiconductores. Dijo que los fabricantes habían duplicado la densidad de los componentes por circuito integrado a intervalos regulares (un año), y que seguirían haciéndolo mientras el ojo pudiera ver. En 1967, Fairchild introduce un chip que contenía una ALU de 8 bits: el 3800. En 1968, Gordon Moore, Robert Noyce y Andy Grove establecen la compañía Intel, que en un principio se dedica a fabricar chips de memoria. En este mismo año, la computadora CDC 7600 logra la velocidad de 40 Mflops. En el año 1969, el departamento de defensa de los EE.UU. encarga la red Arpanet con el fin de hacer investigación en redes amplias, y se instalan los primeros cuatro nodos (en la UCLA, UCSB, SRI y Universidad de Utah). También se introduce el estándar RS232C para facilitar el intercambio entre computadoras y periféricos. En 1970 aparecen los discos flexibles y las impresoras margarita. También comienza a usarse la tecnología MOS (Metal Oxide Semiconductor) para circuitos integrados más pequeños baratos. En 1971, Intel fabrica el microprocesador de 4 bits 4004, la primera computadora en un solo chip. Su objetivo era ser usado para una calculadora. Ya en 1972, Intel fabrica el 8008, primer microprocesador de 8 bits(que es reemplazado por el 8080, debido al límite de memoria de 16K impuesto por los pins en el chip). En 1973, las técnicas de integración a gran escala (LSI – Large Scale Integration) permiten poner 10.000 componentes en un chip de 1 cm2. En el mismo año, John Metcalfe propone el protocolo Ethernet para comunicación en redes locales. En 1975, la primera computadora personal, la Altair 8800, aparece en la revista Popular Electronics, explicando como construirla. También en ese año, IBM introduce la primera impresora láser. En el año 1976, Steve Jobs y Steve Wosniak diseñan y construyen la Apple I, que consiste principalmente de un tablero de circuitos. IBM introduce las impresoras a chorro de tinta en ese mismo año, y Cray Research introduce la Cray I, una supercomputadora con una arquitectura vectorial. También Intel produce el 8085, un 8080 modificado con algunas características extra de entradas/salida. Poco más tarde, Motorola introduce el procesador 6800, que era una computadora de 8 bits comparable al 8080. Fue utilizada como controlador en equipos industriales. Fue seguido por el 6809 que tenía algunas facilidades extra, por ejemplo, aritmética de 16 bits. En 1977, Steve Jobs y Steve Wosniak fundan Apple Computer, y la Apple II es anunciada públicamente. En 1978, Intel produce el 8086, una CPU de 16 bits en un chip. Este procesador es completamente compatible con el 8080, y también lo fue el 8088, que tenía la misma arquitectura y corría los mismos programas, pero con un bus de 8 bits en lugar de uno de 16, haciéndolo más lento y barato. En ese año DEC introduce la VAX 11/780, una computadora de 32 bits que se hizo popular para aplicaciones técnicas y científicas. En 1979, Motorola introduce el procesador 68000 que seria más adelante el soporte para las computadoras Macintosh, Atari, Amiga y otras computadoras populares. Este procesador no era compatible con el 6800 o el 6809. Es un híbrido 22 entre arquitecturas de 16 y 32 bits, y puede direccionar 16 Mb de memoria. De aquí en más los procesadores 680 x 0 siguen siendo muy similares desde el punto de vista del programador, con pocas instrucciones agregadas en cada versión nueva. También en este año aparecen los videodiscos digitales. En 1980 se produce la primer computadora portable: la Osborne 1. David Patterson, en la UC: Berkeley, introduce el concepto de RISC, y junto con Jhon Hennessy, de Stanford, desarrollan el concepto. En 1981 se lanza la computadora de arquitectura abierta IBM-PC, y un año mas tarde se produce el primer “clon” de esta computadora. En la década del 80, fue posible la Integración a muy alta escala (VLSI – Very Large Sacel Integration) poniendo cientos de miles (y posteriormente millones) de transistores en un chip. En 1982, el gobierno de Japón inicia el proyecto de 5ª generación de computadoras, enfocado en desarrollo de hardware para soporte de inteligencia artificial. La computadora Cray X-MP (dos Cray-1 conectadas en paralelo) muestra ser tres veces más veloz que una Cray 1. En este año Intel pone a la venta los procesadores 80186 y 80188 que tenían funcionalidad similar al 8086/88, pero mayores facilidades de entrada y salida. También sale el procesador 68008 de Motorola idéntico al 68000, pero que usaba un bus de 8 bits a menor costo. En 1983, el procesador 68010 soluciona algunos problemas del procesador anterior, introduciendo facilidades para memoria virtual, y podía direccionar 2 Gb de memoria. En 1984, Phillips y Sony introducen el CD-ROM, que provee gran capacidad de almacenamiento para datos digitales. En el mismo año, Motorola introduce el procesador 68020, que tenía 250.000 transistores. Este era un procesador de 32 bits, con un bus de 32 bits e instrucciones de multiplicación y división de 32 bits. Este procesador fue el corazón de las principales estaciones de trabajo científicas y de ingeniería (tales como las de Sun Microsystems, Apollo y Hewlett-Packard) . La NEC fabrica un chip de 256 Kbits, e IBM un chip de RAM de 1 Mbit. Intel introduce su procesador 80286, que fue usado principalmente en la IBM PC/AT y en los modelos PS/2, que permitía direccionar más de 1 Mb de memoria. En 1985, la computadora Cray alcanza una velocidad de 713 Mflops. Intel introduce el procesador 80386, con procesamiento de 32 bits y administración de memoria en el chip. La versión SX era una versión especial del 80286, que fue usado priciplamente en la IBM PC/AT y en los modelos PS/2, que permitía direccionar más de 1 Mb de memoria. En 1985, la computadora Cray alcanza una velocidad de 713 Mflops. Intel introduce el procesador 80386, con procesamiento de 32 bits y administración de memoria en el chip. La versión SX era una versión especial del 80386 que se podía insertar en un slot de un 80286 para proveer una mejora parcial de las 80286 existentes. En 1988, Motorola presenta una serie de microprocesadores RICS de 32 bits 88000. Estos pueden llegar a velocidades de hasta 17 millones de instrucciones por segundo. En 1989, se introduce el chip Intel 80486 que tenía 1200.000 transistores. El procesador incluye el coprocesador de punto flotante, un controlador de memoria y una caché de 8 Kb en el chip. El procesador es de 2 a 4 veces más rápido que el 386, y esta mejor preparado para construir multiprocesadores. También Cray funda Cray Computer Corporation, y construye la Cray 3 usando chips de Arseniuro de Galio. En 1991, la velocidad de 16 Gigaflops. IBM, Motorola y Apple se unen para construir el procesador Power PC. 23 En 1992,DEC introduce el primer chip que implementa su arquitectura de 64 bits Alpha. En 1993, Intel introduce el Pentium. El procesador Power PC de Motorola contiene 7 millones de transistores, el Pentium II de Intel contiene aproximadamente 7.5 millones, y el microprocesador Alpha de Digital contiene casi 10 millones. NEC anunció en 1997 que había desarrollado un chip DRAM de 4 Gigabits. En el 2010 habrá disponibles Terachips (capaces de manejar un trillón de bits o instrucciones). Para lograr tales densidades hará falta desarrollar elementos que son de 1/10000 de milímetro (aproximadamente el ancho de una cadena de ADN). 24 CAPÍULO 2 El Chip VLSI Resumen L as aplicaciones de la electrónica hoy en día se caracterizan básicamente por contar con alto nivel de procesamiento de información y un muy reducido tamaño. Estas dos características han potenciado el desarrollo de nuevas metodologías de diseño y nuevos procesos de fabricación, que han ido de la mano con políticas de mercadeo y consumo masivo. Este artículo mostrará las tendencias que se están generando en el campo de la Microelectrónica y su importancia como sector productivo que deberá ser en países del Tercer Mundo. CAMPOS DE ACCIÓN DE LA MIRCROELECTRÓNICA INDUSTRIA MILITAR APLICACIONES AUTOMOTRICES ENTRETENIMIENTO MICROELECTRÓNICA TELECOMUNICACIONES ELECTRÓNICA INDUSTRIAL ELECTROMEDICINA COMPUTADORES ROBÓTICA INSTRUMENTACIÓN Figura 2.1 27 El soporte fundamental del avance tecnológico ha recaido sobre la Microelectrónica, ya que esta ha asumido el manejo de la información cada vez en mayor volumen, rapidez y eficiencia. “Ese gran logro, lo concretamente novedoso, llegó solo con la Microelectrónica, pues gracias a ella fue posible crear por primera vez componentes que reúnen los requisitos para su adecuada utilización a gran escala: MANEJO DE INFORMACIÓN LOGROS PRODUCCIÓN MASIVA CONSUMO BAJO DE ENERGÍA TAMAÑO MUY PEQUEÑO COMPLEJIDAD Figura 2.2 • Cuentan con complejidad suficiente para la autonomía en el manejo de la información. • Es posible producirlos en grandes series a precios convenientes, de modo que su posesión y utilización no es privilegio de pocos y, en cambio, llega a ser posible para muchas personas. • Son tan pequeños y livianos y requieren tan poco energía, que para usarlos ya no hace falta crear condiciones operativas extraordinarias.” 1 “Hasta la década pasada. Los años 80’s, los llamados países del Tercer Mundo fueron, fundamentalmente, partícipes de esa revolución tecnológica como consumidores de diversas aplicaciones. Algunas de estas naciones han ido despertando, de forma muy lenta, de ese aletargamiento en que han permanecido desde tiempo atrás. Han comprendido que deben enfrentar los nuevos retos tecnológicos como componentes activos en el desarrollo de la Microelectrónica”2 1 ”Los Chips y sus Perspectivas”, Siemens Aktiengesellschaft, Berlín, 1985. 2 “Presente y Futuro de la Microelectrónica”, L.A. Cortés, Ingeniería e Investigación, UN, No. 46, 1999. 28 La tecnología del CI L os dispositivos electrónicos de hoy se caracterizan por una alta versatilidad, baja disipación de potencia, tamaños y volúmenes extremadamente pequeños y bajo costo en yuxtaposición con el alto grado de sofisticación y complejidad del componente. Los niveles de complejidad se han conseguido en la medida en que se han integrado cada vez un mayor número de transistores dentro de un Circuito Integrado. El comportamiento histórico de los niveles de integración fue predecido por Gordon Moore presidente de Intel en 1960.3 Número de transistores 1971-2011 - Ley de Moore 16-Core SPARC T3 Six-Core Core i7 Six-Core Xeon 7400 2,600,000,000 Dual Core Itanium 2 AMD K 10 1,000,000,000 POWER6 Itanium 2 with 9MB caché AMD K10 AMD K8 Pentium 4 Total transistores 8-Core POWER7 Quad-Core z196 Quad-Core Itanium Tukwila 8 Core Xeon Nehalem-EX Six-Core Opteron 2400 Core i7 (Quad) Core 2 Duo Cel Itanium 2 100,000,000 10-Core Xeon Westmere-Ex Curva que muestra el total de transistores doblandose cada dos años 10,000,000 Barton Atom AMD K7 AMD K6- lll AMD K6 Pentium lll Pentium ll AMD K5 Pentium 80485 1,000,000 80386 80285 100,000 68000 80186 8086 8085 10,000 6800 6809 8080 4004 Z80 MOS 6502 8008 2,300 8088 RCA 1802 1971 1980 1990 2000 2011 Año Figura 2.3 Ley Moore4 3 “Basic VLSI Design”, D. A. Pucknell, K. Eshraghian, Prentice Hall 1995. 4 www.xataka.com 29 Los niveles de integración han ido creciendo vertiginosamente mientras que el costo por transistor se ha reducido. Así pues el costo por transistor de un circuito SSI5 en 1965 era del orden de US$10, mientras que el costo por transistor en un procesador Pentium-II hoy en día es del orden de US$1.0e-5. El proceso de miniaturización está enmarcado con la tecnología para conseguir transistores más pequeños. El tamaño de los transistores se mide de acuerdo con la longitud de las líneas que definen su geometría. Hoy en día los mayores niveles de integración se consiguen con memorias DRAM de 64 Mbytes trabajadas en tecnología de 0.35µm, y se están anunciando tecnologías de 0.25µm y 0.18µm. No obstante el costo de implementar un nuevo proceso tecnológico es muy elevado, así por ejemplo el costo de una línea de fabricación de 1.0µm estaba alrededor de US$100M, mientras que el costo de una línea de 0.35µm podría estar cerca de US$100000M.6 El proceso tecnológico CMOS en los últimos años, ha sido dominante por su alta funcionalidad y su relativa efectividad en costos de circuitos VLSI. Este progreso puede enmarcarse por la aparición de chips en arquitectura RISC con capacidades de hasta 40 MIPS . Las ventajas relativas de esta tecnología estriban en su bajo nivel de disipación de potencia, tiempos de propagación medios y costo por transistor bajo. En la próxima década, la tendencia tecnológica primaria en la estructura física continuará hacia la miniaturización de CI’s fabricados en silicio, ya que ello implica circuitos con mejor desempeño y menores costos. No obstante se está llegando al punto de saturación en la disminución de tamaños, ya que por restricciones físicas de los materiales, será muy complicado reducir más las geometrías en el proceso de fabricación. Propagation delay/gate 10 ns nMOS CMOS 1 ns BiCMOS ECL 100 ps GaAs 10 ps 10 µW 100 µW 1 mW 10 mW 100 mW Power dissipation/gate Figura 2.4 Evolución de los procesos tecnológicos de fabricación CI 5 SSI : Small Scale Integration. Circuito Integrado de integración a pequeña escala 6 “Trends in CMOS Tecnologies”, C. L. Claeys, Memorias I Workshop IBERCHIP, Cartagena de Indias, 1995. 30 Se están tomando otros caminos que permitan mejorar el desempeño de una tecnología. Esto se está consiguiendo con la tecnología BiCMOS, especialmente en aplicaciones análogas. En dispositivos de muy alta velocidad (por encima de 100 MIPS), se está explorando la tecnología de Arsenurio de Galio (GaAs). Tambíen se están efectuando trabajos de investigación en tecnologóias optoelectrónicas y en estructuras de efecto cuántico. TENDENCIAS DE LOS SERVICIOS DE INFORMACIÓN EN LA INDUSTRIA HDTV por Demanda Video por Demanda Procesamiento de voz/ Reconocimiento Inalambricos/ Datos celulares Comunicaciones Comunicación de Datos Aplicaciones de Multimedia Computadores Principales 1970 Aplicaciones de Multimedia Computadores Portatiles Computadores Personales 1980 Redes de Computadores 1990 2000 2010 2020 Figura 2.5 Tendencias de la información Clasificación de los CI E n términos generales los CI se clasifican en dos grandes bloques: Circuitos Integrados de Función Fija y Circuitos Integrados de Aplicación Específica (ASIC’s). Hoy en día el diseño requiere ser personalizado para garantizar la integralidad de la aplicación y evitar su copia, esta es la razón por la cual los ASIC adquieren cada vez mayor importancia. ASIC Sobre medidas Celdas Estándar Arreglo de compuertas PIC PLD FPGA Figura 2.6 Clasificación de los ASIC´S 31 Los circuitos de función fija – en ocasiones llamados componentes discretos – incluyen Memorias, Microprocesadores y elementos de propósito general, los cuales han sido desarrollados por empresas de gran capacidad tecnológica y económica.7 Un ASIC es un circuito integrado cuya función será definida de acuerdo a unas necesidades particulares y surge como solución de diseño a un problema específico. Se caracteriza por: reducción de costos, protección contra copia, funcionalidad adecuada y peculiaridad propia. Circuitos sobre-medidas S e realiza el diseño en la etapa de más bajo nivel, permitiendo manejar estructuras a nivel de transistores, consiguiéndose un alto nivel de flexibilidad pero con elevados tiempos de desarrollo. Una variedad de esta clase de circuitos la constituyen los circuitos Semi-Custom, en donde el fabricante le suministra al diseñador algunas librerías con celdas o estructuras básicas, facilitando el trabajo del diseñador. El diseño de este tipo de circuitos requiere de herramientas CAD, las cuales permiten al diseñador implementar la aplicación a partir de los dibujos geométricos de la configuración deseada. Normalmente estas herramientas conocidas como “Compiladores de Silicio” se configuran de acuerdo con el proceso tecnológico de fabricación, es decir que tengan en cuenta las restricciones de tamaños y las características y parámetros de los transistores básicos. Celdas Estándar E n esta tipología el diseñador dispone de una librería de celdas o módulos que realizan funciones básicas y que ya han sido probadas y caracterizadas por el fabricante de la tecnología. Los módulos básicos o celdas lo constituyen algunas compuertas lógicas, flip-flops y registros entre otros, diseñados de manera que puedan ser ubicados en forma regular dentro del Chip. El diseñador realiza su trabajo en mucho menor tiempo, no obstante requerir de herramientas tipo CAD para generar las geometrías y realizar la comprobación funcional del diseño. 7 “Circuitos Integrados de Aplicación Específica”, L.A. Cortés, Ingeniería e Investigación, UN, No. 47, 1999 32 Arreglos de Compuertas En esta tecnología se encuentran pre-fundidas estructuras básicas y el usuario lo que realiza es definir las máscaras de interconexión de dichas estructuras. De esta manera un solo chip cuenta con cientos de celdas idénticas, siendo cada una de ellas capaz de realizar una función lógica simple. Las celdas están dispuestas según un esquema regular, por ejemplo en forma de filas. Entre las filas están previstos canales de conexión dentro de los cuales podrán ser colocadas líneas de metal. Circuitos Programables (PIC) Esta variedad de ASIC’s se basa en la característica de su reconfiguración en sitio para conseguir una aplicación determinada. Dentro de los principales dispositivos con esta característica se destacan: PLD El Dispositivo de Lógica Programable contiene una gran cantidad de compuertas que se encuentran interconectadas en el chip. Muchas de las conexiones se han dejado libres para que sean programadas por el usuario con el fin de definir una función lógica. Están orientados hacia la síntesis de máquinas de estado, contando en general con reducido número de módulos programables complejos y conexiones programables centralizadas. Las arquitecturas de los PLD’s pueden variar desde las memorias PROM (Programmable Read Only Memory) hasta los FPC’s (Fuse Programmable Controllers), pasando por PLA’s (Programmable Logic Arrays) o FPLA’s (Field Programmable Logic Arrays), PAL’s (Programmable Array Logic) combiancionales y secuenciales, GAL (Generic Array Logic) y PLS (Programmable Logic Secuencers), entre otros. FPGA La versión más compleja de los dispositivos programables la constituyen los FPGA (Field Programmable Gate Array), los cuales están constituidos por bloques lógicos configurables, cuya función es programable y el conjunto de conexiones también. De esta forma se puede realizar la interconexión de los distintos bloques e interfaces de entrada/ salida para el intercambio de señales con el medio externo. Se destacan tres características importantes: número elevado de módulos programables simples, conexiones configurables distribuidas y orientación hacia el diseño jerárquico. 33 EL CHIP VLSI EN EL AÑO 2005 Tamaño mínimo del proceso tecnológico 0.1µm Número total de transistores 200 Millones Número de compuertas lógicas 40 Millones Tamaño del chip 520mm² Frecuencia de reloj 2.0 - 3.5 GHz Número de conexiones l/O 4000 Número de capas de alambrado 7-8 Tensión de alimentación 0.9 - 1.2V Corriente de alimentación ~160 A Potencia disipada 160W Figura 2.7 Características de los CI en el año 2005 1947 1950 1961 1966 Invención del transistor Componentes discretos SSI MSI Aproximación del número de transistores por chip utilizados en productos comerciales 1 1 10 10-1000 Productos típicos - Junturas Transistores y diodos Fuentes estables Puertas lógicas FLIP-FLOPS Contadores Múltiplex Sumadores AÑO 1971 1980 1990 2000 Tecnología LSI VLSI ULSI* GSI Aproximación del número de transistores por chip utilizados en productos comerciales 1000-20000 20000-1000000 100000010000000 >10000000 Productos típicos Microprocesador de 8 bits Rom Ram Microprocesador es de 16 y 32 bits. Sofisticados PERIPHEARLS GHM DRAM Procesadores especiales, maquinas de realidad virtual, sensores smart. AÑO Tecnología 34 AÑO Transistores por cm² Tamaño del Chip 1999 2001 2003 2006 2009 2012 0.14 µm 0.12 µm 0.10 µm 0.07 µm 0.05 µm 0.035 µm 14 Millones 16 Millones 24 Millones 40 Millones 64 Millones 100 Millones 800mm² 850mm² 900mm² 1000mm² 1100mm² 1300mm² Figura 2.8 Tendencias de integración Procesadores Modernos La ley de Moore. E n abril de 1965 la revista Electronics produjo un suplemento especial para celebrar sus 35 años y en uno de sus artículos Gordon Moore describió las expectativas de la naciente tecnología de los circuitos integrados. Para ese entonces los circuitos integrados estaban limitados a 30 transistores, pero Moore y su equipo de trabajo estaban desarrollando un nuevo producto con 60. Balanceando innovación y factores económicos, Moore concluyó que el número de dispositivos en un IC pudiera doblarse cada año durante la década siguiente. En 1975 esta cifra se cambió a 24 meses para compensar por la creciente complejidad de los circuitos integrados y hacia finales de los 80 se cambió de nuevo a 18 meses. La ley Moore representa el crecimiento exponencial de la capacidad de procesamiento digital con un mejoramiento continuo de la relación entre precio y desempeño de los circuitos integrados (Figura 1). Es importante adicionar que en la medida que los procesadores son más complejos, su frecuencia de operación también se incrementa. Como un corolario a la ley de Moore se puede adicionar el que la frecuencia de los procesadores de punta se duplica cada dos años . Esta curva ha sido un poco más accidentada pues inicialmente se incremento muy rápidamente, luego se saturó temporalmente pero con la transición de NMOS a CMOS ha llegado al nivel mencionado (Figura 2.9). 35 10000 FRECUENCIA (MHz) 1000 Duplica cada 2 años P6 100 486 10 8085 8086 286 Pentium ® proc 386 8080 1 8008 4004 0.1 1970 1980 1990 2000 2010 AÑO Figura 2.9 Incrementos en frecuencia de operación - Referencia: www.intel.com Ahora desde el punto de vista del consumo de potencia de los procesadores es claro que nos aproximamos a un callejón sin salida. La potencia consumida por un transistor en un circuito integrado es de la forma: P A .V 1 . . 2. CV f 2 Donde A es una constante, V es el voltaje aplicado al transistor, C es su capacidad y f su frecuencia de operación. Intel ha reconocido éste tópico como uno de los obstáculos más críticos para el desarrollo de los procesadores digitales del futuro (Figura 2.10). Potencia para 1cm² de chip (Watts) Extrapolación de Potencia Superficie solar 10,000 Chorro de cohete 1,000 Reactor nuclear 100 10 4004 8008 1 ‘70 8008 8086 Plato caliente 8085 286 ‘80 386 486 ‘90 Procesadores Pentium ‘00 Figura 2.10 Extrapolación del consumo de procesadores. 36 ‘10 Es claro que el consumo de potencia de los procesadores se incrementa de manera exponencial debido no sólo al voltaje de operación de sus transistores sino también al incremento de las corrientes de fugas a través del dieléctrico de la compuerta y a la corriente de fuga entre drenaje y fuente aún cuando el transistor está apagado. Como lo definen los científicos de Intel: “Si no se hace nada, el consumo de potencia estará fuera de control y la ley de Moore no será posible. CPU´s futuras no serán posibles”. Cómo continuar la ley de Moore H ay dos métodos bien conocidos para reducir el consumo de potencia de un procesador dado: • Reducción de la actividad del procesador, por medio de ‘clock gating’ en que ciertas secciones del procesador tienen su reloj de control habilitada por una señal de control únicamente cuando esta sección está operando. Esta técnica se implementa cuando un cierto bloque es inactivo por un cierto número de ciclos de reloj. 3.100 1.40 3.000 1.20 2.900 1.00 2.800 0.80 2.700 0.60 2.600 0.40 2.500 0.20 2.400 0.96 0.98 1 1.02 1.04 1.06 Pot. Estática (W) Pot. Dinámica (W) • Cómo el consumo de potencia es función del cuadrado del voltaje (Figura 2.11) hay dos maneras de implementar reducciones de consumo llamadas estáticas y dinámicas. 1.08 Vdsp Medio Correlación V² Estática Figura 2.11 Consumo de potencia 37 El método estático utiliza diferentes fuentes de alimentación en que las cargas críticas (rápidas) se alimentan con voltajes altos mientras que las cargas no críticas se alimentan con un voltaje más bajo. Esta solución tiene un número de inconvenientes y no es muy práctica. Con el método dinámico los procesadores son diseñados para lograr su máximo desempeño con el máximo voltaje de operación. Si los requerimientos no son los máximos, el control del procesador puede reducir el voltaje de operación y su frecuencia con su consecuente reducción de consumo. Si se reduce el voltaje de operación de los procesadores es necesario reducir su voltaje de umbral para garantizar que su desempeño siga siendo bueno o mejore con respecto a tecnologías previas (overdrive). Sin embargo, al hacer esto se incrementa exponencialmente la corriente de fuga por debajo del voltaje de umbral de los transistores. Esto afecta el margen de ruido de los dispostivos, su consumo de potencia y puede generar problemas de estabilidad. Para solucionar este tipo de problemas existe una actividad de desarrollo marcada a nivel de diseñadores de semiconductores para reducir el consumo de los futuros procesadores8. Es claro que en el futuro la longitud de la compuerta de un transistor CMOS que indica que tan pequeño es pasará de 50 a 10 nm. Un canal más corto implica un transistor más rápido porque los portadores tienen una distancia más corta para recorrer. Sin embargo al mismo tiempo es más difícil para la compuerta controlar el canal, porque el voltaje en el drenaje reduce la barrera de energía en el canal, reduciendo el voltaje de umbral y liberando portadores aún con la compuerta apagada. Para lograr este tamaño su diseño tendrá varios cambios: • Para mejorar su desempeño el silicio se mezclará con otro semiconductor como germanio para producir una estructura cristalina más espaciosa que permita a los portadores moverse más rápido. • Para reducir la fuga de corriente que incrementa el consumo los óxidos utilizados en la compuerta de los transistores será reemplazada con un material que tenga más de ocho veces la constante dieléctrica del dióxido de silicio. • Para mejorar el control de los estados de encendido y apagado las compuertas serán de metal, en lugar de polisilicio. • Para mejorar el control del transistor y reducir su consumo se utilizarán dos compuertas. Una vez se implementen estos nuevos desarrollos se presentará una reducción adicional en los voltajes de operación de los procesadores (Fig. 2.12). 8 38 Las memorias incluyen una presentación de Intel a este respecto. Figura 2.12 Variación de la tensión de alimentación Expectativas para el futuro L as expectativas futuras en el desarrollo de semiconductores se han resumido en el International Technology Roadmap for Semiconductors, publicada por la Semiconductor Industry Association donde se espera que para el año 2016 los circuitos integrados contengan más de 8.8 billones de transistores en un área de 280mm². Se espera adicionalmente una reducción masiva de la longitud del canal de los transistores utilizados (Figura 2.13), así como en los voltajes de operación de los procesadores (Tablas 2.14 y 2.15) ITRS Roadmap Acceleration Continues... Gate Length Technology Node - DRAM Half - Pitch (nm) 1000 2001 MPU Printed Gate Length 2001 MPU Physical Gate Length 1999 ITRS MPU Gate Length 100 2-year Cycle 3-year Cycle 10 1995 1998 2001 2004 2007 2010 2013 2016 Year of Production Figura 2.13 Longitud del canal del MOSFET 39 Fuentes de alimentación y disipación de potencia - mediano plazo Año de producción 2001 DRAM � 130 espaciamiento (nm) MPU/ASIC � 150 espaciamiento (nm) MPU longitud física de 65 la cpmpuerta (µm) Tensión de Alimentación (V) Vdd (Alto rendimiento) 1.1 Máxima potencia permitida Alto rendimiento con disipador Costo- rendimiento (W) Batería (W) 2002 2003 2004 2005 2006 2007 115 100 90 80 70 65 130 107 90 80 70 65 53 45 37 32 28 25 1.0 1.0 1 0.9 0.9 0.7 130 140 150 160 170 180 190 61 75 81 85 92 98 104 2.4 2.6 2.8 3.2 3.2 3.5 3.5 Figura 2.14 Fuentes de alimentación y disipación de potencia - mediano plazo Año de producción DRAM � espaciamiento (nm) MPU/ASIC � espaciamiento (nm) MPU longitud física de la cpmpuerta (µm) Tensión de Alimentación (V) Vdd (Alto rendimiento) Máxima potencia permitida Alto rendimiento con disipador Costo- rendimiento (W) Batería (W) 2010 45 45 2013 32 32 2016 22 22 18 13 9 0.6 0.5 0.4 218 120 3.0 251 138 3.0 288 158 3.0 Figura 2.15 Implicaciones de los futuros voltajes en las fuentes de alimentación E n general los conversores estudiados hasta el momento no presentan las características de desempeño adecuadas para soportar los bajos voltajes de operación requeridos por los procesadores futuros. Hoy en día se discute algunos de los puntos más críticos (que afectarán la especificación de las fuentes de alimentación) así como algunas de las variaciones topológicas que se requieren para lograr un desempeño adecuado a bajos voltajes. 40 CAPÍULO 3 Juntura PN Introducción L a mayor parte de los dispositivos electrónicos modernos están fabricados a partir de semiconductores. Para comprender el funcionamiento de estos dispositivos cuando se insertan en un circuito eléctrico, es necesario conocer el comportamiento de los componentes desde un punto de vista físico. Por ello, en este tema se presentan las propiedades y características fundamentales de este tipo de materiales. Si los conductores son materiales que disponen de electrones libres y los aislantes carecen de ellos, los semiconductores se encuentran en una situación intermedia: a la temperatura de 0°K se comportan como aislantes, pero mediante una aportación de energía puede modificarse esta situación, adquiriendo un comportamiento más cercano al de los conductores. Los materiales semiconductores de uso común en la tecnología microelectrónica son el silicio, el germanio y el arseniuro de galio. Se trata de elementos del grupo IV de la tabla periódica, o bien combinaciones de elementos de los grupos III y V. De todos ellos el más empleado actualmente es el silicio, por lo que la discusión en este tema va a estar centrada en dicho elemento. Junturas tipo P-N L as junturas son uniones entre materiales. Las mismas pueden realizarse entre semiconductores de diferentes características (juntura PN), entre semiconductores y metales (juntura metal-semiconductor) o entre semiconductores, metales y aislantes (juntura metal-aislante-semiconductor). Las junturas constituyen las estructuras básicas de cualquier dispositivo electrónico discreto, formado por un dispositivo único, o de un circuito integrado formado por miles de dispositivos interconectados sobre un mismo chip. La figura 1 muestra los diferentes tipos de junturas que se utilizan en el desarrollo de los dispositivos electrónicos de uso corriente. Los semiconductores son sustancias que se encuentran entre los buenos conductores de la electricidad y los aisladores, estos pertenecen al grupo IV de la tabla periódica, como el Germanio (Ge) y el Silicio (Si) que tienen cuatro electrones en su último nivel los cuales se comparten con los electrones de cuatro átomos vecinos para formar la red cristalina mediante un enlace covalente. Si a esa muestra de semiconductor, descrita 43 anteriormente, le añadimos impurezas de elementos del grupo V como por ejemplo el Arsénico (As) que tiene cinco electrones en su último nivel, aparecen solamente cuatro electrones compartidos con los electrones del semiconductor, quedando un electrón sin compartir que incrementa por los electrones de conducción, que hacen posible la conducción de la corriente a través de él, formándose así el semiconductor de tipo N (figura 3.2), en el cual los portadores mayoritarios son los electrones (cargas negativas) y los minoritarios los huecos (cargas positivas). Tipos de junturas Semiconductor- Semiconductor Homojunturas Metal- Semiconductor Metal- Aislante- Semiconductor Heterojuntura Uniones de diferentes Uniones del mismo material Diodo Schottky Capacitor MIS Transistor de efecto de campo de puerta aislada MOSFET Diodo Schottky Una sola Más de una juntura Diodo rectificador Diodos Diodo túnel Diodo Zener Estructura CMOS Transistores Diodo varicap Fotodiodo Diodo emisor de luz Diodos de microondas Transistor bipolar de unión BJT Transistor de efecto de campo de juntura JFET Rectificador Controlador de Silicio SCR Transistor bipolar de puerta aislada IGBT Otros Figura 3.1 Tipos de junturas Electrones de valencia +4 +4 +4 Electrón donado por impureza atómica Átomo Pentavalente +4 +5 +4 Átomos de Silicio Bandas de Conducción +4 +4 +4 Figura 3.2 Estructura de Si dopado 44 Por otro lado si a la muestra de semiconductor le añadimos impurezas de elementos que por ejemplo se encuentran en el grupo III de la tabla periódica como el aluminio que tiene en su último nivel tres electrones, estos pueden compartirse solamente con tres del semiconductor quedando un espacio vacío o hueco (carga positiva), haciendo esta impureza que los huecos sean los portadores mayoritarios y los electrones portadores minoritarios, para finalmente formar así el semiconductor del tipo P (figura 3.3). Electrones de valencia +4 +4 +4 Átomo del grupo lll (Aceptor) Hueco generado +4 +3 Átomos de Silicio +4 Bandas de Conducción +4 +4 +4 Figura 3.3 Estructura de Si dopado Cuando unimos un semiconductor del tipo P con uno N se forma una juntura P-N que es la base de construcción de un diodo semiconductor (figura 3.4). Contacto Metálico Contacto Metálico Ánodo SILICIO TIPO N SILICIO TIPO P Cátodo Figura 3.4 Juntura PN Este componente es importantísimo en la electrónica ya que permite el paso de la corriente en un solo sentido, funcionando como interruptor en el cual no hay movimientos mecánicos ni desgaste por fricción, dado todo el funcionamiento se realiza de manera electrónica. 45 Silicio Monocristalino El silicio es un elemento con una gran cantidad de aplicaciones. Es el segundo elemento más abundante en la corteza terrestre (después del oxígeno) con un porcentaje en peso del 25,7%. Está presente en multitud de materiales, tan diversos como la arena, la arcilla, el vidrio o el hueso. El silicio puro no se encuentra en la naturaleza, pero bajo las condiciones adecuadas pueden obtenerse en forma de estructuras monocristalinas. En éstas los átomos se disponen según una red tipo diamante con simetría cúbica, en donde cada átomo forma enlaces covalentes con otros cuatro adyacentes. Así todos los átomos tienen la última órbita completa con ocho electrones (Figura 3.5). En la figura 3.5 se aprecia que todos los electrones de valencia están asociados a un enlace covalente. Por tanto, al no existir portadores libres, el silicio puro y monocristalino a 0°K se comporta como un material aislante. Electrones de valencia +4 +4 +4 Hueco generado +4 +4 +4 Átomos de Silicio Bandas de Conducción +4 +4 +4 Figura 3.5 Estructura Si mono cristalino Semiconductores Tipo N Cuando las impurezas añadidas son predominantemente del grupo V-A de la tabla periódica (fósforo (P), arsénico (As), antimonio (Sb)), el semiconductor se denomina tipo N (los átomos de este grupo poseen en su última capa 5 electrones) y las impurezas se denominan donantes. Así por ejemplo, si un átomo de Si, por ejemplo, es sustituido por un átomo de As, tras formar los 4 enlaces covalentes con los 4 átomos de Si vecinos, queda un electrón del átomo de As sin emparejar y por lo tanto tan débilmente ligado al átomo de As, que a temperatura poco por encima de 0°K quedará libre, es decir, ocupando un nivel de la banda de conducción (BC). Como esto ocurrirá con cada átomo de impureza de As, en la BC tendremos, además de los electrones debidos a la generación de pares, un electrón por cada átomo de impureza donante, o sea, que tendremos más electrones en la BC que huecos: n>p. Así pues, los portadores mayoritarios son los electrones y los minoritarios son los huecos. En la práctica, en los semiconductores tipo N los electrones 46 de la BC son en su mayoría donados por los átomos de impureza donante, hasta el punto que se puede suponer que n≈N_d, siendo N_d la densidad de impurezas donantes (número de átomos de impureza en 1cm3). Semiconductores Tipo P Cuando las impurezas añadidas son predominantemente del grupo III-A de la tabla periódica (aluminio (Al), galio (Ga), indio (In)), el semiconductor se denomina tipo P (los átomos de este grupo poseen en su última capa 3 electrones) y las impurezas se denominan aceptantes. Así por ejemplo, si un átomo de Si es sustituido por un átomo de Ga, tras formar los 4 enlaces covalentes con los 4 átomos de Si vecinos, queda un enlace sin completar. A temperatura poco por encima de 0°K lo ocupará un electrón de la banda de valencia (BV), que dejará un hueco en la BV. Como esto ocurrirá con cada átomo de impureza de Ga, en la BV tendremos, además de los huecos debidos a la generación de pares, un hueco por cada átomo de impureza aceptante, o sea, que tendremos más huecos en la BV que electrones en la BC: p>n. Así pues, los portadores mayoritarios son los huecos y los minoritarios son los electrones. En la práctica, en los semiconductores tipo P, los huecos son en su mayoría debidos a los átomos de impureza aceptante, hasta el punto que se puede suponer que p≈N_a, siendo N_a la densidad de impurezas aceptantes (número de átomos de impureza por cm3). Como hemos dicho la tasa de generación de pares, ∝(T), (número de pares electrónhueco generados por unidad de tiempo) es únicamente dependiente de la temperatura. El proceso antagonista, la recombinación o aniquilación de pares, es probabilística y por lo tanto la tasa de pares electrón-hueco aniquilados por unidad de tiempo, será proporcional al producto n*p. Cuando ambos mecanismos estén equilibrados n*p=∝(T), con independencia del grado de impurificación. Por lo tanto, para un semiconductor intrínseco o puro, 2 se verificará que ni =∝ (T ) ; y finalmente de las dos relaciones anteriores se deduce la llamada ley de acción de masas: (1.1) n * p = ni2 Así pues, para un semiconductor tipo N real, se puede considerar que n ≈ N d y por la 2 ecuación 1.1, p ≈ ni / N d y naturalmente n p ; igualmente, para un semiconductor tipo 2 P, p ≈ N a y n ≈ ni / N a y n p . Formación de una juntura PN - Diodo Una juntura PN o diodo semiconductor, se forma cuando se ponen en contacto regiones de tipo P y de tipo N de un mismo material semiconductor (homojuntura) o de materiales semiconductores diferentes (heterojunturas), Figura 3.6. Región tipo P Región tipo N p n Contacto y electrodo Unión metalúrgica Figura 3.6 Juntura típica 47 La interface que separa las regiones P y N se denomina unión metalúrgica. En realidad, este contacto no puede ser realizado colocando en forma adyacente un material con otro debido a la discontinuidad que se produciría. Según la forma en que se realiza la transición desde la región P a la región N, las junturas pueden clasificarse en: abruptas y graduales. La juntura abrupta es aquella en la cual la transición se realiza en una distancia muy corta. Para la juntura gradual la distancia es mayor. Generalmente, la juntura PN se obtiene cambiando el dopaje del material de tipo N a tipo P (o viceversa) por diferentes procesos: el proceso de difusión durante el crecimiento de la muestra cristalina o el proceso de implantación iónica. En el proceso de difusión (Figura 3.7) se calienta el silicio a una temperatura muy alta en una atmósfera que contiene el compuesto del elemento que ha de agregarse, por ejemplo Boro, para crear un dopaje tipo P. A temperaturas altas el Boro se descompone y se deposita sobre el silicio. Algunos átomos se difunden sobre la superficie sustituyendo átomos de silicio, moviéndose hacia el interior del cristal. Cuando se enfría se forma una delgada capa de silicio de tipo P cuya profundidad puede controlarse variando el tiempo, la temperatura (900ºC - 1100ºC) y la atmósfera para la difusión. En la implantación de iones (Figura 3.8) se utiliza un haz de iones de energía muy alta (30k - 100keV) que bombardea directamente el cristal. El potencial de aceleración controla la profundidad de implantación. Este método proporciona un mejor control de la distribución del contaminante y en general, se emplea para producir uniones poco profundas. La distribución del contaminante en función de la profundidad recibe el nombre de perfil de contaminación. T ~ 900˚C - Flujo de gas con compuesto de Boro Oblea de Silicio Figura 3.7 Proceso de difusión Haz de iones B+ de alta energía Cámara de vacío Oblea de Silicio Figura 3.8 Implantación iónica 48 Principio básico de operación La Figura 3.9 muestra un esquema de la juntura PN y de la concentración de impurezas en las regiones P y N, para el caso de una juntura abrupta uniformemente dopada. Inicialmente, al ponerse en contacto los materiales y sin polarización externa aplicada, en la zona de unión metalúrgica hay un gradiente de concentración de electrones y huecos. Los electrones, portadores mayoritarios en la región N tenderán a difundirse hacia la región P, y los huecos, portadores mayoritarios en la región P se difundirán hacia la región N. Sin embargo, este proceso no puede continuar en forma indefinida. Cuando los electrones se difunden hacia la región P dejan átomos donadores cargados positivamente. Del mismo modo, los huecos que se difunden hacia la región N dejan átomos aceptores cargados negativamente. P N NA ND Difusión de huecos Difusión de electrones x x=0 Figura 3.9 Esquema de juntura PN, uniformemente dopado La diferencia de carga neta positiva y negativa induce un campo eléctrico en la región cercana de la unión y dirigido desde la carga positiva hacia la negativa, es decir, desde la región N a la región P, figura 3.10. Impurezas ionizadas (NA) Impurezas ionizadas (ND) Región P neutra Región N neutra P N Región de carga Fuerza de difusión sobre los huecos Fuerza de difusión sobre los electrones Campo eléctrico Componente de deriva sobre los huecos Componente de deriva sobre los electrones Figura 3.10 Distribución de portadores La región en la cual se produce el campo eléctrico se denomina región de carga espacial. Los electrones y los huecos son barridos por el campo eléctrico hacia afuera de la región de carga espacial, dejando esta zona desprovista de portadores móviles, y por ello se le denomina zona o región de agotamiento. 49 Puede considerarse que el gradiente de concentración en los bordes de la región de carga espacial produce una fuerza de difusión sobre los portadores. El campo eléctrico E en esta región produce una fuerza de deriva sobre los portadores opuesta a la fuerza de difusión, de modo que en el equilibrio las dos fuerzas tenderán a equilibrarse provocando que, sin polarización externa, la corriente neta que circula sea nula, y el nivel de Fermi sea continuo en todo el sistema. Lo anterior puede expresarse a través de las siguientes relaciones para huecos y electrones respectivamente, y del diagrama de bandas de energía resultante de la unión en equilibrio, Figura 3.11. dp dn J p = q µ p pE − D p = 0 J n = q µn nE + Dn = 0 dx dx P Ec N e EFi (1.2) q Vbi Ec (EF - EFi)P EF EF EV (EF - EFi)N h EFi q Vbi EV Figura 3.11 Diagrama de bandas de energía Las bandas de conducción y de valencia se curvan en la región de carga espacial porque hay un cambio en la posición del nivel de Fermi intrínseco entre las regiones P y N. Los electrones en la banda de conducción de la región N ven una barrera de potencial de altura (q Vbi) cuando tratan de moverse hacia la banda de conducción de la región P. Lo mismo ocurre con los huecos en la banda de valencia. La altura de esta barrera de energía potencial es igual a la suma de las diferencias entre el nivel de Fermi respecto al nivel intrínseco en cada región (P y N). El potencial de la barrera se denomina potencial de contacto Vbi (built-in potential barrier) y está dado por: Vbi = kT N A N D ln q ni2 (1.3) N_D y N_A son las concentraciones de impurezas en las zonas N y P respectivamente. Análisis de la región de carga espacial: aproximación de vaciamiento El principio físico que gobierna el comportamiento eléctrico en la región de carga espacial es el teorema de Gauss que relaciona el campo eléctrico con la concentración de carga espacial. Para un tratamiento unidimensional queda expresado por: 50 dE ρ = dx ε (1.4) Donde E es el campo eléctrico, ρ la concentración de carga espacial y ε es la permisividad dieléctrica del material semiconductor. El teorema de Gauss en la región de carga espacial puede expresarse como: dE q ( N D − N A ) ≅ dx ε (1.5) porque en esta zona la carga de las impurezas inmóviles ( N A , N D ) domina la concentración de carga. Como el campo eléctrico se relaciona con el potencial en la forma: E ( x) = − dV dx (1.6) resulta la forma conocida como ecuación de Poisson: q ( ND − N A ) ρ d 2V =− =− 2 ε ε dx (1.7) Para poder calcular las distribuciones de carga, campo eléctrico y potencial en la región de carga espacial suele utilizarse la aproximación de vaciamiento. Esta aproximación se basa en la hipótesis de que toda la capa de carga espacial está desprovista de portadores de carga móvil, es decir, huecos y electrones, de modo que la carga en esta zona está determinada solamente por la distribución de impurezas. La Figura 3.12 compara la distribución real en la zona de carga espacial y la resultante de aplicar la aproximación de vaciamiento, para un caso general. Con esta aproximación hay una región de carga negativa debida a aceptores ionizados que se extiende desde la zona de unión hasta el punto xp en el lado P, y una región de carga positiva debida a donadores ionizados que se extiende desde el punto de unión hasta el punto xn sobre el lado N. El ancho total de la región de carga espacial w estará dado por w=xp+xn. Además la carga total, negativa y positiva, tienen la misma magnitud de modo que se cumple: xp N A = xn N D Distribución real q ND Aproximación de vaciamiento 0 -xp xn x w -q NA Figura 3.12 Distribución de cargas 51 Cálculo de campo eléctrico máximo y ancho de la región de agotamiento Se aplicará la aproximación de vaciamiento al caso mostrado en la Figura 3.13. Se debe tener en cuenta que siempre se cumple xp N A = xn N D . La carga negativa en la mitad izquierda de la región de agotamiento es igual a la carga positiva de la mitad derecha (neutralidad de carga). Como puede verse de la Figura 3.13, se tiene: ρ (x)=0 ρ (x)=-qN_A ρ (x)=qN_D ρ (x)=0 para - ∝ <x<-xp para -xp<x<0 para 0<x<xn para xn<x< ∝ +q ND xn x -xp xn x -q NA xp 0 x E x Emáx V Vbi x Figura 3.13 Campo eléctrico Se quiere encontrar una expresión para la altura de la barrera de potencial Vbi, el campo eléctrico máximo Emáx y el ancho de la región de carga espacial o de agotamiento w. El campo eléctrico se puede hallar aplicando el teorema de Gauss a la distribución de carga espacial. Se quiere encontrar una expresión para la altura de la barrera de potencial Vbi, el campo eléctrico máximo Emáx y el ancho de la región de carga espacial o de agotamiento w. El campo eléctrico se puede hallar aplicando el teorema de Gauss a la distribución de carga espacial. dE ρ = dx ε 52 (1.8) Integrando esta ecuación se obtiene una expresión para el campo eléctrico sujeta a las condiciones de contorno. El campo eléctrico debe anularse en x=-xp y x=xn, porque en estos puntos se definen los límites de la región de agotamiento. Si nos basamos en la definición de integral de una función, como el área debajo de la curva definida por ésta, obtenemos directamente que el campo eléctrico resulta dado por el área de un rectángulo. Aplicando lo anterior para x<0 y considerando un x cualquiera: E (x ) = − Donde: qN A ∆x ε (1.9) (1.10) ∆x = x − ( −xp ) El campo aumentará linealmente con ∆x llegando al valor máximo (Emáx) en el punto x=0 (∆x=xp), resultando: Emáx = − qN A xp ε (1.11) Cumpliendo con la condición de neutralidad de carga: qN qN Emáx = − A xp = − D xn ε ε (1.12) Para x>0 el campo eléctrico disminuye pues debe anularse en x=xn. Para calcular la altura de la barrera de potencial se considera la relación entre el campo eléctrico y el potencial dado por: E =− dV dx (1.13) Aplicando un criterio similar al anterior para calcular la integral, resulta que la altura de la barrera de potencial Vbi es aproximadamente igual al valor, cambiado de signo, del área del triángulo que corresponde al campo eléctrico: 1 2 1 2 (1.14) 1 N D (1.15) Vbi = − Emáx ( xn + xp ) = − Emáx *w Operando con las ecuaciones anteriores: w= 2ε q Emáx = − 1 Vbi 2q ε NA Vbi + 1 1 1 + NA ND (1.16) 53 Unión en equilibrio Naturalmente suponemos que cada uno de los bloques está inicialmente descargado (carga neta cero). Por lo tanto entre ambos bloques no hay inicialmente diferencia de potencial. En el bloque N tenemos abundancia relativa de electrones libres (-), con niveles de energía de la BC (portadores mayoritarios en N) y escasez de huecos (+), (portadores minoritarios en N). Análogamente en el bloque P abundan los huecos (+) (mayoritarios en P), y escasean los electrones libres (-) (minoritarios en P). Por lo dicho, tiende a producirse un fenómeno de tipo no eléctrico sino termodinámico, consistente en la difusión de electrones desde donde abundan (bloque N) hacia donde escasean (bloque P), y análogamente se difundirían los huecos desde el bloque P al bloque N. Por sí sola la difusión daría lugar a una intensidad de corriente (corriente de difusión) I D , en el sentido de P hacia N (Figura 3.14). En cuanto hayan transcurrido unos instantes y se haya difundido una cierta cantidad de portadores, según lo explicado antes, el bloque N, que ha perdido electrones y ha ganado huecos, va cargándose positivamente y, de la misma forma, el bloque P, que ha perdido huecos y ganado electrones, va cargándose negativamente. Por consiguiente, aparece una diferencia de potencial entre N y P de manera que N queda con mayor poCorriente de difusión ID P Corriente de arrastre IA N + - P - + N + Figura 3.14 Corriente de difusión y arrastre tencial respecto a P. Adicionalmente, esta diferencia de potencial producirá un arrastre de cargas negativas (electrones libres) de P hacia N y positivas (huecos) de N hacia P. Es decir, tiende a producirse una intensidad de corriente de arrastre, I A , que irá en el sentido de N a P, o sea, sentido contrario a la de la corriente de difusión (Figura 3.14). Los procesos mencionados, difusión y arrastre, son contrapuestos y llegará un momento en que ambos alcancen un equilibrio dinámico de tal manera que la intensidad de corriente a través de la unión será: I D + I A = 0 Si suponemos que la unión entre los bloques es abrupta, una vez alcanzado el equilibrio, la difusión de portadores de cada bloque hacia el otro habrá dejado en cada uno de ellos una región prácticamente vacía de portadores. Esas dos regiones, de anchuras WN y WP (Figura 3.15), forman conjuntamente la llamada zona de deplexión de anchura W Z =WN +WP En la semizona WN hay una densidad de carga espacial (no móvil) positiva (+), mientras que en la semizona WP habrá una densidad de carga espacial (no móvil) negativa (-) (Figura 3.15). En la zona más impurificada la anchura será menor. Así, en el ejemplo de la Figura 3.15, como N D > N A , vemos que WN <WP Igualmente, al estar cargado 54 positivamente el bloque N y negativamente el P, aparece una diferencia de potencial entre los bloques, distribuida en la zona de deplexión, que se denomina potencial de contacto, V0 , estando a mayor potencial el bloque N que el bloque P, como se ve en la Figura 3.16. La suposición de que la unión es abrupta no es muy realista, ya que los métodos de fabricación hacen que las impurificaciones varíen de forma gradual. Así pues, los resultados que vayamos deduciendo sólo tienen un valor cualitativo, suficiente por ahora. El potencial de contacto en las uniones de N-P resulta ser: V0 = kT N AN D ln e ni2 Densidad de carga espacial (1.17) Unión abrupta N 0 X P Nd > Na WN WP Figura 3.15 Zona de vaciamiento Potencial en la unión Unión abrupta N E V0 0 X P WN WP Figura 3.16 Potencial de la juntura 55 Para las uniones de Si y para una temperatura de 300°K (unos 27°C), V0 es del orden de 0.7V y la mitad para uniones de Ge. Con las mismas premisas simplificadoras, se llega a la expresión de la anchura de la zona de deplexión: W Z =WN +WP = 2εV 0 1 1 + e N A N D (1.18) Siendo ε la constante dieléctrica del semiconductor. La zona de deplexión tiene una cierta analogía con un condensador, como se define en electrostática, ya que hay dos cargas enfrentadas iguales y de signos opuestos y un dieléctrico entre ambas. Por ello la unión presenta un efecto capacitivo, que tiene una gran importancia en el funcionamiento dinámico de los diodos. Polarización del Diodo C uando en la juntura P-N o diodo, se establece el movimiento de los portadores mayoritarios, en la zona de la unión se origina una polarización debido a la concentración de las cargas de signos contrarios a la de los portadores mayoritarios de cada tipo de semiconductor (P o N), formándose así la barrera de conducción con un campo eléctrico complementario dirigido de la parte positiva a la negativa de la barrera. Si en estas condiciones la parte N se polariza mediante una fuente de energía positivamente, se observa un aumento de la anchura de la barrera de conducción debido a que se añade una intensidad de campo eléctrico externo en el mismo sentido que el campo complementario de la barrera, lo que imposibilita el movimiento de los portadores mayoritarios y por ende no puede circular corriente a través de la juntura, cuando esto ocurre se dice que el diodo está conectado en sentido inverso. Ahora si la parte P del semiconductor se polariza positivamente aparece inmediatamente un campo eléctrico externo en la barrera de conducción en sentido contrario al campo eléctrico complementario y por tanto se reduce la anchura de la barrera de conducción, permitiendo así el paso de los portadores mayoritarios y estableciéndose por lo tanto una circulación de corriente en el diodo, cuando esto ocurre el diodo se dice que está conectado en directo. Esta propiedad que tienen los diodos de permitir el paso de la corriente en un solo sentido se utiliza para construir los circuitos rectificadores para convertir la corriente alterna en directa por citar un ejemplo. Electrones libres Si se aplica una diferencia de potencial entre la juntura PN provocará el movimiento de electrones, en sentido opuesto al del campo eléctrico. De este modo se originará una 56 corriente eléctrica. La densidad de la corriente eléctrica (número de cargas que atraviesan la unidad de superficie en la unidad de tiempo) dependerá de la fuerza que actúa (qE), del número de portadores existentes y de la “facilidad” con que estos se mueven por la red, es decir: J e = en(qE ) Donde: (1.19) J e = Densidad de corriente de electrones. e = Movilidad de los electrones en el material. n = Concentración de electrones. q = Carga eléctrica. E = Campo eléctrico aplicado. La movilidad de electrones es característica del material y está relacionada con la capacidad de movimiento del electrón a través de la red cristalina. Huecos El campo eléctrico aplicado ejerce también una fuerza sobre los electrones asociados a los enlaces covalentes. Esa fuerza puede provocar que un electrón perteneciente a un enlace cercano a la posición del hueco salte a ese espacio. Así, el hueco se desplaza una posición en el sentido del campo eléctrico. Si este fenómeno se repite, el hueco continuará desplazándose. Aunque este movimiento se produce por los saltos de electrones, podemos suponer que es el hueco el que se está moviendo por los enlaces. La carga neta del hueco vacante es positiva y por lo tanto, se puede pensar en el hueco como una carga positiva moviéndose en la dirección del campo eléctrico. Obsérvese que los electrones individuales de enlace que se involucran en el llenado de los espacios vacantes por la propagación del hueco, no muestran movimiento continuo a gran escala. Cada uno de estos electrones se mueve únicamente una vez durante el proceso migratorio. En contraste, un electrón libre se mueve de forma continua en la dirección opuesta al campo eléctrico. Análogamente al caso de los electrones libres, la densidad de corriente de huecos viene dada por: Donde: J h = hp (qE ) (1.20) J h = Densidad de corriente de huecos. h = Movilidad de los huecos en el material. p = Concentración de huecos. q = Carga eléctrica del hueco: igual y de signo opuesto a la del electrón. E = Campo eléctrico aplicado. La movilidad de los huecos es característica del material, y está relacionada con la capacidad de movimiento del hueco a través de los enlaces de la red cristalina. La “facilidad” de desplazamiento de los huecos es inferior a la de los electrones. 57 Consideremos ahora el caso de un semiconductor que disponga de huecos y electrones, al que sometemos a la acción de un campo eléctrico. Hemos visto cómo los electrones se moverán en el sentido opuesto al del campo eléctrico, mientras que los huecos lo harán según el campo. El resultado es un flujo neto de cargas positivas en el sentido indicado por el campo, o bien un flujo neto de cargas negativas en sentido contrario. En definitiva, la densidad de corriente global es la suma de las densidades de corriente de electrones y de huecos: J = J h + J e = hp (qE ) + en(qE ) (1.21) Conducción por difusión de portadores Antes de entrar en el fenómeno de conducción por difusión vamos a explicar el concepto de difusión. Se tiene una caja con dos compartimentos separados por una pared común. En un compartimento introducimos un gas A, y en el otro un gas B. Si en un momento determinado se abre una comunicación entre las dos estancias parte del gas A atravesará la pared para ocupar el espacio contiguo, al igual que el B. El resultado final es que en ambas estancias tendremos la misma mezcla de gases A+B. La difusión de partículas es un mecanismo de transporte puramente estadístico, que lleva partículas “de donde hay más, a donde hay menos”, siempre que no haya ninguna fuerza externa que sea capaz de frenar dicho proceso. Matemáticamente puede expresarse esta idea mediante la primera ley de Fick, que establece que el flujo de partículas que atraviesa una superficie es proporcional al gradiente de concentración de partículas. J = −D dc dx (1.22) Donde, D es la constante de proporcionalidad, denominada difusividad y tiene dimensiones de m2/s. Ahora si se tiene un semiconductor tipo P cuya concentración de huecos no es constante, sino variable según la dirección x, los huecos emigraran de la región de alta concentración a la de baja concentración. Esta migración de portadores, que se muestra en la Figura 3.17, es un proceso puramente estadístico, originado por el movimiento térmico aleatorio de los portadores y no está relacionado con la carga de los mismos, o con la presencia de ningún campo eléctrico. La difusión no depende del valor absoluto de la concentración de portadores, sino solamente de su derivada espacial, es decir, de su gradiente. p (h/m³) x (m) P J (h/s/m²) Figura 3.17 Difusión de portadores 58 Electrones de valencia +4 Electrón Libre +4 +4 Banda Covalente rota Huecos generado +4 +3 +4 Átomos de Silicio Banda Covalente +4 +4 +4 Figura 3.18 Efecto de difusión en estructura cristalina En los metales, la difusión no es un proceso de importancia, porque no existe un mecanismo mediante el cual se pueda generar un gradiente de densidad, dado que en un metal únicamente hay portadores negativos de carga, cualquier gradiente de portadores que se pudiera formar desequilibraría la neutralidad de la carga. El campo eléctrico resultante crearía una corriente de arrastre, que de manera instantánea anularía el gradiente antes de que pudiera darse la difusión. Por el contrario en un semiconductor hay portadores positivos y negativos de carga, por lo que es posible la existencia de un gradiente de densidad de huecos y de electrones, mientras se mantiene la neutralidad de la carga. En un semiconductor, los componentes de la densidad de corriente de difusión pueden expresarse de forma unidimensional mediante la ecuación: Donde: J difusión = qDe dn dp − qDh dx dx (1.23) J difusión = Densidad de corriente de difusión. q = Carga del electrón. De , Dh = Difusividad de los electrones y de los huecos. n = Concentración de electrones. p = Concentración de huecos. El segundo término de la expresión tiene signo negativo porque la pendiente negativa de los huecos da lugar a una corriente debida a ellos. 59 Relación de Einstein Existe una relación entre la difusividad y movilidad de portadores: Dn Dp = =V µn µ p T (1.24) 2 Donde VT es el voltaje térmico, a temperatura ambiente VT = 25mV , Dn = 34cm / s Dp = 12cm 2 / s La unión PN del circuito abierto E n la unión PN sin polarización, la corriente de difusión debida a los huecos es alta en la región de la zona P y baja en la zona N. estos dos componentes de corriente se suman para formar parte de la corriente de difusión I D . En la región de agotamiento los huecos se difunde a través de la unión hacia la región n y se recombinan rápidamente con algunos de los electrones mayoritarios presentes. En condiciones de circuito abierto no existe corriente externa, por tanto, las dos corrientes opuestas a través de la unión deben tener la misma magnitud. El voltaje de barrera es el que mantiene esta condición de equilibrio. Por tanto si por alguna razón I D excede a I S entonces será mayor la carga de enlace que queda descubierta a ambos lados de la unión, se ensanchara la capa de agotamiento y aumentara el voltaje de barrera en esta. Si ocurre lo contrario en que I S sobrepasa a I D disminuirá la cantidad de carga que no queda descubierta y se estrechara la capa de agotamiento reduciendo el voltaje de barrera. N AN D n2 i V 0 =VT lnln (1.25) Este voltaje depende de las concentraciones y de la temperatura del material. En el silicio este voltaje se encuentre entre 0.6V y 0.8V. Cuando las terminales se miden, la tensión que aparece es de 0V. El voltaje de barrera no aparece entre las terminales del diodo. Esto se debe a que el voltaje se contrarresta con los voltajes entre las uniones del silicio y los contactos metálicos. El ancho de la zona de agotamiento no siempre es igual en cada tipo de material, ya que varía de acuerdo a la cantidad de impurezas. El ancho esta dado por: Wagotamiento = x n + x p = 60 2ε Si 1 1 + V q N A N D 0 (1.26) Por lo general el ancho se encuentra en el intervalo de 0.1 a 1µm. ID Is HUECOS + + + + + + + + + + + p + + + + + + + + _ _ _ _ + + + + ELECTRO- _ _ _ _ _ _ _ _ _ _ _ _ _ _ n _ _ _ _ _ (a) POTENCIAL BARRERA DE VOLTAJE x (b) Figura 3.19 Unión PN sin polarización La unión PN en polarización inversa E l comportamiento de la unión se explica si se conecta una fuente de corriente I en la dirección inversa a la corriente de difusión I D y con magnitud de esta corriente menor a I S (Figura 3.20). La corriente I será constituida por los electrones que fluyen en el circuito externo del material n al p. Esto hará que los electrones dejen el material n y los huecos dejen el material p por tanto, la corriente inversa I provocara un aumento en el ancho de la capa de agotamiento y la carga almacenada en ella. También se provoca un aumento del voltaje de barrera V0 . Finalmente se alcanza un equilibrio en estado estable cuando IS − ID = I Este voltaje puede medirse en los extremos de la juntura con n más positiva en relación a p. 61 ID IS + + + + + + + p + + + + _ _ _ _ _ + + + + + _ _ _ _ _ _ _ n _ _ _ _ Figura 3.20 Polarización inversa de la juntura PN - VR + Capacitancia de unión A I medida que el voltaje cambia a través de la unión, también lo hace la carga almacenada en la zona de agotamiento. En la figura 21 se muestra la curva característica típica de la carga contra el voltaje externo inverso de la unión. CARGA Pendiente = Cj Q Punto de polarización 0 VQ VOLTAJE INVERSO Figura 3.21 62 VR La expresión de la carga almacenada es: q j = qN = qN D x n A (1.27) Donde A es el área transversal. En función de la zona de agotamiento, se tiene: qj = q N AN D AWagotamiento NA +ND (1.28) Donde la zona de agotamiento se encuentra en relación a los voltajes en la siguiente expresión: Wagotamiento = 2ε Si 1 1 + (V +V ) q N A N D 0 R (1.29) Dada que la relación de capacitancia no es lineal respecto al voltaje se puede evaluar en un punto de polarización Q: Cj = dq j dV R (1.30) V R =VQ Resolviendo la derivada en el punto de polarización se obtiene: Cj = C j0 = A C j0 VR 1 + V0 (1.31) m q ε Si N AN D 2 N A + N D 1 V 0 (1.32) Donde m tiene valores de 1/3 a 1/2 y se le denomina coeficiente de graduación. Capacitancia de unión A hora se excita la unión con una fuente de corriente como lo muestra la Figura 3.22. Esta fuente moverá los huecos del material P por el circuito externo hacia el material n y los electrones hacia el material P, por lo cual la capa de agotamiento se ensancha disminuyendo la corriente de difusión y aumentando la corriente I sin variar ampliamente el voltaje V Z 63 Ocurren entonces dos efectos llamados el efecto Zener y el efecto avalancha. p n - VZ + I Figura 3.22 Efecto Zener Efecto Zener E l efecto Zener se basa en la aplicación de tensiones inversas que originan fuertes campos eléctricos que causan la ruptura de los enlaces covalentes entre los átomos, dejando así, electrones libres capaces de establecer la conducción. Su característica es tal, que una vez alcanzado el valor de su tensión inversa nominal y superando la corriente a su través por un determinado valor mínimo, la tensión en bornes del diodo se mantiene constante e independiente de la corriente que circula por él. Efecto Avalancha E xiste un valor máximo de voltaje que puede ser aplicado a un diodo, esto implica que existe también un voltaje de polarización inversa máximo, si este voltaje se sobrepasa el diodo podría ser destruido. Como se sabe cuando un diodo se polariza inversamente existe una corriente de polarización inversa muy pequeña. A la tensión de polarización inversa en la cual esta corriente aumenta en forma dramática se le llama tensión de ruptura, y cuando la corriente de polarización inversa aumenta significativamente se dice que en el diodo ha ocurrido un efecto avalancha. 64 En el límite antes de llegar a la tensión de ruptura hay electrones con energía cinética muy alta, que al chocar con la red cristalina son capaces de desprender electrones que participan en el enlace covalente, los electrones desprendidos también adquieren energías altas y al chocar desprenden más electrones, estos electrones libres producen el efecto avalancha, hacen que la corriente de polarización inversa aumente y que eventualmente el diodo se estropee. Unión PN en polarización directa S i ahora aplicamos a dicha unión una tensión exterior de signo contrario a la barrera de potencial interna, ésta irá disminuyendo en anchura. A mayor tensión aplicada externamente corresponderá una barrera interna menor y podremos llegar a conseguir que dicha barrera desaparezca totalmente (Figura 3.23). En este momento los electrones (portadores mayoritarios) de la zona N están en disposición de pasar a la zona P. Exactamente igual están los huecos de la zona P que quieren “pasar” a la zona N redistribuyendo los portadores como lo muestra la Figura 3.24. A la tensión externa que anula la barrera de potencial de la unión y la deja preparada para el paso de los respectivos portadores mayoritarios, se le denomina tensión umbral. Se la representa por Vu y sus valores prácticos son: • • Para el Silicio Vu = 0,4 - 0,5 voltios Para el Germanio Vu = 0,05 - 0,06 voltios En esta situación, al aplicar un aumento en la tensión exterior, los electrones se sentirán ID Is ++ ++ ++ ++ + + + + + + + p + + + + _ _ _ + + + _ _ _ _ _ _ __ _ _ __ _ n __ _ _ __ -V+ I Figura 3.23 Polarización directa 65 P n nP Región p ZONA DE AGOTAMIENTO Región n Pn(xn ) EXCESO DE CONCENTRACIÓN Pn(x) nP (-xP) nP(x) P n0 VALOR DE EQUILIBRIO TÉRMICO n P0 -xP 0 xn x Figura 3.24 Distribución de portadores atraídos por el polo positivo de la fuente y los huecos por el negativo de la misma. No hay dificultad para atravesar la unión y por tanto aparecerá una corriente de mayoritarios a través del circuito. A partir de aquí, cualquier aumento de tensión provoca un aumento de la corriente. Al conjunto de tensiones que crean corriente proporcional en el diodo se les llama tensiones de polarización directa o de funcionamiento. Sus valores típicos son: • Para el Silicio = 0,5 - 0,8 voltios • Para el Germanio = 0,06 - 0,15 voltios Parece lógico pensar que llegará un momento en que el proceso, aumento de tensión exterior y aumento de corriente en la unión, tendrá que parar. Y esto es así, porque a partir de un determinado valor de la tensión exterior aplicada, los electrones se neutralizan en mayor número con los huecos en el interior del diodo y son pocos los que pueden salir al circuito exterior. Es decir que el aumento es absorbido por el mismo diodo. A esta tensión a partir de la cual la corriente a través del diodo se mantiene constante, (en la práctica aumenta ligeramente) se le denomina tensión de saturación. Sus valores típicos son: • Para el Silicio V sat = 0,8 - 0,9 voltios • Para el Germanio V sat = 0,15 - 0,2 voltios Cualquier intento de provocar un aumento de corriente puede originar a partir de este momento la destrucción del diodo. El comportamiento de la corriente I por la juntura PN en función de la polarización directa V AK (tensión entre ánodo y cátodo) está dada por la siguiente ecuación: V AK I = I S e ηVT − 1 66 (1.33) Esta expresión es llamada Ecuación del diodo en donde: I S : corriente inversa de saturación. VT : voltaje térmico. η : constante empírica que permite distinguir el comportamiento entre un diodo wde Germanio y uno de Silicio. A veces es llamada factor de idealidad. Vale aproximadamente 1 para diodos de Germanio y 2 para diodos de Silicio. Voltaje térmico El voltaje térmico es una constante y está dada por: VT = Donde: KT q (1.34) • K = Constante de Botzmann = 1.38 X 10-23 J/K. • T = Temperatura en Kelvin. • q = Magnitud de la carga electrónica 1.6 X 10-19 C. Corriente Inversa IS Está constituida por portadores minoritarios (electrones o huecos), circula en dirección opuesta a la corriente de polarización, se comporta exponencialmente con la polarización inversa en el estrecho rango de 0 a 0.1V, aproximadamente. A partir de este voltaje todos los portadores minoritarios estarán participando de la corriente inversa, en consecuencia, mayores valores de polarización no aumentarán significativamente la corriente inversa, se mantendrá en un valor constante llamado corriente inversa de saturación. Un aumento de la temperatura del diodo generará nuevos portadores minoritarios. Por otra parte, una disminución de la temperatura hará desaparecer algunos portadores minoritarios por el fenómeno de recombinación. En consecuencia, I rs es función de la temperatura más bien que de la magnitud de la polarización inversa. Con una aproximación, en los diodos de silicio, I rs se duplica cada 10ºC de aumento de temperatura, es decir: T2 −T1 I rs (T ) = I rs (T ) 2 2 1 (1.35) 10 El valor de I rs para cada temperatura dada depende también del material semiconductor básico. Por ejemplo, para un diodo de silicio, si T=300ºK, I rs =1nA. Para un diodo de Germanio, si T=300ºK, I rs =1µA. El aumento excesivo de tensión de polarización inversa −V AK puede derivar en el fenómeno de ruptura inversa, que ocurre para cada diodo en particular a un valor de −V AK llamado “tensión inversa de ruptura” (V BD : Breakdown Voltage). 67 Capacitancia de Difusión A partir de la descripción de la operación de la unión PN en la región directa, se observa que en el estado estable cierta cantidad de exceso de carga de portadores minoritarios se almacena en cada una de las regiones p y n. Si cambia el voltaje de la terminal, esta carga tendrá que cambiar antes de que se alcance un nuevo estado estable. Este fenómeno da lugar a otro efecto capacitivo distinto al almacenamiento de carga en la zona de agotamiento. En el caso de cambios pequeños alrededor de un punto de polarización, se puede definir la capacitancia de difusión a pequeña señal como: Cd = dQ dV (1.36) Tomando la corriente que atraviesa el diodo como directamente proporcional a la capacitancia, esta se puede calcular como: τ (1.37) C d = T I V T Donde τT es el tiempo medio de transito del diodo. Curvas características de la unión PN L a unión PN se presenta en todos los dispositivos semiconductores desde los diodos, el más sencillo, hasta los tiristores los cuales combinan varias capas de materiales P y N. Se toma el diodo para analizar su comportamiento ya que es el más sencillo, empleando un material de cada tipo. La figura 25 muestra la respuesta de la corriente cuando el voltaje de la juntura o diodo se varía de acuerdo a los tipos de polarización vistos anteriormente. En la Figura 3.26 se muestra el comportamiento del diodo en zona inversa más detallado, este es importante porque los diodos Zener usan este principio para su operación, en los cuales es importante destacar el voltaje Zener, la razón de cambio en la zona de ruptura que es prácticamente lineal y las corrientes limites para no entrar en la zona donde el diodo trabaja en zona de avalancha. 68 į Directa -VZK 0 Avalancha Inversa ʋ 0,7 V 0,5 V ʋ + _ į Figura 3.25 Curva característica del diodo į -VZ -VZ0 -VZK 0 -Izk ʋ Pendiente = 1 rz Q -Izr Corriente de prueba I v v= I rz Figura 3.26 Curva característica del diodo en zona inversa Modelo de la unión PN Como ya se había comentado, la característica de la corriente y voltaje estática es descrita por la siguiente ecuación: qVq (1.38) I = I S e kT − 1 El hecho es que esta no es lineal y posee serios problemas numéricos dejando su uso en los simuladores de circuitos. Como resultado, han sido desarrollados algunos modelos lineales que pueden ser utilizados para el diodo. 69 Modelo de señal amplia, cuasi estático El modelo de amplia señal cuasi estático para la juntura del diodo da una aproximación lineal de la anterior ecuación. Este modelo es válido para un amplio rango de polarizaciones aplicadas y no tiene en cuenta transientes o efectos capacitivos de cualquier tipo. Como se presenta en la Figura 3.27, las características de un diodo actual (Figura 3.27.A) pueden ser aproximadas por: Figura 3.27.B: un diodo ideal que tiene I = 0 cuando y V < 0 V = 0 cuando I > 0 . Figura 3.27.C: un diodo ideal en serie con una fuente de voltaje teniendo las siguientes propiedades: I = 0 cuando V <V j y V =V j cuando I > 0 . V j es aproximadamente 0.7V en un diodo de Silicio y 0.35V en uno de Germanio. Figura 3.27.D: un diodo ideal con una fuente de voltaje y una resistencia en serie, teniendo una conductancia G = I . La característica de corriente y voltaje de este modelo V son: I = 0 cuando V <V j y V =V + I cuando I > 0 . I I A 0 j G B 0 Va I 0 Vj Va + I + I C 0 Va Vj + I Va Va D Va I Va Vj G Vj - - - Figura 3.27 Aproximaciones al diodo R + iD= ID + id vs + - iD= ID + id vD= VD + vd VDD vs + - VDD _ R Ideal + VD0 rd vD _ + id vs + - VDD Figura 3.28 Modelo de pequeña señal. 70 vD= VD + vd rd R ID VD0 VDD _ + Ideal rd vd _ Modelo de pequeña señal y baja frecuencia El modelo cuasi estático y de pequeña señal para el diodo viene de una aproximación lineal a la ecuación general del diodo. Este modelo es válido para pequeñas variaciones de la señal y no tiene en cuenta transientes o efectos capacitivos. Considere el caso donde la polarización aplicada, v (t ) , está compuesta de la superposición de una mayor polarización continua DC, V 0 , y una pequeña señal AC de baja frecuencia, v 1 (t ) : (1.39) v (t ) =V 0 +v 1 (t ) La corriente correspondiente, i (t ) , estará junto a la componente DC, I 0 , y una pequeña señal de componente AC, i 1 (t ) : i (t ) = I 0 + i 1 (t ) (1.40) En esta baja frecuencia se presenta una conductancia dinámica definida por: g0 = q I kT 0 (1.41) La resistencia dinámica vendrá dada por: 1 kT r0 = = g0 iD (mA) (1.42) qI 0 2,0 Tangente en Q 1,8 Pendiente = 1 r4 id (t) 1,6 1,4 1,2 1,0 Q ID t 0,8 0,6 0,4 0,2 0 vD 0,55 0,60 0,65 VD0 0,70 0,75 0,80 vD (V) vd (t) Figura 3.29 Respuesta del diodo a una pequeña señal AC 71 Modelo de pequeña señal a alta frecuencia El circuito equivalente del modelo de pequeña señal a alta frecuencia se presenta en la figura 30. Consiste en una resistencia dinámica, una capacitancia de transición y una de difusión, todas en paralelo entre sí. i v CT CD r0 Figura 3.30 Modelo de pequeña señal y alta frecuencia de la juntura PN Sabemos que el voltaje en el diodo es V D en ausencia de v (t ) , de este modo la corriente DC del diodo será: ID = ISe VD ηVT Cuando se aplica la señal AC v (t ) , la señal queda: v D (t ) =V D +v (t ) (1.43) (1.44) La señal de corriente será del siguiente modo, De aquí se puede apreciar que, I D (t ) = I S e V D +v ηVT (1.45) vD ηVT (1.46) I D (t ) = I S e Si la amplitud de la señal v D (t ) se conserva lo suficientemente pequeña de modo que: vd 1 nVt (1.47) Entonces podemos expandir el exponencial de la ecuación en una serie y truncar la serie de los dos primeros términos para obtener la expresión aproximada, i D (t ) = I D 1 + vD ηVT (1.48) Esta aproximación se conoce como aproximación de pequeña señal. Es válida para señales con amplitudes menores a 10mV. 72 Después de una manipulación algebraica tenemos un parámetro muy importante del diodo que es la resistencia del diodo a pequeña señal, que viene dada por, rd = Celda solar nVt ID (1.49) Una celda solar es una juntura PN en la cual la excitación de los portadores es hecha por una fuente externa de energía, usualmente la luz solar, utilizada para generar potencia eléctrica. En otras palabras una celda solar convierte energía solar en potencia eléctrica. El diseño de la mayoría de celdas solares es elaborado en función de la eficiencia y en maximizar la producción de energía. En este caso se aprecia la operación de la celda solar utilizando una simple juntura PN. La operación de la celda solar está basada en la generación de pares de “huecos” de electrones en la región de transición, y la separación de ambos tipos de portadores por el campo eléctrico de la juntura. Si por ejemplo, observamos la figura 31, asumiremos que la iluminación uniforme del sol genera G pares de huecos de electrones por centímetro cúbico y por segundo, en cualquier lugar del material semiconductor. Usando las notaciones Lp y Ln, vemos que la región se extiende desde –Lp a Ln y la polarización aplicada es Va. En donde después de un complejo desarrollo matemático obtenemos la expresión para la corriente en nuestra juntura o nuestra celda para este caso. (1.50) I = (J p + J n ) En donde J n y J p son las densidades de corriente de electrones y huecos, respectivamente. Destacando cada uno de los elementos de la ecuación, tenemos la siguiente forma. D I = p Lp p-type a qVa Dn qV kT pn 0 e − 1 − τ pG + n p 0 e kT − 1 − τ nG Ln (1.51) W0 - -- - - + + + - - - -- - - + + - - -x p0 0 n-type x n0 x Figura 3.31 Geometría de una celda solar simple 73 Diodos PiN Este tipo de diodo consiste en una región intrínseca en medio de una región P y otra región N, tal como lo muestra la figura 32. En la práctica la región i es bastante delgada, tanto hacia el lado P como hacia el N. p n i Figura 3.32 Estructura del diodo PiN. La densidad de corriente viene dada por: J= qn 'W τ0 (1.52) En donde q es la carga, n’ es la concentración promedio de electrones inyectados, W el ancho de la zona intrínseca, y τ 0 es la duración de los portadores. Modelo PSPICE del Diodo T odos los dispositivos de PSpice utilizan modelos matemáticos y parámetros del modelo para determinar sus características.En el caso de los dispositivos pasivos (R, C y L), los parámetros del modelo son sencillos y no muy numerosos. En contraste, los dispositivos activos, como los diodos, disponen de modelos más sofisticados y complejos con un mayor número de parámetros, que pueden modificarse según sea necesario. El diodo se puede modelar de distintas formas según el modelo matemático escogido y los límites del modelo. En la Figura 3.33 se muestra la configuración usada para un modelo de gran señal y en la Figura 3.34 se muestra un modelo para pequeña señal. Estos diodos tienen aplicaciones de fotodetectores (polarizados inversamente), incluyendo la detección de rayos X. 74 A RS A + ID D1 VD CD ID _ K K Figura 3.33 Modelo PSpice de gran señal En el modelo de gran señal el diodo es modelado con una fuente de corriente, un condensador que simula la capacitancia de juntura y su resistencia en serie exhibida en el modelo. En el modelo de pequeña señal los modelos se hacen más complicados de acuerdo con la simulación, en caso de que no se especifique parámetros PSpice los coloca por defecto. A RS + VD CD RD _ K Figura 3.34 Modelo PSpice de pequeña señal. 75 Simulación de semiconductores L os programas de simulación basan sus cálculos en modelos físicos de los semiconductores. Por lo general las entradas de simulación que se consideran son el tipo de material, dispositivo, dimensiones, dopaje y condiciones de operación. Basado en esta información, el simulador calcula el campo eléctrico dentro del dispositivo y predice la concentración de portadores en las diferentes regiones del dispositivo. Los simuladores también pueden predecir comportamientos transitorios que incluyen características corriente- voltaje y ancho de banda. Existen tres formas de aproximación de los simuladores, la clásica, la semiclásica y la cuántica. Simuladores basados en aproximación clásica La aproximación clásica está basada en la solución de las ecuaciones de Poisson y de conservación de carga. Para desarrollar este modelo se hacen ciertas suposiciones para resolver la ecuación de transporte de Boltzmann: 1. La temperatura de los portadores es la misma a través del dispositivo y es igual a la temperatura Lattice. 2. Existen condiciones de cuasi-estabilidad. 3. El camino libre promedio de los portadores debe ser menor que la distancia sobre la cual el cuasi nivel de Fermi está cambiando por kT/q. 4. La concentración de impurezas es constante o varía muy lentamente a lo largo del camino libre promedio de los portadores. 5. Las bandas de energía son parabólicas. 6. La influencia de las condiciones de frontera son insignificantes. Para propósitos generales, aún bajo estas suposiciones y limitaciones del modelo, los simuladores basados en la aproximación clásica generan resultados muy precisos. Las ecuaciones que deben resolverse se reducen bastante, bajo la consideración de que se está en condiciones de cuasiestabilidad, dado que la longitud de onda de operación es mucho mas larga que las dimensiones del dispositivo. Entonces, las ecuaciones de Maxwell se pueden reducir a la forma de Poisson que es más familiar, para medios no homogéneos: ∇ε ( ∇Ψ ) = − ρ (1.53) En donde Ψ denota el potencial de la región a simular, ε la permitividad del medio y ρ la carga encerrada por este medio. De la ecuación de Maxwell, se deriva la ecuación de continuidad de corriente para medios homogéneos: ∂n ∇. J n − q = +qu ∂t 76 (1.54) En donde, También sucede que: En donde, J n = q µn E + qDn ∇.n (1.55) J p = q µ p pE + qD p ∇. p (1.57) ∂p ∇. J p + q = −qU ∂t (1.56) Para medios no homogéneos, el término correspondiente al campo eléctrico en las expresiones de corriente, es modificado en términos de la densidad de estados no uniforme y la variación de las bandas de valencia. En la aproximación clásica el objetivo es calcular el potencial y la distribución de portadores dentro del dispositivo, por tanto, la ecuación de Poisson se resuelve para encontrar el potencial dentro del dispositivo. Posteriormente la distribución de campo eléctrico se usa para la resolución de la ecuación de continuidad de corriente, para obtener la distribución de portadores y las densidades de corrientes. Por lo general las movilidades de portadores y los coeficientes de difusión dependen del campo y la geometría de trabajo. Las condiciones de frontera para resolver estas ecuaciones son las que determinan la solución del problema. Para contactos de tipo ohmico, se asume que las velocidades de recombinación son infinitas y que el espacio de carga es neutral. De esto se deriva que para un material tipo p, las condiciones de frontera ohmica se convierten en: Ψ =V apl + n kT lnln ie q p N + − N − 2 A p = D + nie2 2 n= nie2 p 1 2 (1.58) N + − N A− − D 2 (1.59) (1.60) + V En donde apl es el voltaje aplicado, k es la constante de Boltzmann, N D es la con− centración de impurezas de donadores y N A la de aceptores. Para contactos de tipo Schottky, las condiciones de frontera toman la siguiente forma: Ψ =V apl + EG 2 −ÖB EG 2 −ÖB n = nie exp kT q (1.61) (1.62) 77 En donde E G es la banda de Valencia y Ö B es la barrera de potencial. Para otras fronteras sin flujo de corriente las condiciones de frontera se expresan de la siguiente manera: ∂Ψ ∂ϕn ∂ϕ p = = =0 ∂n ∂n ∂p (1.63) En donde ϕn y ϕ p son los cuasi niveles de Fermi de electrones y huecos respectivamente. Los métodos de solución de estas ecuaciones son métodos numéricos. El primero que se utiliza es el método de diferencias finitas (FDM), y el segundo es el método de elementos finitos (FEM). Con FDM la región a simular se divide en áreas rectangulares o triangulares para casos bidimensionales, o en cubos y tetraedros para casos tridimensionales. Las esquinas o vértices se consideran nodos. Las ecuaciones diferenciales son modificadas usando aproximaciones de diferencias finitas, y se construye una matriz de ecuaciones. Estas ecuaciones se resuelven iterando solo en esos nodos. Las técnicas de solución más usadas son las de Gauss-Seidel /Jacobi o los métodos de Newton. El FDM tiene la desventaja de requerir más nodos que el FEM en la misma estructura. La ventaja es que requiere de menos memoria computacional para la solución que el FEM. En el FEM la región a simular se divide en cuadrados o triángulos para el caso bidimensional o en tetraedros para casos tridimensionales. Las ecuaciones en el FEM son modificadas multiplicándolas por una función de forma e integrándolas sobre la región simulada. El resultado de un nodo es la adición de todas las soluciones posibles. Simuladores basados en aproximación semiclásica La aproximación semiclásica está basada en la ecuación de trasporte de Boltzmann (BTE) que se puede escribir como: df ∂f q = +v .∇r ± dt ∂t h ( 2π ) ∂f ∂t coll E .∇k f = (1.64) En donde f representa la distribución de portadores en el volumen para cualquier tiempo t, v es la velocidad de grupo, E es el campo eléctrico y q y h son la carga del electrón y la constante de Planck, respectivamente. La BTE es una simplificación de la ecuación de Liouville – Von Neumann para la matriz de densidad. Las suposiciones que se deben hacer para resolver este tipo de problemas son las siguientes: 1. Las interacciones entre portadores se consideran muy débiles. 2. Las partículas no ganan energía del campo eléctrico durante las colisiones. 3. La probabilidad de dispersión es independiente del campo eléctrico. 4. Se desprecian los efectos del campo magnético. 5. No existe interacción entre electrones en el término de las colisiones. 6. El campo eléctrico varia muy lentamente, por ejemplo el campo eléctrico se considera constante para un paquete de ondas que describen el movimiento de una partícula. 78 7. La nube de electrones y huecos no se degenera. 8. Se aplican teoría de bandas y teoremas de masa efectiva a los semiconductores. El proceso de solución del problema empieza por resolver la ecuación de Poisson para obtener el campo eléctrico dentro del dispositivo, posteriormente usando la tecnica de Monte Carlo (MCT), se resuelve la BTE para obtener la función de distribución de portadores f . Con esta función se pueden calcular las corrientes de electrones y portadores, a partir de las siguientes integrales: k J n = −q ∫vf (r , k ,t )d 3k (1.65) k J p = +q ∫vf (r , k ,t )d 3k (1.66) Simuladores basados en aproximación cuántica La simulación con esta aproximación se basa en la solución de la ecuación de onda de Schrodinger (SWE), que en su versión independiente del tiempo se escribe de la siguiente manera: ( 2π ) ∇ ϕ + (E h 2m 2 2 n n + qV )ϕn = 0 (1.67) ϕn corresponde a la función de onda de la banda n cuyo mínimo valor de energía es E n , V es el potencial de la región, m es la masa de la partícula, h y q son la Donde carga del electrón y la constante de Planck, respectivamente. Con esta aproximación la distribución de potencial dentro del dispositivo se calcula con la ecuación de Poisson. Este potencial se usa después en la SWE para encontrar el vector de onda de los electrones, para luego encontrar la distribución de portadores con la siguiente expresión: n = ∑N n ϕn n 2 (1.68) Siendo N n la distribución en la banda n . Esta concentración se usa de nuevo en la ecuación de Poisson y nuevos valores de función de onda, energía mínima y n son calculados. Este proceso se repite hasta encontrar una solución auto consistente. El último vector de onda se usa para encontrar la matriz de dispersión, y después con el MCT se encuentra la distribución de portadores y las densidades de corriente. Paquetes de simulación disponibles La aproximación clásica es la más utilizada dado que es la más fácil de implementar y es la que más rápido se resuelve. Los paquetes basados en este tipo de aproximación más populares, en dos dimensiones son: FEDAS, HESPER, PISCES-II, PISCES-2B, MI- 79 NIMOS y BAMBI; y en tres dimensiones están: TRANAL, SIERRA, FIELDAY, DAVINCI, y CADDETH. Los dispositivos de gran tamaño, en los que los portadores viajan lejos de las fronteras, se pueden simular en aproximaciones de una sola dimensión. Simulación de semiconductores E l diodo posee distintos parámetros según el modelo. PSpice ofrece los siguientes para un diodo tipo “DbreaK”: Nombre Parámetro Unidad Valor configurado IS Corriente de saturación A 1,00E-14 1,00E-14 RS Resistencia parasita W 0 10 N Coeficiente de emisión 1 1 TT Tiempo de transito seg 0 0,1NS CJO Capacitancia de agotamiento F 2PF VJ Potencial de juntura V 0 1 M Coeficiente de graduación 0.5 0.5 EG Energía de activación 1.11 1.11 3 3 XTI eV Exponente de temperatura BV Voltaje de ruptura V IBV Corriente de ruptura A Valor típico 0.6 50 1E-10 Figura 3.35 Modelo PSpice de pequeña señal. En el editor de modelo se cambia los parámetros al valor deseado y el ajuste se observa en la grafica en la parte superior del editor (Figura 3.36); son varias las graficas de acuerdo con las variables a representar o las que se deseen examinar. 80 Figura 3.36 Editor de modelo del diodo en Orcad PSpice Simulación de la juntura PN tomando como base el diodo 1N4148 M ediante el simulador Orcad se examinarán las curvas características del diodo. Se escoge un diodo comercial como el 1N4148 el cual se polariza con una fuente DC y resistencia, implementando el circuito de la figura 3.37. R1 Vanodo 1k 0Vdc + V1 D1 D1N4148 _ 0 Figura 3.37 Circuito de prueba del diodo 81 En la Figura 3.38 se hace un barrido DC del voltaje en el diodo versus la corriente que lo atraviesa y en la Figura 3.39 se ve aumentada la zona de polarización directa. (A) juntura (active) 40mA 30mA 20mA 10mA 0A -10mA -20mA -120V I(DI) -100V -80V -60V -40V V(Vanodo) -20V -0V 20V Figura 3.38 Curva característica del diodo 1N4148 (A) juntura (active) 500uA 400uA 300uA 200uA 100uA 0A 0V I(DI) 100mV 200mV 300mV 400mV V(Vanodo) Figura 3.39 Polarización directa del diodo 82 500mV Simulación efecto Zener en el diodo E n esta simulación se muestra el efecto Zener del diodo 1N750, que es un diodo de 4.7V y que se usa generalmente para la regulación de voltajes entre los nodos del diodo; además se hace variar la temperatura de operación del diodo para ver los efectos que tienen en la respuesta del diodo. R1 Vz 500 0Vdc + V1 D2 D1N750 _ 0 0 Figura 3.40 Curva característica del diodo 1N4148 83 (A) juntura (active) 0A -10A -20A -30A -40A -6.0V I(D2) -5.0V -4.0V -3.0V -2.0V -1.0V 0V -V(Vz) Figura 3.41 Curva característica del diodo 1N4148 (A) juntura (active) 0A -5.00mA -10.00mA -15.00mA -19.92mA -4.779V -4.700V I(D2) -4.600V -4.500V -V(Vz) -4.400V -4.279V Figura 3.41 Variación de la curva Voltaje Vs. Corriente, ante variaciones de temperatura del diodo de -50°C a 50°C en incrementos de 25°C 84 CAPÍULO 4 El MOSFET Introducción E l transistor BJT es un dispositivo de tres terminales, en el que una terminal controla el flujo de corriente entre las otras dos. El transistor MOSFET (Transistor de efecto de campo metal-oxidó semiconductor) (por sus siglas en ingles Metal-Oxide-Semiconductor Field Effect Transistor), tiene su mecanismo de control de corriente basado en un campo eléctrico establecido por la tensión aplicado a la terminal de control. Estos dos tipos de transistores tienen un rango de aplicaciones similares y principalmente presentan en común la impedancia de entrada elevada (aunque es mayor en los MOSFET) y el empleo como amplificadores de señal AC. TRANSISTOR BJT MOSFET METAL - ÓXIDO EFECTO DE TRANSISTOR SEMICONDUCTOR CAMPO Figura 4.1 Esquema de las principales aplicaciones de los transistores y MOSFETs TRANSFER RESISITOR Los principales apartes de la historia de los MOSFETs son: • - • - • - • • Están basados en el principio de efecto de campo presentado en 1925 por JuliusLillienfeld. Uso de un campo eléctrico para controlar corriente entre dos terminales. Fue patentado en 1928 por Lillienfeld. Implementación posible en los 60s. Teoría de escalamiento = miniaturización. Ver Figura 2.2 60s, Robert Dennard. Transistor más utilizado (más de 80% del mercado). Base de la industria microelectrónica. Figura 4.2 Miniaturización del transistor a través de los años1 1 www.itrs.net 87 Definición E l MOSFET es un dispositivo de cuatro terminales: compuerta, fuente, drenaje y substrato. Es un dispositivo UNIPOLAR, dado que la corriente de conducción involucra sólo un tipo de portador de carga (electrones – canal n, o huecos – canal p). Físicamente consiste en dos regiones semiconductoras fuertemente dopadas (SFuente y D-Drenador) separadas por una región semiconductora de tipo complementario (BSubstrato), un aislante y un electrodo sobre dicha región (G-Compuerta). Ver Figuras 4.3 y 4.4 El aislante eléctrico empleado es normalmente dióxido de silicio ( SiO 2 ) con un espesor de 0.02 a 0.1μm. El ancho del canal W se encuentra en el rango de 2 a 500 μm, mientras que el largo del canal L varía entre 0.1 a 10 μm. Dispositivos con menor largo del canal son empleados en el diseño de circuitos integrados de alta velocidad2 Drenador (D) Compuerta (G) Fuente (S) Polisilicio Dioxido de Silicio - SiO2 SiO2 Polisilicio + Substrato (Si dopado) Difusión (Si de dopado complementario al substrato) Substrato (B) Figura 4.3 Sección de un MOSFET Drenador (D) Compuerta (G) Fuente (S) (W) Ancho de canal (L) Largo de canal Substrato (B) Dioxido de Silicio - SiO2 Polisilicio + X (Profundidad de canal) Substrato (Si dopado) Difusión (Si de dopado complementario al substrato) Y (Largo de canal) Z (Ancho de canal) Figura 4.4 Vista espacial del MOSFET 2 88 Sedra, Adel. Smith, Kenneth. Circuitos Microelectrónicos. McGraw Hill. Capitulo 5. Principio de Funcionamiento del MOSFET La corriente de arrastre que fluye entre fuente y drenador se controla variando la tensión en el electrodo de compuerta.La corriente fluye en dirección longitudinal entre drenador y fuente porel canal, el cual la limita por las características físicas de largo y ancho. Transistores NMOS y PMOS E al semiconductor aplicando voltaje de compuerta Controla la resistencia entre fuerte y drenador Compuerta aislada de la superficie del silicio por SiO2 Compuerta (G) Fuente (S) Drenador (D) Polisilicio SiO2 Substrato (B) Figura 4.5 Funcionamiento del MOSFET Figura 4.6 Sección transversal del MOSFET 89 NMOS Compuerta (G) Drenador (D) + Fuente (S) _ Compuerta (G) Drenador (D) _ Polisilicio P+ Polisilicio N+ n+ P I n+ p+ N Substrato (B) I Fuente (S) + p+ Substrato (B) Figura 4.7 Sección de Transistores NMOS (izquierda) y PMOS (derecha) • • • • Flujo de corriente: de drenador a fuente. Drenador es región n+ conectada al potencial más alto. Se forma canal tipo N entre drenador y fuente. Flujo de corriente debido a electrones PMOS • • • • Flujo de corriente: de fuente a drenador. Drenador es región p+ conectada al potencial más bajo. Se forma canal tipo P entre drenador y fuente. Flujo de corriente debido a huecos. Polarización y Regiones de Operación Existen varias regiones de operación para los MOSFETs que dependen de los potenciales que se apliquen a las terminales de compuerta y drenador respecto a la terminal de fuente. • Desde el punto de vista del potencial de superficie VGS : • Banda plana Transistor “apagado”:Corriente≈0 • Acumulación • Agotamiento • Inversión • Inversión débil Transistor “encendido”: Corriente≠0 • Inversión fuerte • Desde el punto de vista de VDS en comparación con VGS • Región de Corte Transistor “apagado” : Corriente≈0 • Determinado por VGS • Región lineal • Región de saturación Transistor “encendido” : Corriente≠0 90 MOSFET de enriquecimiento Estructura E n las Figuras 4.8 y 4.9 se muestra la estructura física del MOSFET de canal n. El transistor está fabricado por un sustrato tipo p, dos regiones de tipo n fuertemente contaminadas, una delgada capa de dióxido de silicio, el cual es un excelente aislante eléctrico y por un deposito de metal en la capa superior del óxido para formar el electrodo de compuerta del dispositivo. También se hacen contactos metálicos para la región de fuente, la región de drenador y el substrato. De esta forma aparecen cuatro terminales: el terminal de compuerta (G), el terminal de fuente (S), el terminal de drenador (D) y el terminal del substrato (B). Óxido de compuerta Contacto de fuente Metalización de compuerta Campo de óxido Fuente n+ Contacto de drenador Drenador n+ ͭ OX Substrato tipo b ɭ Canal Figura 4.8 Estructura del MOSFET de enriquecimiento Drenador Compuerta Fuente w n L Conductor Aislante n Substrato semiconductor dopado tipo - p Figura 4.9 Estructura espacial del MOSFET de enriquecimiento 91 Operación sin tensión aplicada a la Compuerta Sin tensión aplicada a la compuerta se forman dos diodos conectados en oposición (espalda con espalda) entre drenador y fuente, uno de estos diodos está formado por la unión pn entre la región de drenadory el substrato tipo p y el otro diodo se forma por la unión pn entre el substrato tipo p y la región n de fuente. Estos diodos impiden la conducción de corriente de drenador a fuente cuando se aplica unatensión VDS Creación de un canal de circulación de corriente VSB = 0 S VGS > Vth G VDS = 0 D ID = 0 n+ n+ Substrato tipo p B Figura 4.10 Canal de circulación de corriente Considerando el caso descrito en la Figura 4.10, se conectan el drenador y fuente a tierra y se aplica unatensión positiva a la compuerta. La tensión positivaen la compuerta, ocasiona en primera instancia, que los huecos libres sean repelidos de la región del sustrato bajo la compuerta, por tanto este empuje hacia debajo genera una región agotada de portadores. Por la misma razón, la tensión positiva de compuerta atrae electrones de las regiones n+ de compuerta y drenador hacia la región del canal. Cuando un número suficiente de electrones se acumula cerca de la superficie del sustrato bajo la compuerta, se crea en efecto una región n que conecta las regiones de fuente y drenador como se indica en la Figura4.11. Ahora si se aplica unatensión entre drenador y fuente, circula corriente por esta región n inducida, llevada por los electrones móviles. Esta región n inducida se denomina canal. Consecuentemente, el MOSFET de la Figura 4.10 se denomina MOSFET canal n o transistor NMOS. El valor de VGS en el cual un número suficiente de electrones móviles se acumula en la región del canal para formar un canal conductor se denomina tensión de umbral o tensiónThresholdy se denomina Vth , este valor es controlado durante la fabricación del dispositivo y por lo general es de1 a 3V. 92 Aplicación de un pequeño V DS VGS > Vth G VSB = 0 S VDS = 0 D ID = 0 n+ n+ Canal n Inducido Substrato tipo p B Figura 4.11 Transistor NMOS con VGS > Vth y con una pequeñatensión aplicada VDS 3 Al inducirse un canal aplicamos unatensión positiva VGS Sentre fuente y drenador como se muestra en la Figura 4.11. Primero se considera el caso donde VDS es pequeño (0.1 a 0.2V). La tensión VDS hace que circule una corriente I D por el canal n inducido. La corriente es llevada por electrones que se desplazan de fuente a drenador.La magnitud de I D depende de la densidad de electrones del canal que a su vez depende de la magnitud de VGS . En la Figura 4.12 observamos que el MOSFET opera como resistencia lineal cuyo valor está controlado por VGS , su resistencia es infinita para VGS ≤Vth y su valor decrece a medida que VGS excede a Vth . ID(mA) 0,5 VGS = Vth+4v 0,4 VGS = Vth+3v 0,3 VGS = Vth+2v 0,2 VGS = Vth+1v 0,1 VGS ≤ Vth 0 0 50 50 100 Figura 4.12 Curvas características 150 200 VDS (mV) ID - VDS del MOSFET 3 Caratteristiche dei Mosfet. Fuente: http://vlsi.die.uniroma1.it/centurelli/lez15.pdf 93 Operación a medida que VSB = 0 S VGS > Vth G VDS aumenta VDS = 0 D ID = 0 n+ VGS > Vth G VSB = 0 S ID = 0 n+ n+ VDS = 0 D ξ n+ Substrato tipo p Substrato tipo p B B Figura 4.13 Operación del MOSFET con VDS en aumento Como vemos en la Figura 4.13, VDS Saparece como caída de tensión a lo largo del canal desde fuente a drenador y la tensión aumenta de 0 a VDS .Entonces la tensión entre la compuerta y puntos situados a lo largo del canal disminuye de VGS en fuente a VGS −V DS en el extremo del drenador. S D Canal VDS ≥ VGS - Vth VDS VDS = 0 Figura 4.14 Incremento de VDS causa disminución en la profundidad del canal, hasta llegar al punto de estrangulamiento cuando V = V − V DS GS th A medida que V DS aumenta el canal se hace más estrecho y su resistencia aumenta (Figura 4.14). Entonces la curva I D −V DS no continúa recta si no que se dobla. Cuando la profundidad del canal disminuye casi a cero se dice que el canal está estrangulado. Aumentar V DS a más de este valor tiene poco efecto en la forma del canal, y la corriente que pasa por el canal permanece constante al valor alcanzado para V DS =VGS −Vth . La corriente de drenador entonces se satura a este valor, y el MOSFET se dice que entra en estado de saturación:V DSsat =VGS −Vth Caracterización del MOSFET de Enriquecimiento El MOSFET de enriquecimiento requiere de una tensión positiva entre la compuerta y la fuente para establecer un canal. Este canal se forma por la acción de una tensión positiva compuerta a fuente VGS , que atrae electrones de la región del sustrato ubicada entre el drenaje y la compuerta contaminados de tipo n. Una tensión VGS positiva provoca que los electrones se acumulen en la superficie inferior de la capa de óxido. Cuando la tensión alcanza el valor de umbral Vth , han sido atraídos a esta región los electrones sufi- 94 cientes para que se comporte como canal n conductor. No habrá una corriente apreciable I D hasta que VGS exceda a Vth No existe un valor I D para el MOSFET de enriquecimiento, ya que la corriente de drenaje es cero hasta que el canal se ha formado. I D es cero para VGS = 0 . Para valores de VGS >Vth , la corriente de drenaje se puede calcular de la ecuación: I D = k (VGS −Vth ) 2 (1.1) El valor de k depende de la construcción del MOSFET y, en principio, es función del largo y ancho del canal. Un valor típico para k es 0.3mA/V 2 ; la tensión de umbral Vth , es especificada por el fabricante. Fuente S Drenaje D Compuerta G n Fuente S D p n D p Substrato Substrato G G Substrato tipo n Substrato tipo p S SiO2 a) Esquema de la estructura física S SiO2 a) Esquema de la estructura física b) Símbolo b) Símbolo ID (mA) ID (mA) VGS Drenaje D Compuerta G VGS = 5V VGS = -5V VGS1 < VGS VGS1 < VGS VGS2 < VGS1 VGS2 < VGS1 VGS3 < VGS2 VGS3 < VGS2 -VGS VT VDS (V) c) Características de trasferencia e ID - VGS -VT c) Características de trasferencia e ID - VGS -VDS (V) Figura 4.15 MOSFET de enriquecimiento de canal n (izq.) y MOSFET de enriquecimiento de canal p (der.). Modos de Operación 1. 2. FF: VGS <Vth donde Vth es la tensión de umbral. No hay conducción entre drenaje O y fuente. Pequeña corriente de fuga no considerable. RIODO o REGIÓN LINEAL: VGS >Vth y V DS <VGS −Vth . Flujo de corriente entre deT naje y fuente. El MOSFET opera como resistencia controlada por tensión en compuerta. La corriente de drenaje a fuente es: I ÐÐÐÐ = µnC ox W 2(V −V )V 2 L ( −V 2 ) (1.2) Donde µn es la movilidad, W el ancho del canal, L el largo del canal y C ox la capacitancia en la compuerta. 95 3. ATURACIÓN: VGS >Vth y V DS >VGS −Vth . La corriente en drenaje es relativamente S independiente de la tensión en drenaje, siendo controlada por la tensión en la compuerta. Una aproximación de 1er orden se muestra a continuación: ID = 2 µnC ox W VGS −Vth ) ( 2 L (1.3) Características Tensión-Corriente El MOSFET de enriquecimiento puede ser modelado simplemente como un interruptor o switchen el cual la corriente puede fluir en cualquier dirección. El modelo que se describe a continuación es útil para la lógica y tiempos en la simulación del comportamiento de un circuito integrado MOS. Existen muchos modelos que permiten la simulación de circuitos integrados MOS que consideran o no cierta clase de diferentes parámetros. El siguiente análisis del comportamiento del transistor se hace con referencia al primer y más simple modelo utilizado en Pspice. Uno de los parámetros más importantes para un transistor corresponde al tiempo de tránsito τ , de un portador (un electrón si es un MOSFET canal n o un hueco si es un MOSFET canal p) para pasar de la fuente al drenaje. Fuente Compuerta Drenador L Canal Figura 4.16 Modelo de un transistor MOSFET Considerando la Figura 4.16 del MOSFET tendríamos que simplemente τ = L donv de v es la velocidad promedio del portador de carga. Bajo condiciones normales, podemos calcular la velocidad promedio v de un portador de carga. Si no hay tensión aplicada entre fuente y drenaje por el canal, entonces la velocidad es 0. Si existe un campo eléctrico en la región del canal, los portadores de carga tendrían una aceleración que corresponde a a = eE , donde e es la carga del portador, E m es la magnitud del campo eléctrico aplicado y m es la masa del portador. Para portadores de carga libres. Es importante considerar las colisiones (inelásticas) que tienden a frenar al portador de carga. Asumiremos τ c el valor como el tiempo entre colisiones. Según esto tenemos que: 1 2 v = aτ c = 96 eE τ = µE 2m c (1.4) El parámetro μes denominado movilidad. Se han determinado estos valores tanto para elec2 trones como para huecos, los cuales son: µ ≈ 750cm 2 s y µ ≈ 250cm s para el silicio. e p V V De lo anterior tenemos que el tiempo característico τ corresponde a: τ= Si L L L2 = = v µE µV DS E = −∇V = (1.5) V DS L (1.6) El modelo para determinar la corriente que fluye por el canal y la impedancia del mismo se muestra en la Figura 4.17. VGS Metal G Oxido + +++++ ------- S L D Figura 4.17 Modelo del MOSFET para determinar la corriente que fluye por el canal Tenemos que: Q = −C (VGS −Vth ) donde C es la capacitancia formada entre la compuerta y el sustrato. Esta capacitancia puede modelarse como la de placas paralelas. Por lo tanto nos queda que: ε LW (VGS −Vth ) D Q =− (1.7) Donde L y W son el largo y ancho del canal, D es la distancia entre la compuerta y el sustrato, y ε es la permitividad del material (4.2co para el silicio). La corriente que fluye por el canal es: I DS = Q µεW = (V −V )V τC LD GS th DS (1.8) Si asumimos que el campo eléctrico es uniforme en todo el canal. Un análisis más complejo determina que: En la región lineal y I DS = µεW 2(VGS −Vth )V DS −V DS2 2LD I DS = 2 µεW VGS −Vth ) ( 2LD (1.9) (1.10) 97 En la región de saturación la impedancia del canal se puede determinar así: Z= V DS 2LD 2L2 = = I DS µεW (VGS −Vth ) −V DS µC G (VGS −Vth ) −V DS (1.11) Si el transistor está en la región activa y Z= En la de saturación. 2 2LV DS (1.12) µC G (VGS −Vth ) 2 τ Podemos calcular también la constante de tiempo CG para un transistor que carga la compuerta de otro transistor idéntico. Este tiempo es muy importante para un dispositivo lógico ya que corresponde al “gatedelay” o retraso de tiempo en compuerta: τCG = RC G = 2 2LV DS µ (VGS −Vth ) 2 = (V 2τV DS2 GS (1.13) −Vth ) 2 Para VGS =V DS y Vth = 0.2Vds tenemos que: τCG = 3.1τ , asumiendo que el transistor que provee la carga está en saturación. I V DS A continuación se muestra la gráfica de corriente DS contra tensión valores de corriente de compuerta aplicada (Figura 4.18). ID (mA) VDS ≤ VGS - Vth Región Triodo 18 16 VDS ≥ VGS - Vth Región de saturación VGS = Vth + 8V 14 12 VDS = VGS - Vth 10 8 VGS = Vth + 6V 6 4 VGS = Vth + 4V 2 VGS = Vth + 2V 2 4 6 8 10 12 14 16 18 VDS (V) VGS ≤ Vth (Zona de corte) Figura 4.18 Curva característica 98 IDS - VDS del MOSFET de enriquecimiento para varios Entonces tenemos tres estados para la corriente, que son: I DS VGS <Vth 0 2 µεW V DS 0 <V DS <VGS −Vth =− (VGS −Vth )V DS − 2 LD 2 µεW VGS −Vth ) 0 <VGS −Vth <V DS ( 2LD Realmente en la región de saturación, la corriente I DS no es completamente inde- pendiente de la tensión V DS , parcialmente porque V DS “vacía” los portadores de carga del pozo. Este efecto disminuye el largo efectivo del canal y además agrega portadores de carga al canal como se ve en la Figura 4.19. Estos efectos son modelados por el parámetro λ , “factor de modulación del largo del canal”. Incluyendo esto tenemos la expresión de la corriente de la siguiente forma: I DS = 2 µεW VGS −Vth ) (1 + λV DS ) ( 2LD (1.14) +VDS ++++++ N Figura 4.19 Efecto de P + + + _ _ ++ _ + N _ + _ + VDS sobre el canal, disminuye el largo efectivo y agrega portadores de carga Inicialmente, si no hay carga aplicada a la compuerta, la fuente y el drenaje son separados por uniones PN no polarizadas y no hay corriente que pueda fluir entre las regiones. (La impedancia en estado OFF o apagado del transistor está del orden de Mega-ohms). Cuando una carga es aplicada a la compuerta, los portadores son atraídos desde el sustrato hacia el canal como se muestra en la Figura 4.20. VGS +VDS ++++ ++++ -----++++ +++ + Región de Agotamiento Figura 4.20 Región de vaciamiento 99 El grueso de la región de agotamiento o vaciamiento X d puede ser calculado como función del potencial electrostático φS . Para los transistores tipo P, la capa de agotamiento se hace al desplazar hacia abajo los huecos móviles. El número de huecos dQ corresponde a: (1.15) dQ = q ( −N P )dX d El cambio del potencial en la superficie φS es: d φS = −X d dE = − Integrando y despejando X d obtenemos: X d dQ qN P X d dX d = ε Si ε Si 2ε φ − φ X D = Si S F qN P 1 2 (1.16) (1.17) Donde ε Si es la permitividad del silicio, q es la carga de un portador, N P es la densidad de iones tipo P en el sustrato y φF corresponde a la constante de integración. La carga por unidad de área en el canal es: 1 Q = −qN P X d = − 2qN P ε Si φS − φF 2 (1.18) φ = −φF . Para calcular esta tensión debemos La tensión Threshold se define como S saber la concentración de portadores N en el sustrato mediante la siguiente expresión: φF = φF = KT lnln ni q NP (1.19) KT lnln N N q ni (1.20) Si el sustrato no está polarizado entonces (φS = −φF ) y 1 Cuando está polarizado Y Q BO = − 2qN P ε Si −2φF 2 (1.21) φS = −2φF +V SB (1.22) Q B = − 2qN P ε Si −2φF +V SB 100 1 2 (1.23) Entonces la tensión Vth corresponde a: Vth = φGC − 2φF − Donde QB Qox − C ox C ox (1.24) φGC = φF (substrato ) − φF (compuerta ) (1.25) Tensión que representa la diferencia de materiales del substrato y la compuerta; Qb / C ox corresponde a la capa de agotamiento y Qox / C ox es la pérdida debida a impurezas. Despejando con la intención de dejar este Vth en términos de V SB (tensión de polarización del sustrato) podemos llegar a la siguiente expresión: 1 1 Vth =VthO + Υ −2φF +V SB 2 − 2φF 2 Donde (1.26) 1 (1.27) 2q ε Si N P 2 Υ= C ox El parámetro VthO es la tensión inicial de umbral y Υ es llamado “factor coeficiente de efecto de cuerpo”. La Figura 4.21 muestra la zona segura de operación, entendida como la región en la que se evitan prolongados tiempos de respuesta y “switcheo”. ID Potencia Límite Limitado por RDS 10uS 1mS 100mS DC VDS VDS máx Figura 4.21 Zona segura de operación del MOSFET 101 Simulaciones Tensión Threshold y Corriente de Saturación para un MOSFET tipo n de enriquecimiento. El esquemático implementado en Pspice se muestra a continuación: 0 0V - V1 + 15Vdc R2 1 R1 M6 V1 = 15V V2 + 1K IRF150 V2 = -15V TD = 0.0001 TR = 3ms TF = 3ms PW = 3ms 0 PER = 3ms 0 Figura 4.22 Simulación MOSFET El VGS está simulado mediante una fuente rampa de -15V a 15V en 3ms. El transistor está polarizado mediante una fuente de 15V en drenador y una resistencia limitadora de corriente de 1ohm. El transistor es un irf150, MOSFET de potencia. Para lograr encontrar el Vth debemos graficar la corriente I DS en términos de VGS . Las simulaciones respectivas se muestran enseguida. La tensiónthreshold corresponde alatensión con la que se alimenta la compuerta en la cual empieza a circular corriente como podemos ver en la gráfica de Pspice. Figura 4.23 Resultado de la simulación 102 Para observar más detalladamente estatensión ampliamos la imagen y encontramos fácilmente que estatensión está alrededor de los 2.8 a 3V. Este parámetro está especificado para este tipo de transistor pero sabemos que podemos modificar esto y trabajar con la información exacta de nuestro transistor. Figura 4.24 Resultado de la simulación La corriente de saturación se puede ver en la parte de arriba de la primera gráfica y según nuestro esquemático corresponde a 15mA aproximadamente. En la siguiente gráfica se aprecia mejor este hecho. Figura 4.25 Resultado de la simulación 103 MOSFET de vaciamiento o agotamiento E n este punto se va a realizar el estudio de los transistores MOSFET de vaciamiento. El estudio, dada la gran similitud de funcionamiento con los MOSFET de acumulación, se limitará a la descripción de estos transistores y su funcionamiento desde el punto de vista cualitativo y las diferentes regiones de funcionamiento. Empezaremos por mostrar en la Figura 4.26 los símbolos más ampliamente utilizados para representar a estos transistores. D ig G _ VGD D iD + + + ig VDS VGS G _ _ VGD ig VGS VDS (c) G VGS D iD + + + ig B VDS _ _ ig S (b ig S D ig _ _ (a) _ + + + S VGD iD _ G VGD + iD _ + B VDS + VGS _ _ ig S (d) Figura 4.26 Símbolos y definición de corrientes y tensiones para transistores MOSFET de vaciamiento (a) y (b) Canal n, (c) y (d) Canal P 104 Definidas todas las corrientes entrantes se cumple: I D + IG + I S = 0 (1.28) V DS −VGS +VGD = 0 (1.29) Al igual que en los transistores MOSFET de acumulación, la corriente de compuerta en continua siempre es cero (I G = 0) . En la Fgura 4.27 se muestran las secciones trasversales de las configuraciones básicas de los transistores MOSFET de vaciamiento. La diferencia entre estos transistores y los MOSFET de acumulación, es que en los MOSFET de vaciamiento en el proceso de fabricación se depositan, bajo la puerta de óxido, impurezas del mismo tipo que el de las “islas” del drenador y fuente. Esto es, en un transistor MOSFET de vaciamiento canal n entre las islas de drenador y fuente (que son tipo n+) se crea, durante el proceso de fabricación, un canal de impurezas de tipo n. Para el caso de un MOSFET de vaciamiento canal p, el canal que se crea durante el proceso de fabricación es de impurezas de tipo p. Esto hace que exista canal sin necesidad de tener que aplicar tensión en el terminal de compuerta (VGS = 0) . Esta es la razón por la que a este tipo de transistores se le suele conocer como transistores MOSFET “normalmente ON” (sin necesidad de aplicar tensión en compuerta, si V DS = 0 existirá corriente entre drenador y fuente). Por el contrario, en los transistores MOSFET de acumulación, como ya se ha visto, para que exista corriente entre drenador y fuente es necesario aplicar una tensión en el terminal de compuerta (VGS >Vth para canal n y VGS <Vth para canal p), por ello, los transistores MOSFET de acumulación también se conocen por “normalmente OFF”. En algunas aplicaciones, como por ejemplo electrónica de potencia, interesa utilizar transistores MOSFET “normalmente OFF” ya que se debe garantizar que la condición de conducción sea expresamente forzada (el transistor debe permanecer cortado en ausencia de tensión en compuerta). Ésta es la razón fundamental por la que en aquellas aplicaciones donde se manejen grandes corrientes (electrónica de potencia, por ejemplo), interesa, para evitar posibles daños, que los dispositivos permanezcan cortados en ausencia de tensión de compuerta, y por ello no se suelen utilizar ni transistores MOSFET de vaciamiento ni JFET (recuérdese que estos últimos también conducen para VGS = 0 ). Compuerta G Compuerta G Drenador D Fuente S SiO2 SiO2 n+ Substrato n SiO2 n+ P B Substrato (a) Drenador D Fuente S SiO2 SiO2 P+ Substrato Zona de canal P SiO2 P+ n B Substrato Zona de canal (b) Figura 4.27 Sección transversal de las estructuras MOSFETs de vaciamiento básicas. (a) MOSFET canal n, (b) MOSFET canal p. 105 Al igual que en los MOSFET de acumulación, una de las islas constituye el terminal de drenador (D) y la otra el de fuente (S). La corriente, como se pondrá de manifiesto, fluye entre estos dos terminales y está controlada por el terminal de compuerta (G). El terminal de drenador será aquel que “drene” portadores mayoritarios. Siendo los portadores mayoritarios los electrones para el transistor canal n y los huecos para el canal p. Obsérvese que aquí también existen uniones pnentre drenador (D) y el sustrato (B) al igual que entre fuente (S) y sustrato (B). Para garantizar el correcto funcionamiento del transistor MOSFET se debe garantizar que estas uniones estén polarizadas en inverso. De nuevo, al igual que en el caso de transistores MOSFET de acumulación, todas las tensiones se referirán al terminal de fuente (S): V BS ,V DS y VGS .En principio, también se va a suponer que V BS = 0 (situación muy frecuente). Estudio cualitativo Para ver el funcionamiento de los transistores MOSFET de vaciamiento vamos a utilizar los montajes de la Figura 4.28. Fuente S VGS Fuente S VDS VDS VGS Compuerta G Compuerta G Drenador D Drenador D SiO2 SiO2 n+ Substrato n SiO2 n+ P B Substrato (a) SiO2 SiO2 P+ Substrato Zona de canal P SiO2 P+ n B Substrato Zona de canal (b) Figura 4.28 Estructuras y tensiones para el estudio cualitativo de MOSFETs de vaciamiento (a) canal n, (b) canal p Si nos referimos al transistor canal n se observa, por una parte, que la tensión entre drenador y fuente tiene que ser positiva (V DS > 0 ) y por otra que con VGS = 0 al existir canal la resistencia entre drenador y fuente será pequeña y, por tanto, existirá corriente entre drenador y fuente; esta corriente, definida entrante en el drenador es positiva ( I D > 0 ). Si la tensión VGS es positiva (VGS > 0 ) esto hace que se incremente aún más la conductividad del canal ya que esta tensión positiva induce cargas negativas en la zona de canal (se extraen electrones de los pozos). Para tensiones de compuerta negativas (VGS < 0 ) lo que ocurre es que en la zona de canal se inducen cargas positivas (los electrones del canal se empiezan a quedar en los pozos); de esta forma, se provoca el vaciamiento en la concentración de electrones en el canal, lo que supone un incremento de la resistencia del canal. 106 Existe una tensión umbral Vth de VGS , que será negativa, para la cual deja de existir canal (se inducen en la zona de canal suficientes cargas positivas, o lo que es lo mismo todos los electrones del canal se quedan en los pozos) y por tanto deja de existir corriente entre drenador y fuente. La corriente de drenador en función de VGS se muestra en la Figura 4.29. Para ver la dependencia de I D con V DS , supongamos una tensión VGS 1 >Vth (es decir, existe canal). En estas condiciones para V DS pequeñas el canal presentará una resistencia también muy pequeña y la variación de I D con V DS es casi lineal (el valor de la resistencia del canal permanece constante), a medida que se va incrementando V DS se va produciendo el estrangulamiento del canal, que será más pronunciado por las zonas más próximas a drenador (téngase en cuenta que el estrangulamiento del canal se ve favorecido por tensiones entre compuerta y canal negativas, por tanto al ser V DS > 0 esto favorece el estrangulamiento en las proximidades de drenador). Existe un valor de V DS al que llamaremos V DSat para el cual se estrangula el canal. Tensiones V DS superiores a V DSat ya no producen incrementos en I D , por tanto I D se mantiene constante. El valor de V DS para el cual se alcanza el estrangulamiento del canal viene dado para V DS =VGS −Vth . En la Figura 4.29.b se muestra la variación de I D con V DS (características de salida). VDS =VGS- Vth ID>0 ID>0 HM IC A IDsat (VGS2) CORTE 0 VGS 0 VGS1 VGS ≤ Vth } (a) VGS ≥ Vth IÓ AC SA TU R IDsat (VGS1) Región de corte Vth<0 VGS2 N Ó Región de saturación (activa) (A Región óhmica CT IV A) VGS3 VDS >0 Región de variación ID - VDS casi lineal (b) Figura 4.29 Curvas características de (a) entrada y (b) salida de un transistor MOSFET de vaciamiento canal n 107 Transistor canal p Para el caso de transistores canal p se puede hacer un razonamiento similar al del canal n. La única diferencia es que en el caso de transistores canal p los portadores del canal son huecos y la tensión de compuerta para controlar el ancho del canal debe ser positiva. Esto es para VGS >Vth (donde Vth es un valor positivo) el canal estará estrangulado y la corriente entre drenador y fuente será nula. También se puede comprobar que en este caso la tensión V DS es negativa (obsérvese que con V DS < 0 la corriente circula de fuente a drenador, por tanto por D se “drenan”- huecos, que son los portadores mayoritarios en este tipo de canal), al igual que la I D , si se define entrante. En la Figura 4.30 se muestran las curvas de entrada y salida para el caso de transistores MOSFET de vaciamiento canal p. En lo que se refiere a las ecuaciones que relacionan la corriente de drenador con las tensiones en los terminales, en las tablas 1 y 2 se resumen dichas ecuaciones así como los modos de funcionamiento. Como se puede comprobar, las ecuaciones I D = f (V DS ,VGS ) son idénticas a las de los transistores MOSFET de acumulación. VDS =VGS- Vth ID>0 ID>0 VGS3 VGS2 SATURACIÓN VGS ≤ Vth VGS1 CORTE 0 Vth>0 (a) VGS VGS ≥Vth 0 VDS <0 (b) Figura 4.30 Curvas características de (a) entrada y (b) salida de un transistor MOSFET de vaciamiento canal p con resistencia constante en la región óhmica para cada VGS 108 Resumen sobre MOSFET de vaciamiento canal n: regiones de trabajo, ecuaciones... Símbolo Transistor Canal n Parámetros Tensiones Vth < 0, k > 0 Región de Signo de Corrientes y V DS ≥ 0, I D ≥ 0 Condiciones Corrientes y funcionamiento circuitos en continua -- CORTE VGS ≤Vth SATURACIÓN VGS >Vth V DS ≥VGS −Vth VGS >Vth V DS ≤VGS −Vth I GS = 0, I S = −I D ID = 0 ID = k (V 2 −Vth ) 2 GS (ACTIVA) ÓHMICA I D = k (VGS −Vth )V DS − ID = V DS R DSON R DSON = k 2 V DS2 2 1 , donde: (V GS −Vth ) Tabla 4.1 Resumen sobre MOSFET de vaciamiento canal n4 4 Mazo, Manuel. García, Juan. Palazuelos, Sira. Dispositivos electrónicos II. Universidad de Alcalá de Henares, Servicio de Publicaciones, 2006. Capitulo 2. 109 Resumen sobre MOSFET de vaciamiento canal p: regiones de trabajo, ecuaciones... Símbolo Transistor Canal p Parámetros y tensiones Vth > 0, k < 0 Región de Signo de Corrientes V DS ≤ 0, I D ≤ 0 Condiciones Corrientes y funcionamiento circuitos en continua -- CORTE VGS ≥Vth SATURACIÓN VGS <Vth V DS ≤VGS −Vth VGS <Vth V DS ≥VGS −Vth ID = 0 ID = (ACTIVA) ÓHMICA k (V 2 GS −Vth ) 2 I D = k (VGS −Vth )V DS − ID = V DS R DSON R DSON = k 2 V DS2 2 1 , donde: (V GS −Vth ) Tabla 4.2 Resumen sobre MOSFET de vaciamiento canal n5 5 Mazo, Manuel. García, Juan. Palazuelos, Sira. Dispositivos electrónicos II. Universidad de Alcalá de Henares, Servicio de Publicaciones, 2006. Capitulo 2. 110 ID -ID ID -IDm -ID Sat Ohm Conducción Sat Conducción VGS1 Corte -VP VGS VGS1 Corte Corte VGS1 VP Ohm VGS1 VDS VP Corte -VP VGS VDM=VGS1-VP Curvas I-Vde JFET canal N Curvas I-Vde JFET canal P ID -ID -ID Sat Sat Ohm Conducción Ohm Conducción VGS1 Corte VGS1 VDS VDM=VGS1-VP VGS Vr VGS1 Curvas I-Vde NMOS de Acumulación Corte -VDS VDM=VGS1-VP VGS Curvas I-Vde PMOS de Acumulación ID ID VGS1 Corte Corte VP -ID -ID Sat Sat Ohm Conducción VGS VDS VDM=-VR ID Vr VGS D S VDS G D S VDS VGS G VGS VDS S G VGS ID D ID D VDS S MOS Acumulación canal N y P Transistores MOSFET Acumulación Vaciamiento Saturación Ecuación: ID = k (VGS - Vr)² Condición de funcionamiento en sat: Canal N: Vr < VGS VDS > VDSat Canal P: VGS < Vr VDS< VDSat -VDS VDM=VGS1-VP VGS ID D JFET canal N y P Corte Ecuación: ID = 0 Condición de funcionamiento en corte: Canal N: VGS < Vr Canal P: Vr < VGS Corte Curvas I-Vde PMOS de Vaciamiento ID D ID VGS1 Corte Corte Curvas I-Vde NMOS de Vaciamiento G Ohm Conducción Corte Vr -VDS VDM=VGS1-VP Corte Ecuación: ID = 0 Condición de funcionamiento en corte: Canal N: VGS < Vr Canal P: Vr < VGS Saturación Ecuación: ID = k (VGS - Vr)² Condición de funcionamiento en sat: Canal N: Vr < VGS VDS > VDSat Canal P: VGS < Vr VDS< VDSat Ohmica Ohmica Ecuación: RDS= 1/ (k (VGS - Vr)) Ecuación: RDS= 1/ (k (VGS - Vr)) Condición de funcionamiento en Ohm: Condición de funcionamiento en Ohm: Canal N: Vr < VGS Canal N: Vr < VGS VDS < VDSat VDS < VDSat Canal P: VGS < Vr Canal P: VGS < Vr VDS > VDSat VDS > VDSat Nota: VDSat - VGS - Vr Canal N: con Vr > 0 Nota: VDSat - VGS - Vr Canal N: con Vr < 0 Canal P: con Vr < 0 Canal P: con Vr > 0 G VGS VDS S G VGS VDS S MOS Vaciamiento canal N y P Transistores JET Corte Ecuación: ID = 0 Condición de funcionamiento en corte: Canal N: VGS < Vr Canal P: Vr < VGS Saturación Ecuación: ID = k (VGS - Vr)² Condición de funcionamiento en sat: Canal N: VP < VGS < 0 VDS > VDSat Canal P: 0 < VGS < Vr VDS< VDSat Ohmica Ecuación: RDS= 1/ (k (VGS - Vr)) Condición de funcionamiento en Ohm: Canal N: VP < VGS < 0 VDS < VDSat Canal P: 0 <VGS < VP VDS > VDSat Nota: K=VDSS/VP² Canal N: con Vr < 0 VDSat =VGS - VP Canal P: con Vr > 0 Figura 4.31 Resumen sobre MOSFET de vaciamiento canal n6 6 Mazo, Manuel. García, Juan. Palazuelos, Sira. Dispositivos electrónicos II. Universidad de Alcalá de Henares, Servicio de Publicaciones, 2006. Capitulo 2. 111 Capacitancias Internas del MOSFET E l uso de modelos en donde no tomamos en cuenta el tiempo finito requerido para cargar y descargar las diversas capacitancias internas del transistor nos lleva a pronosticar ganancias constantes de amplificador independientes de la frecuencia. Desafortunadamente en la realidad no ocurre esto, la ganancia de todo amplificador MOSFET cae a alguna frecuencia alta. Del mismo modo, el inversor MOSFET muestra un tiempo de propagación finito, diferente de cero. Para estar en posibilidad de pronosticar estos resultados, el modelo MOSFET debe ser acrecentado incluyéndole capacitancias internas (Figura 4.32). CGD CGS D S CGB CSB CDB B Figura 4.32 Capacitancias del MOSFET Hay básicamente dos tipos de capacitancias internas en el MOSFET: 1. El efecto capacitivo de compuerta: el electrodo de compuerta (polisilicio) forma un condensador de placas paralelas con el canal, sirviendo la capa de óxido como el dieléctrico del condensador. La capacitancia de compuerta u óxido es llamada C ox . 2. Las capacitancias de capa de agotamiento de fuente de cuerpo y de drenadora cuerpo: Éstas son las capacitancias de las uniones pn polarizadas inversamente formadas por la región de la fuente n+ (también llamada difusión de fuente) y el sustrato tipo p, y por la región del drenador n+ (la difusión del drenador) y el sustrato. Estos dos efectos capacitivos se pueden modelar si se incluyen capacitancias en el modelo de MOSFET entre sus cuatro terminales, G, D, S y B. Habrá cinco capacitancias en total: C gs , C gd , C gb ,C sb y C db , donde los subíndices indican la ubicación de las capacitancias en el modelo, ver Figura 4.32. 112 G D S CGS CGD CGB CDS Capacitancias del MOSFET limitan su respuesta de frecuencia CSB Capacitancias del MOSFET B Intrínsecas Extrínsecas -Independencia de voltaje -Dependientes de voltaje -Debidas a fabricación: influenciadas por presencia del canal ej: traslapes (Cox) Figura 4.33 Clases de capacitancias del MOSFET El Efecto Capacitivo de Compuerta Este efecto puede modelarse por las tres capacitancias: C gs , C gd yC gb . 1. Cuando el MOSFET opera en la región del triodo a un pequeño V DS , el canal será de profundidad uniforme. La capacitancia entre compuerta y canal será WLC ox y se puede modelar al dividirla igualmente entre los extremos de fuente y compuerta; entonces: (1.30) C gs = C gd = 1 WLC ox 2 2. Cuando el MOSFET opera en saturación, el canal tiene una forma cónica y se estrangula en el extremo del drenador, o cerca de éste. Entonces tenemos: C gs = C gd = 1 WLC ox y C gd = 0 (1.31) 2 3. Cuando el MOSFET se corta el canal desaparece y tenemos: C gs = C gd = 0 y C gb =WLC ox (1.32) 4. Hay una componente capacitiva pequeña adicional que debe sumarse a C gs y C gd en todas las fórmulas precedentes. Ésta es la capacitancia que resulta del hecho de que las difusiones de fuente y drenador se extienden ligeramente bajo el óxido de la compuerta. Si la longitud de traslape está denotada como Lov , vemos que la componente de capacitancia de traslapees: C ov =WLov C ox (1.33) Típicamente, Lov = 0.1 – 0.2 μm, que puede ser una fracción importante de la longitud del canal en modernas tecnologías CMOS de submicrones. En la figura 4.34 se observan las capacitancias en las diferentes regiones de operación del MOSFET y el comportamiento del canal. 113 CGB CGD CGS C´OX WL COV COV 1/2 C´OX WL 1/2 C´OX WL Región de operación Corte Lineal COVB Saturación G D COVB + _____________ n+ 2/3 C´OX WL COV _ S G D n+ n+ _ + _ S __________ n+ P P B B Compuerta y substratos aislados por canal Canal conecta compuerta con drenador y fuente Compuerta y substratos aislados por canal Canal conecta compuerta con uente Figura 4.34 Capacitancias en las diferentes regiones de operación del MOSFET Las Capacitancias de Unión Las capacitancias de agotamiento de las dos uniones pn inversamente polarizadas, formadas entre cada una de las difusiones de fuente y drenador con el cuerpo se pueden determinar. Para la difusión de fuente, tenemos la capacitancia de fuente y cuerpo: C sb = C sbo V 1 + SB Vo (1.34) Donde C sbo es el valor de C sb a cero polarización de cuerpo y fuente, V SB es la magnitud de la tensión de polarización inversa, y Vo es la tensión integrada de unión (0.6 a 0.8 V). Del mismo modo, para la difusión de drenador, tenemos la capacitancia de drenador y cuerpo C db : C db = C C dbo 1+ V DB Vo (1.35) Donde dbo es el valor de la capacitancia a tensión cero de polarización inversa, y V DB es la magnitud de la tensión de polarización inversa. Nótese que hemos supuesto que, para ambas uniones, el coeficiente de clasificación es m = ½. 114 Modelos del MOSFET Modelo de un MOSFET canal n, a gran señal, saturado Modelo de un MOSFET canal n, a gran señal, saturado IG = 0 ID D G + + VGS _ S 1/2 Kn W/L (VGS - Vth)² VDS _ Figura 4.35 Modelo de un MOSFET canal n, a gran señal, saturado VGS ≥Vth y V DS ≥VGS −Vth son las condiciones de tensiones iniciales. k n' es la transconductancia del proceso cuya dimensión es A/V2 y es igual �nC ox , donde �n es la movilidad del electrón en el canal y C ox la capacitancia por unidad de área del condensador de plaεox cas paralelas formado por el electrodo de la compuerta y el canal: C ox = t con εox ox permitividad del óxido de silicio y t ox el grueso de la capa de óxido. W es el ancho de la región del canal y L es su longitud. Modelo de un MOSFET canal n, a gran señal, saturado, con r0 de salida G IG = 0 ID + VGS _ + 1/2 K´n W/L (VGS - Vth)² S ro D VDS _ Figura 4.36 Modelo de un MOSFET canal n, a gran señal, saturado, con r0 de salida La resistencia de salida, ro ,modela la dependencia lineal de I D sobre V DS y está dada por r ≈V A o ID ,donde V A es la tensión de Early cuyo valor está entre 20 y 30V. 115 Modelo de un MOSFET canal n, a pequeña señal G ID IG = 0 D + + gmVGS VGS _ VDS _ S Figura 4.37 Modelo de un MOSFET canal n, a pequeña señal ( ) ' W V −V g m es la transconductancia la cual es igual a k n L ( GS th ) ó 2k n' W L ID Modelo de un MOSFET canal n, a pequeña señal, con r0 de salida IG = 0 G ID + + gmVGS VGS _ ro D VDS _ S Figura 4.38 Modelo de un MOSFET canal n, a pequeña señal, con r0 de salida La resistencia de salida r0 modela el efecto de modulación de longitud de canal y vale ro = VA ID Modelo T de MOSFET con r0 de drenaje a fuente D gmVGS G VGS ro + _ S Figura 4.39 Modelo de un MOSFET canal n, a pequeña señal, con r0 de salida 116 Modelo a pequeña señal de un MOSFET con el cuerpo no conectado a la fuente IG = 0 ID G D + VGS _ gmVGS gmVBS ro _ S B + VBS Figura 4.40 Modelo a pequeña señal de un MOSFET con el cuerpo no conectado a la fuente Con VBS la tensión del cuerpo a la fuente, el cual sólo aparece cuando el cuerpo no está conectado a la fuente. Modelo de alta frecuencia para el MOSFET G Cgd D + VGS Cgs _ gmVGS gmVBS ro Cdb _ S VBS + Csb B Figura 4.41 Modelo de alta frecuencia para el MOSFET A alta frecuencia, aparecen unas capacitancias entre las terminales del transistor7, las cuales son: C gd : Capacitancia entre compuerta y drenaje. C gs : Capacitancia entre compuerta y fuente. Csb : Capacitancia entre fuente y cuerpo. Cdb : Capacitancia entre drenaje y cuerpo. 7 Whites, EE. Lecture 28: MOSFET as anamplifier. http://whites.sdsmt.edu/classes/ee320/ notes/320Lecture28.pdf 117 Modelo de alta frecuencia para el MOSFET con la fuente conectada al sustrato G Cgd + VGS_ Cgs D gmVGS ro Cdb S Figura 4.42 Modelo de alta frecuencia para el MOSFET con la fuente conectada al sustrato Modelo de alta frecuencia para el MOSFET más común G Cgd + VGS_ Cgs gmVGS D ro S Figura 4.43 Modelo de alta frecuencia para el MOSFET más común Modelo de MOSFET pequeña señal P ara realizar el análisis de un transistor MOSFET en pequeña señal, vamos a usar la polarización que se muestra en la Figura 4.44. Dados los requerimientos de funcionamiento en región de saturación del transistor, se sabe que se debe cumplir la condición de tensión VDS ≥ VGS − Vth . Además se puede deducir que la tensión en el drenador es: VDS = VDD − I D RD 118 (1.36) RD iD VDS + Vgs _ _ + VGS Figura 4.44 Polarización MOSFET8 Y la corriente en el drenador cuando la señal de entrada VGS es cero, por las ecuaciones características del transistor MOSFET es, ID = 1 'W 2 kn (VGS − Vth ) 2 L (1.37) Ahora si tomamos en cuenta la tensión VGS , sabemos que la tensión instantánea estará dada por vGS = VGS + v gs (1.38) Y por ende, podemos calcular de nuevo la corriente de drenador como: ID = = 2 2 1 'W 1 W (VGS − Vth ) + v gs kn (VGS + vgs − Vth ) = kn' 2 L 2 L 1 'W 2 W 1 W 2 kn (VGS − Vth ) + kn' (VGS − Vth ) v gs + kn' v gs2 2 L 2 L 2 L = I D ( DC ) (1.39) ( varianteeneltiempo) Como vemos, la ecuación anterior tiene tres términos, de los cuales dos dependen del elemento de tensión AC, y uno de ellos, el tercero de la ecuación, es indeseado, pues representa un agregado de distorsión no lineal en la corriente, lo que es perjudicial para un amplificador lineal. Para que esta componente no afecte el resultado del comportamiento del transistor amplificador de una forma significativa, se debe garantizar que la señal v_gs sea muy pequeña9. Esto es, que el tercer término de la ecuación anterior sea mucho más pequeño que el primer término. Al desarrollar esta desigualdad se concluye que se debe garantizar que vgs 2 (Vgs − Vth ) = 2Vov (1.40) Donde Vov es la tensión de sobrecarga sobre la cual opera el transistor. 8 Whites, EE. Lecture 28: MOSFET as anamplifier. http://whites.sdsmt.edu/classes/ee320/ notes/320Lecture28.pdf 9 Caratteristiche dei Mosfet. Fuente: http://vlsi.die.uniroma1.it/centurelli/lez15.pdf 119 Transconductancia Si se cumple esta condición de pequeña señal para la entrada v gs , el último término de la ecuación (1.39) se puede eliminar y la ecuación quedaría: i D ≅ I D + id ' , donde i d = k n W (V −V )v L GS th gs (1.41) Como vemos en la ecuación anterior, el parámetro que relaciona v gs con id es la transconductancia del MOSFET, que está definida como gm ≡ id W = k n' (V gs −Vth ) v gs L (1.42) Desde un punto de vista analítico, la transconductancia es la pendiente de la curva característica v gs - id en el punto de polarización donde esté trabajando el transistor (Figura 4.45). ID (mA) ID (mA) gm 1 Q-point ID ID 0 VGS (V) 0 t VGG 0 VGS (V) VGG Vgs VGS (t) t Figura 4.45 Transconductancia10 10 Whites, EE. Lecture 28: MOSFET as anamplifier. http://whites.sdsmt.edu/classes/ee320/ notes/320Lecture28.pdf 120 Ganancia de Tensión Es bastante fácil deducir que, dado que la salida de nuestro amplificador es la tensión de drenador, la ganancia de tensión del circuito es Av = v ds v gs (1.43) Donde ambas tensiones son las tensiones AC que encontramos en la salida del amplificador, y en la entrada del mismo, respectivamente. Teniendo en cuenta que la tensión total (con componentes DC y AC) de salida del amplificador es (1.44) V DS =V DD − R D i d Podemos deducir que la componente de señal de la tensión de drenador será v ds = −R D i d = − g m R Dv gs Y por lo tanto, Av = (1.45) v ds = −g mRD v gs (1.46) Modelo de circuito equivalente El modelo en señal AC, el transistor en su salida funciona como una fuente de corriente ( id ) controlada por tensión ( v gs ). Esto nos permite definir un modelo de pequeña señal para el transistor, denominado modelo híbrido (Figura 4.46). G IG=0 ID + Vgs gm Vgs D 1 lV Al ___ ___ ro ~ ~ = ID λID _ Figura 4.46 Modelo MOSFET pequeña señal, modelo híbrido En este modelo, cabe anotar S que: • i g = 0 y v gs ≠ 0 garantizan que la impedancia de entrada sea infinita. • ro modela la resistencia de salida finita. En la práctica, esta resistencia varía entre 10 kohms y 1 M ohm. • Para este modelo se puede usar otra ecuación de transconductancia igualmente válida que la anterior, que se obtiene al reemplazar k ' W de la ecuación (1.42) por n 2I D L 2I D , para obtener g m = (V gs −Vth ) (V gs −Vth )2 121 Otro modelo que describe el funcionamiento del transistor en pequeña señal es el modelo T, mostrado a continuación. Este modelo se deriva del modelo híbrido mostrado inicialmente, como lo muestra la Figura 4.47. G ig=0 id D + G ig=0 gm Vgs id + gm Vgs Vgs X D gm Vgs Vgs _ _ S iS S a) iS b) id gm Vgs G G ig=0 ig=0 X gm Vgs + gm Vgs Vgs _ S iS iS S Figura 4.47 Modelo T Incluyendo a ro , el modelo T finalmente queda como la figura 4.48. D gm Vgs G ig=0 ro + Vgs 1/gm _ S Figura 4.48 Modelo T incluyendo 122 ro id D Este modelo sigue los mismos parámetros del anterior, aunque se puede notar que tiene como diferencia principal que en este diagrama (Figura 4.48), la compuerta está conectada tanto al drenador, como a la fuente. Esto es estrictamente incorrecto, dado que la corriente de compuerta es cero. Sin embargo si se establece esto en el diagrama, se puede evitar cometer errores de cálculo con este modelo. Para funcionamiento en alta frecuencia, se deben introducir elementos capacitivos en estos modelos. Parámetros para modelos a distintos niveles E xisten cuatro niveles de modelado para un transistor MOS, niveles que se denominan del 1 al 4 y que van aumentando en complejidad. El nivel 1 es muy sencillo y da solamente una aproximación burda; el nivel 2 introduce aspectos como la saturación de la movilidad de los portadores del canal, conducción en la región de débil inversión etc. A partir del nivel 3 se usan para dispositivos de canal corto y son modelos realmente complejos. Frecuentemente se utilizan niveles 3 pero con pocos parámetros. En cualquiera de los niveles existen dos posibilidades de descripción: la descripción tecnológica, en la que se dan parámetros como espesor del óxido, dopados, etc. ó bien la descripción eléctrica en la que los parámetros son tensión umbral, transconductancia etc. Si se le dan los parámetros tecnológicos, PSPICE calcula los parámetros eléctricos. En caso de redundancia prevalecen los parámetros introducidos por el usuario antes que los calculados por el programa. El modelo tiene 4 electrodos: drenaje, fuente, compuerta y sustrato. Este último electrodo puede o no polarizarse o bien unirse a la fuente. En dispositivos discretos lo normal es que esté unido a la fuente. El transistor MOS se modela con los siguientes parámetros geométricos, comunes a todos los niveles. L = longitud del canal W = anchura del canal TOX = espesor del óxido LD = Xjl = longitud de la difusión lateral Como parámetros eléctricos tenemos: RS = resistencia parásita de la fuente RD = resistencia parásita del drenaje 123 A partir del nivel 2: XJ = Xj= profundidad de la unión de fuente y drenaje. En cualquiera de los cuatro niveles se permite hacer una definición tecnológica del dispositivo después del nombre, de forma que pueden especificarse los siguientes parámetros (manteniendo el orden): L = longitud del canal W = anchura del canal AD = área de la difusión del drenaje AS = área de difusión de la fuente PD = perímetro del drenaje PS = perímetro de la fuente NRD = resistividad relativa del drenaje en ohms por cuadrado NRS = resistividad relativa de la fuente en ohms por cuadrado NRG = resistividad relativa de la puerta en ohms por cuadrado NRB = resistividad relativa del sustrato en ohms por cuadrado M = multiplicador que se usará si existen varios dispositivos en paralelo De los anteriores parámetros, solamente L y W pueden especificarse en el modelo, los demás han de especificarse a continuación del nombre. Si no se especifican, toman valor 0, excepto M que toma valor 1 y por lo tanto no afectan a los parámetros del modelo habitual. Esta forma de descripción es muy útil si se conocen los parámetros tecnológicos del dispositivo, sin embargo tienen poca utilidad cuando se quiere caracterizar un dispositivo a través de medidas eléctricas desde sus terminales. Nivel 1 Supondremos en todo el análisis que: • El transistor es de canal n. • Corriente de compuerta I g = 0 , es decir se supondrá un óxido con conductividad nula. • Corriente por el terminal del sustrato: I b = I bs + I bd , donde I bs es la corriente entre el sustrato y la fuente e I bd entre el sustrato y el drenaje. Evidentemente estas corrientes están modeladas por los dos diodos de la Figura 4.49. I bs = I ss = Iss (exp(Vbs/N.Vt) -1) Ibd = Ids (exp(Vbd/N.Vt)-1) Dónde : si JS = 0 o AS = 0 o AD = 0 =>Iss = Ids = IS En otro caso =>Iss = AS.JS + PS.JSSW Ids = AD.JS + PD.JSSW 124 El significado de los parámetros no explicados anteriormente es: JS= densidad de corriente de saturación de la unión p-n entre el sustrato y el drenaje o fuente IS= corriente de saturación de la misma unión N = factor de idealidad de la anteriormente referida unión p-n • Corriente por el terminal de drenaje: Id = Ibd - Idrain • Corriente por el terminal de la fuente: Is = Ids + Idrain • Corriente de drenaje: la corriente de la fuente Idrain se modela por tramos, de acuerdo con las siguientes ecuaciones: •Para V DS ≥ 0 (modo normal) •si VGS - VTH < 0 (región de corte) Ids = 0 •si V DS < VGS - VTH (región lineal) •si 0 ≤ VGS I DS = K P - VTH ≤ W Leff V DS I DS = V DS VGS −VTH − V DS (1 + LAMBDA *V DS ) 2 (1.47) (región de saturación) 2 KP W VGS −VTH ) (1 + LAMBDA *V DS ) ( 2 Leff (1.48) • - Para V DS < 0 (modo invertido) •- se cambia la fuente y el drenaje en las ecuaciones anteriores El significado de los parámetros y variables de las ecuaciones anteriores es el siguiente: VGS : tensión puerta fuente (variable) V DS : tensión drenaje fuente (variable) VTH : tensión umbral. Si VGS > VTH existe corriente de drenador. En caso contrario la corriente de drenaje es 0. La expresión de VTH es: ( VTH =VT 0 + GAMMA PHI −V BS − PHI VT 0 =V FB + PHI kT NSUB PHI = 2ϕF = 2 ln q ni ' Q0 V FB = ϕMS − ' C ox ) (1.49) Dónde VT0 es la tensión umbral sin polarización de sustrato, PHI es el potencial superficial de fuerte inversión, V BS es el potencial aplicado al sustrato (opcional), V FB es el potencial de bandas planas, NSUB es el dopado del sustrato, ϕMS es la diferencia de funciones de trabajo entre el metal y el semiconductor, es la carga interfacial y la capacidad del óxido. Las dos últimas magnitudes son por unidad de área. 125 El parámetro GAMMA, conocido como “efecto de cuerpo” solo tiene significado cuando existe polarización del sustrato (adicional a las polarizaciones de compuerta, drenaje y fuente) y su valor es: GAMMA = 2ε S qNSUB (1.50) C ox ' El parámetro KP está relacionado con la transconductancia. En saturación, el modelo de nivel 1 supone que la corriente de drenaje se puede expresar de forma aproximada por: I DS = β (V 2 GS −VTH ) 2 (1.51) Dónde β es la transconductancia y se relaciona con KP a través de las ecuaciones siguientes: W W = K P Leff Leff β = U 0 *C ox' Leff = L − 2LD (1.52) (1.53) En la anterior ecuación U0 es la movilidad de los portadores en el canal y Leff es la longitud efectiva del canal, entendida como la longitud teórica entre drenaje y fuente menos las zonas difundidas que desde estos dos electrodos penetran debajo de la compuerta. No tiene que ver con la longitud efectiva del canal cuando se sobrepasa la saturación. El parámetro LAMBDA que aparece en las ecuaciones (1.47) y (1.48) determina la conductancia del canal en saturación, de una forma similar al efecto Early para los transistores bipolares. La corrección de este efecto se hace empíricamente. Se deduce de las anteriores ecuaciones que tiene como dimensiones V −1 y correspondería aproximadamente como la inversa del valor absoluto de la tensión drenaje fuente donde convergen las prolongaciones de la corriente de drenaje en saturación. El valor de LAMBDA suele ser muy pequeño. Un transistor MOSFET, según PSPICE, no tiene características de entrada, puesto que se ha supuesto que Ig = 0. Las características de salida del transistor MOS de potencia IRF150 se presentan en la Figura 4.51. La Figura 4.52 representa la raíz cuadrada de la corriente de drenaje en función del potencial de compuerta. De acuerdo con el modelo anteriormente expuesto, esta característica ha de ser lineal, y su pendiente es la transconductancia. Nivel 2 En el nivel 2 se introduce, aparte de unas ecuaciones descriptivas del dispositivo más precisas, una serie de parámetros, alguno de los cuales (los más importantes) se explican a continuación: 126 NSS = densidad interfacial de cargas fijas entre el semiconductor y el óxido TPG = descripción del material de la compuerta; solamente puede tener tres valores: 0 si la compuerta es de metal (se supone Al); -1 si es de polisilicio dopado del mismo tipo que el sustrato y +1 si el polisilicio está dopado del tipo contrario al sustrato. Con estos dos parámetros (y el dopado del sustrato NSUB) puede calcularse la tensión umbral. UCRIT, UEXP y UTRA = dependencia de la movilidad de los portadores del canal con el campo eléctrico. Son necesarios para campos altos (potenciales altos en canales cortos). VMAX = velocidad de transporte balístico (máxima que puede alcanzar un portador en el canal). NFS = conducción en zonas de débil inversión (potenciales de puerta cercanos al potencial umbral) NEFF = coeficiente de ajuste que modifica multiplicativamente al dopado del sustrato para el cálculo de la longitud de canal libre más allá de la saturación y que se utiliza para determinar desde parámetros físicos el valor de LAMBDA. Los parámetros explicados anteriormente, junto con las capacitancias internas, más los efectos del ruido y la temperatura, completan la totalidad de los parámetros que se tienen en cuenta para modelar los MOSFET. Nivel 3 El modelo de nivel 3 se define mediante un ajuste semiempírico de coeficientes a través de aproximaciones de las características del transistor obtenidas a través de la medida de las mismas. Este modelo fue desarrollado principalmente para aproximar los resultados de la simulación a los valores experimentales en los transistores de canal ultracorto. Además de los anteriores, existen otros modelos SPICE de los transistores MOS: versiones avanzadas de SPICE suelen incluir una docena de tales modelos. Sin embargo, en muchas ocasiones, en particular en la simulación de circuitos digitales con transistores no muy pequeños (L ≥ 1μm), basta el modelo de nivel 1 para conseguir resultados muy aceptables. Los modelos anteriores presentan limitaciones que se acentúan cuando se simula el comportamiento de transistores de canal corto (longitud de canal inferior a 1 micra). Son utilizados para obtener una estimación inicial del comportamiento del circuito. Para que una simulación aporte resultados fiables, es necesario disponer de los parámetros tecnológicos de los dispositivos. Los parámetros tecnológicos son aportados por el fabricante, y deben ser el resultado de numerosas medidas, así como del análisis estadístico de valores tomados en el proceso de fabricación industrial. En los procesos CMOS modernos, es el modelo BSIM (Berkeley Submicron IGFET Model) el que proporciona simulaciones más precisas. Es un modelo obtenido partiendo de una extracción automatizada de parámetros. 127 Parámetros comunes a todos los modelos AF Exponente de ruido parpadeante 1 CBD Capacitancia entre cuerpo y drenaje p-n sin sesgo. [F] 0 CBS Capacitancia entre fuente y cuerpo p-n sin sesgo. [F] 0 CGBO Capacit. de superposición puerta-cuerpo /long. de canal. [F/m] 0 CGDO Capacit. de superposición puerta-drenaje /ancho de canal. [F/m] 0 CGSO Capacit. de superposición puerta-fuente/ancho de canal. [F/m] 0 CJ Capacitancia de fondo/área en el cuerpo p-n sin sesgo. [F/m2] 0 CJSW Capacitancia lateral/longitud en el cuerpo p-n sin sesgo. [F/m2] 0 FC Coeficiente de capacitancia en el cuerpo p-n con sesgo hacia adelante 0.5 IS Corriente de saturación del cuerpo p-n. [A] 1E-14 JS Corriente de saturación/área en el cuerpo p-n. [A/m2] 0 JSSW Corriente lateral de saturación/longitud en el cuerpo p-n. [A/m2] 0 KF Coeficiente de ruido parpadeante 0 L Longitud del canal. [m] DEFL LEVEL Índice de modelo 1 MJ Coeficiente de graduación del fondo del cuerpo p-n 0.5 MJSW Coeficiente de graduación lateral del cuerpo p-n 0.33 N Coeficiente de emisión del cuerpo p-n 1 PB Potencial de fondo en el cuerpo p-n. [V] 0.8 PBSW Potencial lateral en el cuerpo p-n. [V] PB RB Resistencia óhmica del cuerpo. [Ω] 0 RD Resistencia óhmica del drenaje. [Ω] 0 RDS Resistencia en derivación de la unión drenaje-fuente. [Ω] infinita RG Resistencia óhmica de la puerta. [Ω] 0 RS Resistencia óhmica de la fuente. [Ω] 0 RSH Resistencia laminar de difusión drenaje-fuente. [Ω2] 0 TT Tiempo de tránsito en el cuerpo p-n. [s] 0 T_ABS Temperaturaabsoluta. [°C] T_MEASURED Temperaturamedida. [°C] T_REL_GLOBAL Temperatura relativa a la corriente. [°C] T_REL_LOCAL Temperatura relativa al modelo AKO. [°C] W 128 Ancho de canal. [m] DEFW Parámetros específicos de los niveles 1, 2 y 3 DELTA Efecto del ancho en el umbral 0 ETA Realimentación estática. (Nivel=3) 0 GAMMA Parámetro umbral de cuerpo. [V] 1/2 calcular d KP Coeficiente de transconductancia. [A/V2] 2E-5 KAPPA Factor de saturación de campo. (Nivel=3) 0.2 LAMBDA Modulación de la longitud del canal. (Nivel=1 o 2) [V-1] 0 LD Difusión lateral (longitud). [m] 0 NEFF Coeficiente de carga en el canal. (Nivel=2) 1.0 NFS Densidad de estado de superficie rápida. [cm-2] 0 NSS Densidad de estado de superficie. [cm-2] Ninguno NSUB Densidad de dopaje del sustrato. [cm-3] Ninguno PHI Potencial de superficie. [V] 0.6 THETA Modulación de movilidad. (Nivel=3) [V-1] 0 TOX Espesor del óxido. [m] TPG Tipo de material de la puerta: +1 = opuesto al del sustrato. -1 = la misma del sustrato. 0 = aluminio +1 UCRIT Campo crítico de degradación de movilidad. (Nivel=2) [V/cm] 1E4 UEXP Exponente de degradación de movilidad. (Nivel=2) 0 UTRA(no se usa) Coeficiente de campo transverso de degradación de movilidad 0 UO Movilidad de superficie. [cm2/(V•s)] 600 VMAX Velocidad de deriva máxima. [m/s] 0 VT0 Tensión de umbral sin sesgo. [V] 0 WD Difusión lateral (ancho). [m] 0 XJ 0 Profundidad de la juntura metálica fuente-drenaje. (Nivel=2 o 3) [m] XQC Fracción de carga en el canal atribuida al drenaje 1.0 129 Simulaciones C on el fin de comprobar prácticamente la información anteriormente suministrada, se realizaron una serie de simulaciones para un transistor MOSFET genérico que se encuentra en el software PSpice y el modelo del mismo para pequeña señal, en baja frecuencia y alta frecuencia. De esta forma se podrán validar las ecuaciones suministradas en los apartados anteriores. La Figura 4.49 muestra un amplificador MOSFET utilizando una realimentación entre drenador y compuerta. Se debe analizar el circuito del amplificador para conocer la ganancia, tanto en el circuito del amplificador como en su modelo de pequeña señal. El 2 transistor tiene unatensión de threshold de 1.5V, k ’n (W / L ) = 0.25mA /V y VA = 50V . Con el fin de analizar el modelo de pequeña señal sin considerar los efectos de los condensadores de acople sobre la frecuencia de corte para bajas frecuencias, el valor de estos condensadores se escogieron lo suficientemente grandes para que actúen como cortos circuitos para una frecuencia de aproximadamente 10Hz que es una muy baja frecuencia teniendo en cuenta que las altas frecuencias se consideran alrededor de los 100kHz y superiores. R7 10k 15Vdc V2 + _ C2 1000u R6 C1 V3 VOFF = 0 VAMPL = 1m FREQ = 10 V + _ 1000u V R8 10k 10000k M1 Mbreakn 0 0 0 Figura 4.49 Amplificador MOSFET con realimentación entre drenador y compuerta. Modelo de baja frecuencia. 130 Con el objetivo de modificar el modelo del MOSFET genérico en Pspice de acuerdo a las características mencionadas anteriormente, se cambió el código del modelo Pspice de la siguiente forma: Código Modificado: + LEVEL=3 + L=2.0000E-6 + W=.5 + KP=250.00E-6 + RS=10.000E-3 + RD=10.000E-3 + VTO=1.5000 + RDS=1.0000E6 + TOX=2.0000E-6 + CGSO=40.000E-12 + CGDO=10.000E-12 + CBD=1.0000E-9 + RG=5 + RB=1.0000E-3 + GAMMA=0 + KAPPA=0 Para conocer el valor de la transconductancia, primero se debe encontrar el punto de operación en DC del circuito, en este caso la corriente de drenador puede estar definida como sigue: 1 2 1 2 I D = k n (VGS −Vt )2 = (0.25)(VGS − 1.5)2 V DS Debido a que la resistencia de realimentación es tan grande se puede afirmar que =VGS por ende: 1 1 (0.25)(V D − 1.5)2 = (0.25)(15 − 10I D − 1.5)2 2 2 Resolviendo la ecuación se encuentra que: I D = 1.06mA y V D = 4.4V Ahora el valor de gm se puede conocer con la ecuación (1.42) al inicio de este documento g m = k n (VGS −Vt ) = 0.25(4.4 − 1.5) = 0.725mA /V 2 131 La resistencia r0 también se puede conocer: r0 = VA 50V = = 47k Ω I D 1.06mA Ahora se puede construir el modelo de pequeña señal para bajas frecuencias. (Figura 4.20) R11 V + _ VOFF = 0 VAMPL = 1m FREQ = 10 10000k V4 V G1 + R9 47k _ G R10 10k R12 10k 0 Figura 4.50 Modelo de pequeña señal para bajas frecuencias Claramente, para el circuito anterior, la fuente de corriente dependiente de la tensión VGS tuvo que ser modificada pues esta corriente tiene una dependencia de tensión con una ganancia g m que es igual a 0.725mA /V 2 . Por ello, esta característica fue modificada cambiando sus propiedades como se ve en la Figura 4.51. Figura 4.51 Modificación de característica de gm Ahora, para comparar las respuestas de los dos circuitos se hallóla tensión de salida con respecto alatensión de entrada y se encontraron los siguientes resultados: (A) segparcialsimula (active) 4.0mV 2.0mV 0V -2.0mV -4.0mV 0s 100ms V(C1:1) V(R8:2) 300ms 200ms 400ms Time Figura 4.52 Vout-Vin para el circuito de la Figura 4.49 132 500ms (A) segparcialsimula (active) 4.0mV 2.0mV 0V -2.0mV -4.0mV 0s 100ms V(G1:1) 300ms 200ms V(G1:3) 400ms 500ms Time Figura 4.53 Vout-Vin para el circuito de la Figura 4.50 Al comparar las simulaciones se puede observar que los resultados el modelo coinciden perfectamente con los resultados del circuito de la Figura 4.49. Claro está que esto aplica para modelos de baja frecuencia, ya que para alta frecuencia se deben considerar los condensadores internos. En ambos casos la ganancia de tensión está dada por: v out = − g mv gs (Rdrenador / /Rc arg a / /r0 ) Debido a que v gs = v i , como se puede ver en la Figura 4.50. Av = v gs vi = −0.725(47 / /10 / /10) = −3.3V /V Como se puede ver en ambos casos, efectivamente la ganancia de tensión es de aproximadamente 3.3V, además se puede observar un desfase de 180° entre la onda de entrada y la onda de salida para ambos casos, tanto para el modelo como para el circuito inicial que se muestra en la Figura 4.49. Alta Frecuencia Para el ejemplo anterior, es posible hallar la respuesta en alta frecuencia del amplificador, teniendo en cuenta que se encuentra operando en su región lineal, es decir como tríodo, entonces para hallar las capacitancias parasitas usamos la siguiente ecuación: Donde 1 2 C gs = C gd = W ⋅ L ⋅C ox C ox = (1.54) εox Tox 133 Con εox = 3.45 × 10−11 F / m Según los parámetros del modelo del transistor utilizado en el ejemplo tenemos que: Tox = 2 × 10−6 Entonces De modo que: Con Entonces C ox εox 3.45 × 10−11 = = = 17.25 × 10−6 F −6 Tox 2 × 10 1 2 C gs = C gd = W ⋅ L ⋅C ox W = 0.5 L = 2 × 10−6 C ox = 17.25 × 10−6 F C gs = C gd = 8.625pF Entonces para las simulaciones se realizó un barrido de frecuencias con el esquemático del transistor y con el circuito del modelo equivalente para observar cual es el ancho de banda del amplificador y observar el efecto de las capacitancias del mismo sobre el modelo de pequeña señal para altas frecuencias. En la Figura 4.54 se observa nuevamente el esquemático del amplificador del ejemplo anterior, a diferencia de que la señal de entrada se cambio de la fuente Vsin a una fuente Vac para poder realizar el barrido de frecuencias (AC Sweep) en el simulador. En la Figura 4.55 se observa el esquemático del modelo de pequeña señal para altas frecuencias del amplificador. En la figura se observa que se han añadido las capacitancias parásitas. Los resultados de la simulación se observan en la figura 43, como es evidente las respuestas son muy similares, muestra del efecto tan pronunciado que producen estas capacitancias en la respuesta de un amplificador como el analizado en el ejemplo. También se puede observar que las respuestas difieren (la frecuencia de corte difiere en un 19% aproximadamente) un poco debido a la aproximación de valores, por ejemplo el valor de la constante de la permisividad del oxido de silicio, entre otros. 134 R7 10k 15Vdc + V2 _ C2 0 1000u R6 10000k M1 C1 1000u V7 1mVac 0Vdc V R8 10k Mbreakn + _ 0 0 0 Figura 4.54 Amplificador MOSFET con realimentación entre drenador y compuerta. Modelo de alta frecuencia. R11 C6 8.625p G1 10000k 1mVac 0Vdc + _ V8 V + C7 8.625p R9 47k _ G R10 10k R12 10k 0 Figura 4.55 Modelo de pequeña señal para altas frecuencias (A) segparcialsimula (active) 4.0mV (10.184M, 2.3133m) 3.0mV (8.1790M, 2.3133m) 2.0MV 1.0mV 0V 1.0Hz V(R8:2) 100Hz V(G1:3) 10KHz 1.0MHz 100MHz 10GHz Frequency Figura 4.56 Resultado de la simulación del modelo de pequeña señal para altas frecuencias 135 CAPÍULO 5 Reglas de diseño para transistores Introducción L a elaboración de un layout por parte del diseñador de circuitos integrados está sujeta a un conjunto de reglas cuyo objeto es optimizar la cantidad de circuitos fabricados en una misma serie que funcionan correctamente. Un proceso de fabricación tiene siempre limitaciones de orden tecnológico que hacen que existan diferencias entre la estructura que se espera obtener a partir de un determinado layout y la que realmente resulta tras el proceso de fabricación. Estas limitaciones son debidas básicamente a dos causas: a) no idealidad de las etapas de fabricación, b) posibles desajustes en el uso de las máscaras durante el proceso. Un objetivo habitual de los diseñadores de circuitos es que el tamaño de éstos sea el menor posible (con ello se ocupa una menor superficie de silicio, lo cual repercute de forma importante en el precio y en muchas de las prestaciones eléctricas del circuito), objetivo que choca frontalmente con las limitaciones tecnológicas del proceso. La solución a este problema es considerar la existencia de tolerancias en el proceso de diseño del layout. Estas tolerancias se traducen en una serie de reglas de diseño que fijan distancias y grosores mínimos, de forma que si éstas se respetan, la probabilidad de que el circuito resultante sea correcto es alta. Las reglas de diseño están ligadas a la calidad del proceso tecnológico y por tanto dependen del fabricante. Al mismo tiempo la evolución constante de la tecnología conduce a una progresiva reducción de las distancias que constituyen las reglas de diseño. Cuanto más conservadoras sean las reglas, más probable es que el circuito funcione correctamente. Sin embargo, cuanto más agresivas sean las reglas, mayor es la probabilidad de mejoras en el funcionamiento del circuito, esta mejora puede estar a expensas de la producción. Cabe advertir que es posible encontrar que una disposición que viola las reglas de diseño funcione correctamente, sin embargo siempre es recomendado hacer uso de estas. Existen dos maneras distintas de especificar las reglas: a) como distancias absolutas (en μm), b) como múltiplos enteros de un parámetro único, denominado λ , relacionado con la calidad del proceso. La Figura 5.1 muestra algunas de las reglas de diseño basadas en λ aplicables a un proceso de pozo N. 139 Normas de diseño SCMOS (CMOS escalable) E n las normas SCMOS, las geometrías del circuito se especifican en el Mead and Conway’s lambda de la metodología basada en1 . La unidad de medida, lambda, puede ser fácilmente escalada a los distintos procesos de fabricación de avances tecnológicos en semiconductores. Cada diseño tiene un código de la tecnología asociada con el diseño del archivo. Cada código de la tecnología puede tener una o más opciones asociadas que son añadidas para precisar los efectos de, ya sea (a) las características especiales del objetivo del proceso (b) la presencia de nuevos dispositivos en el diseño. 5λ 3λ 10λ 5λ Reglas relativas a pozo y área activa (Excepto contactos de pozo i sustrato) 2λ Implantación a zona activa 3λ 2λ 2λ 2λ 2λ Líneas de polisilicio Area activa Definición de canal en un transistor Separación Polisilicio - difusión 2λ 1λ Lineas de metal segundo nivel (si existe) Lineas de metal primer nivel 3λ 3λ 3λ 3λ 2λ 4λ Agujeros de contacto- metal 4λ 3λ 2λ Separación entre contactos Figura 5.1 Juego elemental de reglas de diseño para proceso CMOS de pozo N 1 C. Mead and L. Conway, Introduction to VLSI Systems , Addison-Wesley, 1980 140 Estándar SCMOS E l estándar de tecnología CMOS es un solo polisilicio y dos metales, la mayor parte de los procesos CMOS presenta mejora en modo N-MOSFET y P-MOSFET. Tipo del pozo El CMOS escalable (SC) tiene las normas que soportan los procesos del tipo pozo-N y pozo-P. Se reconocen tres códigos de tecnología que permiten al diseñador especificar bien el tipo de proceso seleccionado. Tres códigos de tecnología son usados para indicar el tipo del pozo (sustrato) utilizado en la fabricación, estos códigos son mostrados en la Tabla 5.1. CODIGO DE TECNOLOGIA SCN DESCRIPCIÓN CMOS escalable Pozo-N SCP SCE CMOS escalable Pozo-P CMOS escalable Pozo-Cualquiera Tabla 5.1 Tipos de pozo SCMOS Los códigos de tecnología SCN y SCP son usados cuando el diseño que se va a fabricar tiene un tipo de pozo específico. Los diseños que especifican el código de tecnología SCE pueden ser fabricados tanto con pozo-N como con pozo-P. Opciones SCMOS Las opciones SCMOS se utilizan para diseñar los proyectos que utilizan capas adicionales más allá de la norma de un sólo polisilicio y de dos metales CMOS. Cada opción es nombrada con una designación que se adjunta a la base del código de tecnología. Dichas opciones se encuentran resumidas en la Tabla 5.2. 141 DESIGNACION E NOMBRE Electrodo DESCRIPCIÓN Agrega una segunda capa de polisilicio (poly2), que puede servir bien como la parte superior del electrodo de un condensador (1,5 micrones solamente) o como una compuerta de los A Analógico transistores Añade electrodo (como en la opción E), además de capas verticales de transistor NPN 3M Tres Metales pbase Añade una segunda vía (via2) y una capa para el tercer metal 4M Cuatro Metales (metal3). Añade 3M además una tercera vía (via3) y una capa para el 5M Cinco Metales cuarto metal (metal4). Añade 4M además una cuarta vía (via4) y una capa para el 6M Seis Metales quinto metal (metal5). Añade 5M además una quinta vía (via5) y una capa para el LC PC DEEP SUBM Capacitor Lineal sexto metal (metal6). Añade una capa de condensa- Poli Cap dores lineales. Añade poly_cap, una capa de Profundo condensadores lineales. Mejora el ajuste a los procesos Sub Micrón de sub-micrón profundos. Mejora el ajuste a los procesos de sub-micrón. Tabla 5.2. Opciones de la tecnología SCMOS 142 FUNDICIÓN Orbit PROCESO 2.0µm Pozo-N LAMBDA [µm] 1 OPCIONES SCNA, SCNE, SCN, SCNA_MEMS Ami ABN (1.2µm Pozo-N) HP CMOS34 / AMOSI HP (1.2µm Pozo-N) CMOS26G 0.6 SCNA(1), SCNE, 0.6 SCN, Alto Voltage SCNLC, SCN, Metal 0.5 ajustado SCN3M, SCN, Metal ajustado (0.8µm Pozo-N) AMI HP CWL (0.8µm Pozo-N) GMOS14TB/ 0.5 SCNPC, Metal ajus- 0.35 tado SCN3M, SCN, SCN3MLC, AMOS14TB (0.5µm Pozo-N) SCNLC, Metal ajustado HP GMOS14TB/ 0.25 SCN4N, Metal ajustado AMOS14TB (0.5µm TSMC Pozo-N) 0.35 µm 1P4M 0,25 SCN4M, SCN4M (4 Metales, 3.3 V/5 V) Tabla 5.3. MOSIS SCMOS-Asignaciones Compatibles 143 FUNDICIÓN AMI PROCESO C3O LAMBDA [um] 0.20 OPCIONES SCN4M_SUBM, SCN4ME_SUBM (0,35 micras y pozoN) AMI C5F / N 0.30 SCN3M_SUBM, SCN3ME_SUBM (0,5 micras-y pozo-N) TSMC 0,35 micras 2P4M 0.20 SCN4ME_SUBM 0.20 SCN4M_SUBM 0.15 SCN5M_SUBM 0,10 SCN6M_SUBM (4 metales, 3,3 V / 5 V) TSMC 0,35 micras 1P4M (4 metales, 3,3 V / 5 V) TSMC 0,25 micras 5 de metales 1 de poli (2,5 TSMC V/3.3 V) 0,18 micras 6 metales 1 de poli (1,8 V/3.3 V) Tabla 5.4. MOSIS SCMOS_SUBM-Asignaciones Compatibles FUNDICIÓN TSMC PROCESO 0,25 micras 5 metales LAMBDA [um] 0,12 OPCIONES SCN5M_DEEP TSMC 1 de poli (2,5 V/3.3 V) 0,18 micras 6 metales 0,09 SCN6M_DEEP 1 de poli (1,8 V/3.3 V) Tabla 5.5. MOSIS SCMOS_DEEP-Asignaciones Compatibles Procesos compatibles con SCMOS MOSIS ofrece actualmente los procesos de fabricación que se han mostrado anteriormente en las Tablas 5.3 a 5.5. Para cada proceso de la lista de SCMOS los códigos de tecnología son mostrados. 144 Normas SCMOS_SUBM y SCMOS_DEEP El diseño de normas SCMOS fueron procesos desarrollados de 1,0 a 3,0 micrones. Para sacar el máximo provecho de los procesos de sub-micrones, las normas SCMOS se revisaron para crear SCMOS_SUBM. Al aumentar el tamaño de lambda en algunas normas se desarrollaron otro tipo de normas para sub-micron, a fin de permitir el uso de un menor valor de lambda, y mejorar el ajuste de estos procesos con tamaños muy pequeños. Las normas SCMOS_SUBM fueron revisadas de nuevo en el régimen de 0,25 micras para ajustar los procesos a sub-micrón de una manera más profunda de lo habitual y así se dio paso a la creación de la variante SCMOS_DEEP. En la Tabla 5.6 se enumeran las diferencias entre SCMOS y SCMOS sub-micrón. En la Tabla 5.7 se enlistan las diferencias entre los sub-SCMOS y SCMOS micras de profundidad. REGLA 1.1, 17.1 1.2, 17.2 2,3 3,2 5.3, 6.3 5.5b 7,2 7,4 8,5 11.1 11.3 11.5 13.2 15.1 15.2 15.4 17.3 17.4 DESCRIPCIÓN Ancho del pozo Espacio del pozo (diferentes potenciales) Superposición del pozo (espacio) a transistor Poli espacio Espacio de contacto Espacio para Poli Espacio Metal 1 Espacio mínimo (cuando el metal es más amplio que 10 lambda) Vías planas Ancho Poly2 Superposición Poly2 Espacio de contacto Poly2 Poly2 en contacto con el espacio SCMOS 10 9 SCMOS sub-micrón 12 18 5 6 2 2 4 2 4 3 3 5 3 6 2 3 2 3 2 Sin restricciones 7 5 6 3 Ancho Metal3 Espacio Metal3 (proceso de 3 metales solamente) Espacio mínimo (cuando el metal es más amplio que el 10 lambda) Espaciamiento mínimo de activos externos Sobre posición mínima de activos 6 4 5 3 8 6 5 6 5 6 Tabla 5.6. Diferencias entre SCMOS y SCMOS Sub-micrones 145 REGLA DESCRIPCIÓN SCMOS 3.2 3.2.a Espacio del Polisilicio Espacio del polisilicio sobre el área activa Mínima extensión del Gate Extensión activa más allá de Poli Seleccione la superposición de contacto Seleccione el ancho y el espacio 3 3.3 3.4 4.3 4.4 5.3, 6.3 8.1 9.2 9.4 14.1 15.2 15.4 21.1 22.2 (p + a + p o n a n + +) Contacto espaciamiento Ancho de la vía Espacio Metal2 Espacio mínimo (cuando el metal es más amplio que 10 lambda) Ancho de la Via2 Espacio Metal3 Espacio mínimo (cuando el metal es más amplio que 10 lambda) Ancho de la Via3 Espacio Metal4 (5 + para los procesos de metal) SCMOS PROFUNDA 3 4 2 2.5 3 4 1 1.5 2 4 3 2 3 6 4 3 4 8 2 3 6 3 4 8 2 3 3 4 Tabla 5.7. Diferencias entre SCMOS profundas y SCMOS Sub-micrones (Cont.) Reglas de diseño SCMOS – Pozo REGLA 1.1 1.2 1.3 1.4 DESCRIPCIÓN Ancho mínimo Espacio mínimo entre pozos de diferentes potenciales Espacio mínimo entre pozos de iguales potenciales Espacio mínimo entre pozos de diferentes tipos Tabla 5.8 Reglas de diseño SCMOS – Pozo 146 LAMBDA 10 [SUBM 12] 9 [SUBM 18] 0o6 6 1.2 Pozo - N 1.3 Pozo - N Pozo - N 1.4 1.1 Pozo - P Figura 5.2 Diagrama de las reglas de diseño SCMOS – Pozo Reglas de diseño SCMOS – Área activa REGLA 2.1 2.2 2.3 2.4 DESCRIPCIÓN Ancho mínimo Espacio mínimo Source/Drain activa al borde del pozo Sustrato/Pozo contacto activo al borde del pozo Espacio mínimo entre áreas activas de diferentes implantes 2.4 LAMBDA 3 3 5 3 0o4 Tabla 5.9 Reglas de diseño SCMOS – Área activa 1.3.7. 2.1 ACTIVA 2.2 ACTIVA 2.5 ACTIVA N- plus - select P Region N Region 2.1 ACTIVA P- plus - select P- plus - select 2.4 2.3 2.4 2.3 2.2 ACTIVA 2.5 ACTIVA N- plus - select Figura 5.3 Diagrama de las reglas de diseño SCMOS – Área activa. 147 Reglas de diseño SCMOS – Poli REGLA 3.1 3.2 3.3 3.4 DESCRIPCIÓN Ancho mínimo Espacio mínimo Mínima extensión del gate Mínima extensión activa del polisilicio Mínimo campo del polisilicio activo 3.5 LAMBDA 2 2 2 3 1 Tabla 5.10 Reglas de diseño SCMOS – Poli 3.5 ACTIVA POLY 3.1 3.2 POLY 3.3 ACTIVA 3.4 Figura 5.4 Diagrama de las reglas de diseño SCMOS – Poli Reglas de diseño SCMOS – Implante (Select) REGLA 4.1 4.2 4.3 4.4 DESCRIPCIÓN Espacio mínimo del implante del canal del transistor para asegurar el ancho adecuado del souce/drain Mínimo implante sobrepuesto con el área activa Mínimo implante sobrepuesto con el contacto Mínimo ancho y espaciamiento del implante LAMBDA 3 Tabla 5.11 Reglas de diseño SCMOS – Implante (Select) 148 2 1 2 Implante N+ 4.3 4.3 ct nta Co 4.1 POLY 4.2 Active Implante N+ Figura 5.5 Diagrama de las reglas de diseño SCMOS – Implante (Select) Reglas de diseño SCMOS – Contacto simple para polisilicio REGLA 5.1 5.2 5.3 5.4 DESCRIPCIÓN Tamaño exacto del contacto Mínimo solapamiento del polisilicio Mínimo espaciamiento del contacto Espacio mínimo del gate del transistor LAMBDA 2x2 1.5 2 2 Tabla 5.12 Reglas de diseño SCMOS – Contacto simple para polisilicio Activa 5.4 5.2 5.3 ct ta on C Poly 5.1 Figura 5.6 Diagrama de las reglas de diseño SCMOS – Contacto simple para polisilicio 149 REGLAS 6.1 6.2 6.3 6.4 DESCRIPCIÓN Tamaño exacto del contacto Mínimo solapamiento del área activa Espacio mínimo del contacto Espacio mínimo del gate del transistor LAMBDA 2x2 1.5 2 2 Tabla 5.13 Reglas de diseño SCMOS – Contacto simple para área activa 1.3.11. Reglas de diseño SCMOS – Contacto alternativo para el polisilicio 6.2 6.4 ct nta Co 6.3 ACTIVA 6.1 Poly Figura 5.7 Diagrama de las reglas de diseño SCMOS – Contacto simple para área activa REGLA 5.2 B 5.5 B 5.6 B 5.7 B DESCRIPCIÓN Mínimo solapamiento del polisilicio Espacio mínimo para otro polisilicio Espacio mínimo del área activa (un contacto) Espacio mínimo del área activa (un contacto) LAMBDA 1 4 2 3 Tabla 5.14 Reglas de diseño SCMOS – Contacto alternativo para el polisilicio = Contact 5.1 5.2.b 5.5.b Poly Active 5.4 5.7.b 5.6.6 (one) (many) 5.3 Figura 5.8 Diagrama de las reglas de diseño SCMOS – Contacto alternativo para el polisilicio 150 Reglas de diseño SCMOS – Contacto alternativo para el área activa REGLA 6.2 B 6.5 B 6.6 B 6.7 B 6.8 B DESCRIPCIÓN Mínimo solapamiento del área activa Espacio mínimo de la región de difusión Espacio mínimo del campo de polisilicio (un contacto) Espacio mínimo del campo de polisilicio (muchos contactos) Espacio mínimo del contacto polisilicio LAMBDA 1 5 2 3 4 Tabla 5.15 Reglas de diseño SCMOS – Contacto alternativo para el área activa Poly t c nta Co Active 6.8.b 6.1 6.5.b 6.4 6.3 6.7.b 6.6.b 6.2.b Figura 5.9 Diagrama de las reglas de diseño SCMOS – Contacto alternativo para el área activa Reglas de diseño SCMOS – Metal 1 REGLA 7.1 7.2 A 7.2 B 7.3 DESCRIPCIÓN Ancho mínimo Espacio mínimo Espacio mínimo para el metal ajustado Mínimo solapamiento con cualquier contacto LAMBDA 3 3 2 1 Tabla 5.16 Reglas de diseño SCMOS – Metal 1 151 Active 7.3 7.1 Metal 1 7.2 Poly ct ta on C Metal 1 Figura 5.10 Diagrama de las reglas de diseño SCMOS – Metal 1 Reglas de diseño SCMOS – Vía 1 REGLA 8.1 8.2 8.3 DESCRIPCIÓN Tamaño exacto Espacio mínimo para la vía 1 Solapamiento mínimo sobre el metal 1 Espacio mínimo con el contacto Espacio mínimo del polisilicio al borde del área activa 8.4 8.5 LAMBDA 2x2 3 1 2 2 Tabla 5.17 Reglas de diseño SCMOS – Vía 1 Poly 8.5 Metal1 Via Active 8.1 8.2 8.5 Via Via 8.5 8.4 t tac n Co 8.3 Active Figura 5.11 Diagrama de las reglas de diseño SCMOS – Vía 1 152 REGLA 9.1 9.2 A 9.2 B DESCRIPCIÓN Ancho mínimo Espacio mínimo Espacio mínimo para el metal ajustado o SUBM Mínimo solapamiento con la vía 1 9.3 LAMBDA 3 4 3 1 Tabla 5.18 Reglas de diseño SCMOS – Metal 2 Metal 2 9.1 9.2.a 9.2.b Metal 2 Via 9.3 Metal 1 Figura 5.12 Diagrama de las reglas de diseño SCMOS – Metal 2 REGLA 11.1 11.2 11.3 DESCRIPCIÓN Ancho mínimo Espacio mínimo Solapamiento mínimo del polisilicio Espacio mínimo al área activa o al borde del pozo Espacio mínimo del contacto polisilicio 11.4 11.5 LAMBDA 3 3 2 2 3 Tabla 5.19 Reglas de diseño SCMOS – Capacitor (Opción análoga) 11.3 Electrode 11.1 11.2 Electrode 11.5 Metal 1 Poly Figura 5.13 Diagrama de las reglas de diseño SCMOS – Capacitor (Opción análoga) 153 Reglas de diseño SCMOS – Electrodo para Transistor (Opción análoga) REGLA 12.1 12.2 12.3 DESCRIPCIÓN Ancho mínimo Espacio mínimo Mínimo electrodo del gate sobrepuesto al área activa Espacio mínimo al área activa Espacio mínimo o solapamiento con el polisilicio Espacio mínimo del contacto del polisilico o el área activa 12.4 12.5 12.6 LAMBDA 2 3 2 1 2 3 Tabla 5.20 Reglas de diseño SCMOS – Electrodo para Transistor (Opción análoga) 12.1 E L E C T R O D E t tac 12.3 n Co 12.6 Poly 12.5 Electrode 12.2 Active ct nta Co 12.6 12.4 Figura 5.14 Diagrama de las reglas de diseño SCMOS – Electrodo para Transistor (Opción análoga) Reglas de diseño SCMOS – Contacto del Electrodo (Opción análoga) REGLA 13.1 13.2 13.3 13.4 13.5 DESCRIPCIÓN Tamaño exacto del contacto Espacio mínimo del contacto Solapamiento mínimo del electrodo (sobre el capacitor) Espacio mínimo del eléctrodo (sin el capacitor) Espacio mínimo del polisilicio o el área activa LAMBDA 2x2 2 3 2 3 Tabla 5.21 Reglas de diseño SCMOS – Contacto del Electrodo (Opción análoga) 154 Metal 1 Poly 13.3 13.1 Electrode 13.4 13.2 Active 13.5 13.5 Electrode Poly Figura 5.15 Diagrama de las reglas de diseño SCMOS – Contacto del Electrodo (Opción análoga) Reglas de diseño SCMOS – Vía 2 (Opción de tres metales) REGLA 14.1 14.2 14.3 DESCRIPCIÓN Tamaño exacto Espacio mínimo Solapamiento mínimo de la VIA 2 Espacio mínimo de la VIA 1 VIA 2 puede ser colocada sobre el contacto 14.4 14.5 LAMBDA 2x2 3 1 2 Tabla 5.22 Reglas de diseño SCMOS – Vía 2 (Opción de tres metales) 14.1 14.1 14.2 Via2 14.4 14.3 Via Metal 3 Via Metal 2 Figura 5.16 Diagrama de las reglas de diseño SCMOS – Vía 2 (Opción de tres metales) 155 Reglas de diseño SCMOS – Metal 3 (Opción de tres metales) REGLA 15.1 15.2 15.3 DESCRIPCIÓN Ancho mínimo Espacio mínimo para el metal 3 Solapamiento mínimo de la VIA 2 LAMBDA 6 4 2 Tabla 5.23 Reglas de diseño SCMOS – Metal 3 (Opción de tres metales) 15.1 Metal 3 15.2 Via2 Metal 3 15.3 Figura 5.17 Diagrama de las reglas de diseño SCMOS – Vía 2 (Opción de tres metales) REGLA 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 16.10 16.11 DESCRIPCIÓN Todo el contacto activo Espacio mínimo Implante mínimo del emisor sobrepuesto al contacto Mínimo espacio entre el implante del emisor y el de la base Mínima pbase sobrepuesta sobre el implante de la base Implante de base mínimo sobrepuesto al contacto Pozo N mínimo sobrepuesto a pbase Espacio mínimo entre la base y el área del colector Área mínima del colector sobrepuesta al contacto LAMBDA 2x2 3 2 Mínimo Pozo N sobrepuesto al área activa del colector Implante mínimo sobrepuesto al área activa del colector 3 Tabla 5.24 Reglas de diseño SCMOS – Transistor Bipolar NPN (Opción análoga) 156 4 2 2 6 4 2 2 16.11 16.10 N _ Well Collector Active ct nta 16.9 16.8 Co Active N+ _ Select 16.3 Emitter 16.2 ct nta Co 16.1 N+ _ Select 16.4 Base Contact ct nta Co 16.6 P+ _ Select PBase 16.5 16.7 N _ Well Figura 5.18 Diagrama de las reglas de diseño SCMOS – Transistor Bipolar NPN (Opción análoga) Reglas de diseño SCMOS – Pozo del Capacitor (Opción de capacitor lineal) REGLA 17.1 17.2 17.3 DESCRIPCIÓN Ancho mínimo Espacio mínimo para el metal 3 Espacio mínimo para área activa externa Solapamiento mínimo con el área activa 17.4 LAMBDA 10 9 5 5 Tabla 5.25 Reglas de diseño SCMOS – Pozo del Capacitor (Opción de capacitor lineal) 17.1 Active 17.3 Active 17.4 Cap _ Well 17.2 N _ Well P _ Well Cap _ Well Figura 5.19 Diagrama de las reglas de diseño SCMOS – Pozo del Capacitor (Opción de capacitor lineal) 157 Reglas de diseño SCMOS – Capacitor lineal (Opción de capacitor lineal) REGLA 18.1 18.2 18.3 18.4 18.5 DESCRIPCIÓN Ancho mínimo Extensión mínima del polisilicio sobre el área activa Área activa mínima sobrepuesta con el polisilicio Contacto mínimo del polisilicio al área activa Contacto mínimo del área activa al polisilicio LAMBDA 3 ½ 3 2 4/6 Tabla 5.26 Reglas de diseño SCMOS – Capacitor lineal (Opción de capacitor lineal) Cap _ Well Active ct nta Co 18.2 18.5 Linear Capacitor 18.4 18.3 18.1 Poly Figura 5.20 Diagrama de las reglas de diseño SCMOS – Capacitor lineal (Opción de capacitor lineal) Reglas de diseño SCMOS – Vía 3 (Opción para el cuarto metal) REGLA 15.1 15.3 21.1 21.2 21.3 DESCRIPCIÓN Ancho mínimo del Metal 3 Solapamiento mínimo del Metal 3 sobre la vía 2 Tamaño exacto Espacio mínimo Solapamiento mínimo del metal 3 LAMBDA 3 1 2X2 4 1 Tabla 5.27 Reglas de diseño SCMOS – Vía 3 (Opción para el cuarto metal) 158 21.1 21.1 Metal 3 21.3 21.2 Via3 Metal 2 Figura 5.21 Diagrama de las reglas de diseño SCMOS – Vía 3 (Opción para el cuarto metal) Reglas de diseño SCMOS – Metal 4 (Opción para el cuarto metal, sólo SUBM) REGLA 22.1 22.2 22.3 DESCRIPCIÓN Ancho mínimo Separación mínima del metal 4 Solapamiento mínimo con la vía 3 LAMBDA 6 6 2 Tabla 5.28 Reglas de diseño SCMOS – Metal 4 (Opción para el cuarto metal, sólo SUBM) 22.1 Metal 4 22.2 Via3 Metal 4 22.3 Figura 5.22 Diagrama de las reglas de diseño SCMOS – Metal 4 (Opción para el cuarto metal, sólo SUBM) 159 Ejemplos diseño de un inversor VDD _ a a Gnd Figura 5.23 Diagrama eléctrico del inversor VDD p-type diffusion transistor Metal 1 a Poly n-type diffusion Vss Figura 5.24 Diagrama de líneas con los diferentes elementos a utilizar en el layout 160 Well 4λ VDD 40λ Contacto Metal 1 Difusion p A Y Difusion n Polisilicio GND 32λ Figura 5.25 Layout de geometrías típicas para el inversor Herramientas de Diseño En el mercado existen varias herramientas que nos facilitan el diseño de circuitos lógicos con sus correspondientes reglas de diseño, esto nos permite ahorrar tiempo y optimizar nuestros proyectos. Algunos de los programas que nos permiten utilizar las reglas de diseño son: • DSCH2 • MICROWIND • L-EDIT • LASI Descripción del software DSCH2: Esta aplicación consta de un editor lógico, basado en captura de esquemas, y un simulador. Está orientado a la validación del circuito lógico antes de pasar a la fase de síntesis microelectrónica. Proporciona un entorno sencillo para el diseño lógico jerárquico y simulación con análisis de retardos, todo lo cual permite el diseño y validación de estructuras lógicas complejas. Una característica muy interesante es la posibilidad de estimar el consumo de potencia del circuito. Además, es capaz de generar un fichero Verilog del circuito lógico que puede tomar como entrada la aplicación Microwind 2 para crear el layout. MICROWIND2: Permite que el estudiante diseñe y simule un circuito integrado en el nivel físico de la descripción. El paquete contiene una biblioteca de la lógica común y de los circuitos integrados análogos, para ver y para simular. MICROWIND2 incluye todos los comandos para un redactor de la máscara, así como las herramientas originales que nunca se recolectaron antes en un solo módulo (2.0 y la opción de proceso 3D, recopila- 161 dor de VERILOG). La extracción eléctrica de su circuito se realiza automáticamente y el simulador análogo produce voltaje y curvas actuales inmediatamente. LASI: Layout System for Individuals. LASI es un programa de diseño automatizado usado para el esquema de la disposición física de circuitos integrados. Se utiliza además, para crear y arreglar los polígonos que corresponden a las regiones (es decir, drenador, interconexión del metal, etc.) que componen cada dispositivo en un IC. LASI es básicamente un programa de dibujo de dos dimensiones. El dibujo creado recibe el nombre de disposición. L-EDIT: Es una herramienta para el layout que utiliza los elementos dibujados en capas para representar las máscaras que se emplean en la fabricación de un circuito integrado. Las capas son representadas por diversos colores y patrones. L-Edit describe un diseño del layout en términos de archivos, celdas, casos, y objetos dibujados. Un archivo se puede componer de cualquier número de celdas, las cuales pueden ser relacionadas por jerarquía, como en un diseño típico, o pueden ser independientes, como en un archivo de la “biblioteca”. Ejemplos Diseño de una compuerta NAND con la ayuda de DSCH y Microwind El esquema de la Figura 5.26 representa una compuerta NAND con tecnología CMOS W=1.0u L=0.12u W=1.0u L=0.12u W=1.0u L=0.12u OUT A W=1.0u L=0.12u B Figura 5.26 Esquema Eléctrico de una Compuerta NAND (CMOS) Según lo calculado para obtener resistencias iguales en la red de tipo P y en la red de tipo N, todos los transistores deben tener las mismas dimensiones. En nuestro caso hemos elegido W 162 L = 3 , W = 1µ y L = 0.12µ Vdd+ Clock3 Clock2 0.01 pF VssFigura 5.27 Layout del diseño Como se puede apreciar, se ha colocado un condensador de 0.01pF a la salida de la compuerta para caracterizar la misma. Figura 5.28 Tiempos de Subida y Bajada de la compuerta NAND 163 Diseño de un Inversor W=2.0u L=0.12u OUT A W=1.0u L=0.12u Figura 5.29 Diagrama eléctrico del Inversor Vdd+ S1 Clock1 Vss- Figura 5.30 Layout del Inversor 164 0.01 pF Figura 5.31 Tiempos de bajada y subida del inversor 165 CAPÍULO 6 El inversor CMOS Introducción L os circuitos lógicos MOS o CMOS se han fabricado como paquetes estándar para su uso en sistemas digitales desde los años 70’s. Estos paquetes contienen compuertas lógicas y otros elementos digitales que forman sistemas con un número de compuertas por paquete que va desde unos pocos (circuitos SSI – small-scale integrate) hasta algunas decenas (circuitos MSI – medium-scale integrated). A finales de los 70’s surgió la integración a muy gran escala lo que permitió la incorporación de cientos y miles de compuertas por chip (circuitos VLSI – very largescale integrated) y el NMOS se convirtió en la más selecta tecnología de fabricación1. Los primeros circuitos VLSI, que utilizaron esta tecnología, empleaban el transistor de enriquecimiento, y después el transistor de agotamiento, como configuración básica de un inversor. En esa época, aunque el CMOS ofrecía mayor flexibilidad de diseño y otras ventajas, el NMOS se impuso por su costo y simplicidad. Sin embargo en la actualidad, la tecnología CMOS ha sustituido a la NMOS en todos los niveles de integración, tanto en aplicaciones análogas como digitales2. Hoy en día la gran mayoría de los circuitos integrados de aplicación específica, utilizan tecnología CMOS, la cual se nutre a su vez de los transistores MOS (Metal Óxido Semiconductor). El circuito del inversor CMOS puede considerarse como el origen de toda la tecnología CMOS y muchas de sus propiedades como bajo consumo de potencia y eficiencia en cuanto a bajos tiempos de retardo son a su vez propiedades generales de toda la circuitería CMOS, de ahí su importancia y su interés. Para cualquier tecnología de circuitos integrados, el elemento básico es el inversor lógico. De ahí que se hace necesario entender su funcionamiento y sus curvas características para ampliar el conocimiento al diseño de otros circuitos lógicos más complejos. En este documento se realiza una exhaustiva descripción y caracterización del inversor CMOS. Las características entrada- salida de un inversor CMOS son la expresión de una tecnología digital robusta, en el sentido de que maneja con mucha fiabilidad la información digital que recibe (unos y ceros) de forma que no exista ambigüedad en la interpretación de un valor de tensión respecto a su valor lógico. 1 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 2 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 169 El Inversor E l inversor es el elemento más importante dentro de la microelectrónica actual, está compuesto de transistores MOSFET tipo P y tipo N conectados en serie entre la alimentación positiva y masa. La Figura 6.1 muestra un inversor básico, el cual utiliza dos MOSFET de enriquecimiento, uno de tipo N y otro de tipo P. El cuerpo de cada dispositivo está conectado a su fuente, por lo tanto no surge el efecto del cuerpo. QP QP iDP Vt iDN iDP Vo Vt QN (a) iDN Vo QN (b) Figura 6.1 (a) Modelo del inversor CMOS y (b) Circuito esquemático simplificado para el inversor3 Revisión acerca de los transistores MOSFET El transistor de efecto campo es en realidad una familia de transistores que se basan en el campo eléctrico para controlar la conductividad de un “canal” en un material semiconductor. Según la construcción del electrodo de la compuerta, se conocen principalmente dos clases de FET: Los de juntura (JFET), bastante sensibles a los cambios de temperatura, pero muy buenos para el manejo de altas frecuencias y señales muy débiles. Los de compuerta aislada (MOSFET) tienen un electrodo de control metálico, aislado del canal mediante una delgada capa de dióxido de silicio, de la que se deriva la raíz MOS (Metal-Oxido-semiconductor). Dependiendo del canal del transistor se pueden encontrar dos clases de MOSFET: Canal N y Canal P. 3 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 170 Tipo P El transistor tipo P se compone de las siguientes capas características: Se tiene un pozo tipo N; una difusión tipo P y en su canal un metal y oxido de silicio. Además su funcionamiento se basa en la movilidad de huecos. D S N N D P G S G CANAL P Figura 6.2 Transistor P Tipo N El transistor tipo N se compone de las siguientes capas características: Se tiene un pozo tipo P; una difusión tipo N y en su canal un metal y oxido de silicio. Además su funcionamiento se basa en la movilidad de electrones; por eso es tres veces más rápido que el tipo P. S P P G N D Drenaje Fuentes D Puerta G S CANAL N Figura 6.3 Transistor N Esta tecnología es robusta porque: • El valor de la tensión de salida es siempre uno de los dos valores extremos del rango dinámico: VDD ó 0 (se suele denominar a este comportamiento: rail to rail logic). • La transición del nivel de salida alto a bajo (o viceversa) puede hacerse en un valor centrado en el medio del rango dinámico, es decir, equidistantemente de los valores correspondientes a los dos raíles de la alimentación. • Los niveles se regeneran automáticamente en caso de deterioro, sin más que hacer pasar la señal por una cadena corta de inversores. 171 Operación del Circuito La topología básica de un inversor con transistores MOS es la mostrada en la Figura 1. El transistor Q P se podría comportar como una carga activa. En el circuito de la figura 1 tenemos una entrada v i y una salida v 0 , la cual dependerá de manera directa de v i . Es decir: si en v i hay un nivel lógico alto (1) > V dd − 10mV , en la salida se presentará un nivel lógico bajo (0) < 10mV, esto ocurre porque los transistores utilizados se comportan como interruptores y en este caso específicamente, el transistor PMOS ubicado en la parte de arriba se comporta como un interruptor abierto, gráficamente se tiene el circuito de la Figura 6.4. VDD VDSN Vo=0 Figura 6.4 Circuito equivalente cuando v_i=V_DD, por tanto la salida es v_0=V_OL=0V4 Lo que nos permite observar que efectivamente el voltaje de salida es cero. La curva característica de i D vs v DS para Q N y la curva de carga de Q P cuando v SGP = 0V , se ilustran en la Figura 6.5, donde también se observa que para v SGP < Vt la curva de carga es horizontal con i D cercana a cero. El punto de operación del circuito está en la intersección de las dos curvas, donde la salida de voltaje y la corriente son cercanas a cero. Esto implica que la disipación de corriente en el circuito es muy baja. Es interesante notar que a pesar de que el transistor tipo NMOS está operando con una corriente y voltaje de drenador a fuente casi cero, ésta se encuentra ubicada en un punto muy pendiente de la recta i D vs v DS , por lo tanto este transistor proporciona una trayectoria de baja resistencia entre la salida y tierra. Esta resistencia se puede calcular como: rDSN = 1 W k n' (V DD −Vtn ) L n (1.1) 4 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 172 i VGSN =VOH =VDD Curva de Carga Punto de Operación 0 VGSP = 0 VDD VOL˜ 0 Figura 6.5 Curva característica de vs v DS para Q N con v GSN = VDD ( iD de Q P para el caso de v = 0V 5 iD SGP V0 = i y v DSN = v 0 ) curva de carga Por otro lado, si en v i hay un nivel lógico bajo (0) < 10 mV, en la salida se presentará un nivel lógico alto (1) > V dd − 10mV , en este caso, el transistor NMOS ubicado en la parte de abajo se comporta como un interruptor abierto, como se muestra en el circuito de la Figura 6.6. VDD VDSP Vo=VDD Figura 6.6 Circuito equivalente cuando v i = 0V , por tanto la salida es v 0 = VDD 6 El voltaje de salida es diferente de cero. Como se observa en la Figura 6.7, la curva de carga (correspondiente al dispositivo tipo p) en este caso tiene un valor lejano al cero, más exactamente un voltaje v SGP =V DD . Si se ve el punto de operación en este caso, el voltaje de salida es cercano a V DD y la corriente de salida es cercana a cero. Por tanto se tiene también una disipación de potencia baja, lo cual sugiere una resistencia baja entre la salida y la fuente V DD que se calcula de la siguiente manera: rDSP = 1 ( W k p' V DD − Vtp L p ) (1.2) 5 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 6 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 173 Sin embargo, la capacidad de excitación de carga del inversor es alta. Cuando la entrada está a nivel alto (1), el transistor Q_N puede disipar una corriente de carga relativamente alta, corriente que puede descargar con rapidez la capacitancia de carga. Por su acción de disipar la corriente de carga y reducir el voltaje de salida, el transistor Q N se conoce como dispositivo reductor. i Curva de Carga (VGSP = VDD) Punto de Operación VOH˜ VDD VGSN =VOL = 0 0 VDD Figura 6.7 Curva característica de i D vs v DS para Q N con carga de Q P para el caso de Vo v GSN = 0V ( i = i y v = v ) y curva de D DSN 0 v SGP = VDD 7 Por otro lado, como el transistor Q P puede generar una corriente de carga relativamente grande, esta puede cargar con rapidez una capacitancia de carga, llevando el voltaje de salida hacia V DD , razón por la cual el transistor Q P es llamado dispositivo elevador. En la Figura 6.8 se observa el esquema eléctrico empleado en la simulación del inversor en PSpice para verificar su funcionamiento, siendo la entrada al inversor una señal cuadrada de 0 a 5V. En la Figura 6.9.a se observa la señal de entrada y en la Figura 6.9.b la señal obtenida a la salida del inversor. Tipo P + 5 M3 V1 = 0.001 V2 = 5 TD = 10n TR = 1p TF = 1p PW = 0.5u PER = 1u V2 + _ V M4 V V1 _ 0 50p 0 0 Tipo N 0 Figura 6.8 Esquema eléctrico del inversor CMOS en PSpice 7 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 174 (a) (b) Figura 6.9 (a) Señal de entrada y (b) señal de salida del inversor CMOS simulado en PSpice Curva Característica de Transferencia de Voltaje (VTC) En la caracterización de la entrada – salida; se pueden diferenciar las tres zonas de trabajo que dependen de las regiones de cada transistor (Figura 6.10). ZONA 1: NMOS apagado y PMOS activo El voltaje en la compuerta de los dos transistores tiende a cero, el transistor NMOS se encuentra en corte y el transistor PMOS está activo, por tanto a la salida se deja pasar V DD . ZONA 2: NMOS en saturación y PMOS en saturación El voltaje en la compuerta de los dos transistores se encuentra en la zona de decisión, por tanto el estado de la salida es transitorio. ZONA 3: NMOS activo y PMOS apagado El voltaje en la compuerta de los dos transistores tiende a V DD , el transistor NMOS se encuentra encendido y el transistor PMOS está en corte. La salida está en cero. v 5.0 4.5 4.0 v(2) NMOS OFF NMOS SAT 3.5 PMOS OHM 3.0 NMOS SAT 2.5 PMOS SAT 2.0 1.5 lVTPl = 1.1V 1.0 NMOS OHM 0.5 0.0 PMOS SAT 0.0 0.5 1.0 1.5 2.0 VTN = 0.7V sveep 2.5 3.0 v 3.5 PMOS OFF 4.0 4.5 5.0 VDD = lVTPl = 3.9V Figura 6.10 Curva entrada- salida del inversor y regiones de cada transistor 175 Para obtener la curva característica de transferencia de voltaje (VTC, por sus siglas en ingles), se procede a calcular los puntos críticos de la curva, para lo cual se necesita- rán las relaciones i vs v de Q N y Q P . Para el transistor QN : W 1 i DN = k n' (Vt −Vtn )v 0 − v 02 parav 0 ≤ v i −Vtn 2 L n 2 1 W i DN = k n' (V i −Vtn ) parav 0 ≥ v i −Vtn 2 L n Y para el transistor Q P : ( ) 2 W 1 i DP = k p' V DD −v i − Vtp (V DD −v 0 ) − (V DD −v 0 ) parav 0 ≥ v i + Vtp 2 L p ( 1 W i DP = k p' V DD −v i − Vtp 2 L p ) parav 2 0 El inversor CMOS comúnmente se diseña para tener: ≤ v i + Vtp (1.3) (1.4) (1.5) (1.6) W W Vtn = Vtp yk n' = k p' L n L p Como µ p es 0.3 a 0.5 veces el valor de µn , el ancho del canal p debe hacerse dos o tres veces el del dispositivo del canal n así: Wp Wn = µn µp (1.7) Entonces el inversor tendrá una curva característica simétrica de transferencia e igual capacidad de excitación de corriente en ambas direcciones (elevación y reducción). Con Q N y Q P acoplados, el inversor tiene una curva característica de transferencia de voltaje como la mostrada en la Figura 6.11. Esta curva tiene 5 segmentos diferentes correspondientes a diferentes combinaciones de modos de operación de Q N y Q P . El segmento vertical BC corresponde a cuando Q N y Q P están en saturación, sin tener en cuenta la resistencia finita de cada transistor. Este segmento vertical ocurre en V = i está limitado por v 0 ( B ) = V DD V DD V DD 2 y +Vt y v 0 (C ) = −Vt . 2 2 Los puntos VOL y VOH son el máximo permitido de nivel bajo (0) y mínimo de nivel alto (1) respectivamente, sin que se presenten problemas de ruido en el inversor. Son definidos formalmente como los puntos en la curva de transferencia en que la ganancia incremental es unitaria ( pendiente = −1V /V ). 176 QN en saturación Qp en región triodo V0 QN off VOH = VDD A Pendiente = -1 VDD/2 + Vt B QN y Qp En saturación C VDD/2 - Vt Pendiente = -1 QN en saturación Qp en región triodo Qp off VOL = 0 D 0 Vt VIL VIH VDD - Vt VDD Vt Vth = VDD/2 Figura 6.11 Curva de entrada – salida (VTC) de un inversor CMOS8 Para determinar V IH , Q N está en la región triodo y por lo tanto su corriente está dada por la ecuación (1.3), en cambio Q P está en saturación y su corriente está dada por (1.6). Igualando i DN con i DP y suponiendo que están acoplados, tenemos: (v i 2 1 1 −Vt )v 0 − v 02 = (V DD −v i −Vt ) 2 2 Derivando a ambos lados respecto a v i , se obtiene (v Sustituimos v i =V IH y i dv 0 −Vt ) dv 0 dv −v 0 − 0 v 0 = − (V DD −v i −Vt ) dv i dv i dv i =-1 para obtener: V v 0 =V IH − DD 2 Al sustituir en (1.8) v i =V IH y v 0 por la ecuación anterior (1.9), tenemos: V IH = 1 (5V − 2Vt ) 8 DD (1.8) (1.9) (1.10) (1.11) 8 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 177 V IL se puede calcular de manera semejante a la empleada para hallar V IH . Utilizando la siguiente simetría: V IH − V DD 2 = V DD 2 (1.12) −V IL Reemplazando V IH en la ecuación (1.11) tenemos: V IL = 1 (3V + 2Vt ) 8 DD (1.13) Se puede obtener la función de transferencia mediante simulación PSpice: las Figuras 6.12.a y 6.12.b muestran, respectivamente, la función de transferencia v 0 −v i y el consumo de intensidad de un inversor CMOS de la tecnología Ψ. Especificaciones: L = 1�m ,W = 1,5�m , VTO = 1V, Κp , NMOS = 40�A / V2 y Κp , PMOS = 15�A /V 2. (a) (b) Figura 6.12 (a) Curva de transferencia v 0 −v i simulada de un inversor CMOS y (b) Consumo de potencia del inversor. Márgenes de Ruido Los márgenes de ruido alto NM H y bajo NM L están dados respectivamente por: NM H =V (1) −V IH =VOH −V IH NM H =V DD − 1 1 5V DD − 2Vt ) = (3V DD + 2Vt ) ( 8 8 NM L =V IL −V ( 0) =V IL −VOL NM L =V DD − 178 1 1 3V DD + 2Vt ) − 0 = (3V DD + 2Vt ) ( 8 8 (1.14) (1.15) Como se esperaba, la simetría de la curva característica de transferencia de voltaje resulta en iguales márgenes de ruido. Pero si Q N y Q P no están acoplados la curva de transferencia de voltaje ya no será simétrica y sus márgenes de ruido no serán iguales. Estos márgenes de ruido representan “márgenes de seguridad” para el funcionamiento correcto de puertas lógicas en presencia de fuentes de ruido (ej. acoplamiento de señales, variación de parámetros físicos entre distintas puertas). Tal y como se ilustra en la Figura 6.13, el nivel lógico alto V(1) proporcionado a la salida por el inversor #1 podrá descender dentro del margen de seguridad proporcionado por NM H y seguirá siendo interpretado como un nivel lógico alto a la entrada del inversor #2, sin que ello suponga una decisión lógica errónea en el último. Análogamente ocurre para V(0) y NM L . VDD Vl Vo 1 V(1) V(1) 1 NMH VIH VIH VIL VIL NML V(0) (a) #2 #1 VSS 0 0 (b) V(0) Figura 6.13 Márgenes de ruido; (a) Definiciones sobre los niveles de entrada y salida (b) Aplicación a inversores en cadena. Operación Dinámica La velocidad de propagación de un sistema digital está determinada por el tiempo de propagación de las compuertas lógicas usadas en dicho sistema. Como el inversor es la compuerta lógica básica de cualquier tecnología digital, el tiempo de propagación de esta es muy importante en la caracterización de la tecnología. El circuito de la Figura 6.14 muestra un inversor con un condensador entre su salida y tierra; este condensador representa la suma de las capacitancias internas de los transistores y las capacitancias de los alambres de conexión hacia otros dispositivos. El inversor CMOS tiene tiempos de subida y bajada diferentes de cero. El tiempo de subida del inversor es el tiempo que tarda la señal de salida del circuito en pasar del 10% al 90% de su valor en estado alto; y el tiempo de bajada es el que tarda en pasar del 90% al 10%. 179 VDD Vt Qp VDD IDP Vt 0 Vo t V0 IDN tPHL VDD QN tPLH VDD/2 0 t b) a) Figura 6.14 Medición de tiempo de propagación 9 Suponiendo que en la entrada v i tenemos un pulso como el de la Figura 6.14.b (señal superior) y que los MOSFET están acoplados, lo que implica que tiempos de subida y bajada son iguales. En la Figura 6.15 se presenta la trayectoria del punto de operación cuando pasa de un nivel lógico bajo (0) a un nivel lógico alto (1). IDN Punto de operación a t=0+ M F VGSN =VDD E Descarga del condensador a través de QN Punto de operación después de terminado el switcheo D A VDD VDD/2 Punto de operación a t=0V0 VDD - Vt Figura 6.15 Característica de carga 10 9 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 10 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 180 Inmediatamente antes del borde delantero del pulso de entrada (t=0-) el voltaje de salida es igual a V DD y el condensador se carga a ese voltaje. En t=0, Q P no conduce. En este momento nos encontramos en el punto E de la gráfica, donde Q N está conduciendo y de esta manera descargando el condensador. A medida que este se descarga, la corriente permanece constante hasta el punto F donde v 0 =V DD −Vt , si denotamos este intervalo de descarga como t PHL 1 tenemos: t PHL 1 = ( C V DD − (V DD −Vt ) ) 1 ' W k (V −V ) 2 n L n DD t 2 = CVt (1.16) 1 ' W k (V −V ) 2 n L n DD t 2 Luego del punto F el transistor Q N pasa a la región triodo, y su corriente está dada por (1.3). Esta porción del intervalo de descarga puede ser descrita por: i DN dt = −Cdv 0 (1.17) Al sustituir esta i DN en la ecuación (1.3) y reacomodarla tenemos: W k n' L 1 − n dt = 2C 2(V DD −Vt ) 1 dv 0 2(V DD −Vt ) v 02 − v 0 (1.18) Para hallar la componente del tiempo t PHL 2 en que v 0 decrece de (V DD −Vt ) a V DD , 2 integramos a ambos lados y tenemos: t PHL 2 = C W k n' (V DD L n 3V − 4Vt lnln DD V DD −Vt ) (1.19) Estas dos ecuaciones (1.16) y (1.19) se pueden sumar para obtener: t PHL = 2C W k n (V DD L n ' Vt 1 3V − 4Vt + ln DD V −V 2 V DD −Vt ) DD t (1.20) Para el caso usual en el que Vt ≅ 0.2V DD , la ecuación se reduce a: t PHL = 1.6C W k n' V DD L n (1.21) Haciendo un análisis semejante para el caso contrario en el que Q N no conduce tenemos un tiempo t PLH idéntico al anterior (1.21) excepto por los subíndices que cambian de n a p. 181 El tiempo de propagación t P es el promedio de t PLH y t PHL , observando las ecuaciones vemos que para tener una operación mas rápida el valor del condensador debe disminuir, o aumentar k, el ancho y/o el largo del canal o el voltaje de alimentación. A medida que se aumenta la frecuencia en la señal de entrada, la señal de salida se va degradando; esto se debe a que a frecuencias muy altas los tiempos de respuesta de la señal de salida del inversor se van haciendo muy lentos para la entrada, el circuito no responde de manera ideal y los estados se pierden. En las Figuras 6.16 a la 6.18 se muestra como se pierden los estados a medida que se aumenta la frecuencia (f1 < f2 < f3). (a) (b) Figura 6.16 Señales de entrada (a) y de salida (b) del inversor a una frecuencia f1. (a) (b) Figura 6.17 Señales de entrada (a) y de salida (b) del inversor a una frecuencia f2. 182 (a) (b) Figura 6.18 Señales de entrada (a) y de salida (b) del inversor a una frecuencia f3 Mejora de los tiempos de propagación En ocasiones las capacitancias de carga son altas; por ejemplo, en los adaptadores de las salidas de los circuitos integrados (que han de ser capaces de soportar su conexión a cargas equivalentes de decenas de picofaradios) o, también en compuertas que deban soportar a su salida una alta divergencia (también conocida como fan-out, es el número máximo de compuertas similares que una compuerta puede excitar mientras permanezca dentro de especificaciones garantizadas), (por ejemplo, las que transmiten a los diversos biestables la señal de reloj) o largas longitudes de polisilicio. En tales casos, los tiempos de conmutación se elevan en demasía y es preciso reducirlos mediante adaptadores de intensidad. Para disminuir los tiempos de propagación causados por altas capacitancias de carga o, lo que es lo mismo, por la necesidad de intensidades de salida altas, se utilizan esquemas de amplificación en cascada con inversores cuya anchura de transistor es progresivamente creciente. EJEMPLO Supóngase una carga de 2pF que resulta ser unas 1.000 veces mayor que C i (capacidad de carga que corresponde a fan-out 1): t↑ = 5C / I(P) ≈ 10 pF / 0,2 mA ≈ 50 ns t↓ = 5C / I(N) ≈ 10 pF / 0,5 mA ≈ 20 ns Añadiendo un par de inversores cuya anchura de transistores sea, en cada uno de ellos, 10 veces la del anterior: Inversor “minimo” Isat = I Ci = 2fF Inversor con transistores 10 veces más anchos Isat = 10I Ci = 20fF Inversor con transistores 100 veces más anchos Isat = 100I Ci = 200fF 2pF CL = 2000fF Figura 6.19 Ejemplo 183 Como puede apreciarse en la Figura 6.19, en cada inversor se produce un “salto” entre su capacidad de carga y su capacidad de entrada de 10; en total, un salto de 1000 que es la relación existente entre los 2pF y C i (capacidad de entrada del inversor mínima). t1↑ = 5 x 20 / 0,2 ≈ 0,5 ns t2↑ = 5 x 200 / 2 ≈ 0,5 ns t3↑ = 5 x 2000 / 200 ≈ 0,5 ns t1↓ ≈ 5 x 20 / 0,5 ≈ 0,2 ns t2↓ ≈ 5 x 200 / 5 ≈ 0,2 ns t3↓ ≈ 5 x 2000 / 500 ≈ 0,2 ns t↑ - t1↑ + t2↓ + t3↑ ≈ 1,2 ns t↓ - t1↓ + t2↑ + t3↓ ≈ 0,9 ns Ambos tiempos son muy inferiores a los que presenta el primer inversor en solitario: 50ns y 20ns, respectivamente. Resistencia de salida La resistencia de salida es un parámetro indicativo del comportamiento de las compuertas lógicas (una referencia de calidad de las mismas), en cuanto a intensidad disponible en la salida, inmunidad frente al ruido y tiempos de propagación, pues afecta fuertemente a estos tres aspectos: en principio, cuanto menor sea la resistencia de salida mayores serán la intensidad suministrable por la misma, el margen frente al ruido y la velocidad de trabajo. También interesa una resistencia de salida baja en relación con el acoplamiento en tensión, pero dicho acoplamiento ya viene garantizado por el altísimo valor de la resistencia de entrada (que es cuasi-infinita). Las situaciones booleanas corresponden a un transistor en zona lineal: para salida 0 el transistor NMOS se encontrará conduciendo en su zona lineal, mientras que para salida 1 será el transistor PMOS el que se encuentre en zona óhmica; de forma que R 0 (0) y R 0 (1) corresponden, respectivamente, a las resistencias que presentan los transistores NMOS y PMOS en zona lineal. Circulación de corriente y disipación de potencia En la Figura 6.20 se observa la gráfica de la circulación de corriente en función del voltaje de entrada, para un inversor CMOS. El pico de corriente está en el umbral de conmutación, esta corriente da lugar a disipación de potencia dinámica en el inversor, sin embargo una componente más importante de disipación de potencia dinámica resulta de la corriente que circula por Q N y Q P cuando el inversor es cargado por un condensador C . La disipación de potencia dinámica, si el inversor conmuta a una razón de f ciclos por segundo, será: 2 PD = fCV DD (1.22) na cifra del mérito o medida de calidad en la tecnología del circuito en particular es el producto de potencia y tiempo denotado como DP y es igual a: DP = PDt P Obviamente un bajo valor de DP indica una mejor calidad en la tecnología. 184 (1.23) i Ipico 0 Vtn VDD/2 VDD Vt VDD - lVtpl Figura 6.20 Circulación de corriente en el inversor CMOS vs la entrada de voltaje11 Hay dos clases de potencia disipada en un inversor CMOS: la potencia estática debida a las corrientes de fuga y otras salidas de corriente permanentes de la fuente (ver Figura 6.21), y la dinámica debida a la conmutación y las cargas y descargas en los condensadores parásitos (ver Figura 6.22). El cálculo de estas potencias se realiza de manera similar a los cálculos en transistores sencillos. (1.24) n D PS = ∑Corrientes de fuga *Voltaje alimentación 1 G S I de Fuga Figura 6.21 Diagrama de corrientes de fuga en un transistor MOSFET12 B En la Figura 6.23 se muestran algunos circuitos de PSpice y los resultados en el consumo de corrientes dinámicas para diferentes cargas capacitivas. Puede verse que el consumo de corriente aumenta con la capacitancia, así como disminuye la corriente de corto circuito. 11 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 12 R.C. Jaeger: “Microelectronic Circuit Design”. McGraw-Hill, 1997. 185 G D S CGS CGD CGB CDS CSB B Figura 6.22 Diagrama de las capacitancias parásitas de un transistor MOSFET13 C B A Vin _ + 8/1 _ + Vidsp 00 _ + Vin Vidsn 00 5V A 4/1 Idsn 00 Idsp 00 Corriente de corto circuito _ + 8/1 5V Corriente de capacitor _ + Vidsp 05 B _ + Vidsn 05 0.05pf Corriente de corto circuito Idsp 05 4/1 _ + 8/1 Idsn 05 5V Corriente de capacitor Idsn 20 Corriente de capacitor _ + Vidsp20 _ + Vidsn 20 4/1 Corriente de corto circuito C 0.2pf Idsp 20 Corriente de corto circuito Corriente de capacitor Figura 6.23 Consumo de corrientes dinámicas para diferentes cargas capacitivas, simuladas con PSpice. 13 R.C. Jaeger: “Microelectronic Circuit Design”. McGraw-Hill, 1997. 186 La potencia disipada por un inversor CMOS en situación estática es prácticamente nula, pues no existe ninguna línea de conducción directa entre alimentaciones (siempre uno de los dos transistores correspondientes a cada entrada se encuentra en corte). Ahora bien, en cada transistor existen uniones PN polarizadas inversamente (uniones difusión-substrato) que conducen una minúscula intensidad inversa, cuyo orden de magnitud es de picoamperios. Al conmutar el inversor se cargan o descargan las capacitancias propias de los transistores, en particular, la capacitancia de compuerta, lo cual determina un consumo dinámico proporcional a la frecuencia de conmutación: 2 • Energía necesaria para cargar o descargar un condensador: 1 2 CV DD • Potencia disipada al cargarlo y descargarlo con una onda de frecuencia f (en cada período hay dos conmutaciones, habrá que contabilizar una carga y una 2 2 descarga): 1 CV DD 2f = fCV DD 2 Esta potencia (energía por unidad de tiempo) representa un consumo de intensidad desde la alimentación y una disipación de calor en el propio circuito. Son dos aspectos complementarios, relativos al consumo de intensidad, que requieren la correspondiente atención en el diseño y utilización del circuito integrado: una fuente de alimentación con suficiente capacidad de suministro de corriente y una disipación de calor adecuada. ( ) Teniendo en cuenta, además, que los tiempos de propagación aumentan con la temperatura y, en consecuencia, disminuye la velocidad de trabajo, la potencia consumida y disipada depende de: • • • La tecnología, cuyas dimensiones determinan la capacitancia C ; dicha capacitancia equivalente de una compuerta a efectos de consumo de intensidad tiene varios componentes, entre los cuales predomina la capacitancia de entrada (las otras capacitancia internas de los transistores son de valores muy inferiores) que es proporcional a la superficie de las zonas de compuerta, es decir, al producto LW y disminuye cuadráticamente al disminuir L (W = 1,5L ) . La tensión de alimentación, que también afecta cuadráticamente V DD ; existe, por ello, una evolución continuada de la microelectrónica hacia tensiones de alimentación más bajas (el paso de 5V a 3V reduce el consumo a la tercera parte), siendo cada vez más frecuentes dispositivos de 2,5V y de 1,8V. 2 La frecuencia de trabajo f, aumentando linealmente con ella (lo cual aconseja no trabajar a frecuencia más alta de la estrictamente necesaria para el sistema digital). Al evaluar el consumo de un circuito integrado, debe tenerse en cuenta que no todas las compuertas del mismo conmutan cada vez, sino que solamente lo hace una pequeña parte de ellas; por ejemplo, la escritura de un dato sobre una memoria de 1 Mega solamente afecta a uno de sus 1048576 registros (y al decodificador de direcciones y control de escritura). 187 Analisis de Diseño y operación del inversor CMOS Operación Estática Con v i = 0 , v 0 =VOH =V DD y el nodo de salida conectado a V DD mediante la resistencia rDSP del transistor de conexión Q P . Asimismo, con v = 0 , v =V = 0 y el nodo de salida 0 OL i r conectado a tierra mediante la resistencia DSN del transistor de conexión Q N . Por lo tanto, en estado estable no existe una trayectoria directa entre V DD y tierra, asimismo la corriente y la disipación de potencia son cero (los efectos de fuga general son mínimos en dispositivos grandes). En la Figura 6.24 se muestra la curva característica de transferencia de voltaje del inversor, que confirma los niveles lógicos de voltaje a la salida que son 0 y V DD , dando la oscilación máxima de voltaje posible en este nodo. El hecho de que el VOH y VOL sean independientes de las dimensiones del dispositivo hace que el CMOS sea muy diferente a otras formas de lógica MOS. Se puede hacer que el inversor CMOS conmute en el punto medio de la oscilación V lógica, 0 a V DD , es decir en DD 2 , puesto que este valor depende de las dimensiones de los transistores, entonces el voltaje de umbral de conmutación Vumbral (V M ) está dado por: Vumbral = V DD − Vtp +Vtn 1+ kn kn kp kp (1.25) ' W ' W Donde k n = k n ( L )n y k p = k p ( L )p , a partir de lo cual se ve que para el caso V para k n = k p , es decir: típico en el que Vtn = Vtp , Vumbral = DD 2 (1.26) k n' (W )n = k p' (W )p L L A través del anterior argumento se obtiene una característica de transferencia simétrica cuando los dispositivos se diseñan para que tengan parámetros de transconductancia µ iguales, esta condición es llamada igualación. Como n es dos a cuatro veces mas granµ de que µ p , la igualación se logra haciendo (W )p dos a cuatro veces (es decir n L µp veces) el valor de (W )n . L 188 µn W W = L p µ p L n (1.27) V0 Pendiente = -1 VOH = VDD Pendiente = +1 Pendiente = -1 NML VOL = 0 0 Vt NMH VIL VIH VDD Vt Vth = VDD / 2 Figura 6.24 Curva característica de transferencia de voltaje del inversor CMOS, cuando Q N y Q P están igualados 14 Asimismo normalmente los dispositivos tiene la misma longitud de canal, L , y se le da el valor mínimo para la tecnología de proceso efectuada. El ancho mínimo del transistor NMOS es de ½ a dos veces L y el ancho de transistor PMOS de dos a tres µn veces L . Por ejemplo, para un proceso de 0.25μm para el cual µ p = 3 , L=0.25μm, (W )n = 0.375µ m / 0.25µ m y (W )p = 1.275µ m / 0.25µ m . También se debe tener en L L cuenta que si el transistor va a ser utilizado para impulsar una carga capacitiva relativamente grande, los transistores se hacen más anchos. Sin embargo, el tamaño del transistor depende de un mínimo dado por el tamaño del chip. Para propósitos futuros el cociente (W/L) del transistor NMOS de este inversor mínimo se denotará n y el cociente (W/L) del transistor PMOS p. como el área del inversor puede representarse por ÐÐÐ + p p = n + p , el área del inversor de mínimo tamaño es (n + p )L2 y se puen n de utilizar el factor (n + p ) para representar el área. Para el ejemplo antes citado, n = 1.5 , p = 4.5 y el factor de área n + p = 6 . ( ) ( ) Además de colocar el umbral en el centro de la oscilación lógica, la igualación de los parámetros de transconductancia de Q n y Q p proporcionan al inversor una capacidad de excitación de corriente igual en ambas direcciones (polarización a nivel lógico alto y polarización a nivel bajo). También, y obviamente relacionado, hace rDSN = rDSP . Por tanto, t PHL un inversor con transistores igualados tendrá retardos de propagación iguales, t PLH y(1.28) . Lo mismo sucede con respecto a los márgenes de ruido NM H y NM L que se igualan y sus valores se incrementan a los valores máximos, de modo que: 14 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 189 3 8 2 3 NM H = NM L = V DD + Vt Con un Vt entre el 10 y 20% de V DD , que son valores típicos, los márgenes de ruido son de aproximadamente el 40% de V DD . Este valor por su proximidad a la mitad del voltaje de suministro de potencia, hace que el inversor CMOS sea casi ideal desde el punto de vista de inmunidad al ruido. Además como la corriente DC de entrada al inversor es prácticamente cero, los márgenes de ruido no dependen de la divergencia (fan-out) de la compuerta. Aunque se ha hecho hincapié en las ventajas de igualar Q n y Q p , existen ocasiones en las que no se opta por esto. Se podría por ejemplo renunciar a las ventajas de la coW W incidencia a cambio de reducir el área del chip y simplemente hacer ( L )p = ( L )n . También existen casos en los que se utiliza una desigualdad deliberada para situar V en un valor específico diferente de V DD . Observe que haciendo k n > k p , el Vumbral se aproxima a cero, mientras que k p > k n hace que Vumbral se aproxime a V DD . Como comentario final sobre la curva característica de transferencia de voltaje del inversor, se observa que la pendiente en la región de transición, aun cuando es grande, es finita y está dada por –( g mN + g mP )(roN || roP ) . Operación Dinámica El retardo de propagación del inversor se determina por lo general bajo la condición de que se está excitando un inversor idéntico. Esta situación se ilustra en la Figura 6.25. Se desea analizar este circuito para determinar el retardo de propagación que comprende Q1 y Q 2 , el cual es excitado por una fuente de baja impedancia y la carga es el inversor comprendido por Q3 y Q 4 . En la Figura 6.25 se indican las diversas capacitancias internas del transistor que están conectadas al nodo de salida del inversor (Q1 , Q 2 ). Específicamente se desea remplazar todas estas capacitancias por una común C conectada entre el nodo de salida y tierra. Con esta finalidad se observa que durante t PLH o t PHL , la salida V DD V DD del primer inversor cambia de 0 a 2 o de V DD a 2 respectivamente, se deduce que el segundo inversor permanece en el mismo estado durante cada uno de los intervalos de análisis. Esta observación influirá de manera importante en la estimación de la capacitancia de entrada equivalente del segundo inversor. Contribución de las capacitancias de la Figura 6.25 a C : 1. La capacitancia de traslape compuerta-drenaje de Q1 , C gd 1 , puede remplazarse por una capacitancia equivalente entre el nodo de salida y tierra de 2C gd 1 . La proporción de 2 surge a causa del efecto Miller. Específicamente, observe que v i pasa a un nivel lógico alto y v 0 a uno bajo en la misma cantidad, el cambio de voltaje a través de C gd 1 es dos veces esa cantidad. Lo mismo se aplica para el transistor Q 2 que será de 2C gd 2 ubicada entre el nodo de salida y tierra. 2. Cada una de las capacitancias drenaje-cuerpo C db 1 y C db 2 tienen una terminal a un voltaje constante. Entonces para el propósito del análisis en este caso C db 1 y C db 2 pueden sustituirse con capacitancias iguales entre el nodo de salida y tierra. 190 VDD VDD Cg 4 Q2 Q4 Cgd 2 Cdb 2 V0 VDD 0 Cgd 1 Vi t + _ Cdb 1 CW Q3 Q1 Cg 3 Figura 6.25 Circuito para analizar el tiempo de propagación del inversor. Medición de rando otro inversor como carga15 tP conside- 3. Como el segundo inversor no cambia de estados, se supondrá que las capacitancias de entrada de Q3 y Q 4 permanecen aproximadamente constantes e iguales a la capacitancia de compuerta total WLC ox + C gsov + C gdov . Es decir, la capacitancia de entrada del inversor de carga será: ( ) C g 3 + C g 4 = (WL ) C ox + (WL ) C ox + C gsov 3 + C gdov 3 + C gsov 4 + C gdov 4 3 (1.29) 4 4. El último componente de C es la capacitancia de alambrado C w , que simplemen te se suma al valor de C . El valor de C esta dado por: C = 2C gd 1 + 2C gd 2 + C db 1 + C db 2 + C g 3 + C g 4 + C w (1.30) Una vez que se determina un valor aproximado de la capacitancia equivalente entre el nodo de salida y tierra se pueden utilizar los circuitos de la Figura 6.26 para determinar el t PHL y t PLH . Como los dos circuitos son similares solo hay que considerar uno y aplicar el resultado en el otro. Un método aproximado de analizar el circuito de la Figura 6.26.a, se basa en calcular un valor promedio para la corriente de descarga i DN durante el intervalo t = 0 a t = t PHL . Específicamente, en el instante t = 0 , Q N se satura e i DN ( 0) está dada por: 1 W i DN ( 0) = k n' (V DD −Vt )2 2 L n (1.31) 15 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 191 Cuando t = t PHL , Q N estará en la región de tríodo e i DN (t PHL ) será: i DN V W t k = ( PHL ) n L (V DD −Vt ) 2DD n ' 2 1 V DD − 2 2 (1.32) La corriente de descarga promedio se puede encontrar entonces como _____ 1 i DN = i DN ( 0) + i DN (t PHL ) 2 VDD Vo iDN Vi 0 (1.33) VDD C Q1 VDD 2 0 t t tPHL a) VDD VDD Vi 0 VDD Q2 Vo t 0 C VDD 2 t 0 tPHL b) Figura 6.26 Circuitos equivalentes para determinar los tiempos de propagación (a) t PHL y (b) t PLH del inversor16 Y el intervalo de descarga t PLH se calcula con: t PHL = C ∆V ______ i DN = C V DD 2 ______ i DN Si se utilizan las ecuaciones (1.31) a (1.33) y se sustituye t PHL ≅ 1.7C W k n' V DD L n (1.34) Vt ≅ 0.2V DD , se obtiene 16 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 192 Esta fórmula aproximada nos dice el efecto de tener en cuenta la inclusión de los diversos elementos al determinar el retardo del transistor, puesto que tal conocimiento es el que el diseñador del circuito espera obtener con un análisis manual. La expresión por analogía para t PLH es: t PLH ≅ 1.7C W k p' V DD L p (1.35) Finalmente el retardo de propagación t P se encuentra como el promedio de t PHL y t PLH , t ÐÐÐ= 1 (t 2 +t ) (1.36) Observaciones útiles de las ecuaciones anteriores: 1. Como se esperaba, los dos componentes de t P se pueden igualar al seleccionar Qp . las relaciones (W/L) para igualar k n y k p , es decir, haciendo coincidentes Q n y(1.37) 2. Como t P es proporcional a C , el diseñador deberá esforzarse por reducir C . Esto se logra utilizando la longitud de canal más pequeña posible y reduciendo al mínimo la capacitancia de alambrado y otras capacitancias parasitas. Una cuidadosa disposición del chip puede reducir significativamente tales capacitancias y el valor de C db . 3. Si se utiliza una tecnología de proceso con parámetro de transconductancia k ' más grande se producen retardos de propagación mas cortos. Sin embargo, se debe tener en cuenta que para tales procesos C ox se incrementa, y por tanto el valor de C se incrementa al mismo tiempo. 4. Si se utilizan relaciones (W/L) más grandes se puede producir una reducción en t P . Sin embargo, en este caso también se deberá tener cuidado, puesto que al incrementarse el tamaño de los dispositivos se incrementa el valor de C y por tanto la reducción esperada de t P podría no materializarse. Sin embargo reducir t P y aumentar (W/L) es una estrategia efectiva cuando C está dominado por componentes que no están directamente relacionadas con el tamaño del dispositivo de excitación. 5. Un voltaje de suministro V DD más grande produce un t P más bajo. Sin embargo, V DD está determinado por la tecnología de proceso y por tanto con frecuencia el diseñador no puede controlarlo. Además, las tecnologías de proceso modernas en las que los tamaños de dispositivos se reducen requieren un V DD más bajo. Un factor que motiva la reducción de V DD es la necesidad de mantener la disipación de potencia dinámica en niveles aceptables, en especial en chips de muy alta densidad. En las anteriores observaciones se ilustran los requerimientos conflictivos y las soluciones disponibles en el diseño de un circuito integrado digital CMOS (y de hecho de cualquier problema de diseño de ingeniería). 193 Disipación De Potencia Dinámica La baja disipación de potencia de los circuitos CMOS lo da como dominador a la hora de seleccionar una tecnología para implementar circuitos VLSI. Sin embargo conforme aumenta el número de compuertas del chip se incrementa de manera constante la disipación de potencia dinámica. La disipación de potencia en el inversor CMOS está dada por: PD = fC (V DD ) 2 (1.38) Donde f es la frecuencia a la cual la compuerta conmuta. Se deduce que la reducción de C al mínimo es un medio efectivo de disminuir la disipación de potencia dinámica. Una estrategia aun más efectiva es el uso de voltaje de suministro más bajo. Como ya se mencionó, las nuevas tecnologías de proceso CMOS utilizan valores V DD tan bajos como 1V. Estos nuevos chips, sin embargo empacan mas circuitos (hasta 100 millones de transistores) y operan a frecuencias más altas (en la actualidad están disponibles frecuencias de reloj de procesador de más de 1GHz). La disipación de potencia de semejantes chips de alta densidad puede ser de 100W. Resumen diseño inversor CMOS El diseño de las compuertas CMOS se basa en la siguiente metodología: • El número de transistores N debe ser igual al número de transistores P. • Los transistores N se referencian a tierra y los transistores P a la fuente. • Se implementa con NMOS la función negada y las variables sin negar. • Se implementa con PMOS la función sin negar y las variables negadas. En la Figura 6.27 se hace el diseño del inversor CMOS y se muestra el diagrama, donde se puede observar que el inversor CMOS se compone de dos transistores MOSFET, uno Tipo P a V_DD y otro Tipo N a tierra; los cuales tienen las compuertas conectadas y la salida se encuentra entre la conexión de la fuente del P al drenador del N. VDD VT Vo Figura 6.27 Inversor CMOS 194 Ventajas e inconvenientes del inversor CMOS y su tecnología Ventajas En general las ventajas del inversor vienen dadas por la tecnología de la familia MOS, su bajo consumo y alta densidad de integración, es por esto que un inversor que consta de dos transistores de esta familia posee estas características. Una ventaja muy importante es la alta divergencia (fan-out). • Consumo = 0mW • Retardo de propagación = 0 Características de la familia lógica ideal • Tiempo de subida y bajada controlable • Inmunidad al ruido del 50% • Inconvenientes V alta −Vbaja 2 = 0.5 La tecnología CMOS se aproxima a algunos de los aspectos ideales citados, ya que ofrece un bajo consumo y una alta inmunidad al ruido, aunque el retardo y los tiempos no son muy óptimos. Además del hecho de que no admiten cableados lógicos. Baja velocidad PMOS y alta impedancia de salida. Circuito inversor pseudo-NMOS Características Estáticas Debido a las desventajas de los CMOS los diseñadores de circuitos lógicos integrados han estado buscando nuevas formas de circuitos lógicos CMOS que permitan sumarse en la utilización de circuitos de tipo complementario. Estas formas no sustituyen a las forma CMOS complementario, sirven para usarse en casos especiales para fines especiales. En la Figura 6.28.a se ilustra una forma modificada del inversor CMOS. Aquí, solo Q N esta excitado por el voltaje de entrada mientras que la compuerta de Q P está conectada a tierra y Q P actúa como carga activa para Q N . Los circuitos de lógica NMOS se componen de un transistor excitador (Q N ) y un transistor de carga (en este caso Q P ); de ahí 195 el nombre pseudo-NMOS.Como propósito de comparación se mencionaran dos caos, el primitivo o popular de a mediados de los años setenta, utilizaba un MOSFET de mejoramiento o enriquecimiento como elemento de carga, en una topología cuyo inversor básico se muestra en la Figura 6.28.b. Estos tipos de dispositivos sufren de una oscilación lógica relativamente pequeña, pequeños márgenes de ruido y alta disipación de potencia estática. Esta tecnología fue remplazada en 1980 por circuitos NMOS de agotamiento-carga, en los cuales se utiliza un transistor NMOS de agotamiento con su compuerta conectada a su fuente como elemento de carga. Topología el inversor de agotamiento-carga básico se muestra en Figura 6.28.c. VDD QP iDP Q2 Q2 + V_I iD2 = iD1 Vo iDN VI VDD VDD QN Q1 + V_I (a) iD + V_o + V_I Q1 (b) + V_o (c) Figura 6.28 Modelos de inversor pseudo-NMOS Al principio se esperaba que el NMOS de agotamiento con VGS = 0 operara como fuente de corriente y que por tanto proporcionara un excelente elemento de carga. Sin embargo rápidamente quedo demostrado que el efecto de cuerpo en el transistor de agotamiento hace que su característica i −v se desvié considerablemente de la de una fuente de corriente constante. Obtención de la Característica De Transferencia De Voltaje (VTC) Las características del inversor NMOS se obtienen de la misma forma que se utiliza para CMOS complementarios. Entonces la corriente de drenaje de Q N y Q P están dadas por: 1 2 i DN = k n (v i −Vt )2 , parav 0 ≥ v i −Vt (saturación ) 1 i DN = k n (v i −Vt )v 0 − v 02 , parav 0 ≤ v i −Vt (tríodo ) 2 1 2 196 (1.40) i DP = k p (V DD −Vt )2 , parav 0 ≤Vt (saturación ) 1 i DP = k p (V DD −Vt )(V DD −v 0 ) − (V DD −v 0 ) , parav 0 ≥Vt (tríodo ) 2 (1.39) 2 (1.41) (1.42) ( ) yk En las que se supuso que Vtn =Vtp =Vt y se utilizo k n = k n' W L simplificar el análisis. n p ( L ) para = k p' W p Para obtener la VTC del inversor, se superpone la curva de carga representada por las ecuaciones (1.41) y (1.42) sobre las características i D −V DS de Q N , las cuales pueden ser reetiquetadas como i DN −v 0 y trazadas para varios valores de VGS = v i Semejante construcción grafica se muestra en la Figura 6.29 en la que, para mantener simple el diagrama, se muestran solo las curvas Q N de los dos extremos dev i , o sea 0 yV DD . Enseguida se presentan dos observaciones: 1. La curva de carga representa una corriente de saturación mucho más baja (1.41) que está representada por la curva correspondiente de Q N , es decir con v i =V DD . Este es el resultado del hecho de que el inversor pseudo-NMOS suele diseñarse de modo que k n sea mayor que k p por un factor de 4 a 10. Este inversor es del kn tipo proporcionado y el cociente r = k determina todos los puntos de inflexión p de la VTC, es decir, VOL , V IL , V IH y asi sucesivamente, por tanto determina los márgenes de ruido. La selección de un valor relativamente alto para r reduce a VOL y amplia los márgenes de ruido. 2. Aunque se tiende a pensar que Q p actúa como una fuente de corriente constante, en realidad éste opera en saturación durante solo un pequeño intervalo de v 0 o sea v 0 ≤Vt . Durante el resto del intervalo de v 0 , Q p opera en la región de tríodo. iDN iDP Vi = VDD Curva de carga I estática Vi = 0 E A VOL Vt VDD - Vt VDD V0 Figura 6.29 Curva Característica De Transferencia De Voltaje (VTC) para el inversor de la Figura 6.28.a17 Consideramos primero los dos casos extremos de v i : cuando v i = 0 , Q N se desactiva y Q P opera en la región tríodo, incluso con corriente cero y fuente de voltaje de drenajefuente cero. Por tanto el punto de operación es el designado como A en la Figura 6.29, donde v 0 =VOH =V DD , la corriente estática y la disipación de potencia estática son cero. Cuando v i =V DD , el inversor opera en el punto E de la Figura 6.29 y se observa que a diferencia de los circuitos CMOS complementarios, en este caso VOL no es cero, una desventaja obvia. Otra desventaja es que la compuerta conduce corriente estática en el estado de baja salida y por tanto habrá disipación de potencia estática (PD = I estáticaV DD ) . 17 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 197 Deducción de la VTC La Figura 6.30 muestra la VTC del inversor pseudo-NMOS y sus cuatro regiones distintas de operación, correspondientes a las combinaciones posibles de operación de Q N y Q p . Las regiones se observan en la Tabla 6.1. Región QN Corte QP Condición I Segmento de VTC AB Triodo II BC Saturación Triodo III CD Triodo Triodo v 0 ≥ v i −Vt IV DE Triodo Saturación v i <Vt Vt ≤ v 0 ≤ v i −Vt v i ≤Vt Tabla 6.1 Regiones de operación del inversor pseudo-NMOS. V0 Región l VOH Región ll Pendiente = -1 A B Pendiente = +1 (Vo = Vi) Región lll Región lV C VOL D Pendiente = -1 E Vi VOL Vt VIL VM VIH VOH = VDD Figura 6.30 VTC del inversor pseudo-NMOS18 • Región I (segmento AB): v 0 =V 0H =V DD (1.43) 18 A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. 198 • Región II (segmento BC): Se iguala i DN de la ecuación (1.39) con i DP de la ecuación (1.42), junto con la sustitución de k n = rk p y algunas manipulaciones matemáticas se obtiene: v 0 =Vt + (V DD −Vt ) − r (v i −Vt ) 2 2 (1.44) El valor de V IL se obtiene al diferenciar esta ecuación y sustituir V DD −Vt V IL =Vt + r ( r + 1) ∂V 0 ∂V i = −1 y V =V t IL (1.45) El voltaje de umbral V M (o Vumbral ) es por definición el valor de v i con el cual V M =Vt + V DD −Vt v 0 =v i (1.46) ( r + 1) Por último, el extremo de segmento de la región II (punto C) se encuentra sustituyen- do v 0 = v i −Vt en la ecuación (1.44), la condición para que Q N abandone la saturación y pase a región tríodo. • Región III (segmento CD): Este es un segmento corto que no es de gran interés. El punto D está caracterizado por v 0 =Vt • Región IV (segmento DE): Si se iguala i DN de la ecuación (1.40) con i DP de la ecuación (1.41) y se sustituye k n = rk p se obtiene v 0 = (v i −Vt ) − (V i −Vt ) − 2 1 (V r DD −Vt ) 2 El valor de V IH se puede determinar al diferenciar esta ecuación y establecer V IH =Vt + 2 3r (V DD −Vt ) El valor de VOL se halla sustituyendo v i =V DD en la ecuación (1.47), 1 VOL = (V DD −Vt ) 1 − 1 − r (1.47) ∂V 0 ∂V i = −1 (1.48) (1.49) La corriente estática que conduce el inversor en el estado de salida baja se encuentra con la ecuación (1.41) 1 2 I estática = k n (V DD −Vt ) 2 (1.50) 199 (1.51) Por último, se utilizan las ecuaciones (1.45) y (1.49) para determinar N ML y las ecua- ciones (1.43) y (1.48) para determinar N MH , N ML =Vt − (V DD 1 1 −Vt ) 1 − 1 − − r r ( r + 1) N MH = (V DD −Vt ) 1 − (1.52) 2 3r Finalmente se observa que puesto que la tecnología de proceso determina V DD y Vt , el único parámetro para controlar los valores de VOL y los márgenes de ruido es la relación r. Operación Dinámica El análisis de la respuesta transitoria del inversor para determinar t PLH con el inversor cargado por una capacitancia C es idéntico al del inversor CMOS complementario. La capacitancia será cargada por la corriente i DP ; se puede estimar t PLH utilizando el valor (1.53) V v 0 = DD v = 0 i 2 . El resultado es la expresión aproxipromedio de DP en el intervalo de 0 a mada siguiente donde se tuvo en cuenta Vt ≅ 0.2V DD : t PLH = 1.7C k pV DD (1.54) Y en la descarga del capacitor el caso es diferente porque la corriente i DP tiene que restarse de i DN para determinar la corriente de descarga. El resultado es la expresión aproximada, t PHL = 1.7C 0.46 kn 1 − V r DD La cual, para un valor grande de r se reduce a t PHL = 1.7C k nV DD Aunque las formulas son idénticas a las del inversor CMOS complementario, el inversor pseudo-NMOS tiene un problema especial: como k p es r veces más pequeño que k n , t PLH será r veces más grande que t PHL . En consecuencia el circuito exhibe un desempeño con retraso asimétrico. Sin embargo, se debe recordar que, para compuertas con convergencia de entrada grande, el pseudo-NMOS necesita pocos transistores y por tanto C puede ser mas pequeña que en la compuerta CMOS complementaria correspondiente. 200 Diseño Del Inversor Pseudo-NMOS El diseño implica la escogencia de las relaciones r y (W/L) para uno de los transistores. El valor de (W/L) para otro dispositivo se obtiene entonces mediante r. los parámetros de diseño de interés son VOL , NM L , NM H , I estática , PD , t PLH , t PHL . Algunas consideraciones importantes del diseño son las siguientes: 1. L a relación r determina todos los puntos de inflexión de la curva VTC; cuanto mas grande sea el valor de r , menor es VOL , (ecuación (1.49), y más amplios son los márgenes de ruido (ecuaciones (1.51) y (1.52)), pero una r más grande aumenta la asimetría de la respuesta dinámica y, para una (W/L)n dada, hace más grande la compuerta. Entonces, seleccionar un valor para r representa un término medio entre márgenes de ruido por un lado y area de silicio y t P por el otro. Por lo general, r se selecciona entre 4 y 10. 2. Una vez determinada r , se puede seleccionar un valor para (W/L)n o (W/L)p y determinar la otra. Aquí, seleccionaríamos una pequeña(W/L) n para conservar pequeña el área de compuerta y así obtener un valor pequeño para C . Del mismo modo, una (W/L)p pequeña conserva bajas I estática y PD . Por otra parte, se desea seleccionar (W/L) más grandes para obtener baja t P y por lo tanto rápida respuesta. Para aplicaciones usuales (de alta velocidad), (W/L) p se selecciona de modo que Iestatica se encuentre entre 50 y 100μA, que para V DD = 5V resulta en PD entre 0.25 y 0.5mW. Realización de un inversor CMOS en Microwind y L-edit O bjetivo: Este ejercicio tiene como objetivo enseñar el proceso de diseño que se sigue en la fabricación de circuitos integrados en herramientas CAD para diseño MicroWind y L-Edit y de simulación ORCAD. Proceso de Diseño La metodología a seguir para la elaboración de esta compuerta es la TOP BOTTON, es decir se comienza con una descripción a alto nivel y se llega hasta una descripción a nivel de layout (diagrama que indica la construcción física del dispositivo). En esta sección se realizará la implementación a nivel de layout del circuito inversor. Las herramientas a utilizar serán, en primer lugar Microwind de Ensa Tolouse y L-Edit de Tanner Tools. Lo primero que hay que hacer es correr el programa, pero lo haremos cargando inicialmente un archivo dado por los fabricantes en el cual se definen todos las características del proceso de fabricación, en nuestro caso trabajaremos con la tecnología CNM25 de 2.5µm. 201 Al ejecutar el programa nos aparecerá la siguiente ventana: Para cargar la tecnología, vamos a File – Select Foundry (Ctrl + F). Aquí buscamos el archivo CNM25.rul y lo seleccionamos. Ya seleccionada la tecnología, se podrá dar cuenta que la barra de capas (derecha de la ventana) habrá cambiado ostensiblemente, al igual que el indicador de lambda. 202 Ahora se proseguirá a empezar a diseñar el inversor, primero hacemos el transistor P, y para eso se hará lo siguiente: 1. Sabiendo que el fondo negro es pozo P, vamos a realizar una zona de pozo N para poder crear el transistor P. Por lo tanto seleccionamos en la barra de capas el icono de pozo N , y procedemos a dibujar la zona. 2. Ahora sobre la zona de pozo N, se dibujará una zona de Difusión P. Por lo tanto ahora seleccionamos Difusión P en la barra de capas y ahora la ventana se verá así. 203 3. Para completar el transistor es necesario introducir una capa de polisilicio y los contactos para fuente y drenaje. Por lo tanto de la barra de herramientas damos clic en polisilicio y luego dibujamos para obtener 4. Luego seleccionamos la opción de metal 1 rramientas y obtenemos dibujando 204 en la barra de he- 5. Por último sobre las zonas de metal hacemos la zona de contacto. Seleccionamos contacto en la barra y obtenemos Luego vamos a dibujar el transistor N. A diferencia del anterior, la zona de difusión es de tipo N y no hay necesidad de hacer zona de pozo, ya que el fondo es pozo P como habíamos mencionado anteriormente. Por lo tanto al hacer el transistor tenemos: 205 Para finalizar el inversor seleccionamos metal uno y unimos los contactos pertinentes e introducimos los estímulos y la alimentación . Debemos tener en cuenta que al ser un inversor CMOS, el nivel de alimentación no puede ser menor a 3.3V. Para determinar esto se le da doble clic sobre el estimulo y se modifican sus características. Para revisar errores en el diseño se presiona en el botón Para la simulación tenemos que en el icono dominio del tiempo. Para este circuito obtenemos: 206 podemos ver una simulación en el Ahora para mirar cómo funciona una determinada zona del elemento (cruce entre polisili, seleccionamos la zona y obtenemos: I d vs V d cio y alguna difusión), tomamos la opción Id vs Vd 207 A continuación vamos a explicar el procedimiento en L-Edit. Luego de correr el programa obtenemos una ventana de este estilo En esta ventana podemos identificar: el menú principal (parte superior), la barra de herramientas (izquierda y parte superior), el área de edición (parte central) y el área de comandos (parte inferior). El primer paso es introducir la tecnología que al igual que en el caso anterior es la CNM25. Para esta herramienta el archivo es de extensión .ext. Para esto en la barra de herramientas tenemos el siguiente icono que es design rules setup a donde buscaremos el archivo. Luego de introducir las reglas nos aparecerá la ventana principal de la siguiente forma: 208 El segundo paso para la realización del transistor es crear los cortes de contacto, en todas las tecnologías las dimensiones mínimas de los cortes de contacto son las que identifican a la tecnología, en nuestro caso 1.25µm. Para dibujar estos cortes de contacto se debe seleccionar el icono de la barra de herramientas y seleccionar el cuadro negro del cuadro de capas disponibles, y con el mouse dibujar un cuadro de 2.5µm x 2.5µm. Para saber de las dimensiones de los objetos que se están dibujando, en la parte inferior de la ventana se observa un mensaje que nos indica la capa sobre la que se está trabajando y las dimensiones (en micras) del objeto seleccionado. Obsérvese que cuando se selecciono el icono de la barra de herramientas los mensajes en la ventana Mouse Buttons (parte izquierda) cambiaron, estos mensajes nos indican las acciones del mouse, al hacer clic con el botón derecho y con el botón izquierdo, el caso mostrado en la figura indica que con el botón izquierdo se dibuja, con el de la mitad se mueven y con el derecho se seleccionan objetos. A diferencia de MicroWind este programa trabaja sobre zonas activas por lo tanto se debe construir el inversor de la siguiente forma: 209 Hasta este momento lo único que hemos dibujado es la estructura básica de un transistor, pero nos falta definir el tipo de transistor ya sea de canal N o canal P. Debido a que esta es una tecnología con Sustrato P, se pueden crear transistores de canal N directamente sobre el sustrato, pero las regiones de drenaje y fuente deben estar dopadas N, para lo cual se debe agregar una capa adicional a la estructura del transistor, esta capa y es la que diferencia el tipo de transistor. A tiene como nombre Implantación n+ continuación dibujamos el transistor de canal P, tal y como se muestra en la siguiente figura. Como puede observarse no se dibuja ningún implante sobre el área activa, Esto porque se ha dibujado el pozo transistor de canal P. 210 , al dibujar el pozo, el programa ya sabe que hay un Una herramienta muy útil de L-Edit es el extractor, esta herramienta permite generar un archivo tipo PSpice de nuestro diagrama. Para utilizar esta herramienta seleccionamos Extract del menú Tools, entonces aparecerá la siguiente pantalla: En la casilla Ex- tract Definition File se debe colocar el PATH completo de la ubicación del archivo CNM25. ext (suministrado por el fabricante), y en la casilla SPICE Extract Output File el nombre del archivo de salida. El archivo CNM25.ext contiene información necesaria para realizar la extracción, es un archivo de texto plano y contiene lo siguiente: # File: CNM25.ext # For: Extractor definition file # CNM (IMB-CSIC) June 1996 # connect(Polisilicio 1,Metal,Contacto) connect(Polisilicio 0,Metal,Contacto) connect(EXT-Difusion n+,Metal,Contacto) connect(EXT-Difusion p+,Metal,Contacto) # Contacto de substrato connect(EXT-Substrato,Metal,EXT-Contacto de subs.) # Contacto de pozo connect(Pozo n,Metal,EXT-Contacto de pozo) # Transistor NMOS device = MOSFET( RLAYER = EXT-Transistor n; Drain = EXT-Difusion n+,WIDTH; Gate = Polisilicio 1; 211 Source = EXT-Difusion n+,WIDTH; Bulk = EXT-Substrato; MODEL = NMOS; ) # Transistor PMOS device = MOSFET( RLAYER = EXT-Transistor p; Drain = EXT-Difusion p+, WIDTH; Gate = Polisilicio 1; Source = EXT-Difusion p+, WIDTH; BULK = Pozo n; MODEL = PMOS; ) # Capacidad device = CAP( RLAYER = EXT-Capacidad poly; Positive = Polisilicio 1; Negative = Polisilicio 0; MODEL =; ) Como se puede observar en este archivo se definen las capas que deben estar presentes para formar los diferentes dispositivos. El archivo Inversor.spc se encuentra localizado en el sitio desde donde se invoco ledit.exe por primera vez y contiene la siguiente información (el formato es texto plano, por lo que se puede observar con cualquier notepad.exe o con write): * Circuit Extracted by Tanner Research’s L-Edit V5.13 / Extract V2.06 ; * TDB File cnm25\cnm25, Cell Cell0, Extract Definition File D:\cain\CNM25.ext ; M1 10 3 11 4 PMOS L=2.5U W=5U * M1 Drain Gate Source BULK (34 77 44 97) A = 12.5, W = 5 .MODEL NMOS .MODEL PMOS M2 8 3 9 7 NMOS L=2.5U W=5U * M2 Drain Gate Source Bulk (34 21 44 41) A = 12.5, W = 5 * Total Nodes: 7 ; * Total Elements: 2 ; * Extract Elapsed Time: 1 seconds ; .END 212 En este archivo podemos identificar varias secciones, la primera es el encabezado, Spice siempre tomará la primera línea del archivo como comentario y lo utiliza para desplegar el nombre del archivo que está simulando, por esta razón la primera línea de un archivo tipo Spice debe ser un comentario. La siguiente sección contiene la información del circuito. La línea: M1 10 3 11 4 PMOS L=2.5U W=5U Nos indica que existe un transistor PMOS (nn Spice los nombres de los transistores MOS deben empezar por M) conectado entre los nodos 10, 3, 11 y 4 que corresponden al drenaje (10), compuerta (3), fuente (11) y sustrato o cuerpo (4). La siguiente línea donde aparece un transistor es: M2 8 3 9 7 NMOS L=2.5U W=5U Lo cual nos indica que es un transistor NMOS, observe que la compuerta está conectada al nodo 3 al igual que el transistor PMOS. Las líneas que comienzan con un asterisco (*) son comentarios y pueden eliminarse. Hasta el momento el circuito que hemos extraído no es un inversor ya que faltan las conexiones de drenaje y fuente de los transistores, por tanto, procedemos a terminar nuestro circuito de la siguiente forma: A continuación debemos colocar nombres a los nodos para poder ubicarlos fácilmente a la hora de realizar la simulación del circuito. Para lograr esto hacemos clic en , seleccionar la capa en la que queremos poner el nombre, en nuestro caso metal y dibujamos un cuadrado (pequeño) sobre el nodo que queremos nombrar, enseguida aparecerá la siguiente ventana: 213 En la casilla Name colocamos el nombre, la casilla Text Size nos indica el tamaño de la letra. Al hacer click en OK en la parte inferior de la pantalla debe aparecer un mensaje como: Indicando que existe en nodo llamado VCC sobre la capa de Metal. Debemos realizar esta operación hasta tener nuestro circuito tal y como aparece en la siguiente figura: 214 En este punto debemos realizar nuevamente la extracción de nuestro circuito, pero esta vez debemos seleccionar la casilla Write Node Names para permitir la escritura de los nombres de los nodos. El archivo Inversor.spc debe contener la siguiente información: * Circuit Extracted by Tanner Research’s L-Edit V5.13 / Extract V2.06 ; * TDB File cnm25\cnm25, Cell Cell0, Extract Definition File D:\cain\CNM25.ext ; M1 11 3 9 11 PMOS L=2.5U W=5U * M1 Drain Gate Source BULK (34 77 44 97) A = 12.5, W = 5 * Node 11 = Cell0\VCC VCC * Node 12 = Cell0\GND GND * Node 9 = Cell0\OUT OUT * Node 3 = Cell0\IN IN .MODEL NMOS .MODEL PMOS M2 12 3 9 12 NMOS L=2.5U W=5U * M2 Drain Gate Source Bulk (34 21 44 41) A = 12.5, W = 5 * Total Nodes: 4 ; * Total Elements: 2 ; * Extract Elapsed Time: 2 seconds ; .END Como podemos observar en este archivo aparecen los nombres de los nodos. Este archivo contiene dos líneas que nos indican el tipo de modelo que vamos a utilizar, Spice utiliza modelos eléctricos para realizar la simulación, si no se indica un modelo, Spice asignará uno, pero los fabricantes siempre incluyen modelos de simulación tipo Spice los cuales contienen los parámetros para la tecnología. CNM provee tres modelos de simulación llamados slow, typ y fast la diferencia entre los tres está en la velocidad del transistor, en nuestro caso utilizaremos los que presentan tiempos de respuesta promedio (typ.md). Adicionalmente, CNM provee dos archivos de modelos tipicos: typ2.md y tip3.md, la diferencia entre los dos es el nivel de simulación, Spice permite tres modelos de simulación y se diferencian en el método utilizado para obtener la respuesta, el nivel 3 es el más preciso de los tres y es el que utilizaremos en nuestros ejercicios. Para incluir los modelos del fabricante en nuestro archivo inversor.spc debemos abrir el archivo typ3.md: .model PMOS PMOS LEVEL = 2 + TOX = 380E-10 VTO = -1.139 + UCRIT = 1E4 UEXP = .1159 + DELTA = 1.824 RS = 134.9 NSUB = 1.355E16 UO = 212.7 NFS = 662.4E9 WD = .4268E-6 LD = .8101E-6 XJ = 2.783E-9 + VMAX = 120.3E3 NEFF = .06665 CJ = 3.816E-4 MJ = .3499 + CJSW = 7.384E-10 MJSW = .3916 PB = .56 215 .model NMOS NMOS LEVEL = 2 + TOX = 380E-10 VTO = .9418 NSUB = 2.639E16 UO = 648.2 + UCRIT = 1E4 UEXP = .06857 NFS = 710.8E9 WD = .4086E-6 + DELTA = 2.2 RS = 93.77 LD = .9132E-6 XJ = .0824E-6 + VMAX = 59.62E3 NEFF = 1.479 CJ = 3.495E-4 MJ = .3950 + CJSW = 5.952E-10 MJSW = .2941 PB = .65 y copiar los modelos correspondientes a los transistores NMOS y PMOS, que deben incluirse en el archivo inversor.spc antes de cualquier declaración de transistores, es decir antes de cualquier línea que comience con M. El archivo inversor.spc debe quedar de la siguiente forma: * Circuit Extracted by Tanner Research’s L-Edit V5.13 / Extract V2.06 ; * TDB File cnm25\cnm25, Cell Cell0, Extract Definition File D:\cain\CNM25.ext ; .model PMOS PMOS LEVEL = 2 + TOX = 380E-10 VTO = -1.139 NSUB = 1.355E16 UO = 212.7 + UCRIT = 1E4 UEXP = .1159 NFS = 662.4E9 WD = .4268E-6 + DELTA = 1.824 RS = 134.9 LD = .8101E-6 XJ = 2.783E-9 + VMAX = 120.3E3 NEFF = .06665 CJ = 3.816E-4 MJ = .3499 + CJSW = 7.384E-10 MJSW = .3916 PB = .56 .model NMOS NMOS LEVEL = 2 + TOX = 380E-10 VTO = .9418 NSUB = 2.639E16 UO = 648.2 + UCRIT = 1E4 UEXP = .06857 NFS = 710.8E9 WD = .4086E-6 + DELTA = 2.2 RS = 93.77 LD = .9132E-6 XJ = .0824E-6 + VMAX = 59.62E3 NEFF = 1.479 CJ = 3.495E-4 MJ = .3950 + CJSW = 5.952E-10 MJSW = .2941 PB = .65 M1 11 3 9 11 PMOS L=2.5U W=5U * M1 Drain Gate Source BULK (34 77 44 97) A = 12.5, W = 5 * Node 11 = Cell0\VCC VCC * Node 12 = Cell0\GND GND * Node 9 = Cell0\OUT OUT * Node 3 = Cell0\IN IN M2 12 3 9 12 NMOS L=2.5U W=5U * M2 Drain Gate Source Bulk (34 21 44 41) A = 12.5, W = 5 * Total Nodes: 4 ; * Total Elements: 2 ; * Extract Elapsed Time: 2 seconds ; .END Note que fueron eliminadas las líneas: .MODEL NMOS .MODEL PMOS 216 Hasta el momento solo hemos incluido en nuestro archivo tipo Spice los elementos pasivos del circuito, falta incluir las fuentes de alimentación. Spice permite la declaración de fuentes independientes y dependientes de voltaje y de corriente, en VLSI sólo utilizaremos dos tipos de fuentes independientes de voltaje: Vnombren+ n- Valor DC Esta fuente produce un valor DC constante, especial para utilizar como fuente de alimentación. Vnombren+ n- PULSE(V1 V2 td tr tf PW T) PW V2 V1 td tf tr T Esta fuente genera pulsos de voltaje, ideal para utilizarse en la generación de las señales de entrada. Por lo tanto debemos incluir las siguientes líneas a nuestro archivo inversor.spc *Fuente de Alimentación de 10 V entre el nodo VCC y el nodo 0 VCC 11 0 10 *Fuente de Alimentación de 0V entre el nodo GND y el nodo 0 VGND 12 0 0 *Fuente que genera una señal cuadrada de periodo 200ns. VIN 3 0 PULSE(0 5 0 10ns 10ns 80ns 200ns) Debido a que Spice siempre realiza las simulaciones con respecto al nodo de referencia 0, se debe conectar la tierra de nuestro circuito (nodo 12) al nodo de referencia, esto se logra colocando una fuente de 0V entre los nodos 12 y 0. En este punto el circuito está completo, solo falta incluir el tipo de análisis y el tiempo de simulación. Para lograr esto debemos abrir el programa Pspice AD Demo. 217 A continuación debemos abrir nuestro archivo Inversor.spc A continuación debemos crear un perfil de simulación para nuestro circuito, seleccionamos New Simulation Profile del Menú File: A continuación nos aparecerá la siguiente ventana: 218 En la casilla Profile name debemos colocar el nombre con el que identificamos nuestra simulación y en la casilla Inherit from an existing profile: debemos seleccionar el archivo de simulación del circuito a nivel de transistores y hacemos click en Create. 219 CAPÍULO 7 Lógica Combinatoria en CMOS Introducción L a tecnología que actualmente domina el mundo de los sistemas digitales es la CMOS, debido a sus características de bajo consumo de potencia, alta impedancia de entrada y por los niveles de integración a los que se ha llegado con esta. Dentro de la familia CMOS se pueden encontrar cuatro configuraciones diferentes para implementar una función lógica, a saber: complementaria CMOS, pseudo-NMOS, lógica de transistor de paso, y lógica dinámica. La configuración complementaria CMOS presenta un mejor desempeño en casi cualquier aplicación ya que tiene alta inmunidad al ruido, no tiene consumo de potencia estática, y puede diseñarse para que tenga retardos de propagación iguales de subida y de bajada. Su desventaja principal es la cantidad de transistores requeridos, dos por cada entrada, que en el caso de compuertas de alto fan-in consume mucha área en la oblea de silicio y aumenta la capacitancia total, y por ende, el retardo de propagación y la disipación de potencia dinámica. Los pseudo-NMOS reducen la cantidad de transistores necesarios a cambio de un mayor consumo de potencia estática. La lógica de transistor de paso genera circuitos simples que ocupan una pequeña área, pero sólo son útiles en aplicaciones especiales y requieren de un inversor complementario para restablecer los niveles lógicos, en especial cuando se usan transistores NMOS simples. Finalmente, la lógica dinámica requiere de un transistor adicional en comparación con las pseudo-NMOS, si embargo, reduce la disipación de potencia estática a cero, y permite un funcionamiento de la compuerta lógica en alta impedancia. Cuando se conectan compuertas lógicas entre sí con el fin de generar una determinada salida específica para determinadas combinaciones de las variables de entrada, sin que haya implicado almacenamiento de información, el circuito resultante se califica como lógica combinatoria. En la lógica combinatoriael nivel de salida depende siempre de la combinación de niveles de entrada instantáneos. En el presente documento se exponen cuatro tipos de configuraciones mediante las cuales se pueden implementar circuitos combinatoriosde toda clase. 223 Lógica combinatoria en CMOS Historia La lógica CMOS fue creada en 1963 por Frank Wanlass, quién trabajaba para la empresa Fairchild Semiconductor; posteriormente se fabricaron los primeros circuitos CMOS en el año de 1968, en un grupo de la empresa RCA dirigido por Albert Medwin. Originalmente apareció como una alternativa lenta y de bajo consumo de potencia para la tecnología TTL, pero encontró aplicaciones en la industria de los relojes y en otro tipo de utilizaciones donde la duración de las baterías era más importante que la velocidad. Más de treinta años después, CMOS se ha convertido en la tecnología predominante para la fabricación de circuitos integrados dado que factores tales como el área que ocupa el chip, la velocidad de operación, la eficiencia en el consumo de energía y los costos de manufactura mejoran cada día más debido a la disminución de las dimensiones de los transistores que viene asociada con cada nueva generación de procesos de fabricación de semiconductores. Adicionalmente, la simplicidad de los circuitos CMOS ha permitido densidades de integración imposibles de alcanzar con las tecnologías basadas en los transistores bipolares; inicialmente, los circuitos CMOS eran muy susceptibles al daño por descarga electrostática (ESD), por tanto, las siguientes generaciones de circuitos fueron equipadas con circuitos sofisticados de protección que ayudan a absorber las cargas eléctricas y evitan daños en los frágiles óxidos de compuerta y en las junturas PN. Sin embargo, se siguen teniendo precauciones en el manejo de estos circuitos para prevenir la aparición de excesivas cantidades de energía. Lógica combinatoria La mayoría de compuertas lógicas en circuitos integrados digitales usan la lógica complementaria CMOS o la lógica estática CMOS, ya que estos dos estilos tienen buenos márgenes de diseño, son rápidos, de baja potencia, insensibles a variaciones en los transistores, fáciles de diseñar, ampliamente soportados por herramientas CAD comerciales y están disponibles en librerías de celdas estándar. En realidad muchas metodologías ASIC permiten solo circuitos complementarios CMOS e incluso los diseños “custom” usan lógica CMOS estática para implementar el 95% de su parte lógica. Otra ventaja de la lógica estática CMOS es su robustez frente a los cambios de las dimensiones de los transistores, lo que asegura una operación confiable a bajos voltajes y garantiza el uso de transistores con dimensiones arbitrarias; adicionalmente, las señales de entrada solo se conectan a las compuertas de los transistores, con lo que se facilita la caracterización de las celdas lógicas. El layout de los circuitos CMOS es sencillo y eficiente debido a los pares de transistores complementarios, y cuando las entradas son correctas el circuito combinatorio producirá la salida correcta, mientras no hallan errores en el diseño lógico o en el proceso de manufactura. Uno de los aspectos más importantes de la tecnología CMOS es la capacidad que provee al diseñador para crear circuitos lógicos que puedan implementar funciones for- 224 madas por varias operaciones lógicas básicas; esto hace que el diseño CMOS sea bastante diferente a las técnicas clásicas de diseño digital, ya que las expresiones lógicas y sus correspondientes circuitos están estrechamente relacionados. Compuertas lógicas estáticas U na compuerta lógica estática es aquella que tiene salidas bien definidas una vez las entradas se han estabilizado y los estados transitorios producidos por la conmutación han desaparecido; en este tipo de circuitos lógicos cada nodo tiene un camino de baja resistencia hacia la fuente de voltaje o hacia tierra en cualquier instante de tiempo, del mismo modo, el voltaje de cada nodo está bien definido para todo instante de tiempo y ningún nodo se deja flotando. Los circuitos lógicos estáticos no necesitan señales de reloj para su operación, aunque se pueden presentar este tipo de señales para otros propósitos. Crear estructuras AND y OR usando transistores MOSFET es un proceso sencillo que se puede llevar a cabo ubicando transistores nmos y pmos en serie (Figura 7.1, AND) o en paralelo (Figura 7.2, OR). a b Figura 7.1 Estructura AND implementada con: a. nmos y b. pmos. a b Figura 7.2 Estructura OR implementada con: a. nmos b. pmos. 225 En la Figura 7.3 se observa una estructura AND implementada con transistores nmos, en la cual la fuente de uno de los transistores está conectada tierra; teniendo en cuenta que un transistor nmos se enciende cuando un uno lógico se aplica a su terminal de com___ puerta, la expresión lógica implementada es F = AB , lo que implica que la salida será un cero lógico cuando las dos entradas están en uno lógico. Esto se conoce comúnmente como la estructura análoga; si las entradas a las compuertas son un uno lógico, entonces el nodo de salida de la estructura AND quedará conectado a tierra, pero si cualquiera de las dos entradas está en cero lógico entonces no habrá un camino entre la salida y tierra, dado que los dos transistores no estarán encendidos al mismo tiempo. En la tecnología CMOS, se necesita una estructura de transistores complementaria para conectar el nodo de salida con la fuente de voltaje. La expresión y la configuración de los transistores de esta red complementaria se obtienen por medio del teorema de DeMorgan. F A B Figura 7.3 Estructura de transistores nmos que implementa la expresión ___ F = AB Crear un inversor CMOS sólo requiere un transistor nmos y un pmos; el transistor nmos provee el interruptor que conecta la salida a tierra cuando la entrada es un uno lógico, mientras que el transistor pmos provee la conexión a la fuente de voltaje cuando la entrada al circuito del inversor es un cero lógico. Los circuitos lógicos combinatorios se construyen tomando como base el inversor de la Figura 7.4, en el cual los transistores pmos y nmos actúan como simples interruptores; en este caso, el voltaje de entrada controla los modos de conducción de los dos transistores: cuando el voltaje de entrada tiene un nivel lógico bajo, el transistor pmos conduce y la salida queda conectada al voltaje de fuente VDD, mientras que un nivel lógico alto en la entrada hace que el transistor nmos conduzca, conectando la salida a tierra. Vdd IN OUT Figura 7.4 Inversor CMOS 226 El comportamiento del inversor provee la base para la construcción de circuitos lógicos usando arreglos de MOSFETs, los cuales van conectados de tal manera que las entradas controlen la conexión de la salida a tierra o al voltaje de la fuente V DD ; al igual que en el inversor, solo puede existir una trayectoria de conducción en un tiempo dado, con lo que se elimina la posibilidad de que el voltaje de la fuente y tierra sean conectados a la salida de manera simultánea. El caso opuesto se genera cuando la salida queda desconectada, lo cual no es deseable en un circuito lógico pero es útil cuando se necesita aislar el circuito, dando como resultado la lógica tri-estado. Para construir un circuito lógico se reemplaza el transistor n del inversor por una red de transistores nmos conectados de tal forma que operen simulando un gran interruptor, de igual forma, una red de transistores pmos reemplaza al transistor p del inversor, generando otro gran interruptor para conectar la salida al voltaje de fuente. Sin embargo, es necesario tener cuidado a la hora de conectar los transistores para poder asegurar un correcto funcionamiento eléctrico, dado que la forma en que opera la red p debe complementar el funcionamiento de la red n, consiguiendo que cuando una red se comporte como un interruptor cerrado, la otra red este abierta. La estructura general de un circuito lógico puede ser generada con los siguientes pasos: 1. Se asigna un par complementario (un transistor nmos y un transistor pmos con las compuertas conectadas entre sí) para cada entrada. 2. Se genera una red de transistores nmos que conecte la salida a tierra de acuerdo a la función lógica a implementar. 3. Se genera una red de transistores pmos que conecte la salida a V DD de acuerdo a la función lógica a implementar. 4. Se diseñan las redes nmos y pmos, también conocidas como PDN y PUN, respectivamente, de tal forma que solo una se comporte como un interruptor cerrado para todas las posibles combinaciones de las entradas. De esta manera obtenemos un esquema general como el que se muestra en la figura 5 para un circuito combinatorio de tres entradas. CMOS nos brinda un poderoso método para la construcción de complicadas redes digitales de una manera muy eficiente, permitiendo la existencia de una gran variedad de estilos en el diseño de circuitos lógicos, lo que a su vez proporciona una considerable cantidad de opciones al diseñador. VDD In1 In2 In3 PUN In1 In2 In3 PDN PMOS Only NMOS Only VSS Figura 7.5 Estructura general de un circuito lógico combinatorio CMOS con tres entradas 227 Diseño Para el proceso de diseño iniciamos con una compuerta NOR de dos entradas, cuya función lógica es: F = A +B De la expresión anterior podemos ver que la salida estará en cero lógico cuando A está en uno lógico o cuando B está en uno lógico, por tanto, la PDN estará formada por dos transistores nmos en paralelo con entradas A y B. Para la red PUN, usamos el teorema de DeMorgan y expresamos la función lógica de esta manera: ___ ___ F = AB Concluimos que la salida estará en uno lógico cuando tanto A como B estén en cero lógico; esto indica que la PUN estará formada por dos transistores pmos conectados en serie con A y B como entradas. A B F Figura 7.6 Esquemático de la compuerta NOR Figura 7.7 Layout de capas de la compuerta NOR 228 4.0V 2.0V 0V V(6) 4.0V 2.0V 0V V(7) 4.0V 0V SEL» -4.0V 0s 0.5Ds 1.0Ds 1.5Ds V(3) 2.0Ds 2.5Ds 3.0Ds 3.5Ds 4.0Ds Tiempo Figura 7.8 Simulación de la compuerta NOR usando tecnología de 0.25 μm. Las señales aparecen de arriba hacia abajo en el siguiente orden : A, B, F. Tiempos obtenidos en la simulación de la compuerta: T ph = 74.12ps T pl = 84.12ps Tr = 68.20 ps Tf = 56.79 ps nmos_S 1.20 1.10 1.00 0.90 0.80 0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00 B 0.20 0.40 0.60 0.80 1.00 Figura 7.9 Característica de transferencia de voltaje de la compuerta NOR 229 Ahora consideramos una compuerta NAND de dos entradas, cuya función lógica es F = A +B Para construir un circuito CMOS que genera esta función empleamos dos pares complementarios, uno por cada una de las entradas A y B, y creamos las redes PUN y PDN de acuerdo a las salidas que requiere la compuerta; primero es necesario notar que hay un solo caso en el que la salida del circuito estará en cero lógico, esto sucede cuando las dos entradas están en uno lógico. Como la red PDN es la que conecta el nodo de salida con tierra, esta red estará formada por dos transistores nmos conectados en serie, por otra parte, si cualquiera de las dos entradas está en cero lógico, el voltaje de salida será un uno lógico, indicando en este caso que el nodo de salida debe estar conectado a la fuente de voltaje, lo que corresponde a la siguiente expresión: __ F =A B A F B Figura 7.10 Esquemático de la compuerta NAND Figura 7.11 Layout de capas de la compuerta NAND 230 4.0V 2.0V 0V V(6) 4.0V 2.0V 0V 4.0V V(7) 0V SEL» -4.0V 0s 0.5Ds 1.0Ds 2.0Ds 1.5Ds V(3) 2.5Ds 3.5Ds 3.0Ds 4.0Ds Tiempo Figura 7.12 Simulación de la compuerta NAND usando tecnología de 0.25 μm. Las señales aparecen de arriba hacia abajo en el siguiente orden : A, B, F Tiempos obtenidos en la simulación de la compuerta: T ph = 63.42ps T pl = 45.69 ps Tr = 39.80 ps Tf = 62.50 ps pmos_F 5.00 4.00 3.00 2.00 1.00 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 A 4.00 4.50 Figura 7.13 Característica de transferencia de voltaje de la compuerta NAND. 231 En el siguiente ejemplo, considerando funciones lógicas más complejas, vamos a diseñar una red que implemente la expresión: F = A B +C En este caso, si AB=1 o C=1, el nodo de salida estará conectado a tierra a través de un camino de conducción formado por transistores nmos, por otra parte, si C=0 y A=0 ó B=0, entonces los transistores pmos generarán un camino de conducción entre la fuente de voltaje y el nodo de salida, proporcionando un nivel lógico alto a la salida del circuito combinatorio. La red PDN estará dada por la expresión: __ F = A B +C La red PUN estará dada por la expresión: F = A B +C F = A BC F = ( A +B )C En este ejemplo podemos observar que los transistores nmos con variables de entrada A y B están en serie, por lo que los transistores pmos con entradas A y B deben estar en paralelo. Siguiendo con el mismo análisis, vemos que el transistor nmos con entrada C está en paralelo con el grupo de transistores nmos con entradas A y B, por lo que el transistor pmos con entrada C debe estar en serie con el grupo de transistores pmos que tienen como entradas A y B (Figura 7.14). Por tanto, podemos observar que la forma en que conectamos los transistores es muy útil durante el proceso de diseño ya que una compuerta lógica puede ser diseñada construyendo primero la red PDN de tal forma que cumpla con la función lógica y, una vez hemos conectado los transistores nmos de esta red, los transistores pmos de la red PUN pueden ser conectados aplicando las conexiones equivalentes serie-paralelo de la red PDN. En general, el proceso de diseño serie-paralelo debe iniciarse en el bloque más pequeño de transistores, y luego extenderse hasta que cubramos la red completa. A B C F Figura 7.14 Esquemático del circuito que implementa la función 232 F = A B +C Figura 7.15 Layout de capas del circuito que implementa la función F = A B +C Los tiempos obtenidos en la simulación de la compuerta (Figura 7.16) son: Tr = 159.1 ps Tf = 145.5ps 4.0V 2.0V 0V V(9) 4.0V 2.0V 0V V(8) 4.0V 2.0V 0V V(7) 4.0V 0V SEL» -4.0V 0s 2 Ds V(5) 4 Ds 6 Ds 8Ds 10Ds 12Ds 14Ds 16Ds 18Ds 20Ds Tiempo Figura 7.16 Simulación de la función F = A B + C usando tecnología de 0.25 μm. Las señales aparecen de arriba hacia abajo en el siguiente orden : A; B; C; D, F. 233 Continuando con el mismo proceso podemos construir una compuerta EXOR partiendo de su función lógica: __ __ F = AB + AB Con esta expresión debemos obtener directamente la red PUN ya que la función no se puede simplificar más usando la ley de DeMorgan, pero como esta expresión no está dada solo en términos de las variables complementadas, necesitamos inversores para las variables no complementadas; de manera equivalente, necesitamos usar inversores para las variables complementadas que aparezcan en la expresión de la red PDN. Para la red PDN podemos usar la siguiente expresión: __ __ _ _ F = A B + AB Esta ecuación se obtiene aplicando la ley de DeMorgan, pero si usamos la metodología de obtener la red PDN de manera dual, cambiando las conexiones serie paralelo de la red PUN obtenemos conexiones distintas, sin embargo, cualquiera de los dos circuitos implementará correctamente la función lógica. En el esquemático de esta compuerta vemos que necesitamos 12 transistores (Figura 7.17), 8 de los cuales se emplean para las redes PDN y PUN, mientras que los restantes 4 se utilizan en la implementación de los inversores que se necesitan para satisfacer los requerimientos de la red de transistores formada por la unión de las redes PDN y PUN. A F B Figura 7.17 Esquemático de la compuerta EXOR. 234 Figura 7.18 Layout de capas de la compuerta XOR Los tiempos obtenidos en la simulación de la compuerta (Figura 7.19) son: T ph = 150.67 ps T pl = 178.43ps Tr = 145.4 ps Tf = 104.6 ps 4.0V 2.0V 0V 4.0V V(11) 2.0V 0V 4.0V V(12) 0V SEL» -4.0V 0s 0.5Ds V(5) 1.0Ds 1.5Ds 2.0Ds Tiempo 2.5Ds 3.0Ds 3.5Ds 4.0Ds Figura 7.19 Simulación de la compuerta EXOR usando tecnología de 0.25 μm. Las señales aparecen de arriba hacia abajo en el siguiente orden : A, B, F 235 nmos_S 1.20 1.10 1.00 0.90 0.80 0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00 B 0.20 0.40 0.60 0.80 1.00 Figura 7.20 Característica de transferencia de voltaje de la compuerta EXOR Por último consideremos una compuerta lógica con cinco entradas, cuya función lógica es: F = A(B + C ) + DE De esta expresión lógica podemos ver que F tendrá un nivel lógico bajo si simultáneamente D y E están en uno lógico, o si A está en uno lógico y B o C tienen un nivel lógico alto, por tanto podemos extraer la red PDN de la siguiente expresión: __ F = A (B + C ) + D E Para obtener la PUN necesitamos expresar F en términos de las variables complementadas mediante la aplicación de la ley de DeMorgan las veces que sean necesarias: F = A (B + C ) + D E F = A ( B + C ) (D E ) F = ( A + B + C )(D + E ) F = ( A + BC )(D + E ) De la última expresión concluimos que F es un uno lógico si A o B y C están en cero lógico y D o E están en cero lógico. De esta manera la función lógica aparece implementada con transistores MOSFET en la Figura 7.21. 236 A B C D E Figura 7.21Esquemático del circuito que implementa la función F = A(B + C ) + DE Figura 7.22 Layout de capas del circuito que implementa la función F = A(B + C ) + DE 237 4.0V 2.0V 0V V(10) 4.0V 2.0V SEL» 0V V(11) 4.0V 2.0V 0V 0s 4Ds 8 Ds 12Ds 16Ds 20Ds 24Ds 28Ds 32Ds Tiempo V(9) Figura 7.23 imulación de la función F = A(B + C ) + DE usando tecnología de 0.25 μm. Las señales aparecen de arriba hacia abajo en el siguiente orden: A; B; C. 4.0V 2.0V 0V V(13) 4.0V 2.0V SEL» 0V V(12) 4.0V 0V -4.0V 0s 4Ds V(6) 8 Ds 12Ds 16Ds 20Ds 24Ds 28Ds 32Ds Tiempo Figura 7.24 imulación de la función F = A(B + C ) + DE usando tecnología de 0.25 μm. Las señales aparecen de arriba hacia abajo en el siguiente orden: D, E, F. Los tiempos obtenidos en la simulación de la compuerta son: Tr = 135.2ps Tf = 116.1 ps 238 Dimensiones de los transistores Los circuitos lógicos combinatorios tienen la característica de que la función de salida está determinada únicamente por la topología del circuito. Interconectar los transistores de una manera correcta es una condición suficiente para fijar las características DC de VOL = 0V y VOH =V DD . Las dimensiones de los transistores lo que determinan es el valor de los voltajes de conmutación para varias combinaciones de entrada, sin embargo, la mayor parte de los problemas de diseño y de dimensiones se centran en los tiempos de conmutación, dado que el uso de transistores MOSFET conectados en serie introduce retardos que son intrínsecos al estilo de diseño empleado. Cuando se analizan los transitorios de salida, podemos notar que: La red PUN de transistores pmos fija el valor de t LH . La red PDN de transistores nmos fija el valor de t HL . En general, solo estamos interesados en estimar los valores que se producirían en el peor caso, lo que implica que debemos concentrarnos en la cadena más larga de transistores MOSFET conectados en serie para cado caso, pues estas cadenas producirán las constantes de tiempo más largas. Una vez hemos generado un circuito combinatorio CMOS, el único paso importante de diseño que queda por hacer es decidir la relación W/L de todos los transistores; estas relaciones usualmente se seleccionan de tal forma que proporcionen a la compuerta la capacidad de manejo de corriente en ambas direcciones, siendo esta capacidad igual a la del circuito inversor básico. Para el diseño básico del inversor, se tiene en cuenta que la relación del transistor nmos es: W =n L (1.1) Donde 1.5 ≤ n ≤ 2 , mientras que la relación del transistor pmos, para tener un diseño equilibrado (matcheddesign), se escoge como: µ W = p =n n µ L p (1.2) De esta manera se tiene que p>n así,deseamos seleccionar relaciones W/L individuales para todos los transistores de una compuerta lógica de tal forma que la red PDN sea capaz de proveer una corriente de descarga del capacitor, que sea al menos igual a la del transistor nmos con W/L= n, y que la red PUN sea capaz de proveer una corriente de carga al menos igual a la del transistor pmos con W/L=p.Lo anterior garantizará un retardo de compuerta igual al del inversor básico en el peor caso, asumiendo que la capacitancia total efectiva C de la compuerta lógica es la misma que la del inversor. En la práctica, el valor de C será más grande para una compuerta que para el inversor, especialmente cuando el fan-in aumenta. La idea del peor caso significa que cuando decidimos las dimensiones del transistor, debemos encontrar las combinaciones de las entradas que generen la corriente de salida 239 más baja y luego debemos escoger las dimensiones que harán que esta corriente sea igual a la del inversor básico. Para determinar la capacidad de manejo de corriente de un circuito combinatorio compuesto por varios transistores MOSFET, necesitamos encontrar la relación equivalente W/Lde esta red de transistores y para ello consideramos las conexiones serie y paralelo de los transistores; luego nos basamos en el hecho de que la resistencia de encendido de un MOSFET ( rds , resistencia de drenador a fuente) es inversamente proporcional a la relación W/L. Por tanto, si se conectan en serie n transistores, la resistencia serie equivalente se obtiene sumando las resistencias de encendido de cada transistor, lo que genera el siguiente resultado: RS = rds 1 + rds 2 + + rdsn k k k 1 = + + + =k W W W W L L1 L2 Ln RS = k W L EQ + 1 ( ) (W L ) 1 2 + + W L n 1 ( ) (1.3) (1.4) De manera similar, podemos generar la expresión de la resistencia de los transistores conectados en paralelo; en base a estas expresiones obtenemos las siguientes relaciones: Transistores en serie: Transistores en paralelo: W 1 = L L L L EQ + + + W1 W 2 (1.5) Wn W W W W = + + + Ln L EQparalelo L1 L2 (1.6) Como ejemplo, dos transistores MOS idénticos, con relaciones W/L=4 resultan en una W/L equivalente de 2 cuando se conectan en serie o de 8 cuando se conectan en paralelo. Por ejemplo, para la NOR de 4 entradas (Figura 7.25) el peor de los casos (la corriente más baja) para la PDN se obtiene sólo cuando uno de los transistores N está conduciendo, así la relación W/L para cada NMOS debe ser igual a la del transistor NMOS del inversor básico, es decir n. Para la PUN, sin embargo, la situación del peor caso (y de hecho el único caso) es cuando todas las entradas son bajas y los cuatro transistores PMOS en serie están conduciendo. Como la W/L equivalente será un cuarto de la de cada dispositivo PMOS, debemos seleccionar la relación W/L de cada transistor PMOS para que sea cuatro veces la del transistor PMOS del inversor básico, es decir 4p. 240 A 4p B 4p 4p C D 4p F A n B n C n D n Figura 7.25 Compuerta NOR de cuatro entradas. Disipación de potencia de los circuitos Los circuitos digitales CMOS en general disipan energía solo cuando hay una transición en un nodo del circuito; el problema de determinar que tan frecuentes son las transiciones en un nodo de un circuito digital no es sencillo, dado que las transiciones dependen de los vectores de entrada aplicados y de los instantes de tiempo en los que se aplican estos vectores, los cuales varían mucho durante el tiempo en el que el circuito opera normalmente. Existen dos tipos de técnicas empleadas para la estimación de las conmutaciones en un circuito CMOS, un grupo emplea técnicas estadísticas, también llamadas técnicas dinámicas, mientras que el otro grupo usa técnicas probabilísticas, también conocidas como técnicas estáticas. Las técnicas estadísticas simulan el circuito repetidamente hasta que los valores de potencia convergen a un valor promedio, todo basado en mediciones estadísticas; por otra parte, las técnicas probabilísticas propagan las entradas a través del circuito para obtener la probabilidad de conmutación para cada compuerta en el circuito. Aunque se emplean los dos tipos de técnicas, las técnicas estáticas permiten estimar de manera rápida el consumo de potencia de un circuito digital integrado a nivel lógico, sin la necesidad de un extensivo uso de simuladores. En general, la disipación de potencia promedio en un circuito combinatorio CMOS puede ser expresada como la suma de tres componentes principales: 1. Potencia de corto circuito (short circuit): potencia disipada por transistores pmos y nmos conectados en serie, que están encendidos simultáneamente en una compuerta lógica. La disipación ocurre en un breve lapso de tiempo durante la conmutación y puede ser controlada al minimizar los tiempos de transición en las redes. Usualmente este tipo de potencia aporta del 15% al 20% de la disipación de potencia total. 2. Potencia de fuga (leakage): es la disipación de energía producto de las corrientes espurias que se presentan cuando el transistor se encuentra en su estado de apa- 241 gado. Esta potencia se vuelve un problema considerable a medida que las geometrías de los transistores reducen su tamaño y las tensiones de umbral disminuyen. Las corrientes de fuga dependen de la tensión de la fuente, la tensión de umbral, la relación W/L de los transistores y la temperatura. Este tipo de potencia aumenta considerablemente a medida que las tecnologías de fabricación disminuyenla tensión de alimentación y el área del chip crece. 3. Potencia dinámica: también se conoce como potencia de conmutación. Es la fuente dominante de consumo de potencia en los circuitos CMOS, aportando casi el 75% del total. Esta potencia es proporcional a la frecuencia, al cuadrado de la tensión de la fuente y a la capacitancia total de salida que debe ser cargada y descargada; las nuevas tecnologías de fabricación han logrado la construcción de transistores más pequeños, cuyas capacitancias son menores, pero las capacitancias de interconexión no han disminuido mucho y se han convertido en el componente dominante de la capacitancia total de carga. Aunque la disminución del voltaje de la fuente tiene el impacto más importante en la disipación de potencia, esto generalmente viene acompañado de un aumento en los tiempos de propagación. La Frecuencia en el caso de los circuitos lógicos combinatorios está relacionada con la velocidad a la que llegan los datos de entrada. Efectos del FAN-IN y FAN-OUT en el retardo de propagación 1 2 3 . . . n 1 2 . . . FAN - IN = n m FAN - OUT = m Figura 7.26 Diagrama del fan-in y fan-out de una compuerta lógica. 242 Cada entrada que se le agregue a una compuerta CMOS requiere dos transistores MOSFET de más, un transistor pmos y un transistor nmos, lo cual marca una notable diferencia con otras formas de lógica MOS, en las cuales una entrada adicional solo implicará un transistor de más. El transistor adicional que debe ser agregado en CMOS no solo aumenta el área del chip sino que también aumenta la capacitancia efectiva total por compuerta y a su vez, incrementa el retardo de propagación. Al variar el tamaño de los transistores se puede compensar parte del aumento del tiempo de propagación, específicamente, si incrementamos el tamaño del transistor podemos preservar la capacidad de manejo de corriente, sin embargo, la capacitancia C crece debido al aumento del número de entradas y al incremento de las dimensiones del transistor. Por lo tanto, el tiempo de propagación aumenta a medida que el fan-in crece, lo que impone un límite de entradas para los circuitos lógicos CMOS; si un diseño requiere un número de entradas mayor a este límite, es necesario emplear una metodología de diseño lógico que nos permita implementar la función booleana con compuertas cuyo número de entradas no supere el límite especificado. Esto finalmente generará un aumento en el número de etapas conectadas en serie, lo que a su vez ocasionará un aumento en el retardo de propagación; sin embargo, este aumento en el retardo de propagación puede ser menor al aumento que causa un fan-in grande. Por otra parte, un aumento del fan-out de las compuertas lógicas aumenta su capacitancia de carga, lo que a su vez genera un aumento en el tiempo de propagación. Aunque CMOS presenta muchas ventajas, también se ve afectado por el aumento de la complejidad de los circuitos cuando el fan-in y el fan-out aumentan, al igual que por los correspondientes efectos que origina está complejidad en el área del chip y en el retardo de propagación. Circuitos lógicos PSEUDO-NMOS (ó PSEUDO-CMOS) A pesar de las muchas ventajas de la lógica CMOS, esta es afectada por una mayor área y por capacitancias y tiempos de propagación que aumentan según se incremente la complejidad de las compuertas lógicas a diseñar. Por esta razón los diseñadores de circuitos lógicos integrados, han estado en la búsqueda de formas de circuitos CMOS que se puedan usar para sumarse a los circuitos de tipo complementario. Con estas formas no se pretende desplazar las técnicas utilizadas hasta el momento sino más bien, usarlas para fines especiales. Una de estas técnicas es la de lógica Pseudo Nmosque estudiaremos a continuación. 243 Inversor PSEUDO NMOS Vdd Vo Vi Figura 7.27 Inversor Pseudo Nmos A diferencia de CMOS complementaria, en este caso la compuerta del transistor de canal P esta directamente conectada a V DD , con esta topología se tienen características mejores, también tiene la ventaja de ser directamente compatible con circuitos CMOS complementarios. Otra característica importante es que a la hora de diseñarlo suele hacerse k n mayor a k P en un factor de 4 a 10, dicha razón se denomina r. Características de tensión Vout VS V IN Vout Vout ll l lll lV Vin - VT0p VDD LIN SAT SAT VDD / 2 Vin - VT0n LIN - VT0p VT0n VDD / 2 Figura 7.28 Características de tensión 244 VDD + VT0p VDD Vin Vout Vs VIN , para el inversor Pseudo Nmos En la Figura 7.28 se observa la curva característica del inversor Pseudos Nmos, la cual v tiene cuatro regiones distintas y una tensión de salida 0 diferente para cada una de estas. • Región I:Q N en corte, Q P lineal y v i =Vt . v 0 =V 0H =V DD • Región II:Q N en saturación, Q P lineal. (1.7) v 0 =Vt + (V DD −Vt ) − r (v i −Vt ) 2 2 (1.8) • Región III:Q N lineal, Q P lineal. Es un segmento corto que no tiene mayor importancia. • Región IV: Q N lineal, Q P en saturación. v 0 = (v i −Vt ) − (v i −Vt ) − 2 1 (V r DD −Vt ) (1.9) 2 Como observación, el único parámetro de diseño para controlar los valores de VOL y los márgenes de ruido es la razón r . Síntesis de compuertas La característica de esta técnica es que reemplaza el árbol de Pull-up por un transistor pmos que siempre está en conducción (Figura 7.29). Vdd f=ā a Vdd Vdd f = (a b) f = (a+b) a b a b Figura 7.29 Ejemplos de funciones lógicas implementadas con la técnica de síntesis de compuertas. 245 En Pseudo Nmos solo Q N esta excitado por la tensión de entrada mientras que la compuerta de Q P esta en tierra, haciendo que esté, quede como carga activa para los transistores N. Se ve claramente que una de las ventajas de esta técnica es que se reduce considerablemente el número de transistores a implementar, ya que solo se necesitan los transistores N para implementar la función y un transistor P que siempre estará en conducción. Así las desventajas en área y tiempo de propagación que aparecen en CMOS complementaria se reducirán. Para el diseño de una función lógica, procedemos de la misma manera de cómo lo hacíamos con CMOS complementaria, pero en este caso solo procedemos a colocar la lógica solo con los transistores canal N, dependiendo de si están en una OR los transistores van en paralelo, o si por el contrario están en una AND estos van en serie (Figura 7.29). Aplicaciones de la lógica PSEUDO-NMOS El pseudos Nmos es particularmente apropiado para las aplicaciones en donde la salida permanece alta la mayor parte del tiempo, puesto que para estas aplicaciones la potencia estática puede ser razonablemente baja. Una aplicación de este tipo en particular son los decodificadores de dirección para chips de memoria y en memorias solo de lectura. Circuitos lógicos de transistor de paso (PTL) L a lógica de transistor de paso (PTL) consiste en un método sencillo para implementar funciones lógicas utilizando combinaciones en serie y paralelo de interruptores controlados por variables lógicas. El principio de funcionamiento de la lógica PTL se ilustra en la Figura 7.30. B A B A C Y = ABC C Figura 7.30 Principio de funcionamiento de la lógica PTL. 246 Y = A(B+C) Como se observa en la figura 30, los interruptores en serie representan el AND lógico de las variables que los controlan, mientras que en paralelo representan el OR lógico de dichas variables. Los interruptores utilizados en PTL se pueden poner en práctica ya sea con un transistor NMOS o con una compuerta de transmisión (por esta razón la lógica PTL también es conocida como lógica de transmisión de compuerta). Ambos casos se analizarán más adelante. Requisitos de Diseño Para el diseño de circuitos PTL debe tenerse en cuenta un requisito fundamental: todo nodo susceptible de quedar en alta impedancia debe tener en todo momento una trayectoria de baja resistencia a V DD o a tierra. Este requisito debe tenerse presente porque al desconectar un interruptor de un determinado nodo de salida Y, dicho nodo queda en alta impedancia. Si antes de la desconexión v y era cero, así se mantendrá, pero si v y estaba a un nivel alto (V DD ), este valor será mantenido por el nodo en la capacitancia parásita conectada entre él y tierra, pero sólo durante un tiempo porque las corrientes de fuga descargarán la capacitancia lentamente y v y irá reduciéndose de forma correspondiente. Por lo tanto, el circuito ya no podría ser considerado un circuito lógico estático. La solución a este efecto no deseado se logra estableciendo para el nodo Y una trayectoria de baja resistencia ya sea a V DD o a tierra. Operación con transistores NMOS como interruptores Las ventajas de implementar los interruptores con transistores NMOS radican en la obtención de circuitos sencillos con pequeña área y pequeñas capacitancias de nodo. Sin embargo, también surgen desventajas en las curvas características estáticas y en la operación dinámica de dichos circuitos. En la Figura 7.31 se observa la operación de un transistor nmos como interruptor. El transistor se utiliza para conectar (cuando v G =V DD ) o desconectar (cuando v G = 0 ) un nodo de entrada con voltaje v i y un nodo de salida (v 0 ). La capacitancia total entre el nodo de salida y tierra está representada por el condensador C. VG Vį D S V0 C Figura 7.31 Operación de un transistor NMOS como interruptor 247 Transmisión de un ‘1’ lógico (v i =V DD yv G =V DD ) Vamos a analizar la operación del circuito cuando v_i presenta una transición de 0V (‘0’ lógico) a V DD (‘1’ lógico) en el instante t = 0 . Las condiciones de operación del circuito se muestran en la Figura 7.32. VG = VDD D S Vį = VDD V0 iD C Figura 7.32 Transmisión de un ‘1’ lógico, con transistor nmos como interruptor Durante la transición de v i ,el transistor opera en la región de saturación (porque v 0 = 0V inicialmente) y por lo tanto entrega una corriente para cargar el condensador i D dada por: Es decir: Donde: 1 2 i D = k n (VGS −Vt ) 2 1 2 (1.10) (1.11) i D = k n (V DD −v 0 −Vt ) 2 k n = µnC ox W L (1.12) Vt =Vt 0 + γ V SB + 2φf − 2φf (1.13) Vt =Vt 0 + γ v 0 + 2φf − 2φf (1.14) Teniendo en cuenta que el “bulk” se encuentra a 0V, se tiene: • En t=0+, Vt =Vt 0 y por ende, la corriente i D es relativamente grande. • Sin embargo, a medida que C se carga y v 0 aumenta,Vt también aumenta e i D disminuye, como se puede ver en sus dos ecuaciones respectivas. Por lo tanto, el proceso de carga del condensador será relativamente lento. • El proceso de carga de C se detiene cuando la corriente i D se hace cero, lo cual ocurre cuando v 0 =V DD −Vt . Esto hace que el ‘1’ transmitido sea un ‘1’ degradado, en vista de que no se cumple v 0 =V DD sino v 0 =V DD −Vt , y Vt puede ser de hasta 1.5Vt 0 ó 2Vt 0 . 248 Transmisión de un ‘0’ lógico(v i = 0 y v G =V DD ) Vamos a analizar la operación del circuito cuando v i presenta una transición de V DD a 0V en el instante t = 0 . Las condiciones de operación del circuito se muestran en la Figura 7.33. VG = VDD S D Vį = 0 V0 įD C Figura 7.33 Transmisión de un ‘0’ lógico, con transistor nmos como interruptor. Notese el intercambio de las terminales D y S con respecto al circuito de la Figura 7.32 Al comienzo de la transición de v i (en t=0+), el voltaje de salida es v 0 =V DD y como el voltaje del drenador es siempre más alto que el de fuente en un transistor NMOS, las terminales D y S del circuito anterior se intercambian con respecto al circuito correspondiente a la transmisión de un ‘1’ lógico. Al comienzo de la transición de v i , el transistor opera en la región de saturación. Por lo tanto, la corriente i D está dada por la ecuación (1.10), que se puede reescribir como: 1 2 i D = k n (V DD −Vt ) 2 (1.15) Además, como ahora “source” (fuente) se encuentra a 0V, al igual que el “bulk”, tenemos V SB = 0V y por lo tanto: Vt =Vt 0 + γ V SB + 2φf − 2φf Vt =Vt 0 + γ 0 + 2φf − 2φf Vt =Vt 0 (1.16) (1.17) (1.18) Esta última igualdad se da para todo momento. A medida que C se descarga, v 0 se reduce y el transistor entra en la región de triodo, cuando v 0 =V DS llega a v 0 =VGS −Vt , es decir: v 0 =V DD −Vt . Sin embargo, ésto no impide que el condensador se siga descargando. De hecho, la descarga continúa hasta completarse, es decir, hasta que v 0 = 0V . Ésto nos indica que el transistor NMOS transmite un ‘0’ bueno. 249 Operación con compuertas de transmisión como interruptores Con el fin de solucionar el problema de la degradación del ‘1’ lógico por parte de un transistor NMOS operando como interruptor y la degradación del ‘0’ lógico por parte de un transistor PMOS, se plantea la utilización de compuertas de transmisión como interruptores. Además de evitar la degradación de los niveles lógicos, la utilización de una compuerta de transmisión trae ventajas tanto en la operación estática como dinámica de un interruptor implementado a través de ella. Una compuerta de transmisión es un excelente interruptor analógico que produce circulación bidireccional de corriente y exhibe una resistencia de operación que es casi constante para una amplia escala de voltajes de entrada v i . Las desventajas que presentan las compuertas de transmisión dentro de la lógica PTL son: mayor complejidad del circuito, mayor área y mayor capacitancia. La operación de una compuerta de transmisión como interruptor se ilustra en la Figura 7.34. VC VC D Vį V0 Vį QN S V0 S VC QP D C VC Figura 7.34 Operación de una compuerta de transmisión como interruptor. Al igual que el transistor NMOS, la compuerta de transmisión se usa para conectar v =V DD v =0 ) o desconectar (cuando c ) un nodo de entrada con voltaje v i y un (cuando c v nodo de salida ( 0 ). La capacitancia total entre el nodo de salida y tierra está representada por el condensador C. Transmisión de un ‘1’ lógico(v i =V DD y v c =V DD ): Suponemos nuevamente una transición de v i entre 0V (‘0’ lógico) y V DD (‘1’ lógico) en el instante t = 0 .Las condiciones de operación del circuito se muestran en la Figura 7.35. VC = VDD D Vį = VDD QN S V0 S QP VC D C Figura 7.35 Transmisión de un ‘1’ lógico con compuerta de transmisión como interruptor 250 En t=0+, v 0 = 0V y por lo tanto, el transistor N se encuentra en región de saturación, suministrando una corriente i DN para cargar el condensador C. Es decir: Donde Vtn es: Es decir: 1 2 i ÐÐÐ = k (V −V 1 2 i ÐÐÐ = k (V (1.19) ) 2 ) 2 −v 0 −V (1.20) Vtn =Vt 0 + γ V SB + 2φf − 2φf (1.21) Vtn =Vt 0 + γ v 0 + 2φf − 2φf (1.22) Debido a que el “bulk” del transistor N se encuentra a 0V. Por su parte, el transistor PMOS conduce una vez que v i =V DD (en t=0+) ya que de este momento en adelante se va a cumplir VGS =V DD > Vtp . Inicialmente, este transistor se encuentra en región de saturación, suministrando una corriente i DP para cargar el condensador C (la cual se va a sumar con i DN ): Es decir: 1 2 ( 1 2 ( i ÐÐÐ= k V − V i ÐÐÐ= k V −V ) (1.23) 2 ) 2 (1.24) Donde Vtp =Vt 0 en todo momento, debido a que el “bulk” del transistor P está conectado a V DD , lo cual significa que V SB = 0V y por lo tanto: Vtp =Vt 0 + γ V SB + 2φf − 2φf Vtp =Vt 0 + γ 0 + 2φf − 2φf Vtp =Vt 0 (1.25) (1.26) (1.27) 251 Se supone que Vt 0 es el mismo para el transistor N y P. 2 1 La corriente i ÐÐÐ = 2 k (V −v 0 −V ) , deducida anteriormente, irá decreciendo hasta que finalmente se hace igual a cero cuando v 0 =V DD −Vtn . Sin embargo, cuando esto ocurra, suponiendo que Vt 0 es el mismo para el transistor N y P, Q P ya habrá entrado en región de triodo, desde el momento en que se haya cumplido: (1.28) V SD −P =VGS −P − Vtp V DD −v 0 = (V DD − 0) − Vtp (1.29) v 0 = Vtp (1.30) Transmisión de un ‘0’ lógico(v i = 0 y v c =V DD ) Ocurre una transición de v i entre V DD y 0V en el instante t = 0 .Las condiciones de operación del circuito se muestran en la Figura 7.36. VC = VDD S Vį = 0 QN D V0 D QP S C VC Figura 7.36 Transmisión de un ‘1’ lógico con compuerta de transmisión como interruptor. Nótese el intercambio de las terminales D y S (en ambos transistores) respecto al circuito de la Figura 7.35 El comportamiento del circuito en este caso es completamente análogo al que ya se describió para la transmisión de un ‘1’ lógico, sólo que ahora los transistores intercambian los turnos de conducción, así: El transistor PMOS deja de conducir cuando v 0 = Vtp , con Vtp dado por: Vtp =Vt 0 + γ V SB + 2φf − 2φf Dado que el “bulk” del transistor P se encuentra polarizado a V DD , se tiene: Vtp =Vt 0 + γ v 0 −V DD + 2φf − 2φf Cuando el transistor PMOS deja de conducir, el NMOS continúa conduciendo hasta que el condensador C se descargue por completo, es decir, hasta que v 0 = 0V , lo cual representa una transmisión de un ‘0’ bueno por parte de la compuerta de transmisión. 252 Ejemplos de circuitos lógicos PTL Multiplexor 2 a 1 Con base en el valor lógico de C, ya sea A o B se conectan a la salida Y. Se requieren 6 transistores para la implementación (4 para las 2 compuertas de transmisión y 2 __ para el inversor necesario para obtener C ). La función lógica realizada por el circuito es __ Y = CA + C B , y la implementación del circuito PTL se observa en la Figura 7.37. C a. b. A C A C B Y = CA + CB Y = CA + CB C B Figura 7.37 Función lógica Y Función XOR C __ = CA + C B . a. Circuito conceptual y b. Circuito PTL La realización de la función XOR en un circuito PTL es eficiente, ya que sólo requiere de 8 transistores (4 para las 2 compuertas de transmisión y otros 4 para los 2 inversores necesarios), a comparación de los 12 transistores que se requieren para implementar esta___función en CMOS complementario. La función lógica realizada por el circuito es ___ Y = A B + AB = A ⊕ B , y la implementación del circuito PTL se observa en la Figura 7.38. B a. b. A A A B B Y = AB+ AB Y = AB+ AB B A B Figura 7.38 Función lógica Y ___ ___ = A B + AB = A ⊕ B a. Circuito conceptual y b. Circuito PTL 253 Funciones AND y NAND mediante PTL complementaria (CPL) La lógica PTL complementaria consiste en 2 redes PTL idénticas, con las mismas variables de control de los interruptores, pero con sus entradas complementadas. Así mismo, el circuito genera una determinada función lógica y su respectivo complemento. En este caso se utilizan transistores NMOS como interruptores, para lo cual deben escogerse con bajo___Vt _____ . La función lógica realizada por el circuito es Y = AB y su respectivo complemento Y = AB , y la implementación del circuito se observa en la Figura 7.39. b. a. A B A B B B A Y = AB B B Y = AB B B Y = AB B A Y = AB B Figura 7.39 Función lógica Y = AB a. Circuito conceptual y b. Circuito CPL. Las funciones lógicas a la salida de este circuito pueden obtenerse luego de aplicar un poco de álgebra de Bool, así: __ Y = AB + B B ;Y = AB + 0;Y = AB __ Ahora demostraremos que: __ __ __ __ Y = AB + B B ;Y = AB + B __ __ __ __ AB + B = A + B Después de multiplicar a ambos lados por B: __ __ __ __ ABB + B B = AB + B B __ Como BB = B y B B = 0 , se tiene: __ __ AB = AB __ __ __ __ Esta última igualdad nos indica que, en efecto, se cumple: AB + B = A + B __ __ __ Pero, aplicando Leyes de DeMorgan obtenemos: A + B = AB __ __ __ __ __ _____ Por lo tanto, tenemos Y = AB + B = A + B = AB , con lo cual queda demostrado que la __ _____ salida de la red con entradas complementadas es Y = AB . 254 Simulación En las Figuras 7.40 a 7.43 se presenta la simulación de una compuerta de transmisión con CNM25 y los resultados obtenidos. Los resultados fueron unos tiempos de propagación de TPHL = 106ns y TPLH = 104ns con niveles de voltaje VOH = 5V y VOL = 0.09V . Con unos tiempos de subida y bajada: Tr = 292ns y Tf = 334ns . A VCC A VCC 5 + _ V4 0 V1 = 0 V2 = 5 TD = 0 TR = 10n TF = 10n PW = 2m PER = 4m + _ M16 Mbreakp B V6 0 V1 = 0 V2 = 5 TD = 0 TR = 10n TF = 10n PW = 0.5m PER = 1m + _ V5 B Neg_A A Mbreakp M14 Out VCC M15 V C2 V 0 10p 0 M17 Mbreakn 0 Mbreakn Neg_A 0 Figura 7.40 Circuito de simulación (A) TG (active) 1 20V 2 10V COMPUERTA DE TRANSMISION O T-GATE 15V 5V 10V 0V 5V -5V 0V » -10V 0s 1 1.0ms (V)(Out) 2 V(B) 2.0ms 3.0ms 4.0ms 5.0ms 6.0ms V(A) Figura 7.41 Resultados de simulación. Salida en azul, entrada en verde y control de la compuerta en rojo. 255 (A) TG (active) 20V 1 10V 2 5V 15V (2.0000m , 2.7778) 0V 10V TPLH = 104ns Tr = 292ns -5V 5V (2.0001m , 2.5789) » 0V -10V 1.9999ms 2.0010ms 2.0000ms V(Out) 1 2 V(B) Tiempo Figura 7.42 Resultados de simulación. Salida en azul, entrada en verde y control de la compuerta en rojo. 1 20V 15V 2 (A) TG (active) 10V 5V (2.5000m , 2.5247) 10V 0V VOH=5 VOL=0.09 TPHL= 106ns Tf=334ns 5V -5V (2.5001m , 2.4968) 0V » -10V 2.49999ms 1 2.50100ms V(Out) 2 V(B) Tiempo Figura 7.43 Resultados de simulación. Salida en azul, entrada en verde 256 Implementación de circuitos digitales con compuertas de transmisión L as compuertas de transmisión (T-gate) son muy usadas para realizar compuertas complejas, como la XOR; ya que en muchos casos disminuye la cantidad de transistores usados en la implementación.En el caso de la compuerta XOR se logra disminuir el número de transistores de 12 en CMOS a 8 con esta metodología de diseño. Por otro lado en otros casos, las compuertas de transmisión proveen mejores parámetros de diseño. Diseño de circuitos lógicos con compuertas de transmisión El diseño de circuitos lógicos mediante compuertas de transmisión se hace mediante la implementación de la expansión de Shannon, que es un método por el cual una función booleana puede ser representada por la suma de dos funciones de la original. Para la implementación de la siguiente función: f = xyz + xy 'z + x ' y 'z + x ' yz + x ' y 'z ' , es necesario escribir la función en términos de dos variables complementarias de la forma: f = x ' g x ' + xg x . Por último, se reemplaza en la función original con x = 0 y con x = 1 , para hallar las funciones g x ' , g x . La expresión final es: f = x '( y 'z + yz + y 'z ') + x ( yz + y ' z ) . Este proceso para dos variables se puede resumir con la expresión: ___ F ( A ÐÐÐ B ) = AF ( B ) + A F B Los resultados de la implementación de algunas funciones lógicas con compuertas de transmisión se presentan en la Figura 7.44. F (A,B) AB A+B A+B AB AB +AB AB + AB NAME AND OR NOR NAND EXOR NEXOR F (0,B) 0 B B 1 B B F (1,B) B 1 0 B B B Figura 7.44 Resultados de la implementación de funciones lógicas con compuertas de transmisión Para la implementación del diseño se conecta una compuerta de transmisión a la salida del circuito que controla, es decir el de la función F(0,B) o F(1,B). En los siguientes literales se mostrara la construcción de las anteriores compuertas. 257 Compuerta de transmisión como buffer Tri-Estado La compuerta de transmisión se puede analizar como un buffer tri-estado, ya que en su funcionamiento está contemplado el estado de alta impedancia de las compuertas tri-estado. En la Figura 7.45, se muestra el símbolo y la tabla lógica de la compuerta de transmisión. a. b. X A B X A B 1 1 0 1 0 1 0 0 0 1 ? ? X Figura 7.45 a. Compuerta de transmisión. b. tabla lógica Ahora bien, si lo que se desea es un buffer tri-estado inversor, se agrega un inversor en el punto de entrada de la compuerta de transmisión como se observa en la Figura 7.46. a. Vcc b. Vcc C TA TA TB X C OUT OUT TC IN TB C TC TD C IN TD Figura 7.46 Buffer tri-estado inversor: a.con compuerta de transmisión y b. CMOS El buffer inversor tri-estado de la tecnología CMOS y el buffer con T-Gate en apariencia son iguales, ya que tienen los mismos 6 transistores. Aun así, en el buffer T-Gate es mucho más sencillo detectar una falla en el circuito que en el CMOS y por otro lado si llega a fallar el T-Gate se ve afectada la salida en el tiempo de propagación y la degeneración de los niveles, mientras que la de CMOS no funciona en el caso que no funcione algún transistor. 258 Simulación En las Figuras 7.47 y 7.48 se presenta la simulación de un buffer tri-estadoy los resultados obtenidos. X VCC 5 + _ V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 2m PER = 4m V1 0 V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ V3 VCC MbreakpD 0 A + _ Neg_X Mbreakp M14 M2 V2 M15 M1 0 VCC Out C1 0 V 10p 0 MbreaknD Mbreakn 0 X MbreakPD M3 X Neg_X M5 V V MbreakND Figura 7.47 Circuito de Simulación (E) Simul (active) 1 20V 2 10V Buffer Tres estados Inversor 15V 5V 10V 0V 5V -5V ALTA IMPEDANCIA ALTA IMPEDANCIA 0V » -10V 1.0ms 0s 1 (V)(Out) 2 V(X) 2.0ms 3.0ms 4.0ms 5.0ms V(A) Figura 7.48 Resultados de simulación. Variable de control X en verde, variable de entrada A en rojo, salida en azul. 259 Compuerta NOR La función de la compuerta NOR es implementada como se muestra en la Figura 7.49, mediante compuertas de transmisión. A 3 Neg B 1 2 TG 4 Out Neg A TG 0 A Figura 7.49 Compuerta NOR con T-Gate __ __ La función implementada es F ( A , B ) = A⋅ B + A ⋅ 0 . La variable de entrada A y su complemento es usada para el control de las compuertas de transmisión, la función con valor de cero es implementada con la T-Gate que se controla con la variable A y la función B negada se implementa con la T-Gate que se controla por A negada. Con este circuito se logra la Función: F ( A , B ) = A + B A diferencia del circuito CMOS que usa 4 transistores, la compuerta NOR con T-Gate usa 8 transistores incluyendo los dos inversores. Por lo cual en esta clase de compuerta se eleva ampliamente el área de silicio utilizada en el diseño y la complejidad de éste. Una posible mejora del anterior circuito se hace mediante la implementación de un transistor de paso de tipo N, lo que reduce el número de transistores a 7, el circuito es mostrado en la Figura 7.50. 3 Neg B 1 2 TG 4 Out Neg A M7 A Figura 7.50 Compuerta NOR con T-Gate mejorado. 260 Existe otra clase de implementación de estas compuertas, mediante dos compuertas de transmisión, esta será tratada en el apartado de las AND y NAND. Esta topología tiene 8 transistores para su implementación por lo que la anterior resulta ser más eficaz, en tamaño del integrado. A A A F=A+B B A Figura 7.51 Compuerta NOR con dos compuertas de transmisión Simulación En las Figuras 7.52 y 7.53 se presenta la simulación de una compuerta NOR hecha con compuertas de transmisión y los resultados obtenidos. A VCC Out Mbreakp Neg_B A B V6 V1 = 0 + V2 = 5 _ TD = 0 TR = 10p TF = 10p 0 PW = 2m B PER = 4m V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ MbreakpD V5 M14 M15 Neg_B M12 VCC C2 10p V 0 0 VCC 5 + _ V V4 MbreaknD Mbreakn M17 VCC 0 0 M16 Neg_A 0 Mbreakn A 0 A MbreakpD Neg_A M11 V MbreaknD 0 Figura 7.52 Circuito de Simulación 261 1 20V 2 (B) simuNOR (active) 10V Compuerta NOR 15V 5V 10V 0V 5V -5V » 0V -10V 1.0ms 0s 1 (V)(Out) 2 V(A) 3.0ms 2.0ms 4.0ms Tiempo V(B) Figura 7.53 Resultados de simulación. Variable de entrada A en verde, variable de entrada B en rojo y salida en azul. Compuerta OR La función de la compuerta OR es implementada como se muestra en la Figura 7.54, mediante compuertas de transmisión. A A.A A B f=A+B A.B A Figura 7.54 Compuerta OR con T-Gate La variable de entrada A es usada junto con su complemento para controlar el transistor de paso PMOS y la compuerta de transmisión. Cuando A = 1 el transistor de paso conduce y la salida es igual a 1, mientras que la T-Gate se encuentra en alta impedancia. Cuando A = 0 el transistor de paso se encuentra abierto y la compuerta de transmisión conduce, dando como salida el valor de B. En conclusión, el funcionamiento del anterior 262 ___ circuito esta dado por la expresión booleana F ( A , B ) = A B + A = A + B . El anterior circuito tiene 5 transistores, a diferencia de su implementación en CMOS de 6 transistores. La implementación de esta compuerta con dos T-Gate deja como resultado el uso de 6 transistores al igual que los CMOS. Este diseño se muestra en la Figura 7.55. A A A F=A+B B A Figura 7.55 Compuerta OR con dos compuertas de transmisión Simulación En las Figuras 7.56 y 7.57 se presenta la simulación de una compuerta OR hecha con compuertas de transmisión y los resultados obtenidos. A V3 V1 = 0 + V2 = 5 _ TD = 0 TR = 10p TF = 10p 0 PW = 2m PER = 4m B V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ V2 VCC 5 + _ V1 Neg_A VCC 0 A MbreakP Out M16 0 A MbreakpD Neg_A M10 V MbreaknD M13 VCC B Mbreakn 0 Mbreakp M14 VCC M15 V 0 C1 10p V 0 Neg_A Figura 7.56 Circuito de simulación 263 1 20V 2 (A) OR (active) 10V Compuerta OR 15V 5V 10V 0V 5V » 0V -5V -10V 1 0s 1.0ms (V)(Out) 2 V(A) 2.0ms 3.0ms 4.0ms Tiempo V(B) Figura 7.57 Resultados de simulación. Variable de entrada A en verde, variable de entrada B en rojo y salida en azul. Compuerta AND La función de la compuerta AND es implementada como se muestra en la Figura 7.58, mediante compuertas de transmisión. A A B F=AB A A Figura 7.58 Compuerta AND con T-Gate Se tienen como entradas las variables A y B, cada una en su respectiva compuerta ___ de transmisión, que están siendo controladas por la variable A y su complemento A . Asumiendo que la compuerta de transmisión con variable de entrada A va a ser la número 1 y la compuerta con entrada B va a ser la número 2, se tiene que cuando sea la variable A = 0 , se activa la primera compuerta de transmisión, dejando pasar a la salida el valor 0. Cuando sea la variable A = 1 , se activa la segunda compuerta de transmisión, dejando 264 pasar a la salida el valor de B ya sea 0 ó 1. De esta manera, la única forma de que la salida sea F = 1 es que las dos variables A y B sean iguales a 1, para el resto de los casos F = 0 . En conclusión, el funcionamiento del anterior circuito esta dado por la expresión ___ booleana F ( A , B ) = A ⋅ 0 + A ⋅ B = AB . Este circuito tiene 6 transistores, al igual que su implementación en CMOS. Simulación En las Figuras 7.59 y 7.60 se presenta la simulación de una compuerta AND hecha con compuertas de transmisión y los resultados obtenidos. A VCC Mbreakp M16 A A A V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 2m PER = 4m V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ MbreakpD V3 MbreaknD V 0 B 0 + _ 0 C1 10p V 0 Mbreakp M14 VCC 5 Out Neg_A 0 V2 VCC Mbreakn M18 B + _ M17 Neg_A M11 V M15 V1 VCC 0 Mbreakn 0 Figura 7.59 Circuito de simulación 1 20V 2 (A) ANDsim (active) 10V Compuerta AND 15V 5V 10V 0V 5V » 0V -5V -10V 1 0s 1.0ms (V)(Out) 2 V(A) 2.0ms V(B) 3.0ms 4.0ms Tiempo Figura 7.60 Resultados de simulación. Variable de entrada B en verde, variable de entrada A (control) en rojo y salida en azul 265 Compuerta NAND La función de la compuerta NAND es implementada como se muestra en la Figura 7.61, mediante compuertas de transmisión. A A B F=AB A A Figura 7.61 Compuerta NAND con T-Gate Este circuito funciona de manera similar al circuito de implementación de la AND, pues A = 0 , se se controla por medio de la variable A, pero en este caso, cuando la __ variable activa la compuerta de transmisión que tiene por entrada la variable A , de manera que la salida va a ser F = 1 . Por otro lado, cuando la__ variable A = 1 , se activa la compuerta de transmisión que tiene por entrada la variable B , teniendo así en la salida el valor de esta variable, independientemente de __ que sea 0 ó 1. Por lo tanto la salida va a ser igual a 0 únicamente cuando la variable B = 0 y para el resto de posibilidades lo que la exF__ = 1 ,por __ __ presión booleana del anterior circuito está dada por F ( A , B ) = A + A ⋅ B = AB diferencia del circuito CMOS que usa 4 transistores, la compuerta NOR con T-Gate usa 8 transistores incluyendo los dos inversores,por lo que en esta clase de compuerta, al igual que en la NOR, se eleva ampliamente el área de silicio utilizada en el diseño y la complejidad de éste. Simulación En las Figuras 7.62 y 7.63 se presenta la simulación de una compuerta NAND hecha con compuertas de transmisión y los resultados obtenidos. 266 VCC A Mbreakp MbreakpD A Neg_A M11 A A V V3 V1 = 0 + V2 = 5 _ TD = 0 TR = 10p TF = 10p 0 PW = 2m B PER = 4m V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ + _ V1 C1 10p V Mbreakn 0 Out 0 M18 Neg_A 0 Mbreakp VCC 0 B V2 B VCC M17 MbreaknD VCC 5 M16 M14 VCC M15 MbreakpD 0 Neg_B M10 0 Mbreakn V MbreaknD A M13 0 Figura 7.62 Circuito de simulación 1 20V 2 (A) ANDsim (active) 10V Compuerta NAND 15V 5V 10V 0V 5V » 0V -5V -10V 1 0s 1.0ms (V)(Out) 2 V(A) 2.0ms V(B) 3.0ms 4.0ms Tiempo Figura 7.63 Resultados de simulación. Variable de entrada B en verde, variable de entrada A (control) en rojo y salida en azul 267 Compuerta XOR Para la implementación mediante compuertas de transmisión de la compuerta Exclusiva-OR son necesarios seis transistores en total, como se muestra en la Figura 7.64. B B M2 A A F M1 B M3/M4 B Figura 7.64 Compuerta XOR con T-Gate Para comprender el funcionamiento de este circuito solo es necesario analizar el comportamiento de la compuerta respecto a B. B = 1 , los transistores M 1 y M 2 conforman un inversor y la compuerta de transmisión se encuentra apagada, así que en la __ salida se obtiene F = AB . Cuando B = 0 sucede lo contrario, los transistores M 1 y M 2 se encuentran deshabilitados, por lo__tanto la compuerta de transmisión entra en operación y en la salida se presenta F = AB . __ __ La combinación de ambos casos lleva a la función de una XOR F = AB + AB . Por otro lado la compuerta XOR se puede construir a partir de un multiplexor simple de dos entradas y una __salida, como se puede observar en la Figura 7.65.Las entradas de __ la compuerta son A y A , mientras que B y B son usadas como las señales de control en las compuertas de transmisión. B TG1 A B A f=A B TG2 B Figura 7.65 Compuerta XOR construida a partir de un MUX 2:1. 268 Simulación En las Figuras 7.66 y 7.67 se presenta la simulación de una compuerta XOR hecha con compuertas de transmisión y los resultados obtenidos. A V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ V2 V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 2m PER = 4m 0 + _ B MbreakP + _ V3 MbreakP M9 MbreakP A Out 0 M1 VCC 5 VCC VCC B B V1 V VCC A B M8 Neg_B V C1 V 0 MbreakN Neg_B M6 10p 0 M3 MbreakN M5 MbreakN Neg_B 0 0 Figura 7.66 Esquema de la compuerta XOR 1 20V 2 (C) 4m (active) 10V COMPUERTA XOR 15V 5V 10V 0V 5V -5V » 0V -10V 0s 1 1.0ms (V)(Out) 2 V(X) 2.0ms V(A) 3.0ms 4.0ms Tiempo Figura 7.67 Resultado de la simulación. Variable de control (B) en verde, variable de entrada A en rojo, salida en azul. MULTIPLEXOR2:1 La implementación mediante compuertas de transmisión de un multiplexor 2:1 puede ser realizada, como se muestra en la Figura 7.68. 269 S P0 TG1 S P1 f S f 0 1 P0 P1 TG2 S Figura 7.68 Multiplexor 2:1 implementado a partir de compuertas de transmisión y su respectiva tabla de operación. Las entradas en este caso P0 y P1 , son controladas a partir de la señal S, dependiendo de la señal que se presente en S se selecciona cual de las dos entradas estará presente en la salida; esto se refleja en la función booleana que define a un multiplexor __ (en este caso 2:1, dos entradas: 1 salida) f = P0 S + P1S . Cuando S = 0 , la salida es f = P0 mientras que cuando se presenta S = 1 , la salida es f = P1 . Se encuentran multiplexores de cuatro entradas: una salida (4:1), ocho entradas: una salida (8:1) y así sucesivamente, todos estos cumplen con el mismo principio; la estructura tendrá n número de entradas controladas por m número de señales de control, de tal manera que n = 2m ,por lo tanto se pueden emplear cadenas de TG para crear multiplexores de diferentes tamaños. En la figura 69 se muestra como se construye un multiplexor 4:1 a partir de compuertas de transmisión.La función booleana que describe a un multi__ __ __ __ plexor 4:1 es: f = P S S + P S S + P S S + P (S S ) 0 1 0 S1 1 1 0 2 S1 1 0 3 1 S0 0 S0 P0 P1 f P2 P3 Figura 7.69 Multiplexor 4:1 270 Simulación En las Figuras 7.70 y 7.71 se muestra la simulación del multiplexor 4:1 hecho con compuertas de transmisión y sus resultados. VCC VCC S0 V6 V1 = 0 + V2 = 5 _ TD = 0 TR = 10p TF = 10p 0 PW = 2m PER = 4m S1 V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ MbreakP MbreakP V5 S1 0 S0 M27 M31 M30 M26 V V MbreakN MbreakN 0 0 VCC 5 + _ V4 VCC VCC VCC MbreakP MbreakP P0 M29 M28 M13 M12 MbreakN MbreakN 0 0 0 VCC VCC MbreakP P1 MbreakP M15 M14 0 M25 M24 MbreakN V C2 MbreakN 10p 0 0 VCC VCC MbreakP P2 VCC MbreakP M17 M16 M23 M22 MbreakN MbreakN 0 0 VCC P3 0 0 MbreakP VCC MbreakP M19 M18 M21 M20 MbreakN MbreakN 0 Figura 7.70 Esquema de un Multiplexor 4:1 0 271 1 20V 2 (A) DF (active) 10V Multiplexor 4:1 15V 5V 10V 0V -5V 5V P1 P0 » 0V -10V 1 0s P2 1.0ms (V)(M29:s) 2 V(S1) 2.0ms P3 3.0ms 4.0ms Tiempo V(S0) Figura 7.71 Resultado de la simulación. Variables de control (S0 y S1) en rojo y verde respectivamente, salida en azul. Sumador (FULL ADDER) A partir de compuertas de transmisión es posible construir un sumador, para esto es necesario emplear cuatro compuertas de transmisión, dos inversores y dos compuertas XOR (también implementadas con compuertas de transmisión); en total se emplean 24 transistores (Figura 7.72). SUM C B CARRY A Figura 7.72 Esquema de un sumador 272 Considerando dos bits y un carry de entrada el modulo delsumador producirá una salida de suma de 1 bit y un carry de salida: S n = A ⊕ B ⊕C C n +1 = AB + C ( A ⊕ B ) Para crear la salida S n del sumador se implementa la función usando 2 operaciones XOR expresadas como: S n = an ⊕ bn ⊕ c n _____________ S n = (an ⊕ bn ) ⋅ c n + an ⊕ bn ⋅ c n Mientras que el carry de salida es implementado mediante la función: _____________ c n +1 = (an ⊕ bn ) ⋅ c n + an ⊕ bn ⋅ an Las funciones A ⊕ B y su complemento son generadas en el circuito de la izquierda de la Figura 7.73. Un aspecto importante de este sumador es la capacidad para entregar las dos salidas aproximadamente al mismo tiempo. Esto se debe al hecho de que los tiempos de propagación de entrada a salida son simétricos en los dos caminos. bn an bn Mp1 an sn Mn1 cn bn Mp2 an an an bn cn + J Mn2 bn Figura 7.73 Sumador 273 Simulación En las Figuras 7.74 y 7.75 se muestra la simulación de un sumador hecho con compuertas XOR y compuertas de transmisión y sus resultados. 2M 1 D V2 1 V B 4M 1 D V6 1 V8 V + _ VCC 2 V1 Mbreakp 3 2 5M 3 V5 4M 3 V7 VCC 2 C 0 C VCC 5 VCC 3 Mbreakn M35 0 1 1 V M14 VCC M29 Mbreakp M15 Mbreakp 2 A 6M V4 B M31 Mbreakp Neg_C C VCC 6M V9 3 M23 VCC M24 0 2 3 Mbreakp 0 Neg_C M16 Mbreakn 2 0 V12 0 Mbreakn M18 0 V 0 C2 10p VCC 0 Mbreakn Mbreakn M33 Mbreakp Neg_B 0 A VCC C1 M19 VCC M29 Mbreakp M20 Mbreakp A 0 Mbreakn M25 V VCC M26 M21 Mbreakn M24 0 VCC 0 Mbreakn Mbreakn B C3 10p Mbreakp 0 Figura 7.74 Esquema del sumador 20V 1 2 (A) simandder (active) 10V Full Adder 15V 5V 0+0+0 10V 0V 5V -5V Suma= 0 Carry=0 0V -10V 0s 1 0+1+0 1+1+0 1+1+1 Suma= 1 Carry=0 Suma= 0 Carry=1 Suma= 1 Carry=1 2.0ms V(out) V(C1) 2 V(A) 4.0ms V(B) V(C) 6.0ms 8.0ms Tiempo Figura 7.75 Resultado de la simulación. Variable de entrada An en Verde, variable de entrada Bn en rojo, variable de carry de entrada en azul claro, salida en azul y carry de salida en amarillo 274 CAPÍULO 8 Lógica Secuencial en CMOS Introducción P ara saber que es lógica secuencial hay que tener claro el concepto de lógica combinatoria. En esta lógica La lógica la salida depende exclusivamente de la(s) entrada(s) actual(es) que tenga el sistema, mientras que en la lógica secuencial depende además de la secuencia pasada de entradas. El uso de tablas de verdad es un buen mecanismo para la lógica combinatoria, pero para la lógica secuencial seria demasiado engorroso saber el estado actual, ya que como se comentó antes, la salida queda en función de la secuencia de entradas que le hallan entrado al sistema hasta el momento. Por esta razón se maneja el concepto de estado actual, estado siguiente y variables de estado. Ya que conociendo las variables de estado se sabe el estado actual y se puede predecir el estado siguiente. La esencia de los circuitos secuenciales se basa en los procesos de realimentación positiva. La retroalimentación puede venir dada por el tiempo de propagación de las compuertas que forman la parte combinatoria o de las celdas secuenciales básicas con una sola variable de salida. En la lógica secuencial a diferencia de la lógica combinatoria se hace uso de un elemento básico llamado flip-flop. El flip-flop es un elemento de memoria que almacena un bit de información. Los circuitos lógicos secuenciales se dividen básicamente en dos grupos: Los circuitos asincrónicos y los circuitos sincrónicos. Los primeros pueden cambiar los estados de sus salidas como resultado del cambio de los estados de las entradas, mientras que los circuitos sincrónicos pueden cambiar el estado de sus salidas en instantes de tiempo discretos bajo el control de una señal de reloj. El término secuencial se debe a esta dependencia con la secuencia de valores de entrada en lugar de depender de solo del valor de entrada actual. 279 Principio de funcionamiento Circuito de Lógica Secuencial Entrada Lógica Combinatoria Compuesta por compuertas AND, OR y NOT convencionales Memoria Mantiene el estado anterior de la variable de salida y lo usa para generar el siguiente estado. Figura 8.1 Circuito secuencial La Figura 8.1 da una idea de lo que es el circuito secuencial: agregar memoria a un circuito meramente combinacional. La salida de la lógica combinacional es guardada en un circuito de memoria, y es conocida como el estado interno del circuito. El circuito en un siguiente estado, combina la entrada actual con la salida del estado anterior para producir una nueva salida. Para definir que es un estado, el circuito posee una señal de reloj que sincroniza el paso de un estado a otro. Un contador es un buen ejemplo de una máquina secuencial, dado que debe guardar el estado actual para ser actualizado en el siguiente conteo. La característica esencial de la lógica secuencial es la memoria y en un sistema binario, la unidad mínima de información debe ser el BIT, que es el almacenamiento de la información que presenta dos estados únicamente. Para guardar ese tipo de información, los biestables son los elementos idóneos ya que presentan dos estados en los cuales el sistema permanecerá en equilibrio indefinidamente, mientras no haya perturbación externa. Un sistema mecánico biestable es el mostrado en la Figura 8.2. En éste se pueden almacenar dos estados de información simplemente colocando la pelota en uno de los dos niveles de estabilidad. Adicionalmente, existe un punto en medio desde el cual el sistema retornará al equilibrio con la ayuda de una mínima cantidad de energía. 280 E 2 1 3 Figura 8.2 Ejemplo de sistema mecánico Biestable. X Elementos de Memoria (Candados) y Flip-Flops H ay dos formas de dar memoria a un circuito digital, una se basa en la aplicación de realimentación positiva (circuitos secuenciales estáticos) y la otra en el almacenamiento de carga en un condensador (circuitos secuenciales dinámicos). El candado (latch) Dos inversores acoplados en cruz como en la Figura 8.3(a) constituyen el elemento básico de memoria conocido como candado. El acoplamiento en cruz de los inversores forma un lazo de realimentación positiva. Si se rompe la realimentación y se aplica un voltaje v w (Figura 8.3(b)) se obliga al circuito a funcionar en el punto C de la grafica de la Figura 8.3(c), donde v w es alto, v x es bajo, v y es bajo y v z es alto. Lo inverso se cumple para el punto A. Vz C VOH W G1 G1 X Vw Punto inestable Vx + _ Punto estable Vw = Vz B Vz y G2 Z Vy (a) G2 Vz VOL 0 (b) A Vw Punto -estable (c) Vw Figura 8.3 a) Candado básico, b) El candado con lazo de realimentación abierto, y c) Determinación del punto de operación del candado1 1 Circuitos Microelectrónicos, Sedra – Smith 281 Latch tipo D con compuertas de transmisión Las compuertas de transmisión pueden ser usadas como simples interruptores para crear circuitos que tienen al menos dos estados de operación, como el caso de los latch y los flip-flops. Por ejemplo para el caso de un registro tipo D: en el estado Load, el valor de un bit D es usado como entrada del circuito y en el estado Hold la entrada se desconecta del circuito y el valor del estado anterior se conserva. Con excepción de las celdas de memoria, los latch tipo D son el circuito más común presente en cualquier chip. Estos latch son esenciales para la sincronización y la respuesta con sistemas de reloj. En la Figura 8.68 se muestra un latch tipo D a base de compuertas de transmisión, cuya operación es controlada por las señales LD. C LD D TG1 Q Q D LD LD C TG2 Q LD C Figura 8.4 Latch D a base de compuertas de Transmisión Para un valor de LD = 1 se activa TG1, el cual permite que la señal de en__ se cargue __ trada D y por el contrario TG2 se abre dejando en la salida Q el valor D y en Q el valor D. Por otro lado, cuando LD = 0 se activa TG2 y se desactiva TG1 aislando el circuito de la entrada D, con TG2 activo se permite una retroalimentación de la salida y por lo tanto __ el valor de Q será la entrada del inversor que tiene como salida Q , por lo tanto cualquier cambio en la entrada no afectara la salida hasta el momento en que LD = 1 . Los circuitos equivalentes se observan en la Figura 8.69. 0 TG1 D 1 TG2 OFF Q D Q 0 ON TG2 Q 1 Figura 8.5 Circuito equivalente del latch D. A la derecha con LD=1 y a la izquierda con LD=0 282 D 0 TG1 0 OFF A 1 Q D 1 ON D Simulación En las Figuras 8.70 y 8.71 se presenta la simulación de un registro LATCH tipo D hecho con compuertas de transmisión y los resultados obtenidos. VCC Neg _LD Mbreakp LD D V3 V1 = 0 + V2 = 5 _ TD = 0 TR = 10p TF = 10p 0 PW = 2m D PER = 4m V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ MbreakpD M14 VCC 5 + _ V1 M15 V M2 M1 0 0 VCC 0 MbreakpD 0 LD M6 LD VCC 0 C1 10p V MbreaknD Mbreakn V2 Neg _Q VCC M4 Mbreakp MbreakPD M16 M3 LD V Neg_LD M17 0 M5 Q 0 C2 10p V Mbreakn MbreakND MbreaknD VCC 0 Neg _LD 0 Figura 8.6 Circuito de Simulación 1 20V 2 (G) Latch_sim (active) 10V LATCH D 15V 5V 10V 0V 5V -5V » 0V -10V 2.0ms 0s 1 (V)(NEg_O) V(O) 2 4.0ms V(D) V(LD) 6.0ms 8.0ms Tiempo Figura 8.7 Resultados de Simulación. Variable de entrada D en verde, variable de entrada LD en rojo, salida Q ̅ en azul y salida Q en amarillo. 283 Configuraciones de latch tipo D Latch tipo D con realimentación triestado y compuerta de transmisión. Es estático, entre los contras está el riesgo de colisión de señales por causa de glitches. Q X D Latch tipo D con realimentación triestado y compuerta de transmisión con buffer a la entrada. D X Q El latch tipo D con realimentación triestado y compuerta de trasmisión con buffer a la salida. Sin riesgo de colisión. X D Q El latch tipo D tipo Datapath con realimentación triestado y compuerta de trasmisión con buffer a la salida. Veloz. Q X D 284 El flip-flop SR (Establecer/Restablecer) Se forma al acoplar en cruz dos compuertas NOR dejando la segunda entrada de cada una para realizar el disparo del flip-flop como se ve en la Figura 8.8. Las salidas son complementarias y guardan la información de un bit siempre que las entradas estén en cero. Además, Q responde con un estado lógico de uno cuando la entrada S (set) está en uno, y con un cero si R (reset) se pone en uno. Por principio nunca se deben presentar estados lógicos de uno a la vez en ambas entradas. R G1 S Q Q G2 R S Q 0 0 1 1 0 1 0 1 Qn 1 0 No Usada (a) 8.8 Flip-flop SR y su tabla de verdad (b) 2 Figura VDD Q2 Q4 Q Q Q6 S Q3 Q5 Q8 Q7 R Figura 8.9 Flip-flop SR con CMOS3 Su funcionamiento es igual con excepción de la adición de pulsos de sincronía ∅ . Si __ en estado de reset (Q = 0 , Q = 1 , v Q = 0 ) queremos establecer un 1 lógico en Q , debemos arreglar para que un voltaje V DD aparezca en S mientras R esta en bajo. Cuando el pulso de reloj pase a alto tanto Q5 como Q 6 conducen, haciendo subir el voltaje v Q por la conducción del transistor Q 4 . La señal en S debe permanecer el tiempo suficiente para que se presente la conmutación. Este análisis aplica también en el caso del reset. 2 Circuitos Microelectrónicos, Sedra – Smith 3 Circuitos Microelectrónicos, Sedra – Smith 285 Circuitos flip-flop D Muchos circuitos CMOS usan una señal de reloj para su funcionamiento. El reloj provee una forma simple de sincronización en redes digitales. Las compuertas de transmisión pueden ser encendidas o apagadas mediante un par complementario los cuales se pueden acomodar de una manera tal que la señal de reloj provea la sincronización del flujo de datos. Por ende, las compuertas de transmisión son un elemento importante en la implementación de flip-flops. En la Figura 8.10 se tiene un flip-flop tipo D (DFF) que se dispara con un flanco positivo de reloj, el diseño se implementa mediante dos latch de activación opuesta en cascada. D TG1 TG3 Q DFF D Q TG2 TG4 Master Slave Figura 8.10 Flip-Flop tipo D implementado con compuertas de transmisión. El DFF es un arreglo maestro-esclavo, los cuales son dos latch idénticos con activaciones complementarias y a base de la señal de reloj ( φ ). Cuando el reloj está en estado bajo, la compuerta de transmisión TG1 conduce y TG2 se encuentra abierto lo que pone __ a la salida del latch maestro en D , en este mismo estado el TG3 se encuentra abierto y TG4 está en conducción, conservando el valor de la salida Q. El circuito equivalente se muestra en la Figura 8.11. =1 =0 D TG1 TG3 =1 =1 =0 TG2 Master Q =0 TG4 =0 Slave =1 Figura 8.11 DFF con el reloj en estado bajo. Carga del latch maestro Cuando el reloj pasa al estado alto, la compuerta de transmisión TG1 desconecta la entrada D del circuito, mientras que TG2 conduce para conservar el estado anterior; por parte del latch esclavo TG3 conduce y TG4 se abre para cargar el nuevo valor de Q con D. El circuito equivalente se muestra en la Figura 8.12. 286 =0 =1 D TG1 TG3 Q Available =0 =0 =1 =1 Hold TG2 Master TG4 Slave =1 =0 Figura 8.12 DFF con el reloj en estado alto. Carga del latch esclavo Cuando vuelve el reloj al estado bajo, ya que el latch esclavo queda desconectado del maestro, no hay posibilidad de cambio en la salida Q. Nótese entonces, que en el único momento que puede haber un cambio en la salida Q es cuando el reloj pasa del estado bajo al alto, ya que en ambos estados existe una desconexión de la salida o de la entrada. Esto se observa mejor en el diagrama de tiempo (Figura 8.13). (t) 1 load 0 0 load 2T T t Figura 8.13 Diagrama de tiempo para DFF Para un flip-flop de flanco negativo es necesario intercalar el latch esclavo por el maestro, del circuito anterior. El DFF puede ser mejorado con la implementación de un Enable mediante el esquema de la Figura 8.14. ϕ.LD ϕ Q ϕ.LD ϕ ϕ ϕ Slave Master ϕ ϕ Figura 8.14 DFF con Enable 287 Simulación En las Figuras 8.77 y 8.78 se presenta la simulación de un Flip-Flop tipo D hecho con compuertas de transmisión y los resultados obtenidos. VCC CLK V3 V1 = 0 + V2 = 5 _ TD = 0 TR = 10p TF = 10p 0 PW = 2m CLK PER = 4m V1 = 0 V2 = 5 TD = 0 TR = 10p TF = 10p PW = 1m PER = 2m + _ D M14 VCC V1 5+ M15 V MbreakpD Mbreakp Mbreakp D VCC Neg _CLK MbreakpD M2 M18 VCC M19 M1 0 _ M7 0 MbreakpD Neg_CLK VCC MbreakPD M16 M3 CLK V M17 Neg_CLK M5 0 M11 Mbreakp MbreaknD VCC M12 CLK M4 Mbreakp 0 MbreakpD 0 CLK M6 Neg_CLK C4 10p V VCC MbreaknD Mbreakn 0 V2 Q VCC MbreaknD Mbreakn 0 M8 VCC M20 0 M21 Mbreakn MbreaknD VCC 0 0 Mbreakn CLK MbreakND Neg _CLK 0 Figura 8.15 Circuito de simulación 1 20V 2 (G) Latch_sim (active) 10V LATCH D 15V 5V 10V 0V 5V -5V » 0V -10V 2ms 0s 1 (V)(O) 2 V(D) 4ms V(CLK) 6ms 8ms 10ms Tiempo Figura 8.16 Resultados de simulación. Variable de entrada D en verde, Reloj en rojo y salida Q en azul. Se recomienda al lector mirar el siguiente link: http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/05-switched/40-cmos/dff.html 288 Latch con nFETS Los mismos circuitos en los que se emplean compuertas de transmisión, pueden ser construidos usando solamente nFETs en vez de las compuertas de transmisión. Un latch básico es mostrado en la Figura 8.17, donde el transistor ____ de entrada M1 es controlado LD por la señal de carga mientras M2 es controlado por LD y es usado por el ciclo de realimentación en el latch inversor. La operación del circuito es idéntica a la basada en compuertas de transmisión equivalente y se sumariza en la Figura 8.18. Cuando LD = 1 , se permite cargar el bit de entrada en el circuito. Un valor de LD igual a cero bloquea el camino de la entrada y simultáneamente cierra el ciclo de realimentación. LD D Q M1 M2 LD Figura 8.17 Latch basado en nFETs. LD=1 D Q M1 M2 LD =0 (a) Load LD =0 D Q M1 M2 LD=1 (b) Hold Figura 8.18 Operación del latch compuesto por nFETs. 289 Aunque este circuito es más simple que el de TG equivalente, ya que usa dos transistores menos, al igual que elimina el cableado adicional, se debe ser cuidadoso con el diseño del circuito, pues los nFETs solamente pasan un rango limitado de voltajes. En particular, se recalca que si se aplica V DD al gate del nFET, se permite que pasen los voltajes en el rango [0,V máx ] donde V máx =V DD −VTn . Este recorte puede afectar la operación del circuito. Considere el caso expuesto en la Figura 8.19 donde se trata de transmitir un voltaje V D a través de M 1 . Si V D es igual a 0 no se presentan problemas. Sin embargo, si se tiene un voltaje alto V D =V DD , solamente se transmite V máx , el cual debe ser interpretado como un 1 lógico por el inversor. En estos términos, se tiene que V máx >V IH (1.1) Donde, V IH es el voltaje alto de entrada. Por tanto, para garantizar que el circuito opere apropiadamente, se debe diseñar un inversor con el rango apropiado de βn / β p > 1 . Una forma sencilla de lograr esto es usando transistores de tamaño idéntico con (W / L )n = (W / L )p . Otro problema a tener en cuenta, es que los transistores nFET son intrínsicamente lentos para transmitir voltajes altos. VX VDD VDD VX = Vin + VD _ M1 1 + + Vin _ VX _ 2 + VQ _ VI VI<1/2<VDD 0 a) Circuito básico VI 1/2 VDD Vmáx Vin VDD b) Curva de trasnferencia de tensión para el primer inversor. Figura 8.19 Consideraciones para el diseño de circuitos Circuitos Multivibradores Un dispositivo que tiene dos estados estables, como es el caso del flip-flop recibe el nombre de multivibrador biestable. Existen otros dos tipos, el monoestable y el astable. 290 Circuito Monoestable El monoestable, tiene un estado en el que puede permanecer indefinidamente y otro casi estable al cual se puede disparar; puede permanecer en un estado casi estable durante un intervalo de tiempo T predeterminado, después del cual regresa al estado estable y así genera un pulso de salida de duración T . De acuerdo con la Figura 8.20, la duración no está relacionada con el pulso de disparo y por lo tanto, puede usarse como estandarizador de pulso. Este multivibrador monoestable también se conoce como de un tiro. Entrada Entrada Salida Monoestable Salida T Figura 8.20 Multivibrador monoestable como bloque funcional En la Figura 8.21 se ilustra un multivibrador monoestable compuesto por dos compuertas CMOS NOR de dos entradas, un condensador C y un resistor R . La fuente de entrada V 1 proporciona los disparos para el multivibrador. +Vdd +Vdd R C V02 G1 V1 V01 +Vdd V12 G2 Figura 8.21 Monoestable con compuertas CMOS NOR Comercialmente, las compuestas CMOS tienen a la entrada, un arreglo de diodos, como el de la Figura 8.22(a), que evitan que la señal de entrada se eleve más arriba de V dd o caiga más abajo de tierra. Estos diodos tienen un efecto importante en el funcionamiento del circuito, en especial en el caso de la compuesta G 2 , donde los diodos aparecen conectados en paralelo como aparece en la Figura 8.22(b). Mientras que los diodos proporcionan una baja resistencia a la fuente de alimentación para tensiones que exceden los límites de alimentación, la corriente de entrada para tenciones intermedias es esencialmente cero. 291 +Vdd +Vdd D1' D1'' D1 D2' D2'' D2 (a) (b) Figura 8.22 (a) Diodos de entrada de compuerta CMOS de dos entradas; (b) Circuito equivalente cuando las dos entradas se unen El circuito de la Figura 8.23 simplifica un poco más las cosas. Cuando la salida de la compuerta es baja, sus características se pueden representar como una resistencia Ron a tierra, que es normalmente de cientos de Ohms (Figura 8.23(a)). En este estado se dice que la compuerta disipa corriente porque circula corriente del circuito externo hacia el terminal de la salida de la compuerta. Del mismo modo, el circuito equivalente de salida (Figura 8.23(b)) aplica cuando la salida de la compuerta es alta; puede circular corriente de V dd por el terminal de salida de la compuerta hacia el circuito externo; se dice que la compuerta genera corriente. Salida +Vdd Ron Ron Salida (a) (b) Figura 8.23 Circuito equivalente de salida de una compuerta CMOS: (a) cuando la salida es baja y (b) cuando la salida es alta ¿Cómo opera este circuito monoestable? Los diagramas de sincronía de la Figura 8.24 lo explican mejor. La Figura 8.24(a) muestra un pulso corto de disparo. Si pasamos por alto los tiempos de propagación de G1 a G2 , se puede establecer un límite inferior en el ancho del pulso ô , ô > t p1 + t p2 ( 292 ) Si consideramos el estado estable, es decir, antes de aplicar el disparo, la salida G1 es alta en Vdd , el condensador está descargado y la tensión de entrada a G2 es alto en Vdd . La salida de G2 es baja y se realimenta a G1 ; como V1 es bajo, la salida de G2 es alta como se supuso. Lo que sucede cuando se aplica el pulso de disparo es que la tensión de salida de G1 será baja, pero, debido a que G1 estará disparando un poco de corriente y a su resis ∆V1 ; la caída tencia de salida R on , su salida no llegará hasta 0V sino que cae a un valor ∆V1 se acopla por medio de C (transitorio) a la entrada de G2 . Durante el transitorio habrá una corriente que circula de Vdd , pasa por R y C y entra en la terminal de salida de G1 ∆V1 : a tierra, con lo que se forma un divisor de voltaje con y R on , del cual se determina ∆V 1 =V dd R R + Ron (1.2) La caída de tensión en la entrada de G2 hace que su salida sea alta. Esta señal mantiene baja la salida de G1 incluso después que el pulso de disparo haya desaparecido. El circuito está ahora en estado casi estable. En este estado, la corriente que pasa por C , R y R on hace que C se cargue, y la tensión V12 se eleva exponencialmente hacia Vdd con una constante de tiempo C(R + R on ) , como se indica en la Figura 8.24(c). Esta tensión continuará subiendo hasta que alcance el valor Vth del inversor G2. En ese momento G2 conmuta y su salida V02 pasa a 0V, lo que a su vez hace que G1 conmute. La salida de G1 tratará de elevarse hasta Vdd , pero su elevación estará limitada a una cantidad ∆V2 . Esta elevación en V01 se igualará finalmente por medio de C a la entrada de G2 , que se elevará una cantidad igual ∆V2 . Debido al diodo D1 , la tensión V12 se puede elevar sólo a Vdd + VD1 . Entonces de la Figura 8.24(c) se tiene: ∆V 2 =V dd +V D 1 −Vth (1.3) D1 es el que elimina el tamaño del incremento ∆V 2 . Como ahora V12 es más alto que Vdd , circulará corriente de la salida de G1 , pasa por C y después por el paralelo de R y D1 , que descarga a C hasta que V12 caiga a Vdd y V01 se eleve a Vdd . Este circuito está descrito en la Figura 8.25, donde observamos que la caída es un proceso no lineal. El circuito monoestable no debe ser disparado hasta que se descargue el condensador, porque de otra forma la salida no será el pulso estándar. El intervalo de descarga del condensador se conoce como tiempo de recuperación. Con lo anterior, el intervalo T estará dado por la expresión: Vdd R R + Ron V dd −Vth T = C ( R + Ron ) lnln (1.4) 293 ʋ1 (a) 0 t ʋ01 Constante de tiempo= C(R+Ron) VDD V1 (b) V2 0 t ʋ/2 (c) (VDD+VD1) V2 VDD To VDD Vth Constante de tiempo= C(R+Ron) V1 0 t ʋo2 (d) T VDD 0 t Figura 8.24 Diagrama de sincronización para el circuito monoestable de la Figura 8.214 +Vdd +Vdd Ron R D1 C V01 VI1 Figura 8.25 Circuito que aplica durante la descarga de C. 4 Circuitos Microelectrónicos, Sedra – Smith 294 Circuito Astable No tiene estados estables, sino dos estados casi estables y permanece en cada uno durante intervalos predeterminados T1 y T2 . Entonces, después de T1 en uno de los estados casi estables, conmuta al otro y permanece ahí T2 , después de lo cual regresa al estado inicial y así sucesivamente. Por esto, este multivibrador oscila con un período T = T1 + T2 y se puede usar para generar pulsos de sincronía. En la Figura 8.26 aparece un circuito popular astable compuesto de dos compuertas NOR CMOS, conectadas a un inversor, un resistor y un condensador. Para simplificar las cosas, la resistencia de la salida de la compuerta CMOS se pasará por alto y los diodos fijadores de nivel se asumirán como ideales. Con estas suposiciones se obtienen las formas de onda de la Figura 8.27. Es frecuente que los circuitos prácticos utilicen una gran resistencia en serie con la entrada de G1. Esto limita el efecto de la conducción del diodo y permite que Vl1 se eleve a una tensión mayor que Vdd , y del mismo modo, se caiga por debajo de cero. +Vdd +Vdd V01 V02 G1 G2 R C VI1 Figura 8.26 Circuito multivibrador astable. 295 ʋ02 VDD (a) 0 t ʋ01 T VDD (b) 0 t ʋ1I Constante de tiempo= CR VDD (c) A VDD Vth A0 0 t Figura 8.27 Formas de onda del multivibrador astable5 Para este caso, T estará dado por: V V dd T = CR lnln dd Vth V dd −Vth (1.5) Circuito Oscilador en Anillo Este oscilador se forma con un número impar de negadores en un lazo. Por lo general se usan cinco inversores, pero en este caso sólo trabajamos con tres. En la Figura 8.28 se muestra el circuito, y en la Figura 8.29 las formas de onda idealizadas en el sentido de que tienen tiempos de elevación y caídas iguales a cero. 5 Circuitos Microelectrónicos, Sedra – Smith 296 2 1 G1 V1 3 G2 V2 4 G3 V3 V1 Figura 8.28 Oscilador en anillo ʋ1 ʋ2 ʋ3 Tiempo Todos los tiempos tp Figura 8.29 Forma de onda resultante Un borde de la elevación del nodo 1 se prolonga por las compuertas 1, 2 y 3 para regresar invertido después de un tiempo de propagación de 3t p . Este borde de la caída se propaga entonces y regresa con la polaridad original (de elevación) después de otro intervalo 3t p . Se deduce que el circuito oscila con un período de 6t p . En general, el anillo de N inversores ( N impar) oscilará con un período 2Nt p . Este oscilador nos provee de un medio relativamente sencillo para medir el tiempo de propagación de un inversor. Disparador Schmitt CMOS El disparador Schmitt funciona como un circuito que define flancos como por ejemplo cuando en la entrada se presenta una señal lenta, el circuito da una salida de flanco, sin importar lo lenta que sea la señal. Las características de transferencia de voltaje presentan histéresis es decir que el valor de disparo para el flanco de subida es diferente al de bajada. Como se ve en la Figura 8.30(a). 297 VOH Vout In VOL Out (b) Schematic symbol VMVM+ (a) Voltage- transfer characteristic Vin Figura 8.30 Disparador Schmitt, (a) Características de transferencia de voltaje y (b) simbolo. Uno de los principales usos de este circuito es para filtrar señales ruidosas en señales digitales limpias como señales de rebote, el funcionamiento de este circuito también se basa en la realimentación positiva de la salida. La implementación de un disparado Schmitt en la tecnología CMOS se basa en las características de los transistores NMOS y CMOS como por ejemplo sobre todo la relación entre las constantes K N / K P . Incrementar esa relación resulta en una reducción en el voltaje de Threshold, lo que resulta en un incremento del voltaje M de la gráfica. Adaptar esa relación dependiendo de la dirección de la transición, resulta en una diferenciación de los voltajes de VM y por consiguiente en la creación de un efecto de histéresis. Esa adaptación se logra con ayuda de la realimentación. Suponga que el voltaje de entrada es 0 entonces a su vez el voltaje de salida también será 0. El lazo de realimentación enciende el transistor M 4 y apaga el transistor M 3 . La señal de entrada efectivamente conecta un inversor de dos consistente en los dos PMOS como una red de Pull-down y el transistor M 1 es el único que funciona como red de Pull-down. Esto modifica la relación efectiva entre las constantes K del inversor: KM 1 /(KM 4 + KM 2) , lo cual mueve el valor de Vth hacia arriba. VDD M2 M4 X Vin M1 Vout M3 Figura 8.31 Disparador Schmitt con CMOS 298 Una vez el inversor cambia, el lazo de realimentación apaga M 4 y el transistor NMOS M 3 se activa. Este voltaje ayuda a la transición y produce una señal limpia con flancos definidos. Un comportamiento similar se puede ver en la transición de bajo a alto. 2.5 2.5 2.0 2.0 VM+ 1.5 Vx(V) Vx(V) En la Figura 8.32 se observa claramente el efecto de cambiar la relación del PMOS M 4 , el ancho W = K * 0.5µ m VM- 1.0 1.5 1.0 k=3 k=1 0.5 0.0 0.5 0.0 0.5 1.0 1.5 2.0 2.5 0.0 k=4 k=2 0.0 0.5 Vin(V) 1.0 1.5 2.0 2.5 Vin(V) Figura 8.32 Características de transferencia de voltaje al cambiar K Registros de un solo pulso Hasta ahora solo se ha usado la topología maestro esclavo para construir Flip-Flop. Otro tipo de FF funciona a base de la creación de pulsos que activan las señales de reloj en los latches. Por supuesto esto se puede hacer con el uso de los monoestables descritos anteriormente. En ese caso la señal muestreada en cada elemento de memoria es el resultado de la medición durante un corto tiempo y es menos susceptible al ruido. VDD VDD M3 M6 Q D CLKG M2 CLKG VDD CLK CLKG MP X M5 MN M1 M4 (b) glitch generation (a) register CLK CLKG (c) glitch clock Figura 8.33 Registro de pulso - Monoestable. 299 En la Figura 8.33 se ve un monoestable algo distinto en el cual se produce un glitch en cada flanco de subida. Cuando CLK = 0 el nodo X es cargado al valor de V DD y el transistor Mn permanecerá apagado. En el flanco de subida existe un corto periodo en el cual ambas entradas de la compuerta AND están activas causando que la salida CLKG vaya a un valor lógico alto, lo que a su vez activa MN y pone el nodo X en un valor de 0 lógico. Esto hace que de nuevo la señal a la entrada de la compuerta AND sea diferente de 1 1, lo que hace que la salida se apague de nuevo. En esta configuración existe un retardo entre el flanco de subida que dispara el circuito y su salida. El retardo es igual a la suma de los retardos de la compuerta AND y de las dos compuertas negadoras. Si todos los registros en el circuito poseen el mismo mecanismo monoestable, ese retardo no tiene importancia. Si el tiempo de set-up y el tiempo de muestreo se toman referidos al momento en que se produce el glitch, entonces el primero es igual a 0 y el segundo es igual al largo del pulso y al tiempo de retardo que es igual a un retardo de dos compuertas. La ventaja de este tipo de circuito es la reducción en la carga al reloj y la reducción en el número de transistores. La desventaja es un aumento en la complejidad de los circuitos de verificación. Estas desventajas hacen que sean poco usados en circuitos, aunque últimamente se usaron en integrados de alta velocidad. Otra topología usada de registro de pulso se emplea en el procesador K6 de AMD. En esta topología cuando el reloj esta en un valor bajo M 3 y M 6 están apagados y el transistor P1 estará encendido. El nodo X estará precargado al valor de V DD y el nodo de salida Q estará desacoplado de ese nodo X y mantiene el valor de un estado anterior. CLKDN es una versión negada y con retraso de la señal CLK . En el flanco de subida del reloj M 3 y M 6 se encienden mientras que los transistores M 4 y M 1 permanecen encendidos por un corto periodo de tiempo, determinado por el retraso de los tres inversores. Durante este corto intervalo el circuito es transparente y la señal de D es muestreada por el latch. Una vez la señal de CLKDN cae a cero el nodo X es desacoplado de la entrada D y es cargado a un valor de V DD por el transistor P 2 . En el ciclo de bajada del reloj el nodo X es mantenido a V DD y la salida es mantenida estable por los negadores realimentados de la salida. VDD VDD CLK P1 P3 x M6 M3 D M2 P2 VDD M1 Q CLKD M5 M4 Figura 8.34 Registro de pulso empleado en el procesador K6 de AMD 300 3.0 2.5 D 2.0 Q Volts 1.5 1.0 CLK 0.5 CLKD 0.0 -0.5 0.0 0.2 0.4 06 time (nsec) 0.8 1.0 Figura 8.35 Diagrama de tiempos del registro de pulso de la Figura 8.34. En el diagrama de tiempos de la Figura 8.35 se observa que el registro es transparente cuando las señales de CLK y CLKDN se traslapan. Esto resulta en que la entrada puede cambiar después del flanco de subida del reloj, resultando en un tiempo negativo de set-up. La entrada D cambia a bajo, después del flanco de subida del reloj y sube a 1 después de un flanco de bajado de CLKDN (esto es debido al periodo de transferencia). Observe que la salida sigue la entrada. El valor de Q va a un valor correcto de V DD mientras la entrada D permanece correctamente en el valor un tiempo después del flanco de bajada de CLKDN . Cuando el tiempo de set-up negativo es explotado no hay garantía que exista un comportamiento monotonico a la salida. Esto significa que la salida puede tener varios valores de transición alrededor del flanco y entonces el registro de salida no puede usarse para sincronizar otros registros. Memorias de Semiconductor: Tipos y Arquitecturas Una memoria de computadora se divide en memoria de almacenamiento masivo y Memoria principal. Esta última suele ser más rápidamente accesible y aquella de la cual se ejecutan la mayor parte de las instrucciones, en general es de acceso aleatorio. La estructura regular de circuitos de memoria los ha hecho una aplicación ideal para el diseño de CI a escala muy grande (VLSI). 301 Memorias RAM Las memorias ocupan un alto volumen del mercado de circuitos integrados. En una RAM no hay desplazamiento de registros para la captura de bits. Los ingenieros muchas veces las utilizan para verificar las tecnologías emergentes dado que son relativamente fáciles de probar y de analizar las fallas. La arquitectura de una memoria de material semiconductor estática o dinámica se muestra en la Figura 8.36. Están compuestas por tres bloques principales: celdas matriciales de memoria, los decodificadores y el circuito de entrada-salida. Las memorias pueden tener acceso a un solo bit o a la palabra completa (8, 16, 32 o 64 bits) guardada en la memoria. De cualquier modo, el arreglo matricial de memoria está organizado en filas y columnas, con los bits localizados en la intersección entre ellas. Las memorias estáticas y dinámicas tienen distintos diseños de celda, las dinámicas guardan la información en un capacitor, reteniendo los datos por un tiempo limitado, después del cual la información es perdida. Sin embargo, esta puede ser retenida si se adiciona circuitería externa. Las memorias estáticas guardan la información en estructuras realimentadas (dos pares de inversores cruzados). Son más rápidas que las memorias dinámicas dado que las estáticas no tienen periodos de latencia, mientras que el costo por bit en las memorias dinámicas es más barato debido a que el número de transistores requerido por celda es menor. 2n Col k Bit cell Row i Data in Data out 2m l/O m Figura 8.36 Arquitectura general de una memoria de material semiconductor Memorias Estáticas (SRAMS) Estas memorias utilizan dos inversores en una configuración biestable realimentada. Esta operación es ilustrada cuando se grafican los voltajes de salida versus los de entrada en los mismos ejes para los dos inversores tal como se ilustra en la Figura 8.37. Los estados estables del circuito son aquellos que corresponden a la intersección donde V i = 0 y V i =V DD , mientras que la intersección donde V i =V 0 no es un estado estable (llamado estado metaestable). En consecuencia, este sistema recibe su nombre dado que solamente dos estados son estables. 302 1.8 1 1.5 1.2 l1 ξ Vi Vo 2 0.9 0.6 0.3 l2 0 0.3 0.6 0.9 1.2 Vm (a) ω 0 1.5 1.8 (b) Figura 8.37 Configuración biestable para una SRAM. El circuito de inversor realimentado mantiene su estado tanto tiempo como la alimentación sea mantenida. Cualquier perturbación de voltaje o posible corriente de fuga tendiendo a producir una interrupción en un nodo de la celda, será compensada por la salida del inversor conectado a dicho nodo. La arquitectura de seis transistores para una memoria CMOS estática se muestra en la Figura 8.38. Todas las celdas de transistores y sus interconexiones han sido minimizadas en tamaño para mantener el arreglo tan pequeño como sea posible. La línea de la palabra controla el acceso a los transistores, conectando los nodos de la celda a las líneas de bit. Cuando la línea de la palabra está en alto, todas la celdas en esa fila que están conectadas _____ a sus correspondientes líneas bit y bit pueden ser accesadas para lectura o escritura. El tiempo de acceso de_____lectura-escritura a la memoria es reducido gracias a la precarga de las líneas bit y bit , forzando a las líneas a tener el mismo voltaje antes que cualquier otra operación se lleve a cabo. La señal de precarga, que aparece en la parte superior de la Figura 8.38, enciende todos los tres transistores p forzando un valor de V DD en las dos líneas bit . La precarga evita el gran tiempo que se necesita para cargar las líneas de bit altamente capacitivas cuando las señales cambian de estado bajo a alto. Precharge Six transistor cell Word line Column line (bit) Column line (bit) Figura 8.38 Arquitectura de seis transistores para una memoria CMOS estática6 6 SEGURA, Jaume. CMOS Electronics: How it Works, how it Fails. Publicado por Wiley-IEEE, 2004. p. 289-320. 303 Aunque el tamaño de estas celdas de memoria es reducido, las palabras que se deben conducir durante el proceso de lectura a través de los transistores tienen gran longitud. Este retraso es mejorado usando circuitos análogos de tamaño reducido, llamados “sense amplifiers”, que son colocados en cada salida de bit . La Figura 8.39 muestra un típico “sense amplifier” en configuración diferencial usado para el diseño de memorias CMOS SRAM. Cuando la señal de control CS está en bajo, M 3 está apagado y la salida del “sense amplifier” queda flotante, lo cual corresponde a las operaciones de escritura. Cuando CS está en alto,_____el circuito es activado, por tanto el “sense amplifier” el lee el voltaje de las líneas bit y bit después de la precarga y rápidamente transfiere_____ valor de la celda al circuito de entrada-salida, incluso antes de que las líneas bit y bit alcancen voltajes. Si bit y CS están en alto, entonces M 1 dirige la corriente a través de M 4 . Cuando la señal bit esta en bajo y CS en alto, entonces M 2 se prende y la salida se va a bajo. Los “sense amplifiers” son usados exclusivamente en la etapa de lectura y son deshabilitados en otras operaciones. M4 bit M5 M1 CS M2 out bit M3 Figura 8.39 Sense amplifier” en configuración diferencial usado en memorias SRAM7 Memorias Dinámicas (DRAMs) Las memorias dinámicas retienen los datos en tanto la carga sea guardada en un capacitor. Esto permite el uso de pequeñas celdas de memoria, pero dado que la carga no es mantenida por medio de una estructura realimentada, los valores guardados son perdidos con el tiempo. Dos configuraciones de celdas dinámicas son mostradas en la Figura 8.40. Ambas celdas usan la capacitancia parásita de la compuerta de un transistor MOS para guardar la carga. La celda de tres transistores (Figura 8.40(a)) tiene líneas separadas para la lectura y escritura, dando como resultado una operación más rápida pero ocupando más espacio. Cuando la línea de selección de escritura está en alto, M 1 actúa como un transistor de paso, transfiriendo el estado lógico de la línea de entrada a M 2 y colocando a M 2 en un estado apagado o en conducción. La capacitancia de drenador mostrada en la Figura 8.40(b) se encarga de mantener ese estado. La señal de lectura activa a M 3 y el bit en el drenador de M 2 es transferido a través de M 3 a la línea de lectura. Esta configuración permite una operación de lectura no destructiva, es decir, que la celda no pierde su contenido una vez que la lectura es efectuada. 7 SEGURA, Jaume. CMOS Electronics: How it Works, how it Fails. Publicado por Wiley-IEEE, 2004. p. 289-320 304 La celda con un único transistor (Figura 8.40(b)) es popular dado que tiene la menor área de memoria. La carga guardada en el capacitor es perdida durante la operación de lectura debido a la carga compartida con la línea bit de la capacitancia parásita. Read select Bit line (read/write) M3 M1 read/write select M2 Write select Write line Read line (b) (a) Figura 8.40 Celdas DRAM (a) Celda de tres transistores (b) Celda de un transistor Organización de un Chip de Memoria Los bits de un chip de memoria son individualmente direccionables o direccionables en grupos de 4 a 16, pero tomaremos el primer caso para nuestro análisis. El grueso de la memoria está compuesto por celdas donde se almacenan los bits. Cada celda de memoria es un circuito electrónico capaz de almacenar un bit. Es deseable organizar las celdas de memoria en un chip en una matriz cuadrada o casi cuadrada (Figura 8.41). La matriz de celda tiene 2M renglones y 2N columnas. Cada celda de la distribución está conectada a una de las 2M filas, conocidas generalmente como filas de palabras, y a una de las 2N columnas, conocidas como líneas de dígitos o líneas de bits. Una celda en particular se selecciona para lectura o escritura al activar su línea de palabra o su línea de bits. Circuito de celda de almacenamiento Línea de bits 0 Dirección de fila (M bits) 1 A0 Línea de palabras A1 K AM - 1 Celda de almacenamiento 2M - 1 0 1 L 2N - 1 Amplificadores de salida/ excitadores Dirección de columna (N bits) AM AM + 1 Decodificador de columna AM + N - 1 Datos de entrada/salida Figura 8.41 Chip de memoria 305 La activación de una de las líneas de palabra es realizada por el decodificador de fila. Si la celda de la columna L está guardando un 1, la tensión de la línea de bit número L se eleva, por ejemplo 0.1 a 0.2V . La razón por la cual la tensión de lectura es pequeña es que la celda es pequeña, siendo ésta una deliberada decisión de diseño porque hay un gran número de celdas. La pequeña señal de lectura se aplica a un amplificador de salida conectado a la línea de bit. El decodificador de columna selecciona la señal de la columna cuya dirección de N bits se aplica a la entrada del decodificador y hace que la señal aparezca en la línea de datos de entrada/salida (I/O) del chip. Una operación de escritura prosigue de manera semejante. Debido al aumento de las capacidades de las memorias, actualmente el chip se secciona en varios bloques de memoria, cada uno organizado como se muestra en la Figura 8.41. Las direcciones de fila y columna se emiten a todos los bloques. La selección de bloques se logra usando un número apropiado de los bits de dirección como dirección de bloque. Esta arquitectura puede ser considerada como de tres dimensiones: filas, columnas y bloques. Sincronización de un Chip de Memoria El tiempo de acceso de memoria es el tiempo entre la iniciación de una operación de lectura y la aparición de los datos de salida. El tiempo de ciclo de memoria es el mínimo permitido entre dos operaciones consecutivas de memoria. Las memorias MOS tienen tiempos de acceso y ciclo entre unos pocos ns a cientos de ns. Celda de Memoria Estática La Figura 8.42 ilustra una celda típica de memoria en tecnología CMOS. El circuito es un flip-flop que comprende dos inversores acoplados en cruz y dos transistores de acceso, Q5 y Q6 . Los dos transistores conducen cuando la fila de palabra se selecciona el flip-flop a la línea de columna (bit o B ) y línea y su tensión se eleva a Vdd , y conectan ___ de columna, bit o B . Las filas B y B se utilizan. Los transistores de acceso común actúan como compuertas de transmisión permitiendo que circule corriente bidireccional entre el ___ flip-flop y las líneas B y B . Línea de palabras (W) VDD Q2 Q5 Q Q1 Q4 Q Q6 Q3 Línea de bits B Línea de bits B Figura 8.42 Celda de memoria CMOS SRAM8 8 Circuitos Microelectrónicos, Sedra – Smith 306 La operación de lectura aparece en la Figura 8.43. Inicialmente v Q = Vdd y v __ = 0 . La __ Q líneas B y B suelen ser precargadas a una tensión de alrededor de Vdd / 2 . La operación de escritura aparece en la Figura 8.44. Inicialmente, el SRAM tiene un 1 __ almacenado y se está escribiendo un 0. El circuito en (a) está subiendo el nodo Q hacia Vdd / 2 mientras que en (b) está bajando el nodo Q hacia Vdd / 2 . El tiempo de propagación de escritura tomado por la acción de conmutación del flipflop, se puede aproximar por el tiempo de propagación de un inversor. En este tipo de componentes, el tiempo de propagación para escritura es mucho menor que para lectura. C Esto se debe a que en la operación de escritura, sólo la pequeña capacitancia Q tiene que cargarse (o descargarse), mientras que en la operación de lectura tenemos que car__ gar (o descargar) las capacitancias mucho mayores en las filas B y B . En la operación de __ escritura, las capacitancias de las filas B y B se cargan (y descargan) en forma relativamente rápida por el circuito de excitación. El resultado final es el tiempo de propagación de la fila de palabras. Línea B ʋw= VDD VDD Línea B ʋw= VDD ʋB I5 Q5 CB ʋQ=0 Q4 I1 Q1 ʋB ʋQ ʋQ= VDD Q6 CB CB (a) (b) Figura 8.43 Partes relevantes del circuito SRAM durante una operación de lectura 9 VDD ʋw= VDD ʋQ (0 a VDD / 2) I5 ʋB = VDD Q5 ʋQ IC2 CQ Q I1 Q1 (0 a VDD / 2) ʋQ (VDD 0 I4 ʋQ (VDD 0 a VDD / 2) ICQ I6 Q6 ʋB= 0 CQ a VDD / 2) (a) ʋw= VDD (b) Figura 8.44 Partes relevantes del circuito SRAM durante una operación de escritura 10 9 Circuitos Microelectrónicos, Sedra – Smith 10 Circuitos Microelectrónicos, Sedra – Smith 307 Celda de Memoria Dinámica La celda de la Figura 8.45 se ha convertido en estándar de la industria. Se compone de un solo MOSFET de canal n, conocido como transistor de acceso, y un condensador de almacenamiento CS . La celda se conoce apropiadamente como celda de un transistor. La compuerta está conectada a la fila de palabras y su fuente a la fila de bits. Sólo se utiliza una fila de bits en los DRAM. BL Línea de palabra WL Q Línea de bit Cs Figura 8.45 Celda RAM dinámica de un transistor Cuando la celda está almacenando un 1, el condensador se carga a Vdd − Vt ; cuando se almacena un 0, el condensador se descarga a 0. Debido a los efectos de fuga la celda debe regenerarse continuamente (cada 5 a 10ms). Al igual que en la SRAM, el decodificador de fila selecciona una fila en particular al elevar la tensión de su fila de palabras. Esto hace que los transistores de la fila seleccionada sean conductores, conectando así los condensadores de almacenamiento de todas las celdas de fila seleccionada a sus respectivas filas de bits. Así, el condensador de la celda CS se conecta en paralelo con el de la fila de bits CB como se muestra en la Figura 8.46. CS tiene un valor típico de 30 a 50fF, mientras que CB es 30 a 50 veces más grande. Suponiendo que la tensión en el condensador de la celda es VCS = 0 , cuando está almacenado un 0, podemos escribir: C SVCS + C B V = (C B + C S ) dd + ∆V 2 2 Vdd Teniendo en cuanta la aproximación C B C S ∆V ≅ CS CB V dd VCS − 2 Si la celda está almacenando un 1, VCS =V dd −Vt ∆V (1) ≅ 308 CS CB V dd −Vt 2 (1.6) (1.7) (1.8) Mientras que si la celda está almacenando un cero, V ∆V ( 0) ≅ − CS CB V dd 2 CS =0 (1.9) Vemos que un 1 almacenado en la celda resulta en un pequeño incremento positivo en el voltaje de fila de bit, mientras que un 0 almacenado resulta en un pequeño incremento negativo. Obsérvese que el proceso de lectura es destructivo porque la tensión resultante en CS ya no será 0. Cs CB Figura 8.46 Circuito equivalente cuando la línea de palabra se eleva La operación de escritura prosigue de manera semejante a la de lectura, excepto que el bit de datos por escribirse, que se imprime en la fila de datos de entrada, es aplicado por el decodificador de columna a la fila de bits seleccionada. Aún cuando las operaciones de lectura y escritura resultan en la regeneración automática de todas las celdas de la fila seleccionada, deben tomarse medidas para la regeneración periódica de toda la memoria cada 5 a 10ms. Con esto, el chip de memoria permanece disponible para operación normal durante más del 98% del tiempo. Amplificadores de Salida y Decodificadores de Dirección Amplificador de Salida Estos dispositivos son esenciales para la correcta operación de los DRAM y su uso en los SRAM resulta en mejoras en velocidad y área. En la actualidad se encuentran en uso varios diseños de amplificadores de salida, a continuación profundizaremos en el diseño de un amplificador diferencial de salida que utiliza retroalimentación positiva. 309 Amplificador de Salida con Retroalimentación Positiva. El amplificador de salida (Figura 8.47) es un candado formado al acoplar en cruz dos inversores CMOS: un inversor está formado por los transistores Q1 y Q2 y el otro por Q3 y Q4 . Los transistores Q5 y Q6 actúan como interruptores que conectan el amplificador de salida a tierra y Vdd solo cuando se requiere acción de salida de datos; de otro modo, ∅ S es bajo y el amplificador de salida no conduce. Esto conserva potencia, lo cual es muy importante ya que por regla general hay un amplificador de salida por columna, resultando en miles de amplificadores de salida por chip. Línea de palabras Celda seleccionada Celda Vdd Q6 Фs Q2 VB Q4 x y CB Q1 Q3 CB Фs VB Amplificador diferencial de salida Q5 Q1 Q8 Q9 Circuito de igualación y precarga ФP Vdd/2 Línea B Línea B Figura 8.47 Circuito equivalente cuando la línea de palabra se eleva11 Cabe anotar que los terminales x e y son los terminales de ___ entrada y salida del amplificador, estos terminales I/O están conectados a las filas B___y B . Se requiere que el amplificador detecte una pequeña señal que aparece entre B y B , y la amplifique para producir ___ una señal a plena alternancia en B y B . Un ejemplo de este funcionamiento se presenta si durante una operación de lectura la ___ celda tenía un 1 almacenado, entonces se formará un v pequeño voltaje positivo entre B y B , con v B más alto que B__ . Entonces el amplificador v hará que v B se eleve a VDD y B__ caiga a 0V. Esta salida 1 es dirigida entonces al terminal de aguja I/O del chip por el decodificador de columna (no aparece en la gráfica) y al mismo tiempo se utiliza para volver a escribir un 1 en la celda DRAM, efectuando así el restablecimiento de la operación requerida ya que el proceso de lectura del DRAM es destructivo. 11 Circuitos Microelectrónicos, Sedra – Smith 310 En la Figura 8.47 también se ilustra el circuito de precarga e igualación, esta operación consiste en: cuando ∅ P es alto antes de una operación___ de lectura, los tres transistores conducen. Mientras Q8 y Q9 precargan las filas B y B a VDD / 2 , el transistor Q7 ayuda a acelerar este proceso al igualar los voltajes en las dos filas. Esta igualación es de vital importancia para correcta___operación del amplificador de salida: cualquier diferencia de voltaje que haya entre B y B antes de que se inicie la operación de lectura puede resultar en una errónea interpretación de su señal de entrada por el amplificador de salida. En esta figura sólo se ilustra una de las celdas en esta columna en particular, es decir, la celda cuya fila de palabras está activada, la celda puede ser o bien una celda SRAM o una DRAM, todas las otras celdas de esta columna no estarán conectadas a las filas B __ y B ya que sus filas de palabras permanecerán bajas. A continuación se presenta la secuencia de eventos durante una operación de lectura: 1. El circuito de precarga e igualación se activa al elevar la señal de control ∅P . Esto ___ hace que las filas B y B se encuentren a voltajes iguales, igual a V DD / 2 . El reloj ∅P ___ se hace bajo entonces y las filas B y B se dejan flotar durante un breve intervalo. ___ 2. La fila de palabras se hace alta,___ conectando la celda a las filas B y B . Se forma v entonces un voltaje entre B y B , con v B más alta que B si la celda está almav v __ cenando un 1, o B más baja que B__ si la celda está almacenando un 0. Para mantener simple el diseño de la celda, y para facilitar la operación a velocidades más altas, la señal de lectura, que se requiere que la celda proporcione entre B y __ B ,se mantiene pequeña (típicamente de 30 a 500mV). __ 3. Una vez que una adecuada señal de voltaje de diferencia entre B y B sea formada por la celda de almacenamiento, el amplificador de salida conduce y la conecta a tierra y a V DD a través de Q 5 y Q 6 , al elevar la señal de control de salida ∅S . Como inicialmente los terminales de entrada de los inversores están a V DD / 2 , los inversores estarán operando en la región de transición donde la ganancia es alta. Se deduce que inicialmente el candado estará operando en su punto de equilibrio inestable. Por lo tanto, dependiendo de la señal entre los terminales de entrada, el candado se moverá rápidamente a uno de sus dos puntos de equilibrio estable. Esto se obtiene por la acción regenerativa inherente en retroalimentación positiva. En la Figura 8.48 se ilustra con claridad este punto, mostrando las ondas de la señal en la fila de bits para la operación de lectura de 1 y lectura de 0. Observe que una vez que se active el amplificador de salida, éste produce la pequeña diferencia inicial, ∆V (1) ó ∆V (0) , producida por la celda, para que crezca exponencialmente ya sea a V DD (para una operación de lectura de __ 1) o a 0 (para una operación lectura de 0). Las ondas de la señal en la fila de B serán complementarías a las que se ilustran en esta Figura para la fila B . 311 VB V(1)= VDD - Vt V(1) VDD / 2 V(0) V(0)=0 Lectura 1 Lectura 0 t Línea de palabras activada Figura 8.48 Ondas de Amplificador de salida activada v B antes y después de activar el amplificador de salida 12 Examen Riguroso a la Operación del Amplificador de Salida. En el momento de activar el amplificador de salida, cada uno de sus dos inversores está operando en la región de transición a VDD / 2 . Entonces, para operación a pequeña señal, cada inversor se modela usando g mn y g mp , las transconductancias de Qn y Qp respectivamente, evaluadas a una polarización de entrada de VDD / 2 .Específicamente, un voltaje Vi a pequeña señal, superpuesto sobre VDD / 2 en la entrada de uno de los inversores, da lugar a una señal de corriente de salida del inversor de (g mn + g mp )Vi = Gm Vi ____ Esta corriente de salida es entregada a uno de los condensadores, CB o CB . El voltaje así creado en los terminales del condensador se retroalimenta entonces al otro inversor, es multiplicado por su Gm , que da lugar a una corriente de salida que alimenta al otro condensador, y así sucesivamente, en un proceso regenerativo. La retroalimentación positiva de este lazo significa que la señal alrededor del lazo, y por lo tanto v B y v B__ , crecerá o decaerá exponencialmente (como lo muestra la Figura 8.48), con una constante de tiempo de (CB / G m ) o (C __ / G m ) ya que supusimos CB = CB__ . Entonces, por ejemplo, en B una operación de lectura de 1 obtenemos: vB = V DD 2 + ∆V (1)e Gm CB t ,V B ≤V DD (1.10) Mientras que en una operación de lectura de 0, tenemos: vB = V DD 2 − ∆V ( 0)e Gm C B t (1.11) Al haber obtenido estas expresiones a partir de la operación a pequeña escala, estas describen el crecimiento (decaimiento) exponencial de v B en forma razonablemente precisa solo para valores cercanos a VDD / 2 . Con todo, se pueden usar para obtener un estimado razonable del tiempo requerido para crear un nivel particular de señal en la fila de bits. 12 Circuitos Microelectrónicos, Sedra – Smith 312 Obtención de Operación Diferencial en RAM Dinámicas. El anterior amplificador de salida responde a señales de diferencia que aparecen en filas de bits. Entonces, es capaz de rechazar señales de interferencia que son comunes amabas filas, como las causadas por acoplamiento capacitivo proveniente de filas de palabras. Para que este rechazo de modo común sea eficaz, debe tenerse cuidado para igualar ambos lados del amplificador, tomando en cuenta los circuitos que alimentan cada lado. Esta es una consideración importante en cualquier intento por hacer que la salida inherentemente asimétrica de la celda DRAM aparezca diferencial. Cada fila de bits se divide en dos mitades idénticas. Cada media fila se conecta a la mitad de las celdas de la columna y a una celda adicional, conocida como celda falsa, teniendo un condensador de almacenamiento CD = CS . Cuando una fila de palabras del lado izquierdo se selecciona para lectura, la celda falsa del lado derecho, que es controlada ___ por ∅ D , también se selecciona, y viceversa, entonces, cuando una fila de palabras del lado derecho se selecciona, la celda falsa sirve como la otra mitad de una celda DRAM diferencial. Cuando la fila de bits de la mitad izquierda__está en operación, la fila de bits de la mitad derecha actúa como su complemento (o fila B ) y viceversa. El funcionamiento del circuito de la Figura 8.49 es el siguiente: las dos mitades de la fila se precargan a VDD / 2 y sus voltajes se igualan. Al mismo tiempo, los condensadores de las dos celdas falsas se precargan a VDD / 2 . Entonces se selecciona una fila de pala____ bras y la celda falsa del otro lado se activa (con ∅ D o ∅ D elevada a VDD ). Por lo tanto la media fila conectada a la celda seleccionada desarrollará un incremento de voltaje (arriba de VDD / 2 ) de ∆V(1) o ∆V(0) dependiendo de si se almacena un 1 o un 0 en la celda. Mientras tanto, la otra mitad de la fila tendrá su voltaje conservado igual al de CD (es decir, VDD / 2 ). El resultado es una señal diferencial de ∆V(1) o ∆V(0) que el amplificador de salida detecta y amplifica cuando está activado. Como siempre, al término del proceso regenerativo, el amplificador hará que el voltaje en una mitad de la fila se convierta en VDD y que en la otra mitad se convierta en 0. Igualación y precarga Celda falsa izquierda Ф Línea 1/2 BK Línea 1/2 BK Amplificador de salida Celda falsa derecha ФD D CD Cs Líneas de palabras Cs Cs Igualación y precarga Cs CD Líneas de palabras Figura 8.49 Circuito para obtener operación diferencial a partir de la celda DRAM asimétrica 13 13 Circuitos Microelectrónicos, Sedra – Smith 313 El Decodificador de Dirección de Fila Se requiere que el decodificador de dirección de fila seleccione una de las 2M filas de palabras, en respuesta a una entrada de dirección de M bits. Como ejemplo considere el caso de que M = 3 y denote los tres bits de dirección A0 , A1 y A2 , y las ocho filas de palabras W0 ,……..,W7 . Convencionalmente, la W0 de fila de palabra será alta cuando A0 = 0 , A1 = 0 y A2 = 0 , por lo que podemos expresar W0 como una función de Bool de A0 , A1 y A2 : __ __ __ W0 = A0 A1 A2 = A0 + A1 + A2 (1.12) Por lo tanto, la selección de W0 puede ser efectuada por una compuerta NOR de tres entradas cuyas tres entradas se conecten a A0 , A1 y A2 , y cuya salida se conecte a la fila de palabras 0. La fila de palabras W3 será alta cuando A0 = 1 , A1 = 1 y A2 = 0 , y ___ ____________________ ___ ___ W3 = A0 A1 A2 = A0 + A1 + A2 (1.13) realizada por una compuerta NOR de En consecuencia la selección de W3 puede__ser ___ _ tres entradas, y que estas estén conectadas a A 0 , A1 y A 2 y cuya salida esté conectada a la fila 3 de palabras. En esta forma podemos ver que este decodificador de dirección se puede construir con ocho compuertas NOR de tres entradas. Cada compuerta NOR es alimentada con la apropiada combinación de bits de dirección y sus complementos, correspondientes a la fila de palabras a la cual está conectada su salida. Un método sencillo para construir estas funciones NOR lo constituye la estructura de matriz como se muestra en la Figura 8.50. VDD ФP Fila 0 ФP Fila 1 ФP Fila 2 ФP Fila 3 ФP A2 A2 A1 A1 A0 A0 Dirección de fila Figura 8.50 Decodificador de dirección NOR en forma de circuito 14 Circuitos Microelectrónicos, Sedra – Smith 314 14 Este circuito es dinámico, donde cada fila de renglones tiene unido un dispositivo de canal p que se activa antes de proceso de decodificación mediante el uso de la señal de control de precarga ∅ P . Durante la precarga ( ∅ P baja), todas las filas de palabras son elevadas a VDD . Se supone que, en este punto, los bits de entrada de dirección todavía no se aplican y todas las entradas son bajas; de aquí que no haya necesidad para que el circuito incluya el transistor de evaluación utilizado en compuertas lógicas dinámicas. Entonces, la operación de decodificación comienza cuando se aplican los bits de dirección y sus complementos. Observe que los transistores NMOS están situados de modo que las filas de palabras no seleccionadas se descargarán. Para cualquier combinación de entrada, sólo una fila de palabras no se descargará y por lo tanto su voltaje permanecerá alto en VDD . ___ ___ De igual manera, la fila 3 tiene transistores conectados a A , A1 y A2 , y así será 0 alto cuando A0 = 1 , A1 = 1 y A2 = 0 , y así sucesivamente. Una vez que las salidas del decodificador se estabilizan, las filas de salida se conectan a las filas de palabra de la distribución, por regla general a través de compuertas de transmisión controladas por reloj. Este decodificador se conoce como decodificador NOR. Es importante anotar que debido a la operación de precarga, el circuito decodificador no disipa potencia estática. El Decodificador de Dirección de Columna La función del decodificador de dirección de columna es conectar una de las filas de 2 bits a la fila de datos de I/O del chip. Entonces, es un multiplexor y se puede poner en práctica usando circuitos lógicos de transistor de paso, como se muestra en la Figura 8.51. N Líneas de bits B0 AM+N-1 Decodificador NOR Dirección de columna de N bits By-1 0 AM AM+1 B1 1 Multiplexor de transitor de paso 2N-1 Datos de entrada/ salida Figura 8.51 Decodificador de columna construido por una combinación de un decodificador NOR y un multiplexor de transistor de paso 15 Aquí cada fila de bits está conectada a la fila de datos de I/O por medio de un transistor MOS. Las compuertas de los transistores de paso están controladas por filas 2N , una de las cuales es seleccionada por un decodificador NOR semejante a la empleada para decodificar la dirección de fila. Una construcción alternativa del decodificador de columna que utiliza un pequeño número de transistores (pero a cambio de una velocidad de operación más lenta), se 15 Circuitos Microelectrónicos, Sedra – Smith 315 muestra en la Figura 8.52. Este circuito, que se conoce como decodificador de árbol, tiene una estructura sencilla de transistores de paso. Desafortunadamente, dado que puede existir un número relativamente grande de transistores en la trayectoria de señales, la resistencia de las filas de bits aumenta y la velocidad se reduce de modo correspondiente. Líneas de bits B0 A0 B1 A0 A0 A0 B3 B2 A0 A1 A1 B6 B3 B4 A0 A0 A1 B7 A0 A1 A2 A2 Datos de entrada/salida Figura 8.52 Decodificador de columna en árbol 16 Memoria de Solo Lectura (ROM) U na ROM es una memoria que contienen patrones fijos de datos. Una de sus aplicaciones es en microprocesadores en donde se utiliza para almacenar instrucciones del programa de sistema operativo, y es útil para este tipo de aplicaciones ya que no es volátil (retiene su contenido cuando se apaga la fuente de alimentación). Una ROM se puede ver como un circuito lógico combinacional para el cual la entrada es el conjunto de bits de dirección de la ROM y la salida es el conjunto de bits de datos recuperados desde la ubicación dirigida. Este punto de vista lleva a la aplicación de las ROM en conversión de códigos, es decir, en el cambio de código de la señal de un sistema (binario, por ejemplo) a otro. Se utiliza conversión de código, por ejemplo, en sistemas secretos de comunicaciones, donde el proceso se conoce como codificación. 16 Circuitos Microelectrónicos, Sedra – Smith 316 MOS ROM En la Figura 8.53 se muestra una MOS ROM simplificada de 32 bits (8 palabras x 4 bits). Esta memoria está compuesta por un conjunto de MOSFET de enriquecimiento cuyas compuertas están conectadas a las filas de palabras, con sus fuentes conectadas a tierra y sus drenajes a las filas de bits. Cada fila de bits está conectada a la fuente de alimentación por medio de un transistor de carga PMOS, a la manera de los circuitos lógicos pseudo-NMOS. Un transistor NMOS existe en una celda en particular si ésta está almacenando un 0; una celda que almacena un 1 no tiene MOSFET. Esta ROM puede ser considerada como de 8 palabras de 4 bits cada una. El decodificador de fila selecciona una de las ochos palabras al elevar el voltaje de la correspondiente fila de palabras. Los transistores de celdas conectados a esta fila de palabras conducirán entonces, reduciendo así el voltaje de las filas de bits (a las que los transistores de la fila seleccionada están conectados) de VDD a un voltaje cercano al voltaje de tierra (nivel de lógica 0). Las filas de bits que están conectadas a las celdas (de la palabra seleccionada) sin transistores (es decir, aquellas que almacenan un 1) permanecerán al voltaje de la fuente de alimentación (lógica 1) por la acción de los dispositivos PMOS de carga de conexión. En esta forma se pueden leer los bits de la palabra dirigida. Una desventaja del circuito ROM de la Figura 8.53 es que disipa potencia estática. Específicamente, cuando se selecciona una palabra, los transistores de esta fila en particular conducirán corriente estática que es alimentada por los transistores PMOS de carga. La disipación de potencia estática se puede eliminar por medio de un simple cambio. Más que conectar a tierra los terminales de la compuerta de los transistores PMOS, se pueden conectar a una fila de precarga ∅ que normalmente es alta. Justo antes de una operación de lectura, ∅ se reduce (baja) y las filas de bits se precargan a VDD por medio de los transistores PMOS. La señal ∅ de precarga se eleva entonces, y la fila de palabras se selecciona. Las filas de bits que tienen transistores en la palabra seleccionada se descargan entonces, indicando así ceros almacenados, mientras que aquellas filas para las que no está presente un transistor permanecen a VDD , indicando que almacenan números 1. ROM Programables de Mascarilla Los datos estudiados antes se determinan en el momento de la fabricación, de acuerdo con las especificaciones del usuario. Este proceso consiste en fabricar circuitos integrados en una oblea de silicio usando una secuencia de pasos de procesamiento que incluyen fotomáscara, grabado y difusión. Es esta forma, se crea un patrón de uniones e interconexiones en la superficie de la oblea. Uno de los pasos finales en el proceso de fabricación consiste en cubrir la superficie de la oblea con una capa de aluminio y luego se graba de manera selectiva (usando una mascarilla) para eliminar partes de aluminio, dejando aluminio solo donde se desean las interconexiones. Este último paso se puede emplear para programar (es decir, almacenar un patrón deseado) en una ROM. Por ejemplo, si la ROM se hace de transistores MOS de enriquecimiento como en la Figura 8.53, entonces se incluyen MOSFET en todas las ubicaciones de bits, pero sólo las compuertas de los transistores en donde se vayan a guardar ceros se conectan a las filas de palabras; las compuertas en donde se vayan a guardar números 1 no se conectan. Este patrón está determinando por la mascarilla, que se produce de acuerdo con las especificaciones del usuario. 317 W1 W2 Decodificador de fila Dirección de palabra W3 W4 W5 W6 W7 W8 B3 B2 B1 B0 Figura 8.53 Memoria MOS sencilla de solo lectura organizada como 8 palabras x 4 bits 17 Las ventajas económicas del proceso de programación con mascarilla deben ser obvias: todas las ROM se fabrican de modo semejante; los diseños personalizados se presentan durante uno de los pasos finales de fabricación. ROM Programables (PROM y EPROM) Las PROM son ROM que pueden ser programadas por el usuario, pero solo una vez. En un diseño típico utilizado en las BJT PROM se emplean fusibles de polisilicio para conectar el emisor de cada BJT a la correspondiente fila de dígito. Dependiendo del contenido deseado de una celda ROM, el fusible se puede dejar intacto o quemarse con una elevada corriente. El proceso de programación, obviamente, es irreversible. 17 Circuitos Microelectrónicos, Sedra – Smith 318 Una ROM programable que se puede borrar, o EPROM, es una ROM que puede ser borrada y reprogramada tantas veces como el usuarios desee, con lo que es el tipo más adaptable de memoria de sólo lectura; pero debe observarse que el proceso de borrado y reprogramación es lento y puede realizarse pero no con frecuencia. Las EPROM más avanzadas utilizan variantes de la celda de memoria cuya sección transversal se muestra en la Figura 8.54(a). La celda es básicamente un MOSFET de canal n del tipo de enriquecimiento con dos compuertas hechas de material de polisilicio. Una de las compuertas no está eléctricamente conectada a ninguna otra parte del circuito, mas bien, se deja flotando y apropiadamente recibe el nombre de compuerta flotante. La otra compuerta, que se denomina compuerta selectiva, funciona en la misma forma que la compuerta de un MOSFET normal de enriquecimiento. Compuerta Selectiva Si Óxido Si Compuerta Sflotante Dren n+ D Fuente n+ Sustrato de silicio tipo p (a) Compuerta selectiva S (b) Figura 8.54 Transistor MOS, (a) Sección transversal y (b) símbolo de circuito del transistor de compuerta flotante usada como celda EPROM El transistor MOS de la de la Figura 8.54 se conoce como transistor de compuerta flotante. En el símbolo que lo acompaña, la línea interrumpida denota la compuerta flotante. La celda de memoria se conoce como celda de compuerta apilada. La operación del transistor de compuerta flotante, parte del hecho de que antes de programar la celda no existía carga en la compuerta flotante y el dispositivo opera como MOSFET normal de enriquecimiento de canal n. Por lo tanto, exhibe la curva característica iD − VGS es la que se observa en la Figura 8.55(a) y se dice que almacena un 1. 319 iD Programado (0) No programado (1) (b) (a) 0 טGS Voltaje de salida Figura 8.54 Ilustración del desplazamiento de la curva característica iD − VGS de un transistor de compuerta flotante como resultado de una programación 18 Para programar el transistor de compuerta flotante, se aplica un elevado voltaje (16 a 20V) entre su drenaje y fuente. Simultáneamente, se aplica un elevado voltaje (unos 25V) a su compuerta selectiva. En la Figura 8.56 se muestra el MOSFET de compuerta flotante durante la programación. En ausencia de carga alguna en la compuerta flotante, el dispositivo se comporta como MOSFET normal de enriquecimiento de canal n. Se crea una capa (canal) de inversión de tipo n en la superficie de la oblea como resultado del elevado voltaje positivo aplicado a la compuerta selectiva. Debido al elevado voltaje positivo en el drenaje, el canal tiene una forma ahusada. +25V Compuerta Selectiva +16V Óxido Canal n Dren n+ Fuente n+ Capa de agotamiento Sustrato p Figura 8.55 Transistor de compuerta flotante durante una programación 18 Circuitos Microelectrónicos, Sedra – Smith 320 El voltaje entre drenaje y fuente acelera electrones a través del canal. A medida que estos electrones llegan al extremo del drenaje del canal, adquieren energía cinética suficientemente grande y se conocen como electrones calientes. El elevado voltaje positivo en la compuerta selectiva (mayor que el voltaje de drenaje) establece un campo eléctrico en el óxido aislante. Este campo eléctrico atrae los electrones calientes y los acelera hacia la compuerta flotante. En esta forma se carga la compuerta flotante y la carga que acumula queda atrapada. Afortunadamente, el proceso de carga de la compuerta flotante es autolimitante. La carga negativa que acumula en la compuerta flotante reduce la intensidad del campo eléctrico en el óxido al punto que finalmente es incapaz de acelerar más electrones calientes. La carga negativa atrapada en la compuerta flotante hará que los electrones sean repelidos de la superficie del sustrato. Esto implica que para formar un canal, el voltaje positivo que tiene que ser aplicado a la compuerta selectiva tendrá que ser mayor que la requerida cuando la compuerta flotante no está cargada. En otras palabras, el voltaje de umbral Vt del transistor programado será más alto que el del dispositivo no programado. De hecho la programación hace que la curva característica iD − VGS se desplace a la mostrada en la Figura 8.55(b). En este estado, conocido como estado programado, se dice que la celda está almacenado un 0. Una vez programado, el dispositivo de compuerta flotante retiene su curva característica iD − VGS desplazada incluso cuando la fuente de alimentación se apague. De hecho, resultados experimentales extrapolados indican que el dispositivo puede permanecer en el estado programado hasta por 100 años. Leer el contenido de la celda de compuerta apilada es fácil: un voltaje VGS situado entre valores bajo y alto de umbral se aplica a la compuerta selectiva. Mientras que un dispositivo programado (el que almacena un 0) no conduce, un dispositivo no programado (el que almacena 1) conduce densamente. Para regresar el MOSFET de compuerta flotante a su estado no programado, la carga almacenada en la compuerta flotante tiene que regresar al sustrato. Este procedimiento de borrado se efectúa iluminando la celda con luz ultravioleta durante un tiempo especificado, esta se encarga de impartir la suficiente energía fotónica a los electrones atrapados, permitiéndoles vencer la inherente barrera de energía y por lo tanto ser transportados por el óxido, de regreso al sustrato. Para permitir este proceso de borrado, el paquete EPROM contiene una ventanilla de cuarzo. Es importante anotar que el dispositivo puede ser borrado y programado muchas veces. Una ROM programable adaptable es la PROM borrable eléctricamente (EEPROM). Como su nombre lo indica, una EEPROM se puede borrar y reprogramar eléctricamente sin necesidad de iluminación ultravioleta. Las EEPROM utilizan una variante del MOSFET de compuerta flotante. 321 CAPÍULO 9 Lógica Dinámica en CMOS Introducción L a lógica dinámica o también llamada lógica sincronizada es una metodología de diseño en los circuitos lógicos CMOS digitales que fue muy popular en los años setenta y en los últimos años ha resurgido en el diseño de circuitos digitales de alta velocidad. La lógica dinámica se distingue de la llamada lógica estática en el sentido que utiliza una señal de reloj en la implementación de circuitos lógicos combinacionales, es decir, los circuitos lógicos en los que la salida es una función sólo de la entrada actual. El habitual uso de una señal del reloj es para sincronizar las transiciones en circuitos de lógica secuencial, y para la mayoría de las implementaciones de lógica combinacional, una señal de reloj no es ni siquiera necesaria. Lógica estática versus lógica dinámica L a mayor diferencia entre lógica estática y lógica dinámica es que en la lógica dinámica una señal de reloj es usada para evaluar la lógica combinacional. En un circuito lógico estático, cada nodo tiene en todo momento una trayectoria de baja resistencia a V dd o tierra. Por esta razón el voltaje de cada nodo está bien definido en todo momento y ningún nodo se deja flotando. Los circuitos estáticos no necesitan relojes (es decir señales de tiempo periódicas) para su operación, aunque los relojes pueden estar presentes para otros propósitos. En contraste los circuitos lógicos dinámicos a punto de ser analizados dependen del almacenamiento de voltajes de señal en capacitancias parásitas ubicadas en ciertos nodos del circuito. Como la carga se escapará con el tiempo, los circuitos tienen que ser refrescados periódicamente; por tanto, es esencial la presencia de un reloj con cierta frecuencia mínima especificada. En la lógica dinámica la salida se tomará alta o baja durante distintas partes del ciclo de reloj. Aunque la lógica CMOS estática es ampliamente utilizada por sus elevados márgenes ruido y la relativa facilidad de diseño, tiene la limitación de que a elevadas frecuencias pierde sus ventajas. Para aplicaciones de circuitos que requieren las más altas velocidades posibles, es aquí donde la lógica dinámica CMOS cuenta con numerosas ventajas frente a la estática CMOS, incluyendo no sólo el desempeño a altas velocidades, sino también la reducción significativa de la superficie. Sin embargo las ventajas no vienen sin un costo, ya que debido a la naturaleza de la lógica dinámica CMOS, pueden aparecer efectos indeseados en el circuito lo cual requiere un esfuerzo adicional en el diseño de ingeniería. Los dispositivos estáticos tienen intrínsecamente más componentes y transistores sincronizados que los dispositivos dinámicos. Un latch completo, por ejemplo, en su configuración tradicional requiere de 66 transistores mientras que en una configuración dinámica 325 puede requerir solo de 36 transistores. El número de transistores usados para construir un flip flop es reducido al utilizar la lógica dinámica a diferencia de la estática. Reducir el número total de transistores no sólo permite que el dispositivo general sea significativamente menor en tamaño, sino que también reduce los requisitos de alimentación del sistema. La combinación de circuitos de lógica estática y dinámica puede producir una mejora del rendimiento en una variedad de funciones útiles, tales como latches, flip flops y latches diferenciales. La combinación de bloques de precarga con bloques de no precarga se denomina lógica combinacional. Principio Básico E l entendimiento de los principios básicos de lógica dinámica CMOS comienza como primer paso por un entendimiento de las propiedades básicas de los dispositivos MOSFET, así como las características de lógica estática y pseudo-NMOS. Debido a la estructura interna de dispositivos MOSFET, una capacitancia bien calculada puede ser asociada a través de todas las combinaciones posibles de las terminales de la compuerta, el drenaje, la fuente, y el cuerpo. Cuando la carga es aplicada a estas capacitancias, las correspondientes terminales tendrán subidas de voltaje, y cuando la carga es quitada, las terminales tendrán un decaimiento en la tensión, por lo cual se podría modelar como un condensador. Modelar los terminales MOSFET como condensadores, es útil para explicar los voltajes y corrientes asociadas con los MOSFETs en un circuito complejo. Los MOSFETs son caracterizados por sus tres modos de operación: corte, activo, y saturado. Sin embargo, durante el flujo de la corriente por el dispositivo, para ambos modos activo y saturado, es útil considerar el MOSFET como encendido en estado de conducción o apagado cuando ninguna corriente fluye. Para un NMOS, el dispositivo está encendido cuando la tensión entre la compuerta y la fuente (VGS ) es mayor que la tensión de umbral del dispositivo, VT . Para este documento, las entradas de las compuertas MOSFET podrían ser alto o bajo, V DD o GND respectivamente. Por lo tanto, en el PMOS si la fuente está conectada a V DD , el PMOS sólo estará encendido si la compuerta esta en baja tensión. Del mismo modo, si la fuente NMOS está conectado a GND, el NMOS sólo se activa cuando la compuerta de tensión esta en alta tensión. En la lógica estándar CMOS, un dispositivo PMOS complementa siempre un dispositivo NMOS. La modificación de esta lógica para que un menor número de dispositivos PMOS sean necesarios mejora enormemente el rendimiento del circuito. Un método para reducir el número de dispositivos PMOS en el circuito es usar lo que se denomina lógica pseudo-NMOS, que en lugar de utilizar un PMOS para cada dispositivo NMOS, utiliza 326 un solo dispositivo PMOS como una carga para todos los demás NMOS. Dado que la tensión en la compuerta del PMOS está siempre en GND, entonces el dispositivo PMOS está siempre encendido. La salida después del circuito pseudo-NMOS es selectivamente descargada a GND a través de la lógica NMOS. Mientras los dispositivos NMOS están en el estado encendido forman un pull down hacia GND y el dispositivo PMOS está siempre ON, habrá algunas veces durante el funcionamiento del circuito donde el camino se forma a partir de V DD a GND. La lógica pseudo-NMOS debe ser sensible con el fin de reducir al mínimo la disipación de potencia. En otras palabras, el PMOS debe ser «débil» o tan pequeño como para tener la menor capacitancia asociada con el dispositivo. Ahora teniendo cierto entendimiento de las propiedades básicas de los dispositivos MOSFET, se empezará a explicar la estructura básica de los circuitos lógicos MOS dinámicos. La Figura 9.1 muestra la compuerta lógica dinámica básica, que se compone de una red de circuitos lógicos NMOS o de polarización a nivel lógico bajo (PDN). En esta estructura se tienen dos conmutadores en serie que son operados periódicamente por la señal de reloj CLK o ∅ , dependiendo de la nomenclatura, cuya forma de onda se muestra en la Figura 9.2. VDD Φ QP y CL A B C PDN Φ Qc Figura 9.1 Estructura básica de circuitos lógicos MOS dinámicos1 Φ Precarga Evaluar VDD 0 t Figura 9.2 Forma de onda del reloj requerido para operar el circuito lógico dinámico 2 1 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 2 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 327 Cuando ∅ se encuentra en un nivel bajo, Q P se activa y se dice que el circuito está en fase de inicio o precarga. Cuando ∅ se encuentra en un nivel alto, Q P se desactiva y Qe se activa, y el circuito se encuentra en la fase de evaluación. A la salida se encuentra C L que denota la capacitancia total entre salida y tierra. Durante la precarga, Q P conduce y carga la capacitancia C L de modo que al final del intervalo de precarga el voltaje en la salida Y es igual a V DD . También durante la precarga se permite que las entradas A, B y C cambien y se asienten en sus valores apropiados. Se puede observar que como Qe está desactivado, no existe trayectoria a tierra. Durante la fase de evaluación Q P se desactiva y Qe se activa. Ahora, si la combinación de entrada es una que corresponde a una salida alta, la lógica del circuito NMOS o PDN no conduce (justo como en una compuerta CMOS complementaria) y la salida permanece alta en V DD . Por otra parte, si la combinación de entradas es una que corresponde a una salida baja, los transistores NMOS apropiados en la PDN conducirán y establecerán una trayectoria entre el nodo de salida y tierra a través del transistor activo Qe . Por tanto, C L se descargará a través del PDN y el voltaje en el nodo de salida se reducirá a 0V. Como ejemplo se muestra la función Y = A + BC en la Figura 9.3. La determinación del tamaño de los transistores de la red PDN con frecuencia sigue el mismo procedimiento que se emplea en el diseño de los CMOS estáticos. Para Q P se elige un cociente W/L suficientemente grande para garantizar que C L se cargará por completo durante el intervalo de precarga. Sin embargo, el tamaño de Q P deberá ser pequeño de modo que la capacitancia C L no se incremente de manera significativa. Ésta es una forma sin relación de lógica MOS, en la que los niveles de salida no dependen de los cocientes W/L de los transistores. VDD Φ QP y= A + BC B A C Φ Qc Figura 9.3 Circuito de ejemplo 3 3 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 328 Efectos no ideales A continuación se explicará brevemente algunas fuentes de operación no ideal de circuitos lógicos dinámicos. Márgenes de ruido Considerando a NM H y NM L los márgenes de ruido de una familia de circuitos lógicos, con NM H ≡VOH −V IH y NM L ≡V IL −VOL , de acuerdo a la curva característica de transferencia de voltaje (VTC) de un inversor lógico (Figura 9.4). VO Pendiente = -1 VOH Pendiente = +1 VM Pendiente = -1 VMH VML VOL 0 VOL VIL VM VIH VOH Vt Figura 9.4 Característica de transferencia de voltaje de un inversor lógico 4 Durante la fase de evaluación los transistores NMOS comienzan a conducir con v I =Vtn , entonces: V IL ≅V IH ≅Vtn (1.1) Y por tanto los márgenes de ruido para este caso serán: NM L =Vtn NM H =V DD −Vtn (1.2) (1.3) 4 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 329 De esta forma, los márgenes de ruido están lejos de ser iguales y NM L es más bien bajo. Aunque NM H es alto, otros efectos no ideales reducen su valor, como se verá en breve. Sin embargo se puede observar que el nodo de salida es uno de alta impedancia y por tanto será susceptible a la captación de ruido y otras perturbaciones. Decaimiento del voltaje de salida provocada por efectos de fuga Si no existiera una trayectoria a tierra a través de la red PDN, idealmente el voltaje de salida permanecerá alto en V DD . Sin embargo, esto se basa en la suposición de que la carga C L permanecerá intacta. En la práctica existirá corriente de fuga que hará que C L se descargue lentamente y que el voltaje de salida V y disminuya. La principal fuente de fugas es la corriente opuesta de la unión inversamente polarizada entre la difusión de drenaje de los transistores que están conectados al nodo de salida y el sustrato. Tales −15 corrientes pueden estar del orden de 10−12 A a 10 A y se incrementan rápidamente con la temperatura (casi se duplican con cada 10ºC de elevación de temperatura). Por tanto el circuito puede funcionar en forma defectuosa si el reloj opera a muy baja frecuencia y el nodo de salida no es “refrescado” periódicamente. Carga Compartida La Figura 9.5 explica otra forma en que C L puede perder parte de su carga y por tanto hacer que V y decrezca de manera importante por debajo de V DD . VDD Φ=VDD QP 0 Y iD1 VDD CL Q1 iD1 C1 0 0V Q2 Figura 9.5 Carga Compartida 5 5 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 330 En la Figura 9.5 se pueden ver solo Q1 y Q 2 , los dos transistores superiores de la PDN, junto con el transistor de precarga Q P . En este caso C 1 es la capacitancia entre el nodo común de Q1 y Q 2 y tierra. Al principio de la fase de evaluación, una vez que Q P se desactiva y C L se carga a V DD , se supone que C 1 inicialmente esta descargada y que las entradas son tales que en la compuerta de Q1 se tiene una señal alta, mientras que en la compuerta de Q 2 la señal esta baja. Es fácil ver que Q1 se activará y que su corriente de drenaje i D 1 fluirá como se indica. Por tanto, i D 1 descargará a C L y cargará a C 1 . Aunque a la larga i D 1 se reducirá a cero, C L habrá perdido algo de su carga, la cual habrá sido transferida a C 1 . Para reducir al mínimo este efecto, un método sería agregar un dispositivo de canal p que conduzca continuamente una pequeña corriente para reponer la carga perdida por C L , como se muestra en la Figura 9.6. VDD Φ QP QL Y CL Figura 9.6 a adición de un transistor Q L permanentemente activo soluciona el problema de carga compartida a expensas de la distribución de potencia estática 6 La adición de este transistor bajará el nivel de impedancia del nodo de salida y lo hará menos susceptible al ruido, al tiempo que resolverá los problemas de fugas y de distribución de carga. Otro método es precargar los nodos internos, es decir, precargar el capacitor C 1 , con lo cual el precio que se paga, es el incremento de la complejidad del circuito y de las capacitancias de nodo. Compuertas lógicas dinámicas conectadas en cascada Si se intenta conectar en cascada las compuertas lógicas dinámicas surge un gran problema. Considere la situación que se ilustra en la Figura 9.7, donde dos compuertas dinámicas de una sola entrada están conectadas en cascada. Durante la fase de precarga C L 1 y C L 2 se cargarán a través de Q P 1 y Q P 2 , respectivamente. Por tanto al final del intervalo de precarga se tiene v y 1 =V DD y v y 2 =V DD . A continuación considere lo que sucede en la fase de evaluación para el caso de entrada A alta. Obviamente, el resultado correcto será Y1 bajo v y 1 = 0 y Y2 alto v y 2 =V DD . Sin embargo lo que sucede es un poco diferente. Conforme comienza la fase de evaluación, Q1 se activa y C L 1 comienza 6 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 331 a descargarse, sin embargo, al mismo tiempo, Q 2 se activa y C L 2 también comienza a descargarse. Solo cuando v y 1 decae por debajo de Vtn , Q 2 se desactivará. Sin embargo, por desgracia, en ese momento C L 2 habrá perdido una cantidad significativa de su carga y v y 2 será menor que el valor esperado de V DD (aquí es importante señalar que en la lógica dinámica una vez que la carga se pierde no puede ser recuperada). Este problema es lo suficientemente serio para hacer que la conexión en cascada sea una proposición impráctica, no obstante, se han propuesto varios esquemas para posibilitar la conexión en cascada en circuitos lógicos dinámicos. VDD VDD Φ QP1 Φ QP2 Y1 A Q1 Φ QC1 Y2 CL1 Q2 Φ CL2 QC2 Figura 9.7 Dos compuertas lógicas de dos entradas simples conectadas en cascada. Con la entrada A alta, durante la fase de evaluación CL2 se descargará en parte y la salida Y2 caerá por debajo de VDD lo que puede provocar un funcionamiento lógico defectuoso 7 Tipos de Lógica CMOS dinámica Lógica PSEUDO NMOS La lógica pseudo-NMOS está basada en el hecho de usar solamente transistores NMOS al implementar bloques usando sólo un transistor PMOS. El desarrollo de este tipo de lógica se dio a razón de mejorar la lógicas existentes de transistores NMOS de enriquecimiento y NMOS de agotamiento, ya que si bien, éstas posibilitaban que el proceso de fabricación fuera más sencillo que el de CMOS y permitían la realización de sistemas completos en NMOS, tenían desventajas como el alto consumo de potencia estática y los pequeños márgenes de ruido. También se desarrolló con el objetivo de trabajar conjuntamente con los circuitos CMOS complementarios y mejorar algunas de sus características como el número de transistores, mas no para remplazar este otro tipo de lógica. En la 7 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 332 Figura 9.8 se muestra el esquema del inversor lógico pseudo-NMOS, el transistor Q N se activa por el voltaje de entrada CLK1, mientras que el transistor Q P se comporta como una carga activa para Q N ,de aquí el nombre de pseudo-NMOS. Podemos observar que una gran ventaja de esta configuración es que para agregar entradas adicionales solo se deben poner más transistores NMOS sin necesidad de su complemento, con esto reduciremos los tiempos de propagación que aparecen por la convergencia de las compuertas CMOS complementarias. source QP gate pmos drain Out drain clk1 QN gate nmos source Figura 9.8 Inversor pseudo-NMOS Características estáticas Las características estáticas para el inversor pseudo-NMOS se pueden deducir de una forma similar a las de la lógica CMOS, podemos observar que las corrientes de drenaje para ambos transistores, con v l = CLK 1 y v 0 = out 1 , están dadas por: 1 2 i ÐÐÐ = k (v −V ) 2 , parav 0 ≥ v −V ( saturación ) 1 i ÐÐÐ = k (v −V ) *v 0 − v 02 , parav 0 ≤ v −V (triodo ) 2 1 2 i ÐÐÐ= k (V −V ) 2 , parav 0 ≤V ( saturación ) 1 2 2 (1.5) (1.6) i DP = k p (V DD −Vt ) * (V DD −v 0 ) − (V DD −v 0 ) , parav 0 ≥Vt (triodo ) (1.4) (1.7) ' Con la suposición que Vtn = −Vtp =Vt y empleando k n = k n' (W / L ) y k p = k p (W / L ) para simplificar los cálculos. Para obtener la curva de transferencia de voltaje (VTC) del inversor, se grafican las ecuaciones entre los valores extremos de la alimentación, en la Figura 9.9 están superpuestas las ecuaciones para las regiones tríodo y saturación de los respectivos transistores. 333 Vi = VDD iDN ,iDP Curva de carga i estática E Vi = 0 A VOL VDD - Vt Vt VDD Vo Figura 9.9 Construcción gráfica para determinar la curva característica de transferencia de voltaje del inversor 8 Observando primero el caso en que v l = 0 , Q N se encuentra en región de corte, mientras que Q P opera en la región de tríodo. El inversor trabajará en el punto A de la Figura 9.9. La corriente estática es cero y la disipación de potencia estática también. Cuando v l =V DD , el inversor opera en el punto E de la Figura 9.9, de acuerdo a esto VOL no es cero, sino que es un valor un poco mayor que cero, por lo cual la salida conducirá una corriente y habrá una disipación de potencia estática significante. Características dinámicas Para obtener las características dinámicas del inversor se trabaja igual que con el inversor CMOS, se pone una carga capacitiva a la salida, la cual se carga con la corriente del transistor PMOS i dp y se determina el tiempo de subida t PLH . En pseudo-NMOS el caso de la descarga es distinto, ya que a la corriente del transistor NMOS se le debe restar la corriente del PMOS que siempre está presente, y para este tipo de lógica los tiempos de subida y de bajada serán distintos, es decir su forma de onda será asimétrica debido a que las ecuaciones que relacionan los tiempos dependen de los valores de fabricación k p y k n , los cuales guardan entre si una relación de escala r , que es la relación que también van a guardar los tiempos de subida y de bajada siendo t PLH r veces más grande que t PHL . Curva de transferencia de voltaje (VTC) En la Tabla 9.1 y la Figura 9.10 se pueden observar las diferentes regiones de la curva VTC, dependiendo del modo de funcionamiento de los transistores, y las condiciones con que se dan cada una de las regiones. Deduciremos algunas expresiones para las cuatro regiones de la VTC basándonos en la Tabla 9.1 y las ecuaciones (1.4) a (1.7) de las corrientes de drenaje para ambos transistores. 8 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 334 Región QN Corte QP Condición I Segmento de VTC AB Triodo II BC Saturación Triodo III CD Triodo Triodo v 0 ≥ v l −Vt IV DE Triodo Saturación Tabla 9.1 Regiones de operación del inversor pseudo-NMOS 9 Vo Región l VOH A B v l <Vt Vt ≤ v 0 ≤ v l −Vt v 0 ≤Vt Región ll Pendiente = -1 4 Pendiente = +1 (Vo = Vi) 3 Región lll 2 C 1 Región lV D VOL 0 E Pendiente = -1 VOL Vt VIL 2 VM VIH 3 4 5 Vi VOH = VDD Figura 9.10 Curva característica de transferencia de voltaje para el inversor pseudo-NMOS. Curva trazada para V dd = 5V , Vtn =Vtp = 1 , r = 9 Región I: entre los puntos A y B tenemos que: v 0 =V 0H =V DD (1.8) Región II: entre los puntos B y C, igualamos i DN en saturación con i DP en triodo, y sustituyendo k n = rk p , obtenemos que v 0 =Vt + (V DD −Vt ) − r (v i −Vt ) 2 2 (1.9) El valor de V IL se obtiene al diferenciar esta ecuación y sustituir ∂V 0 / ∂V i = −1 y v i =V IL 9 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 335 V DD −Vt V IL =Vt + (1.10) r ( r + 1) El voltaje de umbral V M (o Vumbral ) es por definición el valor de v i con el cual v 0 =v i V M =Vt + V DD −Vt (1.11) ( r + 1) Por último, el extremo de segmento de la región II (punto C) se encuentra sustituyendo v 0 = v i −Vt en la ecuación (1.9), la condición para que QN abandone la saturación y pase a región tríodo. Región III: entre los puntos C y D, tenemos una sección muy corta que no es relevante. El punto D se caracteriza como v 0 ≤Vt Región IV: entre los puntos D y E, igualamos i DN en triodo con i DP en saturación y sustituimos k n = rk p , obtenemos v 0 = (v i −Vt ) − (v i 1 −Vt ) − (V r 2 −Vt ) 2 DD −Vt ) 2 (1.12) El valor de V IH se puede determinar al diferenciar esta ecuación y establecer ∂V 0 / ∂V i = −1 V IH =Vt + 3r (V DD (1.13) El valor de VOL se halla sustituyendo v i =V DD en la ecuación (1.12), 1 VOL = (V DD −Vt ) 1 − 1 − r (1.14) La corriente estática que conduce el inversor en el estado de salida baja se encuentra con la ecuación (1.6) 1 2 I stat = k p (V DD −Vt ) (1.15) 2 Por último, se utilizan las ecuaciones (1.10) y (1.14) para determinar N ML y las ecuaciones (1.8) y (1.13) para determinar N MH , N ML =Vt − (V DD −Vt ) 1 − 1 − 336 1 r − r ( r + 1) 1 (1.16) N MH = (V DD −Vt ) 1 − 2 3r (1.17) Finalmente se observa que puesto que la tecnología de proceso determina V DD y Vt , el único parámetro para controlar los valores de VOL y los márgenes de ruido es la relación r . Generalmente este factor está entre 4 y 9, siendo r = k n / k p . Reglas básicas de diseño en la lógica Pseudo NMOS Para el diseño necesitamos escoger los valores de r y la (W/L) para uno de los transistores. Los parámetros de diseño más importantes son VOL , N ML , N MH , I stat , PD , t PLH y t PHL . En este tipo de diseño lo primero que se hace es escoger la razón r , la cual determina todos los puntos de inflexión de la curva VTC, entre más grande sea r menor será VOL y mayores los márgenes de ruido, sin embargo, si la r es muy grande, aumenta la asimetría de la respuesta dinámica. Por lo general se escoge una r de 4 a 10. Una vez elegida r , seleccionamos (W / L )n o (W / L )p . La escogencia de uno u otro de estos parámetros conlleva a características diferentes, si escogemos un (W / L )n pequeño podemos conservar un valor pequeño de área de la compuerta y obtener un valor pequeño para C . Si escogemos un (W / L )p pequeño podemos conservar bajas la I stat y la PD . Para aplicaciones de alta velocidad se escoge un (W / L )p de modo que I stat se encuentre entre 50µA y 100µA. Al contrario que en CMOS, los distintos niveles de tensión vienen marcados por la relación de los tamaños de los transistores NMOS y PMOS. Esta relación es de forma aproximada: VOL ≈ Compuertas características µ pW p µnW n V Saturación del PMOS (1.18) Inversor El esquema es el mismo de la Figura 9.8. Las relaciones de los transistores son (W / L )p = 2 y (W / L )n = 12 . En el resultado de las características estáticas (Figura 9.12) se puede ver, como habíamos estudiado antes, que el nivel bajo a la salida no es cero sino aproximadamente 1V (hecho así para exagerar el efecto de pseudo-NMOS), lo que nos lleva a un consumo de potencia estática. En las características dinámicas vemos que los tiempos de subida son de 19 ps y los de bajada son apenas de 3ps , es decir se conserva la relación r en los tiempos de propagación como se había dicho. En la curva VTC correspondiente (Figura 9.13), se observa que el nivel bajo en la salida si es de un voltio, y que el margen de ruido es muy pequeño para v I . 337 Figura 9.11 Layout del inversor pseudo-NMOS de la Figura 9.8 Figura 9.12 Simulación en Pspice del layout de la Figura 9.11, del inversor, pseudo-NMOS 338 s1 5.00 4.00 3.00 2.00 1.00 Clock1 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00 4.50 Figura 9.13 Curva característica de transferencia de voltaje (VTC), del inversor, pseudo-NMOS NAND de 3 Entradas El esquema de la compuerta se observa en la Figura 9.14. source gate pmos drain out1 drain drain clk1 gate clk2 clk3 gate nmos nmos source drain gate nmos source source Figura 9.14 Esquema de compuerta NAND de 3 entradas, pseudo-NMOS Para la construcción del layout de la compuerta, se estableció la relación de los transistores como (W / L)p = 2 y (W / L)n = 12 (Figura 9.15). 339 Figura 9.15 Layout de compuerta NAND de 3 entradas, pseudo-NMOS En las características de salida se puede apreciar de nuevo que los niveles bajos varían pero no llegan a ser cero (Figura 9.16). Figura 9.16 Simulación en Pspice del layout de la Figura 9.15, compuerta NAND de 3 entradas, pseudo-NMOS 340 NOR de 2 entradas El esquema de la compuerta se observa en la Figura 9.17 source gate pmos drain out1 drain clk1 gate nmos source drain clk2 gate nmos source Figura 9.17 Esquema de compuerta NOR de 2 entradas Para la construcción del layout de la compuerta, se estableció la relación de los transistores como (W / L )p = 2 y (W / L )n = 12 (Figura 9.18) Figura 9.18 Layout de compuerta NOR de 2 entradas, pseudo-NMOS 341 De nuevo es notorio el hecho, pero aun más evidente que el nivel bajo no es cero (Figura 9.19). Figura 9.19 Simulación en Pspice del layout de la Figura 9.18, compuerta NOR de 2 entradas, pseudo-NMOS Implementaciones típicas Las aplicaciones más útiles de esta tecnología se encuentran en donde la salida se mantenga la mayor parte del tiempo en un nivel alto. Amplificador de fuente común con fuente de corriente y carga capacitiva VDD IL Vout Vin Q1 CL Figura 9.20 Amplificador de fuente común con fuente de corriente y carga capacitiva 342 X1 a X2 c X1 X2 b (a) VDD = 3.3V VDD = 3.3V 8/0.6 Vblas = 1.65V Vblas = 1.65V Q3 Q7 4/0.6 X1 Q1 4/0.6 4/0.6 X2 Q2 Q4 X1 X2 8/0.6 Q5 8/0.6 (b) Q6 Figura 9.21 XOR de 2 entradas en pseudo-NMOS PLA (Programmable Logic Array) en pseudo-NMOS AND Plane OR Plane bc ac ab abc abc abc abc a b c s Cout Figura 9.22 PLA en pseudo-NMOS 343 Memoria ROM implementada en pseudo-NMOS Weak pseudo-nMOSS pullups A1 A0 2:4 DEC ROM Array Y5 Y4 Y3 Y2 Y1 Y0 Figura 9.23 Memoria ROM implementada en pseudo-NMOS Lógica C2MOS (Clocked CMOS Logic) Este tipo de lógica presenta el esquema básico que se observa en la Figura 9.24, consistente en la combinación de lógica convencional estática (redes NMOS y PMOS), y dos transistores, un NMOS y otro PMOS, a la salida de la compuerta. De acuerdo con la Figura 9.24, cuando el reloj que controla los transistores a la salida de compuerta, se encuentra en ‘1’, la salida viene determinada por las entradas a la misma y por la función lógica que implementan las redes de transistores. Una vez la señal de reloj cambia a ‘0’, los transistores mencionados se ubican en corte, con lo que la salida queda en alta impedancia y por tanto se memoriza el valor lógico computado anteriormente. Obviamente, por el esquema mostrado, esta lógica requiere más área que la lógica estática convencional, además de ser más lenta por la presencia de los transistores mencionados en serie, además de requerir la presencia de la señal de reloj y su complemento. 344 Red PMOS Clk Salida Entradas Clk Red NMOS Figura 9.24 Estructura básica de la lógica C2MOS10 Por todo lo anterior su único uso es formar estructuras con reloj y capacitancias de memorización que sirvan de interfaz con otras lógicas dinámicas. Lógica CMOS dinámica de precarga y evaluacuón (PE Logic) Como su nombre lo indica, en este tipo de lógica primero se realiza la precarga de la salida hacia V DD mediante un transistor PMOS cuando CLK se encuentra en ‘0’ (fase de precarga), y después se realiza un proceso de evaluación del valor de la salida a través de un transistor NMOS, con CLK en ‘1’ (fase de evaluación). Si el valor de la salida debe ser ‘1’, entonces la red NMOS se debe encontrar en corte, sin existir camino a tierra y el nodo de precarga permanece en ‘1’, en un estado de alta impedancia. Si la salida debe ser ‘0’, la red NMOS se debe encontrar en saturación, y el nodo de almacenamiento encuentra un camino a tierra y este se descarga a ‘0’, como era de esperarse. En la Figura 9.25, se muestran dos configuraciones para este tipo de lógica. Out Out Clk Red NMOS Red NMOS Clk a) b) Figura 9.25 Estructura de la lógica PE 11 10 RUBIO A., y otros. Diseño de Circuitos y sistemas integrados. Ediciones de la Universidad Politécnica de Catalunya, SL. Barcelona, 2003. pp 179,180,185 11 RUBIO A., y otros. Diseño de Circuitos y sistemas integrados. Ediciones de la Universidad Politécnica de Catalunya, SL. Barcelona, 2003. pp 179,180,185 345 Esta lógica presenta el inconveniente de que las entradas sólo pueden variar durante la fase de precarga, ya que si lo hacen durante la fase de evaluación podrían dar lugar a un valor erróneo en la salida, esto lleva al inconveniente de no poder conectar compuertas lógicas PE en cascada. X Y Precarga CLK Evaluación X A Y B Valor erróneo CLK ___ Figura 9.26 Función lógica X = ( A + B ) ⋅C , Y = X en lógica PE. Se presenta error cuando se evalúa el vector 12 ABC = (101) Por ejemplo, en la compuerta de la Figura 9.26, se precarga el valor de X y de Y a ‘1’, durante la fase de precarga. Si el vector de entrada es ABC = (101) , entonces el valor de X e Y de manera ideal es 0 y 1, respectivamente. Cuando se pasa de la fase de precarga a la fase de evaluación, entonces el valor de X comienza a descargarse; sin embargo, mientras permanezca en un valor lo suficientemente grande para activar el NMOS, entonces se descargará el valor de Y , produciendo un valor erróneo en la salida. Lógica CMOS DOMINÓ Es una forma de lógica dinámica que produce compuertas que pueden ser conectadas en cascada. La Figura 9.27 muestra la estructura de esta compuerta. VDD VDD Φ NMOS Logic Gate VOUT VOUT NMOS Logic Gate Inverter Buffer CLK a) VDD Y PDN Φ VDD QP X A B C VDD Inverter Buffer Qc b) First Stage Cascaded Stage Figura 9.27 a) Compuerta lógica CMOS DOMINÓ 13, b) Esquema de dos compuertas CMOS DOMINÓ de entrada individual conectadas en cascada14 12 Rubio A., y otros. Diseño de Circuitos y sistemas integrados. Ediciones de la Universidad Politécnica de Catalunya, SL. Barcelona, 2003. pp 179,180,185 13 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. 14 Knauth L.A., Dynamic CMOS. EEE 425 Honors Project Fall 1997 Advisor: ZAck Ciccone. http://www.lauraknauth.com/academic/DynCMOS.html 346 Se observa que es simplemente una compuerta lógica dinámica básica con un inversor CMOS estático conectado a su salida. La operación de la compuerta es simple, durante la precarga, X se elevará a V DD y la salida de la compuerta Y estará a 0V . Durante la evaluación, dependiendo de la combinación de la variable de entrada, X permanecerá alta y por tanto la salida Y permanecerá baja, o descenderá a 0V y la salida Y se elevará a V DD . Por tanto, durante la evaluación la salida permanece baja o realiza sólo una transición de nivel bajo a nivel alto. Para ver por que las compuertas CMOS DOMINÓ pueden ser conectadas en cascada, considere la situación de la Figura 9.28. VDD Φ VDD QP1 Φ Y1 X1 QP2 X2 Y2 I1 A Q1 Φ QC1 I2 CL2 CL1 Q2 Φ QC2 Figura 9.28 Dos compuertas lógicas CMOS DOMINÓ de entrada simple conectadas en cascada 15 En la Figura 9.28 se muestran dos compuertas DOMINÓ conectadas en cascada. Por simplicidad se muestran compuertas de una sola entrada. Al final de la precarga, X 1 estará a V DD , Y1 a 0V . Como en el caso anterior, suponga que A está alta al principio de la evaluación. Por tanto conforme ∅ se eleva, el capacitor C L 1 comienza a descargarse haciendo que X 1 baje. Mientras tanto, la entrada baja en la compuerta de Q 2 mantiene a Q 2 desactivado y C L 2 permanece totalmente cargado. Cuando v X 1 cae por debajo del voltaje de umbral del inversor I 1 , Y1 se elevará y activará a Q 2 , que a su vez comienza a descargar a C L 2 y hace que X 2 baje. Con el tiempo, Y2 se eleva a V DD . Con base en esta descripción, se ve que como la salida de la compuerta DOMINÓ está baja al principio de la evaluación, no ocurrirá una descarga prematura del capacitor en la compuerta subsiguiente en la cascada. Como se indica en la Figura 9.29, la salida Y1 provocará una transición de 0 a 1 en t PLH segundos (después del borde ascendente de reloj), subsecuentemente, la salida Y2 hace una transición de 0 a 1 después de otro intervalo t PLH . La propagación del borde ascendente a través de una cascada de compuertas se parece a fichas de dominó colocadas una junto a la otra que caen y derriban a la siguiente, lo cual es el origen de su nombre. La lógica CMOS DOMINÓ se aplica en el diseño de decodificadores de direcciones en chips de memoria, por ejemplo. 15 Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing 347 VDD Φ Y2 Y1 0 t Figura 9.29 Formas de onda durante la fase de evaluación La lógica dinámica posee la ventaja de reducir considerablemente los requerimientos de área de chip, ofrece operación a alta velocidad y disipación de potencia estática cero (o muy poca). También posee desventajas en muchos efectos no ideales, los cuales ya se analizaron. Se debe recordar que la disipación de potencia dinámica es una cuestión importante de lógica dinámica. Otro factor que deberá ser considerado es el “tiempo muerto” durante la precarga, cuando la salida del circuito aún no está disponible. Una alternativa a la lógica DOMINÓ es la lógica NORA DOMINÓ. En la Figura 9.30 se muestra la estructura básica de la lógica NORA, que se caracteriza por la alternancia de MOSFETs, en la lógica de bloques de PMOS a las compuertas de la lógica NMOS, y así sucesivamente. A pesar de que esta estructura en cascada elimina el problema de activación de los transistores de precarga y evaluación de etapas encadenadas, el exceso de uso de PMOS en la formación de la lógica reduce la velocidad máxima de reloj y aumenta la superficie del sistema. Por esta razón, es preferible utilizar sólo la NMOS y dejar el PMOS como elementos de precarga. VDD Prechargue NMOS Logic Gate CLK Evaluation VDD VDD Evaluation Prechargue PMOS Logic Gate CLK Prechargue CLK NMOS Logic Gate Evaluation Figura 9.30 Lógica NORA DOMINÓ 16 16 Knauth L.A., Dynamic CMOS. EEE 425 Honors Project Fall 1997 Advisor: ZAck Ciccone. http://www.lauraknauth.com/academic/DynCMOS.html. 348 Otra consideración de diseño para la lógica NORA, es cuando se necesitan combinar los bloques de lógica dinámica NORA, con bloques de lógica estática. Según se observó con la lógica DOMINÓ, solo se podrá permitir en la salida un cambio de bajo a alto una vez, durante la fase de evaluación de la lógica NMOS y viceversa para el PMOS, de modo que sólo un número par de bloques estáticos pueden ser utilizados entre dos bloques de lógica dinámica. Otro inconveniente importante de esta configuración, es el uso de las dos fases de reloj. Para un circuito que opera a altas velocidades, el reloj se vuelve cada vez más importante, dado que las señales de ambas fases de reloj deben ser entregadas casi en el mismo instante para que el circuito funcione correctamente. El enrutamiento de una fase de reloj para millones de elementos en un circuito hace que el retraso se minimice, lo que resulta en un gran reto para los diseñadores. Siguiendo con los inconvenientes de esta configuración, otro muy importante es el enrutamiento de una segunda fase de reloj a una cantidad similar de elementos del circuito, de tal manera que el retardo se reduzca al mínimo en comparación no sólo a sí mismo, sino a la primera fase de reloj. El tiempo de demora entre la primera y la segunda fase del reloj se conoce como asimetría de reloj o clock skew. La presencia de asimetría de reloj en un circuito reduce la velocidad máxima de operación de ese circuito, ya que la lógica no se puede evaluar correctamente durante este tiempo de retardo (Figura 9.31). Esto puede ser eliminado mediante el uso de una sola fase de reloj, true single-phase clocking (TSPC), para el circuito de reloj. Phase 1 Phase 2 Dead Time Figura 9.31 Asimetría de reloj 17 17 Knauth L.A., Dynamic CMOS. EEE 425 Honors Project Fall 1997 Advisor: ZAck Ciccone. http://www.lauraknauth.com/academic/DynCMOS.html. 349 Simulación en PSpice de la lógica DOMINÓ Simulación del circuito de la Figura 9.28 en PSpice. Mbreakp Mbreakp + 5Vdc _ V1 = 5 V V2 = 0 + _ TD = 1ns TR = 1ns TF = 1ns PW = 50ns PER = 20ns 0 V M2 V1 = 5 V2 V2 = 0 + M1 TD = 1ns _ TR = 1ns TF = 1ns Mbreakn PW = 50ns M3 PER = 100ns Mbreakp M4 M9 M5 M10 M7 M8 V C1 C2 Mbreakn Mbreakn 0.01p V Mbreakn 0.01p M6 Mbreakn 0 Mbreakp Mbreakn 0 0 Figura 9.32 Circuito en PSpice de dos compuertas lógicas CMOS DOMINÓ de entrada simple conectadas en cascada En las Figuras 9.33 y 9.34 se observan las gráficas de los voltajes en el tiempo, de la simulación del circuito de la Figura 9.32. En la Figura 9.34 se puede observar en detalle el retardo de las señales, efecto por el cual se le da el nombre de lógica DOMINÓ. 5.0V 4.0V 3.0V 2.0V 1.0V 0V 40ns 44ns V(M3:g) V(M9:d) V(M7:d) 48ns 52ns 56ns 60ns Time 64ns 68ns 72ns 76ns 80ns Figura 9.33 Gráficas de los voltajes en el tiempo 5.0V 4.0V 3.0V 2.0V 1.0V 0V 52.0ns 52.2ns 52.4ns V(M3:g) V(M9:d) V(M7:d) 52.6ns 52.8ns 53.0ns Time 53.2ns 53.4ns 53.6ns 53.8ns 54.0ns Figura 9.34 Gráficas del cambio de los voltajes en el tiempo, después de un borde ascendente de reloj. 350 Lógica NP DOMINÓ (o Zipper) La diferencia con la lógica CMOS DOMINÓ, radica en que en esta lógica se elimina el inversor ubicado en la salida. Con el fin de conectar las compuertas en cascada, esta lógica alterna redes de transistores NMOS y PMOS. En la Figura 9.35 se puede observar esta configuración. p blocks a blocks pre cval PMOS Logic CLK pre p blocks pre cval NMOS Logic CLK a blocks NMOS Logic CLK cval Figura 9.35 Estructura básica de la lógica NP DOMINÓ o Zipper18 La alternancia se produce debido a que una compuerta con red NMOS controla a una compuerta con red PMOS, y viceversa. Esta limitación se solucionará utilizando, irónicamente, inversores de salida, ya que, con esto, la ventaja que pretendía presentar esta lógica queda eliminada. Adicionalmente, se genera la necesidad de introducir un reloj de dos fases; es decir, se requiere a CLK y a su complemento, para activar, respectivamente, la red NMOS y la red PMOS. Otro aspecto que debe tenerse en cuenta, ya en la parte física, es el tamaño de los transistores PMOS, que deben ser más anchos que los transistores NMOS, para que ambos presenten las mismas resistencias de paso. Lo anterior conlleva a un incremento del área, el cual implica a su vez un incremento en el retardo y en el consumo. Lógica TSPC (True Single Phase Clock Logic) Esta lógica debe su nombre al hecho de que no requiere de un reloj con dos fases. Al igual que la lógica Zipper, la lógica TSPC cuenta con dos tipos de compuertas: una red de transistores NMOS y una red de transistores PMOS (Figura 9.36). La conexión entre dichas redes se realiza utilizando una estructura que permite trabajar en pipeline (Figura 9.37). En la salida se encuentra una estructura similar a la utilizada en la lógica C2MOS, para memorizar la salida. Este efecto de memorización, unido a la técnica de intercalar compuertas N y P, permite el uso de un reloj con una sola fase. La lógica TSPC está entre las familias dinámicas más rápidas, y tiene un gran atractivo por el número bajo de transistores empleados. 18 Jacomet M., VLSI System Design. http://www.scribd.com/doc/2898746/VLSI-system-design 351 CLK CLK Entradas Lógica N OUT Lógica P Entradas CLK CLK OUT CLK CLK a) b) Figura 9.36 Estructura básica de la lógica NP DOMINÓ o Zipper19 Entradas Bloque N Bloque N Bloque P Bloque P Precarga+ Latch salida Evaluación Precarga+ Latch salida Bloque P Evaluación CLK Precarga+ Latch salida Bloque N Evaluación CLK Figura 9.37 Estructura básica de la lógica NP DOMINÓ o Zipper20 Lógica CVSL DINÁMICA En la lógica dinámica la información se representa mediante la tensión asociada a la carga almacenada en un nodo, el cual se encuentra en una situación de alta impedancia. La compuerta básica de la lógica CVSL dinámica o DCVSL (por sus siglas en ingles Dynamic Cascode Voltage Switch Logic) se muestra en la Figura 9.38. Puede observarse en este caso un transistor en serie con los bloques NMOS y conectado a tierra por el otro extremo; el cual es controlado por una señal de reloj, que a su vez controla los transistores de pull-up PMOS. Esta lógica se basa en la tecnología pseudo-NMOS con la introducción de ciertas modificaciones los cuales permiten eliminar los problemas de la lógica anterior. En la Figura 9.38 se observa que el esquema no es más que dos compuertas DOMINÓ trabajando de forma complementaria. La ventaja de esta lógica respecto a la DOMINÓ es una mayor flexibilidad lógica al poder realizar cualquier función de forma inmediata, ya que siempre cuanta con la señal y su complemento. 19 Rubio A., y otros. Diseño de Circuitos y sistemas integrados. Ediciones de la Universidad Politécnica de Catalunya, SL. Barcelona, 2003. pp 179,180,185 20 Rubio A., y otros. Diseño de Circuitos y sistemas integrados. Ediciones de la Universidad Politécnica de Catalunya, SL. Barcelona, 2003. pp 179,180,185 352 CLK F Red F Entradas diferenciales Red F F CLK Figura 9.38 Configuración básica de una compuerta DCVSL 21 Entre otras ventajas de la lógica DCVSL se encuentran la obtención simultánea en las salidas de la función lógica y su complemento, la disminución de las capacitancias parásitas en los nodos de salida (proveyendo mayor velocidad de respuesta) y la eliminación de la disipación de potencia estática. Al existir los inversores a las salidas de la configuración aumenta el fan-out de la compuerta; sin embargo como desventaja se encuentra un mayor requerimiento de área activa, mayor cantidad de interconexiones y mayor complejidad del diseño al requerir el complemento de las señales de entrada. Variaciones en la configuración de Lógica CVSL Static Differential Split-Level Logic(SDSL) En este tipo de configuración se agregan dos transistores NMOS conectados por los gates y a su vez conectados a un voltaje de referencia: V ref =V DD / 2 +Vth , esto para reducir cambios lógicos inesperados en los nodos de salida. Así las salidas se colocan a la mitad del voltaje de alimentación, lo cual permite un menor retardo en el proceso y menor disipación de potencia; pero al tener que añadir dos transistores mas, el área del dispositivo aumenta. DCVS-NORA Otra familia de operación dinámica es la DCVS-NORA (No Race), el cual incluye unos pFET’s más para disminuir la competencia entre los dispositivos nFET’s y pFET’s. Esta familia es especialmente indicada para estructuras con pipeline, aunque tiene como desventaja el uso de una mayor cantidad de transistores en configuración cascode, la configuración básica se muestra en la Figura 9.39. 21 Rubio A., y otros. Diseño de Circuitos y sistemas integrados. Ediciones de la Universidad Politécnica de Catalunya, SL. Barcelona, 2003. pp 179,180,185 353 ϕ débil débil q q out ϕ árbol - NMOS ϕ out ϕ Figura 9.39 Configuración DCVS-NORA. EDCVSL Tipo I La compuerta básica de la lógica EDCVSL (por sus siglas en ingles, Enhanced Differential Cascode Voltage Switch Logic) tipo I se observa en la Figura 9.40. Cuando la señal de control (CLK) se encuentra en nivel bajo 0, los transistores de precarga M 1 y M 2 conducen colocando los nodos de salida al nivel de V DD ; además, los transistores M 5 y M 6 no conducen, abriendo así el camino a tierra. Durante la fase de evaluación, es decir cuando la señal de control se encuentra en un nivel alto de 1, los transistores de precarga dejan de conducir mientras que los transistores M 7 y M 8 conducen creando un camino para la corriente entre los transistores de precarga y el árbol lógico, dependiendo de las entradas. Por su parte el transistor M 9 actúa como una fuente de corriente dinámica, usada para limitar la corriente transferida por ese camino. Los transistores M 3 y M 4 aceleran la fase de evaluación y mantienen los niveles lógicos en las salidas. Durante este proceso se generan dos corrientes I e IB ; I representa la corriente activada por el árbol lógico, mientras que IB representa la corriente proveniente de la rama del ________ otro lado (del transistor M 9 ). Cuando IB es mayor que I , el voltaje en OUT cae más rápido que el voltaje en OUT; logrando de esta manera la conmutación de las salidas. Con la configuración EDCVSL se obtiene un desempeño asimétrico en las salidas, donde una salida es más rápida que la otra. No obstante la salida con menor velocidad presenta un consumo mucho menor de potencia, debido al menor flujo de corriente. 354 OUT M1 CLK OUT M3 M4 M2 CLK M6 M5 INPUTS M7 Logic Tree M9 1B l CLK MB Figura 9.40 Configuración EDCVSL tipo I 22 EDCVSL Tipo II La compuerta básica de la lógica EDCVSL tipo II, que evita los problemas de asimetría de la lógica EDCVSL tipo I, se observa en la Figura 9.41. Por su parte en esta configuración, el transistor M 9 es controlado por una salida intermedia ubicada en la fuente del transistor M 5 , lo cual permite almacenar un nivel alto en el transistor M 9 cuando no hay conducción de corriente en el árbol lógico, o un nivel bajo en el caso contrario. La ventaja de los dos tipos de lógica EDCVSL radica en la reducción del número de interconexiones y la simplificación del árbol lógico al eliminar las señales de entrada complementadas. Adicionalmente, con la lógica EDCVSL se puede emplear solo la estructura paralela para la evaluación, mientras que con la lógica DCVSL se requieren siempre las dos estructuras (serie y paralela). OUT CLK M1 OUT M3 M4 CLK M6 M5 INPUTS M2 M7 Logic Tree M9 1B l CLK MB Figura 9.41 Configuración EDCVSL tipo I 23 22 KANG D.W., KIM B.Y., Design of Enhanced Differential Cascode Voltage Switch Logic (EDCVSL) circuits for high fan-in gate. Department of Electrical and Computer Eengineering. Northeastern University. 23 KANG D.W., KIM B.Y., Design of Enhanced Differential Cascode Voltage Switch Logic (EDCVSL) circuits for high fan-in gate. Department of Electrical and Computer Eengineering. Northeastern University. 355 Ejemplos CVSL AND-NAND de 4 entradas OUT OUT CLK CLK A B A B C D C D CLK Figura 9.42 AND-NAND de 4 entradas, en lógica DCVSL OR-NOR de 4 entradas OUT OUT CLK CLK A B A B C D C D CLK Figura 9.43 OR-NOR de 4 entradas, en lógica DCVSL 356 XOR-XNOR de 2 entradas F F B B B A A B Figura 9.44 XOR-XNOR de 2 entradas, en lógica CVSL 24 M2 M8 PMOS PMOS 5 + _ V1 M1 M3 NMOS NMOS V M4 V M5 NMOS NMOS V NMOS M6 NMOS V V1 = 0 V2 = 5 TD = 0 TR = 1u TF = 1u PW = .5m PER = 1m + _ V4 + _ V2 V1 = 0 V2 = 5 TD = 0 TR = 1u TF = 1u PW = 1m PER = 2m V M7 V V1 = 0 + V5 V2 = 5 _ TD = 0 TR = 1u TF = 1u PW = 1m PER = 2m + _ V3 V1 = 0 V2 = 5 TD = 0 TR = 1u TF = 1u PW = .5m PER = 1m 0 Figura 9.45 Circuito en PSpice de la compuerta XOR-XNOR de 2 entradas, de la figura 9.41 24 Tenhunen H. Circuit techniques for CMOS logic. Kungl Tekniska Högskolan. http://www.eet.bme. hu/~benedek/CAD_Methodology/Courses/logicdesign/CMOSlogi.pdf 357 5.0V a) 2.5V 0V V(V2 : +) 5.0V b) 2.5V 0V V(V5 : +) 5.0V c) 2.5V 0V V(V3 : +) 5.0V d) 2.5V 0V V(V4 : +) 2.0V e) 1.0V 0V V(M2 : s) 2.0V f) SEL » 0V 0s 2ms 4ms 6ms V(M3:d) 8ms 10ms Figura 9.46 Resultados de la simulación. a) A, b) A, c) B, d) B, e) XNOR, y f) XOR BUFFER / INVERSOR Para ilustrar el funcionamiento básico de la lógica CVSL, se estudiara el circuito de un buffer/inversor simple como el mostrado en la Figura 9.47. Este usa entradas com___ A plementarias y A las que están asociadas con los voltajes V A y V __ respectivamente. A Idealmente están relacionadas porV A +V __ =V DD . A __ Las salidas esta determinadas por f y f y están definidas como se muestra. Estas son descritas por V f y V f__ dondeV f +V __ =V DD . A través del análisis, es importante recordar que f el switcheo de este circuito se basa en la diferencia de las señales (V A ,V __ ) y (V f ,V __ ) , y no f A en los voltajes individuales. Ya que los FET’s Mn 1 y Mn 2 pueden ser modelados como interruptores controlados ___ por voltaje, la operación es simple. Suponiendo que A = 1 y A = 0 , los voltajes de entrada son V A =V DD y V A__ = 0 , así que Mn 2 está activo y Mn 1 está en corte. Como Mn 2 está conduciendo, V DSn 2 → 0V y la variable de salida f es cero. La acción de realimentación del latch __ V Mp 2 __ =V DD a__ conducción, el cual genera f , que corresponde a f → 1 . Con lo que conduce a __ se tiene que f = A y f = A . El caso contrario se obtiene a través de un análisis parecido. VDD + Mp1 + _ VSGp1 _ + VSGp2 _ + _ VDSp2 VDSp1 f Mp2 + + Vf Vf _ A + _ VA + _VDSn1 + VDSn2 _ Mn1 Mn2 _ A + V_A Figura 9.47 Buffer/Inversor CVSL 358 f A continuación se muestran los resultados obtenidos al realizar una simulación en ORCAD del Buffer/Inversor de la figura 9.47. VCC VCC MbreakP A + _ 5dc M5 V3 0 V1 = 0 V2 = 5 TD = .25m TR = 10 u TF = 10u PW = 0.25m PER = 0.5m Aneg + _ M6 V4 MbreakN 0 0 Figura 9.48 Configuración utilizada para generar A y A . VCC M3 MbreakP M4 V MbreakP V fneg f M1 M2 Aneg A MbreakN MbreakN Figura 9.49 Buffer/Inversor utilizado para la simulación 359 5.0V 2.5V 0V V(A) 5.0V 2.5V SEL» 0V V(Aneg) 5.0V 0V -5.0V 0s 0.4ms 0.8ms 1.2ms V(f) - V(fneg) 1.6ms 2.0ms Figura 9.50 Comportamiento del buffer/inversor. 100uW 50uW 0W W(M4) 40uW 20uW 0W 400uW W(M3) 200uW 0W 20uW W(M2) 10uW SEL» 0W 200us 300us 400us 500us W(M1) Figura 9.51 Consumo de potencia en los diferentes mosfet. 360 600us __ __ __ __ __ FunciónQ = AB C D + A ( B + C + D ) Para la implementación de árboles lógicos más complejos se pueden emplear algoritmos de reducción, los cuales proveen una manera casi automática de diseñar la lógica a emplear. Como se mencionó anteriormente, este tipo de lógica tiene ventajas con respecto a otras familias lógicas y maneras de construcción de funciones lógicas, analicemos ahora un pequeño ejemplo que ilustra un poco estas ventajas. En la Figura 9.52(a) se muestra un circuito CVSL que emplea 12 dispositivos, su principal ventaja es la disminución en consumo de potencia y aumento de velocidad de operación; al realizar esta misma aplicación mediante el uso de compuertas NAND de tecnología CMOS se emplean 5 elementos como se muestra en la figura 52(b), lo que implica un total de 28 dispositivos, sin tener en cuenta los inversores adicionales si se quiere una salida complementada. Al emplear lógica CMOS complementaria, se emplean un total de 16 transistores, por lo que se puede observar una reducción de 6 PMOS en CVSL, y por lo tanto una disminución en la capacitancia de entrada del circuito. VH P Q Q A N A D B C N C A B P N A (a) N N D N N B N A C D N A B 12 DEVICES Q= ABCD + A(B+C+D) Q A C 28 DEVICES A D N (a) (b) Figura 9.52 (a) Implementación en CVSL de la función Q. (b) Implementación en compuertas NANDCMOS de la función Q. Compuerta XOR de dos entradas A continuación se muestran los resultados encontrados al simular una compuerta XOR usando lógica CVSL y su comparación con una XOR de lógica CMOS. 361 VCC MbreakP MbreakP M9 M10 Q Qneg V M11 M7 Aneg M14 M8 A A MbreakN MbreakN MbreakN 0 MbreakN 0 M13 M12 Bneg MbreakN MbreakN 0 Figura 9.53 Configuración de compuerta XOR CVSL 5.0V 2.5V 0V V(A) 5.0V 2.5V 0V V(Aneg) 5.0V 0V SEL» -5.0V 0s 0.2ms V(Q) - V(Qneg) 0.4ms 0.6ms 0.8ms Figura 9.54 Comportamiento de la compuerta XOR CVSL 362 1.0ms 5.0V 0v Probe Cursor A1= 251.341u, A2= 251.690u, A3= -349.287n, -5.0V 250.76us 251.00us 251.5us V(Q) - V(Qneg) -3.9992 4.0559 -8.0551 252.00us 252.46us Time Figura 9.55 Tiempo de subida para la XOR CVSL 5.08V 4.00V 2.00V Probe Cursor A1= 513.291u, A2= 518.064u, dif= -4.7733u, 0V 506.54us V(out) 510.00us 520.00us 515.00us 545.091n 4.5875 -4.0424 525.00us 529.00us Time Figura 9.56 Tiempo de subida para la XOR CMOS 4070 363 Ejemplos resueltos de circuitos lógicos dinámicos 1. Con base en el circuito lógico dinámico simple de la Figura 9.1, bosqueje circuitos completos para las compuertas NOT, NAND y NOR, las dos últimas con dos entradas y un circuito para el cual Y = AB + CD . Desarrollo En todos los diseños siguientes, la salida de las compuertas es la que va al canal A del osciloscopio. Figura 9.57 Diseño compuerta NOT con lógica dinámica Figura 9.58 Diseño compuerta NAND con lógica dinámica 364 Figura 9.59 Diseño compuerta NOR con lógica dinámica Figura 9.60 Diseño de función Y = AB+ CD con lógica dinámica 2. En éste y el siguiente problema se investiga la operación dinámica de una compuerta NAND de dos entradas realizada en la forma lógica dinámica y fabricada en una tecno' ' 2 logía de proceso CMOS para la cual k n = 3k p = 75µ A /V , Vtn = −Vtp = 0.8V y V DD = 3V . Para mantener C L pequeña, se utilizan dispositivos NMOS de tamaño pequeño para los cuales W / L = 1.2µ m / 0.8µ m (se incluye Qe ). El transistor PMOS de precarga Q p tiene 2.4µ m / 0.8µ m . Se determina que la capacitancia C L es de 15fF . Considere la operación de precarga con la compuerta de Q p a 0V y suponga que con t = 0 , C L está totalmente descargada. Se desea calcular el tiempo de elevación del voltaje de salida, definido como el tiempo para que v Y se eleve del 10% al 90% del valor final de 3V . Encuentre la corriente con v Y = 0.3V y la corriente con v Y = 2.7V , luego calcule un valor aproximado para t r ,t r = C L (2.7 − 0.3) / I prom donde I prom es el valor promedio de las dos corrientes. 365 Desarrollo Para v Y = 0.3V Para v Y = 2.7V Luego Finalmente i DP = ( )( ) 1 75 2.4 (3 − 0.8)2 = 181.5µ A 3 0.8 2 ( 3 )( i DP = 75 2.4 ) 0.32 − ⋅ − 3 0.8 0.3 ( ) = 46.1µ A 0.8 2 181.5 + 46.1 = 113.8µ A 2 I prom = −15 t TLH = t r = 15x 10 (2.7 − 0.3) 113.8 x 10−6 = 316 ps 3. Para la compuerta que se especificó en el problema anterior, evalúe el retardo de propagación de nivel alto a nivel bajo, t PHL . Para obtener un valor aproximado de t PHL reemplace los tres transistores NMOS en serie con un dispositivo equivalente y encuentre la corriente de descarga promedio. Desarrollo Para los tres transistores NMOS en serie la longitud equivalente es 3Ln = 3( 0.8 ) = 2.4µ m Entonces para v Y = 0.3V Y para v Y = 1.5V Luego Finalmente iD = ( ( ) 1 75) 1.2 (3 − 0.8)2 = 90.75µ A ( 2.4 2 i D = 75 1.2 ) 1.52 3 − 0.8 ) ⋅ 1.5 − ( = 81.56µ A 2.4 2 90.75 + 81.56 = 86.15µ A 2 I prom = −15 t TLH = 15x 10 (3 − 1.5) 366 86.15 x 10−6 = 261 ps 4. La corriente de fuga en una compuerta lógica dinámica hace que el capacitor C L se descargue durante la fase de evaluación, incluso si la PDN no conduce. Para C L = 30fF e I fuga = 10−12 A , encuentre el tiempo evaluado más largo admisible si la decadencia del voltaje de salida se tiene que limitar a 0.5V . Si el intervalo de precarga es mucho más corto que el tiempo máximo admisible evaluado, encuentre la frecuencia de cronometraje mínima requerida. Desarrollo Para un voltaje de salida de 0.5V t =C ∆v I fuga = 30x 10−15 x 0.5 = 15ms 10−12 Si el intervalo de precarga es mucho más corto que el evaluado, el periodo de la mínima frecuencia de cronometraje requerida puede ser tan grande como 15ms , por lo tanto f min = 1 = 66.66Hz 15x 10−3 Simulaciones P ara las simulaciones se tomaran las compuertas del ejemplo 1, estas son una NOT, NAND, NOR y una función Y = AB + CD . Estas simulaciones se realizaron con la herramienta PROTEUS. Compuerta NOT En la Figura 9.61 se observa el diseño de la compuerta NOT. En el canal A del osciloscopio se puede ver la salida de la compuerta, y en el canal B se puede ver la entrada de la señal tipo pulso. En los drenajes de los transistores Q1 y Q3 se encuentran las entradas tipo Clock, característico de esta lógica dinámica. 367 Figura 9.61 Compuerta NOT Figura 9.62 Simulación compuerta NOT Compuerta NAND La Figura 9.63 nos muestra una compuerta NAND de dos entradas. El canal A del osciloscopio nos muestra la salida del circuito y los canales B y C nos muestran las entradas del circuito tipo pulso. En los drenajes de los transistores Q 1 y Q 3 se encuentran las entradas tipo Clock, característico de esta lógica dinámica. 368 Figura 9.63 Compuerta NAND Figura 9.64 Simulación compuerta NAND Compuerta NOR La Figura 9.65 nos muestra una compuerta NOR de dos entradas. El canal A del osciloscopio nos muestra la salida del circuito y los canales B y C nos muestran las entradas del circuito tipo pulso. En los drenajes de los transistores Q 1 y Q 3 se encuentran las entradas tipo Clock, característico de esta lógica dinámica. 369 Figura 9.65 Compuerta NOR Figura 9.66 Simulación compuerta NOR Función Y = AB + CD La Figura 9.67 nos muestra una compuerta cuya función lógica es Y = AB + CD de cuatro entradas. El canal A del osciloscopio nos muestra la salida del circuito y los canales B y C nos muestran las entradas del circuito tipo pulso. Por simplicidad, todos las entradas tipo pulso se tomaron a una misma frecuencia 370 Figura 9.67 Compuerta función Y = AB + CD Figura 9.68 Simulación compuerta Y = AB + CD 371 CAPÍULO 10 Celdas Estándar Introducción A ntes de iniciar con la explicación de todos los aspectos referentes al diseño con celdas estándar, debemos hacer una pequeña retrospectiva de cuál fue el motivo del nacimiento de este tipo de tecnología, el cual se basó en la metodología ASIC (circuito integrado para aplicaciones específicas) (por sus siglas en ingles application-specific integrated circuits), es un circuito integrado hecho a la medida para un uso en particular, en vez de ser concebido para propósitos de uso general. Por ejemplo, un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. Por otro lado, los circuitos integrados de la serie 7400 son compuertas lógicas que se pueden utilizar para una multiplicidad de aplicaciones. En un lugar intermedio entre los ASIC y los productos de propósito general están los ASSP (productos estándar para aplicaciones específicas) (por sus siglas en inglés, application-specific standard product). A mediados de 1980, un diseñador elegía a un fabricante de ASIC, y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. A pesar de que existían herramientas de diseño provistas por terceros, no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. Una solución a este problema, que además permitió aumentar la densidad de los ASIC, fue la implementación de Celdas Estándares (Standard Cell). Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas, tales como los tiempos de propagación, capacitancias e inductancias, que podían ser representadas en las herramientas desarrolladas por terceros. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de compuertas muy altas, y un buen desempeño eléctrico. Este tipo de diseño se ubica entre diseño de matriz de compuertas, y el diseño hecho totalmente a la medida, en término de los costos fijos y de fabricación de cada unidad. Hacia finales de 1980, estuvieron disponibles las herramientas de síntesis lógica, tales como el Design Compiler. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de compuertas. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. 375 Celdas estándar Definición Celdas Estándar Hablar de Celdas Estándar es hablar de una de las metodologías de diseño de Circuitos Integrados para Aplicaciones Específicas (ASIC’s), que permite realizar un diseño completo de un circuito integrado con base en la interconexión de elementos lógicos y predefinidos. La fabricación completa de celdas estándar permite un buen aprovechamiento de la superficie de la oblea de silicio, por cuanto se incorporan sólo las celdas funcionalmente necesarias, ya optimizadas en su diseño, y tales celdas se posicionan (mediante algoritmos de placement y routing) de forma que su interconexión sea lo más directa posible; por lo tanto permite fabricar un mayor número de unidades en cada oblea. La diferencia entre celdas estándar y los diseños por arreglo de compuertas (gate array) (correspondientes a diseños partiendo de compuertas prefabricadas), radica en que en el segundo no es posible utilizar todas las compuertas prefabricadas, ni tampoco conseguir un óptimo aprovechamiento de estas), pero disminuye fuertemente el costo de la inversión inicial, ya que solamente se hace necesario personalizar las máscaras y las etapas de fabricación correspondientes a las conexiones (las líneas de metal); elegir entre cualquiera de los dos métodos de fabricación de un ASIC depende del número de ejemplares que se vayan a integrar, es decir, básicamente del proceso que salga menos costoso. “Standard Cell” Diseño lógico Los procesos de diseño y fabricación de celdas estándar utilizan las siguientes etapas: 1. 2. 3. 4. 5. 6. 7. 8. 9. Especificaciones / Requisitos Descripción funcional del comportamiento Diagrama de bloques Esquema circuital con Celdas básicas prediseñadas Colocación y conexión (Placement & Routing) Sustitución de las celdas por el dibujo de zonas (layout) MÁSCARAS Proceso de integración Test de los circuitos fabricados Las celdas básicas tienen dimensiones geométricas ajustadas entre sí, para facilitar el encaje de unas con otras. Las tareas de ubicación y conexión de las celdas (placement and routing) son ejecutadas con la ayuda de potentes herramientas informáticas y suelen ser realizadas por el diseñador, en contacto y colaboración directa con el fabricante. La sustitución de las celdas por su layout es realizada directamente por el fabricante. La descripción del circuito puede ser gráfica (captura de esquemas) o textual (lenguajes de descripción circuital o descripción de hardware) o mezcla de ambas. A medida que aumenta la complejidad de los circuitos integrados resultan cada vez más útiles los lenguajes de descripción circuital (VHDL, Verilog, etc.) que permiten describir un circuito 376 a través de su funcionamiento, sin descender a su configuración (compuertas, biestables o bloques); de construir tal configuración se encarga el correspondiente compilador. “Standard Cell” Diseño lógico En cuanto al proceso de fabricación con gate array, o de módulos equivalentes sobre los cuales se configurarán las celdas de la librería (por conexión mediante las capas de metales), las etapas de fabricación son las siguientes: 1. Especificaciones / Requisitos 2. Descripción funcional del comportamiento 3. Diagrama de bloques 4. Esquema circuital con Celdas básicas prediseñadas 5. Configuración de las celdas sobre Módulos Prefabricados “GATE ARRAY” 6. MÁSCARAS DE METALES 7. Integración de los metales 8. Test de los circuitos fabricados El proceso de diseño de un circuito integrado digital (en sus diferentes modalidades) se desarrolla sobre computador, en forma de tareas de tipo CAD, para cuya ejecución se dispone de eficaces y potentes aplicaciones informáticas. Las herramientas que se utilizan para el diseño digital con circuitos programables y para el diseño de circuitos integrados específicos (a fabricar posteriormente, ASIC) son básicamente las mismas y se emplean de la misma forma, diferenciándose luego en la forma de compilar el diseño y en los resultados de tal compilación. La complejidad de las celdas puede variar desde el pequeño nivel de integración (como por ejemplo compuertas y latchs) hasta componentes de alto nivel de integración (como memorias y unidades aritméticas de punto flotante). La configuración del layout para un circuito integrado diseñado con celdas estándar (Figura 10.1) consta de las siguientes partes: • Celdas. Zonas en las cuales se colocan los elementos de pequeña y mediana escala de integración. • Corredores o canales de ruteo. Sectores utilizados para la interconexión de las celdas. • Bloque Funcional. Lugar en donde se colocan los elementos de alto nivel de integración. • PADs. Permiten la interfaz entre la lógica interna y el exterior del circuito integrado. 377 PADS Celdas Canal de ruteo Celdas Canal de ruteo Celdas Canal de ruteo Bloque Funcional Celdas Celdas Bloque Funcional Celdas PADS Figura 10.1 Layout funcional típico de un CI con celdas Estándar La fabricación de un circuito integrado con esta metodología, es la misma que la de un circuito diseñado en forma full custom, pues es preciso realizar sobre el silicio todas la etapas de proceso CMOS. Figura 10.2 Celda estándar 378 VDD VDD In1 Out In2 VDD VDD In1 In1 Out Out Nandx2 In2 VSS VSS In2 In1 Out In2 VSS Logic Symbol Layout = standard gate representatior Schematic = gate representation Figura 10.3 Ejemplo de celda estándar, tipo NAND1 Características Generales Una celda tiene dos lados libres (superior e inferior, usados para su interconexión) y dos lados de vínculo con otras celdas (izquierdo y derecho, usados para su alimentación). Su forma es rectangular y se ubican yuxtapuestas, por lo que están obligadas a tener todas la misma altura h. El ancho h de una celda es un múltiplo entero w del ancho elemental w e (Figura 10.4). Una fila de celdas consiste en un conjunto que sigue las reglas de disposición enunciadas y se ubican paralelas entre sí dentro del sistema como se ilustra en la Figura 10.4. Entre las filas se encuentra el corredor o canal de ruteo a través del cual se encaminan las líneas de interconexión, el cual no tiene restricción en cuanto a su anchura, c. a excepción de las filas del sistema, únicamente se fijan restricciones para las celdas que ocupan las celdas asociadas a los “pads”, que son específicas. Wc Fila 1 Corredor Fila 2 It= 2 3 3 4 2 Corredor Fila 3 It Corredor C W Fila 4 Figura 10.4 Disposición General de las Celdas 1 Dain Clain. CMOS IC layout, Concepts, methodologies and tools. Newnes. 1999 379 La unidad de medida utilizada en el diseño de las celdas es la longitud elemental λ, por lo tanto las dimensiones de cada uno de los componentes del sistema deberán ser un número entero de veces λ, el cual depende del proceso y puede ser 1μm ó 0,75μm en 1.5 o 1.2 micras respectivamente. En el diseño de un chip se deben tener en cuenta tres factores muy importantes, a saber: • Área y Dimensiones. Toda celda ocupa un área del chip y tiene una forma geométrica asociada que se debe tener en cuenta para la densidad de integración. • Puertos. Es tal vez el factor más importante ya que de la ubicación de éstos depende el enrutamiento del camino de datos y los puntos de alimentación de la celda. • Estrategia de Interconexión. Las celdas deben ser cableadas juntas usando capas interconectadas. Descripción Geométrica El tamaño de la celda se representa con los parámetros h y w e , donde h es la altura de la celda y w e es el ancho de la misma (generalmente de forma rectangular), dichos parámetros dependen en gran medida de los puntos de contacto que conectan la celda con el exterior por medio de líneas de metal, siempre en número par, es decir que las dimensiones serán un número par de veces λ, . Adicional a las dimensiones de los materiales es pertinente revisar dentro de las reglas de diseño, los espaciamientos especificados entre las líneas de interconexión del mismo material y entre diferentes. Otros parámetros que se tienen en cuenta diferentes a los geométricos en el diseño de celdas corresponden al voltaje (swing), el sesgo de corriente y el margen de ruido, parámetros que unidos a la geometría de diseño, permiten hacerse a una idea del tipo de celda que se busca, aún sin tener en cuenta características como las velocidades de los transistores. Los últimos parámetros de diseño a tener en cuenta son las restricciones que presenta el desarrollo, las cuales son: Para el metal: • Ancho mínimo de líneas de metal: 3λ. • Ancho de la cinta de metal de alimentación: 10λ, (Metal 2). • Espacio mínimo entre líneas y bordes superior e inferior de la cerda: 10λ. • Espacio mínimo alrededor de línea de metal: 2λ, a cada lado. Para pozo n (Figura 10.5): • Ancho mínimo del pozo: 30λ (la mitad del tamaño de la celda). • Distancia mínima entre el pozo y el borde de la celda: 7λ. 380 30 60 7 7 Figura 10.5 Regiones permitidas para pozo n Áreas activas Polisilicio y metal1: • Ancho mínimo entre regiones activas a distinto potencial: 4λ (2λ en cada lateral de una región rectangular). • Ancho mínimo entre polisilicio y metal1: 3λ (2λ en cada lateral de la región). • Ancho de las vías de metal: 4λ. • Dimensiones entre conexiones de metal 1 y metal 2: Cuadrados de lado 2λ. • Líneas horizontales de metal 2 y líneas verticales de metal 1. • Ancho de corredor de líneas de metal 2: c = ÐÐÐ (N − número de líneas horizontales de metal 2. )+ =( + ) , donde N es el Contactos y vías: • Recomendable no pasar ninguna vía por los caminos de metal2 de alimentación. • Los contactos deben colocarse teniendo en cuenta 1λ alrededor de la celda sin considerar que las capas salgan de ella. • Los contactos se notan con una B “bottom” o una T “top” al principio, según el lugar donde vallan a colocarse para conectar y haciendo un conteo de izquierda a derecha empezando por 1, definiendo así si son entradas o salidas así como NC para los pines sin conexión. 381 IN1 NC Out1 Función Out2 IN2 Figura 10.6 Diagrama de bloques Es decir, por ejemplo en la Figura 10.6, la entrada uno IN1 correspondería a T1, y la entrada dos IN2 a B2, a su vez la salida Out1 a B8 y la salida Out2 a T7 y a B7 así: Out2 (T7, B7). El T4 no se conecta. • Anchura mínima de contactos y vías: 2λ. • Las muescas son tratadas como espacios y llevan las mismas reglas de diseño de los espaciamientos. • No se permiten ángulos diferentes a múltiplos de 90º. • No se permiten parámetros de diseño inferiores a 22λ en ninguna de las capas. Descripción eléctrica Parte del diseño de la celda corresponde a su caracterización eléctrica, que debe estar establecida para realizar la simulación. Dicha caracterización hace referencia a: Temperatura de operación de los dispositivos: Valor nominal: 27ºC,intervalo entre -25 y 85ºC. Tensión de alimentación:Valor nominal: 5V, intervalo entre 4.5 y 5.5V. Capacitancia de carga:Valor nominal: 0.5pF, intervalo entre 0 y 5pF. Tiempos de transición:Valor nominal: 1ns, intervalo entre 0 y 5ns. Para las pruebas en las simulaciones se toman generalmente los valores nominales de los parámetros, sin embargo se hacen pruebas para los casos extremos en donde para el caso de funcionamiento rápido se usa la temperatura menor, la mayor alimentación y los tiempos más cortos con los modelos rápidos de transistores, mientras que en el caso de funcionamiento más lento se emplean los valores contrarios. 382 Consumo de Potencia La potencia que toma la fuente de alimentación permite determinar las corrientes que soportarán los contactos y las vías, de manera que se puedan dimensionar la cantidad de cada uno de ellos. La capacitancia de entrada también hace parte de los parámetros básicos en el diseño de celdas estándar y está definida como la cantidad de carga ingresada a la entrada correspondiente, sobre la variación de tensión producida por dicha carga: c= ∆q ∆V (1.1) Una estimación válida para calcular la capacitancia corresponde al área total de las compuertas vistas desde la entrada por el valor de capacitancia C definida en las reglas de diseño. c = h *w *C (1.2) En la Figura 10.7 se observa un ejemplo de layout con celdas estándar para una compuerta respetando las reglas de diseño. Figura 10.7 Layout de Nivel 12 Celdas en L-Edit L-Edit provee comandos muy potentes para la creación, edición y aplicación de celdas en la diagramación de layouts. Dichos comandos se encuentran en el menú Cell de la barra de herramientas. Esta herramienta permite asignar nombre a cada celda realizada y al archivo como tal, de manera que las celdas realizadas puedan ser reutilizadas en el mismo u otro archivo. 2 Peña Martinez, Ana. Design of MOS Current-Mode Logic Standard Cells 383 Cuando se finaliza la edición de una celda, hay tres opciones: • La celda editada puede ser guardada simplemente abriendo una nueva celda. • La celda puede ser renombrada usando el comando Rename del menú Cell. • Guardar la celda original intacta utilizando el comando Close As, pero guardando una nueva celda con los cambios realizados bajo otro nombre. A las celdas guardadas se puede acceder a través del comando Instance, el cual al ser ejecutado muestra una lista de celdas disponibles. Esta lista constituye la biblioteca del archivo; donde se pueden eliminar las celdas no deseadas a través del comando Delete y el comando para deshacer alguna acción es Revert Cell. En L-Edit el diseño se hace a partir de “primitivas” (objetos geométricos como rectángulos y polígonos), lo que genera un estructurado jerárquico que permite construir celdas de complejidad variable, desde compuertas simples hasta bloques funcionales de gran escala. Luego de construidos estos bloques pueden ser reducidos de nivel, es decir, se pueden convertir en celdas primitivas mediante el comando Flatten; al utilizar dicho comando es necesario estar muy seguros de la conversión, ya que éste proceso no se puede revertir. Layout de un Chip El diseño de grandes bloques funcionales requiere un enfoque jerárquico. Primero las compuertas lógicas individuales se crean y guardan como celdas. Estas pueden ser usadas para crear grandes celdas y así sucesivamente hasta obtener el bloque final. Grupo de Señales Las señales digitales pueden ser agrupadas en dos grandes categorías: datos y control. En general, los bits de datos son codificados en segmentos de información, como números o símbolos, siendo procesados por el sistema. Los bits de control, de otro lado, determinan las operaciones que los bits de datos deben realizar. El diseño de una red digital puede ser dividido usualmente en dos sub-problemas, el diseño del camino de datos lógico, centrado en la creación de funciones que procesan las cadenas de datos y el diseño del camino de control que determina la ruta que seguirán los datos durante la operación. Las señales de control son usadas para activar las cadenas de datos desde las compuertas en el orden apropiado. Aunque existen excepciones, el camino de datos lógico tiende a ser localizado y puede ser contenido en celdas unitarias. Las señales de control usualmente se aplican a bloques funcionales y deben ser enrutadas a varios puntos. El “Floorplan” El plano del dispositivo (Floorplan) muestra la localización y el área utilizada por las funciones lógicas en el chip terminado. Canales de enrutamiento de las líneas de datos, relojes y señales de control son determinados por comparación entre el diseño lógico y el diseño físico del plano. La creación del plano permite el mejoramiento de cada uno de los niveles de diseño, pues a través de éste son estudiados cada uno de los bloques funcionales y las interconexiones requeridas de manera minuciosa (tamaños, distancias…), asegurando obtener una eficiente velocidad de transmisión de datos. 384 Interconexiones Es tal vez el factor más limitante en un sistema de alta densidad. Por esta razón deben tenerse en cuenta las siguientes reglas: • Dentro de una capa, deben ser lo más angostas posible al igual que la separación entre ellas. • Los contactos y vías deben ser generados en los alrededores de las mismas. De esta manera se evitará la inserción de grandes capacitancias parasitas debidas al acoplamiento eléctrico entre las líneas de las capas, lo cual se denomina “crosstalk” y causa errores en la transmisión de los datos. Padframes Se denominan de esta manera las regiones de metal que permiten la conexión entre los circuitos internos y los pines del empaquetado del Circuito Integrado. Distribución Global de Señales La topologías de la red de interconexión están generalmente basadas en simetrías geométricas, en un esfuerzo por asegurar que cada línea entregue la misma señal al receptor sin importar su ubicación. Distribución de Potencia Todos los circuitos integrados requieren buses de líneas de distribución de potencia para suministrar corriente a las entradas. Usualmente, se usa uno positivo (VDD) y una tierra (VSS) que deben estar alrededor del circuito. Es importante utilizar una geometría regular que se acomode a las celdas lógicas. Funcionamiento de una celda estándar Una celda estándar se desarrolla en el transistor, en la forma de un transistor netlist (lista de nodos). El netlist nodal es una descripción de los transistores, sus conexiones el uno al otro, y sus terminales (puertos) para el entorno externo. La lógica combinatoria y el netlist sólo son útiles para el resumen (algebraico) de simulación, y no para la fabricación del dispositivo; la representación física de la celda normal se debe diseñar también, a esta se la llama la vista de diseño y es el nivel más bajo de abstracción en la práctica común de diseño. Desde una perspectiva de la fabricación, el nivel de celdas del diseño VLSI es el punto de vista más importante, ya que es más cercano al real “proyecto de fabricación” de la celda normal. La presentación está organizada en capas de base, que corresponden a las diferentes estructuras de los dispositivos de transistor, y las líneas de interconexión, que se unen las terminales del transistor. Todos estos netlist estarán dentro de la biblioteca de celdas estándar, anteriormente mencionadas, la cuales servirán para la edición del diseño, que se realiza en forma de un esquema que contendrá sólo las celdas disponibles en la biblioteca, y el layout se generará automáticamente por medio de las herramientas de síntesis suministradas al efecto. También debe de quedar claro que esta alta automatización del diseño se hace posible a costa de fuertes restricciones en las opciones de layout. Toda biblioteca de diseño con módulos estándar, incluso con independencia de la aproximación de implementación elegida, debe suministrar información de diversa índole 385 para permitir a las herramientas automáticas de diseño hacer frente a las diferentes tareas que les son encomendadas. En primer lugar, el fabricante de una determinada tecnología debe proporcionar los modelos de simulación de los elementos componentes de cada una de los módulos, de forma que el software de desarrollo se convierte en una potente herramienta de verificación del ajuste del funcionamiento del circuito integrado a las especificaciones. Pero además de los modelos de simulación, las bibliotecas incluyen especificaciones dimensionales (modelos físicos), en donde se definen sus características geométricas; se trata de un aspecto indispensable para que la herramienta de diseño pueda generar automáticamente el layout del circuito.Finalmente, las bibliotecas se suelen acompañar con los procedimientos de test necesarios para la comprobación de la integridad funcional de los dispositivos una vez fabricados. Una de las condiciones necesarias en una biblioteca de celdas es el disponer de una documentación detallada de dicha biblioteca. Esta información no sólo debe contener el layout, una descripción de la funcionalidad y la posición de los terminales, sino también caracterizar el retardo y el consumo de las celdas en función de la capacidad de carga y los tiempos de subida y bajada en las entradas. A modo de ejemplo, la figura 8 ilustra el layout y las características de retardo de una celda estándar que corresponde a una compuerta NAND de 3 entradas. Siendo más precisos, las celdas que componen cualquier biblioteca se definen en distintos niveles de representación. Así, en el nivel comportamental tendremos descrito su modelo funcional y el modelo VHDL y/o Verilog. En un nivel estructural de representación se especifican el símbolo o icono representativo para su uso en esquemas, así como la descripción esquemática del circuito. Finalmente, en el nivel físico se describirá su layout, modelo temporal y estrategias de test, entre otras características. vdd_l LEFT vdd_r RIGHT Fanout 4x 0.5 μm 1.0 μm 2.0 μm 0.595 0.711 0.919 0.692 0.933 1.360 B1_tphl 0.591 0.739 1.006 B1_tplh 0.620 0.825 1.181 C1_tphl 0.574 0.740 1.029 C1_tplh 0.554 0.728 1.026 A1_tphl A1_tplh A1 TOP. BOTT 0 TOP. BOTTOM B1 TOP. BOTTOM TOP. BOTTOM gnd_l LEFT gnd_r RIGHT nanf 301 (a) Cell layout. (b) Cell characterization (delay in nsec) for a fan-out of four and for three different technologies. Figura 10.8 Layout y características de retardo de una celda estándar que corresponde a una compuerta NAND de 3 entradas 386 Estructura Físicamente, las celdas se sitúan en filas, separadas por canales de interconexión, tal como se ilustra en la Figura 10.9. Para que esta disposición sea eficaz, es necesario que las celdas de la biblioteca tengan alturas idénticas (pitch), de forma que será su anchura la que variará para acomodar las diferencias de complejidad. Como se ilustra en la Figura 10.9, la técnica basada en celdas estándar puede entremezclarse con otras aproximaciones de layout para permitir la introducción de módulos que no se adaptan de forma eficiente a este paradigma (p.e. memorias o multiplicadores). Una fracción sustancial del área en esta aproximación se dedica a la conexión, por tanto la minimización de esta área es la meta principal de las herramientas de ubicación y conexión en esta aproximación, llegando a introducirse celdas falsas de “paso” (feedthrough) para minimizar la longitud de las conexiones. La disponibilidad de múltiples capas de interconexión facilita esta optimización. Podemos analizar la anatomía de una celda estándar a partir de la representada en la Figura 10.10. Se trata de una celda de aproximadamente 25 micras de ancho en un ASIC de una tecnología con λ=0.25μ. Las celdas estándar se “apilan” como ladrillos en un muro, y la “caja de empotrado” (abutment box) define las fronteras del ladrillo. La diferencia de este límite y el de la “caja de delimitación” (bounding box) es el área de solapamiento entre celdas. Las líneas de alimentación recorren horizontalmente las celdas, y las conexiones de señal, en este caso, se sitúan en el centro de la celda (los tres cuadrados etiquetados como A1, B1 y Z), si bien pueden también llevarse a las fronteras superior e inferior de la celda para hacerlas salir a los canales de interconexión. Rows of cells Feedthrough cell Logic cell Routing channel Functional module (RAM, multiplier,...) Figura 10.9 Disposición de las celdas estándar separadas por canales de interconexión3 3 J.M. Rabaey, A. Chandrakasan y B. Nikolic. Digital integrated circuits. A design perspective (2e). Prentice Hall. 2003. 387 VDD m1 cell bounding box (BB) n-well contact ndiff pdiff metal2 A1 B1 Z via poly ndiff cell abutment box (AB) p-well pdiff pdiff GND 10λ Figura 10.10 Estructura típica de una celda estándar Dentro de la estructura de las celdas podemos ver las siguientes características que están relacionadas con la forma básica de las celdas: • Todos los puertos de entrada y salida tienen tipo, capa, posición, tamaño y puntos de interface predefinidos. Estas características son determinadas basándose en el método de colocación y/o enrutamiento usado para implementar el diseño. Los puertos son objetivos para el enrutador y deben ser optimizados para resultados óptimos. Un ejemplo de esto podría ser que el enrutamiento puede ser hecho más rápido y fácil usando una señal de sincronización que es definida en la grilla. Las herramientas de enrutamiento usaran menos recursos computacionales si la grilla es usada, porque la aritmética requerida por la herramienta es simplificada. • La interface de las celdas puede ser diseñada para compartir ciertas conexiones. Ejemplos de esto pueden ser las terminales de fuente de los transistores que están conectadas a las fuentes de alimentación. Alternativamente, sustratos y contactos pueden ser compartidos entre celdas. • Un esbozo rectangular y un set de obstrucciones para cada capa de enrutamiento también son características de cada celda. Las obstrucciones pueden ser definidas separadamente para cada capa de enrutamiento, o el esbozo entero de la celda puede ser usado como una obstrucción. Las obstrucciones pueden tener cualquier forma, no están restringidas a rectángulos, pero deben ser reconocidas por la herramienta de enrutamiento. • Todos los polígonos deben estar espaciados desde la frontera de la celda por un valor igual a la mitad de la distancia de espaciamiento de la regla de diseño. 388 Enrutamiento El enrutamiento es un paso crucial en el diseño de circuitos integrados. Se basa en un paso anterior llamado la colocación, que determina la ubicación de cada elemento activo de un circuito integrado. El enrutamiento es entonces el proceso de añadir todos los cables necesarios para conectar correctamente todos los componentes, obedeciendo todas las normas de diseño. La tarea de todos los enrutadores es la misma. Se les da algunos pre-existentes que consisten en los polígonos de pines (también llamados terminales) en las celdas y opcionalmente, algunos pre-cableados existentes llamado pre-routers. Cada uno de estos polígonos está asociado con una red, generalmente por el nombre o número. La tarea principal del router es crear geometrías de tal forma que todos los terminales asignados a la misma red están conectados y todas las normas de diseño se cumplen. Un router puede fallar por error en la no conexión de dos terminales que deben estar conectados (abiertos), la conexión de dos terminales que no deben estar conectados (corto), o mediante la creación de una violación de las normas de diseño. Además, para conectar correctamente las redes, los routers también pueden esperar para asegurarse de que el diseño cumple las normas, no tiene problemas de interferencias, se reúnen todo los requisitos de densidad de metal, no sufren los efectos de la antena, y así sucesivamente. Esta larga lista de objetivos en conflicto a menudo es lo que hace extremadamente difícil el enrutamiento. Entre las diferentes propuestas de interconexión o enrutado de filas de las celdas existen dos que pueden considerarse como las más representativas: la aproximación Weinberger y la denominada “técnica de celdas estándar”. En la primera, las conexiones de señal (entradas y salidas) fluyen en paralelo a los raíles de alimentación, ocupando la zona central de la celda y adoptando una disposición perpendicular a las zonas de difusión que definen los transistores, tal como se ilustra en la Figura 10.11(a). Esta aproximación resulta especialmente apropiada para diseños bit-slice. En la segunda aproximación, las conexiones de señal generalmente ocupan zonas específicas denominadas “canales de interconexión”, fluyendo perpendicularmente a los raíles de alimentación en la vertical de las celdas (ver Figura 10.11(b)). Esta alternativa da lugar a layouts más densos en el caso de la lógica CMOS estática, y permite un alto grado de automatización, por lo que constituye la alternativa más utilizada en diseño microelectrónico. Mirrored cell, sharing well Metal1 Metal1 Polysilicon VDD VDD Well Well Signals Vss Vss Static CMOS Cells (a) Routing channel Signals Polysilicon Pseudo-NMOS (b) Figura 10.11 Formas de interconexión de filas de celdas: (a) Aproximación Weinberger; (b) Técnica de celdas estándar. 389 C VSS VSS H A D A E C B H E VDD VDD C B VSS VSS A C D B H D Q B VDD E P R B VDD P R A C B VSS VDD C A VSS VSS Q A C VDD B B FEEDTHROUGH A E FEEDTHROUGH D VDD FEEDTHROUGH H C A B C FEEDTHROUGH En la Figura 10.12 y 10.13.a se observan ejemplos de canal de enrutamiento sin conexiones sobre las celdas y en la Figura 10.13.b un ejemplo de canal de enrutamiento sin conexiones sobre las celdas. A E Metal1 VSS Metal2 D H E D H Feed trough VSS VDD C H E VSS B D VDD VDD A E D H LEGEND of layers involved in routing This is an example pf channel routing without over the cell routing Figura 10.12 Ejemplo de canal de enrutamiento sin conexiones sobre las celdas4 Channel used by the router (a) Channel used by the router Full height or the 3 raws houding routing Channel router without over the cell routing Channel used by the router . over the cel routing (b) Channel used by the router . over the cel routing Full height or the 3 raws houding routing Channel router with over the cell routing Figura 10.13 Comparación de estilos de canales de enrutamiento (a) sin conexiones sobre las celdas y (b) con conexiones sobre las celdas5 4 Dain Clain. CMOS IC layout, Concepts, methodologies and tools. Newnes. 1999 5 Dain Clain. CMOS IC layout, Concepts, methodologies and tools. Newnes. 1999 390 Extracción Se trata de una herramienta que deduce el esquema de un circuito a partir del layout físico. Es una extensión de los DRC y utiliza algoritmos similares. Explorando las diferentes capas y sus interacciones, el extractor reconstruye la red de transistores, incluyendo los tamaños de los dispositivos y las interconexiones. El diagrama de conexiones del circuito (netlist) resultante contiene información precisa de los parásitos, tales como las capacitancias de hilos y difusiones y sus resistencias, cuyos valores estimados anota en el netlist. El procedimiento de extracción de un circuito se basa en identificar y borrar sucesivamente componentes, supuesto que se ha aplicado previamente un DRC y está libre de errores. Cuando todos los componentes se han extraído, sólo permanecerán los hilos. Para esta identificación de componentes se requiere el manipular “máscaras” geométricas, tanto individuales como combinaciones de ellas, por medio de la aplicación de sucesivas operaciones de crecimiento y reducción. También se hace necesario aplicar combinaciones booleanas de máscaras para obtener nuevas máscaras. Dos ejemplos usuales de este procedimiento son: la extracción de componentes parásitos a partir del diagrama de máscaras y la extracción de retardos a partir del esquema eléctrico para ser utilizados en el nivel lógico. Aplicaciones Celdas estándar Probabilidades de falla en canales de enrutamiento en el diseño de celdas estándar Una aproximación para la extracción de fallas se realiza empleando un método mejorado para el cálculo de áreas críticas que se llama Overlap Segmentation. Este cálculo es exacto, si asumimos defectos de formas cuadradas, donde adicionalmente la probabilidad de ocurrencia está determinada para cada falla. El método fue desarrollado en detalle para la extracción de fallas en canales de enrutamiento de diseños estándar de celdas VLSI. Los canales de enrutamiento de canales de frecuencia requieren una notable cantidad de área de diseño y las líneas de señal dentro de un canal de enrutamiento son típicamente mucho más largas y tienen más probabilidades de ser afectadas por una falla que los nodos internos de una compuerta lógica. En principio, sin embargo, el enfoque puede ser adaptado para el diseño de estructuras geométricamente arbitrarias (sobre todo en el enrutamiento de arreglos de compuertas y switchbox). A condición de un cierto rango de tamaño defecto, todas las posibles fallas con un número arbitrario de las redes, que pueden estar conectados por un defecto, pueden ser encontradas. Además todas las posibles interrupciones que un defecto puede causar en una sola red o varias redes se detectan. 391 Muchas áreas pueden beneficiarse con el uso de probabilidades de fallo, por ejemplo se puede realizar una estimación de la calidad de un producto. Por otra parte, la probabilidad de falla puede ayudar a evaluar los diseños con respecto a sus defectos y detectar sensibilidad en áreas particularmente susceptibles. En la Figura 10.14 se presentan algunos ejemplos de los tipos de fallas existentes en el diseño de una celda estándar. area of extra metal C1 C2 C8 C9 C10 C11 (a) C3 C4 C5 C6 area of missing metal C7 C12 C13 C14 C15 C16 area of missing insulator C1 C2 C8 C9 C10 C11 (b) C3 C4 C5 C6 C7 C12 C13 C14 C15 C16 area of extra insulator Figura 10.14 (a) Falla tipo puente. (b) Falla tipo rotura Para cada defecto y una cierta forma de defecto, existe un método de cálculo de áreas críticas (Figura 10.15). Se asumen cuadrados defecto en lugar de formas circulares u octogonales. Esta aproximación es suficiente y los algoritmos geométricos son mucho más fáciles. Después de aplicar el método Overlap Segmentation la configuración de los rectángulos queda como la siguiente Figura 10.16. s s s s R s DRoverlap(R,s) current flow R s DRcover(R,s) DRbreak(R,s) Figura 10.15 Funciones para el cálculo de áreas críticas 392 R R(EG2) R(EG1) A1 A2 A3 A5 A9 A8 R(EG3) A6 A7 A10 R(EG4) A11 Figura 10.16 Configuración de rectángulos Modelos físicos de enrutamiento en diseño de celdas estándar En el diseño de circuitos VLSI el canal de enrutamiento es uno de los pasos más importantes para finalizar el diseño. Después de que las celdas se colocan en hileras y las alimentaciones necesarias son insertadas, un canal de enrutamiento completa las interconexiones en los canales entre las celdas (Figura 10.17). the upper row of the cells routing channel the lower row of the cells Figura 10.17 Enrutamiento de canales entre filas de celdas Los canales de enrutamiento convencionales son restringidos a la utilización de dos capas de enrutamiento en los canales de las interconexiones. El problema del enrutamiento en celdas estándar convencionales ha sido ampliamente estudiado y hay varios canales de enrutamiento que pueden producir soluciones utilizando por mucho una o dos pistas más de la densidad de canal para la mayoría de los problemas prácticos. Para reducir aún más la zona del canal de enrutamiento, algunos routers utilizan la zona de rutas extra en las celdas para interconexiones. Estos routers son llamados overthe-cell channel routers y presentan un algoritmo que produce dos áreas de enrutamiento, una capa plana sobre las celdas (fuera del canal) y dos capas dentro del canal, las cuales son usadas para conectar todas las redes (Figuras 10.18 y 10.19). Un enrutador 393 de arreglos de compuertas utiliza over-the-cell channel routers horizontales y verticales para aumentar la densidad de las celdas. Para la capa sobre las celdas, el router busca algunas conexiones planas de subredes de modo que el número de redes necesitadas para el enrutamiento dentro del canal es reducido, por tanto se logra un menor número de pistas que la densidad de canal. En los diseños estándar de celdas, ya que una gran parte del circuito VLSI de la zona se utiliza para el canal de enrutamiento, los ahorros obtenidos en la zona por la aplicación del proceso over-the-cell channel routing pueden ser muy importantes. Sin embargo, puede producir sólo soluciones simbólicas de enrutamiento o soluciones para un diseño en una tecnología particular. Se han desarrollado varios modelos físicos que tienen como base el over-the-cell channel routing, con el fin de que los modelos sean lo suficientemente generales y puedan aplicarse a la mayoría de las tecnologías de diseño. Estos modelos se basan en la búsqueda de un máximo ponderado del subconjunto de las redes para crear una ruta sobre las celdas6. El efecto es que la densidad de canal resultante se ve reducida tanto como es posible. upper the channel upper terminals P Channel Transistors and OTC Routing Area Vdd Bus Gnd Bus N Channel Transistors and OTC Routing Area Lower Terminals Lower Channel Metal2 Metal1 Cut Figura 10.18 Una solución válida mediante el uso de over-the-cell channel routing 1 2 1 5 2 5 4 3 4 3 5 2 1 4 1 5 3 6 5 6 3 3 Figura Ejemplo routing col.10.19 1 2 3 4 simbólico 5 6 7 over-the-cell 8 9 10 channel 11 6 J. Cong, B. Preas, C.L. Liu. P hysical Models and efficient algorithms for Over-the-cell routing in Standard cell design. www.citeseerx.ist.psu.edu, consultado el 27 de Mayo de 2010 394 Pasos a seguir para el diseño con Celdas estándar D espués de haber conocido que es una celda estándar, como funciona, su estructura, el enrutamiento y la extracción, podemos ya dar una pauta de cuáles son los pasos a seguir en el diseño con celdas estándar. Este tipo de diseño contempla las siguientes etapas, aunque en la práctica estas etapas pueden variar significativamente (Figura 10.20). Estos pasos, llevados a cabo con el nivel de habilidad común en la industria, casi siempre producen un dispositivo final que implementa correctamente el diseño original, a menos que se introduzcan fallas al nivel físico de fabricación. 1. Un equipo de ingenieros de diseño comienza con la compresión no formal de las funciones requeridas por el ASIC a diseñar, usualmente derivada del análisis de requerimientos. 2. El equipo de diseño construye una descripción del ASIC para alcanzar estos objetivos, utilizando un HDL. Este proceso es similar a escribir un programa computacional en un lenguaje de alto nivel. Este usualmente es llamado el diseño RTL (por sus siglas en ingles Register Transfer Level). 3. La validez del diseño es verificada a través de una simulación. Un sistema virtual, implementado a nivel de software puede simular el desempeño de los ASIC a velocidades equivalentes de mil millones de instrucciones por segundo. 4. Una herramienta de síntesis lógica convierte el diseño RTL en un gran conjunto de elementos de bajo nivel, llamados Celdas Estándares. Estos elementos son tomados desde una biblioteca, que consiste en una colección de compuertas pre-caracterizadas (tales como NOR de 2 entradas, NAND de 2 entradas, inversores, etc.). Las celdas estándares usualmente son específicas para el fabricante del ASIC. El conjunto resultante de Celdas Estándares, junto a la interconexión de ellas, es llamado la lista de nodos a nivel de compuertas. 5. La lista de nodos es luego procesada por una herramienta de posicionamiento, la cual ubica las celdas estándar en una región que representa el ASIC final. Esta ubicación está sujeta a un conjunto de restricciones. En ocasiones se utilizan técnicas avanzadas para optimizar el posicionamiento. 6. La herramienta de enrutamiento toma la ubicación física de las celdas, y utiliza el listado de nodos para crear las conexiones eléctricas entre ellas. La salida de esta etapa es un conjunto de foto-máscaras, con las que el fabricante producirá los circuitos integrados. 7. Se puede hacer una estimación bastante precisa de los retardos finales, las resistencias y capacitancias parásitas y del consumo de energía. Estas estimaciones son usadas en la ronda final de pruebas. Estas pruebas demostrarán que el dispositivo funcionará en los rangos de temperatura y voltaje extremos. Cuando estas pruebas finalizan, la información de las foto-máscaras es entregada para la fabricación del chip. 395 Estos pasos de diseño son también comunes al diseño de un producto estándar. La diferencia significativa es que el diseño con Celdas Estándar utiliza la biblioteca de celdas del fabricante, que ha sido utilizada en potencialmente cientos de otros diseños, y por lo tanto constituyen un riesgo mucho menor que un diseño hecho totalmente a la medida. Las Celdas Estándares producen una densidad de diseño con un costo comparativamente más bajo y pueden también integrar núcleos IP y SRAM en una forma efectiva, a diferencia de las matrices de compuertas. D Q S Specifications Legend Circuit Entry Schematic Capture Data Flow Corrective Action Design Delivery Circuit Validation Polygon Editing Layout Entry Layout Verification Layout Extraction Implementation Figura 10.20 Diseño con celdas estándar7 Pasos a seguir para el diseño con Celdas estándar Ejemplo de Celda Estándar OR de 2 Entradas: Selección del modelo CMOS de la compuerta Especificaciones: • tf: tr=3tf. • V IL =0.4V V IH =3.8V V • OL =0.2V VOH • • =4.4V 7 Dain Clain. CMOS IC layout, Concepts, methodologies and tools. Newnes. 1999 396 El modelo de lógica Crosse se muestra a continuación: VDD INA PMOS1 VDD INB PMOS2 PMOS3 VOUT INA INB NMOS3 NMOS2 NMOS1 VSS VSS VSS Este modelo se puede ver como la mezcla entre una compuerta NOR CMOS de dos entradas con un inversor CMOS a la salida. Componentes de la Compuerta OR: INA 1 INB 1 2 VOUT INV NOR Tabla de verdad: INA 0 0 1 1 INB 0 1 0 1 VOUT 0 1 1 1 INB [V] 0.40 3.8 0.4 3.8 VOUT [V] 0.2 4.4 4.4 4.4 Valores esperados: INA [V] 0.4 0.4 3.8 3.8 397 Se distribuyen los transistores de tal forma que se obtenga la mejor distribución. Para que el tiempo de subida sea 3 veces el tiempo de bajada se debe hacer el área de las compuertas de polisilicio de los transistores NMOS 3 veces mayor que el área de los PMOS. Como puede apreciarse en el modelo del primer layout: Este primer intento de layout al simularlo presenta conflicto con los tiempos y sólo se simula hasta 900ps. Ahora para una nueva simulación se suspende uno de los transistores de PMOS y se lleva el pozo N a VDD como puede verse a continuación: 398 Este es un layout de 68λ de largo por 60λ de alto, se puede notar la ausencia del primer transistor y la compuerta a VDD del pozo N. Una primera simulación en SPpice de este layout se muestra a continuación a si como su respectivo archivo .cir: * Circuit 6.0V 4.0V 2.0V 0V -2.0V 0s 10ns V(INA) V(INB) 20ns 30ns 40ns 50ns 60ns 70ns 80ns 90ns 100ns V(VOUT) Extracted by Tanner Research’s * TDB File: C:\Documents and * Cell: Cell0 Version 1.88 * Extract Definition File: CNM25.EXT * Extract Date and Time: 12/17/2007 * Warning: Layers with Unassigned * <EXT-Capacidad poly> * Warning: Layers with Zero Resistance. * <EXT-Capacidad poly> * NODE NAME ALIASES * 1 = INB (53,72.25) * 2 = VOUT (77.75,38.75) * 3 = VDD (22.5,67.5) * 5 = INA (32,72.75) * 7 = VSS (18.75,6.5) .model PMOS PMOS LEVEL = 2 + TOX = 380E-10 VTO = -1.139 NSUB = 1.355E16 UO = 212.7 + UCRIT = 1E4 UEXP = .1159 NFS = 662.4E9 WD = .4268E-6 + DELTA = 1.824 RS = 134.9 LD = .8101E-6 XJ = 2.783E-9 + VMAX = 120.3E3 NEFF = .06665 CJ = 3.816E-4 MJ = .3499 + CJSW = 7.384E-10 MJSW = .3916 PB = .56 .model NMOS NMOS LEVEL = 2 + TOX = 380E-10 VTO = .9418 NSUB = 2.639E16 UO = 648.2 + UCRIT = 1E4 UEXP = .06857 NFS = 710.8E9 WD = .4086E-6 + DELTA = 2.2 RS = 93.77 LD = .9132E-6 XJ = .0824E-6 + VMAX = 59.62E3 NEFF = 1.479 CJ = 3.495E-4 MJ = .3950 + CJSW = 5.952E-10 MJSW = .2941 PB = .65 VDD1 VDD 0 DC 5 VINB INB 0 PULSE(0 5 0 1n 1n 8n 20n) 399 VINA INA 0 PULSE(0 5 0 1n 1n 16n 20n) VDD2 VSS 0 dc 0 C3 VOUT 0 0.5pF *C4 vdd 0 1.392FF M1 4 INB VDD VDD PMOS L=2.5u W=5.25u M2 VOUT 4 VDD VDD PMOS L=2.5u W=15u M3 VSS INB 4 6 NMOS L=2.5u W=5u M4 VOUT 4 VSS 6 NMOS L=2.5u W=5u M5 4 INA VSS 6 NMOS L=2.5u W=5.25u * Total Nodes: 7 * Total Elements: 5 * Total Number of Shorted Elements not written to the SPICE file: 0 * Extract Elapsed Time: 0 seconds .tran 0.1n 100n .probe .END Esta misma simulación sirve para medir y verificar los tiempos de subida y de bajada a la salida de la compuerta, como podemos ver en seguida. Tiempos de subida y de bajada Es importante aclarar que esta y todas las simulaciones se hacen con un condensador de carga a la salida de 5pF, como puede verse en el texto del archivo OR2.cir. El tiempo de subida es de 0.19ns aproximadamente. 5.15V (20.492m, 4.5118) 4.00V 2.00V (20.307m, 495.653m) 0V 20.0ns V(VOUT) 400 20.2ns 20.4ns 20.6ns Time 20.8ns El tiempo de bajada es de 0.25 ns aproximadamente. 5.18V (37.522n, 4.4978) 4.00V 2.00V (37.764n, 534. 0V 37.200ns V(VOUT) 37.400ns 37.600ns 37.800ns Tiempo Lo que quiere decir que la condición de tiempos de bajada y subida no se cumple. Para mejorar los tiempos se deben hacer varios cambios en el layout, que se pueden ver en seguida: 401 En esta figura del layout mejorado se puede notar la puesta a tierra de la implantación n+ que hacía falta y los cambios en las dimensionas de las áreas activas (color verde). Los resultados de la simulación fueron las siguientes: Tiempo de subida tr=0.16ns 5.05V (20.451n, 4.5656) 4.00V 2.00V (20.297n, 42a.498m) 0V 0.201ns 20.250ns 20.300ns 20.350ns 20.400ns 20.450ns 20.550ns 20.600ns Tiempo V(VOUT) Tiempo de bajada tf=0.057ns 4.96V (37.607n, 4.1826) 4.00V 3.00V 2.00V (37.661n, 763.383m) 1.00V 0V 37.514ns 37.550ns V(VOUT) 402 37.600ns 37.650ns Tiempo 37.700ns 37. Margen de ruido. En el archivo OR2Rev2.cir se modificaron las señales de entrada para ver como es el comportamiento de la compuerta a señales degradadas en las entradas (0.4v, 3.8V). El resultado de la simulación se observa en la figura siguiente, donde se aprecia que a la salida no hay mayor degradación, luego el funcionamiento de la compuerta frente a niveles de ruido es aceptable. 5.00V 4.00V 3.00V 2.00V 1.00V 0.12V 0.6ns 10.0ns V(VOUT) V(INA) 20.0ns 30.0ns 40.0ns V(INB) 50.0ns 60.0ns 70.0ns 80. Tiempo Arreglos de compuertas Definición Un arreglo de compuertas - GA (por sus siglas en ingles Gate Array) es un conjunto de compuertas (AND, OR, NOR, Compuertas de transmisión, etc.) que están interconectadas entre sí de una manera particular con el objetivo de formar un grupo funcional que permita solucionar un problema, que puede ser tan sencillo como un negador para invertir una señal, hasta un dispositivo de aceleración de gráficos de última generación. Tipos de GA En la actualidad existen varios tipo de GA, sin embargo algunos de ellos han empezado a ser reemplazados por otros que emplean tecnologías más avanzadas, lo que redunda en el aumento de las velocidades de procesamiento y un mayor número de compuertas por área. Algunos arreglos de compuertas son: 403 • Dispositivos lógicos Programables (PLD) • Arreglos Simétricos • Arquitectura basada en filas • PLD Jerárquicos • Arreglos de Compuertas Programables en el Campo (FPGA) Siendo estos últimos los más populares y avanzados hasta el momento. Dispositivos lógicos programables (PLD) Los PLD son dispositivos re-configurables basados en arreglos de compuertas AND y OR con caminos en metal programables por medio de la interconexión entre ellos, sin embargo, hoy en día, si se quiere hacer efectivo y competitivo el uso de bloques de desarrollo general, la mejor forma es usando hardware re-configurable que permita usar programación, por lo tanto estos dispositivos han ido evolucionando de tal forma que finalmente fueron transformados a FPGAs. Arreglos simétricos Esta arquitectura consiste en bloques lógicos configurables (llamados CLB por sus siglas en ingles) distribuidos en filas y columnas de una matriz e interconexiones alrededor de esta. Esta matriz simétrica está rodeada por bloques de entrada y salida I/O los cuales conectan al mundo externo. Cada CLB consiste en n-entradas de una tabla Look up y un par de flip flops programables. Los bloques I/O también manejan funciones como controles tri-estado y velocidad de transición de las salidas. Las interconexiones proveen el camino de enrutamiento. Interconexiones directas entre elementos lógicos adyacentes tienen un retardo más pequeño comparado con las interconexiones de propósito general (Figura 10.21) Logic Block (CL & FFs) Interconnections Figura 10.21 Arreglo simétrico de compuertas8 8 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 404 Arquitectura basada en filas Consiste en alternar las filas de los módulos lógicos y los caminos de las interconexiones programables. Los bloques de entrada y salida se encuentran ubicados en la periferia de las filas. Una fila puede contener filas adyacentes vía interconexión vertical. Módulos lógicos pueden ser implementados en varias combinaciones. Los módulos secuenciales pueden implementar funciones secuenciales-combinatorias complejas. El enrutado está dividido en pequeños segmentos conectados por elementos anti-fusibles entre ellos (Figura 10.22). Routing Channels l/O Block l/O Block l/O Block l/O Block Logic Modules Figura 10.22 Arquitectura Basada en Filas 9 PLDs Jerárquicos Esta arquitectura está diseñada de forma jerárquica con un nivel alto el cual contiene solamente bloques lógicos e interconexiones. Cada bloque lógico contiene un número de módulos lógicos, y cada modulo lógico tiene elementos funcionales lógicas secuenciales y combinatorias. Cada uno de estos elementos funcionales es controlado por una memoria programada. La Comunicación entre bloques lógicos es alcanzada por arreglos de interconexiones programables. Bloques de entrada y salida rodean este esquema de bloques lógicos e interconexiones (Figura 10.23). 9 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 405 Logic Module l/O Block l/O Block l/O Block l/O Block ...connects Figura 10.23 PLDs jerárquicos 10 Arreglos de Compuertas Programables en el Campo (FPGA) Los bloques lógicos dentro de un FPGA (Figura 10.24) son implementados usando múltiples niveles bajos de Fan-In, el cual da un diseño más compacto comparado con una implementación lógica de tipo AND-OR. El FPGA provee dos tipos de configuración: • La conexión entre bloques lógicos. • Generación de una función para cada bloque lógico. Un bloque lógico de un FPGA puede ser configurado de tal forma que puede proveer funcionalidad tan simple como un transistor o tan compleja como un microprocesador. Es usado para implementar diferentes combinaciones, para generar funciones lógicas combinatorias y secuenciales. Los bloques lógicos de un FPGA pueden ser implementados de las siguientes formas: • Par de transistores • Compuertas combinacionales como NAND o XOR. • Tablas Lookup de entrada N. • Multiplexores • Ancha estructura And-Or para Fan-In. 10 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 406 Logic Block (CL & FFs) Interconnections Figura 10.24 Versión simplificada de la arquitectura interna de un FPGA 11 El enrutamiento del FPGA se basa en el uso de segmentos de cable de distintas longitudes los cuales pueden ser interconectados bajo switches eléctricos programables. La densidad de bloques lógicos usados en un FPGA depende del largo y del número de segmentos de cable usado para el enrutamiento. El número de segmentos usado para una interconexión típica depende de la densidad de bloques lógicos usados y el área utilizada para realizar el enrutamiento. La habilidad para reconfigurar la funcionalidad de un FPGA le da al diseñador una única ventaja, ya que reduce significativamente los costos y el tiempo de producción. Bloques Lógicos Un bloque lógico en un FPGA puede ser implementado de diferentes maneras dependiendo del número de entradas y salidas, cantidad del área utilizada, complejidad de las funciones lógicas a ser implementadas y número total de transistores utilizados. Crosspoint FPGA Consiste en dos tipos de bloques lógicos. El primero usa un par de transistores los cuales funcionan en paralelo como lo muestra la Figura 10.25. Transistor Pair Figura 10.25 Par de transistores en paralelo 12 11 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 12 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 407 El segundo tipo de bloques lógicos son las RAM lógicas, las cuales pueden ser utilizadas como memorias de acceso aleatorias. Plessey FPGA Es un bloque básico que contiene dos entradas NAND en las compuertas, las cuales están interconectadas para implementar la función deseada. Latch 8-2 Multiplexer 8 Interconnect Lines CLK D... Config RAM Figura 10.26 Plessey FPGA 13 Tanto el tipo Crosspoint como Plessey tienen una ventaja en su alto porcentaje de uso de los bloques, pero requieren un largo número de segmentos de cable y switches programables los cuales ocupan mucha área. Bloque lógico de Actel Si las entradas de un multiplexor están conectadas a una constante o a una señal, éste puede ser usado para implementar diferentes funciones lógicas. Por ejemplo un multiplexor de dos entradas a y b, implementará la función ac+bc. Si b=0 se implementa ac, y si a=0 se implementa bc. W X 0 1 0 a1 f 1 Y 0 Z 1 a3 a4 a2 Figura 10.27 Bloque Actel 14 13 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 14 http://www.actel.com/products/axcelerator/docs.aspxhttp://www.atmel.com/dyn/products/product_ card.asp?part_id=2066 408 Normalmente los bloques lógicos de Actel consisten en múltiples números de multiplexores y compuertas lógicas. Bloque lógico Xilinx El bloque lógico de Xilinx (Figura 10.28), se utiliza para implementar cualquier tipo de función de tipo tabla Look up. Las líneas de entrada se conectan a la entrada y al enable de la tabla Look up. La salida de la tabla entrega el resultado de la función lógica que se ha implementado. La tabla Look up se implementa usando SRAM. Una entrada k de una función lógica LUT es implementada usando una memoria SRAM de tamaño 2^ k *1 . La cantidad de diferentes posibilidades para k entradas es 2^2^ k . La ventaja de este tipo de arquitectura es que soporta la implementación de muchas funciones lógicas, sin embargo la desventaja es la inusual cantidad de celdas de memoria requeridas para implementar un tipo de bloque lógico en caso de tener muchas entradas. Logic Block latch Set by configuration bit- stream 1 INPUTS OUTPUT FF 4LUT 0 4-input ʺlook up tableʺ Figura 10.27 Bloque Actel 1516 17 Un N-LUT puede ser analizado como una implementación directa de una tabla de verdad. Cada uno de los LATCHS contiene el valor de la función correspondiente a una combinación de la entrada. Por ejemplo, la siguiente tabla tipo 2-LUT implementa dos entradas de funciones AND y OR. Example: 2-lut INPUTS AND QR 00 0 0 01 0 1 10 0 1 11 1 1 Figura 10.29 Ejemplo 2-LUT 18 15 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 16 http://www.xilinx.com/support/library.htm 17 http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?iLanguageID=1&category=1212262&sGlobalNavPick=SUPPORT&sSecondaryNavPick=BOARDS 18 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 409 Bloque lógico de Altera Los bloques lógicos de Altera se han desarrollado desde los primeros PLD. Consisten en compuertas AND con ancho Fan-In (sobre las 100 entradas) alimentadas con compuertas OR con 3 a 8 entradas. La ventaja de tener una amplia ventana de Fan-In para las compuertas AND es que pocos bloques lógicos pueden implementar toda la función, reduciendo la cantidad de área utilizada para las interconexiones; pero la desventaja es la baja densidad de bloques lógicos en un diseño que requiera menos entradas lógicas. Otra desventaja es el uso de dispositivos pull-up (compuertas AND) los cuales consumen potencia estática. Tamaño de bloques lógicos vs. Rendimiento El tamaño de los bloques lógicos juega un papel importante a la hora de decidir la densidad de los bloques lógicos y el área de utilización en un FPGA. Esto además afecta el rendimiento del FPGA 19 • Un bloque lógico de gran tamaño utiliza más lógica y de ahí, un menor número de bloques lógicos se requieren para implementar una función en el FPGA. Por otro lado, un gran bloque lógico gastará más espacio dentro del FPGA. Por eso el tamaño óptimo para un bloque lógico es uno que optimice el uso de compuertas mientras se utiliza tan poco espacio como sea posible 20 • El área lógica activa es generalmente mucho menor que el área utilizada para realizar las interconexiones. El área total es la suma de ambas áreas 21 • El área ruteada es mucho mayor que el área activa. Esta dentro del 70 al 90% 22 19 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 20 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 21 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 22 http://www.tutorial-reports.com/computer-science/fpga/tutorial.php 410 CAPÍULO 11 Diseño de Alto Nivel Introducción H asta hace unos treinta años, el esfuerzo en el diseño se concentraba todavía en los niveles eléctricos para establecer las características y las conexiones entre componentes básicos, especialmente transistores. El proceso de diseño era altamente manual y tan solo se utilizaban herramientas tipo PSPICE para simular esquemas eléctricos. Mientras los procesos tecnológicos se hacían más complejos, los problemas de integración iban en aumento y los diseños eran cada vez más difíciles de compilar y la comprobación de fallos resultaba mucho más tediosa. Los circuitos MSI (Medium Scale Integration) y LSI (Low Scale Integration) se diseñaron mediante el desarrollo de prototipos basados en módulos simples. Cada módulo estaba conformado por compuertas probadas previamente, pero este método poco a poco fue quedándose obsoleto conforme aumentaba la complejidad y el tamaño de los circuitos, tanto, que a finales de la década del setenta, era obvio el desfase existente entre la tecnología y la metodología del diseño1.. La considerable dificultad que puede llegar a tomar el fabricar un dispositivo con alta escala de integración, involucra riesgos y costos muy elevados que los fabricantes normalmente no están dispuestos a asumir. Es hasta entonces cuando nace la nueva tendencia basada en los llamados lenguajes de descripción de hardware, con los que no es necesario hacer una caracterización eléctrica del circuito, sino que se concentra en el funcionamiento lógico del sistema. Con estas herramientas, es posible implementar un circuito a partir de una idea abstracta, sin necesidad de que el diseñador tenga que descomponer su idea en componentes concretos2. 1 F. Torres. Lenguajes de Descripción de Hardware. Universidad Autónoma de Guadalajara. 2004. 2 F. Pardo, J. Boluda. VHDL Lenguaje Para Síntesis y Modelado de Circuitos. Alfaomega, segunda edición. 2004. 415 Diseño de Sistemas Digitales T odos los productos sin importar su naturaleza deben pasar por una etapa de diseño que va desde la concepción misma de la idea y su funcionamiento hasta el desarrollo de esquemas de fabricación. El diseño de sistemas digitales, como su nombre lo indica se centra en sistemas que funcionan con señales eléctricas discretas y que sólo pueden tomar dos valores: ‘1’ ó ‘0’ y en consecuencia están compuestos por elementos de igual naturaleza. Los sistemas digitales tienen un proceso de diseño que puede llegar a ser bastante complejo, por lo que en él pueden intervenir muchas personas; cada una con una tarea particular y percepciones del producto un poco distintas. La tarea específica de cada persona hace que para su labor sean importantes diferentes datos y otros no tanto. Así, cada producto (cada diseño) requiere de varias representaciones (descripciones) que difieren en la información que es importante. Además cada representación requiere frecuentemente de distintos niveles de detalle. Los tres tipos de representación más utilizados son: representación funcional o de comportamiento, representación estructural y representación física. En la figura 1 se tiene la carta Y donde se muestra la división del proceso de diseño en los tres dominios. Niveles Dominio Estructura Dominio Comportamiento Programa Procesadores Subrutina Registros Transistores Instrucción Transistores Celdas Módulos Dominio Físico Figura 11.1 Carta Y (Gajski y Kuhn 1983). Dominios del proceso de diseño 416 En general se puede decir que todo diseño de productos electrónicos y en particular de sistemas digitales tiene por lo menos tres etapas con tres representaciones principales y los siguientes objetivos: 1. Proporcionar la representación del comportamiento para definir el funcionamiento del producto (representación funcional). 2. Convertirla en una representación estructural formada por componentes de una librería dada de componentes. 3. Producir una representación física que especifique cómo se monta y se fabrica el producto3. Representación Funcional o de Comportamiento Es la representación más global. Ve el diseño o sistema como una caja negra, a la cual se le definen unas entradas y salidas (Figura 11.2). A cada combinación en las entradas se le asigna una determinada salida, lo que define el funcionamiento general del sistema y las restricciones de rendimiento. Pero no define las operaciones que van dentro de la caja ni los componentes que las van a ejecutar. En general una representación de comportamiento describe el funcionamiento del sistema pero no su implementación. Se puede hacer la descripción en lenguaje natural. IO I1 ƒ In O0 O1 On Figura 11.2 Caja negra Representación Estructural A diferencia de la representación funcional, la representación estructural describe el interior de la caja negra con sus componentes y conexiones. Se centra en la implementación del sistema sin hacer mayor énfasis en su funcionamiento. En ocasiones es posible deducir la función del sistema con base en su descripción estructural, pero no siempre se pueden garantizar los mejores resultados al hacer esto, pues los componentes pueden no estar utilizados a su pleno potencial o las señales pueden estar codificadas. Además si el número de estructuras utilizadas es muy grande se hace muy dispendioso determinar la función real del sistema. Utiliza bloques funcionales predefinidos almacenados en librerías; de los cuales no se hace referencia distinta a su función, sin entrar en detalles, como se observa en la Figura 11.3. 3 GAJSKI, Daniel D. Principios de Diseño Digital, Prentice Hall, 1997 417 Central Processing Unit Program Counter Registers Arithmetic Logic Unit Main Memory Control Unit Input/ Output System Figura 11.3 Ejemplo procesador Von Neumann Representación Física Con la representación física se hace una descripción detallada del diseño en términos físicos; por ejemplo, se describen las dimensiones del diseño y sus componentes, la geometría de los mismos y de las conexiones, el peso del sistema, la disipación de calor, el consumo de energía y la posición de los conectores entre otros. Es una descripción del sistema ya implementado (fabricado) y de sus componentes y conexiones. Así se descendió desde una caja negra y su función, pasando por una descripción de componentes y conexiones hasta la descripción del sistema construido (Figura 11.4). U AL L2 hé Cac U FP é ch Ca ) L1 atos (d s tro gis Re hé ) s Cac L1 ccione u r t (ins de dad Uni ntrol co de dad Uni ucción r t ins de dad ón Uni istraci da n i ali s m d a a rad ent Figura 11.4 Ejemplo CPU, se agregan dimensiones y además datos descriptivos 418 Otras Representaciones Existen otras representaciones, muchas veces intermedias o afines entre las anteriormente mencionadas o dependiendo del nivel de abstracción utilizado. Tablas de Verdad Son una tabulación de todas las posibles combinaciones de entradas y sus respectivas combinaciones de salidas. A B Cin Sum Cout 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 Figura 11.5 Tabla de verdad sumador completo Estas tablas permiten expresar la función del sistema en términos de vectores de entrada y salida, pero sin definir una función en términos matemáticos, aunque de ella se pueden deducir expresiones del álgebra de Boole. Álgebra de Boole El álgebra de Boole permite expresar la función de un sistema digital utilizando expresiones propias de la lógica digital como: NOT, AND, OR. Las funciones Booleanas son expresiones que permiten obtener la implementación de un determinado sistema en función de compuertas estándar almacenadas en alguna librería. Están intrínsecamente relacionadas con las tablas de verdad, ya que de una tabla de verdad es posible obtener una expresión booleana y viceversa. Esquemáticos de Compuertas Se obtienen gracias a la interconexión de compuertas que se determinan a partir de expresiones booleanas. Se utilizan compuertas predefinidas en alguna librería y simbología estándar. 419 Símbolo Clásico Símbolo Alterno Compuerta OR Compuerta NOR Compuerta AND Compuerta NAND Inversor Figura 11.6 Compuertas básicas Formas de Onda Dentro de las formas de onda que son útiles para describir un sistema digital se destaca el diagrama de tiempos. En éste se puede visualizar el comportamiento de las variables de acuerdo al cambio de las entradas en el tiempo. Según el nivel de abstracción en el que se quiera trabajar se pueden ver entradas/ealidas o en niveles inferiores entradas, salidas, variables intermedias, señales de prueba y salidas de subsistemas. También se utilizan diagramas con las respuestas reales en el tiempo de los sistemas digitales. Es decir diagramas en los que se consideran las características dinámicas de los componentes reales; los retardos de procesamiento y las características analógicas de los sistemas. Reloj 1 2 3 4 5 A B C Figura 11.7 Diagrama de tiempos 420 6 7 8 Lenguajes de descripción de Hardware HDL (Hardware Description Language) Los lenguajes para descripción de Hardware, permiten a los diseñadores utilizar códigos de programación con los cuales definir el funcionamiento del sistema paso a paso. Es habilidad del diseñador tener en cuenta que está programando Hardware y no Software. Dentro de los lenguajes más comunes se encuentran: VHDL, Verilog, ABEL. Regularmente cada tecnología de prototipo (PAL, PLA, ROM, CPLD, FPGA) adopta su propio entorno de programación. Niveles de abstracción Cada una de las representaciones anteriormente estudiadas puede utilizar distintos niveles de abstracción para hacer la descripción deseada. Cada nivel de abstracción describe a su vez el tipo de componentes con los que se realiza el diseño. Se identifican cuatro tipos de objetos dentro de un sistema electrónico: • Transistor (dispositivos y circuitos) • Compuerta • Registro (módulos) • Procesador (sistemas) Sistema Módulo Compuerta Cicuito Dispositivo G S D Figura 11.8 Niveles de abstracción Transistor Es el más bajo de los niveles de abstracción, en él se encuentran transistores, resistencias y condensadores que se combinan para formar circuitos analógicos o digitales que cumplen alguna función (representación estructural). Dicha función estará descrita por algún tipo de relación corriente-tensión o alguna ecuación diferencial (representación funcional) y estará compuesto por celdas. Las celdas son arreglos geométricos (rectángulos) de distintos colores, que representan las capas de material que se deben utilizar para la fabricación de los transistores. 421 Compuerta En el nivel de compuerta los componentes principales son compuertas lógicas (NOT, AND, OR) y biestables (FLIP-FLOPS). Estos ya son elementos que trabajan con lógica digital. Se describen en términos de ecuaciones booleanas o máquinas de estados finitos (FSM). Las compuertas se agruparán para formar módulos aritméticos y de almacenamiento que se usan como componentes básicos a nivel de registro. En este nivel de abstracción las compuertas son cajas negras con entradas y salidas, de quienes sólo se conoce su función, pero no su composición interna. Registro A este nivel de abstracción los componentes principales son módulos aritméticos y de almacenamiento como: sumadores, comparadores, registros, contadores, multiplicadores, pilas, caminos de datos y ficheros de registro. Estos módulos cuentan con una descripción física determinada (dimensiones, tiempos de propagación). Cuando se interconectan estos módulos forman los componentes básicos del siguiente nivel de abstracción. Procesador Es el nivel más alto de abstracción, sus componentes son: procesadores, memorias, controladores e interfaces, microchips a medida (ASIC’s, application-specific integrated circuit). En este nivel se interconectan dichos componentes para formar módulos multichips. Su funcionalidad se describe regularmente en lenguaje natural, en HDL o lenguajes de programación. Regularmente se construyen librerías con los componentes de cada nivel de abstracción y de acuerdo a la tecnología de fabricación que utilicen, también hay librerías estándar en las que sólo se contemplan las funciones de los componentes pero no sus características de comportamiento real. Dichas librerías se complementan con las herramientas de diseño asistido por computador (CAD, computer aided design). Topologías de Diseño Digital Bottom-Up, que consiste en partir de los componentes básicos del sistema e ir agrupándolos en módulos. Este método se vuelve inmanejable a medida que aumenta el tamaño del diseño, siendo útil solo para diseños de baja escala. Con este método se realiza la descripción del circuito o sistema que se pretende desarrollar, empezando por identificar los componentes más básicos del sistema, para luego agruparlos en diferentes módulos hasta llegar a uno solo que represente el sistema completo. Esta metodología no implica una estructura jerárquica de los elementos, pues resulta suficiente con la descripción del circuito. En términos generales, esta forma de diseñar no es muy adecuada, ya que implica un ciclo de diseño bastante ineficiente. Para diseños complejos y de gran tamaño, no se puede trabajar a bajo nivel con miles o millones de componentes, pues sería difícil garantizar un correcto funcionamiento y una adecuada comprobación y corrección. Sin embargo, esta metodología se utilizó exitosamente en los primeros tiempos de la automatización de los procesos de diseño, ya que las herramientas de diseño permitían una descripción sencilla a bajo nivel. 422 Top-Down, es el proceso de capturar una idea en un alto nivel de abstracción e implementarla partiendo de dicha idea, para después ir hacia abajo incrementando el nivel de detalle físico según como sea necesario. El usuario solo debe centrarse en la descripción comportamental del diseño y serán las herramientas CAD las que lo irán descomponiéndolo en diseños más simples. Diseño Verificación Prototipación Figura 11.9 Diagrama de secuencia en el proceso de diseño Actualmente es necesario hacer diseños cada vez más complejos y en menor tiempo. Para esto, la metodología Top-Down toma un problema y lo divide en varios subproblemas, que a su vez pueden ser divididos en otros problemas mucho más específicos y sencillos de tratar. En el caso de un circuito, eso se traduce en la división del sistema completo en módulos, cada uno con una funcionalidad determinada. El continuo desarrollo de las herramientas CAD, les ha permitido ofrecer la posibilidad de reproducir de forma automática la metodología de diseño Top-Down. Así, permiten la implementación de un circuito a partir de una idea abstracta sin necesidad de que el diseñador tenga que descomponer su idea en componentes concretos4. De esta manera, basta con describir el comportamiento del sistema y el software genera el nivel de compuertas lógicas. Esto minimiza la cantidad de tiempo invertido en un diseño. Con esta metodología se utilizan tecnologías genéricas, lo que permite la reutilización de los diseños. De esta manera es posible crear un nuevo diseño a partir de otro existente. Además, como se dedica más tiempo a la definición y al diseño, se encuentran más fácilmente muchos errores en el proceso de descripción del circuito. Top-Down permite diferenciar claramente entre el comportamiento funcional del sistema y los detalles de implementación, facilita las tareas de modelado de los sistemas y permite enlazar directamente con herramientas de síntesis automática de circuitos microelectrónicos5. En el primer nivel de la Figura 11.10 se aprecia un sistema inicial dividido en módulos, los cuales se dividen sucesivamente hasta llegar a los componentes básicos del circuito o elementos primarios. Estos elementos se enmarcan en un cuadrado con las líneas más gruesas. Los métodos de diseño se basan en programas computacionales conocidos como herramientas de automatización del diseño electrónico (EDA Tools), las cuales sobresalen por ofrecer una reducción significativa en el tiempo del diseño. 4 F. Pardo, J. Boluda. VHDL Lenguaje Para Síntesis y Modelado de Circuitos. Alfaomega, segunda edición. 2004. 5 S. Sánchez, A. Barriga, P. Brox, I. Baturone. Síntesis de Sistemas Difusos a Partir de VHDL. Instituto de Microelectrónica de Sevilla, CNM-CSIC, Sevilla, España. Septiembre 2004 423 Nivel Alto (Top) Nivel Bajo (Down) Figura 11.10 Metodología de diseño Top – Down La metodología de diseño descendente disminuye el tiempo de diseño. En la realización de las simulaciones no es necesario sólo un prototipo, ya que este generalmente funciona; antes se debía repetir el proceso 2 o 3 veces hasta que el prototipo funcionara. Las últimas herramientas de diseño electrónico permiten implementar de forma automática la metodología de diseño Top-Down. Las herramientas siguen el diagrama de flujo de la Figura 11.11. Especificaciones Entrada del Diseño Simulación DHL (Opcional) Sintesis Lógica Entrada HDL Simulación Funcional Implementación Simulación Temporal Programación Verificación Figura 11.11 Diagrama de Flujo con herramientas EDA 424 Se parte del planteamiento de las especificaciones funcionales del diseño. En la etapa de entrada de diseño se realiza una descripción del circuito, para la cual existen varias alternativas como la captura esquemática (dibujo del circuito mediante interfaz gráfica), los lenguajes de descripción HDL (VHDL, Verilog, Abel y CUPL), y los diagramas de transición de estados. La simulación HDL, simula el comportamiento del circuito que se acaba de describir antes de la síntesis lógica, que consiste en tomar la descripción HDL y a partir de ella, generar y simplificar las ecuaciones lógicas correspondientes al circuito descrito. La simulación funcional, simula las ecuaciones lógicas en condiciones ideales, es decir, sin tener en cuenta los tiempos de propagación. La Simulación temporal: Después de la implementación ya se conoce como queda programado el circuito y se puede realizar una simulación teniendo en cuenta los retardos. Los lenguajes HDL permiten realizar el primer paso de la metodología del diseño descendente. Se describen en un lenguaje de alto nivel el comportamiento requerido del circuito a diseñar. Esta descripción se puede hacer mediante tablas de verdad, lista de transiciones de estados, ecuaciones lógicas. Con base a la descripción, el programa realiza los siguientes pasos: 1. Sintetiza y simplifica las ecuaciones lógicas. 2. Simula las ecuaciones. 3. Sintetiza el circuito lógico. 4. Simula el circuito lógico. 5. Sintetiza el archivo para programar un PLD. Herramientas de Diseño EDA (Electronic design Automation) es el nombre que se le da a todas las herramientas, tanto de hardware como de software, que sirven de ayuda en el proceso de diseño de sistemas electrónicos. Dentro del EDA, las herramientas CAD juegan un papel importante. El impacto de las herramientas CAD sobre el proceso de diseño de circuitos electrónicos y sistemas procesadores es fundamental. No solo por la adición de interfaces gráficas para facilitar la descripción de esquemas, sino por la inclusión de herramientas como simuladores, que facilitan el diseño y la conclusión con éxito de los proyectos. Sin embargo no solo el software es importante, pues el hardware de alta velocidad e interfaces muy sofisticadas, son también características que facilitan el diseño de dispositivos electrónicos. En el ciclo de diseño de hardware las herramientas CAD están presentes en todos los pasos. Primero en la fase de descripción de la idea, luego en las fases de simulación y comprobación, y por último en la fase de fabricación, por ejemplo en el diseño de circuitos impresos o en circuitos integrados de aplicación específica (ASICs). Existen varias herramientas CAD para el diseño de hardware6, como son: • Lenguajes de descripción de hardware. Son lenguajes mediante los cuales es posible describir un circuito. La descripción puede ser estructural, donde se muestra la 6 F. Pardo, J. Boluda. VHDL Lenguaje Para Síntesis y Modelado de Circuitos. Alfaomega, segunda edición. 2004 425 arquitectura del diseño, o puede ser una descripción del comportamiento, donde se describe como se ha de comportar el circuito, en lugar de describir los elementos de los que está compuesto. Existen muchos lenguajes para la descripción de circuitos, que suelen ser propios de un determinado fabricante de chips. VHDL, además de ser estándar, tiene un amplio campo de aplicación, desde el modelado para simulación de circuitos, hasta la síntesis automática de los mismos. • Captura de esquemas. Es la forma clásica de describir un diseño electrónico y la más extendida, ya que era la única utilizada antes de aparecer las herramientas CAD. Se basa en diagramas en los que se muestran los diferentes componentes del circuito y sus interconexiones. • Grafos y diagramas de flujo. Se trata de una descripción gráfica del comportamiento del circuito sin llegar a describir sus componentes. • Simulación de sistemas. Se usa para la simulación con elementos de alto nivel como discos duros, buses de comunicaciones, etc. • Simulación funcional. Comprueba el funcionamiento del circuito a partir del comportamiento lógico de sus elementos, sin contemplar problemas físicos como retrasos. • Simulación digital. Es muy cercana al comportamiento real del circuito y prácticamente garantiza el funcionamiento correcto del sistema, pues tiene en cuenta aspectos como los retrasos en la propagación de las señales. • Simulación eléctrica. De muy bajo nivel, pero muy confiable. Las respuestas se elaboran al nivel del transistor. • Realización de PCBs. Para realizar el trazado de pistas y posterior fabricación de circuitos impresos. • Realización de circuitos integrados. Las capacidades gráficas de estas herramientas permiten la realización de las diferentes máscaras o capas que intervienen en la realización de circuitos integrados. Figura 11.12 Diseño PCB 426 Todo este conjunto de herramientas facilitan las diferentes etapas de desarrollo del diseño: descripción de especificaciones, verificación de comportamiento, síntesis automática, etc. Con objeto de manejar de forma adecuada la complejidad del diseño y minimizar la posibilidad de introducir errores. En las distintas etapas del proceso se utilizan diferentes niveles de abstracción para describir el sistema y se concentran solo en aquellos aspectos del diseño que resultan significativos en cada nivel7. Diseño Modular Cuando se hace referencia a un diseño modular, lo que se pretende es evadir los inconvenientes ocasionados por los métodos que buscan desarrollar un diseño totalmente compacto. Los problemas más comunes son la rigidez, poca flexibilidad en el diseño, pérdida excesiva de tiempo en la búsqueda y corrección de errores, deficiencia en la documentación posterior y la imposibilidad de reutilizar partes del diseño en otro proyecto8. Realizar un diseño dividiéndolo en porciones menores, conlleva una serie de ventajas que no se pueden desconocer. Por un lado, se reduce la posibilidad de introducir errores, pues cada modulo se prueba por separado; facilita la comprensión del sistema para quienes no participaron en el diseño; permite realizar modificaciones puntuales de manera más fácil y rápida; se elimina la redundancia en el diseño, pues al tener módulos claramente diferenciados por funcionalidad, no hace falta repetirlos, sino que se acoplan a la tarea que se requiera en un determinado momento; es posible repartir tareas entre un grupo de diseñadores; y los módulos diseñados se pueden utilizar en proyectos posteriores. Estas dos últimas características, convergen en un aspecto de gran importancia: la reducción en los tiempos de diseño. Para llevar a la práctica esta metodología de diseño, es importante tener en cuenta que se requiere de cierta experiencia para lograr una buena división del problema, pues de no ser así, se puede caer en el error de generar un número elevado de módulos muy dependientes unos con otros, lo que representa una mayor probabilidad de introducir errores al sistema completo9. Esto se resume en la necesidad de crear módulos de alta independencia, que en lo posible operen sin necesitar mucho de los otros módulos10. En la metodología del diseño modular se utilizan constantemente algunos términos relacionados. A continuación, algunos de ellos: • Diseño jerárquico. Un complejo diseño electrónico puede llegar a utilizar millones de componentes lógicos para describir correctamente su funcionamiento. Estos diseños necesitan organizarse de tal forma que resulte fácil su comprensión. Una forma de organizar el diseño es la creación de un diseño modular similar al concepto de diseño Top-Down11. Una jerarquía consiste en construir un nivel de descripción funcional de diseño debajo de otro, de forma que cada nuevo nivel posea una descripción más detallada de su tarea. 7 S. Sánchez, A. Barriga, P. Brox, I. Baturone. Síntesis de Sistemas Difusos a Partir de VHDL. Instituto de Microelectrónica de Sevilla, CNM-CSIC, Sevilla, España. Septiembre 2004. 8 J. Leiva. Diseño de Algoritmos. Departamento de Lenguajes y Ciencias de la Computación. Universidad de Málaga. Curso 2004/2005. 9 R. Rodríguez. Diseño de Alto Nivel. Dpto. de Informática - Universidad Francisco de Vitoria. Curso 2003/2004 10 J. Leiva. Diseño de Algoritmos. Departamento de Lenguajes y Ciencias de la Computación. Universidad de Málaga. Curso 2004/2005. 11 F. Pardo, J. Boluda. VHDL Lenguaje Para Síntesis y Modelado de Circuitos. Alfaomega, segunda edición. 2004. 427 • Abstracción procedural. Se asume a cada modulo del diseño cual si se tratara de una caja negra, donde cada una de estas especifica que hace, pero no como lo hace. Ninguna caja negra debe saber cómo otra caja negra realiza una tarea, sino sólo qué acción realiza. Los distintos componentes de un diseño deben mantenerse aislados unos de otros. La abstracción procedural separa el propósito de un diseño de su implementación. Una vez que el diseño se ha desarrollado, es posible usarlo sin necesidad de conocer las particularidades de su funcionalidad, sino con sólo tener una definición de la acción que realiza y una descripción de los parámetros que maneja12. • Ingeniería concurrente. Es un enfoque de manufactura que permite el diseño y desarrollo integrado de productos y sus procesos relacionados. Fomenta el desarrollo de tareas en paralelo, los equipos de trabajo multidisciplinarios y el intercambio eficiente de información. De esta forma se logra repartir más eficientemente las tareas entre los diseñadores y se desarrollan módulos, más rápida y eficientemente13. Módulos Reutilizables y Tiempo de Diseño Una consecuencia directa de aplicar una metodología de diseño modular, es la posibilidad de reutilizar segmentos de un diseño, pues muchos de los módulos se pueden almacenar como si se tratara de un conjunto de plantillas. De esta forma, pueden existir diversos módulos, cada uno con una funcionalidad específica y claramente identificada [10]. Para citar solo algunos ejemplos, tenemos los siguientes: • Módulos interfaz. Son módulos que permiten la comunicación del sistema con el medio exterior. Así por ejemplo, para dispositivos que han de ser conectados mediante el puerto USB del PC, no se requiere diseñar uno de estos módulos para cada nuevo prototipo, puesto que dicha interfaz es estándar y no requeriría modificaciones significativas de un prototipo al otro. • Módulos de visualización. Estos módulos son los encargados de procesar determinada información, de tal forma que sea posible su legibilidad en algún dispositivo de visualización, como un LCD o un monitor. • Módulos aritméticos. Son los módulos especializados en realizar las operaciones necesarias entre las variables relacionadas con el sistema. Pueden existir módulos que realicen varias operaciones u operaciones particulares. Es por esto, que en diseños donde se requiera realizar ciertas operaciones matemáticas, se pueden utilizar módulos existentes especializados en dicha tarea. Es fácil notar que al reutilizar los módulos, tenemos una reducción notable de tiempos en el ciclo de diseño, pues aunque las especificaciones de un diseño con seguridad no serán iguales a las de otro, no será necesario comenzar totalmente desde cero, ya que se cuenta con una serie de módulos previamente diseñados y probados. Otro aspecto que reduce notablemente los tiempos en el diseño es la posibilidad de dividir el trabajo entre el grupo de diseñadores, más aún cuando se aplican los principios de la ingeniería concurrente, con los que se pretende que los desarrolladores, desde un 12 J. Leiva. Diseño de Algoritmos. Departamento de Lenguajes y Ciencias de la Computación. Universidad de Málaga. Curso 2004/2005 13 R. García. Ingeniería Concurrente y Tecnologías de la Información. Ingenierías, Vol. VII, No. 22. Enero-Marzo 2004. 428 principio, trabajen de forma paralela y además tengan en cuenta todos los elementos del ciclo de diseño, desde el diseño conceptual, hasta su disponibilidad, incluyendo calidad, costos y necesidades del usuario final. Modelo empleado en las simulaciones. En un circuito integrado los transistores MOSFET, se representan mediante un modelo equivalente de tensiones y corrientes en sus terminales, que son el resultado de alguna combinación de tensiones en la compuerta (gate) y drenador (drain) respecto a fuente (source). Estos modelos se guardan en ficheros conocidos como parámetros tecnológicos que se convierten en el resultado de las medidas realizadas por el fabricante y son imprescindibles para obtener una óptima simulación del dispositivo. Los parámetros más importantes son: LEVEL: nivel de complejidad del modelo usado. Tox: espesor del oxido en la compuerta. Vto: Tensión de umbral. LD: difusión lateral. NSUB: dopado del sustrato. Gamma: factor de efecto de sustrato. μ0: movilidad de electrones con valor bajo de campo eléctrico. μexp, μcrit: parámetros de corrección de movilidad. Delta: factor de corrección por anchura pequeña. RSH: resistencia de cuadro de la difusión. NEFF: coeficiente de carga total en canal, fija y móvil. Lambda: factor de modulación de canal. Otros parámetros son: Cj: capacidad unitaria de la unión. CGDO: capacidad de superposición. Js: densidad de corriente de saturación de las uniones. Polisilicio Óxido Silicio ID G S D N+ B= Body = Sustrato S= Source = Fuente D= Drain = Drenador G= Gate = Puerta N+ P B CORTE VGS < VTN ID = 0 ÓHMICA SATURACIÓN VGS > VTN ; VDS < VGS -VTN VGS > VTN ; VDS [ (VGS -VTN) VDS - V²DS /2 ] ID = KN/2 (VGS -VTN)² (1+λ VDS) > VGS -VTN Figura 11.13 Modelo MOSFET nivel 1 429 Entre los parámetros más importantes para el diseño tenemos: W: anchura del canal. L: longitud de canal. PD/PS: perímetros del drenador. AD/AS: área del drenador. Los parámetros L y W, determinan el comportamiento del transistor. D G D B G B S S Figura 11.14 Mosfets L N Área = W x N Perímetro= 2W + 2N W Figura 11.15 Nivel de capas 430 Tecnologías de 0.35m / 0.5m. 0.35μ 0.5μ 2500 7300 POLY 0.6μ 0.6μ 0.6μ 0.6μ 0.6μ 11000 8000 7300 7300 M1 M2 M3 M4 M5 0.6μ 0.7μ 0.8μ 3500 6900 6900 8400 POLY M1 M2 M3 0.35μ 0.5μ Parámetros SPICE para MOSFET Parameter Name Symbol SPICE Model Index Zero- Bias Threshold Voltage VTO Process Transconductance K³ Body- Bias Parameter g Channel Modulation l Oxidie Thickness tox Lateral Diffusion xd Matallurgical Junction Depth xj Surface Inversion Potential 2lfFl Substrate Doping Surface State Density NA, ND Fast Surface Density Qss/q Total Channel Charge Coefficient Type of Gate Material Surface Mobility m0 Maximum Drift Velocity umax Mobility Critical FIeld xcrit Critical Field Exponent in Mobility Degradation Transverse Field Exponent (mobility) SPICE Name Units Default Value LEVEL - 1 VT0 V 0 KP A/V2 2.E-5 GAMMA V05 0 LAMBDA 1/V 0 TOX m 1.0E-7 LD XJ m m 0 0 PHI V NSUB cm-3 NSS cm-3 NFS cm-3 NEFF - TPG - U0 VMAX cm2/V-sec UCRIT m/s UEXTP V/cm - UTRA - 0.6 0 0 0 1 1 600 0 1.0E4 0 0 431 Otros parámetros: Units Default Value RS Ω 0 RD RD Ω 0 Sheet resistance (Source/Drain) Ro RSH Ω/O 0 Zero Bias Bulk Junction Cap Ci0 CJ F/m² 0 Bluk Junction Grading Coeff. m MJ - 0.5 Zero Bias Side Wall Junction Cap Cisw0 CJSW F/m 0 Side Wall Grading Coeff. msw MJSW - 0.3 Gate-Bulk Overlap Capacitance CgbO CGBO F/m 0 Gate-Source Overlap Capacitance CgsO CGSO F/m 0 Gate-Drain Overlap Capacitance CgdO CGDO F/m 0 Bulk Junction Leakage Current Is IS A 0 Bulk Junction Leakage Current Density Js JS A/m² 1E-8 Bulk Junction Potential ϕ0 PB V 0.8 Symbol SPICE Name Units Drawn Length L L m - Effective Width W W m - Source Area AREA AS m² 0 Drain Area AREA AD m² 0 Source Perimeter PERIM PS m 0 Drain Perimeter PERIM PD m 0 Squares of Source Difussion NRS - 1 Squares of Drain Difussion NRD - 1 Parameter Name Symbol Source resistance Rs Drain resistance Parameter Name 432 SPICE Name Default Value Software El software es una parte verdaderamente importante a la hora de realizar un diseño ya que permite tener una visión aproximada de la función que cumplirá el circuito, o realizará la interconexión de dispositivos en un impreso. Existen innumerables herramientas CAD para este fin, ya sean de libre distribución, versiones de prueba (Trials) o licenciadas, todo depende de la aplicación y la complejidad del diseño. En la web se encuentran muchos tipos de aplicaciones, por ejemplo en cuanto a la simulación de un circuito, tenemos: • ORCAD. • Electronic Workbench. • Microcap. • Tina. De otra parte, para el diseño de circuitos impresos tenemos: • Electra. • Ares. • Eagle. • QuickCheck Finalmente en cuanto al diseño a nivel de compuertas: • L-Edit. • Protel. • Ivex. Figura 11.16 Ejemplo de empleo de software de simulación de circuitos 433 Descripción del diseño de alto nivel E l diseño de un circuito integrado digital es básicamente un proceso de descripción del mismo, junto con la simulación de su comportamiento para verificar que el diseño es correcto, conforme a las especificaciones o requisitos del mismo. La descripción digital puede hacerse a diferentes niveles, en particular, a nivel geométrico (layout), a nivel lógico (esquemático) o a nivel funcional (“programa”). El nivel geométrico (descripción física del circuito integrado) no tiene sentido en el diseño sobre circuitos integrados programables (pues ya están fabricados) y es utilizado en forma muy limitada en el diseño de ASICs con librería, es decir en el diseño de celdas estándar (standard cell) o de arreglo de compuertas (gate array), solamente se usan algoritmos de colocación y conexión de las celdas de la librería, que ya están diseñadas. Los niveles lógico y funcional ofrecen dos alternativas de diseño: en forma gráfica de esquema de compuertas y biestables, adecuadamente conectadas, o en forma de texto, describiendo el comportamiento del circuito; actualmente, y cada vez más, predomina la descripción en texto, utilizando un lenguaje de descripción circuital (HDL, Hardware Description Language). Existen, pues, tres niveles de descripción de los diseños digitales: • Nivel geométrico (layout): descripción gráfica de las diferentes regiones físicas que conforman el circuito integrado (difusiones, polisilicio, metal, contactos,...), o sea, el dibujo que corresponde a las máscaras con las que se fabricará el integrado; este nivel es propio y casi exclusivo del diseño completo (full custom). • Nivel lógico (esquemático): descripción, en términos de compuertas lógicas y biestables; es el nivel que corresponde directamente al diseño con librería, • Nivel funcional (texto): descripción del comportamiento del circuito en un lenguaje de descripción circuital (como puede ser VHDL o Verilog). Las tareas realizadas por los diversos tipos de descripción, se resumen en la Tabla 11.1. 434 1 Nivel Funcional • Lenguajes de Descripción Funcional - Edición y análisis de la descripción. - Simulación funcional. - Compilación lógica. 2 Nivel Lógico • Descripción - Captura de esquemas. - Generación de celdas matriciales (ROM, PLA, RAM, ...). • Simuladores Lógico-temporales • Análisis Temporal - Verificación de tiempos de anticipación y de mantenimiento. - Cálculo de retardos y detección de caminos críticos. • Test - Simulación de fallos. - Cobertura de test. - Generación automática de test 3 Nivel Geométrico •Descripción - Colocación y conexionado de celdas: Placement and Routing. - Edición gráfica. • Simulación - Extractores de parámetros: back-annotation. - Simuladores Informáticos. • Comprobación Lógica - Extractores lógicos. - Verificación de correspondencia. - Verificadores de reglas de diseño Tabla 11.1 Subdivisiones de la descripción del diseño digital En todos los niveles es preciso comprobar que el diseño es correcto, a través de la simulación de su comportamiento: • En el nivel geométrico, se utilizan simuladores informáticos, en particular el simulador SPICE, extrayendo previamente, sobre el layout, los transistores y los componentes capacitivos y resistivos presentes. • En el nivel lógico, se emplean simuladores lógico-temporales que actúan en términos de funciones booleanas y de retrasos temporales (tiempos de propagación). • En el nivel funcional, los lenguajes de descripción circuital ofrecen simuladores del comportamiento del circuito, tal como queda descrito en dichos lenguajes. Además, en el nivel lógico se aplica el análisis de tiempos para verificar que se respetan los tiempos de propagación, de anticipación y de mantenimiento (y, en el caso de ASICs, se obtiene el conjunto de vectores de test necesarios en el proceso de integración para comprobar que cada ejemplar fabricado responde efectivamente al diseño). 435 En el nivel funcional (lenguajes de descripción circuital), se dispone de compiladores que trasladan la descripción al nivel lógico. En dicho nivel lógico, los compiladores para circuitos integrados programables, traducen el diseño en el “mapa de fusibles” que corresponde a su programación; en el caso de ASICs, del nivel lógico se pasa al nivel geométrico mediante algoritmos de ubicación y conexión que sustituyen la descripción lógica por la conexión de las correspondientes celdas de la librería, adecuadamente situadas. Proceso de Diseño El proceso de diseño se puede definir como la secuencia de pasos que llevan desde el concepto de un producto hasta los esquemas de fabricación que describen cómo hacer dicho producto. Especificaciones de Diseño Una vez analizados los requisitos y las interfaces con el entorno en que va a funcionar el producto, se incluye un diseño con el esquemático de la arquitectura del mismo en forma de diagrama de bloques de alto nivel. En el diagrama, cada bloque tendrá una función clara que se puede especificar con una formula o algoritmo matemático, o simplemente en lenguaje natural. Tal diagrama debe especificar el tipo y formato de los datos que se transfieren entre los bloques y puertos de entrada/salida. Desarrollo con una biblioteca de componentes Una vez que se ha desarrollado el diagrama de bloques de alto nivel en la fase de especificación, se debe redefinir iterativamente o descomponer en componentes menores. La finalidad de este proceso es asegurar que el producto no contenga más que los componentes predefinidos en la biblioteca de componentes que se ha caracterizado para una tecnología de fabricación. En algunos casos estas bibliotecas contienen componentes de uno o más niveles de abstracción. Los componentes de la biblioteca deben estar, por tanto, probados y completamente documentados para que los diseñadores puedan usarlos si tener que analizar su estructura. Síntesis del diseño En el proceso de diseño, la síntesis es el procedimiento mediante el cual se convierte una especificación o descripción del comportamiento de un componente, en una descripción estructural usando componentes de los niveles de abstracción más bajos que se incluyen en una biblioteca dada. La síntesis se puede entender como un proceso de redefinición de la descripción de comportamiento, en el que se añaden más detalles estructurales en cada paso. En la práctica, esto normalmente significa que la descripción se divide en varios bloques y se reescribe para reflejar el resultado de la división. Siguiendo los niveles de abstracción descritos anteriormente, se pueden identificar tareas de síntesis: 1. Síntesis del sistema: convierte una especificación en una estructura de componentes a nivel de procesador. 2. Síntesis de la arquitectura: convierte algoritmos, diagramas de flujo o conjuntos de instrucciones en componentes a nivel de registro. 436 3. Síntesis secuencial: transforma la descripción de una maquina de estados finitos en compuertas y biestables. 4. Síntesis lógica: transforma expresiones booleanas en componentes a nivel de compuertas. Análisis del diseño Una vez se ha sintetizado un diseño, se evalúa verificando que satisface los requisitos de la especificación, o en algunos casos, verificando que el diseño desarrollado es realmente el mejor dentro de las distintas alternativas de diseño. Una de las medidas más importantes es el costo de fabricación del producto concreto. Esta medida usualmente se aproxima con el tamaño o medida del área, ya que el área de un microchip o una PCB es proporcional al costo de su fabricación. La otra medida importante que concierne al proceso de diseño son las prestaciones del producto, las medidas más usuales de esta medida son: retardo entrada/salida, período de reloj, y tiempo necesario de ejecución de una instrucción o programa. Finalmente, el índice de testeabilidad se define en fusión del número de fallos de fabricación detectables y del número de patrones de test que se necesitan para detectar todos estos fallos. En general, el número de fallos potenciales es proporcional al número de patrones de test que se necesitan, que a su vez es proporcional al tiempo necesario para verificar el producto fabricado. Documentación El paso final del proceso de diseño consiste en preparar la documentación del microchip o sistema fabricado. Esta documentación generalmente incluye la representación física como de comportamiento del producto, pero omite las representaciones estructurales detalladas, que se consideran confidenciales del fabricante. La información sobre el comportamiento se da usualmente en forma de un diagrama de bloques tosco acompañado por un diagrama de flujo que describe el comportamiento del sistema completo o de alguna de sus partes. Además esta documentación sobre el comportamiento presenta protocolos de comunicación y se suele dar en forma de diagramas de tiempo para una o varias entradas y salidas. La representación física, por otra parte, contiene el tamaño, la información de encapsulado, y los nombres y posiciones do todos los conectores. Finalmente, esta documentación también especifica los rangos mínimos, normales y máximos de corriente, tensión, potencia, temperatura, y tiempos de retardo. Herramientas CAD Capturado y modelado del diseño Se puede capturar la representación estructural usando una herramienta de captura. Esta herramienta permite al diseñador seleccionar un componente de un menú situado en la pantalla y conectarlo a otros componentes mediante líneas que representan cables. Este tipo de representación estructural de captura se denomina esquemática, y las herramientas que frecuentemente se usan para su captura se conocen como herramientas de captura de esquemas. 437 Alternativamente, con un lenguaje de descripción de hardware, como el estándar VHDL del IEEE, se puede llevar a cabo la captura de esquemas. Sin embargo, además de la captura de esquemas estos lenguajes de descripción del hardware también permiten capturar representaciones de comportamiento, así que se puede describir con el diseño como una combinación de su comportamiento y de su estructura. Cada una de estas descripciones se denomina modelo del diseño real, ya que proporciona parte de la información sobre el diseño manual. La herramienta CAD puede usar la información de diseño que proporciona cada modelo para analizarla posteriormente, evaluar la calidad del diseño o incluso para su síntesis posterior. El proceso de desarrollo de estos modelos se denomina modelado, y la guía que proporciona instrucciones para describirlos, incluyendo la información requerida para que puedan ser usados por otras herramientas, se denomina guía de modelado. Herramientas de síntesis Las técnicas de síntesis se usan siempre que se necesita convertir una descripción del comportamiento en una descripción estructural que contenga componentes de una biblioteca dada. Las herramientas de diseño lógico permiten convertir expresiones booleanas en estructuras a nivel de compuerta, además minimizan el número de compuertas, el retardo de propagación y/o el consumo de energía. Las herramientas de síntesis secuencial son necesarias para sintetizar estructuras que contengan elementos de memorias. Estas herramientas están concebidas para minimizar el número de elementos de memoria a usar en el circuito, para generar una codificación de los estados y entradas que reduzca sus costos, para minimizar el retardo entrada/salida, y para simplificar las expresiones booleanas que se requerirán en su implementación. Las herramientas de síntesis de alto nivel o de comportamiento se usan para convertir expresiones aritméticas, conjuntos de instrucciones, o descripciones algorítmicas, en estructuras a nivel de registro, en el que se minimizan tanto el tamaño del microchip como el tiempo de ejecución. Verificación, simulación y estrategias de test Una vez se ha capturado el diseño mediante una herramienta de captura de esquemas, se necesita verificar si el diseño funciona como se esperaba. En el procesamiento y evaluación de un circuito integrado se utilizan tres tipos de procedimientos: de simulación, verificación y supervisión, que tienen objetivos y metodologías de ejecución totalmente diferentes: • Simulación funcional • Análisis de tiempos y • Test del circuito fabricado. Estos tres procedimientos se refieren, respectivamente, a la verificación del comportamiento del circuito resultante del proceso de diseño (Tabla 11.2), a la verificación de los tiempos implicados en tal circuito y a la verificación de cada circuito integrado obtenido tras el proceso de fabricación. 438 La simulación funcional trata de comprobar si el diseño realizado funciona adecuadamente, es decir, si se ajusta a las especificaciones o requisitos que se pretendían alcanzar. Consiste en reproducir el funcionamiento real del circuito para verificar que es correcto, incluyendo las más diversas situaciones posibles de sus entradas y comprobando la ausencia de errores en la respuesta del circuito. Es un estudio estímulo/respuesta (entradas/salidas) en relación con el funcionamiento normal del circuito; se realiza con simuladores lógico-temporales que evalúan la respuesta booleana a los vectores de entrada y calculan también el tiempo de respuesta. Cada celda básica es sustituida por la correspondiente función booleana y por un tiempo de propagación que tiene en cuenta la carga (fan out y capacidad equivalente) que soporta su salida. La simulación funcional se efectúa “globalmente” (calculando las salidas que produce el circuito en función de las ondas de entrada que recibe) y suministra información sobre la validez del diseño (sobre si es correcto o no); en caso de que no sea correcto, obliga a rediseñar parcial o totalmente el circuito para que su funcionamiento coincida con el que se pretende. 1 verificación del comportamiento • Simulación - Funcional - Lógica-temporal - Computacional (Informática) 2 verificación de tiempos • Análisis de tiempos - Tiempos de anticipación y de mantenimiento - Tiempos de propagación y - caminos críticos 3 verificación del circuito obtenido • Test - Simulación de fallos - Cobertura de fallos Tabla 11.2 Procedimientos de verificación. El análisis de tiempos trata de comprobar que se respetan las restricciones temporales internas (compatibilidad entre los tiempos de propagación, los tiempos de anticipación set-up y de mantenimiento hold) y de calcular la velocidad máxima de trabajo del circuito; asimismo, aporta información sobre los caminos en que se violan las restricciones temporales y sobre los caminos que resultan críticos respecto a la velocidad máxima de funcionamiento del circuito. Ambos procedimientos de comprobación/verificación (simulación funcional y análisis de tiempos) se ejecutan en las diferentes etapas del diseño: tanto en el nivel lógico, sobre el esquemático del circuito, como en el nivel geométrico, sobre las máscaras que conectan con el proceso de fabricación. Cuanto más cercana es la información que utilizan al nivel físico definitivo del circuito más precisa es la simulación temporal y el análisis de tiempos. Cuanto más próximos nos situemos a la configuración física real del circuito integrado, mayor precisión puede obtenerse en los aspectos de carga efectiva que sopor- 439 tan las salidas de las celdas básicas y en los retardos debidos a los efectos resistivos y capacitivos que introducen las conexiones (es decir, en aquellas cuestiones que afectan a los cálculos temporales). Tanto la simulación funcional como el análisis de tiempos son comprobaciones que se ejecutan en el proceso de diseño y pueden determinar una vuelta atrás en el mismo para corregir lo que “no funciona bien”. En cambio, el test de un circuito integrado es la comprobación, posterior a la fabricación del mismo, que garantiza que el circuito se ha fabricado bien, es decir, que todas las celdas que configuran el circuito han sido integradas correctamente de forma que el resultado físico coincide con el esquema circuital resultante del diseño. El test no equivale, ni mucho menos, a la simulación funcional: no se trata de verificar que el funcionamiento “normal” del circuito es el deseado, sino de comprobar que todos y cada uno de los transistores han sido fabricados y conectados correctamente. Téngase en cuenta que, si el circuito es relativamente complejo, su funcionamiento total no puede ser simulado, dado que requeriría una secuencia enormemente alta de vectores de test. El test es, por tanto, mucho más exigente que la simulación funcional: que el diseño es correcto queda garantizado, en la misma etapa de diseño, por la simulación funcional y, complementariamente, por el análisis de tiempos en lo que se refiere a restricciones temporales; con el test de lo que se trata es de garantizar, para cada uno de los circuitos integrados, que tal diseño ha sido fabricado correctamente, es decir, que cada uno de los circuitos físicos obtenidos (chips) corresponde exactamente al diseño. El proceso de diseño ha de estar orientado al test; no basta un diseño funcional sino que hay que efectuar, a la vez, un diseño para el test, siendo así que, en muchas ocasiones, los aspectos relativos al test resultan más difíciles y complejos que el propio diseño funcional. El test va más allá de una comprobación funcional de los casos de interés: los vectores de test pretenden verificar que todos los nodos booleanos presentes en el circuito integrado son capaces de actuar correctamente, lo cual asegura, en gran medida, que el circuito físico responde efectivamente al diseño efectuado y no contiene errores debidos al proceso de integración. En la práctica, es imposible la comprobación funcional completa de un circuito digital complejo, recorriendo todos los casos posibles; el test permite efectuar una comprobación “completa” de todos los nodos booleanos del mismo, conforme a un modelo conceptual establecido para tal finalidad. El test se efectúa, también, mediante un estudio estímulo/respuesta (entradas/salidas) utilizando una secuencia apropiada de vectores test (que no coincide con la secuencia propia de la simulación funcional, aunque ésta puede formar parte del conjunto global de vectores de test). Los vectores de test han de permitir “controlar”, desde las entradas del circuito integrado, cada uno de los nodos booleanos internos del mismo (pudiendo situarlos a valor 0 ó 1) y “observar”, desde las salidas del circuito integrado, el estado booleano de cada uno de dichos nodos; de esta forma, podremos comprobar que cada celda básica está en su sitio y que actúa correctamente. No se debe olvidar que aun cuando la aplicación del test es posterior a la fabricación, afecta directamente al diseño por cuanto que el circuito ha de ser “testeable” (no todos lo son) y, además, la obtención de los vectores de test forma parte del diseño del circuito. 440 CAPÍULO 12 Test de circuitos integrados Introducción E l proceso de diseño de circuitos integrados (CIs) finaliza con el desarrollo del producto y la evaluación de sus especificaciones. Con este fin, el test de los circuitos integrados está encaminado a verificar que las capacidades del producto correspondan con las esperadas, además de probar bajo qué condiciones es capaz de operar el dispositivo. Realizar el test permite encontrar errores en el diseño que se pudieron pasar por alto, o aspectos que no se tuvieron en cuenta para la aplicación práctica y que en las simulaciones no aparecen, todo esto antes de su producción en masa para evitar la fabricación de dispositivos defectuosos que en últimas representarían gastos elevados para la empresa diseñadora. Estos test también buscan garantizarle al cliente un funcionamiento óptimo, al descartar componentes deficientes y permitir que sólo chips libres de fallas lleguen hasta el consumidor. Para probar un circuito integrado existen diferentes pruebas, dependiendo de lo que se busque verificar, como son: el test funcional, en el cual se prueba que el circuito cumpla con su objetivo, presente las señales de salida deseadas cuando se le apliquen las señales de entrada del diseño; el test temporal, analizando los tiempos de respuesta del circuito, se observa que tengan los tiempos de propagación, tiempos de hold y set-up esperados, bajo ciertas condiciones en las señales de entrada; y el test de fabricación, en el que se verifica si el circuito está bien fabricado. Test de circuitos integrados E l test es una etapa muy importante durante el ciclo de producción de los circuitos integrados. El objetivo del test es el de verificar si los circuitos fabricados funcionan o no correctamente, en función de las especificaciones con las que fueron diseñados. El costo total para fabricar CIs está relacionado directamente con el costo de test, pero igualmente con el tiempo necesario para generar y aplicar el test y con la calidad de dicho test. El costo de test es una parte importante dentro del costo de fabricación. En 1999 el International Technology Roadmap for semiconductors (ITRS, por sus siglas en ingles) explicaba el problema que tiene el costo del test debido a su aumento relativo respecto al costo total. La tendencia se basó en los circuitos que ocupaban el mayor segmento del mercado (microprocesadores), y auguraba que este aumento seguiría en el futuro. Sin 445 embargo esta tendencia se ha visto modificada desde entonces, por un lado, no todos los sectores han seguido la misma tendencia, y por otro lado, se han conseguido mejoras en el test que han permitido relajar esta tendencia, y el aumento relativo del costo del test en muchas aplicaciones se ha disminuido. A pesar de ello, no en todos los segmentos ha habido mejoras, y en algunas aplicaciones el costo del test puede llegar a significar hasta el 70% del costo total de fabricación. Otro factor importante consiste en el momento en el cual se realiza el test, y consecuentemente, en qué momento se detectan los defectos de los circuitos. El hecho de que se detecten en una etapa muy tardía dentro del proceso de fabricación repercute directamente en los costos. Si estos defectos se detectan demasiado tarde, se malgasta tanto tiempo como recursos en continuar el proceso de fabricación de unos circuitos que serán posteriormente descartados por defectuosos, aumentando así el costo unitario de fabricación. La calidad del test que considera algunos de los circuitos defectuosos como buenos puede provocar una pérdida de confianza del cliente y posteriormente, repercutir directamente en las ventas. En otro caso, considerar defectuosos circuitos que son correctos disminuye el rendimiento del proceso de fabricación, y por ende, aumenta el costo unitario de fabricación. 10,0E-3 1981 1984 1987 1990 1993 1997 1999 2001 2003 2005 2008 2011 1,0E-3 cost/tran Coste/ transitor (cent$) 100,0E-6 ASIC TESTER cost/tran Micro tester cost/tran 10,0E-6 1,0E-6 100,0E-9 10,0E-9 1,0E-9 Año Figura 12.1 Evolución del costo/transistor. 446 2014 Test de fabricación E l proceso de test de fabricación se inicia aceptando el diseño como funcionalmente correcto, es decir, que el diseño presentado va a cumplir con su propósito, y posteriormente se trata de comprobar que físicamente también lo es. Para esto, se realiza un estudio de estímulo-respuesta (entradas-salidas), en el que se emplean unos vectores de test que pretenden controlar desde las entradas, el valor de un nodo y observarlo desde las salidas. Vector de test = {vector de entrada,vector de salida} Para realizar este estudio se utiliza una máquina de test que accede a los nodos de entrada/salida mediante sondas de “punta” y aplica a las entradas los vectores de test. Una vez realizado el estudio, se obtiene el resultado, de carácter binario ya que si está correcto el circuito se encapsula, y si es incorrecto se desecha. Entre los objetivos del test de Circuitos Integrados digitales encontramos: 1. Que el comportamiento lógico del circuito sea el esperado (test de funcionamiento). 2. Que Las salidas alcancen los valores de tensión e intensidad previstos en las hojas de especificaciones (test estático o test DC). 3. Que el comportamiento dinámico (tiempos de subida, bajada y propagación) se encuentren en los márgenes previstos (test dinámico o test AC). Fases del test de fabricación 1. Durante el diseño del circuito: Estos pasan por una etapa de verificación para garantizar las características. 2. Fabricación del circuito: • Comprobaciones que aseguren que sea correcta la realización de los procesos tecnológicos. • Se comprueba funcionalmente desde los nodos de E/S. • Sistemas automáticos de test (ATE). Los ATE están concebidos de forma que permiten automatizar los tres tipos de comprobaciones que se mencionan en los objetivos del test. Están construidos por: una mesa de test “DOUT”; un controlador encargado de gobernar estos recursos para poder establecer las condiciones bajo las que se realizarán las comprobaciones; memoria donde almacenar los patrones de test. Su función es almacenar patterns (conjunto de vectores de test) 3. La vida activa del circuito se comprueba una vez montado sobre la placa. 447 Tipos de test fabricación 1. Test tecnológico: que comprende la medición de parámetros DC (tensiones VIL, VIH, resistividades, etc.), y parámetros AC (tiempos de propagación, tiempos de subida y de bajada). 2. Test de puntas: bloqueos y circuitos abiertos. 3. Test de encapsulado. 4. Test de prototipo. Test concurrente y no concurrente • Concurrente: Se incluyen circuitos integrados que permiten que los resultados que se van obteniendo por el sistema se vayan comprobando mientas se están obteniendo. • No Concurrente: Se incluye en el circuito circuitería adicional para testearlo sin necesidad de ATE’s. Modo sistema: El circuito funciona normalmente. Modo test: El circuito se autocomprueba. Test de prototipo contra test industrial • Test de prototipo: Para testear pocas unidades. Se comprueba que funcione, por qué no funciona, donde está el error, límites hasta los que funciona y si puede ser destructivo. • Test industrial: Para testear muchas unidades. La respuesta del test es booleana. No es destructivo. Inconvenientes del test de circuitos integrados 1. Hay que comprobar cada uno de los circuitos, lo cual implica un consumo de tiempo muy elevado, que se traduce en sobrecostos de producción. 2. EL número de nodos accesibles es muy reducido, haciendo que el análisis no sea completo y un circuito deficiente podría no ser detectado. 3. El test de CIs en la máquina de test es caro y el número de vectores de test necesarios puede ser muy grande. 4. En el caso de circuitos secuenciales es necesario además determinar el orden de aplicación. Test temporal El objetivo del test temporal consiste en verificar que se cumplan los tiempos de propagación esperados en las simulaciones, bajo ciertas condiciones de las señales de entrada. Principalmente se prueban dispositivos especiales fabricados en el contorno de la oblea: resistencias, transistores, condensadores, etc. Por ser un test de calidad, solo se prueban algunas obleas y se realiza un análisis estadístico. 448 Modelo de fallos D • • • • ebido a que comprobar el funcionamiento de un circuito integrado es un problema muy complejo, se debe realizar un modelo de fallos, en el que se pueda: Determinar los fallos posibles y contar su número. Encontrar vectores de test para cada fallo. Conocer que fallos detecta cada vector de test. Calcular la cobertura de fallos. Cobertura de fallos = Fallos detectados × 100 Fallos Posibles Los defectos típicos que se pueden encontrar en un circuito integrado son (Figura 12.2): • Cortocircuito entre capas. • Cables interrumpidos. • Cortocircuito entre la puerta (gate) y el sustrato. Estos fallos dan lugar a las siguientes consecuencias: • Nodos cortocircuitados con las alimentaciones. • Nodos cortocircuitados entre sí. • Nodos Flotantes. Dentro de los modelos de fallos se encuentran: • Fallos por bloqueo (Stuck at): se dan 2 fallos: • Stuck at 1: Cortocircuito entre un nodo y VDD. • Stuck at 0: Cortocircuito entre un nodo y GND. • Fallos por circuito abierto: que incluyen: • Stuck open: Nodo en circuito abierto. • Stuck closed: Nodos en cortocircuito. Estos fallos pueden dar lugar a dispositivos secuenciales. Por ejemplo, en una NOR de 2 entradas, un circuito abierto puede comportarse como se ilustra en la Figura 12.3. 449 Figura 12.2 Posibles fallos en un circuito integrado1 A A B B B A Out 1 1 0 1 0 0 0 1 Out - 1 0 0 1 Figura 12.3 Esquema NOR con circuito abierto en NMOS (izquierda). Tabla de verdad (derecha) 2 MODELO STUCK AT Este modelo de fallos cuenta con las siguientes características: • Se consideran como elementos componentes del circuito las celdas básicas. • Se consideran nodos las entradas a estas celdas básicas y las salidas primarias. • Para cada nodo se toman dos fallos posibles: • Nodo bloqueado a 1: Stuck at 1 • Nodo bloqueado a 0: Stuck at 0 • Se supone que en el circuito hay un único fallo. 1 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 2 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 450 El fallo que se detecta de forma directa con este modelo es el cortocircuito entre dos terminales de un transistor MOS, y entre un nodo y la alimentación. El resto de fallos posibles se detecta de forma indirecta, haciendo una segunda prueba a cada nodo. Los fallos detectados son: • Transistor MOS en circuito abierto. • Pistas cortadas. • La interconexión entre pistas. Este modelo no detecta fallos múltiples, pero es capaz de detectar alguno de ellos individualmente. Para detectar un fallo, inicialmente se aplica a un nodo del circuito el valor booleano D, deseado y se observa el valor del nodo de salidas (Figura 12.4). 1 1 1 D y A * Fallos detectados: stuck-at_1 en la entrada * stuck-at_0 en todas las entradas D=0 => y=0 D=1 => y=1 0 0 0 D + Carry_Out Carry_In y * Fallos detectados: D=0 => y=0 D=1 => y=1 B Suma stuck-at_1 en todas las entradas stuck-at_0 en la entrada * Vectores de test: (000,001,010,100) (000,111) Figura 12.4 Ejemplos de detección de fallos con el modelo Stuck at3 Test de circuitos integrados combinatorios S e toma el modelo Stuck at, que es el modelo más utilizado. Los defectos físicos pueden modelarse como líneas de circuito lógico que quedan bloqueadas permanentemente a 0 o a 1. Dice que un circuito combinatorio se puede probar siempre que se puedan controlar y observar todos sus nodos, siempre y cuando en el circuito no aparezcan redundancias booleanas 3 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 451 Algoritmo D Este algoritmo, introducido por IBM en los años 60, se utiliza para determinar los vectores de test. Consiste en: 1. Asignar el valor D al nodo a evaluar. 2. Se propaga el valor D hasta las salidas, asignando los valores adecuados a los nodos intermedios (observar n). 3. D y el resto de los valores de la etapa anterior se propagan hacia las entradas (controlar n). Test de un nodo Para llevar a cabo el test de un nodo se observará el siguiente ejemplo: el circuito de la figura 5, implementa la función segmento f de un conversor BDC a 7 segmentos: __ D n1 0 n2 C 1 1 B 0 A 1 __ __ Yf = D + C B + C A + B 0 n9 1 n7 n3 n4 0 1 n5 n6 0 0 n8 0 n10 Yf 1 fallos = 2*10 Figura 12.5 Esquema conversor BDC a 7 segmentos 4 Se analiza el nodo 7: 1. Se le asigna el valor D a n7. 2. Observar: (n2,‘1’); (n9,D); (n1, n8,‘0’); (n10,D). 3. Controlar: (n1=0, Di=0); (n2=1, Ci=1); (n7=D, n3=D, n4=1); estos valores fuerzan n5 y n6, y por lo tanto n8=0, y esto es correcto. 4. Vectores de test 01D1 (0101 bloqueo a 0, 0111 bloqueo a 1). Nodo no evaluable ________ Tenemos la función: Yf = D + C ⋅ B ⋅ A + ( B + A ) → simplificando →Yf = D + C + B + A El nodo 7 no se puede evaluar, los valores boléanos de n7 y n8 son incompatibles. 4 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 452 D 0 C 1 X B 0 A 0 n1 n2 0 n9 1 n7 n3 n4 0 1 n5 n6 0 0 0 n10 Yf 1 n8 Figura 12.6 Esquema de circuito implementado con la función no evaluable5 Generación de vectores A continuación se presenta el procedimiento para la generación de vectores. • Se toma un número de vectores aleatorios (o funcionales) y se calcula la cobertura que producen (60% a 80%). • Se incrementa este conjunto mientras produzca resultados. • Se estudian los nodos no evaluados y se obtienen sus vectores de test según algoritmo D. • Cuando se alcanza la cobertura deseada (usualmente 95% ó 98%) se detiene el proceso. • Se intenta minimizar el número de vectores de test necesarios, ya que se paga por el tiempo de testeo. Normalmente se paga por paquetes de 64K o 256K vectores. El tamaño del paquete depende de las características del test empleado. Diseño orientado al test El objetivo de un diseño orientado al test es el de mejorar la controlabilidad y observabilidad de los nodos, para incrementar la tasa de cobertura con un número menor de vectores. Para esto, se utilizan los siguientes métodos: • Eliminación de redundancias. • Inserción de puntos de test, es decir convertir nodos internos en salidas para mejorar la observabilidad y añadir el control externo a entradas de puertas internas, multiplexándolas para funcionar en modos normal/test. • Separar el circuito en bloques estudiables de forma individual. Inserción de puntos de test y utilización Para identificar los posibles fallos en un circuito se pueden aumentar los puntos de control y observación al insertarlos físicamente: 5 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 453 • Puntos de control CP: C1 C2 CP Figura 12.7 Puntos de control CP con inyección de 0 6 C1 CP1 C2 CP2 C1 0 1 CP1 C2 CP2 Figura 12.8 Puntos de control CP con inyección de 1/0 segmentos 7 • Puntos de observación OP: 0P C1 CP G C2 Figura 12.9 Puntos de observación OP segmentos 8 6 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 7 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 8 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 454 Utilización de los puntos de test: • Los puntos de control: • Buses de control, direccionamiento y datos en un diseño estructurado en bus. • Líneas de control en dispositivos triestado. • Señales de control en memorias. • Puntos de observación: • Señales redundantes. • Caminos de realimentación globales. • Salidas de dispositivos con muchas entradas (multiplexores, generadores de paridad, etc.). • Salidas de flip-flops, contadores, registros de desplazamiento. • Buses de datos, dirección y control. La inserción de puntos de test implica un aumento en el número de nodos de entrada/ salida, por lo que se utilizan salidas y entradas multiplexadas, en modo test o modo normal. Test de circuitos integrados secuenciales El valor de los nodos depende de los vectores de entrada y del estado almacenado en los biestables, por tanto se necesitan secuencias ordenadas de vectores de entrada para fijar el estado interno, por ejemplo, en un test de un contador de 16bits, si partimos de 0, se necesitarían 65534 pulsos de CLK para comprobar el Stuck at 0 del bit MSB. En el diseño orientado al test, se cuentan con las siguientes características: • • • • Diseño síncrono con único flanco activo de reloj (se evalúa con base a un único reloj). Uso o no de determinado tipo de biestables. Uso o no de triestados. Inicialización del sistema, de los biestables (necesario para la simulación). SCAN-PATH El Scan-Path consigue la reducción del problema al separar la lógica combinatoria de la secuencial, añadiendo un multiplexor a la entrada de los elementos de memoria, facilitando la evaluación de un único registro de desplazamiento. Este método también permite evaluar todos los biestables (full scan) o solo en los que se requiera (partial scan). EL control y la observabilidad se consiguen encadenando los biestables, durante el test de uno o varios registros de desplazamiento. 455 Los circuitos requieren de pines extra para el escaneo, por lo que los biestables son más complejos, como se observa en las Figuras 12.10 y 12.11. d clk scan_in q d d scan_enable qn clk q clk qn q/scan_out qn flip-flop con scan flip-flop sin scan Figura 12.10 Diferencias entre un flip-flop sin escaneo (Izq.) y con escaneo (Der.) 9 Lógica Funcional scan_in d clk q qn d clk q qn d clk q qn d clk q scan_out qn clk scan_enable Figura 12.11 Lógica funcional del Scan-Path 10 Ventaja: Vectores de test sólo para la parte combinatoria, optimiza el uso de ATE. Desventajas: Necesita lógica adicional, pines adicionales, número de ciclos de test elevado, las condiciones del test no son reales, la lógica adicional empeora el circuito por aumentar el retardo, el consumo y aumenta el riesgo de mal funcionamiento. Operación 1. Se obtienen los vectores de test de cada bloque combinatorio (delimitado por elementos secuenciales) según el algoritmo D. 2. Se cargan estos vectores de test encadenados en el registro de Scan (modo test) serán necesarios tantos pulsos CLK como biestables (n) tenga el registro de Scan (se puede reducir el número de pulsos usando varios registros cortos, pero se requieren más pines). 3. Se pone el circuito en modo normal y se aplica un pulso CLK. 9 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 10 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 456 4. Se regresa al modo test y se extrae el valor del registro de Scan, aplicando n pulsos de CLK. En esta fase también se puede cargar de nuevo el registro. Test de placas y de sistemas complejos L a extraordinaria complejidad que alcanzan hoy día las placas de circuitos digitales y los sistemas digitales completos repercute fuertemente sobre su comprobación, lo que resulta sumamente difícil. La filosofía desarrollada con el método del scan path para el test de circuitos secuenciales es aplicable al test de placas de circuitos integrados digitales de la siguiente manera: a. Ha de incluirse un biestable en cada terminal de los circuitos integrados; dicho biestable actuará en modo de test formando parte junto a biestables internos del registro de desplazamiento que conforma el camino de exploración (scan path) para el test del CI. b. Los caminos de exploración de los diversos circuitos integrados serán conectados en serie para formar un largo camino de exploración global para el test de placa. c. El scan path permite controlar en serie todas las entradas y salidas de los CI y observar en serie todas sus salidas, de forma que se puede probar cada uno de dichos circuitos utilizando sus propios vectores de test. d. El scan path permite fijar valores en las salidas de los circuitos integrados y observar, luego, las entradas de todos los circuitos, lo cual hace posible comprobar las pistas de conexión, comprobando si los valores fijados en las salidas de los circuitos son recibidos correctamente en las entradas de los circuitos conectados a tales salidas. Esta manera de abordar el test de placas digitales, mediante la inclusión de biestables en el contorno de todos los circuitos integrados, para formar junto con los biestables internos propios del diseño un camino de exploración “scan path” de la placa, constituye un método de comprobación que recibe el nombre de exploración de contorno: boundary scan. Entradas Biestables Salidas internos Pistas cicuito impreso Test-out Test-in Figura 12.12 Boundary scan 457 El boundary scan requiere disponer de circuitos integrados especiales preparados para el test de contorno, dichos circuitos incorporan biestables y periféricos en todos sus terminales, así, en todas sus entradas y salidas; y cuatro terminales adicionales dedicados específicamente al test: dos para la entrada TDI “test in” y salida TD0 “test out” del registro de desplazamiento, uno como entrada de control para la ejecución del test TMS “test mode switch”, y otro como entrada de reloj para el test TCK. Si el circuito integrado es secuencial, los “biestables propios” del circuito son conectados al registro de desplazamiento “scan path” junto con los “biestables periféricos”, para poder efectuar el test completo de los circuitos. El circuito funciona en tres modos, completamente diferentes: 1. El modo normal en el cual no actúan los biestables periféricos y no existe “scan path”: TMS = TDI = 0 y TD0 = 0. 2. El modo de desplazamiento TMS = 1, TCK = pulsos de reloj, en que se produce el desplazamiento del registro que configura el “scan path” y, por tanto, la entrada y la salida de los vectores de test. 3. El modo de ejecución de test TMS = 0, TDI = 1, TCK = un solo pulso de reloj (TD0 =1) en que los biestables periféricos actúan en dos sentidos: a. Antes del pulso de reloj, como entradas hacia los circuitos integrados (para realizar su test interno) y como salidas (para realizar el test de conexiones entre ellos). b. Después del pulso de reloj, como entradas (para recibir el resultado del test interno). Test de placas PCB JTAG Este es un procedimiento análogo al test secuencial. Definido por el estándar IEEE JTAG (Join Test Action Group), cuenta con las siguientes características: • Registro de todos los pines de los circuitos integrados. • Scan-Path formado por todos los pines de los circuitos. • Necesidad de terminales específicos para el test: scan-input, scan-output, scanclk y test-mode. • Aplicable tanto al test de la placa como al de los circuitos. 458 Test interno E ste método de prueba de circuitos integrados es muy útil para aplicaciones de circuitos extensos repetitivos, tales como RAM o PLA. Busca reducir costos de test, posibilitar el test sobre la placa, en algunas situaciones la autodiagnosis dinámica y la tolerancia a fallos. Para el test interno se requiere: • Generador de vectores de test: LFSR. • Analizador de resultados: analizadores de FIRMA. BIST (Built-In Self Test) Se basa en un registro especial que actúa como generador y/o compresor de los patrones que se aplican a un circuito y no necesita introducir ningún vector de test. Funciona de la siguiente manera: estando en modo test, se aplican pulsos CLK mientras se comprueba que la salida del comparador de test (TDO) permanece en cero. Ventajas: Se eliminan los costos de generación de vectores de test, el test se realiza a la velocidad del circuito, no hay circuitería externa de comprobación. Desventajas: Necesita espacio propio, no se puede acceder a nodos Internos. Contiene una máquina de estados que analiza conjuntamente todos los vectores de test. La generación interna de los vectores de test puede ser con pre-almacenamiento, test exhaustivo o pseudo-aleatorio (LFSR: Linear Feedback Shift Register). d q d q d Q1 Q0 clk d q Qm¹ clk q d Qm-1 Qm clk clk q clk clk V0 V1 Vm' Vm-1 Vm Figura 12.13 Esquema BIST 11 11 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 459 Compactación de vectores (firma) Para este método, es necesario comparar las salidas producidas por los vectores internos de test para comprobar la corrección del circuito. Para simplificar el circuito comparador, se compactan las salidas. • FIRMA sobre N bits: compresión de una palabra de M>>N bits. • Dos palabras de M bits tendrán diferente FIRMA si son distintas y difieren en no más de N bits. • Un LFSR adecuadamente modificado es un compresor de FIRMA. d q d clk q d clk d q d q d q d q q clk clk clk clk clk clk d q CLK D0 D1 D2 D3 D4 D5 D6 D7 Figura 12.14 Esquema compactación de vectores FIRMA 12 BILBO (Built-In Logic Block Observer) Utiliza un LFSR interno capaz de generar vectores de test pseudo-aleatorios, o funcionar como analizador de firmas. Señales: SIN y SOUT, que construyen los pines de escaneo; B1 y B2 que permiten escoger el modo de funcionamiento. Funciona muy bien en circuitos muy modulados o con estructura en bus. Cada módulo tiene 2 registros BILBO. Funcionamiento: Modo registro desplazamiento, modo test, modo registro desplazamiento. L F S R Bloque a testear 1 L F S R Bloque a testear 2 Figura 12.14 Esquema BILBO 13 12 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 13 Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf 460 Los registros reconfigurables BILBO permiten su reutilización tanto funcional, como de generadores de vectores y de analizadores de firma, permitiendo el test secuencial de los distintos bloques. Test AD-HOC Es un conjunto de normas de diseño que permiten acceder y controlar mejor los nodos internos. Las normas prácticas de diseño para el test son: 1. Facilitar el acceso y la observación de los nodos internos: convirtiendo señales conflictivas en pines E/S, uso de MUX para facilitar el acceso y la observación a nodos internos, uso de registros desplazamiento 2. Asegurar la inicialización de todo elemento de memoria interna. 3. Evitar la lógica redundante porque puede enmascarar la detección de fallos. 4. Evitar la generación de señales de reloj internas, así como de asincronizaciones. 5. Partición del circuito, si es muy grande. 6. Dar un buen informe del circuito diseñado: donde debe especificarse el funcionamiento lógico del circuito, las señales de control y reloj, la sincronización de todas las señales, y que elementos del test son testeados con lógica adicional. El test en la etapa de diseño. Durante el diseño del circuito, estos deben pasar por una etapa de verificación para garantizar las características deseadas. El objetivo del test en esta etapa principalmente consiste en reducir el tiempo de diseño y maximizar las probabilidades de éxito. Herramientas a. Simuladores genéricos: • Analógicos. • Digitales. Diseño Digital Diseño Analógico Descripción Descripción Simulación Simulación Prototipo Prototipo Verificación Verificación Ajustes/ Simulación Fin Ajustes/ Simulación Autoverificación Fin Figura 12.16 Esquema de simuladores genéricos 461 Autoverificación: (Test Bench) • • • • • • • Adquiere resultados correctos. Ejecuta la simulación. Compara resultados de la simulación con los esperados. En caso de error genera mensaje texto. Reduce el uso de visores de formas de onda. Acelera la depuración de sistemas complejos. Debe ser fiable y exhaustivo. b. Simuladores ad-hoc Los simuladores ad-hoc, como ya se mencionó, se basan en un conjunto de normas de diseño que permiten acceder y controlar mejor los nodos internos. Son programas que materializan el algoritmo que se desea plasmar en hardware. Técnicas de prueba Partición 1. Partición funcional: Separar funciones completas en un solo módulo funcional. Sin solapes ni comparticiones. f3 f1 f2 f3 f4 f5 f6 Adecuado f1 f2 f4 f6 f5 Inadecuado Figura 12.17 Partición funcional 2. Partición física: Si un determinado módulo funcional combina partes analógicas y digitales, deberían separarse. Digital Digital Digital Analog Digital Analog Analog Adecuado Analog Inadecuado Figura 12.18 Partición física. 462 Digital Puntos de prueba 1. Pasivos: Su propósito es la observación de señales. Se utilizan para conectar instrumentos de análisis. • Osciloscopio: Permite el ajuste de circuitos analógicos y la monitorización de señales digitales críticas. • Analizador Lógico: Permite el análisis de señales digitales e incluir conectores para simplificar la conexión. 2. Activos: Mediante puntos de prueba activos es posible introducir señales en el circuito con objeto de controlar su funcionamiento. Dichas señales permiten: • Introducción de estímulos. • Inicializar circuitos digitales. • Abrir lazos de realimentación en circuitos digitales (con la ayuda de multiplexores) para facilitar el test. • Desconectar señales de reloj para poder introducirlas desde el exterior. 3. Activos y Pasivos: También es posible utilizar la técnica de puntos de prueba utilizando puntos activos y pasivos de forma simultánea combinando las características que se describieron anteriormente. Esta técnica es de amplia utilización en sistemas digitales con buses de datos. Durante el test, el instrumento de test se conecta como un dispositivo más del bus. Puede comportarse como receptor (análisis), como transmisor, o incluso como controlador del bus (excitación). ATE:Sistemas automáticos de test. Están construidos por: una mesa de test donde se encuentra el CI a probar o “DUT” (Device Under Test) y que contiene los recursos de test (generadores de estimulos, comparadores, drivers, etc.), un controlador encargado de gobernar estos recursos para poder establecer las condiciones bajo las que se realizarán las comprobaciones, y dispositivos de memoria para almacenar los patrones de test. La función básica de un ATE es comparar los resultados obtenidos en las medidas con los que debería entregar un dispositivo funcionando correctamente (vector de test). Estructura de un ate • SECCIÓN DE CONTROL: ordenador y software. • SECCIÓN DE TEST: • Generadores de estímulos. • Unidades o matrices de conmutación. • Instrumentos de medida. • INTERFAZ CON LA UNIDAD: • Acondicionadores de las señales. • Cableado y alimentación de la unidad. 463 CONTROLADOR Instrumentos de Excitación Instrumentos de Medida Conmutación Fuente de Alimentación DUT Figura 12.19 Estructura de un ATE. Tipos de ATE’s 1. In Circuit Son los encargados de comprobar la continuidad, los circuitos abiertos y cerrados y de realizar medidas sobre sistemas que se encuentran conectados. Se basan en utilizar “camas de agujas” para aplicar y recibir los estímulos analógicos y fundamentalmente digitales. 2. Funcionales Aplican estímulos al sistema a probar (tarjetas y sistemas) y miden las respuestas que generan mediante dos métodos a saber: • Comparar con resultados almacenados previamente. • Analizar los datos obtenidos. 3. Known-Good Sistemas de ATE que permiten mantener un sistema completo. Se basan en introducir, en un sistema que funciona correctamente, la unidad de prueba y medir las respuestas. Si el sistema funciona correctamente la unidad probada es correcta. 4. DE COMPARACIÓN El sistema compara el DUT con una referencia que funciona correctamente. Para ello aplica al DUT y a la referencia las mismas señales comparando las respuestas obtenidas. Ventajas de los sistemas de ATE • • • • • 464 Disminución de los tiempos de prueba. Posibilidad de repetición de las medidas Menor preparación del operador del sistema. Eliminación de los errores. Mayor capacidad de análisis. • Generación automática de estadísticas e informes. • Disminución de costos y aumento de la producción. Instrumentos de medida En los ATEs se utilizan equipos para medir señales analógicas y digitales en los rangos de frecuencia que van desde las señales continuas hasta los GHz. • Instrumentos: • • • • • • Multímetros. Osciloscopios. Digitalizadores con y sin DSP. Frecuencímetros/Contadores. Medidores de potencia. I/O Digital Optoacoplada. Instrumentos de excitación En los ATEs se utilizan equipos para aplicar estímulos analógicos y digitales. • • • • Generadores arbitrarios. Generadores sintetizados de barrido. Convertidores D/A. Generadores de pulsos. Elementos de conmutación Utilizados para encaminar las señales entre el DUT y los instrumentos. • Multiplexores. • Scanners. • Matrices de conmutación. Ejemplo: ADVANTEST Modelo T6682 ATE Figura 12.20 ADVANTEST Modelo T6682 ATE 14 14 Lubaszewski M. MIC05: Teste de Circuitos Integrados. PPGMicro – UFRGS. 2007. 465 1. Diagrama de bloques Frame Processor ALPG (Option) SCPG (Option) Tester Controller Pin Data Selector Rate Generator SQPG Formatter Timing Generator AFM (w/ALPG) PE Timing Memory TTB Data Fail Memory PMU´s MDC UDC Waveform Memory Device Power Supplies Digital Compare Figura 12.21 Diagrama de bloques Advantest T6682 ATE 15 2. Características Utiliza VLSI chips en implementación de 0.35 μm. • 1024 canales de pins. • Velocidad: 250, 500, o 1000 MHz. • Exactitud de tiempo: +/- 200 ps. • Tensión: -2.5 a 6 V. • Exactitud CLK: +/- 870 ps. • Ajuste resolución CLK: 31.25 ps. • Patrón de multiplexado: escritura 2 patrones en un ciclo ATE. • Multiplexado de Pines: usa 2 pines para controlar 1 pin de DUT. 15 Lubaszewski M. MIC05: Teste de Circuitos Integrados. PPGMicro – UFRGS. 2007. 466 DUT APENDICE Iniciando L-edit Para iniciar L-edit, haga clic en el botón start en la ventana taskbar y vaya hacia el directorio de instalación de L-Edit (generalmente en Programs>Tanner L-edit Pro> L-edit Pro). Luego haga doble click en el icono de L-Edit que esta en el escritorio y tiene la siguiente presentación: Setup de archivos Cada diseño en L-edit contiene información básica tal como una lista de layers (trazos), marco de la tecnología y la opción del modulo especifico para SPR, DRC, y extracción. Toda esta información es conocida como el setup. Esta información de diseño se puede transferir usando File >ReplaceSetupy File >ExportSetup. Exportación de Setup. Cuando inicia L-edit, el programa toma el archivoledlt.tdb y lo lee para cargar la información, esto siempre lo hará por defecto. Si L-Edit no encuentra este archivo en el directorio correcto , L-Edit buscara el directorio donde el ejecutable este localizado. En caso de que L-edit no encuentre el archivoledlt.tdb, el mostrara un mensaje de peligro de error. Con o sin archivo de inicio, ledlt.tdb, cuando L-edit inicia genera una nueva celda nueva, Cell0. Para poner en marcha L-edit con un archivo TDB especifico, se debe hacer doble click sobre el archivo TDB y este se cargara y abrirá automáticamente el L-Edit. Línea de Argumentos y de Mando. Para iniciar L-edit con una línea de argumentos, haga click en Start y seleccione Run. Use Browse para llegar hasta el directorio que contenga a ledit.exe. L-edit usa las siguientes líneas de comandos y argumentos: file1.tdb, file2.tdb, ... Nombre de los archivos TDB. -d Previene a L-edit para cambiar el actual directorio. Sin esta bandera, L-edit carga el 471 actual directorio a el último TDB abierto en L-edit. -d <dir name> Cambia el directorio actual a uno especificado. -f Instrucción para que L-Edit ignore trabajos de grupos y uso de archivos de configuración. -n Desactiva la grilla. -r Este comando asocia el archivo TDB con la versión de L-Edit mostrada en la linea de mando. -s Evita la asociación de archivos. -u <nombre de archivo> Carga el archivo macro especificado. Múltiples opciones –u pueden ser usadas para cargar varias macros. -U <nombre de archivo> Carga el archivo macro especificado y ejecuta la primer macro registrada en UPI_Entry_Point. Solo una macro puede ser ejecutada, pero la macro puede ser ejecutada dentro del llamado de otra macro. Interfase Los siguientes son los componentes de la interfase de L-Edit: Barra de menú. Herramientas estándar. Herramientas de edición. Herramientas de dibujo. Herramientas de verificación. Herramientas de pegado y ruta. Paleta de trazos. Barra de estado. Colocación o coordenadas. Barra de botones del mouse. Área de trazo. Interfase de línea de mando. A continuación se muestra su ubicación en la pantalla de trabajo: 472 Barra de Titulo y Barra de Menú. La barra de titulo indica el archivo y la celda activa. La barra de menú contiene los comandos de L-Edit y se muestra de la siguiente manera: FILE Comandos para crear, abrir, guardar e imprimir archivos. EDIT Comandos para copiar, borrar, seleccionar, encontrar y editar texto. VIEW Comandos para expandir, contraer y cambiar la vista. DRAW Comandos para transformar diseños elementales. CELL Comandos para crear, manipular e instanciar celdas. SETUP Comando para acomodar parámetros del setup para la aplicación, diseño, trazos, paleta de colores, y herramientas. TOOLS Comandos para examinar XrefCells, creación y borrado de trazos, DRC, acomodado y enrutado del diseño, extracción, vistas de corte de sección y activación de macros. WINDOWS HELP de L-Edit. Comandos para mostrar ventana de documentación. Comandos para acceder a guías de usuario e información general acerca Arreglo de Ventana. El menú Windows contiene comandos para manipulación de ventanas de documentos y textos de L-Edit. 473 Buscar Ayuda. Para conseguir documentación, presione el botón ( de los siguiente comandos del menú ayuda (Help) ) de ayuda o seleccione una Layout Editor Placement and Routing Design Verification UPI X-Tools Dev-Gen Quick Reference Application Notes FAQ Para determinar la versión de L-Edit que esta usando, seleccione Help>About L-Edit. L-Edit le mostrara la siguiente ventana de dialogo: De click sobre Supportpara ver el contacto con Tanner EDA TechnicalSupport. 474 De click sobre Memory para ver información del sistema operativo de su coputador. L-Edit desplegar la siguiente presentación: Si tiene muchas ventanas abiertas en L-Edit usted puede recibir la siguiente advertencia: Barras de Herramientas. L-Editutilisa ocho diferentes barras de herramientas que se pueden mostrar u ocultar usando View >Toolbars. También se puede mostrar y esconder las barras de herramientas a través de un menú sensitivo. Para activar el menú posicione el puntero en cualquier parte de la barra de herramientas y de un click con el botón derecho del mouse. El menú es dinámico y puede mostrar las opciones y herramientas para configurar el L-Edit. 475 Usted puede mover y redimensionar todas las herramientas. Para cambiar de posición una barra, de click sostenido sobre una esquina y arrástrela a la nueva posición. L-Edit mantiene su configuración de tablero cuando usted cierre la sesión. Si quiere que la herramientas retornen a la posición inicial use ResetToolbarsmostrada en la anterior grafica. Herramientas Estándar: 476 Herramientas de Edición: Herramientas de Dibujo: Esta herramienta tiene botones para ortogonales, 45 grados y para todos los angulos. Para mostrar solo un set de botones de click derecho sobre la barra de dibujo y seleccione. 477 Los siguientes botones son los que presenta la barra de dibujo: Herramientas de Verificación: 478 Herramientas de ruta y postura: Paleta de Trazos: La paleta se muestra a continuación: L-Edit soporta un gran número de tecnologías, cuyos layers están agrupados en la paleta de layers representados por iconos que representan a cada material. El icono muestra el color y el patrón de cada layer simulado en el trazado. Cuando el puntero del mouse se desplaza sobre la paleta, el nombre de cada material aparece en la barra de estado. Para ver layers adicionales puede usar la barra de desplazamiento de la paleta que se muestro en la anterior grafica. Usando el botón derecho del mouse en la parte superior del menú asociado con la paleta, se puede ocultar, mostrar o asegurar los layers, abrir el dialogo setuplayers, y cambie el tamaño de los iconos de la paleta. Para activar el menú posicione el puntero en cualquier parte de paleta y de click derecho a lo cual aparecerá la siguiente pantalla: 479 Lock[nombre Layer] Cuando ejecuta este comando no puede dibujar, mover o editar objetos con el layer especificado. Use Lock All o Unlock All, respectivamente. Cuando un layer es boqueado, L-Edit indica este estado de dos formas: Una mascara de comprobación aparece al lado como Layer[nombre Layer]. El icono del layer es enrejado en l paleta de trazos, así: Barra de estado. Allí hay tres barras asociados con L-Edit: La barra de estado, la barra de botones del mouse y el localizador. Para ocultar o mostrar la barra de estado use: View > Status Bars. Barra de estado. La barra de estado, localizada en la parte inferior de la ventana de L-Edit, presenta la sensibilidad y la información de los detalles de la interfase. 480 Barra de Botones del Mouse. Esta muestra la actual función de cada botón. Los botones del mouse tienen diferentes funciones de pendiendo de la localización del mouse en la aplicación. Localizador. Normalmente el localizador proporciona la localización del puntero respecto a un origen absoluto. El origen absoluto esta en la coordenada (0,0) y esta marcado con una cruz en el área de trazo. Se puede cambiar la relación entre las unidades del localizador y cualquier unidad física en los diálogos SetupDesign- Technology y SetudDesign – Grid Area de trazos. El área activada para el trazo del objeto es llamada area de trazo. El origen del sistema esta marcado con una cruz y esta dado por la coordenada (0,0), esta marca se puede activar u ocultar usando View >Display>MajorGrid y View >Display>MinorGrid. Tambien se puede ajustar el espaciado entre los puntos de la grilla mayor o menos usando SetupDesign—Grid. Sistema de Coordenadas. L-Edit usa las unidades del localizador para reportar dimensiones de objetos y coordenadas. Este tambien las utiliza para mostrar la grilla, el desplazamiento del mouse sobre la grilla, y el ruteado de grilla BPR. Para realizar los cálculos L-Edit usa, como unidades internas, enteros de 30 bits con signo. La relación entre unidades internas, unidades de localizador y unidades físicas es definida de la siguiente manera: Las unidades físicas son mapeadas a unidades internas en SetupDesign—Technology Las unidades del localizador son mapeadas a unidades internas en SetupDesign—Grid Realizacion de compuertas Cargar cnm25 Para abrir el programa L-Edit 9.1 y cargar automáticamente las reglas de diseño cnm25, se debe hacer doble clic en el ícono cnm25.tdb 481 y aparecerá la siguiente ventana de inicio donde podemos notar que se han cargado las reglas de diseño Se puede observar el menú principal (arriba), la barra de herramientas (izquierda y debajo del menú principal) y el área de edición (centro) Guardar Lo primero que se debe hacer es guardar el archivo con un nombre diferente, para lo cual hacemos clic en File>Save as… En Nombre cambiamos cnm25.tdb por nombre.tdb, en nuestro caso, escribimos ejemplo-inversor.tdb. Nótese que no se cambia la extensión tdb. 482 Al hacer clic en Guardar, aparecerá la sgte ventana donde se puede observar que ya la celda numero cero aparece con el nombre que le dimos. Paleta de colores La paleta para las reglas cnm25 es la siguiente Verde: área activa Gris: polisilicio 0 Rojo: polisilicio 1 Azul: metal Puntos Verdes: implantación N Negro: contacto 483 Pasando el mouse sobre cada color se puede conocer la capa Correspondiente. Estos colores se pueden cambiar en el Setup. Realización de un transistor Nmos El primer paso para la realización del transistor es crear los cortes de contacto, en todas las tecnologías las dimensiones mínimas de los cortes de contacto son las que identifican a la tecnología, en nuestro caso 2.5um. Se hace clic en BOX y en la paleta de colores hacemos clic en el icono negro correspondiente a contacto, luego dibujamos un cuadro de 2.5 x 2.5. Para saber de las dimensiones de los objetos que se están dibujando, en la parte inferior de la ventana se observa un mensaje que nos indica la capa sobre la que se esta trabajando y las dimensiones (en micras) del objeto seleccionado (ver sgte figura) La cruz que aparece en el área de edición indica el punto con coordenadas (0,0) En esta figura se puede observar que el ancho y el largo del area de contacto dibujada es de 2.5um. Ahora hacemos clic en el icono de area activa (verde) y dibujamos un rectangulo mas grande, así: 484 Aquí se ha copiado el area de contacto para que queden iguales. Esto se hace seleccionandolo y luego se presiona Control+C y Control-V, o se va al menú de edicion y se copia y se pega. Para mover se hace clic sobre el area de contacto y con el botón central del mouse presionado, se mueve al lugar que queramos. Ahora se hace clic en el icono correspondiente a Metal (azul) para hacer el drain y el source. El diseño va así: Ahora realizamos el area de Gate, hacemos clic en el icono correspondiente a Polisilicio 1 (rojo) Esta es la estructura básica de un transistor, pero falta determinar si es tipo P o tipo N. Se debe tener en cuenta que el sustrato es tipo P y viene determinado así. Para realizar un transistor tipo N, debemos añadir una implantación N, icono de puntitos verdes. El transistor tipo N quedaría de la sgte forma: Realización de un transistor Pmos Para realizar un transistor Pmos se realiza el mismo procedimiento anterior pero sobre un pozo tipo N, el cual se construye con el icono blanco (pozo n) que se encuentra debajo del icono de contacto. El transistor Pmos queda así: 485 Realización del inversor cmos Ya tenemos el transistor nmos y el transistor pmos, ahora solo nos falta unir las áreas de gate y la de drain con source. El circuito final queda de la sgte manera: Se recomienda añadir unas zonas extra para optimizar los diseños, en estas zonas se conectan la alimentación, es decir, Vdd y Vss. EL diseño optimizado es el sgte: 486 Nomenclatura de los nodos A continuación debemos colocar nombres a los nodos para poder ubicarlos fácilmente a la hora de realizar la simulación del circuito. Para esto debemos hacer clic en y luego hacer clic en la capa que queremos nombrar, por ejemplo para el nodo de entrada (gate). Aparece la sgte ventana: En On layer, se selecciona la capa correspondiente, en nuestro caso Polisilicio 1; en Port name, se coloca el nombre que queremos asignar, para el ejemplo Vin; y en Text size se coloca el tamaño del texto, en nuestro caso para que se vea colocamos 4.5; clic en Aceptar. De ésta misma forma le ponemos los nombres a Vdd, Vss y Vout. 487 El circuito queda de la sgte forma: Detección de errores. Para detectar errores se hace clic en , aparece esta ventana: Damos clic en Aceptar y empieza el proceso de detección de errores. Si no hay errores aparece el sgte cuadro: 488 Clic en OK. Corrección de errores Si el diseño presenta errores aparece la sgte ventana Habilitar el Display DRC Error Navigator y al hacer clic en OK, aparece Donde aparece una lista detallada de los errores presentados, al haber un error se presenta un numero diferente de cero entre paréntesis cuadrados. Para identificar el error se debe dar doble clic en cada error y el programa ubicará dicho error. Por ejemplo al hacer doble clic en el error 2.3.1 Margen entre area activa p+ y pozo n aparece lo sgte: 489 Donde se indica que dicho margen es menor al establecido en las reglas de diseño. Este error se soluciona haciendo el pozo n un poco más grande. Luego vamos al sgte error que corresponde a la dimensión del área de contacto, hacemos doble clic. Para solucionar este error debemos aumentar el tamaño del contacto a por lo menos 2.5u x 2.5u. Luego vamos al sgte error realizando el mismo procedimiento anterior Para solucionar este error pegamos las pistas, ya que ambas son de metal y según el diseño deben estar unidas. Una vez corregido los errores verificamos nuevamente y corremos el DRC hasta que hayamos corregido todos y cada uno de los errores. Con éste procedimiento hemos diseñado un inversor en la tecnología cmos utilizando las reglas de diseño cnm25. 490 El uso de las celdas estandar en L-EDIT La Celda Standard es bloque de construcción básico para cualquier diseño de circuito integrado, esta puede ser creada en el mismo layout o llamada desde otro archivo diferente. A continuación se muestra el ejemplo de construcción de match D, a partir de celdas: El Latch a nivel de compuertas tiene la siguiente configuración: En donde el funcionamiento de este es el siguiente cuando Ck es igual a uno la compuerta de transmisión de la entrada deja pasar el dato y pasa al inversor de arriba y cuando Ck es igual a cero la compuerta de transmisión de la entrada se abre y la otra compuerta de transmisión se activa dando como resultado el dato guardado. A nivel de transistores la compuerta de transmisión es la siguiente: y el inversor es el siguiente: 491 Como vemos en el latch D estas dos estructuras se repiten varias veces, lo cual dibujarlas cada vez de nuevo en L-edit resulta bastante dispendioso, por tal razón, en L-Edit se permiten la creación de celdas para el ahorro de tiempo. El Primer paso es abrir un archivo nuevo (layout) en L-edit, en donde se va a diseñar el latch. En L-edit se va a File>New En este archivo es donde se van a pegar todas las celdas creadas. Para la creación de la primera celda se va a barra a la barra de menú y en el comando Cell>new A continuación aparecerá una ventana como la siguiente: En esta ventana los campos a modificar son los siguientes: Cellname: Aquí se debe colocar el nombre con el cual se va a identificar las celdas, en nuestro ejemplo puede ser inversor o compuerta, dependiendo de cual se va a diseñar en esta celda. 492 Autor, organization, information: esto es información adicional que le desee agregar el diseñador. Y en el cuadro open new window, cuando esta activada, abre un nueva ventana para el diseño de la celda. En esta nueva ventana abierta se diseña la celda que se desea crear, como si fuera un archivo nuevo tal como fue explicada en el ejemplo anterior del inversor. El inversor creado en la celda debe ser parecido al siguiente: Para la creación de la compuerta de transmisión se sigue el mismo procedimiento anterior, pero estando en la ventana original donde se va a diseñar el latch D, entonces para cambiar a la ventana del latch se va la barra de menú y se escoge window y en la parte de abajo se escoge la ventana del latch, como se muestra a continuación: A partir de la ventana original se hace la creación de una nueva celda. Nota: no olvidar estar chequeando las reglas de diseño para evitar posibles errores cuando se hagan llamados de las celdas después en la ventana del latch. 493 El aspecto de la compuerta de transmisión (layout) debe ser como el siguiente: Se debe tener en cuenta que en la celda de esta compuerta no esta el inversor que conecta el control con el gate del transistor p, esto no se coloco debido a que se va aprovechar el diseño de la celda del inversor por aparte. Ahora si se pasa de nuevo a la ventana del latch para hacer el llamado de cada una de las celdas. Para el hacer el llamado de la celda del inversor, en la barra de menú se va al comando Cell>instante, como se muestra a continuación: 494 A continuación aparece una nueva ventana como la siguiente: En file se selecciona el archivo donde fueron creadas las celdas, en nuestro caso, las celdas fueron creadas en el mismo archivo y por lo tanto este aparece por default, pero si se desea hacer el llamado de una celda de otro archivo pues allí se selecciona. En el recuadro de abajo se selecciona la celda que se desea llamary se da ok. Nota: Una celda no se puede llamar a si misma por lo tanto en el recuadro blanco la primera celda (el archivo desde donde se hizo el llamado), aparece con una cruz roja. A continuación esta aparece en la pantalla como una foto y en primera instancia esta no puede ser modificada, y de ahí en adelante se hace el llamado cuantas veces se requiera de la misma forma que la anterior. Para nuestro ejemplo se necesitan 5 inversores (contando los de las compuertas de transmisión) y 2 compuertas de transmisión. Después de que se hace el llamado de todos las celdas, el aspecto es el siguiente (el llamado debe ser hecho desde la ventana del latch) Nota: Para no hacer el llamado todas las veces de las celdas, la imagen de la primera celda puede ser repetida con las comando de copiar y pegar y se crean las nuevas celdas. Tengan en cuenta cuando se hace el llamado de la segunda celda igual a la anterior, esta queda encima de la anterior y hay que moverla a otro lugar. 495 Ahora si se procede a unir todas las celdas para formar el latch D, el procedimiento de unir celdas es igual a crear cada uno de las componentes, es decir, se le pueden agregar las layers necesarias externas a cada una de las celdas. Si de casualidad se desea modificar las celdas llamadas en este diseño, se selecciona la celda a modificar. Se va a la barra de menú, luego, Edit>Edit in-place>pushinto. Si se desea acceder a esta opción desde al barra de herramientas, es por medio del icono . Esta opción lo que hace es deshabilitar la celda como una “foto” y permite modificar las capas internas, si se hace una modificación a una de las celdas, se ve reflejada en cada una de las celdas llamadas iguales y las que pudieran ser llamadas después. 496 Nota: Si se modifica la celda original que ha sido llamada de otro archivo, los cambios no se ven reflejados inmediatamente en las celdas que fueron llamadas. Por lo tanto para que estos cambios se puedan ver se debe hacer de la siguiente forma: En la barra de menú se escoge Tools>Workgroup>Examine XrefCells links…, como se muestra a continuación: y luego aparece una ventana como la siguiente: En nuestro ejemplo, no se hace necesario la modificación de las celdas llamadas de otros archivos por lo tanto no aparece ninguna celda en este cuadro, pero si se hace el llamado desde otro archivo y se desea actualizar se presiona el botón de update. El botón unlink se utiliza si se desea desvincular la posible celda seleccionada en el cuadro blanco de su celda original, es decir, la celda se convierte en un diseño abierto en el archivo donde fue llamada y queda como si hubiera sido diseñada allí. El botón redirect se utiliza cuando se desea cambiar la fuente desde donde fue llamada una celda externa. 497 Otras opciones que ofrece el comando Cell de la barra de menú: Open: permite abrir una celda que no ha sido abierta. Copy: permite crear una copia de una celda con un nombre diferente en el mismo archivo. Después de seleccionar copy aparece una ventana como la siguiente: Allí se debe seleccionar la celda que se va a copiar, y luego aparece una nueva ventana donde se debe poner el nuevo nombre de la celda creada. 498 Rename: permite cambiar el nombre de la celda y la información adicional dada por el diseñador. Delete: borra la celda que se escoja en la nueva ventana que aparece. RevertCell: permite devolver los cambios hechos a las celdas a partir de las siguientes operaciones File > Save Tools > Generate Layers Tools > DRC Tools > Extract Draw > Assign GDSII Data Types Draw > Clear Rulers Tools > Clear Generate Layers Tools > Clear Error Layers Nota: a partir de Undo del comando edit no se regeneran cambios hechos en las celdas. El navegador de diseño (designnavigator) Esta opción permite observar las celdas llamadas y creadas en una estructura jerarquizada de acuerdo a los llamados de las celdas Para abrir esta opción se debe ir al comando view>designnavigator o de la barra de herramientas con el ícono . La estructura de esta ventana es como la siguiente: Enrutamiento Este capítulo del tutorial de L-Edit describe cómo utilizar la herramienta de colocación y enrutamiento de forma automática de celdas estándar (SPR) al igual que el uso de bloques característicos de L-Edit (BPR) 499 Paquete de herramientas spr (standard cell place and route) El SPR es un paquete de enrutamiento para celdas estándar, que puede generar automáticamente el Layout para un chip. Este consiste en 3 módulos, que se pueden utilizar de forma individual o conjunta: Un módulo central de enrutamiento para generar el núcleo de la celda. Un generador de PADs. Un módulo que permite conectar los PADs con el núcleo de la celda. Al ejecutar estos tres módulos, se obtiene un diseño como este: Las celdas estándar y PADs que utiliza el SPR se encuentran en una librería de celdas estándar. El Netlist es generado por el formato EDIF o por el formato TPR (Tanner Place and Route). Entonces, el SPR genera el núcleo, los PADs y el Layout del chip en L-Edit, el cual se comprueba y posteriormente se extrae. Para verificar los posibles retardos, se puede generar un archivo de capacitancia nodal (CAP) durante el proceso de enrutamiento. Los pasos de colocación y enrutamiento se automatizan completamente. Se puede utilizar enrutamiento de dos o de tres capas, incluyendo la opción de la enrutamiento sobre la celda (OTC). Se pueden enrutar hasta dos señales de I/O (ej., señales del reloj) por separado para controlar los posibles retardos. 500 Colocación y enrutamiento de bloques (BPR) El (BPR) es una herramienta automatizada de colocación y enrutamiento de bloques. Puede ser utilizada para incorporar bloques generados por el usuario, bloques habituales, celdas estándar, núcleos y PADs SPR-generados en el diseño, y realizar el montaje del chip. BPR inicializa un diseño mediante un netlist EDIF o TPR para los bloques que se utilizarán, después pone esos bloques en una celda de un nivel superior. Una vez que se inicialice un diseño de BPR, los bloques se pueden poner y enrutar automática o manualmente. BPR permite que se realice la colocación incremental, donde la posición y la orientación de bloques puestos serán conservadas cuando usted agrega nuevos bloques a su diseño. SPR Para correr el SPR, se necesitan los siguientes archivos: Un archivo de diseño (.tdb) Un netlist (.tpr, .edf, .edn, or .edi). Este archive contiene una descripción textual del diseño esquemático y define las celdas requeridas. Una librería de celdas estándar, que contiene las celdas y los pads para el diseño. Importante: Para la colocación y enrutamiento de un diseño, primero se debe definir la tecnología apropiada para la librería de celdas estándar. Para esto se debe ir a File > New para copiar el archivo de tecnología .tdb que se va a utilizar, antes de iniciar el SPR. También se puede abrir un archivo de diseño que contenga la configuración de la tecnología adecuada. Desarrollo del proceso SPR Para enrutar un diseño utilizando L-Edit/SPR, se siguen los siguientes pasos: Crear una representación esquemática del diseño. Exportar el esquemático como un netlist. L-Edit soporta la versión 2.00 del formato EDIF. Dar clic en File > New para crear el archivo de layout. Importar la información del di- 501 seño (tecnología) de la librería de celdas escribiendo el nombre de la librería en el campo Copy TDB setupfrom file del cuadro de diálogo New File. Dar click en File >Savepara guardar el diseño inicial con un nombre apropiado. Escoger Tools > SPR >Setup. Especificar el nombre de lalibrería de celdas estándar y el archivo netlist. También especificar el nodo y el nombre de puerto de alimentación y tierra, tal como se usó en el esquemático. Dar clic en InitializeSetup. Aquí se leerá el netlist y se inicializarán los cuadros de diálogo de instalación con la información del netlist. Dar clik en CoreSetup, PadframeSetup, y PadRouteSetup respectivamente, para especificar los parámetros faltantes para el enrutamiento del núcleo. EnCoreSetup se tienen los siguientes pantallazos: General: Se definen la librería de celdas, los puertos de las celdas estándar y los puertos de salida utilizados en la generación del núcleo: 502 Layers : Define las capas que se usarán para enrutar el núcleo. Se especifican dos o tres capas. Si se usan tres capas, se puede seleccionar el enrutamiento OTC. También se definen las capacitancias entre las capas de enrutamiento. El enrutamiento OTC (sobre la celda) utiliza caminos sobre las celdas, en la capa H2, entre el borde del canal y el puerto más alejado entre las celdas. 503 Design Rules: Se especifican las reglas de diseño que L-Edit debe seguir para el enrutamiento, de acuerdo a la tecnología de diseño utilizada. 504 Los parámetros que se deben definir se muestran en las siguientes figuras: Placement: Contiene opciones para controlar la colocación automática: IMPORTANTE: Si la optimización de colocación se desactiva, el agrupamiento de celdas puede ser utilizado para colocar las celdas en una secuencia específica. 505 El cuadro de diálogo que aparece es el siguiente: Global Signals: Contiene opciones para enrutar las señales globales de entrada. Este cuadro se puede ignorar si no se activa la opción Global input signalroutingen el cuadro de diálogo Standard Cell Place and Route. Power: Contiene opciones para la colocación y el ancho de las barras de alimentación y tierra. 506 I/O Signals:Contiene opciones para la colocación de las señales de entrada/salida. EnPadframeSetup se dan las opciones para que L-Edit tome las celdas PAD de la librería estándar de celdas, las coloque en un área rectangular y, si se requiere, las conecte. Aquí se tienen los siguientes pantallazos: General: Contiene campos para especificar las celdas y los puertos en la librería estándar para que L-Edit utilice para la generación del padframe. 507 Layout: Se especifica el tamaño del padframe y la localización de los PADs, además de características individuales de cada PAD. PadrouteSetup: El PAD ROUTER de L-Edit es un enrutador de dos capas. Primero, enruta el bus de alimentación en una capa y luego las señales en otra capa. Para cada lado del padframe, hay una correspondencia entre las señales conectadas en el padframe y las señales conectadas en el núcleo. 508 Los parámetros necesarios se introducen en este cuadro de diálogo, el cual consiste en cinco pantallazos, que son: General: Se escribe el nombre de la celda chip, que contiene el núcleo y el padframe. Aquí es donde se hará el enrutamiento. Layers: Se usa para especificar las capas de las señales I/O, la alimentación y tierra y los caminos PAD (de ser necesario). 509 Design Rules: Se especifican las reglas de diseño que L-Edit debe usar para realizar el enrutamiento, de acuerdo a la tecnología de fabricación. Si los puertos del PAD se encuentran en la capa de enrutamiento PAD, se aplican las siguientes reglas de diseño: 510 Para señales I/O, todos los puertos del PAD deben estar en la misma capa, pero esta no debe ser necesariamente la capa de enrutamiento. En este caso, se insertan unos caminos (PAD VIAS) usando las siguientes reglas: CoreSignals: Se usa para especificar las señales que entran o salen del núcleo. Este cuadro se llena automáticamente si el netlist contiene las conexiones PAD. 511 PadframeSignals: Se especifica la lista de señales que entran o salen del padframe. Este cuadro se llena automáticamente si el netlist contiene las conexiones PAD. 512 Dar click en Tools > SPR > Place and Route.Aparecerá el siguiente cuadro de diálogo: Seleccionar la opción apropiada Core place and route, Padframegeneration, o Padroute). Dependiendo del diseño de celdas estándar, seleccionar la opción Global input signalroutingTambién se puede elegir la forma del chip, por ejemplo si se desea una forma cuadrada, se debe seleccionar Square. Especificar las opciones de salida (Por ejemplo, nombrar los nodos, etc.). Dar click en el botón Run. Dependiendo de las opciones seleccionadas, el SPR generará tres nuevas celdas: un núcleo, una celda de caminos y/o un chip (que contiene el núcleo y los caminos). Si el diseño ya posee estas celdas, el SPR le advertirá antes de sobrescribir estos archivos. Cuando el proceso se ha completado, el SPR mostrará un cuadro de diálogo SPR Complete con la información estática del diseño. (Se puede usar Tools > SPR >Summary en cualquier momento para mostrar los detalles. Dar clic en OK para mostrar el diseño completo. El siguiente diseño tiene 990 celdas estándar (3.150 compuertas). 513 Confirmar que las dimensiones del núcleo y/o los caminos concuerdan con la limitación de tamaño impuestas. Si no concuerdan, se debe volver a correr el SPR con una nueva configuración del núcleo. Verificar el diseño usando L-Edit /DRC y el L-Edit/Extract. Salvar el diseño en el formato GDSII. Generación del núcleo y enrutamiento de PADs Para los PADs, L-Edit sólo realiza el enrutamiento entre el borde externo del núcleo y el borde interno del padframe. Entonces, las posiciones y dimensiones del núcleo son muy importantes, pero su geometría intena no. Por esto, L-Edit determina la posición del núcleo buscando un puerto de empalme (abutmentport), que define los límites del núcleo. El programa crea este puerto en la capa definida comoIconlayer. Para definir el Iconlayer se debe ir a Setup>SpecialLayers. Este proceso debe, además, cumplir con lo siguiente: El núcleo debe contener los puertos dentro de sus bordes para cada señal que vaya hacia el padframe. Los puertos en el núcleo y el padframe deben estar ordenados para que ninguna señal se cruce sobre otra entre el núcleo y el padframe (excepto las señales de alimentación y tierra). Sin embargo, las señales que sí se pueden cruzar, solo lo podrán hacer si son de diferentes materiales (por ejemplo, Metal2 para señales I/O y Metal1 para alimentación y tierra). Las líneas de alimentación y tierra son del mimo material y no se deben cruzar. La siguiente figura muestra la colocación de los puertos a lo largo del núcleo. Generación y enrutamiento de PADs En la creación de un padframe L-editenruta las señales solo hasta el borde interno del padframe. Entonces, las posiciones y dimensiones del Padframe son muy importantes, pero su geometría intena no. Para indicar la regíon en la cual puede ser puesto el núcleo, L-edit coloca un puerto rectangular en el borde interno del padframe. 514 Para cada señal que va al núcleo, el padframe debe contener una señal de puerto en el mismo borde interno. Los puertos para cada señal que va al núcleo se deben colocar en el padframe, en el mismo orden y en la misma posición que los puertos de la señal alrededor del núcleo. Estos puertos pueden estar en el nivel superior o pueden estar en un nivel inferior. Los pads de alimentación y tierra deben estar en diferentes sitios del padframe. L-edit no puede enrutar directamente entre los pads en el padframe. Solo puede enrutar entre el padframe y el núcleo. En la siguiente figura vemos un padframe con puertos para las señales, alimentación y tierra. Un padframe puede ser generado mediante dos métodos: Generación de un padframe desde un netlist con las celdas PAD (PAD CELLS). Si el netlist contiene Padcells, se debe usar el botón de InitializeSetup, el cual los incluye automáticamente, en el cuadro de diálogo SPR PadframeSetup—Layout. Completar los campos faltantes, como tamaño y nombre del Padframe. En el cuadro SPR Setup escriba los nombres de las librerias que contiene el correspondiente NETLIST. Ejecutar el SPR con la opción Padframegenerationactivada. Generación de un PADFRAME sin NETLIST o PADCELLS Si el Netlist no contiene Padcells, o no está disponible, se deben poner los nombres de las celdas manualmente en el cuadro de diálogo SPR PadframeSetup—Layout. Completar los campos faltantes, como tamaño y nombre del Padframe. En el cuadro SPR Setup escribir los nombres de las librerias que contienen los Padcells y dejar el correspondiente campo de NETLIST en blanco. 515 Ejecutar el SPR con la opción Padframegenerationactivada. Enrutamiento de señales globales de entrada (GLOBAL INPUT SIGNAL) (ejemplo: señal de clock) Este enrutamiento es utilizado para enrutar dos señales I/O como el clock, independientemente de otras señales. Para este procedimiento, las celdas estándar deben contener dos buses con cuatro puertos de señales globales, colocadas por encima y por debajo de los buses de alimentación y tierra. La siguiente figura muestra una celda estándar con dos buses de señales globales: Durante el enrutamiento, L-Edit conecta los puertos que pertenecen las redes de señales globales (nombradas como A y B en la siguiente figura) a los buses de señales globales respectivos: Luego de la colocación, L-Edit adiciona un número de celdas buffer al final de las filas de celdas estándar, calculadas por el programa. Esto se debe indicar en el cuadro de diálogo SPR CoreSetup–Global Signal. Las celdas buffer se usan únicamente en uno o dos buses. Cada celda buffer contiene un puerto IN que es accesible desde un lado y es colocado en la capa vertical. El puerto IN de la celda buffer más lejana se conecta con la barra de señales globales. Esta barra también se coloca en la capa vertical pero dentro de la barra vertical de alimentación. 516 El enrutamiento de PADs conecta las barras de señales globales verticales al puerto apropiado en el padframe. La asignación de capas para las señales globales es equivalente a la asignación de señales I/O fuera del núcleo. Los PADs de las señales globales deben ser colocados hacia el lado izquierdo y derecho de las barras. Diseño de librerías de celdas estándar Librería de celdas estándar Las celdas en una librería de celdas estándar deben cumplir con ciertas reglas de tamaño y posición de puertos. Usualmente, una librería de celdas estándar incluye dos clases de celdas: Celdas estándar, para enrutar con L-Edit. Celdas PAD, que son opcionales y son usadas por L-Edit en el enrutamiento de padframe. 517 Celdas estándar Puertos de empalme: Cada celda estándar debe tener un puerto especial de empalme (Abutment Port). Las dimensiones y la posición de esta clase de puertos corresponden a los límites de la celda a la cual pertenece. Este puerto debe tener la misma altura en todas las celdas estándar que se utilicen. Puertos de alimentación Los buses de alimentación entran y salen al final de las filas de celdas estándar, se ubican horizontalmente y se conectan a los puertos de alimentación en cada celda. Estos se deben colocar en los extremos de la celda estándar. Los nombres de los puertos de alimentación se especifican en PowerSignaland GroundSignalen el cuadro de diálogo SPR Setup. Los puertos de alimentación (Vdd o Gnd) deben tener la misma altura y posición relativa al puerto de empalme en cada celda estándar de la librería. El ancho de los puertos de alimentación debe ser cero. Puertos de señales Las demás señales que no son de alimentación y tierra se enrutan por el lado superior o inferior de la celda estándar. Estos puertos debe tener altura cero y un nombre que obedezca a las celdas estándar primitivas en el Netlist. 518 Hay tres opciones de enrutamiento de cables para seguir características especiales de un set de celdas estándar: Puertos “RowCrosser” Para enrutar cables entre dos canales de enrutamiento (es decir, a través de una fila de una celda estándar) L-Edit usa unos puertos especificados por el usuario que identifican caminos cruzados en filas de celdas. En una celda estándar, conviene utilizar tantos puertos “Rowcrosser” como las reglas de diseño y los parámetros del SPR lo permitan. Esto ayuda a incrementar la eficiencia de área. 519 Celdas estándar especiales L-Edit requiere tres celdas estándar especiales que deben ser incluídas en el set de librerías. Estas celdas son únicamente para conexión de nodos. Las celdas Tie-to-Powery Tie-to-Ground se necesitas donde una celda estándar tiene un pin directamente conectado a Vdd o Gnd. La celda RowCrosser contiene únicamente un puerto “RowCrosser”. Su propósito es permitir la conexión entre dos canales ubicados arriba y debajo de una fila de celdas. En la siguiente figura se observan tres configuraciones típicas: Celdas PAD Puertos de conexión entre Celdas PAD La siguiente figura ilustra la conexión entre dos celdas PAD (A y B). En la generación del padframe, L-Edit puede optimizarlo bajo ciertas condiciones para que PADs adyacentes sean adheridos entre sí como se muestra entre las celdas B y C. Esta figura también muestra arreglos típicos de los puertos de alimentación y los puertos de señales. 520 Puertos Espejo Se puede especificar un puerto espejo en el cuadro de diálogo SPR PadframeSetup–General. Cuando L-Edit encuentra una celda con el nombre del puerto espejo especificado, automáticamente altera la orientación de la celda colocándola de manera adyacente, nombrada como puerto espejo. La siguiente figura ilustra un padframe generado con algunos efectos espejo: Diseño de celdas para enrutamiento de señales globales Para el enrutamiento de señales de entrada, las celdas estándar y las celdas buffer son extendidas por dos buses de señales globales, que se sitúan arriba y debajo de los buses de alimentación en la capa horizontal. Cada bus contiene dos puertos (nombrados como GS1 y GS2 en la siguiente figura). Estos nombres se definen durante el diseño de la celda, y forman parte de la definición de la celda en la librería de celdas estándar. Colocación y enrutamiento de bloques L-Edit cuenta con la herramienta BPR (Block Placement and Routing), que automáticamente coloca y enruta un diseño usando un Netlist de formato TPR o EDIF, y bloques esquemáticos como entrada. 521 BPR inicializa un diseño extrayendo del Netlist los bloques y las conexiones a utilizar. Luego compara el Netlist con los bloques en el layout y coloca bloques referenciados en el diseño en una celda de alto nivel. La conectividad se muestra como una red de conexiones pin a pin. Cuando el diseño es inicializado, se pueden colocar bloques automática o manualmente de acuerdo a la importancia de minimizar la longitud total de enrutamiento o el área total cubierta por los bloques. Cualquier diseño BPR debe tener una celda definida como top-level BPR cell. Esta es la celda de más alto nivel de jerarquía dentro del archivo, la cual contiene todos los bloques. Solo puede haber una de estas celdas por archivo. Proceso de diseño BPR El proceso L-Edit/BPR consiste en cinco pasos y uno adicional de análisis de tiempos, análisis integral de señales y pasos de verificación del layout. DesignPreparation. Este paso debe ser realizado antes de inicializar el BPR. Durante la preparación del diseño, se crean y/o copian todos los bloques que deben ser enrutados durante el proceso BPR. Initialization. Durante este proceso se especifica el archivo Netlist que L-Edit leerá, cual celda debe ser usada como “top-level BPR cell”, los nombres asociados con algún tipo especial de señal, y si se va a utilizar una”top-level I/O cell”. La especificación de los parámetros de inicialización se hace en el cuadro de diálogo Tools > BPR >Initialization 522 Placement. Durante esta instancia, los bloques son posicionados manual y/o automáticamente en el layout. Se puede hacer un análisis de propiedades eléctricas y físicas del diseño. Los parámetros de colocación automática se especifican en el cuadro de diálogo Tools > BPR >AutomaticPlacement. Routing. El enrutamiento es la creación y arreglo espacial de interconexiones (cables y vías) entre los bloques, y opcionalmente, PADs I/O. Este proceso se puede llevar a cabo manual o automáticamente. Los parámetros para el enrutamiento se especifican en los cuadros de diálogo Tools > BPR >Setup—ManualRouter y Tools > BPR >Setup—Autorouter. Timing Analysis and Signal Integrity Analysis. L-Edit provee herramientas de análisis eléctrico para cualquier paso del proceso BPR que simula el comportamiento de la señal de una o varias redes. Mediante estos análisis se puede evaluar el impacto de la colocación escogida, la topología de interconexión y algunos otros parámetros del diseño. Layout Verification. Se realiza mediante el “Design Rule Checker (DRC)” Preparación del diseño Para inicializar un diseño para BPR, se debe: Definir una tecnología apropiada. Si se inicia L-Edit sin un archivo de diseño, se debe ir a File > New para copiar la configuración TDB. Crear o copiar en el archivo de diseño (.tdb) cada uno de los bloques y celdas referenciadas en el netlist usado para inicializar el diseño. Crear un netlist que sera usado durante la inicialización. Este netlist contiene una descripción de los esquemáticos e identifica los bloques y otras celdas requeridas. Definición de Bloques Un bloque es una clase de celda que está eléctricamente conectada debido a que está referenciada en el netlist. Cualquier celda que pueda ser referenciada en otras celdas y tenga puertos puede ser usada como un bloque en BPR. 523 Inicialización Para inicializar un diseño BPR se debe abrir un archivo de diseño, abrir una celda y seleccionar Tools > BPR >Initialization. Se abre el siguiente cuadro de diálogo: Si se da clic en Initialize , L-Edit confirmará que todas las celdas y puertos han sido mapeadas y, si fuera necesario, avisará de errores antes de inicializar el diseño. Si se da clic en Setup, L-Edit abrirá el cuadro de diálogo BPR Setup. Tabla de Mapeo Mediante esta tabla se pueden mapear los nombres de las celdas y los pines en un netlist en el archivo de diseño. 524 Comprobación del Netlist Cuando se carga un Netlist, cada parte en el diseño es comparada con el netlist para verificar: Que los nombres de las partes concuerden con los nombres en el netlist. Que los nombres de los puertos de enrutamiento concuerden con los nombres de los pines de los bloques en el netlist. Colocación (PLACEMENT) Este proceso se puede realizar manual o automáticamente. Se crean unas guías de enrutamiento (Routing guides) que se actualizan cada vez que se cambia la orientación o la posición de un bloque. Routing guides Colocación automática La herramienta “BPR automaticplacement” utiliza dos propiedades para colocar los bloques de acuerdo a la importancia que se le asigne a cada una: Areautilization controla el espaciamiento de los bloques. Una alta utilización de área se logra cuando los bloques tienen muy poca distancia entre ellos. Connectivityweight factor controla la importancia de minimizar la longitud de enrutamiento o el área desperdiciada debido a diferentes tamaños de bloques. Estas propiedades se especifican en el siguiente cuadro de diálogo (Tools > BPR >AutomaticPlacement): 525 Ejemplo de un alto porcentaje de utilización de área: Enrutamiento (ROUTING) Este proceso se puede realizar manual o automáticamente. Se realiza dando clic en Tools > BPR >Setup, donde hay tres pantallazos: General: Se especifican las opciones globales y el tipo de grid que se usará en el enrutamiento manual. 526 Autorouter: Se genera un enrutamiento ortogonal de cables y vías entre los bloques en el netlist y los puertos. Luego del enrutamiento automático, BPR muestra una lista de redes (nets) que fueron y bloqueados y que no fueron enrutados: 527 Manual Router Para utilizar el enrutador manual, debemos seleccionar Tools > BPR >Setup—Manual Router, con lo cual aparecerá la siguiente ventana de diálogo: A continuación aparecerá un listado con las características del enrutamiento propio de cada capa. Debemos completar los campos antes de proceder al enrutamiento manual. Una vez en el diseño podemos encontrarnos con el problema de que algunos cables de enrutamiento, no se encuentran en una forrmaótima, o que simplemente nos sobran. Para manejar este problema podemos apoyarnos en las instrucciones, Cuty Delete. Un ejemplo de cómo borrar estos segmentos indeseados se muestra a continuación: 528 Uso del navegador de NETLIST: El navegador de Netlist es una poderosa herramienta que nos permite ver la información de las redes (número de pines, conexiones sin enrutar, tamaño total, retardo máximo, etc.), cambiar y ajustar los valores de las redes, ver y editar señales de redes y enrutar la topología de cada red entre otros. Para recurrir a este, debemos seleccionar Tools > BPR >NetlistNavigator, con lo cual aparecerá la siguiente pantalla: En esta pantalla podemos apreciar el estado de nuestro diseño, desde el punto de vista de las redes que lo componen. Algunos de los campos más significativos presentes son: Number of blocks: Número de bloques del diseño. Routingcompletion: Porcentaje de redes que han sido totalmente enrutadas. Total number of nets:Número total de redes. Total number of unrouted nets:Redes sin enrutar. Routing Status: Nos indica si el diseño, está enrutado, parcialmente enrutado o sin enrutar. 529 SignalType: Nos indica el tipo de señal que es el Netlist. Si ahora seleccionamos Details podemos ver con detalle la información propia de las redes. Algunos campos que podemos esperar ver son: Pin nameNombre del Puerto asociado al Pin. CellnameNombre de la celda a la que el pin pertenece. Campo de solo lectura. ElectricalmodelSe usa para especificar el nombre del modelo del subcircuito externo en el Netlist de Pspice que define el comportamiento del módulo. . Ejemplo de uso del BPR En esta sección se muestran algunos pasos claves en eldiseño BPR, usando un simple ejemplo de diseño. Se trabajará con tres archivos: Adder1bit.tdb, Adder1Bit_placed.tdb, Adder1Bit_routed.tdb. Estos archivos se encuentran en samples\bpr\adder1bit (Subdirectorio de L-edit). ABRIENDO L-EDIT Y ABRIENDO UN ARCHIVO: Lo primero que debemos hacer es abrir L-Edit con un archivo en limpio (Layout1). A continuación use File > New para abrir el diálogo de nuevo archivo, aquí seleccione Layouten el campo File type. Haga clic en Browse para añadir el archivo Adder1bit.tdb. ubicado en samples\bpr\adder1bit Luego hacemos clic en OK para cerrar esta ventana. Ahora salvamos el archivo en el subdirectorio BPR\Adder1bit con el nombre de samples\bpr\adder1bit. 530 Ahora ya estamos listos para empezar el tutorial. Inicialización Para inicializar el diseño BPR, todas las celdas que se usen en el Netlist deben existir en el archive de Layaout. También se debe especificar el Netlist que L-Edit leerá por razones de conectividad. Inicialización del TPR Netlist: Cuando BPR se inicializa con un TPR netlist, las celdas I/O pueden estar explícitamente en el archivo de netlist, o no. Si no se encuentran, BPR automáticamente hará las conexiones correspondientes. Inicialización EDIF Netlist: Cuando el BPR se inicializa con un EDIF Netlist, no es necesario definir una celda I/O si los puertos externos están definidos en el Netlist para el nivel BPR. Este es el caso del ejemplo que mostraremos. A continuación mostraremos los pasos básicos para hacer un diseño BPR: Copiando celdas usando el navegador de diseño: Con la celda CELL0 activa, haga clic en el Navegador de diseño edit nos mostrará las Celdas que se encuentran en éste archivo. , con lo cual L- En el caso del ejemplo, las celdas disponibles son Adder_I0, Nand2, etc. Haga clic en la celda Adder_IO y lleve una copia a nuestro archivo en blanco of tutorial.tdb. 531 Repita el paso anterior para copiar las celdas Nand2, ViaM1M2, y XOr2 en nuestro archivo en blanco. Ahora con el navegador de diseño activo pulse ctrl.+S para guardar el archivo. Ahora haga clic derecho en la Celda CELL0, y seleccione Rename y a continuación teclee toplevel. A continuación cerramos el navegador de diseño y hacemos doble clic en la celda top-level. Luego usamos Tools > BPR >Initialization para abrir el cuadro de inicialización. En este cuadro entramos el Netlist, y otros parámetros que nos serán muy útiles a la hora de diseñar. Para completar este cuadro de inicialización debemos llenar los campos que se muestran a continuación: Debemos seleccionar la opción Top levelonly de las opciones de Netlist, agregar Signal como tipo de señal por defecto, seleccionar Adder_IO de las celdas en Top level I/O, digitar un pitch de enrutado de 8000 y seleccionar Routing Guides de las capas en la lista Routing guide layer. Ya que tenemos lo necesario para el diseño, damos clic enInitialize 532 Una vez hecho esto el diseño debe verse así: Ya que tenemos el diseño nos enfocaremos en el Enrutamiento Automático. Enrutamiento automático: El autoenrutador esta en la capacidad de enrutar una serie de nodos y redes que se encuentran en el diseño permitiendo la interconexión de los diferentes bloques funcionales de nuestro diseño. A continuación se mostrará como. Elija File > Open para abrir el archivo Adder1Bit_placed.tdb que se encuentra en el subdirectorio \samples\bpr\adder1bit. Aparecerá la sguiente ventana. 533 Luego damos clic en Tools > BPR >Setup—General para confirmar que la selección del tipo de ruteo es Connection. Luego damos clic en Autorouter, con lo cual obtendremos la siguiente pantalla: En la anterior pantalla seleccionamos las características propias de cada capa, con lo cual el enrutador se guiará a la hora de asignar los caminos. Por ejemplo podemos poner el METAL1 en capas horizontales y el METAL 2 en capas verticales. Una vez definidas las características de las capas, procedemos a correr el programa de autoenrutamiento. Use Tools > BPR > Route All to automatically route all nets in the design. “ BPR will display the following Automatic Routing Report when the router has completed its attempt. Note that seven nets were completely routed, and one net was not routed at all. Para esto seleccionamos Tools > BPR >RouteAll, para que así se enluten automáticamente todas las redes en el diseño. El BPR mostrará de forma automática un reporte cuando se finalice la tarea. 534 Una vez enrutado, nuestro diseño debe verse más o menos así: Simulacion - extraccion a SPICE Una vez el diseño de L-Edit ha sido completado, podemos crear un archivo que nos permita la simulación del componente en otro programa, como en nuestro caso para PSPICE. Hay dos componentes necesarios que nos permite el uso de las herramientas de extracción y chequeo de reglas: el paquete que caracteriza las operaciones y un archivo de tecnología. El archivo de tecnología nos define las características de los materiales y el diseño de reglas para los materiales usados. Es muy simple crear un archivo de simulación del diseño a nivel de mascaras que podemos crear en L-Edit para probar en SPICE. Una vez el diseño a sido chequeado cumpliendo las reglas de diseño y es declarado completo, se debe ir al menú Tools para seleccionar el comando Extract. 535 En esta ventana en la hoja general se pide el archivo de definición de extracciones (.ext) en el que esta especificado las conexiones entre las diferentes capas del layout y demás dispositivos disponibles según la tecnología utilizada, además se pide el nombre de destino y su correspondiente ubicación, al cual se le creará con la extensión .spc para realizar su simulación en PSPICE. Además se debe seleccionar Labelalldevices, para que se edite las etiquetas de los distintos dispositivos. El archivo para nuestro caso CNM25.ext contiene la siguiente información: # File: CNM25.ext # For: Extractor definition file # CNM (IMB-CSIC) June 1996 # connect(Polisilicio 1,Metal,Contacto) connect(Polisilicio 0,Metal,Contacto) connect(EXT-Difusion n+,Metal,Contacto) connect(EXT-Difusion p+,Metal,Contacto) # Contacto de substrato connect(EXT-Substrato,Metal,EXT-Contacto de subs.) # Contacto de pozo connect(Pozo n,Metal,EXT-Contacto de pozo) # Transistor NMOS device = MOSFET( RLAYER = EXT-Transistor n; Drain = EXT-Difusionn+,WIDTH; Gate = Polisilicio 1; Source = EXT-Difusionn+,WIDTH; Bulk = EXT-Substrato; MODEL = NMOS; ) # Transistor PMOS device = MOSFET( RLAYER = EXT-Transistor p; Drain = EXT-Difusion p+, WIDTH; Gate = Polisilicio 1; Source = EXT-Difusion p+, WIDTH; BULK = Pozo n; MODEL = PMOS; ) # Capacidad device = CAP( RLAYER = EXT-Capacidad poly; Positive = Polisilicio 1; Negative = Polisilicio 0; MODEL =; ) 536 En esta misma ventana y en la hoja output podemos elegir si la extracción se realiza usando los nombres de los nodos y puertos o si se efectúa con la numeración que el programa define automáticamente según la bandera Writenodenames. Luego realizar las anteriores operaciones, seleccionamos RUN, y después de varios segundos la extracción estará culminada, en caso que se presenten errores el programa lo informará. Si las consideraciones de capacitancias y resistencias no están bien definidas, estas pueden generar warnings y que se corregirán cuando se crea el archivo completo de simulación .CIR en el que se deben hacer las siguientes correcciones: El primer paso es abrir el archivo.SPC que fue generado en un programa editor de texto como Notepad y lo guardamos con extensión .CIR. Las primeras líneas son acerca de la información correspondiente a la procedencia del lenguaje de diseño, posteriormente se encuentran los errores que se presentaron que pueden ser debido a nodos flotantes o redefinidos o a falta de información de las capacitancias y resistencias que presentan los diferentes materiales que usamos en el diseño, si poseemos esta información y queremos resultados mas exactos debemos insertarla en estas líneas. Posteriormente encontraremos la asignación numérica de los que establecimos con su respectiva ubicación en el layout, a continuación encontramos la asignación de transistores en su correcto orden para la conexión de sus nodos: draingatesourcebulk. 537 Finalmente encontramos comentarios relacionados con la cantidad de nodos y elementos que comprende nuestro circuito, y para la ultima línea la instrucción .END que cierra el código. A continuación se muestra la extracción que presenta un circuito inversor con asignación de nombres a sus nodos: * Circuit Extracted by Tanner Research’s L-Edit Version 9.10 / Extract Version 9.10 ; * TDB File: C:\Documents and Settings\yo\Mis documentos\\Tecnicas de integracion\ inv_mio.tdb * Cell: Cell0 Version 1.06 * Extract Definition File: Ledit\cnm25\CNM25.EXT * Extract Date and Time: 12/06/2004 - 09:27 * Warning: Layers with Unassigned FRINGE Capacitance. * <EXT-Capacidad poly> * Warning: Layers with Zero Resistance. * <EXT-Capacidad poly> * NODE NAME ALIASES * 2 = vcc (-8.75,40.75) * 4 = OUT (9.25,20.5) * 5 = VSS (-7.75,0.75) * 6 = IN (1,21.25) M1 OUT IN vcc 3 PMOS L=2u W=10u * M1 DRAIN GATE SOURCE BULK (0 29 2 39) M2 OUT IN VSS 1 NMOS L=2u W=10u * M2 DRAIN GATE SOURCE BULK (0 4.75 2 14.75) * Total Nodes: 6 * Total Elements: 2 * Total Number of Shorted Elements not written to the SPICE file: 0 * ExtractElapsed Time: 0 seconds .END Las modificaciones que se deben hacer son las siguientes Debe ser insertados las declaraciones de los modelos del fabricante que caracterizan a los transistores .NMOS y .PMOS, PSIPCE maneja tres modelos de simulación llamados slow, typ y fast la diferencia entre estos radica en la velocidad del transistor, nosotros usaremos los que presentan tiempos de respuesta promedio (typ.md). y mas específicamente la simulación de nivel 3 la cual es la más preciso de las tres disponibles, este archivo lo podemos encontrar como typ3.md. 538 .model PMOS PMOS LEVEL = 2 + TOX = 380E-10 VTO = -1.139 NSUB = 1.355E16 UO = 212.7 + UCRIT = 1E4 UEXP = .1159 NFS = 662.4E9 WD = .4268E-6 + DELTA = 1.824 RS = 134.9 LD = .8101E-6 XJ = 2.783E-9 + VMAX = 120.3E3 NEFF = .06665 CJ = 3.816E-4 MJ = .3499 + CJSW = 7.384E-10 MJSW = .3916 PB = .56 .model NMOS NMOS LEVEL = 2 + TOX = 380E-10 VTO = .9418 NSUB = 2.639E16 UO = 648.2 + UCRIT = 1E4 UEXP = .06857 NFS = 710.8E9 WD = .4086E-6 + DELTA = 2.2 RS = 93.77 LD = .9132E-6 XJ = .0824E-6 + VMAX = 59.62E3 NEFF = 1.479 CJ = 3.495E-4 MJ = .3950 + CJSW = 5.952E-10 MJSW = .2941 PB = .65 Debe ser insertadas las fuentes de alimentación, Spice permite la declaración de fuentes independientes y dependientes de voltaje y de corriente, la fuente de voltaje (usualmente de 5V constantes) para la alimentación de los transistores, además nos debemos asegurar que el punto a tierra del circuito sea denotado por el numero 0 ya que es uno de los requerimientos de PSICE, para lo cual es necesario insertar una fuente de voltaje de 0V entre nuestra tierra (designada por VSS) y 0. En el caso que se presente más de una fuente de cada tipo, estas deben ir numeradas: Ejemplo: (Vnombre# n+ n- Valor DC) VDD1 Vdd 0 DC 5 VDD2 Vss 0 DC 0 Por ultimo para poder realizar los análisis de la respuesta de nuestro circuito debemos insertar las señales de alimentación para las entradas que por lo general se usan fuentes de pulsos y sus características son las siguientes: Ejemplo: Vnombre# n+ n- 0 PULSE(0 5 0 1n 1n 8n 20n) VIN In PULSE(V1 V2 tdtrtf PW T) Aclaración: los nombres de estas fuentes deben comenzar por V y los puntos de su conexión deben ser los nombres que dispusimos para cada nodo. Por ultimo se deben incluir los comandos que hace el llamado a la ventana grafica de simulación, .PROBE y .TRAN indicando la duración de la simulación, estos comandos deben ir inmediatamente antes del comando .END. 539 Por ultimo le damos guardar (Nombre.CIR) y estamos listos para usar la herramienta grafica de simulación de PSPICE. El archivo .CIR manipulado para un inversor es el siguiente: * Circuit Extracted by Tanner Research’s L-Edit Version 9.10 / Extract Version 9.10 ; * TDB File: C:\Documents and Settings\yo\Mis documentos\Tecnicas de integracion\ inv_mio.tdb * Cell: Cell0 Version 1.05 * Extract Definition File: Ledit\cnm25\CNM25.EXT * Extract Date and Time: 12/05/2004 - 18:49 .model PMOS PMOS LEVEL = 2 + TOX = 380E-10 VTO = -1.139 NSUB = 1.355E16 UO = 212.7 + UCRIT = 1E4 UEXP = .1159 NFS = 662.4E9 WD = .4268E-6 + DELTA = 1.824 RS = 134.9 LD = .8101E-6 XJ = 2.783E-9 + VMAX = 120.3E3 NEFF = .06665 CJ = 3.816E-4 MJ = .3499 + CJSW = 7.384E-10 MJSW = .3916 PB = .56 .model NMOS NMOS LEVEL = 2 + TOX = 380E-10 VTO = .9418 NSUB = 2.639E16 UO = 648.2 + UCRIT = 1E4 UEXP = .06857 NFS = 710.8E9 WD = .4086E-6 + DELTA = 2.2 RS = 93.77 LD = .9132E-6 XJ = .0824E-6 + VMAX = 59.62E3 NEFF = 1.479 CJ = 3.495E-4 MJ = .3950 + CJSW = 5.952E-10 MJSW = .2941 PB = .65 VDD1 Vdd 0 DC 5 VIN In 0 PULSE(0 5 0 1n 1n 8n 20n) VDD2 Vss 0 dc 0 M1 out IN vdd VDD PMOS L=2u W=10u * M1 DRAIN GATE SOURCE BULK (0 29 2 39) *C3 out 0 8.352FF *C4 vdd 0 1.392FF M2 OUT IN VSS VSS NMOS L=2u W=10u * M2 DRAIN GATE SOURCE BULK (0 4.75 2 14.75) *.op .tran 0.1n 100n .probe .END 540 Para la simulación se debe abrir la herramienta PSPICE A/D, en el menú File ir a Open y buscar en su correspondiente carpeta el archivo que modificamos .CIR y abrirlo. En este punto hacemos correr la simulación y así obtenemos los resultados, la simulación además de mostrar el resultado, generará un archivo de prueba con el resultado y lo guardara en la misma ubicación de nuestro archivo .CIR. Como ejemplo de refuerzo a continuación presentamos la simulación de una compuerta NAND: Después de haber creado la compuerta NAND en L-edit y de haber colocado tanto los nombres de entrada, salida, vcc y gnd. Tenemos el siguiente gráfico de layout. 541 Como nota importante recordamos que para la creación de las celdas estándar, estas se deben empezar a realizar teniendo en cuenta el origen de la ventana del layout, el cual esta representado por la cruz que se muestra en la parte inferior izquierda del anterior grafico. 1. Extraemos el archivo nand.spc, de la siguiente manera. 2. Cargamos el archivo CNM25.EXT, en Extract definición file; en SPICE extract output file, se encuentra el nombre del archivo que vamos a obtener con extensión spc. Señalamos Writenodenames, para que la extracción del archivo tenga en cuenta el nombre de los nodos y hacemos click en Run. 3. Abrimos el archivo nand.spc * Circuit Extracted by Tanner Research’s L-Edit Version 9.10 / Extract Version 9.10 ; * TDB File: C:\Ing. Electrónica\tecnicas de integracion\proyecto final\celdas estandar\ cnm25\nand.tdb * Cell: nand Version 1.04 * Extract Definition File: CNM25.EXT * Extract Date and Time: 12/05/2004 - 22:49 * Warning: Layers with Unassigned FRINGE Capacitance. * <EXT-Capacidad poly> * Warning: Layers with Zero Resistance. * <EXT-Capacidad poly> * NODE NAME ALIASES * 2 = Vcc (9,62.25) * 4 = GND (44,13.25) * 6 = Sal (7.25,31.75) M5 1 5 6 3 PMOS L=2.5u W=23.75u * M5 DRAIN GATE SOURCE BULK (32.25 35 34.75 58.75) 542 M3 6 9 2 3 PMOS L=2.5u W=23.75u * M3 DRAIN GATE SOURCE BULK (15 35 17.5 58.75) M2 4 5 8 7 NMOS L=2.5u W=9.5u * M2 DRAIN GATE SOURCE BULK (32.25 17.25 34.75 26.75) M1 8 9 6 7 NMOS L=2.5u W=9.5u * M1 DRAIN GATE SOURCE BULK (15 17.25 17.5 26.75) * Total Nodes: 9 * Total Elements: 4 * Total Number of Shorted Elements not written to the SPICE file: 0 * ExtractElapsed Time: 0 seconds .END 4. Al archivo nand.spc incluimos las líneas que especifican los datos de los transistores Nmos y Pmos. 5. Incluimos las señales de entrada y los voltajes de la fuente de alimentación. 6. Para poder realizar la simulación agregamos estas líneas al final. .TRAN 1ns 1000ns .PROBE en la línea .TRAN 1ns de simulación. 1000 ns, los 1000 ns significa el tiempo que queremos El archivo que obtenemos en definitiva es el siguiente: * Circuit Extracted by Tanner Research’s L-Edit Version 9.10 / Extract Version 9.10 ; * TDB File: C:\Documents and Settings\yo\Mis documentos\Tecnicas de integracion\ andres\celdas estandar\cnm25\nand.tdb * Cell: nand Version 1.34 * Extract Definition File: CNM25.EXT * Extract Date and Time: 12/06/2004 - 10:00 .model PMOS PMOS LEVEL = 2 + TOX = 380E-10 VTO = -1.139 NSUB = 1.355E16 UO = 212.7 + UCRIT = 1E4 UEXP = .1159 NFS = 662.4E9 WD = .4268E-6 + DELTA = 1.824 RS = 134.9 LD = .8101E-6 XJ = 2.783E-9 + VMAX = 120.3E3 NEFF = .06665 CJ = 3.816E-4 MJ = .3499 + CJSW = 7.384E-10 MJSW = .3916 PB = .56 .model NMOS NMOS LEVEL = 2 + TOX = 380E-10 VTO = .9418 NSUB = 2.639E16 UO = 648.2 + UCRIT = 1E4 UEXP = .06857 NFS = 710.8E9 WD = .4086E-6 + DELTA = 2.2 RS = 93.77 LD = .9132E-6 XJ = .0824E-6 543 + VMAX = 59.62E3 NEFF = 1.479 CJ = 3.495E-4 MJ = .3950 + CJSW = 5.952E-10 MJSW = .2941 PB = .65 * NODE NAME ALIASES * 2 = Sal (13.75,34.25) * 3 = Vcc (12.75,77.75) * 4 = In2 (47,70) * 5 = GND (56.25,8.5) * 8 = In1 (22.25,70.5) M1 Vcc In2 Sal Vcc PMOS L=2.5u W=27u * M1 DRAIN GATE SOURCE BULK (45.5 39.5 48 66.5) M2 Sal In1 VccVcc PMOS L=2.5u W=27u * M2 DRAIN GATE SOURCE BULK (21 39.5 23.5 66.5) M3 GND In2 7 GND NMOS L=2.5u W=11.75u * M3 DRAIN GATE SOURCE BULK (45.5 15 48 26.75) M4 SAL In1 7 7 NMOS L=2.5u W=11.75u * M4 DRAIN GATE SOURCE BULK (21 15 23.5 26.75) * Total Nodes: 8 * Total Elements: 4 * Total Number of Shorted Elements not written to the SPICE file: 0 * Extract Elapsed Time: 0 seconds Vcc1 Vcc2 VIn2 VIn1 vcc gnd in1 in2 .TRAN 1ns .PROBE .END 0 0 0 0 5 0 PULSE(0 5 0 1ns 1ns 49ns 100ns) PULSE(0 5 0 1ns 1ns 99ns 200ns) 500ns 7. Guardamos este archivo 8. Nos dirigimos a PSPICE A/D y abrimos el archivo NAND.CIR 9. Corremos la simulación y le introducimos las señales de entrada y salida a analizar 544 10. Adicionalmente podemos observar el archivo generado **** 12/06/04 12:44:22 ********* PSpice 9.1 (Mar 1999) ******** ID# 0 ******** * Circuit Extracted by Tanner Research’s L-Edit Version 9.10 / Extract Version 9.10 ; **** CIRCUIT DESCRIPTION * TDB File: C:\Documents and Settings\yo\Mis documentos\Tecnicas de integracion\ celdas estandar\cnm25\nand * Cell: nand Version 1.34 * Extract Definition File: CNM25.EXT * Extract Date and Time: 12/06/2004 - 10:00 .model PMOS PMOS LEVEL = 2 + TOX = 380E-10 VTO = -1.139 NSUB = 1.355E16 UO = 212.7 + UCRIT = 1E4 UEXP = .1159 NFS = 662.4E9 WD = .4268E-6 + DELTA = 1.824 RS = 134.9 LD = .8101E-6 XJ = 2.783E-9 + VMAX = 120.3E3 NEFF = .06665 CJ = 3.816E-4 MJ = .3499 + CJSW = 7.384E-10 MJSW = .3916 PB = .56 .model NMOS NMOS LEVEL = 2 + TOX = 380E-10 VTO = .9418 NSUB = 2.639E16 UO = 648.2 + UCRIT = 1E4 UEXP = .06857 NFS = 710.8E9 WD = .4086E-6 + DELTA = 2.2 RS = 93.77 LD = .9132E-6 XJ = .0824E-6 + VMAX = 59.62E3 NEFF = 1.479 CJ = 3.495E-4 MJ = .3950 + CJSW = 5.952E-10 MJSW = .2941 PB = .65 * NODE NAME ALIASES * 2 = Sal (13.75,34.25) * 3 = Vcc (12.75,77.75) 545 * * * 4 = In2 (47,70) 5 = GND (56.25,8.5) 8 = In1 (22.25,70.5) M1 Vcc In2 Sal Vcc PMOS L=2.5u W=27u * M1 DRAIN GATE SOURCE BULK (45.5 39.5 48 66.5) M2 Sal In1 VccVcc PMOS L=2.5u W=27u * M2 DRAIN GATE SOURCE BULK (21 39.5 23.5 66.5) M3 GND In2 7 GND NMOS L=2.5u W=11.75u * M3 DRAIN GATE SOURCE BULK (45.5 15 48 26.75) M4 SAL In1 7 7 NMOS L=2.5u W=11.75u * M4 DRAIN GATE SOURCE BULK (21 15 23.5 26.75) * Total Nodes: 8 * Total Elements: 4 * Total Number of Shorted Elements not written to the SPICE file: 0 * ExtractElapsed Time: 0 seconds *Fuente de Alimentacin de 10 V entre el nodo VCC y el nodo 0 Vcc1 vcc 0 5 *Fuente de Alimentacin de 0V entre el nodo GND y el nodo 0 Vcc2 gnd 0 0 *Fuente que genera una seal cuadrada de periodo 200ns. VIn2 in1 0 PULSE(0 5 0 1ns 1ns 49ns 100ns) *Fuente que genera una seal cuadrada de periodo 200ns. VIn1 in2 0 PULSE(0 5 0 1ns 1ns 99ns 200ns) .TRAN 1ns .PROBE .END 500ns **** 12/06/04 12:44:22 ********* PSpice 9.1 (Mar 1999) ******** ID# 0 ******** * Circuit Extracted by Tanner Research’s L-Edit Version 9.10 / Extract Version 9.10 ; **** MOSFET MODEL PARAMETERS ************************************************************************* PMOS NMOS PMOS NMOS LEVEL 2 2 L 100.000000E-06 100.000000E-06 W 100.000000E-06 100.000000E-06 LD 810.100000E-09 913.200000E-09 WD 426.800000E-09 408.600000E-09 VTO -1.139 .9418 KP 19.328520E-06 58.903370E-06 GAMMA .738038 1.02998 546 PHI .711149 .745631 LAMBDA 0 0 RS 134.9 93.77 IS 10.000000E-15 10.000000E-15 JS 0 0 PB .56 .65 PBSW .56 .65 CJ 381.600000E-06 349.500000E-06 CJSW 738.400000E-12 595.200000E-12 MJ .3499 .395 MJSW .3916 .2941 CGSO 0 0 CGDO 0 0 CGBO 0 0 NSUB 13.550000E+15 26.390000E+15 NFS 662.400000E+09 710.800000E+09 TOX 38.000000E-09 38.000000E-09 XJ 2.783000E-09 82.400000E-09 UO 212.7 648.2 UCRIT 10.000000E+03 10.000000E+03 UEXP .1159 .06857 VMAX 120.300000E+03 59.620000E+03 NEFF .06665 1.479 DELTA 1.824 2.2 DIOMOD 1 1 VFB 0 0 LETA 0 0 WETA 0 0 U0 0 0 TEMP 0 0 VDD 0 0 XPART 0 0 **** 12/06/04 12:44:22 ********* PSpice 9.1 (Mar 1999) ******** ID# 0 ******** * Circuit Extracted by Tanner Research’s L-Edit Version 9.10 / Extract Version 9.10 ; **** INITIAL TRANSIENT SOLUTION TEMPERATURE = 27.000 DEG C ************************************************************************* NODE VOLTAGE ( 7) ( Sal) NODE VOLTAGE .1955 ( GND) 0.0000 ( In1) 5.0000 ( Vcc) 5.0000 NODE VOLTAGE 0.0000 ( In2) NODE VOLTAGE 0.0000 VOLTAGE SOURCE CURRENTS NAME CURRENT 547 Vcc1 Vcc2 VIn2 VIn1 -6.767E-12 6.767E-12 0.000E+00 0.000E+00 TOTAL POWER DISSIPATION 3.38E-11 WATTS JOB CONCLUDED TOTAL JOB TIME .11 **** 12/06/04 12:10:26 ********* PSpice 9.1 (Mar 1999) ******** ID# 0 ******** * Circuit Extracted by Tanner Research’s L-Edit Version 9.10 / Extract Version 9.10 ; **** INITIAL TRANSIENT SOLUTION TEMPERATURE = 27.000 DEG C NODE VOLTAGE ( In) NODE VOLTAGE 0.0000 ( out) 4.9991 ( Vdd) NODE VOLTAGE 5.0000 ( vss) VOLTAGE SOURCE CURRENTS NAME CURRENT VDD1 VIN Vdd2 -9.381E-07 0.000E+00 9.381E-07 TOTAL POWER DISSIPATION 4.69E-06 WATTS JOB CONCLUDED TOTAL JOB TIME 548 .06 0.0000 NODE VOLTAGE Referencias y bibliografía Cápitulo 2 • ”Los Chips y sus Perspectivas”, Siemens Aktiengesellschaft, Berlín, 1985. • “Presente y Futuro de la Microelectrónica”, L.A. Cortés, Ingeniería e Investigación, UN, No. 46, 1999. • “Basic VLSI Design”, D. A. Pucknell, K. Eshraghian, Prentice Hall 1995. • “Trends in CMOS Tecnologies”, C. L. Claeys, Memorias I Workshop IBERCHIP, Cartagena de Indias, 1995. • “Circuitos Integrados de Aplicación Específica”, L.A. Cortés, Ingeniería e Investigación, UN, No. 47, 1999 Cápitulo 3 • Física de semiconductores. http://www.ing.unlp.edu.ar/electrotecnia/termo/tp/TP8-05.doc • BOYLESTAD Robert, Electrónica teoría de circuitos, edición sexta, ed Prentice Hall, 2006 Pág. 1 a 44. • SEDRA Adel, Circuitos Microelectrónicos, edición quinta, ed Mc Graw Hill, 2006, Pág 139 a 217. • Gildenblat, G.S., Gelmont, B., Milkovic, M., Elshabini-Riad, A., Stephenson, F.W., Bhutta, I.A., Look, D.C. “Semiconductors” The Electrical Engineering Handbook. • ANKRUM. Paul D. ELECTRÓNICA DE LOS SEMICONDUCTORES, Editorial Prentice/Hall Internacional. Scholl of Electrical Engineering, Cornell University. Pag 65-72. • Colinge, JP. Physics of Semiconductor Devices. Hignham, MA, USA. Kluwer Academic Publishers. 2002. • Razeghi, M. Fundamentals of Solid State Engineering. Kluwer Academic Publishers. 2000. • DIMITRIJEV, Sima. Understanding Semiconductor Devices. Oxford University Press, 2000. • http://www.monografias.com/trabajos-pdf2/diseno-electronico-analogo/diseno-electronico-analogo.pdf • http://www.electronicafacil.net/tutoriales/Principios-Basicos-Materiales-Semiconductores.php Cápitulo 4 • Sedra, Adel. Smith, Kenneth. Circuitos Microelectrónicos. McGraw Hill. Capitulo 5. • Caratteristiche dei Mosfet. Fuente: http://vlsi.die.uniroma1.it/centurelli/lez15.pdf • Mazo, Manuel. García, Juan. Palazuelos, Sira. Dispositivos electrónicos II. Universidad de Alcalá de Henares, Servicio de Publicaciones, 2006. Capitulo 2. 549 • Whites, EE. Lecture 28: MOSFET as anamplifier. http://whites.sdsmt.edu/classes/ ee320/notes/320Lecture28.pdf • MOSFET Small Signal Model. http://www.prenhall.com/howe3/microelectronics/pdf_ folder/lectures/mwf/lecture12.fm5.pdf • Tema 4: El Transistor MOSFET. http://www.dte.us.es/ing_inf/tec_comp/Tc/Temario/ Tema4/t4.pdf • Fundamentos de Electrónica Analógica. JoséEspí López, Gustavo Camps-Valls, y Jordi Muñoz-Marí. Servicio de Publicaciones - Universidad de Valencia. 1a edición, 2006. TEMA 5 • The Art of Electronics + Student Manual.Paul Horowitz y Winfield Hill.Cambridge UniversityPress 2a edición, 1989. TEMA 1-2 • http://www.artofelectronics.com/ • Electrónica Analógica. Problemas y Cuestiones. José Espí López, Gustavo Camps-Valls, y Jordi Muñoz-Marí. Prentice Hall, Serie Prentice/Practica. 1a edición, 2006. TEMA 2 Cápitulo 5 • C. Mead and L. Conway, Introduction to VLSI Systems , Addison-Wesley, 1980 • Cadence Design Systems, Inc./Calma. GDSII Stream Format Manual, Feb. [2], • NHE Weste and K. Eshraghian, Principles of CMOS VLSI Design: A System Perspective, Addison-Wesley, 2nd edition. • MOSIS Scalable CMOS (SCMOS) Design Rules, (Revision 7.2), The MOSIS Service. Marina del Rey, CA 90292-6695 • Weste-Eshraghian, Principles of CMOS VLSI design • Ghandi Sorab K, VLSI-Fabrication Principles, Segunda Edición • Microwind & Dsch User’s Manual Version 2 Cápitulo 6 • A.S. Sedra, K.C. Smith. Circuitos Microelectrónicos. Oxford University Press, Mc Graw Hill, 1998. • R.C. Jaeger: “Microelectronic Circuit Design”. McGraw-Hill, 1997. • R.J. Baker, H.W. Li, D.E. Boyce: “CMOS Circuit Design, Layout, and Simulation”. IEEE Press, 1998. • N.R. Malik: “Electronic Circuits — Analysis, Simulation, and Design”. Prentice Hall, 1995. • SHIUH-WUU LEE, TUNG-YI CHAN, ALBERT T. Performance of CMOS Technologies with Silicon Dioxide and Reoxidized Nitrided Oxide Gate Dielectrics. IEEE ELWTRON DEVICE LETTERS, VOL. 11, NO. I, JULY 1990 • Laboratorio de Microtecnologia y sistemas embebidos, MICROSE. Instituto Politecnico Nacional, Mexico. http://www.microse.cic.ipn.mx/files/documents/material/vlsi/CMOS-1.swf 550 • Saenz, José. Familia Lógica CMOS. Fundamentos Lógicos de los computadores. http://www.scribd.com/doc/4196334/Familia-Cmos • Lcastañer, V. Jiménez, D. Bardés. Fundamentos de diseño microelectrónico, lección 5 • Lcastañer, V. Jiménez, D. Bardés. Fundamentos de diseño microelectrónico, lección 2 • Gómez, Pedro. El transistor MOS como elemento de circuito, tema 6. Grupo de tecnologia de computadores - UPM. • Notas de clase, Técnicas de integración. UNAL • Manual Microwind 2.0 Cápitulo 7 • Diseño de circuitos integrados, José Manuel Mendias. Hortensia Mecha, Dpto de arquitectura de computadores y automatita, Universidad Complutense de Madrid. • Digital integrated circuits 2nd, Berkeley • Jeff Beasley, William Hudson. Transistor level implementation of CMOS combinatorial logic circuits. • Adel Sedra, Kenneth Smith. Microelectronic Circuits. Fifth Edition. Oxford University Press. • John Uyemura. CMOS logic circuit design. Georgia Institute of Technology. Kluwer Academic. • Sarta C. Prasad, Kaushik Roy. Circuit Optimization by transistor reordering for minimization of power consumption under delay constraint.Integrated System Laboratory - Texas Instrument, Purdue University. • PadmanabhanBalasubramanian, C. Hari Narayanan, KarthikAnantha. Low power design of digital combinatorial circuits with complementary CMOS logic.International Journal of Electronics, Circuits and Systems, Volume 1, Number 1. • J.P. Uyemura, CMOS Logic Circuit Design. Kluwer Academic Publishers, London. • J.P. Uyemura, FUNDAMENTAL OF MOS DIGITAL INTEGRATED CIRCUITS. Addison Wesley. • Jan M. Rabaey, DIGITAL INTEGRATED CIRCUITS. Prentice Hall. • Neil H. E. Weste, Kamran Eshraghian, PRINCIPLES OF CMOS VLSI DESIGN. Addison Wesley. • http://everything2.com/e2node/Shannon%2527s%2520Expansion • http://webpages.eng.wayne.edu/cadence/ECE6570/doc/lect3_1.pdf • http://writphotec.com/mano4/Supplements/CMOS_supp4.pdf • http://www.engr.uky.edu/~elias/lectures/ln_11.pdf • http://wwwi.elec.gla.ac.uk/teaching_pages/course_pages/VLSI_design_4/unit2.pdf Cápitulo 8 • Circuitos Microelectrónicos, Sedra – Smith • Principios de Diseño Digital, Gajski, Prentice Hall 551 • Digital Integrated Circuits, Jan M. Rabaey Second Edition • CMOS VLSI Design A Circuits and Systems Perspective (3rd Edition). Neil Weste and David Harris /Addison Wesley. • OKLOBDZIJA, Vojin G. Digital Design and Fabrication. Publicado por CRC Press. 2007. p. 556-656. • SEGURA, Jaume. CMOS Electronics: How it Works, how it Fails. Publicado por WileyIEEE, 2004. p. 289-320. • WAKERLY, John F. Diseño digital: Principios y prácticas. Publicado por Pearson Educación, 2001. p. 850-900. • UYEMURA, John P. CMOS Logic Circuit Design. Publicado por Springer, 1999. p. 450-470. • WESTE, Neil H.E. Cmos VLSI Design: A circuits and systems perspective. Publicado por Pearson/Addison-Wesley, 2005. p. 643-687. • http://www.oup.com/uk/orc/bin/9780199273133/clements_ch03.pdf • http://en.wikipedia.org/wiki/Bistability Articulo de wikipedia sobre sistemas Biestables. Cápitulo 9 • Sedra A.S., Smith K.C., Microelectronic Circuits. 5th ed., Sanders Publishing. • Knauth L.A., Dynamic CMOS. EEE 425 Honors Project Fall 1997 Advisor: ZAck Ciccone. http://www.lauraknauth.com/academic/DynCMOS.html. • Memory Structures. http://www.cs.utah.edu/classes/cs6830/slides/memoryx6.pdf • Jacomet M., VLSI System Design. http://www.scribd.com/doc/2898746/VLSI-systemdesign. • Tenhunen H. Circuit techniques for CMOS logic. Kungl Tekniska Högskolan. http:// www.eet.bme.hu/~benedek/CAD_Methodology/Courses/logicdesign/CMOSlogi.pdf • KANG D.W., KIM B.Y., Design of Enhanced Differential Cascode Voltage Switch Logic (EDCVSL) circuits for high fan-in gate. Department of Electrical and Computer Eengineering. Northeastern University. • RUBIO A., y otros. Diseño de Circuitos y sistemas integrados. Ediciones de la Universidad Politécnica de Catalunya, SL. Barcelona, 2003. pp 179,180,185. • UYEMURA John. CMOS logic circuit design. Ed Springer. 1999. pp 445-448. Cápitulo 10 • Dain Clain. CMOS IC layout, Concepts, methodologies and tools. Newnes. 1999. • Peña Martinez, Ana. Design of MOS Current-Mode Logic Standard Cells • J.M. Rabaey, A. Chandrakasan y B. Nikolic. Digital integrated circuits. A design perspective (2e). Prentice Hall. 2003. • J. Cong, B. Preas, C.L. Liu. P hysical Models and efficient algorithms for Over-the-cell routing in Standard cell design. www.citeseerx.ist.psu.edu, consultado el 27 de Mayo de 2010. 552 • http://www.tutorial-reports.com/computer-science/fpga/tutorial.php • http://www.actel.com/products/axcelerator/docs.aspxhttp://www.atmel.com/dyn/products/product_card.asp?part_id=2066 • http://www.xilinx.com/support/library.htm • http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?iLanguageID=1&category=1212262&sGlobalNavPick=SUPPORT&sSecondaryNavPick=BOARDS • http://www.vlsitechnology.org/html/download.html • http://www.asicservice.com/ • http://www.ece.msstate.edu/~reese/EE8273/lectures/stdcellroute/stdcellroute.pdf • http://www.eie.ucr.ac.cr/uploads/file/proybach/pb0409t.pdf • http://www.unizar.es/euitiz/areas/aretecel/docencia/digitel/Apuntes/EDIG21.pdf • http://www.quicklogic.com/home.asp?PageID=533&sMenuID=209&p1=209&p2=316 &p3=436 • http://www.fpgajournal.com/articles_2006/20061128_dsp.htm • http://www.altera.com/literature/lit-index.html • L. Geppert. “Design Tools for Analog and Digital ICs”. IEEE Spectrum. vol.36, n.4, pp. 41-48. Abril, 1999. • S.M. Kang y Y. Leblebici. CMOS digital integrated circuits. Analysis and design (3e). McGraw-Hill. 2003. • Design Automation Conference, 1990. Proceedings., 27th ACM/IEEE Publication Date: 24-28 June 1990 • Circuits and Systems, 1993., ISCAS ‘93, 1993 IEEE International Symposium on Publication Date: 3-6 May 1993 • ASIC Seminar and Exhibit, 1989. Proceedings., Second Annual IEEE Publication Date: 25-28 Sept. 1989 • Diseño de CI´s Una Metodología de Diseño de Celdas Standard • Uyemura, John P. Physical Design of CMOS Integrated Circuits Using L-EDIT. S Publishing Company Cápitulo 11 • F. Torres. Lenguajes de Descripción de Hardware. Universidad Autónoma de Guadalajara. 2004. • F. Pardo, J. Boluda. VHDL Lenguaje Para Síntesis y Modelado de Circuitos. Alfaomega, segunda edición. 2004. • S. Sánchez, A. Barriga, P. Brox, I. Baturone. Síntesis de Sistemas Difusos a Partir de VHDL. Instituto de Microelectrónica de Sevilla, CNM-CSIC, Sevilla, España. Septiembre 2004. • J. Leiva. Diseño de Algoritmos. Departamento de Lenguajes y Ciencias de la Computación. Universidad de Málaga. Curso 2004/2005. 553 • R. Rodríguez. Diseño de Alto Nivel. Dpto. de Informática - Universidad Francisco de Vitoria. Curso 2003/2004. • R. García. Ingeniería Concurrente y Tecnologías de la Información. Ingenierías, Vol. VII, No. 22. Enero-Marzo 2004. • P. Carrasco, N. Fraiman. Información en la Era Digital. Monografía. Marzo 2005. • V. Grimblatt. Introducción a los Circuitos Integrados. Synopsys Chile R&D Center. 2003. • J. F. Wakerly. Digital Design: Principles and Practices. Prentice Hall, Tercera edición. 2002. • Web. Página de logtechnology. http://www.logtechnology.com. • GAJSKI, Daniel D. Principios de Diseño Digital, Prentice Hall, 1997. • SEDRA/SMITH, Circuitos microelectrónicos, Oxford University Press, 1998. • CHACÓN Rodríguez, Alfonso, Diapositivas de Clase Diseño Digital Contemporáneo, Instituto Tecnológico de Costa Rica, 2004. • JARAMILLO, Iván, Clases, Universidad Nacional de Colombia, 2008. • Sapir, S and R, J SmithII. Handbook of Design Automation. Englewood Cliffs. Prentice Hall, 1986 • Wolf, w. modern VLSI Design: A Systems Approach. Prentice Hall,1994 • http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/040101.htm • http://voltio.ujaen.es/te/enlinea/Pagina%20Web/sof%20eda.htm • http://www.cadesign.net/ • http://www.mentor.com/products/pcb/pads/pads_eval_form.cfm • http://woody.us.es/~aguirre/LabMic_home.html • www.clikear.com/ingenieria/tecnologiadigital.html • e-book: microelectrónica: circuitos integrados diseñados por el usuario. Cápitulo 12 • Urriza I., García J.I. Test de Circuitos Integrados. Tipos de test de fabricación. Test tecnológico. Ingeniería Electrónica y Comunicaciones. odyssea.cps.unizar.es/~te/Docencia_archivos/sysel_archivos/test.pdf • Valderrama E., Ferrer C. Introducción al diseño de CIs. Universidad Autónoma de Barcelona. Capítulos 9 y 10. http://ocw.uab.cat/enginyeries/disseny-de-circuits-integratsi/materials • Rabaey, Jan M. Digital integrated circuits: a design perspective. Upper Saddle River, N.J. Pearson Education 2003. • Alcubilla González, Ramón. Diseño digital: una perspectiva VLSI-CMOS. • Lubaszewski M. MIC05: Teste de Circuitos Integrados. PPGMicro – UFRGS. 2007. 554