chipsalliance / chipsalliance/rocket-chip

MEMBIST interface for rocket chip RAMs

Open
#2,198 1 comment 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

**Type of issue**: other enhancement

**Impact**: no functional change

**Development Phase**: request

**Other information**
It would be nice to have a knob that adds test muxes for all RAMS used by the rocket chip and get these signals routed out to the top level. We have implemented this previously ourselves, but after the last rewrite of the rocket tiles it has been very difficult to understand what is going on and how to connect IOs through these levels.

We have a BIST module in verilog that we want to test against the rocket chip RAMs in RTL simulations. This must be valuable for other users of the rocket chip who are in the same position.

I know it is possible to hook things up during synthesis, but it is much more convenient verifying the implementation in an RTL simulation.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how Rocket Chip RAMs are integrated through the rocket tiles and how their IOs reach the top level. Review the existing Verilog BIST module and determine the scope of a configuration knob that adds test muxes and exposes the required signals. Done means the RAM test signals are available for RTL simulation without synthesis-only wiring.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.