mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL: Integer mit großem Wertebereich


Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie man in VHDL einen (unsigned) Integer mit einem Wertebereich größer 
als 2^32 Werten definieren? Also z.B. ein Äquvivalent zu "long long" aus 
C.
Oder muss ich mir das wohl oder übel aus signed bzw unsigned Vektoren 
zusammenbasteln?

Vielen Dank,
 Martin L.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht "signal longlong : unsigned(63 downto 0);" denn nicht?

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht aber da muss man halt aufpassen, dass sowohl Typ als auch Größe 
stimmen und das ist manchmal schlimm nervig und man macht durch die 
strenge Typ-/Größenprüfung mehr Fehler hinein als man mit ihr vermieden 
hätte.
Zum Rechnen benutze ich lieber Integer (mit eingeschränktem 
Wertebereich) um sie erst am Ende wieder in Vektoren umzuwandeln. Nun 
muss ich aber mit 64 Bit-Werten rechnen ...

Viele Grüße,
 Martin L.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In dem Moment wo du den Wertebereich schon kennst ist doch die 
Konvertierung in ein "x downto y" kein problem mehr. Ich habs eigentlich 
lieber, wenn ich weiß, was ich da zusammenbeschreibe.

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja - in diesem Falle ist es u.a. eine Multiplikation von zwei 32-Bit 
Werten von denen, nach weiteren Operationen, nur die obersten 32 Bit 
genutzt werden. Und das ist echt nervig wenn man bei jeder Operation 
angeben muss, dass der Operand x nun 4 bit hat, der Operand y 5 und 
Operand z 64-4-5 damit es am Ende mit den Bits hinkommt ....

Viele Grüße,
 Martin L.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dafür gäbe es doch Attribute...

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.