Basically you want to update the counter_signal whenever a or b change.
class cnts_update;
bit [31:0] a,b;
bit [32:0] counter_signal;
task run();
fork
forever begin
@(a+b);
counter_signal = a + b;
end
join_none
endtask
endclass
module tbtop;
cnts_update cnts_i;
initial begin
cnts_i= new();
cnts_i.run();
$monitor("%t, a : %0d, b : %0d, %0d", $time, cnts_i.a, cnts_i.b, cnts_i.counter_signal);
repeat(20) begin #10; cnts_i.a =$urandom; cnts_i.b=$urandom; end
end
endmodule