Numărătorul: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
Fără descriere a modificării
 
(Nu s-au afișat 2 versiuni intermediare efectuate de același utilizator)
Linia 21: Linia 21:


== Interfața unui numărător ==
== 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 ==
== Implementarea unui numărător ==
Fiind un circuit secvențial, un numărător se implementează exclusiv cu [[Verilog#Blocuri always secvențiale. Asignări non-blocante (non-blocking assignments)|blocuri always secvențiale]].

Versiunea curentă din 24 martie 2012 13:35

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
Bit 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
Bit 2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Bit 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

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.