circt
circt copied to clipboard
[RFC] [NFC] [FIRRTL] Add a concept of Usages to Grand Central Views
trafficstars
Because GrandCentralViews must currently emitted at the same time as the design, it would be nice to emit all possible Views of interest at once and "bucket" them by use, rather than having to regenerate the entire circuit just to attach different Views.
This is a proposal to add a concept of "usages" for each Grand Central View. This proposal currently just changes the related FIRRTL annotations in the documentation, no code changes are yet proposed in this PR.
Would appreciate any feedback on this approach.
Open questions:
- Should usages be just a string ("MyUsageOne" vs "SomeOtherUsage" or should there be defined usages with well-defined meaning
- I've rather arbitrarily specified where output files should go / be different based on this, does it make sense
- Is this the right approach if we consider extending this
usageconcept to allmodules, not just GrandCentralViews.
Opened #3325 for discussion.