你如何连接VHDL中的位?我正在尝试使用以下代码:
案例b0&b1&b2&b3是......
它会抛出一个错误
谢谢
仅在信号分配运算符'<='的右侧允许连接运算符'&'
以下是连接运算符的示例:
architecture EXAMPLE of CONCATENATION is signal Z_BUS : bit_vector (3 downto 0); signal A_BIT, B_BIT, C_BIT, D_BIT : bit; begin Z_BUS <= A_BIT & B_BIT & C_BIT & D_BIT; end EXAMPLE;
不允许将连接运算符与case语句一起使用.一种可能的解决方案是在流程中使用变量:
process(b0,b1,b2,b3) variable bcat : std_logic_vector(0 to 3); begin bcat := b0 & b1 & b2 & b3; case bcat is when "0000" => x <= 1; when others => x <= 2; end case; end process;