Hardware Reference
In-Depth Information
unterscheidung wird durch einen 4-Bit-Multiplexer am Ende des Datenflusses
nachgebildet.
Zuweisungen an unterschiedliche Variablen oder Signale in einer Auswahl-
anweisung beschreiben mehrere Multiplexer. Abbildung 2.13 zeigt eine Aus-
wahlanweisung mit Zuweisungen an zwei Variablen. Beiden wird, damit die
Auswahlanweisung kein Speicherverhalten beschreibt, vor der Auswahlanwei-
sung ein Standardwert zugewiesen. Mit »|« werden mehrere Auswahlwerte
zusammengefasst. Die Synthese findet für die Variable u einen Multiplexer,
der zwischen den Eingabegrößen
undu sonst umschaltet, und fürveinen
Multiplexer, der zwischen den Eingabegrößen
a
,
b
c
,
d
undv sonst umschaltet.
u:=u sonst ;
v:=v sonst ;
case
when
when
when
endcase;
sis
w1 = >
= >
= >
w2
u:=a;
u:=b;
w3
w4
v:=c;
v:=d;
Mux1
Mux2
t1
t2
t2
t2
a
b
c
w1 t1
w2
w3
t1
t2
w3
sonst
u
d
w4
v
t1
sonst
u sonst
v sonst
s
{ w1,w2,w3,... }
t1,t2-beliebigeBit-oderBitvektortypen
Abb. 2.13. Auswahlanweisung zur Beschreibung mehrerer Multiplexer
Abbildung 2.14 zeigt als abschließendes Beispiel die Beschreibung einer
Wertetabelle mit einer Auswahlanweisung. Der Auswahlausdruck ist ein Bit-
vektor. Alle Eingabewerte, denen der Ausgabewert »1« zugeordnet ist, stehen
im ersten Auswahlfall. Alle anderen Eingabewerte, für die der Ausgabewert
»0« ist, erfasst der Sonst-Fall.
signal x:std_logic_vector( 3 downto 0 );
signal y:std_logic;
...
process (x)
begin
case x is
when "0001"|"0010" | "0100" | "1000" => y <= '1' ;
when others
x 3 y
0
x 2
x 1
x 0
0
0
1
1
1
1
1
0
0
0
0
1
0
00
0
1
10
0
sonst
=> y <= '0' ;
end case ;
end process ;
Web-Projekt:P2.1/SynthWTab.vhdl
Abb. 2.14. Beschreibung einer Wertetabelle mit einer Auswahlanweisung
 
Search WWH ::




Custom Search