1.23.0
New Features
- Add numerous Node methods and properties to make working with aliases easier:
RegNode.is_alias
RegNode.alias_primary
RegNode.has_aliases
RegNode.aliases
FieldNode.is_alias
FieldNode.alias_primary
FieldNode.has_aliases
FieldNode.aliases
FieldNode.implements_storage
now accounts for aliases:- Fields inside an alias register never implement storage
- A field inside a primary register may inherit additional access modes indirectly from its aliases, and therefore end up implementing storage.
- Enhance walker so that listener callbacks can control walker traversal. Listener callbacks can now optionally return a
systemrdl.WalkerAction
enumeration to direct how walker should continue.
New Validation
- Numerous rule checks added to check consistency of alias registers and their contents.
Bug Fixes
- Fix elaboration so alias registers inherit primary instance's internal/external type. #123