6 Flip Flop-Registri-Contatori · FF-JK con Preset e Clear asincroni Nel funzionamento normale...

48
Sequential Circuits ESD-TLC 05/06 - F. Della Corte Sequential Logic Sequential Logic 2 storage mechanisms • positive feedback • charge-based COMBINATIONAL LOGIC Registers Outputs Next state CLK Q D Current State Inputs

Transcript of 6 Flip Flop-Registri-Contatori · FF-JK con Preset e Clear asincroni Nel funzionamento normale...

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Sequential LogicSequential Logic

2 storage mechanisms

• positive feedback

• charge-based

COMBINATIONALLOGIC

Registers

Outputs

Next state

CLK

Q D

Current State

Inputs

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Positive Feedback: BiPositive Feedback: Bi--StabilityStability

V i1 Vo2

Vo2 = V i 1

Vo1 = V i 2

V

o

1

V

i

2

5

V

o

1

V

i 2

5 V

o 1

i

2

5

V

o 1

Q

+VDD

Q

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CrossCross--Coupled PairsCoupled Pairs

NOR-based set-reset

Forbidden State

S

S

R

QQ

Q

QRS Q

Q00 Q

101 0

010 1011 0R

Q

0A

A ≡

i 2

5 V

o 1

A A

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CrossCross--Coupled NANDCoupled NAND

Cross-coupled NANDs

Forbidden State

QRS Q

100

Q

101 0

010 1Q11

1

S

QR

Q

1A

A ≡

i 2

5 V

o 1

A A

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

S

R

Q

Q

J

K

Flip-Flop J-K

Qn11

101

010

Qn00

Qn+1KnJn

φφφφ

- elimina l’ambiguità per S=R=1

- eventuale presenza di un segnale di clock

Qn+1

Qn+1

J

K

Q

Q

φφφφ

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

S

R

Q

Q

J

Kφφφφ

Qn+1

Qn+1

Qn

Qn

0100111

1011011

0100110

Qn001010

Qn000101

1011001

Qn000100

Qn001000

Qn+1RSQnQnKnJn

Qn

1

0

Qn

come si ricava la tabella di verità del FF-JK

se φ = 0, il FF è bloccato

(Qn+1=Qn)

se φ = 1, allora:

S = J ּ Qn e R = Kּ Qn

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

S

R

Q

Q

J

Kφφφφ

Qn+1

Qn+1

Preset

Clear

FF-JK con Preset e Clear asincroni

Nel funzionamento normale Preset = Clear = 0

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

J

K

Q

Q

φφφφT

φφφφQ

Q

Flip Flop TOGGLE

J

K

Q

Q

φφφφD

φφφφQ

Q

Flip Flop DELAY

T Q

Q

φφφφ

D Q

Q

φφφφ

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

D Q

Q

φφφφ

i2

5V

o1Se il circuito è tale che il segnale in uscita rientra in ingresso, il FF può oscillare durante la fase in cui il clock è alto

(race problem )

t

φφφφ

t

Q

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Flip Flop Master-Slave

D

Clk

Q D

Clk

Q

Clk

DataFF1 FF2

non consente all’uscita di rientrare in ingresso durante la stesso periodo di clock

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Timing DefinitionsTiming Definitions

t

CLK

t

D

tp

tholdtsetup

t

Q DATASTABLE

DATASTABLE

Register

CLK

D Q

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Maximum Clock FrequencyMaximum Clock Frequency

FF

’sLOGIC

tp,comb

φ

tp,FF + tp,comb+ tsetup = T

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

MUXMUX--Based LatchesBased Latches

Negative latch(transparent when CLK= 0)

Positive latch(transparent when CLK= 1)

CLK

1

0D

Q 0

CLK

1D

Q

InClkQClkQ ⋅+⋅=InClkQClkQ ⋅+⋅=

In In

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

MUXMUX--Based LatchBased Latch

CLK

CLK

CLK

CLK

QM

QM

NMOS only Non-overlapping clocks

- quando il clock è basso, il circuito è un latch

- quando il clock è alto, l’anello è aperto

D

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

NonNon--BistableBistable Sequential CircuitsSequential Circuits

Schmitt TriggerSchmitt Trigger

In Out

Vin

Vout VOH

VOL

VM– VM+transcaratteristica con isteresi

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Noise Suppression using Schmitt TriggerNoise Suppression using Schmitt Trigger

Vin

t0

VM−

VM+

t

Vout

t0 + tp t

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

MultivibratorMultivibrator CircuitsCircuits

Bistable Multivibrator

Monostable Multivibrator

Astable Multivibrator

flip-flop, Schmitt Trigger

one-shot

oscillator

S

R

T

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

TransitionTransition--Triggered Triggered MonostableMonostable

DELAY

td

In

Outtd

- genera un impulso sul fronte di salita del segnale In

- può essere utilizzato per realizzare FF attivi solo sul fronte del clock

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

DELAY

td

In

Outtd

In

tX

t

X

td

Out = In + X

t

si è assunto che anche la XOR introduca un ritardo td

td

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

MultivibratoreMultivibratore AstabileAstabile (NE555)(NE555)

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

DIAGRAMMA INTERNO DEL CIRCUITO INTEGRATO

NE555 (timer)

FF-SR

Qscarica

Qout

reset

RS

FM

gnd

soglia

trigger

R

R

R

5

8

6

2

1

3

4

7

-

-+

+

-

+

comparatore

comparatore

buffer

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

MULTIVIBRATORE ASTABILE CON NE555

FF-SR

QQout

reset

RS

FM

gnd

R

R

R

5

8

1

3

4

-

-+

+

-

+

comparatore

comparatore

buffer

soglia

trigger

6

2

7

C

R2

R1

+Vcc

+Vcc+Vcc

scarica

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

MultivibratoreMultivibratore AstabileAstabile (NE555)(NE555)

Vout

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

MultivibratoreMultivibratore AstabileAstabile (NE555)(NE555)

Per ottenere un duty-cycle prossimo al 50% occorre che R1<<R2

Funziona fino a qualche centinaio di kHz

Se la tensione di alimentazione non è stabilizzata si hanno fenomeni di jitter

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

RegistriRegistri

D Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφ

D1 D2 D3 D4

φ

Q1 Q2 Q3 Q4

registro a 4 bit

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

RegistriRegistri

D Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφ

D1 D2 D3 D4

φ

Q1 Q2 Q3 Q4

registro a 4 bit con Preset e Clear

Preset

Clr

PrPrPrPr

Clear

ClrClrClr

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Registri a scorrimentoRegistri a scorrimento

D Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφ

D

φ

registro serial in – serial out

Q

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Registri a scorrimentoRegistri a scorrimento

D Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφ

D

φ

registro serial in – parallel out

Q1 Q2 Q3 Q4

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Registri a scorrimentoRegistri a scorrimento

registro parallel in – serial out

D Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφ

D1 D2 D3 D4

φ

Q

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

RegistriRegistri

D Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφD Q

Q

φφφφ

D1 D2 D3 D4

φ

Q1 Q2 Q3 Q4

registro parellel in – parallel out

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

PipeliningPipelining

RE

GR

EG

RE

G

log

a

CLK

CLK

CLK

Out

b

ba +log

Il minimo intervallo di tempo che deve trascorrere fra le immissioni di due coppie di dati è:

tclock ≥ tp,Σ + tp,m + tp,log + 2 tsetup

tp,Σ tp,m tp,log

trascurabile

ΣΣΣΣ

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

PipeliningPipelining

RE

GR

EG

RE

G

log

a

CLK

CLK

CLK

RE

G

CLK

RE

G

CLK

Out

b

Pipelined

tclock ≥

max (tp,Σ , tp,m , tp,log) + 2 tsetup

ΣΣΣΣ

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORIUn contatore ha la funzione di segnalare che si è veri ficato un determinato numero di eventi. Il modulo di un contatore è il numero massimo di eventi che esso è in grado di contare .

Un contatore modulo N è un circuito sequenziale che deve possedere almeno N stati.

L’elemento fondamentale dei contatori è il Flip-Flop.

Esistono contatori sincroni e contatori asincroni, classificati a seconda del fatto se tutti i FF ricevono lo stesso s egnale di clock o meno.

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORE JOHNSONUtilizza uno shift register ad N bit per contare fino a 2N

D

Q

φφφφD Q

φφφφD Q

φφφφQ

Pr Pr Pr

Pr

φφφφ

Q2Q1 Q3

Y

11111

00116

00015

00004

01003

01102

11111

YQ3Q2Q1stato

Il contatore viene inizialmente precaricato su 111

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORE SINCRONOUtilizza N FF-T (a commutazione sul fronte di disces a del clock φφφφ↓) per contare fino a 2 N. Tutti i FF ricevono lo stesso clock.

T

φφφφT Q

φφφφT Q

φφφφQ

φφφφ

Q2Q1 Q3

1

T

φφφφQ

Q4

φQ1Q2

Q3

A B

φφφφφ ּQ1

φφφφ ּQ1 ּQ2

le transizioni avvengono sul fronte di discesa del clock se sono vere queste espressioni

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORE ASINCRONO (ripple counter )Utilizza N FF-T (a commutazione sul fronte di disces a del clock φφφφ↓) per contare fino a 2 N. I FF non ricevono lo stesso clock.

T

φφφφT Q

φφφφT Q

φφφφQ

φφφφ Q2Q1 Q3

1

φQ1Q2

Q3

Ogni FF divide per 2 la frequenza del segnale applicato al proprio ingresso di clock.

BY

0

0

0

0

01

0

0

1

0

0

00

1

1

1

1

1

1

1

1

1

1

11

0

0

0

0

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORE ASINCRONO: problemiIl ritardo introdotto da ogni FF porta il circuito a pa ssare attraverso stati non desiderati. Il ritardo si propaga e si somma.

T

φφφφT Q

φφφφT Q

φφφφQ

φφφφ Q2Q1 Q3

1

Ad esempio, sul fronte di discesa del 4°impulso di clock, il circuito dovrebbe passare dallo stato Q 3Q2Q1= 011 allo stato 100. Invece passa attraverso 010, 000 ed infine 100.

Y

0

φQ1Q2

Q30

0

0

0

01

0

0

1

0

0

00

1

1

1

1

1

1

1

1

1

1

0

0

0

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORI ASINCRONI A MODULO MODIFICATO

Sfruttando gli ingressi di Clear Asincrono dei FF si possono realizzare contatori con modulo diverso da potenze di 2. Se il contatore deve avere modulo N, occorre individuare lo s tato N+1 e resettare tutti i FF su quell’evento.

1118

0117

1016

0015

1104

0103

1002

0001

Q1Q2Q3stato

Per fare un contatore Mod. 6, si resettano i FF sul 7°stato. Il reset (o Clear) è asincrono, e quindi il 7°stato dura quanto un ritardo di propagazione.

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORI ASINCRONI A MODULO MODIFICATO

T

φφφφT Q

φφφφT Q

φφφφQ

φφφφ Q2Q1 Q3

1

Y

i 2

5 V

o 1

Clear Clear Clear

Mod. 6

φQ1

Q2

Q30

0

0

0

0

1

0

0

1

0

0

00

1

1

1

1

1

1

1

1

1

1 0

0

0

0

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORI ASINCRONI A MODULO MODIFICATO

Mod. 12

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORE ASINCRONO A ROVESCIOSe ogni FF riceve il Q del FF precedente allora il cont atore è a rovescio.

T

φφφφT Q

φφφφT Q

φφφφQ

φφφφ

Q2Q1 Q3

1

QQQ

φQ1

Q2

Q3

0

1

0 1

0

0

00

1

1

1

1

1

1

1

1

1

1

0

0

0

Q1

0 0

1

00

1

100

Q2

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

CONTATORE ASINCRONO UP-DOWN

T Q

φφφφT Q

φφφφ

φφφφ

1

QQ

T Q

φφφφQ

up

down

Le uscite da considerare sono sempre le Q

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

mod. 50 mod. 60 mod. 60 mod. 2450 Hz

1 Hz 1/60 Hz 1/3600 Hz

secondi minuti ore

decoder

BIN-7 segmenti

decoder

BIN-7 segmenti

decoder

BIN-7 segmenti

OROLOGIO DIGITALE

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Assumendo che la pila di un orologio (1.5 V) conten ga una carica pari a 150 mAh, e che essa sia in grado di alimentare l’orologio per due anni, calcolare quanta potenza dissipa l’orologio.

Assumendo che il clock sia fornito da un quarzo a 1 MHz, quanta energia viene dissipata ad ogni impulso di clock?

L’energia contenuta nella pila è data da:

][225.0][150.05.1 WhAhVE =××=ovvero

[ ] [ ]JJhs

JWhE 8103600225.0225.0][225.0 =×=

==

Poiché per ipotesi tutta l’energia viene dissipata i n 2 anni, ovvero in 6.3072 ××××107 s, allora:

[ ][ ] [ ] [ ]WWst

JEP µ8.12

103072.6

8107

≈×

==

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

mod. 10 61 MHz 1 Hz

segnale di frequenza incognita

comparatore

MISURA DI FREQUENZA

(quarzo)

QT

FF-JK

φφφφ

1

+

-

contatore

decoder

BIN-7 segmenti

Il modulo del contatore B deve essere proporzionato alla frequenza incognita. Se si riduce il modulo del contatore A (p.es. mod 103), la lettura durerà un tempo più breve (p.es. 1 ms). Questo consente di utilizzare un contatore B con modulo ridotto proporzionalmente (p.es. 1/1000 del precedente).

AB

Sequential CircuitsESD-TLC 05/06 - F. Della Corte

Esempio: il segnale incognito ha una frequenza compresa fra 9 e 10 MHz.

Se il conteggio viene abilitato per 10-3 s, il contatore B dovrà poter contare fino a:

437 101010mod =×= −B

A fine conteggio, il contenuto del contatore B dovrà essere moltiplicato per 103.

Per esempio, se il contatore B indica 9453, la frequenza reale sarà 9,453 MHz.

Ovviamente la risoluzione del frequenzimetro risulta penalizzata, perché ora sarà1kHz. Infatti il contatore B potrà indicare, ad esempio, 9453 o 9454, ovvero la frequenza letta sarà 9.453.000 Hz oppure 9.454.000 Hz (∆f=1kHz).