Hardware Reference
In-Depth Information
5.2.3 Datentypen und Bearbeitungsmethoden
Eine komplexe Funktionsbeschreibung sollte immer in überschaubaren Schrit-
ten, nach denen jeweils eine Zwischenkontrolle erfolgt, entwickelt werden. In
Anlehnung an die objektorientierte Programmierung empfiehlt es sich, mit
der Definition der Typen der zu verarbeitenden Datenobjekte und den Unter-
programmen zu ihrer Verarbeitung zu beginnen (vgl. Abschnitt 3.4.1). Der
VHDL-Beschreibungsrahmen für Datentypen und Unterprogramme ist ein
Package und der Beschreibungsrahmen für Testabläufe ein Testrahmen.
Das erste Simulationsmodell einer zu entwerfenden Funktionseinheit dient
in der Regel zur Kontrolle des Algorithmus (vgl. Abschnitt 3.4.5 und Abschnitt
3.4.6). Für die Darstellung der zu verarbeitenden Daten genügen in dieser
Entwurfsphase wertebereichsbeschränkte reelle Zahlen und für die Adressen
wertebereichsbeschränkte natürliche Zahlen:
-- Typvereinbarungen zur Beschreibung eines FIR-Filters
constant M:positive:= 4 ;
-- Filtergrad
subtype tAdr is natural range 0 to M- 1 ;
constant max_abs:real:= 1000.0 ; -- Wertebereichsgrenze
type tDaten is real range -(max_abs) to max_abs;
type tMem is array (natural range <>) of tDaten;
Die zwei Adressregister und die vier Datenregister der Pipeline in Abb. 5.5
sollen zur gemeinsamen Übergabe an die Bearbeitungs-Prozeduren zu einem
Verbund zusammengefasst werden:
-- Datentyp für den Pipeline-Zustand
type tPipeline is record
cAdr, xAdr: tAdr;
cDat, xDat, Prod, Akku: tDaten;
end record ;
Der Gesamtzustand des FIR-Filters besteht aus dem Datenspeicherzustand
und dem Pipeline-Zustand.
Eine Aufgabe des Simulationsmodells ist die Kontrolle, dass bei den arith-
metischen Operationen keine Wertebereichsüberläufe oder andere Situationen,
die die Ergebnisse invalidieren, auftreten. Im Beispiel wird für die Einprogram-
mierung dieser Kontrollen der kleinste Wert des Zahlenbereichs als Pseudo-
Wert für »ungültig« reserviert und als Initialwert, als Operationsergebnis für
ungültige Operanden sowie bei einem Über- und Unterlauf des Zahlenbereichs
zugewiesen. Die Operatoren für die Addition und die Multiplikation werden
entsprechend überladen. Sie bilden zuerst aus den nach real konvertierten
Operanden das Ergebnis und entscheiden dann anhand der Gültigkeit der
Operanden und des Ergebniswertes, ob der Pseudo-Wert für »ungültig« oder
das nach »tDaten« zurückkonvertierte Ergebnis zurückgegeben wird:
Search WWH ::




Custom Search