Introduction:
Alliance CAD Tools is a set of free and open computational tools for Integrated Circuit design and simulation. This set of programs offers a good first glance into the world of ASIC and VLSI design for starters who want to familiarize themselves with this branch of the industry. There are even some enterprises which use this set of tools in a professional way along with the well known academic use some schools give to these tools.Anyway, due to the fact that the original proyect has become unattended and the lack of true updates, there is great difficulty to port this tool set into some new distros and even the distributions that have Alliance CAD into their repositories (like Fedora Electronic Lab) suffer from some troubles that haven't been solved over the years. This is why I've decided to make a little script that automates the task of properly installing the tools and helps configuring the enviroment variables in the system that the tools need.
Justification:
Installing Alliance CAD on Linux using any relatively recent distro is a demanding task. Even when there are some pre-compiled packages (deb and rpm) for some particular distros like Ubuntu or Fedora, they are not well integred into the system (lack of enviroment variables, outdated libraries, etc). Even the versions that one can find in EPEL and Fedora Electronic Lab give some errors when executing the tools.Solved Problems:
- The biggest issue with Alliance was that ASIMUT wasn't working, specially using the 64bit version of the tools-set. This was due to errors in the code and some incompatibilities of the binaries with some new libraries. To solve this problem, the script downloads the precompiled binaries (both 32bit and 64bit versions) and replaces the 64bit version of ASIMUT with its 32bit counterpart, wich works perfectly into 32bit and 64bit systems.
- Other error was that DRUC couldn't run in some cases when performing automated sinthesis using a make-file. This was due to some environment variables not properly declared or not declared at all. To solve this, the script declares all the necessary variables in each user's bashrc file.
Considerations:
- This particular script has been developed for 64bit systems, and specially for CenOS 6.4, but you can edit the script to make it work into almost any system you want if you know what are you doing.
- The script installs Alliance globaly, but the environment variables are declared locally for each user, so each user that wants to use the tools, needs to run the script (that will ommit installation of the binaries if they are already installed).
- You need to run the script as root user.