如何在VHDL中声明具有多个零的输出

Bug*_*tGG 12 vhdl

您好我正在尝试找到替换此命令的方法:Bus_S <= "0000000000000000000000000000000" & Ne;使用更方便的东西.逐个计数零并不是很复杂.该程序是针对ALU的SLT SLT单元.SLT仅获得1位(ADDSU32的MSB)并且具有全为零的32位输出,但第一位取决于ADDSU32的Ne = MSB.(暂时忽略ALUop)

entity SLT_32x is
   Port ( Ne : in  STD_LOGIC;
         ALUop : in STD_LOGIC_VECTOR (1 downto 0);
         Bus_S : out  STD_LOGIC_VECTOR (31 downto 0));
end SLT_32x;

architecture Behavioral of SLT_32x is
begin
  Bus_S <= "0000000000000000000000000000000" & Ne; 
end Behavioral;
Run Code Online (Sandbox Code Playgroud)

有没有办法使用(30 downto 0)='0'或类似的东西?谢谢.

Phi*_*ppe 29

试试这个:bus_S <= (0 => Ne, others => '0') 这意味着:将第0位设置为Ne,并将其他位设置为"0".