Head over to wulffern.github.io/aicex for the docs.
For the repo see https://github.com/wulffern/aicex
Files and folders
This is a repository that contains links to other github repositories with analog designs. Most of the designs have been developed as part of the NTNU course TFE4188 - Advanced Integrated Circuits.
ci/ # Continous integration. Mostly check of the tutorials
docker/ # Dockerfiles to create a container with the tools
ip/ # all the IPs, config.yaml contains the links
tests/ # Makefile used for installation of the tools
Installing, and usage
For a detailed scription of installing the tools, see http://analogicus.com/aic2026/2025/10/25/The-Tools.html
For a description of the usage, see https://analogicus.com/aic2026/2025/10/26/Sky130nm-tutorial.html
For the impatient
git clone --recursive https://github.com/wulffern/aicex.git
I assume you have docker installed, or have windows subsystem for linux.
⚠ It’s a very good idea to check what’s inside scripts before you run them
./run.sh
You should now see a cyan “aicex@~$” terminal.
Check that you can open a new X terminal
xterm &
python3 -m pip install cicconf cicspi cicsim
cd ip
cicconf clone --https
You should now be able to run the tutorial at https://analogicus.com/aic2026/2025/10/26/Sky130nm-tutorial.html
Known issues
Xschem
-
Netlisting seems to be done not by pin number, but by order of B’s in .sym. Also, I’ve experienced different ordering for subckts, and for top cell
-
Be careful of x1[5:0] notation. Xschem does not automatically discover if there is another same x
. I would recommend always uniquely naming instances with bus notation
docker
- The aicex user has a uid of 1000, however, if you try and run it on a machine with a different uid for your user, then it does not seem to work. Don’t know how to fix it yet.
Ngspice
- In 44.2 there is a missing $LDFLAGS on the line
shell g++ --shared $v_objs $v_lib -pthread -lpthread -o $sonameto compile on my M4 mac