1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput...

51
1

Transcript of 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput...

Page 1: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

1

Page 2: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

2

Contatore: esempio di circuito sequenziale

Page 3: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

3

Circuito sequenziali

L’output dipende dall’input corrente e dalla storia passata degli input

Lo “stato” racchiude tutte le informazioni sul passato necessarie per predire l’output corrente basato sull’input corrente

Variabili di stato, uno o più bit di informazione

Esempio di circuito sequenziale: il contatore

Le variabili di stato sono i bit del conteggio il conteggio definisce lo stato

Ad un certo istante lo stato (conteggio) dipende dalla storia passata

Page 4: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

4

Circuito sequenziale con input: contatore con input di enable

Il contatore controlla il valore di ENABLE sui fronti di salita di CLK

Page 5: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

5

Page 6: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

6

ZOOM

Page 7: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

7

Input EN deve essere sincrono: deve cambiare sempre a un istante fissato un pò dopo il fronte di salita del segnale di clock

Tutti i segnali di input di un circuito sequenziale devono essere sincroni col segnale di clock (altrimenti il circuito può funzionale male)

Page 8: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

8

Nei sistemi digitali le transizioni avvengono sui fronti di salita di clk

Potrei pero’ provocare le transizioni invertendo clk

Page 9: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

9

Circuito sequenziale con output: COUT e’ un segnale che ci dice quando il contatore ha raggiunto il conteggio massimo

Page 10: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

10

Tutti i segnali di output prodotti da un circuito sequenziali sono sincroni col segnale di clock

Page 11: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

11

L’input EN potrebbe essere pilotato dall’uscita di un altro circuito sequenziale (qui un altro contatore) che per definizione e’ un segnale sincrono

Page 12: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

12

EN prodotto da un altro circuito sequenziale e’ quindi OK

Page 13: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

13Può essere mandato in input al contatore

Page 14: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

14

Descrizione dei circuiti sequenziali: diagrammi degli stati

Versione grafica della tavola degli stati di un contatore a 2 bit

S0

S1 S2

S3

S4

S5S6S7

Le frecce indicano la transizione da uno stato (conteggio) al successivo

S0

S1

S2S3

contatore a 3 bit

Page 15: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

15

Descrizione dei circuiti sequenziali: tavola delle transizioni degli stati

Per ciascuno stato corrente, specifica gli stati successivi in funzione degli input

Per ciascuno stato corrente, specifica gli output

Esempio: contatore a 3 bit

Q2Q1Q0 Q2*Q1*Q0*

0 0 0 0 0 1 0 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 1 1 01 1 0 1 1 11 1 1 0 0 0

Stato corrente Stato successivo

Notazione: Q* denota i bit dello stato successivo

N.B.: questo circuito sequenziale non ha input (oltre clock e reset)

Page 16: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

16

Page 17: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

17

Page 18: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

18

Page 19: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

19

I Flip-Flop potrebbero essere proprio i dispositivi adatti

Page 20: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

20

Consideriamo 2 Flip-Flop: assumiamo che le uscite Q0 e Q1 siano i 2 bit del conteggio

Page 21: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

21

Aggiungiamo un circuito combinatorio che ha come input Q0 e Q1 (stato corrente) e che produce come output Q0* e Q1*, cioe’ lo stato successivo

Page 22: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

22

Cosa succede se colleghiamo Q0* all’ingresso D0 del FF0 e Q1* all’ingresso del FF1?

Page 23: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

23

Page 24: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

24

Page 25: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

25

Page 26: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

26

Contatore a 2 bit con enable: il conteggio (stato) cambia solo se il segnale di enable è 1

Transizione da uno stato al successivo: adesso dipendono dal valore di ENABLE

Se ENABLE=0 lo stato non cambia: freccia che parte e termina nello stato

Page 27: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

27

Contatore a 2 bit con enable: il conteggio (stato) cambia solo se il segnale di enable è 1

Q1Q0 EN Q1*Q0*

0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

Stato corrente Stato successivo

input

Page 28: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

28

Astrazione: dal contatore alle macchine a stati

Macchine a stati: controllano circuiti caratterizzati da uno stato (definito da un certo numero di Flip-Flop)

La transizione a uno stato successivo dipendono dallo stato corrente e dagli input

In ogni stato possono produrre degli output usati per controllare altri circuiti

Descrivibili da un diagramma a bolle come il contatore

Page 29: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

29

Macchine a stati

Stato successivo determinato da un circuito combinatorio:

FlipFlops

clk

Logica di eccitazione

Ha come input i segnali di input esterni e i segnali di output dei flip flop (stato corrente)

Ha come output i valori degli input D dei flip flop necessari per produrre lo stato successivo

InputsStato corrente

Stato successivo

Page 30: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

30

Page 31: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

31

Page 32: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

32

Page 33: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

33

Page 34: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

34

Page 35: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

35

Page 36: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

36

Page 37: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

37

Page 38: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

38

Page 39: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

39

Page 40: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

40

Page 41: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

41

Page 42: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

42

Page 43: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

43

Page 44: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

44

Page 45: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

45

Page 46: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

46

Page 47: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

47

Page 48: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

48

Page 49: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

49

Page 50: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

50

Page 51: 1. 2 Contatore: esempio di circuito sequenziale 3 Circuito sequenziali Loutput dipende dallinput corrente e dalla storia passata degli input Lo stato.

51