I guess you have declared your accumulator as Signal(intbv(0)[8:])
This implies that only positive values can be assigned to this signal.
In order to allow for negative values you need to declare it this way: Signal(intbv(0, min=-128, max=128))
This may not the effective solution for an 8-bit accumulator as you probably also want to accommodate 8-bit unsigned values. So it is better to resolve this by using unsigned two’s arithmetic and declaring the accumulator as Signal(modbv(0)[8:])
and work with this.
I hope this sets you on your way.
Regards,
Josy