miércoles, 16 de julio de 2014

Instalar Alliance CAD Tools en Centos mediante Scripts

Introducción:

Alliance CAD Tools es un conjunto de herramientas computacionales abiertas y gratuitas para el diseño y simulación de Circuitos Integrados (CI) mediante planos de Layout. Este conjunto de software ofrece una buena aproximación para los entusiastas para entrar al mundo del diseño de CI y familiarizarse con las aplicaciones que irán encontrando en esta rama de la investigación/desarrollo. Hay incluso algunas empresas en forma que usan estas herramientas de manera regular y ni se diga a nivel de investigación y desarrollo académico, que es su fuerte.

Sin embargo, debido a que el proyecto se ha descontinuado por los desarrolladores oficiales y no han habido verdaderas actualizaciones en el código, existe una gran dificultad para hacer funcionar el conjunto de herramientas Alliance CAD en las distros que no las incluyen por defecto en sus repositorios, como lo hace Fedora Electronic Lab. Por este motivo, he decidido desarrollar un pequeño conjunto de scripts que automatizan esta tarea para facilitar a los usuarios de diferentes distribuciones el tener este software en su SO sin la necesidad de cambiar de distribución o virtualizar un SO completo en sus computadoras.

Justificación:

Instalar Alliance en Linux con una distro relativamente actual es un trabajo bastante arduo. El proyecto original detuvo su desarrollo en el año 2005 y, aunque la última compilación (a la fecha) del código es del año 2009, no se introdujeron cambios efectivos del código.

Aunque existen algunos paquetes precompilados de Alliance CAD para algunas distros particulares como Debian o Ubuntu, su compatibilidad con el sistema no me ha dejado satisfecho y siempre se presenta algún problema de dependencias. Incluso la versión que viene en los repositorios de EPEL y Fedora Electronic Lab presenta problemas al usar el simulador ASIMUT, que da salidas en blanco ante las simulaciones.

Problemas resueltos:


  • El principal problema que se tenía en el posgrado donde usé Alliance fue que ASIMUT no podía realizar simulaciones correctamente. Esto se debe a que el binario de la aplicación no funciona en la arquitectura de 64 bits. Para resolver este error, el script que presento descarga tanto las versiones de 32 como de 64 bits de Alliance y reemplaza el binario de ASIMUT de 64 bits con el de 32, pero sin comprometer las bibliotecas de ninguna de las dos versiones, manteniendo todo en órden para que se pueda ejecutar transparentemente todo el conjunto de herramientas.
  • Un problema que se presenta con las versiones de repositorios de Alliance es que (hasta el momento de la publicación de esta entrada) las variables de ambiente que se necesitan para que las herramientas funcionen, no se definen correctamente o no se definen siquiera. Para compensar este error, el script se encarga de modificar el archivo de configuración del usuario (bashrc) para declarar las variables de manera correcta.
  • Otro detalle importante al usar los repositorios por defecto, es que la documentación y los ejecutables de las herramientas se deben instalar por separado, pero debido a que la documentación incluye los tutoriales y ejemplos que deberían ser parte integral del conjunto de herramientas, los usuarios que apenas comienzan en este mundo usualmente no se dan cuenta de que falta de instalar una parte vital del proyecto Alliance.


Consideraciones:


  • El script se ha desarrollado para el SO Centos 6.4 y se recomienda su uso sólo para esta distribución ya que no se ha probado aún con otras versiones.
  • El script está pensado para instalar Alliance CAD Tools en un SO con una arquitectura de 64 bits, aunque algunas modificaciones pueden hacerse e instalar las herramientas en un SO de 32 bits sin problemas.
  • El script instala las herramientas de manera global, pero las variables de ambiente se definen por usuario, así que cada usuario que desee usar Alliance deberá ejecutar el script en su sesión.

El Script (por fin)

El script es de uso libre y lo pueden descargar aquí pero agradecería retro-alimentación de parte de quienes lo usen para saber qué cosas se pueden mejorar o se deberían cambiar. Recuerden dar permisos de ejecución al script y ejecutarlo como root.




No hay comentarios:

Publicar un comentario