Sei sulla pagina 1di 138

CUPRINS

Cuprins
1 Algebr
a boolean
a si porti elementare

1.1

Operatii elementare. Reprezentarea functiilor logice . . . . . . . . . .

1.2

Teoreme si propriet
ati . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Minimizarea functiilor cu diagrame Karnaugh . . . . . . . . . . . . . .

1.4

Aplicatii cu porti logice . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5

Analiza circuitelor cu porti logice . . . . . . . . . . . . . . . . . . . . .

12

2 Multiplexoare, demultiplexoare si decodificatoare

15

2.1

Circuite cu multiplexoare . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.2

Decodificatoare. Demultiplexoare . . . . . . . . . . . . . . . . . . . . .

22

2.3

Analiza circuitelor cu multiplexoare si decodificatoare . . . . . . . . .

32

3 Automate de stare cu bistabile

35

3.1

Automate de stare simple cu bistabile . . . . . . . . . . . . . . . . . .

35

3.2

Automate de stare cu bistabile si parametri . . . . . . . . . . . . . . .

44

3.3

Generatoare de semnale cu bistabile . . . . . . . . . . . . . . . . . . .

53

3.4

Analiza circuitelor cu bistabile . . . . . . . . . . . . . . . . . . . . . .

64

4 Circuite cu num
ar
atoare integrate

70

4.1

Automate de stare cu num


ar
atoare . . . . . . . . . . . . . . . . . . . .

70

4.2

Divizoare de frecvent
a cu num
ar
atoare integrate . . . . . . . . . . . .

76

4.3

Analiza circuitelor cu num


ar
atoare . . . . . . . . . . . . . . . . . . . .

85

5 Automate de stare asincrone

88

6 Aplicatii cu memorii

94

6.1

Extinderea capacit
atii de memorare

. . . . . . . . . . . . . . . . . . .

94

6.2

Automate de stare cu memorii . . . . . . . . . . . . . . . . . . . . . .

99

7 Registre de deplasare

119

7.1

Automate sincrone cu registre de deplasare . . . . . . . . . . . . . . .

119

7.2

Generatoare de semnal cu registre de deplasare . . . . . . . . . . . . .

127

7.3

Analiza circuitelor cu registre de deplasare . . . . . . . . . . . . . . . .

134

BOOLEANA
S
ALGEBRA
I PORT
I ELEMENTARE

Algebr
a boolean
a si porti elementare

1.1

Operatii elementare. Reprezentarea functiilor logice

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

Observatie: operatiile anticoincident


a (a b) si coincidenta (a b) se pot scrie
cu ajutorul functiilor elementare astfel:
(
ab=a
b + ab
a b = ab + a
b
Functiile logice pot fi descrise cu urm
atoarele metode:
- cu tabel de adev
ar, de exemplu tabelul 1.1 cu operatiile elementare;
- cu variabile, de exemplu f = a + b
c;
- sum
a de produse canonice, de exemplu f = P0 + P5 + P6 + P7 ;
- produse de sume canonice, de exemplu f = S1 S2 S4 S6 unde Si = P i .
Problema 1. S
a se reprezinte functia f cu trei variabile data n tabelul 1.2 cu toate
modalit
atile amintite mai sus.
ab
00
00
01
01
10
10
11
11

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

Observatie: n expresia produselor canonice Pi variabilele cu valoare 0 apar


negate. In expresia sumelor canonice Si variabilele cu valoare 1 sunt negate. De
exemplu: S0 = a + b + c sau S3 = a + b + c

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

Teorema lui DeMorgan:


(
ab=a
+ b
b
a+b=a

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

= P4 + P6 + P9 + P11 + P12 + P14 + P15

1.3

Minimizarea functiilor cu diagrame Karnaugh

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

Rezolvare: Diagrama Karnaugh din figura 1.10 duce la expresia f = bd.


Problema 24. S
a se minimizeze urm
atoarea functie logica calculand termenii canonici
de tip produs: f = a
bd + ab
cd + abcd
Rezolvare: Pentru nceput se introduce variabila lipsa n primul termen nmultind
cu c + c = 1:
+a
c + ab
f =a
bd(c + c) + ab
cd + abcd = a
bdc
bd
cd + abcd =
= P4 + P5 + P12 + P14
In urm
atorul pas se completeaz
a diagrama Karnaugh cu termenii canonici ca n figura

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

Aplicatii cu porti logice

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

Schema circuitului cu porti SI-NU este data n figura 1.19.


Problema 32. S
a se proiecteze un circuit logic combinational cu porti SAU-NU care
s
a detecteze majoritatea de 1 din 3 biti.
Rezolvare: f = bc + ab + ac = b + c + a
+ b + a
+ c. Circuitul este dat n figura 1.20.
10

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

functiei f . In mod similar, daca m=1, atunci f =b.

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

Analiza circuitelor cu porti logice

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

Rezolvare: In mod similar ca la problema precedenta, se calculeaza functia f si se


exprim
a cu operatii S
I-NU.
13

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

Multiplexoare, demultiplexoare si decodificatoare


Circuite cu multiplexoare

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

Minimizarea lui Y duce la urm


atorul rezultat:

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

I15 I14 I13 I12


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

multiplexare prin selectii progresive cu MUX2:1 n mod similar ca si la problema 2.


Pentru a implementa 8 intr
ari va fi nevoie de trei nivele de multiplexare si un total de
7 MUX2:1.
A doua variant
a de rezolvare se obtine f
ac
and o selectie initiala cu ajutorul adresei
A2 . Aceast
a selectie mparte intr
arile n doua grupuri, I0 -I3 si I4 -I7 . Alegerea unei
singure intr
ari necesit
a o nou
a multiplexare, de aceasta data cu MUX4:1. Aceasta
selectia final
a se face cu ajutorul adreselor A1 si A0 .
A treia variant
a este similar
a cu a doua, dar selectia initiala se face cu ajutorul unui
MUX4:1 (adresele A2 si A1 ), determin
and grupurile de intrari I0 -I1 , I2 -I3 , I4 -I5 si
I6 -I7 . Al doilea nivel de multiplexare se implementeaza cu MUX2:1 la ale caror adresa
se conecteaz
a A0 .
Circuitul rezultat n urma primei variante de rezolvare este arborescent, construit
similar cu cel de la problema 2. Schemele corespunzatoare ultimelor doua variante
sunt date n figura 2.5.

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

lua valoarea 1. Pentru implementare este suficient sa copiem 1 la intrarea I3 (selectat


a
prin adresa 011) a MUX8:1.
abc
000
001
010
011
100
101
110
111

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

Pentru implementarea cu MUX2:1 restr


angerea se face astfel ncat tabelul rezultat sa
aib
a 2 r
anduri, corespunz
ator num
arului de intrari ale multiplexorului. Acest lucru
este posibil dac
a se grupeaz
a r
andurile tabelului cate 4. Variabila care si pastreaza
valoarea n interiorul celor dou
a grupuri este numai a. Functia se va restrange cu
variabilele b si c r
amase neutilizate la restr
angerea adreselor. Pentru primele 4 randuri
se observ
a c
a functia restr
ans
a f este bc. Similar pentru ultimele 4 randuri f rezulta
b + c (figura 2.9). Implementarea cu MUX2:1 este data n figura 2.10.

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

variabile, preferabil cea care apare n majoritatea termenilor. In functie de valoarea


acesteia, 0 sau 1, functia va evolua pe o ramura sau alta a arborelui. In urmatorul
pas se elimin
a variabila (tinand cont de valoarea corespunzatoare ramurii considerate)
din expresia functiei si se calculeaza cele doua functii partiale ramase. Procedura
se repet
a pe fiecare ramura, introducand bifurcatii progresive, fiecare dintre acestea
reprezent
and un multiplexor cu doua canale. Adresele multiplexoarelor vor fi stabilite
de variabila eliminat
a din functie care determina ramura de evolutie a functiei. Aceast
a
abordare este util
a atunci cand functia are multe variabile sau este data sub form
a
analitic
a. In aceste cazuri constructia tabelului de adevar poate fi dificila.
Solutia prezentat
a aici elimina pe rand variabilele c, b si a din expresia functiei. Rezult
a
arborele din figura 2.15, cu functiile partiale scrise pentru fiecare ramura.

Figura 2.15

Implementarea corespunzatoare este ilustrata n figura 2.16.

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.

X2 - Implementarea cu MUX8:1 este data n figura 2.19.


23

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 - Forma minima a functiei rezulta din diagrama Karnaugh (figura 2.20).

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 - Minimizarea functiei X6 se poate face folosind diagrama Karnaugh din


figura 2.25, iar circuitul corespunzator rezulta ca n figura 2.26.

X6 = ab + a
b + cd + a
c + a
d =





= a + b + a
+ b + c + d + (
a + c) + a
+d

Figura 2.26

X7 - Circuitul cu MUX2:1 este ilustrat n figura 2.27.


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

Fiecare iesire fiind 1 doar pentru o singur


a combinatie a adreselor, rezulta ca decodificatorul calculeaz
a termenii canonici de tip produs la iesiri. Astfel, este valabila
identitatea general
a Oi = Pi . Structura decodificatorului cu porti logice se obtine
implement
and termenii canonici de tip produs (figura 2.28). Varianta cu iesiri active
pe 0 s-ar obtine nlocuind portile S
I cu porti SI-NU.
Problema 11. S
a se implementeze functia f = P2 + P4 + P6 + P7 cu un decodificator
3:8 cu validare activ
a pe 0 si iesiri active pe 1.
27

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

Implementarea cu DCD3:8 rezult


a:

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

O3 se obtine 1 logic. Astfel, iesirea selectata cu ajutorul adreselor urmareste variatiile


semnalului de la intrarea de validare, iar circuitul ndeplineste rolul unui demultiplexor. Rezult
a schema din figura 2.34.

2.3

Analiza circuitelor cu multiplexoare si decodificatoare

Problema 17. Dati expresia analitica a functiei logice implementate de urmatorul


circuit.

Figura 2.35

Rezolvare: Expresia functiei poate fi dedusa nlocuind variabilele conectate la intr


ari
n ecuatia specific
a multiplexorului cu 4 canale:

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

Rezolvare: Circuitul din figura reprezinta un MUX4:1 implementat cu multiplexoare


2:1. Astfel, solutia problemei se obtine n mod identic ca si la problema 3.
f = abc + a
bc + b
c + a
c
32

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

Rezolvare: Circuitul este echivalentul unui multiplexor cu 8 canale. T


inand cont de
faptul c
a variabila d poate lua valorile 0 sau 1, rezulta 16 valori de 0 sau 1 posibile,
corespunz
atoare liniilor din tabelul de adevar. Liniile unde functia are valoarea 1
indic
a prezenta termenului canonic n sum
a. Astfel se obtine forma:

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

Rezolvare: Iesirile decodificatorului 3:8 fiind active pe 1, acesta implementeaza direct


produsele canonice Pi . Astfel, scriind expresia functiei si exprimand rezultatul cu sume
Si se obtine:
DeM

f = P0 + P3 + P4 + P7 = P 0 P 3 P 4 P 7 = S0 S3 S4 S7

34

AUTOMATE DE STARE CU BISTABILE

Automate de stare cu bistabile

3.1

Automate de stare simple cu bistabile

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

Rezolvare: Pentru nceput se fac urm


atoarele observatii:
starea urm
atoare a iesirilor depinde nu numai de intrari ci si de starea actuala a
iesirilor. Astfel, circuitul are bucle de reactie numindu-se circuit secvential.
la constructia tabelului de adev
ar se va tine cont de starea actuala a iesirilor, ca
si cum acestea ar fi variabile de intrare.
S = 0, R = 0 - comand
a dubl
a, circuitul este indecis, ambele iesiri sunt n starea
1. Nu se poate face diferenta ntre iesirea directa si cea negata, drept urmare
stare devine interzis
a;
a lui S rezultatul nmultirii negate este n totdeauna 1 si
S = 0, R = 1 - datorit
starea urm
atoare a iesirii, Q+ , va fi neconditionat 1. Totodata, R mpreuna cu
Q+ = 1 forteaz
a iesirea negat
a n 0;
S = 1, R = 0 - datorit
a lui R rezultatul nmultirii negate este n totdeauna
+
1 si starea urm
atoare a iesirii negate, Q , va fi neconditionat 1. Totodata, S
+
a iesirea n 0;
mpreun
a cu Q = 1 forteaz
S = 1, R = 1 - ambele intr
ari fiind 1, starile urmatoare ale iesirilor depind
numai de starea actual
a. Astfel, se poate deduce ca circuitul si va pastra starea
actual
a.
Tabelul de adev
ar se poate restr
ange n dou
a feluri: pentru analiza si pentru proiectare.
Tabelul de analiz
a permite evaluarea st
arilor urmatoare numai pe baza intrarilor.
Tabelul de proiectare specific
a ce semnale trebuie aplicate la intrare pentru a obtine
tranzitia dorit
a la iesire.
35

AUTOMATE DE STARE CU BISTABILE

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

Rezolvare: Se observa ca daca semnalul de tact CK este 0, atunci S si R vor fi


neconditionat 1. Considerand tabelul de adevar al latch-ului SR dedus la problema 1
(cazul S = 1 si R = 1), rezulta ca iesirile si vor pastra starea actuala. Astfel, semnalul
CK actioneaz
a ca si semnal de validare activ pe palier.
Dac
a semnalul CK este 1, atunci S = S si R = R. In consecinta, circuitul va
functiona conform tabelului de la problema 1, dar comenzile S si R trebuie negate.
Rezult
a tabelul de adevar 3.5.
Problema 3. S
a se analizeze functionarea bistabilului Master-Slave din figura 3.4 cu
ajutorul tabelului de adevar de la latch-ul SR cu validare pe palierul tactului.

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

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

Figura 3.5

Figura 3.6

tranzitii, 1 0 si 1 1. Rezulta tabelul de analiza 3.7.

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

AUTOMATE DE STARE CU BISTABILE

Rezolvare: Bistabilul D se obtine din bistabilul JK implementand egalitatea K=J


cu ajutorul unui inversor. Aceast
a conexiune elimina posibilitatea egalitatii celor doua
comenzi, las
and numai cele dou
a linii din mijloc ale tabelului de adevar. Sectiunea de
tabel r
amas
a impune ca valoarea comenzii de pe intrarea D sa fie copiata la iesirea Q
sincron cu primul front de tact (ascendent sau descendent dupa modul de conexiune
a semnalului de tact). Tabelul de proiectare impune sa se conecteze la intrarea D
valoarea logic
a dorit
a la iesire la urm
atorul front de tact.
Problema 6. S
a se implementeze un bistabil JK cu ajutorul unui bistabil D.

J K Q
000
001
010
011
100
101
110
111

Rezolvare: Rezolvarea porneste de la tabelul de analiza


3.9 explicitat al bistabilului JK.
La bistabilul D starea urm
atoare Q+ trebuie sa se regaseasc
a la intrarea D. Astfel, dac
a se minimizeaza functia
D = Q+ dependent
a de variabilele J, K si Q, se obtine
ecuatia specific
a a bistabilului JK. Diagrama Karnaugh
folosit
a la minimizare, expresia semnalului de comanda D
si schema bistabilului JK echivalent sunt date n figura
3.7.

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

AUTOMATE DE STARE CU BISTABILE

folosite ca si variabile de intrare la minimizarea functiilor Ji si Ki corespunzatoare.


Rezult
a tabelul de adevar 3.10.
Valorile indiferente X din tabelul de adevar pot fi nlocuite cu 0 sau 1 n functie de
valoarea care ajut
a la simplificarea functiei. De exemplu, la J1 ne ajuta sa nlocuim cele
dou
a valori X cu 0 si cu 1, astfel ncat J1 =Q0 . Similar se obtin egalitatile K1 =J1 =Q0
si J0 =K0 =1. Rezult
a schema automatului:

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

Inlocuind X n mod convenabil, din tabelul 3.11 se observa urmatoarele identit


ati:
J0 =K0 =1, J1 =K1 =Q0 si J2 =K2 =Q1 Q0 . Implementarea cu bistabile JK si porti
logice este dat
a n figura 3.11.
Problema 9. S
a se proiecteze un numarator pe 4 biti cu bistabile JK si porti logice. Pe
baza problemelor 7, 8 si 9 sa se gaseasca o generalizare pentru structura numaratoarelor
40

AUTOMATE DE STARE CU BISTABILE

Figura 3.11

sincrone de capacitate mare cu bistabile JK.


Rezolvare: Solutia se obtine n mod similar ca si la problemele precedente, dar starile
sunt codificate pe 4 biti. Diagrama de tranzitii va avea 16 stari distincte, numaratorul
increment
andu-si ciclic continutul ntre 0000(0) si 1111(15). Tabelul de adevar al
circuitului este:
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
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

Din problemele 7, 8 si 9 se observ


a c
a ad
augarea unui bit la capacitatea numaratorului
nu schimb
a semnalele de comand
a J si K de rang inferior. De exemplu, trecerea de la
3 la 4 biti p
astreaz
a semnalele J0 , K0 , J1 , K1 , J2 si K2 identice. Extinderea capacitatii
se face ad
aug
and un nou bistabil ale c
arui comenzi J3 si K3 se obtin din J2 , K2 si
41

AUTOMATE DE STARE CU BISTABILE

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

..

Jn2 = Kn2 = Q0 Q1 Qn3 = Jn3 Qn3

Jn1 = Kn1 = Q0 Q1 Qn2 = Jn2 Qn2

Problema 10. S
a se proiecteze un automat secvential cu bistabile JK, care s
a
evolueze conform urmatoarei diagrame de stari:

Figura 3.13

Rezolvare: Tabelul de adevar se completeaza ca n problemele precedente.


Q2 Q1 Q0
000
001
010
011
100
101
110
111

+ +
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

Din tabelul de adev


ar se observa urmatoarele identitati (X a fost nlocuit cu 0 sau
1 dup
a necesitate): J2 =K2 =Q1 , J1 =K1 =1 si J0 =K0 =0. Implementarea corespunz
atoare cu bistabile JK rezulta:
Problema 11. S
a se proiecteze un numarator n sens invers pe 2 biti cu bistabile D.
42

AUTOMATE DE STARE CU BISTABILE

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

Rezolvare: La bistabilele D starea urm


atoare a iesirii depinde numai de intrarea D
conform ecuatiei Q+ = D. Astfel, la implementare se vor minimiza chiar starile Q+
i
din tabelul de adev
ar 3.14. Din tabel se deduc (cu diagrame Karnaugh unde este
necesar) identit
atile: D1 =Q1 Q0 + Q1 Q0 si D0 =Q0 . Implementarea corespunzatoare
rezult
a:

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

AUTOMATE DE STARE CU BISTABILE


+ +
Q+
2 Q1 Q0
XXX
011
XXX
101
XXX
111
XXX
001

Q2 Q1 Q0
000
001
010
011
100
101
110
111

Tabelul 3.15

Din tabelul de adev


ar se deduc urmatoarele identitati: D2 =Q2 Q1 + Q2 Q1 , D1 =Q1 si
D0 =1. Implementarea corespunzatoare cu bistabile D rezulta:

CK

D0

Q0

CK Q0

D1

Q1

D2

CK Q1

Q2

CK Q2

Figura 3.18

3.2

Automate de stare cu bistabile si parametri

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

AUTOMATE DE STARE CU BISTABILE

Tranzitiile cu parametru se evalueaz


a astfel ncat starile urmatoare vor fi definite de
variabila care cauzeaz
a tranzitia n 1. De exemplu, circuitul trece din 00 n 01 cu a si
n 11 cu a
. Se observ
a c
a bitul Q+
0 va fi 1 indiferent de valoarea parametrului a, iar
+
Q1 va fi 1 numai pentru a
. Astfel, starea urmatoare corespunzatoare starii actuale 00
va fi a
1, depinz
and de a. Rezult
a tabelul de adevar:
+
Q+
1 Q0
a
1
a0
a1
a
0

Q1 Q0
00
01
10
11

J1 K1
a
X
aX
Xa

Xa

J0 K0
1X
X1
1X
X1

Tabelul 3.17

Din tabelul de adev


ar se observ
a c
a J0 =K0 =1 indiferent de variabilele Q1 si Q0 .
Intr
arile J1 si K1 se implementeaz
a cu MUX2:1 mpartind tabelul n doua jumatati.
Adresa multiplexorului va fi Q1 , iar cele doua functii partiale I0 si I1 dependente de
Q0 si de parametrul a se implementeaz
a conform urmatorului tabel:
f
a
b

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

AUTOMATE DE STARE CU BISTABILE

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

Din tabelul de adev


ar rezulta ca J0 =a, K0 =a. Tototdata, din tabelul de implementare
restr
ans al functiei cu parametri de la problema 10 se deduce egalitatea J1 =K1 =Q0 +a,
aceasta fiind valabil
a indiferent de combinatia Q2 Q1 . Schema circuitului este:
Problema 16. S
a se implementeze automatul secvential de la problema 15 cu bistabile
D si porti logice.
Rezolvare: Din tabelul de adevar se observa ca D0 =a, iar expresiile D1 si D2 se
deduc cu ajutorul diagramelor Karnaugh.
46

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

ab
00
01
10
11

Raport
div. cu 3
div. cu 4
div. cu 5
div. cu 6

Tabelul 3.20

Figura 3.27

Rezolvare: Divizoarele de frecventa sunt automate secventiale care accepta la intrare


semnalul de tact de o frecventa data, iar la iesire genereaza un semnal al carui frecvent
a
este un submultiplu (n general ntreg, dar n cazuri speciale poate fi si fractionar) al
frecventei de intrare. Divizarea se face alegand un semnal corespunzator de intare
si impun
and apoi st
arile prin care sa treaca automatul secvential. Solutia la aceast
a
problem
a poate varia n functie de starile alese si bistabilul de iesire.
Pentru nceput, se pleaca de la ideea ca numaratoarele sunt nsusi prin modul lor de
functionare divizoare de frecventa cu puterile lui 2. De exemplu, un numarator pe 2
biti care trece prin st
arile 00-01-10-11 va fi un divizor de frecventa cu 2 daca iesirea
considerat
a este Q0 . Acesta si schimba starea odata la o perioada de tact, perioada
fiind egal
a cu 2TCK . Implicit, frecventa va fi de 2 ori mai mica. Similar, la iesirea Q1
se va obtine un semnal de frecventa fCK /4.
Divizarea frecventei de intrare cu 6 necesita 6 stari distincte prin care sa treaca automatul. Astfel, sunt necesari 3 biti care sa codifice acoperitor cele 6 stari. In solutia
oferit
a ca si exemplu, semnalul de iesire va fi cules de pe iesirea bistabilului cel mai
semnificativ (Q2 ). Inainte de a completa tabelul de adevar corespunzator, este necesar
a constructia diagramei de tranzitii.

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

AUTOMATE DE STARE CU BISTABILE

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

parametrilor a si b la fiecare tranzitie. Rezulta semnalele din figura 3.30.


Problema 18. S
a se proiecteze divizorul de frecventa programabil de la problema 17
cu bistabile D si numai MUX2:1.
+
Rezolvare: Se implementeaz
a functiile D2 =Q+
si D0 =Q+
and pro2 , D1 =Q1
0 grup
gresiv tabelul n c
ate 2, 4 si 8 grupe. Schemele rezultate pentru comenzile Di ale
bistabilelor sunt date n figurile 3.31, 3.32 si 3.33.

49

AUTOMATE DE STARE CU BISTABILE

Figura 3.30

0
2
0

2
1

Figura 3.31

0
1
1

0
1

2
1
1

Figura 3.32

50

AUTOMATE DE STARE CU BISTABILE

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

Rezolvare: Primul pas este completarea tabelului de adevar 3.23, corespunzator


diagramei de tranzitii.
Implementarea cu MUX8:1 implic
a simpla copiere a iesirilor Q2 , Q1 si Q0 la adresele
multiplexoarelor si a r
andurilor de tabel corespunzatoare la intrarile de date. Complet
and convenabil valorile X, comenzile J si K ale fiecarui bistabil pot fi considerate
egale, astfel nc
at rezult
a circuitul din figur
a:
Evolutia st
arilor n functie de valorile parametrilor a si b rezulta:
51

AUTOMATE DE STARE CU BISTABILE

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

Implementarea corespunzatoare a intrarilor Di cu porti SI-NU rezulta:


52

AUTOMATE DE STARE CU BISTABILE

Figura 3.38
2

Figura 3.39
2

Figura 3.40

3.3

Generatoare de semnale cu bistabile

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

AUTOMATE DE STARE CU BISTABILE

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

Tabelul 3.24 arat


a comenzile J si K pentru fiecare bistabil n functie de tranzitia
dorit
a. Functiile Ji si Ki se scriu cu ajutorul diagramelor din figura 3.44.
Schema generatorului este ilustrata n figura 3.45.
Problema 22. S
a se implementeze un divizor de frecventa cu bistabile D si MUX4:1
av
and raportul de divizare 8 si factorul de umplere 5/8.
Rezolvare: Solutia problemei se obtine n mod similar cu cea de la problema 21.
Semnalul de iesire X se construieste ca n figura 3.46.
Din figura 3.46 se observa ca, datorita factorului de umplere 5/8 impus, secventa X
54

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

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

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

Rezolvare: Celor trei secvente le vor corespunde n ordine semnalele Q2 , Q1 si Q0 de


la iesirile celor trei bistabile. Se observa ca starile sunt complet definite de secventele
generate, astfel nc
at prin citirea bitilor rezulta urmatoarea diagrama de tranzitii dat
a
n figura 3.51. Diagrama de tranzitii transforma problema generatoarelor de semnal ntr-o problem
a simpla de implementare a unui automat secvential cu toate constr
angerile cerute de problema. Tabelul de adevar corespunzator este 3.26.
56

I0
I1
I2
I3
A1
A0

D0

CK

Q1
Q0
Q0

Q3
Q2

Q0

CK Q0

D1

I0
I1
I2
I3
A1
A0

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

Rezolvare: Schema cu bistabile D si MUX2:1 este urmatoarea:


1
0

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

Rezolvare: Periodicitatea secventelor de 9TCK impune proiectarea unui automat sec


ven ti al pe 4 biti. In exemplul de rezolvare cele doua secvente vor fi asociate cu
semnalele Q2 si Q1 , iar semnalele Q3 si Q0 se aleg astfel ncat starile sa nu se repete
n ciclul parcurs. Rezulta secventele din figura 3.60, diagrama de tranzitii din figura
3.61si tabelul de adevar 3.28.
Schema circuitului este data n figura 3.62.
Problema 28. S
a se implementeze generatorul de semnale de la problema 27 cu
bistabile D si porti logice.
Rezolvare: Minimizarea functiilor Di =Q+
atile de mai jos, iar implei duce la egalit
ment
arile corepunz
atoare comenzilor D3 , D2 , D1 si D0 rezulta ca n figurile 3.63 si
3.64.

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

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

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

Din tabelul de adev


ar rezult
a urm
atoarele egalitati posibile:

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

AUTOMATE DE STARE CU BISTABILE

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

Analiza circuitelor cu bistabile

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

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

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

AUTOMATE DE STARE CU BISTABILE

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

Rezolvare: Se tine cont de urm


atorul tabelul de analiza 3.35, specific bistabilelor de
tip JK. In conformitate cu semnalele aplicate la intrarile bistabilelor, pentru circuitul
din aceasta problem
a, st
arile viitoare vor rezulta ca n tabelul 3.36. Urmarind starea
prezent
a si cea viitoare se poate construi diagrama de stari, ca n figura 3.76.

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

AUTOMATE DE STARE CU BISTABILE

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

Tabelul 3.37 se poate completa cu starile prezente si viitoare, stiind ca Q+ = D.

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

AUTOMATE DE STARE CU BISTABILE

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

Rezolvare: Scopul urmarit la rezolvarea acestei probleme este similar ca si n cazul


generatoarelor de semnale cu bistabile, anume sa se identifice periodicitatea secventei
si s
a se completeze st
arile. Deoarece numaratorul 74163 functioneaza pe 4 biti, implicit
sunt 16 st
ari distincte disponibile. Dintre acestea se aleg starile care permit evolutia
72

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

ca si n cazul problemei precedente. La alegerea starilor se va tine cont de constrangerea


de a avea c
at mai multe numarari, fara a avea stari identice. O posibila completare a
secventelor este dat
a n urmatoarea figura:
CK
D

Figura 4.9

Diagrama de tranzitii cu operatiile realizate la fiecare stare rezulta:


T
in
and cont de tabelul de proiectare specific numaratorului 74163 se completeaz
a
tabelul de adev
ar al automatului.
Implementarea corespunzatoare cu numarator si MUX2:1 este data n figura 4.11.
74

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

Semnalele care pot fi considerate ca si semnale de iesire sunt numai QD si QC , deoarece


celelalte iesiri variaz
a din 0 n 1 si invers de mai multe ori pe durata celor 9 perioade
de tact considerate. Astfel, frecventa lor va fi diferita de fCK /9.
Problema 6. S
a se implementeze divizorul de frecventa de la problema 6 utilizand
pinul de nc
arcare Ld al num
ar
atorului 74163.
Rezolvare: Datorit
a cerintei de a utiliza ncarcarea (Ld) ca si operatie de reluare a
ciclului, aceast
a problem
a are solutii multiple. Singura constrangere este ca raportul
de divizare s
a fie egal cu num
arul st
arilor distincte prin care trece circuitul. Starile se
aleg n mod convenabil, astfel nc
at semnalul ales ca si iesire sa aiba frecventa fCK /9.
Pentru a putea generaliza rezolvarea, se va impune ca pentru ncarcare sa se foloseasc
a semnalul Cy ntors printr-un inversor la intrarea Ld. Astfel, ciclul de numarare
va contine obligatoriu starea 1111 (15). Pentru a avea un raport de divizare cu 9, la
actionarea semnalului de nc
arcare intr
arile DCBA trebuie sa fie 0111 (7). Deasemenea, dac
a de exemplu raportul de divizare ar fi fost 5, s-ar fi ncarcat starea 1011 (11).
Ca si regul
a general
a, dac
a se doreste un raport de divizare N , atunci se va ncarca
starea 16 N . Implementarea divizorului cu numarator 74163 si variatia n timp a
semnalelor rezult
a:
77

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

Pentru indetificarea semnalului Cy al num


aratorului extins se considera starea num
ar
atorului pentru care Cy trebuie s
a fie activ. Bitul de transport al numaratorului
extins se activeaz
a numai la starea 111...1 (cati biti are numaratorul extins). Aceasta
conditie este echivalent
a cu a spune c
a semnalale Cy ale fiecarui numarator n parte
trebuie s
a fie activat. Concordanta dintre semnalele Cy ale numaratoarelor pe 4 biti si
ale num
ar
atorului extins se realizeaz
a cu o poarta SI (Cy = Cy1 Cy2 . . . ). Semnalul
de transport se foloseste pentru a activa simultan intrarile Ld ale numaratoarelor
componente. St
arile nc
arcate n fiecare numarator pe 4 biti se determina calculand
valoarea nc
arcat
a n num
ar
atorul extins. La modul general, daca numaratorul extins
are n biti si raportul de divizare cerut este N , atunci valoarea ncarcata este 2n N .
In cazul concret, pentru N = 40, num
ar
atorul se extinde la 8 biti, iar valoarea ncarcata
este 28 40 = 216. Scriind 216 n baza 2 rezulta (1101 1000). Astfel, n numaratorul
High se va nc
arca 1101 (13), iar n num
aratorul Low 1000 (8). Numarand starile
parcurse de circuit se obtine 8+2x16=40, identic cu raportul de divizare impus. Semnalul de iesire cu frecventa fCK /40 este cel mai adesea Cy al numaratorului de rang
maxim. Schema circuitului este:

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

XXX1 1001. Num


arul starilor parcurse se verifica completand sectiunea relevanta din
tabelul de adev
ar. Reluarea ciclului de numarare se face cu ajutorul semnalului Ld,
activat simultan prin detectia starii XXX1 1001. Schema circuitului rezulta:

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

Din tabelul de adev


ar rezult
a c
a sensul num
ararii este determinat de intrarile Cu (eng.
count up) si Cd (eng. count down) folosite pentru a aplica semnalul de tact. Intrarea
neutilizat
a actioneaz
a ca si un semnal de validare, fiind conectata la 1 logic pentru a
permite num
ararea si la 0 logic pentru a mentine starea actuala. Semnalul Ld este
activ pe 0, determin
and nc
arcarea sincron
a a valorii conectate la intrarile paralele
DCBA. In aplicatiile propuse semnalul Cl nu va fi folosit, conectandu-se la 0 logic.
In afar
a de iesirile QD , QC , QB si QA , numaratorul mai are doua iesiri care servesc
la extinderea capacit
atii de num
arare prin cascadare. Iesirea Cy, activa pe 0, indica
starea 1111 a circuitului, av
and aceeasi semnificatie ca si la numaratorul 74163. Iesirea
Bw genereaz
a un semnal de transport la numararea n sens invers. Acesta semnaleaza
starea 0000 a num
ar
atorului.
Pentru a implementa divizorul de frecventa cu raportul de divizare 12 specificat n
enuntul problemei, num
ar
atorul este l
asat sa numere n sens invers pana cand se
detecteaz
a starea 0000 cu ajutorul semnalului Bw. Acesta va activa intrarea Ld,
determin
and reinitializarea ciclului de num
arare. Pentru a determina starea ncarcata
se consider
a evolutia semnalelor din figura 4.22.
81

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

Rezolvare: Circuitul 74193 este un num


arator pe 4 biti, astfel ncat raportul maxim de divizare care poate fi implementat cu un singur numarator este 15 (15 stari
datorit
a initializ
arii asincrone). In mod similar ca si la divizoarele de frecventa cu
num
ar
atoare 74163, implementarea unor rapoarte de divizare mai mari decat 15 necesit
a fie descompunerea raportului ntr-un produs de rapoarte partiale mai mici decat
15, fie implementarea direct
a cu un num
ar
ator de capacitate extinsa.
Extinderea capacit
atii de num
arare se face aplicand semnalul de tact ambelor numaratoare si valid
and incrementarea sau decrementarea numaratorului High numai atunci
c
and Low si-a terminat ciclul de num
arare. Daca numararea se face n sens invers,
semnalul de validare va fi BwLow care se conecteaza printr-un inversor la intrarea de
tact CuHigh . Schema circuitului este dat
a n figura 4.24.

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

Pentru implementarea divizorului de frecventa cu raportul 78, la terminarea ciclului


num
ar
atorul se initializeaza tot cu starea 78, dar datorita ciclului decadic conversia
simpl
a n baza 2 nu mai functioneaza. Raportul de divizare se va scrie n baza doi
tin
and cont de fiecare cifra si de exponentul asociat (puterile lui 10). Concret, 78 se
scrie ca 7101 +8100 . Astfel, numaratorul Low va fi reinitializat cu 8, iar numaratorul
High cu 7. Schema divizorului este data n figura 4.27.

Cu

Cu
Cd

Cd

Figura 4.27

84

4.3

ATOARE

CIRCUITE CU NUMAR
INTEGRATE

Analiza circuitelor cu num


ar
atoare

Problema 15. S
a se analizeze functionarea numaratorului din figura 4.28.

D
C
B
A

Figura 4.28

Rezolvare: Din inspectia circuitului se pot scrie expresiile semnalelor aplicate la


intr
arile num
ar
atorului, astfel:

Ld = QC a
QB ; P = T = QA a QB
D = 0 ; C = A = QB QC ; B = QB

Pe baza acestor expresii se poate completa tabelul 4.7 corespunzator numaratorului


si astfel se determin
a actiuniile aferente fiec
arei stari. Pornind de la actiunile notate
pentru fiecare stare din tabel, este usor de construit diagrama de stari din figura 4.29.
QC QB QA
000
001
010
011
100
101
110
111

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

AUTOMATE DE STARE ASINCRONE

Automate de stare asincrone

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

Rezolvare: Pentru a putea urmari functionarea circuitului se construieste diagrama


de variatie n timp a semnalelor. Bistabilul 0, avand intrarile J si K conectate la 1
logic, va trece n starea opusa la fiecare front ascendent al semnalului de tact. Iesirea
acestui bistabil, Q0 , constituie semnal de tact pentru bistabilul 1 (marcat cu sageti pe
grafic). Astfel, bistabilul 1 si va schimba starea la fiecare front ascendent al semnalului
Q0 . Similar se poate deduce si functionarea bistabilului 2. Tranzitiile celor trei iesiri
sunt ilustrate n urm
atoarea figura:

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

AUTOMATE DE STARE ASINCRONE

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

AUTOMATE DE STARE ASINCRONE

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

Rezolvare: Cu ajutorul tabelului de analiza al bistabilelor JK se poate obtine evolutia


n timp a semnalelor Q0 si Q1 . Daca se presupune ca circuitul porneste din starea
Q0 Q1 = 00, atunci rezulta urmatoarele cronograme:
Din cronograme se observa ca semnalele sunt periodice, starile repetandu-se dup
a3
perioade de tact. Din acest motiv, perioada semnalului Q0 va fi 3TCK , frecventa fiind
implicit fCK /3. Circuitul este un divizor de frecventa cu raport de divizare egal cu 3.
Problema 5. S
a se analizeze functionarea circuitului din figura. Care este raportul
dintre frecventa tactului si frecventa semnalului de la iesirea Q1 ? Se vor considera
90

AUTOMATE DE STARE ASINCRONE

CK

Figura 5.10

bistabilele JK active pe frontul descendent al semnalului de tact.


CK
0

Figura 5.11

Rezolvare: In mod similar ca si la problema 4, se construiesc cronogramele semnalelor. Diferenta fat


a de divizorul cu 3 este aceea ca iesirea negata Q0 reprezinta semnal
de tact pentru bistabilul 1. Astfel, Q1 si va schimba starea pe frontul ascendent al
semnalului Q0 . Rezult
a:

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

AUTOMATE DE STARE ASINCRONE

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

Functionarea circuitului poate fi analizata cu ajutorul cronogramelor din figura 5.15.


Se observ
a ca st
arile se repeta cu priodicitate 7TCK , iar frecventa semnalului Q1 este
fCK /7.
CK

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

AUTOMATE DE STARE ASINCRONE

N =4. Divizorul cu 4 se implemeteaz


a conectand doua divizoare cu 2 n cascada. Un
divizor cu 2 este un bistabil la care intr
arile J si K sunt ambele conectate la 1 logic.
Iesirea Q a unui bistabil va servi drept semnal de tact pentru urmatorul bistabil.
Schema circuitului este dat
a n figura 5.16.
fCK/9
J0

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

Pentru a construi cronogramele, se va tine cont de faptul ca bistabilele sunt active pe


frontul descendent al tactului. Acest fapt este echivalent cu a spune ca, daca semnalul
de tact este cules de pe iesirea negat
a a bistabilului precedent, atunci tranzitiile vor fi
sincronizate cu frontul ascendent al iesirii precedente (sagetile din figura pentru Q1 ).
Rezult
a:
CK

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

Rezolvare: Celula de baz


a este o memorie ROM 64x4, adica are 6 adrese de intrare
(26 =64) si 4 iesiri. Intr
arile se noteaz
a n ordinea descrescatoare a semnificatiei de la
A5 la A0 , iar iesirile de la O3 la O0 .
Trebuie s
a realiz
am o memorie de capacitate 256x8, folosind celule de baza. Memoria
extins
a are 8 adrese (28 =256) si 8 iesiri. Astfel, este necesar sa extindem atat liniile
de adres
a cu dou
a (le numim A6 si A7 ), c
at si numarul de iesiri de la 4 la 8 (mai precis
le dubl
am). Pentru extindere vom folosi 4 celule de baza, deoarece cele doua adrese
aditionale pot valida 4 terminale CS corespunzatoare. Pentru dublarea numarului de
iesiri se vor folosi 2 asa zise bancuri de memorie. Un banc de memorie este destinat
doar extinderii adreselor, nu si a iesirilor. Numarul de bancuri necesare este determinat
de rezultatul diviz
arii num
arului de iesiri ale memoriei extinse la numarul de iesiri ale
celulei de baz
a, n cazul nostru 8:4=2.
Pentru a decodifica cele dou
a adrese suplimentare, A7 si A6 , folosim un DCD 2:4. Cele
4 iesiri ale DCD valideaz
a cele 4 celule de baza prin conectarea lor la terminalele CS.
Regulile de conectare sunt dup
a cum urmeaza:
iesirea O0 a DCD se leag
a la CS0 at
at din bancul 1, cat si din bancul 2 de
memorii. La fel se procedeaz
a si cu O1 -O3 ;
adresele A0 ale celor patru celule de baza din primul banc se leaga mpreuna si
totodat
a se conecteaz
a la cele patru adrese A0 din cel al doilea banc. La fel se
procedeaz
a si cu liniile de adres
a A1 -A5 ;
iesirile O0 ale celor patru celule de baza din primul banc se leaga mpreuna
constituind iesirea O0 a memoriei extinse. Atentie, se leaga mpreuna O0 doar
din primul banc! La fel se procedeaz
a si cu O1 -O3 din primul banc, urmand apoi
acelasi mod de conectare pentru bancul al doilea.
Schema memoriei extinse este dat
a n figura 6.5.
Problema 6. S
a se extind
a capacitatea de memorare de la 64kx2 la 1Mx8.
Rezolvare: Celula de baz
a este o memorie ROM 64kx2, adica are 16 adrese de
intrare (deoarece 216 =16k) si 2 iesiri. Intr
arile se noteaza n ordinea descrescatoare a
semnificatiei de la A15 la A0 , iar iesirile O1 si O0 .
97

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

Automate de stare cu memorii

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

La iesirile QC , QB si QA ale num


ar
atorului se regasesc starile automatului secvential,
n functie de parametrul a. Memoria este folosita pentru a implementa functiile C,
B, A, P T si Ld. Iesirile num
ar
atorului corespund adreselor memoriei, astfel ncat la
adresa A0 se conecteaz
a parametrul a, apoi la adresele A1 , A2 , A3 si A4 se leaga n
101

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

cele 8 coloane ale memoriei vor fi completate doar 5, corespunzatoare functiilor C,


B, A, P T si Ld. Restul coloanelor vor contine la alegere 0 sau 1 logic (X n tabelul
automatului).

Observatie: Functiile de comand


a Cl si D nu necesita implementarea cu ajutorul
memoriei deoarece acestea au valori constante, independente de starea circuitului.
Problema 13. S
a se implementeze cu numarator 74163 si o memorie PROM 32x8
un automat de stare care s
a evolueze conform diagramei de tranzitii din figura 6.11.
QC QB QA
000
001
010
011
100
101
110
111

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

Rezolvare: Diagrama de tranzitii conduce la tabelul de adevar 6.5. Schema cu num


ar
ator si memorie care realizeaz
a automatul este prezentata n figura 6.12.

0
D

6
7

Figura 6.12

La adresele cele mai putin semnificative ale memoriei se conecteaza parametrii a si


b. Deoarece a si b pot codifica patru combinatii distincte, pentru o linie din tabelul
de adev
ar n harta de memorie vor fi dedicate patru linii de adrese: prima pentru
cazul n care b=0 a=0, a doua pentru b=0 a=1, urmatoarea pentru b=1 a=0 si ultima
pentru b=1 a=1. T
in
and cont de aceasta, n harta de programare a memoriei vor
fi completate toate cele 32 de linii de adres
a (tabelul 6.6). Dintre cele 8 coloane ale
103

APLICAT
II CU MEMORII

memoriei vor fi folosite doar 5, pentru C, B, A, P T si Ld, iar pe restul coloanelor se


pune 0 logic. Din nou, pinul de Cl este conectat la 1 logic, iar pinul D este legat la
mas
a, deoarece automatul secvential este pe 3 biti.
A4 A3 A2 A1 A0
(QC )(QB )(QA )(b)(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
(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

la adresele cele mai putin semnificative ale memoriei se conecteaza parametrii a


si b, apoi la urm
atoarele se leag
a n ordine iesirile numaratorului;
la iesirile memoriei se genereaz
a semnelele C, B, A, P T si Ld. Semnalul D nu
este nevoie s
a fie generat de memorie, deoarece este ntotdeauna 1 logic.
QD QC QB QA
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

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

memorie cu 5 adrese, de capacitate 32x8, atunci trebuie sa facem extinderea adreselor.


Pentru aceasta, avem nevoie de doua celule de baza la care adresele corespunzatoare
Ai sunt legate mpreuna. Similar, iesirile Oi corespunzatoare se conecteaza mpreun
a.
Adresa aditional
a A5 se conecteaza la terminalul CS a unei celule de baza simplu, iar
la cealalt
a printr-un inversor. Astfel am realizat extinderea capacitatii de memorare
de la 32x8 la 64x8. Harta de programare a memoriei, avand dimensiunea 64x8, este
data in tabelul 6.8.

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

pentru a culege semnalul dorit S, iar st


arile parcurse de numarator sunt scoase n
evident
a n tabelul de adev
ar 6.9. Cronograma completa pe 4 biti se poate construi
pe baza tabelului de adev
ar, urm
arind st
arile prin care trece generatorul (figura 6.18).
Diagrama de tranzitii cu cele 9 st
ari distincte ale generatorului de semnal se poate
obtine din cronograma complet
a si este ilustrata n figura 6.19.
Schema generatorului de semnal contine un numarator care furnizeaza la iesirea QC
secventa dorit
a S si o memorie care implementeaza semnalele D, C, B, A, P T si Ld.
Pe adresele A0 , A1 , A2 si A3 ale memoriei trebuie conectate semnalele QA , QB , QC ,
107

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

Rezolvare: In mod asemanator ca la problema anterioara se observa ca iesirea QD a


num
ar
atorului se preteaza pentru a furniza semnalul S, iar iesirea QC pentru semnalul
T . Tabelul de adev
ar 6.11 arata cum au fost alese cele doua secvente. Cronograma
complet
a pe 4 biti este ilustrata n figura 6.22.
QD QC QB QA
0000
0001
0010
0011
0100
0 10 1
0 11 0
0 11 1
1000
1001
1010
1 01 1
1 10 0
1 10 1
1 11 0
1111

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

semnalelor pentru fiecare perioada de tact se nscriu n memorie la adrese consecutive,


ncep
and cu adresa 0 (linia 0 a hartii de programare) specificata n enuntul problemei.
Deoarece secventele au lungime 10TCK , memorarea lor se face n primele 10 linii ale
h
artii. Astfel, se va folosi doar prima jumatate a tabelului, a doua jumatate fiind
completat
a cu 0. Adresa cea mai semnificativa a memoriei, A4 se va conecta la 0.
In solutia propus
a semnalele M si N sunt memorate n primele doua coloane ale
memoriei, reg
asindu-se la iesirile O0 si O1 . A treia coloana, cu iesirea O2 , poate fi
utilizat
a pentru a reinitializa numaratorul de adrese la terminarea ciclului. In acest
exemplu initializarea se face cu semnalul Ld, ncarcand 0000 prin intrarile DCBA.
Semnalul Ld va avea valoare 1 pe toata perioada de numarare, fiind schimbat n 0
doar pe linia a zecea a hartii de programare. Terminalele P T si Cl se conecteaz
a la
1 logic pentru a permite numararea adreselor. Schema circuitului este data n figura
6.27, iar harta de programare a memoriei este ca n tabelul 6.13.
4

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

adresei A4 . Harta memoriei se completeaz


a ca n tabelul 6.19. Decodificarea functiei
care corespunde adresei A4 se face tin
and seama de tabelul de adevar 6.18.

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

Pentru implementarea cu porti a functiei dorite, se completeaza diagrama Karnaugh


corespunz
atoare (figura 6.33) si se minimizeaza functia. Schema generatorului de
semnale, realizat
a cu num
ar
ator si memorie este asemanatoare cu cea de la problema
20, fiind dat
a n figura 6.34. Diferenta este expresia adresei A4 si codul binar de la
intrarea paralel
a DCBA. Harta de programare a memoriei este data n tabelul 6.19.
Problema 24. S
a se repete problema 22 pentru cazul n care secventele se memoreaza
ncep
and de la adresa 0.
Problema 25. S
a se repete problema 22 pentru cazul n care secventele se memoreaza
ncep
and de la adresa 17.
Problema 26. S
a se repete problema 22 pentru cazul n care secventele se memoreaza
ncep
and de la adresa 13.
117

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

Automate sincrone cu registre de deplasare

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

Din tabel poate fi dedus


a ecuatia restr
ans
a pentru intrarea Di a unui bistabil:

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

nu sunt utilizate, intrarea IS a registrului extins fiind intrarea seriala a convertorului.


Semnalul M C are tot timpul valoarea 0, determinand deplasarea continua a secventei
de biti. Preluarea bitilor la iesirea paralel
a se face cu ajutorul unui circuit tampon
(latch) care memoreaz
a bitii ntre conversiile succesive. In mod similar cu semnalul
M C din problema precedent
a, semnalul de validare En al latch-ului se obtine din
semnalul de tact prin divizarea frecventei cu 6. Factorul de umplere trebuie sa fie tot
1/6 pentru a comanda preluarea paralel
a a bitilor o singura data n 6 perioade de tact.
Schema convertorului este dat
a n urm
atoarea figura:

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

Functiile M C, IS si A se obtine n urma minimizarii cu diagrame Karnaugh (figura


7.6), iar functiile D, C si B rezulta ca simple combinatii ale variabilelor de la iesirea registrului. Schema cu registru de deplasare si porti logice a automatului este prezentat
a
n figura 7.7.
122

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

Rezolvare: Tabelul de adev


ar corespunz
ator diagramei de tranzitii din aceasta problem
a se completeaz
a n aceeasi manier
a ca si cel de la problema precedenta. Functiile
M C, IS, A, B, C si D sunt implementate cu o memorie PROM 32x8. Pentru aceasta
iesirile registrului se conecteaz
a la adresele memoriei asa cum este aratat n figura 7.9.
La adresa cea mai putin semnificativ
a A0 se conecteaza parametrul a.
123

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

In harta de programare a memoriei se completeaza cate doua linii de adresa pentru


fiecare linie din tabelul de adevar, una corespunzatoare parametrului a=0 si cealalt
a
pentru a=1. Pentru memorarea functiilor M C, IS, A, B, C si D sunt necesare doar 6
coloane din cele 8 ale memoriei, prin urmare pe ultimele doua coloane se trece 0 logic.
Harta completat
a este data n tabelul 7.5.
Problema 7. S
a se implementeze cu registru de deplasare 7495 si MUX4:1 automatul
de stare cu evolutia din figura 7.10. Pornind de la starea initiala QA QB QC QD =0000,
completati cronograma din figura 7.11 n functie de evolutia parametrilor a si b.

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

Rezolvare: Semnalele de comanda M C,


IS si intr
arile paralele ABCD se completeaz
a n tabelul de adevar 7.6.
Functiile B, C si D se pot implementa
relativ simplu pe baza valorilor corespunz
atoare din tabelul de adevar. Astfel, B
poate fi conectat la 0 logic, iar C=D sunt
egale cu QA . Functiile A, IS si M C
au forme mai complicate si vor fi implementate conform cerintelor cu MUX4:1.
Schema automatului implementat cu registru si MUX4:1 este aratata n figurile 7.12
si 7.13. Evolutia semnalelor de la iesirile
registrului n functie de valorile parametrilor a si b la fiecare front al semnalului
de tact poate fi urm
arita n figura 7.14.

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

Generatoare de semnal cu registre de deplasare

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.

Observatie: Functionarea corecta a automatului impune ca starile sa nu se repete. Dac


a prin deplasare serie se ajunge la o stare deja existenta n diagrama
de tranzitii, atunci urmatoarea stare se va obtine obligatoriu printr-o ncarcare
paralel
a care s
a evite aparitia unor stari duble.

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

la adresele memoriei, cu observatia c


a adresa cea mai semnificativa A4 a memoriei nu
este utilizat
a, prin urmare se conecteaz
a la masa.
129

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

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.

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

majoritatea cazurilor identificarea asemanarilor devine mai usoara daca se deseneaz


a
cel putin dou
a cicluri ntregi ale semnalelor. In cazul concret, semnalele P si R pot fi
redesenate ca n figura 7.25.
CK

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

semnalele rearanjate in timp


Figura 7.26

Schema cu registru de deplasare si memorie este aratata n figura 7.27. In harta de


programare a memoriei din tabelul 7.10 se utilizeaza doar prima jumatate, liniile si
coloanele neutilizate se nscriu cu 0 logic.
132

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

la trecerea dintr-o stare n alta a organigramei.


DS1

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

Din tabelul de adev


ar reiese ca A=D=QC si B=C=0. Functiile M C si IS se realizeaz
a
cu MUX8:1 asa cum este aratat n figura 7.30.

7.3

Analiza circuitelor cu registre de deplasare

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

Rezolvare: Pentru a obtine st


arile prin care trece circuitul se observa ca semnalul
de comand
a M C este tot timpul 0 logic. Astfel, registrul va face numai deplasari
serie, starea primei celule depinz
and de semnalul IS=QD . Pornind de la starea 0000,
diagrama de tranzitii se completeaz
a ca n figura 7.32.
a
QD

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

Potrebbero piacerti anche