Hardware-Entwurf mit VHDL
Hardware-Entwurf mit VHDL
Hardware-Entwurf mit VHDL
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