11.10.2013 Aufrufe

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Hardware</strong>-<strong>Entwurf</strong> <strong>mit</strong> <strong>VHDL</strong><br />

Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik<br />

Prozeduren zum Schreiben:<br />

Das Gegenstück zur Leseprozedur READ ist die Prozedur WRITE, die den Inhalt der Variablen<br />

object_name in das File file_name schreibt.<br />

WRITE (file_name, object_name);<br />

Funktion zur Prüfung auf Dateiende:<br />

Die Funktion ENDFILE liefert eine Boolesche Variable, die true bei erreichtem Dateiende ist,<br />

ansonsten false.<br />

ENDFILE (file_name);<br />

Beispiel: Initialisierung eines Arrays für die Implementierung eines ROM<br />

Das ROM kann nicht durch eine Datei, sondern muß für den wahlweisen Zugriff durch ein Array<br />

implementiert werden. Das Array wird dabei <strong>mit</strong> dem Inhalt einer Datei belegt. Dies Datenwörter<br />

sind vom Typ std_logic_vector, dessen Länge durch den ROM-Datenport bestimmt ist.<br />

Die Speichertiefe hängt vom Adressport des ROM ab.<br />

---------------------------------------------------------------<br />

LIBRARY IEEE;<br />

USE IEEE.STD_LOGIC_1164.ALL;<br />

ENTITY ROM IS<br />

GENERIC ( load_file_name : STRING );<br />

PORT ( sel : IN std_logic;<br />

END ENTITY ROM;<br />

address : IN std_logic_vector;<br />

data : INOUT std_logic_vector );<br />

---------------------------------------------------------------<br />

ARCHITECTURE behavioral OF ROM IS<br />

BEGIN<br />

PROCESS<br />

SUBTYPE word IS std_logic_vector(0 TO data'LENGTH - 1);<br />

TYPE storage_array IS<br />

ARRAY (NATURAL RANGE 0 TO 2**address'LENGTH - 1) OF word;<br />

VARIABLE storage : storage_array;<br />

VARIABLE index : natural;<br />

TYPE load_file_type IS FILE OF word;<br />

FILE load_file : load_file_type OPEN read_mode IS load_file_name;<br />

<strong>VHDL</strong> - SIMULATION 105

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!