Hardware Reference
In-Depth Information
eine Endlosschleife mit einer Warteanweisung auf eine Adress- oder Schreib-
signaländerung am Ende des Schleifenkörpers eingebettet.
Das Verhaltensmodell für einen Lesezugriff ähnelt dem einer kombinato-
rischen Schaltung. Wenn das Schreibsignal inaktiv ist und sich die Adresse
ändert, wird das Datenausgabesignal nach einer Haltezeit t hy ungültig und
übernimmt nach Anliegen der neuen gültigen Adresse den gespeicherten In-
halt mit einer Verzögerungszeit t dy . Eine Fallunterscheidung verhindert den
indizierten Feldzugriff mit einer ungültigen Adresse. Denn sonst würde sich
die Simulation bei jedem ungültigen Adresswert mit einer Fehlermeldung be-
enden, statt nur das Speicherausgabesignal zu invalidieren. Die Zuweisung
des gültigen Ausgabewertes erfolgt nach dem Transportverzögerungsmodell,
damit die zuvor zugewiesene schwebende Änderung nach »ungültig« nicht
gelöscht wird.
Der Schreibvorgang ist komplizierter. Eine korrekte Datenübernahme setzt
voraus, dass vor der Deaktivierung des Schreibsignals dieses, die Adresse und
die Eingabedaten hinreichend lange stabil und gültig waren. In Abb. 3.25
wird die Schreibzeit gemessen. Wenn sie ausreichend lang, die Vorhaltezeit der
Daten eingehalten und die Adresse gültig ist, wird der Speicherplatz mit dem
Eingabewert beschrieben. Danach wird die Haltezeit der Adresse abgewartet
und kontrolliert, dass sich die Adresse auch in dieser Zeit nicht geändert hat.
Anderenfalls wird, wenn die Adresse während des Schreibvorgangs stabil und
gültig war, nur der adressierte Speicherplatz und sonst der gesamte Speicher
invalidiert.
Die RAM-Beschreibung in der Entwurfseinheit besteht nur noch aus ei-
nem nebenläufigen Prozeduraufruf, in dem die Signale und Parameterwerte
zugeordnet werden:
signal Adr: tUnsigned( 0 to 11 );
signal di, do:std_logic_vector( 3 downto 0 );
signal W:std_logic;
...
ram(W=>W, a=>Adr, x=>di, y=>do, thy=> 2ns , tdy=> 5ns , tsa=> 2ns ,
tna=> 0ns , twr=> 7ns , tsx=> 4ns );
)WEB-Projekt:P3.5/Test_RAM.vhdl
Die Prozedur übernimmt zum Simulationsbeginn den Kontrollfluss des ein-
rahmenden Prozesses, legt die lokale Variable mit der Speichermatrix an, in-
itialisiert die Speicherplätze mit dem Pseudo-Wert für »nicht initialisiert
13
«,
schreibt bei Schreibzugriffen die zu speichernden Werte in die Speichermatrix
und weist bei Lesezugriffen die gelesenen Werte dem Ausgabesignal zu.
Die Kernfunktion eines adressierbaren Speichers kann zur Anpassung an
das Wunschverhalten in unterschiedliche Schnittstellenschaltungen eingebet-
tet sein. Das komplette Verhaltensmodell besteht dann aus der nebenläufigen
13 Nach Zuschalten der Betriebsspannung haben die Speicherplätze eines Schreib-
Lese-Speichers in der Regel keine bekannten Anfangswerte.
 
Search WWH ::




Custom Search