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

Post on 15-Feb-2019

224 views 2 download

transcript

1

Reti logiche (2)Circuiti sequenziali

2

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

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

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)

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

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

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

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

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

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

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

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 ->

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 ->

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

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

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à)

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

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 ⋅=

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!

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

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)

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

23

Register file: lettura

Figura B.8.8

24

Register file: scrittura

Figura B.8.9

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

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)

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

28

Realizzazione di una SRAM 4x2

Figura B.9.3

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

30

Decodifica a due passi (2)

Figura B.9.4

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