...

4 1 3 4 4 3 2 3 3 2 1 2 2 1 4 1 y . y y . x y` y . y y . x y` y . y y . x y` y . y y

by user

on
Category: Documents
22

views

Report

Comments

Transcript

4 1 3 4 4 3 2 3 3 2 1 2 2 1 4 1 y . y y . x y` y . y y . x y` y . y y . x y` y . y y
Esempi di progetto
di circuiti seq. asincroni
Capitolo 5
Esempio 1
Si progetti un divisore binario, cioe' un circuito a un
ingresso e un'uscita il cui valore cambi ogni volta
che l'ingresso passa da 0 a 1.
0
1
1
Ingresso
Stato
1/0
2/1
0
0
3/1
4/0
0
1
z
1
1
2
0
2
3
2
1
3
3
4
1
4
1
4
0
1
1
0
figura 6.6.1
Grafo degli stati e matrice primitiva delle sequenze
Esempio 1
1/0
y1
2/1
y
0
1
0
1/0
4/0
1
2/1
3/1
2
4/0
Diagramma delle transizioni e
tavola delle transizioni
3/1
Per evitare alee
statiche
figura 6.6.2
x
y y
1
2
00
01
0
00
x
1
/0
11/1
00
0
01/0
01
y1 y2
1
/1
01
11
1
1
10
11
10
00/0
/1
y1 y2
00
0
1
1
y'1
11
x
1
1
01
11
1
1
10
1
y'2
10/1
10
y'1  x. y 2  x . y1  y1 . y 2  y1 .x  y 2   x. y 2
/0
y' y'
1
2
Tavola di flusso
y' 2  x. y 2  x .y1  y1 . y 2  y1 .x  y 2   x. y 2
z  y2
Esempio 1
3
Soluzione 1
_
X
6
_
X
1
4
2
Z
5
figura 6.6.3
Per semplificare il circuito:
Notare che G5 e G3 hanno gli stessi ingressi (a meno di un invertitore)
y3  y6  y1  y1 y6
y5  y6  y1  y1 y6  y6  y3  y1
Inoltre con la tecnica del ‘bounding” si puo’ eliminare anche l’invertitore
all’ingresso di G6
Esempio 1
3
_
X
6
Soluzione 1
1
_
X
4
2
Z
5
figura 6.6.3
X
3
1
Soluzione 2
6
4
2
5
figura 6.6.4
Z
Esempio 2

Realizzare un contatore ad anello
 un
circuito a 1 ingresso e n uscite in cui l'uscita zj = 1
quando e solo quando si sono avute j + n.k (k = 0,1,....)
variazioni dell'ingresso.
 Tutte le altre uscite devono essere nulle.
Ingresso
Stato
x
0
1
Uscita
y1 y2
0
1
1
1
2
1000
00
00 / 1000
01/ ------
2
3
2
0100
01
11/ ------
01 / 0100
3
3
4
0010
11
11 / 0010
10/------
4
1
4
0001
10
00/ ------
10 / 0001
, ,
1 2
y y /z z z z
figura 6.6.5
1 2 3 4
Esempio 2
x
y'1  x. y 2  x . y1  y1 . y 2
y' 2  x. y 2  x .y1  y1 . y 2
(identico all’esempio 1)
z 1  x .y 2
z 2  x .y 1
z 3  x. y 2
z 4  x . y1
y1 y 2
0
1
00
00 / 1000
01/ ------
01
11/ ------
01 / 0100
11
11 / 0010
10/------
10
00/ ------
10 / 0001
, ,
1 2
y y /z z z z
Questa soluzione richiederebbe
al minimo 8 Nand e 6 invertitori
1 2 3 4
Esempio 2
Altra soluzione : Si codifichi lo stato con 4 variabili (le uscite coincidano
con le variabili di stato
x
y y y y
1 2 3 4
0000
4
0001
0011
3
2
1
0
1
-1001/--
0001/--
0010
0010/0010
0110
0010/--
--
0111
--
--
0101
--
--
0100
0110/--
0100/0100
1100
--
0100/--
1101
--
--
1111
--
--
1110
--
--
1010
--
--
1011
--
--
1000/--
1000
1000/1000
Codifica delle variabili secondo il
codice di Gray
2.
Identificazione degli stati 1 2 3 4
stabili di cui 1 e 3 per x=0 e 2 e 4 per
x=1
3.
Definizione delle uscite
4.
Utilizzo di transizioni Multiple
Es: 0010  0011  0001
5.
(Mappe di Karnaught per la
semplificazione)
6.
Descrizione delle relative equazioni
0001/0001
--
1001
1.
--
0011/--
y'1 = x. y 4+ y1.y 2
y'2 = x. y1+ y 2 .y 3
-1100/-,
y1, y2 y3, y4, / z z z z
1 2 3 4
figura 6.6.6
y'3 = x. y 2+ y 3.y 4
y'4 = x. y 3+ y1. y 4
Esempio 2
y' 1 = x . y 4 + y 1 . y 2
Notare che il circuito puo’ essere
realizzato in forma iterativa
y' 2 = x . y 1 + y 2 . y 3
y' 3 = x . y 2 + y 3 . y 4
y' 4 = x . y 3 + y 1. y 4
x
_
x
_
x
x
z1
z2
figura 6.6.7
z3
z4
Reti iterative

Si tenga conto di strutture 1D

Si possono trattare come circuiti
sequenziali

Ingressi primari = ingressi prorpi
 Ingressi secondari = stato attuale
 Uscite secondarie = stato futuro
 Uscite Primarie = uscite proprie
Ingressi della rete
Ingressi
al
contorno
Cella
1
Cella
2
(a)Rete iterativa
Ingressi al Contorno


(solitamente costanti)
Uscite al contorno

Uscite
al
contorno
Uscite della rete
x

Cella
n
Ingressi
secondari
dalla cella
j-1
Ingressi primari
x
x
1j
2j
y
1j
y
y
1,j+1
y
Uscite
secondarie
verso la cella
y
m ,j+1
j+1
Cella
2j
y
rj
2,j+1
j
mj
(solitamente uscite prorpie)
z
1j
z
2j
z
rj
Uscite primarie
(b) Cella tipica
figura 6.7.1
Esempio 1
Incremento (out = in +1)

y
z
j+1
xj
dal Data Bus
xj = 0
y
xj = 1
j
xj = 0
xj = 1
j
x1
x2
x3
xn
y
j
1
AND
AND
AND
AND
XOR
XOR
z2
z3
0
0
1
1
0
1
1
0
(b)
q
XOR
z
z1
0
AND
XOR
XOR
y j+1
0
j
xj
0
1
A
A,0
A,1
B
A,1
B,0
zn
qj+1 , z j
(a)
(c)
verso il registro
figura 6.7.2
figura 6.7.3
010010011010111+
000000000000001=
010010011011000
Stato A : y=0
Stato B : y=1
Esempio 2


Controllore continuo di parita’ su tutti i bit che via via si presentano
su di una linea seriale
In teoria si dovrebbero realizzare rispettivamente:
S11, S12 , S13,3 , S14,3 , S15,3,5 , S16,3,5 ,...

Soluzione iterativa
L’ingresso secondario (stato) sia A se la parita’ sugli ingressi primari
precedenti e’ dispari, altrimenti sia B
 L’uscita primaria sia 1 se la parita’ di tutti i bit che precedono piu’
la’ttuale e’ dispari
 L’uscita secondaria rappresenta la parita’ sui bit precedenti piu’ lattuale

x
A: Dispari
B: Pari
xj
j
0
1
A
A/1
B/0
B
B/0
A/1
Codifica:
A  y=1
B  y=0
(cosi’ z=y)
yj+1
yj
zj
Esempio 3
Dato un Bus su quale si possono avere n chiamate si vogliano
identificare le 2 a piu’ alta priorita’
Es: 01000100110110  01000100000000 (identifica 2 su 6)
00000001000000  00000001000000 (identifica 1 su 1)
Soluzione:
Stato A: non vi sono richieste a maggior priorita’
Stato B: vi e’ una sola richiesta a maggior priorita’
Stato C: vi sono 2 o piu’ richieste a priorita’ maggiore

Ingresso
Stato
xj =0
x
y
xj =1
A
A/0
B/1
B
B/0
C/1
C
C/0
C/0
Codifica:
A=00
B=01
C=11
y
j
0
2,j 1,j
1
00
00/0
01/1
y 2, j1  y 2, j  x j . y1, j
01
01/0
11/1
y1, j1  y1, j  x j
11
11/0
11/0
10
--/-
--/-
z j  x j .y 2, j
Stato/z j
y
y
2,j+1 1,j+1
/z
j
Esempio 3
x
y
y
j
0
2,j 1,j
1
00
00/0
01/1
01
01/0
11/1
11
11/0
11/0
10
--/-
--/y
x
y2,j
y
y
/z
y 2, j1  y 2, j  x j . y1, j
z j  x j .y 2, j
y2,j+1
1,j
y
2,j+1 1,j+1
y1, j1  y1, j  x j
j
j
z
j
figura 6.7.4
1,j+1
Fly UP