¿Cómo se concatenan bits en VHDL? Estoy tratando de utilizar el siguiente código:Bits de concatenación en VHDL
Caso b0 b1 & & b2 b3 es & ...
y se emitirá un error al
Gracias
¿Cómo se concatenan bits en VHDL? Estoy tratando de utilizar el siguiente código:Bits de concatenación en VHDL
Caso b0 b1 & & b2 b3 es & ...
y se emitirá un error al
Gracias
El operador de concatenación '& 'está permitido en el lado derecho del operador de asignación de señal' < = ', solo
Aquí está un ejemplo de operador de concatenación:
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;
No tiene permitido utilizar el operador de concatenación con la sentencia case. Una posible solución es usar una variable dentro del proceso:
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;
Funciona para asignaciones variables ': =' también ... ver otras respuestas –