将所有未使用的端口片映射到一

时间:2015-04-09 14:34:00

标签: entity vhdl

所以,

我的一个实体上有一个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')
);

1 个答案:

答案 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
);