[dv/sram] initial fcov plan
this PR adds the initial functional coverage plan for SRAM_CTRL.
Signed-off-by: Udi Jonnalagadda <udij@google.com>
diff --git a/hw/ip/sram_ctrl/data/sram_ctrl_base_testplan.hjson b/hw/ip/sram_ctrl/data/sram_ctrl_base_testplan.hjson
index 6d8d740..436c329 100644
--- a/hw/ip/sram_ctrl/data/sram_ctrl_base_testplan.hjson
+++ b/hw/ip/sram_ctrl/data/sram_ctrl_base_testplan.hjson
@@ -147,4 +147,54 @@
tests: ["{name}_parity"]
}
]
+
+ covergroups: [
+ {
+ name: subword_access_cg
+ desc: '''
+ Covers that all possible types of subword accesses (both reads and writes) have been
+ performed.
+ '''
+ }
+ {
+ name: access_during_key_req_cg
+ desc: '''
+ Covers that SRAM handles memory accesses during key requests.
+ '''
+ }
+ {
+ name: key_seed_valid_cg
+ desc: '''
+ Covers SRAM receiving a key from OTP in Off/On states,
+ with both valid and invalid key seeds.
+ '''
+ }
+ {
+ name: lc_escalation_rst_cg
+ desc: '''
+ Covers de-assertion of LC escalation input before/after/during a reset trigger
+ to get SRAM out of terminal state.
+ '''
+ }
+ {
+ name: raw_hazard_cg
+ desc: '''
+ Covers that the scrambling RAM sees address collisions on RAW hazards
+ (indicating that b2b RAW access has been made to the same memory line).
+ '''
+ }
+ {
+ name: b2b_access_types_cg
+ desc: '''
+ Covers that any combination of access types (R/R, R/W, W/R, W/W) can be present in b2b
+ transaction scenarios.
+ '''
+ }
+ {
+ name: executable_cg
+ desc: '''
+ Covers the various important scenarios that can enable SRAM executability.
+ '''
+ }
+ ]
}