{"block":{"name":"spi_host","variant":null,"commit":"114d1c49baa0199187d94a8aef571ce286b15a72","commit_short":"114d1c4","branch":"master","url":"https://github.com/lowRISC/opentitan/tree/114d1c49baa0199187d94a8aef571ce286b15a72","revision_info":"GitHub Revision: [`114d1c4`](https://github.com/lowrisc/opentitan/tree/114d1c49baa0199187d94a8aef571ce286b15a72)"},"tool":{"name":"xcelium","version":"unknown"},"timestamp":"2026-03-27T17:03:20Z","build_seed":null,"testplan_ref":"https://opentitan.org/book/hw/ip/spi_host/data/spi_host_testplan.html","stages":{"V1":{"testpoints":{"smoke":{"tests":{"spi_host_smoke":{"max_time":135.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"csr_hw_reset":{"tests":{"spi_host_csr_hw_reset":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0}},"passed":5,"total":5,"percent":100.0},"csr_rw":{"tests":{"spi_host_csr_rw":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0}},"passed":20,"total":20,"percent":100.0},"csr_bit_bash":{"tests":{"spi_host_csr_bit_bash":{"max_time":9.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0}},"passed":5,"total":5,"percent":100.0},"csr_aliasing":{"tests":{"spi_host_csr_aliasing":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0}},"passed":5,"total":5,"percent":100.0},"csr_mem_rw_with_rand_reset":{"tests":{"spi_host_csr_mem_rw_with_rand_reset":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0}},"passed":20,"total":20,"percent":100.0},"regwen_csr_and_corresponding_lockable_csr":{"tests":{"spi_host_csr_rw":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0},"spi_host_csr_aliasing":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0}},"passed":25,"total":25,"percent":100.0},"mem_walk":{"tests":{"spi_host_mem_walk":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0}},"passed":5,"total":5,"percent":100.0},"mem_partial_access":{"tests":{"spi_host_mem_partial_access":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0}},"passed":5,"total":5,"percent":100.0}},"passed":140,"total":140,"percent":100.0},"V2":{"testpoints":{"performance":{"tests":{"spi_host_performance":{"max_time":2.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"error_event_intr":{"tests":{"spi_host_overflow_underflow":{"max_time":53.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0},"spi_host_error_cmd":{"max_time":3.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0},"spi_host_event":{"max_time":271.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":150,"total":150,"percent":100.0},"clock_rate":{"tests":{"spi_host_speed":{"max_time":29.0,"sim_time":0.0,"passed":48,"total":50,"percent":96.0}},"passed":48,"total":50,"percent":96.0},"speed":{"tests":{"spi_host_speed":{"max_time":29.0,"sim_time":0.0,"passed":48,"total":50,"percent":96.0}},"passed":48,"total":50,"percent":96.0},"chip_select_timing":{"tests":{"spi_host_speed":{"max_time":29.0,"sim_time":0.0,"passed":48,"total":50,"percent":96.0}},"passed":48,"total":50,"percent":96.0},"sw_reset":{"tests":{"spi_host_sw_reset":{"max_time":355.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"passthrough_mode":{"tests":{"spi_host_passthrough_mode":{"max_time":2.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"cpol_cpha":{"tests":{"spi_host_speed":{"max_time":29.0,"sim_time":0.0,"passed":48,"total":50,"percent":96.0}},"passed":48,"total":50,"percent":96.0},"full_cycle":{"tests":{"spi_host_speed":{"max_time":29.0,"sim_time":0.0,"passed":48,"total":50,"percent":96.0}},"passed":48,"total":50,"percent":96.0},"duplex":{"tests":{"spi_host_smoke":{"max_time":135.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"tx_rx_only":{"tests":{"spi_host_smoke":{"max_time":135.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"stress_all":{"tests":{"spi_host_stress_all":{"max_time":103.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"spien":{"tests":{"spi_host_spien":{"max_time":59.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"stall":{"tests":{"spi_host_status_stall":{"max_time":175.0,"sim_time":0.0,"passed":49,"total":50,"percent":98.0}},"passed":49,"total":50,"percent":98.0},"Idlecsbactive":{"tests":{"spi_host_idlecsbactive":{"max_time":22.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"data_fifo_status":{"tests":{"spi_host_overflow_underflow":{"max_time":53.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"alert_test":{"tests":{"spi_host_alert_test":{"max_time":2.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"intr_test":{"tests":{"spi_host_intr_test":{"max_time":8.0,"sim_time":0.0,"passed":50,"total":50,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"tl_d_oob_addr_access":{"tests":{"spi_host_tl_errors":{"max_time":10.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0}},"passed":20,"total":20,"percent":100.0},"tl_d_illegal_access":{"tests":{"spi_host_tl_errors":{"max_time":10.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0}},"passed":20,"total":20,"percent":100.0},"tl_d_outstanding_access":{"tests":{"spi_host_csr_hw_reset":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0},"spi_host_csr_rw":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0},"spi_host_csr_aliasing":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0},"spi_host_same_csr_outstanding":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0}},"passed":50,"total":50,"percent":100.0},"tl_d_partial_access":{"tests":{"spi_host_csr_hw_reset":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0},"spi_host_csr_rw":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0},"spi_host_csr_aliasing":{"max_time":8.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0},"spi_host_same_csr_outstanding":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0}},"passed":50,"total":50,"percent":100.0}},"passed":1129,"total":1140,"percent":99.03508771929825},"V2S":{"testpoints":{"tl_intg_err":{"tests":{"spi_host_tl_intg_err":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0},"spi_host_sec_cm":{"max_time":2.0,"sim_time":0.0,"passed":5,"total":5,"percent":100.0}},"passed":25,"total":25,"percent":100.0},"sec_cm_bus_integrity":{"tests":{"spi_host_tl_intg_err":{"max_time":8.0,"sim_time":0.0,"passed":20,"total":20,"percent":100.0}},"passed":20,"total":20,"percent":100.0}},"passed":45,"total":45,"percent":100.0},"unmapped":{"testpoints":{"Unmapped":{"tests":{"spi_host_upper_range_clkdiv":{"max_time":400.0,"sim_time":0.0,"passed":10,"total":10,"percent":100.0}},"passed":10,"total":10,"percent":100.0}},"passed":10,"total":10,"percent":100.0}},"coverage":{"code":{"block":97.0,"line_statement":98.76,"branch":93.45,"condition_expression":null,"toggle":88.02,"fsm":100.0},"assertion":95.64,"functional":90.76},"cov_report_page":"/nightly/current_run/scratch/master/spi_host-sim-xcelium/cov_report/index.html","failed_jobs":{"buckets":{"UVM_FATAL (spi_host_base_vseq.sv:237) virtual_sequencer [spi_host_env_pkg::spi_host_base_vseq.stoppable_timeout()] timeout = *ns spi_host_reg_block.status.rxqd (addr=*, Comparison=CompareOpEq, exp_data=*, call_count=*":[{"name":"spi_host_speed","qual_name":"43.spi_host_speed.77628048438740068455133364876409617108515277820226576995036762755658417347752","seed":77628048438740068455133364876409617108515277820226576995036762755658417347752,"line":311,"log_path":"/nightly/current_run/scratch/master/spi_host-sim-xcelium/43.spi_host_speed/latest/run.log","log_context":["UVM_FATAL @ 10054479903 ps: (spi_host_base_vseq.sv:237) uvm_test_top.env.virtual_sequencer [spi_host_env_pkg::spi_host_base_vseq.stoppable_timeout()] timeout = 10000000ns spi_host_reg_block.status.rxqd (addr=0x10875014, Comparison=CompareOpEq, exp_data=0x0, call_count=47\n","UVM_INFO @ 10054479903 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]},{"name":"spi_host_speed","qual_name":"44.spi_host_speed.38965988775491484032916827657128376302576592525395715229150833590394535660958","seed":38965988775491484032916827657128376302576592525395715229150833590394535660958,"line":305,"log_path":"/nightly/current_run/scratch/master/spi_host-sim-xcelium/44.spi_host_speed/latest/run.log","log_context":["UVM_FATAL @ 10040498934 ps: (spi_host_base_vseq.sv:237) uvm_test_top.env.virtual_sequencer [spi_host_env_pkg::spi_host_base_vseq.stoppable_timeout()] timeout = 10000000ns spi_host_reg_block.status.rxqd (addr=0xf2f60554, Comparison=CompareOpEq, exp_data=0x0, call_count=63\n","UVM_INFO @ 10040498934 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]}],"UVM_ERROR (csr_utils_pkg.sv:458) [csr_utils_pkg::csr_rd_check.isolation_fork.unmblk1] Check failed obs == exp (* [*] vs * [*]) Regname: spi_host_reg_block.status.rxfull reset value: *":[{"name":"spi_host_status_stall","qual_name":"43.spi_host_status_stall.39592900292433920828457895109606735612862393062094215088790010801169395311808","seed":39592900292433920828457895109606735612862393062094215088790010801169395311808,"line":1561,"log_path":"/nightly/current_run/scratch/master/spi_host-sim-xcelium/43.spi_host_status_stall/latest/run.log","log_context":["UVM_ERROR @ 392775750 ps: (csr_utils_pkg.sv:458) [csr_utils_pkg::csr_rd_check.isolation_fork.unmblk1] Check failed obs == exp (1 [0x1] vs 0 [0x0]) Regname: spi_host_reg_block.status.rxfull reset value: 0x0 \n","UVM_INFO @ 392775750 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]}]}},"passed":1324,"total":1335,"percent":99.17602996254682}