VHDL-Forum - Anfänger

Erklaerung

Erklaerung

kann jemand mir bitte das erklären!!


CLOCKDIV <=(CLOCKDIV +1)mod 2**CNTSIZE; ????????

TaktOut <=TO_UNSIGNED(CLOCKDIV,CNTSIZE)(CNTSIZE-1); ???????


mit:

CLOCKDIV :integer range 0 to 2**CNTSIZE-1;
CONSTANT CNTSIZE :Integer :=22;

danke für ihre Antwort.

Re: Erklaerung

Hallo Jojo,

also der erste Term beschreibt einen 22 Bit upCounter, denn:
Clkdiv + 1 ist der freilaufende up Counter und
mod 2**cntsize beschreibt den Überlauf bei 2 hoch 22.

Der zweite Term nimmt dann das höchstwertige Bit als heruntergeteilten Takt. Da dieses Signal wohl als unsigned definiert wurde, muss die Umwandlung per To_unsigned(Signal, Länge) gemacht werden.

Bernd