Skip to content

gds

gds #53

Workflow file for this run

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 }}
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
- 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
- name: checkout ORFS
uses: actions/checkout@v4
with:
repository: The-OpenROAD-Project/OpenROAD-flow-scripts
submodules: recursive
path: 'orfs'
- name: Apply platform update
run: |
export UPDATE_DIR=$(realpath sg13g2-update)
cd orfs/flow/platforms/ihp-sg13g2
python $UPDATE_DIR/sg13g2-update.py
cp $UPDATE_DIR/config.mk .
- name: Run the flow
working-directory: 'orfs/flow'
env:
YOSYS_CMD: /opt/oss-cad-suite/bin/yosys
run: |
make
make $WORK_HOME/objects/ihp-sg13g2/tt-chip/base/6_final_concat.cdl
- name: Generate fill
run: |
pip install klayout
scripts/add-fill.py
- 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
drc-minimal:
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
- 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.lyrdb ./results/ihp-sg13g2/tt-chip/base/6_final_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-maximal:
# 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
#
# - 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.lyrdb ./results/ihp-sg13g2/tt-chip/base/6_final_fill.gds
#
# - name: Upload DRC results
# uses: actions/upload-artifact@v4
# if: always()
# with:
# name: drc-maximal-results
# path: sg13g2_maximal.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.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