24.12.2012 Aufrufe

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

11.5.1 Typspezifische Files<br />

11 Spezielle Modellierungstechniken<br />

In diesem Fall werden Daten ein und desselben Typs in einem File abgespeichert<br />

oder gelesen, so z.B. integer, bit, bit_vector. Es<br />

stehen dafür folgende Leseprozeduren zur Verfügung:<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<br />

object_name. Handelt es sich beim einzulesenden Objekt<br />

um einen unbeschränkten Vektortyp (z.B.: bit_vector), so stellt<br />

die zweite Variante die Länge (length) des tatsächlich gelesenen<br />

Vektors zur Verfügung.<br />

Das Gegenstück zu read ist die Prozedur write, die den Inhalt von<br />

object_name auf das File file_name schreibt:<br />

write (file_name, object_name) ;<br />

Die folgende Funktion liefert eine Boolesche Variable, die entweder<br />

den Wert true für erreichtes Dateiende annimmt oder false ist,<br />

falls noch weitere Daten vorhanden sind.<br />

endfile (file_name)<br />

Folgendes Beispiel zeigt ein <strong>VHDL</strong>-Modell, das den Verlauf des Eingangssignals<br />

data_8 bis zum Zeitpunkt 100 ns auf die Datei<br />

data_8.out schreibt. Diese Datei könnte anschließend in einem<br />

anderen Modell <strong>mit</strong> der Prozedur read wieder eingelesen werden.<br />

PACKAGE memory_types IS<br />

SUBTYPE byte IS bit_vector(0 TO 7);<br />

END memory_types;<br />

USE work.memory_types.ALL;<br />

ENTITY write_data IS<br />

PORT (data_8 : IN byte);<br />

END write_data;<br />

© G. Lehmann/B. Wunder/M. Selz 217

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!