Anda di halaman 1dari 51

RETI LOGICHE T A.A.

2009-10
Introduzione alle reti sequenziali Luca Roffia 17-18/11/2009

Reti combinatorie
Ingresso i1 in Rete combinatoria ideale Ritardi
tu1 tum

Uscita u1 um

tumax = max(tu1,,tum) i1 0 1 in 0 1 u1 0 0 um 1 0

TABELLA DELLA VERITA

Configurazioni di ingresso

U1 = F(i1,,in)

Funzione binaria
2

Tabella della verit


E una descrizione tabellare di una funzione F di n variabili binarie
n+1 colonne

x1 0 0 2n righe 1 1

x2 0 0 1 1

xn 0 1 0 1

F(x1,x2,xn) 0 oppure 1 oppure 0 oppure 1 oppure 0 oppure 1 oppure 0 oppure 1 oppure 0 oppure 1 oppure -

Funzione incompleta: in corrispondenza di una o pi configurazioni dingresso la funzione pu assumere indistintamente valore 0 o 1 (condizione di indifferenza)
3

Modelli per le macchine digitali


Ingressi i(t0)i(tn) MACCHINA DIGITALE Uscite u(t0)u(tn)

TEMPO

In generale luscita di una macchina in un certo istante temporale dipender dalla sequenza degli ingressi che si sono presentati fino a quellistante temporale e dalla condizione iniziale nella quale si trovava la macchina allistante iniziale t0: u(tn) = M(s(t0), i(t0), i(t1), , i(t n-1), i(tn))
4

Lo stato iniziale

STATO PRESENTE: rappresenta la memoria storica del sistema


5

Macchina combinatoria o sequenziale?


Una macchina detta sequenziale se luscita ad un certo istante funzione dellingresso presente a quellistante, degli ingressi arrivati ad istanti precedenti e dello stato iniziale:
u(tn) = M(s(t0), i(t0), i(t1), , i(tn-1), i(tn))

Una macchina detta combinatoria se luscita ad un certo istante funzione unicamente dellingresso presente a quellistante:
u(tn) = M(i(tn))

i(tn)

M
i(tn) i(t0) s(t0) Memoria

u(tn)

Addizione: sequenziale o combinatoria


Macchina sequenziale
Ai Bi
stato presente

Macchina combinatoria
Si S0 CI A0 B0
CI S FA A B CO

A B FA CI

CO

Memoria

stato futuro

CO

S1
CI S FA A B CO

A1 B1

s(t0) = riporto iniziale An-1 Bn-1


CI S FA A B CO

Sn-1 CO

come rappresentiamo questo comportamento?


SET P1 S

RESET P2 R Pulsanti NON premuto Pressione Rilascio Px Px Px

Lampadina

Ipotesi
Se gli ingressi sono entrambi a 0 luscita non deve cambiare valore Se S=1 luscita deve portarsi al valore 1 (SET) Se R=1 luscita deve portarsi al valore 0 (RESET) Gli ingressi S e R non possono essere entrambi a 1 Soluzione: Si potrebbe introdurre una tabella della verit per ogni stato del sistema lampadina accesa/lampadina spenta

Lo stato e le tabelle della verit


S 0 0 1 1 R 0 1 0 1 A U 1 0 1 Stato stabile Cambiamento di stato Ingressi Uscita S 0 0 1 1 R 0 1 0 1 B U 0 0 1 -

Stato

A = lampadina accesa ; B = lampadina spenta

10

Verso la tabella di flusso

Stato presente (q) A A A B B B -

S 0 0 1 1 0 0 1 1

R 0 1 0 1 0 1 0 1

U 1 0 1 0 0 1 -

Stato futuro (Q) A B A B B A -

11

la tabella di flusso
Simboli dingresso (SR) Stato presente (q)
Configurazione dingresso non ammissibile

00 A B A,1 B,0

01 B,0 B,0

10 A,1 A,1

11 -,-,-

Stato futuro (Q), Uscita (U)

12

Il diagramma degli stati


Stato

01,0 00,1 10,1 A 10,1 B 00,0 01,0

(SR,U) Ingressi , Uscita

13

Codifica dello stato internola tabella delle transizioni


A partire dalla tabella di flusso, se codifichiamo lo stato interno otteniamo quella che si chiama tabella delle transizioni
00 A B A,1 B,0 01 B,0 B,0 10 A,1 A,1 11 -,-,-

Nel nostro esempio ci sono solamente 2 possibili codifiche dello stato A=0, B=1 00 0 1 01 10 11 -,-,1 0 00 A=1, B=0 01 10 11 -,-,-

0,1 1,0 0,1 1,0 1,0 0,1

1,1 0,0 1,1 0,0 0,0 1,1

14

Sintesi della rete logica


A=1, B=0 otteniamo nuovamente una tabella della verit S R 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 U 0 0 1 1 0 1 Stato futuro (Q) 0 0 1 1 0 1 Funzione di stato Funzione di uscita
15

Stato presente (q) 0 0 0 0 1 1 1 1

Q = G(q,S,R) U = F(q,S,R)

Sintesi minima: Mappa di Karnaugh


Nellesempio che stiamo considerando si ha che: Q = G(q,S,R) = F(q,S,R) = U

q\ SR 0 1

00 0 1

01 0 0 Q=U

11 -

10 1 1

SP: Q = S + q R S R q Q R S

PS: Q =(q + S) R Q q RETROAZIONE

16

Memorizzazione di un bit
1 0 1

Retroazione 0 1 0

Cosa succede se si aggiunge un NOT sulla retroazione?


17

Memoria binaria: RESET


R t x Ritardo di un gate
t R x Q Q t t

0 t

1 Q t

0 Q

Una volta che Q si portato a 1, anche abbassando il valore di R, Q e Q non cambiano memorizzato
18

Memoria binaria: metastabilit


R t x Ritardo di un gate Cosa succede se R rimane ad 1 per un tempo inferiore a 3t?
t R x SISTEMA INSTABILE Q Q

0 t

1 Q t

0 Q

Bisogna che il segnale R rimanga ad 1 per un tempo sufficiente affinch lo stato si stabilizzi
19

Memoria binaria: SET


R=0 t 1 x t 0 Q S t 0 y t 1 Q

t S

Introducendo questo nuovo gate OR cambia di conseguenza il tempo in cui i segnali S o R devono mantenersi a 1 affinch il sistema raggiunga uno stato stabile

Bisogna che il segnale S rimanga ad 1 per un tempo sufficiente affinch lo stato si stabilizzi
20

Realizzazione a NOR a partire dallespressione minima SP


SP: Q = S + q R S R Q (x) = x

S R

(x+y) = x

(x.y) = (x + y)

21

La tabella di flusso: Mealy e Moore


Stato presente Simboli dingresso (SR) 00 Modello di Mealy A B A,1 B,0 01 B,0 B,0 10 A,1 A,1
Configurazione dingresso non ammissibile

11 -,-,-

Stato futuro, Uscita (Q) Uscita (Q) 00 Modello di Moore A B A B 01 B B 10 A A 11 Q 1 0

Stato futuro
22

Il diagramma degli stati: Mealy e Moore


(SR,Q) 00,1 01,1 10,0 A 01,1 Stato Modello di Mealy B 00,0 10,0

(SR) 00 01

10 A,1 01 Modello di Moore


23

B,0

00 10

Stato, Uscita

Reti asincrone: durata dei segnali dingresso


R t x Ritardo di un gate t Q t Q 0 1 0

t R x Q Q

t R x Q Q

Bisogna che il segnale R rimanga ad 1 per un tempo sufficiente affinch lo stato si stabilizzi
24

Alee: la copertura ridondante


I1 U I0 A

I1 I0 00 01 11 10 0 0 1 1 0 1 0 0 1 1

SP minima: U = AI0 + AI1 SP ridondante: U = AI0 + I1 I0 + AI1

Questa rete priva di alee, a patto che si faccia lipotesi che cambi un solo ingresso alla volta AI1I0 = 011 AI1I0 = 110

I1 I0 00 01 11 10 0 0 1 1 0 1 0 0 1 1
25

(cambia prima I0)

ALEA!
(cambia prima A)

Alee & reti asincrone


R0 R1 M U X A t x t Q t Q

Metastabilit AR1R0 = 110


Requisiti per il corretto funzionamento di una rete asincrona 1. funzionamento in modo fondamentale: lingresso pu essere modificato solo dopo che il circuito ha raggiunto la stabilit 2. adiacenza delle configurazioni dingresso: configurazioni dingresso consecutive devono differire per solo un bit
26

AR1R0 = 011

ALEA!!!

Latch SR: tempo di risposta


Se vengono rispettati i requisiti per il corretto funzionamento del circuito (in questo caso la durata minima del segnale di comando) il circuito commuta luscita in un tempo prefissato (tempo di risposta della rete). Questi valori vengono forniti dai costruttori nei data sheet dei loro componenti.
t S
Durata minima

Q Q

Tempo di risposta massimo

27

Latch SR Requirements and Responses


Requirements

Responses

28

Generalizzazione
Ingressi i(t0)i(tn) MACCHINA DIGITALE Uscite u(t0)u(tn)

TEMPO

In generale luscita di una macchina in un certo istante temporale dipender dalla sequenza degli ingressi che si sono presentati fino a quellistante temporale e dalla condizione iniziale nella quale si trovava la macchina allistante iniziale t0: u(tn) = M(s(t0), i(t0), i(t1), , i(t n-1), i(tn))
29

Un nuovo modello di macchina sequenziale


u(tn) = M(s(t0), i(t0), i(t1), , i(t n-1), i(tn)) s(t1) = G(s(t0),i(t0)) u(tn) = F(s(t1), i(t 1), , i(tn-1), i(tn)) u(tn) = F(s(tn-1), i(tn-1), i(tn)) s(tn-1) S s(t0) S Stato iniziale s(t1) S

s(tn) = G(s(t n-1),i(tn-1)) u(t n) = F(s(tn), i(tn)) u(tn) = F(s(tn), i(tn)) s(tn+1) = G(s(t n), i(tn)) s(tn) S

Stato futuro

s(tn) S s(tn+1) S Stato presente


30

Prodotto cartesiano di due insiemi


Dati due insiemi A e B il prodotto cartesiano dei due insiemi A x B un insieme formato dalle coppie ordinate di elementi (a,b) dove a A e b B: A x B = {(a,b): a A , b B} Esempio: A = {1,2,3} B = {x,y,z} A x B ={(1,x) , (1,y), (1,z), (2,x) , (2,y), (2,z), (3,x) , (3,y), (3,z) } Se linsieme A contiene n elementi e linsieme B contiene m elementi, allora A x B conterr n x m elementi
31

La macchina a stati finiti


Modello matematico costituito da: 3 insiemi, ognuno con un numero finito di elementi: I={i1,i2,,in} alfabeto dingresso U={u1,u2,um} alfabeto duscita S={s1,s2,,sk} insieme degli stati 2 funzioni: F: S x I U, u(tn) = F(s(tn), i(tn)) funzione di uscita G: S x I S, s*(tn) = G(s(tn), i(tn)) funzione di stato
i(tn) La memoria ha il compito di mantenere lo stato presente s fino a quando non necessario sostituirlo con lo stato futuro s*
F (rete combinatoria) G (rete combinatoria) MEMORIA (stato interno)

u(tn)

s(tn)

s*(tn)
32

Automi di Mealy e di Moore


i(tn)
F (rete combinatoria) G (rete combinatoria) MEMORIA (stato interno)

u(tn)

MEALY

s(tn)

s*(tn)

i(tn)

F (rete combinatoria) G (rete combinatoria) MEMORIA (stato interno)

u(tn)

MOORE s*(tn)
33

s(tn)

Descrizione del comportamento di una FSM: la tabella di flusso


Insieme degli stati Simboli dingresso Stato futuro, uscita presente

ingresso presente

i1 s1 s2
stato presente

i2 s2, ug

ik sp, uq

in

sj, ud

sj sm

condizioni di stabilit

stato futuro, uscita presente

Non presente alcuna nozione sul tempo


34

Descrizione del comportamento di una FSM: il diagramma degli stati


simbolo dingresso simbolo duscita i1, ud
condizione di stabilit

ik, uq Sj nodi Sp

i2, ug archi
condizione di stabilit

S2

stato Non presente alcuna nozione sul tempo


35

Macchine asincrone e macchine sincrone


Il processo di elaborazione svolto da una macchina sequenziale determinato da:
La modifica dellingresso Il trascorrere del tempo

Classifichiamo le macchine sequenziali in:


ASINCRONE: ogni simbolo dingresso produce un solo simbolo duscita. La durata di un simbolo duscita legata alla durata di un simbolo dingresso.
i1,u1

i2,u2

i2,u2

SINCRONE: esiste almeno un simbolo dingresso che produce una sequenza di simboli in uscita. Ogni nuovo simbolo della sequenza di uscita viene prodotto sulla base di un evento periodico temporale (clock)
i1,u1

i2,u2

C C

i2,u3

B B

i2,u3

i1,u1

i2,u2

i2,u3 i2,u2

36

Reti asincrone: struttura


Ingresso i1 in Rete combinatoria ideale tumax = max(tu1,,tum) Uscita u1 tu1
tum

um

Stato presente s1 sk

tsmax = max(ts1,,tsk) s*1


ts1

s*k

tsk

Stato futuro

37

Rete asincrona: automi di Mealy e di Moore


i(tn)
F (rete combinatoria) G (rete combinatoria) Ritardo dovuto alla rete G

u(tn)

MEALY

s(tn)

s*(tn)

i(tn)

F (rete combinatoria) G (rete combinatoria) Ritardo dovuto alla rete G

u(tn)

MOORE s*(tn)
38

s(tn)

Reti asincrone: comportamento


Ogni nuovo ingresso determina una condizione di stabilit dello stato interno e non pi di una modifica delluscita
i1,u1

i2,u2

i2,u2

i1

A, u1

i2

B, u2

i2

tumax

Ingresso Stato presente

i1 A u1 A tsmax

i2 B u2 B

Uscita Stato futuro

N.B. Non esiste una relazione tra tsmax e tumax . Pu quindi essere anche tsmax < tumax
39

Le memorie binarie
Latch SR: i comandi di Set e Reset consentono di memorizzare 0 o 1 Latch CD: un comando C specifica quando possibile scrivere (C=1) e quando no (C=0). Il segnale D trasporta il dato da scrivere. Flip-flop D edge triggered: ha sempre 2 ingressi denominati C e D. La scrittura del valore di D avviene nel preciso istante in cui il segnale di comando C passa da 0 a 1.

D F.F. - D C

LATCH SR R Q

LATCH CD C Q

40

Latch CD
Un segnale di comando C specifica quando possibile (C = 1) o meno (C = 0) scrivere il bit presente sul segnale D
C 0 1 1 D 0 1 Q Q 0 1 S 0 0 1 D R 0 1 0 Q Q 0 1

LATCH SR R Q

41

Dal latch SR al latch CD (o D-Latch)


C 0 1 1 D 0 1 S 0 0 1 R 0 1 0 S = CD C R =CD R D S

Equazione caratteristica del latch SR: Q = S + q R Q = CD + q (CD) = CD + qC + qD q\CD 0 1 00 0 1 01 0 1 11 1 1


(equazione caratteristica del D-Latch)

10 0 0 Q

Questa realizzazione del latch CD non presenta il problema dellalea statica


42

D-Latch: tempi di set-up e di hold


Il corretto funzionamento di una rete asincrona garantito solo se: Ogni ingresso viene modificato solamente dopo che il circuito ha raggiunto la stabilit Non cambiano pi ingressi contemporaneamente Per un D-Latch queste condizioni si traducono nei seguenti vincoli (requirements):
Durata minima dellimpulso (tw) Tempo di set-up (tSU) Tempo di hold (tH)

D=0oD=1
Tempo di set-up: lasso di tempo minimo in cui il segnale D deve rimanere stabile prima del fronte di discesa del segnale C Tempo di hold: lasso di tempo minimo in cui il segnale D deve rimanere stabile dopo il fronte di discesa del segnale C
43

D-Latch: tempo di risposta e uscita trasparente


Nel caso in cui siano rispettati i requisiti per il corretto funzionamento di un DLatch, in uscita sar presente il valore di D dopo un certo tempo dal momento in cui si attivato il segnale di comando C (0 1). Se lingresso varia durante il periodo di campionamento (C = 1), queste variazioni si riproporranno anche in uscita (si dice che il latch trasparente).

Tempo di risposta

D Uscita trasparente!! Q = valore stabile = valore indefinito

Tempo di risposta: lasso di tempo massimo dal momento in cui si ha il fronte positivo del segnale C, al momento in cui in uscita viene riportato il valore dellingresso o nel caso in cui C=1 dal momento in cui cambia D al momento in cui il cambiamento viene riportato in uscita
44

Latch CD Requirements and Responses


Requirements

Responses

45

Alcuni esempi di requirements di latch CD


SN74LVTH32373

74ACT16373

SN74HCT573

46

Campionamento: a fronte o a livello?

A LIVELLO

A FRONTE

47

Campionamento sul fronte: il flip-flop D


0-,0 A CD,Q 11,C 1-,1 A: uscita 0; clock 0; ingresso indifferente B: uscita 0; clock 1; ingresso indifferente 10,0 0-,0 0-,1 11,1 C: uscita 1; clock 1; ingresso indifferente D: uscita 1; clock a 0; ingresso indifferente

B 1-,0

10,-

D 0-,1

Campionamento di un 1 Campionamento di uno 0

Linea continua: a fronte del campionamento luscita cambia Linea tratteggiata: a fronte del campionamento luscita non cambia

48

F.F.-D: tempi di set-up, hold e risposta


C
Durata minima dellimpulso (tw)

Tempo di set-up (tSU) Tempo di hold (tH)

D
Tempo di risposta (tR)

Q
Tempo di set-up: lasso di tempo minimo in cui il segnale D deve rimanere stabile prima del fronte di salita del segnale C Tempo di hold: lasso di tempo minimo in cui il segnale D deve rimanere stabile dopo il fronte di salita del segnale C Tempo di risposta: lasso di tempo massimo dal momento in cui si ha il fronte positivo del segnale C, al momento in cui in uscita viene riportato il valore dellingresso
49

Latch & Flip Flop

LATCH

FF-D

Uscita 3-state
50

Buffer 3-state: il comando di Output Enable (OE*)


Si dice che il comando attivo basso cio OE* = 0 interruttore chiuso

I
OE*=0 interruttore chiuso OE*=1 interruttore aperto

O OE*

OE*
OE* 0 0 1 I 0 1 X O 0 1 Z

OE* I
Z tPZH 1 0 tPHL tPLZ
51

Lo stato elettrico del segnale duscita indefinito o flottante (Stato di Alta Impedenza)

Anda mungkin juga menyukai