Skip to content

Commit

Permalink
Merge updated workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
meiniKi committed Mar 1, 2024
2 parents 3d1624f + f36356c commit b6ac532
Show file tree
Hide file tree
Showing 12 changed files with 322 additions and 274 deletions.
30 changes: 12 additions & 18 deletions .github/workflows/impl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ on: [push, pull_request]
jobs:
impl_ice40:
name: iCE40 Reference Implementation
runs-on: prunner
runs-on: ubuntu-latest
steps:
- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-02-02/oss-cad-suite-linux-x64-20240202.tgz" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v3

- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3
with:
version: '2024-02-02'

- uses: actions/setup-python@v5
with:
python-version: '3.10'
Expand All @@ -26,26 +28,23 @@ jobs:
fusesoc library add fazyrv .
fusesoc library add fsoc .
- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
with:
from_url: ${{ env.oss_url }}

- name: Run implementation
run: |
make report.soc.all TARGET_ARCH=ice40
make report.md TARGET_ARCH=ice40 >> $GITHUB_STEP_SUMMARY
impl_ecp5:
name: ECP5 Reference Implementation
runs-on: prunner
runs-on: ubuntu-latest
steps:
- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-02-02/oss-cad-suite-linux-x64-20240202.tgz" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v3

- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3
with:
version: '2024-02-02'

- uses: actions/setup-python@v5
with:
python-version: '3.10'
Expand All @@ -59,11 +58,6 @@ jobs:
fusesoc library add fazyrv .
fusesoc library add fsoc .
- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
with:
from_url: ${{ env.oss_url }}

- name: Run implementation
run: |
make report.soc.all TARGET_ARCH=ecp5
Expand Down
14 changes: 2 additions & 12 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,9 @@ name: Lint FazyRV
on: [push, pull_request]

jobs:
lint_slang:
name: Lint using slang
runs-on: prunner
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Linting with slang
run: make SLANG=/tools/slang/build/bin/slang lint.slang

lint_svlint:
name: Lint using svlint
runs-on: prunner
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand All @@ -24,4 +14,4 @@ jobs:
run: sudo snap install svlint

- name: Linting with svlint
run: make lint.svlint
run: make lint.svlint >> $GITHUB_STEP_SUMMARY
23 changes: 0 additions & 23 deletions .github/workflows/setup-oss-cad/action.yml

This file was deleted.

24 changes: 24 additions & 0 deletions .github/workflows/setup-riscv-toolchain/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Build RISC-V riscv-gnu-toolchain

runs:
using: composite
steps:
- id: cache-riscv-gnu-toolchain
uses: actions/cache@v3
with:
path: .riscv-gnu-toolchain
key: riscv-gnu-toolchain-${{ runner.os }}

- shell: bash
if: steps.cache-riscv-gnu-toolchain.outputs.cache-hit != 'true'
run: |
mkdir -p .riscv-gnu-toolchain
cd .riscv-gnu-toolchain
wget -q -O - https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2023.09.27/riscv32-elf-ubuntu-22.04-gcc-nightly-2023.09.27-nightly.tar.gz | tar -zx --transform "s/riscv/riscv32/"
cd ..
- shell: bash
run: |
echo "$(pwd)/.riscv-gnu-toolchain/riscv32/bin" >> $GITHUB_PATH
28 changes: 28 additions & 0 deletions .github/workflows/setup-sail/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Build sail-riscv

runs:
using: composite
steps:
- id: cache-sail-riscv
uses: actions/cache@v3
with:
path: .sail
key: sail-riscv-${{ runner.os }}

- shell: bash
if: steps.cache-sail-riscv.outputs.cache-hit != 'true'
run: |
git clone --recursive https://github.com/rems-project/sail-riscv.git .sail
sudo apt install -y opam build-essential libgmp-dev z3 pkg-config zlib1g-dev
opam init -y --disable-sandboxing
opam switch create ocaml-base-compiler.4.06.1
opam install sail -y
eval $(opam config env)
cd .sail
git checkout tags/0.5
ARCH=RV32 make
cd ..
- shell: bash
run: echo "$(pwd)/.sail/c_emulator" >> $GITHUB_PATH

19 changes: 9 additions & 10 deletions .github/workflows/track_area.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
name: Track area demand in readme

on: [push, pull_request]
on:
push:
branches:
- dev
pull_request:

jobs:
evaluate:
name: Run synthesis and upload plot
runs-on: prunner
runs-on: ubuntu-latest
steps:
- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/$(date -d "yesterday" "+%Y-%m-%d")/oss-cad-suite-linux-x64-$(date -d "yesterday" "+%Y%m%d").tgz" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3

- uses: actions/setup-python@v5
with:
python-version: '3.10'
Expand All @@ -31,11 +35,6 @@ jobs:
- name: Actions checkout
uses: actions/checkout@v3

- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
with:
from_url: ${{ env.oss_url }}

- name: Run implementation
run: make track.sizes.synth COMMIT=$(git rev-parse --short "$GITHUB_SHA")

Expand Down
79 changes: 35 additions & 44 deletions .github/workflows/verif.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,26 @@ on: [push, pull_request]
jobs:
rvtests:
name: Run rvtests
runs-on: prunner
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-02-26/oss-cad-suite-linux-x64-20240226.tgz" >> $GITHUB_ENV

- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3
with:
from_url: ${{ env.oss_url }}
version: '2024-02-02'

- name: gcc
uses: ./.github/workflows/setup-riscv-toolchain

- name: RISC-V Tests
run: make report.riscvtests.all TOOLCHAIN_PREFIX=/tools/riscv/rv32i/bin/riscv32-unknown-elf-
run: make report.riscvtests.all TOOLCHAIN_PREFIX=riscv32-unknown-elf-

riscof:
name: Run RISCOF tests
runs-on: prunner
runs-on: ubuntu-latest
needs: rvtests
steps:
- name: Checkout repository
Expand All @@ -45,36 +45,36 @@ jobs:
fusesoc library add fazyrv .
fusesoc library add fsoc .
- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-02-26/oss-cad-suite-linux-x64-20240226.tgz" >> $GITHUB_ENV

- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3
with:
from_url: ${{ env.oss_url }}
version: '2024-02-02'

- name: gcc
uses: ./.github/workflows/setup-riscv-toolchain

- name: sail
uses: ./.github/workflows/setup-sail

- name: RISCOF
run: |
make riscof.prepare
make riscof.all PATH="/tools/riscv/rv32i/bin/:/tools/sail-riscv/c_emulator/:$PATH"
make riscof.all
cov_insn:
name: Cover insn checks
runs-on: prunner
runs-on: ubuntu-latest
needs: rvtests
steps:
- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-02-26/oss-cad-suite-linux-x64-20240226.tgz" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3
with:
from_url: ${{ env.oss_url }}
version: '2024-02-02'

- name: cov.8
run: make fv.rvformal.cov.insn.8
Expand All @@ -84,21 +84,18 @@ jobs:

cov_reg:
name: Cover reg checks
runs-on: prunner
runs-on: ubuntu-latest
needs: rvtests
steps:
- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-02-26/oss-cad-suite-linux-x64-20240226.tgz" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3
with:
from_url: ${{ env.oss_url }}
version: '2024-02-02'

- name: cov.8
run: make fv.rvformal.cov.reg.8
Expand All @@ -108,21 +105,18 @@ jobs:

bmc_insn:
name: BMC insn checks
runs-on: prunner
runs-on: ubuntu-latest
needs: rvtests
steps:
- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-02-26/oss-cad-suite-linux-x64-20240226.tgz" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3
with:
from_url: ${{ env.oss_url }}
version: '2024-02-02'

- name: bmc.8
run: make fv.rvformal.bmc.insn.8
Expand All @@ -132,21 +126,18 @@ jobs:

bmc_reg:
name: BMC reg checks
runs-on: prunner
runs-on: ubuntu-latest
needs: rvtests
steps:
- name: OSS-CAD-Suite version
run: echo "oss_url=https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-02-26/oss-cad-suite-linux-x64-20240226.tgz" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: OSS CAD Suite
uses: ./.github/workflows/setup-oss-cad
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v3
with:
from_url: ${{ env.oss_url }}
version: '2024-02-02'

- name: bmc.8
run: make fv.rvformal.bmc.reg.8
Expand Down
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -167,13 +167,18 @@ riscof.run.%: $(SRC_DESIGN) $(SRC_SYNTH)
export RISCOF_RFTYPE=$(RF)
riscof testlist --config=dv/config.ini --suite=riscv-arch-test/riscv-test-suite/ --env=riscv-arch-test/riscv-test-suite/env
riscof run --no-browser --config=dv/config.ini --suite=riscv-arch-test/riscv-test-suite/ --env=riscv-arch-test/riscv-test-suite/env 2>&1 | tee $(SUMMARY_DIR_RISCOF)/tmp.txt
@ ! grep -q "Failed" $(SUMMARY_DIR_RISCOF)/tmp.txt
@ ! grep -q -e "Failed" -e "ERROR" $(SUMMARY_DIR_RISCOF)/tmp.txt
@echo $$? > $(SUMMARY_DIR_RISCOF)/$*.log
@rm $(SUMMARY_DIR_RISCOF)/tmp.txt
# riscof exit code does not report failures, see Issue #102
# workaround using the tmp.txt file

riscof.all: $(addprefix riscof.run., $(RVTESTS_PARAMS))
@if [ -z $$(find $(SUMMARY_DIR_RISCOF) -name "*.log") ]; then \
echo "Error: No *.log files found"; \
exit 1; \
fi

@for log_file in $(wildcard $(SUMMARY_DIR_RISCOF)/*.log); do \
if [ $$(cat "$$log_file") != "0" ]; then \
echo "Error: $$log_file RICOF failed"; \
Expand Down
Loading

0 comments on commit b6ac532

Please sign in to comment.