Skip to content

Commit

Permalink
ci(gds): update build process for IHP
Browse files Browse the repository at this point in the history
  • Loading branch information
urish committed Oct 20, 2024
1 parent 6b7cab2 commit d70be60
Show file tree
Hide file tree
Showing 8 changed files with 15 additions and 2,152 deletions.
3 changes: 1 addition & 2 deletions .github/config/openlane.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
OPENLANE_TAG=2.0.7
SKY130_PDK_VERSION=6d4d11780c40b20ee63cc98e645307a9bf2b2ab8
OPENLANE_TAG=tt
25 changes: 7 additions & 18 deletions .github/workflows/gds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ jobs:
gds:
env:
PYTHONIOENCODING: utf-8
PDK_ROOT: ${{ github.workspace }}/pdk
TT_CONFIG: sky130.yaml
PDK: ihp-sg13g2
PDK_ROOT: ${{ github.workspace }}/IHP-Open-PDK
TT_CONFIG: ihp-sg13g2.yaml
# Uncomment the following line to build only the specified projects:
#TT_ONLY_PROJECTS: tt_um_chip_rom,tt_um_factory_test

Expand All @@ -33,15 +34,10 @@ jobs:
- name: Checkout OpenLane 2 repo
uses: actions/checkout@v4
with:
repository: efabless/openlane2
repository: smunaut/openlane2
path: openlane2
ref: ${{ env.OPENLANE_TAG }}

- name: Patch OpenLane 2 repo
working-directory: openlane2
run:
git apply --allow-empty ../patches/openlane2.patch

- name: setup python
uses: actions/setup-python@v5
with:
Expand All @@ -60,13 +56,6 @@ jobs:
extraPullNames: ${{ vars.CACHIX_CACHE_EXTRA || 'openlane' }}
authToken: ${{ secrets.CACHIX_TOKEN }}

- name: Install Sky130 PDK
uses: TinyTapeout/volare-action@v2
with:
pdk_name: sky130
pdk_version: ${{ env.SKY130_PDK_VERSION }}
pdk_root: ${{ env.PDK_ROOT }}

# run OpenLane to build the GDS
- name: Harden Chip ROM
run: nix-shell $GITHUB_WORKSPACE/openlane2/shell.nix --run "python -m openlane tt/rom/config.json"
Expand All @@ -89,7 +78,7 @@ jobs:
- name: Copy final results
run: python ./tt/configure.py --copy-final-results

- name: Create eFabless submission
- name: Create IHP submission
run: python ./tt/configure.py --create-efabless-submission

- name: upload GDS artifact
Expand Down Expand Up @@ -118,10 +107,10 @@ jobs:
name: shuttle_index
path: shuttle_index.json

- name: upload Efabless submission directory
- name: upload IHP submission directory
uses: actions/upload-artifact@v4
with:
name: efabless_submission
name: ihp_submission
path: efabless

# Install iverilog, cocotb (required for GL test)
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
[submodule "tt"]
path = tt
url = https://github.com/TinyTapeout/tt-support-tools
[submodule "IHP-Open-PDK"]
path = IHP-Open-PDK
url = https://github.com/TinyTapeout/IHP-Open-PDK
8 changes: 1 addition & 7 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
# Build Tiny Tapeout with Open Lane 2
# Build Tiny Tapeout with OpenLane 2

## Environment setup

```bash
export OPENLANE2_ROOT=~/openlane2
export SKY130_PDK_VERSION=6d4d11780c40b20ee63cc98e645307a9bf2b2ab8

pip3 install volare
volare enable --pdk sky130 $SKY130_PDK_VERSION
```

Then install OpenLane 2 with Nix, as explained [here](https://openlane2.readthedocs.io/en/latest/getting_started/nix_installation/index.html), taking care of the following:
Expand All @@ -16,8 +12,6 @@ Then install OpenLane 2 with Nix, as explained [here](https://openlane2.readthed

2. Clone OpenLane 2 to ~/openlane2 (or change the value of the `OPENLANE2_ROOT` environment variable).

3. Apply patches to OpenLane 2: `git -C $OPENLANE2_ROOT apply $PWD/patches/openlane2.patch`

## Repository setup

First, make sure that you have checked out the submodules:
Expand Down
1 change: 1 addition & 0 deletions IHP-Open-PDK
Submodule IHP-Open-PDK added at 416f71
Loading

0 comments on commit d70be60

Please sign in to comment.