这是indexloc提供的服务,不要输入任何密码
Skip to content

[Reggen] Export more properties to SystemRDL #27618

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

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

engdoreis
Copy link
Contributor

@engdoreis engdoreis commented Jul 11, 2025

This PR get most of the properties exported to SystemRDL. It also defines some custom properties:

  • hwre: Should this be named differently in System RDL?
  • shadowed

@engdoreis engdoreis force-pushed the systemrdl-regs branch 2 times, most recently from 1f0be46 to 09514be Compare July 11, 2025 13:04
@engdoreis engdoreis changed the title [DRAFT][Reggen] Export more properties to SystemRDL [Reggen] Export more properties to SystemRDL Jul 11, 2025
@engdoreis engdoreis marked this pull request as ready for review July 11, 2025 15:08
@engdoreis engdoreis requested a review from msfschaffner as a code owner July 11, 2025 15:08
Copy link
Contributor

@a-will a-will left a comment

Choose a reason for hiding this comment

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

Just commenting on the user-defined properties. I haven't looked deeply at the additional fields for MultiRegister, but it seems like it could use more explanation (e.g. in commit messages).

valid_components = {Field}


class Hwre(UDPBoolean):
Copy link
Contributor

Choose a reason for hiding this comment

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

Bleh, it's kind of annoying that we have a separate property here. SystemRDL has swacc for any access and swmod for any change, but those don't map perfectly.

I guess that makes a UDP make sense (for compatibility / reproduction reasons). For a SystemRDL import to reggen (opposite direction), we probably won't care. swacc would generate qe and re, and we don't currently support swmod inside our code generation.

valid_components = {Reg}


class Shadowed(UDPBoolean):
Copy link
Contributor

Choose a reason for hiding this comment

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

Seems fine. There's is no standard property for this, only vendor-defined ones. It's too bad the SystemRDL WG is inactive.

Signed-off-by: Douglas Reis <doreis@lowrisc.org>
Signed-off-by: Douglas Reis <doreis@lowrisc.org>
@engdoreis engdoreis requested a review from a-will July 17, 2025 16:18
@engdoreis engdoreis requested review from AlexJones0 and removed request for msfschaffner July 21, 2025 10:06
This will be important for systemrdl later.

Signed-off-by: Douglas Reis <doreis@lowrisc.org>
Signed-off-by: Douglas Reis <doreis@lowrisc.org>
Signed-off-by: Douglas Reis <doreis@lowrisc.org>
Signed-off-by: Douglas Reis <doreis@lowrisc.org>
False = 0x69696969;
};

/* `true` if hardware uses `re` signal, which is latched signal of software read pulse.*/
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps explain the difference to swacc here, i.e. swacc = hwre | swmod.

@engdoreis engdoreis requested a review from moidx July 22, 2025 16:14
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.

3 participants