Skip to content

Commit

Permalink
CI: setup asic-flow job
Browse files Browse the repository at this point in the history
Signed-off-by: Pawel Czarnecki <[email protected]>
  • Loading branch information
lpawelcz committed Jul 5, 2023
1 parent 5323e6a commit f8bc373
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/build-yosys-systemverilog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Yosys with SystemVerilog Build

on:
workflow_call:

jobs:
yosys-systemverilog:
name: Build yosys-systemverilog
runs-on: ubuntu-latest
env:
TOOL_NAME: yosys-systemverilog
DEBIAN_FRONTEND: "noninteractive"

steps:
- name: Install prerequisities
run: |
sudo apt -qqy update && sudo apt -qqy --no-install-recommends install \
gcc-9 g++-9 build-essential cmake tclsh ant default-jre swig google-perftools \
libgoogle-perftools-dev python3 python3-dev python3-pip uuid uuid-dev tcl-dev \
flex libfl-dev git pkg-config libreadline-dev bison libffi-dev wget pip3 install \
orderedmultidict
- name: Build yosys-systemverilog
run: |
pushd yosys-systemverilog
make -j `nproc` synthesis-tools
popd
cd third_party/yosys-systemverilog && mv image yosys-systemverilog tar -czvf yosys-systemverilog.tar.gz yosys-systemverilog
- name: Store yosys-systemverilog binaries
uses: actions/upload-artifact@v3
with:
name: yosys-systemverilog
path: third_party/yosys-systemverilog/yosys-systemverilog.tar.gz
retention-days: 1

9 changes: 9 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ jobs:
name: Build-Verilator
uses: ./.github/workflows/build-verilator.yml

Build-Yosys-SystemVerilog:
name: Build-Yosys-SystemVerilog
uses: ./.github/workflows/build-yosys-systemverilog.yml

Test-Regression:
name: Test-Regression
needs: [Build-Verilator]
Expand All @@ -27,6 +31,11 @@ jobs:
needs: [Build-Verilator]
uses: ./.github/workflows/test-riscv-dv.yml

Run-ASIC-Flow:
name: Run-ASIC-Flow
needs: [Build-Yosys-SystemVerilog]
uses: ./.github/workflows/run-asic-flow.yml

Report-Coverage:
name: Report-Coverage
needs: [Test-Regression, Test-Verification, Test-RISCV-DV]
Expand Down
56 changes: 56 additions & 0 deletions .github/workflows/run-asic-flow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Run VeeR EL2 ASIC Flow

on:
workflow_call:

jobs:

run-asic-flow:
name: VeeR EL2 ASIC Flow
runs-on: ubuntu-latest
env:
DEBIAN_FRONTEND: "noninteractive"

steps:
- name: Install utils
run: |
sudo apt -qqy update && sudo apt -qqy --no-install-recommends install \
git python3 python3-pip build-essential ccache
sudo cpanm Bit::Vector
- name: Download yosys-systemverilog binaries
uses: actions/download-artifact@v3
with:
name: yosys-systemverilog
path: /opt

- name: Unpack yosys-systemverilog binaries
run: |
cd /opt && tar -zxvf yosys-systemverilog.tar.gz
- name: Setup repository
uses: actions/checkout@v2

- name: Run ASIC Flow
run: |
export PATH=/opt/yosys-systemverilog/bin:$PATH
make -j `nproc` run-asic-flow
- name: Pack modified SV sources
if: always()
uses: actions/upload-artifact@v3
with:
name: modified-sv-sources
path: |
./build/src
./build/inc
- name: Pack ASIC Flow artifacts
if: always()
uses: actions/upload-artifact@v3
with:
name: asic-flow-results
path: |
./third_party/OpenROAD-flow-scripts/flow/results
./third_party/OpenROAD-flow-scripts/flow/reports
./third_party/OpenROAD-flow-scripts/flow/logs

0 comments on commit f8bc373

Please sign in to comment.