mirror of
https://github.com/antonblanchard/microwatt.git
synced 2026-04-15 23:51:40 +00:00
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>
81 lines
1.7 KiB
YAML
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
|