forked from lowRISC/opentitan
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkeymgr_dpe_testplan.hjson
42 lines (40 loc) · 2.19 KB
/
keymgr_dpe_testplan.hjson
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// 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"]
}
]
}