-
Hello, I am implementing a generator that should support extending the register description with user-defined properties. These properties are used to specify register behaviour in cases not covered by SystemRDL. These UDPs should be defined by the user and not hardcoded in the generator. Currently, UDPs and their semantics are to be defined in generator backends. My project requires the users to define their UDPs with their custom semantics. In my case, these semantics can be easily represented by a single predicate. It would be beneficial if SystemRDL would allow UDPs for UDP definitions:
Essentially, I require a mechanism to associate user-defined properties with predicates represented as strings. Each UDP can have at most one associated predicate. Are you aware of any workarounds that would enable me to achieve this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Although the SystemRDL standard allows defining user-defined properties for components, the language specification does not support extending UDP declarations themselves. Extending the open source Instead, I would recommend using the |
Beta Was this translation helpful? Give feedback.
I think your idea of providing additional metadata via a YAML or other format may be the best approach here. Although I agree that "single source of truth" as a design goal is often important, I do not see how that would be appropriate here as it would scale pretty poorly, and any hacks to inspect the RDL for comment pragmas may be very fragile.