Indice
5A - Latch e flip-flop
1 Premessa
Nei circuiti sequenziali lo stato delle uscite dipende non solo da quello degli ingressi ma anche da ciò che è successo prima; sono circuiti con memoria.
2 Il latch SR (Set-Reset)
La figura 2a e la figura 2b mostrano due possibili implementazioni di un latch SR. Il latch è il dispositivo di memorizzazione più semplice realizzabile ed è in grado di memorizzare un bit. Entrambi i circuiti sono rappresentabili con i simboli logici delle figure 2c e 2d1). Osserviamo che:
- gli ingressi `bar S` e `bar R` sono attivi bassi (lo stato logico 0 attiva la rispettiva funzionalità)
- l'uscita `Q` è presente anche in forma complementata `bar Q`
La tabella della verità descrive il funzionamento del circuito e si interpreta considerando i il generico istante di tempo e i+1 l'istante successivo:
- quando S (set) è attivo l'uscita Q viene settata, cioè impostata a 1
- quando R (Reset) è attivo l'uscita Q viene resettata, cioè impostata a 0
- quando entrambi sono disattivi l'uscita Q mantiene il valore che aveva in precedenza (memorizzazione)
- la combinazione con entrambi gli ingressi attivi non è valida (non è possibile impostare l'uscita a 1 e 0 contemporaneamente)
Se si scarta la combinazione non consentita notiamo che le uscite possono avere solo due stati: `Q = 0 , bar Q = 1` e `Q = 1 , bar Q = 0` e che lo stato delle uscite si mantiene nel tempo se non si attivano gli ingressi. Un dispositivo con queste caratteristiche è chiamato multivibratore (due stati) bistabile (si mantengono nel tempo).
Lo stato dell'uscita Q si ottiene facilmente dalla tabella della verità delle porte NAND (o NOR) quando S o R sono attivi2). Nel caso siano entrambi disattivi3), si ottiene:
`Q(i+1) = S(i)+Q(i)= 0+Q(i)=Q(i)`
e
`bar Q(i+1) = R(i)+ bar Q(i)= 0+ bar Q(i)= bar Q(i)`
che rappresenta lo stato di memorizzazione4) e l'uscita mantiene il valore acquisito in precedenza.
Il circuito, i simboli logici e la tabella della verità della figura 3 mostrano un latch SR con ingressi attivi alti. La soluzione circuitale è simile ma con porte NAND e NOR scambiate. Un latch SR si può ottenere cablando opportunamente un integrato come il 7400 (4 porte NAND) o il 7402 (4 NOR) ma esiste anche in forma integrata (74279).
Il diagramma temporale di figura 4 mostra l'andamento nel tempo delle variabili, in particolare l'effetto sull'uscita Q (anche complementata) degli ingressi S e R.
Logica antirimbalzi
Il circuito di figura 5 mostra un'applicazione del latch SR come circuito antirimbalzo per un deviatore5) usata anche nelle schede minilab del laboratorio. Questa soluzione risolve il problema delle commutazioni indesiderate che si hanno ogni volta che si aziona un contatto meccanico come quello di figura 5a6). Spostando il contatto mobile da A a B si attiva l'ingresso corrispondente (S e R attivi bassi) disattivando l'altro (grazie alla resistenza di pull-up). Eventuali incertezze nella commutazione non producono effetti perché in questo caso, con i due ingressi al valore alto, viene mantenuto l'ultimo stato impostato (memorizzazione).
Latch SR con enable
Il circuito di figura 6 mostra un latch SR con ingressi attivi alti e ingresso di abilitazione/enable. In questo caso le due porte NAND in ingresso fanno gating7)(vedi sezione 3C paragrafo 7) permettendo o meno il passaggio del segnale agli ingressi S e R in base al segnale di abilitazione E (anch'esso attivo alto). Questo tipo di dispositivo8) è detto level triggered, perché attivato o meno in base al livello del segnale di abilitazione ed è utile quando si desidera che il dato memorizzato cambi solo in determinati momenti quando gli ingressi sono abilitati.
Il diagramma temporale di figura 7 chiarisce il comportamento del dispositivo al variare del segnale di controllo E.
3 Il latch D
Il latch D di figura 8 deriva direttamente dal latch SR con enable pilotando l'ingresso R con il segnale dell'ingresso S complementato. Il comportamento, come descritto dalla tabella della verità, è il seguente:
- quando l'enable E (attivo alto) vale 1 l'uscita Q coincide con il dato presente all'ingresso D
- quando l'enable E vale zero il latch mantiene memorizzato l'ultimo dato
Il diagramma temporale di figura 9 chiarisce il comportamento del dispositivo.
4 La logica temporizzata
In molte applicazioni è utile che il dato memorizzato non possa cambiare mentre viene letto. Questa condizione si può ottenere usando opportunamente l'ingresso di abilitazione ma se si vuole abilitare il dispositivo solo per un tempo brevissimo o se si vuole sincronizzare le operazioni di lettura tra più dispositivi esiste una soluzione migliore: il flip-flop.
Un flip-flop è un dispositivo di memorizzazione da un bit (come un latch) dotato di un ingresso di sincronizzazione al quale viene applicato un segnale temporizzatore detto clock. Il flip-flop è un dispositivo edge-triggered perché le sue uscite possono cambiare solo in corrispondenza di un fronte di salita o discesa del segnale di clock, quindi per un tempo brevissimo9).
Il caso SR edge triggered
La figura 10 mostra il simbolo e la corrispondente tabella della verità di due flip-flop edge triggered, uno attivo sul fronte di salita del clock (a sinistra) e uno sul fronte di discesa (a destra). Osserviamo che:
- nella tabella della verità il fronte attivo del clock è indicato con una freccia
- nel simbolo l'ingresso del clock si distingue per il triangolo posto all'interno del simbolo e la sigla CK
- il fronte attivo è quello di discesa se è presente il pallino sull'ingresso (o il mezzo triangolo nei simboli ANSI/IEEE)
- l'uscita cambia solo in corrispondenza del fronte attivo del clock quando S o R sono attivi
Ingressi sincroni e asincroni
Nei flip-flop possono essere presenti anche degli ingressi asincroni che permettono di impostare lo stato dell'uscita a prescindere dallo stato del segnale di clock. Ad esempio il SRFF di figura 11 dispone di due ingressi asincroni attivi bassi:
- preset `bar {PR}` imposta l'uscita a 1 indipendentemente dallo stato del clock
- clear `bar {CL}` imposta l'uscita a 0 indipendentemente dallo stato del clock
Gli ingressi S e R sono invece sincroni ed hanno effetto solo in presenza di un fronte del segnale di clock.
5 Classificazione dei flip-flop
Il flip-flop D edge triggered
La figura 12 mostra simbolo logico, tabella della verità e diagramma temporale di un flip-flop D edge triggered. Questo flip-flop si comporta come un latch D - cioè trasmette il dato in uscita se abilitato e mantiene l'ultimo dato in memoria quando è disabilitato - ma il suo funzionamento è attivato dal fronte di salita del clock.
Un dispositivo che contiene due flip-flop D è l'integrato 7474, che presenta anche due ingressi asincroni S e R attivi bassi.
Il flip-flop JK edge triggered
Il flip-flop JK di figura 13 si comporta come un flip-flop SR - con J che corrisponde a S e K a R - ma si distingue per non avere una combinazione non valida: quando sia J che K sono attivi il valore dell'uscita Q viene complementato10). Un esempio di integrato che contiene due flip-flop JK è il 74112, attivo sul fronte di discesa e con due ingressi asincroni S e R attivi bassi.
Il flip-flop T
Il flip-flop T commuta la sua uscita quando l'ingresso T (toggle) è attivo, altrimenti conserva il valore dell'uscita. La figura 14 mostra la tabella della verità, il simbolo logico e un diagramma temporale di un TFF attivo sul fronte di salita del clock con l'ingresso T attivo alto. Questo tipo di flip-flop non esiste in forma integrata ma si ottiene da altri tipi di flip-flop.
Extra
- scheda di laboratorio 5A.1: analisi sperimentale del flip-flop JK
6 Trasformazioni tra flip-flop
Trasformazione di un SR in un JK
La figura 16a mostra come ottenere un JKFF da un SRFF usando due porte AND (considerare le varie combinazioni possibili in ingresso e lo stato delle uscite per comprenderne il funzionamento).
Trasformazione di un SRFF e di un JKFF in un DFF
Come per i latch è sufficiente porre il valore negato dell'ingresso S (o J) nell'ingresso R (o K), come mostrato in figura 16b.
Trasformazione di un JKFF in un TFF
Collegando insieme gli ingressi J e K e usandoli come ingresso T s ottiene un TFF (figura 17a).
Trasformazione di un DFF in un TFF
Se non serve accedere all'ingresso T si può ottenere un TFF collegando l'uscita complementata di un DFF all'ingresso D (figura 17b).
Navigazione
Torna all'indice.