-
Notifications
You must be signed in to change notification settings - Fork 687
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
Avoid using System Verilog defines in RTL code #483
Comments
PITON_ARIANE is already prefixed with PITON_ as it is related to OpenPiton. That is our prefix. Please do not remove these macros. |
Thank you for your comments @Silabs-ArjanB, and FWIW, I completely agree with you. @JeanRochCoulon, let's solve this one-and-for-all. Let's first tackle the non |
@MikeOpenHWGroup @Jbalkind After the modification, you can find below the remaining defines in the CVA6 RTL: @Jbalkind, can you have a look to PITON_ARIANE ? I will address the RVFI_TRACE and RVFI_MEM in the meantime. |
#1127 has been merged to replace the WT_DCACHE by localparam defined in config pkg |
@Jbalkind, quick update. I think the work done on parametrization can help in removing PITON_ARIANE ifdef. |
#1321 had a draft approach which could enable replacing one or two more of those by introducing I have a branch which gets rid of the rest but is using an older cva6 https://github.com/Jbalkind/ariane/tree/remove_piton_ariane Seems like we're getting closer to a solution |
Nice! Can you rebase it ? |
@cfuguet added at least one macro with the HPDC: https://github.com/openhwgroup/cva6/blob/master/core/cache_subsystem/cva6_hpdcache_subsystem.sv#L267 |
The CVA6 uses the following defines (used in ifdef/ifndef statements):
Similar to the request made in openhwgroup/cv32e40p#301 all such System Verilog defines should (ideally) be completely avoided in RTL code (and for example be replaced by localparam or parameter, avoided by a cleaner split between RTL and non-RTL code (in separate files), etc.). On CV32E40P all defines were avoided by rewrites performed in openhwgroup/cv32e40p#389 (actually the define related to assertions is still there, but will soon be removed as well as assertions will move into seperate files outside of the RTL files). If for some reason defines will still be used, it would be cleaner if they use a uniform prefix (e.g. CVA6_) to reduce the chance of conflicts with other RTL code.
The text was updated successfully, but these errors were encountered: