Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Cuprins
1 Algebr
a boolean
a si porti elementare
1.1
1.2
Teoreme si propriet
ati . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
1.4
1.5
12
15
2.1
Circuite cu multiplexoare . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.2
Decodificatoare. Demultiplexoare . . . . . . . . . . . . . . . . . . . . .
22
2.3
32
35
3.1
35
3.2
44
3.3
53
3.4
64
4 Circuite cu num
ar
atoare integrate
70
4.1
70
4.2
Divizoare de frecvent
a cu num
ar
atoare integrate . . . . . . . . . . . .
76
4.3
85
88
6 Aplicatii cu memorii
94
6.1
Extinderea capacit
atii de memorare
. . . . . . . . . . . . . . . . . . .
94
6.2
99
7 Registre de deplasare
119
7.1
119
7.2
127
7.3
134
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
Algebr
a boolean
a si porti elementare
1.1
Intre dou
a variabile a si b se definesc operatiile elementare descrise n tabelul 1.1.
ab
00
01
10
11
1
1
0
0
b
1
0
1
0
ab
0
0
0
1
ab
1
1
1
0
a+b
0
1
1
1
a+b
1
0
0
0
ab
0
1
1
0
ab
1
0
0
1
Tabelul 1.1
c
0
1
0
1
0
1
0
1
f
1
0
0
1
1
1
0
0
Rezolvare:
Cu variabile (nu este forma minima!):
f =a
b
c+a
bc + ab
c + abc
Cu produse canonice: f = P0 + P3 + P4 + P5
Cu sume canonice: f = S0 S3 S4 S5
Tabelul 1.2
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
1.2
Teoreme si propriet
ati
Propriet
atile operatiilor elementare:
0+X =X
1 + X = 1
SAU:
X +X =1
X +X =X
0X =0
1 X = X
S
I:
X X =0
X X =X
Teorema absorbtiei:
(
a+a
b=a+b
a
+a b=a
+b
Problema 2. S
a se demonstreze teorema absorbtiei.
Rezolvare:
a + b = 1 (a + b) = (a + a
) (a + b) = aa + ab + a
a+a
b
T
in
and cont de proprietatile operatiilor elementare, ultima ecuatie devine:
a + b = a + ab + a
b = a (1 + b) + a
b = a + a
b
Problema 3. S
a se demonstreze urmatoarea egalitate: a + ab = a
+ b
Rezolvare:
a
+ b = 1 a
+ b = (a + a
) a
+ b = a
a+a
a
+ ab + a
b =
=a
+ ab + a
b = a
1 + b + ab = a
+ ab
Problema 4. S
a se demonstreze urmatoarea egalitate: a
+b+a
+ b = a
Rezolvare:
DeM
a
+b+a
+ b = (
a + b) a
+ b = a
a
+a
b + a
b + bb =
=a
a
+ b + b = a
(
a + 1) = a
=a
2
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
Problema 5. S
a se demonstreze urm
atoarea egalitate: ab + bc + ac = a
b + b
c+a
c
Rezolvare:
DeM
DeM
ab + bc + ac = ab bc ac = a
+ b b + c (
a + c) =
= a
b + bb + a
c + b
c (
a + c) =
=a
a
b + a
bb + a
a
c + a
b
c + bb
c+a
cc + b
cc =
=a
b + a
b + a
c + a
b
c + b
c+a
c + b
c=
=a
b + a
c + b
c (1 + a
) = a
b + a
c + b
c
Problema 6. S
a se demonstreze urm
atoarea egalitate: a
bc + abc + abc = (a + b) c
Rezolvare:
a
bc + abc + abc = a
bc + ac b + b = a
bc + ac =
Abs
= c (a + a
b) = c (a + b)
Problema 7. S
a se minimizeze urm
atoarea functie: f = (a + bc) (a + cd)
Rezolvare:
(a + bc) (a + cd) = aa + abc + acd + bccd = a + abc + acd + bcd =
= a (1 + bc + cd) + bcd = a + bcd
Problema 8. S
a se minimizeze urm
atoarea functie: f = a
+ b + c + abc
Rezolvare:
DeM
a
+ b + c + abc = a
+ b + c + a
+ b + c = a
+ b + c
Problema 9. S
a se demonstreze urm
atoarea egalitate: a
+ ab = a
+b
Problema 10. S
a se demonstreze urm
atoarea egalitate: a + a
b = a + b
Problema 11. S
a se demonstreze urm
atoarea egalitate: a b + c + b + d + a
+ c = 1
Problema 12. S
a se demonstreze urm
atoarea egalitate: a (b + c + d) + abc + a
c=a
Problema 13. S
a se scrie sub form
a canonica functia f = ab + b
c.
Rezolvare: Pentru a forma termenii canonici de tipul produs, fiecare termen din
expresia functiei trebuie s
a contin
a toate variabilele. Considerand faptul ca n expresia
functiei apar doar variabilele a, b si c, se observa ca din primul termen lipseste c, iar
din al doilea termen lipseste a. Pentru a introduce variabila c lipsa n primul termen,
se nmulteste cu c + c = 1. Similar, al doilea termen se nmulteste cu a + a
= 1.
Rezult
a:
3
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
f = ab + b
c = ab (c + c) + (a + a
) b
c=
a
b
c = P2 + P4 + P5 + P6
ab
c + |{z}
ab
c + |{z}
= |{z}
abc + |{z}
P5
P4
P6
P2
Problema 14. S
a se scrie sub forma canonica functia f = abc + bd + abd.
Rezolvare: Functia are 4 variabile, a, b, c si d. Inmultind pe rand termenii ca si n
problema precedent
a rezulta:
f = abc + bd + abd = abc d + d + (a + a
) (c + c) bd + abd (c + c) =
= abcd + abcd + (a + a
) bcd + b
cd + abcd + ab
cd =
+ ab
+ a
+ a
+ abcd + ab
+
abc
d
c
d
bc
d
b
c
d
c
d
= abcd
|{z} |{z} |{z} |{z} |{z} |{z} |{z} =
P15
P14
P12
P6
P4
P11
P9
1.3
Reguli generale
se grupeaz
a 1 si X adiacente n grupuri cat mai mari de dimensiune egala cu o
putere a lui 2 (de ex. 1, 2, 4, 8, sau 16). Alte dimensiuni ale grupurilor formate
nu sunt permise. Scopul este sa se includa fiecare valoare de 1 n cel putin un
grup. Valorile X pot ramane negrupate. Procedura de formare a grupurilor este
complet
a atunci cand nu a mai ramas nici un 1 negrupat;
la formarea grupurilor pot fi considerate adiacente si elementele de pe marginile
sau colturile opuse ale diagramei;
fiec
arui grup i va corespunde un termen de tip produs, format din variabilele
care si p
astreaza valoarea pentru toate elementele grupului. Daca variabila are
valoare 1 se trece n expresia produsului direct, iar daca are valoarea 0 atunci se
trece negat;
dup
a identificarea termenilor de tip produs corespunzatoare tuturor grupurilor
expresia final
a a functiei se obtine printr-o operatie de adunare (SAU logic) ntre
toti termenii de tip produs;
dac
a exist
a parametrii n diagrama (alte valori decat 1 sau X), acestia se consider
a pentru nceput egali cu 0 si se minimizeaza functia conform regulilor precedente. Dup
a minimizare, parametrii vor fi considerati egali cu 1 si grupati cu
elementele 1 si X n mod obisnuit. Un parametru si valideaza grupul, adic
a va
fi inclus n termenul de tip produs corespunzator grupului din care face parte.
4
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
Problema 15. S
a se minimizeze functia logica data prin diagrama Karnaugh din
figura 1.1.
Figura 1.1
Figura 1.2
Rezolvare: f = a
+ b
Problema 16. S
a se minimizeze functia logica data prin diagrama Karnaugh din
figura 1.2.
Rezolvare: f = b + a
c
Observatie: atentie la numerotarea grilei - 11 si schimba locul cu 10 pentru a
permite unei variabile s
a-si p
astreze valoarea la trecerea dintre oricare doua casute
adiacente. C
asutele de pe laturile opuse ale diagramei se considera tot adiacente.
Problema 17. S
a se minimizeze functia logica data prin diagrama Karnaugh din
figura 1.3.
Figura 1.3
Figura 1.4
Rezolvare: f = abc + a
c + b
c
Problema 18. S
a se minimizeze functia logica data prin diagrama Karnaugh din
figura 1.4.
Rezolvare: f = b + c + a f = b + c
Observatie: Un X pe pozitia 110 poate r
amane negrupat deoarece scopul grupurilor este s
a includem toate valorile de 1 cel putin ntr-un grup. Astfel, adaugarea
lui a nu este corect
a deoarece rezult
a din gruparea unei valori X ramase libere
(grupul cu linie ntrerupt
a) n ciuda faptului ca toate elementele de 1 au fost deja
grupate.
5
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
Problema 19. S
a se minimizeze functia logica data prin diagrama Karnaugh din
fiugra 1.5.
Figura 1.5
Figura 1.6
Figura 1.7
Rezolvare: f = b + a
c + cd
Problema 20. S
a se minimizeze functia logica data prin diagrama Karnaugh din
figura 1.6.
Rezolvare: f = a
c + ac + b d + bcd + mcd
Problema 21. S
a se minimizeze functia logica data prin diagrama Karnaugh din
figura 1.7.
Rezolvare: f = a
c + a
d + b d + m
ab + mab
Observatie: chiar daca tin de aceeasi variabila, m si m sunt parametrii diferiti.
In consecint
a nu pot fi grupati mpreuna (nu pot fi simultan 1).
Observatie: pentru functii date ca si termeni canonici, diagramele Karnaugh se
completeaz
a ca n figura 1.8.
12
13
15
11
14
10
Figura 1.8
Problema 22. S
a se minimizeze urmatoarea functie logica: f = P0 + P1 + P5 + P7
Rezolvare: Diagrama Karnaugh corespunzatoare functiei este data n figura 1.9.
Expresia functiei rezulta f = a
b + ac.
6
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
Problema 23. S
a se minimizeze urm
atoarea functie logica: f = P0 + P2 + P8 + P10
Figura 1.9
Figura 1.10
1.11. Rezult
af =a
b
c + abd.
Figura 1.11
Figura 1.12
Problema 25. S
a se minimizeze urm
atoarea functie logica: f = P1 + P2 + P5 + P6 +
P9 + P10 + P13 + P14 . S
a se exprime rezultatul cu ajutorul operatiilor logice SI-NU.
Rezolvare: Folosind teorema lui De Morgan, din figura 1.12 se obtine f = cd + cd =
cd cd
Problema 26. S
a se minimizeze urm
atoarea functie logica definita cu ajutorul tabelului de adev
ar:
7
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
abcd
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
f
1
1
0
0
X
X
1
m
X
X
n
n
X
1
1
0
Rezolvare: f = c + bd + m
ab + nab
Tabelul 1.3
1.4
Porti elementare
Figura 1.13
Problema 27. S
a se minimizeze urmatoarea functie logica si sa se implementeze cu
porti S
I-NU: f = P3 + P5 + P7 .
Figura 1.14
Rezolvare: f = bc + ac = bc ac
8
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
Problema 28. S
a se minimizeze urm
atoarea functie logica si sa se implementeze cu
porti S
I-NU: f = P3 + P7 + P8 + P9 + P12 + P13 + P15 .
Figura 1.15
Rezolvare: f = a
c+a
cd + abd = a
ca
cd abd
Problema 29. S
a se minimizeze urm
atoarea functie logica si sa se implementeze cu
porti SAU-NU: f = P1 + P2 + P3 + P5 .
Figura 1.16
Rezolvare: f = a
b + bc = a + b + b + c.
Problema 30. S
a se minimizeze urm
atoarea functie logica si sa se implementeze cu
porti SAU-NU: f = P0 + P1 + P5 .
Figura 1.17
Rezolvare: f = a
b + bc = a + b + b + c.
Problema 31. S
a se proiecteze un circuit combinational care sa detecteze numerele
divizibile cu 3, numerele mai mari sau egale cu 7 si numerele mai mici sau egale cu 4.
Rezolvare: Atribuim c
ate o functie la cele trei categorii de detectie: f1 (div. cu 3), f2
(7) si f3 (4). Deoarece avem numere mai mari decat 7, avem nevoie de 4 variabile
(24 > 7, num
ararea se face de la 0).
9
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
abc
0000
0001
0010
0011
0100
0101
0110
0111
1100
1101
1110
1111
1100
1101
1110
1111
f1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
f2
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
f3
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
Tabelul 1.4
Se minimizeaz
a fiecare functie si se implementeaza cu porti.
ab
cd 00
00
01
11 10
1
1
01
11 1
10
ab
cd 00
00
1
1
01
01
11
ab
cd 00
00 1
01 1
11 1
10
11 10
10
2
01
11 10
1
3
Figura 1.18
Rezult
a expresiile:
bcd + a
bcd + ab
cd + ab
cd + abcd = a
bcd a
bcd ab
cd ab
cd abcd
f1 = a
f2 = a + bcd = a
bcd
f = a
b + a
cd = a
b a
cd
3
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
Figura 1.19
ab
00
01
11 10
1
0
1
Figura 1.20
Problema 33. S
a se proiecteze un circuit logic combinational care sa furnizeze la
iesire variabila a dac
a un parametru m este 0 si variabila b daca m este 1.
Rezolvare: Dac
a m=0, atunci f =a. In tabelul 1.5 se copiaza variabila a pe coloana
11
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
mab
000
001
010
011
100
101
110
111
f
0
0
1
1
0
1
0
1
Tabelul 1.5
1.5
Figura 1.21
Problema 34. S
a se determine functia logica implementata de urmatorul circuit.
Figura 1.22
Rezolvare: Urm
arind tabelele de adevar ale portilor rezulta f = (a b) + bc
Problema 35. S
a se determine functia logica implementata de circuitul din figura
1.23.
Rezolvare: f = b
ca
c a
c
Problema 36. S
a se implementeze circuitul din figura 1.24 cu porti SAU-NU.
Rezolvare: In primul pas se gaseste expresia functiei f tinand cont de tabelele de
adev
ar ale portilor elementare. In urmatorul pas se exprima functia gasita cu ajutorul
operatiilor SAU-NU. Rezulta:
12
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
i
h
f = ab + a
b (b + c) a
b
c = ab + a
b [(b + c) (a + b + c)]
= ab + a
b (b + c) a + b + c + b + c (a + b + c) =
= ab + a
b (b + c) a
b
c + b
c (a + b + c) =
= ab + a
b b
c (
ab + a
c + a + b + c) =
= ab + a
b b
c [b (
a + 1) + c (
a + 1) + a] =
= ab + a
b b
c (a + b + c) = ab + a
b ab
c=
+b+c
= ab
c=a
Figura 1.23
Figura 1.24
Problema 37. S
a se implementeze circuitul din figura 1.25 cu porti SI-NU.
Figura 1.25
Figura 1.26
BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE
f = (a b) b c = ab + a
b bc + b
c =
= ab + a
b bc + b
c + ab + a
b bc + b
c =
b bc + b
c =
= ab + a
b bc b
c + ab a
= ab + a
b b + c (b + c) + (
a + b) a + b bc + b
c
= ab + a
b b
c + bc + a
b + ab bc + b
c
= abc + a
b
c+a
b
c + abc = ac + a
c = ac a
c
Implementarea corespunzatoare cu porti SI-NU este data n figura 1.26.
14
2
2.1
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
Problema 1. S
a se implementeze un MUX4:1 cu porti logice.
Rezolvare: MUX4:1 are 4 intr
ari de date si 2 intrari de adresa. Astfel, daca se
minimizeaz
a functia logic
a cu metoda clasic
a, va fi nevoie de o diagrama Karnaugh cu
6 variabile. In locul diagramei cu 6 variabile este mai practic sa se utilizeze intrarile de
date ca parametrii si intr
arile de adres
a ca variabile. Rezulta diagrama cu 2 variabile
si 4 parametri din figura 2.1.
Figura 2.1
Y = I 0 A1 A0 + I 1 A1 A0 + I 2 A1 A0 + I 3 A1 A0
Implementarea corepunz
atoare cu porti logice este data n figura 2.2.
Figura 2.2
Problema 2. S
a se implementeze un MUX4:1 cu MUX2:1 (extinderea capacitatii de
multiplexare).
Rezolvare: Din tabelul de adev
ar de la problema 1 se observa ca A1 ofera posibilitatea
de a alege ntre I0 /I1 (prima jum
atate a tabelului) sau I2 /I3 . Totodata, pentru fiecare
15
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
dintre aceste alegeri A0 ne permite sa selectam mai departe cate o intrare dintre
perechile I0 -I1 sau I2 -I3 . Din punctul de vedere al implementarii cu circuite, fiecare
alegere reprezint
a un nivel de MUX2:1. Pentru a selecta ntre 4 intrari trebuie s
a
facem n total 2 alegeri, avand deci nevoie de 2 nivele de multiplexare. Implementarea
cu MUX2:1 rezult
a ca n figura 2.3.
Observatie: adresa mai semnificativa (A1 n acest caz) este mai aproape de
iesirea ntregului MUX4:1.
Problema 3. S
a se extinda capacitatea unui multiplexor la 16 linii de intrare
folosind celule elementare MUX4:1.
Rezolvare: Un MUX16:1 va avea 4
intr
ari de adres
a. Cele doua adrese mai
semnificative, A3 si A2 permit selectia
grupurilor de intr
ari I0 -I3 , I4 -I7 , I8 I11 si I12 -I15 . Implementarea acestei
selectii implic
a utilizarea unui MUX4:1
la al c
arui adrese se conecteaza A3 si
A2 corespunz
atoare multiplexorului exFigura 2.3
tins. Adresele r
amase neutilizate permit
selectia intr
arilor individuale din grupurile de mai sus. Fiecare grup este format din
4 linii de intrare distincte, alegerea uneia dintre intrarile asociate cu acelasi grup se
va face cu un MUX4:1 aditional. Adresele acestui multiplexor vor fi A1 si A0 . Astfel,
pentru a selecta o singura intrare din cele 16 va fi nevoie de doua nivele de multiplexare, fiecare dintre acestea implementandu-se cu MUX4:1. Schema multiplexorului
extins la 16 linii de intrare este data n figura 2.4.
1
0
1 3
I11 I10 I9 I8
0
1 3
I7 I6 I5 I4
1 3
3
3
I3 I2 I1 I0
0
1 3
Figura 2.4
Problema 4. S
a se implementeze un MUX8:1 folosind MUX2:1 si MUX4:1.
Rezolvare: Multiplexorul cu 8 linii de intrare va avea 3 linii de adresa, notate cu
A2 , A1 si A0 . Prima varianta de solutie a problemei implica extinderea capacitatii de
16
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
I0
I1
I2
I3
A1
A0
I5
I6
I7
I8
I0
I1
I2
I3
A1
A0
I0
I1
I2
I3
A1
A0
I0
I1
A0
Y
I0
I1
I0
I1
A
I5
I6
A2 A
A
I2
I3
I0
I1
I0
I1
A
I7
I8
I0
I1
A2
A1
I0
I1
I2
I3
A1
A0
Y Y
A
Figura 2.5
Problema 5. S
a se implementeze functia f , data prin tabelul de adevar 2.1 cu un
MUX8:1, un MUX4:1 si un MUX2:1.
Rezolvare:
MUX8:1
La primul pas se compar
a num
arul liniilor din tabelul de adevar cu numarul intrarilor
de date ale multiplexorului cu care se va implementa functia. Daca multiplexorul este
un MUX8:1 (primul punct al problemei) iar functia este data prin tabelul de mai sus,
atunci num
arul intr
arilor de date este egal cu numarul liniilor din tabel. In acest caz
variabilele a, b si c pot fi considerate adrese, iar functia se implementeaza prin simpla
selectie a uneia dintre intr
ari. De exemplu, pentru combinatia 011 la adrese functia va
17
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
f
0
0
0
1
0
1
1
1
Figura 2.6
Tabelul 2.1
La fel se procedeaz
a pe rand cu toate intrarile, astfel ncat numarul de ordine a
r
andurilor de tabel va corespunde cu numarul de ordine a intrarii de date la care
se copiaz
a valoarea functiei din tabel. Circuitul cu MUX8:1 este ilustrat n figura 2.6.
MUX4:1
Dac
a num
arul intr
arilor disponibile la multiplexorul tinta este mai mic decat num
arul
liniilor de tabel, atunci se restrange tabelul astfel ncat sa ncapa n multiplexor.
Consider
and tabelul de adevar de mai sus si implementarea cu MUX4:1 se observ
a c
a,
pentru a face tabelul sa ncapa n MUX, este necesar sa se grupeze randurile tabelului
c
ate dou
a.
abc
abc
f
ab
Figura 2.7
In urm
atorul pas se restrang adresele, raman adrese numai variabilele care permit
trecerea (nu se modifica) n interiorul unui grup de 2 randuri. De exemplu, n grupul
000-001 doar a si b r
aman adrese deoarece acestea au aceeasi valoare pentru ambele
r
anduri. Variabila c si schimba valoarea de la 0 la 1 si astfel nu se va considera adres
a
(figura 2.7).
Dup
a restr
angerea adreselor se restrange functia depinzand de variabilele ramase neutilizate (n cazul de fata c). Pentru fiecare grup de 2 randuri va rezulta o valoare unic
a
18
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
restr
ans
a care poate fi numai 0, 1, c sau c. Tabelul restrans (de 4 randuri) poate fi
implementat direct cu un MUX4:1 ca n figura 2.8.
Figura 2.8
Observatie: Atentie la cel mai semnificativ bit! Variabila care se schimba cel
mai rar se conecteaz
a la adresa cea mai importanta a MUX.
MUX2:1
abc
abc
f
bc
f
bc
b+c
b+c
Figura 2.9
Problema 6. S
a se implementeze cu MUX4:1 si apoi cu MUX2:1 functia f = P0 +
P4 + P5 + P8 + P9 + P10 + P12 + P14 .
Rezolvare: La implementarea functiilor cu multiplexoare minimizarea functiei nu are
utilitate deoarece restr
angerea adreselor si functiei se face n tabelul de adevar 2.2.
19
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
abcd
0000
0001
0010
0011
0100
0101
0110
0111
1100
1101
1110
1111
1100
1101
1110
1111
f
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
0
Figura 2.10
Figura 2.11
Tabelul 2.2
MUX4:1
Tabelul de adev
ar se grupeaza cate 4 pentru a adapta 16 combinatii la 4 intrarii ale
MUX4:1. Adresele r
aman a si b, iar functia se restrange cu variabilele c si d. Rezult
a
schema din figura 2.11.
MUX2:1
Tabelul de adev
ar se grupeaza cate 8, adresa ramane numai a, iar functia se restr
ange
cu variabilele b, c si d. Daca nu se observa operatii elementare, atunci restrangerea
functiilor partiale se face cu diagrame Karnaugh (figura 2.12). Rezulta implementarea
cu MUX2:1 si porti logice din figura 2.13.
Figura 2.12
Problema 7. S
a se implementeze cu MUX2:1 si arbori binari functia f = P0 + P2 +
P5 + P6 + P8 + P9 + P10 + P15 .
Rezolvare: Solutia problemei implica constructia tabelului de adevar si mpartirea
progresiv
a a acestuia n jumatati pana cand grupurile vor contine numai doua linii.
20
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
Figura 2.13
Dac
a functia este de patru variabile, la final vor rezulta 8 grupuri de 2 linii, acestea fiind
corespunz
atoare frunzelor arborelui (tabelul 2.5). Fiecare mpartire corespunde unui
nivel de multiplexoare cu dou
a canale av
and la adrese variabila constanta n interiorul
grupurilor. Aceast
a abordare este util
a daca tabelul de adevar se construieste usor
din expresia functiei.
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
abcd
000
001
010
011
100
101
110
111
100
101
110
111
100
101
110
111
f
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
Tabelul 2.3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
abcd
000
001
010
011
100
101
110
111
100
101
110
111
100
101
110
111
f
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
Tabelul 2.4
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
abcd
000
001
010
011
100
101
110
111
100
101
110
111
100
101
110
111
f
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
d
d
d
d
1
d
0
d
Tabelul 2.5
Observatie: Dac
a dou
a grupuri consecutive se restrang la aceeasi expresie a
functiilor partiale, un MUX2:1 este eliminat din circuit. De exemplu, primele
dou
a grupuri se restr
ang la d astfel nc
at nu este nevoie de un multiplexor pentru
a face diferent
a ntre primele dou
a grupuri din tabel. Practic, functia partiala pe
acea ramur
a a arborelui nu va mai depinde de variabila c.
Circuitul corespunz
ator este dat n figura 2.14.
Problema 8. S
a se implementeze cu MUX2:1 si arbori binari functia f = a
b
c+a
cd+
b
cd + ab
cd + abcd.
Rezolvare: Solutia pleac
a de la expresia analitica a functiei. Se considera una din
21
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
0
1
0
0
1
Figura 2.14
Figura 2.15
2.2
Decodificatoare. Demultiplexoare
Problema 9. S
a se implementeze un decodificator BCD-7 segmente. Functiile specifice fiec
arui segment se vor implementa dupa cum urmeaza:
22
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
0
1
0
1
0
0
1
Figura 2.16
X1 cu MUX4:1;
X2 cu MUX8:1;
X3 cu porti S
I-NU;
X4 cu MUX4:1 si porti S
I-NU;
X5 cu MUX2:1;
X6 cu porti SAU-NU;
X7 numai cu MUX2:1.
Rezolvare: Afisajul cu 7 segmente si simbolurile afisate sunt urmatoarele:
2
1
3
6
Figura 2.17
Rezult
a tabelul de adev
ar 2.6 corespunz
ator:
X1 - Tabelul se grupeaz
a n c
ate 4 linii, iar intrarile multiplexorului sunt I0 =
c + d, I1 = cd, I2 = cd si I3 = cd.
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
ab
00
00
00
00
01
01
01
01
10
10
10
10
11
11
11
11
cd
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
X1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
1
X2
1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1
X3
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
0
X4
0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
X5
1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
X6
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0
X7
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
0
Tabelul 2.6
0
1
2
3
1
0
Figura 2.18
X3 = a
b + b
c + b d + a
cd + acd + a
cd + a
cd =
=a
b b
c b d a
cd acd a
cd a
cd
24
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
Figura 2.19
Figura 2.20
Implementarea corespunz
atoare este:
Figura 2.21
X4 - Intr
arile multiplexorului sunt I0 = c, I1 = cd, I2 = 1 si I3 = c + d = c d,
iar circuitul este ilustrat n figura 2.22.
Figura 2.22
Figura 2.23
25
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
X5 - Intr
arile minimizate ale MUX2:1 se scriu cu ajutorul diagramei Karnaugh
din figura 2.23. Circuitul corespunzator este dat n figura 2.24.
(
I0 = b d + cd = d c + b
cd
I1 = b
0
5
1
Figura 2.24
Figura 2.25
X6 = ab + a
b + cd + a
c + a
d =
= a + b + a
+ b + c + d + (
a + c) + a
+d
Figura 2.26
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
0
1
0
1
0
0
0
1
0
1
Figura 2.27
Problema 10. S
a se implementeze cu porti logice un decodificator 3:8 cu iesiri active
pe 1.
Rezolvare: Se porneste de la functionarea impusa a decodificatorului. Acesta trebuie
s
a activeze o singur
a iesire n functie de adresa de intrare. Tabelul de adevar 2.7
consider
a iesirile O0 O7 (2n iesiri unde n este numarul bitilor de adresa) ca si functii
individuale, specific
and valoarea acestora pentru fiecare combinatie de adrese posibile,
codificate pe 3 biti.
A2 A1 A0
000
001
010
011
100
101
110
111
O0
1
0
0
0
0
0
0
0
O1
0
1
0
0
0
0
0
0
O2
0
0
1
0
0
0
0
0
O3
0
0
0
1
0
0
0
0
O4
0
0
0
0
1
0
0
0
O5
0
0
0
0
0
1
0
0
O6
0
0
0
0
0
0
1
0
O7
0
0
0
0
0
0
0
1
Tabelul 2.7
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
2
1
Figura 2.28
Rezolvare: Asa cum s-a aratat n problema 2, DCD cu iesirile active pe 1 calculeaz
a
termeni canonici de tip Pi . Astfel, pentru a implementa functia f , iesirile se aduna simplu cu ajutorul unei porti SAU conform termenilor prezenti n definitia functiei, iar la
adresele decodificatorului se conecteaza variabilele de intrare n ordinea descrescatoare
a importantei. Rezulta schema:
0
2
1
0
1
2
3
4
5
6
7
Figura 2.29
Problema 12. S
a se implementeze functia f = P0 + P1 + P5 + P6 cu un decodificator
3:8 av
and validarea si iesirile active pe 0.
Rezolvare: Decodificatorul activeaza (daca iesirile sunt active pe 0, atunci seteaz
a
0) o singur
a iesire din 8. Indexul iesirii activate este determinat de adresa pe 3 biti,
n mod similar ca si la varianta activa pe 1. De exemplu, daca DCD este validat, iar
adresa este 011, atunci iesirea O3 va fi 0, toate celelalte iesiri fiind 1.
Din modul de functionare se remarca faptul ca DCD cu iesiri active pe 0 implementeaz
a
termeni canonici de tipul suma, Si . Pentru implementarea functiei este necesar s
a se
introduc
a termeni canonici de tipul Si n ecuatia initiala de definitie a functiei:
DeM
f = P0 + P1 + P5 + P6 = P 0 P 1 P 5 P 6 = S0 S1 S5 S6
Astfel, iesirile corespunzatoare termenilor care apar n forma cu Si a functiei se
nmultesc la iesire cu ajutorul unei porti SI-NU care va nlocui poarta SAU-NU de
la varianta de implementare cu iesiri active pe 1. Rezulta:
28
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
0
2
1
0
1
2
3
4
5
6
7
Figura 2.30
Problema 13. S
a se implementeze functia f = P1 + P4 + P5 + P9 + P14 cu decodificatoare 3:8 av
and valid
ari si iesiri active pe 0.
Rezolvare: Din definitia functiei se observ
a ca apar termeni de ordin mai mare decat
7 care nu pot fi implementati n mod conventional cu un singur decodificator 3:8. In
aceste cazuri se impune extinderea capacit
atii de decodificare.
Indiciul spre modul de extindere l d
a tabelul de adevar, grupat n doua grupuri egale
de c
ate 8 r
anduri. Deosebirea dintre cele doua grupuri este data de variabila cea mai
semnificativ
a (de ex. a), care r
am
ane constanta pentru toate liniile dintr-un grup
(similar ca si la MUX2:1).
Termenii canonici dintr-o jum
atate de tabel pot fi implementati direct cu un singur
DCD3:8. Astfel, termenii cu num
ar de ordin 0-7 vor fi implementati de un DCD3:8,
iar termenii 8-15 de un alt DCD3:8 identic.
Ambele decodificatoare au ca biti de adres
a variabilele care fac selectia ntre iesiri
(b, c si d). La un moment dat vor exista perechi de termeni canonici care provin de
la aceeasi combinatie de adrese, dar jum
at
ati diferite de tabel. De exemplu, pentru
bcd=100 vor fi activate iesirile O4 de pe ambele decodificatoare.
Alegerea dintre cele dou
a iesiri active simultan se va face cu ajutorul variabilei a.
Cea mai simpl
a metod
a de alegere implic
a utilizarea intrarilor de validare ale decodificatoarelor. Dac
a termenul canonic implementat este din gama 0-7 si validarea
decodificatoarelor este activa pe 0, atunci a=0 va activa primul DCD3:8, iar printr-un
inversor aditional va dezactiva al doilea DCD3:8 anuland efectul de selectie al adreselor. Dac
a a=1, atunci primul DCD va fi dezactivat, iar al doilea va furniza termenul
canonic corect.
Pentru a obtine functia, se procedeaz
a n mod identic ca si n cazul unui singur DCD3:8,
adic
a se introduc termenii de tip Si n expresia functiei si se nmultesc iesirile corespunz
atoare cu ajutorul unei porti S
I-NU. Schema circuitului este data n figura 2.31.
Problema 14. S
a se implementeze functia f = P1 + P3 + P6 + P7 cu decodificatoare
2:4 cu validare si iesiri active pe 0, iar apoi cu DCD2:4 cu validare activa pe 0 si iesiri
active pe 1.
29
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
0
1
4
5
6
7
0
1
4
5
6
7
Figura 2.31
Rezolvare: DCD2:4 sunt similare cu cele 3:8, dar au numai 2 adrese care selecteaz
a4
iesiri. Datorit
a faptului ca n expresia functiei apar termeni de ordin mai mare dec
at
3, este nevoie de extinderea capacitatii de decodificare folosind aceeasi metoda ca si
n problema 13. Pentru cele doua variante de implementare rezulta schemele:
b
A2
A1
G
A2
A1
G
O0
O1
O2
O3
A2
A1
O0
O1
O2
O3
A2
A1
G
O0
O1
O2
O3
O0
O1
O2
O3
Figura 2.32
Problema 15. S
a se implementeze un convertor de cod pe 3 biti din Gray n BCD
cu decodificatoare 3:8 avand validarile si iesirile active pe 0.
Rezolvare: Codul Gray reprezinta o metoda de numarare la care doua randuri consecutive din tabelul de adevar se diferentiaza printr-un singur bit. Corespondenta dintre
codul BCD (Binary Coded Decimal codul de numarare obisnuit) si codul Gray este
dat
a n tabelul 2.8. Se observa urmatoarele egalitati:
x = a
y = P2 + P3 + P4 + P7
z = P1 + P2 + P6 + P7
30
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
ab
00
00
01
01
10
10
11
11
c
0
1
0
1
0
1
0
1
x
0
0
0
0
1
1
1
1
y
0
0
1
1
1
0
0
1
z
0
1
1
0
0
0
1
1
Tabelul 2.8
a
b
c
A2
A1
A0
G
O0
O1
O2
O3
O4
O5
O6
O7
a
b
c
A2
A1
A0
G
O0
O1
O2
O3
O4
O5
O6
O7
Figura 2.33
Problema 16. S
a se implementeze un demultiplexor cu 16 canale cu ajutorul unor
decodificatoare 3:8, av
and iesirile active pe zero si doua validari dintre care una activa
pe 1 si cealalt
a activ
a pe 0.
Rezolvare: Demultiplexorul este un comutator cu adresa care comut
a o singur
a intrare la una din iesirile posibile n
functie de o adres
a. Dac
a se consider
a un
DMUX cu 16 canale, acesta va avea nevoie de 4 biti de adres
a. Pentru a implementa acest DMUX1:16 cu DCD3:8 este
nevoie s
a definim cele 4 adrese si 16 iesiri
posibile. Acest lucru se face prin extinderea capacit
atii de decodificare. Pentru extindere se poate folosi oricare dintre intr
arile de validare.
Dup
a extinderea capacit
atii de decodificare singura problem
a r
am
ane g
asirea
unei intr
ari potrivite pentru semnalul deFigura 2.34
multiplexat. Aceasta poate fi indetificat
a
tin
and cont de faptul c
a o iesire activat
a urmareste semnalul de validare la iesirea selectat
a cu ajutorul adreselor. De exemplu, daca adresa selectata a decodificatorului
cu iesiri active pe 0 este 011 si iesirile sunt validate, atunci O3 va fi 0. Daca adresa
se mentine, dar circuitul se invalideaz
a (intrarea de validare conectata la 1), la iesirea
31
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
2.3
Figura 2.35
f = Y = I0 A1 A0 + I1 A1 A0 + I2 A1 A0 + I3 A1 A0 =
= c
ab + a
b 1 + ab 0 + ab
c=a
bc + a
b + ab
c
Problema 18. Dati expresia analitica a functiei logice implementate de urmatorul
circuit.
Figura 2.36
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
Problema 19. Dati forma cu termeni canonici de tip produs a functiei logice implementate de circuitul din figura 2.37.
0
1
3
0
6
1
2
3
1
0
12
15
Figura 2.37
f = P0 + P1 + P3 + P6 + P9 + P12 + P15
Problema 20. S
a se implementeze circuitul din figura cu un MUX4:1.
Figura 2.38
Rezolvare: Analiz
and circuitul rezult
a expresia functiei f .
33
MULTIPLEXOARE, DEMULTIPLEXOARE S
I DECODIFICATOARE
DeM
ab
c
abc + |{z}
a
bc + |{z}
f =a
b
ca
bc abc ab
c = |{z}
a
b
c + |{z}
P1
P0
P5
P6
Tabelul de adev
ar si implementarea circuitului cu MUX4:1 sunt urmatoarele:
abc
000
001
010
011
100
101
110
111
f
1
1
0
0
0
1
1
0
Tabelul 2.9
Figura 2.39
Problema 21. S
a se scrie n forma canonica folosind sume functia implementat
a de
urm
atorul circuit:
Figura 2.40
f = P0 + P3 + P4 + P7 = P 0 P 3 P 4 P 7 = S0 S3 S4 S7
34
3.1
si sa
Problema 1. S
a se analizeze functionarea circuitului din Figura 3.1 (latch SR)
se construiasc
a tabelul de adev
ar.
S R
00
01
10
11
Figura 3.1
Q
0
1
0
1
0
1
0
1
Q
1
0
1
0
1
0
1
0
Q+
1
1
1
1
0
0
0
1
Q
1
1
0
0
1
1
1
0
Tabelul 3.1
Tabelul de analiz
a
restr
ans:
SR
00
01
10
11
Q+
*
1
0
Q
Tabelul de proiectare:
Q Q+
00
01
10
Tabelul 3.2
11
Tabelul de proiectare
restr
ans:
SR
11
10
01
**
10
**
11
01
Q Q+
00
01
10
11
SR
1X
01
10
X1
Tabelul 3.4
Tabelul 3.3
de la Problema
Problema 2. S
tiind tabelul de adevar si functionarea latchului SR
1, s
a se construiasc
a tabelele de adevar pentru analiza si pentru proiectare corespunz
atoare latchului SR cu tact/validare (figura 3.2).
CK S R
000
001
010
011
100
101
110
111
Figura 3.2
Q+
Q
Q
Q
Q
Q
0
1
*
Tabelul 3.5
SR1 (master) este transparent pe palierul 1 al semnalului de tact CK. Atat timp
c
at CK = 1, Q1 si Q1 variaza conform tabelului de adevar dedus la Problema 2.
Latch-ul SR2 este invalidat (CK = 0 prin inversor) si astfel Q2 si Q2 (implicit
iesirile bistabilului) si pastreaza starea indiferent de S2 -R2 ;
36
Figura 3.3
Figura 3.4
SR2 (slave) este transparent pe palierul 0 al semnalului de tact CK, timp n care
SR1 si p
astreaz
a starea indiferent de variatia intrarilor S1 -R1 . Astfel, SR2 , desi
transparent, primeste la intr
arile S2 -R2 comenzi constante si si mentine starea.
Din cele dou
a observatii rezult
a c
a semnalele de comanda S si R vor fi esantionate
sincron cu frontul descendent al semnalului de tact, iar iesirile Q-Q si vor schimba
starea strict sincron cu acelasi front descendent. Tabelul de adevar al bistabilului este
acelasi ca si la latchul SR, astfel se mentine combinatia interzisa de comenzi la intrare.
Modificarea iesirilor poate fi sincronizat
a si cu frontul ascendent daca inversorul de pe
linia de tact se mut
a la latch-ul master. Pentru a elimina combinatia de comenzi
interzis
a se adaug
a dou
a conexiuni suplimentare de reactie care sa forteze iesirile n
starea opus
a la comanda dubl
a. Rezultatul este bistabilul de tip JK, activ pe frontul
semnalului de tact.
Problema 4. S
a se analizeze functionarea bistabilului JK din figura 3.5.
Rezolvare: Comanda dubl
a (J=1, K=1) face ca starea
urm
atoare a iesirilor s
a depind
a numai de starea actuala
Q-Q. Dac
a al
aturi de J se d
a comanda Q (conexiunea
marcat
a cu linie ntrerupt
a), atunci aceast
a comanda va
fi simplu copiat
a la Q+ . Similar, comanda Q va fi copiata
+
la Q . Rezultatul este trecerea iesirilor n starea opusa
(tabelul 3.6).
J K
00
01
10
11
Q+
Q
0
1
Q
Tabelul 3.6
Tabelul corespunz
ator de proiectare se obtine considerand
c
a din starea 0 la iesire n aceeasi stare 0 se poate trece
fie prin comand
a de mentinere (J=0, K=0), fie prin comanda de Reset (J=0, K=1).
Similar, din 0 n 1 se trece fie prin Set (J=1, K=0), fie prin schimbarea starii (J=1,
K=1). Cu aceeasi metod
a se pot deduce comenzile necesare pentru celelalte doua
37
Figura 3.5
Figura 3.6
Q Q+
00
00
01
01
10
10
11
11
J K
00
01
10
11
01
11
00
10
actiune
mentine 0
Reset
Set
stare opusa
Reset
starea opusa
mentine 1
Set
Q Q+
00
01
10
11
0a
1a
Tabelul 3.7
J K
0X
1X
X1
X0
aX
Xa
Tabelul 3.8
Pentru a restr
ange tabelul se observa ca, de exemplu pentru tranzitia 0 0, J trebuie
s
a fie obligatoriu 0, iar K poate fi 0 sau 1 (indiferent). Comanda restransa rezult
a
J=0, K=X. Similar se pot determina comenzile necesare pentru celelalte tranzitii.
Comenzile de restr
anse sunt date n tabelul 3.8.
Ultimele dou
a linii de tabel se obtin din primele doua linii considerand Q+ ca si
parametru de valoare 0 sau 1. Se observa ca n ambele cazuri K=X, iar J=Q+ =a.
+
Acelasi lucru este valabil si pentru ultima linie, dar J=X si K=Q =
a.
Problema 5. S
a se analizeze functionarea bistabilului D activ pe frontul semnalului
de tact din figura 3.6.
38
J K Q
000
001
010
011
100
101
110
111
JK
00
0
1
01
11 10
1
1
1
Q+
0
1
0
0
1
1
1
0
Tabelul 3.9
CK
CK
Q+ = QJ+QK
Figura 3.7
Problema 7. S
a se proiecteze un automat secvential cu bistabile JK, care sa evolueze
conform diagramei de st
ari din figura 3.8.
Q1 Q0
00
01
10
11
Figura 3.8
+
Q+
1 Q0
01
10
11
00
J1 K1
0X
1X
X0
X1
J0 K0
1X
X1
1X
X1
Tabelul 3.10
Rezolvare: Fiec
arui bit din st
ari i se asociaza un singur bistabil (bistabilul poate fi
privit ca si o memorie de 1 bit). De exemplu, starea 01 va fi reprezentata de 2 bistabili
cu iesirile Q1 =0 si Q0 =1 (atentie la bitul cel mai semnificativ). Pentru a proiecta
automatul, trebuie definite comenzile de la intrarea fiecarui bistabil astfel ncat sa
se efectueze tranzitiile dorite (tabelul de proiectare restrans). Starile actuale vor fi
39
Figura 3.9
Observatie: Circuitul de mai sus parcurge ciclic toate starile posibile pe 2 biti increment
and starea cu o unitate la fiecare tranzitie. Circuitele cu astfel de evolutie
se numesc num
ar
atoare.
Problema 8. S
a se proiecteze un numarator pe 3 biti cu bistabile JK.
Rezolvare: Diagrama de stari a circuitului se obtine scriind toate starile (23 =8)
consecutive posibile pe 3 biti.
Figura 3.10
Q2 Q1 Q0
000
001
010
011
100
101
110
111
+ +
Q+
2 Q1 Q0
001
010
011
100
101
110
111
000
J2 K2
0X
0X
0X
1X
X0
X0
X0
X1
J1 K1
0X
1X
X0
X1
0X
1X
X0
X1
J0 K0
1X
X1
1X
X1
1X
X1
1X
X1
Tabelul 3.11
Figura 3.11
+ + +
Q+
3 Q2 Q1 Q0
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
J3 K3
0X
0X
0X
0X
0X
0X
0X
1X
X0
X0
X0
X0
X0
X0
X0
X1
J2 K2
0X
0X
0X
1X
X0
X0
X0
X1
0X
0X
0X
X1
X0
X0
X0
X1
J1 K1
0X
1X
X0
X1
0X
1X
X0
X1
0X
1X
X0
X1
0X
1X
X0
X1
J0 K0
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
Tabelul 3.12
1
CK
Q0
J1
CK
CK
K0
Q0
K1
J0
Q1
J2
Q2
CK
Q1
K2
J3
Q3
CK
Q2
K3
Q3
Figura 3.12
Q2 prin intermediul unei porti SI. Aceasta observatie duce la generalizarea structurii
num
ar
atoarelor sincrone cu bistabile JK avand capacitati mari de numarare. Dac
a
se consider
a un num
arator pe n biti, atunci semnalele de comanda J si K pentru
bistabilele componente rezulta:
J0 = K0 = 1
J1 = K1 = Q0
J2 = K2 = Q0 Q1
J3 = K3 = Q0 Q1 Q2 = J2 Q2
..
Problema 10. S
a se proiecteze un automat secvential cu bistabile JK, care s
a
evolueze conform urmatoarei diagrame de stari:
Figura 3.13
+ +
Q+
2 Q1 Q0
010
XXX
100
XXX
110
XXX
000
XXX
J2 K2
0X
XX
1X
XX
X0
XX
X1
XX
J1 K1
1X
XX
X1
XX
1X
XX
X1
XX
J0 K0
0X
XX
0X
XX
0X
XX
0X
XX
Tabelul 3.13
Figura 3.14
Q1 Q0
0
0
1
1
0
1
0
1
+
Q+
1 Q0
(D1 ) (D0 )
11
00
01
10
Tabelul 3.14
Figura 3.15
Figura 3.16
Problema 12. S
a se proiecteze un automat secvential pe 3 biti cu bistabile D, care
s
a numere st
arile impare:
Figura 3.17
Rezolvare:
43
Q2 Q1 Q0
000
001
010
011
100
101
110
111
Tabelul 3.15
CK
D0
Q0
CK Q0
D1
Q1
D2
CK Q1
Q2
CK Q2
Figura 3.18
3.2
Problema 13. S
a se implementeze un numarator reversibil pe 2 biti cu bistabile JK
si MUX2:1.
Rezolvare: Primul pas n rezolvarea acestei probleme este constructia diagramei de
st
ari si definire tranzitiilor. Se va considera un parametru a care sa defineasca sensul
num
ar
arii. De exemplu, cu a = 1 circuitul va numara nainte, iar cu a = 0 va num
ara
napoi. Diagrama st
arilor este data n figura 3.19.
Q Q+
00
01
10
11
0a
1a
Figura 3.19
J K
0X
1X
X1
X0
aX
Xa
Tabelul 3.16
In urm
atorul pas se completeaza tabelul de adevar cu starile actuale, starile viitoare
si comenzile Ji -Ki necesare pentru a obtine tranzitiile dorite. Se va folosi tabelul 3.16
de proiectare al bistabilelor JK.
44
Q1 Q0
00
01
10
11
J1 K1
a
X
aX
Xa
Xa
J0 K0
1X
X1
1X
X1
Tabelul 3.17
Q
0
1
functia restransa
f = Qa + Qb
Tabelul 3.18
Rezult
a egalitatea I0 =I1 =Q0 a + Q0 a = Q0 a. Deoarece intrarile I0 si I1 sunt identice, se elimin
a necesitatea utiliz
arii unui MUX2:1, iar schema circuitului este:
Figura 3.20
Problema 14. S
a se implementeze un numarator reversibil pe 2 biti cu bistabile D
si porti logice.
Rezolvare: Diagrama de tranzitii si tabelul de adevar corespunzator sunt identice
cu cele de la Problema 1, dar n locul comenzilor Ji si Ki se implementeaza starile
urm
atoare Q+
si Q+
a ca D0 =Q0 , iar D1 se deduce cu
1 =D1
0 =D0 . Din tabel se observ
ajutorul unei diagrame Karnaugh. Rezult
a circuitul din figura 3.21.
D1 = a
Q0 Q1 + a
Q0 Q1 + aQ0 Q1 + aQ0 Q1 =
=a
Q0 Q1 + Q0 Q1 + a Q0 Q1 + Q0 Q1 =
=a
Q0 Q1 + a (Q0 Q1 ) = a (Q0 Q1 )
45
Problema 15. S
a se implementeze un automat secvential pe 3 biti cu bistabile JK si
MUX4:1 care s
a numere starile impare daca
parametrul a este 1 si starile pare daca a=0.
Rezolvare: Prima cerinta pentru functionarea corect
a a automatului este ca din fiecare
stare s
a se poata trece n bucla cealalta daca
valoarea parametrului a se schimba. Astfel,
fiecare stare va avea doua stari viitoare corespunz
atoare, dependente de a. Rezulta diagrama st
arilor ilustrata n figura 3.22.
Figura 3.21
Figura 3.22
Tabelul de adev
ar se deduce similar ca si la numaratorul reversibil de la problema 13,
verific
and ce valoare a parametrului a duce starea viitoare n 1.
Q2 Q1 Q0
000
001
010
011
100
101
110
111
+ +
Q+
2 Q1 Q0
0a
a
01a
a
aa
10a
1a
a
11a
aaa
00a
J2 K2
0X
0X
a
X
1X
X0
X0
Xa
X1
J1 K1
a
X
1X
Xa
X1
a
X
1X
Xa
X1
J0 K0
aX
Xa
aX
Xa
aX
Xa
aX
Xa
Tabelul 3.19
0
1
2
3
Figura 3.23
2
Figura 3.24
Q1 Q2
D2 = Q2 Q1 + Q0 Q1 Q2 + aQ0 Q2 + a
Q1 + aQ0 Q1
D1 = Q0 Q1 + a
D0 = a
Figura 3.25
Figura 3.26
Implement
arile corespunz
atoare a functiilor de comanda D1 si D2 sunt date n figurile
3.25 si 3.26.
Problema 17. S
a se proiecteze un divizor de frecventa cu bistabile JK si porti logice,
programabil conform tabelului 3.20. Dac
a starea initiala este Q2 Q1 Q0 =000, sa se
completeze cronograma din figura 3.27 tin
and cont de evolutia parametrilor a si b.
47
ab
00
01
10
11
Raport
div. cu 3
div. cu 4
div. cu 5
div. cu 6
Tabelul 3.20
Figura 3.27
Figura 3.28
St
arile din diagram
a au fost alese astfel ncat, la parcurgerea unei bucle, valorile parametrilor de selectie a raportului de divizare a si b sa ramana constante. Drept urmare,
ntr-o bucl
a nu pot fi prezente simultan perechile de parametrii a-
a si b-b. St
arile
parcurse ciclic n functie de raportul de divizare ales si de parametrii a-b sunt date n
urm
atorul tabel:
Utiliz
and tabelul extins de proiectare al bistabilelor JK se obtine tabelul de adev
ar:
Dup
a minimizarea comenzilor J si K pentru fiecare bistabil rezulta J0 =1 si circuitul:
Cronograma corespunzatoare se obtine pornind de la starea 000 si examinand valorile
48
ab
00
01
10
11
St
ari parcurse
001-010-101
001-010-101-110
001-010-011-100-101
001-010-011-100-101-110
Tabelul 3.21
+ +
Q+
2 Q1 Q0
001
010
a
a1
100
101
b b b
001
001
Q2 Q1 Q0
000
001
010
011
100
101
110
111
J2 K2
0X
0X
a
X
1X
X0
X b
X1
X1
J1 K1
0X
1X
Xa
X1
0X
bX
X1
X1
J0 K0
1X
X1
1X
X1
1X
Xb
1X
X0
Tabelul 3.22
Figura 3.29
49
Figura 3.30
0
2
0
2
1
Figura 3.31
0
1
1
0
1
2
1
1
Figura 3.32
50
0
0
0
0
1
1
0
1
Figura 3.33
Problema 19. S
a se implementeze un automat secvential cu bistabile JK si MUX8:1
care s
a functioneze conform diagramei de stari din figura 3.34. Daca starea initiala
este Q2 Q1 Q0 =010, s
a se completeze cronograma tinand cont de evolutia parametrilor
a si b.
Figura 3.34
Q2 Q1 Q0
000
001
010
011
100
101
110
111
Figura 3.35
+ +
Q+
2 Q1 Q0
a
a
1
0 b b
011
a
a
1
XXX
XXX
XXX
bbb
J2 K2
a
X
0X
0X
a
X
XX
XX
XX
X b
J1 K1
a
X
bX
X0
Xa
XX
XX
XX
X b
J0 K0
1X
Xb
1X
X0
XX
XX
XX
X b
Tabelul 3.23
b
Q2
Q1
Q0
a
b
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
a
Y
J2=K2
b
Q2
Q1
Q0
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
1
b
J1=K1
b
Q2
Q1
Q0
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
J0=K0
Figura 3.36
Figura 3.37
Problema 20. S
a se implementeze automatul secvential de la problema 19 cu bistabile
D si porti S
I-NU.
Rezolvare: Minimizarea intrarilor Di si tranformarea cu relatiile DeMorgan duce la
urm
atoarele identit
ati:
Q1 Q0 a
Q2 Q1 Q0
D2 = bQ2 a
D1 = Q1 Q0 bQ2 a
Q0 a
Q2 Q1 bQ1 Q0
D0 = Q0 Q2 Q1 bQ1 bQ2
Figura 3.38
2
Figura 3.39
2
Figura 3.40
3.3
Problema 21. S
a se implementeze un divizor de frecventa cu bistabile JK si porti
logice av
and raportul de divizare 5 si factorul de umplere 1/5.
53
Rezolvare: Divizorul de frecventa cu raportul de divizare egal cu 5 primeste la intrare frecventa semnalului de tact si genereaza la iesire un semnal cu perioada 5TCK .
Factorul de umplere de 1/5 impune ca secventa generata sa aiba o singura valoare de
1 din cele 5 perioade. Semnalul periodic este ilustrat n figura 3.41.
Figura 3.41
Odat
a stabilit
a forma semnalului cu frecventa divizata, problema divizorului de frecvent
a se reduce la generarea secventei impuse. Generatorul de semnale este un automat
secvential la care st
arile sunt alese astfel ncat semnalele culese pe una sau mai multe
iesiri s
a se conformeze cu secventele impuse de problema. Numarul de biti necesar
este determinat de periodicitatea semnalelor generate. Conditia de unicitate a starilor
impune ca bitii s
a poata codifica un numar de stari distincte egal cu periodicitatea
secventelor. In cazul concret, periodicitatea secventei este de 5TCK si astfel va fi nevoie
de 3 biti (implicit 3 bistabile n automatul secvential).
Dac
a secventa X se culege de pe bistabilul Q2 , atunci semnalul X din figura 3.41
trebuie completat cu iesirile celorlalte doua bistabile astfel ncat automatul sa se conformeze conditiei de unicitate a starilor. Rezulta diagrama de semnale din figura 3.42
si diagrama de tranzitii 3.43 corespunzatoare.
Figura 3.42
Figura 3.43
Q2 Q1 Q0
000
001
010
011
100
101
110
111
+ +
Q+
2 Q1 Q0
001
010
011
100
000
XXX
XXX
XXX
J2 K2
0X
0X
0X
1X
X1
XX
XX
XX
J1 K1
0X
1X
X0
X1
0X
XX
XX
XX
J0 K0
1X
X1
1X
X1
0X
XX
XX
XX
Tabelul 3.24
Q2Q1
Q0 00
0
1
01
11 10
X 1
X
Q2Q1
Q0 00
0
01
J2=K2=Q2+Q1Q0
11 10
X
X
Q2Q1
Q0 00
0 1
01
1
11 10
X
J0=K0=Q2
J1=K1=Q0
Figura 3.44
J0
CK
Q0
K0
J1
Q1
CK
CK
Q0
K1
J2
Q2
CK
Q1
K2
Q2
Figura 3.45
Figura 3.46
este compus
a din 5 st
ari de 1 si 3 st
ari de 0. Astfel, conditia de unicitate a starilor
impune utilizarea unui num
ar de 4 biti pentru codificarea starilor distincte prin care
trece automatul. Dac
a X i se atribuie iesirii Q3 , atunci diagrama de semnale completa
poate fi desenat
a ca n figura 3.47. Identific
and starile parcurse de circuit, diagrama
de tranzitii rezult
a ca n figura 3.48.
Din tabelul de adev
ar 3.25 rezult
a implementarea divizorului cu bistabile D si MUX4:1
este dat
a n figura 3.49.
Problema 23. S
a se genereze simultan semnalele din figura 3.50 cu bistabile JK,
inversoare dac
a este nevoie si porti S
I.
55
CK
3
Figura 3.47
Figura 3.48
Q3 Q2 Q1 Q0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
+ + +
Q+
3 Q2 Q1 Q0
0001
0010
1000
XXXX
XXXX
XXXX
XXXX
XXXX
1001
1010
1011
1100
0000
XXXX
XXXX
XXXX
Tabelul 3.25
I0
I1
I2
I3
A1
A0
D0
CK
Q1
Q0
Q0
Q3
Q2
Q0
CK Q0
D1
I0
I1
I2
I3
A1
A0
Q0
Q1
Q0
Q3
Q2
Q1
Q0
D2
Q1
CK Q1
D2
Q2
CK Q2
I0
I1
I2
I3
A1
A0
Q1
1
Q3
Q2
Q2
CK Q2
Figura 3.49
Figura 3.50
Q2 Q1 Q0
000
001
010
011
100
101
110
111
Figura 3.51
+ +
Q+
2 Q1 Q0
001
101
XXX
XXX
000
110
100
XXX
J2 K2
0X
1X
XX
XX
X1
X0
X0
XX
J1 K1
0X
0X
XX
XX
0X
1X
X1
XX
J0 K0
1X
X0
XX
XX
0X
X1
0X
XX
Tabelul 3.26
Dup
a minimizarea functiilor Ji -Ki si transformarea rezultatelor pentru o implementare
cu operatii S
I se obtin egalit
atile:
J2 = Q0 ; K2 = Q1 Q0
J1 = Q2 Q0 ; K1 = 1
J0 = Q2 ; K0 = Q2
Implementarea corespunz
atoare este dat
a n urmatoarea figura:
57
J0
J1
Q0
J2
CK
CK
CK
Q1
K0
Q0
K1
Q2
CK
Q1
K2
Q2
Figura 3.52
Problema 24. S
a se genereze semnalele de la problema 23 cu bistabile D si MUX4:1.
Rezolvare: Diagrama de tranzitii este aceeasi ca si la problema 23, dar se implementeaz
a functiile Di =Q+
a schema:
i cu MUX4:1. Rezult
D0
CK
I0
I1
I2
I3
A1
A0
Q0
CK Q0
I0
I1
I2 Q0
I3
A1
Q2
A0
Q1
1
Y
Q2
Q1
D1
Q1
CK Q1
D2
I0
I1
I2
I3
A1
A0
Q0
1
Q2
Q1
Q2
CK Q2
Figura 3.53
Problema 25. S
a se implementeze un generator de semnal cu bistabile JK si porti
pentru secventa din figura 3.54.
Figura 3.54
Rezolvare: Num
arul de biti este dat de periodicitatea secventei, egala cu 6TCK .
Trei biti sunt suficienti pentru a codifica 6 stari distincte. Totodata, deoarece se cere
generarea unei singure secvente, aceasta poate fi asociata cu oricare dintre iesirile celor
trei bistabile din componenta automatului. In exemplul de rezolvare semnalul generat
va fi asociat cu iesirea Q1 . Starile se completeaza cu semnalele Q2 si Q0 cu singura
constr
angere ca st
arile sa nu se repete n ciclul parcurs. Astfel, problema are solutii
multiple, un exemplu fiind dat de figura 3.55.
58
Figura 3.55
Figura 3.56
Din identificarea st
arilor rezult
a diagrama de tranzitii si tabelul de adevar corespunz
ator.
+ +
Q+
2 Q1 Q0
010
101
001
XXX
XXX
111
100
110
Q2 Q1 Q0
000
001
010
011
100
101
110
111
J2 K2
0X
1X
0X
XX
XX
X0
X1
X0
J1 K1
1X
0X
X1
XX
XX
1X
X1
X0
J0 K0
0X
X0
1X
XX
XX
X0
0X
X1
Tabelul 3.27
Dup
a minimizarea functiilor Ji -Ki se obtin egalitatile si implementarea ilustrata n
figura 3.57.
J2 = Q0 ; K2 = Q0
J1 = Q2 + Q0 ; K1 = Q0
J0 = Q2 Q1 ; K0 = Q1
J0
CK
Q0
Q1
J2
Q1
K2
CK
CK
K0
J1
Q0
K1
Q2
CK
Q2
Figura 3.57
Problema 26. S
a se implementeze generatorul de semnal de la problema 25 cu
bistabile D, MUX2:1 si porti.
59
0
1
0
1
Figura 3.58
Problema 27. S
a se genereze simultan urmatoarele secvente cu bistabile JK si
MUX2:1.
CK
Figura 3.59
D3 = Q3 Q0 + Q3 Q1 + Q2 Q0
D = Q Q + Q Q + Q Q
2
3 0
3 2
1 0
D1 = Q2 Q1 Q0 + Q2 Q1 + Q3 Q1
D0 = Q0 + Q3 Q1
60
CK
3
Figura 3.60
Figura 3.61
Q3 Q2 Q1 Q0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
+ + +
Q+
3 Q2 Q1 Q0
XXXX
0110
0001
0100
XXXX
XXXX
0111
1100
XXXX
1110
XXXX
0011
1001
XXXX
1011
XXXX
J3 K3
XX
0X
0X
0X
XX
XX
0X
1X
XX
X0
XX
X1
X0
XX
X0
XX
J2 K2
XX
1X
0X
1X
XX
XX
X0
X0
XX
1X
XX
0X
X1
XX
X1
XX
J1 K1
XX
1X
X1
X1
XX
XX
X0
X1
XX
1X
XX
X0
0X
XX
X0
XX
J0 K0
XX
X1
1X
X1
XX
XX
1X
X1
XX
X1
XX
X0
1X
XX
1X
XX
Tabelul 3.28
Problema 29. S
a se proiecteze un automat secvential cu bistabile JK si porti logice
care s
a genereze simultan secventele din figura 3.65.
Rezolvare: Primul pas este stabilirea num
arului de stari necesar prin care va trece
automatul si asocierea semnalelor generate cu iesirile bistabilelor. Aparent, din periodicitatea secventelor rezult
a c
a va fi nevoie de 3 biti deoarece acestia pot codifica
5 st
ari distincte. La completarea secventelor cu un al treilea semnal ales arbitrar se
61
I0
I1
Q1
Q3
I0
A
J0
Q0
CK
CK
K0
I1
I0
Y
Q3
J1
I1
K1
I0
I1
I1
Q2Q1
Q3
Q3
Q3
I0
I0
Q0
I0 Q2Q1
I1
Q0
I1
Q1
Q3
Q3
J2
Q1
K2
Q1
I1
A
J3
Q2
CK
CK
Q0
I0
Q2+Q0
Q3
Q3
CK
K3
Q2
Q3
Figura 3.62
Q3
Q2
Q1
Q0
Q3
Q2
Q1
Q0
D3
D2
Figura 3.63
Q3
Q2
Q1
Q0
Q3
D1
Q2
Q1
Q0
D0
Figura 3.64
observ
a c
a exist
a trei stari care sa contina secventa 01 (primele 3 perioade de tact).
Astfel, un singur bit aditional nu este suficient pentru a face distinctia. Rezult
a c
a
st
arile vor fi completate arbitrar cu nca 2 semnale, numarul de biti necesar fiind 4.
Diagrama de semnale si diagrama de tranzitii sunt data n figurile 3.67 si 3.66.
62
Figura 3.65
Figura 3.66
Q3 Q2 Q1 Q0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Figura 3.67
+ + +
Q+
3 Q2 Q1 Q0
XXXX
XXXX
XXXX
XXXX
0110
1011
0101
XXXX
XXXX
XXXX
XXXX
1100
0100
XXXX
XXXX
XXXX
J3 K3
XX
XX
XX
XX
0X
1X
0X
XX
XX
XX
XX
X0
X1
XX
XX
XX
J2 K2
XX
XX
XX
XX
X0
X1
X0
XX
XX
XX
XX
1X
X0
XX
XX
XX
J1 K1
XX
XX
XX
XX
1X
1X
X1
XX
XX
XX
XX
X1
0X
XX
XX
XX
J0 K0
XX
XX
XX
XX
0X
X0
1X
XX
XX
XX
XX
X1
0X
XX
XX
XX
Tabelul 3.29
J0
J
1
J
2
J3
= Q1
= Q3
=1;
= Q0
; K0 = Q3
; K1 = 1
K2 = Q0
; K3 = Q2
Implementarea corespunz
atoare cu bistabile JK este data n figura 3.68.
Problema 30. S
a se implementeze generatorul de semnale de la problema 29 cu
bistabile D si MUX8:1.
63
Q0
J0
J1
CK
CK
K0
Q1
Q0
K1
Q2
J2
K2
Q1
Q3
J3
CK
CK
CK
Q2
K3
Q3
Figura 3.68
Rezolvare:
D0
CK
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
Q0
1
Y
Q3
Q2
Q1
Q0
D1
CK Q0
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
Q3
Q2
Q1
D2
Q1
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
Q0
Y
Q3
Q2
Q1
Q2
D3
CK Q2
CK Q1
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
Q0
Q3
Q2
Q1
Q3
CK Q3
Figura 3.69
3.4
Problema 31. Presupunand ca starea intiala este 000, dati diagrama de tranzitii
corespunz
atoare urm
atorului circuit.
Figura 3.70
Rezolvare: Dac
a starea initiala este 000, la primul front al semnalului de tact bistabilul D2 copiaz
a la iesirea sa Q0 = 1, starea circuitului devenind 100. La al doilea
front acest 1 este transmis bistabilului D1 , D2 primind un nou 1 de la Q0 . Astfel,
starea devine 110. In mod similar, analizand fiecare bit n parte, pot fi deduse toate
st
arile din diagrama de tranzitii. Ciclul se ncheie atunci cand starea circuitului devine
din nou 000. Rezult
a:
64
Figura 3.71
Problema 32. S
a se analizeze functionarea urmatorului circuit si sa se construiasca
diagrama st
arilor.
I0
I1
I2
I3
A1
A0
J1
Q1
K1
Q0
CK
CK
CK
J0
Q1
K0
Q0
Figura 3.72
Rezolvare: Lu
and n considerare semnalele aplicate la intrarile J si K ale celor doua
bistabile, putem completa urm
atorul tabel:
Q1
0
0
1
1
Q0
0
1
0
1
J1 K1
a
a
aa
a
a
aa
J0 K0
11
11
11
11
Tabelul 3.30
Varianta extins
a a tabelului, se obtine d
and valori parametrului a:
Q1
0
0
0
0
1
1
1
1
Q0 a
00
01
10
11
00
01
10
11
Q+
1
1
0
0
1
0
1
1
0
Q+
0
1
1
0
0
1
1
0
0
J1 K1
11
00
00
11
11
00
00
11
J0 K0
11
11
11
11
11
11
11
11
Tabelul 3.31
Pentru determinarea st
arilor viitoare s-a tinut cont de tabelul 3.32 de proiectare al
bistabilelor JK.
65
J K
00
01
10
11
Q+
Q
0
1
Q
Tabelul 3.32
Figura 3.73
Conform st
arii prezente si a celei viitoare se construieste diagrama de stari ca n figura
3.73. Se observ
a c
a este vorba despre un numarator reversibil, parametrul de comand
a
a num
ar
arii nainte sau napoi fiind a.
Problema 33. S
a se analizeze functionarea circuitului din figura 3.74 si sa se construiasc
a diagrama de stari.
D1
CK
D0
Q1
Q0
CK Q0
CK Q1
Figura 3.74
Q1 Q0
00
01
10
11
+
Q+
1 Q0
a
1
a0
a1
a
0
Tabelul 3.33
Rezolvare: Urm
arind schema se poate completa tabelul cu starile prezente si viitoare,
stiind c
a la bistabilele D, starea viitoare este Q+ = D. Varianta extinsa a tabelului se
obtine d
and valori parametrului a (tabelul 3.34). Diagrama de stari corespunde unui
num
ar
ator reversibil, ca la problema anterioara.
+
Q+
1 Q0
11
01
00
10
01
11
10
00
Q1 Q0 a
000
001
010
011
100
101
110
111
Tabelul 3.34
Problema 34. S
a se analizeze functionarea circuitului din figura si sa se construiasc
a
diagrama de st
ari.
66
J K
00
01
10
11
a
J2
CK
Q2
J1
CK
K2
Q1
J0
CK
Q2
K1
Q0
CK
Q1
K0
Q+
Q
0
1
Q
Q0
Figura 3.75
Tabelul 3.35
Q2 Q1 Q0
000
001
010
011
100
101
110
111
+ +
Q+
2 Q1 Q0
1a0
1a0
101
000
010
010
001
100
J2 K2
11
11
11
00
11
11
11
00
J1 K1
a1
a1
a1
a1
11
11
11
11
J0 K0
01
01
11
11
01
01
11
11
Tabelul 3.36
Figura 3.76
Problema 35. S
a se analizeze functionarea circuitului din figura 3.77 si sa se construiasc
a diagrama de st
ari.
67
b
b
D2
CK
D1
Q2
Q1
CK Q1
CK Q2
D0
Q0
CK Q0
Figura 3.77
Rezolvare: Urm
arind schema se pot scrie expresiile intrarilor D, astfel:
D2 = aQ0 Q1
D1 = bQ0 Q1 + bQ0 Q1
D0 = Q2 Q1Q0 + bQ1 Q0
Q2 Q1 Q0
000
001
010
011
100
101
110
111
+ +
Q+
2 Q1 Q0
001
0 b b
0bb
a00
000
0 b 0
0b0
a00
Tabelul 3.37
Diagrama de st
ari se poate construi pe baza tabelului anterior si cuprinde urmatoarea
succesiune de st
ari conditionate de parametrii a si b:
68
Figura 3.78
69
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
4
4.1
Circuite cu num
ar
atoare integrate
Automate de stare cu num
ar
atoare
Problema 1. S
a se implementeze automatul secvential cu evolutia din figura 4.1 cu
un num
ar
ator 74163 (varianta echivalenta CMOS - 40163) si porti logice. Daca starea
initial
a este QC QB QA =000, sa se completeze cronograma din figura 4.2 tinand cont
de evolutia parametrilor a si b.
Figura 4.1
Figura 4.2
Rezolvare: Se tine cont de tabelul de proiectare 4.1, specific acestui tip de numar
ator:
Cl Ld P T
0XX
10X
110
111
pr.mentine 0
pr.numara 1
1 pr.numara
actiune
reset (0000)
ncarca (I)
mentine (M)
numara (Nr)
M+I
Nr+I
Nr+M
Tabelul 4.1
Tabelul de adev
ar corespunzator automatului este 4.2.
In cazul n care starea tinta la o tranzitie depinde de un parametru aditional, comenzile
specifice num
ar
atorului se aleg conform ultimelor 3 linii din tabelul de proiectare. De
70
QD QC
00
00
00
00
01
01
01
01
10
QB QA
00
01
10
11
00
01
10
11
00
..
.
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
+
+
+
Q+
D QC QB QA
0001
0010
001b
0100
0aa
a
01a1
XXXX
0a
0a
XXXX
..
.
Ld P T
11
11
1b
11
a1
a
0
XX
0X
XX
..
.
DC BA
XXXX
XXXX
XXXX
XXXX
0010
0111
XXXX
0 b 0 b
XXXX
..
.
Tabelul 4.2
exemplu, din starea 0010 automatul poate sa treaca n 0011 prin numarare sau sa-si
mentin
a starea. Astfel, comenzile Cl, Ld si P T se aleg conform actiunii Nr+M.
Parametrul care cauzeaz
a num
arare este b, comenzile rezultand Cl = 1, Ld = 1 si
P T = b. Intr
arile de nc
arcare paralel
a, DCBA, vor lua valoarea X deoarece nu
exist
a nc
arcare posibil
a ca si tranzitie. Daca ar exista cel putin o ncarcare, atunci
intr
arile paralele ar lua valorile corespunz
atoare starii ncarcate (de ex. la starea 0100).
Observatie: Deoarece num
ar
atorul integrat este pe 4 biti, tranzitia 111 000 a
automatului nu reprezint
a num
arare ci nc
arcare. Drept urmare, din (0)111 automatul
va face o nc
arcare dubl
a, starea tint
a fiind determinata de valoarea parametrului b.
Stabilirea st
arii nc
arcate se face similar ca si n cazul bistabilelor, identificand bitii
comuni si parametrul care duce bitii diferiti n 1.
Pentru implementare se conecteaz
a Cl la 1 si se minimizeaza functiile Ld, P T , D,
C, B si A. Din diagramele Karnaugh corespunzatoare se obtin identitatile:
Ld = QC + aQa + a
QB QA
Q
Q
+
b + QC QA
P
T
=
A
B
D=0
C = A = QA QB b
B = Q
B
Circuitul este ilustrat n figura 4.3, iar cronograma corespunzatoare se completeaza
cu evolutia semnalelor QC , QB si QA tin
and cont de valoarea parametrilor a si b la
fiecare tranzitie. Se observ
a c
a din 000 circuitul trece neonditionat n 001, apoi n
010. La tranzitia urm
atoare valoarea parametrului b=1 forteaza trecerea circuitului n
011. St
arile urm
atoare parcurse de circuit pot fi determinate n mod similar, rezultand
cronograma complet
a din figura 4.4.
Problema 2. S
a se genereze secventa din figura 4.5 cu numarator 74163 si porti
logice:
71
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
QC
QB
QA
D
C
B
A
CK
1
CK
P
T
Cl
Ld
QD
QC
QB
QA
Cy
Figura 4.3
Figura 4.4
Figura 4.5
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
automatului cu un num
ar maxim de num
arari. Pentru a avea un numar maxim de
num
ar
ari, se asociaz
a secventa generat
a cu semnalul de iesire al numaratorului cu care
aceasta seam
an
a cel mai mult. Modul de alocare a starilor nu este unic, fiind posibile
solutii multiple. In exemplul de rezolvare secventa generata este asociata cu semnalul
QC . Dup
a ce se obtine diagrama de tranzitii (figura 4.6), problema se transforma
ntr-o simpl
a implementare de automat secvential, rezolvata cu ajutorul tabelului de
proiectare 4.1.
Figura 4.6
Tabelul de adev
ar al automatului este:
QD QC
00
00
00
00
01
01
01
01
10
10
10
10
11
11
11
11
QB QA
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
Ld P T
11
0X
XX
XX
XX
XX
11
11
0X
XX
XX
XX
XX
11
11
11
DC
XX
01
XX
XX
XX
XX
XX
XX
11
XX
XX
XX
XX
XX
XX
XX
BA
XX
10
XX
XX
XX
XX
XX
XX
01
XX
XX
XX
XX
XX
XX
XX
Tabelul 4.3
Dup
a minimizarea functiilor Ld, P T , D,C, B si A se obtin identitatile D = A = QD ,
C = 1, B = QD , P T = 1 si Ld = QC + QD QA . Implementarea corespunzatoare este
dat
a n figura 4.7.
Problema 3. S
a se implementeze secventele urmatoare cu numarator 74163 si MUX
2:1.
Rezolvare: Implementarea automatului care genereaza secventele cerute este similara
73
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
Figura 4.7
CK
Figura 4.8
Figura 4.9
Nr
Nr
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
Nr
Nr
Nr
Nr
Figura 4.10
QD QC
00
00
00
00
01
01
01
01
10
10
10
10
11
11
11
11
QB QA
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
Ld P T
XX
11
11
0X
XX
11
0X
XX
XX
XX
11
11
11
0X
XX
XX
DC
XX
XX
XX
01
XX
XX
10
XX
XX
XX
XX
XX
XX
XX
00
XX
BA
XX
XX
XX
01
XX
XX
10
XX
XX
XX
XX
XX
XX
XX
01
XX
Tabelul 4.4
QC
0
1
QC
QB
QA
QC
D
C
B
A
CK
1
CK
P
T
Cl
Ld
0
1
QC
Figura 4.11
75
QD
QC
QB
QA
Cy
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
4.2
Divizoare de frecvent
a cu num
ar
atoare integrate
Problema 4. S
a se extinda capacitatea de numararare a unui numarator 74163 la 8
biti.
Rezolvare: Pentru a extinde capacitatea de numarare de la 4 la 8 biti este nevoie
de dou
a num
ar
atoare identice. Unul dintre acestea, Low, este lasat sa numere cu
frecventa tactului. C
and numaratorul Low si termina ciclul de numarare (ajung
and
n starea 1111), semnalul de la iesirea Cy (Carry=Transport) va lua valoarea 1 pentru o perioad
a de tact. Acest semnal poate fi utilizat pentru inhibarea increment
arii
continutului la num
aratorul High pe durata ciclului Low. Astfel, numaratorul High
si va incrementa continutul numai cand numaratorul Low si termina ciclul si activeaz
a semnalul Cy. Principial, functionarea circuitului este similara cu a secundarului
si cea a minutarului la un ceas digital. Pentru a obtine schema numaratorului extins
se consider
a tabelul de adevar 4.5.
Liniile de interes din acest tabel sunt ultimele
dou
a deoarece ne spun ca semnalelele Cl =
1 si Ld = 1 nu influenteaza numararea sau
mentinerea st
arii, dar P T poate fi utilizat cu
succes la inhibarea sau activarea incrementarii.
Este suficient ca unul din semnalele P sau T sa
fie 0, num
ar
atorul si va pastra starea. Acest fapt
sugereaz
a o legatur
a directa ntre semnalul Cy si
unul dintre P si T . Schema numaratorului extins
rezult
a ca n figura 4.12.
D
C
B
A
CK
CK
P
T
Cl
Ld
QD
QC
QB
QA
Cl Ld P T
0XX
10X
110
111
Tabelul 4.5
D
C
B
A
CK
Cy
actiune
reset (0000)
ncarca
mentine
numara
P
T
Cl
Ld
QD
QC
QB
QA
Cy
Figura 4.12
Problema 5. S
a se implementeze un divizor de frecventa cu raport de divizare 9
utiliz
and un num
ar
ator 74163. Se cere reluarea ciclului cu ajutorul semnalului Cl,
activ pe 0 logic.
Rezolvare: Divizoarele de frecventa sunt circuite speciale la care informatia de intrare
este considerat
a n general frecventa semnalului de tact, iar informatia de iesire este
frecventa unui semnal generat. Impartind frecventa de intrare la frecventa de iesire
se obtine raportul de divizare. Ca si observatie, factorul de umplere a semnalului de
iesire nu neap
arat este egal cu 0,5. Este important faptul ca numarul de stari distincte
prin care trece circuitul trebuie sa fie egal cu raportul de divizare.
76
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
In cazul concret, c
and raportul de divizare este 9, circuitul va trece prin 9 stari
distincte. Deoarece se impune utilizarea semnalului Cl pentru reluarea ciclului de
num
arare, una dintre st
ari trebuie s
a fie 0000. In acest caz, este logic sa se aleaga
st
arile 0(0000)-8(1000) pentru a defini ciclul complet. Pentru ca dupa starea 1000
num
ar
atorul s
a-si renceap
a ciclul de num
arare, se detecteaza aceasta stare si se genereaz
a un 0 logic aplicat pe intrarea Cl care forteaza iesirile n 0000.
Detectia st
arii finale a ciclului se face cu un circuit combinational simplu, adesea
implementat cu porti S
I. Dac
a singura stare cu QD =1 este 1000, atunci este suficient
s
a se detecteze acest 1 si printr-un inversor sa se comande direct intrarea Cl. Schema
divizorului si variatia n timp a semnalelor CK, Cl, QD si QC sunt:
CK
Figura 4.13
Figura 4.14
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
CK
Figura 4.15
Figura 4.16
Problema 7. S
a se implementeze un divizor de frecventa cu raport de divizare 40
utiliz
and num
ar
atoare 74163.
Rezolvare: Rezolvarea acestei probleme implica ntr-un prim pas examinarea raportului de divizare. Deoarece acesta este mai mare decat 16, este nevoie de extinderea
capacit
atii de num
arare (40 de stari) la 8 biti (2 numaratoare). Modul de conectare
si ciclul parcurs de fiecare numarator depinde de raportul de divizare. In functie de
valoarea acestuia exista 2 alternative de rezolvare. Daca raportul de divizare poate fi
scris ca si un produs de doua rapoarte partiale, fiecare ntre 1 si 16, atunci divizorul se
implementeaz
a simplu prin cascadarea a doua divizoare carora li se asociaza cate un
raport partial din produs. De exemplu, n cazul de fata raportul 40 poate fi descompus
ca si 8 5 sau 10 4. Cele doua divizoare independente se implementeaza similar ca
si la Problema 3, detectand starea 1111 si ncarcand valoarea 16 N n numar
ator.
Exemplul de implementare corespunzator descompunerii 10 4 este data n figura 4.17.
D
C
B
A
CK
P
T
Cl
D
C
QD
QC
QB
QA
B
A
CK
P
T
Cl
CK
Cy
Ld
QD
QC
QB
QA
Cy
CK
Ld
Figura 4.17
O alt
a variant
a de implementare se realizeaza extinzand pentru nceput capacitatea de
num
arare ca si la Problema 1, identificand semnalul Cy corespunzator numaratorului
extins si nc
arc
and valorile necesare prin activarea semnalelor Ld ale numaratoarelor
componente. Constr
angerea ca numarul starilor parcurse sa fie egal cu raportul de
divizare este valabil
a si de aceasta data.
78
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
D
C
B
A
CK
P
T
Cl
Ld
D
C
QD
QC
QB
QA
B
A
CK
P
T
Cl
Ld
Cy
QD
QC
QB
QA
Cy
CK
Figura 4.18
Problema 8. S
a se implementeze un divizor de frecventa cu raport de divizare 19
utiliz
and num
ar
atoare 74163. Se cere o alternativa de rezolvare la metodele generalizate.
Rezolvare: Singura constr
angere la rezolvarea problemei este egalitatea raportului
de divizare cu num
arul st
arilor distincte, parcurse de circuit. Astfel, sunt posibile
mai multe solutii care difer
a numai prin st
arile alese, dar primul pas este n totdeauna extinderea capacit
atii de num
arare. Raportul de divizare 19 implica extinderea
capacit
atii de num
arare la 8 biti.
Un exemplu de rezolvare este acela n care semnalul de iesire se alege QA al numar
atorului High. Acest semnal variaz
a la fiecare 16 perioade de tact, astfel ncat la
ciclul complet raportul de divizare natural este fCK /32. Pentru a obtine raportul de
divizare egal cu 19 se aleg un num
ar convenabil de perioade cu 0 si cu 1 ale semnalului
QAHigh n jurul tranzitiei 0 1. Concret, se pot alege 9 de 0 nainte de tranzitie
si 10 de 1 dup
a tranzitie, obtin
andu-se astfel ciclul de numarare ntre XXX0 0111 si
79
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
Low
0
1
7 1
1
CK
D
C
B
A
CK
P
T
Cl
Ld
High
QD
QC
QB
QA
0
0
0
0
D
C
B
A
CK
Cy
P
T
Cl
Ld
QD
QC
QB
QA
fCK/19
Cy
Figura 4.19
Problema 9. S
a se implementeze un divizor de frecventa cu raport de divizare 58,
utiliz
and num
ar
atoare 74163.
Rezolvare: Raportul de divizare 58 poate fi descompus n produs de termeni numai
ca si 29 2. Deoarece raportul partial 29 este mai mare decat 16, divizorul nu poate fi
implementat prin simpla cascadare. In acest caz se aplica metoda generalizata la care
cu ajutorul semnalului Cy se ncarca valoarea 28 58 = 198 (1100 0110) n numaratorul
extins. Num
arul de stari parcurse de circuit este 10+3x16=58, iar schema este ca n
figura 4.20.
D
C
B
A
CK
P
T
Cl
Ld
D
C
QD
QC
QB
QA
B
A
CK
P
T
Cl
Ld
Cy
QD
QC
QB
QA
Cy
CK
Figura 4.20
Problema 10. S
a se implementeze un divizor de frecventa cu raport de divizare 787,
utiliz
and num
ar
atoare 74163.
Rezolvare: Se extinde capacitatea de numarare la 12 biti (212 = 4096 acopera 787 de
st
ari) si se ncarc
a numaratoarele cu 212 787 = 3309 (1100 1110 1101). Semnalul Ld
80
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
se obtine trec
and cele trei iesiri Cy printr-o poarta SI-NU. Schema circuitului rezulta
ca n figura 4.21. Num
arul de st
ari parcurse se obtine ca si 16x16x3+16+3=787.
1 (Low)
1
1
13
0
1
CK
D
C
B
A
CK
P
T
Cl
Ld
3 (High)
2
QD
QC
QB
QA
1
1
14
1
0
D
C
B
A
CK
Cy
P
T
Cl
Ld
QD
QC
QB
QA
1
1
12 0
0
D
C
B
A
CK
Cy
P
T
Cl
Ld
QD
QC
QB
QA
Cy
fCK/787
Figura 4.21
Problema 11. S
a se implementeze un divizor de frecventa cu raportul de divizare
12 folosind un num
ar
ator 74193. Reinitializarea ciclului de numarare se va face cu
semnalul Bw.
Rezolvare: Circuitul 74193 este un num
arator bidirectional cu ncarcare paralela
asincron
a. Operatiile num
ar
atorului sunt descrise n tabelul 4.6.
Cl Ld Cu Cd
1X00
00XX
01
1
011
actiune
Reset (0000)
ncarc
a asincron DCBA
numara nainte
numara napoi
Tabelul 4.6
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
Figura 4.22
Circuitul porneste numararea n sens invers din starea 12 (1100), parcurgand toate
st
arile p
an
a la 1 (0001). Urmatorul front de tact determina trecerea n 0000 si implicit
activarea semnalului Bw (activ pe 0 la 74193). Daca acesta activeaza la randul lui
intrarea Ld, circuitul nu asteapta urmatorul front de tact ci ncarca asincron starea
1100 necesar
a pentru reinitializare. Se observa ca starile 0000 si 1100 sunt parcurse
ntr-o singur
a perioada de tact, astfel ncat ciclul complet corespunde unui numar de
12 tranzitii sincrone. Semnalul de la iesirea QD va trece prin 5 valori de 1 logic si 7
de 0 pe durata ciclului complet de numarare. Frecventa acestuia este divizata cu 12
fat
a de cea a semnalului de tact, factorul de umplere fiind egal cu 5/12. Deasemenea,
frecventa semnalului Bw este fCK /12, dar factorul de umplere va fi mai mic dec
at
1/12 datorit
a reinitializarii asincrone. Astfel, divizorul de frecventa cu raportul de
divizare 12 poate fi implementat ca n figura 4.23.
Figura 4.23
Generaliz
and principiul de implementare, orice raport de divizare N poate fi implementat l
as
and circuitul s
a numere n sens invers si folosind semnalul Bw pentru ncarcarea
asincron
a a num
arului N la intrarile paralele DCBA.
Problema 12. S
a se implementeze un divizor de frecventa cu raportul de divizare
78 folosind num
ar
atoare 74193. Reinitializarea ciclului de numarare se va face cu
semnalul Bw.
82
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
Cu
Cu
Cd
Cd
Figura 4.24
Semnalul Bw al num
ar
atorului extins la 8 biti se va activa numai atunci cand ambele num
ar
atoare au ajuns n starea 0000, echivalent cu a spune ca ambele semnale,
BwHigh si BwLow , sunt active simultan. Deoarece la 74193 Bw este activ pe 0, Bw
al num
ar
atorului extins va fi 0 numai dac
a ambele semnale partiale de transport vor
fi 0. Astfel, se poate scrie relatia Bw=BwLow +BwHigh .
Pentru a implementa divizorul de frecvent
a cu raportul de divizare 78, semnalul Bw
al num
ar
atorului extins se foloseste pentru a reinitializa ciclul de numarare n sens
invers de la (78)2 =01001110. Schema circuitului este ilustrata n figura 4.25.
Cu
Cu
Cd
Cd
Figura 4.25
83
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
Problema 13. S
a se implementeze un divizor de frecventa cu raportul de divizare 7
folosind num
ar
atoare 74192. Reinitializarea ciclului de numarare se va face cu Bw.
Rezolvare: Circuitul 74192 este un numarator bidirectional decadic pe 4 biti si
nc
arcare asincron
a. Functionarea circuitului este identica cu cea a numaratorului
74193, dar st
arile parcurse sunt limitate la gama 0(0000)-9(1001). Daca raportul de
divizare impus de problema este mai mic sau egal cu 8, atunci implementarea divizorului este identic
a cu cea care foloseste 74193. Numaratorul numara n sens invers
si este reinitializat asincron cu raportul de divizare. Schema divizorului cu raport de
divizare 7 este ilustrat n figura 4.26.
Problema 14. S
a se implementeze un divizor
de frecvent
a cu raportul de divizare 78 folosind
num
ar
atoare 74192. Reinitializarea ciclului de
num
arare se va face cu semnalul Bw.
Rezolvare: Raportul de divizare fiind mai mare
dec
at 8, primul pas la implementare este extinderea capacit
atii de numarare. Aceasta extindere se
face la fel ca n problema 12, cu particularitatea ca
fiecare num
ar
ator va trece prin starile 0-9. Astfel,
num
ar
atorul cel mai putin semnificativ va numara
unit
atile, iar num
ar
atorul High va numara zecile.
Figura 4.26
Cu
Cu
Cd
Cd
Figura 4.27
84
4.3
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
Problema 15. S
a se analizeze functionarea numaratorului din figura 4.28.
D
C
B
A
Figura 4.28
Ld = QC a
QB ; P = T = QA a QB
D = 0 ; C = A = QB QC ; B = QB
Ld P T
11
1a
a1
a0
01
0a
01
00
C BA
111
111
101
101
111
111
101
000
actiune
numara
mentine+numara(cu a=1)
ncarca+numara(cu a=1)
ncarca+mentine(cu a=1)
ncarca
ncarca
ncarca
ncarca
Tabelul 4.7
85
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
A
D
B
D
A
A
B
CK
B
A
A
B
D
C
Figura 4.29
Figura 4.30
Problema 16. Analizati functionarea circuitului din figura 4.30, completati tabelul
de adev
ar si construiti diagrama de tranzitii.
Rezolvare: Din schema circuitului se observa ca D=QA , C=QD + QB , B=QA si
A=QA QB . Semnalul Ld rezulta din implementarea cu MUX4:1. Corespondenta
dintre st
ari si semnalele de comanda este data n tabelul de adevar 4.8. Diagrama
corespunz
atoare de tranzitii poate fi construita ca n figura 4.31.
QD QC QB QA
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Ld P T
01
01
11
11
11
01
11
01
11
11
11
11
01
11
11
11
DC
00
10
01
11
00
10
01
11
01
11
01
11
01
11
01
11
BA
10
00
10
01
10
00
10
01
10
00
10
01
10
00
10
01
Tabelul 4.8
Problema 17. Analizati functionarea divizorului de frecventa din figura 4.32, specificati st
arile prin care trece circuitul si determinati raportul de divizare.
Rezolvare: Semnalul de comanda Cl al numaratorului 74163 se deduce conform
urm
atoarei ecuatii:
DeM
DeM
Cl = QD QB QA + QC = QD + QB + QA + QC = QD QC QB QA
Preupun
and c
a num
aratorul 74163 porneste din starea 0 (0000), acesta va parcurge
86
Nr
ATOARE
CIRCUITE CU NUMAR
INTEGRATE
Nr
Nr
I
Nr
I
Nr
Nr
Nr
Nr
Nr
Nr
Nr
Figura 4.31
Figura 4.32
toate st
arile p
an
a la 11 (1011). Conform ecuatiei, la aceasta stare se activeaza semnalul
Cl care la primul front al semnalului e tact reinitializeaza numaratorul n starea 0.
Circuitul parcurge ciclic prin num
arare un total de 12 stari, rezultand un divizor de
frecvent
a cu raportul de divizare egal cu 12.
87
Problema 1. S
a se analizeze functionarea circuitului din figura. Ce functie ndeplineste circuitul? Se vor considera bistabilele active pe frontul ascendent al semnalului
de tact.
Figura 5.1
Figura 5.2
Se observ
a c
a semnalul Q2 variaza cel mai rar, fiind astfel considerat cel mai semnificativ bit al st
arilor parcurse de automatul secvential. Daca se citesc pe rand st
arile
Q2 Q1 Q0 , se vede c
a circuitul ndeplineste functia de numarator n sens invers.
Problema 2. S
a se analizeze functionarea circuitului din figura 5.3. Ce functie ndeplineste circuitul? Se vor considera bistabilele active pe frontul ascendent al semnalului
de tact.
Rezolvare: In mod similar ca si la problema 1, analiza functionarii circuitului se face
cu ajutorul diagramei de variatie n timp a semnalelor. Diferenta consta n faptul c
a
semnalele Q0 si Q1 vor fi semnalele de tact pentru bistabilele 1 si 2. Acest lucru este
echivalent cu a spune ca bistabile (cu exceptia bistabilului 0) si vor schimba st
arile
sincron cu fronturile descendente ale semnalelor Q0 si Q1 . Completand diagrama de
tranzitii rezult
a:
88
Figura 5.3
Figura 5.4
Citind st
arile Q2 Q1 Q0 se observ
a c
a automatul functioneaza ca si un numarator
nainte. Observatiile asupra function
arii circuitelor de la problemele 1 si 2 pot conduce
la generalizarea structurii de num
ar
ator asincron si extinderea capacitatii de numarare
la un num
ar arbitrar de n biti. Pentru a obtine un numarator asincron de lungime
arbitrar
a cu bistabile JK, este suficient
a conectarea n cascada a unor bistabile cu
intr
arile J si K legate la 1 logic si intrarea de tact la iesirea directa sau negata a
bistabilului precedent. Schema num
ar
atorului de n biti si functionarea pentru diferite
configuratii de conexiuni sunt urm
atoarele date n figurile 5.5 si 5.6.
1
J0
CK
1
Q0
K0
J1
Q1
CK
CK
Q0
K1
Q1
1
Jn-2 Qn-2
Jn-1 Qn-1
CK
CK
Kn-2 Qn-2
Kn-1 Qn-1
Figura 5.5
Figura 5.6
Problema 3. S
a se analizeze functionarea circuitului din figura 5.7. Ce functie ndeplineste circuitul? Se vor considera bistabilele active pe frontul ascendent al semnalului
89
de tact.
Figura 5.7
Rezolvare: Datorit
a faptului ca intrarile D ale bistabilelor sunt conectate la iesirile
Q, bistabilele si vor schimba starile la fiecare front ascendent al semnalului de tact.
Utiliz
and acelasi rationament ca si la problema 1 se obtine aceeasi diagrama de variatie
n timp a semnalelor, iar circuitul va ndeplini functia de numarator n sens invers.
Dac
a semnalele de tact ale bistabilelor 1 si 2 s-ar fi luat de la iesirile negate, atunci
circuitul ar fi functionat ca si un numarator napoi (problema 2). Se observ
a c
a
bistabilele D cu intr
arile D conectate la propriile iesiri negate functioneaza n mod
identic ca si bistabilele JK cu ambele intrari de comanda conectate la 1 logic. Astfel,
r
am
ane valabil
a si generalizarea pentru numaratorul de n biti. Schema circuitului este
dat
a n figura 5.8, iar tabelul de functionare este acelasi ca si n cazul numaratorului
asincron cu bistabile JK.
D0
CK
Q0
CK Q0
D1
Q1
Dn-2 Qn-2
Dn-1 Qn-1
CK Q1
CK Qn-2
CK Qn-1
Figura 5.8
Problema 4. S
a se analizeze functionarea circuitului din figura. Care este raportul
dintre frecventa tactului si frecventa semnalului de la iesirea Q0 ? Se vor considera
bistabilele JK active pe frontul descendent al semnalului de tact.
Figura 5.9
CK
Figura 5.10
Figura 5.11
Figura 5.12
Se observ
a c
a st
arile se repet
a cu periodicitate 5TCK . Implicit, frecventa va fi fCK /5,
iar circuitul este un divizor de frecvent
a cu 5.
Rezolvarea acestei probleme duce la generalizarea divizorului asincron de frecventa cu
raport de divizare 2N+1. Pentru implementarea acestui divizor se considera bistabilele
0 si n-1 sincrone si ntre acestea se intercaleaza un divizor de frecventa cu raport de
divizare N . Iesirea negat
a Q0 se va considera ntotdeauna ca si semnal de tact pentru
divizorul cu N , iar iesirea lantului de divizare va fi iesirea din divizorul cu N . Schema
divizorului generalizat este dat
a n urm
atoarea figura:
91
CK
0
n-1
n-1
n-1
n-1
Figura 5.13
Problema 6. S
a se construiasca un divizor de frecventa asincron cu raport de divizare
egal cu 7.
Rezolvare: Pentru a obtine un raport de divizare 2N+1 egal cu 7, este necesar ca
N =3. Divizorul cu 3 se implemeteaza ca si la problema 4. Schema divizorului cu 7
rezult
a:
fCK/7
J0
J1
Q0
CK
CK
1
K0
J2
Q1
Q0
K1
J3
Q2
CK
CK
Q1
K2
Q3
CK
Q2
K3
Q3
Figura 5.14
Figura 5.15
Problema 7. S
a se construiasca un divizor de frecventa asincron cu raport de divizare
egal cu 9.
Rezolvare: Pentru a obtine un raport de divizare 2N+1 egal cu 9, este necesar ca
92
Q0
J1
K1
CK
CK
1
Q1
J2
K2
J3
Q2
K3
CK
CK
Q0
K0
Q2
Q1
Q3
CK
1
Q3
Figura 5.16
Figura 5.17
93
APLICAT
II CU MEMORII
Aplicatii cu memorii
6.1
Extinderea capacit
atii de memorare
Problema 1. S
a se extinda capacitatea de memorare de la 4x4 la 8x4 (extinderea
num
arului de linii).
Rezolvare: Celula de baza este o memorie ROM 4x4 cu 2 adrese de intrare (deoarece
4=22 ) si 4 iesiri. Intr
arile se noteaza n ordinea semnificatiei cu A1 si A0 , iar iesirile
cu O3 , O2 , O1 si O0 .
Cerinta din aceast
a problema este realizarea unei memorii de capacitate totala 8x4,
folosind celule de baza 4x4. Se observa ca memoria extinsa are 3 adrese (deoarece
8=23 ) si tot 4 iesiri ca si celula de baza. De aici tragem concluzi ca trebuie sa extindem
liniile de adres
a cu una (o numim A2 ), iar iesirile raman nemodificate. Pentru aceasta
vom folosi 2 celule de baza, deoarece adresa aditionala acceseaza pentru A2 =0 una din
celulele de baz
a, iar pentru A2 =1 cealalta celula.
Adresa A2 este conectata la celula de baza care furnizeaza adresele mai putin semnificative printr-un inversor. In schimb, adresa A2 se leaga simplu la celula care este
responsabil
a de adresele mai semnificative. Considerand ca celula de baza are pe
l
ang
a adrese si iesiri un pin de validare Chip-Select (de exemplu, daca CS=0 celula
este inactiv
a, iar dac
a CS=1 celula functioneaza corect), putem sa conectam adresa
A2 la aceste CS-uri. Astfel, conectand A2 prin inversor sau direct la CS0 (celula
de baz
a care deserveste jumatatea mai putin semnificativa dintre adrese) sau la CS1
(celula care r
aspunde de adresele mai semnificative) se poate obtine selectia aditional
a
impus
a de extinderea numarului de adrese. In final mai trebuie facute cateva preciz
ari:
adresele A0 ale celor doua celule de baza se leaga mpreuna constituind adresa
A0 a memoriei extinse;
adresele A1 ale celor doua celule de baza se leaga mpreuna constituind adresa
A1 a memoriei extinse;
iesirile O0 ale celor doua celule de baza se leaga mpreuna constituind iesirea O0
a memoriei extinse;
n mod similar se procedeaza cu O1 , O2 si O3 .
Figura 6.1 ilustreaz
a modul de conectare a celor doua celule de baza.
Problema 2. S
a se extinda capacitatea de memorare de la 32x4 la 128x4.
Rezolvare: Celula de baza este o memorie ROM 32x4 cu 5 adrese de intrare (deoarece
25 =32) si 4 iesiri. Intrarile se noteaza n ordinea descrescatoare a semnificatiei de la
A4 la A0 , iar iesirile cu O3 , O2 , O1 si O0 .
Memoria extins
a va avea 7 linii de adresa (deoarece 27 =128) si tot 4 iesiri ca si celula
de baz
a. Astfel, este necesar sa extindem liniile de adresa cu doua (le numim A5 si A6 ),
94
CS0 O0
O1
CS1 O0
O2
O1
A1 O2 O3
A0
O3
1
0
APLICAT
II CU MEMORII
ROM 8x4
0
1
ROM 4x4
Figura 6.1
iar iesirile r
am
an nemodificate. Pentru extindere vom folosi 4 celule de baza deoarece
cele dou
a adrese aditionale pot accesa 4 semnale de validare CS.
Pentru a decodifica cele dou
a adrese A6 si A5 folosim un DCD2:4. Cele 4 iesiri ale
DCD valideaz
a cele 4 celule de baz
a prin conectarea lor la terminalele CS. Regulile
de conectare sunt dup
a cum urmeaz
a:
iesirea O0 a DCD, corespunz
atoare combinatiei A6 A5 =00, se leaga la CS0 a
celulei de baz
a care reprezint
a primul sfert de adrese ale memoriei extinse;
cu iesirile O1 , O2 si O3 ale DCD se procedeaza similar, conectandu-le la terminalele CS1 , CS2 si CS3 ;
adresele A0 ale celor patru celule de baza se leaga mpreuna constituind adresa
A0 a memoriei extinse. La fel se procedeaza cu A1 , A2 , A3 si A4 ;
iesirile O0 ale celor patru celule de baza se leaga mpreuna constituind iesirea
O0 a memoriei extinse. La fel se procedeaza cu O1 , O2 si O3 .
DCD 2:4
O0
A6
A5
A1
A0
CS0 O0
O1
CS1
O2
G
O0
CS2 O0
O3
O3
CS3 O0
A4
A0
A4
A0
O0
ROM 128x4
A6
A5
A4
A3
A2
A1
A0
O0
O1
O2
O3
O3
ROM 32x4
Figura 6.2
Problema 3. S
a se extind
a capacitatea de memorare de la 256kx8 la 2Mx8. Pentru
extinderea num
arului de adrese se vor folosi doar DCD 2:4.
Rezolvare: Celula de baz
a este o memorie ROM 256kx8, adica are 18 adrese de
intrare (256k=28 210 =218 ) si 8 iesiri. Intr
arile se noteaza n ordinea descrescatoare a
semnificatiei de la A17 la A0 , iar iesirile de la O7 la O0 .
95
APLICAT
II CU MEMORII
Trebuie s
a realiz
am o memorie de capacitate 2Mx8, folosind celule de baza. Memoria
extins
a are 21 adrese (2M=2 210 210 =221 ) si tot 8 iesiri ca si celula de baza. Astfel,
este necesar s
a extindem liniile de adresa cu trei (A20 , A19 si A18 ), iar iesirile ram
an
nemodificate. Pentru extindere vom folosi 8 celule de baza, deoarece adresele aditionale
pot valida 8 celule de baza.
Pentru a decodifica cele trei adrese A20 , A19 si A18 folosim un DCD3:8. Cele 8 iesiri
ale DCD valideaz
a cele 8 celule de baza prin intermediul terminalelor CS. Regulile de
conectare sunt dup
a cum urmeaza:
iesirea O0 a DCD, corespunzatoare adreselor A20 A19 A18 =000, se leaga la CS0 al
celulei de baz
a care implementeaza prima optime de adrese a memoriei extinse.
La fel se procedeaza cu iesirile O1 -O7 , conectandu-le la CS1 -CS7 .
datorit
a constr
angerii de a folosi doar DCD 2:4, decodificatorul 3:8 trebuie implementat prin extinderea capacitatii de decodificare.
adresele A0 ale celor opt celule de baza se leaga mpreuna constituind adresa A0
a memoriei extinse. La fel se procedeaza cu A1 -A17 ;
iesirile O0 ale celor opt celule de baza se leaga mpreuna constituind iesirea O0
a memoriei extinse. La fel se procedeaza cu iesirile O1 -O7 .
DCD 2:4
O0
A19
A18
A20
A1
A0
G
CS0
ROM 2Mx8
O1 CS1
CS2
O2
O CS3
O0
A1
A0
G
CS4
O1 CS5
CS6
O2
O CS7
O0
CS1 O0
DCD 2:4
CS0 O0
CS7 O0
A17
A17
A0
A0
A20
A19
O0
O1
A1
A0
O7
O7
O7
ROM 256kx8
DCD 3:8
Figura 6.3
Problema 4. S
a se extinda capacitatea de memorare de la 8x2 la 8x4.
Rezolvare: Celula de baza este o memorie ROM 8x2cu 3 adrese de intrare si 2 iesiri.
Extinderea adreselor nu este necesara n acest caz, doar extinderea iesirilor de la 2 la
4. Pentru aceasta vom folosi doua celule de baza si astfel vom realiza cele 4 iesiri ale
memoriei extinse. Adresele A2 ale celor doua celule de baza se conecteaza mpreun
a.
La fel se procedeaz
a pe rand cu A1 si cu A0 . Circuitul rezultat este dat n figura 6.4.
Problema 5. S
a se extinda capacitatea de memorare de la 64x4 la 256x8.
96
2
1
1
0
1
2
1
0
APLICAT
II CU MEMORII
0
1
2
3
2
1
0
Figura 6.4
APLICAT
II CU MEMORII
Bancul 1
DCD 2:4
O0
A7
A6
A1
A0
CS0 O0
O1
CS1
O2
G
O0
CS2 O0
O3
O0
O3
CS3 O0
A5
A0
ROM 256x8
A5
A0
A7
A6
A5
O3
ROM 64x4
Bancul 2
CS0 O0
CS1
O4
O0
CS2 O0
A1
A0
O0
O1
O2
O3
O4
O5
O6
O7
O7
CS3 O0
A5
A0
A5
A0
O3
ROM 64x4
Figura 6.5
Trebuie s
a realiz
am o memorie de capacitate 1Mx8 folosind celule de baza. Memoria
extins
a are 20 de adrese (220 =1M) si 8 iesiri. Astfel, este necesar sa extindem at
at
liniile de adres
a cu patru (le numim A16 , A17 , A18 si A19 ), cat si numarul de iesiri de
la 2 la 8 . Pentru extindere liniilor vom folosi 16 celule de baza, iar pentru extinderea
num
arului de iesiri 4 bancuri de memorie.
Pentru a decodifica cele patru adrese folosim un DCD 4:16. Cele 16 iesiri ale DCD
valideaz
a cele 16 celule de baza, prin conectarea lor la terminalele CS. Regulile de
conectare sunt dup
a cum urmeaza:
iesirea O0 a DCD se leaga la CS0 atat din bancul 1, cat si din bancurile 2, 3 si
4 de memorii. La fel se procedeaza si cu iesirile O1 -O15 ale decodificatorului;
adresele A0 ale celor 16 celule de baza din primul banc se leaga mpreun
a si
totodat
a se conecteaza cu cele 16 adrese A0 din celelalte bancuri. La fel se
procedeaz
a si cu adresele A1 -A15 ;
iesirile O0 ale celor 16 celule de baza din primul banc se leaga mpreuna constituind iesirea O0 a memoriei extinse. Similar se procedeaza cu iesirile O1 din
primul banc. Pentru a obtine iesirile O2 si O3 ale memoriei extinse se conecteaz
a
mpreun
a O0 si O1 din bancul al doilea. La fel se obtin perechile O4 -O5 si O6 -O7
din bancurile 3 si 4.
Schema memoriei extinse este data n figura 6.6.
Problema 7. S
a se extinda capacitatea de memorare de la 16x8 la 64x8.
Problema 8. S
a se extinda capacitatea de memorare de la 8x2 la 32x4.
98
APLICAT
II CU MEMORII
Bancul 1
16
CS15
CS1
CS0
DCD 4:16
A19
A18
A17
A16
CS0
A3
A2
A1
A0
O0
CS1
O1
O15
A15
A0
A15
O0
O1
O0
O1
O0
O1
O0
O1
ROM 1Mx8
A19
A18
A17
A0
ROM 64kx2
CS15
Bancul 4
16
A1
A0
CS15
CS1
CS0
A15
O0
O1
O0
O1
O0
O1
O0
O1
O2
O3
O4
O5
O6
O7
O6
O7
A0
ROM 64kx2
Figura 6.6
Problema 9. S
a se extind
a capacitatea de memorare de la 32kx4 la 256kx4.
Problema 10. S
a se extind
a capacitatea de memorare de la 1Mx4 la 8Mx8.
6.2
Problema 11. S
a se implementeze un numarator modulo 11 cu bistabile JK si o
memorie de capacitate 32x8.
Rezolvare: Num
ar
atorul modulo 11 este un automat secvential care parcurge starile
0000(0)-1011(11) prin num
arare. Diagrama de tranzitii corespunzatoare este data n
figura de mai jos:
Figura 6.7
St
arile urm
atoare si comenzile bistabilelor JK sunt date n tabelul 6.1.
Functiile Ji si Ki se implementeaz
a cu ajutorul unei memorii de capacitate 32x8.
Iesirile bistabilelor comand
a adresele memoriei, iar la iesiri se obtin functiile de comand
a J si K. Deoarece st
arile prin care trece circuitul sunt codificate pe 4 biti,
adresa cea mai semnificativ
a a memoriei, A4 , ramane neutilizata si poate fi conectata
la 0 sau la 1. Schema circuitului este ilustrata n urmatoarea figura:
99
APLICAT
II CU MEMORII
Q3 Q2 Q1 Q0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
+ + +
Q+
3 Q2 Q1 Q0
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
0000
XXXX
XXXX
XXXX
XXXX
J3 K3
0X
0X
0X
0X
0X
0X
0X
1X
X0
X0
X0
X1
XX
XX
XX
XX
J2 K2
0X
0X
0X
1X
X0
X0
X0
X1
0X
0X
0X
0X
XX
XX
XX
XX
J1 K1
0X
1X
X0
X1
0X
1X
X0
X1
0X
1X
X0
X1
XX
XX
XX
XX
J0 K0
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
XX
XX
XX
XX
Tabelul 6.1
J0
CK
Q0
J1
CK
K0
J2
Q1
CK
CK
Q0
K1
Q2
Q1
K2
J3
Q3
CK
Q2
K3
Q3
ROM32x8
Q3
Q2
Q1
Q0
A4
A3
A2
A1
A0
O0
O1
O2
O3
O4
O5
O6
O7
J3
K3
J2
K2
J1
K1
J0
K0
Figura 6.8
Valorile memorate se trec ntr-un tabel numit harta de programare a memoriei (tabelul
6.2). Liniile de adres
a din harta corespund liniilor din tabelul de adevar al automatului.
Problema 12. S
a se implementeze cu numarator 74163 si o memorie PROM 32x8
automatul secvential care evolueaza conform diagramei de tranzitii din figura 6.9.
Rezolvare: Tabelul de adevar 6.3 corespunzator automatului secvential se completeaz
a tin
and cont de actiunea (numarare, mentinere si/sau ncarcare) asociata fiec
arei
st
ari.
Implementarea automatului secvential cu numarator 74163 si o memorie PROM 32x8
este dat
a n figura 6.10.
100
APLICAT
II CU MEMORII
A4 A3 A2 A1 A0
(0)(Q3 )(Q2 )(Q1 )(Q0 )
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
..
.
O0
(J3 )
0
0
0
0
0
0
0
1
0
0
0
0
0
..
.
O1
(K3 )
0
0
0
0
0
0
0
0
0
0
0
1
0
..
.
O2
(J2 )
0
0
0
1
0
0
0
0
0
0
0
0
0
..
.
O3
(K2 )
0
0
0
0
0
0
0
1
0
0
0
0
0
..
.
O4
(J1 )
0
1
0
0
0
1
0
0
0
1
0
0
0
..
.
O5
(K1 )
0
0
0
1
0
0
0
1
0
0
0
1
0
..
.
O6
(J0 )
1
0
1
0
1
0
1
0
1
0
1
0
0
..
.
O7
(K0 )
0
1
0
1
0
1
0
1
0
1
0
1
0
..
.
11111
Tabelul 6.2
Nr+I
M+Nr
Nr
M+I
I+I
Nr
Nr+I
Figura 6.9
QC QB QA
000
001
010
011
100
101
110
111
Ld P T
a1
1a
11
a0
a1
0X
11
0X
C BA
110
XXX
XXX
101
110
100
XXX
a00
Tabelul 6.3
APLICAT
II CU MEMORII
0
D
5
6
7
Figura 6.10
ordine QA , QB , QC si QD .
La adresa cea mai putin semnificativa a memoriei am conectat parametrul a. Astfel,
unei linii din tabelul de adevar i vor fi dedicate doua linii consecutive n harta de
programare a memoriei (tabelul 6.4).
A4 A3 A2 A1 A0
(QD )(QC )(QB )(QA )(a)
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
..
.
O0
(C)
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
0
..
.
O1
(B)
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
..
.
O2
(A)
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
..
.
O3
(P T )
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
0
..
.
O4
(Ld)
0
1
1
1
1
1
0
1
0
1
0
0
1
1
0
0
0
..
.
O5
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
11111
Tabelul 6.4
Deoarece n memorie nu se pot scrie parametrii, fiecare caz (0 sau 1) din tabelul
automatului trebuie explicitat. T
inand cont de aceasta explicitare, n harta memoriei
vor fi completate 16 linii de adresa, restul liniilor vor fi completate cu 0 logic. Dintre
102
APLICAT
II CU MEMORII
Ld P T
1a
b1
11
a0
XX
11
0X
XX
C BA
XXX
101
XXX
101
XXX
XXX
b 0 b
XXX
Tabelul 6.5
Figura 6.11
0
D
6
7
Figura 6.12
APLICAT
II CU MEMORII
O0
(C)
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
O1
(B)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O2
(A)
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
O3
(P T )
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
O4
(Ld)
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
O5
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Tabelul 6.6
Problema 14. S
a se implementeze cu numarator 74163 si memorii PROM 32x8
automatul secvential care sa functioneze conform diagramei de tranzitii din figura 6.13.
Pornind de la starea QD QC QB QA =0000, completati cronograma pentru evolutia din
figura 6.14 a parametrilor a si b.
Rezolvare: Din analiza diagramei de tranzitii rezulta tabelul de adevar 6.7. Schema
cu num
ar
ator si memorie ROM 64x8 este ilustrata n figura 6.15. Conexiunile dintre
num
ar
ator si memorie se fac dupa aceeasi metoda ca la problemele anterioare:
104
APLICAT
II CU MEMORII
M+I
Nr+I
Nr+I
Nr+I
Nr
Nr
Nr
Nr
Nr
Figura 6.13
Figura 6.14
Ld P T
a1
b1
a
1
b 1
0X
XX
XX
XX
XX
XX
XX
11
11
11
11
11
DC
11
11
11
10
10
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
BA
10
01
00
11
11
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
Tabelul 6.7
Datorit
a faptului c
a avem doi parametrii si se folosesc toate iesirile numaratorului
(st
ari pe 4 biti), avem nevoie de o memorie cu 6 adrese. Daca celula de baza este o
105
APLICAT
II CU MEMORII
0
D
6
7
Figura 6.15
Figura 6.16
Problema 15. S
a se genereze semnalul S din cronograma cu numarator 74163 si o
memorie PROM 32x8. Numaratorul se foloseste pentru a genera secventele dorite, iar
cu ajutorul memoriei se vor implementa semnalele Ld, P T , D, C, B si A.
Rezolvare: Metoda de generare a secventei dorite prin cat mai multe numarari a
fost expus
a n capitolul de numaratoare. Conform acestei metode, s-a ales iesirea QC
106
APLICAT
II CU MEMORII
A5 A4 A3 A2 A1 A0
(QD )(QC )(QB )(QA )(b)(a)
000000
000001
000010
000011
000100
000101
000110
000111
001000
001001
001010
001011
001100
001101
001110
001111
010000
010001
010010
010011
010100
..
.
O0
(C)
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
..
.
O1
(B)
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
..
.
O2
(A)
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
..
.
O3
(P T )
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
..
.
O4
(Ld)
0
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
..
.
O5
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
011111
100000
..
.
0
1
..
.
0
1
..
.
0
1
..
.
0
1
..
.
0
1
..
.
0
1
..
.
0
1
..
.
0
1
..
.
111111
Tabelul 6.8
CK
Figura 6.17
APLICAT
II CU MEMORII
QD QC QB QA
0000
00 01
00 10
00 11
01 00
01 01
01 10
0111
1000
1001
1010
10 11
11 00
11 01
1110
1111
Ld P T
XX
11
11
11
11
11
0X
XX
XX
XX
XX
11
11
0X
XX
XX
DC
XX
XX
XX
XX
XX
XX
10
XX
XX
XX
XX
XX
XX
00
XX
XX
BA
XX
XX
XX
XX
XX
XX
11
XX
XX
XX
XX
XX
XX
01
XX
XX
Tabelul 6.9
CK
Figura 6.18
Figura 6.19
QD de la num
ar
ator. Adresa cea mai semnificativa a memoriei, A4 , se conecteaz
a
la mas
a, deoarece se foloseste doar de prima jumatate a memoriei. Terminalul Cl se
leag
a la 1 logic.
108
APLICAT
II CU MEMORII
4
5
6
7
Figura 6.20
A4 A3 A2 A1 A0
(0)(QD )(QC )(QB )(QA )
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
..
.
O0
(D)
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
..
.
O1
(C)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O2
(B)
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
..
.
O3
(A)
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
..
.
O4
(P T )
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
..
.
O5
(Ld)
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
..
.
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
11111
Tabelul 6.10
Harta memoriei din tabelul 6.10 se completeaza astfel ncat unei linii din tabelul de
adevar s
a corespund
a o linie din harta de memorie. Astfel, vor fi ocupate adresele
din prima jum
atate, iar restul se completeaza cu 0 logic. Totodata, fiecare coloana
memoreaz
a valorile unei singure functii. Coloanele neutilizate pot fi completate de
exemplu cu 0 logic.
Problema 16. S
a se genereze simultan semnalele S si T din cronograma, cu num
ar
ator 74163 si o memorie PROM 32x8. Numaratorul se va folosi pentru a genera
secventele dorite, iar cu ajutorul memoriei se vor implementa semnalele Ld, P T , D,
C, B si A.
109
APLICAT
II CU MEMORII
Figura 6.21
Ld P T
XX
XX
XX
XX
XX
11
11
0X
XX
XX
XX
11
11
11
0X
XX
DC
XX
XX
XX
XX
XX
XX
XX
10
XX
XX
XX
XX
XX
XX
01
XX
BA
XX
XX
XX
XX
XX
XX
XX
11
XX
XX
XX
XX
XX
XX
01
XX
Tabelul 6.11
Figura 6.22
Organigrama cu cele 7 stari distincte ale generatorului de semnal este data n figura
6.23. Schema cu numarator si memorie 32x8 (figura 6.24) este similara cu cea de la
problema anterioar
a, difera doar iesirile numaratorului de pe care sunt culese semnalele
S si T . Harta de programare a memoriei se completeaza ca n tabelul 6.12.
Figura 6.23
Problema 17. S
a se genereze simultan semnalele S si T din cronograma, cu nu110
APLICAT
II CU MEMORII
4
5
6
7
Figura 6.24
A4 A3 A2 A1 A0
(0)(QD )(QC )(QB )(QA )
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
..
.
O0
(D)
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
..
.
O1
(C)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
..
.
O2
(B)
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
..
.
O3
(A)
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
..
.
O4
(P T )
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
..
.
O5
(Ld)
0
0
0
0
0
1
1
0
0
0
0
1
1
1
0
0
0
..
.
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
11111
Tabelul 6.12
m
ar
ator 74163 si o memorie PROM 32x8. Numaratorul se va folosi pentru a genera
secventele dorite, iar cu ajutorul memoriei se vor implementa semnalele Ld, P T , D,
C, B si A.
Problema 18. S
a se genereze simultan semnalele M si N din cronograma, cu
num
ar
ator 74163 si o memorie PROM 32x8. Numaratorul se va folosi ca si numarator
de adrese, iar secventele generate se vor scrie n memorie de la adresa 0.
Rezolvare: La acest tip de generator numaratorul are rolul de a baleia n ordine
adresele unei memorii. Semnalele M si N se obtin la iesirile memoriei. Valorile
111
APLICAT
II CU MEMORII
Figura 6.25
CK
Figura 6.26
4
5
6
7
Figura 6.27
Problema 19. S
a se repete problema anterioara pentru cazul n care secventele se
memoreaz
a ncep
and cu adresa 5.
Rezolvare: Problema se rezolva urmarind metoda descrisa anterior, cu diferenta c
a
n harta de memorie se vor scrie semnalele M , N si Ld ncepand cu adresa 5 (00101).
112
APLICAT
II CU MEMORII
A4 A3 A2 A1 A0
(0)(QD )(QC )(QB )(QA )
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
..
.
O0
(M )
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
..
.
O1
(N )
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
..
.
O2
(Ld)
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
..
.
O3
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O4
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O5
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
11111
Tabelul 6.13
Prin urmare, secventele se vor ntinde n harta de programare de la adresa 00101 pana
la 01110, iar nc
arcarea se va face la ultima stare. Semnalul Ld va avea valoarea 1 logic
10 perioade de tact, iar la adresa 01110 va trece n 0 logic. La intrarile DCBA ale
num
ar
atorului se incarc
a num
arul n binar care reprezinta decalajul adreselor specificat
n enuntul problemei (00101).
Observatie: Deoarece secventele M si N au lungimea 10TCK si decalajul adreselor este 5, se poate observa c
a este suficient sa utilizam doar prima jumatate a
memoriei. Din aceast
a cauz
a adresa cea mai semnificativa A4 poate fi conectata
la mas
a.
Schema circuitului este ilustrat
a n figura 6.28, iar harta de programare a memoriei
este dat
a n tabelul 6.14.
Problema 20. S
a se repete problema 17 pentru cazul n care secventele se memoreaza
ncep
and de la adresa 21.
Rezolvare: Generatorul de semnale se implementeaza similar cu cel din problemele
precedente, cu diferenta c
a n harta de programare a memoriei se scriu secventele M ,
N si Ld ncep
and de la adresa 21 (10101). Astfel, adresele utilizate se vor ntinde de
la 10101 p
an
a la 11110, iar nc
arcarea se va face n ultima stare. Se observa ca bitul
cel mai semnificativ al adreselor este 1 pe ntreaga durata a ciclului. Din acest motiv
A4 poate fi conectat
a la 1 logic si va fi independenta de iesirile QD , QC , QB si QA ale
113
APLICAT
II CU MEMORII
4
5
6
7
Figura 6.28
A4 A3 A2 A1 A0
(0)(QD )(QC )(QB )(QA )
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
..
.
O0
(M )
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
..
.
O1
(N )
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
..
.
O2
(Ld)
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
..
.
O3
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O4
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O5
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
11111
Tabelul 6.14
num
ar
atorului. Conectarea adresei A4 la 1 logic pozitioneaza toate adresele utilizate de
generator n a doua jumatate a hartii de programare, introducand un decalaj implicit
egal 16. Decalajul total de 21 de adrese specificat de enuntul problemei va fi o sum
a
ntre decalajul initial 16 si un decalaj aditional de 5 adrese. Drept urmare, numaratorul
de adres
a va fi reinitializat cu adresa 5 (0101) prin intrarea paralela DCBA. Schema
circuitului si harta de programare a memoriei pot fi construite ca n figura 6.29 si
tabelul 6.15.
Problema 21. S
a se repete problema 17 pentru cazul n care secventele se memoreaz
a
ncep
and de la adresa 7.
Rezolvare: Solutia este similara cu cea de la problemele precedente, obtinandu-se
114
APLICAT
II CU MEMORII
4
5
6
7
Figura 6.29
A4 A3 A2 A1 A0
(1)(QD )(QC )(QB )(QA )
00000
..
.
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
O0
(M )
0
..
.
O1
(N )
0
..
.
O2
(Ld)
0
..
.
O3
()
0
..
.
O4
()
0
..
.
O5
()
0
..
.
O6
()
0
..
.
O7
()
0
..
.
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Tabelul 6.15
prin completarea h
artii de programare a memoriei. Decalajul de adrese specificat de
enuntul problemei este 7, secventele M , N si Ld fiind memorate ncepand de la adresa
00111 si se vor ntinde p
an
a la 10000. Semnalul Ld va fi 1 logic 10 perioade de tact,
iar n starea 10000 trece n 0, determin
and reinitializarea numaratorului de adrese cu
starea 0111 corespunz
atoare decalajului. Studiind pozitionarea acestor biti n harta
de memorie, se observ
a c
a folosim adrese at
at din prima, cat si din a doua jumatate
a tabelului de programare. Astfel, adresa cea mai semnificativa A4 nu mai poate fi 0
sau 1 pentru toate adresele utile, ci va fi o functie de iesirile QD , QC , QB si QA ale
num
ar
atorului. Harta memoriei este dat
a n tabelul de mai jos.
Pentru a determina functia conectat
a la adresa A4 se completeaza tabelul de adevar
6.17 conform urm
atoarelor observatii:
pentru adresele utilizate din prima jumatate a memoriei (de la adresa 00111 la
01111) stim c
a A4=0;
pentru adresele folosite din a doua jumatate a memoriei (10000) avem A4=1.
115
APLICAT
II CU MEMORII
A4 A3 A2 A1 A0
(f )(QD )(QC )(QB )(QA )
00000
..
.
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
..
.
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
O0
(M )
0
..
.
O1
(N )
0
..
.
O2
(Ld)
0
..
.
O3
()
0
..
.
O4
()
0
..
.
O5
()
0
..
.
O6
()
0
..
.
O7
()
0
..
.
0
0
0
0
1
1
0
0
0
1
0
0
..
.
0
0
0
1
0
0
0
0
1
1
1
0
..
.
0
1
1
1
1
1
1
1
1
1
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
..
.
0
0
0
0
0
0
0
0
0
1
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
..
.
Tabelul 6.16
Aceast
a functie se minimizeaza cu ajutorul diagramei Karnaugh din figura 6.30. Schema complet
a a generatorului de semnale rezulta ca n figura 6.31.
4
5
6
7
Figura 6.30
Figura 6.31
Problema 22. S
a se repete problema 17 pentru cazul n care secventele se memoreaz
a
ncep
and de la adresa 13.
Problema 23. S
a se genereze semnalele V si W din cronograma cu numarator 74163
si o memorie PROM 32x8. Numaratorul se foloseste ca numarator de adrese, iar n
memorie se nscriu secventele ncepand de la adresa 11.
Rezolvare: Aceast
a problema se rezolva dupa tiparul celei anterioare. Conform
cerintelor, semnalele se memoreaza la adrese atat din prima cat si din a doua jumatate
a tabelului de programare. Drept urmare, trebuie decodificata functia care corespunde
116
APLICAT
II CU MEMORII
CK
Figura 6.32
QD QC QB QA
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
QD QC QB QA
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
A4
1
X
X
X
X
X
X
0
0
0
0
0
0
0
0
0
Tabelul 6.17
A4
1
1
1
1
1
1
1
1
1
1
X
0
0
0
0
0
Tabelul 6.18
APLICAT
II CU MEMORII
CK
4
5
6
7
ROM32x8
Figura 6.33
A4 A3 A2 A1 A0
(f )(QD )(QC )(QB )(QA )
00000
..
.
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
..
.
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Figura 6.34
O0
(V )
0
..
.
O1
(W )
0
..
.
O2
(Ld)
0
..
.
O3
()
0
..
.
O4
()
0
..
.
O5
()
0
..
.
O6
()
0
..
.
O7
()
0
..
.
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
..
.
0
1
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
..
.
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
Tabelul 6.19
118
REGISTRE DE DEPLASARE
Registre de deplasare
7.1
Problema 1. S
a se implementeze un registru de deplasare pe 4 biti cu bistabile D.
Se cere ca registrul s
a poat
a nc
arca paralel o secventa b3 b2 b1 b0 sincron cu frontul
semnalului de tact.
Rezolvare: Registrele de deplasare sunt caracterizate de transferul serial de biti ntre
celulele componente. Ecuatia specific
a care descrie deplasarea seriala a datelor ntr-un
registru cu bistabile D este Di =Qi1 . Aceasta ecuatie spune ca la fiecare front al
semnalului de tact bistabilul i din lant va copia continutul bistabilului precedent i 1.
Astfel, registrul deplaseaz
a continutul s
au cu un bit spre dreapta sincron cu fronturile
semnalului de tact. Prima celul
a primeste un bit din exterior prin intrarea seriala IS,
iar bitul din ultima celul
a se pierde.
Pentru a putea nc
arca parelel o secvent
a de biti din exterior, registrul trebuie sa aiba
un semnal aditional de comand
a care s
a fac
a diferenta ntre operatia de deplasare si
cea de nc
arcare paralel
a. Dac
a semnalul de comanda a operatiei este M C (Mode
Control ), atunci tabelul de adev
ar al registrului se poate scrie dupa cum urmeaza:
M C IS
0a
1X
ecuatia
Di = Qi1
Di = Qi = bi
actiune
deplasare seriala
ncarcare paralela
Tabelul 7.1
Di = M C Qi1 + M C bi
Aceast
a ecuatie este caracteristic
a unui multiplexor cu doua canale avand la adresa
semnalul M C, iar la cele dou
a intr
ari bitul din exterior bi si iesirea bistabilului precedent. Implementarea complet
a a registrului pe 4 biti cu ncarcare paralela sincrona
este dat
a n figura 7.1.
IS
b3
MC
I0
I1 Y
A
b2
D3
CK
Q3
CK Q3
I0
I1 Y
A
b1
D2
I0
I1 Y
A
Q2
CK Q2
Figura 7.1
119
b0
D1
Q1
CK Q1
I0
I1 Y
A
D0
Q0
CK Q0
REGISTRE DE DEPLASARE
Problema 2. S
a se proiecteze un registru de deplasare pe 8 biti cu ajutorul registrului
integrat 7495.
Rezolvare: Circuitul 7495 este un registru de deplasare integrat pe 4 biti cu ncarcare
parelel
a sincron
a, functionand conform cerintelor de la problema 1, dar. Pentru a implementa un registru pe 8 biti se extinde capacitatea nseriind doua 7495 identice.
Inserierea se realizeaza conectand iesirea QD a ultimei celule dintr-un registru la intrarea serial
a IS a celui de-al doilea. Semnalele CK si M C se aplica n comun celor
dou
a registre 7495. Rezulta schema din figura 7.2.
C
1
2
C
1
2
MC
iesire
seriala
MC
Figura 7.2
Problema 3. S
a se proiecteze un convertor paralel-serie pe 6 biti cu registre de
deplasare 7495.
Rezolvare: Convertoarele paralel-serie sunt circuite care accepta la intrare simultan
un num
ar de biti egal cu specificatiile problemei si furnizeaza secvential la iesirea
serial
a bitii nc
arcati. Conversia se implementeaza cu un registru de deplasare prin
nc
arcarea paralel
a a bitilor si deplasarea acestora spre iesire sincron cu fronturile unui
semnal de tact.
In cazul concret, daca cei 6 biti ncarcati paralel sunt b6 -b0 , primul bit la iesirea
serial
a va fi b0 acesta aparand chiar de la ncarcare. La primul front de tact b0 se
pierde, secventa se deplaseaza cu 1 bit, iesirea seriala devenind b1 . Incarcarea unei
secvente noi de biti poate avea loc numai atunci cand si ultimul bit din secventa, b6 , a
fost mentinut o perioada de tact la iesirea seriala. Acest lucru nseamna ca semnalul
de comand
a M C trebuie sa fie comutat n 1 odata la 6 perioade de tact, iar factorul
de umplere trebuie s
a fie 1/6 pentru a comanda corect deplasarea secventei. Practic,
M C se obtine din semnalul de tact cu ajutorul unui divizor de frecventa pe 6 biti
(de exemplu iesirea Cy a unui numarator divizor cu 6). Lungimea registrului trebuie
extins
a de la 4 la 8 biti pentru a acoperi cele 6 stari din specificatiile problemei. Schema
convertorului rezult
a ca n figura 7.3.
Problema 4. S
a se implementeze un convertor serie-paralel pe 6 biti cu registre de
deplasare 7495.
Rezolvare: Convertoarele serie-paralel fac operatia de conversie inversa fata de circuitul din problema precedenta. Conversia este implementata tot cu un registru de
deplasare a c
arui lungime trebuie sa acopere numarul de biti specificat de problem
a.
Diferenta principal
a fata de convertorul paralel-serie este faptul ca intrarile paralele
120
intrare
paralela
6 biti
A
B
C
D
T1
T2
CK
A
B
C
D
T1
T2
QA
QB
QC
QD
MC
MC
IS
IS
REGISTRE DE DEPLASARE
QA
QB
QC
QD
iesire
seriala
Figura 7.3
1
2
MC
1
2
MC
Figura 7.4
Problema 5. S
a se implementeze cu registru de deplasare 7495 si porti logice automatul de stare cu evolutia din figura 7.5.
Rezolvare: Pentru a implementa automate de stare cu registre de deplasare este
necesar
a evaluarea actiunilor care au loc la trecerea din starea prezenta n starea/starile
urm
atoare. Tabelul extins de proiectare 7.2 care descrie functionare registrului de
deplasare 7495 se deduce din tabelul 7.1 de la problema 1.
121
REGISTRE DE DEPLASARE
IP
DS1
0000
IP
DS0
1000
IP a
1100
0100
DS0 a
a
IP
DS1
1001
DS1
DS0
1010
a DS1
1101
0101
a IP
IP
Figura 7.5
M C IS
00
01
1X
0 Pr.DS1
Pr.IP 0
Pr.IP 1
1X
actiune
deplasare seriala (DS0)
deplasare seriala (DS1)
ncarcare paralela (IP)
DS0+DS1
DS0+IP
DS1+IP
IP+IP
Tabelul 7.2
Identific
and operatiile facute de registru la fiecare tranzitie si folosind tabelul de proiectare, rezult
a tabelul de adevar de mai jos.
QA QB QC QD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
M C IS
01
XX
XX
XX
a1
1X
XX
XX
00
0a
0a
XX
1X
1X
XX
XX
ABC D
XXXX
XXXX
XXXX
XXXX
0100
a
101
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
a
000
1001
XXXX
XXXX
Tabelul 7.3
QAQB
QCQD 00
01
11 10
QAQB
QCQD 00
01
11 10
00
00 1
01 X
01 X
11 X
11 X
10
10
MC=QB+aQAQC
REGISTRE DE DEPLASARE
QAQB
QCQD 00
01
11 10
00 X
01 X
11 X
10
IS=QA+aQD+aQC
A=QAQD+aQC
Figura 7.6
A
QA
QD
CK
A
B
C
D
T1
T2
QA
QB
QC
QD
MC
IS
Figura 7.7
Problema 6. S
a se implementeze cu registru de deplasare 7495 si o memorie de
capacitate 32x8 automatul de stare cu evolutia din urmatoarea diagrama de tranzitii.
DS1
IP
DS0
IP
DS1
DS0
IP
DS1
DS0
DS1
DS0
Figura 7.8
REGISTRE DE DEPLASARE
QA QB QC QD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
M C IS
01
XX
XX
XX
1X
XX
1X
1X
0a
XX
XX
XX
0a
XX
0a
00
ABC D
XXXX
XXXX
XXXX
XXXX
0000
XXXX
0100
0110
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
Tabelul 7.4
0
A
1
2
6
7
Figura 7.9
124
A4 A3 A2 A1 A0
(QA )(QB )(QC )(QD )(a)
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
O0
(A)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O1
(B)
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O2
(C)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O3
(D)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
REGISTRE DE DEPLASARE
O4
(M C)
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O5
(IS)
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
Tabelul 7.5
IP
IP
DS1
DS1
DS0
DS1
IP
DS0
DS1
IP
IP
DS0
DS1
DS1
DS1
Figura 7.10
125
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
REGISTRE DE DEPLASARE
QA QB QC QD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
M C IS
01
XX
XX
1X
XX
XX
0 b
01
a
1
XX
XX
a1
0a
01
b 0
XX
ABC D
XXXX
XXXX
XXXX
b 0 1 1
XXXX
XXXX
XXXX
XXXX
1000
XXXX
XXXX
1110
XXXX
XXXX
0000
XXXX
Problema 8. S
a se implementeze cu reTabelul 7.6
gistru de deplasare 7495 si o memorie de
capacitate 32x8 automatul de stare cu evolutia din figura 7.15.
Figura 7.11
b
1
QA
QB
I0
I1
I2
I3
A1
A0
b
1
QA
QB
a
1
QA
QB
I0
I1
I2
I3
A1
A0
I0
I1
I2
I3
A1
A0
Figura 7.12
a
Y
1
QA
QB
I0
I1
I2
I3
A1
A0
Y IS
a
QA
QB
QA
QB
I0
I1
I2
I3
A1
A0
I0
I1
I2
I3
A1
A0
QC
QA
QB
I0
I1
I2
I3
A1
A0
MC
Figura 7.13
Problema 9. S
a se implementeze cu registru de deplasare 7495 si multiplexoare
automatul de stare cu evolutia din figura 7.16.
126
REGISTRE DE DEPLASARE
Figura 7.14
DS1
DS1
DS0
DS0
DS1
DS1
IP
IP
DS0
IP
DS1
DS0
DS1
Figura 7.15
IP
DS0
IP
DS0
DS0
DS0
DS1
DS0
DS1
DS1
IP
Figura 7.16
7.2
Problema 10. S
a se genereze semnalul Y din figura 7.17 cu registrul de deplasare
7495 si porti, numai MUX4:1 si apoi cu o memorie PROM 32x8. Registrul de deplasare
se va folosi pentru a genera secventa dorit
a, iar cu ajutorul memoriei se vor implementa
semnalele M C, IS, D, C, B si A.
Rezolvare: La generatoarele de semnale cu registre de deplasare este recomandat sa
127
REGISTRE DE DEPLASARE
CK
Figura 7.17
gener
am secventa prin cat mai multe deplasari serie si un numar minim de ncarc
ari
paralel. O alt
a indicatie este cea de a culege semnalul Y de pe iesirea cea mai putin
semnificativ
a QD a registrului. Organigrama se construieste astfel:
se porneste de la o stare compusa din 4 biti, acesti bitii reprezentand secventa
format
a din primii 4 biti din semnalul care trebuie generat (scrisi n ordine
invers
a!). Codificarea primei stari este aratata sugestiv pe cronograma de mai
jos;
urm
atoarea stare din diagrama de tranzitii se obtine printr-o deplasare serie,
inseriind pe prima pozitie valoarea pe care o are semnalul de generat la a 5-a
perioada de tact (b5 ). Ultimul bit al starii actuale, b0 , se va pierde la tranzitie ;
n urm
atorul pas se face deplasare serie cu valoarea pe care o are semnalul de
generat la a 6-a perioada de tact (b5 ) continuandu-se scrierea secventelor p
an
a
la ultima perioada a semnalului generat. In acest moment avem completate un
num
ar de N -4 stari ale diagramei de tranzitii (N este lungimea secventei);
datorit
a evolutiei ciclice a starilor, ultimele 3 deplasari serie se fac cu valorile
semnalului Y de pe durata primelor 3 perioade de tact (b0 , b1 si b2 );
un caz particular l constituie trecerea din ultima stare napoi n prima stare a
diagramei. Aceasta trecere poate fi facuta prin deplasare serie sau prin ncarcare
paralel
a (cum este cazul de fata) n functie de potrivirea bitilor.
Urm
and pasii de mai sus se obtine diagrama de tranzitii din figura 7.18. Tabelul de
adev
ar 7.7 se poate completa tinand cont de actiunile registrului la fiecare tranzitie.
Implementarea functiilor A, B, C si D se face prin simpla analiza a tabelului de
adev
ar, ns
a pentru M C si IS, care au expresii mai complicate, minimizare se face cu
diagrame Karnaugh (figura 7.19). Functiile obtinute se implementaza cu porti logice
ca n figura 7.20.
O alt
a variant
a de realizare a generatorului de semnale este aceea n care funtiile M C
si IS se implementeaza cu MUX4:1 si porti, asa cum este aratat n figura 7.21.
In a treia variant
a de implementare toate functiile A, B, C, D, M C si IS sunt furnizate la iesirile unei memorii 32x8. Pentru aceasta iesirile registrului se conecteaz
a
128
REGISTRE DE DEPLASARE
10TCK
Y=QD
b1 b2
b3
b4
b5
b6
b7
b8
b9
b10
t
b4 b3 b2 b1
DS1
0110
b5 b4 b3 b2
1011
DS1
b6 b5 b4 b3
1101
b7 b6 b5 b4
DS1
1110
b8 b7 b6 b5
DS0
0111
IP
DS0
DS0
0101
b3 b2 b1 b10
DS1
1010
b2 b1 b10 b9
DS0
0100
b1 b10 b9 b8
1001
DS1
b10 b9 b8 b7
0011
b9 b8 b7 b6
Figura 7.18
QA QB QC QD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
M C IS
XX
XX
XX
01
01
1X
01
00
XX
00
00
01
XX
01
00
XX
ABC D
XXXX
XXXX
XXXX
XXXX
XXXX
0110
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
Tabelul 7.7
A
C
Figura 7.19
REGISTRE DE DEPLASARE
A
B
C
D
T1
T2
CK
QA
QB
QC
QD
MC
IS
Figura 7.20
0
C
2
3
C
1
2
0
D
Figura 7.21
1
2
4
5
6
7
Figura 7.22
In harta de programare a memoriei din tabelul 7.8 se completeaza doar primele 16 linii
cu informatia din tabelul de adevar. Cea de-a doua jumatate a hartii se completeaz
a
cu 0 logic, la fel si cele doua coloane O6 si O7 care nu folosesc la implementarea unor
functii.
Problema 11. S
a se genereze semnalul X din figura 7.23 cu registrul de deplasare
7495 si porti, numai MUX2:1 si apoi cu o memorie PROM 32x8. Registrul de deplasare
130
REGISTRE DE DEPLASARE
A4 A3 A2 A1 A0
(0)(QA )(QB )(QC )(QD )
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
..
.
O0
(A)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O1
(B)
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
..
.
O2
(C)
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
..
.
O3
(D)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O4
(M C)
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
..
.
O5
(IS)
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
..
.
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
11111
Tabelul 7.8
Figura 7.23
Figura 7.24
Problema 12. S
a se genereze semnalele P si R din figura 7.24 cu un registru de
deplasare 7495 si o memorie PROM 32x8. Registrul de deplasare se va folosi pentru a
genera secventele dorite, iar cu ajutorul memoriei se vor implementa semnalele M C,
IS, D, C, B si A.
Rezolvare: Rezolvarea acestei probleme porneste cu alegerea iesirilor de unde se culeg
semnalele generate. Pentru aceasta se compara cele doua semnale care trebuie generate
simultan si se identific
a asem
an
arile dintre ele. In mod specific se cauta secvente cat
mai lungi ale unuia dintre semnale care se aseamana cu secvente din celalalt semnal
deplasat cu cel mult 3 perioade de tact la stanga sau dreapta. Problema are solutii
multiple n functie de secventele g
asite si de gradul de asemanare dintre semnale. In
131
REGISTRE DE DEPLASARE
CK
CK
Figura 7.25
Din cronogram
a se observa ca semnalele P si R sunt asemanatoare si decalate ntre ele cu dou
a perioade de tact.
Asem
an
arile sunt marcate sugestiv cu
s
ageti. Diferentele sunt marcate cu linie ntrerupt
a si s
ageti duble. Semnalul
P este n urma semnalului R cu 2TCK .
Din acest motiv, se pot alege iesirile
P =QD si R=QB . Semnalele pot fi redesenate pentru a servi la completarea
diagramei de tranzitii. Starile complete
se obtin identific
and progresiv pozitia
bitilor n timp, nainte si dupa starea
actual
a. La identificarea tranzitiilor se
tine cont de cerintele de unicitate ale
st
arilor. Secventele rearanjate si diagrama de st
ari corespunzatoare sunt ilustrate n figura 7.26. Tabelul de adevar se
completeaz
a n mod similar ca si la problemele precedente (tabelul 7.9).
P=QD
QA QB QC QD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
M C IS
XX
1X
XX
00
XX
XX
00
XX
XX
XX
01
XX
00
1X
XX
XX
ABC D
XXXX
1010
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
1100
XXXX
XXXX
Tabelul 7.9
CK
DS0
DS0
IP
DS0
DS1
R=QB
IP
1
2
REGISTRE DE DEPLASARE
4
5
6
7
Figura 7.27
A4 A3 A2 A1 A0
(0)(QA )(QB )(QC )(QD )
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
..
.
O0
(A)
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
..
.
O1
(B)
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
..
.
O2
(C)
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O3
(D)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O4
(M C)
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
..
.
O5
(IS)
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
..
.
O6
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
O7
()
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
..
.
11111
Tabelul 7.10
Problema 13. S
a se genereze semnalele X si Y din figura 7.28 cu un registru de
deplasare 7495 si MUX8:1. Multiplexoarele se vor folosi pentru a implementa semnalele
M C, IS, D, C, B si A.
Rezolvare: Din analiza cronogramei rezult
a ca semnalele X si Y sunt identice pe 6
perioade de tact din cele 9, Y fiind nt
arziat fata de X cu o perioada de tact. Astfel,
este indicat s
a alegem iesirile X=QC si Y =QD . Diagrama de tranzitii rezulta ca n
figura 7.29. Tabelul de adev
ar 7.11 se completeaza tinand cont se actiunile care au loc
133
REGISTRE DE DEPLASARE
CK
Figura 7.28
DS0
DS0
IP
IP
DS0
DS1
DS1
DS0
Figura 7.29
QA QB QC QD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
M C IS
1X
XX
1X
XX
01
00
01
XX
XX
00
01
00
XX
00
XX
XX
ABC D
1001
XXXX
0000
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
Tabelul 7.11
7.3
Problema 14. Analizati funtionarea circuitului din figura 7.31 si desenati diagrama
de tranzitii.
134
QD
1
2
3
A
B
C
D
T1
T2
QC
2
3
MC
IS
QA
QB
QC
REGISTRE DE DEPLASARE
CK
QA
QB
QC
2
1
0
QA
QB
QC
QD
X
Y
MC
IS
1
0
Figura 7.30
DS1
DS1
DS1
DS1
DS0
DS0
DS0
Figura 7.31
DS0
Figura 7.32
QD
a
QD
QA
QB
QC
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
a
QD
QD
1
MC
1
QA
QB
QC
I0
I1
I2
I3
I4
I5
I6
I7
A2
A1
A0
IS
QA
QC
1
QB
CK
A
B
C
D
T1
T2
QA
QB
QC
QD
MC
IS
Figura 7.33
Problema 15. Analizati funtionarea circuitului din figura 7.33, completati tabelul
de adev
ar si desenati diagrama de tranzitii.
Rezolvare: Urm
arind functiile A, B, C si D din schema circuitului rezulta ca A=0,
B=1, C=QB si D=QA + QC . M C si IS se obtin din implementarea cu MUX8:1.
Tranzitiile se pot defini conform tabelului de adevar 7.12. Diagrama de tranzitii rezulta
ca n figura 7.34.
135
REGISTRE DE DEPLASARE
QA QB QC QD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
M C IS
01
0a
00
a1
11
01
00
00
01
0a
01
01
a0
10
00
00
ABC D
0111
0111
0110
0110
0101
0101
0100
0100
0110
0110
0110
0110
0100
0100
0100
0100
Tabelul 7.12
DS1
DS1
DS0
a
IP a
DS0
a
DS1
DS0 a
DS1 a
a IP
DS0
IP
IP
DS0
DS0
DS0
DS1
DS1
a
DS0
DS0
DS1
DS1
Figura 7.34
Problema 16. Analizati funtionarea circuitului din figura 7.35, completati tabelul
de adev
ar si desenati diagrama de tranzitii.
Figura 7.35
Rezolvare: Urm
arind semnalele de intrare ale registrului se obtin identitatile de mai
jos, tabelul de adev
ar 7.13 si diagrama de tranzitii din figura 7.36.
136
REGISTRE DE DEPLASARE
C = QA ; D = QC QD ; M C = QA QB QC ; IS = QD
QA QB QC QD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
M C IS
01
00
01
00
01
00
01
00
01
00
01
00
01
00
11
10
ABC D
0111
0111
0111
0110
0111
0111
0111
0110
0101
0101
0101
0100
0101
0101
0101
0100
Tabelul 7.13
DS1
DS1
DS1
DS0
IP
DS0
DS1
DS0
IP
DS1
DS0
DS0
DS0
Figura 7.36
137
DS1
DS1
DS0