0% encontró este documento útil (0 votos)
13 vistas121 páginas

Problemas al Cargar wplace

Cargado por

Byron Tarabata
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas121 páginas

Problemas al Cargar wplace

Cargado por

Byron Tarabata
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

Colegio de Ciencias e Ingeniería

Guía de Diseño Analógico utilizando herramientas Open Source

(Xschem, Magic)

IMNE 2023
1

Tabla de Contenido

1 Descarga de Xschem y Magic ................................................................................................3


1.1 Prerrequisitos......................................................................................................................3
1.3 Install MAGIC ......................................................................................................................9
1.3 Install Open PDK .............................................................................................................. 13
1.4 Install SKY130 ................................................................................................................... 17
1.5 Install ngspice .................................................................................................................. 19
1.6 Install gaw ........................................................................................................................ 20
1.7 Install Xschem .................................................................................................................. 27
2 Creacion de un inversor en Xschem ................................................................................... 47
2.1 Como abrir Xschem.......................................................................................................... 47
2.2 Lista de Comandos Xschem ............................................................................................. 49
2.3 Creación del Inverter ....................................................................................................... 49
2.4 Creación del Símbolo ....................................................................................................... 56
2.5 Creación del Testbench .................................................................................................... 63
2.6 Simulación y Resultados .................................................................................................. 64
3 MAGIC ............................................................................................................................... 67
3.1 Simulación y Resultados .................................................................................................. 67
3.2 Comandos en MAGIC ....................................................................................................... 72
3.3 Pasos para el inverter ...................................................................................................... 74
3.3.1 Transistor NMOS ....................................................................................................... 76
3.3.2 Transistor PMOS ........................................................................................................ 93
3.4 Unión de los dos transistores ........................................................................................ 111
4 Referencias ........................................................................................................................ 120
1

1 Descarga de Xschem y Magic


1.1 Prerrequisitos

Figura No. 1: Descargar git.

Para empezar con el tutorial lo primero que se debe hacer es descargar git. Para esto se

debe abrir la terminal y escribir sudo apt install git.


1

Figura No. 2

Seguidamente se debe escribir: sudo apt update && sudo apt install m4 tcsh csh libx11-

dev tcl-dev tk-dev libcairo2-dev libncurses-dev libglu1-mesa-dev freeglut3-dev mesa-common-

dev.
1

Figura No. 3

Para continuar con la descargar se debe escribir “Y” de Yes.


1

Figura No. 4

Luego hacer Enter hasta que se visualice “non of the above”.

Figura No. 5
1

En este caso, escribir el número 33.

Figura No. 6

Se debe ignorar el comando: Open software – properties – gtk y se debe colocar: Sudo

apt install libgtk-3-dev build-essential.


1

Figura No. 7:

Figura No. 8:

Nuevamente se debe escribir “Y” de Yes.


1

Figura No. 9:

Y volver a escribir el número 33.

1.3 Install MAGIC


1

Figura No. 10:

A continuación, se debe colocar lo siguiente: git clone

[Link]
1

Figura No. 11:

Y luego escribir: cd magic.

Figura No. 12

Seguidamente colocar lo siguiente: sudo ./configure


1

Figuta No. 13

Después, se debe escribir: sudo make

Figura No. 14

Luego, para poder proseguir con la instalación de magic se debe escribir: sudo make install.
1

Finalmente, se encuentra instalado magic.

1.3 Install Open PDK

Figura No. 15

Se utiliza el siguiente comando para salir de la carpeta de magic: cd ˜.

Adicionalmente, el siguiente apartado es para realizar la instalación de open_pdks.


1

Figura No. 16

Solo se debe seleccionar uno de estos links:

• git clone [Link]

• git clone git://[Link]/open_pdks

Figura No. 17
1

Y para abrir la carpeta, se debe escribir: open_pdks.

Figura No. 18

Se debe descargar sky130 que se refiere a la tecnología de 130 nm para diseñar circuitos

integrados.
1

Figura No. 19

Colocar el comando: sudo make. Este comando tardará varios minutos. Se recomienda

tener paciencia.
1

Figura No. 20

Después, se coloca: sudo make install.

1.4 Install SKY130


A continuación, se instalará sky 130:

Figura No. 21
1

Escribir: cd sky 130 y sudo make.

Figura No. 22

Y nuevamente, escribir: sudo make install.


1

Figura No. 23

1.5 Install ngspice


Se debe utilizar el siguiente link para magic:

sudo ln -s /usr/local/share/pdk/sky130A/[Link]/magic/* /usr/local/lib/magic/sys/

Figura No. 24

Luego, colocar: sudo apt install ngspice.


1

Figura No. 25

Por consiguiente, se debe seleccionar el número 32 del listado que se despliega.

1.6 Install gaw


1

Figura No. 26

Y colocar:

wget [Link]

Figura No. 27

También se debe escribir: tar -xf [Link]


1

Figura No. 28

Y luego, colocar: cd gaw3-20200922


1

Figura No. 29

Seguidamente, se debe escribir: ./configure.

Figura No. 30

Y escribir el comando: make -j$(nproc)


1

Figura No. 31

Para seguir, se necesita escribir el comando anteriormente utilizado: sudo make install

Figura No. 32
1

Luego, se debe escribir:gaw

Figura No. 33

Y se despliega la ventana perteneciente a gaw. Por consiguiente, se procede a cerrar la

ventana de gaw.
1

Figura No. 34

Se coloca: gedit ~/.gaw/gawrc


1

Figura No. 35

1.7 Install Xschem


Se procede a abrir *gawrc, en este se debe ir a la línea 73 donde se encuentra

up_listenPort = 0 a up_listenPort 2020. Una vez hecho el cambio se guarda el archivo.


1

Figura No. 36

Se sale de la carpeta.

Figura No. 37
1

Para continuar se necesita installar también la aplicación Xchem. Por lo que se coloca:

sudo apt build-dep xschem

Figura No. 38

Luego, se escribe:

git clone [Link] xschem-src


1

Figura No. 39

Se utiliza el comando: cd xschem-src

Figura No. 40
1

Y se coloca:./configure.

Sin embargo, aparece el siguiente error: Node parsgen/flex/presents is required but provided

detection callback fails to find that feature on that system.

Figura No. 41

Aparece nuevamente el mismo error.


1

Figura No. 42

Se procede a escribir sudo apt-get install flex

Figura No. 43
1

Y se escribe una vez más “Y” de Yes.

Figura No. 44

Se escoge el número 32 de la lista que se despliega.


1

Figura No. 45

Y se coloca: sudo make.

Figura No. 46
1

Para continuar, se utiliza el comando: sudo make install.

Figura No. 47

Y tal como se ha realizado antes se escribe: ./configure

Figura No. 48
1

Se muestra el siguiente error: Node parsgen/bison/presents is required but provided

detection callback fails to find that feature on that system.

Figura No. 49

Para solucionar el error, se debe colocar: sudo apt-get install bison


1

Figura No. 50

Nuevamente se escribe el número 32.

Figura No. 51.


1

Se vuelve a escribir ./configure y se visualiza el siguiente error: Node libs/gui/xpm/* is

required but provided detection callback fails to find th at feature on that system.

Figura No. 52

Para solucionar, se debe escribir: sudo apt install libxpm-dev


1

Figura No. 53

Escribir el número 32.

Figura No. 54

Volver a colocar: ./configure


1

Figura No. 55

Se escribe: sudo make

Figura No. 56
1

Para seguir con la instalación se escribe: sudo make install

Figura No. 57

Se coloca: cd~

Figura No. 58
1

Se escribe lo siguiente:

sudo install -o $USER -d /usr/local/share/{sky130_fd_pr,xschem_sky130}

Figura No. 59

Después, se coloca:

git clone [Link]

/usr/local/share/sky130_fd_pr
1

Figura No. 60

Seguidamente, se escribe:

git clone [Link] /usr/local/share/xschem_sky130

mkdir xschem_schematics
1

Figura No. 61

Luego, se debe escribir: touch xschemrc

Figura No. 62

Y colocar: gedit xschemrc


1

Figura No. 63

Una vez colocado el comando mencionado anteriormente, se debe abrir la pestaña

observada en la figura 63. No se debe cerrar esta pestaña.


1

Figura No. 64

Se deben escribir los siguientes comandos dentro de la pestaña, tal como se observa en la

figura 64:

set XSCHEM_LIBRARY_PATH {}

append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library

append XSCHEM_LIBRARY_PATH :/usr/local/share/xschem_sky130

Luego se presiona el botón Save y se procede a cerrar la pestaña.

Figura No. 65
1

El archivo generado se guardará en el path donde se encuentre el file xschemrc. En este

caso, la ubicación de este archivo es la pestaña Home. Luego, se hace click derecho en la pestaña

y se presiona la opción Open in Terminal, tal como se observa en la figura 66.

Figura No. 66

2 Creacion de un inversor en Xschem


2.1 Como abrir Xschem

Una vez abierto el terminal, se debe escribir el comando xschem para abrir el programa.
1

Figura No. 67

Después de realizar esta acción, se debe abrir la pantalla principal del programa, tal como

se observa en la figura 68.


1

Figura No. 68

2.2 Lista de Comandos Xschem

Tecla Acción
W Place Wire
U Undo
Shift + R Rotate
A Create Symbol
P Create Figure Line
M Move Part
Z Zoom
Shift + Z Zoom Out
Tabla 1: Lista de comandos útiles en Xschem.

2.3 Creación del Inverter

Se puede observar la barra de herramientas en la parte superior de la pestaña. Con el

objetivo de empezar el diseño del inverter, se empieza colocando los componentes necesarios.

Para ello, se selecciona la opción Insert Symbol. Este botón se puede observar en la figura 69.

Figura No. 69

Una vez seleccionado el botón, se debe abrir la pestaña observada en la figura 70. Dentro

de esta pestaña se nos despliegan dos opciones. La primera corresponde a la librería

predeterminada de Xschem donde encontraremos la mayoría de los componentes electrónicos


1

básicos. Por otro lado, la segunda opción contiene los componentes correspondientes a la

tecnología SKY de 130nm.

Figura No. 70

Al seleccionar la librería sky130 se despliegan las opciones que se visualizan en la figura

70. Se procede a seleccionar la opción sky130_fd_pr.


1

Figura No. 71

Figura No. 72.


1

Una vez seleccionada la opción sky_130_fd_pr, se despliegan los siguientes

componentes. En este caso se selecciona el pfet_01v8.sym.

Figura No. 73.

Se pone pin/wire label y se selecciona la opción devices.


1

Figura No. 74.

En el apartado de devices, se busca el archivo [Link]. Este es un label que indicará que

el elemento será output.

Figura No. 75.


1

De igual manera, en el apartado de devices, se busca el archivo [Link]. Este es un label

que indicará que el elemento será input.

Figura No. 76.

De igual forma en el apartado de devices, se encuentra el archivo [Link]. Este archivo

es un label que funciona como si fuera input u output.


1

Figura No. 77.

En la siguiente figura se puede apreciar un esquemático sin ningún label.


1

Figura No. 78.

Al momento de clickear el label, se despliega la siguiente ventana. En el apartado de lab

se debe colocar el nombre de la entrada, en este caso la entrada va a ser A.

2.4 Creación del Símbolo


Luego, se presiona la tecla A para crear el símbolo jerárquico del dispositivo.

Figura No. 79.


1

Una vez realizado el cambio, se muestra el siguiente recuadro donde se debe seleccionar

la opción OK.

Seguidamente, se vuelve al tool bar, donde se selecciona la opción file.

Figura No. 80.

Cuando se aplasta file, se debe seleccionar open.


1

Figura No. 81.

Se despliega la ventana Load file y se selecciona el recuadro Current directory.

Figura No. 82.


1

En ese apartado se busca el archivo [Link]. Una vez se selecciona ese archivo, se

verá la siguiente imagen:

Figura No. 83.

Figura No. 84.

Después de tener el bloque de la Figura No. 83, se prosigue a ir al tool bar, en la parte de

figuras, se selecciona la opción “insert circle”. Esto será para el símbolo del inverter.
1

Figura No. 85.

Después de añadir el circulo se obtiene el símbolo del inverter. Este símbolo se lo debe

guardar. A continuación, se procede a realizar el testbench para lo que se se crea un nuevo

workspace. Para crear un nuevo workspace, se hace click en el recuadro con el símbolo + al lado

del recuadro que tiene el nombre del símbolo.


1

Figura No. 86.

En el nuevo workspace se coloca el símbolo del inverter, después se dirige nuevamente a

insert symbol y se selecciona el recuadro home.

Figura No. 87.

Se dirigen a la primera librería.


1

Figura No. 88.

En la librería se busca source y se utiliza el archivo [Link].

Figura No. 89.

De igual forma, en el mismo directorio se busca gnd y se utiliza el archivo [Link].


1

Figura No. 90.

2.5 Creación del Testbench


En la misma carpeta se busca el archivo lab_pin.sym.

Figura No. 91.


1

De igual manera, se busca el archivo code_shown.sym. Una vez hecho esto obtenemos el

siguiente recuadro:

Figura No. 92.

Se hace click en el siguiente recuadro y se escribe lo siguiente:

name=SPICE only_toplevel=false value=".lib

/usr/local/share/sky130_fd_pr/models/[Link] tt

.tran 0.1n 1u

.save all"

Figura No. 93.

2.6 Simulación y Resultados


1

En la Figura No. 93, se puede observar el esquemático con todos los elementos antes

mencionados.

Figura No. 94.

Se regresa al apartado de tool bar donde se selecciona el recaudro simulation, en la cual

se desplegan las siguientes opciones y seleccionar la opción de “Configure simulators and tools”.

Figura No. 95.


1

Después de seleccionar la opción “Configure simulators and tools”, se selecciona el

recuadro “Ngspice Batch”. Luego clickear la opción “accept and close”. Luego, se regresa al tool

bar para seleccionar netlist y seguidamente simulate.

Figura No. 96.

Se despliega la siguiente ventana y se clikea la opción “Dismiss”.

Figura No. 97.


1

Posteriormente, se realiza el apartado de waves y se despliega la siguiente ventana. En

esta se colocará las entradas y salidas. En nuestro caso son: v(y) y v(net1).

Figura No. 98.

Una vez colocados las entradas y salidas se obtiene lo siguiente.

3 MAGIC
Magic es un sofware dedicado a la creación y modificación de circuitos VLSI (layouts).

La singularidad del programa es que este distingue por comprender, de cierta manera, la

naturaleza del circuito y aprovechando esta ventaja para ofrecer funciones adicionales. Por

ejemplo, en este programa existe las reglas de diseño DRC, lo que te permite verificar las

posibles violaciones ante los parámetros de diseño estipulado por los fabricantes. Por otro lado,

tiene una función de comprobar conectividad y jerarquía como lo veremos más adelante.

3.1 Simulación y Resultados


Para comenzar, es necesario determinar sobre que tecnología se va a trabajar, para ello nos

dirigimos a home y se selecciona la carpeta “open_pdks”.


1

Figura No. 99.

Para nuestro caso, es de nuestro interés trabajar con la tecnología sky130, en caso de

requerir otro tipo de tecnología es necesario descargar la capeta correspondiente que permita la

ejecución de la tecnología adecuada.

Figura No. 100.

Dentro del directorio denominado sky130, se encuentran diversas opciones, y en esta

situación específica, se opta por la selección de la carpeta sky130A.


1

Figura No. 101.

Después de ingresar a la carpeta sky130A se procede a abrir la carpeta [Link] y se

revelan las opciones y configuraciones específicas disponibles en ese contexto para tener acceso

a los archivos de la librería.

Figura No. 102.


1

Al examinar las opciones disponibles, se evidencia la presencia de varios programas para

la generación de layouts, tales como Klayaout. En esta instancia particular, la elección recae en la

carpeta de Magic como la opción seleccionada para llevar a cabo las tareas pertinentes.

Figura No. 103.

Al explorar la carpeta de Magic, se procede a la búsqueda específica del archivo

denominado [Link]. Este archivo será el punto de referencia que utilizaremos para

acceder a la configuración tecnológica necesaria para utilizar Magic de manera adecuada.


1

Figura No. 104.

En el terminal, se introduce el comando "magic -rcfile", indicando la ejecución del

archivo previamente localizado. Es imperativo especificar la ubicación precisa de este archivo,

para lo cual se copia la ruta exacta del mismo, como se detalla a continuación y se presiona

enter:
1

Figura No. 105.

Una vez que se presiona la tecla Enter, la terminal mostrará la interfaz correspondiente,

como se ilustra en la Figura No. 106. Es fundamental verificar que en la parte superior se indique

claramente "sky130A". Es relevante destacar que el término DRC se refiere a los errores

presentes en el diseño del layout, por lo que es necesario tener en cuenta esta información para la

correcta interpretación de la interfaz y la identificación de posibles problemas en el diseño.

Figura No. 106.

3.2 Comandos en MAGIC


• Click izquierdo (esquina inferior izquierda) / click derecho (esquina superior derecha).

• b box dimensions macro, también sirve :box

• Paint “material” (sirve para rellenar el área seleccionada con el material seleccionado)

• Otra manera de seleccionar el material es utilizando el botón central del mouse (rueda).
1

• Click derecho sobre el material en la barra de materiales esconde el material

seleccionado.

• Click izquierdo sobre el material en la barra de materiales muestra el material

seleccionado.

• box size (permite determinar la dimensión de un box, se lo escribe con dimensiones)

• :grid 0.05um 0.05um

• :grid muestra/oculta líneas de la grilla

• :snap user fija el valor de recorte de la grilla

• :drc style drc(full) revisa las reglas de diseño activadas

• z zoom in

• shift Z zoom out

• ctrl z zoom a la caja

• arrow keys navegar el plano

• :paint -material- pinta el material en cuestión dentro de la caja

• mouse wheel click pintar

• :drc why Explicación de la violación de DRC en la caja

• :erase -material- borra el material en cuestión, de no poner uno borra todo dentro de la

caja

• s selecciona toda la celda en sí

• :select area selecciona la geometría dentro de la caja

• “.” repite la última acción hecha en consola

• u deshacer última acción


1

• :label -dirección-dist-material

• :port remove borra el puerto dentro de la caja

• :erase label borra la etiqueta dentro de la caja

• x revela contenido de la celda invocada (sirve para cargar el layout cuando vuelves a

abrir magic)

• shift X oculta contenido de la celda

• :save guarda la celda

• :extract all extrae todos los nmos, pmos y parasíticos presentes

• :ext2spice hierarchy on configura a que considere la jerarquía de celdas

• :ext2spice scale off configura a que no escale automáticamente las celdas

• :ext2spice subcircuit off configura a que no fije el circuito tope a subcircuito

• :ext2spice convierte la extracción a un archivo .spice

3.3 Pasos para el inverter


En esta parte, es esencial prestar atención a las dimensiones de los transistores NMOS y

PMOS, las cuales se expresan mediante la notación fraccional 1/0.15. En este contexto, el valor

"1" corresponde al ancho (W) del transistor, mientras que "0.15" se refiere a su longitud (L). Esta

representación numérica específica, conocida como la relación W/L, proporciona información

crucial sobre las proporciones geométricas de los transistores.


1

Figura No. 107.

En la barra de herramientas (tool bar), se realiza la navegación hacia la sección de

"Devices 1". En este espacio, se despliegan diversas opciones entre las cuales se elige la

categoría de "nmos" (MOSFET) para su selección permitiendo incorporar elementos específicos

según la función requerida.


1

Figura No. 108.

3.3.1 Transistor NMOS


A continuación, se presenta un cuadro de configuración específico para el transistor

"NMOS". En esta sección, se detallan parámetros esenciales como el ancho, la longitud y los

"fingers". Es importante notar que, por defecto, la mayoría de las casillas están marcadas. La

opción "overlaps" se emplea cuando se tiene un transistor con dos o más "fingers", facilitando la

superposición entre ellos. Las configuraciones relacionadas con "contacts" están diseñadas para

generar contactos específicos para cada compuerta del transistor. Por otro lado, las opciones de

"ring" se utilizan comúnmente para permitir un acceso más conveniente a los voltajes de

polarización. En este caso, decidimos que solo necesitamos el transitor como tal.
1

Figura No. 109.

Obtenemos el siguiente resultado, a continuación, se inicia haciendo clic izquierdo en la

esquina inferior del área deseada y, a continuación, se efectúa un clic derecho en la esquina

superior correspondiente.
1

Figura No. 110.

Dentro del comand windows, se ponen los códigos “select area” y “copy” para

seleccionar al transitor, copiarlo y pegarlo en otra ubicación diferente. Otra manera de hacerlo es

una vez tenemos el recuadro de la figura 110 se presiona la tecla “s” y luego control + “a”,

control + “v”.

Figura No. 111.


1

Como observamos en la figura 112, el resultado de estos comandos nos permite duplicar

el transistor sin tener que crearlo nuevamente desde cero y configurar nuevamente sus

parámetros.

Figura No. 112.

En el caso de no necesitar un componente, se debe colocar el cursor en el borde superior

del transistor y presionar la tecla I y observamos la dirección del transistor seleccionado.


1

Figura No. 113.

En la sección de "tkcon 2.3 Main", se procede a ingresar el comando "delete". Al ejecutar

este comando, se logra la eliminación del transistor que previamente fue copiado. Esta acción

resulta fundamental para realizar ajustes en el diseño del circuito, permitiendo una manipulación

dinámica y eficiente de los elementos presentes.

Figura No. 114.

Como podemos observar en la figura 115 se ha eliminado el transistor que habíamos

duplicado con anterioridad. Ahora bien, seleccionamos un recuadro más grande que el transistor

y dado a que es un MOSFET tipo N, escribimos en el comand windows lo que se puede apreciar

en la figura 116.
1

Figura No. 115.

El siguiente paso implica el uso del comando "paint", que tiene la función de rellenar el

área seleccionada con un elemento específico disponible en la paleta ubicada a la derecha.

Después de ingresar el comando "paint", se elige el elemento deseado, en este caso, "pwell". La

selección de "pwell" es fundamental, ya que representa el sustrato necesario para el correcto

funcionamiento del transistor en cuestión.

Figura No. 116.


1

El resultado obtenido de la ejecución del código mostrado en la figura anterior se puede

apreciar en la figura 117; en este caso, se observa un sustrato de color naranja tenue el cual

representa el bulk del transistor.

Figura No. 117.

Es de nuestro interés realizar un anillo para poder alimentar a los transistores, para ello es

necesario generar un recuadro al rededor del transistor el cual lo empezaremos a rellanar con un

material llamado “ptap” usando el comando paint. Una forma fácil de mantener las medidas que

deseamos es mediante el comando box size.

Figura No. 118.


1

El resultado obtenido por el código de la figura 118 es el siguiente:

Figura No. 119.

En esta fase, nuestro objetivo es encapsular completamente el transistor tipo N con un

cuadro, tal como se ilustra en la Figura 120. Se sugiere la práctica de organizar transistores tipo P

en un lado y los tipos N en otro, especialmente al trabajar en diseños de layouts más extensos.

Esta recomendación se basa en la facilidad de acceso a las fuentes de alimentación VDD y VEE

mediante anillos específicos. Adoptar esta organización facilita la disposición estratégica de los

componentes y contribuye a una gestión eficiente de las conexiones de alimentación en el diseño

del circuito.
1

Figura No. 120.

Sin embargo, para lograr conseguir los rings es necesario otra capa más, para ello nos

dirigimos nuevamente al comand windows y, encima del marco creado anteriormente,

utilizamos nuevamente “paint li” para colocar otra capa encima de la anterior, como se puede

apreciar en la figura 122.

Figura No. 121.

En la figura a continuación se presenta como debe quedar el layout después de la

implementación del código de la figura anterior.


1

Figura No. 122.

Ahora bien, es necesario que el ring tenga contactos que serán conectados a VDD o VEE

dependiendo del caso requerido. Para poder establecer las conexiones con metales se utiliza el

código “paint ptapc”.

Figura No. 123.

En la figura 124 se observa el resultado de implementar los contactos. Pueden ser de esta

dimensión o pueden ser externos a los ring pero conectados directamente al mismo. Esto

depende de la necesitada y de la forma que se desee implementar el layout.


1

Figura No. 124.

Para poder colocar un metal, se debe usar el código “paint polysilicon”, debido a que ese

es el material para el gate que se encuentra en el centro del transistor. El cual es Silicio.

Figura No. 125.

Para realizar las conexiones correspondientes es común utilizar metales o polisilicio. Si

las conexiones son cortas se utiliza el polisilio, sin embargo, si las conexiones son extensas es

preferible conectarlo mediante metales.


1

Figura No. 126.

Para colocar el metal 1 nos dirigimos al comand windows y escribimos “paint m1”.

Figura No. 127.

El metal m1 debe ser más grande que el contacto para que funcione de la manera

adecuada. Esto se ve reflejado en la siguiente Figura:


1

Figura No. 128.

A continuación, se creará un cuadrado de polysilicon, el cual tendrá la función de realizar

las conexiones:

Figura No. 129.

Es necesario seleccionar el área donde se va a colocar el metal 1. Esto se lo puede ver

descrito en la figura a continuación:


1

Figura No. 130.

Se escribe el comando “paint polysilicon”. Después, se podrá observar el siguiente resultado:

Figura No. 131.


1

Figura No. 132.

Para entablar las conexiones se realiza el contacto. Por ello, se usa “paint contact”.

Figura No. 133.

Siguiendo el mismo proceso explicado anteriormente, se escribe lo siguiente:


1

Figura No. 134.

Una vez escrito eso, se obtiene la siguiente figura:

Figura No. 135.

Se debe añadir el metal 1 (m1) de la siguiente manera como esta descrito en la figura.
1

Figura No. 138.

Al momento de ingresar los comandos que se puede evidenciar en la figura anterior, se

obtuvo el resultado de la figura 139

Figura No. 139.


1

Figura No. 140.

Para guardar se debe utilizar el comando save y colocar un nombre distinto al utilizado

anteriormente.

Una vez guardado se puede apreciar el siguiente resultado:

Figura No. 141.

3.3.2 Transistor PMOS


En estos momentos se procederá a realizar el proceso para pmos:
1

Figura No. 142.

En el tool bar, se selecciona el recuadro Devices 1, donde se debe seleccionar la opción

pmos (MOSFET).
1

Figura No. 143.

Se dejan los mismos parámetros y se deselecciona todo lo marcado como en el caso del

nmos.
1

Figura No. 142.

Se selecciona la herramienta "Select Area" y se crea un cuadro de selección alrededor de

la información que se desea copiar, para esto se hace click izquierdo en una esquina. Verifica la

selección y, a continuación, utiliza el comando "Copy", generalmente representado por un ícono

de tijeras o documentos duplicados. Puedes pegar la copia en otra parte del proyecto o en una

aplicación externa usando el comando "Paste".

Figura No. 143.

Para colocar el "nwell" en Magic, se emplea el comando "paint nwell". Al ejecutar este

comando, se logra la incorporación del "nwell" en la ubicación deseada. En este caso se consigue

lo descrito en la figura 144:


1

Figura No. 144.

Figura No. 145.

Dado que estamos trabajando con un transistor NMOS, es necesario incorporar un anillo

utilizando el comando "paint ntap". Al emplear esta instrucción, se genera el anillo necesario
1

para el NMOS. Este paso es fundamental al trabajar con componentes específicos como NMOS

en Magic, contribuyendo a la correcta implementación y disposición de elementos en este

proyecto.

Figura No. 146.

El siguiente paso sería utiliza el comando "paint li" para colocar líneas en la disposición

del diseño. Al ejecutar este comando, se logra la creación de líneas según los parámetros

especificados, contribuyendo a la configuración visual del proyecto. El comando “paint lli”

permite realizar la primera etapa que sería el metal y se obtiene la siguiente figura:
1

Figura No. 147.

Figura No. 158.

Para incorporar contactos en el diseño, se emplea el comando "paint ntapc". Al ejecutar

esta instrucción, se visualiza la siguiente imagen, que representa la disposición de los contactos

según los parámetros especificados.

Figura No. 151.


1

Después de completar la colocación de contactos con el comando "paint ntapc", el

siguiente paso consistirá en aplicar o poner la capa de metal 1. Este paso es esencial para la

creación de conexiones eléctricas en el diseño. Se utiliza el comando correspondiente, que es

“paint m1”, esto se observa en la figura 152.

Figura No. 152.

Una vez colocado el comando “paint m1”, se podrá apreciar la Figura No. 153:

Figura No. 153.


1

Figura No. 154.

Para establecer la conexión entre la capa de metal 1 y otros elementos del diseño, es

necesario colocar una vía. Este proceso se realiza mediante el comando "paint viali". Al ejecutar

este comando, se crea una vía que permite la conexión eléctrica entre el metal 1 y otros

componentes del circuito. A continuación, se puede ver la conexión entre la vía y el metal:

Figura No. 155.


1

Después de establecer la conexión con la capa de metal 1 mediante el uso de vías, el

siguiente paso implica la creación de un cuadrado con polysilicon. Esto se puede lograr mediante

el comando correspondiente, que es “paint polysilicon”:

Figura No. 156.

Al ejecutar este comando, se generará un cuadrado de polysilicon en el área deseada del

diseño. En la Figura No. 156, se observa la aplicación de los comandos "select area", "paint

nwell", y "paint polysilicon". Estos pasos se llevan a cabo para lograr la configuración deseada

en el diseño. Primeramente, se utiliza "select area" para definir y delimitar una región específica.

Luego, se aplica "paint nwell" para establecer el nwell en esa área particular. Posteriormente, se

utiliza "paint polysilicon" para crear una estructura de polysilicon dentro de la región designada.

Con esto se obtiene lo siguiente:


1

Figura No. 157.

Figura No. 158.

Para incorporar el contacto necesario en el diseño, se emplea el comando "paint

pcontact". Al ejecutar este comando, se visualiza la figura resultante, que representa la adición

del contacto en la ubicación especificada.


1

Figura No. 159.

Figura No. 160.

Para establecer las conexiones con la capa de metal 1, se utilizan los comandos ya

mencionados anteriormente. Primero, se aplica "paint li" para crear las líneas, seguido por "paint

viali" para colocar las vías y asegurar conexiones verticales. Luego, se emplea "paint m1" para

añadir la capa de metal 1 y finalmente se utiliza nuevamente "paint viali" para garantizar
1

conexiones adicionales. La figura resultante muestra la disposición y configuración de estas

conexiones.

Figura No. 161.

Después de completar el proceso descrito, se logra la formación del transistor PMOS. Al

realizar un zoom out en la visualización, se obtiene una perspectiva más amplia que permite

apreciar el PMOS en el contexto general del diseño. La figura resultante muestra la disposición y

la conexión del transistor PMOS:


1

Figura No. 162.

Luego del proceso descrito, se presenta la disposición conjunta de los dos transistores.

Esta vista conjunta muestra la relación y la interconexión entre el NMOS y el PMOS en el

diseño. La visualización permite observar la disposición relativa de ambos transistores en el

contexto del circuito general.


1

Figura No. 163.

Para establecer la conexión entre el transistor PMOS y el transistor NMOS, se seguirá un

proceso específico, este se muestre a continuación:

Figura No. 164.

Para integrar la capa de metal 2 (M2) en el área del cuadrado de polysilicon, se emplea el

comando "paint m2". La visualización resultante mostrará la disposición final después de aplicar

el comando "paint m2".


1

Figura No. 165.

Figura No. 166.

Se utilizan los comandos secuenciales mencionados anteriormente, estos permiten

manipular la disposición de elementos en el diseño. Se inicia con el comando "select area" para

delimitar una región específica, seguido por "paint polysilicon" para colocar polysilicon en esa

área. Luego, se utilizan los comandos "paint li" y "paint polysilicon" de nuevo para añadir líneas

y polysilicon adicionales, [Link], se emplea el comando "paint m2contact"

para incluir contactos en la capa de metal 2 (M2). Con estos comandos se pudo obtener la Figura
1

No. 167.

Figura No. 167.

Cuando se identifica un error en el diseño, se puede optar por ignorarlo temporalmente

con la intención de corregirlo en etapas posteriores. En este caso, se reconoce la existencia de un

error, pero se decide continuar con el proceso y abordarlo más adelante. Este enfoque se toma

con la anticipación de que el error será corregido en la siguiente etapa del diseño.

Es común adoptar esta estrategia para no detener por completo el flujo de trabajo y permitir la

continuidad en otras áreas del diseño. En la siguiente figura, se mostrará cómo corregir el error

identificado previamente.
1

Figura No. 168.

Cuando se aplican los comandos de la Figura No. 168, se logra obtener la imagen

resultante sin ningún error aparente. Este proceso demuestra la efectividad de los comandos

utilizados para corregir o modificar la disposición del diseño, eliminando el problema que se

identificó previamente. La figura obtenida refleja una representación precisa y libre de errores

después de la aplicación de dichos comandos.

Figura No. 169.


1

3.4 Unión de los dos transistores

Figura No. 170.

Para conectar el source, se procede a seleccionar el área marcada en la Figura No. 170.

Esto implica utilizar el comando "select area" para delimitar la región específica que corresponde

al source.
1

Figura No. 171.

En la Figura No. 171, se observa que para conectar el source se utiliza el comando "paint

m2". Este comando específico se emplea para aplicar la capa de metal 2 (M2) en la región

correspondiente al source del componente. Al hacerlo, se establece la conexión eléctrica

necesaria para el source mediante esta capa de metal.

Figura No. 172.

Es esencial tener en cuenta que, en el caso del transistor PMOS, se recomienda aumentar

el área de la capa de metal 1. Esto se realiza con el fin de prevenir posibles errores al colocar la
1

vía 2 (m2contact) y la capa de metal 2 (m2). Al realizar este ajuste, se logra una configuración

que asegura una conexión sin inconvenientes y se obtiene la siguiente figura:

Figura No. 173.

Figura No. 174.

Se debe tomar en cuenta que se debe ir probando de poco en poco la variedad en las

medidas.
1

Figura No. 175.

En este caso, se identifica un error, ya que la capa de metal 2 no está posicionada

correctamente encima.

Figura No. 176.

Se utilizan los comandos que se encuentran en la Figura No. 176 para tratar de solucionar

el error y se obtiene lo siguiente:


1

Figura No. 177.

En este caso, se produce un error debido a que el tamaño del metal 1 es inferior al del

metal 2. Al corregir este error, se obtiene la siguiente figura:

Figura No. 178.


1

Es crucial repetir el mismo proceso descrito anteriormente para el caso del transistor

NMOS. Al realizar estos pasos específicos, se logrará la correcta configuración y conexión de los

componentes necesarios. Al completar este proceso, se obtendrá el diseño deseado, reflejado en

la siguiente figura:

Figura No. 179.


1

Figura No. 180.

Es necesario establecer la conexión entre los drains de cada transistor, ubicados en el lado

derecho. A continuación, se presenta la representación visual de esta conexión, garantizando así

la interconexión adecuada de los componentes en el diseño. Este paso es crucial para el

funcionamiento integral del circuito y se refleja en la figura adjunta:


1

Figura No. 181.

Figura No. 182.

En la Figura No. 182, se presentan los comandos específicos utilizados para facilitar la

conexión del source. Estos comandos son esenciales para establecer las conexiones eléctricas

requeridas en la región del source.


1

Figura No. 183.

Para la alimentación VDD, se utiliza la capa de metal 1, como se muestra en la Figura

No. 183.

Figura No. 184.


1

En la Figura No. 184, se evidencia que la conexión superior corresponde a VDD,

mientras que la conexión inferior está asociada a GND. De manera análoga, se debe seguir el

mismo proceso utilizando la capa de metal 2 para lograr la configuración deseada, como se

muestra en la siguiente figura:

Figura No. 185.

En la Figura No. 185, se observa que en el entorno del software xschem, la entrada

identificada como "A" se encuentra en el bucle izquierdo, mientras que en el lado derecho se

aprecia que corresponde a "Y". Este detalle visualiza la asignación de nombres de entrada,

facilitando una comprensión rápida de la configuración del circuito en xschem.

4 Referencias
Para la instalación de Ubuntu refierase al siguiente link:
[Link]

Para la instalación de Xschem y Magic refierase a los siguientes links:


1

[Link]
[Link]

Links complementarios:
[Link]
[Link]
[Link]

También podría gustarte