Setup tools on linux or mac (or WSL on Windows)

For the analog toolchain we need some tools, and a process design kit (PDK).

The tools are not that big, but the PDK is huge, so you need to have about 50 GB disk space available.

Setup WSL (Applicable for Windows users)

Install a Linux distribution such as Ubuntu 22.04 LTS by running the following command in PowerShell on Windows and follow the instructions.

wsl --install -d Ubuntu-22.04

When you have installed the Linux distribution and signed into it, install make

sudo apt install make

Setup public key towards github

Do

ssh-keygen -t rsa

And press “enter” on most things, or if you’re paranoid, add a passphrase

Then

cat ~/.ssh/id_rsa.pub 

And add the public key to your github account. Settings - SSH and GPG keys

Clone the github repo, install, and set up tools

git clone --recursive git@github.com:wulffern/aicex.git

You need to add the following to your ~/.bashrc (note that ~ refers to your home directory $HOME/.bashrc also works, or $HOME/.bash_profile on some newer macs)

export PDK_ROOT=/opt/pdk/share/pdk
export LD_LIBRARY_PATH=/opt/eda/lib
export PATH=/opt/eda/bin:$HOME/.local/bin:$PATH

Ubuntu 24.04 or new system

On newer systems it’s not trivial to install python packages because python is externally managed. As such, we need to install a python environment.

#- Find a package similar to name below
sudo apt install python3.12-venv
sudo mkdir /opt/eda/python3
sudo chown -R $USER:$USER /opt/eda/python3/
python3 -m venv /opt/eda/python3

Modify the ~/.bashrc to include the python environment

export PATH=/opt/eda/bin:/opt/eda/python3/bin:$HOME/.local/bin:$PATH

Install

Make sure you load the settings before you proceed

source ~/.bashrc
cd aicex/tests/
make requirements
make tt
make eda_compile
sudo make eda_install
python3 -m pip install matplotlib numpy click svgwrite pyyaml pandas tabulate wheel setuptools tikzplotlib
source install_open_pdk.sh
cd ../..

Install cicconf

cd aicex/ip/cicconf
git checkout main 
git pull
python3 -m pip install -e .
cd ../

cicconf update 
cd ..

Install cicsim

cd aicex/ip/cicsim
python3 -m pip install -e .
cd ../..

Check that magic and xschem works

To check that magic and xschem works

cd ip/sun_sar9b_sky130nm/work 
magic ../design/SUN_SAR9B_SKY130NM/SUNSAR_SAR9B_CV.mag &
xschem -b ../design/SUN_SAR9B_SKY130NM/SUNSAR_SAR9B_CV.sch &