feat: do minimal DRC both with and without seal+fill #81
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: gds | |
on: | |
push: | |
workflow_dispatch: | |
jobs: | |
gds: | |
runs-on: ubuntu-22.04 | |
env: | |
IHP_PDK_ROOT: ${{ github.workspace}}/IHP-Open-PDK | |
DESIGN_CONFIG: ${{ github.workspace }}/designs/ihp-sg13g2/tt-chip/config.mk | |
DESIGN_HOME: ${{ github.workspace }}/designs | |
WORK_HOME: ${{ github.workspace }} | |
ORFS_COMMIT: a0615e8f0e00649cf642861e4e1e1951fa33df02 | |
steps: | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install OpenROAD | |
run: | | |
wget https://github.com/Precision-Innovations/OpenROAD/releases/download/2024-07-12/openroad_2.0_amd64-ubuntu22.04-2024-07-12.deb | |
sudo apt-get install -y ./openroad_2.0_amd64-ubuntu22.04-2024-07-12.deb | |
echo "OPENROAD_EXE=$(command -v openroad)" >> $GITHUB_ENV | |
- name: Install KLayout | |
run: | | |
wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.4-1_amd64.deb | |
sudo apt-get install -y ./klayout_0.29.4-1_amd64.deb | |
pip install klayout==0.29.4 | |
- name: 'Install yosys (oss-cad-suite)' | |
run: | | |
cd /opt | |
wget https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-07-16/oss-cad-suite-linux-x64-20240716.tgz | |
tar zxf oss-cad-suite-linux-x64-20240716.tgz && rm oss-cad-suite-linux-x64-20240716.tgz | |
echo "YOSYS_CMD=/opt/oss-cad-suite/bin/yosys" >> $GITHUB_ENV | |
- name: checkout ORFS | |
uses: actions/checkout@v4 | |
with: | |
repository: The-OpenROAD-Project/OpenROAD-flow-scripts | |
ref: ${{ env.ORFS_COMMIT }} | |
submodules: recursive | |
path: 'orfs' | |
- name: Apply platform update | |
run: | | |
sg13g2-update/update.sh | |
- name: Run the flow (synth) | |
working-directory: 'orfs/flow' | |
run: | | |
make synth | |
- name: Run the flow (floorplan) | |
working-directory: 'orfs/flow' | |
run: | | |
make floorplan | |
- name: Run the flow (place) | |
working-directory: 'orfs/flow' | |
run: | | |
make place | |
- name: Run the flow (cts) | |
working-directory: 'orfs/flow' | |
run: | | |
make cts | |
- name: Run the flow (route) | |
working-directory: 'orfs/flow' | |
run: | | |
make route | |
- name: Run the flow (finish) | |
working-directory: 'orfs/flow' | |
run: | | |
make | |
make $WORK_HOME/objects/ihp-sg13g2/tt-chip/base/6_final_concat.cdl | |
- name: Generate seal ring | |
run: | | |
scripts/add-seal-ring.py $WORK_HOME/results/ihp-sg13g2/tt-chip/base/6_final.gds | |
- name: Upload flow results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: gds | |
path: | | |
logs | |
objects | |
reports | |
results | |
gl-verification: | |
needs: gds | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download GDS | |
uses: actions/download-artifact@v4 | |
with: | |
name: gds | |
# Install iverilog, cocotb | |
- name: install oss-cad-suite | |
uses: YosysHQ/setup-oss-cad-suite@v3 | |
with: | |
version: '2024-07-16' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: GL verification | |
working-directory: test | |
run: | | |
make clean test_mux_gl | |
# make will return success even if the test fails, so check for failure in the results.xml | |
! grep failure results.xml | |
- name: Publish VCD | |
uses: actions/upload-artifact@v4 | |
with: | |
name: vcd | |
path: test/test_mux.vcd | |
fill-seal: | |
needs: gds | |
runs-on: ubuntu-22.04 | |
env: | |
WORK_HOME: ${{ github.workspace }} | |
steps: | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download GDS | |
uses: actions/download-artifact@v4 | |
with: | |
name: gds | |
- name: Install KLayout | |
run: | | |
wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.4-1_amd64.deb | |
sudo apt-get install -y ./klayout_0.29.4-1_amd64.deb | |
pip install klayout==0.29.4 | |
- name: Generate fill | |
run: | | |
scripts/add-fill.py $WORK_HOME/results/ihp-sg13g2/tt-chip/base/6_final_seal.gds | |
- name: Upload fill results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: fill-seal | |
path: | | |
results/ihp-sg13g2/tt-chip/base/6_final_seal_fill.gds | |
fill-no-seal: | |
needs: gds | |
runs-on: ubuntu-22.04 | |
env: | |
WORK_HOME: ${{ github.workspace }} | |
steps: | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download GDS | |
uses: actions/download-artifact@v4 | |
with: | |
name: gds | |
- name: Install KLayout | |
run: | | |
wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.4-1_amd64.deb | |
sudo apt-get install -y ./klayout_0.29.4-1_amd64.deb | |
pip install klayout==0.29.4 | |
- name: Generate fill | |
run: | | |
scripts/add-fill.py $WORK_HOME/results/ihp-sg13g2/tt-chip/base/6_final.gds | |
- name: Upload fill results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: fill-no-seal | |
path: | | |
results/ihp-sg13g2/tt-chip/base/6_final_fill.gds | |
drc-minimal: | |
needs: fill-seal | |
runs-on: ubuntu-22.04 | |
env: | |
WORK_HOME: ${{ github.workspace }} | |
steps: | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download GDS | |
uses: actions/download-artifact@v4 | |
with: | |
name: fill-seal | |
path: results/ihp-sg13g2/tt-chip/base | |
- name: Install KLayout | |
run: | | |
wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.4-1_amd64.deb | |
sudo apt-get install -y ./klayout_0.29.4-1_amd64.deb | |
pip install klayout==0.29.4 | |
- name: Run DRC | |
run: | | |
klayout -b -r ./IHP-Open-PDK/ihp-sg13g2/libs.tech/klayout/tech/drc/sg13g2_minimal.lydrc -rd cell=tt_top -rd report_file=sg13g2_minimal.lyrdb ./results/ihp-sg13g2/tt-chip/base/6_final_seal_fill.gds | |
- name: Upload DRC results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: drc-minimal-results | |
path: sg13g2_minimal.lyrdb | |
- name: install xmllint | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libxml2-utils | |
- name: DRC summary | |
if: always() | |
run: | | |
scripts/drc-summary.sh sg13g2_minimal.lyrdb >> $GITHUB_STEP_SUMMARY | |
drc-minimal-raw: | |
needs: gds | |
runs-on: ubuntu-22.04 | |
env: | |
WORK_HOME: ${{ github.workspace }} | |
steps: | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download GDS | |
uses: actions/download-artifact@v4 | |
with: | |
name: gds | |
- name: Install KLayout | |
run: | | |
wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.4-1_amd64.deb | |
sudo apt-get install -y ./klayout_0.29.4-1_amd64.deb | |
- name: Run DRC | |
run: | | |
klayout -b -r ./IHP-Open-PDK/ihp-sg13g2/libs.tech/klayout/tech/drc/sg13g2_minimal.lydrc -rd cell=tt_top -rd report_file=sg13g2_minimal_raw.lyrdb ./results/ihp-sg13g2/tt-chip/base/6_final.gds | |
- name: Upload DRC results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: drc-minimal-raw-results | |
path: sg13g2_minimal_raw.lyrdb | |
- name: install xmllint | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libxml2-utils | |
- name: DRC summary | |
if: always() | |
run: | | |
scripts/drc-summary.sh sg13g2_minimal_raw.lyrdb >> $GITHUB_STEP_SUMMARY | |
drc-maximal-raw: | |
needs: gds | |
runs-on: ubuntu-22.04 | |
env: | |
WORK_HOME: ${{ github.workspace }} | |
steps: | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download GDS | |
uses: actions/download-artifact@v4 | |
with: | |
name: gds | |
- name: Install KLayout | |
run: | | |
wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.4-1_amd64.deb | |
sudo apt-get install -y ./klayout_0.29.4-1_amd64.deb | |
- name: Run DRC | |
run: | | |
klayout -b -r ./IHP-Open-PDK/ihp-sg13g2/libs.tech/klayout/tech/drc/sg13g2_maximal.lydrc -rd cell=tt_top -rd report_file=sg13g2_maximal_raw.lyrdb ./results/ihp-sg13g2/tt-chip/base/6_final.gds | |
- name: Upload DRC results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: drc-maximal-raw-results | |
path: sg13g2_maximal_raw.lyrdb | |
- name: install xmllint | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libxml2-utils | |
- name: DRC summary | |
if: always() | |
run: | | |
scripts/drc-summary.sh sg13g2_maximal_raw.lyrdb >> $GITHUB_STEP_SUMMARY | |
# lvs: | |
# needs: gds | |
# runs-on: ubuntu-22.04 | |
# env: | |
# WORK_HOME: ${{ github.workspace }} | |
# | |
# steps: | |
# - name: checkout repo | |
# uses: actions/checkout@v4 | |
# with: | |
# submodules: recursive | |
# | |
# - name: Download GDS | |
# uses: actions/download-artifact@v4 | |
# with: | |
# name: gds | |
# | |
# - name: Install KLayout | |
# run: | | |
# wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.4-1_amd64.deb | |
# sudo apt-get install -y ./klayout_0.29.4-1_amd64.deb | |
# | |
# - name: Run LVS | |
# run: | | |
# klayout -b -r ./IHP-Open-PDK/ihp-sg13g2/libs.tech/klayout/tech/lvs/sg13g2_full.lylvs -rd cdl_file=$WORK_HOME/objects/ihp-sg13g2/tt-chip/base/6_final_concat.cdl -rd report_file=sg13g2_lvs.lvsdb ./results/ihp-sg13g2/tt-chip/base/6_final.gds | |
# | |
# - name: Upload LVS results | |
# uses: actions/upload-artifact@v4 | |
# if: always() | |
# with: | |
# name: lvs-results | |
# path: sg13g2_lvs.lvsdb |