This library extends the std_logic_arith library to handle std_logic_vector values as signed integers. This is a Synopsys extention. The source code is in std_logic_signed.vhd and is freely redistributable.

This library defines all of the same arithmetic (+, -, *), comparison (<, <=, >, >=, =, /=) and shift (shl, shr) operations as the std_logic_arith library. This difference is that the extensions will take std_logic_vector values as arguments and treat them as 2's complement signed integers (ie. just like type signed values).

The function conv_integer is also defined on std_logic_vector and treats the value like a signed integer:

function conv_integer(arg: std_logic_vector) return integer;