Hardware Reference
In-Depth Information
anderen bitorientierte Beschreibungen von Multiplexern durch Fallunterschei-
dungen. Die Operanden dürfen jeden der bisher eingeführten Bit-Typen ha-
ben. Das Ergebnis hat denselben Typ wie die Operanden. Die Synthese ersetzt
den boolean-Wert true in der Regel durch »1« und false durch »0«. Bei
Datenobjekten vom Typ std_logic bleiben die Pseudo-Werte ungenutzt.
y
<
=nota
ifs=1then
y
<
=a;
elsey
<
=b;
endif;
signala,b,s,y:tBit;
a
y
<
=aandb
y
<
=aorb
y
<
=axorb
a
& y
a
≥
1
a
=1
y
y
b
b
b
a
1
y
<
=anandb
y
<
=anorb
y
y
<
=axnorb
y
0
b
a
&
a
≥
1
a
=1
y
y
b
b
b
s
Abb. 2.4. Operatoraufrufe und Fallunterscheidungen, die durch Grundgatter nach-
gebildet werden (tBit - Bittyp: bit, boolean oder std_logic)
Abbildung 2.5 zeigt eine Beispielbeschreibung einer Gatterschaltung und
die extrahierte Schaltung. Die Operatoren werden durch Gatter nachgebil-
det. Jeder Ausdruck bildet eine baumartige Teilschaltung. Aus den Variablen
werden Signale, die die Teilbäume miteinander verbinden.
signal x0, x1, x2, x3, x4:
std_logic;
signal y0, y1:
std_logic;
...
process(x0, x1, x2, x3, x4)
variable v0, v1:
std_logic;
begin
A1: v0 := x0
and x1;
A2: v1 := v0
nor
x3;
A3: y0 <= (v0
and
x2)
or
v1;
A4: y1 <= ((
not
x4)
or
x3)
nand
v1;
end process;
A1
v
0
x
0
A3
≥
1
&
&
x
2
x
1
y
0
A2
≥
1
&
x
3
v
1
y
1
A4
≥
1
x
4
b)
a)
⇒
Web-Projekt:P2.1/ExtrLS.vhdl
Abb. 2.5. a) Beschreibung einer Gatterschaltung b) extrahierte Schaltung
In synthesefähigen kombinatorischen Prozessen sind auch Fallunterschei-
dungen zulässig. Diese werden durch Multiplexer nachgebildet. In einem Mul-
tiplexermodell braucht jede bedingte Zuweisung eine alternative Zuweisung für
den Fall, dass die Bedingung nicht erfüllt ist. Diese kann im Else-Zweig stehen
oder sie erfolgt vor der Fallunterscheidung und wird bei erfüllter Bedingung
überschrieben. Auch zugewiesene Signalwerte können innerhalb eines kombi-