-
Notifications
You must be signed in to change notification settings - Fork 15
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
Verilator compile fails when compiling with the RV32E parameter set #39
Comments
Thanks for the patch, definitely useful to fix this lint issues. |
Please try a2f2976. Verilator compilation works for me on this commit. |
Or, maybe, you are not setting RV32E parameter in your compile? |
I did set RV32E, but my verilator setting probably is different from yours. I can't say I fully agree with verilator's lint rules.. however, the index width complaints probably should be fixed (even though they aren't real RTL issues since the cheriot_ibex design guarantee all regfile addresses <=16 when cheri_pmode=1). I can look into that. |
Please take at the latest commit 3f0ec86. Basically,
|
Observed Behavior
As the attached log file shows, fusesoc.log, Verilator compile of the Cheri Ibex fails if the RV32E parameter is set.
Expected Behavior
RV32E enables 16x GP registers, which matches the CHERIoT spec. Without the RV32E option there are 16x redundant GP registers implemented.
The attached patch, ibex_cheri_rv32e.patch.txt, fixes the compile issue for me and has been lightly tested. The patch also propagates the RV32E parameter through the top_tracing module.
Steps to reproduce the issue
I'm using the Sonata System project.
My Environment
EDA tool and version:
Verilator 5.023 devel rev v5.020-200-g88831ca21
Operating system:
Ubuntu 20.04
Version of the Ibex source code:
Sonata main with RV32E parameter set at the ibex_top level
The text was updated successfully, but these errors were encountered: