Technology PDK layer for tech_sky130A

This is not a full PDK, it’s a small layer of customization on top of the existing PDK.

An IP repository clones this one as tech, and every relative path here is written against that layout:

my_ip/
├── tech -> ../tech_sky130A
├── design/MY_IP_SKY130A/
├── work/          make drc, lvs, gds, lpe, deliver
├── sim/           cicsim testbenches
└── .github/workflows/

cicconf is what creates that structure.

Guides

Start here if you have not used this before.

Guide  
Getting started Tools, environment, and making your first IP
The design flow Schematic → netlist → layout → checks → extraction
Simulation Corner names, testbenches, specs and summaries
Verification DRC, LVS (and when to go flat), antenna, repairs
Tapeout Pinning dependencies, delivering, precheck
When something breaks The failures you will actually hit

Reference

Folder Description
bash PDK_ROOT and PDK, which every tool here assumes
cic Layer map, device map and design rules for ciccreator
cicconf Templates for cicconf
cicsim Templates for cicsim and default simulation files
magic Color maps for magic, a .magicrc, and the batch scripts behind DRC/LVS/LPE
make Makefiles for running DRC/LVS/LPE etc
ngspice Definition of temperature and supply corners
py Larger python tools: dependency pinning, port matching, corner generation
script Any scripts
xschem xschem setup files

Documentation

The guides above live in guide/. The reference is the repository itself: every file has a markdown file beside it saying what it is and who runs it, and every folder has a README.md. Both halves are published as a site at https://wulffern.github.io/tech_sky130A, built by py/mkdocsite.py and the DOCS workflow.

python3 py/mkdocsite.py --check    # is anything undocumented?
python3 py/mkdocsite.py            # build docs/
cd docs && bundle install && bundle exec jekyll serve

When you add a file, add its .md beside it. CI fails otherwise.