2016-09-21 7 views
0

kann mir jemand helfen, wie man diesen vhdl Code zur Verwendung von 'when' Aussage ändert? HierWie zu ändern, wenn Aussage

ist der Code, den ich geschrieben habe:

library IEEE; 
use IEEE.std_logic_1164.all; 

entity sel2_1 is 
    port(A, B, SEL : in std_logic; 
     outsgnl : out std_logic); 
end sel2_1; 

architecture EX1 of sel2_1 is 
begin 
    outsgnl <= (not SEL and A) or (SEL and B); 
end EX1; 

das Simulationsergebnis ist wie folgt: simulation

+0

Ich habe die obige Frage bearbeiten und das Simulationsergebnis eingeben. Ich versuche, den VHDL-Code zu ändern, wenn ich Anweisung verwende, und ich erwarte dasselbe genaue Ergebnis. – HAKIM

Antwort

2

Wenn Schlüsselwort wird in verschiedenen VHDL Zuweisungen verwendet. Unter der Annahme, SEL nur '0' oder '1' können Sie ersetzen Simpley

outsgnl <= (not SEL and A) or (SEL and B); 

durch eine ausgewählte Signalzuweisung, die oft als mit/select Zuordnung

with SEL select outsgnl <= 
    A when '0', 
    B when others; 

Alternativ können Sie bedingte Signalzuweisung verwenden oft bezeichnet als wenn/sonst

+0

vielen dank! Es funktioniert genauso wie die Simulation, die ich oben gepostet habe. – HAKIM