chipsalliance / chipsalliance/rocket-chip
Use built-in async reset support
- Dominant language
- Scala
- Stars
- 3.9k
- Forks
- 1.3k
- Avg merge
- 5d 13m
- Merged PRs (30d)
- 1
Description
@hcook as requested in https://github.com/chipsalliance/rocket-chip/pull/2074#issuecomment-546010373
With https://github.com/chipsalliance/rocket-chip/pull/2074 we should use Chisel's built-in async reset support. This is a tracking issue for the steps to better utilize this feature. This is **not** about making rocket-chip use async reset instead of synchronous reset across the board, it's just cleaning up the code for the async reset flops we're already using.
TODO:
- [ ] Deprecate `AsyncResetReg` and `AsyncResetRegVec` and remove their uses
- [ ] Use `AsyncReset` type for async reset lines instead of `Bool`
This all I have off of the top of my head, will edit if there is more.
**Type of issue**: other enhancement
**Impact**: no functional change
**Development Phase**: proposal
Contributor guide
Research direction
Start by reviewing pull request 2074 and the current uses of AsyncResetReg and AsyncResetRegVec in rocket-chip. Check how async reset lines are typed today and identify all affected code. Done means the legacy registers are deprecated and unused, and async reset lines use the AsyncReset type without changing synchronous reset behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- embedded-iot
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100