Sinteza clasic ă a SLC

48
Capitolul 2 2010 1 Proiectarea sistemelor digitale

description

Capitolul 2. Sinteza clasic ă a SLC. 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 - PowerPoint PPT Presentation

Transcript of Sinteza clasic ă a SLC

Page 1: Sinteza clasic ă  a SLC

Capitolul 2

2010 1Proiectarea sistemelor digitale

Page 2: Sinteza clasic ă  a SLC

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 2Proiectarea sistemelor digitale

Page 3: Sinteza clasic ă  a SLC

Modelul cascadă al ciclului de viață al proiectelor

2010 3Proiectarea sistemelor digitale

Analiza cerintelor

verificare

specificatii

proiectare

implementare

testare

integrare

testare

mentenanta

Actualizare cerinte

verificare

verificare

verificare

Page 4: Sinteza clasic ă  a SLC

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 4Proiectarea sistemelor digitale

Page 5: Sinteza clasic ă  a SLC

Etapele sintezei clasiceE5. 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 5Proiectarea sistemelor digitale

Page 6: Sinteza clasic ă  a SLC

Prețul de cost al unei forme logiceEvaluarea 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

undei – numărul de intrări în poarta logică;k – prețul pe o intrare a porții logice.

2010 6Proiectarea sistemelor digitale

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) =

undei - numărul de intrări pe o poartă;ni – numărul porților cu i intrări.

Page 7: Sinteza clasic ă  a SLC

Acoperire minimă

2010 7Proiectarea sistemelor digitale

 

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

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ă

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

xyzzyxzyxzyxz)y,f(x,

xzyxy)yxz(z)z(yxz)y,(x,*f

Page 8: Sinteza clasic ă  a SLC

Acoperire minimă

2010 8Proiectarea sistemelor digitale

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.

Page 9: Sinteza clasic ă  a SLC

Diagrame KV şi diagrame VEM

2010 9Proiectarea sistemelor digitale

Se numește diagramă KV o reprezentare bidimensională a unui tabel de adevăr, care respectă noțiunea de vecinătate.

Se spune că două pătrate ale diagramei KV sunt vecine dacă combinațiile binare ce reprezintă coordonatele celor două pătrate diferă într-o singură poziție.

u x y z f0 0 0 0 10 0 0 1 x0 0 1 0 10 0 1 1 x0 1 0 0 10 1 0 1 00 1 1 0 00 1 1 1 x1 0 0 0 11 0 0 1 01 0 1 0 11 0 1 1 01 1 0 0 11 1 0 1 01 1 1 0 11 1 1 1 x

00 1011011 111- 000- 0--1 110

00011110

uxy

z

Page 10: Sinteza clasic ă  a SLC

2010 10Proiectarea sistemelor digitale

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.

a|b ab--

1 00-

0 010

0 001

00 101101

00

01

10

11

uxy

z

unde u,x,y,z – variabile libere; a,b – variabile ȋnglobate.

Page 11: Sinteza clasic ă  a SLC

Suprafețe elementare

2010 11Proiectarea sistemelor digitale

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.

1 1 1 1

- 0 0 0

- - - 0

1 0 1 1

u

zy x

00 101101

00

10

11

01

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.

Page 12: Sinteza clasic ă  a SLC

Suprafețe elementare

2010 12Proiectarea sistemelor digitale

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

x4

x3 x2 00 01 11 10

00

10

11

01

1

11

111

1-1

x1

01 11 10

00

10

11

01

x4

x3 x2 00 01 11 10

00

10

11

01

1

--

--1

-

x1

01 11 10

00

10

11

01

x4

x3 x2 00 01 11 10

00

10

11

01

-

--

11

-

x1

01 11 10

00

10

11

01

Page 13: Sinteza clasic ă  a SLC

Determinarea formelor minime disjunctive

2010 13Proiectarea sistemelor digitale

Determinarea formelor minime disjunctive se bazează pe următoarele două proprietăți:

idempotența (1)absorbția (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.

AAA AAxxA

Page 14: Sinteza clasic ă  a SLC

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 14vProiectarea sistemelor digitale

Page 15: Sinteza clasic ă  a SLC

Determinarea formelor minime disjunctive

2010 15Proiectarea sistemelor digitale

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

Page 16: Sinteza clasic ă  a SLC

Determinarea formelor minime disjunctive

2010 16Proiectarea sistemelor digitale

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.

Page 17: Sinteza clasic ă  a SLC

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 17Proiectarea sistemelor digitale

Page 18: Sinteza clasic ă  a SLC

Determinarea formelor minime disjunctive

2010 18Proiectarea sistemelor digitale

u x y z f0 0 0 0 10 0 0 1 x0 0 1 0 10 0 1 1 x0 1 0 0 10 1 0 1 00 1 1 0 00 1 1 1 x1 0 0 0 11 0 0 1 01 0 1 0 11 0 1 1 01 1 0 0 11 1 0 1 01 1 1 0 11 1 1 1 x

00 1011011 111- 000- 0--1 110

00011110

uxy

z

Exemplu:

Page 19: Sinteza clasic ă  a SLC

Determinarea formelor minime disjunctive

2010 19Proiectarea sistemelor digitale

zy x

00 01 11 10

00

10

11

01

1

-

111*

11*

--

1

-

u01 11 10

00

10

11

01

zy x

00 01 11 10

00

10

11

01

-

-

---

--

---

1

-

u01 11 10

00

10

11

01

zy x

00 01 11 10

00

10

11

01

-

-

---

--

---

1*

-

u01 11 10

00

10

11

01

yz

uz xz

zxzuzyz)y,x,f(u,

xuzuzyz)y,x,f(u,

Page 20: Sinteza clasic ă  a SLC

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

proprietăți:

idempotența AA=A (3)

absorbția (4)

P1 Pornind de la tabelul de adevăr sau de la o reprezentare canonică a funcţiei, se alege diagrama KV corespunzătoare ca număr de variabile şi se completează cu valorile 0 şi -.

P2 Se formează toate suprafeţele elementare admise, care conţin numai 0 ori - (cel puţin un 0) şi nu sunt incluse în suprafeţe elementare mai mari.

P3 Se marchează cu un asterisc pătratele care conţin un 0 inclus într-o singură suprafaţă elementară (aceste pătrate se numesc pătrate 0 remarcabile). Dacă în diagramă nu există nici un pătrat 0 remarcabil, se trece la pasul P7.

P4 Se decodifică suprafeţele care conţin cel puţin un pătrat 0 remarcabil. Termenii corespunzători acestor suprafeţe fac parte obligatoriu din forma minimă conjunctivă a funcţiei.

2010 20Proiectarea sistemelor digitale

AA)xA)((x

Page 21: Sinteza clasic ă  a SLC

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 21Proiectarea sistemelor digitale

Page 22: Sinteza clasic ă  a SLC

Determinarea formelor minime conjunctiveDacă 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 22Proiectarea sistemelor digitale

Page 23: Sinteza clasic ă  a SLC

Determinarea formelor minime conjunctive

2010 23Proiectarea sistemelor digitale

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.

Page 24: Sinteza clasic ă  a SLC

Determinarea formelor minime conjunctive

2010 24Proiectarea sistemelor digitale

zy x

00 01 11 10

00

10

11

01

1

0*0*0*-

111*

11*0*

0*--

1

-

u01 11 10

00

10

11

01

z

u+x+y

Exemplu:

)yx(uzz)y,x,f(u,

Page 25: Sinteza clasic ă  a SLC

Minimizarea cu diagrame VEMP1 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 25Proiectarea sistemelor digitale

Page 26: Sinteza clasic ă  a SLC

Minimizarea cu diagrame VEM

2010 26Proiectarea sistemelor digitale

26

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

u x y z a b f u x y z a b f

0 0 0 0 0 0 1

a|b

1 0 0 0 0 0 0

ab0 0 0 0 0 1 1 1 0 0 0 0 1 0

0 0 0 0 1 0 1 1 0 0 0 1 0 0

0 0 0 0 1 1 0 1 0 0 0 1 1 1

0 0 0 1 0 0 1

1

1 0 0 1 0 0 0

00 0 0 1 0 1 1 1 0 0 1 0 1 0

0 0 0 1 1 0 1 1 0 0 1 1 0 0

0 0 0 1 1 1 1 1 0 0 1 1 1 0

0 0 1 0 0 0 0

0

1 0 1 0 0 0 0

00 0 1 0 0 1 0 1 0 1 0 0 1 0

0 0 1 0 1 0 0 1 0 1 0 1 0 0

0 0 1 0 1 1 0 1 0 1 0 1 1 0

0 0 1 1 0 0 0

0

1 0 1 1 0 0 0

00 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

00 1 0 1 0 1 - 1 1 0 1 0 1 0

0 1 0 1 1 0 - 1 1 0 1 1 0 0

0 1 0 1 1 1 - 1 1 0 1 1 1 0

0 1 1 0 0 0 0

0

1 1 1 0 0 0 1

10 1 1 0 0 1 0 1 1 1 0 0 1 1

0 1 1 0 1 0 0 1 1 1 0 1 0 1

0 1 1 0 1 1 0 1 1 1 0 1 1 1

0 1 1 1 0 0 1

1

1 1 1 1 0 0 0

00 1 1 1 0 1 1 1 1 1 1 0 1 0

0 1 1 1 1 0 1 1 1 1 1 1 0 0

0 1 1 1 1 1 1 1 1 1 1 1 1 0

Page 27: Sinteza clasic ă  a SLC

Minimizarea cu diagrame VEM

2010 27Proiectarea sistemelor digitale

27

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

a|b ab--

1 00-

0 010

0 001

00 101101

00

01

10

11

uxy

z

Page 28: Sinteza clasic ă  a SLC

Minimizarea cu diagrame VEM

2010 28Proiectarea sistemelor digitale

28

0 0--

1 00-

0 010

0 001

00 101101

00

01

10

11

uxy

z

uy

uxzuxz

z

a|b ab--

- 00-

0 0-0

0 00-

00 101101

00

01

10

11

uxy

z

uy(a|b) uyz(ab)

Se consideră diagrama VEM din exemplul anterior.

P1 Se generează diagrama KV din figura urmatoare:

Rezultă

P2 Se reface diagrama VEM înlocuind 1 cu -.

Rezultă (ab)zyub)|(ayuf2

zuxxzuzyuf1

Page 29: Sinteza clasic ă  a SLC

2010 29Proiectarea sistemelor digitale

Sinteza cu multiplexoare

Page 30: Sinteza clasic ă  a SLC

Metoda directă

2010 30Proiectarea sistemelor digitale

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= i= 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 (6)

SSSS bbbb nn

nn0121

0121...

)1(0 n

Page 31: Sinteza clasic ă  a SLC

Metoda directă

2010 31Proiectarea sistemelor digitale

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

MUX 8

Y Y

S2

S0

S1

I0 I1 I2 I3 I4 I5 I6 I7

1 0 1 0 0 1 0 1

x1

x3

x2

f f

Page 32: Sinteza clasic ă  a SLC

Metoda variabilelor reziduale

2010 32Proiectarea sistemelor digitale

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.

Page 33: Sinteza clasic ă  a SLC

Metoda variabilelor reziduale

2010 33Proiectarea sistemelor digitale

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.

1 1 0 0

1 1 1 1

0 0 1 1

1 1 0 0

00

00

101101

10

11

01

uxy

zVarianta 1 Se aleg ca variabile de selecție variabilele u și x..

Rezultǎ imediat I0=I1=y|z și I2=I3=z.

y|z z

y|z z

0

0

1

1ux

0

31

2

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

și I2=I3=z.

1 z

z z

0

0

1

1uy

0

31

2

z

Page 34: Sinteza clasic ă  a SLC

Sinteza cu decodificatoare

2010 34Proiectarea sistemelor digitale

Page 35: Sinteza clasic ă  a SLC

Implementarea cu decodificatoare logice

2010 35Proiectarea sistemelor digitale

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.

Page 36: Sinteza clasic ă  a SLC

Implementarea cu decodificatoare logice

2010 36Proiectarea sistemelor digitale

DEC n/L

An-1 A0...

xn x1...VALID

E

O0 OL-1...O1

m0 mL-1...m1

mk1 mkp...mk2

f=mk1+mk2+…+mkp

DEC n/L

An-1 A0...

xn x1...VALID

E

O0 OL-1...O1

m0 mL-1...m1

mk1 mkp...mk2

f=mk1+mk2+…+mkp

Page 37: Sinteza clasic ă  a SLC

Implementarea cu decodificatoare logice

2010 37Proiectarea sistemelor digitale

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)

f 2

x 3

M 1

M 1 2

M 0

x 1

f 1

M 3

M 5

x 4

M 1 0

x [ 4 . . 1 ]

M 0

U 6 A

7 4 L S 2 0

6

12

45

H I

M 7

M 1 2

M 1 0

U 8 A

7 4 L S 2 0

6

12

45M 1 3

U 7 A

7 4 L S 2 0

6

12

45

M 6

M 3

M 7 M 5

M 8

M 8

M 9

M 1 5

x 3

M 1 3

M 0

U 3

7 4 S 1 3 8 A

1 51 41 31 21 11 097

1

5

23

64

Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7

A

G 2 B

BC

G 1G 2 A

M 9

M 7

M 1 2

M 1 0 M 1x 4

L O

M 1 1

M 9

U 4

7 4 S 1 3 8 A

1 51 41 31 21 11 097

1

5

23

64

Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7

A

G 2 B

BC

G 1G 2 A

M 1 4

x 2

U 5 A

7 4 L S 2 0

6

12

45

M 2

f 3x 1

x 2

M 4

f 4

Page 38: Sinteza clasic ă  a SLC

Sinteza cu memorii

2010 38Proiectarea sistemelor digitale

Page 39: Sinteza clasic ă  a SLC

Implementarea unui sistem de funcții

2010 39Proiectarea sistemelor digitale

A0A2A3 A1

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

16 161616

O0 O3O2O1

f1 f4f2 f3

m0

m7

m6

m5

m4

m3

m2

m1

m15

m14

m13

m12

m11

m10

m9

m8

Page 40: Sinteza clasic ă  a SLC

Implementarea unui sistem de funcții

2010 40Proiectarea sistemelor digitale

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.

Page 41: Sinteza clasic ă  a SLC

Implementarea unui sistem de funcții

2010 41Proiectarea sistemelor digitale

MEM

A0-An-1x0-xn-1

n O0

Ok-1

. . .

fk-1

f0

Page 42: Sinteza clasic ă  a SLC

Implementarea unui sistem de funcții

2010 42Proiectarea sistemelor digitale

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.

Page 43: Sinteza clasic ă  a SLC

Implementarea unui sistem de funcții

2010 43Proiectarea sistemelor digitale

J#/G

b0j0/g0

b1

b2

b3

ERR#

j4/NC

j3/g3

j2/g2

j1/g1

J#/G

b0j0/g0

b1

b2

b3

A0

A4

A3

A2

A1

ERR#CE

O0

O7

O6

O5

O4

O3

O2

O1

j4/NC

j3/g3

j2/g2

j1/g1

NC

NC

Page 44: Sinteza clasic ă  a SLC

Implementarea unui sistem de funcții

2010 44Proiectarea sistemelor digitale

Page 45: Sinteza clasic ă  a SLC

Sinteza unei singure funcții

2010 45Proiectarea sistemelor digitale

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

Page 46: Sinteza clasic ă  a SLC

Sinteza unei singure funcții

2010 46Proiectarea sistemelor digitale

Exemplu: Se consideră funcţia  

f(x7,…x0)=(0,2,5,7,12,19,30,31,45,46,47,48,49,75,76,78,79,90,91,92,96,97,98,111,123,124,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.

MEM MUX

CS EA0

A4

A3

A2

A1

O0

O4

O3

O2

O1

O6

O5

O7

I0

I4I3I2I1

I6I5

I7

Y

Y#

x0

x4

x3

x2

x1

x4x5x6

S0S2 S1

f

f

Page 47: Sinteza clasic ă  a SLC

Sinteza unei singure funcții

2010 47Proiectarea sistemelor digitale

Page 48: Sinteza clasic ă  a SLC

2010Proiectarea sistemelor digitale

48