Sunteți pe pagina 1din 56

Universitatea „Aurel Vlaicu”din Arad

Facultatea de Inginerie

Prof. dr. ing. Marius M. BĂLAŞ

Electronică digitală
- Curs pentru uzul studenţilor -

2021
1. ANALIZA ŞI SINTEZA DISPOZITIVELOR NUMERICE

1.1. Elemente de algebră booleană


1.1.1. Definirea axiomatică a algebrei booleene

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

b) Conjuncţia (produsul logic):


x 0 1 0 1 y x 0 1
y 0 0 1 1 sau, echivalent, sub forma 0 0 0

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

Din cele 6 axiome mai rezultă următoarele proprietăţi ale inversării:

7o Principiul terţului exclus: x + x =1

8o Principiul contradicţiei: x⋅ x =0

9o Principiul dublei negaţii: x=x


10o Teoremele lui De Morgan: x⋅y = x + y

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⊕y = x⋅y +x⋅y


expresie ce poate fi verificată ușor prin tabelul de adevăr.
Mai mult, în Tab. 1.2 se demonstrează că oricare dintre cele trei funcţii ȘI, SAU și NU poate fi
sintetizată utilizând doar porți de același fel, ŞI-NU (NAND) respectiv SAU-NU (NOR). La sinteza
porților ȘI cu porți SAU-NU, la fel ca și la sinteza porților SAU cu porți Și-NU se aplică teoremele
lui De Morgan.
Tabel 1.2. Sinteza funcţiilor logice cu porţi ŞI-NU sau SAU-NU

Funcția Logică Sinteza cu porţi ȘI-NU Sinteza cu porţi SAU-NU

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

a) Expresia analitică b) Tabel de adevăr b) Schema logică


Fig. 1.1.1. Modelarea funcțiilor logice

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

Fig. 1.1.2. Exemplu de funcţie logică de 4 variabile

1.1.2. Analiza şi sinteza funcţiilor logice

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

Fig. 1.1.4. Funcţia logică START realizată cu porţi ŞI-NU


Observăm numărul relativ mare de porţi ŞI-NU cu două intrări care sunt necesare pentru sinteză.
Acesta este dezavantajul utilizării ariilor de porți logice identice. Preţul scăzut şi durata redusă de
dezvoltare a circuitelor integrate sunt obținute cu prețul utilizării mai puțin eficiente a suprafeței
de siliciu disponibile. Așa cum vom vedea în capitolele următoare, este posibilă și abordarea
opusă: circuitele ASIC sunt optimale ca utilizare a siliciului și ca performanțe electrice, dar sunt
scumpe și necesită mai mult timp pentru dezvoltare și producție.
Pentru tratarea sistematică a funcţiilor logice se recurge la forma canonică disjunctivă FCD, care
echivalează orice funcţie logică cu o sumă (disjuncţie) de minitermeni, agregați prin conjuncții.
Un minitermen este un produs logic conţinând fiecare variabilă o singură dată, fie ca atare fie
negată. FCD este de fapt versiunea analitică a tabelului de adevăr. Fiecărui 1 logic din tabel îi
corespunde un minitermen. Deşi este rar folosită, este posibilă şi exprimarea prin forma canonică
conjunctivă, mulţumită distributivităţii în ambele sensuri a logicii booleene.
De exemplu FCD a funcţiei logice SAU, care are în tabelul de adevăr 3 poziţii conţinând 1, este:

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.

1.1.3. Minimizarea funcţiilor logice prin diagramele Veitch-Karnaugh

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

Fig. 1.1.6. Una dintre grupările posibile pentru minitermeni

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

Fig. 1.1.7. Decodificator binar - 7 segmente

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ă.

1.2.2. Evoluţia tehnologiilor de realizare a CL

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

Fig. 1.2.3. Poarta TTL standard (ŞI-NU)


Tranziţiile realizabile în TTL sunt de ordinul n sec. ceea ce poate produce oscilaţii periculoase la
funcţionarea pe linii lungi neadaptate cu intrarea. Împotriva acestor oscilaţii intrările sunt dotate
cu diode de protecţie, care nu au niciun alt rol funcţional.
Caracteristica intrare-ieşire a porţii TTL și marginea de zgomot sunt definite după cum urmează:

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.

margine de zgomot în stare L margine de zgomot în stare H


VOL VOH

0 3 ÷ 18 VDD
VIL VIH
Fig. 1.2.5. Inversorul CMOS - Dependența intrare-ieșire

O tensiune H la intrarea x deschide tranzistorul cu canal n şi îl blochează pe cel cu canal p, adu-


când ieşirea în L. O tensiune L la intrare deschide tranzistorul cu canal p şi îl blochează pe celălalt.
Intrarea MOS practic nu consumă curent în regim static, fiind echivalentă cu un condensator de
mică valoare. Deoarece ieşirea este în contratimp şi sarcina sa este construită din alte intrări MOS
nici ea nu consumă curent în regim static. Doar în comutaţie există o perioadă de ordinul nsec
pentru care tranzistoarele, în regim activ, consumă energie de la sursa de alimentare. Puterea
medie consumată de un CL se defineşte prin media puterilor consumate în stările H şi L, respectiv
Pm = (PH+PL)/2. Pentru familia CMOS Pm este de cca. 10 nW/poartă în regim static şi 10 mW/
poartă la 1MHz, deci mult mai mică decât la familia TTL.
În figura 1.2.6. sunt prezentate porţile CMOS ŞI-NU şi SAU-NU cu menţiunea că intrările MOS
sunt de obicei protejate prin diode împotriva acumulărilor de sarcini electrice statice. O ieşire
CMOS poate comanda simultan 50 de intrări CMOS (fan out = 50). După cum se observă fiecare
poartă este formată din câte două perechi de tranzistoare complementare, comandate simultan.
În cazul porţii ŞI-NU tranzistoarele cu canal p sunt conectate în paralel iar cele cu canal n în serie.
Dacă ambele intrări sunt pe 1 logic tranzistoarele Q3 şi Q4 sunt saturate iar Q1 şi Q2 blocate,
ieşirea fiind în 0 logic. Este suficient ca una dintre intrări să tracă în 0 logic, pentru ca unul dintre
tranzistoarele Q1 sau Q2 să se deschidă, iar unul dintre tranzistoarele Q3 sau Q4 să se blocheze,
ieşirea trecând astfel în 1 logic. Cu atât mai mult atunci când ambele intrări sunt în 0 logic ieşirea
este 1 logic.

Fig. 1.2.6. Porţile CMOS de tip ŞI-NU şi SAU-NU


În cazul porţii SAU-NU tranzistoarele cu canal n sunt conectate în paralel iar cele cu canal p în
serie. Dacă ambele intrări sunt pe 0 logic, tranzistoarele Q1 şi Q2 sunt saturate iar Q3 şi Q4 blo-
cate, ieşirea fiind în 1 logic. Este suficient ca una dintre intrări să tracă în 1 logic, ca Q3 sau Q4 să
se satureze iar unul dintre tranzistoarele Q1 sau Q2 să se blocheze, ieşirea trecând astfel în 0
logic. Cu atât mai mult atunci când ambele intrări sunt în 1 logic ieşirea este 0 logic.
Timpii de propagare ai diferitelor variante CMOS sunt cuprinşi între 6 ... 50 nsec. Gama normală
de temperaturi în care funcţionează circuitele CMOS este de -40…+850C, dar se construiesc şi
circuite cu gamă extinsă de temperatură: -55…+1250C.
1.3. Tehnologiile de integrare bipolară şi CMOS
1.3.1. Tehnologia bipolară standard
Pentru a înţelege de ce tehnologia bipolară standard TBS a fost înlocuită de CMOS trebuie să
observăm trăsăturile lor definitorii. Structura de bază în TBS este tranzistorul npn, din care prin
modificări minore se pot obţine tranzistoare pnp, diode, rezistoare, condensatoare, dintre com-
ponentele pasive doar bobinele neputând fi integrate. Placheta de bază este de Siliciu de tip p.
Tranzistoarele şi celelalte componente sunt realizate în insule izolate de tip n definite în volumul
plachetei (vezi figurile 1.16 şi 1.17). Izolarea faţă de zonele vecine este obţinută prin polarizarea
inversă a joncţiunilor astfel create. Partea inferioară a insulei este delimitată de un strat puternic
dopat (stratul îngropat). În interiorul insulei se difuzează zone de tip p şi n pentru realizarea bazei
şi emitorului. La suprafaţă se alocă arii speciale (ferestre) în care oxidul izolator este îndepărtat
pentru realizarea conexiunilor electrice. În TBS există cinci procese tehnologice:
a) creşterea epitaxială este procedeul cel mai des aplicat de obţinere a unor suprafeţe mari de
semiconductor dopate uniform. Pe suprafaţa unui semiconductor monocristalin se depun atomi
de Si şi impurităţi într-o structură monocristalină, prin reacţii chimice cu precipitare de Si direct
din starea de vapori (de exemplu: SiCl4+2H2 = 4HCl + Si la temperatura de 1100-1200°C).
a) oxidarea – este un proces în urma căruia la suprafaţa plachetei de Siliciu se formează un strat
subţire (1-2μm) de bioxid de Siliciu - SiO2 - un foarte bun izolator chimic şi electric. Densitatea şi
porozitatea stratului de SiO2 pot fi controlate.
b) fotogravarea - proces de corodare selectivă prin care, în anumite arii bine determinate, se
îndepărtează fie stratul de SiO2 fie metalizarea. Pe suprafaţa cipului se depune o substanţă foto-
sensibilă – fotorezistul, aflat iniţial în stare de gel. Dacă este expus la radiaţie ultravioletă foto-
rezistul polimerizează, devenind dur şi casant. Expunerea se execută prin fotocopierea prin con-
tact a unor măşti care configurează ariile ce se doresc a fi prelucrate prin revelare. Fotorezistul
neexpus, rămas în stare de gel, este îndepărtat prin spălare. Zona neprotejată este apoi atacată
chimic (de exemplu prin expunere la NH4F + HF (fluorură de amoniu + acid fluorhidric). În acest
timp fotorezistul polimerizat protejează restul suprafeţei cipului. Stratul de fotorezist polimerizat
poate fi îndepărtat prin şlefuire.
c) difuzia - procedeul prin care se pot controla relativ precis concentraţiile de impurităţi şi adân-
cimile de pătrundere, în condiţii de mare productivitate. Difuzia constă din pătrunderea impu-
rităţilor aflate sub formă de vapori supraîncălziţi în placheta de Siliciu, care este încălzită la o
temperatură uşor inferioară celei de topire. De obicei difuzia se aplică asupra straturilor epi-
taxiale. Controlul precis al contururilor zonelor dopate se face cu ajutorul fotogravării. Controlul
concentraţiei de impurităţi şi al adâncimii de pătrundere se face din concentraţia vaporilor şi din
durata expunerii.
Fig. 1.3.1. Doparea prin difuzie
e) metalizarea - formează depunerile metalice care au rolul de a configura reţeaua de interco-
nectare a elementelor de circuit. Metalizările se definesc prin corodarea selectivă a unui strat
continuu depus iniţial (de obicei depunere de Aluminiu în vid). Pentru evitarea joncţiunilor pa-
razite care apar la contactul metal-semiconductor, zonele de semiconductor aflate în vecinătatea
ferestrelor metalizate sunt dopate suplimentar.
În aceste condiţii proiectarea unui circuit constă în esenţă din proiectarea setului de măşti cerute
de fotogravări. Măştile se obţin prin desenarea la o scară mare a circuitelor şi micşorări succesive,
fotografice, până la scara 1 : 1.
Combinarea difuziei şi metalizării permite executarea simultană, pe acelaşi cip, a unui număr
extrem de mare de circuite. Singura limitare a complexităţii circuitelor astfel realizate este dictată
de aria de semiconductor disponibilă.
O parte din circuitele realizate pe un cip prezintă defecţiuni care nu mai pot fi înlăturate. În urma
testării pe cip, circuitele bune se separă prin tăiere, se montează pe grila de conectare şi se
încapsulează. Ultimele operaţii sunt testarea finală şi marcarea.
Din TBS au derivat alte tehnologii tot mai complexe şi diversificate, un singur exemplu fiind cir-
cuitele de mare viteză realizate pe suport dielectric din safir (Al2O3) cu izolarea insulelor prin
oxidări adânci în stratul epitaxial de Si crescut pe safir.
Etapele de realizare a unui tranzistor npn în TBS sunt:
• realizarea difuziei de strat îngropat (masca 1);
• creşterea epitaxială;
• delimitarea insulelor prin difuzia de izolare (masca 2);
• difuzia bazelor, mai adâncă şi mai puţin concentrată (masca 3);
• difuzia emitoarelor mai puţin adâncă dar mai concentrată (masca 4);
• o oxidare specială pentru circuitele cu capacitoare MOS (masca 5);
• realizarea traseelor metalizate (măştile 6 şi 7).
Fig. 1.3.2. Tranzistor npn integrat în tehnologia bipolară standard

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.

Fig. 1.3.3. Tranzistor pnp lateral


Din cauza dezavantajelor constructive (baza mai mare de 5µm şi colectorul foarte restrâns)
tranzistoarele pnp funcţionează practic în regim activ invers şi au o eficienţă foarte slabă.
Prin modificarea măştilor, în TBS se pot obţine cu uşurinţă structuri mai complicate, cum ar fi de
pildă tranzistoarele multiemitor sau tranzistoare multicolector.
Diodele se obţin utilizând una dintre joncţiunile unui tranzistor npn obişnuit, cealaltă joncţiune
fiind scurtcircuitată prin metalizare. În funcţie de necesităţi, se poate utiliza fie joncţiunea BE,
care are o rezistenţă mai mică în conducţie dar şi o tensiune inversă mai mică, fie joncţiunea CB.
Rezistoarele, mai ales cele de valori mari, sunt greu de obţinut din cauza materialului neadecvat
(semiconductorul dopat) care are o rezistivitate scăzută şi este puternic influenţat de tempera-
tură şi de tensiunea de lucru. Pentru valori mici (<100Ω) se pot utiliza rezistenţe tip emitor adică
regiuni n+ obţinute simultan cu difuzia de emitor. Rezistoarele de tip bază formate în difuziile p
pot fi cuprinse între 30Ω şi 30kΩ. Pentru valori mai mari, se poate creşte lungimea şi reduce
secţiunea traseelor rezistive de tip bază prin difuzii n+, obţinându-se rezistoare de tip bază des-
picată. Toleranţele acestor rezistoare sunt mari, dar se pot obţine toleranţe de împerechere
foarte bune, dacă desenul rezistoarelor este identic şi ele sunt apropiate pe cip, pentru a func-
ţiona la aceeaşi temperatură. Pentru cazuri deosebite când se cere o precizie mai mare se reali-
zează rezistoare prin depuneri de pelicule metalice sau de siliciu policristalin.
Condensatoare de capacitate mică se pot obţine utilizând joncţiunile polarizate invers ale tran-
zistorului npn. Pentru valori de 10-30pF se pot realiza capacităţi în tehnologie MOS, cele două
armături ale condensatorului fiind depuse una lângă alta, pe suprafaţa oxidată a cipului. Stratul
de oxid MOS trebuie totuşi crescut separat, deoarece trebuie să fie de foarte bună calitate.
Componentele care nu pot fi integrate se conectează din exterior. Este de asemenea posibilă
construirea de circuite integrate hibride, la care pe un suport dielectric se ataşează cipuri TBS dar
şi componente pasive specifice, cum ar fi rezistoarele obţinute prin trasee formate din cerneluri
speciale, care prin coacere creează depuneri rezistive.
Tehnologia TBS, prima tehnologie de producere a circuitelor integrate monolitice, a adus o serie
de avantaje fundamentale faţă de circuitele cu componente discrete:
• reducerea dimensiunii şi greutăţii circuitelor;
• creşterea fiabilităţii datorită scăderii numărului lipiturilor;
• creşterea rezistenţei mecanice;
• obţinerea unor funcţii electrice sofisticate datorită posibilităţii de a folosi scheme complexe,
cu multe tranzistoare;
• preţuri scăzute pentru serii mari.
Faţă de tehnologia CMOS standard TTL are viteză mai mare şi putere disponibilă mai mare.
Totuși, față de CMOS tehnologia TTL are unele dezavantaje:
• insulele de izolare a tranzistoarelor bipolare ocupă o suprafață importantă de Siliciu, limitând
drastic gradul de împachetare al circuitelor integrate bipolare;
• există multe componente pasive, care ocupă mult spaţiu pe siliciu, sunt lipsite de precizie, au
o fiabilitate redusă, prezintă cuplaje parazite inductive și capacitive, etc.;
• apar limitări serioase ale performanțelor din cauza consumului mare de energie și încălzirii.

1.3.2. Tehnologia CMOS


Realizarea celor două tipuri de tranzistoare MOS FET presupuse de tehnologia CMOS este pre-
zentată, ca principiu, în Fig. 1.3.4. Sunt necesare două difuzii principale. Dacă substratul este de
tip p, ca în figură, prima difuzie de tip n formează zonele de sursă Sn şi de drenă Dn ale tranzisto-
rului cu canal n, precum şi o insulă de tip n. În această insulă va fi format tranzistorul cu canal p,
în urma celei de a doua difuzii, de tip p. Se observă că în dreptul fiecărei metalizări sunt necesare
difuzii de suprafaţă de tip p+ respectiv n+, pentru rejecţia efectelor parazite ale joncţiunilor metal-
semiconductor din proximitatea metalizărilor, dar aceste difuzii suplimentare de concentraţie
mărită nu ridică probleme deosebite; ele se execută în aceleaşi ferestre ca şi difuziile principale,
prin creşterea concentraţiei de impurităţi în fazele finale.

Fig. 1.3.4. Tranzistoarele MOS cu canal n şi p în tehnologie CMOS


Comparativ cu TTL, avantajele fundamentale ale CMOS sunt următoarele:
• tranzistoarele de acelaşi tip nu trebuie izolate – costisitoarele insule de izolaţie dispar;
• componentele pasive nu mai sunt necesare;
• întregul design, ca şi tranzistoarele în sine ocupă o suprafaţă mult mai redusă, ceea ce face ca
gradul de împachetare al CMOS să fie incomparabil mai mare – sute de milioane de porţi logice,
pe aceeaşi suprafaţă pe care în TTL s-ar putea realiza doar sute de mii de porţi;
• principialele dezavantaje (frecvenţe şi puteri relativ mici) au fost treptat înlăturate prin per-
fecţionări tehnologice continue.
1.4. Circuite logice combinaţionale
Circuitele logice combinaţionale CLC sunt circuite logice la care starea ieşirilor depinde doar de
starea momentană a intrărilor, fiecare ieşire fiind o combinaţie logică a intrărilor. Aceste circuite
nu au memorie, semnalele de ieşire exista doar în prezenţa semnalelor de intrare.

1.4.1. Porţi logice


Porţile sunt CLC care realizează funcţiile booleene de 2 variabile. Într-o familie de circuite inte-
grate se oferă porţi într-o mare diversitate de variante constructive. De exemplu familia MMC
cuprinde porţile ŞI, SAU, ŞI-NU, SAU-NU în formulele:
 4 porţi cu câte2 intrări: MMC4001 (NOR), MMC4011 (NAND), MMC4071(OR), MMC4073
(AND), etc.
 3 porţi cu câte3 intrări: MMC4025 (NOR), MMC4023(NAND), MMC4075(OR), MMC4081
(AND), etc.
 2 porţi cu câte 4 intrări: MMC4002 (NOR), MMC4012 (NAND), MMC4072(OR), MMC4082
(AND), etc.
 1 poartă cu 8 intrări: MMC4078 (NOR), MMC4068 (NAND), MMC4078(OR), MMC4068(AND).
Pe lângă acestea mai putem găsi o serie de alte circuite de tip poartă:
 2 porţi SAU-NU cu 3 intrări şi un inversor: MMC 4000, 4 porţi ŞI-NU trigger Schmitt cu 2 intrări:
MMC4093, 6 inversoare: MMC4069, 4 porţi SAU-NU EXCLUSIV cu câte 2 intrări: MMC 4070, 6
separatoare inversoare de putere: MMC4049, etc.
Porţile integrate aparţin tehnologiilor de integrare pe scara mică SSI (small-scale integration).
Scările de integrare sunt definite convențional ca în tabelul următor:

Scara de integrare Nr. de tranzistoare Nr. de porți logice


SSI small-scale integration 1 - 10 1 - 12
MSI medium-scale integration 10 - 500 13 - 99
LSI large-scale integration 500 - 20,000 100 - 9,999
VLSI very large-scale integration 20,000 - 1,000,000 10,000 - 99,999
ULSI ultra-large-scale integration > 1,000,000 > 100,000

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.

Fig. 1.4.1. Codificator zecimal - BCD


1.4.3. Decodificatoare
Decodificatoarele sunt CLC care activează una sau mai multe ieşiri în funcţie de cuvântul de cod
aplicat la intrare. Pentru decodificatoarele care acţionează mai multe ieşiri simultan se utilizează
şi termenul de convertoare de cod. Decodificatoarele se folosesc frecvent în adresarea memo-
riilor. În Fig. 1.4.2 se prezintă un decodificator de doi biţi pentru 4 adrese.

Fig. 1.4.2. Decodificator binar de doi biţi

Decodificarea se bazează pe proprietatea porţilor ŞI de a fi activate numai când toate intrările


sunt simultan 1 logic. Pentru fiecare ieşire există câte o astfel de poartă, activată de către un
singur cuvânt de cod. De exemplu ieşirea E0 este 1 logic numai atunci când ambele intrări, I0 şi I1
sunt în 0 logic, cele două inversoare de la intrarea porţii E0 având rolul de a identifica cuvântul de
cod dorit (00 în acest caz).

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.

Fig. 1.4.4. Multiplexor cu 2 intrări


Multiplexările sunt des utilizate în arhitecturile digitale (microprocesoare, microcontrolere, etc.
pentru a compensa dezavantajul existenţei unei singure magistrale de date, care trebuie utilizată
de către un mare număr de alte circuite. Multiplexarea este de regulă însoţită de operaţiunea
inversă, demultiplexarea.

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.

Fig. 4.6. Demultiplexor cu două intrări

Multiplexoarele şi demultiplexoarele fac posibilă transmisia pe un singur canal a informaţiei mai


multor canale. Dacă se realizează o parcurgere ciclică şi sincronizată a tuturor adreselor atât la
emisie cât şi la recepţie (printr-un numărător de adrese comun), într-un ciclu complet de numă-
rare fiecare canal va folosi pe rând, singura cale disponibilă pentru transmiterea datelor.

1.4.6. Circuite aritmetice

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.

Fig. 1.4.8. Sumator pentru cuvinte de 4 biţi


1.5. Circuite logice secvenţiale
1.5.1. Circuite secvenţiale
Un circuit logic secvenţial CLS este un circuit logic ale cărui ieșiri depind nu numai de starea mo-
mentană a intrărilor ci şi de stările sale anterioare.
Secvenţialitatea CLS-urilor provine din capacitatea lor de a memora un număr de variabile interne
de stare. Variabilele de stare sunt implicate în sinteza funcţiilor logice ale ieşirilor astfel că aceeaşi
comandă de intrare poate provoca, în funcţie de stările variabilelor de stare diferite răspunsuri
la ieşire. Un al doilea mecanism de secvenţialitate este reprezentat de temporizări.
Circuitele electronice care fac posibilă secvențializarea se numesc circuite basculante CB şi sunt
de trei tipuri:
♦ CBA – astabile - care furnizează impulsuri de frecvenţă controlată, numite impulsuri de ceas
(clock) sau tact, sursă primară de “mişcare” a CLS, prin care se pot sincroniza operaţiile complexe
executate de circuite. CBA au în compunere fie un condensator de temporizare, fie cel mai
adesea, un circuit oscilant cu cristal piezoelectric, prin care se pot genera oscilaţii cu frecvenţa
stabilă şi bine controlată.
♦ CBM – monostabile - generează la comandă un impuls singular dreptunghiular, de durată con-
trolată, operaţie numită şi temporizare. CBM poate avea aceleaşi elemente ca şi CBA, dar de
obicei sunt obţinute prin divizarea frecvenţei de ceas cu ajutorul unor numărătoare de impulsuri
- la atragerea numărului prestabilit de impulsuri se produce încheierea temporizării.

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.

S R Qn+1 Qn+1 S R Qn+1 Qn+1


0 0 1 1 stare „interzisă” 1 1 0 0
0 1 1 0 înscriere 1 1 0 1 0
1 0 0 1 înscriere 0 0 1 0 1
1 1 Qn Qn stare de memorare 0 0 Qn Qn

a) cu porţi ŞI-NU (NAND) b) cu porţi SAU-NU (NOR)


Fig. 1.5.2. Bistabilele RS asincrone (latches) NAND şi NOR

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).

CK/C S R Qn+1 Qn+1

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.

CK/C D Qn+1 Qn+1

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.

Fig. 1.5.6. Bistabil JK-MS sincron


a) Varianta din tabel b) Variantă cu comutare pe front negativ şi
comenzi asincrone active pe 0

Regim CK J K S R Qn+1 Qn+1

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

Fig. 1.5.8. Bistabilul 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

Fig. 1.5.9. Comparaţie între D-latch şi D-flip-flop


1.5.3. Numărătoare
Numărătoarele sunt CLS-uri formate din bistabile de tip T, ale căror stări pot fi asociate cu mul-
ţimea numerelor naturale, prin decodificare binar-zecimală. Aplicând la intrarea de numărare un
tren de impulsuri, numărătorul va parcurge pe rând toate stările cuprinse între numărul 0 şi
numărul N = 2n–1, unde n este numărul de bistabile din componenţa numărătorului. Se pot con-
strui şi numărătoare inverse, care îşi decrementează conţinutul la fiecare impuls nou de numă-
rare. Totodată se construiesc şi numărătoare inscriptibile, a căror conţinut poate fi presetat
înaintea unei numărări.
Cel mai simplu numărător, cel asincron, este prezentat în Fig. 1.5.10. Celulele sale sunt realizate
cu CBB-T, fiecare celulă având ieşirea conectată la intrarea de tact a celulei următoare. În schema
din figură s-au utilizat CBB-T-uri cu acţiune pe frontul negativ. Acest mod de conectare poate fi
iterat oricât de mult. Din formele de undă vizualizate cu analizorul de stări logice, se poate
observa, prin decodificare, cum conţinutul numărătorului se incrementează după fiecare front
negativ al impulsului de numărare aplicat la intrarea de tact a primei celule, trecând pe rând prin
toate cele 16 stări posibile. Pentru această funcţionare intrările asincrone RS trebuie menţinute
la 1 logic. Deşi celulele acestui numărător funcţionează sincron, totuşi numărătorul în ansamblu
este asincron, deoarece nu toate intrările CK sunt conectate în paralel.

Fig. 1.5.10. Numărător de 16 asincron


Fig. 1.5.11. Numărător de 16 sincron
Numărătorul sincron din Fig. 1.5.11 se comportă identic, dar este construit în mod diferit, astfel
încât toate intrările sale de tact să fie conectate la semnalul CK. Pentru aceasta, ieşirea unei celule
este conectată la intrarea T a celulei următoare (la intrările J-K în cazul figurii). Acest mod de
conectare trebuie însă corectat prin câte o poartă adăugată la nivelul fiecărui nou etaj, începând
de la Q2. Dacă am conecta ieşirea bistabilului Q1 direct la intrarea bistabilului Q2, bascularea
acestuia în starea 1, corespunzătoare cifrei 22 = 4, s-ar produce nu după al patrulea impuls de
tact ci mai devreme, după impulsul 3, pentru că Q2 ajunge în starea 1 imediat după al doilea
impuls. Poarta ŞI are prin urmare rolul de a decodifica starea corespunzătoare cifrei 3. Abia după
ce această stare apare, se va putea produce şi bascularea lui Q3 în starea 1. Acelaşi procedeu este
în continuare iterat pentru fiecare nouă celulă de numărare.
Conţinutul zecimal al unui astfel de numărător este N= ∑n-1 i
i=0 Q i ∙ 2 , putând lua doar valori care
sunt puteri ale lui 2. Pentru a putea realiza și numărătoare de capacitate diferită de puterile lui
2, de exemplu un numărător de 10, putem utiliza intrările asincrone de resetare ale bistabilelor.
Principiul este simplu: realizăm un decodificator al stării corespunzătoare capacităţii dorite, care
la apariţia acestei stări resetează numărătorul în starea iniţială N = 0. Un astfel de numărător se
prezintă în Fig. 1.5.12. Poarta ŞI-NU decodifică starea N=Q3 ∙23 + Q2 ∙22 = 8 + 2 = 10 prin
trecerea ieşirii sale în 0, ceea ce blochează poarta ŞI care menţinea intrarea R în starea de
numărare 1. Astfel toate bistabilele sunt resetate şi numărătorul trece în starea N=0. Deoarece
decodificatorul ŞI-NU trece în acest moment in 1, numărătorul este pregătit pentru o nouă
numărare până la 10.
Numărarea inversă se obţine înlocuind ieşirile directe ale fiecărei celule de numărare Qi cu ieşirile
lor complementare Q�i .
Fig. 1.5.12. Numărător sincron de 10
1.5.4. Registre
Registrele sunt CLS-uri realizate din CBB-uri de tip D, destinate stocării/memorării şi manipulării
datelor binare. Dacă pentru memorarea unui bit este necesar un CBB-D, un registru alcătuit din
n CBB-uri poate memora cuvinte binare cu lungimea de n biţi. Principalele operaţii legate de
memorarea cuvintelor binare în registre sunt înscrierea şi citirea, care se realizează prin terminale
distincte, grupate în portul de intrare pentru înscriere şi portul de ieşire pentru citire.
În funcţie de modul de realizare a acestor operaţii registrele se pot clasifica în registre paralele,
registre serie şi combinaţii ale lor, serie-paralel şi paralel-serie.

a) structură de bază

b) conexiunile de interfaţă cu circuitele externe


Fig. 1.5.13. Registru paralel de patru biţi
Registrul paralel are cea mai simplă structură, fiind alcătuit în principiu doar din n bistabile D între
care nu există decât legătura creată de conexiunea comună cu semnalul de ceas Ck. Portul de
intrare e constituit din intrările de date ale bistabilelor, iar portul de ieşire din ieşirile Q. Înscrierea
datelor are loc simultan pentru toate celulele, la aplicarea impulsului Ck.
Pentru a putea fi utilizat în aplicaţii, registrul paralel are însă nevoie de un sistem de interfaţare,
care asigură, pe lângă funcţionalitatea de bază şi următoarele funcţii: validarea intrării (Input
Enable), validarea ieşirii (Output Enable), alegerea momentului înscrierii datelor (Load) şi şter-
gerea registrului (Clear).
Registrul serie se obţine conectând în cascadă n bistabile CBB-D: ieşirea unei celule se conectează
cu intrarea de date a celulei următoare. Înscrierea datelor se produce serial: pentru a se înscrie
un cuvânt de n biţi este nevoie de n impulsuri de ceas, în condiţiile în care biţii care alcătuiesc
cuvântul binar de la intrare se prezintă pe rând.

Fig. 1.5.14. Registru serie de patru biţi


Să considerăm de exemplu cuvântul binar 1101. Succesiunea stărilor prin care trece registrul serie
pentru a înscrie acest cuvânt apare în tabelul următor.

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.

Fig. 1.5.15. Registru serie-paralel de patru biţi


transfer paralel-paralel transfer serie-serie conversie paralel-serie conversie serie-paralel
Fig. 1.5.16. Operaţii realizate cu registre serie-paralel
Pe lângă funcţia de memorare proprie oricărui registru, registrul serie-paralel realizează şi ope-
raţiile de transfer şi conversie de date, necesare la transmisia la distanţă a datelor. Prelucrările
de date în interiorul sistemelor numerice se fac în paralel, simultan pe n biţi (8, 16, 32, etc.), cu
viteză mult mai mare decât prelucrările serie, în timp ce transmisia datelor se realizează serie, pe
un singur canal de transmisie, pentru a evita realizarea unor canale de transmisie cu n căi
separate. La emisie are loc o conversie paralel-serie (serializare) iar datele sunt transmise în serie.
Recepţia are loc în serie, după care are loc conversia serie-paralel (deserilizare).
Cel mai complet registru este registrul universal, care poate fi configurat dinamic sub orice formă
descrisă mai sus: paralel, serie, inel, deplasare la dreapta sau la stânga. Circuitele de comutare
sunt mai complexe decât cel descris anterior, deseori recurgându-se la multiplexoare. Un astfel
de circuit este registrul universal bidirecţional 74F194 (4-bit bidirectional universal shift register)
realizat de Philips Semiconductors. Acest registru are următoarele terminale:
- D0, D1, D2 şi D3 intrările paralel;
- Q0, Q1, Q2 şi Q3 ieşirile paralel;
- DSR şi DSL intrările de date serie cu transport spre dreapta respectiv spre stânga;
- S0 şi S1 intrări de selectare a modului de funcţionare (0-0 = memorare, 0-1 deplasare
stânga, 1-0 deplasare dreapta, 1-1 paralel);
- MR intrare de resetare (activă pe 0);
- CP impulsul de ceas;

Fig. 1.5.17. Simbolul logic al registrului 74F194


Fig. 1.5.18. Schema registrului 74F194
După cum se observă din schema electrică, intrările de comandă S0 şi S1 configurează dinamic
un circuit de comutare realizat cu ajutorul a patru multiplexoare cu câte patru intrări.
1.5.5. Memorii
Memoriile sunt CLS-uri destinate stocării datelor sub formă de cuvinte binare. Ele pot fi clasificate
în două categorii fundamentale:
a) RAM (Random Access Memory) memorii cu acces aleatoriu, din care se pot citi şi în care se
pot înscrie date în orice moment (Read/Write); memoriile RAM sunt rapide, au un grad ridicat de
împachetare, dar sunt volatile, adică se şterg dacă alimentarea lor se întrerupe.
b) ROM (Read Only Memory) nevolatile, care nu se şterg la întreruperea alimentării; memoriile
ROM se pot citi în orice moment, dar înscrierea lor necesită structuri și operaţii specifice.
Volatilitatea memoriilor RAM se datorează faptului că stocarea unui bit se realizează prin circuite
bistabile (la memoriile statice) sau prin încărcarea/descărcarea unui condensator la memoriile
dinamice, deci în ambele cazuri depinde de nişte parametri electrici care dispar în lipsa alimen-
tării. Memoriile nevolatile se bazează fie pe parametri constructivi definitivi (elemente fuzibile,
diode, etc. care sunt arse sau nu la înscriere, în funcţie de datele memorate) fie sunt dotate cu
acumulatoare interne de lungă durată, care menţin memoria alimentată indiferent de starea
alimentării echipamentului în care este încadrată.
În varianta arderii definitive a elementelor fuzibile de către producător, memoria este ROM de
tip OTP NVM (One-Time Programmable Non-Volatile Memory), putând fi programată o singură
dată. În acest mod se poate memora permanent un program, care rămâne instalat definitiv în
sistem şi poate fi înlocuit numai prin înlocuirea memoriei OTP NVM.
Memoriile PROM (Programmable ROM) pot fi programate în mod repetat, chiar de către utiliza-
tor (Field Programmable). După o evoluţie tehnologică începută în anii ′70 prin memoriile UV-
EPROM (Ultra-Violet Erasable PROM), care puteau fi şterse de către utilizator prin expunerea
cipului la radiaţie ultravioletă şi reîncărcate, astăzi memoriile reprogramabile nevolatile sunt
reprezentate în primul rând de categoria EEPROM (Electrically Erasable Programmable ROM). În
timp ce memoriile EPROM de orice categorie trebuiau extrase din circuit pentru ştergere şi
reinstalate după reîncărcare, memoriile EEPROM pot fi şterse şi reprogramate on-line, fără a mai
trebui extrase din circuit cu ajutorul unor comenzi electrice.
O altă clasificare grupează memoriile în funcţie de principiul de operare:
I. memoriile statice SRAM (Static RAM) şi în general circuitele logice statice sunt realizate pe
baza circuitelor basculante bistabile. Toate circuitele prezentate până acum în curs sunt din
această categorie. Pentru memorarea unui bit sunt necesare cel puţin patru tranzistoare.
II. memoriile dinamice DRAM (Dynamic RAM) şi în general circuitele logice dinamice exploa-
tează proprietatea porţilor tranzistoarelor MOS de a păstra în timp sarcina electrică acumulată,
prin efect capacitiv. Pentru memorarea unui bit este suficient un singur tranzistor.
Memoriile SRAM sunt mai scumpe şi au un grad de împachetare mai mic decât DRAM (în mo-
mentul în care se realiza memoria SRAM de 16 Mb o memorie DRAM avea deja 64 Mb). Pe de
altă parte SRAM au un consum de energie extrem de scăzut, sunt mai rapide, extrem de fiabile
şi uşor de utilizat.
În principiu o celulă de memorie SRAM are nevoie doar de trei comenzi: Chip Enable (CE) prin
care se activează o anume celulă din componenţa unei arii de memorie, Write Enable (WE) prin
care se optează între regimurile de înscriere respectiv citire a celulei şi Output Enable (OE) prin
care circuitele cu trei stări ale ieşirii sunt conectate electric la terminalele de ieşire ale celulei.
Memoriile dinamice realizează cel mai ridicat raport performanţe/cost şi stau la baza echipa-
mentelor digitale actuale. Gradul lor de împachetare este extrem de ridicat, în principiu pentru
memorarea unui bit este suficient un singur tranzistor MOS sau o grupare CMOS, pe lângă care
mai sunt necesare şi unele circuite de interfațare și comutare realizate tot în tehnologie MOS.
Preţul plătit pentru gradul mare de împachetare este necesitatea unui sistem complicat de
reîmprospătare (Refresh) a încărcării electrice a porţilor celulelor MOS, ale căror capacităţi
asociate fac posibilă memorarea datelor prin sarcinile electrice stocate, dar care au totuşi ten-
dinţa de a se descărca în timp. Din cauza circuitelor de refresh memoriile DRAM au un consum
mai ridicat decât SRAM şi sunt mai lente decât acestea.
2. PROIECTAREA ŞI REALIZAREA CIRCUITELOR DIGITALE

2.1. Proiectarea circuitelor digitale


2.1.1. Introducere în proiectarea circuitelor digitale

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ă.

Fig. 2.1.1. Ciclul de viaţă al unui produs (modelul în cascadă)


În inginerie majoritatea caracteristicilor unui produs (atât cele pozitive cât şi cele negative) se
prefigurează încă din faza de proiectare. Un proiect bun este strict necesar pentru realizarea unui
produs bun, deoarece fazele ulterioare din ciclul său de viață nu pot compensa decât în mică
măsură eventualele vicii de proiectare. În același timp un proiect bun nu este şi suficient,
deoarece el poate fi compromis printr-o execuție necorespunzătoare. Din acest motiv proiec-
tantul trebuie să aibă o viziune aprofundată a tehnologiei după care se va executa proiectul său
şi să fie capabil să urmărească în detaliu şi în timp real realizarea sa, astfel încât să poată interveni
cât mai rapid pentru corectarea oricărui neajuns.
Faza de concepție pornește de la documentarea şi definirea nevoilor şi cerințelor utilizatorilor,
formulate prin specificațiile cuprinse în caietul de sarcini al produsului. Pornind de la acest
document esențial urmează imaginarea şi descrierea unei funcționalități corespunzătoare, care
să fie realizabilă în cadrul tehnologiei de care dispune producătorul. Încă din faza de concepție
trebuie permanent avut în vedere tot ciclul de viață al produsului, până la dezmembrarea şi
reciclarea ecologică a componentelor şi materialelor.
Abia după faza de documentare urmează proiectarea propriu zisă, care poate avea la rândul ei
mai multe etape: sinteza unei singure sau a mai multor soluţii posibile, analizarea şi testarea
soluțiilor candidat şi validarea celei mai convenabile dintre ele, trecând prin faze de feedback,
prin care se operează corecțiile şi adaptările necesare.
Etapa de validare se bazează pe testarea produsului, după standardele în vigoare, conform caie-
telor de sarcini. Testarea funcţionării produsului trebuie să se realizeze în condiții cât mai apro-
piate de cele de utilizare, dar există şi baterii de teste mai solicitante, care atestă performanţele
produsului în situații deosebite. Prin urmare, după verificarea funcţionării propriu zise, urmează
să se verifice dacă ea se păstrează şi în cazul unor solicitări extreme, cum ar fi:
• Condiții de mediu deosebite (temperatură, umiditate, ceață salină pentru produsele navale
sau transportate pe mare), radiații UV, radiații cosmice (în aplicaţiile aerospațiale), etc.;
• Șocuri şi vibrații mecanice (mai ales în cazul produselor instalate pe diferite vehicule);
• Șocuri şi solicitări electrice, perturbații, etc.
Forma finală de validare este omologarea, după care se poate trece la producția industrială.
Faza de producție trebuie la rândul ei reglementată prin adoptarea unui sistem de asigurare şi
certificare a calității.
Proiectarea în inginerie ridică o problemă fundamentală: performanţele oricărui produs intră
întotdeauna în conflict cu costurile de realizare! Performanţele ridicate presupun cheltuieli pe
măsură, scăderea costurilor este însoțită inerent de scăderea performanțelor. Această dilemă
impune stabilirea unui compromis, care trebuie să pornească de la analiza specificațiilor din
caietul de sarcini. Deşi în primă instanță calitatea unui proiect tinde să fie apreciată de către
nespecialiști prin nivelul performanțelor intrinseci ale produsului, este evident că alegerea unor
performanţe mult superioare celor cerute de client este însoţită de creșterea inutilă a costurilor,
care este în final decontată de producător, nu de utilizator, reducând astfel profitul.
Pentru a analiza problema eficienței costurilor să considerăm că fiecare variantă de proiectare
posibilă este reprezentată printr-un punct într-un sistem de coordonate eficienţa-cost. Locul
geometric al maximelor care pot fi atinse în cadrul tehnologiilor existente este prezentat în figura
următoare. Cu alte cuvinte curba din figură reprezintă limita maximă a tehnologiilor existente în
ceea ce privește eficienţa costurilor (proiecte dominante).

Zonă inaccesibilă
Soluţii dominante
Eficienţă

Soluţii nedominante

Cost

Fig. 2.1.2. Curba maximelor eficienței costurilor şi aria proiectelor nedominante


Zona accesibilă tehnologiilor existente aparţine soluțiilor nedominante, reprezentabile prin punc-
te plasate sub curbă. Punctele plasate deasupra curbei nu sunt accesibile tehnologiilor existente,
ele ar putea fi atinse numai în cazul unor îmbunătățiri tehnologice viitoare: inovații, invenții şi
chiar revoluții tehnologice (introducerea mașinilor cu abur, electronica).
Cu acest instrument se poate optimiza eficienţa costurilor urmând diferite linii strategice. Faţă
de soluţia iniţială a proiectului, care este de obicei plasată sub curbă, se încearcă diferite variante
de apropiere de nivelul soluţiilor dominante, imaginate astfel încât fie să crească eficienţa fără să
modifice costul fie să scadă costul fără să se modifice eficienţa.
În acest context se evidenţiază rolul crucial al cercetării ştiinţifice (fundamentale şi aplicative),
singura cale prin care este posibilă modificarea semnificativă a curbei soluţiilor dominante.
O altă observaţie vizează ponderea tot mai mare pe care o are faza de proiectare în durata de
dezvoltare a unui produs şi în preţul său, ajungându-se până la procente de 80-90%. Preţurile
componentelor hardware, deci şi a circuitelor integrate digitale, sunt de regulă mici, ponderea
costurilor de dezvoltare fiind legată de faza de proiectare, mai ales atunci când proiectarea este
asistată de pachete specializate de software. Proiectarea asistată de calculator (CAD) este însă
obligatorie, având în vedere complexitatea circuitelor digitale şi dinamica pieţei aplicaţiilor.
2.1.2. Decizia esenţială în proiectarea circuitelor digitale: alegerea tehnologiei

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”.

Fig. 2.1.4. Ciclul de viaţă de tip V


2.2. Proiectarea circuitelor integrate digitale
Prin proiectarea circuitelor digitale putem înţelege atât proiectarea circuitelor integrate digitale
de către producătorii de componente electronice, cât şi proiectarea aplicaţiilor cu circuite digi-
tale, realizată de producătorii de echipamente electronice digitale sau chiar de către utilizatori,
„pe teren”. Pentru ca un utilizator să poată să îşi proiecteze singur aplicaţia digitală el trebuie să
fie familiarizat cu tehnologia aleasă.

2.2.1. Arii de porţi logice. Logica obţinută prin cablare


Din cauza dimensiunilor extrem de reduse la care operează, tehnologiile de integrare sunt de
regulă extrem de pretențioase în ceea ce privește precizia şi rigoarea procedeelor tehnologice.
Chiar şi în cele mai bune condiţii există multe rebuturi, o mare parte din cipurile finalizate tre-
buind să fie aruncate din cauza defecţiunilor (trasee întrerupte, trasee cu atingeri, decalarea
măştilor de difuzie, etc.) Optimizarea unui astfel de design este extrem de laborioasă şi lungă. De
aceea realizarea unui nou model de circuit integrat de la prima la ultima operaţie, cu un set de
măşti de difuzie dedicat (Full Custom Design), este întâlnită doar în cazul unor aplicaţii deosebite,
fără constrângeri de preț și de timp, cum ar fi de exemplu cele spaţiale. În Fig. 2.2.1 este prezentat
setul de măşti de difuzie utilizat la realizarea unui invertor CMOS.
a) Circuite programabile prin mascare (mask programmable):
Majoritatea circuitelorintegrate au fost de la început realizate pornind de la arii de porţi prefa-
bricate. Porţile logice ale acestor arii (de exemplu ŞI-NU) sunt plasate regulat, cât mai dese, fără
a realiza o funcţie logică particulară. Ele sunt lăsate pe wafer într-o fază intermediară de fabricaţie
(cu toată suprafaţa metalizată şi cu cipurile neseparate, vezi Fig. 2.2.2). Waferele realizate în
număr mare (la preţ scăzut) sunt depozitate în aşteptarea comenzilor.
Proiectele comandate de clienţi se obţin prin cablarea corespunzătoare a ariei. Schema dorită
rezultă prin conectarea adecvată a porţilor necesare, obţinută prin corodare a stratului metalizat,
realizată printr-o fotogravare obișnuită. Restul porților rămân nefolosite. Proiectarea unui circuit
integrat digital se reduce deci, în esență, la proiectarea unei singure măşti, a celei de metalizare.
Pentru exemplificare se prezintă realizarea unui detaliu dintr-un circuit CMOS: un inversor (vezi
fig. 1.5.2.) Pentru full custom design sunt necesare 6 măşti: o mască pentru difuzia insulei n în
care se realizează tranzistorul pMOS, o mască pentru stratul intern de polisiliciu cristalin prin care
se conectează tranzistoarele (rezistent la tratamentul termic de stabilizare care urmează difuzii-
lor), măştile pentru difuziile n+ şi p+, masca pentru realizarea contactelor şi în final masca pentru
metalizarea care conectează inversorul la restul circuitului.
Avantajul de a putea realiza schema dorită doar prin masca de metalizare este evident, dar
circuitul nu poate fi finalizat (încapsulat) decât după metalizare.
substrat p pMOS nMOS insulă n

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)

b) PLD, CPLD şi PAL:


Depozitarea waferelor este evident dezavantajoasă, deoarece necesită măsuri speciale de evitare
a contaminărilor cu diferite impurităţi, întrerupe fluxul de fabricaţie şi cere operaţii costisitoare
de manipulare şi transport. De aceea programarea prin mascare a fost înlocuită prin alte
procedee, proprii memoriilor ROM, care se pot aplica asupra circuitelor finalizate (conectate la
terminalele externe şi încapsulate). Programarea cipurilor încapsulate este evident mai avanta-
joasă decât programarea waferelor, deoarece nu întrerupe ciclul de fabricaţie şi înlătură riscurile
de contaminare a cipurilor.
Astfel circuitele PLD (Programmable Logic Device) se pot configura cu ajutorul unor strapuri
fuzibile. Proiectantul trebuie să decidă care dintre aceste strapuri trebuie înlăturate, operaţie
care se realizează prin impulsuri electrice astfel calculate încât să nu afecteze restul circuitului.
Circuitele PLD de mare capacitate se numesc CPLD (Complex Programmable Logic). Acelaşi pro-
cedeu de programare cu strapuri fuzibile se poate aplica unei întregi arii de porţi, rezultând ariile
programabile de porţi logice PAL (Programmable Array Logic).
O altă tehnică din această categorie, este legată mai mult de memoriile UV EPROM.
Fig. 2.2.3. Circuit PLD

a) circuit secvenţial b) circuit aritmetic


Fig. 2.2.4. Arii programabile prin strapuri fuzibile
c) FPLD:
Dezavantajul circuitelor programabile prin mascare de a putea fi executate doar la producător, a
fost înlăturat cu ajutorul tehnologiei de programare a memoriilor ROM cu ajutorul strapurilor
fuzibile, oferind astfel şi utilizatorilor posibilitatea de a-şi cabla circuitele, conform propriilor lor
proiecte (Field Programmable). Primele circuite din această categorie au fost circuitele FPAL
(Field Programmable Array Logic). Ele sunt însoţite de dispozitive de programare care pot selecta
şi volatiliza strapurile alese de proiectant. Pentru a uşura programarea acestor circuite programa-
toarele FPAL au fost dotate cu limbaje de tip asamblor, cum ar fi PALASM.
FPAL-urile sunt programabile o singură dată (one time programmable): utilizatorii pot înscrie un
singur program. Cea mai mică greşeală de programare impune înlocuirea întregului circuit
integrat.

Fig. 2.2.5. Numărător proiectat în PALASM (Wikipedia/Programmable Array Logic)


Bibliografie
[1]. http://en.wikipedia.org/wiki/FPGA
[2]. http://www.eecg.toronto.edu/~vaughn/challenge/fpga_arch.html
[3]. http://www.eetimes.com/conf/dac/showArticle.jhtml?articleID=164302400
[4]. http://www.xilinx.com/bvdocs/whitepapers/wp245.pdf
[5]. http://seekingalpha.com/article/85478-altera-and-xilinx-report-the-battle-continues
[6]. Xilinx ISE WebPACK, http://www.xilinx.com/ise/logic_design_prod/webpack.htm
[7]. Quartus II Web edition software, https://www.altera.com/support/software/download/
altera_ design/ quartus_we/dnl-quartus_we.jsp.
[8]. J.J. Rodriguez-Andina, M.J. Moure, M.D. Valdes. “Features, Design Tools, and Application Do-
mains of FPGAs,” IEEE Transactions on Industrial Electronics, vol. 54, nr. 4, august 2007, pp.
1810-1823.
[9]. T.H.S. Li, S.J. Chang, Y.X. Chen. “Implementation of human-like driving skills by autonomous
fuzzy behavior control on an FPGA-based car-like mobile robot,” IEEE Trans. Ind. Electron.,
vol. 50, nr. 5, Oct. 2003, pp. 867–880.
[10]. B.W. Bomar. “Implementation of microprogrammed control in FPGAs,” IEEE Trans. Ind.
Electron., vol. 49, nr. 2, Aprilie 2002, pp. 415–422.
[11]. C. Quintáns, M.J. Moure, M.D. Valdés, E. Mandado. “A virtual instrumentation laboratory
based on a reconfigurable coprocessor,” IEEE Trans. Instrum. Meas., vol. 55, nr. 2, apr. 2006,
pp. 635–645.
[12]. C. Dufour, S. Abourida, J. Bélanger. “Real-time simulation of permanent magnet motor
drive on FPGA chip for high-bandwidth controller tests and validation,” Proc. IEEE ISIE, iul.
2006, pp. 2591–2596.
[13]. Gh. Toacşe, D. Nicula. “Circuite integrate digitale. Limbajul de descriere hard – VHDL,”
Teora, Bucureşti, 1996.
[14]. D. Fritz. „Spartan 3 FPGA Tutorial”, Oklahoma State University, 2005.
[15]. M. Salazar. „Design of Control Logic for a Fluid Storage Tank,” Project UNM Intelligent Dis-
tribuited Multi-Agent Robotics Laboratory, Albuquerque, supervised by D. Zrilic, 2006.
[16]. Xilinx. “Targeting Spartan-3E Starter Kit - Lab 1: Xilinx Tool Flow Lab”.
[17]. Xilinx. Datele tehnice corespunzătoare produselor descries.
[18]. S. Huss. “VLSI”. Technishe Universitat Darmstadt. Institute of Microelectronic Systems.
http://www.csit-sun.pub.ro/courses/vlsi/VLSI_Darmstad/www.microelectronic.e-technik.tu-
darmstadt.de/lectures/winter/vlsi/vorlesung_pdf/chap14.pdf

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