I have read somewhere that Non-Blocking-Assignment is not allowed for dynamic objects like class-objects, dynamic arrays etc.
My sample code is
class dyn_class;
logic a;
function void put();
a <= 1'b1;
endfunction
endclass
module TB();
dyn_class dyn_obj = new();
initial
dyn_obj.put();
endmodule
The ERROR popped up is ERROR VCP7049 "Non-blocking assignment to dynamic object: this.a." "testbench.sv" 7 14
Can anyone tell the reason why this is the case?
I also read somewhere that there is a proposal to remove this rule in the next version.
The simulator is edaplayground.