Вы находитесь на странице: 1из 41

Tutorial bsico de layout con Cadence

Jos Juan Martnez Rodrguez

Instituto de Microelectrnica de Sevilla

CENTRO NACIONAL DE MICROELECTRNICA - C.S.I.C.

Versin 1.0 - abril de 2003

Este documento trata de constituir una gua de iniciacin a la realizacin de layouts en


el entorno Cadence. Se presentan en l todos los pasos necesarios para una correcta
realizacin de un layout as como las distintas herramientas de verificacin del diseo
de las que dispone el entorno. En concreto se escribi basndonos en el kit 3.40 de
AMS, aunque en principio es vlido para cualquier otro kit con las particularidades que
pueda presentar cada uno y que se irn comentando conforme aparezcan. Consta de
nueve grandes apartados:

- Inicializacin y arranque del entorno

- Creacin de una vista layout

- Colocacin de transistores

- Creacin de capas

- Creacin de contactos

- Chequeo de las reglas de diseo (DRC)

- Extraccin de parsitos

- Realizacin del LVS

- Realizacin de una simulacin post- layout


Centro Nacional de Microelectrnica rea de CAD

1 - Inicializacin y arranque del entorno


En primer lugar inicializamos y arrancamos el entorno (si es que no lo tenamos
inicializado y arrancado ya) tal y como se indica en el tutorial bsico de introduccin a
Cadence que debemos de haber completado antes de iniciar este tutorial.

Si hemos completado dicho tutorial tendremos una librera creada por nosotros
en la cual debemos tener dos celdas una para el inversor y otra para el circuito de test
del mismo. En la celda del inversor tendremos dos vistas para este, una de smbolo y
otra de esquemtico. Pues bien, en este tutorial vamos a crear una tercera vista del
inversor, la vista de layout, que ser el diseo fsico del layout del mismo.

2 - Creacin de la vista de layout para el inversor

Para crear la vista de layout de nuestro inversor nos situamos sobre la ventana de
libreras y seleccionamos la librera donde tengamos creado el inversor del tutorial
anterior y la celda correspondiente al mismo. Seleccionamos entonces la opcin File - >
New - > Cell View y escogemos en este caso la herramienta Virtuoso, con lo que
automticamente nos aparecer como vista layout.

Figura 1: Ventana Create New File

Si pulsamos OK nos aparecern dos ventanas nuevas, una la ventana de seleccin de


capas (LSW del ingls Layer Selection Window), y otra la ventana de edicin de
layouts (Virtuoso Layout Editing). Ambas ventanas se muestran a continuacin:

Instituto de Microelectrnica de Sevilla 1


Centro Nacional de Microelectrnica rea de CAD

Figura 3: Ventana de edicin de layouts

Instituto de Microelectrnica de Sevilla 2


Centro Nacional de Microelectrnica rea de CAD

Figura 4: Ventana de seleccin de capas

En la ventana de edicin de la youts realizaremos el diseo fsico de nuestro layout,


seleccionando las capas que queramos dibujar en la ventana de seleccin de capas.

3 - Colocacin de transistores

Vamos a ver seguidamente cmo colocar transistores de librera en nuestro


layout. Podramos dibujar a mano capa por capa cada transistor, pero resultara un

Instituto de Microelectrnica de Sevilla 3


Centro Nacional de Microelectrnica rea de CAD

trabajo inabordable en circuitos complejos con muchos transistores y por otro lado
intil, ya que los transistores de librera nos simplifican esta tarea.

Para insertar el layout de un transistor de librera en nuestro diseo basta con


seleccionar la opcin Create - > Instance en la ventana de edicin de layouts, o pulsar el
botn Instance a la izquierda de la ventana o la tecla de mtodo abreviado i. Si lo
hacemos veremos que nos aparece la ventana de creacin de instancias:

Figura 5: Ventana de creacin de instancias

Pues bien, no tendremos ms que seleccionar en ella la instancia que queramos colocar
y situarla donde nos parezca. En nuestro caso seleccionamos la vista layout del
transistor pmos4 de la librera PRIMLIB y lo colocamos de la misma manera que
colocbamos componentes en el anterior tutorial (no tenemos ms que desplazarnos a la
ventana de edicin de layouts y hacer clic donde queramos situarlo). En la siguiente
figura se muestra la celda correspondiente de un transistor pmos4 ya colocado:

Instituto de Microelectrnica de Sevilla 4


Centro Nacional de Microelectrnica rea de CAD

Figura 6: Celda correspondiente al transistor pmos4

Si queremos ver las capas que constituyen nuestro transistor no tendramos ms


que pulsar shift + F para verlas. Se vera lo siguiente:

Instituto de Microelectrnica de Sevilla 5


Centro Nacional de Microelectrnica rea de CAD

Figura 7: Capas que constituyen el transistor pmos4

Y para volver a la situacin anterior pulsaramos ctrl + F. Aunque para la realizacin


del layout necesitemos ver las capas, en algunas ocasiones resulta clarificador poder ver
slo las celdas que tengamos, por lo que es til conocer las combinaciones de teclas
anteriores.

A continuacin vamos a colocar el transistor nmos4 un poco ms abajo del


pmos4. Repetimos el proceso anterior seleccionando en este caso la celda nmos4 de la
misma librera PRIMLIB, y la colocamos tal y como indica la figura 9.

Instituto de Microelectrnica de Sevilla 6


Centro Nacional de Microelectrnica rea de CAD

Figura 8: Celdas pmos4 y nmos4

Vamos a ver ahora algunas opciones de gran utilidad prctica. Si nos hemos
fijado bien, cuando hemos colocado los transistores podamos mover libremente estos
por la pantalla, pero el paso del movimiento era finito, no continuo. Este se debe a la
rejilla que por defecto impone Cadence y que si bien es de gran utilidad en la inmensa
mayora de los diseos porque facilita enormemente la colocacin ordenada de capas y
celdas, puede llegar a resultar molesta en algunos casos concretos. Pues bien, todas las
opciones de la misma las tenemos disponibles en la opcin Options - > Display, junto
con otras muchas opciones de visualizacin. En concreto, para la rejilla tenemos las
siguientes opciones dentro del campo Grid Controls (controles de rejilla):

Type: none, dots, lines. Es el tipo de visualizacin que queremos para nuestra rejilla.
none - > ninguna :aparece todo el fondo de la pantalla en negro, sin indicacin alguna de
la rejilla, aunque esta sigue existiendo, dots - > puntos: es la opcin por defecto y nos
muestra la rejilla en forma de puntos), y lines - > lneas: nos muestra la rejilla en forma
de lneas, lo cual hace que veamos una cuadrcula en la pantalla que en algunas
ocasiones puede resultar de utilidad.

Minor Spacing: Es la distancia ms pequea que se visualiza de la rejilla. Es decir, en la


opcin de puntos por ejemplo, la distancia ms pequea entre puntos (por defecto esta
distancia es de una micra). Si tenemos la rejilla desactivada no la veremos, y en algunos
casos, si esta distancia se establece demasiado pequea slo la veremos con un zoom
muy cercano.

Instituto de Microelectrnica de Sevilla 7


Centro Nacional de Microelectrnica rea de CAD

Figura 9: Ventana Display Options

Major Spacing: Es la distancia ms grande que se visualiza de la rejilla. Es decir, en la


opcin de puntos por ejemplo, la distancia ms grande entre puntos (por defecto esta
distancia es de una micra). Si tenemos la rejilla desactivada no la veremos, y en algunos
casos, si esta distancia se establece demasiado grande slo la veremos con un zoom muy
alejado.

En el caso de que el zoom que tengamos nos permita visualizar ambas distancias
veremos la distancia menor con puntos normales y la distancia mayor con puntos ms
brillantes.

X Snap Spacing: Es el paso del movimiento en el eje X. Si queremos una mayor


continuidad del movimiento en este eje establecemos un valor ms bajo, y si es al
contrario pues un valor ms alto.

Y Snap Spacing: Es el paso del movimiento en el eje Y. Si queremos una mayor


continuidad del movimiento en este eje establecemos un valor ms bajo, y si es al
contrario pues un valor ms alto.

Vamos a fijarnos ahora en las opciones de movimiento que tenemos.


Supongamos que quisiramos cambiar la colocacin del transistor pmos4 por ejemplo.
Pues bien, para moverlo usaramos el comando move (opcin Edit - > Move en el
men, botn Move a la izquierda de la ventana, o tecla de mtodo abreviado m). Si
seleccionamos este comando y hacemos clic con el botn izquierdo del ratn sobre el
transistor pmos4 observaremos que este queda marcado. Si ahora movemos el ratn

Instituto de Microelectrnica de Sevilla 8


Centro Nacional de Microelectrnica rea de CAD

veremos como podemos desplazar el transistor pmos4, pero nos daremos cuenta de que
solo podemos hacerlo horizontal y verticalmente. Esto que puede resultar de gran
utilidad en muchos casos ahora resulta un engorro, por lo que vamos a ver cmo
podemos modificar esto. Si mientras tenemos marcado el transistor con el comando
move hacemos doble clic con el botn central del ratn accederemos a la siguiente
ventana:

Figura 10: Ventana Move

En ella podemos ver la opcin Snap Mode, la cual por defecto est establecida a
orthogonal. Pues bien, si la desplegamos (pulsando sobre el rectngulo gris que
resalta a la derecha) veremos que tenemos disponibles las siguientes opciones:

anyAngle: Es la opcin ms liberal, nos permite mover el objeto seleccionado en


cualquier direccin.

diagonal: Nos permite mover el objeto en direcciones ortogonales y diagonales.

orthogonal: Nos permite mover el objeto slo en las direcciones ortogonales (horizontal
y vertical).

horizontal: Tan slo nos permite mover el objeto en la direccin horizontal.

vertical: Tan slo nos permite mover el objeto en la direccin vertical.

Seleccionamos la opcin anyAngle y movemos a nuestro antojo el transistor pmos4, y


luego lo volvemos a colocar en el lugar inicial.

4 - Creacin de capas
Seguidamente pasaramos a dibujar a mano las capas de metal necesarias para
interconectar ambos transistores. Para dibujar un rectngulo de una capa cualquiera
basta con seleccionar la capa en cuestin en la ventana de seleccin de capas y utilizar
la opcin Create - > Rectangle en la ventana de edicin de layouts (o el botn Rectangle
a la izquierda de la misma o la tecla de mtodo abreviado r). Si seleccionamos por
ejemplo la capa MET1 dg y en la ventana de edicin de esquemticos pulsamos r
veremos como podemos dibujar un rectngulo de metal 1 sin ms que hacer clic en el
punto donde queramos tener una de sus esquinas y desplazando el ratn sin soltar el
botn hasta el punto que queramos que sea la esquina opuesta, soltando el botn del
mismo cuando nuestro rectngulo tenga la forma deseada.

Instituto de Microelectrnica de Sevilla 9


Centro Nacional de Microelectrnica rea de CAD

Pues bien, para interconectar los transistores pulsamos shift + F para visualizar
sus capas y a continuacin dibujamos rectngulos de metal 1 (dg) y poly 1 (dg) hasta
completar el esquema de la figura 11.

Figura 11: Transistores pmos4 y nmos 4 ya interconectados

A continuacin vamos a ver una serie de comandos interesantes que nos pueden
facilitar la realizacin de este esquema (si no conseguimos dib ujar a la primera este
esquema no hay que preocuparse, es normal, con las opciones por defecto del entorno
puede llegar a resultar imposible dibujar algunos rectngulos tal y como aparecen en la
figura). El primero de ellos es el comando stretch. Dicho comando lo tenemos
disponible en la opcin de men Edit - > Stretch, en el botn Stretch correspondiente a
la izquierda de la ventana, o en el mtodo abreviado de teclado s. Pues bien, dicho
comando resulta de suma utilidad, y es de los que ms se usan (si no el que ms) a la
hora de realizar layouts. El comando en s nos permite alargar o acortar cualquier tira
(rectngulo), de metal o de la capa que sea, seleccionando uno de sus lados mediante un
clic con el botn izquierdo del ratn y desplazando este hasta conseguir la anchura o
altura deseada. Una vez alcanzada esta volvemos a hacer clic con el ratn para dejarla
establecida. Esta accin es especialmente til a la hora de rellenar el mximo espacio
posible con metal o para conseguir capas que cumplan todas las reglas de diseo en
cuanto a anchuras y distancias mnimas. Ms adelante vamos a ver un ejemplo de su
uso, pero antes vamos a estudiar otras opciones interesantes.

En la opcin Options - > Layout Editor (tecla de mtodo abreviado E) nos


aparece la siguiente ventana:

Instituto de Microelectrnica de Sevilla 10


Centro Nacional de Microelectrnica rea de CAD

Figura 12: Ventana Layout Editor Options

En ella podemos ver un campo que se denomina Gravity Controls (controles de


gravedad) dentro del cual tenemos varias opciones. Esta gravedad que aplicada en
este contexto nos puede resultar un tanto extraa no es ms que una especie de fuerza
que atrae a los objetos que dibujemos, esto es, que puede darse el caso de que
tengamos un objeto que vayamos a situar en un cierto punto y a la hora de hacer clic con
el ratn y establecerlo en ese punto el programa nos lo site ms pegado (o justo al
lado) de algn otro objeto que tengamos cerca debido a esta fuerza. Esto puede
resultar incmodo en muchas ocasiones por lo que bastara con deshabilitarlo (por
defecto nos aparece habilitada la opcin correspondiente Gravity On). Pero hay que
sealar que si se sabe utilizar correctamente con todas sus opciones puede sernos de
gran ayuda en algunos casos, por lo que vamos a ver con un poco ms de detalle las
diferentes opciones que presenta:

Gravity On: Es la opcin que habilita o deshabilita esta gravedad.

Types:

all - > seleccionamos todos los tipos de gravedad.


none - > no seleccionamos ningn tipo de gravedad.
centerline - > gravedad para el centro de los paths. Atrae el cursor hacia la lnea central
de los paths que tengamos dibujados.
edge - > gravedad para los extremos de las tiras. Atrae el cursor hacia los extremos de las
tiras que tengamos dibujadas.
midpoint - > gravedad para el punto medio de los extremos de las tiras. Atrae el cursor
hacia los puntos medios de los extremos de las tiras.

Instituto de Microelectrnica de Sevilla 11


Centro Nacional de Microelectrnica rea de CAD

vertex - > gravedad para los vrtices de las tiras. Atrae el cursor hacia los vrtices de las
tiras.
end - > gravedad para los extremos de los paths. Atrae el cursor hacia los extremos de
la lnea central de los paths.
nexus - > gravedad para los nexos
junction - > gravedad para las uniones.
pin - > gravedad para los pines.

Aperture: Distancia a partir de la cual se aplica el efecto de la gravedad.

Depth: No comprobado.

Bounce X: No comprobado.

Bounce Y: No comprobado.

A continuacin vamos a hacer uso del comando stretch visto anteriormente


para modificar dos tiras de forma que nos quede nuestro layout tal y como se muestra en
la siguiente figura. Para ello desactivaremos previamente todos los controles de
gravedad para trabajar con ms comodidad.

Figura 13: Layout modificado de nuestro inversor

Como puede apreciarse, las dos tiras son las tiras de metal 1 y poly 1 situadas ms a la
izquierda, y lo que hacemos es ensanchar la tira de poly 1 y alargar la de metal 1. Para

Instituto de Microelectrnica de Sevilla 12


Centro Nacional de Microelectrnica rea de CAD

ello no tenemos ms que activar el comando stretch, situarnos en el extremo derecho


de la tira de poly 1, hacer clic con el botn izquierdo del ratn y desplazarlo hasta
alcanzar la anchura deseada. Repetimos el proceso con el extremo derecho de la tira de
metal 1 hasta hacerla coincidir con el de la tira de poly 1 y ya tendramos lo que se
quera. Con esto nos hemos familiarizado con las opciones ms importantes a la hora de
dibujar y modificar capas y estamos ya en disposicin de pasar al apartado siguiente de
este tutorial.

5 - Creacin de contactos

Vamos a ver en este apartado cmo colocar los contactos necesarios entre las
distintas capas. En nuestro caso tan slo necesitamos un contacto (junto con los
contactos a sustrato que veremos ms adelante), ya que las nicas capas superpuestas
que necesitamos contactar son las capas de poly 1 y metal 1 que constituyen la entrada
de nuestro inversor (situadas a la izquierda del mismo). Si no colocsemos el contacto
correspondiente tendramos nicamente dos capas distintas superpuestas sin ningn
contacto elctrico, por lo que nuestro inversor no funcionara correctamente.

Para la creacin de contactos usamos la opcin Create - > Contact (o pulsamos la


tecla de mtodo abreviado o). Si la seleccionamos veremos la siguiente ventana:

Figura 14: Ventana Create Contact

En ella vemos todas las opciones de creacin de contactos, el tipo (Contact Type), la
justificacin, la anchura y la altura, y las filas y columnas que deseamos que ocupe.
Nosotros, para nuestro contacto escogemos las opciones que se muestran en la figura
14. El tipo de contacto P1_C es el tipo que necesitamos (poly 1 - metal 1). Si una vez
que hemos seleccionado estas opciones nos desplazamos a la ventana de edicin de
layouts veremos como nos aparece el contacto que acabamos de seleccionar y podremos
situarlo donde nos parezca haciendo clic con el botn izquierdo de nuestro ratn. Lo
situaremos donde nos indica la figura 15.

Instituto de Microelectrnica de Sevilla 13


Centro Nacional de Microelectrnica rea de CAD

Figura 15: Contacto entre poly 1 y metal 1 ya colocado en nuestro layout

Una vez dibujado el contacto anterior pasamos a continuacin a colocar los


contactos a sustrato. Los contactos a sustrato en una oblea tipo P como la que estamos
usando slo requieren de un pozo N en el transistor PMOS para un contacto correcto,
pero como ya tenemos dicho pozo en nuestro transistor de librera simplemente
colocamos el contacto dentro de l, y para el transistor NMOS, al ser la oblea tipo P no
necesitaremos pozo alguno, por lo que colocamos directamente el contacto a sustrato en
el lugar adecuado. Para el transistor PMOS el contacto ir a alimentacin (VDD), y para
el transistor NMOS el contacto ir a tierra (GND). La opcin de contacto a sustrato la
tenemos dentro de la ventana de creacin de contactos vista anteriormente (ventana
Create Contact en la figura 14) en la opcin Contact Type. Dentro de dicha opci n
tenemos los tipos de contactos disponibles, entre ellos ND_C y PD_C, que son los
contactos a sustrato para los transistores P y N respectivamente. As pues, para crearlos
seleccionaremos la opcin correspondiente y los dibujaremos donde corresponda.
Escogeremos las opciones siguientes para estos contactos y los colocaremos tal y como
indica la figura 17.

Instituto de Microelectrnica de Sevilla 14


Centro Nacional de Microelectrnica rea de CAD

Figura 16: Ventana Create Contact. Contactos a sustrato

Figura 17: Layout del inversor con los contactos de sustrato

Con esto daramos por finalizada ya la etapa de diseo de nuestro layout y


pasaramos a la etapa de verificacin en la cual comprobaremos si nuestro layout
cumple las reglas de diseo correspondientes o por el contrario presenta alguna
incompatibilidad con las mismas que tengamos que corregir en una fase posterior de
post-diseo (una vez conocidos y analizados los errores que se presenten).

Instituto de Microelectrnica de Sevilla 15


Centro Nacional de Microelectrnica rea de CAD

6 - Chequeo de las reglas de diseo (DRC)


Para chequear si nuestro layout cumple las reglas de diseo seleccionaremos las
opciones de verificacin, ms concretamente, la opcin Verify - > DRC nos abrir la
ventana de opciones del DRC:

Figura 18: Ventana DRC

Dentro de esta ventana las opciones ms interesantes son Switch Names y Rules File, en
la primera se establecen las opciones que no queremos chequear y en la segunda se
establece el fichero de reglas que vamos a usar. Las opciones que podemos seleccionar
como no chequeables dependern de la tecnologa y en particular, para nuestro kit de
AMS sern las siguientes:

Instituto de Microelectrnica de Sevilla 16


Centro Nacional de Microelectrnica rea de CAD

Figura 19: Ventana Set Switches

Pues bien, para realizar nuestro primer chequeo de las reglas de diseo
seleccionaremos las opciones (switches) siguientes:

no_FIMP
no_antenna
no_coverage
no_erc
no_metal_slots
no_pads

No hace falta que las sealemos una a una, podemos seleccionar la primera y hacer clic
en la ltima mientras se mantiene pulsada la tecla shift y seleccionaremos todas a la
vez. Una vez seleccionadas las seis pulsamos OK y nos aparecern en la ventana de
DRC en el campo Switch Names. Si ahora pulsamos OK en esta ventana de DRC el
programa empezar a realizar el DRC de nuestro layout. Si lo hacemos veremos como
una vez completado dicho chequeo obtenemos los siguientes errores:

Instituto de Microelectrnica de Sevilla 17


Centro Nacional de Microelectrnica rea de CAD

Figura 20: Errores de nuestro layout

Si queremos obtener una descripcin ms detallada de los errores reportados nos vamos
a la ventana de comandos y veremos lo siguiente:

Figura 21: Descripcin de los errores obtenidos

Como podemos ver tenemos 46 errores, pero esta enorme cantidad de errores no debe
preocuparnos en exceso. En efecto, si leemos con atencin veremos que el origen de
nuestros errores est en los contactos, ms concretamente en que hemos modificado el
tamao de estos y hemos colocado los contactos de sustrato para el transistor PMOS
dentro del pozo N, lo cual no est permitido (aunque anteriormente se indic que los
colocramos en ese lugar, pero ello se hizo con fines instructivos, para familiarizarnos
con los errores que en un primer DRC es muy comn que tengamos).

Instituto de Microelectrnica de Sevilla 18


Centro Nacional de Microelectrnica rea de CAD

Pues bien, vamos a ver a continuacin algunos comandos de utilidad a la hora de


depurar estos errores. El primero de ellos es el comando Verify - > Markers - > Explain,
cuya seleccin nos permite ver la explicacin detallada del origen de cada marca de
error simplemente haciendo clic sobre ella. Por ejemplo, si seleccionamos esta opcin y
hacemos clic sobre la marca de error que tenemos en el contacto entre poly 1 y metal 1
veremos la siguiente ventana:

Figura 22: Ventana marker text

En ella nos aparece la explicacin del origen del error, en este caso que el tamao del
contacto est prefijado y ha de ser de 0.4 micras.

Otra opcin interesante es Verify - > Markers - > Find. Si la seleccionamos nos
aparecer la siguiente ventana:

Figura 23: Ventana Find Marker

En esta ventana podremos seleccionar si queremos que al buscar marcas nos haga un
zoom hacia ellas (Zoom To Markers), si queremos que nos busque warnings y errores o
solo errores (Severity), dnde queremos buscar (Search Scope), etc... Simplemente
pulsamos Apply y luego Next para ir viendo de forma sucesiva las explicaciones de los
errores que tengamos.

Por ltimo comentar las opciones Verify - > Markers - > Delete y Delete All las
cuales nos permiten borrar las marcas de error, la primera una a una y la segunda todas a
la vez. Esto es til porque resulta muy incmodo corregir el layout para ajustarnos a las
reglas de diseo con estas marcas activas.

Seguidamente vamos a proceder a la correcin de nuestro layout para cumplir


las reglas de diseo y eliminar los errores que nos han aparecido en el DRC. Lo primero

Instituto de Microelectrnica de Sevilla 19


Centro Nacional de Microelectrnica rea de CAD

que hacemos es borrar todos los contactos que creamos anteriormente, con lo que
volveramos a tener el layout de la figura 13. A continuacin volvemos a crear todos los
contactos pero en este caso respetando las opciones de tamao que por defecto nos da el
programa. Los colocamos tal y como indica la figura 24.

Figura 24: Layout con los contactos correctos

Previamente habremos tenido que hacer un stretch de las pistas de VDD y GND para
alargarlas un poco hacia la izquierda tal y como se muestra en la figura. Hemos creado
tambin un rectngulo de pozo N (capa NTUB dg de la ventana LSW) justo al lado del
correspondiente pozo N del transistor PMOS para colocar dentro de l el contacto a
sustrato correspondiente (ND_C) sin violar la regla de proximidad de una difusin con
otra.

A continuacin procedemos a repetir el DRC seleccionando en este caso


nicamente la opcin no_FIMP. Ahora no obtendremos ningn error, por lo que el
problema se reduca a los contactos, tal y como ya indicbamos anteriormente.

La opcin no_FIMP la ponemos porque an no hemos generado la mscara


opuesta al pozo N que requiere esta tecnologa. Efectivamente, esta mscara es
caracterstica de esta tecnologa y a continuacin se ver cmo generarla. Se trata
simplemente de una implantacin de flor (Fluor IMPlantation) con la que finalizara el
proceso de layout. Para generarla seleccionamos de nuevo la opcin Verify - > DRC y
dentro del campo Switch Names ponemos generate_FIMP seleccionando dicha

Instituto de Microelectrnica de Sevilla 20


Centro Nacional de Microelectrnica rea de CAD

opcin con Set Switches. Si ahora corremos de nuevo el DRC obtendramos lo


siguiente:

Figura 25: Layout con la capa FIMP ya generada

Como se puede ver el programa nos indica que la capa FIMP ha sido generada mediante
el cambio de color del pozo N, que ahora se seala en color naranja, as como con la
unin de los pozos anteriores en un nico pozo N.

Por ltimo, para finalizar con este apartado, corremos el DRC sin ninguna
restriccin (switch) para comprobar que no tenemos ningn fallo. Efectivamente, si lo
hacemos veremos como tenemos 0 errores encontrados, por lo que podemos estar
tranquilos y pasar al apartado siguiente.

7 - Extraccin de parsitos

Vamos a ver en este apartado como realizar el extrado (extracted) a nuestro


layout, necesario para la posterior realizacin del LVS (layout versus schematic) y
tambin para posteriores simulaciones post-layout.

Para obtener el extrado seleccionamos la opcin Verify - > Extract en la ventana


de edicin de layouts. Nos aparecer la siguiente ventana:

Instituto de Microelectrnica de Sevilla 21


Centro Nacional de Microelectrnica rea de CAD

Figura 25: Ventana Extractor

En ella podemos ver que tambin tenemos un campo donde aadir restricciones, que en
este caso sern las siguientes:

Figura 26: Ventana Set Switches para el extractor

En nuestro ejemplo vamos a seleccionar la opcin capall con la intencin de extraer


las capacidades parsitas para luego realizar una simulacin post- layout incluyendo
estos parsitos, ya que lo que realmente simularemos luego ser este extrado que
hagamos aqu. Si ahora pulsamos OK en la ventana Extractor veremos cmo el
programa comienza a generarnos el extrado. Una vez concluya el proceso podremos
ver el extrado si abrimos la vista extracted de nuestro inversor que acaba de generar
la herramienta. Si lo hacemos veremos lo siguiente:

Instituto de Microelectrnica de Sevilla 22


Centro Nacional de Microelectrnica rea de CAD

Figura 26: Vista extracted de nuestro inversor

Y si pulsamos shift + F veremos los parsitos que nos ha introducido el programa en


la vista:

Instituto de Microelectrnica de Sevilla 23


Centro Nacional de Microelectrnica rea de CAD

Figura 27: Parsitos del extrado

Con esto daramos por concluido el apartado y estaramos en disposicin de


pasar al apartado siguiente, donde realizaremos la verificacin layout frente a
esquemtico (layout versus schematic).

8 - Realizacin del LVS

En este apartado vamos a realizar el chequeo que se denomina layout frente a


esquemtico, en el cual se comprueba que el layout realizado represente exactamente al
esquemtico original. Normalmente se trata de la comprobacin ms importante a
realizar, y ser la que nos d ms quebraderos de cabeza a la hora de corregir errores, ya
que incluso en diseos pequeos se requiere de una cierta experiencia para localizar y
corregir los errores que se produzcan. En nuestro caso la extrema simplicidad del diseo
hace este proceso evidente, ya que a simple vista se puede apreciar que layout y
esquemtico van a concordar, pero esto en general nunca ser as por lo que es
importante conocer algunas herramientas que nos pueden facilitar la depuracin tales
como Cross Probing, que se ver ms adelante.

Antes de empezar tenemos que indicar que en este proceso va a intervenir el


esquemtico del inversor que hicimos en el tutorial bsico de introduccin a Cadence.
Dicho esquemtico lo vamos a retocar ligeramente ahora, y ya explicaremos por qu.
De momento abrimos dicho esquemtico (en la ventana Library Manager seleccionamos
la librera correspondiente a nuestro inversor, la celda correspondiente, y hacemos doble

Instituto de Microelectrnica de Sevilla 24


Centro Nacional de Microelectrnica rea de CAD

clic con el botn izquierdo del ratn sobre la vista schematic del mismo) y lo
modificamos de la siguiente manera:

Figura 28: Esquemtico para LVS

Como vemos, lo nico que hemos hecho es sustituir la fuente de tensin por el elemento
vdd (alimentacin), ya que los layouts nunca incluyen fuentes por lo que si comparamos
un esquemtico con fuentes con un layout probablemente nos salgan errores. Esta es la
justificacin para esta ligera modificacin de nuestro esquemtico. Lo que hacemos es
guardar este esquemtico con un nombre diferente mediante la opcin Save As:

Figura 29: Ventana Save As

Una vez que pulsemos OK ya tendremos guardado el esquemtico y podremos salirnos


de esta ventana de edicin de esquemticos. Para ello seleccionamos Window - > Close y
nos aparecer la siguiente ventana:

Instituto de Microelectrnica de Sevilla 25


Centro Nacional de Microelectrnica rea de CAD

Figura 30: Ventana Save Changes

En ella se nos pregunta si queremos salvar los cambios, a lo cual hemos de responder
que NO porque ya hemos guardado anteriormente los cambios pero con otro nombre,
(schematic_LVS), por lo que si aqu decimos que s nos guarde los cambios
machacaramos la anterior vista schematic y tendramo s dos veces la misma vista
schematic_LVS pero con diferentes nombres. As pues, pulsamos No y ya se cerrara la
ventana.

A continuacin vamos a abrir la vista layout (si es que no la tenamos abierta ya)
y vamos a aadir en ella los pines correspondientes a la entrada y a la salida del inversor
para que al realizar el LVS el programa reconozca esos terminales y los compare con
los correspondientes terminales del esquemtico del inversor. Para ello seleccionamos la
opcin Create - > Pin dentro de la ventana de edicin de layouts de nuestra vista layout.
Aparecer la siguiente ventana:

Figura 31: Ventana Create Symbolic Pin

Pues bien, en esta ventana seleccionamos las opciones que se muestran y nos situamos
en la ventana de edicin de layouts para colocar el pin en el lugar correspondiente a la
entrada del inversor. Una vez colocado el pin y su nombre correspondiente hacemos lo

Instituto de Microelectrnica de Sevilla 26


Centro Nacional de Microelectrnica rea de CAD

mismo para el de salida (OUT) seleccionando en este caso la opcin output para el
tipo de pin (I/O Type). Ha de quedarnos nuestra vista layout tal y como se muestra a
continuacin:

Figura 32: Vista layout con los pines aadidos

Se pueden ver en esta figura los pines que acabamos de aadir en la entrada y la salida
de nuestro inversor con sus nombres correspondientes. Pues bien, ahora salvamos esta
nueva vista layout y realizamos de nuevo el extrado tal y como lo hicimos en el
apartado anterior.

En este momento ya estamos en condiciones de proceder con la realizacin del


LVS. Para ello abrimos las vistas schematic y extracted de nuestro inversor en la
ventana Library Manager y en la ventana de edicin de layouts seleccionamos la opcin
Verify - > LVS, la cual nos presenta la siguiente ventana:

Instituto de Microelectrnica de Sevilla 27


Centro Nacional de Microelectrnica rea de CAD

Figura 33: Ventana LVS

En ella tenemos que tener las vistas schematic y extracted de nuestro inversor que
queremos comparar en el LVS. Si no nos aparecieran por defecto las vistas
correspondientes las seleccionaramos haciendo uso de las opciones Browse que
aparecen debajo de los campos schematic y extracted. Una vez que tengamos todas las
opciones seleccionadas tal y como se muestran en la figura estaramos ya en disposicin
de correr el LVS, para ello no tenemos ms que pulsar el botn Run que aparece en la
parte inferior izquierda de esta ventana. Una vez hecho esto el programa arrancar el
LVS, y mientras lo corre podemos obtener informacin del estado del proceso pulsando
el botn Info que aparece en esta misma ventana en la parte inferior derecha. Si lo
hacemos veremos la siguiente ventana (figura 34), en la cual tenemos el botn Log File
en la opcin Run Info, el cual hemos de pulsar si queremos obtener la informacin del
proceso y los resultados del mismo, los cuales se muestran en la figura 35 para nuestro
caso.

Instituto de Microelectrnica de Sevilla 28


Centro Nacional de Microelectrnica rea de CAD

Figura 34: Ventana Display Run Information

Figura 35: Ventana de resultados del LVS

Como se puede ver en la figura 35 nuestro LVS ha concluido de manera


satisfactoria, esto es, la comparacin ha resultado favorable. Esto nos lo indica el
mensaje The net-lists match, que quiere decir que los netlists de esquemtico y layout
concuerdan. Ahora bien, qu hubiera pasado si esto no hubiera sido as?, es decir, de
qu herramientas disponemos para visualizar los errores?, pues bien, lo primero sera
comprobar dnde se producen dichos errores y visualizarlos por separado cada tipo de
error. Para ello utilizamos la opcin Error Display pulsando el botn correspondiente en

Instituto de Microelectrnica de Sevilla 29


Centro Nacional de Microelectrnica rea de CAD

la ventana de LVS. Nos aparecera la siguiente ventana en la cual podramos elegir los
tipos de errores que queremos visualizar y en qu colores queremos que se nos
muestren. En nuestro caso, al no tener errores no podemos probarlo.

Figura 36: Ventana LVS Error Display

Otra herramietnta de la que disponemos para depurar los errores que surjan es la
herramienta Cross Probing, que ya mencionamos al principio del apartado. Para abrirla
seleccionamos Verify - > Probe en la ventana de edicin de layouts de nuestra vista
extracted. Nos aparecer la siguiente ventana:

Figura 37: Ventana Probing

En ella seleccionaramos, por ejemplo, cross probe matched y pulsaramos Add Net.
As, podramos sealar una pista en el layout y veramos en el esquemtico con qu
pista se corresponde. Lo mismo se puede hacer con los dispositivos (Add Dev). Esta
herramienta es muy til, pero requiere de un LVS que hayamos corrido previamente
para poder usarla.

Con esto damos por concluido este apartado dedicado a la realizacin de la


verificacin LVS. A continuacin vamos a ver, si todo ha resultado satisfactorio hasta
este punto, los resultados que se obtienen si ahora realizamos una simulacin post-
layout de nuestro inversor.

Instituto de Microelectrnica de Sevilla 30


Centro Nacional de Microelectrnica rea de CAD

9 - Simulacin post-layout
Para realizar la simulacin post- layout de nuestro inversor necesitamos crear
primero la vista analog_extracted del mismo. Para ello simplemente abrimos la vista
extracted de nuestro inversor (si es que no la tenamos abierta ya) y en la ventana LVS
seleccionamos la opcin Build Analog pulsando el botn correspondiente. (Si ya
hubisemos cerrado anteriormente la ventana LVS simplemente volvemos a abrirla
seleccionando Verify - > LVS, pero no tenemos que preocuparnos, no hemos de correr el
LVS de nuevo). Nos aparecer la siguiente ventana:

Figura 38: Ventana Build Analog Extracted View

En ella decimos que nos incluya todo los parsitos (opcin Include All) y pulsamos OK.
Cuando lo hagamos se nos generar la vista analog_extracted de nuestro inversor, que
ser la vista que se utilizar para la simulacin post- layout.

Para llevar a cabo esta simulacin tenemos que abrir el esquemtico de test que
se hizo en el tutorial bsico de introduccin a Cadence para simular nuestro inversor y
que se muestra a continuacin:

Figura 39: Esquemtico de test para nuestro inversor

Instituto de Microelectrnica de Sevilla 31


Centro Nacional de Microelectrnica rea de CAD

En este esquemtico seleccionaremos Tools - > Analog Environment para ver la ventana
principal de la herramienta de simulacin Affirma Analog:

Figura 40: Ventana principal de la herramienta de simulacin

En ella lo primero que hacemos es cambiar de simulador. Para ello escogemos Setup - >
Simulator/Directory/Host y nos aparecer la siguiente ventana:

Figura 41: Ventana de seleccin de simulador, directorio, y host

En ella seleccionaremos el simulador spectreS pulsando el botn correspondiente en la


opcin Simulator. Una vez hecho esto seleccionaremos en la ventana principal de
Affirma la opcin Setup - > Environment y la ventana que nos aparece la modificaremos
para que quede como la que se muestra a continuacin:

Instituto de Microelectrnica de Sevilla 32


Centro Nacional de Microelectrnica rea de CAD

Figura 42: Ventana Environment Options

Una vez modificada pulsamos OK y pasamos a seleccionar el tipo de anlisis que


queremos realizar, en nuestro caso ser un anlisis transitorio de 12 ns tal y como
hicimos en el tutorial de introduccin. Seleccionamos las mismas opciones que
seleccionamos entonces y sealamos en el esquemtico las seales que queremos
dibujar en nuestra simulacin (la entrada y la salida del inversor). A continuacin
correramos la simulacin (Simulation - > Run) y veramos los resultados obtenidos:

Instituto de Microelectrnica de Sevilla 33


Centro Nacional de Microelectrnica rea de CAD

Figura 43: Resultados de la simulacin post-layout

Se obtienen los resultados de la figura 43, los cuales evidentemente estn mal, ya que
por muchos parsitos que introduzca nuestro layout jams van a ser suficientes como
para obtener estos resultados tan alejados de los que se obtuvieron en la simulacin pre-
layout.

El origen de esta discrepancia la encontramos en el cambio que introdujimos a


nuestro esquemtico cuando comenzamos el apartado dedicado a la realizacin del
LVS. En ese momento cambiamos la fuente de tensin de 5 V que alimentaba a nuestro
inversor por un elemento denominado vdd al que en ningn momento le hemos indicado
si la tensin de alimentacin es de 3.3 V o 5 V (que adems es propio de los diseos
digitales en los cuales al disear puertas lgicas no queremos estar continuamente
poniendo la alimentacin manualmente mediante una fuente), de ah la discrepancia que
obtenemos en la simulacin post- layout con respecto a la simulacin pre- layout que se
hizo en el tutorial bsico de introduccin a Cadence. Para obtener los resultados
correctos simplemente hemos de modificar en nuestra librera las vistas schematic,
symbol, y layo ut, de la forma que se indica en las siguientes figuras:

Instituto de Microelectrnica de Sevilla 34


Centro Nacional de Microelectrnica rea de CAD

Figura 44: Esquemtico correcto para nuestro inversor

Instituto de Microelectrnica de Sevilla 35


Centro Nacional de Microelectrnica rea de CAD

Figura 45: Smbolo correcto para nuestro inversor

Instituto de Microelectrnica de Sevilla 36


Centro Nacional de Microelectrnica rea de CAD

Figura 46: Layout correcto para nuestro inversor

Una vez hechos estos cambios simplemente procedemos a repetir los pasos que hemos
presentado en este tutorial desde el apartado 6, es decir, volveramos a hacer el DRC a
nuestro layout (directamente sin ningn switch), el extrado (nuevamente con el switch
capall), y en la vista extracted generada repetiramos el LVS para las vistas schematic y
extracted que tenemos ahora. Una vez concluido el LVS generaramos la vista
analog_extracted tal y como hicimos antes y con esto nos iramos al esquemtico de test
para nuestro inversor, que ahora tendra mos que poner de la siguiente forma:

Instituto de Microelectrnica de Sevilla 37


Centro Nacional de Microelectrnica rea de CAD

Figura 47: Nuevo esquemtico de test para nuestro inversor

Una vez hecho esto volveramos a arrancar la herramienta de simulacin y repetiramos


los pasos dados anteriormente para realizar la nueva simulacin, pudiendo comprobar
como obtenemos ahora los resultados correctos para nuestra simulacin post- layout:

Instituto de Microelectrnica de Sevilla 38


Centro Nacional de Microelectrnica rea de CAD

Figura 48: Resultados correctos para la simulacin post-layout

As pues, como hemos visto, hemos de tener especial cuidado a la hora de seguir
los distintos pasos del flujo de diseo, sobre todo si cambiamos algo en alguna vista
durante este proceso de diseo porque estos cambios pueden afectar a todo el proceso.
Esperamos que este tutorial haya servido para familiarizarse con todos los pasos del
flujo de diseo analgico presentado y pedimos comprensin para los errores que
hemos introducido aposta, pero nuestra experiencia nos indica que la mejor forma de
aprender algo es equivocndose, por lo que aunque este tutorial podra seguirse
introduciendo dir ectamente todos los diseos de forma correcta es conveniente seguirlo
incluyendo los errores para tomar conciencia de los problemas que podemos
encontrarnos a la hora de abordar diseos ms complejos.

Instituto de Microelectrnica de Sevilla 39


Centro Nacional de Microelectrnica rea de CAD

10 - Sumario
En este tutorial de introduccin a la realizacin de layouts con Cadence se han
tratado los siguientes puntos:

- Inicializacin y arranque del entorno.


- Creacin de una vista layout.
- Colocacin de transistores.
- Creacin de capas.
- Creacin de contactos.
- Realizacin de un DRC.
- Realizacin del extrado.
- Realizacin del LVS.
- Realizacin de una simulacin post-layout.

Una vez completado el mismo estaremos capacitados para abordar proyectos


ms complejos de diseo de circuitos integrados con este potente entorno de desarrollo
microelectrnico.

11 - Referencias

[1] Cadence Design Systems, Inc., 1999.

[2] N. H. E. Weste and K. Eshraghian, Principles of CMOS VLSI Design: A


System Perspective, Addison-Wesley, 2nd edition, 1993.

[3] http://www.cadence.com

[4] http://www.austriamicrosystems.com

[5] http://asic.austriamicrosystems.com

Instituto de Microelectrnica de Sevilla 40

Вам также может понравиться