Forum: FPGA, VHDL & Co. Array mit Gleitkommahlen


von gleitkomma (Gast)


Lesenswert?

Hallo, ich will eine Sinustabelle mit Real-Zahlen implementieren

habe folgenden Code geschrieben
1
architecture func of xxx is
2
3
subtype sine_real is  real range -1.0 to 1.0;
4
type sinememory is    array (0 to 2**12-1) of sine_real;  -- Speicher für Sinustabelle
5
signal sinetable:    sinememory;
6
7
end architecture func;
8
9
begin 
10
11
--Sinustabelle
12
table: for i in 0 to 2**12-1 generate
13
----------------------------------------------------------------------------------------------
14
constant x:        real := (sin(real(2) * math_pi * real (i) / real(4096)));
15
16
begin
17
18
sinetable(i) <= x;
19
20
end generate table;
21
22
...

Ich kriege folgende fehlermeldung angezeigt

Error (10414): VHDL Unsupported Feature error at plltest.vhd(45): cannot 
synthesize non-constant real objects or values
(bezieht sich auf die Zeile: signal sinetable : sinememory)

kann mir jemand weiterhelfen? hab schon in den büchern über vhdl 
geschaut aber noch nichts gefunden

von Gast (Gast)


Lesenswert?

Tja, so wie es aussieht willst du real-Zahlen synthetisieren.
Real Zahlen lassen sich aber nicht synthetisieren.

Gruß

Gast

von gleitkomma (Gast)


Lesenswert?

schön das sowas in den meisten Büchern und Tutorials nicht erwähnt 
wird...

von Joee (Gast)


Lesenswert?

Nimm haltn Fixkommaformat. Für ne Sinus Tabelle reichts allemal

von Falk B. (falk)


Lesenswert?

@  gleitkomma (Gast)

>schön das sowas in den meisten Büchern und Tutorials nicht erwähnt
>wird...

Ist ja auch wirklich schwer, die obige Meldung mal mit einem 
Englischwörterbuch zu übersetzen . . .

von Uli W. (uliw2008)


Lesenswert?

Da böte sich aber doch an, einfach noch eine int konversion einzusetzen

von gleitkomma (Gast)


Lesenswert?

@ Falk Brunner

hatte es übersetzt (sogar ohne Wörterbuch), wenn aber zig bücher zu vhdl 
hast und in allen nicht drin stand, das gleitkommazahlen nicht 
synthesefähig sind, ärgert man sich, dass man die ganze vorarbeit 
gemacht hat (ist ja ein größeres Projekt) und letzendlich dann erst beim 
programmieren feststellt das das so nicht hinhaut...

übrigens, hab am we vom freund vhdl-synthese bekommen (ältere version) 
und da stand es dann drin, neuere versionen hat es nicht drin stehn...

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.