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 />

Da Files nur gelesen oder geschrieben werden können, muß der Modus angegeben werden. Bei<br />

IN ist nur Lesen, bei OUT nur Schreiben möglich. Bei Dateien ist kein INOUT möglich.<br />

Beispiel: FILE output : integer_file IS OUT ’’/home/vhdl/trace.out’’;<br />

- Syntax ab <strong>VHDL</strong>-93 für die Deklaration von Dateien:<br />

FILE file_name : file_type_name OPEN file_open_kind IS ’’physical_file_name’’;<br />

-- file_name: Dateiname im <strong>VHDL</strong>-Modell<br />

-- file_open_kind (Bearbeitungsmodus) = read_mode, write_mode oder append_mode<br />

-- file_type_name: Datentyp des Files<br />

Über den anzugebenden Bearbeitungsmodus file_open_kind wird festgelegt, ob die Datei zum<br />

Lesen (read_mode), zum Schreiben (write_mode) oder zum Anhängen (append_mode) geöffnet<br />

wird. Der Bearbeitungsmodus ist im Package standard als Aufzählungstyp definiert.<br />

Beispiel:<br />

TYPE ethernet_pakete IS FILE OF ethernet_frame_format;<br />

FILE ablage : ethernet_pakete OPEN write_mode IS ’’puffer.dat’’;<br />

Mit der Definition eines Datei-Datentyps werden implizit Funktionen bzw. Prozeduren zur Verfügung<br />

gestellt. Im Standard von 1987 sind dies READ, WRITE und ENDFILE.<br />

Die oben dargestellte Syntax für die Deklaration von Files bewirkt, daß Files bei der Erzeugung<br />

automatisch geöffnet werden. Ab dem Standard von 1993 kann das Öffnen und Schließen von<br />

Files durch die beiden Prozeduren FILE_OPEN und FILE_CLOSE gesteuert werden.<br />

3.4.2 Zugriff auf typspezifische Dateien<br />

Typspezifische Files sind Dateien, die nur Daten eines einzigen Typs beeinhalten (z.B. integer<br />

oder bit_vector). Bei typspezifischen Files wird zwischen Objekten fester und unbestimmter<br />

Größe unterschieden.<br />

Prozeduren zum Lesen:<br />

READ (file_name, object_name);<br />

READ (file_name, object_name, length);<br />

Beide Prozeduren lesen Daten aus dem File file_name in die Variable object_name. Das Einlesen<br />

erfolgt streng sequentiell. Das Zielobjekt object_name muß typkonform sein.<br />

Für ein einzulesendes Objekt <strong>mit</strong> einem unbeschränkten Typ, stellt die 2. Variante die Länge<br />

(length) des tatsächlich gelesenen Vektors zur Verfügung.<br />

<strong>VHDL</strong> - SIMULATION 104

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!