Skip to content

Conversation

@micprog
Copy link
Member

@micprog micprog commented Jun 20, 2025

No description provided.

Copy link

@Lore0599 Lore0599 left a 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";
Copy link

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";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

@fischeti
Copy link

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 clint_reg_top to clint_reg and updated the clint.mk make fragment.

local `peakrdl-regblock` version was older
Copy link
Member

@paulsc96 paulsc96 left a 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.

@fischeti
Copy link

fischeti commented Dec 2, 2025

Yes, parametrizable register block output would be amazing. But it's already an improvement to what we had before

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants