Dealing with multiple types in VHDL
Variables are used like constants in c, not for actual signals. Stick with integer, signed, unsigned and std_logic_vector.

If you do need to translate between them then here are the functions to do that:



Source: http://www.lothar-miller.de/s9y/categories/16-Numeric_Std