[hw,i2c] Add support for Xcelium Xcelium errors out in cases where enum variable is assigned with non-enum variable. Add explicit cast to fix the issue in I2C sequences Signed-off-by: Raviteja Chatta <crteja@lowrisc.org>
diff --git a/hw/ip/i2c/dv/env/seq_lib/i2c_base_vseq.sv b/hw/ip/i2c/dv/env/seq_lib/i2c_base_vseq.sv index 4b0bda5..bd59b9c 100644 --- a/hw/ip/i2c/dv/env/seq_lib/i2c_base_vseq.sv +++ b/hw/ip/i2c/dv/env/seq_lib/i2c_base_vseq.sv
@@ -954,7 +954,7 @@ read_acq_fifo(0, acq_fifo_empty); end else begin for (int i = 0; i < NumI2cIntr; i++) begin - i2c_intr_e my_intr = i; + i2c_intr_e my_intr = i2c_intr_e'(i); if (!expected_intr.exists(my_intr)) begin if (cfg.intr_vif.pins[i] !== 0) begin `uvm_error("process_target_interrupts",
diff --git a/hw/ip/i2c/dv/env/seq_lib/i2c_target_smoke_vseq.sv b/hw/ip/i2c/dv/env/seq_lib/i2c_target_smoke_vseq.sv index f4b5bd6..e175837 100644 --- a/hw/ip/i2c/dv/env/seq_lib/i2c_target_smoke_vseq.sv +++ b/hw/ip/i2c/dv/env/seq_lib/i2c_target_smoke_vseq.sv
@@ -49,7 +49,7 @@ expected_intr[AcqFull] = 1; expected_intr[TxStretch] = 1; expected_intr[CmdComplete] = 1; - for (int i = 0; i < NumI2cIntr; i++) intr_q.push_back(i); + for (int i = 0; i < NumI2cIntr; i++) intr_q.push_back(i2c_intr_e'(i)); end if (cfg.bad_addr_pct > 0) cfg.m_i2c_agent_cfg.allow_bad_addr = 1; endtask