Skip to content

Merge pull request #4 from htfab/main #14

Merge pull request #4 from htfab/main

Merge pull request #4 from htfab/main #14

Workflow file for this run

name: gds
on:
push:
workflow_dispatch:
jobs:
gds:
runs-on: ubuntu-24.04
steps:
- name: checkout repo
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build GDS
uses: TinyTapeout/tt-gds-action/orfs@tt09
#precheck:
# needs: gds
# runs-on: ubuntu-24.04
# steps:
# - name: Run Tiny Tapeout Precheck
# uses: TinyTapeout/tt-gds-action/precheck@tt09
gl_test:
needs: gds
runs-on: ubuntu-24.04
env:
PDK_ROOT: ${{ github.workspace }}/IHP-Open-PDK
TEST_DIR: ${{ github.workspace }}/test
steps:
- name: checkout repo
uses: actions/checkout@v4
with:
submodules: recursive
- name: Download GDS artifact
uses: actions/download-artifact@v4
with:
name: tt_submission
- name: install PDK
uses: actions/checkout@v4
with:
repository: tinytapeout/IHP-Open-PDK
ref: tt
path: IHP-Open-PDK
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Python packages
shell: bash
run: pip install -r test/requirements.txt
- name: ccache
uses: hendrikmuhs/[email protected]
- name: Install iverilog
shell: bash
run: |
wget https://github.com/htfab/iverilog/releases/download/13.0-git-d8c3c51/iverilog_13.0-git-d8c3c51a-1_amd64.deb
sudo apt-get update -y
sudo apt-get install -y ./iverilog_13.0-git-d8c3c51a-1_amd64.deb
- name: Run tests
shell: bash
run: |
cp tt_submission/*.v "$TEST_DIR/gate_level_netlist.v"
cd "$TEST_DIR"
rm -f tb.vcd results.xml
make clean
GATES=yes make
# `make` will return success even if the tests fail, so check for failure in results.xml
test -f results.xml
! grep failure results.xml
- name: Upload VCD
if: always()
uses: actions/upload-artifact@v4
with:
name: gatelevel_test_vcd
path: |
${{ env.TEST_DIR }}/tb.vcd
${{ env.TEST_DIR }}/results.xml
- name: Test Summary
if: always()
uses: test-summary/[email protected]
with:
paths: ${{ env.TEST_DIR }}/results.xml
viewer:
needs: gds
runs-on: ubuntu-24.04
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
steps:
- uses: TinyTapeout/tt-gds-action/viewer@tt09