Wie verketten Sie Bits in VHDL? Ich versuche, den folgenden Code zu verwenden:Verketten von Bits in VHDL
Fall b0 & b1 & b2 & b3 ist ...
und es wirft einen Fehler
Dank
Wie verketten Sie Bits in VHDL? Ich versuche, den folgenden Code zu verwenden:Verketten von Bits in VHDL
Fall b0 & b1 & b2 & b3 ist ...
und es wirft einen Fehler
Dank
Der Verkettungsoperator "& 'ist auf der rechten Seite des Signalzuweisungsoperators erlaubt' < = ', nur
Hier ist ein Beispiel für Verkettungsoperator:
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;
Sie dürfen den Verkettungsoperator nicht mit der case-Anweisung verwenden. Eine mögliche Lösung ist, eine Variable innerhalb des Prozesses zu verwenden:
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;
Es funktioniert für Variablenzuweisungen ': =' auch .. siehe andere Antworten –