-
Notifications
You must be signed in to change notification settings - Fork 85
Replace reggen and hjson with rdl #225
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
Conversation
hw/snitch_cluster/src/snitch_cluster_peripheral/snitch_cluster_peripheral_reg.rdl
Outdated
Show resolved
Hide resolved
hw/snitch_cluster/src/snitch_cluster_peripheral/snitch_cluster_peripheral_reg.rdl
Outdated
Show resolved
Hide resolved
hw/snitch_cluster/src/snitch_cluster_peripheral/snitch_cluster_peripheral.sv
Outdated
Show resolved
Hide resolved
Simple question, why? 😁 |
SystemRDL together with PeakRDL provides great infrastructure for register files, and especially can tie together these address maps hierarchically, allowing for a full view of an SoC. The language is properly specified and more widely accepted than opentitan's hjson format. Furthermore, most industry-standard IPs use APB as a configuration interface, which is also directly supported here in favor of register interface (feel free look into adding register_interface ports to peakrdl-regblock if you prefer this). Ensuring the registers are generated from the rdl description further ensures a single source of truth for the system's mapping. Pulling together rdl files, adding memory blocks, and tying these together allows for direct checking of address map collisions, and ultimately provides a top-level view of a system's address space, something that would require a significant amount of manual work with the current infrastructure. |
I see now that it's an Accelera standard. Cool, thanks @micprog :) |
Currently, some tests are failing because the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution @micprog! It mostly LGTM, I just have some minor questions for you in the following review. Regarding the suggested changes I could also apply these myself.
hw/snitch_cluster/src/snitch_cluster_peripheral/snitch_cluster_peripheral.sv
Outdated
Show resolved
Hide resolved
hw/snitch_cluster/src/snitch_cluster_peripheral/snitch_cluster_peripheral_reg.rdl
Show resolved
Hide resolved
0604dd2
to
a2a8508
Compare
3e45ec5
to
f7d7ef7
Compare
9e4da51
to
b2248a0
Compare
Contributions:
hjson
andreggen
withrdl
andpeakrdl
respectively