I've tried to map a bit of a signal (here addS of type signed(32 downto 0)) in a structural description like this:
add2 : entity work.adderSigned(behavioral)
generic map(N => 64)
port map(a(63 downto 32) => mulssS, --concat
a(31 downto 0) => signed(muluuS), --concat
-- b(63 downto 48) => addS(32 downto 32),
b(63 downto 48) => (others => addS(32)), --the critical line
b(47 downto 16) => addS(31 downto 0),
b(15 downto 0) => (others => '0'),
std_logic_vector(y) => y);
but the compiler complains that this isn't a static mapping. How can I perform this mapping?
b(63 downto 48) => (63 downto 48 => addS(32)),(others => ???)should work as long asaandbare constrained vectors. What tool do you use? Some tools don't support the evaluation of complex expressions on the right hand side of a port assignment (likesigned (...)).a : in std_logic_vector(N-1 downto 0)