ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso...

55
Logica Sequenziale Lucidi del Corso di Elettronica Digitale Modulo 9 Modulo 9 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Laboratorio di Elettronica (EOLAB)

Transcript of ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso...

Page 1: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Logica Sequenziale

Lucidi del Corso di Elettronica DigitaleModulo 9Modulo 9

Università di CagliariDipartimento di Ingegneria Elettrica ed Elettronica

Laboratorio di Elettronica (EOLAB)Laboratorio di Elettronica (EOLAB)

Page 2: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Logica sequenzialeUn blocco di logica sequenziale è un bloccologico le cui uscite dipendono non solo daglilogico le cui uscite dipendono non solo dagliingressi attuali ma anche da tutta la storiapassata degli ingressi (la sequenza di ingressi)passata degli ingressi (la sequenza di ingressi)L’esempio più importante è l’elemento di

i l i it di d d l lmemoria, la cui uscita dipende dal valoredell’ultimo ingresso memorizzatoGli elementi di memoria (latch, flip-flop, registri)sono blocchi costitutivi fondamentali di ognisistema digitale

03 Dicembre2009 ED - Logica Sequenziale Massimo Barbaro 2

Page 3: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Macchine a statiLo strumento più efficace per descrivere unblocco di logica sequenziale complesso è lablocco di logica sequenziale complesso è lamacchina a statiL hi t ti t t tt l t iLe macchine a stati rappresentano tutta la storiapassata degli ingressi per mezzo di uno statoi t ( t t d N i bili bi iinterno (rappresentato da N variabili binarie, perun totale di 2N stati possibili)Ad ogni istante, l’uscita di una macchina a statiè funzione degli ingressi attuali e dello stato(che riassume la sequenza di ingressiprecedenti)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 3

Page 4: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Macchine a stati e registriLa teoria delle macchine a stati viene trattata nelcorso di Sistemi Digitali e Processoricorso di Sistemi Digitali e ProcessoriLo stato deve essere memorizzato ed

i t d i iaggiornato ad ogni nuovo ingressoNel corso di Elettronica Digitale vedremo glielementi costitutivi fondamentali per lamemorizzazione dello stato: i registriI registri sono utilizzati anche per la temporaneamemorizzazione di dati nel corsodell’elaborazione in un qualsiasi sistema digitale

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 4

Page 5: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch e Flip-flop

Concetti di base

Università di CagliariDipartimento di Ingegneria Elettrica ed Elettronica

Laboratorio di Elettronica (EOLAB)Laboratorio di Elettronica (EOLAB)

Page 6: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Elemento baseL’elemento base per l’implementazione di un elemento di memoria è il bistabileelemento di memoria è il bistabile

Q

Q’

La connessione ad anello di 2 inverter realizza unaretroazione positiva che è la base della memorizzazione.L’uscita del primo inverter è l’ingresso del secondo la cuiuscita è l’ingresso del primo

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 6

uscita è l ingresso del primo.

Page 7: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Bistabilità

Vout1=Vin2I punti di intersezione rappresentano ipossibili valori assunti dall’uscita.Ci sono 3 intersezioni ma solo 2 sono stabili(bistabile)A A e B sono punti stabili (il

guadagno d’anello è molto minoredi 1 e piccoli disturbi non alterano ilvalore memorizzato ma vengono

C

gricondotti al valore iniziale per ilprincipio rigenerativo dell’inverter)

C

B

C è punto instabile (ilguadagno è moltomaggiore di 1 e piccoli

Vin1=Vout2

B gg pdisturbi vengonoamplificati riconducendol’uscita ad A o B)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 7

l uscita ad A o B)

Page 8: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

BistabileIl bistabile è l’elemento base per qualsiasielemento di memoriaelemento di memoriaPer memorizzare un 1 si porta il bistabile nellot t i i V t2 1 V t1 0 tstato in cui Vout2=1 e Vout1=0, mentre per

memorizzare uno 0 si porta il circuito nell’altrot t t bilstato stabile

Essendo in tali stati il guadagno d’anello moltominore di 1 è difficile che il valore memorizzatovenga alterato dal rumoreE’ necessario però trovare un modo per forzareil bistabile in uno dei 2 stati (scrivere il valore)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 8

( )

Page 9: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SRIl latch SR è la più semplice implementazione di unelemento di memoria con segnali di scrittura (S=Set) eg ( )cancellazione (R=Reset)

S Q’S R Q Q’0 0 Q Q’0 1 0 11 0 1 0

R Q 1 1 0 0

Quando S=0, R=0 si riduce ad un bistabile perché unaNOR con un ingresso a 0 equivale ad un inverterd ll’ lt i26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 9

dell’altro ingresso

Page 10: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SRLa combinazione S=1, R=0 memorizza un 1L bi i S 0 R 1 i 0La combinazione S=0, R=1 memorizza uno 0La combinazione S=0, R=0 non altera il valoredel latch che mantiene il dato memorizzatoprecedentementeLa combinazione S=1, R=1 è proibita perchéporta il latch in uno stato instabile (Q=Q’) in cui ilp ( )guadagno d’anello è maggiore di 1. E’impossibile prevedere quale sarà il valorep p qassunto da Q al termine della combinazioneproibita (quando ricompare S=0, R=0)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 10

p (q p )

Page 11: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR L’implementazione con porte NAND è identicama i segnali sono attivi bassi (S=0 R=1 per ilma i segnali sono attivi bassi (S=0, R=1 per ilset e S=1, R=0 per il reset)

S QS R Q Q’0 0 1 10 0 1 10 1 1 01 0 0 1

R Q’1 0 0 11 1 Q Q’

Quando S=1, R=1 si riduce ad un bistabile perché una NAND con un ingresso a 1 equivale ad un inverter d ll’ lt i26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 11

dell’altro ingresso

Page 12: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SRLe due implementazioni viste sono l’estensionedel bistabile elementaredel bistabile elementare.Il termine latch si applica ad una classe dielementi di memoria di questo tipo (sensibili aielementi di memoria di questo tipo (sensibili ailivelli logici degli ingressi)

S Q S Q

R Q’ R Q’

Simbolo grafico del latch SRcon porte NOR

Simbolo grafico del latch SRcon porte NAND

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 12

con porte NOR con porte NAND

Page 13: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR con enableL’implementazione di un latch SR con segnaledi abilitazione (ENABLE) è la seguente Indi abilitazione (ENABLE) è la seguente. Inquesto caso EN viene usato per abilitare il latch.Se EN=0 il latch memorizzaSe EN=0 il latch memorizza

Latch SR

SQ

EN

Q’R

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 13

Page 14: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch DIl latch D è un’evoluzione del latch SR chepermette di memorizzare il valore di un dato inpermette di memorizzare il valore di un dato iningresso D ogni qualvolta il segnale EN (enable)è altoè alto

Latch SR

DQ

EN

Q’

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 14

Page 15: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch DIl latch D è costituito da un latch SR, un invertere due NANDe due NANDSe EN=1 le porte NAND sono inverter, quindifanno passare in uscita con combinazione S=0fanno passare in uscita con combinazione S 0,R=1 (uscita a 1) se D=1 oppure S=1, R=0(uscita a 0) se D=0 quindi con EN=1 il latch( ) qmemorizza il dato D in ingressoSe EN=0 le porte NAND generano lap gcombinazione S=1, R=1 che mantiene inalteratoil valore memorizzato precedentementeLa presenza dell’inverter impedisce il verificarsidella conbinazione proibita S=0, R=0

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 15

Page 16: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch D e SRIl latch D viene utilizzato per memorizzare undato (D è il valore da memorizzare)dato (D è il valore da memorizzare)Il latch SR viene invece pilotato da 2 ingressi edè iù til tt tt d ll flè più utile per settare o resettare delle flagI latch sono sensibili ai livelli. Nel caso del latchD, fino a che il segnale EN è alto il valore Dpassa direttamente in uscita (il latch ètrasparente) e la memorizzazione coincide con ilmomento in cui EN va basso

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 16

Page 17: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Tempi di setup, hold e propagazioneLe caratteristiche dinamiche di un latch D sono3: tempo di Setup di Hold e di Propagazione3: tempo di Setup, di Hold e di PropagazioneIl tempo di Setup è il tempo durante il quale ild t D d t t bil i h il ldato D deve restare stabile prima che il segnaleEN vada a 0 memorizzando il datoIl tempo di Hold è il tempo durante il quale ildato D deve restare stabile dopo che EN èandato bassoIl tempo di Propagazione è il tempop p g pnecessario perché il dato in ingresso si propaghiin uscita fintanto che il latch è trasparente

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 17

p

Page 18: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Setup, Hold, Propagazione

EN tsetup thold

DD

QtP Setup e hold e sono

misurati rispetto almomento un cui ENva basso

Il tempo di propagazioneè misurato rispetto allavariazione di D (quando il

t

va bassovariazione di D (quando illatch è trasparente)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 18

t

Page 19: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

TrasparenzaIl problema principale dei latch è la lorotrasparenza quando l’enable è altotrasparenza quando l enable è altoQuesto comporta una potenziale instabilità deii t i h f di l t hsistemi che fanno uso di latch

Il problema principale si presenta quandol’uscita del latch contribuisce a generare il datoche deve essere memorizzato (Es. se bisognamemorizzare in un registro il valore dato dallasomma del registro stesso con un incremento)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 19

Page 20: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Esempio

Y=Y+C

C[7 0]Y[7:0]+C[7:0] Registro

costituito da 8l h D

ENlatch D conenable

Finché EN=1 il latch è trasparente e la somma e Ycontinua ad essere aggiornato (Y=Y+C+C+C+…). Si creacioè un percorso diretto ad anello fra ingresso ed uscita

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 20

cioè un percorso diretto ad anello fra ingresso ed uscita

Page 21: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

TrasparenzaIl problema della trasparenza pone vincoli moltoforti sul tempo massimo di abilitazione del latchforti sul tempo massimo di abilitazione del latch.Un errore sul tempo di abilitazione può portare a

i l i d id t l i tmemorizzare un valore indesiderato sul registroIl problema è costituito dal percorso chiuso adanello fra ingresso ed uscita. Bisogna potereinterrompere tale anello (all’interno del registro)per essere sicuri che la memorizzazioneavvenga solo sul dato desiderato

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 21

Page 22: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Master-slaveLa soluzione del problema è data dalla struttura master slavemaster-slave

MASTER SLAVE

D Q D QD Q

EN EN

φ

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 22

Page 23: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flop DIl flip-flop D master-slave è ottenuto dal latch Dmettendo due latch in cascata pilotati da segnalimettendo due latch in cascata pilotati da segnalidi enable oppostiQuando il segnale φ (clock) è basso il master èQuando il segnale φ (clock) è basso il master ètrasparente ed il dato arriva in ingresso alloslave. Quando φ va alto il master si disabilita eφl’ingresso dello slave non può più cambiare, loslave contemporaneamente si abilita e fa

i it il d tpassare in uscita il datoLa memorizzazione del dato avviene quindi in

i d d l f t ( iti ) d l lcorrispondenza del fronte (positivo) del segnaledi clock

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 23

Page 24: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flopLa caratteristica fondamentale del flip-flop è cheil percorso diretto ingresso uscita è sempreil percorso diretto ingresso-uscita è sempreinterrotto (a livello di master o a livello di slave)Il d t i i di i t i f ti d lIl dato viene quindi memorizzato sui fronti delclock (in questo caso ascendenti ma si può

difi f il t i i f timodificare facilmente per memorizzare sui frontidiscendenti)Il flip-flop è sensibile ai fronti (mentre il latch ailivelli)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 24

Page 25: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Caratteristiche dinamiche del flip-flopOvviamente perché il dato in ingresso D sipropaghi (tP del master) attraverso il master finopropaghi (tP del master) attraverso il master finoall’ingresso dello slave bisogna che il datostesso sia costante per un certo periodo dip ptempo prima del fronte (tempo di Setup)Dopo il fronte il master non si disabilita subitop(c’è il ritardo dell’inverter) quindi bisogna che ildato D resti stabile per un po’ (tempo di Hold)Infine dopo il fronte deve passare un certotempo prima che lo slave si abiliti (ritardo deid i t ) d il d t i hi tt ldue inverter) ed il dato si propaghi attraverso loslave fino all’uscita (tempo di propagazione)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 25

Page 26: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

FF: Setup, Hold, Propagazione

φ tsetup thold

DD

Variazione ignorata

QtP

Variazione ignorata(il FF è sensibile aifronti del clock) Tempi di setup, hold

e di propagazionesono tutti misurati

t

sono tutti misuratirispetto al fronte delclock.

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 26

t

Page 27: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flopIl simbolo grafico del flip-flop è leggermentediverso da quello del latch per sottilinearne ladiverso da quello del latch per sottilinearne ladipendenza dai fronti

D Q

φ

L’ingresso di clock è rappresentato da un triangolo

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 27

Page 28: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Esempio

C[7 0]Y[7:0]+C[7:0] Registro

costituito da 8 fli fl D

CLKflip-flop D

Adesso sappiamo che il nuovo valore verrà memorizzatosul registro solo in corrispondenza del fronte del clock, aprescindere del periodo in cui CLK resta alto o basso

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 28

prescindere del periodo in cui CLK resta alto o basso

Page 29: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

RegistriUn registro è semplicemente un insieme di N flip-flopciascuno dei quali può memorizzare 1 bitciascuno dei quali può memorizzare 1 bitUn registro a N bit è quindi un contenitore per lamemorizzazione di N bit costituito da N flip-flopp p

D0D1D2D3clk

FFDFFDFFDFFD

Q0Q1Q2Q3

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 29

Q0Q1Q2Q3

Page 30: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Logica sequenziale: implementazione circuitale

Realizzazione circuitale CMOS

Università di CagliariDipartimento di Ingegneria Elettrica ed Elettronica

Laboratorio di Elettronica (EOLAB)Laboratorio di Elettronica (EOLAB)

Page 31: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Circuiti statici e dinamiciEsistono due categorie circuitali per l’implementazionedi latch e flip-flop (come per la logica combinatoria)di latch e flip flop (come per la logica combinatoria)CIRCUITI STATICI: in ogni istante ogni nodo èconnesso attraverso un percorso a bassa impedenza ad

un’alimentazioneCIRCUITI DINAMICI: si basano sulla memorizzazionedel dato su capacità quindi esistono istanti in cui alcunidel dato su capacità, quindi esistono istanti in cui alcuninodi sono flottantiCome per la logica combinatoria i circuiti statici sono piùCome per la logica combinatoria i circuiti statici sono piùfacili da progettare e comprendere ma meno efficienti,mentre i circuiti dinamici sono più veloci e compatti map pdi maggiore complessità realizzativa e progettuale

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 31

Page 32: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch e flip-flop

Implementazione CMOS statica

Università di CagliariDipartimento di Ingegneria Elettrica ed Elettronica

Laboratorio di Elettronica (EOLAB)Laboratorio di Elettronica (EOLAB)

Page 33: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch: Implementazione CMOSL’implementazione più immediata consisterebbenel realizzare in CMOS tutte le porte logiche delnel realizzare in CMOS tutte le porte logiche dellatch (nel caso del SR le due NAND, nel casodel D le 4 NAND e l’inverter)del D le 4 NAND e l inverter).Tale implementazione è la meno efficiente, la

iù l t iù i b tpiù lenta e più ingombranteE’ possibile trovare soluzioni circuitali più direttebasate sulla cella elementare bistabile

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 33

Page 34: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR con enablePrimo inverter Secondo inverter

M4M2

Q’ Q

M4M2

EN ENM6 M8

RSM5

M1 M3

M7M5 M7

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 34

Page 35: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR con enableIl latch è realizzato con un bistabile (due inverterconnessi ad anello: M1 M2 e M3 M4)connessi ad anello: M1-M2 e M3-M4)Per scrivere 1 o 0 sull’elemento di memoria si

d ti di ll d (M5 M6 M7 M8)usano due reti di pull-down (M5-M6 o M7-M8)attive solo quando EN=1Le due reti di pull-down devono esseremutuamente esclusive quindi la configurazioneS=R=1 è proibitaIl dimensionamento dei transistor M5-M8 ècritico per garantire il corretto funzionamento deisegnali S e R

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 35

g

Page 36: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR: FunzionamentoPer scrivere un 1:

EN=1 (abilita entrambi i pull down)EN=1 (abilita entrambi i pull-down)R=0 (disattiva il pull-down M7-M8)S 1 ( tti il ll d M5 M6 h t Q’ 0S=1 (attiva il pull-down M5-M6 che porta Q’ a 0, facendo commutare l’inverter M3-M4 che porta Q a 1)1)

Per scrivere uno 0:EN=1 (abilita entrambi i pull down)EN=1 (abilita entrambi i pull-down)S=0 (disattiva il pull-down M5-M6)R 1 (atti a il p ll do n M7 M8 che porta Q a 0R=1 (attiva il pull-down M7-M8 che porta Q a 0, facendo commutare l’inverter M1-M2 che porta Q’ a 1)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 36

1)

Page 37: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR: dimensionamentoPerché il meccanismo funzioni bisogna che larete di pull-down attiva (M7-M8 o M5-M6) riescarete di pull down attiva (M7 M8 o M5 M6) riescaa fare scendere il segnale (Q o Q’) abbastanzain basso da fare commutare l’inverter associato(M1-M2 o M3-M4) e fare quindi cambiare statoal bistabile.Il dimensionamento delle reti di pull-down èdunque critico per garantire che si riesca a fare

bi t t l bi t bilcambiare stato al bistabileEffettuiamo il dimensionamento nel caso di

itt di 1 I i lt ti l i tscrittura di un 1. I risultati valgono ovviamenteper la scrittura di uno 0

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 37

Page 38: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR: dimensionamento (1)EN=1, S=1, R=0La rete PD M7 M8 è disabilitata e non conta laLa rete PD M7-M8 è disabilitata e non conta, larete M5-M6 è costituita da due nmos in serieentrambi accesi ed è quindi equivalente ad unentrambi accesi ed è quindi equivalente ad ununico nmos con lunghezza doppia chechiameremo M56Se Q=1 (Q’=0) la rete di pull-down non ha nienteda fare perché il bistabile è già nello stato giustop g gquindi non c’è problemaSe Q=0 (Q’=1) il pmos M2 ha in ingresso uno 0( ) p gquindi è completamente acceso e si opponeall’azione della rete M5-M6

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 38

Page 39: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR: dimensionamento (2)EN=S=1R=0

Q’ Q

M4M2

0

R=0Q=0

EN EN

Q’ Q0

M6M1 M3

M8

RSM5 M7

Essendo Q=0, M2-M3-M4 rappresenta un inverter d NMOS (M5 M6 l PDN M2 il di i )

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 39

pseudo-NMOS (M5-M6 la PDN e M2 il pmos di carico)

Page 40: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR: dimensionamento (3)Il transistor equivalente della rete di pull-down(M56) ed il pmos (M2) sono accesi(M56) ed il pmos (M2) sono accesicontemporaneamente. La tensione al nodo Q’(VQ’) dipenderà quindi dai rapporti fra le W/L dei( Q ) p q ppdue mos (si ottiene eguagliando le due correnti)Per fare commutare il bistabile bisogna che VQ’g Qvada abbastanza in basso da fare commutarel’inverter M3-M4, a quel punto Q=1 e il mos M2i i t di t l d iù l’ i d l llsi interdice non ostacolando più l’azione del pull-

downL’ bbi tti è i i d tt V V dL’obbiettivo è riuscire ad ottenere VQ’<VM doveVM è la soglia logica dell’inverter (M1-M2)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 40

Page 41: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR: dimensionamento (4)Se si vuole che VQ’<VDD/2 bisogna trovare ilvalore di V ed imporre che sia minore di Vvalore di VQ’ ed imporre che sia minore di VMPer trovare VQ’ si uguagliano le correnti del

d lpmos e del nmosIM56=IM2

Il pmos e lo nmos sono in regione diSATURAZIONE se VM=VDD/2, infatti:

VDSn = VDD/2 => VDSn>VDSATn

VSDp = VDD/2 => VSDp>|VDSATp|p p p

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 41

Page 42: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch SR: dimensionamento (5)

⎤⎡⎞⎛⎤⎡⎞⎛ VWVWSostituendo le formule per le correnti ed uguagliando:

⎥⎦

⎤⎢⎣

⎡−−

⎠⎞

⎜⎝⎛=⎥⎦

⎤⎢⎣⎡ −−

⎠⎞

⎜⎝⎛

22 256

DSATpTpDDDSATpOXp

DSATnTnDDDSATnOXn

VVVV

LWCVVVV

LWC µµ

Risolvendo per (W/L)56:V

VV DSATp

256

2 ⎟⎠⎞

⎜⎝⎛

−−

−−=⎟

⎠⎞

⎜⎝⎛

LW

VVV

VV

VV

LW

DSATn

DSATpTpDD

DSATnn

DSATpp

µµ

256

2−−VV TnDD

DSATnnµ

La dimensione di ciascuno di M5 e M6 si ricava da (W/L)56:

5665

2 ⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛

LW

LW

LW

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 42

5665 ⎠⎝⎠⎝⎠⎝ LLL

Page 43: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Tempo di propagazioneIl tempo di propagazione è difficile da calcolareper via della retroazione positivaper via della retroazione positivaSemplificando si può considerare il problemadi i i 2 tidiviso in 2 parti:

Il tempo necessario per fare scendere Q al di sottod ll li l i di M1 M2della soglia logica di M1-M2Il tempo di propagazione dell’inverter M1-M2

Il di i d è d d llIl tempo di propagazione dunque è dato dallasomma del tempo di propagazione di M1-M2 ed ll’i t d NMOS tit it d M4dell’inverter pseudo-NMOS costituito da M4 eM78 (M7 in serie con M8)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 43

Page 44: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch DIl latch D è facilmente ottenuto dal latch SR conenable sostituendo l’ingresso S con l’ingresso Denable, sostituendo l ingresso S con l ingresso Ded aggiungendo un inverter pilotato da D chepilota l’ingresso Rpilota l ingresso RIn tutto sono necessari 10 transistor (8 per ill t h SR + 2 l’i t )latch SR + 2 per l’inverter)L’implementazione diretta delle porte logicheavrebbe richiesto 4 porte NAND ed 1 inverterper un totale di 18 transistor

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 44

Page 45: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flop DIl flip-flop D è ottenuto usando due latch D inconfigurazione master slaveconfigurazione master-slavePer l’implementazione di tutto il flip-flop sono

i 22 t i tnecessari 22 transistor:8+2 per il master (8 per il latch e 2 per l’inverter che

R D’)genera R=D’)8 per lo slave4 li i t d l l di l k4 per gli inverter del segnale di clock

Per una implementazione diretta delle porte(sarebbe stati necessari 38 transistor (18 per il

master, 16 per lo slave e 4 per gli inverter)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 45

Page 46: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch e Flip-flop dinamici

Implementazione circuitale dinamica

Università di CagliariDipartimento di Ingegneria Elettrica ed Elettronica

Laboratorio di Elettronica (EOLAB)Laboratorio di Elettronica (EOLAB)

Page 47: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Elementi di memoria dinamiciIl bistabile è l’elemento di memoria più robusto che sipuò immaginare, in presenza di disturbi anche moltopuò immaginare, in presenza di disturbi anche moltograndi mantiene inalterato il valore memorizzato per laproprietà rigenerativa della retroazione positivaE’ però immaginabile un’altra forma, molto compatta, dimemorizzazione dell’informazione: attraverso la caricai i t i itàimmagazzinata in una capacitàCircuiti che fanno uso di capacitori e cariche si diconodinamici perché l’informazione tende a cancellarsi (per ildinamici perché l’informazione tende a cancellarsi (per ilfenomeno del leakage) ed è quindi necessarioripristinarla ad intervalli regolari con fasi di refreshripristinarla ad intervalli regolari con fasi di refresh

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 47

Page 48: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Latch D pseudo-staticoIl latch pseudo-statico è una modifica delbistabile: l’anello di retroazione viene chiusobistabile: l anello di retroazione viene chiusosolo quando è necessario memorizzare,altrimenti viene tenuto aperto per semplificare laaltrimenti viene tenuto aperto per semplificare lascrittura dell’informazione

Finché φ è alto il latch

Q

φQ’

D

φè trasparente e l’anelloaperto. Quando φ vab l’ ll iQD basso l’anello sichiude, D èdisconnesso ed il latch

φ’

disconnesso ed il latchmemorizza (diventa unbistabile)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 48

φ )

Page 49: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flop D pseudo-staticoIl flip-flop si ottiene con la solita struttura master slaveslaveφ φ’

QD

Q

φ’ φφ’ φLe fasi dei due latch sono invertite. Con φ alto il primo ètrasparente ed il secondo memorizza Con φ basso il primotrasparente ed il secondo memorizza. Con φ basso il primomemorizza ed il secondo è trasparente

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 49

Page 50: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flop D pseudo-staticoL’implementazione di tutto il flip-flop richiede 12transistor (16 se si usano transmission gate pertransistor (16 se si usano transmission gate pergli switch)E’ fondamentale che le fasi φ e φ’ non siE fondamentale che le fasi φ e φ non sisovrappongano (non overlapping) altrimenti ilflip-flop potrebbe diventare trasparente dandop p p pluogo a percorsi diretti ingresso-uscitaLa richiesta di non overlap è molto forte perchép pè difficile distribuire su un chip un segnale ed ilsuo negato con grande precisione (problemi dik d l l k i di i i dskew del clock, a percorsi diversi corrispondono

ritardi diversi)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 50

Page 51: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flop dinamico a 2 fasiLa soluzione interamente dinamica riducenotevolmente il numero di transistor eliminandonotevolmente il numero di transistor eliminandol’anello di retroazione

φ1D

φ2Q

I due clock f1 e f2 sono non sovrapposti. Quando sonoentrambi 0 i valori sono memorizzati nelle capacità. Non

i t i di tt f i itesiste mai un percorso diretto fra ingresso e uscita.L’intero flip-flop richiede solo 6 transistor (8 contransmission gate al posto degli switch)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 51

transmission gate al posto degli switch)

Page 52: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flop C2MOSIl flip-flop C2MOS risolve il problema dell’overlapevitando che si possano creare connessionievitando che si possano creare connessionidirette ingresso-uscita anche in presenza disovrapposizione dei due clocksovrapposizione dei due clockE’ costituito da due inverter in cascata modificatii d t l d tti ti di tti ti d 2in modo tale da essere attivati e disattivati da 2segnali di clock in controfase

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 52

Page 53: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flop C2MOS

Sezione φ Sezione φ’

φ’D Q

φ

D Q

φ φ’φ φ

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 53

Page 54: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

Flip-flop C2MOSQuando φ=1 la prima sezione è un inverter, ildato D viene negato e memorizzato nelladato D viene negato e memorizzato nellacapacità parassita di ingresso del secondoinverter che è disabilitatoinverter che è disabilitatoQuando φ=0 la prima sezione si disabilita ed ild t i t ll ità it idato memorizzato nella capacità parassita sipresenta in uscita negato nuovamente (quindi

l l D i i i l )uguale al D iniziale)In presenza di overlap fra i clock il segnale nonsi può propagare in uscita

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 54

Page 55: ED TEO 09 seq cmos.ppt - diee.unica.it · La teoria delle macchine a stati viene trattata nel corso di Sistemi Digitali e Processori ... cancellazione (R=Reset) S Q ...

OverlapNel caso che φ=φ’=1 sono potenzialmente attivesolo le reti di pull down dei due inverter Ma duesolo le reti di pull-down dei due inverter. Ma duereti di pull-down in cascata non possono farepropagare il segnale (se la prima si attiva epropagare il segnale (se la prima si attiva escarica il nodo intermedio, la seconda PDN nonpuò caricare il nodo di uscita)può caricare il nodo di uscita)Nel caso che φ=φ’=0 sono potenzialmente attive

l l ti di ll d i d i t D tisolo le reti di pull-up dei due inverter. Due retiPUN in cascata non possono fare propagare il

l ( l i i il d i t di lsegnale (se la prima carica il nodo intermedio laseconda non può scaricare l’uscita)

26 Novembre 2008 ED - Logica Sequenziale Massimo Barbaro 55