blob: 510af36611b0a293717c58d337d00d4ae12ba0f7 [file] [log] [blame]
name: tinytapeout
# either manually started, or on a schedule
on: [ push, workflow_dispatch, pull_request ]
jobs:
multi_tool:
env:
OPENLANE_ROOT: /home/runner/openlane
PDK_ROOT: /home/runner/pdk
PDK: sky130B
# ubuntu
runs-on: ubuntu-latest
steps:
# need the repo checked out
- name: checkout repo
uses: actions/checkout@v2
# build pdk
- name: pdk & openlane & precheck
run: |
make setup
make precheck
# need python
- name: setup python
uses: actions/setup-python@v2
with:
python-version: '3.7.7'
cache: 'pip'
- run: pip install -r requirements.txt
# install riscv gcc
# - name: riscv gcc
# run: |
# cd $HOME
# wget https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2020.04.1-x86_64-linux-ubuntu14.tar.gz
# tar -xzf riscv64-unknown-elf-gcc-8.3.0-2020.04.1-x86_64-linux-ubuntu14.tar.gz
# pwd
- name: pwd
run: |
pwd # /home/runner/work/zero_to_asic_mpw6/zero_to_asic_mpw6
# uncompress
- name: uncompress gds
run: |
make uncompress
# install oss fpga tools
# - name: install oss-cad-suite
# uses: YosysHQ/setup-oss-cad-suite@v1
# with:
# python-override: true # don't want to use that python
# - run: |
# yosys --version
# iverilog -V
# fetch the repos
- name: fetch all
run: python ./configure.py --update-projects
# install projects
- name: configure
run: python ./configure.py --update-caravel
- name: user project wrapper GDS
run: make user_project_wrapper
- name: precheck
run: make run-precheck
# archive the gds and final report for the user project wrapper
- name: Archive Wrapper GDS
uses: actions/upload-artifact@v2
with:
name: Wrapper GDS
path: gds/user_project_wrapper.gds
- name: Archive Wrapper Signoff
uses: actions/upload-artifact@v2
with:
name: Wrapper Report
path: openlane/user_project_wrapper/runs/user_project_wrapper/reports/final_summary_report.csv