lowRISC / lowRISC/opentitan

[reggen] Add functionality to individualize resval for multireg instances

Open
#24,621 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

IP:pinmux pinmux-rework Tool:reggen
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

pinmux's MIO_PAD_ATTR is a hwext-implemented multireg, where the reset value (resval) is 0 for all instances except one. reggen currently only supports a homogeneous reset value over all instances of a multireg, however.

Tasks

  • Enhance reggen so that multiregs can have an instance-specific resval.
  • Use this in pinmux's MIO_PAD_ATTR register and re-enable the automated reset value tests (change tag CsrExclAll back to CsrExclWrite).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading reggen's multireg handling and the pinmux MIO_PAD_ATTR definition. Trace how the current homogeneous resval is represented, then inspect the automated reset value tests and the CsrExclAll/CsrExclWrite tags. Done means instance-specific reset values work and the pinmux reset tests are re-enabled.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.