La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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.

Presentazioni simili


Presentazione sul tema: "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."— Transcript della presentazione:

1 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 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 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) i0i1i0i1 out SISTEMA Feedback

4 4 Esempio di retroazione: oscillatore ad anello CSCS  IN IN * OUT V OUT V IN IN=OUT OUT=IN Il punto V in =V out è un punto di equilibrio instabile. La retroazione porta il sistema ad oscillare (con periodo  ), rendendolo instabile. IN OUT  Period 2(   time

5 5 V.2. FLIP-FLOP FLIP: 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 FN Q F N Q

6 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

7 7 Tabella della Verità per FF-RS R SQ 0 0 non cambia 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 SQ R S Q t t t Caso 1 Caso 2

8 8 Ci si riconduce ad una tabella della verità, definendo gli stati Q N (stato attuale del FF) e Q N+1 (stato futuro del FF). Realizzazione del flip-flop SR RSQ N Q N NA 111NA Non cambia SET RESET Non permesso Q N+1 R S QNQN

9 R S QNQN Realizzazione a NOR del flip-flop SR Realizzazione a NAND del flip-flop SR R S QNQN Q N+1 R S QNQN R S QNQN R S Q Q Q Q R S

10 10 Problemi del flip-flop SR Il 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 proibita A A

11 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. A A A CK S Q

12 12 FLIP-FLOP D (D-Latch) Quando CK=1 il D-Latch lascia passare il segnale da D a Q CK=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

13 13 Esempio di applicazione: convertitore A/D Ingresso analogico REF D0D0 D1D1 D2D2 DnDn A/D START BUSY Uscita digitale I bit di uscita devono essere immagazzinati e fatti scorrere lungo uno shift register.

14 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.

15 15 Registro 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 16 Funzionamento corretto

17 17 Funzionamento sbagliato

18 18 FLIP 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.

19 19 Diagramma 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.

20 20 Registro a scorrimento con FF M/S Il dato attraversa il FF M/S solo sui fronti di discesa di CK

21 21 FLIP FLOP J-K L’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 Q N che arriva al D-latch Se J=K=1 allora attraverso AND1 passa Q N Tabella della Verità J KQ 0 0 non cambia inverte

22 22 FLIP FLOP D Edge Triggered In 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 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 24 Realizzazione FLIP FLOP D Edge Triggered Implementazione a NAND

25 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 26 V.3. Esempi applicativi Analisi di reti sequenziali Contatori Convertitori serie/parallelo e parallelo/serie Sommatore seriale

27 27 Tabella delle transizioni QCQBQA QCQBQA Equazioni di eccitazione Analisi di reti sequenziali. Stato di partenza Stato del circuito: Insieme delle uscite di tutti i FF in un dato istante di tempo Power ON

28 28 Descrizione alternativaCaso più generale Rete combinatoria Stato Uscita N.B. Le uscite di alcuni FF possono non comparire in uscita (FF nascosti), ma tutte contribuiscono a formare lo stato del circuito. Stato Uscita

29 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 30 Esempio 1 Determinare la sequenza generata dal seguente circuito sincrono partendo dallo stato Q A =Q B =Q C =0.

31 31 Si scrivono le equazioni di eccitazione per gli ingressi D i : Se Q A Q B Q C =000 allora D A D B D C =110; perció i primi due stati del sistema sono 000 e 110… Mappe di K. delle equazioni di eccitazione D A, D B, D C Q A Q B QCQC Q A Q B QCQC DADA DBDB

32 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: Q A Q B Q C Valore decimale Q A Q B QCQC DCDC tempo

33 33 Esempio 2 Determinare 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 J i =Q i-1, K i =Q i-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).

34 Q A Q B QCQC Tabella delle transizioni Q A Q B Q C Q D Mappa di Karnaugh per J A Equazione di eccitazione per J A

35 35 Passi 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=2 N ) 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 D i dei F.F. in funzione delle uscite Q i ; 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.

36 36 Esempio Progettare un contatore sincrono che realizzi la sequenza etc… Numero Q 3 Q 2 Q 1 Q Q 3 Q 2 Q 1 Q Q 3 Q 2 Q 1 Q Stato AttualeStato Successivo

37 Q 3 Q Q 1 Q 0 0 D0D Q 3 Q Q 1 Q 0 0 D1D Q 3 Q Q 1 Q 0 0 D2D Q 3 Q Q 1 Q 0 0 D3D Mappe di Karnaugh

38 38 Equazioni di eccitazione Schema circuitale …

39 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).

40 40 Esempio Tabella delle transizioni Q1Q2Q3 Q Q1Q2Q3 Q Equazioni di eccitazione

41 41 Esercizio Per il contatore in figura, determinare la sequenza degli stati a partire dallo stato ZERO (Q 1 Q 2 Q 3 Q 4 =0000).

42 Q 3 Q Q 1 Q 2 1 Mappe di Karnaugh per D Tabella delle transizioni Q1Q2Q3 Q Q1Q2Q3 Q Equazioni di eccitazione

43 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 44 Interponiamo tra due FF successivi un MUX, in modo da abilitare lo scorrimento (SH=1) oppure la ricircolazione del dato (SH=0).

45 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 46 Sommatore seriale 1° addendo 2° addendo Risultato

47 47 V.4. Implementazioni circuitali FLIP-FLOP SR: schema a NOR Implementazione CMOS Implementazione CMOS semplificata … Problema per S=R=1

48 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)

49 49 FLIP 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

50 50 FLIP FLOP D Master-Slave MasterSlave La soluzione a TG e’ ancora piu’ conveniente per il M/S. Negative Edge Triggered.


Scaricare ppt "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."

Presentazioni simili


Annunci Google