Documente Academic
Documente Profesional
Documente Cultură
Damian IMBREA
CUPRINS
Introducere ....................................................................................................1
Cap.1 Algebr logic i aritmetic binar ..................................................7
1.1 Generaliti ......................................................................................7
1.2 Definirea axiomatic a algebrei logice ............................................8
1.3 Reguli de calcul n algebra logic ...................................................9
1.4 Funcii logice .................................................................................11
1.4.1 Expresii logice ........................................................................11
1.4.2 Tabele de adevr .....................................................................14
1.4.3 Diagrame de decizie binar ....................................................20
1.5 Coduri binare .................................................................................23
1.5.1 Baze de numeraie ..................................................................26
1.5.2 Codul binar natural .................................................................28
1.5.3 Coduri binare complementare .................................................29
1.5.4 Coduri binare zecimale ...........................................................37
1.5.5 Codul binar reflectat ...............................................................41
1.6 Probleme rezolvate ........................................................................43
1.7 Probleme propuse spre rezolvare ...................................................65
Cap.2 Sinteza i analiza circuitelor combinaionale .................................69
2.1 Pori logice .....................................................................................69
2.2 Implementarea funciilor logice .....................................................74
2.3 Minimizarea funciilor logice ........................................................79
2.3.1 Metoda de minimizare Karnaugh ............................................81
2.3.2 Metoda de minimizare Quine-McCluskey ...............................91
2.4 Minimizarea sistemelor de funcii ...............................................100
2.5 Hazardul circuitelor combinaionale ............................................109
2.6 Probleme rezolvate ......................................................................118
2.7 Probleme propuse spre rezolvare .................................................140
Cap.3 Clase de circuite logice combinaionale........................................143
3.1 Convertoare de cod ......................................................................143
3.2 Codificatoare-decodificatoare ......................................................146
3.3 Multiplexoare-demultiplexoare ...................................................152
3.4 Generatoare-detectoare de paritate ..............................................156
3.5 Circuite de deplasare ...................................................................157
3.6 Comparatoare ..............................................................................159
3.7 Sumatoare-scztoare ..................................................................162
3.7.1 Sumatoare-scztoare binare cu transport-mprumut succesiv..167
3.7.2 Sumatoare binare cu transport anticipat ................................169
3.7.3 Sumatoare binare cu transport n salt ....................................173
3.7.4 Sumatoare binare cu transport selectat ..................................176
3.7.5 Sumatoare BCD ....................................................................180
INTRODUCERE
Figura i.1
Introducere
(i.1)
(i.2)
(i.3)
(i.4)
Sau, dac se consider (pentru simplitate) c circuitul din fig.i.1 are ca mrime
de intrare o variabil logic x i furnizeaz rspunsul sub forma unei variabile
logice z, relaia i.4 devine:
F : {L, H} {L, H}, z = F(x)
(i.5)
z = F1(x)
z = F2(x)
z = F3(x)
z = F4(x)
Dintre aceste patru funcii logice de o variabil numai una singur are utilitate
practic i anume F4(x). Acest funcie sau operaie foarte simpl este numit
Introducere
(i.6)
Introducere
1.1 Generaliti
Bazele algebrei logice, denumit ulterior algebr boolean, au fost puse
de matematicianul englez George Boole (1815-1864). Algebra logic a fost
conceput ca o metod simbolic de tratare a funciilor logicii formale; aceasta
are ca obiect de studiu valoarea de adevr a unor afirmaii, adevrat (TRUE)
sau fals (FALSE). Dup ce a fost dezvoltat, algebra logic s-a impus ca cel mai
important mijloc matematic de analiz i sintez a circuitelor de comutaie,
circuite realizate prin interconectarea unor comutatoare. Motivul este evident
dac se face asocierea dintre starea unui comutator (nchis sau deschis) i
valoarea de adevr a unei afirmaii (adevrat sau fals): att logica formal ct
i circuitele de comutaie pot fi tratate utiliznd o algebr binar - algebr
definit pe o mulime format din dou elemente.
Din categoria circuitelor de comutaie fac parte i circuitele digitale,
numite i circuite logice. O descriere simbolic a funcionrii unui circuit digital
care are dou intrri a, b i dou ieiri y, z este ilustrat n fig.1.1.
Figura 1.1
Circuitul este alimentat cu tensiunea V+ iar simbolurile L i H au semnificaiile
de tensiune mic i respectiv de tensiune mare. Termenii tensiune mic i
10
a = 0 = 1= 0= a
a = 1 = 0 = 1 = a.
a + b + c + d + ... = a b c d ...
11
A1,2
T4
A2
A5
T2
ab + (a
+ b) = (a + ab) + b = (a
+ b) + b = a + (b + b) = a + 1 = 1
A1,2,3
A5
T2
T1
ab(a
+ b) = aa
b + abb
= 0b + a0 = 0 + 0 = 0
Conform axiomei 5, a
+ b este complementul elementului ab.
Generalizare:
a b c d ... = a + b + c + d + ...
F(a, b, c) = ab + a(b
+ c) + ac
G(a, b, c, d) = c[b + a(b + d)] + bc
H(x, y, z, w) = xzw + yzw
+ x y
Observaie: Punctul () care semnific operaia de nmulire logic poate fi omis
la scrierea expresiilor logice.
12
(1.1)
(1.2)
F(a, b, c) = ab + ac + b c
(1.3)
F(a, b, c) = ab
+ a c + bc
(1.4)
F(a, b, c) = a b
c + abc + abc + ab
c + ab
c + abc
(1.5)
F(a, b, c) = (a + b + c )(a + b + c)
(1.6)
etc.
Echivalena acestor expresii logice poate fi demonstrat formal cu ajutorul
axiomelor i regulilor de calcul din algebra logic sau prin calcularea valorilor
funciei. Ca exemplu se va demonstra echivalena relaiilor 1.1 i 1.4.
(1) utilizarea axiomelor i regulilor de calcul:
(rel.1.1)
A3
A4,5
+ ac + a c =
b + a(b
a
+ c) + a c = ab + ab
A3
= ab(c + c) + ab
+ a(b + b)c + a c =
A1,2
= abc + abc + ab
+ abc + ab
c + a c =
A3
+ ab
c) =
= (a
bc + abc) + (a
bc + a c) + (ab
A5,T2
A1
(rel.1.4)
(1 + c) = bc + a c + ab
= ab
+ a c + bc
= (a
+ a)bc + a c(b + 1) + ab
13
ab + a(b
+ c) + a c
(rel.1.1)
ab
+ a c + bc
(rel.1.4)
0 0 0
0 + 0(0 + 0) + 00
0
=1
00
+ 00
+ 00 = 1
0 0 1
0 + 0(0 + 1) + 01
0
=0
00
+ 01
+ 01 = 0
0 1 0
1 + 0(1 + 0) + 00
0
=1
01
+ 00
+ 10 = 1
0 1 1
01 + 0(1 + 1) + 01
=1
01
+ 01
+ 11 = 1
1 0 0
0 + 1(0 + 0) + 10
1
=1
10
+ 10
+ 00 = 1
1 0 1
0 + 1(0 + 1) + 11
1
=1
10
+ 11
+01 = 1
1 1 0
1 + 1(1 + 0) + 10
1
=0
11
+ 10
+ 10 = 0
1 1 1
1 + 1(1 + 1) + 11
1
=1
11
+ 11
+ 11 = 1
(1.7)
14
Dac se cunosc valorile funciei atunci n relaia 1.7 rmn doar mintermenii
corespunztori valorilor 1:
f(a, b, c) = 3(mintermeni) = forma canonic cu mintermeni
(1.8)
(1.9)
Dac se cunosc valorile funciei atunci n relaia 1.9 rmn doar maxtermenii
corespunztori valorilor 0:
f(a, b, c) = J(maxtermeni) = forma canonic cu maxtermeni (1.10)
Relaia 1.6 conine numai maxtermenii a + b + c i a
+ b + c; acetia se obin
prin complementarea mintermenilor a
b
c i abc, care lipsesc n reprezentarea
canonic 3(mintermeni).
Reprezentarea analitic a unei funcii logice sub forma canonic cu
mintermeni (maxtermeni) este unic.
Orice expresie logic poate fi rescris sub o form echivalent utiliznd
numai operaiile + i sau numai operaiile i . Demonstraia este banal i
are la baz n principal teoremele 5 i 6. Se va rescrie, ca exemplu, rel.1.2:
F(a, b, c) = ab + a(b
+ c) + b c =
= ab + ab + ac + b c = ab ab ac b c =
= ab + a (b + c) + b + c = a + b + a + b + c + bc
15
Figura 1.3
16
f1 / 0
f2 = f 1 / 1
f3 = a
f5 = b
f6 = f 5 = b
f7 = a
b + ab
f4 = f 3 = a
f8 = f 7 = ab + a b
17
f9 = ab
f13 = a
b
f10 = f 9 = a
+ b
f14 = f 13 = a + b
f11 = ab
f12 = f 11 = a
+b
f15 = a
b
f16 = f 15 = a + b
a b = ab + ab
(1.11)
a ( b c ) = ( a b) c
a 1 = a
a0 = a
aa =1
ab = a b = ab
(1.13)
18
19
Tabela din fig.1.4d reprezint o comprimare a tabelei de adevr din fig.1.4a prin
utilizarea ambelor metode de comprimare prezentate (n tabela din fig.1.4c s-au
comprimat ultimele dou linii).
O tabel de adevr i comprimatele acesteia, ca acelea din fig.1.4,
specific una i aceeai funcie. O funcie logic reprezentat prin oricare dintre
aceste tabele este complet definit, n sensul c dac se atribuie valori 0 i 1, n
orice combinaie, tuturor variabilelor de care depinde funcia atunci se poate
preciza valoarea funciei, 0 sau 1. n practic apar situaii n care, din diferite
motive, nu se precizeaz toate valorile unei funcii logice. Altfel spus, se
definesc funcii specificndu-se valorile acestora, 0 sau 1, numai pentru anumite
combinaii de bii atribuite variabilelor. Funciile de acest tip sunt incomplet
definite. Valorile nespecificate pot fi considerate valori logice indiferente. O
funcie incomplet definit este reprezentat printr-o tabel n fig.1.5; valorile
nespecificate sunt considerate indiferente i sunt marcate cu *.
Figura 1.6
20
21
grafului.
n diagrama din fig.1.7 se iau decizii n mod explicit numai asupra
variabilelor a i b. Aceast diagram este o form comprimat de reprezentare
a diagramei de decizie binar din fig.1.8.
Figura 1.8
Diagrama din fig.1.7 poate fi la rndul ei comprimat. O posibilitate este
ilustrat n fig.1.9; se iau decizii n mod explicit numai asupra variabilei a.
Figura 1.9
Reprezentarea unei funcii logice printr-o diagram de decizie binar nu
este unic. Complexitatea diagramei depinde de ordinea n care sunt considerate
variabilele precum i de numrul variabilelor asupra crora se iau decizii n mod
explicit. Impactul ordonrii variabilelor asupra complexitii diagramei este
evideniat n exemplul urmtor.
22
23
Figura 1.12
ntre cele trei moduri de reprezentare a unei funcii logice i anume
expresii logice, tabele de adevr i diagrame de decizie binar, se pot face
conversii; dac se cunoate o reprezentare a funciei ntr-unul din aceste
moduri, cu ajutorul acesteia se pot determina reprezentri ale funciei i n
celelalte dou moduri.
24
Figura 1.13
ntruct mulimea A conine 12 elemente, vectorul X trebuie s aib formatul
sau dimensiunea minim egal cu 4. Un asemenea format este suficient
deoarece exist 24 = 16 combinaii distincte de 4 bii. Dac X ar avea formatul
3 atunci cu cele 23 = 8 combinaii distincte de 3 bii nu se pot acoperi toate
elementele mulimii A i codificarea acestora nu ar fi posibil. De asemenea,
vectorul Z trebuie s aib o dimensiune minim egal cu 2, cele 22 = 4
combinaii distincte de 2 bii fiind suficiente pentru acoperirea elementelor
mulimii B. Detaliile referitoare la coordonatelele vectorilor X i Z sunt indicate
n fig.1.13b:
X = x3 x2 x1 x0 , Z = z1 z0
Circuitul din fig.1.13b implementeaz un sistem de dou funcii logice:
z1 = z1 ( x3 , x2 , x1 , x0 )
z0 = z0 ( x3 , x2 , x1 , x0 )
O ieire a unui circuit logic realizeaz o funcie care depinde de toate variabilele
de intrare sau numai de o parte dintre acestea.
n cazul circuitului de mai sus codificarea (i implicit definirea funciilor z1 i
z0) const n reprezentarea elementelor mulimilor A i B prin combinaii de 4
i respectiv de 2 bii. Oricare 12 din cele 16 combinaii de 4 bii i n orice
ordine pot fi utilizate pentru reprezentarea elementelor mulimii A; rezult
12
posibiliti de codificare a elementelor mulimii A. De asemenea,
12 ! C16
oricare 3 din cele 4 combinaii de 2 bii i n orice ordine pot fi utilizate pentru
codificarea elementelor mulimii B; rezult 3! C43 posibiliti de codificare
a elementelor mulimii B. Codificarea elementelor mulimii A i respectiv a
elementelor mulimii B sunt operaii independente ntre ele. Ca urmare,
definirea sistemului de funcii (z1, z0) ce caracterizeaz circuitul din fig.1.13b
25
3
12
se poate face n 3! 12 ! C4 C16 = 20.922.789.888.000 moduri. Din acest
X = x3 x2 x1 x0
triunghi Y
0000
cerc Y
0010
dreptunghi Y
0011
paralelogram Y
0101
elips Y
0110
rou Y
0111
verde Y
1000
galben Y
1010
violet Y
1011
joi Y
1100
vineri Y
1101
dumunic Y
1111
Tabele de adevr
x3 x2 x1 x0
z1
z0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
BY
Z = z1 z0
1100
figur geometric Y
10
1101
culoare Y
01
1110
zi a sptmnii Y
11
1111
26
n care sunt utilizate operaiile algebrice de nmulire i de adunare din baza 10.
Exemple:
352,16(7) = 372 + 57 + 2 + 7-1 + 67-2 184,265306122448979... (10);
4133,201(5) = 453 + 152 + 35 + 3 + 25-1 + 5-3 = 543,408(10);
1001011,011(2) = 26 + 23 + 2 + 1 + 2-2 + 2-3 = 75,375(10);
A2C,9(16) = 10162 + 216 + 12 + 916-1 = 300,5625(10);
(cifrele bazei 16 sunt 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E i F).
Reprezentarea unui numr pozitiv X(10) ntr-o alt baz de numeraie b se
face, exact sau aproximativ, prin repetarea secvenei urmtoare de operaii:
1) se determin numrul natural k astfel nct bk # X(10) i bk+1 > X(10);
2) se determin cifra de rang k a imaginii lui X(10) n baza b, adic cel mai mare
numr natural yk # b-1 cu proprietatea ykbk # X(10);
3) se extrage cifra yk : X(10) Z X(10) - ykbk.
Dac dup extragerea cifrei yk rezult X(10) > 0, atunci se repet secvena de
operaii de mai sus pentru determinarea cifrei de rang imediat inferior yk-1,
.a.m.d.; dac n urma extragerii unei cifre se obine X(10) = 0 atunci conversia
27
numrului n baza b s-a terminat i este exact. Este posibil s se extrag orict
de multe cifre fr s se obin vreodat X(10) = 0; n astfel de cazuri nu este
posibil o conversie exact a numrului n baza b i se va face o trunchiere sau
o aproximare cu precizia dorit sau impus.
Exemple:
1) 591,7(10) = ?(6) 2423,411... (6)
63 = 216 < 591,7; 64 = 1296 > 591,7; 263 = 432 < 591,7; 591,7 - 432 = 159,7;
62 = 36 < 159,7; 462 = 144 < 159,7; 159,7 - 144 = 15,7;
61 = 6 < 15,7; 261 = 12 < 15,7; 15,7 - 12 = 3,7;
60 = 1 < 3,7; 360 = 3 < 3,7; 3,7 - 3 = 0,7;
6-1 = 0,1(6) < 0,7; 46-1 = 0,(6) < 0,7; 0,7 - 0,(6) = 0,0(3);
6-2 = 0,02(7) < 0,0(3); 16-2 = 0,02(7) < 0,0(3); 0,0(3) - 0, 02(7) = 0,00(5);
6-3 = 0,004(629) < 0,00(5); 16-3 = 0,004(629) < 0,00(5); etc.
2)
4 2 0, 3(5) 3 4 2, 1(5)
0 2 3, 2(5)
(Y0 Y1 Y1 Y0 mprumuturi)
28
5 2(6)
4 3(6)
2 4 0(6)
3 3 2(6)
4 0 0 0(6)
3 2(10)
2 7(10)
2 2 4(10)
6 4(10)
8 6 4(10)
Codul binar natural al numrului X(10) este X(2) = xn-1 xn-2 ...x2 x1 x0. n acest format
de n bii pot fi scrise numerele naturale 0, 1, 2, 3, ..., 2n-1. n tabela urmtoare
sunt reprezentate n cod binar natural numerele 0, 1, 2, 3, ..., 15:
X(10)
x3 x2 x1 x0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
29
(1.16)
(1.17)
1 1 ... 1 1, 1 1 ... 1 xn-1 xn-2 ... x1 x0, x-1 x-2 ... x-m
(1.18)
Termenul 2-m a fost utilizat n relaia 1.18 n locul reprezentrii binare 0,0...01
n care cifra 1 are rangul -m. Numerele zecimale care pot fi reprezentate, exact
sau aproximativ, n codul C2 cu un format de (n+1)+m bii aparin intervalului
[-2n, +(2n - 2-m)]. Numrul zecimal 0 are reprezentare unic n codul C2, i
anume 000...0,00...0. n cazul particular al numerelor ntregi (m = 0), domeniul
zecimal acoperit este mulimea {-2n, -(2n - 1), ..., -1, 0, 1, 2, ..., (2n - 1)}.
n tabela urmtoare sunt date interpretrile zecimale pentru combinaiile
de 5 bii (parte ntreag) corespunztoare codurilor binar natural, binar cu
semnul codificat, C1 i C2:
30
interpretare zecimal
binar natural
binar cu semn
C1
C2
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-15
-14
-13
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
-16
-15
-14
-13
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
31
Fie A = an an-1an-2 ... a1a0,a-1a-2 ... a-m i B = bn bn-1bn-2 ... b1b0,b-1b-2 ... b-m
dou numere binare cu semn. Operaia A + B = C se efectueaz utiliznd un
algoritm de adunare dac A i B au acelai semn, sau un algoritm de scdere
dac A i B au semne contrare. Biii de semn sunt tratai n mod diferit fa de
biii care definesc modulele operanzilor A i B. Dac an = bn atunci aceast
valoare logic se atribuie bitului de semn cn iar *C* = *A* + *B*. Dac an bn
atunci semnul rezultatului se decide printr-o comparaie: dac *A* $ *B* atunci
cn = an i *C* = *A* - *B* iar dac *A* # *B* atunci cn = bn i *C* = *B* - *A*.
Dac A i B au semne contrare atunci rezultatul poate fi scris n formatul C =
cn cn-1cn-2...c1c0,c-1c-2...c-m. Cnd A i B au semne identice, este posibil ca
formatul cn-1cn-2...c1c0,c-1c-2...c-m s nu mai fie suficient pentru scrierea modulului
rezultatului. n situaii de acest fel se spune c s-a produs o depire a
formatului. Mrirea formatului cu o cifr la partea ntreag pentru rezultatul
operaiei este o soluie de rezolvare a depirilor.
Exemple:
1) A = 10110,101; B = 01010,011; C = A + B
Deoarece A este negativ iar B este pozitiv, se va determina rezultatul C printr-o
scdere. Relaia dintre modulele operanzilor este *A* = 0110,101 < *B* =
1010,011, ceea ce implic c4 = b4 = 0 i *C* = *B* - *A* = 0011,110, adic C =
00011,110.
1 0 1 0, 0 1 1*B*0 1 1 0, 1 0 1
*A*
0 0 1 1, 1 1 0
*C*
(Y0 Y1 Y1 Y1 Y1 Y0 Y0 mprumuturi)
2) A = 10110,101; B = 11010,011; C = A + B
Deoarece A i B sunt negative, se va determina rezultatul C printr-o adunare.
Semnul rezultatului este c4 = a4 = b4 = 1.
0 1 1 0, 1 0 1+
1 0 1 0, 0 1 1
1 0 0 0 1, 0 0 0
(17 17 17 07 17 17 17 transporturi)
*A*+
*B*
*C*
32
1 0 0, 0 1 10 1 1, 1 0 1
0 0 0, 1 1 0
C2(B)
0 1 0 0, 0 1 1+
C2(A)
1 1 0 0, 0 1 1
C2(A) + C2(B) 1 0 0 0 0, 1 1 0
(se neglijeaz acest transport)
33
2)
0 1 0, 1 0 1+
0 1 1, 1 1 0
1 1 0, 0 1 1
C2(A)
1 1 0 1, 0 1 1+
C2(B)
1 1 0 0, 0 1 0
C2(A) + C2(B) 1 1 0 0 1, 1 0 1
(se neglijeaz acest transport)
Rezultatul obinut nu este corect deoarece este pozitiv, operanzii fiind negativi.
Depirile de format pot fi detectate n codul C2 fr a compara semnele
operanzilor cu cel al rezultatului, dac se codific semnul cu 2 bii: 00 semnul
pozitiv i 11 semnul negativ. Procednd astfel n adunarea de mai sus, se obine:
C2(A)
1 1 1 0 0, 1 0+
C2(B)
1 1 0 1 0, 0 1
C2(A) + C2(B) 1 1 0 1 1 0, 1 1
(se neglijeaz acest transport)
34
sunt C2(A) = 1101, C2(B) = 0110, C2(C) = 1001, C2(D) = 0101 i C2(E) =
1110. Deoarece adunarea este comutativ, rezultatul nu trebuie s depind de
ordinea operanzilor. Se va efectua operaia A + B + C + D + E, n codul C2,
n trei moduri:
(a)
C2(A) 1101+
C2(B) 0110
se neglijeaz acest transportY
1 0011+
C2(C) 1001
1100+
C2(D) 0101
se neglijeaz acest transportY
1 0001+
C2(E) 1110
1111 = -1 n zecimal
n aceast ordine de efectuare a adunrii nu s-a produs nici o depire a
formatului.
(b)
C2(A) 1101+
C2(C) 1001
se neglijeaz acest transportY
1 0110+
depire de format
C2(B)
0110
1100+
C2(D) 0101
se neglijeaz acest transportY
1 0001+
C2(E) 1110
1111 = -1 n zecimal
auto-corecie
(c)
C2(B) 0110+
C2(D) 0101
depire de format
1011+
C2(C) 1001
se neglijeaz acest transportY
1 0100+
auto-corecie
C2(E) 1110
1 0010+
C2(A) 1101
1111 = -1 n zecimal
35
C2
0100+
0101
1001+
0111
1 0000+
0011
0011+
0010
0101+
0110
1011+
1000
1 0011+
1001
1100+
1011
1 0111
(eroare)
(eroare)
(auto-corecie)
(auto-corecie)
36
Cazul 2: an = bn = 1
1a
0,a
-1a
-2...a
-m = 11...11,11...1 - an-1...a1a0,a-1a-2...a-m =
C1(A) = 1a
n-1...a
= 2n+1 - 2-m - *A*; de asemenea, C1(B) = 2n+1 - 2-m - *B*.
C1(A) + C1(B) = 2n+1- 2-m- *A* + 2n+1- 2-m- *B* = (2n+1- 2-m- *A + B*) + 2n+1- 2-m
= C1(A + B) + 2n+1- 2-m; rezult C1(A + B) = C1(A) + C1(B) - 2n+1 + 2-m.
n cazul operanzilor negativi, la adunarea C1(A) + C1(B) se genereaz
ntotdeauna un transport din rangul n, adic 2n+1 n zecimal, care se reduce cu
termenul -2n+1; dac se neglijeaz transportul din rangul semnului i termenul
-2n+1 se poate considera = 2-m n relaia 1.20.
Exemplu:
A = 101,011; B = 110,001; C1(A) = 110,100; C1(B) = 101,110
*A*
*B*
*A + B*
01,011+
10,001
11,100
C1(A)
C1(B)
110,100+
101,110
000,001
100,011
100,01010,11
001,10
C1(A)
C1(B)
0100,01+
1101,00
0000,01
0001,10
37
2)
10,1001,11
00,11
C1(A)
C1(B)
C1(A) + C1(B)
001,11+
101,01
111,00
8421
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
2421
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
4221
0000
0001
0010
0011
0110
1001
1100
1101
1110
1111
7421
0000
0001
0010
0011
0100
0101
0110
0111
1001
1010
84-2-1
0000
0111
0110
0101
0100
1011
1010
1001
1000
1111
38
exces 3
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
2 din 5
00011
00101
00110
01001
01010
01100
10001
10010
10100
11000
8421 impar
10000
00001
00010
10011
00100
10101
10110
00111
01000
11001
Numerele zecimale formate din mai multe cifre pot fi reprezentate ntr-un
cod BCD, ponderat sau neponderat, prin nlocuirea fiecrei cifre cu codul
corespunztor. Exemple:
375(10) = 0011 0111 0101(8421)
375(10) = 0011 1101 1011(2421)
375(10) = 0110 1010 1000(exces 3)
n mod asemntor definirii codurilor binare complementare fa de 1 i
fa de 2 se pot defini coduri BCD complementare fa de 9 i fa de 10.
Aceste dou coduri, notate C9 i respectiv C10, vor fi definite n continuare
pentru numere negative cu ajutorul codului BCD natural.
Fie D(10) = dn-1 dn-2 ...d1 d0,d-1 d-2 ...d-m un numr zecimal cu semn; cifrele
numrului D, numite i digii, pot fi scrise fiecare n codul 8421. Semnul poate
fi codificat cu un digit, utiliznd convenia 0 : +, 9 : -:
D(10) = sn dn-1 dn-2 ...d1 d0,d-1 d-2 ...d-m
Reprezentrile n C9 i n C10 ale unui numr zecimal negativ sunt definite cu
39
relaiile:
n-1d
n-2...d
1d
0,d
-1d
-2...d
-m
C9(-dn-1 dn-2 ...d1 d0,d-1 d-2 ...d-m) = 9d
(1.22)
n-1d
n-2...d
1d
0,d
-1d
-2...d
-m + 10-m
C10(-dn-1 dn-2 ...d1 d0,d-1 d-2 ...d-m) = 9d
(1.23)
n care d
j = 9 - dj este complementul fa de 9 a digitului dj.
Exemple:
C9(-172,58) = 9 827,41 = 1001 1000 0010 0111, 0100 0001
C10(-172,58) = 9 827,42 = 1001 1000 0010 0111, 0100 0010
Adunarea (scderea) a dou cifre zecimale codificate 8421 are ca rezultat
tot un cod 8421 numai dac la adunarea (scderea) lor n zecimal nu se
depete formatul de o cifr. Exemplele urmtoare ilustreaz acest lucru:
1) operaii fr depire a formatului
5+
3
8
71
6
0101+
0011
1000
01110001
0110
4+
7
1 1
0100+
0111
1011(nu este cod BCD natural)
35
1 8
00110101
1 1110(nu este cod BCD natural)
9+
8
1 7
00110101
1 11100110(termen de corecie)
0001 1000
1001+
1000
1 0001(este cod BCD natural)
1001+
1000
1 0001+
0110(termen de corecie)
0001 0111
40
(1.24)
D e m o n s t r a i e:
Cazul 1: an = bn = 0
C10(A) = A, C10(B) = B, C10(A + B) = A + B i se verific relaia 1.24.
Cazul 2: an = bn = 9
1a
0,a
-1a
-2...a
-m + 10-m = 99...99,99...9 - *A* + 10-m = 10n+1 - *A*
C10(A) = 9a
n-1...a
C10(B) = 10n+1 - *B*;
C10(A) + C10(B) = (10n+1 - *A* - *B*) + 10n+1 = (10n+1 - *A + B*) + 10n+1 =
= C10(A + B) + 10n+1
Termenul subliniat poate fi neglijat deoarece reprezint un transport din rangul
semnului ctre rangul n + 1, rang care nu face parte din formatul de (n + 1 + m)
cifre.
Cazul 3: an = 0, bn = 9 (cazul an = 9, bn = 0 se rezolv n mod asemntor)
C10(A) = A, C10(B) = 10n+1 - *B*;
Dac *A* $ *B* atunci C10(A) + C10(B) = 10n+1 + (A + B) = C10(A + B);
termenul subliniat este un transport ctre rangul n + 1 i poate fi neglijat.
Dac *A* # *B* atunci C10(A) + C10(B) = 10n+1 - *A + B* = C10(A + B).
Exemple:
1)
A = 0237,56; B = 9198,14;
*A*
*B*
*A* - *B*
237,57198,14
039,43
C10(A)
0237,57+
C10(B)
9801,86
C10(A) + C10(B) 1 0039,43
se neglijeaz acest transport
41
2)
A = 0418,29; B = 9756,32;
*B*
*A*
*B* - *A*
756,32418,29
338,03
C10(A)
C10(B)
C10(A) + C10(B)
0418,29+
9243,68
9661,97
0111
0100
0011
0000
0011
0000
1001
1001
0000
1001
0101
0001
0011
0000
0011
0100
0010
0110
0000
0110
0110,
1000,
1110,
0110,
1000,
0001
0100
0101
0000
0110
0011
0010
0000
0000
0000
1000,
0011,
1011,
0110,
0001,
00101001
10010110 (corecie)
0011
0010
0110
1001
0000
1001
1001+
1000
0001+
0110 (corecie)
0111
adugare bii
n-1
n-1
D
O
C
0 C
0 O
D
0 n-1
1 n-1
oglind
D
1 O
1 C
Figura 1.14
C
O
D
42
oglinda 1
oglinda 2
Figura 1.16
43
Gray zecimal
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
Gray nchis
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
44
abc
000
001
010
011
100
101
110
111
Q
1
0
1
0
0
1
1
0
R e z o l v a r e:
Comparnd valorile funciilor, corespunztoare aceleiai combinaii de valori
logice atribuite variabilelor a, b, c, traversnd de exemplu ambele tabele de sus
n jos, nu se poate stabili dac ntre P i Q exist o anumit relaie. Relund
comparaia dup reordonarea tabelei de adevr a funciei Q prezentat mai jos,
se poate observa c P
(a, b, c) = Q(a
, b, c), adic aceste funcii sunt duale.
abc P
000 1
001 0
010 0
011 1
100 1
101 0
110 1
111 0
abc
111
110
101
100
011
010
001
000
Q
0
1
1
0
0
1
0
1
45
46
F(a, b, c) = ab
+ bc +a
c = ab
(c + c) + (a + a)bc + a(b + b)c =
= ab
c + ab
c + abc + abc + abc + a b
c.
Cunoaterea uneia dintre formele canonice este suficient pentru determinarea
celeilalte. Astfel, prin complementarea mintermenilor care lipsesc n forma
canonic cu mintermeni se obin maxtermenii formei canonice cu maxtermeni:
a b = (a)b + ab = ab + ab = a b
a b = a(b ) + ab = ab + ab = a b
Dac se noteaz xj = a i x1... x ( j 1) x ( j + 1)... xn = b , j = 1, 2, ..., n,
se obin, una cte una, toate egalitile enumerate n enunul problemei.
R e z o l v a r e:
g(b, c) = f( 0, b, c) = b + c + b c + c b = b + c + b c = b + c + b c + bc =
= (b + bc) + (c + b c) = b + c
h(b, c) = f( 1, b, c) = b + c + b + c = (b c + b ) + c = b + c
f(a, b, c) = a(b + c) + a(b + c) = (ab + ab ) + (ac + ac) = a b + a c
Simplificarea expresiei se poate face n mod asemntor utiliznd expandrile
f(a, b, c) =b
j(a, c) + bk(a, c) sau f(a, b, c) = c p(a, b) + cq(a, b).
47
a b c
0 0 0
0 0 0
0 0 1
0 0 1
0 1 0
0 1 0
0 1 1
0 1 1
1 0 0
1 0 0
1 0 1
1 0 1
1 1 0
1 1 0
1 1 1
1 1 1
d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
g
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
R e z o l v a r e:
a) Dou linii din tabela de adevr pot fi comprimate ntr-una singur dac
specific aceeai valoare pentru funcia g i se deosebesc doar prin valoarea
atribuit unei singure variabilele. Aceste dou linii pot fi nlocuite cu una
singur, n care se pstreaz valorile comune i se nlocuiete cu t valoarea
diferit. Procednd n acest mod, se obine tabela:
Linii comprimate
0 i 4
1 i 5
2 i 6
3 i 7
8 i 9
10
11
12 i 13
14 i 15
a b
0 t
0 t
0 t
0 t
1 0
1 0
1 0
1 1
1 1
c
0
0
1
1
0
1
1
0
1
d
0
1
0
1
t
0
1
t
t
g
0
1
1
0
1
0
1
0
0
48
a b
0 t
0 t
0 t
0 t
1 0
1 0
1 0
1 1
c
0
0
1
1
0
1
1
t
d
0
1
0
1
t
0
1
t
g
0
1
1
0
1
0
1
0
b
0
1
0
1
g
crd
crd
c + d
0
b
g
t crd
0 c + d
0
1
49
H
1
0
t
0
1
t
0
0
1
1
0
t
0
1
1
t
R e z o l v a r e:
Din tabela funciei H se pot extrage urmtoarele tabele, cu dimensiuni de 4
ori mai mici:
b = 0, d = 0
b = 0, d = 1
b = 1, d = 0
b = 1, d = 1
a
0
0
1
1
c
0
1
0
1
J
1
t
1
0
a
0
0
1
1
c
0
1
0
1
K
0
0
1
t
a
0
0
1
1
c
0
1
0
1
L
1
0
0
1
a
0
0
1
1
c
0
1
0
1
M
t
0
1
t
50
d
0
1
0
1
H
J
K
L
M
b
0
0
1
1
0
0
1
1
c f
0 1
1 0
0 0
1 0
0 1
1 1
0 0
1 1
R e z o l v a r e:
a)
51
52
b)
53
54
R e z o l v a r e:
Diagrama de mai sus poate fi traversat n urmtoarele 6 moduri:
1) a = 0, d = 0 ! W = b;
2) a = 0, d = 1, c = 0 ! W = b e;
3) a = 0, d = 1, c = 1 ! W = b f g;
4) a = 1, c = 0, d = 0 ! W = 1;
5) a = 1, c = 0, d = 1 ! W = e;
6) a = 1, c = 1 ! W = f g.
Cu ajutorul acestor informaii, funcia W poate fi reprezentat prin tabela:
a c d
0t
0 0
0 1
1 0
1 0
1 1
0
1
1
0
1
t
W
b
be
b f g
1
e
f g
55
V1 = W(0, b, 0, 1, e, f, g),
V2 = W(0, b, 1, 0, e, f, g),
V3 = W(0, b, 1, 1, e, f, g),
V4 = W(1, b, 0, 0, e, f, g),
V5 = W(1, b, 0, 1, e, f, g),
V6 = W(1, b, 1, 0, e, f, g),
V7 = W(1, b, 1, 1, e, f, g).
56
57
58
285,17+
637,44
1033,62
B
A
B-A
2 8 5, 1 7
6 3 7, 4 4
1272 71
12727 1
226034
87653
186416
2 0 8 7 0 3, 7 4 8 1
637,44285,17
342,26 (A - B = - 342,26)
A
B
AB
59
60
b)
C2(A)
C2(B)
C2(C)
C2(D)
1
C2(E)
C2(F)
C2(G)
1
C2(H)
1
C2(J)
C2(K)
1
C2(L)
C2(M)
1
C2(N)
C2(P)
C2(Q)
01001,10+
00110,01
01111,11+
01011,11
11011,10+
00101,00
00000,10+
00111,10
01000,00+
10111,11
11111,11+
11011,01
11011,00+
11010,00
10101,00+
00011,10
11000,10+
01000,01
00000,11+
01111,10
10000,01+
11100,01
01100,10+
10011,00
11111,10+
10000,01
01111,11
eroare
eroare
auto-corecie
auto-corecie
Q = +1111,11
Rezultatul final este corect deoarece numrul de erori produse este egal cu
numrul de auto-corecii.
Observaie: Termenii eroare i auto-corecie cu care sunt marcate anumite
rezultate pariale trebuie nelese ca depiri ale formatului. Nu numai
rezultatele pariale marcate cu eroare sunt eronate. Din momentul primei
61
C10(A)
C10(B)
se neglijeaz acest transport Y
C10(C)
C10(D)
Y
C10(E) =
987,6+
087,5
1 075,1+
049,3
124,4+ (depire de format = eroare)
943,9
1 068,3
(auto-corecie)
068,3 ! E = +68,3
62
pozitive iar cifra 8 apare cnd se depete formatul la adunarea a dou numere
negative; cifrele 2, 3, 4, 5, 6, 7 i de asemenea 0, 1, 8, 9 pot s apar n rangul
semnului ca urmare a efecturii unei adunri n care este implicat un rezultat
parial eronat. Dac prin efectuarea unei adunri n care este implicat un rezultat
parial eronat se obine cifra 0 sau 9 n rangul semnului, aceasta nu constituie
n mod obligatoriu o auto-corecie. O auto-corecie are loc atunci cnd cifra
semn scade la 0 sau crete la 9, invers fa de sensul global avut n rezultatele
pariale anterioare, eronate, de la momentul producerii ultimei depiri a
formatului (n sensul c s-a alterat cifra semn la adunarea a doi operanzi
ambii pozitivi sau ambii negativi). Ca i n cazul codului C2, depirile de
format i auto-coreciile nu alterneaz n mod obligatoriu. Rezultatul final
obinut prin efectuarea unui ir de adunri n C10 este corect dac numrul de
depiri ale formatului este egal cu numrul de auto-corecii produse.
c)
C10(A)
C10(B)
C10(C)
C10(D)
C10(E)
1001
0000
1010
0110
1 0000
0000
0000
0000
0001
1001
1010
0110
1 0000
1000
1000
0000
0110
0111
0100
1011
0110
0010
0100
0110
0000
0110
0111,
0111,
1110,
0110,
0101,
1001,
1110,
0110,
0100,
0011,
0111,
0000,
1000,
0110+
0101
1011+
0110
0001+
0011
0100+
0000
0100+
1001
1101+
0110
0011
(corecie BCD)
(corecie BCD)
depire format
(corecie BCD)
auto-corecie
63
533,4402,1
131,3+
312,4
444,1251,2
152,5+
103,2
+300,1
C6(A)
C6(B)
5304,4+
0103,2
5412,0+
C6(C)
0533,4
1 0345,4+
C6(D)
0312,4
1102,2+ (depire format)
C6(E)
5153,5
C6(F) 1 0300,1 (auto-corecie)
64
65
xyz
000 1
000 t
001 0
001 1
010 0
010 w
011 0
011 0
10t 1
100 1
11t t
101 1
110 t
111 0
66
a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
g(a, b, c, d, v, w)
0
1
t
1
0
0
1
v
0
1
0
t
1
1
w
0
a
0
0
0
1
1
1
b c
0 0
0 1
1 t
0 0
0 1
t 1
h(a, b, c, d, e)
1
e
0
t
0
d
d) k(x, y, z, w) = w
x(xz + yz) + z(w + x)(w
+ x );
e) m(x, y, z, w) = (wz + y)(w
+ x + y + z ) + xyzw;
f) p(a, b, c, d) = ab + bc + cd + da;
g) q(x, y, z,v) = xyz + y zv + xzv + yzv + x yv;
h) s(a, b, c, d, e) = ar br cr dr e.
67
68
69
Figura 2.2
70
71
72
73
74
(2.2)
Urmtoarele dou relaii definesc aceeai funcie f dar folosind expresii logice
echivalente cu cea de mai sus:
f ( a, b, c ) = ab + ac + bc
(2.3)
f ( a , b, c ) = a + b + c + bc
(2.4)
75
Figura 2.9
76
Din punct de vedere funcional cele trei circuite din fig.2.9 sunt echivalente,
ns au performane diferite. Circuitul din fig.2.9a ocup aria cea mai mare
deoarece conine 10 pori logice i un numr mai mare de interconexiuni;
ansamblul acestor interconexiuni constituie routing-ul circuitului, care este de
asemenea consumator de arie. Circuitul din fig.2.9c ocup aria cea mai mic
deoarece conine 4 pori logice i numrul cel mai mic de interconexiuni. Acest
circuit este mai performant i din punct de vedere al vitezei de operare; calea
cea mai lung de la intrri ctre ieire este format din porile 1, 2 i 4. Se mai
spune c circuitul are 3 nivele de pori. Dac se face aproximaia c toate porile
au acelai timp de propagare tp i c ntrzierile datorate conexiunilor pot fi
neglijate, atunci timpul total de ntrziere al circuitului este Tp = 3tp. Viteza de
operare a circuitului din fig.2.9b este aproximativ aceeai cu a circuitului din
fig.2.9c, ambele avnd 3 nivele; calea cea mai lung de la intrri la ieire este
format din porile 1, 2, 5 sau 1, 3, 5. n aceleai ipoteze simplificatoare, timpul
total de ntrziere al circuitului din fig.2.9a este Tp = 5tp i corespunde cii
format din porile 3, 6, 8, 9 i 10; acest circuit are 5 nivele.
n general cu ct aria ocupat de un circuit este mai mare, cu att mai
mare este i puterea disipat. Routing-ul i numrul de pori logice din structura
unui circuit constituie o baz de evaluare a suprafeei ocupate dar ofer i o
imagine a complexitii circuitului. O aproximaie a complexitii este numrul
total de intrri n porile elementare ale circuitului; aceast numrare se face
ntr-o schem a circuitului care conine numai pori elementare. De exemplu,
complexitile circuitelor din fig.2.9a, b i c sunt 17, 10 i respectiv 8.
n cap.1 s-a artat c orice expresie logic poate fi rescris utiliznd
numai operaiile +, sau numai operaiile , . Aceasta nseamn c
implementarea se poate face utiliznd numai pori OR i NOT (echivalent, NOR
i NOT) sau numai pori AND i NOT (echivalent, NAND i NOT). De
exemplu, circuitul din fig2.9b i pstreaz funcionarea dac porile 2, 3, 4 i
5 se nlocuiesc cu pori NAND:
(relaia 2.3 Y)
f ( a, b, c ) = ab + ac + bc = ab ac bc .
Implementarea unei funcii logice numai cu pori NOR i NOT sau numai cu
NAND i NOT poate fi privit ca o restricie. Suplimentar se pot impune
restricii de tipul toate porile NAND s aib 2 intrri. De exemplu, circuitul
din fig.2.9b poate fi transformat ntr-unul echivalent funcional, compus
numai din pori NAND2 (= NAND cu 2 intrri) i inversoare:
(relaia 2.3Y)
f ( a, b, c ) = ab + ac + bc = ab ac bc = ab ac bc .
Funcia logic f(a, b, c), definit cu oricare dintre relaiile 2.2, 2.3, 2.4
poate fi implementat i cu pori de transmisie. n afar de acestea sunt necesare
77
Figura 2.10
Implementrile funciei f cu pori de transmisie corespunztoare diagramelor de
decizie binar de mai sus sunt reprezentate n fig.2.11a,b.
Figura 2.11
Asemnarea dintre diagramele de decizie binar din fig.2.10 i circuitele din
fig.2.11 este evident dac se rotesc diagramele cu 90 de grade n sens orar.
78
Figura 2.12
Figura 2.13
Din multitudinea de posibiliti de implementare a unei funcii logice se
caut circuitul care are complexitatea cea mai mic, fiind impus viteza de
operare sau numrul nivelelor de pori. Complexitatea unui circuit poate fi
79
b
0
0
1
1
0
0
1
1
c g
0 1
1 1
0 0
1 0
0 1
1 1
0 0
1 1
Figura 2.14
c, a
b
c, a b
c,
Mintermenii corespunztori valorilor 1 ale funciei sunt a
b
c i a b c. Fiecare dintre acetia ia valoarea logic 1 numai pentru o singur
ab
combinaie de valori atribuit variabilelor a, b, c i anume 000, 001, 100, 101
i respectiv 111. Dac se consider c aceste combinaii reprezint numere
binare de 3 bii, n care a este cifra cea mai semnificativ (MSB - most
significant bit) iar c este cifra cea mai puin semnificativ (LSB - least
significant bit), atunci mintermenii funciei g pot fi precizai prin echivalenii
zecimali 0, 1, 4, 5 i respectiv 7. Forma canonic cu mintermeni trebuie s
conin toi mintermenii corespunztori valorilor 1 ale funciei g:
c + a b
c + ab
c + a b
c + abc
g(a, b, c) = a b
(2.5)
80
(2.6)
(2.7)
g(a, b, c) =(a
b
c + a b
c) + (a b
c + a b
c) + a b c = a b
+ ab
+ abc
(2.8)
g(a, b, c) =((a
b
c + a b
c) + (a b
c + a b
c)) + (a b
c + a b c) =
= (a
b
+ ab
) + ac = b + ac = b ac
(2.9)
81
(2.10)
(2.11)
82
Figura 2.15
Valorile atribuite variabilelor ab formeaz liniile tabelei iar valorile atribuite
variabilelor cde formeaz coloanele tabelei. Valorile funciei vor fi plasate n
celulele aflate la interseciile dintre linii i coloane. Fiecare celul corespunde
unei singure combinaii de 5 bii. n figura 2.15 sunt haurate celulele
corespunztoare combinaiilor care sunt diferite de abcde = 00001 prin valoarea
unui singur bit.
Minimizarea unei funcii reprezentat printr-o tabel, organizat dup
modelul celei din fig.2.15, este echivalent cu o problem de acoperire.
n cazul unei funcii complet definite trebuie acoperite fie toate zerourile, fie
toate unitile din tabel printr-un numr minim de grupri; aceste grupri
trebuie s aib dimensiuni 2k maxime. Zerourile corespund maxtermenilor iar
unitile corespund mintermenilor. Acelai zerou (unitate) poate s fac parte
simultan din mai multe grupri n baza idempotenei (x + x = x, xx = x).
n figura de mai jos este prezentat minimizarea funciei g definit prin tabela
din fig.2.14.
Figura 2.16
83
n tabela din fig.2.16a sunt acoperite unitile, adic sunt grupai mintermenii,
iar n tabela din fig.2.16b sunt acoperite zerourile, adic sunt grupai
maxtermenii. Expresiile obinute pentru funcia g sunt:
G1 G2
(a) g = b + ac
G1
G2
(b) g = (a + b)(b + c)
(2.12)
Figura 2.17
Costurile acestor dou implementri sunt minime pentru formele de exprimare
sum de produse i respectiv produs de sume. Ambele expresii din relaia 2.12
pot fi reduse la forma b ac ; costul implementrii acestei expresii este 4.
Un alt exemplu de minimizare a unei funcii complet definite este ilustrat
n fig.2.18; sunt acoperite zerourile funciei f(a, b, c, d, e). Se poate verifica
faptul c n gruparea G1 pentru fiecare maxtermen (reprezentat de un zerou)
exist 3 maxtermeni n G1 care se deosebesc de acesta prin valoarea unei
Figura 2.18
84
85
Figura 2.21
Minimizarea funciei f este reprezentat n fig.2.21b; s-au acoperit zerourile i
variabila e. Gruprile G2 i G3 sunt condiionate de e = 0 iar gruparea G5 este
condiionat de e = 1. Problema de acoperire echivalent cu minimizarea
funciei f reprezentat n fig.2.21 se formuleaz astfel:
- se acoper toate zerourile din tabel printr-un numr minim de grupri, fiecare
dintre acestea avnd dimensiune maxim (G1 i G4);
- se acoper variabila e printr-un numr minim de grupri cu dimensiuni
maxime (G2, G3 i G5).
Observaii: 1) Prin acoperirea variabilei e se nelege i acoperirea
complementului acesteia e;
2) e i e nu pot s fac parte din aceeai grupare deoarece nu pot s aib
simultan valoarea 0;
3) n gruprile care acoper variabila e pot fi incluse, pe baza proprietii de
86
Figura 2.22
Gruprile G1, G2 i G3 acoper unitile din tabela de mai sus. Variabila e este
acoperit de gruprile G4, G5 i G6; aceste grupri sunt condiionate de e = 1
(G4, G5) i de e = 0 (G6). Gruparea G3 nu este necesar deoarece este
acoperit fie de G5, cnd e = 1, fie de G6 cnd e = 0. Se spune c gruparea G3
este redundant. Expresia minimizat sum de produse a funciei f este:
G6
G1
G2 G4 G5
+ bd
e + bde + ade
f = abcd + bc d
(2.14)
87
88
G1
G2
G3
G4
G5
G6
G7
G8
g = abd + a b
d + a b
cv + ab
cd
v + acdv + abcw + abc d
w + bcdw
(2.15)
n tabela din fig.2.23b, acoperirea zerourilor i variabilelor are soluie unic iar
expresia produs de sume a funciei g este:
G1
G2
G3
G4
G5
G6
G7
g = (a+c+d)(a
+b+d
)(a+c+d)(b+d+v)(a+b+c+v)(b+d+w)(a+b
+c+d
+w
)
(2.16)
Metoda de minimizare Karnaugh se poate generaliza i aplica oricrei
funcii complet definite printr-o tabel n care valorile sunt 0, 1, variabile sau
expresii logice.
n cazul funciilor incomplet definite, valorile indiferente reprezint un
potenial de reducere a complexitii expresiilor logice minimizate sum de
produse sau produs de sume. Includerea convenabil a valorilor indiferente
n gruprile prin care se acoper att unitile sau zerourile ct i variabilele sau
expresiile din tabelele de reprezentare a funciilor, determin creterea
dimensiunilor gruprilor i prin aceasta se simplific produsele sau sumele
logice corespunztoare acestora. Exemplele urmtoare ilustreaz modul de
aplicare a metodei de minimizare Karnaugh pentru funcii incomplet definite.
n fig.2.24 este prezentat minimizarea unei funcii logice h(a, b, c, d, e),
ale crei valori sunt 0, 1 i t (valoare indiferent), prin acoperirea unitilor i
prin acoperirea zerourilor.
Figura 2.24
Funcia h de mai sus poate fi reprezentat simbolic i sub formele:
h = 3(2,3,4,5,10,11,13,19,20,21,29) + 3*(0,9,12,14,18,22,26,28),
h = J(1,6,7,8,15,16,17,23,24,25,27,30,31)J*(0,9,12,14,18,22,26,28),
89
(2.17)
(2.18)
(2.20)
90
Figura 2.25
n fig.2.26 este prezentat minimizarea unei funcii logice Q(a,b,c,d,e,f)
ale crei valori sunt 0, 1, t i variabilele e, f.
Figura 2.26
n tabela din fig.2.26a sunt acoperite unitile cu gruprile G1 i G2, variabla
e este acoperit cu G3 i G4 iar variabila f este acoperit cu G5 i G6; soluia
problemei de acoperire este unic. Dou valori indiferente au fost incluse n
gruprile fcute: una face parte din G3, G4, G6 i este fixat la 1, deoarece
numai aceast valoare poate fi grupat i cu e i cu e, iar cealalt face parte din
G5 i capt valoarea f. Valoarea indiferent care nu este inclus n nici o
grupare este fixat la 0. Aceste afirmaii pot fi demonstrate cu ajutorul expresiei
minimizate sum de produse a funciei Q:
91
G1
G2
G3
G4
G5 G6
Q = abd + b c d
+ ab
e + b c e + bdf + ac f
Q(1,0,0,1,e,f) = 0 + 0
Q(0,1,1,1,e,f) = 0 + 0
Q(0,0,1,0,e,f) = 0 + 0
(2.21)
+ e +
e + 0 + f = 1,
+ 0 + 0 + f + 0 = f,
+ 0 + 0 + 0 + 0 = 0.
n tabela din fig.2.26b numai gruparea G1 acoper strict zerouri. Zeroul din
prima linie este acoperit fie de G2, cnd e = 0, fie de G3 cnd e = 1; zeroul din
prima coloan este acoperit fie de G4, cnd f = 0, fie de G5 cnd f = 1. Valorile
indiferente incluse n G2 i G4 au valorile e i respectiv f iar valoarea
indiferent care nu este inclus n nici o grupare este fixat la 1. Aceste
afirmaii pot fi demonstrate cu ajutorul expresiei minimizate produs de sume
a funciei Q:
G1
G2
G3
G4
G5
Q = (b
+c+d)(b+c+e)(a+b+d+e)(a+b+f)(b
+d+f)
Q(0,0,1,0,e,f) =
Q(0,1,1,1,e,f) =
Q(1,0,0,1,e,f) =
1
1
1
e
1
1
1
1
1
1
f
1
1
1
1
(2.22)
= e,
= f,
= 1.
92
(2.25)
Operaia + din aceast relaie este adunarea n baza 10. Condiia 2.25 este
uor de verificat i permite reducerea numrului de comparaii care trebuie
efectuate nainte de realizarea gruprilor. Numerele abcde(2), corespunztoare
mintermenilor i respectiv maxtermenilor specificai n relaiile 2.23 i 2.24,
sunt ordonate n tabelele din fig.2.27a,b pe intervale, n ordine cresctoare a
sumei cifrelor S (S = a + b + c + d + e). Din aceste tabele se determin toate
gruprile posibile, prin comparaii numai ntre numerele situate n intervale
consecutive; sunt inutile, de exemplu, comparaiile dintre numerele binare care
au suma cifrelor 1 i respectiv 4. Toate gruprile de cte 2 numere binare i
rezultatele acestora sunt prezentate n tabelele din fig.2.28a,b.
Observaii:
1) G(3, 11) reprezint gruparea (00011, 01011) iar rezultatul acestei grupri
este 0-011; cifra din rangul 3 prin care se deosebesc numerele grupate i care
este nlocuit cu caracterul - este indicat n mod indirect i de diferena
= 11 - 3 = 8 = 23.
k
Condiia = 2 este necesar; prin calcularea diferenei se mai pot elimina
operaii de comparare. De exemplu, numerele 8 i 3 (fig.2.27a) fac parte din
intervale consecutive, S = 1 i respectiv S = 2, ns = 8 - 3 = 5 nu este o
putere a lui 2.
93
g = 3(mintermeni)
zecimal S abcde
0 00000
0
1 00001
1
1 01000
8
2 00011
3
2 01100
12
2 10100
20
3 00111
7
3 01011
11
3 01101
13
3 10101
21
3 10110
22
4 10111
23
4 11011
27
4 11110
30
g = J(maxtermeni)
zecimal S abcde
2
1 00010
4
1 00100
16
1 10000
5
2 00101
6
2 00110
9
2 01001
10
2 01010
17
2 10001
18
2 10010
24
2 11000
14
3 01110
19
3 10011
25
3 11001
26
3 11010
28
3 11100
15
4 01111
29
4 11101
31
5 11111
(a)
(b)
Figura 2.27
94
sau maxtermenii corespunztori acestor numere nu se pot grupa i vor face parte
din expresiile minimizate sum de produse, respectiv produs de sume ale
funciilor.
g = J(maxtermeni)
grupare
S abcde
G(2, 6)
4 1 00-10
G(2, 10)
8 1 0-010
G(2, 18) 16 1 -0010
G(4, 5)
1 1 0010G(4, 6)
2 1 001-0
G(16, 17) 1 1 1000G(16, 18) 2 1 100-0
G(16, 24) 8 1 1-000
G(6, 14)
8 2 0-110
G(9, 25) 16 2 -1001
G(10, 14) 4 2 01-10
G(10, 26) 16 2 -1010
G(17, 19) 2 2 100-1
G(17, 25) 8 2 1-001
G(18, 19) 1 2 1001G(18, 26) 8 2 1-010
G(24, 25) 1 2 1100G(24, 26) 2 2 110-0
G(24, 28) 4 2 11-00
G(14, 15) 1 3 0111G(25, 29) 4 3 11-01
G(28, 29) 1 3 1110G(15, 31) 16 4 -1111
G(29, 31) 2 4 111-1
g = 3(mintermeni)
grupare
S abcde
G(0, 1)
1 0 0000G(0, 8)
8 0 0-000
G(1, 3)
2 1 000-1
G(8, 12)
4 1 01-00
G(3, 7)
4 2 00-11
G(3, 11)
8 2 0-011
G(12, 13) 1 2 0110G(20, 21) 1 2 1010G(20, 22) 2 2 101-0
G(7, 23) 16 3 -0111
G(11, 27) 16 3 -1011
G(21, 23) 2 3 101-1
G(22, 23) 1 3 1011G(22, 30) 8 3 1-110
(a)
(b)
Figura 2.28
Gruprile din tabelele de mai sus au dimensiunea 2. Unele grupri mai pot fi la
rndul lor grupate. De exemplu, rezultatele gruprilor G(20, 21) i G(22, 23)
95
S
G(0, 1)
1
0
G(0, 8)
8
0
G(1, 3)
2
1
G(8, 12)
4
1
G(3, 7)
4
2
G(3, 11)
8
2
G(12, 13)
1
2
G(20, 21, 22, 23)
(2, 1)
2
G(7, 23)
16
3
G(11, 27)
16
3
G(22, 30)
8
3
abcde
00000-000
000-1
01-00
00-11
0-011
0110101- -0111
-1011
1-110
Figura 2.29
Gruparea G(20, 21, 22, 23) a fost obinut n dou moduri:
G(20, 21, 22, 23) = ( G(20, 21), G(22, 23) ) = ( G(20, 22), G(21, 23) ).
96
S
G(2, 6, 10, 14)
(8, 4) 1
G(2, 10, 18, 26)
(16, 8) 1
G(4, 5)
1
1
G(4, 6)
2
1
G(16, 17, 18, 19)
(2, 1) 1
G(16, 17, 24, 25)
(8, 1) 1
G(16, 18, 24, 26)
(8, 2) 1
G(9, 25)
16
2
G(24, 25, 28, 29)
(4, 1) 2
G(14, 15)
1
3
G(15, 31)
16
4
G(29, 31)
2
4
abcde
0- -10
- -010
0010001-0
100- 1-001-0-0
-1001
11-00111-1111
111-1
Figura 2.30
Gruprile marcate (bold) n tabelele din fig.2.29 i 2.30 nu sunt necesare i pot
fi eliminate deoarece toate numerele zecimale care fac parte din aceste grupri
se regsesc cel puin ntr-o alt grupare nemarcat, care va fi luat n
considerare. De exemplu, n tabela de mai sus gruparea marcat G(2, 10, 18, 26)
este acoperit de gruprile nemarcate G(2, 6, 10, 14) i G(16, 18, 24, 26).
Expresiile logice cu complexiti minime sum de produse i produs de
sume se pot scrie n mod direct pe baza gruprilor nemarcate din tabelele din
fig.2.29 i respectiv 2.30:
g = a b
c d
+ a c d
e + a b
d e + a b c d
+ ab
c + b c d e + a c d e
(2.26)
g = (a+d
+e)(a+b+c+d)(a+b+c)(a
+c+e)(b
+c+d+e)(a+b
+d)(b
+c+d
+e)
(2.27)
Costurile acestor expresii mai pot fi reduse, ns n dauna vitezei de operare
(compromisul arie-vitez). Fcnd abstracie de limitarea numrului de intrri
97
(2.28)
(2.29)
98
(a)
f = 3(mintermeni)
grupare
S abcde
G(2, 3)
1 1 0001G(2, 6)
4 1 00 -10
8 1 0 -010
G(2, 10)
16 1 - 0010
G(2, 18*)
1 1 0100 G(8, 9*)
G(8, 10)
2 1 010 -0
G(8, 12)
4 1 01 -00
16 1 - 1000
G(8, 24*)
G(16, 18*) 2 1 100- 0
G(16, 20)
4 1 10- 00
G(16, 24*) 8 1 1- 000
G(5, 13)
8 2 0- 101
8 2 0- 110
G(6, 14)
G(6, 22)
16 2 - 0110
4 2 01- 01
G(9*, 13)
16 2 - 1001
G(9*, 25)
G(10, 14)
4 2 01- 10
G(12, 13)
1 2 0110 G(12, 14)
2 2 011- 0
G(12, 28*) 16 2 - 1100
G(18*, 22) 4 2 10- 10
G(20, 22)
2 2 101- 0
G(20, 28*) 8 2 1- 100
G(24*, 25) 1 2 1100 G(24*, 28*) 4 2 11- 00
G(13, 29) 16 3 - 1101
G(22, 23*) 1 3 1011 G(25, 27*) 2 3 110- 1
G(25, 29)
4 3 11- 01
G(28*, 29) 1 3 1110 (b)
Figura 2.32
99
grupare
G(2, 3)
1
G(2, 6, 10, 14)
(8,4)
G(2, 6, 18*, 22)
(16,4)
G(8, 9*, 12, 13)
(4,1)
G(8, 9*, 24*, 25)
(16,1)
G(8, 10, 12, 14)
(4,2)
G(8, 12, 24*, 28*)
(16,4)
G(16, 18*, 20, 22)
(4,2)
G(16, 20, 24*, 28*)
(8,4)
G(5, 13)
8
G(9*, 13, 25, 29)
(16,4)
(16,1)
G(12, 13, 28*, 29)
G(24*, 25, 28*, 29)
(4,1)
G(22, 23*)
1
G(25, 27*)
2
S
1
1
1
1
1
1
1
1
1
2
2
2
2
3
3
abcde
00010 - -10
- 0 -10
01- 0 - 100 01- -0
- 1 -00
10- - 0
1- - 00
0- 101
- 1- 01
- 110 11- 0 1011 110- 1
Figura 2.33
Gruprile cu dimensiunea 8 efectuate n a 3-a etap de grupare, n tabela din
fig.2.33, sunt prezentate n tabela din fig.2.34; au fost eliminate numai gruprile
cu dimensiunea 4 care au format gruprile cu dimensiunea 8. Aceasta a fost
ultima etap de efectuare a gruprilor. Gruprile marcate (bold) pot fi eliminate
deoarece sunt acoperite de gruprile nemarcate. Se obine urmtoarea expresie
minimizat, n forma sum de produse, pentru funcia f:
f = ab cd + ade + bd + ab e + acde + ab cd + abce
(2.30)
Produsele logice din expresia de mai sus sunt scrise n ordinea gruprilor
nemarcate din tabela din fig.2.34, de la G(2, 3) la G(25, 27*).
n comparaie cu metoda de minimizare Karnaugh, metoda QuineMcCluskey este mai puin intuitiv i necesit un efort de calcul manual mai
100
f = 3(mintermeni)
G(2, 3)
1
G(2, 6, 10, 14)
(8,4)
G(2, 6, 18*, 22)
(16,4)
G(8, 9*, 12, 13, 24*, 25, 28*, 29) (16,4,1)
G(8, 10, 12, 14)
(4,2)
G(16, 18*, 20, 22)
(4,2)
G(16, 20, 24*, 28*)
(8,4)
G(5, 13)
8
G(22, 23*)
1
G(25, 27*)
2
grupare
S
1
1
1
1
1
1
1
2
3
3
abcde
00010 - -10
- 0 -10
- 1- 0 01- -0
10- - 0
1- - 00
0- 101
1011 110- 1
Figura 2.34
mare. Funciile definite prin tabele comprimate trebuie mai nti expandate,
adic trebuie precizate toate valorile 1 sau 0 i cele indiferente n mod explicit,
pentru a putea fi minimizate prin metoda Quine-McCluskey. Aceast metod
de minimizare este ns una algoritmic, ceea ce o face mai uor de automatizat
i de integrat n programele de sintez logic.
101
(2.31)
(2.32)
(2.33)
Figura 2.35
102
Circuitul din fig.2.35a are 4 nivele de pori i costul 14. O cretere a vitezei de
operare, prin micorarea numrului nivelelor de pori la 2, se obine n cazul
circuitului din fig.2.35b; aria ocupat este ns mai mare, costul acestui circuit
fiind 17. O reducere a suprafeei ocupate pe chip, n comparaie cu circuitul din
fig.2.35a, se obine n cazul circuitului din fig.2.35c al crui cost este 12; acest
circuit are ns 6 nivele de pori, deci o vitez de operare mai mic.
De obicei, n proiectarea unui circuit digital, viteza de operare are
ntietate fa de aria ocupat. Optimizarea la nivel global a unui circuit integrat
dup o anumit faz de sintez-analiz, n sensul reducerii ariei totale ocupate,
este posibil fr micorarea vitezei maxime de operare. Utilizat n anumite
poriuni ale circuitului, compromisul vitez-arie determin o reducere local de
arie i o micorare a vitezei de operare local; reducerea local de arie este
echivalent cu o reducere global de arie ns, reducerea n anumite limite a
vitezei de operare pentru unele blocuri din structura circuitului nu implic n
mod obligatoriu scderea vitezei globale de operare. Un exemplu este prezentat
cu ajutorul detaliilor structurale din fig.2.36.
Figura 2.36
Circuitul combinaional din figura de mai sus are n intrri i r ieiri i este
compus din 5 blocuri. Viteza maxim de operare a circuitului este determinat
de calea cea mai lung de la intrrile X pn la ieirile Z; lungimea unei ci
reprezint numrul de pori logice elementare din care este format acea cale.
Cile cu lungimea cea mai mare dintr-un circuit sunt numite ci critice din
punct de vedere al vitezei de operare. Dac nici o cale critic nu trece prin
blocul B4, atunci acest bloc poate fi optimizat pentru a ocupa o suprafa mai
mic. Prin aceast operaie cresc n lungime cile de la X la Z care trec prin B4;
att timp ct lungimile acestor ci nu depesc valoarea critic, viteza global
de operare a circuitului nu este afectat de optimizarea blocului B4.
103
104
(2.34)
abcd
0000
0001
0011
0100
0110
0111
1000
1001
1010
1100
1101
1110
1111
f
1
0
0
1
0
1
1
0
1
0
1
0
1
g
1
0
1
0
1
1
0
0
1
1
1
0
0
Figura 2.38
h
1
1
0
1
1
1
0
1
1
0
0
0
1
105
Figura 2.39
Expresiile sum de produse cu costuri minime ale funciilor f, g i h sunt:
G1f G2f G3f
f = bd + b d
+ a c d
(2.35)
(2.36)
(2.37)
f = bd + b
d
g = ac + b
c + ab
d
+ abc
h=a
c + ab + cbd + ab
c + ab
d
(2.38)
106
Figura 2.40
107
Figura 2.41
Funciile P, Q, R sunt minimizate independent n fig.2.41a. Expresiile sum
de produse cu costuri minime corespunztoare acestor funcii sunt:
G1P G2P G3P
P = abd + acd + bd, CP = 15
(2.39)
G1Q G2Q G3Q G4Q
Q = abc + acd + ab
c + abc, CQ = 19
(2.40)
(2.41)
108
(2.42)
G3
G6 G10
R=b
cd + a
bd + abc, CR = 16
n sistemul 2.42 sunt marcate (bold) prile comune ale expresiilor. Costul
implementrii sistemului de funcii P, Q, R este:
C = 12parte comun + 3P + 9Q + 8R = 32 < 43.
Structura la nivel de poart logic a circuitului care implementeaz sistemul
2.42 este reprezentat n fig.2.42.
Cu ajutorul acestui exemplu se pot formula urmtoarele reguli de
minimizare concurent a funciilor logice, adic de minimizare a sistemelor de
funcii:
1) se efectueaz nti gruprile rigide pentru toate funciile sistemului;
2) se efectueaz apoi gruprile flexibile care pot fi incluse n gruprile rigide;
3) se efectueaz gruprile flexibile rmase, adic acelea care nu pot fi incluse
n gruprile rigide, astfel nct ntre acestea s existe ct mai multe relaii de incluziune.
109
Figura 2.42
Observaie: Termenul grupare are semnificaia de acoperire optim a
zerourilor, unitilor sau variabilelor din tabelele de reprezentare a funciilor;
acoperire optim nseamn grupare cu dimensiune 2k maxim. Valorile
indiferente dintr-o tabel pot s contribuie att la creterea dimensiunilor
gruprilor ct i la mrirea flexibilitii acestora.
110
Figura 2.43
Regimul normal de operare al circuitului din fig.2.43 const n modificarea
periodic a valorilor logice aplicate la intrrile X i observarea rezultatelor la
ieirea F. Rspunsul circuitului nu este instantaneu; valoarea logic valid de
la ieire, corespunztoare unei noi combinaii de intrare, se obine cu o anumit
ntrziere. Aceast ntrziere este determinat de una sau de mai multe ci de
propagare din circuit. Intervalul de timp dintre un moment la care se aplic o
nou combinaie de intrare i momentul la care se obine o valoare logic
stabil la ieire definete un regim tranzitoriu; acesta face parte din regimul
normal de operare. Pe durata regimurilor tranzitorii valorile de ieire nu trebuie
luate n considerare din cel puin dou considerente: pe de o parte este posibil
ca acestea s nu fie valide (LOW sau HIGH) i pot fi interpretate n mod diferit
de circuitele care le utilizeaz ca mrimi de intrare, iar pe de alt parte aceste
valori pot s aib nivele valide dar eronate. n fig.2.44 sunt reprezentate diferite
rspunsuri tranzitorii ale circuitului combinaional din fig.2.43; X1 X7 sunt
combinaii de n bii, nu neaprat distincte, dar aplicate la intrrile circuitului
astfel nct cele consecutive s fie distincte. Fiecare combinaie de intrare este
meninut o durat T. Regimurile tranzitorii au duratele t12, t23, ..., t67.
Impulsurile din intervalele t23, t34, t45 i t67 poart denumirea de hazard;
generarea acestor impulsuri se datoreaz unui sistem complex de relaii care
exist ntre ntrzierile porilor, capacitile parazite, cuplajele capacitive,
decalajele dintre fronturile variabilelor de intrare, fanout-ul i puterea surselor
de semnal etc.
111
Figura 2.45
O analiz static a acestor circuite este prezentat n fig.2.46; tensiunea
electric aplicat la intrarea x se modific suficient de lent (n comparaie cu
timpii de propagare ai porilor 1 i 2) ntre nivelele LOW i HIGH.
Rspunsurile statice sunt independente de timpii de propagare. Cu ajutorul
acestor rspunsuri se pot intui condiiile necesare pentru generarea hazardului
cnd circuitele opereaz la vitez normal. Astfel, la momentele t1 i t2 exist
incertitudini n calcularea valorilor funciilor f i g. Datorit ntrzierii
inversoarelor, fronturile semnalului x sunt decalate spre dreapta, aa cum se
112
Figura 2.46
Circuitele din fig.2.47 sunt echivalente funcional cu cele din fig.2.45: f = x x
i g = x + x . Analiza static a acestor circuite este prezentat n fig.2.48.
Figura 2.47
113
Figura 2.48
Dac toate inversoarele au acelai timp de propagare tp atunci este posibil ca n
vecintatea momentului t2 s apar un impuls pozitiv la ieirea f iar n
vecintatea momentului t1 s apar un impuls negativ la ieirea g.
Pe baza acestor exemple se pot formula dou condiii necesare pentru
existena hazardului la o ieire z a unui circuit combinaional ca urmare a
tranziiilor unei singure variabile de intrare x:
1) valorile logice aplicate la intrrile circuitului, afar de intrarea x, trebuie
s determine z = xx sau z = x + x;
Aceast condiie implic existena n structura circuitului a cel puin dou ci
sensibile de la intrarea x la ieirea z, una inversoare iar cealalt neinversoare.
O cale este inversoare (neinversoare) dac conine un numr impar (par) de
pori inversoare. Tranziia variabilei x nu se propag la ieirea z n mod
obligatoriu pe toate cile dintre x i z ci numai pe cile sensibilizate de valorile
logice ale intrrilor fixate; celelalte ci dintre x i z sunt ci blocate.
2) diferena dintre timpii de propagare corespunztori subcircuitelor compuse
din cile inversoare sensibilizate i respectiv din cile neinversoare sensibilizate
trebuie s aib o valoare mai mare dect una considerat critic.
Ca exemplu, se va analiza regimul tranzitoriu declanat de tranziiile
variabilei c n circuitul reprezentat n fig.2.49. Celelalte intrri ale circuitului a, b, d i e - sunt fixate la valorile logice indicate n figur.
114
Figura 2.49
Circuitul din figura de mai sus are 5 nivele de pori logice, calea critic din
punct de vedere al vitezei de operare fiind (a, d)-6-7-8-5-10-z. De la intrarea c
la ieirea z sunt 4 ci i anume c-1-2-10-z, c-3-4-5-10-z, c-7-8-5-10-z i c-9-10z; valorile logice atribuite la intrri, abde = 1011, au sensibilizat cile c-1-2-10z, c-3-4-5-10-z, c-9-10-z i au blocat calea c-7-8-5-10-z. Cile c-1-2-10-z i c-9-10-z sunt ci inversoare iar calea c-3-4-5-10-z este neinversoare. Expresia
logic care descrie funcionarea circuitului este z = ccc, echivalent cu cc i
este ndeplinit prima condiie necesar pentru existena hazardului ca urmare
a tranziiilor variabilei c. n ipoteza c toate porile au acelai timp de propagare
tp se obine rspunsul z reprezentat n fig.2.50; pentru simplitatea desenului, nu
s-a pus n eviden i viteza finit de tranziie a semnalelor ntre nivelele logice
LOW i HIGH, toate tranziiile fiind reprezentate prin segmente verticale i nu
oblice. Se observ c frontul negativ al variabilei c produce hazard la ieirea z,
un impuls pozitiv cu durata tp. Sunt mai multe soluii de eliminare a acestui
hazard dar nu toate sunt practice.
Refacerea etapei de sintez a circuitului, dup modificarea unor constrngeri
impuse anterior, nu este de obicei o rezolvare practic deoarece pe de o parte
aceast aciune necesit un efort mare de calcul iar pe de alt parte este posibil
ca hazardul generat de tranziiile unei variabile, n loc s fie eliminat, s fie
transferat ctre o alt variabil. Soluiile mai eficiente constau n
115
Figura 2.50
n cazul circuitului din fig.2.49 se poate elimina hazardul generat de tranziiile
variabilei c prin mrirea ntrzierii subcircuitului compus din porile 1 i 2, de
la 2tp la 3tp; este evident c aceast modificare nu afecteaz viteza maxim de
operare a circuitului. Creterea ntrzierii porii 2 cu toat diferena (3tp - 2tp)
este de preferat deoarece se obine o potenial echilibrare a cilor i pentru
tranziiile variabilelor a i b.
nlocuirea porii 2 cu una echivalent dar care are o ntrziere egal cu 2tp,
reprezint o soluie de eliminare a hazardului generat de fronturile negative de
116
117
funcii.
Figura 2.51
n funcionarea normal a circuitelor logice apar simultan tranziii ale mai
multor variabile de intrare. Modificrile structurale efectuate n scopul
eliminrii hazardului cauzat de tranziiile fiecrei variabile de intrare n parte
nu sunt suficiente, n general, pentru ca funcionarea normal a unui circuit s
nu fie afectat de hazard. De exemplu, n circuitul din fig.2.51 dac abc = 001
atunci tranziiile simultane ale variabilelor d i e se propag la ieire pe cile d4-5-10-z i respectiv e-9-10-z; aceste ci au ntrzieri de propagare diferite, 3tp
i respectiv 4tp, iar rspunsul z = de este afectat de hazard. Eliminarea acestui
hazard se poate obine prin introducerea unei ntrzieri egale cu tp pe
conexiunea dintre intrarea d i poarta 4, dup cum se arat n detaliul din
fig.2.52; subcircuitul format din porile 3, 4 n fig.2.51 a fost nlocuit cu unul
echivalent funcional compus din porile 3, 4, 13.
Figura 2.52
118
Calitativ se poate spune c dac toate cile dintre intrrile i ieirile unui
circuit logic au aceeai ntrziere, atunci funcionarea acestuia nu este afectat
de hazard. Echilibrarea tuturor cilor dintr-un circuit este suficient, nu i
necesar, pentru eliminarea complet a hazardului. Anumite creteri ale
ntrzierilor se pot realiza prin micorarea dimensiunilor fizice ale
tranzistoarelor, deci printr-o reducere de arie, ns altele necesit modificri
structurale (echivalente funcional) care implic arie suplimentar; bilanul
poate fi pozitiv sau negativ ns viteza maxim de operare nu este, de obicei,
afectat de aceste modificri structurale.
Din fericire, restricia de funcionare fr hazard trebuie impus doar unui
numr relativ mic de subcircuite sau blocuri din cadrul unui sistem digital.
119
2
4
8
16
1
2
4
16
4
16
2
16
4
16
2
16
2
4
1
8
1
8
2
4
16
16
4
8
2
1
4
2
8
4
1
S
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
4
4
4
abcde
000- 1
00- 01
0- 001
- 0001
0100010- 0
01- 00
- 1000
00- 11
- 0011
001- 1
- 0101
01- 10
- 1010
011- 0
- 1100
100- 1
10- 01
10011- 010
10101- 100
110- 0
11- 00
- 0111
- 1110
10- 11
1- 011
101- 1
110111- 10
111- 0
1- 111
11- 11
1111-
120
(4,2)
(16,2)
(16,4)
8
1
(4,2)
(16,2)
(16,4)
(16,4)
(16,2)
(16,4)
(16,2)
(4,2)
(8,1)
1
8
(4,2)
(8,4)
(4,1)
S
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
3
3
abcde
00- - 1
- 00- 1
- 0- 01
0- 001
010001- - 0
- 10- 0
- 1- 00
- 0- 11
- 01- 1
- 1- 10
- 11- 0
10- - 1
1- 0110101- 100
11- - 0
1- - 11
11- 1-
(16,4,2)
8
(16,4,2)
(8,1)
1
(8,4)
(4,1)
S
1
1
1
2
2
3
3
abcde
- 0- - 1
0- 001
- 1- - 0
1- 0110101- - 11
11- 1-
121
f = (b e + a + d ce) + (ad c + ac b + d ) .
Aceast expresie logic este implementat de circuitul din figura urmtoare.
122
g = (b + d)(b + c + d)(a + b + c)
Variabila b apare n toate cele 3 produse ale expresiei minimizate i va fi prima
variabil creia i se atribuie valori n mod explicit:
b = 0 Y g = d(a
+ c); b = 1 Y g = c + d
A doua variabil luat n considerare la construirea diagramei de decizie binar
este fie c fie d; acestea fac parte din ambele subexpresii determinate de b. Dac
se consider d a doua variabil, se obine:
bd = 00 Y g = 0; bd = 01 Y g = a + c; bd = 10 Y g = 1; bd = 11 Y g = c
Considernd c a treia variabil, rezult diagrama de decizie binar urmtoare:
123
R e z ol v a r e:
Gruprile de acoperire ale unitilor i variabilelor u, v, w precum i ale
zerourilor i variabilelor u, v, w sunt indicate n tabelele din figura urmtoare.
Singurele grupri n care sunt incluse numai uniti i respectiv numai zerouri
sunt gruprile notate G1. Unitile (zerourile) care nu fac parte din G1 sunt
incluse fiecare n cel puin dou grupri, dintre care una acoper o variabil (u,
v sau w) iar una acoper complementul acesteia; aceasta nseamn c toate
unitile (zerourile) din tabela funciei K sunt acoperite.
124
125
R e z o l v a r e:
a) Minimizrile funciei L sunt realizate prin gruprile efectuate n tabelele din
figura de mai jos.
126
127
M = [(a+b+c+d
)(b+c+d
+v)][(b+d)(c+d+u)(b+c+u
)](a+b+v)(a+c+w)
(a+b+c+w)(c+d+w
) =
={[ bd + (a+c)(c+v)][(b+d)(c+d+u) b cu ][(a+b+c)+w]}{ ab v acw cdw }.
Aceast expresie are costul 47 i corespunde unui circuit cu 6 nivele de pori;
o cale cu lungimea 6 traverseaz porile indicate n schema de mai jos, prin care
se realizeaz succesiunea de operaii:
NOT
9
c,
OR
9
a+c,
AND
9
(a+c)(c+v),
OR
9
bd + (a+c)(c+v),
AND
[ bd + (a+c)(c+v)][(b+d)(c+d+u) b cu ][(a+b+c)+w],
AND
9
{[ bd + (a+c)(c+v)][(b+d)(c+d+u) b cu ][(a+b+c)+w]}{ ab v acw cdw }.
5. Fie X = {x1, x2, x3,..., xn-1, xn} o mulime de variabile logice i S o sum
m1 = mm
1, m2 = mm
2, ..., mq = mm
q
n aceste relaii m
1, m
2, ..., m
q sunt produse logice ale variabilelor sau
complementelor variabilelor x1, x2, ..., xk.
Suma de mintermeni S se poate pune sub forma S = m(m
1 + m
2 + ... + m
q).
128
n aceste relaii M1*, M2*, ..., Mr* sunt sume logice ale variabilelor sau
complementelor variabilelor x1, x2, ..., xt.
Produsul de maxtermeni P se poate pune sub forma P = M + M1*M2*...Mr*.
n cazul particular t = 2 se obine:
x1 x 2 = (x1 + x 2 )(x1 + x 2 ) = M1*M2*
sau
129
130
G1
G2
G3
G4
G5
G6
G7
f = a b
d
e + a b d
e + a b c e + a b d
e + abce + acd
e + a b
c e + a b
c d e +
c d e
+ a b c d e + a b c d e + a b
Costul acestei expresii logice se poate reduce prin operaii suplimentare de
factorizare, operaii care mresc numrul nivelelor de pori:
f = a b
d
e + (a
bd
e + a b c e) + (a b d
e + a b c e) + (a c d
e + a b
c e) +
c d e + a b c d e) + (a b c d e + a b
c d e) =
+ (a
b
d
e + [a
b e (d
+ c) + a b e (d
+ c)] + a c e (d
+ b) + a c d (b
e + b e) +
=a
b
+ a c d (b e + b e) =
d
e + b(d
+ c)( a e ) + a c e (d
+ b) + [a
c d ( b e ) + a c d ( b e )] =
= a b
= a b
d
e + b(d
+ c)( a e ) + a c e (d
+ b) + c d ( a b e ) .a.m.d.
O metod direct i mai eficient de a obine un cost minim sau aproape
minim pentru funcia f const n acoperirea unitilor sau zerourilor prin grupri
care determin operaii SAU-EXCLUSIV, dup cum se arat n continuare.
131
G2' + G2"
G3' + G3"
G4
f = c ( a b d e ) + d( a b e ) + ce( a b ) + abc( d e ).
Gruprile G2' i G2", G3' i G3" sunt simetrice fa de una dintre oglinzile
codului Gray. Expresiile logice corespunztoare unor astfel de grupri se
( a b e ) iar
deosebesc printr-o singur variabil; de exemplu, G2' = c d
G2" = cd
( a b e ). Circuitul din figura urmtoare implementeaz funcia f.
Prin gruparea zerourilor funciei f dup cum se arat n tabela de mai jos, se
obine expresia:
G1
G2
G3
G4
f = (c + a b d e )(c + d + a b e )(c + d + a b )(a + c + d e ).
132
R e z o l v a r e:
Acoperirea unitilor i variabilelor e, f sau acoperirea zerourilor i variabilelor
e, f poate fi realizat prin gruprile indicate n tabelele de mai jos.
G2'
G2"
G3' G3"
H = c( a b d ) + [a
c( b d ) + acf( b d )] + (ace + ace) =
absorbie
= c + (a b d) + c(a
+ f)( b d ) + e( a c )
sau
G1
G2
G3
G4
G5
H = (a+c+ b d )[(a
+c+ b d )(a
+c+f)][(a
+c+e+ b d )(a+c+e+ b d )]=
= (a + c + b d )[a
+ c + f( b d )]( a c + e + b d ).
133
Prima dintre aceste dou expresii logice este implementat de circuitul din
figura urmtoare:
R e z o l v a r e:
Minimizarea funciilor logice se poate realiza prin grupri convenabile de
mintermeni (sau de maxtermeni) n expresiile canonice i ulterior, prin
factorizarea subexpresiilor corespunztoare gruprilor efectuate; simplificarea
A(X)B(Y) + C(X)B(Y) = [A(X) + C(X)]B(Y) constituie un exemplu de
factorizare. O grupare de mintermeni (maxtermeni) este echivalent cu o
grupare de uniti (zerouri) n tabela de adevr i reprezint un caz particular de
factorizare.
134
S=m
(I)
sau (II)
P=M
G1: b ( a c d ) ;
G2: bdu (a c)
sau
b + d + u + ( a c) ;
G3: b + (a c d) = b ( a c d ) .
Expresiile determinate de G1 i G3 sunt aproape identice; aceste expresii includ
suma modulo 2 a variabilelor a i c determinat de gruparea G2.
135
G2h
G3h
G4h
h = [c + ( a b d )](b
+ c + v )(a + b + d)[a + c + ( b d )] =
= [c + ( a b d )] bc v ab d [a + c + ( b d )].
Partea comun a funciilor este compus din expresiile ab, bc, a b d i
b d . Gruprile G1f, G2f, G3f, G4f, G1g, G3g i G2h sunt rigide iar gruprile
G2g, G1h, G3h i G4h sunt flexibile.
O alt posibilitate de minimizare a sistemului f, g, h este prezentat n
figura urmtoare. n conformitate cu gruprile efectuate, se obin expresiile:
f = c (a b d) + bc + bv + c du
g = c (a b d) + b
c + acu
h = c ( a b d ) + (a
bd + ab
d
) + bcd
v =
= c + (a b d) + b
( a d ) + bc + d + v
Expresiile a d , a b d , c (a b d) i bc constituie partea comun a
136
sistemului. Gruprile G1f, G2f, G3f, G4f, G1g, G2g, G3g i G3h sunt rigide iar
gruprile G1h, G2'h i G2"h sunt flexibile; aceast ncadrare este valabil n
ipoteza c se accept att grupri (simplificri) de tip I ct i grupri de tip II.
Circuitul din figura de mai jos implementeaz sistemul f, g, h n aceast variant
de minimizare.
137
138
139
140
141
142
143
144
Figura 3.2
Gruprile efectuate n aceste tabele determin urmtoarele expresii logice:
G1
G2
x = (a + c + d)(a + b)
G3
G4
G5
y = (a
+ c + b d )(a + c + b d )(b
+ c ) = (c + b d ) bc
G6 G7
v = c d + cd = c d
G8
w=d
Sistemul de funcii 3.1 este implementat de circuitul din fig.3.3.
(3.1)
145
Figura 3.5
Convertorul de cod 2-din-5/exces 3 este descris de relaiile 3.2 i este
146
(3.2)
G8 G9
+ ad = a + b + d + ad
w =ab d
3.2 Codificatoare-decodificatoare
Codificatoarele sunt circuite combinaionale care au 2n intrri (sau mai
puine) i n ieiri; dac o singur intrare a circuitului este activ la un moment
dat atunci aceast intrare este indicat prin intermediul unei combinaii de n
bii de ieire numit adres. O intrare este considerat activ dac are o anumit
147
I2
1
1
0
1
I1
1
0
1
1
I0 A1 A0
0
0
0
1
0
1
1
1
0
1
1
1
A1 = I3 + I2
A0 = I3 + I1
Figura 3.8
148
AI = I3 I2 I1 I0
A1 = I3 + I3 I2 = I3 + I2
A0 = I3 + I3 I2 I1 = I3 + I2 I1
O implementare a acestui codificator este reprezentat n fig.3.10.
Figura 3.10
(3.3)
149
Figura 3.11
Decodificatorul din fig.3.11a genereaz toi mintermenii de n variabile
Y0 = A
n-1...A
1A
0, Y1 = A
n-1...A
1A0, ..., Y2n 1 = An-1...A1A0
iar decodificatorul din figura 3.11b genereaz toi maxtermenii de n variabile
0, ..., Y2n 1 = A
n-1 +...+ A
1 + A
0.
Y0 = An-1 +... + A1 + A0, Y0 = An-1 +... + A1 + A
Tabela de funcionare a unui decodificator 1-din-4 cu ieiri active pe nivelul
logic 1 i cu intrare de autorizare activ pe nivelul 0 este prezentat n fig.3.12.
Figura 3.12
150
Figura 3.14
Blocul CLC din fig.3.14 este descris de relaiile a = A
2, b = A2, c = A1, d = A1,
e = A0 i f = A0, deduse n mod direct prin comparaii n tabelele de adevr.
151
Figura 3.15
Decodificatoarele 1-din-2n pot fi considerate convertoare de cod binar/zecimal.
Un alt tip de decodificator este decodificatorul BCD-zecimal; acesta poate
fi privit ca decodificator de adres modificat (decodificator 1-din-10) sau
convertor de cod BCD/zecimal. Tabela de funcionare i simbolul grafic al unui
decodificator BCD-zecimal cu ieiri active pe nivelul logic 0 sunt prezentate n
fig.3.16.
152
cu 7 segmente. Aceste celule pot fi de tip LED (Light Emitting Diode) sau LCD
(Liquid Crystal Display); segmentele sunt notate i poziionate dup cum se
arat n fig.3.17.
Figura 3.18
3.3 Multiplexoare-demultiplexoare
Multiplexoarele sunt circuite combinaionale care selecteaz una dintre
intrrile de date i o direcioneaz ctre singura ieire; selecia se realizeaz
prin intermediul unor intrri de control. Aceste circuite mai sunt numite i
selectoare. Demultiplexoarele realizeaz funcia invers a multiplexoarelor;
singura intrare de date este direcionat ctre una dintre ieirile circuitului,
153
ieire care este selectat cu ajutorul unor intrri de control sau de selecie.
Demultiplexoarele mai sunt numite i distribuitoare. Simbolurile
multiplexoarelor i demultiplexoarelor sunt desenate n fig.3.19. Intrarea de
autorizare Enable este opional.
Figura 3.19
Selecia intrrii de date Ik n cazul multiplexoarelor i respectiv a ieirii Yk n
cazul demultiplexoarelor se realizeaz dup regula k(10) = Sn-1...S1S0(2). Dac
circuitele sunt autorizate s funcioneze atunci Y = Ik i respectiv Yk = I; altfel,
toate ieirile sunt fie blocate pe un nivel logic, fie sunt puse n starea de nalt
impedan Z4.
Tabela de adevr, ecuaia de funcionare i structura unui MUX de 4 ci
sunt prezentate n fig.3.20. Blocarea funcionrii circuitului, utiliznd o
comand suplimentar de autorizare, se poate obine fie prin blocarea porii OR
fie prin blocarea porilor AND. Expresia ieirii Y reprezint o funcie logic
arbitrar, de variabile S1, S0 i ale crei valori sunt I0, I1, I2 i I3. Orice funcie
Figura 3.20
154
Fig.3.23 Demultiplexoare de 2 ci
155
156
157
la distan, fie local ntre circuite care fac parte din acelai sistem digital) se
produc erori logice care afecteaz un numr impar de bii din cadrul aceluiai
cuvnt, atunci la recepie erorile pot fi detectate; erorile care afecteaz un
numr par de bii ai aceluiai cuvnt de cod YC3C2C1C0 nu sunt detectate. O
schem de principiu a codificrii informaiei C3C2C1C0, transmisiei i
controlului paritii la recepie este reprezentat n fig.3.27.
Figura 3.27
Dac la ieirea detectorului de paritate se obine valoarea logic v atunci n
cuvntul recepionat YC3C2C1C0 exist 1, 3 sau 5 bii eronai; dac detectorul
de paritate indic Y = v atunci cuvntul recepionat este identic cu cel transmis
ori conine 2 sau 4 erori.
158
159
Figura 3.29
3.6 Comparatoare
Aceste circuite combinaionale determin valoarea relativ a dou numere
binare: mai mic, egal sau mai mare. Fie dou numere binare ntregi i
fr semn A = An-1An-2...A1A0 i B = Bn-1Bn-2...B1B0. Compararea acestor numere
se efectueaz prin comparaii succesive ale cifrelor care au acelai rang, Ak i
Bk, ncepnd de la cifrele cele mai semnificative i continund ctre cifrele cu
rangul 0; dac An-1 Bn-1 atunci comparaia se ncheie deoarece fie A > B, fie
A < B iar dac An-1 = Bn-1 atunci se continu comparaia cu cifrele din rangul n2. Compararea biilor cu rangul k este necesar numai dac toate comparaiile
anterioare au ca rezultat valoarea egal.
Compararea a dou numere binare cu parte ntreag i parte fracionar, cu
acelai format, se efectueaz ca n cazul numerelor binare ntregi indiferent de
poziia virgulei. Acest algoritm de comparare se poate extinde i pentru
numerele binare sau codurile binare cu semn; deoarece semnul + se codific de
obicei cu 0 iar semnul - se codific cu 1 i ocup rangul cel mai semnificativ,
160
trebuie ca rezultatul comparrii semnelor s fie modificat din mai mic n mai
mare i reciproc sau s se recodifice semnele prin complementarea acestora.
Simbolul grafic i tabelele care descriu funcionarea unui comparator
numeric de 1 bit, cu ieiri active pe nivelul logic 1 i cu intrare de autorizare a
funcionrii, sunt reprezentate n fig.3.30.
Figura 3.30
Ecuaiile de funcionare ale celulei de comparare de 1 bit, determinate direct din
tabelele de mai sus, sunt reprezentate de sistemul 3.4 iar implementarea este
desenat n fig.3.31
x = EnableA
kBk
y = Enable ( A k B k + A k Bk )
(3.4)
z = EnableAkB
k
Figura 3.31
Celula de comparare de 1 bit, cu sau fr intrare de autorizare, poate fi
utilizat la construirea comparatoarelor de mai muli bii. O schem de
161
162
Figura 3.33
3.7 Sumatoare-scztoare
Sumatorul este unul dintre cele mai studiate circuite digitale. Exist mai
multe posibiliti de efectuare a adunrii numerelor binare, fiecare soluie avnd
propriul compromis arie-vitez. Scderea numerelor binare se poate efectua fie
utiliznd scztoare (aceste circuite se deosebesc de sumatoare din punct de
vedere funcional i structural), fie utiliznd sumatoare; n acest din urm caz
scderea se realizeaz prin intermediul adunrii codurilor complementare, dup
cum s-a artat n cap.1.
Subcircuitul de baz n construirea sumatoarelor este sumatorul elementar
(full adder) prezentat n fig.3.34.
163
(3.5)
164
n rangul k - 1; cele dou ieiri ale scztorului sunt bitul din rangul k al
rezultatului scderii (dk) i un bit de mprumut bk+1 care reprezint o depire de
format i care trebuie luat n considerare la scderea din rangul k + 1. Operaia
efectuat de scztorul elementar poate fi reprezentat sub forma
xk - yk - bk = bk+1dk
n care - reprezint scderea algebric n baza 2 iar rezultatul scderii este un
numr binar format din dou cifre (MSB = bk+1, LSB = dk).
(3.6)
(3.7)
165
(3.8)
166
167
Figura 3.41
168
ntrziere
5tp
3tp
5tp
5tp
7tp
7tp
9tp
9tp
11tp
11tp
.
.
.
[5 + 2(n-2)]tp, n > 1
[3 + 2(n-1)]tp, n > 0
169
(3.9)
ck+1 = Gk + Pk ck
Structura unui sumator de n bii cu transport anticipat este desenat n fig.3.43.
170
Figura 3.44
Structura blocului GTA se determin cu ajutorul relaiei ck+1 = Gk + Pk ck (a
doua din sistemul 3.9) astfel:
c1 = G0 + P0c0
c2 = G1 + P1(G0 + P0c0) = G1 + P1G0 + P1P0c0
(3.10)
c3 = G2 + P2(G1 + P1G0 + P1P0c0) = G2 + P2G1 + P2P1G0 + P2P1P0c0
c4 = G3 + P3(G2 + P2G1 + P2P1G0 + P2P1P0c0) = G3 + P3G2 + P3P2G1 +
+ P3P2P1G0 + P3P2P1P0c0
etc.
171
172
transport succesiv i este cel mai folosit deoarece reeaua de interconexiuni este
mai simpl de proiectat i ocup arie mai mic.
Al doilea mod de expandare a sumatorului cu transport anticipat const n
utilizarea mai multor nivele de anticipare a transportului; interconectarea
sumatoarelor de 4 bii se face dup principiul ilustrat n fig.3.43 pentru
sumatoare elementare. O schem de expandare cu dou nivele de anticipare a
transportului este desenat n fig.3.46; cele 5 blocuri GTA sunt identice.
173
(3.11)
174
Figura 3.47
Observaie: Pentru celula din rangul k a unui sumator cu transport anticipat,
sistemele de funcii
i
Gk = xk yk
Gk = xk yk
Pk = xk + yk
Pk = xkr yk
sunt echivalente deoarece ck+1 = xk yk + (xk + yk )ck = xk yk + (xkr yk )ck. Funcia
de propagare Pk = xk + yk nu exclude generarea local a transportului, adic
dac Pk = 1 atunci este posibil ca Gk = 1. Funcia de propagare Pk = xkr yk
exclude generarea local a transportului, adic dac Pk = 1 atunci Gk = 0.
Structura unui sumator cu transport n salt este desenat n fig.3.48.
Sumatorul iniial, cu transport succesiv, este mprit n sumatoare de m bii.
Dac toate ieirile Pk ale unui sumator j au valoarea logic 1, situaie care
apare numai cnd xk yk k = jm,..., (j+1)m-1, atunci c(j+1) m = cjm . n acest caz
chiar dac sumatorul j determin valoarea c(j+1)m prin propagare succesiv a
transportului cjm, operaie care dureaz 2mtp, la intrarea de transport a
sumatorului j+1 se aplic valoarea corect cjm mai repede, prin conexiunea de
bypass care leag intrrile de transport ale sumatoarelor j i j+1 prin MUXj;
legtura dintre ieirea de transport din j i intrarea de transport n j+1 se
ntrerupe la nivelul multiplexorului MUXj.
175
176
(3.12)
ntrzierea prin sumatorul 0 este egal cu 2mtp; dac m > 2 atunci la momentul
2mtp toate cile de bypass sunt deja activate sau realizate. Viteza de operare
a sumatorului cu transport n salt depinde de modul de partiionare a
sumatorului de n bii cu transport succesiv n sumatoare cu dimensiuni mai
mici; numrul m poate s aib valorile 1, 2, ..., n. Se poate determina o valoare
optim pentru m din punct de vedere a vitezei de operare, pe baza relaiei 3.12.
Valoarea minim a timpului de propagare Tp este dat de soluia ecuaiei Tp(m)
= 0 (Tp(m) este derivata de ordinul 1 a funciei Tp(m)):
Tp(m) = (4 - 2n/m2)tp = 0 Y mopt = (n/2)0,5
(3.13)
(3.14)
177
178
(3.15)
(3.16)
(3.17)
(3.18)
Tp min = ( 4 n 2) tp
Tp(m) = (2m+1)tp + (n/m - 1)tp
Tp(m) = (2 - n/m2)tp = 0 Y mopt = (n/2)0,5
Tp min = 2 2n tp
(3.19)
179
180
(10)
(3.20)
181
182
183
184
3.9 Multiplicatoare
Multiplicatoarele combinaionale efectueaz nmulirea a dou numere
binare (ntregi sau fracionare, cu semn sau fr semn) cu vitez mare n
comparaie cu circuitele de multiplicare secveniale.
Algoritmul elementar de nmulire a numerelor binare este cel de
nmulire manual a numerelor zecimale, cu urmtoarele dou particulariti:
- nmulirea a dou cifre binare este echivalent cu operaia logic AND;
- n comparaie cu nmulirea a dou cifre zecimale, nmulirea a dou cifre
binare nu este generatoare de transport (adic rezultatul nu depete formatul
de 1 bit).
Fie numerele binare ntregi fr semn X = x3x2x1x0 i Y = y3y2y1y0. Paii de baz
ai algoritmului elementar de nmulire X Y = P sunt prezentai n fig.3.54.
Pasul 1: dup specificarea operanzilor X i Y, 8 pori AND2 determin
produsele logice x3y0, x2y0, x1y0, x0y0 i x3y1, x2y1, x1y1, x0y1, adic produsele
pariale Xy0 i Xy1, iar un sumator de 4 bii calculeaz rezultatul parial
RP1 = Xy0 + Xy121;
Pasul 2: se determin produsul parial Xy2 = x3y223 + x2y222 + x1y221 + x0y2
utiliznd 4 pori AND2, iar un al doilea sumator de 4 bii calculeaz rezultatul
parial
RP2 = RP1 + Xy222;
185
p7
x3
x2
x1
x0
(X)
y3
y2
y1
y0
(Y)
x3y0
x2y0
x1y0
x3y1
x2y1
x1y1
x0y1
z4
z3
z2
z1
p1
p0 +
(RP1)
x3y2
x2y2
x1y2
x0y2
z8
z7
z6
z5
p2
p1
p0 +
(RP2)
x3y3
x2y3
x1y3
x0y3
p6
p5
p4
p3
p2
p1
p0
(P)
x0y0 +
Figura 3.55
186
Structura unui circuit care efectueaz nmulirea a dou numere binare de 4 bii,
determinat pe baza algoritmului din fig.3.54, este reprezentat n fig.3.56.
187
(3.21)
n 1
2 n 2
P = ( xi 2i ) ( y j 2 j ) = ( xi y j ) 2 k =
i= 0
j= 0
k = 0 i+ j = k
2 n 1
2k
(3.22)
k= 0
188
Figura 3.58
n fig.3.59 este desenat o arhitectur de multiplicator de 4 bii mai rapid
dect aceea reprezentat n fig.3.56. n ambele arhitecturi bitul pk al produsului
P este ieirea din coloana k, n care se acumuleaz produsele xiyj, i + j = k i
transporturile din coloana k-1; deosebirea esenial dintre aceste dou circuite
de multiplicare const n decalarea cu un nivel de celule pe vertical, n
cadrul fiecrei coloane k, a adunrii transporturilor care provin din coloana k-1.
Cile de propagare critice, marcate cu linii mai groase, traverseaz un nivel de
pori AND, un nivel de semisumatoare elementare (celulele marcate cu cifra 1)
i 5 nivele de sumatoare elementare. Cifrele din interiorul simbolurilor de
(semi)sumatoare elementare indic ordinea n care sunt disponibile rezultatele
la ieirile acestor componente dup momentul aplicrii operanzilor X i Y.
Multiplicatorul de n bii obinut prin expandarea circuitului din fig.3.59 poate
fi reprezentat n mod simplificat ca n fig.3.60; sunt desenate numai cele n
sumatoare de n-1 bii din structura multiplicatorului. Cile critice ale acestui
circuit traverseaz 2n-2 celule, ceea ce nseamn c viteza maxim de operare
189
este de aproximativ 1,5 ori (adic 3n-4/2n-2) mai mare dect viteza
multiplicatorului de n bii reprezentat n fig.3.58.
Figura 3.59
Figura 3.60
190
191
192
Multiplicatorul de n bii (sau de tip (n, n)) compus din dou multiplicatoare cu
dimensiuni mai mici, de tip (n, n-k) i respectiv (n, k), are urmtoarea ecuaie
de funcionare:
k1
P = P1 + 2 kP2 = X y j 2 j + 2 k X
j= 0
n k 1
k+ j
2j
(3.23)
j= 0
,
Bit ( P1
0
1
3
.
.
.
2k-3
2k-2
2k-1
2k
.
.
.
n+k-3
n+k-2
n+k-1
n+k
.
.
.
n+2k-5
n+2k-4
n+2k-4
.
.
.
-
193
Bit ( P1
0
1
.
.
.
k-1
k
k+1
.
.
.
n
.
.
.
n+k-3
n+k-2
n+k-2
.
.
.
-
0
1
.
.
.
n-k
.
.
.
n-3
n-2
n-1
n
.
.
.
2n-k-3
2n-k-2
2n-k-2
194
Dac se alege k$2, atunci ntrzierile cu care sunt furnizate rezultatele la ieirile
sumatorului de 2n-k bii din fig.3.63 sunt determinate de ntrzierile cifrelor
rezultatului parial P1. Cele mai semnificative dou cifre ale produsului P sunt
disponibile dup propagarea prin (n+k-1) + (n-k-2) = 2n-3 sumatoare
elementare, ceea ce nseamn c partiionarea arhitecturii din fig.3.60 dup
modelul din fig.3.63 nu poate s conduc la creterea vitezei de operare.
Se poate spune c schema de partiionare analizat mai sus nu poate fi
considerat o metod de cretere a vitezei de operare a multiplicatoarelor.
Cele mai eficiente i mai utilizate metode de cretere a vitezei de operare
a multiplicatoarelor combinaionale (ct i a celor secveniale) au la baz
algoritmul Booth sau algoritmi derivai din acesta.
Fie X i Y dou numere binare de n bii; fr a pierde din generalitate se
consider c aceste numere sunt ntregi i fr semn. Cu algoritmul de nmulire
elementar, produsul P = XY se calculeaz printr-o succesiune de n-1 adunrideplasri de produse pariale Xyj :
pas1
pas2
pas3
... pas(n-1)
P = (Xy0 + Xy121) +Xy222 + Xy323 +...+ Xyn-12n-1
(3.24)
195
circuitului de multiplicare:
P = X(2Y - Y) =
= X[(0-y0) + (y0-y1)21 + (y1-y2)22 + (y2-y3)23 +...+ (yn-2-yn-1)2n-1 + (yn-1-0)2n] =
pas1
pas2
1
1 2
= {X[(0-y0) + (y0-y1)2 ] + X[(y1-y2) + (y2-y3)2 ]2 } + X[(y3-y4) + (y4-y5)21]24+
pas3
pas4
...
+ X[(y5-y6) + (y6-y7)21]26 + X[(y7-y8) + (y8-y9)21]28 + ...
(3.25)
yj yj+1 yj+2 =
000 sau 111
100 sau 010
011 sau 101
110
001
196
(3.26)
1 x 6 x 5 x 4 x 3 x 2 x 1 x 0
+1
+
semn
r
0
e
0
z u l t a t p
0 x6 x5 x4 x3 x2 x1
r
0
e z u l t a t p
0 x6 x5 x4 x3 x2 x1 x0
(-X)
[pas1]
1 x6 x 5 x4 x 3 x 2 x 1 x 0 1
1
+1
(-X)22
a r i a l +
[pas2]
x0 0 0 0 0 0
+0
(+2X)24
a r i a l +
[pas3]
0 0 0 0 0 0
+0
(+X)26
p5 p4 p3 p2 p1 p0
=
P
f i n a l).
Figura 3.66
Implementarea direct a multiplicatorului de 7 bii dup aceast schem de
calcul nu aduce avantaje fa de implementarea algoritmului de nmulire
elementar ci dezavantaje:
- aria ocupat crete deoarece pe de o parte sunt necesare 3 sumatoare de 15 bii
(315 = 45 celule elementare) n loc de 6 sumatoare de 7 bii (67 = 42 celule
elementare), iar pe de alt parte structura de GPP- este mai complex dect
structura de GPP utilizat n algoritmul elementar;
- viteza de operare scade deoarece cile critice de propagare cresc n lungime
de la 12 celule la 17 celule, lundu-se ca referin arhitectura din fig.3.60.
n schema de calcul din fig.3.66 se pot face ns simplificri care s determine
reducerea ariei ocupate de circuitul de multiplicare i creterea vitezei de
operare:
- deoarece P este un numr binar fr semn, rezultatul final obinut mai sus este
ntotdeauna pozitiv i ca urmare se poate utiliza formatul de 14 bii n loc de 15
bii, eliminnd bitul de semn i neglijnd toate transporturile ctre acesta;
197
x0
1 x 6 x 5 x4 x3 x2 x1
+1
+
1 x6 x 5 x4 x3 x2 x1
x0
+1
! ! ! ! ! ! ! ! ! ! ! ! ! ! +
0 0 x6 x5 x4 x3 x2 x1 x0 0
+0
! ! ! ! ! ! ! ! ! ! ! ! ! ! +
0 x6 x5 x4 x3 x2 x1 x0
+0
=
p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
1
[pas1]
[pas2]
[pas3]
P
Figura 3.67
O transformare echivalent a schemei de mai sus este prezentat n fig.3.68.
0
!
0
!
0
0 1 x 6 x 5 x4 x3 x2 x1 x0
(-1)
+1
+
x 5 x4 x3 x2 x1
x0
+1
! ! ! ! ! ! ! ! +
x2 x1 x0 0
+0
! ! ! ! ! ! ! ! +
x1 x0
+0
p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
[pas1]
0 1 x6
(-1)
! ! ! ! !
0 x6 x5 x4 x3
(-0)
! ! ! ! !
x6 x5 x4 x3 x2
Figura 3.68
[pas2]
[pas3]
=
198
! ! !
x6
(-0)
! ! !
0 x6 x5
(-1)
!
x5
!
x4
x2
1 1 x 6 x 5 x4 x3
(-1)
+1
1 x6 x 5 x4 x3 x2 x1 x0
+1
! ! ! ! ! ! ! !
x4 x3 x2 x1 x0 0
+0
! ! ! ! ! ! ! !
x3 x2 x1 x0
+0
p9 p8 p7 p6 p5 p4 p3 p2
1
x1
x0
+1
+
[pas1]
! ! +
[pas2]
! ! +
[pas3]
p1 p0
Figura 3.69
1
0 1 x 6 x 5 x4 x3 x2 x1 x0
(+1)
+1
+
1 x6 x 5 x4 x3 x2 x1
x0
+1
! ! ! ! ! ! ! ! ! ! ! ! +
1 1 x6 x5 x4 x3 x2 x1 x0 0
+0
! ! ! ! ! ! ! ! ! ! ! ! ! ! +
0 x6 x5 x4 x3 x2 x1 x0
+0
=
p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
1
[pas1]
[pas2]
[pas3]
P
Figura 3.70
Arhitectura multiplicatorului Booth- se determin pe baza schemei de calcul
199
Figura 3.71
Funcionarea decodificatorului Booth cu ieirile active pe nivelul 1 logic este
descris de tabela din fig.3.65:
- ieirea Zero se activeaz cnd yj yj+1 yj+2 = 000 sau 111
Zero = yj yj+1 yj+2 + yj yj+1 yj+2;
- ieirea Shift (deplasare cu 1 rang) se activeaz cnd yj yj+1 yj+2 = 001 sau 110
Shift = yj yj+1 yj+2 + yj yj+1 yj+2;
- ieirea Comp2 (complement fa de 2) se activeaz cnd yj yj+1 yj+2 = 001, 011
sau 101
Comp2 = yj yj+1 yj+2 + yj yj+1 yj+2 + yj yj+1 yj+2 = yj yj+2 + y j+1 yj+2.
Nici una dintre ieirile decodificatorului Booth nu se activeaz dac yj yj+1 yj+2
= 010 sau 100. Sunt active simultan ieirile Shift i Comp2 dac yj yj+1 yj+2 =
001. Structura blocului GPP- din fig.3.71 este desenat n fig.3.72.
200
201
202
Valorile aplicate la intrrile sumatorului de 14 bii din figura de mai sus nu sunt
disponibile simultan; cele mai ntrziate valori, obinute dup propagarea prin
trei celule elementare, sunt aplicate la intrrile cu rangurile 6 11. Dac
sumatorul de 14 bii este cu transport selectat, selecia aplicndu-se partiiilor
de 3 bii, atunci cile de propagare critice din structura multiplicatorului Booth de 7 bii traverseaz 6 celule elementare. Cile critice ale unui multiplicator
de 7 bii construit dup principiul din fig.3.60 n care sumatorul n este de
asemenea cu transport selectat (i partiionat tot n sumatoare de 3 bii)
traverseaz 9 celule elementare. Raportul 9/6 = 1,5 reprezint creterea vitezei
de operare determinat de arhitectura Booth- n comparaie cu arhitectura
reprezentat n fig.3.60; aceast cretere de vitez (de 1,5ori sau cu 50%) se
pstreaz i n cazul general al multiplicatoarelor de n bii.
Produsul P determinat cu relaia 3.26 poate fi calculat utiliznd att
operaii de adunare ct i operaii de scdere (arhitectura Booth-). Relaia
3.26 poate fi scris n forma urmtoare:
*PP4*
P = (X) 26
pas3
*PP3*
+
pas2
*PP2*
[(2X) 24
(X 22
pas1
*PP1*
+
X)]
(3.27)
Un multiplicator Booth- de 7 bii conine 4 subcircuite de tip decodificatorGPP i 3 sumatoare-scztoare binare. n fig.3.74 este reprezentat la nivel de
blocuri funcionale un ansamblu decodificator Booth - GPP- cu ajutorul
cruia se calculeaz produsele pariale.
Figura 3.74
Decodificatorul Booth din fig.3.74 este identic cu acela din fig.3.71; ieirea
Comp2 este redenumit Semn i indic semnul produsului parial, utilizndu-se
convenia 0 Y + i 1 Y -. Semnul atribuit produselor pariale cu valoarea
203
204
205
Figura 3.77
O alt structur de multiplicator Booth- de 7 bii se poate obine dac se
inverseaz ordinea de procesare a celor 4 produse pariale i anume:
*PP4*
P = [(X 26
pas1
*PP3*
+
(2X) 24)
pas2
*PP2*
-
pas3
*PP1*
X 22] -
(3.28)
206
207
208
1
0
1
0
1 0
se neglijeaz
1
0
1
1
1
0
0
0
0 0 1
1
1
1
0
1
1
1
0
0
1
0
0
0
1 0
0 1
1 0
0
(-6(10))
(-3(10))
relaia 3.30
0 1 0
(+18(10))
semn (rangul 7)
Figura 3.79
Cifrele din rangurile cele mai semnificative ale produselor pariale, generate
prin repetarea biilor de semn, pot fi reduse ca numr utiliznd artificiile de
calcul prezentate succesiv n figurile 3.68, 3.69 i 3.70.
209
(3.31)
yj*yj-1*yj-2* =
C2(X)[(yj-1* - yj*)21+(yj-2*-yj-1*)] =
0
C2(X)
-C2(X)
2C2(X)
-2C2(X)
Figura 3.80
(3.32)
(3.33)
210
x 5
x 5
x 5
x 5
x 4*
x3*
x2*
x1*
x5
x5
x5
x5
x4* x3*
x2*
x1*
x0*
+0
x5
x 5
p10
x 0*
+1
p9* p8* p7* p6* p5* p4*
x0*
1 +
+1
[PP3]
[22PP2]
[24PP1]
p3*
C2(P)
Figura 3.81
Aceast schem de calcul poate fi simplificat succesiv dup cum se arat n
figurile 3.82 i 3.83.
0 x5
-x5
0 x 4*
+(x5-1)
x3*
x2*
x1*
x4* x3*
x2*
x1*
x0*
+0
x0*
1 +
+1
[PP3]
[22PP2]
0 x 5
x 4*
x 3*
x 2*
x 1*
x 0*
[24PP1]
+1
+(x5-1)
C2(P)
p10 p9* p8* p7* p6* p5* p4* p3* p2* p1* p0*
Figura 3.82
x5
p10
x5 x4*
(+1)
x3*
x2*
x1*
x5
x4* x3*
x2*
x1*
x0*
+0
x5
x 5
x 0*
+1
p9* p8* p7* p6* p5* p4*
x0*
1 +
+1
[PP3]
[22PP2]
[24PP1]
p3*
C2(P)
Figura 3.83
Structura GPP i arhitectura multiplicatorului Booth se determin cu ajutorul
schemei de calcul din fig.3.83. n fig.3.84 este reprezentat generatorul de
211
212
213
Circuitul din figura de mai sus este un convertor de 4 bii de la codul binar cu
semn codificat la codul complementar fa de 1 (C1). De obicei conversia n
codul C2 se utilizeaz n cadrul blocurilor aritmetice, C2(X) fiind unul dintre
cei doi operanzi aplicai la intrrile unui sumator binar. Nu este necesar o
conversie propriuzis n C2 ci o conversie n C1, mai simplu de realizat, i
aplicarea bitului de semn (x3 n acest caz) la intrarea de transport a sumatorului
respectiv.
Dac este necesar conversia n codul C2, ntr-un context diferit de cel al
operaiilor aritmetice, atunci structura convertorului se determin cu ajutorul
tabelelor de adevr urmtoare. Combinaiile x3x2x1x0 = 0000 i x3x2x1x0 = 1000
reprezint numrul zecimal 0 (+0 i respectiv -0).
214
3d
2d
1;
d3* = d
d2* = d2d
1 + d
2d1;
d1* = d1;
d0* = d
0.
215
216
Numrul binar u3u2u1 poate s aib numai valorile 000, 001, 010, 011 sau 100.
Schema unui circuit care determin valorile cifrelor binare u3, u2, u1 i
transporturile ctre digitul zeci este desenat n figura de mai jos. Circuitul
are o funcionare asemntoare cu a unui sumator modulo 5.
2
10 +
210b
4 + 20b
4 +
20b4 +
21
0 +
2
0b4 +
+ 21
0b4 +
2
1
0b
4;
= ( + 2 + 1)( + 2 + b4)( + 2 + 0)(2 + 1 + b4)( + 1 + 0 + b4);
= 2b4(1 + 0).
217
Ieirea din blocul de corecie BCD(Z) este transportul ctre digitul sute.
Numrul binar z3z2z1 poate s aib numai valorile 000, 001, 010, 011 sau 100.
218
219
Dac Enable = 0 atunci nici unul dintre cele dou codificatoare nu este autorizat
s funcioneze i ieirile AI, A2, A1, A0 sunt n starea de nalt impedan.
Dac Enable = 1 atunci este autorizat s funcioneze un singur codificator.
Autorizarea se realizeaz cu ajutorul intrrilor care au prioritatea cea mai mare:
- cnd este activ cel puin una dintre intrrile I7, I6, I5 sau I4, este validat
codificatorul 2 i rezult A2 = 1, AI = 1;
220
- cnd nici una dintre intrrile I7, I6, I5 i I4 nu este activ se autorizeaz
funcionarea codificatorului 1 i rezult A2 = 0; n acest caz AI = 1 dac este
activ cel puin una dintre intrrile I3, I2, I1 sau I0 (altfel AI = 0).
f = ab
c + bcde + a c d + abcd ,
R e z o l v a r e:
Dac la intrrile decodificatorului se aplic variabilele a, b, c, d n aceast
ordine, de la intrarea MSB la intrarea LSB, atunci la ieirile 0 15 ale
circuitului se genereaz maxtermenii a + b + c + d, a + b + c + d
, a + b + c
+ d,..., i respectiv a
+b
+ c + d
.
Funcia f trebuie reprezentat ntr-o form echivalent mai convenabil (produs
de maxtermeni):
f = (a
+ b + c)(b
+ c + d
+ e)(a + c + d)(a + b
+c+d
) .
Fiecare maxtermen de 3 variabile poate fi scris ca produs de doi maxtermeni de
4 variabile:
+ b + c = (a
a
+ b + c + d
)(a
+ b + c + d) = 1110;
+ c + d
b
= (a + b
+ c + d
)(a
+b
+ c + d
) = 715;
.
a + c + d = (a + b + c + d)(a + b
+ c + d) = 0 4
Variabila e trebuie tratat n mod diferit fa de variabilele a, b, c, d care sunt
aplicate la intrrile decodificatorului. Se obine expresia
.
f = 1110(715 + e)0
45
Expresia logic cea mai convenabil pentru reprezentarea funciei g este forma
canonic cu maxtermeni (valorile indiferente sunt considerate 1 logic):
g = (a + b + c + d)(a + b + c + d
+ e)(a + b
+c+d
)(a + b
+ c + d)
(a
+b
+ c + d)(a
+ b + c + d
) = 0(3 + e)5
6
1210.
Circuitul care implementeaz funciile f i g, compus dintr-un decodificator de
221
222
223
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
f
0
1
1
0
0
~
1
1
R e z o l v a r e:
La intrrile de selecie S1, S0 ale multiplexorului se pot aplica oricare dou din
cele trei variabile a, b, c i n orice ordine. Dac S1 = a i S0 = b atunci ecuaia
care descrie funcionarea MUX4 este
I0 + a
bI1 + ab
I2 + abI3.
Y=f=a
b
Din tabela de adevr se determin valorile logice care trebuie aplicate la
intrrile de date ale multiplexorului, comparndu-se coloanele c i f; de
exemplu, n primele dou linii din tabela de adevr (linii ce corespund
combinaiei ab = 00) se observ c c = f, ceea ce nseamn I0 = c. La celelalte
trei intrri de date se obin valorile I1 = c, I2 = 0 sau c, I3 = 1. Implementarea
funciei f este reprezentat n figura de mai jos.
224
225
Cazul 1:
Dac xn-1 = yn-1 = 0 atunci rezultatul comparaiei dintre C2(X) i C2(Y) este
identic cu rezultatul comparaiei dintre X i Y deoarece C2(X) = X, C2(Y) = Y
iar corecia nu este necesar.
Cazul 2:
Dac xn-1 = 0 i yn-1 = 1 atunci comparatorul indic C2(X) < C2(Y) adic se
activeaz ieirea mai mic; rezultatul comparaiei trebuie s fie X > Y deoarece
X $ 0 iar Y < 0, adic trebuie s se activeze ieirea mai mare. Corecia este
necesar.
Cazul 3:
Dac xn-1 = 1 i yn-1 = 0 atunci comparatorul indic C2(X) > C2(Y) adic se
activeaz ieirea mai mare; rezultatul comparaiei trebuie s fie X < Y
deoarece X < 0 iar Y $ 0, adic trebuie s se activeze ieirea mai mic. Corecia
este necesar.
Cazul 4:
Dac xn-1 = yn-1 = 1 sunt posibile dou situaii.
(a) C2(X) = C2(Y) Y X = Y; se activeaz ieirea egal i nu este necesar
corecia rezultatului.
(b) C2(X) C2(Y) Y X Y; C2(X) = 2n - *X*, C2(Y) = 2n - *Y* i n aceast
situaie C2(X) > C2(Y) Y X < Y, C2(X) < C2(Y) Y X > Y adic este necesar
corecia rezultatului.
Din aceast analiz rezult c numai ieirile mai mare i mai mic pot
fi afectate de erori. Erorile apar n cazurile 2, 3 i 4(b) iar corecia se poate
realiza prin interschimbarea ieirilor < i > atunci cnd cel puin unul dintre
biii xn-1, yn-1 are valoarea logic 1; rezultatul corespunztor cazului 4(a) nu se
modific deoarece nu este sensibil la corecia menionat. Schema de comparare
a numerelor reprezentate n C2 este desenat n figura de mai jos.
226
R e z o l v a r e:
Circuitul implementeaz sistemul de funcii n2, n1, n0. Aceste funcii depind
fiecare de 7 variabile i pot fi reprezentate prin tabele de adevr (cu
dimensiunea 27) cu ajutorul crora se obin expresii logice cu costuri minime
i implicit structura circuitului la nivel de poart logic. Aceast abordare
implic un efort relativ mare de calcul; o soluie mai simpl este construirea
numrtorului din sumatoare i semisumatoare elementare. Funcionarea
numrtorului este descris de relaia
n2n1n0(2) = a + b + c + d + e + f + g
n care + reprezint adunarea algebric. Circuitul poate fi inclus n categoria
celulelor elementare de adunare deoarece efectueaz adunarea a 7 bii
(variabile) cu ponderi egale ntre ele. n comparaie cu un sumator elementar
care efectueaz adunarea a 3 bii cu ponderi egale i care realizeaz o
compresie de tip (3, 2), unde 3 i 2 reprezint numrul de intrri i respectiv
numrul de ieiri, numrtorul prezentat n enunul aceastei probleme realizeaz
o compresie de tip (7, 3). n cazul general, o celul elementar de adunare
determin suma a (2k-1) bii cu ponderi egale, rezultatul fiind furnizat sub forma
unui numr binar de k cifre. Relaia de mai sus poate fi prelucrat astfel:
n2n1n0(2) = (a + b + c) + (d + e + f) + g = s1s0(2) + u1u0(2) + g =
= (s1 + u1)21 + (s0 + u0 + g) = (s1 + u1)21 + v1v0(2) = (s1 + u1 + v1)21 + v0 =
= w1w0(2)21 + v0 = w1w0v0(2).
Sunt necesare 4 sumatoare elementare pentru a construi numrtorul; schema
227
228
229
230
231
la intrarea Control reacie. Durata minim a fiecrei faze este egal cu timpul
de propagare pe cile critice ale scztorului.
xk + yk + ck = ck+171 + sk
unde simbolul + reprezint adunarea algebric, xk, yk, sk sunt cifre ale bazei
7 codificate binar iar ck, ck+1 0 {0, 1} sunt transporturi. Circuitul de corecie are
ca mrime de intrare numrul binar (2) , a crui valoare maxim n
zecimal este 6 + 6 + 1 = 13 (adic 1101 n baza 2). Sistemul de 4 funcii logice
care este implementat de acest circuit, i anume ck+1, sk, 2, sk, 1 i sk, 0 este
reprezentat prin tabelele de adevr urmtoare, completate pe baza relaiei de
mai sus.
232
ck+1 = +
sk, 2 = + + = +
sk, 1 = +
+
= ( + ) +
sk, 0 = +
+
=
+ ( + )
Structura circuitului de corecie este desenat n figura urmtoare.
233
234
Se poate considera sgn(A) = an, 2 adic cel mai semnificativ bit al cifrei semn an.
Conversia cifrei ak n codul C6 se face pe baza relaiei
C6(ak) = a
n, 2ak w an, 2(6 - ak), k < n
cu ajutorul creia se completeaz tabelele de adevr urmtoare.
235
C6(X)
C6(Y)
S
236
C6(X)
C6(Y)
S = C6(S) = Z = +500(7).
237
n modul aritmetic toate cele 4 operaii sunt efectuate de ctre sumatorul binar;
mai sunt necesare blocuri logice care s determine operanzii A, B i transportul
cin. Selectarea operanzilor i a transportului se realizeaz cu ajutorul
multiplexoarelor. Operaia aritmetic F = XY - 1 (scdere) este echivalent cu
operaia F = XY + 1111 (adunare):
238
F = XY - 1 = XY - 1 + 24 = XY + 1111.
Fie cout o variabil logic a crei semnificaie este mprumut de ieire n cazul
operaiei XY - 1 i transport de ieire n cazul operaiei XY + 1111. Comparaia
dintre aceste dou operaii se poate realiza cu ajutorul tabelelor de mai jos.
XY
F = XY - 1
cout
XY
F = XY + 1111
cout
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
239
240
241
tip AC (anod comun) i celule de tip CC (catod comun). Celulele AC (CC) sunt
comandate de ctre decodificatoare cu ieiri active pe nivelul logic 0 (1).
Celulele AC (CC) au un pin numit anod comun (catod comun) care trebuie
conectat la borna + (-) a sursei de alimentare pentru ca segmentele activate
s emit lumin; altfel, dac acest pin este lsat n gol sau nu este conectat la
borna corespunztoare a sursei de alimentare, nici un segment nu emite lumin.
242
243
Figura 4.1
Tensiunile de intrare cu valori mai mici dect +V/2 corespund nivelului logic
de intrare L iar cele cu valori mai mari dect +V/2 corespund nivelului logic de
intrare H.
5) tranziia tensiunii de ieire ntre valorile 0 i +V se face instantaneu i
aproape simultan cu tranziia tensiunii de intrare care a generat-o (timpii de
tranziie tr, tf i timpul de propagare tp definii n cap.2 au valoarea 0);
6) nu exist nici o restricie asupra numrului de intrri;
7) impedanele de intrare au valori foarte mari (ideal infinit), ceea ce nseamn
244
(4.1)
(4.2)
245
(4.3)
Aceste mrimi sunt n general diferite ntre ele i mai mici dect marginea de
zgomot a porii ideale.
O poart logic real consum putere de la sursa de alimentare. De
asemenea, tranziiile ieirii se fac cu viteze finite (tr, tf 0) i cu anumite
ntrzieri (tp 0) fa de tranziiile de la intrri. Mrimile tr, tf, tpHL i tpLH depind
de tehnologia de fabricare, de structura interioar a porii, de valoarea tensiunii
de alimentare i de fanout-ul porii; pentru a obine circuite logice cu viteze de
operare ct mai mari trebuie impuse limitri de fanout pe cile de propagare
critice. n toate tehnologiile de fabricare a circuitelor integrate digitale exist
restricii cu privire la numrul de intrri ntr-o poart logic elementar.
Complexitate circuitelor digitale care pot fi realizate sau integrate pe un
singur chip depinde n principal de dimensiunile fizice ale porilor logice i de
puterea consumat de la sursa de alimentare i disipat sub form de cldur;
cu ct puterea consumat pe poart este mai mic i dimensiunile
componentelor sunt mai mici, cu att densitatea de integrare poate fi mai mare.
n paragrafele urmtoare sunt prezentate particularitile porilor logice
i subcircuitelor realizate n diferite tehnologii de fabricare a circuitelor
integrate.
246
247
de baz din structura primelor circuite integrate DTL este poarta NAND
desenat n fig.4.5. Subcircuitul format din diodele D1, D2 i rezistorul R1
realizeaz funcia logic AND; negarea logic sau inversarea este realizat de
ctre tranzistorul Q.
248
acelea ale porii logice ideale. Un dezavantaj al structurii din fig.4.5 este sursa
de tensiune negativ VBB. Aceast surs de tensiune are ns dou utiliti:
- menine n conducie permanent diodele de deplasare a nivelului D3, D4 i
prin aceasta rezult o caracteristic de transfer n tensiune mai abrupt;
- reduce timpul de comutare invers a tranzistorului Q, din saturaie n blocare
i prin aceasta se mrete viteza de operare a porii.
O nou structur de poart DTL a aprut pe pia n 1964 i a devenit un
standard de circuit integrat digital pentru aproape 10 ani. Schema acestei pori
logice este desenat n fig.4.6.
249
250
Observaii:
1) Lsarea n gol a unei intrri DTL este echivalent din punct de vedere logic
cu aplicarea la acea intrare a unui nivel de tensiune H.
2) Dou sau mai multe ieiri DTL pot fi conectate mpreun, aa cum se arat
n fig.4.7. Se realizeaz n acest mod, prin cablare, funcia logic WAND
(wired-AND).
Figura 4.8
251
252
253
intrare al porii iese din emitorul acestuia. n intervalul 1,5V < Vin < 2,3V, Q1
opereaz n regim saturat invers datorit limitrii tensiunii pe baz:
VB1 = VBC1(on) + VBE2(sat) + VBE3(sat) = 0,7V + 0,8V + 0,8V = 2,3V.
Ambele jonciuni ale tranzistorului Q1 sunt polarizate direct, ca n regimul
saturat, ns curentul de intrare al porii intr n emitorul lui Q1. Peste
valoarea 2,3V a tensiunii Vin , Q1 opereaz n regim activ invers, avnd
jonciunea B-E polarizat invers i jonciunea B-C polarizat direct.
n regimul static de funcionare a porii, tranzistoarele Q3 i Q4 din etajul
de ieire nu se pot afla simultan n conducie; n regim dinamic ns, pe durata
tranziiei LYH la ieire, exist posibilitatea ca tranzistorul Q4 s intre n
conducie nainte ca tranzistorul Q3 s se blocheze. n aceast situaie, limitarea
la valori de siguran a impulsului de curent absorbit de la sursa de alimentare
prin Q3-Q4 se realizeaz de ctre rezistorul R4.
n fig.4.10 sunt definite benzile LOW i HIGH de intrare i de ieire
pentru o poart TTL standard:
VIL 0 [0; 0,8V], VIH 0 [2V; 5V];
VOL 0 [0; 0,4V], VOH 0 [2,4V; 3,6V].
n conformitate cu relaia 4.3 de definiie a marginilor de zgomot, se obin
valorile:
NML = VILmax - VOLmax = 0,8V - 0,4V = 0,4V;
NMH = VOHmin - VIHmin = 2,4V - 2V = 0,4V.
Curenii de intrare ntr-o poart TTL standard, considernd c un singur
emitor al tranzistorului Q1 este comandat iar ceilali (dac exist) sunt lsai n
gol, au valorile:
IILmax = (VCC - VBE1(sat))/R1 = 4,2V/4k = 1,05mA 1mA;
IIHmax = RIB1 = R(VCC - 2,3V)/R1 = 0,27V/4k 67A.
Dac n emitori ale aceluiai tranzistor Q1 sunt conectai simultan la nivelul logic
L sau H (ceilali, dac mai exist, sunt lsai n gol) atunci curenii prin fiecare
emitor au valorile IIL = 1mA/n i respectiv IIH = 67A/n.
Curenii de ieire ai unei pori TTL standard se calculeaz astfel:
IOLmax # FIB3 = F(IE2 - VBE3(sat)/R2) = 30(3,3mA - 0,8mA) = 75mA;
IE2 = IIHmax(1+1/R) + (VCC - VCE2(sat) - VBE3(sat))/R3 = 0,73mA + 2,56mA = 3,3mA
IOHmax = (VCC - VBE4(sat) - VD(on) - VOHmin)/R3 +
+ (VCC - VCE4(sat) - VD(on) - VOHmin)/R4 = 1,1V/1,6k + 1,8V/130 = 14,5mA.
254
ncrcarea maxim a unei ieiri TTL standard, din punct de vedere static, este:
fanoutmax = min{IOLmax/IILmax , IOHmax/IIHmax} = min{75, 216} = 75.
Observaii:
1) Valorile curenilor calculai mai sus i implicit fanout-ul depind de
toleranele procesului de fabricaie. Valorile de catalog tipice sunt:
IILmax = 1,6mA; IIHmax = 40A; IOLmin = 16mA; IOHmin = 0,4mA; fanout = 10.
2) Scurtcircuitarea accidental a unei ieiri TTL cu nivelul logic L la borna +
a sursei de alimentare distruge de obicei circuitul (curentul de scurtcircuit este
direct proporional cu factorul F i are de obicei valori mai mari de 75mA).
Rezistorul R4 asigur protecia la scurtcircuitul dintre ieirea porii (cnd
aceasta are nivelul logic H) i borna - a sursei de alimentare (mas):
ISC- = IE4 = (VCC - VBE4(sat) - VD(on))/R3 + (VCC - VCE4(sat) - VD(on))/R4 =
= 3,5V/1,6k + 4,2V/130 = 2,18mA + 32,3mA 34,5mA.
Valoarea medie a curentului absorbit de la sursa de alimentare de o poart
TTL standard este 2mA; n starea H la ieire curentul de alimentare este IR1
1mA iar n starea L la ieire curentul de alimentare este IE2 3mA. Rezult c
puterea medie disipat pe poart este PD = 2mA5V = 10mW, egal cu puterea
disipat pe o poart DTL. Timpul de propagare tipic al unei pori TTL standard
(tp = 10ns) este ns de 3 ori mai mic dect al unei pori DTL; produsul putere
disipat vitez de operare sau raportul PD/tp este o mrime cu ajutorul creia
se compar performanele dintre diferite familii de circuite integrate digitale.
Creterea de vitez a porii TTL se datoreaz n principal tranzistorului Q1, care
determin micorarea timpului de propagare tpLH. Tranziia LYH de la ieire este
declanat de o tranziie HYL la cel puin una dintre intrrile porii. nainte de
aceast tranziie toate intrrile porii au nivelul H, tranzistorul Q1 opereaz n
regim activ invers iar tranzistoarele Q2 i Q3 sunt saturate. Tranziia HYL de la
intrare determin VCE1 1,5V i trecerea tranzistorului Q1 n regim activ normal;
sarcina electric stocat n baza tranzistorului Q2 alimenteaz curentul prin
Q1 care, imediat dup tranziia de la intrare, are o valoare mare (IC1 = FIB1
30mA). Curentul IC1 consum rapid sarcinile electrice stocate, astfel c Q2 se
blocheaz ntr-un timp mult mai scurt; dup aceasta tranzistorul Q1 intr n
saturaie. Sarcina stocat n baza tranzistorului Q3 scade ca urmare a blocrii lui
Q2 i se elimin prin rezistorul R2; Q3 se blocheaz mai trziu fa de Q2 ns
blocarea lui Q2 determin intrarea n conducie a tranzistorului Q4 i declanarea
mai devreme a tranziiei tensiunii de la ieirea porii. Din momentul blocrii
tranzistorului Q2 i pn n momentul blocrii lui Q3 ambele tranzistoare ale
etajului de ieire se afl n conducie.
255
Figura 4.11
n fig.4.12 este desenat structura porii AND2 din familia TTL standard;
performanele acestei pori, PD = 18mW i tp = 15ns, sunt inferioare
performanelor porii NAND. Utilizarea porilor AND n anumite subcircuite
logice este mai avantajoas dect utilizarea porilor NAND. De exemplu,
implementarea funciei f(a,b,c) = abc utiliznd o singur poart elementar
AND3 este de preferat n locul circuitului echivalent, compus dintr-o poart
NAND3 i un inversor; ansamblul NAND3-inversor disip o putere mai mare
(PDtotal = 20mW), are o vitez de operare mai mic (Tp = 20ns) i ocup arie
mai mare pe chip dect o poart AND3.
Funcionarea porii logice elementare AND este foarte asemntoare cu aceea
256
257
prin introducerea n structura porii NOR a unor etaje inversoare ca cel din
fig.4.12.
Structurile porilor NAND i NOR pot fi combinate, obinndu-se
subcircuite de tipul AOI (AND-OR-INVERT). Un exemplu este reprezentat n
fig.4.14.
Figura 4.15
Dac se nlocuiesc porile 1, 2, 3 din fig.4.15 cu structurile TTL
corespunztoare (AND3, AND2 i respectiv NOR2), se obine un circuit logic
la nivel de tranzistor echivalent din punct de vedere funcional cu subcircuitul
AOI din fig.4.14 dar cu performane mai reduse: puterea medie disipat i aria
ocupat pe chip sunt de aproximativ 3 ori mai mari iar viteza de operare este de
aproximativ 2 ori mai mic.
Metodele de minimizare a funciilor logice prezentate n cap.2 se aplic ntr-o
etap de proiectare n care se caut reprezentri optime la nivel de poart logic
258
(4.4)
259
(4.5)
(4.6)
260
261
TTL standard
VILmax /VIHmin
VOLmax /VOHmin
IILmax /IIHmax
IOLmin /IOHmin
tp (tipic)
PD (tipic)
0,8V/2,0V
0,4V/2,4V
-1,6mA/40A
16mA/-0,4mA
10 ns
10 mW
TTL-S
0,8V/2,0V
0,5V/2,7V
-2,0mA/50A
20mA/-1,0mA
3 ns
20 mW
TTL-LS
0,8V/2,0V
0,5V/2,7V
-0,4mA/20A
20mA/-1,0mA
10 ns
2 mW
262
de poarta TTL standard NAND2. Dioda D din structura porii standard este
nlocuit cu tranzistorul Q5; tranzistorul compus Q4-Q5 furnizeaz un curent IOH
mai mare i se reduce durata tranziiei LYH la ieire (tr). Tranzistorul Q4 nu este
nlocuit cu unul de tip Schottky deoarece nu opereaz niciodat n saturaie:
VCE4 = VBE4 + VCE5 > VCE(sat).
Tranzistorul Q6 nlocuiete rezistorul R2 din structura porii standard; datorit
acestei modificri tranzistorul Q2 intr n conducie (la creterea tensiunii de
intrare Vin) simultan cu tranzistoarele Q3 i Q6, astfel c n caracteristica static
de transfer n tensiune punctele M, N i P (vezi fig.4.10) devin coliniare. Cea
mai mare parte din curentul tranzistorului Q2 intr n baza tranzistorului Q3;
raportul IB3/IB6 este determinat de grupul de rezistoare R2-R6. Q6 determin
blocarea mai rapid a tranzistorului Q3, la fel cum Q1 acioneaz asupra
tranzistorului Q2, iar timpul de propagare tpLH se reduce n comparaie cu o
poart TTL standard.
Pe un chip cu puterea disipat limitat la 500 mW se pot integra maxim
25 de pori TTL-S; un astfel de circuit face parte din categoria circuitelor
integrate pe scar mic (SSI). Numrul de pori TTL-LS care se pot integra pe
acelai chip este 250; un astfel de circuit face parte din categoria MSI (mediumscale integrated). Structura porii NAND2 din familia TTL-LS este desenat n
fig.4.21.
263
264
Etajul de ieire TTL-LS este uor diferit fa de cel al porii TTL-S. Blocarea
tranzistorului Q4 este accelerat prin includerea diodei D3 n structura porii
iar prin aceasta se micoreaz timpul de propagare tpHL. Durata tranziiei HYL
a tensiunii de ieire (tf) se reduce cu ajutorul diodei D4. Curenii diodelor D3 i
D4 sunt absorbii de tranzistorul Q2 i devin o component a curentului care
este injectat n baza lui Q3; astfel, curenii prin D3 i D4 grbesc intrarea n
conducie a tranzistorului Q3.
Prin eliminarea tranzistoarelor Q4 i Q5 din etajele de ieire ale porilor
TTL-S i TTL-LS se obin circuite cu ieiri de tip colector n gol, utile pentru
realizarea funciei cablate AND. De asemenea, se pot obine i circuite cu trei
stri; structura unei pori TTL-LS cu trei stri este desenat n fig.4.23.
265
TTL-AS
0,8V/2,0V
0,5V/2,7V
-2,0mA/0,2mA
20mA/-2,0mA
1,5 ns
20 mW
TTL-F
0,8V/2,0V
0,5V/2,7V
-0,6mA/20A
20mA/-1,0mA
2,5 ns
4 mW
TTL-ALS
0,8V/2,0V
0,5V/2,7V
-0,2mA/20A
4,0mA/-0,4mA
4 ns
1 mW
Figura 4.24
Structura porii NAND2 din familia TTL-AS este desenat n fig.4.25.
Deosebirile fa de poarta TTL-S din fig.4.20 sunt urmtoarele:
- etajul de intrare AND este realizat cu diodele D1, D2 n locul tranzistorului
multiemitor Q1;
- s-a eliminat rezistorul R4 din etajul de ieire pentru mrirea curentului IOH iar
valorile rezistenelor R1 i R6 sunt uor modificate;
266
267
268
269
270
271
272
variaiile tensiunii VEE (IC9 = VBE13(on) /R8). De exemplu, dac IC9 tinde s creasc
datorit creterii n modul a tensiunii VEE atunci cderea de tensiune pe
rezistorul R8 ar crete proporional cu IC9 i ar determina o cretere exponenial
a curentului prin Q13; variaiile tensiunii VEE sunt preluate integral de ctre
rezistorul R9. De asemenea, variaiile tensiunii VEE nu au efect nici asupra
curenilor IC8 i IC7. Valorile constante ale curenilor prin Q9 i Q8 implic valori
constante ale tensiunilor VBE9 i respectiv VR6, VR7; tensiunea VBE12 este
constant deoarece IC7 este constant. Rezult c i tensiunile de referin VRS,
VCS sunt aproape insensibile la variaiile tensiunii de alimentare:
VRS = VR7 + VBE12 , VCS = VR6 + VBE9.
Tensiunea VR5 = VBE7 - VBE8 are un coeficient de temperatur pozitiv, ceea ce
determin coeficieni de temperatur pozitivi i pentru tensiunile VR6 i VR7
deoarece:
VR6 = (R6 /R5)VR5 , VR7 = (R7 /R5)VR5.
Coeficienii de temperatur negativi ai tensiunilor VBE9 i VBE12 sunt compensai
de coeficienii pozitivi ai tensiunilor VR6 i respectiv VR7, astfel c tensiunile de
referin sunt aproape insensibile i la variaiile de temperatur.
Nivelele logice de ieire VOL i VOH sunt determinate cu ajutorul tensiunilor de
referin i sunt foarte puin afectate de variaiile tensiunii de alimentare VEE;
variaiile de temperatur modific valoarea curentului IEE datorit reducerii cu
1,5 mV/EC a tensiunii VBE4 ns efectul asupra tensiunilor VOL i VOH se
anihileaz cu ajutorul grupului R4, D1, D2.
Porile ECL din seria 100K au timpul de propagare tipic de 0,75 ns i
disip 40 mW; caracteristicile de transfer sunt reprezentate n fig.4.32.
273
274
(4.7)
275
TTL-LS
I2L
10 - 20
20
5 - 10
5V
0,2mA - 1mA
100 - 200
1-2
10 - 20
1V
1nA - 1mA
276
277
278
W
1 2
[(VGS VT )VDS VDS
] , dac VDS < VGS - VT
L
2
(4.8)
ID =
1 W
K ' (VGS VT ) 2 , dac VDS $ VGS - VT
L
2
279
(4.9)
280
281
Vin =
VDD
(VDD Vout )Vout
+
4
2
(4.10)
VDD
(1 + 2 )
4
(4.11)
VDD
(1 + 2 ) .
4
Vout =
VDD
V
2
(1 + 2 ) DD =
VDD .
4
4
4
Vin =
VDD Vout
V2
+
+ DD
4
2
16Vout
(4.12)
dVin
V 2Vout
1
2
=
DD
= 1
dVout 2 (VDD Vout ) Vout
2
(4.13)
282
12 96
.
24
Ordonata punctului A este yA 0,9. Abscisa punctului A calculat cu relaia
4.10 are valoarea xA = Vin/VDD 0,46.
Prin derivarea relaiei 4.12 rezult:
12y2 - 12y + 1 = 0, cu soluiile y1, 2 =
dVin
V2
V
1
= DD2 = 1, y B = out 0,2
dVout 2 16Vout
VDD
(4.14)
283
284
285
286
287
288
289
(4.15)
(4.16)
290
291
iC ( t ) = I D 2 ( t ) =
VDD t / R pC
e
Rp
v C ( t ) = VDD (1 e
t / R pC
(4.17)
) = Vout ( t )
(4.18)
EC = iC ( t )v C ( t )dt =
0
1
2
.
CVDD
2
(4.19)
E2 =
I D 2 ( t ) [VDD vC (t )]dt =
0
0
1
1
2t / R pC
2
2
. (4.20)
CVDD
e
= CVDD
2
2
(4.21)
292
Figura 4.51
Timpii de propagare ai inversorului se pot determina cu relaiile 4.23, n care
Rn i Rp sunt rezistenele dren-surs efective ale tranzistoarelor M1 i respectiv
M2 iar C este sarcina capacitiv a inversorului.
tpLH = Rp(W1L1 gox /tox + W2L2 gox /tox + C)
tpHL = Rn(W1L1 gox /tox + W2L2 gox /tox + C)
(4.23)
293
Figura 4.53
n fig.4.54 este desenat structura porii de transmisie CMOS. Ambele
nivele logice se transmit prin aceast poart fr s fie modificate; tranzistorul
cu canal n transmite bine nivelul LOW iar tranzistorul cu canal p transmite bine
nivelul HIGH.
(4.25)
i prin timpii de comutare ton-off, toff-on (on = conducie, off = blocare). Comutarea
porii de transmisie din conducie n blocare i din blocare n conducie este
determinat de tranziia HYL i respectiv LYH a intrrii de autorizare Enable.
Timpii de comutare sunt proporionali cu capacitile gril-surs ale
tranzistoarelor Tn , Tp
Cn = 1,5Wn Ln gox /tox i respectiv Cp = 1,5Wp Lp gox /tox .
294
Figura 4.55
O formul de estimare a timpului de propagare IN-OUT se obine cu ajutorul
relaiei 4.24 n care se consider numai termenii corespunztori liniei de
transmisie (0,35rcl2 + rlC):
tpLH + tpHL = 0,35(Rn**Rp)2,5C*N2 + (Rn**Rp)N(C - 1,5C*).
(4.26)
Exist mai multe topologii de circuite CMOS statice care sunt utilizate
pentru implementarea funciilor logice combinaionale. n fig.4.56 este desenat
p conin
topologia de baz sau standard. Blocurile complementare Bn i B
fiecare cte un numr de tranzistoare, cu canal n i respectiv cu canal p, egal cu
numrul de variabile de care depinde funcia logic F; fiecare variabil logic
p.
comand o pereche de tranzistoare, unul din blocul Bn i unul din B
295
296
tpLH =
Rp
1
(3Wp L ox / t ox + Wn L ox / t ox + C )
N
3
(4.27)
3R n (3Wp L ox / t ox + Wn L ox / t ox + C )
(4.28)
Dac C este termenul dominant n relaia 4.28 atunci tpHL 3RnC; viteza de
operare a porii NAND scade proporional cu numrul de tranzistoare din lanul
serie. Dimensionarea tranzistoarelor din structura porii NAND este optim din
punct de vedere al vitezei de operare dac tpLH max = tpHL; n cazul porii NAND3
aceast condiie implic Rp 3Rn, adic Wp Wn.
Tensiunea de tranziie (sau de comutare) a porii NAND depinde de numrul de
intrri care comut simultan, de valorile tensiunilor de prag VTn , VTp i de
raportul Wp /Wn. n exemplul de calcul urmtor se consider c Wp = Wn = W,
VTn = *VTp*= VT < VDD/2, o intrare a porii NAND3 este conectat la +VDD iar
celelalte dou sunt conectate mpreun i constituie intrarea inversorului
echivalent. Tranzistoarele echivalente M1 i M2 ale acestui inversor au
parametrii VT1 = *VT2* = VT, W1 = W, L1 = 3L, W2 = 2W, L2 = L. Deoarece K1 =
3,5K2 se obine (KW/L)1 0,6(KW/L)2; tensiunea de tranziie Vtr are o valoare
mai mare dect VDD/2 (vezi fig.4.50). n punctul de intersecie a caracteristicii
de transfer n tensiune cu dreapta Vin = Vout (= Vtr) tranzistoarele M1 i M2
funcioneaz n regiunea de saturaie a curentului de dren deoarece VDS1 = VGS1
> VGS1 - VT i VSD2 = VSG2 > VSG2 - VT. Din egalitatea ID1 = ID2 rezult
0,6(Vtr - VT)2 = (VDD - Vtr - VT)2 Y Vtr 0,56VDD - 0,13VT.
297
Nivelul H la ieirea porii NOR3 se obine cu abc = LLL. Tranziia LYH a cel
puin uneia dintre variabilele a, b, c determin tranziia HYL la ieirea porii;
timpul de propagare tpHL depinde de numrul tranziiilor LYH de la intrri, adic
de numrul tranzistoarelor cu canal n care vor descrca nodul de ieire. Se poate
considera c timpul de propagare tpLH nu depinde de numrul tranziiilor HYL
de la intrri, dac acestea au loc simultan. n fig.4.59 este reprezentat modelul
RC al porii NOR3 cu ajutorul cruia se pot estima timpii de propagare; N
reprezint numrul de tranzistoare din grupul paralel care se afl simultan n
conducie.
Rn
1
(3Wn L ox / t ox + Wp L ox / t ox + C )
N
3
3R p (3Wn L ox / t ox + Wp L ox / t ox + C )
tpHL =
(4.29)
tpLH
(4.30)
Dac C este termenul dominant n relaiile 4.29-4.30 atunci tpHL RnC/N i tpLH
3RpC; viteza de operare a porii NOR scade proporional cu numrul de
tranzistoare din lanul serie. Dimensionarea tranzistoarelor din structura porii
NOR este optim din punct de vedere al vitezei de operare dac tpHL max = tpLH;
n cazul porii NOR3 aceast condiie implic Rp Rn /3, adic Wp 10Wn.
Relaiile Wp Wn i Wp 10Wn determinate pentru poarta NAND3 i respectiv
pentru NOR3 indic faptul c n topologia CMOS standard porile NOR ocup
arie semnificativ mai mare dect porile NAND; din acest motiv sunt preferate
porile NAND.
Tensiunile de tranziie ale porii NOR3 se pot calcula cu ajutorul inversorului
echivalent, dup exemplul prezentat mai sus pentru poarta NAND3.
n fig.4.60 sunt desenate subcircuite CMOS standard de tip AOI i OAI;
reelele de tranzistoare p au configuraii duale fa de cele ale reelelor de
tranzistoare n, adic unui grup serie(paralel) de tranzistoare din blocul Bn i
corespunde un grup paralel(serie) n blocul complementar B
p i reciproc.
298
299
Wp
W
1
1 2
K'p
(VDD + VTp ) = K ' n n [(V IH VTn )VOL VOL
]
Lp
Ln
2
2
n care se impune VOL # VTn i se poate considera VIH = VDD.
(4.31)
300
301
Figura 4.64
n dintr-o structur DCVSL pot s conin
Blocurile complementare Bn i B
pri identice iar o astfel de parte poate s fie utilizat n comun de ctre reelele
n , obinndu-se o reducere a consumului de arie.
de tranzistoare din Bn i B
Acest lucru este ilustrat cu ajutorul circuitului din fig.4.65, care implementeaz
funciile logice complementare F = a + br c i F
= a + br c.
Figura 4.65
Tranzistorul M3 poate fi suplinit de ctre M1 (i invers) iar tranzistorul M2 poate
fi suplinit de ctre M4 (i invers); nu este necesar ca dimensiunile W, L ale
302
Figura 4.66
n poate fi determinat cu ajutorul dualismului
Observaie: Structura blocului B
serie-paralel pe baza structurii blocului Bn (i invers), ns aceasta nu nseamn
c se impune n mod obligatoriu o coresponden biunivoc ntre configuraiile
reelelor de tranzistoare ale celor dou blocuri complementare. Relaia de
n este una funcional i nu structural;
complementaritate a blocurilor Bn i B
structurile celor dou blocuri pot fi determinate n mod independent, nu
neaprat cu dualismul serie-paralel. Acest lucru este valabil i pentru blocurile
p din structurile CMOS standard.
complementare Bn i B
Complementaritatea structural, obinut cu ajutorul dualismului serie-paralel,
implic complementaritatea funcional dar nu i invers.
Reeaua de tranzistoare a blocului B
n din fig.4.65 poate fi reprezentat analitic
de expresia logic a
(bc + b c) i nu este obinut din reeaua blocului Bn prin
transformri serie-paralel i paralel-serie; prin astfel de transformri se obine
o reea de tranzistoare caracterizat de expresia logic a
(b + c)(b
+ c).
4.2.3.2 Circuite CMOS dinamice
Aceste circuite au vitez de operare mai mare, consum mai mic de arie i
putere disipat mai mic n comparaie cu circuitele CMOS statice. ns, din
punct de vedere funcional complexitatea crete; operaiile logice efectuate
trebuie controlate cu ajutorul unor semnale de ceas. De asemenea, circuitele
CMOS dinamice sunt mai sensibile la zgomot dect cele statice.
O categorie de circuite dinamice care poart denumirea de logic domino are
303
304
Figura 4.68
Momentul de referin 0 de pe axa timpului coincide cu tranziia 0Y1 a
ceasului , adic cu nceputul fazei de evaluare. nainte de acest moment, pe
durata fazei de prencrcare, toate intrrile circuitului sunt fixate la valoarea L.
Pe durata fazei de evaluare numai intrrile x i z capt valoarea H; aceste dou
schimbri se propag succesiv prin porile 1, 2 i 3 ale circuitului,
determinnd E = H, F = H i respectiv G = H.
Circuitele domino au o funcionare sensibil la erorile cauzate de:
- scurgerile de sarcin electric din nodurile de stocare n substrat prin
jonciunile polarizate invers;
- cuplajele capacitive parazite care, n general, provoac modificri nedorite ale
sarcinii din nodurile de stocare.
Scurgerile de sarcin au loc n faza de evaluare, cnd toate intrrile unui
subcircuit dinamic rmn la nivelul LOW. Dac durata fazei de evaluare este
suficient de mare atunci valoarea logic de la ieirea subcircuitului se schimb
305
306
(4.32)
307
308
309
310
311
Figura 4.76
ntre aceste trei soluii de rezolvare a intrrilor neutilizate exist deosebiri.
Astfel, dac poarta NAND3 este realizat ntr-o tehnologie bipolar atunci
curentul de ieire al sursei de semnal x crete proporional cu numrul de intrri
conectate mpreun. Dac poarta este realizat ntr-o tehnologie MOS atunci
ncrcarea capacitiv a sursei de comand x crete proporional cu numrul de
intrri conectate mpreun; de asemenea, acest numr influeneaz tensiunea de
312
313
314
315
316
317
Ck
=
C1
(4.33)
(4.34)
(4.35)
Introducnd kopt n relaia 4.33 rezult opt = e (2,718...). n general, kopt nu este
un numr ntreg; se alege pentru k valoarea ntreag cea mai apropiat de kopt.
4.5.4 Deconectarea parial a tensiunilor de alimentare
Sistemele digitale mari pot fi proiectate astfel nct pe diferite intervale
de timp unele subsisteme s se afle n regim normal de operare iar altele s fie
n repaus. Starea de repaus a unui bloc logic se obine fie prin deconectarea
tensiunii de alimentare a blocului, fie prin reducerea acesteia la valori mici. De
obicei se trec n repaus acele pri ale sistemului care temporar nu sunt
necesare. De exemplu, sistemele auto-reparabile conin copii de rezerv pentru
unele blocuri (subsisteme); toate rezervele sunt inute n repaus pn cnd se
detecteaz erori n funcionarea unui bloc titular, moment n care acesta din
318
Figura 4.86
319
Figura 4.87
Nivelul HIGH la ieirea blocului B1 polarizez direct dioda de protecie D1 i
alimenteaz blocul B3 cu tensiunea V1 - VD1(on). Pe de o parte funcionarea
blocului B1 este perturbat datorit ncrcrii excesive iar pe de alt parte dioda
D1 se poate distruge prin depirea curentului direct maxim admis (. 10 mA).
n fig.4.88 este desenat o reea de protecie modificat, care izoleaz B3 de B1
320
321
inversoarelor au valori relativ mici iar nivelele logice VOL i VOH sunt dou
tensiuni constante, nu neaprat egale cu 0V i respectiv cu +VDD;
- timpii de propagare ai inversoarelor sunt mult mai mici dect perioada T a
tensiunilor v1, v2, v;
- tensiunile de tranziie sau de comutare ale celor dou inversoare sunt Vtr1 i
Vtr2.
(4.36)
(4.37)
322
t1 = RC ln
(4.38)
t 2 = RC ln
(4.39)
Figura 4.91
De obicei, oscilatoarele se construiesc cu circuite logice speciale numite
triggere Schmitt. Simbolul grafic i caracteristica ideal de transfer n tensiune
ale unui trigger Schmitt inversor sunt desenate n fig.4.92.
323
(4.41)
t1 = RC ln
VOH Vtr
VOH Vtr +
(4.42)
t 2 = RC ln
Vtr + VOL
Vtr VOL
(4.43)
324
VE =
1,8V ; (4.44)
1
1
1
R1
R2
+
+
R1 R 2 R 3
325
(4.47)
(4.48)
326
(4.49)
Ecuaia 4.49 este valabil ct timp VB # Vin + VDD /3, adic pn ce tensiunea de
intrare, n scdere, atinge valoarea 4VDD /9; n acel moment tensiunea n nodul
B devine 7VDD /9 iar tranzistorul M4 se afl la limita intrrii n conducie.
Depirea pragului 4VDD /9 de ctre Vin determin conducia n saturaie a
tranzistorului M4, creterea brusc a tensiunii de ieire peste valoarea VDD /2,
blocarea lui M6, intrarea n conducie a tranzistorului M1 i blocarea lui M3.
Nodul de ieire se conecteaz la VDD prin M4-M5.
Tensiunile de tranziie ale circuitului sunt Vtr+ = 5VDD /9 i Vtr- = 4VDD /9 iar
tensiunea de histerezis are valoarea VDD /9.
Tensiunile de tranziie ale circuitului din fig.4.96 depind de tensiunile de
prag i de dimensiunile tranzistoarelor.
Dac VTn = *VTp* = VT i W2 = W3 = 4W1 , W4 = W5 = 4W6, W6 = 3,5W1 atunci se
obin pragurile
Vtr+ = (VDD + 2VT)/3 i Vtr- = (2VDD - 2VT)/3.
(4.50)
327
Figura 4.97
Dac VTn = *VTp* = VT i W2 = W3 = W1 , W4 = W5 = W6, W6 = 3,5W1 atunci se
obin pragurile
Vtr+ = (VDD + VT)/2 i Vtr- = (VDD - VT)/2.
(4.51)
Figura 4.98
Dimensiunile tranzistoarelor din schema desenat n fig.4.96 au o
influen mai mare asupra tensiunilor Vtr- i Vtr+ dect cea pe care o au tensiunile
328
de prag VTn i VTp. Acest lucru constituie un avantaj din punct de vedere practic,
deoarece modificarea tensiunilor de prag ale unor tranzistoare dintr-un circuit
CMOS complic procesul tehnologic.
Un simplu inversor CMOS (fig.4.49) cu sarcin capacitiv poate fi utilizat
ca trigger Schmitt. Pentru aceasta trebuie ndeplinit condiia
VTn + *VTp* > VDD.
(4.52)
Pragurile triggerului au valorile Vtr+ = VTn i Vtr- = VDD - *VTp*. Cnd tensiunea
de intrare a inversorului are o valoare cuprins n intervalul (Vtr- , Vtr+), ambele
tranzistoare se blocheaz; nivelul logic la ieire este pstrat de capacitatea de
sarcin a inversorului, la fel ca n funcionarea circuitelor dinamice.
Triggerele Schmitt pot fi utilizate ca celule de memorie. Ct timp
tensiunea de intrare se menine ntre pragurile Vtr- i Vtr+ , tensiunea de ieire nu
se modific; n cazul unui trigger neinversor nivelul logic la ieire este H sau
L dup cum ultima revenire a tensiunii de intrare n gama (Vtr- , Vtr+) s-a fcut
prin descretere, respectiv prin cretere. Controlul informaiei, adic
nscrierea, tergerea i memorarea se realizeaz cu ajutorul tensiunii de intrare
dup cum se arat n diagrama din fig.4.99.
329
330
331
332
333
334
16(Vin - VT)Vout - 8Vout2 = (VDD - Vout - VT)2 Y Vin 0,56Vout + 1,15/Vout + 0,16.
Caracteristica static de transfer n tensiune este desenat n figura de mai jos.
Re z o l v a r e:
Grupnd zerourile funciei, se obine expresia produs de sume cu cost minim
f = (b + d
)(b
+ c + d)(a + b
+ c),
care se poate rescrie n forma
f = bd + bc d
+a
bc = bd + b(c d
+a
c).
Structura unui circuit care implementeaz funcia f i funcia complementar
f = (b + d
)(b
+ c + d)(a + b
+ c) = (b + d
)[b
+ (c + d)(a + c)]
n sunt
este reprezentat n figura urmtoare. Reelele de tranzistoare Bn i B
complementare din punct de vedere funcional dar i din punct de vedere
structural; reeaua B
n se deduce din Bn cu ajutorul dualismului serie-paralel i
335
+ b(cd + ac).
f = (b + d)(b
+c+d
)(a
+b
+ c) = b
d
+a
c); pot fi utilizate n comun
Aceast expresie se aseamn cu f = bd + b(c d
336
de ctre blocurile Bn i B
n 4 tranzistoare nMOS, dup cum se arat n figura
urmtoare, iar circuitul conine numai 10 tranzistoare nMOS.
R e z o l v a r e:
a) Aceast schem este una tipic de oscilator cu trigger Schmitt (vezi
fig.4.93). n regim normal de funcionare tensiunea de intrare Vin crete pn la
337
Vin 0,1
R1 .
4,3 Vin
n aceast relaie tensiunea de intrare Vin are valori n intervalul [1,1V; 1,4V].
Situaia cea mai defavorabil descrcrii condensatorului C apare cnd Vin =
1,1V; nlocuind aceast valoare n condiia de mai sus se obine Rmax < 952.
b) Cnd condensatorul C se ncarc, tranzistorul Q7 funcioneaz n saturaie.
Dac Q7 ar opera n regim activ normal atunci
I7 (VCC - VBE7(on) - VD3(on) - Vin)/R = (3,6V - Vin)/R,
VBC7 R9I7 = (3,6V - Vin )R9/R > 0,73V Y saturaie.
Condensatorul se ncarc de la valoarea iniial 1,1V ctre valoarea final 4,3V
prin R1**(R9 + R) = 460 (s-a neglijat tensiunea VCE7(sat) i curentul de baz al
tranzistorului Q7), cu constanta de timp = 460100nF = 46s:
Vin ( t ) = 4,3 + (11
, 4,3)e t / = 4,3 3,2e t / .
338
339
340
341
R e z o l v a r e:
Tensiunea din nodul A depinde de tensiunea de intrare Vin i de tensiunea din
nodul B, n conformitate cu relaia:
VA =
R2
R1
Vin +
VB .
R1 + R 2
R1 + R 2
Dac R1 + R2 are valori suficient de mari atunci, pentru orice valoare a tensiunii
de intrare, tensiunea VB are fie nivelul LOW 0V fie nivelul HIGH VDD.
Aplicnd la intrarea circuitului o tensiune suficient de mic (eventual negativ),
n nodurile A i B se obin tensiunile VA < Vtr1 i VB 0 iar Vout = VDD; Vtr1 este
tensiunea de comutare sau de tranziie a inversorului 1. n aceast situaie
VA =
R2
Vin .
R1 + R 2
Vtr + = (1 +
R1
) Vtr1 .
R2
VA = Vtr1 +
R1
VDD .
R1 + R 2
342
Vtr1 =
R2
R1
R
Vtr +
VDD Y Vtr = Vtr + 1 VDD .
R1 + R 2
R1 + R 2
R2
VA = Vtr1
R1
VDD .
R1 + R 2
R1
VDD , atunci tensiunea de prag Vtr- are o valoare negativ.
R1 + R 2
343
Vtr = Vtr1
R1
VDD .
R2
R e z o l v a r e:
Circuitul este format din dou astabile. Tensiunea periodic v1 generat de
astabilul compus din inversoarele 1 i 2 reprezint comanda de autorizare
pentru astabilul realizat cu porile 3 i 4. Factorul de umplere i perioada
tensiunii dreptunghiulare v1, calculate cu ajutorul relaiilor 4.38-4.39, sunt 1 =
1/2 i respectiv T1 = 2R1C1ln3. Autorizarea i blocarea astabilului care
genereaz tensiunea Vout se realizeaz alternativ, pe intervale de timp egale cu
344
345
Revenirea circuitului napoi n starea stabil are loc atunci cnd v atinge
valoarea Vtr1. Durata strii instabile nu depinde de durata impulsului de
346
347
348
3 W
1 W
K ' (VDD VT ) 2 , I B = K ' (VDD VT ) 2 .
L
8
L
2
5V 2 VT
1
.
DD
3K ' (W / L ) (VDD VT ) 2
349
350
Rezult tpLH = tpHL1 + tpLH3 18,3ns, tpHL = tpLH1 + tpHL3 10,2ns, tp = 14,25ns.
Prin eliminarea inversorului 2 s-a obinut o cretere nesemnificativ a timpului
de propagare tp, de la 14ns la 14,25ns.
351
352
b) Oscilaiile din tensiunea de comand Vin, care apar imediat dup ce au loc
tranziiile LYH i HYL, sunt nedorite; aceste oscilaii pot s fie filtrate cu
ajutorul unui inversor de tip trigger Schmitt. Cunoscnd amplitudinea
oscilaiilor, s se precizeze valorile pragurilor triggerului astfel nct rspunsul
acestuia s nu conin erori.
353
354
355
356
Figura 5.2
357
Figura 5.3
Circuitul combinaional din fig.5.3a are 7 intrri primare i 5 ieiri primare;
acestea din urm sunt funcii logice care depind de variabilele indicate n
paranteze. Testarea exhaustiv a circuitului se realizeaz cu 27 = 128 teste. Un
set de teste T este pseudo-exhaustiv dac conine subseturile TF, TG, TH, TK i TP,
nu neaprat disjuncte, care s stimuleze exhaustiv funciile F, G, H, K i
respectiv P. Ca i n exemplul anterior, trebuie identificate grupurile de intrri
care pot fi conectate mpreun pe durata testrii. Dou variabile de intrare nu
pot fi substituite printr-un acelai semnal de test dac exist cel puin o ieire
care depinde de acestea. De exemplu, dac intrrile b i d ar fi legate mpreun
358
359
Soluiile ecuaiei w modulo 2 = 1 sunt w = 1, 3 iar setul care conine testele xyzg
cu aceste grade este T1 = {0001, 0010, 0100, 1000, 0111, 1011, 1101, 1110}.
Se poate verifica faptul c ambele mulimi de teste T0 i T1 acoper subspaiile
vectoriale xyz, xyg, xzg i respectiv yzg. Circuitul din fig.5.3 poate fi testat
pseudo-exhaustiv utiliznd fie setul T0 fie setul T1.
Testarea pseudo-exhaustiv este foarte potrivit pentru circuitele care au
o structur obinut prin interconectarea dup aceleai reguli a unor celule
identice; din aceast categorie de circuite fac parte sumatoarele/scztoarele cu
transport/mprumut succesiv i multiplicatoarele combinaionale.
Un sumator cu transport succesiv poate fi testat pseudo-exhaustiv cu numai 8
teste, indiferent de numrul de celule elementare. Fr a pierde din generalitate,
s-a considerat un numr par de celule n. Testele sunt indicate n fig.5.4.
360
Un test reprezint o combinaie de n+1 bii, t = c0 x0 y0 x1 y1 ... xn-1 yn-1. Testele t1,
t2 i t3 stimuleaz toate sumatoarele elementare, n paralel, cu 3 din cele 8
combinaii de intrare, anume 000, 001 i respectiv 010; n fiecare din aceste
teste transporturile dintre celule au valoarea 0. Testele t4 i t5 stimuleaz celulele
din rangurile pare cu 011 i respectiv cu 100 iar pe cele din rangurile impare cu
100 i respectiv 011. Testele t6, t7 i t8 stimuleaz toate celulele, n paralel, cu
combinaiile 101, 110 i respectiv 111; n fiecare din aceste 3 teste
transporturile dintre celule au valoarea 1.
Determinarea unui set de teste pseudo-exhaustiv implic un efort de calcul
relativ mic i se bazeaz pe modele funcionale ale circuitelor; sunt necesare
ns i unele detalii structurale. Nivelul de ncredere n rezultatul testrii este n
general mare dar nu poate fi apreciat cantitativ. Aceast evaluare poate fi fcut
numai dup sinteza logic, adic dup determinarea structurii la nivel de poart
logic sau la nivel de tranzistor.
361
Figura 5.5
Pe fiecare conexiune se pot defini dou defecte de tip stuck-at, de
exemplu g stuck-at-0 i g stuck-at-1; aceste defecte logice pot fi notate mai
simplu g0 i respectiv g1. Defectele logice stuck-at-0 i stuck-at-1 de pe aceeai
conexiune reprezint efecte ale unor defecte fizice diferite ntre ele i nu pot s
apar simultan n circuit. Unele defecte fizice pot fi modelate printr-un singur
defect logic de tip stuck-at sau printr-un defect stuck-at multiplu, compus din
dou sau din mai multe conexiuni blocate simultan la valori logice valide. Nu
orice defect fizic poate fi reprezentat printr-un defect stuck-at. Altfel spus, acest
model de defect logic acoper numai o parte dintre defectele fizice posibile. Un
defect stuck-at transform un circuit combinaional ntr-un alt circuit, tot
combinaional. Astfel, dac n circuitul din fig.5.5 este prezent defectul g0
atunci funcia logic F se modific, deoarece nu mai depinde de variabilele b
i c, dar rmne o funcie combinaional. Funcia realizat la ieirea G nu este
sensibil la defectul g0 i nu se modific deoarece n circuitul fr defecte,
numit n continuare i circuit bun, G nu depinde de intrrile b i c.
Defectele stuck-at sunt independente de tehnologia de fabricaie. ntr-un circuit
combinaional n care exist n conexiuni se pot defini 2n defecte stuck-at
singulare. Numrul defectelor stuck-at multiple este considerabil mai mare i
362
se calculeaz cu formula:
2 2 Cn2 + 2 3 Cn3 + 2 4 Cn4 + ...+ 2 n Cnn = 3n 2n 1
(5.2)
363
364
365
366
367
368
369
370
371
372
W(X, Y)
pseudo-NMOS
CMOS standard
0 1 1 0 0
0,8VDD (X = 0/1)
0 1 1 0 1
0,66VDD (X = 0/1)
0 1 1 1 0
0,66VDD (X = 0/1)
1 0 0 0 0
1 0 0 0 1
0,5VDD
1 0 0 1 0
0,5VDD
1 0 1 0 0
1 0 1 0 1
0,5VDD
1 0 1 1 0
0,5VDD
1 1 0 0 0
1 1 0 0 1
0,5VDD
1 1 0 1 0
0,5VDD
1 1 1 0 0
0,57VDD
1 1 1 0 1
0,4VDD
1 1 1 1 0
0,4VDD
0 0 0 1 1
0,57VDD
0 0 1 1 1
0,5VDD
0 1 0 1 1
0,5VDD
0,66VDD (X = 0/1)
0,66VDD (X = 0/1)
0,66VDD (X = 0/1)
Figura 5.14
Valorile nespecificate, marcate n tabel cu semnul ?, depind de rapoartele
R/RX, R/RY i pot s depeasc limita superioar a nivelului LOW, adic
tensiunea de prag VTn.
373
374
Figura 5.16
Activarea unui tranzistor stuck-on (tranzistor stuck-off) se realizeaz prin
aplicarea unei tensiuni de gril cu nivelul logic care determin, n mod normal,
blocarea (conducia). Prin activarea unui tranzistor defect nu se obine n mod
necesar o eroare logic.
n circuitul din fig.5.16a se pot defini 4 defecte de tip tranzistor stuck-on
i 5 defecte de tip tranzistor stuck-off.
Fie defectul M3 stuck-on; activarea acestuia se realizeaz prin atribuirea c = 0,
nivel logic care determin n mod normal blocarea tranzistorului M3. Dac se
aplic a = 0, b = 1 i d = 0 atunci se genereaz eroarea logic f = 1/0. Pentru
detecia defectului este necesar propagarea erorii de pe conexiunea f la cel
puin una dintre ieirile primare.
Fie defectul M2 stuck-off; acesta se activeaz cu b = 1. Pentru a obine o eroare
logic, f = 0/1, sunt necesare condiiile a = 0 i c + d = 1.
Detecia defectului M5 stuck-off se realizeaz cu o secven format din dou
teste (t1, t2) i se bazeaz pe capacitatea (parazit) intrinsec a nodului f, care nu
a fost reprezentat explicit n fig.5.16. Primul test t1 este un test de iniializare
i trebuie s produc descrcarea nodului f, adic a = 1 sau bc = 1 sau bd = 1.
Al doilea test t2 trebuie s ntrerup toate cile de la f la VSS (mas), ceea ce
375
376
377
d) Cile critice determinate de testul abc = 101 sunt trasate n figura urmtoare.
Sunt detectate conexiunile blocate a0, b1, c0, e0, f1, h1, i0, k0, m1, n1, Z0 i
scurtcircuitele OR (a, b), (a, h), (a, m), (a, n), (b, c), (b, l), (c, h), (c, m), (c, n),
(i, h), (i, m), (i, n), (l, h), (l, m), (l, n); acestea din urm sunt identificate cu
ajutorul teoremelor 5.3, 5.4 i 5.5.
R e z o l v a r e:
Testele t1, t2 determin, n absena defectelor, valorile logice indicate n figura
urmtoare. Testul t1 nu detecteaz defectul AND(a, f) deoarece nu l activeaz.
378
R e z o l v a r e:
Defectul AND(a, g) este de tip feedback. Deoarece n circuitul bun a = 0
implic g = 0, activarea scurtcircuitului se poate face numai cu a = 1 i g = 0;
eroarea 1/0 produs n acest caz pe conexiunea a nu se poate propaga ns la
ieirea F. Rezult c AND(a, g) nu poate fi detectat cu un singur test, ci cu o
secven format din cel puin dou teste.
Primul test trebuie s determine valoarea dominant 0 pe conexiunea g; soluiile
sunt t1 = 0ttt, t1tt sau tt1t (simbolul t are semnificaie de valoare
logic indiferent iar variabilele de intrare sunt considerate n ordinea a, b, c,
d). Bucla de reacie pozitiv format de scurtcircuitul AND(a, g), n care sunt
incluse porile 2 i 3, memoreaz valorile e = 1 i g = 0; acestea se menin n
circuitul defect indiferent ce valori logice se aplic n continuare la intrrile a,
b, c, d i ca urmare rezult F / 0.
Al doilea test trebuie s determine la ieirea circuitului bun valoarea logic 1;
soluia este t2 = 1001. Pe durata testului t2 se obine F = 1/0.
Valorile logice memorate, dup aplicarea testului t1, pe bucla de reacie cauzat
de scurtcircuit pot fi terse numai prin deconectarea tensiunii de alimentare
a circuitului.
379
G2
G4
380
G2
G4
381
R e z o l v a r e:
Pe cele 15 conexiuni ale circuitului se pot defini 30 de defecte stuck-at
singulare. Indiferent ce valori logice se aplic la intrrile a, b, c, d, e, f, g i h,
toate intrrile n porile XOR sunt sensilbile; rezult c toate conexiunile acestui
circuit sunt critice. Un set de teste complet se construiete n acest caz prin
selectarea unui numr ct mai mic de combinaii de 8 bii care, fiind aplicate la
intrrile circuitului, s pun fiecare conexiune cel puin o dat la valoarea logic
0 i cel puin o dat la valoarea 1 (n absena defectelor).
Testul t1 = 00000000 (abcdefgh) pune toate conexiunile circuitului la valoarea
logic 0 i detecteaz la ieirea Z toate defectele stuck-at-1 singulare.
Testul t2 = 11100111 detecteaz 10 din cele 15 defecte singulare stuck-at-0 i
anume a0, b0, c0, f0, g0, h0, j0, k0, m0 i n0. Testul t3 = 10011101 detecteaz
defectele stuck-at-0 singulare nedetectate de t2, adic d0, e0, i0, l0 i Z0.
Setul de teste T = {t1, t2, t3} acoper toate defectele stuck-at singulare din
structura detectorului de paritate. Soluia nu este unic; de exemplu, se pot
alege testele t2 = 10111101 i t3 = 01010111 pentru a pune fiecare conexiune
din circuitul fr defecte la valoarea logic 1, cel puin o dat.
382
R e z o l v a r e:
n figura urmtoare sunt reprezentate prin ntreruptoare nchise sau deschise
tranzistoarele din circuitul fr defecte, comandate n conducie i respectiv n
blocare de ctre testele t1 i t2.
383
384
385
386
387
INDEX
A
activarea defectelor 362
algebr logic 8
algoritmul Booth 194
ALU (arithmetic-logic unit) 183
AOI (AND-OR-INVERT) 257, 285
astabil 320
B
baze de numeraie 26
BiCMOS 305
bridging fault 360
buffer 298, 314
burn-in 354
C
cale de propagare fals 176
circuit iredundant 380
CMOS cu trei stri 298
CMOS dinamic 303
CMOS standard 295
CMOS static 288
cod binar natural 28
cod Gray 41
codificator de adres 147
codificator de adres cu prioritate 147
coduri BCD 37
coduri complementare 29, 38
comparator 159
conexiune critic 363
convertoare de cod 143
388
Index
D
DCVSL (differential cascode voltage switch logic) 300
decodificator BCD-zecimal 151
decodificator BCD-7 segmente 152
decodificator Booth 199, 202
decodificator de adres 149
defect redundant 380
detecia defectelor 362, 367, 369, 374
diagram de decizie binar 20
DTL (diode transistor logic) 247
E
ECL (emitter-coupled logic) 267, 268, 271
expandare 150, 154, 155, 161, 171, 172
expresii logice 11
F
fan-out 73
forme canonice ale funciilor logice 13
funcii duale 12
G
generator de produse pariale 194, 203, 211
generator/detector de paritate 156
grupare redundant 86
H
hazardul circuitelor combinaionale 109
histerezis 322
I
idempoten 9
IIL (integrated-injection logic) 273, 275
implementarea funciilor logice 74
inel de gard 313
interfaare CMOS-ECL 310
interfaare ECL-CMOS 309, 310
involuie 10
ISL (integrated-Shottky logic) 277
mprumut 163
mprumut succesiv 167
L
latch-up 315
legile lui De Morgan 10
logic domino 302
M
margine de zgomot 244
maxtermen 13
minimizarea funciilor logice 79
Karnaugh 81
Quine-McCluskey 91
minimizarea sistemelor de funcii 100
mintermen 13
multiplicator Booth 201, 204, 206
multiplicator combinaional 186
MUX/DEMUX 153
N
nivel logic activ/inactiv 147
NMOS dinamic 286
NMOS static 280
O
OAI (OR-AND-INVERT) 285
operaii logice
AND, OR, NOT 8
XOR, XNOR 17
P
poart de transmisie 71, 283, 293
pori logice 69
principiul dualitii 11
pseudo-NMOS 299
389
390
Index
R
routing 76
RTL (rezistor-transistor logic) 246
S
scalarea circuitelor MOS 278
scztor elementar 164
shifter 158
semisumator elementar 185
simularea defectelor 363
sumator BCD 180
sumator elementar 162
surse de zgomot 244
stuck-at fault 360
T
tabel de adevr 14
tensiune de comutare 289
testare 354
testare exhaustiv 355
testare pseudo-exhaustiv 356
timp de propagare 72
timpi de tranziie 72
transport anticipat 169
transport n salt 174
transport selectat 176
transport succesiv 167
tranzistor stuck-on 360, 374
tranzistor stuck-off 360, 374
trigger Schmitt 322
TTL (transistor-transistor logic) 251, 256, 258, 260, 261, 262, 264, 266, 267
V
valoare logic
LOW, HIGH 8
indiferent 18
W
WAND (wired-AND) 250
WOR (wired-OR) 269
391
BIBLIOGRAFIE
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]