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

Post on 02-May-2015

216 views 0 download

transcript

1

2

Contatore: esempio di circuito sequenziale

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

4

Circuito sequenziale con input: contatore con input di enable

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

5

6

ZOOM

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)

8

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

Potrei pero’ provocare le transizioni invertendo clk

9

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

10

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

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

12

EN prodotto da un altro circuito sequenziale e’ quindi OK

13Può essere mandato in input al contatore

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

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)

16

17

18

19

I Flip-Flop potrebbero essere proprio i dispositivi adatti

20

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

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

22

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

23

24

25

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

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

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

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

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51