** Error: D:/project files/wsn and prng/foldedtree.vhd(18): (vcom-1078) Identifier "unsigned" is not directly visible.
Potentially visible declarations are:
ieee.std_logic_arith.unsigned (type declaration)
ieee.numeric_bit.unsigned (type declaration)
** Error: D:/project files/wsn and prng/foldedtree.vhd(18): Illegal type conversion to std.standard.real (operand type is not known).
** Error: D:/project files/wsn and prng/foldedtree.vhd(22): VHDL Compiler exiting
this is because you have included both std_logic_arith and numeric_std packages. They both declare signed and unsigned types so the compiler doesnt know which one to use. The easiest fix is to remove the non-standard std_logic_arith package and use only numeric_std
Yes the problem in using library numeric and unsigned. u removed numeric and use only unsigned library. and your code having a real function. so ur having a another problem in real. real function cannot be synthesize in ISE. at that same time real synthesized inside of function in vhdl package declaration.
The code does require numeric_std library for to_integer(), so it shouldn't be removed. And it's generally better to use the true IEEE libraries.
Nothing is said about synthesis in the original post, it looks like a test bench DAC model (not ADC as claimed in the component name, because it has digital input and analog output). In this case, usage of real ports and functions won't be a problem.