tutorial básico de introducción a cad ence · tutorial básico de introducción a ... >...

33
Tutorial básico de introducción a Cadence José Juan Martínez Rodríguez Instituto de Microelectrónica de Sevilla CENTRO NACIONAL DE MICROELECTRÓNICA - C.S.I.C. Versión 1.0 - marzo de 2003 Este documento trata de constituir una guía de iniciación rápida al entorno Cadence. Se presentan en él todos los pasos necesarios para una correcta inicialización de la herramienta en nuestro sistema particular así como un ejemplo simple de introducción de esquemáticos y simulación del mismo para así irnos familiarizando con el entorno. En concreto se escribió basándonos en el kit 3.40 de AMS, aunque en principio es válido para cualquier otro kit con las particularidades que pueda presentar cada uno y que se irán comentando conforme aparezcan. Consta de siete grandes apartados: - Inicialización del entorno - Arranque del entorno - Creación de una librería - Creación de un esquemático - Creación de un símbolo - Realización de una simulación - Post-procesado de datos

Upload: nguyencong

Post on 27-Jun-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Tutorial básico de introducción a Cadence

José Juan Martínez Rodríguez

Instituto de Microelectrónica de Sevilla

CENTRO NACIONAL DE MICROELECTRÓNICA - C.S.I.C.

Versión 1.0 - marzo de 2003

Este documento trata de constituir una guía de iniciación rápida al entorno Cadence. Se presentan en él todos los pasos necesarios para una correcta inicialización de la herramienta en nuestro sistema particular así como un ejemplo simple de introducción de esquemáticos y simulación del mismo para así irnos familiarizando con el entorno. En concreto se escribió basándonos en el kit 3.40 de AMS, aunque en principio es válido para cualquier otro kit con las particularidades que pueda presentar cada uno y que se irán comentando conforme aparezcan. Consta de siete grandes apartados: - Inicialización del entorno - Arranque del entorno - Creación de una librería - Creación de un esquemático - Creación de un símbolo - Realización de una simulación - Post-procesado de datos

Page 2: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 1

1 - Inicialización del entorno En primer lugar nos creamos un directorio de trabajo en nuestra cuenta en el cual arrancaremos el entorno siempre que queramos seguir trabajando con los diseños que tengamos creados en ese directorio. Es buena idea crear varios directorios para distintos trabajos, por ejemplo un directorio “analógico” para diseños analógicos, un directorio “digital” para diseños digitales, y un directorio “mixto” para diseños mixtos. O si estamos trabajando en diferentes proyectos pues un directorio para cada proyecto (“proyecto1”, “proyecto2”, etc…). Esto es bueno porque así podemos tener diferentes inicializaciones para el entorno (una en cada directorio de trabajo) y diferentes archivos cds.lib con la configuración que más nos interese en cada directorio (en otros tutoriales se hablará con más detalle de este archivo cds.lib). El directorio de trabajo ha de ser un directorio en el cual tengamos todos los permisos. En concreto, si iniciamos la herramienta en un directorio del sistema en el cual no tengamos permisos de escritura la herramienta nos dará error al no poder escribir los archivos que necesite ir generando. Pues bien, el comando UNIX para la creación de un nuevo directorio es mkdir. Así pues, teclearemos en nuestra ventana de X-Terminal (xterm) la línea siguiente:

% mkdir directorio de trabajo

Figura 1: Ventana de X-Terminal Donde directorio de trabajo será el nombre que queramos ponerle a nuestro directorio de trabajo. Si ahora tecleamos el comando ls veremos en pantalla todos los archivos y directorios que existan en el directorio en el que nos encontremos situados. Entre ellos veremos el nuevo directorio que acabamos de crear. A continuación lo que hacemos es situarnos dentro de este nuevo directorio que acabamos de crear. Esto lo hacemos mediante el comando cd. Tecleamos en nuestra ventana xterm la siguiente orden:

% cd directorio de trabajo

Page 3: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 2

Si lo hemos hecho todo correctamente nos encontraremos situados en el nuevo directorio, lo cual podemos comprobar tecleando la orden pwd, la cual nos devuelve la ruta del directorio actual (el directorio en el que estamos situados en este momento):

% pwd La ruta devuelta deberá ser algo así como:

/mnt/cnm/[usuario]/[directorio] Donde [usuario] y [directorio] serán respectivamente nuestro directorio de usuario y nuestro directorio de trabajo anteriormente creado. Si ahora tecleamos la orden ls observaremos que el directorio está vacío, tal y como corresponde a un directorio de nueva creación. Pues bien, ahora tecleamos dentro de este nuevo directorio la orden tools:

% tools

Figura 2: Ventana de selección de herramientas de CAD Nos aparecerá una ventana en la cual se muestran todas las herramientas de CAD disponibles en el sistema. Pulsamos sobre el botón Cadence y luego sobre Distribución 2001/2002, DFWII IC 4.46 MSR6, AMS Hit-Kit 3.40 (Europractice). Con esto nos aparecerá la ventana de arranque del entorno en la cual podemos visualizar todas las variables de entorno ya inicializadas mediante la orden env. Si tecleamos esta orden veremos todas las variables de entorno, de las cuales ya comentaremos algo en otros tutoriales.

Page 4: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 3

Figura 3: Variables de entorno de Cadence 2 - Arranque del entorno A continuación vamos a presentar el comando de arranque de la herramienta con sus diferentes opciones: El comando es: ams_cds -tech [tecnología] -tool [herramienta] -mode [modo] - newtech -> actualizar a una nueva tecnología - newtool -> actualizar a una nueva herramienta - update -> actualizar los ficheros .cdsinit y .simrc - quit -> no hacer ninguna pregunta Donde [tecnología] es la tecnología que queramos utilizar, de entre las siguientes: cyq, cxq, cxz, byq, byr -> tecnologías de 0.8 µm. cuq, cup -> tecnologías de 0.6 µm. csx -> tecnología de 0.35 µm. [herramienta] será la herramienta deseada: artist -> Analog Artist. Es la herramienta seleccionada por defecto. dfii -> Design Framework II. Entorno digital estándar. global_supply -> Hay que indicar los parámetros. interactive -> Interactive. Se pregunta al inicio de cada sesión. Y [modo] será el modo en el que queramos arrancar el entorno: fb -> para diseño completo, de principio a fin (front end back end).

Page 5: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 4

ms -> para señal mixta (mixed-signal). Es el modo seleccionado por defecto. msfb -> para diseño completo de señal mixta (mixed-signal front-back). ds -> para esquemático digital. ly -> para layout. lyp -> para layoutPlus. ca -> para cellEnsemble/Preview. Aunque en este apartado hemos presentado el comando de arranque de Cadence con todas sus variantes y opciones hemos de señalar que no hay que preocuparse si no entendemos la utilidad de algunas de estas opciones ya que en el 99.9 % de los casos arrancaremos la herramienta con el comando ams_cds -mode fb & (donde el símbolo “&” se pone para arrancar el entorno en modo “background” de forma que podamos seguir tecleando comandos en la ventana naranja de la figura 3) ya que al ser la opción para diseño completo engloba al resto de opciones. En nuestro caso, al tratarse de la primera vez que arrancamos el entorno en este nuevo directorio creado tenemos que indicar también la tecnología y la herramienta deseada. Así pues, para arrancar el entorno teclearemos el siguiente comando en nuestra ventana DFWII IC 4.46 MSR6 (AMS V3.40): % ams_cds -tech csx -tool artist -mode fb & 3 - Creación de una librería Una vez arrancado el entorno nos aparecerán dos ventanas, una de ellas será la ventana principal del entorno y que denominaremos ventana de comandos (CIW del inglés Command Interface Window), y la otra será la ventana de librerías (Library Manager). Si en algún momento no nos apareciera esta segunda ventana podremos abrirla desde la ventana de comandos mediante la opción Tools -> Library Manager. Una tercera ventana puede aparecer al arrancar el entorno por vez primera: la típica ventana de What´s new? donde se nos indican las novedades respecto a anteriores versiones.

Figura 4: Ventana de comandos del entorno

Page 6: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 5

Para la creación de una librería nos situamos en la ventana Library Manager y seleccionamos la opción File -> New -> Library.

Figura 5: Ventana de librerías En la nueva ventana que nos aparece escribimos el nombre que queramos dar a la nueva librería y escogemos el directorio donde queramos crearla que usualmente será el directorio que aparece por defecto, es decir, el directorio de trabajo donde hemos arrancado el entorno. Una vez hecho esto pulsamos OK.

Page 7: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 6

Figura 6: Ventana New Library Nos aparecerá una nueva ventana en la cual tendremos que elegir si queremos adjuntar a nuestra librería un fichero de tecnología lo cual necesitaremos si vamos a trabajar a nivel de layouts o con cualquier otro tipo de datos físicos para nuestro circuito. Si vamos a quedarnos en el nivel de esquemático o vamos a trabajar con lenguajes HDL no necesitaremos adjuntar ningún fichero de tecnología a nuestra librería (aunque tampoco pasaría nada por hacerlo).

Figura 7: Ventana Technology File En nuestro ejemplo vamos a escoger la opción “Attach to an existing techfile”. La primera opción: “Compile a new techfile” se usa para crear nosotros mismos un

Page 8: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 7

fichero de tecnología, y raras veces la usaremos. Pulsamos sobre OK y nos aparecerá otra ventana en la cual escogeremos el fichero de tecnología correspondiente que queremos asociar a nuestra librería. En nuestro caso escogemos el fichero TECH_CSI correspondiente a una tecnología de 0.35 µm. Con esto hemos completado el proceso de creación de nuestra librería y ahora podremos ver cómo ésta nos aparece en la columna Library de nuestra ventana Library Manager. Si la seleccionamos observaremos que las columnas Cell y View aparecen vacías tal y como corresponde a una librería de nueva creación, ya que todavía no hemos creado ningún diseño en nuestra nueva librería. 4 - Creación de un esquemático A continuación vamos a crear un diseño en nuestra nueva librería. Dicho diseño va a ser un esquemático simple de un inversor, a modo de ejemplo, pero que nos servirá para comprender el funcionamiento del entorno y nos posibilitará la introducción de diseños más complejos. Pues bien, en primer lugar nos situamos sobre la ventana Library Manager (si es que no estábamos ya situados sobre ella) y seleccionamos la opción File -> New -> Cell View. En la nueva ventana que nos aparece escribiremos el nombre de nuestro diseño (en el campo Cell Name), el nombre de la vista (en el campo View Name), y seleccionaremos la librería donde queremos crear el diseño (en nuestro caso la librería recien creada). El nombre de la vista (View Name) aparecerá automáticamente según la herramienta de diseño que seleccionemos aunque también podríamos escribir nosotros el nombre que sea. Por ejemplo, en nuestro caso que vamos a crear un nuevo esquemático seleccionaríamos la herramienta (Tool) Componer-Schematic y nos aparecería en View Name el nombre de la vista correspondiente: schematic. Más abajo nos aparece la ruta del fichero de librerías cds.lib que estará en nuestro directorio de trabajo.

Figura 8: Ventana Create New File

Una vez que pulsemos sobre OK nos aparecerá la ventana de edición de esquemáticos. En ella crearemos nuestro esquemático del inversor que vamos a realizar como ejemplo.

Page 9: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 8

En primer lugar vamos a ver cómo se colocan componentes. Para ello no tenemos más que seleccionar la opción Add -> Instance (o pulsar la tecla “i”, ya que este es el método abreviado de teclado para agregar componentes). Nos aparecerá la ventana de adición de componentes (Add Instance) en la cual escogeremos el componente pulsando sobre el botón Browse del campo Library, y al hacerlo nos aparecerá una ventana Library Browser en la cual podremos escoger la librería, el componente (Cell), y la vista, la cual será siempre symbol ya que lo que añadimos es el símbolo del componente para construir un esquemático. Si ahora arrastramos el ratón a la ventana de edición de esquemáticos veremos como nos aparecerá el componente en cuestión (en nuestro caso vamos a coger un transistor “nmos4” de la librería PRIMLIB). Para colocarlo en el lugar que queramos hacemos clic con el botón y para deseleccionar la opción de añadir más componentes pulsamos la tecla “Esc”. Hay que resaltar que en la ventana de adición de componentes también nos aparecen los parámetros del componente que vamos a añadir, aunque por el momento no tocaremos ninguno ni comentaremos nada más al respecto. Luego veremos otra forma de acceder a estos parámetros y modificarlos como queramos.

Figura 9: Ventanas de edición de esquemáticos y de inserción de componentes Para familiarizarnos con el entorno vamos a mover un poco el componente. Si después de haberlo colocado y de pulsar la tecla “Esc” nos situamos sobre él y lo seleccionamos con el ratón (haciendo clic con el botón izquierdo y sin soltar) y desplazamos el ratón veremos que estamos arrastrando el componente. Cuando lleguemos al emplazamiento deseado soltamos el botón y el componente quedará colocado. Esta forma de mover el componente se denomina Stretch (“arrastrar”).

Page 10: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 9

Tenemos otra manera de moverlo que es mediante el comando Move (opción Edit -> Move o tecla “M”), la cual es ligeramente distinta. Con ella sólo tenemos que hacer clic con el botón izquierdo del ratón y ya lo podremos desplazar (sin necesidad de mantener pulsado el botón). Otro comando interesante es el de rotar (Edit -> Rotate o tecla “r”) y el de rotar sin invertir terminales (Sideways), el cual resulta algo más complejo de seleccionar. Hay dos formas de seleccionarlo, o bien directamente al colocar el componente desde la ventana Add Instance (botón Sideways) o haciendo doble clic con el botón central del ratón mientras estamos moviendo el componente con el comando Move y pulsando sobre Sideways en la ventana que aparece. Esta opción que puede resultar un tanto inútil no lo es cuando la aplicamos a la realización de circuitos complejos tales como amplificadores operacionales en los cuales resulta muy útil poder rotar los transistores sin variar el orden de los terminales. Una diferencia importante entre seleccionar una opción con el menú o con el acceso directo por teclado es que mientras que el menú te mantiene el comando seleccionado el acceso directo por teclado sólo te mantiene activo el comando durante un uso del mismo, una vez que se ejecute se perderá y tendremos que volver a seleccionarlo si queremos volver a aplicarlo. Esto se puede ver claramente con el comando Rotate (probarlo como ejercicio de práctica). A continuación vamos a seguir añadiendo componentes a nuestro esquemático. Para ello seleccionamos la opción Add Instance de nuevo (de la manera que más cómoda nos resulte o que más nos guste) y seleccionamos de la librería PRIMLIB el transistor “pmos4” y de la librería analogLib los componentes “vdd” y “gnd”. Esto lo podemos hacer sin tener que volver a seleccionar Add Instance, simplemente colocamos cada componente y volvemos a situarnos sobre la ventana Library Browser repitiendo el proceso hasta que tengamos colocados todos los componentes que necesitamos. Ahora vamos a cablear nuestro esquemático. Tenemos que realizar el diseño que se muestra en la figura 10. Para añadir conexiones (wires) tenemos los botones Wire (narrow) y Wire (wide) en la parte izquierda de nuestra ventana de edición de esquemáticos o las opciones Add -> Wire (narrow) y Add -> Wire (wide). La opción “narrow” añade conexiones simples (pistas) o compuestas (buses). Para crear una conexión sólo tenemos que seleccionar la opción correspondiente y pinchar sobre el terminal origen de la conexión, arrastrar hasta el otro extremo de la conexión y volver a hacer clic para que esta quede establecida. Mientras no pulsemos la tecla “Esc” podremos seguir estableciendo conexiones. Cadence por defecto traza la conexión por el lugar más adecuado, pero si nosotros queremos que una conexión determinada pase por un lugar concreto basta con ir haciendo clic a lo largo del camino en los puntos en que queramos modificar la dirección de la conexión. Y si queremos que una conexión termine en un punto que no sea un terminal de algún componente basta con hacer doble clic para que esta quede establecida hasta ese punto particular.

Page 11: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 10

Figura 10: Esquemático del inversor Para añadir pines a nuestro circuito basta con seleccionar la opción Add -> Pin o pulsar sobre el botón Pin a la izquierda de nuestra ventana de edición de esquemáticos. Una vez seleccionada nos aparecerá la ventana de opciones Add Pin donde pondremos el nombre a los pines que vayamos a añadir (Pin Names) y escogeremos su dirección (entrada -> input, salida -> output, entrada/salida -> inputOutput, interruptor -> switch) y su uso (schematic -> en el esquemático actual, offSheet -> para multiesquemáticos, que ya veremos en otro tutorial). En nuestro caso vamos a añadir sólo un pin de entrada (IN) y otro de salida (OUT). Una vez tecleado el nombre del pin y seleccionadas las opciones adecuadas nos situamos sobre la ventana de esquemáticos y veremos como arrastramos un pin que podremos colocar donde queramos. Repetimos el proceso para añadir el pin de salida del inversor (OUT) y luego los unimos al esquemático tal y como indica la figura 10.

Page 12: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 11

Figura 11: Ventana Edit Object Properties Ahora vamos a cambiar los parámetros de nuestros transistores. Para ello seleccionamos por ejemplo el transistor PMOS haciendo clic sobre él con el botón izquierdo del ratón y pulsamos la tecla “q” o seleccionamos la opción Edit -> Properties -> Objects. Nos aparecerá la ventana Edit Object Properties (ver figura 11), en la cual podremos variar a nuestro antojo los parámetros de nuestro transistor (dentro de unos límites impuestos por la lógica y la tecnología, no podemos tener transistores que midan metros, por ejemplo). Pues bien, nosotros vamos a añadir dos propiedades de usuario para definir la relación W/L del transistor, y no tener que dar los valores absolutos en micras de la W y la L del mismo. Además, de esta forma tendremos estos valores

Page 13: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 12

definidos como parámetros del usuario y podremos cambiarlos más adelante cada vez que añadamos un símbolo que contenga estos transistores (esto ya lo veremos con más detalle más adelante). Para hacer esto que estamos diciendo tenemos que tener habilitada la opción Show user para ver los botones Add, Delete, y Modify correspondientes a las propiedades de usuario, que están justo encima de los parámetros CDF propios del componente. Pues bien, pulsamos sobre el botón Add y nos aparecerá una ventana (ver figura 12) que hemos de rellenar tal y como se indica a continuación: Name -> W Type -> NLPExpr Value -> [@pw:%:8]

Figura 12: Ventana Add Property Una vez escrito esto tal y como aparece aquí pulsamos OK y la propiedad quedará añadida a las propiedades de usuario con el valor que hemos escrito como valor local (Local Value). Ahora hacemos lo mismo para la L: Name -> L Type -> NLPExpr Value -> [@pl:%:2] Y pulsamos sobre OK en la ventana Edit Object Properties. Ahora seleccionamos el transistor NMOS y repetimos el proceso anterior con los valores [@nw:%:3] y [@nl:%:2] para las propiedades W y L, respectivamente. Y ya tenemos finalizado nuestro esquemático del inversor. Así, para terminar pulsamos sobre la opción Design -> Check and Save (tecla “X” o botón Check and Save en la parte izquierda de la ventana) y comprobamos que se guarde sin errores. Si existiera algún error o aviso (warning) el programa nos avisaría mediante una señal acústica y podríamos leer el informe de los mismos en la ventana de comandos para tener una idea de lo que está pasando y de cómo podemos solucionarlo. Estos mismos avisos los podemos visualizar también de manera más cómoda con la opción Check -> Find Marker (tecla “g”). Una vez completado el esquemático y salvado sin errores podemos cerrar la ventana de edición de esquemáticos (Window -> Close). Es conveniente cerrar siempre las ventanas con la opción Close correspondiente y no con el aspa de la esquina superior

Page 14: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 13

derecha para disminuir la posibilidad de dejar procesos colgados que disminuyan los recursos disponibles, lo cual iría en perjuicio nuestro y del resto de usuarios del sistema. 5 - Creación de un símbolo A continuación vamos a crear un símbolo para el inversor que acabamos de diseñar. Dicho símbolo quedará almacenado en la librería donde antes creamos el inversor y podrá ser usado como cualquier otro componente a la hora de crear esquemáticos. Pues bien, nos situamos sobre la ventana Library Manager y seleccionamos la opción File -> New -> Cell View. En la nueva ventana que nos aparece seleccionamos la librería donde se encuentra el inversor, escribimos el nombre de nuestro inversor (el nombre que le diéramos al esquemático anterior), y seleccionamos la herramienta Componer-Symbol (aparece automáticamente entonces en View Name el nombre correspondiente de la vista, symbol).

Figura 13: Ventana Create New File. Herramienta Componer-Symbol Pulsamos OK y a continuación nos aparecerá la ventana de edición de símbolos. En ella vamos a dibujar el siguiente símbolo para nuestro inversor:

Page 15: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 14

Figura 14: Ventana de edición de símbolos. Símbolo para el inversor Para dibujar líneas pulsamos el botón Line en la parte izquierda de la ventana o seleccionamos la opción Add -> Shape -> Line. Una vez seleccionada esta opción hacemos clic en el punto que queramos que sea el extremo inicial de nuestra línea y doble clic en el punto que queramos que sea el extremo final. Si en lugar de hacer doble clic hacemos un clic simple continuaremos dibujando otra línea y así sucesivamente hasta que cerremos un polígono, lo cual es útil para dibujar de una sola vez figuras como el triángulo de nuestro inversor. Para dibujar la circunferencia escogemos la opción Add -> Shape -> Circle y hacemos clic en el punto que queramos que sea el centro de nuestra circunferencia y desplazamos el ratón hasta que adquiera el radio que deseemos haciendo de nuevo clic cuando lo tengamos para terminar así nuestra circunferencia. A continuación vamos a dibujar los pines de nuestro símbolo. Para ello seleccionamos la opción Add -> Pin, pulsamos el botón Pin a la izquierda de nuestra ventana o usamos el método abreviado de teclado (“p”). Cuando hagamos esto se nos mostrará la ventana Add Pin:

Page 16: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 15

Figura 15: Ventana Add Pin En ella seleccionaremos el nombre del pin, la dirección, y el tipo (en nuestro caso vamos a seleccionar square). También podemos seleccionar la localización del nombre del pin (Label Location), en nuestro caso la cambiamos a izquierda (left) para que se pueda leer bien en el símbolo ya que este va a ser el pin de la izquierda (el de entrada). Hacemos lo mismo para el pin de salida (seleccionamos como dirección output y como localización de la etiqueta right). Lo siguiente que vamos a añadir es el recuadro de selección (selection box). Para ello seleccionamos la opción Add -> Selection Box o pulsamos sobre el botón Selection Box a la izquierda de nuestra ventana. Nos aparecerá la ventana Add Selection Box:

Figura 16: Ventana Add Selection Box En ella pulsaremos el botón Automatic para que se nos genere automáticamente el recuadro de selección. Si quisiéramos dibujarlo a mano no tendríamos más que desplazarnos a nuestra ventana de edición de símbolos y dibujarlo directamente como si se tratara de un rectángulo normal (haciendo clic con el botón izquierdo en el punto que queramos que sea una de sus esquinas y desplazando el ratón sin soltar el botón izquierdo hasta que tenga el aspecto que deseemos soltando entonces el botón para establecerlo). Por último vamos a añadir las etiquetas correspondientes a nuestro símbolo. Para ello seleccionamos la opción Add -> Label, pulsamos sobre el botón Label a la izquierda de nuestra ventana o usamos el método abreviado de teclado (“l”). Nos aparecerá la ventana Add Symbol Label:

Page 17: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 16

Figura 17: Ventana Add Symbol Label En ella nos aparece por defecto en Label [@instaneName] que será el nombre de la instancia cuando la coloquemos en un esquemático y que se autoincrementará según vayamos añadiendo instancias en el mismo. Pues bien, si nos situamos en la ventana de edición de símbolos nos aparecerá dicha etiqueta lista para colocarla donde más nos agrade haciendo clic con el botón izquierdo del ratón. A continuación añadimos las siguientes etiquetas siguiendo este mismo procedimiento: [@pw:%:8], [@pl:%:2], [@nw:%:3], [@nl:%:2] El símbolo ya terminado tendrá la siguiente apariencia:

Page 18: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 17

Figura 18: Aspecto del símbolo para el inversor ya finalizado Así pues, para dar por concluido este breve tutorial de iniciación al entorno Cadence chequeamos y guardamos nuestro símbolo mediante la opción Design -> Check and Save, comprobando que no existan errores. Si existiera algún error o aviso (warning) el programa nos avisaría mediante una señal acústica y podríamos leer el informe de los mismos en la ventana de comandos para tener una idea de lo que está pasando y de cómo podemos solucionarlo. Estos mismos avisos los podemos visualizar también de manera más cómoda con la opción Check -> Find Marker (tecla “g”). Una vez completado el símbolo y salvado sin errores podemos cerrar la ventana de edición de símbolos (Window -> Close). Reiterar que es conveniente cerrar siempre las ventanas con la opción Close correspondiente y no con el aspa de la esquina superior derecha para disminuir la posibilidad de dejar procesos colgados que disminuyan los recursos disponibles, lo cual iría en perjuicio nuestro y del resto de usuarios del sistema. 6 - Realización de una simulación A continuación vamos a realizar una simulación de nuestro inversor para ilustrar el funcionamiento del simulador Analog Artist. Para realizar la simulación crearemos un nuevo esquemático en el cual realizaremos la simulación. Aunque se puede hacer también la simulación directamente en el esquemático del inversor es conveniente acostumbrarse a realizar un símbolo del circuito a simular y colocar dicho símbolo en otro esquemático junto con las fuentes que queramos utilizar como estímulos para nuestra simulación con el objeto de tener más claridad en el esquemático a simular. Esto

Page 19: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 18

cobrará importancia sobre todo en diseños complejos, en los cuales tendríamos un esquemático muy engorroso de manejar si no hacemos esto que estamos contando. Pues bien, lo primero que vamos a hacer es crear nuestro nuevo esquemático en la misma librería donde tenemos el inversor. Si el esquemático del inversor se denomina “inversor”, llamaremos a este nuevo esquemático “inversor_test” (o “inversor_sim”, o cualquier otro nombre que nos parezca adecuado), ya que será el esquemático que usaremos para testar (simular) nuestro inversor. Para crear dicho esquemático seleccionamos la opción File -> New -> Cell View en la ventana Library Manager teniendo seleccionada nuestra librería de trabajo. La herramienta será Composer-Schematic puesto que vamos a crear un nuevo esquemático. El esquemático que vamos a crear se muestra a continuación en la figura 19.

Figura 19: Esquemático para simulación del inversor El inversor lo tomaremos de nuestra propia librería (Cell -> Inversor, View -> symbol) y lo colocaremos como cualquier otro componente. La fuente la cogemos de la librería analogLib (Cell -> vpulse, View -> symbol), y la tierra también (Cell -> gnd, View -> symbol). El pin lo ponemos de la misma forma que pusimos los del inversor en el primer esquemático (Add -> Pin) y le ponemos el nombre que queramos. Por último colocamos las conexiones tal y como se indican en la figura (Add -> Wire (narrow)). Una vez colocados todos los componentes e interconectados entre sí procedemos a definir los parámetros de la fuente vpulse. Para ello la seleccionamos haciendo clic sobre ella con el botón izquierdo del ratón y seleccionamos Edit -> Properties -> Objects

Page 20: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 19

(o pulsamos el botón Property a la izquierda de la ventana o la tecla de método abreviado “q”). Nos aparecerá la siguiente ventana, que rellenaremos tal y como se indica en la figura:

Figura 20: Ventana Edit Object Properties para la fuente vpulse Como se puede suponer, los valores Voltage 1 y Voltage 2 son los valores de los niveles alto y bajo de la fuente, respectivamente. El valor Delay time es el retraso de la señal, Rise time el tiempo de sub ida, Fall time el tiempo de bajada, Pulse width la anchura del pulso y Period el periodo de la señal.

Page 21: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 20

A continuación chequeamos y salvamos el esquemático con la opción Check and Save (opción que ya comentamos en el primer esquemático que hicimos, por lo que no insistiremos más en ella) comprobando que no existan errores. Antes de arrancar la herramienta de simulación vamos a fijarnos en algunos aspectos interesantes del esquemático que acabamos de crear. El componente básico del mismo es el inversor que creamos en nuestro primer esquemático, pues bien, lo que tenemos aquí es el símbolo del mismo, pero debajo de él (en el nivel de jerarquía inmediatamente inferior) tenemos el esquemático que creamos al principio, y esto lo podemos comprobar seleccionando el símbolo de nuestro inversor y utilizando la opción Design -> Hierarchy -> Descend Edit (“E”) para descender con posibilidad de edición (por si quisiéramos modificar algo en el esquemático del inversor) o Design -> Hierarchy -> Descend Read (“e”) para descender en modo de sólo lectura. Por ejemplo, si seleccionamos el símbolo del inversor en nuestro esquemático y pulsamos la tecla “e” nos aparecerá la siguiente ventana:

Figura 21: Ventana Descend En ella seleccionamos schematic en View Name, ya que lo que queremos ver es justamente el esquemático que hay bajo nuestro símbolo, y pulsamos OK. Veremos entonces el esquemático original de nuestro inversor en modo de sólo lectura. Si ahora queremos regresar al nivel superior seleccionamos la opción Design -> Hierarchy -> Return (o pulsamos la tecla de método abreviado “B”) y volveremos al esquemático de test. La opción Design -> Hierarchy -> Return to Top (sin método abreviado de teclado) nos devolvería al nivel más alto de la jerarquía en un solo paso (útil cuando bajamos varios niveles de jerarquía en un diseño que contenga múltiples niveles de jerarquía). En nuestro caso nos devolvería al esquemático de test tal y como la opción anterior. Después de habernos familiarizado un poco con las opciones anteriores vamos a pasar ya a la simulación en sí. Para ello arrancamos la herramienta de simulación de Cadence denominada Affirma Analog con la opción Tools -> Analog Environment. Si es la primera vez que arrancamos la herramienta nos aparecerá la típica ventana de What’s new… La ventana que nos interesa es la del entorno en sí, y podemos verla a continuación:

Page 22: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 21

Figura 22: Ventana principal de la herramienta Affirma Analog En esta ventana definiremos nuestra simulación. En primer lugar seleccionamos el tipo de aná lisis que queremos llevar a cabo mediante la opción Analyses -> Choose. Nos aparecerá la ventana que se muestra a continuación que rellenaremos tal y como indica la figura:

Figura 23: Ventana de selección del tipo de análisis Si ahora pulsamos OK habremos definido ya el tipo de análisis que vamos a realizar y este nos aparecerá en la ventana principal de la herramienta.

Page 23: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 22

A continuación vamos a definir las señales que queremos visualizar en nuestra simulación. Para ello seleccionamos la opción Outputs -> To Be Plotted -> Select On Schematic y hacemos clic con el ratón sobre las ramas del esquemático que se correspondan con las señales que queremos visualizar. Observaremos como estas van cambiando de color según las seleccionemos. Seleccionaremos, lógicamente, las ramas correspondientes a la entrada y a la salida, y una vez hecho esto pulsamos “Esc” y regresamos a la ventana principal de Afirma, en la cual podremos observar como han sido añadidas las señales indicadas en el campo Outputs. El nombre de la señal de entrada, al no tener un pin asociado, será el nombre genérico de Cadence, y el nombre de la señal de salida será el nombre que le pusiéramos al pin correspondiente. Ya estamos en disposición de correr la simulación. Para ello seleccionamos la opción Simulation -> Netlist and Run o pulsamos sobre el botón correspondiente a la derecha de la ventana (el del semáforo en verde). Una vez concluida de forma satisfactoria la simulación la herramienta nos mostrará los resultados de la misma en dos ventanas, una para las formas de onda y otra para el netlist. Dichas ventanas se muestran a continuación:

Figura 24: Ventana de formas de onda Como se puede apreciar en la figura 24, la forma de onda de la salida se corresponde con lo que cabía esperar para un inversor. Efectivamente, la salida es la señal de entrada invertida.

Page 24: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 23

Figura 25: Ventana de netlist de la simulación Vamos a ver ahora las señales de entrada y de salida de otra manera. Para ello vamos a seleccionar la opción Axes -> X Axis en la ventana de formas de onda (Waveform Window) y rellenamos la nueva ventana que se nos muestra de la siguiente forma:

Page 25: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 24

Figura 26: Ventana X Axis Si pulsamos OK veremos las formas de onda tal y como se muestran a continuación:

Figura 27: Ventana de formas de onda. Representación X-Y Aquí tenemos la representación del voltaje de salida del inversor frente al voltaje de entrada del mismo, y podemos apreciar como efectivamente se corresponde con el funcionamiento típico: la tensión de salida se invierte al superar un cierto umbral de tensión de entrada. La región central de la gráfica (en torno a los 2.0 V de tensión de entrada) denota que no tenemos un inversor ideal.

Page 26: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 25

Para terminar de familiarizarnos con la herramienta de simulación vamos a llevar cabo una simulación más. Para ello cambiamos nuestro esquemático de test para el inversor de acuerdo con la figura 28.

Figura 28: Nuevo esquemático de test para nuestro inversor Como se puede ver se trata simplemente de sustituir la fuente vpulse que teníamos antes por una fuente sinusoidal vsin (de la misma librería analogLib). Los parámetros de la misma son los siguientes:

Page 27: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 26

Figura 29: Parámetros de la fuente vsin Si ahora lanzamos la simulación (Simulation -> Netlist and Run) veremos los siguientes resultados:

Page 28: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 27

Figura 30: Formas de onda para la segunda simulación

Page 29: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 28

Figura 31: Netlist de la segunda simulación Para dar por finalizado este apartado dedicado a la realización de simulaciones simples vamos a salvar la sesión, es decir, a guardar los datos de la simulación realizada en último lugar para poder recuperarlos cuando lo deseemos. Para ello seleccionamos la opción Session -> Save State en la ventana de Affirma Analog, y en la ventana que nos aparezca simplemente escribimos el nombre con el que queramos guardar la sesión y pulsamos OK.

Page 30: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 29

Figura 32: Ventana para salvar el estado (Saving State Window) En esta ventana se pueden elegir los datos que queremos guardar de nuestra sesión (por defecto aparecen todos seleccionados). En el siguiente apartado vamos a ver cómo podemos guardar estos datos en un fichero ASCII para cargarlos en una herramienta que nos permita procesarlos como puede ser Matlab. 7 - Post-procesado de datos En la ventana de Affirma Analog seleccionamos la opción Tools -> Calculator, la cual nos abrirá la ventana de la calculadora:

Figura 33: Ventana Calculador Pulsamos en ella el botón wave situado a la izquierda de la misma y a continuación nos situamos sobre la ventana de formas de onda para seleccionar la forma de onda que queramos guardar en ASCII haciendo clic sobre ella con el botón izquierdo del ratón (en nuestro caso seleccionamos la salida). Veremos como en la ventana de la calculadora nos ha aparecido en el display de la misma el comando que tenemos en la figura 33.

Page 31: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 30

Seguidamente pulsamos sobre el botón printvs situado a la izquierda de la calculadora y nos aparecerá la siguiente ventana:

Figura 34: Ventana Printvs Range En esta ventana podemos seleccionar el rango de la señal que queremos guardar. Si queremos la señal completa desde el inicio hasta el final de la simulación simplemente pulsamos OK sin rellenar nada. Esto es lo que haremos en nuestro caso. A continuación lo que nos aparece es la ventana de visualización de resultados (Results Display Window) y en ella podemos ver los datos numéricos correspondientes a nuestra señal de salida:

Figura 35: Ventana de visualización de resultados

Page 32: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 31

Por último, para guardar estos datos en un fichero ASCII seleccionamos en la ventana anterior la opción Window -> Print y en la nueva ventana que nos sale escogemos la opción Print To File y tecleamos el nombre que le queramos dar al fichero en el campo File Name.

Figura 36: Ventana Print En el momento que pulsemos OK se generará el fichero ASCII correspondiente (que se guardará en nuestro directorio de trabajo), el cual tendremos disponible para ser enviado por ftp a cualquier otra máquina o para ser cargado en el Workspace de Matlab mediante el comando load [nombre del fichero] -ASCII y poder así procesar los datos correspondientes. Una vez terminado nuestro trabajo con el entorno, podemos cerrar el mismo seleccionando en la ventana de comandos (CIW) la opción File -> Exit, siempre y cuando nos hayamos asegurado de que hemos salvado todos los datos importantes antes de confirmar la salida del entorno, ya que esta opción nos cierra directamente todas las ventanas (aunque si en alguna herramienta hemos dejado cosas sin salvar el entorno nos preguntará si queremos salvarlas antes de salir). 8 - Sumario En este breve tutorial introductorio al entorno Cadence se han tratado los siguientes aspectos básicos del mismo:

- Inicialización del entorno. - Arranque del entorno. - Creación de una librería. - Creación de un esquemático. - Creación de un símbolo. - Realización de una simulación. - Post-procesado de datos.

Una vez completado el mismo se espera que nos hayamos familiarizado lo

suficiente con estos aspectos como para ser capaces de iniciar nuestros propios proyectos o poder seguir sin dificultades tutoriales más avanzados sobre este potente entorno de simulación y diseño de circuitos microelectrónicos.

Page 33: Tutorial básico de introducción a Cad ence · Tutorial básico de introducción a ... > tecnologías de 0.8 µm. cuq, cup - > tecnologías de ... va a ser un esquemático simple

Centro Nacional de Microelectrónica Área de CAD

Instituto de Microelectrónica de Sevilla 32

9 - Referencias [1] Cadence Design Systems, Inc., Analog Artist Mixed-Signal Simulation and Analysis, 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