IMPORTANT NOTICE: Please be advised that the Verification Academy Forums will be offline for scheduled maintenance on Sunday, April 6th at 2:00 US/Pacific.
After Received Data1, I get the Received Data2 but the same value. I thought that they values are must be different. the get_next_item is blocking so next data must be the next cycle’s data but it’s the same cycle’s data.
get_next_item unblocks when finish_item is called from the sequence .
Assuming that finish_item is called at Time 0 , you would observe default value of read_DATA signal in both of your displays .
You are doing a nonblocking assignment while reading it via a blocking statment , how do you expect to observe the same value ? .
One gets updated in NBA region while the display executes in active region
Driver must wait for next clock triggering before sampling signals
In reply to UVM_LOVE:
get_next_item unblocks when finish_item is called from the sequence .
Assuming that finish_item is called at Time 0 , you would observe default value of read_DATA signal in both of your displays .
You are doing a nonblocking assignment while reading it via a blocking statment , how do you expect to observe the same value ? .
One gets updated in NBA region while the display executes in active region
Driver must wait for next clock triggering before sampling signals
bit clk ;
bit [1:0] a ;
initial forever #10 clk = !clk ;
always @( posedge clk ) a <= a + 1 ;
initial begin
$display(" Before posedge a is %0d " , a);
@( posedge clk );
$display(" After posedge a is %0d " , a);
@( posedge clk );
$display(" After 2nd posedge a is %0d " , a);
$finish();
end