Hardware Reference
In-Depth Information
Aufgabe 3.10
Schreiben Sie für den Aufzählungstyp
type tZustand is (Idle, Start, Run, Ready);
eine Get-Prozedur und eine Str-Funktion. Nutzen Sie dazu die entsprechenden
Unterprogramme aus den Packages »Tuc.Eingabe« und »Tuc.Ausgabe« als
Vorbild oder als Bestandteile.
Aufgabe 3.11
Schreiben Sie für den Untertyp
subtype tByte is tUnsigned( 7 downto 0 );
eine Funktion
function str_hex(x: tByte) return string;
die für ungültige Werte die Zeichenkette »XX« und sonst eine Textdarstellung
durch zwei Hexadezimalziffern zurückgibt.
Aufgabe 3.12
Schreiben Sie eine nebenläufige Prozedur
procedure Protokoll( signal x:std_logic_vector; file f:text);
die zum Simulationsbeginn und bei jeder Werteänderung von »x« den Ände-
rungszeitpunkt, gefolgt von einem Doppelpunkt und dem Wert von
x
in die
geöffnete Datei des Dateiobjekts »f« schreibt.
Aufgabe 3.13
Gegeben sei der Datentyp
type tByteFeld is array (natural range <>) of
std_logic_vector( 7 downto 0 );
a) Schreiben Sie eine Initialisierungsfunktion
function Init(Dateiname:string; N:natural) return tByteFeld;
die aus einer Datei, in der in jeder Zeile eine Dezimalzahl im Bereich
von 0 bis 255 steht, die ersten N Werte einliest, in einen 8-Bit-Vektor
umwandelt, fortlaufend in ein Byte-Feld einträgt und zum Abschluss das
Byte-Feld zurückgibt.
b) Schreiben Sie eine Vereinbarung einer Konstanten »ROM« für ein 1024
Bytes großes Feld, das mit dem Inhalt einer Datei »Daten.txt« initialisiert
wird.
Search WWH ::




Custom Search