-
Notifications
You must be signed in to change notification settings - Fork 7
Convert registers to RDL, remove templating, convert to APB #5
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
base: master
Are you sure you want to change the base?
Conversation
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 a lot for your contribution, overall, LGTM!
I left some minor comments, mostly related to naming conventions that differ from the official SystemRDL style.
We could agree on a common structure for naming internal sub-fields. In particular, as highlighted in the SystemRDL style guide, I would recommend avoiding excessive prefixes, which can be overly verbose. Since the generated top-level register file follows a structured approach, the regfile name is already visible when accessing internal sub-fields, making such prefixes unnecessary.
| ) { | ||
| reg msip { | ||
| name = "MSIP"; | ||
| desc = "Machine Software Interrupt Pending"; |
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.
We could add a note like: active high/low to improve the documentation
| desc = "Machine Software Interrupt Pending"; | ||
| field { | ||
| name = "P"; | ||
| desc = "Machine Software Interrupt Pending"; |
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.
same as above
|
I took the liberty to push some commits to this PR that also address @Lore0599 suggestions🤓 The hierarchical names should now be as minimal as possible without redundant prefixes. I also renamed |
local `peakrdl-regblock` version was older
paulsc96
left a comment
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.
Looks solid overall. But I have no prior experience with SystemRDL, so I can't really vouch for the new generation approach.
It's a bit unfortunate that we are still stuck with generation to begin with, but SystemRDL/PeakRDL#54 / SystemRDL/PeakRDL-regblock#33 / SystemRDL/systemrdl-compiler#58 don't seem like they will make any progress this millenium, so we might aswell move now.
I won't be around much longer, so if anyone wants to take over maintainership of this repo, go right ahead.
|
Yes, parametrizable register block output would be amazing. But it's already an improvement to what we had before |
No description provided.