In the following SV Code what is the meaning of @(b)?
it is clearly not event because b is a variable type of integer.
Please enlighten me..
class my_class;
semaphore sem = new(1); // declare a semaphore
int a,b;
task t_a();
while(!a) begin
#10 sem.get(1);
t_d($urandom_range(20,11), $urandom_range(99,9));
b++;
sem.put(1);
end
endtask : t_a
task t_b();
while(!a) begin
#10 sem.get(1);
t_d($urandom_range(10,1), $urandom_range(88,8));
b++;
sem.put(1);
end
endtask : t_b
task t_c();
while(!a) begin
@(b);
if (b > 5)
a = 1;
end
endtask : t_c
task t_d(int c, int d);
$display($time,"\tWrite into the Bus : Address : %0d ---> Data = %0d",c,d); #100;
endtask : t_d
task run();
fork
t_a();
t_b();
t_c();
join
#500 $display ($time,"\t Transactions Over -- out\n");
endtask : run
endclass
module tb_top();
initial begin
my_class h_my_class;
h_my_class = new;
h_my_class.run();
end
endmodule