Open CAD Environment repo is aiming to create a professional grade envionment for EE engineers to be able to use Open Source tools for IC design much easier. We use Enviroment Modules
to track which verison of each tool we are using as used in the professional environments. This allow switching between different versions of the tools much easier and maintaining versions correctly.
More about Environment Modules
could be found here.
Also, a video tutorial about Environment Modules
could be found:
Originally, we internally used to support all tools. But due rapid change in building process for tools, we were not able to keep up. I stipped down the list of tools to a target set of tools. Currently, we only support the following list of tools:
- klayout
- ngspice
- magic
- netgen
Please try to contribute to this project if you can. We are opening this to the community to allow easier management of tools.
This has been tested on Ubuntu 22.04
. We appreciate if you could test on different environments.
You must first must install all the libraries necessary for building all tools from scratch. To do that you need to do the following:
git clone https://github.com/mabrains/OpenCadEnv.git
cd OpenCadEnv
sudo bash ./install_libraries.sh
By default, the build process will build inside:
/home/$USER/ic-tools
You could change the location of tools, by changing that path like this:
export ENV_PATH=<path_of_installation>
You must add the following lines at the bottom of your .bashrc
to be able to use this environment:
export ENV_PATH=<path_of_installation>
source /usr/share/modules/init/bash
module use --append $ENV_PATH/modulefiles
If you are using the default location of installation, you could just copy the following:
export ENV_PATH=/home/$USER/ic-tools
source /usr/share/modules/init/bash
module use --append $ENV_PATH/modulefiles
To install a tool with a specific version, you could do something like:
make build_klayout-v0.28.3
You could change the version of the tool and the version in the make command like:
make build_ngspice-38
Once everything is installed, you could now see all the versions of all the tools installed using the following command:
module avail
To load a tool in your environment:
module load klayout/v0.28.7
To unload a tool in your environment:
module unload klayout/v0.28.7