Sunteți pe pagina 1din 49

IV.

CIRCUITE LOGICE
COMBINAIONALE

4.1. Definiii


Circuitele logice combinaionale, CLC, sunt un caz


particular al automatelor finite (mainilor de stare FSM) - automate de grad 0
CLC se caracterizeaz prin faptul c variabilele de
ieire sunt independente de timp i de starea intern
i sunt determinate doar de variabilele de intrare
Practic, datorit ntrzierilor produse de circuitele
logice i de conexiuni, modificarea variabilelor de
ieire simultan cu cele de intrare nu este realizabil

06.11.2015

Curs 5 ASDN

4.1. Definiii


Schema bloc:
x1
x2

y1
y2
CLC
ym

xn

Funcia de transfer - exprim legtura ntre starea


ieirii i starea intrrii
Orice funcie de ieire y (y1, y2,, ym) este funcie
de toate variabilele de intrare (x1, x2,, xn)




y1 = f1(x1, x2,, xn)


y2 = f2(x1, x2,, xn)
ym = fm(x1, x2,, xn)

06.11.2015

Curs 5 ASDN

4.2. Analiza CLC




Se cunoate schema logic a circuitului i se


urmrete stabilirea funcionrii acestuia
Expresiile ieirilor se determin pornind de la intrri
i urmrind transformrile acestora
Definiie - numr de nivele al unui CLC = numrul
maxim de pori dintre intrri i ieiri
Numerotarea nivelelor - de la ieire spre intrare

06.11.2015

Curs 5 ASDN

4.2. Analiza CLC




Exemplu 1 - circuitx cu 4 nivele


5

x1
x2
y1
x3
x4

y2
x6
4

x7
2

Exemplu 2 - circuit cu legturi inverse


x1
x2

x3

06.11.2015

Curs 5 ASDN

4.2. Analiza CLC




Algoritm de determinare a legturilor inverse n


CLC

se numeroteaz toate porile logice care au ca intrri un


subset din mulimea variabilelor de intrare ale circuitului
logic (de la 1 la k)
 se numeroteaz de la k+1 porile care au ca intrri fie
intrri ale circuitului, fie ieiri ale porilor numerotate la
punctul anterior
 CLC - dac am numerotat toate porile - exemplu 1
 CLS (circuit logic secvenial) dac nu am numerotat toate
porile - exemplu 2
Curs 5 ASDN
06.11.2015
6


4.3. Sinteza CLC




Se cunoate funcia pe care trebuie s o


ndeplineasc circuitului i se urmrete
determinarea structurii (schemei) acestuia
Etapele sintezei CLC:






1. Enunul problemei
2. Alctuirea tabelului de adevr, definirea funciei sau
funciilor
3. Minimizarea funciei sau funciilor
4. Desenarea schemei circuitului

Metode de implementare - difereniate dup nivelul


de complexitate al integratelor utilizate

06.11.2015

Curs 5 ASDN

4.3.1. Sinteza CLC cu SSI




Circuitele integrate de tip SSI (small scale


integration) au pn la 50 de tranzistoare integrate
pe capsul
Dintre ele - porile logice fundamentale: I (AND),
SAU (OR), NU (NOT), I-NU (NAND), SAU-NU
(NOR), SAU-EXCVLUSIV (XOR)
n general se utilizeaz pentru adaptarea la aplicaie
a circuitelor MSI i LSI standardizate, care nu
satisfac cu exactitate cerinele de proiectare

06.11.2015

Curs 5 ASDN

4.3.2. Sinteza CLC cu MSI




Circuitele integrate de tip MSI (medium scale


integration) au pn la 500 de tranzistoare integrate
pe capsul
Ofer structuri mai complexe, disponibile ca i
structuri standard (specializate)
Forma funciilor care trebuie implementate trebuie
corelat cu funciile circuitelor MSI
Observaie: n general nu se mai fac minimizri

06.11.2015

Curs 5 ASDN

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


1. Convertoare de cod
Definiie - sunt CLC care permit trecerea dintr-un
cod binar n alt cod binar
La intrare se aplic cuvintele unui cod, la ieire se
obin cuvintele celuilalt cod
Fac compatibil funcionarea a 2 sisteme n care
informaia este codificat n mod diferit

06.11.2015

Curs 5 ASDN

10

4.3.2. Sinteza CLC cu MSI









CLC MSI specializate (uzuale)


1. Convertoare de cod
Exemplu: Conversiile din Gray n binar zecimal i
invers
1) Cod Gray Cod BCD (8421)
Cuvintele de cod se noteaz:



Gray: gn, gn-1,, g0


BCD: bn, bn-1,, b0

Reguli: bn = gn

06.11.2015

Curs 5 ASDN

11

4.3.2. Sinteza CLC cu MSI




Exemplu: 1) Cod Gray Cod BCD (8421)


g3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

06.11.2015

g2
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0

g1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0

g0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

b3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Curs 5 ASDN

b2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

b1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

b0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
12

4.3.2. Sinteza CLC cu MSI





Exemplu: 1) Cod Gray Cod BCD (8421)


Am completat combinaia din tabel pentru valorile
intrrilor pentru care funciile nu sunt definite
Construim DK pentru a minimiza funciile b3, b2, b1
i b0 g g g g 00 01 11 10
3 2

1 0

00
01
11
10

1
1

1
1

1
1

1
1

Obinem: b3 = g3

06.11.2015

Curs 5 ASDN

13

4.3.2. Sinteza CLC cu MSI




Exemplu: 1) Cod Gray Cod BCD (8421)


g3g2

g3g2

g3g2

g1g0
00
01
11
10

00

01

11

10

g1g0
00
01
11
10

00

01

11
1

10
1

1
1

g1g0
00
01
11
10

00

01
1

11

10
1

1
1

1
1

Obinem: b2 = g2 + g3
b1 = g1 + g2 + g3
b0 = g1 + g2 + Curs
g3 5+ASDN
g4
06.11.2015

14

4.3.2. Sinteza CLC cu MSI





Exemplu: 1) Cod Gray Cod BCD (8421)


Deci, n general la trecerea din Gray n binar:


bn = gn
i

bi =

dac + gj = 1
j = n-1

0



dac nu

2) Cod BCD Cod Gray


Obinem asemntor: gn = bn i gi = bi + bi+1

06.11.2015

Curs 5 ASDN

15

4.3.2. Sinteza CLC cu MSI









CLC MSI specializate (uzuale)


2. Codificatoare
Definiie - sunt CLC la care activarea unei intrri
conduce la apariia unui cuvnt de cod la ieiri
Intrrile codificatoarelor sunt active pe 0 logic!
Codificatoare prioritare

mai multe intrri sunt active simultan


 la ieire se obine cuvntul de cod pentru intrarea cu
prioritate maxim
 prioritatea crete de la 0 nspre
ultima cifr
Curs 5 ASDN
06.11.2015


16

4.3.2. Sinteza CLC cu MSI




Exemplu: Codificator din zecimal n BCD


0
0
1
1
1
1
1
1
1
1
1

06.11.2015

1
1
0
1
1
1
1
1
1
1
1

2
1
1
0
1
1
1
1
1
1
1

3
1
1
1
0
1
1
1
1
1
1

Zecimal
4 5
1 1
1 1
1 1
1 1
0 1
1 0
1 1
1 1
1 1
1 1

6
1
1
1
1
1
1
0
1
1
1

7
1
1
1
1
1
1
1
0
1
1

8
1
1
1
1
1
1
1
1
0
1

Curs 5 ASDN

9
1
1
1
1
1
1
1
1
1
0

23
0
0
0
0
0
0
0
0
1
1

BCD
22 21
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0

20
0
1
0
1
0
1
0
1
0
1
17

4.3.2. Sinteza CLC cu MSI





Exemplu: Codificator din zecimal n BCD


Funciile pentru cele 4 ieiri sunt:





23 = 8 + 9 = 89
22 = 4567
21 = 2367
20 = 13579

06.11.2015

Curs 5 ASDN

18

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


3. Decodificatoare
Definiie - sunt CLC la care se activeaz doar una
din ieiri, pentru codul corespunztor de pe intrri
Ieirile decodificatoarelor sunt active pe 0 logic
I1

y1
Circuite SI-NU

In


ym

Numrul ieirilor distincte ale decodificatoarelor


este: m 2n

06.11.2015

Curs 5 ASDN

19

4.3.2. Sinteza CLC cu MSI




Exemplu: Decodificator pentru 3 cifre binare


I2
0
0
0
0
1
1
1
1

I1
0
0
1
1
0
0
1
1

I0
0
1
0
1
0
1
0
1

O7
1
1
1
1
1
1
1
0

O6
1
1
1
1
1
1
0
1

O5
1
1
1
1
1
0
1
1

O4
1
1
1
1
0
1
1
1

O3
1
1
1
0
1
1
1
1

O2
1
1
0
1
1
1
1
1

O1
1
0
1
1
1
1
1
1

O0
0
1
1
1
1
1
1
1

Funciile ieirilor sunt: O7 = I2I1I0 ; O6 = I2I1I0 ;


O5 = I2I1I0 ; O4 = I2I1I0 ; O3 = I2I1I0 ; O2 =
I
I
I
;
O
=
I
I
I
;
O
=
I
I
I
2
1
0
1
2
1
0
0
2
1
0
Curs 5 ASDN
06.11.2015
20

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


4. Multiplexoare - MUX
Definiie - sunt CLC care permit trecerea datelor de
pe una din intrri la o ieire unic. Selecia
(comanda) intrrii se face printr-un cuvnt de cod de
selecie numit i adres
I0
MUX

In-1
sm-1
06.11.2015

s0
Curs 5 ASDN

21

4.3.2. Sinteza CLC cu MSI


CLC MSI specializate (uzuale)
 4. Multiplexoare
m
 Cu m linii de selecie se pot selecta 2 intrri
 Funcia de ieire este:
y = Ii
unde i este numrul de combinaii
i = sm-12m-1 + + s121 + s020
 Aplicaii: selecia secvenial a datelor, conversia
paralel-serie a datelor, sisteme de transmisie a
datelor pe un singur canal, implementarea CLC cu o
ieire
Curs 5 ASDN
06.11.2015
22


4.3.2. Sinteza CLC cu MSI




Exemplu: Multiplexor 2:1


I0
I1

MUX
2:1

Are 2 intrri de date, I0 i I1, o intrare de selecie s i


o ieire y
Avem ecuaia ieirii: y = I0s + I1s



Dac s = 0 y = I0
Dac s = 1 y = I1

Multiplexorul trimite la ieire data de intrare care


corespunde seleciei dinCurs
acel
moment
5 ASDN
06.11.2015

23

4.3.2. Sinteza CLC cu MSI




Exist multiplexoare de tip: 2:1, 4:1, 8:1, 16:1, 32:1,


64: 1 etc.
Multiplexoarele integrate:



au disponibile att ieirea adevrat ct i ieirea negat


au o intrare de validare (Enable) care permite o funcie
I suplimentar - dac aceast intrare nu este activ, se
oprete funcionarea circuitului

Multiplexoarele cu numr mare de intrri de date se


pot obine prin cascadarea multiplexoarelor cu
numr mai mic de intrri de date

06.11.2015

Curs 5 ASDN

24

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


5. Demultiplexoare - DEMUX
Definiie - sunt CLC care permit transmiterea
datelor de pe o intrare de date pe una din ieirile
selectate. Selecia (comanda) ieirii se face printr-un
cuvnt de cod de selecie numit i adres
y0
I

DEMUX
yn-1
sm-1

06.11.2015

s0
Curs 5 ASDN

25

4.3.2. Sinteza CLC cu MSI







CLC MSI specializate (uzuale)


5. Demultiplexoare
Cu m linii de selecie se pot selecta 2m ieiri
Funciile de ieire sunt:
y0 = sm-1s1s0I
y1 = sm-1s1s0I
y2m-1 = sm-1s1s0I

06.11.2015

Curs 5 ASDN

26

4.3.2. Sinteza CLC cu MSI







CLC MSI specializate (uzuale)


5. Demultiplexoare
Exist demultiplexoare de tip: 1:2, 1:4, 1:8, 1:16 etc.
Demultiplexoarele cu numr mai mare de ieiri se
obin prin cascadare
Se pot folosi la conversia din serie n paralel a
informaiei

06.11.2015

Curs 5 ASDN

27

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


6. Comparatoare numerice
Definiie - sunt CLC care permit determinarea
valorii relative a dou numere binare
Comparatoare:



pe 1 bit
pe mai muli bii

n general comparatorul pe 1 bit reprezint celula de


baz pentru compararea numerelor pe mai muli bii

06.11.2015

Curs 5 ASDN

28

4.3.2. Sinteza CLC cu MSI




Exemplu: Comparator pe 1 bit


Ai
Bi

Comparator
pe 1 bit

y<
y=
y>

Avem funciile de ieire:


pentru Ai < Bi
y< = AiBi
y= = Ai + Bi = Ai Bi
pentru Ai = Bi
y> = AiBi
pentru Ai > Bi

06.11.2015

Curs 5 ASDN

29

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


7. Generatoare / detectoare de paritate
Definiie - sunt CLC cu rol de a determina i genera
paritatea sau imparitatea numrului de variabile de
intrare egale cu 1
Bitul de paritate se utilizeaz ca metod de
verificare a transferului de date

numr bii de 1 + bit de paritate = numr par (paritate


par)
 numr bii de 1 + bit de paritate = numr impar (paritate
impar)
Curs 5 ASDN
06.11.2015
30


4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


7. Generatoare / detectoare de paritate
Realizarea detectoarelor de paritate se bazeaz pe
funcia SAU-EXCLUSIV:



valoare 0 - pentru numr par


valoare 1 - pentru numr impar

06.11.2015

Curs 5 ASDN

31

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


8. Sumatoare / scztoare
Definiie - sunt CLC care realizeaz adunarea,
respectiv scderea cifrelor binare
Semisumator - CLC care face suma a 2 numere
binare de 1 bit, fr s in cont de transportul de la
bitul de semnificaie imediat inferioar
A0
B0

06.11.2015

1/2

S0
C0
Curs 5 ASDN

32

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


8. Sumatoare / scztoare
Tabelul de adevr pentru semisumator:
A0
0
0
1
1

B0
0
1
0
1

C0
0
0
0
1

S0
0
1
1
0

Ecuaiile pentru suma S0 i transportul spre rangul


superior C0
S0 = A0B0 + A0B0 = A0 + B0
Curs 5 ASDN
06.11.2015C0 = A0B0
33

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


8. Sumatoare / scztoare
Sumatorul pentru bitul de rang n ine cont i de
transportul de la rangul imediat inferior - este un
sumator complet pe 1 bit
An
Cn-1
Bn

06.11.2015

Sn
Cn

Curs 5 ASDN

34

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


8. Sumatoare / scztoare
Tabelul de adevr pentru sumatorul complet pe 1 bit
este:
Cn-1
0
0
0
0
1
1
1
1

06.11.2015

An
0
0
1
1
0
0
1
1

Bn
0
1
0
1
0
1
0
1

Cn
0
0
0
1
0
1
1
1

Sn
0
1
1
0
1
0
0
1

Curs 5 ASDN

35

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


8. Sumatoare / scztoare
Ecuaiile pentru sum i transport pentru rangul
superior
Sn = AnBnCn-1 + AnBnCn-1 + AnBnCn-1 +
AnBnCn-1 = An + Bn + Cn-1
Cn = AnCn-1 + BnCn-1 + AnBn
Sumatoarele pentru cuvinte binare cu mai muli bii
se pot realiza prin interconectarea celor pe 1 bit adunarea se efectueaz n paralel, transportul n serie

06.11.2015

Curs 5 ASDN

36

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


8. Sumatoare / scztoare
Semiscztor - CLC care realizeaz scderea a 2
numere binare de 1 bit, fr s in cont de
mprumutul de la rangul inferior
Ecuaiile pentru semiscztor:
D0 = A0B0 + A0B0 = A0 + B0
I0 = A0B0

06.11.2015

Curs 5 ASDN

37

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


8. Sumatoare / scztoare
Scztorul complet pe 1 bit ine cont i de
mprumutul de la rangul inferior
Ecuaiile pentru diferen i mprumut ctre rangul
superior
Dn = AnBnIn-1 + AnBnIn-1 + AnBnIn-1 +
+ AnBnIn-1 = An + Bn + In-1
In = AnIn-1 + BnIn-1 + AnBn
Scztoarele pentru cuvinte binare cu mai muli bii
se pot realiza prin interconectarea celor pe 1 bit

06.11.2015

Curs 5 ASDN

38

4.3.2. Sinteza CLC cu MSI






CLC MSI specializate (uzuale)


9. Uniti aritmetico-logice (ALU)
Definiie - sunt CLC care realizeaz operaii de tip
aritmetic i de tip logic
Operaii aritmetice: adunare, scdere, incrementare,
decrementare, comparare de egalitate
Operaii logice: I, SAU, NU, I-NU, SAU-NU,
SAU-EXCLUSIV, COINCIDEN

06.11.2015

Curs 5 ASDN

39

4.3.2.1. Implementarea
funciilor booleene cu MSI


Decodificatorul, Demultiplexorul i Multiplexorul


genereaz n interiorul lor toi termenii canonici
sunt circuite universale
Implementarea cu Decodificator a unei funcii
booleene:



nu necesit minimizare
la ieirea decodificatorului avem toi termenii canonici
negai ai formei canonice disjunctive (FCD) a funciei
realizarea funciei se face prin adugarea unei pori
logice de tip I-NU care are numrul de intrri egal cu
numrul de termeni ai funciei

06.11.2015

Curs 5 ASDN

40

4.3.2.1. Implementarea
funciilor booleene cu MSI


Exemplu: S se implementeze cu un decodificator


funcia boolean de 4 variabile:
f (x4, x3, x2, x1)= (0, 1, 4, 6, 7, 9)

x4
x3
x2
x1

06.11.2015

O0
DCD O1
BCD- O2
D zecimal O3
C
O4
B
O5
A
O6
O7
O8
O9

Curs 5 ASDN

41

4.3.2.1. Implementarea
funciilor booleene cu MSI


Implementarea cu Multiplexor a unei funcii


booleene se bazeaz pe ecuaia care definete
funcionarea multiplexorului
La o funcie boolean cu n variabile de intrare,
dac dm factor comun 2 variabile de intrare, se
obin 4 funcii de n-2 variabile de intrare
La o funcie boolean cu n variabile de intrare,
dac dm factor comun 3 variabile de intrare, se
obin 8 funcii de n-3 variabile de intrare
.a.m.d.

06.11.2015

Curs 5 ASDN

42

4.3.2.1. Implementarea
funciilor booleene cu MSI



Implementarea cu Multiplexor
Dac variabilele scoase n factor comun se pun pe
seleciile multiplexorului, funciile rmase se pot
conecta la intrrile de date ale multiplexorului
Exemplu: pentru o funcie de 4 variabile, dac
folosim un MUX 8:1, punem 3 variabile pe seleciile
MUX i rmne ca pe intrrile de date s punem
cele 8 funcii de o variabil rmase
Singurele funcii posibile de o variabil sunt: x, x, 0
i 1

06.11.2015

Curs 5 ASDN

43

4.3.2.1. Implementarea
funciilor booleene cu MSI






Implementarea cu Multiplexor
Exemplu: Implementarea cu MUX 8:1 a funciei
f(x3,x2,x1,x0) = (0, 1, 3, 5, 9, 10, 13, 15) =
= x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 +
+ x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0
Pe intrrile de selecie se aplic variabilele x2, x1, x0
Pentru determinarea celor 8 funcii care urmeaz s
fie puse pe intrrile de date ale MUX, I0 - I7, se
construiete un tabel

06.11.2015

Curs 5 ASDN

44

4.3.2.1. Implementarea
funciilor booleene cu MSI


Implementarea cu Multiplexor - exemplu


Intrare
MUX
I0
I1
I2
I3
I4
I5
I6
I7

06.11.2015

Valoare
funcie de
o variabil
x3
1
x3
x3
0
1
0
x3

Termeni funcie Variabile pe


selecie
x3 x2x1x0
(x3 + x3) x2x1x0
x3 x2x1x0
x3 x2x1x0
0
x2x1x0
(x3 + x3) x2x1x0
0
x2x1x0
x3 x2x1x0
Curs 5 ASDN

45

4.3.2.1. Implementarea
funciilor booleene cu MSI


Implementarea cu Multiplexor - exemplu


En
x3
1
x3
x3
0
1
0
x3

f
f

s 2 s 1 s0
x 2 x 1 x0

Observaie: n funcie de variabilele alese pe


selecii, implementarea funciei
difer
Curs 5 ASDN
06.11.2015

46

4.3.2.1. Implementarea
funciilor booleene cu MSI



Implementarea cu Multiplexor - exemplu


La funcia reprezentat prin DK implementarea cu
MUX se bazeaz pe o alt DK, care definete
domeniul intrrilor de date I
Domeniul intrrilor pentru funcia de 4 variabile,
dac seleciile sunt x2, x1, x0
x 3x 2

06.11.2015

x1x0
00
01
11
10

00
I0
I4
I4
I0

01
I1
I5
I5
I1

11
I3
I7
I7
I3

10
I2
I6
I6
I2
Curs 5 ASDN

47

4.3.2.1. Implementarea
funciilor booleene cu MSI



Implementarea cu Multiplexor - exemplu


DK pentru funcia f este:
x3x2

x1x0
00
01
11
10

00
1

01
1
1
1
1

11
1

10

1
1

Prin comparare cu DK pentru intrri obinem pentru


I0 - I7 valorile: I0 = x3; I1 = 1; I2 = x3; I3 = x3; I4 = 0;
I5 = 1; I6 = 0; I7 = x3, identice cu cele obinute
anterior

06.11.2015

Curs 5 ASDN

48

4.3.2.1. Implementarea
funciilor booleene cu MSI



Implementarea cu Multiplexor
Avantajele implementrii cu MUX



se poate utiliza un sigur circuit


doar o singur variabil trebuie s fie disponibil i
adevrat i negat
MUX are intrarea de Enable care poate fi folosit ca un
I final cu ntreaga funcie

Dezavantajele implementrii cu MUX





nu se pot implementa sisteme de funcii


nu se pot implementa funcii cu numrul de termeni mai
mare dect numrul intrrilor

06.11.2015

Curs 5 ASDN

49