Forum: FPGA, VHDL & Co. Stilfrage?


von Fried V. (tich)


Lesenswert?

Wann verwendet ihr std_logic_vector und wann unsigned?
Z.B. für internen Adressbus, mit unsigned kann ja doch direkt rechnen, 
mit std_logic_vector nur nach Wandlung, oder sehe ich da was falsch?

von Falk (Gast)


Lesenswert?

@Fried Vissel

>Wann verwendet ihr std_logic_vector und wann unsigned?

Unsigned it ein wenig moderner bezüglich arithmetischer Operationen.

>Z.B. für internen Adressbus, mit unsigned kann ja doch direkt rechnen,
>mit std_logic_vector nur nach Wandlung, oder sehe ich da was falsch?

Mit std_logic_vector kannst du auch einfach rechnen, einfach die Libs 
einbinden.

use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

MfG
Falk

von Klaus F. (kfalser)


Lesenswert?

Die Verwendung von STD_LOGIC_UNSIGNED sollte man nicht mehr empfehlen, 
weil es das package NUMERIC_STD gibt.

Ich verwende bei Berechnungen immer unsigned/signed, z.B. bei Countern 
usw.
Der Code wird dadurch einfach klarer.
Für Port Signale werden diese aber auf std_logic_vector gewandelt.

von Fried V. (tich)


Lesenswert?

Danke

von mr.chip (Gast)


Lesenswert?

Hallo

> Ich verwende bei Berechnungen immer unsigned/signed, z.B. bei Countern
> usw.
> Der Code wird dadurch einfach klarer.
> Für Port Signale werden diese aber auf std_logic_vector gewandelt.

Kleine Anfänger-Frage: Wie wandelt man die? Habe mich gestern damit 
herumgeplagt, aber irgendwie schaffte ich es nicht.

Gruss

Michael

von adpat (Gast)


Lesenswert?

Kommt drauf an welche library du einbinjdest, die bringt Funktionen zum 
Umwandeln mit. EInfach nach std_logic_unsigned oder numeric_std googlen.

von Freak (Gast)


Lesenswert?

Ich habe bei einem aktuellen Design das Problem, daß es zwar 
synthetisiert, aber nicht im ModelSim läuft. Ich habe dann einfach die 
numeric eingeführt, hatte aber sofort eine Doppeldeutigkeit bez. 
std-logic. Dann habe ich das rausgenommen und nun ging die coversin auf 
den Port (CONV_STD_LOGIC_VECTOR) nicht mehr, weil er sie nicht mehr 
fand.

Ich habe dann allemöglichen Rechungen umschreiben müssen, so wie ich es 
kenne, nur damit Modelsim Ruhe gibt und simliert.

Wie kann man da vorgehen, um zu einem systematischen DEsign zu gelangen, 
was die Nutzung von Bibliotheken angeht?

von T.M. (Gast)


Lesenswert?

Ganz einfach. Statt der .arith und .unsigned Bibliotheken NUR 
numeric_std benutzen. Dann die darin enthaltenen 
Konvertierungsfunktionen benutzen. Eine Übersicht, die mir da hilft, 
wenn was unklar ist, findet man zB unter:
http://www.alse-fr.com/English/apnotes.html (Onesheet reminder for ieee 
numeric library) Damit dürfte dann eigentlich alles klar sein.

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.