lowRISC / opentitan

OpenTitan: Open source silicon root of trust
https://www.opentitan.org
Apache License 2.0
2.42k stars 724 forks source link

[spi_host, dv] V2S signoff #23490

Closed antmarzam closed 13 hours ago

antmarzam commented 4 weeks ago

Description

Get spi_host ready for V2S signoff and sign it off

antmarzam commented 4 weeks ago

DESIGN_DELTAS_CAPTURED_V2

List of commits since ES. The list has been compiled via:

git log Earlgrey-M2.5.2-RC0..HEAD hw/ip/spi_host/ hw/dv/sv/spi_agent/

Newer commits at the top (reverts have been removed):

Apart from the above, the following spi_host PRs are open as of now:

DV_DOC_COMPLETED All RTL changes have been reflected in the spec

FUNCTIONAL_COVERAGE_IMPLEMENTED Yes

ALL_INTERFACES_EXERCISED Yes

ALL_ASSERTION_CHECKS_ADDED There's an SVA based check in PR

SIM_TB_ENV_COMPLETED Yes

SIM_ALL_TESTS_PASSING Not true in an absolute manner but true for our metrics. Latest regression run had a passing rate of 684/690

SIM_NIGHTLY_REGRESSION_V2 Yes

SIM_CODE_COVERAGE_V2 CCOV is over 90%, branch coverage is the lowest at 92%

SIM_FUNCTIONAL_COVERAGE_V2 Yes, current metric is 90.87% for FCOV

SEC_CM_PLANNED Yes, and already implemented

NO_HIGH_PRIORITY_ISSUES_PENDING, ALL_LOW_PRIORITY_ISSUES_ROOT_CAUSED P1 issue : But there are currently 2 PR opened (mentioned above) one for DV one for RTL

DV_DOC_TESTPLAN_REVIEWED Yes

V3_CHECKLIST_SCOPED The checklist hasn't been scoped, but given the coverage numbers (shown below). I anticipate an effort of up to 2-3 weeks to close coverage and do the necessary cleanup

Coverage numbers as of 4/6/24:

Screenshot from 2024-06-05 15-10-15

Note: FPV and SIM_FW_SIMULATED have been removed from above list since they don't apply to spi device.

antmarzam commented 3 weeks ago

V3 checklist scoping:

X_PROP_ANALYSIS_COMPLETED:

There are RTL blocks reported as disabled for XPROP, but these are not RTL blocks, just refer to code which isn't synthesizable.

SIM_NIGHTLY_REGRESSION_AT_V3:

We have no testing enabled at V3 level, presumably due to the failing rate of spi_host_stress_all_with_rand_reset - @hcallahan-lowrisc Do you have a view on how long getting these test to 100%? The rest of the regression is in decent shape, with the lowest passing rate at 88% for spi_host_status_stall

SIM_CODE_COVERAGE_AT_100:

1 week of estimate effort

SIM_FUNCTIONAL_COVERAGE_AT_100:

1 week of estimate effort

ALL_TODOS_RESOLVED:

P2 issue currently wraps all TODOs: https://github.com/lowRISC/opentitan/issues/18886 This also includes enabling V3 tests, which is estimated above. I would say 1-2 days for this - @hcallahan-lowrisc: do you agree?

NO_TOOL_WARNINGS_THROWN:

0.5 day

TB_LINT_COMPLETE:

Already satisfied

antmarzam commented 3 weeks ago

cc @rswarbrick @hcallahan-lowrisc

johngt commented 3 weeks ago

Thanks for the summary @antmarzam - it looks like https://github.com/lowRISC/opentitan/pull/23476 is the main thing to get in as a priority.

antmarzam commented 3 weeks ago

Thank you guys! Before we can sign-off the module, we have the following action items from V2/V2S meeting:

HC(edit): Based on discussion in the review, we believe this RTL change + associated DV fix are low risk for an RTL freeze, but to the letter of the review criteria they should be completed for signoff.

rswarbrick commented 13 hours ago

Following up on this:

I'm satisfied that the verification stage can be bumped back up to V2S. @antmarzam, would you mind filing a PR to do so? (This just needs to change spi_host.hjson)