Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Inginerie
Electronică digitală
- Curs pentru uzul studenţilor -
2021
1. ANALIZA ŞI SINTEZA DISPOZITIVELOR NUMERICE
Matematicianul englez George Boole (1815-1864) a pus bazele algebrei logice, numită şi Boole-
ană, care operează cu propoziţii despre care se poate afirma că sunt adevărate sau false. Logica
Booleană reprezintă o formalizare matematică a logicii lui Aristotel. În esenţă Boole a studiat
cazul limită al laticelor distributive alcătuite doar din două elemente, respectiv elementele neutre
ale celor două operaţii care constituie structura algebrică: 0 respectiv 1.
Fiind dată o mulţime M compusă doar din două elemente, pe ea se pot defini aplicaţii de forma
f:MxM→M, numite legi de compoziţie interne sau operaţii. Având două operaţii notate cu “+” şi
“•”, mulţimea M şi cele două operaţii vor forma o structură algebrică numite latice, dacă oricare
ar fi x, y, z elemente ale lui M, vor fi respectate următoarele legi:
1o Comutativitatea: x+y=y+x
x⋅y=y⋅x
2o Asociativitatea: (x + y) + z = x + (y + z)
(x ⋅ y) ⋅ z = x ⋅ (y ⋅ z)
3o Idempotenţa: x+x=x
x⋅x=x
4o Absorbţia: x ⋅ (x + y) = x
x + (x ⋅ y) = x
Laticea va fi distributivă dacă va prezenta şi:
5o Distributivitatea: x ⋅ (y + z) = (x ⋅ y) + (x ⋅ z)
x + (y ⋅ z) = (x + y) ⋅ (x + z)
Se remarcă faptul că distributivitatea este valabilă în ambele sensuri.
Pentru fiecare operaţie există câte un element neutru care lasă variabilele nemodificate:
x⋅1=x
x+0=x
Rezultatele operaţiilor cu 0 şi 1 sunt postulate prin:
6o Legile lui 0 şi 1: x+0=x
x+1=1
x⋅0=0
x⋅1=x
Definirea operaţiilor care îndeplinesc condiţiile de mai sus se poate face prin analogie cu reuniu-
nea şi intersecţia mulţimilor şi sunt reprezentabile prin tabele de adevăr.
a) Disjuncţia (suma logică):
x 0 1 0 1 y x 0 1
y 0 0 1 1 sau, echivalent, sub forma 0 0 1
x+y 0 1 1 1 0 1 1
x⋅y 0 0 0 1 1 0 1
Tot printr-un tabel de adevăr se poate defini şi operaţia de inversare (complementare) logică:
c) Inversarea (complementarea):
x 0 1
x 1 0
8o Principiul contradicţiei: x⋅ x =0
x + y = x⋅y
Structura algebrică obţinută în acest mod se numeşte algebră booleană. Marea sa importanţă
rezultă din posibilitatea aplicării ei în analize şi operaţii logice, dacă se atribuie celor două ele-
mente 1 şi 0 valorile logice de “adevăr" şi " fals”.
Propoziţiile cu care operează algebra logică se definesc prin funcţii logice (sau binare, deoarece
au doar 2 valori). O funcţie logică de n variabile va fi de forma:
f : {0, 1} x {0, 1} x … x {0, 1} → {0, 1}
Domeniul de definiţie al unei funcţii logice de n variabile va avea m =2n puncte, putându-se con-
strui N=2m funcţii distincte. În continuare vor fi definite cele 24=16 funcţii logice elementare (de
două variabile). Cele mai utilizate sunt funcţiile care au şi mnemonică. Circuitele care realizează
oricare dintre cele 16 funcţii logice de 2 variabile se numesc porţi.
Tabel 1.1. Porţile logice
Din definirea axiomatică a algebrei booleene, care apelează la disjuncţie, conjuncţie şi negaţie,
rezultă ca orice funcţie logică de două variabile poate fi definită cu legile de compoziție ŞI, SAU
şi NU. Este de remarcat că şi implicaţiile de la poziţiile 13 şi 15 din Tab. 1.1 se pot utiliza ca legi
de compoziţie, dar ele sunt evitate din cauza asimetriei şi mai ales a lipsei lor de semnificaţie
pentru raţionamentele umane, mult mai bine acomodate cu logica Aristotelică. Exprimarea
funcţiilor logice prin triada ŞI-SAU-NU se poate observa în exemplul următor:
x x x x
x
x x∙y
y
y =x∙y
x x
x+y
y
y =x+y
Proprietatea funcțiilor logice de a putea fi sintetizate utilizând doar porţi de acelaşi tip este
exploatată din plin în industria electronică. Marea majoritate a circuitelor integrate digitale se
realizează pornind de la arii de porţi logice identice de mari dimensiuni. Acestea sunt realizate
prin copierea şi multiplicarea cu mijloace fotografice a unei singure măşti, cu design optimizat.
Circuitele care conţin aceste arii de porţi logice sunt produse în serii foarte mari, ceea ce le reduce
substanţial preţul. Configurarea funcţiilor logice cerute de diferitele proiecte se realizează în
cadrul fazei finale de metalizare, doar prin conexiunile electrice dintre porţi. Un proiect nou se
reduce astfel, în esenţă, la desenul măştilor de metalizare.
Funcţiile logice pot fi modelate matematic (analitic, prin tabele de adevăr, grafuri, etc.) sau prin
scheme logice, în funcţie de scop și de preferințele proiectantului. În electronică se preferă de
obicei schemele logice, care fac legătura imediată cu circuitele corespunzătoare.
PI
Funcţiile logice de mai multe variabile se construiesc tot cu ajutorul porților, exploatând asocia-
tivitatea, ele fiind de fapt propoziţii logice.
P2
Echipamentele industriale actuale sunt bazate în cea mai mare măsură pe circuite electronice
care pot efectua operaţii aritmetice şi logice. Proiectarea lor presupune două operaţii esenţiale:
a) Analiza logică: stabilirea modelului matematic când se cunoaşte schema logică.
b) Sinteza logică: stabilirea schemei logice când se cunoaşte modelul funcţiei logice. Sinteza pre-
supune în primul rând definirea funcţiei logice, urmată de implementarea ei cu diferite circuite
electronice disponibile.
Pentru exemplificare se va considera comanda de pornire-oprire a unui motor electric dintr-o
acţionare tipică pentru maşinile-unelte. Pornirea trebuie să se declanşeze la acţionarea butonului
P şi trebuie condiţionată de existenţa ventilaţiei V pentru răcirea motorului şi de funcţionarea
sistemului de ungere U. Oprirea se obţine prin acţionarea butonului O sau la apariţia unei avarii
A. Funcţia logică necesară, exprimată analitic, este:
START = (P + START) ⋅ V ⋅ U ⋅ A ⋅ O
În Fig. 1.1.3 se ilustrează cele mai des utilizate reprezentări ale funcţiei logice START care se folo-
sesc în electronică şi automatică.
Fig. 1.1.3. Funcţia logică START reprezentată printr-o schemă logică (electronică) şi
printr-o schemă cu contacte de releu ladder view (automate programabile)
Modul în care se sintetizează aceeaşi schemă logică cu porţi ŞI-NU este prezentat în Fig. 1.1.4.
P
V
U START
A
f9 = x + y = xy + xy + xy
O problemă cheie a sintezei circuitelor digitale este minimizarea funcţiilor logice. Prin minimizare
schemele logice se pot simplifica, reducându-se numărul porţilor. De exemplu, funcţia logică P1
din Fig. 1.1 nu este exprimată în modul cel mai simplu, varianta sa minimă fiind de fapt y.
( ) ( )
P1= (x ⋅ y ) + x ⋅ y = x + x ⋅ y = 1 ⋅ y = y
Minimizarea de mai sus este realizată analitic, fiind bazată pe utilizarea proprietăţilor axiomatice
ale logicii booleene. Analizând tabelul de adevăr al funcţiei logice P1 din Fig 1.1, observăm că cei
( )
doi minitermeni, (x ⋅ y ) respectiv x ⋅ y sunt plasaţi în poziţii adiacente.
Minimizările analitice sunt simple când avem un număr mic de variabile, ca în exemplul de mai
sus, dar devin laborioase atunci când numărul de variabile creşte. O metodă clasică de minimi-
zare, potrivită mai ales pentru funcţiile de 2, 3 sau 4 variabile, bazată pe gruparea convenabilă a
minitermenilor, este metoda diagramelor Veitch-Karnaugh. Aceste diagrame sunt forme parti-
culare de tabele de adevăr, construite astfel încât minitermenii adiacenţi să poată fi grupaţi în
pătrate sau dreptunghiuri de câte 2, 4 sau 8 locaţii. Numărul de locaţii este egal cu 2v (unde v
este numărul de variabile). Acoladele marchează zonele în care respectiva variabilă este adevă-
rată. Alocarea câmpurilor aferente variabilelor (notate în figurile următoare cu A, B, C și D), nu
este unică, variabilele putând fi aranjate în orice ordine: A-C-B-D, A-D-B-C, C-D-A-B, etc.
Pentru o mai bună înţelegere a atribuirii locaţiilor vom numerota fiecare locaţie din diagramele
figurii următoare prin cifra zecimală corespunzătoare decodificării binare a minitermenilor for-
maţi de A, B, C şi D, neuitând că în realitate, în aceste locaţii pot să existe numai valorile 0 sau 1.
De exemplu, termenul D⋅C⋅B⋅A va corespunde cifrei binare 1111 = 1510, iar D ⋅ C ⋅ B ⋅ A cifrei binare
0000 = 010. Locaţia 12 corespunde minitermenului D ⋅ C ⋅ B ⋅ A .
După construirea diagramei urmează gruparea minitermenilor în grupe cât mai mari, astfel ca
expresia lor analitică să fie minimă. Cum am văzut, grupările pot fi de câte 2, 4 sau 8 locaţii,
corespunzând unor minitermeni de 3, 2 sau o singură variabilă. Grupările pot fi pătrate sau
dreptunghiulare. Ele pot fi realizate şi pentru marginile şi colţurile diagramei (diagrama se poate
considera cilindrică atât pe orizontală cât şi pentru verticală, în funcție de situație). Aceeaşi
locaţie poate fi folosită de mai multe ori, în mai multe grupări. Exemple de grupări posibile în
cazul diagramei pentru trei variabile sunt prezentate în Fig. 1.1.5.
Fig. 1.1.5. Diagramele Veitch-Karnaugh pentru 2, 3 şi 4 variabile
De multe ori se întâlnesc situaţii în care o parte din posibilele combinaţii de intrare nu apar nici-
odată în funcționarea reală. În acest caz putem considera aceşti minitermeni, notaţi cu X, fie 0 fie
1, în funcţie de modul în care putem obţine cele mai mari grupări.
Să considerăm tabelul de adevăr al unui convertor de cod binar-7 segmente, care are rolul de a
face posibilă afişarea cifrei zecimale corespunzătoare codului binar de la intrare. Tabelul de ade-
văr al celor 7 segmente, notate cu a, b, c, d, e, f şi g, este prezentat în Fig. 1.1.7.
De exemplu, funcţia logică a segmentului f este:
f = D ⋅ C ⋅B ⋅ A + D ⋅ C ⋅B ⋅ A + D ⋅ C ⋅B ⋅ A + D ⋅ C ⋅B ⋅ A + D ⋅ C ⋅B ⋅ A + D ⋅ C ⋅B ⋅ A
Există 6 minitermeni a câte 4 variabile. Deoarece la intrare nu apar codurile cifrelor mai mari de
9, locaţiile corespunzătoare cifrelor cuprinse între 10 şi 15 pot fi notate cu X. În urma formării a
3 grupări de câte 4 minitermeni și a uneia de 8 minitermeni, funcţia f minimizată va fi:
f = A ⋅ C + B ⋅ C + A ⋅B + D
A B C D
Fig. 1.1.8. Minimizarea schemei segmentului f din convertorul de cod binar-7 segmente
1.2. Circuite logice
1.2.1. Generalităţi
Circuitele logice CL sunt circuite electronice lucrând în regim de comutaţie, care realizează funcţii
logice booleene. Se mai folosesc şi termenii de circuite numerice sau digitale.
Valorilor logice de 0 şi 1 li se pot asocia 2 nivele de tensiuni electrice: L (low - coborât) pentru 0
şi H (high - ridicat) pentru 1. Se poate folosi şi logica negativă: L - 1 şi H - 0. Orice propoziţie logică
se va putea realiza fizic cu aceste circuite, prin reproducerea în tehnologie electronică a schemei
logice aferente.
Circuitele analogice studiate la disciplina Circuite Electronice Liniare se bazează pe amplificări
liniare sau neliniare ale semnalelor electrice, păstrând natura continuă a variaţiei lor în timp şi a
domeniului de valori posibile. Spre deosebire de ele, CL discretizează atât domeniul valorilor
semnalelor cât şi timpul. Pe lângă marele avantaj al prelucrării informaţiei prin metode digitale
(proprii calculatoarelor numerice) CL oferă şi avantajul unei imunităţi la zgomote net superioare
circuitelor analogice.
Nivelul L poate fi asociat absenţei tensiunii, iar nivelul H poate fi asociat prezenţei tensiunii, ceea
ce însemnează că la o alimentare de E volţi, orice tensiune mai mică decât E/2 va fi interpretată
drept 0 şi orice tensiune mai mare de E/2 va fi interpretată ca 1. Astfel perturbaţiile mai mici de
E/2 nu vor afecta CL.
Un exemplu ilustrativ pentru avantajele CL este transmiterea informaţiilor la distanţe foarte mari
sau în condiţii de raport semnal/zgomot atât de mic încât transmisia analogică ar fi înecată de
zgomot, ca de exemplu în cazul navelor cosmice.
Semnalul de transmis s(t) va trebui "digitizat" (adus la o formă compatibilă cu calculatorul
numeric). Digitizarea se obţine prin eşantionarea în domeniul timp (prelevarea la intervale de
timp regulate a unor eşantioane ale s(t)) urmată de conversia analog-digitală în urma căreia fie-
care valoare eşantionată este convertită în câte un cuvânt de cod binar - o succesiune de valori 0
sau 1. Precizia conversiei va fi cu atât mai ridicată cu cât se vor utiliza cuvinte binare de mai mulţi
biţi (bit-ul fiind cea mai mică unitate de informaţie). Valorile luate în considerare se vor alege
dintre multiplii valorii corespunzătoare bitului cel mai puţin semnificativ.
Fig. 1.2.1. Digitizarea unui semnal şi transmisia lui serie
Prin transmisia acestor cuvinte binare recepţia la distanţă va fi mult mai corectă. Mai mult, teh-
nica de calcul face posibilă utilizarea de coduri auto-detectoare de erori şi chiar auto-corectoare
de erori. Aceste coduri, care sunt studiate în cadrul disciplinei de Teoria Transmiterii Informaţiei,
îşi au originea în metoda bitului de paritate. Fiecărui cuvânt de cod binar îi este ataşat un bit
suplimentar, calculat astfel încât suma tuturor biţilor cuvântului final să fie pară. Dacă unul dintre
biţii cuvântului transmis este afectat de erori (practic fiind complementat), controlul de paritate
va releva o sumă impară a biţilor, avertizând asupra erorii. Același lucru se întâmplă pentru un
număr impar de erori. Detectarea numărului și poziției biţilor eronaţi şi implicit corectarea lor
prin complementare se obţin cu preţul introducerii unui număr suplimentar de biţi de control.
În general CL sunt sisteme automate care în urma unor comenzi aplicate asupra intrărilor reali-
zează prin ieşiri diferite răspunsuri. Toate mărimile sunt Booleene. Putem astfel aprecia că CL
sunt în fapt o particularizare a noţiunii de automat finit studiată de Automatică.
CL au fost realizate iniţial cu ajutorul releelor electromagnetice. Acest mod de lucru, deşi pare
învechit (releul electromagnetic a fost inventat încă din 1821 de către G. Schilling), continuă să
se menţină în actualitate, limbajele de tip contact de releu fiind frecvent utilizate în automatele
programabile (echipamente industriale destinate conducerii secvenţiale a proceselor).
Fig. 1.2.2. Realizarea funcţiilor logice prin relee
În Fig. 1.2.2 se arată obţinerea cu ajutorul releelor a celor trei funcţii logice de bază ŞI, SAU şi NU,
orice altă funcţie logică rezultând din combinarea acestora. Pentru ca bobina releului ŞI să fie
acţionată este necesar ca cele două contacte în serie reprezentând variabilele x şi y să fie atrase
simultan (1 logic). Pentru alimentarea bobinei SAU este suficient ca fie x fie y să fie 1 logic, bobina
fiind alimentată de oricare dintre cele 2 contacte conectate în paralel (şi cu atât mai mult de
amândouă simultan). Realizarea negaţiei se face printr-un contact normal închis.
Deşi funcţiile logice pot fi realizate într-o diversitate de alte tehnologii (mecanice, hidraulice,
pneumatice, optice, etc.) majoritatea echipamentelor de comandă actuale sunt electronice,
bazându-se pe CL semiconductoare integrate pe scară tot mai mare. Producătorii oferă zeci de
familii de astfel de circuite, cuprinzând numeroase tipuri distincte de circuite.
O primă abordare electronică a funcţiilor logice cu componente discrete a fost tehnologia DTL
(Diode Transistor Logic). În DTL funcţiile logice se obţin cu ajutorul unor diode introduse în cir-
cuitele de bază ale tranzistoarelor, optimizându-se blocarea sau saturarea acestora, în funcție de
comandă. Deşi utile pentru circuitele improvizate și foarte simple, circuitele DTL nu au aplicaţii
industriale, pentru care sunt necesare tehnologii performante, bazate pe integrare a circuitelor.
După tipul tranzistoarelor implicate aceste tehnologii pot fi grupate în două categorii:
• CL bipolare, cu tranzistoare bipolare (familia reprezentativă: TTL);
• CL unipolare, cu tranzistoare MOS (familia reprezentativă: CMOS).
Familia TTL
Familia TTL (Transistor Transistor Logic) a apărut în anii ‘60 şi utilizează tranzistoare bipolare.
Pornind de la posibilitatea realizării oricărei funcţii logice cu porţi ŞI-NU, poarta fundamentală a
familiei TTL este poarta ŞI-NU, prezentată în figura 1.11. Funcţia logică ŞI-NU se obţine cu ajutorul
tranzistorului multi-emitor T1 de la intrare. Dacă oricare dintre intrările x sau y sau amândouă au
valoarea logică 0, T1 este deschis şi blochează tranzistorul intermediar T2, care la rândul lui
blochează tranzistorul de ieşire T5 şi saturează perechea de tranzistoare de ieşire T3 – T4. În
această situaţie starea logică a ieşirii este 1. Starea opusă, de 0 logic la ieşire, apare doar atunci
când amândouă intrările au valoarea logică 1. În această situaţie T1 este blocat iar T2 se deschide,
fiind polarizat prin joncţiunea CB a lui T1, care este polarizată direct cât timp joncţiunile de emitor
sunt blocate.
Caracteristic acestei familii este necesitatea alimentării cu o tensiune continuă de 5 ± 0,25V,
tensiuni doar cu 2 – 2,5 volţi mai mari distrugând integratele.
T1
x
y T2 T3 T4
x⋅y
T5
VOL VOH
0 1 2 3 4 5 [V]
VIL VIH
margine de zgomot margine de zgomot
pentru starea L pentru starea H
Fig. 1.2.4. Poarta TTL standard (ŞI-NU) - Dependența intrare-ieșire
Caracteristica prezintă următoarele zone distincte:
• 0 ... VIL = zona tensiunilor L de intrare, cu VIL=0.8V cea mai mare tensiune de intrare
admisibilă pentru valoarea logică 0;
• VIL ... VIH = zona de incertitudine care caracterizează comutaţiile;
• VIH ... +5V = zona tensiunilor H de intrare, cu 2V cea mai mică tensiune de intrare
admisibilă pentru valoarea logică H;
• V ... VOL = zona tensiunilor L de ieşire cu UOL = 0,4 cea mai mare tensiune de ieşire
posibilă pentru 0 logic;
• VOL ... VOH = zona de incertitudine pe durata comutaţiilor;
• VOH ... +5V = zona tensiunilor H de ieşire cu 2,4V cea mai mică tensiune de ieşire
posibilă pentru H logic
Limitele admisibile ale stărilor L şi H la intrare şi la ieşire sunt astfel definite încât la cuplarea a
două circuite să existe o rezervă de tensiune de 0,4 V numită margine de zgomot. Dacă pe o linie
se transmite un semnal logic, o tensiune parazită de valoarea marginii de zgomot poate fi
adăugată la VOL sau scăzută din VOH, fără ca la intrarea circuitului care recepţionează semnalul să
fie depăşite limitele admisibile VIL respectiv VIH și să apară erori. Cu cât marginea de zgomot este
mai mare, circuitele pot suporta perturbaţii mai mari fără ca funcţionarea lor să fie deranjată.
Valorile curenţilor de intrare şi de ieşire sunt:
• IIH 40 µA curentul maxim de intrare în starea H (înspre poartă)
• IIL -1,6 mA curentul maxim de intrare în starea L (dinspre poartă)
• IOH -400 µA curentul maxim de ieşire în starea H (dinspre poartă)
• IOL 16 mA curentul maxim de ieşire în starea L (înspre poartă)
Valorile rezistenţelor variantei standard pot fi modificate, pentru ajustarea consumului şi vitezei
de operare. Valorile mai mari favorizează reducerea consumului de energie iar valorile mai mici
viteza. Puterile medii consumate de circuitele TTL sunt în zona 2 ... 30 mV iar timpii de propagare
de 3 ... 35 nsec în funcţie de varianta constructivă. Ieşirea unei porţi standard are curenţii de 10
ori mai mari decât cei necesari pentru atacarea unei intrări, rezultând că fiecare ieşire poate fi
conectată simultan la 10 intrări (fan out = 10). Unele circuite TTL au ieşirea întărită, cu fan out
mărit, fiind numite buffer. Altă categorie de circuite TTL sunt cele cu colectorul în gol, la care
utilizatorul poate conecta o rezistenţă externă de colector, la alegerea sa. Pentru conectarea la
magistralele de date există circuite TTL cu trei stări, la care a treia stare validează sau invalidează
conectarea electrică a ieşirii circuitului la magistrală. De asemenea există şi porţi numite trigger
Schmitt care pot fi folosite ca şi comparatoare faţă de o valoare de aprox. 1,5 V, cu caracteristica
de intrare modificată în sensul apropierii pragurilor de comutaţie VIL - VIH.
Familia TTL a jucat un rol istoric în dezvoltarea circuitelor integrate, dar a fost treptat înlăturată
de tehnologia CMOS, mai avantajoasă din majoritatea punctelor de vedere.
Circuitele CMOS
Circuitele CMOS (Complementary Symmetry Metal-Oxide-Semiconductor) oferă faţă de TTL per-
formanţe net superioare la majoritatea parametrilor: putere consumată mult mai mică, grad de
împachetare mult mai mare (datorită ariei mici a tranzistoarelor MOS), gama de temperaturi
mult extinsă (tranzistoarele MOS sunt mult mai puţin dependente de temperatură decât cele
bipolare), tensiuni de alimentare cuprinse între 3 şi cel puţin 18V, iar marginea de zgomot (per-
turbaţia maximă care nu afectează funcţionarea circuitului) este mult mai mare decât la TTL,
atingând 45% din tensiunea de alimentare. Aceste circuite au fost produse şi în România la Mi-
croelectronica Bucureşti, prin familia MMC. Funcţionarea lor rezultă din simetria complemen-
tară a două tranzistoare MOS cu canale n respectiv p. Aceste tranzistoare lucrează în regim de
comutaţie ca nişte chei (întrerupătoare) comandate în tensiune. Ilustrativ pentru familia CMOS
este inversorul.
0 3 ÷ 18 VDD
VIL VIH
Fig. 1.2.5. Inversorul CMOS - Dependența intrare-ieșire
Structura unui tranzistor npn este arătată în Fig. 1.3.2. În vedere de sus geometria insulei de izo-
lare este de obicei rectangulară. Izolarea insulei în care este plasat tranzistorul se obţine prin
joncţiunea p-n polarizată invers dintre substrat şi stratul epitaxial. Pentru aceasta trebuie ca
substratul să fie conectat la potenţialul cel mai scăzut din circuit.
Probleme deosebite în TBS apar la realizarea tranzistoarelor pnp, deoarece ele trebuiesc realizate
în substratul p deja existent. Tranzistorul pnp lateral poate fi obţinut prin permutarea rolurilor
difuziilor, ca în Fig. 1.3.3. Difuziile de colector şi de emitor sunt obţinute simultan cu difuzia de
bază a tranzistoarelor npn.
1.4.2. Codificatoare
Codificatoarele sunt CLC care generează la ieşire cuvinte binare de cod, în funcţie de combinaţia
de la intrare. Având n variabile binare sunt posibile 2n combinaţii ale lor. Un cod binar de n biţi
este alcătuit din cele 2n combinaţii sau o parte a lor şi din interpretarea acestora.
Sistemul de numeraţie binar poate fi privit ca un cod natural binar, fiecărei combinaţii de n biţi
corespunzându-i una din primele 2n cifre zecimale. Există mai multe coduri binare dintre care
unul dintre cele mai răspândite este codul binar codificat zecimal BCD. Acest cod înlocuieşte
fiecare cifră zecimală cu codul ei binar natural dar păstrează organizarea zecimală a cifrelor.
Exemplu: = 1100 în cod binar natural
1210
= 0001 0010 în BCD
110 210
În tabelul următor se prezintă codarea binară a cifrelor zecimale de la 0 la 9 (identică unei cifre
BCD), iar în Fig. 1.4.1 schema logică aferentă. Semnul + din expresia funcţiilor logice trebuie inter-
pretat în sensul reuniunii: bitul BCD E0 ia valoarea logică 1 atunci când codul binar de la intrare
corespunde cifrei zecimale 1, 3, 5 , 7 sau 9, etc.
1.4.4. Multiplexoare
Multiplexoarele sunt CLC cu mai multe intrări de date şi o singură ieşire. Selectarea intrării care
este conectată într-un anumit moment la ieşire se face printr-un decodificator de adrese, în func-
ţie de cuvântul de cod binar aplicat intrărilor de adresă.
Între numărul de biţi al cuvintelor de adresă m şi numărul maxim de intrări adresabile n există
relaţia n=2m. În figura următoare este schiţat cel mai simplu multiplexor, având doar două intrări
I0 şi I1 şi un singur bit de adresare A.
Fig. 1.4.3. Multiplexor
Selectarea canalului de intrare adresat se bazează pe capacitatea porţilor ŞI cu două intrări de a
funcţiona ca porţi de transmisie, una dintre intrări având rol de validare. În funcţie de valoarea
intrării de adresare, la poarta SAU de la ieşire va ajunge fie informaţia I0 (dacă A = 0) fie informaţia
I1 (dacă A = 1), cealaltă intrare a porţii SAU fiind 0.
1.4.5. Demultiplexoare
Demultiplexoarele sunt CLC având o singură intrare şi mai multe ieşiri. Selectarea ieşirii conectate
la intrare într-un anumit moment se face printr-un decodificator de adrese, în funcţie de cuvântul
de cod binar aplicat intrărilor de adresă.
Şi demultiplexarea exploatează proprietatea porţilor ŞI de a transmite informaţia de la intrare
înspre ieşire numai la primirea unor semnale de validare.
Fig. 1.4.5. Demultiplexor
În funcţie de valoarea adresei A, informaţia de la intrarea I este transmisă fie ieşirii E0 (dacă A =
0) fie ieşirii E1 (dacă A = 1). Ieşirile neactivate rămân pe 0 logic.
Circuitele aritmetice sunt CLC care pot efectua operaţii aritmetice cu operanzi codificaţi binar.
Utilitatea acestor circuite în calculatoarele numerice este evidentă. În figură se prezintă doar cel
mai simplu circuit aritmetic, sumatorul pentru bitul de rang oarecare n. Foarte frecvent se
apelează la porţi SAU-EXCLUSIV care oferă la ieşire suma aritmetică a biţilor de la intrare.
Operanzii de intrare sunt An şi Bn, suma lor aritmetică este Sn iar transportul înspre rangul supe-
rior este Tn. În Fig. 4.7 se observă şi prezenţa intrării de transport dinspre rangul inferior Tn-1.
Fig. 1.4.7. Sumator de rang n
O celulă sumatoare completă este formată din două semisumatoare (câte o poartă SAU-EXCLU-
SIV pentru calculul sumei şi o poartă ŞI pentru calculul transportului).
Modul de interconectare a celulelor de însumare se ilustrează în Fig. 1.4.8.
CBA CBM
t temporizare t
perioada Comandă
oscilaţiilor
t
Fig. 1.5.1. Circuitele basculante de temporizare
♦ CBB - bistabile (flip-flop) – sunt circuitele fundamentale pentru secvenţializare, capabile de a
memora pe durată de timp nedefinită o stare logică (un bit). CBB fac posibile principalele operaţii
cerute circuitelor logice: prelucrarea şi stocarea informaţiilor sub formă codificată binar.
1.5.2. Circuite basculante bistabile CBB
CBB-urile sunt CLS-uri care au două stări posibile, trecerile într-o stare sau alta având loc doar la
aplicarea unor comenzi adecvate la intrări.
Cele mai simple CBB-uri sunt bistabilele RS asincrone, la care comenzile de intrare se numesc Set
(pentru memorarea stării 1) şi Reset (pentru memorarea stării 0). Ieşirile bistabilelor se notează
de obicei cu Q. Se obişnuieşte ca fiecare ieşire să fie dublată şi de inversa sa Q . Această condiţie
se impune atât pentru ca ieşirea inversă să fie disponibilă la nevoie, cât și pentru diagnosticarea
integrității circuitelor. Dacă la testarea unui CBB cu semnale de test corespunzătoare sesizăm
egalitatea Q = Q , circuitul este cu siguranţă defect.
Principalele CBB-uri asincrone se realizează fie cu porţi ŞI-NU (Fig. 1.5.2a) fie cu porţi SAU-NU
(Fig. 1.5.2b). Înscrierea informaţiilor dorite în CBB se face conform tabelelor din Fig. 1.5.2. Notaţia
complementată a intrărilor bistabilului cu porţi ŞI-NU ne indică faptul că intrările respective sunt
active în starea O, nu în 1. Indicele n indică starea anterioară comenzii de scriere iar indicele n+1
starea rezultată după scriere, care se păstrează în continuare, până la apariţia unei comenzi noi
de scriere. Combinaţiile 1-1 pentru a) şi 0-0 pentru b) sunt proprii stării de memorare, informaţia
anterioară păstrându-se pe toată durata acestor combinaţii de intrare (Qn+1= Qn). Citirea
bistabilelor se poate face în orice moment. Există şi câte o comandă interzisă 0-0 pentru a) şi 1-1
pentru b) care provoacă nerespectarea condiţiei de complementaritate a ieşirilor. Apariţia co-
menzilor interzise nu produce însă nici o defecţiune a CBB-ului în sine.
Funcţionarea bistabilelor presupune, pe lângă cele două stări stabile cu durate de timp nedeter-
minate şi comutările (basculările) între stări. Duratele acestor comutări sunt reduse, dar pe de
altă parte nu pot fi perfect controlate, astfel că este posibil ca bistabile realizate în condiţii teh-
nologice identice să producă întârzieri diferite ale semnalelor. La conectarea în cascadă a mai
multor circuite aceste întârzieri se cumulează, motiv pentru care bistabilele asincrone conectate
în scheme complexe prezintă riscul generării de stări false pentru anumite succesiuni de semnale
de intrare.
Împotriva acestor situaţii se prevede sincronizarea bistabilelor cu semnale de ceas (tact). În
funcţie de existenţa sau inexistenţa sincronizării, CL se pot clasifica în:
- CL asincrone;
- CL sincrone (pe impulsuri pozitive/negative sau pe fronturi de impulsuri pozitive/negative).
Sincronizarea bistabilelor se realizează cu uşurinţă, exploatând proprietatea porţilor de a permite
sau bloca trecerea semnalelor înspre ieșire. În Fig. 1.5.3 se observă cum semnalul de ceas CK
permite transmiterea comenzilor de la intrare doar pe durata când are valoarea 1. Când CK = 0
etajul de sincronizare de la intrare este blocat, iar bistabilul rămâne în starea de memorare.
Această situaţie este reprezentată în tabel prin S = R = X, ceea ce înseamnă că indiferent de
valorile lui S şi R, circuitul îşi va păstra starea anterioară. Atunci când semnalul de tact este activ
pe toată durata sa el poate primi şi comenzi asincrone, notate cu C (comand).
0 X X Qn Qn memorare
0 0 Qn Qn memorare
1 0 1 0 1 înscriere 0
1 0 1 0 înscriere 1
1 1 1 1 stare interzisă
Fig. 1.5.3. Bistabil RS NAND sincron
Stările interzisă şi de memorare pot fi eliminate prin introducerea unui inversor între cele două
intrări, ca în Fig. 1.5.4. Ia naştere astfel bistabilul de date CBB-D (de tip D), specific prelucrărilor
secvenţiale de date, pornind de la care se pot dezvolta circuitele de memorie. Intrările de date
se transferă la ieşire pe toată durata impulsurilor CK, ceea ce conferă transparență acestor
bistabile. Deşi în limba română se acceptă pentru aceste circuite termenul de bistabil (în engleză
flip-flop), în limba engleză termenul folosit este de latch.
0 X Qn Qn memorare
0 0 1 înscriere 0
1
1 1 0 înscriere 1
Fig. 1.5.4. Bistabil D transparent (D latch)
La conectarea în cascadă a bistabilelor transparente apare însă o disfuncţionalitate majoră: pe
toată durata activă a impulsului CK/C, datele aplicate la intrarea unui lanţ de circuite se propagă
necontrolat! Acest aspect face imposibile prelucrările complexe de date, dar poate fi înlăturat cu
uşurinţă prin structura de tip MS (master-slave). În limba engleză doar CBB-urile de tip MS poartă
denumirea de flip-flop. Simbolul unui CBB-D flip-flop este prezentat în figura următoare:
CK D Qn+1
0 0 înscriere 0
1 1 înscriere 1
Fig. 1.5.5. Bistabil D-MS (D flip-flop)
CBB-D este compus din două latch-uri D identice, conectate în cascadă. Funcţionarea sa este
imprimată de inversorul care se introduce între semnalul CK aplicat secţiunii master din stânga şi
cel aplicat secţiunii slave din dreapta. Imediat după aplicarea semnalului CK starea intrării D se
transferă la ieşirea secţiunii master, dar secţiunea slave este blocată, pentru că la intrarea sa de
tact semnalul este 0. După ce CK revine la 0 secţiunea master se blochează, dar ieşirea sa se
transferă secţiunii slave, care are acum 1 la intrarea sa de tact. Astfel, în decursul unei perioade
de tact datele de la intrare nu mai circulă necontrolat, ajungând doar până la ieşirea bistabilului.
Spre deosebire de latc-urile transparente, care acceptă datele de la intrare pe toată durata
impulsului de tact, circuitele MS basculează în starea impusă de intrarea de date doar în momen-
tul frontului negativ (ca în Fig. 1.5.5) sau pozitiv al semnalului CK. Bascularea pe frontul negativ
este simbolizată prin complementarea intrării CK sau printr-un inversor la intrarea CK.
Cel mai complex dintre bistabilele MS, capabil să funcţioneze în toate modurile prezentate până
acum şi care introduce în plus unele funcţii extrem de utile în aplicaţii, este CBB JK-MS. Din CBB
JK-MS se pot realiza, prin comandare adecvată, CBB-uri sincrone şi asincrone, CBB-D precum şi
CBB-T, care vor fi prezentate în continuare. În esenţă, acest circuit înlocuieşte intrările RS sin-
crone cu intrările sincrone J şi K, care datorită unor reacţii dinspre ieşirile Q şi Q înspre intrare
înlătură posibilitatea apariţiei stării interzise şi introduc un regim nou, de bistabil T, care va fi
explicat în tabelul de adevăr. Funcţionarea asincronă, prioritară, se obţine introducând în sec-
ţiunea slave de lângă ieşire două intrări de comandă de tip CBB-RS asincron (latch). Aceasta se
poate realiza utilizând de exemplu porţi ŞI-NU cu câte trei intrări la intrarea secţiunii slave.
Tabelul de adevăr al unui CBB JK-MS cu acţiune pe front pozitiv este prezentat în Fig. 1.5.7.
1 1 stare interzisă
asincron X X X 0 1 0 1 înscriere 0
1 0 1 0 înscriere 1
0 0 Qn Qn memorare
sincron 0 1 0 0 0 1 CBB D (înscriere 0)
1 0 1 0 CBB D (înscriere 1)
1 1 Qn Qn CBB T
Fig. 1.5.7. Bistabilul JK-MS cu comutare pe front pozitiv
În regim asincron, intrările RS sunt prioritare. Deseori ele se folosesc în varianta complementată
(active pe 0 logic). La fel de des se pot întâlni şi bistabile care au o singură intrare asincronă S care
permite ştergerea bistabilului (trecerea lui în 0) indiferent de starea comenzilor sincrone.
Regimul sincron este validat de combinaţia S = R = 0. În regim sincron intrările JK sunt active, iar
comutarea ieşirilor se produce pe frontul negativ al impulsului CK. În cazul comenzilor asincrone
active pe 0 regimul sincron este validat de combinaţia S = R = 1.
Intrările JK sunt asemănătoare cu intrările RS pentru combinaţiile J = K = 0 în care JK-MS rămâne
în starea avută înainte de frontul pozitiv CK (memorare) şi combinaţiile J=0 - K=1 şi J=1 - K=0 în
care JK-MS are o funcţionare de tip CBB-D. Principala diferenţă apare la combinaţia J = K = 1, care
nu mai este interzisă ci creează o funcţionare de tip CBB-T. În regim T, pentru fiecare front pozitiv
de tact CK se produce bascularea ieşirii în starea complementară.
CK
t
QCBB-T
t
TCK
TCBB-T
În Fig. 1.5.8 se prezintă comportarea unui CBB-T cu acţiune pe front negativ, care are o proprie-
tate remarcabilă: divizarea frecvenţei impulsurilor de tact cu doi: fCBB-T = fCK/2, proprietate care
face posibilă construirea numărătoarelor, după cum se va observa în secţiunea următoare.
Pentru a înţelege cât mai bine diferenţele dintre latch-uri şi bistabilele MS flip-flop, în Fig. 5.9 se
face o comparaţie între funcţionarea unui D-latch şi a unui D-flip-flop cu acţiune pe front negativ.
Principala deosebire constă din transparenţa latch-ului pe toată durata impulsului CK, aşa cum
se observă pe durata impulsului CK3. Impulsul care apare la ieşirea latch-ului atunci când intrarea
D are valoarea 1 simultan cu CK nu se mai produce în cazul flip-flop-ului. Decalarea care apare
între cele două ieşiri între impulsurile CK1 – CK2 e datorată comutării pe front negativ a flip-flop-
ului. În cazul comutării pe front pozitiv decalarea dispare.
CK
1 2 3 4 t
D
t
QLD
t
QFD
t
a) structură de bază
Intrare Ceas Q0 Q1 Q2 Q3
1 ① 1 0 0 0
1 ② 1 1 0 0
0 ③ 0 1 1 0
1 ④ 1 0 1 1
După cum se observă din tabel, la fiecare impuls de ceas se produce o deplasare a cuvântului
binar, în acest caz spre dreapta. Printr-o conectare adecvată se poate obţine şi deplasarea spre
stânga. Deplasările joacă un rol important în multe operaţii asociate echipamentelor digitale iar
registrele specializate în acest sens poartă denumirea de registre de deplasare (shift register).
O structură derivată din registrul de deplasare, prin conectarea ieşirii la intrare, este registrul inel,
prin care un cuvânt binar este deplasat în cerc, la dreapta sau la stânga.
Dacă după înscrierea cuvântului 1101 în registrul serie acesta este conectat ca registru inel, suc-
cesiunea stărilor sale pentru următoarele 4 impulsuri de ceas este cea din tabelul următor.
Intrare=Q3 Ceas Q0 Q1 Q2 Q3
1 ⑤ 1 1 0 1
1 ⑥ 1 1 1 0
0 ⑦ 0 1 1 1
1 ⑧ 1 0 1 1
Într-un registru inel se înscrie un cuvânt care reprezintă starea sa iniţială. După realizarea reacţiei
dintre intrare şi ieşire, această informaţie nu se mai pierde, ea circulă câte un pas pentru fiecare
impuls de tact. Prin deplasarea acestui cuvânt, fiecare bit din componenţa sa va parcurge toate
cele n poziţii din registru, iar după n paşi cuvântul reajunge în poziţia iniţială. Această deplasare
liniară poate fi asociată cu un numărător modulo n, de aceea circuitul se mai numeşte şi
numărător în inel. Registrul inel este utilizat frecvent în automatică, la implementarea auto-
matelor cu stări finite de tip Moore. Se utilizează matrici formate din m registre conectate în
paralel, conţinutul unei celule reprezentând m comenzi binare asociate stării curente a automa-
tului. Trecerea la starea următoare se face după executarea comenzilor aferente stării curente.
Dacă un registru serie este completat printr-un sistem de conexiune adecvat, el poate fi confi-
gurat dinamic, în timpul funcţionării, obţinându-se un registru serie-paralel. În figura următoare
această configurare dinamică este comandată prin intrarea Validare paralel P. Semnalul Validare
serie S se creează prin complementarea lui P.
Proiectarea (design engl.) constă din crearea planului după care se va construi un obiect sau un
sistem - în cazul nostru un circuit electronic digital (numeric). Proiectarea este o operaţie funda-
mentală pentru orice domeniu de activitate: manufacturarea oricărui produs industrial, arhitec-
tură, logistică, afaceri, etc.
Conform Ingineriei Sistemelor, realizarea oricărui produs sau în general a oricărei acțiuni umane
trebuie să se desfășoare conform unui ciclu de viață (lifecycle). Ciclul de viață este o abordare a
sistemului care ia în considerare toate fazele sale de existență, începând de la concepție, trecând
prin cercetare şi dezvoltare, urmate de proiectare, construcţie şi/sau producţie, distribuţie,
operare, mentenanţă, şi în cele din urmă scoatere din funcţiune şi dezmembrare. Cel mai simplu
model de ciclu de viaţă este cel în cascadă, care prezintă principalele faze ale dezvoltării unui
proiect în simpla lor succesiune lor cauzală.
Zonă inaccesibilă
Soluţii dominante
Eficienţă
Soluţii nedominante
Cost
Factorul cheie în proiectarea circuitelor digitale este alegerea tehnologiei de realizare a compo-
nentelor. De această primă alegere depind în mod direct caracteristicile tehnice şi performanţele
produselor finale. Oricare dintre tehnologiile electronice cunoscute, prezintă avantaje şi
dezavantaje, niciuna dintre ele nefiind complet abandonată. Chiar şi tehnologiile istorice pot fi
utile în anumite cazuri. De exemplu amplificatoarele cu tuburi cu vid se utilizează şi astăzi la
amplificări Hi Fi, deoarece au cel mai mare raport semnal/zgomot posibil. Circuite DTL (Diodă
Tranzistor Logic) mai pot fi întâlnite în automatizările extrem de simple şi ieftine. Aceste cazuri
sunt însă mai degrabă curiozități, astfel că în continuare ne vom concentra doar asupra proiectării
produselor din mainstream (produsele majoritare, de masă), care se bazează pe utilizarea
intensivă a circuitelor integrate digitale.
În acest domeniu, aşa cum s-a văzut în capitolul anterior, există două tehnologii de integrare
principale: bipolară şi CMOS, iniţiate aproape simultan în jurul anilor 1960. Dominația circuitelor
integrate CMOS, începută încă din anii 1980 este tot mai puternică, ele reușind în perioada 2000-
2010 să pătrundă şi în ultima redută care rămăsese în exclusivitate bipolară: cea a circuitelor
analogice. Se obțin în acest mod circuitele mixte. Circuitele bipolare continuă totuși să îşi păstreze
anumite poziții pe piață, mai ales în aplicaţiile de mare viteză, la care consumul nu este critic.
Timp de propagare pe poartă
1μs
100ns
CMOS
TTL
10ns
SOC CMOS
ECL
1ns
0,1ns
Ga As MES-FET
0,01ns
100nW 1μW 10μW 100μW 1mW 10mW 100mW
Puterea disipată pe poartă
Fig. 2.1.3. Indexul timp de propagare/putere disipată pentru familii logice standard
În figura anterioară, pe lângă familiile standard TTL şi CMOS au mai fost reprezentate alte trei
familii, reprezentative din punctul de vedere al performanțelor:
• ECL (Emitter Coupled Logic) este cea mai rapidă tehnologie de integrare bipolară, care sacrifică
consumul pentru obţinerea unor comutări cât mai rapide;
• Ga As MES-FET este cea mai rapidă tehnologie de integrare cu efect de câmp, înlocuind siliciu
cu compuși Ga-As, fiind utilizată în domeniul microundelor – zeci de GHz;
• SOC CMOS este una dintre cele mai rafinate tehnologii de tip CMOS, utilizată la circuitele de
tip System On Chip (un întreg sistem de calcul pe un singur cip de siliciu).
Cel mai important index de performanță al unui circuit integrat digital este gradul de împache-
tare, adică numărul de porţi convenţionale care pot fi integrate pe unitatea de suprafaţă (§1.4.1).
Abordarea care pornește de la alegerea tehnologiei de implementare a circuitelor este repre-
zentată prin modelarea de tip V a ciclului de viață.
În domeniul extrem de selectiv al industriei circuitelor integrate principala investiție este cea în
platforma tehnologică. De exemplu, trecerea de la tehnologia de 24nm la cea de 14nm presupune
cheltuieli materiale enorme precum și recalificarea personalului. În aceste condiții dialogul dintre
producător și beneficiar nu mai începe cu întrebarea „de ce aplicație aveți nevoie?” ci cu afirmația
„putem să vă oferim aplicația de care aveți nevoie, în tehnologia de 14nm”.
Insula n
PolisiIiciu
Difuzia n+
Difuzia p+
Contacte
Metalizare
Fig. 2.2.1. Inversorul CMOS: layout-ul şi cele 6 măşti necesare difuziilor şi conexiunilor
Fig. 2.2.2. Wafer de 12 inci cu cipuri nedetaşate (ICC 2008 Poland Silicon Wafer 1 edit, by FxJ -
Own work. Licensed under Public Domain via Commons)