Diferență între revizuiri ale paginii „Numărătorul”

De la WikiLabs
Jump to navigationJump to search
 
(Nu s-a afișat o versiune intermediară efectuată de același utilizator)
Linia 22: Linia 22:
 
== 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 semnale:
+
Interfața unui numărător conține în mod obligatoriu următoarele porturi:
* semnalul de ceas;
+
* port pentru semnalul de ceas;
* semnalul de ieșire, care este chiar registrul de numărare.  
+
* port pentru semnalul de ieșire, care este chiar registrul de numărare.  
  
 
În plus, mai pot exista:
 
În plus, mai pot exista:
* semnal de reset;
+
* port de reset;
* semnal care controlează direcția de numărare;
+
* port care controlează direcția de numărare;
* semnal care oprește sau pornește numărarea;
+
* port care oprește sau pornește numărarea;
* semnal care dă valoarea maximă la care ajunge numărătorul.
+
* 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 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.