feat: update project tt_um_vks_pll from engrvip123/tt_um_vks_pll #453
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: | |
workflow_dispatch: | |
push: | |
# Don't run on project submissions: | |
branches-ignore: | |
- projects/tt_um_* | |
pull_request: | |
# Don't run on project submissions: | |
paths-ignore: | |
- projects/tt_um_*/** | |
jobs: | |
gds: | |
env: | |
PYTHONIOENCODING: utf-8 | |
PDK_ROOT: /home/runner/pdk | |
TT_CONFIG: sky130.yaml | |
# ubuntu | |
runs-on: ubuntu-latest | |
steps: | |
# need the repo checked out | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Load OpenLane environment variables | |
run: cat .github/config/openlane.txt | tee -a $GITHUB_ENV | |
- name: Checkout OpenLane 2 repo | |
uses: actions/checkout@v4 | |
with: | |
repository: efabless/openlane2 | |
path: openlane2 | |
ref: ${{ env.OPENLANE_TAG }} | |
# Set Python up | |
- name: setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
cache: 'pip' | |
- run: pip install -r tt-multiplexer/py/requirements.txt -r tt/requirements.txt | |
- name: Update caravel configuration | |
run: python ./tt/configure.py --update-shuttle | |
- uses: cachix/install-nix-action@v26 | |
- uses: cachix/cachix-action@v14 | |
with: | |
name: openlane | |
extraPullNames: openlane | |
- 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" | |
- name: Harden tt_ctrl | |
working-directory: tt-multiplexer/ol2/tt_ctrl | |
run: nix-shell $GITHUB_WORKSPACE/openlane2/shell.nix --run "python build.py" | |
- name: Harden tt_mux | |
working-directory: tt-multiplexer/ol2/tt_mux | |
run: nix-shell $GITHUB_WORKSPACE/openlane2/shell.nix --run "python build.py" | |
- name: Copy macros | |
run: python ./tt/configure.py --copy-macros | |
- name: Harden tt_top | |
working-directory: tt-multiplexer/ol2/tt_top | |
run: nix-shell $GITHUB_WORKSPACE/openlane2/shell.nix --run "python build.py --skip-xor-checks" | |
- name: Copy final results | |
run: python ./tt/configure.py --copy-final-results | |
- name: Create eFabless submission | |
run: python ./tt/configure.py --create-efabless-submission | |
- name: upload GDS artifact | |
if: success() || failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: GDS | |
path: tt-multiplexer/ol2/tt_top/runs/RUN_*/* | |
- name: upload macros artifact | |
if: success() || failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: macros | |
path: | | |
tt-multiplexer/cfg/*.yaml | |
tt-multiplexer/ol2/tt_top/gds/* | |
tt-multiplexer/ol2/tt_top/lef/* | |
tt-multiplexer/ol2/tt_top/spef/* | |
tt-multiplexer/ol2/tt_top/verilog/* | |
- name: upload shuttle_index.json | |
if: success() || failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: shuttle_index | |
path: shuttle_index.json | |
- name: upload Efabless submission directory | |
uses: actions/upload-artifact@v4 | |
with: | |
name: efabless_submission | |
path: efabless | |
# Install iverilog, cocotb (required for GL test) | |
- name: install oss-cad-suite | |
uses: YosysHQ/setup-oss-cad-suite@v3 | |
with: | |
version: '2023-05-27' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: GL simulation | |
working-directory: verilog/dv/mux | |
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 |