lowRISC / lowRISC/opentitan

[otbn,dv] Parameterize `otbn_intg_err` base class

Open
#15,527 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component:DV Earlgrey-PROD Candidate IP:otbn Priority:P3 Type:Cleanup Type:FutureRelease
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

When `otbn_intg_err` got implemented it was explicitly used for injecting integrity errors to bignum registers. Therefore the arguments for the some tasks and functions are written for BigNum lengths. If we can parameterize it, we then don't need to have `otbn_rf_base_intg_err` implement it's own body.

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 locating the otbn_intg_err and otbn_rf_base_intg_err definitions and comparing their task and function arguments. Identify the BigNum-length assumptions that need parameterization. Done means the base class supports the required lengths, the derived class no longer needs its own body, and existing integrity-error verification still works.

Written by the indexing model from the issue text.

Assessment

Domain
security, testing
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.