Hallo, ich bin grade dabei mich in VHDL einzuarbeiten. Jetzt eine eigendlich gang einfache Frage, wenn ich z.B einen Bus mit 15 Leitungen folgendermaßen definiere: adressbus:out std_logic_vector(14 downto 0); --Adressbus und dann in einem Prozess sage das bei jedem Takt der Adressbus um 1 hochgezählt werden soll, welches bit in dem Vektor ist dann das niederwertigste? Also welches wird bei jedem Takt getoggelt? Das adressbus(0) oder adressbus(14)? mfg Stefan
Gast
#388136
das LSB ist adressbus(0), und MSB adressbus(15)
Gast
#388137
downto - also vom MSB zum LSB MSB-----------LSB
Hallo, das ging ja super schnell, vielen Dank für eure schnelle hilfe. mfg Stefan
Du solltest besser nicht direkt mit std_logic_vector zählen, denn std_logic_vector ist eigenlich keine Zahl, sondern wird nur durch das Paket std_logic_arith, bzw. std_logic_unsigned als Zahl interpretiert. Verwende besser den Typ "unsigned" oder "signed" aus numeric_std. Bei diesem ist das rechte Bit immer Bit 0 und das LSB. Die unsigned oder signed variable kannst Du dann wiederum einfach einem std_logic_vector zuweisen. Grüße Klaus
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.