jueves, 5 de abril de 2012

Instalar Alliance CAD en Ubuntu/Debian SIN LOS PAQUETES DEB

Alliance CAD es un conjunto de herramientas de desarrollo VLSI, proporcionado por el Laboratorio de Informática de París, de la Universidad Pierre et Marie Curie en Francia.

Este conjunto de herramientas proporciona un sistema de desarrollo de micro-electrónica, bastante completo.

A la fecha, es posible encontrar el conjunto de herramientas en los repositorios de Fedora y Debian (Wheezy).
Existe una versión de paquetes DEB que es posible instalar en Ubuntu, sin embargo, el desarrollo de estos paquetes cesó después de Ubuntu 9.04 de 32 bits y por lo tanto, es algo complicada su instalación en sistemas actuales.

Para evadir este problema, es posible descargar una versión binaria pre-compilada desde el sitio de Alliance. Sin embargo, yo no he encontrado detalles claros sobre la correcta "instalación" de este software.

Tras un largo proceso de aprendizaje empírico, intento traer a todos lo que creo, es la forma más sencilla de conseguir usar este software en Ubuntu (11.10 de 64 bits en mi versión).

Paso 1. Consiguiendo el Paquete Adecuado.


Primeramente, necesitamos conseguir el paquete de binarios pre-compilados para nuestro sistema.
Hay que ir a la dirección:
ftp://asim.lip6.fr/pub/alliance/distribution/latest/

Hay que buscar los paquetes con el nombre alliance-5.0-XXXXXXXX-i386-sl5soc.YYYY.tar.gz
Donde las X especifican la fecha de compilación y las Y la arquitectura destino (i386 para 32 bits x86_64 para 64 bits).

Hay que seleccionar la arquitectura adecuada para nuestro sistema y descargar el paquete.

Paso 2. Descomprimiendo y Ubicando.

  • Usen su método favorito para descomprimir el archivo. Aunque se supone que deberíamos descomprimirlo como usuarios root en el directorio root, esta opción nunca me ha hecho sentir seguro si sale algo mal.
  • Una vez que el archivo se haya extraído correctamente, tendrán un directorio con el nombre opt que contendrá otro directorio con el nombre alliance-XXXX.
  • Primeramente, les recomiendo que cambien el nombre del directorio alliance-XXXX por alliance, lo cual nos facilitará la vida enormemente.
  • Una vez renombrado, abriremos una terminal donde se encuentre el directorio alliance que hemos renombrado.
  • Ahora procedemos a copiar el directorio a su ubicación final:
$ sudo cp -R alliance /opt 

Paso 3. Instalación de Paquetes Requeridos.

Antes de comenzar a "enlazar" el sistema a los binarios de Alliance, es necesario instalar un paquete para poder usar los programas que tienen entorno gráfico:
$ sudo apt-get isntall libmotif-dev

Paso 4. Enlazando el Sistema.

Para poder usar Alliance, habrá que crear los enlaces necesarios a los binarios y las librerías, así como crear las variables de entorno necesarias.

Primeramente enlazaremos las librerías.

  • Ya que tenemosnuestras librerías en el directorio /opt/alliance/lib, necesitamos que el sistema sepa dónde están para que las aplicaciones puedan acceder a ellas. La forma correcta de trabajar con las librerías, es crear enlaces simbólicos a las mismas, para que las aplicaciones no tengan problemas al usarla. Para hacer esto, crearemos un enlace simbólico a todo el directorio de las librerias de Alliance, dentro del directorio de librerías estándar del sistema. En este caso ejecutaremos el comando:

    $ sudo cp -rs /opt/$alliancedir/lib/ /usr/lib/alliance
  • Ahora hay que crear un archivo que llamaremos alliance.conf dentro de /etc/ld.so.conf.d/ para que el sistema sepa dónde están ubicados los enlaces a las librerías de Alliance.
$ sudo echo "/usr/lib/alliance" > /etc/ld.so.conf.d/alliance.conf
  • Seguido, deberemos hacer un 
$ ldconfig

Seguidamente debemos añadir la localización de nuestros binarios de alliance al PATH del sistema. 

  • Para hacerlo hay que editar el archivo /etc/environment. Pueden usar GEDIT, KATE o el editor que gusten.

$ sudo gedit /etc/environment

  • Lo que hay que hacer, primero, es añadir la dirección de los binarios al PATH, es decir, buscar la línea que va más o menos:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
y añadir:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/alliance/bin"


El PATH puede contener múltiples direcciones, cada una separada con dos puntos ":"

  • Ahora, en el mismo archivo hay que añadir las variables de entorno que Alliance necesita para funcionar. Bastará con pegar el siguiente texto después de la línea del PATH:

MBK_WORK_LIB=.
MBK_CATA_LIB=/opt/alliance-5.0/cells/sxlib
MBK_CATAL_NAME=CATAL
MBK_IN_PH=ap
MBK_OUT_PH=ap
MBK_TARGET_LIB=/opt/alliance-5.0/cells/sxlib
MBK_IN_LO=vst
MBK_OUT_LO=vst
MBK_VDD=vdd
MBK_VSS=vss
GRAAL_TECHNO_NAME=/opt/alliance-5.0/etc/cmos.graal
RDS_TECHNO_NAME=/opt/alliance-5.0/etc/cmos.rds
RDS_IN=cif
RDS_OUT=cif
XSCH_PARAM_NAME=/opt/alliance-5.0/etc/xsch.par
VH_PATSFX=pat
VH_DLYSFX=dly
VH_MAXERR=10

Recomiendo re-iniciar el equipo tras esto y ahora deberían poder usar todas las herramientas de alliance en su sistema, sin problemas.