所以,
我的一个实体上有一个32位端口。这实际上由许多较小的信号组成,所有信号都映射到一个寄存器中。在一个例子中,当我实例化它时,我只对32个信号中的3个感兴趣。因此,我使用切片关联(a,b和c)相应地映射这些。然后我想将其他29位分配为零。有没有比写出几个语句以涵盖所有剩余位更快的方法?
label: module1
port map(
reg_in(4) => a,
reg_in(7) => b,
reg_in(25)=> c,
reg_in(3 downto 0) => (others => '0'),
reg_in(6 downto 5) => (others => '0'),
reg_in(24 downto 8) => (others => '0'),
reg_in(31 downto 26) => (others => '0')
);
答案 0 :(得分:3)
我会添加一个内部信号并在端口映射中连接它。
signal reg_assembly : std_logic_vector(31 downto 0);
...
reg_assembly <= (4 => a, 7 => b, 25 => c, others => '0');
label: module1
port map(
reg_in => reg_assembly
);