lowRISC / lowRISC/opentitan

[regtool] Separate q from other support structures in struct

Open
#8,282 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component:RTL Component:Tooling Earlgrey-PROD Candidate Milestone:D3 Priority:P3 Type:FutureRelease
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

the reggen output right now packs a particular field's value and all associated values into a single struct.
For example `qe`, `err_update`, `err_storage` etc.

There's nothing wrong with this approach, but it makes the native register structure hard to re-use because most other consumers do not have a need for the secondary attributes.

It would be nice to split the packed structs in the future into primary `q` and secondary attributes. That way the primary can be re-used directly .

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 at the reggen output path and inspect generated structs containing qe, err_update, and err_storage. Establish the intended separation between primary q and secondary attributes, then verify that consumers needing only the primary value can reuse the resulting native register structure.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.