Counter Basic

Gast #1997429
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
Moderator (Firma: Titel) Persönliche Seite #1997443
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;"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren