Sei sulla pagina 1di 44

Circuiti logici sequenziali

Lezione 9

Logica sequenziale
Inputs COMBINATIONAL LOGIC Current State Registri Q D Next state Outputs

CLOCK

Macchina a stati finiti

Lezione 9

Caratteristiche temporali dei circuiti sequenziali


Ciascun registro caratterizzato da un tempo di set-up, un tempo di hold, ed un ritardo c q

Hp: registro triggerato sul fronte di salita del clock


Register

Q CLK

T tc q + t p ,logic + t su
Lezione 9

Minimo periodo di clock

tcdregister + tcdlogic thold

tcd =tempo di contaminazione (minimo ritardo)

Classificazione degli elementi di memoria


La memoria pu essere:
Locale (integrata con i blocchi logici) Globale (grossi nuclei di memoria centralizzata)

Inoltre pu essere:
Statica (retroazione positiva) Dinamica (immagazzinamento di carica)

Inoltre le memorie si distinguono in:


Latch Registri
Lezione 9

Definizioni
I latch sono sensibili al livello del clock; I registri sono sensibili alle commutazioni del clock (lingresso campionato in corrispondenza di una commutazione del clock).

Lezione 9

Latch e registri
Latch
D Q Clk Clk D Q
Lezione 9

Registro
D Q Clk

Registro positive edge-triggered

Latch e registri statici: principio di bistabilit

Gli unici punti di lavoro stabili sono A e B


Lezione 9

Metastabililit

Se il guadagno di anello > 1 nella regione di transizione, il punto C un punto operativo metastabile; A e B sono invece punti operativi stabili.
Lezione 9

Circuiti bistabili (flip-flop)


Un circuito bistabile ha dunque due soli stati stabili; In assenza di stimoli, il circuito permane in uno dei due stati, e quindi memorizza un valore; Il flip-flop di qualche utilit se si trova un modo per commutarne lo stato.

Lezione 9

Circuiti bistabili (flip-flop)


Esistono due approcci per commutare un flip-flop:
Interruzione dellanello di retroazione (latch a multiplexer) Contrasto dellanello di retroazione ( necessario un opportuno dimensionamento dei transistor, approccio poco utilizzato).

Lezione 9

Flip-flop SR statici: contrasto dellanello di retroazione


Flip-flop set/reset a porte NOR
S

Tabella caratteristica
S R 0 0 1 1 Q Q 1 0 0 Q Q 0 1 0

Q S R Q Q 0 1 0 1 Forbidden State

Gli ingressi di controllo (SET e RESET) permettono di forzare le uscite Q e ad un certo stato. Quando R = S = 0, le due porte NOR equivalgono a due invertitori.
Lezione 9

Latch SR in logica CMOS a rapporto


Esempio di implementazione di un flip-flop set/reset statico di tipo NOR, con ingresso ausiliario di clock. Attenzione al dimensionamento dei dispositivi: M5, M6 ed M2 formano un invertitore pseudoNMOS; il corrispondente VOL deve essere minore della soglia di commutazione dellinvertitore formato da M3 ed M4.
Q CLK M6 M8 CLK VDD M2 M4 Q

M1

M3

M5

M7

Lezione 9

Dimensionamento della rete di pull-down

Tensione in uscita in funzione della dimensione della rete di PD


Lezione 9

Risposta al transitorio (L=0.25m) in funzione della W di M5 ed M6

Latch statico a multiplexer


Implementazione di un latch positivo realizzato usando gate di trasmissione
CLK

Non ci sono problemi di dimensionamento!


Q CLK

CLK

Lezione 9

Latch statico a multiplexer


CLK D Q CLK CLK
CLK CLK

Clock non sovrapposti


CLK

Implementazione di un latch positivo realizzato usando gate di trasmissione, con soli due inverter.
Attenzione: se i due clock si sovrappongono, vi pu essere retro-accoppiamento da Q verso D Lezione 9

Latch statico a multiplexer con pass-transistor


CLK QM

INV1 D

INV2
QM

CLK

CLK

Clock non sovrapposti


CLK

Latch NMOS
Con pass-transistor NMOS, si riduce il carico del clock a due soli transistor. Svantaggio: degradazione del livello logico alto consumo statico di potenza in INV1 (pull-up non completamente spento).
Lezione 9

Latch statico a bassa tensione di soglia


La riduzione della tensione di alimentazione richiede anche la riduzione della tensione di soglia dei dispositivi aumento esponenziale della corrente di sottosoglia. E possibile utilizzare MOS con soglie diverse (V T bassa

alte prestazioni, V T alta

basso consumo di potenza).

Funzionamento normale : SLEEP basso; Funzionamento idle: SLEEP alto.

Componenti ombreggiati realizzati con MOS a bassa VT

Lezione 9

Registri edge-triggered
Slave Master 0 1 QM D 0 CLK CLK 1 CLK Q D QM Q

Lapproccio pi comune per realizzare un registro edge-triggered consiste nel fare uso della configurazione master-slave; Cascata di un latch negativo (master) con uno positivo (slave), o viceversa.
Lezione 9

Registro Master-Slave positive edge-triggered


I2 T2 I3 QM I1 T1 I4 T3 I5 T4 I6 Q

CLK

Implementazione a gate di trasmissione

Lezione 9

Parametri temporali del registro master-slave


Lingresso D si deve propagare attraverso I1, T1, I3 e I2 prima della commutazione del clock; dunque, tsu=3tpd_inv+Tpd_tx (nel conto incluso anche I2 per garantire che entrambi i nodi di T2 vedano lo stesso potenziale); Tc_q il ritardo attraverso T3 e I6; dunque, tc_q=tpd_tx+tpd_inv; Qualsiasi cambiamento di D dopo la salita del clock non influenza luscita thold=0
Lezione 9

Tempo di set-up

In SPICE, si fa variare lo skew tra D e clk, fino a che il registro fallisce

Lezione 9

Registro Master-Slave
Lo svantaggio del registro a gate di trasmissione lelevato carico capacitivo per il segnale di clock; Ciascun registro introduce un carico di 8 transistor per il clock; Un possibile rimedio consiste nel ricorrere alla logica a rapporto.

Lezione 9

Registro master-slave con carico del clock ridotto (a rapporto)


CLK CLK

T1 CLK

I1 I2

T2 CLK

I3 I4

Il gate di trasmissione (T1) deve vincere linvertitore di retroazione (I2) per commutare lo stato del flip-flop. Lingresso di I1 deve essere portato al di sotto (o al di sopra) della sua soglia logica affinch si verifichi una commutazione; I transistor di I2 devono essere resi deboli, ad esempio aumentando la lunghezza di canale.
Lezione 9

Registro master-slave con carico del clock ridotto

Un altro problema quello della propagazione inversa. Lo stato Q potrebbe retroprogarsi attraverso T2 e I4, alterando lo stato memorizzato nel latch I1I2.

Lezione 9

Latch e registri dinamici


In strutture sempre attive, possibile ridurre la complessit dei latch statici, memorizzando il dato attraverso la carica immagazzinata D in un condensatore; Necessit di refresh; Linvertitore statico serve a leggere il dato immagazzinato in C senza corromperlo.
CLK Q C CLK

Lezione 9

Registri dinamici a gate di trasmissione

Il tempo di set-up semplicemente il ritardo del gate T1; Il tempo di hold circa zero, perch T1 viene spento sul fronte del clock e cambiamenti successivi dellingresso vengono ignorati; Il tempo di propagazione tc q pari al ritardo attraverso I2 e T2.
Lezione 9

Registri dinamici a gate di trasmissione

La sovrapposizione del clock pu rappresentare un grosso problema: in caso di sovrapposizione 0-0, sono accesi i PMOS di T1 e T2; In caso di sovrapposizione 1-1 sono attivi entrambi gli NMOS; In entrambi i casi si ha una corsa critica tra D e Q; Bisogna garantire che:

t00 < tT1 + t I1 + tT2 t11 < tT1 + t I1 + tT2


Lezione 9

Registro

2 C MOS
VDD M2 VDD M6

E un registro dinamico insensibile al problema del clock skew (sovrapposizione dei clock); CLK=0 il primo invertitore acceso, campionando la versione invertita di D sul D nodo interno X; CLK=1 lo stadio master in modalit hold, mentre il secondo stadio in valutazione.

CLK

M4 X CL 1

CLK

M8 Q CL 2

CLK

M3

CLK

M7

M1

M5

Stadio Master

Stadio Slave

Lezione 9

Insensibilit alla sovrapposizione dei clock


VDD M2 0 D M4 X 0 VDD M6 M8 Q D 1 M1 M5 M3 M1 X 1 M7 M5 Q VDD M2 VDD M6

(a) Sovrapposizione (0-0)


Lezione 9

(b) Sovrapposizione (1-1)

Registri a singola fase di clock (TSPC register)


VDD VDD VDD VDD

Out In CLK CLK In CLK CLK Out

Latch positivo (trasparente quando CLK= 1)

Latch negativo (trasparente qunado CLK= 0)

Un registro si pu ottenere mettendo in cascata un latch positivo con uno negativo


Lezione 9

Stili alternativi per i registri


Piuttosto che realizzare una configurazione master-slave, si pu utilizzare un latch, pilotato da un breve impulso intorno al fronte di salita (o discesa) del clock.

CLK=0 X=VDD CLK=>1 per un breve intervallo di tempo entrambi gli ingressi della AND sono alti CLKG=1.

Lezione 9

Integrazione tra logica e registri: approccio pipeline


REG
a
a

REG

REG

REG

REG

REG
CLK

CLK

log

Out
b

CLK

log

Out

REG

REG

CLK

CLK

CLK

CLK

Circuito di riferimento

CLK

Versione pipeline

Si vuole calcolare log(|a+b|)

Tmin = t cq + t pd,logica + t su

Tmin,pipe = tcq + max t pd,add + t pd,abs + t pd,log + tsu


Lezione 9

Pipeline con latch dinamici

Il funzionamento garantito, purch i due clock sono non sovrapposti; Altrimenti, si pu verificare unalea tra lingresso precedente e quello attuale.
Lezione 9 Contemporaneamente F calcola luscita relativa ad un nuovo ingresso

NORA-CMOS: un esempio di architettura pipeline NORAce

Percorso di segnale pipeline, utilizzando latch C2MOS In un circuito pipeline con latch C2MOS non si verificano corse critiche se le funzioni logiche Ftra due latch consecutivi sono non invertenti.

Lezione 9

NORA-CMOS

Potenziale condizione di corsa critica durante la sovrapposizione (0-0) in un sistema C2MOS

I blocchi logici devono essere non invertenti!

Lezione 9

NORA-CMOS: un esempio di architettura pipeline

Logica combinatoria Modulo CLK

Latch

Le strutture NORA-CMOS combinano registri C2MOS e funzioni logiche dinamiche np-CMOS in pipeline.
Lezione 9

NORA-CMOS: un esempio di architettura pipeline

Logica combinatoria Latch Modulo CLK Qunado CLK=0, il blocco logico in fase di precarica (o prescarica), mentre il latch in modalit hold (preserva luscita). Quando CLK=1, il blocco logico e il latch vanno entrambi in valutazione.
Lezione 9

Trigger di Schmitt
Tra i sistemi digitali bistabili, oltre al flip-flop c il trigger di Shmitt

Vou t
In Out

V OH

Ripristina la pendenza dei segnali, grazie ad una stretta regione di transizione; VTC con isteresi
Lezione 9

V OL

VM

VM+

Vi n

Trigger di Schmitt non invertente

Soppressione del rumore mediante trigger di Schmitt


Applicazione tipica: debouncing di interruttori ON/OFF meccanici in ingresso a sistemi digitali
Vin VM+ Vout

VM

t0

t0 + tp

Uno degli usi principali del trigger di Schmitt quello di trasformare un segnale rumoroso o lentamente variabile in un segnale digitale puro. Dopo la transizione basso-alto delluscita, la soglia si sposta da VM+ a VM-.
Lezione 9

Un trigger di Schmitt CMOS


VDD M2 Vin X M4 Vout

M1

M3

La soglia logica di un invertitore CMOS dipende dal rapporto tra i transistor PMOS e NMOS (kn/kp); Supponiamo che Vin=0 Vout=0 M4 acceso e M3 spento; Il primo invertitore ha un rapporto np effettivo pari a kM1/(kM2+kM4) soglia pi alta

Il trucco sta nella retroazione positiva


Lezione 9

Circuiti multivibratori
R S Multivibratore bistabile flip-flop, Trigger di Schmitt

T Multivibratore monostabile Circuiti a colpo unico (one-shot)

Multivibratore astabile oscillatori


Lezione 9

I circuiti monostabili
Generano un glitch in uscita quando lingresso commuta XOR

In DELAY Out td td

Circuito a colpo singolo innescato da transizione Lelemento di ritardo pu essere realizzato utilizzando una rete RC oppure una serie di porte logiche elementari

Lezione 9

Circuiti astabili
Generano un segnale periodico (es. clock)
0 1 2 N-1

3.0 2.5 2.0

Oscillatore ad anello
V1 V3 V5

Volts

1.5 1.0 0.5 0.0 20.5 0.0 0.5 time (ns) 1.0 1.5

T=2 * tp * N N dispari

Risposta simulata di un oscillatore ad anello a cinque stadi


Lezione 9

Oscillatore controllato in tensione (VCO)


Loscillatore ad anello pu essere trasformato in un VCO, utilizzando invertitori controllati in corrente (current-starved); LNMOS M3 limita la corrente di scarica, in funzione di Vcntl, cos da far variare il tpHL.

Lezione 9