| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| { |
| name: "alert_handler" |
| import_testplans: ["hw/dv/tools/testplans/csr_testplan.hjson", |
| "hw/dv/tools/testplans/intr_test_testplan.hjson", |
| "hw/dv/tools/testplans/enable_reg_testplan.hjson", |
| "hw/dv/tools/testplans/stress_all_with_reset_testplan.hjson", |
| "hw/dv/tools/testplans/tl_device_access_types_testplan.hjson"] |
| entries: [ |
| { |
| name: sanity |
| desc: ''' |
| - Basic alert_handler sanity test with one class configured that escalates through all |
| phases after one alert has been triggered |
| - Check interrupt pins, alert cause CSR values, escalation pings, and crashdump_o |
| output values |
| - Support both synchronous and asynchronous settings''' |
| milestone: V1 |
| tests: ["alert_handler_sanity"] |
| } |
| { |
| name: esc_accum |
| desc: ''' |
| Based on the sanity test, this test will focus on testing the escalation accumulation |
| feature. So all the escalations in the test will be triggered by alert accumulation.''' |
| milestone: V2 |
| tests: ["alert_handler_esc_alert_accum"] |
| } |
| { |
| name: esc_timeout |
| desc: ''' |
| Based on the sanity test, this test will focus on testing the escalation timeout |
| feature. So all the escalations in the test will be triggered by interrupt timeout.''' |
| milestone: V2 |
| tests: ["alert_handler_esc_intr_timeout"] |
| } |
| { |
| name: entropy |
| desc: ''' |
| Based on the sanity test, this test enables ping testing, and check if the ping feature |
| correctly pings all devices within certain period of time''' |
| milestone: V2 |
| tests: ["alert_handler_entropy"] |
| } |
| { |
| name: sig_int_fail |
| desc: ''' |
| This test will randomly inject differential pair failures on alert tx/rx pairs and the |
| escalator tx/rx pairs. Then check if integrity failure alert is triggered and escalated''' |
| milestone: V2 |
| tests: ["alert_handler_sig_int_fail"] |
| } |
| { |
| name: ping_rsp_fail |
| desc: ''' |
| This test will randomly inject ping response failures on alert tx/rx pairs and the |
| escalator tx/rx pairs. Then check if ping response failure alert is triggered and |
| escalated''' |
| milestone: V2 |
| tests: ["alert_handler_ping_rsp_fail"] |
| } |
| { |
| name: clk_skew |
| desc: ''' |
| This test will randomly inject clock skew within the differential pairs. Then check no |
| alert is raised''' |
| milestone: V2 |
| tests: ["alert_handler_sanity"] |
| } |
| { |
| name: random_alerts |
| desc: "Input random alerts and randomly write phase cycles" |
| milestone: V2 |
| tests: ["alert_handler_random_alerts"] |
| } |
| { |
| name: random_classes |
| desc: "Based on random_alerts test, this test will also randomly enable interrupt classes" |
| milestone: V2 |
| tests: ["alert_handler_random_classes"] |
| } |
| { |
| name: stress_all |
| desc: "Combine above sequences in one test to run sequentially, except csr sequence" |
| milestone: V2 |
| tests: ["alert_handler_stress_all"] |
| } |
| ] |
| } |