// Copyright lowRISC contributors (OpenTitan project). // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 { name: “keymgr_dpe” import_testplans: [“hw/dv/tools/dvsim/testplans/csr_testplan.hjson”, “hw/dv/tools/dvsim/testplans/intr_test_testplan.hjson”, “hw/dv/tools/dvsim/testplans/alert_test_testplan.hjson”, “hw/dv/tools/dvsim/testplans/tl_device_access_types_testplan.hjson”, “hw/dv/tools/dvsim/testplans/shadow_reg_errors_testplan.hjson”, “hw/dv/tools/dvsim/testplans/sec_cm_count_testplan.hjson”, “hw/dv/tools/dvsim/testplans/sec_cm_fsm_testplan.hjson”, “hw/dv/tools/dvsim/testplans/stress_all_with_reset_testplan.hjson”] testpoints: [ { name: smoke desc: ‘’’ Smoke test accessing a major datapath within the keymgr_dpe. Test operations (advance, gen-sw-out, gen-hw-out) at every stage.

        Stimulus:
        - Randomly select a destination slot x and issue advance call
          (which should latch the root key into slot x).
        - At each stage, issue gen-hw-out and gen-sw-out by using the previously loaded key slot.
        - At each stage, advance to the next stage by randomly picking a new destination slot y,
          and advancing to it from slot x (x = y is also allowed).
        - Use fixed values for max_key_version = 0 and policy.allow_child = 1, during advance calls.
        - Use default/fixed values for HW/SW inputs. Use key_version = 0 during key generation.

        Checks:
        - Check STATUS reg for each operation.
        - Check interrupts `op_done` is triggered when operation is done.
        - Check `err` and alert `recov_operation_err` are triggered after invalid operation.
        - Check that valid bit is set to 1 in the destination slot.
        - Check that policy field is correctly updated from POLICY_SLOT CSR.
        - Check KMAC key, KMAC data and output SW data for correctness.
        '''
  stage: V1
  tests: ["keymgr_dpe_smoke"]
}

] }