Cap.3 CLASE DE CIRCUITE LOGICE COMBINAŢIONALE

Σχετικά έγγραφα
5.4. MULTIPLEXOARE A 0 A 1 A 2

2. Circuite logice 2.5. Sumatoare şi multiplicatoare. Copyright Paul GASNER

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

Codificatorul SN74148 este un codificator zecimal-bcd de trei biţi (fig ). Figura Codificatorul integrat SN74148


Cursul nr. 6. C6.1 Multiplexorul / Selectorul de date

ANEXA 4. OPERAŢII ARITMETICE IMPLEMENTĂRI

Metode iterative pentru probleme neliniare - contractii

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

CAPITOLUL 5. CIRCUITE LOGICE COMBINAŢIONALE

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

CIRCUITE COMBINAŢIONALE UZUALE

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

MARCAREA REZISTOARELOR

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Problema a II - a (10 puncte) Diferite circuite electrice

Tabelul tranziţiilor este prezentat mai jos. La construirea sumatorului folosim bistabile de tip JK: (3.1)

Arhitectura Calculatoarelor. Fizică - Informatică an II. 2. Circuite logice. Copyright Paul GASNER 1

Metode de interpolare bazate pe diferenţe divizate

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

III. Reprezentarea informaţiei în sistemele de calcul

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

CIRCUITE LOGICE CU TB

Curs 1 Şiruri de numere reale

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.


Circuite logice programabile

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

Curs 4 Serii de numere reale

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

riptografie şi Securitate

Subiecte Clasa a VIII-a

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

Seminar 5 Analiza stabilității sistemelor liniare

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Asupra unei inegalităţi date la barajul OBMJ 2006

4.2. CIRCUITE LOGICE ÎN TEHNOLOGIE INTEGRATĂ

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Esalonul Redus pe Linii (ERL). Subspatii.

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Aplicaţii ale principiului I al termodinamicii la gazul ideal


ELECTRONICĂ DIGITALĂ

Circuite cu tranzistoare. 1. Inversorul CMOS

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

2.2. ELEMENTE DE LOGICA CIRCUITELOR NUMERICE

Lucrarea Nr. 5 Circuite simple cu diode (Aplicaţii)

6.4. REGISTRE. Un registru care îndeplineşte două sau mai multe funcţii din cele 4 prezentate mai sus se numeşte registru universal.

Integrala nedefinită (primitive)

a. 11 % b. 12 % c. 13 % d. 14 %

Sisteme diferenţiale liniare de ordinul 1

Electronică anul II PROBLEME


2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

Subiecte Clasa a VII-a

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Subiecte Clasa a V-a

Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice

Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice

3.4. Minimizarea funcţiilor booleene

7. RETELE ELECTRICE TRIFAZATE 7.1. RETELE ELECTRICE TRIFAZATE IN REGIM PERMANENT SINUSOIDAL

Functii Breviar teoretic 8 ianuarie ianuarie 2011

COMPARATOARE DE TENSIUNE CU AO FĂRĂ REACŢIE

LUCRAREA NR. 1 STUDIUL SURSELOR DE CURENT

Capitolul 14. Asamblari prin pene

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

Examen AG. Student:... Grupa:... ianuarie 2011

Criptosisteme cu cheie publică III

V O. = v I v stabilizator

Examen AG. Student:... Grupa: ianuarie 2016

CIRCUITE INTEGRATE DIGITALE

a. Caracteristicile mecanice a motorului de c.c. cu excitaţie independentă (sau derivaţie)

VII.2. PROBLEME REZOLVATE

GENERATOR DE SECVENŢE BINARE PSEUDOALEATOARE

1. Reprezentarea numerelor şi operaţii aritmetice în sisteme de calcul.

Transformări de frecvenţă

Analiza funcționării și proiectarea unui stabilizator de tensiune continuă realizat cu o diodă Zener

Polarizarea tranzistoarelor bipolare

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Introducere. Tipuri de comparatoare.

Curs 2 DIODE. CIRCUITE DR

Tranzistoare bipolare şi cu efect de câmp

5 Convertoare analog numerice

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Universitatea din Petroșani. Analiza și sinteza dispozitivelor numerice Proiectare logică

3.4. Minimizarea funcţiilor booleene

Platformă de e learning și curriculă e content pentru învățământul superior tehnic

prin egalizarea histogramei

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Să se arate că n este număr par. Dan Nedeianu

Transcript:

Circuite Logice Combinaţionale 143 Cap.3 CLASE DE CIRCUITE LOGICE COMBINAŢIONALE Circuitele integrate digitale cu complexitate mare, numite şi sisteme digitale, conţin în structura lor un număr foarte mare de tranzistoare. Proiectarea unui circuit format din sute de mii sau milioane de tranzistoare este posibilă numai printr-o abordare funcţională şi structurală ierarhică. Astfel, un sistem se obţine prin interconectarea mai multor părţi sau subsisteme, bine definite funcţional şi structural; la rândul lor subsistemele sunt obţinute prin interconectarea unor blocuri ş.a.m.d. Această partiţionare se continuă până când se obţin componente cu dimensiuni rezonabile, care pot fi eficient modelate, sintetizate, optimizate, analizate etc. În acest capitol sunt prezentate blocuri combinaţionale care stau la baza construirii structurilor ierarhice. 3.1 Convertoare de cod Informaţiile pot fi reprezentate binar în diferite coduri. Reprezentarea dintr-un anumit cod poate fi prelucrată astfel încât să se obţină o reprezentare într-un alt cod. Circuitele care realizează acest tip de operaţie se numesc convertoare de cod; două exemple sunt prezentate în acest paragraf. În fig.3.1 este descrisă funcţionarea circuitului care face conversia de la codul 8421 la codul 84-2-1. Fig.3.1 Convertor de cod 8421/84-2-1

144 Cap.3 Clase de circuite logice combinaţionale Convertorul de cod 8421/84-2-1 este un circuit combinaţional care implementează un sistem de 4 funcţii incomplet definite x, y, v şi w care depind de variabilele a, b, c şi d. Minimizarea acestui sistem de funcţii este prezentată în fig.3.2. Figura 3.2 Grupările efectuate în aceste tabele determină următoarele expresii logice: G1 G2 x = (a + c + d)(a + b) G3 G4 G5 y = (ā + c + b d )(a + c + b d )(b + c ) = (c + b d ) bc (3.1) G6 G7 v = c d + cd = c d G8 w = d Sistemul de funcţii 3.1 este implementat de circuitul din fig.3.3. Fig.3.3 Implementarea convertorului 8421/84-2-1

Circuite Logice Combinaţionale 145 În fig.3.4 este descrisă funcţionarea circuitului care face conversia de la codul 2 din 5 la codul exces 3. Fig.3.4 Convertor de cod 2-din-5/exces 3 Minimizarea sistemului de funcţii incomplet definite x, y, v, w este prezentată în fig.3.5. Spaţiile libere din tabelele de adevăr conţin valori indiferente. Figura 3.5 Convertorul de cod 2-din-5/exces 3 este descris de relaţiile 3.2 şi este

146 Cap.3 Clase de circuite logice combinaţionale implementat de circuitul din fig.3.6. G1 G2 x = d + e + a G3 G4 y = bc + ā b c = bc + a + b+ c G5 G6 G7 (3.2) v = ac + be + c d G8 G9 w =ab d + ād = a + b+ d + ād Fig.3.6 Implementarea convertorului 2-din-5/exces 3 3.2 Codificatoare-decodificatoare Codificatoarele sunt circuite combinaţionale care au 2 n intrări (sau mai puţine) şi n ieşiri; dacă o singură intrare a circuitului este activă la un moment dat atunci această intrare este indicată prin intermediul unei combinaţii de n biţi de ieşire numită adresă. O intrare este considerată activă dacă are o anumită

Circuite Logice Combinaţionale 147 valoare logică validă v 0 {0, 1} şi inactivă dacă are valoarea v. În fig.3.7a, b sunt desenate simbolurile grafice pentru codificatoarele cu intrări active pe nivelul 1 logic şi respectiv cu intrări active pe 0 logic. Fig.3.7 Simboluri pentru codificatoare de adresă Tabela de funcţionare a unui codificator de adresă cu intrări active pe nivelul 0 logic este reprezentată în fig.3.8; echivalentul zecimal al adresei A1A0 este egal cu indicele intrării active. Funcţiile A1 şi A0 sunt incomplet specificate. I3 I2 I1 I0 A1 A0 1 1 1 0 0 0 A1 = I3 + I2 1 1 0 1 0 1 1 0 1 1 1 0 A0 = I3 + I1 0 1 1 1 1 1 Figura 3.8 Expresiile ieşirilor A1 şi A0 au fost determinate în mod direct pe baza tabelei; astfel, A1 are valoarea 1 numai dacă este activă fie intrarea I3 fie intrarea I2. În funcţionarea acestui codificator există ambiguităţi; indicaţia A1A0 nu este corectă dacă nici o intrare nu este activă sau dacă sunt active simultan mai multe intrări. De exemplu, când toate cele 4 intrări sunt inactive rezultă A1A0 = 00; dacă sunt active simultan intrările I2 şi I1 rezultă A1A0 = 11. O funcţionare fără ambiguităţi se obţine în cazul codificatorului de adresă cu prioritate. Circuitul are o ieşire suplimentară prin care se indică dacă este activă cel puţin o intrare sau dacă toate intrările sunt inactive. Când mai multe intrări sunt active simultan circuitul generează adresa intrării active care are prioritatea cea mai mare; se consideră că prioritatea unei intrări este egală cu indicele acesteia. Tabela de funcţionare şi simbolul unui codificator de adresă cu prioritate, cu 4 intrări active pe nivelul 0, sunt reprezentate în figura 3.9.

148 Cap.3 Clase de circuite logice combinaţionale Funcţionarea codificatorului poate fi blocată sau validată cu ajutorul intrării de autorizare notată Enable; blocarea este determinată de Enable = 0 şi în această situaţie toate ieşirile circuitului sunt deconectate, adică sunt puse în starea de înaltă impedanţă notată Z4. Ieşirea notată AI (Active Input) indică existenţa sau absenţa intrărilor active atunci când este autorizată funcţionarea codificatorului. Fig.3.9 Codificator de adresă cu prioritate Deconectarea ieşirilor poate fi realizată cu porţi de transmisie. Expresiile logice care descriu funcţionarea codificatorului din fig.3.9 când Enable = 1 sunt: AI = I3 I2 I1 I0 A1 = I3 + I3 I2 = I3 + I2 A0= I3+ I3 I2 I1= I3+ I2 I1 O implementare a acestui codificator este reprezentată în fig.3.10. (3.3) Figura 3.10

Circuite Logice Combinaţionale 149 Decodificatoarele sunt circuite combinaţionale care activează una sau mai multe ieşiri în funcţie de codul aplicat la intrări. Sunt prezentate în continuare trei tipuri de decodificatoare. Decodificatoarele de adresă reprezentate prin simbolurile din fig.3.11a, b sunt numite şi decodificatoare 1-din-2 n deoarece activează o singură ieşire. Aceste circuite realizează funcţia inversă codificatoarelor de adresă. Valorile logice aplicate la cele n intrări, marcate cu cifrele zecimale 0, 1, 2,..., n - 1, constituie adresa care este decodificată; adresa A n-1...a 1 A 0 determină activarea ieşirii marcate cu cifra k, în conformitate cu relaţia k (10) = A n-1...a 1 A 0(2). Figura 3.11 Decodificatorul din fig.3.11a generează toţi mintermenii de n variabile Y 0 = Ā n-1... Ā 1 Ā 0, Y 1 = Ā n-1... Ā 1 A 0,..., Y 2 = A n-1... A 1 A n 1 0 iar decodificatorul din figura 3.11b generează toţi maxtermenii de n variabile Y 0 = A n-1 +... + A 1 + A 0, Y 0 = A n-1 +... + A 1 + Ā 0,..., Y 2 = Ā n-1 +...+ Ā 1 + Ā 0. n 1 Tabela de funcţionare a unui decodificator 1-din-4 cu ieşiri active pe nivelul logic 1 şi cu intrare de autorizare activă pe nivelul 0 este prezentată în fig.3.12. Figura 3.12

150 Cap.3 Clase de circuite logice combinaţionale Când Enable = 1 funcţionarea decodificatorului este blocată; în această situaţie toate ieşirile sunt inactive. Structura circuitului la nivel de poartă logică este reprezentată în fig.3.13. Fig.3.13 Implementare a decodificatorului 1-din-4 Decodificatorul 1-din-4 cu intrare de autorizare poate fi expandat adică două sau mai multe astfel de circuite pot fi conectate astfel încât să se obţină un decodificator 1-din-2 n, cu sau fără intrare de autorizare. În fig.3.14 şi 3.15 sunt desenate schemele de expandare a decodificatorului 1-din-4 pentru a obţine un decodificator 1-din-8 fără intrare de autorizare şi respectiv cu intrare de autorizare. Figura 3.14 Blocul CLC din fig.3.14 este descris de relaţiile a = Ā 2, b = A 2, c = A 1, d = A 1, e = A 0 şi f = A 0, deduse în mod direct prin comparaţii în tabelele de adevăr.

Circuite Logice Combinaţionale 151 Figura 3.15 Decodificatoarele 1-din-2 n pot fi considerate convertoare de cod binar/zecimal. Un alt tip de decodificator este decodificatorul BCD-zecimal; acesta poate fi privit ca decodificator de adresă modificat (decodificator 1-din-10) sau convertor de cod BCD/zecimal. Tabela de funcţionare şi simbolul grafic al unui decodificator BCD-zecimal cu ieşiri active pe nivelul logic 0 sunt prezentate în fig.3.16. Fig.3.16 Decodificator BCD-zecimal Intrarea cea mai semnificativă este D iar cea mai puţin semnificativă este A. Pentru oricare din cele 6 combinaţii de intrare care nu reprezintă coduri BCD (1010, 1011, 1100, 1101, 1110, 1111) toate ieşirile decodificatorului sunt inactive; datele de intrare false sunt rejectate. Un decodificator care activează simultan mai multe ieşiri este decodificatorul BCD-7 segmente, utilizat pentru comanda celulelor de afişare

152 Cap.3 Clase de circuite logice combinaţionale cu 7 segmente. Aceste celule pot fi de tip LED (Light Emitting Diode) sau LCD (Liquid Crystal Display); segmentele sunt notate şi poziţionate după cum se arată în fig.3.17. Fig.3.17 Celulă de afişare cu 7 segmente Funcţionarea unui decodificator BCD-7 segmente cu ieşiri active pe nivelul logic 1 este descrisă de tabela din fig.3.18. Circuitul are două intrări de test notate LT (Lamp Test) şi BL (Blanking). Combinaţiile de intrare care nu sunt coduri BCD pot fi rejectate sau li se pot atribui alte semnificaţii decât cifre ale bazei 10: -, E, b, c, d, ε, h, n, o, u, A, C, F, H, L, P. Figura 3.18 3.3 Multiplexoare-demultiplexoare Multiplexoarele sunt circuite combinaţionale care selectează una dintre intrările de date şi o direcţionează către singura ieşire; selecţia se realizează prin intermediul unor intrări de control. Aceste circuite mai sunt numite şi selectoare. Demultiplexoarele realizează funcţia inversă a multiplexoarelor; singura intrare de date este direcţionată către una dintre ieşirile circuitului,

Circuite Logice Combinaţionale 153 ieşire care este selectată cu ajutorul unor intrări de control sau de selecţie. Demultiplexoarele mai sunt numite şi distribuitoare. Simbolurile multiplexoarelor şi demultiplexoarelor sunt desenate în fig.3.19. Intrarea de autorizare Enable este opţională. Figura 3.19 Selecţia intrării de date I k în cazul multiplexoarelor şi respectiv a ieşirii Y k în cazul demultiplexoarelor se realizează după regula k (10) = S n-1...s 1 S 0(2). Dacă circuitele sunt autorizate să funcţioneze atunci Y = I k şi respectiv Y k = I; altfel, toate ieşirile sunt fie blocate pe un nivel logic, fie sunt puse în starea de înaltă impedanţă Z4. Tabela de adevăr, ecuaţia de funcţionare şi structura unui MUX de 4 căi sunt prezentate în fig.3.20. Blocarea funcţionării circuitului, utilizând o comandă suplimentară de autorizare, se poate obţine fie prin blocarea porţii OR fie prin blocarea porţilor AND. Expresia ieşirii Y reprezintă o funcţie logică arbitrară, de variabile S 1, S 0 şi ale cărei valori sunt I 0, I 1, I 2 şi I 3. Orice funcţie Figura 3.20

154 Cap.3 Clase de circuite logice combinaţionale logică de două variabile poate fi implementată utilizând numai un MUX de 4 căi. Un exemplu de implementare a unei funcţii logice utilizând un MUX de 8 căi este ilustrat în fig.3.21. Fig.3.21 Implementare a unei funcţii logice cu MUX Multiplexoarele pot fi expandate; o schemă de conectare a 3 MUX-uri de 2 căi care este echivalentă cu un MUX de 4 căi este desenată în fig.3.22. Fig.3.22 Expandare MUX de la 2 căi la 4 căi Structura demultiplexorului de 2 căi este reprezentată în fig.3.23. Fig.3.23 Demultiplexoare de 2 căi

Circuite Logice Combinaţionale 155 Se poate observa din fig.3.23b că intrarea de date I şi intrarea de autorizare Enable sunt echivalente funcţional; acest lucru este independent de dimensiunile demultiplexorului. O schemă de expandare a demultiplexorului de la 2 căi la 4 căi este desenată în fig.3.24. Fig.3.24 Expandare DEMUX Observaţie: Demultiplexoarele pot fi utilizate ca decodificatoare de adresă. În funcţie de structură, intrarea de date se fixează fie la 0, fie la 1 logic şi are semnificaţie de intrare de autorizare; adresa care va fi decodificată se aplică la intrările de selecţie. De asemenea, decodificatoarele de adresă cu intrare de autorizare pot fi utilizate ca demultiplexoare; intrarea de autorizare devine intrare de date. Multiplexoarele şi demultiplexoarele prezentate până acum sunt circuite unidirecţionale şi procesează numai semnale digitale. Cu ajutorul porţilor de transmisie se pot obţine circuite bidirecţionale, care procesează şi semnale analogice. Mai mult, structura multiplexorului devine identică cu aceea a demultiplexorului; un astfel de MUX sau DEMUX este numit MUX/DEMUX analogic şi are structura reprezentată în fig.3.25. Fig.3.25 MUX/DEMUX analogic

156 Cap.3 Clase de circuite logice combinaţionale Dacă funcţionarea decodificatorului de adresă din structura MUX/DEMUX este blocată atunci toate cele 2 n -1 porţi de transmisie sunt întreruperi iar ieşirile de date ale circuitului sunt în starea de înaltă impedanţă Z4; dacă decodificatorul este autorizat să funcţioneze, atunci o singură poartă de transmisie este în stare de conducţie. 3.4 Generatoare-detectoare de paritate Paritatea unui pachet de biţi, care în general are semnificaţie de număr binar sau de cuvânt al unui cod oarecare, este egală cu suma modulo 2 a biţilor; paritatea are valoarea 0(1) dacă numărul de biţi din pachet este par(impar). Detectorul elementar de paritate este poarta XOR sau XNOR. Structura detectorului de paritate este identică cu aceea a generatorului de paritate şi constă dintr-o reţea de porţi XOR-XNOR. Un generator-detector de paritate de 4 biţi este reprezentat în fig.3.26. Fig.3.26 Generator-detector de paritate Intrarea P (paritate) se fixează la 0 când circuitul este utilizat ca detector de paritate a unui pachet de 4 biţi, Y = C 3 rc 2 rc 1 rc 0. Circuitul poate fi utilizat şi pentru detecţia parităţii cuvintelor de 5 biţi, Y = C 4 rc 3 rc 2 rc 1 rc 0, aplicând la intrarea P bitul C 4 ; ordinea de aplicare a biţilor unui cuvânt de cod la intrările detectorului de paritate este arbitrară deoarece operaţia logică SAU EXCLUSIV este comutativă şi asociativă. De asemenea, intrarea P poate fi utilizată şi pentru expandarea circuitului. Combinaţiile de 4 biţi C 3 C 2 C 1 C 0 pot fi codificate prin adăugarea unui bit de control Y, obţinut la ieşirea circuitului din fig.3.26 utilizat ca generator de paritate; toate cuvintele de cod YC 3 C 2 C 1 C 0 au aceeaşi paritate P: YrC 3 rc 2 rc 1 rc 0 = (C 3 rc 2 rc 1 rc 0 rp)rc 3 rc 2 rc 1 rc 0 = P. Codurile formate numai din cuvinte care au aceeaşi paritate, 0 sau 1, sunt coduri detectoare de erori. Dacă la transmisia unor astfel de cuvinte de cod (fie

Circuite Logice Combinaţionale 157 la distanţă, fie local între circuite care fac parte din acelaşi sistem digital) se produc erori logice care afectează un număr impar de biţi din cadrul aceluiaşi cuvânt, atunci la recepţie erorile pot fi detectate; erorile care afectează un număr par de biţi ai aceluiaşi cuvânt de cod YC 3 C 2 C 1 C 0 nu sunt detectate. O schemă de principiu a codificării informaţiei C 3 C 2 C 1 C 0, transmisiei şi controlului parităţii la recepţie este reprezentată în fig.3.27. Figura 3.27 Dacă la ieşirea detectorului de paritate se obţine valoarea logică v atunci în cuvântul recepţionat YC 3 C 2 C 1 C 0 există 1, 3 sau 5 biţi eronaţi; dacă detectorul de paritate indică Y = v atunci cuvântul recepţionat este identic cu cel transmis ori conţine 2 sau 4 erori. 3.5 Circuite de deplasare Deplasările sunt utilizate în special în cadrul operaţiilor aritmetice; deplasarea unui număr binar cu r ranguri spre stânga (spre cifra cea mai semnificativă) este echivalentă cu înmulţirea cu 2 r iar deplasarea cu r ranguri spre dreapta (spre cifra cea mai puţin semnificativă) este echivalentă cu împărţirea prin 2 r. De exemplu, prin deplasarea numărului 101,1 (2) (= 5,5 (10) ) spre stânga cu 2 ranguri se obţine 10110 (= 22 (10) ) iar prin deplasarea spre dreapta cu 1 rang se obţine 10,11 (= 2,75 (10) ); dacă deplasarea implică un format de reprezentare mai mare, atunci noile cifre care sunt introduse în rangurile cele mai semnificative sau în rangurile cele mai puţin semnificative au valoarea 0(L). Circuitele de deplasare (shifters) combinaţionale sunt mult mai rapide decât cele secvenţiale şi pot să realizeze într-un singur pas deplasări cu un număr arbitrar de ranguri. Un circuit de deplasare are de obicei 2n intrări de date D 2n-1...D 1 D 0, n+1 intrări de control a deplasării Shift 0, Shift 1,..., Shift n şi n ieşiri Y n-1...y 1 Y 0,

158 Cap.3 Clase de circuite logice combinaţionale după cum se arată în fig.3.28. O singură intrare de control Shift k, k = 0, 1,..., n este activă la un moment dat, adică are valoarea logică 1; această comandă determină selectarea intrărilor consecutive D n+k-1...d k+1 D k şi conectarea lor la ieşirile circuitului: Y n-1...y 2 Y 1 Y 0 = D n+k-1...d k+2 D k+1 D k. Fig.3.28 Circuit de deplasare combinaţional Informaţia care va fi procesată de către circuitul de deplasare este un număr sau un cuvânt format din n biţi. Acest număr se aplică fie la intrările D n-1...d 1 D 0, fie la intrările D 2n-1...D n+1 D n ; la celelalte n intrări ale circuitului se atribuie numai valori logice 0 sau numai valori logice 1. Circuitul de deplasare din fig.3.28 poate fi utilizat şi pentru efectuarea operaţiilor de rotire sau de permutare circulară a unui număr reprezentat întrun format de n biţi A = A n-1...a 1 A 0 ; pentru aceasta numărul A se aplică atât la intrările mai puţin semnificative cât şi la intrările mai semnificative, adică D 2n-1...D n+1 D n = A n-1...a 1 A 0 şi D n-1...d 1 D 0 = A n-1...a 1 A 0. Dacă se activează una dintre comenzile Shift 0 sau Shift n se obţine Y n-1 Y n-2...y 1 Y 0 = A n-1 A n-2...a 1 A 0. Dacă Shift 1 = 1 se obţine Y n-1 Y n-2...y 1 Y 0 = A 0 A n- 1...A 2 A 1, adică o rotire la stânga cu un rang iar dacă Shift n-1 = 1 se obţine Y n-1 Y n-2...y 1 Y 0 = A n-2 A n-3...a 0 A n-1, adică o rotire la dreapta cu un rang; Shift 2 = 1 determină o rotire la stânga cu două ranguri iar Shift n-2 = 1 determină o rotire la dreapta cu două ranguri ş.a.m.d. În fig.3.29 este reprezentată implementarea cu porţi de transmisie a unui circuit de deplasare cu dimensiunea n = 3; implementarea se poate extinde cu uşurinţă la orice dimensiune. Pe baza acestei structuri se poate observa că, independent de dimensiunea n, semnalele aplicate la intrările de date D traversează numai un singur nivel de porţi de transmisie până la ieşirile Y; viteza maximă de operare a circuitului este determinată în principal de routingul acestuia, adică de capacităţile parazite ale conexiunilor.

Circuite Logice Combinaţionale 159 Figura 3.29 3.6 Comparatoare Aceste circuite combinaţionale determină valoarea relativă a două numere binare: mai mic, egal sau mai mare. Fie două numere binare întregi şi fără semn A = A n-1 A n-2...a 1 A 0 şi B = B n-1 B n-2...b 1 B 0. Compararea acestor numere se efectuează prin comparaţii succesive ale cifrelor care au acelaşi rang, A k şi B k, începând de la cifrele cele mai semnificative şi continuând către cifrele cu rangul 0; dacă A n-1 B n-1 atunci comparaţia se încheie deoarece fie A > B, fie A < B iar dacă A n-1 = B n-1 atunci se continuă comparaţia cu cifrele din rangul n- 2. Compararea biţilor cu rangul k este necesară numai dacă toate comparaţiile anterioare au ca rezultat valoarea egal. Compararea a două numere binare cu parte întreagă şi parte fracţionară, cu acelaşi format, se efectuează ca în cazul numerelor binare întregi indiferent de poziţia virgulei. Acest algoritm de comparare se poate extinde şi pentru numerele binare sau codurile binare cu semn; deoarece semnul + se codifică de obicei cu 0 iar semnul - se codifică cu 1 şi ocupă rangul cel mai semnificativ,

160 Cap.3 Clase de circuite logice combinaţionale trebuie ca rezultatul comparării semnelor să fie modificat din mai mic în mai mare şi reciproc sau să se recodifice semnele prin complementarea acestora. Simbolul grafic şi tabelele care descriu funcţionarea unui comparator numeric de 1 bit, cu ieşiri active pe nivelul logic 1 şi cu intrare de autorizare a funcţionării, sunt reprezentate în fig.3.30. Figura 3.30 Ecuaţiile de funcţionare ale celulei de comparare de 1 bit, determinate direct din tabelele de mai sus, sunt reprezentate de sistemul 3.4 iar implementarea este desenată în fig.3.31 x = Enable Ā k B k y = Enable ( AB + AB) (3.4) z = Enable A k B k k k k k Figura 3.31 Celula de comparare de 1 bit, cu sau fără intrare de autorizare, poate fi utilizată la construirea comparatoarelor de mai mulţi biţi. O schemă de

Circuite Logice Combinaţionale 161 expandare generală, în care sunt conectate două comparatoare fără intrare de autorizare, este prezentată în fig.3.32. Comparatorul COMP1 compară cei mai semnificativi n 1 biţi iar comparatorul COMP2 compară cei mai puţin semnificativi n 2 biţi. Circuitul obţinut prin această interconectare este un comparator de n = n 1 + n 2 biţi, fără intrare de autorizare; autorizarea se poate face prin condiţionarea ieşirilor de către un semnal digital, ca în fig.3.31. Fig.3.32 Schemă de expandare a comparatoarelor Ieşirile comparatorului de n biţi din figura de mai sus sunt active pe nivelul 1 logic: - ieşirea A < B se activează dacă COMP1 indică mai mic (adică < = 1) sau dacă COMP1 indică egal şi COMP2 indică mai mic ; - ieşirea A = B se activează dacă ambele comparatoare indică egal ; - ieşirea A > B se activează dacă COMP1 indică mai mare sau dacă COMP1 indică egal şi COMP2 indică mai mare. Dacă din schema desenată în fig.3.32 se elimină comparatorul COMP2 şi se consideră că cele 5 porţi logice fac parte din structura comparatorului COMP1 atunci se obţine un comparator care nu mai necesită componente exterioare pentru expandare; acest nou comparator are 3 intrări de expandare, notate tot cu simbolurile <, = şi >, la care se conectează ieşirile cu aceleaşi semnificaţii din comparatorul biţilor cu rangurile imediat inferioare. O schemă de expandare a mai multor comparatoare de acest fel este desenată în fig.3.33; comparatoarele pot fi identice ca dimensiune sau diferite. La intrările de expandare ale comparatorului biţilor care au rangurile cele mai puţin semnificative trebuie aplicate valorile < = 0, = = 1 şi > = 0.

162 Cap.3 Clase de circuite logice combinaţionale Figura 3.33 3.7 Sumatoare-scăzătoare Sumatorul este unul dintre cele mai studiate circuite digitale. Există mai multe posibilităţi de efectuare a adunării numerelor binare, fiecare soluţie având propriul compromis arie-viteză. Scăderea numerelor binare se poate efectua fie utilizând scăzătoare (aceste circuite se deosebesc de sumatoare din punct de vedere funcţional şi structural), fie utilizând sumatoare; în acest din urmă caz scăderea se realizează prin intermediul adunării codurilor complementare, după cum s-a arătat în cap.1. Subcircuitul de bază în construirea sumatoarelor este sumatorul elementar (full adder) prezentat în fig.3.34. Fig.3.34 Sumator elementar Sumatorul elementar are ca intrări biţii din rangul k ai operanzilor X şi Y (x k şi respectiv y k ) şi bitul de transport (carry) c k care reprezintă o depăşire a formatului de 1 bit la adunarea efectuată în rangul k - 1; cele două ieşiri ale sumatorului sunt bitul din rangul k al rezultatului adunării (s k ) şi un bit de transport c k+1 care reprezintă o depăşire de format şi care trebuie luat în

Circuite Logice Combinaţionale 163 considerare la adunarea din rangul k + 1. Operaţia efectuată de sumatorul elementar poate fi reprezentată sub forma x k + y k + c k = c k+1 s k în care + reprezintă adunarea algebrică în baza 2 iar rezultatul adunării este un număr binar format din două cifre (MSB = c k+1, LSB = s k ). Expresiile logice care descriu funcţionarea sumatorului elementar, în conformitate cu grupările efectuate în tabelele de adevăr din fig.3.34, sunt: s k = x k r y k r c k (3.5) c k+1 = x k y k + x k c k + y k c k = x k y k + (x k + y k )c k O implementare a sumatorului elementar este reprezentată în fig.3.35 (s-a utilizat expresia x y = x y + x + y ). k k k k k k Fig.3.35 Structura sumatorului elementar Tabelele de adevăr care descriu funcţionarea unui scăzător elementar (full subtractor) sunt reprezentate în fig.3.36. Scăzătorul elementar are ca intrări biţii din rangul k ai operanzilor X şi Y (x k şi respectiv y k ) şi bitul de împrumut (borrow) b k care reprezintă o depăşire a formatului de 1 bit la scăderea efectuată

164 Cap.3 Clase de circuite logice combinaţionale în rangul k - 1; cele două ieşiri ale scăzătorului sunt bitul din rangul k al rezultatului scăderii (d k ) şi un bit de împrumut b k+1 care reprezintă o depăşire de format şi care trebuie luat în considerare la scăderea din rangul k + 1. Operaţia efectuată de scăzătorul elementar poate fi reprezentată sub forma x k - y k - b k = b k+1 d k în care - reprezintă scăderea algebrică în baza 2 iar rezultatul scăderii este un număr binar format din două cifre (MSB = b k+1, LSB = d k ). Fig.3.36 Scăzător elementar Expresiile logice care descriu funcţionarea scăzătorului elementar, în conformitate cu grupările efectuate în tabelele de adevăr din fig.3.36, sunt: d k = x k r y k r b k (3.6) b k+1 = x k y k + x kb k + y k b k = x k y k + (x k + y k )b k Structura scăzătorului elementar este asemănătoare cu aceea a sumatorului elementar; funcţiile s k şi d k sunt identice iar expresia logică a împrumutului b k+1 se poate obţine din expresia transportului c k+1 prin complementarea variabilei x k. Sistemul 3.6 poate fi rescris sub următoarea formă echivalentă: d k = (x kr y k )r b k (3.7) b k+1 = x k y k + x kb k + y k b k = x k y k + (x k + y k )b k Aceste relaţii indică una dintre posibilităţile de modificare a structurii reprezentate în fig.3.35 pentru a obţine o structură de scăzător elementar; circuitul modificat este desenat în fig.3.37.

Circuite Logice Combinaţionale 165 Fig.3.37 Structura scăzătorului elementar O celulă mixtă sumator/scăzător elementar este prezentată în fig.3.38; operaţia este selectată cu ajutorul intrării de control notată op (adunare dacă op = 0 şi scădere dacă op = 1). Fig.3.38 Sumator/scăzător elementar Funcţia logică realizată la ieşirea de transport/împrumut a circuitului poate fi reprezentată sub forma: v k+1 = y k (x k r u k r op) + u k (x k r op) (3.8)

166 Cap.3 Clase de circuite logice combinaţionale O implementare a celulei sumator/scăzător elementar pe baza relaţiei 3.8 este reprezentată în fig.3.39. Fig.3.39 Implementare a celulei sumator/scăzător elementar O altă variantă de implementare a celulei sumator/scăzător este desenată în fig.3.40 şi reprezintă o combinare a schemelor de sumator şi de scăzător din figurile 3.35 şi 3.37. Porţile 1 şi 2 au inversiunea controlată de variabila op. Fig.3.40 Sumator/scăzător elementar

Circuite Logice Combinaţionale 167 3.7.1 Sumatoare-scăzătoare binare cu transport-împrumut succesiv Sumatoare, scăzătoare sau sumatoare-scăzătoare de n biţi se pot obţine printr-o simplă interconectare a n celule elementare după cum se arată în fig.3.41. Denumirea de transport/împrumut succesiv reflectă modul de propagare a transportului sau împrumutului prin toate celulele circuitului, de la celula 0 la celula n - 1; considerând că operanzii X, Y şi transportul (împrumutul) de intrare Figura 3.41

168 Cap.3 Clase de circuite logice combinaţionale c 0 (b 0 ) se aplică simultan la intrările circuitelor din fig.3.41, atunci la ieşirile celulelor sunt disponibile rezultatele după un regim tranzitoriu care creşte în durată proporţional cu rangul celulelor. Fie un sumator de n biţi compus din celule elementare identice cu aceea reprezentată în fig.3.35; se consideră că toate porţile din structura acestei celule au întârzierea t p cu excepţia porţii XOR a cărei întârziere este 2t p. În tabela din fig.3.42 sunt calculate valorile întârzierilor (în raport cu momentul de aplicare a operanzilor X, Y şi transportului de intrare c 0 ) după care sunt disponibile rezultatele de la ieşirile celulelor. ieşire întârziere s 0 5t p c 1 3t p s 1 5t p c 2 5t p s 2 7t p c 3 7t p s 3 9t p c 4 9t p s 4 11t p c 5 11t p...... s n-1 [5 + 2(n-2)]t p, n > 1 c n [3 + 2(n-1)]t p, n > 0 Fig.3.42 Întârzierile sumatorului cu transport succesiv Calea critică din punct de vedere a vitezei de operare este calea de propagare a transportului c 0 -c 1 -c 2 -c 3 -...-c n. Rezultate asemănătoare cu acelea din fig.3.42 se obţin şi în cazurile scăzătorului cu împrumut succesiv şi circuitului mixt sumator-scăzător cu transport-împrumut succesiv, pentru orice implementare a celulelor elementare de bază. Dezavantajul major al circuitelor din fig.3.41 constă în reducerea vitezei de operare odată cu creşterea dimensiunilor acestora (adică cu mărirea numărului de celule elementare care compun circuitele). Avantajele circuitelor

Circuite Logice Combinaţionale 169 din fig.3.41 sunt următoarele: - proiectarea implică un efort redus de calcul; - aria ocupată este mică în raport cu alte arhitecturi de sumatoare, scăzătoare sau sumatoare-scăzătoare; - testarea sau verificarea funcţionării este simplă şi eficientă (această proprietate va fi demonstrată în cap.5). Creşterea vitezei de operare a sumatoarelor/scăzătoarelor se poate realiza prin modificarea modului de propagare a transportului/împrumutului, adică de interconectare a celulelor elementare; prin aceasta se măreşte aria ocupată pe chip. Trei tipuri de sumatoare binare, mai rapide decât cel cu transport succesiv, sunt prezentate în paragrafele următoare (aceste tehnici de creştere a vitezei se aplică şi scăzătoarelor sau circuitelor mixte sumator-scăzător). 3.7.2 Sumatoare binare cu transport anticipat La adunarea x k + y k + c k efectuată în rangul k apare transport către rangul k + 1 (adică c k+1 = 1) în următoarele două situaţii: 1) x k = y k = 1; În acest caz transportul c k+1 = 1 este generat local, de către celula de rangul k, indiferent de valoarea transportului c k de la intrarea acesteia. 2) x k y k şi c k = 1 (sau x k + y k = 1 şi c k = 1). În acest caz transportul c k+1 = 1 apare datorită propagării transportului c k = 1 prin sumatorul elementar de rangul k. Fie G k = x k y k şi P k = x k + y k funcţia de generare şi respectiv funcţia de propagare a transportului corespunzătoare celulei cu rangul k. Sistemul 3.5 care descrie funcţionarea sumatorului elementar poate fi rescris sub forma: s k = x k r y k r c k (3.9) c k+1 = G k + P k c k Structura unui sumator de n biţi cu transport anticipat este desenată în fig.3.43. Fig.3.43 Sumator cu transport anticipat

170 Cap.3 Clase de circuite logice combinaţionale Fiecare celulă elementară din structura sumatorului de n biţi cu transport anticipat calculează valorile a trei funcţii logice şi anume bitul sumă cu rangul corespunzător poziţiei celulei s k, funcţia de generare a transportului G k şi funcţia de propagare a transportului P k. Cu excepţia celulei de rang 0, toate celulele sumatorului au la intrarea lor de transport valori determinate de către blocul GTA; acesta trebuie să determine simultan toate transporturile c 1, c 2,..., c n-1, c n, sarcină posibilă de realizat deoarece toate celulele furnizează simultan valorile G k, P k. Structura unei celule elementare din cadrul sumatorului cu transport anticipat este mai simplă decât a celei din fig.3.35 şi este desenată în fig.3.44. Figura 3.44 Structura blocului GTA se determină cu ajutorul relaţiei c k+1 = G k + P k c k (a doua din sistemul 3.9) astfel: c 1 = G 0 + P 0 c 0 c 2 = G 1 + P 1 (G 0 + P 0 c 0 ) = G 1 + P 1 G 0 + P 1 P 0 c 0 (3.10) c 3 = G 2 + P 2 (G 1 + P 1 G 0 + P 1 P 0 c 0 ) = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 c 0 c 4 = G 3 + P 3 (G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 c 0 ) = G 3 + P 3 G 2 + P 3 P 2 G 1 + + P 3 P 2 P 1 G 0 + P 3 P 2 P 1 P 0 c 0 etc.

Circuite Logice Combinaţionale 171 Cele 4 expresii logice calculate în sistemul 3.10 pot fi realizate cu subcircuite compuse din două nivele de porţi elementare, dacă se acceptă faptul că o poartă logică AND sau OR cu 5 intrări mai este încă elementară (noţiunea de poartă logică elementară implică o limitare asupra numărului de intrări după cum se va arăta în cap.4). În ipoteza simplificatoare că toate porţile elementare au întârzierea de propagare egală cu t p, transporturile c 1 c 4 au valorile disponibile după o întârziere egală cu 3t p faţă de momentul de aplicare la intrările sumatorului a operanzilor X, Y şi transportului c 0 (o întârziere egală cu t p este introdusă de celulele elementare care determină valorile G, P şi o întârziere egală cu 2t p este introdusă de GTA). Dacă întârzierea porţii XOR este 2t p atunci fiecare dintre rezultatele s 0 s 3 sunt disponibile la ieşirile sumatorului după o întârziere egală cu 5t p. Transporturile c 5, c 6, c 7,... nu pot fi determinate cu subcircuite compuse numai din două nivele de porţi elementare; aceasta înseamnă ca rezultatele s 4, s 5, s 6,... vor fi disponibile după întârzieri mai mari decât 5t p. De obicei se realizează sumatoare cu transport anticipat de 4 biţi. Acestea pot fi interconectate la rândul lor în două moduri pentru a obţine sumatoare cu dimensiuni mai mari; ambele tipuri de sumatoare sunt mai rapide decât cele cu transport succesiv. Cea mai simplă schemă de expandare este prezentată în fig.3.45. Acest mod de interconectare este identic cu acela utilizat pentru obţinerea sumatoarelor cu Fig.3.45 Expandarea serie a sumatorului de 4 biţi cu transport anticipat

172 Cap.3 Clase de circuite logice combinaţionale transport succesiv şi este cel mai folosit deoarece reţeaua de interconexiuni este mai simplă de proiectat şi ocupă arie mai mică. Al doilea mod de expandare a sumatorului cu transport anticipat constă în utilizarea mai multor nivele de anticipare a transportului; interconectarea sumatoarelor de 4 biţi se face după principiul ilustrat în fig.3.43 pentru sumatoare elementare. O schemă de expandare cu două nivele de anticipare a transportului este desenată în fig.3.46; cele 5 blocuri GTA sunt identice. Fig.3.46 Sumator de 16 biţi cu două nivele de anticipare a transportului

Circuite Logice Combinaţionale 173 În locul transportului c 4 blocurile GTA din fig.3.46 calculează funcţiile G 4 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 (3.11) P 4 = P 3 P 2 P 1 P 0 În schema de expandare din fig.3.45 transporturile c 1 c 4 au valorile disponibile după o întârziere egală cu 3t p (faţă de momentul de aplicare la intrările sumatorului a operanzilor X, Y şi transportului c 0 ) iar transporturile c 5, c 6, c 7, c out au valorile disponibile după o întârziere egală cu 5t p ; întârzierile rezultatelor s 0 s 4 sunt egale cu 5t p iar cele ale rezultatelor s 5, s 6, s 7 sunt egale cu 7t p. Dacă un al treilea sumator de 4 biţi cu transport anticipat se adăugă în lanţul din fig.3.45 atunci rezultatul s 8 se obţine după 7t p iar s 9, s 10, s 11 se obţin cu întârzierea 9t p ; fiecare nou sumator de 4 biţi adăugat determină o creştere a întârzierii cu 2t p. Un sumator de 4n biţi construit după modelul din fig.3.45 calculează cei mai semnificativi 3 biţi cu întârzierea (5 + 2n)t p şi este de aproximativ 4 ori mai rapid decât un sumator de 4n biţi cu transport succesiv; cei mai semnificativi 2 biţi ai acestuia din urmă sunt disponibili după (1 + 8n)t p. Rezultatele s 0 s 3 ale sumatorului din fig.3.46 se obţin după 5t p iar s 4 s 15 se obţin după 7t p. Fiecare nivel de anticipare a transportului introduce o întârziere a rezultatelor egală cu 2t p însă dimensiunile sumatorului se măresc de 4 ori cu fiecare nou nivel de anticipare. Un sumator cu 3 nivele de anticipare a transportului (sau 3 nivele de GTA) este un sumator de 64 de biţi şi se obţine prin conectarea a 4 sumatoare identice cu acela din fig.3.46 la un nou GTA; viteza de operare a acestuia este de aproximativ 14 ori mai mare decât aceea a sumatorului de 64 de biţi cu transport succesiv (129t p /9t p 14,33). Sumatorul cu transport anticipat de 4 biţi reprezentat în fig.3.43 şi sumatoarele obţinute prin expandarea acestuia după schemele din fig.3.45 şi 3.46 au căi critice diferite şi mai scurte faţă de cele ale sumatoarelor cu transport succesiv corespondente ca dimensiuni. 3.7.3 Sumatoare binare cu transport în salt Un sumator cu transport în salt se obţine prin partiţionarea unui sumator cu transport succesiv în sumatoare cu dimensiuni mai mici (nu neapărat egale între ele) şi adăugarea unor subcircuite care să determine, atunci când este posibil, valorile de la ieşirile de transport ale acestor sumatoare mult mai devreme în comparaţie cu propagarea succesivă. Pentru aceasta fiecare sumator elementar trebuie să implementeze funcţiile s k, c k+1 şi funcţia de propagare a transportului P k = x k r y k ; această ultimă funcţie este realizată implicit de către orice sumator elementar şi nu necesită decât adăugarea unei singure conexiuni într-o structură ca aceea desenată în fig.3.35 sau chiar în blocul descris funcţional în fig.3.34, indiferent de implementare. Sumatorul elementar din fig.3.47 este obţinut din cel reprezentat în fig.3.35.

174 Cap.3 Clase de circuite logice combinaţionale Figura 3.47 Observaţie: Pentru celula din rangul k a unui sumator cu transport anticipat, sistemele de funcţii G k = x k y k şi G k = x k y k P k = x k + y k P k = x k r y k sunt echivalente deoarece c k+1 = x k y k + (x k + y k )c k = x k y k + (x k r y k )c k. Funcţia de propagare P k = x k + y k nu exclude generarea locală a transportului, adică dacă P k = 1 atunci este posibil ca G k = 1. Funcţia de propagare P k = x k r y k exclude generarea locală a transportului, adică dacă P k = 1 atunci G k = 0. Structura unui sumator cu transport în salt este desenată în fig.3.48. Sumatorul iniţial, cu transport succesiv, este împărţit în sumatoare de m biţi. Dacă toate ieşirile P k ale unui sumator Σ j au valoarea logică 1, situaţie care apare numai când x k y k œk = jm,..., (j+1)m-1, atunci c (j+1) m = c jm. În acest caz chiar dacă sumatorul Σ j determină valoarea c (j+1)m prin propagare succesivă a transportului c jm, operaţie care durează 2mt p, la intrarea de transport a sumatorului Σ j+1 se aplică valoarea corectă c jm mai repede, prin conexiunea de bypass care leagă intrările de transport ale sumatoarelor Σ j şi Σ j+1 prin MUX j ; legătura dintre ieşirea de transport din Σ j şi intrarea de transport în Σ j+1 se întrerupe la nivelul multiplexorului MUX j.

Circuite Logice Combinaţionale 175 Fig.3.48 Sumator cu transport în salt Dacă porţile AND din fig.3.48 sunt elementare şi au timpul de propagare egal cu t p iar multiplexoarele sunt construite din porţi de transmisie şi inversoare, atunci toate conexiunile de bypass sunt realizate simultan după o întârziere egală cu 5t p faţă de momentul de aplicare a operanzilor X, Y şi transportului c in (sunt realizate conexiuni de bypass numai acolo unde sunt îndeplinite condiţiile, adică unde o poartă AND are la ieşire nivelul 1 logic). Calea de propagare a transportului care traversează toate sumatoarele elementare din structura circuitului din fig.3.48 nu mai este o cale critică din punct de vedere a vitezei de operare; această cale este numită cale de propagare falsă. Cea mai lungă cale de propagare din structura sumatorului cu transport în salt porneşte de la intrările x 0, y 0, traversează succesiv celulele sumatorului Σ 0, apoi toate multiplexoarele şi conexiunile de bypass care şuntează sumatoarele intermediare şi în final traversează toate celulele ultimului sumator; ieşirea acestei căi este s n-1. Calea cea mai lungă (x 0, y 0 )-MUX0-MUX1-...-s n-1 menţionată mai sus este o cale de propagare efectivă atunci când operanzii X şi Y îndeplinesc următoarele condiţii: 1) x 0 = y 0 = 1; 2) x k y k œk = 1, 2, 3,..., (n-2); 3) x n-1 = y n-1.

176 Cap.3 Clase de circuite logice combinaţionale Dacă se aproximează cu 2t p întârzierea fiecărei conexiuni de bypass, care leagă printr-un MUX de două căi intrările de transport a două sumatoare consecutive de m biţi, atunci întârzierea aproximativă a căii critice (x 0, y 0 )... s n-1 este T p (m) = 4mt p + 2(n/m - 2)t p. (3.12) Întârzierea prin sumatorul Σ 0 este egală cu 2mt p ; dacă m > 2 atunci la momentul 2mt p toate căile de bypass sunt deja activate sau realizate. Viteza de operare a sumatorului cu transport în salt depinde de modul de partiţionare a sumatorului de n biţi cu transport succesiv în sumatoare cu dimensiuni mai mici; numărul m poate să aibă valorile 1, 2,..., n. Se poate determina o valoare optimă pentru m din punct de vedere a vitezei de operare, pe baza relaţiei 3.12. Valoarea minimă a timpului de propagare T p este dată de soluţia ecuaţiei T p (m) = 0 (T p (m) este derivata de ordinul 1 a funcţiei T p (m)): T p (m) = (4-2n/m 2 )t p = 0 Y m opt = (n/2) 0,5 (3.13) Înlocuind valoarea m opt în relaţia 3.12 se obţine: T p min = 4( 2n 1) t p (3.14) În cazul particular n = 32 se obţin valorile m opt = 4 şi T p min = 28t p. Timpul de propagarea corespunzător căii critice a sumatorului cu transport succesiv de 32 de biţi are valoarea 65t p (conform tabelei din fig.3.42), ceea ce înseamnă că prin tehnica de şuntare utilizată la construirea sumatoarelor cu transport în salt s-a mărit viteza de operare de aproximativ 65/28 2,32 ori. 3.7.4 Sumatoare binare cu transport selectat Tehnica de selecţie a transportului constă în partiţionarea unui sumator de n biţi cu transport succesiv în sumatoare de m biţi şi efectuarea adunării în fiecare grup de m biţi (cu excepţia grupului cel mai puţin semnificativ) în două variante paralele: cu valoarea transportului de intrare egală cu 0 şi respectiv egală cu 1; aceasta implică o creştere de cel puţin două ori a complexităţii unui sumator cu transport selectat de n biţi faţă de cel iniţial cu transport succesiv de n biţi. Toate sumatoarele de m biţi cu transport succesiv care alcătuiesc sumatorul de n biţi cu transport selectat operează simultan. La nivelul tuturor grupurilor de m biţi sunt disponibile atât rezultatele corecte cât şi cele greşite cu aceeaşi întârziere, egală cu (2m+1)t p în raport cu momentul de aplicare a operanzilor X, Y şi transportului de intrare c in. Selectarea rezultatelor corecte se face succesiv, începând de la sumatorul cel mai puţin semnificativ şi continuând către perechea de sumatoare cea mai semnificativă; valoarea corectă a transportului de la ieşirea unei perechi de sumatoare Σ j decide care sunt rezultatele corecte dintre acelea calculate de perechea de sumatoare Σ j+1.

Circuite Logice Combinaţionale 177 Structura unui sumator cu transport selectat este desenată în fig.3.49. Fig.3.49 Sumator cu transport selectat Blocurile MUX js sunt compuse din m multiplexoare de două căi, a căror intrări de selecţie sunt conectate împreună şi comandate de ieşirea de transport a unuia dintre sumatoarele perechii Σ j-1, prin calea selectată în multiplexorul de două căi MUX (j-1)c; face o excepţie intrarea de selecţie a blocului MUX 1S, care este controlată direct de către ieşirea de transport a sumatorului Σ 0. Pentru a reduce fanout-ul ieşirilor de transport ale sumatoarelor de m biţi din fig.3.49 şi implicit pentru a micşora întârzierile de propagare cauzate de fanout, înainte de intrările Sel ale blocurilor MUX js trebuie introduse buffere de putere (porţi neinversoare); acestea nu sunt reprezentate în fig.3.49. Calea critică în structura sumatorului cu transport selectat traversează succesiv toate celulele sumatorului

178 Cap.3 Clase de circuite logice combinaţionale Σ 0, de la intrările (x 0, y 0 ) la ieşirea de transport c m şi continuă cu linia de selecţie a transporturilor compusă din multiplexoarele MUX 1C, MUX 2C, MUX 3C,..., MUX (n/m-1)c. Dacă se aproximează cu 2t p întârzierea adăugată de fiecare dintre aceste multiplexoare, ca în cazul sumatorului cu transport în salt, atunci întârzierea aproximativă a căii critice este T p (m) = (2m+1)t p + 2(n/m - 1)t p. (3.15) Valoarea optimă a numărului m 0 {1, 2, 3,..., n} este soluţia ecuaţiei T p (m) = (2-2n/m 2 )t p = 0 Y m opt = n 0,5 (3.16) iar timpul de propagare pe calea critică are valoarea minimă T p min = ( 4 n 1) t p (3.17) În cazul particular n = 64 se obţin valorile m opt = 8 şi T p min = 33t p. Calea de propagare critică a unui sumator cu transport succesiv de 64 biţi are o întârziere egală cu 129t p, ceea ce înseamnă că prin tehnica de selecţie a transportului s-a mărit viteza de operare de aproximativ 129/33 3,9 ori. Aprecierile cantitative prezentate pentru sumatoarele descrise în paragrafele anterioare (cu transport succesiv, anticipat, în salt şi respectiv selectat) au un grad mare de aproximare şi sunt mai mult orientative; evaluarea vitezei de operare este pesimistă în cazul sumatoarelor cu transport în salt şi cu transport selectat şi foarte optimistă în cazul sumatorului cu transport anticipat (nu s-au luat în considerare fanout-ul şi întârzierile reţelelor de interconexiuni). Există două posibilităţi de creştere a vitezei sumatoarelor cu transport în salt sau selectat. O modalitate constă în reducerea întârzierilor conexiunilor şi multiplexoarelor situate pe căile critice de propagare; aceasta se poate obţine prin creşterea dimensiunilor acestor componente de circuit şi poziţionarea lor adecvată. Astfel, dacă întârzierile multiplexoarelor şi conexiunilor asociate se reduc de la 2t p la t p atunci relaţiile 3.12, 3.13, 3.14 şi respectiv 3.15, 3.16, 3.17 devin: T p (m) = 4mt p + (n/m - 2)t p T p (m) = (4 - n/m 2 )t p = 0 Y m opt = n 0,5 /2 (3.18) T p min = ( 4 n 2) t p T p (m) = (2m+1)t p + (n/m - 1)t p T p (m) = (2 - n/m 2 )t p = 0 Y m opt = (n/2) 0,5 (3.19) T p min = t p 2 2n

Circuite Logice Combinaţionale 179 În cazul particular n = 32 întârzierea pe calea critică a sumatorului cu transport în salt este T p min 21t p iar viteza de operare creşte faţă de sumatorul de 32 biţi cu transport succesiv de 65/21 3,1 ori (faţă de 2,32 ori, cât a fost înainte de reducerea întârzierii căii critice). În cazul particular n = 64 întârzierea pe calea critică a sumatorului cu transport selectat este T p min 23t p iar viteza de operare creşte faţă de sumatorul de 64 biţi cu transport succesiv de 129/23 5,6 ori (faţă de 3,9 ori, cât a fost înainte de reducerea întârzierii căii critice). O altă metodă de creştere a vitezei de operare a sumatoarelor cu transport în salt sau selectat este partiţionarea neuniformă a unui sumator de n biţi cu transport succesiv (şi aplicarea tehnicilor de şuntare sau de selecţie a transportului). O cale de propagare a transportului într-un sumator de n biţi cu transport în salt traversează succesiv celulele din cel mult două sumatoare componente. O partiţionare mai eficientă decât cea uniformă este una în care primul şi ultimul sumator au dimensiuni mai mici iar sumatoarele intermediare cresc progresiv în dimensiune pe măsură ce se depărtează de extremităţile lanţului de sumatoare. Dacă se consideră că întârzierea unei conexiuni de bypass este egală cu 2t p atunci partiţionarea Σ 0 (3biţi), Σ 1 (4biţi), Σ 2 (5biţi), Σ 3 (6biţi), Σ 4 (5biţi), Σ 5 (4biţi), Σ 6 (3biţi), Σ 7 (2biţi) a unui sumator de 32 de biţi determină în structura sumatorului cu transport în salt mai multe căi care au întârziere maximă egală cu 22t p. Aceste căi sunt critice şi traversează toate celulele sumatoarelor (Σ 0, Σ 7 ), sau (Σ 0, Σ 6 ), sau (Σ 0, Σ 5 ), sau (Σ 0, Σ 4 ), sau (Σ 0, Σ 3 ), sau (Σ 1, Σ 7 ), sau (Σ 1, Σ 6 ), sau (Σ 1, Σ 5 ), sau (Σ 1, Σ 4 ), sau (Σ 1, Σ 3 ), sau (Σ 2, Σ 7 ), sau (Σ 2, Σ 6 ), sau (Σ 2, Σ 5 ), sau (Σ 2, Σ 4 ), sau (Σ 2, Σ 3 ), sau (Σ 3, Σ 7 ), sau (Σ 3, Σ 6 ), sau (Σ 3, Σ 5 ), sau (Σ 3, Σ 4 ); intrările şi ieşirile căilor critice sunt intrările x k, y k în celula cea mai puţin semnificativă a primului sumator şi respectiv ieşirea s k din celula cea mai semnificativă a celui de-al doilea sumator. O cale critică este o cale de propagare efectivă dacă: - x k = y k = 1 (intrările în celula cea mai puţin semnificativă a primului sumator); - x q = y q (intrările în celula cea mai semnificativă a celui de-al doilea sumator); - x r y r œr = (k+1), (k+2),..., (q-1). Partiţionarea menţionată mai sus determină o creştere a vitezei de operare faţă de sumatorul de 32 biţi cu transport succesiv de 65/22 2,95 ori, aproximativ egală cu creşterea obţinută prin reducerea întârzierilor conexiunilor de bypass de la 2t p la t p. Partiţionarea cea mai eficientă a unui sumator de n biţi în vederea creşterii vitezei de operare prin tehnica de selecţie a transportului se poate deduce pe baza schemei cu partiţionare uniformă reprezentată în fig.3.49. Se consideră că întârzierea introdusă de un multiplexor de două căi MUX jc din linia de selecţie a transportului este egală cu 2t p. Dacă Σ 0 este un sumator de m biţi atunci selecţia căii corecte prin MUX 1C este realizată cu întârzierea (2m + 3)t p faţă de momentul de aplicare a operanzilor X, Y şi transportului de intrare c in. La

180 Cap.3 Clase de circuite logice combinaţionale acest moment de timp, nu mai devreme, sunt disponibile şi transporturile c 2m la ieşirile sumatoarelor Σ 1 dacă acestea au dimensiunea m + 1. Calea corectă prin multiplexorul MUX 2C este realizată la momentul (2m + 5)t p, ceea ce înseamnă că dimensiunea sumatoarelor Σ 2 poate fi m + 2. Continuând acest raţionament rezultă ca sumatoarele Σ j trebuie să aibă dimensiunea m + j. Calea critică în structura circuitului traversează succesiv toate celulele sumatorului Σ 0, de la intrările (x 0, y 0 ) la ieşirea de transport c m şi continuă cu linia de selecţie a transporturilor până la ieşirea ultimului multiplexor de două căi. Viteza de operare a acestui sumator cu transport selectat este egală cu viteza sumatoarelor cu transport succesiv care sumează biţii cei mai semnificativi şi care au dimensiunea cea mai mare. Partiţionarea Σ 0 (2biţi), Σ 1 (3biţi),..., Σ 9 (11biţi) este optimă pentru un sumator de 65 de biţi; întârzierea căii critice este 23t p iar creşterea vitezei de operare este egală cu aceea obţinută prin reducerea de la 2t p la t p a întârzierilor conexiunilor şi multiplexoarelor situate pe calea critică a sumatorului cu partiţionare uniformă. Evaluările vitezelor de operare bazate pe întârzierile reale ale conexiunilor şi componentelor de circuit precum şi măsurătorile efectuate pe circuitele fizice arată că cele mai rapide sumatoare sunt cele cu transport selectat, urmate (în această ordine) de sumatoarele cu transport anticipat şi cu transport în salt. 3.7.5 Sumatoare BCD Un sumator BCD elementar efectuează adunarea a două cifre zecimale codificate binar (codul 8421). La fel ca în cazul sumatorului binar elementar, o celulă BCD trebuie să ia în considerare şi un eventual transport de la rangul imediat inferior; un singur bit este suficient pentru reprezentarea sau codificarea acestui transport deoarece la adunarea a două numere zecimale, indiferent de format, transportul între ranguri consecutive este fie 0, fie 1. Rezultatul adunării a două cifre zecimale şi a unui transport (egal cu 0 sau 1) efectuate de un sumator BCD elementar este o cifră zecimală reprezentată în cod 8421 şi un transport care are valoarea 1 în cazul depăşirii formatului. Simbolul grafic al unui sumator BCD elementar este desenat în fig.3.50. Funcţionarea acestui circuit poate fi descrisă în zecimal printr-o tabelă cu 200 de linii sau prin ecuaţia X k (10) + Y k (10) + c k = S k (10) + 10c k+1 = c k+1 S k (10) (3.20) în care + desemnează adunarea algebrică în baza 10 (adunarea modulo 10) iar X k, Y k şi S k sunt cifre ale bazei 10 (codificate binar). Structura sumatorului BCD elementar poate fi determinată prin sinteză logică; circuitul implementează un sistem de 5 funcţii logice care depind de 9