{"block":{"name":"i2c","variant":null,"commit":"cd62ffa1d9e5d9e08a6bd7c9bafa7e2fc744185e","commit_short":"cd62ffa","branch":"master","url":"https://github.com/lowRISC/opentitan/tree/cd62ffa1d9e5d9e08a6bd7c9bafa7e2fc744185e","revision_info":"GitHub Revision: [`cd62ffa`](https://github.com/lowrisc/opentitan/tree/cd62ffa1d9e5d9e08a6bd7c9bafa7e2fc744185e)"},"tool":{"name":"vcs","version":"unknown"},"timestamp":"2026-04-02T19:24:53Z","build_seed":null,"testplan_ref":"https://opentitan.org/book/hw/ip/i2c/data/i2c_testplan.html","stages":{"V1":{"testpoints":{"host_smoke":{"tests":{"i2c_host_smoke":{"max_time":46.25,"sim_time":2826.688744,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"target_smoke":{"tests":{"i2c_target_smoke":{"max_time":6.09,"sim_time":1302.122597,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"csr_hw_reset":{"tests":{"i2c_csr_hw_reset":{"max_time":0.87,"sim_time":126.206429,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"csr_rw":{"tests":{"i2c_csr_rw":{"max_time":0.91,"sim_time":62.576396,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"csr_bit_bash":{"tests":{"i2c_csr_bit_bash":{"max_time":3.43,"sim_time":1467.20181,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"csr_aliasing":{"tests":{"i2c_csr_aliasing":{"max_time":1.4,"sim_time":42.971489999999996,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"csr_mem_rw_with_rand_reset":{"tests":{"i2c_csr_mem_rw_with_rand_reset":{"max_time":0.84,"sim_time":44.525819000000006,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"regwen_csr_and_corresponding_lockable_csr":{"tests":{"i2c_csr_rw":{"max_time":0.91,"sim_time":62.576396,"passed":1,"total":1,"percent":100.0},"i2c_csr_aliasing":{"max_time":1.4,"sim_time":42.971489999999996,"passed":1,"total":1,"percent":100.0}},"passed":2,"total":2,"percent":100.0}},"passed":7,"total":7,"percent":100.0},"V2":{"testpoints":{"host_error_intr":{"tests":{"i2c_host_error_intr":{"max_time":0.76,"sim_time":14.762046,"passed":0,"total":1,"percent":0.0}},"passed":0,"total":1,"percent":0.0},"host_stress_all":{"tests":{"i2c_host_stress_all":{"max_time":39.27,"sim_time":3050.300583,"passed":0,"total":1,"percent":0.0}},"passed":0,"total":1,"percent":0.0},"host_maxperf":{"tests":{"i2c_host_perf":{"max_time":171.17,"sim_time":18596.258788,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"host_override":{"tests":{"i2c_host_override":{"max_time":0.67,"sim_time":39.443746,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"host_fifo_watermark":{"tests":{"i2c_host_fifo_watermark":{"max_time":35.44,"sim_time":10476.176374,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"host_fifo_overflow":{"tests":{"i2c_host_fifo_overflow":{"max_time":46.07,"sim_time":33010.672223,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"host_fifo_reset":{"tests":{"i2c_host_fifo_reset_fmt":{"max_time":0.95,"sim_time":124.3057,"passed":1,"total":1,"percent":100.0},"i2c_host_fifo_fmt_empty":{"max_time":6.37,"sim_time":444.43838900000003,"passed":1,"total":1,"percent":100.0},"i2c_host_fifo_reset_rx":{"max_time":2.26,"sim_time":712.62919,"passed":1,"total":1,"percent":100.0}},"passed":3,"total":3,"percent":100.0},"host_fifo_full":{"tests":{"i2c_host_fifo_full":{"max_time":38.57,"sim_time":4537.528067,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"host_timeout":{"tests":{"i2c_host_stretch_timeout":{"max_time":7.76,"sim_time":1331.535535,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"i2c_host_mode_toggle":{"tests":{"i2c_host_mode_toggle":{"max_time":1.02,"sim_time":61.94850099999999,"passed":0,"total":1,"percent":0.0}},"passed":0,"total":1,"percent":0.0},"target_glitch":{"tests":{"i2c_target_glitch":{"max_time":2.08,"sim_time":567.307433,"passed":0,"total":1,"percent":0.0}},"passed":0,"total":1,"percent":0.0},"target_stress_all":{"tests":{"i2c_target_stress_all":{"max_time":135.49,"sim_time":51039.893911,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"target_maxperf":{"tests":{"i2c_target_perf":{"max_time":4.45,"sim_time":1821.877091,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"target_fifo_empty":{"tests":{"i2c_target_stress_rd":{"max_time":27.01,"sim_time":1282.168729,"passed":1,"total":1,"percent":100.0},"i2c_target_intr_smoke":{"max_time":4.33,"sim_time":1667.789846,"passed":1,"total":1,"percent":100.0}},"passed":2,"total":2,"percent":100.0},"target_fifo_reset":{"tests":{"i2c_target_fifo_reset_acq":{"max_time":1.32,"sim_time":175.66291,"passed":1,"total":1,"percent":100.0},"i2c_target_fifo_reset_tx":{"max_time":1.13,"sim_time":255.81451,"passed":1,"total":1,"percent":100.0}},"passed":2,"total":2,"percent":100.0},"target_fifo_full":{"tests":{"i2c_target_stress_wr":{"max_time":55.74,"sim_time":38263.382681999996,"passed":1,"total":1,"percent":100.0},"i2c_target_stress_rd":{"max_time":27.01,"sim_time":1282.168729,"passed":1,"total":1,"percent":100.0},"i2c_target_intr_stress_wr":{"max_time":15.25,"sim_time":8189.1986449999995,"passed":1,"total":1,"percent":100.0}},"passed":3,"total":3,"percent":100.0},"target_timeout":{"tests":{"i2c_target_timeout":{"max_time":3.96,"sim_time":1053.391089,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"target_clock_stretch":{"tests":{"i2c_target_stretch":{"max_time":1.84,"sim_time":219.85369500000002,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"bad_address":{"tests":{"i2c_target_bad_addr":{"max_time":2.26,"sim_time":2306.806894,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"target_mode_glitch":{"tests":{"i2c_target_hrst":{"max_time":18.93,"sim_time":10004.683326,"passed":0,"total":1,"percent":0.0}},"passed":0,"total":1,"percent":0.0},"target_fifo_watermark":{"tests":{"i2c_target_fifo_watermarks_acq":{"max_time":2.03,"sim_time":446.21858299999997,"passed":1,"total":1,"percent":100.0},"i2c_target_fifo_watermarks_tx":{"max_time":1.14,"sim_time":97.088459,"passed":1,"total":1,"percent":100.0}},"passed":2,"total":2,"percent":100.0},"host_mode_config_perf":{"tests":{"i2c_host_perf":{"max_time":171.17,"sim_time":18596.258788,"passed":1,"total":1,"percent":100.0},"i2c_host_perf_precise":{"max_time":1.21,"sim_time":48.058870999999996,"passed":1,"total":1,"percent":100.0}},"passed":2,"total":2,"percent":100.0},"host_mode_clock_stretching":{"tests":{"i2c_host_stretch_timeout":{"max_time":7.76,"sim_time":1331.535535,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"target_mode_tx_stretch_ctrl":{"tests":{"i2c_target_tx_stretch_ctrl":{"max_time":1.64,"sim_time":80.680481,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"target_mode_nack_generation":{"tests":{"i2c_target_nack_acqfull":{"max_time":2.2,"sim_time":1687.4935090000001,"passed":1,"total":1,"percent":100.0},"i2c_target_nack_acqfull_addr":{"max_time":1.56,"sim_time":1742.1401059999998,"passed":1,"total":1,"percent":100.0},"i2c_target_nack_txstretch":{"max_time":1.08,"sim_time":147.19336900000002,"passed":1,"total":1,"percent":100.0}},"passed":3,"total":3,"percent":100.0},"host_mode_halt_on_nak":{"tests":{"i2c_host_may_nack":{"max_time":5.82,"sim_time":1684.399087,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"target_mode_smbus_maxlen":{"tests":{"i2c_target_smbus_maxlen":{"max_time":1.61,"sim_time":475.398858,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"alert_test":{"tests":{"i2c_alert_test":{"max_time":0.62,"sim_time":16.97793,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"intr_test":{"tests":{"i2c_intr_test":{"max_time":0.88,"sim_time":26.122220000000002,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"tl_d_oob_addr_access":{"tests":{"i2c_tl_errors":{"max_time":1.72,"sim_time":176.97258100000002,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"tl_d_illegal_access":{"tests":{"i2c_tl_errors":{"max_time":1.72,"sim_time":176.97258100000002,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0},"tl_d_outstanding_access":{"tests":{"i2c_csr_hw_reset":{"max_time":0.87,"sim_time":126.206429,"passed":1,"total":1,"percent":100.0},"i2c_csr_rw":{"max_time":0.91,"sim_time":62.576396,"passed":1,"total":1,"percent":100.0},"i2c_csr_aliasing":{"max_time":1.4,"sim_time":42.971489999999996,"passed":1,"total":1,"percent":100.0},"i2c_same_csr_outstanding":{"max_time":0.95,"sim_time":73.795505,"passed":1,"total":1,"percent":100.0}},"passed":4,"total":4,"percent":100.0},"tl_d_partial_access":{"tests":{"i2c_csr_hw_reset":{"max_time":0.87,"sim_time":126.206429,"passed":1,"total":1,"percent":100.0},"i2c_csr_rw":{"max_time":0.91,"sim_time":62.576396,"passed":1,"total":1,"percent":100.0},"i2c_csr_aliasing":{"max_time":1.4,"sim_time":42.971489999999996,"passed":1,"total":1,"percent":100.0},"i2c_same_csr_outstanding":{"max_time":0.95,"sim_time":73.795505,"passed":1,"total":1,"percent":100.0}},"passed":4,"total":4,"percent":100.0}},"passed":36,"total":41,"percent":87.8048780487805},"V2S":{"testpoints":{"tl_intg_err":{"tests":{"i2c_tl_intg_err":{"max_time":1.73,"sim_time":238.681731,"passed":1,"total":1,"percent":100.0},"i2c_sec_cm":{"max_time":0.89,"sim_time":327.663168,"passed":1,"total":1,"percent":100.0}},"passed":2,"total":2,"percent":100.0},"sec_cm_bus_integrity":{"tests":{"i2c_tl_intg_err":{"max_time":1.73,"sim_time":238.681731,"passed":1,"total":1,"percent":100.0}},"passed":1,"total":1,"percent":100.0}},"passed":2,"total":2,"percent":100.0},"V3":{"testpoints":{"host_stress_all_with_rand_reset":{"tests":{"i2c_host_stress_all_with_rand_reset":{"max_time":1.75,"sim_time":102.30832799999999,"passed":0,"total":1,"percent":0.0}},"passed":0,"total":1,"percent":0.0},"target_error_intr":{"tests":{"i2c_target_unexp_stop":{"max_time":0.91,"sim_time":56.182235999999996,"passed":0,"total":1,"percent":0.0}},"passed":0,"total":1,"percent":0.0},"target_stress_all_with_rand_reset":{"tests":{"i2c_target_stress_all_with_rand_reset":{"max_time":7.1,"sim_time":2064.586118,"passed":0,"total":1,"percent":0.0}},"passed":0,"total":1,"percent":0.0}},"passed":0,"total":3,"percent":0.0}},"coverage":{"code":{"block":null,"line_statement":96.38,"branch":92.26,"condition_expression":84.78,"toggle":89.45,"fsm":44.05},"assertion":95.98,"functional":80.02},"cov_report_page":"/nightly/current_run/scratch/master/i2c-sim-vcs/cov_report/dashboard.html","failed_jobs":{"buckets":{"UVM_ERROR sequencer [sequencer] Get_next_item called twice without item_done or get in between":[{"name":"i2c_host_error_intr","qual_name":"0.i2c_host_error_intr.17078460712393071283530533979923986330145618724244543467090219992184475899103","seed":17078460712393071283530533979923986330145618724244543467090219992184475899103,"line":86,"log_path":"/nightly/current_run/scratch/master/i2c-sim-vcs/0.i2c_host_error_intr/latest/run.log","log_context":["UVM_ERROR @  14762046 ps: uvm_test_top.env.m_i2c_agent.sequencer [uvm_test_top.env.m_i2c_agent.sequencer] Get_next_item called twice without item_done or get in between\n","UVM_INFO @  14762046 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]},{"name":"i2c_host_stress_all","qual_name":"0.i2c_host_stress_all.90056550098176268762917159890031738674820755599192603689103841836431353095280","seed":90056550098176268762917159890031738674820755599192603689103841836431353095280,"line":163,"log_path":"/nightly/current_run/scratch/master/i2c-sim-vcs/0.i2c_host_stress_all/latest/run.log","log_context":["UVM_ERROR @ 3050300583 ps: uvm_test_top.env.m_i2c_agent.sequencer [uvm_test_top.env.m_i2c_agent.sequencer] Get_next_item called twice without item_done or get in between\n","UVM_INFO @ 3050300583 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]},{"name":"i2c_host_mode_toggle","qual_name":"0.i2c_host_mode_toggle.94536125997248312918557891559109121427888866525313651083857196964356485785935","seed":94536125997248312918557891559109121427888866525313651083857196964356485785935,"line":81,"log_path":"/nightly/current_run/scratch/master/i2c-sim-vcs/0.i2c_host_mode_toggle/latest/run.log","log_context":["UVM_ERROR @  61948501 ps: uvm_test_top.env.m_i2c_agent.sequencer [uvm_test_top.env.m_i2c_agent.sequencer] Get_next_item called twice without item_done or get in between\n","UVM_INFO @  61948501 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]}],"UVM_ERROR sequencer [sequencer] get_next_item/try_next_item called twice without item_done or get in between":[{"name":"i2c_target_glitch","qual_name":"0.i2c_target_glitch.21198781509217818386119008029745213712207973287259383877045820609600755166249","seed":21198781509217818386119008029745213712207973287259383877045820609600755166249,"line":84,"log_path":"/nightly/current_run/scratch/master/i2c-sim-vcs/0.i2c_target_glitch/latest/run.log","log_context":["UVM_ERROR @ 567307433 ps: uvm_test_top.env.m_i2c_agent.sequencer [uvm_test_top.env.m_i2c_agent.sequencer] get_next_item/try_next_item called twice without item_done or get in between\n","UVM_INFO @ 567307433 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]}],"UVM_ERROR (i2c_base_vseq.sv:1474) [i2c_target_ack_stop_vseq] Check failed obs_intr_state[intr] == exp_val (* [*] vs * [*])":[{"name":"i2c_target_unexp_stop","qual_name":"0.i2c_target_unexp_stop.39963766963169665917369730160498795243368314607452644445657330361739398847906","seed":39963766963169665917369730160498795243368314607452644445657330361739398847906,"line":78,"log_path":"/nightly/current_run/scratch/master/i2c-sim-vcs/0.i2c_target_unexp_stop/latest/run.log","log_context":["UVM_ERROR @  56182236 ps: (i2c_base_vseq.sv:1474) [uvm_test_top.env.virtual_sequencer.i2c_target_ack_stop_vseq] Check failed obs_intr_state[intr] == exp_val (0 [0x0] vs 1 [0x1]) \n","UVM_INFO @  56182236 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]}],"UVM_FATAL (i2c_target_hrst_vseq.sv:107) [target_hrst_vseq] wait timeout occurred!":[{"name":"i2c_target_hrst","qual_name":"0.i2c_target_hrst.39279796009908501583240626697054762314895671676987580472734992866457932988471","seed":39279796009908501583240626697054762314895671676987580472734992866457932988471,"line":79,"log_path":"/nightly/current_run/scratch/master/i2c-sim-vcs/0.i2c_target_hrst/latest/run.log","log_context":["UVM_FATAL @ 10004683326 ps: (i2c_target_hrst_vseq.sv:107) [target_hrst_vseq] wait timeout occurred!\n","UVM_INFO @ 10004683326 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]}],"UVM_ERROR (cip_base_vseq.sv:1236) [i2c_common_vseq] Check failed (!has_outstanding_access()) Waited * cycles to issue a reset with no outstanding accesses.":[{"name":"i2c_host_stress_all_with_rand_reset","qual_name":"0.i2c_host_stress_all_with_rand_reset.64672371584428201360559550785723875795031477475424628181777936687985477603306","seed":64672371584428201360559550785723875795031477475424628181777936687985477603306,"line":84,"log_path":"/nightly/current_run/scratch/master/i2c-sim-vcs/0.i2c_host_stress_all_with_rand_reset/latest/run.log","log_context":["UVM_ERROR @ 102308328 ps: (cip_base_vseq.sv:1236) [uvm_test_top.env.virtual_sequencer.i2c_common_vseq] Check failed (!has_outstanding_access()) Waited 10000 cycles to issue a reset with no outstanding accesses. \n","UVM_INFO @ 102308328 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]},{"name":"i2c_target_stress_all_with_rand_reset","qual_name":"0.i2c_target_stress_all_with_rand_reset.104517540245175139363333726227050884408578311325197794075862538481647987306894","seed":104517540245175139363333726227050884408578311325197794075862538481647987306894,"line":86,"log_path":"/nightly/current_run/scratch/master/i2c-sim-vcs/0.i2c_target_stress_all_with_rand_reset/latest/run.log","log_context":["UVM_ERROR @ 2064586118 ps: (cip_base_vseq.sv:1236) [uvm_test_top.env.virtual_sequencer.i2c_common_vseq] Check failed (!has_outstanding_access()) Waited 10000 cycles to issue a reset with no outstanding accesses. \n","UVM_INFO @ 2064586118 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER] \n","--- UVM Report catcher Summary ---\n","\n","\n"]}]}},"passed":42,"total":50,"percent":84.0}