Sir, whenever i simulate my vhdl code of 4 bit counter in Xilinx vivado 2015.2, i get the error message like follwing. ERROR: [VRFC 10-724] found '0' definitions of operator "+", cannot determine exact overloaded matching definition for "+" my vhdl code is library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.numeric_std.all; entity my_count is Port ( clk : in STD_LOGIC; clr : in STD_LOGIC; y : out STD_LOGIC_VECTOR (3 downto 0)); end my_count; architecture Behavioral of my_count is begin process(clk,clr) variable temp: std_logic_vector(3 downto 0):="0000"; begin if(clr='1') then temp := "0000"; elsif(clk='1' and clk'event) then temp := temp + 1; end if; y <= temp; end process; end Behavioral; test bench is library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.numeric_std.all; entity my_count_tb is -- Port ( ); end my_count_tb; architecture Behavioral of my_count_tb is component my_count port(clk,clr: in std_logic; y: out std_logic_vector(3 downto 0)); end component; signal clr,clk: std_logic; signal y: std_logic_vector(3 downto 0); begin process begin clk <=not clk after 5ns; end process; end Behavioral; please help me to solve this error