title: “OTBN Checklist”

This checklist is for [Hardware Stage]({{< relref “/doc/project/development_stages.md” >}}) transitions for the [OTBN peripheral.]({{< relref “hw/ip/otbn/doc” >}}) All checklist items refer to the content in the [Checklist.]({{< relref “/doc/project/checklist.md” >}})

Design Checklist

D1

TypeItemResolutionNote/Collaterals
Documentation[SPEC_COMPLETE][]Done[OTBN Design Spec]({{<relref “hw/ip/otbn/doc” >}}). The specification is feature-complete, we were able to successfully run larger chunks of crypto code with the described feature set. At the same time, the specification has (known and unknown) issues, such as incomplete or buggy descriptions of individual instructions. These issues are being worked on as they are discovered while the design is in the D1 stage.
Documentation[CSR_DEFINED][]Done
RTL[CLKRST_CONNECTED][]Done
RTL[IP_TOP][]Done
RTL[IP_INSTANTIABLE][]Done
RTL[PHYSICAL_MACROS_DEFINED_80][]DoneThe instruction and data memories make up the majority of the memories and are instantiated. The register files are planned to be implemented in registers.
RTL[FUNC_IMPLEMENTED][]Done
RTL[ASSERT_KNOWN_ADDED][]Done
Code Quality[LINT_SETUP][]Done

[SPEC_COMPLETE]: {{<relref “/doc/project/checklist.md#spec_complete” >}} [CSR_DEFINED]: {{<relref “/doc/project/checklist.md#csr_defined” >}} [CLKRST_CONNECTED]: {{<relref “/doc/project/checklist.md#clkrst_connected” >}} [IP_TOP]: {{<relref “/doc/project/checklist.md#ip_top” >}} [IP_INSTANTIABLE]: {{<relref “/doc/project/checklist.md#ip_instantiable” >}} [PHYSICAL_MACROS_DEFINED_80]: {{<relref “/doc/project/checklist.md#physical_macros_defined_80” >}} [FUNC_IMPLEMENTED]: {{<relref “/doc/project/checklist.md#func_implemented” >}} [ASSERT_KNOWN_ADDED]: {{<relref “/doc/project/checklist.md#assert_known_added” >}} [LINT_SETUP]: {{<relref “/doc/project/checklist.md#lint_setup” >}}

D2

TypeItemResolutionNote/Collaterals
Documentation[NEW_FEATURES][]Not Started
Documentation[BLOCK_DIAGRAM][]Not Started
Documentation[DOC_INTERFACE][]Not Started
Documentation[MISSING_FUNC][]Not Started
Documentation[FEATURE_FROZEN][]Not Started
RTL[FEATURE_COMPLETE][]Not Started
RTL[AREA_CROSS_CHECK][]Not Started
RTL[PORT_FROZEN][]Not Started
RTL[ARCHITECTURE_FROZEN][]Not Started
RTL[REVIEW_TODO][]Not Started
RTL[STYLE_X][]Not Started
Code Quality[LINT_PASS][]Not Started
Code Quality[CDC_SETUP][]Not Started
Code Quality[FPGA_TIMING][]Not Started
Code Quality[CDC_SYNCMACRO][]Not Started
Security[SEC_CM_IMPLEMENTED][]Not Started
Security[SEC_NON_RESET_FLOPS][]Not Started
Security[SEC_SHADOW_REGS][]Not Started
Security[SEC_RND_CNST][]Not Started

[NEW_FEATURES]: {{<relref “/doc/project/checklist.md#new_features” >}} [BLOCK_DIAGRAM]: {{<relref “/doc/project/checklist.md#block_diagram” >}} [DOC_INTERFACE]: {{<relref “/doc/project/checklist.md#doc_interface” >}} [MISSING_FUNC]: {{<relref “/doc/project/checklist.md#missing_func” >}} [FEATURE_FROZEN]: {{<relref “/doc/project/checklist.md#feature_frozen” >}} [FEATURE_COMPLETE]: {{<relref “/doc/project/checklist.md#feature_complete” >}} [AREA_CROSS_CHECK]: {{<relref “/doc/project/checklist.md#area_cross_check” >}} [PORT_FROZEN]: {{<relref “/doc/project/checklist.md#port_frozen” >}} [ARCHITECTURE_FROZEN]: {{<relref “/doc/project/checklist.md#architecture_frozen” >}} [REVIEW_TODO]: {{<relref “/doc/project/checklist.md#review_todo” >}} [STYLE_X]: {{<relref “/doc/project/checklist.md#style_x” >}} [LINT_PASS]: {{<relref “/doc/project/checklist.md#lint_pass” >}} [CDC_SETUP]: {{<relref “/doc/project/checklist.md#cdc_setup” >}} [FPGA_TIMING]: {{<relref “/doc/project/checklist.md#fpga_timing” >}} [CDC_SYNCMACRO]: {{<relref “/doc/project/checklist.md#cdc_syncmacro” >}} [SEC_CM_IMPLEMENTED]: {{<relref “/doc/project/checklist.md#sec_cm_implemented” >}} [SEC_NON_RESET_FLOPS]: {{<relref “/doc/project/checklist.md#sec_non_reset_flops” >}} [SEC_SHADOW_REGS]: {{<relref “/doc/project/checklist.md#sec_shadow_regs” >}} [SEC_RND_CNST]: {{<relref “/doc/project/checklist.md#sec_rnd_cnst” >}}

D3

TypeItemResolutionNote/Collaterals
Documentation[NEW_FEATURES_D3][]Not Started
RTL[TODO_COMPLETE][]Not Started
Code Quality[LINT_COMPLETE][]Not Started
Code Quality[CDC_COMPLETE][]Not Started
Review[REVIEW_RTL][]Not Started
Review[REVIEW_DELETED_FF][]Not Started
Review[REVIEW_SW_CSR][]Not Started
Review[REVIEW_SW_FATAL_ERR][]Not Started
Review[REVIEW_SW_CHANGE][]Not Started
Review[REVIEW_SW_ERRATA][]Not Started
ReviewReviewer(s)Not Started
ReviewSignoff dateNot Started

[NEW_FEATURES_D3]: {{<relref “/doc/project/checklist.md#new_features_d3” >}} [TODO_COMPLETE]: {{<relref “/doc/project/checklist.md#todo_complete” >}} [LINT_COMPLETE]: {{<relref “/doc/project/checklist.md#lint_complete” >}} [CDC_COMPLETE]: {{<relref “/doc/project/checklist.md#cdc_complete” >}} [REVIEW_RTL]: {{<relref “/doc/project/checklist.md#review_rtl” >}} [REVIEW_DBG]: {{<relref “/doc/project/checklist.md#review_dbg” >}} [REVIEW_DELETED_FF]: {{<relref “/doc/project/checklist.md#review_deleted_ff” >}} [REVIEW_SW_CSR]: {{<relref “/doc/project/checklist.md#review_sw_csr” >}} [REVIEW_SW_FATAL_ERR]: {{<relref “/doc/project/checklist.md#review_sw_fatal_err” >}} [REVIEW_SW_CHANGE]: {{<relref “/doc/project/checklist.md#review_sw_change” >}} [REVIEW_SW_ERRATA]: {{<relref “/doc/project/checklist.md#review_sw_errata” >}}

Verification Checklist

V1

TypeItemResolutionNote/Collaterals
Documentation[DV_DOC_DRAFT_COMPLETED][]Done[OTBN dv document]({{<relref “hw/ip/otbn/doc/dv_doc” >}})
Documentation[TESTPLAN_COMPLETED][]Done[OTBN Testplan]({{<relref “hw/ip/otbn/doc/dv_doc/index.md#testplan” >}})
Testbench[TB_TOP_CREATED][]Done
Testbench[PRELIMINARY_ASSERTION_CHECKS_ADDED][]Done
Testbench[SIM_TB_ENV_CREATED][]Done
Testbench[SIM_RAL_MODEL_GEN_AUTOMATED][]Done
Testbench[CSR_CHECK_GEN_AUTOMATED][]Done
Testbench[TB_GEN_AUTOMATED][]N/A
Tests[SIM_SMOKE_TEST_PASSING][]Done
Tests[SIM_CSR_MEM_TEST_SUITE_PASSING][]Done
Tests[FPV_MAIN_ASSERTIONS_PROVEN][]Not Started
Tool Setup[SIM_ALT_TOOL_SETUP][]Not Started
Regression[SIM_SMOKE_REGRESSION_SETUP][]In progressThis needs feedback from the Google side. Draft PR available.
Regression[SIM_NIGHTLY_REGRESSION_SETUP][]In progressAs above.
Regression[FPV_REGRESSION_SETUP][]Not Started
Coverage[SIM_COVERAGE_MODEL_ADDED][]DoneNo sub-blocks, so auto-generated framework will work
Integration[PRE_VERIFIED_SUB_MODULES_V1][]N/A
Review[DESIGN_SPEC_REVIEWED][]Not Started
Review[DV_PLAN_REVIEWED][]Not Started
Review[STD_TEST_CATEGORIES_PLANNED][]Not StartedException (?)
Review[V2_CHECKLIST_SCOPED][]Not Started

[DV_DOC_DRAFT_COMPLETED]: {{<relref “/doc/project/checklist.md#dv_doc_draft_completed” >}} [TESTPLAN_COMPLETED]: {{<relref “/doc/project/checklist.md#testplan_completed” >}} [TB_TOP_CREATED]: {{<relref “/doc/project/checklist.md#tb_top_created” >}} [PRELIMINARY_ASSERTION_CHECKS_ADDED]: {{<relref “/doc/project/checklist.md#preliminary_assertion_checks_added” >}} [SIM_TB_ENV_CREATED]: {{<relref “/doc/project/checklist.md#sim_tb_env_created” >}} [SIM_RAL_MODEL_GEN_AUTOMATED]: {{<relref “/doc/project/checklist.md#sim_ral_model_gen_automated” >}} [CSR_CHECK_GEN_AUTOMATED]: {{<relref “/doc/project/checklist.md#csr_check_gen_automated” >}} [TB_GEN_AUTOMATED]: {{<relref “/doc/project/checklist.md#tb_gen_automated” >}} [SIM_SMOKE_TEST_PASSING]: {{<relref “/doc/project/checklist.md#sim_smoke_test_passing” >}} [SIM_CSR_MEM_TEST_SUITE_PASSING]: {{<relref “/doc/project/checklist.md#sim_csr_mem_test_suite_passing” >}} [FPV_MAIN_ASSERTIONS_PROVEN]: {{<relref “/doc/project/checklist.md#fpv_main_assertions_proven” >}} [SIM_ALT_TOOL_SETUP]: {{<relref “/doc/project/checklist.md#sim_alt_tool_setup” >}} [SIM_SMOKE_REGRESSION_SETUP]: {{<relref “/doc/project/checklist.md#sim_smoke_regression_setup” >}} [SIM_NIGHTLY_REGRESSION_SETUP]: {{<relref “/doc/project/checklist.md#sim_nightly_regression_setup” >}} [FPV_REGRESSION_SETUP]: {{<relref “/doc/project/checklist.md#fpv_regression_setup” >}} [SIM_COVERAGE_MODEL_ADDED]: {{<relref “/doc/project/checklist.md#sim_coverage_model_added” >}} [PRE_VERIFIED_SUB_MODULES_V1]: {{<relref “/doc/project/checklist.md#pre_verified_sub_modules_v1” >}} [DESIGN_SPEC_REVIEWED]: {{<relref “/doc/project/checklist.md#design_spec_reviewed” >}} [DV_PLAN_REVIEWED]: {{<relref “/doc/project/checklist.md#dv_plan_reviewed” >}} [STD_TEST_CATEGORIES_PLANNED]: {{<relref “/doc/project/checklist.md#std_test_categories_planned” >}} [V2_CHECKLIST_SCOPED]: {{<relref “/doc/project/checklist.md#v2_checklist_scoped” >}}

V2

TypeItemResolutionNote/Collaterals
Documentation[DESIGN_DELTAS_CAPTURED_V2][]Not Started
Documentation[DV_PLAN_COMPLETED][]Not Started
Testbench[ALL_INTERFACES_EXERCISED][]Not Started
Testbench[ALL_ASSERTION_CHECKS_ADDED][]Not Started
Testbench[SIM_TB_ENV_COMPLETED][]Not Started
Tests[SIM_ALL_TESTS_PASSING][]Not Started
Tests[FPV_ALL_ASSERTIONS_WRITTEN][]Not Started
Tests[FPV_ALL_ASSUMPTIONS_REVIEWED][]Not Started
Tests[SIM_FW_SIMULATED][]Not Started
Regression[SIM_NIGHTLY_REGRESSION_V2][]Not Started
Coverage[SIM_CODE_COVERAGE_V2][]Not Started
Coverage[SIM_FUNCTIONAL_COVERAGE_V2][]Not Started
Coverage[FPV_CODE_COVERAGE_V2][]Not Started
Coverage[FPV_COI_COVERAGE_V2][]Not Started
Issues[NO_HIGH_PRIORITY_ISSUES_PENDING][]Not Started
Issues[ALL_LOW_PRIORITY_ISSUES_ROOT_CAUSED][]Not Started
Integration[PRE_VERIFIED_SUB_MODULES_V2][]Not Started
Review[V3_CHECKLIST_SCOPED][]Not Started

[DESIGN_DELTAS_CAPTURED_V2]: {{<relref “/doc/project/checklist.md#design_deltas_captured_v2” >}} [DV_PLAN_COMPLETED]: {{<relref “/doc/project/checklist.md#dv_doc_completed” >}} [ALL_INTERFACES_EXERCISED]: {{<relref “/doc/project/checklist.md#all_interfaces_exercised” >}} [ALL_ASSERTION_CHECKS_ADDED]: {{<relref “/doc/project/checklist.md#all_assertion_checks_added” >}} [SIM_TB_ENV_COMPLETED]: {{<relref “/doc/project/checklist.md#sim_tb_env_completed” >}} [SIM_ALL_TESTS_PASSING]: {{<relref “/doc/project/checklist.md#sim_all_tests_passing” >}} [FPV_ALL_ASSERTIONS_WRITTEN]: {{<relref “/doc/project/checklist.md#fpv_all_assertions_written” >}} [FPV_ALL_ASSUMPTIONS_REVIEWED]: {{<relref “/doc/project/checklist.md#fpv_all_assumptions_reviewed” >}} [SIM_FW_SIMULATED]: {{<relref “/doc/project/checklist.md#sim_fw_simulated” >}} [SIM_NIGHTLY_REGRESSION_V2]: {{<relref “/doc/project/checklist.md#sim_nightly_regression_v2” >}} [SIM_CODE_COVERAGE_V2]: {{<relref “/doc/project/checklist.md#sim_code_coverage_v2” >}} [SIM_FUNCTIONAL_COVERAGE_V2]: {{<relref “/doc/project/checklist.md#sim_functional_coverage_v2” >}} [FPV_CODE_COVERAGE_V2]: {{<relref “/doc/project/checklist.md#fpv_code_coverage_v2” >}} [FPV_COI_COVERAGE_V2]: {{<relref “/doc/project/checklist.md#fpv_coi_coverage_v2” >}} [NO_HIGH_PRIORITY_ISSUES_PENDING]: {{<relref “/doc/project/checklist.md#no_high_priority_issues_pending” >}} [ALL_LOW_PRIORITY_ISSUES_ROOT_CAUSED]:{{<relref “/doc/project/checklist.md#all_low_priority_issues_root_caused” >}} [PRE_VERIFIED_SUB_MODULES_V2]: {{<relref “/doc/project/checklist.md#pre_verified_sub_modules_v2” >}} [V3_CHECKLIST_SCOPED]: {{<relref “/doc/project/checklist.md#v3_checklist_scoped” >}}

V3

TypeItemResolutionNote/Collaterals
Documentation[DESIGN_DELTAS_CAPTURED_V3][]Not Started
Testbench[ALL_TODOS_RESOLVED][]Not Started
Tests[X_PROP_ANALYSIS_COMPLETED][]Not Started
Tests[FPV_ASSERTIONS_PROVEN_AT_V3][]Not Started
Regression[SIM_NIGHTLY_REGRESSION_AT_V3][]Not Started
Coverage[SIM_CODE_COVERAGE_AT_100][]Not Started
Coverage[SIM_FUNCTIONAL_COVERAGE_AT_100][]Not Started
Coverage[FPV_CODE_COVERAGE_AT_100][]Not Started
Coverage[FPV_COI_COVERAGE_AT_100][]Not Started
Issues[NO_ISSUES_PENDING][]Not Started
Code Quality[NO_TOOL_WARNINGS_THROWN][]Not Started
Integration[PRE_VERIFIED_SUB_MODULES_V3][]Not Started
ReviewReviewer(s)Not Started
ReviewSignoff dateNot Started

[DESIGN_DELTAS_CAPTURED_V3]: {{<relref “/doc/project/checklist.md#design_deltas_captured_v3” >}} [ALL_TODOS_RESOLVED]: {{<relref “/doc/project/checklist.md#all_todos_resolved” >}} [X_PROP_ANALYSIS_COMPLETED]: {{<relref “/doc/project/checklist.md#x_prop_analysis_completed” >}} [FPV_ASSERTIONS_PROVEN_AT_V3]: {{<relref “/doc/project/checklist.md#fpv_assertions_proven_at_v3” >}} [SIM_NIGHTLY_REGRESSION_AT_V3]: {{<relref “/doc/project/checklist.md#sim_nightly_regression_at_v3” >}} [SIM_CODE_COVERAGE_AT_100]: {{<relref “/doc/project/checklist.md#sim_code_coverage_at_100” >}} [SIM_FUNCTIONAL_COVERAGE_AT_100]:{{<relref “/doc/project/checklist.md#sim_functional_coverage_at_100” >}} [FPV_CODE_COVERAGE_AT_100]: {{<relref “/doc/project/checklist.md#fpv_code_coverage_at_100” >}} [FPV_COI_COVERAGE_AT_100]: {{<relref “/doc/project/checklist.md#fpv_coi_coverage_at_100” >}} [NO_ISSUES_PENDING]: {{<relref “/doc/project/checklist.md#no_issues_pending” >}} [NO_TOOL_WARNINGS_THROWN]: {{<relref “/doc/project/checklist.md#no_tool_warnings_thrown” >}} [PRE_VERIFIED_SUB_MODULES_V3]: {{<relref “/doc/project/checklist.md#pre_verified_sub_modules_v3” >}}