Run verification on push; Fix litex repo checkout #63
Workflow file for this run
This file contains hidden or 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: 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} |