Nell’articolo di oggi analizzeremo nel dettaglio il funzionamento del contatore sincrono.
Negli articoli precedenti abbiamo visto:
- Come funziona una CPU: progetto di circuiti logici #0
- Come funziona una CPU: Flip-Flop SR asincrono #0.1
- Come funziona una CPU: Flip-Flop sincrono #0.1.1
- Come funziona una CPU: Flip-Flop D #0.1.2
- Come funziona una CPU: Flip-Flop Master-Slave #0.1.3
- Come funziona una CPU: Modello di Huffman #0.2
- Come funziona una CPU: progetto di circuiti sequenziali sincroni #0.2.1
- Come funziona una CPU: progetto dei circuiti logici #0.3
- Come funziona una CPU: porte logiche operanti su parole #0.3.1
- Come funziona una CPU: multiplexer #0.3.2
- Come funziona una CPU: decodificatore #0.3.3
- Come funziona una CPU: codificatore (encoder) #0.3.4
- Come funziona una CPU: codificatore prioritario (priority encoder) #0.3.4.1
- Come funziona una CPU: sommatore full-adder #0.3.5
- Come funziona una CPU: sommatore Ripple Carry Adder #0.3.5.1
- Come funziona una CPU: sommatore seriale #0.3.5.2
- Come funziona una CPU: Sommatore con carry-lookahead #0.3.5.3
- Come funziona una CPU: ALU spiegata in modo semplice #0.3.5.4
- Come funziona una CPU: comparatore #0.3.5.5
- Come funziona una CPU: registro a m-bit #0.3.6
- Come funziona una CPU: registro a scalamento (Shift Register) #0.3.6.1
- Come funziona una CPU: contatore semplice #0.3.7
- Come funziona una CPU: contatore asincrono (ripple counter) #0.3.7.1
Per quanto concerne i contatori esistono due principali modalità di realizzazione:
- ripple counter (o asincroni):
- hanno un ritardo dipendente dalla lunghezza della ”catena” di contatori messi in cascata;
- contatori sincroni:
- tutte le uscite assumono contemporaneamente il valore corrente
Contatore sincrono
Il contatore sincrono è costituito da dei Flip-Flop D che ricevono in ingresso il segnale di Clear, il segnale di Count (il quale è connesso al Clock di ogni Flip-Flop) e le uscite della logica combinatoria. Le uscite dei Flip-Flop rendono visibili all’esterno i bit del risultato e sono anche connesse alla logica combinatoria.
Quest’ultima riveste un ruolo fondamentale all’interno di un Contatore sincrono, in quanto si occupa di incrementare di 1 il valore rappresentato sui bit d’ingresso prodotti dalle uscite dei Flip-Flop e, successivamente, di restituire i bit del risultato ai Flip-Flop stessi. L’enorme vantaggio del Contatore sincrono è che il ritardo del circuito dipende principalmente dalla logica combinatoria e non più dalla dimensione del Contatore (dal parallelismo). I FlipFlop commutano simultaneamente a differenza che nel Contatore asincrono (dove commutano a cascata).
La logica combinatoria, inoltre, può essere sintetizzata ad un circuito su 2 livelli di porte logiche per minimizzare il ritardo. In compenso, il costo in hardware è nettamente maggiore. La logica combinatoria può eventualmente essere sostituita con un Sommatore a passo variabile (se non si vuole addizionare 1 ogni volta).
ATTENZIONE: la logica combinatoria, se pur utilizzata a tale scopo, NON è un contatore!
Iscriviti ai nostri gruppi Telegram
Link utili