curs 5

Upload: popa-flavius

Post on 14-Jul-2015

1.095 views

Category:

Documents


0 download

TRANSCRIPT

IV. CIRCUITE LOGICE COMBINAIONALE

4.1. DefiniiiCircuitele logice combinaionale, CLC, sunt un caz particular al automatelor finite (mainilor de stare FSM) - automate de grad 0 CLC se caracterizeaz prin faptul c variabilele de ieire sunt independente de timp i de starea intern i sunt determinate doar de variabilele de intrare Practic, datorit ntrzierilor produse de circuitele logice i de conexiuni, modificarea variabilelor de ieire simultan cu cele de intrare nu este realizabil15.11.2011 Curs 5 ASDN 2

4.1. DefiniiiSchema bloc:x1 x2 CLC xn ym y1 y2

Funcia de transfer - exprim legtura ntre starea ieirii i starea intrrii Orice funcie de ieire y (y1, y2,, ym) este funcie de toate variabilele de intrare (x1, x2,, xn)y1 = f1(x1, x2,, xn) y2 = f2(x1, x2,, xn) ym = fm(x1, x2,, xn)

15.11.2011

Curs 5 ASDN

3

4.2. Analiza CLCSe cunoate schema logic a circuitului i se urmrete stabilirea funcionrii acestuia Expresiile ieirilor se determin pornind de la intrri i urmrind transformrile acestora Definiie - numr de nivele al unui CLC = numrul maxim de pori dintre intrri i ieiri Numerotarea nivelelor - de la ieire spre intrare

15.11.2011

Curs 5 ASDN

4

4.2. Analiza CLCExemplu 1 - circuit cu 4 nivele x5

x1 x2 y1 x3 x4 x6 4 3 2 x7 1 y2

Exemplu 2 - circuit cu legturi inversex1 x2 x3 y

15.11.2011

Curs 5 ASDN

5

4.2. Analiza CLCAlgoritm de determinare a legturilor inverse n CLCse numeroteaz toate porile logice care au ca intrri un subset din mulimea variabilelor de intrare ale circuitului logic (de la 1 la k) se numeroteaz de la k+1 porile care au ca intrri fie intrri ale circuitului, fie ieiri ale porilor numerotate la punctul anterior CLC - dac am numerotat toate porile - exemplu 1 CLS (circuit logic secvenial) dac nu am numerotat toate porile - exemplu 2 Curs 5 ASDN 15.11.2011 6

4.3. Sinteza CLCSe cunoate funcia pe care trebuie s o ndeplineasc circuitului i se urmrete determinarea structurii (schemei) acestuia Etapele sintezei CLC:1. Enunul problemei 2. Alctuirea tabelului de adevr, definirea funciei sau funciilor 3. Minimizarea funciei sau funciilor 4. Desenarea schemei circuitului

15.11.2011

Metode de implementare - difereniate dup nivelul de complexitate al integratelor utilizateCurs 5 ASDN

7

4.3.1. Sinteza CLC cu SSICircuitele integrate de tip SSI (small scale integration) au pn la 50 de tranzistoare integrate pe capsul Dintre ele - porile logice fundamentale: I (AND), SAU (OR), NU (NOT), I-NU (NAND), SAU-NU (NOR), SAU-EXCVLUSIV (XOR) n general se utilizeaz pentru adaptarea la aplicaie a circuitelor MSI i LSI standardizate, care nu satisfac cu exactitate cerinele de proiectare15.11.2011 Curs 5 ASDN 8

4.3.2. Sinteza CLC cu MSICircuitele integrate de tip MSI (medium scale integration) au pn la 500 de tranzistoare integrate pe capsul Ofer structuri mai complexe, disponibile ca i structuri standard (specializate) Forma funciilor care trebuie implementate trebuie corelat cu funciile circuitelor MSI Observaie: n general nu se mai fac minimizri15.11.2011 Curs 5 ASDN 9

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 1. Convertoare de cod Definiie - sunt CLC care permit trecerea dintr-un cod binar n alt cod binar La intrare se aplic cuvintele unui cod, la ieire se obin cuvintele celuilalt cod Fac compatibil funcionarea a 2 sisteme n care informaia este codificat n mod diferit15.11.2011 Curs 5 ASDN 10

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 1. Convertoare de cod Exemplu: Conversiile din Gray n binar zecimal i invers 1) Cod Gray Cod BCD (8421) Cuvintele de cod se noteaz:Gray: gn, gn-1,, g0 BCD: bn, bn-1,, b0

Reguli: bn = gn15.11.2011 Curs 5 ASDN 11

4.3.2. Sinteza CLC cu MSIExemplu: 1) Cod Gray Cod BCD (8421)g3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 115.11.2011

g2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

g1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0

g0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

b3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1Curs 5 ASDN

b2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

b1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

b0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 112

4.3.2. Sinteza CLC cu MSIExemplu: 1) Cod Gray Cod BCD (8421) Am completat combinaia din tabel pentru valorile intrrilor pentru care funciile nu sunt definite Construim DK pentru a minimiza funciile b3, b2, b1 i b0 g g g g 00 01 11 103 2 1 0

00 01 11 10

1 1

1 1

1 1

1 1

Obinem: b3 = g315.11.2011 Curs 5 ASDN 13

4.3.2. Sinteza CLC cu MSIExemplu: 1) Cod Gray Cod BCD (8421)g3g2 g1g0 00 01 11 10 g1g0 00 01 11 10 g1g0 00 01 11 10 00 1 1 00 1 1 00 1 1 1 1 01 1 1 01 1 1 1 01 1 11 1 1 10 1 1 11 1 1 11 1 10 1 1 10 1

g3g2

g3g2

Obinem: b2 = g2 + g3 b1 = g1 + g2 + g3 b0 = g1 + g2 + Curs 5+ g4 g3 ASDN 15.11.2011

14

4.3.2. Sinteza CLC cu MSIExemplu: 1) Cod Gray Cod BCD (8421) Deci, n general la trecerea din Gray n binar:bn = gni

bi =

1 0

dac + gj = 1j = n-1

dac nu

2) Cod BCD Cod Gray Obinem asemntor: gn = bn i gi = bi + bi+115.11.2011 Curs 5 ASDN 15

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 2. Codificatoare Definiie - sunt CLC la care activarea unei intrri conduce la apariia unui cuvnt de cod la ieiri Intrrile codificatoarelor sunt active pe 0 logic Codificatoare prioritaremai multe intrri sunt active simultan la ieire se obine cuvntul de cod pentru intrarea cu prioritate maxim prioritatea crete de la 0 nspre ultima cifr Curs 5 ASDN 15.11.2011

16

4.3.2. Sinteza CLC cu MSIExemplu: Codificator din zecimal n BCD0 0 1 1 1 1 1 1 1 1 115.11.2011

1 1 0 1 1 1 1 1 1 1 1

2 1 1 0 1 1 1 1 1 1 1

3 1 1 1 0 1 1 1 1 1 1

Zecimal 4 5 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1

6 1 1 1 1 1 1 0 1 1 1

7 1 1 1 1 1 1 1 0 1 1

8 1 1 1 1 1 1 1 1 0 1

9 1 1 1 1 1 1 1 1 1 0

23 0 0 0 0 0 0 0 0 1 1

BCD 22 21 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0

20 0 1 0 1 0 1 0 1 0 117

Curs 5 ASDN

4.3.2. Sinteza CLC cu MSIExemplu: Codificator din zecimal n BCD Funciile pentru cele 4 ieiri sunt:23 = 8 + 9 = 89 22 = 4567 21 = 2367 20 = 13579

15.11.2011

Curs 5 ASDN

18

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 3. Decodificatoare Definiie - sunt CLC la care se activeaz doar una din ieiri, pentru codul corespunztor de pe intrri Ieirile decodificatoarelor sunt active pe 0 logicI1 Circuite SI-NU In ym y1

Numrul ieirilor distincte ale decodificatoarelor este: m 2n15.11.2011 Curs 5 ASDN 19

4.3.2. Sinteza CLC cu MSIExemplu: Decodificator pentru 3 cifre binareI2 0 0 0 0 1 1 1 1 I1 0 0 1 1 0 0 1 1 I0 0 1 0 1 0 1 0 1 O7 1 1 1 1 1 1 1 0 O6 1 1 1 1 1 1 0 1 O5 1 1 1 1 1 0 1 1 O4 1 1 1 1 0 1 1 1 O3 1 1 1 0 1 1 1 1 O2 1 1 0 1 1 1 1 1 O1 1 0 1 1 1 1 1 1 O0 0 1 1 1 1 1 1 1

Funciile ieirilor sunt: O7 = I2I1I0 ; O6 = I2I1I0 ; O5 = I2I1I0 ; O4 = I2I1I0 ; O3 = I2I1I0 ; O2 = I2I1I0 ; O1 = I2I1I0 ; OCurs 5 ASDN 1I0 0 = I2I 15.11.2011 20

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 4. Multiplexoare - MUX Definiie - sunt CLC care permit trecerea datelor de pe una din intrri la o ieire unic. Selecia intrrii se face printr-un cuvnt de cod de selecie numit i adresI0 MUX In-1 sm-115.11.2011

y

s0Curs 5 ASDN 21

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 4. Multiplexoare Cu m linii de selecie se pot selecta 2m intrri Funcia de ieire este: y = Ii unde i este numrul de combinaii i = sm-12m-1 + + s121 + s020 Aplicaii: selecia secvenial a datelor, conversia paralel-serie a datelor, sisteme de transmisie a datelor pe un singur canal, implementarea CLC cu o ieire Curs 5 ASDN 15.11.2011 22

4.3.2. Sinteza CLC cu MSIExemplu: Multiplexor 2:1I0 I1 MUX 2:1 s y

Are 2 intrri de date, I0 i I1, o intrare de selecie s i o ieire y Avem ecuaia ieirii: y = I0s + I1sDac s = 0 y = I0 Dac s = 1 y = I1

Multiplexorul trimite la ieire data de intrare care corespunde seleciei dinCurs 5 ASDN acel moment 15.11.2011

23

4.3.2. Sinteza CLC cu MSIExist multiplexoare de tip: 2:1, 4:1, 8:1, 16:1, 32:1, 64: 1 etc. Multiplexoarele integrate:au disponibile att ieirea adevrat ct i ieirea negat au o intrare de validare (Enable) care permite o funcie I suplimentar - dac aceast intrare nu este activ, se oprete funcionarea circuitului

Multiplexoarele cu numr mare de intrri de date se pot obine prin cascadarea multiplexoarelor cu numr mai mic de intrri de date15.11.2011 Curs 5 ASDN 24

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 5. Demultiplexoare - DEMUX Definiie - sunt CLC care permit transmiterea datelor de pe o intrare de date pe una din ieirile selectate. Selecia ieirii se face printr-un cuvnt de cod de selecie numit i adresy0 I DEMUX yn-1 sm-115.11.2011

s0Curs 5 ASDN 25

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 5. Demultiplexoare Cu m linii de selecie se pot selecta 2m ieiri Funciile de ieire sunt: y0 = sm-1s1s0I y1 = sm-1s1s0I y2m-1 = sm-1s1s0ICurs 5 ASDN

15.11.2011

26

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 5. Demultiplexoare Exist demultiplexoare de tip: 1:2, 1:4, 1:8, 1:16 etc. Demultiplexoarele cu numr mai mare de ieiri se obin prin cascadare Se pot folosi la conversia din serie n paralel a informaiei

15.11.2011

Curs 5 ASDN

27

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 6. Comparatoare numerice Definiie - sunt CLC care permit determinarea valorii relative a dou numere binare Comparatoare:pe 1 bit pe mai muli bii

n general comparatorul pe 1 bit reprezint celula de baz pentru compararea numerelor pe mai muli bii15.11.2011 Curs 5 ASDN 28

4.3.2. Sinteza CLC cu MSIExemplu: Comparator pe 1 bitAi Bi Comparator pe 1 bit y< y= y>

Avem funciile de ieire: pentru Ai < Bi y< = AiBi y= = Ai + Bi pentru Ai = Bi y> = AiBi pentru Ai > Bi15.11.2011 Curs 5 ASDN 29

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 7. Generatoare / detectoare de paritate Definiie - sunt CLC cu rol de a determina i genera paritatea sau imparitatea numrului de variabile de intrare egale cu 1 Bitul de paritate se utilizeaz ca metod de verificare a transferului de datenumr bii de 1 + bit de paritate = numr par (paritate par) numr bii de 1 + bit de paritate = numr impar (paritate impar) Curs 5 ASDN 15.11.2011 30

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 7. Generatoare / detectoare de paritate Realizarea detectoarelor de paritate se bazeaz pe funcia SAU-EXCLUSIV:valoare 0 - pentru numr par valoare 1 - pentru numr impar

15.11.2011

Curs 5 ASDN

31

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 8. Sumatoare / scztoare Definiie - sunt CLC care realizeaz adunarea, respectiv scderea cifrelor binare Semisumator - CLC care face suma a 2 numere binare de 1 bit, fr s in cont de transportul de la bitul de semnificaie imediat inferioarA0 B015.11.2011

1/2

S0 C0Curs 5 ASDN 32

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 8. Sumatoare / scztoare Tabelul de adevr pentru semisumator:A0 0 0 1 1 B0 0 1 0 1 C0 0 0 0 1 S0 0 1 1 0

Ecuaiile pentru suma S0 i transportul spre rangul superior C0 S0 = A0B0 + A0B0 = A0 + B0 C Curs 5 ASDN 15.11.2011 0 = A0B0 33

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 8. Sumatoare / scztoare Sumatorul pentru bitul de rang n ine cont i de transportul de la rangul imediat inferior - este un sumator complet pe 1 bitAn Cn-1 Bn Sn Cn

15.11.2011

Curs 5 ASDN

34

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 8. Sumatoare / scztoare Tabelul de adevr pentru sumatorul complet pe 1 bit este:Cn-1 0 0 0 0 1 1 1 115.11.2011

An 0 0 1 1 0 0 1 1

Bn 0 1 0 1 0 1 0 1

Cn 0 0 0 1 0 1 1 1

Sn 0 1 1 0 1 0 0 135

Curs 5 ASDN

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 8. Sumatoare / scztoare Ecuaiile pentru sum i transport pentru rangul superior Sn = AnBnCn-1 + AnBnCn-1 + AnBnCn-1 + AnBnCn-1 = An + Bn + Cn-1 Cn = AnCn-1 + BnCn-1 + AnBn Sumatoarele pentru cuvinte binare cu mai muli bii se pot realiza prin interconectarea celor pe 1 bit adunarea se efectueaz n paralel, transportul n serie15.11.2011 Curs 5 ASDN 36

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 8. Sumatoare / scztoare Semiscztor - CLC care realizeaz scderea a 2 numere binare de 1 bit, fr s in cont de mprumutul de la rangul inferior Ecuaiile pentru semiscztor: D0 = A0B0 + A0B0 = A0 + B0 I0 = A0B015.11.2011 Curs 5 ASDN 37

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 8. Sumatoare / scztoare Scztorul complet pe 1 bit ine cont i de mprumutul de la rangul inferior Ecuaiile pentru diferen i mprumut ctre rangul superior Dn = AnBnIn-1 + AnBnIn-1 + AnBnIn-1 + + AnBnIn-1 = An + Bn + In-1 In = AnIn-1 + BnIn-1 + AnBn Scztoarele pentru cuvinte binare cu mai muli bii se pot realiza prin interconectarea celor pe 1 bit15.11.2011 Curs 5 ASDN 38

4.3.2. Sinteza CLC cu MSICLC MSI specializate (uzuale) 9. Uniti aritmetico-logice (ALU) Definiie - sunt CLC care realizeaz operaii de tip aritmetic i de tip logic Operaii aritmetice: adunare, scdere, incrementare, decrementare, comparare de egalitate Operaii logice: I, SAU, NU, I-NU, SAU-NU, SAU-EXCLUSIV, COINCIDEN15.11.2011 Curs 5 ASDN 39

4.3.2.1. Implementarea funciilor booleene cu MSIDecodificatorul, Demultiplexorul i Multiplexorul genereaz n interiorul lor toi termenii canonici sunt circuite universale Implementarea cu Decodificator a unei funcii booleene:nu necesit minimizare la ieirea decodificatorului avem toi termenii canonici negai ai formei canonice disjunctive (FCD) a funciei realizarea funciei se face prin adugarea unei pori logice de tip I-NU care are numrul de intrri egal cu numrul de termeni ai funciei15.11.2011 Curs 5 ASDN 40

4.3.2.1. Implementarea funciilor booleene cu MSIExemplu: S se implementeze cu un decodificator funcia boolean de 4 variabile: f (x4, x3, x2, x1)= (0, 1, 4, 6, 7, 9)O0 DCD O1 BCD- O2 D zecimal O3 C O4 B O5 A O6 O7 O8 O9Curs 5 ASDN

x4 x3 x2 x1

f

15.11.2011

41

4.3.2.1. Implementarea funciilor booleene cu MSIImplementarea cu Multiplexor a unei funcii booleene se bazeaz pe ecuaia care definete funcionarea multiplexorului La o funcie boolean cu n variabile de intrare, dac dm factor comun 2 variabile de intrare, se obin 4 funcii de n-2 variabile de intrare La o funcie boolean cu n variabile de intrare, dac dm factor comun 3 variabile de intrare, se obin 8 funcii de n-3 variabile de intrare .a.m.d.15.11.2011 Curs 5 ASDN 42

4.3.2.1. Implementarea funciilor booleene cu MSIImplementarea cu Multiplexor Dac variabilele scoase n factor comun se pun pe seleciile multiplexorului, funciile rmase se pot conecta la intrrile de date ale multiplexorului Exemplu: pentru o funcie de 4 variabile, dac folosim un MUX 8:1, punem 3 variabile pe seleciile MUX i rmne ca pe intrrile de date s punem cele 8 funcii de o variabil rmase Singurele funcii posibile de o variabil sunt: x, x, 0 i 115.11.2011 Curs 5 ASDN 43

4.3.2.1. Implementarea funciilor booleene cu MSIImplementarea cu Multiplexor Exemplu: Implementarea cu MUX 8:1 a funciei f(x3,x2,x1,x0) = (0, 1, 3, 5, 9, 10, 13, 15) = = x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 Pe intrrile de selecie se aplic variabilele x2, x1, x0 Pentru determinarea celor 8 funcii care urmeaz s fie puse pe intrrile de date ale MUX, I0 - I7, se construiete un tabel15.11.2011 Curs 5 ASDN 44

4.3.2.1. Implementarea funciilor booleene cu MSIImplementarea cu Multiplexor - exempluIntrare MUX I0 I1 I2 I3 I4 I5 I6 I715.11.2011

Valoare funcie de o variabil x3 1 x3 x3 0 1 0 x3

Termeni funcie Variabile pe selecie x3 x2x1x0 (x3 + x3) x2x1x0 x3 x2x1x0 x3 x2x1x0 0 x2x1x0 (x3 + x3) x2x1x0 0 x2x1x0 x3 x2x1x0Curs 5 ASDN 45

4.3.2.1. Implementarea funciilor booleene cu MSIImplementarea cu Multiplexor - exempluEn x3 1 x3 x3 0 1 0 x3

f f

s 2 s 1 s0 x 2 x 1 x0

Observaie: n funcie de variabilele alese pe selecii, implementarea funciei difer Curs 5 ASDN 15.11.2011

46

4.3.2.1. Implementarea funciilor booleene cu MSIImplementarea cu Multiplexor - exemplu La funcia reprezentat prin DK implementarea cu MUX se bazeaz pe o alt DK, care definete domeniul intrrilor de date I Domeniul intrrilor pentru funcia de 4 variabile, dac seleciile sunt x2, x1, x0x 3x 2 x1x0 00 01 11 10 00 I0 I4 I4 I0 01 I1 I5 I5 I1 11 I3 I7 I7 I3 10 I2 I6 I6 I2Curs 5 ASDN 47

15.11.2011

4.3.2.1. Implementarea funciilor booleene cu MSIImplementarea cu Multiplexor - exemplu DK pentru funcia f este:x3x2 x1x0 00 01 11 10 00 1 01 1 1 1 1 11 1 1 1 10

Prin comparare cu DK pentru intrri obinem pentru I0 - I7 valorile: I0 = x3; I1 = 1; I2 = x3; I3 = x3; I4 = 0; I5 = 1; I6 = 0; I7 = x3, identice cu cele obinute anterior15.11.2011 Curs 5 ASDN 48

4.3.2.1. Implementarea funciilor booleene cu MSIImplementarea cu Multiplexor Avantajele implementrii cu MUXse poate utiliza un sigur circuit doar o singur variabil trebuie s fie disponibil i adevrat i negat MUX are intrarea de Enable care poate fi folosit ca un I final cu ntreaga funcie

Dezavantajele implementrii cu MUXnu se pot implementa sisteme de funcii nu se pot implementa funcii cu numrul de termeni mai mare dect numrul intrrilor15.11.2011 Curs 5 ASDN 49