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

[aes, dv] Extend tests to hit missing functional coverpoints #19039

Closed
4 tasks done
vogelpi opened this issue Jun 23, 2023 · 1 comment · Fixed by #19092
Closed
4 tasks done

[aes, dv] Extend tests to hit missing functional coverpoints #19039

vogelpi opened this issue Jun 23, 2023 · 1 comment · Fixed by #19092

Comments

@vogelpi
Copy link
Contributor

vogelpi commented Jun 23, 2023

Description

IIUC, the scoreboard isn't enabled during automated CSR tests which is why the following functional coverpoints are currently not hit:

  • aes_aux_regwen_cg: Extend aes_init() to randomly lock the register and if locking, modifying the ctrl_aux_shadowed register.
  • aes_alert_cg: Extend aes_alert_reset_vseq.sv to also write the alert test register.
  • aes_status_cg: Extend setup_dut() to randomly inject control update errors with low probability and verify that the status register indicates the error.
  • aes_ctrl_cg: Enable configuration errors with sideload, currently we have
    constraint config_error_type_c {
        solve has_config_error before cfg_error_type;
        solve sideload_en before cfg_error_type;
        if (has_config_error & !sideload_en) {
          cfg_error_type inside {[1:7]};
          config_error_type_en[0] -> cfg_error_type[0] == 0;
          config_error_type_en[1] -> cfg_error_type[1] == 0;
          config_error_type_en[2] -> cfg_error_type[2] == 0;
        } else {
          cfg_error_type == 3'b000;
        }
      }
    i.e. whenever sideload is enabled, no configuration error is inserted. This is observable from aes_ctrl_cg.

I am labeling this as V3 as nothing of this is really critical. The only thing that is really relevant for M2.5 and where there is a slight risk that something could go wrong (because probably not covered by automated CSR tests) is the aes_aux_regwen_cg. However, this feature is actually tested using a TLT which disables masking. This is sufficient for M2.5.

@vogelpi
Copy link
Contributor Author

vogelpi commented Jun 29, 2023

FYI, I have a branch that addresses all these things and will push a PR once the quiet period is over. With these changes I get the same pass rates as on master with function coverage increasing to roughly 98% from previously 92% (masked) and 91% (unmasked).

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

Successfully merging a pull request may close this issue.

1 participant