Hardware Reference
In-Depth Information
gnal, das Eingabesignal, der Pipeline-Zustand und der Zustand des Daten-
speichers übergeben werden. Nach Aufruf schreibt die Prozedur die Kopfzeile
der Ausgabetabelle und in einer Endlosschleife nach jeder aktiven Taktflanke
die Textzeilen mit dem Bearbeitungszustand und optional dem Eingabe- oder
Ausgabewert. Zur Kontrolle der Zeitverläufe wird jeder Ausgabezeile zusätz-
lich die aktuelle Simulationszeit vorangestellt (siehe später Abb. 5.11):
procedure Testausgabe( signal T, RD, WR:std_logic;
signal pp: tPipeline; signal x: tDat;
signal xRAM: tMem) is
variable s: tString;
begin
write( " Zeit |Eingabe|Z| ... r(3)|Ausgabe" ); (1)
loop -- Endlosschleife
wait until rising_edge(T); -- warte auf aktive Taktflanke
assign(s, rechts(str(now, 1 ), 8 ));
-- Anhängen eines Zeilentextes wie in Abb.5.8,
-- der den Zustand der Schaltung beschreibt
write(s);
x
RD
WR
Test-
ausgabe-
prozess
pp
xRAM
T
-- Textzeile ausgeben
end loop ;
end procedure ;
)WEB-Projekt:P5.2/FIR2_pack.vhdl
( (1) - Ausgabe der Kopfzeile).
Bearbeitungsstand: Ein komplettes Verhaltensmodell der Soll-Funktion
mit Anschlusssignalen und einer internen Bitvektordarstellung. Der
dazu entwickelte Testrahmen kann auch für alle weiteren schnittstel-
lengleichen Versionen des Simulationsmodells genutzt werden.
5.2.7 Umformung in eine Automatenbeschreibung
In dem bis hierher entwickelten Ablaufmodell wird in den Schleifenkörpern
nach jeder Register-Transfer-Operation eine Taktperiode lang gewartet (Abb.
5.10 a). Der funktionsgleiche synthesefähige Abtastprozess darf nur eine War-
teanweisung enthalten, und zwar am Ende der Anweisungsfolge im Prozess
(Abb. 5.10 b, vgl. Abschnitt 1.4.2). Nach der Warteanweisung, d.h. zu Beginn
der Anweisungsfolge des Prozesses, verzweigt der Kontrollfluss mit Hilfe von
Fallunterscheidungen. Jeder Wartezustand in der Ablaufbeschreibung benö-
tigt hierfür einen eigenen Kontrollflusszustand.
Der Kontrollflusszustand für drei nacheinander abzuarbeitende Schleifen
besteht aus dem Schleifenzähler und einem Aufzählungstyp zur Unterschei-
dung, welche der drei Schleifen gerade abgearbeitet wird:
type tZustand is XX, Init, Startzyklus, Normalzyklus;
Der vierte Zustandswert »XX« bedeutet »ungültig« und dient als Initialwert
für den Simulationsstart. Der Schleifenzähler ist der Zähler für die Koe zien-
tenadresse, die im Register »pp.cAdr«, gespeichert wird, so dass hierfür keine
 
Search WWH ::




Custom Search