Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme...

31
1 Reti logiche (2) Circuiti sequenziali

Transcript of Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme...

Page 1: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

1

Reti logiche (2)Circuiti sequenziali

Page 2: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

2

Un ripassoAlgebra booleana: operatori, postulati, identità, operatorifunzionalmente completiCircuiti combinatori: tabelle di verità, porte logicheDecodificatoreMultiplexerSomma di prodottiMinimizzazione algebricaSemplificazione algebrica

Page 3: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

3

Organizzazione della lezioneI circuiti sequenzialiTemporizzazione e clockLatch tipo S-R

Il più semplice elemento di memoriaStabilità e comportamento in funzione degli ingressi

Latch tipo D e Flip-flop tipo DElementi temporizzatiComportamento in funzione del clock

Register fileMemoria SRAM

Linea di bitDecodifica a due passi

Patterson e Hennessy App. B.7, B.8, B.9 (solo SRAMs)Tutti gli esempi in Verilog sono esclusi

Page 4: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

4

Circuiti sequenziali

Un circuito combinatorio èUn insieme di porte logiche interconnesseL’ output, in ogni istante, è funzione solo dell’input

Cioè non dipende dai precedenti input (o da uno stato interno del circuito = circuito senza memoria)Un circuito sequenziale è

Un insieme di porte logiche interconnesseL’output dipende non solo dagli input ma anche dallo stato interno (cioè dai precedenti input)Si usa un segnale di Clock per determinare quandoaggiornare lo stato (circuiti sincroni)

Page 5: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

5

Temporizzazione (1)Un segnale di Clock è un segnale che evolve indipendentemente

Con un periodo di clockOvvero con una frequenza di clock (inverso del periodo)Diviso in due parti (segnale “alto” e segnale “basso”)

Temporizzazione sensibile ai frontiLe variazioni avvengono in corrispondenza di un fronteIl fronte attivo può essere quello di salita o di discesa

Page 6: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

6

Temporizzazione (2)Un sistema dotato di Clock è anche detto sistema sincronoI segnali negli elementi di stato di un sistema sincrono devono essere validi all’arrivo del fronte attivo di clock

Ovvero devono essere stabili e fissati fino al prossimo cambiamento in ingresso

Allora il periodo di clock deve essere abbastanza lungo

Page 7: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

7

Latch S-R (1)Il più semplice circuito sequenzialeÈ un dispositivo bistabile

Può essere in uno di due stati possibiliRimane nello stato in cui si trova (stabilità) tranne che per determinati inputUna specie di memoria a 1 bit

Ha due outputuno è il complemento dell’altrodi solito indicati con Q e Q complementato

È un circuito non temporizzatoLo stato è aggiornato dagli ingressi di datoL’aggiornamento non dipende da un ingresso di clock

Page 8: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

8

Latch S-R (2)Due input S e R:

S (sta per Set) serve a impostare a 1 lo stato del latchR (sta per Reset) serve ad impostare a 0 lo stato del latch (azzeramento)

Feedback (retroazione)

Dobbiamo provare stabilità, ovvero che

Lo stato Q=0 è stabileLo stato Q=1 è stabile

Dobbiamo studiare il comportamento con S e R

Page 9: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

9

Stabilità del latch S-R (1)Siano R, S, Q a valore 0L’input alla porta NOR in basso dà in output 1L’output della porta in basso viene portato come input alla porta NOR in altoChe quindi, mantiene lo stato Q uguale a 0Lo stato 0 è stabile con S e R a 0…Ovvero il latch mantiene lo stato Q=0

0

1

0

0

0

1

Page 10: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

10

Stabilità del latch S-R (2)Siano R,S a valore 0 e Q=1L’input alla porta NOR in basso dà in output 0L’output della porta in basso viene portato come input alla porta NOR in altoChe quindi, mantiene lo stato Q uguale a 1Lo stato 1 è stabile con S e R a 0…Ovvero il latch mantiene lo stato 1

0

0

1

0

1

0

Page 11: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

11

Comportamento del latchI segnali di Set (S) e Reset (R) servono a cambiare lo stato del Latch S-RIl segnale di Set (S) affermato

Indipendentemente dal valore di Q (stato corrente)Fa sì che lo stato Q sia portato a 1

Il segnale di Reset (R) affermatoIndipendentemente dal valore di Q (stato corrente)Fa sì che lo stato Q sia portato a 0

Page 12: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

12

Comportamento con il Set (1)Siano R=0, Q=0 e S=0->1L’input alla porta NOR in basso cambia l’output da 1a 0L’output della porta in basso viene portato come input alla porta NOR in altoChe quindi, cambia lo stato Q da 0 a 1Quindi, la porta NOR in basso mantiene lo stato di Q negato a 0Verifica: transizione S=1->0non modifica lo stato

0

1

1

0

0 ->

1->0 ->

Page 13: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

13

Comportamento con il Set (2)Siano R=0, Q=1 e S=0->1L’input alla porta NOR in basso dà in output 0L’output della porta in basso viene portato come input alla porta NOR in altoL’input alla porta NOR in alto dà in output 1Quindi, la porta NOR in alto mantiene lo stato Q a 1Verifica: transizione S=1->0non modifica lo stato

0

1

1

0

1 ->

0->0 ->

Page 14: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

14

Comportamento con il Reset (1)

Siano S=0, Q=0 e R=0->1L’input alla porta NOR in alto dà in output 0L’output della porta in alto viene portato come input alla porta NOR in bassoL’input alla porta NOR in basso dà in output 1Quindi, la porta NOR in basso mantiene lo stato di Qnegato a 1Verifica: transizione R=1->0non modifica lo stato

0 -> 0

1

0 ->

1->0

1

Page 15: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

15

Comportamento con il Reset (2)Siano S=0, Q=1 e R=0->1L’input alla porta NOR in alto cambia l’output da 1 a 0L’output della porta in alto viene portato come input alla porta NOR in bassoChe quindi, cambia lo stato Q negato da 0 a 1Quindi, la porta NOR in alto mantiene lo stato di Q a 1Verifica: transizione R=1->0non modifica lo stato

0 -> 1 0

1

1 ->

0->0

Page 16: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

16

Tavola caratteristica del latch S-R

Stabilità del latch

Comportamento con R

Comportamento con S

Input S e R a 1 non sono permessi! (oscillazioni, metastabilità)

Page 17: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

17

Latch di tipo D (temporizzato)

Dato il ritardo con cui il latch reagisce bisogna sincronizzare gli eventiSi usa un segnale di ingresso (D) da memorizzareSi usa un segnale di clock (C) per indicare quando D va memorizzato

Page 18: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

18

Comportamento di un latch D

Sia D=0 e C=0->1->0S=0R=0->1->0

Sia D=1 e C=0->1->0R=0S=0->1->0

NB: L’ingresso R=1, S=1è sempre evitato

DCS ⋅=

DCR ⋅=

Page 19: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

19

Segnali in un latch DLo stato del latch D può essere cambiato in ogni istante della fase di clock “alto”Non è temporizzazione sensibile ai fronti!

Page 20: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

20

Flip-flop DDue latch di tipo D in configurazione Master-SlaveIl primo (Master) può essere scritto per C=1Il secondo (Slave) può essere scritto per C=0Allora il flip-flop è sensibile al fronte di discesa

Page 21: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

21

Segnali in un flip-flop DL’uscita Q memorizza il valore di D quando il clock passa da affermato a non affermato

L’ingresso deve essere stabile prima del fronte di clock (tempo di set-up) e dopo il fronte di clock (tempo di hold)

Page 22: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

22

Register fileInsieme di registri che possono essere letti/scrittiBasato su matrice di registri costruiti a partire da flip-flop DUn ingresso per lettura

Numero di registroTre ingressi per scrittura

Numero di registroDato da scrivereSegnale di clock

Register file con due porte di lettura e una di scrittura

Page 23: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

23

Register file: lettura

Figura B.8.8

Page 24: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

24

Register file: scrittura

Figura B.8.9

Page 25: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

25

Memorie SRAMSRAM (Static Random Access Memory) per costruire quantità maggiori di memoria sono realizzabili

Matrici di memoriaTipicamente una porta di accesso per lettura e scritturaStesso tempo di accesso per tutti i datiNumero di locazioni indirizzabili: altezzaNumero di bit per ciascuna locazione: ampiezzaAd esempio: SRAM 256K x 1 oppure 32k x 8

Non si può usare la stessa tecnica costruttiva di un register file: decodificatori e multiplexer di dimensioni troppo elevate

In alternativa: DRAM (Dynamic Random Access Memory)Tecnologia più lenta ma più economica

Page 26: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

26

Una SRAM 32k x 8“Chip select” deve essere affermato per lettura/scrittura“Output enable” deve essere affermato per lettura“Write enable” deve essere affermato per scritturaTempo di accesso in lettura: ritardo tra Output Enable affermato e presentazione del dato in uscita (meno di 5 ns)

Figura B.9.1(figura/didascaliaincoerenti su libro)

Page 27: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

27

Linea di bitUsata al posto di un multiplexer gigantescoBuffer a tre stati: un ingresso di dato, uno di abilitazione, una uscitaÈ fondamentale garantire che solo un Select sia abilitato in ogni istanteOut ha lo stesso valore di Inse Select è affermato, altrimenti è in uno stato di alta impedenzaIn questo modo si realizza un multiplexer

Figura B.9.2

Page 28: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

28

Realizzazione di una SRAM 4x2

Figura B.9.3

Page 29: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

29

Decodifica a due passi (1)In una SRAM 32k x 8 ci vorrebbe decodificatore a 15 bit e 32k vieNon è conveniente!La decodifica a due passi ovvia a questo problema

Primo passo: un decodificatore genera un indirizzo per 8 matrici 512x64 bitSecondo passo: un insieme di multiplexer seleziona 1 bit da ciascuna matrice

Page 30: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

30

Decodifica a due passi (2)

Figura B.9.4

Page 31: Reti logiche (2) - home page | DEI · 4 Circuiti sequenziali Un circuito combinatorio è Un insieme di porte logiche interconnesse L’ output, in ogni istante, è funzione solo dell’input

31

Parole chiaveCircuito sequenzialeSegnale di clockCircuito sincronoTemporizzazione sensibile ai frontiLatch tipo S-RLatch tipo D Flip-flop tipo DRegister fileMemorie SRAMLinea di bitDecodifica a due passi