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?
Gast
#510485
@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
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.
Danke
Gast
#511234
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
Gast
#511422
Kommt drauf an welche library du einbinjdest, die bringt Funktionen zum Umwandeln mit. EInfach nach std_logic_unsigned oder numeric_std googlen.
Gast
#516190
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?
Gast
#516316
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.