gds #53
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 }} | |
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 |