Issue when using uvm_reg update method: "Accessing non-static members of a null object is not allowed"


Running ubm_tb_build_bl_tb example on SPI interface provided in cookbook code examples (, i select testcase “spi_poll_test” and i face below error during sim execution:

"sequences/ Line: 151 : Accessing non-static members of a null object is not allowed."

This line corresponds to code from class SPI_config_rand_order_seq:

spi_regs[i].update(status, .path(UVM_FRONTDOOR), .parent(this));

Do you have any idea where comes from this issue and how to fix it ?


In reply to flo_gwt:

The example downloaded from the link you gave works for me (Using UVM 1.2).

But there are difference from where you reported the error and the code on the reported line.

File: sequences/ Line: 151 has
repeat(10) begin

But the line you reported from class SPI_config_rand_order_seq is from File: Line: 363

In reply to dave_59:

Hi Dave,

Thx for your trial on your side. In fact you are true, i “lighted” the case in “uvm_tb_build_bl_tb.tgz” to remove unused seqs. That’s the reason for the mismatch between my reported line and the one corresponding in your src files.

So i ran again from scratch the usecase from proper “uvm_tb_build_bl_tb.tgz”. And i still get the issue but line 363 that time.
I think i know where it comes from: i use VIVADO Simulator 2021.1 with uvm 1.2 and you probably use Questasim.