Sunteți pe pagina 1din 48

Capitolul 2

Sinteza clasică a
SLC

2010 Proiectarea sistemelor digitale 1


Tematica
ØEtapele sintezei clasice a SLC
ØMinimizarea funcț iilor de comutaț ie
folosind diagramele KV
ØMinimizarea funcț iilor de comutaț ie
folosind diagramele VEM
ØSinteza cu ajutorul multiplexoarelor şi
decodificatoarelor
ØSinteza cu ajutorul memoriilor

2010 Proiectarea sistemelor digitale 2


Modelul cascadă al ciclului de viaț ă al
proiectelor
Actualizare cerinte

Analiza cerintelor verificare


verificare

specificatii
verificare

proiectare
verificare

implementare
testare

integrare
testare

mentenanta

2010 Proiectarea sistemelor digitale 3


Etapele sintezei clasice
 E1 Pornind de la descrierea verbală (neformalizată) a funcțiilor realizate de
schema sintetizată, se generează schema bloc a acesteia. Schema bloc permite
crearea unei imagini mai clare asupra schemei sintetizate punând în evidență
toate comenzile externe ț i ieț irile din schemă. Fiecare semnal are un nume
(mnemonic) care să sugereze cât mai clar semnificația semnalului. Pentru
toate semnalele se va preciza grafic ți prin convenții legate de nume logica
de activare a semnalului.

E2. Se descriu printr-una dintre metodele cunoscute (vezi BPLC capitolele 3


ți 4) funcțiile aferente semnalelor de iețire. Tabelele de adevăr sunt


utilizate doar pentru funcții dependente de un număr mic de variabile (cel mult
4-5 variabile). Pentru funcții cu un număr mai mare de variabile se pot utiliza
reprezentări simbolice disjunctive sau conjunctive dar în unele situații
funcțiile se reprezintă direct prin forme logice necanonice.



E3. Se alege metoda de implementare.
E4. În funcție de metoda de implementare aleasă vor fi prelucrate

funcțiile deduse în etapa E2 cu scopul de a obține o implementare cu


complexitate cât mai mică.

2010 Proiectarea sistemelor digitale 4


Etapele sintezei clasice
E5. Se analizează schema în ipoteza lipsei întârzierilor, cu scopul de a

verifica dacă sinteza a fost realizată corect.


 E6. Se aleg din catalog componentele concrete pentru implementare.


E7. Se editează schema ți se verifică funcționarea ei în condiții cât mai


apropiate de cele ale funcționării reale. Simularea permite punerea în


evidență a unor anomalii datorate întârzierilor în propagarea semnalelor. Dacă
anomaliile semnalate se consideră periculoase ți nu pot fi eliminate prin
măsuri directe (de exemplu echilibrarea schemei), se poate relua sinteza de la
etapa E6 sau chiar de la etapa E3.

E8. Se realizează documentația aferentă schemei sintetizate ți se trece la


implementarea prototipului. Dacă testele efectuate pe prototip nu pun în


evidență nici o anomalie, se poate trece la producția de serie. Dacă apar
anomalii ce nu au putut fi dedectate prin simulare, se reia sinteza fie alegând alte
componente pentru implementare fie alegând o altă metodă de sinteză.

2010 Proiectarea sistemelor digitale 5


Preț ul de cost al unei forme logice
Evaluarea prețului de cost al unei porți logice se bazează pe ipoteza că

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.

2010 Proiectarea sistemelor digitale 6


Acoperire minimă
 

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.

Minimizarea funcț iilor de comutaț ie este un proces sistematic pentru


determinarea formelor minime de reprezentare a unei funcții de comutație în
condiții impuse.

Din punctul de vedere al modului de realizare a minimizării, putem distinge


două mari categorii de metode:
Metode grafice (diagrameKV ți diagrame VEM) deosebit de utile pentru
funcții cu un număr mic de variabile, putând fi foarte uțor utilizate de către
om.
Algoritmi de minimizare utilizați în special în proiectarea asistată de
calculator a circuitelor logice.
2010 Proiectarea sistemelor digitale 8
Diagrame KV şi diagrame VEM
Se numețte diagramă KV o reprezentare bidimensională a unui tabel de
adevăr, care respectă noțiunea de vecinătate.

Se spune că două pătrate ale diagramei KV sunt vecine dacă combinațiile


binare ce reprezintă coordonatele celor două pătrate diferă într-o singură
poziție.
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

2010 Proiectarea sistemelor digitale 9


Diagrame KV şi diagrame VEM
Se numeț te diagramă VEM (Variable Embaded Map) o diagramă KV care
conț ine țn pătratele sale atât valori logice cât ți variabile sau expresii logice.

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.

2010 Proiectarea sistemelor digitale 10


Suprafeț e elementare
Se numeşte suprafaţă elementară într-o diagramă KV/VEM, o suprafaţă în
formă de dreptunghi sau pătrat, formată din 2k pătrate vecine.
u
y x 00 01 11 10
z
00 1 1 1 1

01 - 0 0 0

11 - - - 0

10 1 0 1 1

Se spune că două suprafeţe elementare sunt egale geometric dacă, indiferent


de forma lor, au acelaşi număr de pătrate.

Se spune că suprafaţa elementară Si este egală logic cu suprafaţa elementară


Sm dacă ambele suprafeţe, indiferent de forma şi mărimea lor geometrică, conţin
exact aceleaşi valori determinate.

2010 Proiectarea sistemelor digitale 11


Suprafeț e elementare
Se spune că suprafaţa elementară Si domină suprafaţa elementară Sm dacă Si
conţine toate valorile determinate pe care le conţine Sm, dar conţine şi alte valori
determinate. Mărimea şi forma geometrică a celor două suprafeţe nu contează.
Suprafaţa elementară Si se va numi suprafaţă dominantă iar suprafaţa
elementară Sm se va numi suprafaţă dominată.

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 -

2010 Proiectarea sistemelor digitale 12


Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăț i:
idempotența A + A = A (1)
absorbția xA + xA = A (2)

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
1 şi -.
P2 Se formează toate suprafeţele elementare admise, care conţin numai 1 ori - (cel
puţin un 1) şi nu sunt incluse în suprafeţe elementare mai mari.
P3 Se marchează cu un asterisc pătratele care conţin un 1 inclus într-o singură
suprafaţă elementară (aceste pătrate se numesc pătrate 1 remarcabile). Dacă în
diagramă nu există nici un pătrat 1 remarcabil, se trece la pasul P7.

2010 Proiectarea sistemelor digitale 13


Determinarea formelor minime disjunctive
P4
 Se decodifică suprafeţele care conţin cel puţin un pătrat 1 remarcabil.
Termenii corespunzători acestor suprafeţe fac parte obligatoriu din forma minima
disjunctivă a funcţiei.

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.

2010 vProiectarea sistemelor digitale 14


Determinarea formelor minime disjunctive
Dacă nu există suprafeţe dominate sau suprafeţe egale logic care să poată fi
eliminate, pot să apară două situaţii diferite:
Toate suprafeţele elementare sunt egale geometric (cazul ciclic).
În acest caz se alege arbitrar una dintre suprafeţe, ca şi cum ar conţine un pătrat 1
remarcabil, şi se reia algoritmul de la pasul P4.

Suprafeţele nu sunt egale geometric (cazul semiciclic).


În acest caz se alege arbitrar una dintre suprafeţele cele mai mari geometric, ca şi cum ar
conţine un pătrat 1 remarcabil şi se reia algoritmul de la pasul P4.
P8 Se reunesc prin sumă logică toţi termenii obţinuţi în etapele precedente.
Expresia obţinută reprezintă acoperirea minimă disjunctivă a funcţiei.
P9STOP

2010 Proiectarea sistemelor digitale 15


Determinarea formelor minime disjunctive

Procesul de determinare a termenului P corespunzător unei suprafeţe elementare


se numeşte decodificarea suprafeţei elementare.
Fiecărui pătrat care conține un 1 ți corespunde un mintermen cu n variabile.
Fiecărei suprafețe elementare formată din două pătrate vecine ți corespunde
(datorită teoremei de absorbție) un termen P cu n-1 variabile.
Prin generalizare rezultă că fiecărei suprafețe formată corect din 2k pătrate vecine îi
va corespunde un termen P cu n-k variabile.

2010 Proiectarea sistemelor digitale 16


Determinarea formelor minime disjunctive
Termenul P corespunzător unei suprafeţe elementare se poate determina foarte
simplu direct din diagrama KV respectând următoarele reguli:

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.

2010 Proiectarea sistemelor digitale 17


Determinarea formelor minime disjunctive
Exemplu:

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

2010 Proiectarea sistemelor digitale 18


Determinarea formelor minime disjunctive

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

2010 Proiectarea sistemelor digitale 19


Determinarea formelor minime conjunctive
Determinarea formelor minime conjunctive se bazează pe următoarele două

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

 P2 Se formează toate suprafeţele elementare admise, care conţin numai 0 ori -


(cel puţin un 0) şi nu sunt incluse în suprafeţe elementare mai mari.

 P3 Se marchează cu un asterisc pătratele care conţin un 0 inclus într-o singură


suprafaţă elementară (aceste pătrate se numesc pătrate 0 remarcabile).
Dacă în diagramă nu există nici un pătrat 0 remarcabil, se trece la pasul P7.

 P4 Se decodifică suprafeţele care conţin cel puţin un pătrat 0 remarcabil.


Termenii corespunzători acestor suprafeţe fac parte obligatoriu din forma
minimă conjunctivă a funcţiei.
2010
 Proiectarea sistemelor digitale 20
Determinarea formelor minime conjunctive
 P5 Se reface diagrama KV înlocuind fiecare 0 din suprafeţele deja decodificate
cu -.

 P6 Se formează toate suprafeţele elementare admise care conţin 0 ori - (cel


puţin un 0) şi se reia algoritmul de la pasul P3. Dacă nu se mai poate forma
nici o suprafaţă elementară (nu mai există nici un 0 în diagramă), se trece la
pasul P8.

 P7 Se caută suprafeţele dominate şi se elimină din diagramă dacă nu sunt


geometric mai mari decât suprafaţa dominantă. Din două suprafeţe logic
egale se reţine una singură (cea mai mare geometric, dacă au dimensiuni
diferite). Se reface diagrama fără suprafeţele eliminate şi se reia algoritmul de
la P3.

2010 Proiectarea sistemelor digitale 21


Determinarea formelor minime conjunctive
Dacă nu există suprafeţe dominante ori suprafeţe egale logic care să poată fi

eliminate, pot să apară două situaţii diferite:


Toate suprafeţele elementare sunt egale geometric (cazul ciclic).


 În acest caz se alege arbitrar una dintre suprafeţe, ca şi cum ar conţine un
pătrat 0 remarcabil, şi se reia algoritmul de la pasul P4.

Suprafeţele nu sunt egale geometric (cazul semiciclic).


 În acest caz se alege arbitrar una dintre suprafeţele cele mai mari geometric,
 ca şi cum ar conţine un pătrat 0 remarcabil şi se reia algoritmul de la pasul P4.

 P8 Se reunesc prin produs logic toţi termenii S obţinuţi în etapele precedente.


Expresia obţinută reprezintă acoperirea minimă conjunctivă a funcţiei.

 P9 STOP

2010 Proiectarea sistemelor digitale 22


Determinarea formelor minime conjunctive
Termenul S corespunzător unei suprafeţe elementare se poate determina foarte
simplu direct din diagrama KV, respectând următoarele reguli:

dacă pe conturul suprafeţei analizate variabila are numai valoarea 0, variabila


apare în formă directă în termenul corespunzător suprafeţei;
dacă pe conturul suprafeţei analizate variabila are numai valoarea 1, 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.

2010 Proiectarea sistemelor digitale 23


Determinarea formelor minime conjunctive

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)

2010 Proiectarea sistemelor digitale 24


Minimizarea cu diagrame VEM
P1 Se înlocuiesc toate expresiile din diagramă cu 0. În noua diagramă se

utilizează algoritmul de minimizare cu diagrame KV ț i rezultă forma f1.


P2 Se reface diagram VEM înlocuind fiecare 1 cu -. Suprafețele elementare


se formează astfel încât fiecare suprafață să conțină un singur tip de


expresie. Suprafețele formate se decodifică ca într-o diagramă KV normală iar
termenul P rezultat se înmulțețte cu expresia aferentă suprafeței. Suma
termenilor obținuți reprezintă forma logică f2.

 Forma minimă este dată de expresia f=f1+f2.

2010 Proiectarea sistemelor digitale 25


Minimizarea cu diagrame VEM
F(u,x,y,z,a,b)=ț(0,1,2,4,5,6,7,28,29,30,31,35,56,57,58,59)+
+țd(16,17,18,19,20,21,22,23,48,49,50,51)
u x y z a b f u x y z a b f

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

2010 Proiectarea sistemelor digitale 2 7 27


Minimizarea cu diagrame VEM
S e co n sid e ră d ia g ra m a V E M d in exe m p lu la n te rio r.

P1 Se generează diagrama KV din figura urmatoare :


u uy z
y x
z 00 01 11 10
00 0 - - 0
01 1 - 0 0
11 0 1 0 0
10 0 0 1 0
uxz uxz

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

Rezultă f 2 = u y(a | b) + u yz(ab)


2010 Proiectarea sistemelor digitale 2 8 28
Sinteza cu
multiplexoare

2010 Proiectarea sistemelor digitale 29


Metoda directă
i=

 Se bazeazǎ pe forma care descrie relaț ia intrare-iețire a unui multiplexor MUX 2n:

Y=E(m0I0+m1I1+...+m2n-1 I2n-1 ) (5)

unde:

m i= Sb Sb
n −1 n −2
... S 1b1 S b0i=
0
0 ÷ (n − 1)
n −1 n−2

i(10) =(bn-1 bn-2 ...b1b0)(2)

Considerțnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:


Y=m0I0+m1I1+...+m2n-1 I2n-1 (6)

2010 Proiectarea sistemelor digitale 30


Metoda directă
Din relatia (6) rezultǎ imediat cǎ funcția de iețire este suma logicǎ a
mintermenilor dependenți de variabilele de selecție aferenți intrǎrilor de date
conectate la 1 logic.
Aceasta țnseamnǎ cǎ folosind un MUX 2n putem genera orice funcț ie de n
variabile plasǎnd variabilele pe intrǎrile de selecție (atenție la respectarea
corespondenț ei ț ntre ponderile variabilelor ț i ponderile intrǎrilor de
selecție) ți plasǎnd coloana de definiție din tabelul de adevǎr a funcției pe
intrǎrile de date.
Exemplu: Se consideră funcția de comutație
f(x1,x2,x3)= ț(0,2,5,7) +țd(1,4)
ți se cere implementarea acesteia cu un MUX prin metoda directǎ.
1 0 1 0 0 1 0 1

I0 I1 I2 I3 I4 I5 I6 I7
x1 S2
x2 S1 MUX 8
x3 S0
Y Y
f f

2010 Proiectarea sistemelor digitale 31


Metoda variabilelor reziduale
Pentru o utilizare mai raționalǎ a multiplexorului, cele n variabile ale funcției se
țmpart țn douǎ categorii:
m variabile de selecț ie care vor fi plasate pe intrǎrile de selecție ale multiplexorului;
n-m variabile reziduale cu ajutorul cǎrora se genereazǎ 2m funcții reziduale, cțte una
pentru fiecare intrare de date a multiplexorului.

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.

2010 Proiectarea sistemelor digitale 32


Metoda variabilelor reziduale ți I2=I3=z.

Exemplu: Se considerǎ funcția logicǎ f(u,x,y,z) =ț(0,1,2,4,5,6,9,11,13,15).


Se cere implementarea acestei funcții folosind un MUX 4 ți eventual porți logice.
u Varianta 1 Se aleg ca variabile de selecție variabilele u ți
y x
z 00 01 11 10 x.. Rezultǎ imediat I0=I1=y|z ți I2=I3=z.
00 1 1 0 0 u 0 1
x 0 2
01 1 1 1 1 0 y|z z

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

2010 Proiectarea sistemelor digitale 33


Sinteza cu

decodificatoare

2010 Proiectarea sistemelor digitale 34


Implementarea cu decodificatoare logice
Analizǎnd funcționarea unui decodificator logic cu intrarea de validare
permanent activǎ, se poate observa uțor cǎ fiecare iețire reprezintǎ o
funcție mintermen dependentǎ de variabilele de adresǎ dacǎ iețirile sunt
active pe nivel ridicat, respectiv o funcție maxtermen dependentǎ de
variabilele de adresǎ dacǎ ieț irile sunt active pe nivel coborț t.
Iețirii Ok ți corespunde funcția mintermen mk(An-1 ,…A0), iar iețirii
Ok# ți corespunde funcția maxtermen Mk(An-1 ,…A0).
Rezultǎ cǎ țn cazul unui decodificator complet (cu 2n iețiri), dispunem de
toate funcțiile mintermen/maxtermen care pot fi generate cu cele n variabile
de pe intrǎrile de adresǎ. Reunind aceste funcții sub formǎ de produs de
mintermeni respectiv sumǎ de maxtermeni, putem genera orice funcție ce
depinde de variabilele de pe intrǎrile de adresǎ.
țințnd cont de proprietatea Mk=k, reunind maxtermenii printr-o poartǎ NAND
corespunzǎtoare ca numǎr de variabile obținem forma canonicǎ normal
disjunctivǎ a funcției implementate.

2010 Proiectarea sistemelor digitale 35


Implementarea cu decodificatoare logice
VALID xn ... x1 VALID xn ... x1

E A n-1 ... A0 E An-1 ... A0

DEC n/L DEC n/L

O0 O1 ... OL-1 O0 O1 ... OL-1

m0 m1 ... mL-1
m0 m1 ... mL-1
mk1 mk2 ... mkp mk1 mk2 ... mkp

f=mk1+mk2+…+mkp
f=mk1+mk2+…+mkp

2010 Proiectarea sistemelor digitale 36


Implementarea cu decodificatoare logice
Exemplu: Se considerǎ sistemul de funcț ii de comutaț ie:
F1(x1,x2,x3,x4)=ț(0,5,9,12)+țd(3,14)
F2(x1,x2,x3,x4)=ț(1,7,10,12)+țd(4,14)
F3(x1,x2,x3,x4)=ț(3,5,8,10)+țd(3,12,14)
F4(x1,x2,x3,x4)=ț(0,7,9,13)+țd(3,6,14) M 0 1 U 5 A
U 3 M 5 2
L O
4 7 M 1 5 6 f 1
G 2Y A 7 9 M M 9 4
x 1 6 1 4
G 1 Y 6 1 0M M 1 52
1 3
x 2 3 Y 5 1 1M 1 2 7 4 L S 2 0
x 3 2 C Y 4 1 2M 1 1
B Y 3 1 3M M 1 1 U 6 A
x 4 1 1 0
A Y 2 1 4M M 7 2
9
Y 1 1 5M 8 6 f 2
5 M 1 40
G 2Y B 0
M 1 52
7 4 S 1 3 8 A 7 4 L S 2 0
M 3 1 U 7 A
U 4
x 1 M 5 2
4 7 M 7
G 2Y A 7 9 M 6 6 f 3
H I
6 M 8 4
G 1Y 6 1 0
Y 5 1 1M M 1 05
x 2 3 4
x 3 C Y 4 1 2M 3 7 4 L S 2 0
2
x 4 1 B Y 3 1 3M 2 U 8 A
M 0 1
A Y 2 1 4M 1
Y 1 1 5M M 7 2
5 0 6 f 4
G 2Y B 0
M 9 4
x [ 4 . . 1 ] 7 4 S 1 3 8 A M 1 35
7 4 L S 2 0
2010 Proiectarea sistemelor digitale 37
 Sinteza cu
memorii

2010 Proiectarea sistemelor digitale 38


Implementarea unui sistem de funcț ii
A3 A2 A1 A0

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

2010 Proiectarea sistemelor digitale 39


Implementarea unui sistem de funcț ii
Fie un sistem de p funcţii de comutaţie depinzând de acelaşi set de q variabile:
Structura schemei de implementare rezultă în felul următor:
se alege un modul de memorie cu organizarea nxmastfel încât mț p şi nț 2q;
fiecărei funcţii i se alocă o ieşire a memoriei;
variabilele funcţiei se distribuie pe intrările de adesă începînd cu variabila cea mai
puţin semnificativă plasată pe intrarea de adresă cu ponderea minimă (eventualele
intrări de adresă libere se conectează la un potenţial fix – de obicei 0).

Conţinutul memoriei se obţine înscriind în fiecare coloană tabelul de adevăr al


funcţiei ataşate.

2010 Proiectarea sistemelor digitale 40


Implementarea unui sistem de funcț ii

n
O0 f0
x0 -xn-1 A0-An-1

.
MEM

.
.
Ok-1 f k-1

2010 Proiectarea sistemelor digitale 41


Implementarea unui sistem de funcț ii

Exemplu: Se doreț te implementarea unui convertor de cod din CBZ 8421 în


CBZ Gray şi a unui convertor de cod din CBZ 8421 în CBZ Johnson. Convertoarele
sunt prevăzute cu ieşiri de eroare ce semnalează prin 0 logic apariţia la intrare a unei
combinaţii ce nu aparţine CBZ 8421.
Din schema bloc se observă că pentru primul convertor sunt necesare 5 ieşiri iar
pentru al doilea 6 ieşiri şi câte 16 locaţii de memorie.
Cel mai mic modul de memorie disponibil are organizarea 32x8 deci poate fi
utilizat.
Se observă că dacă folosim câte un modul pentru fiecare convertor, jumătate din
locaț ii vor rămâne neutilizate. Din această cauză se recomandă în acest caz
utilizarea unui singur modul de memorie prin introducerea unui semnal de selecţie a
regimului de lucru.

2010 Proiectarea sistemelor digitale 42


Implementarea unui sistem de funcț ii

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#

2010 Proiectarea sistemelor digitale 43


Implementarea unui sistem de funcț ii

2010 Proiectarea sistemelor digitale 44


Sinteza unei singure funcț ii
În anumite cazuri se pune problema implementării unei singure funcții cu un
număr mare de variabile dispunând de module de memorie cu mai multe iețiri.
Dacă avem p variabile ți module de memorie cu organizarea nxm, p>n ți am
folosi metoda precedentă, ar fi necesare 2p-n module în care am folosi o singură
iețire ceea ce ar însemna o risipă inacceptabilă.
Chiar dacă p=n, doar o mică parte a modulului de memorie ar fi utilizată.
Din această cauză este preferabil să utilizăm o schemă mixta, formata dintr-o
memorie si un multiplexor.
Se vor alege un modul de memorie pentru care mnț2p ți un multiplexor cu n
intrări de date.
Presupunem că funcția este definită prin forma canonică disjunctivă în
notația simbolică (suma indicilor mintermenilor corespunzători valorilor 1).
Valorile nespecificate nu ne interesează. În acest caz pentru a determina
conținutul memoriei se procedează în felul următor:
Se împarte fiecare indice la m ți se determină un cât întreg ți un rest.
Câtul reprezintă coloana în care se înscrie 1.
Restul reprezintă numărul locației în care se înscrie 1.

2010 Proiectarea sistemelor digitale 45


Sinteza unei singure funcț ii
Exemplu: Se consideră funcţia
f(x7,…
x0)=ț (0,2,5,7,12,19,30,31,45,46,47,48,49,75,76,78,79,90,91,92,96,97,98,111,123,124,12
5,126,145,146,147,148,149,180,181,182,183,184,195,196,197,198,199,222,223,224,225,
226,227,245,246,247,250,253,254,255)
şi se cere implementarea funcţie cu ajutorul unui modul de memorie cu organizarea 32x8.

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

2010 Proiectarea sistemelor digitale 46


Sinteza unei singure funcț ii

2010 Proiectarea sistemelor digitale 47


Intrebări ?
2010 Proiectarea sistemelor digitale 48

S-ar putea să vă placă și