Hardware Reference
In-Depth Information
Schritt 3: Ein Festkommaformat für die Wertedarstellung
Für die Synthese muss der reellwertige Zahlentyp, mit dem im bisherigen
Simulationsmodell die Daten dargestellt werden, durch einen geeigneten Bit-
vektortyp ersetzt werden. Alle Operanden und Zwischenergebnisse liegen bei
dem gewählten Algorithmus im Bereich zwischen 1;7. Es bietet sich ein
Format für vorzeichenbehaftete ganze Zahlen mit einem gedachten Komma
hinter den führenden zwei Bits an. Der damit darstellbare Wertebereich von
10,0...0 2 = 2 bis 01,1...1 2 = 22 14 ist ausreichend. Der Datentyp wird um-
definiert in
subtype tDaten is tSigned( 15 downto 0 );
type tDatenArray is array (natural range <>) of tDaten;
Für den Typ »tDaten« sind als Nächstes die erforderlichen Hilfsfunktionen
und Prozeduren zu programmieren. Die Zahlenwerte sollen wie in dem ersten
Modell als dezimale Festkommawerte auf dem Bildschirm angezeigt werden.
Nach der Konvertierung in eine ganze und weiter in eine Gleitkommazahl ist
der Wert vor der Str-Konvertierung mit 2 14 zu multiplizieren. Für vierzehn
binäre Nachkommastellen genügen vier dezimale Nachkommastellen:
function str_real(x: tDaten) return string is
begin
return str(real(int(x))/( 2.0 ** 14 ), 4 );
end function ;
) WEB-Projekt:P3.4/cordic2_pack.vhdl
Für die Konvertierung der reellwertigen Konstanten in die Festkommadar-
stellung ist der Wert zuerst mit 2 14 zu multiplizieren, in eine ganze Zahl und
dann weiter in einen 16-Bit-Vektor vom Typ »tSigned« zu konvertieren. Die
Assert-Anweisung kontrolliert, dass die Eingabewerte im darstellbaren Bereich
liegen:
function to_tDat(w:real) return tDaten is
begin
assert w> =-2.0 and w<= 1.9999 report "Wertebereichsverletzung"
severity failure;
return to_tSigned(integer(w* 2.0 ** 14 ), 1 6 );
end function ;
) WEB-Projekt:P3.4/cordic2_pack.vhdl
Mit Hilfe dieser Konvertierungsfunktion werden unter anderem auch die Kon-
stanten in den Funktionen »fATanTab(...)« und »fSCS(...)« in ihre Fest-
kommadarstellung konvertiert. Bei einer Multiplikation der Festkommazahlen
vom Typ »tDaten« verdoppelt sich die Anzahl der Vorkommastellen auf vier
und die der Nachkommastellen auf 28. Zur Konvertierung des Ergebnisses
in das Darstellungsformat von »tDaten« werden die zusätzlichen Vorkomma-
und Nachkommastellen wieder abgeschnitten:
 
Search WWH ::




Custom Search