analiza si sinteza dispozitivelor numerice

94
Capitolul 1 Capitolul 2 Capitolul 3 Capitolul 4 Capitolul 5 Capitolul 6 Capitolul 7 Capitolul 8 Capitolul 9 Capitolul 10 Capitolul 11

Upload: pantea-ion

Post on 25-Jun-2015

1.300 views

Category:

Documents


18 download

TRANSCRIPT

Page 1: Analiza Si Sinteza Dispozitivelor Numerice

Capitolul 1

Capitolul 2

Capitolul 3

Capitolul 4

Capitolul 5

Capitolul 6

Capitolul 7

Capitolul 8

Capitolul 9

Capitolul 10

Capitolul 11

Page 2: Analiza Si Sinteza Dispozitivelor Numerice

I. ELEMENTE DE ALGEBRA BOOLEANA

In teoria circuitelor numerice si in electronica digitala in general, semnalele electrice pot lua numaivalori discrete, in majoritatea cazurilor aceste valori fiind asociate conventional lui ‘0’ logic si ‘1’ logic. Inlimbaj tehnic ne vom referi la aceste doua valori cu notiunea de “bit” ( Binari Digit ).

Definitia bitului:Bitul este o unitate de masura a informatiei, echivalenta cu informatia transmisa prin furnizarea

unui mesaj din cele doua probabile. Pentru studiul circuitelor numerice (digitale) se foloseste ca suportmatematic algebra booleana.

1.1 Axiome si teoreme:Algebra booleana opereaza pe o multime B = { x / x∈{0, 1}}. In aceasta multime binara se definesc

trei legi de compozitie: complementarea, disjunctia ( suma logica, SAU, OR ) si conjunctia ( produs logic,sI, AND ), pentru care se dau in continuare tabelele de adevar, simbolurile grafice si implementerea princontacte:

Toate relatiile definite pe B au un caracter dual, adica relatiile raman valabile daca se facschimbarile: + cu * si respectiv 0 cu 1.

In multimea B se poate alege o structura de 6 axiome duale: 1. Multimea B este o multime inchisa: X,Y ∈ B X+Y∈B; X,Y ∈ B XY∈B ; 2. Asociativitatea: X+(Y+Z) = (X+Y)+Z ; X(YZ) = (XY)Z ; 3. Comutativitatea: X+Y = Y+X ; XY = YX 4. Distributivitatea: X+YZ = (X+Y)(X+Z) ; X(Y+Z) = XY+XZ 5. Element neutru: X+0 = 0+X = X ; X1 = 1X = X 6. Complementul: X X+ = 1; X X = 0Teoreme ( proprietati ): 7. Idempotenta: X+X+…..+X = X ; XX…..X = X ; 8. Elemente neutre: X+1 = 1 ; X’0 = 0 ; 9. Involutia: X X= , X X=10. Absortia: X+XY = X ; X(X+Y) = X ;11. Relatiile lui De Morgan: X Y XY+ = , XY X Y= +Pe multimea B sunt valabile teoremele enuntate. Demonstratia lor se poate face folosind axiomele,

dar este mai comoda daca se folosesc tabelele de adevar. Tabela de adevar stabileste ocorespondenta intre valorile de adevar ale variabilelor si valoarea de adevar a functiei.

Ex: De Morgan:

Page 3: Analiza Si Sinteza Dispozitivelor Numerice

Perechile de operatori NOT si AND, respectiv NOT si OR formeaza fiecare cate un sistem complet,adica orice relatie definita pe B poate fi exprimata folosind numai opeatorii unei singure perechi. Circuitulfizic care implementeaza un operator logic se numeste poarta logica. Sistemele complete prezentate aufost realizate cu cate o singura poarta: SI-NU (NAND) si SAU-NU ( NOR ). Un sistem complet deoperatori poate exprima orice relatie logica ca in exemplul urmator, in care ne propunem sa exprimamoperatorii NOT, OR si AND folosind operatori NAND si NOR.

1.2 Functii logiceO functie f: Bn → B se numeste functie booleana. Altfel spus, o functie booleana de n variabile y =

f(x1,x2,..xn), unde xi variabile de intrare, se caracterizeaza prin faptul ca atat functia cat si variabilele nupot lua decat doua valorile distincte:0 si 1.

Ex: Consideram trei robinete x,y si z. Ne propunem sa mentinem un rezervor plin cu ajutorulacestor trei robinete. Rezervorul poate fi mentinut plin daca cel putin doua robinete sunt deschise. Dacaconsideram ca un robinet are atribuita valoarea logica 1, atunci functia care descrie din punct de vederelogic aceasta situatie este urmatoarea:

1.3 Reprezentarea functiilor logice:Pentru reprezentarea functiior logice se folosesc in mod curent si in principal trei metode:1. Reprezentare prin tabela de adevar:Aceasta reprezentare presupune marcarea: intr-un a corespondentei dintre valorile de adevar ale

variabilelor de intrare si valoarea de adevar a functiei in fiecare punct al domeniului de definitie.

Page 4: Analiza Si Sinteza Dispozitivelor Numerice

Ex: - pentru cazul considerat:

2. Reprezentarea prin diagrame Karnaugh:Consta in a marca punctele domeniului de definitie in o diagrama plana si a preciza valoarea

functiei in fiecare din aceste puncte

Daca luam in considerare varful cubului caracterizat prin coordonatele 000, constatam ca acestvarf este vecin cu varfurile 001, 010, 100 . in diagrama Karnaugh constatam ca 000 este vecin doar cu001 si 100. Pentru ca diagrama Karnaugh sa fie echivalenta cu reprezentarea prin cub, ea trebuie sapastreze acelasi vecinatati, lucru ce devine posibil doar daca ne imaginam latura din stanga a diagrameiKarnaugh in continuarea celei din dreapta, iar latura de sus in continuarea celei de jos. in acest fel,punctul 000 devine vecin si cu punctul 010.

3. Reprezentarea prin echivalenti zecimali ai mintermilor:Consta in indicarea echivalentilor zecimali ai conjunctiilor pentru care valoarea functiei este 1 sau a

echivalentilor zecimali corespunzatori valorii 0 ale functiei.Ex: U( x,y,z ) = R1 ( 3,5,6,7 ) U( x,y,z ) = R0 ( 0,1,2,4 )

1.4 Expresii analitice ale functiilor logice:in majoritatea aplicatiilor practice este necesara utilizarea formei analitice a functiilor booleene. in

acest scop se utilizeaza doua forme de dezvoltare:- forma canonica disjunctiva ( FCD ) - presupune utilizarea unor functii elementare numite

constituenti ai unitatii(termeni minimali sau mintermi);

- forma caninica conjunctiva ( FCC ) - presupune utilizarea unor functii elementare numiteconstituenti ai lui 0

(termeni maximali sau maxtermi).

Page 5: Analiza Si Sinteza Dispozitivelor Numerice

Definitie: Se numeste constituent al unitatii functia elementara Qkn( ) caracterizata prin faptul ca ia

valoarea 1 logic in un singur punct al domeniului de definitie. Constituentul unitatii va fi produsul logic altuturor variabilelor negate sau nenegate.

Qkn( ) = x i

i

niσ

=

∏0

1

, k(10) = σ n-1,…..σ 0

Pentru ca Qkn( ) sa fie1 in un anumit punct al domeniului de definitie este necesar ca toti termenii

produsului sa fie 1 logic, ceea ce presupune ca xi = σI; rezulta urmatoarea regula de scriere amintermenilor Qk

n( ) : in conjunctia variabilelor, variabilele care iau valoarea 0 in punctul respectiv aldomeniului de definitie se vor lua negate, iar cele care iau valoarea 1 se vor lua nenegate.

Numim conjunctii vecine doua conjunctii care sunt constituite din aceleasi variabile si difera doarprin comlementarea uneia singure. Prin sumarea a doua conjunctii vecine se obtine o conjunctie cu unnumar de variabile mai mic cu 1, lipsind variabila a carei complementaritate difera.

Ex: Pentru cazul unei functii de 4 variabile, fie suma a doua conjunctii vecine:Q Q x x x x x x x x x x x x x x x x Q9

48

43 2 1 0 3 2 1 0 3 2 1 0 0 3 2 1 4

3( ) ( ) ( )( )+ = + = + = =

Definitie: Se numeste constituent al lui 0 functia elementara Dkn( ) care ia valoarea o logic in un

singur puinct al domeniului de definitie. Constituentul lui 0 va fi suma logica a tuturor variabilelor negatesau nenegate:

D xkn

ii

ni( ) =

=

−σ

0

1

k n( ) .....10 1 0= −σ σ ( 2 )

Pentru ca Dkn( ) sa fie 0 in un anumit punct al domeniului de definitie este necesar ca toti termenii

sumei sa fie 0, ceea ce este echivalent cu x i i= σ . Rezulta urmatoarea regula de scriere amaxtermenului Dk

n( ) : in disjunctia variabilelor, variabilele care iau valoarea 0 in punctul respectiv aldomeniului de definitie se vor lua nenegate, iar cele care iau valoarea 1 se vor lua negate.

Disjunctiile vecine se definesc in mod similar cu conjunctiile vecine.Prin inmultirea a doua disjunctii vecine se obtine o disjunctie cu o variabila mai putin ( cu acea

variabila care isi modifica complementaritatea ).

D D x x x x x x x x D x D x

D D D x x x x D D D x x x9

48

43 2 1 0 3 2 1 0 4

30 4

30

43

43

43

0 0 0 0 43

43

43

3 2 10

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

. ( )( ) ( )( )

( )

= + + + + + + = + + =

= + + + = + + = = + +Pentru o functie de o variabila x, f(x) se poate scrie sub forma:

f x xf x f( ) ( ) ( )= +1 0in mod similar, pentru o functie de doua variabile f( x1, x0) avem relatia:

f x x x f x x f x x x f x f x x f x f

x x f x x f x x f x x f x x f

( , ) ( , ) ( , ) [ ( , ) ( ,0)] [ ( , ) ( ,0)]

( , ) ( ,0) ( , ) ( ,0) ( ), {0, }

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

1 0 1 0 1 0 1 0 1 0 1 01

1 0 11 1 0 1 0

11 1 0 1 0 1 0

1 0

= + = + + + =

= + + +∴ =∈

σ σ

σ σσ σ

Prin inductie rezulta:

f x x x fn j nj

n

j n

j

j

( ,... , ) ( ) ( ,..., ){0, }, ,...,

− −=

∈ = −= ∏1 0 1 0

0

1

1 0 1

σ

σσ σ

Ternemii de suma pentru care f n( , ... , )σ σ− =1 0 0 dispar,deci:

f x x xn jj

n

f

j

n

( ,... , ) ( )( ,..., )

−=

== ∏

1 00

1

11 0

σ

σ σ - FCD

Page 6: Analiza Si Sinteza Dispozitivelor Numerice

Expresia unei functii logice este deci suma mintermilor pentru care functia ia valoarea 1.Ex: U x y z x y z x y z x y z x y z xy z x y z x yz xyz( , , ) = + + + = + + +1 1 0 1 0 1 0 1 1 1 1 1

Forma canonica conjunctiva ( FCC ) se obtine astfel:

f x x f x x x x

x x

n n jj

n

fj

j

n

f

jj

n

fj

j

n

f

j

n

j

n

j

n

j

n

( , ... , ) ( , ... , ) ( ) ( )

( ) ( )

( ,..., ) ( ,..., )

( ,..., ) ( ,..., )

− −=

= =

=

=

= =

=

= = = =

=

∏ ∏

∏ ∏

− −

− −

1 0 1 00

1

1 0

1

1

0

1

0 0

1

0

1 0 1 0

1 0 1 0

σ

σ σ

σ

σ σ

σ

σ σ

σ

σ σ

Expresia functiei logice poate fi scrisa deci ca produsul maxtermenilor pentru care functia iavaloarea 0.

Ex: U x y z x y z x y z x y z x y z( , , ) ( )( )( )( )= + + + + + + + + =0 0 0 0 0 1 0 1 0 1 0 0

= ( )( )( )( )x y z x y z x y z x y z+ + + + + + + +

1.5 Implementarea functiilor logice:Implementarea unei functii logice inseamna realizarea ei cu ajutorul circuitelor fundamentale.Se defineste costul unei implementari ca fiind egal cu numarul de intrari in circuitele fundamentale

care realizeaza functia data.Pentru implementarea unei func%ii cu circuite NAND se porneste de la FCD:

f x x Q Q Q x kn kn

fkn

fkn

jj

n

nn n

j( , ... , ) , , , ... ,( )

( ,..., )

( )

( ,..., )

( )−

= = =

−= = = =− −

∏ ∏1 01 1 0

1

10 1 01 0 1 0σ σ σ σ

σ σ σ ( 1 )

Realizand Qkn( ) cu circuite NAND, func%ia f se obtine prin cuplarea iesirilor circuitelor NAND

precedente la intrarile unui alt circuit NAND.Ex:

Costul acestei implementari este: C1( f ) = 3’4 + 4 = 16Pentru implementare cu circuite NOR se porneste de la FCC:

f x x D D D x kn kn

fkn

fkn

jj

n

nn n

j( , ... , ) , , , ... ,( )

( ,..., )

( )

( ,..., )

( )( )−

= = =

−= = = =− −

∏1 00 0 0

1

10 1 01 0 1 0σ σ σ σ

σ σ σ ( 2 )

Functia f se obtine prin cuplarea iesirilor circuitelor NOR ce implementeza Dkn( ) la intrarile unui alt

circuit NOR.

Page 7: Analiza Si Sinteza Dispozitivelor Numerice

Ex:

C2( f )= 3’4 + 4 = 16

Nivelul unei implementari logice se defineste ca fiind numarul maxim de circuite pe care le strabateun semnal de la intrare catre iesire.

In cazurile precedente s-au considerat structuri logice cu doua nivele.

Ex: Fie f(x,y,z) = xy + yz + zx = xy yz xz

C1 = 2’3 + 3 = 9; N1 = 2

Fie f(x,y,z) = xy+ z(x+y) = xy z x y xy z x y( + + =

C2 = 2 + 2 + 2 + 2 = 8; N2 = 3Scaderea costului in varianta a doua s-a facut pe seama cresterii nivelului, ceea ce implica

micsorarea vitezei.

1.6 Functii incomplet definite:in unele cazuri, pentru anumite combinatii de variabile de intrare nu este precizata valoarea functiei

sau aceste combinatii nu apar niciodata in sistemul fizic ce materializeaza functie. Astfel de functii senumesc functii incomplet definite si prezinta valori indiferente, pe care in tabelul de adevar le vom notacu x:

Page 8: Analiza Si Sinteza Dispozitivelor Numerice

Un alt mod de reprezentare a acestor functii este prin echivalenti zecimali: f ( x,y,z ) = R1 ( 1,2,4 ) + Rx ( 3,5,6,7 ) f ( x,y,z ) = R0 ( 0 ) + Rx ( 3,5,6,7 ) f ( x,y,z ) = R1 ( 1,2,4 ) + R0 ( 0 )

1.7 Minimizarea functiilor logice:Analiza si sinteza sistemelor numerice se bazeaza pe algebra booleana. Rezulta o legatura

fireasca intre gradul de complexitate al circuitului care se obtine si gradul de complexitate al functiei careil descrie. Din acest motiv, pentru sinteza circuitelor numerice ( circuite in comutatie ), dupa etapa dedefinire a functiei urmeaza obligatoriu etapa de minimizare a functiei in scopul obtinerii unei formesimplificate ( forma minima ).

Minimizarea unei functii este procedeul prin care pentru un nivel dat se obtine o expresie caregenereaza un cost minim pentru un numar dat de nivele logice.

Implementarea practica a circuitului se realizeaza pe baza formei minimizate, ceea ce conduce laconfiguratia optima de circuit. Exista mai multe metode de minimizare:

- metoda analitica- metoda Veitch - Karnaugh- metoda Quine - Mc Clusky

1.7.1 Metoda analiticaMetoda foloseste axiomele si teoremele algebrei booleene.Ex: f ( x,y,z ) = xy z x y z x yz xyz+ + + C1 = 3’4 + 4 = 16Prelucrand forma data a functiei, ea se poate rescrie :

f x y z xy z x y z x yz xyz xyz xyz xy z z xz y y yz x x( , , ) ( ) ( ) ( )= + + + + + = + + + + + f ( x,y,z ) = xy + xz + yz C2 = 3*2 + 3 = 9

1.7.2 Metoda Veitch - KarnaughTranspune axiomele si teoremele algebrei booleene pe reprezentarea functiei cu diagrame

Karnaugh.O diagrama Karnaugh poate fi privita ca o reprezentare a functiei booleene, daca se au in vedere

produsele logice ale coordonatelor, prin mintermi:

Fiecare celula din diagrama contine un minterm. Doua celule vecine contin mintermi care diferaprin valoarea unei singure variabile. Prin adunarea mintermilor din doua celule vecine se eliminavariabila care isi schimba valoarea.

Ex:

Page 9: Analiza Si Sinteza Dispozitivelor Numerice

FCD se obtine prin sumarea mintermilor pentru care functia ia valoarea 1. Prin gruparea celulelorvecine pentru care valoarea functiei este 1 se obtin: x2x1, x2x0, x1x0 prin eliminarea variabilelor careisischimba valoarea in cadrul aceleiasi grupari. Fiecare celula ocupata de 1 trebuie sa faca perte din celputin o grupare, dar poate fi inclusa in mai multe grupari. Pentru exemplul considerat se obtine FMD:f ( x2, x1, x0 ) = x2x1 + x2x0 + x1x0.

Daca un grup de doua celule vecine este vecin la randul sau cu un alt grup de doua celule vecine,acestea se pot contopi intr-un singur grup de 4 celule vecine, ceea ce va permite eliminarea a douavariabile. in general, un grup de 2m celule vecine ocupate de unitati permite eliminarea a m variabile.

Ex: f x x x x x x x x( , , , )3 2 1 0 1 0 2 0= +

Cel mai avansat grad de simplificare se obtine daca valorile 1 dintr-o diagrama Karnaugh suntgrupate intr-un numar minim de grupuri, fiecare grup continand un numar maxim de unitati.

Ex:

f x x x x x x x x x x x x x x x x x x x x x x x x( , , , , )4 3 2 1 0 1 0 4 2 0 4 2 1 0 3 2 1 0 3 2 0 4 2 1= + + + + + - FMDPentru simplitate, in diagrama nu s-au trecut decat valorile 1 ale functiei.C1 = ( 2 + 3 + 4 + 4 + 3 + 3 ) + 6 = 25Implementarea cu circuite NAND:

Pentru minimizarea functiilor scrise sub forma conjunctiva, in diagrama Karnaugh se vor consideradisjunctiile corespunzatoare valorilor 0 ale functiei si se va forma o procedura asemanatoare cu ceafolosita la forma disjunctiva. Metoda consta in cuplarea de disjunctii vecine din care va dispareatermenul corespunzator bitului ce se modifica in echivalentii binari.

Ex:

Page 10: Analiza Si Sinteza Dispozitivelor Numerice

f x x x x x x x x x x x x x x x( , , , , ) ( )( )( )4 3 2 1 0 4 2 0 4 1 0 4 2 1 0= + + + + + + +( )( )x x x x x x x x3 2 1 0 3 2 1 0+ + + + + +

C2 = ( 3 + 3 + 4 + 4 + 4 ) + 5 = 23Implementarea cu circuite NOR:

In cazul functiilor incomplet definite, valorile indiferente ale functiei se iau 1 pentru forma disjunctivasi 0 pentru forma conjunctiva daca aceste valori participa la minimizare. Valorile indiferente care nu suntcuplate devin 0 pentru forma disjunctiva si 1 pentru forma conjunctiva.

Ex: f (x3, x2, x1, x0 ) = R1( 0, 1, 2, 4 ) + Rx( 3, 5, 10, 15 )

f x x x x x x x x x x x x x C( , , , ) ;3 2 1 0 3 1 0 3 2 2 3 2 1 1 3 3 3 12= + + = • + =

f x x x x x x x x C( , , , ) ;3 2 1 0 3 1 3 2 2 2 2 2 6= + = • + = f x x x x x x x C( , , , ) ( );3 2 1 0 3 2 1 4 2 2 4= + = + =

Concluzia este ca prin participarea valorilor indiferente la minimizarea functiilor incomplet definitese obtine o reducere a costurilor.

1.7.3 Metoda Quine - McCluskeyPentru functii ce depind de mai mult de 5 variabile, metoda Veitch-Karnaugh devine greoaie si se

foloseste metoda Quine - McCluskey.in cazul formei disjunctive, minimizarea pentru aceasta metoda presupune parcurgerea

urmatoarelor etape:1) Ordonarea echivalentilor binari ai conjunctiilor corespunzatoare valorilor 1 ale functiei dupa

pondere.

Definitie: Ponderea conjunctiei Q xkn

jj

nj( ) =

=

∏ σ

0

1

este numarul P Qkn

jj

n

[ ]( ) ==

σ0

1

, unde este suma

algebrica.Ex: P x x x x P x x x x[ ) [ )3 2 1 0 3

021

11

00 0 1 1 0 2= = + + + =

Pentru o conjunctie Q = Q1Q2, ponderea este P[Q]= P[Q1]+ P[Q2].

Page 11: Analiza Si Sinteza Dispozitivelor Numerice

Lema: Pentru doua conjunctii vecine ponderile difera cu o unitate.P [ xiQ] = P [ xi] + P [Q]=1 + P [Q]

P x Q P x P Q P Q P Qi i[ ] [ ] [ ] [ ] [ ]= + = + =0Reciproca nu este adevarata: P x x x x P x x x x[ ) [ ]3 2 1 0 3 2 1 0 1= +2) Determinarea implicantilor primi prin comparatii succesive ale echivalentilor binari.Definitie:Se numeste implicant prim al unei functii un termen al acesteia care nu se mai poate reduce.

Pentru determinarea implicantilor primi se cupleaza echivalentii binari care difera doar printr-o cifradin acelasi rang. Se obtine primul tabel de comparatii in care disparitia variabilei corespunzatoare cifreicare se modifica se noteaza cu -. in continuare, se pot cupla doua conjunctii din grupe vecine dacasimbolul - se afla in acelasi rang si echivalentii binari difera doar printr-o cifra din acelasi rang. Rezulta aldoilea tabel de comparare si procedura se repeta. Conjunctia care nu se mai poate cupla cu nici o altaconjunctie din tabel este un implicant prim al functiei date.

3) Determinarea tabelului de acoperire al functiei.Tabelul de acoperire este un tablou rectangular, la care liniile corespund implicantilor primi, iar coloanelecorespund echivalentilor zecimali ai conjunctiilor pentru care functia ia valoarea 1. Tabloul secompleteaza cu 1 in pozitiile pentru care conjunctiile de pe coloane realizeaza implicantii primi de pelinii.

4) Calculul formal de determinare a tuturor solutiilor functiei. Fiecarui implicant prim X se ataseazao variabila logica Fx care ia valoarea 1 cand implicantul prim este realizat ( conform tabelului deacoperire ). Pentru realizarea functiei este necesar ca in expresia ei sa existe toate conjunctiilecorespunzatoare valirolor 1 ale functiei.Pentru determinarea tuturor solutiilor functiei, se exprimaaceasta cerinta cu ajutorul variabilelor Fx.

Ex: f ( x3, x2, x1, x0 ) = R1 ( 0, 1, 3, 4, 7, 8, 11, 12, 13, 15 )1) 2)

3)

Page 12: Analiza Si Sinteza Dispozitivelor Numerice

4) ( FA + FE )( FA + FB )( FB + FF) FE FF FE FF ( FC + FE )( FC + FD )( FD + FF ) = 1 ( FA + FB ) FE FF ( FC + FD ) = 1 FA FC FE FF + FA FD FE FF + FB FC FE FF + FB FD FE FF = 1

Functia f poate avea 4 cazuri: f = A + C + E + F f = A + D+ E + F f = B + C+ E + F f = B + D+ E + FIn prima varianta, f x x x x x x x x x x x x x x( , , , )3 2 1 0 3 2 1 3 2 1 1 0 1 0

= + + +Implementarea cu circuite NAND:

In cazul formei conjunctive a functiilor, procedura este similara, dar se vor considera valorile 0 alefunctiei si disjunctiile corespunzatoare.

2. CODURI

Prin codificare se realizeaza o schimbarea aformei de exprimare a unei informatii. Daca X = { x1,…, xp } este multimea simbolurilor primare care urmeaza a fi codificate prin intermediul unor simbolurielementare dintr-o multime B = { b1 ,…, bn } prin codificare se asociaza fiecarui element xi ∈ X osecventa de simboluri bj ∈ B astfel incat modelul de codificare va fi reprezentat de corespondentabiunivoca :

x b b b sx b b b b s

x b b b s

s

p p

1 1 2 3 1

2 2 5 6 7

1 3 1

↔ =↔ =

↔ =....

Cuvintele de cod formeaza o multime S = { s1 ,…, sp }. Codificarea este o aplicatie de forma f : X → S.Codul se numeste uniform daca toate cuvintele si∈S au aceeasi lungime.

in electronica digitala, B = { 0, 1 }, deci cuvintele multimii S sunt cuvinte binare de o anumitalungime, in general 8, 16, 24 sau 32 de biti.

Informatia primara poate fi compusa numai din simboluri numerice, sau atat din simbolurinumerice, cat si literale si semne de ortografie; rezulta doua tipuir de coduri:numerice, respectivalfanumerice:

Page 13: Analiza Si Sinteza Dispozitivelor Numerice

2.1 Coduri numerice:Prin intermediul cuvintelor binare se pot codifica numere din sistemele de numeratie binar, zecimal,

octal, hexazecimal etc., rezultand coduri binare, zecimal - binare, octal - binare, hexazecimal - binareetc..

2.1.1 Coduri binare:1) Reprezentarea numerelor fara semn.Corespondenta intre un numar binar si un cuvant de cod binar poate fi chiar identitate, deci

cuvantul de cod este chiar numarul respectiv. x = bn-1 … b1b0 , b-1 … b-m

Virgula nu se reprezinta fizic, dar utilizatorul trebuie sa stie intre ce biti ai cuvantului este localizata.Gama numerelor reprezentate este:

x = [ 0 , 2 n - 2 -m ]in multe cazuri, numerele din acest domeniu se scaleaza prin impartire la 2n; virgula binara va fipozitionata in fata bitului cel mai semnificativ, iar gama reprezentabila va deveni: x ∈ [0 ,1-2-n-m ]. Acestereprezentari se numesc numere fractionare in virgula fixa.

2) Reprezentarea numerelor cu semn.Prin conventie, + se reprezinta prin 0, iar - prin 1. Din cei n biti folositi pentru partea intreaga, primul

( bitul bn-1 ) va fi folosit pentru reprezentarea semnului.

Exista trei forme mai uzuale pentru reprezentarea numerelor cu semn:

a) cod direct ( in modul si semn ):

xx x

n xd n=≥− <−

,,

02 01 x b b b b bn m= − − −2 1 0 1... , ...

Gama de reprezentare: x∈[-( 2n-1- 2-m),2n-1- 2-m]. Prin scalare (impartire la 2n-1 ), virgula se va situaimediat dupa bitul de semn, iar gama de reprezentare va fi: x∈[-(1-2 -(n-1)-m),(1-2-(n-1)-m)].

b) cod invers ( in complement fata de 1 ):

xx x

x xi n m=≥

+ − <−

;,

02 2 0

x b b b b bn m= − − −2 1 0 1... , ...

Regula de inversare a unui numar negativ este: se complementeaza toti bitii din reprezentarea invaloare absoluta si se ataseaza 1 in rangul semn:

x b b b b bi n m= − − −1 2 1 0 1... , ... , b bi i= −1 pentru x < 0Gama de reprezentare: x∈[-( 2n-1- 2-m),2n-1- 2-m]. Prin scalare gama de reprezentare va fi:x∈[-(1-2 -(n-1)-m),(1-2-(n-1)-m)].

c) cod complementar fata de 2:

xx x

x xc n=≥

+ <;

,0

2 0 x b b b b bn m= − − −2 1 0 1... , ...

Page 14: Analiza Si Sinteza Dispozitivelor Numerice

Regula de complementare a unui numar negativ este: se inverseaza cifrele binare ale numarului invaloare absoluta, se sumeaza 1 la rangul -m si se ataseaza 1 in rangul semn:

x b b b b bc n m= +− − −1 0 00 12 1 0 1... , ... , ...Alta regula de complementare: codul comlementar al unui numar negativ se obtine prin inversarea

bitilor din reprezentarea in valoare absoluta incepand cu primul bit1(exclusiv) intalnit prin parcurgereanumarului de la dreapta la stanga, atasandu-se 1 in rangul semn.

Gama de reprezentare: x∈[-2n-1,2n-1- 2-m]. Prin scalare gama de reprezentare va fi:x∈[-1,1-2-(n-1)-m].Ex: x = -1011,1100 xd = 11011,1100 xi = 10100,0011 xc = 10100,0100

Toate codificarile scalate, cu virgula binara situata imediat dupa bitul de semn se numesc reprezentari invirgula fixa.3) Reprezentarea numerelor in virgula flotanta.

Un numar rational x se reprezinta prin doua numere binare: X = M 2 E M - mantisa ( numar fractionar cu semn; m biti ) E - exponent ( numar intreg cu semn; n biti )

Daca m are numai parte fractionara, gama de reprezentare este: x

n n

∈ −− −− −( ,2 )( ) ( )2 2 1 2 11 1

unde s-a presupus E reprezentat in complement fata de 2.Pentru marirea preciziei calculelor, mantisa se normeaza dupa fiecare operatie aritmetica, astfel

incat cifra binara de dupa virgula a modulului mantisei sa fie nenula .Ex: 0,001011 210 = 0,1011 28

2.1.2 Coduri zecimal - binare:in cadrul acestei clase, x = { 0,1,2,3,4,5,6,7,8,9 }. Multimea S trebuie sa contina 10 cuvinte

distincte, deci pentru codificare sunt necesari minim 4 biti (23<10<24). Cu acesti 4 biti se pot forma 16cuvinte de cod distincte, deci exista A16

10 posibilitati de codificare. in practica se folosesc anumitevariante:1) Coduri ponderate:

Un cod ponderat asociaza fiecarei cifre zecimale o tetroda binara , ponderea fiecarui bit din tetrodafiind egala cu valoarea cifrei din denumirea codului.

8421 2421 4221 exces3 Gray 2 din 5 8421cu paritate

0 0000 0000 0000 0011 0000 00011 000001 0001 0001 0001 0100 0001 00101 100012 0010 0010 0010 0101 0011 00110 100103 0011 0011 0011 0110 0010 01001 000114 0100 0100 0110 0111 0110 01010 001005 0101 1011 1001 1000 0111 01100 001016 0110 1100 1100 1001 0101 10001 001107 0111 1101 1101 1010 0100 10010 101118 1000 1110 1110 1011 1100 10100 110009 1001 1111 1111 1100 1101 11000 01001

Page 15: Analiza Si Sinteza Dispozitivelor Numerice

In codul 8421, cuvintele de cod sunt numere succesive in sistemul binar natural; din acest motiv,codul se mai numeste cod zecimal-binar natural (NBCD)

Codurile 2421 si 4221 au pentru primele 4 cifre zecimale aceeasi exprimare ca si codul 8421.Codul pentru 5 se obtine inversind codul pentru 4; la fel se obtine 6 din 3, 7 din 2, 8 din 1 si 9 din 0.Codurile cu aceasta proprietate se numesc coduri autocomplementare.

2) Coduri neponderate:Codul exces 3 se obtine din codul 8421 la care se aduna 3 = 0011. In acest fel se poate face

distinctie intre 0 si lipsa informatiei.Codul Gray prezinta proprietatea de adiacenta: trecerea de la o cifra zecimala la urmatoarea se

face prin modificarea unui singur bit din cuvantul de cod. Acest cod este util in cazul marimilor ce crescsuccesiv.

In mediile puternic influentate de zgomot, verificare transmiterii corecte a informatiilor se face prinfolosirea codurilor detectoare de erori. in codul 8421 cu bit de paritate, fiecare cuvant de cod are unnumar par sau impar de biti 1. La emisie se adauga un bit 1 sau un bit 0 astfel incat numarul de biti 1 safie par sau impar. La receptie se numara bitii 1, numarul acestora putand indica daca au aparut eroriconstand in modificarea unui numar impar de biti.

Codul 2 din 5 se caracterizeaza printr-un cuvant de cod de 5 biti, din care numai doi biti sunt 1. Serealizeaza astfel o unicitate a reprezentarii deoarece numai 10 din cele 32 de configuratii posibile pe 5biti satisfac aceasta conditie. Prin folosirea cestui cod se pot detecta erorile multiple aparute latransmiterea informatiei.

Exista coduri corectoare de erori, care pe langa detectia erorilor asigura si corectarea lor.

2.1.3 Codurile octal - binar si hexazecimal - binar:Codul octal - binar realizeaza corespondenta biunivoca intre cifrele sistemului de numeratie in baza

8 si triadele binare succesive: 0 ↔ 000 1 ↔ 001 … 7 ↔ 111Codul hexazecimal - binar realizeaza corespondenta biunivoca intre cifrele sistemului de numeratie

in baza 16 si tetradele binare succesive: 0 ↔ 0000 1 ↔ 0001 … 9 ↔ 1001 A ↔ 1010 … F ↔ 1111

2.2 Coduri alfanumerice:in cazul acestor coduri, multomea X a informatiilor primare este formata din cifre, litere, semne

ortografice, comenzi speciale, denumite in general caractere. Codificarea datelor alfanumerice estenecesara pentru vehicularea diferitelor mesaje. Trebuie codificate minim 88 caractere distincte ( 2x26litere, 10 cifre, 26 de caractere speciale ), deci sunt necesari minim 7 biti.Cel mai raspandit cod alfanumeric este codul ASCII.

Page 16: Analiza Si Sinteza Dispozitivelor Numerice

3. MATERIALIZAREA VARIABILELOR SI FUNCTIILOR LOGICE

3.1 Reprezentarea fizica a variabilelor booleene:Elementelor 0, 1 ale multimii B li se atribuie valori ale unei marimi fizice electrice ( tensiune sau

curent ). Stabilirea unor valori precise pentru cele doua nivele logice nu este convenabila din cauzacomplexitatii ridicate a circuitului electronic care trebuie sa realizeze acest lucru. Cele doua nivele ( 0, 1)sunt puse in corespondeta cu domenii disjuncte ale marimii fizice alese.

Conditia disjunctiei ( D1∩D2 =∅) este absolut necesara deoarece valorile comune ar cea confuziide interpretare. Reprezentarea nivelelor logice prin nivele de tensiune este mai raspandita. Nivelele detensiune din cele doua domenii de valori respecta relatia:∀ ∈ ∀ ∈ >V D V D V V1 1 2 2 1 2, . Din acest motiv,tensiunile din D1 se numesc nivele H ( high), iar cele din D2 se numesdc nivele L ( low).

Intre nivelele logice 0, 1 si cele doua domenii de valori ale tensiunilor D1,D2 se pot stabili 2corespondente diferite: logica pozitiva si negativa .

01

2

1

→→DD

01

1

2

→→DD

In practica se intalnesc ambele tipuri de corespondente.Stabilirea nivelelor de tensiune corespunzatoare domeniilor D1 si D2 depinde de modul de realizare

al circuitului, de tehnologie, de alimentare, etc.

3.2 Realizarea functiilor logice:Circuitele fizice sub forma integrata care realizeaza operatorii elementari definiti pe multimea B se

numesc porti logice. Simbolizarea operatorilor logici elementari este prezentata in continuare:

Din punct de vedere al tehnologiei folosite la realizarea portilor logice, exista o mare diversitate desolutii: ( ECL, TTL, MOS, I2L ); dintre care cea mai cunoscuta este familia logica TTL. Etajul de iesire

Page 17: Analiza Si Sinteza Dispozitivelor Numerice

pentru portile TTL standard este prezentat in figura urmatoare. in starea logica 1 la iesire, T3 este blocat,iar T4 conduce; in starea logica 0 la iesire, T3 este saturat iar T4 este blocat.

Circuitele logice TTL pot avea iesiri de trei feluri:- iesiri ce furnizeaza se,mnale logice cu nivele H si L ;- iesiri cu colector in gol ( lipsesc T4 , R si D );- iesiri 3-state ( este posibila blocarea etajului final (T3,T4)).Doua iesiri de circuite logice care nu sunt de tipurile cu colector in gol sau 3-state nu se pot lega

impreuna, pentru ca ar putea apare situatii de conflict.La circuitele cu colector in gol se poate obtine nivel logic H la iesire doar daca se introduce o

rezistenta externa in colectorul lui T3. Cu aceste tipuri de circuite se pot realiza functii SI si SAU cablatprin interconectarea iesirilor unor circuite cu colector in gol:

Circuitele cu iesirile 3-state au aparut din necesitatea utilizarii unor linii comune pentru mai multesubblocuri logice a caror informatie de iesire nu este necesar a fi cunoscuta simultan. Circuitele ce nusunt conectate la un moment dat la linia comuna trebuie sa prezinte la iesire o impedanta mare pentru ainlatura situatiile de conflict. Ca urmare, iesirile acestor circuite pot avea trei stari: H,L,HZ. Starea HZ seobtine prin blocarea simultana a tranzistoarelor de iesire T3 si T4 prin intermediul unei intrari de validare,notata E ( sau E ).

Page 18: Analiza Si Sinteza Dispozitivelor Numerice

3.3 Parametrii circuitelor logice:Parametrii circuitelor logice se pot imparti in 2 categorii:

- caracteristici electrice statice: descriu comportarea circuitelor in curent continuu sau la variatii lente intimp ale semnalelor;- caracteristici electrice dinamice: descriu comportarea circuitelor la tranzitii rapide ale semnalelor.

3.3.1 Caracteristici electrice statice :

1. Nivele logice de intrare: intervalele de tensiune pentru care se atribuie nivelele logice 0 si 1 laintrarea unui circuit : VIL, VIH.

2. Nivele logice de iesire: intervalele de tensiune pentru care se atribuie 0 si 1 la iesirea unui circuit :VOL, VOH .

3. Margine de zgomot: VNH = VOH - VIH, VNL = VOL - VIL. Limitele domeniilor de tensiune corespunzatoareiesirilor si intrarilor sunt astfel alese incat sa fie posibila intotdeauna cuplarea a doua circuite cu orezerva de tensiune care este chiar marginea de zgomot.

4. Curentii de intrare: curentii ce se pot inchide prin intrarea circuitului pentru nivelele logice de intrare:VIL, VIH; IIL, IIH.

5. Curentii de iesire: curentii ce se pot inchide prin iesirea circuitului pentru nivelele logice de iesire: VOL,VOH; IOL, IOH.

6. Fan-in ( factor de incarcare la intrare ): numarul de intrari standard cu care este echivalenta intrareaunui circuit.

Fan-out ( factor de incarcare la iesire ): numarul de intrari standard ce pot fi comandate de o iesire. Pentru o cuplare corecta este necesar ca fan-out ≥ fan-in.7. Putere disipata pe poarta: Pd = Vcc Ic; < Pd > = mW.8. Capacitate de intrare ( pentru MOS ): capacitatea intre intrare si masa.

3.3.2 Caracteristici electrice dinamice :1. Timpul de propagare: intervalul de timp scurs intre aplicarea semnalului la intrare si obtinerea

raspunsului la iesirea circuitului logic: tpHL, tpLH,

t t tp pHL pLH= +12

( )

2. Timpul de tranzitie: intervalul de tipm in care are loc tranzitia semnalului de la iesirea circuitului: ttHL,ttLH,

t t tt tHL tLH= +12

( ) ;

Page 19: Analiza Si Sinteza Dispozitivelor Numerice

3. Timpul de pregatire ( setup time ): intervalul de timp cu care trebuie sa preceada semnalul de pe ointrare a unui circuit semnalul de pe o alta intrare luata drept referinta de timp ( tsu );

4. Timpul de mentinere ( hold time ): intervalul de timp cat trebuie mentinut semnalul de pe o intrareneschimbat fata de o alta intrare considerata drept referinta de timp ( th ):

5. Timpul de comutare din regim de mare impedanta in regim activ si invers pentru circuitul 3-state: tpHZ,

tpLZ, tpZH, tpZL;

Page 20: Analiza Si Sinteza Dispozitivelor Numerice

4. CIRCUITE LOGICE COMBINATIONALE

Curcuitele combinationale se caracterizeaza prin faptul ca variabilele de iesire depind numai devariabilele de intrare si exista doar in prezenta acestora.

y f x x k mk k n= = −−( , ... , ); ,1 0 1 1

4.1 Analiza circuitelor logice combinationale:in analiza CLC se cunoaste schema si se determina functionarea ( tabel de functionare,

expresie analitica ).Ex:

4.2 Sinteza circuitelor logice combinationale:

in cazul sintezei se cunoaste functia pe care trebuie sa o realizeze circuitul si trebuiedeterminata structura acestuia. Sinteza unui CLC presupune parcurgerea urmatoarelor etape:

- definirea functiei:- minimizarea functiei:- determinarea schemei circuitului.Schema circuitului poate avea mai multe forme, in functie de expresia dupa care se

implementeaza functia:- cu circuite sI, SAU, NU ( AND, OR, NOT );- cu circuite SAU, sI, NU ( OR, AND, NOT );- cu circuite sI - NU ( NAND );- cu circuite SAU - NU ( NOR ).Ex: circuit de anticoincidenta ( XOR ):

Page 21: Analiza Si Sinteza Dispozitivelor Numerice

a) f x y x y y x( , ) = +

b) f x y x y x y x y x y xx y x yy( , ) = + = =

c) f x y x y x y( , ) ( )( )= + +

d) f x y x y x y x y x y x y x x y y( , ) ( )( )= + + = + + + = + + + + +

4.3 Structuri logice combinationale - exemple:4.3.1 Decodificatoare:Decodificatoarele sunt circuite logice combinationalecare activeaza una sau mai multe iesiri in

functie de cuvantul de cod aplicat la intrare.Decodificarea este necesara la adresarea memoriei, la selectia porturilor, la afisarea numerica,

la multiplicarea datelor, etc.

4.3.1.1 Decodificatoare de adresa:Sunt CLC care activeaza iesirea a carei adresa este aplicata pe intrari. Un decodificator de

adresa cu n intrari are 2n iesiri.

Page 22: Analiza Si Sinteza Dispozitivelor Numerice

Tabela de adevar pentru un decodificator cu 4 intrari este:

Pentru cele 16 iesiri trebuie construite 16 diagrame Karnaugh. Acestea pot fi sintetizate intr-osingura diagrama, numita diagrama de referinta, avand in vedere ca cele 16 diagrame Karnaugh continfiecare cate o valoare 1 in celula care indica numarul iesirii. Ecuatiile decodorului vor fi:

y x x x x

y x x x x

y x x x x

y x x x x

15 3 2 1 0

14 3 2 1 0

1 3 2 1 0

0 3 2 1 0

=

=

=

=

:

Implementarea acestor ecuatii conduce la obtinerea decodorului rectangular de adresa:

Ex: 74154

in general, decodificatoarele sunt prevazute cu o intrare de validare E ( activa H ) sau E (activa L ). Iesirile corespunzatoare adresei de pe intrari sunt activate numai daca semnalul de validareeste activ.

Costul pentru cecodorul rectangular este: CDR4 = (4+1)16+(4+1)=85.in general, CDRn = (n+1)2n +(n+1) = (n+1)(2n+1) . Ecuatiile decodorului de adresa cu 4 intrari se pot scrie si sub forma:

y x x x x

y x x x x

y x x x x

y x x x x

15

14

1

0

3 2 1 0

3 2 1 0

3 2 1 0

3 2 1 0

=

=

=

=

( )( )

( )( )

:

( )( )

( )( )

Page 23: Analiza Si Sinteza Dispozitivelor Numerice

Se observa ca fiecare termen din paranteze apare pentru cate 4 iesiri. Daca se implementeazaaceste relatii se obtine decodorul dual piramidal de adresa:

CC n n n n n parC C pt n

DDP

DDPnn n n n n

DDRn DRn

42 2 2 1

4 2 4 3 16 2 4 1 572 2 2 2 1 2 2 1 1 2 1 2

3

= ⋅ + ⋅ + ⋅ + + == ⋅ + ⋅ + + ⋅ + + = + + + −< ≥

+

( ) ( ) ( )( ( ) ( ) ( ) ( )( ) , ( )

, .

4.3.1.2 Decodificatoare BCD - zecimal:Decodificatoarele de adresa realizeaza practic o decodificare din binar natural in zecimal. Exista

si cazuri in care trebuie realizata o decodificare din alt cod decat cel binar natural, de exemplu BCD8421.Tabelul de adevar pentru un decodificator BCD8421- zecimal este:

Page 24: Analiza Si Sinteza Dispozitivelor Numerice

C = 4’ 10 + 4 = 44 Ex: 7442

Starile 1010 - 1111 nu fac parte din codul BCD8421; ele au fost considerate false. Toate starilesunt decodificate explicit. Ca urmare, eventualele date false de pe intrari determina stabilirea tuturoriesirilor in H ( inactive ). Din acest motiv decodificatorul se numeste cu rejectia datelor false.

Daca pe intrarile acestui decodificator nu se pot stabili dat false, nu este necesara rejectiadatelor false. Renuntarea la aceasta protectie conduce la micsorarea costului:

C = 4’2 + 3’6 + 2’2 + 4 = 34

Aparitia accidentala a unei date false pe intrare conduce la erori: 1010 pe intrari determinaactivarea iesirilor 2 si 8 simultan.

4.3.2 Codificatoare:Codificatoarele sunt circuite logice combinationale la care activarea unei intrari conduce la

aparitia unui cuvant de cod pe ietire.

4.3.2.1 Codificatoare de adresa:Aceste codificatoare furnizeaza la iesiri adresa intrarii activate.

Page 25: Analiza Si Sinteza Dispozitivelor Numerice

Pentru un circuit cu 7 intrari si 3 iesiri cu tabela de adevar din figura, ecuatiile iesirilor sunturmatoarele:

Schema circuitului va fi:

Dezavantajul acestei scheme este ca la activarea simultana a mai multor intrari, adresafurnizata la iesire este eronata. I1 si I4 active simultan determina la iesire C2C1C0 = 101, ceea ceinseamna I5 activa.

Daca nu se poate evita activarea simultana a mai multor iesiri se folosesc codificatoare deadresa prioritare, care prezinta la iesire adresa intrarii active cu prioritatea cea mai mare. Consideramintrarea I7 cu prioritate maxima si I7 - I0 active pe nivel L. Circuitul va fi prevazut si cu o intrare devalidare E 1 , o iesire GS activa ( pe L ) cand cel putin o intrare este activata si o iesire E 0 , activa candtoate intrarile sunt inactive. Iesirile circuitului sunt active tot pe L.

Page 26: Analiza Si Sinteza Dispozitivelor Numerice

E E I I I I I I I I

Gs E E E E

C E I E I I E I I I E I I I I

C E I E I I E I I I I I E I I I I I I

C E I E I I I E I I I I I E I I I I I I

0 1 7 6 5 4 3 2 1 0

0 1 1 0

2 1 7 1 7 6 1 7 6 5 1 7 6 5 4

1 1 7 1 7 6 1 7 6 5 4 3 1 7 6 5 4 3 2

0 1 7 1 7 6 5 1 7 6 5 4 3 1 7 6 5 4 3 2

=

= + =

= + + +

= + + +

= + + + I 1

Ex: 741484.3.3 Convertoare de cod:Convertoarele de cod sunt circuite logice combinationale ce permit transformarea dintr-un cod

binar in altul.4.3.3.1 Convertor de cod binar natural - Gray:Pentru cazul cuvintelor de 4 biti, tabela de adevar este:

Page 27: Analiza Si Sinteza Dispozitivelor Numerice

4.3.3.2 Convertor de cod Gray - binar natural:S-ar putea aceeasi procedura, dar este mai simpla metoda analitica aplicata relatiilor deja

determinate:

g b b gg bg b b

g g b b b b g g

g bg b bg b b

g g g b b b b b b g g g

3 3 3 3

3 3

2 3 2

2 3 3 3 2 2 2 3

3 3

2 3 2

1 2 1

1 2 3 3 3 2 2 1 1 1 2 3

= ==

= ⊕

⊕ = ⊕ ⊕ = ⊕

== ⊕= ⊕

⊕ ⊕ = ⊕ ⊕ ⊕ ⊕ = ⊕ ⊕

4.3.3.3 Convertor de cod BCD - 7 segmente:Codul ,, 7 segmente “ este folosit pentru sisteme de afisare numerice, unde un digit este de

forma din figura, segmentele fiind becuri, LED-uri, cristale lichide.

Convertorul de cod va avea 4 intrari ( cod BCD8421 ) si 7 iesiri; tabela de adevar este prezentatain continuare:

Page 28: Analiza Si Sinteza Dispozitivelor Numerice

Ex: 7446, 7447

Page 29: Analiza Si Sinteza Dispozitivelor Numerice

4.3.4 Multiplexoare:Circuitele de multiplexare sunt CLC care permit trecerea datelor de la una din intrari, selectata

de cuvantul de pe intrarea de adresa, catre iesirea unica. Uneori, circuitele de multiplexare suntprevazute si cu o intrare de validare.

Tabela de adevar pentru un multiplexor cu 8 intrari este:

Y E A A A I A A A I A A A I A A A I A A A I A A A I

A A A I A A A I

= + + + + + +

+ +

(

)2 1 0 0 2 1 0 1 2 1 0 2 2 1 0 3 2 1 0 4 2 1 0 5

2 1 0 6 2 1 0 7

Ex: 74151 (8:1); 74153 (2x4:1); 74157 (4x2:1)

4.3.5 Demultiplexoare:Aceste circuite sunt CLC care permit trecerea datelor de pe o intrare comuna catre una din

iesiri, selectata prin cuvantul de pe intrarile de adresa.Tabela de adevar pentru un demultiplexor cu 8 iesiri este:

Page 30: Analiza Si Sinteza Dispozitivelor Numerice

Y E A A A D

Y E A A A D

Y EA A A D

0 2 1 0

1 2 1 0

7 2 1 0

=

=

=

....

4.3.6 Comparatoare numerice:Comparatoarele sunt CLC care permit compararea a doua numere.Comparatoarele de un bit permit compararea a doua numere de cate un bit, indicand la iesire

situatiile: >, =, <. Tabela de adevar este:

Prin interconactarea a n comparatoare de un bit se pot realiza comparatoare de n biti. Fie douanumere de n biti:

A A A A A A A AB B B B B B B B

nn

n

nn

n

= + + + =

= + + + =−

−−

−−

11

11

00

1 1 0

11

11

00

1 1 0

2 2 2 22 2 2 2

... . ( ... ( ))... . ( ... ( ))

Procesul de comparare incepe cu compararea bitilor cei mai semnificativi ( An-1 : Bn-1 ).Daca An-1 > Bn-1 sau An-1 < Bn-1 rezulta A>B, respectiv A<B indiferent de valoarea bitilor mai

putin semnificativi ( An-2…A0 ,Bn-2…B0 ). Daca An-1 = Bn-1, pentru determinarea relatiei A:B este necesaracompararea bitilor An-2, Bn-2 , s.a.m.d. Daca se doreste compararea a doua numere ale caror lungimidepasesc posibilitatile comparatorului disponibil, se recurge la expandare folosind intrari prevazute inacest scop.Tabela de functionare pentru un comparator pe 4 biti cu intrari de expandare este:

Page 31: Analiza Si Sinteza Dispozitivelor Numerice
Page 32: Analiza Si Sinteza Dispozitivelor Numerice

4.3.7 Sumatoare:Sumatoarele elementare sunt CLC care aduna doua numere de cate un bit si un bit de transport

din rangul inferior, generand suma si un bit de transport spre rangul urmator, conform tabelei de adevar:

Pentru a aduna doua numere pe n biti sunt necesare n sumatoare elementare conectate astfel:

Prin conectarea a 4 sumatoare elementare se obtine sumatorul pe 4 ranguri:

Pentru realizarea unui sumator pe n ranguri folosind sumatoare pe 4 ranguri sunt necesare[n/4]=k circuite sumatoare pe 4 ranguri. Timpul de rezolutie al schemei este calculat in situatia cea maidezavantajoasa: 011…111+000…001:

Page 33: Analiza Si Sinteza Dispozitivelor Numerice

t t k t tr p x y c p c c p c s= + − +→ → →− −( , ) ( ) ( )( )0 0 3 1 3 1 3

2

trcreste liniar cu n; cresterea se datoreaza transportului succesiv intre ranguri.

Pentru reducerea timpului de rezolutie se foloseste sumatorul cu transport anticipat :

3210132103213233210121021233233

2101210212210110122122

101101101011011

0100

i1iii

iiiiii

1iiiiiii

ii1iiii

PPPPcPPPGPPGPGGP)PPPcPPGPGG(GPcGcPPPcPPGPGGP)PPcPGG(GPcGc

PPcPGGP)PcG(GPcGcPcGcPcGc

i ză traverseac1yx:propagat transport yxPc de indiferent 1c1yx:generat transport yxG

)yx(cyxc

−−

−−

−−

++++=++++=+=+++=+++=+=

++=++=+=+=

+=

=+−+===−=

++=

0101110100

10110100yx\c ii1i−

2334

1223

0112

1001

iiiiiiiiiiii

ii1iii1iii1iiiii1iiiii1ii

cPGs

cPGs

cPGs

cPGs

yx)yx)(yx()yx(yxPG

yxc)yx(c)yx(c)yxyx(c)yxyx(cs

⊕=

⊕=

⊕=

⊕=

⊕=++=+=

⊕⊕=⊕+⊕=+++=

−−−−−

Ex.: 74LS83A4.3.7. Unitati aritmetico-logice (ALU)

ALU sunt CLC complexe care executa pe baza unor comenzi functii de tip aritmetic si logic. ALUse utilizeaza in sisteme digitale complexe sau ca parti componente in unitatile de prelucrare alesistemelor de calcul.

ALU de 4 biti are urmatoarele intrari si iesiri tipice:- intrari pentru operanzi: A3:0, B3:0

- intrare de transport : 1c−- intrare de mod: M = 0 → functii aritmetice

= 1 → functii logice

Page 34: Analiza Si Sinteza Dispozitivelor Numerice

- intrari pentru selectarea functiei : S3:0- iesiri pentru functie : F3:0

- iesire pentru transport: 3c

- iesire pentru indicarea egalitatii operanzilor: (A=B)- iesiri pentru transport anticipat: P,G. Ex.:74181

Pentru realizarea unor ALU pe mai multi biti in conditiile in care nu se mai urmareste realizareaunor viteze mari de prelucrare se foloseste transportul succesiv prin conectarea 3c de la un circuit la 1c−de la circuitul urmator:

Pentru operatii de mare viteza , ALU sunt combinate cu circuite de generare anticipata atransportului (GTA), prevazute cu 4 intrari de transport propagat (P0:3). 4 intrari de transport generat(G3:0), o intrare pentru transportul din rangul inferior ( 1C− ); GTA genereaza transporturile

xC+ , yC+ , zC+ ; pentru dezvoltarea sistemului de transport, GTA sunt prevazute si cu 2 iesiri detransport generat (G) si de transport propagat (P).

3210

3210321323

2101210212z

101101y

010x

PPPPPPPPGPPGPGGG

PPPCPPGPGGC

PPCPGGC

PCGC

=+++=

+++=

++=

+=

−−

−−

−−

Ex.: 74182

Page 35: Analiza Si Sinteza Dispozitivelor Numerice

Expandarea ALU cu generarea anticipata a transportului se poate face pe doua sau mai multenivele:

4.3.8. Generatoare si detectoare de paritatePentru detectarea eventualelor erori in transmisia datelor se poate folosi un cod cu bit de paritate.

La emisie, la cuvintele de transmis se mai adauga un bit “0” sau “1” astfel incat toate cuvintele transmisesa aiba un numar par (impar) de biti “1”. La receptie se verifica paritatea (imparitatea) numarului de biti“1” din cuvantul receptionat. Aceste operatii sunt realizate de CLC numite generatoare, respectivdetectoare de paritate.

Detectorul elementar de paritate este circuitul de anticoincidenta (XOR):

011101110000ybb 01

p=0 → paritate para

p=1 → paritate impara

Daca pe langa cuvantul de transmis b0b1 se mai transmite si y, se obtine o transmisie in cod cubit de paritate para. Daca se mai foloseste inca o poarta XOR, se poate stabili si felul paritatii (para sauimpara).

Page 36: Analiza Si Sinteza Dispozitivelor Numerice

In cazul unor cuvinte de 8 biti se poate folosi circuitul din figura:

Circuitul este prevazut cu intrarile P(par) si I(impar) care permit functionarea ca generator /detector de paritate sau imparitate. Corespunzator, circuitul are si doua iesiri YP si YI. Aceste intrari siiesiri permit expandarea circuitului:

Pentru utilizarea circuitului la transmisii de date se poate folosi schema:

4.4 Timpi de propagare la o structura logica combinationala

Modificarea unor variabile la intrarile unui CLC poate produce modificarea unor variabile la iesirealui. Presupunem ca la modificarea variabilei xi, iesirea yj se modifica dupa cum urmeaza:

Page 37: Analiza Si Sinteza Dispozitivelor Numerice

Se definesc urmatorii timpi de propagare:

pLHijjipLH tˆ)yx(t =→ - timp de propagarea a xi la yj L→H

pHLijjipHL tˆ)yx(t =→ - timp de propagarea a xi la yj H→L

[ ] pijjipHLjipLH)yx(p tˆ)yx(t)yx(t21t

ji=→+→=→ - timp de propagarea a xi la yj

5. CIRCUITE LOGICE SECVENTIALE

5.1. Notiunea de circuit secvential (automat finit)

Consideram circuitul din figura urmatoare:Iesirea acestui circuit nu poate fi descrisa numai cu ajutorul variabilelor de intrare. In expresia ei

va interveni si timpul, avand in vedere ca un circuit NAND real poate fi reprezentat ca in figura de maisus, unde ∆ este un circuit de intarziere (cu tp). Tinand cont de acest aspect, circuitul se poate redesenaca in figura.

)t(y)t(y

t2 )t2t(y)t(y pp

δ+=′δ≅−′=

(Am considerat ca x0, x1, x2 nu se mai modifica.)

Daca impartim timpul in intervale δ si notam )n(aˆa n δ≡ , putem scrie:

���

=

=+

nn2n

n1nn01n

yxz

xyxy

Vom numi in continuare y variabila secundara interna sau variabila de stare, avand in vedere caea descrie starea atinsa de circuit la un moment dat.

Circuitul de mai sus prezinta o singura bucla. Sa consideram in continuare un circuit cu mai multebucle:

Page 38: Analiza Si Sinteza Dispozitivelor Numerice

Procedand ca mai sus, identificam buclele circuitului, introducand inaintea fiecarei variabile destare propusa cate un circuit de intarziere. Se poate scrie:

=

+=+=

++=

⋅=

+

+

+

n1n1

n2n1n0

n2n0n1n11n2

n2n0n1n2n01n1

n1n0n2n0n11n0

yz

yyzxyxyy

xyxyyy

yxxyxy

Corespunzator acestor ecuatii, sunt reprezentate circuitele de iesire si circuitele ce definescvariabilele de stare.

In cazul general. daca se considera un sistem cu bucle de reactie cu k intrari si m iesiri, trebuieintroduse p variabile de stare pentru a putea defini toate iesirile intr-un mod combinational. Astfel, seintroduc p intarzieri fictive δ in schema. Trebuie studiata evolutia sistemului dupa fiecare esantion detimp δ. Daca xin, yjn si zln sunt valorile intrarilor, variabilelor de stare, respectiv iesirilor la momentul detimp nδ, se poate scrie :

( )( )�

��

==

==+

mlyyxxgz

pjyyxxfy

pnnknnl

pnnknnjjn

,1,,...,,,...,

,1,,...,,,...,

11ln

111

Page 39: Analiza Si Sinteza Dispozitivelor Numerice

Un sistem a carui functionare este descrisa de astfel de ecuatii se numeste sistem secvential sauautomat finit.

Un automat finit este deci un cvintuplu A=(x,y,z,f,g), unde x,y,z sunt multimi nevide, iar f,g suntfunctii definite pe aceste multimi.x- multimea semnalelor de intrare (alfabet de intrare)y- multimea starilor multimi finitez- multimea semnalelor de iesire (alfabet de iesire)f : x×y→y – functie de tranzitieg : x×y→z –functie de iesire

In figura urmatoare este prezentata figura unui automat astfel definit:

Acesta este un automat de tip Mealey, descris de ecuatiile:

Observatii: y = ∅ f : x×∅ → ∅ → nu este definibila notiunea de stare g : x×∅ → z → y:x → z

Acest caz particular defineste circuitele combinationale (se mai numesc automate triviale sauautomate combinative); iesirile acestora sunt complet determinate la orice moment de timp numai deintrari.

Un alt caz particular este g :y → z (automat de tip Moore)La automatele de tip Mealey, iesirile sun definite in timpul tranzitiilor dintre stari, in timp ce la

automatele Moore, iesirile sunt definite la iesirea starilor.Pentru realizarea fizica a acestor structuri, se folosesc circuite combinationale pentru

implementarea functiilor f si g si elemente de memorare pentru implementarea circuitelor de intarziere.

5.2. Analiza circuitelor secventiale

Introducerea variabilelor de stare permite trnsformarea circuitelor de iesire in circuitecombinationale. Pentru determinarea acestor variabile se ataseaza sistemului secventional un graf incare fiecare nod reprezinta un circuit al sistemului, iar ramurile orizontale sunt conexiunile dintre circuite.

Intr-o prima etapa trebuie determinate variabilele de stare in numar suficient. Aceastase facenotand iesirile circuitelor ce fac parte din cel putin o bucla si suprimand ramurile din grafcorespunzatoare acestor iesiri pana cand graful nu mai prezinta bucle. Circuitul initial se va descompunein final in circuite de definire a evolutiei variabilelor de stare si in circuite de iesire. Se vor scrie siecuatiile sistemului.

In etapa a doua se va face o minimizare a numarului variabilelor de stare car permit scriereaecuatiilor de functionare. Pentru aceasta se construieste un tabel de acoperire, la care liniile corespundbuclelor fundamentale, iar coloanele – circuitelor ce constituie buclele. O bucla fundamentala este obucla pentru care orice subansamblu al circuitelor ce o alcatuiescnu poate constitui o bucla. Tabelul secompleteaza cu 1 in pozitiile pentru care circuitul de pe coloana intervine in bucla de pe linie. Se rzolvaapoi problema de acoperire si se descompune sistemul in circuite de iesire si circuite de descriere a

( )( )�

==+

nnn

nnn

yxyzyxfy

,,1

Page 40: Analiza Si Sinteza Dispozitivelor Numerice

evolutiei de stare, corespunzator celei mai economice solutii obtinuta; de asemenea, se scriu ecuatiilecorespunzatore.

In continuare, se construiesc diagramele Karnaugh pentru variabilele de stare si pentru variabilelede iesire, obtinandu-se matricile de excitatie, respectiv de iesire. Pornind dela acestea, se determinatabela de fluenta si graficul de fluenta.

Tabela de fluenta se construieste dupa urmatoarele reguli: liniile corespund starilor (intrarilor);coloanele corespund intrarilor (starilor); la intersectia liniilor cu coloanele se definesc f si g in cadrulautomatelor Mealey sau numai f in cadrul automatelor Moore, caz in care g se defineste pe o coloana(linie) separata.

Graful de fluenta se construieste dupa urmatoarele reguli: nodurile corespund starilor; arcelecorespund tranzitiilor intre stari; graful se marcheaza in functie de tipul de automat definit:

ee zx /Mealey: Moore:

Exemplu:

iy jy ii zy / jj zy /hx

Page 41: Analiza Si Sinteza Dispozitivelor Numerice

1

6

3

:75431:687:243

yyy

−−−−−−−−

( )( )

( )( )�

+⋅+=

+⋅⋅=

⋅+⋅+=

+⋅=

+

+

+

nnnnn

nnnnnn

nnnnnn

nnnnn

yxyyz

yxyyxy

yyxyyy

yxyxy

633

63316

363113

6311

1 2 3 4 5 6 7 83-4-2 1 1 17-8-6 1 1 1

1-3-4-5-7 1 1 1 1 1

( )( )( )( )( )( )

( )( )1......

111

72847464837363

876725242322143

87643754312

75431876432

=++++++++=++++++++

=++++++++=++++++++

FFFFFFFFFFFFFFFFFFFFFFFFFFFFF

FFFFFFFFFFFFFFFFFFFFFF

Oricare dintre solutiile evidentiate mai sus este mai economica decat solutia adoptata initial.Alegem de exemplu solutia oferita de F2F7=1; variabilele interne sunt deci y2 si y7.

Page 42: Analiza Si Sinteza Dispozitivelor Numerice

( )( ) ( )

( )�

++=+++=

+=

+

+

nnnnn

nnnnnnnnnn

nnnnn

yyxyzyxyxyxyxyy

yyxyy

277

7272717

27712

Fiecarei stari ii este atasata o cifra zecimala:

5.3. Sisteme secventiale asincrone. Sisteme secventiale sincrone

Sistemele secventionale studiate anterior sunt sisteme asincrone deoarece la o modificare amarimii de intrare nu se poate controla intotdeauna evolutia sistemului. In exemplul anterior, pentruy2y7=00 si x=0 sistemul se afla in starea stabila 00. Cand x devine 1, sistemul trece in starea 01, apoi00, din nou 01 etc. Sistemul intra deci intr-un ciclu necontrolabil.

Se introduce o variabila suplimentara T(tact, clock) si se impune ca pentru T=0 sistemul saevolueze, ramanand intr-o stare stabila. Numai pentru T=1 sistemul va evolua spre o noua stare.

y2y7/Tx 00 01 11 1000 00 00 00 0101 01 01 10 0011 11 11 00 0010 10 10 01 00

taT>tp∆

Pentru un sistem sincron, ecuatiile variabilelor de stare sunt:( ) piyyxxfy pnnknniin ,1,,...,,,..., 111 ==+

Page 43: Analiza Si Sinteza Dispozitivelor Numerice

Ecuatiile de stare a unui sistem sincron vor fi:

tp∆ - timp de bascularea circuitului de intarziere ∆

tpf - timp de propagare prin structura combinationala ce realizeaza ftaT - durata activa a ceasului T

Pentru o functionare corecta este necesar ca taT < tp∆+tpf. In caz contrar, sistemul poate evoluaspre o alta stare decat cea impusa in matricea de excitatie. Pentru a elimina aceasta constrangere sepoate adopta una din urmatoarele solutii:1. Introducerea unor intarzieri suplimentare pe buclele sistemului- solutie neeconomica;2. Folosirea a doua circuite de intarziere comandate de doua ceasuri sincronizate dar defazate:

( Se folosesc cate doua circuite de intarziere pentru fiecare variabila interna.)

12

1'

1

11

+

+

→→==→=

nn

nn

yyTyyT

taT1 si taT2 sunt dictati de timpuri de si ∆1 si ∆2t1 > tp∆1t2 > tp∆2+tpf∆1 si ∆2 formeaza o structura MASTER-SLAVE (∆1-MASTER, ∆2-SLAVE)3. Utilizarea de circuite integrate de tip MASTER-SLAVE

5.4. Sinteza circuitelor secventiale. Metodologie

Rezolvarea unei probleme de sinteza presupune stabilirea structurii fizice a automatului,cunoscand corespondentele intrare-iesire si evolutia sistemului. Sinteza are doua mari etape:A. Sinteza abstracta: pornind de la datele problemei, se stabilesc elementele automatului finit

atasat(intrarile, starile, iesirile, ecuatiile de excitatie ale circuitelor de memorare, ecuatiile de iesire).Se incearca eventuale simplificari pe multimea starilor. Ecuatiile de control trebuie sa rezulte cat maisimple. Sinteza abstracta presupune parcurgerea urmatorilor pasi:

1. Definirea primara a starilor: se stabilesc multimile de intrare, de iesire si de stari pentru automat.Fiecare stare se ataseaza unor conditii distincte in care se poate gasi sistemul.

2. Determinarea grupului si matricii de fluenta.

( ) piyyxxfTyTy pnnknnininnin ,1,,...,,,..., 111 =+=+

Page 44: Analiza Si Sinteza Dispozitivelor Numerice

3. Reducerea starilor: se urmareste eliminarea eventualelor stari redundante introduse la etapa1 prinevidetierea starilor echivalente. In principiu, doua stari sI si sj sunt echivalente daca si numai dacapentru aceeasi secventa de intrare automatul elaboreaza aceeasi secventa de iesire indiferent destarea din care porneste experimentul (sI sau sj). Practic, rezolvarea acestei probleme se facefolosind matricea de fluente: daca liniile (coloanele) corespunzstoare celor doua stari sunt identice,ele se pot contopi.

4. Alocarea variabilelor de stare: Se realizeaza o exprimare a starilor prin cuvinte dintr-un anumit cod.Pentru codificarea starilor se folosesc variabile de stare, numarul acestora trebuind sa satisfacarelatia:2p-1<k<=2p p = numarul variabilelor de stare

k = numarul starilor distincteEste indicata folosirea unui codcare pastreaza adiacentelepentru starile vecine, evitandu-se astfelhazardul in functionare. Folosind variabilele de stare introduse se construiesc matricile de excitatie si deiesire.B. Sinteza structurala: Pornind de la rezultatele obtinute in etapa precedenta se realizeaza

implementarea fizica a automatuluiin functie de circuitele integrate pe care le are la dispozitieproiectantul. Acest ultim aspect este esential, deoarece in functie de tipul circuitelor integrate folositese poate simplifica sau complica etapa de sinteza abstracta.

La sfarsitul sintezei se poate face o analiza a functionarii structurii obtinute, ceea ce permite o verificarea corectitudinii sintezei.

6.CIRCUITE BASCULANTE BISTABILE

Circuitele basculante bistabile (CBB)sunt circuite cu doua stari stabile, treeecerea dintr-o stare inalta facandu-se numai a modificarea uneivariabile de intrare. CBB se pot folosi pentru realizareacircuitelor de intarziere din structuracircuitelor secentiale, avand in vedere ca principala caracteristica aCBB este posibilitatea de memorare.

6.1. Circuite basculante bistabile de tip R-S

CBB de tip R-S asincrone au doua intrari (S=set, R=reset) si doua iesiri (Q, ). Pentru a pezentaposibilitatea de memorare, circuitul ar trebui sa functioneze astfel:- S=R=0: starea circuitului nu se schimba- S=1, R=0: Qn+1=1- S=0, R=1: Qn+1=0- S=R=1: nu intereseaza (nu are sens inscrierea simultana a unui 1 si a unui 0); ca urmare se impune

SR=0

Page 45: Analiza Si Sinteza Dispozitivelor Numerice

Matricea de excitatie pentru un astfel de circuit este:SR\Q 0 1

0000 0 101 0 011 x x10 1 1

nnnnnnn

nnnnnnn

QSRQSRQ

QRSQRSQ

⋅⋅=⋅+=

⋅⋅=⋅+=

+

+

1

1 ( )( ) nnnnnnn

nnnnnnn

QRSQRSQ

QSRQSRQ

++=+=

++=+=

+

+

1

1

( ) ( ) ( ) ( ) ( ) ( )( ) ( )( ) ( )

( ) ( )====−

====−

====−

→==→====−

01

0,10,1

1,01,0

1,10:0

QQSR

QQSR

QQSR

QQQQQQSR

stergere

inscriere

posibile stari 2

Circuitul functioneaza dupa cum urmeaza:circuitul pierde caracteristica de circuit in doua stari; in plus, la acestei comenzi (R=S=0) apare oambiguitate asupra starii in care va ramane circuitul deoarece practic este imposibila comutareasimultana a celor doua comenzi; se va trece deci sau prin R=0, S=1 (→Q=1) sau prin R=1, S=0 (→Q=0);din aceste motive, comanda R=S=1 este interzisa.Fie schema:Qn=0; Qn+1=?An=1; An+1=0Bn=0; Bn+1=1Rn=0; Rn+1=0

Page 46: Analiza Si Sinteza Dispozitivelor Numerice

Realizarea practica a comutarii simultane a semnalelor A si B este imposibila, ceea ce determinaaparitia unei ambiguitatii a starii bistabilului dupa comutare. Din acest motiv se introduce notiunea desincronizare, folosind pentru aceasta o intrare de ceas (T):

T=0: portile de intrare sunt blocateT=0→1:functionare sincronaT=1:functionare asincrona (bistabilul este transparent pentruintrarile R,S)

Matricea de excitatie a acestui circuit este:

CBB sincron poate fi prevazut si cu intrari sincrone (Rd, Sd), care comanda evolutia circuituluiindependent de prezenta semnalului de tact, deci pot fi considerate prioritare fata de celelalte intrari. Sementine interdictia RdSd=0.

Dupa cum am vazut, CBB sincron de tip R–S este transparent pentru intrarile R, S in cazul T=1.In unele aplicatii este necesar controlul asupra momentului aparitiei informatiei la iesirea CBB. Pentruaceasta ar fi de dorit o functionare de felul urmator: informatia se inscrie pentru T=1, dar apare la iesirepentru T=0, deci dupa inchiderea portilor de intrare. O astfel de functionare este realizata de CBB de tipR–S MASTER–SLAVE:

R Rd Q

T

Q S

Sd

RS/TQ 00 01 11 1000 0 1 1 001 0 1 1 111 0 1 X X10 0 1 0 0

( )Q T Q T S Q RS R Tn n n n n n n

n n n

+ = ⋅ + + ⋅⋅ ⋅ =�

1

0

Page 47: Analiza Si Sinteza Dispozitivelor Numerice

T

2 3 1 4 S

t

Functi

R

onarea circuitului este urmatoarea:– 1-2: portile de intrare inca nu sunt deschise; portile de transfer se inchid izoland MASTRE deSLAVE.– 2-3: portile de intrare se deschid permitand inscrierea informatiei in MASTER– 3-4: portile de intrare se inchid; portile de transfer inca nu sunt deschise– 4-5: portile de transfer se deschid permitand trecere informatiei din MASTER in SLAVE.Daca sunt necesare intrari asincrone ele pot fi prevazute numai la SLAVE sau atat la MASTERcat si la SLAVE.

R Sd Q

Q S

Rd T

Q

Q S

T

Page 48: Analiza Si Sinteza Dispozitivelor Numerice

6.2. Circuite basculante bistabile de tip J–K

Pentru a evita nedeterminarile ce pot apare in urma aplicarii pe intrarile R, Sale unui CBB R–Sasincron a combinatiei R=S=1 se poate modifica schema circuitului astfel incat el sa aiba o evolutiecunoscuta si dupa o astfel de comanda si anume: R=S=1→ Q Qn n= =1 . Matricea de excitatie devine:

CBB de tip J–K sincron se obtine prin introducerea unei intrari de tact:

)(Q T Q T J Q K Qn n n n n n n+ = ⋅ + ⋅ + ⋅1

T=0 → portile de intrare sunt blocateT=1 → functionare asincrona

����

→→

��

��

+⋅+⋅=⋅+⋅=

+⋅+⋅=⋅+⋅=

+

+

JSKR

QQKQJQKQJQ

QQJQKQKQJQ

nnnnnnnnnn

nnnnnnnnnn

1

1JK\Q 00 0100 0 101 0 011 1 010 1 1

K Q

J Q

JK\TQ 00 01 11 1000 0 1 1 001 0 1 0 011 0 1 0 110 0 1 1 1

K Q

J Q

T

Page 49: Analiza Si Sinteza Dispozitivelor Numerice

6.5. Parametri dinamici ai CBB

Cele mai utilizate CBB in Romania sunt:

Pentru CBB, parametri dinamici sunt:- tPLH- tPHL timpi de propagare- tSN-timp de prestabilire- th-timp de mentinere

7. AUTOMATE SIMPLE

7.1 Sinteza absolutaStructura unui automat este urmatoarea:

Ecuatiile ce descriu functionarea unui astfel de automat sunt de forma:yin+1= T n⋅yin+Tn⋅fi(x1n,…, xhn, y1n,…, ypn) i=1,pzjn=yj(x1n,…, xhn, y1n,…, ypn) j=1,n

In general, prezentarea automatului ce trebuie sintetizat nu se face prin ecuatiile de stare si deiesire, ci sub alte forme:

-descrierea functionala;-diagrama de semnale;-diagrama (graf) sau matricea de fluenta;

T

X Y z

H p m

f(x,z) g(x,z)∆

Q

J

K

TQS

R

1/2x7476

Q

D

T

QS

R

1/2x7474

Q

J

K

TQ

S

RQ

J

K

T QS

R

1/2x74737472

Page 50: Analiza Si Sinteza Dispozitivelor Numerice

-matrici de excitatie si de iesire.Pentru sinteza automatului trebuie realizata mai intai sinteza abstracta folosind pentru aceastametodologia expusa intr-un capitol anteriorEx: Sa se sintetizeze un generator de monoimpuls a carui functionare este descrisa prin urmatoarelediagrame de semnal:

Semnalul X este asincron in raport cu semnalul de ceas T, ceea ce poate conduce la functionariidefectuoase. Se preferasincronizarea lui X cu ceasul T; acest

lucru se realizeaza cel mai bine cuajutorul unui bistabil D sincron pefront pozitiv:

1. definirea primara a starilor: variabile de intrare: XS variabile de iesire: Z stari: 1.-asteptare 2.-automatul genereaza Z=1 3. XS=1 Z=0

2. construirea grafului si matrici de fluenta

X XS

TXS

T

X

Z

D

T

QS

R Q

1 2 3 1

T

X

XS

Page 51: Analiza Si Sinteza Dispozitivelor Numerice

marcarea ramurilor: T X

ZS⋅

obs: T=1 → frontul negativ al lui T 3. reducerea starilor: nu este cazul4. alocarea variabilelor de stare

In cazul automatelor simple, care au maxim 5-6 variabile de intrare si de stare, sinteza structuralase face in CBB; acestea vor implementa circuitele de intarziere D din structura automatelor finite.

7.2. Sinteza in CBB tip D

Ecuatiile de stare ale automatului sincron sunt de forma:yin+1= T n⋅yin+Tn⋅fi(x1n,…, xhn, y1n,…, ypn) i=1,p

Ecuatia unui CBB tip D este:Qn+1= T n⋅Qn+Tn⋅Dn

Comparand cele doua relatii se observa ca variabilele de stare se pot obtine folosind CBB tip D sincronedaca:

Di=fi(x1,…, xh, y1,…, yp)Pentru sinteza automatului sunt necesare p CBB tip D sincrone (p variabile de stare).Pentru Tn=0 automatului nu evolueaza. In cadrul sintezei se poate considera Tn=1, caz in care ecuatiilede stare devin:yin+1=fi(x1n,…, xhn, y1n,…, ypn) i=1,pRezulta:Din= fi(x1n,…, xhn, y1n,…, ypn)=yin+1

0X/0 01/1

11/0

10/0

10/0 11/1

00/0 X1/0

Q\TXs00 01 11 10

1 1/0 1/0 2/0 1/02 X/X 2/1 3/1 X/X3 3/0 3/0 3/0 1/0

Q y1 y0 y1y0\T XS 00 01 11 10 y1y0\T XS 00 01 11 10 1 0 0 00 00 00 01 00 00 0 0 0 0 2 0 0 01 xx 01 11 xx 01 x 1 1 x 3 1 1 11 11 11 11 00 11 0 0 0 0 10 xx xx xx xx 10 x x x x

1 2

3

Page 52: Analiza Si Sinteza Dispozitivelor Numerice

7.3 Sinteza cu CBB, tip J-KPentru Tn=1 rezultă:

y y y K yin in in in in+ += ⋅ + ⋅1 1

y y y K xin in in in= � = =+0 1,y K y y xin in in in= � = =+1 1,

Ex: y1y0\X S 0 1 y1y0\X S 0 1 y1y0\X S 0 1 00 0 1 00 0 0 00 0 0 01 x 1 01 x 1 01 x 1 11 0 1 11 0 1 11 0 0 10 x x 10 x x 10 x x

D0n=X⋅Sn Din=X⋅Sn⋅y0n Zn= y 1n⋅y0n

Ex: y1y0\X S 0 1 y1y0\X S 0 1 y1y0\X S 0 1 y1y0\X S 0 1 00 0 1 00 x x 00 0 0 00 x x 01 x x 01 x 0 01 x 1 01 x x 11 x x 11 1 0 11 x x 11 1 0 10 x x 10 x x 10 x x 10 x x

J0n=X⋅Sn K0n= X Sn⋅ Jin=y0n Kin= X Sn⋅ Z y yn in in= ⋅

D

T

QS

R Q

X

T

D

T

Q

Q

D

T

Q

Q

Xs

XsZ 1

0

Q

J

K

T

Q

0

Q

J

KT

Q

1

D

T

Q

Q

XS

XS

Z

X

T

Page 53: Analiza Si Sinteza Dispozitivelor Numerice

7.4. Sinteza cu CBB tip R-SPentru Tn=1 rezultă:

y S R y

S R S Rin in in in

in in in in

+ = + ⋅

⋅ = � + =

���

��

1

0 1y S y R Sin in in in in= � = ⋅ =+0 01,

)( )( )(y S R S R S R S R R S R R y R Sin in in in in in in in in in in in in in in in= � + = + + = ⋅ + + = = ⋅+ =1 1 0,

7.5. Analiza funcţionăriiValorile indiferente din diagramă conduc la obţinerea unor structuri mai ieftine. În acelaşi

timp însă este necesară verificarea corectitudini modului de fixare al valorilor indiferente dinmatricea de excitaţie. Pentru aceasta, se porneşte de la o stare iniţială şi se calculează valorilesemnalelor de comandă care se obţin, apoi se trece la starea următoare (cea spre care evolueazăsistemul). Dacă această stare este stabilă, se consideră nouă stare iniţială, s.a.m.d., procedurarepetându-se până se epuizează toate posibilităţile. Se completează apoi matricea de excitaţie şi seconstruieşte graful de fluenţă corespunzător.Ex:

Y1Y0 D1 D0XS=0 00 0 0

01 0 000 0 010 0 0

Y1Y0\XS 0 1 Q00 00 01 101 00 11 211 00 11 310 00 01 4

D

T

Q

Q

X

T

Q

S

R

T

Q

1

Q

S

RT

Q

0

Xs

Xs

Z

Page 54: Analiza Si Sinteza Dispozitivelor Numerice

00 0 011 0 000 0 0

XS=1 00 0 101 1 111 1 110 0 101 1 111 1 1

Indiferent de starea în care va fi plasat sistemul la punerea sub tensiune, din graf se observăcă el va evolua spre o stare admisă. Sistemul se numeşte în reintrare automată în ciclul defuncţionare.

În unele situaţii nu este permisă ieşirea din ciclul de funcţionare. În acest caz, sistemul esteprevăzut cu un circuit de iniţializare automată la cuplarea tensiunii de alimentare.

7.6. Regimuri tranzitorii în sisteme logice secvenţiale realizate în CBBDurata regimului tranzitoriu la un astfel de sistem este:

trt=tb+tr, unde:trt-durata regimului tranzitoriutb=max [tPLH(Q), tPHL(Q)]-timpul de basculare al unui CBBtr-timpul de răspuns al unei structuri combinate (timp de propagare)

Ţinând seama de trt, pentru funcţionarea corectă a sistemului secvenţial este necesarărespectarea anumitor condiţii, specifice tipului de CBB folosite:

a) CBB tip D active pe front pozitiv (7474):

]ttt,TTmax[Tt)tt(T

ttt

TTTT

rbsuminLminH

surb

hrb

minLL

minHH

+++≥≥+−

≥+

≥≥

0

1

0

0 0 1

1 1

T

TL TL

tb tr

th tsu

4

1 2

3

Page 55: Analiza Si Sinteza Dispozitivelor Numerice

b) CBB tip I-K MASTER-SLAVE (7472, 7473, 7476):

]tt,Tmax[TTTtt

TT

TT

RBminLminH

Lrb

minLL

minHH

++≥≤+

Schema prezentată poate fi privită ca numărator (Y3 Y2 Y1Y0 ) sau ca divizor : în 2 (Y0), în 4 (Y1),în 8 (Y2)sau în 16 (Y3) al frecvenţei ceasului T.

Frecvenţa minimă de lucru este data de de relaţiile:- numărător: TT>n·tb+TSH (depinde de numărul CBB conectate).

- divizor: TT>tb (nu interesează decodificareastărilor numărătorului).

Dacă la intrarea de ceas T a fiecăreicelule se conectează ieşirea Q a celuleiprecedente se obţine un numărător liniar sincroninvers.

Prin combinarea schemelor de numărător direct şi invers invers cu ajutorul unor multiplexoare comandateîn semnalul de mod (CM) se obţine un numărător reversibil.

T

TL TL

tb tr

Page 56: Analiza Si Sinteza Dispozitivelor Numerice

Numărătoarele pot fi prevăzute şI cu o intrare de ştergere dacă se folosesc intrările prioritare de resetare ( R ) aleCBB ce alcătuiesc numărătorul (semnalul RES).

8. NUMARATOARE

Aceste numărătoare au în alcătuire CBB cecomută simultan sub acţiunea unui semnal de ceas.

Tabela de adevăr pentru un astfel de circuit cu 4CBB este:T=1 (frontul negativ al T pentru CBB tip J-K MASTER-SLAVE ).

)QnKnQnInQ 1n( Q 1nKn

xIn1nQ

xKn

Q 1nIn0nQ +=+��

���

+=

=�=

��

���

=+=

�=

I0=1 K0=1

I1=Y0 K1=Y0

Y3 Y2 Y1 Y0 T (Y3 Y2 Y1 Y0)n+1

x x x x 0 Y3 Y2 Y1 Y0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 11 1 1 1 1 0 0 0 0

Y3 Y2 \Y1 Y2 00 01 11 10 0 0 0001 0010 0100 0011 0 1 0101 0110 1000 0111 1 1 1101 1110 0000 1111 1 0 1001 1010 1100 1011

Page 57: Analiza Si Sinteza Dispozitivelor Numerice

Prin implementarea acestor relaţii se obţine un numărător binar sincron direct de tip paralel în schema:

∏−

===

1i

0nnii YKY

Frecvenţa maximă de lucru a unui astfel de numărător este dată de relaţia: Ttt 'T SHpbT ++> , care conducela o frecvenţă mai mare decît numărătorul sincron.Dezavantajul schemei constă în faptul că fiecare poartă nou introdusă (pentru un rang superior) măreşte cu ounitate factorul de încărcare al CBB ,ceia ce conduce la mărirea tb şi dacă la scăderea frecvenţei de lucru. Un altdezavantaj este creşterea numărului de intrări penru porţile folosite pentru rangurile superioare.

Acest dezavantaj se poate elimina dacă pentru implementare se folosesc relaţiile Yi=Ki=Ci-λ, unde Ci-λ senumeşte transport din rangul I-λ:

��

��

=−

∏= −==

iC 1i

i

0n YiC 1iYnCi

Frecvenţa maximă este dată de relaţia : Tt)2n(tT SHpbT +−+> se obţine dintr-o frecvenţă maximă maimică decît în cazul anterior.Numărătorul astfel obţinut este un numărător binar sincron direct de tip serie.

O altă variantă de numărător binar sincronbinar sincron direct de tip paralel se obţine dacă seimpune Ii=Ki=1; 1n,0i −= :

Q 1nTn1Qn

Q 1nTn0Qn

QnTnQnTnQ 1n

+=�=+=�=

+=+

T0=T

Page 58: Analiza Si Sinteza Dispozitivelor Numerice

T1=Y0T T2=Y1Y0T

T3=Y2Y1Y2T

Numărătoarele pot fi prevăzute cu ieşire de transport pentru expandare (CY).pornind de la această schemă,se poate realiza foarte uşor un numărător binar sincron reversibil dacă se folosesc două semnale de ceas (CU pentrunumărătorul direct şi CD pentru numărătorul invers):

Pentru a conferi schemei flexibilitate maximă se pot folosi CBB tip J-K MASTER-SLAVE cu intrărisincrone ( S,R ):

Page 59: Analiza Si Sinteza Dispozitivelor Numerice

110x10011100100000100xx1

RSQDPLMR iiii

PL MRDiMRRi += DiPLMRSi ++=

MR - ştergere PL - încarcareparalelă

8.1.3. Numărătoare modulo 2pk ≠

Numărătoarele prezentate pînă acum sunt numărătoare binare realizate prin interconectarea a pcelule.Aceste numărătoare evoluează prin toate cele 2p stări posibile:

Pentru a realiza un numărător modulo P2≠2p, se determină numărul minim de celule necesare n=[log2k].Dincele 2n stări posibile se elimină 2n-k stări. Alegerea stărilor omise poate fi făcută arbitrar, rezultănd mai multevariante de numărător modulo k.În practică, stările omise se aleg astfel încît decodificarea stărilor rămase să sepoată face cît mai simplu.Folosim procedeul descris mai sus pentru sinteza unui numărător modulo 5.Dacăstăstările sunt cele din figură, matricea de excitaţii pentru numărătorul modulo 5 este:

T = 1

Page 60: Analiza Si Sinteza Dispozitivelor Numerice

K0=1I1=Y0 K1=Y0 I2=Y1Y0

���

=+=

→=

���

=+=

→=

+=+

xIn

Q 1nKn1Qn

xKn

Q 1nIn0Qn

QnKnQnInQ 1n

K2=1

Pentru a verifica corectitudinea schemei se face analiza ei:

Numărătorul sintetizat este deci cu reintrare automată în ciclul de funcţionare.O altă metodă de realizare anumărătoarelor modulo k≠2p este metoda reducerii la 0 , care presupune următoarele: se lasă un numărător modulo2n să evolueze normal de la starea 0 la starea k-1, apoi la stingerea stării k se resetează toate celulele numărătorului.Pentru un numărător modulo 5 se obţine 02YYR =

Y2 Y1 Y0 I0R0 I1R1 I2R2 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0

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

1 0 1 0 1 0

0 1 1 1 0 1

1 1 0 0 1 0

0 1 0 0 0 1

1 1 1 0 0 0

0 1 1 1 1 1

Y2Y1\Y0 0 1 0 0 001 010 0 1 011 100 1 1 010 000 1 0 000 010

Page 61: Analiza Si Sinteza Dispozitivelor Numerice

Dezavantajul acestei scheme este durata manifestată a semnalului R :RL PHL Q PHL L RLt t t t= + ≥( ) ( ) min

Pentru eliminarea acestui dezavantaj, se sincronizează R cu frontul pozitiv al ceasului T. În acest caz,durata activă a lui R este TRL =TT. Numărătorul rămîne în ultima stare a ciclului de numărare un timp TT/2, după

care R devine activ, numărătorul devine resetat un timp TT, apoi după încă TT/2 trece din starea 0 în starea 1.Aceste evenimente durează deci 2TT. Din acest motiv pentru resetare trebuie determinată starea 4 (100) pentrurealizarea unui numărător modulo 5.

D=Y2

R Y Y Y Y= + =2 0 2 0

Page 62: Analiza Si Sinteza Dispozitivelor Numerice

Acest numărător realizează o divizare în 5 a frecvenţei ceasului T.De remarcat că starea 4 (100) divizeazăTT/2, iar starea 0 (000) divizează 3 TT/2.

O altă metodă de divizare a unui numărător modulo k≠2p este utilizarea unui numărător prim stabil invers,după cum urmează: se încearcă numărătorul în starea iniţială k şi se aplică impulsului pe intrarea de numărareinversă (CD); numărătorul trece succesiv prin stările k-1,k-2,...,2,1,cînd numărătorul ajunge în starea 0, apare unimpuls pe ieşirea de împrumut (BW) care se foloseşte pentru încărcarea numărătorului în starea k; apoi ciclul sereia.

De remarcat că starea 0 nu face parte din ciclul de numărare.

Dezavantajul schemei este că nu se poate asigura o durată suficientă pentru semnalul BWPL = ,semnaluluiBW (care există doar atît timp cît conţinutul numărătorului este 0) datorită încărcării numărătorului ( BWPL = ) arputea compromite operaţia de încărcare. Acest neajuns se poate elimina prin sincronizarea recţiei în cazul T(similar metodei anterioare).

8.1.4. Numărătoare integrate uzuale

Cele mai frecvent utilizate numărătoare integrate sunt:

7492 - 4 secţiuni: divizor în 2 (C0)divizor în 6 (C1)

- 2 intrări de ştergere: MR0⋅MR1=1

Page 63: Analiza Si Sinteza Dispozitivelor Numerice

7493 - 2 secţiuni: divizor în 2 (C0)divizor în 8 (C1)

- 2 intrări de ştergere: MR0⋅MR1=1

7490 - 2 secţiuni : divizor în 2 (C0)divizor în 5 (C1)

- 2 intrări de ştergere: MR0⋅MR1=1- 2 intrări de iniţializare în 9 (1001) MS0⋅MS1=1

74193 - numărător binar sincron reversibil prestabil

74192 - numărător zecimal sincron ireversibil prestabil

8.2. RegistreRegistrele circuite ce permit stocarea şi sau deplasarea unor cuvinte binare. În funcţie de modul de

funcţionare, registrele pot fi: de memorie, de deplasare,combinate,inversabile.

8.2.1. Registre de memorieSunt utilizate pentru stocarea cuvintelor binare.Funcţionarea unui astfel de registru de memorie este

descrisă în următoarea tabelă de adevăr:

Yin+1= T nYin+TnXin

Având în vedere că ecuaţia ce descrie funcţionarea unui CBB tip D sincron este Qin+1= T nQin+TnDin , rezultăcă se poate realiza un registru de memorie pe k biţi dacă se folosesc k CBB tip D sincrone cu Din=Xin.

Tn Yin+1

0 Yin 1 Xin

Page 64: Analiza Si Sinteza Dispozitivelor Numerice

Dacă se folosesc CBB tip D active pe front pozitiv,informaţia se înscrie în registru pe frontul pozitiv alceasului.Dacă se folosesc CBB tip D latech ,pentru T=1 registrul este transparent pentru informaţia de pe intrări,iarpentru T=0 registrul se zăvoreşte,memorînd informaţia care se află pe intrări în momentul frontului negativ al T.Dacă se folosesc CBB tip D MASTER-SLAVE în registru se memorează informaţia care se află pe intrări înmomentul frontului negativ al ceasului.registrele de memorie se pot implementa şI în CBB tip I-K sau R-S dacă serealizează conexiunile respectiv.Registrele de memorie multiport sunt constituite din CBB adresabile care au ointrare comună de date,CBB folosite sunt de tip D-latch

În cazul registrelor de memorie intrerea de ceas a bistabilelor poartă numele de WE sau WR dacă sefolosesc CBB tip D active pe front pozitiv, **** pentru CBB tip D-latch,respectiv *** sau **** pentru CBB tip DMASTER-SLAVE.

8.2.1. Registre de deplasareSunt registre care la fiecare impuls de tact deplasează conţinutul spre dreapta sau spre stânga cu cîte o

celulă.Funcţionarea unui registru cu deplasare stînga-dreapta este ilustra tă

de următoarea tabelă de adevăr:

Y0n+1= T nY0n+TnSIin D0n=SIn

Yin+1= T nYin+TnYi-1n Din=Yi-1n i= p,1SOin=Ypn

Pentru un registru de deplasare dreapta-stînga, funcţionarea este următoarea:

Ypn+1= T nYpn+TnSIn Dpn=SIn

Yin+1= T nYin+TnYi+1n Din=Yi+1n i= 1p,0 −SOn=Yon

Tn Y0 Y1 ⋅⋅⋅ Yp SO 0 Y0 Y1 ⋅⋅⋅ Yp Yp 1 SI Y0 ⋅⋅⋅ Yp-1 Yp-

1

Tn SO Y0 Y1 ⋅⋅⋅ Yp

0 Y0 Y0 Y1 ⋅⋅⋅ Yp 1 Y1 Y1 Y2 SI

Page 65: Analiza Si Sinteza Dispozitivelor Numerice

Prin combinarea celor două scheme se obţine un registru de deplasare comandat stînga-dreapta sau dreapta-stînga:

CM=0 : MUX realizează legătura 0-0 → deplasare stînga-dreaptaCM=1 : MUX realizează legătura 0-0 → deplasare dreapta-stînga

8.2.3. Registre combinateAcest tip de registre cumulează funcţiile registrelor de memorare cu cele ale registrelor de deplasare

CM=0 → încărcare serială pe Ts → registru de deplasare stînga-dreaptaCM=1 → încărcare paralelă pe TP → registru de memorie

8.2.4. Regiştri universaliAcest tip de regiştri cumulează funcţiile tuturor tipurilor de registre examinate anterior:

Page 66: Analiza Si Sinteza Dispozitivelor Numerice

M1 M0 MUX mod de lucru 0 0 0-C nefolosit 0 1 1-C deplasare stînga-reapta 1 0 2-C deplasare dreapta-stînga 1 1 3-C memorare

*ES - intrare sincronă pentru ştergerea registrului

8.2.5. Registre de deplasare cu reacţieRegistrele de deplasare se pot folosi pentru realizarea numărătoarelor şi a generatoarelor de secvenţe.

Schema generală utilizată pentru acest scop este următoarea:

Registrului de deplasare i se asociază două circuite logice combinaţionale: CLC1 realizează funcţia dereacţie, iar CLC2 realizează funcţia de ieşire(generează secvenţa necesară ) .Secvenţele ce caracterizează aceastăschemă sunt următoarele:

Y0n+1=SIn=f(Y0n , ... , Ypn)Yin+1=Y0n

::Ypn+1=YP-inSn=g(Y0n , ... , Ypn)

Circuitul de reacţie produce o valoare ce se aplică pe intrarea serială a registrului şi care dfetermină decistarea următoare a acestuia. Circuitul de ieşire se foloseşte numai în cazul generatoarelor de secvenţă şi numaiatunci cînd circuitul de reacţie nu poate determina singur generarea secvenşei dorite.

Pentru a putea proiecta numărătoare sau generatoare de secvenţă cu ajutorul registrelor de deplasare, estenecesar cunoaşterea grafului de fluenţă corespunzător registrului,care ilustrează evoluţia posibilă a stărilor. În unuiregistru de deplasare de 4 biţi,graful de fluenţă edte următorul:

Page 67: Analiza Si Sinteza Dispozitivelor Numerice

Pe acest graf sunt puse în evidenţă toate stările şi tranziţiile posibile între stări. Pentru a proiecta unnumărător cu n stări trebuie aleasă o secvenţă de n stări din diagramă, iar apoi trebuie realizat circuitul de reacţieastfel încît registrul de deplasare să oscileze în secvenţa de stări aleasă.

Pentru realizarea unui numărător cu 4 stări,se poate alege de exemplu secvenţa de stări 1-2-4-8.Rezultă:

SI=Y3

De remarcat ca pentru orice numarator realizat prin aceasta tehnica diagrama Karnaughcorespunzatoare reactiei trebuie sa contina 1 in celula 0000 si 0 in celula 1111, in caz contrarproducandu-se blocarea numaratorului la atingerea starilor respective.

Q Y3 Y2 Y1 Y0 SI1 0 0 0 1 02 0 0 1 0 04 0 1 0 0 08 1 0 0 0 1

Y3Y2\Y1Y0 00 01 11 10 0 0 x 0 x 0 0 1 0 x x x 1 1 x x x x 1 0 1 x x x

Page 68: Analiza Si Sinteza Dispozitivelor Numerice

Daca dorim realizarea unui numarator in 8 stari, putem atinge secventa de stari 0-1-3-7-15-14-12-8, pentru care se obtine:

Numaratorul astfel obtinut se numeste numarator Johnson. Nici acest numarator nu asigurareintrarea in ciclul de functionare la parasirea accidentala. Prin completarea matricei de iesire in pozitiileindiferente se elimina acest neajuns si se obtine urmatoarea structura pentru numara torul Johnson:

Generatoarele de secventa sunt ? care genereaza o succesiune de 1 si 0 in o structura data.Secventele binare pot fi secvente aleatoare (de lungime infinita) sau secvente determinate (de lungimefinita). Secventele aleatoare au dezavantajul ca nu sunt repetabile. Pentru eliminarea acestui neajunsse folosesc secvente psindoaleatoare, care sunt secvente determinate de lungime ? . Daca seutilizeaza o portiune dintr-o secventa pseudoaleatoare mult mai mica decat lungimea acesteia, secventautilizata apare ca fiind aleatoare. Un registru de deplasare de n biti are 2n -1 stari nenule. Secventaobtinuta astfel este o secventa de lungime maxima.

Pentru un registru de 4 biti, o secventa de lungime maxima este: 1-2-4-5-3-6-13-10-5-11-7

y3y2\y1y0

00 01 1110

00 1 1 1x

01 x x 1x

11 0 x 00

10 0 x xx

Q y3y2y1y0 SI 0 0 0 0 0 1 1 0 0 0 1 1 3 0 0 1 1 1 7 0 1 1 1 115 1 1 1 1 014 1 1 1 0 012 1 1 0 0 0 8 1 0 0 0 0

SI y= 3

( )SI y y y y y y y y y y y y y= + = + = + + = +3 2 3 0 3 2 0 3 2 0 3 2 0y3y2\y1y0

00 01 1110

00 1 1 11

01 0 1 10

11 0 0 00

10 0 0 00

Page 69: Analiza Si Sinteza Dispozitivelor Numerice

15-14-12-8. Rezulta:

Dezavantajul schemei este imposibilitatea revenirii in ciclul normal la atingerea accidentala astarii 0 (x=0) si se poate elimina impunand x=1

In tabelul urmator sunt prezentate reactii ce permit obtinerea secventelor de lungime maximapentru n≤10:

Q y3 y2 y1y0

SI

1 0 0 01

0

2 0 0 10

0

4 0 1 00

1

9 1 0 01

1

3 0 0 11

0

6 0 1 10

1

13 1 1 01

0

10 1 0 10

1

5 0 1 01

1

11 1 0 11

1

7 0 1 11

1

15 1 1 11

0

14 1 1 10

0

12 1 1 00

0

8 1 0 00

1

y3y2\ y1y0 00 01 1110

00 x 0 00

01 1 1 11

11 0 0 00

10 1 1 11

Y3y2\ y1y0 00 01 1110

00 1 0 0 0 01 1 1 1 1 11 0 0 0 0 10 1 1 1 1

SI y y y y y= ⊕ + + +3 2 3 1 0

SI y y y y y y= + = ⊕3 2 3 2 3 2

Page 70: Analiza Si Sinteza Dispozitivelor Numerice

Exista secvente ce nu pot fi obtinute doar prin folosirea unui circuit de reactie. Un astfel deexemplu este prezentat in continuare: trebuie proiectat un circuit care sa genereze secventa:1011011010. Secventa are 10 biti, deci trebuie folosit un registru de deplasare de 4 biti, care va trebui

sa treaca prin urmatoarele stari:

n SI 1 y0 2 y1 ⊕ y0 3 y2 ⊕ y1 4 y3 ⊕ y2 5 y4 ⊕ y3 6 y5 ⊕ y4 7 y6 ⊕ y5 8 y7 ⊕ y5 ⊕ y4 ⊕ y3 9 y8 ⊕ y510 y9 ⊕ y6

y3 y2 y1 y0 Q1 0 1 1 11 0 1 1 0 6 1 1 0 1 13 1 0 1 1 11 0 1 1 0 6 1 1 0 1 13 1 0 1 0 10 0 1 0 1 5 1 0 1 0 10 0 1 0 1 5

Se observa ca starile 11, 6, 13, 10, 5 apar mai multdaca o data in ciclul de functionare. Numarul de stariale acestui ciclu nu poate fi micsorat deoarece dinstarea 1 trebuie sa se treaca fie in 11 fie in 10, iar din5 trebuie sa se treaca sau in 10 sau in 11. Este decinecesar ca ciclul sa aiba 10 stari. Cele 10 combinatiinu pot fi obtinute prin metoda circuitului de reactie.Pentru rezolvarea acestei probleme, se foloseste uncircuit de reactie pentru obtinerea celor 10 stari si uncircuit de iesire pentru obtinerea secventei dorite.

y3y2 \ y1y0

00 01 1110

00 1 0 x1

01 x 1 1x

11 1 x 10

10 0 x 0x

y3 y2\ y1y0

00 01 1110

00 1 0 x 1 01 x 1 1 x 11 0 x 0 0 10 0 x 1 x

Page 71: Analiza Si Sinteza Dispozitivelor Numerice

Secventa de 10 stari poate fi de exemplu 0-1-2-5-11-7-15-14-12-8:

Circuitul nu asigura reintoarcerea in ciclul de functionare la parasirea accidentala a acestuia.Problema se rezolva prin completarea corespunzatoare a diagonalei Karnaugh a lui SI.

8.2.6 Registre integrate uzuale

Cel mai cunoscut registru TTL este 7495, care este un registru combinat avand posibilitati deintrare paralela sau seriala, iesire paralela si seriala.

Corespunzator celor doua moduri de intrare, 7495 este prevazut cu doua ? de ceas. Intrarea demod determina functionarea in unul din cele doua moduri de intrare.

Q y3 y2 y1y0

SI S

0 0 0 00

1 1

1 0 0 01

0 0

2 0 0 10

1 1

5 0 1 01

1 1

11 1 0 11

1 0

7 0 1 11

1 1

15 1 1 11

0 1

14 1 1 10

0 0

12 1 1 00

0 1

8 1 0 00

0 0

SI y y y y y y y= + +3 0 3 2 3 2 0 S y y y y y y= + +3 0 2 0 2 1

MC = 0 - starea seriala pe C0

1 - intrare paralela pe C2

Page 72: Analiza Si Sinteza Dispozitivelor Numerice

Prin realizarea unor conexiuni adecvate, 7495 se poate transforma in registru de deplasareconsiderat stanga-dreapta sau dreapta-stanga.

9. HAZARDUL STRUCTURILOR LOGICE

Circuitele logice folosesc elemente de comutatie pe care le-am considerat pana acum ca fiindelemente ideale in sensul ca ( ) ( )x x, ,= 0 1 sau ( ) ( )x x, ,= 1 0 . In realitate, pe durata regimurilor tranzitorii

apar situatii in care ( ) ( )x x, ,= 0 0 sau ( ) ( )x x, ,= 11 . Exemple:

1.

2.

Influenta acestor regimuri tranzitorii asupra functionarii circuitelor logice este cunoscuta subnumele de hazard in functionare.

9.1 Hazardul in circuitele logice combinationale

Page 73: Analiza Si Sinteza Dispozitivelor Numerice

In cazul CLC, hazardul in functionare este clasificat dupa regimul tranzitoriu al variabilelor deiesire in: hazard static, hazard dinamic si hazard de curse.9.1.1 Hazardul static

Un CLC prezinta hazard static daca pentru doua valori adiacente ale intrarilor iesirea trebuie saramana constanta, dar exista un regim tranzitoriu pe durata caruia iesirea isi schimba valoarea.

Iesirea z a unui circuit se poate scrie in raport cu variabila x sub una din urmatoarele doua forme:1. z Ax Bx C= + +A B C z x x= = = = + =1 0 1,

( ) ( )x x z, ,= = →0 0 0 hazard static in 1

Pentru eliminarea acestui tip de hazard trebuie respectata conditia C ≥ AB.Fie functia logica z=R1(1,3,6,7).

a)metoda Veitch-Karnaugh:

Hazardul static de 1 apare in diagrama Karnaugh exista celule adiacente ce contim 1 careacoperite de acelasi implicit prim. eliminarea acestui tip de hazard poate fi realizata daca eliminasituatiile descrise prin introducerea unor termeni ? in expresia functiei:

z x x x x x x

x x z x x

= + +

= = = + +

2 0 2 1 1 0

0 1 2 21 1 1,b)metoda Quine-McCluskey:

z A C

z x x x x

= +

= +2 0 2 1

Exista hazard static in 1 daca x0=1, x1=1. Circuitul poate prezenta deci hazard static in 1comutatiile x2 in situatiile:011 111 3 7↔ ⇔ ↔

Pentru a elimina acest tip de hazard, in expresia functiei trebuie adaugati implicantii primi caresunt egali cu 1 pentru aceste comutari, deci B

z x x x x x x= + +2 0 2 1 1 0

2. ( )( )z R x S x T= + +

R S T z xx= = = =0 1,

( ) ( )x x z, ,= = →11 1 hazard static in 0

hazard static in 1x2 \ x1x0

00 01 1110

0 1 1 1 1

1

z x x x x

x x z x x

= +

= = = + →

2 0 2 1

0 1 2 01 1,

0 - -1 001 12 011

11036

3 111 7

A 0-11 R(1,3)

B -11 R(3,7)

C 11- R(6,7)

1 3 67

A 1 1B 1

1C 1

1

A x x B x xC x x

= ==

2 0 1 0

2 1

,

FA ( FA+ FB ) FC ( FB + FC ) = 1FA FC =1

Page 74: Analiza Si Sinteza Dispozitivelor Numerice

Pentru eliminarea acestui tip de hazard trebuie respectata conditia T ≤ R+S. marimile luate suntsimilare celor de la forma disjunctiva.

9.1.2 Hazardul dinamicUn CLC prezinta hazard dinamic daca pentru doua intrari adiacente iesirea trebuie sa comute

0 1→ ( )1 0→ , insa pe durata regimului tranzitoriu iesirea evolueaza in secventa0 1 0 1→ → → (respectiv 1 0 1 0→ → → ). Hazardul dinamic poate sa apara in circuitele in care exista 3sau mai multe cai de semnal in timpi de propagare diferiti pentru aceeasi variabila.Exemplu:

In cazul CLC pe doua nivele sintetizate corect nu poate sa apara hazard dinamic (considerand catimpii de propagare sunt aceeasi pentru porti similare).

9.1.3 Hazardul de surse

Un CLC prezinta hazard de surse daca atunci cand cel putin doua intrari se modifica iesireatrebuie sa ramana constanta, dar ea isi schimba valoarea pe durata regimului tranzitoriu.

Conditia necesara si suficienta pentru ca intre doua puncte de functionare sa nu existe hazard desurse este ca functia de iesire a circuitului sa contina implicantul prim ce inchide cele doua puncte.

Exemplu: z x x x x x= + +2 2 1 1 0 - nu prezinta hazard static in 1.

La comutarea 001 111→ , variabila care nu semodifica este x0 1= ; rezulta: z x x x x= + +2 2 1 1 .

A=B=1, C=0Z=0

A=B=1, C=1Z=1

( )C C : 1 - 2 6 - 5 - 2 3 - 4 - 5 - 2

X2 \ x1 x0 00 01 11 10 0 1 1 1 1 1

Page 75: Analiza Si Sinteza Dispozitivelor Numerice

Daca x x2 2, si x1 comuta dupa cum urmeaza, apare hazard de surse:

Cele doua puncte (intre care apare hazard de surse) nu pot fi incluse in acelasi implicant prim,desi hazardul de surse nu poate fi eliminat prin metoda mentionata. O solutie ar fi validarea iesirilornumai dupa terminarea regimului tranzitoriu. In cazul CLC, hazardul nu modifica decat regimultranzitoriu al circuitului , fara a schimba regimul permanent.

9.2 Hazardul in sisteme secventiale asincrone

9.2.1 Hazardul de curse Fie un sistem secvential asincron cu graful de fluenta din figura:

Daca automatul se afla intr-o anumita stare, iar stareaurmatoare este aceeasi pentru o anumita intrare, atunci starearespectiva se numeste stabila si se incercuieste (starea 3 pentru x=0).

Daca automatul se afla in starea 3 si x=0, nu are loc nici o tranzitie. Daca x devine 1, automatultrece in starea 0, apoi in 1, 2, 3 si din nou in 0 etc. . Pentru x=1, automatul nu evolueaza spre o starestabila si trece periodic prin aceeasi succesiune de stari, descriind un ciclu. Daca x devine din nou 0atunci cand automatul se afla in starea 0, atunci el trece in starea 2, apoi in starea stabila 3.

Daca asigurarea de stare se face conform tabelei de mai sus, tranzitia 0 2→ se codifica00 11→ . Tehnologic este imposibil ca ambele variabile (y1,y0) sa se modifice simultan. Exista 3posibilitati de modificare a variabilelor de stare y1 y0 din 00 in 11:

O succesiune de comutatii care inlocuieste o comutatie micase numeste cursa. Corespunzator acestor 3 variante, exista 3 variante de evolutie aautomatului, ilustrate pe matricea de excitatie. In toate cele 3 cazuri,automatul ajunge in starea stabila 3 (10); pe care nu o mai paraseste

Q y1 y00 0 01 0 12 1 13 1 0

Q \ x 0 1 0 2 1 1 2 2 2 3 3 3 3 0

y1 y0 \ x 0 1 00 11

01 01 11

11 11 10

10 10 10

00

Page 76: Analiza Si Sinteza Dispozitivelor Numerice

pana la o noua modificare a intrarii x. se spune ca aceasta sursa nu este critica, deoarece rezultatulcomutarilor succesive este identic cu cel prevazut in matricea de excitatie (atingerea starii stabile 3).Exista si surse pentru care starea finala depinde de ordinea in care are loc comutarea variabilelor destare; astfel de surse se numesc surse critice. Pentru a ilustra astfel de surse, consideram sistemul cugraful de fluenta din figura urmatoare.

Daca automatul se afla in starea00 cu x=0 si apoi devine , trece direct in 11 daca y1y0 comuta simultan.Daca y0 comuta primul, starea finala este tot 11, daca se trece si prin01. In schimb, daca y1 comuta primul, automatul ajunge in starea 10 (3)din care nu mai poate fi scos, indiferent de valoarea lui x.

In acelasi mod pot fi ? variabilelor de intrare atunci cand automatul are maimulte intrari ce se modifica simultan.

Hazardul de surse se elimina daca sunt respectate urmatoarele conditii:1. modificarea intrarii sa se faca prin schimbarea unei singure variabile de intrare: sunt necesare

circuite suplimentare care sa asigure aceasta conditie.2. tranzitiile intre stari sa se faca prin schimbarea unei singure variabile de stare: starile intre care

au loc tranzitii trebuie sa fie codificate prin valori adiacente ale variabilelor de stare.In continuare sunt ilustrate asigurarile de stare fara hazard de surse pentru automate in 3 si 4

stari:

Se observa ca esteimposibila o asigurare destare fara hazard de sursedaca au loc tranzitii intre

fiecare doua stari. Rezolvarea acestei probleme presupune ca starile intre care au loctranzitii sa fie codificate prin valori adiacente ale variabilelor de stare. Adiacenta este simplu pusa inevidenta pe diagramele Karnaugh; pentru asigurarea propusa, starile 0 si 1 sunt adiacente, deasemenea starile 1 si 2;este necesar ca si starile 1 si 2 sa fie adiacente; pentru aceasta, se introduce starea fictiva f si seimpune conditia ca automatul sa treaca neconditionat din f in 0; tranzitia 2 - 0 devine in acest caz 2 - f -0, rezolvandu-se astfel problema adiacentilor intre starile intre care au loc tranzitii.

Q \ x 0 1 0 0 1 1 2 1 2 0 1 3 3 3

y1 y0 \ x 0 1 00 00

11 01 00

11 11 01

11 10 10

10

Q y1 y0

0 0 01 1 12 0 13 1 0

1.

y1 \y0

0 1

0 0 1 1 f 2

2. y1 \y0

01

0 01

1 32

Q y1 y0 0 0 0 1 0 1 2 1 1 3 1 0

Page 77: Analiza Si Sinteza Dispozitivelor Numerice

Asigurarea de stare fara hazard de surse se poate realiza numai cu doua variabile de stare.

In cazul automatelor cu 4 stari al caror graf defluenta are o diagonala, eliminarea hazardului de sursenu se poate rezolva doar cu doua variabile de stare;oricum s-ar alege aceste variabile, vor rezulta tranzitiicare se realizeaza prin modificarea a doua variabile destare. Problema se poate rezolva daca se vor aloca 3variabile de stare; urmatoarele perechi de stari suntadiacente: 0-1, 1-2, 1-3; pentru a rezolva si adiacenta intre starile 2-3 si 3-0, se introduc doua stari fictivef1 si f2. Graful de fluenta modificat contine 6 stari, dintre care 2 fictive. Fiecare tranzitie din acest graf areloc intre stari adiacente (2-f2-3, 3-f1-0, 0-1, 1-2, 1-3), deci a fost rezolvata problema hazardului de surse.4.

Daca graful de fluenta are 2 diagonale, problema hazardului de surse poate fi rezolvata prinintroducerea unei a treia stari fictive, care sa rezolve adiacenta intre starile 0-2: 0-f3-2. Se obtine un grafde fluenta modificat cu 7 stari, dintre care 3 fictive, in care toate tranzitiile au loc intre stari vecine.

3. y2 \ y1y0

00 01 1110

0 f1 3 f2 1 0 1 2

y2 \ y1y0

00 01 1110

0 f1 3 f2 1 0 1 2 f3

Page 78: Analiza Si Sinteza Dispozitivelor Numerice

9.2.2. Hazardul de continuitate

Hazardul de continuitate se refera la regimul tranzitoriu al unei variabile logice:(x, x ) = (0, 0) sau (x, x ) = (1, 1).

Hazardul de continuitate pentru structura g poate fiasimilat hazardului static al CLC, care nu modificadecat regimul tranzitoriu al structurii, fara a schimbaregimul permanent. In schimb, prezenta hazardului decontinuitate in structura f poate determina modificareavariabilelor de stare pe durata regimului tranzitoriu,daca aceasta este mai mare decat timpul de reactie al

sistemului, se poate ajunge la o evolutie nedorita.Problema se poate rezolva prin urmatoarele masuri:

1. eliminarea hazardului static in structurile combinationale f si g ;2. reducerea duratelor regimurilor tranzitorii ale variabilelor sub timpii de reactie aisistemului( timpii de trecere dintr-o stare in alta ).

9.2.3 Hazardul de propagare

Consideram un sistem secvential la care structura combinationala f este constituita din mai multeblocuri f1,…..,fp. Daca un semnal decomanda se aplica unor blocuri diferite fi, fj, pot apare decalaje detimp la un bloc relativ la celalalt. Daca sub influenta acestor decalaje automatul evolueaza spre o starestabila diferita de cea din matricea de excitatie, sistemul prezinta hazard de propagare.

Solutia de eliminare a acestui tip de hazard este introducerea unor intarzieri suplimentare pentruunele blocuri, astfel incat sa dispara decalajele relative de timp.

9.3. Hazardul sistemelor secventiale sincrone

In cazul sistemelor secventiale sincrone, tipurile de hazard mentionate pentru sistemeleasincrone pot fi eliminate prin introducerea semnalului de ceas. Problemele care apar se datoreazãnerespectãrii conditiilor impuse de parametrii dinamici ai circuitelor utilizate (duratele impulsurilor, timpiide prestabilire, timpii de mentinere, timpii de propagare, frecventa maximã de lucru ).

9.3.1. Hazardul

Un sistem secvential sincron este comandat pe de o parte de ceasurile interne, iar pe de altãparte de semnalele externe si ceasurile interne sunt oarecare, ceea ce poate conduce la nerespectareatimpilor de prestabilire si de mentinere sau la obtinerea unor impulsuri de durata prea scurta, fenomenece pot produce hazard in functionare. Exemple:

1. Realizarea numaratoarelor modulo p ≠ 2k prin metoda aducerii la zero sau prin metoda resetariicontrolate daca se foloseste o reactie asincrona.Solutia consta in sincronizarea reactiei prin utilizarea unui bistabil care sa memoreze semnalul dereactie, asigurandu-i astfel o durata satisfacatoare. `

Page 79: Analiza Si Sinteza Dispozitivelor Numerice

2.

Semnalul CU care determinã incrementarea continutului numãrãtorului poate avea in unele cazuri oduratã activã prea micã. Solutia consta in utilizarea unui al doilea ceas decalat fata de primul, care sasincronizeze semnalul exterior N, memorandu-l intr-un bistabil:

Pentru sincronizarea mai multor semnale, se poate folosi un numar corespunzator de bistabile, sau unregistru de memorie.

9.3.2.Hazardul datorat semnalelor parazite pe intrari

In cazul bistabilelor J-K MASTER-SLAVE, semnalele parazite pe intrarile J sau K pe duratapalierului H al ceasului pot determina bascularea circuitului MASTER, a carui stare este copiata pefrontul negativ al ceasului in bistabilul SLAVE. Pentru a evita acest hazard, este necesar ca palierul H alceasului sa dureze cat mai putin posibil.

Aceasta anomalie nu poate sa apara la bistabilele D active pe front daca se respecta tsu si th,deoarece nu sunt luate in considerare modificarile intrarii D inainte sau dupa frontul pozitiv al ceasuluiT. Pot apare insa probleme daca durata frontului pozitiv este prea mare, datorita zgomotelor suprapusepeste semnalul de ceas (efectul de ceas multiplu).In consecinta trebuie asigurate fronturi pozitive catmai bune, in durata de minim 50 ns.

9.3.3Hazardul datorat decalajului de ceas

In unele situatii trebuie comandate mai multe intrari de ceas, incat, pentru respectarea…………… este necesara multiplicarea ceasului.

Datorita neidentitatii circuitelor 2,3pot apare decalaje intre T' si T'' (shew time), ceea ce poate conducela hazard in functionare.

Pentru eliminarea acestui tipde hazard se poate folosi una dinurmatoarele solutii:

1.comanda tuturor intrarilor de ceas de la o singura sursa obtinuta prin conectarea in paralel a maimultor parti in colector in gol.

Page 80: Analiza Si Sinteza Dispozitivelor Numerice

2.comanda intrarilor de ceas pentru bistabilele legate in cascada astfel incat ultimul bistabil din cascadasa basculeze primul.

10. CIRCUITE DE MEMORIE.ARII LOGICE PROGRAMABILE(PLA)SECVENTIATOARE LOGICE PROGRAMABILE(PLS)

10.1.Circuite de memorie

Circuite de memorie sunt circuite care asigura posibilitatea de regasire a unor informatiireprezentate sub forma binara care au fost stocate anterior. Din punct de vedere al modului de utilizarememoriile se clasifica in : -ROM, PROM, EPROM- memorii ce pot fi doar citite in sistemul care le utilizeaza; stergerea informatieieste posibila doar in cazul EPROM si nu este selectiva -RAM, EEPROM - memorii ce permit atat citirea cat si inscrierea informatiei.

10.1.1.Memorii ROM

Memoriile ROM sunt folosite doar pentru citirea informatiei inscrisa la fabricare; sunt nevolatile,adica informatia nu se distruge la disparitia tensiunii. Structura lor interna este conceputa matricial infiecare nod al matricei fiind memorat bit de informatie.

Liniile matricei (0÷2n-1) suntactivate de iesirile unuidecodificator ale unei intrarisunt conectate la liniile deadresare. Coloanele matriceisunt conectate la liniile dedate prin intermediul unoramplificatoare 3S.Semnalul CS realizeazaselectia circuitului (el poatecontrola si stareaiesirilor).Semnalul OEcontroleaza numai stareacircuitelor de iesire. Daca CS

=1, cuvantul aplicat pe intrarile de adresa determina activarea unei linii a matricei de memorare. Daca in

Page 81: Analiza Si Sinteza Dispozitivelor Numerice

nodurile de pe aceasta linie exista conexiuni pe colonele respective potentialul va fi determinat de iesiriledecodificatorului, deci ,, O " dacã nu sunt realizate conexiuni in noduri, potentialul coloanelor respectiveeste ,,1", determinat prin rezistentele legate la Vcc. Informatia de pe cele m coloane de date esteprezentata la iesire daca OE=1.Pentru functionarea corecta este necesara satisfacerea anumitor conditii de timp:tRC - durata ciclului de citire (intervalul de timp intre doua schimbari de adresa)tA - timp de acces la memorie (timpul scurs de la stabilirea adreselor la obtinerea datelor de iesire)tCS - timpul scurs de la CS=1 la iesirea datelor la iesiretOE - timpul scurs de la OE=1 la aparitia datelor la iesiretOH - timpul de mentinere a datelor la iesire dupa ce OE=0.

Memoriile PROM sunt circuite de memorie a cãror continut poate fi programat o singura datã, deutilizator dupã inscrierea informatiei, aceasta nu poate fi stearsã.

Memoriile EPROM au posibilitatea de inscriere repetata a continutului, stergerea acestuiafacandu-se prin expunere la radiatie ultravioleta sau X.

Memoriile E2PROM elimina dezavantajele circuitelor EPROM: stergerea intregului continut, timpde stergere ridicat, scoaterea circuitului din soclu pentru stergere. Stergerea informatiei din celule dememorare se realizeaza prin aplicarea unei tensiuni pozitive pe linia de selectie a cuvantului.

10.1.2 Memorii RAM

Denumirea (Random Access Memory) se datoreaza faptului ca accesul la orice cuvant almemoriei se realizeaza in acelasi interval de timp, spre deosebire de memoriile cu acces serial, la caretrebuie parcurse toate cuvintele, de la adresa prezenta la adresa dorita. O denumire mai corecta ar fifost EWM.

Structura unei memorii RAM este tot matriciala, in fiecare nod al matricei existand o celula dememorare. Daca celula de memorare are la baza o structura de bistabil, memoria este de tip static(SRAM); daca celula de memorare are la baza inmagazinarea pentru o durata finita a unei sarcinielectrice pe un condensator, memoria este de tip dinamic (DRAM).

Structura unei memorii SRAM este prezentata in continuare:

Caile de inscriere (D1) si de citire (D0) pot fi separate sau comune, caz in care intrarea se face printr-opoarta cu validare (CS+WR=0), iar iesirea printr-un amplificator 3S comandat (CS = 0, WR=1).

Structura interna poate fi regandita dupa cum urmeaza:Cu ajutorul liniilor de adresaA1÷An se poate selecta, prinintermediul decodificatorului,una din liniile matricei dememorare. Bitii ce constituielinia adresata dedecodificator sunt aplicatiunui multiplexor/demultiplexor comandat desemnalul WR. Liniile deadresa An+1 ÷ Am selecteaza

una dintre coloanele de date, conectand-o la linia externa de date D. Decodificatorul este validat desemnalul CS. Un ciclu de memorie consta in selectarea unei linii (CS, A1 ÷ An ) si apoi, dupa o intarzieredictata de propagarea prin decodificator si matricea de memorie, selectarea unei coloane (An+1 ÷ Am,

Page 82: Analiza Si Sinteza Dispozitivelor Numerice

WR). Adresele liniilor si coloanelor nu sunt deci necesare simultan. Utilizand latchuri, se poate imagina oschema in care liniile pentru A1 ÷ An sa fie comune cu cele pentru An+1 ÷ Am, daca n=m/2. Acesta esteprincipiul folosit la realizarea memoriilor DRAM. Operarea se face prin aplicarea pe liniile de adresa aadresei de linie, care este memorata in RL pe frontul negativ al RAS, apoi pe aceleasi linii de adresa seaplica adresa de coloana care este strobata in CL cu frontul negativ al CAS. Sensul datelor si functiastructurii MUX/DMUX sunt determinate de polaritatea semnalului WR.Avand in vedere ca celulele memoriei DRAM functioneaza pe baza stocarii unei sarcini electrice pe ocapacitate si ca aceasta capacitate se descarca in timp este necesara o operatie de reimprospatare amemoriei care sa reincarce capacitatea cel putin o data la 2ms. Reimprospatarea se poate face simultanpentru toate celulele de pe o linie.

10.1.3. Modificarea geometriei memoriilor

Prin modificarea geometriei se realizeaza circuite de memorie si *******de cuvinte sau numar debiti pe cuvant diferit de cel al circuitelor disponibile. Pentru modificarea numarului de biti pe cuvant seconecteaza in paralel circuitele de memorie disponibile. Semnalele de control si adresele sunt comune,functionarea circuitelor fiind simultana.

Pentru modificarea numarului de cuvinte, se aplica memoriilor folosite un numar de linii de adresacorespunzator capacitatii memoriilor. Adresa de rang imediat superior se foloseste pentru aplicareaselectiva a semnalelor de control (CS). Liniile de date sunt comune.

10.1.4. Aplicatii ale memoriilor in sinteza dispozitivelor numerice

Circuitele de memorie pot fi folosite pentru a sintetiza circuite logice combinationale sau circuitelogice secventiale, caz in care din schema trebuie sa faca parte si circuite pentru memorarea starii.Pentru a realiza un circuit combinational, variabilele de intrare se aplica pe liniile de adresa. In fiecarelocatie a memoriei se inscriu valorile functiilor corespunzatoare vectorului de intrare ce reprezinta adresalocatiei respective.

Page 83: Analiza Si Sinteza Dispozitivelor Numerice

Pentru sintezaunui sistemsecvential este

necesaraobtinerea

vectorului destare, memorareaacestuia si

realizareavectorului de iesire, in functie de vectorul de stare si de vectorul intrare. Sistemul secvential va ficonstituit dintr-o memorie care contine in fiecare locatie a sa vectorii yn+1 si zn, adresa locatiei fiind fixatade yn si xn.

Semnalul R este folosit pentru resetarea registrului dememorie, deci pentru aducerea sistemului in stareainitiala. Evolutia sistemului este determinata de ceasulT.

10.2. Matrici logice programabile (PLA)

PLA- urile sunt circuite ce contin numeroase porti logice interconectabile ce permit realizarea uneigame foarte variate de CLC. In punctele de conexiune interna sunt plasate sigurante fuzibile care pot fisau nu arse de catre utilizator, obtinandu-se astfel schema dorita.

Circuitul contine o matrice SI, o matrice SAU si un circuit de iesire. Forma canonica disjunctiva aunei functii booleene este:

��

==+

),(),(1

nnn

nnn

yxgzyxfy

∏= =

=

==1 1

)(1

0

)(f f

nh

n

jj QxZ jσ

Page 84: Analiza Si Sinteza Dispozitivelor Numerice

Matricea SI este constituita din circuite SI ce realizeaza termenii Qh(n) , care au pe intrari

variabilele de intrare Xi, Xi. Matricea SAU contine circuite conectabile la toate iesirile circuitelor SI sipermite realizarea FCD a functiei booleene (Z). Circuitul de iesire contine circuite XOR care permitobtinerea functiei logice Z sau inversei acesteia (Z) si buffere 3S controlate de un semnal OE.

PLA- urile pot fi folosite si la sinteza sistemelor secventiale, utilizandu-se pentru obtinereavectorilor de stare yn+1 si de iesire zn. Pentru intarzierea vectorului de stare se foloseste un circuit dememorare (bistabilele sau registru de memorie) ca si in cazul folosirii memoriilor pentru sinteza CLS.

10.3. Secventiatoare logice programabile (PLS)

PLS- urile permit realizarea circuitelor logice secventiale prin materializarea relatiilor cunoscute:

Schema bloc a unui astfel de circuit este prezentata in continuare:

B, B' - buffere de intrareSI, SI' - matrici SICPL - matricea complementara (permiterealizarea unei reactii asincrone intre SAU simatricea SI in scopul minimizarii de termeni SI)SAU, SAU' - matrici SAUM, M' - elemente de memorare (bistabile R-S)A - amplificatoare 3S de iesireOE - validare iesiriT - ceas

Structura matricei complementare CPL este prezentata in continuare:

Daca nu se utilizeaza matricea CPL, sigurantele fuzibile vor fi arse in totalitatea lor. Daca de exempludoua matrici SI furnizeaza mintermii Q1 si Q2 si este necesara si realizarea unui termen Qi = Q1+Q2, sefolosesc posibilitatile oferite de matricea CPL:

��

==+

),(),(1

nnn

nnn

yxgzyxfy

Page 85: Analiza Si Sinteza Dispozitivelor Numerice

11. AUTOMATE COMPLEXE

In cazul in care un automat prezinta mai mult de 5÷6 variabile de stare si de intrare, proiectareaprin metodele descrise anterior devine dificila. Astfel, minimizarea functiilor de transfer si de iesireutilizand diagrame Karnaugh devine practic inoperanta datorita dificultatilor ce apar in determinareavecinatatilor. In astfel de cazuri, proiectarea se face pe baza organismelor ce descriu algoritmii de lucruale automatelor.

Structura generala a unui automat secvential descris prin organigrama contine doua blocuridistincte: elementele functionale ale aplicatiei (EFA), care constituie schemele cu rol de executie sisistemul de comanda (SC) sau secventiatorul, care furnizeaza functiile de excitatie pentru EFA conformorganigramei:

11.1 Descrierea automatelor prin organigrame

Un automat poate fi descris printr-o organigrama logica in care sunt evidentiate operatiileprevazute de algoritmul de lucru si deciziile ce se iau la un moment dat. Actiunile automatului se executain mod secvential, o secventa fiind intervalul de timp in care se executa o operatie si/sau se ia o decizie.Exemplu: problema muzeului

C – sistemul de comanda (secvential)E – circuitul de evidenta

Dupa construirea organigramei se pun in evidenta secventele distincte (s0÷s4)

Page 86: Analiza Si Sinteza Dispozitivelor Numerice

11.2 Elementele functionale de aplicatie (EFA)

Organigrama asociata automatului scoate in evidenta pe langa algoritmul de lucru si elementelece vor constitui schemele de executie. Aceste elementele formeaza asa numitele elemente functionalede aplicatie (EFA). Pentru exemplul considerat, schemele EFA sunt redate in continuare:

Schemele EFA contin un numaratorzecimal reversibil (74192), ale caruiiesiri sunt conectate la intrarile unuidecodificator BCD-7 segmente(7446), care piloteaza in afisor "7segmente" cu LED-uri. Pentrustergerea numaratorului la punereala tensiuni sau la o comandaexterioara (SW), schema esteprevazuta cu un circuit de initializarerealizat cu o poarta trigger-schmit7413, care furnizeaza si semnalul deinitializare pentru secventiator, inscopul aducerii acestuia in secventes0.

Page 87: Analiza Si Sinteza Dispozitivelor Numerice

11.3. Sistemul de comanda (SC)

Blocul din componenta automatului care genereaza secventele de lucru si semnalele decomanda pentru EFA se numeste sistem de comanda (SC) sau secventiator. In fiecare secventa delucru se poate executa o anumita operatie (numita micro-operatie) si se trece la secventa urmatoare;aceasta trecere poate fi conditionata.

11.3.1. Secventiator cablat

Aceasta solutie presupune utilizarea unui element de memorare a starii (registru de memorie,numarator presetabil, bistabile etc.) cuplat ca un decodificator, fiecare vector decodificat producand oactiune specifica asupra EFA.In vederea proiectarii, fiecare secventa i se ataseaza un vector binar distinct. Organigrama logica setranspune intr-o tabela de adevar care contine vectorii binari (codurile) corespunzatori secventeiurmatoare. Pentru exemplul considerat:

Secventacurenta

Secventa urmatoare

C BA

C B A

s0 0 0 0 s0∪s1∪s3 0 X1 X0⊕X1

s1 0 0 1 s0∪s1∪s2 0 X1 X0X1

s2 0 1 0 s1∪s2∪s3 0 X1 X0⊕X1

s3 0 1 1 s0∪s3∪s4 X0 X0X1 X0X1

s4 1 0 0 s1∪s3∪s4 X0X1 X0 X0⊕X1

Tot pe baza organigramei se determina si expresiile semnalelor de comanda pentru EFA, tinandcont si de particularitatile acestora:

Daca se folosesc circuite basculante bistabile de tip D (7474) pentru realizarea elementului dememorare a starii, schema secventiatorului rezulta de forma din figura urmatoare: (Pentruimplementarea functiilor logice C, B, A se folosesc porti.)

+=++++=

++⊕++=

10403

041031210

10310110420

)(

))((

XXsXsCXsXXsXsssB

XXsXXsXXsssA

��

+=+=

0312

0011

XsXsDXsXsU

Page 88: Analiza Si Sinteza Dispozitivelor Numerice

Fig.2

In anumite situatii, trecerea de la o secventa la alta se face prin incrementarea sau prindecrementarea secventa. Existenta acestei situatii sugereaza posibilitatea implementarii elementului dememorare cu ajutorul unui numarator zecimal reversibil prestabil, pentru a putea asigura si incarcareaparalela a secventelor neconsecutive.

Din tabela de adevar a secventelor se stabilesc ecuatiile functiilor de incrementari, decrementarisi incarcare paralela:

In cazul in care PL este activ, trebuie determinate si secventele urmatoare:

++++=

++=

+++=

043310210100

104102101

0310211100

XsXsXXsXXsXsPL

XXsXXsXXsCD

XsXXsXsXXsCU

Page 89: Analiza Si Sinteza Dispozitivelor Numerice

Secventacurenta

Secventa urmatoare

C BA

C B A

s0 0 0 0 s0∪s3 0 X1 X1

s1 0 0 1 s1 0 0 1s2 0 1 0 s2 0 1 0s3 0 1 1 s0∪s3 0 X1 X1

4 1 0 0 s1∪s4 X1 0 X1

Schema secventiatorului daca pentru elementul de memorare se foloseste 74193 esteurmatoarea:

Fig. 3

=++=

+++=

14

2130

142130

)()(

XsCsXssB

XssXssA

Page 90: Analiza Si Sinteza Dispozitivelor Numerice

Poarta de schema care implementeaza semnalele de comanda (U, D) ramane aceeasi ca laschema precedenta.

11.3.2 Secventiator microprogramat

In cazul adaptarii acestei solutii, secventele organigramei sunt furnizate de continutul locatiilorunei memorii adresata de un element de secventiere *************

Una din caracteristicile secventiatorului micro-programat este lungimea cuvantului din memoriaprogram, cuvant care se numeste micro-instructiune. Adresarea micro-instructiunilor se poate face indoua moduri: explicit (adresa urmatoare este specificata in campul instructiunii curente) sau implicit(adresa urmatoare este adresa imediat superioara celei a micro-instructiunii curente). Totalitatea micro-instructiunilor utilizate de un sistem micro-programat constituie setul de micro-instructiuni. Pentru sintezaautomatelor micro-programate sunt necesare cel putin doua tipuri de instructiuni, corespunzatoare celordoua tipuri de adresare:

- instructiuni de salt conditionat: daca este indeplinita o anumita conditie, se executa un salt lao adresa specificata; in caz contrar, se continua se continue cu instructiunea urmatoare.

- Instructiuni de comanda: se da o anumita comanda catre EFA; programul continue cuinstructiunea urmatoare.

Campul instructiunii trebuie deci sa contina 3 zone:- Instructiuni de salt conditionat:

T C A

T - tipul instructiunii (T=1 instructiune de salt conditionat) C - codul conditiei ce provoaca saltul A - adresa da salt

- instructiune de comanda:

T E O

T - tipul instructiunii (T=0 instructiune de comanda) E - codul comenzii de executat O - experimentul comenzii (de exemplu, daca E codifica incarcarea unui registru de memorie, O estecuvantul ce va fi memorat)

Page 91: Analiza Si Sinteza Dispozitivelor Numerice

Avand in vedere cele expuse, schema bloc a unui secventiator micro-programat este urmatoarea:

RAP - registru de adreseprogramRMA - registru de memoriepentru adresa de saltMEM - memorie programDEC1 - decodificator deinstructiuniMUX - selector de conditiiDECE - decodificator de comenziRM - registrul de memoriepentru operandul comenzii

Fig. 4Programul de functionare al

automatului este descris desecventa de micro-instructiuni

inscrisa in memoria programului. Pentru exemplul considerat programul este urmatorul:Exista doua tipuri de instructiuni (IP, EX), deci tipul instructiunii poate fi codificat pe un bit

Simb adresa binar HexaS0 0 0 0 0 10000000 80

0 0 0 1 10101001A9

S1 0 0 1 0 10000000 800 0 1 1 10010010 920 1 0 0 00000000 00

S20 1 0 1 10110101 B5

0 1 1 0 10101001 A90 1 1 1 00010000 101 0 0 0 11000010 C2

S3 1 0 0 1 10000000 801 0 1 0 10101001

A91 0 1 1 00010000 10

S4 1 1 0 0 10111100BC

1 1 0 1 10010010 921 1 1 0 00000000 001 1 1 1 11001001

C9

Page 92: Analiza Si Sinteza Dispozitivelor Numerice

:IP : 1EX: 0

Conditiile de salt se pot codifica pe 3 biti:X1X0 = 1 100X1X0 = 1 001X1X0 = 1 010X1X0 = 1 011NC 100

Comenzile furnizate de secventiator (U, D) pot fi codificate pe un singur bit, dar lungimea zonei 2 acampului instructiunii este dictata de lungimea codului de salt (3 biti)U (INC) 000D(DEC) 001

Comenzile nu necesita operanzi.

Adresele de salt au lungimea de 4 biti (programul cuprinde 16 instructiuni plasate intre adresele 000 si1111).

Programul scris in binar si in hexa este prezentat in tabelul de mai sus, folosindu-se codificarileenumerate.Pentru implementarea memoriei program este necesara un circuit de memorie cu dimensiunile 16×8. Sepoate folosi un circuit 74188 (PROM 32×8 ti iesiri cu selector in gol). Cu aceste specificatii, schemasecventiatorului este cea prezentata in continuare:

Se observa ca acestsecventiator poate fi utilizatsi pentru comanda altorEFA-uri, daca se schimbaprogramul (alt PROM), cuconditia sa nu existe maimult de 7 conditii de salt simai mult de 2 iesiri decomanda. Numarul iesirilorde comanda poate fi marit(max. 8) daca se folosesteun decodificator (7442)pentru obtinerea semnalelorde comanda.

Fig. 44-2

Page 93: Analiza Si Sinteza Dispozitivelor Numerice

11.3.3 Secventiator programat

Intre functiile logice si structura unei organigrame exista o echivalenta directa:

Aceasta echivalenta conduce la ideea inlocuiriiportilor logice si a conexiunilor dintre ele cusecvente de program corespunzatoare, avand invedere si faptul ca structurile logice de baza potfi combinate pentru a produce orice functie.

Pe structurile prezentate, functiile X si Ysunt generate la momente diferite de timp,

folosind acelasi suport hardware (procesorul). Din acest motiv, logica programata este mai lenta,conferind insa o flexibilitate maxima datorita posibilitatii implementarii oricarei functii logice.

Pentru a implementa o functie logica solicitata de o anumita aplicatie, cu ajutorul unuimicrocalculator, trebuie proiectata o interfata intre proces si microcalculator si trebuie proiectatprogramul care sa realizeze functia respectiva. Interfata consta intr-o serie de porturi de intrare fisiereprin care se realizeaza comunicatia proces-microcalculator. Interfata trebuie sa asigure citirea marimilorde intrare si a conditiilor furnizate de proces, precum si transmiterea de comenzi catre proces. Interfatacomunica cu microcalculatorul prin registrele de adrese, magistrala de date si magistrala de comanda.

Pentru exemplul considerat (problema muzeului), interfata trebuie sa asigure indeplinireaurmatoarelor cerinte:

- citirea marimilor de intrare X1, X0; este deci necesar un port de intrare de 2 biti, cu iesiri pe 3 bitipentru a putea fi conectat la magistrala de date a microcalculatorului.

- transmiterea comenzilor U, D catre EFA; este necesar un port de iesire de 2 biti.- validarea / selectarea celor doua porturi; este necesar o logica de decodificare.

Avand in vedere aceste cerinte, schema interfetei este urmatoarea:

port Adresa Continut WR ActiuneP1

P2

0 0 x x x x x x

0 0 x x x x x x

0 0 x x x x x x

x x x x x x X1 X0

x x x x x x 1 0

x x x x x x 0 1

1

0

0

Citire

U (INC)

D (DEC)

Page 94: Analiza Si Sinteza Dispozitivelor Numerice

Organigrama programului este prezentata in continuare:Fig 45-2

Programul in limbaj de asamblare Z80 este urmatorul:

11.3.4 Criterii de alegere a tehnicii derealizare a secventiatorului

Realizarea unui secventiator se poate face inuna din urmatoarele variante:

1. logica cablata: se foloseste pentruautomate mici (max. 20÷40 C1) care nusolicita modificari, necesita viteze mari delucru si la care nu este necesara vehiculareaunui numar mare de date; aceasta solutieconfera viteza maxima de lucru, cost minimde proiectare, dar nu este deloc flexibila.

2. logica microprogramata: aceasta tehnica de realizare confera secventiatorului posibilitatea dea fi modificat fara modificarea totala a structurii (uneori trebuie modificat doar PROM-ul); viteza de lucruest mai mica decat la secventiatorul cablat datorita micro-instructiunilor de salt.

3. logica programata cu microcalculator: se foloseste in aplicatiile ce nu necesita viteze mari delucru, dar care solicita calcule aritmetice si/sau memorarea/prelucrarea unui volum mare de date.

S0: INA,(00) AND 03 CP 01 IR C,S0 IR Z,S1S3: IN A,(00) AND 03 CP 02 IR C,S0 IR Z,S3 LD A,01 OUT(00), A RES 0,A OUT(00), AS4: IN A,(00) AND 03 CP 02 IR C,S1 IR Z,C1

IR S4C1: ID A, 02 OUT (00),A RES 1, A OUT (00),A IR S3S1: IN A,(00) AND 03 CP 01 IR C,S0 IR Z,S1 LD A,02 OUT (00),A RES 1, A OUT(00), AS2: IN A,(00) AND 03 CP 02 IR C,C2

IR Z,S3 IR S2C2: LD A,01 OUT(00), A RES 0,A OUT(00), A IR S1