1 V.1. Considerazioni generali V.2. Flip-Flop V.3 Esempi applicativi V.4 Implementazioni circuitali...
-
Upload
scevola-rossetti -
Category
Documents
-
view
215 -
download
0
Transcript of 1 V.1. Considerazioni generali V.2. Flip-Flop V.3 Esempi applicativi V.4 Implementazioni circuitali...
1
V.1. Considerazioni generali
V.2. Flip-Flop
V.3 Esempi applicativi
V.4 Implementazioni circuitali
Capitolo V
Reti sequenziali
G.- F. Dalla Betta, G. Soncini. Appunti di Elettronica 2.
2
Sistema Combinatorio: L’uscita del sistema in un particolare istante è determinata unicamente dal valore presente agli ingressi in quel determinato momento. In un circuito combinatorio il segnale si propaga attraverso le varie porte logiche solo in una direzione, senza mai propagarsi da una porta logica ad una precedente.
Sistema Sequenziale: L’uscita del sistema non dipende solo dal valore presente agli ingressi, ma anche dalla “storia” precedente del sistema stesso. Nei circuiti sequenziali si utilizza la retroazione (feedback) per creare elementi dotati di memoria (Flip-Flop).
Ramo di retroazione (feedback)
3
RETROAZIONE (FEEDBACK)
• La retroazione consiste nel prelevare una copia del segnale d’uscita di un sistema e riportarla in ingresso al sistema stesso.
• Il segnale “retroazionato” può essere sommato (reatroazione positiva) o sottratto (retroazione negativa) agli ingressi del sistema. • I circuiti che si prenderanno in considerazione di seguito sfruttano la retroazione positiva che tende a portare il sistema in uno dei suoi stati estremi (può anche provocare oscillazioni)
i0
i1out
SISTEMA
Feedback
4Esempio di retroazione: oscillatore ad anello
CS
IN IN* OUT
VOUT
VIN
IN=OUT
OUT=IN
Il punto Vin=Vout è un punto di equilibrio instabile. La retroazione porta il sistema ad oscillare (con periodo ) , rendendolo instabile.
IN
OUT
Period 2(
time
5
V.2. FLIP-FLOPFLIP: circuito in cui si sfrutta la retroazione per realizzare un sistema dotato di memoria.
• In questa configurazione e’ di scarsa utilità perché, una volta memorizzato il dato (1), non lo si può più cancellare.
Commutazione dell’ingresso
Accensione del circuito
F N Q
F
N
Q
6
FLIP-FLOP SET RESET (FF-RS, oppure SR Latch)Idea base: sostituisco l’invertitore del FLIP con un secondo NOR.
• Ho una doppia retroazione delle uscite sugli ingressi ed inoltre altri due ingressi esterni (SET e RESET).• Risolvo quindi il problema del FLIP, perche’ con RESET=1 (e SET=0) posso cancellare lo stato precedentemente memorizzato.• Al contrario, con SET=1 e RESET=0 impongo Q=0• Infine, con SET=0 e RESET=0 il circuito conserva la situazione precedente, che dipende dalla “storia passata” degli ingressi.
SET
RESET Q
7Tabella della Verità per FF-RS
R S Q
0 0 non cambia
0 1 1
1 0 0
1 1 0 problema !
N.B. Lo stato S=R=1 è critico ! Infatti, le uscite si portano entrambe a 0 ed il sistema si porterà in uno stato oppure in altro a seconda di quale ingresso torna per primo a 0.
• Non potendo garantire la commutazione simultanea degli ingressi, impongo che possa cambiare un solo ingresso alla volta e proibisco la condizione SET = RESET = 1.
R S Q R S
Q
t0 1 1 0 1 1
0
t1 0 1 1 1 0
0
t2 0 0 1 0 0
0
Caso 1 Caso 2
8
Ci si riconduce ad una tabella della verità, definendo gli stati QN (stato attuale del FF) e QN+1 (stato futuro del FF).
Realizzazione del flip-flop SR
R S QN QN+1
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 NA
1 1 1 NA
Non cambia
SET
RESET
Non permesso
QN+1R
S
QN
9
1
0
1
0 0
0 1
0 1 1 01 1R S
QN
1
-
-
0
0
NN QRSQ 1
Realizzazione a NOR del flip-flop SR
Realizzazione a NAND del flip-flop SR
1
0
1
0 0
0 1
0 1 1 01 1R S
QN
1
-
-
0
0
NN QSRQ 1
QN+1
R
S
QN
R
SQN
QN+1
R
S
Q
Q
Q
QR
S
10Problemi del flip-flop SRIl latch SR è sensibile agli istanti di commutazione degli ingressi: in presenza di GLITCH il FF-SR si trova per un attimo nello stato S=1, R=0 e Q viene settato a 1. Una volta che S torna a 0 Q rimane alto.
Quindi, se mettessi un invertitore per evitare la condizione non permessa S=R=1, a causa del ritardo dell’invertitore, avrei comunque un periodo di tempo in cui S=R=1.
Generatore di glitch
A
A
Condizione proibitaA
A
11
FLIP-FLOP SR Level Sensitive (con il Clock)Per risolvere i problemi visti in precedenza utilizzo un segnale di clock:
Quando CK=1 il FF è “trasparente“CK=0 il FF si trova con S=R=0 e conserva l’ultimo stato.
Facendo in modo che il CK commuti allo stato alto soltanto dopo che gli ingressi Se R si sono assestati elimino il problema dei glitches.
AAA
CK
SQ
12FLIP-FLOP D (D-Latch)
Quando CK=1 il D-Latch lascia passare il segnale da D a QCK=0 il D-Latch mantiene memorizzato l’ultimo valore
Esempio di applicazione: convertitore A/D
Impulso che dice al conv. A/D di effettuare una conversione
Tempo necessario per effettuare una conversione
13Esempio di applicazione: convertitore A/D
Ingresso analogico
REF
D0
D1
D2
Dn
A/D
START
BUSYUscita digitale
I bit di uscita devono essere immagazzinati e fatti scorrere lungo uno shift register.
14
Utilizzo un array di D-Latch per mantenere i bit di uscita in attesa che sia disponibile il nuovo valore.Abilito il D-Latch utilizzando il segnale di uscita BUSY dell’A/D.
• Appena BUSY=0, i D-Latch diventano trasparenti e l’uscita viene aggiornata.
• Quando il convertitore è occupato ad effettuare una conversione si ha BUSY=1, BUSY=0 e i D-Latch sono in stato di mantenimento.
15Registro a scorrimento (SHIFT REGISTER)
• L’uscita che ci si aspetta dallo shift register e’ quella che corrisponde allo scorrimento del dato lungo il registro
• In realtà, appena il CK=1, tutti i D-Latch diventano trasparenti e il dato si propaga rapidamente lungo tutta la catena.
Se provassi a realizzare lo shift register utilizzando dei D-Latch:
Non funziona!
16
Funzionamento corretto
17
Funzionamento sbagliato
18FLIP FLOP Master-Slave
L’invertitore fornisce allo Slave un clock negato e ritardato di D rispetto al clock che abilita il Master. In questo caso il dato attraversa il FF-M/S solo sui fronti di discesa di CLK.
19Diagramma di temporizzazione del FLIP FLOP Master-Slave
• In questo FF-M/S il dato viene aggiornato (cioè cambia l’uscita dello Slave) sul fronte di discesa di CLK (system clock); questa versione del FF-M/S è detta Negative Edge Triggered.
20Registro a scorrimento con FF M/S
Il dato attraversa il FF M/S
solo sui fronti di discesa di CK
21FLIP FLOP J-KL’idea è quella di utilizzare la condizione proibita di un FF-SR (R=S=1).Schema circuitale del FF J-K
• Ora la condizione J=K=1 è permessa e provoca l’inversione dello stato precedente del FF.
• Se J=K=0 allora attraverso AND2 passa QN che arriva al D-latch
• Se J=K=1 allora attraverso AND1 passa QN
NN QQ 1
Tabella della Verità
J K Q
0 0 non cambia
0 1 0
1 0 1
1 1 inverte
NNN QKQJQ 1
22
FLIP FLOP D Edge TriggeredIn alternativa al FF M/S posso realizzare un FF Edge Triggered in questo modo. N.B. Non necessita’ di utilizzare clock e clock complementare.a) Consideriamo dapprima lo stato CK=1 e Data=1.
1
23
b) Poi vediamo cosa succede quando CK commuta da 1 a 0.
• Questo schema circuitale realizza quindi un D-Latch Edge Triggered (sul fronte di discesa del clock).
24
Realizzazione FLIP FLOP D Edge Triggered
Implementazione a NAND
25
Segnali asincroni (PRESET/RESET)Gli schemi circuitali dei FF possono essere complicati con l’aggiunta di 2 ulteriori ingressi (PRESET e RESET) che consentono di fissare il valore dell’uscita Q a 0 o a 1 in modo indipendente dai valori di dato e clock.
Simbolo grafico
26
V.3. Esempi applicativi
Analisi di reti sequenziali
Contatori
Convertitori serie/parallelo e parallelo/serie
Sommatore seriale
27
Tabella delle transizioni
QC QB QA
0 0 0
0 1 1
1 1 0
0 0 0
BA
CB
AC
QD
QD
QD
Equazioni di eccitazione
Analisi di reti sequenziali.
Stato di partenzaStato del circuito:
Insieme delle uscite di tutti i FF in un dato istante di tempo
Pow
er O
N
28Descrizione alternativa Caso più generale
Rete combinatoria
Stato UscitaN.B. Le uscite di alcuni FF possono non comparire in uscita (FF nascosti), ma tutte contribuiscono a formare lo stato del circuito.
Stato
Uscita
Usc
ita
29
Passi da effettuare per l’analisi di circuiti sequenziali
1. Scomporre il circuito da analizzare evidenziando la parte contenente i F.F. e quella che costituisce la logica di eccitazione
2. Studiare la logica di eccitazione e scrivere l’espressione Booleana per ciascun ingresso dei Flip-Flop
3. Definire lo stato iniziale del circuito; solitamente si considera come stato iniziale lo stato in cui si trova il circuito immediatamente dopo l’accensione (spesso e’ lo stato ZERO)
4. Determinare il nuovo stato delle uscite e inserirlo nelle equazioni di eccitazione in modo da determinare lo stato successivo
5. Proseguire con il passo 4 utilizzando l’ultimo valore trovato fino a trovare uno stato giá incontrato in precedenza.
30
Esempio 1
Determinare la sequenza generata dal seguente circuito sincrono partendo dallo stato QA=QB=QC=0.
31
Si scrivono le equazioni di eccitazione per gli ingressi Di:
Se QAQBQC=000 allora DADBDC=110; perció i primi due stati del sistema sono 000 e 110…Mappe di K. delle equazioni di eccitazione DA, DB , DC
ABCABCACBC
BABCACAC
BABCACB
AA
QQQQQQQQQD
QQQQQQQQ
QQQQQQD
QD
1
1
1
0 0
0 1
0 1 1 01 1QA QB
QC
1
0
0
0
0 1
1
0
0 0
0 1
0 1 1 01 1QA QB
QC
0
1
1
0
1
DA DB
32
• Si inserisce l’ultimo stato d’uscita trovato nelle mappe di K. trovando l’uscita successiva e si itera il procedimento fino a ritrovare uno stato giá trovato in precedenza.
• La sequenza d’uscita é perció data da:
QA QB QC Valore decimale 0 0 0 0 1 1 0 6 0 1 0 2 1 1 1 7 0 1 1 3 1 0 0 4 0 0 0 0
1
0
0
0 0
0 1
0 1 1 01 1QA QB
QC
0
0
1
0
0
DC
tempo
33Esempio 2Determinare la sequenza generata dal seguente circuito facente uso di 4 FF-JK, a partire dallo stato 0000 (raggiungibile mediante RESET).
• I 3 FF B, C e D ricevono come ingressi Ji=Qi-1, Ki=Qi-1 quindi si comportano come FF-D. Il FF A, invece, ha: quindi mantiene il dato (J=K=0) oppure lo inverte (J=K=1).
CBAAA QQQKJ
34
CBACABA
CBACBA
CBAAA
QQQQQQQ
QQQQQQ
QQQKJ
1
1
0
0 0
0 0
0 1 1 01 1QA QB
QC
0
1
1
0
1
Tabella delle transizioni
QA QB QC QD
0 0 0 0
1 0 0 0
1 1 0 0
0 1 1 0
0 0 1 1
0 0 0 1
1 0 0 0
Mappa di Karnaugh per JA
Equazione di eccitazione per JA
35Passi di progetto per la realizzazione di un contatore sincrono
1. Esprimere in codifica binaria ogni numero della sequenza da realizzare.2. Scegliere ed implementare un metodo di assegnazione delle uscite dei flip-
flop (N) agli stati (M); è possibile utilizzare l’uscita di un flip-flop per ciascun bit della sequenza oppure minimizzare il numero di flip-flop (M=2N) con una codifica opportuna.
3. Disegnare la tabella degli stati “presenti-futuri” della sequenza disponendo da un lato i vari stati della sequenza (Stato attuale) e a fianco la tabella con gli stati successivi (Stato successivo).
4. Scegliere il tipo di F.F. da utilizzare; è preferibile il D-F.F. (minore occupazione di area e maggior facilitá di progetto in quanto lo stato di transizione del F.F. è determinato dallo stato di eccitazione (cioè dal suo ingresso).
5. Disegnare le mappe di K. Per ogni ingresso Di dei F.F. in funzione delle uscite Qi; gli ingressi di ogni mappa sono le uscite degli N flip-flop allo stato precedente.
6. Completare le mappe mettendo in uno stato opportuno (solitamente a Zero) gli stati non utilizzati (che rappresentano stati di indifferenza) e ricavarne le espressioni booleane minime.
7. Disegnare il sistema disponendo i flip-flop ed implementando la logica di eccitazione ricavata al punto 6.
36EsempioProgettare un contatore sincrono che realizzi la sequenza 0 3 6 9 12 0 etc…
Numero Q3 Q2 Q1 Q0
0 0 0 0 0 3 0 0 1 1 6 0 1 1 0 9 1 0 0 1 12 1 1 0 0
Q3 Q2 Q1 Q0
0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0
Q3 Q2 Q1 Q0
0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0
Stato Attuale Stato Successivo
37
0 1
10 0
0 00 1 1 01 1
0
Q3 Q2
0
1
1 1
1 0
Q1 Q0
0
D0
0
3
6
9
12
0 1
10 0
0 00 1 1 01 1
0
Q3 Q2
1
0
1 1
1 0
Q1 Q0
0
D1
0
3
6
9
12
0 1
00 0
0 00 1 1 01 1
1
Q3 Q2
1
0
1 1
1 0
Q1 Q0
0
D2
0
3
6
9
12
0 1
00 0
0 00 1 1 01 1
1
Q3 Q2
0
1
1 1
1 0
Q1 Q0
0
D3
0
3
6
9
12
Mappe di Karnaugh
38
Equazioni di eccitazione
012301233
012301232
012301231
012301230
QQQQQQQQD
QQQQQQQQD
QQQQQQQQD
QQQQQQQQD
Schema circuitale …
39
Contatori a riempimento/svuotamento
• Sono contatori particolari in cui la retroazione dalle uscite agisce direttamente sono sull’ingresso del primo FLIP-FLOP, mentre gli altri FF fanno “scorrere” i dati.
• Questa situazione determina sequenze caratterizzate da un iniziale “riempimento” con 1, seguito da uno “svuotamento” (ritorno di 0).
40Esempio
Tabella delle transizioni
Q1 Q2 Q3 Q4
0 0 0 01 0 0 01 1 0 01 1 1 01 1 1 10 1 1 10 0 1 10 0 0 10 0 0 0
34
23
12
41
QD
QD
QD
QD
Equazioni di eccitazione
41Esercizio
Per il contatore in figura, determinare la sequenza degli stati a partire dallo stato ZERO (Q1Q2Q3Q4=0000).
42
0 1
10 0
0 00 1 1 01 1
Q3 Q4
1 1
1 0
Q1 Q2
1
Mappe di Karnaugh per D1
1 1
0 11 0
0 01 1
0 10 1
Tabella delle transizioni
Q1 Q2 Q3 Q4
0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
1 0 0 1
0 1 0 0
342312
4321321421211
;;
1
QDQDQD
QQQQQQQQQQQQD
Equazioni di eccitazione
43
Convertitore serie/parallelo
• E’ simile ad un registro a scorrimento, però c’è il problema che il dato convertito è disponibile per un solo ciclo di clock:- posso depositare il dato in un registro, abilitato a ricevere i dati in ingresso solo alla fine della conversione;- posso modificare la struttura del registro a scorrimento ...
44
Interponiamo tra due FF successivi un MUX, in modo da abilitare lo scorrimento (SH=1) oppure la ricircolazione del dato (SH=0).
45
Convertitore parallelo/serie
• Deve consentire di introdurre dall’esterno in parallelo il dato (LOAD) e di far partire i dati di k-bit in serie alla fine del caricamento (SHIFT). Uso uno schema simile al precedente.
46
Sommatore seriale
1° addendo
2° addendo
Risultato
47V.4. Implementazioni circuitaliFLIP-FLOP SR: schema a NOR
Implementazione CMOS
Implementazione CMOS semplificata … Problema per S=R=1
48
Implementazione CMOS
FLIP-FLOP SR level sensitive
La versione CMOS consente un risparmio sul numero di transistori utilizzati rispetto allo schema di partenza (2 NOR + 2 AND)
49FLIP FLOP D level-sensitive
Osserviamo che il segnale di CK ha essenzialmente funzione di ENABLE …
… risulta conveniente lo schema circuitale che fa uso di Transmission Gates !
Notevole risparmio sul numero di transistori
50FLIP FLOP D Master-Slave
Master Slave
La soluzione a TG e’ ancora piu’ conveniente per il M/S.
Negative Edge Triggered.