Documente Academic
Documente Profesional
Documente Cultură
Sinteza clasică a
SLC
specificatii
verificare
proiectare
verificare
implementare
testare
integrare
testare
mentenanta
E3. Se alege metoda de implementare.
E4. În funcție de metoda de implementare aleasă vor fi prelucrate
acesta este direct proporțional cu numărul de intrări ale porții logice adică:
PCp=k·i
unde
i – numărul de intrări în poarta logică;
k – prețul pe o intrare a porții logice.
Acceptând pentru simplitate că toate porțile logice au acelați preț de cost mediu
pe intrare, prețul de cost al unei scheme S realizată cu porți logice poate fi calculat
cu relația:
PC(S) =
unde
i - numărul de intrări pe o poartă;
ni – numărul porților cu i intrări.
Vom numi acoperire minimă orice formă booleană cu preț de cost minim atațată
unei funcții de comutație date.
Exemplu: Se consideră funcț
ia f(x,y,z) =
ț (0,1,5,7)
După cum se țtie, această funcție poate fi reprezentată prin forma canonică
normal disjunctivă:
f(x, y, z) = x y z + x yz + x yz + xyz
Prețul de cost al acestei forme este PC1(f) = 3·1+4·3+1·4 = 19
Aplicând axiomele ți teoremele algebrei booleene asupra formei canonice de mai
sus, rezultă
f * (x, y, z) = x y(z + z) + xz( y + y) = x y + xz
Se observă că pentru această formă PC2(f*) = 2·1+3·2 = 8.
Deoarece ultima formă obținută nu mai poate fi redusă, rezultă că PC2 este
valoarea minimă pentru formele minime normal disjunctive atațate funcției f, deci
f* este acoperirea minimă normal disjunctivă pentru funcția dată.
2010 Proiectarea sistemelor digitale 7
Acoperire minimă
Determinarea acoperirilor minime se poate realiza pe două căi:
Prin simplificarea formelor booleene cu ajutorul axiomelor ți teoremelor
algebrei booleene.
Prin minimizarea funcț iilor de comutaț ie folosind metode specifice de
reducere a complexității.
u
y x
z 00 01 11 10
00 a|b - - ab
01 1 - 0 0
11 0 1 0 0
10 0 0 1 0
unde
u,x,y,z – variabile libere;
a,b – variabile țnglobate.
01 - 0 0 0
11 - - - 0
10 1 0 1 1
x x x
x3 1x2 x3 1x2 x3 1x2
x4 00 01 11 10 x4 00 01 11 10 x4 00 01 11 10
00 1 1 1 1 00 1 1 - - 00 - 1 1
01 1 1 01 - - 01 - -
11 11 11
10 1 - 1 10 - 10 -
P5
Se reface diagrama KV înlocuind fiecare 1 din suprafeţele deja
decodificate cu -.
P6
Se formează toate suprafeţele elementare admise care conţin 1 ori - (cel
puţin un 1) şi se reia algoritmul de la pasul P3. Dacă nu se mai poate forma nici o
suprafaţă elementară (nu mai există nici un 1 în diagramă), se trece la pasul P8.
P7
Se caută suprafeţele dominate şi, dacă nu sunt geometric mai mari decât
suprafaţa dominantă, se elimină din diagramă. Din două suprafeţe logic egale, se
reţine una singură (cea mai mare geometric dacă au dimensiuni diferite). Se reface
diagrama din care sunt excluse suprafeţele eliminate şi se reia algoritmul de la P3.
dacă pe conturul suprafeţei analizate variabila are numai valoarea 1, variabila apare
în formă directă în termenul corespunzător suprafeţei;
dacă pe conturul suprafeţei analizate variabila are numai valoarea 0, variabila apare
în formă complementată în termenul corespunzător suprafeţei;
dacă pe conturul suprafeţei variabila are atât valoarea 0 cât şi valoarea 1, variabila
dispare din termenul corespunzător suprafeţei.
u x y z f
0 0 0 0 1
0 0 0 1 x
0 0 1 0 1
0 0 1 1 x
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 x
1 0 0 0 1
1 0 0 1 0
1 0 1 0 1 u
y x
1 0 1 1 0 z 00 01 11 10
1 1 0 0 1 00 1 1 1 1
1 1 0 1 0 01 - 0 0 0
1 1 1 0 1 11 - - - 0
1 1 1 1 x 10 1 0 1 1
y
u yz y
u
y
u
x x x
z 00 01 11 10 z 00 01 11 10 z 00 01 11 10
00 1 1* 1 1 00 - - - - 00 - - - -
01 - 01 - 01 -
uz xz
11 - - - 11 - - - - 11 - - - -
10 1 1* 1 10 1 - - 10 1* - -
f(u, x, y, z) = yz + u z + x z
f(u, x, y, z) = y z + u z + u x
proprietăți:
idempotența AțA=A (3)
(x + A)(x + A) = A
absorbția (4)
P1 Pornind de la tabelul de adevăr sau de la o reprezentare canonică a funcţiei,
se alege diagrama KV corespunzătoare ca număr de variabile şi se
completează cu valorile 0 şi -.
P9 STOP
Exemplu:
u z
y x
z 00 01 11 10
00 1 1* 1 1
01 - 0* 0* 0*
11 - - - 0* u+x+y
10 1 0* 1* 1
f(u, x, y, z) = z(u + x + y)
0 0 0 0 0 0 1 a|b 1 0 0 0 0 0 0 ab
0 0 0 0 0 1 1 1 0 0 0 0 1 0
0 0 0 0 1 0 1 1 0 0 0 1 0 0
0 0 0 0 1 1 0 1 0 0 0 1 1 1
0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0
0 0 0 1 0 1 1 1 0 0 1 0 1 0
0 0 0 1 1 0 1 1 0 0 1 1 0 0
0 0 0 1 1 1 1 1 0 0 1 1 1 0
0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0
0 0 1 0 0 1 0 1 0 1 0 0 1 0
0 0 1 0 1 0 0 1 0 1 0 1 0 0
0 0 1 0 1 1 0 1 0 1 0 1 1 0
0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0
0 0 1 1 0 1 0 1 0 1 1 0 1 0
0 0 1 1 1 0 0 1 0 1 1 1 0 0
0 0 1 1 1 1 0 1 0 1 1 1 1 0
0 1 0 0 0 0 - - 1 1 0 0 0 0 - -
0 1 0 0 0 1 - 1 1 0 0 0 1 -
0 1 0 0 1 0 - 1 1 0 0 1 0 -
0 1 0 0 1 1 - 1 1 0 0 1 1 -
0 1 0 1 0 0 - - 1 1 0 1 0 0 0 0
0 1 0 1 0 1 - 1 1 0 1 0 1 0
0 1 0 1 1 0 - 1 1 0 1 1 0 0
0 1 0 1 1 1 - 1 1 0 1 1 1 0
0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 1
0 1 1 0 0 1 0 1 1 1 0 0 1 1
0 1 1 0 1 0 0 1 1 1 0 1 0 1
0 1 1 0 1 1 0 1 1 1 0 1 1 1
0 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0
0 1 1 1 0 1 1 1 1 1 1 0 1 0
0 2010
1 1 1 1 Proiectarea
0 1 sistemelor digitale
1 1 1 1 1 0 0 2 6 26
0 1 1 1 1 1 1 1 1 1 1 1 1 0
Minimizarea cu diagrame VEM
u x y z f
0 0 0 0 a|b
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 -
u
y x
0 1 0 1 -
z 00 01 11 10
0 1 1 0 0 00 a|b - - ab
01 1 - 0 0
0 1 1 1 1 11 0 1 0 0
10 0 0 1 0
1 0 0 0 ab
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 -
1 1 0 1 0
Rezu
ltă f1 = u yz + uxz + ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y uy(a|b) uyz(ab)
x
z 00 01 11 10
00 a|b - - ab
01 - - 0 0
11 0 - 0 0
10 0 0 - 0
Se bazeazǎ pe forma care descrie relaț ia intrare-iețire a unui multiplexor MUX 2n:
unde:
m i= Sb Sb
n −1 n −2
... S 1b1 S b0i=
0
0 ÷ (n − 1)
n −1 n−2
I0 I1 I2 I3 I4 I5 I6 I7
x1 S2
x2 S1 MUX 8
x3 S0
Y Y
f f
Cel mai simplu este sǎ utilizǎm pentru sintezǎ diagramele VEM țn care variabilele
de selecție sunt variabile libere iar variabilele reziduale devin variabile țnglobate.
Fiecare pǎtrat al diagramei VEM corespunde intrǎrii de date cu acelați indice zecimal.
Complexitatea soluției este de obicei puternic dependentǎ de modul de alegere al
variabilelor de selecție.
11 0 0 1 1 1 3
1 y|z z
10 1 1 0 0
Varianta 2 Se aleg ca variabile de selecție variabilele u ți y. Rezultǎ imediat I0=1 I1= ți
z
I2=I3=z.
u 0 1
y 0 2
0 1 z
1 3
1 z z
decodificatoare
m0 m1 ... mL-1
m0 m1 ... mL-1
mk1 mk2 ... mkp mk1 mk2 ... mkp
f=mk1+mk2+…+mkp
f=mk1+mk2+…+mkp
16 16 16 16
4 m0
4 m1
4 m2
4
m3
4 m4
4 m5
4 m6
4 m7
4 m8
4 m9
4 m 10
4 m 11
4 m 12
4 m 13
4 m 14
4 m 15
O0 O1 O2 O3
f1 f2 f3 f4
n
O0 f0
x0 -xn-1 A0-An-1
.
MEM
.
.
Ok-1 f k-1
O0 j0/g0
b0 j0/g0 b0 A0
O1 j1/g1
j1/g1 b1 A1 O2 j2/g2
b1
j2/g2 b2 A2 O3 j3/g3
O4 j4/ NC
b2 j3/g3 b3 A3
O5 NC
b3 j4/NC J#/G A4 O6 NC
O7 ERR#
J#/G CE
ERR#
CS E
x0 A0 O0 I0
x1 A1 O1 I1
O2 I2
x2 A2 MEM O 3 I3 MUX Y f
x3 A3 O4 I4 Y# f
O5 I5
x4 A4 O6 I6
O7 I7 S2 S1 S0
x6 x5 x4