I made my own silicon chip: Project Silicon Rider

My journey making my own silicon microchip for free using google skywater pdk

I made my own silicon chip: Project Silicon Rider

My journey making my own silicon microchip for free using google skywater pdk.

Updates:

20210908 added helpful links

20211008 Added progress photos!

Context: I want to make my own raw silicon micro chip from scratch piggy backing off of google's skywater pdk opensource chip  shuttle program which allow creation of free chips!

How all this works:

the project code name: Silicon Rider

led controller for night rider's grill

this is what the output will look like on the leds
Kaitlyn H is demoing the code for our ASIC on a fpga led driver! 20211008
the code that runs the on the fpga 20211008
this is the logic for the 64bit slow clock 20211008
all the logic for the control of the led array 20211008
a single operation unit 20211008
FPGA physical space usage of code running on the chip 20211008
the space used on the physical FPGA chip 20211008

Install the software

Good starter guide

First Steps with Google SkyWater PDK – Free Open Source Silicon for Everyone – bananatronics.org
cd ~ 
makedir github
cd github
git clone https://github.com/google/skywater-pdk
cd skywater-pdk
git submodule init libraries/*/latest
git submodule update
make -j$(nproc)
make timing -j$(nproc)

this command is taking forever!

Install magic from source:

Must be ran within wsl ubuntu, causes errors when using windows git adds windows line endings to files which cause errors


cd ~/github
git clone https://github.com/RTimothyEdwards/magic
cd magic
sudo apt-get install m4
sudo apt-get install tcsh
sudo apt-get install csh
sudo apt-get install libx11-dev
sudo apt-get install tcl-dev tk-dev
sudo apt-get install libcairo2-dev
sudo apt-get install mesa-common-dev libglu1-mesa-dev

./configure

make
make install

Magic Download Page

magic/INSTALL at master · RTimothyEdwards/magic

Fix issues with ./configure

fix to issue with ` ./configure`

output of ./configure is a key to what commands to run from this page "System Requirements"

Magic Compile and Install Information Page

EX:

What sucess should look like

cd ~/github
git clone https://github.com/RTimothyEdwards/open_pdks
cd open_pdks

./configure --enable-sky130-pdk=~/github/skywater-pdk/libraries --with-sky130-local-path=/opt/open_pdks_sky130

 
./configure --enable-sky130-pdk=/mnt/c/Users/oran/github/skywater-pdk/libraries --with-sky130-local-path=/opt/open_pdks_sky130

## mine  looks like
./configure --enable-sky130-pdk=/mnt/c/Users/oran/github/skywater-pdk/libraries --with-sky130-local-path=~/github/open_pdks_sky130/open_pdks_sky130

./configure --enable-sky130-pdk=source_path [--with-sky130-link-targets=source|none] [--with-ef-style] [--enable-default_off_option] [--disable-default_on_option]

 ./configure --enable-sky130-pdk=$(HOME)/skywater-pdk/libraries --with-sky130-local-path=/opt/open_pdks_sky130

fix for my system skip if not needed:

back to normal install:
sudo make -j$(nproc)
sudo make install

Original
ln -s /opt/sky130/sky130A/lib.tech/magic/* /opt/magic-8.3/lib/magic/sys

EX (my system):
sudo ln -s /mnt/c/Users/oran/github/open_pdks/sky130/sky130A/libs.tech/magic/* /usr/local/lib/magic/sys
not sure what the implications are for this error, ill soon find out!

Road block #1 Install Magic VLSI im running windows using WSL ubuntu

Fix:

update use this tutorial instead

Running WSL GUI Apps on Windows 10 - Microsoft Tech Community

and follow rdp its the one i had most sucess with

not this one

How to run graphical Linux applications on Windows 10 using the Windows Subsystem for Linux (WSL) - seanthegeek.net
A step-by-step guide on installing Bash on Ubuntu on Windows, with additional steps for running graphical Linux applications.
optional but helpfull
sudo apt-get update
sudo apt install -y ca-certificates findutils command-not-found nano curl openssh-client less screen apt-utils htop whois git python3-pip
note this differse from above command because i dont like vim :), and already have other programs

download

VcXsrv Windows X Server download | SourceForge.net

within bash wsl

echo "export DISPLAY=localhost:0.0" >> ~/.bashrc
. ~/.bashrc

sudo apt-get install x11-apps -y
startx
xeyes

issue:

Try #1

sudo apt-get install xorg openbox -y
sudo startx

# New window 
xeyes

that didnt work :(

export DISPLAY=localhost:0.0

Issue is im running wsl 1 with ubuntu

i need wsl 2, which is the full linux kernal :/

powershell admin

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart



wsl.exe --list -v
wsl.exe --set-version Ubuntu-18.04 2


Try number 2

using rdp remote desktop

sudo apt install xfce4
sudo apt install xrdp
ip a
mine is `172.27.78.158`
service xrdp status
sudo service xrdp start
service xrdp status

Login using your wsl ubuntu username and password

it worked!

SUCESS INSTALLING PDK!!!

Biggest takeaway: dont be me and install within windows ubuntu wsl.

Links

Tutorials

how to use magic

First Steps with Google SkyWater PDK – Free Open Source Silicon for Everyone – bananatronics.org


Good Install guide for win:
https://www.bananatronics.org/first-steps-with-google-skywater-pdk-free-open-source-silicon-for-everyone/

Software needed:

1) Magic VLSI thingy
2) Open-pdks3) OpenLane4) Caravel thingy
1)  Magic VLSI thingy
[Compile and Install Instructions for Magic](http://opencircuitdesign.com/magic/index.html)

2) Open-pdks
https://github.com/RTimothyEdwards/open_pdks

3) Compiler: OpenLane
https://github.com/efabless/openlane

4) Caravel not sure which oneCaravel Harness: https://github.com/efabless/caravel
Caravel User Project: https://github.com/efabless/caravel_user_project

Other helpful things:
Good starter video into to project: 4 mins


also this one:   4 mins


Overview & updates for process by the people at efabless:Video: https://youtu.be/jBrBqhVNgDo ( ive watched 80% of this 1 long video)

Highlights: Chip harness

https://youtu.be/jBrBqhVNgDo?t=571

user project area
https://youtu.be/jBrBqhVNgDo?t=893

Starting point for skywater shuttle 2:
https://efabless.com/open_shuttle_program/2

openlane
OpenLane RTL2GDS Compiler: https://github.com/efabless/openlaneVideo: OpenLane Overview  


Results of the shuttle:
We get some free dev boards + 50 chips!!

Join the skywater's slack for help!
https://invite.skywater.tools/

Author

by oran collins
github.com/wisehackermonkey
oranbusiness [] g m a i l {}  c o m
20210907
If you want to help me out and give some donations here's my monero address: 432ZNGoNLjTXZHz7UCJ8HLQQsRGDHXRRVLJi5yoqu719Mp31x4EQWKaQ9DCQ5p2FvjQ8mJSQHbD9WVmFNhctJsjkLVHpDEZ I use a tracker that is pravicy focused so if you block its cool, im big on blocking stuff on my own machine. im doing it to see if anyone is actualy reading my blog posts...:)