libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.NUMERIC_STD.ALL;entity xx ....end xx;architecture Behavioral of xx is
....
signal inst :real;beginprocess(clk)variable mn :realbeginif(rising_edge(clk))then
inst<= some value
if((inst<0.10and inst>=0.00)or(inst>-0.10and inst<=0.00))then
mn:=abs(inst*100);---------
then I am getting a error as--- found '0' definitions of operator "*", cannot determine exact overloaded matching definition for "*". What does that mean ? I have included libraries which are required . Where did I do mistake ?
if ((inst<0.10 and inst>=0.00 ) or (inst>-0.10 and inst<=0.00) ) then
mn:= abs(inst*100.0);
then I am getting a error as--- found '0' definitions of operator "*", cannot determine exact overloaded matching definition for "*". What does that mean ? I have included libraries which are required . Where did I do mistake ?
A rather annoying feature of the language is that the multiply operator is not defined for multiplying a 'real' and an 'integer'. Change the 100 to 100.0 in your code and you should be good to go.