Fenomeni transitori: alee
Stima della durata del transitorio
(metodo del caso peggiore)
I1
U
I0
A
I1
t
t
I0
A
U
t
t
I1
3t U
I0
A
Tipi di transitorio: il ritardo
I1
c
t
t U?
0
t
1
0
t
2t
0
Tipo “ritardo” - L’uscita
mantiene il vecchio valore
per tutto il transitorio
I1
c
U
Tipi di transitorio: l’alea statica
1
1
1
t
c
t
1
t a
t
U?
b
A
3t
A
a
Tipo “alea statica” L’uscita, che dovrebbe
rimanere costante, assume
temporaneamente l’altro
valore.
c
b
U
Tipi di transitorio: l’alea dinamica
1
1
t
c
t
1
t
t
b
A
t
R
B
3t
Tipo “alea dinamica” L’uscita varia più volte
prima di assestarsi sul
nuovo valore.
A,B
R
10
01
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
a
xyz
101
111
b
U
y
c
U
1
1
z=1
y
a
b
c
t
2t
z
3t
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.
xy
z
0
1
00 01 11 10
0 0 0 1
0 1 1 1
xy
z
0
1
00 01 11 10
0 0 0 1
0 1 1 1
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=1
b
a
U
y
c
z=1
x
y
z
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:
xy
z
0
1
00 01 11 10
0 0 0 1
0 1 1 1
U=(x+y)•(z+y’)
xy
z
0
1
00 01 11 10
0 0 0 1
0 1 1 1
U=(x+y)•(z+y’)•(z+x)
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.
flip-flop e reti asincrone
1 - Flip Flop Set Reset
2 - Reti asincrone
3 - Latch CD
4 - Flip-flop D e JK
La memorizzazione di un bit
richiede due stati interni,
due comandi ..
Metti in memoria 1 !
0
1
Metti in memoria 0 !
… e un po’ di fatica !
1
Flip Flop SR
Flip Flop SR
S
Y = S + y . R’
R
y
y(t +Dt) = Y(t)
Dt
Q
Il FF SR è una RSA con una variabile di stato e due ingressi S e R
Se 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 e
può essere posto a 1 con S
L’uscita Q riflette il valore del bit memorizzato
i
u
F
G
s
Dt
memoria
s*
Valutazione della espressione
del segnale in retroazione
SR
y
SR
00 01 11 10
0 0
0
1 1
1 1
0
1
1
Y = S + y . R’
N.B. - Le mappe sono anche
un utile strumento di analisi !
y
00 01 11 10
0 0
0
- 1
1 1
0
-
1
Y = f (S,R, y)
N.B. - Se imponiamo che S e R non
siano mai contemporaneamente
attivi, allora la funzione Y
è incompleta.
Descrizione con tabella di flusso
y
S,R
00
01
11
10
1
0
0
0
-
1
1
1
1
0
-
1
y
S,R
00 01
11
10
0
0
0
-
1
1
0
-
Y
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.
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
comando
di set
S
S
0
1
0
Q bit in
memoria
comando
R
di reset
set = 0, reset = 0
set = 0, reset = 1
R
0
0
1
Q
Q
1
0
set = 0, reset = 0
set = 1, reset = 0
set = 1, reset = 0
0
1
set = 0, reset = 1
Il comando di set serve per memorizzare 1, il comando di reset serve
per memorizzare il valore 0
Lo stato ricorda quale è stato l’ultimo comando ricevuto (1: set, 0:reset)
Flip Flop SR a NOR (1)
Vu = V3  (V1  V2)
V1 (t + 2tp) = Vu (t)
V3
Vu
2tp
V1
V2
+E
+E
Vu
V1
V2
V3
Latch SR a NOR (2)
V2 V3
V1
00 01 11 10
0 0
0
0 1
1 1
0
0
1
Vu
Vu = V3  (V1  V2)
Vu = (V3 + (V1 + V2)’)’
Vu = V3’. (V1 + V2)
S, R
Q(t) 00
01
11
10
0
0
0
-
1
1
1
0
-
1
V2=V3=1 vietato !
Pongo S = V2
R = V3
Q = Vu
Q(t+Dt)
S
R
Q
Cosa occorre per scrivere un 1 (o uno 0)?
R=0
Q
q=0
2tp
S: 0 1
Dt = 2tp
S
Q
Dopo Dt dal fronte
di salita di S, q passa
da 0 a 1, condizione
che si mantiene anche
se S torna a 0
q
La durata minima di un comando di set/reset è spesso indicata
con la denominazione di tempo di set-up del latch
Cosa occorre per mantenere un 1 (o uno 0)?
y=Y
Y H
S
R
Circuito
combinatorio
L
H
L
y
Dt
Y
y
y=Y
Y
Y = f(S,R,y)
Sull’anello di retroazione
si deve poter mantenere la
situazione di regime:
y=Y
-e
+e
y
Y=f(S,R,y):
caratteristica in “catena chiusa”
y=Y
Y H
L
H
L
Due tratti di “saturazione”
(pendenza minore di 1)
connessi da un tratto con
“alto guadagno”
(pendenza maggiore di 1):
3 intersezioni !
y
Y
-e
y
Per chiudere la retroazione occorre
una amplificazione del segnale ed un
comando “energico”.
Se l’impulso di set/reset ha durata
inferiore al tempo di set-up il latch
può andare in metastabilità.
Valore attuale?? E futuro ??
2
Reti asincrone
Reti sequenziali asincrone (comportamento)
• 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.
ingresso i
Con k retroazioni
s(t+Dt) = S(t) si hanno 2k riassunti
di storia passata.
stato presente s
uscita
u = F(i,s)
stato futuro
S = G(i,s)
tpmax
Reti sequenziali asincrone (struttura)
Circuito combinatorio
ingresso
Rete
combinatoria
t1
tm
uscita
tn
tr
stato
presente
stato
futuro
Ipotesi di funzionamento in modo fondamentale - L’ingresso può
cambiare solo quando lo stato del circuito è stabile.
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
10 - 11 - 01
- 01
10 - 00 - 01
Il procedimento di analisi
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à.
S
X?
Esempio: Si vuole individuare
se è utile o meno rendere
disponibili all’esterno entrambe
le uscite dei NOR di un latch SR
R
Q
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
X
q
R
Q
2) Si scrivono le espressioni NOR della rete combinatoria a
tre ingressi e due uscite così ottenuta.
X=Sq
Q = (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’
SR
q
00 01 11 10
0 0,1 0,1 0,0 1,0
1 1,0 0,0 0,0 1,0
Q = (S  q)  R
= ((S + q)’ + R)’
= (S + q) . R’
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à.
SR
q
00 01 11 10
0 0,1 0,1 0,0 1,0
1 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
SR
S’R’
01
10
11
QX
1 0
0 1
Q Q’
q
1 1,0 0,1 1,1 1,0
analisi
S’
00 01 11 10
0 0,1 0,1 1,1 1,1
Q, XQ’
Q
Q = S’  (q  R’)
Q = (S’ . (q . R’)’)’
Q = S + q.R’
q
X
R’
X = R’  q
X = R + q’
Il procedimento di sintesi
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.
Esempio di relazione ingresso/uscita (lampada da tavolo):
“z cambia di valore ad ogni fronte di salita di x”
x
z
1 - grafo degli stati
x, z
0,1
a
1,0
1,-
b
0,0
0,0
g
1,1
1,-
d
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
x
stato
a
b
g
d
0
a,1
g,0
g,0
a,1
1
b,b,0
d,d,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
y1
0
1
x
0
a
b
1
d
g
Codifica degli stati - A stati
consecutivi (stato presente e
futuro) si devono assegnare
configurazioni adiacenti.
y1,y2
a 00
b 01
g 11
d 10
0
00,1
11,0
11,0
00,1
1
01,01,0
10,10,1
Y1, Y2, z
4 - reti combinatorie
Ipotesi: si desiderano reti minime di tipo SP
x
y1y2
00
0 0
1 0
01 11 10
1
1 0
0
1
1
x
y1y2
00
0 0
1 1
01 11 10
1
1 0
1
0
x
y1y2
00
0 1
0
Y1 = x’.y2 + x.y1 + y2.y1 Y2 = x’.y2 + x.y1’ + y2.y1’
1 -
01 11 10
0
0 1
0
-
z = y2’
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”.
1
4 - schema e retroazioni
x
x.y1
Y1
y2.y1
x’.y2
x.y1’
y2.y1’
Fan-out >1
Y2
z
Esercizio 6.1
Eseguire la sintesi di una rete sequenziale asincrona che fornisca 1
in uscita quando entrambi i suoi due ingressi valgono 1 e solo se
le due precedenti configurazioni (andando a ritroso) sono state 01
e 00. I segnali di ingresso possono cambiare di valore uno solo alla
volta.
Suggerimento: Il grafo parziale di figura è in grado di individuare la
sequenza 00-01-11: bisogna completarlo considerando tutti gli altri
casi possibili.
00,0
01,0
a
11,1
11,-
b
3
Latch CD
Una memoria binaria più utile
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
1 1
1 0
0 -
S
1
0
0
R
0
1
0
Latch CD
C
C
D
0
0
0
1
0
D
0
0
0
1
1
1
0
1
1
0
0
S = C.D
R = C.D’
C
D
S
Q
R
Q’
Campionamento e Memorizzazione
Segnale del Data Path
con valori significativi
solo in certi intervalli
Es: segnale con “glitch”
segnale di campionamento
“attivo alto”
segnale “ricostruito”
dal latch
dal Controller
dal Data Path
C
Q
D
Q’
il latch CD
al Data Path
Il latch CD a NAND ed a NOR
C’
C
S’
Q
D
S
Q
D
R’
R
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 mantenersi
fino 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.
durata
minima
Comando di
campionam.
Bit in
ingresso
set-up
hold
Bit in
memoria
tempo max di risposta
L’uscita “trasparente”
Comando di
campionam.
Bit in
ingresso
set-up
Bit in
memoria
tempo di risposta
N.B. - Se la situazione C=1 dura
più del set-up e se durante questo
intervallo D modifica il suo valore,
allora le stesse modifiche si
possono riscontrare anche su Q.
CD
q 00 01 11 10
0
0 0 1 0
1
1 1 1 0
Q
Una quarta soluzione
CD
q 00 01 11 10
0
0 0 1 0
1
1 1 1 0
Q
Q = C.D + C’.q
C
D
Ritardo
Multiplexer
N.B. - Il ritardo inerziale dei due NOT elimina l’eventuale
“glitch” generato dall’alea statica del MUX .
Esercizio 6.2
Applicare il procedimento di analisi allo schema logico del
circuito ‘75 per dimostrare, con la tabella delle transizioni,
che il comportamento è quello del latch CD.
Esercizio 6.3
D
Q y1
D
Q
C
Q’
C
Q’
y2
z
x’
Dimostrare che lo schema sopra indicato ha lo stesso comportamento
di quello precedentemente ricavato per la lampada da tavolo.
Suggerimento:
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 ’
4
Flip-flop D e JK
Si può realizzare la rete della lampada da tavolo con un solo latch
CD?
x
Q  Q’ quando x passa
da 0 a 1,
Q  Q in ogni altro caso
Se x = 1 dura più del tempo di
risposta si verificano diverse
commutazioni di Q.
x
Q
C
Q
D
Q’
Se x = 1 dura meno del tempo di
risposta e più del tempo di setup Q cambia una volta sola.
x
No!
Q
Insicuro !!
Con due latch però ci si riesce: l’aggiornamento in due
passi
F1 : QM  QS’
F2 : QS  QM
x
F1
F1
C
Q’
F2
D
QM
QS
F2
D
Q’
C
QS
QM
I due passi possono essere consecutivi? Si ...
T
x
C
x
Master
scrive
Master
memorizza
Master
scrive
x’
Slave
memorizza
Slave
copia
Slave
memorizza
Q’
D
QM
D
Q’
C
QS
… ma attenzione al ritardo del NOT!
x
x’
N.B - vedi Es. 6.3
Il flip-flop master-slave:
il campionamento con un fronte
x
C
C
y
D
Q
D
Q
intervallo n
x
y
D
S
M
z
intervallo n+1
latch M scrive
latch S scrive
tsu th
z
tr
Q
Qn+1 = Dn
Complessità e Componenti
Costruzione del dds del Flip Flop D
edge triggered (rete asincrona che
campiona con un fronte di salita)
CD,Q
01, 0
Il fronte di salita di C
campiona D=1 e ne
ordina la memorizzazione
11, 1
A
00, 0
10
Per ipotesi è impossibile
che D vari durante un
fronte di salita di C
D va a 0 prima del fronte di
C. Q non deve cambiare
(segue)
Il grafo degli stati
CD,Q
01, 0
11, 1
11, -
A
C
00, 0
10, 1
10, 0
0-, 1
0-, 0
10, 0
B
11, 0
11, 1
00, 1
10, -
D
01, 1
I tempi di set-up, di hold e di risposta
D
Q
Fronte del
clock
Segnale
D
set-up
hold
Segnale
Q
risposta
Il FF-D ha anche due
ingressi asincroni!
Comando
asincrono
Comando
sincrono
Requisiti per il corretto funzionamento del FF-D
Il flip-flop JK
Jn
0
hold
0
1
set
1
reset 0
0
1
toggle
1
Kn
0
0
0
0
1
1
1
1
Qn
0
1
0
1
0
1
0
1
Qn+1
0
1
1
1
0
0
1
0
J
Q
K
Q’
Qn+1 = (J.Q’+K’.Q)n
Qn
0
1
Jn Kn
00 01 11 10
0 0 1 1
1 0 0 1
Qn+1
Esercizio 6.4
• Con pochi gate ed un flip-flop D è possibile ottenere una rete
che ha il comportamento del flip-flop JK.
• Con pochi gate ed un flip-flop JK è possibile ottenere una rete
che ha il comportamento del flip-flop D.
Tracciare i due schemi logici
Scarica

Alee flipflop e rsa