Forum: FPGA, VHDL & Co. Counter Basic


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
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.