Add Verilator simulation support. #70
This file contains 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
# Copyright 2021 OpenHW Group | |
# Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
# SPDX-License-Identifier: Apache-2.0 | |
# Run functional regression checks | |
name: ci | |
on: [push, pull_request] | |
jobs: | |
install-tools: | |
name: install-tools | |
runs-on: ubuntu-latest | |
env: | |
NUM_JOBS: 8 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Verify Verilator installation | |
run: | | |
make verilator | |
- name: Verify GCC installation | |
run: | | |
make riscv32-gcc | |
- name: Verify bender installation | |
run: | | |
make bender | |
- name: Verify Python tools installation | |
run: | | |
cd golden-model && source setup-py.sh | |
# - name: Install | |
# run: | | |
# make verilator riscv32-gcc bender; cd golden-model && source setup-py.sh | |
run-hwpe-tests: | |
name: run-hwpe-tests | |
runs-on: ubuntu-latest | |
env: | |
REDMULE_COMPLEX: 0 | |
BENDER: ./bender | |
strategy: | |
matrix: | |
M: [ 12 ] | |
N: [ 16 ] | |
K: [ 16 ] | |
include: | |
- M: 96 | |
N: 96 | |
K: 96 | |
- M: 128 | |
N: 128 | |
K: 128 | |
- M: 24 | |
- M: 48 | |
N: 32 | |
K: 32 | |
- M: 30 | |
N: 32 | |
K: 17 | |
- M: 24 | |
N: 32 | |
K: 1 | |
- M: 31 | |
N: 32 | |
K: 16 | |
- M: 17 | |
N: 32 | |
K: 16 | |
- M: 31 | |
N: 32 | |
K: 31 | |
- M: 17 | |
N: 32 | |
K: 3 | |
- M: 5 | |
N: 32 | |
K: 17 | |
- M: 5 | |
N: 32 | |
K: 3 | |
- M: 36 | |
N: 31 | |
K: 32 | |
- N: 31 | |
- M: 23 | |
N: 31 | |
K: 31 | |
- M: 24 | |
N: 17 | |
K: 32 | |
- M: 24 | |
N: 20 | |
K: 32 | |
needs: | |
install-tools | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install required tools | |
run: | | |
make bender | |
make riscv32-gcc | |
make verilator | |
pip3 install numpy | |
cd golden-model && source setup-py.sh && cd .. | |
- name: Run Tests | |
run: | | |
make golden M=${{matrix.M}} N=${{matrix.N}} K=${{matrix.K}} | |
make sw-all | |
make hw-all | |
run-complex-tests: | |
name: run-complex-tests | |
runs-on: ubuntu-latest | |
env: | |
REDMULE_COMPLEX: 1 | |
BENDER: ./bender | |
strategy: | |
matrix: | |
M: [ 12 ] | |
N: [ 16 ] | |
K: [ 16 ] | |
include: | |
- M: 96 | |
N: 96 | |
K: 96 | |
- M: 128 | |
N: 128 | |
K: 128 | |
- M: 24 | |
- M: 48 | |
N: 32 | |
K: 32 | |
- M: 30 | |
N: 32 | |
K: 17 | |
- M: 24 | |
N: 32 | |
K: 1 | |
- M: 31 | |
N: 32 | |
K: 16 | |
- M: 17 | |
N: 32 | |
K: 16 | |
- M: 31 | |
N: 32 | |
K: 31 | |
- M: 17 | |
N: 32 | |
K: 3 | |
- M: 5 | |
N: 32 | |
K: 17 | |
- M: 5 | |
N: 32 | |
K: 3 | |
- M: 36 | |
N: 31 | |
K: 32 | |
- N: 31 | |
- M: 23 | |
N: 31 | |
K: 31 | |
- M: 24 | |
N: 17 | |
K: 32 | |
- M: 24 | |
N: 20 | |
K: 32 | |
needs: | |
install-tools | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install required tools | |
run: | | |
make bender | |
make riscv32-gcc | |
make verilator | |
pip3 install numpy | |
cd golden-model && source setup-py.sh && cd .. | |
- name: Run Tests | |
run: | | |
make golden M=${{matrix.M}} N=${{matrix.N}} K=${{matrix.K}} | |
make sw-all | |
make hw-all |