Sunteți pe pagina 1din 15

MODULUL 6:

CIRCUITE LOGICE COMBINATIONALE

CIRCUITE LOGICE COMBINATIONALE (CLC).


SCHEMA BLOC. DEFINITIE.

Circuitele logice combinationale (CLC) / circuite de comanda directa sunt


circuite de comutatie caracterizate prin aceia ca valorile semnalelor/marimilor/variabilelor
de la iesire sunt determinate in intregime de combinatiile momentane ale
semnalelor/marimilor/variabilelor de la intrare.
CLC foloseste numai variabile primare. *)

Formal putem preciza ca un CLC poate fi descries prin tripletul:


CLC =  x, z, F
unde: x – este vectorul marimilor (binar) de intrare;
z – vectorul marimilor (binare) de iesire;
F – functie de transfer (intrare – iesire)
sau prin
fi : Bn → B B = 0,1
zi  fi  x0 , x1 ,...xn 1  i  0, m  1

Schema bloc pentru un CLC:


x0 z0
CLC
xn-1 zm-1

In abordarea CLC pot sa apara doua tipuri de problem de rezolvat:

i) Analiza unui CLC se poate formula astfel:


Se da structura CLC si cunoscandu-se marimile/si semnalele de intrare se cere sa
vedem semnalele de iesire.

Din punct de vedere matematic, problema analizei unui CLC implica necesitatea
scrierii unei functii booleene in forma canonica.
Legat de aceasta problema este de mentionat ca o functie logica poate fi reprezentata
sub urmatoarele forme:
1. exprimarea in limbaj natural;
1
2. reprezentarea analitica;
3. tabelul de adevar (tabelul de combinatii/tabele combinationala);
4. diagrama de combinatii (Veitch – Karnaugh);
5. forma numerica;
6. logigrama/schema logica;
7. modalitati neformale de reprezentare: organigrama, schema bloc.

ii) Sinteza consta in determinarea structurii unui CLC pe baza unor conditii stricte de
functionare.

Din punct de vedere matematic, problema sintezei unui CLC conduce la necesitatea
minimizarii unei functii booleene.
Dintre metodele representative de minimizarea functiilor booleene mentionam:
a) Metoda bazata pe axiomele si teoremele algebrei booleene;
b) Metoda diagramelor (Veitch) - Karnaugh (diagrama de combinatii);

UNELE ASPECTE PRIVIND REALIZAREA CLC. HAZARDUL

 UNELE ASPECTE PRIVIND REALIZAREA CLC


In realizarea CLC trebuie sa avem in vedere trei notiuni de baza, care coroboreaza la
obtinerea unui circuit cat mai simplu tehnologic, cat mai ieftin si cat mai sigur.
Aceste notiuni sunt:
- complexitatea C(n);
- adancimea D(n);
- dimensiunea S(n).

COMPLEXITATEA unui circuit cu n intrari C(n) este o marime asociata dimensiunii


definitiei/descrierii acelui circuit.

ADANCIMEA Pentru un CLC cu n intrari, adancimea D(n) este egala cu numarul maxim
de niveluri logice (porti) prin care se propaga un semnal de la intrare pana la iesire.
D(n) permite aprecierea timpului de propagare a unui semnal printr-un CLC.
Daca:
 p este timpul de propagare printr-o singura poarta;
n numarul de niveluri logice
atunci timpul de propagare prin CLC este de n   p iar frecventa de lucru a CLC-ului este

1
f 
n  p
2
DIMENSIUNEA S(n) asociata unui circuit cu n intrari se exprima prin numarul de intrari al
tuturor circuitelor integrate din care este configurat acel circuit (n este numarul de intrari).

Portile logice uzuale in implementarea functiilor booleene sunt AND (SI), OR


(SAU), NAND (SI-NU) si NOR (SAU-NU).
Pornind de la aceste patru tipuri de porti si impunandu-se doua niveluri de
implementare, rezulta 24 = 16 combinatii de implementare, dintre care:
 opt variante sunt numite variante degenerate deoarece se reduc la un singur
operator, de exemplu AND pe primul nivel si tot AND pe al doilea, ceea ce conduce
la un AND de toate variabilele: AND-AND, AND-NAND, OR-OR, OR-NOR,
NAND-OR, NAND-NOR, NOR-AND, NOR-NAND.
 opt variante nedegenerate, si anume:

AND-OR OR-AND
NAND-NAND NOR-NOR
NOR-OR NAND-AND
OR-NAND AND-NOR

observandu-se ca pe linie sunt duale iar, primele doua pe linie constituindu-se in variantele
de baza pentru implementare directa a formelor disjunctive si conjunctive.

 Compararea variantelor de realizare a unui CLC se face printr-un indice / parametru


sintetic reprezentat de raportul cost/performanta (altfel spus, cat costa unitatea de
performanta).
Costul este determinat de S(n), dar si de C(n).
La luarea unei decizii in ceea ce priveste adoptarea unei variante de implementare
trebuie sa se tina seama si de un aspect calitativ reprezentat de necesitatea unei functionar
corecte, deci eliminarea fenomenului de hazard.
De asemenea se impune de multe ori, cel putin in ultimul timp, ca un circuit realizat
sa fie reconfigurabil. Sau altfel spus sa-si poata adapta structura la diverse aplicatii si
situatii.

 HAZARDUL
In analiza unui CLC se face o ipoteza simplificatoare: in regim static, cand intrarile
si iesirile nu au variatii in timp, se presupune, ca din momentul modificarii marimilor de
intrare a trecut un timp mult mai lung decat timpul de propagare prin circuitul studiat (regim
tranzitoriu). Altfel spus, iesirea este stabilizata.
In consecinta, valoarea logica a iesirii in regim static se poate determina corect prin
functia de lucru a circuitului.
Dar in regim tranzitoriu, valoarea ideala logica nu coincide cu valoarea logica a
iesirii calculate cu functia logica (functie de lucru). Valoarea logica a iesirii devine egala cu
cea calculata abia dupa trecerea regimului tranzitoriu.

3
Se spune ca un CLC in aceasta situatie are o functionare hazardata
(necontrolabila) si, fiind vorba de o analiza in regim static, se spune ca se manifesta un
hazard static.
Concret, fizic, hazardul se manifesta prin aparitia la iesire a unor impulsuri parazite
(glitch-uri) fie cu nivel logic H, fie cu nivel logic L.
Cauzele hazardului:
a) Datorita comutarii asincrone a marimilor la intrare - hazard datorita
asincronismului la intrare;
b) Hazardul de propagare apare ca urmare a propagarii pe doua trasee diferite
a aceleiasi variabile de intrare.

IMPLEMENTAREA EXPRESIILOR BOOLEENE

Exista doua forme standard de expresii booleene


i) Suma de produse (SOP – Sum – Of – Products)
Daca intr-o astfel de expresie fiecare termen-produs contine toate variabilele
(sau complementele lor) se spune ca avem o expresie canonica suma de
produse iar termenii produs se numesc termini-produs canonici (minterms).
Nota
 Expresia canonica suma-de-produs poate fi obtinuta dintr-o expresie necanonica
suma-de-produse prin multiplicarea fiecarui termen cu expresia  x  x  y  y 

unde x, y sunt variabile care nu sunt in termenul produs considerat.

ii) Produs de sume


Daca intr-o astfel de expresie fiecare termen-suma contine toate variabilele (sau
componentele lor) se spune ca avem o expresie canonica produs de sume iar
termenii produs se numesc termen-suma-canonici (maxterms).
 Convertirea unei expresii necanonice intr-o forma canonica se face prin formarea
functiei inverse.

IMPLEMENTARI ALTERNATIVE

Paragraful acesta doreste sa puna in evident posibilitatile de implementare a unei


aceeasi functii booleene in moduri diferite depinzand de o serie de conditii particulare: tipul
circuitelor folosite, indicarea precedentei, etc.
) Suma de produse

Aceasta forma presupune existent unei porti SAU (OR) care face suma unor termini
ce reprezinta produse de marimi (variabile) deci porti AND (SI) (figura a).

4
Daca la o astfel de expresie se aplica formula lui De Morgan se poate trece la o
utilizare de porti NAND – NAND (figura b).
Exista un simbol alternativ pentru portile NAND, simbol ce permite evidentierea

mai clara a functiilor dorite (figura c). Simbolul se bazeaza pe relatia x  y  z  x  y  z ce

este similara cu o functie NAND.


Negarea simbolizata cu un cerculet de la iesirea circuitelor NAND se anuleaza cu
cea de la intrarea simbolului alternativ.

Exemplu
Se da f  a, b, c   abc  abc  abc

Cu De Morgan:

f  a, b, c   abc  abc  abc  abc  abc  abc


a b c a b c

f f

Operatia Operatia
AND SAU
a) b)
care se realizeaza cu o singura poarta, poarta NAND.

a b c

y f

z
Poarta
NAND

c)

) Produs de sume

Si aici putem avea un simbol alternativ (a se vedea exemplul)


5
Exemplu
Se da: f  a  b  c a  b  ca  b  c
a b c a b c

f f

a) b)
Sau

f   a  b  c  a  b  c  a  b  c    a  b  c  a  b  c  a  b  c 
cu varianta:

f  a  b  c a  b  ca  b  c  a b  c  a b  c   a b  c 
care permite o implementare NOR-NOR.
a b c a b c

f
f

Poarta
NAND

c) d)
De unde implementarea alternativa (figura d).

) Implementari multinivel

Se observa ca daca nu consideram inversoarele, implementarile au doar doua nivele,


adica semnalul trece prin doua porti de la intrare la iesire.
Daca apelam la factorizarea expresiei putem sa obtinem o structura cu mai multe
nivele dar cu avantajul micsorarii numarului de intrari pe poarta. Apare dezavantajul unor
intarzieri mai mari.

6
Exemplu
Fie f  abc  abd  abe  ax

care poate fi scrisa si ca f  ab  c  d  e   ax

a b c d e x

REPREZENTARE CLC. SIMPLIFICAREA CLC.

Vom repune in discutie problema modalitatilor de reprezentare a unui CLC si legat


de aceasta de aspectele legate de simplificarea CLC.
Legat de ascest ultimo aspect exista doua aspecte.
i) Obtinerea formulei de structura / functiei booleene sub forma minima,
respective numar minim de termini.
ii) Implementarea formulei minimale cu un minim de porti logice.
Simplificarea expresiilor logice si implementarea minimal fizica conduce la costuri
minimale dar si la o functionare mai rapida ( cu atat mai rapida cu cat numarul de niveluri e
mai mic).
Simplificarea se poate realize in principal, in doua moduri:

1. Simplificare algebrica a functiilor / expresiilor booleene


Metoda se bazeaza pe utilizarea identitatilor si legilor booleene prin una din
urmatoarele proceduri aplicate intrarilor:
i) Utilizarea identitatilor dupa grupare
- Gruparea termenilor se realizeaza pe baza proprietatii de asociativitate, dupa
care se aplica identitatea a + 1 = 1 pentru simplificarea expresiei.
Exemplu
f  a, b, c   a  ac  abc  a 1  c  bc   a

- Se mai poate proceda la dublarea termenilor deoarece a  a  a


- De asemeni urmatoarea identitate, desi ea nu e considerate identitate de baza:
a  ab  a  b
- Din aceeasi categorie cu cea de mai sus fac parte si o identitate si duala sa
cunoscute ambele ca teorema consensului

7
ab  ac  bc  ab  ac
*)
 a  b  a  c  b  c    a  b  a  c 
ii) Extinderea in forma canonica urmata de reducere
Si aici se poate folosi dublarea termenilor pentru a forma grupuri.
Exemplu
f  a, b, c   ab  abc  abc  abc 
 ab  c  c   abc  abc  abc 
 abc  abc  abc  abc  abc 
 abc  abc  abc  abc  abc  abc 
 ab  c  c   ac  b  b   ab  c  c  
 ab  ac  ab

iii) Folosirea teoremei De Morgan


Teorema se foloseste de cele mai multe ori impreuna cu identitatile booleene
de baza.
Nu exista o procedura de aplicare a teoremei dar, in principiu se alege intre
“combinarea” si “spargerea” barelor, tinand cont de identitati de tipul x  x  0 .

2. Minimizarea prin diagrame/tabele Veitch – Karnaugh


Este o tabela cu intrare dubla (pe linii si coloane). In cazul unei functii de n

variabile se scrie n  p  q si se construieste diagrama cu 2 p linii si 2q coloane. Se alege


p  q daca n  par si diferind cu o unitate daca este impar. Fiecare compartiment
corespunde unui termen canonic al functiei si in el se trece valoarea functiei boleene
corespunzator acestui termen.
Metoda se bazeaza pe proprietatile de adiacenta a numeratiei binare reflectate.
Problemele de reprezentare si simplificare pentru CLC se vor face printr-o
exemplificare.

1. Exprimarea in limbaj natural

Problema
Sa se realizeze o schema/circuit logic combinational avand trei butoane a, b, c de
comanda si o lampa de semnalizare la iesire, care sa indeplineasca urmatoarele conditii:
- daca variabilele a, b si c nu sunt actionate, lampa este aprinsa;
- daca a si b e neactionat si c actionat, lampa e stinsa, etc.

8
2. Tabela de adevar (combinationala)

a b c f
0 0 0 0 1  abc
1 0 0 1 0
2 0 1 0 1  abc
3 0 1 1 0
4 1 0 0 0
5 1 0 1 1  abc
6 1 1 0 1  abc
7 1 1 1 1  abc

3. Diagrama de combinatii (Veitch – Karnaugh)

abc  abc  c
ab 00 01 11 10
1 1 1 0
 a c b  b   0
1 0 0 1 1  abc
ac

abc  abc  ab

Grupari (“acoperirea” 1 – urilor)

b

bc
a 00 01 11 10
ab 0 1 1 0 0
a  1 0 0 0 1 abc

f  a, b, c   abc  abc  abc  ab  abc

Grupari intre margini


bc
a 00 01 11 10
0 1 0 0 1 ac
1 0 0 0 1

9
Grupari mai mari
bc
a 00 01 11 10
0 1 1 0 0
1 1 1 0 0
b

bc
a 00 01 11 10
0 0 0 0 1 a
1 1 1 1 1

bc
a 00 01 11 10
0 1 0 0 1
1 1 0 0 1
c

bc
a 00 01 11 10
1
0 1 1 1 1
1 1 1 1 1

f  a, b, c, d   abcd  abcd  abcd  abcd  abcd  abcd  abcd  abcd

bc
a 00 01 11 10 ad
00 0 1 1 0 (IP esential)
01 0 1 1 0
11 0 1 0 0 ab d
10 1 1 0 1 (IP esential)

cd
Implicantii:
 grupurile de pe o diagrama Veitch-Karnaugh care includ casute cu „1”;
 grupurile care nu includ grupuri continute in alte grupuri mai largi = implicanti
primi (ei nu pot fi combinati cu altii pentru a-i face mai mari.
Cerinta: selectarea de implicanti primi care sa acopere cel mai bine functia

 Implicanti primi esentiali sunt IP care acopera cel putin un 1 care nu poate fi
acoperit de alti IP si sunt necesari pentru solutie.
 Implicanti primi neesentiali sunt acei IP care nu sunt esentiali dar care acopera
totusi 1-uri care nu sunt acoperite de IP esentiali (ei nu pot fi ceruti de solutie).
 IP redundanti (esentiali) – acopera numai 1-uri care sunt deja acoperite de unul sau
mai multi IP esentiali.

10
4. Reprezentarea analitica

Din tabela de adevar se poate da reprezentarea analitica fie dupa expresia normala
dijunctiva („dupa 1”), fie dupa expresia normal conjuctiva („dupa 0” al functiei):
f1  abc  abc  abc  abc  abc

respectiv
f2   a  b  c   a  b  c   a  b  c 

Cu diagrama de combinatii obtinem direct o forma minimal a unei functii suma de


termini necanonici.

f  a c  ab  abc

5. Forma numerica
f1  R  0, 2,5, 6, 7 
f 2  R 1,3, 4 

6. Logigrama/schema logica

Pentru
f1  a c  ab  abc

logigrama va fi:
a b c

7. Modalitati neformale de reprezentare

11
Functiile boolene sunt in forma necanonica.

In cazul unei astfel de expresii se poate obtine o extensie in forma canonica


(reflectata intr-o diagrama V – K) prin utilizarea unor identitati.
Exemplu:
f  a, b, c, d   abc  acd  abc  abc  abcd

abc ab
cd
ab 00 01 11 10
00 1 1 1 1 abc
01
11 1
10 1 1 1 abcd

abc acd acd bd

Functii specificate incomplete

Uneori o functie nu este definita decat pentru combinatiile care pot sa existe afectiv,
deci nu pentru toate combinatiile posibile ale variabilelor de intrare. Rezulta o functie
incomplet definita.

Exemplu
Se da:
a b c f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 X
1 0 1 X
1 1 0 1
1 1 1 0

unde prin X s-au notat situatiile pentru care nu avem combinatii posibile: 100 si 101.
Intrarile acestea pentru care nu se defineste functia f sunt denumite intrari
nedefinite (don’t cares).
Diagrama V – K este urmatoarea:

12
bc
a 00 01 11 10 bc
0 1 1
1 X X 1
ab bc bc bc

In functie de solutia pe care vrem sa o avem la minimizare, aceste casute cu X pot fi


considerate 0 sau 1.
bc
a 00 01 11 10 bc
0 1 1
1 X X 1
bc
Exista situatia de combinatii de intrare care nu apar. Astfel de cazuri sunt
determinate de situatii cand se interconecteaza doua subsisteme si cand pot apare la
jonctiunea dintre ele situatii nedefinite de combinatiile amonte de variabile.

f
a
h
b CLC 1 CLC 2
g
c

a b c f g
0 0 0 0 0
0 0 1 1 0 Nu toate perechile
0 1 0 0 0 f si g sunt generate.
0 1 1 1 1 De exemplu
1 0 0 0 0 f 0
perechea 
1 0 1 0 0 g  1
1 1 0 1 1
1 1 1 1 1

Implementarea functiilor boleene

 Fie expresia:
f  a, b, c   ab  abc  ac

- Implementarea prin porti SI, SAU, NU

13
a b c

Implementarea s-a facut pe trei nivele (daca negarile se realizau pe bare pe intrare
implementarea ar fi fost pe doua nivele).

- Se scrie forma canonica

f  a, b, c   ab  abc  ac 
 ab  c  c   abc  ac  b  b  
 abc  abc  abc  abc  abc 
 abc  abc  abc  abc

- Exprimare numerica
Termen canonic Numar Numaratoare

abc 000 P0
abc 001 P1
abc 010 P2
abc 011 P3 f  a, b, c     2, 4,5, 7 
abc 100 P4
abc 101 P5
abc 110 P6
abc 111 P7

14
 Fie expresia:


f  a, b, c    a  b  c  a  b a  c

- Implementare prin porti SI, SAU, NU

a b c

- Se scrie forma canonica:

f  a, b, c    a  b  c   a  b   a  c  

 a  b  c   a  b  a  c 
 a  b  c  a  b  a  c  abc  ab  c  c   a c 
 abc  abc  abc  abc  abc 
 abc  abc  abc  abc 
  abc    abc    abc    abc  
  a  b  c   a  b  c  a  b  c   a  b  c 

- Expresia numerica

Termen canonic Numar Numaratoare

a b c 000 S0
a bc 001 S1
a bc 010 S2
a bc 011 S3 f  a, b, c     2, 4,5, 7 
ab c 100 S4
ab c 101 S5
abc 110 S6
abc 111 S7

15

S-ar putea să vă placă și