C3

Post on 23-Dec-2015

216 views 2 download

description

C3 pdn

transcript

CURS PDN

Circuite logice combinaŃionale

Circuite logice combinaŃionale

� Circuitele logice combinaŃionale (c.l.c.) sunt circuite fără memorie (independente de propriile stări anterioare), caracterizate prin faptul că semnalele de ieşire sunt combinaŃii logice ale semnalelor de intrare, existând numai atâta timp cât acestea din urmă există.

Schema bloc a unui circuit logic combinaŃional este dată în fig. 1.

Fig. 1.1. Schema bloc a unui c.l.c.

FuncŃiile de ieşire ale unui c.l.c. pot fi scrise sub forma:yk = yk (x1, x2, ... , xn), (1.1)

cu k = 1, 2, ... , m.� IndependenŃa faŃă de timp a relaŃiilor 1.1 ar putea fi interpretată ca un răspuns instantaneu şi simultan al ieşirilor circuitului logic combinaŃional la o modificare simultană a intrărilor acestuia.

În realitate, situaŃia este puŃin mai complicată.

� łinând seama de faptul că un c.l.c. reprezintă un ansamblu de porŃi logice elementare interconectate între ele în diverse moduri, astfel încât informaŃiile prezente la intrări parcurg, de regulă, în drumul lor către ieşiri, un număr variabil de porŃi logice elementare, rezultă că efectul modificării valorilor logice ale intrărilor c.l.c. se propagă către ieşiri în intervale de timp diferite, întotdeauna multipli de tpd.

� Presupunând că cea mai scurtă cale intrare-ieşire parcurge - a porŃi, iar cea mai lungă – bporŃi, înseamnă că vectorul ieşirilor va începe să varieze la un interval de timp a·tpd după modificarea vectorului de intrare şi se va stabiliza abia după un interval de timp b·tpd de la momentul respectiv.

� Prin urmare, în intervalul (b-a)·tpd, vectorul de ieşire înregistrează variaŃii neconforme cu relaŃia 1.1, cunoscute sub denumirea de hazard combinaŃional sau hazard logic.

� Eliminarea inconvenientelor pe care le implică hazardul logic poate fi realizată numai printr-o proiectare riguroasă care constă fie în asigurarea unor întârzieri egale pe toate căile intrare-ieşire, fie prin citirea informaŃiilor de la ieşirea circuitului numai după terminarea intervalului (b-a)·tpd, corespunzător procesului tranzitoriu.

1. Analiza circuitelor logice combinaŃionale

� Analiza c.l.c. porneşte de la schema logică cunoscută a circuitului şiurmăreşte stabilirea modului de funcŃionare a acestuia, fie prin construirea tabelului de funcŃionare, fie prin scrierea formei analitice a funcŃiei de ieşire.

(1.2)

Spre exemplu , pornind de la schema logică a unui c.l.c. simplu, fig. 1.2.

Fig. 1.2. Schema logică a unui XOR

BABAY +=

� Construirea tabelului de funcŃionare este acumextrem de simplă şi urmează paşii prezentaŃiîn coloanele tabelului 1.1.

� Recunoaştem funcŃia de ieşire şi tabelul de funcŃionare al circuitului SAU-EXCLUSIV (XOR).

Tab. 1.1. Tabelul de funcŃionare al c.l.c. din fig. 1.2

2. Sinteza circuitelor logicecombinaŃionale

Sinteza c.l.c. porneşte de la funcŃia pe care trebuie să o îndeplinească circuitul şi îşi propune obŃinerea uneivariante (minimale) a structurii acestuia.� Etapele sintezei sunt:

- definirea funcŃiei (funcŃiilor) de ieşire, - minimizarea,- desenarea schemei circuitului.

După modul în care este scrisă funcŃia, implementarease poate face în diverse variante dintre care menŃionăm:

a) cu orice combinaŃie de circuite logice elementare;b) numai cu circuite NAND;c) numai cu circuite NOR.

Spre exemplu, considerând funcŃia:

şi tabelul ei de funcŃionare, tab. 1.2, trebuie să realizăm sinteza circuitului în mai multe

variante.

BAY ⊕= (1.3)

Tab. 4.2. Tabelul de adevăr al funcŃiei XOR

a) Sinteza utilizând mai multe tipuri de circuitelogice elementareUtilizând forma canonică conjunctivă (FCC), obŃinem:

In urma implementării conduce la circuitul dinfig.1.3.

( ) ( )BABAY +⋅+= (1.4)

Fig. 1.3. O altă variantă de implementare a XOR-ului

b) Sinteza numai cu porŃi NANDAplicând De Morgan asupra FCD, rel., obŃinem:

(1.5)

Implementare poate fi realizată numai cu NAND-uri şiconduce la circuitul din fig. 1.4.

BABAY +=

( ) ( )BABABABAY ⋅=+=

Fig. 1.4. Implementarea XOR-uluinumai cu NAND-uri

c) Sinteza numai cu porŃi NORAplicând De Morgan asupra FCC, rel.

, obŃinem:

Implementare poate fi făcută numai cu NOR-urişi conduce la circuitul din fig. 1.5.

( ) ( ) ( ) ( )BABABABAY +++=+⋅+=

( ) ( )BABAY +⋅+=

(1.6)

Fig. 1.5. ImplementareaXOR-ului numai cu NOR-uri

3. Multiplexoare

� Multiplexoarele (MUX-urile) sunt circuitelogice combinaŃionale care permittrecerea datelor de la una din cele n intrări spre ieşirea unică, fig. 1.6.

Fig. 1.6. Schema bloc generală a unui multiplexor

� SelecŃia intrării care urmează a aveaacces la ieşire se face printr-un cuvânt de cod (adresă) având p biŃi.

� Se observă că n=2p, adică numărul de intrări este egal cu numărul combinaŃiilorlogice de adresă a căror apariŃie urmează să autorizeze accesul succesiv al intrărilor către ieşire.

3.1. Circuitul de multiplexare cu 4 intrări

� În cazul MUX-ului cu n=4 intrări (I0, I1, I2, I3), numărul barelor de adresă este p=2 (A0, A1).

� Pornind de la definiŃia multiplexorului, construim:- tabelul de funcŃionare al unui MUX cu 4 intrări, tab. 1.5,

- scriem forma canonică disjunctivă, rel. 1.13, şi- o implementăm în fig. 1.7.

Tab. 1.5. Tabelul de funcŃionare al unui MUX cu 4 intrări

).IAAIAAIAAIAA(EY 3

P

012

P

011

P

010

P

01

3210

321321321321+++= (1.7)

Observatie:

-Schema este prevăzută şi cu o intrare de autorizare , activă în starea "L".

- Pentru , indiferent de stările logice ale intrărilor şi barelor de adresă, ieşirea se fixează în 0 logic şi MUX-ul este inactivat.

Fig. 1.7. MUX-ul cu 4 intrări

( )ENABLE E

1E =

4. Demultiplexoare

Circuitele de demultiplexare (DMUX-urile) sunt c.l.c. care permit transmitereadatelor de la o intrare unică, la una dincele m ieşiri selectate printr-un cuvânt de cod (adresă).

Schema bloc a unui DMUX cu m ieşiri şi p barede adresă (m=2p) este prezentată în fig. 1.8.

Fig. 1.8. Schema bloc generală a unui DMUX

4.1. Circuitul de demultiplexare cu 4 ieşiriCircuitul de demultiplexare cu m=4 ieşiri (Y0,Y1, Y2, Y3), are p=2 bare de adresă (A0,A1).

Tab. 1.6. Tabelul de funcŃionare al unui DMUX cu 4 ieşiri

FuncŃiile de ieşire sunt:,0A1AI3Y,0A1AI2Y,0A1AI1Y,0A1AI0Y ⋅=⋅=⋅=⋅= (1.8)

Se obŃine varianta de implementare din fig. 1.9.

Fig. 1.9. DMUX-ul cu 4 ieşiri

5. Comparatoare numerice

� Comparatoarelenumerice sunt c.l.c. care permit determinareavalorii relative a douănumere exprimate în codbinar.

� Schema bloc a unuicomparator de n biŃi este prezentată în fig. 1.10.

Fig. 1.10. Schema bloc a unuicomparator de n biŃi

5.1. Comparatorul numeric de un bit

� Comparatorul numeric de un bit prezintă schema bloc din fig. 1.11.

Fig. 1.11. Schema bloc a comparatorului de 1 bit

Compararea celor două numere de câte un bit fiecare, permite definirea următoarelor funcŃii, cf. tab. 1.7:

Tab. 1.7. Tabelul de funcŃionare al comparatorului de 1 bit

Coloanele 3, 4 şi 5 reprezintă ieşirile comparatorului de 1 bit.

- funcŃia de inferioritate, , care iavaloarea logică 1 numai când Ak<Bk, adicăatunci când Ak=0 şi Bk=1;- funcŃia de egalitate, , care iavaloarea logică 1 numai când Ak=Bk, adică fie Ak=Bk=0, fie Ak=Bk=1 logic;- funcŃia de superioritate, , care iavaloarea logică 1 numai când Ak>Bk.

kki BAfk=

kke BAfk

⊕=

kks BAfk=

Pentru cele 3 situaŃii posibile rezultate în urmacomparării, se obŃine varianta de implementare din fig. 1.12.

Fig. 1.12. Schema logică a comparatorului de 1 bit

6. Sumatoare

� Sumatoarele sunt subsisteme logice combinaŃionale care asigură - direct sau indirect - efectuarea tuturor operaŃiiloraritmetice dintr-un sistem de calcul.

� Schema bloc a unui sumator de 2 numere binare a câte n biŃi este prezentată în fig. 1.13, unde s-au notat cu Si , i=0,1, ..., n-1, biŃii corespunzători sumei, iar cu Ci transportul către rangul următor.

Fig. 1.13. Schema bloc generală a unui sumator

6.1. Semisumatorul

� Semisumatorul realizează suma a două numere binare de câte 1 bit, fără a Ńine seama de transportul de la bitul imediat inferior ca semnificaŃie.

� Pornind de la tabelul de adevăr al unuisemisumator de 1 bit, tab. 1.8, se obŃin relaŃiilede calcul 1.9 şi 1.10 a căror implementare conduce la schema din fig. 1.14 a, sau, la nivel de schemă bloc, fig. 1.14 b.

Tab. 1.8. Tabelul de adevăr al semisumatorului de 1 bit

⋅=

⊕=

.BAC

;BAS

iii

iii

)10.1(

)9.1(

a) schema logică b) schema blocFig. 1.14. Semisumatorul de 1 bit

6.2. Sumatorul complet de 1 bit

� Spre deosebire de semisumator, sumatorulcomplet de 1 bit ia în consideraŃie şi transportulCi-1 de la bitul imediat inferior, conform schemeibloc din fig. 1.15.

Fig. 1.15. Schema bloc a sumatorului

complet de 1 bitTab. 1.9. Tabelul de funcŃionare al

sumatorului complet de 1 bit

� Ca şi în cazul semisumatorului, ieşirea Sieste suma modulo 2 a celor 3 intrări:

� Din acelaşi tabel se poate deduce şi Ci:

=⊕⊕= −1iiii CBAS

1iii1iii1iii1iii CBACBACBACBA −−−− +++=(1.12)

1iii1iii1iii1iiii CBACBACBACBAC −−−− +++=

Ci = BiCi-1 + AiCi-1 + AiBi

1ii1iiiii CBCABAC −− ++=

Se neaga si se aplica rel. De Morgan

1iii1iii1iiii CBACBACBAD −−− ++=

Se noteaza primii trei termeni din Si cu Di:

Di = (Ai + Bi +Ci-1) iC

.

Rezultă că Si se poate scrie:=+= −1iiiii CBADS

1iiii1iiiii CBACCCBCA −− +++=(1.13)

Fig. 1.16. Schema logică a sumatorului complet de 1 bit

7. Convertoare de cod

� Convertoarele de cod sunt circuite logice combinaŃionale care permit transformarea unuicod binar în altul.

� Schema bloc a unui convertor de n / m biŃi este prezentată în fig. 1.17.

Fig. 1.17. Schema bloc generală a unui convertor de cod

7.1. Convertorul de cod “binar natural – Gray”

� Schema bloc a unui convertor pe 4 biŃi din codbinar natural în cod Gray se obŃine din fig. 1.17 pentru n = m = 4 şi este prezentată în fig.1.18.

Fig. 1.18. Schema bloc a convertoruluide cod "binar natural - Gray"

Codul binar reflectat (Gray) se obŃine din codulbinar natural astfel:� G0 - repetă primele 2 locaŃii ale lui B0, după care se reflectă din 2 în 2 locaŃii;

� G1 - repetă primele 4 locaŃii ale lui B1, după care se reflectă din 4 în 4 locaŃii;

� G2 - repetă primele 8 locaŃii ale lui B2, după care se reflectă din 8 în 8 locaŃii;

� G3 - repetă B3.

Tab. 1.10. Tabelul de adevăr al convertoruluide cod "binar natural - Gray"

Alcătuim diagramele VK pentru G3, G2, G1 şi G0, fig. 1.19.

Fig. 1.19. Diagramele VK corespunzătoarefuncŃiilor de ieşire ale convertorului

Fig. 1.19. Diagramele VK corespunzătoarefuncŃiilor de ieşire ale convertorului

După minimizare, obŃinem următoarele expresii:(1.14)

a căror implementare conduce la schema din fig. 1.20.

,1B0B0G;2B1B1G;3B2B2G;3B3G ⊕=⊕=⊕==

Fig. 1.20. Schema logică minimală a convertoruluide cod "binar natural - Gray"

7.2. Convertorul de cod "Gray -binar natural"

� Schema bloc a unui convertor din codGray în cod binar natural este prezentatăîn fig. 1.21, iar tabelul de adevăr este tab. 1.11

Fig. 1.21. Schema bloc a convertorului de cod "Gray - binar natural"

Tab. 1.11. Tabelul de adevăr al convertoruluide cod "Gray - binar natural"

Se apelează la următorul artificiu: cunoscut fiind

faptul că , calculăm cu ajutorul relaŃiilor 1.14 următoarele sume modulo 2:

BBAA =⊕⊕

. 3G2G1G0G , 3G2G1G , 3G2G ⊕⊕⊕⊕⊕⊕ (1.15)

.GGGGB

;BBBBBBBGGGG

;GGGB ;BBBBBGGG

;GGB ;BBBGG

;GB ;BG

32100

0

33

0

22

0

1103210

3211

0

33

0

221321

322

0

33232

3333

⊕⊕⊕=⇒

⊕⊕⊕⊕⊕⊕=⊕⊕⊕

⊕⊕=⇒⊕⊕⊕⊕=⊕⊕

⊕=⇒⊕⊕=⊕

=⇒=

434214342143421

4342143421

43421

Fig. 1.22. Schema logică a convertoruluide cod "Gray - binar natural"