Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1...

61
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Calcolatori Elettronici I A.A. 2010-2011 Flip flop: tempificazione latch ed edge-triggered Lezione 23-26

Transcript of Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1...

Page 1: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Università degli Studi di Napoli Federico II Facoltà di Ingegneria

Corso di Calcolatori Elettronici I A.A. 2010-2011

Flip flop: tempificazione latch ed

edge-triggered Lezione 23-26

Page 2: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

I flip flop - 1 Generalità •  Elementi fondamentali (semplici reti sequenziali)

–  per la memorizzazione –  per la costituzione di registri –  per la costruzione di reti sequenziali

•  Memorizzano un bit avendo in uscita 2 stati stabili §  stato di SET, o alto, o stato "l“: Q=1, Q=0; §  stato di RESET, o basso, o stato "0”: Q=0, Q=1

•  Hanno in ingresso diversi segnali da cui traggono il nome, p.e. §  R,S; flip-flop RS §  D; flip-flop D §  T; J,K: flip-flop T, flip flop JK

Page 3: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

3

I flip flop - 2

Tempificazione •  Flip-flop abilitato (o sincronizzato): possiede un segnale di ingresso, A, che

ne abilita il funzionamento •  Un flip-flop abilitato può essere:

–  Latch:cattura gli ingressi sempre che sia A=attivo (p.e. A=1)

–  Edge triggered: cattura gli ingressi in corrispondenza di una variazione di A (fronte di salita:0→1, o di disceso 1 →0)

Latch Edge ↑

A A

Page 4: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

I flip flop - 3

Struttura •  Un Flip-flop è caratterizzato da.

–  Struttura interna, che può essere di una rete asincrona (vedi esempio di RS) o sincrona (vedi in seguito).

–  Una equazione di stato, che (al di là della struttura) indica l’uscita seguente in funzione dell’uscita precedente e degli ingressi.

Page 5: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

I flip flop - 4

•  Flip-flop –  A memorizzazione dell’ingresso (RS, D) –  A commutazione (T, JK) –  Misti

Page 6: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Esempio: Flip-flop RS •  Memorizza un bit di informazione

•  Ingressi impulsivi à mai alti contemporaneamente

•  Vincolo RS=0

• Impulso su S (set) à Q=1, !Q=0

• Impulso su R (reset) à Q=0, !Q=1

• Per R=S=0 mantiene l’uscita precedente

•  Escluse transizioni RS = ...à00à01à10à00… (alee multiple)

Page 7: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip flop RS fondamentale Descrizione comportamento

Equazione di stato

Dati tre ingressi R,S e Qp

Page 8: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip flop RS fondamentale

Page 9: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Retroazione:durata del segnale

Page 10: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

10

Flip-flop RS: analisi del funzionamento

y0’

y1’ y1’

y0’

Page 11: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-flop RS: stati stabili e transizioni

00 01 11 10

10 10 00 00 10 00 11 01 00 10 01 01 01 00 00 11 00 00 00 00

RS

y0’ y1’

Page 12: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-flop RS: tempificare durata dell’input

Le NAND hanno un ritardo di 4 unità di tempo

Gli impulsi in ingresso hanno durata 10 unità di tempo

Page 13: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Che succede per tempificazione errrata?

1

0

5 4

4 0

o  Si parte da stato 10 sotto ingessi RS=00 o  Ritardo di porte = 4 unità di tempo τ o  Input d=5 τ (errore di progetto)

Tra 5τ e 8τ lo stato è 00, sotto l’ingresso RS=00 La macchina comincia ad oscillare tra gli stati 00 e 11 sotto l’ingresso RS=00

Page 14: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-flop RS: tempificare durata dell’input

00 01 11 10

10 10 00 00 10 00 11 01 00 10 01 01 01 00 00 11 00 00 00 00

RS

y0’ y1’

RS = …00 à 01 à 00… Stato = …10 à 00 à .. à 11 à 00 à 11 à……

La macchina non ha il tempo di spostarsi sul nuovo stato stabile

Page 15: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Un RS abilitato con tempificazione latch

Possibile realizzazione di un flip-flop RS abilitato con tempificazione di tipo latch a partire da un RS asincrono

Page 16: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

I segnali elettrici come funzioni del tempo

•  Un segnale elettrico è una tensione variabile nel tempo

•  I segnali binari sono rappresentati tipicamente mediante

due livelli di tensione di un segnale elettrico

0

Vdd

Vdd/2

t

0

Vdd

Vdd/2

t

Page 17: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

I segnali elettrici come funzioni del tempo

•  Il segnale binario è un segnale variabile con continuità •  In un intervallo di tempo t=t1-t0 il segnale assume infiniti valori,

corrispondenti agli infiniti istanti tra t0 e t1 •  Si ricorre al concetto di tempo discreto in cui il numero di istanti

discreti in un intervallo t=t1-t0 è finito

0

Vdd

Vdd/2

t

t 0

1

Page 18: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Il segnale di clock •  Il valore del segnale elettrico viene letto o campionato in

istanti determinati •  Gli istanti in cui deve essere campionato il segnale elettrico

sono scanditi da un apposito segnale detto clock •  Un clock ha le seguenti caratteristiche:

–  E’ un segnale binario –  E’ un segnale periodico

•  Spesso nei sistemi digitali, tutti i componenti con memoria (flip-flop e memorie) “leggono” gli ingressi nello stesso istante, scandito dal segnale di clock

Fronte di discesa

Fronte di salita Periodo

1

0

Page 19: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Il concetto di tempo •  Nel periodo TCK, o ciclo di clock, il segnale assume:

–  Il valore logico 1 per un tempo TH

–  Il valore logico 0 per un tempo TL •  Il rapporto TH / TCK è detto duty-cycle •  Il passaggio dal valore 0 al valore 1 è detto fronte di salita •  Il passaggio dal valore 1 al valore 0 è detto fronte di discesa •  In genere, uno o entrambi i fronti del clock attivano i componenti con

memoria (flip-flop e memorie)

Fronte di discesa

Fronte di salita Periodo TCK

TL

TH

1

0

Page 20: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Clock

ideale

impulsivo

su fronte

Page 21: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Clock a più fasi

Page 22: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Problemi di tempificazione con i Latch

C

D Q

Q

Y

Clock

Clock Y

Page 23: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Tempificazione edge triggered

Page 24: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

RS: sincronizzazione latch ed edge triggered

RS

statii

A=0 A=1

00 01 11 10 00 01 11 10 Q

q0 q0 q0 -- q0 q0 q1 -- q0 0

q1 q1 q1 -- q1 q1 q1 -- q0 1 b)

Q

Q

R

S

A a) RS

statii

A=0 A=1

00 01 11 10 00 01 11 10 Q

q00 q00 q01 -- q00 q00 q00 -- q00

q01 q00 q01 -- q00 q00 q11 -- q00 0

q10 q11 q11 -- q10 q11 q11 -- q00

q11 q11 q11 -- q10 q11 q11 -- q11 1

c)

Latch A variazione del fronte (edge-triggered)

Page 25: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Un RS sincronizzato – edge-triggered

RS

statii

A=0 A=1

00 01 11 10 00 01 11 10 Q

q0 q0 q0 -- q0 q0 q1 -- q0 0

q1 q1 q1 -- q1 q1 q1 -- q0 1 b)

Q

Q

R

S

A a) RS

statii

A=0 A=1

00 01 11 10 00 01 11 10 Q

q00 q00 q01 -- q00 q00 q00 -- q00

q01 q00 q01 -- q00 q00 q11 -- q00 0

q10 q11 q11 -- q10 q11 q11 -- q00

q11 q11 q11 -- q10 q11 q11 -- q11 1

c)

S

R

A

q00 q01 q11 q11 q11

Page 26: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

RS edge-triggered Possibile realizzazione di un flip-flop RS sincronizzato edge-triggered sul fronte di salita:

•  quando A=0, il latch di sinistra “cattura” il segnale su R o su S e •  appena A passa da 0 ad 1 (fronte di salita), y2 è ricopiato in y1=Q

mentre gli ingressi del latch di sinistra restano neutri lasciandolo bloccato

Page 27: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip flop D

Equazione di stato:

pQAADQ +=

D A=0 A=1

statii

0 1 0 1 Q

q0 q0 q0 q0 q1 0

q1 q1 q1 q0 q1 1 b)

Q

Q D

A a)

Page 28: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip flop D

D A=0 A=1

statii

0 1 0 1 Q

q0 q0 q0 q0 q1 0

q1 q1 q1 q0 q1 1 b)

Q

Q D

A a) D

statii

A=0 A=1

0 1 0 1 Q

q00 q00 q01 q00 q00

q01 q00 q01 q00 q11 0

q10 q10 q11 q00 q11

q11 q10 q11 q11 q11 1

c) latch

edge

Page 29: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip flop D

D

A

q00 q01 q11 q11 q10

D A=0 A=1

statii

0 1 0 1 Q

q0 q0 q0 q0 q1 0

q1 q1 q1 q0 q1 1 b)

Q

Q D

A a) D

statii

A=0 A=1

0 1 0 1 Q

q00 q00 q01 q00 q00

q01 q00 q01 q00 q11 0

q10 q10 q11 q00 q11

q11 q10 q11 q11 q11 1

c)

Page 30: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-flop D: realizzazione come latch

Di concezione semplice, si realizza con RS

S = AD R = AD’

Page 31: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Registri

•  Registro parallelo-parallelo a 4 bit

D

/Q

Q D

/Q

Q D

/Q

Q

D0 D1 D3

Q0 Q1 Q3

Clock

D

/Q

Q

D2

Q2

bistabile

Page 32: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Registri

•  Registro serie-serie a 4 bit (Shift Register)

D

/Q

Q D

/Q

Q D

/Q

Q D Q

Clock

D

/Q

Q

Page 33: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Registri a scorrimento

F1 FN F2 FN-1

In

c

Out

S-Out F1 FN F2 FN-

1

In

c

P-Out

Page 34: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Trasferimento seriale

F1 FN F2 FN-1

c

Out

F1 FN F2 FN-1

In

Page 35: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Trasferimento parallelo

F1 FN F2 FN-1

c

F1 FN F2 FN-1

P-Out à P-In

Page 36: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Contatori •  Un Contatore modulo n (mod n) è una macchina che ha:

–  N stati di uscita ordinati u : fissato un criterio per ritenere ui>uj si suppone ui>uj per i > j (u0 stato iniziale e un-1 stato finale

–  Un ingresso di conteggio che quando presente provoca la variazione dell’uscita da ui a ui+1 per i diverso da n-1 e da un-1 a u0 per i = n-1

–  E’ detto mod n in quanto se, a partire dall’uscita ui, si applica una sequenza di ingresso contenente r volte il valore di conteggio c, il contatore finirà nello stato uk, con

k = (i + r) mod n

Page 37: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Contatori

•  Ulteriori classificazioni sui contatori: – Contatore binario: la sequenza delle uscite è

codificata in aritmetica binaria – Contatore decimale: n = 10 e le uscite sono

un codice per la rappresentazione delle cifre decimali

– Contatore a crescere e a decrescere

Page 38: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Contatori •  Oltre alle uscite di conteggio un contatore può disporre

di altre uscite, dette uscite divisore: –  si presenta in uscita con un periodo che è n volte il

periodo del valore di conteggio •  Oltre agli ingressi fondamentali, un contatore può

possedere ingressi ausiliari: –  Ingresso di reset (u = u0) –  Ingressi che settano il valore di n –  Ingressi che selezionano la modalità di conteggio

(crescere o a decrescere) –  Ingresso di preset o load, che pone il contatore in uno

stato definito dall’esterno

Page 39: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Bus •  I bus rappresentano insiemi di linee elettriche che

collegano diverse parti di un sistema digitale •  Esempi di bus sono essere le linee che collegano le

uscite di alcuni registri agli ingressi di altri, come nella figura sottostante

reg 01 reg 02 reg 03 reg 04

Page 40: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Trasferimento dati su bus unico •  Trasferimento da bus a

registro (caricamento di un registro) –  si effettua abilitando il

registro in lettura attraverso un apposito segnale di abilitazione

•  Trasferimento da registro a bus (caricamento da un registro) –  si effettua collegando il

registro al bus di uscita, attraverso un multiplexer o una “porta di trasmissione” (buffer tristate)

A c

R

A c

R

Page 41: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Porte di parola

•  Parola: – Vettore di bit

•  V = {vo, v1, …, vn}

•  Porta di parola: •  αV à αvi •  i=1, …, n

Page 42: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

AND tristate •  Quando l’abilitazione α è alta, l’uscita è collegata all’ingresso. •  Quando α è bassa, l’uscita è in alta impedenza, ovvero non

influenza il valore elettrico del segnale di uscita •  In tal caso, sull’uscita potrà quindi essere collegato qualsiasi altro

circuito senza interferenze elettriche •  È la tecnica più diffusa per realizzare il collegamento di diverse

"sorgenti" (ad es. registri) verso un bus comune

•  Buffer tristate con abilitazione 0-attiva

•  Buffer tristate invertente

α α

Page 43: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Abilitazione di un bus •  Un buffer tristate è anche

rappresentato come una “porta di trasmissione” (vedi figura a destra)

•  Può essere usato per “multiplexare” su un’unica uscita segnali provenienti da diverse sorgenti –  Ad esempio, nella figura a destra il buffer

tristate collegato ad A è attivo, mentre gli altri sono disattivati, ovvero posti in alta impedenza in modo da non interferire elettricamente con la linea comune di uscita

–  NOTA: solo un buffer può essere attivo in un dato istante

X Y

α

Y = aX

A

B

C

1

0

0

A

Page 44: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

OR di bus

•  Connessione delle sorgenti, ciascuna sostenuta da un buffer tristate

•  Realizza il collegamento di più registri in uscita verso un bus

A

B

X

α

β

ξ

Y

Page 45: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Bus bidirezionali

Le due porte non devono mai essere attivate contemporaneamente !!

Page 46: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Trasferimento dati con due bus

•  Consente trasferimenti in parallelo

Page 47: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop a commutazione

• un valore di ingresso provoca la commutazione dello stato piuttosto che indicarne esplicitamente il valore

• due tipi

•  T: ha solo l’ingresso di commutazione

•  JK: analogo all’RS, con ingressi JK=11 corrispondenti all’ingresso di commutazione

Page 48: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop T

• La macchina che implementa questo funzionamento deve essere necessariamente asincrona o sincrona impulsiva

• Equazione di stato: TQTQQ pp +=stati

i

T attivo

Q

q0 q1 0

q1 q0 1

Q

Q T

a)

b)

Page 49: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop T

statii

T attivo

Q

q0 q1 0

q1 q0 1

Q

Q T

a)

b) Flip-flop T come macchina sincrona impulsiva

Flip-flop T come macchina asincrona

0 1 Q q00

q00 q01

0 q01

q11 q01

q11

q11 q10

1 q10

q00 q10

q00: l'uscita è 0 e sarà tale anche dopo la variazione di T; q01: l'uscita è 0 e sarà 1 dopo la variazione di T; q11: l'uscita è 1 e sarà tale anche dopo la variazione di T; q10: l'uscita è 1 e sarà 0 dopo la variazione di T.

Page 50: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop T

Codificando gli stati con due variabili binarie y1 ed y2

0 1

00 00 01

01 11 10

11 11 10

10 00 10

y1y2

T

T y1y2

0 1

00

01 1

11 1 1

10 1

21'1 TyyTy +=

b)

T y1y2

0 1

00 1

01 1 1

11 1

10

21'2 TyyTy +=

c)

Page 51: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop T abilitato

Q

Q c

T

L’impulso sull’abilitazione c fa commutare il flip-flop se T è attivo.

In sostanza, T fa da abilitazione, mentre c diventa l’ingresso di commutazione

Page 52: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop T: realizzazione

a)

b)

con RS fondamentale con RS sincronizzato

Possibili realizzazioni circuitali del flip-flop T come macchina sincrona impulsiva

Page 53: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

•  Rete sequenziale sincrona •  Contatore modulo 2 (utilizzato anche per il

controllo di parità) •  Tabella sincrona fondamentale

–  Commutazione dello stato

Flip-Flop T sincrono con RS latch: tempificazione

S1

S0

uscita

0 1

stati

S1

S0

a)

uscita

0 1 S1

S0

S1

S 0 S1

S0

0 1Tstati

b)

Page 54: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop T sincrono con RS latch: tempificazione

•  Equazioni caratteristiche

•  La corretta tempificazione dipende dalla durata di T

R T FS T F= ⋅

= ⋅

a)

!F

F

Page 55: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop T sincrono con RS latch: tempificazione

•  Siano –  W la durata dell’impulso in ingresso –  R il ritardo delle porte OR –  C il ritardo dell’intera rete combinatoria (AND)

•  Vincoli –  W > 2R affinchè il ff RS (asincrono!) possa effettuare

la transizione di stato –  W < C affinchè il ff T non (sincrono!) non si porti in

uno stato indesiderato

•  Condizione

2R<w<2R+C

Page 56: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Le Alee essenziali •  Un'alea essenziale puo' generarsi ogni volta che nella

tavola di flusso esiste uno stato Si e un ingresso x tali che tre variazioni consecutive di x a partire da Si portino il circuito in uno stato Sk diverso da quello Sj in cui giunge dopo un'unica variazione di x. –  si genera quando la variazione di una variabile

interna,conseguente ad una variazione di un ingresso, si propaga nel circuito piu' rapidamente del cambiamento dell'ingresso che l'ha generata.

•  Si verifica in molti circuiti, come ad esempio in quasi tutti i contatori.

•  Il suo effetto può essere eliminato solamente controllando con estrema cura il ritardo totale di tutti i loop di reazione.

Page 57: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Le alee essenziali: un esempio •  Il flip flop T asincrono (contatore modulo 2) può

presentare il fenomeno delle alee essenziali –  Ingresso di conteggio –  FF edge triggered sul fronte di salita ….per via dell’alea essenziale il contatore conta 3-2-0..2-0...2-0... invece che 3-2-0-1…3-2-0-1

•  l'alea trasforma la transizione 0à1 in quella 0à2, corrispondente alle tre variazioni dell’input 0à1à0à1

stati

S0

S1

S2 S3

T0 1

S0S0

S1

S1

S2

S2

S3 S3

uscita0 1 1 0

Page 58: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

•  Il fenomeno si verifica perchè il ritardo sulle linee di reazione è minore del ritardo della rete combinatoria –  Tutti i ritardi = 5 –  Ritardo di Tn = 20

la transizione dell’ingresso è molto più lenta

Le alee essenziali: un esempio

Page 59: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop JK E’ un flip-flop sincronizzato definito come segue:

•  quando l'ingresso impulsivo di sincronizzazione A è attivo, i due ingressi a livello J, K si comportano rispettivamente come S, R se sono attivi separatamente..

•  mentre producono la commutazione se lo sono simultaneamente.

AQKQQAJkQQjQ ppppp ++=+=

Page 60: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop JK

JK sincrono impulsivo JK asincrono edge-triggered

Page 61: Flip flop: tempificazione latch ed edge-triggereddepietro.g/DePietro/L23_FlipFlop.pdfI flip flop - 1 Generalità • Elementi fondamentali (semplici reti sequenziali) – per la memorizzazione

Flip-Flop JK: realizzazioni

a)

b)

Con RS fondamentale Con RS sincronizzato

Possibili realizzazioni circuitali del flip-flop JK come macchina sincrona impulsiva