Hardware Reference
In-Depth Information
Aufgabe 3.2
Entwickeln Sie eine Funktionsbeschreibung
function
seg7(x:std_logic_vector(
2
downto
0
))
return
std_logic_vector;
die aus dem 3-Bit-Eingabevektor
entsprechend Abb. 3.12 den Ansteuervek-
tor für eine 7-Segmentanzeige zur Darstellung der Zeichen »O«, »P«, »U« und
»F« erzeugt. Im Sonst-Fall soll die Anzeige dunkel bleiben (alle Ausgabebits
null).
x
y
0
x
000 001 010 011sonst
y
5
y
6
y
1
y
i
=0
y
y
4
y
2
y
i
=1
y
3
Abb. 3.12. Zeichendarstellung zu Aufgabe 3.2
Aufgabe 3.3
Schreiben Sie eine Funktion
function
count1(x:std_logic_vector)
return
natural;
die die Anzahl der Einsen im Eingabevektor zählt und zurückgibt.
Aufgabe 3.4
a) Schreiben Sie eine nebenläufige Prozedur
procedure
TMG(
signal
T, I:
out
std_logic;
signal
x:
out
tUnsigned(
1
downto
0
));
die die Signalverläufe in Abb. 3.13a erzeugt. Die beiden Bits der Test-
eingabevektoren z
i
sollen mit Hilfe der Funktion »rand« aus Abschnitt
3.1.5 mit 50%-iger Wahrscheinlichkeit mit »0« und sonst mit »1« belegt
werden.
b) Schreiben Sie eine nebenläufige Prozedur
procedure
Akku(
signal
T, I:std_logic;
signal
x: tUnsigned(
1
downto
0
);
signal
y:
inout
tUnsigned(
3
downto
0
));
die das Verhalten der Schaltung in Abb. 3.13b nachbildet. Abbildung
3.13 c zeigt als Hilfestellung zusätzlich eine Beschreibung der Funktion
der Schaltung aus Abb. 3.13 b durch einen Abtastprozess.