Está en la página 1de 56

Instalación de Software para diseño

VLSI

Autor: Dr. Marco Antonio Gurrola Navarro

Alliance VLSI CAD System es un software para el diseño de sistemas digitales en


circuito integrado. Es el resultado de doce años de trabajo en el departamento SoC
del laboratorio LIP6 de la Universidad Pierre & Marie Curie, Paris VI, Francia

(https://www-soc.lip6.fr/equipe-cian/logiciels/alliance/).

Este software consiste en un conjunto de programas proyectados para usarse en en-


tonrnos académicos. El código binario, código fuente y las librerı́as de celdas están
disponibles de manera libre bajo la licencia GNU General Public License

(https://www.gnu.org/licenses/gpl-3.0.txt).

Alliance VLSI CAD System fue creado para correr en el entorno Linux. Debido a su
dificultad de instalación he creado una máquina virtual para ser ejecutada en el sis-
tema operativo Windows 10. Para poder ejecutar la máquina virtual, su compuadora
laptop o de escritorio debe contar con un procesador de 64 bits. A continuación doy
los detalles para su instalación.

1
2

I. Instalación de Oracle VM VirtualBox versión


6.0.4 r128413

Empleando una máquina virtual podemos ejecutar como “invitado” el sistema ope-
rativo Linux sin tener que abandonar del todo el sistema operativo “anfitrion”, Win-
dows.

De las distribuciones disponibles de Linux, he seleccionado “Centos 7”, por ser junto
con “RHEL” una de las más empleadas a nivel industrial en el diseño de sistemas
digitales en circuito integrado. La máquina virtual corre con el software de virtuali-
zación “Oracle VM VirtualBox”. He seleccionado este entorno de virtualización sobre
otros por ser de licencia libre GPLv2.

ADVERTENCIA: Para los fines aquı́ descritos, se recomienda NO emplear la últi-


ma versión de VirtualBox. En lugar de ello se recomienda bajar la ”Versión 6.0.4
r128413”según se explica a continuación:

El instalador para VirtualBox se baja de la siguiente liga:

https://drive.google.com/open?id=19m-NtYKOP7atIRXH6lOcEY0l8ReKjZzz

Tome en cuenta que se trata de un archivo de 209 MB, por lo que se recomienda
contar con una conexión a WiFi de banda ancha.

Copie el link anterior a cualquier navegador y presione ENTER. Aparecerá la si-


guiente pantalla. De click en Download (es posible que los mensajes se desplieguen en
español dependiendo de la configuración de su navgador). (Las siguientes imágenes
corresponden al navegador Mozilla Firefox y al sistema operativo anfitrión Windows
10. Si emplea otro navegador o sistema operativo deberá buscar botones u opciones
similares.)
3

Aparecerá un mensaje donde se le advierte que debido al tamaño del archivo, éste no
puede ser escaneado para revisar si no contiene virus. Dé click en Download anyway.

Se abrirá el siguiente cuadro de diálogo. Dé click en Guardar archivo

Iniciará la descarga. Usted puede revisar la porción del archivo que se lleva descargada
(medida en MB) al dar click en el sı́mbolo de descarga del navegador.
4

Al finalizar la descarga aparecerá el mensaje Abrir archivo. Dé click en esa opción
para poder iniciar la instalación de VirtualBox.

Aparecerá la ventana de bienvenida para la instalación de VirtualBox. Presione Next

Aparecerá la siguiente ventana. Presione Next


5

Aparecerá la siguiente ventana. Presione Next

Aparecerá la siguiente ventana donde se advierte que la conección a su red inalámbrica


se desconectará por un momento durante la instalación. Presione Yes

Aparecerá la siguiente ventana. Presione Install


6

Aparecerá el siguiente mensaje. Presione Sı́

Aparecerá la siguiente ventana indicando el progreso en la instalación.


7

Al terminar la instalación aparecerá la siguiente ventana. Presione Finish

Se abrirá la ventana del administrador de Oracle VM VirtualBox. Dejémos esta ven-


tana de administrador abierta. Regresaremos a ella más tarde.

II. Instalación de la máquina virtual de Centos 7

El instalador para VirtualBox se baja de la siguiente liga:


8

https://drive.google.com/open?id=17uk17CUZbHjY6IscTEVUYvXynwXrIqZK

Tome en cuenta se trata de un archivo de 2.72 GB, por lo que se recomienda contar
con una conexión a WiFi de banda ancha.

Copie el link anterior a cualquier navegador y presione ENTER. Aparecerá la pantalla


mostrada más abajo. De click en Download (es posible que los mensajes se desplieguen
en español dependiendo de la configuración de su navgador). (Las siguientes imágenes
corresponden al navegador Mozilla Firefox y al sistema operativo anfitrión Windows
10. Si emplea otro navegador o sistema operativo deberá buscar botones u opciones
similares.)

Aparecerá un mensaje donde se le advierte que debido al tamaño del archivo, éste no
puede ser escaneado para revisar si no contiene virus. Dé click en Download anyway.
9

Se abrirá el siguiente cuadro de diálogo. Dé click en Guardar archivo

Iniciará la descarga. Usted puede revisar la porción del archivo que se ha descargado
(medido en MB) al dar click en el sı́mbolo de descarga del navegador.

Al finalizar la descarga aparecerá el mensaje Completado. Dé click en Mostrar todas


las descargas para abrir la carpeta donde se ha guardado el archivo que acaba de
descargar. Este archivo es centos7VLSI.vdi
10

Se abrirá la carpeta dónde se encuentra el archivo. Un par de pasos más adelante


moveremos el archivo a otra ubicación.

Ahora crearemos una carpeta llamada NoModificarCentos7 en la raı́z de la unidad C:


11

Moveremos el archivo centos7VLSI.vdi a esta carpeta recién creada. Cierre la ventana


de la carpeta NoModificarCentos7

Ahora regresemos al administrador de VirtualBox. Presionemos el ı́cono Nueva


12

Se abrirá el siguiente cuadro de diálogo. Con mucho cuidado escriba centos7VLSI


en el espacio para el Nombre. Hay que comprobar que en Tipo quede seleccionada la
opción Linux. Hay que verificar que en la opción Versión quede seleccionada la opción
Red Hat (64-bit). (Si ésta última opción no se puede seleccionar es probable que su
máquina no tenga la virtualización activada. Tendrá que investigar como entrar al
BIOS de su máquina para activar la virtualización. Después deberá intentar este paso
para comprobar que la opción de 64-bits ya aparece.)

Presione Next

Seleccione 512 MB de memoria RAM para nuestra máquina virtual.


13

Seleccionemos la opción Usar un archivo o disco duro virtual existente. Dé click en el
ı́cono de carpeta que aparece en la parte inferior derecha.

Dé click en el ı́cono Agregar


14

Se abrirá un navegador dónde usted deberá localizar y seleccionar el archivo cen-


tos7VLSI.vdi que guardó en la carpeta NoModificarCentos7. Al seleccionar el archivo
se cerrará la ventana automáticamente.

Regresará a la siguiente ventana. Asegúrese de que centos7VLSI.vdi aparece seleccio-


nado. Presione Seleccionar. Se cerrará la ventana.

Regresará a la siguiente ventana donde ya aparece centos7VLSI.vdi. Presione Crear.


15

Regresará al administrador de VirtualBox. El ı́cono de la máquina virtual recién


creada aparecerá.

Ahora creemos una carpeta de nombre linux win dentro del escritorio de Windows.
16

Regresemos al administrador de VirtualBox. Asegurémonos de que el ı́cono de nuestra


máquina virtual esté resaltado en color azul. Ahora dé click al ı́cono de Configuración

Se abrirá la siguiente ventana. Dé click en el ı́cono Carpetas compartidas


17

Aparecerá el siguiente cuadro de diálogo. En la opción Ruta carpeta despliegue la


persiana. Se abrirá un navegador donde deberás encontrar y seleccionar la carpeta
linux win que creaste en el escritorio. Al seleccionar la carpeta automáticamente apa-
recerá en el campo Nombre carpeta el nombre sugerido linux win. Hay que dejarlo
ası́. También debes seleccionar la opción Automontar Y, ¡MUY IMPORTANTE!, en
el campo Punto de montaje hay que escribir la ruta /home/user/linux win

Después presiona Aceptar

Regresaremos a la ventana de configuración donde deberá aparecer (en la lista) el


nombre de la carpeta compartida que acabamos de configurar.
18

La máquina virtual Linux/Centos 7 con el software Alliance CAD System ha queda-


do instalada. Estamos listos para correr nuestra máquina virtual recién creada por
primera vez. Presiona el botón Iniciar

Aparecerá una ventana que muestra la pantalla de nuestra máquina virtual. El sistema
operativo Centos 7 se está cargando. Esperemos unos minutos sin tocar el teclado.
19

Si aparecen los siguientes mensajes de error, es probable que desaparezcan después


de unos segundos.

El sistema operativo habrá terminado de arrancar una vez que aparezca el mensaje
localhost login:
20

III. Arrancando el administrador de ventanas i3

He configurado la máquina virtual para ejecutar el entorno gráfico X Window System


y el administrador de ventanas i3. Esta configuración nos permite que la máquina
virtual trabaje con poca memoria RAM.

¡PRECAUCION! He configurado la máquina virtual para que el puntero del ratón sea controlado
automáticamente por el entorno i3 al ponerlo sobre la ventana. Además si movemos el puntero fuera
de la ventana de la máquina virtual el control del puntero se regresa al sistema operativo Windows.
Todo esto sucede sin ninguna molestia para el usuario. ¡SIN EMBARGO!, antes de que lancemos
i3 el control del puntero NO se transfiere automáticamente de un sistema a otro. Si presionamos
algún botón del ratón cuando el puntero se encuentra sobre la ventana de la máquina virtual el
puntero desaparecerá de la pantalla. El puntero se recuperará solamente si presione la tecla CTRL
DERECHA en el teclado. Si su teclado no cuenta con esta tecla, deberá configurar una tecla (o
combinación de teclas) diferente en el menú Archivo - Preferencias - Entrada - Máquina Virtual -
Combinación de tecla anfitrion de la ventana de administrador de Virtual Box.

Lo primero que hay que hacer ahora es hacer login en nuestro sistema. Para ello in-
troduzcamos la palabra user y presionemos ENTER (la tecla de ENTER se identifica
fácilmente por tener un tamaño mayor en nuestro teclado).
21

Sabremos que hemos tenido éxito en la acción de login cuando logramos ver el prompt
de nuesro sistema operativo. El prompt es una cadena de caracteres que nos propor-
ciona cierta información sobre el sistema y que en su extremo derecho contiene un
signo de pesos. La presencia del prompt nos indica que el sistema se encuentra en
espera de un comando. En nuestro caso el promt se muestra ası́

[user@localhost ~]$

Ahora, ejecute el comando

$ startx

NOTA: cuando yo le diga “ejecute el comando $ mi comando y opciones”, es-


toy solicitando de usted que escriba exactamente la(s) palabra(s) “mi comando y
opciones” después del signo de pesos ($) que aparece al final del prompt y que luego
presione la tecla ENTER.
22

El sistema pasará al entorno i3, el cual es un escritorio totalmente negro con una
barra de mensajes en la parte inferior. Aunque i3 es un entorno de ventanas muy ágil,
éste requiere del manejo de algunos atajos mediante combinaciones de teclas.

Presione la combinación de teclas “ALT+ENTER”


23

Aparecerá una ventana blanca del emulador de terminal xterm

El entorno de ventanas i3 automáticamente dimensiona la ventana de xterm para


cubrir todo el espacio de escritorio disponible.

Note que dentro de la ventana de xterm aparece el prompt


[user@localhost ~]$
24

Ahora presione dos veces más la combinación “ALT+ENTER”

Aparecerán otras dos ventanas del emulador de terminal xterm. El administrador i3


automáticamente divide el espacio en tres partes para que las tres ventanas ocupen
todo el espacio sin encimarlas una sobre la otra.

Note que si usted desplaza el cursor del ratón sobre alguna de las ventanas de xterm
ésta pasará a ser la ventana activa. Esto se indica con un cambio de color de la barra
superior de la ventana.
25

Ahora cerremos una de las ventanas xterm que hemos abierto. Para ello introduzcamos
en el prompt el comando

$ exit
26

Cerremos otra ventana xterm ejecutando nuevamente el comando

$ exit
27

Ahora que nos hemos quedado nuevamente con una sola ventana xterm, pasaremos a
revisar un pequeño ejemplo de diseño VLSI llamado adder4. Se trata de un sumador
de dos números de cuatro bits.

IV. Ejemplo de un sumador de 4 bits: adder4

La navegación entre las carpetas o directorios de nuestro sistema operativo lo haremos


a través de la lı́nea de comandos empleando xterm. Para conocer la ruta del directorio
(o carpeta) en que nos encontramos actualmente empleamos el siguiente comando

$ pwd

Esto nos entrega la ruta /home/user, que significa que estamos dentro del directorio
user, que a su vez se encuentra dentro del directorio home, el cual a su vez se encuentra
dentro del directorio raiz denotado por la diagonal inicial /

Para obtener una lista de los archivos o subcarpetas contenidos dentro de nuestro
directorio actual empleamos el comando

$ ls
28

Nuestro directorio contiene las subcarpetas linux win y Work

Para obtener una lista del contenido del subdirectorio linux win empleamos el co-
mando

$ ls linux win/

La diagonal al final del comando es opcional.

NOTA: Se recomienda emplear la función de autocompletar con el tabulador. Por ejemplo, al in-
troducir el comando anterior empiece a escribir ls lin, luego presione la tecla de TABULACION.
Esto completará el nombre del directorio. Finalmente presione ENTER para ejecutar el comando.

La ejecución del comando anterior no desplegará ningún resultado, pues el subdirec-


torio del cual estamos tratando de observar su contenido es la carpeta linux win que
creamos en el escritorio de Windows y en la cual aún no hemos puesto ningún archivo.
Hemos configurado esta carpeta para funcionar como un puente para pasar archivos
de Linux a Windows y viceversa.
29

Ahora entremos al directorio Work, para ello ejecutemos el siguiente comando

$ cd Work/

Nótese que el sı́mbolo de tilde que se mostraba en el prompt ahora ha cambiado por el
nombre del directorio (Work en este caso). Esta información en el promt nos orientará
para saber en qué directorio nos encontramos actualmente. (Pero, si tenemos dudas
sobre la ruta completa del directorio actual, simplemente empleamos el comando pwd
como se indicó anteriormente.)

La tilde en Linux es una abreviación del directorio home de usuario. En nuestro caso, el directorio
home es /home/user
30

Ahora listemos el contenido de nuestro directorio actual Work empleando el coman-


do ls. Observamos que tenemos tres subdirectorios: adder4, alliance-examples, y
cells.
31

Entremos al directorio adder4 con el siguiente comando

$ cd adder4

Acostumbremos emplear la función autocompletar. Esto nos ahorrará muchos errores de dedo al
teclear. Por ejemplo, en el comando anterior podemos empezar a teclear $ cd ad y luego presionamos
la tecla TABULACION. Automáticamente se completará el resto del nombre del directorio adder4/.
En este caso el comando funciona con o sin la barra oblicua.

Después de presionar ENTER se desplegará en la terminal un nuevo prompt. Note


que la última palabra dentro del prompt cambió a adder4 indicando que éste es ahora
nuestro nuevo directorio actual.

El directorio adder4 contiene un proyecto de un sistema digital que consiste en un


sumador de dos datos de 4 bits. Este sistema se describe en el lenguaje de descripción
de hardware VHDL y mediante un script que contiene los comandos adecuados para
emplear las herramientas de Alliance CAD System, sintetizamos o compilamos el
sistema hasta obtener un plano de circuito integrado fabricable.

Listemos el contenido del directorio adder4 con el comando ls

El directorio contiene los 5 archivos siguientes:


32

adder4.vhdl Descripción en lenguaje VHDL del sumador.

adder4.ioc Define la posición de los conectores de entrada y salida.

adder4.pat Patrones de prueba usado para verificar el funcionamiento lógico


del sistema.

script adder4 Lista de comandos para ejecutar las herramientas de Alliance.

clean script Script para borrar los archivos generados con el script anterior
dejando sólo los 5 archivos originales.

Todos estos son archivos de texto. A continuación, abramos el archivo adder4.vhdl


mediante el editor de texto nedit con el siguiente comando (recomendamos emplear
la función de autocompletar al introducir el comando)

$ nedit adder4.vhdl
33

Podemos maximizar la ventana del editor de texto para que ocupe todo el escritorio.
Ubiquemos el cursor sobre el editor de texto y presionemos la combinación de teclas
“ALT+F”
34

El editor se maximizará. Si ahora presiona la combinación “ALT+F” varias veces


seguidas, la ventana del editor alternará entre tamaño normal y tamaño maximizado.

Nótese que cuando el editor se encuentra maximizado se simplifica la lectura del


código VHDL pues las lı́neas caben completamente en el ancho de la ventana.

Para simplificar la lectura del código cuando la ventana no está maximizada es conveniente desactivar
la opción Wrap que se encuentra en el menú Preferences.

El editor funciona de manera similar a los editores de texto en Windows. Permite la


selección de texto empleando el cursor y los botones del ratón. Puede copiar, cortar
y pegar con los mismos atajos de teclas que en Windows: “CTRL+C”, “CTRL+X”
y “CTRL+V”. Permite deshacer acciones con la combinación “CTRL+Z”. Pero para
rehacer acciones se emplea la combinación “Shift+CTRL+Z”.

Una función muy útil de nedit, y que no todos los editores de texto en Windows tienen,
es la capacidad para copiar y pegar columnas. Primero se selecciona la columna de
texto que se desea copiar o cortar marcando un área rectangular con el ratón mientras
se mantiene presionada la tecla “CTRL”. Después se copia o se corta el texto de la
manera habitual con “CTRL+C” o “CTRL+X”. Para pegar el texto se posiciona el
cursor de texto (cursor con forma de I que se muestra intermitentemente en el área
del editor), luego se presiona la combinación de teclas “CTRL+Shift+V”.
35

ADVERTENCIA: Si usted hizo modificaciones en el texto para probar las modificaciones en el editor,
NO guarde los cambios pues necesitaremos el contenido original del archivo para realizar ejercicios
posteriormente.

Para guardar los cambios puede dar click en la opción Save que se muestra al desplegar
el menú File. El mismo efecto se obtiene al emplear el atajo “CTRL+S”.

El editor nedit se puede cerrar con la opción Quit del menú File, o bien empleando
el atajo de teclas “CTRL+Q”.

Cierre el editor nedit.

Ahora abra el archivo adder4.ioc con el editor nedit ejecutando el siguiente comando
(se recomienda emplear la función de autocompletar)

$ nedit adder4.ioc
36

El archivo adder4.ioc se emplea como archivo de configuración para especificar la


distribución de los conectores de entrada y salida que deseamos obtener en el plano
de circuito integrado del sumador. El plano obtenido tiene siempre forma rectangular
y en el archivo de configuración nos referimos a los lados superior, inferior, izquierdo
y derecho con las palabras en inglés TOP, BOTTOM, LEFT y RIGHT, respectivamente. En
el archivo se indica que los conectores a(3) a a(0) y b(3) a b(0) se colocarán en la
parte superior, mientras que los conectores result(3) a result(0) se colocarán en
la parte inferior.
37

Cerremos el editor sin guardar cambios. Ahora abramos el archivo adder4.pat con
el editor nedit. (Usted deberá introducir en el prompt de xterm el comando necesario
para ello.)

El archivo adder4.pat contiene estı́mulos de entrada para simular el comportamiento


de nuestro sumador y comprobar si las respuestas producidas por éste son correctas.
A este proceso se le conoce como validación funcional o verificación de circuitos VLSI.
38

Cerremos el editor.

Ahora empleemos el editor nedit para abrir el archivo script adder4 mediante el
siguiente comando

$ nedit script adder4


39

El archvo script adder4 se denomina script por contener un conjunto de comandos.


El orden, tipo y cantidad de comandos son los adecuados para producir el plano
de circuito integrado a partir de los archivos iniciales *.vhdl y *.ioc. El script
contiene además los comandos necesarios para realizar la validación funcional del
circuito empleando el archivo *.pat. Los comandos que contiene el script podrı́an
ejecutarse uno a uno introduciéndolos manualmente en el prompt de la terminal.
Pero es más sencillo y menos propenso a errores el contar con un script que los
ejecute todos con un solo comando.
40

Para ejecutar el script y obtener el plano de circuito integrado del sumador emplee
cualquiera de los siguientes comandos (cualquiera de las dos formas producirá el
mismo resultado)

$ ./script adder4

$ bash script adder4


41

Los comandos que contiene el script comenzarán a ejecutarse uno por uno.

Espere unos momentos a que el proceso termine.


42

Al final se desplegará una ventana con el plano de circuito integrado del sumador. La
palabra usual en inglés para este tipo de plano es layout. El visualizador de layouts
tiene el nombre de “Graal”.

Maximice la ventana del visualizador Graal con la combinación de teclas “ALT+F”.

Ahora ajuste el plano layout al tamaño de la ventana con la tecla “F”.


43

Usted puede dar ampliar el plano con la tecla “Z” o reducir su tamaño con la tecla
“M” (la Z viene de “zoom”, y la M viene también de la palabra “zoom” pero leı́da
al revés). Usted puede desplazar la parte del plano que se muestra en la pantalla
empleando las cuatro teclas de flecha.
44

A manera de ejercicio corrobore que en la parte superior del plano se encuentran los
conectores a(3) a a(0) y b(3) a b(0).
45

Ahora corrobore que en la parte inferior del plano se encuentran los conectores
result(3) a result(0).

Para cerrar el visualizador de planos Graal seleccione la opción Quit que se despliega
en el menú File.
46

Aparecerá una ventana para confirmar que usted desea realmente cerrar el visualiza-
dor. Presione OK.
47

Durante la ejecución de cada comando incluido en el script se van generando nuevos


archivos que son necesarios para el siguiente comando. Revise los archivos generados
ejecutando el comando ls

Nótese que el directorio aún contiene los 5 archivos originales, además de los archivos
generados al ejecutar el script.

Si desea eliminar todos los archivos del directorio excepto los 5 archivos iniciales, puede hacerlo
ejecutando el siguiente comando

$ clean script

V. Cerrando la máquina virtual

Una vez que deje de trabajar en su máquina virtual es recomendable cerrarla. A


continuación explicaré varias formas de hacerlo.

Dé click en la “X” de la esquina superior derecha de la ventana de la máquina virtual.


48

Se desplegará un menú con varias opciones. Elija la opción Save the machine state y
luego presione OK. Con esto se guardará el estado de la máquina virtual lo cual es
equivalente a poner una computadora portátil en suspensión o en hibernación.
49

Se mostrará una barra con el progreso en la operación de guardado. Al terminar se


cerrará la ventana de la máquina virtual.

Ahora pasemos al administrador de VirtualBox y demos click en el botón de Iniciar


(o Start).
50

Se abrirá la ventana de la máquina virtual y una barra que marca el progreso en la


recuperación del estado de la máquina virtual.
51

Al terminar aparecerá la ventana de la máquina virtual tal y como la dejamos antes


de guardarla. Podremos continuar trabajando donde nos quedamos como si no la
hubiéramos cerrado.

Volvamos a presionar la “X” de la esquina superior derecha de la ventana de la


máquina virtual.

Si seleccionemos la opción Send the shwtdown signal y presinemos OK, el sistema


operativo empezará el proceso de cierre de todos sus procesos. Esta opción equivale
a presionar Logout, Shwtdown u otras opciones para cerrar el sistema operativo.
52

Una tercera opción para cerrar la máquina virtual es seleccionando la opción Power
off the machine la cual equivale a desconectar el cordón de la energı́a eléctrica de
una computadora de escritorio. Esta opción sólo se debe usar si el sistema operativo
de nuestra máquina virtual deja de responder al teclado y al ratón por un tiempo
prolongado.
53

Una última opción para cerrar la máquina virtual es cerrando primero el entorno
gráfico i3. Para ello siga los siguientes pasos.

Primero salga del emulador de terminal xterm con el comando exit


54

Luego, presione la combinación de teclas “ALT+Shift+E”.

Aparecerá en la parte superior un mensaje donde se le pide que confirme si realmente


quiere salir del entorno gráfico.

Presione el botón Yes, exit i3.


55

Regresará al modo de texto del sistema operativo Linux.

Introduzca el comando exit


56

Regresará a la ventana de login. Ahora podrá apagar su máquina virtual dando click
en el botón “X” de la ventana y seleccionando Power off the machine. Salir del entorno
gráfico i3 antes de activar el “Power off” es más seguro que aplicarlo directamente.
Esto significa que es menos probable que su sistema operativo pierda archivos durante
el proceso de cierre.

También podría gustarte