Numărătorul

De la WikiLabs
Jump to navigationJump to search
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Numărătorul este un circuit secvențial care se folosește de un registru pentru a genera o secvență de numere. Cel mai simplu numărător generează o secvență de numere crescătoare, consecutive. Dimensiunea numărătorului este dată de numărul de biți ai registrului folosit.

Schema acestui dispozitiv este următoarea:

Schema unui numărător

Observație: Numărătorul poate fi folosit ca un divizor de frecvență deoarece fiecare bit are o perioadă de două ori mai mare decât cel precedent, iar bitul 0 are o perioadă dublă față de semnalul de ceas:

Valoare  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 Forme de undă
Bit 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Num0.png
Bit 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Num1.png
Bit 2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Num2.png
Bit 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Num3.png

Interfața unui numărător

Interfața unui numărător conține în mod obligatoriu următoarele porturi:

  • port pentru semnalul de ceas;
  • port pentru semnalul de ieșire, care este chiar registrul de numărare.

În plus, mai pot exista:

  • port de reset;
  • port care controlează direcția de numărare;
  • port care oprește sau pornește numărarea;
  • port care dă valoarea maximă la care poate ajunge numărătorul;
  • port care comandă încărcarea unei valori de start în registrul numărătorului și portul pe care este dată această valoare;
  • etc.

Implementarea unui numărător

Fiind un circuit secvențial, un numărător se implementează exclusiv cu blocuri always secvențiale.