480 likes | 659 Views
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
E N D
Capitolul 2 Sinteza clasică a SLC 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 • Sinteza cu ajutorul multiplexoarelor şi decodificatoarelor • Sinteza cu ajutorul memoriilor Proiectarea sistemelor digitale
Modelul cascadă al ciclului de viață al proiectelor Proiectarea sistemelor digitale
Etapele sintezei clasice E1Pornind 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ă. Proiectarea sistemelor digitale
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ă. Proiectarea sistemelor digitale
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. Proiectarea sistemelor digitale
Acoperire minimă • Vom numiacoperire 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ă. Proiectarea sistemelor digitale
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 metodespecifice de reducere a complexității. • Minimizarea funcțiilor de comutațieeste 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. Proiectarea sistemelor digitale
Diagrame KV şi diagrame VEM • Se numeștediagramă KVo 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. Proiectarea sistemelor digitale
Diagrame KV şi diagrame VEM • Se numeștediagramă 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. unde u,x,y,z – variabile libere; a,b – variabile ȋnglobate. Proiectarea sistemelor digitale
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. • 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ăSiesteegală logiccu suprafaţa elementarăSmdacă ambele suprafeţe, indiferent de forma şi mărimea lor geometrică, conţin exact aceleaşi valori determinate. Proiectarea sistemelor digitale
Suprafețe elementare • Se spune că suprafaţa elementarăSidomină suprafaţa elementarăSmdacăSiconţine toate valorile determinate pe care le conţineSm, 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ăSmse va numi suprafaţă dominată. Proiectarea sistemelor digitale
Determinarea formelor minime disjunctive 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 1inclus î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. Proiectarea sistemelor digitale
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. vProiectarea sistemelor digitale
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. • P9 STOP Proiectarea sistemelor digitale
Determinarea formelor minime disjunctive • Procesul de determinare a termenului P corespunzător unei suprafeţe elementare se numeştedecodificarea 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. Proiectarea sistemelor digitale
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. Proiectarea sistemelor digitale
Determinarea formelor minime disjunctive Exemplu: Proiectarea sistemelor digitale
Determinarea formelor minime disjunctive Proiectarea sistemelor digitale
Determinarea formelor minime conjunctive Determinarea 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 -. P2Se 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. P3Se marchează cu un asterisc pătratele care conţin un 0inclusî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. P4Se decodifică suprafeţele care conţin cel puţin unpătrat0 remarcabil. Termenii corespunzători acestor suprafeţe fac parte obligatoriu din forma minimă conjunctivă a funcţiei. Proiectarea sistemelor digitale
Determinarea formelor minime conjunctive P5 Se reface diagrama KV înlocuind fiecare 0 din suprafeţele deja decodificate cu -. P6Se 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. P7Se 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. Proiectarea sistemelor digitale
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. P8Se reunesc prin produs logic toţi termenii S obţinuţi în etapele precedente. Expresia obţinută reprezintă acoperirea minimă conjunctivă a funcţiei. P9STOP Proiectarea sistemelor digitale
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. Proiectarea sistemelor digitale
Determinarea formelor minime conjunctive Exemplu: Proiectarea sistemelor digitale
Minimizarea cu diagrame VEM P1Se î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. Proiectarea sistemelor digitale
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) 26 Proiectarea sistemelor digitale
Minimizarea cu diagrame VEM 27 Proiectarea sistemelor digitale
Minimizarea cu diagrame VEM Se consideră diagrama VEM din exemplul anterior. P1 Se generează diagrama KV din figura urmatoare: Rezultă P2 Se reface diagrama VEM înlocuind 1 cu -. 28 Rezultă Proiectarea sistemelor digitale
Sinteza cu multiplexoare Proiectarea sistemelor digitale
i= Metoda directă 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) Proiectarea sistemelor digitale
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ǎ. Proiectarea sistemelor digitale
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-mvariabile 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. Proiectarea sistemelor digitale
și I2=I3=z. Metoda variabilelor reziduale 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. Varianta 1 Se aleg ca variabile de selecție variabilele u și x.. Rezultǎ imediat I0=I1=y|z și I2=I3=z. Varianta 2 Se aleg ca variabile de selecție variabilele u și y. Rezultǎ imediat I0=1 I1= și I2=I3=z. Proiectarea sistemelor digitale
Sinteza cu decodificatoare Proiectarea sistemelor digitale
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. Proiectarea sistemelor digitale
Implementarea cu decodificatoare logice Proiectarea sistemelor digitale
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) Proiectarea sistemelor digitale
Sinteza cu memorii Proiectarea sistemelor digitale
Implementarea unui sistem de funcții Proiectarea sistemelor digitale
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. Proiectarea sistemelor digitale
Implementarea unui sistem de funcții Proiectarea sistemelor digitale
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. Proiectarea sistemelor digitale
Implementarea unui sistem de funcții Proiectarea sistemelor digitale
Implementarea unui sistem de funcții Proiectarea sistemelor digitale
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. Proiectarea sistemelor digitale
Sinteza unei singure funcții Exemplu: Se consideră funcţia f(x7,…x0)=(0,2,5,7,12,19,30,31,45,46,47,48,49,75,76,78,79,90,91,92,96,97,98,111,123,124,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. Proiectarea sistemelor digitale
Sinteza unei singure funcții Proiectarea sistemelor digitale
Intrebări ? Proiectarea sistemelor digitale