Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use RISC-V DV for core verification #79

Merged
merged 19 commits into from Apr 24, 2023

Conversation

mkurc-ant
Copy link
Collaborator

@mkurc-ant mkurc-ant commented Apr 12, 2023

This PR introduces the use of RISC-V DV framework for testing VeeR-EL2 core.

The flow uses a custom Makefile located in tools/riscv-dv. The makefile invokes the run.py script which generates a random instruction stream for a given test, compiles it and runs in a ISS. Currently spike and veer-iss are supported by the makefile. The other part of the makefile is responsible for building verilated testbench for VeeR and running the same compiled code. The last part is execution log comparison using an utility from RISC-V DV.

Since RISC-V DV uses its own format of execution log (CSV) it was necessary to write a log converter for VeeR to adapt execution logs produced by testbench.

The PR also includes a GH action CI flow which builds all the dependencies (verilator, spike, and veer-iss) and runs the tests. The tests are organized in a matrix which tests all combinations of ISS and test. Currently there is only one test and two ISSes.

…nd in spike ISS

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
…d it with the Makefile flow

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
…truction

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
@mkurc-ant mkurc-ant marked this pull request as draft April 12, 2023 07:34
…nt path

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
@mkurc-ant mkurc-ant marked this pull request as ready for review April 17, 2023 11:45
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
…py, added matrix CI

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
…ion attempts writing to x0 (zero)

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
@mkurc-ant mkurc-ant changed the title [WIP] Use RISC-V DV for core verification Use RISC-V DV for core verification Apr 17, 2023
@mkurc-ant mkurc-ant requested a review from kgugala April 24, 2023 10:13
@mkurc-ant mkurc-ant changed the base branch from main to main-next April 24, 2023 10:21
Copy link
Member

@kgugala kgugala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kgugala kgugala merged commit 41571a6 into chipsalliance:main-next Apr 24, 2023
9 checks passed
@kgugala kgugala deleted the use-riscv-dv branch April 24, 2023 10:27
@mkurc-ant mkurc-ant mentioned this pull request May 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants