|  | // Copyright lowRISC contributors. | 
|  | // Licensed under the Apache License, Version 2.0, see LICENSE for details. | 
|  | // SPDX-License-Identifier: Apache-2.0 | 
|  | { | 
|  | name: "edn" | 
|  | 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/stress_all_with_reset_testplan.hjson", | 
|  | "edn_sec_cm_testplan.hjson"] | 
|  | testpoints: [ | 
|  | { | 
|  | name: smoke | 
|  | desc: ''' | 
|  | Verify send instantiate/generate command | 
|  | Verify single endpoint requests | 
|  | Verify endpoint data = genbits data | 
|  | ''' | 
|  | milestone: V1 | 
|  | tests: ["edn_smoke"] | 
|  | } | 
|  | { | 
|  | name: firmware | 
|  | desc: ''' | 
|  | Verify SW_CMD_REQ/SW_CMD_STS registers/bits behave as predicted. | 
|  | Verify software mode behaves as predicted. | 
|  | Verify INSTANTIATE/GENERATE software cmds. | 
|  | Verify cmd_fifo_reset bit causes fifos to reset. | 
|  | ''' | 
|  | milestone: V2 | 
|  | tests: ["edn_genbits"] | 
|  | } | 
|  | { | 
|  | name: csrng_commands | 
|  | desc: ''' | 
|  | Verify when no/some/all endpoints requesting (test arbiter). | 
|  | Verify boot request mode behaves as predicted. | 
|  | Verify BOOT_INS_CMD/BOOT_GEN_CMD registers. | 
|  | Verify auto request mode behaves as predicted. | 
|  | Verify RESEED_CMD/GENERATE_CMD/MAX_NUM_REQS_BETWEEN_RESEEDS registers. | 
|  | Verify SUM_STS register bits behave as predicted. | 
|  | Verify all csrng commands (clen = 0-12, sw_mode, boot/auto_req_mode). | 
|  | Verify with ready randomly asserting/deasserting | 
|  | ''' | 
|  | milestone: V2 | 
|  | tests: ["edn_genbits"] | 
|  | } | 
|  | { | 
|  | name: genbits | 
|  | desc: ''' | 
|  | Verify genbits input is transferred to endpoint(s) as predicted. | 
|  | Verify fips bit(s) are properly transferred to endpoint. | 
|  | ''' | 
|  | milestone: V2 | 
|  | tests: ["edn_genbits"] | 
|  | } | 
|  | { | 
|  | name: interrupts | 
|  | desc: ''' | 
|  | Verify intr_edn_cmd_req_done interrupt asserts/clears as predicted. | 
|  | Verify intr_edn_fatal_err interrupt asserts/clears as predicted. | 
|  | ''' | 
|  | milestone: V2 | 
|  | tests: ["edn_intr"] | 
|  | } | 
|  | { | 
|  | name: alerts | 
|  | desc: ''' | 
|  | Verify recov_alert_sts asserts/clears as predicted. | 
|  | ''' | 
|  | milestone: V2 | 
|  | tests: ["edn_alert"] | 
|  | } | 
|  | { | 
|  | name: errs | 
|  | desc: ''' | 
|  | Verify ERR_CODE asserts as predicted. | 
|  | Verify ERR_CODE all reg bits via ERR_CODE_TEST. | 
|  | ''' | 
|  | milestone: V2 | 
|  | tests: ["edn_err"] | 
|  | } | 
|  | { | 
|  | name: stress_all | 
|  | desc: ''' | 
|  | Combine the other individual testpoints while injecting TL errors and running CSR tests | 
|  | in parallel. | 
|  | ''' | 
|  | milestone: V2 | 
|  | tests: ["edn_stress_all"] | 
|  | } | 
|  | ] | 
|  |  | 
|  | covergroups: [ | 
|  | { | 
|  | name: edn_cfg_cg | 
|  | desc: ''' | 
|  | Covers that all edn configuration options have been tested. | 
|  | Individual config settings that will be covered include: | 
|  | - boot_req_mode | 
|  | - auto_req_mode | 
|  | - sw_mode (neither boot_req_mode/auto_req_mode) | 
|  | - num_endpoints | 
|  | - num_boot_reqs | 
|  | Cross between num_endpoints and mode. | 
|  | ''' | 
|  | } | 
|  | { | 
|  | name: edn_endpoints_cg | 
|  | desc: ''' | 
|  | Covers none/some/all endpoints requesting | 
|  | ''' | 
|  | } | 
|  | { | 
|  | name: cs_cmds_cg | 
|  | desc: ''' | 
|  | Covers the following: | 
|  | - csrng_commands vs clen, flags, glen | 
|  | - sw, auto_req_mode commands (boot_req_mode cmds have no additional data) | 
|  | - ready deasserts during command | 
|  | Crosses between above coverpoints | 
|  | ''' | 
|  | } | 
|  | { | 
|  | name: err_test_cg | 
|  | desc: ''' | 
|  | Covers that all fatal errors, all fifo errors and all error codes of edn | 
|  | have been tested. | 
|  | Individual config settings that will be covered include: | 
|  | - which_fatal_err (0 to 4), 5 possible fatal errors including rescmd, gencmd fifo | 
|  | error, ack_sm_err, main_sm_err and cntr_err | 
|  | - which_fifo (0 to 1), 2 differnt fifos, rescmd fifo and gencmd fifo | 
|  | - which_err_code (0 to 15), 8 ERR_CODE errors, plus 8 ERR_CODE_TEST bits test | 
|  | - which_fifo_err (0 to 2), fifo write/read/state errors | 
|  | - which_invalid_mubi (0 to 3), 4 possible invalid mubi4 value fields | 
|  | ''' | 
|  | } | 
|  | ] | 
|  | } |