The signed type

The signed type has the same definition as the std_logic_vector and unsigned type, so most operations are the same.

The difference comes up when you try to treat something of the signed type as a number. It will be treated as an signed, 2's complement binary-coded integer, with the most significant bit in the first position in the array.

Have a look at the other operations in std_logic_arith for examples of how this type can be used.