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

De la WikiLabs
(Interfața unui numărător)
 
(Nu s-au afișat 3 versiuni intermediare efectuate de același utilizator)
Linia 19: Linia 19:
 
| Bit 3 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1 || [[Fișier:num3.png]]
 
| Bit 3 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || bgcolor="#ddeeff" | 0 || 1 || 1 || 1 || 1 || 1 || 1 || 1 || 1 || [[Fișier: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 [[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.