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 ReportTranscript 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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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
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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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 AA=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
n2
n2
... 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 mp şi n2q;
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 mn2p ș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