În electronica digitală, o poartă logică este un dispozitiv special proi ectat pentru implementarea [600628]
Capitolul 1.1. Porți logice
În electronica digitală, o poartă logică este un dispozitiv special proi ectat pentru implementarea
funcțiilor booleene, ce efectuează o operație logică a uneia sau a mai multor intră ri logice, din
care r ezultă o singură ieșire logică .
Porțile logice sunt implementat e folosind diode ș i tranzistori, care acționează pe post de
comutatoare electronice, da r pot fi implementate folosind ș i alte tipuri de dispoz itive cum ar fi:
tuburi de vid, relee electromagnetice, dispoz itive optice, ș i chiar dispozitive mecanice.
Circuitele logice cum ar fi multiplexoare, registre , unități de aritmetică logică, memorii, chiar ș i
microprocesoare, toate acestea conț in de la cateva milioane până la sute de milio ane de porț i
logice.
În practică, cele mai multe porț i logice sunt construite din tranzistori cu efect de câ mp (TEC
sau FET – “Field-Effect Transistors ”), în special cele cu semiconductor i cu oxid metalic
(TECMOS sau MOSFET – “Metal-Oxide-Semiconductor Field-Effect Transistors ”).
Tipuri de porț i logice:
1. Poarta inversoare (NU sau NOT)
2. Poarta ne -inversoare (buffer)
Fig. 2. Poart ă ne -inversoare (buffer)
Ieșire Intrare
Fig. 1. Poartă inversoare Figura din stâ nga repre zintă simbolul pentru o poartă
inversoare (NU). Valoarea de la ieșire este inversă
față de valoarea de la intrare .
Intrare Ieșire
0 1
1 0
Ieșire Intrare Figura din stânga reprezintă simbolul pentru o poartă
ne-inversoare (sau buffer ). În acest caz, valoare a sem-
nalului de la ieșire va fi aceeaș i cu valoarea semnalului
de la intrare .
Intrare Ieșire
0 0
1 1
3. Poarta logică Ș I (AND)
Fig.3. Poarta logică ȘI cu două intră ri
4. Poarta logică Ș I-negat (NAND)
Fig.4. Poarta logică Ș I-negat
5. Poarta logică SAU (OR)
Fig.5. Poarta logică SAU (OR)
Ieșire
A
B Figura alăturată reprezintă simbolul pentru o poartă Ș I
(AND) . Semnalul de la ieșire va fi 1 doar dacă toate
intrările sunt 1. De asemenea, semnalul de la ieșire va fi
0 doar dacă una din intrări sau ambele intră ri sunt 0 .
A B Ieșire
0 0 0
0 1 0
1 0 0
1 1 1
A
B Ieșire
Figura alăturată reprezintă simbolul pentru poarta Ș I-negat
(NAND) , singura diferență față de poarta ȘI fiind cerculețul
de la ieșire. Valorile ieșirilor sunt exact invers față de cele
de la poarta Ș I.
A B Ieșire
0 0 1
0 1 1
1 0 1
1 1 0
A
B Ieșire
Figura alăturată reprezintă simbolul pentru o poartă SAU
(OR) . Valoarea semnalului de la ieșire este 1 dacă oricare
din intrări sau chiar ambele intrări sunt 1, și 0 la ieșire
dacă ambele intră ri sunt 0.
A B Ieșire
0 0 0
0 1 1
1 0 1
1 1 1
6. Poarta logică SAU -negat (NOR)
Fig.6 . Poarta logică SAU -negat (NOR)
7. Poarta logică SAU -exclusiv (XOR)
Fig.7 . Poarta logică SAU -exclusiv (XOR)
8. Poarta logică SAU -negat -exclusiv (XNOR)
Fig.8 . Poarta logică SAU -negat -exclusiv (XNOR)
A
B Ieșire
Figura alăturată reprezintă simbolul pentru o poartă logică
SAU -negat (NOR) . Ca și în cazul porții ȘI -negat, valorile
de la ieșire sunt exact invers față de cele de la poarta
SAU.
A B Ieșire
0 0 1
0 1 0
1 0 0
1 1 0
A
B Ieșire
Figura alăturată reprezintă simbolul pentru o poarta logică
SAU -exclusiv (XOR) . Valoarea semnalului de la ieșire
este 1 doar dacă intră rile au valori logice diferite, și 0 doar
dacă ambele intră ri au aceleaș i valori logice.
A B Ieșire
0 0 0
0 1 1
1 0 1
1 1 0
A
B Ieșire
Figura alaturată reprezintă simbolul pentru o poartă
logică SAU -negat -exclusiv (XNOR) . Valorile de la
ieșire sunt exact invers față de cele de la poarta SAU –
exclusiv.
A B Ieșire
0 0 1
0 1 0
1 0 0
1 1 1
Capitolul 1.2. Diagrame Karnaugh
Diagrama Karnaugh este o metodă de simplificare a expresiilor în electronica digitală .
Diagrama Karnaugh este folosită pentru minimizarea funcțiilor logice pentru a obține o formă
echivalentă mai simplă .
Rezultatele sunt tra nsferate dintr -un tabel de adevăr într -o grilă a că rui celule sunt ordonate
conform c odului Gray, unde fiecare celulă reprezintă o combinație de intrări, î n timp ce fiecare
valoare din celulă respectivă reprezintă valoarea de ieșire corespunză toare . În fiecare celulă se
scriu valori de 0 și 1 logic care sunt folosiț i pentru minimizarea expresiilor booleene.
Observaț ie: O diagramă cu n variab ile de intrare este implementată într -o grilă cu celule.
Mai jos sunt ilustrate diagramele Karnaugh pentr u 2, 3, și respectiv 4 variabile.
a) b) c)
Fig. 1. Diagramele Karnaugh pentru: a) 2 variabile b) 3 variabile c) 4 variabile
Minimizarea funcț iilor.
Mai jos sunt câte două exemple de minimizare a unei funcții cu trei variabile respectiv cu patru
variabile.
Y = B • C + A
Y = ̅• ̅ + ̅ • C
Fig.2. Ex emple de minimizare a unei funcț ii cu trei variabile
0 2
1 30 1
0
1A
B
0 2 6 4
1 3 7 500 01 11 10
0
1A B
C
0 4 12 8
1 5 13 9
3 7 15 11
2 6 14 1000 01 11 10
00
01
11
10A B
C D
0 0 1 1
0 1 1 100 01 11 10
0
1A B
C
1 0 0 0
1 1 0 000 01 11 10
0
1A B
C
În primul exemplu de mai sus se observă două grupă ri de celule . Prima grupare de celule (cea
încercuită cu portocaliu) conduce la expresia B • C , nu se ia î n calcul variabila A deoarece odat ă
este 0 logic și odată este 1 logic , iar cea dea doua grupare (cea încercuită cu albastru) conduce la
expresia A, variabila B și C neluându-se în calcul deoarece odată sunt 0 logic și odată 1 logic .
La fel se face și pentru cel de -al doilea exemplu, inclusiv pentru exemplele de mai jos cu patru
variabile. Pentru primul exemp lu de mai jos, celulele aflate în colțurile diagramei reprezintă o
singură grupare deoarece, dacă diagrama ar fi reprezentată ca o gogoașă sub formă de inel, s -ar
observa că acele celul e cu valoarea 1 sunt alăturate. La fel este ș i pentru cel de -al doilea exemplu
de mai jos .
Y = ̅ • ̅ + ̅ • ̅
Y = ̅ • ̅ + A • B • ̅ • D
Fig.3 . Exemple de minimizare a unei funcț ii cu patru variabile
1 0 1
1 0 0
1 0 0
1 0 100 01 11 10
00
01
11
10A B
C D
0
0
0
0
1 1 0
0 0 0
0 0 0
1 1 000 01 11 10
00
01
11
10A B
C D
0
1
0
0
Capitol ul 1.3. Circuite logice secvenț iale
Circuitele logice combinaț ionale ( CLC ) sunt circuite implementate cu porți logice, unde
ieșirea este o funcție a intră rii curente. Acesta est e contrastul spre logica secvențială , unde ieș irea
depinde nu numai de valoarea curentă a intrării ci ș i de valoarea care a fost la intrare. Cu alte
cuvinte, circuitele logice secvențiale au memorie î n timp ce circuitele logice combinaț ionale nu
au memorie .
Caracteristici a le circuitelor logice combinaț ionale:
– Ieșirea unui cir cuit logic combinational depinde doar de nivelele preze nte a terminalelor
de intrare, î n orice moment de timp;
– Nu au memorie. Starea trecută a intrării nu influențează starea curentă a circuitului.
– Pot avea un numă r de n de intrări și un numă r de m de ieș iri;
– Pot fi: multiplexoare, demultiplexoare, decodificatoare, codificatoare, etc.
Fig.1. Diagrama bl oc a unui circuit logic combinaț ional
Voi elabora câteva circuite combinaț ionale importante:
1) Multiplexoarele sunt circuite combinaț ionale care transmit date de la mai multe i ntrări la
o singură ieș ire.
Fig.2. Diagrama bloc a unui multiplexor
ProcessCircuit logic
combinationalA
B
C
nA'
B'
C'
m.
.
..
.
.
Processn:1
MUXI0
I1
I3
I2^n -1
E.
.
.
S0S1 Sn-1Y (iesire)intrari
biti de selectie
2) Demultiplexoarele sunt circuite combina ționale care transmit date de la o intrare la mai
multe ieș iri.
Fig.3. Diagrama bloc a unui demultiplexor
3) Decodifi catoarele sunt circuite combinaț ionale care pe rmit selectarea unei singure ie șiri
în funcț ie de valoarea de la intrare a biților de selecț ie.
Fig.4. Diagrama bloc a unui decodificator
4) Codificatoarele sunt circuite combinaț ionale care fac procesul în sens invers față de
decodificatoare.
Fig.5. Diagrama bloc a unui codificator
Așa cum am spus mai sus, circuitele logice combinaționale nu au memorie, adică starea
anterioară a intrării nu are nicio influența asupra stă rii prezente a circui tului. Î n schimb, circuitele
Processn:1
DMUXY0
Y1
Y3
Y2^n -1E.
.
.
S0S1 Sn-1I (intrare)iesiri
biti de selectie
ProcessDCD
m:n.
.
..
.
.y1
y2
ym-1
Ex1
x2
xn-1
ProcessCD
m:n.
.
..
.
.y1
y2
ym-1
Ex1
x2
xn-1
logice secvențiale au memorie, valoarea la ieșire putând varia în funcț ie de intrare. Aceste tipuri
de circuite folo sesc intrare cu stare anterioară , ieșire, ceas si un element de memorie .
Fig.6. Diagrama bloc a unui circuit logic secvenț ial
Bistabi lii sunt circuite logice secvențiale care eșantionează propriile intrări si iși schimbă
ieșirile d oar la anumite momente de timp ș i in mod discontinuu. Bistabilii sunt de mai multe
tipuri:
– Bistabil de tip SR ( Set-Reset ) – foloseș te in principiu porți de tip ȘI -NU (NAND) cu o
intrare adițională de Enable (E). Circuitul va funcționa dacă și numai dacă intrarea de
Enable este activă, adică dacă E = 1 , dar nu v -a func ționa dacă E = 0 .
Fig.7. Simbolul și schema unui bistabil RS.
– Bistabil de tip JK – bistabil de tip Master -Slave forma ți din doi bistabili RS montați în
cascadă. Master -ul este declanșat în mod pozitiv. În timp ce pe linia de ceas este un
invertor, acesta face ca slave -ul să raspundă î n mod negativ. Pr in urmare, câ nd CLK = 1 ,
master -ul este activ și slave -ul este inactiv . Întrucât, câ nd CLK = 0 , master -ul este
inactiv și slave -ul este activ .
ProcessCLC
Element de
memorieIntrariIesire
Ceas
S
REQ
Q'CLKIntrari Iesiri
Fig.8. Simbolul și schem a unui bistabil JK
– Bistabil de tip D ( Delay ) – bistabil asem ănător cu cel de tip RS, doar c ă între intrările R
și S este conectată o poartă de tip Ș I-NU ( NAND ), avâ nd doar o intrare. El pr eia
valoarea de la intrare, ducând -o la ieșire după un an umit timp, de aceea i se spune ș i
bistabil de întârziere (delay) .
Fig.9. Simbolul și circuitul unui bistabil de tip D
– Bistabil de tip T ( Toggle ) – este practic tot un bistabil JK doar c ă terminalele J și K sunt
conectate î ntre ele.
Fig.10. Simbolul ș i schema bloc a unui bistabil de tip T
Registre
În electronica digitală , un registru este o reprez entare în cascadă de bistabili, a căror ieș ire
pentru fiecare bistabil este conectată la intrarea bistabilu lui urmă tor, unde datele pot fi stocate
și/sau deplasate î n cod binar. Registrele pot fi: registre de memorie , registre de deplasare ,
registre combinate și registre universale .
J
KEQ
Q'CLKIntrari Iesiri
D
EQ
Q'Intrari Iesiri
T
EQ
Q'Intrari Iesiri
J
KQ
Q'Intrari Iesiri CLK ET
După modul de introducere a datelor î n serie sau paralel și citirea lor fiin d făcută de asemenea
în serie sau paral el, re gistrele pot fi clasificate î n:
Registre cu intrare serie – ieșire serie ( SISO – “Serial-In and Serial-Out ”)
Registre cu intrare paralelă – ieșire serie ( PISO – “Parallel -In and Serial-Out”)
Registre cu intrare serie – ieșire paralelă (SIPO – “Serial-In and Parallel -Out”)
Registre cu intrare paralelă – ieșire paralelă (PIPO – “Parallel -In and Parallel -Out”)
Registre de memorie (RM)
Registrele de memorie sunt realizate cu bistabili de tip D sincrone și se folosesc pentru
memorarea unor cuvinte de cod. Mai jos este prezentată schema unui registru de memorie.
Fig.1 1. Registru de memorie
La trecerea din 0 în 1, informaț ia de la intrare est e înscrisă și se memorează în funcț ie de
momentul trecerii din 0 în 1 a impulsului de tact. În cazul î n care se face trecerea din nou în 0,
bistabilii de tip D păstrează această valo are cât timp impulsul de comandă este pe 0 logic.
Registre de deplasare (RD)
Registrele de deplasare sunt realizate cu bistabili de tip RS Master -Slave sau bistabili de tip
JK Master -Slave ce pot stră bate informaț ia spre stâ nga sau spre dreapta la aplicarea fiecarui
impuls de tact. Mai jos este reprezentat ă schema unui registru de deplasare stâ nga-dreapta.
Fig.1 2. Registru de deplasare stâ nga-dreapta
DA QA
CLKDB QB
CLKDC QC
CLKDD QD
CLK
WRITE
AL BL CL DLIesire paralela de date
Intrare paralela de date
S(J) Q0
CLKS(J) Q1
CLKS(J) Q2
CLKS(J) Q3
CLK
R(K) R(K) R(K) R(K)Intrare serie Iesire serie
TactQ'0 Q'1 Q'2 Q'3
Informaț iile din registru se deplasează de la stânga la dreapta cu câte o poziț ie la aplicarea
fiecarui impuls de tact. Semnalul de la ieșire este întârziat cu un numă r de per ioade de tact egal
cu numă rul de bistabili din care este format registrul , dar este acelaș i cu semnalul de la intrare.
Registre combinate ( de memorie ș i de deplasare)
Mai jos este reprezentată schema unu i registru combinat de memorie ș i de deplasare
Fig.12. Registru combinat de memorie si de deplasare
Schema poate fi configurată î ntr-un registru de deplasare dacă comanda pentru multiplexoare
(CM) are valoarea 0, func ționând pe tactul TS, sau poate fi configurat ă într-un registru de
memorie dacă comanda pentru mul tiplexoare are valoarea 1, funcționâ nd pe tactul TP.
Registrul universal (RU)
Registrul universal asamblează funcț iile tuturor registrelor studiate anterior. Mai j os este
schema unui registru universal
D QA
CLKD QB
CLKD QC
CLKD QD
CLKIesire
serieIesire paralela
MUX
2:10
1YA
MUX
2:10
1YA
MUX
2:10
1YA
MUX
2:10
1YAMUX
2:10
1Y
IS
AI BI CI DI
Intrari paraleleCMTPTS
D Q0
CLKD Q1
CLKD Q2
CLKD Q3
CLKMUX
4:1Y
RMUX
4:1YA1
MUX
4:1YA1
MUX
4:1YA1MUX
4:10
3Y
IS
AI BI CI DI
Intrari paraleleTPTS
R R RA0 A0 A1A0 A01
2
0
31
20
31
20
31
20
31
2A1
A0A1A0
CLEAR
Fig.13. Registru universal
Registrul universal poate permite urm ătoarele operaț ii: deplasare dreapta -stânga, deplasare
stânga -dreapta, încarcare paralelă, citirea paralelă sau serie a informaț iei. Registrul poate să
și șteargă informația cu ajutorul unei intră ri asincrone (CLEAR) .
Numără toare
Un numără tor este un circuit secvenț ial ce este folosit pentru numă rarea impulsurilor. Este
format dintr -un grup de bistabili cu un semnal de tact aplicat. N umără toarele sunt de două tipuri:
numără toare asincrone și numără toare sincrone .
Numără toarele asincrone sunt formate din bistab ili de tip T dar se pot folosi ș i bistabili de tip
JK conectate î n permanent la 1 logic.
Fig.14. Numără tor asincron
Ceasul extern este aplicat la ceasul int ern al primului bistabil iar ieș irea QA este conectată la
ceasul intern al celui de -al doilea bistabil.
Numără toarele sincrone sunt formate î n principiu din bistabili de tip JK , impulsurile fiind
aplicate la toț i bist abilii î n mod simultan.
Fig.15. Numără tor sincron
Intră rile JA si KA sunt conectate la 1 logic ceea ce va face ca cel de -al doilea bistabil sa lucreze
ca un bistabil de tip T, iar intrările celui de -al doilea bistabil sunt conectate la ieș irea primului
bistabil.
TA QA TA QA1 logic
CLKIesire
QB JB QA JA
CLKKB KA1 logic
Capitolul 1.4. Automate
Un automat este un dispozitiv care prelucreaz ă o serie de evenimente sau stări ce apar la
anumite momente de timp. Atunci când configurațiile sunt într -un număr finit, putem spune că
automatul este finit.
Fig. 1. Structura unui automat
Un automat poate fi doar într -o singură stare la un anumit moment de timp. Acea stare care se
află la orice moment de timp dat se numește stare curentă. Starea poate fi schimbată printr -un
eveniment de schimbare sau o condiție, numită tranziț ie. Un automat poate fi definit printr -o listă
de stări și prin condiția pentru fiecare tranziț ie.
Automatele finite sunt folosite într -un număr mare de aplicații, cum ar fi automatiză ri
electronice, protocoale de comunicaț ie, analiza lingvistică și multe alte aplicaț ii din inginerie.
Automatele pot fi folosite ca :
– dispozitive acceptoar e – furnizează informația la ieșire în binar, răspunzâ nd fie da, fie nu,
la intrebarea dacă intrarea este acceptată sau nu de dispozitiv. Stările acestui tip de
dispozitiv se pot clasifica în stări acceptante sau stă ri neacceptante.
– dispoz itive traductoare – generează ieșirea în funcție de intrarea dată sau de acțiunea unei
stări. Sunt folosite în aplicații ce țin de lingvistica computațională . Aceste automate se
clasifică in două tipuri: automate de tip Mealy și automate de tip Moore .
– dispoz itive generatoare – pot furniza doar o singură secvență, care poate fi interpretată ca
secvența de ieș ire a traductorului.
– dispoz itive deterministe și nedeterminste – în cazul automatelor determin iste, o stare are
doar o singură tranziție pentru orice intrare. Î n cazul celor nedeterministice, o intrare
poate dirija una sau mai multe tranziț ii (sau poate să nu dirijeze nicio tranziție) a unei
anumite stă ri.
Automate de ti p Mealy
Un automat de tip Mealy este un aut omat finit a carei valori de ieș ire su nt determinate de
starea curentă ș i de valorile curente de la intrări. Aș a cum am precizat mai sus, un automat de tip
Automat
(stari)Intrare Iesire
Mealy se foloseș te ca un dispozitiv traductor, unde, at ât pentru f iecare stare cât ș i pentru fiecare
intrare, este posibilă cel putin .
Un automat de tip Mealy este constituit din cvintuplul :
A = ( X, Y, Q, T, Λ)
– un set finit de configuraț ii binare de intrare X;
– un set finit de configurații binare de ieș ire Y;
– un set finit de configuraț ii binare de stare Q;
– o funcție de tranziț ie de stare T, de forma T: X x Q → P* (Q) ;
– o funcție de tranziție la ieș ire Λ de forma Λ: X x Q → P* (Y) .
Mai jos sunt reprezentate diagram ele unui automat de tip Mealy imediat, respectiv cu întârziere.
a) b)
Fig. 2 . Automat de tip Mealy: a) imediat; b) întâ rziat.
Un automat de tip Moore este un automat finit a cărui valori de ieș ire sunt determi nate numai
de starea lor curentă. Acest tip de automat este î n contrast cu automatul de tip Mealy.
Un automat de tip Moore este constituit din cvintuplul:
A = ( X, Y, Q, T, Δ)
unde X, Y, Q și T sunt de scrise mai sus, iar Δ este funcția de tranziț ie la ieș ire de forma:
Δ: Q → P* (Y)
Mai jos sunt reprezentate diagramele unui automat de t ip Moore imediat, respectiv cu întâ rziere.
CLC
RX
Y
CLKQCLC
RX
YCLKQ
a) b)
Fig. 3. Automat de ti p Moore: a) imediat; b) cu intâ rziere
Un semiautomat este un dispozitiv care prelucrează în mod parțial evenimente sau stă ri la
anumite momente de timp. Este definit de tripletul:
KA = ( X, Q, T ),
unde X, Q și T sunt definite mai sus.
Mai jos este prezentată diagrama unui semiautomat.
Fig.4. Diagrama unui semiautomat.
Reprezentarea automatelor
Automatele se pot reprezenta prin mai multe feluri, cum ar fi:
a) prin grafuri;
b) prin organigrame;
c) prin tabele de adevă r, etc.
CLC 1
RX
CLKQCLC
RX
CLKQCLC 2
YCLC 2
RCLK
Y
CLC
RX
CLKQ
a) Reprezentarea prin grafuri → fiecare stare este reprezentată prin câte un nod, iar
fiecare tranziție este reprezentată prin arce.
(x2, y1)
q0 q1
(x1, y2) (x 1, y3)
q2 (x2, y0)
Fig. 5. Automat Mealy cu trei stă ri
(q4,y1) x 1 (q6, y2)
x2
(q5, y1)
x2
x1
(q7, y3) x1 (q8, y0)
x2
Fig. 6. Automat Moore cu cinci stă ri
(-, y1) Unde:
– q0, q1 si q 2 reprezintă stă rile;
– x1 si x 2 reprezintă intră rile;
– y1, y2 si y 3 reprezintă ieș irile.
Unde:
– q0, q1 si q 2 reprezinta starile;
– x1 si x 2 reprezinta intrarile;
– y1, y2 si y 3 reprezinta iesirile.
Automatul lucrează în felul urmă tor: pentru
ca automatul sa treacă , spre exemplu, din
starea q 0 în starea q 1, se aplică x2 la intrare și
se generează y1 la ieș ire.
Unde:
– q4, q5, q6, q7 si q 8 reprezintă stă rile;
– x1 și x2 reprezintă intră rile;
– y0, y1, y2 și y3 reprezintă ieș irile.
Unde:
– q0, q1 si q 2 reprezinta starile;
– x1 si x 2 reprezinta intrarile;
– y1, y2 si y 3 reprezinta iesirile.
Automatul lucrează în felul urmă tor:
trecerea automatului, spre exemplu, din
starea q 4 în starea q 5, ambele stă ri având la
ieșire y 1, se face prin aplicarea lui x 1 la
intrare.
b) Reprezentarea prin organigrame
pentru reprezentarea stă rilor se folosesc
cercuri sau dreptunghiuri;
pentru reprezentarea ieș irilor se
folosesc dreptunghiuri;
pentru reprezentarea tranziț iilor (sau a
variabilelor de intrare) se folosesc
triunghiuri sau romburi.
Fig.7 . Reprezentarea prin organigramă a unui automat
c) Reprezentarea prin tabele de adevă r → unde intăarile reprezintă starea curentă, iar
ieșirile includ starea urmă toare , împreună cu alte ieș iri. Mai jos este reprezentat un
exemplu de organigramă a unui semiautomat împreună cu tabelul de adevă r, unde
valorile de 0 și 1 din stânga dreptunghiurilor reprezintă starea, cele din interior reprezintă
ieșirea, iar A -urile sunt tranziț iile.
Q1 Q0 A Q1+ Q0+ Y1 Y0
0 0 0 1 1 0 0
0 0 1 1 0 0 0
0 1 0 0 1 1 1
0 1 1 1 0 1 1
1 0 0 0 0 0 1
1 0 1 0 0 0 1
1 1 0 0 1 1 0
1 1 1 0 1 1 0
q0
q1 q2x1
y1 y2
x2y1
y3 y0NU
DA NUDA
00
A
10
11
01AQ0
Q1
Q2
Q300
11
01
100
1 01
Capitolul 1.5. Circuite logice programabile complexe
(sau CPLD – “Complex Programmable Logic Devices”)
Rețelele logice programabile ( PLA – “Programmable Logic Arrays ” sau PAL –
“Programmable Array Logics ”) sunt folosite pentru implementarea a unei largi varietăț i de
cicuite digitale care nu necesită mai mult de un anumit număr de intrări si ieși ri care sunt
prevăzute într -un cip . Aceste cipuri sunt de dimensiuni modeste, având în componența lor nu mai
mult de 32 de intrări și ieș iri. Pentru implemen tarea circuitelor care necesită mai multe intrări și
ieșiri, se folosesc cipuri mai sofisticate numite CPLD (“Complex Programmable Logic Device ”
sau “ Circuite logice programabile complexe ”).
Un CPLD comprimă mai multe circuite conectate între ele î ntr-un singur cip. Fiecar e circuit
este similar cu o rețea logică programabilă (PLA sau PAL ). Un exemplu de CPLD este ilustrat
in Fig .1, un de sunt incluse 4 blocuri PAL ce sunt conectate atât la o magistrală de intercone –
xiune, cât și la niș te subcircuite de intrare/ieș ire (I/O).
Fig 1. Structura unui CPLD
În Fig.2. sunt ilustrat e conexiunile dintre un bloc PAL ș i CPLD. Blo cul PAL include 3
macrocelule (î n realitate, CPLD -urile au un numă r de aproximativ 16 macrocelule î ntr-ul bloc
PAL), fiecare conținând o poartă SAU (OR) cu patru intrări (î n realitate, CPLD -urile pot furniza
între 5 și 20 intrări la fiecare poartă SAU). Ieșirea porții SAU este conectată la o poartă SAU –
exclusiv (XOR) . O intrare a porț ii SAU -exclusiv poate fi conectată din punct de vedere
PAL PAL
PAL PALMagistrala de interconexiuneI/O
I/OI/O
I/O
programabil la 1 sau 0 logic ; dacă se conectează la 1 logic , atunci po arta SAU -exclusiv
complementează cu ieșirea porții SAU, iar dacă se conectează la 0 logic , atunci poarta SAU –
exclusiv nu are niciun e fect. Macrocelula mai cuprinde și un bistabil, un multiplexor, ș i un
buffer cu trei stări . Bistabilul este folosi t pentru a stoca valoarea de ieșire produsă de poar ta
SAU. Fiecare buffer cu trei stări , este conecta t la un pin al CPLD -ului. El acționează ca un
comutator car e permite fiecă rui p in al CPLD -ului sa fie folosit atât pentru ieșire cât ș i pentru
intrare. Pentr u ca pinul sa fie folosit ca ieșire, buffer -ul corespunzător este activat, acționâ nd ca
un comutator care este deschis . Dacă pinul este folosit ca intrare, buf fer-ul este dezacti vat,
acționând ca un comutator care este închis. În acest caz, o sursă externă poate duce un semnal la
pin, care poate fi conectat la alte macrocelule p rin magistrala de interconexiune .
Magistrala de conexiune conț ine comutatoare programabile folosite pentru conectarea
blocurilor PAL. Pentru flexibilitatea circuit elor, se folosesc un anumit număr de comutatoare.
Când un pin este folosit ca intrare, macrocelula asociată cu acel pin nu poate fi folosită . Unele
CPLD -uri au conexiuni adiț ionale între macroc elule si magistrala de interconexiune .
Fig. 2. Secțiunea unui CPLD
Dimensiunea CPLD -urilor este cuprinsă de la 2 până la un numă r mai mare de 100 de blocuri
PAL. Ele sunt implementate într-o varietate mare de capsule cu circuite integrate, cum ar fi
capsulele PLCC (“Plastic Leaded Chip Carrier ”). O astfel de capsulă este ilustrată î n figura de
mai jos.
Fig. 3. Capsula unui PLCC
Un alt tip de capsulă folosit de familia CPLD este capsula QFP (“Quad Flat Pack”). Ambele
tipuri de capsule au pi ni în toate cele patru păr ți laterale, diferența fiind că, la PLCC, după cum
se vede în figura de mai sus, pinii sunt îndoiț i spre interiorul capsule i, în timp ce la QFP, pinii
sunt î ndoiti spre exterior. Un exemplu de capsulă QFP este ilustrată în figura de ma i jos.
Fig. 4. Capsula unui QFP
Pinii unui QFP sun t mult mai subțiri decâ t al unui PLCC, ceea ce duce la faptul că QFP-ul
poate avea un numă r mare de pini , peste 200, î n timp ce PLCC -ul nu are mai mult de 100.
Pentru a programa un CPLD, este nevoie ca acest dispozitiv sa fie inclus î ntr-un socket . Deși
majoritatea CPLD -urilor au un numă r de peste 200 de pini, socket -urile pentru aceste tipuri de
dispoz itive sunt foar te scumpe, chiar mai scumpe decâ t CPLD -ul respectiv. De aceea, o altă
metodă de progr amare a CPLD -urilor este prin tehnica ISP (“In-System Programming ”). Pentru
programarea prin această tehnică , este nevoie de un conector pe o placă de circuit (sau PCB –
“Printed Circuit Board ”) care gă zduie ște CPLD -ul respectiv , și un cablu ce trebuie conectat
între acel conector de pe placă ș i un calculator. Un CPLD este programat prin transferu l
informaț iei programate generat de un sistem CAD (“Computer -Aided Design ” – Schiță asistată
de calculator ) printr -un cablu de la calculator la CPLD. Colecț ia de circuite a CLPD -urilor care
permit e acest tip de programare este standardizată de IEEE (“Institute of Electrical and
Electronics Engineers ” – Institutul Inginerilor Electrotehniști si Electroniș ti) și se numește port
JTAG (“Joint Test Action Group ” – o asociaț ie pentru dezvoltarea metodelor de verificare a
design -ului si testare a plă cilor de circuit). Acesta folose ște patru fire pentru transferu l
informației între calculator ș i dispozitivul ce trebuie programat. Figura de mai jos ilustrează un
port JTAG ce este fo losit pentru programarea a două CPLD -uri pe o placă de circuit.
Fig. 5. Programarea prin port JTAG
CPLD -urile sunt conectate împreună ceea ce duce la faptul că ambele p ot fi programate
folosind aceeaș i conexiune cu calculatorul. O dată ce a fost program at CPLD -ul, acesta menține
starea programată în mod permanent, chiar și atunci câ nd ali mentarea circuitului este oprită .
Aceasta proprietate se numește programare nevolatilă .
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: În electronica digitală, o poartă logică este un dispozitiv special proi ectat pentru implementarea [600628] (ID: 600628)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
