Forum: FPGA, VHDL & Co. festkomma zahlen in fpga


von user (Gast)


Lesenswert?

hallo,
Ich hab eine Anfängerfrage: werden Festkomma Zahlen automatisch vom FPGA 
in binär dargestellt?
Wenn nicht muss die Zahl vorher skaliert werden,bevor man damit in VHDL 
rechnet?
ich kann mit Festkommazahlen rechnen(also die Arithmetik),möchte jetzt 
aber in vhdl implementieren?
Hat jemand ein BSP?Mir würde reichen wie ich den Wert in mein Modle 
bekomme.
Danke

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

user schrieb:
> Ich hab eine Anfängerfrage: werden Festkomma Zahlen automatisch vom FPGA
> in binär dargestellt?
Festkommazahlen werden im FPGA genauso dargestellt, wie jeder andere 
Integer. Das wars.

Nur für dich, deine Augen und deine Denkweise wird dann mental irgendwo 
ein Komma eingeführt. Eine 16 Bit Zahl mit 8 Vorkomma und 8 
Nachkommastellen
sieht also z.B. so aus: "1011001100110110".
Und eine Integer-Zahl sieht so aus: "1011001100110110".
Was sagst du? Das sieht gleich aus?
Richtig!

Nur wird die Integerzahl x"b336" = 45878 für die Darstellung der 
Festkommazahl in deinen Augen noch durch 256 geteilt und du bekommst: 
179,2109375. Und das ist deine Festkommazahl...

> Wenn nicht muss die Zahl vorher skaliert werden,bevor man damit in VHDL
> rechnet?
Weil eine Festkommazahl eigentlich gar nicht existiert, muss da nichts 
skaliert werden. Sie wird einfach mit den Rechenreglen und 
-vorgehensweisen von Integern bearbeitet...

Such mal hier im Forum nach Festpunktzahl oder Festkommazahl...

von Uwe (Gast)


Lesenswert?

> werden Festkomma Zahlen automatisch vom FPGA
> in binär dargestellt?

Alles ist binär im FPGA, und die Darstellung ist so wie du willst.

> ich kann mit Festkommazahlen rechnen(also die Arithmetik),möchte jetzt
> aber in vhdl implementieren?

Das rechnen ist einfach ! Du kannst z.B. einfach schreiben c = a + b * 
3.
Du solltest aber vorher noch VHDL lernen. Macht man mit Büchern oder im 
Internet.

von user (Gast)


Lesenswert?

Erst mal Danke Lothar für die schnelle Antwort.

Lothar Miller schrieb:
> Such mal hier im Forum nach Festpunktzahl oder Festkommazahl...
Das hab ich zuerst gemacht und vieles verstanden.
hier: Beitrag "Festkomma Berechnungen"
Mir war/ist nicht ganz klar wie es in vhdl implementiert wird.

Ist der Datentyp egal?in mein Module hab ich ein port mit 
std_logic_vector(N-1 downto 0) oder lieber Integer und danach eine 
Konvertierung?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

user schrieb:
> Ist der Datentyp egal?
Es gibt für solche Fälle das fixed_pkg...
http://www.google.de/search?q=vhdl+fixed_pkg

von R.K. (Gast)


Lesenswert?

Cooles Package: Im Beispiel wird ein 10 Bit Vektor mit einem 11 Bit 
Vektor multipliziert und heraus kommt ein 22 Bit Vektor. Da muss man 
wohl noch mal etwas nachdenken.

von user (Gast)


Lesenswert?

> Lothar Miller
Danke.

Uwe schrieb:
> Du solltest aber vorher noch VHDL lernen

Ich bin gerade dabei an der Uni.Es war mir aber einiges nicht richtig 
klar bzw erklärt worden.

von Ich (Gast)


Lesenswert?

Lothar Miller schrieb:
> user schrieb:
>> Ist der Datentyp egal?
> Es gibt für solche Fälle das fixed_pkg...
> http://www.google.de/search?q=vhdl+fixed_pkg

VHDL ist einfach gruselig. Da lobe ich mir Verilog.

von Robert.K. (Gast)


Lesenswert?

Du würdest sagen, dass Verilog generell besser aufgestellt ist?

von Duke Scarring (Gast)


Lesenswert?

Ich schrieb:
> VHDL ist einfach gruselig. Da lobe ich mir Verilog.
Don't feed the troll.

von Michael (Gast)


Lesenswert?

Ich bin kein Freund von solchen packages, weil man die Werte am Ende 
doch nicht einfach umskalieren kann und wieder mit generics arbeiten 
muss, wenn man flexibel bleiben will.

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.