Prstenasti brojač je vrsta brojača sastavljenog od kružnog tipa pomeračkog registra. Izlaz poslednjeg pomeračkog registra se dovodi na ulaz prvog registra. Hamingovo rastojanje од Johnson brojača je 1, а Hamingovo rastojanje od Overbeck brojača je 2.
Postoje dva tipa prstenastog brojača:
- Pravi prstenasti brojač ili Overbeck brojač povezuje izlaz poslednjeg šiftovanog registra sa izlazom prvog šiftovanog registra i bit jedan (ili nula) cirkuliše oko prstena. Na primer, četvoro registni "one-hot" brojač, sa inicijalnom vrednošću registra 1000 ima sledeću šemu ponavljanja: 1000, 0100, 0010, 0001, 1000... Imajte na umu da u jedanom od registara mora biti unapred učitana jedinica (ili nula), da bi radio ispravno.[1][2][3]
- Upleteni prstenasti brojač koji se zove i Johnson counter ili Möbius counter (ili Moebius) povezuje komplement izlaza poslednjeg šiftovanog registra sa prvim šiftovanim registrom na ulazu i cirkuluše oko prstena sa nizom jedinica za kojima slede nule : 0000, 1000, 1100, 1110, 1111, 0111, 0011, 0001, 0000...
Četvoro bitna sekvenca prstenastog brojača
Pravi prstenasti brojač/Overbeck brojač |
|
Upleteni prstenasti brojač/Džonsonov brojač
|
State |
Q0 |
Q1 |
Q2 |
r3 |
State |
Q0 |
Q1 |
r2 |
Q3
|
0
|
1 |
0 |
0 |
0
|
0
|
0 |
0 |
0 |
0
|
1
|
0 |
1 |
0 |
0
|
1
|
1 |
0 |
0 |
0
|
2
|
0 |
0 |
1 |
0
|
2
|
1 |
1 |
0 |
0
|
3
|
0 |
0 |
0 |
1
|
3
|
1 |
1 |
1 |
0
|
0
|
1 |
0 |
0 |
0
|
4
|
1 |
1 |
1 |
1
|
1
|
0 |
1 |
0 |
0
|
5
|
0 |
1 |
1 |
1
|
2
|
0 |
0 |
1 |
0
|
6
|
0 |
0 |
1 |
1
|
3
|
0 |
0 |
0 |
1
|
7
|
0 |
0 |
0 |
1
|
0
|
1 |
0 |
0 |
0
|
0
|
0 |
0 |
0 |
0
|
Džonson енгл. Johnson brojač (4-bitni)
Aplikacije
Prstenasti brojač se koristi u hardverskom ligičnom projektovanju (npr. ASIC i FPGA) za pravljenje konačnog automata. Binarnom sabiraču je potreban sabirač strujnog kola, koji je dosta komplikovaniji od prstenastog brojača. Dodatno, najgora vrsta kašnjenja na kružnom sabiraču, biće proporcionalna broju bitova u kodu. Kašnjenje prstenastog brojača biće konstantno bez obzira na broj bitova u kodu. Kompleksna kombinaciona logika sabirača može da stvori greške u vremenu proračunavanja koje mogu uzrokovati nepravilne hardvreske perfomanse. Na kraju, prstenasti brojač sa Hamming sa distancom od 2 (ili više) omogućava da detektuje енгл. single bit upsets; koji meže nastati u "opasnim" okruženjima.
Mana prstenastih brojača je da mogu smanjiti gustinu koda. Binarni kod kože reprezentovati 2^N stanja, gde je N broj bitova u kodu, a енгл. Overbeck; brojač mođe reprezentovati N stanja i Džonson brojač može reprezentovati 2N stanja. Ovo može biti važno razmatranje u hardverskoj implementaciji gde su registri skuplji od kombinacione logike (npr. FPGA).
Vidi još
Brojač
Reference
Literatura