Numărătorul: Diferență între versiuni
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 | 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: | ||
* | * 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:
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:
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.