chipsalliance / chipsalliance/rocket-chip

Use built-in async reset support

Open
#2,161 2 comments 0 reactions 0 assignees View on GitHub
proposal
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.