chipsalliance / chipsalliance/chisel
Expand APIs that support ChiselEnum
- Dominant language
- Scala
- Stars
- 4.8k
- Forks
- 658
- Avg merge
- 18h 59m
- Merged PRs (30d)
- 14
Description
**Type of issue**: feature request
**Impact**: API addition (no impact on existing code)
**Development Phase**: request
**Other information**
Inspired by this question on StackOverflow: https://stackoverflow.com/questions/55432650/how-to-use-a-chisel3-experimental-chiselenum-in-an-i-o-port
**What is the current behavior?**
`MuxLookup` only accepts `UInts` as selector
**What is the ~expected~ desired behavior?**
Things like `MuxLookup` should/could support `ChiselEnum`. I'm sure there are other things that should accept `ChiselEnum`s as well.
**What is the use case for changing the behavior?**
More convenient than having to cast every enum to UInt.
Contributor guide
Research direction
Start by locating MuxLookup's selector handling and the ChiselEnum API in the Chisel codebase, then inspect whether other APIs have the same UInt-only restriction. Define the supported API surface and verify that enum selectors work without explicit casts, with coverage for the relevant cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100