Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[otbn] D2S Signoff #20986

Closed
msfschaffner opened this issue Jan 25, 2024 · 6 comments
Closed

[otbn] D2S Signoff #20986

msfschaffner opened this issue Jan 25, 2024 · 6 comments

Comments

@msfschaffner
Copy link
Contributor

msfschaffner commented Jan 25, 2024

Description

Ensure D2S signoff criteria are fulfilled after focus area changes have landed.

@GregAC
Copy link
Contributor

GregAC commented Mar 12, 2024

Review Hash: d6f2de9

Commits since Earlgrey-ES tapeout

0856354 [doc] Fix typo & wrong links in OTBN
3938983 [otbn] Add missing CM annotation
5228dfc [otbn] Fix interpretation of lc_rma_req signal values
5b9cbee [warnings,otbn,chip_level] Clean up some VCS warnings
66472e2 [pre_syn] Include csrng_pkg.sv to re-enable Yosys synthesis
5639924 Revert "[edn] Move prim_edn_req out of prim"
c0bb145 [otbn] Slightly weaken some loop stack assertions
cc86151 [otbn,dv] Wait for longer for RF use in otbn_rf_base_intg_err_vseq
fe702d3 [otbn,dv] Sync comments with integrated branch
ee913c5 [otbn,dv] Fail properly if a wait times out
9294ad3 [otbn,dv] Wait a bit longer for secure wipe at start of vseq
f390f06 [otbn/lint] Line length fix
fea9bd0 [otbn, rtl] Comment tweaks
039ab4b [otbn,rtl] Refactor loop control so commit doesn't factor into prefetch
c721c51 [rtl, prim] Add 'commit' functionality to prim_count
5200790 [otbn,rtl] Simplify logic driving state_reset
6297660 [otbn,rtl] Rework imem fetch logic for branches
69cbddb [otbn,rtl] Fix timing on instruction memory request
6bac489 [otbn, rtl] Fix timing on base RF data outputs
61a237e [util/reggen] reverse order of substruct generation
fc84846 [reggen,hw] Create index parameter for registers windows
3b4e36e [edn] Move prim_edn_req out of prim
de31bdf [reggen] Remove the devmode input
803d9ae [prim, rom_ctrl] Remove S&P layer from data scrambling
364b304 [crypto] Update benchmarks for ECDSA-P256 and RSA.
963a500 [doc] Minor tweak to md sanitisation code
68d9716 [doc] Fix CSR and WSR tables in OTBN README
5be278b [aes, kmac, otbn] Perform final clean -purge step in Yosys synthesis
efe8ada [otbn,sw] Tweak assembly to use named OTBN CSRs
625a69f [otbn]: Add ISR support to otbn_as and otbn_objdump
4002b28 [otbn,python] Tweak code to avoid some flake8 errors
4497d19 [otbn,python] Fix incorrectly indented line in insn_yaml.py
b3147f5 [otbn,doc] Extract list of ISRs into YAML files
ca2b62b [dv, testplan] Replace descr by desc for consistency
1c6ddfa [doc] Add an OTBN introduction page.
d23672d [otbn,dv] Make "dirty" flag more selective in otbnsim ext_regs.py
cbde2e4 [otbn,sival] Extend otbn testplan with SiVal tests
7b89440 [dv,otbn] Fix raw hierarchical reference in a sequence
6564b8f [dv,otbn] Fix otbn_env.core missing dependency
564627c [otbn,dv] Be more explicit about not tracking URND changes in wsr.py
7c1f177 [otbn,dv] Simplify types for URND value/next_value in wsr.py
ba50371 [otbn,dv] Remove some do-nothing 'return' lines in wsr.py
c758fe9 [otbn,dv] Remove bogus abort() for URND in wsr.py
222db28 [otbn,dv] Make update of URND _state field slightly clearer
95ccc4e [otbn,dv] Get rid of "_out" field in wsr.py
50216ca [otbn,dv] Add underscores to some internal fields in wsr.py
1b16ca2 [reggen] Add mubi support SWAccess that sets/clears a reg
a793023 [otbn,dv] Make types slightly cleaner in ext_regs.py
31cbfd6 [otbn, doc] Document requirements on lc_ctrl connections
a6bbefa [otbn] Fix interpretation of lc_escalate_en signal values
d9b9221 [otbn,dv] Rewrite a line more efficiently in wsr.py
1ae6c74 [doc] Fix broken link in ISA Guide
4f61c3c [otbn,dv] Strengthen otbn_ctrl_redun_vseq check
99db027 [otbn,dv] Correct HDL access in otbn_ctrl_redun_vseq.sv
20f0ba7 [otbn,dv] Add a "safe" mode to RIG; use it in otbn_ctrl_redun test
59f8142 [doc] Moved badges over to using hosted images
b348d94 [doc] Fixed links to the getting started section.
a53d500 [doc] otbn registers and interfaces now use CMDGEN
f56cb90 [otbn,dv] Delay "start" signal for OTBN in pre-DV code by a cycle
a405062 [otbn,dv] Wrap some secure wipe assertions in a named block
7688e71 [reggen] Add initial support for version and cip_id hjson fields
70a2e02 Revert "[reggen] Add initial support for version and feature regs"
fbd888e Revert "[reggen] Add CIP_IDs and bump all major versions"
9e6df0d [otbn,dv] Wait more carefully for secure wipes in vseqs
14835e5 [otbn,dv] Wait longer for model status change after escalation
2d1e2a4 [otbn,dv] Wait longer for model status change in otbn_scoreboard.sv
d50bbe8 [otbn,dv] Disable RTL assertions in otbn_zero_state_err_urnd test
4929482 [otbn,dv] Wait long enough for RF read in otbn_rf_base_intg_err_vseq
0ba10b3 [reggen] Add CIP_IDs and bump all major versions
d2044b6 [reggen] Add initial support for version and feature regs
fc0d332 [otbn,dv] Fix missing connections when binding in otbn_loop_if
cd28cee [otbn,dv] Explicitly check some calls to uvm_hdl_read
c408661 [otbn,dv] Factor out some UVM spin-wait logic
9ab302c [otbn,dv] Add some missing "protected" keywords to vseqs
b1daa11 [otbn,dv] Avoid Xcelium lint warning in otbn_trace_if
01c5995 [otbn,dv] Wait longer for secure wipe in otbn_intg_err_vseq
a19d366 [otbn,dv] Fix logic when waiting in start_running_otbn
2c73763 [otbn,dv] Fail properly in otbn_rf_base_intg_err_vseq if RF not used
0982be6 [otbn,dv] Be more explicit in yields in insn.py:open
d440d94 [otbn,dv] Tweak length of time to wait for reset
fc0cde7 [otbn,dv] Properly notice mismatches in insn_cnt in otbn_top_sim.sv
a67d90b [otbn,dv] Don't apply loop warps in Verilator when no longer running
e47df29 [misc] Use lc_tx_t testing functions at endpoints
a557c07 [otbn,dv] Fix trivial Python lint bugs in otbnsim
c6dc166 [otbn,dv] Fix indentation in otbn_escalate_if.sv

Of these commits, the follow effect RTL functionality:

5228dfc [otbn] Fix interpretation of lc_rma_req signal values
a6bbefa [otbn] Fix interpretation of lc_escalate_en signal values

  • Security related fixes, ensuring lc signals are being correctly used (signals other than ON must be interpreted as OFF for non-escalation LC signals). This is needed for PROD, see #19050.

039ab4b [otbn,rtl] Refactor loop control so commit doesn't factor into prefetch
c721c51 [rtl, prim] Add 'commit' functionality to prim_count
5200790 [otbn,rtl] Simplify logic driving state_reset
6297660 [otbn,rtl] Rework imem fetch logic for branches
69cbddb [otbn,rtl] Fix timing on instruction memory request
6bac489 [otbn, rtl] Fix timing on base RF data outputs

  • Timing fixes from integrated

803d9ae [prim, rom_ctrl] Remove S&P layer from data scrambling

Closed Issues

These issues have all been reviewed, comment has been made on issues of particular interest/importance

Open Issues

Of these open issues the following need some work before D2 sign-off:

Both of these don't raise any large concerns but should have some initial investigation to be on the safe side. This is not anticipated to be a significant effort.

Also of note are the open issues that require RTL work that we want done for PROD. They are all security related so should be done for M3:

When #21658 and #20792 have had some initial investigation I am happy for OTBN to retain its D2 status.

@GregAC
Copy link
Contributor

GregAC commented Mar 12, 2024

@GregAC
Copy link
Contributor

GregAC commented Mar 21, 2024

I've now addressed the open issues #21658 and #20792, they both remain open as they do involve some RTL fixes, however none of them are essential. Rather than addressing actual bugs they're more about making the behaviour of OTBN 'tidier' in a few ways.

I don't think we need to address whether we'll merge these RTL fixes for D2 so this is ready to sign-off once reviewed.

@rswarbrick
Copy link
Contributor

I've just taken a quick look through this and I think I agree with your analysis. I've also looked through the signoff checklist for D2: looks good to me.

From my side: I'm happy to close this issue as complete.

@andreaskurth
Copy link
Contributor

Great, thanks @GregAC and @rswarbrick!

This was referenced Mar 29, 2024
@vogelpi vogelpi changed the title [otbn] D2 Signoff [otbn] D2S Signoff Apr 2, 2024
@vogelpi
Copy link
Contributor

vogelpi commented Apr 2, 2024

After cross checking with @GregAC , I've now changed the issue title to D2S. OTBN was at D2S before (and the hjson still is), where were only a very limited set of RTL changes without a version number increase (no new features or API changes). These few RTL changes were done by people knowing the design and it's security countermeasures very well (or that have designed them) and the changes were reviewed with care. I believe it's thus justified to sign off OTBN at D2S rather than D2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants