Tutorial sobre CADENCE - Esquemáticos

Anuncio
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
Centro Nacional de Microelectrónica
Área de CAD
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
Instituto de Microelectrónica de Sevilla
1
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
2
Centro Nacional de Microelectrónica
Área de CAD
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).
Instituto de Microelectrónica de Sevilla
3
Centro Nacional de Microelectrónica
Área de CAD
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
Instituto de Microelectrónica de Sevilla
4
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
5
Centro Nacional de Microelectrónica
Área de CAD
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
Instituto de Microelectrónica de Sevilla
6
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
7
Centro Nacional de Microelectrónica
Área de CAD
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”).
Instituto de Microelectrónica de Sevilla
8
Centro Nacional de Microelectrónica
Área de CAD
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 repitie ndo 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.
Instituto de Microelectrónica de Sevilla
9
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
10
Centro Nacional de Microelectrónica
Área de CAD
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
Instituto de Microelectrónica de Sevilla
11
Centro Nacional de Microelectrónica
Área de CAD
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 ve ntana) 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
Instituto de Microelectrónica de Sevilla
12
Centro Nacional de Microelectrónica
Área de CAD
derecha para disminuir la posibilidad de dejar procesos colgados que disminuyan los
recursos disponibles, lo cua l 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:
Instituto de Microelectrónica de Sevilla
13
Centro Nacional de Microelectrónica
Área de CAD
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:
Instituto de Microelectrónica de Sevilla
14
Centro Nacional de Microelectrónica
Área de CAD
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:
Instituto de Microelectrónica de Sevilla
15
Centro Nacional de Microelectrónica
Área de CAD
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:
Instituto de Microelectrónica de Sevilla
16
Centro Nacional de Microelectrónica
Área de CAD
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
Instituto de Microelectrónica de Sevilla
17
Centro Nacional de Microelectrónica
Área de CAD
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”, lla maremos 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
Instituto de Microelectrónica de Sevilla
18
Centro Nacional de Microelectrónica
Área de CAD
(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.
Instituto de Microelectrónica de Sevilla
19
Centro Nacional de Microelectrónica
Área de CAD
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:
Instituto de Microelectrónica de Sevilla
20
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
21
Centro Nacional de Microelectrónica
Área de CAD
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ógicame nte, 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.
Instituto de Microelectrónica de Sevilla
22
Centro Nacional de Microelectrónica
Área de CAD
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:
Instituto de Microelectrónica de Sevilla
23
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
24
Centro Nacional de Microelectrónica
Área de CAD
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:
Instituto de Microelectrónica de Sevilla
25
Centro Nacional de Microelectrónica
Área de CAD
Figura 29: Parámetros de la fuente vsin
Si ahora lanzamos la simulación (Simulation - > Netlist and Run) veremos los siguientes
resultados:
Instituto de Microelectrónica de Sevilla
26
Centro Nacional de Microelectrónica
Área de CAD
Figura 30: Formas de onda para la segunda simulación
Instituto de Microelectrónica de Sevilla
27
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
28
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
29
Centro Nacional de Microelectrónica
Área de CAD
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 comp leta 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
Instituto de Microelectrónica de Sevilla
30
Centro Nacional de Microelectrónica
Área de CAD
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.
Instituto de Microelectrónica de Sevilla
31
Centro Nacional de Microelectrónica
Área de CAD
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
Instituto de Microelectrónica de Sevilla
32
Descargar