1. ELEMENTE DE ALGEBRĂ BOOLEANĂ

Σχετικά έγγραφα
Metode iterative pentru probleme neliniare - contractii

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

3.4. Minimizarea funcţiilor booleene

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Logica matematica. Algebra booleana

3.4. Minimizarea funcţiilor booleene

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

5.4. MULTIPLEXOARE A 0 A 1 A 2

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Curs 1 Şiruri de numere reale

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea


Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Curs 4 Serii de numere reale

Arhitectura Calculatoarelor. Fizică - Informatică an II. 2. Circuite logice. Copyright Paul GASNER 1

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Subiecte Clasa a VIII-a

MARCAREA REZISTOARELOR

Integrala nedefinită (primitive)

CIRCUITE LOGICE CU TB

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Sisteme diferenţiale liniare de ordinul 1

Metode de interpolare bazate pe diferenţe divizate

Seminar 5 Analiza stabilității sistemelor liniare

Problema a II - a (10 puncte) Diferite circuite electrice

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Subiecte Clasa a VII-a

III. Reprezentarea informaţiei în sistemele de calcul

Esalonul Redus pe Linii (ERL). Subspatii.

Functii Breviar teoretic 8 ianuarie ianuarie 2011

ELECTRONICĂ DIGITALĂ

Asupra unei inegalităţi date la barajul OBMJ 2006

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

CIRCUITE COMBINAŢIONALE UZUALE

Criptosisteme cu cheie publică III

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Principiul Inductiei Matematice.

Curs 2 Şiruri de numere reale

2 Transformări liniare între spaţii finit dimensionale

2. Circuite logice 2.5. Sumatoare şi multiplicatoare. Copyright Paul GASNER

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Ecuatii trigonometrice

Examen AG. Student:... Grupa: ianuarie 2016

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

1.3 Baza a unui spaţiu vectorial. Dimensiune

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

VII.2. PROBLEME REZOLVATE

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

CONCURS DE ADMITERE, 17 iulie 2017 Proba scrisă la MATEMATICĂ

z a + c 0 + c 1 (z a)

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt.

Laborator 11. Mulţimi Julia. Temă

Aplicaţii ale principiului I al termodinamicii la gazul ideal

prin egalizarea histogramei

Progresii aritmetice si geometrice. Progresia aritmetica.

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

Analiza şi sinteza circuitelor combinaţionale

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:

Conice - Câteva proprietǎţi elementare

Tranzistoare bipolare şi cu efect de câmp

riptografie şi Securitate

Universitatea din Petroșani. Analiza și sinteza dispozitivelor numerice Proiectare logică

Electronică anul II PROBLEME

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

Examen AG. Student:... Grupa:... ianuarie 2011

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

Matrice. Determinanti. Sisteme liniare

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

Geometrie computationala 2. Preliminarii geometrice

a. 11 % b. 12 % c. 13 % d. 14 %

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

Circuite logice programabile

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi

Curs 2 DIODE. CIRCUITE DR

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Asemănarea triunghiurilor O selecție de probleme de geometrie elementară pentru gimnaziu Constantin Chirila Colegiul Naţional Garabet Ibrãileanu,

Cursul nr. 6. C6.1 Multiplexorul / Selectorul de date

Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,

Transcript:

. ELEMENTE DE ALGEBRĂ BOOLEANĂ În teoria circuitelor numerice şi în electronica digitală în general, semnalele electrice pot lua numai valori discrete, în majoritatea cazurilor aceste valori fiind asociate convenţional lui logic şi logic. În limbaj tehnic ne vom referi la aceste două valori cu noţiunea de bit (binar digit). Bitul se defineşte în teoria informaţiei şi este o unitate de măsură a acesteia, echivalentă cu informaţia transmisă prin furnizarea unui mesaj din două egal probabile. Calculatoarele electronice digitale (numerice) efectuează operaţii logice. De aceea, pentru a studia principiile de operare ale subsistemelor de procesare logică, este necesar să se analizeze unele noţiuni de logică matematică. Se disting mai multe direcţii de preocupare în logica matematică, printre care logica claselor şi logica propoziţiilor. În logica claselor se studiază relaţiile dintre clasele (mulţimile) de obiecte, prin clasă înţelegându-se totalitatea obiectelor care au o anumită proprietate. În logica propoziţiilor se studiază propoziţiile din punct de vedere al adevărului sau falsităţii lor (este vorba de propoziţii matematice). În afară de logica bivalentă, în care propoziţiile pot fi numai adevărate sau numai false, s-au dezvoltat şi alte logici matematice în care se admit şi alte valori pentru propoziţii. Aceste logici au căpătat atributul de polivalente. Majoritatea sistemelor digitale lucrează în logică bivalentă, utilizând codificarea binară a informaţiei. Eistă şi sisteme care lucrează pe baza unor logici polivalente. Fie A o propoziţie. Dacă ea este adevărată vom scrie: A =. Dacă este falsă, vom scrie: A =. Astfel, şi/sau reprezintă valori de adevăr (sau valori logice binare) pentru propoziţia A. Epresiile în care intervin mai multe propoziţii vor fi numite funcţii logice. Algebra logică binară a fost fundamentată prin lucrările matematicianului englez George Boole şi din această cauză ea mai poartă şi denumirea de algebră Boole sau algebră booleană. Pentru studiul circuitelor numerice (digitale) se foloseşte ca suport matematic algebra booleană. Ea are la bază o serie de postulate (aiome) şi teoreme.

cap. Elemente de algebră booleană. Aiome şi teoreme booleene Algebra booleană operează pe o mulţime B = { / {, }}. În această mulţime binară se definesc trei legi de compoziţie: complementarea (negare, NU, NOT, inversare logică), disjuncţia (sumă logică, +, SAU, OR, ) şi conjuncţia (produs logic,, ŞI, AND, ), pentru care se dau în continuare tabelele de adevăr, simbolurile grafice şi implementarea prin contacte (figura.) ( ) ( ) + + Figura. Tabelele de adevăr, simbolurile grafice şi implementarea prin contacte electrice pentru complementare, disjuncţie şi conjuncţie Toate relaţiile definite pe B au un caracter dual, adică relaţiile rămân valabile dacă se fac schimbările: + cu şi respectiv cu (teorema dualităţii). În mulţimea B se poate alege o structură de şase aiome duale pe baza cărora se definesc teoremele şi proprietăţile care stau la baza algebrei boolene. Acestea sunt prezentate în continuare. Aiome:. Mulţimea B este o mulţime închisă: X,Y B X+Y B; X,Y B XY B ; (.). Asociativitatea: X+(Y+Z) = (X+Y)+Z ; X(Y Z) = (X Y) Z ; (.). Comutativitatea: X+Y = Y+X ; X Y = Y X ; (.)

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE. Distributivitatea: X+Y Z = (X+Y)(X+Z) ; X (Y+Z) = X Y+X Z ; (.) 5. Element neutru: X + = + X = X ; X = X = X ; (.5) 6. Complementul: X + X = ; X X = ; (.6) Teoreme (proprietăţi): 7. Idempotenţa: X+X+..+X = X ; XX..X = X ; (.7) 8. Elemente neutre: X+ = ; X = ; (.8) 9. Involuţia: X = X, X = X ; (.9). Absorbţia: X+XY = X ; X(X+Y) = X ; (.). Relaţiile lui De Morgan: X + Y = XY, XY = X + Y (.) În general, notând cu suma şi respectiv cu produsul boolean, relaţiile De Morgan se scriu: n k= n k= n k= n = şi = (.) k k k k= k Pe mulţimea B sunt valabile teoremele enunţate. Demonstraţia lor se poate face folosind aiomele, dar este mai comod dacă se folosesc tabelele de adevăr. Tabela de adevăr stabileşte o corespondenţă între valorile de adevăr ale variabilelor şi valoarea de adevăr a funcţiei. Eemplu: + + Figura. Relaţiile lui De Morgan

cap. Elemente de algebră booleană Perechile de operatori NOT şi AND, respectiv NOT şi OR formează fiecare câte un sistem complet, adică orice relaţie definită pe B poate fi eprimată folosind numai operatorii unei singure perechi. Circuitul fizic care implementează un operator logic se numeşte poartă logică. Sistemele complete prezentate au fost realizate cu câte o singură poartă: ŞI-NU (NAND, Scheffer) şi SAU-NU (NOR, funcţie nici sau funcţie Pierce). Un sistem complet de operatori poate eprima orice relaţie logică ca în eemplul următor, în care ne propunem să implementăm operatorii NOT, OR şi AND folosind operatori NAND şi NOR. NAND NOT OR AND = + = = NOR = + + = + = + Figura. Implementarea operatorilor NOT, OR şi AND folosind operatori NAND şi NOR. Relaţii booleene utile: ) + = ( + ) * = ( + )( + ) = * + * + * + * = = + + + = + = (.) ) proprietatea de absorbţie: + ( * ) = * (+ ) = şi relaţia duală: * ( + ) = * + * = + = (.) ) + * = + (.5) Demonstraţie: + = ( + )( + )( + ) = ( + + + )( + ) = ( + + )( + ) = = + + + + + = + + = ( + ) + = + (.6) ) ( + ) = * (duala relaţiei precedente). (.7). Funcţii logice O funcţie f : B n B se numeşte funcţie booleană. Altfel spus, o funcţie booleană de n variabile = f (,,.. n ), unde i sunt variabile de intrare, se caracterizează prin faptul că atât funcţia cât şi variabilele nu pot lua decât două valorile distincte, şi.

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE Eemplu: Considerăm un rezervor alimentat de trei robinete, şi z. Ne propunem să menţinem rezervorul plin cu ajutorul acestor trei robinete. Rezervorul poate fi menţinut plin dacă cel puţin două robinete sunt deschise simultan. Dacă considerăm că un robinet deschis are atribuită valoarea logică, atunci funcţia care descrie din punct de vedere logic această situaţie este următoarea: U (,,z) = z + z + z + z (.8). Reprezentarea funcţiilor logice Pentru reprezentarea funcţiilor logice se folosesc în mod curent şi în principal trei metode, descrise mai jos. A. Reprezentare prin tabela de adevăr Această reprezentare presupune marcarea, într-un tabel, a corespondenţei dintre valorile de adevăr ale variabilelor de intrare şi valoarea de adevăr a funcţiei în fiecare punct al domeniului de definiţie. Eemplu: Pentru cazul problemei considerate în eemplul anterior, reprezentarea prin tabel arată ca în figura. z U Figura. Eemplu de reprezentare prin tabel a unei funcţii logice B. Reprezentarea prin diagrame Karnaugh Reprezentarea prin diagrame Karnaugh constă în a marca punctele domeniului de definiţie într-o diagramă plană şi a preciza valoarea funcţiei în fiecare din aceste puncte. \ z 5 Figura.5 Reprezentarea funcţiilor logice prin diagrame Karnaugh

cap. Elemente de algebră booleană Dacă luăm în considerare vârful cubului caracterizat prin coordonatele, constatăm că acest vârf este vecin cu vârfurile,,. În diagrama Karnaugh constatăm că este vecin doar cu şi. Pentru ca diagrama Karnaugh să fie echivalentă cu reprezentarea prin cub, ea trebuie să păstreze acelaşi vecinătăţi, lucru ce devine posibil doar dacă ne imaginăm latura din stânga a diagramei Karnaugh în continuarea celei din dreapta, iar latura de sus în continuarea celei de jos. În acest fel, punctul devine vecin şi cu punctul. C. Reprezentarea prin echivalenţi zecimali ai mintermilor Reprezentarea prin echivalenţi zecimali ai mintermilor constă în indicarea echivalenţilor zecimali ai conjuncţiilor pentru care valoarea funcţiei este sau a echivalenţilor zecimali corespunzători valorii ale funcţiei. Eemplu: U(,,z ) = R (,5,6,7 ) (.9) U(,,z ) = R (,,, ) (.). Epresii analitice ale funcţiilor logice În majoritatea aplicaţiilor practice este necesară utilizarea formei analitice a funcţiilor booleene. În acest scop se utilizează două forme de dezvoltare: - forma canonică disjunctivă (FCD) care presupune utilizarea unor funcţii elementare numite constituenţi ai unităţii (termeni minimali sau mintermi); - forma canonică conjunctivă (FCC) care presupune utilizarea unor funcţii elementare numite constituenţi ai lui zero (termeni maimali sau matermi). Notaţie: σ, pentru σ = =, pentru σ = (.) Definiţie: Se numeşte constituent al unităţii funcţia elementară Q k caracterizată prin faptul că ia valoarea logic într-un un singur punct al domeniului de definiţie. Constituentul unităţii va fi produsul logic al tuturor variabilelor negate sau nenegate: Q k n = = i σ i, k() = σ n-,..σ () (.) i k Pentru ca Q să fie într-un anumit punct al domeniului de definiţie este necesar ca toţi termenii produsului să fie logic, ceea ce presupune ca argumentele să aibă valoarea i = σ i. Aşadar rezultă următoarea regulă de scriere a mintermenilor : în conjuncţia variabilelor, variabilele care iau valoarea în punctul respectiv al domeniului de definiţie se vor lua negate, iar cele care iau valoarea se vor lua nenegate. Q k 6

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE Numim conjuncţii vecine două conjuncţii care sunt constituite din aceleaşi variabile şi diferă doar prin comlementarea uneia singure. Prin sumarea a două conjuncţii vecine se obţine o conjuncţie cu un număr de variabile mai mic cu, lipsind variabila a cărei complementaritate diferă. Eemplu: Pentru cazul unei funcţii de variabile, fie suma a două conjuncţii vecine: () () () 9 Q8 = + = ( + ) = Q Q + = (.) Definiţie: Se numeşte constituent al lui zero funcţia elementară care ia valoarea logic într-un singur punct al domeniului de definiţie. Constituentul lui va fi suma logică a tuturor variabilelor negate sau nenegate: D k n = = i σ i i k ( ) n...σ () D k k = σ (.) Pentru ca D să fie într-un un anumit punct al domeniului de definiţie este necesar ca toţi termenii sumei să fie, ceea ce este echivalent cu i = σ. Prin urmare rezultă următoarea regulă de scriere a matermului disjuncţia variabilelor, variabilele care iau valoarea în punctul respectiv al domeniului de definiţie se vor lua nenegate, iar cele care iau valoarea se vor lua negate. Disjuncţiile vecine se definesc în mod similar cu conjuncţiile vecine. Prin înmulţirea a două disjuncţii vecine se obţine o disjuncţie având o variabilă mai puţin (dispare acea variabilă care îşi modifică complementaritatea). i D k : în D () 9 D () 8 = D = ( () D () + + D () + ( + + )( ) + + + = D () + + D ) = (D () () + + = D () )(D = () + + ) = + (.5) Pentru o funcţie de o variabilă, f() se poate scrie sub forma: f () = f() + f() (.6) În mod similar, pentru o funcţie de două variabile f(, ) avem relaţia: f(, ) = f(, = ) + f(, f(, ) + ) = [ f(,) + f(, ) + f(, ) + f(,)] + [ f(,) = f(, ) + f(,)] = σ σ f( σσ ) σ, σ {,} (.7) Prin inducţie rezultă: f( n,..., ) = ( σ {,} j n j= σ j j ) f( σ,..., σ ), j =,...,n (.8) n 7

cap. Elemente de algebră booleană Termenii de sumă pentru care ( σ,..., σ ) dispar, deci: f( n,..., ) = f n = n σ ( j j ) f( σ n,..., σ ) = j= ( FCD ) (.9) Epresia unei funcţii logice este suma mintermilor pentru care funcţia ia valoarea. Eemplu: U(,,z) = z + z + z + z = z + z + z + z (.) Forma canonică conjunctivă ( FCC ) se obţine astfel: f( = n,..., f( σ n,..., σ ) = ) = f( ( n j= n,..., σ j j ) = ) = f( σ n,..., σ ) = f( σ n,..., σ ) = ( n j= ( n j= σ j j ) σ j j ) = f( σ n,..., σ ) = ( n j= σ j j ) = (.) Epresia funcţiei logice poate fi scrisă deci ca produsul matermilor pentru care funcţia ia valoarea. Eemplu: U(,,z) = ( + + z )( + + z )( = ( + + z)( + + z)( + + z)( + + z) + + z )( + + z ) = (.).5 Implementarea funcţiilor logice Implementarea unei funcţii logice înseamnă realizarea ei cu ajutorul circuitelor (porţilor) fundamentale. Se defineşte cost al unei implementări numărul de intrări în circuitele fundamentale care realizează funcţia dată. Pentru implementarea unei funcţii cu circuite NAND se porneşte de la FCD: f( n σ j n,..., ) = Qk = Qk, Qk = j,k = σ n,..., f( σ n,..., σ ) = f( σ n,..., σ ) = j= Realizând Qk σ () (.) cu circuite NAND, funcţia f se obţine prin cuplarea ieşirilor circuitelor NAND precedente la intrările unui alt circuit NAND. Eemplu: f (,,z) = z + z + z + z (problema implementată de realaţia.8) 8

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE z z z z f Figura.6 Eemplu de implementare a unei funcţii logice cu circuite NAND, pornind de la FCD Costul implementării din figura.6 este: C ( f ) = + = 6 Pentru implementare cu circuite NOR se porneşte de la FCC: f( n σ j n,..., ) = Dk = Dk, Dk = j,k() = σ n,..., f( σ n,..., σ ) = f( σ n,..., σ ) = j= Funcţia f se obţine prin cuplarea ieşirilor circuitelor NOR ce implementează intrările unui alt circuit NOR. σ (.) D k la Eemplu: z z z z C ( f )= + = 6 f Figura.7 Eemplu de implementare a unei funcţii logice cu circuite NOR, pornind de la FCC Nivelul unei implementări logice se defineşte ca fiind numărul maim de circuite pe care le străbate un semnal de la intrare către ieşire. În cazurile precedente s-au considerat structuri logice cu două nivele. Eemplu: Fie f(,,z) = + z + z = zz (.) 9

cap. Elemente de algebră booleană z z C = + = 9; N = f f Figura.8 Eemplu de implementare a unei funcţii logice(.) cu NAND, pe două nivele, fără reducerea costului Rescriind relaţia (.) sub altă formă se obţine (.5). f(,,z) = + z(+) = z( + + = z (.5) Scăderea costului în varianta a doua s-a făcut pe seama creşterii nivelului, ceea ce implică însă micşorarea vitezei. z f C = + + + = 8; N = Figura.9 Eemplu de implementare a unei funcţii logice cu NAND (.), pe trei nivele, cu reducerea costului.6 Funcţii incomplet definite În unele cazuri, pentru anumite combinaţii de variabile de intrare nu este precizată valoarea funcţiei sau aceste combinaţii nu apar niciodată în sistemul fizic ce materializează funcţia. Astfel de funcţii se numesc funcţii incomplet definite şi prezintă valori indiferente, pe care în tabelul de adevăr le vom nota cu : z f

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE Un alt mod de reprezentare a acestor funcţii este prin echivalenţi zecimali (.6). f (,,z ) = R (,, ) + R (,5,6,7 ) (.6) f (,,z ) = R ( ) + R (,5,6,7 ) f (,,z ) = R ( ) + R (,, ).7 Minimizarea funcţiilor logice În proiectarea sistemelor digitale, analiza şi sinteza circuitelor numerice se bazează pe algebra booleană. Rezultă o legătură firească între gradul de compleitate al circuitului care se obţine şi gradul de compleitate al funcţiei care îl descrie. Din acest motiv, pentru sinteza circuitelor numerice (circuite funcţionând în regim de comutaţie), după etapa de definire a funcţiei, urmează obligatoriu etapa de minimizare a funcţiei în scopul obţinerii unei forme simplificate (formă minimă). Minimizarea unei funcţii este procedeul prin care, pentru un nivel dat, se obţine o epresie care generează un cost minim pentru un număr dat de nivele logice. Implementarea practică a circuitului se realizează pe baza formei minimizate, ceea ce conduce la configuraţia optimă de circuit. Eistă mai multe metode de minimizare, câteva dintre acestea fiind: - metoda analitică - metoda Veitch - Karnaugh - metoda Quine - McCluske.7. Metoda analitică Metoda analitica se bazează pe simplificarea epresiei unei funcţii pe baza aiomelor şi teoremelor algebrei booleene. Eemplu: f (,,z ) = z + z + z + z ; C = + = 6 (.7) Prelucrând forma dată a funcţiei, ea se poate rescrie: f(,,z) = z + z + z + z + z + z = = (z + z) + z( + ) + z( + ) = + z + z C = + = 9 ; (.8).7. Metoda Veitch - Karnaugh Această metodă transpune aiomele şi teoremele algebrei booleene pe reprezentarea funcţiei cu diagrame Karnaugh. O diagramă Karnaugh poate fi privită ca o reprezentare a funcţiei booleene, dacă se au în vedere produsele logice ale coordonatelor, prin mintermi, aşa cum se observă în reprezentarea care urmează.

cap. Elemente de algebră booleană Fiecare celulă din diagramă conţine un minterm. Două celule vecine conţin mintermi care diferă prin valoarea unei singure variabile. Prin adunarea mintermilor din două celule vecine se elimină variabila care îşi schimbă valoarea. Aceasta permite simplificarea epresiei funcţiei care se obţine şi implicit simplificarea structurii logice corespunzătoare Eemplu: \ \ FCD se obţine prin sumarea mintermilor pentru care funcţia ia valoarea. Prin gruparea celulelor vecine pentru care valoarea funcţiei este se obţin,, (prin eliminarea variabilelor care îşi schimbă valoarea în cadrul aceleiaşi grupări). Fiecare celulă ocupată de valoarea trebuie să facă parte din cel puţin o grupare, dar poate fi inclusă în mai multe grupări. Pentru eemplul considerat se obţine FMD: f (,, ) = + +. (.9) Dacă un grup de două celule vecine este vecin la rândul său cu un alt grup de două celule vecine, acestea se pot contopi într-un singur grup de patru celule vecine, ceea ce va permite eliminarea a două variabile. În general, un grup de m celule vecine ocupate de unităţi permite eliminarea a m variabile. Eemplu: f (,,, ) = + (.) \ Cel mai avansat grad de simplificare se obţine dacă valorile dintr-o diagramă Karnaugh sunt grupate într-un număr minim de grupuri, fiecare grup conţinând un număr maim de unităţi, aşa cum este eemplificat în diagrama care urmează. \

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE Eemplu: f(,,,, + + ) = + + + + (FMD) (.) Pentru simplitate, în diagramă nu s-au trecut decât valorile ale funcţiei. Costul este: C = ( + + + + + ) + 6 = 5 Implementarea cu circuite NAND este prezentată în figura.. Figura. Implementarea cu circuite NAND a funcţiei (.) f Pentru minimizarea funcţiilor scrise sub forma conjunctivă, în diagrama Karnaugh se vor considera disjuncţiile corespunzătoare valorilor ale funcţiei şi se va urma o procedură asemănătoare cu cea folosită la forma disjunctivă. Metoda constă în cuplarea de disjuncţii vecine din care va dispărea termenul corespunzător bitului ce se modifică, în echivalenţii binari. Eemplu: \ f( (, +,, +, + ) = ( ) ( + + + + ) ( + ) + + ) ( + + + ) (.) C = ( + + + + ) + 5 = Implementarea cu circuite NOR este prezentată în figura..

cap. Elemente de algebră booleană f Figura. Implementarea cu circuite NOR a funcţiei (.) În cazul funcţiilor incomplet definite, valorile indiferente ale funcţiei se iau pentru forma disjunctivă şi pentru forma conjunctivă dacă aceste valori participă la minimizare. Valorile indiferente care nu sunt cuplate devin pentru forma disjunctivă şi pentru forma conjunctivă. Considerarea valorilor indiferente determină simplificarea formei funcţiei care se obţine în sensul reducerii numărului de variabile. Eemplu: f (,,, ) = R (,,, ) + R (, 5,, 5 ) (.) \ \ f(,,, ) = + + ; C = + = (.) f(,,, ) = ( + )( + + )( + C + )( + + ); = ( + ) + = 5 (.5) \ \ f(,,, ) = + ; C = + = 6 (.6) f(,,, ) = ( + ); C = + = (.7)

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE Concluzia este că prin participarea valorilor indiferente la minimizarea funcţiilor incomplet definite se obţine o reducere a costurilor..7. Metoda Quine McCluske Pentru funcţii ce depind de mai mult de 5 variabile, metoda Veitch - Karnaugh devine greoaie şi se preferă o altă metodă, metoda Quine - McCluske. În cazul formei disjunctive, minimizarea prin această metodă presupune parcurgerea etapelor prezentate în continuare. ) Ordonarea echivalenţilor binari ai conjuncţiilor corespunzătoare valorilor ale funcţiei după pondere. Definiţie: n σ Ponderea conjuncţiei Qk = j j este numărul P = k ] j, unde j= j= este suma algebrică. Eemplu: P[ ] = P[ ] = + + + = (.8) Pentru o conjuncţie Q = Q Q, ponderea este P[Q]= P[Q ]+ P[Q ]. Lemă: Pentru două conjuncţii vecine ponderile diferă cu o unitate. P[i Q] = P[i] + P[Q] = + P[Q] P[ Q] = P[ ] + P[Q] = + P[Q] i i = P[Q] Reciproca nu este adevărată: P ) = P[ ] [ + ) Determinarea implicanţilor primi prin comparaţii succesive ale echivalenţilor binari. Definiţie: Se numeşte implicant prim al unei funcţii un termen al acesteia care nu se mai poate reduce. Pentru determinarea implicanţilor primi se cuplează echivalenţii binari care diferă doar printr-o cifră din acelaşi rang. Se obţine astfel primul tabel de comparaţii în care dispariţia variabilei corespunzătoare cifrei care se modifică se notează cu -. În continuare, se pot cupla două conjuncţii din grupe vecine dacă simbolul - se află în acelaşi rang şi echivalenţii binari diferă doar printr-o cifră din acelaşi rang. Rezultă al doilea tabel de comparare şi procedura se repetă. Conjuncţia care nu se mai poate cupla cu nici o altă conjuncţie din tabel este un implicant prim al funcţiei date. n 5

cap. Elemente de algebră booleană ) Determinarea tabelului de acoperire al funcţiei Tabelul de acoperire este un tablou rectangular, la care liniile corespund implicanţilor primi, iar coloanele corespund echivalenţilor zecimali ai conjuncţiilor pentru care funcţia ia valoarea. Tabloul se completează cu în poziţiile pentru care conjuncţiile de pe coloane realizează implicanţii primi de pe linii. ) Calculul formal de determinare a tuturor soluţiilor funcţiei Fiecărui implicant prim X i se ataşează o variabilă logică F care ia valoarea când implicantul prim este realizat (conform tabelului de acoperire). Pentru realizarea funcţiei este necesar ca în epresia ei să eiste toate conjuncţiile corespunzătoare valorilor ale funcţiei. Pentru determinarea tuturor soluţiilor funcţiei, se eprimă această cerinţă cu ajutorul variabilelor F. Eemplu: f (,,, ) = R (,,,, 7, 8,,,, 5 ) (.9) ) Ordonarea echivalenţilor binari 8 7 5 ) Determinarea implicanţilor primi -... A - - -... B - - - - -... C - - -... D - -... E - -... F 6

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE A = D = ; ; B = E = ; ; F = C = ; (.5) ) Determinarea tabelului de acoperire al funcţiei 7 8 5 A B C D E F ) Calculul formal de determinare a tuturor soluţiilor funcţiei ( F A + F E )( F A + F B )( F B + F F ) F E F F F E F F ( F C + F E )( F C + F D )( F D + F F ) = ( F A + F B ) F E F F ( F C + F D ) = (.5) F A F C F E F F + F A F D F E F F + F B F C F E F F + F B F D F E F F = Funcţia f poate avea epresii: f = A + C + E + F (.5) f = A + D+ E + F f = B + C+ E + F f = B + D+ E + F În prima variantă de obţine f(,,, ) = + + + (.5) Implementarea cu circuite NAND este prezentată în figura.. Figura. Implementarea cu circuite NAND a funcţiei (.5) f 7

cap. Elemente de algebră booleană În cazul formei conjunctive a funcţiilor, procedura este similară, dar se vor considera valorile ale funcţiei şi disjuncţiile corespunzătoare. Metoda Quine McCluske se pretează implementării automate a sistemelor numerice. Algoritmul bazat pe această metodă poate fi transpus în aplicaţii software care determină automat structura logică a circuitului. 8