Aquí hay un vistazo general de la interfaz de usuario de SiliWiz:
Escoge la capa (layer) en la cual vas a dibujar al dar clic en la paleta. Para el final del curso ya sabrás qué es cada capa y qué rol cumple en la construcción de una compuerta lógica.
Ve al sitio web de SiliWiz, selecciona la capa polyres (poliresina), y finalmente dibuja la primera letra de tu nombre en el lienzo.
Cuando una fábrica desarrolla una forma de crear un chip, necesitan además compartir esa información con los diseñadores de chips - ¡ese eres tú!
Normalmente, tendrías que firmar un documento que dice que no puedes compartir la información. Con el PDK (process design kit, kit de diseño de proceso) de código abierto, no necesitas firmar ningún papeleo antes de empezar a usarlo.
Aquí se muestran las capas que son usadas para crear un chip con el proceso de Skywater 130nm (nanómetros). Un nanómetro es un millón de veces más pequeño que un milímetro, así que el punto al final de esta oración podría fácilmente tener un diámetro de un millón de nanómetros. Notar que las figuras mostradas en la imagen están en micrómetros (μm).
Un stackup es, por su traducción en inglés, una pila de capas, como la mostrada en la imagen anterior. Aquel stackup es bastante complicado, así que usaremos una más simple y hecha a la medida para SiliWiz. Ten en cuenta que un PDK real y fabricable tiene muchas más capas. El stackup de capas de SiliWiz se ve así:
Después de haber terminado nuestro diseño podremos transformar cada capa en una máscara. Una máscara permite que la luz pase a través de las áreas que coloreamos en las capas. Estas máscaras se usan en un proceso llamado fotolitografía.
La fotolitografía (Wikipedia en español) es el paso clave que nos permite tomar los patrones que creamos en una herramienta como SiliWiz y miniaturizarlos al nivel nanométrico. También nos permite colocar fácilmente el mismo diseño varias veces sobre la lámina (u “oblea”) de silicio para hacer cada chip. Nos permite utilizar una imagen preparada del chip para hacer millones de copias de manera confiable y rápida.
Algunas capas son ‘virtuales’. Por ejemplo, polyres y polysilicon son la misma capa física, pero debemos dividirla en 2 capas separadas para que la simulación sepa cuando tenemos la intención de dibujar la compuerta de un MOSFET, o dibujar una resistencia.
Ahora que hemos dibujado una forma, podemos correr la simulación y averiguar qué tan resistiva es la letra. La resistencia, o resistividad, se mide en Ohms. Una resistencia es un elemento circuital con dos puertos. Mientras mayor es la resistencia, más difícil es hacer que fluya electricidad a través de ella.
La resistencia del polisilicio es proporcional al área transversal y a la longitud.
En un PDK, no podemos controlar la altura de las capas - la fábrica ya ha decidido eso de antemano; en lugar de eso, podemos controlar el ancho y largo. Si dibujas una figura larga y delgada, va a tener más resistencia, y una figura corta y gorda va a tener una menor resistencia. Nuestra capa de poliresina (polyres) tiene una resistencia de 400 ohms (Ω) por micrómetro cuadrado (μm²). Hay 1000 micrómetros en un milímetro.
Revisa tu dibujo - ¿puedes predecir la resistencia?
Para medir la resistencia, necesitamos conectar dos partes de tu inicial a algún puerto de entrada y salida.
Solo podemos hacer puertos sobre las capas de metal1 y metal2. Si revisas el stackup, metal1 y metal22 no tocan la capa de polyres. Primero usamos una vía de metal1 para unir las capas metal1 y polyres.
Selecciona la capa metal1 via y agrega dos vías a tu inicial hecha en polyres.
Así es como se ve metal1 via desde arriba en mi letra:
Y así es como se ve en la vista de sección transversal (Cross Section View). Asegúrate de que has seleccionado la pestaña de cross section.
Arrastra el deslizador de la sección transversal para arriba y para abajo para que puedas ver las capas claramente. Si pones el cursor encima de una capa en la sección transversal, obtendrás una ventana de diálogo diciéndote el nombre de la capa.
Ahora agrega 2 contactos de metal1 encima de metal1 via. Para simular nuestro diseño, necesitamos decirle a SiliWiz que queremos que estos contactos sean los puertos de nuestro circuito. Para esto, haz clic en cada contacto de metal1, y escoge la opción ‘Set Label’, o S
en el teclado.
Establece las etiquetas in y out. Tan pronto como hayas hecho eso deberías ver la curva de simulación actualizarse. Vas a tener que cambiarte desde la pestaña de sección transversal a la de simulación.
El eje X del gráfico es tiempo en microsegundos. Hay 1.000.000 de microsegundos en un segundo. El eje Y es voltaje. El voltaje se mide en Volts (V) y es la unidad que usamos para hablar de fuerza de campo eléctrico.
Partículas que llevan carga, como los electrones, se mueven gracias a campos eléctricos. Mientras más fuerte sea el campo, mayor es el efecto que tiene sobre un electrón. Los electrones son las “piezas móviles” de las máquinas que construimos.
En este gráfico en realidad hay 2 líneas, azul para entrada y naranjo para salida. Ocurre que se encuentran justo una encima de la otra, por lo que se ve solo una línea. Intenta jugar con los deslizadores para ver cómo cambia el gráfico.
Lo que muestra el gráfico es que el voltaje de salida es el mismo que el de entrada. El voltaje de entrada está variando en el tiempo, lo cual puedes controlar con los deslizadores.
Ahora veremos otra parte de SiliWiz para determinar la resistencia de nuestro diseño de poliresina.
Marca la casilla “Show SPICE” al fondo de la página y echa un vistazo a la caja de texto. Busca una línea que diga R0 in out
seguido de algunos números. ¡Mi letra M tiene una resistencia de 5575 ohms! ¡Genial! Acabo de dibujar mi propia resistencia.
Hay muchas cosas que están ocurriendo en el archivo SPICE, pero en gran medida las vamos a ignorar en estas lecciones. SPICE es una parte importante de las herramientas de un diseñador de chips. ngspice es la herramienta de código abierto que ejecuta las simulaciones SPICE de SiliWiz. Muchas gracias a Holger Vogt por hacer una versión especial más pequeña para nosotros.
Intenta hacer que tu letra tenga mayor o menor resistencia. Aquí me tienes haciendo una resistencia muy alta:
¡Llegué a tener 37.800 ohms! ¿Puedes hacer una resistencia aún más alta?