Run local tools

I would strongly recommend that you install all tools locally on your system.

You can find a getting started guide at aicex: Getting Started

Run tools on NTNU server

I’ve installed the tools on a server at NTNU. Contact me and I can add you if you have a NTNU account.

Login to server

I assume, at this point in your studies, you know how to SSH to another machine. If not, in my opinon, your education has failed you.

If you don’t know, and you’re on WSL or Mac, then

Setup a public/private key on your computer

ssh-keygen -t rsa

Then

cat ~/.ssh/id_rsa.pub |ssh <your ntnu username>@tfe4188.it.ntnu.no "cat >> .ssh/authorized_keys"

And now you can do

ssh -c aes128-ctr -YC -o "ForwardX11Timeout 4W" <your ntnu username>@tfe4188.it.ntnu.no

That’s a very long line to remember, so I setup an alias. Add the following to your .bashrc

alias ssh-x='ssh -c aes128-ctr -YC -o "ForwardX11Timeout 4W" '
alias sshn='ssh-x <your ntnu username>@tfe4188.it.ntnu.no'

Then source ~/.bashrc and you should be able to do

sshn

and voila, you’re on the TFE4188 server

Setup public key towards github

Do

ssh-keygen -t rsa

And 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 repo

After login into the server, do

mkdir pro 
cd pro
git clone --recursive https://github.com/wulffern/aicex.git

You need to add the following to your ~/.bashrc

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

Make sure you load the settings before you proceed

source ~/.bashrc

Setup your ngspice settings

Edit ~/.spiceinit and add

set ngbehavior=hsa     ; set compatibility for reading PDK libs
set ng_nomodcheck      ; don't check the model parameters
set num_threads=8      ; CPU hardware threads available
set skywaterpdk
option noinit          ; don't print operating point data
option klu
optran 0 0 0 100p 2n 0 ; don't use dc operating point, but transient op
option opts

Install cicconf

cd ~/pro/aicex/ip/cicconf
python3 -m pip install .

Update IPs

cd ~/pro/aicex/ip/
cicconf update 

Install cicsim

cd ~/pro/aicex/ip/cicsim
python3 -m pip install  .

Check that magic and xschem works

To check that magic and xschem works

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

Tutorial on Skywater 130 nm

Follow Tutorial