-
Notifications
You must be signed in to change notification settings - Fork 545
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
Add support for RISCOF based checks #1251
base: master
Are you sure you want to change the base?
Conversation
86779ab
to
04a5019
Compare
Anyone know what would be the correct solution to |
04a5019
to
0add175
Compare
For the pyYAML problem, I think you probably just want to use the distro version. See PR #1226. |
Sorry, I should have explained it in more detail. pyYAML is pulled in as a dependency from |
Oh, I see. I guess |
reading the documentation more carefully, maybe the safer bet would be remove the local installation again? |
Okay, I just saw in the log that pyYAML 3.12 is available, that's from 2016. I did not directly find which package requires what, but I would guess somewhere a newer version is required. Soo, remove system installation? Maybe @imphil has an opinion here? |
Yes, we explicitly installed the distribution's version of pyyaml as the PyPi-distributed version didn't include the libyaml (C) library bindings, but only the pure-Python version, which is significantly slower. Ubuntu 18.04 gives us pyyaml 3.x. The requirement for a newer pyyaml version comes from riscv-config (https://github.com/riscv/riscv-config/blob/master/setup.py#L38). It's hard to tell where the exact version requirement came from looking at the relevant commit (riscv-software-src/riscv-config@4617b31). But at the same time I just saw that pyyaml is now installing wheels for Linux which include the libyaml bindings, so we actually don't need to use the distribution package any more. You can therefore remove the python3-yaml distribution package from the list of packages, and pip should pick up a compatible version from PyPi. |
Thanks a lot Philipp for your investigation! |
Should pip install update the packages again? |
The update flag shouldn't be needed, we're happy with any version satisfying the requirements. |
90a0ae9
to
859d3d1
Compare
RISC-V Compliance reference model to compare existing signatures.
Reference signatures created with Spike RISC-V ISA RISCOF plugin.
Run riscv-compliance v2 tests, but ignore failures. RISCOF based compliance check is still in active development and some tests are known to fail.
859d3d1
to
a7758dd
Compare
Hey @towoe , @imphil , @rswarbrick , |
Hi @vogelpi, |
This PR addresses #1233 and provides some basic functionality to run riscv-compliance checks based on RISCOF.
RISCOF is still in development and the switch to it in riscv-compliance is only partially completed.
Add a Python model of Ibex to integrate with RISCOF.
Add a pseudo model to compare the output of Ibex to reference signatures.
Run the check in CI, it is intended not to fail even though some tests will not pass. The same specification is used for different configurations of Ibex, this needs to be extended in the future. (Provide more
ibex_*_isa.yaml
files.)