Referat, comentariu, eseu, proiect, lucrare bacalaureat, liceu si facultate
Top referateAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
CIRCUITE LOGICE COMBINATIONALE
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

2.1. Definitii g7i15iq
Circuitele logice combinationale, CLC, sunt un caz particular al sistemelor secventiale finite sau al automatelor finite, numite automate de grad 0.
Circuitele logice combinationale se caracterizeaza prin faptul ca variabilele de iesire sunt independente de timp si de starea interna, fiind determinate numai de variabilele de intrare (starea variabilelor de intrare la momentul considerat).
Legatura dintre starea iesirii si starea intrarii unui CLC este realizata de functia de transfer. x1 y1 x2 y2
CLC

xn ym

Oricare functie de iesire y (y1, y2,…, ym) este functie de toate variabilele de intrare (x1, x2,…, xn). Un CLC se poate descrie astfel: y1 = f1(x1, x2,…, xn) y2 = f2(x1, x2,…, xn)

ym = fm(x1, x2,…, xn)
Functiile se vor exprima in forma canonica disjunctiva FCD sau in forma canonica conjunctiva FCC.
Independenta fata de timp presupune ca o data cu modificarea variabilelor de intrare se modifica simultan si variabilele de iesire. Din punct de vedere practic, datorita intarzierilor produse de circuitele logice si de conexiuni, modificarea simultana nu este posibila. Ca urmare, pe durata procesului tranzitoriu de stabilire a variabilelor de iesire, vectorul iesirilor poate lua valori intermediare diferite de valoarea finala, ceea ce conduce la fenomenul de hazard combinational, de care trebuie sa se tina cont la proiectarea unui sistem numeric.
In general, la circuitele logice combinationale, vom face abstractie de proprietatile fizice ale portilor logice, de faptul ca un impuls teoretic difera de unul real. Vom analiza aceste fenomene doar in cazul hazardului combinational.

2.2. Analiza circuitelor logice combinationale
In cadrul analizei CLC se pleaca de la cunoasterea schemei logice a circuitului si se urmareste stabilirea functionarii acestuia. Stabilirea expresiei variabilei de iesire se face de la intrare la iesire, urmarind transformarile variabilelor de intrare.
Definim ca numar de nivele al unui CLC numarul maxim de porti dintre intrari si iesiri. Numerotarea nivelelor se face de la iesire inspre intrare. x5 x1 x2 y1 x3 x4 y2 x6 x7




4 3 2 1

Circuitul logic combinational din exemplu are 4 nivele.
Exista si urmatoarea situatie de legaturi intre porti: x1 y x2

x3

Acest circuit are si legaturi inverse. Ultimele porti nu pot fi numerotate, deci circuitul nu este un CLC.
In CLC sunt admise legaturile inverse (iesirea unei porti dintr-un nivel inferior sa fie dusa la intrarea unei porti dintr-un nivel superior) cu conditia ca definitia CLC sa fie respectata.
Algoritm de determinare a legaturilor inverse in CLC a. Se numeroteaza toate portile logice care au ca intrari un subset din multimea variabilelor de intrare ale circuitului logic (de la 1 la k); b. Se numeroteaza de la k+1 portile care au ca intrari fie intrari ale circuitului, fie iesiri ale portilor numerotate la punctul a. Daca am reusit sa numerotam toate portile circuitului logic, acesta este fara legaturi inverse si este circuit combinational. Daca nu am reusit numerotarea tuturor portilor logice, circuitul este de tip secvential.

2.3. Sinteza circuitelor logice combinationale
In cadrul sintezei circuitelor logice combinationale se cunoaste functia pe care trebuie sa o indeplineasca circuitul si se cauta sa se gaseasca structura acestuia.
Etapele sintezei circuitelor logice combinationale sunt:
1. Enuntul problemei;
2. Alcatuirea tabelului de adevar, definirea functiei sau functiilor;
3. Minimizarea functiei sau functiilor;
4. Desenarea schemei circuitului
Exista mai multe metode de implementare a CLC, diferentiate dupa nivelul de complexitate al circuitelor integrate folosite.

2.3.1. Sinteza CLC cu circuite integrate SSI
Circuitele integrate de tip SSI -; small scale integration -; au pana la 50 de tranzistoare integrate pe capsula. Dintre aceste circuite fac parte portile logice fundamentale: SI-NU (NAND), SAU-NU (NOR), NU (NOT), SI (AND), SAU (OR), SAU-EXCLUSIV (XOR).
Dupa parcurgerea etapelor de sinteza se face implementarea functiei sau functiilor logice cu ajutorul circuitelor integrate existente. CLC de tip SSI se folosesc mai mult pentru adaptarea la aplicatie a circuitelor de tip MSI si LSI standardizate, care nu satisfac cu exactitate cerintele de proiectare. Ele vor fi utilizate acolo unde circuitele cu grad inalt de integrare nu pot fi folosite.

2.3.2. Sinteza CLC cu circuite integrate MSI
Circuitele integrate de tip MSI -; medium scale integration -; au pana la 500 de tranzistoare integrate. Ele ofera structuri mai complexe, disponibile ca si structuri standard.
Forma functiilor logice pe care dorim sa le implementam cu circuite de tip MSI trebuie sa fie corelata cu circuitele disponibile. De obicei nu mai este necesara minimizarea functiilor.
Circuite combinationale uzuale (specializate)
1. Convertoare de cod
Convertoarele de cod sunt CLC care permit trecerea dintr-un cod binar in altul. La intrarea circuitului se aplica cuvintele unui cod si la iesire se obtine alt cod. Convertoarele de cod fac compatibila functionarea a 2 sisteme in care informatia este codificata in mod diferit.
Exemplu: Conversiile din cod Gray in cod binar-zecimal (BCD) si invers
1) Cod Gray ® BCD
Cuvintele de cod in cele doua coduri sunt:
Gray: gn, gn-1,…, g0
BCD: bn, bn-1,…, b0
Reguli: bn = gn g3 g2 g1 g0 b3 b2 b1 b0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 1 0 0 1 0
0 0 1 0 0 0 1 1
0 1 1 0 0 1 0 0
0 1 1 1 0 1 0 1
0 1 0 1 0 1 1 0
0 1 0 0 0 1 1 1
1 1 0 0 1 0 0 0
1 1 0 1 1 0 0 1
1 1 1 1 1 0 1 0
1 1 1 0 1 0 1 1
1 0 1 0 1 1 0 0
1 0 1 1 1 1 0 1
1 0 0 1 1 1 1 0
1 0 0 0 1 1 1 1
Se construiesc diagrame Karnaugh pentru determinarea functiilor minimizate pentru b3, b2, b1, b0.
Diagrama Karnaugh pentru b3: g3g2 g1g0 00 01 11 10
00
01
11 1 1 1 1
10 1 1 1 1
Obtinem: b3 = g3
Diagrama Karnaugh pentru b2: g3g2 g1g0 00 01 11 10
00
01 1 1 1 1
11
10 1 1 1 1
Obtinem b2 = g2g3 + g2g3 = g2 + g3
Diagrama Karnaugh pentru b1: g3g2 g1g0 00 01 11 10
00 1 1
01 1 1
11 1 1
10 1 1
Obtinem b1 = g1g2g3 + g1g2g3 + g1g2g3 + g1g2g3 = g1(g2 + g3) + g1(g2 + g3) = g1 + g2 + g3

Diagrama Karnaugh pentru b0: g3g2 g1g0 00 01 11 10
00 1 1
01 1 1
11 1 1
10 1 1
Obtinem b0 = g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 = g2g3(g0 + g1) + … = g0 + g1 + g2 + g3
In general: bn = gn i bi = 1 daca + S gj = 1 j=n-1
0 daca nu

2) Conversia din BCD in Gray: gn = bn gi = bi + bi+1
2. Codificatoare
Codificatoarele sunt CLC la care activarea unei intrari conduce la aparitia unui cuvant de cod la iesire.
Exemplu: Codificator din zecimal in BCD (binar codificat zecimal)
Zecimal BCD
0 1 2 3 4 5 6 7 8 9 23 22 21 20
0 1 1 1 1 1 1 1 1 1 0 0 0 0
1 0 1 1 1 1 1 1 1 1 0 0 0 1
1 1 0 1 1 1 1 1 1 1 0 0 1 0
1 1 1 0 1 1 1 1 1 1 0 0 1 1
1 1 1 1 0 1 1 1 1 1 0 1 0 0
1 1 1 1 1 0 1 1 1 1 0 1 0 1
1 1 1 1 1 1 0 1 1 1 0 1 1 0
1 1 1 1 1 1 1 0 1 1 0 1 1 1
1 1 1 1 1 1 1 1 0 1 1 0 0 0
1 1 1 1 1 1 1 1 1 0 1 0 0 1
Intrarile sunt active pe 0 logic. De exemplu, daca este activa (adica 0) intrarea 5, pe iesire se va obtine codul in BCD pentru 5, adica 0101.
Functiile pentru iesiri sunt:
23 = 8 × 9
22 = 4 × 5 × 6 × 7
21 = 2 × 3 × 6 × 7
20 = 1 × 3 × 5 × 7 × 9
Codificatorul prioritar este un codificator care are mai multe intrari active simultan si la iesire se obtine cuvantul de cod care corespunde intrarii care este cea mai prioritara. Prioritatea creste de la cifra 0 inspre cifra 9.
3. Decodificatoare
Decodificatoarele sunt CLC la care se activeaza doar una dintre iesiri, pentru combinatia (codul) corespunzatoare a variabilelor de intrare. Ele au functie inversa codificatoarelor. Iesirile decodificatoarelor sunt active pe 0 logic (functioneaza in logica negativa).

I1 y1
Circuite SI-NU
In ym

Numarul iesirilor distincte este m £ 2n.
Exemplu: Decodificator pentru 3 cifre binare.
I2 I1 I0 O7 O6 O5 O4 O3 O2 O1 O0
0 0 0 1 1 1 1 1 1 1 0
0 0 1 1 1 1 1 1 1 0 1
0 1 0 1 1 1 1 1 0 1 1
0 1 1 1 1 1 1 0 1 1 1
1 0 0 1 1 1 0 1 1 1 1
1 0 1 1 1 0 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1

Functiile pentru iesiri sunt: O7 = I2I1I0; O6 = I2I1I0; O5 = I2I1I0; O4 = I2I1I0; O3 = I2I1I0; O2 = I2I1I0; O1 = I2I1I0; O0 = I2I1I0.
4. Multiplexoare
Multiplexoarele sunt CLC care permit trecerea datelor de pe una din intrari la o iesire unica. Selectia intrarii se face printr-un cuvant de cod de selectie numit si adresa.
I0
MUX y
In-1

sm-1 s0
Cu m linii de selectie se pot selecta 2m intrari. Functia realizata de iesire este: y = Ik unde k este numarul de combinatii k = sm-1 × 2m-1 + … + s0 × 20
Aplicatiile cele mai importante ale MUX sunt la selectia secventiala a datelor, conversia paralel-serie a datelor, sisteme de transmisie a datelor pe un singur canal, implementarea circuitelor logice combinationale cu o singura iesire.
Exemple
1) I0
MUX y
I1 2 : 1

s
Multiplexorul de tip 2:1 are 2 semnale de intrare, I0 si I1, un semnal de selectie s si o iesire y. In functie de semnalul de selectie avem pentru iesire: y = I0 × s + I1 × s. s = 0 ® y = I0 s = 1 ® y = I1
Deci multiplexorul lasa sa treaca spre iesire semnalul de pe acea linie de intrare corespunzatoare lui s.
2) I0
I1 MUX
I2 4 : 1 y
I3

s0 s1
Multiplexorul de tip 4:1 are 4 semnale de intrare, 2 semnale de selectie si un semnal de iesire. Iesirea va fi: y = I0 × s0 × s1 + I1 × s0 × s1 + I2 × s0 × s1 + I3 × s0 × s1
Exista multiplexoare de tip 8 : 1, 16: 1, 32 : 1. Multiplexoarele integrate au disponibile atat iesirea adevarata cat si cea negata. Ele au si o intrare de “Enable” pentru validare, care permite o functie SI suplimentara.
5. Demultiplexoare
Demultiplexoarele sunt CLC care permit transmiterea datelor de pe o intrare de date comuna pe una din iesirile selectate. Selectarea iesirii se face cu ajutorul unui cuvant de cod de selectie numit si adresa. y0
I DEMUX yn-1

sm-1 s0

Cu m linii de selectie se pot selecta 2m iesiri. Functiile de iesire sunt:

y0 = sm-1 × … × s0 × I y1 = sm-1 × … × s0 × I

y2m = sm-1 × … × s0 × I
6. Comparatoare numerice
Comparatoarele numerice sunt CLC care permit determinarea valorii relative a doua numere binare. Comparatoarele pot fi de 1 bit sau de mai multi biti.
Exemplu: Comparator pe 1 bit
Ai y1 y2
Bi y3

Functiile de iesire sunt: y1 = Ai × Bi pentru Ai < Bi, y2 = Ai + Bi pentru Ai = Bi y3 = Ai × Bi pentru Ai > Bi
Acest circuit constituie celula de baza pentru compararea numerelor cu mai multi biti.
7. Detectoare-generatoare de paritate
Detectoarele-generatoare de paritate sunt CLC cu rol de a determina si genera paritatea sau imparitatea numarului de variabile de intrare egale cu 1. Bitul de paritate este utilizat ca metoda de verificare a transferului de date. Sunt posibile 2 situatii: a. numarul bitilor de 1 + bitul de paritate = numar par b. numarul bitilor de 1 + bitul de paritate = numar impar
Realizarea detectoarelor de paritate se bazeaza pe functia logica SAU-EXCLUSIV (0 pentru par si 1 pentru impar).
8. Sumatoare-scazatoare
Sumatoarele si scazatoarele sunt CLC care realizeaza adunarea, respectiv scaderea cifrelor binare.
Semisumatorul este un CLC care efectueaza suma a 2 numere binare de cate 1 bit, fara a tine cont de transportul de la bitul de semnificatie imediat inferioara. Semisumatorul este:
A0 S0
1/2 S
B0 C0

Valorile pentru suma S0 si transportul spre rangul superior C0 sunt:
S0 = A0 × B0 + A0 × B0 = A0 + B0
C0 = A0 × B0
Sumatorul pentru bitul de rang n este:
An Sn
Cn-1 S
Bn Cn

Valorile pentru suma Sn si transportul Cn pentru rangul superior sunt:
Sn = An × Bn × Cn-1 + An × Bn × Cn-1 + An × Bn × Cn-1 + An × Bn × Cn-1 =
= (An + Bn) × Cn-1 + (An + Bn) × Cn-1 = An + Bn + Cn-1
Cn = An × Cn-1 + Bn × Cn-1 + An × Bn
Sumatoarele pentru cuvinte binare cu mai multi biti se realizeaza prin interconectarea sumatoarelor pentru 1 bit. Adunarea se efectueaza in paralel, iar propagarea transportului in serie.
Semiscazatorul de 1 bit are iesirile:
D0 = A0 × B0 + A0 × B0 = A0 + B0
I0 = A0 × B0
Scazatorul complet de rangul n are iesirile:
Dn = An × Bn × In-1 + An × Bn × In-1 + An × Bn × In-1 + An × Bn × In-1 = =(An + Bn) × In-1 + (An + Bn) × In-1 = An + Bn + In-1
In = An × In-1 + Bn × In-1 + An × Bn
Scazatoarele pentru cuvinte binare cu mai multi biti se realizeaza prin interconectarea scazatoarelor pentru 1 bit.
9. Unitati aritmetico-logice
Unitatile aritmetico-logice sunt CLC care realizeaza operatii de tip aritmetic si operatii de tip logic.

Curs 5

2.3.2.1. Implementarea functiilor booleene cu circuite MSI
Circuitele integrate de tip MSI cum sunt decodificatorul DCD, demultiplexorul DEMUX si multiplexorul MUX pot fi considerate circuite universale deoarece genereaza in interior toti termenii canonici.
Implementarea cu DCD a unei functii booleene nu necesita operatii de minimizare. La iesirea DCD se obtin toti termenii canonici negati ai formei canonice disjunctive FCD ai functiei. Realizarea functiei se face cu o poarta logica de tip SI-NU, cu un numar de intrari egal cu numarul de termeni ai functiei.

Implementarea cu MUX a unei functii booleene se bazeaza pe relatia care defineste functionarea sa. De exemplu, pentru un MUX de tip 4:1 avem ecuatia iesirii: y = I0 × x1 × x2 + I1 × x1 × x2 + I2 × x1 × x2 + I3 × x1 × x2
in care se observa ca exista intrari separate pentru fiecare din cele 4 combinatii ale variabilelor de selectie x1, x2.
Daca avem o functie booleana de n variabile de intrare se pot da factor variabilele x1 si x2 si se obtin 4 functii de n-2 variabile de intrare, care se vor conecta la intrarile I0 -; I3 ale unui MUX de tip 4:1. Similar, cu un MUX 8:1 se pot elimina 3 variabile de intrare, iar cu un MUX 16:1 se pot elimina 4 variabile de intrare.
Daca avem o functie de 4 variabile se pot elimina 3 variabile prin aplicarea lor pe intrarile de selectie ale unui MUX 8:1. La cele 8 intrari ale MUX se vor conecta cele 8 functii de o variabila. Singurele functii posibile de o variabila sunt: xi, xi, 0, 1. Deci putem implementa orice functie cu 4 variabile de intrare folosind un singur MUX de 8 cai si fara porti aditionale.
Exemplu
Consideram functia: f = (0, 1, 3, 5, 9, 10, 13, 15) = x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0
Folosim un MUX 8:1 si aplicam variabilele x2x1x0 pe intrarile de selectie. Pentru a determina intrarile multiplexorului, I0 -; I7, vom face un tabel:
I0 x3 x2x1x0
I1 1 (x3 + x3) × x2x1x0
I2 x3 x2x1x0
I3 x3 x2x1x0
I4 0 x2x1x0
I5 1 (x3 + x3) × x2x1x0
I6 0 x2x1x0
I7 x3 x2x1x0

Implementarea functiei cu MUX este:
En x3
1 x3 x3 f
0 f
1
0 x3 s2 s1 s0

x2 x1 x0
Avantajele implementarii cu MUX:
- se poate implementa functia cu un sigur circuit de tip MUX;
- intrarea de Enable poate fi folosita ca un SI final cu intreaga functie;
- doar o singura variabila trebuie sa fie disponibila si adevarata si negata.
Dezavantajele implementarii cu MUX:
- nu se pot folosi termeni in comun in cazul minimizarii sistemelor de functii (sisteme cu mai multe iesiri);
- nu se poate face implementarea functiilor la care numarul de termeni este mai mare decat numarul intrarilor MUX;
- exista multe functii care pot fi implementate comod prin utilizarea de porti logice ® MUX utilizat doar pentru functii dificile.
Procedura de implementare cu MUX se poate face plecand de la diagrama Karnaugh. Se construieste o diagrama Karnaugh in care se defineste domeniul intrarilor I. x3x2 x1x0 00 01 11 10
00 I0 I1 I3 I2
01 I4 I5 I7 I6
11 I4 I5 I7 I6
10 I0 I1 I3 I2

x3x2 x1x0 00 01 11 10
00 1 1 1
01 1
11 1 1
10 1 1

Variabila care variaza este x3. Configuratiile de 1 din diagrama Karnaugh indica modul de conectare a intrarilor MUX, la x3, x3, 1 sau 0.
I0 = x3; I1 = 1; I2 = x3; I3 = x3; I4 = 0; I5 = 1; I6 = 0; I7 = x3

2.3.3. Sinteza CLC cu circuite integrate LSI
Circuitele integrate de tip LSI -; Large Scale Integration -; au peste 500 de tranzistoare integrate pe capsula. Pentru exemplificarea sintezei CLC se descriu doua tipuri de circuite din aceasta categorie: ROM (Read Only Memory) si PLA (Programmable Logic Array), cu varianta FPLA.
2.3.3.1. Sinteza CLC cu memorii de tip ROM
Memoria de tip ROM este numita si memorie fixa sau permanenta. Ea este nevolatila, continutul ei nu se modifica in timpul functionarii. Structura ei este stabilita in procesul de fabricatie sau este stabilita de utilizator prin programare.
I0 O0

DCD Matrice
In-1 Om-1

Memoria ROM este formata din doua niveluri de porti logice: SI (un decodificator) si SAU-NU (matricea de memorie). DCD din primul nivel primeste codurile de intrare in binar (n este numarul intrarilor) si activeaza pentru fiecare cod o iesire din cele 2n. Iesirile DCD se conecteaza sau nu se conecteaza la circuitele de tip SAU-NU si astfel se memoreaza un 0 sau un 1 logic.
Vectorii de intrare in ROM se numesc adrese si reprezinta codurile in binar ale numerelor asociate fiecarui cuvant de memorie. Iesirile sunt de obicei “three-state” sau “open colector” pentru a permite legarea in paralel cu iesirile altor memorii.
Avem notatiile: n = numarul de biti ai vectorului de intrare (adresa) c = numarul de cuvinte memorate in ROM ® c = 2n b = numarul de biti din fiecare cuvant
Numarul de cuvinte trebuie sa fie putere a lui 2. Modul de organizare a ROM este specificat prin produsul c x b. Capacitatea memoriei se exprima prin numarul total de biti memorati: C = 2n x b. Unitatea de masura pentru capacitatea memoriei este kilobitul (1 Kb = 1024 biti).
Memoriile au o intrare de “Enable” care permite (E = 0) sau inhiba (E = 1) functionarea ROM. Daca memoria este dezactivata, indiferent de adresare, iesirile sunt pe semnal logic 1.

Aplicatiile mai importante ale memoriilor de tip ROM sunt:
- memorarea instructiunilor si datelor in sisteme de calcul si automate secventiale;
- transformari de adresa si inmagazinarea instructiunilor in microprogramare;
- conversii de cod;
- generatoare de caractere;
- generare de secvente de impulsuri;
- implementarea CLC cu un numar mare de variabile de intrare si iesire.
Implementarea CLC cu un numar mare de variabile de intrare si iesire se bazeaza pe structura interna a memoriei ROM. Pe nivelul de DCD se decodifica toti termenii canonici. Fiecare cuvant de la intrarea matricei reprezinta de fapt un termen canonic format din variabilele de intrare. La nivelul urmator se aduna toti termenii din expresia oricarei functii si rezulta functia de iesire. Lista de cuvinte din ROM este chiar tabelul de adevar al CLC. La implementarea cu ROM nu este necesara minimizarea, deoarece sunt memorati toti termenii canonici si sunt incluse toate posibilitatile de aparitie a acestora in functia de iesire.
Pentru folosirea eficienta a memoriei ROM in sinteza functiilor booleene, variabilele de intrare si iesire trebuie codate, astfel incat sa contina cat mai multa informatie. Se poate codifica orice grup de variabile care sunt mutual exclusive, adica doar una dintre ele poate fi activa la un moment dat.
Pentru reducerea numarului de intrari in ROM se utilizeaza des si multiplexoarele.
Exemplu: Sa se implementeze cu ROM functiile: f0(x3,x2,x1,x0) = x3 × x2 × x1 × x0 f1(x3,x2,x1,x0) = x2 × x1 f2(x3,x2,x1,x0) = x3 × x2 × x1 × x0 + x3 × x2 × x0 + x3 × x2 × x0 + x2 × x1
Memoria folosita este de tipul:

x3 A3 x2 A2 16 x 4 biti x1 A1 x0 A0 CS

D3D2D1D0

f2 f1 f0
Cu A s-au notat intrarile de adrese, cu D datele si cu CS (chip select), intrarea de Enable a circuitului.
Continutul inscris in memorie este dat in tabelul urmator:
A3 A2 A1 A0 D3 f2 f1 f0
0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0
0 0 1 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 0 0 0 1 0
0 1 0 1 0 0 1 0
0 1 1 0 0 1 0 0
0 1 1 1 0 1 0 0
1 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0
1 0 1 0 0 1 0 1
1 0 1 1 0 0 0 0
1 1 0 0 0 0 1 0
1 1 0 1 0 1 1 0
1 1 1 0 0 1 0 0
1 1 1 1 0 1 0 0

Scopurile urmarite la implementarea cu ROM sunt:
- utilizarea unui numar minim de circuite integrate;
- folosirea integrala a capacitatii memoriei.
Pentru implementarea CLC cu memorii ROM trebuie urmarite urmatoarele etape:
- stabilirea dimensiunii memoriei necesare pentru aplicatia respectiva;
- alegerea tipurilor de circuite de tip ROM cu dimensiuni identice sau cat mai apropiate de cele stabilite anterior;
- daca nu exista memorii cu dimensiuni identice sau apropiate de cele dorite se fac transformari de dimensiuni (modificarea numarului de cuvinte sau numarului de biti pe cuvant);
- stabilirea tabelului de adevar al ROM;
- reducerea dimensiunii ROM atunci cand este posibil prin utilizarea codificarii intrarilor sau iesirilor si a multiplexarii intrarilor.
2.3.3.2. Sinteza CLC cu PLA
PLA (Programmable Logic Array) este un CLC cu doua nivele de logica programabila, o matrice de porti SI si o matrice de porti SAU. PLA este de fapt o structura universala, extinsa, de implementare cu 2 nivele de porti logice. Ambele matrici sunt programabile, in procesul de fabricatie sau de catre utilizator, conform aplicatiei concrete. PLA este o structura mobila si se utilizeaza eficient pentru sisteme cu mai mult de 8 variabile de intrare.
Deoarece la PLA sunt programabile ambele nivele, implementarea se face pornind de la termenii elementari ai functiei, obtinuti prin minimizarea ei.
Reprezentarea schematica a PLA cu n intrari, m iesiri si p termeni elementari realizabili este: x1 conexiune programabila

x2

xn

Matrice
SI
1 p
1 f1 conexiune Matrice programabila SAU fm m conexiune programabila
CS
Avantajele implementarii cu PLA fata de implementarea cu ROM se refera la posibilitatea programarii matricei SI si a complementarii variabilelor de iesire (variabilele de iesire pot fi programate individual ca active pe 0 sau pe 1).
Aplicatii ale PLA sunt la:
- microprogramare;
- conversii de cod;
- generare de caractere;
- realizare de tabele de functii;
- implementarea automatelor secventiale.
Observatie. Exista circuite integrate cu grad si mai mare de integrare (VLSI) utilizate in implementare. Amintim dintre acestea FPGA (Field Programmable Gate Array).

2.4. Hazardul combinational

Datorita intarzierilor produse de circuitele logice si de firele de legatura ale unui CLC se poate ca starea iesirii circuitului in momentul modificarii starii variabilelor sa nu coincida cu valoarea functiei corespunzatoare valorii intrarilor in momentul considerat. Pentru timp scurt circuitul are o comportare gresita, numita hazard.
Exemplu f(x1,x2,x3) = x1 × x3 + x2 × x3 x1 D1 f’ x3 g D3 f x2 D2 x3 h
Diagrama Karnaugh pentru functie este: x1 x2x3 00 01 11 10
0 1 1 1
1 1

In practica intarzierile D1, D2, D3 ale portilor SI-NU nu sunt egale, de aceea poate sa apara hazardul combinational si cand se pune conditia ca doar o singura variabila de intrare sa se modifice la un moment dat.
Hazardul apare atunci cand starea intrarilor x1x2x3 se modifica de la 010 la 011 sau invers.

x1

x2

x3
D1 g

D2 h

f’

f
D3 tr
D2 > D1 desi starea ar trebui sa fie nemodificata.
Dupa timpul de reactie tr = D1 + D2 va apare la iesire un impuls negativ de durata Dt = D2 - D1 si in aceasta durata iesirea ia o valoare incorecta.
Eliminarea hazardului static se poate face in cazul in care se impune ca la un moment dat sa se modifice starea unei singure variabile de intrare. Pentru realizarea functiei se considera si unii termeni redundanti din diagrama Karnaugh, astfel incat oricare doi de 1 aflati in casute adiacente in diagrama sa fie inclusi cel putin intr-un contur luat in considerare la sinteza schemei.
Pentru exemplul dat se va introduce in expresia functiei termenul x1x2. f = x2 × x1 + x3 × x1 + x3 × x2

x1 g D1 x3 f’ x2 h D2 D3 f x3

x1 i Dt x2

x1

x2

x3
D1 g

D2 h i

f’

f

Observatii
1. Hazardul static poate sa apara si cand D1 > D2, la schimbarea 011 in 000.
2. Proiectarea unui CLC cand se schimba mai mult decat o singura variabila de intrare la un moment dat, fara sa apara hazard, este mai dificila sau chiar imposibil de realizat (hazard de functie).
3. Eliminarea sigura a hazardului se poate face luand in considerare iesirea circuitului dupa un interval de timp mai mare decat intarzierea maxima din circuit.


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui referat, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza referatul:
In prezent referatul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite referat | Harta site | Adauga in favorite
Colt dreapta