当前位置:  开发笔记 > 编程语言 > 正文

在VHDL中连接位

如何解决《在VHDL中连接位》经验,为你挑选了3个好方法。

你如何连接VHDL中的位?我正在尝试使用以下代码:

案例b0&b1&b2&b3是......

它会抛出一个错误

谢谢



1> user21246..:

仅在信号分配运算符'<='的右侧允许连接运算符'&'


它适用于变量赋值`:=`以及其他答案

2> user21246..:

以下是连接运算符的示例:

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;



3> 小智..:

不允许将连接运算符与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;

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有