Forum: FPGA, VHDL & Co. Counter Basic


von Hans (Gast)


Lesenswert?

Hallo Leute,

ich habe mal eine grundlegene Frage:
Wenn ich ein Signal derart definiere, sodass die Menge der Werte nicht
eine Potenz von 2 ist, also z.B.:

signal cnt: integer range 0 to 6;

Und ich nun mit
cnt <= cnt + 1;
inkrementiere, fängt dann cnt, wenn bei 6 angekommen, wieder
mit 0 an, oder muss ich damit rechnen, dass cnt bis 7 hochläuft,
denn man bräuchte ja 3 Bit um die Zahl darzustellen.

LG Micha

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Hans schrieb:
> Und ich nun mit
> cnt <= cnt + 1;
> inkrementiere, fängt dann cnt, wenn bei 6 angekommen, wieder mit 0 an,
Nein.

> oder muss ich damit rechnen, dass cnt bis 7 hochläuft,
Ja.

> denn man bräuchte ja 3 Bit um die Zahl darzustellen.
Man bräuchte nicht nur 3 Bit, man braucht 3 Bit.

Aber die Simulation wird dir sowieso eine Bereichsverletzung melden, 
wenn du beim Zählerstand von 6 dann cnt+1 machst ... :-o

Siehe auch den Beitrag "Re: use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL;"

von df1as (Gast)


Lesenswert?

Konjunktiv II Präteritum: ... denn man brauchte ja 3 Bit, um die Zahl 
darzustellen!

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.