Hardware Reference
In-Depth Information
Schritt 2: Ein erstes Simulationsmodell
Das erste Simulationsmodell sei ein Software-orientiertes Ablaufmodell mit
Texteingaben und -ausgaben und mit Warteanweisungen vom Typ »warte für
eine Taktperiode«. Zu praktisch jedem Simulationsmodell gehört ein Packa-
ge mit den Vereinbarungen der modellspezifischen Datentypen, Konstanten
und Unterprogrammen. Der Beispielalgorithmus benötigt einen Datentyp für
vorzeichenbehaftete Zahlenwerte im Bereich zwischen 2 und 2 und den zu-
gehörigen Vektortyp für die Konstantentabelle. Für die ersten Simulationsex-
perimente genügen reellwertige Zahlentypen für die Wertedarstellung:
subtype tDaten is real range -2.0 to 2.0 ;
type tDatenArray is array (natural range <>) of tDaten;
Später ist der Zahlentyp durch einen geeigneten Bitvektortyp zu ersetzen. Der
Verschiebeoperator »sra«
16
für die n-fache Halbierung von Bitvektor-Werten
ist für Zahlentypen durch die Division durch eine Zweierpotenz zu ersetzen:
function "sra" (a: tDaten; b:natural) return tDaten is
begin
return a/( 2.0 **b);
end function ;
) WEB-Projekt:P3.4/cordic1_pack.vhdl
Für die Verständlichkeit, Änderungsfreundlichkeit und Fehlervermeidung ist
es zu empfehlen, Konstanten durch Funktionen berechnen zu lassen, statt sie
als Ziffernfolgen manuell einzutippen. Die Winkelfunktionen für reelle Zahlen,
die für die Konstantenberechnungen benötigt werden, stellt das standardisier-
te Package ieee.math_real bereit:
use ieee.math_real.cos;
use ieee.math_real.atan; -- laut [11] arctan
Die Funktion zur Berechnung der Tabelle der Winkelkonstanten benötigt die
Anzahl der Iterationsschritte N als Eingabeparameter und liefert ein Ergebnis
vom Typ »tDatenArray«:
function fAtanTab(N:positive) return tDatenArray is
variable Tab: tDatenArray( 0 to N- 1 );
begin
for idx in Tab'range loop
Tab(idx) := atan( 1.0 sra idx);
end loop ;
return Tab;
end function ;
)
WEB-Projekt:P3.4/cordic1_pack.vhdl
Die Konstante SCS wird aus der Konstantentabelle berechnet und hat den
Typ »tDaten«:
16 arithmetische Rechtsverschiebung
 
Search WWH ::




Custom Search