Fenomeni transitori: alee Stima della durata del transitorio (metodo del caso peggiore) I1I0AI1I0A U...

Post on 01-May-2015

217 views 1 download

Transcript of Fenomeni transitori: alee Stima della durata del transitorio (metodo del caso peggiore) I1I0AI1I0A U...

Fenomeni transitori: alee

Stima della durata del transitorio (metodo del caso peggiore)

I1

I0

A

U

I1

I0

A

U

I1

I0

A

U

U ?

Tipi di transitorio: il ritardo

I1

c

U

2

Tipo “ritardo” - L’uscita mantiene il vecchio valore per tutto il transitorio

0

1

cI1

00

Tipi di transitorio: l’alea statica

A

a

c

b

U

1 c

1 b

a

A

U?

Tipo “alea statica” - L’uscita, che dovrebberimanere costante, assumetemporaneamente l’altrovalore.

3

1

1

Tipi di transitorio: l’alea dinamica

A,B 10 01Tipo “alea dinamica” - L’uscita varia più volteprima di assestarsi sulnuovo valore.

1 c

R1 b

A B

R

1

Conseguenze del ritardo nelle reti logiche: le alee

Un’Alea statica è la variazione temporanea e indesiderata, causata dai ritardi, dell’uscita di una rete logica.

x = 1

y

z = 1c

ba

U

x y z U1 0 1 11 1 1 1

3

y

a

z

2

b

c

L’ingresso si sposta tra due configurazioni che danno a regime uscita 1, ma i differenti ritardi con cui si presentano i segnali agli ingressi dell’OR causano un’alea di 1.

Le reti in cui gli ingressi di un OR possono variare in modo non sincronizzato presentano strutturalmente un’alea di 1, mentre le reti in cui gli inrgessi di un AND possono variare in modo non sincronizzato presentano un’alea di 0.

Se i due ingressi sono indipendenti l’unico modo di evitare l’alea è specificare che gli ingressi possano variare uno solo alla volta. Se i due ingressi sono ottenuti da un unico segnale internamente alla rete, ad esempio con un NOT, si può progettare una rete ridondante per eliminare l’alea: bisogna che ogni possibile transizione da una configurazione di ingresso ad un’altra adiacente sia coperta da un’unico RR.

0 0 0 10 1 1 1

xyz 00 01 11 10

1

0 0 0 0 10 1 1 1

xyz 00 01 11 10

1

0

Il raggruppamento introdotto corrisponde ad un AND che rimane stabilmente ad 1 durante la transizione indicata, in modo che l’OR d’uscita non possa trovarsi temporaneamente con tutti gli ingressi nulli.

x

y

z

U

x = 1

y

z = 1c

ba

U

Se si esegue la sintesi SP di una funzione, il criterio da adottare è dunque che uni adiacenti devono cadere sotto un unico raggruppamento rettangolare per evitare alee di 1.

Mentre se si esegue la sintesi PS di una funzione zeri adiacenti devono cadere sotto un unico raggruppamento rettangolare per evitare alee di 0.

Dall’esempio precedente:

0 0 0 10 1 1 1

xyz 00 01 11 10

1

0 0 0 0 10 1 1 1

xyz 00 01 11 10

1

0

Il raggruppamento introdotto corrisponde ad un OR che rimane stabilmente a 0 durante la transizione indicata, in modo che l’ AND d’uscita non possa trovarsi temporaneamente con tutti gli ingressi ad 1.

U=(x+y)•(z+y’) U=(x+y)•(z+y’)•(z+x)

1 - Flip Flop Set Reset2 - Reti asincrone3 - Latch CD4 - Flip-flop D e JK

flip-flop e reti asincrone

La memorizzazione di un bit

due comandi ..

Metti in memoria 1 !

Automa

con due

stati

1

0

Metti in memoria 0 !

richiede due stati interni,

… e un po’ di fatica !

1Flip Flop SR

RY = S + y . R’

S

ty(t +t) = Y(t)

y

Flip Flop SR

Il FF SR è una RSA con una variabile di stato e due ingressi S e RSe ci si assicura che SR=0, allora:•se S = R = 0 allora Y=y (lo stato interno non cambia)•se S = 1 allora Y=1 (memorizzo il valore 1 in y)•se R = 1 allora Y=0 (memorizzo il valore 0 in y)Dunque il FFSR è un bit di memoria che può essere posto a zero con R epuò essere posto a 1 con SL’uscita Q riflette il valore del bit memorizzato

Q

s*

F

G

i u

s

memoriat

Valutazione della espressionedel segnale in retroazione

0 0 1 1

1 0 1 1

N.B. - Le mappe sono anche un utile strumento di analisi !

Y = S + y . R’

0

1

00 01 11 10yS R

N.B. - Se imponiamo che S e R nonsiano mai contemporaneamente attivi, allora la funzione Yè incompleta.

Y = f (S,R, y)

0

1

00 01 11 10yS R

0 0 - 1

1 0 - 1

Descrizione con tabella di flusso

S,Ry 00 01 11 10

0 0 0 - 1

1 1 0 - 1

Y

Il comportamento è di tipo 1: l’uscita cambia solo se cambiano gli ingressi e per ogni nuovo ingresso si ha al più una variazione d’uscita.

S,Ry 00 01 11 10

0 0 0 - 1

1 1 0 - 1

Y

La macchina è asincrona: lo stato si aggiorna all’arrivo di un nuovo ingresso (quando è necessario) e poi si “stabilizza”.

Descrizione del FF SR con grafo degli stati

comandodi set

comandodi reset

S Q R

bit inmemoria

S R Q0 0 Q1 0 10 1 0

set = 1, reset = 0

Il comando di set serve per memorizzare 1, il comando di reset serve per memorizzare il valore 0Lo stato ricorda quale è stato l’ultimo comando ricevuto (1: set, 0:reset)

set = 0, reset = 0set = 0, reset = 1

0 1

set = 0, reset = 0set = 1, reset = 0

set = 0, reset = 1

Flip Flop SR a NOR (1)

Vu = V3 (V1 V2) V1 (t + 2p) = Vu (t)

V1

V2

+ E

V1

V2

V3 Vu

+ E

V3

Vu

2p

V2=V3=1 vietato !Pongo S = V2

R = V3

Q = Vu

Latch SR a NOR (2)

S , RQ(t) 00 01 11 10

0 0 0 - 1

1 1 0 - 1

Q(t+t)

S

R Q

Vu = V3 (V1 V2)Vu = (V3 + (V1 + V2)’)’Vu = V3’. (V1 + V2)

0

1

00 01 11 10V1

V2 V3

0 0 0 1

1 0 0 1

Vu

Cosa occorre per scrivere un 1 (o uno 0)?

q=0

S: 0 1

R=0Q p

S

Q

q

Dopo t dal frontedi salita di S, q passada 0 a 1, condizioneche si mantiene anchese S torna a 0

La durata minima di un comando di set/reset è spesso indicatacon la denominazione di tempo di set-up del latch

t = 2p

Cosa occorre per mantenere un 1 (o uno 0)?

Sull’anello di retroazione si deve poter mantenere lasituazione di regime: y = Y

L

L

+-

y = Y

y

Y

H

H

Circuitocombinatorio

y t Y

S

R

y

Y y = Y

Y = f(S,R,y)

Y=f(S,R,y):caratteristica in “catena chiusa”

H

L

L

y = Y

y

Y H Due tratti di “saturazione”(pendenza minore di 1)connessi da un tratto con“alto guadagno”(pendenza maggiore di 1):3 intersezioni !

y

Y

-

Per chiudere la retroazione occorre una amplificazione del segnale ed un comando “energico”.Se l’impulso di set/reset ha duratainferiore al tempo di set-up il latchpuò andare in metastabilità.Valore attuale?? E futuro ??

2Reti asincrone

Reti sequenziali asincrone (comportamento)

ingresso i

uscita u = F(i,s)

pmax

• Il FF SR è il più semplice circuito combinatorio con retroazione.• Il ritardo intrinseco del circuito agisce da “memoria temporanea” dello stato presente durante il calcolo dello stato futuro.

stato presente sCon k retroazioni si hanno 2k riassunti di storia passata.

stato futuro

S = G(i,s)

s(t+t) = S(t)

Retecombinatoria

1

n

m

r

Circuito combinatorio

ingresso uscita

statopresente

Ipotesi di funzionamento in modo fondamentale - L’ingresso puòcambiare solo quando lo stato del circuito è stabile.

Reti sequenziali asincrone (struttura)

statofuturo

Vincoli sulla codifica degli ingressi

Codifica dell’alfabeto di ingresso - Simboli di ingresso consecutivi devono differire per il valore di un solo bit.

Esempio di situazione pericolosa : 10 - 01

10 - 11 - 01 10 - 00 - 01

Il procedimento di analisi

Esempio: Si vuole individuare se è utile o meno rendere disponibili all’esterno entrambe le uscite dei NOR di un latch SR

S

R Q

X ?

Il procedimento di analisi di una rete sequenziale asincronaè formato da 4 passi e consente di dedurne il comportamento dallo schema logico:1: individuazione delle variabili di stato,2: analisi della parte combinatoria,3: individuazione della tabella delle transizioni,4: studio delle condizioni di stabilità.

Analisi del latch SR a NOR (1 & 2)

1) Si taglia idealmente la retroazione identificando un nuovo segnale di ingresso q ed un nuovo segnale di uscita X.

S

q

R Q

X

2) Si scrivono le espressioni NOR della rete combinatoria a tre ingressi e due uscite così ottenuta.

X = S qQ = (S q) R

Analisi del latch SR a NOR (3)

3) Si trasformano le espressioni NOR in espressioni AND, OR, NOT e se ne riportano le valutazioni su una mappa.

X = S q = (S + q)’ = S’. q’

Q = (S q) R = ((S + q)’ + R)’ = (S + q) . R’

0

1

00 01 11 10qS R

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

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

Q , X

Analisi del latch SR a NOR (3)

4) Si eliminano le valutazioni fuori dal dominio delle due funzioni (la condizione di ingresso S = R = 1 è per ipotesi impossibile) e si evidenziano sulla mappa le quattro situazioni di stabilità.

0

1

00 01 11 10qS R

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

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

Q , X

Conclusioni: In ogni situazione di stabilità si ha X = Q’.Chi deve impiegare il latch può così disporre della forma vera e complementata del bit in memoria.

Latch SR a NAND

S’R’ Q X 01 1 0 10 0 1 11 Q Q’

Q = S’ (q R’) X = R’ q Q = (S’ . (q . R’)’)’ X = R + q’ Q = S + q.R’

S’

R’

Q

X

0

1

00 01 11 10qS R

0,1

Q, XQ’

1,1 1,10,1

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

q

analisi

Il procedimento di sintesi

Esempio di relazione ingresso/uscita (lampada da tavolo): “z cambia di valore ad ogni fronte di salita di x”

Il procedimento di sintesi di una rete sequenziale asincronaè formato da 4 passi e consente di dedurne lo schema logico dal comportamento:1: individuazione del grafo degli stati,2: definizione della tabella di flusso,3: codifica degli stati e definizione della tabella delle transizioni,4: sintesi della parte combinatoria e retroazioni.

x

z

1 - grafo degli stati

x, z0,1

1,0

1,-

0,0

0,0 1,-

1,1

0,1

Stabilità - Ogni stato è stabile per l’ingresso che lo genera.Indifferenza sull’uscita - La modifica di uscita può avvenire già durante la transizione oppure, indifferentemente, essere rinviata al raggiungimento della stabilità.

2 - tabella di flusso

xstato 0 1 ,1 ,- ,0 ,0 ,0 ,- ,1 ,1

In ogni colonna si raggiunge sempre una condizione di stabilità.Transizioni multiple - Di norma si passa direttamente da una stabilità all’altra; è ammesso che ciò avvenga anche tramite una breve sequenza di condizioni di instabilità.

3 - codifica e tabella delle transizioni

y2

0y1

0

Codifica degli stati - A stati consecutivi (stato presente e futuro) si devono assegnare configurazioni adiacenti.

x

y1,y2 0 1 00,1 01,- ,0 ,0 11,0 ,- ,1 ,1

Y1, Y2, z

1

1

4 - reti combinatorie

Y1 = x’.y2 + x.y1 Y2 = x’.y2 + x.y1’ z = y2’

0

1

00 01 11 10xy1y2

0 1 1 0

0 0 1 1

0

1

00 01 11 10xy1y2

0 1 1 0

1 1 0 0

0

1

00 01 11 10xy1y2

1 0 0 1

- 0 - 1

Coperture ridondanti - Per eliminare a priori il pericolo di alea statica (qui causato dal probabile sfasamento tra x e x’) “ogni coppia di 1 adiacenti deve essere racchiusa in almeno un RR”.

Ipotesi: si desiderano reti minime di tipo SP

+ y2.y1 + y2.y1’

4 - schema e retroazioni

Y1

x.y1

y2.y1

x’.y2

zY2x.y1’

y2.y1’

Fan-out >1

x

Esercizio 6.1

Eseguire la sintesi di una rete sequenziale asincrona che fornisca 1in uscita quando entrambi i suoi due ingressi valgono 1 e solo sele due precedenti configurazioni (andando a ritroso) sono state 01e 00. I segnali di ingresso possono cambiare di valore uno solo allavolta. Suggerimento: Il grafo parziale di figura è in grado di individuare lasequenza 00-01-11: bisogna completarlo considerando tutti gli altri casi possibili.

11,-

00,001,0

11,1

3Latch CD

Latch CD

Una memoria binaria più utile

C D S R1 1 1 01 0 0 10 - 0 0

Latch CD - Memoria binaria in cui il valore 1 di un segnale C individua “quando scrivere”, il valore contemporaneo di un segnale D “cosa scrivere”.

Trascodifica da CD a SR

CD 0 10 0 0

1 0 1

S = C.D

CD 0 10 0 1

1 0 0

R = C.D’

S Q R Q’

CD

segnale di campionamento“attivo alto”

Campionamento e Memorizzazione

Es: segnale con “glitch”

segnale “ricostruito”dal latch

dal Controller

Segnale del Data Pathcon valori significativi solo in certi intervalli

C Q

D Q’

il latch CD

al Data Path

dal Data Path

Il latch CD a NAND ed a NOR

S

R

Q

C

D

S’

R’

Q

C’

D

Quando C = 1 (campionamento) il valore presente su D si deve propagare all’interno della rete prima di diventare anche il valore del segnale Q.

Il comando che ha generato un nuovo valore di Q deve mantenersifino al raggiungimento della stabilità sull’anello di retroazione.

I tempi di set-up, di hold e di risposta

Larghezza dell’impulso di campionamento - Il campionamento di un “livello” di D deve durare un tempo non inferiore al tempo di set-up del latch SR.

Comando dicampionam.

Bit in memoria

tempo max di risposta

Bit in ingresso

hold set-up

durataminima

Comando dicampionam.

Bit in memoria

Bit in ingresso

L’uscita “trasparente”

N.B. - Se la situazione C=1 dura più del set-up e se durante questointervallo D modifica il suo valore, allora le stesse modifiche si possono riscontrare anche su Q.

tempo di risposta

set-up

CDq 00 01 11 100 0 0 1 01 1 1 1 0

Q

Una quarta soluzione

CDq 00 01 11 100 0 0 1 01 1 1 1 0

Q C

D

Multiplexer

Ritardo

N.B. - Il ritardo inerziale dei due NOT elimina l’eventuale “glitch” generato dall’alea statica del MUX .

Q = C.D + C’.q

Esercizio 6.2

Applicare il procedimento di analisi allo schema logico delcircuito ‘75 per dimostrare, con la tabella delle transizioni,che il comportamento è quello del latch CD.

Esercizio 6.3

Dimostrare che lo schema sopra indicato ha lo stesso comportamentodi quello precedentemente ricavato per la lampada da tavolo. Suggerimento:

D Q y1 D Q y2

C Q’ C Q’ z

x’

Y1 = x’.y2 + x.y1 + y2.y1 = x’.y2 + (x + y2).y1 = S1 + R1’.y1 Y2 = x’.y2 + x.y1’ + y2.y1’ = x.y1’ + (x’+ y1’).y2 = S2 + R2’.y2 z = y2’

4Flip-flop D e JK

Si può realizzare la rete della lampada da tavolo con un solo latch CD?

No!Q

Se x = 1 dura più del tempo di risposta si verificano diverse commutazioni di Q.

x

Q Q’ quando x passa da 0 a 1, Q Q in ogni altro caso

C Q

D Q’

x

x

Insicuro !!

Se x = 1 dura meno del tempo di risposta e più del tempo di set-up Q cambia una volta sola.

Q

Con due latch però ci si riesce: l’aggiornamento in due passi

1 : QM QS’

2 : QS QM

2

1C Q’

D QM

D Q’

C QS

2

1

QS

QM

x

I due passi possono essere consecutivi? Si ...

x’

x

T

Masterscrive

Slavememorizza

Mastermemorizza

Slavecopia

Masterscrive

Slavememorizza

x’

x

… ma attenzione al ritardo del NOT!

xC Q’

D QM

D Q’

C QS

N.B - vedi Es. 6.3

intervallo n intervallo n+1 Qn+1 = Dn

Il flip-flop master-slave: il campionamento con un fronte

y

x latch M scrive latch S scrive

D Q

su h

z

r

x

y z

C

D QM

C

D QS

Complessità e Componenti

00, 0

D va a 0 prima del fronte diC. Q non deve cambiare

Costruzione del dds del Flip Flop Dedge triggered (rete asincrona che campiona con un fronte di salita)

CD,Q01, 0

11, 1

Il fronte di salita di Ccampiona D=1 e ne

ordina la memorizzazione

Per ipotesi è impossibile che D vari durante un

fronte di salita di C

10

(segue)

00, 0

Il grafo degli stati

CD,Q

01, 0

0-, 0 0-, 1

D

00, 1

01, 1

10, -

11, 1

11, 0

10, 1

10, 0

10, 0

11, -11, 1

C

I tempi di set-up, di hold e di risposta

SegnaleQ

risposta

SegnaleD

hold set-up

Fronte delclock

D Q

Comandoasincrono

Comandosincrono

Il FF-D ha anche due ingressi asincroni!

Requisiti per il corretto funzionamento del FF-D

Il flip-flop JK

hold

set

reset

toggle

J Q

K Q’

Qn+1 = (J.Q’+K’.Q)n

Jn Kn

Qn 00 01 11 100 0 0 1 11 1 0 0 1

Qn+1

Jn Kn Qn Qn+1

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

Esercizio 6.4

• Con pochi gate ed un flip-flop D è possibile ottenere una reteche ha il comportamento del flip-flop JK.• Con pochi gate ed un flip-flop JK è possibile ottenere una reteche ha il comportamento del flip-flop D.

Tracciare i due schemi logici