Sunteți pe pagina 1din 75

1

Anul 1 Semestrul 2 CURS 1 LOGIC DIGITAL


CAPITOLUL 1 INTRODUCERE
1.1 Reprezentarea analogic i cea digital
Toate fenomenele din jurul nostru sunt explicate, msurate, monitorizate i procesate prin cantiti. Acestea sunt comparate prin valorile pe care le au. Exist dou modalitai de reprezentare a valorilor : - analogic - digital. Reprezentarea analogic este dat de valori, care se afl intr-un domeniu continuu. Ex. aparate de msur analogice, termometrul cu coloan de mercur, microfonul...etc. Ca dezavantaje a reprezentrii analogice sunt stabilitatea i rezoluia, care sunt mici, sau pentru valori mari ale lor soluiile sunt scumpe. Reprezentarea digital este dat de valori care nu se modific continuu ci n pai, discret. Ex. clasic ceasul. Pe scurt principala diferen ntre cele dou prezentri, este aceea c cea analogic este continu pe cnd cea digital este discret, n pai. Avantajele reprezentrii digitale : - sistemele digitale sunt mai uor de proiectat i de realizat ntruct circuitele folosite sunt digitale, la care valorile exacte ale tensiunilor i curenilor greu de obinut i mai ales de pstrat nu sunt importante, ci conteaz doar pstrarea lor n anumite domenii. - Memorarea informaiei este simpl, exist circuite cu dou stri stabile care constituie baza pentru memorare. Exist i fenomene fizice n care se pot separa dou stri stabile. Ex. magnetizarea. - Acurateea i precizia sunt mai mari n reprezentarea digital, n sistemele analogice, precizia este limitat datorit faptului c tensiunile i curenii sunt direct dependeni de valoarea componentelor i de zgomote, pe cnd n sistemele digitale se poate obine orice precizie doar prin adaugarea de circuite. - Circuitele digitale sunt mai puin afectate de zgomot pentru c valorile exacte ale tensiunilor i curenilor nu sunt importante. Ex. 1 logic poate fi 3 V sau 3,5 V, nu are importan. - Alt avantaj, capsulele integrate pot conine mai multe circuite digitale dect analogice pentru c exist anumite componente folosite n circuitele analogice care ocup spaiu mare n interiorul unui circuit integrat. Ex. capacitai de valori mari, rezistene de precizie i inductane.

CAPITOLUL 2 ALGEBRA BOOLEAN


Instrumentul matematic folosit la proiectarea oricrui sistem digital este algebra boolean. Numele ei vine de la matematicianul englez George Boole, care a definit-o n 1854. A nceput s fie folosit n 1938 (cnd a nceput construirea primului calculator). Diferena principal ntre o algebr obinuit i algebra boolean este aceea c n cea din urm constantele i variabilele pot lua doar dou valori: - 0 i 1, O variabil boolean este o mrime care poate lua la momente de timp diferite valoarea 0 sau 1. Ele pot fi folosite pentru a reprezenta diferite mrimi fizice; ex. tensiunea. Valorilor 0 i 1 le corespund semnificaiile de nivele logice.Valorile 0 i1 au diverse denumiri: ex.: 0 1; low high; false true; off on...etc. Cele mai folosite sunt 0 i 1. ntr-un sistem digital, unui nivel logic nu i corespunde o valoare de tensiune fix ci un domeniu de tensiuni. Ex. 1 logic are valori ntre 2,4 i 5 voli. Algebra booleana este un instrument pentru a exprima relaiile ntre intrrile i ieirile unui circuit logic. Intrrile sunt variabile logice ale cror nivele logice determin la orice moment nivelele logice ale ieirilor. Variabilele logice se reprezint prin simboluri care sunt litere sau grupuri de litere. ntruct algebra boolean are doar dou valori, este relativ uor de lucrat cu ea n comparaie cu cea obinuit. Aici nu exist numere fracionare, rdcini, logaritmi, exponeni, numere imaginare. n algebra boolean exist doar trei operaii de baz : i; sau; nu.

Definiie
Algebra boolean este o mulime a elementelor 0 i 1, o mulime a operatorilor de baz i, sau, nu, i un numr de postulate. Variabilele logice pot fi reunite cu ajutorul operatorilor i rezult o expresie logic. Dac valoarea unei expresii logice o atribuim unei alte variabile rezult o funcie logic. Funcia logic este o reprezentare matematic a unei operaii logice. O funcie logic poate fi definit printr-o relaie sau printr-o tabel de adevr. Tabela de adevr este o modalitate de scriere a felului n care ieirea sau ieirile unui circuit depind de nivelele logice prezente la intrrile circuitului. Ea este alctuit din toate combinaiile posibile ale intrrilor, mpreun cu valorile corespunztoare ale ieirii sau ieirilor. Relaiile logice se obin prin combinaii ale operatorilor fundamentali i prin prelucrarea acestor combinaii, n conformitate cu nite relaii fundamentale. Operatorii fundamentali sunt : - i, sau, nu. Ei se definesc n felul urmtor : - operatorul i este un operator ntre mai multe variabile de intrare. Ex: x * y = z; Tabela de adevr: x y z 0 0 0 0 1 0 1 0 0 1 1 1

3
x 0 0 1 1 y 0 1 0 1 z 0 1 1 1 Operatorul sau x+y=z

Ieirea este pe 1 dac cel mult o intrare este pe 1. Operatorul nu.


x

=y x 0 1 y 1 0

Ieirea este negarea intrrii.

Combinaii:
x 0 0 1 1 ntre operatorii sau nu x 0 0 1 1 y 0 1 0 1 z 1 0 0 0 x+y = z y 0 1 0 1 z 1 1 1 0 ntre operatorii i, nu: xy = z

Relaiile fundamentale ale algebrei booleene (sau teoremele, sau postulatele), sunt nite relaii care definesc raportul ntre operatorii de baz. Aceste relaii se pot demonstra fie cu tabelele de adevr, fie unele pot fi folosite pentru a le demonstra pe celelalte. Cunoaterea acestor relaii fundamentale este necesar proiectantului de sisteme digitale pentru a obine scheme mai simple care s realizeze aceleai funcii. Relaiile au nume, precum i dou forme: form bazat pe operaia i, i form bazat pe operaia sau.

Legea identitii
Forma cu i este Forma cu sau este 1A=A 0+A=A

4
A este variabila boolean. Pentru i folosim , pentru sau folosim + iar pentru nu folosim .

Legea elementului neutru


- i 0 A = 0 - sau 1 + A = 1

Legea idempotenei
- i A A = A - sau A + A = A

Legea dublei negri


=

A=A

Legea comutativitii

(A A negat de dou ori)

AB=BA A+B=B+A

Legea asociativitii
(A B) C = A (B C) (A + B) + C = A + (B + C)

Legea distributivitii
A + BC = (A + B)(A + C) (A + B)C = AC + BC

Legea absorbiei
A (A + B) = A A+AB=A

Legile De Morgan
AB=A+B A+B=AB Exemplu : Legea absorbiei A + A B = A 1 + A B = A (1 + B) = A 1 = A legea identitii legea distributivitii legea identitii legea elementului neutru

CAPITOLUL 3 CIRCUITE LOGICE


Circuitele digitale sau logice lucreaz cu tensiune corespunztor nivelelor logice ale intrrilor i ieirilor. Nivelelor 0 i 1 logic le corespund domenii de tensiune, iar un circuit digital va rspunde la fel la toate valorile de tensiune de intrare care aparin domeniilor de tensiune alocate nivelelor logice. Tensiunile de intrare i ieire ale circuitelor logice, alctuiesc aa numitele semnale digitale. Pentru studiul semnalelor digitale se folosete o reprezentare in timp a acestora numit diagrama de timp. Ex: U 1 0 t1 t2 t3 t

Circuitele digitale pot fi realizate fizic n mai multe feluri, utiliznd diverse tehnologii. Prima lor implementare a fost cea electromecanic, conform creia funcia i s-a realizat pe urmtorul circuit: A B

- bec aprins - bec stins

Pentru funcia sau A B C

6
Pentru funcia nu

n continuare, tehnologic s-au folosit relee, apoi tuburi. Implementarea cu tuburi s-a folosit n anii 40, cnd s-a construit primul calculator : ENIAC Avea aproximativ 18 000 de tuburi, 18 000 circuite digitale de baza. Ca dimensiuni 33 metri lungime, 3 metri nalime, 3 metri lime. Ultima tehnologie const n circuite semiconductoare care au aprut n 1950 (diod, tranzistor), iar n 1960 au aprut primele circuite integrate. Circuitele logice sunt realizate cu diverse tehnologii: - TTL - ECL - CMOS n TTL - 0 logic = 0 0,5 V Pe intrare 0 0.5V - 1 logic = 2,4 5 V La CMOS - 0 logic = 0 - 1/3 Vcc - 1 logic = 2/3 Vcc - Vcc Vcc tensiunea de alimentare 0 0,4V pe ieire.

Diferena ntre aceste familii const n diferena dintre tensiunile de intrare i de ieire. Corespunztor acestor tehnologii, exist i simboluri pentru aceste circuite. Cele mai rspndite simboluri clasice : - circuit i - circuit sau - circuit nu Cerculeul de pe ieire nseamn negaie (mai poate fi i ).

7 Combinaii : i - nu sau - nu sau exclusiv


Mai sunt i alte simboluri mai puin folosite cele franuzeti:

i sau nu i

&

3.1. REPREZENTAREA I IMPLEMENTAREA FUNCIILOR LOGICE Analiza i sinteza funciilor logice


Analiza i sinteza funciilor logice sunt alte denumiri pentru operaiile de implementare i reprezentare a lor. La operaia de analiz se pornete de la schema circuitului logic i se obine o descriere formal a funciei realizate de acel circuit, fie sub form de tabel de adevr, fie sub form de expresie logic. La operaia de sintez, drumul este invers, se pleac de la descrierea formal i se obine schema logic. Pentru analiza i sinteza circuitelor logice, se poate folosi ca instrument algebra boolean sau operaiile pot fi formalizate i automatizate, utiliznd limbaje pentru scrierea hardware-ului. Exemplu de limbaj: - VHDL

- ABEL. x
Exemple de analiz : y

8
Pentru n variabile binare se pot realiza 2 combinaii. Pentru 3 variabile (x, y, z) sunt 8 combinaii posibile. Tabela de adevr : x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1
y
n

u 0 0 0 1 1 1 1 1 +x z+yz i obinem reprezentarea schemei sub

Relaia matamatic : u = x forma unei relaii. Exemplu de sintez : F=xy+x


y z

y z

Pentru o funcie logic se pot obine mai multe scheme.

x y z

n multe situaii se pleac de la tabela de adevr.

CURS 2
15 Mar 2008
3.2. IMPLEMENTAREA UNEI FUNCII LOGICE PORNIND DE LA TABELA DE ADEVR
Exemplu : a b c 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 f=
a b

f 0 1 1 1 1 0 0 1
a

Funcia este pe 1 logic, pentru fiecare combinaie a intrrilor, crora le corespunde 1 n coloana ieirii, adic pentru o combinaie sau alta , sau alta .a.m.d.. Combinaia se obine atunci cnd sunt ndeplinite simultan condiiile referitoare la toate intrrile. Ca urmare, expresia funciei se va obine ca o sum de termeni, fiecare termen fiind un produs al tuturor intrrilor. innd seama de valorile logice ale intrrilor de pe liniile crora le corespunde 1 n coloana ieirii, ele vor apare direct n produs dac au 1 pe linia respectiv sau inversate dac au 0 pe linia respectiv. Ne intereseaz doaraliniileacua1anacoloanaaieirii.
a

c+ a b c

bc +

bc+a

b c

+abc

Nu exist pori sau cu 5 intrri ci doar cu 2 intrri. Pentru a trece de la 5 la 2 pori ne folosim de legea asociativitii: Dac avem : g = x + y + z + v + u sau g = (x + y) + ((z + v) + u) - aceast legtur este echivalent cu anterioara. x y z u v

10
Produsele de forma menionata se numesc mintermi sau termeni P i se caracterizeaz prin aceea c fiecare variabil apare o singur dat i ntr-un asemenea produs exist toate variabilele de la intrare. Forma de reprezentare a funciei cu termeni p se numete form canonic P sau form canonic de produse. Exist o alt form de scriere a expresiei asociat funciei i anume forma canonic S sau forma canonic de sum. Aceasta este un produs de termeni, un termen corespunznd unui 0 din coloana ieirii. Un termen este o sum din variabilele de la intrare, n care variabila apare direct dac are 0 pe linia respectiv i negat dac pe linia respectiv are 1. O asemenea sum de variabile se numete termen canonic S sau maxterm i n ea apar toate variabilele dar fiecare apare o singur dat. (intrrile sunt sume iar ieirile produs). n aceast situaie ne intereseaz ieirile cu 0. f = (a + b + c)( a + b + c )( a + b + c)
a b c

i aceast schem face acelai lucru. Pentru aceast schem avem nevoie de 5 circuite integrate, pentru anterioara 4. Cele dou forme canonice sunt echivalente (S, P), ne duc tot acolo, dar implementrile lor n circuite pot s difere. Ele arat c ntotdeauna se poate obine schema unui circuit pornind de la tabela de adevr, dar n general aceste scheme nu sunt minime.

3.3. Alte funcii logice de baz 1. Sau exclusiv z = x y x 0 0 1 1 y 0 1 0 1 z 0 1 1 0

Tabela de adevr care definete funcia este :

...i anume, funcia este pe 1 dac cele dou intrri difer. Astfel de pori se gsesc.

11
Aceast funcie se poate realiza i cu funciile de baz : z = x y
x

y+x

2. Coincidena

z = x y

Nu exist poart integrat care poate realiza aceast funcie. Funcia este pe 1 dac cele dou intrri sunt egale. Tabela de adevr care definete funcia este : x y z x 0 0 1 1 y 0 1 0 1 z 1 0 0 1

Coincidena este negaia lui sau exclusiv i mai poate fi realizat astfel : x y z

Aceast relaie ntre cele doua este valabil numai la numr par de variabile.

Dac numrul este impar, cele dou funcii sunt egale.

x y = y x x y u = x y

3.4. MINIMIZAREA FUNCIILOR LOGICE


Exist mai multe forme de scriere a unei funcii logice. Ca urmare exist mai multe scheme pentru aceeai funcie logic. Este de dorit o expresie ct mai simpl care s duc la o schem cu ct mai puine circuite i cu ct mai puine intrri. Minimizarea unei funcii logice va duce la obinerea formei minime a acesteia, adic la schema care are minim de circuite i minim de intrri. Minimizarea poate fi realizat prin mai multe tehnici. Una const n utilizarea relaiilor fundametale ale algebrei booleene. Tehnica este simpl dar necesit experien, bun cunoatere a acestor relaii i este dificil de aplicat atunci cnd numrul de variabile crete peste o anumit valoare (ex. 5).

12
O alt tehnic este cea a diagramelor Karnangh Veitch. Este o soluie grafic, duce ntotdeauna la valoarea minim (spre deosebire de tehnica anterioara, care nu ofer garania obinerii formei minime). Nu necesit experien, ci doar o reprezentare a funciei dup nite reguli clare i cunoscute. O alt tehnic grafic se numete Quine McCluskey, care de asemenea duce ntotdeauna la forma minim, formele grafice fiind mai simple dect la metoda Karnangh Veitch , dar regulile de obinere a formelor grafice sunt mai dificile. Exemple : 1. f = a b c + a bc +

a b c

+a

c+

bc +

a b

Grupm termenii i rezult : f = a b(c + c ) + a c (b + b ) + b c(a + (tiind c a + a = 1 i a b(1) = a b) 2. f = a b c + ab c + a bc f = a b(c + ) + a b c = a b + a b c = a(b + c)


a

)=ab+

a c

Avem regula a + a b = a Demonstraie : x + x y = x; x(1 + y) = x ; 1 + y = 1; x 1 = x; Rezult : f = a(b + b c +


b

c) = a(b + c(b +

)) = a(b + c)

CAPITOLUL 4 CIRCUITE COMBINAIONALE


Exist dou tipuri de circuite logice : circuite combinaionale circuite secveniale Circuitele combinaionale sunt acele circuite logice care nu au elemente de memorie sau legturi de reacie ntre ieiri i intrri. Ieirile acestor circuite reacioneaz doar la modificarea intrrilor, fr a ine seama de starea circuitului. n forma general un circuit combinaional este reprezentat de ecuaii n care apar doar intrrile, nu i timpul. -

13
x1 y1 y1 = f1(x1............xn)

C. C.
xn ym

........................ ........................
ym = fm(x1...........xn)

Ecuaiile ieirilor sunt funcii doar de intrri nu i de timp. n cazul general un circuit combinaional este alctuit dintr-o reunire de pori logice. Succesiunea de operaii pentru realizarea unui circuit combinaional este : 1. Se ntocmesc tabelele de adevr pentru toate ieirile; 2. Se minimizeaz; 3. Se obin ecuaiile logice minime; 4. Se ridic schema pe baza ecuaiilor logice minime. Circuitele combinaionale sunt implementate (construite), cu pori logice sau cu blocuri mai complexe, care se gsesc sub form de circuite integrate (codificatoare, decodificatoare, multiplexoare, demultiplexoare, comparatoare, sumatoare, etc.).

4.1. NOIUNI I NOTAII SPECIFICE N PROIECTAREA CIRCUITELOR DIGITALE


4.1.1. NUMELE SEMNALELOR Fiecare intrare sau ieire a unui circuit logic, transport un semnal care trebuie distins de celelalte. Aceasta se realizeaz dndu-i un nume. Numele este o niruire de litere, numere i semne speciale (-, !, ?, =,....) i este fixat de proiectant n faza de proiectare. Nu exist reguli pentru alocarea de nume, se poate folosi un singur caracter dac e doar un semnal, mai multe caractere pentru mai multe semnale, dar se recomand ca numele s fie bine ales pentru a fi ct mai sugestiv. Ex. RD (read), WR (write)... 4.1.2. SEMNALE ACTIVE I INACTIVE Un semnal poate s fie activ sau inactiv. Este activ atunci cnd efectueaz aciunea indicat de numele su. Un semnal poate fi activ dac este la 1 logic sau la 0 logic. Exist o concordan n general ntre numele semnalului i nivelul pe care este activ, n sensul c semnalele active la 0 au un caracter distinctiv asociat cu operaia de negaie. Ex. INT - procesorul reacioneaz la 1 logic /RD sau RD - procesorul reacioneaz la 0 logic.

14
4.1.3. LOGIC POZITIV I LOGIC NEGATIV Existmai multe modaliti de a indica starea unui semnal : nivelul 1 logic sau nivelul 0 logic nivelul high sau nivelul low...etc.

De obicei proiectantul face asocierea cu 1 logic high i 0 logic low. Se spune c se lucreaz n logic pozitiv, dar este posibil fr nici un fel de restricii i asocierea invers 0 high i 1 low. Atunci se spune c se lucreaz n logic negativ. Proiectantul este cel care decide n faza de proiectare, logica n care va lucra. n principiu nu are importan logica n care se lucreaz, dar aceasta trebuie pstrat pe toat durata proiectrii, pentru toate blocurile componente. 4.1.4. REPREZENTAREA CIRCUITELOR Pentru reprezentarea unui circuit, adic pentru desenarea lui, exist dou posibiliti : - fie o reprezentare exact, riguroas ; - fie o reprezentare funcional. Reprezentarea exact arat cte terminale are circuitul, ce semnal este la fiecare terminal i cum sunt repartizate terminalele pe laturile circuitului integrat. Reprezentarea funcional arat doar acele terminale pe care circul semnale utile (ex. fr alimentri), nu conteaz numrul terminalului, iar repartizarea terminalelor pe laturile circuitului integrat este funcional, intrrile pe de o parte, ieirile pe de alt parte, iar dac exist mai multe intrri i ieiri, ele se pot dubla n funcie de semnificaiile lor. n continuare se va folosi reprezentarea funcional care necesit mai puine terminale i este mai sugestiv. n reprezentarea funcional trebuie s se indice dac un semnal este activ la 1 sau la 0, aceasta se face cu notaii specifice. Exemplu :
G Y0

sau

G A B

Y1

Y0 Y1 Y2 Y3

- notaie greit -

, : negaii

A B Dac nu sunt negaii, toate ieirile sunt active la 1.

15
4.1.5. DIAGRAME DE TIMP I CARACTERISTICI DE TIMP Comportarea unui circuit n timp trebuie cunoscut atunci cnd se dorete folosirea acelui circuit. Comportarea n timp a circuitului arat cum i cnd trebuie s soseasc semnalele, n ce ordine, cu ce ntrziere ntre ele i dup ct timp reacioneaz circuitul, adic ntrzierea pe circuit. ntrzierea trebuie cunoscut, ntruct exist aplicaii la care o ntrziere prea mare poate duce la funcionarea incorect a schemei i atunci, fie se reproiecteaz schema, fie se pstreaz schema dar se folosesc circuite mai rapide. Diagramele de timp arat ce nivele logice au intrrile i ieirile, cum trebuie s fie intrrile pentru ca ieirile s se activeze i care este ordinea intrrilor. Exemplu : a b c Caracteristicile de timp, exprim prin valori date n tabele, ntrzierile ntre modificrile intrrilor i ale ieirilor, precum i unele caracteristici ale semnalelor de intrare, de exemplu, durata minim sau maxim a unei intrri, perioada, durata frontului,...etc. ntruct aceti timpi depind n general de temperatur, tensiunea de alimentare i parametrii de producie ai circuitelor, n catalog se dau mai multe valori de timp pentru fiecare caracteristic de timp i anume valoarea minim, valoarea maxim i valoarea tipic. Pentru proiectarea unei scheme se folosesc iniial timpii tipici, dar apoi trebuie verificat funcionarea schemei i pentru valori limit ale timpilor.

CURS 3 22 Mar 2008


4.2. CODIFICATORUL
Codificatorul este circuitul combinaional care transform modul de reprezentare a informaiei din sistemul de numeraie extern, accesibil operatorului, n sistem de numeraie intern, binar, al unui sistem de calcul. Operaia realizat de un codificator se numete codificare. Schema bloc general a unui codificator este : x1 y1 m < n; n 2m; xn ym

16
Exemplu : - S se proiecteze un circuit care codific binar informaia care sosete de la o tastatur pe liniile corespunztoare cifrelor zecimale. L0 D
Codifi cator

Vom avea 10 intri iar pentru ieire ne sunt suficiente 4 linii. La apsarea pe 0 , pe L0 avem 1 logic i pe restul ieirilor avem 0 logic....etc.

` L9 Tabelul de adevr : L9 L8 L7 L6 L5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0

C B A

L4 0 0 0 0 1 0 0 0 0 0

L3 0 0 0 1 0 0 0 0 0 0

L2 0 0 1 0 0 0 0 0 0 0

L1 0 1 0 0 0 0 0 0 0 0

L0 1 0 0 0 0 0 0 0 0 0

D 0 0 0 0 0 0 0 0 1 1

C 0 0 0 0 1 1 1 1 0 0

B 0 0 1 1 0 0 1 1 0 0

A 0 1 0 1 0 1 0 1 0 1

Observm c D este pe 1 cnd L9 i L8 sunt pe 1...etc. Deci : D = L9 + L8 C = L7 + L6 + L5 + L4 B = L7 + L6 + L3 + L2 A = L9 + L7 + L5 + L3 + L1 Schema va fi urmtoarea : L9 L8 L7 L6 L5 L4 L3 L2 L1

D C B

17
Exist circuite codificator integrate, de exemplu 74 x 148 (x indic tehnologia). Acest circuit este un circuit codificator cu 8 intrri i 3 ieiri i are i facilitate de prioritate, n sensul c dac dou intrri se vor activa simultan, el va oferi la ieire codul intrrii care are numrul mai mare. Deci exist codificatoare de prioritate.

4.3. CIRCUITUL DECODIFICATOR - DECODIFICATORUL


Decodificatorul este circuitul combinaional care asociaz fiecrei combinaii de la intrare, o ieire, n sensul c acea ieire este diferit de celelalte (activ la 1 cnd toate celelalte sunt active la 0, sau activ la 0 cnd toate celelalte sunt active la 1). Decodificatoarele se folosesc n aplicaii n care o anumit combinaie de cod, trebuie transformat ntr-un semnal de comand pe o anumit linie. Exemple de asemenea aplicaii : - selectarea unui circuit de memorie, comanda unui dispozitiv extern, de exemplu un dispozitiv de afiare, citirea unei informaii de pe o linie de intrare...etc. Schema bloc a unui decodificator : x1 y1 n<m m 2n xn ym Decodificatorul realizeaz operaia invers codificatorului. Exemplu : Proiectarea unui decodificator cu 3 intrri i 8 ieiri : i0 x1 x2 x3 i7 i0 = C B A i1 = C B A i2 = C B A i3 = C B A i4 = C B A i5 = C B A i6 = C B A i7 = C B A
Decodificator

Dac ieirea este activ pe 1, tabelul de adevr este:

C 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

A 0 1 0 1 0 1 0 1

i0 1 0 0 0 0 0 0 0

i1 0 1 0 0 0 0 0 0

i2 0 0 1 0 0 0 0 0

i3 0 0 0 1 0 0 0 0

i4 0 0 0 0 1 0 0 0

i5 0 0 0 0 0 1 0 0

i6 0 0 0 0 0 0 1 0

i7 0 0 0 0 0 0 0 1

Schema :

A B C

18

I0 i0
i1

i2 i3

i5 i6

i4

i7 Exist multe circuite integrate decodificator. Cel mai folosit este circuitul 74 x 138. Configuraia funcional a terminalelor acestui circuit este :
A2 A1 AO E1 E2
y0

A2, A1, A0 intrri de date E1 , E 2 , E 3 - intrri de comand


y0
....

74 x 138
y7

y 7 - 8 ieiri

E3

Ieirile sunt active la 0. Funcionarea circuitului este dat de urmtorul tabel de adevr :

A2 A1 A0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

y7

y6

y5

y4

y3

y2

y1

y0

0 1 1 1 1 1 1 1

1 0 1 1 1 1 1 1

1 1 0 1 1 1 1 1

1 1 1 0 1 1 1 1

1 1 1 1 0 1 1 1

1 1 1 1 1 0 1 1

1 1 1 1 1 1 0 1

1 1 1 1 1 1 1 0

19
Din tabel se observ c fiecrei combinaii de la intrare i este asociat o ieire care este pe 0 logic, dar tabelul este adevrat doar dac E1 = E 2 = 0 i E3 = 1, deci doar dac intrrile de validare sunt ca mai sus. Dac vreuna din aceste condiii nu este ndeplinit, atunci circuitul este inactiv, n sensul c oricare ar fi combinaia de pe intrrile A, toate ieirile sunt la 1 logic. Existena intrrilor de control sau validare, precum i a logicii corespunztoare lor din interiorul circuitului, permite simplificarea decodificatoarelor externe, n sensul reducerii numrului de circuite. 4.3.1. ALTE CIRCUITE INTEGRATE DECODIFICATOR 74 x 42 circuit codificat binar zecimal, are 10 ieiri i asociaz o ieire cte unei combinaii de la intrare. y0 Configuraia terminalelor este : D C Exist 6 combinaii de la intrare la care circuitul nu rspunde, n sensul c dac ele apar la intrri, toate ieirile vor fi pe 1. B A Tabelul de adevr este : D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
y9 y8 y7 y6 y5

74 x 42

y9

y4

y3

y2

y1

y0

1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1

1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1

1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1

1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1

1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1

1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1

1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1

1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1

1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Circuitul nu rspunde n sensul c ieirile sunt inactive oricare ar fi aceste combinaii (ultimele 6).

74 x 154 circuit cu 4 intrri de date, 2 de validare i 16 ieiri.

20

D C B A 74 x 154

Fiecrei combinaii de la intrare i este asociat o ieire dac G1 i G2 sunt pe 0. 74 x 139

1y1
1A

1y 2
1B

Cele dou jumti sunt independente. Combinaia A - B are ieire dac G este pe 0.

1y 3
1G

1y 4

Dac se dorete proiectarea unui decodificator cu mai multe ieiri dect cele ale unui decodificator integrat, exist dou soluii : - fie se proiecteaz decodificatorul doar cu pori ; - fie se grupeaz circuite integrate decodificator existente, pentru a obine decodificatorul dorit. Exemplu : E D C B A
Decodificator
i31 i0

Proiectarea unui decodificator cu 5 intrri si 32 ieiri.

Putem utiliza circuite 74 x 138. Scriem tabelul de adevr :

21
i
E D C B A

- ieiri
i0
1 4 1 3 1 2 1 1 1 0 9 8 7 6 5 4 3 2 1

i31

3 0

2 9

2 8

2 7

2 6

2 5

2 4

2 3

2 2

2 1

2 0

1 9

1 8

1 7

1 6

1 5

22
Varianta cu 4 circuite 74 x 138 :

C B A E D

A2
y0

i0
-

A2
y0

i16
-

A1 A0
E1 E2

A1 A0 E1
i7

E2

y7

E3

y7

E3

i 23

A2
y0

i8
-

A2
y0

i 24
-

A1 A0
E1 E2

A1 A0
E1 E2

y7
i31

E3

y7

i15

E3

Varianta cu dou circuite 74 x154 :

D C B

D
y0

i0

C B A
G1 G2
i15

D
y0

i16

C B A
G1 G2
i31

4.4. MULTIPLEXORUL sau SELECTORUL

23
Este un comutator digital. El conecteaz mai multe intrri la o unic ieire n conformitate cu o anumit ordine dorit. Schema sa bloc este : x1 n intrri de date; m intrri de selecie; o ieire - y y xn s1 sm m < n ; n 2m

Combinaia de pe liniile de selecie alege una din intrri care trece la unica ieire. Multiplexoarele sunt utile n aplicaii n care trebuiesc transferate date de la mai multe surse la o unic destinaie. Exemplu : Exist mai multe surse externe care cer atenie din partea unui procesor, dar doar una ajunge la procesor dup o anumit regul (doar una trebuie s ajung la procesor la un moment dat, pentru c procesorul nu poate rspunde la un moment dat dect unei cereri). Multiplexoarele pot fi proiectate clasic, cu pori, sau se pot folosi circuite integrate multiplexor existente. Exemplu : Multiplexor 4 la 1 cu pori (trebuiesc dou linii de selecie : 2n = 22 4 intrri) Schema bloc : D C B A S T Tabelul de adevr : D 1 0 0 0 D C C 0 1 0 0 B 0 0 1 0 A 0 0 0 1 S 0 0 1 1 T 0 1 0 1 y 1 1 1 1

y=DS T +CS T+BS T +AST

I0 I0 I0 I0
y

B A S T

24

CURS 4 29 Mar 2008 4.4.1. MULTIPLEXOARE INTEGRATE


Circuite integrate multipexor : - 74 x 151 circuit multiplexor 8 la 1;
EN C B A D0 D7

y y

EN 1 0 0 0 0 0 0 0 0

C x 0 0 0 0 1 1 1 1

B x 0 0 1 1 0 0 1 1

A x 0 1 0 1 0 1 0 1

y 0 D0 D1 D2 D3 D4 D5 D6 D7

- 74 x 157; multiplexor cvadruplu 4 x 2 la 1 (4 x 21)


G S 1A 1B 2A 2B 3A 3B 4A 4B 1y 2y 3y 4y

G
1 0 0

S
x 0 1

1y
0 1A 1B

2y
0 2A 2B

3y
0 3A 3B

4y
0 4A 4B

4 seciuni identice cu cte 2 intrri i o ieire validate de G, S.

Circuitul are patru seciuni cu cte dou intrri de date i o ieire. Cele patru seciuni sunt comandate cu dou intrri : G pentru validarea circuitului i S pentru selecia intrrii care trece spre ieire. - 74 x 153 ;
A B 1G 1C0 1C1 1C2 1C3 2G 2C0 2C1 2C2 2C3

1y

Multiplexor dual 4 la 1 (2 x 4 1) Intrrile de selecie sunt comune ambelor seciuni.

2y

25
Tabelul de adevr :
A
x 0 0 1 1 0 0 1 1 0 0 1 1
B

x 0 1 0 1 0 1 0 1 0 1 0 1

1G 2G 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0

1y
0 0 0 0 0 1C0 1C1 1C2 1C3 1C0 1C1 1C2 1C3

2y
0 2C0 2C1 2C2 2C3 0 0 0 0 2C0 2C1 2C2 2C3

4.4.2. EXPLOATAREA MULTIPLEXOARELOR


Atunci cnd numrul surselor aste mai mare ca dimensiunile circuitelor multiplexor este necesar expandarea multiplexoarelor, adic, legarea a mai multor asemenea circuite, pentru a construi un multiplexor cu mai multe intrri dect numrul acceptat de un circuit multiplexor. De exemplu : - s se proiecteze un multiplexor 32 1 (32 intrri de date i o ieire). Avem nevoie de 5 linii de selecie (2 la a cta = 32). i0
Multiplexor

i31

Sel0

Sel4

Avem nevoie de 4 circuite 74 x 151 i un circuit pentru a alege cte o intrare de validare. Pentru aceasta putem folosi circuitul 74 x 139 din care folosim doar jumtate.

26

Sel2 Sel1 Sel0 i0 i7

EN
C B A D0 D7 y y

EN
C B A y y

i16 i23

D0 D7

E EN
C B A

EN
C B A y y

y y

i8 i15

D0 D7

i24 i31

D0 D7

Sel3 Sel4

1y1
1A

1y 2
1B

1y 3
1G

1y 4

4.5. DEMULTIPLEXORUL SAU DISTRIBUITORUL


Este tot un comutator digital ca i multiplexorul, dar el conecteaz o unic intrare la mai multe ieiri n conformitate cu o anumit ordine dorit.

27
Schema bloc a demultiplexorului este : i n < m ; m 2n S0 Sn - 1
Demultiplexor

y0

ym - 1

Prin intermediul liniilor de selecie se alege ieirea la care se va conecta intrarea la momentul respectiv. Demultiplexoarele sunt utile n aplicaii n care se transfer date de la o surs la mai multe destinaii. Demultiplexoarele pot fi conectate clasic, cu pori, sau utiliznd circuite integrate care pot fi folosite ca demultiplexor. Exemplu : - Proiectarea unui demultiplexor 1 la 4. Trebuie s aib dou intrri de selecie.

Demultiplexor

y0 y1 y2 y3

S0

S1

y0

y1

y2

y3

0 0 1 1

0 1 0 1

i 0 0 0

0 i 0 0

0 0 i 0

0 0 0 i

S0 i
S0 S1

S1

y0 y1
yI 1

y2 0 y3
y2 I

Pe i poate veni 0 sau 1 (trebuiesc ndeplinite toate cele trei condiii : i, S0, S1).

y 0 y

Conectarea unui multiplexor urmatyde un demultiplexor, asigur transferul ntre o intrare i o y ieire dintr-un grup de intrri i un grup de ieiri. Pentru ca orice intrare s poat ieiyI oricare iere (doar una la un moment dat), avem nevoie pe de un multiplexor i un demultiplexor : 0

i0

E0

i0
Multiplexor

E0
Demultiplexor

28
in-1 Em-1 in-1 S0 Sp - 1 Sp Em-1 Sq - 1

4.6. COMPARATORUL
Comparatorul este circuitul combinaional care determin raportul existent ntre dou numere binare sau zecimale, codificate binar. Numerele notndu-se cu a i b, comparatorul indic una din trei situaii : a < b a=b a>b Schama bloc a unui comparator este urmtoarea : A0 A=B Avem dou grupe de intrri. An - 1 B0 Bn - 1 Comparatorul este util n aplicaii aritmetice i atunci cnd se dorete scanarea unui bloc de date, pentru a gsi o anume configuraie, sau de cte ori exist o anume configuraie n blocul respectiv. Comparatorul poate fi proiectat clasic, cu pori, sau cu circuite integrate comparator. Exemplu : Proiectarea unui comparator pe patru ramuri ; A0
A3 B0
C O M P A R A T O R

A>B A<B

Proiectm cu pori (clasic) A=B


A>B

- funcia coinciden : z = x y
x
0 0 1 1

y
0 1 0 1

z
1 0 0 1

A<B B3

29
Putem folosi :

Deci :
A3 B3 A2 B2 A1 B1
yI 1 0 yI 1

A>B

A0 B0 A1 B1 A2 B2 A3 B3

A0 B0

A=B
yI 1 0

A=B

A<B
yI 1 0

O alt soluie pentru ultima poart i, (A < B) este : Ecuaia A < B = (A > B) + (A = B)

A>B A=B

A<B

(A = B) = (A3 B3)(A2 B2)(A1 B1)(A0 B0); (A > B) = A3 B3 + (A3 B3) A2 B2 + (A3 B3)(A2 B2) A1 B1 + (A3 B3)(A2 B2)(A1 B1) A0 B0 Dac A3 coincide cu B3 decizia merge la A2 ; A3 este cel mai important dac A3 > B3 atunci A > B. Observm c pe aceast variant se folosesc multe pori. Putem folosi un circuit integrat comparator. Unele circuite integrate comparator au fost astfel construite nct s permit conectarea lor n cascad, astfel nct s se poat realiza comparatoare cu un numr mai mare de intrri dect numrul de intrri ale unui circuit comparator. Un asemenea circuit integrat va avea intrri care se compar, ieiri comandate de intrrile care se compar, precum i intrri de cascadare care s permit conectarea circuitului ntr-un lan de comparatoare.

30

CURS 5 05 - Apr 2008


4.6.1. Circuitul comparator integrat 74 x 85 A3 A2 A1 A0 B3 B2 B1 B0

A<B A=B A>B

iA < B iA = B iA > B
Circuitul are intrri de comparat (A i B pe cte patru ramuri), are intrri de cascadare (i), care permit conectarea sa ntr-un lan de comparare, i are trei ieiri indicnd raportul ntre operanzii A i B. Funcionarea sa este sintetizat n urmtorul tabel de adevr : date de comparat A 3 B3
A3 > B3 A 3 < B3 A3 = B3 A3 = B3 A3 = B3 A3 = B3 A3 = B3 A3 = B3 A3 = B3 A3 = B3 A3 = B3

intrri de cascadare A0 B0
x x x x x x A0 > B0 A0 < B0 A0 = B0 A0 = B0 A0 = B0

ieiri A<B A=B A>B


0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0

A2 B2
x x A2 > B2 A2 < B2 A2 = B2 A2 = B2 A2 = B2 A2 = B2 A2 = B2 A2 = B2 A2 = B2

A 1 B1
x x x x A1 > B1 A1 < B1 A1 =B1 A1 =B1 A1 =B1 A1 =B1 A1 =B1

iA < B
x x x x x x x x 0 0 1

iA = B
x x x x x x x x 0 1 0

iA > B
x x x x x x x x 1 0 0

31
Intrrile de cascadare permit realizarea de comparatoare pe mai mult dect 4 bii. Exemplu : Proiectarea unui comparator pentru configuraiile : A15, A14,.................................................................A0 B15, B14,.................................................................B0 Deci, dorim s comparm dou configuraii pe cte 16 bii. Avem n mod clar nevoie de patru circuite integrate comparator. Pentru semnalul care s arate A = B : A0.....A3 B0.....B3
A3A2A1A0 B3B2B1B0

A4.....A7 B4.....B7
A3A2A1A0 B3B2B1B0 A<B iA = B A>B

A8.....A11 B8....B11
A3A2A1A0 B3B2B1B0 A<B iA = B A>B

A12....A15 B12...B15
A3A2A1A0 B3B2B1B0 A<B iA = B A>B

A<B iA = B A>B

A=B

A=B

A=B

A=B

Dac n-am fi avut posibilitatea de cascadare, schema ar fi artat n felul urmtor : A=B A=B A=B A=B

Soluia de jos este mai rapid dect cea de sus, pentru c pe cea de sus se cumuleaz ntrzierile, un circuit decide dup ce decide cel de dinaintea lui, dar folosete un circuit n plus (o poart i).

32

CAPITOLUL 5
IMPLEMENTAREA FUNCIILOR LOGICE UTILIZND MEMORII FIXE
Implementarea funciilor logice descris pn acum, este simpl, asigur ntotdeauna o soluie, dar dac funcia este mai complex sau dac circuitul are mai multe ieiri, este dificil de aplicat, ntruct cere multe circuite. O alt soluie o constituie implementarea funciilor logice utiliznd memorii fixe. Implementarea uneia sau a mai multor funcii logice nseamn, de fapt, o asociere ntre combinaia de la intrri i cea de la ieiri. Aceast asociere se poate face cu circuite combinaionale, aa cum s-a artat pn acum, sau cu memorii. i la un circuit de memorie se poate considera c se fac asocieri ntre combinaiile de la adrese i coninuturile locaiilor respective, care apar la liniile de date. Atunci, considernd memoria ca circuitul logic care implementeaz funcii logice, se aduc intrrile funciilor la liniile de adrese iar ieirile funciilor se obin la liniile de date ale memoriei, prin citirea coninutului locaiei cu adresa dat de intrri. Schema implementrii cu memorie poate fi privit ca un convertor de cod, care asociaz unui cod de la intrare, un alt cod de la ieire. x0 A D R MEM. E S E y0 D A T E f0(xo,.................xm - 1) = y0 f1(xo,.................xm - 1) = y1 fn 1(xo,.................xm - 1) = yn - 1

xm 1

yn 1

Memoria poate fi vzut ca circuitul care implementeaz funciile de la x0 la xm 1, intrrile fiind conectate la adrese i ieirile obinndu-se la date. Atunci cnd se alege circuitul de memorie pentru implementarea funciilor, este necesar, ca numrul intrrilor de adrese ale circuitului s fie mai mare sau egal cu numrul intrrilor funciei sau funciilor ce trebuiesc implementate. De asemenea, este necesar ca numrul de ramuri, adic numrul liniilor de date al circuitului de memorie, s fie mai mare sau egal cu numrul de funcii care se implementeaz. Metoda necesit programarea memoriei fixe n conformitate cu tabela de adevr a funciei sau funciilor care se doresc implementate.

33
Exemplu : Implementarea a trei funcii definite de urmtorul tabel de adevr : Memorie fix cu 8 intrri de adrese i 8 linii de date. A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F1 0 1 1 1 0 0 1 0 F2 1 1 0 0 0 0 0 1 F3 1 1 0 1 1 0 1 0

A7 A6 A5 A4 A3 A B C A2 A1 A0

D7 D6 D5 D4 D3 F3D2 F2D1 F1DO

Pentru n linii binare se pot realiza 2n combinaii. Pentru cazul nostru, avem 256 locaii de memorie, i noi trebuie s folosim 8 locaii (avem 8 intrri de adrese).
D7 D6 D5 D4 D3 D2 D1 D0

x x x x x x x x

x x x x x x x x

x x x x x x x x

x x x x x x x x

x x x x x x x x

1 1 0 1 1 0 1 0

1 1 0 0 0 0 0 1

0 1 1 1 0 0 1 0

n principiu, poate fi folosit orice tip de memorie fix (memorie nevolatil), dac implementarea este fix, n sensul c ieirile care se doresc sunt ntotdeauna aceleai, cu aceleai ecuaii; - atunci se poate folosi memorie ROM. Dac se dorete schimbarea funciilor de la ieire, atunci trebuie folosit memorie de tip PROM, EPROM, EEPROM sau Flash. Metoda are dou dezavantaje : dup stabilirea adreselor (a intrrilor), este necesar implementarea a nc unui semnal, care s comande intrrile. Ieirile se obin dup timpul de acces al memoriei, care este dependent de circuitul de memorie. Timpul acesta este de la uniti de nanosecunde pn la zeci de nanosecunde. n general, acest timp este mai mare dect timpul de ntrziere dintr-o schem combinaional. Metoda este recomandat atunci cnd se dorete implementarea mai multor funcii cu acelai set de intrri. Dac este necesar obinerea unui numr de funcii mai mare dect numrul de ieiri ale memoriei, atunci, pot fi legate mai multe circuite de memorie mpreun, n sensul c vor avea aceleai intrri de adrese i aceeai comand de citire.

34
Exemplu : Implementarea a 10 funcii de 4 variabile


A7 C E D7 A6 D6 A5 D5 A4 D4 A3 D3 A2 D2 A1 D1 A0 D0 A7 C E D7 A6 D6 A5 D5 A4 D4 A3 D3 A2 D2 A1 D1 A0 D0 F7

D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F0 0 0 0

F1 0 0 1

F2 0 0 1

F3 0 1 0

F4 0 1 1

F5 0 1 0

F6 1 0 1

F7 1 1 1

F8 0 1 1

F9 1 0 1

DC BA

F0


1 1 0 0 0 0 0 0 0 0

F9 F8

Circuit de memorie cu 8 intrri de adrese C E - intrri de selecie

LOCAIA 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

D7 1 1 1

D6 1 0 1

MEMORIA 1 D5 D4 D3 D2 0 0 0 0 1 1 1 0 0 1 0 1

D1 0 0 1

D0 0 0 0

D7 1 0 1

D6 0 1 1

MEMORIA 2 D5 D4 D3 D2 x x x x x x x x x x x x

D1 x x x

D0 x x x

35
Dac numrul de intrri este mai mare dect numrul de intrri de adrese ale circuitelor de memorie, atunci sunt dou soluii : - fie se caut circuite de memorie care au mai multe linii de adrese, adic au capacitate mai mare, fie se folosesc mai multe circuite de memorie, dar programarea lor trebuie fcut astfel nct ieirile funciilor s fie obinute ca i combinaii ntre ieirile circuitelor de memorie. Se recomand prima soluie. Implementarea funciilor logice cu memorie este avantajoas pentru funcii complexe, cu mai multe variabile, i atunci cnd se dorete implementarea mai multor funcii cu aceleai variabile, dar pe lng dezavantajele menionate, mai are i dezavantajul c programarea memoriilor fixe cere echipamente specializate, cere programatoare de memorii al cror cost se amortizeaz doar la o producie mare, dac se fac multe echipamente cu respectivele memorii. De asemenea, dac memoria fix este de tip EPROM, trebuie avut grij, ntruct coninutul acesteia dispare n timp. O memorie EPROM este garantat la aproximativ 10 ani, dar timpul acesta este puternic afectat de factori externi. De exemplu, dac circuitul este inut la soare i neacoperit, coninutul se va descrca mult mai repede, timpul se reduce aproximativ la jumtate.

CURS 6 12-Apr-2008
5.1. Implementarea funciilor logice utiliznd arii logice programabile
O arie logic programabil, numit n general PLA, este un circuit combinaional alctuit din o reea de pori i, i pori sau, care poate fi programat s realizeze funcii logice exprimate ca sume de produse de variabile. n funcie de particularitile PLA, un acelai circuit poate implementa mai multe sume de produse. Limitri apar datorit numrului de intrri n, numrului de ieiri m i numrului de produse p. Mai exact, un circuit PLA cuprinde n numele su, numrul de intrri, numrul de ieiri i numrul de produse, i se numete PLA n * m cu p produse. Un PLA nu poate realiza orice funcie cu n intrri, ci doar pe acelea care pot fi exprimate ca sume din cele p sau mai puine produse existente n circuit. Un PLA n * m cu p produse conine p pori i, cu 2n intrri i m pori sau cu p intrri. Un PLA 4 * 3 cu 6 produse are urmtoarea schem intern :
i1 i2 i3 i4

xxxxxxxx


xxxxxxxx xxxxxxxx xxxxxxxx xxxxxx xx xxxxxxxx

x x x x x x x x x x x x x x x x x x

O1 O2 O3

36
Punctele reprezint conexiuni fixe iar semnul x, arat c respectiva legtur poate fi pstrat sau ntrerupt. ntreruperea unei asemenea legturi este realizat n programatoare speciale i operaia poate fi asemuit arderii unui fuzibil. Prin intermediul porilor i, se poate realiza oricare produs ntre variabilele de intrare directe sau negate, dar numai un numr de 6 produse. Prin intermediul porilor sau, poate fi realizat oricare sum ntre produse, dar numai 3. O reprezentare mai compact a PLA-ului descris este urmtoarea : i1 i2 i3 i4
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

x x x

x
x x

x x x

x x x

x x x

x x x

O1 O2 O3

Ambele reprezentri arat conexiunile la intrrile porilor i, i porilor sau, precum i locul unde acestea pot fi ntrerupte. i1 i4 intrri (in); o1 o3 ieiri (out). S reprezentm urmtoarele funcii logice, folosind PLA-ul descris : O1 = i1 i2 i3 i4 + i 2 i 4 + i1 i3 i4 O2 = i2 i3 i4 + i 2 i 4 + i 2 O3 = i1 i3 i4 + i1 i4 + i 2
i3 i 4 i3 i 4

Trebuie s avem doar 6 produse diferite. Convenie : x conexiune direct (existent) ; conexiune ntrerupt.

37
i1 i2 i3 i4 x x x x x x x x x x x x x x x

x x

x x

x x x x x x

O1 O2 O3

Notaia compactat are scopul doar de a simplifica desenarea circuitului. Ea are dezavantajul c poate induce n eroare asupra numrului de linii de intrare din porile i, respectiv porile sau. Din punct de vedere fizic, circuitele i i sau au attea linii de intrare cte arat notaia necompactat. TEM Implementai urmtoarele funcii cu ajutorul PLA 5 * 4 cu 8 produse, varianta compact : O1 = i1 i2 i3 i4 i5 + i1 i3 i5 + i 2 i 4 O2 = i1 i3 i5 + i 2 i 4 + i3 i4 i5 + i2 i4 i5 O3 = i1 i 2 i3 i 4 i5 + i3 i4 i5 O4 = i1 i4 i5 + i2 i3 i5 + i1 i3 i5 + i 2 i 4
i1 i2 i3 i4 i5

x x x x x

x x x x x x x x

x x x

x x x x x

x x x

x x x

x x

x x x x x x x x

O1 O2 O3 O4

38
Din punct de vedere electric, conexiunile din interiorul unui circuit PLA (ex : 4 * 3) se prezint astfel : Vcc i1 i2 i3 i4 Vcc O1 O2 O3

Schema arat modalitatea n care sunt realizate conexiunile : - atunci cnd se dorete ca ntre o linie i o coloan s nu existe conexiune, programatorul va trimite un curent care va arde fuzibilul. Mai departe, trebuie demonstrat c schema cu pori i, i sau, anterior prezentat, este identic cu schema cu pori nu, dar cu funcie de i nu, prezentat acum. Aceast schem face funcia i nu. +5V i1 i2 i1 0 0 1 1 i2 0 1 0 1 E 1 1 1 0

39
x y z u Cele dou scheme sunt echivalente. xy+zu=xy+zu=xyzu; a=a; a+b=ab Ariile logice programabile se ntlnesc i sub alte denumiri : PGA (Programable Grid Array) ; FPGA (Field Programable Grid Array) ; PLD (Programable Logic Device) a m d. n toate exemplele de pn acum, ieirile generate de un PLA, aveau valorile date de o ecuaie. Exist situaii ns, n care ieirea unui PLA sau o ieire a unui PLA, trebuie s rmn constant la 1 sau la 0. Cteva soluii sunt urmtoarele : i1 i2 i3 i4 x x x y z u

O1 = 1 O2 = 0 x O3 = 0

Prima poart i, are intrrile neconectate, ca urmare, ierea primei pori va fi la 1 logic (din schema electric se poate observa c, dac intrrile sunt neconectate, atunci ieirea va fi la 1 logic). ntruct O1 are o singur intrare conectat, adic ieirea primei pori i, valoarea lui O1 va fi 1 logic. O2 va fi la 0 logic, ntruct nu are nici o intrare conectat i din punct de vedere electric, schema este astfel realizat nct ieirea s fie 0. O3 va fi 0 logic, ntruct are o singur intrare conectat i anume, la ieirea celei de-a doua pori i, care are la intrri conectate liniile i2 i i 2 . Una din legile algebrei booleene arat c x x = 0, ca urmare, ieirea porii i, care are pe intrri i2 i i 2 va fi 0. Implementarea cu PLA-uri, are ca avantaje obinerea unei scheme mult simplificat fa de varianta clasic, cu reducere de consum, de dimensiuni, cu creterea fiabilitii, de asemenea,

40
timpul de ntrziere pe o schem implementat cu PLA-uri va fi mai mic semnificativ dect timpul de ntrziere pe o schem implementat clasic. La frecvene mici, ntrzierile nu prea conteaz, dar la frecvene mari, ntrzierile sunt catastrofale. Dezavantajul major este preul, PLA este mai scump.

5.2. Implementarea funciilor logice cu circuite multiplexoare, demultiplexoare


Soluia este util atunci cnd soluia cu pori ne duce la o expresie cu muli termeni, fiecare termen avnd mai muli factori, ceea ce nseamn multe pori i fiecare cu mai multe intrri. Implementarea cu multiplexoare, demultiplexoare permite implementarea cu un singur circuit integrat pentru obinerea ieirii. Nu exist reguli pentru implementarea funciilor logice cu circuite multiplexoare, demultiplexoare. Operaia se bazeaz pe o foarte bun cunoatere a circuitelor multiplexoare, demultiplexoare. Exemplu :
F= A B C D+ A BCD + A B C D + A BCD+AB C D +A BCD+AB C D +ABCD

n varianta clasic ne-ar trebui 6 circuite integrate. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 D Din primele dou linii ale tabelului de adevr se observ c ieirea este egal cu D , din urmtoarele douD observ c ieirea este egal cu se D0 D1 D2 D3 D4 D5 6 D7 , similar pentru urmtoarele dou a m d. D CB A
EN y

41

Partea a doua

CURS 7 CAPITOLUL 6

19-APR-2008

CIRCUITE SECVENIALE Exist dou tipuri de circuite logice : combinaionale, la care ieirile depind doar de intrrile la un moment dat, neavnd importan nivelul intrrilor la momente de timp anterioare ; secveniale, la care ieirile depind de intrri dar i de starea curent a circuitului, stare care la rndul ei, depinde de nivelul intrrilor la momente de timp anterioare.

Circuitele secveniale in seama , n funcionarea lor, de istoria intrrilor. Ele sunt circuite cu memorare, ntruct ieirile depind de nivelul intrrilor la momente de timp anterioare. Schema bloc a unui circuit secvenial este urmtoarea : ieiri

CIRCUITE COMBINAIONALE

CIRCUITE DE MEMORIE

CIRCUITUL SECVENIAL intrri Circuitele combinaionale primesc intrrile circuitului secvenial i genereaz ieiri ale cicuitului secvenial, precum i ieiri pentru circuitele de memorare. Circuitele de memorare indic starea circuitului secvenial. Starea prezent este indicat la ieirile circuitului secvenial. Starea prezent depinde de informaia primit de la circuitele combinaionale i de strile anterioare memorate n circuitele de memorare. Ca urmare, ieirile circuitului secvenial, depind de intrri i de starea sa. Exist dou tipuri de circuite secveniale : - asincrone, la care ieirile se modific atunci cnd se modific intrrile, innd seama i de starea circuitului ;

42 - sincrone, la care ieirile se pot modifica numai la momente bine determinate, indicate
prin intermediul unui semnal dedicat, numit tact. Forma semnalului de tact este :

Circuitele secveniale sincrone primesc continuu semnalul de tact de la un modul, numit generator de tact. Circuitele secveniale sincrone i schimb starea pe frontul anterior sau posterior al semnalului de tact. Circuitele secveniale sincrone sunt mai rspndite dect cele asincrone, ntruct este mai uoar proiectarea i depanarea pe ele. Un circuit asincron, poate deveni sincron, prin sincronizarea intrrilor. Diagrama care arat sincronizarea este urmtoarea : semnal asincron semnal de tact semnal sincron Sincronizarea se poate face pe oricare front al impulsului de tact. Decizia este luat de proiectant. Cel mai simplu circuit secvenial este bistabilul. Acesta este un circuit cu dou stri stabile i este cel mai simplu circuit de memorie, memornd un bit. El trece dintr-o stare n alta doar la o comand extern i poate fi citit oricnd. Un bistabil poate fi construit pentru a funciona n regim asincron, sincron sau n amndou. Un bistabil poate avea intrri sincrone, asincrone sau ambele, i dou ieiri. Simbolul general al unui bistabil este : intrri asincrone intrri sincrone intrare de tact ieiri Q T

43
Dac ieirea Q = 1 i Q = 0, se spune c bistabilul memoreaz valoarea (bitul) 1. Dac Q = 0 i Q = 1 se spune c bistabilul memoreaz valoarea 0 (bitul 0). Comportarea unui circuit basculant bistabil, poate fi descris fie sub form de tabel, prin tabelul caracteristic al bistabilului, fie sub form de expresie boolean. Tabelul caracteristic arat starea urmtoare a ieirii n funcie de intrri i de starea prezent, n form tabelar, iar expresia boolean arat acelai lucru sub forma unei ecuaii logice, numit ecuaie de stare. Uneori tabelul caracteristic poate s apar n form simplificat, n care apar doar coloanele intrrilor i a strii urmtoare. 6.1. Bistabilul cel mai simplu este bistabilul asincron RS. Schema lui este urmtoarea : Tabelul caracteristic este urmtorul : S 0 1 0 1 Q
Q

R 1 0 0 1

Qt + 1 0 1 Qt -

S R

Ecuaia de stare : Qt + 1 = S + R Q t Qt starea prezent a ieirii ; Qt + 1 starea urmtoare a ieirii. Exist i o alt variant a acestui bistabil i anume varianta cu pori sau nu : S

Q
Q

S 0 1 0 1

R 1 0 0 1

Qt + 1 0 1 Qt -

O aplicaie a acestui bistabil o constituie eliminarea vibraiilor unui comutator. Vcc Cu condensator

44
Vcc Curba nu este liniar.

45
Soft, se introduce un delay pentru ntrziere. Soluia clasic este : Vcc n absena bistabilului

Vcc

- eliminarea vibraiilor cu un bistabil RS

n prezena bistabilului Bistabilul RS asincron poate fi sincronizat. Schema bistabilului sincron este urmtoarea : S tact R

Q
Q

S 0 1 0 1

R 1 0 0 1

Qt + 1 0 1 Qt -

O alt form de descriere a funcionrii unui bistabil, este tabelul de excitaie al su. Tabelul de excitaie arat care trebuie s fie valorile intrrilor, pentru ca bistabilul aflat ntr-o anumit stare s treac ntr-o stare urmtoare bine precizat.

Alte tipuri de bistabile 6.2. Bistabil de tip JK


Principalul dezavantaj al bistabilului RS asincron sau sincron, este acela c exist o combinaie interzis intrrilor. Bistabilul JK elimin acest dezavantaj, n sensul c, la apariia combinaiei interzise la RS sincron i schimb starea.

46
Tabelul caracteristic al acestui bistabil este : Tabelul excitaiilor este :
Qt Qt + 1 J K

0 0 1 1

0 1 0 1

0 1 x x

x x 1 0

Schema : J T K

Q
Q

6.3. Bistabilul de tip D Memoreaz i sincronizeaz valoarea intrrii. Este un bistabil cu o singur intrare de date. Tabelul caracteristic : Tabelul excitaiilor :
Qt Qt + 1 D

0 0 1 1 Schema sa : D T

0 1 0 1

0 1 0 1

Q
Q

47 6.4. Bistabil de tip T


Este tot un bistabil cu o singur intrare de date, care dac este 0, ierea bistabilului nu se modific, dar dac este 1, va provoca modificarea ieirii bistabilului la fiecare impuls de tact.
T Qt + 1

0 1

Qt
Qt

Tabelul caracteristic :

Tabelul excitaiilor :

Din studiul tabelelor bistabilelor JK, D i T rezult c un bistabil D se poate obine dintrun bistabil JK, interpunnd o poart inversoare ntre cele dou intrri J i K. i un bistabil de tip T se poate obine dintr-un bistabil JK, legnd mpreun cele dou intrri, J i K i la 1 logic. Bistabil JK J T K D Q T
Q

Bistabil D T tact(T)

Bistabil T

J T K

J Q T

J Q T

sau Bistabile T integrate, nu se gsesc. Se gsesc bistabile integrate D : D T


Q

J Q T

Bistabil T :

48
Bistabilul T se poate utiliza ca divizor de frecven. Exist dou tipuri de bistabile T : - care basculeaz pe frontul impulsului de tact ; - care basculeaz pe nivelul impulsului de tact.

nivel front

La bistabilele care basculeaz pe nivel, este necesar ca intrarea de date s nu se modifice pe durata impulsului de tact. Dac totui intrarea de tact se modific, bistabilul va lua noua valoare a intrrilor. La bistabilele care basculeaz pe front, datele trebuiesc s fie active un anumit timp naintea frontului activ.

CURS 8 10-Mai-2008
Majoritatea bistabilelor integrate au trei tipuri de intrri : intrrile sincrone ; intrarea de tact ; intrrile asincrone ;

Intrrile sincrone, stabilesc cum se modific ieirea bistabilului, la momentele de timp indicate de intrarea de tact. Intrrile sincrone, nu vor afecta ieirea bistabilului, dac nu exist semnal de tact. De asemenea, intrrile sincrone nu afecteaz ieirea bistabilului, la momentele de timp aflate ntre operiile impulsului de tact. Intrrile asincrone, vor afecta ieirea bistabilului, dup reguli bine stabilite, la orice moment de timp, indiferent dac sunt sau nu activate celelalte intrri. Mai mult, intrrile asincrone sunt prioritare asupra intrrilor sincrone. Intrrile asincrone, afecteaz ieirea bistabilului n momentul activrii lor. Exemplu : - intrri asincrone ; S foreaz bistabilul pe 1 logic ; R - foreaz bistabilul pe 0 logic ; S D Q

Bistabilul i modific intrarea pe frontul impulsului de tact.

> T

49
T D R S Q

6.5. Simbolurile bistabilelor : - JK :


J T K
Q

-D:
Q J Q

T
Q

acestea basculeaz pe nivel.

Exist dou tipuri de bistabile : bistabile care basculeaz pe nivelul impulsului de tact ; bistabile care basculeaz pe frontul impulsului de tact ;

>

basculeaz pe front.
J T K Q

Mai sunt i simboluri de bistabile care au i intrri asincrone :

Alte simboluri :

>

basculeaz pe front anterior ;

50

>

basculeaz pe front posterior ;

basculeaz pe nivel ;

Este interzis ca cele dou intrri asincrone s fie activate simultan. Bistabilele se gsesc sub form integrat. Exist circuite integrate cu 1, 2 sau 4 bistabile pe capsul. O aplicaie important a bistabilelor, o constituie divizarea frecvenei. Ea se bazeaz pe caracteristica bistabilului de tip T, de a-i schimba starea la fiecare impuls de tact, atunci cnd intrarea T este la 1 logic.

Vcc
J Q

Tact

>T
K
Q

T Q

Pentru a obine o divizare la 4, trebuiesc nlnuite dou asemenea bistabile : V cc


Q1

Q2

>

T K
Q

>T
K
Q

T Q1 Q2

Punnd nc un bistabil, se poate diviza la 8, a m d ; - se divizeaz la puteri ale lui 2.

51
O alt aplicaie a bistabilelor este sincronizarea unui semnal extern : Folosim bistabil de tip D. Schema : Diagrama : SAS D Q T SS T SAS SS

>

SAS semnal asincron ; SS semnal sincronizat. O alt aplicaie este generarea de trenuri de impulsuri, adic generarea de impulsuri doar atunci cnd un semnal de validare permite acest lucru. Schema : SV

>

D Q T

TI

T I trenul de impuls ; SV semnal de validare.

Diagrama : T SV Q semnal sincronizat TI La prima vedere am putea obine trenul de impulsuri, cu o schem mai simpl : SV TI T Dac desenm diagrama, putem vedea ce probleme pot s apar : T SV TI

52
Aa este bine, dar poate aprea urmtoarea situaie : T SV TI T I nu mai este OK. O alt aplicaie important a bistabilelor o constituie registrele.

CAPITOLUL 7
REGISTRELE
ntr-un calculator, bistabilul constituie celula de baz pentru memorarea datelor n care se nscrie unitatea de informaie, adic bitul. n scopul memorrii temporare i transferului datelor, bistabilele sunt grupate, alctuind registre. Un registru ofer urmtoarele faciliti : permite ncrcarea n el i memorarea oricrei configuraii binare ; permite citirea din el, oricnd, a coninutului su ; permite deplasarea informaiei din el, cu un numr oarecare de ranguri ; asigur conversia informaiei din serie n paralel i invers . Simbolul general pentru un registru : MSB LSB

registru cu 8 bistabile.

Numrul de dreptunghiuri corespunde cu numrul de bistabile i arat capacitatea registrului. Bistabilele din registru au o pondere dat de poziia lor. n figur este indicat bitul cel mai semnificativ memorat n bistabil, cel mai din stnga i bitul cel mai puin semnificativ, memorat n bistabilul cel mai din dreapta. ntr-un calculator, registrele asigur pstrarea temporar i transferul datelor. Pstrarea temporar se asigur prin ncrcarea informaiei n registru i citirea ei. Transferul datelor se poate realiza pe dou ci : - calea sincron : - calea asincron. O operaie important pe care trebuie s o asigure registrele, este deplasarea informaiei. n acest scop, bistabilele sunt astfel conectate, nct s asigure un registru de deplasare. Acesta permite deplasarea informaiei la stnga sau la dreapta, cu unul sau mai multe ranguri.

53
Exist patru tipuri de registre :

Serial in Serial out (intrare serial, ieire serial) : Simbol : Data in

Data out

Serial in Parallel out : Data in

Parallel out

Parallel in Serial out : Parallel in

Parallel in Parallel out : Parallel in

n plus, exist registrul universal, care asigur mai multe funcii, adic tipuri de transfer.

7.1. Registrul de tip serial in serial out


Se obine prin nlnuirea bistabilelor. Pot fi folosite diferite tipuri de bistabile. Figura urmtoare arat un exemplu de asemenea registru, cu 4 ranguri, construit cu bistabile de tip D i diagrama sa din care rezult funcionarea sa. Data in T

Data out

>

CLK
CR L

>

CLK
CR L

>

CLK
CR L

>

CLK
CR L

CR L

54
CLR clear, tergere. T
CR L

Data in Q1 Q2 Q3 Q4 Observm c informaia se deplaseaz cu cte un tact. Se mai poate implementa i cu bistabile JK : Data in

Data out
J Q4

Q1

Q2

Q3

>

T K R

>

T K R

>

T K R

>

T K R

CR L

Acest bistabil va bascula pe frontul posterior. Diagrama : T


CR L

Data in Q1 Q2 Q3 Q4

55
Un exemplu de circuit integrat de acest tip este 7491, care este un registru de deplasare la dreapta pe 8 ranguri, avnd ca intrri de date pe A i B, intrarea de tact clock i ieirea Q mpreun cu aceeai ieire negat. A Q CLK
Q

B Pentru ca data care intr n registru s fie 0 logic, este necesar ca una din intrrile A i B, sau amndou, s fie pe 0 logic. Dac ambele intrri, A i B, sunt 1, atunci data care intr n registru este 1 logic.

7.2. Registru de tip serial in paralel out


Asigur preluarea informaiei n mod serial i transferul ei n paralel, la cerere. Asigur conversia serie paralel a informaiei. Un exemplu de asemenea registru, realizat cu bistabile de tip D pe 4 ranguri, este urmtorul : Data in T

D Q1

D Q2

D Q3

D Q4

>

T
CR L

>

T
CR L

>

T
CR L

>

T
CR L

CR L

PO

Parallel out Registrul primete informaia serial i o ofer paralel, atunci cnd linia PO se activeaz (devine 1 logic, n acest exemplu).

56
Diagrama corespunztoare acestui exemplu este urmtoarea : T
CR L

Data in Q1 Q2 Q3 Q4 Informaia la ieirile Q1p, Q2p, Q3p, Q4p, depinde de momentul cnd se activeaz ieirea PO. Dac PO se activeaz ca n figur, atunci : PO Q1p Q2p Din schem se observ c, dac PO este inactiv (adic 0 n acest exemplu), ieirile Q1p Q4p vor fi 0. Q1p ia valoarea lui Q1 ; Q2p ia valoarea lui Q2 ...etc., atunci cnd PO va fi activ, adic 1.

57

CURS 9 17-Mai-2008 7.3. Registrul de tip parallel in serial out


La acest registru informaia este ncrcat n paralel i este citit serial. Exist dou posibiliti de ncrcare paralel : - sincron, adic sub comanda unui tact ; - asincron . Registrul poate fi folosit la conversia informaiei din paralel n serie. Un exemplu de asemenea registru este urmtorul : D
SD D Q

C
SD D Q

B
SD D Q

A
SD D Q

S out

S in
CR L

>

CLK CR L

>

CLK CR L

>

CLK CR L

>

CLK CR L

CLK
LOAD

S in serial in ; S out serial out ; Figura reprezint un exemplu complex cu un registru care are dubl posibilitate de ncrcare, fie paralel, fie serial. Fiecare intrare de date a bistabilelor are un modul de selecie SD (selector de date) i n funcie de nivelul semnalului LOAD (ncrcare), selectorul va lsa s treac fie datele paralele (cele notate cu D, C, B, A), fie datele seriale. Ieirea registrului este doar serial. D SD :
LOAD

S in

Cnd LOAD = 0 trece intrarea paralel, cnd este 1 trece intrarea serial, proiectantul decide. n exemplul prezentat, ncrcarea paralel se face sincron, adic intrrile de pe liniile A, B, C, D vor ajunge n bistabile doar la apariia impulsului de tact. Un alt exemplu, cu ncrcare asincron de data aceasta, este urmtorul :

58
D PI C B A

S Q

S Q

S Q

> CLK
R

> CLK
R

> CLK
R

> CLK
R

S out

CLK

CLR

Registrul prezentat ncarc informaia n paralel pe cale asincron, atunci cnd semnalul PI (parallel in) devine 1 logic. Dac semnalul PI este inactiv, adic 0 logic, intrrile asincrone ale bistabilelor sunt 1 logic, ca urmare ele nu afecteaz coninuturile bistabilelor. Dac PI este 1 logic, configuraia de la intrrile D, C, B, A, va trece n bistabil. Registrul are i facilitatea de iniializare a coninutului su, cnd semnalul CLR devine 0, coninuturile tuturor bistabilelor devin 0. Registrul ofer la ieire informaia serial.

7.4. Registrul de tip parallel in parallel out


Un asemenea registru ncarc informaia n paralel i o transfer, la ieire, tot n paralel. Exemplu : PI D C B A

D Q

D Q

D Q D Q

>
CR L

CLK CR L

>

QD

CLK CR L

>

QC

CLK CR L

>

QB

CLK CR L

CLK PO

QA

59
Figura reprezint un registru pe patru ranguri cu intrare paralel i ieire paralel. Configuraia de la intrare este stabilit atunci cnd se activeaz semnalul PI, iar configuraia de la ieire este obinut atunci cnd se activeaz semnalul PO. Dac PI i PO sunt 0, adic inactive, att configuraia de le intrare ct i configuraia de la ieire este format doar din 0 logic. Exist multe asemenea circuite integrate. Un exemplu este circuitul 74x373. Este un registru pe 8 ranguri cu ieiri cu trei stri. Circuite cu trei stri : 1 logic ; 0 logic ; A treia stare este o stare de impedan ridicat, efectul introducerii unui circuit n a treia stare fiind decuplarea sa logic de la linie. Exist dou tipuri principial diferite de trei stri : ID IV ID IV E E sau negat ID IV sau negat ID IV E E

La primul circuit, dac IV = 1 logic atunci E = ID, dac intrarea este 0 logic, ieirea este n a treia stare, ca i cum nu ar fi acolo, impedana foarte mare nu influeneaz schema. La al doilea circuit, dac IV = 0 atunci E = ID, dac este 1, ieirea este n a treia stare. Circuitele cu trei stri se folosesc la sistemele bazate pe magistrale (sisteme cu microprocesoare i microcontrollere). La magistral se pot conecta multe asemenea circuite.

-----------

Numai un circuit trebuie s fie activ (pe 1), restul trebuie s fie inactive (pe 0). Magistralele se realizeaz obligatoriu numai cu circuite cu trei stri.

74 x 373
Schema :

8D

8D
CLK
Q

Q
8Q

8 bistabile 8 ranguri

1D G Oc

1D
CLK
Q

Q
1Q

60
Informaia se ncarc pe nivel. G Dac output control, Oc, este 1 logic registrul nu funcioneaz, registrul este n a treia stare. Dac Oc este 0, la ieirile bistabilelor vom avea intrrile bistabilelor.

74 x 374
Este foarte asemntor cu anteriorul, are aceeai schem, difer intrarea de tact.
CLK

Preia informaia pe front :

Mai exist 74 x 165 ; 74 x 148 ; Simbol 74 x 148 :


DS LOAD SHIFT CLK

A B C D

74 x 148
QA QB QC QD

Dac LOAD = 1 i SHIFT = 0, circuitul ncarc informaia n paralel, de pe liniile A, B, C, D i informaia apare la ieire pe liniile QA - QD. Dac LOAD = 0 i SHIFT = 1, circuitul transfer informaia la dreapta. El va deplasa informaia la dreapta, cte un rang la fiecare impuls de tact. Intrarea DS este intrarea serial. Dac LOAD = 0 i SHIFT = 0, circuitul nu-i modific starea, indiferent ce face oricare dintre intrri. Circuitul are mai multe faciliti : PI PO ; SI PO ; Un alt exemplu de registru este 74 x 95, un registru pe patru ranguri, de tip PI PO i cu posibilitatea de a deplasa informaia la dreapta. Simbolul su este urmtorul :
DS T1 T2 MOD

A B C D

74 x 95
QA QB QC QD

Dac MOD este 0, atunci circuitul va deplasa informaia la dreapta la fiecare impuls pe linia de tact T1 ; Dac MOD este 1, atunci circuitul va funciona ca registru cu ncrcare paralel i operaia se realizeaz la apariia unui impuls de tact pe linia T2. Se poate face ca registrul s mute informaia de la dreapta la stnga, cu conexiuni externe :

61
A

D ISS

CLK

DS T1 T2 MOD

ESS

QA QB QC QD Singura soluie este MOD = 1 ; ISS intrare serial stnga ; ESS ieire serial stnga ; CLK ncarc n paralel.

QA

QB

QC

QD

Prin conexiuni suplimentare am fcut circuitul s deplaseze informaia la stnga. Aplicaie : Construirea unui registru de deplasare la dreapta i la stnga cu circuite 74 x 95. ISD
DS A B C D T1 T2 MOD QA QB QC QD DS A B C D T1 T2 MOD QA QB QC QD

ESD

MOD = 0 ; Registrul tie s plimbe informaia la dreapta pe 8 ranguri. Pentru deplasarea informaiei la stnga pe 8 ranguri : ISS
DS A B C D T1 T2 MOD QA QB QC QD

DS A B C D T1 T2 MOD QA QB QC QD

ESS n mod similar putem crea circuite de deplasare cu oricte ranguri.

62

CURS 10 24-Mai-2008
Proiectarea unui circuit de deplasare pe 4 ranguri, care s deplaseze informaia : la dreapta dac DR = 1, ST = 0 ; la stnga dac DR = 0, ST = 1 ; s nu deplaseze informaia dac DR = ST. DR ST

Qi-1 Di Qi+1

D
CLK

D
CLK

D
CLK

D
CLK

CR L

CLK

DR ST DR ST

ESD

ISD

D
CLK

ESS

D
CLK

D
CLK

ISS

D
CLK

CR L CR L

CR L

CR L

CR L

CLK DR ST

63
Proiectarea unui sistem de deplasare, care deplaseaz informaia la dreapta dac ROT = 0 i face i rotire dac ROT = 1 :

ROT D ISD
CLK CLK CLK

ROT Q D Q D Q D
CLK

ESD
CR L

CLK

CAPITOLUL 8 NUMRTOARE
Numrtoarele constituie o clas particular a circuitelor secveniale, clasa circuitelor secveniale fr intrri, ale cror modele matemetice se numesc automate finite autonome. Tranziiile acestor circuite secveniale se fac pe durata impulsului de tact, dup o anumit lege, numai pe baza strii prezente a acestora. Modul de funcionare al numrtorului este complet specificat de secvena de numrare, care reprezint succesiunea de stri binare a acestuia. Exemplu de secven de numrare : Q3 Q2 Q1 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 Numrtoarele sunt circuite secveniale care pot ndeplini dou roluri utile n calculatoare, electronic, telecomunicaii...etc. Primul rol const n numrarea unei succesiuni de impulsuri aplicate la intrare, iar al doilea const n divizarea cu o anumit constant a frecvenei semnalului aplicat la intrare. Pentru ndeplinirea acestor roluri, numrtoarele sunt astfel concepute nct s aib un numr determinat de stri stabile. O stare a unui numrtor este dat de strile bistabilelor care-l alctuiesc. Numrtorul este alctuit din elemente de memorare care sunt bistabile, ntruct strile sale trebuiesc s fie stabile i din circuitele combinaionale aflate la intrrile sale, care determin trecerea numrtorului dintr-o stare n alta.

64
Dac numrtorul nu primete impulsuri de tact, starea sa rmne n condiii de funcionare normal, aceeai, un timp nelimitat. Atunci cnd un numrtor este utilizat pentru funcia de numrare, este necesar ca numrul coninut n memorie s poat fi citit n orice moment, la fel cum se citete coninutul unui registru. Pentru funcia de divizare intereseaz doar o anumit ieire, care genereaz un impuls la apariia unui numr determinat de impulsuri pe intrare. Un parametru important al numrtorului pentru funcia de divizare este factorul sau constanta de divizare, notat cu D. Prin factor de divizare se nelege numrul de impulsuri ce trebuie aplicate la intrarea de tact a unui numrtor, pentru a realiza un ciclu complet, dup care se revine n starea iniial genernd un impuls la ieire. Factorul de divizare depinde de numrul de bistabile care alctuiesc numrtorul i de modul de interconectare a lor. De exemplu, n cazul unui numrtor simplu realizat prin nlnuirea bistabilelor, factorul de divizare este D = 2n, unde n este numrul de ranguri sau de bistabile al numrtorului. Un alt parametru al unui numrtor este capacitatea sa, prin care se nelege numrul maxim de impulsuri care genereaz stri distincte ale numrtorului. Primul impuls care depete capacitatea numrtorului, determin revenirea acestuia n starea iniial. innd seama de felul cum s-a definit capacitatea i factorul de divizare, legtura ntre ele este : C = D 1. n general se folosete termenul modulo pentru a indica factorul de divizare. Astfel, un numrtor modulo 4 are patru stri stabile, deci factorul de divizare este 4, un numrtor modulo 16 are 16 stri stabile, deci factorul de divizare este 16 a m d. Numrtoarele se clasific dup urmtoarele criterii : - felul de codificare a informaiei : - decadic (cu 10 stri); - binar ; - modulo n, ...etc. (Prin acest criteriu distincia se face n funcie de numrul de stri al numrtorului). - sincronismul bistabilelor ; - sensul numrrii. Din punct de vedere al sincronismului bistabilelor, exist dou tipuri de numrtoare : - asincrone ; - sincrone. La numrtoarele asincrone tactul este aplicat, conectat, doar la bistabilul mai puin semnificativ, restul de bistabile se modific doar dac se modific bistabilul anterior. La numrtoarele sincrone tactul este aplicat tuturor bistabilelor, ca urmare acestea se modific simultan. Dup sensul numrrii, numrtoarele se mpart n : directe ; inverse ; reversibile. Cele directe numr n sus, adic starea urmtoare corespunde unei valori mai mari dect valoarea ce corespunde strii prezente, cele inverse numr n jos iar cele reversibile pot numra n ambele sensuri.

65
Orice numrtor pornete ciclul de numrare dintr-o stare iniial. Aceasta poate fi cu 0 pe toate bistabilele, cu 1 pe toate bistabilele sau o valoare oarecare. Pentru ncrcarea strii iniiale exist circuite combinaionale dedicate i o intrare specific. n continuare vor fi descrise numrtoare asincrone i sincrone, realizate cu bistabile i cu diferite circuite integrate numrtor. Vor fi descrise problemele ce apar la proiectarea i utilizarea numrtoarelor precum i o metod general pentru sinteza unui numrtor, care lucreaz dup orice secven din stri.

8.1. Numrtoare asincrone


Numrtoarele asincrone se obin nlnuind bistabile de tip T. - Exemplu de numrtor asincron pe 4 ranguri : Vcc Q0 Q1 Q2

Q3


CLK J T K
Q

J T K
Q

J T K
Q

J T K
Q

CR L

Diagrama : CLK
CR L

Q0 Q1 Q2 Q3

0 0 0 0

1 0 0 0

0 1 0 0

1 1 0 0

Dup 1111 trece iar n 0000. Ciclul complet este pn la 1111 i se tot repet.

66
Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Q3 Q2 Q1 Q0

dac ieirile sunt pe Q

1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0

n aceeai schem, dac ieirile numrtorului sunt ieirile negate ale bistabilelor, avem un numrtor care numr n jos (invers).0 - Numrtor care numr : - direct (sus) dac ND NI = 1 ; - invers (jos) dac ND NI = 0. Vcc Q0 Q1 Q2 Q3

ND - NI


J T K
Q


J T K
Q


J T K
Q


J T K
Q

CLK

Semnalul de iniializare nu este ntotdeauna necesar. La conectarea alimentrii, starea bistabilului va fi aleatoare, indiferent ns de starea pe care se poziioneaz bistabilele, dup un anumit numr de impulsuri de tact ele vor ajunge la 0, toate i numrtorul i va ncepe ciclul.

67

CURS 11 31-Mai-2008
n exemplele de pn acum, ciclul numrtorului cuprindea un numr egal cu puterea lui 2. Exist ns i aplicaii n care numrul de stri sau factorul de divizare, trebuie s fie diferit de o putere a lui 2. Exemplu : - Numrtor decadic (cu 10 stri) ; QD QC QB QA Ne trebuiesc 4 bistabile. 0 0 0 0 Numrtorul va parcurge primele 10 stri, adic de la 0 0 0 1 0 0 0 0 pn la 1 0 0 1, dup care trebuie s revin n starea 0 0 1 0 iniial. Pentru aceasta, numrtorul trece n starea urmtoare 0 0 1 1 care este decodificat i impulsul rezultat din decodificare va 0 1 0 0 fi conectat la intrrile de tergere ale tuturor bistabilelor. 0 1 0 1 n acest fel, numrtorul parcurge cele 10 stri ale secvenei 0 1 1 0 dorite, trece n starea urmtoare pentru o durat foarte scurt, 0 1 1 1 dup care este forat s revin n starea 0. 1 0 0 0 ntr-o stare normal, numrtorul st un impuls de tact : 1 0 0 1 1 0 1 0

Vcc

QA

QB

QC

QD


CLK J T K
Q

QA

J T K
Q

QB

J T K
Q

QC

J T K
Q

QD

CR L

Poarta i-nu are rolul s genereze un semnal cnd numrtorul a ajuns n starea 1010, deci are rolul s decodifice starea 1010. Numrtorul parcurge cele 10 stri ale ciclului, intr n starea urmtoare pentru o durat foarte scurt, egal cu suma ntrzierilor pe pori i pe bistabile, dup care este forat s treac n starea 0. Pentru cazul general al unui numrtor cu m stri i factor de divizare m, algoritmul de proiectare este urmtorul (se vor folosi bistabile JK, conectate ca bistabile de tip T, cu basculare pe frontul posterior al tactului) :

1.

Se determin numrul de bistabile n, necesar pentru realizarea numrtorului, conform cu relaia : 2n 1 m 2n ;

68
2. Se ntocmete tabelul cu succesiunea strilor numrtorului ; 3. Se leag cele n bistabile ntr-o schem de numrtor asincron ; 4. Se identific ultima stare a ciclului i starea urmtoare n care ar trece numrtorul dac nu s-ar interveni prin forare n starea iniial ; 5. Se decodific aceast stare urmtoare, intermediar, utiliznd o logic combinaional (soluia cea mai simpl este o poart i-nu care va avea ca intrri, ieirile acelor ranguri care au 1 n starea intermediar). 6. Semnalul astfel obinut, prin decodificarea strii intermediare, este aplicat la intrrile asincrone de tergere ale bistabilelor, provocnd trecerea numrtoarelor n starea iniial. Exist mai multe circuite integrate numrtor, printre care : 74 x 93 Este un circuit integrat asincron care poate lucra ca numrtor modulo 16 sau ca numrtor modulo 2. Schema sa este urmtoarea : Vcc QA QB QC QD

J T K R

J T K R

J T K R

J T K R

CLK A CLK B R01 R02

CLK A CLK B R01 R02 QD QC QB QA

Simbolul circuitului este urmtorul :

Numrtorul are dou seciuni independente. Una care lucreaz ca divizor la 2 i una care lucreaz ca divizor la 8. Pentru a forma un numrtor cu 16 stri, este necesar conectarea ieirii primului bistabil (sau primei seciuni) la intrarea celei de-a doua seciuni

69
(linia roie). Numrtorul are i dou intrri de tergere, ambele trebuie s fie la 1 logic pentru tergerea numrtorului. Pentru ca s lucreze ca numrtor su 16 stri circuitul va arta n felul urmtor :

70
Tact
CLK A CLK B R01 R02 QD QC QB QA

Datorit faptului c circuitul are nglobat o poart i-nu care comand intrrile de tergere ale bistabilelor, pot fi decodificate fr circuite suplimentare anumite stri, obinndu-se astfel divizare cu diferii factori. Exemple : Numrtor modulo 6 : DCBA 0 0 0 0 - 0 1 0 1 (0 1 1 0) trebuie decodificat. 0 0 0 0 starea iniial ; 0 1 0 1 a asea stare ; 0 1 1 0 a aptea stare, care trebuie decodificat. Soluia :
Tact CLK A CLK B R01 R02 QD QC QB QA

(1 0 0 1)

Numrtor modulo 9 : 0 0 0 0 - 1 0 0 0
Tact CLK A CLK B R01 R02 QD QC QB QA

Nu ntotdeauna poarta i-nu integrat este suficient. Uneori este necesar i cte o poart n exterior. Numrtor modulo 13 : 0 0 0 0 - 1 1 0 0 (1 1 0 1)
Tact

CLK A CLK B R01 R02 QD QC QB QA

71
Este posibil i cascadarea mai multor circuite, rezultnd astfel divizoare cu factor de divizare mai mare dect 16. Exemplu : - construirea unui numrtor cu 256 stri (16 x 16). Ne trebuiesc dou numrtoare integrate.
Tact CLK A CLK B R01 R02 QD QC QB QA CLK A CLK B R01 R02 QD QC QB QA

c.m.p.s. c.m.s.

c.m.p.s. cel mai puin semnificativ ; c.m.s. cel mai semnificativ ; Prin cascadarea numrtoarelor i decodificarea strilor, se pot obine numrtoare cu oricte stri sau divizoare cu orice constant.

Avantaje i dezavantaje ale numrtoarelor asincrone :


Avantaje : sunt simple ; necesit puine circuite ; sunt uor de proiectat i de extins.

Dezavantajul const n faptul c ntrzierile pe ele sunt cumulative. Primul rang basculeaz dup un timp de ntrziere fa de tact. Al doilea rang basculeaz dup un timp de ntrziere fa de propriul tact, adic dup doi timpi de ntrziere fa de impulsul de tact iniial, .a.m.d. Exist dou efecte negative ale acestei situaii :

1. Limitarea frecvenei tactului la o valoare mic. Perioada tactului, Ttact , va trebui s


fie mai mare sau egal cu ntd. td timpul de ntrziere pe un rang ; Rezult frecvena maxim fmax = 1/ntd. De exemplu, la o ntrziere pe un rang de 10 nanosecunde rezult o frecven fmax = 1/40ns = 2,5 MHz, o frecven mic. La mai multe ranguri, frecvena scade i mai mult. 2. Alt efect negativ apare atunci cnd numrtorul este decodificat. Pe ieiri vor apare impulsurile dorite, dar apar i impulsuri false, care corespund trecerii n starea ce trebuie decodificat pentru trecerea n starea iniial, datorate ntrzierilor.

72
Alt tip de numrtor :

Numrtoare sincrone
Acestea sunt numrtoarele la care impulsul de tact este aplicat simultan la toate bistabilele. Ca urmare, acestea se modific simultan, n conformitate cu tabela strilor. La aceste numrtoare, intrrile bistabilelor nu mai sunt legate la 1, ci ele sunt comandate cu anumite semnale obinute pe baza tabelului strilor. Exemplu : proiectarea unui numrtor sincron modulo 8 Se observ c bistabilul A i schimb starea la fiecare impuls de tact, ca urmare intrrile sale pot fi legate la 1 logic. Bistabilul B i schimb starea la fiecare impuls de tact doar dac pe intrare va avea 1 logic. Rezult c ieirea direct a bistabilului A, va comanda intrrile J i K ale bistabilului B. Analog, bistabilul C i va schimba starea, comandat de ieirile bistabilelor A i B.
Vcc

QC QB QA 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

J T K

QA

J T K

QB

J T K

QC

R
CR L

CLK

Numrtorul invers sincron se construiete plecnd de la tabela strilor i cu aceeai observaie, rezult urmtoarea schem :
QC QB QA 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 Vcc

J T K
Q
A

QA

J T K
Q
B

QB

J T

QC

K
Q
C

CR L

CLK

73
Combinnd cele dou scheme putem obine un numr reversibil, care merge n sus sau n jos, n funcie de un semnal din afar SUS/ JO (dac linia este pe 1 are S semnificaie SUS, dac e pe 0 JO ). S Schema :
Vcc


J T K
Q
A

QA

J T K
Q
B

QB

J T K
Q
C

QC

CR L

CLK SUS/ J S O

Numrtoare programabile sau prencrcabile


Sunt numrtoare clasice cu facilitatea suplimentar c starea iniial nu va mai fi 0 ci o valoare care este ncrcat n numrtor nainte ca numrarea s nceap. Apoi numrtorul va porni de la acea valoare n sus sau n jos. n continuare numrtorul i va parcurge ciclul, dup care trece fie n starea iniial, normal (0 peste tot la numrtoarea direct i 1 peste tot la numrtoarea invers), fie este din nou ncrcat la valoarea stabilit. Un exemplu de circuit integrat numrtor sincron este :

74 x 193
D C UP DOWN
L A OD

A
CRY AR B RO OR W

CLR QD QC QB QA Numrtorul are 4 ranguri i poate numra n sus sau n jos n funcie de intrarea la care este conectat tactul : UP sau DOWN.

74
Numrtorul genereaz ieirea CARRY la trecerea din starea 15 n starea 0, atunci cnd numr nainte sau ieirea BORROW la trecerea din starea 0 n starea 15, atunci cnd numr napoi. Numrtorul poate fi iniializat la valoarea 0 cu impuls pe linia CLR sau poate ncrca combinaia de pe liniile A, B, C, D, atunci cnd intrarea LOAD trece la 0. Diagrama de funcionare a numrtorului este urmtoarea : 1 2 UP QA 15 1 0 0

1 QB 1 QC 1 QD
CRY AR

0 0 0

Datorit existenei ieirilor CARRY i BORROW i a intrrii LOAD, se pot obine scheme mai simple pentru divizarea cu diferite frecvene. Exemple : Obinerea unui divizor la 6.
0 D UP DOWN Tact
L A OD

1 C

0 B

1 A
CRY AR B RO OR W

QD QC QB QA

- ieire

CLR

0000 1111 se activeaz BORROW

B RO OR W

0000 0101 0100 0110 numrtorul va trece 6 stri. Divizor la 13 1100 12


Tact

1 1 0 0
UP D C B A DOWN
C A

LOAD
B O

75
Prin nlnuirea mai multor circuite numrtor, se pot obine numrtoare cu orice ciclu sau divizare cu orice constant. Numrtor cu 256 stri :

Tact
L A OD

UP D C B A DOWN
C A

UP D C B A DOWN
C A

LOAD
B O

LOAD
B O

c.m.p.s.

c.m.s.

Pentru numrare n sus, legm UP de la al doilea numrtor la CARRY sau QD de la primul numrtor. Pentru un numrtor care s numere n jos, legm tactul la DOWN, la primul numrtor i CARRY de la primul numrtor la DOWN de la al doilea numrtor. Conectnd la intrri diferite combinaii, se poate diviza la orict ntre 0 i 256.

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