Forum: FPGA, VHDL & Co. VHDL vector(7 downto 0) LSB? MSB?


von Stefan G. (stefan8051)


Lesenswert?

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

von Matthias (Gast)


Lesenswert?

das LSB ist adressbus(0), und MSB adressbus(15)

von Thomas R. (Gast)


Lesenswert?

downto - also vom MSB zum LSB

MSB-----------LSB

von Stefan G. (stefan8051)


Lesenswert?

Hallo,
das ging ja super schnell, vielen Dank für eure schnelle hilfe.

mfg
Stefan

von Klaus F. (kfalser)


Lesenswert?

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

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.