Comment concaténer des bits en VHDL? Je suis en train d'utiliser le code suivant:Concaténation de bits en VHDL
cas b0 & b1 b2 & & b3 est ...
et jette une erreur
Merci
Comment concaténer des bits en VHDL? Je suis en train d'utiliser le code suivant:Concaténation de bits en VHDL
cas b0 & b1 b2 & & b3 est ...
et jette une erreur
Merci
L'opérateur de concaténation '& 'est autorisé du côté droit de l'opérateur d'assignation de signaux' < = ', seulement
Voici un exemple de l'opérateur de concaténation:
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;
Vous n'êtes pas autorisé à utiliser l'opérateur de concaténation avec la déclaration de cas. Une solution possible est d'utiliser une variable dans le processus:
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;
Il fonctionne pour les affectations de variables ':' = .. et voir d'autres réponses –