[ipgen/multitop/dtgen/reggen] Issues related having instances with different parameters
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
### Description
Currently if an IPgen IP is instantiated more than once but with different parameters, those will be treated as different IPs by reggen/dtgen. This creates a lot of friction on the software side because we usually want to treat them together. For example two instances of `rv_core_ibex` or `pwm` are sufficiently close that the differences can be covered by the DT.
Issues:
- trying rename the core from `rv_ibex_core` to something else fails because `topgen` has some assumptions on the name
- renaming the PLIC crashes topgen
- more generally topgen/dtgen has many assumptions about names
- for IPgen IPs, topgen [enforces](https://github.com/lowRISC/opentitan/blob/master/util/topgen.py#L2620) that the `name` matches the `type` which prevents using an IP type more than once
- topgen should check that module names are unique, at the moment this check is indirect by a failed assertion in the xbar elaboration code
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with util/topgen.py around line 2620 and trace how topgen, dtgen, and reggen handle IPgen instances, names, and types. Review the xbar elaboration path mentioned in the issue; done means renamed or differently parameterized instances are handled consistently and duplicate module names receive an explicit check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100