lowRISC / lowRISC/opentitan

[otbn] Refactor decode to merge alu and non alu control decode

Open
#9,522 3 comments 0 reactions 0 assignees View on GitHub
Component:RTL Earlgrey-PROD Triaged IP:otbn Priority:P2 Type:Enhancement Type:FutureRelease
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

The OTBN decoder was derived from the Ibex decoder which split the incoming instruction into two separate sets of flops for timing reasons. This is not required in OTBN. We should merge all of the decode back into a single case statement.

Contributor guide

Open the contributing guide

Research direction

Start by locating the OTBN decoder and reading how its ALU and non-ALU control decode are currently split. Trace the incoming instruction through both decode paths, then verify that the refactor leaves one merged case statement with equivalent control outputs.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 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.