what is the problem with my code which encountered these two error...
I have used these two operators "**" and "/" and I have add related libraries:
ieee.std_logic.unsigned
ieee.std_logic.arith
found '0' definitions of operator "/" ,cannot determine exact overloaded matching definition for "/"
found '0' definitions of operator "**" ,cannot determine exact overloaded matching definition for "**"
To answer your question literally: Neither operator is defined in std_logic.arith. What make you think they can be used?
Division "/" is however defined in ieee.numeric_std and also for integer objects. Also "**" for integer and real.
Synthesizability depends on used tool. Division by power of 2 is mostly supported, division by arbitrary constants or signals might infer a divider block. "**" can be at least used for constants (compile time calculations).