Skip to content

Run verification on push; Fix litex repo checkout #63

Run verification on push; Fix litex repo checkout

Run verification on push; Fix litex repo checkout #63

Workflow file for this run

name: Verification
on: [push, workflow_dispatch, pull_request]
jobs:
rvtests:
name: Run rvtests
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
CHUNKSIZE: [8, 4, 2, 1]
CONF: [MIN]
RFTYPE: [LOGIC, BRAM, BRAM_DP]
RVC: [NONE]
include:
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: BRAM_BP
RVC: NONE
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: BRAM_DP_BP
RVC: NONE
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: LOGIC
RVC: COMB
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: LOGIC
RVC: REG
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: LOGIC
RVC: HYBR
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v4
with:
version: '2026-03-26'
- name: gcc
uses: ./.github/workflows/setup-riscv-toolchain
- name: RISC-V Tests
env:
VARIANT: ${{ matrix.CHUNKSIZE }}-${{ matrix.CONF }}-${{ matrix.RFTYPE }}-${{ matrix.RVC }}
SUMMARY_DIR_RISCVTESTS: ./rvtests_summary_dir
run: |
make sim.riscvtests.${VARIANT} TOOLCHAIN_PREFIX=riscv32-unknown-elf-
cat ${SUMMARY_DIR_RISCVTESTS}/${VARIANT}.log >> $GITHUB_STEP_SUMMARY
litex_sim:
name: Run LiteX Sim
runs-on: ubuntu-latest
needs: rvtests
strategy:
fail-fast: true
matrix:
CHUNKSIZE: [8]
CONF: [MIN]
RFTYPE: [LOGIC]
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
submodules: recursive
- name: Install dependencies
run: sudo apt-get install libevent-dev libjson-c-dev libjsoncpp-dev
- uses: actions/setup-python@v6
with:
python-version: '3.12'
cache: 'pip'
- run: pip install -r requirements.txt
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v4
with:
version: '2026-03-26'
- name: gcc
uses: ./.github/workflows/setup-riscv-toolchain
- name: Install LiteX
run: |
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
chmod +x litex_setup.py
./litex_setup.py --init --install --user
- name: Checkout repository for LiteX use
uses: actions/checkout@v5
with:
path: 'FazyRV'
- name: Run LiteX sim
run: |
python .github/workflows/scripts/litex_sim_test.py ${{ matrix.CHUNKSIZE }} ${{ matrix.CONF }} ${{ matrix.RFTYPE }}
riscof:
name: Run RISCOF
runs-on: ubuntu-latest
needs: rvtests
strategy:
fail-fast: true
matrix:
CHUNKSIZE: [8, 4, 2, 1]
CONF: [MIN]
RFTYPE: [LOGIC]
RVC: [NONE]
include:
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: BRAM_DP_BP
RVC: NONE
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: BRAM_BP
RVC: NONE
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: BRAM_DP
RVC: REG
- CHUNKSIZE: 8
CONF: MIN
RFTYPE: BRAM_DP
RVC: HYBR
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
submodules: recursive
- uses: actions/setup-python@v6
with:
python-version: '3.12'
cache: 'pip'
- run: pip install -r requirements.txt
- name: fusesoc library
run: |
fusesoc library add fazyrv .
fusesoc library add fsoc .
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v4
with:
version: '2026-03-26'
- name: gcc
uses: ./.github/workflows/setup-riscv-toolchain
- name: sail
uses: ./.github/workflows/setup-sail
- name: RISCOF
env:
VARIANT: ${{ matrix.CHUNKSIZE }}-${{ matrix.CONF }}-${{ matrix.RFTYPE }}-${{ matrix.RVC }}
SUMMARY_DIR_RISCOF: ./riscof_summary_dir
run: |
make riscof.prepare
make riscof.run.${VARIANT}
cat ${SUMMARY_DIR_RISCOF}/${VARIANT}.log >> $GITHUB_STEP_SUMMARY
rvformal:
name: Run RISC-V Formal Checks
runs-on: ubuntu-latest
needs: riscof
strategy:
fail-fast: true
matrix:
CHUNKSIZE: [8, 4, 2]
RVC: [NONE]
include:
- CHUNKSIZE: 8
RVC: COMB
- CHUNKSIZE: 8
RVC: REG
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
submodules: recursive
- name: oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v4
with:
version: '2026-03-26'
- name: checks
env:
VARIANT: ${{ matrix.CHUNKSIZE }}-${{ matrix.RVC }}
run: |
make fv.rvformal.bmc.insn.${VARIANT}