system c не может выполнить сигнал op, поэтому каждая вещь должна иметь входящий сигнал и выполнять приведение типа.
sc_in> counter;
counter = counter + 1; // не будет работать
sc_uint <16> local_counter = counter.read (); // это будет работать
local_counter = local_counter + 1; // будет работать