www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Convert real to integer


Autor: Amania (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusamen

weiß jemand , wie kann ich eine reale Zahl in eine integer Zahl in VHDL 
machen ?
ich habe so gemacht .
library IEEE;
use IEEE.NUMERIC_STD.ALL;
......
signal s1:real;
signal s2:integer;
begin
s2 <= integer(s1);

es lief aber leider nicht , der Fehler war "Unexpected value. Unable to 
derive it to an integer."

 wie kann ich beheben ?

vielen Dank.

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke eine vordefinierte Funktion wirst Du nicht finden.
Außerdem wird ein REAL nach IEEE-854 mit mindestens 64 Bit umgesetzt. 
Und der Standard sagt aus das die Zahlen normalisiert sind. Sie liegen 
immer zwischen 1 und 2.

Was erwartest Du von so einer Funktion? Soll sie z.b. bei 1e3 Dir den 
Integer 1000 leifern?

Autor: Amania (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja genau , ich suche eine vordefinierte Funktion , die maximale real 
Zahl bei mir ist 65535.342 und ich wollte eine integer Zahl 65535 haben 
,
kennt jemand , wie kann ich machen ?
danke

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal gegoogled und folgendes gefunden:
http://vhdl.org/vhdlsynth/fp/index.html
http://www.eda.org/fphdl/

Ansonsten musste Dir sowas selber bauen. In den Standard-packages von 
VHDL-93 ist nichts dafür vorhanden.
Vielleicht kannst Du ja auch ohne real auskommen?!

Autor: Johannes T. (johnsn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mal irgendwas läuten gehört, dass für den neuen VHDL-Standard 
ein Floating-Point Typ vorgesehen ist. Kann sein, dass die Links eh 
schon teilweise was damit zu tun haben.

Ansonsten wirst dir wohl selbst was schreiben müssen, aber es geht!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.