Sunteți pe pagina 1din 9

56

Arhitectura calculatoarelor

sau:

 

F

= ABC + ABC + ABC

 

Complementând din nou, se ob ţine func ţ ia iniţ ială :

F = ABC + ABC + ABC

 
 

= ABC ABC ABC

sau

= (A + B + C)(A + B + C)(A + B + C)

F

= S

4

S

5

S

6

3.4. Minimizarea func ţ iilor booleene

Minimizarea constă în ob ţinerea formei celei mai simple de exprimare a fun- c ţiilor booleene în scopul reducerii numă rului de circuite şi a numă rului de intr ă ri ale acestora.

3.4.1 . Metoda algebrică

Metoda algebric ă constă în aplicarea succesivă a postulatelor şi teoremelor algebrei booleene scrise sub formă canonic ă disjunctivă sau conjunctivă . O func ţie care nu este specificată iniţial sub o formă canonic ă poate fi adusă la această formă . În vederea minimiz ă rii, se urmă re şte reducerea numă rului de termeni ai expre- siei, a numă rului de apari ţii ale variabilelor şi a numă rului de variabile din fiecare ter- men. Apariţia unei variabile complementate sau necomplementate reprezintă un literal. Consider ă m urmă toarea func ţ ie:

F (A, B, C) = ABC + ABC + ABC + ABC + ABC + ABC

Grupând termenul 1 cu 2, 3 cu 5 şi 4 cu 6, se ob ţine:

F (A, B, C) = AB + BC + AC

Grupând termenul 1 cu 3, 2 cu 4 şi 5 cu 6, se ob ţine:

F (A, B,C) = AC + BC + AB

Acestea reprezintă expresii minimale ale func ţiei. Deci, o expresie minimală a unei func ţii nu este, în mod obligatoriu, unică . Metoda algebric ă necesită experienţă , devenind dificilă dac ă expresia ini ţială a func ţiei este complicată . Un alt dezavantaj este faptul că nu se poate stabili cu uş urinţă dac ă forma ob ţinută este minimă sau se mai poate simplifica. Din aceste motive, în practic ă se utilizează metode grafice de minimizare.

3. Circuite logice digitale

57

3.4.2. Metoda diagramelor Karnaugh

Folosirea unei diagrame pentru simplificarea funcţiilor booleene a fost sugerată pentru prima dată de E. Veitch. Ulterior, M. Karnaugh propune de asemenea o formă de diagramă în acela şi scop, rezultând diagrama Karnaugh. Această diagramă se utilizeaz ă în mod curent pentru reprezentarea func ţiilor booleene cu un numă r relativ mic de vari- abile.

3.4.2. 1. Reprezentarea func ţiilor prin diagrama Karnaugh

O diagramă Karnaugh constituie o variantă modificată a unui tabel de adevă r.

În general, o diagramă Karnaugh pentru o funcţ ie booleană de n variabile se reprezintă sub forma unui p ă trat sau dreptunghi împ ă r ţ it în 2 n p ă trate (compartimente), fiecare p ă -

trat fiind rezervat unui termen canonic al funcţiei. Diagramele Karnaugh pentru func ţiile de 2, 3 şi 4 variabile sunt prezentate în Figura 3.3.

de 2, 3 ş i 4 variabile sunt prezentate în Figura 3.3. Figura 3.3. Diagrame Karnaugh

Figura 3.3. Diagrame Karnaugh pentru funcţ iile booleene de 2, 3 şi 4 variabile.

O diagramă Karnaugh se noteaz ă fie indicând pe linie şi coloană combina ţ iile

corespunz ă toare fiec ă rui p ă trat şi ordinea variabilelor (Figura 3.3(a)), fie indicând do- meniul fiec ă rei variabile (Figura 3.3(b)). Pentru a se putea reprezenta în mod simplu func ţii date în mod convenţ ional prin indicii termenilor canonici, se poate nota fiecare compartiment cu indicele termenului canonic corespunză tor.

O diagramă Karnaugh este astfel organizată încât două p ă trate vecine (cu o

latur ă comună ) pe o linie sau pe o coloană corespund la combina ţii care difer ă printr-o

58

Arhitectura calculatoarelor

singur ă cifr ă binar ă , deci la doi termeni canonici care difer ă printr-o singur ă variabilă , care apare într-unul din termeni sub formă complementată , iar în celă lalt sub formă necomplementată . Asemenea două p ă trate vecine, ale că ror termeni canonici difer ă printr-o singur ă variabilă , se numesc adiacente. Se consider ă adiacente şi p ă tratele aflate la capetele opuse ale unei linii, res- pectiv coloane, dup ă cum se ilustreaz ă în Figura 3.4. De aceea, este convenabil s ă se priveasc ă aceste diagrame ca suprafe ţe care se închid la margini. De exemplu, la o dia- gramă de 4 variabile, p ă tratele 0 şi 2, sau 0 şi 8 sunt adiacente. Deoarece unui termen canonic cu n literale îi corespund n termeni care difer ă printr-un literal, într-o diagramă cu n variabile fiecare p ă trat are n p ă trate adiacente.

fiecare p ă trat are n p ă trate adiacente. Figura 3.4. Ilustrarea adiacen ţ ei

Figura 3.4. Ilustrarea adiacen ţ ei p ătratelor de la capetele opuse ale liniilor.

În general, o func ţie booleană de n variabile se poate reprezenta în spa ţiul n- dimensional al celor n variabile sub forma unui hipercub. Fiecă rui termen canonic al func ţiei îi corespunde un vârf al hipercubului. Un grup de 2 m puncte (m < n), fiecare dintre ele adiacente la m puncte ale grupului, se nume şte subcub, şi se spune c ă subcubul acoper ă aceste puncte ale grupului. În diagrama Karnaugh, fiecare p ă trat corespunde unui vârf al cubului n- dimensional din reprezentarea geometrică a func ţiei. O func ţie booleană dată sub forma canonic ă disjunctivă poate fi reprezentată pe o diagramă Karnaugh marcând cu 1 p ă tratele corespunz ă toare mintermenilor func ţi- ei. Există o reprezentare similar ă pentru forma canonic ă conjunctivă a func ţ iei. În dia- gramă se trece valoarea 0 în p ă tratele corespunz ă toare maxtermilor.

3.4.2.2. Minimizarea funcţiilor prin diagrama Karnaugh

Modul de reprezentare prin diagrama Karnaugh este avantajos pentru minimi- zare, deoarece doi termeni canonici care difer ă printr-o variabil ă sunt adiacenţi. Ace şti doi termeni se pot înlocui cu un termen în care lipse şte variabila prin care difer ă cei doi termeni.

Exemplul 3.4

F(A, B,C, D) = P + P

4

6

Func ţia este reprezentată în Figura 3.5.

3. Circuite logice digitale

59

3. Circuite logice digitale 59 Figura 3.5. Reprezentarea func ţ iei din Exemplul 3.4. Se ob

Figura 3.5. Reprezentarea funcţ iei din Exemplul 3.4.

Se ob ţine prin minimizare:

F (A, B, C, D) = ABC D + ABC D = ABD

În reprezentarea geometrică a unei funcţii booleene, doi termeni canonici care difer ă printr-o variabil ă corespund la două vârfuri adiacente, deci definesc o latură a cubului n-dimensional. De aceea, se spune că două p ă trate adiacente de pe diagramă reprezintă un subcub unidimensional. Un grup de 4 p ă trate adiacente, dintre care fiecare este adiacent cu alte două p ă trate din acelaşi grup, formeaz ă un subcub bidimensional. Cei patru termeni canonici corespunz ă tori acestor p ă trate au o parte comună formată din două variabile, şi pot fi înlocui ţi cu partea lor comună .

Exemplul 3.5

F(A, B,C, D) = P + P + P + P

0

1

4

5

Func ţia este reprezentată în Figura 3.6.

P 0 1 4 5 Func ţ ia este reprezentat ă în Figura 3.6. Figura 3.6.

Figura 3.6. Reprezentarea funcţ iei din Exemplul 3.5.

Se ob ţine:

F(A, B,C, D) = ABCD + ABCD + ABCD + ABCD = AC

Alte adiacenţe posibile sunt prezentate în Figura 3.7.

60

Arhitectura calculatoarelor

60 Arhitectura calculatoarelor Figura 3.7. Unele adiacen ţ e posibile pentru func ţ iile de 4

Figura 3.7. Unele adiacen ţ e posibile pentru funcţ iile de 4 variabile.

Pe o diagramă de 4 variabile se pot forma şi subcuburi tridimensionale, care cuprind 8 p ă trate grupate astfel încât fiecare din ele este adiacent cu alte trei din acelaşi grup. Termenii canonici corespunză tori p ă tratelor care formează un subcub tridimensio- nal au o parte comună formată dintr-o singur ă variabilă , ş i pot fi înlocuiţi cu această variabilă .

Exemplul 3.6

F(A, B,C, D) = P + P + P + P

1

3

5

7

+ P

9

+ P

11

+ P

1 3

+ P

1 5

Func ţia este reprezentată în Figura 3.8.

3 + P 1 5 Func ţ ia este reprezentat ă în Figura 3.8. Figura 3.8.

Figura 3.8. Reprezentarea funcţ iei din Exemplul 3.6.

Rezultă prin minimizare:

F(A, B,C, D) = D

În general, fiecare subcub m-dimensional se poate exprima printr-un produs de n-m literale, cele m literale care nu apar fiind eliminate datorită adiacenţei. Deci, numă - rul de literale este cu atât mai mic, cu cât este mai mare dimensiunea subcubului. Rezultă urmă toarea procedur ă de minimizare:

Se reprezintă func ţ ia pe diagramă , exprimat ă de obicei prin forma canonic ă disjunctivă .

1 .

3. Circuite logice digitale

6 1

2. Se grupeaz ă p ă tratele marcate cu 1 astfel încât să se ob ţină subcuburi cu di- mensiunea cea mai mare posibilă . Astfel, pentru o diagramă cu n variabile, se caută să se formeze în primul rând subcuburi cu dimensiunea n-1 , apoi n-2, şi în final, subcuburi unidimensionale. Fiecare p ă trat marcat cu 1 trebuie să fie cuprins într-un subcub, dar acela şi p ă trat poate face parte din mai multe subcuburi, conform teoremei de idempotenţă .

3. Se scrie expresia finală a func ţiei, corespunz ă toare numă rului minim de subcuburi cât mai mari posibile şi care acoper ă toate p ă tratele marcate cu 1 . Aplicând teoremele algebrei booleene, func ţia ob ţinută se poate adapta pentru o implementare cu un anumit tip de circuit.

Exemplul 3.7

+

O primă grupare a subcuburilor este cea din Figura 3.9(a).

F(A, B,C, D) = P + P

1

3

+

P

9

P

1 0

+

P

11

+ +P

1 2

+ P

1 3

+ P

1 4

+ P 1 3 + P 9 P 1 0 + P 11 + + P

Figura 3.9. Dou ă grup ări diferite ale subcuburilor pentru funcţ ia din Exemplul 3.7.

Prin această grupare se ob ţine:

F (A, B, C, D) = BD + ABC + ACD

Dac ă se grupeaz ă subcuburile ca în Figura 3.9(b), se ob ţine:

F (A, B, C, D) = BD + ABD + ACD + ABC

Aceasta nu reprezintă forma minimă , deoarece nu corespunde numă rului mi- nim de subcuburi.

Exemplul 3.8

F(A, B,C, D) = P

3

+ P

7

+

P

8

+

P

9

+

P

1 2

+

P

1 3

+ P

1 5

Func ţia este reprezentată în Figura 3. 1 0.

62

Arhitectura calculatoarelor

62 Arhitectura calculatoarelor Figura 3.10. Reprezentarea func ţ iei din Exemplul 3.8. Exist ă 4 subcuburi,

Figura 3.10. Reprezentarea funcţ iei din Exemplul 3.8.

Există 4 subcuburi, care reprezintă termenii AC , ABD, BCD, ACD . Ace ştia pot fi grupa ţi în două moduri pentru a acoperi toate p ă tratele marcate cu 1 cu un numă r minim de subcuburi. Rezultă două forme minime:

F (A, B, C, D) = AC + ABD + ACD

F (A, B, C, D) = AC + BCD + ACD

Pentru minimizarea funcţiilor exprimate printr-un produs de sume, procedeul este similar, subcuburile formându-se în poziţiile în care valoarea func ţiei este 0. La scrierea func ţiei se ţine cont de faptul c ă termenii reprezintă maxtermi.

Exemplul 3.9

F(A, B,C, D) = S

0

S

1

S

2

S

4

S

5

S

6

S

1 0

S

11

S

1 4

Func ţia este reprezentată în Figura 3. 11 .

S 1 4 Func ţ ia este reprezentat ă în Figura 3. 11 . Figura 3.11.

Figura 3.11. Reprezentarea funcţ iei din Exemplul 3.9.

Rezultă :

F (A, B, C, D) = (A + C)(C + D)(A + B + C)

Pentru a determina care dintre cele două forme minime, disjunctivă sau con- junctivă , conduce la un numă r mai mic de circuite, trebuie determinate ambele forme. Dac ă se dispune de por ţi SAU-NU, este avantajos să se ob ţină forma minimă conjuncti-

3. Circuite logice digitale

63

vă . Dac ă se dispune de por ţi ŞI-NU, este avantajos să se ob ţină forma minimă disjuncti-

vă .

Se poate ob ţine forma disjunctivă minimă pentru func ţ ia negată , grupând zero- urile şi scriind termenii minimali.

Exemplul 3. 10

F(A, B,C, D) = P + P + P + P

1

5

6

7

+ P

8

+ P

9

+ P

1 2

+ P

1 3

Reprezentarea func ţiei este dată în Figura 3. 1 2.

Reprezentarea func ţ iei este dat ă în Figura 3. 1 2. Figura 3.12. Reprezentarea func

Figura 3.12. Reprezentarea funcţ iei negate din Exemplul 3. 10.

Se ob ţine pentru func ţia negată :

F (A, B, C, D) = AC + BC + AC D

3.4.2.3. Minimizarea funcţ iilor incomplet definite

O func ţie este incomplet definită dac ă în anumite puncte ale domeniului poate lua valoarea 0 sau valoarea 1 . Există şi situa ţii în care anumite combinaţii ale variabilelor sunt interzise. O combina ţie interzisă este denumită redundanţă , şi pentru o astfel de combinaţie se poate atribui drept valoare a func ţiei 0 sau 1 . Dac ă o func ţie este nedefinită în k puncte sau există k combina ţii interzise, re- zultă 2 k func ţii distincte posibile. Procedeul de minimizare este în acest caz urmă torul:

Se reprezintă func ţ ia pe diagramă , notând cu 1 poziţiile corespunz ă toare varia- bilelor pentru care valoarea funcţiei este 1 şi cu × poziţiile corespunz ă toare va- riabilelor pentru care valoarea funcţiei este nedefinită .

2. Se ob ţin subcuburi cu dimensiunea cât mai mare, folosind în acest scop şi p ă - tratele notate cu ×, considerându-le marcate cu 1 .

3. Se procedeaz ă în continuare ca şi la minimizarea func ţiilor complet definite, cu observa ţia c ă se utilizeaz ă numai subcuburile care conţin cel puţ in un p ă trat notat cu 1 .

1

.

64

Arhitectura calculatoarelor

Exemplul 3. 11

F (A, B, C, D) =

(0, 1, 2, 5, 8, 11, 1 5) +

Φ

(3, 4, 7, 1 0, 1 4)

Combina ţiile indiferente sunt 3, 4, 7, 1 0, 1 4. Func ţia este reprezentată în Figura

3. 1 3.

1 4. Func ţ ia este reprezentat ă în Figura 3. 1 3. Figura 3.13. Reprezentarea

Figura 3.13. Reprezentarea funcţ iei incomplet definite din Exemplul 3. 11 .

Func ţia se poate scrie sub mai multe forme:

F (A, B, C, D) = BD + AC + AC

F (A, B, C, D) = BD + AC + CD

F (A, B, C, D) = BD + AD + AC

F (A, B, C, D) = BD + AD + CD

3.5. Circuite logice combinaţionale

3.5.1 . Convertoare de cod

Convertoarele de cod au, în cazul general, n intr ă ri şi m ie şiri, şi se utilizeaz ă pentru transformarea informaţiei din codul cu n bi ţi în codul cu m bi ţi. Pentru proiectarea unui convertor de cod se poate utiliza tabelul de corespon- denţe între cuvintele binare ale celor două coduri. Fiecare poziţie din codul sursă se no- teaz ă cu o variabilă , totalitatea acestora reprezentând intr ă rile circuitului combina ţional. Fiecare poziţie din codul destinaţie se notează cu o variabilă , totalitatea acestora repre- zentând ie şirile circuitului. Tabelul de corespondenţe se transformă astfel în tabel de adevă r pentru func ţiile realizate de circuit, care arată dependenţa variabilelor de ieşire de cele de intrare. Se consider ă conversia din codul binar-zecimal 842 1 (BCD) în codul binar- zecimal exces 3. Poziţiile cuvântului binar din codul BCD se notează cu D, C, B, A, iar