Sunteți pe pagina 1din 85

Universitatea din Petroșani

Departamentul Automatică, Calculatoare, Inginerie Electrică și Energetică

Analiza și sinteza
dispozitivelor numerice
Proiectare logică
Note de curs

Conf.univ.dr.ing. Nicolae PĂTRĂȘCOIU


Bibliografie
1. Baluta Gh., Circuite numerice, Editura Matrix Rom, Bucuresti, 1999

2. Blakeslee Th. R., Proiectarea cu circuite logice MSI si LSI standard.


Editura Tehnica, Bucuresti,1998

3. Festila L, Electronica digitala,


Universitatea Tehnica , Cluj –Napoca, 1994

4. Muresan T.,. Circuite integrate numerice


Gontean A Editura de Vest, Timisoara, 1996

5. Groza V. Analiza si sinteza dispozitivelor numerice


Universitatea Tehnica, Timisoara, 2004

6.Poanta A Circuite si echipamente electronice in industrie


Patrascoiu N. Editura Stiintifica si Enciclopedica, Bucuresti, 1997

7.Poanta A Dispozitive si circuite electronice vol.I, vol II


Universitatea din Petrosani, 1997

8.Patrascoiu N. Analiza si sinteza dispozitivelor numerice/Proiectare


Poanta A logica Note de curs, Universitatea din Petrosani, 2015,
format digital
SISTEME DE NUMERAŢIE. CODURI
1.1 Definiţii.Clasificări. Baze de numeraţie
Formă de existenţă a materiei suport de reflectare a informaţiei.
Informaţia este conţinută în semnale ce caracterizează fenomenele şi procesele.
 Mecanice;
 Magnetice;
Semnalele pot fi:
 Electrice;
 Optice. pot fi supuse prelucrării numerice

Semnal ai ∈ [A, B] → multime infinită de valori → semnal analogic


A b4
b3 b1 , b2 , b3 , → multime finită de valori → semnal digital
b2 ai
Reprezentare valori discrete numere sistemul de
T T
numeraţie (SN).
b1 t Sistemul de numeraţie: un ansamblu de reguli ce
specifică modul de utilizare a unor simboluri grafice
numite cifre în vederea reprezentării numerelor.
B Caracteristica oricărui sistem de numeraţie: numărul de
simboluri (cifre) utilizate în reprezentarea numerelor.
Numărul simbolurilor utilizate determină baza sistemului de numeraţie notată B.
Numărul simbolurilor bi corespunzătoare unei baze B va aparţine mulţimii
bi∈{0,1,2,3,…,B-1}. Aceste simboluri formează alfabetul sistemului de numeraţie.
SISTEME DE NUMERAŢIE. CODURI
În practica curentă sunt cunoscute şi utilizate 4 sisteme de numeraţie:
sistemul zecimal : a cărui bază este B = 10 şi pentru indicarea bazei se utilizează după
număr caracterul d (decimal), astfel că bi ∈{0,1,….,9};
sistemul hexazecimal : a cărui bază este B = 16 şi pentru indicarea bazei seutilizează
după număr caracterul h ,astfel că bi ∈{0,1,….,9,A,B,C,D,E,F};
sistemul octal : a cărui bază este B = 8 şi pentru indicarea bazei se utilizează după
număr caracterul q, astfel că bi ∈{0,1,….,7};
sistemul binar : a cărui bază este B = 2 şi pentru indicarea bazei se utilizează după
număr caracterul b ,astfel că bi ∈{0,1}.
În raport cu importanţa unei cifre faţă de poziţia pe care o reprezintă  nepoziţionale
în cazul reprezentării unui număr sistemele de numeraţie pot fi:.  poziţionale
 cu ponderi naturale
Sistemele poziţionale pot fi:
 cu ponderi artificiale
reprezentarea  directă; numărul de simboluri egal cu numărul de cifre
sistemelor de numeraţie  codificată; numărul de simboluri mult mai mic decât
numărul de cifre
N = bn ⋅ B n + bn −1 ⋅ B n −1 +  + b1 ⋅ B1 + b0 ⋅ B 0 + b−1 ⋅ B −1 +  + b− m ⋅ B − m
Exemplu
SISTEME DE NUMERAŢIE. CODURI
1.2 Conversia numerelor între diverse baze
Algoritmii de conversie de la un sistem de numeraţie la altul sunt diferiți pentru
reprezentare părţii întregi, respectiv a părţii fracţionare.
Considerând forma de reprezentare polinomială a părţii întregi deducerea algoritmului
are în vedere împărţirea cu rest:
N=
cât ⋅ numitor + rest
Prin împărţirea succesivă a numărului N la baza B se obţine :

N = B ⋅ ( bn ⋅ B n −1 + bn −1 ⋅ B n − 2 +  + b2 ⋅ B1 + b1 ⋅ B 0 ) + b0 = B ⋅ N1 + b0
 
N1 rest

N1 = B ⋅ ( bn ⋅ B n − 2 + bn −1 ⋅ B n −3 +  + b3 ⋅ B1 + b2 ⋅ B 0 ) + b1 = B ⋅ N 2 + b1
 
N2 rest

N k =⋅
B N k +1 + bk Exemplu:
1435D = (?)h
1435D = (?)b
SISTEME DE NUMERAŢIE. CODURI
Pentru a realiza conversia părţii fracţionare algoritmul va rezulta plecând de la
reprezentarea părţii fracţionare, prin înmulţire succesivă a numărului N cu baza B :
N ⋅=
B b−1 + b−2 ⋅ B −1 +  + b− m ⋅ B − m +1 Pentru a deduce numărul de ranguri
  
întreg N1 = parte fractionară necesare pentru a obţine precizia impusă
se va presupune că trebuie realizată
N1 ⋅=
B b−2 + b−3 ⋅ B −1 +  + b− m ⋅ B − m + 2 conversia unui număr din baza B1 în baza
  
întreg N 2 = parte fractionară B2 cu precizia (B1-m ).
Presupunând că în baza B2 această

precizie este k se va putea scrie expresia:
= B− k −1 + b− k − 2 ⋅ B −1 +  + b− m ⋅ B − m + k +1
Nk ⋅ B
B 2− k ≤ B1 − m
Exemplu :
Să se realizeze conversia numărului 0,745D în hexazecimal cu eroarea 10-4.
Având în vedere faptul că 8 şi 16 sunt puteri ale lui 2 pentru conversia în binar din
zecimal este de preferat să se facă printr-o conversie intermediară pentru reducerea
considerabilă a operaţiilor de împărţire.

Exemplu
SISTEME DE NUMERAŢIE. CODURI
1.3. Codificarea informaţiei. Coduri binare.
orice informaţie este reprezentată în cod binar
translatare se Fie două mulţimi: A = {a0, a1, ………, an} şi B = {b0, b1, ………, bm}
face prin operaţia a codifica elementele mulţimii A prin elementele mulţimii B
de codificare înseamnă a pune în corespondenţă fiecărui element ai∈A o
secvenţă de elemente bibj………bk∈B.
În contextul circuitelor digitale bi∈{0,1}. Referirea la 0 sau 1 în exprimarea curentă
poartă denumirea de bit. Conform definiţiei codificării un element poate fi reprezentat
printr-o succersiune de simboluri de forma :

N = bn bn −1  b1b0 b0=LSB (Least Significant Byte)


bn=MSB(Most Significant Byte)
Numărul maxim care poate fi reprezentat prin n biţi este : N = 2n
=
log 2 N =
log 2 2
n
n
numărul de biţi necesari reprezentării unei valori maxime N n = log 2 N
SISTEME DE NUMERAŢIE. CODURI
1.3.1. Reprezentarea numerelor întregi
a. Reprezentarea numerelor întregi fără semn
a.1.Codul binar ponderat sau codul binar natural CBN Exemplu

codul Gray – are proprietatea că două


valori adiacente în cod diferă printr-un
singur bit
Valoare (hexa) Cod binar Cod Gray
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
A 1010 1111
B 1011 1110
C 1100 1010
D 1101 1011
E 1110 1001
F 1111 1000

a.2. Codul binar – zecimal BCD Exemplu


SISTEME DE NUMERAŢIE. CODURI
b. Reprezentarea numerelor întregi cu semn
b.1. Codul semn și amplitudine CSA
bitul MSB poartă denumirea de bit de semn Exemplu
0 ⇒ număr pozitiv
bn =  (
N =( −1) n ⋅ bn −1 ⋅ B n −1 + bn − 2 ⋅ B n − 2  + b1 ⋅ B1 + b0
b
)
1 ⇒ număr negativ
b.2. codul complement faţă de 1 CCU
Păstrarea bitului de semn şi complementarea celorlalţi biţi din reprezentare
N bnbn −1  b1b0 , bi ∈ {0,1} N C1 = bn bn −1 bn − 2  b2 b1 b0 Exemplu

b.3. codul complement faţă de 2 CCD


se reprezintă numărul în valoare absolută, apoi se inversează bit cu bit, inclusiv
bitul de semn (care devine 1) şi se adună 1 la rezultatul obţinut, deci,
complementul faţă de 2 se obţine din complementul faţă de 1, la care se adaugă
1.
0 ( N > 0)
bnbn −1  b1b0 , dacă bn =
N bnbn −1  b1b0 , bi ∈ {0,1} NC 2 =
bn 1 ( N < 0 )
bn bn −1  b1 b0 , dacă=
Exemplu
CODURI
SISTEME DE NUMERAŢIE. CODURI
1.3.2. Reprezentarea numerelor reale

mantisa exponent S

Codul ASCII
coduri alfanumerice
(American Standard Cod for Information Interchange)
CIRCUITE NUMERICE
2.1. Definiţii. Clasificări
Circuitele numerice sunt circuitele caracterizate prin doua stări stabile care se disting
între ele atât cantitativ cât şi calitativ. Celor două stări li se atribuie valorile simbolice 0 şi
1, care realizează o codificare numerică a stărilor.
 după modul de realizare al comutaţiei;
Circuitele numerice se pot clasifica :
 după principiul funcţional al circuitelor.
+EC
u
RC
t

T y y
u R1
R2
t

u1 y1
y2
În funcţie de dependenţa
u2
C.N dintre cele trei categorii de
up yq
mărimi, circuitele numerice
pot fi :
 combinaţionale;
x1 x2 xn  secvenţiale;
 programabile.
CIRCUITE NUMERICE
2.2. Noţiuni de algebră BOOLE
Pentru definirea algebrei Boole se definesc două legi de compoziţie numite şi operaţii:
 reuniunea – suma logică numită în tehnică SAU (OR) notată: +, Ex. u1 + u2
 intersecţia – produsul logic numit în tehnică ŞI (AND) notat: · , Ex. u1 ⋅ u2
 negaţie numită în tehnică NU, numit şi operator de complementaritate notată prin
supralinierea variabilei: Ex. u negat = u
Cele două legi de compoziţie împreună cu o mulţime M cu elementele M = {u1 , u2 , un }
formează o algebră dacă sunt îndeplinite simultan următoarele axiome:
1. Mulţimea M conţine cel puţin două elemente distincte:
∀u1 , u2 ∈ M ⇒ u1 ≠ u2
2. ∀u1 , u2 ∈ M rezultatul celor două operații va apartine aceleiași mulțimi M:
u1 + u2 ∈ M
u1 ⋅ u2 ∈ M
3. Pentru cele 2 operații binari sunt satisfăcute următoarele proprietăţi:
CIRCUITE NUMERICE
u1 + ( u2 + u3 ) = ( u1 + u2 ) + u3
 asociativitatea:
u1 ⋅ ( u2 ⋅ u3 ) = ( u1 ⋅ u2 ) ⋅ u3

u1 + u2 = u2 + u1
 comutativitatea:
u1 ⋅ u2 = u2 ⋅ u1
u1 ⋅ ( u 2 +u3 ) + u3 = u1 ⋅ u2 + u1 ⋅ u3
 distributivitatea:
u1 + ( u2 ⋅ u3 ) = ( u1 + u2 ) ⋅ ( u1 + u3 )

4. Ambele operații admit elemente neutre, astfel 0 este elementul neutru pentru
suma logică şi 1 pentru produs logic:
u +0 = 0+u =u
u ⋅1 = 1 ⋅ u = u
5. Dacă mulţimea M conţine numai două elemente, acestea vor fi obligatoriu
elementul nul şi elementul unitate

u + u =1 − tert exclus
u ⋅ u = 0 − noncontradictia
CIRCUITE NUMERICE
Pe baza acestor axiome rezultă o serie de proprietăţi ce constituie reguli de calcul în
cadrul algebrei.
u + u + + u = u
1. Idempotenţa:
u ⋅ u ⋅ ⋅ u =u
u1 ⋅ ( u1 + u2 ) =
u1
2. Absorbţia:
u1 + ( u1 ⋅ u2 ) =
u1

3. Proprietatea dublei negaţii: u =u


u=+0 u =
u ⋅0 0
4. Proprietatea elementelor neutre:
=
u +1 1 =
u ⋅1 u

u1 + u2 = u1 ⋅ u 2
5. Proprietăţile (relaţiile) De Morgan
u1 ⋅ u2 = u1 + u 2
CIRCUITE NUMERICE
2.3 Algebra comutaţiei. Funcţii de comutaţie
Caracterizarea funcţionării circuitelor numerice se face prin intermediul funcţiilor de
transfer denumite şi funcţii de comutaţie sau funcţii logice. Aceste funcţii practic descriu
dependenţele între mărimile specifice circuitelor numerice. Pentru a defini funcţia de
comutaţie se va considera un circuit numeric caracterizat prin “n” intrări şi o ieşire
u1
u2
C.N y

un

Spaţiul de intrare u={u1, u2, …, un} cu n componente este caracterizat prin faptul că
fiecare componentă ia doar valorile 0 şi 1.
Pentru fiecare dintre cele 2n componente va corespunde o anumită valoare {0,1} a ieşirii
y, deci y∈{0,1}
Ieșirea y este funcţie de intrările u1,u2,…un şi se exprimă sub forma: y = f ( u1 , u2 , , un )
Funcţia f realizează o corespondenţă a produsului cartezian n-dimensional {0,1}n cu
valori în mulţimea {0,1}: f : {0,1} → {0,1}
n

Având în vedere că prin funcţia de comutaţie fiecărei componente a vectorului de intrare


( )
n
i se asociază 0 sau 1 rezultă că numărul total de funcţii Nf va fi: N = 22
f
CIRCUITE NUMERICE
2.3.1 Reprezentarea funcţiilor de comutaţie prin tabelă de adevăr
Definirea tabelei de adevăr
Din tabela de adevăr va putea fi dedusă funcţia de
comutaţie care va rezulta sub două forme:
 forma canonică disjunctivă (F.C.D.)
 forma canonică conjunctivă (F.C.C.).
O formă de reprezentare este numită canonică
atunci când în reprezentarea respectivă, disjunctivă
sau conjunctivă, în fiecare termen al produsului sau
sumei se regăsesc toate intrările.
CIRCUITE NUMERICE
Forma canonică disjunctivă (F.C.D.)
Se obţine dacă din tabel se consideră constituenţi unităţii, aceştia fiind funcţii elementare
care iau valoarea 1 într-un singur punct al domeniului de definiţie.
n

∏u
b kj
=
Se definesc prin produsul logic al intrărilor: Pk u=b1k b2k
1 u2 ...un
bnk
j
j =1
bik reprezintă valoarea intrării ui corespunzătoare combinaţiei cu numărul k.
Conform definiţiei constituentului unităţii, pentru ca acesta să fie 1 este necesar ca toţi
termenii produsului să fie 1. Deci, în expresia constituentului unităţii, variabilele vor fi
nenegate dacă bik = 1 şi negate dacă bik = 0

bik
ui dacă bi k = 1
ui =
ui dacă bi = 0
k
2n −1
F.C.D. a funcţiei logice va fi de forma: y= ∑Pα
i =0
i i

Constituenţii unităţii Pk sunt denumiţi şi mintermi.

Exemplu
CIRCUITE NUMERICE
Forma canonică conjunctivă (F.C.C.)
Se obţine dacă din tabel se consideră constituenţi lui 0, aceştia fiind funcţii elementare
care iau valoarea 0 într-un singur punct al domeniului de definiţie.
n

∑u
b kj
Se definesc prin suma logică a intrărilor: S k = u + u + ... + u =
b1k
1
b2k
2
bnk
n j
j =1
bik reprezintă valoarea intrării ui corespunzătoare combinaţiei cu numărul k.
Conform definiţiei constituentului lui 0, pentru a obţine valoarea 0 a acestuia este
necesar ca toţi termenii sumei să fie 0. Deci, în expresia constituentului lui 0, variabilele
vor fi nenegate dacă bik = 0 şi negate dacă bik = 1

bik
ui dacă bi k = 0
ui =
ui dacă bi = 1
k
2n −1
=
F.C.C. a funcţiei logice va fi de forma: y
∏ (S + α )
i =0
i i Exemplu

Constituenţii lui 0 Sk sunt denumiţi şi maxtermi.


Pk = Sk
Constituenţii unităţii şi ai lui 0 pentru acelaşi rang sunt duali, adică :
Sk = Pk
CIRCUITE NUMERICE
u1
Exemplu: Se consideră un circuit
u2 C.N.
numeric cu 3 intrări şi o ieşire y
u3

Numărul componentelor vectorului de


intrare (n = 3) va fi : N = 2n = 23 = 8
Tabela va conţine deci n+2 (3+2 = 5)
coloane şi 23 = 8 linii

Cele două forme de exprimare ale funcţiei de comutaţie F.C.D. şi F.C.C. conduc, după
simplificări, la aceeaşi funcţie pentru circuit. Exemplu FCD Exemplu FCC
În general, forma cea mai utilizată este F.C.D., dar Forma de reprezentare F.C.D. sau
F.C.C. se alege în raport cu soluţiile de implementare utilizate.
Înaintea implementării însă, pentru unele soluţii, funcţiile de comutaţie se vor aduce la o
formă simplă utilizând proprietăţile şi axiomele algebrei de comutaţie
Exemplu Multisim
CIRCUITE NUMERICE
2.3.2 Reprezentarea prin diagrame Veitch-Karnaugh
Reprezentarea funcţiilor de comutaţie prin tabele de adevăr, este de preferat în cazul
unui număr mic de variabile.
În cazul unui număr mare de variabile duce la tabele cu număr mare de linii și devine cu
mult mai facilă reprezentarea prin diagrama Veitch-Karnaugh.
Aceste diagrame constau în esenţă dintr-un tabel în care variabilele de intrare sunt
repartizate atât pe linii cât şi pe coloane.
Caseta care se află la intersecţia unei linii şi unei coloane va conţine valoarea logică a
funcţiei pentru combinaţia respectivă.
Combinaţiile variabilelor de intrare atât pe linii cât şi pe coloane se vor trece în acest
caz în cod Gray.
Toate combinaţiile simetrice faţă de axele de simetrie geometrice ale tabelului vor fi
adiacente şi astfel din tabel vor rezulta direct expresiile simplificate.
Pentru construirea tabelului cele n variabile de intrare se vor împărţi în n1 variabile
dispuse pe coloane şi n2 dispuse pe linii, astfel încât : n1 + n2 = n
C = 2n1
Vor rezulta în acest caz numărul de coloane C şi de linii L :
L = 2n2

Exemplu Aplicatie
CIRCUITE NUMERICE
2.3.3 Reprezentarea geometrică a funcţiilor de comutaţie. Reprezentări recursive
2.3.4. Determinarea funcţiilor de comutaţie incomplet definite
Determinarea funcţiilor de comutaţie s-a analizat, până acum, pentru situaţia în care
funcţiile sunt definite pentru toate combinaţiile posibile ale variabilelor de intrare.

Există situaţii în care anumite combinaţii de intrare nu apar în funcţionare datorită


condiţiilor tehnologice sau altor cauze. Pot apare de asemenea situaţii în care anumite
combinaţii pot fi fie 0 fie 1, fără ca acestea să afecteze funcţionarea circuitului.

În toate situaţiile menţionate combinaţiile respective sunt denumite combinaţii indiferente


şi acestea se vor marca printr-un X. Acest marcaj în tabel va simboliza faptul că
valoarea ieşirii poate fi considerată fie 1 fie 0.

Pentru a deduce funcţiile de comutaţie în acest caz combinaţiilor indiferente li se vor


atribui astfel de valori (0 sau 1) încât funcţia de comutaţie rezultată să aibă forma cea
mai simplă.

Exemplu Multisim
CIRCUITE NUMERICE
2.4. Operaţii logice
Din definirea funcţiilor de comutaţie s-a constatat că pentru „n” N f = (2n ) 2
variabile numărul de funcţii de comutaţie Nf va fi :
Pentru valori particulare (n = 1, n = 2) vor rezulta un număr n =⇒
1 Nf =(21 ) 2 =4
de funcţii de comutaţie de una sau două variabile, număr dat
de expresiile :
n =2 ⇒ N f =(2 ) =
2 2
16
Funcţiile de comutaţie de una sau două variabile poarte denumirea de operaţii logice.
În cazul unei singure variabile n = 1, numărul operaţiilor este patru, reprezentate sintetic
in tabel
CIRCUITE NUMERICE
2.4. Operaţii logice (continuare)
În cazul în care numărul de variabile este doi atunci rezultă 16 operaţii, pentru
descrierea cărora se vor avea în vedere toate combinaţiile posibile ale intrărilor
CIRCUITE NUMERICE
2.4. Operaţii logice (continuare)
CIRCUITE NUMERICE
2.4. Operaţii logice (continuare)
Din cele 16 operaţii, două sunt operaţii banale, patru sunt operaţii unare şi 10 definesc
operaţii de două variabile. Au fost realizați operatori care implementează aceste operaţii
logice: ŞI, SAU, NU, NAND, NORşi XOR. Aceştia sunt disponibili sub forma unor porţi
logice ce implementează operaţiile elementare.
Utilizând operatorii pot fi implementate funcţii de comutaţie indiferent de complexitate.
CIRCUITE NUMERICE
2.5. Complete logice
2.5.1. Complete logice fundamentale
Completul logic ŞI, SAU, NU
Completul logic fundamental ŞI, SAU, NU utilizează 3 tipuri de operatori și pentru ca
aceștia să constituie un complet logic, va trebui să se demonstreze faptul că aceşti 3
operatori poate fi utilizaț pentru impementarea oricărei funcţii de comutaţie, atât în
forma canonică disjunctivă (F.C.D.) cât şi atât în forma conjunctivă (F.C.C.).
Indiferent de formă, expresiile funcţiilor de comutaţie conţin doar de operatori ŞI, SAU,
NU. În consecinţă cei trei operatori formează un complet logic.
Pentru exemplificarea modului de implementare a
funcţiilor de comutaţie prin completul logic ŞI SAU NU y = u1 ⋅u2 + u1 ⋅u3 + u2 ⋅ u3
se va considera o funcţie sub forma disjunctivă
Utilizând notațiile: a =u1 ⋅ u2 ,b =u1 ⋅ u3 ,c =u2 ⋅ u3
funcţia de comutaţie FC devine : y = a+b+c
Implementarea necesită două nivele.
Nivelul I în care se implementează operaţia
SAU respectiv nivelul II în care se
implementează operaţia ŞI. Multisim
CIRCUITE NUMERICE
,
,
2.5.1. Complete logice fundamentale (continuare)
Completul logic ŞI, NU
Pentru a demonstra că operatorii ŞI, NU formează un complet logic trebuie ca prin
aceştia să poată fi implementată operația SAU.
prop. dublei negatii De Morgan
y= u1 + u2 → y= y= u1 + u2  → y= u1 ⋅ u 2

y = u1 ⋅ u2 = u1 + u2

Considerând aceeaşi funcţie de comutaţie : y = u1 ⋅ u2 + u1 ⋅ u3 + u2 ⋅ u3


Se vor face următoarele notaţii :
a u1 ⋅ u3 =
u1 ⋅ u2 = b u2 ⋅ u3 =
c
funcţia de comutaţie devine :
y = a+b+c
poate fi implementată utilizând proprietăţile
algebrei de comutaţie

y = a + b + c = a ⋅b⋅c Multisim
CIRCUITE NUMERICE
2.5.1. Complete logice fundamentale (continuare)
Completul logic SAU, NU
Pentru a demonstra că operatorii SAU, NU formează un complet logic trebuie ca prin
aceştia să poată fi implementată operația ŞI.
prop. dublei negatii De Morgan
y= u1 ⋅ u2 → y= y= u1 ⋅ u2  → y= u1 + u 2

y =u1 + u2 =u1 ⋅ u2

Considerând aceeaşi funcţie de comutaţie : y = u1 ⋅ u2 + u1 ⋅ u3 + u2 ⋅ u3


Se vor face următoarele notaţii :
a u1 ⋅ u3 =
u1 ⋅ u2 = b u2 ⋅ u3 =
c
funcţia de comutaţie devine :
y = a+b+c
Nivelul ŞI va fi implementat prin porţi SAU,
NU a = u ⋅ u = u ⋅ u = u + u
1 2 1 2 1 2

b = u1 ⋅ u3 = u1 ⋅ u3 = u1 + u3
c = u2 ⋅ u3 = u2 ⋅ u3 = u2 + u3 Multisim
CIRCUITE NUMERICE
2.5.2 Complete logice universale
Completul logic NAND
Pentru ca operatorul NAND să fie un complet logic universal trebuie ca
prin acesta să poată fi implementată orice funcţie de comutaţie, prin
operatorul NAND să poată fi implementate operaţiile NU, ŞI, SAU.
Pentru implementarea operaţiei NU: y = u ⋅u = u ⋅u = u
1 2

Pentru realizarea operaţiei NU prin operatorul NAND


este suficient ca intrările să fie conectate impreună.
Pentru determinarea
modului de substituţie a
operaţiei ŞI se ţine seama y = u1 ⋅ u2 = u1 ⋅ u2
de definirea operaţiei
NAND
Pentru implementarea
operaţiei SAU cu NAND
se vor aplica proprietăţiley = u1 + u 2 = u1 + u 2 = u1 ⋅ u 2
dublei negaţii şi De
Morgan :
Multisim
CIRCUITE NUMERICE
,;
,
2.5.2 Complete logice universale (continuare)
Completul logic NAND (continuare)
Complet ;logic universal reprezentat operatorul NAND
poate fi utilizat pentru a implementa orice funcţie de y = u1 ⋅ u2 + u1 ⋅ u3 + u2 ⋅ u3
comutaţie.
; Se va considera aceeaşi funcţie de comutaţie :
Se vor face notaţiile : u1 ⋅ u2 = b u2 ⋅ u3
a u1 ⋅ u3 = =
c
Funcţia devine : y = a + b + c
Implementarea nivelului de SAU se va
face conform celor deduse operaţiei
SAU prin NAND. Pentru implementarea
nivelului de ŞI se vor prelucra funcţiile a,
b, c conform analizei implementării
operaţiei ŞI prin NAND.

a = u1 ⋅ u2 = u1 ⋅ u2 = d d= u1 ⋅ u2

b = u1 ⋅ u 3 = u1 ⋅ u 3 = e e = u1 ⋅ u 3
c = u 2 ⋅ u3 = u 2 ⋅ u3 = f f = u 2 ⋅ u3 Multisim
CIRCUITE NUMERICE
2.5.2 Complete logice universale (continuare)
Completul logic NOR
Se consideră operaţia logică NOR şi se caută modalităţi de substituire
a operaţiilor logice fundamentale cu ajutorul acestei operaţii logice
universale.
Pentru implementarea operaţiei NU y = u1 + u2 = u + u = u
Realizarea operaţiei NU cu NOR presupune u
deci conectarea împreună a intrărilor
Pentru implementarea operaţiei
ŞI cu NOR se vor aplica y = u ⋅ u = u ⋅ u = u + u
proprietăţile dublei negaţii şi De
1 2 1 2 1 2

Morgan acestei operaţii :


Implementarea operaţiei SAU
cu NOR se obţine aplicând y = u1 + u 2 = u1 + u 2
dubla negaţie acestei operaţii :

Multisim
CIRCUITE NUMERICE
2.5.2 Complete logice universale (continuare)
Completul logic NOR (continuare)
Complet logic universal reprezentat operatorul NAND
poate fi utilizat pentru a implementa orice funcţie de y = u1 ⋅ u2 + u1 ⋅ u3 + u2 ⋅ u3
comutaţie. Se va considera aceeaşi funcţie de comutaţie :
Se vor face notaţiile : u1 ⋅ u2 = b u2 ⋅ u3
a u1 ⋅ u3 = =
c
Funcţia devine : y = a + b + c
Implementarea nivelului de SAU se va face
aplicând transformările cunoscute pentru
maparea operaţiei SAU :
y = a+b+c = d unde d = a+b+c
Pentru implementarea nivelului de ŞI se vor
prelucra funcţiile a, b, c conform mapării
operaţiei ŞI cu NOR:

a = u1 ⋅ u2 = u1 + u2 b = u1 ⋅ u3 = u1 + u3

c = u2 ⋅ u3 = u2 + u3
Multisim
CIRCUITE LOGICE COMBINAŢIONALE
3.1. Definiţii. Clasificări
Circuitele logice combinaţionale se definesc printr-un triplet de forma (F, U, Y) :
( )
 U - spaţiul intrărilor u1 ,u2 ,  , u p ∈ U
( )
F :U → Y  Y - este spaţiul ieşirilor y1 , y2 ,  , yq ∈ Y
{
 F - este format din funcţiile de comutaţie de forma F = f1 , f 2 ,  , f p }
Funcţiile de comutaţie sunt de forma :
yi = fi ( u1 ,u2 ,  , u p )
CLC reprezintă circuite la care ieşirile depind doar de combinaţia mărimilor de intrare,
dependenţă caracterizată prin funcţiile de comutaţie.
comutaţie dinamică
natura comutaţiei:
comutaţie statică
C.L.C. pot fi clasificate :
modul de realizare: cu componente discrete ;
integrate.
În cazul circuitelor cu comutaţie statică
valorilor binare de 0 şi 1 au ca suport fizic
amplitudini de tensiuni sau curenţi cele mai
utilizate reprezentări fiind reprezentate in
figurile a,b,c,d
CIRCUITE LOGICE COMBINAŢIONALE
3.2. Circuite logice combinaţionale cu componente discrete
Circuitele logice combinaţionale cu componente discrete sunt realizate prin
interconecterea unor elemente de circuit astfel încât să conducă la realizarea unor
operatori pentru a permite implementarea funcţiilor de comutaţie.
În raport cu elementele de circuit RTL – rezistenţa – tranzistor logic
utilizate în implementarea funcţiilor DTL – diodă – tranzistor logic
logice sunt cunoscute mai multe tipuri RDTL – rezistenţa – diodă – tranzistor logic
de configuraţii pentru aceste porţi. ECL – emitori cuplaţi intre ei
CIRCUITE LOGICE COMBINAŢIONALE
3.2. Circuite logice combinaţionale cu componente discrete (continuare)
CIRCUITE LOGICE COMBINAŢIONALE
3.2. Circuite logice combinaţionale cu componente discrete (continuare)
CIRCUITE LOGICE COMBINAŢIONALE
3.3 Circuite logice combinaţionale integrate
CI sunt circuite a căror structură este realizată pe
același cristal de SI numit şi chip introdus într-o
capsulă de plastic paralelipipedică cu 8, 14, 16, sau
mai multe terminale (pini). Modul de repartizare la
terminale a intrărilor şi ieşirilor este dat în catalog
pentru fiecare tip de circuit. Ca reper pentru
numerotarea acestor terminale este folosită o cheie.
În raport cu tehnologia de realizare circuitele integrate logice pot fi de tip :
 TTL – Tranzistor – Tranzistor Logic
 NMOS – tranzistoare MOS cu canal n
 PMOS - tranzistoare MOS cu canal p
 CMOS – tranzistoare MOS cu canal p şi canal n (complementar MOS)
 I2L – Injection - Injection Logic
În raport cu densitatea de integrare circuitele integrate logice pot fi de cinci categorii :
 SSI – (Small Scale Integration) pe scară mică
 MSI – (Medium Scale Integration) pe scară medie
 LSI – (Large Scale Integration) pe scară largă
 VLSI – (Verry Large Scale Integration) pe scară foarte largă
 SLSI – (Super Large Scale Integration) pe scară super largă
CIRCUITE LOGICE COMBINAŢIONALE
3.3.2. Parametri circuitelor integrate logice
Parametri : valorile de catalog ale mărimilor caracteristice funcţionări acestor circuite sau
funcţionării când sunt conectate cu alte circuite din altă familie sau în condiţii de test.
Parametrii se specifică pentru : regim static, pentru regim dinamic şi pentru zgomot.
Temperatura indică limitele de variaţie a temperaturii admise de circuit :
 circuite pentru aplicaţii civile cu plaja între 0 ÷ 70 0 C
 circuite pentru aplicaţii militare cu plaja între -55 ÷ 125 0 C
Tensiunea de alimentare este specificată sub forma tensiunii nominale UN, şi abaterile:
UN ± ∆U%, fie în valori absolute: Umax = UN + ∆U%, Umin = UN - ∆U%. Pentru circuite
care pot funcţiona la un domeniu mai mare de tensiuni : Ua ∈ [Umin, Umax].
Nivele de tensiune Funcționarea circuitelor logice este caracterizată prin două nivele
de tensiune : un nivel ridicat (H) şi un nivel coborât (L), între care există o zonă interzisă
în care nu trebuie să se găsească valorile mărimilor de intrare şi ieşire ale circuitului.
Prezenţa celor două benzi are avantajul că
insensibilizează efectul variaţiilor produse
de îmbătrânirea semiconductorului, de
temperatură, de zgomot. Orice variaţie a
valorii tensiunii în interiorul domeniilor ∆VH
sau ∆VL corespunde valorii logice de 1 sau 0
stabilite prin convenţia logică.
CIRCUITE LOGICE COMBINAŢIONALE
3.3.2. Parametri circuitelor integrate logice (continuare)
Marginea de zgomot Notând cu VI
tensiunea de intrare şi VO tensiunea de
ieşire, nivelele de tensiune garantate la
ieşire şi permise la intrare pot fi
reprezentate conform diagramei
Nivelele menţionate în catalog sunt reprezentate prin :
 Nivelele garantate ce sunt date prin VOHmin = nivelul minim garantat la ieşire pentru
nivelul HIGH (H), respectiv VOHmax = nivelul maxim garantat la ieşire pentru starea H.
Rezultă plaja pentru nivelul H : ∆VOH= VOH max − VOH min
Pentru starea LOW (L) se indică nivelul garantat maxim pentru această stare VOLmax.
Plaja pentru nivelul L va fi : ∆VOL= VOL max − 0
 Nivelele permise sunt reprezentate prin nivelul minim permis la intrare pentru starea
HIGH, VIHmin şi nivelul maxim permis la intrare pentru starea LOW, VILmax.
După cum se observă, nivelele garantate la ieşire sunt acoperitoare faţă de nivelele
permise la intrare, ceea ce defineşte marginea de zgomot pentru nivelul H (MH),
respectiv marginea de zgomot pentru nivelul L (ML).
=
M H VOH min − VIH min
=
M L VOL max − VIL max
CIRCUITE LOGICE COMBINAŢIONALE
3.3.2. Parametri circuitelor integrate logice (continuare)
Timpul de propagare reprezintă întârzierile
care apar în funcţionarea circuitelor logice și
se va considera diagrama temporală pentru
un circuit inversor având la intrare semnalul
VI şi la ieşire semnalul VO
Timpii principali care intervin în comutaţie:
 Timpul tr - timp de creştere.
 Timpul tc - timp de cădere.
 Timpul tpHL - timp de propagare din starea H în starea L.
 Timpul tpLH - timp de propagare din starea L în starea.
 Timpul tHL - timpul de comutare din starea H în starea L a ieşirii.
 Timpul tLH - timpul de comutare din starea L în starea H a ieşirii.
t pLH + t pHL
Timpul de propagare prin circuit va fi : tp =
2
Timpul de propagare este dat în catalog şi stabileşte viteza de comutaţie și exprimă în
esenţă întârzierea introdusă de circuit.
Perioada unui ciclu Tciclu, reprezintă timpul 1
Tciclu ≥ (10 ÷ 20 ) ⋅ t p f max =
marcat între două puncte identice de pe Tciclu
două cicluri consecutive:
CIRCUITE LOGICE COMBINAŢIONALE
3.3.2. Parametri circuitelor integrate logice (continuare)
Timpul de propagare depinde atât de parametrii interni ai ieşirii circuitului care comandă,
cât şi de parametrii de intrare ai circuitului comandat. Pentru determinarea timpului de
propagare, ieşirea circuitului care comandă va fi asimilată cu un generator de semnal G
care debitează la ieşire o tensiune VO pe o sarcină echivalentă RC serie

t pLH = 0 , 69 ⋅ RH ⋅ C t pHL + t pLH 0 , 69 ⋅ ( RH ⋅ C + RL ⋅ C )


= tp =
t pHL = 0 , 69 ⋅ RL ⋅ C 2 2
Multisim
CIRCUITE LOGICE COMBINAŢIONALE
3.3.2. Parametri circuitelor integrate logice (continuare)
Factorul de încărcare Pentru a realiza diverse funcţii, circuitele se conectează între
ele. Factor de încărcare = Numărul de porţi ce pot fi comandate de către ieşirea unui
circuit. Factorul de ieşire se numeşte FAN OUT iar cel de intrare FAN IN .
Pentru VI ≤ VILmax intrarea va transmite (genera)
curent spre ieşirea care o comandă.
Pentru VI ≥ VIHmin intrarea va absorbi curent de la
ieşirea care o comandă.
În cazul ieşirii care comandă mai multe
intrări, VO ≤ VOLmax (starea L), toate intrările
comandate vor genera curent spre ieşirea ce
le comandă. n
I OL max ≥ ∑ I ILj
j =1

În cazul când ieşirea circuitului este în starea H, VO ≥ n

VOHmin toate intrările comandate vor absorbi, de la ieşirea I OH max ≥ ∑ I IHj


j =1
care le comandă, curentul :

FE = min { FE0 ,FE1}


I OL max I OH max
FE0 = FE1
I IL max I IH max
CIRCUITE LOGICE COMBINAŢIONALE
3.4. Porţi logice integrate
3.4.1. Probleme generale
Porţile logice integrate sunt circuite logice combinaţionale care au cea mai simplă
structură şi care stau la baza implementării circuitelor integrate logice complexe.
Tehnologii de realizare:
TTLS (Tranzistor Tranzistor Logic Schotky) – cu timp de propagare mai redus ;
TTLLS (Tranzistor Tranzistor Logic Low Schotky) – cu timp de propagare redus
TTL şi consum mai redus ;
TTLAS (Tranzistor Tranzistor Logic Advanced Schotky) – cu puteri foarte mici (2
mW / capsulă) şi tp = 1,5 ns
PMOS
MOS NMOS
CMOS.

Pe lângă tehnologiile enumerate, pentru porţile logice sunt cunoscute şi tehnologiile


ECL şi I2L.
CIRCUITE LOGICE COMBINAŢIONALE
3.4.2. Structura porţilor logice

Configuraţia unei porţi NAND


cu două intrări în tehnologie
TTL poate fi reprezentată
conform figurii
Pe lângă porţile ce formează
complete logice, în cadrul
circuitelor logice s-au realizat
Multisim
circuite de interfaţă. Din
această categorie fac parte
porţile trigger-Schmidt.
Acestea au rolul de formator
de semnal. Circuitele de acest
tip transformă semnale cu
variaţie lentă în semnale cu
fronturi compatibile cu a
porţilor logice obişnuite. Multisim
CIRCUITE LOGICE COMBINAŢIONALE
3.4.2. Structura porţilor logice (continuare)
În multe situaţii este necesară semnalizarea optică sau acustică, sau este necesară
comanda unor elemente în comutaţie dinamică (relee). În acest sens au fost realizate
porţi cu colectorul în gol sau cu drena în gol. Acestea se caracterizează prin faptul că
circuitul de ieşire are configuraţia modificată fiind accesibil spre exterior fie colectorul
tranzistorului de ieşire, fie drena.

Multisim

Porţile cu colectorul sau drena în gol pot fi de mai multe tipuri. Cele mai întâlnite sunt
porţile de tip NU respectiv NAND.
CIRCUITE LOGICE COMBINAŢIONALE
3.4.2. Structura porţilor logice (continuare)
În sistemele digitale se impune conectarea circuitelor la o magistrală, ce presupune
conectarea la aceeaşi linie a ieşirii mai multor circuite. Rezolvarea se face prin
realizarea circuitelor TSL (Three State Logic) caracterizate prin faptul că pe lângă cele
două stări (H, L) apare şi cea de a treia stare numită stare de impedanţă ridicată.
Circuitul are o intrare suplimentară
notată cu E .
În unele situaţii semnalul este notat
prin CE (Chip Enable) sau CS
(Chip Select) care validează
funcţionarea circuitului.

Multisim
ANALIZA ŞI SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE

4.1. Analiza CLC.


4.1.1. Definiţii. Principii de realizare.
Analiza circuitelor logice combinaţionale constă în obţinerea descrierii formale a
funcţionării circuitului care este necesară din mai multe considerente…..
Ca metode de analiză sunt utilizate: metoda tabelei de adevăr, metoda algebrică directă,
Metoda tabelei de adevăr

y = u 3 ⋅ u 2 ⋅ u1 + u 3 ⋅ u2 ⋅ u1 + u3 ⋅ u 2 ⋅ u1 =
( )
= u 2 ⋅ u1 ⋅ u 3 + u3 + u 3 ⋅ u2 ⋅ u1 = u 2 ⋅ u1 + u 3 ⋅ u2 ⋅ u1 Multisim
ANALIZA ŞI SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE

Metoda algebrică directă


Analiza CLC prin metoda algebrică directă se face plecând de la intrare spre ieşire,
scriind funcţia logică elementară realizată de fiecare poartă în parte. Având în vedere că
ieşirea unei porţi devine intrarea următoarei se ajunge la obţinerea funcţiei circuitului.

y = u1 ⋅ u2 ⋅ u 3 + u1 ⋅ u2 ⋅ (u 2 + u3 ) = u1 ⋅ u2 ⋅ u 3 + u1 ⋅ u 2 ⋅ u2 + u1 ⋅ u2 ⋅ u3 =
= u1 ⋅ u2 ⋅ u 3 + u1 ⋅ u 2 + u1 ⋅ u2 ⋅ u3 = u1 ⋅ u2 ⋅ u 3 + u1 ⋅ u 2 ⋅ (1 + u3 ) = u1 ⋅ u2 ⋅ u 3 + u1 ⋅ u 2
Se poate obţine, în baza funcţiei de y (0, 0, 0) = 0 ⋅ 0 ⋅ 0 + 0 ⋅ 0 + 0 ⋅ 0 = 0
comutaţie rezultate astfel, tabela de y (0, 0,1) = 1 ⋅ 0 ⋅ 0 + 1 ⋅ 0 + 1 ⋅ 0 = 1
adevăr care descrie funcţionarea
circuitului prin calculul valorii funcţiei 
pentru fiecare combinaţie : y (1,1,1) = 1 ⋅1 ⋅ 1 + 1 ⋅ 1 + 1 ⋅1 = 1
ANALIZA ŞI SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE

4.2. Sinteza CLC.


4.2.1. Definiţii. Probleme generale.
Proiectarea unui CLC presupune sinteza acestuia și constă în determinarea funcţiei de
transfer care asigură realizarea specificaţiilor tehnico-funcţionale ale circuitului. Acestea
fiind sarcinile pe care trebuie să le realizeze circuitul în anumite condiţii date.
Codificarea acestora, conduce la obţinerea funcţiei de comutaţie sub una din forme :
2 −1
n
n 2 −1
n

∑ ∏
n

∏( S + α ) ∑
bij bij
=
FCD : y = Pα P i i i uj FCC : y= i i Si = uj
i =0 j =1 i =0 j =1
Din cele două forme de exprimare a funcţiilor de comutaţie se constată că implementa-
rea sub această formă presupune un număr mare de circuite şi de intrări. Pentru
implementare este necesar ca funcţiile să fie aduse la o formă cât mai simplă, cu un
număr redus de termeni şi de asemenea un număr cât mai redus de variabile.
Pentru sinteză şi aducerea la o formă cât mai simplă există mai multe metode:
 metoda algebrică directă;
 metoda rezidurilor;
 metoda diagramelor Veitch-Karnaugh;
 metoda Quinne McClusky;
 metoda consensurilor repetate.
Metoda utilizată se stabileşte în funcţie de complexitatea circuitului respectiv de numărul
de variabile.
ANALIZA ŞI SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE

4.2.2. Metoda algebrică directă


Se bazează pe tabela de adevăr din care se va obţine FCD sau FCC, ce vor fi aduse la
o formă mai simplă prin căutarea şi gruparea termenilor de forma :
P ⋅u + P ⋅u =P Prin aceste grupări se vor putea obţine formele simplificate
( S + u )⋅( S + u ) =
S care descriu circuitul
Nr. u3 u2 u1 y Pentru exemplificare se va considera sinteza unui detector de
0 0 0 0 0 numere prime de 3 biţi
1 0 0 1 1 Dacă se consideră constituenţii unităţii se obţine FCD :
2 0 1 0 1
3 0 1 1 1 y = P1 + P2 + P3 + P5 + P7 =
4 1 0 0 0
5 1 0 1 1 = u 3 ⋅ u 2 ⋅ u1 + u 3 ⋅ u2 ⋅u1 +
+ u 3 ⋅ u2 ⋅ u1 + u3 ⋅ u 2 ⋅ u1 + u3 ⋅ u2 ⋅ u1
6 1 1 0 0
7 1 1 1 1

Dacă s-ar implementa funcţia sub forma obţinută ar fi nevoie de 5 porţi cu câte 3 intrări.
Căutând termeni de forma P ⋅ u și P ⋅ u se poate reduce funcţia :

( ) ( ) (
y = u3 ⋅ u1 ⋅ u 2 + u2 + u 3 ⋅ u2 ⋅ u1 + u1 + u3 ⋅ u1 ⋅ u 2 + u2 = )
= u 3 ⋅ u1 + u 3 ⋅ u2 + u3 ⋅ u1 = u1 ⋅ ( u 3 + u3 ) + u 3 ⋅ u2 = u1 + u 3 ⋅ u2
ANALIZA ŞI SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE

4.2.4 Metoda diagramelor Veitch-Karnaugh


Metoda diagramelor Veitch-Karnaugh conţine două etape: o etapă de determinare a
implicanţilor primi şi a doua etapă de alegere a implicanţilor primi esenţiali.
În aplicarea metodei apar trei cazuri: funcţii complet definite, funcţii incomplete definite,
funcţii în care apar termeni reziduu.
Diagrame Veitch-Karnaugh pentru funcţii complet definite.
Diagrama Veitch-Karnaugh a fost prezentată în cap.2. Pentru exemplificarea aplicării
metodei în sinteza CLC se consideră detectorul de numere prime de trei biţi pentru care
se obține diagrama: Din tabel se observă că există :
u2u1 0 0 01 11 10  adiacenţă dublă termenii 1, 3, 5, 7 care conduc la
u3
0 0 1 1 1
obţinerea termenului u1 ;
 adiacenţă simplă termenii 2, 3 care conduc la
1 0 1 1 0 obţinerea termenului u2 ⋅ u3
u1 u2 ⋅ u3 Cei doi termeni obţinuţi reprezintă şi implicanţii
primi ai funcţiei de comutaţie care va fi :
y = u1 + u2 ⋅ u3
ANALIZA ŞI SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE

Diagrame Veitch-Karnaugh pentru funcţii complet definite (continuare).


Pentru determinarea implicanţilor primi esenţiali se va realiza o tabela de alegere care
conţine pe coloane toţi mintermii funcţiei, iar pe linii implicanţi primi rezultaţi. Aceştia se
vor trece în tabel atât în formă desfăşurată cât şi prin mintermii care i-au generat.

În linia fiecărui implicant prim se va marca mintermul implicat de acesta. Mintermul se


identifică prin prezenţa acestuia în implicantul respectiv. Exemplu u2 ⋅ u3 generat de
mintermii 2, 3 va implica deci mintermii 2, 3, iar u1 generat de mintermii 1, 2, 5, 7 va
implica aceşti mintermi. Pentru a găsi implicanţi primi esenţiali (IPE) se vor caută în
tabela de alegere toţi mintermii implicaţi de un singur implicant prim. Acest implicant
prim va fi un IPE. Conform tabelului se constată că mintermii 1, 5, 7 sunt implicaţi doar
de u1 deci acesta este un IPE.
La fel mintermul 2 este implicat numai de u2 ⋅ u3 deci şi acesta este IPE. În consecinţă
ambii implicanţi primi sunt IPE şi deci în funcţia de comutaţie vor apare ambii implicanţi
şi deci funcţia de comutaţie va fi de forma :
y = u1 + u2 ⋅ u3
ANALIZA ŞI SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE

Diagrame Veitch-Karnaugh pentru funcţii complet definite (continuare).


Se va considera pentru exemplificarea modului de alegere a IPE un CLC cu funcţia :
y = P0 + P1 + P2 + P3 + P5 + P7 + P8 + P10
Diagrama V-K ce corespunde pentru aceşti
mintermi este dată de tabelul
Rezultă trei implicanţi primi u1 ⋅ u4
(1,3,5,7), u1 ⋅ u3 (0,2,8,10) și u3 ⋅ u4
(0,1,2,3).

0 1 2 3 5 7 8 10
u4 u3 u2 u1 u4 u3 u2u1 u4 u3u2 u1 u4 u3u2u1 u4u3 u2u1 u4u3u2u1 u4 u3 u2 u1 u4 u3u2 u1
IPE u1u4 (1,3,5,7) X X X X

IPE u1u3 (0,2,8,10) X X X X

u4u3 (0,1,2,3) X X X X

În consecinţă funcţia de comutaţie va fi de forma : f = u1 ⋅ u4 + u1 ⋅ u3 Multisim


ANALIZA ŞI SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE

Diagrame Veitch-Karnaugh pentru funcţii incomplet specificate.


Există situaţii (anumite combinaţii nu apar niciodată, sau anumite combinaţii nu
afectează funcţionarea circuitului) pentru care funcţia nu este definită în toate punctele
de definiţie, este incomplet specificată. Valoarea logică în tabelă corespunzătoare ieşirii
se va marca cu X, putând fi considerată atât 0 cât şi 1.
Pentru exemplificarea metodei se va considera sinteza unui circuit care decodifică
stările 0, 2, 3, 5, 7, 8, 9, iar pentru stările de la 10 la 15 combinaţiile corespunzătoare la
intrări nu afectează funcţionarea circuitului. Funcţia de comutaţie va fi :
y = P0 + P2 + P3 + P5 + P7 + P8 + P9
Conform tabelei se vor obţine patru implicanţi
primi u4 (8,9...,...) , u1 ⋅ u3 (5, 7...,...) , u1 ⋅ u3 (0, 2,8,...)
u1 ⋅ u2 (3, 7...,...) rezultaţi în urma identificării
adiacenţelor din tabel.

Multisim

Se constată că toţi IP sunt IPE şi funcţia va fi : y = u4 + u1 ⋅ u3 + u1 ⋅ u3 + u1 ⋅ u2


IMPLEMENTAREA CLC PRIN PORŢI LOGICE
5.1. Probleme generale
Analiza şi sinteza: funcţionarea CLC este descrisă prin funcţii de comutaţie, care se
aduc la o formă cât mai simplă. Funcţiile de comutaţie: FD şi FC.
Structura circuitului se obţine prin implementarea fie cu porţi logice fie cu CLC mai
complexe.
Porţile logice utilizate pentru implementare formează complete logice fundamentale
respectiv universale, acestea realizabile prin componente discrete sau integrate
Pentru a putea găsi care din soluţiile posibile de implementare este cea mai avantajoasă
trebuie să se stabilească criterii de evaluare.
Criteriul de evaluare care asigură selectarea celei mai bune soluţii de implementare îl
reprezintă criteriul performanţă - cost.
Performanţa implementării se apreciază prin timpul de procesare.
IMPLEMENTAREA CLC PRIN PORŢI LOGICE
5.2. Evaluarea soluţiilor de implementare
Timpul de procesare
Timpul de procesare este dat de timpul scurs din momentul aplicării semnalului
(semnalelor de intrare) până în momentul obţinerii răspunsului la ieşire şi pentru o
singură poartă este dat de timpul de propagare prin aceasta. Pentru porţile TTL este :
Pentru evidenţierea de calculului timpului de propagare
t PLH + t PHL
tp ; cu t PLH > t PHL pentru mai multe nivele se va considera o configuraţie
2
ce trei nivele cu porţi neinversoare respectiv inversoare
Timpul de propagare total prin n
nivele cu porţi neinversoare va fi :
t pt = n ⋅ max ( t PLH ,t PHL )
Timpul de propagare total pentru n
nivele cu porţi inversoare va fi :
 t PLH + t PHL
n ⋅ ; dacă n este par
t pt = 2
n ⋅ t PLH + t PHL
+ max ( t PLH ,t PHL ) ; dacă n este impar
 2

Timpul de propagare depinde de timpul de propagare al fiecărei porţi şi de adâncimea


circuitului D(n), care este dată practic de numărul de nivele care introduc întârzieri..
IMPLEMENTAREA CLC PRIN PORŢI LOGICE
Costul implementării
Costul implementării este un indicator complex şi depinde de: intrări, porţi, chip, legături.
Costul intrărilor (ni)– este numărul variabilelor de intrare ale funcţiei de comutaţie.
Costul porţilor (np)– este numărul termenilor produs şi sumă care intervin în funcţia de
comutaţie.
Costul chip-urilor(nc) – este numărul chip-urilor care intervin în implementarea funcţiei de
comutaţie. Se calculează în funcţie de numărul de intrări ale porţilor având în vedere că
acestea sunt incluse în capsule având un număr definit de pini din care doi fiind utilizați
pentru alimentare.
Costul legăturilor(nl) – este numărul de legături care apar între intrările şi ieşirile porţilor.
Pentru circuite mai complexe, pentru cost apare şi o altă componentă numită costul
ariei.
În consecinţă, costul poate fi definit ca o funcţie de forma :
(
C = f ni ,n p ,nc ,nl )
Pe lângă parametrii enumeraţi, un factor de evaluare a costului implementării îl
reprezintă complexitatea circuitului notată cu S. Aceasta este dată de un coeficient
complex S(nl) dependent de numărul de legături dintre intrările şi ieşirile porţilor.
IMPLEMENTAREA CLC PRIN PORŢI LOGICE
Implementarea FD prin completul ŞI, SAU, NU
Pentru cele trei tipuri de operatori (porţi) : ŞI, SAU respectiv NU.
Pentru evidenţierea aplicării principiului de analiză a performanţelor implementării se va
considera funcţia de comutaţie :
II II II

y = u1 ⋅ u2 + u2 ⋅ u3 + u1 ⋅ u4

Complet Întârziere Nr. Nr. Nr. Nr.


Adâncime Complexitate
logic\ totală Intrări Porţi Circuite Legături
D(n) S(nl)
Parametrii tpt ni np nc nl

ŞI, SAU, 3x
3 4 6 3 11 11
NU max(tPLH,tPHL)
IMPLEMENTAREA CLC PRIN PORŢI LOGICE
Implementarea FD prin completul NAND
Implementarea prin completul NAND utilizează un singur tip de operator, operandul
NAND. Pentru compararea soluţiilor de implementare se are în vedere aceiaşi funcţie de
comutaţie :
II II II
y = u1 ⋅ u2 + u2 ⋅ u3 + u1 ⋅ u4

I
II II II

y = u1 ⋅ u2 ⋅ u2 ⋅ u3 ⋅ u1 ⋅ u4

Complet Nr. Nr. Nr. Nr.


Adâncime Întârziere totală Complexitate
logic \ Intrări Porţi Circuite Legături
D(n) tpt S(nl)
Parametrii ni np nc nl

max(tpLH, tpHL) +
NAND 3 4 6 3 13 13
3/2*(tpLH + tpHL)
IMPLEMENTAREA CLC PRIN PORŢI LOGICE
II II II
y = u1 ⋅ u2 + u2 ⋅ u3 + u1 ⋅ u4 = ( u1 ⋅ u2 + u2 ⋅ u3 ) + u1 ⋅ u4 = ( u1 ⋅ u2 + u2 ⋅ u3 ) + u1 ⋅ u4 =
I

( ) ( ) (
= u1 ⋅ u2 ⋅ u2 ⋅ u3 + u1 ⋅ u4 = u1 ⋅ u2 ⋅ u2 ⋅ u3 + u1 ⋅ u4 = u1 ⋅ u2 ⋅ u2 ⋅ u3 ⋅ u1 ⋅ u4 = )

Complet Nr. Nr. Nr. Nr.


Adâncime Întârziere totală Complexitate
logic \ Intrări Porţi Circuite Legături
D(n) tpt S(nl)
Parametrii ni np nc nl

max(tpLH, tpHL) +
NAND 5 4 8 2 16 16
5/2*(tpLH + tpHL)
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.1. Probleme generale
În categoria CLC sunt, pe lângă porţile logice, şi circuite cu o structură mai complexă
sub forma unor circuite integrate MSI care implementează funcţii prestabilite. Această
categorie conţine o diversitate mare de circuite, a căror denumire s-a stabilit în raport cu
funcţiile care le implementează.
În scopul utilizării acestor circuite în implementarea diverselor structuri digitale, este
important să se cunoască, pentru fiecare tip de circuit, intrările, ieşirile precum şi funcţiile
pe care le realizează. Aceste informaţii sunt suficiente pentru ca pe baza lor să fie găsită
modalitatea de implementare a diverselor funcţii de comutaţie.
Din această categorie fac parte: convertoarele de cod, codificatoarele,
demultiplexoarele, decodificatoarele, multiplexoarele, comparatoarele, sumatoarele,
circuitele cu funcţii selectabile, codificatoare/decodificatoare de paritate/imparitate, ariile
logice programabile.
Aceste tipuri de circuite vor fi analizate punându-se în evidenţă: intrările, ieşirile, tabelele
care descriu funcţionarea, funcţiile realizate de aceste circuite şi aplicaţiile cele mai
reprezentative ale acestora.
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.2. Convertoare de cod
Sunt CLC care realizează conversia dintr-un cod binar în alt cod
binar, cele mai utilizate realizează conversia din cod binar în cod
Gray si invers, pentru coduri de doi sau patru biţi
Funcţionarea poate fi descrisă prin tabela de adevăr care conţine
combinaţiile intrărilor şi ieşirile care reprezintă echivalentul în Gray.

G3 = B3 G2 = B3 ⋅ B2 + B3 ⋅ B2 = B3 ⊕ B2

G1 = B2 ⋅ B1 + B2 ⋅ B1 = B2 ⊕ B1 G0 = B1 ⋅ B0 + B1 ⋅ B0 = B1 ⊕ B0
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.3. Codificatoare
6.3.2. Codificatoare propriu-zise
Codificatoarele propriu-zise sunt CLC complexe care generează
la ieşire un cod care permite identificarea intrării active la un
moment dat, funcționarea presupune ca, în orice moment, să nu
fie mai mult de o intrare activă.
Schema bloc pentru un codificator cu n intrării şi m ieşirii este:
Pentru codificarea celor n intrări (I0, I1, …, In-1) sunt necesare m
ieşiri (y0, y1, …, ym-1) si trebuie să fie satisfăcută condiţia:
2m ≥ n de unde m ≥ log 2 n
si pentru n=10 rezulta m ≥ log 2 10 ≥ 3,33 =
4
Funcțiile de comutaţie pentru cele patru
ieşiri vor fi de forma:
9
yk = ∑a I ,
i =0
i i k ∈ {0 ,1, 2 ,3} , ai ∈ {0 ,1}
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.3.2. Codificatoare propriu-zise (continuare)
y3 = I 7 + I8 + I 9
Având în vedere valorile lui ai se vor obţine pentru cele patru
y2 = I 3 + I 4 + I 5 + I 6
ieşiri funcţiile de comutaţie:
y1 = I1 + I 2 + I 5 + I 6 + I 9
Pe baza acestora se poate realiza schema logica a
codificatorului utilizând operaţia SAU: y0 = I 0 + I 2 + I 4 + I 6 + I8
Codificatoarele sunt disponibile sub forma circuitelor
MSI, cu ieşirile yi de tip TSL. Aceste circuite au o
intrare suplimentară de comandă pentru selecţia
circuitului notată CE (Chip Enable) sau CS (Chip
Select) cu rol de validare a funcţionării circuitului.

Multisim

Pentru unele circuite semnal de selecţie se genera şi


intern, prin intermediul unei porţi NOR, în cazul când
una din intrări devine activă.
ST = I 0 + I1 + I 2 + I 3
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.3.3. Codificatoare cu prioritate
Codificatoarele cu prioritate sunt circuite complexe, care
generează la ieşire va fi codul corespunzător intrării cu prioritatea
cea mai ridicată, activă în momentul respectiv.
Se considera un codificator prioritar cu n=8 intrări pentru care:
m ≥ log 2 n  ≥ log 2 8 =
3
Funcţionarea este descrisă prin tabela de adevăr
din care se observă că prioritatea cea mai mare
intrare este intrarea I7 iar cea mai mică prioritate o
are intrarea I0.
Pentru a simplifica sinteza circuitului se poate
luând în considerare tabela codurilor dată în
tabelul de priorităţi

Pentru ieşirea y2 se observă că aceasta trebuie să


fie activă daca oricare dintre intrările I4 … I7 sunt
active, deci:
y2 = I 4 + I 5 + I 6 + I 7
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.3.3. Codificatoare cu prioritate (continuare)

Pentru y1 se observă că apar patru


cazuri în care valoarea este 1 şi
anume când sunt active intrările I2, I3, y1 = (I 2 + I 3 )I 4 I 5 + I6 + I7
I6, I7. Dar pentru I2, I3 trebuie introdusă
o condiţie suplimentară ca I4, I5 să fie
0, adică inactive. Rezultă astfel relaţia:

Ieşirea y0 ia valoarea 1 când sunt active intrările I1,


I3, I5, I7. În funcţia logică aferentă pentru y0 trebuie
introduse condiţii suplimentare şi anume: pentru I5,
y0 =I7 + I 5 I6 + I 3 I 4 I6 + I1 I 2 I 4 I6
I6 =0; pentru I3, I4 =0, I6 =0 iar pentru I1, I2 =0, I4 =0,
I6 =0. Conform acestor menţiuni şi a tabelului de
priorităţi va rezulta funcţia de comutaţie de forma:
În baza funcţiilor rezultate poate fi implementat
circuitul cu porţi logice sau sub forma unor circuite
MSI. Sub formă de schema bloc un astfel de
circuit poate fi reprezentat conform figurii:
Multisim
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.3.3. Codificatoare cu prioritate (continuare)
Codificatoarele cu prioritate integrate şi alte semnale de intrare şi ieşire cu rolul de a
permite interconectarea a mai multor codificatoare cu scopul extinderii numărului de
intrări. Aceste semnale sunt: semnalul de selecţie sau validarea a circuitului CE (CS) și
semnalul O care care devine activ (0 logic) când cel puţin una din intrări devine activă:
O = I 0 + I1 + ... + I n−1

În acest mod intrările codificatorului rezultat


prin interconectarea celor două se dublează.
Extinderea numărului de intrări poate fi
făcută prin conectarea în serie (cascadă), pe
principiul prezentat, mai multe astfel de
circuite. Biţii suplimentari pentru cod se vor
obţine prin porţi inversoare de la ieşirile O
conectate cu intrările CE.
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.3.4. Aplicaţii ale codificatoarelor
Aplicaţiile codificatoarelor propriu-zise
Pot fi utilizate pentru realizarea interfeţelor cu tastatura în
sistemele cu microprocesor. Tastatura conţine un număr de taste
reprezentând cifrele zecimale (0, 1, 2, … , 9) operatori aritmetici
(+, -, *, ÷), caracterele alfabetului, semne de punctuaţie sau chiar
funcţii. Pentru a se putea identifica tasta acţionată la un moment
dat trebuie ca pentru fiecare tastă să se genereze un anumit cod.

D4 = ( A ) + ( B ) + ( C ) + ( D ) + (* ) + ( # )
D3 = ( 5 ) + ( 6 ) + ( 7 ) + ( 8 ) + ( 9 ) + ( # )
D2 = (1) + ( 2 ) + ( 3) + ( 4 ) + ( 9 ) + (* )
D2 = ( 0 ) + ( 3) + ( 4 ) + ( 7 ) + ( 8 ) + ( C ) + ( D )
D1 = ( 0 ) + ( 2 ) + ( 4 ) + ( 6 ) + ( 8 ) + ( B ) + ( D )
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.3.4. Aplicaţii ale codificatoarelor
Aplicaţiile codificatoarelor propriu-zise (continuare)
Numărul de intrări pentru codificator se poate reduce dacă tastatura se organizează
tastatura sub formă matricială. Pentru 16 taste numărul intrărilor codificatorului poate fi
redus la 8, tastatura organizându-se sub forma unei matrice de 4 linii şi 4 coloane

D4 = ( A ) + ( B ) + ( C ) + ( D ) + (* ) + ( # )
D3 = ( 5 ) + ( 6 ) + ( 7 ) + ( 8 ) + ( 9 ) + ( # )
D2 = (1) + ( 2 ) + ( 3) + ( 4 ) + ( 9 ) + (* )
D2 = ( 0 ) + ( 3) + ( 4 ) + ( 7 ) + ( 8 ) + ( C ) + ( D )
D1 = ( 0 ) + ( 2 ) + ( 4 ) + ( 6 ) + ( 8 ) + ( B ) + ( D )

( 0) =
x3 ⋅ y3 ; (1) = x3 ⋅ y2 ; ( 2 ) =x3 ⋅ y1 ; ( 3) = x3 ⋅ y0 ; D4 = x1 ⋅ y1 + x1 ⋅ y0 + x0 ⋅ y3 + x0 ⋅ y2 + x0 ⋅ y1 + x0 ⋅ y0 ;
( 4) =
x2 ⋅ y3 ; ( 5 ) = x2 ⋅ y2 ; ( 6 ) =x2 ⋅ y1 ; ( 7 ) = x2 ⋅ y0 ; D3 = x2 ⋅ y2 + x2 ⋅ y1 + x2 ⋅ y0 + x1 ⋅ y3 + x1 ⋅ y2 + x0 ⋅ y0 ;
(8) =x1 ⋅ y3 ; ( 9 ) =x1 ⋅ y2 ; ( A ) =x1 ⋅ y1 ; ( B ) = x1 ⋅ y0 ; D2 = x3 ⋅ y3 + x3 ⋅ y1 + x3 ⋅ y0 + x2 ⋅ y3 + x1 ⋅ y2 + x0 ⋅ y1 ;
(C ) =x0 ⋅ y3 ; ( D ) = x0 ⋅ y2 ; (* ) = x0 ⋅ y1 ; ( # ) = x0 ⋅ y0 ; D1 = x3 ⋅ y3 + x3 ⋅ y1 + x2 ⋅ y3 + x2 ⋅ y0 + x1 ⋅ y3 + x0 ⋅ y3 + x0 ⋅ y2 ;
D0 = x3 ⋅ y3 + x3 ⋅ y1 + x2 ⋅ y3 + x2 ⋅ y1 + x1 ⋅ y3 + x0 ⋅ y0 + x0 ⋅ y2 ;
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.3.4. Aplicaţii ale codificatoarelor
Aplicaţiile codificatoarelor cu prioritate
Codificatoarele cu prioritate pot fi utilizate şi
în cazul sistemelor cu microprocesor pentru
gestionarea întreruperilor. Exemplu:
codificator prioritar cu 8 intrări pentru
controlul întreruperilor pentru un sistem cu
microprocesor.
La intrările codificatorului: I0, I1,…, I7 se vor conecta sursele care generează întrerupere:
clock-ul (ceasul) de timp real, tastatură, interfeţe de proces sau alte periferice.
Prioritatea se stabileşte hardware în funcţie de intrare şi prioritatea intrării la care s-a
conectat sursa cererii de întrerupere. Dacă o intrare devine activă, ieşirea codificatorului
( O) devine activă şi în consecinţă activează linia de cerere de întrerupere a unităţii
centrale (UCP) ( INT )
Ca urmare UCP va citi codul generat de codificatorul cu prioritate care va permite
identificarea cererii de intrerupere cu prioritatea cea mai mare şi în consecinţă sursa
care a generat întrerupere. UCP va putea astfel dirija programul la rutina care
deserveşte sursa care a generat întreruperea.
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.4 Demultiplexoare
6.4.1. Definiţie. Principii de realizare.
Sunt circuite care realizează transferul informaţiei de pe o
intrare pe mai multe ieşiri. Funcţionarea poate fi asimilată cu un
comutator rotativ care printr-un contact mobil poate să transfere
succesiv informaţia de la intrarea I la una din ieşirile yi.
Transferul informaţiei de la intrare la una din ieşiri se realizează
printr-un cuvânt numit cuvânt de adresă. Numărul ieşirilor N ale
demultiplexorului va fi dependent de dimensiunea n a
cuvântului de adresă, astfel N=2n.
Funcţionarea poate fi descrisă sintetic prin tabelul
y0 = A0 ⋅ A1 .....An−1 ⋅ I = P0 ⋅ I
y1 = A0 ⋅ A1 .....An−1 ⋅ I = P1 ⋅ I
y2 = A0 ⋅ A1 .....An−1 ⋅ I = P2 ⋅ I

y2n −1 = A0 ⋅ A1 .....An−1 ⋅ I = P2 n −1 ⋅ I
Dacă I=1 şi cele n adrese A0, A1, …, An-1 se consideră ca intrări, ieşirile demultiplexorului
y0, y1, …, y2n -1 reprezintă constituienţii unităţii pentru o funcţie de n variabile.
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.4.1. Definiţie. Principii de realizare (continuare)
Funcţie de dimensiunea cuvântului de adresă (numărul de linii) demultiplexoarele pot fi:
1:2, 1:4, 1:8, 1:16. Pentru exemplificarea se consideră un demultiplexor 1:4 a cărui
funcţionare este descrisă prin schema bloc și tabelul din care rezultă ecuațiile logice
y0 = A0 ⋅ A1 ⋅ I
y1 = A0 ⋅ A1 ⋅ I
y2 = A0 ⋅ A1 ⋅ I
y3 = A0 ⋅ A1 ⋅ I

Multisim
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.4.2. Aplicaţii ale demultiplexoarelor
Demultiplexoarele folosesc intrarea I şi ca intrare de validare cu ieşirile active pe 1 sau
pe 0. Dacă ieşirile sunt active pe 1 se obţin constituenții unităţii iar DEMUX va operația
ŞI a funcţiei de comutaţie.
Se exemplifică modul de alegere pentru funcţiile y1,
respectiv y2 din tabelul:
Pentru funcţia y1 se obţine
conform tabelului expresia:
y1 = P0 + P3 + P 7
și schema
Dacă constituenții lui 1 este mai mare decât constituenții lui 0 se impune un număr mare
de intrări și din acest considerent pentru funcția y2 de forma: y2 = P 0 + P2 + P3 + P5 + P7
mai eficientă devine implementarea pentru formei negate: y2 = P1 + P4 + P6
Dar deoarece se doreşte obţinerea funcţiei
y2 aplicând negaţia expresiei de mai sus se
obţine:
y2 = y2 = P1 + P4 + P6
și schema
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.4.2. Aplicaţii ale demultiplexoarelor (continuare)
În cazul în care nivelul activ al ieşirilor este 0 logic la ieşiri se obţin constituenții unităţii
negaţi Pi
astfel funcţia de comutaţie pentru ieșirea y1
din tabelul anterior va fi
y1 = P0 + P3 + P7 = P0 ⋅ P3 ⋅ P7
și schema

Dacă numărul constituenților lui 0 în funcţia de comutaţie este mai mic decât numărul
constituenților lui 1 este mai eficientă implementarea funcţiei negate yi
astfel funcţia de comutaţie pentru ieșirea y2
din tabelul anterior va fi
y2 = P 1 + P 4 + P 6

y2 = y2 = P1 + P 4 + P6 = P1 ⋅ P4 ⋅ P6
și schema
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5 Decodificatoare
6.5.1 Definiţii. Clasificări.
Decodificatoarele sunt CLC complexe care pot fi asimilate
demultiplexoarelor pentru care intrarea I=1 (logic). Cele
menţionate permit reprezentarea sub formă de schemă bloc a
unui decodificator
Echivalarea cu un demultiplexor pentru care I = 1 conduce la
concluzia că un DEMUX 1:2n la care I=1 este identic cu un
decodificator (DECOD) n:2n
Pe lângă intrările şi ieşirile menţionate circuitele decodificatoare sunt prevăzute de
regulă şi cu o intrare de selecţie (validare) notată cu E (ENABLE). Spre deosebire de
codificatoare care generează la ieșire un anumit cod de funcție de intrarea activă, la
decodificatoare se activează o ieşire în funcţie de codul aplicat la intrare.
În raport cu funcţionarea decodificatoarelor, acestea se împart în trei categorii:
 decodificatoare binare;
 decodificatoare binar – zecimal (BCD);
 decodificatoare BCD – 7 segmente
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.2 Decodificatoare binare
Decodificatoarele binare identifică, prin activarea unei ieșiri, toate codurile posibile
generate la intrările acestuia și pot fi de doi sau mai mulţi biţi.
Pentru evidenţierea structurii se considera un decodificator având doi biţi (n = 2), ceea
ce presupune un număr de m = 2n = 4 ieşiri
Din tabela de adevăr
pot fi scrise funcţiile de
comutaţie:
yi = f ( A0 ,A1 )
yi = f ( A0 ,A1 )

 y0 = A0 ⋅ A1 = P0  y0 = A0 + A1 = S0
 
 y1 = A0 ⋅ A1 = P1  y1 = A0 + A1 = S1
 
 y2 = A0 ⋅ A1 = P2  y2 = A0 + A1 = S2
y = A ⋅ A = P 
 3 0 1 3  y3 = A0 + A1 = P3

DECOD 2:4 DECOD 4:16


CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.3 Decodificatoare BCD
Decodificatoarele BCD (Binary Coded Decimal) sunt circuite decodificatoare de 4 biţi
prevăzute doar cu 10 ieşiri, fiecare ieşire fiind activă atunci când la intrare este
echivalentul binar al indicelui ieşirii, reprezentat prin cifrele sistemului zecimal 0, 1,..., 9.
Schema bloc şi tabela de funcţionarea evidenţiază cele menţionate.

Conform tabelei se constată că pentru orice combinaţie a intrărilor care depăşeşte


echivalentul binar al cifrei 9 nu va fi activată nici una din ieşiri. Aceste combinaţii, în
sinteza ieşirilor circuitului, pot fi considerate indiferente şi in consecinţă va rezulta o
implementare care reclamă porţi cu număr mai redus de intrări.

Multisim
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.4 Decodificatoare BCD – 7 segmente
Decodificatoarele BCD-7 segmente sunt destinate pentru comanda display-urilor la care
afişarea caracterelor se poate face prin activarea segmentelor acestuia, realizate cu
LED sau LCD. Pentru reducerea numărului de terminale, se conectează împreună fie
catozii, fie anozii formând terminalul catod comun (CC) respectiv anod comun (AC).
Nivelul activ este 0 pentru un display
AC respectiv 1 pentru un display
CC. Comanda segmentelor se va
realiza prin intermediul
decodificatorului BCD – 7 segmente

Comanda caracterului afişat


se face atunci când la intrări
se găseşte echivalentul binar
al acestuia. Funcţionarea
decodificatorului este descrisă
sintetic în tabelul
Multisim
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.4 Decodificatoare BCD – 7 segmente (continuare)
Aceste tipuri de circuite sunt realizate în tehnologie TTL (xxx447) sau CMOS (xxx5411).
Pe lângă pentru codul caracterului, circuitele mai au încă trei intrări pentru comandă:

LAMP TEST ( LT )
BLANKING ( BL )
( STROBE ) ( LE STROBE )
Multisim
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.4 Decodificatoare BCD – 7 segmente (continuare)
Pentru afişarea pe un LCD au fost realizate decodificatoare xxx4055, xxx4056 CMOS.
DFI – (Display Frequency In) controlează segmentele astfel dacă
DFI = 0 segmentele selectate sunt în 1 logic, dacă DFI = 1
segmentele selectate sunt în 0 logic. DFI este semnal dreptungh.
(f=30-200 Hz) ce defazează segm. sel. și nesel. cu 1800
DFO – (xxx4055) comandă electrodul comun al afişajului
STROBE – (pentru circuitul xxx4056) transferă datele de la
intrare la ieşire (ST=1) sau memorează starea la ieşire (ST = 0)
Decodificatoare xxx4543 pot fi utilizate pentru LCD şi LED
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.5 Extinderea capacităţii decodificatoarelor
Extinderea se impune când numărul intrărilor necesare este mai mare decât numărul
intrărilor disponibile şi pentru aceasta există două soluţii posibile:
 amplasarea matricială a DECOD;
 amplasarea pe niveluri a DECOD.
Amplasarea matricială constă în împărţirea cuvântului de intrare n în două circuite n1 şi
n
n2 astfel încât n1+n2=n. Utilizând două decodificatoare unul n1 :2 1 ale cărui ieşiri vor
n
genera liniile matricei şi altul n:2 2 ale cărui ieşiri vor genera coloanele matricei se va
n1 n2
obţine o matrice cu 2 linii şi 2 coloane.
Prin conectarea unei linii şi a unei coloane la
intrările unei porţi cu două intrări se va obţine un
(
decodificator n : 2n 2n1 × 2n 2 = )
2n1+ n 2
Principiul metodei va fi exemplificat considerând
că se doreşte obţinerea unui DECOD 4:24
dispunând de două DECOD 2:2 2
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.5 Extinderea capacităţii decodificatoarelor (continuare)
Amplasarea pe niveluri a DECOD constă în amplasarea pe două niveluri a circuitelor
DECOD prin împărţirea cuvântului de intrare în două circuite n1, n2 (n1+n2=n). Biţii cei
mai semnificativi (n1) ai cuvântului n sunt aferenți DECOD din primul nivel, iar biţii mai
puţin semnificativi (n2) sunt aferenți DECOD din al doilea nivel. Extinderea capacităţii
bazat pe acest principiu presupune circuite care au intrare de validare E (ENABLE).
Principiul metodei va fi exemplificat prin
obţinerea unui DECOD 4:24 cu DECOD 2:22.
Pentru obţinerea DECOD de patru biţi sunt
necesare în acest caz cinci circuite DECOD
de doi biţi. Biţii cei mai semnificativi (A3, A2)
se aplică circuitului DECOD5 din primul nivel,
iar biţii cei mai puţin semnificativi (A1, A0) sunt
comuni circuitelor DECOD1 ... DECOD4.
Dacă circuitele DECOD utilizate nu au intrări
de validare, se utilizează DECOD cu număr
mai mare de biţi, bitul cel mai semnificativ al
circuitelor DECOD fiind utilizat ca intrare de
validare a DECOD5.
Multisim
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.6 Aplicaţii ale decodificatoarelor
Având în vedere că un DECOD poate fi asimilat cu un DEMUX la care intrarea I=1,
rezultă că acestea pot fi utilizate în implementarea funcţiilor de comutaţie, deoarece
pentru ieşiri active pe 0 LOGIC furnizează la ieşiri constituenții lui 0, iar pentru ieşiri
active pe 1 LOGIC furnizează la ieşiri constituenții unităţii.
O altă aplicaţie a decodificatoarelor constă în decodificare spaţiilor de adresă necesară
în cadrul sistemelor cu microprocesor atât pentru spaţiul de memorie cât şi pentru
circuitele de intrare ieşire. Decodificarea poate fi completă sau incompletă și trebuie să
fie evitate conflictele care pot să apară când o adresă selectează cel puţin două circuite.
Semnalele reprezentând adresele se aplică pe intrarea de selecţie ( CE, CS ) a circuitelor
din spaţiul adreselor.
Pentru exemplificarea se va considera o aplicaţie care presupune selecţia a 3 circuite
(C1, C2, C3) fiecare circuit având patru porturi care sunt repartizate in spaţiul E4 ÷ EF.
Fiecare circuit este prevăzut cu două linii de adresă proprii A1,A0 pentru selecţia unui
din cele patru porturi. Circuitul (C1) va avea adresele în spaţiul E4 ÷ E7, al doilea circuit
(C2) adresele E8 ÷ EB, iar al treilea circuit (C3) în spaţiul EC ÷ EF. Conform adreselor
stabilite, rezultă că pentru selecţie vor fi utilizaţi 8 biţi, adică (A0 ÷ A7). Pentru a stabili
configuraţia circuitului de selecţie se vor transforma adresele hexazecimale în binar
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.6 Aplicaţii ale decodificatoarelor (continuare)

Conform tabelei se observă că pentru


adresele reclamate, semnalele de la
intrările C,B,A ale decodificatorului DECOD
1 nu se modifică şi reprezintă echivalentul
cifrei 7. În consecinţă pentru validarea
funcţionării decodificatorului, DECOD 2 va
utiliza ieşirea 7 ce se va aplica fie pe
intrarea de validare dacă se utilizează
DECOD de trei biţi fie pe intrare D a unui
DECOD de tip BCD.
CIRCUITE LOGICE COMBINAŢIONALE COMPLEXE
6.5.6 Aplicaţii ale decodificatoarelor (continuare)
Numărul DECOD poate fi redus în cazul în care se utilizează decodificarea incompletă
care este posibilă atunci când numărul circuitelor este redus. Analizând tabelul de
funcționare se constată că existând doar trei circuite fiecare cu cate patru porturi sunt
suficiente două adrese A3,A2 pentru circuite si două adrese A1,A0 pentru porturi. Tabelul
poate fi astfel transformat selectând corespunzător adresele.

Pentru fiecare port se obţin 16 adrese fără


posibilitatea unui conflict (x poate lua orice
valoare de la 0 la F).
Dacă se utilizează şi adresa A4 (DECOD de 3 biţi) se constată numărul adreselor pentru
fiecare port este redus la jumătate (x ia valori doar pare 0, 2, 4, 6, 8, A, C, E).

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