chipsalliance / chipsalliance/chisel

Expand APIs that support ChiselEnum

Open
#1,058 3 comments 9 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.