To do with integers which substitute bit vectors
the signals must have constraints like this:
signal A,B: integer range -128 to 127;
then the 8x8 signed-signed multiplier looks like this:
P<=A*B;
In such a way one can program signed-unsigned, unsigned-unsigned multipliers as well.