chipsalliance / chipsalliance/chisel
Support default connection via hasCustomConnect
- Dominant language
- Scala
- Stars
- 4.8k
- Forks
- 658
- Avg merge
- 18h 59m
- Merged PRs (30d)
- 14
Description
**Type of issue**: Feature Request
**Is your feature request related to a problem? Please describe.**
Add default connection feature support to Connectable.
**Describe the solution you'd like**
I'm not sure should we use `Bundle.Lit` here, but we need to programming decide if connect a field via default or connect the field.
e.g. A full AXI bundle, parametrized not supporting `AxProt` or `AxCache` field, when bulking connect, the field at master side should be ignored, and connect a Const value defined by specification.
**Describe alternatives you've considered**
Exposing this feature to user maybe dangerous? In general, for those unconnected signals, users always connect to DontCare, which is more dangerous, since the behavior of DC is 0.U in compiler.
**Additional context**
RocketChip provides this feature via [BundleMap](https://github.com/chipsalliance/rocket-chip/blob/dbcb06afe1c76d1129cb6d264949322a34c37185/src/main/scala/util/BundleMap.scala#L123)
**What is the use case for implementing this feature?**
- Interconnect automation.
Contributor guide
Research direction
Start by reading the Connectable API and the proposed hasCustomConnect behavior, then compare it with RocketChip's BundleMap.scala implementation linked in the issue. Review how Bundle.Lit, AXI bundles, and DontCare are currently handled. Done should include a decided, tested way to connect unsupported fields to specification-defined defaults during interconnect automation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100