1
0
mirror of https://github.com/antonblanchard/microwatt.git synced 2026-04-15 23:51:40 +00:00
Files
antonblanchard.microwatt/.github/workflows/test.yml
Lars Asplund 08c0c4c1b4 Make core testbenches recognized by VUnit
This commit also removes the dependencies these testbenches have on VHPIDIRECT.
The use of VHPIDIRECT limits the number of available simulators for the project. Rather than using
foreign functions the testbenches can be implemented entirely in VHDL where equivalent functionality exists.
For these testbenches the VHPIDIRECT-based randomization functions were replaced with VHDL-based functions.

The testbenches recognized by VUnit can be executed in parallel threads for better simulation performance using
the -p option to the run.py script

Signed-off-by: Lars Asplund <lars.anders.asplund@gmail.com>
2021-06-09 18:00:53 +02:00

81 lines
1.7 KiB
YAML

name: 'test'
on:
push:
pull_request:
schedule:
- cron: '0 0 * * 5'
jobs:
build:
runs-on: ubuntu-latest
container: ghdl/vunit:llvm
steps:
- uses: actions/checkout@v2
- run: make GNATMAKE='gnatmake -j'$(nproc)
py:
needs: [build]
runs-on: ubuntu-latest
container: ghdl/vunit:llvm
steps:
- uses: actions/checkout@v2
- run: |
apt update
apt install -y python3-pexpect
make -j$(nproc) test_micropython test_micropython_long
test:
needs: [build]
strategy:
fail-fast: false
max-parallel: 3
matrix:
task: [
"tests_console",
"{1..99}",
"{100..199}",
"{200..299}",
"{300..399}",
"{400..499}",
"{500..599}",
"{600..699}",
"{700..799}",
"{800..899}",
"{900..999}",
]
runs-on: ubuntu-latest
container: ghdl/vunit:llvm
steps:
- uses: actions/checkout@v2
- run: bash -c "make -j$(nproc) ${{ matrix.task }}"
symbiflow:
strategy:
fail-fast: false
max-parallel: 2
matrix:
task: [ ECP5-EVN, ORANGE-CRAB ]
runs-on: ubuntu-latest
env:
DOCKER: 1
SYNTH_ECP5_FLAGS: -noflatten
FPGA_TARGET: ${{matrix.task}}
steps:
- uses: actions/checkout@v2
- run: make microwatt.json
- run: make microwatt.bit
- run: make microwatt.svf
- uses: actions/upload-artifact@v2
with:
name: ${{matrix.task}}-bitstream
path: microwatt.svf
# test building verilog target from yosys/nextpnr
verilog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: make DOCKER=1 microwatt.v