sinteza clasic ă a slc
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 PresentationTRANSCRIPT
Capitolul 2
2010 1Proiectarea 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 Sinteza cu ajutorul multiplexoarelor şi
decodificatoarelor Sinteza cu ajutorul memoriilor
2010 2Proiectarea sistemelor digitale
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
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
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
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.
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
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.
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
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.
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.
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
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
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
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
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.
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
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:
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,
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
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
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
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.
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,
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
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
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
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
2010 29Proiectarea sistemelor digitale
Sinteza cu multiplexoare
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
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
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.
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
Sinteza cu decodificatoare
2010 34Proiectarea sistemelor digitale
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.
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
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
Sinteza cu memorii
2010 38Proiectarea sistemelor digitale
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
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.
Implementarea unui sistem de funcții
2010 41Proiectarea sistemelor digitale
MEM
A0-An-1x0-xn-1
n O0
Ok-1
. . .
fk-1
f0
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.
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
Implementarea unui sistem de funcții
2010 44Proiectarea sistemelor digitale
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.
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
Sinteza unei singure funcții
2010 47Proiectarea sistemelor digitale
2010Proiectarea sistemelor digitale
48