R
Ralf Hildebrandt
Guest
Hi VHDL-guys!
I've noticed some special behavior. I use:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL,IEEE.Numeric_STD.ALL;
Three signals are defined as follows:
signal c : std_ulogic;
signal d : signed(2 downto 0);
signal dummy : std_ulogic_vector(2 downto 0);
The following concatenation and type conversion works fine:
dummy<="00" & c;
d<=signed(dummy);
But this way fails:
d<=signed("00" & c);
^
"operand of type conversion is ambiguous"
What is the difference, that makes the conversion function fail with the
2nd code fragment?
If the concatenation "00" & c does not procude a std_(U)logic_vector,
why I can assignd it to signal dummy?
Ralf
I've noticed some special behavior. I use:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL,IEEE.Numeric_STD.ALL;
Three signals are defined as follows:
signal c : std_ulogic;
signal d : signed(2 downto 0);
signal dummy : std_ulogic_vector(2 downto 0);
The following concatenation and type conversion works fine:
dummy<="00" & c;
d<=signed(dummy);
But this way fails:
d<=signed("00" & c);
^
"operand of type conversion is ambiguous"
What is the difference, that makes the conversion function fail with the
2nd code fragment?
If the concatenation "00" & c does not procude a std_(U)logic_vector,
why I can assignd it to signal dummy?
Ralf