I am trying to wait for a change in 2 signals in following 2 ways.
Option 1: @(a or b)
Option 2: @(a || b)
If any change observed for any signal then I am trying to display the value as shown below.
module wait_test;
int a, b;
initial
begin
#10 a += 10;
#10 b += 10;
#10 a += 10;
#10 b += 10;
end
initial
forever
begin
@(a or b)
$display($time,"\ta = %0d,b = %0d", a, b);
end
endmodule
Result:
10 a = 10,b = 0
20 a = 10,b = 10
30 a = 20,b = 10
40 a = 20,b = 20
When I replace @(a or b) with @(a || b), I only observe 1st display with no errors. Please help me with the reason.
Result:
10 a = 10,b = 0