The basic comparison operations,
less than (<), less than or equal (<=)
greater than (>), greater than or equal (>=)
equal to (=) and not equal to (/=)
are defined on the unsigned and signed types.
Each of the operators can take unsigned, signed and integer values as arguments. They all return boolean values.
Note that this library doesn't allow you to do comparisons on std_logic_vector values. That's because it's impossible for it to determine whether a particular std_logic_vector is representing a signed or unsigned value. To do this, you need to use either the std_logic_unsigned or std_logic_signed libraries.
signal u1, u2 : unsigned (3 downto 0); signal s1 : signed (3 downto 0); signal o1,o2 : std_logic; ... u1 <= "1001"; -- = 9 u2 <= "0111"; -- = 7 s1 <= "1001"; -- = -7 wait for 10 ns; if u1 > u2 then o1 <= '1'; -- o1 set to '1' else o1 <= '0'; end if; if s1 > u2 then o2 <= '1'; else o2 <= '0'; -- o2 set to '0' end if;