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.
Geht "signal longlong : unsigned(63 downto 0);" denn nicht?
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.