Capitolul 2 Proiectarea sistemelor digitale Tematica  Etapele sintezei clasice a SLC  Minimizarea funcțiilor de comutație folosind diagramele KV  Minimizarea funcțiilor de comutație folosind diagramele VEM 

Download Report

Transcript Capitolul 2 Proiectarea sistemelor digitale Tematica  Etapele sintezei clasice a SLC  Minimizarea funcțiilor de comutație folosind diagramele KV  Minimizarea funcțiilor de comutație folosind diagramele VEM 

Slide 1

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 2

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 3

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 4

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 5

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 6

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 7

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 8

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 9

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 10

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 11

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 12

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 13

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 14

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 15

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 16

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 17

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 18

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 19

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 20

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 21

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 22

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 23

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 24

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 25

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 26

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 27

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 28

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 29

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 30

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 31

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 32

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 33

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 34

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 35

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 36

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 37

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 38

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 39

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 40

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 41

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 42

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 43

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 44

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 45

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 46

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 47

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48


Slide 48

Capitolul 2

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 y z  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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1
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
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
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

z
00

00

01

11

10

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ă.
x1
x3 x2
x4 00 01 11 10
1
1
1
00 1
01

1

1

01

11
10

2010

x1
x3 x2
x4 00 01 11 10
1
00 1
-

-

11
1

-

1

10

x1
x3 x2
x4 00 01 11 10
1
1
00 01

-

-

11
-

Proiectarea sistemelor digitale

10

-

12

Determinarea formelor minime disjunctive
Determinarea formelor minime disjunctive se bazează pe următoarele două
proprietăți:
idempotența A  A  A
xA  x A  A
absorbția

(1)
(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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2010

x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
x
1
x
1
0
0
x
1
0
1
0
1
0
1
x

y

u
x
z
00
00 1
01
11
10 1

Proiectarea sistemelor digitale

01
1
0
0

11
1
0
1

10
1
0
0
1

18

Determinarea formelor minime disjunctive
y

u
yz
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

y

uz
-

1*

1

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1

-

-

-

-

-

y

xz

u
x
z 00 01 11 10
00 - - - 01

-

11

-

10 1*

-

-

-

-

-

f(u, x, y, z)  y z  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

absorbția

(3)

(x  A)( x  A)  A

(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:

y

u
z
x
z 00 01 11 10
00 1 1* 1 1
01

-

11

-

10 1

0* 0* 0*
-

-

0* 1*

0* u+x+y
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

1

0

0

0

0

0

0

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

0

0

1

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

1

0

1

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

1

0

1

1

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

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

1

1

1

0

0

0

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

0

0

0

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

2010 1

1

1

1

0

1

1

1

1

1

1

0

0
26
26

0

1

1

1

1

1

1

1

1

1

1

0

a|b

1

0

0

-

-

0

1

1
1
Proiectarea
sistemelor digitale

ab

0

0

0

-

0

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

-

0

1

0

1

-

0

1

1

0

0

0

1

1

1

1

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

u
y
z

x

00
01
11
10

00
a|b
1
0
0

01
1
0

11
0
0
1

10
ab
0
0
0

27 27

Minimizarea cu diagrame VEM
Se consideră diagrama VEM din exemplul anterior.
P1 Se generează diagrama KV din figura urmatoare:
y

u

uy z

x

z

00
01
11
10

00
0
1
0
0
uxz

01
1
0
uxz

11
0
0
1

10
0
0
0
0

Rezultă
f 1  u y z  u xz  ux z
P2 Se reface diagrama VEM înlocuind 1 cu -.
u
y
z

00
01
11
10

2010

Rezultă

uy(a|b)

x
00
a|b
0
0

01
0

uyz(ab)
11
0
0
-

f 2  u y (a | b)  u y z (ab)
Proiectarea sistemelor digitale

10
ab
0
0
0

28 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-1I2n-1)

(5)

unde:
mi= S b S b
n 1

n 1

n2

n2

... S 1b 1 S b0 0

i=

0  ( n  1)

i(10)=(bn-1bn-2...b1b0)(2)
Considerȃnd cǎ multiplexorul este tot timpul validat, relația (5) va deveni:
Y=m0I0+m1I1+...+m2n-1I2n-1

2010

Proiectarea sistemelor digitale

(6)

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

2010

x1

S2

x2

S1

x3

S0

1

0

1

0

0

1

0

1

I0

I1

I2

I3

I4

I5

I6

I7

MUX 8
Y
f

Y
f

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
y x
z

00

01

11

10

00

1

1

0

0

01

1

1

1

1

11

0

0

1

1

Varianta 1 Se aleg ca variabile de selecție variabilele u și x..
Rezultǎ imediat I0=I1=y|z și I2=I3=z.
u

x
0

1

1

0

1
0

y |z

2
z

1
1

10

0

0

y |z

3
z

Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= z și I2=I3=z.
u
y
0

0

1
0

1

2
z

1
1

2010

z

3
z

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
xn

...

x1

An-1

...

A0

VALID

E

xn

...

x1

An-1

...

A0

VALID

E

DEC n/L

O0 O1
m0 m1

...
...

mk1 mk2

...

DEC n/L

OL-1
mL-1
mkp

O0 O1

...

m0 m1

...

mk1 mk2

...

OL-1
mL-1
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)

M0
M5

U3

LO

x1

4
6

x2
x3
x4

3
2
1
5

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0

7 M15
9 M14
10 M13
11 M12
12 M11
13 M10
14 M9
15 M8

1
2

U5A
6 f1

M9
4
M12 5

74LS20
M1
M7

1
2

U6A
6 f2

M10 4
M12 5
74LS20

74S138A
U4
x1
HI

4
6

x2
x3
x4

3
2
1
5

x[4..1]

2010

G2AY 7
G1 Y 6
Y5
C Y4
B Y3
A Y2
Y1
G2BY 0
74S138A

Proiectarea sistemelor digitale

7 M7
9 M6
10
11 M4
12 M3
13 M2
14 M1
15 M0

M3
M5

1
2

M8
M10

4
5

U7A
6 f3
74LS20

M0
M7

1
2

M9
M13

4
5

U8A
6 f4
74LS20

37

Sinteza cu
memorii
2010

Proiectarea sistemelor digitale

38

Implementarea unui sistem de funcții
A3

A2

A1

A0

16
4

m0

4

m1

4

m2

4

m3

4

m4

4

m5

4

m6

4

m7

4

m8

4

m9

4

m10

4

m11

4

m12

4

m13

4

m14

4

m15

O0

O1
f1

2010

16

Proiectarea sistemelor digitale

16

O2
f2

16

O3
f3

f4

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 nxm astfel î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
x0-xn-1

O0

f0

A0-An-1

.
.

MEM

.
Ok-1

2010

Proiectarea sistemelor digitale

fk-1

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

b0

j 0 /g 0
j 1 /g 1

b1
b2
b3

j 2 /g 2
j 3 /g 3
j4 /N C

b0

A0

b1

A1

b2

A2

b3

A3

J#/G

J # /G

A4

ERR#

CE

2010

Proiectarea sistemelor digitale

O0
O1
O2

j0/g0
j1/g1
j2/g2

O3
O4
O5
O6
O7

j3/g3
j4/NC
NC
NC
ERR#

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,1
24,125,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
x0
x1

A0
A1

x2

A2

x3
x4

A3
A4

O0
O1
O2
MEM O3
O4
O5
O6
O7

E
I0
I1
I2
I3
I4
I5
I6
I7

MUX

Y

f

Y#

f

S2 S1 S0
x6 x5 x4

2010

Proiectarea sistemelor digitale

46

Sinteza unei singure funcții

2010

Proiectarea sistemelor digitale

47

2010

Proiectarea sistemelor digitale

48