[HW][SV] Use FieldID in HW/SV dialects
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 524
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
FieldID is very useful feature to specify the subelement in aggregate types(struct, array...). Currently it is supported only in FIRRTL dialect:
https://github.com/llvm/circt/blob/769181bdfd191c4a684301c02e1d43fd7e79bcc6/include/circt/Dialect/FIRRTL/FIRRTLTypes.h#L290-L304
Currently we are using an inefficient implementation to construct an access path from fieldID in ExportVerilog. So we have to replace the implementation once HW/SV dialects support fieldID utilities.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the FieldID utilities in include/circt/Dialect/FIRRTL/FIRRTLTypes.h and inspect the current access-path construction in ExportVerilog. Determine where equivalent FieldID support belongs in the HW and SV dialects, then replace the inefficient ExportVerilog implementation. Done means HW/SV dialects support the needed FieldID utilities and ExportVerilog uses them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100