• Non ci sono risultati.

I Circuiti Sequenziali ed i Flip/Flop

N/A
N/A
Protected

Academic year: 2021

Condividi "I Circuiti Sequenziali ed i Flip/Flop"

Copied!
26
0
0

Testo completo

(1)

I Circuiti Sequenziali ed i

Flip/Flop

(2)

Circuiti sequenziali

Un circuito combinatorio è

Una rete di porte logiche il cui output è funzione solo dell’input corrente (cioè non dipende dai precedenti input).

In altre parole è un circuito senza memoria

Un circuito sequenziale è

Una rete di porte logiche il cui output dipende non solo

dall’input corrente, ma anche dai precedenti input

(3)

Flip-Flop

Tra i più semplici circuiti sequenziali:

è un circuito bistabile

può assumere uno tra due stati possibili (Stato 0 e Stato 1)

ha due input

Un input Set che forza il F/F allo stato 1

Un input Reset che forza il F/F allo stato 0

ha due output

Un output Q che indica lo stato attuale del F/F

Un output Q negato

(4)

Flip-flop S-R (latch S-R)

Bistabile:

stati 1 e 0 (indicati da Q)

Due input S e R:

S (sta per Set) serve a impostare a 1 lo stato del F/F

R (sta per Reset) serve ad impostare a 0 lo stato del F/F

La retroazione (feedback)

(5)

Tavola caratteristica del flip-flop S-R

S R Stato

attuale

Prossimo stato

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 - -

1 1 - -

Stabilità Stabilità

Reset Reset

Set Set

Input non permessi

Input non permessi

(6)

Stabilità del flip-flop

Si deve provare che

lo stato del flip-flop (indicato dalla linea Q) non cambia se sia i segnali di Set e di Reset sono a zero

Necessario provare che

lo stato Q=0 e lo stato Q=1 sono stabili

(7)

Stabilità dello stato 0

Siano R=S=Q=0

• La porta NOR in basso dà in output 1

• L’output della porta in basso viene portato come input alla porta NOR in alto

• Che quindi, mantiene lo stato Q uguale a 0

00 00

00

00

11 11

(8)

Stabilità dello stato 1

Siano R=S=0 e Q=1

• La porta NOR in basso dà in output 0

• L’output della porta in basso viene portato come input alla porta NOR in alto

• Che quindi, mantiene lo stato Q uguale a 1

11 00

00

11

00 00

(9)

Tavola caratteristica del flip-flop S-R

S R Stato

attuale

Prossimo stato

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 - -

1 1 - -

Reset

Reset

(10)

Comportamento con il Reset (1)

Siano S=Q=0 e R=1

• La porta NOR in basso dà in output 1

• L’output della porta in basso viene portato come input alla porta NOR in alto

• Che quindi, mantiene lo stato

00 11

00

00

11 11

(11)

Comportamento con il Reset (2)

Siano R=Q=1 e S=0

• La porta NOR in basso dà in output 0

11 11

00

11

00 00

• La porta NOR in alto dà in

output 0

(12)

Comportamento con il Reset (2)

• L’output della porta in basso diventa 1 e viene portato

come input alla porta NOR in alto

• La porta NOR in alto dà in output 0

00 11

00

00

1 1 XX 1 1 XX00

00

• La porta NOR in basso dà in output 0

Siano R=Q=1 e S=0

(13)

Tavola caratteristica del flip-flop S-R

S R Stato

attuale

Prossimo stato

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 - -

1 1 - -

Set Set

(14)

Comportamento con il Set (1)

Siano R=Q=0 e S=1

• L’input alla porta NOR in basso dà in output 0

• L’output della porta in basso viene portato come input alla porta NOR in alto

• Che quindi, cambia lo stato Q da 0 a 1

00 00

11

00

00

00 1 X1 X

1 X1 X

(15)

Comportamento con il Set (2)

Siano R=0 e Q=S=1

• L’input alla porta NOR in basso dà in output 0

• L’output della porta in basso viene portato come input alla porta NOR in alto

• Che quindi, mantiene lo stato Q a 1

11 00

11

11

00 00

(16)

Tavola caratteristica del flip-flop S-R

S R Stato

attuale Prossimo stato

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 - -

Stabilità Stabilità

Reset Reset

Set Set

Input non permessi

Input non permessi

(17)

Ritardi

Necessario considerare il ritardo con cui il flip-flop reagisce agli input (raggiungendo uno stato stabile)

Vediamo un esempio in cui applichiamo un Set e poi

un di Reset ad un flip-flop che si trova in stato Q=0

(18)

Applichiamo un Set..

Sia R=Q=0, e quindi

Mettiamo S=1.

00 00

00

00

0 0 XX 0 X0 X 1 1 XX

1 X1 X

1 Q 

11 11

1 1 XX

(19)

Sia S=0, Q=1, e quindi

Mettiamo R=1.

..ed un Reset

Sia S=0, Q=1 e quindi

Mettiamo R=1.

11 00

00

11

1 1 XX 1X1X 0 0 XX

0 0 XX

0 Q 

00 00

1 X1 X

(20)

Flip-flop S-R temporizzato

Dato il ritardo con cui il flip-flop reagisce..

.. è necessario sincronizzare gli eventi

Si usa un impulso di clock

i cambiamenti avvengono solamente quando il clock è a 1

(21)

Flip-flop D

Un problema con il flip-flop S-R

l’input S=R=1 deve essere evitato

Una soluzione: il flip-flop D

un unico input che viene dato al flip-flop

l’output del flip-flop D è l’input precedentemente dato

(22)

Registri paralleli

Circuito usato dalla CPU per memorizzare dati

(23)

Struttura di un registro parallelo

Usa flip-flop S-R

Usa una linea per abilitare l’input

scrittura del registro

..ed una linea per abilitare l’output

lettura del registro

Linea per azzeramento

(24)

Scrittura di un registro parallelo (1)

Vogliamo scrivere 74

10

= 01001010

2

• Per prima cosa azzeriamo il registro

• A questo punto tutti i

flip-flop sono azzerati

(25)

Scrittura di un registro parallelo (3)

Scriviamo 7410

= 01001010

2

• Abilitiamo l’input

• I flip-flop ricevono il segnale di Set adeguato

• I flip-flop che devono memorizzare 1 hanno stato Q=1

11 11

1 1 0

0 00 00 00 00

(26)

Lettura di un registro parallelo

• Abilitiamo l’output

• In output si hanno gli stati dei flip-flop

11 11

11

00 00 00 00 00

Riferimenti

Documenti correlati

nei testi, nelle pubblicazioni ed in ogni altra forma di divulgazione di studi, analisi ed elaborazioni di qualsiasi tipo realizzati dal soggetto richiedente utilizzando in tutto o

whose name is distinct from all other existing files, and opens the file for binary writing and reading (as if the mode string "wb+" were used in an fopen() call). If

Se l’ enable EN è al livello logico 1 le porte pilota si comportano da NOT e quindi gli ingressi S ed R sono effettivamente coincidenti con gli omonimi ingressi

 saves pertinent information including last instruction executed and data values in registers in the PCB (process control block).  branches to

This example assumes that TESTFILE is a file with a few lines of data written to it using the Write # statement; that is, each line contains a string in quotations and a

¨  Se la stringa di formato contiene un white space, la scanf legge zero o più white space, che verranno scartati, fino al primo carattere non white space.

o implementare una funzione virtuale nella classe base implementata nelle classi derivate (con output). o implementare una funzione virtuale nella classe base non implementata

 An efficient means of transferring data directly between I/O and memory for large data transfers since programmed I/O is suitable only for slow devices and individual