代码之家  ›  专栏  ›  技术社区  ›  Zain Rizvi viperguynaz

VHDL中的级联位

  •  14
  • Zain Rizvi viperguynaz  · 技术社区  · 16 年前

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

    ...

    3 回复  |  直到 16 年前
        1
  •  27
  •   user21246    16 年前

    串联运算符'&'允许在信号分配运算符“<=”的右侧使用,只有

        2
  •  12
  •   Justin    15 年前

    不允许在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;
    
        3
  •  12
  •   musicakc Marc Gravell    10 年前

    以下是串联运算符的示例:

    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;