A.S.E.
ARCHITETTURA DEI SISTEMI ELETTRONICI
LEZIONE N° 14
• Contatori mediante sommatori• Ring Counters• Modelli di reti sequenziali• Descrizione di reti sequenziali• Tabella delle transizioni• Tecnica di sintesi 1
14.1
A.S.E.
Richiami
• Registri• Contatori
14.2
A.S.E.
Contatore mediante sommatore
• Architettura base
S
0, 1
Ck
14.3
A.S.E.
Contatore mediante sommatore
• Uso del Full Adder
FA FA FA FA
0
1
000
14.4
A.S.E.
Contatore mediante sommatore
• Uso dell’ half adder
HA HA HA HA
1
14.5
A.S.E.
Ring Counter modulo 4
14.6
A.S.E.
Twisted-Ring Counter modulo 8
Johnson Counter
14.7
A.S.E.
Decodificatore
14.8
A.S.E.
Jhonson Counter modulo 7
14.9
A.S.E.
Osservazioni
• I contatori mostrati non richiedono “grossi” decodificatori
• È sotto utilizzato il numero dei Flip-Flop • max 2n stati contro i 2n possibili• Possibilità di errore irrimediabile
– Per esempio, nel contatore modulo 4, se accidentalmente si genera una sequenza con due “1” non si torna più a quella originaria
14.10
A.S.E.
Modello 1 di rete sequenziale
R
R’X1
Xn
z1
zms1
sk
s’1
s’kDt
La rete R’ è priva di anelli, ovvero è una rete combinatoria
14.11
A.S.E.
Macchina di MEALY 1
• Le uscite sono funzioni delle variabili di stato e degli ingressi
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Memoria
14.12
A.S.E.
Macchina di MOORE 1• Le variabili d’uscita, in un determinato istante,
sono funzione del sole variabili di statoR
CN1
X1
Xn
z1
zWs1
sks’k
s’1a1
an
an+1
an+k
z1
zm
zm+1
zk
CN2
Memoria
14.13
A.S.E.
Memorizzazione
• Segnale di CLOCK
• La memoria cambia le proprie uscite in corrispondenza del fronte di discesa (salita) del CLOCK
t
V
14.14
A.S.E.
Macchina di MEALY 2
• Le uscite sono funzioni delle variabili di stato e degli ingressi
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
14.15
A.S.E.
Macchina di MOORE 2• Le variabili d’uscita, in un determinato istante,
sono funzione del sole variabili di statoR
CN1
X1
Xn
z1
zWs1
sks’k
s’1a1
an
an+1
an+k
z1
zm
zm+1
zk
CN2
Ck
14.16
A.S.E.
Rete sequenziale sincronizzata
Per il corretto funzionamento è necessario che siano rispettati i tempi Tsetup e Thold del registro
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
14.17
A.S.E.
Temporizzazione
• Condizioni sugli ingressi
Ck
X
Sp
Sn
Z
t
Tp
Th
Tp
ThTsTx Tcs
Tcz
14.18
A.S.E.
Glossario
• Th = Thold (tempo di mantenimento dopo il campionamento)
• Ts = Tsetup (tempo di stabilizzazione prima del campionamento)
• Tp = Tpropagation (tempo di propagazione del dato nel Flip –Flop D)
• Tx = Tinput (tempo durante il quale gli ingressi possono variare)
• Tcs = Tcalc-s (Tempo di calcolo delle variabili di stato)
• Tcz = Tcalc-z (Tempo di calcolo delle variabili d’uscita)
14.19
A.S.E.
Osservazioni
• In questa macchina il tempo di calcolo delle variabili di stato limita pesantemente l’intervallo di tempo durante il quale gli ingressi possono essere instabili
• Per garantire la sincronizzazione degli ingressi si può mettere una barriera di F-F D (un Registro) subito dopo i terminali d’ingresso
14.20
A.S.E.
Macchina di MEALY
• Le uscite sono funzioni delle variabili di stato e degli ingressi
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
14.21
A.S.E.
Problema dell’instabilità
• Presenza di anelli multipli
• A causa dei ritardi sulle porte le uscite oscillano
R
S
01
Q
CkA 10
Q
1 1
1 0
01
1
0
J*
K*
14.22
A.S.E.
Osservazioni
• Le uscite sono asincrone• È pericoloso usare più reti fra loro
connesse• si può ottenere una macchina asincrona “nascosta”
14.23
A.S.E.
Macchina di MOORE• Le variabili d’uscita, in un determinato istante,
sono funzione del sole variabili di statoR
CN1
X1
Xn
z1
zWs1
sks’k
s’1a1
an
an+1
an+k
z1
zm
zm+1
zk
CN2
Ck
14.24
A.S.E.
Osservazioni
• Le uscite sono sincrone• È possibile usare più reti fra loro
connesse senza il pericolo di creare anelli di reazione che possono dare luogo a reti sequenziali asincrone
• Le condizioni da rispettare sui vari tempi di assestamento risultano meno stringenti
• Le uscite vengono presentate in ritardo rispetto alla macchina di Mealy (tempo d’attese per la sincronizzazione)
14.25
A.S.E.
Macchina di Mealy Ritardata
• Le uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano sincronizzate
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
14.26
A.S.E.
Osservazioni
• Le uscite sono sincrone• È possibile usare più reti fra loro
connesse senza il pericolo di creare anelli di reazione che possono dare luogo a reti sequenziali asincrone
• Le condizioni da rispettare sui vari tempi di assestamento risultano meno stringenti
• La macchina di Mealy ritardata è una macchina di Moore in senso stretto
• Può richiedere meno stati interni della macchina di Moore
14.27
A.S.E.
Descrizione di reti sequenziali
• Varie tecniche di rappresentazione– Mediante ASM (diagramma di flusso)
• Intuitivo, di facile interpretazione– Mediante Diagramma degli stati (grafo
orientato)• Molto compatto, evidenzia la memorizzazione
– Tabella degli stati =>Tabella delle transizioni• Molto compatta, può essere utilizzata per la sintesi
– Mediante forme d’onda• Fornisce indicazione dell’andamento nel tempo
– Mediante linguaggio di programmazione• Consente la verifica e sintesi automatica
14.28
A.S.E.
Esempio Flio-Flop J-K Master –Slave
D Q
Ck
Ck
J
Q
K
R’
Q JQ KQ
14.29
A.S.E.
Elementi base del diagramma di flusso (ASM= Algoritmic State
Machine)• Blocco di Stato
– AAA Etichetta– nnn numerazione di stato– X, Y, Z Uscite attive
X, Y, Z
nnn AAA
14.30
A.S.E.
Elementi base del diagramma di flusso 2
• Blocco Decisionale– (A+B)C Condizione su gli ingressi– Y (1) (V) Condizione verificata– N (0) (F) Condizione non verificata
(A+B)CY N
14.31
A.S.E.
Elementi base del diagramma di flusso 3
• Blocco di Uscita– Utile per le uscite asincrone– X, Y, Z Uscite attive
X, Y, Z
14.32
A.S.E.
Condizioni sul Diagramma di flusso 1
Si NO
X, Y, Z
nnn AAA
(A+B)C
Y
N
X, Y, Z
nnn AAA
(A+B)C
Y
N
14.33
A.S.E.
Condizioni sul Diagramma di flusso 2
• Si NO
X, Y, Z
mm AR
K=0Y N
X, W
nn AH
X, Y, Z
mm AR
K=0
Y
N
X, W
nn AH
14.34
A.S.E.
Condizioni sul Diagramma di flusso 3
• no
K=0Y N
H=0Y N
14.35
A.S.E.
Diagramma di flusso del Flip – Flop J-K
0 A
J=0, K=0Y
J=0, K=1
J=1, k=0
Y
Y
Q
1 B
J=0, K=0Y
J=1, K=0
J=0, K=1
Y
Y
J K Q+
0 0 Q
0 1 0
1 0 1
1 1 Q
D Q
Ck
Ck
JQ
KR’
14.36
A.S.E.
Diagramma di flusso del Flip – Flop J-K
0 A
J=1
Y
Q
1 B
K=1
Y
J K Q+
0 0 Q
0 1 0
1 0 1
1 1 Q
D Q
Ck
Ck
J
QK
R’
14.37
A.S.E.
Grafo Orientato
• I nodi corrispondono agli stati– Internamente è indicato il valore dello stato
e delle variabili d’uscita– da ogni nodo partano tanti archi quante sono
le configurazioni degli ingressi• Gli archi orientati corrispondono alle
transizioni dovute agli ingressi– Sopra gli archi è riportata la configurazione
degli ingressi corrispondente (e delle uscite asincrone)
– Le configurazioni degli ingressi che danno luogo a stati non specificati comportano archi interrotti 14.38
A.S.E.
Grafo del Flip – Flop J-K
• Gli archi che si richiudono sullo stesso stato da dove partono indicano uno sto stabile di Memorizzazione
JK/(Q)Y/Q
A/0 B/1
10
100111
11
01
J K Q
0 0 Q
0 1 0
1 0 1
1 1 Q
D Q
Ck
Ck
JQ
KR’
00 00
14.39
A.S.E.
Grafo del Flip – Flop J-K (no)
A B
10/1
10/1
01/0
11/0
11/1
01/0
D Q
Ck
Ck
JQ
KR’
00/0 00/1
14.40
A.S.E.
Forme d’onda
• Si riportano sia gli ingressi, sia le uscite, che gli stati interne
S
R
Q
t
Y = Q
RS Q
Q
14.41
A.S.E.
Tabella degli stati
• Tante righe quanti sono gli stati interni• Tante colonne quante sono le configurazioni
degli ingressi• In ogni casella si indica lo stato di “arrivo”• Lo stato è cerchiato se non cambia• A destra della tabella si può riportare il valore
delle uscite
00 01 11 10 Q
A A A -- B 0
B B A -- B 1
SR
YS R Q
0 0 Q
0 1 0
1 0 1
1 1 -
RS Q
Q
14.42
A.S.E.
Tabella delle transizioni• Si riportano
– Valore degli ingressi– Variabili di stato di partenza (Stato presente)– Variabili di stato di arrivo (Nuovo stato)
X1 … Xn Sp1 … Spn Sn1
…. Snn
0 0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 1 1
.. .. .. .. .. .. .. .. ..
0 0 0 1 1 1 1 0 1
0 0 1 0 0 0 1 1 1
0 0 1 0 0 1 0 1 0
.. .. .. .. .. .. .. .. ..
1 1 1 1 1 1 0 1 1
X1
Xn
Ck
R
R’
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
14.43
A.S.E.
Flip - Flop J – K
• Tabella delle funzioni Schema logico
Q
Q
Ck J K Q
0 X X Q
1 X X Q
X X Q
0 0 Q
0 1 0
1 0 1
1 1 Q
J Q Ck QK
14.44
A.S.E.
Diagramma di flusso
0 Wa
0,0Y
Y
J, K
0,1
Q
1 Wb
0,0Y
Y1,0
Ck J K Q
0 X X Q
1 X X Q
X X Q
0 0 Q
0 1 0
1 0 1
1 1 Q
14.45
A.S.E.
Tabella delle transizioni
Wp J K Wn
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
0 Wa
0,0Y
Y
J, K
0,1
Q
1 Wb
0,0Y
Y1,0
14.46
A.S.E.
Individuazioni delle equazioni
• Costruzione delle Mappe di Karnaugh
0,0
0,1
1,1
1,0
0 0 0 1 1
1 1 0 0 1
J,K
Wp
Wn
WpKWpJWn
Wp J K Wn Q
0 0 0 0 0
0 0 1 0 0
0 1 0 1 1
0 1 1 1 1
1 0 0 1 1
1 0 1 0 0
1 1 0 1 1
1 1 1 0 0
14.47
A.S.E.
Schema
WpKWpJWn
D Q
CkCk
J
Q
K
14.48
A.S.E.
Flip - Flop T (TOGLE)
• Tabella delle funzioni Schema logico
Ck T Q
0 X Q
1 X Q
X Q
0 Q
1 Q
T Q
Ck
14.49
A.S.E.
Diagramma di flusso
0 Wa
0Y
T
Q
1 Wb
0Y
14.50
A.S.E.
Tabella delle transizioni
T Wp Wn
0 0 0
0 1 1
1 0 1
1 1 0
0 Wa
0Y
T
Q
1 Wb
0Y
14.51
A.S.E.
Individuazioni delle equazioni
• Costruzione delle Mappe di Karnaugh
0 1
0 0 1
1 1 0
T
Wp
Wn
WpTWpTWn
T Wp Wn Q
0 0 0 0
0 1 1 1
1 0 1 1
1 1 0 0
14.52
A.S.E.
Schema
D Q
CkCk
T
Q
WpTWpTWn
14.53
A.S.E.
Riconoscitore di sequenza
• Y attiva per la sequenza “0101”• Valido anche per sequenze interallaciate
• 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0
• Riconoscitore di sequenza
14.54
A.S.E.
Diagramma di flusso [0101]
0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0
a 00
01b
0
1
Y
1
0
Y
c 11
d 10
Z,W
Y Y
Y0
01
010
0101
14.55
A.S.E.
Grafo Orientato
A B
DC
0
1
00
0101
1
1
0
1/1
14.56
A.S.E.
Tabella delle transizioni
Zp Wp X Zn Wn
0 0 0 0 1
0 0 1 0 0
0 1 0 0 1
0 1 1 1 1
1 0 0 0 1
1 0 1 1 1
1 1 0 1 0
1 1 1 0 0
a 00
01b
Y
0
1
Y
1
0
Y
c 11
d 10
Z,W
14.57
Individuazioni delle equazioni
00 01
11
10
0 1
1 1 1
X
Zp,WpZn
00
01
11
10
0 1 1 1
1 1 1
X
Zp,WpWn00
01
11
10
0
1 1
X
Zp,WpYWPZpXWPZpXWPZpXZn
WPZpWPZpZpXWn XWPZpY
Zp Wp X Zn Wn Y0 0 0 0 1 00 0 1 0 0 00 1 0 0 1 00 1 1 1 1 01 0 0 0 1 01 0 1 1 1 11 1 0 1 0 01 1 1 0 0 0
13.58A.S.E.
Schema
WPZpXWPZpXWPZpXZn
CLK
D Q
CLK
D Q
CLK
D Q
X
Y
Ck
Z
WXWPZpY
WPZpWPZpZpXWn
Zp
Wp
13.59A.S.E.
A.S.E.
Riconoscitore di sequenza 0110 o 1001 (A)
x0
1
x0 1
x0
1x0
1x0
1x0
1x0
1x0
1x0
1
x0 1
x0 1
x0 1
x0 1
x0 1
x0 1
h i j k l m n o
d e f g
0
b c
a
a
a cb ed gf h
b c d e f h a c d e f g h
g b
00
1
01 10 11
000 001 010 011 100 101 110 111
0000 0001 0010 0011 1100 1101 1110 11110100 0101
0110
0111 1000
1001
1010 1011
Z=1Z=1
0101101101010010011001000
14.60
A.S.E.
CONCLUSIONI
• Contatori mediante sommatori• Ring Counters• Modelli di reti sequenziali• Descrizione di reti sequenziali• Tabella delle transizioni• Tecnica di sintesi 1
14.61