You are on page 1of 613

Electronic digital a a - Curs Gheorghe TOACSE April 3, 2005

TRANSILVANIA University Braov, Electronics and Computers s Email: toacseg@vega.unitbv.ro

Cuprins
1 PORTI LOGICE 1.1 SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE . . . . . 1.1.1 Axiomele i teoremele algebrei Booleene . . . . . . . . . . . s 1.1.2 Algebre polivalente . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Functii Booleene . . . . . . . . . . . . . . . . . . . . . . . . 1.1.4 Forme canonice . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.5 Forme disjunctive i conjunctive . . . . . . . . . . . . . . . s 1.2 POARTA LOGICA . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 PARAMETRII PORTILOR LOGICE . . . . . . . . . . . . . . . . 1.4 PORTI LOGICE TEHNOLOGIA BIPOLARA . . . . . . . . . IN 1.4.1 Inversorul bipolar . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Porti logice TTL . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Porti pentru magistrale . . . . . . . . . . . . . . . . . . . . 1.5 PORTI TEHNOLOGIA CMOS . . . . . . . . . . . . . . . . . . IN 1.5.1 Tranzistorul MOSFET . . . . . . . . . . . . . . . . . . . . . 1.5.1.1 Tehnologia de fabricatie a tranzistorului MOS . . 1.5.1.2 Ecuatiile tranzistorului MOS . . . . . . . . . . . . 1.5.2 Inversorul CMOS . . . . . . . . . . . . . . . . . . . . . . . . 1.5.2.1 Caracteristica static de transfer VO = f (VI ) . . . a 1.5.2.2 Proiectarea inversorului CMOS . . . . . . . . . . . 1.5.2.3 Tehnologia de fabricatie a inversorului CMOS . . 1.5.2.4 Regimul dinamic al inversorului . . . . . . . . . . 1.5.3 Familia de porti logice CMOS . . . . . . . . . . . . . . . . . 1.5.3.1 Poarta NOR i NAND cu dou intrri . . . . . . . s a a 1.5.3.2 Porti logice complexe . . . . . . . . . . . . . . . . 1.5.3.3 Seriile de porti ale familiei CMOS . . . . . . . . . 1.5.3.4 Interfatarea TTL-CMOS i CMOS-TTL . . . . . . s 1.5.4 Poarta de transmisie CMOS . . . . . . . . . . . . . . . . . . 1.5.5 Circuite logice dinamice . . . . . . . . . . . . . . . . . . . . 1.5.6 Metoda efortului logic . . . . . . . . . . . . . . . . . . . . . 1.5.6.1 Determinarea arzierii pe o poart logic . . . . nt a a 1.5.6.2 Calculul arzierii retelele de porti logice . . . nt n 1.5.6.3 Alegerea numrului optim de niveluri pe un traseu a 1.6 REJECTIA ZGOMOTELOR . . . . . . . . . . . . . . . . . . . . . 1.6.1 Rejectia zgomotelor externe . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 11 14 19 26 31 39 52 52 56 59 66 66 66 72 79 80 83 87 90 94 95 98 105 107 111 115 123 124 131 136 142 148

4 1.6.2 Rejectia 1.6.2.1 1.6.2.2 1.6.2.3 1.6.2.4

CUPRINS zgomotelor interne . . . . . . . . . . . . . . . . . . . . 150 Zgomotul de mas. . . . . . . . . . . . . . . . . . . . . 150 a Zgomotul datorit neadaptrii liniilor. . . . . . . . . . 151 a a Zgomotul datorat cuplajului electromagnetic (diafonia) 158 Zgomotul datorit curentilor de alimentare . . . . . . 160 a 173 173 176 177 182 186 191 193 196 199 203 209 213 218 218 220 224 232 233 237 247 250 255 261 263 263 269 272 273 273 275 275 280 287 288 291 293 295 301 301

2 CIRCUITE LOGICE COMBINATIONALE 2.1 CIRCUITUL LOGIC COMBINATIONAL . . . . . . . . . . . . . . . . 2.2 REPREZENTAREA CLC . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Tabelul de adevr . . . . . . . . . . . . . . . . . . . . . . . . . a 2.2.2 Reprezentarea analitic . . . . . . . . . . . . . . . . . . . . . . a 2.2.3 Diagrama Veitch - Karnaugh . . . . . . . . . . . . . . . . . . . 2.2.3.1 Minimizarea functiilor incomplet denite . . . . . . . 2.2.3.2 Minimizare pe diagrame V-K cu variabile reziduu . . 2.2.3.3 Minimizarea prin diagrame V-K a circuitelor cu ieiri s multiple . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Diagrama de decizie binar, BDD . . . . . . . . . . . . . . . . a 2.2.5 Modaliti neformale de reprezentare . . . . . . . . . . . . . . . at 2.3 REALIZAREA CIRCUITELOR COMBINATIONALE . . . . . . . . . 2.3.1 Hazardul static . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 CLC PENTRU FUNCTII LOGICE . . . . . . . . . . . . . . . . . . . 2.4.1 Codicatorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Codicatorul prioritar, CDCP . . . . . . . . . . . . . . . . . . . 2.4.3 Decodicatorul, DCD . . . . . . . . . . . . . . . . . . . . . . . 2.4.3.1 Convertorul de cod . . . . . . . . . . . . . . . . . . . 2.4.4 Multiplexorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.4.1 Aplicatii cu circuite multiplexoare . . . . . . . . . . . 2.4.5 Demultiplexorul . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.6 Memoria numai cu citire, ROM . . . . . . . . . . . . . . . . . . 2.4.6.1 Realizarea circuitelor i modulelor ROM . . . . . . . s 2.4.6.2 Module de memorie ROM . . . . . . . . . . . . . . . . 2.4.7 Dispozitivele logice programabile, PLD . . . . . . . . . . . . . . 2.4.7.1 Matricea Logic Programabil, PLA . . . . . . . . . . a a 2.4.7.2 Matricea logic programabil cu nivel OR x, PAL . a a 2.4.7.3 Circuitul de tip GAL . . . . . . . . . . . . . . . . . . 2.5 CLC PENTRU FUNCTII NUMERICE . . . . . . . . . . . . . . . . . 2.5.1 Comparatorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Sumatorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2.1 Sumatorul cu Transport Progresiv, STP . . . . . . . . 2.5.2.2 Sumatoare de performanta ridicat . . . . . . . . . . a 2.5.3 Multiplicatorul . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.3.1 Multiplicatorul matriceal . . . . . . . . . . . . . . . . 2.5.3.2 Multiplicatorul tip arbore Wallace . . . . . . . . . . . 2.5.3.3 Multiplicatorul tabelar . . . . . . . . . . . . . . . . . 2.5.4 Circuite de deplasare . . . . . . . . . . . . . . . . . . . . . . . . 2.5.5 Unitatea Aritmetic i Logic, ALU . . . . . . . . . . . . . . . as a 2.5.5.1 Calea de date . . . . . . . . . . . . . . . . . . . . . . .

CUPRINS Organizarea i implementarea unei s i logic . . . . . . . . . . . . . . . s a 2.5.5.3 Structurarea unei ALU elementare PROBLEME . . . . . . . . . . . . . . . . . . . . . 2.5.5.2

5 uniti aritmetic at a . . . . . . . . . . . 305 . . . . . . . . . . . 306 . . . . . . . . . . . 311 321 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 330 330 332 340 341 344 345 345 354 357 361 372 376 382 383 386 391 395 395 398 402 405 409 418 423 425 428 431 435 439 450 452 452 455 458 460 468 473

2.6

3 CIRCUITE LOGICE SECVENTIALE, CLS 3.1 CIRCUITE LOGICE SECVENTIALE ASINCRONE . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 CIRCUITE LOGICE SECVENTIALE SINCRONE . . . . . . 3.2.1 Sincronizarea semnalelor asincrone . . . . . . . . . . . 3.2.2 Automate nite: structur, denitii, clasicri . . . . a a 3.2.3 Modaliti de reprezentare ale automatelor . . . . . . at 3.2.3.1 Graful de tranzitie al strilor . . . . . . . . . a 3.2.3.2 Tabelul de tranzitie al strilor . . . . . . . . a 3.2.3.3 Diagrame de variatie timp ale semnalelor . n 3.2.3.4 Organigrama ASM . . . . . . . . . . . . . . . 3.2.3.5 Limbaje de transfer ntre registre, RTL . . . 3.2.4 Reducerea numrului de stri . . . . . . . . . . . . . . a a 3.2.5 Asignarea strilor . . . . . . . . . . . . . . . . . . . . . a 3.2.5.1 Intrri i ieiri asincrone . . . . . . . . . . . . a s s 3.2.6 Proiectarea automatelor sincrone . . . . . . . . . . . . 3.3 CIRCUITE BASCULANTE . . . . . . . . . . . . . . . . . . . 3.3.1 Circuitul latch . . . . . . . . . . . . . . . . . . . . . . 3.3.1.1 Latch-ul SR . . . . . . . . . . . . . . . . . . 3.3.1.2 Latch-ul D . . . . . . . . . . . . . . . . . . . 3.3.2 Circuite Basculante Bistabile (Triggere) . . . . . . . . 3.3.2.1 Principiul master-slave . . . . . . . . . . . . 3.3.2.2 Bistabilul D . . . . . . . . . . . . . . . . . . 3.3.2.3 Bistabilul JK . . . . . . . . . . . . . . . . . . 3.3.2.4 Bistabilul T . . . . . . . . . . . . . . . . . . 3.3.3 Aplicatii la automate . . . . . . . . . . . . . . . . . . . 3.3.4 Circuitul basculant bistabil asimetric (Triggerul Schmitt) . . . . . . . . . . . . . . . . . . . . 3.3.5 Circuitul basculant monostabil . . . . . . . . . . . . . 3.3.6 Circuitul basculant astabil . . . . . . . . . . . . . . . . 3.4 CIRCUITE NUMARATOR . . . . . . . . . . . . . . . . . . . 3.4.1 Numrtoare asincrone . . . . . . . . . . . . . . . . . aa 3.4.2 Numrtoare sincrone . . . . . . . . . . . . . . . . . . aa 3.4.2.1 Numrtoare presetabile . . . . . . . . . . . aa 3.4.2.2 Numrtoare cod arbitrar . . . . . . . . . aa n 3.5 CIRCUITE REGISTRU . . . . . . . . . . . . . . . . . . . . . 3.5.1 Registru paralel . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Circuitul acumulator . . . . . . . . . . . . . . . . . . . 3.5.3 Structura pipeline . . . . . . . . . . . . . . . . . . . . 3.5.4 Registrul de deplasare . . . . . . . . . . . . . . . . . . 3.5.5 Registrul serie-paralel . . . . . . . . . . . . . . . . . . 3.5.6 Circuite liniare cu registre de deplasare . . . . . . . .

6 3.5.7 Distributia i aplicarea semnalului de ceas . . s MEMORIA CU ACCES ALEATORIU . . . . . . . . 3.6.1 Memoria RAM static . . . . . . . . . . . . . a 3.6.2 Memoria RAM dinamic . . . . . . . . . . . . a 3.6.2.1 Memoria DRAM sincron, SDRAM a 3.6.3 Circuite actuale pentru memoriile de date . . 3.6.4 Memoria adresabil prin continut, CAM . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CUPRINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 495 499 505 513 526 533 551 551 555 556 557 562 570 572 578 594 599

3.6

4 SUPORTUL CIRCUISTIC PENTRU APLICATII 4.1 CONEXIUNI PROGRAMABILE . . . . . . . . . . . 4.2 PROIECTAREA DE TIP FULL-CUSTOM . . . . . 4.3 PROIECTAREA CU ARII DE PORTI LOGICE . . 4.4 PROIECTAREA CU CELULE STANDARD . . . . 4.5 PROIECTAREA CU CPLD . . . . . . . . . . . . . . 4.6 PROIECTAREA CU FPGA . . . . . . . . . . . . . . 4.6.1 Blocul Logic Congurabil . . . . . . . . . . . 4.6.2 Resursele de interconectare . . . . . . . . . . 4.7 PROIECTAREA PENTRU TESTABILITATE . . . 4.8 COMBINATIONAL SAU SECVENTIAL? . . . . . . 4.9 COMPARATIE INTRE DIFERITELE MODALITATI DE PROGRAMARE . . . . . . . . . 5 Bibliograe

. . . . . . . . . . 608 611

Capitolul 1

PORTI LOGICE
1.1 SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Practica sistemelor digitale simple se poate face pe baz de rationamente logice a elementare. Dar, deoarece sistemele digitale au devenit foarte complexe, i aceast s a tendinta continu, pentru analiza, proiectarea/sinteza i realizarea acestora este nece a s sar un suport formal abstract i un suport circuistic. Suportul formal abstract se s construiete, prin extensie, pe baza algebrei logice bivalente iar suportul circuistic s se construiete pornind de la poarta logic. Abordarea s a ntreptruns a acestor dou a a a componente constituie subiectul acestui capitol.

1.1.1

Axiomele i teoremele algebrei Booleene s

logica aristotelian, care trebuie eleas ca o tiinta a demonstratiei, al In a nt a s crui obiect constituie stabilirea conditiilor corectitudinii gndirii, se opereaz pe a l a a baz de rationament cu propozitii (logica propozitiilor), care pot : e adevrate, a a e false. De exemplu, dac presupunem c pentru statura unei persoane sunt admise a a numai dou atribute - a nalt i scund - iar pentru vreme numai dou atribute - rece s a i cald - atunci sunt naturale urmtoarele patru propozitii simple: vremea este cald, s a a vremea este rece, Radu este nalt i Radu este scund. Considernd c din ecare s a a pereche de atribute unul este adevrat i cellalt fals rezult c propozitiile formate a s a a a cu aceste atribute pot e adevrate e false; o propozitie nu poate simultan i a s fals i adevrat ( cazul nostru considerm c prima i a treia propozitie simpl as a a n a a s a sunt adevrate, iar celelalte dou sunt false). Dar, cu aceste propozitii simple pot a a realizate propozitii compuse, de exemplu: vremea este cald i Radu este as nalt, vremea este rece sau Radu este scund. Propozitiile compuse pot , la fel, adevrate sau a false in functie de valoarea de adevr/fals a propozitiilor componente i de modul de a s compunere a acestora propozitia compus. Modul de compunere, acest caz coren a n spunde conectorului AND/SI pentru prima propozitie compus, respectiv conectoru a lui OR/SAU pentru a doua propozitie compus. Dac prima propozitie are valoarea a a de adevr, cnd vremea este cald i Radu este a a as nalt, evident c a doua propozitie a compus are valoare de fals. Dar dac prima propozitie compus o transformm nu a a a a n 7

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

este adevrat: c Radu este a a nalt i vremea este cald atunci aceast nou propozitie s a a a are o valoare de fals ca i a doua propozitie compus? Evident c da. Dar dac s a a a mai introducem i o a treia pereche de propozitii simple zpada este alb, zpada este s a a a neagr i formm propozitii compuse, dup diferite moduri de compunere, din cte a s a a a una din ecare pereche anterioar atunci mai putem arma cu uurinta care dintre a s propozitiile compuse sunt echivalente? Destul de greu. general, la nivelul normal In de dotare intelectual, un individ cu greu poate realiza un rationament corect, fr a aa un suport mecanic, cnd opereaz simultan cu mai mult de trei variabile. Pentru a a ,, a nvinge aceast incapacitate avem nevoie de un instrument care s mecanizeze a a rationamentele stufoase. Matematicianul englez George Boole (1815-1854) a elaborat o algebr (algebra a Boolean) ale crei axiome i teoreme pot utilizate pentru a transforma (transfera) a a s logica aristotelian a propozitiilor din domeniul rationamentului oral a ntr-un limbaj formal, operant cu simboluri (logica formal). Aceast logic formal poate aplicat a a a a a ca un instrument operant i pentru descrierea conectrii, sisteme, a elementelor s a n zice (mecanice, electrice, hidropneumatice) care prezint in functionarea lor doar a dou stri distincte. a a Algebra Boolean (algebr logic binar, algebr logic bivalent) opereaz pe a a a a a a a a o multime binar B: a B = 0 = 1 = {x|x = 0, 1} elementul nul elementul unitate (universal).

(1.1)

Tabelul 1.1 Operatorii booleeni; denitie i simboluri grace s


OPERATORUL LOGIC SIMBOL TABELUL DE ADEVAR x 0 1 x 0 0 1 1 x 0 0 1 1 x x 1 0 y 0 1 0 1 y 0 1 0 1
x y x y x.y

Reprezentarea grafica conform standardului IEC/ANSI911984 varianta veche varianta noua 1 1

Complementarea logica(negatia) NOT / NON Conjunctia, Produsul logic AND / SI Disjunctia, Suma logica OR / SAU

0 0 0 1
x y xy x +y

x y

x.y

x y

&

x.y

0 1 1 1

x y

x+y

x y

> 1 x+y

ANSI (American National Standard Institute)

CAPITOLUL 1. PORTI LOGICE

aceast carte elementele multimii binare reprezint valorile logice de adevr sau de In a a a fals sau cifrele sistemului de numeratie baza doi - bit ( binary digit - cifr binar). n a a Exist concepute i algebre denite pe multimi care contin mai mult de dou a s a elemente, algebre polivalente logic polivalent, logic cu n-valori; cazuri a a a n care multimea de denitie este format din n numere a ntregi. O generalizare pentru logica cu n-valori este logica fuzzy, a logica fuzzy variabilele iau valori mod ns n n continuu pe intervalul [0,1]. [Matei 93], [Cocan 01]. Denitia 1.1 M n Fie M o multime nevid. O aplicatie f denit pe M cu valori a a f :M M se numete lege de compozitie intern. s a Algebra Boolean denete pe multimea B urmtoarele trei legi de compozitie a s a intern (la care, obinuit, ne vom referi i prin termenul de operator logic): a s s 1. Complementarea sau negatia (NOT/NON); 2. Conjunctia sau produsul logic (AND/SI); 3. Disjunctia sau suma logic (OR/SAU). a Tabelul 1.2 Axiomele i teoremele algebrei Booleene s Denumirea
Axioma 1: Multimea B = {0, 1} este nchis raport a n cu operatorii + i s (Inchiderea) Axioma 2: Asociativitatea Axioma 3: Comutativitatea Axioma 4: Existenta elementului neutru Axioma 5: Distributivitatea Axioma 6: Existenta complementului Teorema 1: Idempotenta sau tautologia Teorema 2: Legea lui 0 i a lui 1 s Teorema 3: Dubla negatie (Involutia) Teorema 4: Absorbtia Absorbtia invers a Teorema 5: Teorema lui De Morgan

Forma cu operatorul produs ()

Forma cu operatorul sum (+) a

x B, y B x y B x B, y B x + y B x (y z) = (x y) z xy =yx x1=1x=x xx=0 xx=x x0=0 x=x x + (y + z) = (x + y) + z x+y =y+x x+0=0+x=x

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

x (x + y) = x x (x + y) = x y x (x + y) = x y
xy =x+y

x+xy =x x+xy =x+y x+xy =x+y


x+y =xy

10

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Tabelul 1.1 sunt prezentate pentru ecare lege de compozitie boolean aplicatia In a denit sub forma unui tabel de adevr precum i simbolurile grace de reprezentare. a a s Dei exist recomandarea pentru utilizarea noilor reprezentri grace s-a s a a ncetenit at i continu folosirea vechilor reprezentri grace (americane). s a a Denitia 1.2 O expresie Boolean f (x1 , x2 , . . . , xn , 0, 1, , +), compus prin a a intermediul celor trei operatori AND, OR, NOT prezint o expresie dual f D care a a se obtine din expresia lui f prin substitutiile urmtoare: AN D OR, OR AN D, a 0 1, 1 0 f D (x1 , x2 , . . . , xn , 0, 1, , +) = f (x1 , x2 , . . . , xn , 1, 0, +, ) (1.2)

Dac o axiom, teorem sau expresie boolean este adevrat atunci i forma sa a a a a a a s dual este adevrat. a a a Axiomele i teoremele algebrei Booleene sunt prezentate, sistematic, Tabelul s n 1.2. Pentru ecare dintre acestea sunt expuse cele dou forme, cea form produs a n a i cea form sum, ecare ind duala celeilalte. acest tabel sunt ase axiome i s n a a In s s cinci teoreme. Corectitudinea unei expresii booleene se poate verica analitic (prin utilizarea axiomelor i teoremelor din Tabelul 1.2) sau prin calcularea valorilor logice ale expres siilor din cele dou prti ale semnului egalitii. Folosind aceste dou modaliti a a at a at n continuare se va verica corectitudinea expresiei teoremei absorbtiei (Teorema 4).

x ( x +y) Axioma 5 x x + x y Teorema 1 x + x y Axioma 4 x 1+ x y Axioma 5 x (1+y) Teorema 2 x 1 Axioma 4 x x( x+y) =x

x + x y Axioma 4 x 1+ x y Axioma 5 x (1+ y) Teorema 2 x 1 Axioma 4 x x+ x y =x

x 0 0 1 1

y 0 1 0 1

x y 0 0 0 1 =

x +y 0 1 1 1

x+ x y 0 0 1 1

x (x +y) 0 0 1 1

Continum demonstratia analitic pentru variantele teoremei de absorbtie invers a a a (Teorema 4), dar acum nu se mai indic succesiune numrul axiomelor i teoremelor a a s aplicate.

CAPITOLUL 1. PORTI LOGICE

11

x + y = x + y 1 = x + y(x + x) = x 1 + y x + y x = x (1 + y) + y x = x + x y x + y = x + y 1 = x + y(x + x) = x 1 + y x + y x = x (1 + y) + x y = x + x y

1.1.2

Algebre polivalente

Algebra Boolean a devenit un suport formal pentru sistemele zice care utilizeaz a a elemente cu dou stri distincte. Algebra Boolean, care am introdus-o anterior i la a a a s care ne vom referi prin B(2), este cel mai simplu membru al unei familii de algebre Booleene B(q) bazate pe notiunea abstract de latice (o latice este o multime nevid a a ,, ,, L nzestrat cu dou operatii , care satisfac proprietile de idempotenta, coa a at mutativitate, asociativitate i absorbtie). Astfel, se poate construi o algebr Boolean s a a B(q) pentru orice numr q care este o putere a lui doi, q = 2 k . Deci exist familia a a de algebre Booleene B(2), B(4), B(8),. . ., B(2 k ). Pentru k = 1, q = 21 rezult B(2) a denit pe {0, 1} care este chiar algebra Boolean prezentat anterior. Pentru k = 2, a a a q = 22 = 4 rezult B(4) denit pe multimea {0, a, b, 1} cu urmtoarele tabele de a a a denitie ale operatorilor: conjunctie, disjunctie i deplasarea ciclic. s a 0 a b 1 0 0 0 0 0 a 0 a 0 a b 0 0 b b 1 0 a b 1 + 0 a b 1 0 0 a b 1 a a a 1 1 b b 1 b 1 1 1 1 1 1 x 0 a b 1 x a b 1 0

Conjunctia

Disjunctia

Deplasarea ciclic a

Dintre toate algebrele B(q) numai B(2) este functional complet, deci poate a suport pentru implementarea sistemelor logice. O algebr este functional coma plet dac pentru o functie de un numr de variabile se genereaz doar o singur a a a a a reprezentare/expresie. Dezvoltarea tehnologiei electronice a dus la realizarea unor elemente care pot realiza mai multe stri distincte. Era normal, ca pentru elementele cu mai multe stri, a a s se gseasc un suport formal cu valori multiple adic algebre polivalente, sau qa a a a valente, multimea de denitie pentru aceste algebre ind format dintr-un numr de q a a elemente distincte. Constructia algebrelor polivalente a urmat dou ci. Prima, a fost a a o generalizare a operatorilor/(conectivi) booleeni AND, OR i NOT spre opers atori corespunztori conjunctia, disjunctia i deplasarea ciclic obtinndu-se a s a a algebrele Postiene (introduse de E.L. Post, 1921). A doua cale, dezvoltat de B.A. a Bernstein (1928), a fost o abordare prin algebra claselor de resturi, operatorii ind adunarea i s nmultirea modulo q. O algebr Postian q-valent, P (q), este denit pe multimea {0, 1, 2, . . . , a a a a q 1}, adic pe intervalul de numere a ntregi [0, q 1], iar operatorii sunt deniti n felul urmtor: a - conjunctia: x y = min(x, y); - disjunctia: x + y = max(x, y); - deplasarea ciclic: x = x 1 modulo q. a

12

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Pentru algebrele Postiene P (2) i P (4) rezult urmtoarele tabele de adevr ale s a a a celor trei operatori: - P(2) 0 1 0 0 0 1 0 1 Conjunctia binar a - P(4) 0 1 2 3 0 1 2 0 0 0 0 1 1 0 1 2 0 1 2 Conjunctia cuaternar a 3 0 1 2 3 + 0 1 2 3 0 1 2 0 1 2 1 1 2 2 2 2 3 3 3 Disjunctia cuaternar a 3 3 3 3 3 x 0 1 2 3 x x x 1 2 3 2 3 0 3 0 1 0 1 2 Deplasarea ciclic a cuaternar a x 0 1 2 3 + 0 1 0 0 1 1 1 1 Disjunctia binar a x 0 1 x x 1 0 0 1 Deplasarea ciclic a binar a

Rezult o identitate a ntre B(2) i P (2), (B(2) P (2)). Algebrele Postiene pot s o replic pentru algebrele Booleene, dar operarea aceste algebre, ca aplicatii pentru a n functiile de comutatie, devine dicil pe msur ce q are valori mai mari. a a a Cea de a doua cale de generalizare, dezvoltat de B.A. Bernstein, a generat o a alt clas de algebre q-valente care pot denite pentru oricare numr a a a ntreg prin q sau pentru un numr a ntreg putere a lui q. Multimea de denitie pentru o astfel de algebr este {0, 1, 2, . . . , q 1}, iar operatorii sunt operatiile aritmetice de adunare a i de s nmultire modulo q. Structurile algebrice denite pe clasele de resturi modulo q (q numr prim) sunt referite prin cmpuri Galois i sunt notate a a s cu GF (q) . Pentru GF (3) tabelele de adevr prin aplicarea operatorilor produs, , a i sum, , modulo 3 sunt: s a 0 1 2 0 0 0 0 1 0 1 2 2 0 2 1 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1

Dintre structurile GF (q) cea pentru q = 2, GF (2) algebra modulo 2, denumit a algebr Reed-Muller, prezint interes ca suport formal implementrile unor a a n a algoritmi sau circuite de calcul sau de codicare. Operatorii algebrei Reed-Muller au urmtoarele tabele de adevr: a a 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 x 0 1 x 1 0

Se observ c att pentru algebra Boolean B(2) ct i pentru algebra Reeda a a a a s Muller, GF (2), operatorii de nmultire logic sunt identici ( = ), la fel i operatorii a s de complementare. schimb, difer operatorii disjunctie, acetia ind SAU INCLUIn a s SIV (sum logic, +) B(2) i respectiv SAU EXCLUSIV (sum aritmetic modulo a a n s a a

CAPITOLUL 1. PORTI LOGICE

13

2, ) GF (2). Aceast, aparent ne n a nsemnat diferenta, determin semnicative a a diferente ntre cele dou formalisme, ceea ce apare i metodele de proiectare i a s n s implementare. Axiomele pe GF (2) sunt:
1. Inchiderea. GF (2) este nchis a n raport cu operatorii i . s 2. Asociativitatea. 3. Comutativitatea. 4. Distributivitatea. 5. Elementul neutru. A GF (2), B GF (2) A B GF (2), A B GF (2) A (B C) = (A B) C = A B C A (B C) = (A B) C = A B C A B = B A, A B = B A A (B C) = A B A C A 0 = A, A 1 = A

Din prezentarea acestor proprieti apare similaritatea dintre GF (2) cu algebra at numerelor reale (care este denit pe un cmp innit). Dar urmtoarea axiom relev a a a a a o proprietate diferit a ntre aceste dou algebre care rezult din natura aritmeticii a a modulo 2. 6. Existenta inversului. A A = 0, A A=A

Din ultima axiom a algebrei GF (2) rezult c A = A, adic ecare element este a a a a egal cu inversul su; aceasta a nseamn c adunarea i scderea sunt identice a a s a n GF (2), ceea ce este diferit fata de adunarea aritmetic din algebra numerelor reale. a Folosind aceast axiom se deduce: dac A B = C atunci A = C B, B = A C a a a i A B C = 0. s Se pot duce relatii pentru exprimarea operatorilor din B(2) prin cei din GF (2) AB = A B A+B = A BAB A = A1

(1.3-a)

care se pot demonstra felul urmtor. Se consider expresia pentru sum modulo n a a a doi A B = A B + A B (a se vedea functia f6 (x1 , x0 ) 1.1.3) n A+B A1 = A1+A1=A0+A=A = A + B = A B = ((A 1) (B 1)) 1 = (A B 1 B A 1 1 1) 1 = (A = A BBA11=A BBA

B B A 1) 1

Iar pentru exprimarea operatorilor din GF (2) prin cei din B(2) exist relatiile a A B AB = AB = AB+AB

(1.3-b)

A1

= A

Relatiile 1.3 indic modaliti de utilizare att a formalismului din GF (2) ct i a a at a a s celui din B(2) pentru implementarea sistemelor functie de suportul zic (circuistica) n disponibil. a

14

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

1.1.3

Functii Booleene

Fie B(2) = ({0, 1}, , +, ) algebra Boolean binar. Un cuvnt binar este o a a a succesiune de biti; un cuvnt este caracterizat prin lungimea sa, adic de numrul de a a a biti din succesiune. Denitia 1.3 Vom numi o conguratie binar de n biti, sau cuvnt binar a a cu lungimea de n biti, un element al multimii {0, 1} n . Cu doi biti se pot forma patru cuvinte distincte cu lungimea de doi biti (00, 01, 10, 11), cu trei biti se pot forma opt cuvinte distincte cu lungimea de trei biti (000, 001, 010, 011, 100, 101, 110, 111), iar cu n biti se pot forma 2 n cuvinte distincte ecare cu lungimea de n biti; deci multimea {0, 1} n este constituit din 2n cuvinte a distincte cu lungimea de n biti. Denitia 1.4 O functie Boolean 1 , f , cu n intrri i m ieiri este o aplicatie a a s s f : {0, 1}n {0, 1}m (1.4)

cu domeniul de denitie X = {0, 1}n i cu domeniul de valori Y {0, 1}m . n s n Relatia 1.4, cazul cnd functia logic are o singur ieire, m = 1, cuvntul de n a a a s a ieire are lungimea de un bit, se retranscrie sub forma: s f : {0, 1}n {0, 1}1 (1.5)

Teoretic, functia logic cu m ieiri se poate construi din m aplicatii de forma a s 1.5 conectate paralel. O functie logic cu numrul de ordine i dintr-o familie n a a de functii logice de n variabile, denit conform relatiei 1.4, va notat sub forma a a fi (xn1 , xn2 , . . . , x1 , x0 ) sau sub forma fin . acest capitol se vor studia doar In functiile cu o singur ieire. a s Functia logic de zero variabile. Domeniul de denitie pentru functia de zero a variabile este multimea vid, {0, 1}0 , iar domeniul de valori este {0, 1}. Rezult c a a a 0 pot exista dou functii notate cu f0 i f1 care genereaz pe ieire cele dou valori din a s 0 a s a multimea {0, 1}
0 f0 0 f1

= =

0 1

(1.6)

De fapt, putem spune c aceste functii sunt identice cu dou constante. a a Intr-un sistem digital cele dou constante pot reprezentate zic prin dou tensiuni xe: a a tensiunea de alimentare (VDD , VCC ) i tensiunea de mas VSS sau 0V (liniile/barele s a de alimentare ale circuitului). Functii logice de o singur variabil. Conguratiile distincte de un singur bit a a pe multimea de denitie {0, 1}1 sunt cei doi biti 1 i 0. Deci functia y = f (x), pentru s ecare valoare binar atribuit variabilei x, poate lua una din cele dou valori binare a a a y = 1 sau y = 0. Cu cele dou valori posibile pentru y se pot forma patru cuvinte a 1 1 diferite, deci pentru o singur variabil exist patru functii logice distincte: f 0 , f1 , a a a 1 1 f2 i f3 reprezentate tabelul din Figura 1.1. s n
1 Termenul

de functie Boolean, aceast carte, este sinonim cu functie logic. a n a a

CAPITOLUL 1. PORTI LOGICE

15

x 0 1

f01 0 0 a)

f11 0 1

f21 1 0

f31 1 1 x

x "0" b) x d)

x c)

VCC x e)

"1"

Figura 1.1 Functiile de o singur variabil: a) tabelul functiilor de o variabil; a a a 1 1 b) f0 , functia zero (conectarea la mas); c) f2 , functia inversor (circuitul inversor); a 1 1 d) f1 , functia identitate (driver, buer); e) f3 , functia tautologie (conectarea la ten siunea de alimentare). 1. Functia zero f0 (x) = 0. Aceasta genereaz valoarea 0 indiferent de valoarea a alocat variabilei x. a Intr-un sistem nu se va calcula niciodat functia zero deoarece a valoarea acestei functii exist, zic punctul respectiv se leag la tensiunea de mas; a a a 1 evident f0 i f0 au acelai efect adic valoarea constant 0. s 0 s a a 2. Functia identitate, f1 (x) = x. Logic, aceast functie pare a fr utilitate; dar, a aa practic, aceast functie este foarte utilizat sub denumirea de driver sau buer i a a s ntr-un sistem zic are o actiune de a aduce/ ari la anumite valori normale semnalul nt electric care este suport pentru variabila x. Aceste circuite care nu realizeaz o functie a ,, logic ci doar au rol de arire a semnalului electric sunt referite prin circuit buer a nt sau circuit driver respectiv buer sau driver. 3. Functia negatie (NOT), f2 (x) = x. De fapt, acesta este operatorul de com plementare din Tabelul 1.1. Putem interpreta aspectul logic sau aritmetic al actiunii acestei functii. Logic, functia negatie aplicat va substitui adevrul cu fals i fal a a s sul cu adevr. Aritmetic, este un incrementor sau decrementor pentru numrarea a a baza doi (att la numrare sens cresctor (direct) ct i sens descresctor n a a n a a s n a (invers), trecerea ntre dou numere consecutive se face prin modicarea bitului cel a mai putin semnicativ, LSB (Least Signicant Bit), din unu zero sau din zero n n unu, vezi Figura 2.17-a i 2.17-b). Suportul zic pentru implementarea acestei functii s este elementul inversor. 4. Functia tautologie, f3 (x) = 1. Acest functie genereaz valoarea 1 indiferent de a a valoarea alocat variabilei x. a Intr-un sistem nu se va calcula niciodat aceast functie a a deoarece valoarea sa exist, zic punctul respectiv se leag la tensiunea de alimentare a a 1 VDD /VCC ; evident f3 i f1 au acelai efect. s 0 s Functii de dou variabile. La o functie de dou variabile f (x 1 , x0 ) multimea a a de denitie, {0, 1}2 , este compus din cele patru cuvinte de intrare de doi biti. Pentru a cele patru cuvinte de intrare se obtin pentru functie patru valori binare, dar cu cele patru valori binare se pot obtine 42 = 16 cuvinte, deci, total exist 16 functii n a diferite de dou variabile care sunt prezentate tabelul din Figura 1.2-a. a n Aceste functii au anumite denumiri care exprim actiunea realizat: a a 1. f0 (x1 , x0 ) = 0, functia zero. Actiunea sa este identic cu a celor dou functii a a 0 1 f0 ,f0 .

16

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

x1 x2 f02 f12 f22 f32 f42 f52 f62 f72 f82 f92 f102 f112 f122 f132 f142 f152 0 0 1 1 0 1 0 1 0 0 0 0 x1 x0 x1 x0 b) f9 = x1 x0 d) 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0 a) f6 = x1 x0 x1 x0 x1 x0 e) f7 = x1. x0 c) f1 = x1+x0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1

Figura 1.2 Functii de dou variabile: a) tabelul functiilor de dou variabile; a a 2 b) simbolul grac pentru functia XOR, f6 ; c) simbolul grac pentru functia NAND, 2 2 f7 ; d) simbolul grac pentru functia NXOR, f9 ; e) simbolul grac pentru functia 2 NOR, f1 . 2. f1 (x1 , x0 ) = x1 + x0 , functia SAU-NEGAT/NOT-OR/NOR cu reprezentarea grac din Figura 1.2-e. Se observ c valorile functiei rezult prin negarea valorilor a a a a obtinute cu operatorul OR (Tabelul 1.1). 3. f2 (x1 , x0 ) = x1 x0 , functia negarea implicatiei inverse; circuitul interdictie (inhibare). 4. f3 (x1 , x0 ) = x1 , negarea lui x1 . 5. f4 (x1 , x0 ) = x1 x0 , functia negarea implicatiei directe; circuitul interdictie (inhibare). 6. f5 (x1 , x0 ) = x0 , negarea lui x0 . 7. f6 (x1 , x0 ) = x1 x0 + x1 x0 , functia negarea coincidentei, SAU-EXCLUSIV/ XOR cu simbolul grac de reprezentare Figura 1.2-b i cu structura de implen s mentare Figura 1.3-a. Actiunea acestei functii poate interpretat trei modalin a n ti. at Prima, se observ c asupra celor dou valori binare ale variabilelor x 1 i x0 functia a a a s opereaz ca un sumator modulo 2 (00 = 0, 01 = 1, 10 = 1, 11 = 0) de unde a i notatia consacrat f6 (x1 , x0 ) = x1 x0 . O alt variant echivalent de exprimare s a a a a se obtine felul urmtor: x1 x0 = x1 x0 +x1 x0 = x1 x0 +x0 x0 +x1 x0 +x1 x1 = n a x0 (x1 + x0 ) + x1 (x1 + x0 ) = (x1 + x0 )(x1 + x0 ) = (x1 + x0 ) (x1 x0 ). A doua interpretare este cea de inversor comandat, relatiile 1.3. Dac una din a variabile este 1 atunci valoarea functiei va egal cu negata celeilalte variabile de a intrare; f6 (x1 , 1) = x1 1 = x1 . A treia interpretare este cea de negarea coincidentei, adic anticoincident a a

CAPITOLUL 1. PORTI LOGICE

17

(i invers, negarea anticoincidentei este coincidenta, adic x 1 x0 ). Rezult c se s a a a poate realiza foarte uor un circuit pentru coincidenta a dou cuvinte de doi biti s a x1 x0 , y1 y0 rationnd felul urmtor: cuvintele coincid cnd nu este adevrat a n a a a a anticoincidenta pentru bitii de rangul unu x 1 , y1 SI nu este adevrat anticoincidenta a a pentru bitii de rangul zero x0 , y0 ; deci relatia de coincidenta este (x1 y1 )(x0 y0 ) = (x1 y1 ) + (x0 y0 ). Reprezentarea acestui mod de implementare a relatiei de coin cidenta este dat Figura 1.3-c. a n 8. f7 (x1 , x0 ) = x1 x0 , functia SI-NEGAT/NOT-AND/NAND, cu simbolul grac de reprezentare din Figura 1.2-c. Se observ c valorile functiei rezult prin negarea a a a valorilor obtinute cu operatorul AND (Tabelul 1.1). 9. f8 (x1 , x0 ) = x1 x0 , functia conjunctie, produsul logic AND, SI. 10. f9 (x1 , x0 ) = x1 x0 + x1 x0 , f9 (x1 , x0 ) = x1 x0 , functia coincidenta, SAU-EXCLUSIV NEGAT/NXOR cu simbolul grac de reprezentare Figura 1.2-d n i cu structurarea ca Figura 1.3-b. Implementarea circuitului de coincidenta a dou s n a cuvinte de doi biti x1 x0 i y1 y0 este prezentat Figura 1.3-d; (x1 y1 ) (x0 y0 ). s a n 11. f10 (x1 , x0 ) = x0 , functia ce nu depinde de x1 . 12. f11 (x1 , x0 ) = x1 + x0 , functia implicatie direct. a 13. f12 (x1 , x0 ) = x1 , functia ce nu depinde de x0 . a 14. f13 (x1 , x0 ) = x1 + x0 , functia implicatie invers. 15. f14 (x1 , x0 ) = x1 + x0 , functia conjunctie, sum logic OR, SAU. a a 16. f15 (x1 , x0 ) = 1, functia tautologie, actiunea sa este identic cu ale functiilor a 0 1 f1 , f 3 . Functii de trei variabile. Pentru functiile de trei variabile f (x 2 , x1 , x0 ) mul imea de dentie, {0, 1}3 , este compus din opt (23 = 8) cuvinte binare de 3 biti, t a pentru ecare din aceste cuvinte functia poate avea o valoare binar 0 sau 1. Cu a opt valori binare pot denite 28 functii diferite. Modul de formare al functiilor de trei variabile fi3 , i = 0, 1, . . . , 255 rezult din Tabelul 1.3. Indicele i, care identic a a
x1 x1 x 1x 0 x1 x0 x1 x0 x0 x1 x 1x 0 x 1x 0 x1 x0

x0 x1 y1 x0 y0

x0

x 1x 0

a)
x 1 = y1 x 1x 0 = y1y0 x 0 = y0 x1 y1 x0 y0

b)
x 1=y 1 x 1x 0 = y1y0 x 0=y 0

c)

d)

Figura 1.3 Functiile XOR i NXOR: a,b) structura circuitelor XOR, respectiv s NXOR; c,d) circuite de coincidenta cu XOR i NXOR. s

18

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

functia fi3 , este corespondentul zecimal al numrului binar de 8 biti format cu valorile a binare ale functiei. De exemplu functia f187 are urmtoarele valori binare 1101 1101, a deoarece 187|10 = 1101 1101|2 . Bitul cel mai semnicativ, MSB (Most Signicant Bit), din cuvntul valorilor functiei, corespunde conguratiei de intrare x 2 x1 x0 = 111, a iar LSB corespunde conguratiei de intrare x2 x1 x0 = 000. Utilitatea tuturor functiilor fi3 pentru implementarea sistemelor logice este dis cutabil deoarece , 16 dintre aceste functii sunt echivalentul functiilor f i2 iar unele a din cele rmase pot compuse prin intermediul altor functii de dou variabile. a a In general, pentru implementarea sistemelor logice sunt utilizate doar cteva din functiile a expuse pentru cazul n = 2. n Pentru n variabile numrul functiilor logice distincte este 2(2 ) ; ceea ce a determin pentru n = 4 216 = 65536 functii, iar pentru n = 5 232 = 4294967296 a functii(!). Denitia 1.5 Un sistem complet de functii Booleene este un set minimal de functii Booleene cu ajutorul crora se poate exprima orice functie Boolean. a a paragraful 1.1.1 s-au denit cele trei legi de compozitie pe multimea B. Cu In ajutorul celor trei operatori NOT, AND i OR poate exprimat oricare functie s a logic, deci aceti operatori formeaz un sistem complet. a s a Al doilea set de operatori care pot constitui un sistem complet este perechea NOT i AND. Acest set poate substituit numai cu o singur functie, functia s a f7 (x1 , x0 ) = (x1 x0 ), adic operatorul NAND, deoarece operatorul NOT apare ca a un NAND de aceeai variabil (x x) = x, iar operatorul AND rezult ca un NAND s a a negat, (x1 x0 ) = x1 x0 . Al treilea set de operatori OR i NOT formeaz de asemenea un sistem complet. s a Si aceast pereche de operatori poate substituit numai cu o singur functie, functia a a a f2 (x1 , x0 ) = x1 + x0 , care este operatorul NOR. Deoarece NOR este un OR negat se poate obtine uor OR prin negarea NOR-ului, (x 1 + x0 ) = x1 + x0 , iar NOT-ul este s Tabelul 1.3 Functii logice de trei variabile

x2 x1 x0 f03 f13 f23 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

f173 1 0 0 0 1 0 0 0
17 10 = 0001001 2

f1873 1 0 1 1 1 0 1 1
187 10 = 10111011 2

f2553 1 1 1 1 1 1 1 1

CAPITOLUL 1. PORTI LOGICE

19

identic cu NOR-ul aplicat aceleiai variabile (x + x) = x. s Tabelul 1.4 sunt modelati operatorii NOT, AND, OR, NAND i NOR e numai In s cu NAND, e numai cu NOR. Apare, deci, posibilitatea ca un sistem logic s poat a a realizat doar cu un singur operator. Consecinta practic a acestei observatii este a enorm prin faptul c implementarea unui sistem se poate obtine prin replicarea a a aceluiai operator (acelai tip de circuit), consecinta pretul de cost scade foarte s s n mult i siguranta functionare crete. s n s Exist circuite integrate, produse de turntoria de siliciu, dar a neterminate, a a nc care contin un singur (sau dou) circuite logice elementare a ntr-un numr foarte mare, a referite ca arie de porti logice (gate-array, vezi sectiunea 4.3). Pe o astfel de arie de porti logice utilizatorul si poate realiza sistemul pentru aplicatia sa prin proiectarea doar a conexiunilor ntre un numr de circuite logice elementare. Apoi, turntoria de a a siliciu termin circuitul integrat, prin realizarea conexiunilor proiectate de utilizator, a rezultnd astfel un circuit cu multe avantaje, la a crui constructie a participat att a a a utilizatorul (custom) ct i turntoria de siliciu; sistem referit ca ind o proiectare de a s a tip semi-custom.

1.1.4

Forme canonice

Denitia 1.4 exprim notiunea de functie logic de n variabile. Cu cele n variabile a a se pot compune, prin intermediul operatorilor AND, OR i NOT, termenii functiei i s s la fel tot cu aceti operatori pot inclui termenii cadrul functiei. consecinta, s s n In un termen al unei functii logice poate avea variabile negate sau nenegate (NOT), care pot nsumate logic (OR) sau nmultite logic (AND). Denitia 1.6 Termenul canonic produs este produsul logic a tuturor celor n variabile ale functiei, negate sau nenegate. Termenul canonic produs este referit ca minterm. Exemplu de termen canonic produs pentru n = 3 poate x 2 x1 x0 . Un termen canonic produs nu poate format din mai mult de n factori (variabile). Dac ar avea a mai mult de n factori atunci ar nsemna c una sau mai multe variabile ar intra a n produsul logic att negate ct i nenegate ceea ce, conform axiomei de existenta a a a s nsemna c termenul se reduce la constanta a complementului x x = 0, Tabelul 1.2, ar Tabelul 1.4 Modelarea operatorilor logici pe baz de NAND sau NOR a
Operatorul logic modelat cu poarta: A NOT A A B A = A .A A.B A A A B A = A+A A+B A A A B A.B = A+B A B A+B A B A.B = A+B A.B A+B A B AND A+B A B A+B = A.B A B A+B = A+B A+B A+B A B A.B OR A+B A B A+B = A+B A B A.B = A+B A B A.B A NAND A.B A B A+B = A.B A B A+B = A+B A+B A+B A B A+B NOR A+B

NAND A B

A.B

A.B

NOR A B

20

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Tabelul 1.5 Codicarea termenilor canonici produs i sum (n=3) s a


Valoarea variabilelor x2 x1 x0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Mintermul si codul P i x 2x 1x 0 = P 0 x 2x 1x 0 = P 1 x 2x 1x 0 = P 2 x 2x 1x 0 = P 3 x 2x 1x 0 = P 4 x 2x 1x 0 = P 5 x 2x 1x 0 = P 6 x 2x 1x 0 = P 7 Maxtermul si codul Si x 2 +x 1 + x 0 = S0 x 2 + x 1 +x 0 = S1 x 2 + x 1 + x 0 = S2 x 2 + x 1 + x 0 = S3 x 2 + x 1 + x 0 = S4 x 2 + x 1 +x 0 = S5 x 2 + x 1 +x 0 = S6 x 2 + x 1 + x 0 = S7

i 0 1 2 3 4 5 6 7

0. Un termen produs se noteaz prin Pi . Numrul tuturor termenilor produs Pi este a a 2n , deci i = 0, 1, 2, . . . , 2n 1. Dar cum se codic un minterm prin simbolul Pi ? Se va exemplica pentru cazul a n = 3. Un termen canonic produs are valoarea logic 1 numai atunci cnd toti factorii a a si au valoarea logic 1. Pentru exemplul anterior de termen produs x 2 x1 x0 , cu a a valoarea logic 1, rezult o unic conguratie de valori: x 2 = 1, x1 = 0, x0 = 1. a a a Cuvntul binar format din valorile variabilelor este 101, care este numrul cinci a a n zecimal, reprezentat codul de numeratie binar natural. Deci, iat c mintermul n a a x2 x1 x0 poate codicat prin litera P cu indicele 5, adic P 5 ; dar aceast codicare a a trebuie s e o aplicatie bijectiv deci i trecerea invers de la codul P i la exprimarea a a s a ca produs logic canonic a mintermului trebuie s e unic. De exemplu, trecerea de a a la termenul canonic produs P6 la mintermul corespunztor se face felul urmtor: a n a 6|10 = 110|2 x2 x1 x0 . Rezult urmtoarea regul de codicare a termenilor canonici produs: pentru rea a a prezentarea unui minterm prin simbolul Pi variabilelor negate li se atribuie valoarea zero, iar variabilelor nenegate li se atribuie valoarea unu. Este corect i reciproca, as cuvntul de cod Pi pentru un bit cu valoarea unu corespunde produsul logic n a n canonic o variabil nenegat iar pentru un bit cu valoarea zero corespunde o variabil a a a negat. Aplicnd aceast regul pentru functia de trei variabile se pot scrie relatiile a a a a din Tabelul 1.5. Denitia 1.7 Termenul canonic sum este suma logic a tuturor celor n a a variabile ale functiei, negate sau nenegate. Termenul canonic sum este referit ca a maxterm. Pentru o functie de trei variabile (n = 3) ca un exemplu de termen canonic sum a poate acesta x2 +x1 +x0 . La fel, ca i la termenul canonic produs, un termen canonic s sum nu poate compus din mai mult de n variabile, caz contrar termen ar a n n a a exista suma x + x = 1, deci valoarea termenului ar egal cu constanta 1. Numrul total de termeni canonici sum este 2n iar codicarea se face prin simbolul Si . a a a Termenul canonic sum x2 + x1 + x0 are valoarea logic zero numai atunci cnd a

CAPITOLUL 1. PORTI LOGICE

21

ecare termen al sumei are valoarea zero, adic x 2 = 1, x1 = 0, x0 = 1. Rezult a a indicele i al simbolului Si ca ind egal cu numrul zecimal ce este reprezentat a n binar de cuvntul format din valorile celor trei variabile adic 101| 2 = 5|10 , deci S5 . a a Trecerea invers, de exemplu de la S6 la maxtermul corespunztor, se face felul a a n urmtor 6|10 = 110|2 x2 + x1 + x0 . a Rezult urmtoarea regul de codicare a termenilor canonici sum pentru reprea a a a zentarea unui maxterm prin simbolul Si : variabilelor negate li se atribuie valoarea unu, iar variabilelor nenegate li se atribuie valoarea zero. Este corect i reciproca, as n cuvntul de cod pentru un bit cu valoarea unu corespunde sum logic canonic o a n a a a variabil negat iar pentru valoarea zero corespunde o variabil nenegat. Conform a a a a acestei reguli de codicare pentru n = 3 se pot scrie relatiile din Tabelul 1.5. Se observ c, pentru codicare, la aceeai variabil nenegat se atribuie valoarea a a s a a 1 minterm i 0 maxterm i pentru aceeai variabil negat se atribuie valoarea n s n s s a a 0 minterm i 1 maxterm. Iar pentru trecerea invers, de la cod la expresia n s n a logic, unui bit 1 cuvntul de cod corespunde o variabil nenegat minterm a n a i a a n i o variabil negat maxterm i invers pentru bitul 0. Ca o consecinta, din aceste s a a n s reguli de codicare, se pot demonstra urmtoarele relatii: a Si = P i ; Pi = S i (1.7)

adic termenul canonic sum se obtine prin negarea termenului canonic produs i a a s invers. La fel, pentru i = j, i, j = 0, 1, 2, . . . , 2n 1, se pot demonstra relatiile: Pi Pj = 0; S i + Sj = 1 (1.8)

(pe baza x + x = 1, x x = 0, Axioma 6). Valoarea unui termen Pi , respectiv Si se poate modica prin intermediul unui coecient binar di {0, 1} felul urmtor: n a a) d i Pi = Pi 0 Si 0 dac di = 1 a dac di = 0 a dac di = 0 a dac di = 1 a (1.9-a) (1.9-b)

b) di + Si =

Denitia 1.8 Forma canonic normal disjunctiv, FCND, a unei functii a a a de n variabile este suma logic a tuturor termenilor de forma 1.9-a. a
2n 1 i=0

f (xn1 , xn2 , . . . , x1 , x0 ) =

di Pi

(1.10)

Denitia 1.9 Forma canonic normal conjunctiv, FCNC, a unei functii a a a de n variabile este produsul logic a tuturor termenilor de forma 1.9-b.
2n 1 i=0

f (xn1 , xn2 , . . . , x1 , x0 ) =

(di + Si )

(1.11)

22

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Denitia 1.10 Forma normal disjunctiv, FND, a unei functii de n a a variabile este o sum numai de mintermi ai cror coecienti d i = 1 a a Forma FND se obtine din FCND prin eliminarea mintermilor ai cror coecienti a au valoarea di = 0. Pentru exprimarea FND se introduce o reprezentare simbolic, a sub forma unei liste f (xn1 , xn2 , . . . , x1 , x0 ) =
2n 1 i=0

(d0 , d1 , . . . , d2n 2 , d2n 1 )

(1.12)

care contine doar indicii acelor coecienti ai functiei care au valoare d i = 1. De exemplu, pentru o functie de patru variabile:
15

f (x3 , x2 , x1 , x0 ) =
i=0

(0, 3, 4, 5, 8, 9, 12, 14, 15)

aceast list enumer doar indicii coecientilor binari d 0 = 1, d3 = 1, d4 = 1, d5 = 1, a a a d8 = 1, d9 = 1, d12 = 1, d14 = 1 i d15 = 1. s Denitia 1.11 Forma normal conjunctiv, FNC, a unei functii de n a a variabile este un produs numai de maxtermi ai cror coecienti d i = 0. a Forma FNC se obtine din FCNC prin eliminarea maxtermilor ai cror coecienti a a di = 1. Pentru exprimarea FNC se introduce o reprezentare simbolic sub forma unei liste f (xn1 , xn2 , . . . , x1 , x0 ) =
2n 1 i=0

(d0 , d1 , . . . , d2n 2 , d2n 1 )

(1.13)

care contine doar indicii acelor coecienti ai functiei care au valoarea d i = 0. Lund a ca exemplicare functia dat la relatia 1.12 de data aceasta lista va a
15

f (x3 , x2 , x1 , x0 ) =
i=0

(1, 2, 6, 7, 10, 11, 13),

adic sunt enumerati doar indicii coecientilor binari care au valoarea zero. a Uneori este avantajos s se lucreze cu negata formei normale conjunctive sau cu a negata formei normale disjunctive ale functiei care pot exprimate respectiv sub formele a) f (xn1 , xn2 , . . . , x1 , x0 ) =
2n 1 i=0

(di + Si ) (di Pi )

(1.14-a)

b)

f (xn1 , xn2 , . . . , x1 , x0 ) =

2n 1 i=0

(1.14-b)

Aceste forme de scriere se pot obtine pornind de la relatiile 1.10 i 1.11, prin s negarea ambelor prti, apoi aplicarea teoremei lui DeMorgan i innd cont de relatiile a s t a 1.7, felul urmtor: n a

CAPITOLUL 1. PORTI LOGICE

23

f (xn1 , xn2 , . . . , x1 , x0 ) =

2n 1 i=0

(di Pi ) =

2n 1 i=0

(di + P i ) =

2n 1 i=0

(di + Si )

f (xn1 , xn2 , . . . , x1 , x0 ) =

2n 1 i=0

(di + Si ) =

2n 1 i=0

(di S i ) =

2n 1 i=0

(di Pi )

Aceste exprimri se pot deduce i prin rationament din relatiile 1.10 i 1.11. Din a s s FCND se obtine FND dac se consider numai termenii canonici produs care au a a valoarea 1, relatia 1.12, respectiv din FCNC se obtine FNC, relatia 1.13, dac se a consider numai termenii canonici sum care au valoarea 0. Sub forma FND functia a a are valoarea 1 pentru suma tuturor termenilor canonici care au coecientii d i = 1 i s are valoarea 0 pentru suma tuturor termenilor canonici care au coecientii d i = 0. Evident c functia negat f va avea valoarea 1 pentru suma tuturor acelor termeni a a canonici care produc valoarea 0 pentru f , adic pentru acei coecienti d i care sunt a 0; respectiv functia negat f va avea valoarea 0 pentru suma tuturor acelor termeni a canonici care produc valoarea 1 pentru f , adic pentru acei coecienti d i = 1. Deci a a a functia negat f poate scris ca o form FND, relatia 1.14-b, de acei termeni produs a pentru care di = 1, adic pentru acei coecienti di care au valoarea 0 la scrierea a functiei f sub form FND. Acelai rationament se poate face i pentru forma FNC, a s s adic se scrie functia f pentru coecientii d i care au valoarea 0 iar functia f , relatia a 1.14-a, pentru coecientii care au valoarea 1, adic d i = 0. a O modalitate uzual de denire a unei functii logice este cea prin tabelul de adevr. a a Denitia 1.12 Tabelul de adevr este un tabel care prima coloan din a n a stnga, coloana de intrare, listeaz toate conguratiile de valori ale variabilelor de a a intrare X = {0, 1}n , iar urmtoarele coloane, coloane de ieire, sunt listate valorile, n a s din Y {0, 1}, corespunztoare ieirilor. a s Astfel de tabele de adevr au fost prezentate initial Tabelul 1.1 pentru introa n ducerea operatorilor booleeni NOT, AND, OR iar apoi Figurile 1.1, 1.2 i Tabelul n s 1.2, respectiv pentru functile logice de una, dou i trei variabile. as Exemplul 1.1 Pentru o celul sumator complet s se deduc functia logic sum, si a a a a a i functia logic pentru transferul urmtor, Ci . s a a Solutie. sectiunea 2.5.2 se va analiza sumarea a dou cuvinte binare cu lungimea de n In a biti A = An1 An2 . . . Ai . . . A1 A0 i B = Bn1 Bn2 . . . Bi . . . B1 B0 . Operatia de sumare a s celor dou cuvinte se realizeaz pentru ecare pereche de biti (Ai , Bi ) a a ncepnd cu perechea a i = 0, de rangul cel mai putin semnicativ, (20 ), pn la perechea i = n1, de rangul cel mai a a semnicativ, (2n1 ). Pentru ecare rang aceast sumare este efectuat cu o celul sumator a a a complet. O celul sumator complet pentru rangul i are trei intrri Ai , Bi , Ci1 care sunt a a respectiv bitii celor dou cuvinte A i B i transportul anterior Ci1 ce a fost generat de a s s celula din rangul 2(i1) . Semnalele generate la ieire de ctre celula sumator complet sunt s a doi biti: si sum (= Ai + Bi + Ci1 ) i Ci transportul urmtor care se aplic la celula a s a a de rang 2(i+1) ca transport anterior. Celula sumator complet este notat uneori cu a simbolul (3, 2), indicnd faptul c are trei intrri i dou ieiri. Exist i celula (2, 2) a a a s a s as care are numai dou intrri Ai i Bi (nu se consider transportul anterior Ci1 ) care este a a s a referit ca celul semisumator. Pentru o celul sumator complet tabelul de adevr este a a a a prezentat Tabelul 1.6. n

24

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Tabelul 1.6 Tabelul de adevr pentru o celul sumator/scztor complet a a a a


Intrari Adunare Bi C i1 / Ii1 si C i gi pi 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 1 Scadere di I i 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 Numarator de 1 Ci si 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 (0) (1) (1) (2) (1) (2) (2) (3)

Ai 0 0 0 0 1 1 1 1

Pentru ieirea sum si forma normal canonic disjunctiv, FNCD conform relatiei 1.10, s a a a a este :
7

si (Ai , Bi , Ci1 ) =
i=0

di Pi = d0 P0 +d1 P1 +d2 P2 +d3 P3 +d4 P4 +d5 P5 +d6 P6 +d7 P7

unde di , i = 0, 1, 2, . . . , 7 sunt coecientii functiei din coloana si din Tabelul 1.6. Evident c produsele pentru care di = 0 pot eliminate deoarece au valoarea 0 i se obtine forma a s normal disjunctiv, FND. a a si (Ai , Bi , Ci1 ) = = 1 P1 + 1 P2 + 1 P4 + 1 P7 =

Ai B i Ci1 + Ai Bi C i1 + Ai B i C i1 + Ai Bi Ci1

Se observ c FND se poate scrie direct lund numai acei mintermi pentru care functia a a a are valoarea 1 tabelul de adevr, n a
7

si (Ai , Bi , Ci1 ) =
0

(1, 2, 4, 7)

,, de unde i expresia de sintez pe baz de 1 . Aplicnd axiomele i teoremele din Tabelul s a a a s 1.2, i expresiile pentru XOR i NXOR, forma normal disjunctiv pentru s i se transform s s a a a felul urmtor: n a si (Ai , Bi , Ci1 ) = = Ai (B i Ci1 + Bi C i1 ) + Ai (B i C i1 + Bi Ci1 ) = Ai (Bi Ci1 ) + Ai (Bi Ci1 ) = Ai Bi Ci1

(1.15)

Dar din Tabelul 1.6 se poate face i sinteza functiei negate si , aceasta va avea valori 1 s a a (di = 1) acolo unde si are valori 0 (di = 0), relatia 1.14-b, deci forma normal disjunctiv a functiei negate se scrie direct examinnd tabelul de adevr: a a
7

si (Ai , Bi , Ci1 )

=
i=0

(0, 3, 5, 6) = Ai B i C i1 + Ai Bi Ci1 + Ai B i Ci1 + Ai Bi C i1 = Ai (B i C i1 + Bi Ci1 ) + Ai (B i Ci1 + Bi C i1 ) = Ai Bi C i1

= = =

CAPITOLUL 1. PORTI LOGICE

25

Se pune ntrebarea care cale se alege pentru sinteza functiei, cea prin FND pentru functia negat sau cea prin FND pentru functia nenegat? Rspunsul este evident: prin calea care a a a solicit mai putin efort, adic cea care duce la o form FND cu mai putini mintermi. a a a Pentru functia Ci sinteza se face din tabelul de adevr, de data aceasta pe baz de zer a a ouri, adic prin formele conjunctive. Forma canonic normal conjunctiv, FCNC, conform a a a a exprimrii din relatia 1.11, se va scrie: a
7

Ci (Ai , Bi , Ci1 )

=
i=0

(di + Si ) = (d0 + S0 ) (d1 + S1 ) (d2 + S2 ) (d3 + S3 ) (d4 + S4 ) (d5 + S5 ) (d6 + S6 ) (d7 + S7 )

unde di , i = 0, 1, . . . , 7 sunt coecientii functiei din coloana Ci . Se pot elimina factorii pentru care di = 1 deci se ajunge la forma normal conjunctiv FNC, a a
7

Ci (Ai , Bi , Ci1 ) =
0

(0, 1, 2, 4)

,, care se putea scrie direct prin inspectarea valorilor de zero (sintez pe baz de 0 ) i a a s scrierea produsului de maxtermi felul urmtor: n a Ci = = S 0 S1 S2 S4 =

(Ai + Bi + Ci1 ) (Ai + Bi + C i1 ) (Ai + B i + Ci1 ) (Ai + Bi + Ci1 )

Aplicarea proprietii de distributivitate la aceast expresie duce la 3 3 3 3 = 81 at a termeni produs care apoi sunt redui prin aplicarea axiomelor i teoremelor algebrei Booleene. s s A doua cale de sintez pe baz de zerouri se poate face pentru functia negat C i prin a a a inspectarea tabelului de adevr se aleg maxtermii pentru care functia are valoarea 1, relatia a 1.14-a. Rezult forma normal conjunctiv, FNC, pentru functia negat a a a a
7

C i (Ai , Bi , Ci1 )

=
0

(3, 5, 6, 7) = (Ai + B i C i1 ) (Ai + B i + Ci1 ) (Ai + B i + Ci1 ) (Ai + B i + C i1 )

i de data aceasta se pot obtine 81 de termeni produs care pot redui. Uzual, se alege s s ntre sinteza prin FNC pentru functia negat sau sinteza prin FNC pentru functia nenegat a a prin observarea tabelul de adevr care cale duce la mai putini maxtermi. Din aceste dou n a a tentative de sintez pe baz de zero se constat dicultatea aplicrii formelor conjunctive, a a a a acesta este unul din argumentele pentru care practic se aplic aproape exclusivitate n a a n sinteza pe baz de 1, adic FND, e pentru functia negat f , e pentru functia nenegat f . a a a a consecinta, revenind la sinteza pe baz de 1 rezult pentru Ci In a a
7

a) Ci (Ai , Bi , Ci1 ) =
i=1

(3, 5, 6, 7) = (1.16)

Ai Bi Ci1 + Ai B i Ci1 + Ai Bi C i1 + Ai Bi Ci1

o form rezonabil, fata de sintezele anterioare prin FNC i care prin procedee analitice este a a s adus la urmtoarele forme disjunctive FD: a a b) Ci (Ai , Bi , Ci1 ) c) Ci (Ai , Bi , Ci1 ) = = Ai (Bi Ci1 ) + Bi Ci1 Ci1 (Ai Bi ) (Ai Bi )

26

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

1.1.5

Forme disjunctive i conjunctive s

Forma disjunctiv FD a functiei este o sum de termeni necanonici de unde a a i denumirea de sum de produse, iar forma conjunctiv FC a functiei este un s a a produs de termeni sum necanonici, denumit i produs de sume. Reducerea formelor a as normale disjunctive (FND) sau normale conjunctive (FNC), respectiv la FD sau FC este referit ca un procedeu de minimizare a functiei, dei uneori nu se obtine forma a s minim sau se obtin mai multe expresii (neminime). a Exist trei modaliti de minimizare: a at 1 - analitic, utiliznd axiomele i teoremele algebrei Booleene. Aceast cale este a a s a ecient doar pentru functii cu numr mic de variabile i de termeni. a a s 2 - prin metode grace (de exemplu diagrama Veitch - Karnaugh), de asemenea utilizabile pentru functii care nu au mai mult de 5-6 variabile. 3 - pe baza unor algoritmi sau abordri euristice . Exist algoritmi (de exema a plu Quine - McQlusky) care pot aplicati unor functii cu zeci de variabile i s ieiri multiple. Aceti algoritmi stau la baza programelor de minimizare (de exs s emplu Espresso - MV) incluse medii de Programare Automat Electronic, n a n a referite prin termenul tehnici EDA (Electronic Design Automation). Minimizarea pe cale analitic implic putin practic utilizarea axiomelor i a a a a n s teoremelor algebrei booleene. Aceast practic nu se bazeaz pe un algoritm anume ci a a a mai mult pe intuitie. Astfel se pot aduga termeni (tautologia) care apoi se grupeaz a a cu altii at s se aplice (cel mai frecvent ) axioma de existenta a complementului nc a a (x + x = 1), teorema absorbtiei sau absorbtia invers. Exemplul 1.2 Pentru urmtoarea form normal disjunctiv a a a a
F (A, B, C, D) = AB C D + AB C D + AB C D + AB C D + AB C D + +A B C D + A B C D + A B C D + A B C D + A B C D s se deduc forma minim. a a a Solutie. Se grupeaz cte doi termeni canonici pentru a se aplica axioma de existenta a a a complementului (dar pentru aceasta unii termeni A B C D, A B C D se dubleaz) felul a n urmtor: a F (A, B, C, D) = = = = = A B D (C + C) + (A B C D + A B C D) + (A B C D + A B C D) + +(A B C D + A B C D) + (A B C D + A B C D) + A B D(C + C) = A B D + A B C (D + D) + B C D(A + A) + B C D(A + A) + +A B C(D + D) + A B D = B D(A + A) + A B C + B C D + B C D + A B C = B D + B D(C + C) + B(A C + A C) = B D + B D + B(A C + A C)

pentru care aplicnd expresia functiei SAU EXCLUSIV NEGAT se obtine a F (A, B, C, D) = B D + B (A C)

CAPITOLUL 1. PORTI LOGICE

27

Uneori se pune problema de a se parcurge traseul invers adic pentru o form a a minim s se deduc forma normal disjunctiv din care a provenit. general, a a a a a In pentru o astfel de extindere de la un termen produs la un termen canonic produs se introduc termenul produs variabilele care lipsesc sub forma x + x. De asemenea, n pentru ca o form disjunctiv s e extins la forma normal conjunctiv (produse de a a a a a a sume) suma de termeni produs trebuie transformat a ntr-un produs de sume utiliznd a axioma distributivitii A + B C = (A + B) (A + C), iar termenii sum variabilele at n a care lipseau se introduc prin axioma de existenta a complemntului x x = 0. Exemplul 1.3 Urmtoarea form disjunctiv F (A, B, C) = A B + A C s e extins a a a a a la forma normal conjunctiv. a a Solutie. primul rnd termenii produs sunt convertiti termeni sum utiliznd In a n a a axioma de distributivitate.
F (A, B, C) = = (A B + A) (A B + C) = (A + A) (B + A) (A + C) (B + C) = (A + B) (A + C) (B + C)

Fiecrui termen sum lipsete o variabil care se introduce felul urmtor: a a i s a n a A+B A+C B+C nal se obtine: In
7

= = =

A + B + C C = (A + B + C) (A + B + C) A + C + B B = (A + B + C) (A + B + C) B + C + A A = (A + B + C) (A + B + C)

F (A, B, C)

(A + B + C) (A + B + C) (A + B + C) (A + B + C) =
0

(0, 2, 4, 5)

Expresiile sub form de sume de produse sau produse de sume se pot modela a pe dou niveluri de operatori respectiv pe AND-OR sau OR-AND. De exemplu a urmtoarele forme FD i FC: a s F1 = A B + C D i F2 = (A + B)(C + D) s

pot modelate ca Figura 1.4-a i 1.4-b. Uneori se impune ca modelarea s n s a se fac e numai cu operatorul NAND sau e numai cu operatorul NOR. Pentru a forme FD modelarea se face uor pe baza operatorului NAND (notm simbolic prin s a AB (A, B)) deoarece aplicnd sumei de produse teorema dublei negatii i a s apoi teorema lui DeMorgan se obtine tocmai un NAND de NAND-uri. schimb In pentru forme FC modelarea se face mai uor pe baza operatorului NOR (notm sims a bolic prin A + B (A, B)) deoarece aplicnd produsului de sume teorema dublei a negatii i apoi teorema lui DeMorgan se obtine tocmai un NOR de NOR-uri. s Astfel F1 i F2 devin: s F1 F2 = = AB + C D = AB C D ( (A, B), (C, D)) ( (A, B), (C, D))

(A + B) (C + D) = (A + B) + (C + D)

28
A B C D a) A B C D b)

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE


A B C D A.B

F 1 = A. B + C. D

F 1 = (A. B) .(C. D)

C .D c)

F 2 = (A+B).(C+D)

A B C D

A+B F 2 = (A+B)+(C+D) C+D

d)

Figura 1.4 Implementarea formelor FD i FC: a,b) pe dou niveluri AND-OR, s a respectiv OR-AND; c,d) pe dou niveluri NAND-NAND, respectiv NOR-NOR. a

Numrnd simbolurile aa i s rezult c pentru ecare functie sunt necesari trei a a operatori NAND respectiv NOR cu cte dou intrri cum se poate vedea i Figura a a a s n 1.4-c i 1.4-d. Variabilele negate pot obtinute prin x (x, x) sau s (x, x). Uneori pentru conversia modelrii de tip AND-OR sau OR-AND, respectiv a ntr-o modelare de tip NAND-NAND sau NOR-NOR se pot utiliza anumite reguli grace de transformare, care rezult din axiomele i teoremele algebrei Booleene. Aceste a s reguli sunt:

Regula 1. La ieirea unui operator se poate introduce un cerculet de negatie dar s atunci trebuie introdus un cerculet de negatie i la intrarea operatorului imediat s ,, urmtor (Dubla negatie este adevr ), deci pe conexiunea a a ntre cei doi operatori variabila nu sufer modicri; a a

Regula 2. Introducerea unui cerculet de negatie pe ieirea unei functii trebuie ur s mat, tot pe ieire, de adugarea a a unui cerculet de negatie (buer invera s a nc sor). Respectiv, introducerea la o variabil de intrare, a ntr-un operator, a unui cerculet de negatie trebuie precedat de negarea aceleiai variabile de intrare a s (aplicarea pe intrare a variabilei negate);

Regula 3. Cnd se face conversia unui simbol grac initial a ntr-unul nal, AND/NAND OR/NOR, se pot introduce la simbolul nal cerculete de ne gatie e la intrare, e pe ieire, e att la intrare ct i la ieire dar numai dac s a a s s a la terminalele corespunztoare ale simbolului initial nu a existat un cerculet de a negatie felul urmtor (de fapt aceast regul nu este dect o aplicare grac n a a a a a a teoremei lui DeMorgan):

CAPITOLUL 1. PORTI LOGICE

29

AND

OR

NAND

NOR

Exemplul 1.4 Pentru conversiile din Figura 1.4 s se aplice regulile grace de transa formare. Solutie. Aplicnd regulile de conversie grac se obtin succesiunile de circuite ca a a n Figura 1.5.
A B C D F = A. B + C. D F = (A.B). (C.D) A F B C regula 1 D A B F C regula 3 D F

a) Maparea AND OR in NAND NAND este o conversie naturala F = A. B + C. D F = (A+B)+(C+D) A F B C regula 3 D F

A B C D

A F B C regula 2 D

b) Maparea AND OR in NOR NOR este o conversie nepotrivita A B C D F = (A+B)(C+D) F = (A+B)+(C+D) A F B C regula 3 D F A F B C regula 1 D

c) Maparea OR AND in NOR NOR este o conversie naturala F = (A+B)(C+D) A B C D F = (A B)(C D) A F B C regula 3 D F

A F B C regula 1 D

d) Maparea OR AND in NAND NAND este o conversie nepotrivita

Figura 1.5 Exemple de conversii grace de tipul AND-OR/OR-AND n NAND-NAND sau NOR-NOR. Uneori apare i problema invers a modelrii, pentru o modelare dat s se deters a a a a mine expresia FD sau FC care descrie, de fapt aceast abordare pentru un sistem l a deja implementat este referit ca analiza sistemului. Se poate obtine functia logic a a a modelului prin urmtoarele trei modaliti: a at 1 - pentru ecare conguratie de valori logice ale variabilelor de intrare se deduc

30

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

valori logice punctele intermediare ale modelului i respectiv se calculeaz n s a valoarea logic de ieire i felul acesta se construiete tabelul de adevr. a s s n s a Apoi, din tabelul de adevr rezultat se deduce functia logic. a a 2 - se scriu expresiile logice dup ecare simbol de operator logic, pornind de la a ecare intrare nspre ieire, rezultnd dup ultimul operator expresia logic a s a a a functiei. Aceast modalitate este asemntoare cu prima: se merge de la intrare a a a schemei spre ieire din punct punct, dar la prima modalitate cu valorile s n functiei pe cnd la aceast modalitate cu expresiile functiei. a a 3 - utiliznd conventiile prin cerculete de negatie. a A treia modalitate este recomandat doar atunci cnd operatorii au ieirile negate a a s (NAND, NOR) sau au intrri negate, deci parcurgerea de la intrare spre ieire ridic a s a anumite diculti. De ce? pentru c suntem mai obinuiti s operm cu operatorii at a s a a AND i OR cu intrri nenegate. De fapt, aceasta se reduce tot la a doua modalitate s a dar prin conversia operatorilor care contin cerculete de negatie operatori fr aceste n aa cerculete, se ajunge la o reprezentare numai cu operatori AND i OR. s Exemplul 1.5 Pentru modelele de circuite din Figura 1.6-a, 1.6-c s se deduc expresia a a functiilor (aplicnd cerculetele de negatie). a
A B C A B C F D

c)
regula 3 A B C D

a)
regula 3

A B C

d)
F F = A. (B+C) A B C D regula 3

b)

e)

F = (A+B). C+D

Figura 1.6 Exemple de conversie a modelelor logice spre structuri cu operatori AND i OR pentru determinarea functiilor logice. s
Solutie. Pentru modelul din Figura 1.6-a se aplic regula 3 i se obtin numai operatori a s AND i OR, F = A (B + C). Pentru modelul din Figura 1.6-c se aplic de dou ori regula s a a 3 i structura poate considerat ca ind compus doar din operatori AND i OR pentru s a a s care se scrie foarte simplu expresia logic, F = D + C (A + B). a

CAPITOLUL 1. PORTI LOGICE

31

Acest mod de transformare a modelelor logice este foarte indicat depanarea n circuitelor deoarece pornind de la intrare spre ieire, dup ecare nivel logic de OR s a sau AND se poate verica simplu corectitudinea semnalelor. In ncheierea prezentrii acestor notiuni de suport formal pentru sistemele digitale a accentum faptul c formele normale disjunctive, FND, sau formele disjunctive, FD, a a (sum de produse) pot modelate pe dou nivele logice AND-OR. De asemenea, a a formele normale conjunctive, FNC, sau formele conjunctive, FC, (produse de sume) pot modelate pe dou nivele logice OR-AND. Aceste armatii sunt adevrate a a n mod teoretic cnd operatorii AND, OR se aplic pentru orice numr de intrri i a a a a s exist disponibile i variabilele negate. practic, unde un operator este o poart a s In a a logic, trebuie luate cu precautie aceste armatii functie de portile disponibile i a n s de numrul de intrri ale acestora (adic de restrictiile electrice de conectivitate ale a a a acestor porti).

1.2

POARTA LOGICA

Cnd se trece de la formele FND, FNC la FD, FC i de la modelele acestora a s pe baz de operatori NOT, AND, OR, NOR, NAND, la implementri reale pe baz a a a de circuite electronice pentru operatorii logici se folosete, exprimare, termenul s n de poart logic. Prin termenul de poart logic se face referire la orice circuit a a a a electronic care implementeaz un operator logic, deci exist poarta inversor (NOT), a a poarta AND, poarta OR, poart XOR, poarta NAND etc. Prin referirea tuturor cira cuitelor logice cu termenul de poart logic apare un abuz de limbaj care, totui, are a a s o justicare din punct de vedere al transferului semnalului (variabile logice binare) prin circuit. Considernd operatorii logici prezentati Tabelul 1.7, cu cele dou a n a intrri A,C i ieirea f , se poate analiza cum pentru transferul semnalului logic A a s s spre ieirea f , prin conditionarea de ctre semnalul C (de control), circuitul elecs a tronic care implementeaz un astfel de operator are un comportament similar cu a ,, utilizarea/functionarea unei porti. Astfel, cnd circuitul poart este deschis las a a a semnalul A s treac modicat sau nemodicat spre ieirea f , iar cnd poarta este a a s a ,, nchis semnalul A nu se transfer la ieirea f . Intuitiv, aceast analogie, poarta a a s n a este nchis sau deschis de ctre cineva, adic cazul unui circuit de un semnal de a a a a n control, variabila C. De exemplu, pentru poarta AND cnd este deschis, C = 1, semnalul de intrare A a a se transfer la ieire f = A, iar cnd este a s a nchis, C = 0, semnalul de intrare A nu se a transfer la ieire, f este a s ncontinuu la valoarea logic 0. Poarta XOR, este putin mai a special, este permanent deschis, transfer la ieire semnalul de intrare nemodicat a a a s pentru C = 0, f = A (A 0 = A), iar pentru C = 1 transfer spre ieire intrarea A a s negat, f = A (A 1 = A); poarta XOR are o functionare de circuit inversor a comandat. O astfel de interpretare, de circuit poart, se poate gsi pentru oricare a a din operatorii prezentati Tabelul 1.7. n Analiznd paralel poarta AND i poarta OR se poate observa c poarta AND a n s a este deschis pentru C = 1 iar poarta OR este deschis pentru C = 0, astfel spunem a a c una este deschis cnd semnalul C este activat 1 logic iar cealalt cnd semnalul a a a n a a C este activat 0 logic. Pn acum ataam valorii de adevr, pentru o variabil, n a a s a a

32

1.2. POARTA LOGICA

Tabelul 1.7 Interpretarea operatorilor logici ca circuite poart a


INTRARI C 0 0 1 1 Iesirea este : A 0 1 0 1 AND OR NAND NOR XOR NXOR

A C

f A C

f A

f A C

f A C

f A C

C 0 1 1 1 1 1 1 0

0 0 0 1

1 0 0 0

0 1 1 0

1 0 0 1

f=0 f=A f=1 f=A f=1 f=A f=0 f=Af=A f=A f=Af=A

Pentru variabila C = 0 C = 1 C = 1 C = 0 C = 0 C = 1 C = 1 C = 0 C = 0 C = 1 C = 0 C = 1 de control :

valoarea binar 1 i pentru valoarea de fals valoarea binar 0. Dar, practic, se a s a n a poate ataa pentru starea de adevr a unei variabile acea valoare binar pe care s a a variabila o are starea activ (adic starea care produce actiunea pentru care se n a a justic acea variabil), care poate : e bitul 1, e bitul 0. Iar valoarea de fals a a variabila o are starea de neactivare, care poate : e pentru valoarea binar 1, n a e pentru valoarea binar 0. a aceast interpretare, variabila A cnd este stare activ pentru valoarea biIn a a n a s a n a nar 1 (activ High) se noteaz felul urmtor A H i cnd este starea activ a a n a pentru valoarea binar 0 (activ Low) se noteaz A L . La fel, i o ieire OU T a a a s s unei porti poate considerat stare activ (adevrat) e cnd are valoarea binar a n a a a a a 0 i se noteaz OU T L, e cnd are valoarea binar 1 i se noteaz OU T H . Cu s a a a s a aceste notatii tabelele de adevr pentru portile logice se realizeaz nu pentru valorile a a binare 1 i 0 ci pentru strile de activare (adevrat) i neactivare (fals) ale intrrilor s a a s a i, respectiv, pentru starea de activare (adevrat) i neactivare (fals) a ieirii. Pe s a s s simbolurile grace ale portilor pentru semnalele de intrare i de ieire active L se s s n introduc cerculete de negatie. practic, dac un semnal este activ starea High, de In a a n a s a exemplu A H sau OU T H, nu se mai adaug suxul H i se reprezint numai A sau

INTR1 INTR2_L INTR3_L INTR4_L INTR5 a)

OUT_L

INTR1 INTR2_L INTR3_L INTR4_L INTR5 b)

OUT_L

Figura 1.7 Reprezentarea mixat a semnalelor (pentru valoarea binar a a asignat strii de adevr: a) pentru o poart AND; b) pentru o poart OR. a a a a a

CAPITOLUL 1. PORTI LOGICE

33

OU T elegndu-se c au valoarea de adevr (starea activ) 1 logic iar valoarea nt a a a a n de fals 0 logic. schimb, pentru semnalele active starea Low se mentine suxul n In n L. Deci, poate s apar aceast notare mixat, adic semnalele active starea High a a a a a n nu mai au suxul H dar cele active starea Low au suxul L. De exemplu, pentru n poarta AND din Figura 1.7-a ieirea este activ (valoare de adevr), OU T L = 0, se s a a obtine cnd toate intrrile sunt activate (au valoare de adevr), adic: IN T R1 = 1, a a a a s IN T R2 L = 0, IN T R3 L = 0, IN T R4 L = 0 i IN T R5 = 1; iar pentru poarta OR din Figura 1.7-b ieirea nu este activ (nu are valoare de adevr, OU T L = 1) s a a numai cnd nici una din intrri nu este activat (este fals), adic: IN T R1 = 0, a a a a a s IN T R2 L = 1, IN T R3 L = 1, IN T R4 L = 1 i IN T R5 = 0. practica circuitelor digitale pentru o variabil V AR, care este activ starea In a a n n a Low, se utilizeaz dou notatii: V AR sau V AR L; aceast carte se va utiliza a a att notatia de variabil negat, V AR, ct i notatia de nivel Low, V AR L, a a a a s ambele avnd aceeai semnicatie. a s Exemplul 1.6 S se reprezinte tabelele de adevr i simbolurile grace uniforme (vezi a a s Tabelul 1.1) pentru toate variantele de activare ale variabilelor de intrare i ieirii la o poart s s a AND cu dou intrri. a a Solutie. Ieirea unei porti AND cu dou intrri este activ (are valoare de adevr) s a a a a numai cnd sunt active (au valori de adevr) ambele intrri; deci o aplicatie pe multimea a a a
A B AB A+B

Fals Fals Fals Fals Fals Adevarat Fals Adevarat Adevarat Fals Fals Adevarat Adevarat Adevarat Adevarat Adevarat A B A 0 0 1 1 A B A 0 0 1 1

&
B 0 1 0 1 O 0 0 0 1

A B_L A 0 0 1 1

&
B_L O 0 1 0 1 0 0 1 0

A_L B A_L 0 0 1 1

&
B 0 1 0 1 O 0 1 0 0

A_L B_L

&

A_L B_L O 0 0 1 1 O_L A_L B_L 0 1 0 1 1 0 0 0 O_L

&
B 0 1 0 1

O_L O_L 1 1 1 0

A B_L

&

O_L

A_L B A_L 0 0 1 1

&
B 0 1 0 1

&

A B_L O_L 0 0 1 1 0 1 0 1 1 1 0 1

O_L 1 0 1 1

A_L B_L O_L 0 0 1 1 0 1 0 1 0 1 1 1

Figura 1.8 Variante de asignare a valorilor binare pentru semnalele active la o poart AND a

34

1.2. POARTA LOGICA

{adevr,fals} cu valori tot aceast multime. Ataand ecrei valori de adevr (activare), a n a s a a pentru variabilele de intrare i pentru ieire, e nivelul Low e nivelul High rezult 8 variante s s a pentru tabelul de adevr, Figura 1.8. Realizati variantele pentru tabelul de adevr i pentru a a s poarta OR.

tehnic, de foarte mult timp, este utilizat un element ce prezint dou stri: In a a a a contactul unui releu. Un contact nchis prin lamela sa stabilete, s ntre dou puncte a de circuit, un traseu de rezistenta electric de valoare foarte mic, teoretic zero, iar a a un contact deschis ntrerupe un circuit ntre dou puncte, deci realizeaz a a ntre cele dou puncte o rezistenta innit. Celor dou stri ale contactului ( a a a a nchis, deschis) li se pot asocia elementele multimii binare {0, 1}. Rezult c pentru circuitele cu contacte, a a denumite retele de comutatie, se poate aplica formalismul algebrei Booleene, B(2); apare astfel posibilitatea de a formaliza proiectarea i analiza retelelor de comutatie. s Acest formalism a fost prima dat folosit de Claude Shannon 1938 care, a scos din a n arhiva matematicilor algebra conceput de George Boole (1852) i a aplicat-o acest a s n scop. Figura 1.9 este schitat o structur de circuit cu releu care, prin cele dou conIn a a a tacte ale sale, unul normal deschis cellalt normal a nchis, realizeaz traseul circuitelor a
x y x y f f = x+y d) x y z z x f

x x x a)

f1 f2

~ x

x x f=x b)

~ x

x x f= x c)

x
~ x y

y y

z z z

x x
x y z x y z x z

x y z
x y z x y z x z

x y f = x. y e)

f =x y z +xy z + x z f)

f =(x + y +z )(x + y +z )( x+z) g)

Figura 1.9 Retele de comutatie: a) structur de circuit releu; b,c,d,e) retele de a comutatie pentru modelarea operatorilor de: identitate, negatie, sum logic i produs a as logic; f,g) retele de comutatie pentru modelarea unei forme de sume-de-produse i s produse-de-sume.

CAPITOLUL 1. PORTI LOGICE

35

de alimentare a dou becuri notate cu f1 i f2 . Un contact normal deschis este a s n stare deschis cnd releul nu este comandat i trece stare a a s n nchis cnd releul este a a comandat. Invers, un contact normal nchis este starea n nchis cnd releul nu a a este comandat i se deschide cnd releul este comandat. aceast schita, cnd releul s a In a a este necomandat tensiunea de alimentare a bobinei este 0, x = 0, armtura nu este a atras, contactul normal a nchis este nchis, cel normal deschis este deschis, iar becul f1 este stins i becul f2 este aprins. Cnd se comand releul, tensiunea de alimentare s a a are o anumit valoare, pe care o putem nota cu 1, x = 1, contactul normal deschis se a nchde, cel normal nchis se deschide deci becul f 1 se aprinde i f2 se stinge. Ataand s s strii becurilor valoarea logic 1 (activ) cnd este aprins i valoarea logic 0 (inactiv) a a a s a cnd este stins rezult c aplicatia {0, 1} {0, 1}, conform Figurii 1.1, este functia a a a 1 1 f1 , adic identitate pentru becul f1 , f1 = x i este functia f2 , adic negatie pentru a s a becul f2 , f2 = x. Evident, contactul normal deschis prin care se realizeaz functia a de identitate se va nota cu variabila x, Figura 1.9-b, iar contactul normal nchis prin care se realizeaz functia de negatie se va nota cu variabila negat, x, Figura 1.9-c. a a Rezult, intuitiv, c dou contacte a a a nseriate realizeaz, pentru reteaua de comutatie a respectiv, modelarea produsului logic de dou variabile, Figura 1.9-e, iar dou cona a a tacte paralel realizeaz modelarea sumei logice a dou variabile, Figura 1.9-d. O n a a
A
UD

ID

A
UD +

K UD
G

A a) V CC
RC

K b) V CC
RC pMOS VO VO Vin Vin nMOS VO Vin VO

V DD

V DD

Vin

c)

d)

Figura 1.10 Elemente zice componente de baz pentru structurarea a portilor logice: a,b) elemente componente pentru modelarea functiei de identi tate. c,d) elementele componente pentru modelarea functiei de inversor tehnologie n bipolar i tehnologie CMOS. a s n

36

1.2. POARTA LOGICA

retea de comutatie serie-paralel, Figura 1.9-f, modeleaz o functie disjunctiv (sum a a a de produse, FD) iar o retea de comutatie paralel-serie, Figura 1.9-g, modeleaz o a functie conjunctiv (produse de sume, FC). a Elementele logice de baz structura unei porti sunt cele dou functii f 1 (identia n a 1 1 tate) i f2 (negatie) cu care se pot realiza diferite organizri prin intermediul celor s a patru tipuri de conectare: serie, paralel, serie-paralel i paralel-serie. cirs In cuitele poart componentele zice care pot modela functia identitate pot dioda sau a tranzistorul de trecere. O diod polarizat sens direct este echivalent unui cona a n a tact nchis iar polarizat sens invers poate modela un contact deschis, Figura 1.10-a a n (s-a considerat caracteristica de diod ideal). La fel, un tranzistor de trecere (vezi a a Figura 1.51) poate echivalentul unui contact nchis/deschis dup cum tranzistorul a este comandat conductie/blocare, Figura 1.10-b. n Pentru functia de inversor exist circuite simple ecare tehnologie. Structura a n unui circuit inversor tehnologie bipolar este reprezentat Figura 1.10-c (vezi n a a n sectiunea 1.5.2) iar pentru inversorul CMOS Figura 1.10-d (vezi sectiunea 1.4.1). n Circuitul cu diode care produce la ieire tensiunea de valoare minim aplicat la s a a intrare, M IN (V1 , V2 , V3 ), Figura 1.11-a i circuitul cu diode care produce la ieire s s tensiunea maxim aplicat la intrare, M AX(V1 , V2 , V3 ), Figura 1.11-b pot utilizate a a ca structuri de poart AND sau OR functie de conventia de logic folosit. a n a a
Vref =+5V

V1 V2 V3

D1 D2 D3

R VO

V1 V2 VO VL VL VL VL VH VL VH VL VL VH VH VH

V1 V2 0 0 0 1 1 1 0 1

VO 0 0 0 1

V1 V2 1 1 1 0 0 0 1 0

VO 1 1 1 0

V High = +5V V Low = 0V V O = Min(V 1,V 2,V 3)

a)

Logica pozitiva "1" VH "0" VL Poarta AND V1 V2 VO VL VL VL VL VH VH VH VL VH VH VH VH V1 V2 0 0 0 1 1 1 0 1 VO 0 1 1 1

Logica negativa "0" VH "1" VL Poarta OR V1 V2 1 1 1 0 0 0 1 0 VO 1 0 0 0

V1 V2 V3

D1 D2 D3

VO

R
Vref = 0V

b)

V High = +5V V Low = 0V V O = Max(V 1,V 2,V 3)

Logica pozitiva "1" VH "0" VL Poarta OR

Logica negativa "0" VH "1" VL Poarta AND

Figura 1.11 Echivalarea circuitelor MIN (a) i MAX(b) ca porti logice s AND i OR functie de conventia de logic pozitiv sau negativ s n a a a

CAPITOLUL 1. PORTI LOGICE

37

Prin conventia de logic pozitiv a a ntr-un circuit nivelului de tensiune ridicat VH (High), general tensiunea de alimentare V H = VCC , VH = VDD , i se atribuie n ,, valoarea logic 1 iar nivelului de tensiune cobort VL (Low), general tensiunea a a n ,, de mas VL = VSS = 0V , i se atribuie valoarea logic 0 . Invers, prin conventia de a a ,, ,, logic negativ se fac urmtoarele atribuiri VH 0 , VL 1 . Exist circuite a a a a logice care sunt alimentate cu tensiuni negative (V EE ) fata de mas, circuitele de a tip ECLEmitter Coupled Logic, i la acestea se pstreaz atribuirile din conventiile s a a de logic pozitiv sau negativ; diferenta fata de circuitele care se alimenteaz la a a a a tensiune pozitiv este faptul c VH = 0V (tensiunea masei) i VL = VEE , Figura a a s 1.13. Circuitul MIN, Figura 1.11-a, va genera pentru ieire V O = M IN (V1 , V2 , V3 ) des oarece va conduce numai dioda care are aplicat pe catod tensiunea cu valoarea cea mai cobort, celelalte diode, cu catozii mai pozitivi, vor blocate. Considernd aa a circuitul MIN realizat numai cu dou diode D1 i D2 , la catozii crora se aplic a s a a numai tensiunile de valori VH sau VL , se poate construi tabelul pentru tensiunea de ieire VO . Aplicnd acestui tabel conventia de logic pozitiv rezult c circuitul MIN s a a a a a are o functionare de poart AND, iar conventia de logic negativ are o functionare a n a a de poart OR. a Circuitul MAX, Figura 1.11-b, va genera pentru ieire tensiunea maxim aplicat s a a pe intrare VO = M AX(V1 , V2 , V3 ) deoarece va conduce doar dioda care are aplicat pe anod tensiunea cea mai ridicat, celelalte diode, cu potential mai cobort pe anod, a a vor blocate. Aplicnd tabelului, care arat corespondenta dintre tensiunea de ieire a a s VO i tensiunile de intrare V1 , V2 (sunt considerate doar dou intrri), conventia de s a a logic pozitiv rezult c circuitul MAX are functionare de poart OR iar conventia a a a a a n de logic negativ are o functionare de poart AND. a a a Teorema 1.1 Duala unei functii de variabile negate este egal cu negata a functiei de variabile nenegate. f (x0 , x1 , . . . , xn1 ) = f D (x0 , x1 , . . . , xn1 ) (1.17)

Relatia 1.17 se poate verica pe tabelele de adevr din Figura 1.11-a i 1.11-b a s deoarece o conventie de logic se obtine din cealalt conventie prin negarea variabilelor a a s iar operatorii AND i OR sunt unul dualul celuilalt: V 1 V2 = V1 + V2 i V1 + V2 = s V1 V2 . De fapt, relatia 1.17 este o generalizare a teoremei lui DeMorgan. Exemplul 1.7 S se conceap o organizare de circuit, folosind circuitele MIN i a a s MAX, care s produc toti maxtermii i mintermii de dou variabile. Se poate extinde a a s a aceasta pentru generarea de sume de produse de dou variabile? a s Solutie. Mintermii de dou variabile x1 x0 , x1 x0 , x1 x0 , x1 x0 pot produi de patru a circuite MIN, ca Figura 1.11-a, dar cu patru diode pe catozii crora se aplic variabilele n a a x1 , x1 , x0 , x0 . Cele patru circuite MIN se pun paralel ca Figura 1.12-a realiznd o n n a matrice AND. Maxtermii de dou variabile x1 + x0 , x1 + x0 , x1 + x0 , x1 + x0 pot generati a de patru circuite MAX ca Figura 1.11-b, cu variabilele de intrare x1 , x1 , x0 , x0 , iar cele n patru circuite sunt conectate paralel realiznd matricea OR din Figura 1.12-b. (Atentie n a care catozi sunt conectati la linii pentru circuitele MIN i la coloane pentru circuitul MAX). s Evident c se pot obtine sume de produse de dou variabile dac cele patru ieiri de la maa a a s tricea AND sunt conectate, ecare, la cte o intrare la matricea OR realiznd o conguratie a a

38

1.2. POARTA LOGICA

de circuit pe dou niveluri logice, AND-OR. Cnd se realizeaz aceast a a a a nseriere de niveluri logice apar dou probleme: prima, este cderea de tensiune pe jonctiunile conductie, ceea a a n ce duce ca semnalul de ieire stare logic 1 s e sub valoarea VH , iar a doua, este lipsa s n a a unei decuplri (izolare) a ntre intrare i ieire. Pentru valorile urmtoare VH = 5V , VL = 0V , s s a VDon = 0, 7V , R1 = 1K, R2 = 10K rezult tensiunea de ieire starea H egal cu a s n a VH (VH VDon ) R1 = 3, 9V VH = 5V (R1 + R2 )

Structura obtinut prin a nserierea unei matrice AND cu o matrice OR poate suport pentru implementarea oricrei functii sum de produse dac matricile respective a a a sunt programabile, adic pe nivelul AND se poate genera oricare termen produs iar a pe nivelul OR se poate selecta oricare produs obtinerea unei sume (vezi sectiunea n 2.4.7). Fizic, generarea acestor termeni cu structura similar celei din Figura 1.12 a se face, ntr-un nod al celor dou matrice, prin neconectarea sau conectarea diodei a la linie respectiv la coloan, ceea ce se reduce la arderea sau mentinerea unui fuzia bil nseriat cu dioda dintr-un nod. Prin fabricatie, realiznd ecare nod o diod a n a nseriat cu un fuzibil, i se ofer utilizatorului ca ulterior s aib posibilitatea de a a a a a programa ecare nod din matricea AND i matricea OR functie de expresia particus n lar a functiei exprimat ca sum de produse. procesul de programare, cu ajutorul a a a In unui aparat programator, utilizatorul poate selecta oricare nod din cele dou matrice a i prin aplicarea unei tensiuni de valoare 10 30V s ard fuzibilul. Dispozitivele s a a programabile de ctre utilizator sunt foarte eciente i exibile etapa de dezvoltare a s n a unui produs cnd se a ncearc diferite variante pn la obtinerea variantei nale. a a a Productorii de dispozitive programabile produc aceste dispozitive cu toate nodurile a matricei nzestrate e cu fuzibil e cu un antifuzibil. La dispozitivele cu fuzibil, prin programare, rezistenta conexiunii dintr-un nod este modicat de la valoarea zero la valoara innit (arderea fuzibilului). Un fuzibil din a a tungsten-titan sau nichel-crom cu limea de 0.15m necesit pentru ardere un curent at a de 10 60mA timp de 1 10ms (Texas Instruments), iar un fuzibil din polisiliciu cu
+V (+5V) x +y x x y y xy xy xy xy pentru realizarea AND OR R2 R2 Matricea OR b) R2 R2 x +y x +y x +y

R1

R1

R1

R1

x x y y

Matricea AND a)

Figura 1.12 Organizarea unei matrice programabile logica pozitiv: n a a)pentru termeni produs; b)pentru termeni sum. a

CAPITOLUL 1. PORTI LOGICE

39

,, limea de 25m se poate arde cu un curent de 20 80mA timp de 15s (AMD). at Dar, exist pericolul ca timp, datorit efectelor termice din circuitul integrat, unele a n a fuzibile arse s duc la refacerea conexiunii. a a La dispozitivele cu antifuzibil, prin programare, rezistenta conexiunii dintr-un nod este modicat de la o valoare initial foarte mare de ordinul 100M la o valoare a a sub 1K. Trasei de antifuzibil realizat e dintr-un dielectric (de exemplu ONO, a Oxigen-Nitrura-Oxigen), e din siliciu amorf, procesul de programare, i se aplic un n a curent de ordinul zeci de mA cu durata sub 1s, prin aceasta producnd modicarea a rezistentei. Conexiunile pe baz de antifuzibil, spre deosebire de cele pe baz de a a fuzibil, nu se pot reface ampltor (adic s revin la rezistente de 100M ). nt a a a a Dispozitivele programabile att cele cu fuzibil ct i cele cu antifuzibil sunt referite a a s ca dispozitive o singur dat programabile,OTP (One Time Programmable). a a

1.3

PARAMETRII PORTILOR LOGICE

Pn prezent s-a parcurs traseul de la expresie logic la un model al acesteia a a n a pe o retea de operatori care, zic, sunt porti logice. Dar, ntr-o implementare de sistem conectarea portilor logice nu este fr limite ci trebuie s se respecte anumite aa a restrictii care sunt exprimate prin anumite valori i care sunt referite prin termenul de s parametrii de catalog ai portilor logice. Prin parametrii (de catalog) ai unei porti logice se eleg acele valori care caracterizeaz functionarea sa interconectarea nt i a n cu alte porti din aceeai familie sau conditii de test. Uneori, poarta logic este s n a interconectat i cu alte porti din alte familii ceea ce impune o specicare unicat a as a parametrilor pentru toate familiile de porti logice. Parametrii unei porti trebuie s caracterizeze regimul de curent continuu, regi a mul tranzitoriu i regimul de zgomot. Frecvent, aceti parametri sunt dati catalog s s n ca valori tipice (normale), precum i cu valorile pentru cazul cel mai defavorabil. s Cazul cel mai defavorabil presupune c: circuitul cel mai defavorabil, din lotul a admis, este conditiile cele mai defavorabile de functionare (temperatur, umiditate, n a tensiune de alimentare). Gama uzual de temperatur este a a ntre 0 C i 70 C, pens tru aplicatiile civile, i se extinde la intervalul 55 C +125 C, pentru aplicatiile s militare. Conditiile defavorabile pentru tensiunea de alimentare se specic prin aba a terile fata de valoarea nominal V , adic prin valorile V V . proiectare, chiar i a a In s pentru cazul cel mai defavorabil, poarta trebuie s realizeze valori pentru parametrii a si care s nu ias din plaja valorilor prevzute catalog. Cnd functionarea portii a a a a n a se face afara conditiilor specicate mai sus se impune msurarea parametrilor si n a a i aceti parametri msurati s e limitele valorilor de catalog pentru a putea s s a a n interconectate cu alte porti. Nivelurile de tensiune. Intr-un circuit logic se poate face referire la dou a niveluri constante de tensiune: tensiunea de alimentare V DD , VCC , VEE i tens siunea de mas 0V sau VSS ; aceste dou niveluri de tensiune sunt notate prin V H a a i VL i li se pot asigna cele dou valori ale multimii binare B = {0, 1}, e conform s s a conventiei de logic pozitiv, e conform conventiei negative. De fapt, cele dou a a a niveluri de tensiune, practic, se extind la dou intervale de tensiune notate cu V H i a s VL ca Figura 1.13, deci oricare valoare a tensiunii din aceste intervale (reprezint n a VH respectiv VL ) i corespunde cifrei binare 1 sau 0 conform conventiei de logic s a

40

1.3. PARAMETRII PORTILOR LOGICE

adoptat. Prin extinderea de la o valoare x a a de tensiune la un interval se insensibilizeaz a variatiile produse de: modicarea tensiunii VCC , VDD de alimentare, atrnirea pieselor, temmb a VH VH VH peratur, zgomot. a Intre cele dou intera "1" "0" vale de tensiune permise VH , VL exist a Intervalul un interval de tensiune interzis; pentru o interzis poart cu functionare normal valorile tena a VL "0" "1" siunilor de intrare i de ieire nu pot s se s s a situeze intervalul interzis. Detectarea doar n VL masa 0V,V SS a cifrelor logice de 1 sau 0 impune penVH tru o poart logic o comportare procusa a ,, "1" "0" tian , deci de ecare dat cnd semnalul a a a VH trece printr-o poart logic este readus la a a Intervalul interzis nivelul logic de 0 sau de 1, adic interia n orul intervalelor permise. Deoarece ecare "1" "0" VL poart readuce semnalul intervalele pera n VL VL VEE mise VH , VL rezult c la propagarea a a semnalului printr-un lant de porti zgomotul suprapus este eliminat ecare nivel logic n s a Figura 1.13 Nivelurile de tensiune i nu se amplic, precum la circuitele cu functionare analogic. a pentru valorile logice 1 i 0 s Marginea de zgomot curent continuu i imunitatea la perturbatii. O n s poart logic are specicate foaia de catalog nivelurile de tensiune garantate a a n la ieire i nivelurile de tensiune permise la intrare, Figura 1.14-a. Nivelurile s s de tensiune garantate la ieire sunt acoperitoare raport cu nivelurile de tensiune s n permise la intrare, aceast acoperire ind gndit scopul pre ampinrii inuentei a a a n nt a zgomotelor. (Prin zgomot se elege orice semnal electric ce se suprapune peste nt semnalul logic). Aceast acoperire se reect parametrii: margine de zgomot M H a a n curent continuu pentru starea H i marginea de zgomot M L curent continuu n s n n starea L.
Logica pozitiva Logica negativa

Denitia 1.13 Marginea de zgomot pentru nivelul H curent con n tinuu, MH , este diferenta dintre tensiunea de ieire minim garantat starea H, s a a n VOHmin , i tensiunea de intrare minim permis starea H, V IHmin . Marginea de s a a n zgomot pentru nivelul L curent continuu, ML , este diferenta dintre tensin unea de intrare maxim permis starea L, VILmax , i tensiunea de ieire maxim a a n s s a garantat starea L, VOLmax . a n MH ML = VOHmin VIHmin ; = VILmax VOLmax .

(1.18)

Valorile garantate la ieire i cele permise la intrarea unei porti pot corelate s s cu caracteristica de transfer, VTC (Voltage Transfer Characteristic). Caracteristica de transfer VO = f (VI ) exprim grac dependenta static a a ntre tensiunea la ieirea portii, VO , i tensiunea aplicat la intrarea portii, V I . Pentru o poart ins s a a versor VTC-ul este reprezentat Figura 1.14-b. Evident, c aceast caracteristic n a a a de transfer a unei porti este situat afara zonelor interzise (reprezentate haurat) a n s

CAPITOLUL 1. PORTI LOGICE

41

V I1

V O1

sursa de zgomot

V I2 VI V V IH

V O2

(Valori garantate) V O V Intervalul garantat V OH pentru V OHmin V OH Interval interzis Intervalul garantat pentru V OL a) VO V OLmax V OL

(Valori permise) Intervalul permis pentru V IH Interval interzis Intervalul permis pentru V IL

MH

V IHmin V ILmax V IL

ML

V V OH V OHmin IP Ny IP + V OLmax V OL

caracteristica ideala V O=f(V I )

V O=V I

Zona interzisa prin valori garantate

Zona interzisa prin valori garantate

VI V/2 V IL b) V ILmax V IH V IHmin

Figura 1.14 Tensiunile de intrare i ieire la o poart logic: a) denirea s s a a nivelurilor/(intervalelor) de tensiune H i L garantate la ieire i permise la intrare; s s s b) caracteristica static de transfer VO = f (VI ) pentru o poart inversor. a a

42

1.3. PARAMETRII PORTILOR LOGICE

planul VI , VO i este desenat ca o band (punctat), pentru a indica faptul c n s a a a a portile de acelai tip din cadrul unei familii au caracteristici ce nu se suprapun ci sunt s dispersate aceast band. n a a Imunitatea la perturbatii, IP + respectiv IP , se denete prin tensiunile s proportionale cu urmtoarele segmente din Figura 1.14-b: a IP + = VOLmax Ny [V ] IP = VOHmin Ny [V ]

(1.19-a)

Se presupune c tensiunea de ieire a unei porti este V OHmin i peste aceasta se a s s suprapune (se scade) o tensiune de zgomot cu amplitudinea cel mult egal cu IP ; a iar tensiunea rezultat aplicat, ca tensiune de intrare la intrarea portii urmtoare a a a (comandat), nu produce pentru aceast poart deplasarea punctului de functionare a a a pe caracteristica de transfer dincolo de punctul N (tensiunea de intrare nu devine mai mic dect V care ar corespunde trecerii tensiunii de intrare de la V IH la VIL ). a a 2 La fel se consider c i starea L peste valoarea V OLmax se poate suprapune cel a a s n mult tensiunea de zgomot IP + fr ca s se depeasc pe caracteristic punctul aa a as a a N. Punctul N este intersectia caracteristicii V O = f (VI ) cu prima bisectoare, care are a a a coordonatele ( V , V ) cnd caracteristica este simetric. Dac amplitudinile de zgomot 2 2 aplicate tensiunii de ieire strile H sau L depesc respectiv valorile IP sau s n a as IP + atunci tensiunea de intrare la poarta comandat trece dincolo de coordonatele a punctului N i produce o comutatie eronat; coordonatele punctului N denesc pragul s a logic de comutatie al portii (vezi Denitia 1.14). Pentru aplicatiile din mediile cu zgomot, de amplitudine mare, se recomand porti a care au valori mari pentru IP + i IP ; astfel de porti denumite cu imunitate ridis cat la zgomot au tensiuni de alimentare care pot ajunge la 30V. Pentru realizarea a unei posibiliti de comparatie a imunitii la perturbatii a diferitelor familii de porti at at logice, care au valori diferite pentru nivelurile logice de tensiune V H , VL i pentru tens siunile de alimentare, se introduc coecientii adimensionali factorii de imunitate la perturbatii: F IP + [%] = F IP [%] = IP + 100 V IP 100 V

(1.19-b)

,, ,, unde V este saltul de tensiune ntre nivelurile logice 0 i 1 . Dac se consider s a a (cazul ideal) c V este egal cu tensiunea de alimentare V CC , VDD i IP + = 1 V , a a s 2 1 IP = 2 V rezult pentru F IP + = F IP = 50%, general F IP < 50%. Caractera n istica ideal de inversor este cea de tip releu fr histerezis trasat cu linie a aa a ntrerupt a ngroat Figura 1.14-b. Portile tehnologie CMOS au caracteristica de transfer s a n n care se apropie cel mai mult de cea ideal. a Timpul de propagare p . Timpul de propagare este un parametru care reect a viteza de rspuns/comutatie a unei porti, altfel spus, este arzierea timp a nt n ntre momentul aplicrii semnalului logic la intrarea portii i momentul aparitiei semnalului a s la ieirea portii. Deoarece, practic, msurrile se fac pe formele de variatie timp s a a n ale semnalelor de intrare i ieire se vor deni unele puncte specice xate pe aceste s s semnale.

CAPITOLUL 1. PORTI LOGICE

43

Figura 1.15-a sunt denite urmtoarele mrimi (pe semnalele de intrare i de In a a s ieire de la o poart inversor): s a r - timpul de cretere (rise time); intervalul de timp s ntre valorile 10% i 90% pe s frontul de cretere de la L la H al semnalului de intrare poart; s n a f - timpul de descretere (fall time); intervalul de timp s ntre valorile 10% i 90% pe s frontul de descretere de la H la L al semnalului de intrare poart; s n a LH - durata frontului de cretere; intervalul de timp s ntre valorile 10% i 90% pe s variatia de la L la H a semnalului de ieire din poart; s a HL - durata frontului de cdere; intervalul de timp a ntre valorile 90% i 10% pe s variatia de la H la L a semnalului de ieire din poart; s a pLH - timpul de propagare prin poart la comutarea ieirii de la L la H; msurarea se a s a face ntre punctele cu amplitudine 50% ale variatiei semnalului de intrare i de s ieire; s pHL - timpul de propagare prin poart la comutarea ieirii de la H la L; msurarea se a s a face ntre punctele cu amplitudine 50%; Tciclu - perioada de ciclu este intervalul de timp ntre dou puncte identice pe dou a a cicluri succesive de variatie ale unui semnal. practica circuitelor digitale se In recomand s se lucreze cu semnale care a a ndeplinesc relatia: Tciclu (15 40)p (pentru circuitele care functioneaz la frecvente de peste 1GHz T ciclu scade sub a 10p ). Timpul de propagare este denit prin relatia: p = pHL + pLH 2 (1.20)

De multe ori practic, pentru uurarea msurrii intervalelor de timp i fr a n a s a a s aa de introduce erori semnicative, se consider pentru semnalul de intrare V I o variatie a dreptunghiular, Figura 1.15-b. Pentru acest semnal de intrare ideal, cu panta frona turilor innit, valorile timpilor de propagare pHL i pLH se msoar de la aceste a s a a fronturi pn punctul de amplitudine 50% de pe variatia semnalului de ieire. a a n s Timpul de propagare este dependent de structura portii i sarcina comandat la s a ieire. Dependenta de sarcina comandat este foarte puternic la portile CMOS. s a a Un model simplicat al circuitului de ieire al unei porti logice i a sarcinii cos s mandate este reprezentat Figura 1.16-a. acest model rezistenta echivalent n In a R include rezistenta intern a etajului de ieire al portii (a generatorului G) plus a s rezistenta sarcinii (a portii sau portilor comandate), iar capacitatea echivalent C a include capacitile interne ale etajului de ieire, capacitatea sarcinii comandate i at s s capacitile parazite ale conexiunilor. Conform acestui model rezult variatia tensiuat a nii pe capacitatea de sarcin respectiv la incrcare i descrcare: a a s a

44

1.3. PARAMETRII PORTILOR LOGICE

VI

90% 50% 10%

V IH

r pHL
VO
90% 50% 10%

f pLH

V IL Tciclu

V OH

V OL Tciclu

HL
a) VI Tciclu V OL

LH

V OH

VO

pHL
V OH
50%

pLH

50%

V OL Tciclu

b)

Figura 1.15 Denirea parametrilor de timp pe variatia semnalelor de la intrarea i ieirea unei porti inversor: a) modul de denire a intervalelor: r , f , s s HL , LH , pHL , pLH i Tciclu ; b) model simplicat pentru msurarea de pHL i pLH . s a s

CAPITOLUL 1. PORTI LOGICE

45

VO

vO t

G VO

vO C

vC VO 50% vC

t1 T

t2

t3

t t 1/2 T

a)

Figura 1.16 Modelul simplicat pentru circuitul de ieire al unei porti (a) s i variatia timp a tensiunii pe o sarcin capacitiv conectat la ieire s n a a a s (b). a) b) vC vC = = VO 1 e T VO e T
t t

(1.21)

unde T = R C (variatiile timp ale tensiunii de ieire de la 0V la V O i de la VO n s s la 0V sunt simetrice deoarece constantele de timp sunt egale). Timpul t 1 , la valoarea 2 tensiunii de ieire 50% VO , calculat cu relatiile 1.21, conform modelului simplicat s din Figura 1.15-b, este egal cu pHL , pLH . t 1 = pHL = pLH = RCln2 = 0.69 RC 2 Variatia simetric a tensiunii vc determin valori egale i pentru r i f . a a s s r = f = T = RC (ln10 ln 10 ) = 2.2 RC 9

Exemplul 1.8 Rezistenta de ieire a unei porti starea H este R1 = 2K iar s n n starea L este R2 = 25. Sarcina capacitiv pe ieire are valoarea de 100pF . arzierea a s Int intern pi este de 25ns. S se determine timpul de propagare p al portii. a a Solutie:
pLH pHL p = = = pi + R1 C ln 2 = 25ns + (2 103 )(100 1012 ) ln2 160ns pi + R2 C ln 2 = 25ns + (25)(100 1012 ) ln2 27ns pHL + pHL 27 + 160 = = 93.5ns 2 2

Factorii de arcare la intrare i la ieire. Factorul de arcare la innc s s nc trare (fan in, input loading factor) reprezint sarcina pe care o intrare o introduce a cnd este conectat la ieirea unei porti. Deoarece a a s ntr-o familie de circuite logice exist diferite porti cu numr diferit de intrri trebuie s se xeze care tip de intrare a a a a reprezint sarcina standard. general, se admite c sarcin este standard sarcina a In a a care corespunde unei intrri de la o poart NAND cu dou intrri (NAND2). a a a a

46

1.3. PARAMETRII PORTILOR LOGICE

functie de tehnologia de realizare a portilor sarcina de intrare se msoar In a a n mrimi zice diferite. Pentru tehnologia bipolar, unde comanda se face printr-un a a curent pe baza unui tranzistor, sarcina de intrare se msoar unitti de curent. Iar a a n a at pentru tehnologia CMOS, unde comanda se face tensiune pe o capacitate (echivan lent) de intrare, sarcina de intrare se msoar uniti de capacitate. a a a n at Figura 1.17 sunt prezentate notatiile i sensurile curentior de la intrarea i In s s ieirea portilor. Referitor la o born, care este un terminal al unei porti, unui curent s a care intr prin acea born i se asociaz semnul plus (+I), iar unui curent care iese a a a din acea born i se ataeaz semnul minus (-I); evident, simbolurile celor doi curenti a s a care intr i ies, la o aceeai born, au semne opuse. foaia de catalog a unei porti as s a In este specicat sarcina maxim (curent sau capacitate) pe care intrarea unei porti a a o prezint pentru nivelurile permise de tensiune H i L. O poart trebuie s poat a s a a a absorbi/genera la ieire un curent mai mare sau egal cu suma tuturor curentilor s necesari generati/absorbiti de ctre toate intrrile portilor care sunt conectate la acea a a ieire, dar acelai timp poarta trebuie s asigure la ieire i nivelurile garantate de s n s a s s tensiune pentru starea H i L. Cu aceste valori necesare pe o intrare i disponibile pe s s o ieire se poate determina un factor de arcare la ieire (fan-out, output loading s nc s

Curentii la intrare Nivel L IIL VI V IHmin V ILmax V ILmax VI + I IH Nivel H

V I V IHmin

Curentii la iesire Nivel L IIL + IOL IIL VO IOH V OHmin VO IIL VO V OLmax V OLmax VOHmin + IIH + IIH Nivel H + IIH

Figura 1.17 Explicativ pentru simbolurile i sensurile curentilor la ina s trarea (a) i ieirea (b) unei porti s s

CAPITOLUL 1. PORTI LOGICE

47

factor) att starea L, F IL ct i starea H, F IH conform relatiilor: a n a s n IOLmax ; IILmax IOHmax ; F IH = IIHmax F I = min {F IL , F IH } F IL =

(1.22)

Rezult c factorul de arcare maxim F I este egal cu valoarea minim dina a nc a tre F IL , i F IH . general, dac se consider c toate intrrile portilor au aceeai s In a a a a s sarcin atunci factorul de arcare maxim exprim numrul maxim de intrri comana nc a a a date de ieirea unei porti fr deteriorarea nivelurilor normale de tensiune. Acelai s aa s rationament, ca i pentru curenti, se poate face cnd sarcina este capacitiv (se deter s a a min numrul maxim de sarcini standard/unitare pe care le poate comanda o poart a a a pe ieire). s Pentru o poart, ideal, F I ar trebui s e innit dar realitate are valori de a a n ordinul unitilor pentru tehnologia bipolar i de ordinul zecilor pentru tehnologia at as ,, CMOS. Prin tria unui semnal se elege abilitatea de a absorbi sau genera un a nt curent. Cu ct un semnal este mai puternic cu att curentul generat sau absorbit a a este mai mare (prin conventie bara de alimentare V DD /VCC genereaz un curent iar a bara de mas 0V/VSS absoarbe un curent). Pentru portile logice ieirile sunt surse de a s nivelurile 1 sau 0 mai puternice dect intrrile. Liniile de alimentare V DD , VCC sau a a ,, VSS sunt sursele cele mai puternice de 1 logic i 0 logic. Un semnal poate arit , s nt adic s poat comanda mai multe intrri, prin intermediul unui buer/driver. Un a a a a buer este un circuit care spre deosebire de poart nu proceseaz logic semnalul, a a eventual inverseaz - buer inversor, dar prezint la ieire un F I mult mrit. Ca l a a s a 1 functie logic buerul neinversor este functia identitate f 1 , iar buerul inversor este a 1 functia f2 , vezi sectiunea 1.1.3 . Circuitele buer, general, sunt realizate grup n n de cte opt pe cip pentru a putea ari un cuvnt de 8 biti (1 byte). Unele porti au a nt a ,, pe ieire un etaj circuit buer, caz care sunt referite ca porti buerate . s n Exemplul 1.9 Pentru seriile de porti logice din familia TTL s se determine F I. a
Solutie. Curentii de ieire i intrare starea H i L, extrai din catalog sunt prezentati s s n s s Tabelul 1.8. n

Tabelul 1.8 Valorile curentilor pentru seriile de porti logice din familia TTL Seria 74 74S 74LS 74AS 74ALS depinde de circuit INTRARE nivel H nivel L IIHmax , A IILmax , mA 40 -1.6 50 -2.0 20 -0.36 20 -2,0 20 -0.1 IESIRE nivel H nivel L IOHmax , mA IOLmax , mA -0.4 / 0.8 16 -1.0 20 -0.4 8 -0.4 4/8 -0.4 8

48

1.3. PARAMETRII PORTILOR LOGICE

Pentru seria 74 (o poart din seria 74 comand porti tot din seria 74): a a 16mA IOLmax = = 10; IILmax 1.6mA IOHmax 800A F IH = = = 20; IIHmax 40A F I = min {20, 10} = 10 F IL = Pentru seria 74LS (o poart din seria 74LS comand porti tot din seria 74LS): a a IOLmax 8mA = = 22; IILmax 0.36mA 400A IOHmax = = 20; F IH = IIHmax 20A F I = min {20, 20} = 20 F IL = acelai mod se pot calcula factorii de arcare pentru seriile: 74S, 74AL i 74ALS. In s nc s De asemenea se pot calcula F I pentru cazurile cnd o poart dintr-o serie comand porti a a a din alt serie. a

Exemplul 1.10 O poart logic CMOS din familia 74HC cu o rezistenta de ieire a a s R = 300, genereaz o tensiune de ieire VO = 4.5V i are o arziere intern pi = 5ns. S a s s nt a a se determine numrul de porti de acelai tip care pot comandate de aceast poart astfel a s a a at timpul de propagare p s nu e mai mare de 40ns. nc a Solutie. Pentru portile CMOS sarcina pe intrare este capacitiv (o valoare aproape a standard a capacitii de intrare pentru o poart CMOS, realizat discret, este Cin = 5pF ), at a a curentul de intrare este neglijabil. De asemenea, se consider c procesul de arcare i a a nc s a descrcare al capacitii este simetric ca Figura 1.16-b deci pHL = pLH = t 1 . Rezult: a at n
2

p = pi +

pHL + pLH = 40ns 2

t 1 = 40ns 5ns = 35ns


2

Pentru p = 35ns sarcina comandat de poart poate egal cu a a a t 1 = 35ns = 0.69 RC C = 170pF
2

Numrul de porti comandate este 170pF = 34. a 5pF Se observ c mrimea sarcinii comandate de o poart CMOS determin valoarea tima a a a a pului de propagare p . Creterea timpului de propagare cu creterea sarcinii comandate este s s mult mai pregnant la portile CMOS dect la cele bipolare. a a

Consumul de putere. Consumul de putere Pd (puterea disipat) pentru portile a unei familii rezult ca o sum a a ntre dou componente una static P dcc i una dinamic a a s a Pdca , Pd = Pdcc + Pdca . 1. Consumul de putere regim static ( c.c.) se denete cu relatia: n n s Pdcc = PH + P L = 2 ICCH + ICCL 2 VCC (1.23)

care: ICCH , ICCL - sunt curentii absorbiti de poart de la surs starea H, n a a n respectiv L; VCC - tensiunea de alimentare a portii.

CAPITOLUL 1. PORTI LOGICE

49

De remarcat, c Pdcc este componenta principal de putere disipat la familia a a a TTL (tipic, 1mW/poart pentru seria 74ALS i jur de 8.5mW/poart pentru a s n a seria AS) pe cnd la tehnologia CMOS aceast component este neglijabil a a a a (tipic 2.5nW/poart pentru seria 74HC). a 2. Consumul de putere regim dinamic Pdca ( c.a.). Aceast component apare n n a a numai pe durata intervalelor de comutatie ntre cele dou niveluri logice i se a s evidentiaz sub dou forme: a a
V CC RC T C RE iC

Figura 1.18 Circuit echivalent (simplcat) al unei porti pentru calculul puterii Pdca (a) prima form, puterea disipat apare prin arcarea i descrcarea caIn a a nc s a pacitilor din circuit care, uneori pentru simplicare, se substituie cu o at singur capacitate echivalent C = capacitate intern din circuit + capaca a a itatea conexiunilor + capacitile de sarcin. Un circuit echivalent pentru at a calculul acestei puteri este prezentat Figura 1.18. Cnd contactul T n a (tranzistor) este comandat spre deschidere, ieirea comut din L H, cons a n densatorul C se ncarc prin rezistenta RC stocnd o cantitate de energie a a 1 2 nc a 2 CVCC . Pe durata procesului de arcare, cnd variatia curentului este t VCC T exprimat prin relatia ic = RC e , energia disipat pe rezistenta RC a a se calculeaz felul urmtor: a n a W =
0

i2 RC dt = c

V2 = CC RC

2 2t VCC CR C dt = e RC 0 t RC C CR 1 2 C e = CVCC 2 2 0 0

rezult c energia nu depinde de valoarea rezistentei R C . La comanda a a spre nchidere a contactului T, cnd ieirea comut din H L, energia a s a n 1 2 a a a 2 CVCC stocat pe condensatorul C este disipat pe rezistenta echivalent 1 a RC RE . Pe durata unei perioade T = f , a semnalului de comand, 2 2 energia consumat pe rezistentele RC i RE este 2 1 CVCC = CVCC . a s 2 Rezult c puterea disipat (energia unitatea de timp) pentru arcarea a a a n nc i descrcarea capacitii echivalente este exprimat de relatia: s a at a
2 Pdca = CVCC f

(1.24)

50

1.3. PARAMETRII PORTILOR LOGICE

(b) A doua form pentru puterea disipat regim dinamic apare datorit a a n a scurtcircuitrii sursei de alimentare la mas pe durata fronturilor de coa a mutatie. Pe durata acestor fronturi, cnd unele tranzistoare din structura a portii comut din blocat conductie iar altele din conductie blocare, ex a n n ist un interval scurt cnd toate tranzistoarele conduc (vezi Figura 1.22-e) a a ceea ce duce la scurtcircuitarea sursei la mas (pe unele trasee putnd exa a ista anumite rezistente), producnd vrfuri de curent (spike) linia (V CC ) a a n de alimentare a portii. Aparitia acestor vrfuri de curent pe linia de ali a mentare pot s provoace comutatii false la alte porti care se alimenteaz a a de la aceeai linie. Puterea disipat de scurtcircuit pe poart depinde de s a a valoarea de vrf a curentului de scurtcircuit, care este functie de tensiunea a de alimentare VCC , i depinde de frecventa f de aparitie a comutatiilor. s Se poate exprima puterea disipat de scurtcircuit printr-o relatie tot de a aceeai form ca 1.24, care se introduce o capacitate echivalent de s a n n a calcul a crei valoare nu depete 20% din valoarea capacitii echivalente a as s at utilizat pentru puterea disipat la arcarea i descrcarea capacitilor. a a nc s a at Practic, luarea calcul i a puterii disipate de scurtcircuit se face prin n s mrirea valorii capacitii din relatia 1.24. Puterea disipat de scurtcircuit a at a este cu att mai mic cu ct semnalele de comand au fronturi mai abrupte, a a a a adic f i r au valori ct mai mici. O regul practic spune c: durata a s a a a a fronturilor trebuie s e cel mult a zecea parte din timpul de propagare a (r , f < 10p ), pentru ca puterea disipat pe poart s nu o distrug prin a a a a creterea de temperatur. s a Pentru circuitele CMOS principala component de putere disipat este cea a a dinamic, relatia 1.24. Reducerea acesteia se poate realiza prin micorarea a s factorilor din aceast relatie special a tensiunii de alimentare care ina n troduce o dependenta ptratic. Si la portile tehnologie bipolar exist a a n a a 2 s componenta dinamic CVCC f , dar aceasta la frecvente joase i medii este a neglijabil fata de cea disipat regim static P dcc , relatia 1.23. a a n Exemplul 1.11 Valoarea tipic a puterii disipate c.c. pe o poart CMOS din seria a n a HC este de 2, 5nW (la VDD = 5V i 25 C) iar cazul cel mai defavorabil poate ajunge s n la 30W . Dac aceast poart este comandat la frecventa de 100KHz i la ieire sunt a a a a s s conectate zece porti de acelai tip, F I = 10, s se determine ct va puterea disipat pe s a a a poart. a Solutie. Pentru portile din seria HC catalog se specic sarcina pentru o intrare ca n a ind Cintr = 5pF iar capacitile interne totale se dau ca ind 22pF . Se obtine capacitatea at echivalent total care trebuie s e arcat i descrcat la ieirea portii a a a nc as a a s
C = 22pF + 10 5pF = 72pF Rezult puterea disipat regim dinamic : a a n
2 Pdac = CVDD f = 72 1012 52 105 = 180W

Aceast valoare a puterii disipate este de 105 ori mai mare dect valoarea disipat tipic a a a a regim de c.c. (2, 5nW ) i de 6 ori mai mare dect cazul cel mai defavorabil (30W ). n s a n

CAPITOLUL 1. PORTI LOGICE

51

Factorul de merit. Factorul de merit notat PDP (Power Delay Product) este un parametru sintetic, sensul c poate caracteriza poarta att din punct de vedere n a a al puterii disipate ct i din din punct de vedere al timpului de propagare i este a s s denit prin produsul dintre puterea disipat i timpul de propagare: as P DP [Joule] = Pd [W att] p [s] (1.25)

Acest parametru poate interpretat ca ind energia consumat pe decizie logic a a (pe comutatie). Exist porti logice care au un factor de merit de ordinul pJ sau chiar a mai mic, situndu-se sub valoarea factorului de merit corespunztor unui neuron! a a Dependenta ntre parametrii unei familii de circuite logice. Poarta logic a ideal ar trebui s prezinte simultan valori optime pentru toti parametrii: F I foarte a a mare, F IP = 50%, p = 0, Pd = 0, VH = VCC sau VDD , VL = 0V , V = VCC sau VDD . Pentru o astfel de poart inversor VTC-ul din Figura 1.14-b ar o caracteristic a a de tip releu (fr histerezis) cu panta innit la tensiunea de intrare V . Cel mai aa a 2 mult se apropie de o caracteristic ideal portile din tehnologia CMOS. practic a a In a optimizarea simultan a tuturor parametrilor este contradictorie. a Mrirea excesiv a lui F I atrage un curent absorbit de valoare mai mare de la a a surs determinnd deci mrirea lui Pd . Iar dac sarcinile comandate sunt capacitive, a a a a o mrime a acestora poate duce la creterea lui HL i LH semnalul de ieire. a s s n s Micorarea lui p implic fortarea regimului de comutatie prin mrirea tensiunii s a a VCC sau VDD sau prin micorarea rezistentei circuitului, ceea ce duce la curenti mari s absorbiti de la surs i consecinta o cretere a lui P d . Prin opozitie, micorarea lui a s n s s Pd prin scderea curentilor, ar duce la mrirea lui p . a a Creterea factorului de imunitate la perturbatii ar necesita un salt logic de tensis une cu valoare mrit ceea ce este posibil prin mrirea tensiunii de alimentare, deci, a a a implicit puterea disipat Pd crete foarte mult. Eventual, se poate mentine puta s erea disipat limite nepericuloase, pentru a nu se distruge circuitul prin alzire, a n nc dac simultan cu mrirea tensiunii de alimentare s-ar micora curentul prin mrirea a a s a rezistentelor dar aceasta ar duce la timpi de tranzitie foarte lungi deci creterea lui s p . Tendinta de optimizare simultan a tuturor parametrilor a ntre anumite limite rezonabile pentru aplicatii eciente a dus cadrul unei familii de circuite logice la n crearea unei serii standard; parametrii standard au valori cvasioptimale. paralel cu In seria standard, ntr-o familie de circuite logice, exist serii speciale care optimizeaz a a doar un singur parametru, ceilalti parametrii ind mentinuti limite acceptabile. n Astfel, exist: seria de vitez ridicat, seria de putere redus, seria de vitez ridicat a a a a a a i putere redus, seria cu imunitate sporit la perturbatii. Toate aceste serii ale unei s a a familii de circuite logice putnd variante pentru aplicatii civile cu gama de tema n pratur admisibil 0 C 70 C ct i variant militar cu gama de temperatur a a a s n a a a admisibil 55 C 125 C. a Portile logice pot exista e ca entiti separate sub forma unor circuite integrate at discrete, care sunt utilizate realizarea unor sisteme mai complexe, e pot exista n interiorul unui sistem complex realizat totalitate integrat. Pentru portile logn n ice realizate discret, care se interconecteaz exterior cu alte porti, respectarea a n parametrilor este foarte strict. schimb, pentru portile logice dintr-un sistem intea In grat unde interconexiunile ntre porti se fac siliciu, valorile parametrilor pot mai n putin restrictive.

52

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

1.4

PORTI LOGICE TEHNOLOGIA IN BIPOLARA

Elementele componente de circuit, pe care se bazeaz tehnologia bipolar, sunt a a jonctiunea semiconductoare (dioda) i tranzistoarele bipolare npn i pnp. Tehnologia s s de integrare bipolar este caracterizat prin vitez ridicat, densitate de integrare rela a a a ativ redus i consum de putere ridicat. Cu aceste caracterisitici tehnologia bipolar, as a de la introducerea ei, la nceputul anilor 1960, a fost tehnologia cea mai uzual pn a a a la nceputul anilor 1990. Incepnd cu mijlocul anilor 1980 au fost realizate progrese a tehnologia MOS i mai ales tehnologia CMOS ceea ce a dus ca anii 1990 n s n n tehnologia bipolar s e substituit cu cea CMOS. Dei, acum implementrile a a a s a n tehnologia bipolar sunt reduse, totui, minime cunotinte despre aceast tehnologie a s s a sunt necesare pentru aplicatii ocazionale cum ar operatii de depanare a unor sis teme existente i pentru aspecte de interfatare TTL/CMOS. Pentru sirea acestor s nsu minime cunotinte se vor prezenta continuare urmtoarele trei subiecte: inversorul s n a bipolar, porti TTL i porti pentru magistrale. s

1.4.1

Inversorul bipolar

Circuitul inversor este elementul de baz structura oricrui circuit logic dintr-o a n a familie de porti logice. Structura de inversor se poate identica structura oricrei n a porti i oricare poart logic se obtine dintr-un circuit inversor prin completare. Se s a a vor studia dou aspecte ale circuitului inversor: caracteristica static de transfer i a a s timpul de comutatie. Structura i caracteristica de transfer. Circuitul inversor, Figura 1.19-b, este s de fapt un etaj amplicator cu saturatie, cu sarcina colector, conexiunea emitor n n comun. Layout-ul pentru implementarea siliciu a inversorului este prezentat n n Figura 1.19-c. Tranzistorul npn este realizat, prin difuzie, ntr-o insul de tip n a n stratul epitaxial. La fel i rezistentele de baz R B i de sarcin RC sunt realizate prin s a s a difuzie insule de tip n din stratul epitaxial. n Caracteristica static de transfer VO = f (VI ) (fr arcare la ieire, gol) este a a a nc s n trasat prin linii drepte avnd ca puncte xe tensiunea de alimentare V CC i cele dou a a s a puncte de frngere P F 1 i P F 2, Figura 1.20. Punctele de frngere P F 1 i P F 2 se a s a s situeaz tocmai la limita de trecere a punctului de functionare al tranzistorului de la a regimul blocat la regimul activ (PF1), respectiv de la activ la regimul de saturatie (PF2). intervalul de variatie a tensiunii de intrare V I = [0, VIL ) tranzistorul este blocat, In tensiunea de ieire este constant VO = VOH = VCC , iar caracteristica VO = f (VI ) s a este o dreapt orizontal. a a punctul de frngere P F 1 tensiunea de intrare devine egal cu V BE(on) , tranzisIn a a torul intr conductie, iar caracteristica de transfer se aproximeaz continuare cu a n a n o dreapt ce unete punctele P F 1 (VIL , VCC ), P F 2 VIH , VCE(sat) . a s punctul de frngere P F 2 este In a nceputul regimului de saturatie pentru care tensiunea de intrare are valoarea: VI = VIH = VBE(sat) + VCC VCE(sat) 1 RB RC

CAPITOLUL 1. PORTI LOGICE


VCC=5V RC 1k RB 10k B C Vout F =70 VBE(on) =0,7V VBE(sat)=0,8V VCE(sat)=0,1V

53

Vin

a)

b)

Vin p+

RB n

10m

10m 5 m Vout

p E p+ B C VCC

c)

substrat p n (Emitor) p (Baza) n+ strat ingropat

p+ p n p+

RC

n epitaxie (Colector)

Figura 1.19 Circuitul inversor: a) simbol; b) structura circuitului; c) layout-ul n siliciu (substrat de tip p). O cretere continuare a tensiunii de intrare V I peste VIH produce o micorare s n s nesemnicativ a tensiunii de ieire, caracteristica de transfer este o dreapt orizontal a s a a VOL = VCE(sat) . Panta caracteristicii VO = f (VI ) prezint numai dou valori. Valoarea zero cnd a a a inversorul este starea H sau L i o valoare ridicat A V = VO zona de trecere n s a n VI ntre cele dou stri. reprezentarea idealizat din gur punctele de frngere apar a a In a a a la intersectia acestor drepte, dar ntr-o reprezentare exact aceste puncte s-ar aa pe a o curb, care ar racorda aceste drepte, unde panta ar unitar |A V | = 1. Aceast a a a caracteristic exact se plaseaz interiorul benzii punctate din Figura 1.14-b. a a a n Punctul de functionare al inversorului trebuie s e doar cele dou zone: blocat a n a sau saturat. Trecerea ntre cele dou zone cnd tranzistorul este regimul activ, a a n specic functionrii circuitele analogice, trebuie s se realizeze a n a ntr-un timp ct a mai scurt; de fapt, aceast trecere ar corespunde, pe Figura 1.13, intervalului interzis a de tensiuni. Timpii de comutatie ai inversorului. Timpii de comutatie ai tranzistorului

54
VO[V] Blocat Activ VCC=V OH 5 4 3 2 VOL =V CE(sat) 1 PF1 Av= Vo VI Saturatie

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

VI

VO VOH = V CC PF1

VIH = V BE(sat) + PF2 1 VIH 2 VIL =V BE(on) 3 4

1 VCC VCE(sat) R B RC VCE(sat) 5 VI [V]

VIH VIL = V BE(on) PF2 VOL= V CE(sat)

Figura 1.20 Caracteristica de transfer, VO = f (VI ) pentru un inversor bipolar la functionarea gol n din blocat saturatie i din saturatie blocat nu sunt egali, ceea ce determin n s n a valori diferite pentru pHL , pLH (pLH > pHL ). raport cu timpul de comutatie In direct, din regimul blocat a nspre saturatie, timpul de comutatie invers, din regimul a de saturatie nspre blocare, este mai mare. Aceast diferenta apare datorit procesului a a de eliminare a sarcinii stocate surplus baz, cnd tranzistorul este saturatie, n n a a n fata de sarcina din baz cnd tranzistorul este regim activ direct. regim de a a n In saturatie se injecteaz baz purttori majoritari att din emitor ct i, surplus, a n a a a a s n din colector deoarece ambele jonctiuni sunt polarizate sens direct. Eliminarea n sarcinii surplus din baz necesit un timp s (timp de saturatie). Deci timpul de n a a comutatie invers, la un tranzistor saturatie, fata de timpul de comutatie invers a n a al unui tranzistor regim activ direct este mai mare cu valoarea s , vezi Figura n 1.21-a. Figura reprezint variatia tensiunii de comand v I a inversorului (o variatie a a dreptunghiular) i variatia tensiunii v O la ieirea inversorului. aceast gur a s s In a a timpii respectivi au urmroarele semnicatii: a - d = t1 t0 , timpul de arziere. Este timpul necesar pentru creterea tensiunii nt s aplicate pe jonctiunea emitoare i colectoare. Deoarece aceste jonctiuni sunt s zone srcite de purttori acestea se comport ca nite condensatoare, deci este aa a a s timpul de arcare al acestor condensatoare; nc - f = t2 t1 , timpul de coborre (fall time). Este determinat, mai ales, de timpul a de tranzit al purttorilor prin baz; a a - s = t4 t3 , timpul de saturatie. Timpul necesar pentru eliminarea sarcinii n surplus stocat baz; a n a - r = t5 t4 , timpul de cretere. Similar cu f dar acum trebuie anulati purttorii s a din baz pentru c tranzistorul se comand spre blocare. a a a Micorarea lui pLH se poate realiza dou modaliti. Prima, const fortarea s n a at a n comenzii pe baza tranzistorului prin suprapunerea unei componente derivative de curent peste curentul de baz de comand normal. Condensatorul C conectat a a n paralel cu rezistenta de baz RB , Figura 1.21-b, formeaz cu rezistenta echivalent a a a

CAPITOLUL 1. PORTI LOGICE

55

"1" vI "0" t 0 d "1"


50%

V CC t3 RC C

vO

t1

f
t2

s
t4

r
t5 vI RB vO

"0"

d f s r

Valori comparative [ns] Tranzistorul: saturat cu DS

0,7 4,2 24 15

0,8 4,4 0,0 13

pHL
a) V CC
RC UBC = U DS C DS B UBE UCE B

pLH
b) vI

cu : VOH (t 1) = VOH (t 5) = 5V R C = 1K

c)
C DS

t t1 t3 E SiO 2

metalizare

B E

UCE E

cu DS fara DS t

vI

n+ p Baza Colector

n+ n DS

s
d) e) f)

Figura 1.21 Inversorul bipolar: a) denirea timpilor care caracterizeaz procea sul de comutatie; b) inversor cu fortarea comenzii prin producerea unei componente derivative curentul de baz; c) valori pentru parametrii de timp la un tranzisn a tor normal i la un tranzistor Schottky; d,e,f) realizarea unei structuri de tranzistor s Schottky.

56

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

baz emitor RBE a tranzistorului un circuit derivativ, deci genereaz componenta de a a fortare (derivativ) curentul de comand din baz. a n a a A doua modalitate se realizeaz prin utilizarea unui tranzistor Schottky, care se a obtine prin conectarea ntre baz i colectorul unui tranzistor normal a unei jonctiuni as metal-semiconductor, adic o diod Schottky, DS, Figura 1.21-d. Implementarea a a unei astfel de diode acel loc se realizeaz, procesul de fabricare al tranzistorului, n a n extrem de simplu i practic fr cost, prin extinderea metalizrii (Al aluminiu sau s aa a Pt platin) de contact a terminalului bazei B i peste zona semiconductoare de tip n a s a colectorului. Extinderea metalizrii, zona a ncercuit din Figura 1.21-f, formeaz la a a interfata metal-colector o diod Schottky Aln sau P tn. Tensiunea la polarizare direct a a a unei diode Schottky este VDS = 0, 4V . Conectnd o astfel de diod a a ntre baz i as colector (deci paralel cu jonctiunea colectoare) tensiunea pe jonctiunea colectoare n nu va putea cobor cu mai mult de 0, 4V sub tensiunea bazei tranzistorului, rezult a c tranzistorul nu mai poate intra saturatie, nu se mai injecteaz din colector a n a sarcin surplus (fata de regimul nesaturat) baz, deci s devine zero. Cu valorile a n n a tensiunilor din Figura 1.19-b se pot face urmtoarele calcule: a - fr diod Schottky: VBC = VBE(sat) VCE(sat) = 0, 8V 0, 1V = 0, 7V , aa a tensiune ce comand jonctiunea baz colector conductie, tranzistorul este a a n n saturatie; - cu diod Schottky VCE = VBE(sat) VDS = 0, 8V 0, 4V = 0, 4V tranzistorul a nu este saturatie (tensiunea de deschidere a unei jonctiuni este de 0, 7V ). n Valori pentru timpii de comutatie, deniti mai sus, sunt prezentate tabelul din n Figura 1.21-c, att pentru un tranzistor normal ct i pentru un tranzistor Schottky. a a s seriile de porti logice din tehnologia bipolar, cu exceptia seriei standard initial, In a a toate tranzistoarele de comutatie sunt tranzistoare Schottky ceea ce este indicat prin litera S codul seriei respective. n

1.4.2

Porti logice TTL

Poarta NAND cu dou intrri. Seria standard 74XX de porti logice din a a familia de circuite logice TTL (Transitor-Transitor-Logic) a fost introdus de rma a Sylvania 1963, dezvoltat i comercializat de Texas Instruments. De fapt, la poarta n as a NAND cu dou intrri integrat s-a ajuns pornind de la structura de poart NAND a a a a cu dou intrri DTL (Diode-Transistor-Logic) care era deja realizat cu componente a a a discrete, Figura 1.22-a. Poarta DTL este compus dintr-un circuit MIN cu diode, ca a n Figura 1.11-a, care realizeaz operatorul AND logic pozitiv, i la ieirea cruia a n a a s s a s-a ataat un inversor realizat cu trazistorul T2. Diodele D3 i D4 sunt introduse s s divizorul format de R1 i R2 , conectat n s ntre +5V i 2V , pentru a produce o s coborre a nivelului de tensiune pe baza tranzistorului T2, asigurnd o blocare sigur. a a a Structura DTL a evoluat structura TTL prin integrarea diodelor D1, D2, D3 sub n forma unui tranzistor multiemitor T1, Figura 1.22-b. La aceast structur s-a adugat a a a un etaj de ieire (totem-pole) compus din tranzistoarele T3 i T4, Figura 1.22-c, s s obtinndu-se structura standard de poart NAND cu dou intrri (7400). Aceast a a a a a structur se compune din circuitul AND de intrare, circuitul defazor, realizat pe a tranzistorul T2, pentru comanda tranzistoarelor T3 i T4 din etajul de ieire. s s

CAPITOLUL 1. PORTI LOGICE


VCC = +5V R1 A B D1 D3 D2 D4 R2 5 V BB = 2V F T2 VCC = +5V R1 A T1 B VCC = +5V R1 4K F T2

57

R3 4

R3

R3 1,6K

R4 130 T4 D T2 F T3

D4 R2

T1 R2 1K

D4

D5 Circuit AND

Defazor

a)
VO 5 4 [V]

b)

c)

Etaj de iesire

V OH 3 2 1 V OL

PF1 (0,6V;3,6V) T2 intra in conductie

V BE(on) = 0,7V V BE(sat) = 0,8V V CE(sat) = 0,1V

interval VOH PF1 PF1 PF2

T1 saturat

T2 blocat

T3 blocat

T4 saturat

PF2 (1,3V;2,5V) T3 intra in conductie

saturat

conduce

blocat

conduce

PF2 PF3

Toate tranzistoarele conduc in regim activ normal activ invers saturat saturat blocat

PF3 (1,5V;0,1V) T3 intra in saturatie 1 V IH 2 3 4

VI 5 [V]

PF3

d)

e)

Figura 1.22 Poarta TTL standard: a) structura potii DTL; b) structura initial a a portii TTL; c) structura (standard) pentru poarta 7400-NAND2; d) caracteristica static de transfer i regimurile de functionare ale transiztoarelor pentru poarta 7400. a s Diodele D4 i D5 pe intrare sunt pentru protectia s mpotriva supratensiunilor negative care pot apare la intrare. Existenta acestor diode va produce scurtcircuitarea la mas a oricrei tensiuni negative fata de masa aplicat pe intrare i care valoare a a a s n absolut este mai mare dect tensiunea de deschidere a diodei ( 0, 7V ). a a Caracteristica static de transfer a portii se poate trasa prin segmente de dreapt, a a la fel ca cea a inversorului din Figura 1.20, calculnd punctele de frngere. Calculul a a acestor puncte de frngere este realizat [Toace 96]. Cu intrarea B legat la VCC = a n s a 5V iar tensiunea VA pe intrarea A parcurge intervalul [0, VCC ] se obtin urmtoarele a puncte de frngere: a - cnd VA = 0. T1 conduce, T2 este blocat, T4 conduce iar ieirea este starea a s n H, VOH = 3, 6V ; - P F1 (0, 6V ; 3, 6V ) cnd VA = 0, 6V . T1 conduce iar T2 intr conductie, T4 a a n conduce;

58

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

- P F2 (1, 3V ; 2, 5V ) cnd VA = 1, 3V , T1 i T2 conduc iar T3 intr conductie, a s a n T4 conduce; - P F3 (1, 5V ; 0, 1V ) cnd VA = 1, 5V . T1 conduce regim activ inversat, T2 i a n s T3 conduc saturatie iar T4 este blocat, ieirea este nivel L. n s n intervalul dintre P F2 i P F3 conduc toate tranzistoarele, sursa este conectat la In s a mas prin rezistentele circuitului, puterea disipat corespunde componentei dinamice a a de scurtcircuit. Se recomand ca parcurgerea acestui segment de caracteristic s se a a a realizeze ntr-un interval de timp ct mai scurt ceea ce impune ca fronturile tensiunii a de intrare VI s e ct mai abrupte. a a Cnd T2 i T3 conduc saturatie, tensiunea de comand pe T4 este V BET 4 = a s n a VBE(sat)T 3 + VCE(sat)T 2 VCE(sat)T 3 = VBE(sat)T 3 = 0, 8V , ceea ce ar determina intrarea conductie i a acestui tranzistor. Pentru a n s mpiedica conductia lui T4, n emitorul su, se introduce dioda D i astfel tensiunea de 0, 8V nu este sucient s a s a a deschid cele dou jonctiuni a a nseriate (jonctiunea BE(T4) + dioda D). starea H, VOH = 3, 6V , poarta genereaz un curent la ieire, de la sursa V CC In a s prin R3 i T4, pentru intrrile portilor comandate, iar starea L, V OL 0, 1V , poarta s a n absoarbe la mas, prin tranzistorul T3, curentii de pe intrrile portilor comandate. a a Seriei standard 74XX i s-au adus mbuntiri, pe baza progreselor din domeniul a at tehnologic de integrare, obtinndu-se serii cu performante mai ridicate. Prima nou a a serie obtinut, dup cea standard, a fost seria Schottky 74SXX care utilizeaz a a a pentru comutatie tranzistoare Schottky. Apoi, combinnd tranzistoarele Schottky a simultan cu creterea rezistentelor, pentru micorarea curentilor, s-a obtinut seria s s TTL Schottky de putere redus (Low-Power Schottky) notat prin 74LSXX. a a Urmtoarea serie a fost Schottky a mbuntit (Advanced Schottky TTL) noa at a tat prin 74ASXX, care ofer vitez dubl fata de 74SXX, dar la aceeai putere a a a a s disipat. Seria a mbuntit a fost perfectionat contiuare pentru a se reduce a at a a n puterea disipat i s-a obtinut seria Schottky as mbuntit de putere redus a at a a (Advanced-Low-Power-Schottky TTL) notat 74ALSXX. Cu performante de a mediere ntre seriile AS i ALS s-a realizat seria rapid (Fast TTL) notat 74FXX s a a i care este probabil cea mai popular din familia TTL, pentru cerintele de vitez s a a noile sisteme, la ora actual. Suxul XX din notatia acestor serii este un numr n a a zecimal i constituie codul portii respective, o poart cu acelai XX, indiferent de s a s serie, realizeaz aceeai functie logic. De exemplu, poarta logic NAND cu dou a s a a a intrri (NAND2) are urmtoarele referiri functie de seria care este implemena a n n tat: 7400 (seria standard), 74S00, 74LS00, 74ALS00,74F00. Parametrii portilor din a seriile familiei TTL sunt prezentati Tabelul 1.9. n O alt famillie de circuite logice tehnologia bipolar, i care se prezint la fel a n a s a sub form de circuite integrate discrete, continnd diferite tipuri de porti este ECL a a (Emitter-Coupled-Logic). Circuitele ECL sunt caracterizate prin viteze foarte ridicate ajungnd pn la 0, 5ns pentru timpul de propagare. Viteza sporit la comutatie a a a a se obtine tot prin evitarea regimului de saturatie al tranzistorului dar nu prin tranzis tor Schottky ci prin comutarea de curent ntre dou canale. Structura de baz este a a cea de amplicator diferential cu un generator de curent emitor (de unde i den n s umirea de cuplaj prin emitor) iar curentul este comutat ntre cele dou ramuri ale a amplicatorului diferential [Toace 1996]. s familia ECL exist dou serii: 10K i 100K, seria 100K avnd performante In a a s a m-

CAPITOLUL 1. PORTI LOGICE

59

Tabelul 1.9 Parametrii seriilor din familia TTL Seriile familiei TTL 74LS 74AS 74ALS 9 1.7 4 2 8 1.2 18 13.6 4.8 0.8 0.8 0.8 0.5 0.5 0.5 2.0 2.0 2.0 2.7 2.7 2.7 -0.4 -0.5 -0.2 8 20 8 20 20 20 -400 -2000 -400 15 4.5 11 15 4 8

Simbol parametru p [ns] (NAND2) Pd [mW] (NAND2) PDP [p] (NAND2) VILmax [V] VOLmax [V] VIHmin [V] VOHmin [V] IILmax [mA] IOLmax [mA] IIHmax [ A] IOHmax [ A] pLHmax [ns] pHLmax [ns]

74 10 10 100 0.8 0.4 2.0 2.8 -1.6 16 40 -800 22 15

74S 3 19 57 0.8 0.5 2.0 2.7 -2.0 20 50 -1000 4.5 5

74F 3 4 12 0.8 0.5 2.0 2.7 -0.6 20 20 -1000

buntite fata de seria 10K. Iat valorile ctorva parametrii din seria 100K: tensiunea a at a a de alimentare VEE = 4, 5V ; salt de tensiune ntre niveluri V = 0, 8V , p = 0, 75ns, Pd = 40mW , P DP = 30. aplicatii portile acestei familii nu sunt compatibile cu In portile din familia TTL sau CMOS. Portile ECL si gsesc locul sisteme logice i a n s de interfata de vitez foarte ridicat, evident cu un consum mare de putere, cum ar a a supercalculatoarele sau comunicatiile de mare vitez pe cablu sau br optic (retele a a a ATM-Asynchronous Transfer Mode, Gigabit Ethernet). Tot o tehnologie bipolar este cea referit ca logic integrat de injectie, I 2 L a a a a (Integrated Injection Logic) care raport cu tehnologia TTL a permis o anumit n a mbuntire a compromisului vitez-putere disipat i a densitii de integrare pentru a at a as at circuitele VLSI, dar care timp, s-ar prea c, iese din utilizrile curente. n a a a Tehnologii alternative non-silicon sunt cele arseniur de galiu,GaAs, sau cele n a cu jonctiuni Josephson. Dispozitivele GaAs au vitez de comutatie cam de cinci n a ori mai ridicat dect cele care se pot obtine Si, sunt mai rezistente la radiatii dar a a n au un proces de fabricatie mai complicat, consecinta sunt mai scumpe (mobilitatea n electronului siliciu poate ajunge pn la n = 1500cm2 /V s pe cnd GaAs n a a a n este n = 8500cm2 /V s). Caracteristici tipice pentru GaAs sunt p < 200ps, Pd = 0, 2mW/poart; exist implementri de circuite integrate GaAs dar nu exist serii a a a n a de porti sub form de circuite integrate discrete. Dispozitivele Josephson ofer p = a a 1 10ps,Pd = 1 10mW/poart dar functioneaz la temperaturi foarte sczute. a a a Oricum, recentele dezvoltri de materiale semiconductoare la temperaturi obinuite a s promit utilizarea acestor dispozitive viitor. n

1.4.3

Porti pentru magistrale

Realizarea conectrii, pentru comunicare, ecare cu ecare (punct-la-punct) a n a a ntre aceste puncte. Evitarea puncte dintr-un sistem, necesit n(n1) legturi distincte a 2 acestor multor legturi distincte se poate prin realizarea unei magistrale. O magistral a a este o cale de transfer a informatiei/semnalelor sub form de cuvnt. Rezult c prima a a a a

60

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

caracteristic a magistralei este limea sa egal cu lungimea cuvntului, deci pentru a at a a transferul paralel a cuvntului de n biti magistrala este compus din n conductoare. a a general lungimile uzuale de cuvnt sunt de : 8 biti-1byte, 16 biti-semicuvnt, 32 In a a biti-cuvnt, 64 biti-dublu cuvnt. a a La o magistral de n biti se conecteaz toate elementele unui sistem att cele care a a a sunt emitatoare (talker) ct i cele care sunt receptoare (listener); uneori un element a s poate avea functionare att de emitator ct i de receptor, dar nu simultan. Regula de a a s functionare magistral este: la un moment dat pe magistral poate exista cel mult n a a un singur emitator activ, dar nu este limitat, teoretic, numrul receptorilor. Aceast a a regul impune: dac sunt mai multe emitatoare legate la magistral cnd unul dintre a a a a acestea este activ ( nscrie informatie pe magistral) celelalte s e inactive, adic din a a a punct de vedere electric s e deconectate. Pentru o astfel de functionare portile de pe a ieirea emitatorului trebuie s poat conectate sau deconectate la liniile magistralei s a a dup cum emitatorul este activ sau inactiv. Pe o linie de magistral, la care este coneca a tat ieirea portii emitatorului activ, pentru ieirile portilor emitatoarelor inactive i a s s s intrrile portilor receptoarelor, conectate la aceiai linie, trebuie realizate specicatiile a s electrice care formeaz suportul nivelurilor logice de 0 i 1. Pentru realizarea acestor a s specicatii poarta normal este modicat structura sa obtinndu-se poarta cu a a n a colectorul gol sau poarta TSL. n
Linii de magistrala V CC Poarta 1 R4 130 T4 D T3 H L
Traseu de scurtcircuit

V CC Linie de magistrala Poarta cu colectorul in gol

Poarta 2 R4 130 T4 D T3

Poarta 1 Poarta 2 L L L H (scurt) H L (scurt) H H

T3

C Simbol

a)

b)

c)

Figura 1.23 Poarta cu colectorul gol: a) traseul de scurtcircuitare la n conectarea comun a ieirilor portilor TTL pentru conditiile logice specicate n s n tabelul (b); c) structura etajului de ieire la poarta cu colectorul gol. s n Poarta cu colectorul gol. Prin conectarea ieirilor a dou sau mai multor n s a porti TTL, care au etajul de ieire contratimp (totem pole), la aceeai linie de s n s magistral, Figura 1.23-a, i dac dou sau mai multe dintre aceste porti au la ieire a s a a s strile logice opuse atunci sursa VCC va scurtcircuitat la mas pe un traseu format a a a din T4 i T3 de la porti diferite. Pentru eliminarea posibilitii de aparitie a traseului s at

CAPITOLUL 1. PORTI LOGICE

61

de scurtcircuit, la conectarea mpreun a ieirilor de la mai multe porti, este necesar a s a se modica structura etajului de ieire. acest sens, din etajul de ieire se elimin s In s a repetorul pe emitor T4 rmnnd numai tranzistorul T3 al crui colector, la ieire, a a a a s este gol obtinndu-se poarta denumit cu colectorul gol, Figura 1.23-c. n a a n Colectorul gol al tuturor portilor se leag n a mpreun (cableaz),Figura 1.24-a i a a s apoi se conecteaz printr-o rezistenta comun la sursa de alimentare. Potentialul pe a a colectorul comun, linia de magistral, va starea H numai cnd toate portile au a n a ieirea stare H i va stare L cnd cel putin una din porti are ieirea starea s n s n a s n L. Aceast conexiune (cablare), conventia de logic pozitiv, realizeaz functia SI, a n a a a de unde i denumirea de SI-cablat (wired AND), iar logic negativ functia SAUs n a a cablat. Se poate obtine i logica pozitiv functia SAU-cablat iar logic negativ s n a n a a ,, SI-cablat dac etajul de ieire nu se elimin tranzistorul care trage sus ieirea a n s a n s ,, la nivelul H (pull-up transistor) ci se elimin tranzistorul care trage jos ieirea la a n s nivelul L (pull-down transistor), ca cazul portilor din familia ECL. n
V CC Linie de R magistrala VR VI VO V CC + R1 T1 Poarta 1 Poarta N Poarta m T3 SI cablat 4K R1 V IL max V OL max V CC V CC V OH min V IH min MH In starea V L In starea H V V RH V RL

Poarta 1 T3

4K

ML

a)

b)

Figura 1.24 Explicativ pentru calculul rezistentei comune R: a) cablarea a portilor cu colectorul gol n ntr-o conexiune SI-cablat; b) reprezentarea cderilor de a tensiune pe rezistenta comun pentru starea H i L. a s Calculul rezistentei comune R, din colector, Figura 1.24, se face pentru asigurarea nivelurilor logice de tensiune garantate la ieire i a nivelurilor de tensiune permise s s la intrare, cu respectarea marginilor de zgomot M H , ML conditiile de variatie ale n tensiunii de alimentare VCC V . Pentru nivelul H la ieire, care se obtine cnd s a toate cele m porti emitatoare au ieirea starea H, cderea de tensiune V RH pe s n a rezistenta comun nu trebuie s produc o scdere a tensiunii de ieire sub valoarea a a a a s minim garantat VOHminim . a a Rmax (m IOHmax + N IIHmax ) [VCC V (VIHmin + MH )]

62 rezult a

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

Rmax

VCC V (VIHmin + MH ) m IOHmax + N IIHmax

(1.26-a)

Pentru nivelul L la ieire, care se obtine cnd cel putin o poart emitatoare este s a a stare L, cderea de tensiune VRL trebuie s determine o scdere a tensiunii de n a a a ieire sub valoarea maxim garantat VOLmax : s a a Rmin (IOLmax N IILmax ) [VCC + V (VILmax ML )] rezult a Rmin VCC + V (VILmax ML ) IOHmax N IILmax (1.26-b)

Deci rezistenta comun de colector se alege urmtoarele intervale de valori: a n a Rmin R Rmax (1.26-c)

O utilizare curent a portilor cu colectorul gol este comanda unor sarcini externe a n ca de exemplu becuri, LED-uri, bobine, relee sau rezistente. Exemplul 1.12 O utilizare foarte frecvent a conexiunii SI-cablat apare la implea mentarea sistemului de ntreruperi multiple de la microprocesoare. Microprocesorul (P ) posed un singur terminal IRQ (Intrerupt ReQuest, cerere de a ntrerupere) pe care este stiintat c unul sau mai multe din periferice solicit acel moment o cerere de n a a n ntrerupere a prin activarea ( starea L) a semnalului IRQi L . Pentru c toate semnalele IRQi L se n aplic pe acelai IRQ, acestea formeaz un SI-cablat, deci toate ieirile corespunztoare de a s a s a la periferice trebuie s e cu colectorul gol, Figura 1.25. a n
Microprocesor ( P) IRQ IRQ3_L Periferic 3 V CC R IRQ4_L Periferic 4 SI cablat

IRQ1_L Periferic 1

IRQ2_L Periferic 2

Figura 1.25 Sistemul de ntreruperi multiple, pe intrarea de cerere ntrerupere IRQ a unui microprocesor, realizat printr-o conexiune SIcablat a portilor cu colector gol de la ieirea perifericelor. n s

Exemplul 1.13 Folosind circuitul 74ALS136, patru porti SAU EXCLUSIV cu dou a intrri, cu colectorul gol, s se realizeze un detector pentru cuvntul de patru biti: a n a a b3 b2 b1 b0 = 1001. Rezultatul operatiei de detectare comand 5 circuite 74ALS136. a

CAPITOLUL 1. PORTI LOGICE

63

Solutie. O poart SAU EXCLUSIV va avea ieirea starea H numai cnd cele dou a s n a a intrri sunt diferite. cazul cnd ieirile formeaz un SI-cablat nivelul de ieire este H (se a In a s a s detecteaz cuvntul b3 b2 b1 b0 = 1001) numai dac pe cea de a doua intrare a portilor este a a a aplicat cuvntul 0110, ceea ce rezult din relatia (b3 0) (b2 1) (b1 1) (b0 0) = 1, Figura a a 1.26.

V CC 74ALS136 b3 SI cablat b2 V CC b1 V CC b0 R

Figura 1.26 Comparator pentru cuvntul b3 b2 b1 b0 = 1001 a


Se dau urmtoarele date VCCmin = 4, 5V , VCCmax = 5, 5V , MH = 0V , ML = 0V , a m = 4, N = 5 iar din Tabelul 1.9 se citesc parametrii: IOLmax = 8mA, IOHmax = 400A, IIHmax = 20A, IILmax = 0, 2mA, VOHmin = 2, 7V , VOLmin = 0, 5V . Aplicnd relatiile 1.26 rezult pentru rezistenta comun o valoarea intervalul a a a n 714 R 1050.

Exemplul 1.14 Circuitul 7406 este un hex buer neinversor cu colectorul gol ce n poate comanda tensiuni de maxim 30V i absorbi un curent IOLmax = 40mA. S se comande s a un bec (cu lament) de semnalizare cu Un = 14V , In = 80mA cnd este alimentat de la o a tensiune V = 20V .
V = 20V ON / OFF 1/3 din 7406 14V 80mA R 75 1/3 din 7406 ;0,5W D C 0,33 uF

Figura 1.27 Comand realizat cu buerul cu colectorul gol 7406 a a n


Solutie. Deoarece curentul In > IOLmax trebuie s se conecteze paralel dou buere a n a (1/3 din 7406), Figura 1.27. Pentru preluarea cderii de tensiune V = 20V 14V = 6V se a

64

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

6V a a nseriaz cu becul o rezistenta R = 80mA = 75, puterea disipat pe aceast rezistenta este a V 2 = 0, 48W , deci se alege o rezistenta de 75 care admite o putere disipat de 0, 5W . a R Pentru ca salturile de curent generate la comutarea buerelor s nu produc zgomot, a a pe linia de alimentare de la surs (vezi 1.6.2.4), se recomand conectarea, ca ltru, a unui a a condensator cu tantal de 0, 33F pentru ecare grup de 4 circuite 7406. plus, pentru ca In inductivitatea lamentului L s nu produc supratensiuni periculoase pentru tranzistorul de a a ieire al buerului, se recomand ca paralel cu becul s se conecteze o diod D de protectie s a n a a di (supresoare, amplitudinea tensiunii electromotoare generat pe inductivitate, L dt , va a limitat la valoarea tensiunii pe dioda de protectie, 0, 8V ). a

Dezavantajele portilor cu colectorul gol sunt: n - Deoarece impedanta de ieire starea H este mare (R > R T 4 ) rezult pentru s n a durata fronturilor LH i a timpilor de propagare, pLH , la tranzitia din L H, s n valori mult mai mari dect la portile normale (care au tranzistorul T4). a - Imunitate mai sczut la zgomot i necesit o rezistenta comun R calculat de a a s a a a ecare dat functie de circuit, valori uzuale a n ntre 470 i 4, 7K. s Poarta cu trei stri logice, TSL (Three-State-Logic). Structura portii a TSL se obtine prin completarea portii normale TTL, Figura 1.22-c, cu dioda D1 i s a inversorului I ca Figura 1.28-a. Cnd semnalul de validare a ieirii, OE L n a s (Output Enable) este activ, pe emitorul E2 i pe catodul lui D1 tensiunea aplicat s a este H, deci poarta functioneaz normal, ieirea este validat i poate starea L a s as n sau H dup cum este valoarea logic aplicat pe intrarea A. Dac OE L nu este activ, a a a a este nivelul H, atunci tensiunea de valoare L de la ieirea inversorului aplicat pe: n s a emitorul E2 va duce la blocarea tranzitorului T3 din etajul de ieire i aplicat pe s s a catodul diodei D1 va comanda conductia acesteia, deci semnal L pe baza lui T4, ceea
V CC =+5V

R1 4K

T1 E2

R2 1,6K T2

R4 130 T4 D1 D F T3

A OE_L

F +5V

E1

OE_L A 0 1 0 1 OE_L F = A 0 0 1 1 1 0 HZ HZ

OE_L

R2 1K I

a)

b)

Figura 1.28 Poarta TSL: a) schem electric; b) echivalarea portii TSL cu o poart a a a normal avnd un contact pe ieire (comandat de semnalul de validare OE L). a a s

CAPITOLUL 1. PORTI LOGICE

65

ce duce i la blocarea tranzistorului T4 din etajul de ieire; ambele tranzistoare din s s etajul de ieire sunt blocate. s Poarta genereaz la ieire (numai!) cele dou stri logice H sau L cnd comanda de a s a a a validare este activ OE L = 0, iar cnd comanda de validare este inactiv OE L = 1 a a a poarta are cele dou tranzistoare T 3, T 4 blocate. Ultima stare, cu T3, T4 blocate, a nu este o stare logic comandat, prin semnalele logice aplicate pe intrrile portii, a a a aceasta este denumit stare de a nalt impedant HZ (High Z). starea HZ a a In potentialul pe ieirea portii este xat de potentialul care exist pe linia de magistral s a a la care aceast ieire este conectat (i nu de ctre poarta TSL). Potentialul pe linia a s a s a de magistral este fortat 0 sau 1 de ctre o alt poart legat la aceea linie de a n n a a a a magistral, poart care este comandat starea normal de functionare. Dac pe a a a n a a linia de magistral nivelul fortat este H atunci trazistorul T4 de la o poart TSL a a n HZ va genera un curent de maxim ordinul A, iar dac nivelul pe linia de magistral a a este fortat L atunci tranzistorul T3 de la o poart TSL HZ va absorbi un curent n a n maxim de ordinul A. Cu aceste valori foarte mici ale curentilor absorbiti sau generati de poarta TSL HZ se poate considera c poarta, electric, este deconectat de la linia n a a de magistral. Poarta TSL poate echivalat cu o poart normal a crei ieire a a a a n a s este nseriat un contact care este nchis cnd Output Enable este activ, OE L = 0, a i este deschis ( starea HZ), cnd Output Enable nu este activ, OE L = 1, Figura s n a 1.28-b.
D7 D6 D1 D0 R2 R3

MAGISTRALA

R1 (READ)

Transceiver #1

Transceiver #2

Transceiver #3

(WRITE) W1 D0 D7 W2 D0 D7 W3 D0 D7

Figura 1.29 Conectarea la magistral a trei blocuri bidirectionale de 8 biti a prin intermediul circuitelor transceiver Pentru blocurile care sunt conectate la o magistral i care pot avea o functia s onare att de emitator ct i receptor transferul spre linia de magistral trebuie s a a s a a e bidirectional. Aceste blocuri bidirectionale trebuie s posede pe ieire un cir a s cuit TRANSCEIVER (TRANSmitter + reCEIVER) care este compus pentru ecare linie/bit a magistralei dintr-un buer TSL i o poart SI conectate paralel, Figura s a n 1.29. La magistrala din gur particip trei elemente ecare avnd pe ieire un a a a s transceiver de opt biti. Inscrierea pe magistral (WRITE) se face prin activarea, a n starea H, doar a unui singur semnal Wi (i = 1, 2, 3), la buerele TSL, pentru a asigura accesul doar a unui singur emitator la un moment dat. Citirea de pe magistral a (READ) se activeeaz prin semnalul Ri (i = 1, 2, 3) la portile AND. La transceiverul a

66

1.5. PORTI TEHNOLOGIA CMOS IN

i semnalele Wi i Ri sunt exclusive adic nu pot active simultan W i Ri = 0. s a Avantajele utilizrii portilor TSL raport cu utilizarea celor cu colectorul gol a n n sunt: - Ofer o impedanta mic la ieire H i L (ca la poarta normal); a a s n s a - Nu necesit rezistenta aditional ; a a - starea de HZ In ncarc insigniant circuitele cu care sunt cuplate la ieire (la a s un moment dat ncarc numai circuitul care forteaz potentialul pe linia de a a magistral). a

1.5

PORTI TEHNOLOGIA CMOS IN

Componentele integrate electronic, introduse la n a nceputul anilor 1960, au fost realizate aproape exclusivitate tehnologia bipolar, timp de dou decenii, pn la n n a a a a nceputul anilor 1980. deceniul al noulea a fost trecerea de la tehnologia bipolar In a a la tehnologia unipolar special la cea CMOS. a n Incepnd cu anii 1990, aproape a n exclusivitate, circuitele integrate produse au fost CMOS. Schimbarea de tehnologie s-a produs cnd au aprut circuitele integrate pe scar larg VLSI (Very Large a a a a Scale Integration) care contineau de ordinul sutelor de mii de componente pe cip. La acest ordin de mrime al densitii de integrare, datorit puterii disipate ridicate, deci a at a regim termic solicitant pentru circuit (datorit puterii disipate ridicate), tehnologia a bipolar nu mai era corespunztoare, iar alternativa a fost tehnologia CMOS. Prin a a valorile parametrilor: margine de zgomot ridicat, puterea disipat curent continuu a a n aproape neglijabil, fan-out ridicat, vitez mrit i a a a a s nalt grad de automatizare n proiectare i implementare, tehnologia CMOS s-a impus. Astzi circuitele CMOS s a domin piata circuitelor integrate de la cele simple la cele mai complexe. a

1.5.1
1.5.1.1

Tranzistorul MOSFET
Tehnologia de fabricatie a tranzistorului MOS

Tranzistorul MOS sau extinznd la circuitul integrat, zic, constau din zone dia fuzate de conductivitate p+ sau n+ incluse ntr-un substrat de siliciu, Si, ntre care exist anumite conexiuni i la care, din exterior, se aplic tensiuni de polarizare. a s a Pentru obtinerea acestor zone de conductivitate p + sau n+ este necesar ai a se re nt aliza ferestre pentru difuzie, locurile respective, pe placheta de siliciu. Succesiunea n etapelor pentru realizarea acestor ferestre este descris succint continuare. a n Dintr-un lingou de Si, sub forma unui cilindru, cu rezistivitatea aproximativ 10 cm se taie discuri (wafer) cu grosimea jur de 0.6mm, Figura 1.30-a. Aceste n discuri tehnologia actual pot cu un diametru nu cu mult mai mare de 30 cm; n a pe una din suprafetele waferului se realizeaz simultan un numr de zeci sau sute de a a circuite integrate identice, apoi prin tiere se obtin plachetele cu circuitul integrat. a Pe suprafata discului printr-un proces de oxidare se realizeaz un strat de bioxid a de siliciu, SiO2 , referit prin termenul de oxid. Exist dou procedee de oxidare: a a umed i uscat. Oxidarea umed este un rapid proces de oxidare as a a ntr-o atmosfer a

CAPITOLUL 1. PORTI LOGICE

67
Gravare uscata sau umeda

a) Fotorezist SiO2 (oxid) b)

SubstratSi

Fotorezist SiO2

SubstratSi

e)

SubstratSi

c) Masca Fotorezist

d 2 m W1 2m

W2 4m

3m

f)

SubstratSi

Ferestre pentru difuzie

Radiatie ultravioleta, UV SubstratSi g) W1 W2

SiO2 d)

SubstratSi

Figura 1.30 Etapele realizrii ferestrelor prin litograe optic: a) substrat a a (wafer); b) ansamblu substrat + strat de SiO2 + fotorezist; c,d) ansamblu cu masc a supus radiatiei UV; e,f) aturarea stratului de SiO 2 prin gravare; g) substrat cu nl ferestrele (pentru difuzie) realizate stratul de oxid. n care contine vapori de ap la temperaturi a ntre 900 1000 C. Oxidarea uscat se a realizeaz a ntr-o atmosfer de oxigen pur la o temperatur jur de 1200 C, viteza de a a n cretere a grosimii stratului de oxid este mai mic dect cea obtinut prin procedeul s a a a de oxidare umed. Dou caracteristici zice ale stratului de oxid sunt utilizate a a n tehnologia circuitelor integrate: rezistivitatea electric mare, deci poate constitui a un strat izolator foarte bun, i impenetrabilitatea impuritilor, deci poate constitui s at un strat opac pentru difuzia de impuriti. Apoi, prin depunerea unei picturi de at a fotorezist peste stratul de oxid i centrifugarea s ntregului wafer, se formeaz un strat a de fotorezist cu grosimea aproximativ 1m, Figura 1.30-b. alzit la o temperatur Inc a de aproximativ 100 C stratul subtire de fotorezist de pe suprafata se arete (devine nt s sticlos). Urmeaz apoi confectionarea mtilor pentru realizarea ferestrelor de difuzie, care a as este o etap foarte complex i costisitoare. S presupunem c se dorete realizarea a a as a a s dou ferestre dreptunghiulare cu dimensiunile W 1 = 2m 2m, W2 = 3m 4m a pentru care s-a confectionat masca din Figura 1.30-c. Aceast masc se aplic peste a a a stratul de fotorezist arit (sticlos) i nt s ntreg ansamblul este expus ntr-un fascicul de radiatie ultraviolet UV, Figura 1.30-d. Fotorezistul de sub ferestrele mtii (zonele a as

   

                   

Fotorezist SiO2 SiO2

68

1.5. PORTI TEHNOLOGIA CMOS IN

transparente) este penetrat de radiatia UV, polimerizeaz i devine solubil spre deose as bire de cel din zonele opace ale mtii unde fotorezistul rmne arit (sticlos). Apoi, as a a nt prin splare cu solvent, este aturat fotorezistul solubil din zonele de sub ferestre dar a nl nu i cel arit de pe restul suprafetelor. Acest tip de fotorezist este numit pozitiv, s nt pentru c exist i fotorezist negativ care este initial solubil i devine insolubil dup a as s a ce este penetrat de UV; evident pentru fotorezistul negativ masca trebuie s aib a a transparenta zonele unde nu trebuie realizate ferestre pe substrat. Mtile pentru n as cele dou tipuri de fotorezist sunt una complementar celeilalte. a a continuare, ansamblul obtinut este supus unui proces de gravare. Prin gravare In stratul de oxid de siliciu din zonele care au rmas neacoperite de fotorezist este a aturat (pn la suprafata de substrat) obtinndu-se fereastra, Figura 1.30-e i 1.30nl a a a s f. Gravarea se poate face cu un solvent chimic (sruri ale acidului orhidric, HF ), a referit ca gravare umed, sau printr-o tehnologie cu plasm, referit ca gravare usa a a a cat. Apoi, se utilizeaz un alt tip de solvent care poate atura stratul arit a a nl nt de fotorezist rmas deasupra stratului de oxid, Figura 1.30-g, terminndu-se astfel a a aceast succesiune de operatii de realizare a ferestrelor denumit fotolitograe sau a a litograe optic ce poate utilizat cu rezultate bune pn la rezolutii de 0, 8m. a a a a R = k /AN ; Rrezolutia, kun parametru al stratului de fotorezist, lungimea de und a radiatiei utilizate, AN apertura numeric (puterea de rezolutie a aparatului a a utilizat). Tehnologia fotolitograc permite o reducere cu 30%, la ecare doi ani, a vaa lorii caracteristicii de proces. Dar, actual, s-a ajuns la valori ale caracteristicii de proces care sunt sub lungimile de und utilizate litograa optic. Pentru depirea a n a as limitrilor litograei optice au aprut alte variante, ca de exemplu litograa EUV a a (Extreme Ultra-Violet), care utilizeaz lungimea de und de 13, 4nmlungime cu a a peste un ordin de mrime mai scurt dect lungimile de und din litograa optic a a a a a dar cu care se pot obtine linii de trasee de dimensiuni sub 50nm. Fotolitograa se repet ori de cte ori este necesar realizarea unei noi ferestre; a a a evident ferestrele care sunt pentru utilizri similare la diferite circuite i sunt pe acelai a s s wafer se realizeaz paralel ( Figura 1.30 au fost realizate simultan dou ferestre a n n a W1 i W2 ). s Pentru rezolutii sub 0, 8m litograa optic, recent, este substituit de litograa a a cu fascicol de electroni. Avantajele litograei cu fascicol de electroni realizarea n ferestrelor raport cu cea optic sunt: n a - fereastra poate generat direct digital fr confectionarea mtii; a aa as - nu exist succesiunea tuturor etapelor (mti, expunere UV etc.) procesul de a as gravare este direct; - modicarea formelor i dimensiunilor ferestrelor precum i plasarea lor pe sus s prafata waferului se pot realiza uor i repede. s s Pentru realizarea unui tranzistor nMOS procesul este descris continuare. Se n realizeaz pe un substrat de siliciu de conductivitate de tip p (conductivitate prin a goluri) o fereastr pentru zona activ, adic zona pe suprafata de Si unde se va a a a implementa tranzistorul, Figura 1.31-a. Stratul gros de oxid ( 5000 ,1= 1010 m) A A denumit oxid de cmp care a nconjoar zona activ are rolul de a izola tranzistorul a a de alte tranzistoare. Uneori, izolarea tranzistorului de cel vecin se face i substrat s n

CAPITOLUL 1. PORTI LOGICE

Figura 1.31 Etapele tehnologia de realizare a unui tranzistor nMOS n

hi hi xy hi xy xy s hi hi xyxy hi xyxy xyxy rtu xy xy xy fg fg fg fg fg fg XY fg XY fg XY fg ccde fg fg XY fg XY gf XY gf bbde fg


n+ n+ n+

bbcde fgfg

s s vw pq wv pq vw pq v ) rtu rtu vwvw pq wwvv pq vwvw pq vv () vw wv vw v ( cde fg cde fg fg`a fg`a fg`a `a $%"# bbcde fgfg fgfg`a gffg`a fgfg`a `a $%"#$%
h) g) n+ n+ n+

$%"# $%"# $%"#$% $%"#$%

$%"# $%"# $%"#$% $%"#$%

$%"# $%"# $%"#$% $%"#$%

$%"# $%"# $%"#$% $%"#$% $%"#$%

$%"#

BC BC BC G G G DE DE DE BC BC BC FGHIHI FGHIHI FGHIHI DE DE DE F F F


SiO2 Strat de oxid de protectie n+ n+

oxid de camp

a) SiO2

SiO2

psubstrat, Si

Zona activa

f)

S S S TU TU TU PQ PQ PQ RS RS RS VWVW VWVW VWVW PQ PQ PQ R R R


psubstrat, Si Ferestre pentru contactele metalizate

! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
Oxidul de poarta

Strat de polisiliciu

Strat subtire de oxid

c)

) ) ) 01 01 01 &' &' &' () () () 23 23 23 &' &' &' ( ( (


Poarta(polisiliciu) psubstrat, Si

SiO2

d)

b)

psubstrat, Si

psubstrat, Si

i)

Contacte metalizate

           
V SS

7 7 7 67 67 67 6 6 6

Difuzie impuritati donoare pentru zonele de Sursa si Dren e)

       

     

7 @A @A @A 45 45 45 67 89 89 89 45 45 45
n+

n+

 

psubstrat, Si

Zone difuzate

V DD

psubstrat, Si Strat metalizat gravat

Strat metalizat

psubstrat, Si

poarta

Trasee metalice

69

70

1.5. PORTI TEHNOLOGIA CMOS IN

prin difuzarea ntre zonele active ale acestor tranzistoare vecine a unei zone de tip p+ denumit zon de stopare (se pot vedea astfel de zone de stopare structura a a n din Figura 1.19-c). Notatiile n+ sau p+ semnic faptul c exist o concentratie de a a a purttori de tip n respectiv de tip p mult mai mare dect concentratiile normale. a a Apoi, ntreaga suprafata este acoperit cu un strat subtire (aproximativ 200 ) de a A oxid de calitate superioar, care va i stratul izolator de sub poarta viitorului tranzisa s tor implementat zona activ, Figura 1.31-b. Calitatea i grosimea acestui strat de n a s oxid determin foarte pronuntat tensiunea de deschidere/prag a viitorului tranzistor. a continuare se depune un strat de polisiliciu, Figura 1.31-c, din care, dup un proIn a ces de gravare, se formeaz trasa ce va constitui poarta tranzistorului, Figura 1.31-d. a Acest strat depus cu grosimea aproximativ de 3000 din polisiliciu se realizeaz a A a printr-un proces de depunere de vapori de Si. Materialul de substrat (waferul) este un singur cristal, adic a n ntreg volumul substratului structurarea cristalograc este a aceeai. schimb, materialul de polisiliciu al portii este format, dup cum i denus In a s mirea exprim, din mai multe zone ecare cu dispunere cristalograc diferit. Zonele a a a de material policristalin, referite i prin termenul de polisiliciu, sunt utilizate pentru s realizarea electrodului de poart sau a unor trasee de conexiune. Totodat materialul a a policristalin, ca i oxidul sau nitrura de siliciu, este utilizat i ca material de mascare s s procesul de difuzie al impuritilor; sunt impenetrabile la impuriti. Ansamblul n at at obtinut pn aceast etap are deja realizate dou ferestre pentru implementarea a a n a a a zonelor de surs i dren ale tranzistorului. as Implementarea zonelor de dren i surs rezult urma doprii cu impuriti dos a a n a at noare (Fosfor sau Arseniu) care schimb conductivitatea din tip p a substratului, din a zonele respective, conductivitate de tip n + . Doparea poate realizat prin difuzie n a sau prin implantare ionic. Pentru difuzie este necesar o atmosfer ce contine ima a a puriti donoare la o anumit presiune i o temperatur de peste 800 C, impuriti at a s a at ce ptrund substrat pe o anumit adncime. procesul de difuzie stratul de a n a a In polisiliciu al portii mpreun cu stratul oxid a nconjurtor a ndeplinesc rolul de masc a (impenetrabile pentru impuritile donoare difuzate) jurul celor dou zone penat n a tru dopare, Figura 1.31-e. Utilizarea stratului de polisiliciu gravat adic poarta a ca masc duce la o foarte precis pozitionare a difuzrii zonelor de surs i dren a a a a s fata de poarta tranzistorului, aceast procedur mai este referit ca proces de au a a a toaliniere. Prin implantare ionic, folosind un spectrometru de mas i un cmp a as a electric accelerator, se imprim ionilor de impuritate o energie ( a ntre 10 100KeV , 1eV = 1, 6 1019 J) sucient ca prin impact cu suprafata de substrat s penetreze a a adncime civa microni i s schimbe zona respectiv tipul de conductivitate. n a at s a n a Dup realizarea zonelor de conductivitate n + pentru dren i surs se acoper a s a a ntreaga suprafata cu un strat de oxid (de protectie), Figura 1.31-f, care apoi este gravat pentru realizarea unor ferestre, realizndu-se acces pn la suprafata de substrat de a a a conductivitate n+ , Figura 1.31-g; suprafetele acestor ferestre pe zonele dopate de tip n+ , dup metalizare, vor forma contactele metalice la dren i surs. Printr-un proces a s a de evaporare vid se depune pe n ntreaga suprafata un strat de aluminiu, Al, cu grosimea de 50006000, Figura 1.31-h. Stratul metalic depus pe A ntreaga suprafata este apoi gravat astfel at s formeze pe suprafata superioar a ansamblului traseele nc a a metalice pentru interconexiuni, aceste trasee ptrund prin contactele metalizate pn a a a la suprafata zonelor difuzate de dren i surs. s a Figura 1.31-i reprezint sectiunea i o vedere plan a prtii superioare a tranzisa s n a

CAPITOLUL 1. PORTI LOGICE

71

torului nMOS (realizat ntr-un substrat de tip p). Pe vederea plan, a prtii sun a perioare a ansamblului (desenul de jos), sunt dou trasee metalice, pentru aducerea a potentialelor de surs VSS i de dren VDD , iar interiorul acestor trasee sunt gurate a s n dou ptrate a a negrite corespunztoare contactelor metalice care ajung la suprafetele a n+ de dren i de surs. aceast gur nu este scos la suprafata terminal de polisilis a In a a ciu al portii (stratul de polisiliciu se vede doar sectiune, cu haur dubl, desenul n s a a n de sus). Zona de sub poart este zona de canal (indus). a Pentru realizarea unui tranzistor pMOS se pornete de la un substrat de tip n; s etapele sunt identice cu deosebirea c impuritile utilizate procesul de difuzie, a at n pentru obtinerea zonelor dopate de tip p+ pentru dren i surs, sunt de tip acceptor s a (Bor). exemplul acesta pentru realizarea conexiunilor necesare pe suprafata superioar In a a cipului/plachetei a fost sucient un singur strat metalic (zona caroiat pregnant din a Figura 1.31-h). Pentru circuitele VLSI complexe realizarea tuturor conexiunilor necesit mai multe straturi metalice suprapuse, tehnologia actual pentru P s-a ajuns a n a pn la opt straturi metalice, ecare strat metalic ind izolat de cel de sub sau de a a cel de deasupra printr-un strat izolator de oxid. Trecerea conexiunilor ntre straturile metalice de niveluri diferite, sau ntre straturi i suprafata de substrat a zonelor s (difuzate) de diferite conductiviti, se face prin intermediul unor guri (vias) realat a izate pe vertical prin straturile izolatoare de oxid. Devine mult mai important i a as mai complex operatia de realizare a straturilor/conexiunilor dect realizarea compoa a nentelor (tranzistoarelor) substrat (circuitele integrate complexe sunt caracterizate n prin numrul de straturi metalizate, iar pentru traseele metalizate, actual se utilizeaz a a cuprul). Activitatea de proiectare a unui circuit integrat poate complet separat timp a n i spatiu de procesul de fabricatie a circuitului integrat de la turntoria de siliciu. s a Legtura a ntre proiectant i inginerul de proces se face prin intermediul regulilor de s proiectare a layout-ului (geometria pe siliciu). Aceste reguli de proiectare exprim a anumite constrngeri impuse de procesul de fabricatie de la o anumit turntorie de a a a siliciu. Constrngerile pot referitoare la limea minim a unei linii/trase realizabil a at a a cu acel proces, distanta minim a ntre dou linii, dimensiunile minime pentru o zon de a a difuzie etc.; de exemplu Figura 1.30-c se poate prescrie distanta minim dintre cele n a dou zone de difuzie pentru un anumit proces. Respectnd aceste reguli geometrice a a de proiectare proiectantul va proiecta mtile necesare procesului care, probabilistic, as duc la un procent de recolt ridicat (exprimare procentual a numrului de circuite a a a functionale obtinute pe un wafer din numrul total de circuite pornite initial pe un a wafer) i la circuite cu o siguranta mare functionare. s n Regulile de proiectare a layout-ului pot exprimate dou modaliti: micronic i n a at s pe baz de . Regulile pe baz de lambda () cuprind toate constrngerile referitoare a a a la optenabilitatea dimensiunilor geometrice ca multiplu ntreg (uneori fractionar) de . Practic, acestea sunt un set de relatii, toate functie de , cu care proiectantul n calculeaz dimensiunile layout-ului pentru un anumit circuit. Lambda este caractera istica de proces, adic rezolutia/dimensiunea minim garantat pe care o poate rea a a aliza acel proces. De exemplu, Figura 1.30-c distanta dintre cele dou zone difuzate n a ar putea exprimat prin relatia d = sau limea minim a trasei de polisiliciu a at a pentru poart este 2, etc. Avantajul exprimrii pe baz de este pstrarea acelorai a a a a s relatii de proiectare cnd se trece de la un proces la unul a mbuntit, de exemplu a at

72

1.5. PORTI TEHNOLOGIA CMOS IN

cnd se trece de la un proces cu = 1m la unul cu = 0, 6m (relatiile geometrice a a a de proiectare se nmultesc cu 0,6 = 0, 6). Teoretic, aceast scalare a lui cnd se 1 trece la un proces mbuntit ar fezabil dar, practic, se constat c atunci cnd a at a a a a procesul este submicronic (corespunde la lungimi de canal sub 1m) i special s n la procesele adnc submicronice (lungimi de canal sub 0, 35m) scalarea lui nu a mai este liniar i constant. as a Exprimarea micronic a regulilor se reduce la exprimri valori absolute, m, a a n n pentru dimensiunile layout-ului, ceea ce elimin inconsistenta care apare la regulile a pe baz de lambda cnd se aplic scalarea. Uneori cele dou modaliti, de exprimare a a a a at a informatiei necesare proiectantului pentru denirea layout-ului, sunt mixate. 1.5.1.2 Ecuatiile tranzistorului MOS

Structura tranzistorului MOS (Metal-Oxid-Semiconductor) este cea din Figura 1.31-i, iar pentru o explicare a functionrii este reprezentat, a ntr-o nuanta didactic, a Figura 1.32-a. principiu, un tranzistor MOS se reduce la un condensator metaln In semiconductor, cele dou armturi ind una o plac G (Gate) din polisiliciu sau a a a metal, de dimensiuni W L, iar cealalt armtur este constituit din substratul de a a a a semiconductor B, ntre acestea dielectricul este format din stratul de SiO 2 cu grosimea Dox (< 200). Cnd se aplic o tensiune pozitiv A a a a ntre poart i substrat V GC > 0 as (gril - canal), deoarece densitatea de purttori de sarcin 1 -electroni liberi- placa a a a n metalic este mult mai mare dect densitatea de purttori liberi semiconductor, a a a n cmpul electric dintre plcile acestui condensator metal-semiconductor ptrunde a a a n substrat dar nu ptrunde placa metalic. Sarcina electric (pozitiv cazul acesta) a n a a a n de pe poarta (placa metalic) are o repartizare de suprafata iar sarcina negativ, a a indus substratul de tip p, are o repartizare volumetric; la interfata cu oxidul a n a sunt atrai electronii liberi din substrat care formeaz un strat de sarcin negativ s a a a cu grosimea 50. Acest strat de sarcin liber, indus la suprafata substratului, A a a a este referit prin (zona de) canal (indus). Cantitatea de sarcin negativ indus a a a n canal este determinat de intensitatea cmpului dintre poart i substrat, deci de a a a s valoarea tensiunii VGC (sau VGB ). Deoarece la cele dou capete ale canalului exist a a ,, dou rezervoare de sarcin negativ liber, cnd VGC este este sucient de mare ca a a a a a s induc un canal cele dou rezervoare, obtinute prin difuzia de dren D i de surs S, a a a s a acestea vor unite printr-o cale conductiv - canalul indus substrat, cu lungimea a n L. Aplicnd o diferenta de potential a ntre cele dou zone de dren i de surs apare o a s a deplasare de electroni canal, deci un curent de canal. concluzie, se poate arma n In c tranzistorul MOS este un dispozitiv la care valoarea curentului de conductie a n canalul, dintre dren i surs, este controlat de tensiunea aplicat pe poart. Deci s a a a intensitatea curentului din canal este o functie de tensiune aplicat dintre dren i a s surs, VDS , i tensiunea poart-canal VGC , Icanal = f (VDS , VGC ). Pornind de la a s a aceast explicatie calitativ a functionrii dispozitivului MOS, continuare, vor a a a n deduse relatii simple care pot exprima i cantitativ functionarea dispozitivului nMOS. s Tensiunea pozitiv VGC , pentru valori cresctoare pornind de la 0V, va respinge a a sarcina mobil pozitiv din zona de interfata oxid-substrat a a nspre masa substratului, adic golurile care sunt purttori mobili majoritari substratul de tip p. urma a a n In
1 Densitatea de electroni liberi n: metale - 1028 /cm3 , izolatoare - 107 /cm3 , semiconductoare 2 1013 /cm3 pt Ge i 1, 45 1010 /cm3 pt Si s

Figura 1.32 Tranzistorul nMOS: a) structur zic de principiu pentru un tranzisa a tor nMOS; b) caracteristicile statice de ieire I D = f (VDS )VGS =const ; c) dependenta s IDsat de tensiunea VGS ; d) simbolurile de reprezentare pentru tranzistoarele nMOS i pMOS. s

p p oo ppp ooo ppp oo opo r r kkkl ijj p p k oo l l j r r r r r r k r r pp ij r pop r r r r ii kkkl ssst l l r t t qr r r r k ijj r r dd qrqqqqiiij qq do r r j o o qii q r ijj dd r r r qqq qqr l l qq t t p st p r kkkl j ssoo lij qr dop q q q q kq kq klq k q jj q q llkl i ssd st d kk j t t q ii q d l q q j t t d st d iij ss k jj d j l i t t d st d ii kkkl jj ss lk n iiij d n n n mmm f f m mn ij g f f d st d ss ee t t ef gh ee ef d h
a) V SS n+ S (Sursa) V GS

CAPITOLUL 1. PORTI LOGICE

d) G b)

S simbol cu 4 terminale 3 0 1 2 0 D Reg. liniara I DS [mA] B G 1

nMOS

canal W/L=60/6

canal W/L=6/0,6

pSubstrat,

V DS =V GS Vpn

Canal indus L

S reprezentare simplificata D + Reg. de saturatie Placa din polisiliciu sau metal 2 G

Si

G (Poarta)

V DS + D (Dren)

1.0 V DS [V]

S D 1.5 2.0 2.5 3.0 n+

DOX

I DS(sat) V GS Vpn

c)

SiO2

G 0 W/L=6/0,6 1 (canal scurt) 2 3 0 D 1

S simbol cu 4 terminale I DS(sat) [mA] B V GS G + B G

I DS(sat) (V GS Vpn)

pMOS

V DS =3,0V

S reprezentare simplificata D 2 D S G B V DS 3

W/L=60/6 (canal lung)

I DS(sat) (V GS Vpn) 2

V GS [V]

S D +

73

74

1.5. PORTI TEHNOLOGIA CMOS IN

acestei respingeri zona de interfata a stratului rmne doar sarcina negativ, x n a a a a reteaua cristalin, format din ionii negativi ai atomilor acceptori. Rezult c n a a a a stratul de interfata apare un regim de srcire de purttori majoritari i chiar la n aa a s aplicarea unei tensiuni ntre dren i surs curentul din canal este nul. s a Dar cnd tensiunea VGC devine mai mare dect o valoare Vpn (valoare de prag/ a a deschidere pentru nMOS) cmpul electric al condensatorului poart-substrat atrage, a a din masa substratului, sarcini electrice minoritare mobile (electronii) determinnd a astfel zona de interfata o inversiune a sarcinilor mobile, adic conductivitatea n a initial de tip p (goluri) devine de tip n. Electronii atrai zona de interfata vor a s n constitui o sarcin mobil zona de canal, deci apare posibilitatea unui curent de a a n canal. Cantitatea de sarcin poate exprimat prin relatia: a a Q = C(VGC Vpn ) (1.27)

aceast expresie C este capacitatea echivalent a condensatorului plan format In a a ntre plac-substrat (cu suprafata W L, stratul dielectric avnd grosimea D ox iar ox a a permitivitatea oxidului) a crei valoare este dat de relatia clasic: a a a C = ox W L = Cox W L Dox (1.28)

unde Cox = Dox este capacitatea pe unitatea de suprafata a stratului de oxid de ox sub poart, care se obtine din relatia 1.28 cnd W = 1, L = 1. Cu valorile ox a a 3, 45 1011 F m1 , Dox = 100 = 108 m se obtine Cox 3f F/m2 .Capacitatea A specic a stratului de oxid este o caracteristic a ecrui proces tehnologic i trebuie a a a s luat de ctre proiectantul de circuite ca o constant dat. Diferenta de tensiune a a a a VGC Vpn poate privit ca tensiunea efectiv care comand sarcina din canal, a a a deoarece pn cnd tensiunea aplicat pe poart nu este mai mare dect tensiunea a a a a a a de prag Vpn nu exist sarcin mobil canal, deci nici curent canal, tranzistorul a a a n n este blocat. Prin existenta sarcinii induse, VGC Vpn > 0, i prin polarizarea zonelor de dren s i surs, canal se produce deplasare de sarcin, deci curent. Polarizarea se face s a n a felul urmtor: pe dren se aplic o tensiune pozitiv fata de substrat V DB > 0 iar n a a a sursa se conecteaz la substrat VSB = VSS = 0V ; felul acesta potentialul sursei a n este identic cu potentialul de substrat i este potentialul de referinta (mas), iar V DB s a devine VDS . Intr-o abordare simpl, pentru deducerea unui model matematic pentru a curentul din canal, se echivaleaz canalul cu o rezistenta pe care sursa de tensiune V GC a produce o cdere de tensiune gradual functie de lungimea x din canal, V GC (x). Se a a n admite pentru aceast cdere de tensiune o variatie liniar functie de lungimea din a a a n canal astfel: pentru x = 0, zona de surs, VGC = VGS i pentru x = L (lungimea n a s canalului) zona de dren VGC = VGS VDS . Calculul sarcinii din canal se face cu n relatia 1.27 care se introduce cderea de tensiune ca o medie aritmetic a valorilor n a a tensiunilor de la capetele canalului:

Q=C

(VGC Vpn )x=0 + (VGC Vpn )x=L ) 1 = C (VGS Vpn ) VDS 2 2 1 Q = Cox W L (VGS Vpn ) VDS 2

(1.29)

i utiliznd expresia capacitii exprimat prin relatia 1.28 se obtine: s a at a (1.30)

CAPITOLUL 1. PORTI LOGICE

75

Sub actiunea cmpului electric din canal E x = VDS /L (se consider numai compo a a nenta Vx lungul canalului) produs de tensiunea VDS electronii sunt deplasati de la n surs la dren cu viteza: a VDS vx = n Ex = n (1.31) L unde n este mobilitatea electronilor, cu valori ntre 500 1500cm 2 /V s; pentru goluri valorile mobilitilor sunt p = 100 400cm2 /V s. Mobilitatea purttorilor at a scade cu concentratia de dopare i cu creterea tempteraturii. s s Timpul de deplasare/tranzit al electronilor prin canal rezult simplu: a f = L2 L = vx n VDS (1.32)

Aceast relatie exprim o dependenta ptratic a timpului de tranzit canal a a a a n n functie de lungimea canalului; apare evidenta concluzie c scalarea (micorarea di a s mensiunilor) duce la dispozitive mai rapide. nal, din relatiile 1.30 i 1.32, se In s obtine expresia curentului dren - surs, IDS : a IDS = Q 1 W (VGS Vp ) VDS VDS = = n Cox f L 2 W 1 = Kn (VGS Vp ) VDS VDS L 2 Kn = n Cox

(1.33)

Constanta: (1.34) denumit factorul de ctig al procesului, la fel ca i tensiunea de prag V pn , este o a as s constant de proces i are valori intervalul 100100A/V 2 . Nu este neobinuit ca a s n s n cadrul aceluiai proces, functie de materialul initial utilizat ca substrat, de variatia s n grosime a stratului de oxid de sub poarta Dox , factorul de ctig al procesului s n as a aib abateri de 10 20%. a Se denete factorul de ctig al tranzistorului, n : s as n = K n W L (1.35)

Raportul dintre limea canalului W i lungimea canalului L este referit ca factorul at s de form al tranzistorului, de fapt conductanta canalului este proportional cu raa a portul dintre limea i lungimea sa. Raportul W/L este unul din cei mai importanti at s parametri asupra cruia proiectantul poate actiona etapa de dimensionare a layouta n ului pentru a obtine caracteristicile dorite pentru tranzistor. Ecuatia 1.33 este modelul matematic al tranzistorului MOS pentru regimul liniar de functionare. Acest regim liniar, ntre variatiile I DS ale curentului de canal i s variatiile VGS ale tensiunii gril surs, se obtine cnd sunt a a a ndeplinite conditiile regimului liniar: VGS > Vpn i VDS < VGS Vpn . s Cnd tensiunea dren-surs crete, peste valoarea efectiv a tensiunii de comand a a s a a a canalului, VDS > VGS Vpn , rezult o diferenta de potential poart-dren de valoare a a negativ VGD = (VGS Vp )VDS < 0, deci se inverseaz sensul cmpului poart-dren. a a a a Aceast inversare a sensului cmpului determin o reducere a sarcinii din canal zona a a a n

76

1.5. PORTI TEHNOLOGIA CMOS IN

de dren (x = L) ceea ce este echivalent cu creterea rezistentei canalului s nspre dren, cea mai mare parte a tensiunii VDS se va regsi pe acest segment de rezistenta mrit. a a a Lungimea efectiv, notat cu L , a canalului se micoreaz (L < L) i chiar la mrirea a a s a s a tensiunii dren-surs, VDS , curentul canal rmne la o valoare constant, I DS(sat) a n a a a ( realitate IDS(sat) are o cretere uoar functie de VDS ). Acesta este regimul de n s s a n saturatie al tranzistorului obtinut pentru conditiile: V GS > Vpn i VDS VGS Vpn ; s iar expresia curentului de saturatie se obtine din ecuatia regimului liniar 1.33 care n se face substitutia VDS = VGS Vpn : IDS(sat) = (VGS Vpn )2 2 (1.36)

Figura 1.32-b sunt reprezentate caracteristicile statice I DS = f (VDS )VGS =const In pentru dou tranzistoare nMOS unul cu canal lung W/L = 60m/6m iar altul cu a canal scurt W/L = 6m/0, 6m realizate tehnologie de 0, 5m. Se observ din n a Figura 1.32-c c ecuatia 1.36 exprim mult mai exact curentul de saturatie I DS(sat) a a pentru tranzistoarele cu canal lung dect pentru cele cu canal scurt. a Separarea zonei liniare de zona de saturatie Figura 1.32-b este demarcat printr n a o linie ntrerupt, care este reprezentarea grac a ecuatiei V DS = VGS Vpn . Regimul a a blocat al tranzistorului IDS = 0, obtinut cnd UGS Vpn , este reprezentat de axa a absciselor ( realitate, IDS are valori foarte mici determinat special de aa-numitul n n s curent de sub poart). Tranzistorul se deschide cnd tensiunea de comand V GS a a a devine VGS > Vpn . scheme echivalente, functie de regimul de functionare, tranzistorul MOS In n ntro abordare calitativ poate substituit felul urmtor: regimul blocat - contact a n a deschis, regimul liniar - rezistenta, regimul saturat - generator de curent. Modelul matematic al dependentei curent-tensiune curent continuu, n IDS = f (VDS )UGS =const , pentru tranzistorul MOS exprimat de ecuatia 1.33, pentru regimul liniar i exprimat de ecuatia 1.36, pentru regimul saturatie, sunt relatii sims n ple, uor de utilizat, dar rezultatele pot diferi de cele reale. De exemplu, calculnd s a factorul de ctig al procesului Kn , cu ajutorul ecuatiei 1.33, rezult o valoare de as a dou ori mai mic dect valoarea lui Kn msurat pe tranzistor cnd este regimul a a a a a a n liniar; explicatia const faptul c Vpn i n nu sunt constante cum se consider a n a s a n ecuatie. Un model matematic care s exprime exact functionarea tranzistorului este necesar a att proiectantului de tranzistoare ct i proiectantului de circuite pe baza tranzisa a s torului respectiv. Proiectantul de circuite dorete ca prin simulri pe baza unui model s a matematic, care introduce datele de catalog ale tranzistorului , s obtin caractern a a isticile dinamice la circuitului (pHL , pLH , HL , LH ). Iar proiectantul de tranzistoare de la turntoria de Si dorete ca pe baza unui model care s introduc valorile a s n a a parametrilor de proces (Vpn , Kn , Cox , Dox etc.) s fac predictia performantelor a a tranzistorului nainte ca acesta s e produs. Se pot obtine modele mult mai exacte a dac sunt luate considerare efectele de ordinul doi (neglijate deducerea ecuatiilor a n n 1.33 i 1.36). s Programul de simulare SPICE (Simulation Program with Integrated Circuit Emphasis) existent toate mediile de proiectare automat electronic, EDA,are la n a n a baz diferite modele matematice pentru tranzistorul MOS (simulatoarele comerciale a pot avea pn la zece modele matematice pentru tranzistor). a a

CAPITOLUL 1. PORTI LOGICE

77

SPICE-ul poate simula pentru trei modele, acestea sunt selectabile prin identicatorul de nivel LEVELi. Nivelul LEVEL1 se bazeaz pe modelul matematic exprimat a prin relatiile 1.33, 1.36 plus include i efectele de ordinul doi importante. Nivelul n s LEVEL2 calculeaz curentii pe baza unui model analitic al zicii dispozitivului. Iar a nivelul LEVEL3 este o abordare semi-empiric pe baza parametrilor de proces i o a s ,, potrivire a expresiei ecuatiilor astfel at acestea s se suprapun peste compor nc a a tamentul real al tanzistorului. Evident, nivelul 2 i 3 sunt incluse toate efectele de n s ordinul doi. continuare vor expuse succint efectele de ordinul doi [Kang 96][Weste 92]. In Efectul de substrat. Figura 1.32-a s-a considerat c sursa se leag la substrat, In a a VSB = VSS = 0V , deci potentialul de referinta este potentialul substratului. Se poate ca fata de potentialul de referinta (de mas) al sursei, V SS , substratul a s e polarizat cu o tensiune de substrat VSB = 0V . Polarizarea de substrat a duce la o cretere a tensiunii de prag Vp (aproximativ cu 0, 5V pentru ecare s cretere a VBS cu 2 V). Creterea tensiunii de prag Vp determin o micorare a s s a s curentului IDS ceea ce duce la un dispozitiv mai lent. Modulatia lungimii canalului. Cnd VDS > VGS Vp , adic regim de saturatie a a n sarcinile din canal din zona de dren dispar, deci lungimea efectiv (electric) L a a a canalului devine mai mic dect lungimea geometric L a canalului (L < L). a a a Apare astfel o modulatie a lungimii canalului care este o functie de V DS . Odat a cu micorarea lungimii canalului se modic raportul W/L deci valoarea lui s a (relatia 1.35).La tranzistoarele cu canal lung aceast variatie a lui nu este a important dar devine important la tranzistoarele cu canal scurt (deci odat a a a cu scalarea). Variatia mobilitii. Mobilitatea att a electronilor n ct i a golurilor p nu at a a s este constant, acestea scad cu creterea concentratiei de dopare cu impuriti a s at (deci cu scalarea) i cu creterea temperaturii. s Saturatia vitezei. Din relatia 1.31 apare c viteza de drift a purttorilor poate a a crete orict de mult functie i de E. realitate viteza ajunge la o valoare s a n s In de saturatie, de exemplu viteza electronului ajunge la valoarea v max = 105 m/s care se atinge pentru E = 106 V /m (o cdere de 1V pe lungimea de 1m) i care a s nu se poate depi chiar dac Ex crete continuare. as a s n Conductia de subprag IOH . modul de aproximare gradual a canalului cnd In a a VGS < Vp curentul IDS = 0. Dar atunci cnd VDS are valori ridicate chiar dac a a VGS < Vp apare totui un curent de valoare relativ sczut canal deci I DS = 0; s a a n care are urmtoarele dou componente: un curent de polarizare invers prin a a a jonctiunile formate ntre zonele difuzate i substrat; un curent de (conductie) s subprag. Odat cu scalarea dimensional (i a tensiunii V DD , scalare complet) a a s a trebuie micorat i valoarea tensiunii de prag V p pentru a asigura vitez ridicat s as a a de comutatie a tranzistorului i o margine de zgomot sucient. Curentul de s a Vp subprag este proportional cu e T , deci are o cretere odat cu micorarea s a s tensiunii de prag i cu creterea temperaturii (T ). s s Injectia de purttori erbinti. Cnd, prin scalare, dimensiunile tranzistorului a a sunt foarte mici i VDS este de valoare mare, componentele orizontale i verticale s s

78

1.5. PORTI TEHNOLOGIA CMOS IN

(Ex , Ey ) ale cmpului canal au valori ridicate sub a cror efect purttorii moa n a a ,, bili de sarcin pot atinge energii cintetice ridicate (devin purttori erbinti ). a a Electronii erbinti pentru nMOS pot ptrunde: stratul de oxid de sub poart a n a modicnd distributia de sarcin de la interfata SiO 2 -substrat sau zona de a a n dren dislocnd goluri care sunt apoi atrai a s nspre substrat. Efectul de injectie de purttori erbinti este dezastruoas mai ales pentru dispozitivele deja a n functionare care, timp, se distrug scotand din functiune sistemul respectiv. n Scalarea, care nu este un efect de ordinul doi pentru tranzistor dar, prin reducerea dimensiunilor i a tensiunilor de alimentare, prin creterea nivelurilor de s s dopare cu impuriti donoare ND sau acceptoare NA creaz conditii ca efectele at a explicate mai sus s apar mult mai pronuntat. a a Tabelul 1.10 Reducerea mrimii caracteristice (minime) la un proces tipic a de matrice de porti CMOS
ANUL Marimea caractersitica minima [m] 1980 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 5.0 3.5 2.5 1.75 1.25 1 0.8 0.6 0.35 0.25 0.18 0.13

Reducerea dimensiunilor tehnologia de integrare este referit prin termenul de n a scalare. Prin mbuntiri, timp, procesul tehnologic si micoreaz caracterstica a at n s a de proces (dimensiunea minim care poate denit i realizat pentru procesul a a s a respectiv); astfel s-a constatat c mrimea caracteristic (minim) a procesului se a a a a scaleaz/reduce aproximativ cu 1, 31, 5 decurs de 2-3 ani, cum rezult din Tabelul a n a 1.10. Scalarea este caracterizat prin factorul de scalare s, mrimea cu care se divid a a toate dimensiunile. Sunt referite dou cazuri de scalare: scalarea complet i scalarea a as la tensiune constant. a Scalarea complet reduce toate dimensiunile cu factorul s, reduce tensiunile a cu factorul s iar valorile densitilor de dopare sunt multiplicate cu s, toate acestea at pentru a mentine cmpul electric dispozitiv nemodicat. Acest mod de scalare a n apare atractiv din punct de vedere al puterii disipate, Tabelul 1.11, care se reduce de s2 ori, dei puterea disipat pe unitatea de arie nu se modic. s a a Scalarea la tensiune constant reduce dimensiunile cu factorul s, mrete dena a s sitile de dopare cu s2 , dar tensiunile de alimentare rmn nemodicate. Acest tip at a a de scalare este preferat, uneori, pentru a se putea interfata circuitul scalat cu alte circuite (anterioare) care nu au fost scalate (se utilizeaz aceeai valoare a tensiunii a s de alimentare). Se observ c puterea disipat crete de s ori, puterea disipat pe a a a s a unitatea de arie de s3 ori, iar densitatea de curent j tot de s3 ori. Creterea dens sitii de curent pe traseele metalice poate provoca, prin electromigratie, at ntreruperea acestora. Electromigratia metalului este efectul prin care, la densiti foarte mari, at ntr-un conductor atomii metalului sunt antrenati sensul curentului. Prin scalare n la tensiune constant unele puncte ale traseelor metalice pot apare a n ngustri, a unde densitatea de curent depete 105 A/cm2 (pentru Aluminiu), iar timp, prin as s n electromigratie, traseul se subtiaz continuu pn se a a a ntrerupe acele puncte. n

CAPITOLUL 1. PORTI LOGICE

79

1.5.2

Inversorul CMOS

Inversorul bipolar, din Figura 1.21-b, este compus dintr-un element de comutatie, tranzistorul T, i o rezistent de sarcin R C . aceeai idee, se poate realiza un s a a In s circuit inversor la care un tranzistor nMOS este elementul de comutatie iar sarcina un tranzistor pMOS. Dar la fel, tranzistorul pMOS poate privit ca un element de comutatie ntr-un circuit inversor care are ca sarcin tranzistorul nMOS. Aceast a a structur de circuit, format din dou tranzistoare n i pMOS a a a s nseriate opozitie, n conectate ntre potentialele VDD i VSS , avnd un singur terminal de poart, este s a a referit ca inversor Complementar MOS, Figura 1.33-a. Cele dou tranzistoare sunt a a realizate pe aceeai plachet, Figura 1.35, dar au substraturi diferite, zonele de tip p + s a ale tranzistorului pMOS (sursa i drenul) sunt implantate s ntr-un substrat de tip n, care este de fapt o insul difuzat substratul de pe plachet, iar zonele n + (sursa a a n a i drenul) ale tranzistorului nMOS sunt implantate substratul de tip p al plachetei. s n Avantajele pe care le prezint inversorul CMOS raport cu alte tipuri de inversoare a n sunt: puterea disipat, regim static, teoretic este zero; a n caracteristica de transfer VO = f (VI ) se apropie cel mai mult de caracteristica ideal a unui inversor, Figura 1.14-b, cu tensiunea de prag (logic) de comutatie a la VDD /2, vezi Denitia 1.14. Tabelul 1.11 Valorile unor parametrii electrici i geometrici dup scalare s a Inainte de scalare L W Dox VDD Vp E ND NA Cox IDS j Pd
Pd arie

Mrimea a Lungimea de canal Limea de canal at Grosimea oxidului de sub poart a Tensiunea de alimentare Tensiunea de prag Cmpul electric oxid a n Concentratia de impuriti donoare at Concentratia de impuriti acceptoare at Capacitatea specic a a portii Curentul de dren-surs a Densitatea de curent Puterea disipat a Puterea disipat/unitate a de arie

Dup scalare a Scalare Scalare la complet a tensiune constant a L =L L = L s s W = L W =L s s Dox = VDD = Vp = E =E


Dox s VDD s Vp s

Dox =

Dox s

ND = N D s NA = N A s Cox = Cox s IDS = IDS s j =j d Pd = P2 s


Pd arie

N D = ND s2 N A = NA s2 Cox = Cox s IDS = IDS s j = j s3 Pd = P d s

VDD = VDD Vp = V p E =Es

Pd arie

Pd arie

Pd = s3 ( arie )

80 1.5.2.1

1.5. PORTI TEHNOLOGIA CMOS IN

Caracteristica static de transfer VO = f (VI ) a

opozitie fata de tranzistorul nMOS (prezentat anterior), care are zonele diIn fuzate de tip n+ i la care drenul se polarizeaz cu o tensiune pozitiv fata de surs s a a a iar tensiunea de deschidere Vpn este pozitiv, la tranzistorul pMOS zonele difuzate a sunt de tip p+ , drenul se polarizeaz cu tensiune negativ fata de surs iar tensiunea a a a de deschidere Vpp este negativ, Figura 1.33-b. structura de inversor CMOS a In prin conectarea, pentru ambele tranzistoare, a zonelor de surs la substraturile corea spunztoare nu se va lua considerare efectul de polarizare a substratului, deci se a n pot deduce urmtoarele relatii: a VGSn = VI VDSn = VO i de asemenea s VGSp = (VDD VI ) VDSp = (VDD VO )

(1.37)

(1.38)

Caracteristica static, Figura 1.33-c, se va analiza pentru variatia tensiunii de a intrare pornind de la VI = VSS = 0V pn la VI = VDD , iar ieirea inversorului se a a s consider gol, deci pentru curentii celor dou tranzistoare exist relatia: a n a a IDSn = IDSp Regimul liniar de functionare este denit de relatiile: VI > Vpn VI < VDD + Vpp i s i s VDSn < VI Vpn pentru nMOS VDSp > VGSp Vpp pentru pMOS (1.39)

(1.40)

iar tranzistoarele sunt echivalente unor rezistente. Regimul de functionare saturatie este denit de relatiile: n VI > Vpn VI < VDD + Vpp i s i s VDSn VGSn Vpn VO VI Vpn pentru nMOS (1.41) VDSp VGSp Vpp VO VI Vpp pentru pMOS

iar tranzistoarele sunt echivalente unor generatoare de curent. caracteristica static de transfer VO = f (VI ), functie de regimul de functionaIn a n re al ecruia din tranzistoarele nMOS i pMOS se disting cinci regiuni de functionare a s ( A , B , C , D , E ) pentru inversor. Pe aceast caracterstic se pot calcula a a valorile tensiunii de intrare stare L, VIL , i de intrare starea H, VIH . n s n Regiunea A . 0 VI < Vpn deci nMOS este blocat, IDSn = 0 i este echivalent s unui contact deschis. Tranzistorul pMOS are VGSp < V pp i este regiunea liniar s n a cu IDSp = 0, conform relatiei 1.39. Fiind regiunea liniar cu I DSp = 0 rezult c n a a a i VDSp = 0 ceea ce din relatia a doua 1.38 determin tensiunea de ieire stare H: s a s n VO = VOH = VDD (1.42)

CAPITOLUL 1. PORTI LOGICE

81

V DD S V GSp G D D V I=V GSn S V SS V DSp


pMOS

I DS

nMOS

Vpp

0 V pn

V GS

nMOS

V O=V DSn

pMOS

a)

b)
B L S L B S S C L S D L B E V O=V IVpp V O=V IVpn
nMOS pMOS B Blocat L Liniar S Saturat

VO V DD

V DD 2

I DSn=IDSp

c)
V DD

V pp V DD

V pn

VIL V VIH T

VDD+Vpp V DD

VI V DD V DD

V DD

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

VO

VO

VO

VO

VO

Regiunea A

Regiunea B

Regiunea C

Regiunea D

Regiunea E

d)

Figura 1.33 Inversorul CMOS: a) schema electric; b) caracteristicile de coa mand IDS = f (VGS ) pentru nMOS i pMOS; c) caracterstica static V O = f (VI ); a s a d) circuitele echivalente pentru cele cinci regiuni ale caracteristicii statice.

82

1.5. PORTI TEHNOLOGIA CMOS IN

Regiunea B . VI Vpn , VDSn VDD > VI Vpn deci nMOS intr saturatie iar a n pMOS continu regimul liniar. caracteristica de transfer VO = f (VI ) tensiunea a n In ncepe s scad i, prin denitie, cnd panta caracteristicii de transfer este egal cu a as a a 1 (dVO /dVI = 1), se consider pentru tensiunea de intrare V I = VIL . Introducnd a a relatia 1.39 pentru nMOS exprimarea de regim de saturatie relatia 1.36, iar pentru n pMOS exprimarea de regim liniar se obtine: n p (VI Vpn )2 = 2 ((VI VDD ) VP P ) (VO VDD ) (VO VDD )2 2 2 (1.43)

Din aceast expresie, prin derivarea lui VO raport cu VI i apoi efectuarea a n s substituirilor dVO /dVI = 1, VI = VIL , se obtine expresia pentru VIL : VIL = 2VO + Vpp VDD + 1+
n p n p Vpn

(1.44)

Prin rezolavarea ecuatiilor 1.44 i 1.43 se obtine valoarea lui V O pentru VIL s n punctul caracteristicii cu panta -1. a a n s a Regiunea C . Tranzistorul nMOS rmne saturatie i dup punctul de intersectie al caracteristicii VO = f (VI ) cu dreapta VO = VI Vpp cnd intr saturatie a a n i tranzistorul pMOS, VO VI Vpp (relatia 1.41). Teoretic, aceast regiune cars n a acteristica ar trebui s e vertical dar pentru c tranzistoarele saturatie nu sunt a a a n generatoare de curent ideale, IDS(sat) are o mic cretere cu VDS , aceast caracterisa s a tica are o mic abatere de la o pant innit. aceast regiune pentru variatii mici a a a In a VI se obtin variatii mari VO , exist un punct cnd tensiunea VI care crete devine a a s egal cu tensiunea VO care descrete i corespunde punctului (N ) de intersectie al a s s caracteristicii cu prima bisectoare (vezi i Figura 1.14-b). s Denitia 1.14 Pragul (logic) de comutatie VT al unei porti este aceea valoare a tensiunii de intrare care produce la ieire o tensiune de valoare egal, adic s a a VT = V I = V O . Prin introducerea expresiilor curentilor de saturatie relatia 1.39 se obtine: n p n 2 (VI Vpn )2 = [(VI VDD ) Vpp ] 2 2 i prin substitutia VI = VT rezult s a VT = Vpn +
p n (VDD

(1.45)

+ Vpp )

1+

p n

(1.46)

a s a Regiunea D . Cnd caracteristica de ieire intersecteaz dreapta V O = VI Vpn , sub care VO < VI Vpn , tranzistorul nMOS intr zona liniar de functionare iar a n a pMOS rmne saturatie. caracteristica de transfer tensiunea VO a a n In ncepe s nu mai a descreasc puternic i, prin denitie, cnd panta are valoarea dVO = 1, se consider a s a a dVI

s pentru tensiunea de intrare VI = VIH . mod asemntor, ca regiunea B , i In a a n

CAPITOLUL 1. PORTI LOGICE

83

aici, egalnd expresia curentului de saturatie prin canalul p cu expresia regim liniar a n din canalul n se obtine: n p 2 2(VI Vpn )Vo Vo2 = [(VI VDD ) Vpp ] 2 2 care substituind VI = VIH i dVO /dVI = 1 rezult expresia pentru VIH : n s a VIH = VDD + Vpp + 1
n p (2VO + n p

(1.47)

+ Vpn )

(1.48)

Prin rezolvarea sistemului de ecuatii 1.47 i 1.48 se obtin valorile pentru V IH i s s VO punctul caracteristicii cu panta -1. n s Regiunea E . VI VDD Vpp deci pMOS este blocat, IDSn = 0 i este echivalent unui contact deschis. Tranzistorul nMOS are VGS > Vpn i este regiunea liniar cu s n a a as n a IDSn = 0, conform relatiei 1.39. Fiind regiunea liniar cu I DSn = 0 rezult c i a VDSn = 0 adic : VO = VOL = 0 (1.49) 1.5.2.2 Proiectarea inversorului CMOS

Proiectarea, sau sinteza, unui inversor CMOS const determinarea dimensiua n nilor geometrice ale canalelor (W/L)n , (W/L)p necesare realizrii layoutului, pornind a de la parametrii caracteristici de proces (Vpn , Vpp , Dox , Cox etc.), astfel at s nc a se obtin o caracteristic de transfer VO = f (VI ) i anumite performante dinamice a a s cerute. Poate parcurs i traseul invers, adic analiza, pentru un inversor deja res a alizat, ntr-un anumit proces i cu un anumit layout, s se determine caractersitica s a de proces i performantele dinamice (eventual acestea s e comparate cu valorile s a obtinute experimental). Fiind date VDD , Vpn i Vpp i impus o anumit valoare a tensiunii de prag de s s a a comutatie VT din relatia 1.46 se deduce expresia pentru raportul n /p : n = p VDD + Vpp VT VT Vpn
2

(1.50)

Considernd c inversorul este ideal, adic are tensiunea de prag logic de comutatie a a a la jumtatea tensiunii de alimentare, ca Figura 1.33-c, a n VTideal = se obtine: n p =
ideal

1 VDD 2
2

(1.51)

Caracteristica static VO = f (VI ) poate simetric dac tensiunile de prag ale a a a tranzistoarelor sunt egale valoare absolut V pn = |Vpp |. Astfel din relatia 1.52 se n a obtine valoarea raportului n /p pentru inversorul ideal i cu o caracteristic simet s a ric: a n =1 (1.53) p

0, 5VDD + Vpp 0, 5VDD Vpn

(1.52)

84 Expresia explicit a raportului n /p este : a n Cox n = p p Cox


W L n W L p

1.5. PORTI TEHNOLOGIA CMOS IN

n p

W L n W L p

(1.54)

care s-a considerat c grosimea stratului de oxid de sub poart D ox , consecinta n a a n i Cox = ox /Dox , au aceleai valori pentru ambele tranzistoare. Mobilitatea purttos s a rilor, mai mare cam de dou ori a electronilor fata de cea a golurilor, scade odat cu a a doparea cu impuriti a substratului i cu creterea temperaturii. Lund valori tipice at s s a pentru mobiliti n = 580cm2 /V s, p = 230cm2 /V s i introduse raportul at s n unitar din relatia 1.54 se obtine:
W L n W L p

p 230cm2 /V s = n 580cm2 /V s W L

(1.55)

Rezult relatia cantitativ a a ntre coecientii de form ai celor dou canale: a a W L 2, 5 (1.56)
n

iar cazul cnd se realizeaz aceeai lungime pentru ambele canale, L n = Lp , rezult n a a s a relatia ntre limea canalelor Wp = 2, 5Wn . at
[V] 6 5 4 3 2,5 2 1 45 0 1 2 2,5 3 4 5 VO V DD =5V, V pn=1V, V pp=1V n / p =0,25 n / p =1 n / p =4 N V T1=2V V T2=2.5V V T3=3V VI 6 [V]

Figura 1.34 Dependenta tensiunii de prag (logic) de comutatie a inversoru lui functie de valoarea raportului n /p . n Din relatia 1.50 se observ c exist o dependenta a a a ntre raportul n /p i valoarea s tensiunii de prag logic de comutatie a inversorului. Pentru a obtine caracteristici statice cu prag de comutatie VT mai ridicat trebuie micorat limea Wn a canalului s a at n raport cu limea Wp a canalului p (considernd c lungimile de canal rmn n at a a a a neschimbate ), Figura 1.34.

CAPITOLUL 1. PORTI LOGICE

85

Pentru inversorul ideal i caracteristica simetric ( n /p = 1, Vpn = |Vpp |) din s a relatia 1.44 se obtine expresia pentru VIL : VIL = 1 (3VDD 2Vpn ) 8 (1.57)

iar din relatia 1.49 relatia pentru VIH : VIH = iar suma lor rezult a VIH + VIL = VDD deci ntr-un inversor simetric suma VIH + VIL este constant. a Se pot calcula marginile de zgomot curent continuu M L , MH : n ML MH care sunt egale : MH = ML = VIL (1.61) = = VIL VOL VOH VIH = VDD VIH (1.59) 1 (5VDD 2Vpn ) 8 (1.58)

(1.60)

Exemplul 1.15 Pentru inversorul CMOS realizat cu urmtorii parametrii: VDD = 5V , a Vpn = 1V , Vpp = 1, 2V , n = 100A/V 2 , p = 40A/V 2 s se calculeze valorile pentru a marginile de zgomot curent continuu MH , ML . n Solutie. Problema nu este de sintez ci este de analiz. Se observ c nu este un inversor a a a a simetric Vpn = |Vpp |; n /p = 2, 5. Valorile pentru VOL = 0V , VOH = VDD = 5V rezult din relatiile 1.42 i 1.49 iar cele a s pentru VIL i VIH se calculeaz felul urmtor: din relatia 1.44 rezult VIL s a n a a
VIL = 0, 57VO 1, 06 prin introducerea expresiei lui VIL relatia 1.43 se obtine: n 2, 5(0, 57VO 1, 06 1)2 = 2(0, 57VO 1, 06 5 + 1, 2)(VO 5) (VO 5)2 Numai solutia pozitiv a ecuatiei corespunde zic problemei (VO > 0) VO = 4, 8V cu care se a calculeaz VIL = 0, 57VO 1, 06 = 1, 68V . a Din relatia 1.49 rezult VIH a VIH = 1, 43VO + 1, 8 prin introducerea expresiei VIH relatia 1.47 se obtine: n
2 (1, 43VO 2)2 = 2, 5 2(1, 43VO + 1, 8 1)VO VO 2 2, 61VO + 9, 72VO 4 = 0 2 0, 66VO 0, 46VO 13 = 0

La fel, numai solutia pozitiv a ecuatiei corespunde zic problemei VO = 0, 37V cu care se a calculeaz VIH = 1, 43 0, 37 + 1, 8 = 2, 33V . a

86
Si ia nal : n

1.5. PORTI TEHNOLOGIA CMOS IN

MH = VOH VIH = 5 2, 33 = 2, 67V

ML = VIL VOL = 1, 68 0 = 1, 68V

Pe intervalul Vpn VI VDD + Vpp se observ din Figura 1.33-c c ambele a a tranzistoare conduc, deci exist un curent de scurtcircuit a ntre V DD i VSS . Durata s acestor impulsuri de curent de scurtcircuit, curba I DSn = IDSp trasat punctat a n Figura 1.33-c, depinde de durata de excursie a tensiunii de intrare sens cresctor n a ntre valorile Vpn i VDD + Vpp i sens descresctor. Durata de excursie este cu att s s n a a mai scurt cu ct panta fronturilor semnalelor de comand, aplicate pe poart, este a a a a mai mare. Puterea disipat Pd la inversorul CMOS are cele trei componente explicate a n sectiunea 1.3. Pd = Pdcc + Pdca = Pdcc + Pdsc + Pdc (1.62) regim static, regiunile A i E din caracteristica static, Figura 1.33-c, In s a teoretic, puterea disipat Pdcc este zero, deoarece e tranzistorul nMOS, e pMOS a sunt blocate, deci IDSn = IDSp = 0. realitate exist o putere disipat de valoare In a a redus datorit unui curent rezidual IDS (= IDDQ ) care are dou cauze. Prima, cnd a a a a VGS < |Vp | exist un curent canal de ordinul A datorit conductiei de sub prag a n a Iof f . A doua, prin jonctiunile polarizate invers, formate ntre zonele difuzate n + i s + substratul de tip p la nMOS i zonele difuzate p i substratul de tip n la pMOS, s s exist un curent de conductie spre substrat. Acest curent rezidual, notat prin I DDQ a curentul ntre VDD i VSS regim stationar, poate utilizat pentru o prim metod s n a a simpl de testare a unui circuit integrat CMOS. Valoarea normal a lui I DDQ se poate a a estima sau se poate msura la un circuit (vericat) care are o functionare normal. a a Dac la un circuit prin msurare se determin, regim stationar, pentru curentul a a a n absorbit de la sursa de alimentare o valoare mai mare dect cea normal a lui I DDQ a a atunci acel circuit prezint o cale de scurtcircuit de la V DD la VSS , deci este defect. a Puterea disipat regim dinamic Pdca apare pe durata cnd inversorul are punca n a tul de functionare regiunile B , C , D , Figura 1.33-c, ca o putere de scurtcircuit n Pdsc i ca o putere consumat pentru arcarea i descrcarea condensatoarelor ins a nc s a terne i de sarcin, Pdc . s a Intr-o schem echivalent, similar celei din Figura 1.18, a a a toate capacitile sunt incluse at ntr-o singur capacitate de sarcin C L conectat la a a a ieire, iar puterea disipat pe aceast capacitate echivalent, conform relatiei 1.24, s a a a este egal cu : a
2 Pdca = CL VDD f

(1.63-a)

Reducerea puterii disipate se poate realiza prin reducerea oricruia din factorii a produsului din relatia 1.63-a. Cea mai indicat modalitate de reducere a puterii este a prin scalare complet, Tabelul 1.11 (actual, s-a ajuns la tensiuni de alimentare de a VDD = 0, 8V ). Puterea disipat de scurtcircuit Pdsc , apare, ca i Pdc , pe durata tranzitiilor de la a s H L i LH cnd VDD este scurtcircuitat la VSS . Reducerea valorii medii a puterii s a a Pdsc se poate obtine prin comanda inversorului cu semnale cu fronturi bine formate

CAPITOLUL 1. PORTI LOGICE

87

(abrupte). Aceast component Pdsc de putere disipat este greu de calculat, practic a a a se estimeaz ca un procent din Pdc (uzual < 0, 2Pdc ), consecinta se consider c a n a a puterea total disipat regim dinamic este P dca 1, 2Pdc . a a n O relatie utilizat cu succes evaluarea puterii disipate P d este: a n
2 Pd = CL VDD f + Iof f VDD

(1.63-b)

care ine cont i de componenta de putere disipat curent continuu produs de t s a n a curentul de subprag Pdcc = Iof f VDD ; la dimensiuni sub 0, 1m i VDD < 1, 8V s curentul Iof f are o cretere pronuntat. -este coecientul (mediu) al activitii de s a at comutatie (procentajul de timp care dispozitivul este functiune). n n Micorarea frecventei nu este o cale de reducere a puterii disipate deoarece se os pune tendintei de cretere a vitezei sistemelor. Dar printr-o analiz a sistemului se s a pot identica anumite componente care pot functiona i la frecvente mai mici dect s a frecventa maxim fr a reduce din performantele de vitez ale sistemului. plus, a aa a In uneori, chiar componentele care functioneaz la frecvente ridicate pot oprite pe a anumite intervale de timp (1 ). 1.5.2.3 Tehnologia de fabricatie a inversorului CMOS

Tehnologia de fabricatie a inversorului CMOS, pentru explicatie, poate consid erat o extensie a tehnologiei de realizare a tranzistorului MOS, Figura 1.31. Dia cultatea care apare acum const faptul c, de data aceasta, cele dou tranzistoare a n a a complementare nMOS i pMOS ar trebui implementate acelai substrat. Solutia s n s pentru aceast incompatibilitate, de realizare acelai substrat, este difuzarea a n s n substratul initial a unei insule (well) care va constitui un al doilea substrat i astfel s unul din tranzistoare se implementeaz substratul initial iar cellalt al doilea a n a n substrat (insul). Dac substratul initial este de tip p se difuzeaz o zon (insul) a a a a a de tip n care va implementat tranzistorul pMOS, ca Figura 1.35-b, iar dac n n a substratul initial este de tip n se difuzeaz o zon de tip p care va implementat a a n tranzistorul nMOS. Dup realizarea insulei de substrat, etapele de fabricare a ecrui tranzistor sunt a a cele descrise sectiunea Tehnologia de fabricatie a tranzistorului MOS (1.5.1.1) cu n diferenta c atunci cnd se difuzeaz sursa i drenul tranzistorului nMOS se difuzeaz a a a s a i o zon n+ de contact VDD fereastra pentru tranzistorul pMOS. Iar atunci cnd s a n a se difuzeaz sursa i drenul tranzistorului pMOS se difuzeaz plus i o zon p + de a s a n s a contact VSS fereastra pentru tranzistorului nMOS. Aceste difuzii de contact (cu n VSS la tranzistorul nMOS i cu VDD la tranzistorul pMOS) nu formeaz o jonctiune s a cu substratul respectiv, de aceeai conductivitate, ci un contact ohmic. Apoi, pe s deasupra stratului gros de oxid de cmp se realizeaz prin trasee metalice conexiunile a a ntre : 1- zona de dren nMOS cu zona de dren pMOS care constituie ieirea inversorului; s 2- sursa nMOS cu zona p+ de contact VSS i s mpreun la trasa pentru potentialul a VSS ; 3- sursa pMOS cu zona n+ de contact VDD i s mpreun la trasa pentru potentialul a VDD .

88
intrare

1.5. PORTI TEHNOLOGIA CMOS IN

a) Sectiune AA

V DD

PMOS

iesire

NMOS Iesire

V SS

n+

p+

p+

contact metalic V DD A n+

V DD

insula difuzata

p+

p+

b)

iesire n+ trasee metalice

Figura 1.35 Inversorul CMOS: a) schema electric; b) layout-ul pe substratul de a Si i sectiunea vertical AA substrat (tranzistorul pMOS este realizat substratul s a n n (insula) de tip n).

De asemenea, nainte de difuziile de dren i surs de tip n + i de tip p+ , pentru s a s cele dou tranzistoare, se realizeaz din polisiliciu traseul pentru poarta comun a a a a inversorului care va constitui intrarea. Problema pe care o are proiectantul siliciu este de a transforma schema electric n a a circuitului layout. Dar cum se poate face simplu aceast trecere? Liniile n a ntre terminalele tranzistoarelor de pe schema electric vor reprezenta trasee metalice pe a layout, aceste trasee metalice au contacte metalizate la cele dou capete ca terminale. a La dou linii de conexiune desenul electric, care nu trebuie s se intersecteze, le a n a corespund dou trasee, planuri diferite, de metalizare. a n Un exemplu simplu de trecere de la schema electric la layout este dat Figura a n 1.36 pentru un inversor CMOS. Linia de conexiune ntre terminalele de dren ale canalelor n i p de pe schema electric, Figura 1.36-a, este substituit cu o tras s a a a metalic pe suprafata superioar a oxidului de cmp evident, cu contacte la cele a a a dou capete (ptratele a a negrite de la capetele trasei metalice), Figura 1.36-b. La fel, conexiunea zonelor de surs la liniile de VSS i VDD se realizeaz prin trase metalice, a s a n

}~ }~ }~ }~ }~ yz {| }~ yz {| }}~~ yzyz }~}~ yzyz }~ }~ }~ }~

substrat n

Intrare (polisiliciu)

wx wx wx wx wx }~ }~ }~ }~ }~ wxwx wxwx wxwx wxwx wxwx }~ }~ }~ }~ }~ {| {| wxwxwxwx {| wxwxwxwx {| wxwxwxwx {| wxwxwxwx {| wxwxwxwx {| }}~~ {| }~}~ {| }~}~ yzyzyz {| }~}~ yzyzyz {| }~}~ yzyzyz {| wxwx wxwx wxwx wxwx wxwx }~ }~ }~ }~ }~ wxwx wxwx wxwx wxwx wxwx }~ }~ }~ }~ }~ wxwx wxwx wxwx wxwx wxwx }~ }~ }~ }~ }~
n+ n+ p+ substrat p V SS contact substrat V SS n+ p+

Intrare (polisiliciu)

}~ }~ }~ }~ uv } uv uv uv uv }~ }~ }~ }~ uvuv } uvuv uvuv uvuv uvuv }~ yz }~ yz }~ }~ uvuv } uvuv uvuv uvuv uvuv }~ yzyz {| }~ yzyz {| }~ {| }~ {| uvuv } {| uvuv {| uvuv {| uvuv {| uvuv {| }~ }~ }~ }~ uvuv } uvuv uvuv uvuv uvuv }~ }~ }~ }~ uvuv } uvuv uvuv uvuv uvuv }~ }~ }~ }~ uvuv } uvuv uvuv uvuv uvuv  

  {|

Figura 1.36 Succesiunea etapelor de transformare a schemei electrice n layout pentru un inversor CMOS


Gn c) V SS S V SS V DD f) Contact la substart V SS Intrare Cp+ Sursa Sursa Poarta Poarta d) V SS Gn Dren Dren


a) V SS Intrare V SS V DD Gn nMOS pMOS S Cp+ D Gn b) Iesire Dren Dren S


V DD S D D Contact la substart V DD C n+ Intrare V DD Gp

CAPITOLUL 1. PORTI LOGICE

Intrare

V DD

Gp

e)

Iesire

C n+

Gp

Poarta Sursa Sursa Poarta D D S Gp

nMOS pMOS Iesire Iesire

89

90

1.5. PORTI TEHNOLOGIA CMOS IN

acelai timp se conecteaz i contactele de substrat p + i n+ respectiv la trasele VSS i s as s s VDD , Figura 1.36-c. Si nal, conexiunea comun de poart este substituit cu trasa n a a a de siliciu policristalin, Figura 1.36-d. Layout-ul este complet dac i simbolurile de as tranzistoare sunt substituite cu geometria acestora pe siliciu, Figura 1.36-e i 1.36-f (ss au realizat dou variante de layout pentru tranzistoarele inversorului CMOS). Pentru a circuite mai complexe exist reguli de trecere care genereaz prti de layout cu un a a a grad mare de repetabilitate (repetabilitatea este o caracteristic dorit obtinerea a a n unui layout deoarece determin un cost mai sczut i poate duce la un circuit cu a a s abilitate mai ridicat). a 1.5.2.4 Regimul dinamic al inversorului

Pe lng nivelurile de tensiune, denite regimul static pe caracteristica a a n VO = f (VI ), practica sistemelor digitale sunt necesari i parametrii de timp deniti n s regimul dinamic. Parametrii de timp pentru semnalul de ieire: timpul de cretere n s s LH i timpul de de descretere HL sunt deniti ca Figura 1.15-a iar timpul de s s n propagare H L, pHL , i timpul de propagare L H, pHL , sunt deniti ca s n Figura 1.15-b. Timpul de propagare pe un nivel inversor se calculeaz cu relatia a 1.20, p = (pHL + p LH )/2. Se consider dou inversoare CMOS a a nseriate cu reprezentarea tuturor capacita ilor parazite ale ecrui tranzistor, Figura 1.37-a. aceast reprezentare CGD i t a In a s CGS sunt capacitile gril-dren i gril-surs datorate suprapunerii partiale a trasei at a s a a de gril peste zonele difuzate dren i surs, C DB i CSB sunt capacitile dependente a s a s at de tensiune ale jonctiunilor dren-substrat i surs substrat, C GB capacitatea gril s a a substrat este capacitatea stratului de oxid de sub poarta ecrui tranzistor iar C cox a este capacitatea datorit conexiunilor (traselor) polisiliciu sau metalice a n ntre ieirea s primului inversor i intrarea urmtorului inversor. Calculul tensiunii de ieire v O , s a s lund considerare toate aceste capaciti, devine foarte complicat chiar i pentru a n at s un circuit simplu. De foarte multe ori, practic, pentru simplicare calculului, toate n a aceste capaciti sunt at nglobate ntr-o singur capacitate echivalent C L , considerat a a a ca o capacitate de sarcin, conectat la iesirea inversorului, Figura 1.37-b, conform a a relatiei: CL = CGDn + CGDp + CDBn + CDBp + Ccox + CGB (1.64) capacitatea de sarcin echivalent CL nu sunt incluse CSBn i CSBp deoarece In a a s ambele surse sunt conectate la substraturile corespunztoare deci nu au un efect a regim dinamic. De asemenea, nu sunt incluse C L capacitile CGSn i CGSp n n at s deoarece acestea sunt conectate ntre nodul de intrare i mas respectiv s a ntre nodul de intrare i VDD . s Studiul regimului dinamic se face pe circuitul echivalent din Figura 1.37-b aplicnd a la intrare un semnal cu variatia dreptunghiular v I i determinnd variatia timp a a s a n tensiunii de ieire vO . Pentru variatia 0 1 la intrare, condensatorul C L arcat la s nc tensiunea VDD se va descrca prin tranzistorul nMOS (pMOS este blocat), tensiunea a vO avnd o variatie exponential de la VOH la VOL . Din variatia timp a tensiunii a a n vO se pot determina parametrii de timp HL i pHL . Iar pentru variatia 1 0 la s intrare, CL se ncarc pn la tensiunea VDD prin tranzistorul pMOS (nMOS este a a a blocat), tensiunea vO avnd o variatie exponential de la VOL la VOH ; din variatia a a n

CAPITOLUL 1. PORTI LOGICE

91
V DD pMOS

V DD nMOS

C GSp S D

C SBp

vI

C GDp C GDn D

C DBp C DBn

vO

vI vI

iDp vO iC iDn nMOS CL

pMOS C GSn a)

S C SBn
C COX

C GB b)

Figura 1.37 Inserierea a dou inversoare CMOS: a) reprezentarea capacitilor a at interne (parazite) pentru un inversor; b) schem echivalent simplicat . a a a timp a tensiunii vO se pot determina parametrii de timp LH i pLH . Pentru calculul s acestor parametri de timp se vor expune succint urmtoarele patru metode: a 1- Simulare SPICE; n 2- Metoda curentului constant; 3- Metoda analitic; a 4- Metoda empiric. a 1. Simularea SPICE (NIVEL2 i NIVEL3, vezi 1.5.1.2 i exemplul de simun s s lare, ANEXA1 din vol. II) se poate face pe baza circuitului din Figura 1.37-a, cu luarea considerare a tuturor efectelor de ordinul al doilea modelul matematic n n IDS = f (VDS , VGS ) al tranzistorului i a parametrilor de proces, consecinta valorile s n obtinute pentru parametrii de timp au abateri minime fata de cele reale. practic, In a de multe ori, pentru determinri fr precizie ridicat dar efectuate simplu i rapid, a aa a s sunt utilizate una din celelalte (urmtoare) trei metode. a 2. Metoda curentului constant. Aceast metod, dup cum i denumirea indic, a a a s a consider valori constante pentru curentul de arcare i descrcare ale condensatorua nc s a lui CL , aproximate prin valori medii ImHL i ImLH . consecinta, cu aceste valori s In medii, se pot calcula simplu parametrii pHL i pLH felul urmtor: s n a pHL = pLH = CL VHL CL (VOH V50% ) = ImHL ImHL CL (V50% VOL ) CL VLH = ImLH ImLH (1.65) (1.66)

92

1.5. PORTI TEHNOLOGIA CMOS IN

Iar valorile ImHL i ImLH se calculeaz ca medie aritmetic ale curentilor prin tranziss a a toarele nMOS respectiv pMOS punctele de n nceput i de sfrit ale tranzitiei: s as 1 [iC (pentru vI = VOH , vO = VOH ) + iC (pentru vI = VOH , vO = V50% )] 2 (1.67) 1 ImLH = [iC (pentru vI = VOL , vO = V50% ) + iC (pentru vI = VOL , vO = VOL )] 2 (1.68) 3. Metoda analitic. Variatia tensiunii vO timp poate determinat prin a n a rezolvarea ecuatiei de stare pentru nodul de ieire al circuitului din Figura 1.37-b s ImHL = CL dvO = i C = i Dp i Dn dt (1.69)

a s s care pentru iDp i iDn sunt considerate exprimrile date prin relatiile 1.33 i 1.36. n La excursia H L a tensiunii de ieire (pMOS este blocat) tranzistorul nMOS la s nceput este regimul de saturatie iar cnd v O VDD V pn trece regimul liniar. n a n Pentru excursia L H a tensiunii de ieire (nMOS este blocat) tranzistorul pMOS s la nceput este regim de saturatie i apoi cnd v O VDD + Vpp trece i regimul n s a s n liniar. rezolvarea ecuatiei 1.69 se jonctioneaz intervalul de timp cnd tranzistorul In a a este regim liniar de functionare, se utilizeaz relatia 1.33, cu intervalul de timp n a cnd tranzistorul este regimul de saturatie, se utilizeaz relatia 1.36. Se obtin a n a urmtoarele expresii pentru HL i LH [Weste 92]. a s HL LH CL K VDD n K CL VDD p (1.70) (1.71)

care K = 3 4 pentru VDD = 3 5V , i Vpn i |Vpn | au valori n s s ntre (0, 5 1)V . Pentru un inversor la care factorii de form ai celor dou tranzistoare sunt egali a a W W a a a L n = L p (rezult din relatia 1.54 c n = 2p , pentru c n = 2p ) se obtine din 1.70 i 1.71 o relatie uzual cunoscut practica proiectrii: s a a n a HL = LH 2 (1.72)

adic semnalul de ieire vO (t) tranzitiile nu sunt egale, durata tranzitiei de la a n s L H este aproximativ de dou ori mai lung dect durata tranzitiei de la H L. a a a Pentru obtinerea unui semnal de ieire cu tranzitii H L i L H simetrice, la s s ieirea inversorului, trebuie ca n /p = 1 ceea ce implic, pentru lungimi egale de s a canal, s se realizeze canalul p cu o lime cam de dou pn la trei ori mai mare a at a a a dect limea canalului n (n 2p ). a at Wp (2 3)Wn (1.73) 4. Metoda empiric. Prin simulare SPICE, pentru o variant de inversor, se a n a determin valoarea exact a constantei K din relatiile 1.70 i 1.71. Apoi,utiliznd a a s a aceast valoare determinat pentru K, pentru alte variante de inversor, realizate a a n aceeai tehnologie, se calculeaz HL i LH cu relatiile 1.70 i 1.71. s a s s

CAPITOLUL 1. PORTI LOGICE

93

Exemplul 1.16 Pentru o turntorie de siliciu care are un proces cu urmtorii paraa a metrii: n Cox = 30A/V 2 , p Cox = 10A/V 2 , L = 1m att pentru canal n ct i pentru a a s canal p, Vpn = 1, 0V , Vpp = 1, 5V , Wmin = 2m s se dimensioneze un inversor CMOS, a limile de canal Wn i Wp , at s se obtin urmtoarele caracteristici: at s nc a a a
1. VT = 2V pentru VDD = 5V ; 2. Durata timpului de cdere HL s e de 2ns cnd tensiunea vO are variatia de la 4V a a a la 1V . Solutie. Considernd saltul vI instantaneu de la 0 la 5V rezult c atunci cnd a n a a a vO = 4V tranzistorul nMOS trece din regimul de saturatie regimul liniar (VDS = 4V n VGS VP = 5V 1V = 4V ) deci ecuatia 1.69 se introduce exprimarea din relatia 1.33: n CL 1 Wn dvO 2 = n Cox 2(VOH Vpn )vO vO dt 2 Ln

iar prin integrare se obtine HL = = 2 1016 = 2C


vO =1 vO =4 Wn Ln

1 1012 n 30 1016 Wn 4 L

n Cox

dvO = 2 [2(VOH Vpn )vO vO ]

Wn = 8, 1 Ln i pentru Ln = 1m rezult Wn = 8, 1m s a Conditia impus VT = 2V ne ajut s obtinem dimensiunea inversorului. Conform a a a relatiei 1.46 se poate scrie: 2= Vpn +
p (VDD n

din care se obtine pentru canalul n

+ Vpp )

1+ iar raportul n /p se obtine ca ind

p n

n n Cox Wn n 9 L = = Wp p 4 p Cox Lp

rezult limea Wp (pt Lp = 1) a at Wp = 3 n Wn 4 p = 8, 1 = 10, 8m n p 9 1

Deci inversorul cu dimensiunile L = 1m, Wn = 8, 1m i Wp = 10, 8m satisface s conditiile impuse.

Exemplul 1.17 Pentru un oscilator inel s se determine frecventa de oscilatie. n a Solutie. Un oscilator inel, dup cum i denumirea indic, se obtine prin conectarea n a s a n inel a unui numr n impar de inversoare. a Inchiderea buclei peste un singur inversor vI = vO determin o instabilitate deoarece avnd variatii permanent opuse se comand ca intrarea a a a s se modice din 1 0 i invers, la fel i ieirea din 0 1 i invers. Singurul punct de a s s s s functionare cnd vI = vO , este la tensiunea de prag de comutatie a inversorului VT , dar a

94

1.5. PORTI TEHNOLOGIA CMOS IN

dup cum s-a vzut din Figura 1.33-c acesta nu este un punct stabil de functionare. Acelai a a s rationament se poate extinde cnd sunt cuprinse bucl un numr impar de inversoare, a n a a Figura 1.38-a. Considernd inversoarele identice cu HL = LH i pHL = pLH = p variatiile a s tensiunilor vO1 , vO2 i vO3 sunt reprezentate Figura 1.38-b. Perioada T a oscilatiilor se s n poate calcula simplu : T = pHL1 + pLH1 + pHL2 + pLH2 + pHL3 pLH3 = 2p + 2p + 2p = 6p iar frecventa oscilatiilor rezult (pentru un numr n de inversoare) a a

vO1 C L1

vO2 C L2 vO2

vO3 C L3 vO1

vO V OH

vO2

vO1 vO3

vO3

V 50%

V OL
pLH2 pLH3 pHL1 pHL2 pHL3 pLH1

Figura 1.38 Oscilatorul inel: a) structur cu trei inversoare; b) formele de n a variatie ale tensiunilor vO1 , vO2 , vO3
f= 1 1 = T 2np (1.74)

Aceast relatie poate utilizat pentru determinarea timpului de propagare p pentru un a a inversor. tehnologia respectiv, pe o plachet se realizeaz pentru test un numr impar In a a a a de inversoare, general un numr mai mare de trei, care se conecteaz inel. urma n a a n In msurrii frecventei de oscilatie se poate determina, cu relatia 1.74, timpul de propagare. a a Pentru tehnologia respectiv, apoi, se poate exprima timpul de propagare al circuitelor mai a complexe ca multiplii de p (vezi metoda efortului logic).

1.5.3

Familia de porti logice CMOS

Circuitul inversor CMOS, ca i inversorul bipolar pentru portile TTL, este celula s de baz structurarea portilor CMOS; portile CMOS pot obtinute prin extensia a n circuitului inversor, respectiv portile CMOS pot reduse la o structur echivalent a a de inversor.

CAPITOLUL 1. PORTI LOGICE

95

Inversorul CMOS prin cele dou canale n i p are o complementaritate modul a s n de a comandat, o comand de 1 logic pentru canalul n este o comand de 0 logic a a pentru canalul p i invers, ceea ce permite ca ramura p a inversorului s e privit ca s a a duala ramurii n i invers. Dar, realiznd conexiuni (retele) care pot serie, paralel, s a serie-paralel i paralel-serie cu ramuri de tip n conceptul dualitii s n at nseamn c a a reteaua corespunztoare format din ramuri p trebuie s e respectiv paralel, serie, a a a paralel-serie i serie-paralel. Duala unei relatii logice se obtine conform relatiei 1.2 s iar pentru axiomele i teoremele algebrei booleene formele duale sunt prezentate s n Tabelul 1.2 (duala lui AND este OR i invers). s Mai multe tranzistoare conductie, e cu canal n e cu canal p, toate avnd n a aceeai tensiune de prag i neglijnd efectul de polarizare a substratului, cnd sunt s s a a ntr-o retea, conectate paralel sau serie, pot substituite cu un singur tranzis n n tor echivalent conductie. Deoarece conductanta canalului este proportional cu n a coecientul de form al tranzistorului W/L, dimensiunile canalului tranzistorului a echivalent al retelei se calculeaz cu relatii similare conectrii serie sau par a a n n alel a conductantelor. Astfel coecientul de form al tranzistorului echivalent pentru a conectarea a k tranzistoare paralel se calculeaz cu relatia: n a W L
k

=
echivalent i=0

W L

(1.75)
i

respectiv pentru conectarea a k tranzistoare serie: n W L =


echivalent

1
k i=0 1

(1.76)

( )i
W L

1.5.3.1

Poarta NOR i NAND cu dou intrri s a a

Amintind faptul c operatorul OR poate modelat prin conexiunea paralel a ela a ementelor de comutatie iar operatorul AND prin conexiunea serie apare foarte simpl a modalitatea de a structura portile NOR i NAND. s Structura portii NOR cu dou intrri (NOR2), Figura 1.39-a, const din dou in a a a a versoare la care ramurile canalelor n formeaz o retea paralel iar ramurile canalelor a a p formeaz o retea serie. Cnd cel putin una din intrrile A sau B este starea H a a a n reteaua n creaz o cale de conductie a nodului de ieire spre mas, V O =VOL , reteaua a s a complementar p nu este conductie. Iar cnd ambele intrri sunt starea L, a n a a n reteaua p creeaz o cale de conductie a ntre V DD nspre nodul de ieire, VO = VOH , s reteaua n nu este conductie. Pentru determinarea tensiunii de prag (logic) de n comutatie a portii VT (VA = VB = VO = VT ) poarta NOR cu dou intrri este substi a a tuit cu structura echivalent a unui inversor cu coecientii n /2 i 2p , Figura 1.39-b. a a s Rescriind relatia 1.46 pentru aceti coecienti rezult expresia pentru tensiunea de s a prag de comutatie a portii NOR2. Vpn +
p 4n

VT (N OR2) =

(VDD |Vpp |)
p 4n

(1.77)

1+

96

1.5. PORTI TEHNOLOGIA CMOS IN

Dac n = p i Vpn = |Vpp | tensiunea de prag de comutatie a inversorului CMOS a s este VDD /2 pe cnd a portii NOR2 din relatia 1.77 rezult a a VT (N OR2) = VDD + Vpn 3 (1.78)

care este diferit de VDD /2. De exemplu, pentru VDD = 5V i Vpn = |Vpp | = 1V se a s obtine VT (IN V ERSOR) = 2, 5V i VT (N OR2) = 2V . s Relatia 1.77 pote utilizat pentru proiectarea portii NOR2 care dac se impune a n a tensiunea de prag (logic) de comutatie VT rezult relatia a ntre n i p . De exemplu, s pentru VT = VDD /2 i Vpn = |Vpp | rezult p = 4n (cu Ln = Lp Wp = 4Wn ). s a ,, Layoutul portii NOR2 este compus dintr-o linie de difuzie de tip p+ pentru zonele de surs i dren ale celor dou tranzistoare T3 i T4 realizate insula difuzat de tip as a s n a n i la fel o linie de difuzie de tip n+ substrat care realizeaz zonele de dren i surs s n a s a ale tranzistoarelor T1 i T2. Poarta comun pentru nMOS T1, pMOS T3 i poarta s a s comun pentru nMOS T2 i pMOS T4 sunt sub forma a dou bare (trase) verticale a s a realizate din polisiliciu. La extremitatea de sus i extremitatea de jos a layoutului s sunt trasele metalice pentru VDD i VSS (mas) cu conexiunile metalizate (ptrele s a a at negrite) corespunztoare la zonele (liniile) de difuzie p + i n+ respectiv din insula a s difuzat n i din substrat. Trasa de ieire VO , metalic sau din polisiliciu, conecteaz a s s a a ntre ele cele dou linii difuzate de canal n + i p+ . Realizarea tranzistoarelor linii a s n de difuzie paralele simplic att layoutul ct i tehnologia; toate zonele de tip n + se a a a s realizeaz cu o singur difuzie la fel i toate zonele de tip p + , iar barele verticale ale a a s portilor de polisiliciu servesc i ca mti cu autoaliniere procesul de difuzie. Acest s as n mod de organizare structurat constituie o conditie conceperea unor metode de a n generare automat a layoutului. a
V DD T3 A T4 p p VO VI p/2 VO V DD Linie de difuzie p+ V DD

T3 Insula n

T4

B T1 V SS a) b) n T2 n V SS 2 n V SS c)

T1

T2

VO

A B Linie de difuzie n+

Figura 1.39 Poarta NOR cu dou intrri: a) stuctur; b) schema inversorului a a a echivalent portii; c) layoutul portii structurat pe o linie de difuzie n + i o linie de s difuzie p+ .

CAPITOLUL 1. PORTI LOGICE

97

Poarta NAND cu dou intrri (NAND2), Figura 1.40-a, poate privit ca ind a a a format din dou inversoare la care canalele n formeaz o retea serie iar canalele p a a a formeaz o retea paralel. Se creeaz o cale de conductie de la nodul de ieire spre a a a s mas, VO = VOL , prin tranzistoarele T1 i T2 serie numai cnd ambele intrri A,B a s n a a sunt nivelul H, iar tranzistoarele T3 i T4 ale retelei complementare p sunt blocate. n s Pentru toate celelalte trei combinatii ale nivelurilor intrrilor A,B unul sau ambele a tranzistoare ale retelei p conduc, reteaua n nu conduce, iar tensiunea de ieire are s valoarea VO = VOH .
Linie de difuzie p+ V DD V DD V DD

T3 A

T4

2p VI VO

T3

T4

T2 T1 V SS

VO
n/2

Insula n VO

T1 V SS c)

T2

V SS b)

a)

Linie de difuzie n+

Figura 1.40 Poarta NAND cu dou intrri: a) stuctur; b) schema inversorului a a a echivalent portii; c) layoutul portii structurat pe o linie de difuzie n + i o linie de s difuzie p+ . Tensiunea de prag (logic) de comutatie a portii, relatia 1.46, aplicat pentru in a versorul echivalent din Figura 1.40-b, are expresia: VT (N AN D2) = Vpn + 2
p n

(VDD |Vpn |)
p n

(1.79)

1+2

Pentru valorile n = p , Vpn = |Vpn |, la care pragul logic de comutatie al inver sorului CMOS este VDD /2 , portii NAND2 corespunde o tensiune de prag logic de i comutatie: 2VDD |Vpp | VT (N AN D2) = (1.80) 3 Din relatia 1.79 rezult c pentru a obtine un prag logic de V DD /2 cnd Vpn = |Vpp | a a a este necesar a ndeplinirea conditiei n = 4p ; relatia 1.80 poate utilizat pentru a dimensionarea layoutului portii NAND2 cnd se impune o anumit valoare pentru a a VT .

98

1.5. PORTI TEHNOLOGIA CMOS IN

Layoutul portii NAND2, Figura 1.40-c, este structurat i realizat pe dou linii de s a difuzie, mod asemntor cu cel al portii NOR2 din Figura 1.39-c. n a a Trecerea de la schema electric a circuitului la layout se poate face conform suca cesiunii de pai prezentati Figura 1.36. Totui, pentru circuite complexe, aceast s n s a trecere direct poate dicil consecinta se utilizeaz initial o form simplia a n a a cat/intermediar de layout (stick diagram). Forma simplicat contine informatii a a a despre plasarea relativ a tranzistoarelor i a conexiunilor dintre acestea, Figura 1.41. a s aceste forme simplicate suprafetele difuzate (liniile de difuzie n + i p+ ) sunt In s reprezentate sub forma unor dreptunghiuri (Wn i Wp ), traseele metalice sunt simple s linii de conexiune avnd pentru contacte punctele evidentiate, iar barele de polisilia ciu pentru porti sunt coloane haurate. Conform acestor reguli pentru trecerea din s Figura 1.39, de la circuitul portii NOR2 la layoutul corespunztor, se poate realiza a initial layoutul simplicat din Figura 1.41-a, iar pentru trecerea din Figura 1.40, core spunztor portii NAND2, este realizat initial layoutul simplicat din Figura 1.41-b. a Apoi de la layoutul simplicat se trece la forma complet de layout. a

Wn V SS a)

Wn V SS

b)

Figura 1.41 Layoutul simplicat / intermediar: a) pentru port NOR2; a b) pentru poart NAND2. a

1.5.3.2

Porti logice complexe

La implementarea portilor complexe, care contin multe variabile de intrare, as pectele implicite care se impun a optimizate sunt: micorarea numrului de tranziss a toare folosite i micorarea ariei utilizate pe placheta de siliciu.Evidentierea acess s tor aspecte va rezulta prin exemplicarea implementrii unei porti care realizeaz a a urmtoarea relatie logic: a a Z = A(D + E) + BC Pentru expresia nenegat a relatiei se va construi o retea/graf similar ca la modelarea a acesteia cu contacte (prin structura sa o poart CMOS modeleaz o expresie negat). a a a (De fapt se poate porni de la desenarea unei retele cu contacte, care modeleaz functia a respectiv, ca Figura 1.9, i din care se deduce graful expresiei nenegate). Deoarece a n s locul contactelor se utilizeaz tranzistoare (canale) n sau p, pentru o linie ce ar n a contine un contact ( reteaua de contacte), acum graf, se va desena un simplu n n arc pe care se noteaz variabila de comand a portii tranzistorului respectiv. (Un a a

VO

Linii de difuzie

Wp

Wp

V DD

NOR

V DD

NAND

VO

CAPITOLUL 1. PORTI LOGICE

99

Z=A(D+E)+BC VO A A A E E C D B B E V DD D A E D

V DD D D

VO C

C VO

Z A B

a)

b)

c)

Figura 1.42 Explicativ pentru obtinerea unei structuri de retea CMOS a pentru relatia Z = A(D + E) + BC: a,b) realizarea grafului pentru reteaua n i s deducerea grafului pentru reteaua dual p; c) structura portii obtinute prin maparea a grafurilor pentru reteaua n i reteaua p. s

tranzistor este echivalent unui contact). Conexiunea dintre liniile cu contacte va reprezenta acum vrfurile (nodurile) grafului. Astfel se obtine graful pentru reteaua a n, conturul ngroat din Figura 1.42-a. s Pe baza grafului retelei n se va construi gracul retelei duale p felul urmtor: n a ecare suprafata n nchis sau semi a nchis format de graful retelei n se xeaz un a a a nou vrf (punctele cerculete), se unesc cte dou din aceste vrfuri prin cte un nou a a a a a arc astfel at aceste arce noi s intersecteze doar o singur dat un arc al retelei nc a a a initiale n, ecrui arc nou i se asigneaz aceeai variabil ca aceea a arcului pe care l-a a a s a intersectat - graful nou obtinut este graful retelei duale p, desenat cu linie ntrerupt a n Figura 1.42-a. Avnd, acum, cele dou grafuri desenate separat, Figura 1.42-b, se a a n poate, printr-o mapare unu-la-unu, trece de la aceste grafuri la retele de tranzistoare n i p, Figura 1.42-c. Fiecrui arc din graf corespunde un tranzistor pe poarta cruia s a i a se aplic variabila a nscris pe acel arc; punctelor cerculete le corespund conexiunile a ntre tranzistoarele respective. Urmeaz transformarea circuitului electric layout pe siliciu. Se obtine o arie a n minim cnd, att pentru toate tranzistoarele n ct i pentru toate tranzistoarele a a a a s

100
D A x B y C E D S D S S

1.5. PORTI TEHNOLOGIA CMOS IN

V DD S D Z VO D D S nMOS

Drumul eulerian
EDABC

D A D a) x y E B E C b)

D S

D D

pMOS V ss

Figura 1.43 Explicativ pentru layoutul portii Z = A(D + E) + BC: a) idena ticarea drumului eulerian graful retelei n i retelei p; b) pe liniile continue de n s difuzie de tip n+ i p+ s-au ordonat portile din polisiliciu (barele verticale haurate) s s ale tranzistoarelor ordinea gsit la parcurgerea drumului eulerian. n a a p, se poate realiza cte o difuzie linie ne a n ntrerupt pentru canalele n i pentru a s canalele p. Pentru realizarea unei difuzii linie ne n ntrerupt, care o zon din a n a aceast linie de difuzie dintre dou bare de polisiliciu (porti) s e un terminal comun a a a la dou tranzistoare vecine, este necesar a se gsi ordinea de antuire (plasare) a a a nl ecrui tranzistor al retelei linia difuzat. Aceast ordine poate determinat prin a n a a a identicarea unui traseu eulerian comun att graful retelei p ct i graful retelei a n a s n n. Denitia 1.15 Un drum care parcurge ne ntrerupt o singur dat toate arcele a a dintr-un graf se numete eulerian. s Pentru grafurile duale din Figura 1.42-b s-a identicat drumul eulerian comun EDABC din Figura 1.43-a. Cunoscnd acum ordinea de jonctionare/alturare a a a tranzistoarelor (care este aceeai cu ordinea de parcurgere drumul eulerian) se s n poate realiza succesiunea portilor din polisiliciu (barele haurate) pe liniile de difuzie s n+ i p+ ca layoutul simplicat din Figura 1.43-b. Dac grafuri nu se poate s n a n identica un singur drum eulerian distinct, pentru toate tranzistoarele circuitului, ci mai multe drumuri distincte care acoper graful, atunci sunt necesare attea linii de a a difuzie n+ i p+ s ntrerupte cte drumuri euleriene distincte au fost identicate. a O functie logic poate sub forma sum de produse (FD) sau produse de sum a a a (FC); forma negat a acestor functii este potrivit pentru implementarea tehnologia a a n CMOS deoarece se pot realiza uor porti de tipul AND-OR-NOT i OR-AND-NOT. s s Portile AND-OR-NOT au pentru reteaua n o structurare paralel-serie i o structurare s serie - paralel pentru reteaua p dual, Figura 1.44-a, iar portile OR-AND-NOT au a o structurare serie-paralel pentru reteaua n i paralel-serie pentru reteaua p, Figura s 1.44-b.

CAPITOLUL 1. PORTI LOGICE

101

V DD A1 A2 A3 B1 B2 C1 C2 C3 AND OR NOT VO A1 A2 A3 B1 B2 C1 C2 C3 Reteaua Duala p VO

a)

V SS V DD Reteaua Duala p VO

A1 A2 A3 B1 B2 C1 OR AND NOT A1 A2 VO C1

B1

B2

A3

b)

V SS

Figura 1.44 Modaliti de structurare a portilor CMOS complexe: a) strucat turare pentru implementarea functiilor logice de forma AND-OR-NOT; b) structurare pentru implementarea functiilor logice de forma OR-AND-NOT.

102

1.5. PORTI TEHNOLOGIA CMOS IN

Exemplul 1.18 Pentru circuitul cu layoutul desenat Figura 1.45 s se deduc n a a structura de circuit apoi s se determine circuitul inversor CMOS echivalent pentru cazul a cnd toate intrrile comut, presupunnd c: (W/L)p = 15 pentru toate tranzistoarele a a a a a pMOS i (W/L)n = 10 pentru toate tranzistoarele nMOS. s
Linia de difuzie p+ D V DD E A B C Z D E p+ A C V DD

Z n+ B C

D V SS Linia de difuzie n+

E V SS

Figura 1.45 Trecere de la layout de circuit la schema electric. a


Solutie. Fata de prezentrile anterioare aici se face o trecere invers, de la layout la a a structura de circuit. Inspectnd linia de difuzie n+ trasele i contactele metalice rezult c a n s a a exist grupul de tranzistoare D, E, A legate paralel i grupul de tranzistoare B, C legate a n s paralel iar cele dou grupuri sunt n a nseriate. Reteaua n a portii modeleaz urmtoarea a a relatie (D + E + A)(B + C), deci ieirea Z este (D + E + A)(B + C) pentru care corespunde s circuitul poart CMOS din Figura 1.45-b. a Rapoartele echivalente, (W/L)n,IN V i (W/L)p,IN V , ale inversorului echivalent cnd s a comut toate intrrile se obtin cu relatiile 1.75 i 1.76 felul urmtor: a a s n a W L W L =
n,IN V

1
1

( W ) D +( W ) E +( W ) A L L L =
1

+ 1

( W )B L

1 +( W L

= )C

1 30

1 + =

1 20

= 12

p,IN V

( W )D L =
1 15

+ 1

( W )E L
1 15

1 15

1 + W1 + W1 ( W )A ( L )B ( L )C L 1 + 1 1 = 12, 5 + 15 15

CAPITOLUL 1. PORTI LOGICE

103

Pseudo poarta CMOS. Portile CMOS complexe, cu n intrri, necesit pentru a a ecare intrare dou tranzistoare, deci total 2n tranzistoare plus a dou tranzisa n nc a toare (un inversor) pentru ecare din intrrile negate. Rezult c reducerea numrului a a a a de tranzistoare, cnd numrul de intrri n este mare, se impune. O variant de rea a a a ducere a numrului de tranzistoare, de la 2n la n + 1, se obtine la structura denumit a a pseudo poart CMOS. Pseudo poarta CMOS, pentru un anumit operator, se obtine a din poarta normal, care implementeaz acel operator, prin substituirea retelei p cu a a un singur tranzistor pMOS a crui poart se conecteaz la potentialul de mas (deci a a a a este permanent conductie), Figura 1.46-a. De fapt, tranzistorul pMOS, are rolul n de sarcin (rezistenta) pentru reteaua nMOS. a Dezavantajul pseudo portii CMOS const consumul mare de putere regim a n n static datorat unui permanent curent prin canalul p att timp ct V O < VDD . De a a asemenea, VOL i marginea de zgomot sunt determinate de raportul s ntre transconductanta tranzistorului de sarcin supra transconductanta echivalent din reteaua a a n.
V DD VO A retea n V SS V DD EN EN EN f A A V SS EN 0 0 1 1 A (EN .A) EN 0 1 0 1 1 1 1 0 1 1 0 0 A EN+A 0 1 0 1 0 0 1 0 f HZ HZ 0 A 1 B T1 T2 R V DD RC Linie de magistrala

Circuit de mentinere

a)

b)

e)
V DD T1 f=A T2

V SS EN A f

c)

d)

Figura 1.46 Porti CMOS speciale: a) structurarea unei pseudo porti CMOS; b) structur pentru poarta cu drenul gol; c) structura i simbolul de reprezentare a n s ale unei porti de tip TSL; d) structura unui buer TSL neinversor; e) evitarea aparitiei unui potential otant pe o linie de magistral prin conectarea acesteia la un circuit a (celul) activ de mentinere a nivelului (bus holder). a

104

1.5. PORTI TEHNOLOGIA CMOS IN

Poarta cu drenul gol. Restrictia impus de a nu se conecta n a mpreun ieirile a s portilor TTL, Figura 1.23-a, are valabilitate i pentru portile CMOS. Conectarea s ieirilor s mpreun a mai multor porti poate crea o cale de scurtcircuit a ntre V DD i s VSS prin retelele n sau p de la diferite porti. Eliminarea acestei restrictii se poate obtine pentru portile care sunt realizate, etajul de ieire, fr reteaua p, numai cu reteaua n, aceste porti sunt denumite n s aa cu drenul gol, Figura 1.46-b (similare portilor cu colectorul gol). Poarta devine n n functional numai cnd drenul gol este conectat la tensiunea V DD printr-o rezistenta a a n RD ataat exterior portii. Portile cu drenul gol (open-drain) sunt necesare pens a n tru urmtoarele aplicatii: comanda unor sarcini externe (LED-uri, relee, rezistente, a bobine etc), realizarea conexiunii SI-cablat i comanda unor linii de magistral, Figura s a 1.24-a; pentru calculul rezistentei RD ataat exteriorul portii se utilizeaz relatiile s a n a 1.26. Poarta TSL. Aceast poart prezint pe lng cele dou stri logice normale H i a a a a a a a s L, existente la o poart obinuit, i starea cnd ieirea este a s a s a s n nalt impedanta, HZ. a Structura unei porti TSL se obtine din cea a unei porti normale la care se nseriaz a cte un tranzistor n i p respectiv cu reteaua n i p, Figura 1.46-c. Cnd semnalul a s s a de validare EN (ENable) este activ, EN=1, poarta are functionarea unei porti nor male, iar cnd validarea nu este activat, EN=0, cele dou tranzistoare a a a nseriate sunt blocate, att calea de conductie prin reteaua n ct i cea prin reteaua p nu sunt a a s n conductie, deci ieirea este HZ. O alt variant de poart CMOS TSL este cea cu s n a a a structura din Figura 1.68-a. La o poart CMOS TSL cnd este HZ ieirea sa este a a n s fortat, de o alt poart care comand acel moment linia de magistral, pe nivelul a a a a n a H sau pe nivelul L i genereaz respectiv absoarbe curenti la ieire pn la 10A. s a s a a Pentru cazurile cnd sarcina ce trebuie comandat este relativ mare sunt utilizate a a buere; o astfel de structur de buer TSL este prezentat Figura 1.46-d. Un a a n buer TSL se compune din dou tranzistoare complementare T1 i T2 comandate, a s prin portiile NAND i NOR, e ambele tranzistoare simultan blocare (starea HZ), s n e un tranzistor blocare i cellalt conductie sau invers (ca la inversorul CMOS). n s a n Din tabelul de adevr, ataat buerului, se observ c pentru EN=0 ieirea este a s a a s n HZ, iar pentru EN=1 ieirea este identic cu intrarea (buer neinversor). s a Buerele CMOS TSL sunt utilizate pentru comanda liniilor de magistrale; o linie de magistral poate comandat, la un moment, de cel mult un buer (emitator). a a Dac toate ieirile buerelor conectate la o linie de magistral sunt HZ atunci a s a n potentialul pe linie este otant, iar dac acest potential este aproape de valoarea a de prag de comutatie ( Denitia 1.14 ) al portilor receptoare acestea consum un a curent de valoare relativ mare sau pe linie pot aprea oscilatii. Se pot elimina aceste a inconveniente dac linia de magistral se conecteaz la V DD printr-o rezistenta Rpu , a a a ,, deci cnd linia devine otant potentialul acesteia va tras sus (pull-up) a a n n intervalul de tensiune H. Dar aceast solutie prezint unele inconveniente: a a 1. dac Rpu este de valoare mare, atunci cnd linia din L rmne stare otant, a a a a n a i fortat imediat H de Rpu , datorit faptului c prezint o constant de s a n a a a a timp mare Rpu C, timpul de cretere r devine lung. Un r lung face ca durata s excursiei, zona tensiunilor interzise, pentru tensiunile de intrare ale portilor n receptoare s e de asemenea lung deci un consum mrit de putere; a a a 2. dac Rpu este de valoare mic atunci buerul care va comanda linia starea L a a n

CAPITOLUL 1. PORTI LOGICE

105

va trebui s absoarb un curent mai mare. a a Inconvenientele anterioare pot eliminate prin conectarea la linia de magistral a a unui circuit (celul) activ de mentinere a nivelului (bus holder) cu structura din a Figura 1.46-e. Se va vedea sectiunea 3.3.1 c aceast celul activ de mentinere nu n a a a a este altceva dect un circuit latch. Cnd linia de magistral rmne HZ, deci va a a a a a n trece din L sau din H starea otant, celula va forta mentinerea liniei aceeai n a n s stare L sau H pe care a avut-o anterior. Buerul de magistral care comut linia din a a starea H starea L sau din starea L H va absorbi sau va genera un surplus de n n curent pentru comanda celulei de mentinere starea L sau H, dar numai pe durata n comutatiei strilor. general, un buer de magistral are integrat pe ieirea sa o a In a s astfel de celul de mentinere a nivelului pe linia de magistral. a a Celula de mentinere a nivelului pe linia de magistral nu este ecient cnd la a a a magistral sunt conectati receptori de tip TTL. Portile TTL necesit curenti de intrare a a de valoare ridicat, mai ales starea L, IIL , care nu pot generati de ctre celula de a n a mentinere dac la aceast celul rezistenta R nu este de valoare mic, iar o rezistenta a a a a de valoare mic duce la o arcare puternic a liniei de magistral. a nc a a 1.5.3.3 Seriile de porti ale familiei CMOS

cadrul tehnologiei CMOS, portile, elemente de baz pentru realizarea unor In a sisteme, pot celulele cu care se realizeaz sistemul sub form de circuit integrat a a (monolitic) sau pot celule discrete (independente, integrate pe plachete separate) cu care se realizeaz sistemul pe o plac de circuit imprimat. Parametrii unei porti a a logice, sectiunea 1.3, sunt mult mai restrictive pentru o poart implementat ca circuit a a independent dect pentru o poart inclus a a a ntr-un circuit integrat. Pentru portile dis crete aceti parametri sunt specicati de fabricant a tehnic ce ete poarta. s n s a nsot s cadrul familiei de porti CMOS discrete exist mai multe serii de porti, aceste serii In a au aprut functie de optimizarea parametrilor pentru anumite aplicatii i mai ales a n s ca urmare a perfectionrii timp a tehnologiei de integrare. a n Prima serie de porti discrete a familiei CMOS a fost seria 4000. prezent, In portile din aceast serie nu se mai utilizeaz deoarece au aprut alte serii mult mai a a a performante. Exist cadrul ecrei serii varianta civil (0 70 C) i varianta a n a a s militar (55 125 C), notate respectiv cu 74 sau 54. Cuvntul de cod al unei porti a a este de forma 74SERXX/54SERXX, unde SER sunt dou sau trei litere (abreviatie) a din denumirea SERiei care este implementat poarta, iar XX este codul portii. De n a exemplu, aceeai poart NAND cu dou intrri (NAND2) care are codul 7400 poate s a a a specicat prin cuvintele 74HC00, 74HCT00, 74VHC00, 74VHCT00 functie de a n seria creia apartine (la prima privire, se poate spune, dac poarta este din familia a i a CMOS deoarece abreviatia seriei intr totdeauna litera C). n a Seriile HC i HCT. Seria HC (High-speed CMOS) este optimizat pentru s a realizarea special de sisteme numai cu porti CMOS. Utilizeaz o alimentare n a n gama de la 2 6V ; valorile mai mici ale tensiunii de alimentare sunt recomandate cnd se dorete o putere disipat mai mic iar valorile mai ridicate cnd este necesar a s a a a a o vitez mai ridicat. O comparatie a seriei HC cu seriile din familia TTL arat c a a a a ntre acestea nu exist compatibilitate a tensiunilor de ieire i a celor de intrare. a s s Pentru a se putea intermixa, sisteme, portile CMOS cu portile TTL s-a conceput n seria HCT (High-speed CMOS, TTL compatible). Valorile tensiunilor de ieire s

106

1.5. PORTI TEHNOLOGIA CMOS IN

garantate (VOHmin , VOLmax ) i de intrare admise (VIHmin , VILmax ) de la seria HCT s sunt identice cu cele de la familia TTL, deci portile pot interconectate. Seriile HC i s HCT au aceiai parametrii pe ieire dar parametrii diferiti pe intrare, aceast diferenta s s a a fost creat la HCT pentru ca aceast serie s devin compatibil cu TTL. Ambele a a a a a serii au comanda pe ieire simetric, adic exist egalitate s a a a ntre curentul absorbit de poart stare L cu cel generat de poart starea H (simetria aceasta de curenti pe a n a n ieire nu exist la TTL). s a Seria FCT (FCT-T). Prin introducerea seriei FCT (Fast-CMOS, TTL compatible) la nceputul anilor 1990 s-a urmrit realizarea CMOS a urmtoarelor a n a performante: atingerea unei capabiliti de comand pe ieire (valori mrite pentru at a s a IOHmax , IOLmax ), vitez ridicat ca la cele mai performante porti TTL dar acelai a a n s timp reducerea puterii consumate i, evident, o complet compatibilitate (pe nivelurile s a de tensiune) cu portile TTL. Totui seria FCT realizat cu aceste performante era s a afectat de dou deciente: ind alimentat la V DD = 5V , saltul tensiunii de ieire a a a s la comutatie era de aproape 5V, ceea ce ducea la o putere disipat (C L V 2 f ) foarte a mare la frecvente de peste 25M Hz i, plus, aceste salturi rapide genereaz zgomot s n a sistem. Pentru aturarea acestor deciente s-au introdus anumite perfectionri n nl a structura de circuit FCT obtinndu-se astfel seria FCT-T (Fast CMOS, TTL comn a patible with TTL VOH ). Cele dou deciente amintite anterior, de la FCT au fost a atenuate la seria FCT-T primul rnd prin reducerea V OH 5V la valoarea tipic n a a Tabelul 1.12 Parametrii portilor familiei CMOS (prezentare simplicat) a
Denumire parametru Timpul de propagare tipic Curentul in regim static Puterea disipata in regim static Capacitatea interna a circuitului p [ns] IDDQ [ A ] Pdcc [mW] [pF] Conditia de test Vin=0 sau VDD Vin=0 sau VDD Seria VHC VHCT FCTT 5,5 5,2 5,8 5 200 5 1 0,6 0,60 1,06 1,6 6,15 9,3 41 0,8 2,0 64 15 0,55 2,4

HC

HCT

Puterea disipata in regim dinamic Pdca [mW/MHz] f=100KHz Puterea disipata totala Pd [mW] f=1MHz f=10MHz f=100KHz f=1MHz f=10MHz Tensiunea de intrare permisa Tensiunea de intrare permisa Curentul de iesire in starea L Curentul de iesire in starea H Tensiunea de iesire in starea L Tensiunea de iesire in starea H VILmax [V] VIHmin [V] IOLmax [mA] IOHmax incarcare CMOS incarcare TTL incarcare CMOS [mA] incarcare TTL Iout IOLmax CMOS Iout IOLmax TTL |Iout IOLmax CMOS| |Iout IOLmax TTL |

9 10 2,5 2,5 0,0125 0,0125 0,025 0,025 17 22 15 19 0,38 0,55 0,48 0,43 0,068 0,050 0,073 0,068 0,50 0,45 0,39 0,56 5,5 0,61 5,1 50 1,35 3,85 0,02 4,0 0,02 4,0 0,1 0,33 4,4 3,84 3,8 0,50 3,9 38 0,8 2,0 0,02 4,0 4,8 0,38 2,6 2,5 1,35 3,85 0,05 4,3 0,37 2,5 24 0,8 2,0 0,05

Factorul de merit

Pd p [pJ]

VOLmax [V] VOHmin [V]

8,0 8,0 0,02 0,05 0,05 4,0 8,0 8,0 0,1 0,1 0,1 0,33 0,44 0,44 4,4 3,84 4,4 3,80 4,4 3,80

CAPITOLUL 1. PORTI LOGICE

107

de VOH = 3, 3V . Varianta FCT-T datorit performantelor sale este, prezent, foarte a n popular. Aplicatii uzuale pentru portile FCT-T sunt comanda liniilor de magistral a a sau comenzi pentru sarcini mari (comparativ cu alte porti CMOS poate absorbi i s genera pe ieire valori foarte mari de curenti, I OLmax 60mA). Seria FCT (FCT-T) s nu are implementate portile simple ci numai porti complexe (zeci de tranzistoare). Selectiv, unii din parametrii portilor logice din seriile familiei CMOS sunt prezentati Tabelul 1.12. Pentru seriile HC, HCT, VHC i VHCT (abrevierea VH este de la n s Very High-speed) au fost selectate unele din valorile parametrilor portilor NAND2 (74XX00) iar pentru seria FCT-T au fost selectate unele din valorile parametrilor portii 74FCT138T, care este un circuit decodicator 3 : 8. 1.5.3.4 Interfatarea TTL-CMOS i CMOS-TTL s

Interfatarea ntre cele dou familii se poate face cu conditia respectrii compata a ibilitii nivelurilor de tensiune i a factorilor de arcare la ieire, fan-out. Reat s nc s spectarea nivelurilor de tensiune nseamn realizarea unor margini de zgomot a n curent continuu MH , ML , calculate cu relatia 1.18, care pot avea anumite valori pozitive acceptabile dar nici un caz valori negative. Valorile nivelurilor de tenn siune pe intrare i pe ieire pentru ambele familii sunt reprezentate Figura 1.47 s s n [Wakerly 00]. Evident, c exist compatibilitate pe nivelurile de tensiune a a ntre seriile HCT, VHCT, FCT i familia TTL dar nu exist comptibilitate complet s a a ntre HC, VHC i familia TTL. De exemplu, la interfatarea HC sau VHC cu TTL rezult s a ML = 0, 8 0, 33 = 0, 47V i MH = 3, 84 2, 0 = 1, 84V , iar la interfatarea TTL s cu HC sau VHC rezult ML = 1, 35 0, 4 = 0, 95, MH = 2, 7 3, 85 = 1, 15V !; ar a trebui ca VOHmin de la TTL s e ridicat cu cel putin 1, 15V . O solutie de comproa a mis realizarea i a acestei interfatari ar ridicarea valorii tensiunii V OHmin prin n s conectarea unei rezistente R ntre ieirea TTL i V CC (trebuie vercat dac aceast s s a a ,, rezistenta de tragere sus nu distruge prin cderea de tensiune R IOLmax nivelul n a de tensiune garantat VOLmax cnd poarta TTL este comandat pe ieire L). a a s n
IESIRI VOHmin , VOLmax 5.0 HIGH 3.85 INTRARI VIHmin , VILmax (HC,VHC) Margine de zgomot (M H) in c.c. pentru starea H 2.0 VALORI INTERZISE FCT 0.55 LS,S,ALS,AS,F 0.5 VHC,VHCT 0.44 HC,HCT 0.33 LOW 1.35 0.8 LS,S,ALS,AS,F HCT,VHCT,FCT (HC,VHC) LS,S,ALS,AS,F HCT,VHCT,FCT Margine de zgomot (M L ) in c.c. pentru starea L

HC,HCT 3.84 VHC,VHCT 3.80 LS,S,ALS,AS,F 2.7

Figura 1.47 Nivelurile de tensiune pentru seriile familiei TTL i familiei s CMOS

108

1.5. PORTI TEHNOLOGIA CMOS IN

Respectarea factorului de arcare ( curent) la ieire, relatia 1.22, impune ca nc n s valoarea maxim a curentului absorbit sau generat la ieirea portii s e mai mare sau a s a egal cu suma curentilor respectiv generati sau absorbiti de intrrile tuturor portilor a comandate. Interfatarea TTL-CMOS nu ridic nici un fel de problem, deoarece a a portile CMOS aproape c nu necesit curent de intrare, att H ct i L curentii de a a a n a s n intrare au valori maxime < 50A. schimb pentru interfatarea CMOS-TTL trebuie In calculat valoarea de fan-out a portii CMOS, de exemplu, portile HC sau HCT pot a comanda 10 porti 74LSXXTTL, dar pot comanda numai dou porti 74SXXTTL. a La interconectarea portilor CMOS factorul de arcare se calculeaz nu functie nc a n de un curent de intrare, ca sarcin standard, ci functie de o sarcin capacitiv a n a a standard prezentat pe intrare de o poart. general, se consider capacitatea de a a In a 5pF ca sarcin standard, care aproximeaz capacitatea de intrare medie la o poart a a a CMOS. Factorul de arcare la ieire se exprim prin numrul de sarcini standard nc s a a (nr de intrri) pe care le comand la ieire.Cu mrirea sarcinii capacitive conectate pe a a s a ieire timpul de propagare al portii crete (aproximativ cu 1ns pentru ecare sarcin s s a de 5pF adugat) . a a Interfatarea CMOS de tensiune redus. Dou sunt argumentele pentru care a a tensiunea de alimentare VDD a circuitelor CMOS tinde a redus: a 1. Puterea disipat se reduce (Pd = CV 2 f ) a 2. Scalarea determin i micorarea grosimii D ox (Figura 1.32-a) a oxidului de a s s sub poart care, evident, pentru evitarea strpungerii, impune i o tensiune de a a s valoare mai mic aplicabil pe poart. a a a Au fost selectate tensiunile de alimentare: 3, 3V 0, 3V ; 2, 5V 0, 2V , 1, 8V 0, 15V ca valori pentru viitoarele standarde. Evident, cadrul ecrei tensiuni de alimentare n a au fost denite i nivelurile logice de intrare i de ieire. Migrarea spre valori mai s s s reduse de tensiuni de alimentare se face treptat, etape, aceasta impunnd ca unele n a din noile porti logice CMOS discrete de 3.3V care apar s poat tolera a tensiunile a a nc mai mari de intrare i de ieire TTL i CMOS de la seriile alimentate la 5V , aceast s s s a toleranta ind necesar pentru realizarea de sisteme cu porti cu tensiuni diferite de a alimentare. Necesitatea de intermixare a circuitelor CMOS de tensiuni reduse cu alte circuite de tensiuni mai ridicate exist i cazul circuitelor integrate cum sunt P a s n i ASIC-urile (Application Specic Integrated Circuits) numai c rezolvarea se face s a ntr-un alt mod. Aceste circuite ind mari justic alimentarea cu dou tensiuni de a a alimentare, de exemplu cu 2, 5V (1, 8V )i 3, 3V , vezi sectiunile 4.5. i 4.6. Tensiunea s s sczut de 2, 5V alimenteaz nucleul de procesare, iar tesiunea ridicat componentele a a a a de interfatare cu circuitele exterioare care sunt alimentate cu tensiunea de 3, 3V . In interiorul circuitului integrat exist circuite buer speciale, alimentate la cele dou a a tensiuni 3, 3V i 2, 5V , care fac deplasrile de nivel de la tensiunea cobort la cea s a aa ridicat i invers. as Nivelurile logice de tensiune pentru familia CMOS la alimentare cu 5V precum i la valorile reduse sunt prezentate Figura 1.48. Nivelurile logice de tensiune, s n Figura 1.48-a, corespund seriilor HC i VHC ale familiei CMOS de 5V adic acelor s a porti CMOS care s e interconectate numai cu porti CMOS. Figura 1.48-b sunt a In prezentate nivelurile logice de tensiune pentru seriile HCT, VHCT, FCT i TTL s (compatibile ntre ele ca niveluri de tensiune), care evident pot substituite ntre ele dac sunt satisfcute i conditiile de arcare la intrare i ieire. a a s nc s s

CAPITOLUL 1. PORTI LOGICE


HC, VHC 5.0 V 4.44 V VCC VOH XCT,TTL 5.0 V VCC

109

3.5 V

VIH

3.3 V

VCC

2.5 V

VT

2.4 V 2.0 V

VOH VIH VT VIL VOL GND

2.4 V 2.0 V 1.5 V

VOH VIH VT VIL VOL GND

2.5 V 2.0 V 1.7 V 1.2 V

VCC VOH VIH VT VIL VOL GND 1.8 V 1.45 V 1.2 V 0.9 V 0.65 V 0.45 V 0.0 V VCC VOH VIH VT VIL VOL GND

1.5 V

VIL

1.5 V

0.8 V 0.5 V 0.0 V VOL GND 0.4 V 0.0 V

0.8 V 0.4 V 0.0 V

0.7 V 0.4 V 0.0 V

Familiile 5 V CMOS

Familiile 5 V TTL

Familiile 3.3V LVTTL

Familiile 2.5 V CMOS

Familiile 1.8 V CMOS

a)

b)

c)

d)

e)

Figura 1.48 Nivelurile logice de tensiune pe intrare i ieire pentru toate s s familiile CMOS Familia CMOS la 3, 3V . Pentru alimentarea cu 3, 3V se denesc dou seturi a de niveluri logice de tensiune. Primul set de niveluri, abreviat prin LVCMOS (LowVoltage CMOS), este denit pentru portile CMOS care se interconecteaz numai a cu porti CMOS. Aceasta nseamn c valorile de arcare regim static sunt foarte a a nc n reduse (mai putin de 100A) astfel c VOL i VOH se mentin la diferente de maxi a s mum 0, 2V fata de 0V respectiv fata de VDD = 3, 3V . De fapt, nivelurile LVCMOS corespund seriilor HC i VHC la 3, 3V . s Al doilea set de niveluri logice de tensiune abreviat prin LVTTL (Low-Voltage TTL) reprezentat Figura 1.48-c este denit pentru portile CMOS care sunt utilizate n aplicatii cu sarcini mrite i care pot produce pentru tensiunea de ieire valorile n a s s VOL = 0, 4V , VOH = 2, 4V . Deoarece timp asignarea nivelurilor de tensiune pentru n portile TTL, respectiv i pentru cele CMOS compatibile TTL, s-au ales valori de lucru s sub 2, 4V (fr a se lua considerare evolutia ulterioar spre tensiuni standard de aa n a alimentare sub 5V ), aceast potrivire a fcut ca mai trziu s e posibil asignarea a a a a a i pentru LVTTL a acelorai niveluri de tensiune ca i pentru TTL, a se compara s s s reprezentrile din Figura 1.48-b i 1.48-c. Astfel portile CMOS cu nivelurile LVTTL a s (cu VCC = 3, 3V ) pot comanda la ieire porti TTL (cu VCC = 5V ) att timp ct s a a arcarea nu depete valorile IOLmax , IOHmax i, la fel, ieirile portilor TTL pot nc as s s s comanda intrrile LVTTL (dac aceste intrri sunt realizate tolerante la 5V ). De a a a fapt, nivelurile LVTTL corespund cu nivelurile de lucru de la seriile HCT, VHCT i s FCT ale familiei CMOS de 5V . De ce portile LVTTL trebuie s e realizate tolerante 5V la intrare? general, pe a In intrare portile au conectate diodele D1 i D2, care au rolul de a shunta supratensiunile s ce pot aprea la intrare, Figura 1.49-a. Dioda D1 shunteaz la mas supratensiunile a a a care au amplitudinea negativ iar D2 shunteaz la bara de alimentare V DD supratena a

110

1.5. PORTI TEHNOLOGIA CMOS IN

siunile care au amplitudinea mai mare de 3, 3V . Dar la portile logice TTL valorile tipice pentru VOH depesc 3, 3V ceea ce as nseamn c o poart TTL ce comand o a a a a poart LVTTL poate avea ieirea scurtcircuitat prin dioda D2 la bara V DD = 3, 3V a s a (deci un curent foarte mare). Solutia? La structura de poart LVTTL netolerant pe a a intrare la 5V , Figura 1.49-a, se elimin dioda D2 i se obtine structura tolerant pe a s a intrare la 5V, Figura 1.14-b. Evident, tranzistorul acestei structuri tolerante trebuie s reziste la o tensiune de strpungere de minimum 5V . a a Dar portile TSL de tip LVTTL trebuie s e tolerante la 5V i pe ieire. S con a s s a siderm c un buer LVTTL de tip TSL are ieirea conectat la o linie de magistral a a s a a la care sunt conectate i alte porti TTL de tip TSL, Figura 1.49-c. Buerul LVTTL s este HZ cnd tensiunea aplicat pe poarta tranzistorului pMOS este V DD = 3, 3V n a a iar pe poarta tranzistorului nMOS este 0V . Dac linia de magistral este comana a dat de o poart TTL stare H a a n nseamn c tensiunea de ieire V O a buerului a a s LVTTL este xat de linia de magistral la 5V, tensiune care este aplicat i pe a a a s drenul tranzistorului pMOS notat cu Q. Tranzistorul Q avnd o tensiune pe dren de a
V DD = 3,3V D2 TTL VI V 3,3V D1 V DD = 3,3V pMOS VO nMOS TTL VI V 3,3V D1 pMOS VO nMOS

a)

b)

Linie de magistrala V DD = 3,3V V DD Q pMOS VO 0V buffer LVTTL EN V DD

Linie de magistrala V DD = 3,3V Q Q1 0V pMOS VO EN

nMOS

buffer TSL de tip TTL

nMOS

buffer TSL de tip TTL

c)

d)

Figura 1.49 Porti CMOS de 3.3V : a) structur de poart netolerant la 5V pe a a a intrare i tolerant la 5V (b); structur de buer TSL netolerant la 5V pe ieire (c) s a a s i tolerant pe ieire la 5V (d). s s

CAPITOLUL 1. PORTI LOGICE

111

5V, fata de tensiunea de 3, 3V aplicat pe poarta sa, va conduce deci creaz o cale a a de scurtcircuit de la sursa de 5V la sursa de 3, 3V . Se poate mpiedica intrarea n conductie a tranzistorului Q dac a ntre poarta sa i dren se introduce un tranzistor s pMOS notat cu Q1, Figura 1.49-d. Pe poarta tranzistorului Q1 se aplic o tensiune a constant VDD = 3, 3V . Cnd tensiunea de ieire VO > VDD tranzistorul Q1 intr a a s a n conductie realiznd o cale de impedanta mic a a ntre ieire i poarta tranzistorului Q. s s Rezult c potentialul pe poarta tranzistorului Q nu poate s scad sub potentialul a a a a VO aplicat pe drenul su, deci este blocat. O astfel de structur aplicat circuitului a a a buer LVTTL de tip TSL (alimentat la VDD = 3, 3V ) face tolerant la 5V pe ieire. l s Concluzionnd, interfatarea TTL/LVTTL se poate realiza conditiile: a n 1. Interfatarea LVTTL-TTL se poate face direct cu respectarea conditiilor de arcare la ieire (nedepirea valorilor pentru I OHmax i IOLmax ); nc s as s 2. Interfatarea TTL-LVTTL se poate realiza dac intrrile pe partea de LVTTL a a sunt intrri tolerante la 5V; a 3. Portile TTL i LVTTL de tip TSL pot comanda s mpreun linii de magistral a a dac ieirile LVTTL sunt tolerante la 5V. a s CMOS la 2, 5V i 1, 8V . Migrarea de la 3, 3V la 2, 5V nu va simpl. Ieirile s a s de la familia CMOS de 3, 3V pot comanda intrrile de la familia CMOS de 2, 5V att a a timp ct intrrile pe partea de 2, 5V sunt tolerante la 3, 3V . Dar, comparnd nivelurile a a a logice de tensiune din Figura 1.48-c i 1.48-d se observ c tensiunea V OH = 2V de s a a la VDD = 2, 5V este egal cu VIH = 2V de la VDD = 3, 3V deci MH = 0 cnd CMOS a a de 2, 5V comand CMOS de 3, 3V . Solutionarea acestei deciente ar integrarea a mpreun cu poarta de 2, 5V a unui circuit de deplasare de nivel spre 3, 3V , solutie a ce se aplic prezent doar la P i ASIC-uri. Probabil cnd familia de porti logice a n s a CMOS la 2, 5V va deveni popular atunci i portile discrete vor avea a s nglobat i o s component standard - circuitul de deplasare de nivel. a Urmtorul pas va tranzitia de la 2, 5V la 1, 8V . Analiznd nivelurile logice de a a tensiune din Figura 1.48-d i 1.48-e, cnd CMOS de 1, 8V comand CMOS de 2, 5V , s a a rezult o valoare negativ pentru MH = 1, 45 1, 7 = 0, 25V deci, de asemenea, a a este necesar un circuit de deplasare de nivel.

1.5.4

Poarta de transmisie CMOS

Poarta de transmisie CMOS este compus din dou tranzistoare complementare, a a nMOS i pMOS, avnd conectate comun drenurile, la fel i sursele, iar portile lor s a n s sunt comandate separat. Semnalele de comand pe cele dou porti ale tranzistoarelor a a sunt complementare, deci semnalul S pentru poarta tranzistorului pMOS se obtine de la ieirea unui inversor la a crui intrare s-a aplicat semnalul S pentru comanda s a portii tranzistorului nMOS. Aceast structur cu reprezentrile simbolice din Figura a a a 1.50 are o functionare de comutator bidirectional care este trecut starea deschis, n a ambele canale sunt blocate, prin semnalul de comand S = 0, S = 1, respectiv a trecut stare inchis, cel putin un canal conduce, prin semnalul de comand S = 1, n a a S = 0. Pentru elegerea functionrii acestui dispozitiv compus dintr-un tranzistor nt a (de trecere) nMOS i un tranzistor (de trecere) pMOS, conectate s ntre potentialele Vin i VO se va analiza functionarea separat a ecrui tranzistor. Se va considera s a a

112
S A B A S B A

1.5. PORTI TEHNOLOGIA CMOS IN

S B S A

S B S

Figura 1.50 Diferite simboluri de reprezentare pentru poarta de transmisie CMOS. potentialul de alimentare VDD ca ind 1 logic iar potentialul de mas VSS ca 0 a logic. Reamintim c ambele tranzistoare sunt blocate cnd |V GS | |Vp | i sunt a a s n conductie cnd |VGS | |Vp |. Tranzistoarele conductie sunt zona liniar cnd a n n a a |VDS | < |VGS Vp | i zona de saturatie cnd |VDS | |VGS Vp |, Figura 1.32-b s n a (dac relatiile sunt exprimate modul atunci sunt corecte att pentru nMOS ct i a n a a s pentru pMOS). Pentru tranzistorul nMOS, Figura 1.51-a, cnd semnalul pe poart are valoarea a a S = 0 canalul este blocat i este trecut conductie pentru S = 1. Pentru comanda s n trecerii conductie, S = VDD , la momentul t = 0, perechea de tensiuni vI(0) , vO(0) n poate : VDD , VSS ; VSS , VDD ; VSS , VSS ; VDD , VDD . Considernd c la terminalele a a tranzistorului este aplicat prima pereche de valori, v I (0) = VDD , vO (0) = VSS , a atunci la nceput canalul conduce saturatie v DS = VDD vO (0) = VDD VSS = n VDD > VGS Vpn = VDD Vpn condensatorul de sarcin CL se a ncarc pn la a a a tensiunea vO () = VDD Vpn cnd tranzistorul se blocheaz vGS = VDD vO () = a a VDD (VDD Vpn ) Vpn . Valoarea 1 logic de la intrare este transmis degradat a a la ieire vO () = VDD Vpn ; se spune c tranzistorul nMOS transmite slab s a 1 logic. Pentru vI (0) = VSS i vO (0) = VDD Vpn canalul intr conductie s a n n regim liniar vGS = VDD vI (0) = VDD VSS = VDD , vDS = (VDD Vpn ) VSS = VDD Vpn < vGS = VDD pn cnd se ajunge la vDS = VSS , vGS = VDD i IDS = 0; a a a s condensatorul CL se descarc pn la vO () = VSS . Rezult c valoarea 0 logic a a a a a la intrare este transmis fr degradare la ieire; se spune c tranzistorul nMOS a aa s a transmite bine 0 logic. Valorile tensiunilor de ieire v O (t = ) pentru toate cele s patru combinatii initiale ale perechii vI (0), vO (0) sunt concentrate tabelul din n Figura 1.51-b. s Tranzistorul de trecere pMOS, Figura 1.51-c, este blocat pentru S = 1 i comandat a n conductie pentru S = 0. Dac la comanda conductie, ovS = V SS , la terminalele n tranzistorului perechea vI (0), vO (0) are valorile VDD , VSS atunci la nceput canalul conduce saturatie |VDS | = |VSS VDD | > |VGS | = |VSS Vpp | pn cnd vO crete n a a a s la valoarea |VDD Vpp | i apoi regim liniar pn cnd vO () = VDD , deci CL s n a a a se ncarc pn la tensiunea vO () = VDD . Nivelul 1 logic este transmis prin a a a canalul pMOS fr degradare. Pentru cazul cnd vI (0) = VSS , vO (0) = VDD a a a condensatorul se descarc prin rezistenta canalului conductie pn cnd v O = Vpp , a n a a a sub aceast valoare |VGS | < |Vpp | canalul se blocheaz VO () = |Vpp |. Canalul a a pMOS transmite cu degradare nivelul de 0 logic. Tabelul din Figura 1.51-d prezint modul cum se transmite semnalul prin tranzistorul pMOS pentru toate cele a patru combinatii de perechi vI (0), vO (0). Poarta de transmisie CMOS, care este un comutator format din cele dou canale a

CAPITOLUL 1. PORTI LOGICE


vI vO I DS S CL VGS Vpn vO ( )
n

113
vI vO VGS S CL I DS
p

Vpn

a)
S VSS VDD VSS VSS VDD vI (0) vO (0) Canalul n blocat VSS VDD Vpn VSS VDD Vpn

c)
S VDD vI (0) vO (0) Canalul p blocat VDD VSS VSS VDD VSS VDD Vpp VDD VDD Vpp Vpp VDD vO ( )

VDD

VDD Vpn VSS VSS VDD Vpn

VSS

b)

d)

Figura 1.51 Tranzistoare de trecere: a) tranzistorul de trecere nMOS i caracs terstica de comand IDSn = f (VGS ); b) analiza modului de transfer al semnalului a printr-un canal nMOS; c) tranzistorul de trecere pMOS i caracteristica de comand s a IDSp = f (VGS ); d) analiza modului de transfer al semnalului printr-un canal pMOS.

n i p conectate paralel comandate cu semnale complementate, elimin dezavans n a tajul de transmisie, degradarea de semnal, a ecrui tranzistor de trecere, astfel c a a realizeaz o transmisie bun att pentru 1 logic, prin canalul p, ct i pentru 0 logic a a a a s prin canalul n, Figura 1.52-b. Dei inversorul CMOS transmite bine nivelurile de 1 i 0 logic, s s ntr-un lant de transmisie pentru un transfer corect, este necesar ca i semnalele s e sucient de s a puternice. acest sens s considerm c semnalul logic V m , din punctul A de pe In a a a condensatorul Cm (de valoare mic) vrem s-l transmitem prin intermediul portii de a a
Transmisie "1" fara degradare "0" Vm Cm A B VM CM VI A S B VO VI VO VDD

"1"

a)

b)

S Transmisie "0" fara degradare

CL

c)

VSS

Figura 1.52 Poarta de transmisie CMOS: a) utilizarea portii pentru controlul conexiunii ntre dou puncte; b) poarta transmite fr degradare att nivelul de 1 a aa a logic ct i nivelul de 0 logic; c) a s nserierea portii de transmisie la ieirea unei porti s CMOS inversor este modalitatea normal de utilizare. a

114

1.5. PORTI TEHNOLOGIA CMOS IN

transmisie CMOS punctul B unde este conectat condensatorul C M (de valoare n mare) pe care exist semnalul logic VM , Figura 1.52-a. Tensiunea rezultant, cnd a a a poarta conduce, este : CM V M + C m V m VR = (1.81) CM + C m Dac Cm = 0, 02pF (o sarcin standard tehnologia integrat de 0, 5m) i V m = 5V a a n a s iar CM = 0, 2pF (zece sarcini standard) i Vm = 0V , cu relatia 1.81, rezult tensiunea s a pe ambele capaciti egal cu VR = 0, 45V . Aceasta at a nsemn c semnalul din punctul a a A cu valoarea logic 1 nu s-a transmis corect punctul B, mai mult, semnalul din a n B a deteriorat semnalul din A i aceasta pentru c semnalul V m nu a fost sucient s a de puternic s forteze semnalul VM din B. Corectitudinea transferului prin poarta de a transmisie se poate realiza prin: 1- izolarea nodului A de nodul B prin introducerea unui buer; 2- realizarea unui semnal punctul A sucient de puternic. Uzual, realizarea n unui semnal destul de puternic la intrarea unei porti de transfer CMOS rezult prin a obtinerea semnalului de intrare la poarta de transfer de la ieirea unui inversor CMOS, s ca Figura 1.52-c. implementarea sistemelor logice se intermixeaz portile de n In a transmisie cu cele pe baz de inversor CMOS; prin utilizarea i a portilor de transmisie a s rezult un numr mai redus de tranzistoare. a a Implementarea operatorilor logici pe baz de porti de transmisie CMOS se face a ntr-un mod similar ca la realizarea schemelor logice pe baz de contacte. Dac varia a abila de intrare poarta de transmisie (variabila de trecere) este x iar poarta este n comandat deschidere cu variabila de control y se obtine produsul logic xy, iar dac a n a variabila de control este y se obtine produsul logic xy. acest mod de implementare, In a a pentru functia x y = xy + xy, considernd x ca variabila de trecere iar y ca variabil de control, se obtine structura din Figura 1.53-a. Implementrile de baz de tranzis a a toare de trecere se fac la fel de simplu ca i cele cu relee, de exemplu, Figura 1.53-b s n este implementat operatorul XOR. Bazat pe aceast simpl implementare a operaa a torului XOR se poate realiza un circuit pentru calculul identitii a dou cuvinte, de at a exemplu X = x3 x2 x1 x0 i Y = y3 y2 y1 y0 ca Figura 1.53-d. Acest circuit realizeaz s n a functia de identicare cuvinte Idc = (x3 y3 ) + (x2 y2 ) + (x1 y1 ) + (x0 y0 ), genernd Idc = 1 numai cnd exist identitate. Structural este o pseudopoart NOR a a a a (Figura 1.46-a) ale crei intrri se obtin de la porti XOR. a a Extinznd aceste reguli simple se poate obtine o structur de circuit pe baz de a a a porti de transmisie care poate modela toate cele 16 functii de dou variabile x, y. a Fiecare functie de dou variabile fi2 (x, y) se poate obtine, din tabelul de adevr din a a Figura 1.2-a, ca o form canonic normal disjunctiv, relatia 1.10, sau pentru o a a a a exprimare sintetic se poate folosi relatia matriceal: a a
2 f0 (x, y) 2 f1 (x, y) . . .

fi2 (x, y) . . .
2 f14 (x, y) 2 f15 (x, y)

0 0 0 0 0 0 . . . . . . . . . 1 1 1 1 1 1

0 1 . . . 0 1

x1 x0 x1 x0 x1 x0 x1 x0

fi2 = dij P

(1.82)

CAPITOLUL 1. PORTI LOGICE

115

adic matricea functiilor fi2 este produsul dintre matricea coecientilor d ij , a i = 0, 1, , 15, j = 0, 1, 2, 3 ai functiei cu matricea termenilor produs de dou vari a abile P . Functia fi2 (x, y) are forma: fi2 (x1 , x0 ) = di0 x1 x0 + di1 x1 x0 + di2 x1 x0 + di3 x1 x0 (1.83)

Analiznd aceast relatie se deduce c implementarea const din patru ramuri a a a a n paralel, la ecare din ramuri se aplic unul din coecentii binari ai functiei (d i0 , di1 , di2 , a di3 ), iar pe ecare ramur sunt cte dou porti de transmisie a a a nseriate care realizeaz unul din termenii canonici produs (x 1 x0 , x1 x0 , x1 x0 , x1 x0 ), Figura 1.53-c. a De exemplu, pentru setul de coecienti: (d0 = 0, d1 = 1, d2 = 1, d3 = 0) ai 2 functiei f6 (vezi Figura 1.2) circuitul va implementa operatorul XOR, iar pentru setul: d0 = 0, d1 = 1, d2 = 1, d3 = 0 se obtine modelarea operatorului NAND. Pen tru ecare combinatie de patru biti aplicat la intrrile acestui circuit se va modela a a una din cele 16 functii de dou variabile. Se va vedea sectiunea 2.4.4 c acest circuit a n a este, de fapt, o structur de multiplexor, MUX 4:1. a

1.5.5

Circuite logice dinamice

La circuitele logice prezentate pn acum functia logic realizat corespunde regia a a a mului static de functionare, adic este asociat cu punctul static de functionare. La o a a poart logic dup un (anumit) timp de propagare ( arziere pe poart), de la aplia a a nt a carea intrrilor, se obtine la ieire o stare logic stabil care se mentine att timp ct a s a a a a
VDD y x y y x y xy + xy di di y x x di di xy + xy y3
0

x3 x3 x2 x2 x1 x1 x0 x0

I dc

A
1

B B B B f i2 (x,y)

y3 y2 y2 y1 y1 y0 y0

a)

A
2

A
3

c) b)

d)

Figura 1.53 Exemple de circuite implementate cu porti de transmisie CMOS i tranzistoare de trecere: Operatorul XOR cu porti de transmisie (a) i s s cu tranzistoare de trecere (b); c) structur programabil pentru toate cele 16 functii a a de dou variabile, fi2 (x, y); d) structur de circuit pentru determinarea identitii a a a at dou cuvinte de patru biti (X = x3 x2 x1 x0 , Y = y3 y2 y1 y0 ). a

116

1.5. PORTI TEHNOLOGIA CMOS IN

se mentin valorile intrrilor i tensiunea de alimentare se pstreaz. Implementrile a s a a a acestea, referite ca statice, general necesit un numr mare de tranzistoare i care, n a a s plus, pot determina timpi de arziere considerabili. n nt Pentru implementrile de a nalt performanta i de densitate mare de integrare, a s unde puterea disipat, arzierea pe circuit i aria consumat pe siliciu sunt cerinte a nt s a majore, se recomand aa numitele circuite logice dinamice care ofer unele avantaje a s a raport cu circuitele logice statice. Totui, aceste avantaje pot umbrite de fapn s tul c, raport cu circuitele statice, imunitatea la zgomot este mai sczut, ceea a n a a ce a determinat ca unele circuite dinamice s e modicate pentru o functionare a pseudostatic. Functionarea circuitelor logice dinamice se bazeaz pe stocarea tema a porar (tranzistorie) a unei sarcini electrice pe o capacitate parazit a unui nod de a a circuit. Tensiunea tranzitorie pe acea capacitate parazit, intervalele de timp cnd a n a se situeaz intervalele VIH , VIL , este considerat ca semnal logic de intrare pena n a tru comanda circuitului a crui intrare este conectat la acel nod ( aceste intervale a a n de timp nu mai este necesar s se aplice semnal de intrare din exterior). a Circuitele logice dinamice de baz, pentru portile dinamice nMOS i pentru cele a s CMOS, sunt reprezentate respectiv Figura 1.54-a i 1.54-b. Pentru ambele circuite n s
I DS CLK

D G VGS =0 VI nMOS vx Cx T1

VDD canal initial S VO

VDD

CLK

Vpn 0

VGS

VI

vx

VO

CL

CLK

Cx

CL

a)
VDD CLK VSS t1 VDD VDD Vpn Vp inversor t1 t2 vx t2

b)

t t3

t t4

c)

Figura 1.54 Circuite logice dinamice: a) structur de inversor dinamic (cu a sarcin tranzistor cu canal initial) i comutator pe intrare tranzistor de trecere; a s b) structur de inversor dinamic CMOS cu comutator pe intrare poart de trecere; a a c) diagramele de timp pentru semnalul de ceas, CLK, i pentru variatia tensiunii v x s pe capacitatea parazit Cx a nodului de intrare. a

CAPITOLUL 1. PORTI LOGICE

117

tensiunea Vx , care va comanda intervalele tranzitorii inversorul cu tranzistor de con mand nMOS i sarcina cu canal initial (depletion-load nMOS) sau inversorul CMOS, a s este tensiunea rezultat pe capacitatile parazite C x ale portilor de intrare. Inversorul a cu tranzistor de comand nMOS (sau pMOS) are o structur de principiu similar ca a a a i inversorul bipolar, Figura 1.21-d, un element comandat-tranzistorul-i o sarcin. La s s a fel ca i cel bipolar, sarcina se poate realiza cu o rezistenta de sarcin dren, dar s a n n tehnologia integrat o rezistenta de sarcin obtinut prin difuzie ocup o suprafata pe a a a a siliciu echivalent cu suprafata consumat, pentru implementarea, a zeci de tranzisa a toare. Evitarea unui astfel de consum mare de suprafata de siliciu poate obtinut a prin utilizarea ca rezistenta de sarcin rezistenta unui canal nMOS conductie, deci a n un tranzistor utilizat ca rezistenta. Exist dou modaliti de realizare a sarcinii pe a a at baz de tranzistor: e cu un tranzistor nMOS cu canal indus regim de saturatie, a n e un tranzistor nMOS cu canal initial. Inversorul cu rezistenta de sarcin canal saturatie se obtine prin conecta a n rea ntre tranzistorul inversor (de comand) i bara V DD a unui tranzistor (de sarcin) a s a nMOS a crui poart se conecteaz la VDD . Prin aceast conexiune poarta i drenul a a a a s ind echipotentiale, VGS sarcin = VDD VS = VDD VO , VDS sarcin = VD VS = a a VDD VO rezult c totdeauna VGS sarcin = VDS sarcin iar VDS sarcin > VGS sarcin a a a a a a Vpn sarcin , deci canalul este permanent saturatie, Figura 1.32-b. Cderea de tensin a a une pe canal VDS sarcin nu poate scdea sub valoarea de prag de deschidere V pn sarcin a a a deoarece atunci canalul s-ar bloca (s-a explicat 1.5.4 c tranzistorul nMOS transn a mite deteriorat 1 logic). Aceasta nseamn c tensiunea maxim de ieire starea H a a a s n nu poate atinge valoarea barei de alimentare V DD , VOmax = VDD Vpn sarcin < VDD . a Inversorul cu tranzistor inversor nMOS i cu sarcin tranzistor s a nMOS cu canal initial poate genera la ieire o tensiune maxim egal cu V DD . s a a Tranzistorul nMOS cu canal initial are, chiar cnd V GS = 0, permanent o sarcin a a electric negativ canal (canalul initial), deci exist un curent dac V DS > 0; a a n a a aceast stare se poate observa din caracteristica de comand I DS = f (VGS ), desenat a a a lng tranzistor Figura 1.54-a. Se observ c din aceast caracteristic valoarea a a n a a a a tensiunii de prag de deschidere a tranzistorului este negativ, V pn , iar cnd grila a a este conectat la surs, VGS = 0, canalul este conductie, IDS = 0. Deci atunci a a n cnd tranzistorul inversor este blocat tensiunea de ieire V OH nu mai este limitat la a s a valoarea VDD Vpn (ca la inversorul cu sarcin tranzistor saturat) ci poate crete pn a s a a la valoarea VDD . Canalul initial se obtine procesul tehnologic printr-o difuzie supli n mentar, zona canalului, de impuriti donoare care genereaz (permanent) canalul a n at a initial; mrind tensiunea de comand pe poart V GS peste valoarea zero sarcina neg a a a ativ a canalului initial este arit suplimentar printr-o sarcin indus canal. a nt a a a n Pentru cele dou tipuri de inversoare, din Figura 1.54-a i 1.54-b, tensiunea de a s intrare VI se aplic pe grilele de intrare prin intermediul unui comutator, care este un a tranzistor de trecere nMOS pentru inversorul cu sarcin cu canal initial, iar pentru a inversorul CMOS este o poart de transmisie CMOS. Comutatorul este comandat a periodic cu un semnal de ceas, CLK; deci cnd CLK = 1 comutatorul este a nchis iar tensiunea de intrare VI va forta arcarea sau descrcarea capacitii parazite nc a at Cx pn la un potential vx = VDD sau vx = 0 dup cum la intrare VI a avut a a a valorile 1 sau 0 logic. Aceste valori pentru Vx se obtin doar pentru comutatorul poarta de transmisie dar pentru comutatorul tranzistor de trecere se obtin valorile vx = VDD Vpn , vx = 0 (tranzistorul de trecere nMOS transmite cu deteriorare 1 logic

118

1.5. PORTI TEHNOLOGIA CMOS IN

i fr deteriorare 0 logic, iar poarta de transmisie transmite fr deteriorare att 1 s aa aa a logic ct i 0 logic). Cnd semnalul de ceas devine inactiv CLK = 0, comutatorul a s a este deschis, condensatorul Cx rmne arcat sau descrcat, iar tensiunea sa V x va a a nc a comanda ieirea inversorului respectiv starea logic 0, V O = VOL sau 1, VO = VOH . s n a Sarcina stocat pe Cx scade timp datorit unui curent de descrcare. Curena n a a tul de descrcare spre mas nu este prin stratul de oxid de sub poarta tranzistorua a lui/tranzistoarelor inversorului, care prezint o rezistenta extrem de mare ( 10 14 ) a ci prin comutatorul de pe intrare. Curentul de descrcare prin acest comutator are a dou componente: 1- curentul prin jonctiunea pn polarizat invers, format a a a ntre zona difuzat a terminalului tranzistorului de trecere legat la C x i substratul care este a a s n realizat aceast zon; 2- curentul de conductie de sub prag; dar preponderent este a a a a prima component. Cnd CLK = 0 vx = VDD sau VDD Vpn(tranzistor de trecere) invera a soarele genereaz la ieire VOL i aceast valoare logic se pstreaz pn cnd v x dea s s a a a a a a a screte pn la tensiunea de prag a tranzistorului inversor V p(inversor) , adic momentul s a a a t4 din Figura 1.54-c. Evident, functionarea corect a inversorului dinamic se realizeaz a a numai atunci cnd semnalul CLK devine activ a nainte ca v x s scad la Vp(inversor) , a a t3 < t4 . Att pentru comutatorul tranzistor de trecere ct i pentru comutatorul a a s poart de transmisie variatia timp a tensiunii v x (t), deci a intervalului cnd aceasta a n a ajunge la pragul Vp(inversor) , se poate determina analitic pe baza circuitelor echivalente din Figura 1.51-a, 1.51-b sau printr-o modelare SPICE. Dar un calcul orientativ n se poate efectua foarte rapid; de exemplu pentru C x = 0, 1pF , Idescrcare = 0, 1pA a rezult o variatie Vx /t = I/C = 0, 1 1012 pA/0, 1 1012 pF = 1V /s, deci o a 5V scdere de la 5V la 0V 5s ( 1V /s = 5s). La aceast vitez de scdere de 1V /s a a n a a a tensiunii Vx o frecventa de exemplu 500Hz (T = 2ms) pentru semnalul de ceas, ca s re a mprospteze sarcina pe condensator, este cu mult peste sucient. Semnalul de a ceas mai este referit, acest caz, i ca semnal de re n s mprosptare (refreshment). a Exemplul 1.19 Pentru lanturile de tranzistoare de transmisie nMOS din Figura 1.55-a i 1.55-b s se determine tensiunea la ieire. s a s
VI = V DD T1 (V DD Vpn1) V1 VDD VDD T2 (V DD Vpn2) V2 VDD T3 (V DD Vpn3) V3 VDD T4 V4max = (V DD Vpn4) V4

a)
VI = V DD VI = V DD VI = V DD VDD T1 T2 T3 V3max = V DD Vpn1 Vpn2 Vpn3

V2max = V DD Vpn1 Vpn2

V1max = V DD Vpn1

b)

Figura 1.55 Structuri de lanturi cu tranzistoare de trecere nMOS

CAPITOLUL 1. PORTI LOGICE

119

Solutie. Pentru lantul obtinut din nserierea a patru tranzistoare de trecere nMOS identice (Vpn1 = Vpn2 = Vpn3 = Vpn4 ) se consider c VI = VDD i toate cele patru noduri a a s sunt descrcate (V1 = V2 = V3 = V4 = 0). Cu aceste consideratii tranzistorul T1 opereaz a a n saturatie VDS1 > VGS1 Vpn1 deci cderea de tensiune pe primul canal nu poate mai mic a a dect Vpn1 rezult c tensiunea V1 nodul 1 nu poate depi valoarea V1max = (VDD Vpn1 ). a a a n as Tranzistorul T2 functioneaz la limita de saturatie deci tensiunea maxim nodul 2 va a a n V2max = (VDD Vpn2 ). Extinznd la T4 tensiunea nodul 4 va mai mic cu Vpn4 a n a dect VDD . Rezult c indiferent cte tranzistoare sunt a a a a nseriate cnd la intrare se aplic a a VI = VDD tensiunea pe ecare nod intern se va stabiliza la o valoare egal cu Vpn sub VDD a oricare a fost tensiunea initial pe nod. Ca o imagine intuitiv se poate considera un singur a a tranzistor de trecere, cu de n ori lungimea de canal, pe care este o cdere egal cu Vp . a a Pentru structura din Figura 1.55-b cnd ieirea de la tranzistorul anterior se aplic pe a s a poarta tranzistorului urmtor, ecare tensiune de ieire poate crete doar pn la valoarea a s s a a egal cu Vpn sub tensiunea aplicat pe poart deci V1max = VDD Vpn , V2max = VDD a a a Vpn Vpn , V3max = VDD Vpn Vpn Vpn . . . Vnmax = VDD nVpn .

Circuite CMOS dinamice. Implementarea urmtoarei functii de opt variabile a F = AB + (C + D)(E + F ) + GH pe o structur CMOS static conventional necesit a a a a 16 tranzistoare ca Figura 1.56-a. Aceeai implementare pe o structur CMOS n s a
VDD Tp y VDD

CLK VDD A E F G B C D H VDD A B G H

E C

F D

Cy

vO

Te VO

b)
Preincarcare VDD VSS Evaluare CLK Preincarcare

A B

G H

E C

F D

a)

VDD VSS

vO Tp Te Tp

Conduce:

c)

Figura 1.56 Porti CMOS pentru implementarea functiei F = AB + (C + D)(E + F ) + GH: a) cu o structur static; b) cu o structur dinamic; c) diagramele a a a a de semnale pentru fazele de pre arcare i evaluare functionarea portii dinamice. nc s n

120

1.5. PORTI TEHNOLOGIA CMOS IN

dinamic, reprezentat Figura 1.56-b, necesit doar 10 tranzistoare; structura are a a n a asemnare cu cu pseudo-poarta CMOS din Figura 1.46-a. Aceast poart dinamic a a a a const dintr-o retea de n tranzistoare al crui nod de ieire y, caracterizat de o a a s capacitate parazit Cy , este pre arcat la tensiunea VDD prin tranzistorul pMOS, Tp . a nc Apoi condensatorul Cy este descrcat/evaluat conditionat (de intrrile de comand a a a ale portii) prin unele din tranzistoarele retelei nMOS i prin tranzistorul nMOS, T e . s Alternativ, se poate realiza o structur cu un nMOS tranzistor pentru pre arcare a nc la VDD , un pMOS tranzistor pentru descrcare la VSS i o retea de p de tranzistoare. a s Faza de pre arcare a capacitii Cy prin tranzistorul Tp pn la tensiunea vO = nc at a a VDD se realizeaz pe intrevalul de timp cnd semnalul de ceas are valoarea CLK = 0, a a Figura 1.55-c, totodat se aplic i valorile variabilelor pe intrrile portii. Apoi, pe a as a intervalul de timp cnd semnalul de ceas are valoarea CLK = 1, iar T p este blocat a dar Te conduce, se realizeaz evaluarea valorii functiei. functie de valorile logice a In ale variabilelor de intrare se poate realiza sau nu o cale de scurtcircuit la mas pentru a tensiune vO = VDD , deci valoarea functiei este evaluat la 0 sau 1 logic. Pe nodul de a ieire y poate obtine doar o tranzitie de la 1 la 0 sau rmne starea 1 logic. s a a n
VDD CLK Tp1 vO1 Intr1 RETEA nMOS VDD Tp2 vO2 Preincarcare VDD CLK VSS VDD vO1 VDD vO2 Corect Eronat Te1 Te2 Evaluare VDD Tp1 CLK vO1 VDD Tp2 vO2

1 Intr2

RETEA nMOS

RETEA nMOS

Te1

Te2

Poarta 1

Poarta 2

Poarta 1

Poarta 2

a)

b)

c)

Figura 1.57 Porti CMOS dinamice: a) nserierea portilor i diagrama semnalelor s la ieirea lor (b); c) s nserierea portilor de tip domino. Functionarea unei singure porti CMOS dinamice, ca Figura 1.56-b, este corect, n a dar cnd sunt a nseriate mai multe porti ca Figura 1.57-a poate apare o functionare n eronat. aceast a In a nseriere Poarta2 se consider a un NAND cu dou intrri a a a (Intr1, Intr2). Pe durata fazei de pre arcare, prin tranzistoarele T p1 i Tp2 , tensiunc s nile de ieire vO1 i vO2 ajung la valoarea VDD iar valorile variabilelor de intrare sunt s s aplicate la Poarta1, a doua intrare (Intr2) pentru Poarta2 se consider c are aplicat a a a valoarea 1 (pe prima intrare (Intr1) a Portii2 se aplic v O1 ). Se presupune c intrrile a a a pentru Poarta1 determin pentru aceasta, prin unele tranzistoare conductie din a n reteaua n i prin Te1 , o cale de scurtcircuit la mas pe durata fazei de evaluare, deci s a vO1 devine 0 logic, valoare evaluat corect pentru Poarta1. a Dar, la nceputul fazei de evaluare tensiunea de ieire, care se aplic pe prima s a

CAPITOLUL 1. PORTI LOGICE

121

intrare de la Poarta2, este a la nivelul vO1 = vDD deci ieirea vO2 a portii NAND nc s va comandat valoarea zero, vO2 = 0. Aceast valoare logic 0 de la ieirea a n a a s portii NAND este eronat deoarece la sfritul fazei de evaluare ar trebui s e 1 a as a logic (vO2 = VDD ) pentru c ieirea corect de la Poarta1 este 0 logic, Figura 1.57-b. a s a Rezult c posibilitatea de functionare eronat la aceast poart cnd este a a a a a a nseriat a cu alte porti s-ar prea c elimin celelalte avantaje (putere disipat redus, valoarea a a a a a ridicat pentru marginea de zgomot, numr redus de tranzistoare i vitez ridicat). a a s a a Pentru eliminarea posibilitii de functionare eronat au fost realizate o multime de at a structuri [Weste 2001][Kang 1996] CMOS dinamice de mare performanta dar care nu prezint acest dezavantaj, dintre acestea se va prezenta doar structura de poart a a CMOS (dinamic) domino. a O poart logic CMOS domino se compune dintr-o poart CMOS dinamic a a a a la care se conecteaz pe ieire un inversor CMOS static, Figura 1.57-c. S explicm a s a a necesitatea introducerii inversorului. Poarta1 poate realiza la ieire doar o comutatie s de la 1 la 0 i trebuie s comande tranzistorul Portii2 numai cnd are evaluat pentru s a a a ieire valoarea 0. Deoarece tranzistorul nMOS al Portii2 se comand cu 1 logic este s a normal ca ntre ieirea Portii1 i intrarea Portii2 s se introduc un inversor CMOS s s a a static; cu aceast completare Poarta2 este comandat numai atunci cnd, dup evala a a a uare, Poarta1 comut din 1 0. Cnd Poarta1 comut din 1 0, comand, prin a n a a n a inversor, ca Poarta2 s poat comuta din 1 0, care la fel comand Poarta3 s comute a a n a a din 1 0 i aa mai departe pn la poarta n-a (propagare de tip domino!). Evident, n s s a a ,, aceast succesiune de cderi ale tensiunilor de ieire ale portilor din 1 0 similar a a s n ca la un lant domino trebuie s se propage a ntr-un interval de timp care s nu e mai a lung dect faza de evaluare, CLK = 1. Dar i poarta domino prezint inconveniente: a s a primul, poarta este la ieire (din inversorul static CMOS) o structur neinversoare s a (necesar pentru un lant domino) iar dac este necesar o inversare trebuie introdus a a a a un inversor static; al doilea, distributia sarcinii C y pe nodurile intermediare ale nc tranzistoarelor nMOS nseriate (din reteaua nMOS) timpul fazei de evaluare, poate n produce o ieire eronat. s a Distributia sarcinii nodului de ieire pe nodurile intermediare din reteaua s nMOS apare felul urmtor. S considerm poarta domino din Figura 1.58-a. n a a a In intervalul de timp de pre arcare tensiunea v y nodul de ieire y, pe capacitatea nc n s parazit Cy , atinge valoarea VDD . Se poate ca unele semnale de comand pe portile a a tranzistoarelor nMOS nseriate s nu e aplicate corect; semnalele de intrare pe portile a tranzistoarelor trebuie aplicate numai pe durata fazei de pre arcare, este incorect nc a modicarea valorii acestor semnale pe durata fazei de evaluare. S presupunem c a a faza de evaluare pe portile primelor dou tranzistoare nMOS de lng nodul de n a a a ieire y al Portii1 se aplic semnalele 1 logic care comand aceste dou tranzistoare s a a a conductie; restul tranzistoarelor n nseriate din reteaua nMOS sunt comandate n blocare, Te1 conduce, deci nu exist o cale de scurtcircuit a sarcinii de pe C y la a mas, ieirea Portii1 nu comut din 1 0. Deoarece primele dou tranzistoare T1 a s a n a i T2 conduc, sarcina de pe Cy se distribuie i pe condensatoarele parazite C 1 i C2 s s s urma distribuirii din nodurile dintre tranzistoarele T1 i T2 respectiv T2 i T3. In s s C sarcinii tensiunea nodul de ieire va avea valoarea v y = Cy +Cy +C2 VDD . Pentru n s 1 VDD = 5V , Cy = C1 = C2 rezult Vy = 1, 66V . Valoarea tensiunii vy = 1, 66V , cnd a a tensiunea la ieirea Portii1 ar trebuit s rmn la valoarea v y = VDD = 5V , este s a a a a sub valoarea de prag de comutatie ( 2, 5V ) a inversorului CMOS static, deci ieirea s

122
VDD VDD y Cy C1 C2 Retea nMOS Te1 Te2 Poarta 2 Retea nMOS Tp2

1.5. PORTI TEHNOLOGIA CMOS IN


VDD Tp1 Tm vy T1 T2 vO

CLK

Tp1

CLK

Retea nMOS

Te1

a)

Poarta 1

b)

Figura 1.58 Poarta CMOS domino: a) dac nu se respect aplicarea semnalelor a a de intrare, numai faza de pre arcare, atunci redistributia sarcinii de pe C y poarta n nc produce o functionare eronat pentru o poart domino; b) eliminarea posibilitii de a a at functionare eronat prin introducerea unui circuit cu reactie (tranzistorul T m ) pentru a mentinerea vy = VDD . acestuia comut din 0 1 i se comand intrarea Portii2. Iat c prin distributia de a n s a a a sarcin scderea tensiunii vO1 produce o comand eronat pentru Poarta2. a a a a Pentru eliminarea comutatiei eronate datorat distributiei sarcinii din nodul de a ieire se poate aplica una din urmtoarele solutii: s a 1. Se realizeaz inversorul CMOS static cu un prag de comutatie foarte sczut; a a 2. Se utilizeaz cte un tranzistor de pre arcare, similar lui T p1 , pentru ecare a a nc nod din reteaua de tranzistoare nMOS, felul acesta capacitatea din ecare n nod se ncarc la tensiunea VDD (deci sarcina de pe Cy nu se mai distribuie). a 3. Se realizeaz un tranzistor pMOS de mentinere T m ca Figura 1.58-b. Acesta a n ,, este un tranzistor slab , adic forteaz un curent foarte mic nodul de ieire a a n s deoarece are un raport de forma W/L de valoare foarte mic, deci poate mentine a tensiunea vy starea H acest nod numai dac nu exist o cale putenic de n n a a a scurtcircuit de la nod la mas prin lantul de tranzistoare din reteaua nMOS. Se a observ c tranzistorul Tm este conductie doar cnd tensiunea nod este a a n a n de nivel H; prin reactia invers, realizat prin intermediul inversorului static, se a a aplic un semnal de nivel L pe poarta lui Tm mentinndu-l conductie. a a n Performantele tranzitorii ale portii domino pot mbuntite prin reducerea a at timpului de descrcare a capacitii Cy la mas prin linia de tranzistoare nMOS a at a nseriate. O solutie acest sens este realizarea layoutului tranzistoarelor n nseriate ca Figura 1.59-b, unde limea de canal crete sensul de la tranzistorul conectat la n at s n nod spre tranzistorul conectat la mas, dei aceast geometrie pare a contraintuitiv. a s a a

CAPITOLUL 1. PORTI LOGICE

123

Prin micorarea raportului de form W/L al unui tranzistor capabilitatea de a furniza s a curent scade (rezistenta echivalent a canalului crete), la fel scad i capacitile a s s at parazite. Explicatia cazul prezentei geometrii este: dac lungimea canalelor nMOS n a nseriate este destul de mare creterea rezistentei prin micorarea unor limi de canal s s at este ne nsemnat pe cnd scderea capacitii parazite este semnicativ i deci per a a a at as total rezult o constant de timp micorat pentru descrcare. plus, se poate a a s a a In realiza pentru inversorul static de pe ieire, care dup faza de evaluare poate comuta s a de la 0 la 1, o vitez mrit a comutatiei L H de la ieirea sa prin dimensionarea a a a s tranzistorului nMOS al su cu W mrit. a a
VDD CLK

Tp1
O

CLK

Tp1
O

A B C D

A B C D

Te1 a) b)

Te1

Figura 1.59 Poarta CMOS dinamic: a) structur tipic de poart domino; a a a a b) variant de layout (simplicat) care poate realiza un timp redus etapa de evala n uare pentru poarta domino. Poarta domino, de fapt, este realizat din dou etaje, poarta dinamic urmat de a a a a inversorul CMOS static, Figura 1.59-a. Uneori poarta domino nu este sincronizat a faza de evaluare, deci tranzistorul Te este eliminat; acest tranzistor n ncetinete s procesul de descrcare al capacitii Cy dar elimin faza de pre arcare orice cale a at a n nc de conductie ntre VDD i VSS . Tipic o poart domino este de 1, 5 2 ori mai rapid s a a dect o poart CMOS static. a a a

1.5.6

Metoda efortului logic

Metoda efortului logic a fost conceput de ctre Ivan Sutherland i Bob Sproull a a s (1991), ca un instrument proiectarea circuitelor CMOS functie de arzierea n n nt pe circuit, ulterior a fost publicat o monograe pe acest subiect [Sutherland 99]. a Prezentul material este o sintez a metodei efortului logic bazat pe aceast monoa a a grae.

124

1.5. PORTI TEHNOLOGIA CMOS IN

Metoda efortului logic raport cu alte metode de proiectare (simulare i corectare, n s fan-out egal pe etaj, optimizarea numeric, arziere egal pe nivel) este uor de a nt a s aplicat pentru c se bazeaz pe un simplu model RC al portii, permite o legtur a a a a cu structura intern a circuitului, deci se poate alege topologia optim de circuit. a a Prin aplicarea metodei se pot proiecta circuite care realizeaz abateri ale timpului de a propagare cu cel mult 10% fata de timpul minim. Este foarte important faptul c, a prin utilizarea metodei efortului logic, se poate selecta prima etap cu certitudine n a care dintre variantele de circuit luate considerare pentru analiz este mai rapid; n a a valoarea absolut a arzierii pe circuit nu este chiar aa de important prima a nt s a n etap, deoarece pentru o variant de circuit selectat se pot face apoi simulri exacte a a a de timp. Dei metoda efortului logic conduce la proiectarea unui circuit CMOS rapid s apare totui ca lacunar prin faptul c nu este corelat cu obtinerea pentru acel circuit s a a a i a unui minim pentru aria consumat i pentru puterea disipat. s as a 1.5.6.1 Determinarea arzierii pe o poart logic nt a a

Primul pas modelarea arzierilor este concentrarea tuturor efectelor de n nt ntrziere, ale unui circuit de referinta realizat a ntr-o anumit tehnologie, sub forma a unei uniti etalon de arziere. ecare tehnologie se alege ca circuit de referinta, at nt In dintre toate portile realizate tehnologia respectiv, poarta cea mai simpl, adic n a a a poarta inversor. Iar ca unitate etalon de arziere, notat cu , este arzierea nt a nt introdus de poarta inversor cnd se consider c nu are capaciti interne parazite i a a a a at s comand doar o poarta inversor identic. Astfel se va exprima arzierea absolut, a a nt a dabs , a unei alte porti din aceeai tehnologie ca produsul dintre arzierea etalon a s nt inversorului i o arziere adimensional d (specic ecrei porti) s nt a a a dabs = d (1.84)

Pentru o tehnologie cu caracteristica de 0, 6m i V DD = 3, 3V valoarea arzierii s nt etalon este = 50ps. De fapt, caracteristica de vitez a procesului respectiv se a exprim printr-o singur valoare, . a a arzierea pe o poart logic cuprinde dou componente, una constant, notat Int a a a a a cu p, datorat capacitilor interne parazite i alta notat cu f , referit ca efora at s a a tul pe poart/nivel (stage eort) dependent de sarcina comand la ieire i de a a a s s structurarea/topologia portii. Rezult c arzierea adimensional a portii, care in a a nt a dic de cte ori este mai mare dect a inversorului, poate exprimat prin relatia: a a a a d=f +p (1.85)

La efortul pe poart f contribuie efortul electric, h, ce caracterizeaz sarcina a a comandat de poart i efortul logic, g, ce a a s nglobeaz particularitatea structurii a portii raport cu structura portii etalon (inversorul), acestea dou sunt relatia: n a n f =hg (1.86)

Efortul electric, h, reect cum mrimea sarcinii conectate la ieire afecteaz a a s a ntrzierea pe poarta logic i cum dimensiunile portilor tranzistoarelor determin caa as a pabilitatea de a produce curenti pentru sarcina conectat la ieire i se exprim prin a s s a raportul: CO h= (1.87) Cin

CAPITOLUL 1. PORTI LOGICE

125

care Cin este capacitatea prezentat de poart la intrare, iar C O este toat can a a a pacitatea comandat de poart la ieire. Evident, dac se consider la ieire numai a a s a a s capacitile prezentate de intrrile portilor comandate, efortul electric poate referit at a i prin fan-out (numrul de intrri de porti comandate la ieire de ctre o poart). Mai s a a s a a mult, este foarte uzual arcarea unei porti, la ieire, cu patru sarcini etalon, adic a nc s a realizarea unei comenzi pentru patru inversoare, notat cu FO4 (fan-out 4), vezi a Exemplul 1.20. Dar, general valoarea lui C O pe lng capacitile de intrare ale n n a a at portilor comandate intr i capacitile conexiunilor dintre ieirea portii de comand as at s a i intrrile comandate (Ccox relatia 1.64), deci cazul metodei efortului logic se s a n n va considera valoarea lui h obtinut prin raportul dat de relatia 1.87 i care numai a s n cazuri particulare coincide cu fan-out-ul (cnd nu se consider capacitile conexiua a at nilor). Uneori att Cin ct i CO se exprim unitile care se msoar limea a a s a n at n a a at canalului W , adic m, pentru c la aceeai lungime de canal L, a tuturor tranzisa n a s toarelor, capacitile ind proportionale cu suprafata portilor tranzistoarelor, W L, at rezult c sunt proportionale cu W ; dar acest caz i componenta de capacitate a a a n s conexiunilor, Ccox , care intr CO , trebuie convertit m. Pentru capacitatea de a n a n poart a tranzistorului i pentru capacitatea de conexiune valori uzuale sunt: respeca s tiv 2f F/m i 0, 2f F/m, valori care rmn cam aceleai pentru multe generatii de s a a s proces atunci cnd se scaleaz identic dimensiunile dar simultan i grosimea stratului a a s de oxid (Dox , Figura 1.32-a). Din relatiile 1.85, 1.86, 1.87 se obtine expresia arzierii pe o poart uniti : nt a n at d = gh + p (1.88)

care reect faptul c efortul electric, h, i efortul logic,g, contribuie la creterea a a s s arzierii aceeai manier. Pentru un inversor care comand un inversor identic, nt n s a a s a at h = Cin = 1, i nu se consider capacitile interne parazite, p = 0, pentru a se Cin obtine o arziere adimensional egal cu unitatea d = 1, se consider efortul logic nt a a a g = 1 (rezult din relatia 1.88). Considernd n = 2p (dei la tehnologiile adnc a a s a submicronice n /p tinde spre 1, 5), pentru un inversor care s comande un curent egal a pentru sarcin, att tranzitia H L, ct i tranzitia L H, este necesar raportul a a n a s n Wn /Wp = 0, 5. Un inversor cu raportul Wp = 2Wn prezint la intrare o capacitate a Cinv proportional cu 3 uniti de capacitate (de lime de canal W): o unitate de a at at capacitate pentru poarta de canal nMOS i dou uniti de capacitate pentru poarta s a at de canal pMOS, Figura 1.60; evident s-a considerat capacitatea minim, cea a portii a nMOS, ca unitate de capacitate. Efortul logic exprim informatia despre topologia portii adic reteaua de tranzisa a toare care realizeaz conectarea ieirii portii la tensiunea V DD i la tensiunea VSS a s s (mas) necesar pentru determinarea arzierii pe poart. Se vor prezenta trei a a nt a denitii echivalente ale efortului logic, ecare denitie exprimnd o alt perspectiv a a a de abordare. Denitia 1.16 Efortul logic al unei porti, g, este raportul dintre capacitatea de intrare a unei porti, Cin , i capacitatea de intrare a unei porti inversor, C inv , pentru s care ambele porti au aceleai valori ale curentilor pe ieire: s s g= Cin Cinv (1.89)

126

1.5. PORTI TEHNOLOGIA CMOS IN

V DD
2 unitati (de capacitate)

2
pMOS

C inv

nMOS

1 V SS

C inv
1 unitate (de capacitate)

C inv C inv = 2+1 = 3 unitati


(de capacitate)

Figura 1.60 Exprimarea capacitii de intrare a unui inversor Cinv uniti at n at echivalente de capacitate (minim). a Conform acestei denitii, din Figura 1.61-a, 1.61-b i 1.61-c se calculeaz pentru s a portile inversor, NAND i NOR valorile capacitilor pe ecare intrare, ind egale s at respectiv cu 1 + 2 = 3, 2 + 2 = 4 i 4 + 1 = 5; rezult deci valorile efortului logic s a 3/3 pentru inversor, 4/3, pentru NAND i 5/3 pentru NOR. Tabelul 1.13 sunt s In prezentate valorile efortului logic pentru portile foarte uzuale functie de numrul n a de intrri i de valorile raportului = Wp /Wn . a s Denitia 1.17 Efortul logic al unei porti, g, este numrul care exprim de a a cte ori este mai redus curentul pe ieirea portii dect curentul pe ieirea unei porti a s a s inversor cnd ambele porti au aceeai capacitate de intrare. a s

Tabelul 1.13 Valorile efortului logic pentru portile uzuale Formula de Efortul logic 1 Total Pe intrare Total Pe intrare Total Pe date, selector Total Pe intrare pereche Total Pe date, clock calcul
1+ 1+ n(n+) 1+ n+ 1+ n(n+n) 1+ 1+n 1+

Numrul de intrri a a n=1 1 n=2 8/3 4/3 10/3 5/3 8 2, 2 8 4 n=3 5 5/3 7 7/3 12 2, 2 36 12 n=4 8 2 12 3 16 2, 2 128 32

Tipul de poart a Inversor NAND NOR Multiplexor XOR, XNOR Latch

=2

4n 2, 2 n2 2n1 n 2n1 4 2, 2

CAPITOLUL 1. PORTI LOGICE


VDD 2 A C in=3 I O,HL 1 g= 3/3=1 2 I O,LH VDD 2 2 VDD 4 I O,LH 4

127
4+1=5 I O,LH

2+1=3

2+2=4 C in=4 A B C in=4

I O,HL g= 4/3

C in=5 A B C in=5 1

I O,HL g= 5/3

2 I O,HL=I O,LH

a)
VDD 40 A C in=60 20 I O,HL I O,LH C in=60 A B C in=60

b)
VDD 30 30
3/ I 4 O,LH

c)
VDD 48
3/ I 5 O,LH

48 C in=60
3/ I 4 O,HL

30

A B C in=60 12

12

3/ I 5 O,HL

30 I O,LH=I O,HL

d)

e)

f)

Figura 1.61 Efortul logic pentru portile inversor, NAND i NOR: a,b,c) cnd s a toate aceste porti au aceeai capabilitate de comand la ieire; d,e,f) cnd toate aceste s a s a porti au aceeai capacitate Cin pe intrare. s

Orice topologie de poart logic prezint o mai mic capabilitate de a produce un a a a a curent de ieire dect o poart inversor cnd ambele au aceeai capacitate pe intrare. s a a a s Reducerea curentului pe ieirea portii s nseamn un timp de propagare mai lung, deci a efortul logic exprim de cte ori este mai lent poarta efectuarea comenzii unei a a a n sarcini dect poarta inversor efectuarea aceleiai comenzi. a n s Din Figura 1.61-e i Figura 1.61-f rezult de cte ori sunt mai redui curentii la s a a s ieirea portilor NAND i NOR dect curentii la ieirea portii inversor, Figura 1.61-d, s s a s cnd toate trei portile au aceeai capacitate la intrare, egal cu 60 de uniti. a s a at Denitia 1.18 Efortul logic al unei porti, g, este egal cu raportul dintre panta dreptei care reprezint dependenta arzierii pe poart functie de fan-out i panta a nt a n s dreptei care reprezint dependenta arzierii portii inversor functie de fan-out. a nt n Aceast denitie sugereaz i o metod de msurare a efortului logic din depena as a a denta grac arziere - fan-out obtinut experimental sau prin simulare, Figura a nt a 1.62. Se poate deni un efort logic gb i pentru un grup de b intrri, analog relatiei 1.89, s a

128 felul urmtor: n a gb =

1.5. PORTI TEHNOLOGIA CMOS IN

Ci Cb = i=1 (1.90) Cinv Cinv care Cb este suma capacitilor Ci , ale ecrui semnal aplicat pe o intrare i din n at a cele b intrri. De fapt, rezult c gb este suma eforturilor logice gi pentru toate cele a a a b b semnale de intrare gb = i=1 gi . Din Tabelul 1.13 rezult c pentru o poart cu ct este mai complex functia a a a a a logic realizat cu att este mai mare efortul logic i, mai mult, efortul logic al portilor a a a s crete cu numrul de intrri ale portii, deci concluzia este c portile mai complexe sau s a a a mai mari (ca numr de intrri) vor prezenta arzieri mai mari. Aceast concluzie a a nt a este un ghid selectarea/alegerea unei structuri logice. Proiectarea care urmrete n a s minimizarea numrului de niveluri logice va necesita mai multe intrri pentru ecare a a poart logic i astfel efortul logic pe poart devine mai mare. schimb proiectarea a as a In care urmrete mai putine intrri, i astfel cu un efort logic mai mic pe nivel logic, a s a s va necesita mai multe niveluri logice. De fapt, acest aspect proiectarea unui sistem n este venicul compromis care trebuie fcut s a ntre adncimea ( arzierea), D(n), i a nt s dimensiunea, S(n), aspect ce va permanent atentie capitolul 2 i 3 al aceste n n s lucrri. a Calculul arzierii p, datorit capacitilor interne parazite, nu este aa de uor nt a at s s de efectuat cum este pentru efortul logic. Principala contributie la aceast capacitate a parazit o au capacitile zonelor difuzate ale tranzistoarelor i care sunt conectate la a at s semnalul de ieire. Pentru calculul unei astfel de capaciti este luat considerare s at a n att suprafata zonei difuzate ct i peretii laterali ai zonei difuzate i care depind de a a s s layout i parametrii de proces. Considernd o capacitate de difuzie specic pentru s a a proces, Cd , atunci o aproximare grosier pentru capacitile zonelor difuzate de dren a at i surs poate exprimat prin produsul W Cd . Cu aceast aproximare se poate s a a a concepe un model pentru inversor felul urmtor. Semnalul de ieire din poarta n a s inversor este conectat la dou zone difuzate: una corespunde cii a a nspre mas prin a canalul n pentru care se consider W = 1 i atunci aceast capacitate este C d i alta a s a s corespunde cii a nspre VDD , prin canalul p, pentru care capacitatea este C d deci suma lor este (1 + )Cd . Capacitatea de intrare inversor este egal cu produsul n a dintre suprafata portilor celor dou canale (1 + ), pentru W = 1, i capacitatea a s specic de poart Cox , adic (1 + )Cox . arzierea datorat capacitilor interne a a a Int a at parazite ale inversorului pinv este egal cu raportul dintre capacitile parazite i a at s (1+)Cd Cd capacitatea de intrare, pinv = (1+)Cox = Cox . Se consider pentru pinv ca ind o a mrime adimensional egal cu unitatea pinv = 1. a a a arzierea pentru o poart se poate calcula din arzierea inversorului p inv , conInt a nt sidernd c poarta are reguli de layout similare cu cele ale inversorului. arzierea a a Int pentru poart, p, este mai mare dect a inversorului, p inv , cu raportul dintre suma a a tuturor limilor acelor zone difuzate Wd ale tranzistoarelor care sunt conectate la at semnalul de ieire i limea corespunztoare a inversorului, cu conditia c poarta s s at a a logic este dimensionat s aib acelai curent de ieire ca i inversorul: a a a a s s s p= Wd 1+ pinv (1.91)

Aplicnd aceast aproximare pentru poarta NAND cu n intrri care au calea a a a n spre mas o singur zon difuzat conectat la ieire cu limea nW d i calea spre a a a a a s at s n

CAPITOLUL 1. PORTI LOGICE

129

tensiunea VDD un numr de n zone difuzate de limea Wd , deci suprafata total a at a n(1 + )Wd , rezult p = n pinv . La fel, se poate calcula pentru poarta NOR i rezult a s a p = n pinv . Tabelul 1.14 prezint, pentru cteva porti uzuale, aceste calcule. a a Tabelul 1.14 Estimarea arzierilor p pentru unele porti nt Tipul de poart a NAND NOR Multiplexor XOR Formula n pinv n pinv 2n pinv n 2n1 pinv pinv = 1.0 n=3 n=4 3 4 3 4 6 8 12

n=2 2 2 4 4

Estimarea componentei de arziere p are serioase limitri cnd se consider c nt a a a a aceast arziere crete liniar cu numrul de intrri ale portii. Deoarece arzierea a nt s a a nt datorat capacitilor interne parazite este dependent de layout cea mai bun cale a at a a pentru determinarea acesteia este prin simularea circuitului cu datele exacte de layout. Dar o determinare exact pentru arzierea p, datorit capacitilor interne parazite, a nt a at nu este necesar etapa de dimensionare a tranzistoarelor deoarece aceast dimena n a sionare se face functie doar de efortul pe poarta f = g h care este independent de n p. Valorile uniti de timp [ps] ale parametrilor i p inv pentru inversor i, n at s s n extensie pentru ecare poart, pot determinate din reprezentarea grac a arzierii a a nt absolute a portii inversor dabs = (h + pinv ), sau a unei porti dabs = (g h + p) n functie de efortul electric h, Figura 1.62. Aceast dreapt poate trasat doar prin a a a
dabs [ps]
ND

dabs= gh+ p

NA

SO
1 pinv 0 1

R
dabs= .h+ pinv =tg 1 g=tg 2

IN

ER

2 3 4 Efortul electric

Figura 1.62 Utilizarea diagramei dabs = f (h) pentru calculul parametrilor i p. s

130

1.5. PORTI TEHNOLOGIA CMOS IN

cunoaterea a dou puncte care pot determinate prin simulare, prin experiment sau s a din foaia de catalog a circuitului. Panta dreptei pentru inversor determin arzierea a nt unitar = tg1 iar tietura pe ordonat este egal cu produsul p inv , deci rezult a a a a a pinv . O metod pentru determinarea arzierii absolute d abs pentru inversor este a nt expus Exemplul 1.17. Prin msurarea frecventei f a unui oscilator inel compus a n a n din n inversoare, dabs = (h + p) cu h = 1, pinv = 1 rezult dabs = 2 i din egalitatea a s 2 = 1/2nf se obtine cu n = 1, = 1/4f . Exemplul 1.20 S se estimeze arzierea d pe un inversor care comand patru a nt a inversoare identice, inversor FO4 (fan-out 4), Figura 1.63-a.
x x

d x

d x x

a) x b)

Figura 1.63 Calculul arzierii pe poart: a) Pentru inversor cu arcare patru nt a nc porti inversor,FO4; b) Pentru NAND4 care comand 10 porti NAND4. a
Solutie. Deoarece toate inversoarele sunt identice CO = 4Cin deci h = 4. Pentru inversor efortul logic este unitar g = 1. Conform relatiei 1.88 rezult d = gh + p = 1 4 + a pinv = 4 + 1 = 5. Adesea, arzierea pe o poart este exprimat raport de arzierea nt a a n nt inversorului cu patru sarcini inversor, pentru c a ntr-un proces este cunoscut arzierea a nt F O4, adic arzierea de 5 . arzierile pentru alte circuite vor multipli de 5 (de FO4). a nt Int

Exemplul 1.21 O poart NOR4 (cu patru intrri) comand alte 10 porti NOR4 a a a identice, Figura 1.63-b. Care este arzierea d pe poarta de comand? nt a Solutie. Capacitatea Cin pe o intrare a portii NOR4 este x iar capacitatea conectat a pe ieire CO = 10x deci efortul electric este h = 10. Efortul logic g pentru poarta cu patru s intrri, obtinut din Tabelul 1.13, este g = 9/3 = 3, iar arzierea p rezult din Tabelul 1.14. a nt a arzierea pe poarta de comand este d = gh + p = 3 10 + 4 1 = 34 uniti de arziere. Int a at nt Se observ c atunci cnd sarcina este mare arzierea p datorat capacitilor parazite a a a nt a at interne este nesemnicativ raport cu efortul pe poart. a n a

Exemplul 1.22 S se structureze o poart XOR i s se calculeze efortul logic. a a s a Solutie. Exprimnd A B ca o functie negat, pentru implementare CMOS, a a n
A B = A B = AB + AB = AB + A B

CAPITOLUL 1. PORTI LOGICE

131

rezult expresia logic AB + A B, pentru reteaua nMOS, i prin complementarea acesteia a a s se obtine expresia logic AB + AB, pentru reteaua pMOS, cu structurarea din Figura 1.64. a Fiecare intrare este o pereche de semnale deoarece se genereaz att variabila ct i variabila a a a s negat. a Efortul total al portii este (8 + 8)/(1 + ) = 8 iar efortul logic pe o intrare (A, A, B, B) este de patru ori mai mic, adic 2. Evident c efortul logic pe o intrare pereche A, A sau a a B, B este de dou ori mai mare, adic 2 2 = 4. De la structura XOR cu dou variabile, a a a prin extensie, se poate obtine o structur cu n variabile; Figura 1.64-b, este prezentat a n a o structur XOR pentru trei variabile A B C. O poart XOR de n variabile va avea a a pentru reteaua nMOS un numr de 2n1 ramuri paralel, ecare ramur ind compus a n a a din n tranzistoare nseriate de lime n.Pentru reteaua pMOS sunt, la fel, 2n1 ramuri at n paralel, ecare ramur ind compus din n tranzistoare a a nseriate de lime n. Efortul logic at total este 2n1 n(n + n)/(1 + ) = n2 2n1 , iar efortul logic pe o intrare va de 2n ori mai mic adic n 2n2 , efortul logic pe o intrare pereche este de dou ori mai mare n 2n1 a a ( a se vedea Tabelul 1.13). Cu aceast organizare simetric a portii XOR pentru n 3 nu se obtine cel mai mic efort a a logic, de exemplu pentru n = 3 efortul logic este 36. Analiznd semnalele pentru comanda a tranzistoarelor se observ c unele dintre acestea pot comune pentru cte dou ramuri, att a a a a a reteaua nMOS ct i reteaua pMOS, astfel se obtine o organizare asimetric prezentat n a s n a a Figura 1.64-c. n La organizarea asimetric calculnd efortul logic total, pentru n = 3, rezult valoarea de a a a 24, valoare mai mic fata de organizarea simetric (32). Rezult valoarea 6 pentru efortul a a a logic al intrrilor pereche A i C iar pentru intrarea pereche B valoarea 12 (ca i la organizarea a s s simetric deoarece nici un tranzistor conectat la B sau B nu a fost eliminat). a Din organizarea portii XOR cu dou intrri rezult imediat cea a portii XNOR cu dou a a a a s intrri prin a nlocuirea variabilei A cu A i invers a variabilei A cu A.

1.5.6.2

Calculul arzierii retelele de porti logice nt n

Intr-o retea de porti logice metoda efortului logic permite evaluarea numrului a optim de porti pentru obtinerea arzierii minime pe un anumit traseu precum i nt s repartizarea arzierilor partiale pe ecare poart din acel traseu. Notiunile de efort nt a logic i efort electric, pentru un traseu de porti, se obtin prin generalizarea acestor s notiuni denite pentru o singur poart. a a Efortul logic pentru un traseu, notat cu G, se obtine ca un produs al efortului logic gi al tuturor portilor de-a lungul acestui traseu: G= gi (1.92)

Efortul electric pentru un traseu, notat cu H, se obtine ca un raport ntre capacitatea total care a ncarc ieirea ultimei porti a traseului i capacitatea de intrare a s s de la prima poart din traseu: a CO H= (1.93) Cin Dar anumite puncte ale traseului considerat se pot ramnica i alte trasee n s (colaterale) deci acele puncte curentul de ieire al portii respective se ramnic n s a ntre traseul considerat i traseul/traseele colaterale; pentru aceste situatii este necesar a se s lua considerare i arcrile colaterale. Aceste arcri colaterale sunt continute n s nc a nc a notiunea de efort de ramnicatie la ieirea portii cu indexul i din traseu i este n s s

132

1.5. PORTI TEHNOLOGIA CMOS IN

V DD A 3 A B B C C A A V DD B AB + AB A 3 3 B A 3 3 A A AB + AB B a) 3 B 3 C C
3

A B C C B A

3 3 3 3 3 3

A B C C B A

3 3 3 3 3 3

A B C C B A

3 3 3 A 3 3 3 B C

3 3 3 3 3

B B

B A b)

V DD B B A
3

3 3

A B
3

3 3

C C

A 3

3 A

B
3

3 A

B
3

c)

Figura 1.64 Structurarea portii XOR tehnologia CMOS: a) poarta n XOR cu dou intrri; b) structurare simetric pentru poarta XOR cu trei intrri; a a a a c) o modalitate de structurare asimetric pentru poarta XOR cu trei intrri. a a

CAPITOLUL 1. PORTI LOGICE

133

notat cu bi . Efortul de ramnicatie bi ( punctul de ramnicatie) se denete n s ca raportul dintre suma capacitii de intrare a portii urmtoare din traseu, C it , i a at a s capacitilor de intrare de la portile de pe traseul/traseele de ramnicatie, C ir , supra at Cit . Cit + Cir bi = (1.94) Cit Intr-un punct de neramnicatie al traseului rezult b i = 1, deoarece Cir = 0. Efortul a de ramnicatie pe ntregul traseu, B, se obtine ca un produs al tuturor eforturilor de ramnicatie bi de-a lungul traseului: B= bi (1.95)

Similar cu relatia 1.86 se poate deni un efort al traseului, notat cu F , ca produsul dintre efortul electric, H, efortul logic, G, i efortul de ramnicatie, B, de-a lungul s traseului: F = GBH (1.96) Se observ c F depinde numai de topologia (G) i de arcarea traseului (H) i a a s nc s nu de dimensiunea tranzistoarelor din portile de pe acest traseu. Mai mult, efortul traseului nu se schimb dac se introduc sau se scot inversoare deoarece acestea au a a efortul logic egal cu 1. Pentru traseu, produsul dintre efortul electric H i efortul de ramnicatie B este s egal cu produsul efortului electric hi al tuturor portilor de pe traseu: BH = CO Cin bi = hi (1.97)

aceast relatie este important deoarece pentru un traseu se cunoate C in , CO i a a s s eforturile de ramnicatie bi deci proiectantul va trebui s dimensioneze efortul electric a pentru ecare poart hi astfel a s realizeze produsul BH. a nc a arzierea pe traseu D este egal cu suma arzierilor portilor din traseu i, la Int a nt s fel ca relatia 1.88, are dou componente: una, arzierea de efort a traseului D F n a nt i cealalt arzierea datorat capacitilor interne parazite ale portilor din traseu, s a nt a at P , deci se pot scrie relatiile: D DF P = = = di = D F + P gi h i pi (1.98) (1.99) (1.100)

Se demonstreaz c intrzierea pe traseu are valoarea minim cnd ecare poart a a a a a a din cele N ale traseului are acelai efort, notat cu f , a crui valoare se obtine cu s a relatia: N f = g i hi = F (1.101) Din relatiile 1.101 i 1.98 se deduce principalul rezultat al metodei efortului logic, s adic relatia care exprim arzierea minim,notat cu D, ce se poate obtine pentru a a nt a a un traseu: 1 D =N FN +P (1.102)

134

1.5. PORTI TEHNOLOGIA CMOS IN

Pentru un traseu a crui topologie este dat se poate calcula efortul F i repara a s tiznd un efort egal pe ecare poart, din relatia 1.101, rezult ct trebuie s e a a a a a efortul electric hi pe ecare poart din traseu a FN hi = gi
1

(1.103)

iar, apoi, cu valoarea lui hi cunoscut, se pot determina dimensiunile tranzistoarelor a din ecare poart logic din traseu. De fapt, calculul a a ncepe cu dimensionarea tranzistoarelor din ultima poart a traseului, pentru care se cunoate: arcarea la ieire a s nc s CO , efortul logic i valoarea f , deci rezult capacitatea de intrare a ultimei porti s a (care este capacitatea de ieire a penultimei porti atunci cnd efortul de ramnicatie s a acest punct este 1). Apoi, dup dimensionarea tranzistoarelor din ultima poart a n a a traseului se dimensioneaz, succesiv, i celelalte porti sensul invers de parcurgere a s n a portilor din traseu, adic de la penultima poart pn la poarta de intrare. Relatia a a a a de dimensionare pentru poarta cu indicele i din traseu este: Cini = gi C O i f (1.104)

din care rezult capacitatea Cini de intrare poarta i, care apoi se distribuie potrivit a n la toate tranzistoarele de pe acea intrare a portii. C Oi a rezultat deja de la dimen sionarea (anterioar a) portii urmtoare din traseu, (i + 1). a a Exemplul 1.23 Un traseu A B ca Figura 1.65-a este compus prin n nserierea a trei porti NAND2; capacitatea de intrare a primei porti este C iar arcarea ultimei porti nc este tot C. Care este arzierea minim pe traseu i care sunt dimensiunile tranzistoarelor nt a s acestor porti?
V DD A C C/2 y z B C C/2 C/2 a) b) C/2

Figura 1.65 Explicativ pentru exemplul 1.23 a


Solutie. Pentru a determina efortul traseului B trebuie calculate efortul electric H, de ramnicatie B i logic G, de-a lungul traseului. Efortul logic este produsul efortului s logic al celor trei porti NAND2, G = g0 g1 g2 = (4/3)(4/3)(4/3) = (4/3)3 = 2, 37 . Efortul de ramnicatie B are valoarea 1 deoarece nu exist nici o ramnicatie pe traseu. Efortul a electric al traseului este H = C/C = 1, deci F = GBH = 2, 37 . Cnd efortul pe ecare a

CAPITOLUL 1. PORTI LOGICE

135

poart are aceeai valoare egal cu f = 3 F = 4/3 arzierea minim care se poate obtine a s a nt a pe traseu se calculeaz cu relatia 1.102, D = 3 3 2, 37 + 3(2pinv ) = 10 uniti de arziere. a at nt Pornind dimensionarea tranzistoarelor de la ultima poart care are capacitatea pe ieire a s C i aplicnd relatia 1.104 se obtine capacitatea de intrare pentru a treia poart NAND2, s a a z = (c 4/3)/(4/3) = C. Similar rezult capacitatea de intrare pentru a doua poart a a NAND2, y = (z 4/3)/(4/3) = z = C. Rezult c toate portile au aceleai dimensiuni pentru a a s tranzistoare, adic portile sunt identice, ceea ce nu este surprinztor deoarece ecare poart a a a are aceeai sarcin i acelai efort logic, iar pentru obtinerea timpului minim toate trebuie s as s s aib acelai efort. Fcnd dimensionarea pentru n /p = 2 rezult o poart NAND2 cu a a s a a a a dimensiunile pentru portile tranzistoarelor specicate Figura 1.65-b. n

Exemplul 1.24 Pentru traseul A B, Figura 1.65-a de la Exemplul 1.23, s se a determine arzierea minim i dimensiunile tranzistoarelor cnd sarcina la ieire este 8C. nt as a s Solutie. G = (4/3)3 , H = 8C/C = 8, B = 1 deci F = GBH = (4/3)3 8 = 18, 96 1 at iar arzierea minim care se poate obtine este D = 3(18, 96) 3 + 3(2pinv ) = 14 uniti nt a de arziere. Se observ c dei efortul electric este de 8 ori mai mare dect Exemplul nt a a s a n 1.23 arzierea minim a crescut numai cu 40 %. Pentru efort egal pe ecare poart f = nt a a 3 18, 96 = 8/3 se determin dimensiunile tranzistoarelor pornind cu ultima poart z = a a (8C 4/3)/(8/3) = 4C, y = (z4/3)/(8/3) = 2C, iar ca o vericare se calculeaz i capacitatea as de intrare pentru prima poart (y 4/3)/(8/3) = y/2 = C. Fiecare poart are capacitatea a a de intrare dubl fata de capacitatea portii anterioare, deci dimensiunile tranzistoarelor se a dubleaz pe ecare nivel sensul de parcurgere a traseului de la A la B, tranzistoare cu a n lime de canal mai mare etaje succesive au capabilitate mai mare de a comanda curenti at n sarcin. n a

Exemplul 1.25 S se dimensioneze tranzistoarele portilor de pe traseul A B din a Figura 1.66-a pentru a obtine timpul minim de arziere cnd efortul electric al traseului nt a este H = 4, 5. Solutie. Efortul de ramnicatie la ieirea primei porti este b1 = (y + y)/y = 2 iar la s ieirea celei de-a doua porti este b2 = (2+2+2)/2 = 3 deci B = 23, G = (4/3)3 iar H = 4, 5, s 1 rezult F = GBH = 64. arzierea minim pe traseu se obtine D = 3 64 3 + 3(pinv ) = 18 a Int a 3 uniti de arziere. Se calculeaz un efort egal pe ecare poart f = 64 = 4. Rezult at nt a a a z = (4, 5 4/3)/4 = 1, 5, y = (b2 z 4/3)/4 = z = 1, 5C iar pentru prima poart se poate a face o vericare (b1 y 4/3)/4 = 2/3y = C, deci se pot dimensiona tranzistoarele pe intrare ale portilor NAND2.

Exemplul 1.26 S se dimensioneze circuitul din Figura 1.66-b pentru a realiza o a arziere minim. Se consider c sarcina de ieire CO este capacitatea unei porti logice nt a a a s cu limea (de poart) de 20m iar capacitatea de intrare corespunde unei porti de lime at a at 10m. Solutie. Presupunnd aceeai lungime pentru toate tranzistoarele rezult c valoarea a s a a capacitii lor este proportional cu limea portilor lor deci se poate exprima valoarea at a at capacitii i prin m. Se calculeaz pentru traseu: efortul logic G = 1 (5/3) (4/3) 1 = at s a 20/9, efortul electric H = 20/10 = 2, efortul de ramnicatie B = 1 1 1 = 1 rezult a F = GBH = 40/9, deci efortul egal pe ecare poart, pentru arziere minim, este f = a nt a

136
z 4,5C y A z 4,5C C y z B 4,5C b)

1.5. PORTI TEHNOLOGIA CMOS IN

10 m (latime de poarta) x y z

20 m (latime de poarta)

a)

Figura 1.66 Explicativ pentru: a) Exemplul 1.25; b) Exemplul 1.26. a


40/9 = 1, 45. Parcurgnd traseul sens invers, pornind cu ultima poart, rezult limea a n a a at total a portilor tranzistoarelor de intrare de pe nivelul respectiv: z = (201)/1, 45 = 14m, a y = (144/3)/1, 45 = 13m i x = (135/3)/1, 45 = 15m; apoi aceste valori de capacitate s se distribuie potrivit pentru ecare poart de tranzistor din nivelul respectiv. Se observ, a a c rezult limi mai mari pentru portile tranzistoarelor din inversoare dect pentru portile a a at a tranzistoarelor din celelalte porti logice ceea ce este normal deoarece inversoarele au o mai bun capabilitate de a comanda sarcini. a Se observ c dimensionarea tranzistoarelor pentru obtinerea arzierii minime pe a a n nt traseu, relatia 1.102, am neglijat arzierea P deoarece aceasta este x, iar ajustarea nt a dimensiunii portii nu modic arzierea parazitic. De fapt, se poate neglija totdeauna a nt a arzierea P cnd nu se dorete o precizie ridicat determinarea arzierii pe traseu sau nt a s a n nt cnd se compar dou trase care contin porti logice diferite ori contin un numr diferit de a a a a porti logice.
4

1.5.6.3

Alegerea numrului optim de niveluri pe un traseu a

Cnd numrul N de niveluri traseu este dat cu relatia 1.101 se calculeaz a a n a 1 valoarea efortului ,f = F N ,egal pe ecare nivel, care va determina arzierea minim nt a pe traseu. Dar pentru un traseu, la care se cunoate efortul F dar nu i numrul de s s a niveluri, s-ar putea ca numrul dat N s nu e egal cu cel optim, numr notat cu N , a a a care s genereze cea mai mic arziere. Cnd numrul de etaje pentru un efort dat a a nt a a pentru traseu este cel optim N , atunci cel mai bun efort egal pe etaj, notat cu , se 1 s N i care este solutia urmtoarei ecuatii: a calculeaz cu relatia = F a pinv (1 ln) = 0 (1.105)

ntr-un traseu pentru obtinerea Tabelul 1.15 prezint numrul optim de niveluri N a a celei mai mici arzieri pe traseu, cnd p inv = 1. nt a Pentru un traseu cu N etaje se calculeaz efortul F , iar din inspectia Tabelului a 1.15 rezult c arzierea cea mai mic necesit N etaje, deci este necesar a se a a nt a a aduga sau a se scdea etaje din numrul de etaje N pn se ajunge la N etaje a a a a a traseu. Informatia tabelului este corect numai cnd se mrete sau se scade n a a a s numrul de niveluri prin introducerea sau scoaterea de etaje inversor, deoarece se a consider c numai aceste etaje au arzierea parazitic p = 1. Evident, pentru a a nt a

CAPITOLUL 1. PORTI LOGICE

137

n Tabelul 1.15 Numrul optim de niveluri N functie de efortul pe traseu a F , pentru pin = 1 Efortul de traseu F 0 5,83 2 22,3 3 82,2 4 300 5 1090 6 3920 7 14200 8 51000 9 184000 10 661000 11 2380000 12 8560000 57,4 52,8 48,2 43,6 39,0 34,4 29,8 25,3 20,7 16,0 11,4 Numrul optim a de etaje N 1 6,8 arzierea Int minim D a 1 Efortul pe etaj f 0 5, 8 2.4 4, 7 2, 8 4, 4 3, 0 4, 2 3, 1 4, 1 3, 2 4, 0 3, 3 3, 9 3, 3 3, 9 3, 3 3, 9 3, 4 3, 8 3, 4 3, 8 3, 4 3, 8

138

1.5. PORTI TEHNOLOGIA CMOS IN

a nu se schimba functia logic calculat pe traseu trebuie introduse sau scoase un a a numr par de inversoare. Unul sau dou niveluri diferenta fata de valoarea optim N a a a modic nesemnicativ arzierea pe traseu, dac acest traseu este destul de lung, a nt a numai la trasee scurte introducerea sau scoaterea a unui etaj sau dou poate provoca a abateri semnicative fata de arzierea cea mai mic. nt a Exemplul 1.27 Se consider trei variante de trasee inversoare compuse din a nserierea de respectiv 1,3 i 5 inversoare, ecare traseu comand la ieire o sarcin capacitiv egal s a s a a a cu de 25 de ori capacitatea de intrare. Care dintre aceste variante este optim i ct este a s a arzierea cea mai mic? nt a Solutie. Pentru ecare din trasee rezult valori egale de G = 1, B = 1, i H = 25. a s 1 arzierea pe ecare traseu este dat de ecuatia 1.102, D = N (25) N + N pinv , cu N = 1 Int a ,3 i 5. Pentru N = 1 rezult D = 25 uniti de arziere; pentru N = 3 rezult D = 11, 8 s a at nt a = 14, 5 uniti de arziere. Varianta cu trei uniti de arziere iar pentru N = 5 rezult D at nt a at nt inversoare nseriate contine numrul optim de inversoare consecinta realizeaz arzierea a n a nt cea mai mic D = 11, 8 uniti de arziere, ecare etaj suport un efort egal cu 3 25 = 2, 9, a at nt a deci ecare inversor va dimensional de 2, 9 ori mai mare dect predecesorul inversor. Se a poate constata i din Tabelul 1.15 c pentru F = 25, 22, 3 < 25 < 82, 2 numrul optim de s a a etaje este N = 3, adic exact cel calculat prin acest exemplu. a

Exemplul 1.28 Un ir de inversoare tehnologia 0, 6 (3, 3V, = 50ps) comand s n a un semnal conectat la un terminal de ieire al circuitului integrat (pad). Capacitatea termis nalului de ieire este de 40pF care este echivalent cu o capacitate de poart de 20000m. s a a Presupunnd capacitatea de intrare irul de inversoare de 7, 2m s se dimensioneze irul a n s a s de inversoare cel mai rapid. Solutie. Se calculeaz B = 1, G = 1 i H = 20000/7, 2 = 2777. Din Tabelul 1.15 rezult a s a c numrul optim de inversoare este N = 6, 1090 < 2777 < 3920. Efortul cel mai bun pe a a 1 etaj este f = (2777) 6 = 3, 75 deci ecare inversor are capacitatea de intrare de 3, 75 ori mai mare dect a inversorului precedent, iar arzierea este D = 6 3, 75 + 6 pinv = 28, 5 a nt uniti de intrziere, adic 28, 5 50ps = 1, 43ns. at a a acest exemplu s-a gsit c cel mai bun raport de multiplicare a dimensiunilor In a a de la un nivel la urmtorul nivel este de 3, 75. Unele referinte indic pentru acest a a raport de multiplicare valoarea de 2, 71, adic constanta e, care este corect numai a cnd arzierea parazitic p este nul. Pe msur ce p crete raportul de multiplicare a nt a a a a s crete peste valoarea lui e iar numrul de niveluri scade . Dac efortul pe nivel variaz s a a a intervalul de 2 pn 8 abaterea arzierii realizat fata de cea mai mic arziere n a a nt a a nt este 35%, iar dac efortul pe nivel variaz intervalul de 2, 4 pn la 6 abaterea este a a n a a doar de 15%. Pentru pinv = 1 cel mai bun efort pe nivel este de 3, 59. A intrat uz ca n ,, cel mai bun efort pe nivel s e considerat 4, pentru c este un numr rotund i este a a a s uor de calculat mental numrul de niveluri, aceast alegere de efort 4 pe nivel duce s a a la o abatere de 1% fata de arzierea cea mai mic pentru p inv = 1. Considernd nt a a efortul pe nivel 4 numrul N de niveluri rezult prin relatia log4 F iar arzierea F O4, a a nt pe un nivel cu arcarea 4, este cunoscut ca ind egal 5 (vezi Exemplul 1.20), nc a a deci arzierea se calculeaz simplu cu relatia D = 5log4 F . Cuadruplnd efortul pe nt a a traseu atrage dup sine o arziere egal cu cea a unui inversor care comand alte a nt a a patru inversoare identice.

CAPITOLUL 1. PORTI LOGICE

139

Un caz particular de structur de circuit, dar foarte des utilizat, este aa numita a s ,, furc ce se compune din dou ramuri de inversoare, pe o ramur numrul invera a a a soarelor nseriate ind impar iar pe cealalt ramur numrul inversoarelor a a a nseriate ind par, astfel c la ieiri se genereaz valoarea negat respectiv nenegat a sema s a a a nalului comun aplicat la intrare, Figura 1.67. Pentru circuitul furc se cunosc cele a dou capacitti de ieire Ca , Cb , general egale Ca = Cb , de la cele dou ramuri, a a s n a CO = Ca + Cb . De asemenea, se cunoate capacitatea total de intrare furc, s a n a Cin , care este sarcina suportat de semnal la intrarea furc, pe care va trebui s o a n a a nc nt repartizm pe cele dou intrri Cina , Cinb , Cin = Cina + Cinb , astfel at arzierile a a a pe cele dou ramuri s e egale. Se poate deni un efort electric total pentru circuitul a a furc H = CO /Cin i, respectiv, cte un efort electric individual pentru ecare raa s a mur Ha = Ca /Cina , Hb = Cb /Cinb , aceste eforturi electrice individuale, general, a n nu sunt egale chiar dac arcrile la ieire sunt egale. a nc a s
C ina C in C inb C ina= C in C inb=(1 )C in N1 niveluri Cb C o=C a+C b N niveluri Ca

Figura 1.67 Structura general a circuitului furc : a a Pentru proiectarea circuitului furc se pornete cu determinarea coecientului de a s repartizare a capacitii de intrare, Cin , at ntre cele dou ramuri, Cina = Cinb , a coecient care rezult din egalitatea arzierilor, ecuatia 1.102, pe cele dou ramuri. a nt a Ramura care suport un efort electric mai mare, uzual cea cu amplicatoare mai a multe, are o capacitate de intrare mai mic < 0, 5, deci i se repartizeaz o parte a a mai mic din curentul semnalului de intrare dect celeilalte ramuri. Evident, c a a a oricare ramur poate dimensionat s devin mai rapid, prin reducerea efortului a a a a a electric al su ceea ce implic mrirea dimensiunilor tranzistoarelor de la primul etaj, a a a adic mrindu-i curentul repartizat detrimentul celeilalte ramuri care va deveni a a n mai lent. a Un circuit furc particular este referit prin numrul de inversoare continut a a n ecare ramur, general diferenta este de un singur inversor, deci pot circuite: a n 21, 32, 43, 54 , . . . . functie de valoarea efortului electric total H = C O /Cin In din Tabelul 1.16 se obtine recomandarea ce structur de circuit furc este indicat s a a a se utilizeze (pentru pinv = 1). Exemplul 1.29 S se proiecteze un circuit furc 2 1 cu capacitatea de intrare a a Cin = 10 iar capacitatea de ieire, pe ecare ramur, este Ca = Cb = 100. Care este s a arzierea introdus de circuit? nt a Solutie. Coecientul de repartizare a capacitii de intrare Cin at ntre ramura cu dou a inversoare, Cina = Cin i ramura cu un singur inversor Cinb = (1 )Cin , rezult din a s egalizarea arzierilor, ecuatia 1.102, pe cele dou ramuri. nt a
2 100 10
1 2

+ 2pinv =

100 10(1 )

+ pinv

140

1.5. PORTI TEHNOLOGIA CMOS IN

s Prin rezolvare numeric rezult = 0, 258, deci Cina = 10 = 2, 6 i Cinb = 10(1 ) = 7, 4. a a Al doilea inversor din ramura cu dou inversoare are capacitatea de intrare, conform ecuatiei a 1 1.104, egal cu Ca2 = 2, 6 (100/2, 6) 2 = 16, 1. arzierea ramur cu un singur inversor, a Int n a nt n conform ecuatiei 1.98, este Cb /Cinb + pinv = 100/7, 4 + 1 = 14, 5. Iar arzierea ramura cu dou inversoare este Ca2 /Cina + Ca /Ca2 + 2pinv = 16, 1/2, 6 + 100/16, 1 + 2 = 14, 5. a

Tabelul 1.16 Circuitul furc recomandat functie de efortul electric total a n (pinv = 1) H De la 9,68 38,7 146 538 1970 Pn la a a 9,68 38,7 146 538 1970 7150 Circuitul furc a 2-1 3-2 4-3 5-4 6-5 7-6

Exemplul 1.30 S se proiecteze un circuit furc pentru comanda de validare/acces a a a 64 buere tristate la o magistral, Figura 1.68-b. Capacitatea de intrare la circuitul a furc este de 12 uniti, iar un buer tristate are dimensiuni de ase ori mai mari dect a at s a cele ale structurii de referinta de circuit poart tristate. Structura de referinta de circuit a
dimensiune x6 V DD 4 (EN) S (EN) S d (data) 6,5 Validare EN 5,5 19 6,5 224 24 12 12 d0 b) (data) 12 V DD 32 2 2 2 156 d63 (data) 24 12 12 12 V DD linii de magistrala d63 d0

a)

EN

Figura 1.68 Explicativ pentru exemplul 1.30 a

CAPITOLUL 1. PORTI LOGICE

141

poart tristate este prezentat Figura 1.68-a, acest circuit are aceeai functionare ca i a a n s s circuitul din Figura 1.52-c, care este format dintr-un inversor CMOS static avnd pe ieire o a s poart de transmisie CMOS (dar de data aceasta, tranzistoarele complementare ale portii de a transmisie sunt nseriate/incluse coloana portii CMOS static i comandate cu semnalele n as complementare s i s). s Solutie. Sarcina pe ieire pentru ecare din semnalele de validare/ENable, EN , EN s este 64 6 2 = 768 uniti de capacitate. Efortul electric pentru at ntregul circuit furc este a H = (768 + 768)/12 = 128, iar din Tabelul 1.16 rezult c structura de 4 3 este cea optim. a a a Coecientul de repartizare a capacitii de intrare pe cele dou ramuri rezult din relatia at a a 4 768 12
1 4

+ 4pinv = 3

768 12(1 )

1 3

+ 3pinv

Prin rezolvare numeric se obtine = 0, 46. Capacitatea de intrare pe ramura cu patru a inversoare este 12 0, 46 = 5, 5 iar pe ramura cu trei inversoare este 12 5, 5 = 6, 5, n consecinta efortul electric pe ramur este respectiv egal cu 768/5, 5 = 140, 768/6, 5 = 118, a la fel i efortul pe nivel este 4 140 = 3, 44, 3 118 = 4, 90. Pornind cu dimensionarea, de la s capacitatea de sarcin de ieire spre capacitatea de intrare, rezult capacitile de intrare a s a at n ecare nivel egale cu 224, 65,19 i 5, 5 pentru ramura cu 4 inversoare i 156, 32 i 6,5 pentru s s s 1 ramura cu 3 inversoare. arzierea pe ecare ramur este 4(140) 4 + 4pinv = 4 3, 44 + 4 = Int a 1 17, 7 i 3 (118) 3 + 3pinv = 3 4, 90 + 3 = 17, 7. Se observ c efortul electric total al s a a circuitului H = 128 ((118 + 140)/2 = 128) este balansat inegal pe cele dou ramuri prin a mbuntirea arzierii pe ramura mai lent detrimentul celei mai rapide astfel at a at nt a n nc ecare s ajung la arzierea de 17, 7. a a nt

Modul de analiz pentru circuitul furc se poate extinde i pentru circuite mai a a s complexe cu mai multe ramuri, unde ecare ramur contine un numr diferit de a a niveluri, ecare ramur realizeaz o functie logic diferit i unde ecare ramur a a a a s a comand sarcin diferit. Totui aceast extindere la circuite mai complexe necesit a a a s a a unele articii ceea ce arat unele deciente i limitri ale metodei. a s a Metoda efortului logic este o procedur de proiectare pentru obtinerea celui mai a mic timp de arziere pentru un traseu dintr-o retea. Aceast metod combin nt a a a ntrun singur calcul att capabilitatea de a comanda sarcini electrice mari ct i realizarea a a s unei functii logice. Expresiile de calcul cadrul metodei sunt concentrate Tabelul n n 1.17 iar procedura de calcul parcurge urmtoarele etape: a 1. Se calculeaz efortul F = GBH pentru traseul din reteaua de analizat. Efortul a logic pe traseu, G, este produsul efortului logic al tuturor portilor logice de pe traseu, efortul logic al portilor este dat Tabelul 1.13; efortul de ramnicatie n pe traseu, B, este produsul efortului de ramnicatie al tuturor portilor de pe traseu; efortul electric pe traseu, H, este raportul dintre capacitatea de sarcin a total a ultimului nivel i a capacitii de intrare la primul nivel. a s at 2. Se estimeaz numrul optim de niveluri N , pentru efortul F calculat, care proa a duce cel mai mic timp de arziere; pentru aceast estimare se utilizeaz e nt a a Tabelul 1.15, e relatia N log4 F . 1 3. Se estimeaz arzierea minim, D = N F N + pi , folosind pentru arzierea a nt a nt datorit capacitilor interne parazite datele din Tabelul 1.14. Procedura se a at

142

1.6. REJECTIA ZGOMOTELOR

oprete aici dac se urmrete doar compararea arzierilor diferitelor structuri. s a a s nt Pentru o proiectare se parcurg i punctele urmtoare. s a 4. Se adaug sau se elimin niveluri pn cnd numrul de niveluri N atinge a a a a a a valoarea N .
1 5. Se calculeaz efortul suportat pe ecare nivel: f = F N . a

6. Se dimensioneaz tranzistoarele din ecare etaj, succesiv, pornind de la ultimul a nivel folosind relatia Cin = gi /f CO pn la primul nivel; valoarea calculat a a a Cin a unui etaj i devine capacitatea de ieire a etajului i1 (eventual modicat s a prin efortul de ramnicatie); indicele etajului traseu crete n s ncepnd cu etajul a de intrare nspre etajul de ieire. s Tabelul 1.17 Relatiile utilizate de metoda efortului logic Denumire Expresia pe nivel Efortul logic g (Tabelul 1.13) CO Efortul electric h = Cin Efortul de ramnicatie Efortul f = gh arzierea de efort f DF = Int Numrul de niveluri a 1 arzierea parazitic p (Tabelul 1.14) Int a arzierea total Int a d=f +p Expresia pe traseu G = gi CO H = Cintraseu traseu B = bi F = GBH = fi 1 fi minimizat cnd f = F N a N (Tabelul 1.15) P = pi D = DF + P

Metoda efortului logic poate indica rapid proiectantului care dintre structurile analizate trebuie a aleas i pentru cea aleas se poate obtine o proiectare aproape as a optim, iar apoi aceast structur poate apoi a a a mbuntit prin simulare cu un a at a program de simulare. De asemenea, aceast metod introduce notiuni cantitative a a foarte necesare cooperarea i comunicarea celor care proiecteaz circuite rapide n s a CMOS.

1.6

REJECTIA ZGOMOTELOR

Prin semnal de zgomot se elege orice semnal electric nedorit care apare nt n sistem. Zgomotul este tolerat sistem att timp ct suprapus peste semnalul logic n a a nu se ajunge la o amplitudine de semnal care s duc la o functionare incorect a a a a sistemului. sistemele digitale, spre deosebire de cele analogice, zgomotul nu se In cumuleaz cnd se trece de la un nivel logic (poart) la urmtorul nivel logic; aceast a a a a a ,, eliminare a zgomotului se datoreaz functionrii procustiene a portilor logice, adic a a a o poart dac este comandat limita valorilor de intrare permise va genera la ieire a a a n s numai semnale limita valorilor garantate. n O prim cale prin care portile pot tolera zgomotul, pn la o anumit valoare, se a a a a obtine, intrinsec, prin xarea de valori garantate i de valori permise. Amplitudinea s

CAPITOLUL 1. PORTI LOGICE

143

semnalului de zgomot tolerat de ctre o poart logic se poate exprima prin parama a a eterii: marginea de zgomot curent continuu starea high, M H , i starea low, n n s n ML , relatia 1.18; imunitatea la perturbatii IP + , IP , relatia 1.19-a i factorul de s imunitate la perturbatii F IP + i F IP , relatia 1.19-b. s Pentru tehnologia TTL valorile tipice pentru tensiunile de ieire garantate i cele s s de intrare permise sunt: VOHmin = 2, 4V , VOLmax = 0, 4V i VIHmin = 2V , VILmax = s 0, 8V deci rezult: a MH = 2, 4V 2V = 0, 4V, ML = 0, 8V 0, 4V = 0, 4V. De fapt, zgomotul tolerat de poart are valori mai mari dect marginile calculate, de a a 0, 4V , deoarece valorile tipice de ieire sunt V OH = 3, 4V , VOL = 0, 25V . Considernd s a tensiunea de prag de comutare a portii VT = 1, 7V rezult a IP = 3, 4V 1, 7V = 1, 7V, IP + = 1, 7V 0, 25V = 1, 45V i pentru V = 5V se pot calcula factorii de imunitate la zgomot s F IP [%] = 1, 7 5 100 = 34%, F IP + [%] = 1, 45 5 100 = 29%

deci, circuitul este mai bine protejat la zgomot starea H dect starea L. n a n Tehnologia CMOS, cnd comand tot porti CMOS, are urmtoarele valori tipice: a a a VOHmin = VDD 0, 1V , VOLmax = VSS + 0, 1V i VIHmin = 70% din VDD , VILmax = s 30% din VDD iar pentru VDD = 5V i VT = 2, 5V rezult s a MH = 4, 9V 3, 5V = 1, 4V, ML = 1, 5V 0, 1V = 1, 4V. IP = 4, 9V 2, 5V = 2, 4V, IP + = 2, 5V 0, 1V = 2, 4V F IP [%] = 2, 4 5 100 = 48%, F IP + [%] = 2, 4 5 100 = 48%

mediile puternic perturbative este recomandat utilizarea portilor cu imunitate In a ridicat la zgomot, la care IP + i IP au valori absolute destul de mari, pentru c a s a tensiunile de alimentare sunt destul de ridicate, se poate ajunge pn la 30V . a a O a doua cale de a tolera zgomotele de ctre portile logice const dotarea portilor a a n cu circuit trigger Schmitt. Pentru portile TTL circuitul trigger Schmitt se introduce dup tranzistorul T1 i va comanda tranzistorul inversor T2, Figura 1.22-c, iar pentru a s cele CMOS triggerul Schmitt va plasat naintea unui inversor CMOS. Capacitatea de a tolera zgomot, de amplitudine destul de ridicat, rezult din caracteristica static a a a de releu cu histerezis a circuitului trigger Schmitt, V O = f (VI ), Figura 1.69-a. Din caracteristica static (cadranul I) se observ c pentru sensul cresctor al tensiunii de a a a a s intrare VI numai cnd aceast tensiune atinge pragul superior V p+ , ieirea triggerului a a va bascula starea 1; iar la descreterea tensiunii de intrare bascularea ieirii din n s s 1 0 nu se produce la pragul superior Vp+ ci la pragul inferior Vp ( Vp < Vp+ ), n valoarea histerezisului ind = Vp+ Vp . La o poart logic cu trigger Schmitt tensiunea de intrare, V I , va a interprea a nc tat ca 1 logic pn cnd aceast tensiune (peste care, eventual, se suprapune semnal a a a a a a a de zgomot cu faz opus) scade sub valoarea VIH pn la valoarea Vp . Asemntor, a a a a

144
vO V OH

1.6. REJECTIA ZGOMOTELOR

b) V OL vO V IL V OH V OL vI V p V p V p+ V p+ V IH vI

a)

Figura 1.69 Triggerul Schmitt: a) caracteristica de releu cu histerezis (cadranul I), variatia tensiunii de intrare (cadranul IV) i variatia corespunztoare a tensiunii s a de ieire (cadranul III); b) simbolul de reprezentare a unui buer neinversor cu trigger s Schmitt. tensiunea de intrare (eventual cu semnal de zgomot suprapus) va a interpretat ca nc a 0 logic peste VIL pn cnd se ajunge la valoarea Vp+ . Intervalele tensiunilor de intrare a a a 1 i 0 logic se suprapun pe intervalul de histerezis . Marginile statice de zgomot n s pentru o poart cu trigger Schmitt se calculeaz cu relatiile: M H = VOHmin Vp , a a ML = Vp+ VOLmax , care, evident, sunt mai mari dect la o poart obinuit. a a s a Portile trigger Schmitt sunt recomandate aplicatiile, pentru care imunitatea n la zgomot este o cerinta principal, cum ar receptoarele de magistral sau pentru a a receptia unor semnale lent variabile (cazul semnalelor de intrare sisteme, semnale n ,, obtinute de la diverse traductoare care trebuie formate ). Figura 1.69-a cad In n ranul IV este reprezentat variatia timp a unui semnal oarecare v I = f (t) aplicat a n la intrarea unui buer neinversor trigger Schmitt iar cadranul III este desenat n a variatia corespunztoare a tensiunii la ieirea din buer; pragurile de basculare ind a s a a s s Vp i Vp+ . (Sugerm s desenati forma de variatie a tensiunii de ieire v O = f (t), obtinut pentru aceeai tensiune de intrare, dar cnd buerul nu este un circuit trig a s a ger Schmitt i apoi s comparati, tensiunea obtinut cu forma de variatie a tensiunii s a a de ieire deja desenat cadranul III). s a n Semnalele de zgomot nu trebuie considerate numai ca surse potentiale de produc ere a unor functionri eronate ci i ca posibile cauze de distrugere zic a portilor, a s a mai ales cnd aceste semnale vin din exterior i sunt aplicate pe intrri. Supratensia s a unile aplicate pe terminalele de intrare pot duce la strpungerea unor jonctiuni sau, a pentru CMOS, la strpungerea stratului de oxid de sub poart, ori la aparitia efeca a

CAPITOLUL 1. PORTI LOGICE

145
V DD D1 Intrare

V DD Pad R D1 D2 vI C Pad

R
V DD VT VT
2

Data Validare Iesire OE D (Data)


1

D2

T2 T1

V DD D1 Pad D2 a) vI R C
OE 0 1 1 D X 0 1 VT 0 1 1
1

Iesire

VT 1 1 0

Pad HZ 0 1 terminal de intrare terminal de iesire

b)

Figura 1.70 Terminale (paduri) la un circuit integrat: a) circuite de protectie la un terminal de intrare; b) structur de circuit pentru utilizarea unui pad att a a pentru semnale de ieire ct i semnale de intrare. s a s ,, tului de zvorre (latch-up ). Aceste supratensiuni pot apare la intrrile portilor a a a datorit: reexiilor pe liniile neadaptate, tensiunilor induse, alimentarea sistemului a cu mai multe niveluri de tensiune, descrcrilor electrostatice. a a Cea mai simpl, i uzual, cale de a proteja o poart pe terminalele de intrare sau a s a a pe pad-uri (la sistemele integrate) const conectarea unor diode de descrcare a n a nspre cele dou bare de alimentare: VSS (mas), VDD /VCC . Pentru portile TTL diodele a a D4 i D5 pe intrri, Figura 1.22-c, limiteaz supratensiunile negative la valoarea de s a a 0, 7V (tensiunea de conductie a diodei) sub potentialul masei. Pentru terminalele de intrare tehnologia CMOS este utilizat pentru protectie structura de circuit din n a Figura 1.70-a care pentru tensiuni de intrare peste V DD sau sub VSS , prin diodele D1, D2, produce o limitare interiorul intervalului 0, 7V < v I < VDD + 0, 7V . n La aceast structur de protectie prin C se consider orice capacitate existent pe a a a a intrare, iar rezistenta R se realizeaz prin difuzie sau, mai indicat, din polisiliciu; a evident, constanta de timp RC care apare pe intrare poate introduce o limitare a vitezei pentru circuitele de vitez ridicat. a a Distrugerea unei porti CMOS prin descrcare electrostatic poate apare nu a a numai conditii de utilizare a portii ci i situatia de manipulare/transport. O n s n persoan mergnd pe un covor, conditiile de 80% umiditate relativ, se a a n a ncarc a electrostatic care, apoi, prin atingerea intrrii unei porti logice poate genera o tensiune a de ordinul sutelor de volti aplicat pe stratul de oxid de sub poart (tensiunea de a a strpungere a stratului de oxid este a ntre 40 100V ). De exemplu, pentru o astfel de atingere, cu urmtoarele valori C = 0, 3pF , I = 100A, t = 1s, se genereaz a a

146

1.6. REJECTIA ZGOMOTELOR

pe stratul de oxid o tensiune egal cu V = I t/C 330V ; evident, poarta ar a distrus fr circuitul de protectie cu diode de descrcare pe intrare. Ca msuri de a aa a a precautie la portile CMOS se recomand: a 1. manipularea/transportul se face numai pungi, tuburi sau spum care sunt n a conductivi; 2. timpul asamblrii sau depanrii sistemelor, persoana executant s e conecn a a a a tat cu un r spre pmnt. a a a Efectul de zvorre se manifest prin aparitia interiorul plachetei de siliciu a a a n a unui traseu de scurtcircuitare ntre VDD i mas care, dac nu este eliminat, poate s a a duce la distrugerea cipului; acest efect este cel mai negativ efect al tehnologiei CMOS. Efectul de zvorre are ca explicatie formarea unei structuri (parazite) de tiristor. a a Intre zonele difuzate (surs, dren, contacte metalice) i substrat se formeaz structuri a s a care, atunci cnd sunt polarizate corespunztor, au functionare de tranzistor npn sau a a pnp. Structurile de tranzistoare complementare parazite npn i pnp s mpreun pot a determina o functionare de tiristor care, anumite conditii de functionare anormal n a ale portii, poate intra conductie deci are loc scurtcircuitarea barei V DD spre mas. n a Tiristorul parazit odat amorsat nu mai poate comandat spre blocare de unde i a s denumirea de zvorre pentru acest efect; eliminarea unei astfel de ci de scurtcircuit, a a a prin blocarea tiristorului, se poate face doar prin deconectarea tensiunii de alimentare. Circuitele logice CMOS sunt fabricate structuri care previn efectul de zvorre n a a [Weste 00],[Kang 97]. Intrarea zvorre poate determinat de: n a a a aplicarea, la pornire, a tensiunii de alimentare V DD cu un front de cretere cu s pant foarte mic (lent variabil); a a a variatii mari ale semnalului de intrare peste V DD sau VSS ; intrrile unui sistem/subsistem sunt comandate de ieirile unui alt sistem/suba s sistem iar cele dou sisteme au surse de alimentare diferite (semnalele de intrare a la sistemul comandat ar putea aplicate nainte ca sistemul comandat s e a alimentat la VDD ); curenti de scurgere prin jonctiunile insulei de izolare, particule , radiatii X sau cosmice. Padurile circuitelor integrate sunt mari consumatoare de suprafata de siliciu apoi conexiunile de la paduri la pinii (terminalele) circuitului integrat ocup spatiu relativ a mare; plus comanda unui pad necesit un superbuer, vezi Exemplul 1.28. Cu n a creterea complexitii circuitelor crete i numrul de pini (de ordinul sutelor) la s at s s a circuitele integrate dei exist permanenta tendinta de a ine acest numr ct se poate s a t a a mic. O variant practic, acest sens, este cea prin care un terminal este dedicat a a n (multiplexat) att pentru semnalele de intrare ct i pentru semnale de ieire, Figura a a s s 1.70-b. Din tabelul de adevr ataat acestei guri rezult c atunci cnd semnalul a s a a a de validare ieire OE (Output Enable) este activ data interioar D este transmis la s a a pad, deci padul constituie un terminal de ieire. Pentru OE = 0, ambele tranzistoare s T1 i T2 sunt blocate, ieirea s s nspre pad, din interiorul circuitului, este starea de n

CAPITOLUL 1. PORTI LOGICE

147

nalt impedanta HZ, pe pad se poate aplica un semnal din exterior, deci este un a terminal de intrare. Evident, aplicarea semnalului din exterior i aplicarea semnalului s din interior trebuie s e operatii disjuncte. a Terminalele circuitelor integrate neutilizate sistemul respectiv nu trebuie n lsate otante pentru c pot s capteze zgomote, mai ales la CMOS unde impedantele a a a de intrare sunt mai mari, iar circuitul poate manifesta o functionare hazardat. Prob a lema terminalelor de intrare neutilizate poate solutionat trei modaliti: a n at 1. Se leag a mpreun cu un alt terminal de intrare conectat la ieirea unei porti a s logice (evident c poarta respectiv este arcat suplimentar pe ieire); a a nc a s 2. Se leag la tensiunea de alimentare VDD /VCC (1 logic) printr-o rezistenta pentru a portile AND sau NAND; 3. Se leag la potentialul masei (0 logic) printr-o rezistenta pentru poartile OR, a NOR. Valoarea rezistentei, de conectare, la mas sau la alimentare a intrrilor neutilizate, a a poate intervalul 1 10K pentru portile CMOS, dar trebuie calculat exact n a pentru portile TTL. La portile TTL, care au curentii de intrare mult mai mari dect a la CMOS, este necesar ca valoarea cderilor de tensiune pe rezistenta conectat la a a mas sau VCC s situeze nivelul de tensiune produs pe intrare plaja tensiunilor a a n garantate VOLmax , VOHmin . De exemplu, pentru portile LS-TTL care pe intrare starea L au un curent de 0, 4mA rezisteta de conectare la mas R cm a n intrri n a a neutilizate se calculeaz cu relatia n 0, 4mA R cm VOLmax ; respectiv rezistenta de a conectare la VCC , Rca , cnd pe intrare starea H se absoarbe un curent de 20A se a n calculeaz cu relatia n 0, 02mA Rca < VCC VOHmin . a Majoritatea sistemelor integrate sunt realizate tehnologia CMOS, dar exterior n n unde, uneori, curentii necesari au valori ridicate se utilizeaz i circuite tehnologie as n TTL, deci adesea apare o comand de tip TTL pe o intrare a unui circuit CMOS. a Valorile garantate pe ieirile TTL sunt VOLmax = 0, 4V , VOHmin = 2V , iar pentru s CMOS valorile permise pe intrare sunt VILmax = 0, 8V , VIHmin = 3, 5V ; se observ a c nu exist compatibilitate pentru nivelul H, tensiunea generat de TTL ar trebui a a a s e ridicat cu cel putin 1, 5V . Solutia pentru compatibilizare const realizarea a a a n inversorului CMOS de pe intrare, dup circuitele de protectie, Figura 1.70-a, cu o a tensiune de prag VT situat la mijlocul intervalului a ntre 0, 8V i 2V adic V T = 1, 4V . s a Cunoscnd valoarea lui VT se pot calcula dimensiunile portilor Wp i Wn astfel at a s nc deplasarea de nivel de tensiune, de la 3, 5V la 2V , s se realizeze jos, ctre 2V de a n a ctre inversorul de intrare CMOS. a Se poate deni i o mrime margine dinamic de zgomot, aceasta ind ams a a plitudinea zgomotului mai mare dect MH , ML , cu o durat mai mic dect timpul a a a a de propagare minim prin poart, dar care nu provoac comutarea ieirii portii. Ima a s plusurile de amplitudine mare, dar de durat mai mic dect timpul de propagare, a a a ,, nu sunt simtite la ieire. Marginea dinamic de zgomot nu este garantat pentru o s a a poart de ctre fabricant. Este foarte greu s se garanteze valoarea minim a timpului a a a a de propagare, pmin , catalog pentru o poart este dat doar valoarea maxim a n a a a timpului de propagare, pmax . Pentru eliminarea sau atenuarea zgomotului ntr-un circuit este necesar a se cunoate natura i locul sursei de zgomot. Primul pas necesar spre aceast cunoatere s s a s

148

1.6. REJECTIA ZGOMOTELOR

este o clasicare a zgomotului dup locul unde se a sursa de zgomot; acest sens a a n trebuie s distingem dac sursa de zgomot este intern sau extern circuitului i, apoi, a a a a s pentru aceast surs s se identice natura fenomenului productor de zgomot. a a a a

1.6.1

Rejectia zgomotelor externe

Zgomotul extern are ca surs: instalatiile de electronic de putere, motoarele eleca a trice, motoarele termice, comutatiile cablurile electrice de forta, supratensiunile pe n linia electric, instalatiile de a nalt frecventa de putere , transmisiunile emitatoarelor a RTV i alte surse de radiatii electromagnetice i este introdus sistem prin inductie s s n electromagnetic sau prin conductie pe rele de alimentare de la retea. a Zgomotul de conductie. Acest zgomot poate intra sistem prin rele de n alimentare de la retea, se poate elimina sau atenua prin: separare galvanic i/sau a s ltrare (folosite, general, n mpreun). a Separarea galvanic a sistemului de reteaua de alimentare se face prin transformaa torul redresorului de alimentare. Chiar dac adaptarea nivelurilor de tensiune a ntre reteaua electric i sursa de alimentare (redresor stabilizat) nu necesit un transfor as a mator, totui se recomand introducerea separrii printr-un transformator cu raportul s a a de transformare 1 : 1. Prin ltrare se pot elimina att frecventele joase ct i cele ridicate generate de a a s ctre sursa de alimentare. acest sens se recomand conectarea la intrarea pe a In a placa de circuit imprimat, ntre barele de alimentare V CC /VDD i mas, a unui ltru s a capacitiv. Cu ct capacitatea conectat pe intrare are valoare mai mare cu att este a a a mai bine dar, evident, o valoare mare a capacitii poate limitat de pret i volumul at a s ocupat. Practic, aceast capacitate conectat la intrarea pe placa de circuit imprimat a a a sistemului se realizeaz cu dou condensatoare: unul electrolitic, de valori uzuale a a gama 50 100F , pentru ltrarea frecventelor joase i medii i unul ceramic, de n s s capacitate gama zecimi de F , pentru ltrarea frecventelor n nalte. De asemenea, pentru placa de circuit imprimat a sistemului o legtur bun la pmnt, care a a a a a s aib o rezistenta ct mai mic chiar i pentru domeniul frecventelor radio, dar a a a a s separat de amntarea la retea, este foarte recomandat. a mp a a Zgomotul electromagnetic. Acest tip de zgomot ptrunde sistem prin a n inductie electromagnetic deci poate anulat sau atenuat prin ecranarea sistemu a lui supus inductiei cu ajutorul unui ecran din materiale feroase cuc Faraday i s a s legarea acestui ecran la priza de amntare i printr-un ltru capacitiv i la sursa de mp a s s alimentare. Ptrunderi de cmp ce pot aprea sistem prin zonele de a a a n ntrerupere ale ecranului, fante pentru acces, oricii pentru cablurile cu exteriorul i aceste ptrunderi s a pot duce interior la o inductie sistem. n n Dar cel mai pregnant efect al inductiei electromagnetice const tensiuni de a n zgomot induse conexiunile exterioare ecranrii care leag diferite prti ale sistemului n a a a cu exteriorul. La transmisia unui semnal pe un singur r i re s ntoarcerea prin traseul de mas, tensiunea obtinut la receptor se compune din tensiunea de la emitator a a plus oricare semnal de zgomot indus pe linia de legtur v zl sau pe linia de mas a a a vzm , Figura 1.71-a. Evident c, pentru o functionare corect, marginea de zgomot a a a receptorului trebuie s e mai mare dect amplitudinea maxim a zgomotului indus a a a pe linie. Ideal, se recomand ca legturile exterioare s se fac prin cablu coaxial iar a a a a mbrcmintea (ecranarea) acestuia, la ambele capete, s e legat la pmnt i s a a a a a a s a

CAPITOLUL 1. PORTI LOGICE


Intrare date Zgomot indus pe linie Emitator vz1 vzm a) V CC +5V Masa A Zgomot indus pe linia de masa Masa B Receptor Iesire date

149

0.1 F

0.1 F

Masa A b) Emitator

Legaturi de masa cat mai apropiate

Cablu ecranat

Legaturi de masa cat mai apropiate

Masa B Receptor

Emitator Intrare date x x

Semnale pe linia diferentiala vz1

Zgomot indus pe linie

Receptor Iesire date

vz1 vzm

Masa A c)

Zgomot indus pe linia de masa

Masa B

Figura 1.71 Zgomote externe: a) exemplicare pentru inducerea semnalelor de zgomot pe o linie de conexiune;b) eliminarea posibilitii de inducere a zgomotului at de inductie prin utilizarea de cablu ecranat; c) eliminarea zgomotului suprapus peste semnal prin utilizarea modului de transmisie diferential. a

se decupleze la surs, Figura 1.71-b. Iar cnd legturile exterioare sunt realizate prin a a a cablu plat se recomand ca a ntre dou re, de transmisie pentru semnal, s e utilizat a a un r ca mas i aceste re de mas s e legate la carcas/ecran. as a a a O solutie foarte ecient eliminarea zgomotului indus const transmisia dife a n a n rential a semnalului. Semnalul digital x ce trebuie transmis este convertit la emitator a i complementul su, x, iar aceste dou semnale complementare, x i x, sunt s n a a s transmise pe dou linii torsodate, Figura 1.71-c. Orice zgomot v zl indus pe cele dou a a linii sau pe traseul de mas este un semnal de mod comun, deci semnalele la receptor a s sunt: x+vzl i x+vzl . Receptorul diferential va realiza la ieire un semnal proportional s cu diferenta celor dou semnale aplicate la intrare, adic elimin semnalul de mod a a a ,, comun. Prin transmisia diferential se poate obtine la receptor un semnal curat a chiar cu circuite care nu posed imunitate ridicat la zgomot; att emittorul ct i a a a a a s receptorul sunt alimentate la tensiunea standard de +5V .

150

1.6. REJECTIA ZGOMOTELOR

1.6.2

Rejectia zgomotelor interne

Zgomotul intern, dup cum i denumirea spune, este produs chiar de si sisa s nsu temul respectiv, iar functie de natura fenomenului care genereaz pot identin l a cate urmtoarele tipuri: zgomotul de mas, zgomotul datorit neadaptrii liniilor, a a a a zgomotul indus prin cuplaj electromagnetic i zgomotul datorit curentilor de alis a mentare. general, zgomotul intern poate cauza mai multe probleme dect cel exIn a ,, tern (rul este noi! ). Este bine demonstrat c o proiectare i o executie corect i a n a s as ngrijit a sistemului sunt premise sigure pentru evitarea aparitiei zgomotului intern. a 1.6.2.1 Zgomotul de mas. a

Prin mas electronic a a ntr-un circuit se elege potentialul de referinta pentru nt toate tensiunile din circuit, zic masa electronic este materializat printr-un conduca a tor/traseu la care se conecteaz toate componentele circuitului; evident acest traseu a trebuie s e echipotential pentru toate componentele. Aplicarea unui semnal sau a culegerea unui semnal de prelucrat se face pe un traseu compus din conductorul de semnal (rul cald) cu ntoarcere prin conductorul de mas. Conductorul de mas a a ind comun pentru toate circuitele de aplicare sau de culegere a semnalelor rezult a c acest conductor este parcurs de toti curentii de a ntoarcere ai semnalelor. Dac a rezistenta conductorului de mas nu este nul curentii de a a ntoarcere produc cderi de a tensiune, iar diferitele puncte ale traseului de mas nu mai sunt echipotentiale, deci a componentele circuitului au potentiale de mas diferite. Considernd punctul unde a a se conecteaz masa sursei de alimentare la masa circuitului/sistemului alimentat ca a punct initial de mas, cazul care traseele de mas pornind din punctul initial a n n a nu au rezistenta zero, potentialul de mas al ecrei componente va diferit fata de a a potentialul punctului initial de mas functie de valorile curentilor de a n ntoarcere.
VCC 1 3 4 2 VCC

Circuit integrat

Masa Plan de alimentare Plan de masa

a)

Z Traseu de masa

Punct initial de masa

b)

Planuri pentru traseele de conexiuni

Figura 1.72 Zgomot de mas: a) exemplicare pentru o posibil aparitie a sema a nalului de zgomot de mas datorit unei impedante, Z, pe traseul de mas; b) solutie a a a de eliminare a zgomotului de mas prin utilizarea unui plan separat de mas i altul a as separat de alimentare (pe o plac multistrat). a De exemplu, pentru circuitul din Figura 1.72-a cnd ieirea portii1 (TTL) comut a s a din 1 0 curentul de la surs spre mas crete cu valoarea I. Deoarece, n a a s ntre punctul initial de mas i punctul de conectare la mas al portii 1, traseul de mas as a a prezint o impedanta Z, se va produce un salt al cderii de tensiune V pe aceast a a a

CAPITOLUL 1. PORTI LOGICE

151

impedanta egal cu V = I Z. Punctul de mas al portii 3 ind foarte aproape de a cel al portii 1, saltul de tensiune produs V poate comanda poarta 3 s genereze la a ieire un impuls fals care, apoi, este format (adus la nivelul 0) de ctre poarta 4, deci s a o functionare eronat a circuitului. a Remediu pentru zgomotul de mas apare prin realizarea unui traseu de mas ea a chipotential pentru toate componentele circuitului ceea ce practic const a n: 1. Realizarea unui plan de mas cazul utilizrii unei plci multistrat, Figura a n a a 1.72-b. La o plac multistrat poate utilizat totalitate un strat numai a n pentru masa sistemului implementat, la fel, un alt strat numai pentru tensiunea de alimentare iar restul straturilor pentru conexiunile necesare (actual, exist a plci cu pn la 12 straturi metalizate); a a a 2. La folosirea unui suport unistrat s se aloce traseului de mas o suprafata cona a ductiv ct mai mare. Se recomand ca traseul de mas, cu o lime ct mai a a a a at a mare, functie de suprafata disponibil pe plac, s n a a a nconjoare toate traseele de conexiuni, i acest traseu (/suprafata) de mas s e la ambele capete legat s a a de masa sursei de alimentare. 1.6.2.2 Zgomotul datorit neadaptrii liniilor. a a

toate analizele de pn acum s-a considerat c transferul semnalului pe traseul In a a a de conexiune ntre poarta care comand i o poart comandat se face timp zero, as a a n adic instantaneu, dar realitate nu este aa chiar dac viteza de propagare v p pe a n s a traseul de conexiune ar egal cu viteza luminii. Un traseu de conexiune, pe o plac a a de circuit imprimat, este caracterizat de mrimi electrice distribuite pe lungimea x a a traseului. Astfel se denesc valorile, pe lungimea innitezimal dx, pentru inductivia tate, Ldx, i pentru capacitate, Cdx, unde L i C sunt valori pe unitatea de lungime. s s Viteza de propagare pe un astfel de traseu se poate exprima prin relatia: vp = sau functie de viteza luminii, c: n vp = c 1 = [m/s] 0 r 0 r (1.107) dx 1 = [m/s] dt LC (1.106)

unde 0 i 0 sunt respectiv permitivitatea electric i permeabilitatea magnetic a s as a vidului iar r este permitivitatea electric relativ (pentru plcile de sticlotextolit a a a este jur de r = 4, 5). Rezult viteza de propagare vp pentru circuitele imprimate n a domeniul 15cm/ns 25cm/ns respectiv timpi de propagare pe metru domeniul n n 7ns/m4ns/m. Pentru ca semnalul s parcurg traseul de lungime l a a ntre dou porti a de dou ori, de la ieirea portii de comand la intrarea portii comandate i reectat a s a s napoi la ieirea portii de comand, este necesar timpul 2T = 2l/v p . Pentru cazurile s a cnd, Figura 1.15, fronturile de tranzitie ale semnalelor logice, HL , LH , sau timpii a de propagare p prin porti, relatia 1.20, sunt de acelai ordin sau mai mici dect 2T s a nu se mai poate utiliza analiza curent continuu pentru procesul de tranzitie al n semnalului. Se poate utiliza i analiza curent continuu dar numai cnd procesul s n a

152

1.6. REJECTIA ZGOMOTELOR

de transfer a ajuns regim static, adic nu mai exist variatii, ceea ce practic ar n a a corespunde parcurgerii lungimii l cam de cinci ori, 5T . Pentru analiza procesului tranzistoriu pe traseu este necesar s se utilizeze teoria a liniilor de transmisie. Conditia ca o linie de lungime l, care este parcurs cu viteza a vp , s e considerat linie lung, pentru un impuls cu durata , este exprimat prin a a a a relatia 2l/vp = 2T ; adic durata semnalului este mai mic dect timpul necesar a a a de parcurgere dus i s ntors a traseului de conexiune (amintim c un semnal cu ct a a are variatii mai rapide cu att spectrul su de frecventa, B, este mai larg, ceea ce a a se poate exprima simplu cu relatia B T = 1, unde T este perioada semnalului respectiv). Cu ct viteza portilor crete cu att lungimea de traseu care determin a s a a ncadrarea linie lung se micoreaz, de exemplu, pentru dou porti cu p1 = 4ns, n a s a a p2 = 1ns linia lung se reduce respectiv la lungimile de tras de (4ns15cm/ns)/2 a a 30cm, (1ns 15cm/ns)/2 7, 5cm. Un traseu de transmisie este caracterizat prin impedant caracteristic, Z 0 . a a Impedanta caracteristic este denit ca raportul dintre tensiunea tranzistorie, v, pe a a linie i curentul tranzistoriu, i, generat linie i poate calculat prin relatia: s n s a Z0 = v = i L [] C (1.108)

Valori uzuale pentru impedanta caracteristic sunt: tras de circuit pe plac de a a a textolit pentru circuit imprimat 50 150, cablu coaxial 50, cablu bilar torsodat 120, cablu plat 80 120. Pe un traseu de transmisie ori de cte ori pentru impedanta liniei exist o discona a tinuitate apar reexii ale semnalului, adic o parte din energia semnalului incident a este ndreptat a napoi, Figura 1.73-a. Intr-un punct al traseului cnd se trece de la a impedanta liniei Z0 la impedanta Zr (Z0 = Zr )se denete un coecient de reexie, s kr , prin relatia: Zr Z 0 kr = (1.109) Zr + Z 0 Dac semnalul incident V ajunge punctul de reexie, de coecient de reexie a n kr , atunci urma reexiei se propag n a napoi pe linie un semnal reectat v r = kr V . Imediat dup reexie punctul de reexie semnalul rezultat (total), v t , prin aplicarea a n principiului superpozitiei, este egal cu semnalul incident V plus semnalul reectat v r : vt = V + vr = (1 + kr )V (1.110)

punctele de traseu, cnd tensiunea reectat se propag sens invers, tensiunea In a a a n rezultant este egal cu tensiunea care exista acel punct, acel moment, plus a a n n tensiunea reectat vr . Pentru plaja de impedante Zr [0, ], care pot alnite a nt ntr-un punct de reexie, rezult, din relatia 1.109, pentru coecientul de reexie c a a are valori intervalul kr = [1, 1]. n Pentru o linie de transmisie se vor analiza trei cazuri (limit) de reexie dup cum a a linia se termin pe impedantele Zr = 0, Zr = Z0 sau Zr = . a Linia de transmisie terminat scurtcircuit, Zr = 0. Rezult kr = 1, a n a vr = kr V = V iar vt = V V = 0. Imediat dup reexia semnalului incident a V , punctul de terminare pe impedanta Zr , tensiunea rezultat este zero i n a s n

CAPITOLUL 1. PORTI LOGICE


Poarta emitatoare VG Zs I Poarta receptoare Zr Zr vr vt

153

Linia de transmisie V vp Zo Zo V V vt V vt V a) vp

Distanta

Capatul liniei

vr Distanta Emitator b) vt vr Distanta Emitator c) V vt Capatul liniei V vt

Tensiunea pe linie dupa o reflexie la capat pentru :

Zr>Zo

Capatul liniei

V Zr<Zo

A Poarta A (emitatoare) d)

B Poarta B (receptoare)

Figura 1.73 Reexia semnalului pe liniile de conectare ntre porti(a): b) reexia pentru cazul cnd Zr > Z0 ; c) pentru cazul cnd Zr < Z0 ; d) exemplu de a a forme de semnale la transferul dintre dou porti. a continuare devine zero tensiunea pe linie pe msur ce tensiunea reectat v r a a a ,, se propag a napoi pe linie (semnalul se stinge ). Linia de transmisie terminat pe impedant caracteristic , Z r = Z0 (linie a a a adaptat). Rezult kr = 0, vr = 0V = 0 iar vt = V +0. Pentru o linie adaptat a a a nu exist component reectat, dup timpul T de propagare a semnalului pe a a a a linie pn la punctul de impedanta Zr , procesul devine stationar, iar tensiunile a a se pot calcula dup legea lui Ohm. a Linie de transmisie terminat gol, Zr = . Rezult kr = +1, vr = kr V = a n a V , vt = V + vr = 2V . Deoarece semnalul reectat are amplitudinea egal a cu V tensiunea pe linie devine egal cu 2V , pe msur ce tensiunea reectat a a a a se propag a napoi, ncepnd cu punctul de reexie (liniile care se termin pe a a intrrile portilor CMOS, care au impedanta de intrare foarte mare R > 10 12 , a

154 pot considerate ca linii gol). n

1.6. REJECTIA ZGOMOTELOR

Pentru dou cazuri Zr > Z0 i Zr < Z0 , Figura 1.73-b i c se reprezint a s n s a simplicat modul cum se obtine tensiunea total pe linie, v t , prin sumarea tensiunii a incidente, V (spre poarta receptoare) cu tensiunea reectat, v r , de ctre impedanta a a de intrare, Zr , poarta receptoare. n
Poarta generatoare R 0=Z0/3 + V kr=1/2 v0 l/2 R in1=Z0 kr1=0 v1 R in1 Poarta 1 l/2 R in2=3Z0 kr2=+1/2 v2 R in2 Poarta 2 1,125 V 0,84 V t T 2T 3T 4T

v0 0,75V

0,93V 0,89V t

1,125V v1 0,93V 0,84V 0,75V t T 2T 3T 4T

v2

2T

3T

4T

Figura 1.74 Variatia tensiunii pe o linie de transmisie cu puncte de reexie la ambele capete. Figura 1.74 este reprezentat schema echivalent a unei porti a crei ieire, prin In a a a s intermediul unei linii de transmisie de impedanta Z 0 i lungime l, comand punctul s a n terminus intrarea unei alte porti. Poarta de comand este echivalat cu un generator a a de tensiune V i o rezistenta de ieire RO = Z0 /3, iar intrarea portii comandate din s s punctul terminus este echivalat numai prin rezistenta de intrare R in2 = 3Z0 . La a mijlocul liniei de transmisiune, l/2, mai este conectat o poart care are rezistenta a a s a de intrare Rin1 = Z0 . Se va analiza variatia tensiunii vO la ieirea portii de comand i a tensiunilor v1 i v2 la intrrile portilor comandate, cnd tensiunea generatorului s s a a are un salt de la zero la valoarea V . La momentul t = 0 tensiunea generatorului se aplic pe divizorul rezistiv format a din R0 i Z0 (semnalul nu a s nceput s se propage pe linie) deci la ieirea portii de a s V comand rezult tensiunea egal cu vO = Z0 +Z0 /3 Z0 = 3/4V = 0, 75V . Dup a a a a timpul (l/2)/vp = T /2 semnalul cu amplitudinea 3/4V ajunge la Poarta1 la a crei a intrare se va aplica tensiunea v1 (T /2) = 3/4V deoarece nu exist reexie, intrarea a ind adaptat, kr = 0. Dup a un interval T /2 semnalul ajunge la intrarea Portii2 a a nc de la captul terminus unde sufer o reexie cu un coecient de reexie k r2 = (3Z0 a a Z0 )/(3Z0 + Z0 ) = 1/2. Tensiunea reectat este vr = 1/2 3/4V = 3/8V , iar a tensiunea total aplicat portii rezult v 2 (T ) = 3/4V + 3/8V = 9/8V = 1, 125V . a a a Unda de tensiune reectat dup intervalul de timp T /2 ajunge la Poarta1 la a crei a a a intrare se aplic tensiunea v1 (3T /2) = 3/4V + 3/8V = 9/8V = 1, 125V , iar dup a a a un interval de T /2 atinge punctul de reexie de la ieirea portii de comand nc s a unde coecientul de reexie este kr = (Z0 /3 Z0 )/(Z0 /3 + Z0 ) = 1/2. Tensiunea reectat acel punct este vr = (1/2) 3/8V = 3/16V ; tensiunea rezultat a n a

CAPITOLUL 1. PORTI LOGICE

155

v0 (2T ) se compune din tensiunea existent 3/4V , din tensiunea incident 3/8V i a a s din tensiunea reectat, deci v0 (2T ) = (3/4 + 3/8 3/16)V = 15/16V = 0, 93V . a Urmeaz a doua parcurgere spre captul terminus al traseului de ctre semnalul a a a reectat vr = 3/16V cnd se obtin la Poarta1: v1 (5T /2) = (9/8 3/16)V = a 15/16V = 0, 93V i la Poarta2: v2 (3T ) = (9/8 3/16 3/32)V = 27/32V = 0, 84V ; s punctul terminus 9/8V este tensiunea existent, 3/16V este tensiunea incident n a a iar 1/2(3/16)V = 3/32V este tensiunea reectat. Se a ncepe a doua parcurgere napoi nspre nceputul traseului de ctre semnalul reectat v r = 3/32V ; se obtin a la Poarta1: v1 (7T /2) = (15/16 3/32)V = 27/32V = 0, 84V , la poarta generatoare v0 (4T ) = (15/16 3/32 + 3/64)V = 57/64V = 0, 89V . punctul de In nceput, de la poarta generatoare, se produce acum un semnal reectat egal cu v r = (1/2) (3/32)V = +3/64V . La urmtoarea parcurgere a nspre captul terminus se obtin la a Poarta1: v1 (9T /2) = (27/32 + 3/64)V = 57/64V = 0, 89V i la Poarta2: v 2 (5T ) = s (27/32 + 3/64 + 3/128)V = 117/128V = 0, 91V i un semnal reectat v r = 3/128V . s nal, se ajunge regimul stationar cnd tensiunea aplicat la captul linei de In n a a a transmisiuni v2 () = (V /(Z0 /3 + Z0 + 3Z0 )) (Z0 + 3Z0 ) = 0, 92V . Se observ din diagramele din Figura 1.74 c tensiunile v 1 , v2 , intrrile portilor a a a comandate, pot avea valori mai mari dect V . Cnd la intrarea liniei de transmisiune a a se aplic un salt de la 1 logic la 0 logic pot aprea la intrarea portilor comandate a a tensiuni (negative) sub nivelul masei. Protectia mpotriva acestor supratensiuni la intrarea portilor se face prin diode de descrcare ca Figura 1.22-c i Figura 1.70-a. a n s plus, intervalele scurte cnd diodele de pe intrare conduc realizeaz o impedanta In n a a de intrare la mas de valoare foarte mic, deci un coecient de reexie care tinde spre a a 1, ceea ce duce la atenuarea regimului tranzistoriu. Eliminarea reexiilor pe liniile de transmisie se poate realiza dou modaliti. n a at Prima modalitate const conectarea la captul terminus a unui circuit termia n a nator (Thvenin) format din rezistentele R1 i R2 ca Figura 1.75-a. (Teorema e s n Thvenin: O retea liniar i activ, cu dou borne de ieire A i B i fr cuplaje e as a a s s s aa inductive cu exteriorul poate substituit cu un generator ideal de tensiune V T hev a nseriat cu o rezistenta RT hev : VT hev este egal cu valoarea tensiunii la bornele retelei a la mers gol VT hev = VAB0 , iar RT hev = VT hev /IABsc . IABsc este curentul generat de n retea cnd bornele A i B sunt scurtcircuitate.) Schema echivalent Thevenin este de a s a senat Figura 1.75-b. Rezult pentru tensiunea echivalent V T hev = RVCC 2 R2 , a n a a 1 +R iar Isc = VCC /R1 deci RT hev = VT hev /Isc = (R1 R2 )/(R1 + R2 ) adic cele dou a a ramuri paralel. alegerea valorilor de rezistent ale terminatorului se ine seama n In a t de urmtoarele [Wakerly 00]: a - Valoarea rezistetei RT hev trebuie s e ct mai aproape de Z0 ; a a - Valoarea tensiunii VT hev trebuie aleas at s optimizeze curentul absorbit i a nc a s generat de poarta care comand linia de transmisie. Pentru portile simetrice a pe ieire, care au valori egale pentru curentul absorbit i generat (cazul portilor s s CMOS dar nu i cele CMOS compatibile TTL), se recomand V T hev = (VOL + s a VOH )/2. Pentru portile asimetrice pe ieire la care I OL > IOH (portile TTL i s s CMOS compatibile TTL), se recomand VT hev > (VOL + VOH )/2, prin aceasta a se ajut poarta (cnd ieirea sa este H) printr-o generare suplimentar de a a s n a curent de ctre terminator pe linia comandat de poart, dar cu costul creterii a a a s curentului pe care trebuie s-l absoarb poarta de pe linie starea L; a a n

156

1.6. REJECTIA ZGOMOTELOR

Poarta generatoare

V CC R1 Linie de transmisie R2 Porti receptoare Zo R i Ri Porti receptoare Linie de transmisie

Terminator Thevenin R Thev V Thev b) +

a) Poarta generatoare + Ri

c) V CC V CC R1 R R

R1

R2 d)

R2 e)

Figura 1.75 Modaliti de adaptare a liniilor: a) adaptarea unei linii de magisat tral prin conectarea la capt a unui terminator Thevenin; b) schema echivalent a a a a terminatorului; c) adaptarea ieirii unei porti (la linia de magistral) prin s a nserierea unei rezistente de valoare Z0 Ri ; d,e) variante de adaptare a conexiunilor dintre dou porti. a

- Cnd linia de transmisie este o linie de magistral tip TSL va trebuie ca, atunci a a cnd magistrala nu este coamandat de ctre nici un emitator, tensiunea V T hev a a a a terminatorului s xeze un potential pe linie care s e intervalele de tensiuni a a n de ieire garantate (i nu intervalul de tensiuni interzise). Dac tensiunea s s n a xat pe linia de magistral este aproape de tensiunea de pragul de comutatie a a VT (Denitia 1.14 ) a portilor receptoare, atunci pot s apar oscilatii pe linie a a sau curentii la intrrile portilor receptoare s creasc cu mult peste valorile a a a normale. (Mai recent, (portile) buere de magistrale au deja integrat pe ieire s un circuit activ de mentinere bus holder, Figura 1.46-e a nivelului pe linia de magistral pentru intervalele cnd magistrala este HZ.) a a n Valori uzuale pentru rezistentele terminatorului sunt cele standard plaja 150, n 220, 270, 330, 390, 470. O pereche, aproape standard, pentru aplicatii TTL este R1 = 220, R2 = 330 pentru care se obtine RT hev = 132 i VT hev = 3V , iar poarta s care comand linia trebuie s absoarb starea L un curent egal cu (3V /132) = a a a n

CAPITOLUL 1. PORTI LOGICE

157

22, 7mA i nu trebuie s genereze curent starea H deoarece tensiunea H este s a n mentinut de terminator. Dezavantajul principal al terminatoarelor Thvenin este a e consumul permanent de putere; uneori se utilizeaz ca terminator un circuit asimetric a care exist numai R1 iar R2 = . n a A doua modalitate de eliminare a reexiilor const a n nserierea unei rezistente, linia de transmisie imediat apropierea portii care comand linia, de valoare R = n n a Z0 Ri , Figura 1.75-c. Pentru generatorul de tensiune al portii, schema echivalent, n a apare o arcare de 2Z0 (adic Ri + Z0 Ri + Z0 = 2Z0 ). Aceast modalitate este nc a a ecient pentru portile la care Ri rezistenta de ieire stare H i rezistenta de ieire a s n s s stare L sunt de valori apropiate (cazul portilor CMOS), iar portile comandate n sunt toate grupate spre captul terminus al liniei de transmisie. Pentru impedanta a caracteristic intervalul Z0 = 50 150 se recomand Ri = 15 40. a n a Pentru portile TTL(LS) rezistentele de ieire sunt: jur de 30 stare L i s n n s jur de 300 stare H, iar cele de intrare jur de 100 pentru V in 1, 5V i n n n s 10K pentru Vin > 1, 5V . Circuitele CMOS prezint o impedanta foarte mare pe a intrare care pentru o linie de transmisiuni este echivalent cu o terminare gol. Din n dispersia acestor valori se poate constata c este foarte greu a se realiza o adaptare a pentru toate conexiunile dintre dou porti. a La circuitele actuale (complexe) care functioneaz la frecvente ridicate (CPLD, a FPGA, memorii, microprocesoare, vezi capitolul 4) exist posibilitatea de a ajusta a impedanta de ieire a unui driver care comand o linie i la fel impedanta de intrare s a s la un circuit receptor care receptioneaz semnalul de la o linie. Aceast ajustare a a se face electronic, functie de valoarea impedantei caracteristice Z 0 , se introduc n sau se scot rezistente xe at rezistenta echivalent rezultat s coincid cu Z 0 . nc a a a a Fizic, introducerea sau scoaterea de rezistente se realizeaz prin a nserierea cu ecare rezistenta x a unui tranzistor care se comand respectiv conductie sau blocare. a a n n Se poate ca i pentru conexiunile dintre porti s se adopte modalitile de adaptare s a at utilizate pentru liniile de magistral ca Figura 1.75-d, 1.75-e, dar de cele mai multe a n ori se fac conexiuni ntre porti fr a se face o astfel de adaptare. Pentru astfel de aa situatii de neadaptare a conexiunilor dintre porti se recomand ca pe durata fron a turilor de tranzitie ale semnalelor de comand s se asigure ca linia de conexiune, de a a lungime l, s e parcurs de cel putin 5 ori. Se consider c dup cinci parcurgeri (5T ) a a a a a ,, regimul tranzitoriu se stinge; i acest fel rezult crestat variatia de semnal doar s n a intervalul tranzitoriu, Figura 1.74, nu i pe durata de regim static. Conform acestei n s recomandri, considernd vp = 20cm/ns pentru cinci parcurgeri pe durata frontului a a de cdere HL (uzual HL < LH ), rezult lungimea maxim lmax (vp HL )/5 a a a a conexiunii neadaptate ntre dou porti, dar pentru care se asigur o functionare a a corect. Aplicnd aceast recomandare rezult urmtoarele valori maxime pentru a a a a a trasee: ECL, HL 2ns, lmax = 8cm; TTL-S, HL 3 4ns, lmax = 12 16cm; TTL, HL = 5 7ns, lmax = 20 30cm. Se estimeaz c viitor i interiorul unui sistem digital, similar ca telecoa a n s n n municatii, ntre circuitele integrate chiar i interiorul circuitelor integrate, inters n conectarea va realizat prin trase pentru semnal optic. Avantajul zic al semnalului a optic fata de cel electric este imunitatea la perturbatii electromagnetice i eliminarea s constantelor de timp datorit arcrii capacitive. Estimrile zic c, fata de 2002, a nc a a a va curent comunicatia optic a a ntre cipuri 5-10 ani, iar cea interiorul cipului n n cam jur de 15 ani. n

158 1.6.2.3

1.6. REJECTIA ZGOMOTELOR

Zgomotul datorat cuplajului electromagnetic (diafonia)

Diafonia (cross-talk), adic inductia semnalului dintr-un traseu altul vecin pe a n durata fronturilor, este o consecinta a cuplajului inductiv i capacitiv dintre trasee. s Evident, cu ct frecventa semnalului printr-un traseu este mai ridicat cu att tensia a a unea indus traseele vecine poate de valoare mai mare. a n Denitia 1.19 Nivelul de diafonie, D, este raportul dintre tensiunea (para zit) indus a a ntr-un traseu (perturbat) i tensiunea care o genereaz (perturbatoare). s a D= Vperturbat a Vperturbatoare

Se consider, Figura 1.76, dou trasee unul compus din Poarta1 ce comand, a n a a pe o linie cu impedanta caracteristic Z0 , intrarea Portii2 i al doilea traseu compus a s din Poarta3 ce comand Poarta4 pe o linie cu impedanta caracteristic Z 0 ; a a ntre cele dou trasee exist o impedanta de cuplaj Z c . Cuplajul electromagnetic realizat prin a a impedanta de cuplaj Zc apare ca o rezultant a cuplajelor formate prin capacitile a at distribuite Cm i cuplajului prin inductivitile distribuite L. Pentru analiza cuplas at jului electromagnetic al celor dou trasee se impune ca impedanta de ieire a portilor a s de comand Zout s a a ndeplineasc conditia Zout a Z0 (poarta este un generator ideal n de tensiune). Atunci, cu aceast conditie, tensiunea indus V I2 linia 1-2, ce se a a aplic la Poarta2, de ctre tensiunea din linia 3-4, V O3 , generat la ieirea portii 3 va a a a s exprimat prin relatia: a VI2 = VO3 VI2 1 D= = 1 + Zc /Z0 VO3 1 + Zc /Z0 (1.111)

Calitativ, relatia 1.111, sugereaz ce modaliti pot duce la atenuarea diafoniei: a at

Zo

CL 1 L M L

CL L Cm M L CL

CL L Cm

Zo

CL L L M L

V I2 2

ZI Poarta 4

Poarta 1 C m Poarta 3 Zo 3 CL V O3

Cm M Linii paralele Zc (cuplate L L electromagnetic) Zo CL

Poarta 2

CL

ZI

Figura 1.76 Explicativ pentru procesul de generare a diafoniei a

CAPITOLUL 1. PORTI LOGICE

159

Mrirea impedantei de cuplaj Zc prin a ndeprtarea traseelor (distanta uzual a a ntre traseele de circuit imprimat este de 0, 20, 4mm), sau micorarea lungimii s portiunilor de paralelism ntre trasee sau ambele simultan; Micorarea impedantei caracterisitice Z 0 prin intercalarea unei trase de mas s a ntre trasele de circuit cuplate, sau utilizarea unui plan de mas; a Utilizarea unor materiale care prezint un coecient de permeabilitate maga netic r care se diminueaz odat cu creterea frecventei semnalului, deci se a a a s reduce cuplajul inductiv (polietilene utilizate pentru realizarea cablurilor plate); Micorarea spectrului de frecventa al semnalelor prin reducerea pantei frons turilor de comutatie. Aceasta se poate obtine prin conectarea la ieirea portilor a s unor condensatoare de ordinul zeci sute pF . Modalitatea aceasta este referit a ca reducerea lui di/dt, care intervine relatia tensiunii induse V = L di/dt. n Creterea frecventei semnalelor sistemele digitale (la nivelul anului 2004 s-a s n ajuns la frecventa de ceas pentru microprocesoare jur de 3GHz, perioada ind n de 333ps) creaz diculti realizarea magistralelor; o magistral de 64 de biti a at n a are 64 de trasee care merg paralel pe lungimi destul de mari. Pentru astfel n de aplicatii exist circuite de comand (drivere de magistral) care transmit pe a a a magistral doar fronturile semnalelor digitale dar cu o pant di/dt 1; teoretic, a a un front al unui semnal digital (ideal) este di/dt . Structura de driver de magistral, din Figura 1.77-a, este de fapt un driver CMOS a TSL, Figura 1.46-d, a crei tensiune de ieire la linia de magistral, cnd este stare a s a a n HZ, este xat la nivelul median VDD /2 prin divizorul echilibrat format cu valori de a impedanta egale cu 2Z0 . Un semnal digital x(t) i semnalul negat dar arziat cu s nt 3p , x(t 3p ), obtinut prin nserierea a trei inversoare, aplicate la intrarea unei porti NAND va genera la ieire un impuls negativ de lime 3 p , dar numai pe fronturile s at pozitive ale semnalului x(t). Similar, aceleai semnale aplicate la intrarea unei porti s NOR va genera la ieire un impuls pozitiv de lime 3 p dar numai pe fronturile s at negative ale semnalului x(t), Figura 1.77-b. Pe frontul pozitiv al semnalului de intrare x(t) tranzistorul pMOS intr conductie iar tensiunea de ieire v O crete liniar de la a n s s VDD /2 la VDD /2+V iar cnd tranzistorul se blocheaz scade liniar de la V DD /2+V a a la VDD /2. Similar, pe frontul negativ al semnalului x(t) va conduce tranzistorul nMOS iar tensiunea de ieire va avea variatia liniar de la V DD /2 la VDD /2 V , iar s a la blocarea tranzistorului, de la VDD /2 V la VDD /2. Semnalul vO (t) cu variatii liniare cu panta jur de unitate, aplicat pe o linie de magistral, va induce liniile n a n vecine tensiuni de valoare mult mai mic dect un semnal cu fronturi foarte abrupte. a a La receptie un circuit trebuie s sesizeze sensul frontului semnalului x(t) i s refac a s a a amplitudinea i durata acestui semnal, adic o deplasare de la V DD /2 e la VDD e s a la VSS . Exemplul 1.31 a) Dac liniile de transmisiune sunt realizate din conductori de a cupru cu = 1mm, aezati la o distanta mai mic de 1mm unul fata de cellalt i la o s a a s distant mai mare de 20mm fata de orice conductor de mas impedantele vor avea valorile a a Z0 = 200, Zc = 80 rezult un nivel de diafonie D1 = 0, 71. Acest raport zgomot semnal a este inacceptabil ntruct nici un circuit standard nu are o margine de zgomot mai mare a dect o treime din valoarea saltului logic de tensiune. a

160
3 p vB x(t 3 p ) vA a) x(t)

1.6. REJECTIA ZGOMOTELOR

V DD 2Zo Linie de vO magistrala Zo 2Zo

x(t)

3 p

x(t 3 p ) vB

vA tf vO
+ V + V

tr

V DD /2

V t

b)

Figura 1.77 Driver de magistral cu di/dt redus: a) structur circuit; b) exa a plicativ prin diagrame de semnal pentru obtinerea pe linia de magistral a unui a a semnal numai cu panta egal cu 1. a
b) Dac exemplul a) se introduce un plan de mas la distanta de 1mm de ecare conductor a n a se obtin valorile Z5 0, Zc = 125 iar nivelul de diafonie este D2 = 0, 28. Valoarea 0.28 pentru diafonie este destul de mare, se apropie prea mult de valoarea maxim de 30 % a a marginii de zgomot curent continuu de la portile CMOS. n c) Dac att linia emitatoare ct i cea receptoare se realizeaz din cablul torsodat ima a a s a pedan-ele au valorile Z0 = 80, Zc = 400 i diafonia este D3 = 0, 16. Acest raport t s zgomot/semnal este satisfctor pentru toate circuitele TTL i TTLS. a a s

1.6.2.4

Zgomotul datorit curentilor de alimentare a

Curentul absorbit de o poart de la sursa de alimentare, timp, nu are o valoare a n constant. oscilograma formei de variatie a curentului de alimentare apar evident a In vrfuri cu amplitudinea destul de mare (spikes, glitches) momentele de comutatie a n H L i L H ale portii, Figura 1.78. Aceste vrfuri de curent din perioadele s a tranzitorii sunt cauze generatoare de zgomot dou modaliti: 1- prin inductie pot n a at produce tensiuni parazite circuitele vecine; 2- micoreaz tensiunea de alimentare a n s a portii cu valoarea cderii de tensiune provocat pe impedanta traseului de alimentare a a

CAPITOLUL 1. PORTI LOGICE

161

(mai ales pe componenta inductiv a acestui traseu). La valoarea total a curentului a a absorbit de o poart contribuie trei componente una de regim stationar i dou de a s a regim tranzitoriu. 1. Curentii absorbiti regim stationar (de curent continuu). Valorile curenti n lor printr-o poart starea H, ICCH , i starea L, ICCL , nu sunt egali, deci pe a n s n circuitul de alimentare, ntre cele dou stri, poarta provoac variatiile de curent a a a I = ICCL ICCH care prin cderile de tensiune de pe inductivitile parazite L ale a at traseului i ale pinilor circuitului micoreaz tensiunea de alimentare V CC cu valoarea s s a V : I [V ] (1.112) V = L T Remediu pentru aceste variatii de tensiune este un condensator de descrcare C d a conectat chiar pe terminalele VCC /VDD i mas ale portii, condensator care constis a ,, tuie un rezervor de energie i care va livra pentru poart necesarul de curent I s a momentele cnd tensiunea de alimentare scade. Impunnd o anumit cdere de n a a a a tensiune V , cnd este necesar un curent suplimentar I a ntr-un interval de timp T , valoarea minim a condensatorului Cd se determin cu relatia: a a
V OH vO

LH

HL

V OL iC I CCL I CCH V CC /V DD

Figura 1.78 Vrfurile de curent de alimentare la tranzitiile H L i H L a s produc variatii tensiunea de alimentare n I [F ] V /T

Cd =

(1.113)

De exemplu, pentru circuitul TTL-LS 7400 (patru porti NAND) consumul total al celor patru porti cnd sunt alimentate la VCC = 5V este de ICCL = 2, 4mA i a s ICCH = 0, 8mA. Dac presupunem c toate portile sunt comandate simultan la a a aceeai frecventa de 1M Hz, pentru ca tensiunea de alimentare a circuitului s nu s a varieze cu mai mult de 5% (V = 5%VCC = 0, 25V ), este necesar o capacitate de a descrcare Cd = (2, 4mA 0, 8mA)/(0, 25V /0, 5 1s) = 3, 2nF . a

162

1.6. REJECTIA ZGOMOTELOR

2. Curentii de arcare i descrcare a capacitilor momentele de comuta nc s a at n ie. Aceti curenti determin peste 90% din puterea disipat pe o poart CMOS, dar t s a a a sunt destul de redui pentru tehnologia bipolar. Curentul de arcare a sarcinii, la s a nc comutarea L H, i curentul de descrcare a sarcinii, la comutarea H L sunt egali s a numai cnd Wp = 2Wn ( pentru n = 2p ). De exemplu, pentru circuitul 74HCT00 a (patru porti NAND) curentul de arcare ILH i curentul de descrcare IHL al nc s a circuitului, cnd portile sunt comandate simultan pentru un salt logic de 3, 6V cu o a vitez de cretere de 0, 25V /ns i de 0, 4V /ns pentru descretere, se pot determina a s s s (cu o aproximatie destul de bun pentru aplicatiile practice) cu relatia 1.112 a ILH = 4 50pF 0, 25 109 V /s = 5mA IHL = 4 50pF 0, 4 109 V /s = 8mA iar timpii de cretere tLH i descretere tHL rezult s s s a tLH = 3, 6V /(0, 25V /ns) = 14, 4ns tLH = 3, 6V /(0, 4V /ns) = 9ns 3. Curentii de scurtcircuit. Aceti curenti care apar pe traseele dintre s VDD /VCC i mas momentele de comutatie, att tehnologia CMOS ct i bipos a n a n a s lar, prin durata lor scurt pot constitui surse de zgomot. a a Variatiile de curent datorit regimului tranzitoriu, punctul 2 i 3, pot ajunge la a s valori mai mari dect 10mA/ns care pe o inductivite de 0, 1H(valori tipice pentru a traseele de circuit imprimat sunt 0, 01 0, 02H/cm), conform relatiei 1.112 vor produce cderi de tensiune V = 0, 1H 10mA/ns = 1V . Efectul acestor variatii a de curent este acelai ca i cel produs de al variatiilor curentului de alimentare cu s s deosebirea c de data aceasta spectrul de frecvente este mult mai a nalt. Atenuarea zgomotelor generate de curentii de alimentare se poate realiza prin conectarea pe pinii de alimentare al ecrui circuit integrat a unui condensator cea ramic de ordinul 10100nF (pentru rejectia frecventelor nalte) i a unui condensator s de decuplare cu tantal de 0, 33F (pentru frecvente joase) la cte un grup de 34 cir a cuite integrate. De fapt, aceeai manier, dar de valori mai mari, se face decuplarea n s a circuitului de alimentare la intrarea pe placa de circuit imprimat. Totui, numai des cuplarea de la intrarea plcii de circuit imprimat nu este sucient deoarece induca a tivitile parazite ale traseelor, de la intrare pn la circuit, at a a mpiedic livrarea rapid a a de curent spre circuite i atunci aceast decuplare local se repet i apropierea s a a a s n circuitului. Exemplul 1.32 S se calculeze cderea de tensiune produs pe o inductivitate L = a a a 2nH (de exemplu inductivitatea rului care conecteaz zona de pad la pinul circuitului) a de ctre curentul de descrcare al sarcinii capacitive CL = 100pF de la ieirea unui buer a a s CMOS conectat la pad. Se consider sarcina arcat la VDD = 5V iar HL = 5ns. a nc a Solutie. Figura 1.79 este trasat variatia real a curentului de descrcare cu linie In a a a continu, iar cu linie a ntrerupt se estimeaz o variatie liniar. Pentru acest caz relatia 1.113 a a a se scrie sub forma td = CL VDD Idmax 2

CAPITOLUL 1. PORTI LOGICE

163
i de asemenea, din estimarea de s variatie liniar pentru curentul id , se a poate scrie relatia de variatie a curen tului did dtd 2Idmax Idmax = HL /2 HL

id I dmax

max

rezult relatia a

td = 0

t d = HL / 2

t d = HL

td

did dtd

max

4CL VDD 2 HL

Introducnd valorile numerice se obtine a

Figura 1.79 Explicativ pentru Exemplul a 1.32

did dtd

max

= 80mA/ns V = L did dtd 160mV

4 100 1012 5 (5 109 )2

max

Dac poarta devine mai rapid de dou ori HL = 2, 5ns cderea de tensiune se mrete de a a a a a s patru ori 4 160mV = 0, 64V .

PROBLEME
P1.1 Utiliznd axiomele i teoremele algebrei Booleene, s se demonstreze analitic a s a urmtoarele identiti i apoi s se deduc tabelul de adevr al expresiei respective: a at s a a a a) B + AC = (A + B + C)(A + B + C)(A + B + C); b) AD + CD + AB = A CD + AB C + ABC + ACD; c) D(A + +C + D)(A + B + C + D) = (D + AC + AC)(A C + BD + AC). P1.2 S se demonstreze urmtoarele identiti i apoi s se deduc tabelul de a a at s a a adevr al expresiei respective: a a) AB + (A + B)C = AB + (A B)C; b) A B = B A = A B a c) A 1 = A (inversorul comandat realizat cu o poart XOR); A 0 = A; A A = 1; A A = 0; d) A B = AB + A B; e) A B = A B = A B; f) ABC + A B + ABCD = ABC + A B + D; h) ABC(BD + CDE) + AC = A(C + BDE); g) ABC + AB C + A B C + ABC + ABC = BC + AB + B C. P1.3 S dezvolte urmtoarele expresii (utiliznd teoremele lui De Morgan): a a a a) AB(C + D); b) AB(CD + EF ); c) (A + B + C + D) + ABCD;

164 d) (A + B + C + D) (AB CD); e) AB(CD + EF )(AB + CD) f) (ABC) (EF G) + (HIJ) (KLM ); g) (A + BC + CD) + BC

1.6. REJECTIA ZGOMOTELOR

h) (A + B) (C + D) (E + F ) (G + H). P1.4 Folosind portile setului complet XOR, AN D s se implementeze operatorii: a NOT, AND, OR, NAND, NOR, XNOR. Se vor utiliza simbolurile ANSI/IEEE. P1.5 Care porti din Figura urmtoare (a, b, c, d) nu functioneaz corect? Os a a cilogramele semnalelor de pe intrri i de pe ieiri sunt prezentate in aceeai gur. a s s s a
A B y A B y a) A B c) y y y A B y b) A B y d) A B y y

A B y

A B y

P1.6 S se implementeze operatorul sum modulo doi (XOR) pentru dou variabile a a a numai cu porti N AN D sau numai cu porti N OR cu dou intrri. a a P1.7 S se construiasc tabelele de adevr i reprezentrile simbolice pentru implea a a s a mentarea operatorului sum logic de dou variabile (OR2) considernd toate varia a a a antele de activare ale semnalelor de intrare i de ieire. s s P1.8 S se explice cum se procedeaz cu intrrile neutilizate ale unei porti logice a a a astfel at acestea s nu duc la o functionare incorect a portii. nc a a a P1.9 Pentru portile TTL, impedantele de ieire sunt jur de 30 starea s n n L i jur de 300 starea H. Impedanta caracteristic a traseelor de circuit pe s n n a placa de sticlotextolit are valori cuprinse ntre Z 0 = 50 150. scopul de a se In evita reexiile pe liniile de conectare ntre porti,pentru realizarea conditiei Z 0 = Zr (impedanta pe care se realizeaz reexia), se mrete articial impedanta de ieire a a a s s portii care comand linia prin inserarea, la ieirea acesteia, a unei rezistente R. S se a s a determine valoarea maxima a rezistentei R. P1.10 S se comande o diod electroluminiscent (LED) cu o poart 74HC MOS a a a a i 74LS TTL. Parametrii de catalog ai acestor porti sunt dati tabelul de la P1.12. s n Punctul de functionare al LED-ului starea de luminiscenta are coordonatele I D = n 8mA, UD = 1, 6V . P1.11 S se calculeze valorile rezistentelor R a i Rb ale circuitului din gura (a) a s astfel ca, atunci cnd ambele comutatoare sunt deschise, pe intrrile A i B s e a a s a ,, ,, asigurate nivelele logice 0 i 1 . Care este puterea disipat de aceste rezistente s a cnd comutatoarele sunt deschise i a s nchise? Valorile de catalog ale parametrilor portii sunt date tabelul de la P1.12. n

CAPITOLUL 1. PORTI LOGICE

165

V CC Ra A V CC B Rb b) 74LSTTL A B C D

a)

P1.12 S se determine dac o poart 74HCMOS poate comanda patru porti 74LS a a a TTL i dac o poart 74LS TTL poate comanda patru porti 74HC MOS. Valorile s a a tipice de catalog ale parametrilor portilor logice sunt date tabelul urmtor: n a
VIH(min) Tip 74HCMOS 3,5 V 74LSTTL 2V VIL(max) VOH(min) VOL(max) I IH(max) I IL(max) I OH(max) I OL(max) 1V 4,9 V 0,1 V 1 1 40 4 mA 0,8 V 2,7 V 0,4 V 20 400 400 8 mA

P1.13 Pentru portile inversor ale circuitului b) (desenat la P1.11) timpii de pro pagare sunt: LH = 6ns(min)/10ns(max), HL = 4ns(min)/6ns(max), r = f = 1ns. Presupunnd valorile minime pentru timpii de propagare,s se determine timpul total a a de propagare prin circuit pentru comanda intrrii: 0 1, 1 0. Considernd c a a a ecare inversor are timpul de propagare situat oriunde ntre valoarea minim i cea as maxim, s se schiteze formele de und punctele B,C i D cnd semnalul pe intrarea a a a n s a A are tranzitiile: 0 1, 1 0. P1.14 Pentru circuitul din gura de mai jos (a) se consider, pentru toate portile, a PHL = PLH = p . S se determine expresiile logice pentru variabilele notate gur. a n a Discutie. Tinnd cont de timpii de propagare, s se descrie prin forme de und valorile a a a variabilelor logice pe durata regimurilor tranzitorii. Discutie.
A A
_

C D

C B

A A A
_

B A

A
_

A a) b)

P1.15 Pentru circuitele din gura b) (de la P1.14), s se determine formele de und a a pentru variabila B cnd variabila A are o variatie sub forma de semnal dreptunghiular a de perioad T = 10p cu coecientul de umplere 50%. Se consider p = PHL = PLH , a a pentru toate portile circuitelor. S se interpreteze formele de und pentru variabila a a

166

1.6. REJECTIA ZGOMOTELOR

B, similar cu interpretarea de la problema 1.13. P1.16 Pentru comanda portii NAND 74HC00 de la ieirea unei porti NAND cu s colectorul gol, 74LS01, se utilizeaz interfatarea din gura (a) de mai jos. S se n a a calculeze valoarea rezistentei de pull-up R p astfel at s se obtin: nc a a a) un consum minim de putere pe Rp ; b) un timp de tranzitie minim la intrarea portii CMOS;

V CC Rp "1" V1
I 74LS01 74HC00 VI

R1 2K VA

A R2 10K VO

Cp a)

b)

P1.17 S se determine caracteristica de transfer V 0 = f (V1 ) pentru circuitul a din gura b) (de la P1.16) de mai sus realizat cu porti inversoare CMOS, avnd: a VT = 2, 5V (tensiune de prag de comutatie), VOHmin = 4, 9V, VOLmax = 0, 1V . S se a deseneze formele de und la ieire cnd VI are o variatie triunghiular cu VImax = 4V . a s a a P1.18 logic: a S se deseneze structura retelei de porti care realizeaz urmtoarea functie a a a F = (ABC + D)EF + GH(I + J + K) P1.19 S se deseneze structura retelelor care realizeaz urmtoarele functii logice: a a a a) F = (AB + C)[(D + E)F + G]; b) F = (AB + C)AB + BC; c) F = AB(C D + CD) + AB(C D + CD) + AB C D; d) F = (A B + AB)(C D + CD); e) F = AB(C + DEF ) + CE(A + B + F ). P1.20 Pentru reteaua de comutatie din gur s se deduc functia logic F pe care a a a a o realizeaz. a
A B C D I2 G2 G3 G4 G5 G6 G7 F=? I1 G1

CAPITOLUL 1. PORTI LOGICE

167

P1.21 Pentru retelele de comutatie din gurile urmtoare s se deduc functiile a a a logice realizate.
A B C E F G a) F D E C F G A B b) B C F

P1.22 Structura circuitului de comand realizat cu contacte pentru aprinderea i a s stingerea unui bec din oricare din cele trei puncte A,B i C este reprezentat gura s a n (a)de la P1.23. Implementati acelai circuit de comand cu porti logice. s a P1.23 S se determine functia de comutatie F pentru structura de retea din gura a de mai jos (b). S se simplice expresia functiei F i s se realizeze o implementare a s a cu porti logice.
A _ A A _ A B C _ B _ B _ A B _ D D _ B

_ C

a)

b)

P1.24 Circuitului din gura (b) alturat i se aplic semnalele de intrare A,B,C i a a a s D avnd formele de und gura (a). S se determine formele de und punctele a a n a a n x1 , x2 , x3 , x4 i y. Apoi, pentru acest circuit combinational s se deduc expresia s a a logic a ieirii y i, cu ajutorul acesteia, s se deduc forma de und a semnalului y a s s a a a pentru variatia intrrilor. a
A B C D a) C D b) A B x1 x2 x3 y x4

168

1.6. REJECTIA ZGOMOTELOR

P1.25 Pentru circuitul logic combinational din gura (b), la aplicarea formelor de und la intrare, desenate alturat gura (a), se obtine forma de und y la ieire. a a n a s Aceast ieire y este incorect datorit unei porti defecte din structura circuitului. a s a a (O poart defect are ieirea e permanent starea H e permanent starea L, a a s n n indiferent de valoarea logic a intrrilor). S se localizeze poarta defect i s se a a a a s a determine defectul acesteia (ieire permanent H sau permanent L). s
A B C D E y a) A B G1 C D E G3 b)

G2 G4 y

P1.26 Pentru circuitul din gura (b) sunt redate alturat formele de und pe a a intrri. Sunt accesibile pentru oscilograere numai ieirea i punctul de test PT. Este a s s corect forma de und PT? Dac nu, care este defectul? a a a
A B C D E F PT a) b) A B C D E F

PT

P1.27 Pentru circuitele din gurile urmtoare a),b) i c) s se determine expresia a s a logic realizat pe ieirea y. Considernd c toate buerele open colector pe ieire a a s a a s au IOLmax = 40mA, VOLmax = 0, 25V , IOHmax = 400A s se determine valoarea a rezistentelor R dac functia y reprezint o arcare de 10 intrri 74LS00 (vezi tabelul a a nc a de la P1.12). Se admite pentru VCC = 0, 1VCC iar MH =ML = 0, 4V . P1.28 Folosind datele de catalog, date tabelul de la problema P1.12, pentru n poarta 74HC00 (NAND2) s se determine dac poate comanda pe ieire urmtoarele a a s a sarcini rezistive: a) 120 conectat la VDD ; a b) 270 conectat la VDD i 330 conectat la mas; a s a a c) 1K conectat la mas; a a d) 150 conectat la VDD i 150 conectat la mas; a s a a e) 100 conectat la VDD ; a f) 75 conectat la VDD i 150 conectat la mas; a s a a

CAPITOLUL 1. PORTI LOGICE


VCC +5V R A B C R A B

169
VCC +5V

VCC +5V R A B C D a)

* * * *

* * *
b)

* * * *
c)

D E F G

C D E F G H

g) 75 conectat la VDD ; a h) 270 conectat la VDD i 150 conectat la mas. a s a a P1.29 Pentru poarta 74HC00, utiliznd datele din tabelul de la problema P1.12, a s se estimeze rezistenta de ieire stare H i stare L. a s n s n P1.30 Pentru decizia pentru ieirea unei porti cu colectorul gol sau cu drenul s n ,, gol se alege o rezistenta de valoare mai mare sau mai mica aduceti argumente pro n i contra. s P1.31 Un buer cu drenul gol, VOLmax = 0, 37V , IOLmax = 12mA, comand n a un LED de semnalizare pentru care se xeaz punctul de functionare V LED = 1, 6V , a ILED = 10mA. S se determine valoarea rezistentei a nseriate cu LED-ul cnd V DD = a 5V . P1.32 Care rezistor disip mai mult putere cel care conecteaz o intrare neutilizat a a a a la VCC a unei porti NAND TTL-LS sau cel care conecteaz o intrare neutilizat la a a mas a unei porti NOR TTL-LS? (Utilizati datele din tabelul de la problema P1.12) a P1.33 Ce se ampl dac se nt a a ncearc s se comande, direct fr rezistenta a a aa aditional, un releu alimentat la +12V printr-o poart normal TTL? a a a P1.34 Circuitul din gura (a) utilizeaz porti 74LS01 cu colectorul gol pentru a n care datele de catalog corespund cu cele din tabelul de la P1.12 de la seria LS cu diferenta c IOHmax este 100A. a

+5V

* 74LS01

Y Z

74LS01

a)

W X

74LS01 *

R1

R2

P Q R S T U V

b)


+5V D1

RI 3 D2 4

x y z

170

1.6. REJECTIA ZGOMOTELOR

a) S se deduc analitic i s se verice prin metoda tabelului de adevr expresia a a s a a functiei F. b) Considernd MH = 0, 7 care este valoarea maxim admis pentru R 1 ? a a a c) Dac semnalul F comand dou inversoare 74S04 (datele corespund seriei S din a a a Tabelul 1.9) s se determine valoarea maxim i minim pentru R 2 cnd MH = a a s a a 0, 7V, ML = 0V . P1.35 La o linie de magistral sunt conectate n module.Fiecare modul este compus a dintr-o poart receptoare 74LS04 (parametrii acestui inversor sunt Tabelul 1.9 a n la seria LS) i un buer, TSL 74LS125, emitator pe magistral. Buerul TSL s a n starea HZ absoarbe sau genereaz un curent 20A iar starea normal cu ieirea L a n a s absoarbe un curent IOLmax = 24mA i cu ieirea H genereaz un curent IOHmax = s s n a 2, 6mA. Cte module se pot conecta la magistral? a a P1.36 Se descoper o decienta la circuitul din gura (b) de la P1.34. Proieca tantul remediaz aceast decienta prin introducerea diodelor D1 i D2 pe traseele a a s desenate punctat. Descrieti modicarea logic i a marginii de zgomot, prin aceast as a introducere, asupra circuitului. Toate portile sunt 74LS00 (NAND2). P1.37 S se deseneze structura circuitelor CMOS care realizeaz functiile F 1 = a a A + BC, F2 = A(B + C). P1.38 S se deseneze structura circuitului CMOS care implementeaz functia a a F = (A1 + A2 + A3 )(B1 + B2 )C. P1.39 Pentru functia logic F = A + B + CD: a a) S se deseneze structura de circuit CMOS; a b) S se deduc drumul eulerian i apoi s se deseneze layoutul simplicat. a a s a P1.40 Pentru circuitul de coincidenta: a) S se deseneze structura de circuit CMOS; a b) S se deduc drumul eulerian i apoi s se deseneze layoutul simplicat. a a s a P1.41 Se consider circuitele din gura (a)i (b) care au un efort electric H=6. a s a) Care este efortul total pentru ecare circuit? b) Care dintre ele este mai rapid? c) S se calculeze dimensiunile x i y de poart astfel at pentru circuitul respectiv a s a nc s se obtin arzierea cea mai mic. a a nt a
g=4/3 p=2 C g=1 p=1
x 6C

g=1 p=1 C C b)

g=5/3 p=2
y 6C

a)

P1.42 Un traseu logic este proiectat pe trei etaje; pe ecare dintre ele este repartizat un efort F1 = 10, F2 = 9, F3 = 7. a) Poate aceast proiectare optimizat? Dac da ce mod? a a a n b) La prezenta proiectare ce mbuntiri se pot aduce? a at P1.43 Se consider un traseu logic pe opt niveluri/etaje, pe ecare nivel efortul a electric este egal cu hi = 3. Cea mai complex poart care poate a a ntr-un nivel, din

CAPITOLUL 1. PORTI LOGICE

171

acest traseu, este NAND4. S se estimeze care este intervalul de timp cel mai mic a dup care semnalul logic, aplicat la intrarea traseului, poate modicat. a P1.44 La structura de NAND8 din Figura 2.29-c adugati, dup ultimul inversor, a a a dou inversoare. Pentru cele trei structuri din Figura 2.29 i cea obtinut nc a s a n acest mod trasati, pe acelai grac, dependenta, arzierea D functie de variatia s nt efortului electric H intervalul H = 12 200. Care este concluzia din analiza acestor n dependente? P1.45 Care dintre portile CMOS, NANDn, NORn, pentru acelai efort electric, s este mai rapid? Argumentati armatia. a P1.46 O linie de magistral cu impedanta caracteristic Z 0 = 100 este comandat a a a de ieirea unui buer din L (0, 2V ) H (2, 7V ) pe durata t = 3ns. S se determine s n a valoarea capacitii de decuplare CB conectat at a ntre linia de alimentare VCC i mas s a astfel at acest salt s nu provoace o variatie maxim a tensiunii de alimentare nc a a VCC > 0, 1V . P1.47 Un driver TSL, caracterizat prin IOLmax = 24mA, VOLmax = 0, 4V comand a o linie de magistral cu impedanta caracteristica Z 0 = 150. Receptorii de la linia de a magistral sunt porti de tip trigger Schmitt cu pragurile de comutatie V p = 0, 9V , a a n a s n Vp+ = 1, 7V iar curentii absorbiti att starea L ct i starea H sunt neglijabili. Tensiunea VCC poate varia limitele 10%. n a) S se dimensioneze rezistentele pentru terminatorul Thevenin al liniei; a b) S se calculeze marginile de zgomot garantate M H i ML . a s P1.48 Pentru o poart logic TTL trigger Schmitt neinversor cu pragurile de a a a basculare intervalele Vp = (0, 60, 9)V , Vp+ = (1, 72)V s se calculeze marginile n de zgomot MH i ML . s P1.49 Pentru captul unei linii de magistral, cu impedanta caracteristic Z 0 , s a a a a se dimensioneze un terminator Thevenin care s nu produc reexii ale semnalului. a a Pentru perioadele cnd linia nu este comandat de nici un driver potentialul liniei s a a a e stabilit de terminator e la VOH = 3, 4V , e la VOL = 0, 25V (VCC = 5V ).

Capitolul 2

CIRCUITE LOGICE COMBINATIONALE


Multitudinea functiilor logice de n variabile, 2 2 , ar atrage dupa sine, dac nu se a face o selectare, realizarea a tot attea circuite. Selectarea functiilor candidat pena tru implementare, sub form de circuit, se face functie de ecienta i frecventa a n s n aplicatii dar i dup realizabilitatea circuitului. De exemplu, dup cum s-a vazut s a a n capitolul anterior, chiar i pentru dou variabile, n = 2, din cele 16 functii posibile s a sunt implementate doar portile uzuale (AND, OR, NAND, NOR i XOR). aceast s In a abordare i pentru functiile mai complexe, de natur logic sau aritmetic, de mai s a a a putine sau de mai multe intrri, doar unele dintre ele au corespondentul zic, sub a form de circuit; i astfel de circuite sunt, de facto standard i utilizate ca i compoa s s s nente implementarea altor functii/sisteme. Prezentarea, sinteza i implementarea n s unora dintre acesta circuite constituie continutul acestui capitol de circuite numite combinationale. Dar de ce combinationale? Pentru c valoarea functiei, existent la a a ieire doar atta timp ct exist anumite valori pentru intrri, depinde exclusiv de s a a a a combinatia valorilor de intrare, altfel spus, de conguratia valorilor de intrare.
n

2.1

CIRCUITUL LOGIC COMBINATIONAL

Un sistem este caracterizat prin natura semnalelor de intrare, a celor de ieire, prin s clasele de functii intrare-ieire (transfer) i prin natura prelucrrilor ce au loc in struc s s a tura sa interna. Aceast caracterizare general a unui sistem particularizat pentru a a a un Circuit Logic Combinational, CLC, poate exprimat formal prin tripletul: a CLC = (X, Y, F ) care: n X reprezint multimea de conguratii binare aplicate pe intrare sau multimea cua vintelor de intrare X = {X0 , X1 , ..., Xk , ..., X2n1 }. Fiecare cuvant de intrare Xk este un element al multimii {0, 1}n (vezi Denitia 1.3) i este de forma: s 173 (2.1)

174

2.1. CIRCUITUL LOGIC COMBINATIONAL

Xk = xn1 xn2 ...xi ...x1 x0 , i = 0, 1, ..., (n 1); xi este valoarea binar a varia abilei (semnalului) aplicat pe intrarea a i-a a circuitului combinational, a Figura 2.1-a. Multimea cuvintelor de intrare X este complet denit dac cu a a prinde toate conguratiile binare formate cu cele n variabile de intrare, adic 2 n a conguratii; cardinalul multimii este |X| = 2 n . De exemplu, pentru un CLC cu patru intrri multimea X este complet denit dac pe intrrile x 3 , x2 , x1 , x0 nu a a a a este restrictionat aplicarea nici uneia din cele 16 combinatii posibile de intrare, a {0000, 0001, ..., 1110, 1111}. Y reprezint multimea de conguratii binare obtinute la ieire sau multimea cuvina s telor de ieire Y = {Y1 , Y2 , ..., Yl , ..., Yq }. Yl este un element al multimii {0, 1}m s i este de forma Yl = ym1 ym2 ...yj ...y0 , j = 0, 1, 2, ...(m 1); yj este valoarea s (semnalul) binar obtinut pe ieirea j a circuitului combinational. Multimea a a s cuvintelor de iesire Y este, in general, incomplet denit, deoarece la ieire nu a s se genereaza toate cuvintele binare de m biti, adic q 2 m . De exemplu, pen a tru un CLC cu n intrri i 3 ieiri, multimea Y a cuvintelor de ieire poate s a s s s a nu e complet denit deoarece cuvntul de ieire, y 2 y1 y0 , nu va lua toate cele a a s 23 combinatii posibile {000, 001, ..., 1111} atunci cnd cuvntul de intrare va a a parcurge toate cele 2n conguratii de intrare. F este functia de transfer (intrare-ieire) care, pentru un CLC cu n intrari si m s iesiri (Denitiei 1.4), denete aplicatia {0, 1} n {0, 1}m . Functia de transfer a s unui CLC cu n intrri asociaz ecrei conguratii binare de intrare X = {0, 1} n a a a un cuvnt Y din multimea conguratiilor de ieire Y {0, 1} m , adic selecteaz a s a a perechi din submultimea produsului cartezian {0, 1} n {0, 1}m . Conform celor enuntate, pentru CLC, o reprezentare sub forma de schem bloc este cea din a Figura 2.1. Circuitul Logic Combinational cu o singur ieire, m = 1, realizeaz aplicatia a s a f : {0, 1}n {0, 1}, lungimea cuvntului generat la ieire are lungimea de 1 bit a s (Figura 2.1-b). general, vom studia circuie logice combinationale cu o singur In a ieire, cele cu ieiri multiple (m = 1) pot privite ca ind compuse din m circuite cu s s o singur ieire. Numarul de curcuite combinationale distincte, de n intrari i cu o a s s n singura ieire, este egal cu numrul tuturor functiilor logice de n variabile, adic 2 2 s a a (vezi sectiunea 1.1.3). Denirea unui CLC cu n intrari si m ieiri, ca un set de perechi intrare-ieire din s s produsul cartezian {0, 1}n {0, 1}m , poate realizat printr-o functie de transfer care a are o exprimare /denitie simpl sau complex. Atributul de complex sau de simplu a a pentru un circuit decurge din modalitatea complex sau simpl prin care se descrie a a structurarea sau functionarea sa. Exemplul 2.1 Pentru urmtoarele trei seturi de perechi intrare-ieire s se exprime a s a
functiile de transfer CLC1 = CLC2 = CLC3 = {(00, 0), (01, 1), (10, 1), (11, 0)} {(000, 0), (001, 1), (010, 1), (011, 0), (100, 1), (101, 0), (110, 0), (111, 1)} {(00, 010), (01, 110), (10, 010), (11, 001)}

Solutie. Primul circuit CLC1 , cu 2 intrri, n = 2, i o ieire, m = 1, realizeaz functia a s s a SAU EXCLUSIV de dou variabile y = x1 x0 . a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

175

Al doilea circuit CLC2 , cu trei intrri, n = 3, i o ieire, m = 1, realizeaz functia SAU a s s a EXCLUSIV de trei variabile y = x2 x1 x0 . Al treilea circuit CLC3 , cu dou intrri, n = 2, i trei ieiri, m = 3 (y2 , y1 , y0 ), nu admite o a a s s exprimare simpl, printr-o functie logic elementar, ca cele dou anterioare. Pentru aceasta a a a a putem s avem urmtoarea exprimare: a a y2 = 1 numai daca (x1 = 0) SI (x0 = 1) y1 = 1 numai daca (x1 = 0) SAU (x0 = 0) y0 = 1 numai daca (x1 = 1) SI (x0 = 1) Din acest exemplu putem spune c CLC1 este un circuit simplu deoarece denirea sa a a necesitat o descriere simpl (functia sum modulo 2, x1 x0 ). CLC2 cu toate c are trei a a a intrri poate exprimat, la fel, printr-o denitie compact: suma modulo 2 de trei variabile, a a care rezult prin recurenta din sum modulo 2 de dou variabile x2 (x1 x0 ). Se poate a a a concluziona c un CLC, chiar cu un numr mare de intrri, rmne tot un circuit simplu a a a a a dac poare exprimat, pornind de la un circuit simplu, extins prin recurenta pentru un n a mare ceea ce cazul analizat ar xn (xn1 (... (x2 (x1 x0 ))...)). Cel de-al treile n circuit, CLC3 , la care denitia nu a putut compactat nu mai este un circuit simplu ci un a circuit complex.

xn1 xn2 X xi x1 x0
a) x n1 x n2 0 0 0 0 0 0

CIRCUIT LOGIC
COMBINATIONAL (CLC)

ym1 ym2 yj y1 y0
b)

xn1 xn2 Y X xi x1 x0

CIRCUIT LOGIC
COMBINATIONAL (CLC)

cu iesiri multiple

cu o singura iesire

Nr 0 1 2

Intrari xi 0 0 0

x0 0 0 1

x1 0 1 0

y0 d00 d01 d02

y1 d10 d11 d12

yj dj0 dj1 dj2

Iesiri

ym1 d(m1)0 d(m1)1 d(m1)2

y 22n1

2n2 2n1 c)

1 1

1 1

1 1

1 1

0 1

d 02n2 d 12n2 d 02n1 d 12n1

d j2n2 d j2n1 m functii

d (m1)(2n2) d (m1)(2n1)

Figura 2.1 Simbol de reprezentare pentru CLC cu n intrri: a) cu ieiri a s multiple; b) cu o singur ieire; c) tabel de adevr pentru un CLC cu ieiri multiple a s a s (m). Denitia 2.1 Complexitatea unui circuit cu n intrri, notat cu C(n), a a

176

2.2. REPREZENTAREA CLC

este o mrime asociat dimensiunii denitiei/descrierii acelui circuit. a a Limitarea asimptotic a creterii unei functii f , de ctre o alta functie g, poate a s a exprimat prin notatia O (citit de ordinul) in felul urmtor: f (n) O(g(n)) a a a [Greenlaw 98]. Denitia 2.2 Functia f este de ordinul lui g, notat f (n) O(g(n)), dac i as numai dac exist o constant c > 0 i un n0 N astfel inct f (n) c g(n) pentru a a a s a toate valorile lui n n0 .

De exemplu, pentru functia polinomial f = 5 n 4 + 17 n 10, cnd n devine a a foarte mare, este limitat superior de c n4 deci, se poate spune ca f este de ordinul a O(n4 ), adic (5 n4 + 17 n 10) O(n4 ). Aplicnd notatia de limitare superioar a a a pentru functia complexitate C(n), a unui CLC cu n intrri, se poate spune c circuitul a a este simplu cnd C(n) O(1), adic dimensiunea denitiei pentru n de valoare mare a a este limitat de o constant O(1). schimb, nu se mai poate arma la fel cnd a a In a C(n) O(n), dac n este de ordinul 106 cnd circuitul este greu, dac nu imposibil, a a a de exprimat, deci circuitul este complex. Evident, pentru implementri, se vor selecta a circuite simple i nu circuite complexe care implic efort si costuri foarte ridicate sau s a chiar depesc posibilitatile tehnologice. as Observatie important! relatia 2.1 de denire a circuitului logic combinati a In onal nu este implicat timpul; aceasta nseamna c la un CLC transferul conguratiei a de intrare X obtinerea celei de ieire Y se face instantaneu. Acest transfer poate n s doar teoretic instatntaneu, pe cnd la un sistem real timpul de transfer este egal cu a timpul de propagare intrare-ieire prin lantul de porti ce compun CLC. Neincluderea s timpului nu are nici o consecinta in regim static, formalismul algebrei Booleene poate determina corect semnalul de ieire functie de semnalele de intrare. Dar, uneori, s n n intervalele tranzitorii, cnd conguratia de intrare se modic, formalismul booleean a a aplicat pe lantul portilor de la intrare spre ieire va calcula valori de ieire care difer s s a de cele reale obtinute la ieire; valorile de ieire reale nu mai corespund regimului s s (static) de aplicare a axiomei de existenta a complementului x x = 0 i x + x = 1 ci s ar corespunde situatiei anormale de x x = 1 i x + x = 0! Aceste situatii, care pot s aprea pe durata regimurilor tranzitorii, sunt referite cu termenul de hazard static i a s vor studiate in sectiunea 2.3.1. Neincluderea variabilei timp poate considerat a ca o lacun a formalismului booleean; exst a a ncercari de a elabora un formalism logic care s includ i variabila timp. a as Al doilea aspect care trebuie notat in relatia 2.1 este faptul c nu exist o reactie, a a adic transferul este unidirectional, de la intrare spre ieire, mrimile de ieire nu a s a s modic in nici un fel intrarea sistem. Clasa de circuite secventiale, capitolul 3, va a n include i aceste dou aspecte adic: timpul i existenta reactiei. s a a s

2.2

REPREZENTAREA CIRCUITELOR LOGICE COMBINATIONALE

Reprezentarea/descrierea unui CLC este un instrument absolut necesar pentru procesele de: proiectare (sintez), de testare i de documentare. Modalitatea de dea s scriere, prin complexitatea pe care o implic, trebuie aleas adecvat pentru realizarea a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

177

ecient a acestor procese. Se pot distinge urmtoarele modalitati de reprezentare: a a tabelul de adevr, functia analitic, diagrama de decizie binar, exprimare prin limbaj a a a natural.

2.2.1

Tabelul de adevr a

Notiunea de tabel de adevr a fost introdus in sectiunea 1.14 prin Denitia 1.12 a a iar exemple de tabele de adevr au fost expuse in Figura 1.1 si 1.2 i Tabelele 1.3 i a s s 1.6. continuare se vor prezenta aspecte practice realizarea i utilizarea tabelelor In n s de adevr. general, procesul de sintez al uni CLC se pornete de la realizarea a In n a s tabelului de adevr pe baza cerintelor de functionare impuse sistemului respectiv. a Astfel, se consider toate conguratiile valorilor variabilelor de intrare ( numr de a n a 2n ), care vor constitui liniile de intrare ale tabelului. Apoi, pentru ecare conguratie de intrare, i (i = 0, 1, ..., (2n1 )), se va nscrie coloana de ieire yj a tabelului n s valoarea corespunztoare a functiei, adic valoarea coecientului functiei d ji , Figura a a 2.1-c. Cocientul dji este egal cu valoarea functiei yj , j = 0, 1, ..., (m 1), pentru conguratia a i-a a variabilelor de intrare. Tabelul de adevr din gur corespunde a a unui CLC cu n intrri i m ieiri. a s s Multimea cuvintelor de ieire Y s-a specicat anterior, general, este o multime s n incomplet deoarece numrul de cuvinte distincte de m biti obtinut la ieire (un cuvnt a a s a ind format din bitii de pe cele m coloane ale ieirii care corespund la o conguratie s de intrare) este mai mic dect numrul total de cuvinte formate cu m biti, adic 2 m . a a a Fiecare coloan din tabelul de adevr contine un numr de 2 n valori binare, ceea ce a a a n nseamn c ar putea un numr de 22 coloane cu valori distincte, deci un numr a a a a n de 22 functii de n variabile. Succesiunea conguratiilor de valori binare aplicate pe intrarea unui CLC se con sider c sunt exprimate cod binar natural, adic chiar numrarea sistemul de a a n a a n numeratie in baza doi. Fiecare bit din cuvntul de cod binar natural are ponderea 2 i a unde i este pozitia bitului cuvntul binar, ponderile cresc de la dreapta spre stnga, n a a prima pozitie din dreapta are ponderea zero (2 0 ) (6|10 = 110|2 ; 6 = 122 +121 +020 ). Codul binar natural este un cod aritmetic (adic, poate utilizat in operatiile arita metice). Denitia 2.3 Distanta Humming ntre dou cuvinte de cod, de aceeai a s lungime, este dat de numarul bitilor diferiti care apar a ntre aceleai pozitii ale celor s dou cuvinte de cod. a Uneori succesiunea conguratiilor de valori binare ale variabilelor de intrare sunt considerate in cod Gray. Codul Gray are proprietatea de adiacenta, adic distanta a Humming (distanta de cod) intre oricare dou cuvinte consecutive este egal cu 1. a a La trecerea de la un cuvnt la urmtorul, e in sens cresctor, e sens descresctor, a a a n a se modic cuvntul de cod doar un singur bit (000,001,011,010,110,111,101,100). a n a Acest cod nu este aritmetic! Datorit proprietii de adiacenta codicarea Gray este a at util notarea la diagramele Veitch-Karnaugh i implementarea circuitelor care a n s n impun ca functionare, la trecerea dintre dou cuvinte (stri) consecutive, s se n a a a produc cu o singur comutare. a a Conversia din cod binar natural cod Gray se realizeaz felul urmtor, Figura n a n a 2.2-a:

178

2.2. REPREZENTAREA CLC

1. cel mai semnicativ bit al cuvntului de cod Gray este identic cu cel mai sema nicativ bit din cuvntul de cod binar natural; a 2. parcurgnd cuvntul de cod binar natural, de la stnga la dreapta, prin sumarea a a a ecrei perechi de biti adiacenti se obtine bitul urmtor ( sensul de la stnga a a n a la dreapta) din cuvntul de cod Gray (bitul de transfer rezultat urma sumrii a n a se neglijeaz). a
Binar 1 Natural

1 + 0 +

0 + 1

0 + 0

0 + 0

1 + 1

1 + 0

0 Gray 1 1 Natural 1 b)
Binar

0 1

1 0

0 0

0 0

1 1

0 1

1 0

Gray a)

Figura 2.2 Modalitatea grac de descriere a conversiei: a) din cod binar a natural cod Gray ; b) din cod Gray cod binar natural. n n Conversia din cod Gray in cod binar natural se realizeaz in felul urmtor, Figura a a 2.2-b: 1. cel mai semncatv bit din cuvntul de cod binar natural este identic cu cel din a cuvntul Gray; a 2. parcurgnd cuvntul in cod Gray, de la stnga la dreapta, se obtine bitul a a a cuvntului binar natural de indice i (bitul cel mai putin semnicativ avnd a a indicele i = 0) prin sumarea bitului (i + 1) din cuvntul binar natural cu bitul a de indice i din cuvntul Gray (bitul de transfer rezultat urma sumrii se a n a neglijeaz). a Foarte utilizate sunt codicrile zecimal binare, BCD (Binary Coded Decimal), a pentru cifrele zecimale (0,1,2...,8,9). Deoarece sunt 10 cifre zecimale de codicat cuvntul binar de cod trebuie sa aib o lungime de patru biti, deci din cele 16 cuvinte a a binare de patru biti sunt alese doar 10,iar 6 dintre aceste nu sunt utilizate. Se pune ntrebarea cte posibilitati distincte de codicare (coduri zecimal-binare), BCD, se a pot realiza? Numrul grupelor diferite de cte 10 cuvinte de 4 biti, din totalul de 16 a a cuvinte de 4 biti, care se pot forma se calculeaz cu formula combinarilor C 16 10 = a 16! 10!(1610)! . Apoi, vor 10! modalitati prin care cele 10 cifre zecimale sunt asignate grupelor de cte 10 cuvinte de 4 biti, deci total numarul de coduri zecimal codicat a n 10 binar este C16 10! = 29.059.430.400. Evident, din acest numar mare de coduri BCD, se utilizeaz foarte putine i a s ecare dintre acestea are un nume. Varianta de cod prin care cifrelor zecimale (0,1,2,3,4,5,6,7,8,9) li se asigneaz cuvintele binare chiar ordinea corespunztoare a n a de la numrarea in binar natural (0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, a 1000, 1001) este denumit uzual BCD (incorect! cnd de fapt toate variantele de a a codicare zecimal-binar sunt coduri BCD). Corect, eventual, ar trebui s e denua mirea acestui cod NBCD (Natural Binary Coded Decimal), dar deoarece abreviatia de BCD a intrat exprimarea uzual, cu regret o vom accepta continuare. De n a n

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

179

asemenea, chiar cnd se refer la primele zece cuvinte din binar natural se face uneori a a confuzia spunnd coduri BCD (datorit identitii cuvintelor). a a at Un alt cod, zecimal codicat binar, este cel denumit EXCESS3 care se obtine din cuvintele de cod BCD la care se adauga cifra 3 exprimat in binar natural, adic a a 0011; de exemplu, pentru cifra zecimal 2 codul binar obtint este 0010 + 0011 = 0101, a iar pentru cifra 5 codul este 0101 + 0011 = 1000. Avantajele utilizrii reprezentarii EXCESS3 sunt: a n ntr-o locatie de memorie se poate face distinctia dac in acea locatie nu s-a a nscris nimic (ceea ce corespunde strii utilizate 0000), sau s-a inscris cifra 0 a (adica 0000 + 0011 = 0011) complementul unei cifre zecimale fata de 9 se obtine in EXCESS3 prin com plementarea bit cu bit a cuvntului de cod ceea ce duce la o simplitate in a implementare. De exemplu, complementul lui 7 (0111 + 0011 = 1010) fata de 9 este 2 (0101) care se obtine prin complementarea lui 1010 (=7) fata de, 1 adic a 0101. Cu aceste notiuni sumare despre codurile zecimal-codicat-binar putem sa con struim tabelele de adevr pentru 2 circuite combinationale: un convertor de cod BCD a - Gray i un convertor de cod BCD - EXCESS3. Fiecare dintre aceste convertoare este s un CLC cu 4 intrri A, B, C, D i cu 4 ieiri: E3 , E2 , E1 , E0 pentru convertorul BCD a s s - EXCESS3, Figura 2.3-b i G3 , G2 , G1 , G0 pentru convertorul BCD - Gray, Figura s 2.3-c. Tabelele de adevr pentru aceste dou converotaare, Figura 2.3-a, au pe intrri nua a a mai primele 10 combinatii din NBCD, restul de 6 combinatii (1010, 1011, 1100, 1101, 1110, 1111) nu se aplic niciodat deoarece nu apartin codului BCD. In coloanele celor a a 6 functii (E3 , E2 , E1 , E0 i G3 , G2 , G1 , G0 ) se s nscriu valorile coecientilor obtinuti conform regulilor de conversie ale celor dou circuite codicatoare. Pentru cele 6 a conguratii de intrare excluse se consider valorile coecientilor functiilor (ieirile) ca a s ind indiferente (notate prin ), adic se poate asigna e valoarea 0 e valoarea 1 a deoarece oricum conguratiile respective nu apar niciodat pe intrare. a Valori indiferente pentru coecientii unei functii pot trecute in tabelul de adevr a dou situatii: e cnd anumite conguratii de valori ale variabilelor de intrare nu se n a a aplic niciodat la intrarile CLC, e cnd se aplic conguratii pe intrri dar utilizarea a a a a a ieirilor corespunztoare nu este semnicativ pentru ansamblul din care face parte s a a circuitul. Cnd numrul de variabile de intrare ale unui CLC crete peste 4, tabelul de adevr a a s a se manipuleaza destul de greu din cauza numrului liniilor componente din tabel care a crete exponential cu numarul variabilelor. Dar, exist o modalitate prin care se poate s a micora numrul liniilor dintr-un tabel, astfel aducndu-l la un instrument mai uor s a a s de manipulat. Pentru circuitul CLC cu tabelul de adevr din Figura 2.4-a, conform a relatiei 1.12, se poate scrie forma normal disjunctiv a functiei f (sintez pe baz a a a a de 1) f = AB CD + ABC D + ABCD + AB C D + ABC D + ABC D (2.2) a Pentru combinatia de intrare AB C D cnd functia nu este denit s-a considerat a pentru coecientul functiei valoarea 1, deci acest termen canonic a fost introdus in relatia 2.2.

180 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 linii 0 1 0 1 0 1 E 3 E2 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 nedenite

2.2. REPREZENTAREA CLC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

E 1 E 0 G3 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 ale functiilor

G2 0 0 0 0 1 1 1 1 1 1

G1 0 0 1 1 1 1 0 0 0 0

G0 0 1 1 0 0 1 1 0 0 1

a) A B C D b) CONVERTOR
BCDEXCESS3

E3 E2 E1 E0

A B C D c)

CONVERTOR
BCDGRAY

G3 G2 G1 G0

Figura 2.3 Conversia BCDGray i BCDEXCESS3: a) tabelele de adevr; s a b,c) reprezentarea sub form de schem bloc a convertoarelor. a a Coloana de intrare a variabilei D poate eliminat din tabelul de adevr prin a a introducerea acestei variabile in expresiile coecientilor functiilor. Astfel se exprim a acesti coecienti prin intermediul variabilei D. Aceast modalitate este referit ca a a exprimare prin coecientii cu variabile reziduu. In acest caz, D este vari abila reziduu. Valorile coecientilor cu variabila D reziduu se pot determina prin urmtorul rationament efectuat pe coloanele D si f din tabelul de adevr a a la conguratia ABC = 000 pentru D, e 1, e 0, coecientii functiei au valoarea 0, functia este independent de D, deci f = 0. a la conguratia ABC = 001 pentru D, e 1, e 0, coecientii functiei au valoarea 0, functia este independent de D, deci f = 0. a la conguratia ABC = 101 pentru D = 0 i D = 1, coecientii functiei au s valoarile respectiv 0 si 1, deci f = D.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

181 A 0 B 0 f 0

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 a)

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

f 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0

A 0 0 0 = 0 1 1 1 1 b)

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

f 0 0 D

0 1 D 1 D 0 1 D c) =

C+D

CD

Figura 2.4 Pentru tabelul de adevr cu 16 conguratii de intrare (a), prin a introducerea variabilei reziduu D, se obtine un tabel cu 8 linii (b) i prin s introducerea variabilelor reziduu C,D se obtine un tabel cu 4 linii (c). la conguratia ABC = 011 pentru D, e 1, e 0, coecientii functiei au valoarea 1, functia este independent de D, deci f = 1. a la conguratia ABC = 100, pentru D = 0 i D = 1, coecientii functiei au s valorile respectiv 1 i 0, deci f = D (s-a considerat valoarea 1 pentru semnul de s indiferent). la conguratia ABC = 101, pentru D = 0 i D = 1, coecientii functiei au s valorile respectiv 1 i 0, deci f = D. s la conguratia ABC = 110 pentru D e 0, e 1, coeceintiii functiei au valoarea 0, functia este independent de D, deci f =0. a la conguratia ABC = 111, pentru D = 0 i D = 1, coecientii functiei au s valorile respectiv 1 i 0, deci f = D. s Tabelul de adevr obtinut doar cu 3 variabile A, B, C, cu variabila D reziduu a introdus in coecientii functiei, este reprezentat Figura 2.4-b. Expresia normal a n disjunctiv a functiei este: a f = (D) AB C + (1) ABC + (D) AB C + (D) ABC + (D) ABC care devine identic cu cea din relatia 2.2 dac al doilea termen produs ABC 1 se exa a = ABCD+ ABC D. Coecientii reziduu (care contin varaibila pandeaz ABC(D+ D) a reziduu), pentru evidentiere, sunt ncadrati parantez exprimarea functiei. n a n

182

2.2. REPREZENTAREA CLC

Se poate continua procesul de reducere a numrului de linii de la 8 la 4 prin a efectuarea unui rationament similar, cu cel pentru reducerea de la 16 la 8 linii, asupra coloanei variabilei C i a coloanei coecientilor functiei obtinndu-se tabelul de adevr s a a din Figura 2.4-c. De data aceasta, coecientii functiei sunt exprimati functie de 2 n variabile reziduu C i D. s Expresia disjunctiv a functiei este: a f = (C + D) AB + (D) AB +(C D) AB Dac aceasta expresie se introduc termenii produs de 3 variabile i variabila a n n s care lipsete, prin relatiile 1 = C + C, 1 = D + D se obtine forma din relatia 2.2. s Exemplul 2.2 S se descrie sub form de tabel de adevr functionarea unui CLC a a a care pentru oricare cuvnt de 4 biti aplicat pe intrare genereaz la ieire numrul binar care a a s a exprim numrul de biti 1 prezenti cuvntul de intrare (numrul de biti 1 va exprimat a a n a a in binar natural).
IN T RARI IESIRI

x3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

x2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

x1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

x0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

y2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

y1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0

y0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0

Figura 2.5 Tabelul de adevr pentru exemplul 2.2 a


Solutie. Cuvintele aplicate pe intrare sunt toate cele 16 conguratii de 4 biti iar cuvintele de ieire pot doar numerele 0, 1, 2, 3 i 4 exprimate binar natural, deci circuitul trebuie s s n s aib 4 intrri i 3 ieiri. Tabelul de adevr este dat in Figura 2.5. a a a s s a

2.2.2

Reprezentarea analitic a

Reprezentarea analitic, sub forma unei functii logice (Denitiile 1.8 i 1.9) este forma a s de descriere cea mai potrivit pentru un CLC, mai ales dac aceast form se reduce a a a a la o expresie compact att pentru cazul cnd numrul de intrai n are valori mici a a a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

183

ct i cnd are valori foarte mari. Expresia functiei ramne compact pentru un a s a a a CLC chiar i pentru n de valoare ridicat, dac poate exista o exprimarea recurent s a a a a functiei; ceea ce se reect implementare printr-o structurare iterativ, adic o a n a a replicabilitate a unei structuri elementare (celul). a Pentru CLC care nu realizeaz functii uzuale, cu exprimri cunoscute, exprea a sia functiei logice se obtine din tabelul de adevr ai sub forma canonic nor a nt a mal disjunctiv/conjunctiv, relatiile 1.10, 1.11, sau sub forma normal disjunca a a a tiv/conjunctiv, relatile 1.12 i 1.13 (sintez pe baz de 1-uri respectiv pe baz de a a s a a a 0-uri) i apoi prin reduceri succesive se poate obtine o form redus, care nu totdeauna s a a este forma minim. a Frecvent, forma canonic normal disjunctiv este transpus intr-o exprimare rea a a a cursiv ceea ce poate duce ca un CLC cu numr mare de intrri s poat structurat a a a a a repetitiv cu un acelai tip de circuit dar care are un numr de intrri mult mai mic. s a a Modalitatea de exprimare recursiv va prezentat in continuare. a a Formele canonice normal disjunctive pentru functiile de una, dou i trei variabile as sunt: fi 1 fi 2 = d i0 x 0 + d i1 x 0 ; i = 0, 1, 2, 3. (2.3)

= d i0 x 1 x 0 + d i1 x 1 x 0 + d i2 x 1 x 0 + d i3 x 1 x 0 = = (di0 x0 + di1 x0 )1 + (di2 x0 + di3 x0 )x1 = x = fi 1 x1 + fi 1 x1 ; i = 0, 1..., 15

fi 3 = = =

d i0 x 2 x 1 x 0 + d i1 x 2 x 1 x 0 + d i2 x 2 x 1 x 0 + d i3 x 2 x 1 x 0 + +di4 x2 x1 x0 + di5 x2 x1 x0 + di6 x2 x1 x0 + di7 x2 x1 x0 = x (di0 x1 x0 + di1 x1 x0 + di2 x1 x0 + di3 x1 x0 )2 + (di4 x1 x0 + +di5 x1 x0 + di6 x1 x0 + di7 x1 x0 )x2 = fi 2 x2 + fi 2 x2 ; i = 0, 1, 2..., 255.

(2.4)

iar pentru n variabile se obtine: fi n = fi n1 xn1 + fi (n1) xn1 , unde i [0, 22 )


n

(2.5)

Se observ c o functie de n variabile, fi n , se exprim ca o functie de o singur a a a a variabil xn1 ai crei coecienti sunt 2 functii reziduu f i n1 , fi (n1) de celelalte a a n 1 variabile (xn2 , xn3 , ..., x2 , x1 , x0 ). La fel, functia de n 1 variabile fi n1 se exprim ca o functie de o singur variabil x n2 ai crei coecienti sunt 2 functii a a a a reziduu de celelalte n 2 variabile .a.m.d. pna la functia de o singur variabil f i 1 , s a a a care este o sum de dou produse. Toate functiile, indiferent de numrul variabilelor, a a a pot exprimate ca o functie de o singur variabil, celelelte variabile sunt introduse a a cei doi coecienti ca functii reziduu. Structura de circuit (modulul) care moden leaz ecare functie fi k , k = 1, 2..., n este reprezentat Figura 2.6-a. Pornind de la a a n functia fi n , modelat cu acest modul, la care se introduce succesiv, pentru functiile a reziduu, acelai tip de modul pna la functia de o singur variabil se obtine un circuit s a a a cu structur de arbore binar, numrul nivelurilor de module este egal cu n. Intrrile a a a n primul nivel, pe portile AND, sunt perechi formate din variabilele x 0 , x0 i coecientii s functiei dij care genereaz produsele: di0 x0 , di1 x0 , di2 x0 , di3 x0 , ..., di2n 2 x0 , di2n 1 x0 . a Coecientii dij j = 0, 1..., (2n 1) sunt valorile din tabelul de adevr al functiei f i n . a Deoarece modulele din primul nivel calculeaz expresii banale de forma d ij x0 + a

184

2.2. REPREZENTAREA CLC

di(j+1) x0 , care pot avea numai valorile: 0, x0 , x0 , 1, aceste module pot eliminate i s nlocuite cu una din aceste valori, care nu trebuie calculate, deoarece exist sisa n tem. Aceast analiz poate continuat i la nivelurile urmtoare de module pna a a as a a la nivelul n, iar modulele care calculeaz expresii banale sunt a nlocuite. general, In prin eliminrile de module, se obtine un circuit de dimensiune mult mai mic dect a a a arborele binar initial.

fk1 _i xk f(k1)* i xk a)

fk i

fk1 _i xk f(k1)* i xk b)

fk i

Figura 2.6 Modulul pentru implementarea recurent a unei functii: a) cu a structur AND-OR; b) structur NAND - NAND a a ,, O astfel de structur arborescent este o platform pentru implementarea oria a a ,, 2n crei functii de n variabile din cele 2 functii posibile. Particularizarea platformei a pentru implementarea unei anumite functii f i n se realizeaz prin aplicarea pe ecare a poart AND, din primul nivel, a cte unei valori a coecientilor d ij ordinea care a a n n acetia sunt tabelul de adevr al functiei respective. s n a Structurarea arborelui, pentru implementarea recurent a functiei, sub form de a a cascad AND - OR - AND - OR - ... este adecvat pentru o conversie numai cu porti a a n a a a NAND (di0 x + di1 x = di0 x di1 x), ca Figura 2.6-b. Prin faptul c ceast structur poate realizat cu acelai tip de poart cu dou intrri este recomandat pentru a s a a a a implementrile pe arii de porti logice (sectiunea 4.3). a Exemplul 2.3 Pentru celula sumator complet cu tabelul de adevar 1.6 s se modeleze a functia sum si pe un circuit cu structur de arbore. a a
Solutie. Pe portile AND din primul nivel, Figura 2.7, se aplic prima variabil C i1 , al a a s a n ternnd negata Ci1 i nenegata Ci1 , iar coecientii functiei si se aplica pe intrri ordinea a care sunt tabelul 1.6. Toate aceste poti AND calculeaz valori banale, 0,Ci1 , Ci1 n n a care exist sistem, deci portile AND din primul nivel pot eliminate, la fel i portile a n s OR pot eliminate, rezult c primul nivel poate lipsi. Pe nivelul 2 de module se aplic a a a ieirile de la primul nivel i alternativ variabila Bi i Bi ; pe acest nivel nu se mai pot elims s s ina porti. Pe nivelul 3 se aplic expresiile calculate pe nivelul 2 i alternnd variabilele A i a s a a a a i Ai . Rezult o modelare numai pe dou niveluri de module. Analiznd expresiile calcus late dup ecare nivel rezult pentru celula sumator complet expresia cunoscut a sum a a a a si = Ai Bi Ci1 . Aceast structur arborescent poate implementa oricare functie de 3 a a a variabile, particularizarea pentru o anumit functie se face prin modicarea coecientilor pe a intrrile din primul nivel (care se citete din tabelul de adevr al functiei). a s a

De asemenea, forma canonic normal disjunctiv a functiei de n variabile poate a a a transcris a ntr-o reprezentare de functie numai de 2 variabile x 1 , x0 , restul de n 2 variabile se introduc coecienti sub forma unor functii reziduu. Astfel, pentru n

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

185

Ci1 Ci1 Ci1 Ci1 Ci1 Ci1 Ci1 Ci1

0 1 1 0 1 0 0 1

0 Ci1 Ci1 0 Ci1 0 0 Ci1 Ci1

Ci1 Bi Ci1 Bi Ci1 Bi Ci1 Bi Bi Ai Ci1+Bi Ai Ci1+Bi Ai Ai +Bi +Ci1

Figura 2.7 Implementarea functiei suma si , i a unei celule sumator com s plet, pe o structur arborescent. a a functia fi 3 , relatia 2.4, se obtine urmtoarea form: a a fi 3 x x = (di0 x2 + di4 x2 )1 x0 + (di1 x2 + di5 x2 )1 x0 + +(di2 x2 + di6 x2 )x1 x0 + (di3 x2 + di7 x2 )x1 x0 (2.6)

iar pentru o functie fi n rezult: a fi n = fk n2 x1 x0 + fl n2 x1 x0 + fp n2 x1 x0 + fq n2 x1 x0 n2 2n iar i [0, 2 ) i k, l, p, q [0, 22 ) s

Pentru un CLC cu 4 intrri A, B, C, D, avnd tabelul de adevr din Figura 2.4-a, a a a se poate obtine o exprimare ca o functie de numai 3 variabile A, B, C cu variabila D introdus coecientii functiei, Figura 2.4-b, sau ca o functie numai cu dou a n a variabile A, B, celelalte dou variabile, C, D sunt introduse ca variabile reziduu a n coecientii functiei, Figura 2.4-c. cazul general, oricare functie fi n poate exprimat ca o functie numai de In a j variabile xj1 , xj2 , ..., x1 , x0 , restul variabilelor xn1 , xn2 , ..., xn1j (variabile reziduu) ind incluse in coecientii functiei. fi n = fk nj xj1 xj2 ...x1 x0 + ... + fq nj xj1 xj2 ...1 x0 x 2n 2(nj) iar i [0, 2 ), k, ..., q [0, 2 ) (2.7)

concluzie, o functie fi n poate exprimat ca o functie de n, n1, n2, ..., 3, 2, 1 In a variabile dac respectiv un numr de 0, 1, 2, ..., n3, n2, n1 variabile sunt introduse a a ca variabile reziduu expresiile coecientilor. n

186

2.2. REPREZENTAREA CLC

Exprimarea functiilor cu variabile reziduu poate determina implementri mai sim a ple. Intuitiv, dar nu totdeauna, o functie cu mai putine variabile necesit o imple a mentare mai putin costisitoare. Acceptnd aceast armatie, se aduce functia la un a a numr ct mai mic de variabile i implementarea va mai ieftin dac i coecientii a a s a as de variabile reziduu se reduc la valori banale sau se calculeaz cu circuite simple. a

2.2.3

Diagrama Veitch - Karnaugh

Diagrama Veitch - Karnaugh (V-K) este o alt modalitate de a descrie un CLC. a Diagrama Veitch - Karnaugh, ca modalitate grac de descriere, nu este prea uzual a a dar, schimb, utilzarea diagramei V-K pentru minimizarea unui CLC, pornind de n la tabelul de adevr sau de la functia logic, este un instrument de lucru uzual a a n proiectare sau analiz. Acest instrument grac pentru un CLC cu n intrri i o a a s singur ieire, este o diagram dreptunghiular sau ptrat care contine 2 n csute a s a a a a a elementare pe care sunt mapate, e cele 2n valori ale coecientilor functiei din tabelul de adevr, e cei 2n temeni canonici Pi sau Si ai functiei (relatiile 1.10 i 1.11). Modul a s ,, cum se scrie coordonata unei csute elementare determin cele 2 variante: diagrama a a Veitch i diagrama Karnaugh. s Intr-o nuanta de tratare didactic, ecare din cele 2 diagrame sunt prezentate sep a arat, att pentru exprimarea functiei sub forma canonic normal disjunctiv (tera a a a menii produs P ), ct i pentru forma canonic normal conjunctiv (termeni suma a s a a a S), pentru n = 2, 3, 4, 6, Figura 2.7. varianta Veitch, coordonata unei csute elementare este exprimat prin variIn a a abilele functiei i aceste variabile sunt notate pe marginile diagramei, iar in acea s csuta se introduce valoarea lui Pi sau Si (indicele i este numrul zecimal a crui a a a reprezentare binar natural rezult din codul format de variabilele coordonate ale n a casutei). varianta Karnaugh, coordonata unei csute elementare este exprimat In a a prin valorile variabilelor (conform codicrii mintermilor sau maxtermilor, 1.1.4) i a s aceste valori ale variabilelor sunt notate pe marginile diagramei; acea csuta se n a introduce coecientul di din tabelul de adevr corespunztor pentru conguratia vala a orilor de intrare (care constituie coordonatele csutei). Ambele variante reprezint a a acelai CLC, la varianta Veitch se ajunge mai uor pornind de la forma canonic a s s a functiei iar la varianta Karnaugh se ajunge mai uor de la tabelul de adevr. De s a fapt, practic, notatiile de la varianta Veitch i de la varianta Karnaugh se mixn a s eaz rezultnd diagrama referit ca Veitch - Karnaugh, la care este redundanta de a a a informatie, adic sunt prezente att variabilele ct i valorile variabilelor. a a a s gurile 2.8-a i 2.8-b pentru n = 2, n = 3 sunt reprezentate separat diagramele In s Veitch i Karnaugh i pentru ecare dintre ele s-a gurat att forma canonic normal s s a a a disjunctiv (P ), ct i forma canonic normal conjunctiv (S). Dar, in Figura 2.8-c, a a s a a a pentru n = 4, la cele 2 diagrame notarea (variabilele i valorile) este intermixat att s a a pentru forma canonic normal disjunctiv ct i pentru forma canonic normal cona a a a s a a junctiv (adic, pe marginile diagramelor sunt notate att variabilele, ct i valorile a a a a s acestor variabile). Diagramele pentru n = 5 se obtin prin alturarea de dou diagrame a a de n = 4 iar pentru n = 6 din alturarea a patru diagrame de n = 4 sau dou diaa a grame de n = 5. Dar pentru a pstra adiacenta la alaturare a dou diagrame de n = 4 a a trebuie pstrat numrarea in cod Gray adic, 000, 001, 011, 010, 110, 111, 101, 100. a a a a oricare din diagrame, pentru cele 2n csute elementare, ecare variabil intr In a a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

187

n=2 VEITCH P P0 X1 S S0 X1 a) X 1X 0 X 3X 2 00 00 P 0 (VK) X3 c) 01 P 4 P 01 P1 P5 11 P3 P7 S2 P2 X0 P1 P3 X0 S1 S3 KARNAUGH X0 0 1 X1 0 d0 d1 1 d2 X0 0 X1 d0 0 1 d2 d3 1 d1 d3 X2 b) n=4 X1 01 P2 P6 P 14 P 10 X 3X 2 X 1X 0 00 00 S0 01 X3 S4 S0 S4 S1 S5 S3 S7 X1 X2 VEITCH X0 P0 P4 P1 P5 P3 P7 X1 P2 P6 X0 S2 S6

n=3 X 1X 0 X 2 00 0 d0 1 d4 X 1X 0 00 X2 0 d0 1 d4 KARNAUGH 01 d1 d5 01 d1 d5 11 d3 d7 11 d3 d7 01 d2 d6 01 d2 d6

S 01 S1 S5 S13 S9 X2 11 S3 S7 S15 S11 X0

X1 01 S2 S6 S14 S10 X2

11 P 12 P 13 P 15 01 P 8 P9 P 11 X0

X2

11 S12 01 S8

n=6

X1 X1 X 2X 1X 0 X 5X 4X 3 000 001 011 010 110 111 101 100 000 P 0 001 P 8 X4 P1 P9 P3 P 11 P 27 P 19 P 51 P 59 P 43 P 35 X0 P2 P6 P7 P5 P 13 P 29 P4 P 12 P 28 X3

P 10 P 14 P 15 P 26 P 30 P 31 P 18 P 22

011 P 24 P 25 010 P 16 P 17 110 P 48 P 49 111 P 56 P 57 101 P 40 P 41 100 P 32 P 33

P 23 P 21 P 20 P 53 P 52 P 61 P 45 P 60 P 44 X3

X4 X5

P 50 P 54 P 55 P 58 P 62 P 63 P 42 P 46 P 47 P 34 P 38 P 39

P 37 P 36 X0

d)

Figura 2.8 Diagramele Veitch i Karnaugh: a,b) forma P i forma S pentru s s n = 2 i n = 3; c) diagrama V-K forma S i P pentru n = 4; d) diagrama V-K forma s s P pentru n = 6.

188

2.2. REPREZENTAREA CLC

negat coordonatele a 2n /2 csute i nenegat restul de 2n /2 csute. Trecerea a n a s a n a de la o diagram pentru forma P la o diagram pentru forma S se realizeaz prin a a a substituirea coordonate a variabilei nenegat cu variabila negat, x x, iar a n a a s n a celor negate cu nenegate x x i interiorul csutei se substituie termenii P i Si . Trecerea de la forma S la cea P este, la fel, o negare a variabilelor coordonate ale casutelor iar csute se substituie termenii S i Pi . n a ecare diagram V-K dou csute vecine sunt adiacente, adic distanta HumIn a a a a ming este egal cu 1. Adiacenta rezult in urma faptului c notarea, pe marginea a a a diagramelor, a coordonatelor csutelor se face prin numrare cod Gray. Adiacenta a a n exist a ntre csutele elementare de pe ecare dou linii alturate sau de pe ecare a a a dou coloane alturate, adiacenta se extinde i intre cele dou linii extreme sau a a s a ntre cele 2 colane extreme (de exemplu, in Figura 2.8 - c ntre coloanele 00 cu 01 sau ntre liniile 00 cu 01). Nu sunt adiacente dou csute care sunt situate dinagonal una a a n a fata de pe alta. Datorit adiacentei, cnd se trece de la scrierea coordonatei unei csute elementare a a a la scrierea coordonatei a dou csute elementare, adic luate a a a mpreun (2 1 ), din a coordonata rezultat va lipsi variabila care si modic valoarea a a ntre cele dou csute a a vecine (deoarece x + x = 1 i x x = 0). De exemplu, in Figura 2.8-c pentru forma P , s cnd se scrie coordonata pentru csutele adiacente P 5 i P7 luate a a s mpreun a x3 x2 x1 x0 + x3 x2 x1 x0 = x3 x2 x0 (1 + x1 ) = x3 x2 x0 x coordonata rezultat are o variabil mai putin, deoarece a disprut variabila x 1 care a a a are valoarea diferit cele dou coduri 0101 i 0111 (x 1 schimb valoarea la trecerea a n a s a dintre P5 i P7 ). s aceeai gur, pentru forma S cnd se scrie coordonata pentru csutele adicente In s a a a S5 i S7 luate s mpreun a (x3 + x2 + x1 + x0 )(x3 + x2 + x1 + x0 ) = (x3 + x2 + x0 ) dispare variabila x1 . Dac se consider o suprafata care grupeaz patru csute adiacente (2 2 ) coa a a a n ordonata comun rezultant se vor elimina dou variabile; pentru un grup de opt a a a csute adiacente (23 ) se vor elimina trei variabile, iar pentru un grup de 2 n csute a a adiacente se vor elimina n variabile. Aceast modalitate grac, de indenticare de a a suprafete ce grupeaz csute adiacente, fond, este o grupare de termeni canonici, a a n dar varianta grac operatia de reducere a termenilor canonici este mai simpl i n a as mai putin supus erorii dect atunci cnd se lucreaz cu formele analitice normale a a a a conjunctive, FNC, sau normale disjunctive, FND, ale functiilor. diagrama Veitch - Karnaugh se introduc ecare csuta elementar valorile In n a a coecientilor din tabelul de adevr al functiei. Cnd se face sinteza functiilor pe baza a a FND se consider toti mintermii care au valoarea 1 iar pentru sinteza pe baza de a FNC se consider toti maxtermii care au valoarea 0. Rezult c in diagrama V-K a a a de tip P sau S trebuie luate respectiv toate csutele elementare care au valoarea a unu sau toate cele care au valoarea zero i aceasta se face identicnd suprafete care s a cuprind csutele adiacente grupate in numar de puteri ale lui doi. Evident, se caut a a a se forma suprafete care s cuprind un numr, de puteri ale lui doi, de csute a a a a adiacente ct mai mare. Vom referi coordonata unei suprafete de csute adiacente a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

189

grupate cu termenul de Implicant Prim, IP. aceast operatie de identicare de In a suprafete maxime poate apare o suprafata ce acoper o grupare de csute adiacente, a a dar ecare din aceste csute elementare ale gruprii mai este acoperit cel putin de a a a a o alt suprafata; o astfel de suprafata corespunde unui IP neesential. Dar nc a poate exist o suprafata care acoper o grupare de csute adiacente dar dintre aceste a a a csute elementare exist cel putin o csuta care nu mai este acoperit i de ctre o a a a as a alt suprafata; o astfel de suprafata corespunde unui IP esential. Pentru exprimarea a functiei forma redus trebuie luate considerare suprafete maxime astfel at s n a n nc a e acoperite toate csutele elementare cu valoarea 1 pentru forma redus disjunctiv a a a (sum de produse), respectiv s e acoperite toate csutele elementare cu valoarea 0 a a a pentru forma redus conjunctiv (produs de sume). a a Denitia 2.4 Forma redus a unei sume de produse este minim atunci cnd a a a nu exist o alt form redus a functiei cu mai putini termeni produs sau oricare alt a a a a a form cu acelai numr de termeni produs are cel putin acelai numr de variabile. a s a s a Dup cum s-a artat sectiunea 1.5 forma redus ca sum de produse se implea a n a a menteaz simplu pe o structur AND-OR, iar forma redus ca produs de sume pe o a a a structur OR-AND. a Rezult, implicit, pentru implementare, c forma minim va duce la un numr a a a a minim de porti pe primul nivel (de AND) i de intrri pe portile din nivelul doi (OR) s a i, evident, in cadrul acesta la cel mai mic numr de intrri (variabile) pe primul nivel. s a a La fel se poate da o denitie pentru forma minim a unui produs de sume. a Pentru exprimarea functiei form redus se selecteaz: n a a a 1. obligatoriu toti IP esentiali; 2. un numr ct mai mic de IP neesentiali, dar care s acopere toate csutele a a a a elementare nscrise cu unu ce nu au fost acoperite de ctre IP esentiali a Exemplul 2.4 Pentru functia F dat sub forma FND, a
15

F =
0

(0, 2, 6, 9, 11, 13, 14, 15)

sau sub forma FNC F =

15

(1, 3, 4, 5, 7, 8, 10, 12)


0

s se realizeze minimizarea cu diagrama V-K. a Solutie. Din expresia functiei dat sub forma listelor anterioare se completeaz cu a a unu diagrama V-K pentru sinteza ca sum de produse, Figura 2.9-a i se completeaz cu 0 a s a diagrama V-K pentru sinteza ca produs de sume, Figura 2.9-b. Se consider suprafete de a csute adiacente, grupate cte dou sau patru i rezult pentru forma sum de produse doi IP a a a s a a esentiali (a = x3 x0 , b = x3 x2 x0 ) i trei IP neesentiali (c = x3 x2 x1 , d = x2 x1 x0 , e = x3 x1 x0 ), s iar pentru forma produse de sume doi IP esentiali (a = (x3 + x0 ), b = (3 + x2 + x0 )) i x s trei IP neesentiali (c = (x3 + x2 + x1 ), d = (3 + x1 + x0 ), e = (2 + x1 + x0 )). Acoperirea x x complet pentru prima sum de produse trebuie sa contina cei doi IP esentiali a i b iar a a s dintre cei neesentiali un numr ct mai mic, dar care s acopere restul de csute care este a a a a n

190

2.2. REPREZENTAREA CLC

F= (0,2,6,9,11,13,14,15) 0 b X1 X 1X 0 X 3X 2 00 01 11 10 00 01 11 X3 10 a 1 X0 1 c d 1 1 1 1 1 1 e X2

15

X 3X 2

F= (1,3,4,5,7,8,10,12) 0 c a X1 X 1X 0 00 00 01 0 0 0 0 d X0 0 b 0 11 0 0 10

15

01 11

X2

X3 10

a)

IP esentiali: a=X 3X 0; b=X 3X 2X 0 IP neesentiali: c=X 3X 2X 1 d=X 2X 1X 0 e=X 3X 1X 0

IP esentiali: a=(X 3+X 0); b=(X 3+X 2+X 0) IP neesentiali: c=(X 3+X 2+X 1) d=(X 3+X 1+X 0) e=(X 2+X 1+X 0)

b)

Figura 2.9 Exemplu de minimizare: a) pe baz de 1 pentru functia F = a


15 15

(0, 2, 6, 9, 11, 13, 14, 15); b) pe baz de 0 pentru functia F = a


0 0

(1, 3, 4, 5, 7, 8, 10, 12).

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

191

nscris valoarea 1. Se obtin formulele de acoperire a + b + d sau a + b + c + e. Evident, a prima form este forma minim a a f = x 3 x0 + x 3 x 2 x 0 + x 2 x1 x 0 acelai mod se obtine forma redus pentru produs de sume: In s a f = (x3 + x0 )(3 + x2 + x0 )(2 + x1 + x0 ) x x

Forma minim a unei functii f ca produs de sume se obtine prin acoperirea tuturor a csutelor elementare din diagrama V-K care au valorile 0. Dar se poate obtine aceeai a s form minim i printr-o sintez de suma de produse a functiei complementare f . a a s a Dac functia f are valori 1 anumite csute elementare evident c functia negat f a n a a a are valori 1 in restul de csute elementare ale diagramei V-K, adic tocmai csutele a a n a care functia f are valori 0, i care pot utilizate pentru sinteza ca produs de sume. n s s Deci, obtinnd forma redus ca sum de produse a functiei complementare f i negnd a a a a acest mod se aceast expresie rezult forma redus ca produs de sume a functiei f . In a a a obtine forma minim a produsului de sume a lui f numai cnd forma redus a lui f a a a a Exemplul fost cea minim (i aceasta depinde de cum s-au selectat IP neesentiali). In a s 2.4 , Figura 2.9-b, o form redus ca sum de produse a lui f poate : a a a f = x 3 x0 + x 3 x 2 x 0 + x 2 x 1 x 0 iar prin negare i aplicare teoremei De Morgan se obtine chiar forma minim a pros a dusului de sume: f = (x3 + x0 )(3 + x2 + x0 )(2 + x1 + x0 ) x x obtinut prin sinteza pe baz de zero-uri. a a Calculul formei reduse pentru f , ca sum de produse, este util pentru c unele a a a dispozitive programabile (PLA) prezint pe ieire posibilitatea de a nega, printr-o a s poart XOR, functia calculat, deci generarea formei produs de sume. Dac se poate a a a implementa uor att forma produs de sume, ct i forma sum de produse se pune s a a s a intrebarea care dintre cele dou forme reduse obtinute (nu totdeauna minime!) se a alege? se va alege forma care are numrul minim de termeni. a 2.2.3.1 Minimizarea functiilor incomplet denite

Exista situatii care functionarea unui CLC prin valoarea logic generat pe ieire n a a s nu modic cu nimic comportamentul util al circuitului. Valoarea logic pe ieire se a a s poate modica e 1 e 0 dar aceste valori sunt indiferente (do not care) pentru n n utilitatea circuitului, de aceea ieirea respectiv se noteaz in tabelul de adevr sau s a a a ,, diagrama V-K cu simbolul - . Astfel de situatii apar cnd anumite conguratii n a de intrare, restrictionate prin conditiile de functionare, nu se aplic niciodat pe a a intrri, sau cnd pentru anumite conguratii de intrare functionarea sistemului nu a a consider valorile logice de pe ieiri. Simbolurilor indiferente din diagramele V- K, a s prin includerea lor grupuri de csute elementare adiacente, pot aduce la expresii n a mult mai simple pentru IP esentiali sau neesentiali. Dupa caz, acestor simboluri li se

192

2.2. REPREZENTAREA CLC

pot atribui valoarea 1, pentru sinteza ca sum de produse, respectiv 0, pentru sinteza a ca produs de sume, astfel at suprafetele care acoper csute adiacente sa devin nc a a a ct mai mari. a Exemplul 2.5 Pentru convertorul BCD - EXCESS3, din Figura 2.3 s se deduc a a formulele minime pentru ieirile E3 , E2 , E1 , E0 . s Solutie. Din tabelul de adevr din Figura 2.3 se obtin sub form de list valorile ieirilor: a a a s
15

E3 =
0 15

(5, 6, 7, 8, 9) + d(10, 11, 12, 13, 14, 15)

E2 =
0 15

(1, 2, 3, 4, 9) + d(10, 11, 12, 13, 14, 15)

E1 =
0 15

(0, 3, 4, 7, 8) + d(10, 11, 12, 13, 14, 15)

E0 =
0

(0, 2, 4, 6, 8) + d(10, 11, 12, 13, 14, 15)

15 0

E3

(5,6,7,8,9)+d(10,11,12,13,14,15)
CD 00 00 01 11 1 1 1 B 01 11 C 10

15 0

E2

(1,2,3,4,9)+d(10,11,12,13,14,15)
CD 00 00 01 11 1 B 01 1 11 1 C 10 1

AB

AB

A 10 1 1 D A
15 0

A 10 1 D BC
15 0

BD E1

BCD

BD E0

BC

(0,3,4,7,8)+d(10,11,12,13,14,15)
CD 00 00 01 11 1 1 01 11 1 1 B C 10

(0,2,4,6,8)+d(10,11,12,13,14,15)
CD 00 00 01 11 1 1 01 11 C 10 1 1 B

AB

AB

A 10 1 D CD CD

A 10 1 D D

Figura 2.10 Minimizarea funtiilor incomplet denite. Exemplicare pentru sinteza convertorului BCD-EXCESS3, Exemplul 2.5.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

193

Pe intrrile circuitului se aplic numai codurile BCD, combinatiile binare pentru numerele a a 10,11,12,13,14,15 nu se aplic niciodat, deci ieirile corespunztoare se noteaz cu indiferent a a s a a diagramele V-K din Figura 2.10. Pentru sintez ca sume de produse, pentru ieirile n a s ,, E3 , E2 , E1 , E0 , csutelor notate cu - , ce intr grupuri de adiacenta selectate, li se atribuie a a n valoarea logic 1. Se obtin astfel urmtoarele forme minime: a a E3 E2 E1 E0 = A + BD + BC = B C D + BD + BC = C D + CD =D

2.2.3.2

Minimizare pe diagrame V-K cu variabile reziduu

Tabelul de adevr, cnd numrul de variablie este mare, poate redus la o form a a a a cu mai putine linii dac unele din variabilele functiei sunt introduse coecientii a n functiei ca variabile reziduu, aceast modalitate de reducere a fost exemplicat in a a Figura 2.4. Similar, i diagrama V-K poate redus de la 2 n csute la 2n1 csute s a a a cnd se introduce una din variabile coecientii din interiorul csutelor, respectiv a n a la 2n2 csute cnd se introduc dou variabile reziduu i aa mai departe. Pentru o a a a s s functie de dou variabile, fi2 , sau de trei variabile, fi3 , formulele analitice cu o variabil a a reziduu introdus coecientii functiei sunt cele date de relatiile 2.3 respectiv 2.4. a n Se observ c expresia unui coecient reziduu, functie de variabila reziduu x, a a n este de forma di x + dj x. Ca structur diagrama V-K, raport cu o variabil care se a n a introduce ca variabil reziduu x, cuprinde 2 n1 csute care au coordonat variabila a a n a x i 2n1 csute care au coordonat variabila x. Csutele elementare care cuprind s a n a a n coordonat viitoarea variabil reziduu x se spar dou prti egale dac se traseaz a a a n a a a a o linie prin mijlocul zonei corespunztoarea variabilei x din diagrama V-K. ambele a In prti ale liniei mediane se grupeaz cte dou csute elementare, una care are a a a a a n coordonat x i coecientul di i una care are coordonat x i coecientul d j . Se a s s n a s efectueaz calculul di x+dj x care va noul coecient al csutei elementare diagrama a a n V-K rezultat, iar coordonata acestei csute rezultate este tocmai coordonata comun a a a a celor dou csute elementare din care a provenit. Acest nou coecient poate avea a a doar una din valorile 0, 1, x, x. Aceast modalitate de reducere este prezentat Figura 2.11-a pentru o functie a a n de trei variabile cnd se elimin variabila x 1 , iar in Figura 2.11-b pentru o functie a a de patru variabile cnd se elimin variabila x 0 . Pentru ecare din aceste cazuri a a se haureaz zona variabilei reziduu, respectiv se duce linia median prin aceast s a a a zon i se grupeaz o csuta din zona haurat (x) cu una din zona nehaurat (). as a a s a s a x De exemplu, pentru n = 3, prin gruparea csutei haurate cu coecientul d 3 cu cea a s nscrie noua n nehaurat cu coecientul d1 se obtine coecientul d3 x+d1 x care se va s a csuta de coordonate x2 x0 (coordonata comun a celor dou csute luate a a a a mpreun). a Iar diagrama V-K de patru variabile (x3 , x2 , x1 , x0 ) produsul d6 x0 + d7 x0 care va n diagrama de trei variabile (x3 , x2 , x1 ) coecientul csutei de cordonate x3 x2 x1 . n a Diagrama cu variabile reziduu poate o form mai compact i, uneori, cu astfel a as de diagrame se obtine mai uor forma minim. Deducerea formei reduse dintr-o s a diagram care cuprinde coecienti cu variabile reziduu se face urmtorii pai: a n a s

194

2.2. REPREZENTAREA CLC

x0

x1 x0 x2 d0x 1 + d2x 1 x2 a) d4x 1 + d6x 1

x0 d1x 1 + d3x 1 d5x 1 + d7x 1

x 2x 1 x3 d0x 0 + d1x 0 x3 b) d8x 0 + d9x 0

Figura 2.11 Exemplicare de introducere a unei variabile reziduu: a) pentru o diagram V-K de trei variabile; b) pentru o diagram V-K de patru variabile. a a Pasul 1. In toate csutele elementare care coecientul contine variabile reziduu se a n substituie acesta cu zero i apoi se face extragerea functiei dup regula normal s a a prin gruparea suprafetelor de 1-uri. Pasul 2. In toate csutele care coecientul este 1 se substituie acesta cu indiferent a n i apoi se face extragerea dup gruparea suprafetelor care cuprind coecientii s a care au aceeai expresie de variabile reziduu. s Pasul 3. Forma redus a functiei se obtine prin sumarea logic a expresiei obtinut a a a la Pasul 1 cu cea obtinut la Pasul 2. a Dar nu totdeauna forma redus obtinut la la Pasul 3 este cea minim. Pentru a a a a obtine forma minm se recomand: a a 1. Folosind axiomele i teoremele algebrei logice, Tabelul 1.2, s se transforme un s a coecient compus din termeni produs, care contine variabile reziduu, at s nc a se obtin un numr ct mai mic de termeni produs diferiti. a a a 2. Dac a ntr-o csuta exist un coecient compus dintr-o sum de termeni produs, a a a care contin variabile reziduu, atunci aceast csuta se include, conform pasului a a 2 enuntat anterior, in ecare din suprafetele care acoper unul dintre termenii a produs din aceast sum. a a

x1

d4

d5

d7

d6

x3

d12 d8

x2

d0

d1

d3

d2

x 1x 0 x2

x0

d0 d4

d1 d5

d13 d9 x0

d15 d11

x1 d2x 0 + d3x 0 d10x 0 + d11x 0 d6x 0 + d7x 0 d14x 0 + d15x 0 x2 d4x 0 + d5x 0 d12x 0 + d13x 0


d3 d7

x1

x 1x 0 x 3x 2

x0

d2 d6 d14 d10 x2

x1

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

195

Exemplul 2.6 Pentru ieirea E3 a convertorului BCD - EXCESS3, cu tabelul de s adevr dat Figura 2.3, s se deduc expresia minim utilliznd diagramele V-K pentru a n a a a a 4,3 i 2 variabile. s
CD AB 00 00 0 0 C 01 0 11 0 1 10 0 CD B 00 C A C

a)

D C CD B 00 01 11 10 0 A A 1 A 1 B 1 A C B 0 0 A 1

d)

e)

Figura 2.12 Pentru ieirea E3 a unui convertor BCD-EXCESS3 s-a dedus s expresia minim: a) utiliznd diagrama V-K de patru variabile; b,d) diagrama V-K a a de trei variabile (B,C,D); c,e) diagrama V-K de dou variablie (B,C). a
Solutie. Din prezentarea functiei E3 ntr-o diagram V-K de patru variabile, Figura a 2.12-a, i prin considerarea valorii 1 csutele cu indiferent, se obtine forma minim E 3 = s n a a A + BD + BC (expresie obtinut i Exemplul 2.5 ). a s n Introducnd variabila A ca variabil reziduu se obtine diagrama de trei variabile (B,C,D) a a din Figura 2.12-d. Aplicnd, Figura 2.12-b, cei trei pai pentru obtinerea formei minime, a s dintr-o diagram cu variabil reziduu, se obtine expresia minim pentru E3 , identic cu cea a a a a anterioar. a Introducnd i variabila D ca variabil reziduu se obtine diagrama V-K de dou variabile a s a a (B,C) din Figura 2.12-c. Aplicnd cei trei pai pentru minimizare, dintr-o diagram cu a s a coecienti reziduu, se obtine forma redus E3 = BC + AB + BD + ABD, care difer de a a forma minim obtinut cu cele dou diagrame anterioare. Pentru a obtine forma minim a a a a trebuie fcute asupra coecientilor din diagrama din Figura 2.12-c urmtoarele transformri: a a a Expresia coecientului D + DA, aplicnd teorema de absorbtie invers, devine D + A ceea ce a a s n a face ca loc de 3 termeni produs (A, D, DA), inclui coecientii reziduu din diagram, n s e doar doi: A si D, Figura 2.12-e. Apoi, aplicnd paii pentru extragerea formei reduse, a a s

10

b)

C CD 00 01 11 10 0 0 0 1 0 1 0 1 +

B 1 0 C B 0 0 0 1 0

1 A

1 0 1 BC +

1 D+A 1

11

B 1

01

B A

BD+BC C B 0 0 A 1 A A 1 A


A 1 D

01

11

10 A 1 D

0 A

1 A

D+DA 1

c) C CD 00 01 11 10 0 A B 1 A A D C B 0 0 1 D BD 1 A A A

196

2.2. REPREZENTAREA CLC

primul pentru valorile de 1 iar al doilea pas separat pentru ecare din cei doi termeni reziduu A si D, se obtine E3 = BC + A + BD care este forma minim. a

Uneori, prin extragerea formei reduse, dintr-o diagram V-K care contine variabile a reziduu, nu se ajunge la forma minim din cauza folosirii redundante a unor csute a a cu valoarea 1. Poate exista situatia care o csuta elementar cu valoarea 1 Pasul n a a n 1, care va avea valoarea indiferent Pasul 2, s e inclus suprafata unui termen a n a a n produs care contine o variabil reziduu (x) i de asemenea s e inclus i suprafata a s a a s n unui alt termen produs care contine aceeai variabil reziduu doar negat (x). Un s a a astfel de 1 se numete dublu acoperit. Forma minim se obtine doar cnd csuta cu un s a a a 1 dublu acoperit se consider 0 Pasul 1 de extragere (cnd se consider suprafetele a n a a de 1-uri). Exemplul 2.7 Pentru CLC cu tabelul de adevr din Figura 2.4 s se realizeze a a diagramele V-K de 4,3,2 variabile i s se extrag expresia minm. s a a a Solutie. Diagrama V-K pentru patru variabile (A, B, C, D) este reprezentat Figura a n 2.13-a; s-a considerat valoarea coecientului functiei egal cu 1 pentru conguratia de intrare a a a a indiferent AB C D. Se extrage din aceast diagram expresia minim AB D+ABD+BCD. a Introducnd variabila D ca variabil reziduu se obtine diagrama V-K de trei variabile a a (A, B, C), Figura 2.13-b. Din aceast diagram rezult urmtoarea form redus: ABC + a a a a a a D + BC D + ABD care difer de forma minim extras din diagrama de patru variabile. AB a a a aceast form redus apare plus termenul ABC care corespunde tocmai suprafetei de In a a a n 1. La o inspectie mai atent, Figura 2.13-d, se observ c 1 din diagram este un 1 dublu a a a a acoperit. Pasul 2, csuta respectiv se consider indiferent, aceasta este acoperit att In n a a a a a de suprafata lui D ct i de suprafata lui D, deci termenul ABC trebuie eliminat din forma a s redus obtinndu-se astfel forma mimim. a a a Diagrama V-K de dou variabile (A, B), Figura 2.13-c, se obtine din diagrama de trei a variabile cu coecienti reziduu prin introducerea i a variabilei C ca variabil reziduu. Forma s a redus obtinut din aceast diagram este (Pasul 1 nu se aplic deoarece nu exist suprafete a a a a a a de 1) AB D + ABC + ABD + ABC D care difer de expresia minim. Prin aplicarea teoremei a a de absorbtie invers termenul C + D devine C D + D, deci loc de patru termeni produs a n n C, D, D, C D coecientii reziduu vor doar trei: D, D, C D. Aplicnd doar Pasul 2 de a extragere, deoarece nu exist csute cu coecient 1, Figura 2.13 - e, se obtine forma minim a a a AB D + ABD + BC D.

2.2.3.3

Minimizarea prin diagrame V-K a circuitelor cu ieiri multiple s

S-a artat c un CLC cu m ieiri, Figura 2.1, poate considerat ca nd compus din a a s m circuite cu o singur ieire. Pstrnd acest mod de abordare, i pentru minimizarea a s a a s circuitului cu m ieiri, procesul de minimizare se reduce la extragerea separat a s a ecreia din cele m ieiri pe cte o diagram V-K; i, s-ar putea ca rezultatul s e a s a a s a cel optim, dar numai cnd cele m functii de ieire nu au componenta lor termeni a s n produs comuni. Pentru a identica eventualii termeni produs comuni, la unele din ieirile circuitului, se impune ca procesul de reducere al functiei FNC s se fac corelat. s a a Pentru identicarea termenilor produs comuni cele m functii de ieire f 0 , f1 , ... n s fm1 se procedeaz felul urmtor: a n a 1. Se realizeaz diagramama V-K a functiei produs logic a ntre toate cele m functii

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

197

00 01 A a) 11 10

d)

ABC B 0 1 A 0 0 CD+D 1 D

C+D CD

e)

CD

D ABD+ABD

Figura 2.13 Exemplu de minimizare a unei functii de patru variabile (A,B,C,D): a) pe o diagram V-K de patru variabile; b,d) pe o diagram V-K a a de trei variabile (A,B,C); c,e) pe o diagram V-K de dou variabile (A,B); a a initiale f0 f1 f2 ... fm1 (practic se obtine printr-o intersectie ntre toate diagramele V-K ale celor m functii). Se realizeaz diagramele V-K ale functiilor a produs ntre cte m 1 din cele m functii, apoi se realizeaz diagramele V-K ale a a functiilor produs ntre cte m 2 din cele m functii .a.m.d. pna la realizarea a s a diagramelor V-K ale functiilor produs ntre cte 2 functii. Numrul total de a a astfel de functii (diagrame V- K) produs este egal cu 2 m (m 1) la care se adaug a m diagrame ale functiilor initiale (pentru m = 8 rezult 255 de a nc a diagrame!). Evident, aceast metod neautomatizat este practicabil doar la a a a a circuite cu cel mult 4 ieiri. s 2. diagrama V-K produs logic de m functii se identic dac exist implicantii In a a a primi comuni pentru toate functiile initiale. Aceti implicanti primi identicati s sunt eliminati din toate diagramele (V-K) produs de m 1 functii i apoi din s toate diagramele (V-K) produs pna la diagramele produs de dou functii. Pena a tru aceti implicanti primi identicati se gureaz suprafetele de acoperire s a n toate cele m diagrame V-K ale functiilor initiale. Se reia acelai proces de iden s ticare a implicantilor primi comuni pe diagramele V-K produs logic de m 1

$%

B 0 A 0 0

B 0 A 0 0

  

BC A 00 01 11 10 0 0 0 1 D A 1 D D D 0

"#

 

1 0 0


0 1 0 0 D

CD AB 00

C 01 11 10 0 1 1 1 b) BC A 00 01 11 10 0 0 0 1 0 B D BC A 00 0 0 A 1 D B 01 0 D C BC A 00 01 11 10 0 0 0 0 + 1 D D D 0 ABD+BCD 1 D + B 0 A 0 0 1 11 1 D 10 D 0 C A B 0 A 1 c) BC A 00 01 11 10 0 0 0 D + 1 0 0 0 0 ABD 1 CD CD BCD B 0 0 D 1 C+D CD

198

2.2. REPREZENTAREA CLC

functii pna la gurarea suprafetelor respective de acoperire diagramele V-K a n ale functiilor initiale. Procesul de identicare de implicanti primi comuni se contimu pna la diagramele V-K produs logic de dou functii. a a a 3. Din cele m diagrame V-K ale functiilor initiale se extrag formele reduse ale functiilor, dup procedeul normal, a ncercnd a se selecta ct mai multe dintre a a suprafetele care gureaz a mplicanti primi comuni (identicati conform proce durii de la punctul 2). Circuitul cu ieiri multiple, rezultat printr-o minimizare corelat, general, utis a n lizeaz un numr de termeni produs diferiti mai mic dect numrul total de termeni a a a a produs diferiti obtinut printr-o minimizare separat (necorelat) pentru ecare functie a a parte, deci un numr mai mic de porti pentru implementare. Totui, alegerea n a s nal pentru implementare nu este impus numai de acest rezultat ci trebuie luate a a considerare i: tipul de poart logic, factorii de arcare la intrare i ieire i n s a a nc s s s disponibilitatea semnalelor in sistem. Metoda minimizrii corelat este indicat pentru sinteza circuitelor care se implea a a menteaz cu porti logice discrete, pe circuitele arii de porti logice i pe circuite logice a s programabile unde economisirea doar i a unei porti, la o replicare mare, determin s a o economisire substantial. a Exemplul 2.8 Pentru urmtoarele trei functii a
15

F0 (A, B, C, D) =
0

(2, 4, 6, 7, 9, 11, 12, 15)


15

F1 (A, B, C, D) =
0 15

(4, 6, 7, 10, 14, 15)

F2 (A, B, C, D) =
0

(3, 7, 8, 10, 12, 14, 15)

s se realizeze o minimizare corelat. a a Solutie. Extragerea necorelat a ecrei functii este realizat pe diagramele V-K din a a a Figura 2.14-a i se obtin urmtoarele expresii minime: s a F0 = ABD(1) + BCD(2) + B C D(3) + AC D(4) F1 = BC(5) + AC D(6) + AB D(7) F2 = AD(8) + BCD(2) + BC D(9) cu un numr de 9 termeni produs diferiti din totalul de 10 (BCD este utilizat att de F0 a a ct i de F2 ). continuare se va proceda pentru extragerea corelat. Diagrama V-K a a s In a functiei produs logic F0 F1 F2 este reprezentat Figura 2.14-b iar a functiilor produs a n logic F0 F1 , F0 F2 , F1 F2 Figura 2.14-c. Singurul implicant prim comun, BCD din n diagrama V-K a functiei produs logic F0 F1 F2 , neconsiderat produsele logice de n dou functi, este gurat (haurat spre dreapta) diagramele V-K ale functiilor F0 , F1 , F2 a s n din Figura 2.14-d. Apoi, din diagramele functiilor produs logic de dou functii: pentru a F0 F1 se identic implicantul prim comun AB D care se gureaz (haura spre stnga) a a s a prin suprefete pe F0 i F1 ; pentru F0 F2 se identic implicantul prim commun ABC D s a care se gureaz (printr-un cerculet haurat spre dreapta) prin suprafete pe F0 i F2 ; pentru a s s F1 F2 se identic implicantul prim comun AC D care se gureaz prin suprafete pe F1 i a a s F2 .

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

199

In continuare, de pe diagrama V-K a ecrei functii initiale, se extrage forma redus a a dup procedeul obinuit cutnd ca, acoperirea csutelor elementare cu valoarea 1, s a s a a n a a e inclui primul rnd implicanti primi esentiali i implicanti primi comuni identicati. s n a s Rezult expresiile: a F0 = ABD(1) + BCD(2) + AB D(3) + ABC D(4) + B C D(5) F1 = BCD(2) + AB D(3) + AC D(6) F2 = BCD(2) + AC D(7) + AC D(6) + ABC D(4) Prin minimizarea corelat s-au obtinut un numr de 7 termeni produs diferiti dintr-un a a total de 12 termeni produs utilizati, deci 5 sunt utilizati de cel putin dou functii. a

Obtinerea unei forme reduse, eventual minim, pentru o functie prin operatii ana a litice, paragraful 1.15, sau utiliznd diagrama V-K pot constitui metode practicabile a doar pentru functii de cteva variabile. Pentru functii ce depesc cteva variabile a as a sunt utilizate alte metode. Oricare ar aceste metode, fond, procesul de reducere n parcurge dou etape: (1) identicarea tuturor implicantilor primi ai functiei i (2) a s apoi selectarea unui set minimal de implicanti primi care s acopere functia. Aceste a etape pot realizate e prin metode tabelare, de exemplu metoda Quine-McCluskey, e prin abordri algoritmice, termeni de structuri de date i functii de limbaj de a n s nivel nalt [Wakerly 2001]. Evident, aceste abordri au ca nalitate un program a de minimizare inclus intr-un mediu de proiectare, de exemplu programul Espress II ,, sau varianta mai avansat Espress - MV. Includerea unui algoritm exact a ntr-un program de minimizare pentru o functie cu zeci de variabile i sute de termeni produs s poate necesita un timp de calcul inacceptabil. Foarte frecvent o abordare euristic, a locul unui algoritm exact, poate genera o expresie minim sau aproape minim dar n a a cu o reducere a timpului de calcul cu peste un ordin de mrime. a

2.2.4

Diagrama de decizie binar, BDD a

Informatia continut a ntr-un tabel de adevr, Figura 2.15-a, poate reprezentat a a i printr-un graf sub forma unui arbore binar, arbore de decizie binar, BDT s (Binary Decision Tree). Un arbore de decizie binar este un graf orientat, aciclic, care prezint o rdcin i dou tipuri de noduri: teminale i neterminale. Fiecare nod x a a a as a s este referit/etichetat prin variabila var(x) i are arce directionate spre doi succesori: s Low(x), care corespunde tranzitiei cnd variabilei x i se asigneaz valoarea 0 a a High(x), care corespunde tranzitiei cnd variabilei x i se asigneaz valoarea 1 a a Fiecare nod terminal (frunz) x este caracterizat prin valoarea (x) care poate 0 sau a 1. Pentru o anumit asignare a valorilor variabilelor unei functii (o conguratie de a intrare), parcurgnd graful, de la rdcin pe traseul indicat de valorile respective ale a a a a variabilelor, se atinge un nod terminal a crui valoare este tocmai valoarea functiei a corespunztoare respectivei asignrii a variabilelor. Figura 2.15-b este reprezentat a a In BDT pentru functia cu tabelul de adevr din Figura 2.15-a. BDT nu reect o a a reprezentare concis a unei functii booleene; fond, un BDT nu este altceva dect a n a o form grac a tabelului de adevr, care prezint mult redundanta. De exemplu, a a a a a pentru arborele obtinut exist numai 3 subarbori diferiti cu rdcina de etichet y 0 , a a a a

200

2.2. REPREZENTAREA CLC

AB

C CD 00 01 11 10 1 00 01 1 1 1 1 1 1 11 1 10 B

AB

C CD 00 01 11 10 1 1 1 1 1

AB

00 01 1 A 11 10 B A

C CD 00 01 11 10 1 00 01 11 1 10 1 1 1 1 1 B

D F 0=ABD+BCD+BCD+ACD a) 1 2 3 4

D F 1=BC+ACD+ABD 5 F0 6 F1 7 F2 1 1

D F 2=AD+BCD+BCD 8 2 9

b) F0 F1

c) F1 C CD AB 00 01 11 10 01 1 A 11 1 10 1 F2 C CD AB 00 01 11 10 01 1 A 11 10

F3 C CD AB 00 01 11 10 00 01 A 11 1 10 1

1 1 1

F 0=ABD+BCD+ABD+ABCD+BCD F 1=BCD+ABD+ACD F 2=BCD+ACD+ACD+ABCD 1 2 3 4 5 2 3 6 2 7 6 4 d)

Figura 2.14 Minimizarea corelat a 3 functii: a) minimizarea necorelat; b,c) a a diagramele V-K pentru produsele de cte 3 i 2 functii; d) extragerea corelat a a s a expresiilor reduse ale functiilor.

23 23 23 23 BC BC TU TU BC BC VW

PQ

00

00

1 1

1 1 1

() ()

() ()

5 5 45 45 E 4 4 DE D 67 67 D D

&' &'
1

F0

89 89 89 89 HI HI HI RS RS @A 01 01 A FG FG

F2

F1 1

F2 1 1

1 1

1 1 1 B

1 1

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

201

din totalul de 8 subarbori cu rdcina y0 . Se poate obtine o form mult mai concis a a n a a de reprezentare a functiei, denumit Diagram de Decizie Binar, BDD (Binary a a a Decision Diagram), dac din BDT se elimin redundanta. a a Obtinerea unui BDD, prin eliminarea redundantei, apare urma aplicrii repetate n a (pna cnd nu mai pot aplicate) a urmtoarelor trei proceduri: a a a 1. Eliminarea nodurilor terminale duplicate. Dintre toate nodurile terminale (frunze) duplicate se retine doar unul, iar spre acesta se redirecteaz toate arcele care a erau directate spre frunzele eliminate. Prin aceast procedur se obtine graful din Figura 2.15-c care are numai 2 a a noduri terminale loc de 16. n 2. Eliminarea nodurilor neterminale duplicate. Dac pentru nodurile neterminale a x i y exist var(x) = var(y) i low(x) = low(y), high(x) = high(y), atunci unul s a s din noduri este eliminat iar arcele directate spre nodul eliminat sunt redirectate spre nodul pstrat. a Inspectnd graful din Figura 2.15-c se constat c din cele 8 noduri y 0 doar 3 a a a sunt diferite, deci acesta se poate transforma graful din Figura 2.15-d. n 3. Eliminare testelor redundante. Dac nodul neterminal x prezint low(x) = a a high(x) atunci se elimin nodul iar arcele directate spre acesta se redirecteaz a a spre low(x). Aplicnd aceast procedur pentru eliminarea celor dou noduri y 0 , din mijloc, a a a a de la Figura 2.15-d se transfer testul de redundanta asupra nodurilor x 0 din mijloc a (acestea vor avea low(x0 ) = high(x0 )). Apoi, aplicnd din nou aceast procedur a a a sunt eliminate nodurile mediane x0 rezultnd graful din Figura 2.15-e. Se observ c a a a nu mai exist nici o posibilitate de transformare, nici una din aceste proceduri nu se a mai poate aplica. Denitia 2.5 Diagrama de decizie binar este redus, RBDD (Reduced a a BDD), cnd nu se mai poate realiza nici o transformare prin aplicarea celor trei a proceduri de reducere. O diagram de decizie binar este referit ca ordonat, OBDD (Ordered a a a a BDD) dac, pe oricare traseu parcurs de la rdcin la frunze, ecare variabil este a a a a a alnit cel mult odat i totdeauna variablilele sunt parcurse aceeai ordine. Nu nt a as n s este necesar ca toate variabilele s e alnite pe ecare traseu. Pentru functia a nt din tabelul de adevr din Figura 2.15-a, care este a unui CLC comparator pentru a cuvinte de doi biti x1 , x0 i y1 , y0 , f (x1 , x0 , y1 , y0 ) = (x1 = y1 ) (x0 = y0 ), implicit s s-a considerat urmtoarea ordine x1 < y1 < x0 < y0 i a rezultat un OBDD cu a s 8 noduri. La un CLC conparator pentru cuvinte de n biti pstrnd aceeai ordine a a s xn1 < yn1 < xn2 < yn2 < ... < x1 < y1 < x0 < y0 rezult un numr de a a (3n + 2) noduri. Dar dac ordinea se stabilete x n1 < xn2 < ... < x1 < x0 < a s yn1 < yn2 < ... < y1 < y0 atunci rezult un OBDD cu (3 2n 1) noduri. a Pentru o astfel de ordonare, x1 < x0 < y1 < y0 , (n = 2), BDD este reprezentat Figura 2.15 - f, numrul de noduri ind 3 2 2 1 = 11. Numrul de noduri n a a pentru un OBDD cu n variabile de intrare, functie de ordonarea aleas, se situeaz n a a ntre limita inferioar, o dependenta liniar de n, i limita cea mai dezavantajoas, o a a s a

202

2.2. REPREZENTAREA CLC

x 1 y1 x 0 y0 f 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1

x1

y1

y1

x0

x0

x0

x0

y0 0 1 1 0 0 0

y0 1 1 0 0

y0 1 0 0 0

y0 1 0 0 0

y0 1 0 0 0

y0 1 0 0 1

y0 1 0 0 0

y0 1 1

a)
y1 x0 x0

b)
x1 y1 x0 x0
0 0 0

x1

1 0

y1

1 0

y1

1 0

x0 1

x0

x0

x0

y0 y0 y0 y0 1 0
1

y0 y0 y0 y0 0 1
1 0

y0 1

y0

y0

y0

c)

1
0 0

0 x1 1
0

d)

1
0

0 x1 1
1

x0

1 0

x0

1 1

y1

y1

y1 0
1

y1

y1 0 1

y1

x0 1 y0 1 1
1

y2 0

y 0 2 1 1

y0 0

f)

e)

Figura 2.15 Diagrama de decizie binar, BDD, pentru un circuit comparaa tor de 2 biti: a) tabelul de adevr; b) arborele de decizie binar, BDT; c,d,e) etapele a a de trecere de la BDT la diagrama de decizie binar BDD, forma canonic; f) BDD a n a form canonic pentru ordonarea variabilelor x 1 < x0 < y1 < y0 . a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

203

dependenta exponential de n. Multe functii logice uzuale au totui o form compact a s a a de reprezentare. Gsirea ordonrii optime, care s duc la un numr minim de noduri a a a a a OBDD, este o problem NP complet. Abordrile euristice pentru gsirea ordonrii n a a a a a optime sunt, de multe ori, cu succes. acest sens, de abordare euristic, observatia In a c variabilele legate/asociate s e strns apropiate i ordonare duce la o ordonare a a a s n optim sau cvasioptim. a a Denitia 2.6 BDD este sub form canonic dac este redus i ordonat. a a a as a Pentru o functie logic cu ordonare xat, forma redus de OBDD este cea a a a canonic i aceast form este unic. as a a a Diagrama de decizie binar considerat ca un suport abstract al unei functii boolea a ene introduce posibilitatea ca operatiile efectuate cu functiile booleene s e imple a mentate sub forma unor algoritmi graci asupra unor OBDD [Bryant 92] cu aplicatii sistemele digitale, logic matematic, inteligenta articial. sistemele digitale n a a a In OBDD poate utilizat ca un instrument proiectare, vericare i testare. n s

2.2.5

Modaliti neformale de reprezentare at

Pentru aplicatii concrete, de multe ori, denirea unui CLC prin una din metodele formale expuse anterior este foarte greoaie i inecient. Astfel de aplicatii apar s a de exemplu, cnd circuitul are un numr foarte mare de intrri sau circuitul are o a a a structur repetitiv. a a Dac CLC prezint mai mult de 5,6 variabile, maipularea functiei sub form anaa a a litic, diagram V-K sau tabel de adevr devine nepractic, astfel de cazuri doar a a a a n utilizarea unui program de analiz i sintez dintr-un mediu de programare poate as a solutia.

Ci i

C0 0

1 Initializare 2 Calcul Oi , Ci+1 3 Incrementare 4 Test numar de iteratii C0 c) I0 #0

Ii Ci Calcul Oi , Ci+1 Oi In1 Cn1 Cn #n On1 Ci+1

Intrari I i , Ci se calculeaza Oi , Ci+1 i=i+1


DA

b) I1 #1

i<n
NU

C1

C2 O1

a)

O0

Figura 2.16 CLC iterativ: a) descrierea procesului iterativ al unui circuit prin organigrama unei bucle; b) structura bloc de circuit pentru modelarea calculului din interiorul unei bucle; c) structurarea unui circuit iterativ prin nserierea de celule identice. Pentru structurile repetitive atentia trebuie concentrat asupra logicii de functio a nare a celulei componente care apoi, prin replicare, poate forma structura complet. a

204

2.2. REPREZENTAREA CLC

Un exemplu simplu acest sens este realizarea circuitelor AND i OR cu multe intrri. n s a Expresia operatorului sum sau produs logic pentru multe variabile, folosind axioma a asociativitatii, poate aplicat repetitiv, obtinndu-se o form care se modeleaz cu a a a un singur tip de poart ale crei intrri sunt ieiri de la porti de acelai tip. De a a a s s exemplu, pentru un AND cu n intrri realizat prin a nseriere de porti AND cu dou a intrri a xn1 xn2 ... x3 x2 x1 x0 = xn1 (xn2 (xn3 ... (x3 (x2 (x1 x0 ))...)) Acelai ANDn poate implementat cu AND2 sub form de arbore binar. Pentru s a structurile repetitive mai complexe logica de functioare a celulei componente contine operatii ce se realizeaz corpul unei bucle i care se efectueaz de n ori, Figura a n s a 2.16-a. aceast organigram pasul de initializare 1 se execut o singur dat In a a a a a iar ceilalti trei pai se execut de n ori. Pasul 3 de incrementare i pasul 4 de s a s ,, a testare al numrului de iteratii sunt de fapt regia buclei , numai pasul 2 realizeaz a a practic calculul efectuat de CLC. Pentru pasul 2 se poate concepe o celul care, pe baza intrrilor Ii , Ci , calculeaz ieirea Oi i transferul Ci+1 spre celula urmtoare, a a s s a Figura 2.16-b. Un CLC iterativ, Figura 2.16-c, practic modeleaz o desfurare a a as buclei printr-o nseriere de n celule identice, cte una pentru ecare iteratie. Cea mai a bun cale expunere, a acestor modaliti de reprezentare, mai putin formale pentru a at CLC, este exemplicarea. Exemplul 2.9 Pentru un cuvnt de n biti xn1 xn2 ...xi ...x1 x0 s se realizeze circuitele a a combinationale care efectueaz incrementarea, decrementarea i complementul fata de 2. a s Solutie. 1) Incrementarea. Prin adunarea bitului 1 pozitia cea mai putin semnicativ, x 0 , n a a cuvntului rezult totdeauna x0 , deci circuitul de incrementare are pozitia x0 o poart a a n a inversor. Un bit xi va afectat, adic schimbat xi , de adunarea efectuat pozitia a n n a n x0 numai dac aceast adunare a generat un transport i acest transport s-a propagat pna a a s a pozitia xi . Dar transportul se propag pna pozitia xi doar dac toti bitii anteriori n a a n a lui xi , ncepnd cu x0 , au valoarea 1. Detectarea irului de biti 1 de la x0 pna la xi se a s a realizeaz printr-un lant de porti AND iar ieirea acestui lant la ecare pozitie comand a s a complementarea bitului de la pozitia respectiv, adic se aplic la intrarea unei porti XOR, a a a Figura 2.17-a. De fapt, incrementatorul poate privit ca un circuit numrtor sens direct: a a n un numr se obtine din cel anterior plus 1, incrementatorului lipsete doar componenta a i s care s memoreze numrul anterior (vezi Figura 3.62-b). a a 2) Decrementarea. Prin scderea bitului 1 din pozitia cea mai putin semnicativ x 0 a a a cuvntului rezult totdeauna x0 , deci implementarea pentru ultimul bit se face tot cu o a a poart inversor. Dac un xi = 1 acesta va complementat de modicarea pozitia x0 doar a a n dac toti bitii anteriori, a ncepnd cu x0 , au valoarea 0, deoarece numai atunci a mprumtul necesar scderii x0 1 se propag pna la xi , schimbnd toate zerourile 1. Detectarea a a a a n irului de zerouri se face cu un lant de porti OR iar ieirea acestui lant, la ecare pozitie, s s comand complementarea bitului de la pozitia respectiv aplicndu-se la intrarea unei porti a a a NXOR, Figura 2.17-b. Decrementorul poate privit ca un numrtor sens invers. a a n 3) Complementarea fat de 2. Regula de obtinere a complementului fata de doi al a unui numr negativ este: se complementeaz totii bitii, apoi se adun 1. a a a Se poate obtine complementul fata de 2 i prin urmtorul algoritm: parcurgnd cuvntul s a a a de la dreapta la stnga se las neschimbati toti bitii mai putin semnicativi pna la primul a a a bit egal cu 1 inclusiv, apoi toti bitii care urmeaz dup acest 1 pn la cel mai semnicativ se a a a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

205

xn1

xi

x2

x1

x0

X+1 a) X xn1 xi x2 x1 x0

X1 b) X xn1 xi x2 x1 x0

[X]2 c)
Figura 2.17 Exemple de circuite realizate prin replicare de celule elementare: a) circuitul de incrementare; b) circuitul de decrementare; c) circuitul de complementare fata de 2.
complementeaz. De exemplu: 390|10 = 01100000110|2 , ultimii doi biti rmn neschimbati a a a iar ceilalti se complementeaz, rezult c 390|10 complement fata de 2 este 10011111010. a a a n Dup acest algoritm implementarea circuitului de complementarea fata de 2 este direct. a a Bitul x0 rmne neschimbat. Dac primul bit 1 este pozitia xi a a a n nseamn c bitii din primul a a interval, de la x0 pn la xi , rmn neschimbati iar cei din al doilea interval, de la xi+1 pna a a a a a la xn1 , se complementeaz. Fiecare bit al cuvntului este o intrare la o poart XOR iar a a a pe cealalt intrare a portii se aplic 0 pentru bitii care nu se complementeaz, din primul a a a interval, si respectiv 1 pentru bitii care se complementeaz, din al doilea interval. Portile a XOR sunt comandate de ieirile unui lant de porti care au pe ieiri valoarea 1 doar dup s s a primul bit 1 al cuvntului, deci aceast selectare se poate realiza cu un lat de porti OR, a a Figura 2.17-c.

Exemplul 2.10 Pentru numerele naturale exprimate binar natural, cu lungimea n de patru biti B3 B2 B1 B0 , s se realizeze circuitul combinational care efectueaz conversia a a n cod Gray G3 G2 G1 G0 i apoi circuitul care realizeaz conversia G3 G2 G1 G0 B3 B2 B1 B0 . s a n Solutie. Descrierea convertorului de cod binar natural - Gray ca un circuit cu patru ieiri G3 , G2 , G1 , G0 i patru intrri B3 , B2 , B1 , B0 este dat tabelul de adevr din Figura s s a a n a 2.18-a. Acelai tabel de adevr descrie i conversia Gray - binar natural dac se consider s a s a a G3 , G2 , G1 , G0 intrri i B3 , B2 , B1 , B0 ieiri. Trebuie specicate diferentele a s s ntre tabelele de adevr din Figura 2.3-a i Figura 2.18-a. Primul reprezint conversia BCD - Gray, deci a s a

206
B3 B2 B1 B0 G3 G2 G1 G0

2.2. REPREZENTAREA CLC

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

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

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

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

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

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

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

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

B3

B2

B1

B0

G b) G

G3

G2

G1

G0

G3

G2

G1

G0

B c)

B3

B2

B1

B0

a)

Figura 2.18 Conversia binar natural - Gray i Gray - binar natural: a) tabel s de adevr pentru expresie; b,c) circuitele de conversie structurate repetitiv pe baz a a de porti XOR.
cele 6 combinatii (1010, 1011, 1100, 1101, 1110, 1111) nu se aplic niciodat pe intrarea a a convertorului, pe cnd al doilea tabel de adevr conversia binar natural - Gray cele ase a n a s combinatii nu mai sunt indiferente pentru circuitul convertor. Utilizarea tabelelor de adevr a cu 16 linii nu este prea atrgtoare, schimb, regulile de conversie expuse paragraful 2.2.1 a a n n i reprezentate grac Figura 2.2-a i b sunt mult mai practice i mai uor de implementat. s n s s s Uor de implementat, deoarece pentru ambele conversii se utilizeaz sumarea a cte doi biti s a a iar transportul se neglijeaz ceea ce se realizeaz cu o poart XOR. Prin mapare direct, a a a a utiliznd porti XOR pentru conversia binar - Gray din Figura 2.2-a rezult circuitu din a a Figura 2.18-b, iar pentru conversia Gray - binar din Figura 2.2-b rezult circuitul din Figura a 2.18-c. Evident, structura circuitului din Figura 2.18-a i 2.18-b indic i o exprimare iterativ s as a pentru aceste coversii. Aceste relatii iterative se pot deduce uor dac se noteaz cuvntul s a a a binar natural prin Bn1 Bn2 ...Bi ...B2 B1 B0 iar cuvntul cod Gray prin Gn1 Gn2 n a n ...Gi ...G2 G1 G0 . Relatiile pentru conversii sunt: Binar natural Gray : Gn1 = Bn1 , Gi = Bi+1 Bi pentru i = 0, 1, ...n 2; Gray Binar natural : Bn1 = Gn1 , Bi = Bi+1 Gi pentru i = 0, 1, ...n 2. (2.8)

Exemplul 2.11 S se structureze un circuit pentru detectarea i generarea paritii a s at unui cuvnt. a Solutie. Paritatea unui cuvnt de n biti refer numrul de biti 1 din acel cuvnt. a a a a Paritatea este par sau impar dup cum numrul de biti 1 ai cuvntului este par sau a a a a a impar. Paritatea poate utilizat ca un parametru determinarea dac un cuvnt a fost a n a a modicat/eronat urma transmisiei pe o linie de comunicatie. Se va explica acest procedeu n

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

207

x0 x1 a)

x0 +x1

b)

x0 x1 x2 x3 x4 x5 x6 x7 Paritate impara
IMPAR

Paritate para
IMPAR 0 1 1 0 0 1 1 0

0 IMPAR

IMPAR

c)

0 PAR

PAR
0 1 1 0

d)

PAR IMPAR

PAR

IMPAR
0 1 1 0

IMPAR PAR PAR

0 1 1 0

IMPAR PAR

PAR

0 0 1 1 0

e)

f)

Figura 2.19 Detectarea i generarea paritii: a,b) circuite pentru determinarea s at paritii unui cuvnt de doi biti respectiv de 8 biti; c,d) structur sub form de arbore at a a a din porti XOR pentru detectarea paritii pare respectiv impare a unui cuvnt de at a patru biti; e,f) structuri pentru generarea de cuvinte de 5 biti cu paritate impar a respectiv par. a

la transmisia serial a unui cuvnt cod ASCII-7 (American Standard Code for Information a a n Interchange, lungimea de cuvnt de 7 biti), vezi Exemplul 3.28. a La emisie, nainte de transmisie, se determin paritatea cuvntului de 7 biti prin numa a a rarea bitilor 1. Cnd transmisia se face cu paritate par se adaug al optulea bit, bitul de a a a paritate, de valoare 1 dac paritatea determinat a fost impar i se adaug al optulea bit a a as a de valoare 0 dac paritatea determinat a fost par. Iar pentru transmisia cu paritate impar a a a a se adaug al optulea bit de valoare 0 dac paritatea determinat a fost impar respectiv se a a a a adaug 1 dac paritatea determinat a fost par. a a a a La receptie, la o transmisie cu paritate par, dac se detecteaz paritate par a a a a nseamn c a a cuvntul transmis nu s-a modicat nici un bit (deci transmisie corect), ori s-a modicat n a a un numr par de biti 1 (transmisie incorect), iar dac paritatea detectat este impar a a a a a transmisia este incorect. Pentru transmisie cu paritate impar dac paritatea detectat a a a a este impar cuvntul transmis, nu s-a modicat nici un bit cu valoarea 1 (transmisie a n a corect), ori s-au modicat un numr par de biti (transmisie incorect) iar dac paritatea a a a a

208

2.2. REPREZENTAREA CLC

detectat este par transmisiunea este incorect. Rezult c utilizarea paritii pentru a a a a a n at determinarea corectitudinii transmisiei se consider implicit c se modic doar un numr a a a a impar de biti; alte metode pot utilizate pentru determinarea corectitudinii transmisiunii i pentru cazurile cnd se modic orice numr de biti i, chiar mai mult, pot s i corecteze s a a a s as eroarea produs cuvntul receptionat (metode detectoare - corectoare). a n a Sinteza unui detector de paritate, pentru un cuvnt cod ASCII-7, la emisie ar necesita a n un tabel cu 27 = 128 linii, iar pentru receptie cu 28 = 256 linii. Mai mult, deoarece conguratiile binare de intrare succesiunea lor alterneaz par-impar-par..., ar rezulta, n a pentru sinteza circuitului, o diagram V-K cu 128 respectiv 256 csute elementare dar cu a a o umplere de 1-uri form de tabl de ah, deci imposibil de minimizat. Acest mod de n a a s abordare ar necesita la receptie o implementare cu 128 porti AND cu 8 intrri i o poart a s a OR cu 128 de intrri! Trebuie gsit o alt modalitate de exprimare i deci de implementare. a a a a s Suma aritmetic, XOR, a unui numr par de biti 1 dintr-un cuvnt este totdeauna zero i a a a s este totdeauna unu pentru un numr impar de biti 1. Deci elementul repetitiv detectarea a n tipului de paritate este poarta XOR (pentru un cuvnt de doi biti o singur poart Figura a a a 2.19-a, iar pentru un cuvnt de opt biti un lant de apte porti XOR ca Figura 2.19a s n b. Descrierea unei astfel de structuri repetitive rezult prin aplicarea repetitiv a axiomei a a asociativitii operatorului XOR pentru cuvntul de opt biti: at a (((((((x0 x1 ) x2 ) x3 ) x4 ) x5 ) x6 ) x7 ). Dezavantajul acestei implementri rezid a a n nserierea a apte niveluri de porti XOR. Se s poate obtine o implementare cu o propagare numai pe trei niveluri de porti XOR dac se a aplic asociativitatea ai pe grupuri de 2 intrri apoi pe grupuri de cte 4 i de cte 8, a nt a a s a rezultnd o structur de arbore binar. a a (((x0 x1 ) (x2 x3 )) ((x4 x5 ) (x6 x7 ))). Se va exemplica, cu o structur sub form de arbore, pentru detectarea par/impar a a la un cuvnt de 4 biti care are pe ieire o poart XOR pentru semnalarea de paritate a s a par a P AR = 0 i respectiv o poart NXOR pentru semnalarea de paritate impar s a a IM P AR = 0 (s-a ales un NXOR pentru ca detectarea paritii impare s e semnalat at a a tot prin valoarea logic zero, ca i la paritatea par). ( a s a Incercati o structurare pentru 8 intrri). Figura 2.19-c acest circuit este utilizat pentru vericarea paritii pare (pentru a In at P AR = 0, IM P AR = ) i genereaz, de exemplu, pentru cuvntul de intrare 0110 la ieire s a a s semnalul activ de paritate par a P AR = 0. Acelai circuit dar utilizat pentru vericare s de paritate impar (pentru P AR = , IM P AR = 0) este prezentat Figura 2.19-d, unde a n pentru acelai cuvnt de intrare 0110 (par) genereaz un semnal fals de paritate impar s a a a IM P AR = 1. Ca generator de paritate, acelai circuit este utilizat pentru a produce un cuvnt de 5 s a biti cu paritate impar (pentru IM P AR = 0, P AR = ) Figura 2.19-e, iar pentru a a n produce paritate par (pentru P AR = 0, IM P AR = ) Figura 2.19-f. Bitul generat a n pe ieirile s IM P AR sau P AR se adaug ca al cincelea bit pentru a realiza paritatea a impar respectiv par a cuvntului de 5 biti care se transmite. a a a Se observ c circuitul pentru detectarea paritii pare este utilizat i la generarea a a at s paritii pare, de asemenea circuitul pentru detectarea paritii impare este utilizat i la at at s generarea paritii impare. at

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

209

2.3

REALIZAREA CIRCUITELOR COMBINATIONALE

Pentru realizarea unui CLC, in general, se parcurg urmtoarele etape: a 1. Formularea/exprimarea, termeni ct mai precii, a problemei care trebuie n a s rezolvat. a 2. Pe baza formulrii problemei se construiete tabelul de adevr care stabilete a s a s relatia dintre variabilele de intrare i cele de ieire. Atentie trebuie acordat s s a nivelului logic asignat pentru starea activ a ecrei variabile de intrare i pentru a a s ieiri (un semnal X activ stare L se noteaz X L sau uneori cu X). s n a 3. Se utilizeaz o metod de minimizare (diagrama V-K, sau o metod algoritmic a a a a sub forma unui program) pentru a obtine o form redus/minim ca o functie a a a disjunctiv, FD, sum de produse sau ca o functie conjunctiv, FC, produse de a a a sume (vezi sectiunea 1.1.5). 4. Implementarea circuitului. Forma FC sau FD se potrivete astfel at imples nc mentarea s e realizat cu tipurile de poart impus/disponibil i functie a a a a a s n de tehnologia utilizat. Se deseneaz structura circuitului. a a 5. Se testeaz circuitul i se elaboreaz documentatia. a s a Functiile FC sau FD obtinute la punctul 3 pot implementate pe dou niveluri a logice. Aceasta presupune, implicit, c la intrare sunt disponibile variabilele att sub a a form negat ct i sub form nenegat. Aceast presupunere se bazeaz pe faptul a a a s a a a a c variabilele sunt memorate cu registre a cror ieiri sunt disponibile att negate ct a a s a a i nenegate. s Teoretic, se pune ntrebarea, utiliznd cele patru tipuri de porti uzuale AND, a OR, NAND, NOR, cte combinatii de implementare pe dou niveluri sunt posibile? a a Implementarea pe dou niveluri are mai multe porti de acelai tip pe primul nivel iar a s pe al doilea nivel o singur poart; nu este restrictionat utilizarea aceluiai tip de a a a s poart pe ambele niveluri. Rezult total 16 combinatii de implementare pe dou a a n a niveluri, dar dintre acestea opt variante sunt degenerate (AND-AND, AND-NAND, OR-OR, OR-NOR, NAND-OR, NAND-NOR, NOR-AND, NOR-NAND). Variantele degenerate se reduc la un singur operator, de exemplu porti AND primul nivel i n s poart AND al doilea nivel produce o ieire care este un AND de toate variabilele a n s de intrare. Celelalte opt variante nedegenerate sunt: AND-OR NAND-NAND NOR-OR OR-NAND OR-AND NOR-NOR NAND-AND AND-NOR

Formele situate pe acelai rnd sunt duale (Denitia 1.2). Variantele AND-OR i s a s OR-AND sunt cele de baz i corespund implementrii directe a formelor FD, sum as a a de produse, repsectiv FC, produs de sume. Variantele cu un singur tip de poart a NAND-NAND i NOR-NOR se obtin prin transformri respectiv a variantelor de baz s a a AND-OR i OR-AND. Conversia AND-OR NAND-NAND apare ca o transformare s n

210

2.3. REALIZAREA CIRCUITELOR COMBINATIONALE

natural dar nu la fel de natural apare conversia NOR-NOR, Figura 1.5-a,b. De a a n asemenea, conversia OR-AND NOR-NOR apare ca o transformare natural dar n a mai putin natural apare conversia NAND-NAND, Figura 1.5-c,d. a n
A B C D A B C D A B C D A B C D

a)
A B C D

NANDAND

ANDNOR

ANDOR

NEGAT

A B C D

A B C D

A B C D

b)

NOROR

ORNAND

ORAND

NEGAT

Figura 2.20 Echivalenta formelor de impelmentare pe 2 niveluri: a)NAND AND cu AND-NOR (echivalent AND-OR-NEGAT) ; b) NOR-OR cu OR-NAND ( OR-AND-NEGAT). Se poate demonstra c variantele de implementare NAND-AND i AND-NOR sunt a s plus, aceste doua variante echivalente: (AB)(CD) = (AB)(CD) = (AB) + (CD). In se obtin din varianta de baz AND-OR, sum de produse, prin negare adic, AND a a a OR-NEGAT Figura 2.20-a. Varianta AND-OR de implementare este a unei functii f care se obtine ca sum de produse prin acoperirea tuturor csutelor elementare a a cu 1 din diagrama V-K, pe cnd varianta AND-OR-NEGAT de implementare este a a functiei negate, f , care se obtine ca sum de produse prin acoperirea tuturor csutelor a a elementare cu 0 din diagrama V-K. Dac din diagrama V-K forma f se obtine mai a uor, atunci aceasta se extrage i apoi prin complementare produce pe f . s s De asemenea,exist echivalenta a ntre NOR-OR i OR-NAND:(A + B)+(C + D) = s (A + B) + (C + D) = (A + B)(C + D) i care se obtin din forma de baz OR-AND, s a produs de sume negat, adic OR-AND-NEGAT, Figura 2.20-b. Dac extragerea a a functiei f ca produs de sume din diagrama V-K, prin selectarea suprafetelor cu zero, este o operatie mai complicat dect extragerea functiei f ca produs de sume din dia a a grama V-K prin selectarea suprafetlor cu unu, atunci se procedeaz pentru obtinerea a lui f care, apoi, prin negare genereaz pe f . a Denitia 2.7 Pentru un CLC cu n intrri se noteaz adncimea D(n), care a a a este egal cu numrul maxim de niveluri logice (porti) prin care se propag cel putin a a a unul dintre semnalele de la intrare pn la ieire. a a s Adncimea minim obtinut pentru implementarea unei functii FC sau FD este a a a egal cu 2. Dintre variantele nedegenerate de implementare pe dou niveluri sunt a a recomandate NAND-NAND i NOR-NOR deoarece: s 1. introduc o uniformitate structural prin utilizarea aceluiai tip de poart, deci a s a faciliti tehnologice. at

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

211

2. elimin efectele de propagare. La frecvente ridicate, cnd durata/limea impula a at surilor este redus, transferul unui impuls printr-un lant de de porti neinversoare a poate duce la disparitia acestuia (reducerea limii impulsului dup propagarea at a prin ecare nivel logic), ceea ce nu se ampl la tranferul impulsului printrnt a un lant de porti inversoare. Un astfel de fenomen se explic prin faptul c, a a n general, pLH > pHL , consecinta, la transferul prin ecare poart neinvern a soare limea inpulsului se at ngusteaz cu duarata = pLH pHL , pe cnd la a a transferul printr-un lant de porti inversoare, limea impulsului se reface dup at a ecare 2 niveluri logice. Adncimea D(n) a unui circuit reect timpul de propagare care este egal cu a a durata de propagare printr-o poart, p , a nmultit cu numrul n de niveluri logice, deci a determin performanta, frecventa de lucru a circuitului f = 1/n p . acest sens, a In rezult c implementrile pe dou niveluri sunt cele recomandate deoarece determin a a a a a un timp minim de propagare, 2p , prin circuit. Totui, acest recomandare trebuie s a analizat critic functie de tehnologia de implementare. a n Pentru realizarea CLC pe suport de circuit imprimat i porti logice discrete imples mentarea functiei pe dou niveluri logice este optim. Este corect aceast armatie a a a a mai ales cnd portile sunt tehnologie bipolar, la care timpii de propagare sunt a n a mai putin sensibili la valoarea de arcare (fan-out). Nu aceeai valabilitate o are nc s aceast armatie pentru implementrile integrate tehnologie CMOS. a a n tehnologie CMOS, cnd arzierea pe poart este pronuntat afectat de arIn a nt a a nc carea portii, implementarea pe dou niveluri logice s-ar putea s nu e cea optim a a a pentru optinerea unui circuit de vitez ridicat. Alegerea numrului optim N de a a a niveluri logice pe un anumit traseu functie de arcarea traseului este prezentat n nc a n sectiunea 1.5.6.2, Tabelul 1.15. Obtinerea unei expresii pentru o implementare multi nivel, dintr-o form redus dinsjunctiv, se realizeaz prin utilizarea axiomei distribua a a a tivitii. De exemplu, expresia ACD + AB + BC, implementabil pe dou niveluri at a a AND-OR ca Figura 2.21-a, prin factorizarea variabilei A va implementabil pe n a patru niveluri: dou porti AND pe primul nivel, o poart OR pe nivelul doi, o poart a a a AND pe nivelul trei i o poart OR pe nivelul patru. Dar aceast structur poate s a a a transformat pentru o implementare, tot pe patru niveluri, numai cu porti NAND ca a Figura 2.21-b. Formele de scriere care exprim aceste implementri sunt: n a a ACD + AB + BC = A(CD + B) + BC = ((CD B)A)(BC) Prin scalare, (Tabelul 1.11) timpul de propagare pe poart se micoreaz dar a s a datorit faptului c la aceleai dimensiuni ale cipului majoritatea traseelor de coa a s municatie/ interconectare rmn la aceleai lungimi, acestea determin ca o serie de a a s a alti parametrii ai circuitului (cderea de tensiune, densitatea de curent, rezistentele a de contact, timpul de propagare pe linie) s e afectati de degradri (vezi sectiunea a a 4.5). plus, diminuarea puterii disipate pe poart determin o abilitate micorat In a a s a a portii pentru comanda capacitii liinilor. asemenea circumstante, cnd scalarea at In a are inuenta mult mai mare asupra timpilor de propagare prin porti dect asupra a timpilor de propagare prin conexiuni, arzierea medie pe nivel logic este mai puternic nt determinat de interconexiuni dect de porti, consecinta, un numr redus de porti a a n a nseriate nu determin automat i performant de vitez ridicat pentru circuit. a s a a a

212

2.3. REALIZAREA CIRCUITELOR COMBINATIONALE

A C D B A B C a)

C D B A B C b) a b

Figura 2.21 Implementarea expresiei ACD + AB + BC pe dou niveluri logice a (a) i pe patru niveluri logice (b). s Un CLC cu n intrri, pe lng adncimea D(n), mai trebuie caracterizat i prin a a a a s efortul structural necesar pentru realizarea sa, adic prin dimensiunea sa, notat cu a a S(n). Dar, acest efort trebuie exprimat printr-un numr ce reect i este specic unei a as tehnologii de implementare. De exemplu, pentru realizare pe plac de sticlotextolit a cu circuite integrate discrete, acel numr ar putea : numrul de puncte de wrapping a a ori de lipit, numrul de circuite integrate sau numrul tuturor intrrilor circuitele a a a n integrate. Dac se realizeaz integrat, acel numr ar putea : numrul total de porti, a a a a numrul tuturor intrrilor portile circuitului sau suprafata de siliciu consumat. a a n a Denitia 2.8 Dimensiunea S(n), asociat unui circuit cu n intrri, se exprim a a a prin numrul de intrri al tuturor circuitelor integrate din care se congureaz acel a a a circuit. general, S(n) se exprim ca ordin de mrime. In a a Conform acestei denitii, toate circuitele cu patru intrri (n = 4) pe dou niveluri a a din Figura 2.20 au S(4) = 6 iar cele pe trei niveluri au S(n) = 7, iar circuitele din Figura 2.12 au S(n) = 1 + 2 + (n 2) 4 = 4 n 5 O(n) Semnalm corelatia care se poate face a ntre dimensiunea S(n), dat prin Denitia a 2.8 i efortul logic exprimat prin Denitiile 1.16, 1.17 i 1.18. Conform Denitiei 2.8 s s , o poart cu ct are mai multe intrri, cu att dimensiunea sa este mai mare i, la fel, a a a a s un CLC cu ct este compus din mai multe porti, i acestea au dimensiunea mai mare, a s cu att dimensiunea rezultat va mai mare. Similar, o poart logic CMOS cu ct a a a a a are mai multe intrri, are un efort logic g(n) mai mare, relatiile de calcul din Tabelul a 1.13 exprim clar aceast dependenta. De asemenea, cu ct un traseu tehnologie a a a n CMOS este realizat din mai multe niveluri, i ecare nivel are efortul logic mai mare, s cu att i efortul logic G al traseului este mai ridicat. Deci, pentru implementrile a s a CMOS s-ar purtea utiliza efortul logic ca o msur a dimensiunii circuitului. a a Intre cele dou mrimi S(n) i D(n), care caracterizeaz un CLC, exist o intera a s a a dependenta, vizibil i intuit de oricare proiectant, dar care nu este exact denit. as a a Practic, se constat c dac se caut pentru CLC o variant de implementare mai a a a a a rapid, deci cu un D(n) mai mic, se constat c este necesar s se mreasc dimensia a a a a a unea S(n). [Stefan 00] se propune o formalizare a acestei interdepentente: e variIn anta1 a a unui circuit cu n intrri care realizeaz functia f caracterizat prin S 1 (n) i a a a s D1 (n). Dac varianta2 a acestui circuit este caracterizat prin D 2 (n) < D1 (n) atunci, a a relatia ntre produsele S(n) D(n), ale celor dou variante, este corect a a S2 (n) D2 (n) > S1 (n) D1 (n) (2.9)

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

213

adic, mrirea performantei circuitului (micorarea adncimii) cu un anumit factor a a s a (de performata) implic creterea dimensiunii circuitului de mai multe ori dect val a s a oarea acestui factor de preformata (vitez). a Pentru compararea variantelor de realizare a unui CLC trebuie s existe un paa rametru sintetic, acesta poate exprimat prin raportul cost/performant (care a exprim ct costa unitatea de performanta). Costul este determinat de dimensiunea a a S(n) exprimat nu neaprat functie de numrul de terminale, ca Denitia 2.8 , a a n a n ci de oricare caracteristic ce poate determina dimensiunea. plus, pe lng S(n), a In a a costul este determinat i de complexitate C(n), denitia 2.1 . Un circuit chiar de s dimensiune mare dar simplu (structur ordonat, repetitiv) poate realizat la un cost a a rezonabil, nu la fel se poate arma despre costul unui circuit de dimensiune ridicat a i complex (structur ampltoare - random logic). s a nt a Un alt aspect urmrit realizarea unui CLC este de ordin calitativ, adic o a n a functionare corect, ceea ce implic eliminarea situatiilor de hazard. De asemenea, a a uneori, se impune ca circuitul s e recongurabil, adic adaptabil prin modicarea a a structurrii pentru mai multe aplicatii sau pentru aceeai aplicatie dar diferite a s n variante. Recongurabilitatea a devenit un concept curent sistemele digitale n actuale.

2.3.1

Hazardul static

Analiza circuitelor combinationale s-a efectuat pna acum considernd regimul a a static (intrrile i ieirile nu au variatii timp), pentru aceasta se presupune c a s s n a din momentul de modicare a valorilor variabilelor de intrare a trecut deja un timp mult mai lung dect timpul de propagare prin circuit (regimul tranzitoriu), deci ieirea a s este stabilizat. regim static, valoarea logic a ieirii se calculeaz corect cu functia a In a s a logic a circuitului. Dar, ce se ampl intervalele tranzitorii, pe intervalele de a nt a n timp cnd semnalele sunt propagare de la intrare la ieire? La aplicarea unei a n s conguratii pe intrare, de multe ori, valoarea logic real (obtinut la ieire pe durata a a a s regimului tranzitoriu) nu este identic cu valoarea logic la ieire calculat cu functia a a s a logic a circuitului; valoarea logic la ieire devine egal cu cea calculat numai dup a a s a a a consumarea regimului tranzitoriu. Aceste situatii cnd CLC, care trebuie s aib un a a a ,, comportament controlabil, prezint o functionare hazardat (necontrolat) fat de a a a a analiza regim static sunt referite cu termenul de hazard static. Fizic, hazardul n static se manifest prin aparitia semnalul de ieire a unor impulsuri parazite a n s (glitch-uri) e cu nivel logic H e cu nivel liogic L. Posibilitatea de producere a glitch-urilor pe durata regimurilor tranzitorii apare ca o consecinta a dou cauze: 1) a comutarea asincron a valorilor variabilelor de intrare (hazardul datorat asincronismul a la intrare); 2) existenta pentru o variabil de intrare a dou trasee de propagare cu a a arzieri diferite (hazardul de propagare). nt 1) Hazardul datorit asincronismului la intrare. a Trecerea de la o valoare logic a ieirii la o alt valoare logic este cauzat de modicarea (comutarea) a s a a a conguratiei cuvntului de intrare. Implicit, s-a considerat, pn acum, c aceast a a a a a comutare a tuturor variabilelor de intrare de la o anumit conguratie la o alta se a face acelai moment de timp, se realizeaz o comutare sincron. realitate, cnd n s a a In a se trece de la o conguratie a variabilelor de intrare la o alta exist un decalaj a ntre momentele de comutare ale diferitelor variabile, poate numai ampltor exist o nt a a

214

2.3. REALIZAREA CIRCUITELOR COMBINATIONALE

comutare sincron. De fapt, acest asincronism face ca a ntre conguratia de intrare prezent i conguratia de intrare urmtoare s se interpun, pe durata regimului a s a a a tranzitoriu, una sau mai multe conguratii de intrare care produc glitch-uri sem n nalul de ieire. s
A B B AB AB A+B A+B A+B A+B Comutare sincrona A A Comutare asincrona
t L< tH tL tH t H< t L tH tL tH t H< t L tL tL t L< tH tH

Figura 2.22 Explicativ pentru aparitia hazardului datorit asincronismua a lui la intrrile portilor AND,OR i XOR a s Aparitia hazardului datorit asincronismului intrrilor este exemplicat Figura a a n 2.22 pentru portile AND,OR,XOR cu dou intrri. Considernd o comutare spre a a a valori opuse ale intrrilor A, B s-a desenat variatia semnalului de ieire att pentru a s a comutare sincron ct i pentru comutare asincron. La comutare asincron, cnd a a s a a a tranzitia negativ precede pe cea pozitiv, t L < tH ,, sau cnd tranzitia pozitiv a a a a precede pe cea negativ, tH < tL , semnalul de ieire din poart poate arcat cu a s a nc glitch-uri (hazard). Acest semnal de ieire, dac va utilizat ca semnal de intrare s a pentru un circuit urmtor, va produce o functionare eronat. Se poate evita hazardul a a de nesincronizare dac se impune ca conguratia de intrare nciodat s nu comute a n a a mai mult de o singur variabil sau a a nainte de aplicarea conguratiei pe intrrile a circuitului aceasta s e sincronizat (vezi Figura 3.46). a a 2) Hazardul de propagare. Dac la o poart din interiorul circuitului, sau a a din nivelul de ieire al circuitului, semnalele aplicate la intrarea circuitului ajung pe s trasee diferite, care implic arzieri diferite, atunci la ieirea acelei porti poate apare a nt s hazard. De fapt, la poarta generatoare de hazard semnalele se aplic la intervale de a timp diferite ceea ce, de fapt, reduce hazardul de propagare tot la un hazard de asincronism, numai c de data aceasta asincronismul nu este la intrrile circuitului a a ci la intrrile unei porti din circuit, adic interiorul circuitului. De exemplu, la a a n circuitul pe patru niveluri din Figura 2.21-b pn la intrarea portii NAND de pe a a ultimul nivel variabilele parcurg: A -un nivel logic, B -pe un traseu dou niveluri a logice i pe alt traseu un nivel logic, C -trei niveluri logice, C un nivel logic, D s trei niveluri logice. Rezult c chiar dac conguratia de intrare se aplic sincron, a a a a la intrarea ultimei porti, cele dou semnale A i B vor avea o variatie hazardat a s a determinat de timpii de propagare ai portilor de pe traseele parcurse. Calculul exact a al arzierilor pe ecare traseu ampin diculti deoarece ca dat de catalog este nt nt a at a

hi hi hi hi hi
tL tL

tH tH

B AB A+B A+B

fg fg fg fg fg pq pq pq pq pq

bc de b d XY `a X `

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

215

dat doar timpul de propagare maxim nu i cel minim, care, general, un este identic s n la toate portile (depinde de dispersia tehnologic) i este functie i de incrcarea pe a s s a ieirea portii. s Dar chiar i la implementrile pe dou niveluri se poate genera hazard de propagare s a a cazurile cnd unele variabile negate sunt generate interiorul circuitului (de fapt n a n negarea interiorul circuitului introduce pentru unele semnale al treilea nivel de n propagare). aceste cazuri rezut c implementrile de tipul AND-OR, NANDIn a a a NAND produc hazard static 1, adic pe durata regimuluii tranzitoriu, chiar cnd a a doar o singur variabil de intrare comut, semnalul de ieire care ar trebui s e 1 a a a n s a apare un glitch 0; de asemenea, implementrile de tipul OR-AND, NOR-NOR produc a hazard static 0, adic pe durata regimului tranzitoriu semnalul de ieire care ar a n s trebui s e 0 apare un glitch 1. a Teorema 2.1 Dac expresia unei functii poate adus la forma a a f (xn1 , xn2 , ..., xi , ..., x1 , x0 ) = xi + xi atunci, ntr-un circuit implementat cu porti logice, se va genera hazard static 1 la comutarea variabilei de intrare xi din 1 0 (pentru valori precizate ale celorlalte n variabile de intrare).
f 2=AB+AC

B=1

p 2

a)

C=1

1 0 1 0 1 0 b)

AB=A1 AC=A1=A F(A,B,C)=A+A

Figura 2.23 Analiza aparitiei hazardului static 1 pentru functia f2 = AB + AC: a) structura circuitului; b,c) analiza aparitiei hazardului pe diagrama de semnale respectiv pe diagrama V-K; d) modicarea circuitului (linie ntrerupt) a pentru eliminarea hazardului. Se va exemplica aparitia hazardului pe urmtoarele dou functii: f 1 = AB + a a ABC, f2 = AB + AC. Functia f1 nu poate adus pentru nici o combinatie de a

rs

1 0

AB 3 AC 1 0

BC 0

AC 00 01 1 11 1 1 BC (adaugat) 1 AB 10

A+A c) 1

A B=1 1 p 2 C=1 d)

AB

AC

3 BC (adaugat)

216

2.3. REALIZAREA CIRCUITELOR COMBINATIONALE

s valori ale variabilelor B i C la forma A + A i la fel nu poate adus la forma s a + B pentru nici o combinatie de valori date variabilelor A i C. A doua functie B s poate adus la forma f2 = A + A dac B = C = 1. Rezult c circuitul, Figura a a a a 2.23-a, care implementeaz functia f2 , prezint hazard static 1; generarea hazardua a lui se poate analiza cu ajutorul diagramelor de semnal din Figura 2.23-b. Variatia variabilei A, de la 1 la 0, ajunge la intrarea portii 3 pe primul traseu prin semnalul produs logic AB de la poarta 1 i pe al doilea traseu prin semnalul produs logic AC s de la poarta 2 (dar cu o arziere p ), deci un asincronism la intrarea portii 3. De nt asemenea, analiza aparitiei hazardului static 1 se poate face i pe diagrama V-K din s Figura 2.23-c. Functia are valoarea logic 1 la ieire cnd conguratia variabilelor de a s a intrare corespunde unui implicant prim, IP, implicant cee a fost selectat pentru expri,, marea functiei. Mai plastic exprimat, punctul de functionare al functiei se a a n interiorul suprafetei unui implicant prim cnd la intrarea circuitului se aplic valorile a a coordonatelor acelui implicant. Dac prin comutarea unei singure variabile punctul a ,, de functionare rmne interiorul suprafetei acelui implicant prim nu se genereaz a a n a ,, hazard (ieirea ind asigurat valoare 1), dar dac punctul de functionare trece s a n a n interiorul asuprafetei unui alt implicant prim, se genereaz hazard static 1 (ieirea, pe a s durata trecerii ntre cele dou suprafete/inplicanti nu mai este asigurat 1, devine a a n 0). diagrama V-K a functiei f2 la comutarea lui A de la 1 la 0 se trece din suprafata In implicantului prim AB (pentru care ieirea este 1) suprafata implicantului prim s n n AC (pentru care ieirea este 1). Pentru ca prin aceast comutare punctul de s n a ,, functionare s rmn totui interiorul unei suprafete de 1 (care s asigure ieirea a a a a s n a s ,, la valoarea 1) se introduce a o suprafata diagrama V-K (o suprafata punte nc n ntre suprafetele celor doi implicanti primi) care corespunde implicantului prim BC. consecinta, structura circuiitului, Figura 2.23-d, trebuie adugat poarta 4 care In n a a genereaz produsul BC (partea de circuit desenat punctat). Fizic, introducerea ima a plicantului prim neesential BC elimin hazardul deoarece asigur ieirea functiei a a s n 1 pe durata de propagare, p , a semnaluilui A prin poarta inversoare cnd la ieire ar a s A + A = 0. Ca regul general, se poate enunta: nu apare hazard la comutarea unei variabile a a ,, dac punctul de functionare rmne interiorul aceleiai suprafete de 1, dar dac a a a n s a se trece intr-o alt suprafata de 1, se va produce hazard static 1. Pentru eliminarea a hazardului este necesar introducerea unui produs structura circuitului a crui a n a ,, coordonat determin o suprafata punte (implicant prim cu valoarea 1) pe diagrama a a ,, V-K, interiorul creia s rma punctul de functionare la comutarea variabilei. n a a a n Functia (A+B)(A+C), care este forma dual a functiei analizate anterior, pentru a valorile C = 0, B = 0 se reduce la produsul A A, va genera hazard static 0, adic va a produce un glitch 1 pe ieire cnd variabila de intrare A va comuta de la 0 la 1. Pentru s a eliminarea acestui glitch este necesar a se introduce implementarea circuitului a n termenului sum (suplimentar) B + C, care va asigura valoarea 0 pe ieirea functiei a s atunci cnd A comut de la 0 la 1. a a exprimrile anterioare, de multe ori, loc de sintagma forma minim ,, a In a n a functiei s-a utilizat forma redus. Aceasta pentru c chiar dac prin sintez se a a a a obtine o form minim, prin implementare, pentru eliminarea hazardului, se introduc a a implicanti neesentiali i nal se ajunge la o form redus. Circuitul din Figura 2.23 s n a a d demonstreaz aceasta, pentru eliminarea hazardului static, formei minime AB +AC a i se adaug termenul BC, deci implementarea este a unei forme reduse. a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

217

A t p p t t t t

A I1 p p p AA A+A A+A AA A+A A+A

Figura 2.24 Circuite cu porti AND,OR,XOR pentru detectarea de fronturi. Producerea asincronismului la intararea unei porti prin aplicarea unei variabile i s a aceleiai variabile negate (prin intermediul unui inversor) poate utilizat pentru s a detectarea de fronturi, Figura 2.24. La aceste circuite dac se consider punctele a a de intrare poart pozitia gurat de linia n a n a ntrerupt notat cu I 1 se observ a a a un asincronism la intrarea portii; variatia pe intrarea A apare totdeauna arziat nt a cu timpul p de propagare prin inversor raport cu variabila pe intrarea A. Poarta n AND genereaz un impuls pozitiv cu durata p pentru un front pozitiv, poarta OR a genereaz un impuls negativ pentru un front negativ iar poarta XOR genereaz un a a impuls negativ pentru oricare tip de front. La ieirea unui CLC poate aprea pentru o comutare a unei variabile de intrare de s a la 1 la 0 i urmtoarea comutare hazardat 1 0 1 0 (trei schimbri ale valorii s a a a ieirii) respectiv pentru o comutare de la 0 la 1 pot aprea urmtoarele trei schimbri s a a a ale ieirii: 0 1 0 1, acest comportament este referit ca hazard dinamic. s Hazardul dinamic este cauzat de existenta circuit a trei sau mai multe trasee diferite n pentru o variabil de intrare, ecare traseu avnd un alt timp de propagare. Astfel a a de structuri rezult urma factorizrii expresiilor sum de produse, Figura 2.21-b, a n a a sau cnd exist trasee lungi de interconectare a a ntre porti de vitez ridicat. Hazardul a a dinamic poate evitat dac se realizeaz implementri numai pe dou niveluri logice, a a a a adic aducerea expresiei de implementat la o form FD. a a Notiunile prezentate pn acum acest capitol a a n mpreun cu cele de structurarea a portilor, expus capitolul 1, constituie un suport pentru realizarea unui CLC a n pornind de la formularea functionrii cerute/impuse pn la implementarea a a a ntr-o anumit tehnologie. Dar, parcurgerea tuturor etapelor, de ecare dat cnd se rea a a alizeaz un sistem, apare ca o abordare nerecomandat att din punct de vedere al a a a efortului ct i al timpului consumat, deci in nal al costului. acest sens, este recoa s In ,, mandabil ca pentru realizarea unui sistem s se utilizeze componente prefabricate . a cadrul circuitelor combinationale pentru anumite functii logice, aritmetice sau de In comunicatie foarte des utilizate, exist deja circuite care modeleaz acele functii real a a izate ntr-o anumit tehnologie, integrate pe scar mic SSI (Small Scale Integration), a a a

218

2.4. CLC PENTRU FUNCTII LOGICE

pe scar medie MSI (Medium Scale Integration) sau chiar integrate pe scar mare a a LSI (Large Scale Integration) . stadiul actual, cnd este necesar realizarea unei In a a astfel de functii uzuale, nu se mai implementeaz circuitul, ci se alege un circuit obten a abil comercial pentru care este necesar cunoaterea datelor electrice de catalog i a a s s variantelor de functie logic. Pentru un sistem mai complex, functia acestuia se caut a a a sintetizat din functii uzuale pentru care exist deja circuite implementate, deci a a realizarea sistemului se reduce la selectarea potrivit de componente integrate deja a existente i conectarea lor corespunzator. Functiile uzuale care au un suport s circuistic combinational sunt de tip: logic, aritmetic i de comunicatie. s In continuare, acest capitol, se vor prezenta unele circuite combinationale, de facto n standard, care realizeaz astfel de functii. a

2.4

CIRCUITE COMBINATIONALE PENTRU FUNCTII LOGICE

Forma redus, sau cea minim, a functiei unui circuit combinational este e o sum a a a de produse, e un produs de sume. Aceste forme pot implementate pe organizri cu a dou niveluri de AND-OR (NAND-NAND) sau OR-AND (NOR-NOR). consecinta, a In este normal ca pentru implementarea unei functii reduse, sau minime, s se apeleze la a acele structuri, pe dou nivele, deja realizate. Pentru toate circuitele combinationale a prezentate continuare se va urmri msura care acestea pot un suport pentru n a a n implementarea de functii logice pe dou niveluri. a

2.4.1

Codicatorul

Functia de codicare const a ntr-o translatare de limbaj. Particulariznd aceast a a foarte general denitie, o codicare binar const a n a ntr-o aplicatie de pe o multime cu n elemente disjuncte ntr-o multime de cuvinte binare cu lungime de m biti; m = log2 n biti, 2m n (simbolul denot cel mai mic numr intreg egal sau mai a a mare dect numrul din interiorul simbolului). Deci, circuitul codicator, CDC, este a a caracterizat de n intrri i m ieiri, notat simbolic cu CDCn:m. Aplicatia realizat de a s s a circuitul codicator este injectiv, adic ecrei intrri active, din cele n, corespunde a a a a i doar un singur cuvnt de ieire cu lungimea de m biti. a s Pentru exemplicare se va prezenta sinteza unui codicator din zecimal (DEC) cod BCD, cu schema bloc reprezentat Figura 2.25-a. Circuitul are 10 intrri n a n a (I0 , I1 , I2 , ..., I9 ) corespunztoare celor zece cifre zecimale i genereaz un cuvnt de a s a a ieire pe 4 biti (24 > 10). La aplicarea pe intrare a cifrei zecimale i, prin activarea s intrrii Ii , la ieire se genereaz codul BCD al cifrei i. Detaliat, functionarea codifa s a catorului DEC/BCD este descris prin tabelul de adevr din Figura 2.25-b. Se poate a a deduce expresia logic a ieirii O3 felul urmtor: O3 are valoarea logic 1 numai a s n a a cnd la intrare se aplic cifra 8 sau cifra 9, adic este activat intrarea I 8 SAU I9 , a a a a deci O3 = I 8 + I 9 Rationnd acelai mod se deduc ecuatiile logice i pentru ceilalti trei biti ai a n s s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

219

cuvntului de ieire: a s O2 = I 4 + I 5 + I 6 + I 7 O1 = I 2 + I 3 + I 6 + I 7 O0 = I 1 + I 3 + I 5 + I 7 + I 9

I0 I1 I2 I3 I4 I5 I6 I7 I8 I9

"4" "5" "6" "7" "8" "9"

I4 I5 I6 I7 I8 I9

DEC

a)

b)
CV

c)

Figura 2.25 Sinteza circuitului codicator zecimal - binar, DEC/BCD : a) schema bloc; b) tabelul de adevr; c) structura circuitului. a Structura circuitului codicator, implementat pe baza acestor ecuatii, este repre zentat Figura 2.25-c i se compune din patru porti OR cu 2,4 i 5 intrri. a n s s a cazul general de codicare a n elemente, prin activare 1 logic, pe cuvinte In n binare cu lungimea de m biti circuitul codicator const m porti OR cu maximum a n n n intrri, iar cnd intrrile Ii L sunt active 0 logic codicatorul este structurat din a a a m porti NAND cu maxim n intrri. a Observatia important care rezult din aceast implementare este: Codica a a a torul este implementat pe un nivel OR sau operatia de codicarea este o functie logic OR. a Analiznd implementarea CDC apar dou deciente. Prima, la ieire nu se poate a a s face distinctie ntre cazul cnd cuvntul de cod pe ieire are valoarea O 3 O2 O1 O0 = a a s 0000, datorit faptului c nu s-a activat nici o intrare, sau cazul cnd s-a activat a a a intrarea I0 . Se poate face distinctia ntre cele dou cazuri dac se genereaz un a a a semnal de ieire CV care semnalizeaz cod valid CV = 1, respectiv cod invalid CV s a = 0. Citirea unui cod invalid CV = 0 apare numai atunci cnd nu este activat nici a a o intrare i este citit un cod corect cnd una din intrri I i este activat, deci rezult s a a a a ecuatia logic CV = (I0 + I1 + ... + I8 + I9 ), care este implementat Figura 2.25-c a a n prin traseele cu linii punctate i o poart OR. s a

xy

I0 O0 y0 I1 O1 y1 I2 BCD I 3 O2 y2 I4 O3 y3 I5 I6 I7 I8 I9

Intrarea activata (cifra zecimala)

("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9")

Cod BCD O3 O2 O1O0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1

"1" "2" "3"

I1 I2 I3

vw tu

"0"

I0

DEC/BCD O0 y0 20 O1 y1 21 O2 y2 22 O3 y3 23

220

2.4. CLC PENTRU FUNCTII LOGICE

A doua decienta const faptul c CDC functioneaz corect numai cnd o a n a a a singur intrare este activat, de exemplu la activarea simultan a intrrilor I 3 i I4 a a a a s cuvntul de cod generat este 0111 (incorect!), care ar corespunde aplicrii cifrei 7 a a dar intrarea I7 nu a fost activat ci doar I3 i I4 . Ca circuit codicator DEC/BCD, a s obtenabil comercial, exist circuitul integrat 74xx147. a

2.4.2

Codicatorul prioritar, CDCP

A doua decienta a circuitului codicator se poate elimina prin introducerea unei prioriti generarea codului. La o codicare cu prioritate, ecrei intrri I i i se at n a a aloc o anumit prioritate intervalul de la cea mai mic pn la cea mai ridicat a a n a a a a prioritate. Astfel, la activarea simultan a mai multor intrri codicatorul prioritar a a va genera numai codul intrrii activate care are prioritatea cea mai ridicat. a a Pentru exemplicare se va considera un codicator prioritar cu opt intrri I 0 , I1 , ..., a I7 care genereaz pe cele trei ieiri O2 , O1 , O0 cuvntul de cod de trei biti y2 y1 y0 a s a n binar natural, Figura 2.26-a. Pentru acest codicator CDCP8 : 3 alocarea prioritii at pe intrri este de la I0 spre I7 ; intrarea I0 are prioritatea ce mai mic iar I7 cea mai a a ridicat. a
CDCP 8:3 x7 x6 x5 x4 x3 x2 x1 x0 E_L a) I7 I6 I5 I4 I3 I2 I1 I0 E O2 (2 2) O1 (2 1) O0 (2 0) CV y2 y1 y0 D7 D5 D6 D3 D4 D1 D2 D0 IRQ CV p Magistrala de date x1 y2 y1 y0 x0 E_L CDCP 21:1 I1 I0 E O0 Y 0

O2 O1 O0 CDCP 8:3 I7 I6 I5 I4 I3 I2 I1 I0 E P 7P 6P 5P 4P 3 2P 1 0 P P Periferice

CV

c)

b)

Figura 2.26 Codicatorul prioritar, CDCP: a) schema bloc pentru CDCP2 3 :3; b) structura codicatorului prioritar elementar CDCP2 1 :1; c) sistem de intreruperi vectorizate implementat pe baz de CDCP8:3 (la un sistem pe baz de microprocesor). a a Pentru urmtorul cuvnt X = x7 x6 x5 x4 x3 x2 x1 x0 = 00010111, aplicat pe intrrile a a a corespunztoare, cuvntul de cod generat este Y = y 2 y1 y0 = 100 ceea ce corespunde a a activrii intrrii I4 , celelalte intrri activate I2 = 1, I1 = 1 i I0 = 1 nu afecteaz a a a s a cuvntul de ieire deoarece au prioritate mai mic dect intrarea I 4 . Iar, pentru a s a a cuvmtul de cod generat pe ieire Y = y2 y1 y0 = 101, care corespunde activrii a s a intrrii I5 = 1, conguratia cuvntului de intrare este de forma x 7 x6 x5 x4 x3 x2 x1 x0 = a a 001xxxxx, ceea ce nseamn c intrrile de la I 0 la I4 , care au prioritate mai mic dect a a a a a I5 , pot activate sau nu (indiferente). Pentru codicatorul prioritar, ntre cuvntul a X aplicat pe intrare i cel generat pe ieirea Y , interpretate ca numere s s ntregi binar n natural, se poate scrie urmtoarea relatie: a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

221

Y = log2 X

(2.10)

Codicatorul calculeaz la ieire un numr a s a ntreg Y care este partea ntreag a log2 X a logaritmului baza doi a numrului X aplicat pe intrare. Deci, circuitul n a codicator prioritar realizeaz i o functie aritmetic. as a continuare se va realiza sinteza logic a circuitului CDCP2 3 :3. Sinteza circuitIn a ului, pornind de la tabelul de adevr, se poate realiza doar cu un program de calcul a deoarece trebuie denite trei functii O2 , O1 , O0 ecare de opt intrri I7 , ..., Ii , ..., I1 , I0 a (ar necesita trei tabele de adevr cu 256 linii!). Sinteza poate mult uurat dac se a s a a utilizeaz observatia: un cuvnt binar la ieire, y 2 y1 y0 |2 = i|10 , este generat de toate a a s cuvintele de intrare X care au bitii egali cu 0 pozitiile superioare lui i, bitul egal cu n 1 pozitia i i biti de valoare indiferent pozitiile inferioare lui i. spiritul acesn s a n In tei observatii se pot introduce urmtoarele variabile intermediare H i (care denesc a expresia logic pentru care intrarea Ii , 0 i 7, si genereaz codul pe ieire): a a s H7 H6 H5 . . H0 = I7 = I 6 I7 6 I7 = I5 I = I 0 I1 I2 I3 I4 I5 I6 I7

Cu aceste variabile intermediare sinteza codicatorului prioritar se realizeaz simia lar ca cea a codicatorului din sectiunea 2.4.1. Din tabelul cuvintelor de cod (numrul a lor ind limitat de data aceasta la opt), pentru ecare intrare, Figura 2.25-b, se deduc expresiile pentru O2 , O1 i O0 sub forma unor sume logice felul urmtor: s n a O2 = H 4 + H 5 + H 6 + H 7 O1 = H 2 + H 3 + H 6 + H 7 O0 = H 1 + H 3 + H 6 + H 7 CV = I1 + I2 + I3 + I4 + I5 + I6 + I7 La grupul functiilor O2 , O1 , O0 s-a adugat i semnalul de cod valid la ieire, CV , a s s dedus la sinteza codicatorului. Pentru ca circuitul CDCP2 3 : 3 s e exibil a n aplicatii mai trebuie nzestrat cu un semnal de validare functionare circuit, E L (En a a able, activ L, E = E L). Adic, circuitul va genera semnale numai cnd este n validat de ctre semnalul E L = 0. Aceasta implic pentru semnalele O 2 , O1 , O0 i a a s CV ca generarea lor s e conditionat de activarea lui E L = 0. Din relatiile ana a terioare, prin substitutiile corespunztoare, se obtin urmtoarele relatii logice pentru a a structurarea circuitului CDCP23 :3: O2 = E(I7 + I6 + I5 + I4 ) O1 = E(I7 + I6 + I3 I4 I5 + I2 I4 I5 ) O0 = E(I7 + I5 I6 + I3 I4 I6 + I1 I2 I4 I6 ) CV = E(I0 + I1 + I2 + I3 + I4 + I5 + I6 + I7 )

(2.11)

Aplicatii CDCP2n :n sunt numeroase, majoritatea lor se bazeaz pe functia sa a aritmetic, relatia 2.10, adic se determin dintr-o multime de elemente active pe a a a acela cruia i s-a alocat prioritate maxim. a a

222

2.4. CLC PENTRU FUNCTII LOGICE

O astfel de aplicatie pentru CDCP este implementarea ntreruperilor vectorizate la un microprocesor, P , Figura 2.26-b. Principial, succesiunea realizarea n ntreruperilor vectorizate este urmtoarea: a cnd un periferic Pi (i = 0, 1, ..., 7) necesit serviciul P activeaz intrarea I i ; a a a codicatorul prioritar CDCP8:3 va genera pe ieire (legat la magistrala de date) s a codul zecimal-binar al intrrii Ii i va activa semnalul de cerere de a s ntrerupere (IRQ Interrupt ReQuest) al P , IRQ = CV ; P sesiznd, prin IRQ, o cerere de a ntrerupere de la un periferic va citi de pe ,, magistrala de date codul (vectorul ) perifericului respectiv; cu ajutorul vectorului transmis P , acesta va calcula adresa din memorie unde se a subrutina care va rezolva problema perifericului solicitant. Se ruleaz a a subrutina; dup servirea perifericului se trece la servirea altui periferic dac semnalul IRQ a a este activat. Intr-un sistem de calcul pentru o functionare economic, i eventual timp real, a s n ecrui periferic i se acord o anumit prioritate raport cu celelalte. aceast a a a n In a aplicatie, printr-o implementare pe baza de CDCP8:3, ecrui periferic P i i se xeaz a a prioritatea prin modul care este conectat la una dintre cele opt intrri I 0 , I1 , ..., I7 n a (se consider c prioritatea cea mai mare o are I 7 iar cea mai mic o are I0 ). Dac a a a a simultan IRQ este activat de perifericele P2 , P3 i P6 numai vectorul 101 va s nscris pe magistrala de date corespunztor perifericului P 6 , deci acesta va servit. Dup a a servirea perifericului P6 vor servite ordine perifericele P3 i P2 dac acestea n s a mentin activate I3 respectiv I2 (IRQ=1). Uneori, aplicatii sunt necesare codicatoare prioritare cu mai mult dect opt n a intrri, pentru care nu exist circuite de tip MSI obtenabile. Dac, de exemplu, a a a sunt necesare 16 intrri (x0 , x1 , ..., x7 , x8 , ..., x15 ) se va structura un CDCP24 :4 prin a nserierea a dou circuite CDCP23 :3 ca Figura 2.27. La primul CDCP23 :3 se repara n tizeaz intrrile x0 , x2 , ..., x7 , codicabile prin cuvintele de ieire y3 y2 y1 y0 =0000, a a s 0001, ...,0111, iar la al doilea CDCP23 :3 se repartizeaz intrrile x8 , x9 , ..., x15 , codia a cabile prin cuvintele de la ieire y3 y2 y1 y0 =1000, 1001, ...,1111. Din analiza cuvintelor s de cod se constat c bitul y3 are valoarea 1 totdeauna cnd cel putin o intrare din a a a intervalul x8 x15 este activat i are valoarea 0 cnd nici una dintre intrrile din a s a a acest interval nu este activat. Deoarece ecare dintre codicatoare produce numai a trei biti de cod O2 , O1 , O0 bitul al patrulea din cod, y3 , va determinat de activarea a cel putin unei intrri din intervalu x8 x15 , deci poate calculat prin semnalul a CV de la al doilea codicator, y3 = CV2 . Ceilalti trei biti de cod y3 , y2 , y1 sunt generati e pe ieirile O2 , O1 , O0 ale primului codicator, cnd se activeaz intrri s a a a din intervalul x0 x7 , e pe ieirile O2 , O1 , O0 ale celui de-al doilea codicator, cnd s a se activeaz intrri din intervalul x8 x15 , deci rezult c se obtine cuvntul de ieire a a a a a s printr-un SAU ntre cuvintele corespunztoare celor dou codicatoare. Se observ c a a a a o activare intervalul x8 x15 , a semnalului CV = 1 (legat la intrarea de validare a n primului codicator care este activ zero, E L=0) va devalida pe primul codicator a n CV = E L = 1, acesta va validat numai cnd nu este activat nici o intrare din a a intervalul x8 x15 , CV = E L = 0.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE


x 15x 14x 13x 12x 11x 10x 9x 8

223

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

I7 I6 I5 I4 I3 I2 I1 I0 CV CDCP 23:3 O2 O1 O0

E_L

I7 I6 I5 I4 I3 I2 I1 I0 CV CDCP 23:3 O2 O1 O0

y3

y2

y1

y0

Figura 2.27 Structurarea unui codicator prioritar cu 16 intrri ca o exa tensie serie de la un codicator prioritar cu 8 intrri. a Extensia la un codicator cu 32 de intrri, adic un CDCP2 5 :5, se poate obtine a a printr-o nseriere a dou CDCP24 :4, ecare cu o structurare ca cea din Figura 2.27. a Pentru o extensie care nu este o dublare a numrului de intrri, de exemplu, la o a a extensie de la 16 intrri la 24 intrri se a a nseriaz un un CDCP2 3 :3 cu un CDCP24 :4. a Deoarece bitul al cincelea y4 , din cuvntul de cod de ieire y4 y3 y2 y1 y0 , are valoarea a s 1 numai cnd exist o activare intervalul de intrri x 16 x23 , rest are valoarea a a n a n 0 numai, acest bit se obtine din semnalul CV de la CDCD 2 3 :3. De asemenea, bitul y3 are valoarea 0 pe intervalul x15 x23 rest se calculeaz ca Figura 2.27. Cu n a n aceste observatii se poate structura uor codicatorul prioritar cu 24 intrri. s a Ecuatiile logice pentru cel mai simplu CDCP21 :1, cu dou intrri I0 , I1 i ieirea a a s s O0 , referit codicator prioritar elementar, CDCPE, se obtin din relatiile 2.11 prin particularizarea I2 = I3 = I4 = I5 = I6 = I7 = 0 O0 = E I i CV = E(I0 + I1 ) (2.12)

cu structurarea din Figura 2.26-b. Pornind de la CDCP21 :1, prin dublarea repetat a numrului intrrilor i corea a a s spunztor creterii cu un bit a cuvntului de ieire, se pot deni i, respectiv, structura a s a s s recursiv codicatoarele CDCP22 :2, CDCP23 :3, CDCP24 :4,..., CDCP2n :n. Se va nota pentru codicatorul CDCP2n :n, cu 2n intrri i un cuvnt de cod de n biti, dimena s a siunea respectiv adncimea prin S(n) i D(n). Structurarea recursiv pornind de la a s a CDCPE se poate face prin extensie paralel. [Stefan 00]se demonstreaz c pentru a In a a extensia paralel caracteristicile obtinute sunt S(n) 2 n i D(n) O(2n ), adic o a s a dimensiune care depinde linar de numrul de intrri (2 n ), accepatbil pentru implea a mentare, i o adncime tot liniar functie de numrul de intrri, deci performanta s a a n a a de vitez sczut pentru n ridicat. Iar pentru structurarea serie, a unui CDCP2 n :n a a a porinind de la CDCPE, caracteristicile sunt S(n) 2 n i D(n) O(n), de data s aceast rezult i pentru performanta de vitez o mrime acceptabil. a as a a a Obtenabil comercial exist codicatorul cu 8 ci de intrare cu ieirea cod binar a a s n natural, 74xx148, a crui structur i functionare pot regsite codicatorul generic a as a n prezentat Figura 2.26. n

224

2.4. CLC PENTRU FUNCTII LOGICE

2.4.3

Decodicatorul, DCD

Functia de decodicare este o aplicatie de pe o multime de 2 n cuvinte binare ntr-o multime de 2n elemente distincte, prin decodicare ecrui cuvnt binar cu lungimea a a le n biti i se asigneaz un element distinct. Deci, functia de decodicare apare ca a aplicatia invers celei de codicare (ce asigneaz unui element dintr-o multime de 2 n a a elemente distincte un cuvnt de cod). Circuitul care modeleaz functia de decodia a care este notat prin DCDn:2n deoarece prezint n intrri (un cuvnt de intrare cu a a a lungimea de n biti) i 2n ieiri (distincte). s s Ca exemplicare se va prezenta circuitul decodifcator pentru cuvinte cu lungime de 2 biti, DCD2:4. Tabelul de adevr al circuitului DCD2:4 este prezentat Figura a n 2.28-a. Pe lnga cuvntul de intrare x1 x0 , circuitului i se aplic i o un semnal de a a as validare E L (E = E L) astfel c functionarea circuitului, obtinerea unei ieiri active a s din cele patru O3 , O2 , O1 i O0 , este posiblil numai cnd i semnalul de validare s a a s este activ E L = 0. Fiecrui cuvnt de intrare x 1 x0 din cele patru (00,01,10,11) a a corespunde o ieire activ (respectiv: O 0 = 1, O1 = 0, O2 = 1, O3 = 1), deci i s a functionarea circuitului apare ca o identicare de cod. Din tabelul de adevr a pentru ecare ieire se obtine expresia logic de forma O 0 = E I1 I0 ; O0 = E I1 I0 ; s a a s a a O0 = E I1 I0 ; O0 = E I1 I0 . Se observ ca o ieire Oi devine activ cnd pe intrare se aplic mintermul Pi , i = 0, 1, 2, 3. Se poate generaliza, un circuit decodicator a DCDn:2n va genera ieirea Oi activ atunci cnd pe intrare se aplic mintermul s a a a Pi , i = 0, 1, 2, ..., 2n 1. Decodicatorul 2:4 este reprezentat ca schem bloc a n Figura 2.28-b, iar ca structur Figura 2.28-c. a n
E_L I 1

1 0 0 0 0

x 0 0 1 1

I 0 O3 O2 O1 O0 x 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0

DCD 2:4 x1 I 1
O3

y3

DCD 1:2 x0 I
0

O2 y2

O1 O0

y1 y0

a)

DCD 2:4 y3 O3 x1 I1 y O2 2 x0 y I0 O1 1 E_L y O0 0 E

x0 I 0

O1

y1 E_L y0

E_L

O0

I0

O1 O0 DCDE

b)

c)

d)

Figura 2.28 Decodicatorul DCD2:4: a) tabelul de adevr; b) reprezentare, a schem bloc; c) structur compus din decodicatoare elementare i porti AND; c) a a a s structurarea decodicatorului elementar, DCD1:2. Structura decodicatorului elementar DCDE (DCD1:2), cu o singur intrare a i dou ieiri, se poate deduce pornind de la DCD2:4, prin eliminarea intrrii I 1 , s a s a e din structura circuitului, e din tabelul de adevr (i acest ultim caz efectund a s n a sinteza). structura obtinut pentru DCDE, Figura 2.28-d, dac se elimin semnalul In a a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

225

de validare E L nu mai sunt necesare cele dou porti AND, circuitul decodicator a elementar se reduce la cele trei porti inversor. Pentru intrarea I 0 = 0 ieirea activ, s a O0 = 1 se obtine printr-un buer inversor, iar pentru, I 0 = 1, ieirea activ O1 = 1 s a se obtine prin nserierea a dou porti buer inversor; aceasta este de fapt o structur a a de circuit furc 2 1, Figura 1.67. Se adopt un circuit furc pentru ca arzierile a a a nt celor dou ieiri O1 i O0 s e egale (poate necesar un circuit furc (n 1) n a s s a a n functie de efortului electric H). Din punct de vedere logic DCDE se reduce doar la un singur inversor, dar cu o astfel de structurare O 1 se obtine nebuerat, O1 = I0 , iar O0 se obtine buerat prin inversor, O0 = I0 . Aceast variant de structurare se evit a a a practic deoarece pentru I0 = 1, ieirea este conectat direct la intrare i, plus, n a s a s n semnalele pe cele dou ieiri au timp de propagare diferiti. Pentru DCDE (furc 2-1) a s a adncimea i dimensiunea au respectiv valorile D(1) = 2, S(1) = 3. a s Pornind acum invers de la DCDE spre DCD2:4, se observ c DCD2:4 se struca a tureaz din dou decodicatoare elementare i patru porti AND3. Un DCD3:8 s-ar a a s structura din 3 DCDE i opt porti AND4. Extinznd la DCDn:2 n structurarea ar s a din nxDCDE i 2n porti AND(n+1). Nelund considerare intrarea de validare E s a n (care nu reduce din generalizare, dar portile AND vor avea o intrare mai putin) pentru DCDn:2n se obtin caracteristicile de adncime D(n) DCD i dimensiune S(n)DCD : a s D(n)DCD = D(n)AN D + DDCDE = 1 + 2 = 3 O(1) S(n)DCD = 2n S(n)AN D + n SDCDE = 2n n + n 3 O(n 2n ) Aceast structurare (ca o extensie pornind de la DCDE) pentru DCDn:2 n , care poate a referit cu adncime constant, prezint o foarte bun caracteristic de vitez dar a a a a a a o dimensiune O(n 2n ) ce poate ridica unele probleme la implementare. De fapt, valorile calculate prin relatiile 2.13 trebuie luate ca valori minimale. Aceste valori minimale pot utilizate pentru evalurile implementrilor tehnologia bipolar i a a n as cnd n nu are valori prea ridicate, este cazul circuitelor docodicatoare realizate ca a circuite integrate MSI sau circuite discrete, cu n cel mult 4 sau 5. Pentru implementri a tip VLSI, este cazul memoriilor de capacitate ridicat cnd n 30, tehnologia a a n CMOS (pentru care timpii de propagare depind puternic de arcare) structurarea nc decodicatorului se va modica fata de structura cu adncimea constant prezentat a a a Figura 2.28-c. primul rnd DCDE va un circuit furc cu un numr de niveluri n In a a a logice (Tabelul 1.16) functie de efortul electric. al doilea rnd o poart AND n In a a cu n intrri, de exemplu cnd n = 32, pe un singur nivel logic este tehnologic foarte a a dicil de realizat, deci poarta se structureaz sub form de arbore din porti AND, a a care au un numr mai mic de intrri, rezultnd un arbore cu mai multe niveluri de a a a AND. Dac, de exemplu, poarta AND se structureaz logic sub form de arbore din a a a porti AND2 atunci se obtin log2 n niveluri de AND2 iar adncimea DCD2:n ar a D(n) = DDCDE + log2 n. Dar, de fapt, adncimea arborelui de porti AND rezut a a functie de efortul F (Tabelul 1.15) al traseului prin arborele de porti AND care n substituie poarta ANDn. Exemplul 2.12 Pentru cele trei structuri de poart AND (notate cu varianta a, b i c) a s reprezentate Figura 2.29 s se estimeze care este cea mai rapid. Se consider c la ecare n a a a a structur capacitatea de intrare Cin este de 4 uniti; estimarea se va face pentru dou valori a at a ale efortului electric H = 1 i H = 12. Apoi structura mai rapid s se dimensioneze. s a a (2.13)

226
g=10/3 p=8 g=1 p=1

2.4. CLC PENTRU FUNCTII LOGICE

g=2 p=4

g=5/3 p=2

a) g=4/3 p=2 g=5/3 p=2 b) g=4/3 p=2 g=1 p=1

c)

Figura 2.29 Trei variante de structurarea unei porti AND cu opt intrri. a
Solutie. Se calculeaz efortul logic total ca produs dintre efortul logic de pe ecare a nivel (valorile se obtin din Tabelul 1.13) pentru ecare dintre cele trei variante i se obtine: s Ga = 10/3 1 = 3, 33; Gb = 2 5/3 = 3, 33; Gc = 4/3 4/3 4/3 1 = 2.96. Analiznd numai a dup efortul logic ar rezulta c varianta c ar cea mai rapid, dar arzierea depinde de a a a nt efortul total, F = GBH, i nu numai de efortul logic. Aplicnd relatia 1.102, pentru calculul s a arzierii minime D pe un traseu, rezult: nt a varianta a : varianta b : varianta c : D = 2(2, 33 H)1/2 + 9 = 2(2, 33 H)1/2 + 6 D D = 4(2, 96 H)1/4 + 7

care introducnd cele dou valori pentru H = 1 i pentru H = 12. Se obtin valorile: n a a s H=1 D = N F 1/N + P 12,65 9,65 12,25 H=12 D = N F 1/N + P 21,64 18,64 16,77

Varianta a b c

N F 1/N 3,65 3,65 5,25

P 9,0 6,0 7,0

N F 1/N 12,64 12,64 9,77

P 9,0 6,0 7,0

Deci pentru efortul electric H = 1 (Cin = 4, C0 = H Cin = 4) varianta b are arzierea nt cea mai mic, iar pentru H = 12 (Cin = 4, C0 = 12 4 = 48) varianta c are arzierea cea a nt mai mic. a Dimensionarea variantei c (H=12) : f = F 1/4 = (2, 96 12)1/4 = 2, 44. Pornind de la ultima poart (inversor) care are C0 = 12 4 = 48 uniti, rezult sarcina pentru nivelul a at a al treilea (NAND2), Cin4 = 48 1/2, 44 = 19, 66. Sarcina pentru nivelul al doilea (NOR2) este Cin3 = (19, 66 4/3)/2, 44 = 10, 73, iar sarcina pentru primul nivel (NAND2) Cin2 =

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

227

(10, 73 5/3)/2, 44 = 7, 33. nal, ca vericare, se poate calcula capacitatea de intrare In Cin = (7, 3 4/3)/2, 44 = 4. Dimensionarea variantei b (H=1) : f = F 1/2 = (3, 33 1)1/2 = 1, 83. Pornind de la ultima poart NAND2 care are sarcina C0 = H Cin = 1 4 = 4 rezult capacitatea de a a sarcin pentru primul nivel (NAND4), Cin2 = (4 5/3)/1, 83 = 3, 64 valoare care este mai a mic dect capacitatea de intrare la primul nivel Cin = 4. Aceast valoare subunitar pentru a a a a h1 = 3, 64/4 = 0, 91 apare datorit faptului c s-a egalizat efortul pe ecare nivel, iar nivelul a a unu are o poart care prezint un efort logic g1 = 2, rezut c h1 g1 = 0, 91 2 = 1, 82. a a a a Valorile capacitilor de intrare Ci , calculate pentru ecare nivel, se vor repartiza pe at dimensiunile portilor tranzistoarelor de intrare.

Din analiza structurii unui decodicator rezult: decodicatorul este structurat a pe un nivel AND, sau decodicarea este o functie logic AND (identicare a de cod/mintermi). Un DCDn:2n genereaz intern, i sunt disponibili la ieire, toti a s s cei 2n mintermi de n variabile. consecinta, un DCDn : 2n poate utilizat In pentru implementarea unei functii logice cu n variabile, dat sub forma a FND (sum de termeni canonici produs), deoarece genereaz toti termenii canonici a a produs de n variabile, iar nivelul OR al implementrii se adaug din exterior (o a a poart OR care colecteaz termenii canonici care au valoarea 1). O form disjuntiv a a a a FD, pentru implementare trebuie ai extins la o form FND (sum de termeni nt a a a canonici) deoarece la ieirea decodicatorului oricum sunt disponibili toti termenii s cononici produs. Circuitele decodicator, pe lng suportul de nivel AND implementarea funca a n iilor logice, poate modela i o functie aritmetic. Dac cuvntul de intrare X, cu t s a a a lungimea de n biti i cuvntul generat pe ieire Y , cu lungimea de 2 n biti, sunt s a s interpretate ca numere ntregi, exprimate binar natural, atunci n ntre aceste dou a numere exist relatia: a Y = 2X (2.14) adic, decodicatorul genereaz la ieire un numr care este egal cu doi la o putere a a s a egal cu numrul aplicat la intrare. Deoarece functia de exponentiere 2.14 este inversa a a functiei de logaritmare 2.10 se conrm armatia de la a nceputul acestui paragraf, aceea c: decodicarea i codicarea sunt ecare functia invers a celeilalte a s a (codifcarea este un nivel OR, iar decodicarea este un nivel AND). Identicarea de cod efectuat de decodicator se realizeaz pe un nivel AND. De a a exemplu, poarta AND care implementeaz produsul logic x 3 x2 x1 x0 este un identia cator pentru codul 1001 deoarece numai pentru acest cuvnt genereaz 1 pe ieire. a a s Pentru implementri se recomad, vezi sectiunea 2.3, operatorii negati, deci o poart a a a NAND loc de AND ceea ce n nseamn c ieirile decodicatorului sunt active 0 a a s n i nu 1 (Oi L). Dar ca identicator de cod poate utilizat i poarta NOR, care s n as genereaz la ieire 1 numai cnd intrrile sunt 0, deci fata de identicatorul de cod pe a s a a baza AND/NAND la cel pe baz de NOR intrrile sunt active 0 i nu 1 (I i L). a a n s n O organizare de decodicator, ca identicator de cod pe baz de NOR, este cea a cunoscut sub numele de decodicator Lyon-Schediwy [Sutherland 99]. La acest dea codicator toate ieirile sunt L afar de una, cea activ, care este H. O poart s n n a a n a NOR CMOS realizeaz cu uurinta ieirea L (prin tranzistoarele nMOS conectate a s s n paralel din ramura nspre VSS ), dar sunt diculti s genereze la ieire un nivel H at a s prin toate tranzistoarele pMOS nseriate din ramura conectat la V DD . Deoarece la a

228

2.4. CLC PENTRU FUNCTII LOGICE

V DD
4w 4w 2w 2w 2w 2w

w w w

w w

w w

x0 x0 x1 x1 x2 x2

O0

O1

O2

O3

O4

O5

O6

O7

Figura 2.30 Decodicator 3:8 tip Lyon-Schedwy (identicator de cod pe baz a de porti NOR).

acest codicator tot timpul numai o ieire este starea H, (deci toate celelalte retele s n de tip pMOS ale portilor NOR nu conduc) este posibil ca unele din tranzistoarele de tip pMOS s intre structura mai multor porti NOR, prin aceasta se reduce numrul a n a de tranzistoare. gura 2.30 este structurat, acest sens, un DCD3:8 care este comIn n pus din opt identicatoare de cod, opt porti NOR. Mai mult, pentru a asigura efort logic egal pentru cele trei semnale de intrare x 2 , x1 i x0 (negate i nenegate) limea s s at tranzistoarelor de canal nMOS este unitate iar limea celor cu canal pMOS este mai at mare de W (limea de canal) ori at nmultit cu puterile lui 2. Cu o astfel de structurare i cu tranzistoarele dimensionate acest mod, decodicatorul Lyone-Schediwy are s n performante de timp mult mai bune dect organizarea de codicator ca Figura a n 2.28-c la care, de fapt, ntr-o implementare poarta AND4 nu este un singur nivel ci este substituit printr-un arbore cu dou sau trei niveluri (Exemplul 2.12). a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

229

Exemplul 2.13 Celula sumator complet, a crei functionare este dat tabelul 1.6, a a n s se implementeze pe un circuit DCD3:8. a Solutie. Din Tabelul 1.6 prin sintez pe baz de 1, forma FCD, rezult: a a a
7 7

si =
0

(1, 2, 4, 7),

Ci =
0

(3, 5, 6, 7)

sau expresiile complementare:


7 7

si =
0

(0, 3, 5, 6),

Ci =
0

(0, 1, 2, 4)

Pentru implementare cu un DCD3:8, care genereaz toti cei opt mintermi de trei variabile, a va necesar doar s se adauge exterior nivelul de OR care colecteaz termenii ce au a n a valoarea 1. Se va face implementarea att pentru cazul cnd ieirile decodicatorului sunt a a s active H ct i L. aceste sens se vor transforma potrivit expresiile pentru si i Ci . n a s n In s 1. Implementare pe baz de DCD3:8 cu ieirile active H a s n a) Expresiile si i Ci se scriu: s si = P 1 + P 2 + P 4 + P 7 ; Ci = P 3 + P 5 + P 6 + P 7

Implementarea se reduce la colectarea mintermilor respectivi printr-o poart OR4, a adugat exterior, ca Figura 2.31-a. a a n n b) Uneori functia negat se sintetizeaz prin mai putini minterimi (nu este cazul pentru a a celula sumator complet) ceea ce poate constitui un avantaj, micorarea dimensiuni s portii adugate exterior. Expresiile pentru si i Ci se scriu a n s si = P 0 + P 3 + P 5 + P 6 s i = P 0 + P 3 + P 5 + P 6 Ci = P 0 + P 1 + P 2 + P 4 Ci = P 0 + P 1 + P 2 + P 4 pentru care corespunde implementarea din Figura 2.31-b. Colectarea mintermilor corespunztori se face printr-o poart NOR4 adugat exterior. a a a a n 2. Implementarea pe baz de DCD 3 : 8 cu ieirile active L a s n a) Expresile si i Ci devin: s si = P 1 + P 2 + P 4 + P 7 = P1 P2 P4 P7 Ci = P 3 + P 5 + P 6 + P 7 = P3 P5 P6 P7 Colectarea exterior a mintermilor corespunztori se face printr-o poart NAND4, n a a Figura 2.31-c. b) Expresiile negate pentru si i Ci se scriu sub forma: s si = P 0 + P 3 + P 5 + P 6 s i = P 0 + P 3 + P 5 + P 6 = P0 P3 P5 P6 Ci = P 0 + P 1 + P 2 + P 4 Ci = P 0 + P 1 + P 2 + P 4 = P0 P1 P2 P4 De data aceasta colectarea exterior a mintermilor se face printr-o poart AND4, n a Figura 2.31-d.

230
DCD 3:8

2.4. CLC PENTRU FUNCTII LOGICE


DCD 3:8

xi yi C i1 a)

22 21 20

O7 O6 O5 O4 O3 O2 O1 O0

Ci

xi yi C i1 b)

22 21 20

si

O7 O6 O5 O4 O3 O2 O1 O0

Ci

si

DCD 3:8

xi yi C i1 c)

22 21 20

O7 O6 O5 O4 O3 O2 O1 O0

DCD 3:8

Ci

xi yi C i1 d)

22 21 20

si

O7 O6 O5 O4 O3 O2 O1 O0

Ci

si

Figura 2.31 Implementarea celulei sumator complet pe un DCD3:8: a,b) pe decodicator cu ieiri active H; c,d) pe decodicator cu ieiri active L. s n s n

Anterior s-a structurat DCDn:2n cu adncimea constant (D(n) = 3), mod ina a n ductiv, pornind de la DCDE i porti AND adugnd succesiv cte un bit la cuvntul s a a a a de intrare i s-au obtinut caracteristicile de adncime i dimensiune exprimate prin s a s relatiile 2.13. Se poate face o structurare i denire a DCDn:2 n , pornind sens s n invers, divizndu-l ai dou DCDn/2:2 n/2 iar ieirile acestor decodicatoare sunt a nt n a s intrrile pe liniile i coloanele unei matrice format din 2 n/2 2n/2 porti AND2, a s a Figura 2.32. Cuvntul de intrare xn1 xn2 ...xn/2 xn/21 ...x1 x0 se separ dou a a n a semicuvinte, semicuvntul xn1 xn2 ... xn/2 va genera o ieire activ pe liniile maa s a tricei iar semicuvntul xn/21 ...x1 x0 va genera o ieire activ pe coloanele matricii, a s a consecinta poarta AND2 de la intersectia liniei i coloanei active va avea ieirea n s s 1, restul de 2n 1 porti vor avea ieirea zero. Aceast modalitate de decodicare s n a matriceal (decodicare bidimensional) se aplic i la decodicatoarele rezula a a s tate; ecare din cele dou decodicatoare DCDn/2:2 n/2 , unul pentru linii iar altul a pentru coloane, se structureaz la rndul su prin divizarea dou decodicatoare a a a n a DCDn/4 : 2n/4 unul pentru linii, altul pentru coloane i 2 n/2 porti AND2. Se continu s a aceast divizare cu doi, a ecrui decodicator, pn cnd se ajunge la ultimul nivel a a a a a de structurare compus din dou DCDE care comand o matrice de 4 porti AND2. a a Carecteristicile i denitia multiplexorului DCDn : 2 n structurat recursiv sunt date s [Stefan 00]. n Denitia 2.9 Un DCDn : 2n se structureaz prin divizare dou DCDn/2:2 n/2 a n a i o matrice de porti AND2, de dimensiunea 2n/2 2n/2 , ale cror intrri sunt toate s a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

231

DCD n/2:2n/2

x0 x1

I0 I1

O0 y0 y1 y
2n/2 1

O1

x n/21

2n/2

y 2n/2 +1

I n/21 O2n/2 1 y n/2 O0 I0 O1 O2n/2 1 DCD n/2:2n/2 I1 I n/21 x n/2+1 x n1


2n1

n/2

x n/2

Figura 2.32 Explicativ pentru denirea recursiv a unui DCDn:2n (dea a codicare bidimensional). a perechile de ieiri din cele dou decodicatoare. Cele dou DCDn/2:2 n/2 de asemenea s a a se structureaz prin divizare acelai mod. Procesul de divizare recursiv se oprete a n s a s cnd se ajunge la DCDE. a Dimensiunea denitiei pentru DCDn:2n este constant i independent de val a s a oarea lui n deci conform denitiei 2.1 decodicatorul nu este un circuit complex ci unul simplu, deci realizabil. Dar pentru a declara realizabilitatea circuitului trebuie luat considerare i dimensiunea sa. Cu valorile pentru decodicatorul elemena n s tar DDCD (1) = 2, SDCD (1) = 3 i innd cont c prin Denitia 2.9 dup ecare s t a a a divizare se genereaz dou DCDn/2 : 2n/2 i 2n porti AND2 se poate calcula dimena a s siunea SDCD (n) i adncimea DDCD (n) felul urmtor: s a n a SDCD (n) = 2 SDCD (n/2) + 2n 2 = = 2 [2 SDCD (n/4) + 2n/2 2] + 2n 2 = ... O(2n ) DDCD (n) = DDCD (n/2) + DAN D (2) = [DDCD (n/4) + 1] + 1 = ... O(log n) Comparnd caracteristicile acestei structuri (compus numai din DCD(1) i a a s AND2) cu cele alestructurii de adncime constant (compus numai din DCD(1) a a a i ANDn) se constat c dimensiunea a sczut de la O(n 2 n ) la O(2n ) iar adncimea s a a a a a crescut de la O(1) la O(log n) deci, teoretic, aceast structurare este mai uor realiza s abil schimb asigur performante de vitez mai sczute (Degradarea performantei a n a a a de vitez cu mai mult dect s-a micorat dimensiunea corespunde corelrii dintre S(n) a a s a i D(n), relatia 2.9). Dar, practic, pentru implementrile de tip VLSI un DCD cu s n a a adncimea constant, ca Figura 2.28-c, nu poate realizat, portile ANDn se struca a n tureaz cu porti mai simple sub form de arbore. De asemenea, i la structurarea prin a a s

232

2.4. CLC PENTRU FUNCTII LOGICE

divizri portile AND2 formeaz un arbore. Solutia de mediere ar structurare prin a a divizare a DCD(n), dar dup prima sau a dou divizare DCD(n/2) sau DCD(n/4) a a s e un decodicator de tip Lyon-Schedwy. a Decodicatoarele eciente din punct de vedere al timpului de propagare sunt necesare pentru adresarea memoriilor i pentru selectarea registrelor din bncile de registre s a ale microprocesoarelor. Structurile de decodicator pentru aceste aplicatii ajung s a aib o valoare de efort total de valori ridicate (vezi Exemplul 1.30). Dar aspectele a care trebuie luate considerare la proiectarea decodicatoarelor pentru astfel de n aplicatii sunt numeroase iar minimizarea efortului logic, pentru a obtine i o viteza, s nu este exclusiv. De exemplu, consideratiile de layout sunt importante deoarece ade sea decodicatorul trebuie s se a ncadreze suprafata repartizata pentru memorie, n suprafata sa poate limitat, deci iat o constrngere. De asemenea limitarea puterii a a a disipate, poate o alt constrgere important, de obicei un decodicator rapid poate a a a necesita o putere disipat ridicat sau prea multe tranzistoare. a a realizarea de sisteme pe placa cu circuite discrete pentru decodcatoarele In DCDn:2n , cu n intrri i 2n ieiri, referite i cu termenul decodicator/multiplexor, a s s s (vezi sectiunea 2.4.5) exist urmtoarele circuite MSI: 74xx138 - DCD3:8; 74xx139 a a 2 DCD2:4; 74xx154 - DCD4:16. Alte circuite decodicatoare pot s nu aib denite a a toate cele 2n cuvinte de n biti pe intrare sau pot s nu utilizeze toate cele 2 n ieiri a s cum este cazul urmtoarelor circuite integrate: 74xx42 - Decodicator din BCD a n zecimal; 74xx47 i 74xx49 - Decodicatoare din BCD pentru elemente de aaj cu 7 s s segmente (vezi Exemplul 2.14 ). 2.4.3.1 Convertorul de cod

Convertorul de cod este un circuit combinational care pentru un cuvnt de n biti a aplicat la intrare genereaz un cuvnt de m biti la ieire, deci circuitul realizeaz a a s a o aplicatie (mapare) ntre o multime a cuvintelor de intrare cu valori multimea n cuvintelor de ieire. Denirea acest mod a circuitului convertor de cod corespunde s n cu denitia dat sectiunea 2.1 circuitului combinational cu ieiri multiple i este a n s s reprezentat ca schema bloc in Figura 2.1-a. Rezult c oricare CLC cu ieiri multiple a a s este, fond, un convertor de cod (transcodor). n
Decodificator Iesiri=2 n=Intrari n:2n doar cate una (Nivel AND) singura activa Codificator (Nivel OR) Convertor de cod (ANDOR)

Figura 2.33 Organizarea de principiu pentru un convertor de cod. Structura unui convertor de cod const dintr-o a nseriere decodicator-codicator, adic dou nivele logice AND-OR, Figura 2.33. Codul de intrare de n biti este aplicat a a nivelului de decodicare AND rezultnd o singur ieire activ din cele 2 n . Aceast a a s a a ieire activat este aplicat ca o intrare pentru nivelul de codicare OR care genereaz s a a a un cuvnt de m biti pe ieire. De fapt, a s nserierea decodicator-codicator formeaz a un circuit cu cele dou niveluri logice necesare pentru modelarea oricrei functii logice a a sub form de sum de produse (AND-OR). a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

233

2.4.4

Multiplexorul

Circuitul multiplexor realizeaz primul rnd o functie de comunicatie prin sea n a lectarea oricrei linii de intrare Ii , dintr-un numr de 2n linii (I2n 1 , I2n 2 , ..., Ii , ...I1 , a a I0 ) i conectarea acesteia la o singur ieire, de unde, uneori, este referit ca circuit s a s selector. Functia de comunicatie selectarea realizat cu circuit multiplexor a este similar cu cea realizat de ctre un selector rotativ mecanic, Figura 2.34-a. Sea a a lectorul rotativ mecanic conecteaz la ieire, functie de pozitia contactului rotativ, a s n una dintre liniile de intrare. La circuitul multiplexor, cu 2 n intrri de date i o ieire, a s s reprezentat ca schema bloc Figura 2.34-b (notat prin MUX2 n :1), selectarea liniei n de intrare de date Ii , pentru conectarea acesteia la ieirea O, se face prin aplicarea s pe intrrile de selectare a indexului i exprimat ca numr binar natural (cuvnt a a n a de selectare). Evident, pentru a putea selecta toate intrrile numrul cuvintelor a a de selectare (Sn1 Sn2 ...Si ...S1 S0 ) distincte trebuie s e mai mare sau egal cu a a numrul total al intrrilor. general, circuitul MUX2n :1 pe lng cele 2n intrri de a a In a a a date i un cuvnt de selectare, cu lungimea minim de n biti, mai prezint i o intrare s a a as de validare E ( general activ stare L, E = E L). n a n Particulariznd MUX2n :1 la n = 2 se obtine multiplexorul cu patru ci de intrare a a (I3 , I2 , I1 , I0 ), selectabile cu un cuvnt de doi biti S1 , S0 , cu schema bloc i tabelul a s de adevr prezentate Figura 2.34-c i 2.34-d. Din tabelul de adevr a MUX4:1 se a n s a deduce urmtoarea functie logic a a y = E Ld3 x1 x0 + E Ld2 x1 x0 + E Ld1 x1 x0 + E Ld0 x1 x0 (2.15)

i este similar cu cea exprimat de relatia 1.82 sau 1.83. Aceast expresie este forma s a a a canonic normal disjunctiv pentru oricare dintre cele 16 functii de dou variabile. a a a a Structura circuitului MUX4:1 este cea din Figura 2.34-e. aceast structur se disIn a a tinge clar un circuit decodicator 2:4, ca cel din Figura 2.28-c, ale crui intrri x 1 , x0 a a sunt bitii cuvntului de selectare iar cele patru ieiri din portile AND sunt colectate a s dintr-un nivel OR. Se poate interpreta c cele patru porti AND ale decodicatorului, a prin intrrile de selectare i cea de validare E, selecteaz care din cele patru intrri a s a a de date (d3 , d2 , d1 , d0 ) este conectat la ieire prin nivelul adugat OR. a s a Un circuit DCD care este un nivel de AND, ce genereaz toti mintermii canonici a de n variabile, poate modela functii logice prin colectarea exterior prin porti OR n a termenilor canonici care au valoarea 1 pentru functia respectiv (vezi Exemplul a 2.13). Circuitul multiplexor, care este pe lng nivelul de AND i un nivel de OR a a s (intern), colecteaz interior toti mintermii canonici de cele n variabile de selectare, a n deci poate modela oricare functie de n variabile rezultnd astfel ca un circuit logic a universal. Valoarea 0 sau 1 a unui termen canonic P i exprimarea functiei se xeaz n a prin valoarea coecientului di aplicat pe intrarea de date Ii . Din structura MUX4:1, prin eliminarea intrrii de selectare x 1 , se obtine MUX2:1 a cu un singur bit de selectare x0 i dou intrri de date I1 , I0 , care este referit ca s a a multiplexorul elementar MUXE, Figura 2.34-f. Dac se consider intrarea de a a validare permanent activ (E L = 0) se constat c structura de MUXE este identic a a a a cu cea a celulei pentru implementarea recurent, sub form de arbore, a oricrei a a a functii logice dezvoltat recurent, Figura 2.6-a. Pornind de la structurarea MUX2:1 a i MUX4:1 se poate extinde structurarea la un MUX2n :1, care se compune dintrs un DCDn:2n cu adncime constant, similar ca structur cu cel din Figura 2.28-c, a a a

234
I0 I1 O I 2n2 I 2n1 a) Selectare Enable (E) b) d0 d1 d 2n2 d 2n1

2.4. CLC PENTRU FUNCTII LOGICE

I0 I1 Mux 2 n:1 I 2n2 I 2n1 O

d0 d1 d2 d3

I0 I1 I2 I3 E_L

MUX 4:1

E Sn1 S0 E_L Selectare c)

E S1 S0 X1 X0

d0 I 0
E_L

MUX 4:1 O y d0 I 0 d1 I 1
DCDE MUX 2:1

x1 x0 y 0

d1 I 1 d2 I2

y
O

0 0 0 d0 0 0 1 d1 0 1 0 d2 0 1 1 d3 d)

d3 I 3
S0

S1 e) E_L x 1

S0 x0 f)

E_L x 0

Figura 2.34 Multiplexorul, MUX: a) selectorul rotativ mecanic - analogul mecanic al multiplexorului; b) simbol de reprezentare pentru MUX2 n :1; c,d,e) schema bloc, tabelul de adevr i structura circuitului MUX4:1; f) structura multiplexorului a s elementar, MUX2:1. i o poart OR cu 2n intrri. DCDn:2n din cadrul MUX2n :1 se compune din n s a a decodicatoare elementare DCDE i 2n porti AND cu n + 1 intrri (n intrri de la s a a cuvntul de selectare, E i o intrare de date d i ). Pentru structurarea acest mod a a s n MUX2n : 1, referit multiplexor cu adnacime constant, se pot calcula caracteristicile a a a de dimensiune SM U X(n) i adncime: s a SM U X(n) = n SDCDE + 2n SAN D(n+1) + 1 SOR(2n ) = n 3 + 2n (n + 1) + 1 2n O(n 2n )

Adncimea are dou valori, prima pentru transferul pe traseul cuvnt de selectarea a a ieire care este de patru niveluri logice i a doua pe traseul de intrare de date I i la s s ieire care este de dou niveluri logice. Aceast diferenta trebuie luat considerare la s a a a n comanda multiplexorului dac semnalele pe intrrile de date i pe intrrile de selectare a a s a nu se aplic simultan, atunci este recomandat ca cele de selectare s e primele aplicate a a deoarece parcurg patru niveluri fata de dou pentru cele de date. De fapt, aceste a caracteristici de dimensiune i adncime sunt, teoretic, valori minime asimptotice. s a Practic, pentru n de valoare ridicat este dicil de realizat porti AND(n+1) i OR2 n a s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

235

pe un singur nivel logic; plus, mai ales tehnologia CMOS timpul de propagare n n depinde pregnant de arcare (vezi sectiunea 1.5.6). nc Denitia 2.10 Un MUX 2n :1, selectat prin cuvntul xn1 xn2 ...x1 x0 , se a structureaz dintr-un MUXE selectat cu xn1 i are ca intrri de date ieirile de la a s a s dou MUX2n1 :1 selectate prin cuvntul xn2 ...x1 x0 . Apoi, asupra celor dou mula a a tiplexoare MUX2n1 :1 se aplic acelai procedeu de structurare. Procedeul recursiv a s se oprete cnd se ajunge la MUX-uri selectate prin x 0 . s a Prin structurarea unui MUX2n :1, conforma Denitiei 2.10 , se obtine o retea arborescent de (2n 1)MUX2:1 avnd n niveluri, Figura 2.35-a. Structura aceasta a a de retea este identic cu structura arborescent pentru implementarea unei functii a a canonice normale disjunctive dezvoltate recurent din Figura 2.7. Cele 2 n intrri de a ,, date ale MUX2n :1 sunt intrrile multiplexoarele elementare frunze iar ieire este a n s ,, ieirea multiplexorului elementar rdcin ; se observ c transferul este pe trasee s a a a a a de la frunze nspre rdcin. Pe ecare traseu se parcurge acelai numr de MUXE. a a a s a Aceast structur recursiv a unui MUX2n :1 are urmtoarele caracteristici de dimena a a a siune i adncime: DM U X(n) O(n), SM U X(n) O(2n ). s a Implementarea logic a multiplexoarelor circuitele VLSI apare foarte simpl a n a cnd se utilizeaz elemente de trecere nMOS, porti de transmisie CMOS. Pornind a a de la functia sa de transmisie, multiplexorul, poate conceput din 2 n ramuri de transmisie care au un capt comun (ieirea) iar la cellalt capt al ecrei ramuri se a s a a a aplic data corespunztoare di care trebuie transmis. Fiecare ramur este compus a a a a a din n elemente de trecere nseriate (circuit AND) care va deschis doar pentru o a singur conguratie a bitilor din cuvntul de intrare x n1 xn2 ...x1 x0 . acest mod a a In de implementare, un multiplexor elementar este compus numai din dou ramuri pe a care exist cte un element de trecere, unul dintre acestea este comandat de x 0 iar a a cellalt de x0 , semnalele de comand ind generate de un DCDE. a a O astfel de structur de MUX4:1 implementat cu porti de transmisie este prezena a tat Figura 1.53-c. structura din aceast gur exist redundanta, ultimele a n In a a a s a dou porti, una pe ramura lui di0 i cealalt pe ramura lui di2 , au un terminal comun a (ieirea) i sunt comandate cu acelai semnal B, deci pot substituite printr-o singur s s s a poart (cele dou ramuri se unesc a a nainte de aceast poart i a a s mpreun prin aceast a a ajung la terminalul comun). Aceeai simplicare se poate face i cu portile comans s date de B de pe liniile di1 i di3 . Va rezulta o retea arborescent cu dou MUXE s a a In selectate de A, A urmate de un alt MUXE selectat de B, B. Figura 2.35-b este prezentat structurarea unui MUX8:1, sub form de retea arborescent din MUXE, a a a realizat cu tranzistoare de trecere nMOS. Se observ c acest circuit se obtine prin a a a maparea 1:1, cu MUXE cu tranzistoare de trecere, a structurii recurente MUX2 n :1, din Figura 2.35-a, prin particularizarea pentru n = 3. Implementrile sub form de a a retea arborescent sunt recomandate sistemele integrate de performanta ridicat a n a i de putere redus. Totui, pentru n de valoare ridicat timpul de propagare pe s a s a traseele de la frunze la rdcin devine foarte mare. lungul lungul unui traseu cu n a a a In tranzistoare de trecere arzierea este egal cu n 2 RC, unde RC este arzierea dat nt a nt a de reteaua echivalent a tranzistorului de trecere. a Denitia 2.10 structurarea prin recurenta s-a specicat cu un pas egal cu unu, In adic pentru cte un bit al cuvntului de selectare rezultnd ecare nivel numai a a a a n MUXE. Dar se poate face structurarea pe grupuri de biti din cuvntul de selectare, a de exemplu, dac se iau grupuri de cte doi sau trei biti rezult pentru nivelurile a a a

236

2.4. CLC PENTRU FUNCTII LOGICE

d0 d1 d2 d3

MUXE

I0 I1

MUXE MUXE

I0 I1 I0 I1 I0 I1 I0 I1

I0 I1

MUXE

I0 I1

MUXE MUXE

I0 I1

d 2n4 d 2n3 d2n2 d 2n1 a) d0 d1 d2 d3 d4 d5 d6 d7

MUXE MUXE

I0 I1 I0 I1

MUXE

I0 I1

MUXE MUXE

x0

x n3

x n2

x n1

MUXE

b) 1xCI 12 conectari

x0 2xCI 28 conectari

x1 2xCI 23 conectari

x2 2xCI 18 conectari

c)

Figura 2.35 Structurarea arborescent a unui multiplexor conform a Denitiei 2.10: a) MUX2n :1 structurat din 2n MUX2:1; b) MUX8:1 realizat cu tranzistoare de trecere; c) variante de structurare a MUX8:1 pe baz de MUX4:1 i a s MUX2:1

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

237

respective din reteaua arborescent MUX22 :1, MUX23 :1 loc de MUXE. Varianta a n aceasta de structurare arat posibilitatea de obtinere a multiplexoarelor de capacitate a mare din circuite multiplexoare de capacitate inferioar, de exemplu pe baza celor mai a utilizate practic MUX4:1 sau MUX8:1. Figura 2.35-c sunt prezentate variante n a In de compunere a unui MUX8:1 din altele de capaciti mai mici (4:1 i 2:1). Care at s variant este mai bun? Pentru a rspunde la aceast a a a a ntrebare trebuie introdus un criteriu de evaluare. Acest criteriu de evaluare ia considerare numrul de circuite n a integrate utilizate, CI (exist 4 MUX2:1/cip; 2 MUX4:1/cip;1 MUX8:1/cip;) a i costul( care poate proportional cu numrul de terminale/conectri). Numrul s a a a de terminale poate determina costul deoarece ecare terminal trebuie lipit sau este un punct de wrapare. Din cele patru variante de structurare ale MUX8:1/cip apare c pentru criteriul ales cea mai bun variant este un singur MUX8:1/cip i cea a a a s mai slab printr-o retea numai de MUX2:1. Dar s nu ne grbim, vom vedea c a a a a n unele implementri realizarea unui multiplexor de capacitate mai mare din circuite a de capacitate 2:1 poate cea mai avantajoas, vezi Exemplul 2.17. a Pentru implementrile de sisteme exist urmtoarele multiplexoare sub form de a a a a circuite integrate MSI: 74xx150 74xx151 74xx153 74xx157 2.4.4.1 1 1 2 4 MUX16:1 MUX8:1 MUX4:1, iar 74xx253 - 2 MUX4:1 are ieirea TSL s MUX2:1, iar 74xx257 - 2 MUX2:1 are ieirea TSL s

Aplicatii cu circuite multiplexoare

Circuitul multiplexor poate modela o functie de comunicatie, (a) selectare de date i o functie canonic normal disjunctiv, (b) implementare de functii logice. s a a a Aplicatiile cu circuite multiplexoare se reduc la realizarea acestor dou tipuri de a functii. a). Selectarea datelor. Circuitul MUX2n :1 poate utilizat pentru conversia paralel-serie a unui cuvnt de 2n biti. Bitii cuvntului de serializat se aplic pe a a a intrrile de date I2n 1 , I2n 2 , ..., Ii , ..., I1 , I0 , iar prin conguratia cuvntului de sea a lectare xn1 xn2 ...x1 x0 un bit de pe o anumit intrare de date este aplicat la ieire. a s Evident, serializarea bitilor cuvntului de date se poate realizare oricare secventa a n dorit. Dac este necesar serializarea succesiv a a a a ncepd cu I 0 pna la I2n 1 atunci n a secventele conguratiilor cuvntului de selectare sunt ordinea de cretere a nu a n s merelor naturale, care se pot obtine de la un numrtor modulo 2 n , iar pentru aceast aa a serializare sunt necesare 2n tacte de clock. Uneori arhitectura unui sistem apare un desen ca cel din Figura 2.36-a care simn bolizeaz transferul unor cuvinte cu lungimea de k biti de la sursele P 2n 1 , P2n 2 , ..., a Pi , ..., P1 , P0 (porturi surs) a ntr-un singur loc de destintie (care poate un port, o magistral etc.). Acest transfer poate inplementat cu k multiplexoare 2 n :1 puse a paralel, toate ind comandate de acelai cuvnt de selectare, Figura 2.36-b. Bitii n s a cuvntului de la portul Pi se aplic, cte unul, numai la intrarea de date I i de la a a a ecare dintre cele k multiplexoare, deci un port este legat la toate intrrile de date a cu acelai numr de la cele k multiplexoare. La aplicarea unui cuvnt de selectare i s a a totii bitii de pe intrrile de date Ii ale celor k multiplexoare sunt transferati la ieirile a s acestora, deci cuvntul cu lungimea de k biti din portul P i este transferat portul a n

238

2.4. CLC PENTRU FUNCTII LOGICE


MUX

2n porturi de intrare (kbiti)

0 2n:11 1 2n1
k1 0 2n:1 1

MUX

P0 P1 k k P 2n1 k a) V DD S 2n1 S 2n1 d 2n1 c)

k P0 P1 P 2n1 b)

0 n k 2 :1 1 2n1 Cuvantul de selectare comun pentru toate cele k x MUX 2 n:1 Ramura TSL, inversor

MUX

Port de iesire (kbiti)

x n1

x0

S1 linie de magistrala S1 d1

S0 S0 d0

Figura 2.36 Selectarea secvential a datalor: a) reprezentare simbolic a unui a a punct de selectare a datelor dintr-un sistem; b) selectarea unui port de intrare, dintrun numr de 2n porturi cu lungimea de k biti, i conectarea la un port de ieire prin a s s intermediul unui grup de kMUX2n :1; c) structur tehnologie CMOS de MUX2n :1 a n cu ieirea TSL pentru comanda unei linii de magistral. s a

de ieire Pentru implementrile VLSI cnd se lucreaz cu lungimi de cuvnd de 32, s a a a a 64 biti, deci tot attea multiplexoare puse paralel, arcarea electric a semnalelor a n nc a se selectare este foarte mare ceea ce implic o buerare, vezi Exemplul 1.28. a Pentru implementrile tehnologie CMOS o structur recomandat de multia n a a plexor inversor cu 2n ci este prezentat Figura 2.36-c, care se compune din ramuri a a n inversor TSL, Figura 1.46-c, toate conectate la o linie de magistral. Pentru semnale a de selectare ale ramurii i, Si Si = 01 (generate de un decodicator), att ramura n a ct i ramura p ale inversorului CMOS sunt blocate, deci ieirea la linia de magistral a s s a este starea HZ, iar pentru Si Si = 10 ramura este functionare normal de inn n a versor, data de intrare este transferat negat la magistral, d i . Efortul logic total al a a multiplexorului este 2n (4 + 4 )/(1 + ) = 4 2n , cu efortul logic pe o intrare de date (2 + 2 )/(1 + ) = 2; aceeai valoare 2 este i pentru o preche (S i Si ) de semnale de s s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

239

selectare. Rezult c efortul logic pe o intrare este constant i nu depinde de numrul a a s a de intrri, ceea ce ar sugera c se pot realiza multiplexoare rapide cu oricte linii a a a de intrare. Totui, cnd lungimea k a cuvintelor selectate este de valoare ridicat s a a a perechile de semnale de selectare Si Si necesit un efort ridicat (k MUX2n :1), desi aceasta nu are un efect de marirea arzierii pentru transferul datei d i . Cnd se iau nt a considerare i capacitile parazite se constat c aceast structur nu este rapid n s at a a a a a pentru un numr de intrri (ramuri inversor) ori ct de mare, general se limiteaz a a a n a la structura cu cel mult patru ramuri. Exemplul 2.14 S se structureze un sistem pentru aarea a dou cifre zecimale a s a a cror cod BCD este a nscris dou porturi A, B. Se vor utiliza elemente aoare cu 7 n a s segmente cu catodul comun.
Solutie.Pentru iluminarea unei cifre trebuie conectate simultan la tensiunea +V toti anozii LED-urilor (segmentelor) care congureaz caracterul iar catodul la mas, Figura 2.37. a a Conectarea simultan a segmentelor luminoase este realizat prin ieirile (a, b, c, d, e, f, g), a a s active H, ale unui convertor de cod BCD-7 segmente 7449. Deoarece se utilizeaz un singur n a decodicator 7449 pentru ambele elemente aoare este necesar ca informatia s e aplicat s a a alternativ cu o frecventa de minim 30Hz (T3,33ms) pentru ca, prin inertia ochiului, cifra s apar aat continuu. Pentru aplicarea alternativ, cu frecvent de 30Hz a continutului a a s a a a celor dou porturi surs A i B pe intrrile convertorului BCD-7 segmente, Tabelul 2.2, a a s a sectiunea 2.4.7, se utilizeaz 4MUX2:1 ca selector de date (circuitul 74157). Conectarea la a mas a catodului comun din ecare dintre cele dou aoare A i B se realizeaz printr-un a a s s a DCD2 : 4 (1/2 74139) cu ieirile active L i comandat sincron cu ieirea cuvintelor A i s n s s s B prin multiplexor. Sincronizarea este realizat cu semnalul de ceas CLK, care se aplic pe a a intrarea I0 a decodicatorului i pe intrarea comun de selectarea G1 a grupului de patru s a multiplexoare. Pe palierul pozitiv, CLK=1, se aeaz cuvntul din portul A iar pe palierul s a a CLK=0 se aeaz cuvntul din portul B. s a a

b). Implementarea functiilor logice. Circuitul multiplexor MUX2 n :1, prin structura sa, produce pe nivelul de AND (decodicator) toti termenii cononici produs de variabilele de selectare, ecare minterm Pi ind nmultit cu coecientul di respec tiv, iar prin nivelul interior de OR nsumeaz toate produsele obtinute, deci poate a modela orice functie de n variabile sub forma sa canonic normal disjunctiv, relatia a a a n 1.10. Un MUX2n :1 apare ca suport pentru implementarea tuturor celor 2 2 functii n de n variabile, particularizarea pentru o anumit functie f j se face prin aplicarea a pe intrarea de date a setului de 2n coecienti ai functiei, deci multiplexorul este un circuit universal pentru implementarea oricrei functii! Implementarea a functiei rezult ca o mapare direct a coecientilor functiei cititi din tabelul de adevr a a a sau diagrama V-K pe intrrile de date corespunztoare ale multiplexorului. Implea a mentarea functiei pe multiplexor nu necesit minimizarea acesteia, dimpotriv, dac a a a o functie este dat form redus/minim va trebui expandat pna la obtinerea a n a a a a a formei normale disjunctiv din care rezult care intrri de date ale multiplexorului a a a sunt 1 i care sunt 0 (adic valorile coecientilor functiei). s a Pentru implementarea celor 16 functii de dou variabile x 1 , x0 coecientii functiei a fi2 se citesc din Figura 1.2-a, e din relatia 1.82 (linia a i-a din matricea coecientilor) care se aplic unui MUX4:1, Figura 2.38. Din totalul de 16 MUX4:1, care modeleaz a a cele 16 functii, ase pot eliminate deoarece functiile pe care le modeleaz se reduc s a

240
4xMUX 2:1 DCD BCD / 7segmente

2.4. CLC PENTRU FUNCTII LOGICE

A0 A1 A2

G1 B0 B1 B2
1 0 1 0 1 0

+V
a b c d e f g

1 2

Y X

A3 1 0 B3 Port E A Port 74157 B Palier "1" selecteaza port A CLK T

4 W 8 7449

a b c d e f g

Afisor A a f g b

Afisor B a f g b

T<3,3ms O0 O1 O2 O3

Palier "0" selecteaza port B DCD 2:4 I0 I1 e d c e d c

E 1/2 74139

Figura 2.37 Structur pentru multiplexarea informatiei pe aoare cu 7 a s segmente.

la valori banale (0, 1, x1 , x0 , x1 , x0 ), existente sistem fr a mai necesar s e n aa a calculate. Dar, implementarea celor 16 functii de dou variabile poate efectuat con a a sidernd functii de o singur variabil x0 , iar variabila x1 variabil reziduu a a a a este introdus coecientii functiei. Coecientii functiei pot avea doar valori din a n multimea {0, 1, x1 , x1 }, valori care nu trebuie calculate, deoarece exist sistem. a n Avantajul practic al reducerii functiei la o functie de o singur variabil rezult printr a a a o implementare pe un circuit mai simplu, MUX2:1, Figura 2.39. Evident, i pentru s implementarea pe MUX2:1 cele ase valori banale (0, 1, x 1 , x0 , x1 , x0 ) ale functiilor de s dou variabile nu necesit multiplexoare. a a Pentru aceast implementare elegant a unei functii pe multiplexor, cnd n este a a a ridicat, rezult un multiplexor de capacitate mare. Exist dou modaliti de a a a a at reduce, eventual, capacitatea multiplexorului. primul rnd, se In a ncearc s se introa a duc mai multe variabile reziduu rezultnd o functie de mai putine variabile. Aceast a a a variant duce la simplicarea structurii numai atunci cnd coecientii obtinuti cu a a variabile reziduu au forme banale sau au expresii ce pot calculate cu porti sim ple AND/NAND, NOR/OR sau XOR/NXOR. Foarte important obtinerea unor n expresii simple pentru coecientii cu variabile reziduu este modul de alegere, dintre variabilele functiei, care s e varaibilele reziduu i care s e variabilele functiei de a s a ordin mai mic. Nu exist un algoritm care s exprime modul de alegere al variabilelor a a pentru o implementare optim. Pentru o implementare cvasioptim, sau optim, a a a intuitia i exercitiul proiectantului manipularea functiilor analitice, tabelelor de s n adevr sau diagramele V-K pot factori de succes. a al doilea rnd, se poate reduce capacitatea multiplexorului cnd, e pentru In a a functia exprimat prin variabile reziduu, e far, se descompune multiplexorul de a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

241
f 12
2

0 0 0 0

MUX 4:1 00 01 10 11

0 0 1 1

MUX 4:1 00 01 10 11

x1

0 1 0 1

MUX 4:1 00 01 10 11

x0

1 0 1 0

MUX 4:1 00 01 10 11

x0

1 1 0 0
2 f6 MUX 4:1 00

MUX 4:1 00 01 10 11

x1

1 1 1 1

MUX 4:1 00 01 10 11

x 1x 0

1 0 01 0 10 0 11

2 f8 MUX 4:1 00

x 1x 0

x 1+x 0 1 0 01 0 10 1 11

2 f9 MUX 4:1 00

x 1x 0

x 1+x 0 1 0 01 1 10 1 11

2 f 11 MUX 4:1 00

x 1x 0

x 1+x 0 1 1 01 0 10 1 11

2 f 13 MUX 4:1 00

x 1x 0

x 1x 0
MUX 4:1 00 01 10 11

f 14

x 1+x 0 1 1 1 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

Figura 2.38 Implementarea celor 16 functii de dou variabile pe circuite a MUX4:1. capacitate ridicat printr-o retea arborescent de multiplexoare de capacitate mai a a mic, uzual din MUXE. Analiznd ieirile acestor multiplexoare elementare, situate a a s la nivelul zero (nivelul frunzelor) sau la niveluri putin mai ridicate dect acesta, a se poate constata c unele dintre aceste niveluri produc valori banale sau functii a foarte simple, astfel se pot elimina multiplexoarele respective. Poate rezulta urma n analizei o structur hard cu mult mai simpl raport cu multiplexorul initial. Si a a n la implementarea pe structuri arborescente modul de alegere al variabilelor reziduu poate duce la simplicri hard importante. exemplele urmtoare se vor utiliza a In a toate aceste modaliti pentru implementare. at Exemplul 2.15 Urmtoarea functie a
31

f (A, B, C, D, E) =
0

(1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28)

s e implementat numai cu circuite MUX4:1. a a Solutie. Pentru a utiliza numai MUX4:1 functia se va transforma ca o functie de dou a variabile D, E cu coecienti care cuprind variabilele reziduu A, B, C. Aceti coecienti vor s i ei transformati at s e functii de dou variabile B, C iar variabila A introdus ca s nc a a a variabil reziduu. Rezult o structur de retea arborescent cu dou niveluri, pe nivelul a a a a a

10 forme nebanale

0 0 01 0 10 1 11

2 f1 MUX 4:1 00

x 1x 0

x 1x 0

0 0 01 1 10 0 11

2 f2 MUX 4:1 00

x 1x 0

x 1x 0

0 1 01 0 10 0 11

2 f4 MUX 4:1 00

x 1x 0

x 1x 0

x 1x 0

0 1 01 1 10 0 11

x 1+x 0 0 1 1 1 11

x 1x 0 2 f7 MUX 4:1 00 x 1+x 0 01 10

6 forme banale

f0

f3

f5

f 10

f 15

242
f0
2

2.4. CLC PENTRU FUNCTII LOGICE

0 0 0 1

MUX 2:1

1 0 1 1

MUX 2:1

0 0 1 1

MUX 2:1

x0

1 0 0 1

MUX 2:1

2:1 x 2:1 x x0 x 1 1 x1 0 1 0 x1 1 x1 1 2 f1 MUX 2:1

MUX

MUX

1 0 1 1

2 f7 MUX 2:1

x0

x 1+x 0 1 0 x1 1

2 f 11 MUX 2:1

x0

x 1+x 0 x 1 0 1 1

2 f 13 MUX 2:1

x0

x 1+x 0 1 0 x1 1

2 f 14 MUX 2:1

x0

x 1x 0

x1 0 x1 1

2 f9 MUX 2:1

x0

x 1+x 0

x0

x0

x0

x0

x0

Figura 2.39 Implmentarea celor 16 functii de dou variabile pe circuite a MUX2:1 (variabila x1 este introdus ca variabil reziduu coecientii a a n functiilor fi2 ).
,, zero (frunze ) multiplexoarele 4:1 vor selectate de variabilele B, C avnd ca i coecient a s pe intrrile de date valori din multimea {0, 1, A, A} iar pe nivelul unu un multiplexor 4:1 a selectat de variabilele D, E f (A, B, C, D, E) = P1 + P2 + P3 + P4 + P5 + P6 + P7 + P10 + P14 + P20 + P22 + P28 = ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + ABCDE+ +ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + ABCDE = = (ABC + ABC)DE + (ABC + ABC)DE + (ABC + ABC + ABC+ +ABC)DE + (ABC + ABC)DE = = (0 BC + 1 BC + 0 BC + A BC)DE+ +(A B C + A BC + 0 BC + 0 BC)DE+ +(A BC + A BC + 0 BC + 0 BC)DE

+(A BC + 1 BC + A BC + A BC)DE+ Aceast expresie este implementat Figura 2.40. Deoarece expresiile coecientilor a a n s produselor DE i DE sunt identice se va calcula cu un singur MUX4:1, nivelul zero, iar n rezultatul se aplic pe intrrile 01 i 11 ale multiplexorului din nivelul unu. a a s

Exemplul 2.16 Fie urmtoarea functie de 5 variabile a


31

f (A, B, C, D, E) =
0

(8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 31).

10 forme nebanale

x1 0 0 1

2 f8 MUX 2:1

x0

x0 x 1+x 0 0 0 x1 1

2 f4 MUX 2:1

x0

x 1x 0 x 1 0 0 1

2 f2 MUX 2:1

x0

x0

x 1x 0

0 0 x1 1

x 1x 0

x1 0 x1 1

f2 6 MUX 2:1

x0

x 1+x 0

6 forme banale

f 15

f5

f 10

f3

f 12

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

243

0 1 0 A A A 0 0 A 1 A A

MUX 4:1

00 01 10 11 00 01 10 11 00 01 10 11

MUX 4:1

MUX 4:1

00 O 01 10 11

f(A,B,C,D,E)

MUX 4:1

C
31

Figura 2.40 Implementarea printr-o structur arborescent numai cu a a MUX4:1 a functie F(A, B, C, D, E) =
0

(1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28).

S se implementeze utiliznd un numr minim de circuite integrate. Se presupune c sunt a a a a disponibile, la intrare, variabilele att negate ct i nenegate. a a s Solutie. Din diagrama V-K, Figura 2.41-a rezut forma minim a functiei a a f = AE + B C + BE = AE B C BE care se implementeaz ca Figura 2.41-b cu 3xNAND2 i 1xNAND3. Deoarece nu exist a n s a circuite integrate care s aib simultan ambele tipuri de porti se vor utiliza dout circuite a a a integrate: unul pentru 3xNAND2 i unul pentru 1xNAND3; pe ecare circuit rmnnd porti s a a a nefolosite. Deoarece forma minim obtinut nu mai apare variabila D se va implementa n a a continuare o functie numai de 4 variabile A, B, C, E. Pentru implementare pe multiplexor n forma minim se expandeaz la forma normal disjunctiv, operatie care este prezntat a a a a a n diagrama V-K din Figura 2.41-c. Implementarea pe un MUX16:1 se face direct prin maparea coecientilor din diagrama V-K pe intrrile de date. Dar se poate utiliza un MUX8:1 dac a a variabila A se va alege ca variabil reziduu, Figura 2.41-e (un singur circuit integrat). a Pentru implemntarea pe MUX4:1 trebuie introduse coecienti dou din variabile rezin a duu. Dar care variant, de cte dou perechi de variabile (o pereche de variabile pentru sea a a lectarea multiplexorului iar celalalt pereche de variabile introduse ca variabile reziduu), duce a la implementarea cea mai simpl? total cu cele patru variabile se pot realiza urmtoarele a In a ase variante de perechi distincte (prima pereche corespunde variabilelor reziduu iar a doua s variabilelor de selectare): V1 CE, AB; V2 AB, CE; V3 BE, AC; Pentru toate variantele, valorile coecientilor cu variabile reziduu se pot deduce din diagrama V-K din Figura 2.41-c. De exemplu, pentru varianta V1 (variabile de selectare AB) se procedeaz felul urmtor: a n a pentru suprafata AB = 00, toti mintermii din csutele elementare ale acestei suprafete a au valoarea 0, deci d0 = 0. V4 AC, BE; V5 BC, AE; V6 AE, BC

244

2.4. CLC PENTRU FUNCTII LOGICE

ABC 000 001 011 010 110 111 101 100 DE 0 4 24 28 12 8 20 16 00 1 1 01 11 10 a) AB CE 0 00 01 11 C 10 c) V CC A I0 I1 I2 I3 I4 I5 I6 I7 20 21 22 G


1 1 3 2 5 7 6 13 15 14

1 1

1 1 1

25 27 26

1 1 1

29 31 30

1 1

21 23 22

1 1

17 19 18

A E B C B E b)

AE BC BE f

1 1

11 10

BE 00
4

BC A 11
12

AE 10
8

01 1 1 1

1 1 1

13

1 E 1

A 0 0 1 1 B 0 0 1 1 d)

V1 B di 0 0 1 C+E 0 E 1 C+E V4 E di 0 0 1 A 0 C 1 1

C 0 0 1 1 A 0 0 1 1

15

11

V2 E di 0 B 1 A+B 0 0 1 A+B V5 E di 0 BC 1 B 0 BC 1 1

A 0 0 1 1 B 0 0 1 1

V3 C di 0 B 1 BE 0 B+E 1 E V6 C di 0 AE 1 AE 0 1 1 E

14

10

B 74S151

V CC 1I 0 1I 1 1I 2 1I 3 A C 2I 0 2I 1 2I 2 2I 3 20 21 1G 2G

74S153

f f

1O 2 x MUX 4:1

2O

E C B e)

MUX 8:1

E B f)

Figura 2.41 Modaliti de implementare a functiei f (A, B, C, D, E) = at


31

(8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 31).
0

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

245

pentru suprafata AB = 01, mintermii din csutele elementare 4,5 i 7 cuprinse a s n interiorul acestei suprafete au valoarea 1. Acetia extrai din diagram prin scriere s s a mpreun functie de C, E rezut C AB + E AB = (C + E)AB deci d1 = C + E. a n a pentru suprafata AB = 11, numai mintermii din csutele 12,13 i 15 au valoarea 1, a s prin scrierea impreun a lor rezult CAB + EAB = (C + E)AB, deci d3 = C + E. a a pentru suprafata AB = 10, numai mintermii din csutele 9,11 au valoarea 1. Prin a scrierea impreun a lor rezult EAB, deci d2 = E. a a Valorile rezultate ale coecientilor cu variabile reziduu (C, E) sunt prezentate tabelul n V1 din Figura 2.41-d. mod asemntor se procedeaz i pentru celelalte cinci variante. In a a a s Analiznd tabelele tuturor variabilelor rezult c cea mai simpl form de implementare a a a a a corespunde lui V4 , coecientii sunt numai din multimea valorilor banale 0, 1, A, A, C, C. Im pelementarea pe circuitul 74S153 (2xMUX4:1) este prezentat Figura 2.41-f (un singur a n circuit integrat, dar un MUX4:1 din componenta sa rmne neutlizat). a a

Exemplul 2.17 Functia de patru variabile dat diagrama V-K din Figura 2.42-a a n s se implementeze pe un MUX8:1 structurat ca variantele din Figura 2.35-c. a n
CD AB 00 00 0 01 1 11 1 10 0 a)
(0) (4) (1) (5) (2) (6) (3) (7)

01 1 1 0 0

11

10 0

0 1 1 1

A variabila reziduu CD 00 01 11 10 B 0 0 0 A 1A A 1 1 1 A A A b) 2 x CI 11 conectari 0 (2) 00 0 (4) 01 1 (6) 10 11 1 A 3 (1) A 3 (3) A 3 (5) A 3 (7) 00 01 10 11
(0)

0 0 1 (4) 1 0 1 (6) A 3 (1) A 3 (5) A 3 (3) A 3 (7) c)


(2) 0 1 0 1 0 1

(0)

B B A A B
0 1 0 1

1 x CI 8 conectari B
0 1

1 x CI 7 conectari
0 1 0 1 0 1 0 1

C D 1 x CI 11 conectari 0 A 0 1 1 A A A f)
(0) (1) (2) (3) (4)

0 1 A A 0 1 A A d)

B A B A B 00 01 10 11 f

B 0 1 f

000 001 010 011 100 (5) 101 (6) 110 (7) 111 B C D

e)

Figura 2.42 Impelementarea unei functii de patru variabile pe diferite structurri de MUX8:1. a
Solutie. Functia de patru variabile pentru a implementat pe un MUX8:1 trebuie a exprimat cu o variabil reziduu, deci diagrama V-K din Figura 2.42-a este transformat a a a n diagrama V-K din Figura 2.42-b. Prin aceast transformare, pentru valorile indiferente ale a lui functiei se consider att 0 ct i 1 ceea ce determin dou valori ale coecientului a a a s a a n

246

2.4. CLC PENTRU FUNCTII LOGICE

unele csute elementare ale diagramei cu variabile reziduu. Pentru implementarea functiei a se va lua acea valoare a coecientului care duce la o structur de circuit mai simpl. a a Coecientii functiei din diagrama V-K cu varaibile reziduu se aplic pe intrrile struc a a turilor de MUX8:1. Coecientul functiei din csuta cu numrul i, exprimat binar, se a a n aplic pe intrarea de date notat cu numrul i ca Figura 2.42-f. Dar la o structur de a a a n a arbore intrarea a i-a este aceea la care parcurgnd un traseu de la frunz la rdcin irul a a a a as cifrelor binare, alnite la intrarea de date a ecrui multiplexor, formeaz tocmai numrul nt a a a i exprimat binar natural. De exemplu, Figura 2.42-c, la intrarea la care n n ncepe traseul prin a crei parcurgere se alnete irul de biti 1, 0, 1 se va aplica coecientul din csuta a nt s s a a cincea (5 = 101|2 ) din diagrama V-K, adic A. Pentru uurinta realizarea maprii, la a s n a intrrile multiplexoarelor, s-au a nscris, paranteze, i numrul zecimal al coordonatei n s a n csutei din diagrama V-K al crui coecient se aplic pe acea intrare de date. a a a Se observ c la retelele arborescente care contin multiplexoare 2:1 sau 4:1, uneori, a a se calculeaz valori banale, care oricum exist sistem i nu mai trebuie calculate, deci a a n s multiplexoarele respective se elimin. Efectund aceste eliminri i calculnd indicatorii a a a s a de ecienta (numrul de circuite integrate, CI i numrul de conectri) armatia de la a s a a Figura 2.35-c, c impelementrile cu multiplexoare de capacitate mai mare sunt mai eciente, a a este contrazis. Din implementrile din Figura 2.42 rezult c inplementrile pe retelele a a a a a arborescente, avnd multiplexoare de capacitate mic, sunt mai eciente. Aceast armatie a a a trebuie luate sub rezerva c obtinerea unei structuri simple depinde foarte mult de modul a potrivit de asignare a variabilelor reziduu.

Circuitul multiplexor prezint o limitare intrinsec termenii canonici produs, a a generati pe nivelul AND, sunt utilizati doar o singur dat (prin colectarea inte a a n rior la o poart OR). general, la implementarea unei functii costul implementrii, a In a mare parte, este determinat de generarea termenilor produs. Nu exist aceeai n a s situatie la decodicator/demultiplexor unde termenii produs, datorit faptului c a a sunt colectati exterior nivel OR, pot utilizati mai multe porti OR dac n n n a au un fan-out corespunztor, deci impelementarea mai multor functii. Solutia care a apare este cea a utilizrii a mpreun a multiplexorului cu decodicatorul. a
P 2(j1n) 1 DCD P0

Retea de porti OR

MUX 2 n:1

x j1

x n x n1 x 0

fi

Figura 2.43 Impelementarea unei functii fij pe o structur compus a a decodicator-multiplexor. Pentru o astfel de implementare combinat, decodicator-multiplexor, se cona sider o functie de j variabile fij . Se partajeaz variabilele n variabile ale functiei a a n

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

247

(xn1 , xn2 , ..., x1 , x0 ) i (j 1)n variabile reziduu (xj1 , xj2 , ..., xn+1 , xn ). Coes cientii de variabile reziduu sunt sume de produse de aceste variabile care se pot calcula cu un DCD(j 1 n):2(j1n) i o retea extern se porti OR, apoi aceti coecienti s a s sunt aplicati pe intrrile de date ale multiplexoarelor MUX2 n :1, Figura 2.43, la care a selectarea se face prin variabilele xn1 , xn2 , ..., x1 , x0 .

2.4.5

Demultiplexorul

Circuitul demultiplexor DMUX poate realiza o functie de comunicatie prin conec tarea unei linii de intrare I la oricare dintre liniile de ieire O 2n 1 , O2n 2 , ..., O1 , O0 . s Functia aceasta de comunicatiee distribuirea unei intrri la oricare din ieiri a s pe care o realizeaz un cirucuit DMUX poate efectuat i de un selector rotaa a s tiv mecanic, Figura 2.44-a. La distribuitorul mecanic selectarea ieirii, la care se s conecteaz intrarea, se face prin pozitia contactului rotativ, iar la circuitul demula tiplexor DMUX1:2n , cu o linie de intrare i 2n linii de ieire, printr-un cuvnt se s s a selectarea cu lungimea de n biti xn1 , xn2 , ..., x1 , x0 , Figura 2.44-b. Operatia de de multiplexare, distribuirea unei intrri la oricare din cele 2 n ieiri, apare ca o operatie a s invers multiplexrii (selectarea unei intrri din cele 2 n i conectarea la o singura a a a s ieire). s Particulariznd DMUX1:2n , pentru n = 2, se obtine demultiplexorul cu o sina gur cale de intrare E (activ L) i patru ci de ieire O 0 , O1 , O2 , O3 , comana a n s a s dat pe selectare prin cuvntul x1 x0 , a crui schem bloc i tabel de adevr sunt a a a s a prezentate Figura 2.44-c i 2.44-d. Din tabelul de adevr rezult expresia logic n s a a a y y pentru ecare ieire: y0 = E L1 y0 ; y1 = E L1 y0 ; y0 = E Ly1 y0 ; y0 = E Ly1 y0 s care corespund implementrii din Figura 2.44-e. Se pot da urmtoarele dou intera a a pretri: la ieirea Oi selectat de conguratia cuvntului de selectare se transmite a s a a a a a intrarea E L complementat (functia de comunicatie), sau dac se consider intrarea permanent activat E L = 0 ieirea Oi este activ cnd conguratia cuvntului de a s a a a selectare este Pi ; deci conform ultimei interpretri se pot genera la ieire toti cei patru a s mintermi P0 , P1 , P2 , P3 (functia de circuit logic). Ultima interpretare ne arat identi a tatea functionrii i identitatea structurrii, vezi sectiunea 2.4.3 i Figura 2.28-c, a s a s ntre decodicator i demultiplexor. s Se poate generaliza, un decodicator DMUX1:2n este un distribuitor al valorii s a a complementate E L la ieirea Oi , selectat prin cuvntul de selectare, iar un DCDn:2 n este un decodicator al cuvntului de selectare, cnd intrarea de validare este activat a a a E L = 0, Figura 2.44-b. Deci se poate scrie identitatea DMUX1:2 n (pentru E L = 0) DCDn:2n . Aceasta explic de ce pentru decodicare sau pentru demultiplexare a exist un singur circuit integrat referit cataloage ca decodicator/demultiplexor. a n Si, general, la acest circuit semnalul de validare se obtine printr-o conjunctie n ntre mai multe semnale de validare, unele active stare H altele stare L. Obtinerea n n validrii, din conjunctia mai multor semnale poate util a a ntr-un sisitem pentru c a se poate conditiona functionarea acelui sistem de realizarea (activarea) simultan a a mai multor semnale (conditii). De exemplu, circuitul decodicator/demultiplexor 74xx138 cu tabelul de adevr a i, cu simbolul de reprezentare date Figura 2.45 are trei intrri de validare, una G 1 s n a la care semnalul aplicat este activ stare H, iar celelalte dou G 2A i G2B la care n a s semnalele aplicate sunt active stare L. n

248
O0 O1 I Selectare E(Enable) a) O2n2 O 2n1 y 2n2 y2n1 b) y0 y1 E_L

2.4. CLC PENTRU FUNCTII LOGICE

E O 2n1 Sn1 S1S0 x n1 x1 x0 Selectare O0 y0 y2n1

E_L

O0 O1 E O 2 O3 S1 S0 x1 x0

DMUX 1:4

DMUX 1:2 n O0 O1

y0 y1

y0 y1 y2 y3

c)

E_L x 1x 0 Iesire 1 0 0 0 0 0 1 yi=0 y0=E_Lx 1x 0 y1=E_Lx 1x 0 y2=E_Lx 1x 0 y3=E_Lx 1x 0 x1 x0 E_L

O1 y1 O2 y2 O3 y3 DMUX 1:4 E_L

DMUX 1:2

O0 y0 O1 y1

0 1 0 0 1 1

DCDE x0 f)

d)

e)

Figura 2.44 Demultiplexorul, DMUX: a) distribuitorul rotativ mecanic analogul mecanic al demultiplexorului; b) simbol de reprezentare pentru DMUX1:2n ;c,d,e) simbol de reprezentare, tabel de adevr i structura circuitului pena s tru DMUX1:4; f) structura demultiplexorului elementar, DMUX1:2. Functionarea logic este direct o ieire este activ dac i numai dac validarea a a s a as a este activ i este aplicat cuvntul de selectare corespunztor. Astfel ecuatia logic, as a a a notatii de semnale interne din Figura 2.45-b, de exemplu pentru O 5 , se scrie uor: n s O5 = G1 G2A G2B S2 S1 S0
validare selectare

Dar innd cont de cerculetele de negatie, care indic faptul c semnalele exterioare t a a a corespunztoare sunt active L ( a n ntre semnalul exterior i cel interior circuit exist s n a a a n un inversor G2A = G2A L, G2B = G2B L), ecuatia logic anterioar se poate scrie functie de semnalele exterioare (aplicate sau generate) Y5 L = O5 = G1 G2A L G2B L x2 x1 x0 = 1 + G2A L + G2B L + x2 + x1 + x0 =G

acest caz, pentru o validare permanent, intrarea G 1 se concteaz la VCC iar In a a celelalte dou intrri G2A i G2B se conecteaz la mas. a a s a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

249

INTRARI G1G2A_L G2B_LS2 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 a)

S1 0 0 1 1 0 0 1 1

S0 0 1 0 1 0 1 0 1

O7 1 1 1 1 1 1 1 1 1 1 0

O6 1 1 1 1 1 1 1 1 1 0 1

O5 1 1 1 1 1 1 1 1 0 1 1

IESIRI O4 O3 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1

O2 1 1 1 1 1 0 1 1 1 1 1

O1 1 1 1 1 0 1 1 1 1 1 1

O0 1 1 1 0 1 1 1 1 1 1 1

74xx138 DCD 3:8 G1 G1 O0 G2A_L G2A O1 G2B_L G2B O2 O3 O4 S2 O5 x2 S1 O6 x1 S0 O7 x0 b)

y0_L y1_L y2_L y3_L y4_L y5_L y6_L y7_L

Figura 2.45 Circuitul 74xx138, DMUX1:8: a) tabelul de adevr; b) simbolul de a reprezentare. Din structura DMUX1:4, prin eliminarea intrrii de selectare x 1 , se obtine struca tura demultiplexorului elementar DMUXE, reprezentat Figura 2.44-f. Dar n de la DMUX1:4, prin extensie, se poate obtine i demultiplexorul cu 2 n ci de ieire s a s DMUX1:2n prin extindere la n a numrului de decodicatoare elementare i de asemea s nea prin extinderea la n a numrului de porti AND(n+1). Caracteristicile pentru a o astfel de structurare a DMUX1:2n sunt cele ale DCDn:2n adic o dimensiune a SDM U X(n) O(n2n ) i o adncime DDM U X(n) = 3 O(n). Adncimea, dup cum s a a a s-a analizat i la DCD, doar teoretic este 3, pentru c realitate o poart AND(n+1) s a n a nu poate structurat pe un singur nivel logic. a Dar un DMUX1:2n se poate deni (i proiecta) printr-o structurare recursiv de s a DMUXE; considernd de data aceasta c i ieirile sunt active stare L (pentru a a s s n a se putea comanda intrarea de validare a urmtorului DMUX fr a mai aduga a aa a inversoare). Denitia 2.11 Un DMUX1:2n , selectat prin cuvntul xn1 xn2 ...x1 x0 , se a structureaz dintr-un DMUXE selectat cu xn1 i ale crui ieiri comand intrrile a s a s a a a dou DMUX1:2n1 selectate prin cuvntul xn2 xn3 ...x1 x0 . Apoi, asupra celor a a dou DMUX1:2n1 se aplic acelai procedeu de structurare, procedeul recursiv de a a s structurare se oprete cnd se ajunge la DMUX-uri selectate prin x 0 . s a Prin modul de structurare, conform aceste denitii, Figura 2.46, se obtine o retea ,, arborescent de (2n 1)DMUXE distribuite pe n niveluri; pe nivelul zero frunze a ,, n/2 selectat prin x0 sunt 2 DMUXE iar pe nivelul n un singur DMUXE, rdcin , a a a selectat de xn1 . Aceast retea binar are o structurare semntoare cu cea obtinut a a a a a la structurarea MUX2n :1, dup Denitia 2.10 , diferenta const sensul de transfer a a n al datelor. La MUX2n :1 datele de intrare se aplic la frunze iar ieirea este prin a s rdcin, pe cnd la reteaua arborescent a DMUX1:2 n se aplic o singur dat de a a a a a a a a intrare la rdcin iar ieirea este prin frunze. Caracteristicile acestei structurri sunt: a a a s a dimensiunea SDM U X(n) O(2n ) iar adncimea DDM U X(n) O(n). a Acest mod de structurare iterativ (la fel ca la multiplexoare) se poate realiza a nu numai cu pasul un bit de selectare ci repartiznd pe un nivel q biti de selectare, a

250

2.4. CLC PENTRU FUNCTII LOGICE

x n1 x n2...x 1x 0

S0

E DMUXE O1 O0

E DMUX 1:2 n1 S0 O 2n1 O1 O0 Sn2 y 2n1 y 2n1+1 y 2n1

E DMUX 1:2 n1 S0 O 2n1 O1 O0 Sn2 y 2n11 y1 y0

Figura 2.46 Structura recurent a DMUX1:2n . a aceasta nseamn k niveluri i pe ecare nivel sunt DMUX1:2 q , n = kq. Modul acesta a s de structurare poate utilizat i pentru obtinerea unui DMUX1:2 n pe k niveluri din s circuite DMUX1:2q obtenabile comercial. Perechea format din cele dou circuite cu functii inverse, un MUX2 n :1 comand a a a (conectat printr-un singur r la) un DMUX1:2n poate utilizat pentru transferul a serial al continutului unui port surs, cu lungimea de 2 n biti, a ntr-un alt port destinatie de aceeai lungime. Bitii portului surs sunt aplicati la cele 2 n intrri de date ale s a a MUX2n :1, iar cele 2n ieiri ale DMUX1:2n sunt aplicate la intrrile portului destinatie. s a Ambele cuvinte de selectare sunt generate sincron de la un numrtor binar modulo aa 2n , deci pe duarata a 2n tacte de ceas aplicate numrtorului se efectueaz transferul aa a serial, bit-cu-bit din portul surs portul destinatie. a n

2.4.6

Memoria numai cu citire, ROM

Functia de memorare o posed acele circuite digitale care pot stoca ( a nmagazina) i regenera, la comand, informatia sub form de cuvnt. s a a a Organizarea logic a memorrii datelor, dar i cea pe suportul zic, este sub forma a a s unei matrice cu A-numr de linii (adrese) i D-numr de coloane, Figura 2.47a s a a. ecare nod al matricei poate stocat un bit. Se consider c pe ecare linie a In a a matricei este stocat informatia sub forma unui cuvnt cu lungimea D biti, de unde a a i termenul uzual de linie de cuvnt; numrul de biti ai cuvntului este egal cu s a a a numrul de coloane. Referirea la o linie de cuvnt se face prin adresa sa, care, a a n general, este numrul de ordine al liniei matricei. De exemplu, acest gur, la a n a a adresa 0 (prima linie) este stocat cuvntul de n biti D n1 Dn2 ...D1 D0 = 10...11, la a adresa 1 (linia a dou) cuvntul 11...01, iar la adresa 2 n 1 (ultima linie) cuvntul a a a 01...10. La activarea adresei unei linii de cuvnt se va genera la ieire, pe coloane a s linii de bit cuvntul care este a nscris ( locatia de) la adresa respectiv. n a Capacitatea memoriei, exprimat biti, rezult ca ind egal cu produsul A D. a n a a general, capacitatea memoriei se exprim numr de adrese In a n a nmultit cu lungimea cuvntului (1bit, un byte, un cuvnt) stocat la o locatie, de exemplu: 1Kbit (1Kadrese a a x1bit, 1K= 210 = 1024); 1Mbyte (1Madrese x1byte, 1 M= 220 ); 1Gcuvnt (1Gadrese a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

251

x1cuvnt, 1G= 230 ); lungimea D biti a cuvntului se specic sau se sub elege. a n a a nt Un circuit care, prin structura sa, poate s mapeze organizarea matriceal a a a datelor este circuitul ROM (Read Only Memory); acest circuit este un suport NUMAI pentru citirea datelor nscrise, nu i pentru modicarea ( s nscrierea) acestora. Referirea corect a circuitului este circuitul ROM i nu memoria ROM, totui ultima a s s sintagm s-a xat; consecinta, aceast carte se vor utiliza ambele exprimri. La a n n a a circuitul ROM stocarea informatiei este non-volatil deoarece la pierderea tensiunii a de alimentare informatia nu este pierdut. Nevolatilitatea informatiei se datoareaz a a faptului c suportul unui bit, a ntr-un nod al matricei, este prezenta sau absenta n acel nod a unei conexiuni (realizat printr-un: fuzibil, diod, sau tranzistor). Aceast a a a invaliditate a circuitului ROM de a nu putea nscris, cauzat de o structurare mai a simpl, este eliminat de ctre un alt circuit de memorie, RAM, prezentat sectiunea a a a n 3.6. Pentru un ciruit ROM organizarea logic de principiu este prezentat Figura a a n 2.47-b. Liniile de cuvnt ale matricei sunt ieirile de la DCDn:2 n , deci activarea unei a s locatii rezult urma aplicrii unui cuvnt de adres A n1 An2 ...A1 A0 la intrarea a n a a a decodicatorului. Cuvntul de date de la locatia adresat, a a nainte de a generat n exterior, de exemplu, pe o magistral, est buerat; cazul conectrii la o magistral a n a a buerele de ieire trebuie s e de tip TSL. Comanda buerelor TSL este realizat s a a prin conjunctia a dou semnale de comand CS L (Chip Select) i OE L (Output a a s Enable). Matricea memoriei prezint ecare nod o diod i are a n a s nscris acelai s continut ca i cel s nscris matricea de la gura Figura 2.47-a. Pentru un bit 1, n nscris ntr-un nod, dioda respectiv este conectat a a ntre linie i coloan, iar pentru s a un bit 0 nscris fuzibilul este ars acest nod, deci dioda nu realizeaz conexiunea n a ntre linie i coloan. Conform conexiunilor la diode, la activarea primei linii va s a citit cuvntul Dm1 Dm2 ...D1 D0 = 10...11 pentru linia a dou cuvntul 11...01, iar a a a pentru linia de adres 2n 1 cuvntul 01...10. a a Aplicatiile cu circuite ROM pot ncadrate dou grupe: a) aplicatii de tip n a aritmetic i b) aplicatii de tip logic. s a). Aplicatiile de tip aritmetic se reduc la implementarea unor tabele de date, LUT (Look-Up Table). LUT-ul este o reprezentare a unei functii prin valorile sale numerice, nscrise diferite locatii ale circuitului ROM. Adresa locatiei se determin n a prin conguratia binar a valorilor variabilelor de intrare ale functiei. Deci pentru o a anumit conguratie a variabilelor functiei adresa unei locatii din locatia rea spectiv se obtine, la ieirea circuitului ROM, cuvntul binar care reprezint valoarea a s a a functiei. b). Aplicatiile de tip logic se reduc la implementarea unei functii logice n general cu ieiri multiple pe cele dou niveluri AND i OR ale circuitului ROM, s a s deci acesta este un circuit combinational. structura matricei o linie de bit, prin diodele conectate la rezistenta R, conIn stituie un circuit max, ca cel din Figura 1.11-b, care logic pozitiv este o poart n a a a OR. Aceast poarta OR, de fapt, colecteaz la intrarea buerului de ieire acele a a s ieiri ale DCDn:2n la care exist diod cu fuzibilul nears, adic s a a a nsumeaz logic a unii din termenii canonici de variabilele An1 , An2 , ..., A1 , A0 . De exemplu, linia de bit D1 realizeaz valoarea functiei logice care a nsumeaz mintermii 1 P 0 + 0 P1 + a ... + 1 P2n 1 . Dac se privete circuitul ROM ca un CLC cu ieiri multiple atunci a s s acesta este un convertor de cod (transcodor), pentru o conguratie a cuvntului de a

252

2.4. CLC PENTRU FUNCTII LOGICE

Adresa 0 Linii de cuvant (locatii) 1 1 0 1 1 1 1 0 1

DCD n:2n O0 A0 I0 A1 O1 I1 A n1 I n1 O2n1 R R R R

Poarta OR

2n1

0 1

1 0 D1 D0 b)

Dm1 Dm2 a)

m coloane de date (linii de bit)

CS_L OE_L

Dm1 Dm2 D1 Cuvant de date D0 D1 Dm1 P A 0 A1 A n1 WRITE READ c) Magistrala de adresare Magistrala de control Magistrala de date d) t1 t2 Adresa nu este definita AA READ Bitii cuvantului de adresa sunt stabili pe magistrala de adresare D0 D1 Dm1 (2 nm) ROM A0 A1 A n1 CS OE

D0

Magistrala de date

Magistrala de adresare

Datele de la locatia adresata sunt valide pe magistrala de date t3

Figura 2.47 Memoria numai cu citire, ROM: a) structurare matricial, de a principiu, pentru informatia sub form de cuvinte binare; b) structurarea matriceal a a a unui circuit ROM; c) conectarea la magistralele P a unui circuit ROM; d) diagramele de timp ale semnalelor de control pentru efectuarea operatiei de citire.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

253

de intrare, An1 , An2 , ..., A1 , A0 , se genereaz o conguratie a cuvntului de ieire, a a s Dm1 , Dm2 , ..., D1 , D0 , care, de fapt, realizeaz o dependenta intrare ieire ca cira s cuitul cu schema de principiu din Figura 2.33. La fel ca i multiplexorul circuitul ROM este un circuit logic universal pentru c s a prezint att nivelul de AND ct i nivelul de OR dar, spre deosebire de multiplexor, la a a a s ROM nivelul de OR este programabil i poate un circuit cu ieiri multiple (genereaz s s a un cuvnt de date). ROM-ul avnd posibilitatea de a programat, pe nivelul de a a OR (codicator), poate mai ecient folosit, adic toti cei 2 n maxtermi generati a pe nivelul de AND (decodicator) pot utilizati pentru implementarea mai multor functii i nu numai pentru una singur ca la multiplexor. Functia de implementat nu s a trebuie minimizat deoarece nivelul decodicator produce toti cei 2 n termeni canonici. a Implementarea unei functii se face prin maparea direct a tabelului de adevr pe a a matricea OR programabil a ROM-ului; pe linia de bit (coloana) alocat functiei a a respective pentru termenii canonici care au valoare 1 fuzibilul diodei rmne intact, a a iar pentru termenii care au valoare 0 conexiunea se exclude prin arderea fuzibilului. Pentru aplicatiile care memoria numai cu citire este utilizat ca un LUT aceasta n a trebuie inclus a ntr-un sistem pe baza de P , Figura 2.47-c. Memoria ROM se conecteaz la cele trei magistrale ale sistemului modul urmtor: intrrile de adres a n a a a la magistrala de adresare, ieirile de date la magistrala de date, iar la magistrala de s control, care acest caz este reprezentat doar de semnalul READ generat de P , n a se conecteaz intrarea de validare a ieirii, OE. La generarea unui cuvnt de adres a s a a de ctre P , din locatia de adres respectiv, se obtine cuvntul care se depune pe a a a a magistrala de date de unde este citit de ctre P . Pentru conexiunile din acest sistem a circuitul de memorie pot citite numai cuvintele de adres care au bitul A n1 = 0, a deoarece acest bit este utilizat pentru activarea semnalului de selectare a circuitului, CS, activ L. procesul de citire a memoriei trebuie n In ndeplinit o anumit a a secventialitate aplicarea cuvntului de adres i a semnalelor de control CS L i n a as s OE L. Figura 2.47-d sunt prezentate diagramele de semnale pentru efectuarea operatiei In de citire. La momentul t1 cuvntul adres generat de microprocesor se aplic pe a a a magistrala de adresare la intrarea memoriei i s ncepe decodicarea adresei. moIn mentul t2 , prin semnalul READ, generat tot de P , se comand buerele de ieire a s pentru trecerea lor din HZ starea lor normal. Abia n a ncepnd din momentul t 3 a datele din locatia de memorie sunt validate pe magistrala de date i pot citite de s ctre P . Se denete timpul de acces, AA , ca intervalul de timp din momentul a s momentul aplicrii cuvntului de adres la intrarea memoriei (t 1 ) pn cnd datele a a a a a a la ieire sunt valide (t3 ), deci cnd datele pot citite. Acest parametru important al s a circuitelor ROM are valori cuprinse ntre 20 90ns pentru cele tehnologie bipolar n a i s ntre 70 400ns pentru cele CMOS. Pentru o proiectare se recomand consultarea a foii tehnice a circuitului respectiv deoarece aceast prezentare simplicat au fost n a a omii alti parametrii de timp (vezi Figura 3.92-a). s La implementarea functiilor logice pe memorii numai cu citire este normal ten a dinta de a se utiliza circuite ROM ct mai simple i mai ieftine, deci de capacitate ct a s a mai mic. acest sens se recomand ca reducerile la functiile logice de implementat a In a s se fac primul rnd pe numrul variabilelor de intrare. Deoarece capacitatea a a n a a memoriei biti este 2n m, micorarea intrrilor cu o unitate reduce capacitatea n s a de dou ori (2n m/2n1 m = 2) pe cnd micsorarea ieirilor cu o unitate duce la o a a s

254

2.4. CLC PENTRU FUNCTII LOGICE

capacitate numai de m/(m 1) ori mai mic, (2n m)/2n (m 1) = m/(m 1)). a Posibilitatea de micorare a numrului de variabile aplicate la o memorie numai cu s a citire apare la acele functii care sunt partial denite la intrare (unele conguratii binare nu au sens pentru functie) sau pentru mai multe conguratii binare de intrare functia are aceeai ieire. Conguratiile care genereaz aceeai ieire sunt grupate s s a s s ntr-o clas de echivalenta care necesit pentru exprimare doar o singur conguratie a a a binar (cod). Dac la o functie cu n variabile un numr de n 1 variabile (n1 < n) a a a pot grupate ntr-un numr de clase de echivalente care pot exprimate cu p biti a (p < n1 ) atunci numrul de intrri ale memoriei pentru implementare scade de la n a a la n n1 + p. Exemplul 2.18 Pe un circuit ROM s se implementeze urmtoarea functie: a a
63

f (x5 , x4 , x3 , x2 , x1 , x0 ) =
0

(4, 5, 20, 29, 41, 42, 45, 57, 53, 58, 61, 63)

Solutie. Implementarea se poate face direct prin nscrierea valorii 1 locatiile ale cror n a

Tabelul termenilor canonici ai functiei Variabile P i x 5x 4 x 3x 2x 1x 0 cod 4 00 0100 0 5 00 0101 1 15 0 0 1 1 1 1 5 20 0 1 0 1 0 0 0 29 0 1 1 1 0 1 4 41 1 0 1 0 0 1 2 42 1 0 1 0 1 0 3 45 1 0 1 1 0 1 4 47 1 0 1 1 1 1 5 53 1 1 0 1 0 1 1 58 1 1 1 0 1 0 3 61 1 1 1 1 0 1 4 63 1 1 1 1 1 1 3 a) x0 x1 x2 x3 x4 x5 d) ROM (644)biti 4(164)biti f y0 y1 y2 y3

Tabelul claselor de echivalenta Variabile cod 0 1 2 3 4 5 b) x 3x 2x 1x 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 z 2z 1z 0 000 001 010 011 100 101

Tabelul de adevar al functiei dupa compresie Variabile Iesiri P i x 5x 4 z 2z 1z 0 y3y2y1y0 4 5 15 20 29 41 42 45 47 53 58 61 63 c) 00 00 00 01 01 10 10 10 10 11 11 11 11 000 001 101 000 100 010 011 100 101 001 011 100 101 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

x0 x1 x2 x3 x4 x5 e)

ROM 1 z 0 (164) biti z 1 z2

ROM 1 324 biti 2(164)biti f

y0 y1 y2 y3

Figura 2.48 Explicativ pentru sucesiunea etapelor compresia varia n abilelor unei functii scopul reducerii capacitii memoriei ROM folosit n at a pentru implementare.
adrese sunt specicate lista mintermilor, pe un modul memorie compus din patru circuite n

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

255

de capacitate 16 4 biti; D3 = f , ceilalti trei biti de ieire D2 , D1 , D0 rmn neutilizati, s a a Figura 2.48-d. Dar pentru cei 13 termeni produs ai functiei care au valoare logic 1, printr-o a artire a variabilelor functiei dou grupe x5 x4 i x3 x2 x1 x0 , se poate realiza o compresie mp n a s prin identicarea unor clase de echivalente. Intre cele 13 cuvinte binare care sunt cuvinte de adres ce se aplc la intrarea memoriei ROM, pentru grupul de variabile x3 x2 x1 x0 exist a a a numai ase subcuvinte binare distincte, deci s-a identicat ase clase de echivalenta notate s s cu 0 , 1 , 2 , 3 , 4 , 5 ca Figura 2.48-a. Sase clase de echivalenta pot codicate n numai cu 3 biti z2 z1 z0 ca tabelul din Figura 2.48-b. Transcodarea de la patru variabile n x3 , x2 , x1 , x0 la trei variabile z2 , z1 , z0 se face cu un circuit ROM16 4 biti (un bit de ieire s este neutilizat). nal, functia se poate exprima doar cu 5 variabile x5 , x4 i z2 , z1 , z0 ca In s n tabelul din Figura 2.48-c, cu o implementare doar pe dou circuite ROM164 plus a unul a nc pentru transcodorul claselor de echivalenta, Figura 2.48-e. Fata de modalitatea direct de a implementare cu circuite patru ROM de 164 biti, Figura 2.48-d, s-a econimisit un circuit de 164 biti.

Din analiza comparativ a tabelelor de adevr ale functiilor booleene pentru a a aplicatii logice i a celor pentru aplicatii aritmetice (numerice) se constat fr a s a aa gsi o explicatie riguroas c: raportul a a a ntre numrul conguratiilor variabilelor de a intrare ale functiei care produc valoarea 1 pentru ieire, sau numrul conguratiilor s a care produc valoarea 0 pentru ieire, supra numrul total de conguratii ale varis a abilelor de intrare ale functiei, 2n , este egal cu 0.5 pentru functiile aritmetice i mult s diferit de 0.5 pentru functiile logice. Se poate verica aceast observatie prin com a pararea tabelelor de adevr ale operatorilor logici AND,OR,NAND,NOR de dou a a variabile i tabelul de adevr al operatorului aritmetic XOR (sum modulo doi) de s a a dou variabile (se poate extinde i pentru n > 2). a s Ca o consecinta a acestei observatii se deduce c pentru implementarea unei functii a logice, pe baz de 1, sub form FCD (sum de mintermi) este necesar a se genera a a a putini mintermi din numrul total de 2n ai functiei. De asemenea, dac functia are a a multe valori 1 i putine valori 0, se poate face sinteza functiei negate f prin sumarea s mintermilor pentru (putinele) conguratii la care functia are valoarea 0 i apoi prin s negarea lui f se obtine functia, deci tot un numr mic de mintermi ce trebuie generati a raport cu numrul total de mintermi 2n . Dar la o implementare pe un ROM sunt n a generati toti cei 2n mintermi indiferent dac sunt utilizati sinteza functiei sau nu; a n pentru un numr mare de variabile de intrare costul generrii mintermilor neutilizati a a devine destul de ridicat. concluzie, pentru implementarea aplicatiilor aritmetice In (LUT-uri, programe de calculator) circuitul ROM este o solutie recomandat dar a pentru implementarea aplicatiilor logice, mai ales pentru n ridicat, ROM-ul nu este recomandat. Vom vedea c pentru implementarea functiilor logice, cu n ridicat i a s numr redus de mintermi necesari, este recomandat circuitul PLA. a

2.4.6.1

Realizarea circuitelor i modulelor ROM s

Adresarea bidimensional. Pentru o memorie ROM de capacitate 2 n m a biti, cu n biti de adrese i m biti de date pe ieire, Figura 2.47-a, se poate calcula s s dimensiunea SROM (n,m) . Considernd ecare linie de bit ca o poart OR cu 2 n intrri a a a

256

2.4. CLC PENTRU FUNCTII LOGICE

i pentru ecare buer de ieire TSL trei terminale rezult: s s a SROM (n,m) = SDCD(n) + m SOR(2n ) + m SBuf f er = n 2n + m 2n + m 3 O((n + m) 2n )

O astfel de dimensiune pentru n de valoare ridicat genereaz diculti la ima a at plementarea ROM. general, n > m, iar m = 2k are valori uzuale de 1,4, sau 8. In Dicultile de implementare sunt datorit numrului mare de ieiri de la DCDn:2 n at a a s i valorii relativ mic a lui m. De exemplu, pentru circuitul 27C040 ROM cu capacis a tatea 4M (512K 8 = 1019 23 = 222 biti) ar rezulta un decodicator cu (512 1024) ieiri, ceea ce ar foarte greu de realizat, iar dimensiunile matricei ar 2 19 8, ori s ,, aceast suprafata liform ar cu totul neconvenabil pe aria de Si. Se recomand a a a a ca suprafetele ocupate pe aria de Si s e ptratice (sau dreptunghiulare) din motive a a tehnologice i de s mpachetare (conexiuni i pini). Aceste dou diculti, numrul s a at a mare de ieiri ale DCD n : 2n ct i suprafata liform a matricei, pot depite prin s a s a as modul de adresarea bidimensional. a La adresarea bidimensional, exprimat prin Denitia 2.9 , cuvntul de adres a a a a An1 An2 ...A1 A0 se mparte dou subcuvinte de adres cu lungimea n 2 biti n a a s a n (An1 An2 ...An1 An1 ) i cellalt cu lungimea de n1 biti (An1 1 An1 2 ...A1 A0 ), general n1 i n2 au valori apropiate sau chiar egale, n = n1 + n2 . felul acesta se s In realizeaz dou decodicatoare, unul DCDn 2 :2n2 pentru decodicarea liniilor matricei a a a a s i cellalt DCDn1 :2n1 pentru decodicarea coloanelor, ecare avnd un numr de ieiri s a mult mai mic dect decodicatorul initial DCDn:2 n ; 2n1 << 2n , 2n2 << 2n , 2n1 a a a 2n2 = 2n . Matricea initial care avea 2n linii cu m biti pe ecare linie se scaleaz la o matrice care are 2n2 linii dar cu m2n1 biti pe ecare linie, deci raportul dimensiunilor se modic de la 2n /m >> 1 la 2n2 /m 2n1 1. Prin trecerea de la o matrice a ,, liform la una ptratic, capacitatea memoriei, 2 n+k biti, nu se modic, se pot a a a a calcula valorile pentru n1 i n2 cu urmtoarele relatii: n2 = (n + k)/2, n1 + k = (n + s a k)/2; m = 2k . Recalculnd dimensiunea SROM (n,m) pentru adresarea bidimensional a a rezult: a SROM (n,m) = SDCD(n2 ) + m 2n1 SOR(2n2 ) + SDCD(n1 ) +m SBuf f er (2.16) = n 2 2 n2 + m 2 n1 2 n2 + n 1 2 n1 + m 3 O(m 2n ) Valoarea dimensiunii proportional cu capacitatea memoriei (m 2 n ) nu mai poate a micorat! s a aceast variant de adresare bidimensional decodicatorul de linii, prin subIn a a a cuvntul de adres de n2 biti, va activa cte o linie pe care exist m cuvinte de cte a a a a a a s a s 2n2 biti, iar decodicatorul de pe coloane va trebui s selecteze i s aplice la ieire cte un bit din ecare din cele m cuvinte ale liniei activate. Aceast selectare se a a realizeaz cu un grup de mMUX2n1 :1, subcuvntul de adres An1 1 An1 2 ...A1 A0 a a a se aplic pe intrrile de selectare ale tuturor celor m multiplexoare. Practic, pentru a a un subcuvnt de adres aplicat la grupul de multiplexoare se extrag bitii din aceeai a a s pozitie ale celor m cuvinte. Logic, memoria rmne o structurare de matrice cu 2 n a a linii i m coloane. s Pentru circuitul 27C040 folosit anterior, printr-o decodicare bidimensional la a care dac se alege n1 = 11 i n2 = 8 se obtine o structurare cu un decodicator a s pentru linii cu 211 = 2048 ieiri, pe ecare linie sunt 2048 biti, iar pentru selectarea s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

257

A n1 A n2 DCD n2:2 An
n2

Matrice programabila 2
n2

(Nivel de OR) n n 2 2 x m 2 1 biti Power On mx2


n1

Power On

A n 1 1 A n 2
1

Power On m x MUX 2 1:1


n

A0 CS_L OE_L a) 32K x 8biti A 14 A 13 A 12 A 11 A 10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 b) Dm1 Dm2 D0

DCD 9:512

512

29x6429x6429x6429x6429x6429x6429x6429x64 biti biti biti biti biti biti biti biti

64

64

64

64

64

64

64

64

MUX MUX MUX MUX MUX MUX MUX MUX 64:1 64:1 64:1 64:1 64:1 64:1 64:1 64:1

D7

D6

D5

D4

D3

D2

D1

D0

Figura 2.49 Decodicarea bidimensiona a circuitului ROM: a) organizarea a general, de principiu, cu un DCDn2 :2n2 pentru activarea liniilor i cu un grup de a s a mMUX2n1 :1 pentru selectarea coloanelor; b) particularizarea structurrii anterioare pentru o memorie ROM cu organizarea logic de 32K 8 biti. a

258

2.4. CLC PENTRU FUNCTII LOGICE

cuvntului de ieire de 8 biti sunt necesare 8MUX2 8 :1; dimensiunea matricei este a s ptratic 211 /8 28 = 1. a a organizarea de principiu, pentru decodicarea bidimensional a unui circuit In a ROM, pe lng validarea buerelor de ieire TSL, prin conjunctia dintre semnalele a a s Chip Select i Output Enable, exist i o comand pentru cele trei componente: decods as a icatoare, matrice i multiplexoarele pe ieire, pentru trecerea regimul de ateptare s s n s (standby). Regimul de ateptare se obtine prin neactivarea semnalului CS L, aplis cat i ca semnal de conectare la sursa de alimentare Power On, care va deconecta s alimentarea componentelor respective. Deci cnd circuitul ROM nu este selectat, a automat, consumul su de putere se reduce, prin trecerea regim de ateptare, pn a n s a a la 10% din cel regimul normal. n Figura 2.49-b este prezentat, ca o exemplicare, o posibil structurare de In a a decodicare bidimensional a unui circuit ROM cu organizarea logic de 32K 8 biti. a a Decodicatorul cu 15 intrri i (32 1024) ieiri este substituit cu un DCD9:2 9 la care a s s se aplic subcuvntul A14 A6 i 8MUX64:1 (toate selectate de acelai subcuvnt a a s s a A5 A0 ). acest fel, matricea programabil (nivelul OR) de la raportul dimensiunilor In a 215 /23 = 212 este scalat la raportul 29 /(8 26 = 1 deci a devenit ptratic; pe ecare a a a linie, initial continnd un cuvnt de date de 8 biti, au fost plasate dup scalare 8 a a a cuvinte de date ecare de cte 64 biti. a Tipuri de circuite ROM. Personalizarea unui circuit ROM pentru o anumit a aplicatie este realizat prin informatia care se a nscrie pe nivelul SAU matricea programabil. Aceast informatie, valorile bitilor ecare nod al matricei, este a a n elaborat de ctre utilizator dar a a nscrierea/programarea noduri se face diferite n n modaliti, e de ctre productorul circuitului, e de ctre utilizator. functie de at a a a In modalitatea zic de programare exist mai multe tipuri de circuite ROM. a a 1. ROM programat prin mascare. Informatia pentru aplicatie, elaborat de a proiectant, este trimis la turntoria de siliciu. Fabricantul, pe baza acestei informatii, a a genereaz una sau dou mti i termin fazele de fabricatie ale circuitului ROM, a a as s a adic se a nscrie 1 sau 0 nodurile matricei. Fizic, aceast n a nscriere prin mascare se reduce la prezenta sau absenta ecare nod a unei conexiuni, n ntre linia de cuvnt a i lina/coloana de bit. Evident, odat faza de programare s a ncheiat, prezenta unei a erori programarea nodurilor duce la rebutarea circuitului. Datorit costului ridicat n a de fabricatie i imposibilitatea corectrii unei erori, realizarea aplicatiilor cu ROM s a programat prin mascare este indicat pentru generarea de functii standard, cum ar a tabele de conversie foarte uzuale (LUT), functii specice generate de ctre utilizator a i cnd este nevoie de o productie de serie mare (produse auto, de larg consum etc.). s a 2. ROM programabil, PROM (Programmable Read Only Memory). Acest tip de circuit ROM a aprut ca un rspuns la nevoia utlilizatorului de a nu mai a a legat de turntoria de siliciu i de timpul lung necesar realizrii aplicatiei. Fabricantul a s a produce circuitul care este deja nscris toate nodurile sale e cu bitul 1, e cu bitul n 0, depinde cum este organizat ROM-ul. Fizic, aceasta nseamn c ecare nod a a n exist un fuzibil a ntre linia de cuvnt i lina de bit sau un tranzistor conectat cu a s drenul la linia de bit iar poarta este comandat de linia de cuvnt, ca Figura 2.50-a a a n i a crei surs/emitor este legat la mas printr-un fuzibil. s a a a Intr-un nod realizat cu tranzistor, al crui fuzibil a nseriat surs nu este ars, atunci cnd linia de cuvnt care n a a a comand poarta este stare activ (se genereaz mintermul respectiv) va forta la a n a a potentialul masei tensiunea pe linia de bit, respectiv linia de bit va un 1 logic atunci

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

259

cnd mintermul respectiv are valoarea logic 0. Rezult c o linie de bit realizeaz a a a a a n logic pozitiv functia NOR de toti mintermii ale cror tranzistoare conectate la acea a a a linie nu au fuzibilul ars, iar dup buerul inversor de ieire se obtine functia OR. a s Programarea PROM-ului este efectuat de ctre utilizator cu ajutorul unui proa a gramator, prin care fuzibilul este ars numai acele noduri care informatia initial n n a nscris prin fabricatie trebuie schimbat bitul complementar. Practic, se selecteaz a a n a nodul prin linia de cuvnt i lina de bit corespunztoare i apoi, pe linia de bit se a s a s aplic un impuls de tensiune de valoare ridicat (10-30V) care forteaz un curent prin a a a fuzibil ce duce la arderea acestuia. Inconvenientele care pot s apar la aceste disa a pozitive o singur dat programabil, OTP (One Time Programmable) au fost a a a prezentate la sfritul sectiunii 1.2. Dei PROM-ul elimin dependenta de turntoria as s a a de siliciu, totui dezavantajul rebutrii circuitului cazul unei erori de programare s a n nu este eliminat, acest dezavantaj este eliminat de urmtoarele tipuri de ROM reproa gramabile. 3. ROM reprogramabil, EPROM (Eraseble Programmable ROM). Facilitatea de tergere a continutului unui circuit ROM i apoi reprogramarea se bazeaz s s a pe functionarea tranzistorului cu poart otant a crei structur este prezentat a a a a a n Figura 2.50-b.

Linie de bit b)

Figura 2.50 Structurarea de noduri pentru circuite ROM: a) nod de ROM programabil; b) nod de EEPROM. Tranzistorul cu poart otant, fata de un nMOS normal, are dou porti supraa a a puse, poarta otant i poarta de control, separate printr-un strat de SiO 2 . Poarta as otant, spre deosebire de cea de control, nu are exterior un terminal de acces a n i este izolat masa de SiO2 care o s a n nconjoar, iar stratul de SiO2 a ntre aceast a poart i substrat este foarte subtire, cel mult 10nm. anumite conditii, de tena s In siuni aplicate pe terminalele tranzistorului, electronii cu energie ridicat din canal a ,, (hot electron ) pot strbate stratul foarte subtiere de SiO2 pna la poarta otant, a a a iar aceasta, ind izolat, rmne arcat permanent cu sarcina negativ captat a a a nc a a a (permanent nseamn cel putin 10 ani chiar i la temperatura de 125 grade Celsius). a s Aceast sarcin negativ permanent de pe poarta otant crete tensiunea de prag a a a a a s Vpn a tranzistorului nMOS la aproximativ 7V, ceea ce practic nseamn c acesta a a

fg lmlm fg lmlm fg ll lmlm lmlm ll


n+

Linie de cuvant

n+

Substrat p

Tranzistor de acces Linie de cuvant

e e e pq e pq de de ed pqpq ed pqpq jkhi d jkhi jkih h d d d pq d pq d o oonnn nnn


Poarta de control ~10nm n+ Poarta flotanta Tranzistor programabil Poarta de control

Metal +V CC SiO2 Linie de cuvant Linie de bit R

Fuzibil

Iesire data

a)

Iesire data

260

2.4. CLC PENTRU FUNCTII LOGICE

este blocat pentru toate tensiunile normale ale circuitului (5 6)V. Procesul poate reversiblil, prin aplicarea unui fascicol de radiatie ultraviolet care anuleaz sarcina a a negativ acumulat pe poarta otant, deci tranzistorul devine iari comandabil cu a a a as tensiunile normale ale circuitului. Structurarea unui nod pentru un circuit EPROM este similar cu cea a unui nod a dintr-un circuit PROM descris anterior un tranzistor care conecteaz linia de bit a a la mas printr-un fuzibil. Numai c, la EPROM, tranzistorul de acces care leag la a a a mas linia de bit are surs a n a nseriat un tranzistor cu poart otant loc de fuzibil. a a n Programarea nodului, adic blocarea tranzistorului cu poarta otant prin colectarea a a unei sarcini negative pe poarta otant, se face felul urmtor: se activeaz linia de a n a a cuvnt (poarta tranzistorului de acces); se aplic prin linia de bit (i tranzistorul de a a s acces) pe drenul tranzistorului cu poarta otant o tensiune jur de 12 volti; se aplic a n a un impuls de tensiune de 13 14 volti pe poarta de control care ajut la colectarea a sarcinii negative (electroni) pe poarta otant. Rezult c tranzistorul cu poarta a a a otant, pentru care tensiunea de prag Vpn a devenit ridicat, a a ntrerupe conectarea la mas acel nod al liniei de bit chiar dac tranzistorul de access corespunztor a n a a este comandat. Stergerea nodului se face prin expunerea circuitului, timp de 20 30 de minute, radiatii ultraviolete. Circuitele EPROM au pe partea superioar n a o fereastr, transparent la radiatii ultraviolete, realizat din cuartz. Dezavantajul a a a acestui mod de tergere apare prin faptul c circuitul EPROM trebuie scos din soclul s a su de pe placa de circuit inprimat iar tergerea sa este total, adic se terg toate a s a a s nodurile, nu numai nodul care ar urma s e reprogramat. a Exist urmtoarele circuite EPROM tip Intel obtenabile comercial: a a 2716-16K(2Kx8biti); 2764-64K(8Kx8biti); 27256-256K(32Kx8biti); 27C010-1M(128Kx8biti); 27C210-1M(64Kx16biti); 27C040-4M(512Kx8biti); 2732-32K(4Kx8biti); 27128-128K(16Kx8biti); 27512-512K(64Kx8biti); 27C020-2M(256Kx8biti); 7C220-2M(128Kx16biti); 27C240-4M(256Kx16biti);

4. Memoria ROM cu tergere pe cale electirc EEPROM, E2 PROM s a (Electricaly Erasable Programmmable ROM). Acest tip de ROM elimin dezavana tajele de la EPROM i anume, circuitul nu mai trebuie scos din soclu pentru tergere s s pentru c acesta operatie se face pe cale electric. Practic, tergerea se face ca i a a s s nscrierea prin aplicarea unei tensiuni pe poarta de control, dar de data aceasta, o tensiune de polaritate inversat, care elimin spre substrat sarcina negativ acumua a a lat pe poarta otant. Stergerea se face nu pe bit ci pe blocuri care pot ajunge pn a a a a la 64Kbytes (de exemplu, la o memorie de 1Mbyte sau mai mare). O variant de EEPROM este memoria ash. Frecvent, memoriile Flash se proa duc sub form de cartele astfel at s e utilizate aparatura portabil cum ar : a nc a n a camerele digitale, telefoane mobile, mbrcmintea electronic, transferul informatiei a a a ntre dou calculatoare (simularea unei diskete). viitor, memoria Flash poate a In substitui harddisk-ul oferind un timp de acces jur de 100ns, fata de 610 ms la n harddisku-rile actuale. Obstacolul care exist, actual, la memoriile ash const a a n numrul limitat de tergeri/ a s nscrieri, nu cu mult peste 10.000 ori i capacitatea de s stocare care a ajuns doar la sute de Mbytes (fata de 120 de Gbytes la harddisk-uri uzuale acum).

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

261

Tabelul 2.1 Tipuri de circuite ROM Tipul ROM cu mascare ROM cu mascare PROM EPROM EEPROM Tehnologia NMOS, CMOS Bipolar Timp de acces AA 10-200ns <100ns Timp de nscriere > 2 3 spt. a > 2 3 spt. a 10 50s/byte 10 50s/byte 10 50s/byte Comentarii OTP, consum redus de putere OTP, consum ridicat, densitate scazut a OTP, consum ridicat Reutilizabil, a consum sczut a 10.000-100.000 limit a nscrieri/citiri

Bipolar NMOS, CMOS NMOS

<100ns 25-200ns 50-200ns

Tabelul 2.1 [Wakerly 2000] sunt sintetizate caracteristicile circuitelor ROM In obtenabile comercial.

2.4.6.2

Module de memorie ROM

Necesitile aplicatii cu memorie ROM pot depi capacitile pe care le prezint at n as at a circuitele discrete obtenabile comercial. Pentru astfel de aplicatii se realizeaz module a de memorie ROM care extind capacitatea circuitelor ROM discrete. Pentru a putea integrate module, circuitele ROM sunt prevzute cu un semnal de control de n a selectare circuit, CS ( general, activ stare L). Fata de circuitele ROM discrete, n n un modul ROM realizeaz o extensie e a capacitilor de adresare, e a lungimii a at cuvntului memorat sau e a amndorura simultan. a a 1. Extinderea capacitii de adresare. Extinderea apare ca o rezolvare a reat alizrii unei memorii cu capacitate de adresare C din circuitul ROM cu numr de a a c adrese, ceea ce impune utilizarea a C/c = p circuite componente cu c adrese. Se va exemplica realizarea unui modul cu capacitatea de adresare 4K adrese din circuite ROM de capacitate 1K 8 biti, rezult c sunt necesare 4K/1K = 4 circuite. a a Deoarece adresarea unui ROM de 1K adrese se face cu un cuvnt de adres de 10 a a biti, A9 , A8 , ..., A1 , A0 , iar pentru adresarea moduluilui de 4k sunt necesari 12 biti de adres A11 , A10 , ..., A1 , A0 , aceasta ar impune extinderea decodcatoarelor (interne) a ale circuitelor cu a 2 biti A11 i A10 . Dar, extinderea este posibil doar exterior nc s a n cu un DCD2:4 pe ale crui intrri sunt aplicati bitii de adres A 11 i A10 , prin aceasta a a a s ecare circuit ROM va selectat pe intrarea CS de ctre o ieire a decodicatorului a s exterior, Figura 2.51-a. spatiul de adresare de 4K, ce poate acoperit cu un cuvnt In a de adrese cu lungimea de 12 biti (de la 000HFFFH cu exprimare hexazecimal, H), n segmentul de adrese repartizat ecrui circuit ROM se obtine prin construirea mapei a adreselor memoriei. Bitii de adres A9 ...A0 se aplic la toate cele patru circuite de 1K a a adrese, iar bitii A10 i A11 sunt utilizati, prin decodicare, la selectarea a cte unui s a circuit de 1K adrese. Segmentele de adres ale circuitelor, prin alturare, formeaz a a a un spatiu de adresare continuu de 4K adrese.

262

2.4. CLC PENTRU FUNCTII LOGICE

A 11A0

Magistrala de adrese CS ROM 0 D7D0 1K x 8biti CS ROM 1 D7D0 1K x 8biti CS ROM 2 D7D0 1K x 8biti CS ROM3 D7D0 1K x 8biti

Mapa adreselor memoriei A11A10A 9 A 1A 0 ROM 3 (FFFCFF)H ROM 2 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0

A 11

A 10

A 9A0

O0 O1 O2 O3

A 9A0

(BFF800)H

1 0

DCD 2:4

ROM 1 0 1 (7FF400)H ROM 0 0 0 (3EF000)H

A 9A0

READ

A 9A0

Magistrala de date a)

A 10A0

Magistrala de adrese CS ROM 0 1K x 8biti CS ROM 1 1K x 8biti Mapa adreselor memoriei A 1A 0 A10A 9A 8 1 1 1 1 1 0 0 0 1 1

A 9A0

D7D0

A 9A0 DCD 1:2

D7D0

A 9A0

CS ROM 2 D15D8 1K x 8biti CS ROM3 D15D8 1K x 8biti

1 ROM 1 1 si ROM 3 1 0 (7FF400)H 0 1 ROM 0 1 si ROM 2 0 0 (3EF000)H 0

0 0 1 1 0 0

1 0 1 0

0 1 0 0

READ

A 9A0 Magistrala de date D15D0

b)

Figura 2.51 Organizarea modulelor de memorie ROM prin: a) extinderea capacitii de adresare; b) prin extinderea simultan att a capacitilor de adresare at a a at ct i a lungimii cuvntului de date. a s a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

263

2. Extinderea att a capacitii de adresare ct i a lungimii cuntului. Folosind a at a s a acelai circuit ROM, cu capacitatea 1Kx8biti pentru realizarea unui modul de capacs itate 2Kx16biti, rezult c sunt necesare 2K 16biti/1K 8biti = 2 2 circuite; a a extinderea este att pe adrese 2 1K = 2K adrese ct i ca lungime de cuvnt de a a s a date 2 8biti = 16 biti Figura 2.51-b. Extinderea de adrese este similar ca la modulul anterior cu deosebirea c de a a data aceasta exterior se adaug un DCD1:2, bitul de adres A 10 pentru selectarea n a a celor dou segmente de adrese. Fiecare ieire a decodicatorului selecteaz simultan a s a cte dou circuite de capacitate 1Kx8biti, ROM0 cu ROM2 i ROM1 cu ROM3. La a a s circuitele dintr-o pereche se aplic acelai cuvnt de adres A 9 ...A0 dar din unul se a s a a citete byte-ul superior iar din cellalt byte-ul inferior din care se compune cuvntul s a a de date pe magistrala de date. aceste exemple de extindere se consider c ieirile In a a s de date ale circuitelor ROM sunt de tip TSL. Uneori, cnd sunt disponibili sucienti biti cuvntul de adresare, se elimin a n a a DCD-ul exterior pentru extinderea capacitii de adresare, iar pentru selectarea a cte at a unui circuit ROM este asignat (repartizat) un bit disponibil din cuvntul de adresa a Avantajul acestui mod de adresare adresare liniar raport cu adresarea cu a n codicarea complet este simplitatea; dar acest caz segmentele de adrese acoperite a n de ctre ecare circuit ROM component nu se mai altur a a a ntr-o zon continu din a a spatiul de adresare. De exemplu, dac sunt disponibili cuvntul de adresare bitii a n a A13 , A12 , A11 , A10 care sunt repartizati pentru selectare respectiv a circuitele ROM3, ROM2, ROM1,i ROM0, pentru modelul de 4K din Figura 2.51-a, se obtin prin s construirea mapei adreselor memoriei urmtoarele segmente nealturate de adrese: a a ROM3, 2000H-23FFH; ROM2, 1000H-13FFH; ROM1, 0800H-0BFFH; ROM0, 0400H07FFH

2.4.7

Dispozitivele logice programabile, PLD

Dispozitivele logice programabile, PLD (Programming Logic Device) au aprut ca a o necesitate pentru eliminarea inconvenientelor pe care le prezentau circuitele logice universale MUX, ROM, implementarea functiilor logice sub form de sum de n a a produse, i anume: s generarea tuturor termenilor canonici produs dei, general, nu sunt necesari s n toti; formele minime/reduse ale functiilor nu pot implementate. Pentru imple mentarea acestora trebuie parcurs drumul invers, adic expandarea formelor a reduse la form canonic; a a inexistenta facilitii de implementare a functiei i prin negata acesteia, cnd at s a functia negat este mai simpl (unele circuite MUX au att ieirea negat ct a a a s a a i nenegat). s a 2.4.7.1 Matricea Logic Programabil, PLA a a

Prima variant de dispozitiv logic programabil, PLD, sub form de matrice logic a a a progrmamabil PLA (Programmable Logic Array), a fost introdus anul 1975 de a n ctre rma Signetics Inc. Organizarea de principiu al unui circuit PLA, Figura 2.52-a, a

264

2.4. CLC PENTRU FUNCTII LOGICE

poate privit ca ind similar cu a memoriei ROM, numai c de data aceasta nu este a a a programat doar nivelul de OR (codicator) ci i nivelul AND (decodicator). Aceast s a facilitate suplimentar, de programabilitate pe matricea AND, face posibil generarea a a numai a unui numr p de termeni produs (p << 2n ), nu neaprat canonici de variabile a a de intrare. afara celor dou matrice programabile, structurarea unui PLA mai In a n apar: 1) un nivel de buerare pe intrare, care produce pentru ecare dintre cele n intrri att valoarea negat ct i cea nenegat (acest nivel din punct de vedere logic a a a a s a este compus din n decodicatoare elementare); 2) un nivel de iire pe XOR care prin s programare poate genera, e valoarea functiei, e valoarea negat a functiei. Deci a
Ii I0 I1 I n1 p termeni produs
I0 I0

Ii Ii Nod de matrice

Ii

Ii Ii

Matrice AND

I n1 programabila I n1

P0 P1

P p1 V CC

Nivelul inversor O0

Ii

Ii Ii Fuzibil ars pt. I

Nod neprogramat (simbol) Ii Ii Ii Fuzibil ars pt. I Ii Ii Ii Ambele fuzibile arse. Iesire indiferenta pentru I i

Matrice OR programabila

Om1 I i

Ii Ii

a)

m functii de n variabile b)

Nici un fuzibil ars I iI i=0

Figura 2.52 Matricea logic programabil, PLA: a) organizarea de principiu a a cu evidentierea celor dou niveluri (matrice) programabile; b) simbolurile pentru a reprezentarea strii nodurilor din matricea decodicatoare. a circuitul PLA este caracterizat de n intrri, de p porti AND programabile ecare a cu 2n intrri (n variabile negate i n nenegate) i de m porti OR programabile cu a s s p intrri (care sunt ieirile portilor AND). Circuitul PLA poate structurat i pe a s s matrice programabil numai de tip NAND deoarece implementarea pe dou niveluri a a NAND-NAND este echivalent cu implementarea pe 2 niveluri AND-OR. a nodurile matricei AND, de dimensiune 2n linii de intrare i 2n p coloane In s i nodurile matricei OR, de dimenisune p coloane (termeni produs obtinuti la s n ieirile portilor AND) i p m linii (m porti OR ecare cu p intrri), modalitile s s a at de programare pot cele deja descrise la memoria ROM. Se pot realiza PLA-uri, de tipul OTP, cnd nod exist o diod a n a a nseriat cu un fuzibil ori un tranzistor (bipolar a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

265

sau unipolar) nseriat cu un fuzibil, ca Figura 2.50-a, sau se pot realiza PLA-uri cu n reprogramare (tergere pe cale electric sau cu fascicol UV), cnd nod este prezent s a a n un tranzistor cu poarta otant, ca Figura 2.50-b. a n aplicatii, pentru descrierea nodurilor matricelor programabile, sunt folosite reIn prezentrile logice simbolice din Figura 2.52-b. Un nod care exist o legtur a n a a a electric a ntre linie i coloan este simbolizat cu un punct (nod programat), iar acest s a punct lipsete nodul care nu exist o legtur electric (nod neprogramat). s n n a a a a Evident, dac ambele noduri, att pentru intrarea I i ct i pentru Ii , sunt programate a a a s
01 15 01 15 01 15

I0 I1 I 15 Buffere de intrare 0 Nivelul OR 1 (codificator) programabil 47 0 1 Numar de fuzibile= =848=384 47 0 1 47 Numar total de fuzibile=1536+384+8=1928 AND 0 AND 1 AND 47

Nivelul AND (decodificator) programabil Numar de fuzibile = =21648=1536

+5V OR0

O0

OR1

O1

OR7

O7 OE_L

Inversoare programabile

Figura 2.53 Structur tipic pentru un circuit PLA. a a poarta AND, care intr coloanele respective, va genera un termen produs a crui n a a valoare este permanent zero (Ii Ii = 0). Poarta AND care intr att nodul Ii ct n a a a i Ii , dar ambele sunt neprogramate (fuzibilele au fost arse!), va genera un produs ce s este indiferent raport cu intrarea Ii (nu contine aceast variabil). n a a O structur tipic pentru un circuit PLA (82S100, Signetics) este cea din Figura a a 2.53, alte variante obtenabile comercial pot deduse sau se recunosc aceasta. Cirn cuitul 82S100 prezint 16 intrri (I0 , I1 , ..., I15 ), 48 de porti AND ecare avnd cte 32 a a a a de intrri. Se pot genera cel mult 48 de termeni produs ecare de maxim 16 variabile. a Cele 8 functii care se pot inplementa, ca o sum de maxim 48 termeni produs, pot a generate la ieirile O0 , O1 , ..., O7 , e negate, e nenegate prin programarea portilor s

266

2.4. CLC PENTRU FUNCTII LOGICE

XOR. Ieirile sunt generate prin buerele de ieire TSL comandate prin semnalul vals s idare ieire, OE L. Numrul total de fuzibile este de 1928; o memorie PROM care s a poate implementa o functie de 16 variablie trebuie s aib pe nivelul OR programabil a a 216 = 65536 fuzibile! La o memorie ROM o conguratie binar a cuvntului de intrare genereaz prin a a a decodicare doar un singur termen canonic produs, pe cnd la un circuit PLA o a conguratie binar de intrare poate genera nici unul, unul sau mai multi termeni a produs, respectiv acelai termen produs poate generat de mai multe conguratii de s intrare. Aceast neunivocitate rezult din posibilitatea c unele din intrrile portilor a a a a AND s e programate indiferent, intr-un termen produs, raport cu anumite varia n abile (ambele fuzibile ale variabilei sunt arse). Exemplul 2.19 S se realizeze sinteza i s se implementeze pe un circuit PLA un a s a convertor de cod BCD-7 segmente. Notarea segmentelor LED ale aorului cu 7 segmente s corespunde celei din Figura 2.37. Tabelul 2.2 Tabelul de adevr pentru convertorul BCD-7 segmente a W 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 X 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 0 1 1 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 0 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1 -

Solutie. Functiile logice a, b, c, d, e, f, g care activeaz segmentele LED functie de cifrele a n zecimale exprimate BCD sunt date Tabelul 2.2. Pentru conguratiile binare 1010, n n 1011, 1100, 1101, 1110 i 1111, care nu apar nciodat codul BCD, valorile functiilor sunt s a n indiferente. Minimiznd corelat cele 7 functii, pe diagramele V-K din Figura 2.54, rezult a a urmtorii 7 implicanti primi care sunt utilizati mai mult dect a n a ntr-o singur functie: a s W, Y Z, X Z, Y X, Y Z, X Z i X Y . Aceti implicanti primi se genereaz o singur dat pe s a a a matricea programabil AND i sunt utilizati matricea programabil OR, ori de cte ori a s n a a este nevoie. Pentru implementare s-a structurat un circuit PLA generic cu 4 intrri, 13 porti a AND i 8 porti OR. s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

267

WX 00 YZ 00 1 01 11 10 1 1

01

11

10 1

WX 00 YZ 00 1 01 11 10 1 1 1

01 1

11

10 1 1

WX 00 YZ 00 1 01 11 10 1 1

01 1 1 1 1

11

10 1 1

1 1

a=W+WZ+YZ+XZ WX 00 01 11 10 YZ 1 00 1 01 11 10 1 1 1 1

b=W+X+YZ+YZ WX 00 01 11 10 YZ 1 00 1 01 11 10 1 1 e=YZ+XZ

c=W+Z+Y+XZ WX 00 01 11 10 YZ 1 1 00 1 01 11 10 1 f=W+YZ+XY+XZ WX 00 01 11 10 YZ 00 1 1 01 11 10 1 1 1 1 1 1 1

d=XZ+YZ+XY+XYZ Z Y X W

W YZ XZ YX YZ XZ XY XZ X YZ

XYZ

g=W+YZ+XY+YX a b c d e f g

Figura 2.54 Sinteza i implementarea convertorului de cod BCD-7 segs mente pe un circuit PLA (generic).

268

2.4. CLC PENTRU FUNCTII LOGICE

x y
MATRICE AND

P 1=xyz

P 2=xz P 3=xyz f 1=xyz+xyz f 2=xz

Sarcina (cu canal initial) V DD P1 P2 P3 f1 f2 f3

f 3=xyz+xz b) x y z

P 1=xyz P 2=xz a) MATRICE OR Aadevarat, Ffals a b a+b a b ab A A F F F A A F A F A F F A A A F F F F A A A F Logica pozitiva

P 3=xyz f 1=xyz+xyz

d)

a b ab A A F A F A F A A c) F F A Logica negativa

f 2=xz f 3=xyz+xz

Figura 2.55 Modalitate de implementare a unei matrice PLA: a) sub forma de dou matrice de porti NOR; b,c,d) demonstrarea conversiei NOR - NOR (logic a a pozitiv) NAND - NAND (logic negativ) ceea e este echivalent cu AND - OR a n a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

269

Din acest exemplu reiese c realizarea unui CLC pe un PLA poate destul de a laborioas. Spre deosebire de circuitele prezentate pn acum la circuitul PLA implea a a mentarea necesit minimizarea functiei, iar dac se implementeaz mai multe functii, a a a implementarea acestora necesit o minimizare corelat. mediile de programare a a In automat exist programe care, pornind de la functia logic, gsete expresia minim a a a a s a sum de produse att a functiei ct i functiei negate, iar apoi decide care din n a a a s cele dou este mai avantajoas (are mai putine produse) i functie de tipul de a a s n circuit PLA utilizat trimite la programator programul pentru programarea nodurilor. Multe circuite PLA dispun de un fuzibil de securitate prin care, dup ce este ars, a elimin posibilitatea de a se citi mapa nodurilor programate, prin aceasta se exclude a posibilitatea de copiere a produsului. Implementarea unui circuit PLA se realizeaz cu aceeai structur, att pentru a s a a matricea AND ct i pentru matricea OR, sub forma unei matrice de porti NOR, ca a s gura 2.55-a. O poart NOR a unei astfel de matrice este compus din tranzistoare n a a nMOS conectate paralel i un tranzistor cu canal initial ca rezistenta de sarcin. n s a Dar o structur de poart NOR logic pozitiv va realiza logic negativ opa a n a a n a a eratorul logic NAND, ceea ce este demonstrat prin tabelele de adevr din Figura a 2.55-d. Considernd logica negativ, la ieirea primei matrice, conform conexiunilor a a s realizate, se obtin termenii: P1 = xz , P2 = xz i P3 = xyz. Si a doua matrice, y s n logica negativ, va realiza operatorul NAND, deci la ieire se obtin functiile: a s y f1 = P1 P2 = P1 + P2 = xz +xyz; f2 = P2 = xz; f3 = P1 P2 = P1 + P2 = xz + xz y

Faptul c prima matrice de NOR-uri realizeaz nivelul de AND, iar a doua nivelul a a de OR rezult prin utilizarea cerculetelor de negatie ca Figura 2.55-b i c. Dea n s plasnd cerculetele de negatie de la ieirea portilor NAND, de la prima matrice, la a s intrrile portilor NAND de la a doua matrice NAND acestea se transform porti a a n OR, conform conversiei binecunoscute NAND - NAND = AND - OR (vezi sectiunea 2.3). 2.4.7.2 Matricea logic programabil cu nivel OR x, PAL a a

Circuitul PAL (Programmable Array Logic) este o variant modicat a cira a cuitului PLA. Modicrile fata de PLA const existenta numai a matricei AND a a n: programabil, matricea OR x (neprogramabil), invers ca la circuitul ROM, i o a a a s facilitate ca unele dintre terminalele circuitului s poat utilizate att ca intrri a a a a ct i ca ieiri. Aceste modicri reduc exibilitatea generrii functiilor logice dar a s s a a simplic programarea i ecientizeaz utilizarea terminalelor circuitului. a s a O structur tipic de circuit PAL (PAL16L10) este prezentat Figura 2.56, care, a a a n de fapt, este reprezentarea putin simplicat a circuitului PAL16L8. compunerea a In codului de denumire al circuitului primul numr specic numrul de terminale de a a a intrare, cazul acesta 16, iar al doilea este numrul terminalelor de ieire, aici 8. n a s Circuitul PAL16L8 are 20 de pini (sunt inclui si cel de mas i de alimentare), ceea s as ce nseamn c numrul total de terminale de intrare i de ieire necesar (16 + 8 + 2 a a a s s = 26) este mai mare dect numrul de pini existenti (20). Aceast diferenta rezult a a a a din posibilitatea de utilzarea a unor pini att ca terminale de ieire ct i ca terminale a s a s de intrare. Exist grupuri de cte 8 porti logice AND programabile, ecare poart din grup a a a are 32 de intrri pentru 16 variabile de intrare (negate i nenegate). Din ecare a s

270

2.4. CLC PENTRU FUNCTII LOGICE

(1) I1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

(19) O1

(2) I2

(18) I/O 2 (17) I/O 3 (16) I/O 4 (15) I/O 5 (14) I/O 6

(3) I3 (4) I4 (5) I5 (6) I6 (7) I7

(8) I8

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

(13) I/O 7

(12) O8 (11) I 10

(9) I9

Figura 2.56 Structura tipic de circuit PAL (PAL16L10). a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

271

grup, cte 7 porti AND au ieirile cablate la intrrile unei porti OR iar a opta a s a poart AND din grup, poarta de validare a ieirii, comand prin ieirea sa starea a s a s de functionare a unui buer inversor TSL, care este conectat la ieirea portii OR. Un s numr de 10 terminale, I1 , I2 , ..., I10 , sunt utilizate numai pentru aplicarea variabilelor a de intrare, dou terminale O1 i O8 sunt numai terminale de ieire, iar 6 terminale, a s s I/O2 , I/O3 , I/O4 , I/O5 I/O6 i I/O7 , pot programate att ca terminale de intrare s a ct i ca terminale de ieire. De pe cele 6 terminale bidirectionale semnalul de ieire a s s s este introdus i reteaua programabil AND printr-un buer de intrare, similar ca s n a de la oricare terminal de intrare. Numrul de fuzibile de pe nivelul AND programabil a este 32 intrri poart 8 porti 8 grupuri = 2048. a n a
0 Intrare buffer TSL a) b) buffer TSL 1 Iesire

Figura 2.57 Explicativ pentru posibilitatea de transfer bidirectional la un a terminal I/O: a) utilizarea ca terminal de intrare; b) utilizarea ca terminal de ieire. s Valoarea logic generat de poarta de validare, a opta poart AND din grupurile a a a care au un terminal de tipul I/O, determin dac pinul terminalului respectiv este a a utilizat pentru intrare sau pentru ieire. Poarta AND de validare a ieirii poate s s programat s genereze permanent la ieirea sa valoarea 0 ceea ce a a s nseamn c a a buerul inversor TSL este starea de n nalt impedanta (HZ), deci terminalul este a un terminal de intrare, Figura 2.57-a, sau poate programat s genereze permanent a a 1 ceea ce nseamn c buerul de ieire are o functionare normal de poart inversor, a a s a a deci terminalul este de ieire, Figura 2.57-b. Sau, poarta de validare poate avea o s valoare pe ieirea sa, care se calculeaz functie de conguratiile binare aplicate pe s a n intrarea sa, caz care terminalul timp si modic starea corespunztor (alternnd n n a a a starea de terminal de intrare cu cea de terminal de ieire). s Cnd buerul inversor are ieirea sa starea HZ spre pinul I/O corespunztor, a s n a acesta este un terminal de intrare deci se aplic o variabil de intrare. Deci total, a a n pot aplicate maximum 16(= 10 + 6) variabile de intrare. Dac buerul inversor TSL are functionare normal (I/O este terminal de ieire) a a s este posibil ca o functie de maximum 7 termeni produs, obtinut la ieirea portii OR, a s s e generat la pinul corespunztor (terminal de ieire) sau s e aplicat a a a s a a napoi matricea AND programabil, ca variabil de intrare. Aceast facilitate de aplicare n a a a napoi apare ca o solutie pentru situatiile cnd functia de implementat este o sum a a de mai mult de 7 termeni produs. astfel de cazuri, functia se partajeaz In a ntr-un grup de 7 termeni produs i alte grupuri de maximum 6 termeni produs; la prima s trecere se calculeaz pe un grup de 7 porti AND i o poart OR (cu conexiunea x a s a a ntre acestea) suma de 7 termeni produs care apoi se reintroduce reteaua AND. n Pe un alt grup la aceast sum de apte termeni se mai adaug, prin sumare, alti a a s a 6 termeni produs, iar rezultatul se introduce iari reteaua AND; reintroducerile as n pot continua pn la sumarea tuturor termenilor produs ai functiei. Aceste treceri a a

272

2.4. CLC PENTRU FUNCTII LOGICE

repetate prin retea mrete timpul de calcul pentru functie. Valori curente pentru a s timpul de propagare, de la oricare intrare la oricare ieire, sunt sub 10ns. De asemenea, s aceast facilitate de reintroducere (feedback) a unei valori calculate d posibilitatea a a implementrii circuitelor secventiale. a

2.4.7.3

Circuitul de tip GAL

Circuitul GAL (Generic Array Logic) poate privit ca un circuit PAL la care s-au introdus anumite faciliti pentru o extindere a posibilitilor de utilizare (a fost at at introdus de Lattice Semiconductor). Codul de denumire este similar cu cel PAL, de exemplu GAL20V8 indic 20 de intrri i 8 ieiri. a a s s
CLK
0 0 1 2 3 4 5 6 7 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

CLK Macro celula logica de iesire I/O 4

I5

Figura 2.58 Mrirea posibilitilor de procesare/utilizare a semnalului asiga at nat unui terminal I/O prin introducerea unei macrocelule de ieire. s Astfel de faciliti apar pe terminalele bidirectionale I/O prin at mbogirea circuisat ticii respective denumirea pentru aceast circuistic este de macrocelul de ieire. a a a s Figura 2.58 este desenat un terminal I/O de la un circuit GAL, care este, de fapt, In grupul de celule AND corespunztoare terminalului I/O 4 de la structurarea tipic de a a PAL din Figura 2.56, dar acum are pe ieire o macrocelul de ieire. Un circuit s a s GAL are attea astfel de grupuri, care au ieirea pe o macrocelul, cte terminale a s a a I/O prezint. Din aceast gur se observ c macrocelul s-a inclus i poarta a a a a a n a s OR, colectoare de termeni produs, care uzual are la ieirea sa un XOR pentru a putea s selecta polaritatea, adic: e functia, e functia negat. circuistica macrocelulei a a In sunt incluse: buer de ieire TSL; celul pentru validarea ieirii (buerului); multis a s plexoare pentru diferite selectri de semnale; latch-uri pentru memorarea de semnale a i evident, cale de reintroducere a semnalului, obtinut la inirea portii OR (sum de s s a produse), matricea programabil AND (vezi sectiunea 4.5). n a Circuitul GAL poate implementa o gam mare de circuite combinationale i seca s ventiale.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

273

2.5

CIRCUITE COMBINATIONALE PENTRU FUNCTII NUMERICE

Procesarea informatiei, sistemele digitale, se bazeaz pe algoritmi ce utilizeaz n a a ntr-o pondere ridicat operatii aritmetice. consecinta, o mare parte din circuisa In tica sistemelor digitale este construit din circuite cu functii numerice. raport cu a In circuitele logice, general, la circuite numerice gradul de replicare este mai mare. n Aceast replicare apare urma faptului c operatiile aritmetice se realizeaz asupra a n a a cuvintelor cu lungime relativ mare i, mai mult, operatia respectiv se aplic identic s a a asupra ecrei pereche de biti din cuvintele procesate. consecinta, la circuitele cu a In functii numerice metoda general de sintez se bazaez pe identicarea unui circuit a a a elementar/celul care proceseaz o pereche de biti, urmnd apoi replicarea pn la a a a a a nivel de cuvnt (vezi sectiunea 2.2.5). Prezentarea, continuare, a circuitelor cu a n functii numerice se va face prin identicarea circuitului elementar i, apoi extensia lui s prin replicare.

2.5.1

Comparatorul

Circuitul comparator determin identitatea a ntre bitii de acelai rang a dou cu s a vinte. Pe lng relatia de egalitatea a celor dou cuvinte comparate, se poate detera a a mina i o relatie de mai mare, mai mic. general, prin comparator sub form de s In a circuit integrat discret se elege circuitul care determin pentru dou numere, nt a a exprimate binar, relatiile de ordine =, <, >; deci calculeaz functia de egalitate n a Fe , de inferioritate Fi i de superioritate Fs . Sinteza unui comparator, de exemplu, s pentru dou cuvinte de patru biti, A = A3 A2 A1 A0 i B = B3 B2 B1 B0 , dup metoda a s a normal de sintez pornind de la tabelul de adevr ar destul de greoaie. O astfel a a a de sintez ar necesita pentru ecare dintre functiile F e , Fs i Fi cte un tabel cu 256 a s a linii (conguratii de intrare). O alt modalitate se sintez a comparartorului utilizeaz ideea expus sectiunea a a a a n 2.2.5, identicarea unei celule repetitive structurarea circuitului. O astfel de celul n a replicabil, ce se poate identica, este celula comparator pentru doua cuvinte A i B de a s cte un singur bit, care genereaz cele trei functii f e , fi i fs . Sinteza comparatorului a a s de doi biti este simpl pentru ca se pleac de la un tabel de adevr cu numai patru a a a conguratii de intrare, Figura 2.59-a. Functiile obtinute f e = A B + A B = A B, fi = A B i fs = A B sunt implementate ecare pe cte o poart apoi acestea sunt s a a reunite ntr-un singur circuit comparatorul pentru dou cuvinte de un bit. a Bazndu-se pe celula comparator pentru cuvinte de cte un singur bit se poate a a face sinteza unui comparator pentru cuvinte de n biti, ca exemplicare se va face sinteza pentru cuvinte de patru biti; comparatorul de patru biti este uzual aplicatii n ca circuit integrat discret. Relatiile de ordine F se determin din relatiile de ordine a f pentru ecare pereche de biti, dar pornind de la perechea cu rangul cel mai ridicat felul urmtor: n a relatia de egalitate Fe , A = B a cuvintelor de patru biti exist cnd: A 3 = B3 a a i A2 = B2 i A1 = B1 i A0 = B0 ceea ce formal se exprim prin: s s s a Fe = fe3 fe2 fe1 fe0

274

2.5. CLC PENTRU FUNCTII NUMERICE

relatia de superioritate Fs , A > B exist cnd: A3 > B3 sau A3 = B3 i a a s A2 > B2 sau A3 = B3 i A2 = B2 i A1 > B1 sau A3 = B3 i A2 = B2 i s s s s A1 = B1 i A0 > B0 ceea ce duce la urmtoarea expresie logic s a a Fs = fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0 relatia de inferioritate Fi , A < B, se deduce printr-un rationament asemntor a a i are forma s Fi = fi3 + fe3 fi2 + fe3 fe2 fi1 + fe3 fe2 fe1 fi0
fi fe fs A 0 0 1 1 B 0 1 0 1 fe fs 1 0 0 0 0 1 1 0 fi 0 1 0 0 A B fi A<B fe A=B fs A>B

A B a) A3 A2 A1 A0 B3 B2 B1 B0 Fi
s s

Comp. de 1 bit

A<B A=B

Fi

fs f e3 fs 3
2

fs f e3 fs 3
2

Fe f e3 fe 2 fe Fs f 1 e0 A>B s Fe

Fe A=B

s Fs

Fe

fe f e3 fs 2 f e1 f e3 f e2 fs 1 0 fe f e3 f e2 f e1
S FS
0

fe f e3 fs 2 f e1 Fs f e3 A>B f e 2 fs 1 0 fe f e3 f e2 f e1 s0 Fi A 3A 2A 1A 0 C0 B3 B2 B1 B0

Fi A<B

b) +5V s Fe
s Fi s Fs

A 7A 6A 5A 4 C1

B7 B6 B5 B4 Fe Fs Fi

74xx85

s Fe s Fs s Fi

F e (A=B) F s (A>B) F i (A<B)

74xx85

c)

Figura 2.59 Comparatorul: a) circuitul comparator pentru dou cuvinte de un bit; a b) circuitul comparator pentru cuvinte de patru biti; c) comparator pentru cuvinte de un byte realizat pe baza circuitelor 74xx85. Evident c pot calculate numai dou din cele trei functii deoarece ecare dintre a a acestea se poate deduce din conjunctia negatelor celorlalte dou functii. a i Fs Fi = Fs Fe Fs = Fe Fi Fe = F

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

275

Totui din rationamente de arcare i de a uniformiza timpii de propagare ecare s nc s dintre aceste functii se implementeaz separat ca Figura 2.59-b. Circuitul compara a n tor de patru biti trebuie s aib posibilitatea de a utilizat i ca o component a a s a n realizarea comparatoarelor pentru cuvinte cu lungime multiplu de patru biti. Pentru calculul ecrei dintre cele trei relatii, de ordine a ntre dou numere, se pornete de a s la rangurile superioare. Chiar dac pe un interval continuu de biti, al celor dou a a cuvinte, relatia de ordine este ndeplinit evident c relatia pe cuvntul a a a ntreg nu va ndeplinit dac pe intervalul de biti superior acestui interval relatia respectiv a a a nu este ndeplinit. consecinta, ecare circuit de patru biti pentru calculul uneia a In dintre cele trei relatii Fe , Fi i Fs trebuie s primeasc, ca o validare, de la circuitul s a a intervalului superior de patru biti, semnalul respectiv al relatiei de ordine F e s , Fi s a s a n i Fs s . Tinnd cont i de aceasta, relatiile anterioare de ordine se modic felul s urmtor: a Fe Fs Fi = fe3 fe2 fe1 fe0 Fe s = fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0 + +fe3 fe2 fe1 fe0 Fs s = fi3 + fe3 fi2 + fe3 fe2 fi1 + fe3 fe2 fe1 fi0 + +fe3 fe2 fe1 fe0 Fi s

Circuitul 74xx85 este un comparator care modeleaz aceste relatii. Figura 2.59a In c este prezentat o structur pe baz de circuite 74xx85 pentru determinarea relatiilor a a a de ordine ntre dou cuvinte de un byte. Se observ c semnalele relatiei de ordine a a a Fe , Fi i Fs calculate pe circuitul comparator C1 al intervalului de biti 7 4 se aplic s a a sub forma semnalelor Fe s , Fi s , Fs s la circuitul comparator urmtor C0 , al intervalului de biti 3 0.

2.5.2

Sumatorul

Adunarea este operatia aritmetic cu frecventa cea mai ridicat care se realizeaz a a a pe echipamentele de calcul electronic, se consider c i incrementarea este tot o a a s adunare, cnd un operand este unu. consecinta, exist tendinta justicat ca tima In a a pul de realizare al operatiei de sumare T , luat foarte adesea ca reper de comparatie pentru performante de vitez ale sistemelor de calcul, s e ct mai mic. De exemplu, a a a dac timpul operatiei de sumare, pe un procesor, este redus de la 3ns la 2, 5ns aceasta a nseamn o cretere de la 3, 33 106 adunri/s cu a 670.000 adunri/s. De aceea, a s a nc a structurile de circuite sumator i celulele componente ale acestora continu, a, s s a nc a e intens studiate functie de tehnologia de implementare. aceast sectiune se n In a vor expune doar structurile fundamentale de circuite sumatoare la care pot reduse multe din sumatoarele existente. Pentru o abordare exhaustiv a circuitelor aritmetice a recomandm [Omondi 94]. a 2.5.2.1 Sumatorul cu Transport Progresiv, STP

Sumarea a dou numere binare exprimate sub forma a dou cuvinte A i B cu a a s lungimea de n biti se realizeaz prin adunarea ecrei perechi de biti A i i Bi a a s ncepnd a cu perechea A0 , B0 , de rang zero (20 ), pn la perechea An1 , Bn1 , de rang n 1 a a (2n1 ). Pe ecare rang adunarea se realizeaz cu un circuit denumit celul sumator a a

276

2.5. CLC PENTRU FUNCTII NUMERICE

complet, notat simbolic (3, 2). Celula sumator (3, 2), de exemplu, pentru rangul a i (corespunde ponderii 2i valoarea numrului) are trei intrri (Ai ,Bi i transportul n a a s anterior, Ci1 , generat de celula de rang i1) i dou ieiri (s i suma, i Ci , transportul s a s s urmtor, care se aplic la celula urmtoare, de rang i + 1, ca transport anterior). a a a In Figura 2.60-a este reprezentat numai celula de rang 2 i a unui sumator la care, de pe a cele dou magistrale pentru cuvintele de a nsumat A i B, se aplic bitii A i i Bi i se s a s s genereaz bitul sum si pe linia i a magistralei S pentru cuvntul sum. a a a a Exist i celul semi-sumator (2, 2), care sumeaz doar cele dou intrri A i as a a a a i Bi , far transport anterior, i genereaz si i Ci . Tabelul de adevr al celulei s a s a s a (3, 2) este prezentat Tabelul 1.6. Expresiile logice deduse, relatiile 1.15 i 1.16, n s n sectiunea 1.14 pentru si i Ci arat c suma si este functia P ARIT AT E(Ai , Bi , Ci1 ) s a a (are valoarea 1 cnd un numr impar de intrri sunt 1, Figura 2.19-b) iar transportul a a a urmtor Ci este functia logic M AJORIT AR(Ai , Bi , Ci1 ) (are valoarea 1 cnd cel a a a putin dou din cele trei intrri sunt 1). Rescriem aceste relatii logice: a a si Ci = P ARIT AT E(Ai , Bi , Ci1 ) = Ai Bi Ci1 = M AJORIT AR(Ai , Bi , Ci1 ) = Ai Bi + Ai Ci1 + Bi Ci1 = = Ci1 (Ai Bi ) (Ai Bi ) Ultima form a relatiei pentru Ci a fost adus la o exprimare numai cu operaa a tori NAND pentru a putea implementat NAND-NAND, care duce la o structur a a de circuite mai rapide dect circuitele implementate pe dou niveluri neinversoare a a AND-OR. Conform exprimrilor prin relatiile 2.17 rezult pentru celula (3, 2) ima a plementarea din Figura 2.60-b. Relatiile anterioare pentru si i Ci pot exprimate i felul urmtor, utile pentru s s n a implementare tehnologie CMOS: n si Ci = Ai Bi Ci1 = Ai Bi + Ci1 (Ai + Bi ) (2.18)

(2.17)

Se observ c spre deosebire de relatiile 2.17, cnd componenta (A i Bi ) calculat a a a a expresia lui si era utilizat i expresia lui Ci , acum ecare functie este calculat n a s n a independent, ceea ce creaz posibilitatea realizrii unui lant al tuturor circuitelor gena a eratoare de Ci independent de porti ale generatoarelor de sum s i . Implementarea a celulei (3, 2), conform relatiilor 2.18, este prezentat Figura 2.60-c; este dese a n nat circuitul electric numai pentru Ci , cel pentru si este desenat Figura 1.64-c. n Realizarea celulei sumator complet necesit 32 de tranzistoare. a O alt form de exprimare pentru si i Ci este urmtoarea: a a s a si Ci = Ai Bi Ci1 + (Ai + Bi + Ci1 ) (Ai Bi + Ci1 (Ai + Bi )) = = Ai Bi Ci1 + (Ai + Bi + Ci1 ) C i1 = Ai Bi + Ci1 (Ai + Bi )

(2.19)

a De data aceasta generatorul de sum utilizeaz expresia lui C i1 , calculat de a a generatorul de transport urmtor. Structurarea corespunztoare a celulei (3, 2) este a a prezentat Figura 2.60-d. Realizarea celulei necesit necesit 28 de tranzistoare a n a a deoarece anumite organizri de sumatoare sunt necesare semnalele s i i Ci , deci n a s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

277

A B

n
1

Ai

Bi Ci

A B

n
1

Ai

Bi

Ci

(3,2)

C i1

C i1 (3,2)

a)

si b)

si

A B

n
1

Ai Bi
1

Ai Bi C i1

Ai

Bi C i1

V DD Ai Bi Ci

Ci

A i A i Bi Bi C i1 i1 C C i1 C i1

Ai +Bi +Ci1
(3,2) c) S n n
1 1

(figura 1.64c) si si V DD A B C i1 A

A B

Ai

Bi

B A

Ci

Ci

C i1 Ci si

B C i1 si B A C i1 Ci

C i1 A (3,2) n si
1

A B B C i1 B

d)

si

Figura 2.60 Celule sumator complet, (3, 2): a) modul de conectare a celulei de rang i a unui sumator, la magistralele cuvintelor de nsumat (A,B) i la magistrale s cuvntului sum S; b) structura logic a celulei conform relatiei 2.17; c,d) structura a a a logic i implementarea tehnologie CMOS conform relatiilor 2.18 i 2.19. as n s

278

2.5. CLC PENTRU FUNCTII NUMERICE

amplicatoarele de ieire pentru aceste dou semnale pot eliminate; structura din s a gur corespunde cazului de utilizare si i Ci . a s Sumatorul cu transport progresiv pentru sumarea a dou numere de n biti, se a obtine prin punerea paralel a n celule sumator complet, dar portile generatoare de n transport urmtor se a nseriaz a ncepnd de la celula de rang zero pn la celula de a a a rang (n1); transportul urmtor Ci1 , generat de celula de rang (i1), este aplicat ca a transport anterior la celula urmtoare de rang i, Figura 2.61-a. La aplicarea simultan a a pe cele dou magistrale A i B a numerelor de a s nsumat i a transportului de intrare s n sumator C1 (la celula de rang zero, general, se consider C 1 = 0) se genereaz, pe n a a magistrala S, cuvntul sum rezultat i la ieire transportul urmtor C n1 , de la celula a a s s a corespunztoare perechei de biti cei mai semnicativi. Dimensiunea sumatorului cu a transport progresiv este SSU M (n) = 5 n O(n). Cu o astfel de dimensiune i o s structur, prin replicarea celulei (3, 2), sumatorul cu transport progresiv este uor a s realizabil deoarece rezult o geometrie pe siliciu simpl i repetitiv. a as a ceea ce privete timpul de sumare T acesta este tot O(n) ceea ce pentru In s n n de valori mari, de exemplu pentru lungimile de cuvnt de 64 sau 128 biti la proa cesoarele actuale, determin ca acest tip de sumator s nu e aplicabil. Timpul de a a sumare T trebuie s e mai mare sau egal cu cel mai lung timp de propagare al a transportului care apare cnd transportul C0 = 1 generat celula de rang zero a n (se consider C1 = 0) se propag progresiv din celul celul pn la celula de rang a a a n a a a n1 unde se genereaz transportul Cn1 .Timpul cel mai lung de propagare se obtine, a de exemplu, cnd se adun operanzii A = 11 . . . 11, B = 00 . . . 01 i se calculeaz cu a a s a relatia (se consider c toti bitii celor dou cuvinte se aplic simultan) a a a a = A0 B0 C0 + (n 2)C(i1) Ci + C(n2) sn1 T care: n a A0 B0 C0 este intervalul de timp din momentul aplicrii bitilor A 0 , B0 , pe prima celul de rang zero, pn la generarea transportului C 0 ; a a a a C(i1) Ci este timpul de propagare al transportului pe o celul, din momentul aplicrii semnalului Ci1 pn la generarea lui Ci ; a a a C(n2) sn1 este arzierea, la celula de rang n 1, din momentul aplicrii nt a transportului anterior Cn2 pn la generarea bitului de sum s(n1) . a a a Din relatia 2.20 se deduce c pentru sumatoarele cu n mare reducerea timpu a lui total de propagare este sensibil la micorarea propagrii transportului pe celula a s a sumatoare, C(i1) Ci . La un sumator implementat cu celule cu structura din Figura 2.60-d micorarea componentei C(i1) Ci se poate obtine prin eliminarea inversorului s n de ieire din partea de generare de transport a celulei, deci se va utiliza numai Ci s i loc de Ci , pentru micorarea lui , va impune orgaloc de Ci . Utilizarea lui C n s n nizarea sumatorului ca la celulele din pozitiile pare (i nu rangurile pare!) s se aplice s a intrrile negate Ai ,Bi loc de Ai i Bi ; dar aceast alternare, a n s a ntre Ai , Bi i Ai ,Bi s cnd se trece de la pozitii impare la pozitii pare atrage dup sine ca i inversorul de a a s pe ieirea si , al celulelor din pozitii pare, s e eliminat. s a Evident, un sumator nu poate comandat pentru o nou operatie de sumare a dect numai dup un interval de timp egal cu timpul de sumare T , rezult c a a a a (2.20)

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

279

timpul de propagare al transportului este un parametru limitativ viteza de lucru a n sumatoarelor.


A B n n A n1 C n1
1 1

Bn1 C n2

Ai Ci

1 1

Bi C i1 C1

A1

1 1

B1 C0

A0

1 1

B0 C 1

(3,2)
1

(3,2)
1

(3,2)
1

(3,2)
1

S a)

sn1

si B A n n n A

s1 n B

s0

n Ai I i_L Bi_L I (i1)_L C n1 di S c) D

1 1 C 1 c

(3,2)

Sumator/Scazator pentru cuvinte de n biti n n

b)

Figura 2.61 Sumatorul cu transport progresiv, STP: a) organizare de principiu pentru un sumator STP de n biti; b) reprezentarea (schem bloc) celulei scztor com a a a plet (3, 2); c) organizare de principiu pentru un circuit sumator/scztor comandat a a care realizeaz scderea pentru c = 1 i adunarea pentru c = 1. a a s aceeai modalitate care s-a structurat sumatorul se poate face i strucIn s n s turarea unui scztor care realizeaz scderea numrului B (scztor) din numrul A a a a a a a a a (desczut), A B. Tabelul de adevr pentru o celul scztor complet, (3, 2), a a a a a este prezentat Tabelul 1.6, are trei intrri (A i , bitul desczut; Bi , bitul scztor; n a a a a Ii1 , mprumutul anterior) i dou ieiri (di , diferenta rezultat; Ii , s a s a mprumutul urmtor). Prin sinteza pe baz de 1 se obtin relatiile: a a di =Ai Bi Ii1 Ii =Ai Bi + Ai Ii1 + Bi Ii1 pentru care, la prima relatie, utiliznd identitatea B i Ii1 = Bi Ii1 , iar la a doua a aplicnd teorema lui De Morgan, se obtin exprimrile: a a di =Ai Bi Ii1 Ii =Ai Bi + Ai Ii1 + Bi Ii1 (2.21)

Comparnd relatiile 2.17 cu relatiile 2.21 se poate face o echivalenta a ntre celula sumator complet i celula scztor complet. Aceast echivalenta determin urmtoas a a a a a rea armatie: o celul sumator complet devine o celul scztor complet dac bitul a a a a a a a Bi se consider activ starea low, Bi L (devine scztorul), transportul anterior a n

280

2.5. CLC PENTRU FUNCTII NUMERICE

Ci1 se consider activ starea low, I(i1) L (devine a n mprumutul anterior) i transs portul urmtor Ci se consider activ starea low, Ii L (devine a a n mprumutul urmtor). a Reprezentarea pentru o celul (3, 2) este dat Figura 2.61-b. Rezult c orgaa a n a a nizarea de sumator cu transport progresiv poate transformat a ntr-o organizare de scztor cu a a mprumut progresiv dac: bitii cuvntului B, a a nainte de aplicare la sumator, sunt complementati printr-un inversor (devine scztor) iar transporturile a a sunt considerate active starea low (devin n mprumuturile) i, evident, s mprumutul initial I1 L = 1 (invers ca la functionarea de sumator C1 = 0) este inactiv H n (transportul initial C1 era inactiv starea L). n Aceeai transformare a sumatorului scztor poate realizat pornind de la s n a a a faptul c o scdere AB poate privit ca o adunare a numrului A cu complementul a a a a fata de doi a numrului scztor B, (B = [B] 2 ), deci A + [B]2 . Complementul a a a fata de doi se obtine din complementul fata de unu [B] 1 , care se realizeaz prin a complementarea lui B, la care apoi se adaug 1, adic [B] 2 = [B]1 + 1. Un inversor a a comandat de o variabil de control c se obtine cu o poart XOR, Bc. Se poate genera a a att A + B ct i A B, functie de valoarea variabilei de control, cu urmtoarea a a s n a expresie: A + [B]1 + 1 = A + [B]2 = A B A+B+0=A+B pentru c = 1 pentru c = 0

A+Bc+c=

(2.22)

Implementarea corespunztoare este reprezentat Figura 2.61-c, pentru c = 0 a a n se realizeaz adunarea A = B, iar pentru c = 1 se realizeaz scderea A B, deci o a a a structurare de sumator/scztor, S/D, comandat. a a 2.5.2.2 Sumatoare de performant ridicat a a

La sumatorul cu transport succesiv, deoarece timpul de sumare T nu poate mai mic dect timpul de propagare a transportului , relatia 2.20, a n ntregul lant de celule, deci performanta de vitez este sczut. De fapt, la orice tip de suma a a a tor adunarea obtinut nu poate considerat efectuat pn nu se calculeaz corect a a a a a a att bitul sum sn1 ct i bitul de transport urmtor Cn1 . Dar acestea nu pot a a a s a calculate corect pn nu se primete transportul anterior C n2 , care la rndul su dea a s a a pinde de sosirea transportului Cn3 i aa mai departe pn se ajunge la generarea lui s s a a C0 . Toate tipurile de sumatoare, i exist foarte multe, pentru a obtine performante s a de vitez superioare celui cu transport progresiv, prin diferite articii logice sau de a organizare, calculeaz valoarea Cn1 a ntr-un timp mai mic dect cel necesar pentru a transportul progresiv din celul celul, relatia 2.20. acest sens, se vor prezenta a n a In diferite modaliti de reducere a timpului de calcul pentru determinarea propagrii at a transportului aplicate la trei tipuri de circuite sumatoare denumite: a) sumator cu transport anticipat, b) sumator cu lant Manchester i c) sumator cu selectarea trans s portului. a). Sumatorul cu transport anticipat, STA. Ideea transportului anticipat const calculul transportului Ci1 , pentru obtinerea sumei si = Ai Bi Ci1 a n la celula sumatoare de rang i, nu functie de valorile anterioare ale transporturilor n C0 , C1 , . . . , Ci2 (care necesit timp de propagare) ci functie numai de valorile a n care se aplic primul moment la intrrile sumatorului adic C 1 , A0 i B0 , A1 i a n a a s s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

281

B1 , . . . , Ai1 i Bi1 , cum este sugerat din Figura 2.62-a. Pentru acest calcul s n avans/anticipat al valorii lui Ci , generat de celula de rang i, se vor utiliza variabilele intermediare pi propagare i gi generare introduse pentru o celul (3, 2) Tabelul s a n 1.6 i care acum se vor redeni contextul unui sumator. s n Pentru o conguratie a valorilor bitilor Ai , Bi , aplicat la celula de rang i, a exist o generare de transport urmtor Ci = 1 atunci cnd variabila generare are a a a valoarea 1 indiferent de intrrile anterioare C 1 , Ai1 A0 , Bi1 B0 . Evident, a conguratia de intrare, pentru care Ci = 1, este Ai = 1 i Bi = 1, deci variabila s intermediar generare este obtinut prin produsul logic g i = Ai Bi . a a Variabila intermediar propagare va avea valoarea p i = 1 pentru acele cona guratii ale valorilor bitilor Ai , Bi pentru care se produce Ci = 1 prezenta n unui transport anterior Ci1 = 1 (generat de intrrile anterioare C0 , Ai1 A0 , a Bi1 B0 ). Aceast propagare prin celul se realizeaz cnd cel putin un bit a a a a de intrare pe culala i are valoarea 1, deci variabila intermediar propagare a este o sum logic de intrri pi = Ai + Bi . a a a Pe celula i se genereaz transport urmtor atunci cnd g i = 1 SAU atunci cnd a a a a Ci1 = 1 i exist propagare (pi = 1), rezult relatia: s a a Ci = gi + pi Ci1 = Ai Bi + (Ai + Bi ) Ci1 (2.23)

Dar pentru propagare loc de relatia sum logic se poate utiliza operatorul n a a XOR, pi = Ai Bi care acoper numai conguratiile Ai = 1 i Bi = 0 sau Ai = 0 a s i Bi = 1 nu i conguratia Ai = 1 i Bi = 1. Oricum, pentru conguratia Ai = 1 s s s i Bi = 1 exist transport urmtor, Ci = 1, relatia 2.23, chiar dac acesta nu este s a a n a obtinut prin propagare ci prin generare gi = Ai Bi = 1; ceea ce rezult i din faptul c as a urmtoarea relatie este o identitate Ai Bi +(Ai +Bi )Ci1 = Ai Bi +(Ai Bi )Ci1 . a Deci pentru transportul urmtor este corect i relatia urmtoare: a as a Ci = gi + pi Ci1 = Ai Bi + (Ai Bi ) Ci1 (2.24)

care are avantajul c propagarea pi odat calculat (ca sum modulo doi) poate a a a a utilizat i pentru calculul lui si dup cum se observ din urmtoarele dou grupuri as a a a a de relatii aplicabile unei celule (3, 2): grup 1 gi pi Ci si = = = = Ai B i Ai B i gi + pi Ci1 pi Ci1 gi pi Ci si = = = = grup 2 Ai B i Ai + B i gi + pi Ci1 Ai Bi Ci1 (2.25)

Pornind de la relatia 2.24, pentru un sumator de n biti, exprimnd transportul a urmtor al unei celule sumator functie de transportul initial de intrare C 1 i de a n s toate variabilele de propagare i generare ale celulelor anterioare se obtin expresiile: s

282

2.5. CLC PENTRU FUNCTII NUMERICE

C0 C1 C2 .. Ci

= g0 + p0 C1 = g1 + p1 C0 = g1 + p1 g0 + p1 p0 C1 = g2 + p2 C1 = g2 + p2 g1 + p2 p1 g0 + p2 p1 p0 C1 = gi + pi gi1 + pi pi1 gi2 + + pi pi1 pi2 . . . p3 p2 p1 p0 C1

(2.26)

din care rezult posibilitatea ca, paralel, s se calculeze anticipat toate transpora n a turile urmtoare fr a mai atepta transportul anterior. Fiecare transport urmtor, a aa s a Ci , aceste relatii se calculeaz pe dou niveluri logice AND-OR plus a un nivel n a a nc logic pentru calculul variabilelor intermediare g i , pi (respectiv pe o poart AND sau o a poart OR/XOR), deci total trei niveluri logice. Pentru timpul de calcul al sumei a n si se mai adaug a un nivel corespunztor portii XOR, Figura 2.62-a. Rezult a nc a a c timpul de sumare T , egal cu cel al ecrei celule, este constant i corespunde a a s parcurgerii a patru niveluri logice indiferent de numrul de biti ai sumatorului. a Aceast performanta de vitez atrgtoare la STA, timp de sumare constant egal a a a a cu patru niveluri logice, este mult diminuat la implementri pentru n de valori mari a a datorit creterii dimensiunii, fan-out i fan-in, capacitilor parazite i iregularitii a s s at s at geometrice pe siliciu (layout). Considernd pentru o poart XOR o dimensiune dubl a a a fata de AND sau OR rezult dimensiunea unui STA: a SST A (n) = (n3 + 9n2 + 74n)/6 O(n3 ) Circuitul pentru generarea lui Cn1 necesit n porti AND din care una cu n intrri a a plus o poart OR cu n + 1 intrri (portile AND sau OR cu n > 4 prin asociativitate a a se realizeaz pe mai multe niveluri, vezi Exemplul 2.12). De asemenea, ecare semnal a gi trebuie s comande (n i) intrri iar pi trebuie s comande (i+1)(n-1) intrri. a a a a In consecinta, STA-urile sunt limitate, general, la n = 4. n Pentru un STA cu n = 4 un circuit pentru generarea lui C 3 este prezentat n Figura 2.62-b. Organizarea circuitului se bazeaz pe rescrierea expresiei lui C 3 a n felul urmtor: a C3 = g3 + p3 (g2 + p2 (g1 + p1 (g0 + p0 C1 ))) cu o implementare de tip dinamic pe o poarta CMOS (nMOS) domino. Circuite generatoare doar pentru C2 , C1 sau C0 se pot obtine din structura circuitului pentru C3 prin eliminarea succesiv respectiv a perechilor g 2 , p2 ; g1 ,p1 i g0 ,p0 . a s Organizarea de principiu a unui STA este prezentat Figura 2.62-c, care a n n sunt indicate cele trei generatoare componente: generatorul g i , pi , generatorul de transport urmtor Ci i generatorul de sum si . Aceste trei generatoare pentru un a s a rang i(= 0, 1, 2, 3) se obtin prin particularizare circuitele din gurile 2.62-a i 2.62-b. n s Obtenabile, comercial ca circuite integrate discrete, exist circuitele sumatoare a 74xx283 i 74xx83, care sunt STA de patru biti. s Deoarece este dicil de realizat STA cu n ridicat se poate utiliza avantajul metodei transportului anticipat prin organizarea sumatorului prin nserierea a n/m blocuri cu transportul anticipat, ecare bloc ind de m biti, un astfel de sumator este referit ca sumator cu transport anticipat pe blocuri, STAB, cu reprezentarea din Figura 2.62-d. STAB poate privit ca un sumator cu transport progresiv care are drept celule module de m biti cu transport anticipat. Adncimea pentru aceast organizare a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

283

Ai Bi A i1 A0 Bi1 B0 C 1 a) Circuit pentru generarea transportului anticipat

pi=A i+Bi

si

Generare pi, gi

Generare Ci p3 g3 p2 g2 p1 g1 p0 g0 C3 23 C2

Generare si s3

C i1 A3 B3

C2 22 C1

V DD CLK p3 p2 p1 g1 g2 g3

C3

A2 B2

s2

C1 21 C0

A1 B1

s1

C0 C 1 20

p0 C 1 b) A n B n A n1 C n1

g0

A0 B0

s0

CLK

c)

C 1

A n1m Bn1

Bn1m

A 2m1 C 2m1

B2m1

Am

m bit STA
sn1 snm

m bit STA
s2m1

A m1 Bm C m1 sm

Bm1

A0

B0 C 1 s0

m bit STA
sm1

S n d)

Figura 2.62 Sumatorul cu transport anticipat, STA: a) schema de principiu pentru celula de rang i a unui STA; b) circuitul dinamic CMOS (nMOS) pentru generarea transportului anticipat C3 peste patru ranguri de sumator; c) organizarea unui STA de patru biti cu identicare pentru ecare rang al celor trei generatoare componente (pentru pi i gi , Ci , si , iar calculul se face dup grup 1 din relatiile s a 2.25); d) organizarea unui sumator cu transport progresiv, dar pe baz de blocuri cu a transport anticipat, STAB.

284

2.5. CLC PENTRU FUNCTII NUMERICE

este 2(n/m + 1) niveluri logice, deci intermediar ntre STP i STA, iar dimensiunea s este n/m ori a unui STA de m biti. Se pot concepe i alte organizri de sumatoare pe baz de blocuri componente STA s a a dar la care se elimin transportul progresiv dintre blocuri i se realizeaz pentru cte a s a a un grup de blocuri, exteriorul ecrui grup, un circuit pentru calculul transportului n a anticipat. De exemplu pentru numere de 64 biti, dac se utilizeaz module STA de 4 a a biti rezult patru grupuri, ecare grup de cte patru blocuri, deci patru circuite ex a a terioare, ecare circuit exterior calculeaz transportul anticipat pentru cte un grup a a (pe patru STA de patru biti). Apoi, peste cele patru circuite de calcul de transport anticipat se poate conecta exteriorul lor un al cincelea asemenea circuit care, caln culeaz transportul anticipat pe a ntreg sumatorul de 64 biti [Wakerly 2000][Omondi 94]. Pentru calculul exterior al transportului anticipat exist circuitul 74xx182, n a Figura 2.76-c. b). Sumatorul cu lant Manchester, SM. Acest tip de sumator, unul din primele utilizate, realizeaz un traseu separat pentru propagarea transportului. De a fapt, i organizarea unui sumator cu transport progresiv cu celule ca cea din Figura s n 2.60-b se realizeaz o cale continu (un lant) de la C 1 pn la Cn1 pentru propaa a a a garea transportului. Rezult c, un sumator cu lant Manchester este un sumator cu a a transport progresiv cu particularizarea c pe traseul de propagare nu sunt porti ci a comutatoare comandate. Figura 2.63 sunt prezentate segmentele corespunztoare In a celulelor de rang (i 1) i i din lantul unui sumator Manchester. s
Celula i "1" A iBi Ci A iBi "0" Sgi Spi A i+Bi Soi pi si A i1Bi1 Celula (i1) Sg(i1) Sp(i1) A i1+Bi1 So(i1) pi1 s(i1) C i2 A i Bi 0 0 1 1 1 0 Si

A i1Bi1 C i1

0 So=A iBi Spi=A i+Bi

1 Sgi=A iBi

Figura 2.63 Structurarea de principiu a unui sumator cu lant Manchester. Din tabelul de adevr din aceast gur se deduce: pentru conguratia bitilor a a a Ai Bi = 01 sau 10 comutatorul Spi (de propagare) conecteaz Ci1 la Ci , iar pentru a conguratia Ai Bi = 11 comutatorul Sgi (de generare) determin valoarea 1 pentru a transportul urmtor, Ci . Pentru Ai Bi = 00 comutatorul S0i aplic valoarea 0 pena a tru Ci . Evident, comenzile celor trei comutatoare, calculate cu porti AND, XOR i s NAND cu cei doi biti Ai , Bi sunt exclusive. Ca elemente comutatoare pot utilizate tranzistoare de trecere sau porti de transmisie CMOS astfel c timpul de propagare a este foarte redus. anumite implementri, pentru creterea vitezei, transportul se consider activ In a s a n stare L, aceasta permite ca intervalul dintre dou operatii de sumare lantul (zic) n a de transfer (de exemplu, din trazistoare de trecere) s e arcat la potential H, a nc

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

285

iar cnd se realizeaz sumarea celula, care produce un transfer urmtor, va descrca a a a a lantul la potentialul masei. Se alege aceast variant deoarece, lantul ind echivalent a a cu o sarcin capacitiv, descrcarea la potentialul masei se realizeaz cu o constant de a a a a a timp mai mic dect constanta de timp de arcare la potentialul H i prin aceasta a a nc s rezult o valoare mai mic pentru timpul de propagare al transportului (T a a ). Aceast schimbare a polaritii de activare pentru transport determin pentru a at a comutatorul Sgi = Ai Bi s e conectat la mas, iar comutatorul S0i = Ai + Bi s a a a e conectat la 1 (potentialul H), raport cu organizarea din Figura 2.63. Structura n de sumator cu lant Manchester este simpl i ordonat ceea ce recomand pentru as a l a implementri VLSI. a Ideea de a realiza o cale separat pentru propagarea transportului este utilizat a a i la sumatoarele cu saltul transportului. La variantele de sumatoare cu saltul s transportului se realizeaz exterior, peste cte un grup de celule, un traseu de grup a n a separat pentru propagarea transportului care intr acel grup. Cnd propagarea a n a pe acel grup de celule (egal cu produsul logic al variabilelor propagare ale tuturor celulelor din grup) are valoarea 1, traseul de grup este comandat conductie realiznd n a o cale direct ( exteriorul grupului) pentru transportul de intrare grup pn la a n n a a ieirea din grup, eliminndu-se astfel timpul lung de propagare al transportului din s a celul celul. Ideea poate dezvoltat sensul c se poate realiza de asemenea a n a a n a a un traseu, peste alte cteva trasee de grup, care va comandat conductie (va nc a n scurtcircuita traseele de grup) cnd sunt conductie toate traseele de grup (produsul a n logic al propagrilor de pe traseele de grup este 1) [Omondi 94]. a c). Sumatorul cu selectarea transportului, SST. Atractia i performantele s sumatorului cu selectarea transportului sunt datorate ideii simple pe care se bazeaz a functionarea sa. Intr-un sumator, divizat blocuri, suma calculat corect pe un bloc n a nu este realizat pn nu sosete transportul anticipat de la blocul anterior. Dar, a a a s acest transport, cnd sosete, nu poate dect 1 sau 0, deci se pot realiza dou a s a a blocuri sumator, paralel, care sumeaz aceleai numere cu deosebirea c unui bloc n a s a i se aplic permanent 1 ca transport anterior iar celuilalt 0 ca transport anterior. a In momentul cnd transportul anterior sosete se va selecta suma deja calculat de la a s a blocul care a avut aplicat transportul anterior egal cu valoarea transportului sosit de la blocul anterior. Organizarea de principiu a SST este reprezentat Figura 2.64-a. Blocurile coma n ponente pot oricare tip de sumator (STP, STA, cu lant Manchester, etc.). Primul bloc sumeaz bitii Am1 . . . A0 i Bm1 . . . B0 ai cuvintelor de sumat, iar, acelai a s n s timp, urmtoarele dou blocuri sumeaz tot m biti din subintervalele A 2m1 . . . Am a a a i B2m1 . . . Bm ale cuvintelor de sumat, dar la unul se aplic C in = 1 iar la cellalt s a a Cin = 0. Aplicnd simultan, pe intrrile celor trei blocuri, bitii corespunztori ai a a a numerelor de sumat, cu o anumit arziere (care depinde de tipul de organizare al a nt blocurilor sumatoare), se genereaz transporturile urmtoare C m , C2m1 0 , C2m1 1 a a i cele trei sume. Cu ajutorul transportului urmtor C m , generat de primul bloc, s a prin intermediul unui grup de mMUX2 : 1 se va selecta doar suma de la acel bloc urmtor care a realizat sumarea pentru Cin = Cm . acelai timp cu selectarea a In s 0 sumei, se selecteaz, tot functie de Cm , care din transporturile urmtoare C2m1 i a n a s 1 C2m1 , generate respectiv pentru Cin = 0 i Cin = 1, se va aplica la urmtoarele dou s a a blocuri. Acest transport urmtor selectat va realiza aceleai operatii de selectare pena s tru urmtoarele dou blocuri sumator ca i transportul C m pentru cele dou blocuri a a s a

286

2.5. CLC PENTRU FUNCTII NUMERICE

A 2m1 B2m1 C2m1


1

A m Bm A m1Bm1 s1 m Cin=1 Cm A 0 B0 C1

Sumator m biti
1 s2m1

C2m1 Selectare pentru urmatoarele doua blocuri in paralel

A 2m1

B2m1 A m

Sumator m biti 0 C2m1 0 s0 s2m1 m 1 0 1 0 s2m1 C31 sm

Bm Cin=0

Sumator m biti

a)

sm1

s0

lantul de propagare al transportului


Sumator 6 biti Sumator 7 biti Sumator 6 biti Sumator 5 biti Sumator 4 biti

C31

Cin=1 6

1 C25

Cin=1 7

1 C18

Cin=1 6

1 C12

Cin=1 5

1 C7

Cin=1 4

1 0

1 0

1 0

1 0

1 0

C3 4

Sumator 4 biti

C1

0 C31 Cin=0

Sumator 6 biti

0 C25 Cin=0

Sumator 7 biti

0 C18 Cin=0

Sumator 6 biti

0 C12 Cin=0

Sumator 5 biti

0 C7 Cin=0

Sumator 4 biti

6 b)

s31s26

s25s19

s18s13

s12s8

s7s4

s3s0

Figura 2.64 Sumatorul cu selectarea transportului, SST: a) la cele dou moda ule care functioneaz paralel, unul cu C in = 1 altul cu Cin = 0, se alege suma, deja a n calculat, care corespunde valorii transportului C in sosit de la modulul anterior; b) a organizarea unui SST pentru cuvinte de 32 biti.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

287

paralel din gur. n a Pentru a optimiza timpii de propagare, blocurile nu sunt de lungimi egale. Semnalul de selectare pentru dou blocuri care functioneaz paralel, se calculeaz, a a n a n lantul de propagare al transportului pe dou niveluri de porti, functie de transpor a n turile urmtoare C 0 i C 1 de la cele dou blocuri anterioare. Aceasta a s a nseamn, a n cazul care toate blocurile ar avea aceeai lungime, c semnalul de selectare ajunge n s a la urmtoarele dou blocuri paralel cu o arziere de dou nivele logice dup ce a a n nt a a sumarea pe aceste blocuri s-a efectuat, se presupune c la toate blocurile intrrile se a a aplic simultan. Deoarece sumarea a doi biti se realizeaz pe dou niveluri logice, a a a rezult c ecare pereche de blocuri urmtoare poate avea o lungime cu un bit plus a a a n fata de perechea de blocuri anterioare. Aplicnd acest mod de optimizare rezult a a pentru un SST de 32 biti urmtoarele lungimi de module 4-4-5-6-7-6, Figura 2.64-b, a ceea ce determin un timp de sumare egal cu arzierea prin 18 niveluri de porti, a nt (4 + 1 + 1 + 1 + 1 + 1) 2 = 18. Trebuie observat c pentru semnalul de selectare a crete fun-out-ul pe msur ce crete lungimea modulelor componente ceea ce devine s a a s un impediment la implementare cu n ridicat, la fel ca la STA.

Tabelul 2.3 Caracteristicile asimptotice ale unor tipuri de sumatoare Tipul de sumator STP STA SM SST Timpul sumare T O(n) O(log n) O(n) O( n) Aria consumat pe a siliciu ASi O(n) O(n log n) O(n) O(n)

Pentru sumatoarele prezentate, valorile asimptotice, la creterea numrului de s a biti n a cuvintelor sumate, ale caracteristicilor timp de sumare T i aria ocupat la s a implementarea siliciu, ASi , sunt prezentate Tabelul 2.3. Cunoaterea comportrii n n s a asimptotice a sumatoarelor este util elegerea lor dar, luarea unor decizii de a n nt organizare innd cont numai de valorile asimptotice, poate ascunde o capcan. t a a In general, organizarea unui sumator se face pe baz de blocuri, ca Figura 2.62a n a sau Figura 2.64-b, a cror lungime nu depete ordinul unitilor. Dar pentru a as s at blocuri sumatoare cu lungimi de ordinul unitilor, de exemplu n = 4, diferentele de at performanta sau de implementare ntre diferitele tipuri de structuri sumatoare, ca cele din Tabelul 2.3, nu sunt aa de evidente. Rezult c, aproape indiferent de tipul s a a de bloc folosit, important devine modul cum se organizeaz/conecteaz aceste blocuri a a ntr-un sumator de lungime ridicat (32,64,128 biti). a

2.5.3

Multiplicatorul

Echipamentele digitale sunt nzestrate tot mai frecvent cu circuite specializate pentru multiplicare; unitile aritmetice specializate (coprocesoare) sau procesoarele digat itale de semnal se numr printre acestea. Procesarea digital a semnalelor (corelatia, aa a

288

2.5. CLC PENTRU FUNCTII NUMERICE

convolutia, ltrare, analiza frecvential) este un domeniu care si bazeaz performan a a ele pe puternice circuite de multiplicare. Circuitul de multiplicare poate realizat t cu un CLC deoarece rezultatul nmultirii depinde exclusiv doar de cei doi operanzi. Se vor prezenta trei organizri de circuite de multiplicare (multiplicatorul matriceal, a multiplicatorul tip arbore Wallace i multiplicatorul tabelar). S-a limitat prezentarea s numai la aceste trei organizri, pe care le considerm de baz, deoarece multe circuite a a a multiplicator utilizate pot recunoscute ca variante ale uneia din aceste trei. 2.5.3.1 Multiplicatorul matriceal

Metoda de nmultire a dou numere de cinci biti, A = A 4 A3 A2 A1 A0 , a B = B4 B3 B2 B1 B0 , cu creionul pe hrtie dup regula comun, aat coala a a a nvt a n s primar, este prezentat Figura 2.65-a. Produsul rezultat cu lungimea de zece biti, a a n P = p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 , se obtine prin adunarea succesiv a produselor partiale a AB0 , AB1 , AB2 , AB3 i AB4 , ecare produs partial, s nainte de adunare, ind deplasat la stnga cu o pozitie (adic a a nmultit cu 2 1 ). Pentru realizarea unui circuit de multiplicare, conform metodei de nmultire prezentate, este necesar a se identica o structur de celul elementar component a acestui circuit. S analizm cum este a a a a a a realizat i utilizat operatia de s n nmultire, din aceast matrice, un produs de doi biti a dintr-un produs partial, de exemplu produsul A 2 B2 . Acest produs se realizeaz sim a plu printr-o poart AND, deoarece exist identitate a a ntre operatorii produs aritmetic i produs logic. s Acest produs A2 B2 se nsumeaz cu rezultatul adunrii s31 de pe aceeai coloan, a a s a adic suma anterioar a a ntre A4 B0 i A3 B1 , se s nsumeaz cu transportul anterior, C12 , a provenit de la termenul produs din dreapta de pe aceeai linie A 1 B2 i, urma acess s n tor nsumri, se genereaz un bit sum, s22 , care se va a a a nsuma cu termenul produs urmtor A1 B3 , de pe aceeai coloan, i se genereaz un bit de transport urmtor, a s a s a a C22 , care este aplicat la termenul produs din stnga, A 3 B2 , de pe aceeai linie. Toate a s acestea corespund cu operatiile realizate de o celul sumator (3, 2), Figura 2.65-b. a Rezult c circuitul multiplicator poate compus din 4 4 = 16 celule elementare, a a sumator (3, 2), cte una pentru ecare termen produs A i Bj , iar trecerea de la maa tricea operatiei de multiplicare la topologia circuitului de multiplicare se face printr-o mapare 1:1, nlocuind ecare produs de doi biti cu o celul elementar, Figura 2.65-c. a a Se observ c structura matriceal a circuitului multiplicator la toate celulele de pe a a n a o linie se aplic acelai bit Bj , j = 0, 1, 2, 3, 4 al inmultitorului B i la toate celulele a s s de pe aceeai diagonal se aplic acelai bit A i , i = 0, 1, 2, 3, 4 al de s a a s nmultitorului A. Aceast structurare a multiplicatorului, sub form de paralelogram, poate uor a a s desenat i sub form de matrice ptrat pentru a potrivit unui layout pe siliciu. as a a a a Din organizarea circuitului multiplicator se poate deduce uor c dimensiunea sa s a este O(n2 ). Fiecare linie a multiplicatorului este de fapt un sumator cu transn port progresiv. Timpul cel mai lung de nmultire se obtine cnd o intrare la prima a celula A0 B0 afecteaz transportul urmtor de la ultima celula A 4 B4 , adic bitul proa a a dus p9 , iar pentru aceast propagare traseul cel mai lung este lungul sumatorului a n corespunztor primei linii, prin coloana cu celulele A 3 B1 , A2 B2 , A1 B3 i apoi prin a s celulele A0 B4 , A1 B4 , A2 B4 , A3 B4 , A4 B4 corespunztoare sumatorului de pe ultima a linie (produsul partial AB4 ). Dac se consider, pentru simplitate, c arzierea pe o a a a nt celul de la oricare intrare a sa la oricare ieire este m atunci timpul de multiplicare a s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

289

A2 C 22 A4 A3 A2 A1 A0 x B4 B3 B2 B1 B0 A 4B0 A 3B0 A 2B0 A 1B0 A 0B0 A 4B1 A 3B1 A 2B1 A 1B1 A 0B1 Bj A 4B2 A 3B2 A 2B2 A 1B2 A 0B2 C ij A 4B3 A 3B3 A 2B3 A 1B3 A 0B3 A 4B4 A 3B4 A 2B4 A 1B4 A 0B4 Ai p6 p5 p4 p3 p2 p1 p0 p9 p8 p7 b) a) A4 A 4B0 A 4B1 A 4B2 A 4B3 A 4B4 p9 c) p8 A 3B4 p7 A 3B3 A 2B4 p6 A 3B2 A 2B3 A 1B4 p5 A 3B1 A 2B2 A 1B3 A 0B4 p4 p3 p2 A3 A 3B0 A 2B1 A 1B2 A 0B3

B2 s31 (3,2) s22

C 12

s(i1)(j1) (3,2) + AND sij A A2 A 2B0 A 1B1 A 0B2 A1 A 1B0 A 0B1 A0

Ai C (i1)j

B0

A 0B0 B1 B2 B B3 B4

p1

p0

Figura 2.65 Circuitul multiplicator matriceal: a) matricea produselor partiale obtinut la inmultirea a dou cuvinte A i B de cinci biti; b) celula elementar a a s a ((3, 2)) care modelelaz un termen dintr-un produs partial al inmultirii; c) struca turarea unui circuit multiplicator matriceal pentru n = 5.

290

2.5. CLC PENTRU FUNCTII NUMERICE

Tm cel mai mic este de 13 m . Iar cazul unui n nmultitor pentru dou cuvinte de a n biti se obtine (3n 2)m Tm , adic O(n) ceea ce pentru lungimea actual de a n a 64 biti, a numerelor reprezentate virgul x, determin viteze destul de sczute. n a a a a Modaliti de a at mbunti performanta de vitez a multiplicatorului matriceal a at a const, e micorarea numrului de produse partiale, deci de adunri ale acestora, a n s a a e prin efectuarea a ct mai multe adunri de produse partiale paralel sau e a a n printr-o structurare fr transport progresiv a sumatoarelor. aa Din organizarea anterioar de multiplicator matriceal, tendinta de a crete a n s performanta de vitez, se poate obtine cu mici modicri un multiplicator reprezen a a tat Figura 2.66 denumit multiplicator matriceal cu salvarea transportului, n MMST. Mrirea performantei de vitez rezult prin a a a nsumri de produse partiale a n paralel i prin utilizarea de sumatoare cu salvarea transportului, SSLT. s
A 4A 3A 2A 1A 0x B4 B3 B2 B1 B0 A 4B0 A 3B0 A 2B0 A 1B0 A 0B0 A 4B1 A 3B1 A 2B1 A 1B1 A 0B1 A 2B2 (3,2) A 1B3 (3,2) A 0B4 (3,2) (3,2) A 1B2 (3,2) A 0B3 (3,2) (3,2) AB4 SSLT3 A 0B2 (3,2) (3,2) AB3 SSLT2 AB0 AB1 AB2 SSLT1

A 4B2 A 3B2 Sumator cu salvarea transportului (3,2) (SSLT) A 4B3 A 3B3 A 2B3 (3,2) A 4B4 A 3B4 (3,2) A 2B4 (3,2) (3,2) A 1B4 (3,2)

Sumator cu propagarea transportului (SPT) p9 p8 p7 p6 p5 p4

SPT p3 p2 p1 p0 P

Figura 2.66 Organizarea multiplicatorului matriceal cu salvarea transportului, MMST. La organizarea matriceal anterioar a multiplicatorului suma partial dup a a a a a i-a linie, a produsului partial ABi1 , poate calculat corect numai dup ce s-a a a primit transportul urmtor de la sumarea partial de la linia anterioar, adic de la a a a a linia produsului partial ABi2 . Aceste arzieri determinarea corect a sumelor nt n a partiale se datoreaz faptului c sumatorul de pe ecare linie este un sumator cu a a transport progresiv. Se poate ca transportul urmtor de la celula A i Bj s nu mai e a a aplicat la celula urmtoare Ai+1 Bj , de pe aceeai linie, ci la celula urmtoare A i Bj+1 a s a de pe linia urmtoare. felul acesta se obtine, acelai timp, pe ecare linie a a In n s matricei la ecare celul o informatie corect a celulei, dar exprimat prin perechea: a a a sum s i transport C. Structura aceasta de celule sumatoare, paralel, a s n ntre care nu exist transport progresiv, de pe o linie a matricei care genereaz perechile s, a a C, este referit ca sumator cu salvarea transportului. Fiecare linie din matricea a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

291

multiplicatoare formeaz un sumator cu salvarea transportului, SSLT de n biti. a Dac se consider, pentru simplitate, c arzierea pe o celul de la oricare intrare a a a a nt a sa la oricare ieire este m , s nseamn c din momentul aplicrii pe intrri a operanzilor a a a a A i B, dup o arziere egal cu (n 1) m se obtin perechile de valori s, C la s a nt a ieirea sumatorului cu salvarea transportului de pe penultima linie a matricei. Apoi, s introducnd aceste perechi, s, C, a ntr-un sumator cu propagarea transportului, cu timpul de sumare T , se obtine ultima linie cuvntul produs corect. Sumatorul cu n a propagarea transportului poate oricare tip de sumator prezentat sectiunea 2.5.2. n Timpul de multiplicare Tm respect relatia Tm (n 1)m + T i este mai mic cam a s de trei ori comparativ cu cel al multiplicatorului matriceal prezentat anterior, dar tot O(n) (evident T depinde de tipul de sumator cu propagarea transportului folosit). n Dimensiunea multiplicatorului se calculeaz pe matricea celor n(n 1) celule plus pe a sumatorul cu propagarea transportului, dar se situeaz O(n 2 ). a n Aceast organizare de multiplicator cu salvarea transportului mai poate a mbuna tit prin utilizarea facilitilor de sumare paralel. Se observ c celulelor sumatoare at a at a a a din prima linie li se pot aplica pe intrri trei produse partiale AB 0 , AB1 i AB2 (ca a s n Figura 2.66) eliminnd astfel din organizarea matriceal anterioar dou linii. Pentru a a a a multiplicatorul de n = 5 biti din gur rezult T m 3m +T , iar pentru cazul general a a Tm = (n 2)m + T . Multiplicatorul matriceal cu salvarea transportului duce la o regularitate a geometriei de realizare, deci este indicat pentru implementrile VLSI. a 2.5.3.2 Multiplicatorul tip arbore Wallace

Performanta de vitez, la multiplicatorul tip arbore Wallace, se obtine printr a o sumare paralel de produse partiale a ntr-o structur de arbore care realizeaz o a a compresie raportul 3:2. Pe un sumator cu salvarea transportului, SSLT, se pot n aplica simultan trei produse partiale i se pot obtine dou cuvinte: cuvntul sum i s a a as cuvntul transport; un SSLT este format din celule (3, 2) ne a nseriate prin intermediul transportului anterior. De fapt celula (3, 2) poate privit ca un numrtor de biti a aa 1 continuti cuvntul de intrare, cum este prezentat ultimele trei coloane din n a n Tabelul 1.6. De exemplu, dac cele trei intrri la celul sunt A = 1, B = 0, C = 1 a a a numrul de biti 1 ai cuvntului 101 este exprimat codicat binar de perechea a a n obtinut a ieirilor C, s, care este pentru acest caz egal cu 10 adic 2; sau pentru a s a a A = 1, B = 0, C = 0, care formeaz cuvntul de intrare 100 celula sumator a a n complet, perechea obtinut C, s, are valoarea 01, adic 1 binar natural. a a n Figura 2.67-a este prezentat, pentru In nmultirea a dou cuvinte A, B cu lun a ngimea de ase biti, modul cum se pot grupa, succesiv, cte trei cuvinte care aplicate s a la un SSLT va genera numai dou cuvinte. a Structura arborelui de tip Wallace, pentru n = 6, este dat Figura 2.67-b. a n Fiecare din cele ase produse partiale se obtine uor pe cte un grup de ase porti s s a s AND2, deci total 36 de porti AND2. Structurarea arborelui urmrete succesiunea n a s aplicrii tripletelor la sumatoarele cu salvarea transportului. Pe primele dou sumaa a toare cu salvarea transportului SSLT1 i SSLT2 se aplic simultan Triplet1 i Triplet2. s a s Pe nivelul doi exist un singur sumator SSLT3 care din Sum2, Transport1 i Sum1 a a s a genereaz Transport3 i Sum3. Sumatorul SSLT4, de pe nivelul trei, realizeaz a s a a conversia de la Transport2, Transport3 i Sum3 la Transport4 i Sum4. Ultimul s a s a nivel care sumeaz Transport4 cu Sum4 trebuie s e un sumator cu propagarea a a a

292

2.5. CLC PENTRU FUNCTII NUMERICE

A= 110101x B= 101011 110101 110101 000000 110101 Triplet 2 000000 110101 100011100111

110101 110101 000000 Suma 1 01011111 Transport 1 01000000 Triplet1

110101 000000 110101 Suma 2 11100001 Transport 2 00101000 Triplet 2

Triplet 1

Suma 4 11011000111 Transp 4 01000100000 Produs 100011100111 a) A 5B5

Suma 3 Transport 3 Transport 2 Suma 4 Transport 4

11100010111 00010010000 00101000 11011000111 01000100000

Suma 1 01011111 Transport 1 01000000 Suma 2 11100001 Suma 3 11100010111 Transp 3 00010010000 A 1B1 A 0 B0

A 5B5 A 0B5 A 5B4 A 0B4 A 5B3 SSLT2 Transport 2 Suma 2

A 0B3

A 5B2

A 0B2 A 5B1 A 0B1 A 5B0 A 1B0 SSLT1 Suma 1

Transport 1 SSLT3 Suma 3

Transport 3 SSLT4

Transport 4

Suma 4

Sumator cu propagarea transportului (SPT) b) p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0

Figura 2.67 Multiplicatorul arbore tip Wallace pentru n = 5: a) modalitatea de formare a tripletilor pentru ecare nivel al arborelui; b) structurarea arborelui pe baz de sumatoare su salvarea transportului, SSLT, i un sumator cu propagarea a s transportului, SPT.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

293

transportului, SPT, de orice tip prezentat sectiunea 2.5.2. n cazul general, pentru un multiplicator Wallace de n biti cele n produse partiale, In ecare de n biti, se grupeaz k0 tripleti, n = 3k0 + l0 unde 0 l0 2, se aplic a n a primului nivel compus din k0 sumatoare cu salvarea transportului i se obtin k 0 perechi s sum i transport. Pentru al doilea nivel de sumatoare cu salvarea transportului se as grupeaz continuare k1 tripleti conform relatiei 2k0 +l0 = 3k1 +l1 unde 0 l1 2 a n n i se genereaz k1 perechi sum i transport. Acest proces se continua compresii s a as n consecutive de 3:2 pe un numr de log 3/2 n nivele pn cnd se obtine o singur a a a a a pereche sum i transport care sunt sumate nal pe un sumator cu propagarea a s n transportului. Deci timpul minim de multiplicare T m este egal cu arzierea pe nt o poart AND plus timpul de propagare prin log 3/2 n niveluri de SSLT la care se a adaug timpul de sumare T , pe sumatorul cu propagarea transportului. Dimensiunea a multiplicatorului este O(n2 ). n Multiplicatorul Wallace are performanta de vitez mai bun dect multiplicatorul a a a matriceal cu salvarea transportului dar, totui, din cauza neregularitii layout-ului, s at ultimul este preferat implementrile VLSI. n a Ideea de structurare a multiplicatorului sub form de arbore a generat celule cu a compresia diferit de 3:2. Pentru o compresie 2:1 rezult o structurare de arbore a a binar. Alte organizri pe baz de celule cu compresia (5 : 3), (7 : 3) i (15 : 4) a a s reduc adncimea arborelui dar nu neaprat reduc i timpul de multiplicare deoarece a a s odat cu creterea raportului de compresie crete i arzierea pe celul [Omandi a s s s nt a 94][Petterson 96][Smith 97]. 2.5.3.3 Multiplicatorul tabelar

Dup cum reiese i din denumire, multiplicatorul tabelar este o tabel (LUT) care a s a contine toate produsele ntre dou cuvinte de lungime de n biti. Teoretic, acest tip de a multiplicator ar trebui s e cel mai simplu i mai rapid. Tabelul de adevr pentru a s a produsul a dou cuvinte, A1 A0 i B1 B0 de doi biti, este prezentat Figura 2.68-a. a s n Se pot deduce expresiile logice pentru ecare din cei patru biti p 3 p2 p1 p0 ai cuvntului a produs: p0 p1 p2 p3 = A1 A0 B 1 B 0 + A1 A0 B 1 B 0 + A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 = A 0 B 0 = A1 A0 B 1 B 0 + A1 A0 B 1 B 0 + A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 +A1 A0 B1 B0 = A1 A0 B1 + A1 A0 B0 + A1 A0 B0 + A1 B1 B0 = A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 = A 1 A0 B 1 + A 1 B 1 B 0 = A 1 A0 B 1 B 0 .

care pot implemetate cu porti logice, cu DCD + OR sau cu un circuit ROM. Implementarea cea mai recomandat pentru astfel de tabele este cu circuite ROM; a cele dou cuvinte de n biti formeaz, prin alturare, adresa de 2n biti a locatiei a a a unde este stocat cuvntul produs, al celor dou cuvinte, cu lungimea de 2n biti. a a Limitarea, e de capacitata de adresare, e de lungime de cuvnt stocat, impus de a a un anumit circuit ROM la implementarea unei tabele de nmultire, poate depit as a prin segmentarea lungimii operanzilor. acest sens, Figura 2.68-b, este prezentat In n a nmultirea segmentat a operanzilor 1234 5678. Fiecare operand s-a segmentat a n dou numere 12 cu 34 i 56 cu 78 i s-au efectuat a s s nmultirile ecare cu ecare, apoi s-au sumat produsele segmentate obtinute pe dou niveluri de sumator, evident la a

294

2.5. CLC PENTRU FUNCTII NUMERICE

Intrari Iesiri (Adresa) A 1A 0 B1B0 p3p2p1p0 0 0 0 0 00 00 0 0 0 1 00 00 0 0 1 0 00 00 0 0 1 1 00 00 0 1 0 0 00 00 0 1 0 1 00 01 0 1 1 0 00 10 0 1 1 1 00 11 a)

Intrari (Adresa) A 1A 0 B1B0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

Iesiri p3p2p1p0 00 00 00 10 0 100 0 1 10 00 00 00 11 01 10 11 11 12 x 56 72 60 672

1234x5678 12 x 34 x 78 56 204 96 84 170 936 1904 672 1904 69104

34 x 78 272 238 2652 936 2652 96252

b)

A 158 A 158 A 70 A 158 A 158 A 70 A 70 A 70 8 8 8 8 8 8 8 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 A 158 B158

69104 96252 7006652 A 150 B150 A 70 B158 A 158 B70 A 70 B70

Sumator, 16 bit 16 24

Sumator, 16 bit 16 Sumator, 24 bit


p7p 0

c)

p31p 8

Figura 2.68 Multiplicatorul tabelar: a) tabelul de adevr pentru a nmultirea a dou cuvinte de doi biti, A1 A0 B1 B0 ; b) modaliti de substituire a a at nmultirii numerelor cu multe cifre, prin segmentare, cu mai multe nmutiri de numere cu cifre mai putine; c) structurarea circuitului pentru nmultirea a dou cuvinte de 16 biti, a prin segmentare, pe baz de circuite ROM i sumatoare. a s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

295

sumare s-a inut cont de deplasrile necesare. Pentru segmentarea a dou numere t a a binare cu lungimea de 16 biti A = A15 ...A1 A0 A158 cu A70 i B15 ...B1 B0 n s n B158 cu B70 , Figura 2.68-c se prezint o variant posibil pentru implementarea n a a a tabelelor de nmultire pe circuite ROM cu capacitatea de adresare de 64K. Tabelul nmultirii a dou cuvinte binare de 8 biti a ncape ntr-o capacitate de 2 16 (2 8) biti, adic dou circuite ROM de 64x8biti conectate paralel, total sunt necesare a a n n 8 astfel de circuite ROM. Timpul de multiplicare Tm se compune din timpul de acces la memorie AA plus arzierea pe calea cea mai lung determinat de nivelurile de sumatoare. Dint a a mensiunea multiplicatorului este dimensiunea/capacitatea memoriei 2 2n 2n deci n O(n 22n ) plus cea a sumatoarelor utilizate. Aceast valoare ridicat a dimensiunii a a limiteaz a implementarea multiplicatorului tabelar. Probabil, cu creterea dena nc s sitii de integrare simultan cu reducerea costului i acest tip de multiplicator poate at s deveni atractiv. O modalitate care poate duce la micorarea capacitii ROM necesar pentru s at a tabele const efectuarea indirect a multiplicrii prin logaritmare i antilogaritmare a n a s conform relatiei: A B = antilog(log A + log B) Pentru aceast implementare sunt necesare dou tabele (una pentru stocarea a a logaritmilor i una pentru antilogaritmi) i un sumator. Aceste tabele au evident s s mai putine intrri dect o tabel care realizeaz direct a a a a nmultirea (2 n intrri) a iar lungimea cuvntului stocat aceste tabele depinde de nivelul de eroare care se a n accept rezultatul a n nmultirii (indicat pentru nmultiri de numere reprezentate n virgul otant, unde produsul obtinut de 2n biti se reduce doar la n biti). Timpul de a a multiplicare este determinat de accesul la cele dou memorii (tabele) plus cel necesar a sumrii. a

2.5.4

Circuite de deplasare

Circuitele de deplasare (shift-are) transfer ecare bit de intrare x i , i = 0, 1, 2, . . . , a n 1, al unui cuvnt de n biti, a ntr-un bit de aceeai valoare cuvntul de ieire dar s n a s deplasat fata de pozitia i cu D pozitii, conform relatiei: yiD = xi Mai exact, acest proces de deplasare al cuvntului de intrare X, a ntr-un cuvnt a de ieire Y este caracterizat de urmtoarele mrimi: s a a directia de deplasare (stnga/dreapta); a distanta de deplasare D (exprimat binar prin numrul de pozitii); a n a conditiile de capt. a Prin conditiii de capt se elege modul cum se procedeaz cu bitii care ies din a nt a intervalul de index al cuvntului [n 1, n 2, . . . , 1, 0], respectiv cu ce se completeaz a a pozitiile rmase libere la cellalt capt al cuvntului. a a a a

296
x n1 xi x 1x 0 x n1

2.5. CLC PENTRU FUNCTII NUMERICE

Intrare Iesire

xi

x 1x 0

x n1

xi

x 1x 0

yi+D

y1+D y0+D

yn1D

yiD

yn1

yi yi1 y1y0

Deplasare stanga a) b)

Deplasare dreapta c)

Rotire dreapta

Figura 2.69 Modaliti de realizare a operatiei de deplasare/rotire: at a,b) deplasare stnga/dreapta; c) rotire dreapta. a Cuvntul cruia i se aplic deplasarea poate avea semnicatia de numr ( care a a a a n ecare pozitie corespunde unui rang exprimarea ponderat baza 2 a valorii nu n a n mrului), sau are semnicatia doar a unui ir de biti (cnd pozitia nu determin o a s a a pondere binar). Corespunztor acestor dou semnicatii, care le poate avea cuvntul a a a a deplasat, rezult respectiv o deplasare aritmetic sau o deplasare logic. a a a Printr-o deplasare aritmetic cu D pozitii (spre stnga) numrul respectiv este a a a nmultit cu 2D iar printr-o deplasare aritmetic cu D pozitii (dreapta) numrul a a este artit cu 2D . Dac numrul reprezentat binar este fr semn atunci att la mp a a aa a deplasarea stnga, Figura 2.69-a, ct i deplasarea dreapta, Figura 2.69-b, bitii care a a s ies din intervalul pozitiilor [n 1, n 2, . . . , 1, 0] se pierd numrul reprezentat la n a ieirea circuitului de deplsare iar pozitiile rmase goale acest interval se completeaz s a n a cu zero. La deplasarea logic se procedeaz la fel dar cuvntul supus deplasrii a a a a stnga/dreapta nu mai este interpretat ca un numr ci doar ca un ir de biti. a a s La deplasarea numerelor cu semn, care au bitul de semn pozitia (n 1), acesta n trebuie pstrat (extensia de semn) indiferent c numrul este multiplicat cu 2 D a a a sau 2D . De exemplu, numrul 20|10 = 10100|2 iar -20 complement de doi se obtine a n 10100 01011 + 1 01100 1 01100 = [20]2 . La deplasarea spre dreapta a numrului [20]2 cu dou pozitii ( artire cu 22 ) trebuie completat bitul de semn a a mp n cele dou pozitii din stnga, se obtine: 111011 (1)2 5 +124 +123 +022 +121 +1 a a 20 = 5. La deplasarea spre stnga cu o pozitie (inmultire cu 2), bitul de semn nu iese a afara intervalului de ase biti (semnul trebuie pstrat), intervalul trebuie extins la n s a apte biti, se obtine: 1011000 (1)26 +025 +124 +123 +022 +021 +020 = 40. s Exist i cazul particular de deplasare stnga/dreapta cnd pozitiile (n 1) i 0 as a a s se consider vecine, circuitul de deplasare acest caz este referit ca circuit rotitor, a n Figura 2.69-c. Prin rotire, deoarece bitii care ies din intervalul de index la un capt a sunt introdui la cellalt capt, nu rmn pozitii libere deci nu se fac completri s a a a a a cu zero. Exemplicm rotirea cu irul format din primele 8 litere din alfabet (sa s au substituit bitii prin litere) ABCDEF GH care printr-o rotire la dreapta cu ase s pozitii (D = 6) se obtine CDEF GHAB iar printr-o rotire la stnga cu dou pozitii a a (D = 2 = 8 6) se obtine CDEF GHAB, adic acelai cuvnt ambele cazuri. a s a n Lungimea cuvntului de n biti, general, este un numr putere a lui 2, deci n D a n a este complementul fata de doi [D]2 al lui D. Din aceast observatie rezult c o a a a structur de rotitor poate realiza att rotirea spre stnga ct i rotirea spre dreapta, a a a a s deoarece o rotire cu D (dreapta) este echivalent cu o rotire spre stnga exprimat a a a de un numr de pozitii egal cu [D]2 . exemplul dat, comanda de deplasare dreapta a In

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

297

cu ase pozitii 6 = 110|2 se substituie cu comanda spre stnga cu dou pozitii spre s a a stnga [6]2 = 8 6 = 1000 110 = 010 = 2. a Analiznd pe Figura 2.69, ce const operatia de deplasare, se constat c este a n a a a o selectare a unui bit de intrare i transferul acestuia s ntr-o alt pozitie la ieire fr a s aa a-i modica valoarea. Ori, aceast operatie de selectare, de la intrare la ieire, este a s proprie circuitului multiplexor. Dac se extinde aceasta de la bit la nivel de cuvnt a a se constat c operatia de deplasare poate realizat cu o structur de selectare a a a a secvential a datelor cu multiplexoare ca Figura 2.36-b. Un circuit de deplasare, a n pentru un cuvnt de n biti, structurat ca un circuit de selectare a datelor, pe baz a a de multiplexoare, este format din n multiplexoare paralel, ecare multiplexor cu n un numr de intrri de date n. Fiecare din cele n cuvinte obtinut, de exemplu, a a prin deplasarea stnga cu D pozitii (D [n 1, 0]) este stocat a ntr-un port iar bitii acestui port sunt aplicati la intrarea cu acelai numr a tuturor celor n multiplexoare s a paralel. La aplicarea cuvntului de selectare (deplasare) D, comun pentru toate n a intrrile de selectare ale multiplexoarelor, este selectat portul de intrare care este a n nscris cuvntul deja deplasat cu D pozitii spre stnga i aplicat la portul de ieire. a a s s Structurarea anterioar a circuitului de deplasare, ca selector de cuvinte ( a nscrise deja conguratii deplasate) din n porturi de intrare, poate restrns la un singur n a a port de intrare ca Figura 2.70-a, unde portul de intrare este o magistral de patru n a biti pe care se aplic cuvntul de deplasat X = x 3 x2 x1 x0 . La ieirea circuitului de a a s deplasare stnga de patru biti pentru deplasrile de 0, 1, 2, 3 pozitii se obtin respectiv a a urmtoarele cuvinte x3 x2 x1 x0 , x2 x1 x0 0, x1 x0 00 i x0 000. La o astfel de structurare, a s cu un singur port de intrare, bitul j (linia j a magistralei) nu se mai aplic doar la a intrarea j de date a unui singur multiplexor, ca pentru structurarea anterioar, ci se a aplic la ecare din multiplexoare dar pe intrri de date diferite (a se vedea, de exema a plu, linia de magistral x0 ). La deplasarea spre stnga a cuvntului de patru biti a a a n pozitiile rmase libere, unde cazul general ar intra bitii din pozitiile 1, 2, 3, . . . a n dar care cazul acesta nu exist, se introduc zero-uri prin conectarea la mas a n a a intrrilor corespunztoare ale multiplexoarelor. a a Varianta de circuit rotitor de patru biti este reprezentat Figura 2.70-b. Aici, se a n observ clar c ecare bit de intrare, linie de magistral, se aplic la ecare multiplexor a a a a dar pe intrri diferite. La fel ca i la circuitul de deplasare, scriind cele patru cuvinte a s care se pot obtine la ieire x3 x2 x1 x0 , x2 x1 x0 x3 , x1 x0 x3 x2 i x0 x3 x2 x1 se deduce s s foarte uor la care linie de magistral se conecteaz ecare intrare a multiplexoarelor. s a a Caracteristicile de adncime i dimensiune ale circuitului de deplasare dreapta/ a s stnga, CDD/S, sunt determinate de cele n multiplexoare felul urmtor: a n a DCDD/S (n) O(1) SCDD/S (n) = n SM U X(n) O(n2 log n) rezult i produsul dimensiune-adncime: as a SCDD/S (n) DCDD/S (n) O(n2 log n) (SM U X(n) O(n 2n )) aceast relatie dedus sectiunea 2.4.4 corespunde cazului a a n cnd n este numrul de intrri de selectare la MUX2 n :1, dar cazul CDD/S n a a a n este numrul de intrri de date la MUXn:1 deci relatia pentru dimensiune devine a a SM U X(n) = O(n log n)).

298
x3 x2 x1 x0 I3 I1 I0 MUX 4 : 1 I2 I3 I1 I0 MUX 4 : 1 I2

2.5. CLC PENTRU FUNCTII NUMERICE

D1 D0 y3 y1 a) y2 y0

I3

I1 I0 MUX 4 : 1

I2

I3

I1 I0 MUX 4 : 1

I2

x3 x2 x1 x0 I3 I2 I1 I0 I3 I2 I1 I0 I3 I2 I1 I0 I3 I2 I1 I0

D1 D0 y3 y1 b) y2 y0

MUX 4 : 1

MUX 4 : 1

MUX 4 : 1

MUX 4 : 1

Figura 2.70 Exemplu de structurare a circuitelor de deplasare/rotire pe baz de multiplexoare: a) circuit de deplasare stnga pentru cuvinte de patru biti; a a b) circuit rotitor de patru biti. Dimensiunea mare pe care o implic astfel de structurare a circuitului de deplasare a (cea a circuitului rotor este la fel) poate ridica diculti de implementare. plus, at In adncimea atractiv O(1) poate mult autit de fan-out-ul ridicat. Fiecare a a n nr at a bit al cuvntului de intrare comand n intrri de date ale multiplexoarelor i la fel, a a a s ecare intrare de selectare se aplic la n multiplexoare. a Cauza acestor neatrgtoare performante ale circuitului de deplasare cu struca a turarea anterioar rezid realizarea pe un singur nivel, format din nMUXn:1, a a a n tuturor celor n deplasri comandabile prin cuvntul D = D k1 Dk2 ...D1 D0 , unde a a k = log2 n . Dar valoarea numrului de pozitii de deplasat rezult, ca la oricare a a numr binar, printr-o sum ponderat dup puterile lui 2 din cuvntul de control a a a a a D. De exemplu, pentru un cuvnt de deplasat cu lungimea de 8 biti o comand de a a deplasare cu 6 pozitii D = D2 D1 D0 = 110, 6 = 1 22 + 1 21 + 0 20 poate realzat a prin dou deplasri succesive ai o deplasare de dou pozitii (D 1 = 1) pe un nivel de a a nt a multiplexoare, apoi cuvntul rezultat se aplic pe urmtorul nivel de multiplexoare a a a unde se realizeaz o deplasare de patru pozitii (D 2 = 1), deci la ieire se obtine o a s deplasare cu 6 pozitii. plus, un nivel numai cu o singur valoare de deplasare, In a din cele n posibile se poate realiza numai cu multiplexoare nMUX2:1, iar aplicarea bitilor cuvntului de intrare la intrrile multiplexoarelor MUX2:1 se face dup o regul a a a a foarte simpl. Pentru nivelul format din nMUX2:1, comandat de bitul de control a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

299

D2 (unde se realizeaz deplasarea cu 4 pozitii, D 2 22 ), bitul i din cuvntul de intrare a a se aplic la intrarea de date 0 a multiplexorului i precum i la intrarea 1 de date a a s multiplexorului i + 4 dac deplasarea este stnga, ori la intrarea 1 de la multiplexorul a a i 4 dac deplasarea este la dreapta. La acest nivel de deplasare comandat de D 2 , a pentru D2 = 0 cuvntul de intrare va obtinut la ieire fr deplasare (deplasare a s aa zero, 0 22 ), iar pentru D2 = 1 la ieire se obtine cuvntul de intrare deplasat cu s a patru pozitii, 1 22 = 4. O structurare pe trei niveluri succesive de cte 8 M U X2 : 1 a pentru un cuvnt de 8 biti este prezentat Figura 2.71-a. Pentru un cuvnt de a a n a control D = 101 primul nivel va efectua o deplasare cu D 0 20 = 1 pozitie, al doilea nivel o deplasare cu D1 21 = 0 pozitii, iar ultimul nivel o deplasare cu D 2 22 = 4 pozitii. total 1+0+4=5 pozitii. In
8 Deplasare D02 0 sau 0x2 0 Deplasare D12 1 sau 0x2 1 Deplasare D22 2 sau 0x22 a) X D0 x3 y3 T03 T13 T23 T33

8 MUX 2 :1 8 8 MUX 2 :1 8 8 MUX 2 :1

x2

y2

D1

x1

T02

T12

T22

T32

y1

D2

x0

T01

T11

T21

T31

y0

Y i+D =X i

Y b)

T00

T10

T20

T30

Cuvantul de control: T 33T23...T 03T02T01T00

Figura 2.71 Structuri de circuite de deplasare/rotire: a) pe baz de niveluri a succesive de nMUX2:1; b) pe baz de matrice de comutatie. a Adncimea circuitului de deplasare D CDD/D (n) cu niveluri succesive este egal cu a a numrul de niveluri de multiplexoare log 2 n, D CDD/S (n) O(log n) i este mai mare a s dect la structurarea anterioar unde era constant i egal cu D CDD/S (n) = 4, iar a a as a fan-out-ul unui semnal de bit, ce se aplic la intrarea unui nivel format din nMUX2:1, a este egal cu doi indiferent de lungimea cuvntului de deplasat, schimb, fan-out-ul a n unui bit Di , din cuvntul de control, rmne tot n. Dimensiunea circuitului este: a a a S CDD/S (n) = log2 n n SM U X2:1 = 4 n log2 n O(n log n) rezultnd produsul dimensiune-adncime O(n log 2 n) a a n S CDD/S (n) D CDD/S (n) = 4 n log2 n log2 n O(n log 2 n) produs care este mai mic dect O(n2 log n) al variantei anterioare de structurare pe a un singur nivel a circuitului de deplasare: SCDD/S (n) DCDD/S (n) > S CDD/D (n) D CDD/S (n)

300

2.5. CLC PENTRU FUNCTII NUMERICE

Aceast relatie admite aceeai interpretare, care s-a dat la analiza relatiei 2.8 ceea ce a s n privete corelarea s ntre adncime i dimensiune cnd se caut un circuit de vitez mai a s a a a ridicat (sporul de vitez este mai mic dect creterea dimensiune circuistic). a a a s n n a Similar, se poate structura i un circuit rotitor din niveluri succesive de muls tiplexoare, ecare nivel urmtor realiznd rotatii cresctoare dup puterile lui doi, a a a a caracteristicile de adncime i dimensiunea sunt aceleai cu cele deduse anterior. a s s
P 4Rotatie dreapta (S2S1S0=100) P 3Rotatie stanga (S2S1S0=111) P 2Deplasare logica stanga (S S1S0=010) 2 P 1Deplasare aritmetica dreapta (S2S1S0=001) P 0Deplasare logica dreapta (S S1S0=000) 2 x2 x3 MUX 6 x3 x3 0 8:1 x1 x2 x2 x3 MUX 5 8:1 MUX 4 8:1 MUX 3 8:1 MUX 2 8:1 MUX 1 8:1 MUX 0 8:1 S2 S1 S0 y1

Matricea de comutatie 4x4

y3

x0

x1

x1

x3

x3

y2

x0

x0

x3

x3

x2

x2

x2

x2

x1

x1

x1

x1

y0

x0

x0

x0

x0

1 2 3 DCD 2:4 D1 D0

Figura 2.72 Structurarea unui circuit shifter de 4 biti pe baza unei matrice de comutatie 4 4 i a unui sistem de selectare secvential 7MUX8:1 s a Circuitul general care poate implementa cele mai multe procesri asupra unui ir de a s biti (deplasare logic dreapta/stnga, rotatie stnga/dreapta, deplasarea aritmetic a a a a stnga/dreapta, inversarea ordinii, amestecare, extragere de biti etc.) este matricea a de comutatie, Figura 2.71-b. ecare nod ij al unei matrice de comutatie nn ex In ist un element de comutatie care conecteaz coloana i la linia j, deci ecare coloan a a a i (linia de intrare xi ) poate conectat la oricare linie de ieire y j . Ca element de a s comutatie poate utilizat poarta CMOS de transmisie sau un tranzistor de trecere a (uzual nMOS). Dezavantajul principal pentru o astfel de matrice de comutatie este

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

301

numrul mare, n2 , de conexiuni individuale de comand care trebuie aplicate la ela a ementele de comutatie din cele n2 noduri (un cuvnt de control cu lungimea de n2 a biti). cazurile particulare, cnd se implementeaz pe matricea de comutatie doar In a a un singur tip de procesare (o singur operatie), numrul de comenzi individuale se a a restrnge. Pentru o matrice 3232 utilizat, de exemplu, doar pentru rotire stnga vor a a a necesare numai 32 de comenzi individuale corespunztoare distantelor de deplasare a cu 0, 1, 2, ..., 30, 31 pozitii. Pentru o rotire stnga cu D pozitii vor comandate a elementele de comutatie din n noduri astfel alese at un bit de pe coloana i s nc a e mapat pe linia j = i + D; rezult c pentru toate tranzistoarele din nodurile a a i, i + D, i = 0, 1, ..., 31 portile vor cablate mpreun i comandate cu semnalul a s obtinut la ieirea unui decodicator cnd pe intrarea acestuia se aplic mumrul s a a a D (D = 0, 1, ..., 30, 31) binar. Restrngerea doar la un singur tip de operatie pe n a matricea de comutatie reduce numrul de comenzi la n, dar semnalul cablat pentru a ecare dintre aceste comenzi trebuie s asigure un fan-out egal cu n. a Totui, exist posibilitatea ca pe o matrice de comutatie, dei cablat doar pens a s a tru o anumit operatie, s poat realizate i alte operatii prin modicare deja a a a s n exterior a cuvntului care se aplic la intrare, ca Figura 2.72, un astfel de circuit a a n este referit ca shifter (Barrel Shifter). Acest circuit shifter contine o matrice de comutatie compus din 4 4 porti CMOS de transmisie care este cablat doar pentru a a realizarea deplasrilor dreapta cu 0, 1, 2, 3 pozitii, prin valorile cuvntului de control al a a deplasrii, D1 D0 , egale respectiv cu: 00, 01, 10, 11 (aplicate la intrarea unui DCD2:4). a Dar, la intrarea matricei se aplic pentru ecare tip de operatie, realizat de shitfter, a a un cuvnt obtinut deja prin modicarea cuvntului de intrare x 3 x2 x1 x0 . Fiecare a a cuvnt, modicat i a s nscris unul din porturile P 0 , P1 , P2 , P3 , P4 , printr-un sistem n de selectare compus din 7MUX8:1, este selectat prin cuvntul S 2 S1 S0 i aplicat la a s intrarea matricei de comutatie. Deci, cuvintele de control S 2 S1 S0 i D1 D0 deter s min, primul, tipul de operatie, iar al doilea, numrul de pozitii de deplasare. Acest a a shifter poate realiza urmtoarele operatii: deplasare logic dreapta/ stnga, rotatie a a a dreapta/stnga i deplasare aritmetic dreapta. Deoarece la ecare MUX8:1 mai exa s a ist trei intrri de date neutilizate se mai pot selecta a trei porturi (nedesenate a a nc n gur) care se poate introduce cuvntul x 3 x2 x1 x0 modicat pentru implementarea a n a a a trei operatii. nc

2.5.5
2.5.5.1

Unitatea Aritmetic i Logic, ALU as a


Calea de date

Sistemele digitale de calcul, att din punct de vedere al proiectrii i realizrii lor a a s a ct i din punct de vedere al tratrii didactice, pot organizate/compuse din dou a s a a prti, denumite foarte general, calea de date i calea de control (vezi Figura 3.14). a s calea de date se realizeaz operatii de tip logic sau aritmetic asupra cuvintelor In a binare (operanzi), iar calea de control selecteaz operatia care se efectueaz calea a a n de date i pentru operatia selectat se comand etapele de realizare. s a a Organizarea unei posibile ci de date este prezentat Figura 2.73-a. Aceast cale a a n a de date contine, pentru realizarea conexiunilor vederea transferurilor, trei magis n trale, dou pentru operanzii surs A, B i una pentru operandul rezultat R. Operanzii a a s surs i operandul rezultat (destinatie) sunt stocati as ntr-un bloc de registre (echiva-

302

2.5. CLC PENTRU FUNCTII NUMERICE

lentul zic al notiunii de port). Selectarea unui port (operand) pentru nscrierea continutului su pe o magistral surs se realizeaz cu un cuvnt de selectare S A sau a a a a a SB aplicat unui grup de multiplexoare, care compun un bloc de selectare a datelor cu o structur ca Figura 2.36-b. aceast cale de date ecare bloc de selectare a n In a este compus din nMUX16:1, deoarece se consider c blocul de registre contine a a 16 porturi cu lungimea de n biti, iar selectarea acestora se realizeaz prin cuvintele a de selectare de patru biti SA = SA3 SA2 SA1 SA0 , SB = SB3 SB2 SB1 SB0 . Inscrierea operandului rezultat, de pe magistrala rezultat R, ntr-un port destinatie se real izeaz prin intermediul unui bloc secvential de distributie selectat prin cuvntul de a a selectare SD = SD3 SD2 SD1 SD0 ( acest caz blocul de distributie este constituit din n nDMUX1:16). Intr-o cale de date este absolut necesar o unitate logico-aritmetic, ALU a a (Arithmetic Logic Unit) i, uneori, aceasta este inseriat cu un circuit de deplasare s a (barrel shifter). Unitatea logico-aritmetic efectueaz o operatie asupra celor doi a a operanzi A, B aplicati, prin cele dou magistrale surs, la intrrile sale i genereaz a a a s a operandul rezultat O care, nainte de a aplicat pe magistrala rezultat R, poate modicat circuitul de deplasare prin: deplasri aritmetice/logice, stnga dreapta, n a a rotiri, extrageri de biti sau gupuri de biti. Valoarea de deplasare shifter este n prescris prin cuvntul de control D care acest caz are 5 biti D 4 , D3 , D2 , D1 , D0 , a a n deoarece se consider lungimea de cuvnt procesat este egal cu n = 32. a a a
Magistrala sursa B Magistrala sursa A n SA n MUX 16 : 1 n Bloc de registre (16 porturi) (P 1,P 2,...,P 14,P 15) SB n n MUX 16 : 1 n n n CR EQ Z P OV SG Fanioane B A

A n1 A 0

Bn1 B0 F2

Unitatea Aritmetica si Logica (ALU) O n D4 D1 D0

F1 F0

SD a) Cod operatie b)

n DMUX

1:16

Circuit de deplasare (Barrel shifter) Magistrala rezultat R n Selectare sursa B Selectare destinatie D Valoare deplasare R n

n Selectare sursa A

s/d=1, stanga s/d=0, dreapta sf/r=1, shiftare sf/r=0, rotire

F 2 F 1 F 0 SA SA SA SA SB SB SB SB SD SD SD SD D4 D3 D2D1 D0 s/d sf/r 3 2 1 3 2 1 0 3 2 1 0 0

Figura 2.73 Calea de date: a) organizare posibil a unei ci de date cu trei a a magistrale; b) formatul binar al cuvntului de comand a unei operatii calea de a a n date (instructiune cod main). n s a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

303

Proiectarea unei ALU pornete de la nivelul arhitectural al acesteia, adic de s a ,, ,, la ceea ce vede un utilizator/programator. Se vede interfatarea/conectarea cu celelalte elemente din calea de date prin intrri i ieiri. Intrri la calea de date a s s a sunt cele dou cuvinte de pe magistrala A i B i bitii de control pentru operatia de a s s efectuat. Numrul operatiilor pe care le poate realiza o unitate logico-aritmetic este a a de la cteva pn la zeci; organizarea din gur se pot realiza doar opt operatii a a a n a deoarece cuvntul de control are numai 3 biti F 2 , F1 , F0 . a Ieirile din ALU sunt: cuvntul rezultat O cu lungimea de n biti i semnalele s a s indicatorii de conditii (care nscriu anumite fanioane/ag-uri, bitii de conditii). Indicatorii de conditii specic anumite relatii a ntre cei doi operanzi sau anumite caracteristici valorice ale operandului rezultat. Se poate introduce un indicator pentru oricare conditie dac este necesar a utilizat evaluarea corectitudinii operatiei a a a n efectuate sau pentru conditionarea operatiilor urmtoare. Ca exemplicare, enu a merm ase din bitii de conditii cei mai des utilizati: a s CARRY(CR) este bitul care indic depirea de capacitate la reprezentarea nua as merelor ntregi pozitive. Intr-un sistem de calcul exist o lungime maxim n a a a unui cuvnt cu care se poate opera. Pentru o lungime mai mare nu exist a a suportul zic de a reprezentat. Rezult c se poate opera numai cu numere a a a care pot reprezentate cu cei n biti. O operatie sau un numr care necesit a a mai mult dect n biti genereaz o depire de capacitate. Bitul CR are valoarea a a as transportului urmtor Cn1 din cuvntul de ieire, adic de la rangul n 1 la a a s a rangul n, de la pozitia n la n + 1 (care nu exist). a EQUAL(EQ) este bitul care indic identitatea celor dou cuvinte A i B. Valoarea a a s sa se genereaz prin porti NXOR, Ai Bi , asupra ecrei pereche de biti care a a apoi se colecteaz a ntr-o poart AND. a ZERO(Z) este bitul care indic faptul c rezultatul operatiei este un cuvnt compus a a a din n zerouri. Valoarea sa se genereaz prin colectarea tuturor bitilor cuvntului a a rezultat ntr-o poart OR. a PARITY(P) este bitul care indic paritatea sau imparitatea cuvntului rezultat a a dac este interpretat ca numr. Valoarea sa este identic cu valoarea bitului de a a a rang zero al cuvntului O. a OVERFLOW(OV) este bitul de depire de capacitate la reprezentare numerelor as cu semn. reprezentarea numerelor cu semn ( complement fata de 1, In n n complement fata de 2, mrime i semn) bitul de semn (bitul cu indice n 1) n a s are valoarea 1 pentru un numr negativ i valoarea 0 pentru un numr poza s a itiv. Depirea de capacitate, Cn2 , apare ca un transport de la bitul cel as mai semnicativ al numrului (bitul cu indicele n 2) la bitul de semn i a s dac bitul de semn indic o operatie eronat (de exemplu adunarea a dou a a a a numere pozitive genereaz un numr negativ). Un algoritm simplu, care dea a termin existenta depirii la numere cu semn reprezentate complement a as n fata de doi, este: neidentitatea dintre valoarea transportului C n2 de la On2 la On1 i valoarea transportului Cn1 generat de la bitul de semn On1 s (Cn1 = Cn2 ). consecinta, valoarea sa se calculeaz simplu printr-o poart In a a XOR, OV = Cn1 Cn2 .

304

2.5. CLC PENTRU FUNCTII NUMERICE

SIGN(SG) este bitul care indic semnul cuvntului rezultat, O, cnd este interprea a a tat ca numr cu semn, SG On1 . a Se xeaz pentru ALU din gur codurile de selectare i mnemonicile operatiilor a a s corespunztoare felul urmtor: a n a F2 F1 F0 = 000, AND (produsul logic); Oi = Ai Bi , i = 0, 1, ..., n 1 F2 F1 F0 = 001, OR (sum logic); Oi = Ai + Bi , i = 0, 1, ..., n 1 a a F2 F1 F0 = 010, TFM (trecere fr modicri); O = A aa a F2 F1 F0 = 011, DCR (decrementare); O = A 1 F2 F1 F0 = 100, XOR (sum modulo 2); Oi = Ai Bi , i = 0, 1, ..., n 1 a F2 F1 F0 = 101, ADD (adunare modulo 2n , operanzii sunt numere ntregi); O = A + B F2 F1 F0 = 110, SUB (scdere modulo 2n , operanzii sunt numere a ntregi); O = A B F2 F1 F0 = 111, INC (incrementare); O = A + 1 Operanzii surs sunt referiti prin numrul de port din care se citesc i sunt selecti a a s at prin cuvintele SA i SB , iar operandul rezultat este referit prin numrul portului s a destinatie care se n nscrie, selectabil prin cuvntul S D (cele 16 porturi sunt notate a cu P1 , P1 , ..., P14 , P15 ). Comanda cii de date pentru realizarea unie operatii este descris de o instructiune a a care are urmtoarea form ( limbaj de asamblare): a a n MNEMONIC OPERATIE PD , PS1 , PS2 ; PD (PS1 OPERATIE PS2 )

cu urmtoarea semantica: asupra operanzilor surs din porturile surs P S1 i PS2 se a a a s efectueaz operatia OPERATIE iar rezultatul se a nscrie portul destinatie P D . De n exemplu, pentru efectuarea operatiei de adunare ntre operanzii din porturile P 13 i s P7 , iar operandul rezultat s e a nscris portul P 5 , se scrie urmtoarea instructiune n a limbaj de asamblare: n ADD P5 , P13 , P7 (2.27)

Instructiunea din limbaj de asamblare este convertit (asamblat), folosind co a a durile operatiilor i codurile cuvintelor de selectare din calea de date, s ntr-un cuvnt a binar care comanda efectuarea operatiei respective calea de date. Formatul acestui n cuvnt reprezentat Figura 2.73-b este compus din urmtoarele 7 subcmpuri: a n a a 1. codul operatiei F2 F1 F0 2. codul portului surs A: SA3 SA2 SA1 SA0 a 3. codul portului surs B: SB3 SB2 SB1 SB0 a 4. codul portului destinatie D : SD3 SD2 SD1 SD0

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

305

5. valoarea deplasrii D3 D2 D1 D0 a 6. s/d, deplasarea stnga s = 1, deplasarea drepata d = 0 a 7. sf /, shiftare sf = 1, rotatie r = 0. r Pentru instructiunea anterioar (ADD P5 , P13 , P7 ),introducnd ecare cmp a a n a codul corespunztor, rezult urmtorul cuvnt binar de comand (instructiune a a a a a n limbaj/cod main), scris cu spatii s a ntre subcmpuri: a 101 1101 0111 0101 0000 0 0

Acest cuvnt de comand, prin bitii si ecare subcmp de biti aplicat pentru a a a a comand la elementul corespunztor din calea de date realizeaz calea de date a a a n procesarea continut instructiunea (dat limbaj de asamblare) din relatia 2.27. a n a n 2.5.5.2 Organizarea i implementarea unei uniti aritmetic i logic s at as a

Dup denirea arhitecturii ALU, contextul unei ci de date, se trece la stabilirea a n a organizrii interne a acesteia, adic la alegerea acelor prti componente care pot reala a a iza toate functiile denite prin arhitectur. Exist diferite prti componente/blocuri a a a care pot realiza aceeai functie, ceea ce s nseamn c pot mai multe variante de a a realizare intern, deci pentru aceeai arhitectur pot exista mai multe organizri. a s a a Elaborarea unei organizri, care s asigure suport pentru toate operatiile efectuate a a de ALU poate gndit dou variante. a a n a prima variant se concepe ALU ca o asamblare de blocuri/circuite specializate, In a Figura 2.74-a. Fiecare bloc realizeaz o operatie din repertoriul ALU asupra cuvina telor de intrare. Blocul circuitelor aritmetice, nCA, realizeaz operatiile de adunare, a scdere, incrementare/decrementare primind deja calculate, pentru ecare pereche de a biti Ai i Bi , valorile pentru sum modulo de la blocul nXOR i valorile transpor s a s turilor anticipate Ci1 de la circuitul de generare a transporturilor anticipate, CGTA. Transporturile anticipate sunt calculate pe baza semnalelor intermediare de generare gi i propagare produse pi de blocurile nAND i nOR, care asigur i operatiile s s as logice corespunztoare ALU. a n Aceste blocuri specializate opereaz simultan dar numai ieirea unuia este seleca s tat, prin blocul de multiplexoare nMUX8:1, la ieirea ALU, prin aplicare codului a s operatiei pe intrarea de selectare F2 , F1 , F0 . Valorile bitilor de conditii se determin a uor, din bitii cuvntului de ieire, conform denitiilor date mai sus. De fapt, aceast s a s a organizare poate asimilat ca un bloc de selectare secvential a datelor pe baz de a a a multiplexoare, Figura 2.36-b. Dimensiunea unei ALU organizat aceast modalia n a tate apare ca o sum a dimensiunilor blocurilor specializate i a blocului multiplexor a s de selectare, ultimul avnd ponderea cea mai ridicat valoarea dimensiunii. a a n a dou variant se concepe ALU ca o punere paralel a n uniti logicoIn a a n at aritmetice elementare, ALUE. Fiecare ALUE constituie o felie (slice) din ALU care realizeaz toate operatiile din repertoriul ALU, dar numai pentru cuvinte de 1 a bit. Printr-o optimizare a celulei ALUE, cu aceast organizare, se poate obtine o a dimensiune mai redus dect la prima variant de organizare. a a a La ambele variante de ALU, deoarece se compun din blocuri cu adncime cona stant, performantele de vitez pot a a mbuntite prin modul de realizare al blocua at rilor CGTA. Se va prezenta continuare structuri de ALUE. n

306
A B n n n n OR 32 F2 F1 F0 CR Z OV EQ P SG n n A n1 Bn1 Bn2 A n2 pi n n n n

2.5. CLC PENTRU FUNCTII NUMERICE

n n CA

n AND 32 gi

n XOR 32

C i1

F1 F0 CGTA

n MUX 8:1 O n B1 B0 gi pi Ci n

a) B A F2 F1 F0

A1

A0

ALU n1 ALU n2 O CR Z OV

ALU

ALU 1 ALU 0

CGTA

b)

EQ

SG

Figura 2.74 Variante de organizare a unei ALU: a) organizare ca o asamblare de blocuri/circuite specializate ntr-o structur de selectare secvential de date pe a a baz de multiplexor; b) organizare din n felii de uniti logico-aritmetice de un bit a at conectate paralel. n

2.5.5.3

Structurarea unei ALU elementare

Functiile unei uniti logico-aritmetice elementare, ALUE pot realizate cu aju at torul a diferite structuri de circuite. Este ales un anumit circuit de ALUE functie n de performantele dorite sau modalitatea de implementare. Implementarea se poate face oricare variant expus acest capitol (cu porti logice, DCD + porti logice, n a a n multiplexoare, ROM, PLA; cu componente discrete sau integrate). Exist o multitua ,, dine de trasee realizarea unui sistem digital. Pentru functiile pe care trebue s le n a realizeze un sistem se poate deni o anumit arhitectur. Aceast arhitectur poate a a a a sustinut de mai multe organizrii i la rndul ei, o organizare poate implemen a a s a tat prin mai multe structuri de circuite. Ca exemplicare, pentru organizarea ALU, a compus din ALUE, se vor prezenta dou modaliti de structurare pentru celula de a a at logico-aritmetic: ca un circuit logic combinational implementat prin porti logice i a s ca un circuit realizat pe un ROM sub forma unui tabel, LUT. O celul de unitate logico-aritmetic poate gndit ca o scalare la lungimea de a a a a cuvnt de 1 bit a unei organizri ALU de n biti, de exemplu, pornind de la varianta de a a organizare din Figura 2.74-a. acest sens, o variant de circuit ALUE este cea din In a Figura 2.75-a care poate privit ca o structur de selectare secvential a datelor pe a a a baz de multiplexor, vezi Figura 2.36-b, dar din porturi de un bit. Operatiile realizate, a dar la nivel de un bit, sunt aceleai ca cele denite sectiunea anterioar (Figura s n a 2.74-a) i, de asemenea, sunt utilizate aceleai coduri pentru cuvntul F 2 F1 F0 de s s a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

307

Adresa Continut F 2 F 1 F 0 A i Bi C i1 Oi C i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n n A n1
3 1

Ai

Bi "1" F2 00 01 10 11 MUX 4 : 1 F1 F0 C i1 pi gi 001 100 011 101 110 111 F2 F1 F0

XOR

ADD b) A B

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

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

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

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

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

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

TFM 010 000 MUX 8 : 1 a) Oi

Bn1
1

A n2
3 1

Bn2
1

A1
3 1

B1
1

A0
3 1

B0
1

3 0

F2 F1 F0

c) A n n

C n1

LUT n1 64 2 bit On1

C n2

LUT n2 64 2 bit On2 n O

C2

LUT 1 64 2 bit O1

C1

LUT 0 64 2 bit O0

B A n1
3 1

Bn1
1

A n2
3 1

Bn2
1

A1
3 1

B1
1

A0 3

B0 F 2 F1 F0 3 1 1 CGTA 0

C n2 LUT n1 64 1 bit On1 d) LUT n2 64 1 bit

C n3 LUT 1 64 1 bit O n O1

C0 LUT 0 64 1 bit O0

On2

Figura 2.75 Structuri de uniti logico-aritmetice elementare ALUE: a) at ALUE structurat ca un circuit de selectare de date pe baz de multiplexor; b) tabelul a a de adevr pentru operatiile XOR i ADD implementate LUT; c) ALU structurat a s n a pe baz de LUT-uri cu transport progresiv; d) i cu transport anticipat. a s

308

2.5. CLC PENTRU FUNCTII NUMERICE

selectare la ieirea MUX8:1 a unei operatii logice sau aritmetice. Pentru operatiile de s produs logic, sum logic i sum modulo 2 sunt introduse circuit respectiv portile a as a n AND, OR i XOR, selectate respectiv prin codurile 000,001 i 100. Codul de selectare s s 010 las cuvntul A s treac nemodicat, TFM. Pentru aplicatiile aritmetice care a a a a utilizeaz i transportul anterior Ci1 (DCR - 010, ADD - 101, SUB - 110, INC a s 111) este introdus o a dou poart XOR. Cu un al doilea multiplexor 4 : 1, selectat a a a potrivit tot cu bitii F1 , F0 , se genereaz pentru bitul Bi urmtoarele valori: Bi , Bi , 0 a a i 1. Incrementarea, INC, se realizeaz ca o sumare cu unu A + B + C 1 = A + 0 + 1, s a deci pentru Bi se genereaz valoarea 0 prin inversorul comandat XOR cnd F 2 = 1. a a Pentru decrementare, DCR, valorile lui Bi i C1 trebuie s e inversate fata de s a incrementare deci se genereaz pe inversorul comandat B i = 1 cnd F2 = 0. Portile a a AND i OR genereaz i variabilele intermediare g i i pi care se aplic circuitului s a s s a de generare a transportului anticipat, CGTA, neinclus acest desen. Ponderea n n dimensiunea ALUE este determinat de partea de selectare, adic de multiplexoare. a a Pentru implementarea ALUE sub forma unui LUT nscris ntr-un ROM se pornete s de la tabelul de adevr a ecrei operatii ce trebuie realizat. Variabilele tabelului a a a sunt intrrile ALUE adic intrrile de selectare F 2 , F1 , F0 , perechea de biti Ai , Bi a n a a i transportul anterior Ci1 , toate acestea formeaz un cuvnt de 6 biti care va s a a utilizat ca un cuvnt de adresare la circuitul ROM pe care se implementeaz LUT i a a (ecare LUT va avea 64 de adrese). Bitii nscrii la o locatie din ROM sunt cei doi biti s de ieire din ALUEi : Ci i Oi , care acum sunt generati din LUTi . Figura 2.75-b s s In este prezentat tabelul de adevr numai pentru implementarea operatorilor AND i a s XOR. ,, Implementarea unei ALU cu felii , constnd din LUT-uri a nscrise circuite ROM n cu capacitatea de 64 2, biti este reperezentat Figura 2.75-c. Structurarea ALU a n este cu transport progresiv, bitul de transport C i citit din LUTi se aplic la LUTi+1 , a deci un timp de calcul O(n). Se poate reduce acest timp de calcul pe ALU n n O(1) dac se structureaz ca Figura 2.75-d. Transportul urmtor C i nu se mai a a n a citete din ROMi (capacitatea ROM-ului pentru un LUT se reduce la 64 1bit) ci se s genereaz de catre un CGTA pe baza tuturor perechilor de biti A i i Bi . a s Ca unitate logico-aritmetic de patru biti poate utilizat i circuitul MSI 74xx181 a s reprezentat Figura 2.76-b, iar operatiile realizate sunt date tabelul din Figura n n 2.76-a. Prin cuvntul de cod F3 F2 F1 F0 se poate selecta una din cele 16 operatii a aritmetice asupra celor doi operanzi A = A3 A2 A1 A0 i B = B3 B2 B1 B0 cnd valoarea s a semnalului de control este M = 0, respectiv se poate selecta una din cele 16 operatii logice cnd M = 1. expresiile functiilor din acest tabel produsul logic i suma a In s logic sunt notate prin simbolurile i + iar pentru adunare i scdere sunt folosite a s s a cuvintele plus i minus. Operatiile logice (M = 1) sunt realizate numai s ntre perechile Ai i Bi (i = 0, 1, 2, 3), nu exist semnal de transport de intrare C 1 = 0, de asemenea s a nu exist transporturi a ntre ranguri. schimb operatiile aritmetice (M = 0) pe In n lng perechile Ai i Bi trebuie considerat transportul de intrare C1 i transporturile a a s s ntre ranguri. Structura intern a circuitului 74xx181 este realizat pentru transport a a anticipat. Atentionm faptul c semnalele de intrare A 3 L A0 L, B3 L B0 L i cele de a a s n a ieire O3 L 0 L sunt active starea L. Se poate ca la circuitul 74xx181 s se s considere aceste semnale active starea H dar atunci expresiile functiilor date n n tabelul anterior se modic in felul urmtor. Ca circuit logic, M = 1, la aplicarea a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

309

Intrari de selectare F3 F2 F1 F0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 a)

Functii Aritmetice ( M=0 ) Logice ( M=1 ) =A minus 1 plus C 1 =A =A B minus 1 plus C1 =A+B =AB minus 1 plus C1 =A+B =1111 plus C 1 =1111 =A plus (A+B) plus C 1 =AB =AB plus (A+B) plus C 1 =B =A minus B minus 1 plus C1 =A+B =A+B plus C 1 =A+B =A plus (A+B) plus C 1 =AB =A+B =A plus B plus C 1 =AB plus (A+B) plus C 1 =B =A+B plus C 1 =A+B =A plus A plus C 1 =0000 =AB plus A plus C 1 =AB =AB =AB plus A plus C 1 =A plus C in =A

6 5 4 3 8 7 2 1 23 22 21 20 19 b) 18 13 3 4 1 2 14 15 5 c) 6

F0 F1 G F2 P F3 M C 1 A=B A0 B0 74x181 O0 A1 O1 B1 O2 A2 O3 B2 A3 C out B3 C 1 G G0 P0 P G1 P 1 74x182 G2 C1 P2 C2 G3 C3 P3

17 15 14 9 10 11 13 16 10 7 12 11 9

A 15 A 14 A 13 A 12 B15 B14 B13 B12 74xx181 ALU 3 G G3 G d) P P3 P O1512

A 11 A 10 A 9 A 8 B11 B10 B9 B8 74xx181 ALU 2 G C3 P

A7 A6 A5 A4 B7 B6 B5 B4 74xx181 ALU 1 G C2 P

A3 A2 A1 A0 B3 B2 B1 B0 C in 74xx181 ALU 0 G C1 P

C 1

C 1

C 1

C 1

G2 P 2

G1 P 1

G0 P 0 C 1

74xx182 O118 O74

O30

Figura 2.76 Realizarea unitilor logico-aritmetice pe baz de circuite stanat a dard: a) tabelul de adevr i ( b) reprezentarea circuitului unitate logic-aritmetic a s a a de patru biti 74xx181; c) reprezentare circuitului pentru calculul transportului an ticipat, 74xx182; d) structurarea unei ALU de 16 biti prin punere paralel a 4 cir n cuite 74xx181 iar calculul transportului anticipat se realizeaz exterior cu circuitul a n 74xx182.

310

2.5. CLC PENTRU FUNCTII NUMERICE

unui cod de selectare F3 F2 F1 F0 se obtine o functie logic dual (relatia 1.2) celei care a a este indicat tabel pentru acel cod de selectare. schimb, ca circuit aritmetic, a n In M = 0, la aplicarea unui cod de selectare se obtine o functie aritmetic, dar aceasta a este diferit fata de cea dat tabel pentru acel cod de selectare (este necesar a se a a n cunoate documentatia tehnic a circuitului). s a Exist i dou ieiri G L i P L care exprim o generare i o propagare peste toate as a s s a s cele patru ranguri ale circuitului 74xx181 i care se calculeaz conform relatiilor 2.25 s a i 2.26 astfel: s G L = (g3 + p3 g2 + p3 p2 g1 + p3 p2 p1 g0 ) P L = p 3 p2 p1 p0 (2.28)

Aceste dou ieiri permit extensia, implementarea de ALU, pentru cuvinte a s n multiplu de patru biti prin utilizarea de circuite 74xx181. Considernd ecare circuit a 74xx181 numai ca o pereche de biti, pentru care sunt determinate valorile variabilelor intermediare G i P , se pot calcula cu aceste variabile intermediare valorile de transs port anticipat pe un grup de circuite. De exemplu, pentru un grup de patru circuite ALU (ALU0 ,ALU1 ,ALU2 ,ALU3 ) de patru biti ecare, pe baza perechilor de vari abile intermediare de la ecare circuit (G0 , P0 ),(G1 , P1 ),(G2 , P2 ),(G3 , P3 ) precum i a s transportului de intrare C1 , se pot calcula valorile de transport anticipat C 0 , C1 , C2 respectiv la intrrile de la ALU1 ,ALU2 i ALU3 . Pe baza relatiilor 2.25 i 2.26 pentru a s s C0 , C1 i C2 se obtin expresiile: s C0 = G0 + P0 C1 C1 = G1 + P1 G0 + P1 P0 C1 C2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C1 Circuitul MSI 74xx182, reprezentat Figura 2.76-c, calculeaz transporturile ann a ticipate C0 , C1 , C2 pentru un grup de patru uniti ALU. Acest circuit mai genereaz at a i o pereche (G, P ) de variabile intermediare pe un grup de patru uniti ALU, aceast s at a pereche ind necesar pentru calculul transportului anticipat exteriorul unui grup a n de patru circuite MSI 74xx182. O exemplicare de realizare a unei uniti logico-aritmetice de 16 biti pe baza at a 4 circuite ALU de 4 biti (74xx181) este prezentat Figura 2.76-d. Circuitul a n pentru calculul transportului anticipat 74xx182 calculeaz pe baza perechilor (G, P ) a de la ecare unitate logico-aritmetic (74xx181) valorile de transport anticipat pentru a ALU3 , ALU2 i ALU1 . Dar, unitatea logico-aritmetic se poate extinde de la 16 biti s a la 64 de biti, iar aceast structurare poate gndit ca ind format din 4 grupuri a a a a de cte 16 biti. exteriorul acestor patru grupuri de cte 16 biti se realizeaz, cu un a In a a circuit 74xx182, o cale pentru calculul transporturilor anticipate, necesare grupurilor ce contin rangurile de biti 31 16, 47 32, 63 48, pe baza perechilor G, P de grup generate de cele 4 circuite 74xx181 precum i a transportului initial C 1 . Deci, la s aceast ALU de 64 de biti exist exteriorul unui grup de patru circuite ALU, de a a n patru biti, o cale realizat cu un 74xx182 pentru calculul anticipat al transportului pe a grup. Apoi, exteriorul acestor patru circuite 74xx182 exist a o cale pe un alt n a nc 74xx182 pentru calculul anticipat al transporturilor ntre grupuri. total 16 circuite In ALU 74xx181 i 5 circuite pentru calculul transportului anticipat 74xx182. s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

311

2.6

PROBLEME

P2.1 Pentru un cuvnt de n biti, xn1 xn2 . . . x1 x0 , s se implementeze functia a a paritate f (=1 pentru un numr impar de biti 1, =0 pentru un numr par de biti 1 a a cuvnt) cu porti XOR2. ce conditii aceleai structuri de circuit, care se face n a In s n substitutia XOR2 N XOR2 calculeaz aceeai functie? a s P2.2 Pentru circuitele din gur s se deduc expresiile f 1 , f2 ,f3 si f4 , apoi s se a a a a construiasc tabelele de adevr. a a
A B C D a) A B C D b) A B f2 C B D c) A B C D d)

f1

f3

f4

P2.3

S se demonstreze echivalentele grace din gur. a a

P2.4 S se complementeze i s se aduc la forma minim expresiile logice urma s a a a a toare: a) f = [(AB)A] [(AB)B], functia A B exprimat prin operatorul NAND; a b) f = (A + B + C)(AB + CD) + BCD; c) f = (ABC + BCD) + (ACD + B C D + BCD). P2.5 S se minimizeze urmatoarele functii utiliznd diagrame V-K: a a a) f1 (A, B, C) = b) f2 (A, B, C, D) = c) f3 (A, B, C, D, E) =
7 0 (0, 2, 3, 4, 5, 7); 15 0 (0, 1, 4, 5, 9, 11, 13, 15); 31 0 (0, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 28).

Pentru punctele a) si b), s se exprime forma minim att ca sum de produse ct si a a a a a ca produs de sume. P2.6 S se minimizeze urmtoarele functii utiliznd diagrame V-K: a a a 7 a)F = ABC + AB C + ABC; b)F (A, B, C) = 0 (1, 3, 5, 6, 7); c)F (A, B, C, D) = ABC + AD + BCD; 15 d)F (A, B, C, D) = 0 (1, 3, 4, 5, 6, 9, 11, 12, 13, 14); 31 e)F (A, B, C, D, E) = 0 (0, 2, 8, 10, 16, 18, 24, 26); f )F (A, B, C, D) = A B CD + ABCD + ABCD + AB CD;

312
15

2.6. PROBLEME

g)F (A, B, C, D) = 0 (2, 3, 4, 6, 7, 10, 11, 12); 31 h)F (A, B, C, D, E) = 0 (0, 2, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19, 24, 25, 26, 27) P2.7 S se identice implicantii primi esentiali pentru urmtoarele expresii: a a 15 a) f (A, B, C, D) = 0 (1, 5, 7, 8, 9, 10, 11, 13, 15); 31 b) f (A, B, C, D, E) = 0 (5, 7, 9, 12, 13, 14, 15, 20, 21, 22, 23, 25, 29, 31). P2.8 Utiliznd diagrama V-K, s se arate c functia: a a a 15 f1 (A, B, C, D) = 0 (0, 2, 5, 7, 8, 10, 13, 15) 15 este negata functiei: f2 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14), 15 i este identic cu functia: f3 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14) s a P2.9 S se minimizeze urmtoarele functii utiliznd diagrame V-K: a a a 15 15 a) f (A, B, C, D) = 0 (2, 3, 4, 5, 13, 15) + 0 d(8, 9, 10, 11); 15 15 b) f (A, B, C, D) = 0 (1, 5, 7, 9, 13, 15) + 0 d(8, 10, 11, 14); 15 15 c) f (A, B, C, D) = 0 (0, 2, 4, 8, 10, 14) + 0 d(5, 6, 7, 12); 31 d) f (A, B, C, D, E) = 0 (1, 3, 4, 6, 9, 11, 12, 14, 17, 19, 20, 22, 25, 27, 28, 30)+ 31 + 0 d(8, 10, 24, 26); P2.10 Se consider functia: a 15 15 f (A, B, C, D) = 0 (3, 6, 11, 14, 15) + 0 d(2, 5, 12, 13) S se exprime ca o functie de trei variabile i ca o functie de dou variabile: a) a s a utiliznd tabelul de adevr al functiei; b) utiliznd diagrama V-K. a a a P2.11 Pentru functiile reprezentate diagramele V-K din gur s se scrie forma n a a minim. a
B f1 A
0 0 1 1

C C 1 f5

AB
00 0 1 01 11 10

AB CD
00 01 11 10

00

01

11

10

0 0

d 0

D d

1 d

d 1 f9

0 E E 0

0 E 1 1

d d d d

E E 0 1

B f2

A
0 0 1 1

C f6

AB
00 0 1 01 11 10

0 d

d C

1 d

E 1

d 1

B f3

A
0 0 1 1

C f7

AB
00 0 1 01 11 10

AB CD
00 01 11 10

00

01

11

10

0 1

C 0

0 D

1 0

d 1

d 1 f 10

F 0 0 d

0 0 0 0

0 0 1 d

d F 1 1

B f4 a)

A
0 0 1 1

C f8

AB
00 0 1 01 11 10

C 1 d

DE 1 DE d

P2.12 S se introduc variabile reziduu expresia coecientilor functiilor de la a a n problema P2.6, astfel at ecare functie s e numai dou variabile. Reduceti nc n a a numrul de variabile att folosind tabelul de adevr ct si diagrama V-K. Pentru a a a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

313

functiile de dou variabile rezultate din diagramele V-K s se scrie forma minim. a a a Pentru aceste forme minime s se compare rezultatele cu cele obtinute la problema a P2.6. P2.13 S se realizeze sinteza unui circuit convertor de cod din codul zecimal codicat a binar BCD 2-4-2-1 codul de aare pe matrice cu apte segmente. Matricea de apte n s s s segmente este TIL-312. Toate cele apte LED-uri au anodul alimentat comun de la s +5V. Un segment este luminat cnd pe catodul su este comandat potentialul logic a a ,, 0 . P2.14 Functionarea a dou motoare M1 i M2 este comandat de trei a s a ntreruptoaa re: S1 , S2 i S3 . Motorul M2 functioneaz tot timpul ct cele trei s a a ntreruptoare sunt a nchise. Motorul M1 functioneaz dac e S2 , e S1 (dar nu i simultan) sunt a a s nchise iar S3 este deschis.S se realizeze circuitul logic combinational care implementeaz a a aceast comand. a a P2.15 S se analizeze, utiliznd diagramele de timp ale semnalelor i diagramele a a s V-K, dac circuitul din gura (a) poate genera hazard static 1. cazul aparitiei a In hazardului, s se propun solutia de eliminare. a a
A B C G1 G2 G4 A AB G5 f B C f

G3

a)

b)

P2.16 S se implementeze functia: f (A, B, C, D) = 15 (1, 3, 4, 5, 7, 10, 11, 12, 14, 15) a 0 sub form OR-AND fr a produce hazard static. a aa P2.17 S se explice de ce circuitele care implementeaz mintermi pot produce a a hazard static 1 iar cele care implementeaz maxtermi pot produce hazard static 0. a P2.18 S se pun evidenta hazardul static pentru ecare din urmtoarele functii a a n a i s se determine un circuit care elimin hazardul i s a a s ndeplinete aceeai functie logic: s s a 15 a) f (A, B, C, D) = 0 (5, 7, 8, 9, 10, 11, 13, 15); 15 b) f (A, B, C, D) = 0 (5, 7, 13, 15); 15 c) f (A, B, C, D) = 0 (0, 2, 4, 6, 12, 13, 14, 15); d) f (A, B, C, D) = (A + B + D)(A + C + D)(A + B + C); e) f (A, B, C, D) = (A + B + D)(A + B + C + D)(A + C)(B + C); f) f (A, B, C, D) = B C D + ABC + BC. P2.19 S se determine dac circuitul din gura (b), de la P2.15, produce hazard a a static. caz armativ, s se modice structura astfel at s e eliminat hazardul. In a nc a P2.20 Pentru functia f (x2 , x1 , x0 ) = 0 (3, 5, 7) s se deduc diagrama de decizie a a binar redus (ROBDD). a a P2.21 Urmtoarea functie s se implementeze cu un numr minim de porti NAND. a a a f = ABD + ACD + BCD + ABC
7

314

2.6. PROBLEME

P2.22 S se realizeze o poart DAR care are patru intrri i dou ieiri cu simbolul a a a s a s grac din gura alturat. Functia realizat trebuie s e adevrat a a a a a a cnd statuarea valorilor variabilelor de intrare din primul A 1 a n f1 grup A1 , B1 sau din al doilea grup A2 , B2 se aplic sensul B1 a conjunctiei DAR. Privind simetria simbolului grac functia re- A 2 f2 alizat trebuie s e simetric raport cu variabilele A si B B a a a n 2 din ecare grup; de asemenea trebuie s e simetrice cele dou a a grupuri. Apoi, cu aceast poart DAR s se implementeze functia a a a 15 a a f (A1 , B1 , A2 , B2 ) = 0 (3, 7, 11, 12, 13, 14) cu o poart DAR plus o poart OR cu dou intrri. a a P2.23 Utiliznd numai 4 porti NAND cu 8 intrri s se implementeze un codicator a a a 16:4. Care sunt nivelurile active de semnal pentru intrri i pentru ieiri? a s s P2.24 Pe baza circuitului codicator prioritar cu 8 intrri 74XX148, , s se struca a tureze un codicator prioritar cu 16 intrri. a P2.25 S se implementeze un CLC la intrarea cruia se aplic un cuvnt M de a a a a opt biti i un cuvnt N de trei biti. Ieirea f a circuitului va activ cnd M este s a s a a multiplu de 2N . P2.26 S se implementeze un CLC la intrarea cruia se aplic un cuvnt M de a a a a 16 biti i un cuvnt N de 2 biti. Ieirea f a circuitului va activ cnd M este un s a s a a N multiplu de 22 . P2.27 Intr-un cuvnt de un byte X = x7 x6 x5 x4 x3 x2 x1 x0 s se determine cnd a a a exist doar un singur bit cu valoarea zero. a s s P2.28 S se proiecteze un CLC cu opt intrri Ii L i opt ieiri Oi L , i = 0, 1 . . . 7. a a n Circuitul genereaz numai ieirea Oi L = 0 care i este pozitia celui mai semnicativ a s bit activat din cuvntul de opt biti aplicat pe intrare. a P2.29 S se realizeze un CLC prin intermediul cruia 8 periferice sunt legate la un a a microprocesor (P ). La activarea unuia sau a mai multor periferice acest circuit va genera ctre P o cerere de a ntrerupere IRQ L i codul perifericului activat cu nivelul s cel mai ridicat de prioritate; nivelul de prioritate crete de la 0 la 7. Exceptie de la s aceast regul este numai cazul care sunt activate simultan mai multe periferice a a n n printre care sunt activate i perifericele 7 i 2, acest caz se genereaz catre P s s n a codul perifericului 2. P2.30 Utiliznd circuitul 74XX138, DCD3:8, s se realizeze o structur de DCD5:32. a a a P2.31 DCD3:8, P2.32 P2.33 [0, 7] P2.34 Urmtoarele functii: Y1 = 2x i Y2 = 22 s e implementate pe circuite a s a x ind un numr binar intervalul [000,111]. a n S se implementeze operatia: y = 2x1 + 2x2 , x1 , x2 [0, 7], x1 = x2 a S se realizeze un CLC care implementeaz functia y = 2 (x1 +x2 ) , x1 , x2 a a
x

Utiliznd circuitul 74LS138, decodicator 3:8, s se implementeze functia: a a f (A, B, C, D) = (0, 1, 3, 5, 7) P2.35 Utiliznd circuite 74LS138, decodicator 3:8 ,s se implementeze urmtoarele a a a functii: a) f1 (A, B, C) = (0, 2, 5, 7); b) f3 (A, B, C, D) = (0, 3, 5, 6, 9, 10, 11, 12, 13); c) f2 (A, B, C, D) = (2, 3, 4, 7); d) f4 (A, B, C, D) = (2, 3, 6, 7, 8, 9, 13, 14, 15).

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

315

P2.36 Implementati o celul sumator complet cu ajutorul unui circuit decodicator a 74LS138. P2.37 S se implementeze cu circuite 74LS138, DCD3:8, circuitul logic combinaa ional cu ieiri multiple denit de functiile: t s f1 = P 0 + P 3 + P 5 + P 7 f2 = P1 + P2 + P4 + P5 + P8 + P11 + P12 + P14 + P15 f3 = P3 + P4 + P6 + P12 + P14 + P15 f4 = P1 + P2 + P5 + P6 + P7 + P8 + P9 + P15 P2.38 Se pot implementa urmtoarele functii doar cu dou circuite integrate? a a f1 = A B C + ABC , f2 = A BC + ABC , f3 = ABC + ABC , f4 = AB C + ABC P2.39 Un circuit 74XX138 DCD3:8 este comandat pe intrile A,B,C cu semnalele a de ieire de la un numrtor asincron modulo 8. S se analizeze momentele cnd pe s aa a a ieirile circuitului pot apare glitch-uri. s P2.40 La celula sumator complet, implementat problema P2.36, se aplic a n a pe cele trei intrri A,B,C, locul semnalelor A i , Bi i Ci1 semnalele de ieire de a n s s la un numr asincron modulo 8. S se determine la care comutarea dintre strile a a a numrtorului asincron ieirile si i Ci1 ale celulei se pot genera glitch-uri. aa s s P2.41 Numai cu dou circuite 74XX138, DCD3:8, s se realizeze un DCD4:16. a a P2.42 S se determine functiile implementate pe urmtoarele circuite. a a
B C A B C
DCD2:4 O0 I1 O1 I0 O2 E O3 DCD2:4 O0 I1 O1 I0 O2 E O3
a)

f1 A
MUX2:1

MUX2:1

0 1

0 C

f3

0 1 C

0 0 1

MUX2:1

f2

C
b)

f4

P2.43 S se organizeze un MUX32:1 pe baza circuitelor: 74XX151 MUX8:1; a 74XX153 MUX4:1; 74XX139 DCD2:4. Toate aceste circuite au o intrare de validare G activ starea low; circuitul 74XX151 genereaz att ieirea negat ct i nenegat. a n a a s a a s a P2.44 S se realizeze o selectare de date de la patru porturi P 3 , P2 , P1 i P0 , ecare a s de patru biti, la o magistral. a P2.45 gur este schitat posibilitatea de sumare a unui operand cu lungimea In a a de k biti de la unul din porturile PA1,PA2,PA3,PA4 cu un alt operand de aceeai s lungime de la unul din porturile PB1,PB2,PB3,PB4 iar rezultatul este distribuit la unul din porturile destinatie PD1,PD2,PD3,PD4. S se structureze cele dou cir a a cuite de selectare de pe intrare i circuitul de distributie de pe ieire. S se scrie s s a cuvintele de selectare SA , BB , SD pentru urmtoarele transferuri: PA1+PB1PD1 a i PA2+PB4PD3. s 7 P2.46 Pentru functia logic, f (A, B, C) = 0 (0, 1, 3, 6, 7) s se realizeze o imple a a mentare:

316
PA1 PA2 PA3 PA4 SA k k k k k PB1 PB2 PB3 PB4 k k k k k S0

2.6. PROBLEME

SUMATOR S0 k+1 PD1 k+1 PD2 k+1 k+1 PD3 k+1 PD4

a) numai cu MUX 2:1; b) numai cu MUX 8:1; c) cu MUX 2:1 i MUX 4:1. s Considernd ca o msur a dimensiunii numrul de terminale (2 n + n + 1) ale unui a a a a MUX 2n : 1, s se determine dimensiunea pentru ecare dintre aceste implementri. a a P2.47 S se implementeze functiile: a f1 (A, B, C, D) = (0, 1, 3, 4, 7, 8, 10, 11, 15), f2 (A, B, C, D) = (3, 4, 5, 6, 13, 14, 15), f3 (A, B, C, D) = (0, 1, 4, 5, 6, 9, 12, 14) urmtoarele variante: a) numai cu MUX 2:1; b) numai cu MUX 4:1; c) numai n a cu MUX 16:1; d) cu MUX 2:1 i MUX 4:1 sau MUX 8:1. S se aprecieze dimensiunea s a implementrii prin numrul de circuite utilizate i numrul de terminale. a a s a P2.48 Fie functia f (A, B, C, D) = (3, 6, 11, 14, 15) + d(2, 5, 12, 13). S se a implementeze cu circuitul 74LS151, MUX 8:1. P2.49 Implementati cu circuite 74LS151, MUX 8:1 celula sumator complet. Prin introducerea unei variabile reziduu, s se realizeze o implementare i cu circuitul a s 74LS153, MUX4:1. P2.50 Fie functia f (A, B, C, D, E) = ABE + A BDE + ABCE + ACDE. S se a implementeze cu un circuit 74LS151, MUX8:1. P2.51 Utiliznd circuitul 74LS151 MUX8:1, s se implementeze functia: a a f (A, B, C, D, E) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31) Se va folosi intrarea de validare pentru una din variabilele reziduu. P2.52 S se implementeze functia: f (A, B, C, D, E) = ABE + A BDE + ABCE + a ACDE (prezentat i problema P2.50), utiliznd circuitele 74LS138 DCD3:8 i 74LS153 a s n a s MUX4:1. P2.53 S se implementeze functia: a f (A, B, C, D, E) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31) utiliznd circuitul 74LS138 DCD3:8 i circuitul 74LS153 MUX4:1. S se compare a s a structura obtinut cu implementarea problemei P2.51. a P2.54 S se implementeze ROM un convertor din codul binar 7 segmente a n n BCD. P2.55 Pentru problema P2.27 s se conceap o implementare pe circuit ROM. a a P2.56 S se implementeze pe un circuit ROM calculul ptratului numerelor cuprinse a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

317

intervalul [0,7]. n P2.57 Un sistem cu microprocesor cu o magistral de adresare de 10 biti are alocat a pentru cele patru periferice ale sale #0, #1, #2, #3 urmtoarele adrese: 3C0H, 3C1H, a 3C2H i 3C3H. S se realizeze variante de circuite de decodicare pentru aceste adrese. s a P2.58 Un sistem cu microprocesor cu o magistral de adresare de 16 biti are alocat a pentru cele patru periferice ale sale #0,#1,#2 i #3 urmtoarele adrese: ED0CH, s a ED0DH, ED0EH i ED0FH. S se realizeze o variant de decodicare complet pentru s a a a periferice utiliznd un circuit 74LS138, un circuit comparator 74LS682 i porti. a s P2.59 a) S se conceap un modul de memorie ROM de capacitate 8K 16 biti a a utiliznd circuitele EPROM 2716. a Intr-un spatiu de adresare de 64k (A15 A0 ) acest modul va acoperi intervalul de adrese 64k 56k. Circuitul EPROM2716 prezint dou a a semnale de control unul este selectare circuit CE L/PRM (Chip Enable/ Programare) s n iar cellalt este validare ieire OE L (Output Enable - comanda ieirii din TSL a s stare normal); pentru obtinerea datelor pe ieire trebuie activate ambele semnale a s simultan. b) Utiliznd circuite EPROM 2708, 1K 8 biti, (prezint un singur semnal CS L a a (Chip Enable/ Output Enable)) i circuite decdicator 74XX138, 74XX139, s se s a structureze urmtoarele module de memorie: 1K 16 biti, 8K 8 biti, 8K 16 biti. a Fiecare din aceste module are asignat un interval de adresare ncepnd cu adresa a 0000H; se consider un spatiu de adresare de 64K (A 15 A0 ). a P2.60 Pe un circuit ROM cu organizarea 64 1 bit s se implementeze functia: a f (F, E, D, C, B, A) = (0, 1, 2, 3, 4, 5, 6, 9, 11, 12, 13, 15, 16, 19, 21, 25, 26, 28, 29, 30, 31, 33, 34, 36, 37, 39, 41, 44, 45, 46, 49, 51, 53, 55, 57, 59, 60, 61, 62) P2.61 S se implementeze urmtoarele functii pe o structur de ROM cu capacitatea a a a 64 1: f1 (F, E, D, C, B, A) = F D B + F DBA + F ED CBA; f2 (F, E, D, C, B, A) = F EDA + F ECA + F ED CB + F EDCBA; f3 (F, E, D, C, B, A) = F E D B + F E DCA; f4 (F, E, D, C, B, A) = F EDA + F EDCB + F EDCB; P2.62 S se implementeze pe o memorie ROM de capacitate 328 biti urmtoarele a a convertoare de cod: a) convertor din cod 2-4-2-1 la matrice cu apte segmente (vezi s P2.13 i P2.65); b) convertor din BCD cod EXCESS3 (codul EXCESS3 se obtine s n din codul BCD la care se adun cuvntul 0011| 2 = 3|10 ). S se calculeze gradul a a a de utilizare al memoriei, exprimat prin raportul dintre numrul de biti a nscrii i s s capacitatea memoriei. P2.63 Utiliznd circuite ROM de capacitate 256 8 biti, care sunt a n nscrise toate nmultirile ntre numerele binare de patru biti, precum i circuite sumatoare de s lungimi corespunztoare, s se structureze un multiplicator simultan pentru cuvinte a a de un byte. P2.64 S se implementeze pe structuri PLA i PAL (cu patru termeni produs a s cablati pe ecare poart OR) un convertor din BCD cod Gray. a n P2.65 S se implementeze pe o structur PLA generic un convertor din codul 2421 a a codul pentru o matrice cu apte segmente. Codul 2421 este: 0 0000; 1 0001; n s 2 1000; 3 1001; 4 1010; 5 1011; 6 1100; 7 1101; 8 1110; 9 1111;, iar congurarea cifrelor zecimale din LED-uri se consider ca Figura 2.37. a n P2.66 S se implemeteze pe o structur de circuit PLA generic un comparator a a digital pentru dou cuvinte A i B cu lungimea de 4 biti. Circuitul genereaz la ieire: a s a s

318

2.6. PROBLEME

A = B, A > B i A < B. Nu se primesc semnale pentru relatiile de ordonare de la un s modul comparator de rang superior. P2.67 S se realizeze circuite pentru identitatea a dou cuvinte. a a P2.68 Utiliznd circuitul comparator digital de patru biti 74XX85 s se implea a menteze structuri care s realizeze urmtoarele operatii: a) Pentru dou cuvinte A a a a i B ieirea fs s e adevrat cnd A<B. Cnd A>B ieirea fi s e adevrat. b) s s a a a a a s a a a Pentru dou cuvinte A i B s se realizeze urmtoarele relatii de ordonare: egal(=), a s a a mai mic(<), mai mic sau egal(), mai mare(>), mai mare sau egal(), diferit(=). P2.69 De la ieirile de pondere 23 , 22 , 21 , 20 ale unui numrtor sincron cod binar s aa n natural modulo 16 se obtine cuvntul A = A3 A2 A1 A0 , iar de la ieirile complementare a s se obtine cuvntul complement fata de 1, A = A 3 A2 A1 A0 . Cuvintele A i A se a n s aplic pe intrrile unui circuit comparator de patru biti 74XX85. S se deseneze a a a formele de und la cele trei ieiri ale circuitului (A > B, A = B, A < B) cnd a s a numrtorul parcurge toate cele 16 stri (0 15). aa a P2.70 Utiliznd circuitul comparator de patru biti 74XX85 i porti s se realizeze a s a o structur care genereaz urmtoarele relatii de ordine: a a a A N ; M A; M A N ; A < M ; A > N ude M i N sunt dou constante cuprinse intervalul [0, 2 n 1], n=4 s a n P2.71 Utiliznd trei circuite comparator digital de patru biti 74XX85 i porti s a s a se realizeze o structur care pentru trei variabile A, B, C activeaz ( stare 1) una a a n din cele trei ieiri fA , fB , fC functie de relatia adevrat din urmtoarele trei: s n a a a fA = 1 dac B < A > C fB = 1 dac A < B > C fC = 1 dac A < C > B a a a P2.72 Utiliznd circuitul 74XX283, sumator cu transport anticipat pentru cuvinte a de patru biti, s se realizeze diferite variante de sumatoare de trei biti i de doi biti. a s P2.73 S se realizeze sinteza unei celule semisumator pentru sumare sistemul de a n numeratie baz trei. Implementarea se va face cu porti NAND. n a P2.74 S se structureze o celul sumator modulo trei, apoi cu aceasta s se orgaa a a nizeze un sumator cu transport anticipat modulo 3 8 . P2.75 S se structureze o celul sumator pentru adunarea cod BCD. a a n P2.76 Utiliznd circuite 74LS181, unitate logico-aritmetic de patru biti i cira a s cuite 74LS182, unitate pentru calculul transportului anticipat pe patru ranguri, s se a organizeze o unitate logico-aritmetic pentru cuvinte de 64 de biti. a P2.77 S se realizeze un circuit, format numai din celule sumator complet (3, 2), a care s calculeze numrul (exprimat binar natural, NBCD) de biti care au valoarea a a n 1 ntr-un cuvnt de 7 biti, apoi s se extind pentru un cuvnt de un byte. a a a a P2.78 Utiliznd celule sumator complet a (3, 2) s se realizeze un modul care a incrementeaz un cuvnt de trei biti, la fel, un modul, pentru decrementare. a a P2.79 Pentru un sumator de ase biti realizat varianta de sumator cu propagarea s n transportului , SPT, i varianta cu transport anticipat, STA, s se determine: s n a 1. expresiile pentru C5 ; 3. timpul minim de sumare, T . 2. numrul de porti pentru implementarea lui C 5 ; a Se va considera organizarea de celul (3, 2) din Figura 2.60-b, iar C1 = 0. a P2.80 Realizati un circuit pentru sumarea a trei cuvinte de doi biti. P2.81 Realizati un circuit pentru multiplicarea a dou cuvinte, unul de doi biti a X = x1 x0 iar cellalt de trei biti Y = y2 y1 y0 utiliznd e numai module sumator a a pentru cuvinte de doi biti i porti AND2 e numai module sumator pentru cuvinte s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

319

de trei biti i porti AND2. s P2.82 S se structureze o Unitate Aritmetico - Logic Elementar, ALUE, care a a a s realizeze urmtoarele operatii:1) trece B i ; 2) Ai > Bi ; 3) Ai + Bi + Ci1 ; 4) a a Ai Bi Ci1 . P2.83 Utiliznd o (celul) ALUE (structurat la P2.82) s se organizeze o ALU de a a a a patru biti. P2.84 S se structureze o ALUE care s realizeze urmtoarele opt operatii: 1) a a a nscrie zero (tergere); 2) (B A); 3) (A B); 4) (A + B); 5) A B; 6) (A B); 7) s (A B); 8) nscrie 1 (set).

Capitolul 3

CIRCUITE LOGICE SECVENTIALE, CLS


Circuitul Logic Combinational, CLC, exprimat formal prin tripletul(X,Y,F), deter min pentru o conguratie binar de intrare de n biti, denit pe multimea a a a X = {0, 1}n , o conguratie de ieire de m biti, apartinnd multimii Y {0, 1} m , s a adic realizeaz aplicatia F : X Y . functionarea unui CLC, cel putin teoretic, a a In nu se ia considerare variabila timp, transferul intrare-ieire ind instantaneu; n s n suportul formal utilizat, algebra Booleean, nu exist variabila timp. Aceast lacun a a a a a suportului formal se pltete, uneori, sub forma generrii de hazard la unele ima s a plementri ale CLC-ului, cnd pe durata timpului de transfer(neinstantaneu) valorile a a obtinute la ieirea circuitului apar ca o violare a postulatului de existenta comple s s a mentarului: x + x = 0 i xx = 1!. Totodat, la un CLC transferul este unidirectional, nu exist i un transfer de la ieire ctre intrare, adic o reactie. as s a a Intr-o abordare foarte general un Circuit Logic Secvential, CLS, se poate consia dera ca o extensie a unui CLC cu o conexiune de reactie i functionarea sa, implicit, s n se consider i variabila timp(propagarea neinstantanee). Se poate lua i reciproca, as s adic un CLS numai cu transfer unidirectional i instantaneu este un CLC. Aceast a s a abordare de denire, implicit, determin i o structurare general a unui CLS pornind as a de la un CLC. Secventialitatea implic evenimente/stri care se succed timp unul dup altul. a a n a functie de modul cum este marcat aceast tranzitie, de la un eveniment/stare la In a a urmtorul, circuitele/sistemele pot asincrone sau sincrone. Pentru cele asincrone, a aceast tranzitie/evolutie, este determinat de ai structura circuitului/sistemului a a nss prin timpul su propriu de propagare(constanta de timp), pe cnd la cele sincrone a a tranzitia este marcat din exterior prin timpul, perioada/frecventa unui semnal de a ceas/clock.

3.1

CIRCUITE LOGICE SECVENTIALE ASINCRONE

Structura general a unui CLS asincron este reprezentat Figura 3.1, referit a a n a 321

322

3.1. CIRCUITE LOGICE SECVENTIALE ASINCRONE

uneori ca structur Human, care poate considerat c rezult pornind de a a a a la un CLC cruia i s-au ataat ci de reactie prin intermediul elementelor de a s a arziere, notate cu 0 , 1 , . . ., k1 . Variabilele de intrare(principale) sunt: nt xn1 (t), . . . x1 (t), x0 (t) iar mrimile de ieire sunt: ym1 (t), . . . , y1 (t), y0 (t), similar a s ca la un CLC cu n intrri m ieiri. O conguratie a variabilelor de intrare princia s pale este un vector de intrare Xi , i = 0, 1, 2, . . . , (2n 1), aceti vectori formeaz s a multimea intrrilor, notat cu X. De asemenea, conguratiile mrimilor de ieire a a a s formeaz multimea ieirilor, notat cu Y . Asupra celor dou multimi X i Y , sunt a s a a s corecte aceleai consideratii care s-au expus la CLC(vezi relatia 2.1). plus, CLC-ul s In mai produce la momentul t a alte k variabile de ieire w k1 (t), . . . , w1 (t), w0 (t) nc s care prin legturi de reactie i prin intermediul elementelor de arziere i , i = a s nt 0, 1, . . . , (k 1), se aplic pe intrare ca variabile de intrare secundare la momena tul t + i , zk1 (t + k1 ), . . . , z1 (t + 1 ), z0 (t + 0 ). Considernd c arzierile i , a a nt introduse de elementele de arziere sunt toate egale cu , se pot scrie urmtoarele nt a relatii pentru cele k intrri secundare zi , i = 0, 1, 2, . . . , (k 1) : zk1 (t + ) = a wk1 (t), . . . , z1 (t + ) = w1 (t), z0 (t + ) = w0 (t). Rezult c circuitul combinational a a din structura CLS-ului este un circuit cu (n + k) intrri i (m + k) ieiri. a s s
x 0 (t ) Intrari x1 (t ) principale
X

xn-1(t ) z 0 (t ) z 1 (t ) zk-1(t )

CLC cu: (n+k)intrari (m+k)iesiri Y(t)=f(x(t),z(t)) Q =g(x(t),z(t))


+

y0 y1 ym w0 (t ) w1(t ) wk-1(t )

X(t) n

CLC2 Y(t)= f(x(t),q(t))

Y(t) m

Intrari secundare Z

CLC1 Q (t)= g(x(t),q(t))


+

Q (t) k

zk-1(t )= wk(t-); zk-1(t+)= wk-1(t ) k-1 z 1 (t ) = w0 (t-); z 1(t+)= w1(t ) 1 z 0 (t ) = w0 (t-) ; z 0 (t+) = w0 (t ) 0
Starea prezenta q(t)
+ q(t)=q (t- ) + Starea urmatoare q (t) + q(t+)=q (t)

Q(t) k SA b)

a)

Figura 3.1 Circuitul logic secvential, CLS: a) structurare de principiu pentru un CLS asincron(Human); b) structurare cu separarea functiei de transfer intrare ieire, de cea de tranzitie a strilor. s a Pentru arzierile i nu trebuie s se eleag i s se considere cte un element nt a nt as a a zic de arziere introdus special pe cte o linie de reactie. implementrile normale nt a In a ale unui CLS asincron legtura de reactie se realizeaz printr-o conectare direct de a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

323

Adic starea prezent q(t) este identic cu starea urmtoare q + (t ), care a fost a a a a n urm la momentul (t), sau starea prezent q(t+), care va la momentul (t+), a a este egal cu starea urmtoare q + (t) din momentul t (starea urmtoare devine stare a a a prezent dup arzierea ). a a nt Deoarece starea prezent q(t) este aceeai cu starea urmtoare q + (t ), care a a s a fost urm la momentul (t) i care a fost calculat functie de strile anterioare, n a s a n a nseamn c functionarea circuitului, prin intrrile de reactie, intervine i evolutia a a n a s ,, anterioar a circuitului, adic inuenteaz i istoria . Apare clar faptul c la un a a as a CLS, raport cu un CLC, ieirile sunt dependente nu numai de intrrile prezente n s a ci i de intrrile anterioare care au determinat succesiunea strilor anterioare i care s a a s se regsesc valoarea strii prezente. Partea combinational a CLS pe baza unei a n a a conguratii de intrare X(t) i a strii prezente q(t) calculeaz valorile conguratiei s a a de ieire Y (t) precum i starea urmtoare q + (t). Aceste dou transferuri, spre cele s s a a dou tipuri de mrimi de ieire, sunt evidentiate Figura 3.1-b prin reprezentarea a a s n separat a celor dou parti combinationale CLC2 i CLC1. a a s Pentru o formalizare a exprimrii functionrii unui CLS se introduc urmtoarele a a a notatii: Multimea Q = {qp , . . . , q2 , q1 , q0 } este multimea strilor circuitului; pot a exista maximum p = 2k stri exprimate printr-un cuvnt cu lungimea de k biti a a de forma zk1 . . . zl . . . z1 z0 zl {0, 1}. Si multimea Q, ca i multimea Y , este s incomplet denit |Q| 2k ; multimea strilor realizate de circuit este denit a a a pe multimea nevid a prtilor lui Q, adic pe P (Q) a a a

la ieire la intrarea secundar, deci ieirea w i devine instantaneu intrarea zi (evident s a s dac timpul de propagare pe legtura de reactie respectiv este zero). schimb, a a a In propagarea de semnal structura CLC-ului, de la intrrile principale x i i intrrile n a s a secundare zi nspre ieirile wi , se realizeaz pe trasee cu anumite adncimi (niveluri s a a logice), deci exist intrzieri care trebuie luate considerare; de exemplu o arziere a a n nt de 5 10ns pe ecare nivel logic. Dar, explicatia anterioar, pentru ecare din n a semnalele wi , i = 0, 1, . . . , (k 1) s-a considerat c exist cte o arziere i . a a a nt Intr-o abordare didactic, analiza unui CLS asincron se poate simplica dac se consider a a a c arzierile de propagare din interiorul CLC-ului sunt zero dar, compensatie, a nt n pe ecare linie de reactie ntre wi spre zi se introduce arzierea i aferent ieirii nt a s wi din CLC. Simplicarea poate merge i mai departe prin supozitia facut anterior, s a c toate aceste arzieri i , introduse pe legturile de reactie, sunt egale cu . a nt a In acest mod de abordare didactic la CLS transferul intrare-ieire este instantaneu prin s CLC, schimb variabilele wi devin variabile de intrare secundar, zi , numai dup n a a intervalul de timp . Conguratia intrrilor secundare sau cuvntul format cu valorile binare ale celor k a a variabile secundare la momentul t,zk1 (t) . . . , z1 (t), z0 (t) denete o mrime intern s a a proprie circuitului secvential denumit starea prezent a circuitului, notat cu a a a q(t). Cuvntul format din valorile de ieire wk1 (t) . . . w1 (t), w0 (t) formeaz starea a s a urmtoare notat cu q+ (t). raport cu intrrile principale i ieirile circuitului, a a In a s s care sunt mrimi vizibile exterior(la borne), starea q(t) este o mrime intern proa n a a prie circuitului, neaccesibil la bornele circuitului. Datorit introducerii elementelor a a de arziere pe linile de reactie apar evidente urmtoarele relatii nt a ntre starea prezent a i starea urmtoare: s a q(t) = q + (t ); q(t + ) = q + (t) (3.1)

324

3.1. CIRCUITE LOGICE SECVENTIALE ASINCRONE

Functia de transfer f intrare-ieire a CLS-ului exprim procesul de modi s a care a ieirilor dependenta de cuvntul de intrare i de cuvntul strii prezente s n a s a a prin relatii de forma: y0 (t) = f0 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) y1 (t) = f1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) ................................................................. ym1 (t) = fm1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) f :X QY

(3.2)

Functia de tranzitie a strilor g exprim determinarea strii urmtoare; a a a a adic pe baza strii prezente i a cuvntului de intrare se calculeaz starea a a s a a urmtoare q + (t) prin relatii de forma: a w0 (t) = g0 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) w1 (t) = g1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) ................................................................ wk1 (t) = gk1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) g :X QQ

(3.3)

Fiecrui element din produsul cartezian X Q poate s-i corespund mai multe a a a elemente din multimile Y sau Q. Deoarece ieirile circuitului sunt denite pe prti s a ale multimii de ieire P (Y ) i la fel strile sunt denite pe prti ale multimii strilor s s a a a P (Q) relatiile 3.2 i 3.3 trebuie scrise sub forma: s f : X Q P (Y ) g : X Q P (Q) (3.4)

totui, uneori, pentru uurinta scrierii se utilizeaz formele anterioare. Aplicatiile s s a anterioare (3.2 i 3.3) corespund cu cele din relatiile 3.4 cnd oricare element din s a P (Y ) i P (Q) are cardinalul 1(contine un singur element). s Cu notatiile introduse un CLS poate exprimat ca un cvintuplu: CLS = (X, Y, Q, f, g) (3.5)

,, Dac multimea strilor este multimea vid Q (circuitul nu are istorie ) a a a atunci: g : X nu exist functie de tranzitie a strilor iar, f : X Y se a a reduce la f : X Y , deci se obtine: CLS|Q CLC = (X, Y, f ) Rezult c un CLS la care multimea strilor este multimea vid se reduce la un CLC a a a a (ieirile sunt functie doar de vectorul de intrare X i nu exist reactie). Se poate s s a concluziona c elementul care face trecerea de la combinational la secvential a este conexiunea de reactie; i invers, desfacerea reactiei la un circuit secvential s l transform circuit combinational. a n La un CLS, pe baza produsului cartezian ntre cuvntul X(t) aplicat pe intrare i a s al strii prezente Q(t), circuitul combinational calculeaz cuvntul ieirii Y (t), relatia a a a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

325

3.2, i la fel, calculeaz starea urmtoare Q + (t), relatia 3.3. Dup arzierea s a a a nt cauzat de transferul pe liniile de reactie, starea urmtoare Q + (t) devine noua stare a a prezent momentul (t + ), Q(t + ) = Q+ (t). a n S presupunem c la intrarea principal se aplic cuvntul X 1 (t) i starea prezent a a a a a s a a circuitului este q1 (t) = zk1 (t) . . . z1 (t)z0 (t). Pe baza produsului cartezian X1 (t) q1 (t), pe circuitul combinational, se calculeaz cuvntul de ieire Y 1 (t) precum i a a s s + cuvntul strii urmtoare q1 (t) = wk1 (t) . . . w1 (t)w0 (t), iar dup arzierea , de a a a a nt propagare pe liniile de reactie, starea urmtoare devine starea prezent q 2 (t + ) = a a + q1 (t). Considerm nemodicat cuvntul de intrare X 1 (t + ) (= X1 (t)) din nou pe a a baza produsului cartezian X1 (t + ) q2 (t + ) se calculeaz ieirea Y2 (t + ) i a s s + cuvntul strii urmtoare q2 (t + ) care dup arzierea devine starea prezent a a a a nt a + s s nseamn c acest proces a a q3 (t + 2) = q2 (t + ) i aa mai departe!. Dar, aceasta de evoluitie din stare stare (traseu), pentru acelai cuvnt aplicat pe intrare, este n s a innit, adic circuitul nu se stabilizeaz a a ntr-o anumit stare, denumit stare stabil. a a a Conditia ca o stare a circuitului s e stabil se reduce la identitatea cuvntului a a a strii prezente q(t) cu cel al strii urmtoare q + (t), calculat pe baza produsului a a a a cartezian X(t) q(t), adic wi (t) = zi (t) pentru toate valorile i = 0, 1, 2, . . . , (k 1). a Pentru o anumit intrare aplicat cnd cuvntul a ajuns a a a a ntr-o stare stabil, adic a a nu se mai modic timp, circuitul poate considerat c evolueaz permanent a n a a din aceeai stare tot cu aceeai stare. Uneori variabilele w i (t) ale strii urmtoare s s a a calculate sunt referite ca variabile de excitatie, deoarece prin intermediul acestora circuitul este trecut ntr-o alt stare. a Exemplul 3.1 Pentru circuitul din Figura 3.2 s se analizeze strile stabile. a a Solutie. Circuitul prezint o singur intrare x, o singur ieire y, doi biti pentru starea a a a s prezent, z1 , z0 , exprimat prin cuvntul z = z1 z0 , i doi biti pentru starea urmtoare a a a s a calculat, w1 , w0 , (functii de excitatie), exprimat prin cuvntul w = w1 w0 . arzierile de a a a Int propagare pe traseele portilor logice i pe conexiunea de reactie s-au concentrat dou valori s n a de timp de arziere, 1 , 0 care s-au introdus pe liniile de reactie. Timpul de propagare nt pe o poart poate specicat ca ind, de exemplu, intervalul 5 10ns, deci chiar pentru a n trasee cu topologie identic, pentru calculul functiilor de excitatie w1 , w0 , timpii de arziere a nt sunt general diferiti, 1 = 0 . n Din structura circuitului se deduc functiile de excitatie (tranzitia circuitului), w1 , w0 i s functia de transfer intrare-ieire y s
w 1 = x + z 1 z0 w 0 = x + z 1 z0 y = z 1 z0 + z 1 z0 Cu aceste relatii pentru cele patru stri posibile ale circuitului, z1 z0 = 00, 01, 11, 10 i cele a s dou valori ale variabilei de intrare x = 0, 1 se calculeaz valorile pentru w1 , w0 , care sunt a a prezentate primele dou tabele din Figura 3.2-b. ultimul tabel din aceast gur, n a In a a obtinut din cele dou tabele anterioare, sunt gurate pentru ecare pereche a produsului a cartezian, z1 z0 x, format ntre starea prezent i intrarea aplicat, valorile calculate ale a s a strii urmtoare i a ieirii, w1 , w0 ; y. Cuvintele de cod ale strilor prezente sunt notate a a s s a n partea stng a tabelului, la a a nceputul ecrei linii, iar valorile aplicate intrrii sunt gurate a a la captul superior al ecrei coloane din tabel. Din acest tabel, referit ca tabelul de a a evolutie al strilor, se poate deduce de exemplu c: pentru starea prezent z 1 z0 = 11 i a a a s intrarea aplicat x = 0 se calculeaz starea urmtoare w1 w0 = 00 i ieirea y = 0, (00/0), a a a s s

326

3.1. CIRCUITE LOGICE SECVENTIALE ASINCRONE


w1=x+z1z0 w0=x+z1z0 x0 z1z0 0 00 0 01 0 11 0 10 1 x 1 z1z0 0 1 00 0 1 1 1 w1 01 1 11 0 10 0

..
z0 z1 x z 1 0 1 0 0 0 0 t0

. . .
w0 w1 1 0 0 1 1 I 1 0 0 1 1 0 I I x z1z0 0 00 00 01 01 11 00 10 10 1 1 1 1 1 1 S

y w1 w0

y=z1z0+z1z0 1 1 1 1 1 w0 x 0 1 z1z0 00 00 /0 11/0 01 01 /1 11/1 11 00/0 11 /0 10 10 /1 11/1 w1 w0/y x 0 z1z0 00 00 01 01 11 00 10 10 1 11 11 11 11

a)

b)
t t t t t

z1 1 z0 1 w1 1 w0 1

t0+

t x 0 z1z0 00 w1w0 00 Stare : S 00

t0 1

t0+ 1 11 11 S 11 1 0 0 1 00 11 I 00 0 0 0 0 0 0 S 0 I

c)

0 Stare : S x 1 0 0 0 0 0

z1 1 z0 1 w1 1 w0 1 y 1

t0

t0+ 0 t0+ 1

t t t t t t w z

x 1 z1 1 z0 1 w1 1 w0 1 y 1 Stare :

t0

t0+ 0

1 1 0 1

t0+ 1

t t t t t t

0 Stare : S

S 1 11 11 11 11

S x z1z0 0 00 00 01 01 11 00 10 10 1 11 11 11 11

t0 t0+ 0 t0+ 1 t x 0 1 1 1 z1z0 00 00 01 w1w0 00 11 11 Stare : S I I 00 00 01 11 11 S 11

t t0 t0+ 0 t0+ 1 x 0 1 1 1 z1z0 00 00 01 11 w1w0 00 11 11 11 Stare : S I I 00 00 10 S 11

d)

e)

Figura 3.2 Analiza strilor stabile pentru un circuit CLS asincron: a a) structur circuit; b) tabelul de evolutie al strilor; c) analiza traseului obtinut a a
00 00 11 pentru cazul 1 = 2 = ; d) analiza traseului obtinut 00

00 01 11 pentru cazul 0 < 1 ; e) analiza traseului obtinut 00 00 10 11 pentru cazul 1 < 0 .

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

327

iar pentru aceeai stare prezent 11 dar cu intrarea aplicat x = 1, se calculeaz starea s a a a urmtoare 11 i y = 0, (11/0). a s Conditia de stabilitate pentru o stare, w1 (t)w0 (t) z1 (t)z0 (t) impune ca pe ecare linie din tabelul de evolutie al strilor, corespunztoare unei stri prezente, s existe cel putin a a a a o stare urmtoare calculat cu un cod identic cu cel al strii prezente. De exemplu, pe a a a prima linie, corespunztoare strii prezente z1 z0 = 00, se genereaza 00/0 pentru x = 0 a a i se genereaz 11/0 pentru x = 1, deci starea urmtoare calculat w1 w0 = 00 este o s a a a stare stabil(circuitul rmne tot starea prezent 00, respect conditia 00 = 00); dar a a a n a a n schimb starea urmtoare calculat w1 w0 = 11 nu este o stare stabil, pentru starea prezent a a a a z1 z0 = 00, deoarece 11 = 00 (circuitul nu rmne starea prezent). Strile urmtoare a a n a a a calculate care sunt stabile, se evidentiaz tabelul de evolutie al strilor prin a n a ncercuire. Pe aceeai linie a tabelului pot exista mai multe stri stabile( s a ncercuite), de exemplu la un tabel care are 2n coloane, acesta corespunde unui circuit cu n intrri principale, deci aceleiai a s stri prezente i se pot aplica 2n conguratii de intrare. Tabelul de evolutie al strilor este a a referit ca tabelul primitiv de evolutie al strilor dac pe ecare linie a sa exist doar a a a o singur stare stabil (incercuit), cum este cazul acestui tabel analizat. De asemenea, a a a cuvntul care reprezint produsul cartezian Q X este referit ca starea total a a a a circuitului. O stare total este stabil dac la intersectia corespunztoare a strii prezente a a a a a i a intrrii aplicate, tabelul de evolutie al strilor, este o stare urmtoare calculat notat s a n a a a a ncercuit i respectiv, este o stare total instabil pentru o stare urmtoare calculat notat s a a a a a ne ncercuit. Pentru acest circuit, din tabelul de evolutie, rezult c exist patru stri totale a a a a stabile z1 z0 x = 000, 010, 111, 100 i patru stri totale instabile 001, 011, 110, 101. s a La un circuit secvential asincron, avnd o stare prezent stabil prin aplicarea unui a a a cuvnt de intrare, evolutia poate : tot aceeai stare stabil, a n s a ntr-o alt stare stabil, a a una dintre mai multele stri stabile posibile (curs critic) sau o ciclare n a a a ntre mai multe stri instabile (oscilator). Pentru circuitul din gur se vor analiza trei cazuri posibile de a a evolutie a strilor cnd se aa starea total stabil z1 z0 x = 000 i intrarea se modic de a a n a a s a la 0 la 1. Pentru ecare caz evolutia strilor va reprezentat simultan prin trei modaliti: a a at diagrama de evolutie timp a semnalelor, tabelul de evolutie timp al strilor i tabelul n n a s de evolutie al strilor(notatiile S i I indic pentru starea prezent atins c: este stabil, a s a a a a a respectiv instabil). a 1. 1 = 0 = Figura 3.2-c. (Propagarea semnalelor pe ambele conexiuni de reactie se realizeaz acelai timp , iar propagarea pe partea combinational se face instantaneu, a n s a timp zero). Pentru z1 (t0 )z0 (t0 ) = 00 i x(t0 ) = 1 se calculeaz, pe baza relatiilor anterioare, s a starea urmtoare w1 (t0 )w0 (t0 ) = 11. Deci circuitul trece din starea stabil 00 starea a a n instabil 00, z1 (t0 )z0 (t0 ) = 00 = w1 (t0 )w0 (t0 ) = 11, i rmne aceast stare instabil pe a s a a n a a durata dup care trece noua stare prezent de la momentul t0 +, z1 (t0 +)z0 (t0 +) = a n a 11. noua stare prezent se calculeaz starea urmtoare care este w1 (t0 +)w0 (t0 +) = 11 In a a a i pentru care este s ndeplinita conditia z1 (t0 +)z0 (t0 +) = 11 = w1 (t0 +)w0 (t0 +) = 11, a n a deci noua stare prezent este o stare stabil, 11 , circuitul ramne aceast stare. Evolutia a a a fost starea stabil 00 , starea instabil 00 i apoi starea stabil 11 . a a s n a 2. 0 < 1 , Figura 3.2-d. Aceast relatie arat c bitul w0 al strii urmtoare calculate a a a a a se propag bitul z0 al strii prezente mai repede dect bitul w1 z1 . momentul t0 a n a a n In cnd x se modic din 0 1 se trece din starea prezent stabil 00 starea instabil a a n a a n a 00, z1 (t0 )z0 (t0 ) = 00 = w1 (t0 )w0 (t0 ) = 11. Dup durata 0 noua stare prezent este a a z1 (t0 + 0 )z0 (t0 + 1 ) = 01 care pentru x = 1 genereaz w1 (t0 + o )w0 (t0 + 0 ) = 11 = 01, a deci i aceast stare prezent 01 este instabil. momentul t0 + 1 i bitul w1 se propag s a a a In s a z1 iar noua stare prezent este z1 (t0 + 1 )z0 (t0 + 1 ) = 11 pentru x = 1 calculnd bitii n a a

328

3.1. CIRCUITE LOGICE SECVENTIALE ASINCRONE

strii urmtoare rezult w1 (to + 1 )w0 (t + 1 ) = 11, deci starea prezent 11 este o stare a a a a n a stabil. Evolutia a fost starea stabil 00 , trecerea starea instabil 00(la momentul t0 ), a a trecerea starea instabil 10(la momentul t0 + 0 ) i nal trecerea starea stabil 11 n a s n n a (la momentul t0 + 1 ). 3. 1 < 0, Figura 3.2-e. De data aceasta bitul w1 al strii urmtoare calculate se a a propag bitul z1 al strii prezente a n a naintea propagrii bitului w0 z0 . Analiza evolutiei a n strilor se realizeaz similar ca la punctul 2 i rezult o succesiune 00 00 10 11 . a a s a concluzie acest circuit din starea total 000 poate trece starea total 001( functie In a n a n de valorile arzierilor 1 i 0 ) prin una din urmtoarele trei succesiuni: nt s a 00 00

necritic dac pornind dintr-o stare, pe oricare traseu, se ajunge nal aceeai stare a a n n s total stabil, cum este cazul analizat. opozitie, un circuit prezint o curs critic a a n In a a a dac din aceeai stare total initial se ajunge stri totale stabile diferite functie de a s a a n a n traseul urmat. Conditia de curs critic pentru un circuit asincron poate aparea cnd dou sau mai a a a a multe din variabilele binare de stare zi si schimb valoarea la o modicare cuvntul de a n a intrare X(t). consecinta, printr-o judicioas codicare a strilor circuitului, tabelul de In a a n evolutie al strilor, se poate realiza un circuit fr curse critice. La un circuit fr curse a a a a a critice trebuie ca pe traseul de evolutie al strilor ecare moment de trecere de la o stare a n instabil la o alt stare instabil, s se modice doar un singur bit cuvntul strii calculate. a a a a n a a Poate exista i cazul cnd evolutia strilor este pe un traseu ciclic format numai pe stri s a a a instabile ceea ce determin o functionare de oscilator pentru circuit. Dar s analizm a a a un astfel de regim Exemplul 3.2. Analiza i sinteza circuitelor secventiale asincrone este n s destul de dicil dac nu se introduc anumite restrictii. acest sens, primul rnd se a a In n a admite c conguratia de intrare X(t) la un moment dat se modic doar un singur bit. a n a Si al doilea rnd, se consider c o modicare a semnalului de intrare nu are loc pn n a a a a a cnd circuitul nu a ajuns a ntr-o stare stabil. Un circuit secvential asincron care respect a a aceste dou restrictii este referit ca circuit ce functioneaz mod fundamental. a a n

11 sau 00 00 01 11 sau 00 00 10 11 . Cursa pentru un circuit este

Exemplul 3.2 S se analizeze functionarea circuitelor secventiale asincrone realizate a numai cu inversoare nseriate. Solutie. Se disting dou structuri cu numr impar i numr par de inversoare a a s a nseriate. a) Figura 3.3-a este prezentat un circuit secvential asincron realizat printr-o legtur In a a de reactie la o poart NAND2. Pentru intrarea x = 1 poarta NAND2 are o functionare a de inversor w = z. Din tabelul de evolutie al strilor, Figura 3.3-b, se observ c pentru a a a coloana x = 1 nu exist nici o stare stabil. Pentru starea prezent z = 0 i intrarea x = 1 se a a a s calculeaz starea urmtoare w = 1 care genereaz o tranzitie, w z = 1, pe linia a doua a a a a tabelului, unde pentru starea prezent z = 1 i intrarea x = 1 se calculeaz starea urmtoare a s a a w = 0 care genereaz o tranzitie, w z = 0, pe linia aia a tabelului, unde pentru starea a nt prezent z = 0 i intrarea x = 1 se calculeaz starea urmtoare w = 1 care genereaz o a s a a a tranzitie w z = 1 pe linia a doua a tabelului i procesul se repet, adic trece s a a ncontinuu ntre strile instable z = 0 i z = 1. Pe baza schemei echivalente, ca CLS asincron Human, a s din Figura 3.3-a, se pot reprezenta semnalele z i w,Figura 3.3-c, considernd inversorul cu s a timp de transfer zero iar timpii si de propagare pHL i pLH sunt introdui ca arzieri pe a s s nt legtura de reactie. Pentru x = 0 modicrile strii prezente z nu se transmit prin poarta a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

329
x

x z a)

CLC w

pt x=1 w pHL pLH b)

x 0 0 1 1

z 0 1 0 1

xz =w 1 1 1 0

z 0 0 1 1 1

1 1 0

c)

w 1 z 1 pHL pLH pHL pLH pHL pLH

T= phl + plh

Figura 3.3 CLS asincron realizat prin nserierea unui numr impar de a inversoare: a) structur realizat pe baza unei singure porti NAND2; b) tabelul de a a evolutie al strilor; c) variatia timp a semnalelor generate. a n
NAND2, w este permanent 1, dar pentru x = 1 starea prezent z se transmite prin poart a a a a s cu valoarea complementat, w = z (vezi tabelul de adevr). Pentru starea prezent z = 1 i a x = 1 se calculeaz instantaneu starea urmtoare w = 0 care devine stare prezent z = 0, a a a dup arzierea pHL , pe baza cruia se calculeaz noua stare urmtoare w = 1 care devine a nt a a a stare prezent z = 1 dup arzierea pLH i procesul se repet. Deci circuitul are functionare a a nt s a de generator de semnal dreptunghiular cu perioada T = pHL + pLH . Functia de generator de semnal dreptunghiular o are orice CLS asincron la care partea combinational este o a nseriere a unui numr impar n de inversoare, perioada semnalului generat ind T = n(pHL + pLH ) a vezi Exemplul 1.17.

x0 x1 z a)

CLC w z

pt x1x0=11 x pHL, pLH pLH, pHL

x1x0 z 00 01 11 10
1 1 0 0 1 0 1 0 1 1

b)

c)

Figura 3.4 CLS asincron realizat prin nserierea unui numr par de invera soare: a) structur realizat pe baza a dou porti NAND2; b) structur echivalent a a a a a ca CLS Human; c) tabelul de evolutie al strilor. a
b) Figura 3.4-a este prezent o structur de CLS asincron realizat prin In a a nserarea a dou a porti NAND2, iar pentru cuvntul de intrare x1 x0 = 11 ecare poart este echivalent cu un a a a a inversor, Figura 3.4-b. Functia de tranzitie este w = zx1 x0 = zx1 + x0 ale crei valori sunt trecute tabelul de evolutie al strilor din Figura 3.4-c. Pentru coloana x1 x0 = 11 se observ n a a c att starea z = 0 ct i starea z = 1 sunt stabile, adic starea urmtoare calculat w este a a a s a a a identic cu starea prezent i se tranfer stare prezent dup arzierea = pHL + pLH . a as a n a a nt Din acest tabel se observ c pentru toate combinatiile de intrare x1 x0 = 00, 01, 11, 10 exist a a a stri stabile pentru circuit(o discutie necesit cazul cnd x1 x0 = 00, vezi sectiunea 3.3.1). a a a

330

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Se poate generaliza aceast armatie, un CLS asincron compus prin a nserierea unui numr a par de inversoare are pentru ecare cuvnt de intrare cel putin o stare stabil. a a

3.2

CIRCUITE LOGICE SECVENTIALE SINCRONE

,, La un circuit logic secvential asincron variabila timp curge continuu, exist a incontinuu transfer de la ieire spre intrare, pe calea de reactie, deci o evolutie dintr-o s stare alta(chiar i cnd este n s a ntr-o stare total stabil se poate considera c circuitul a a a evolueaz incontinuu din acea stare tot acea stare). Spre deosebire de circuitul a n ,, asincron, la un circuit logic secvential sincron variabila timp are o curgere discret, trecerea/tranzitia dintr-o stare urmtoarea se face numai momentele a n a n bine denite de ctre semnalul de ceas/clock. Semnalul de ceas (clock) este un semnal a dreptunghiular periodic care comut a ntre L i H i invers cu un coecient de umplere s s 50%, Figura 3.5, simbolizat circuite prin abreviatia CLK. Comutarea repetat n a ntre L i H este utilizat pentru a marca timpul, unitatea de timp ind perioada T s a a acestui semnal; un moment pe scara timpului se marcheaz doar printr-un multiplu a de perioad de clock: . . . , iT, (i + 1)T, (i + 2)T, . . .. a Ceasul circuitele sincrone poate actiona pentru marcarea timpului prin unul n din palierele sale, referit ca palier activ. De exemplu, marcarea timpului pe palierul activ H este reprezentat Figura 3.5-a, iar marcarea timpului cu frontul activ a n cresctor/ anterior/ pozitiv sau cu frontul activ descresctor/posterior/negativ este a a reprezentat respectiv Figura 3.5-b i 3.5-c. Marcarea pe palier(=interval) se face a n s ntr-un mod mai grosier, pe cnd marcarea pe front este un mod foarte precis. a

SU
CLK iT a) (i+1)T b) CLK iT (i+1)T c) CLK iT (i+1)T d) CLK

iT

Figura 3.5 Semnale de ceas pentru sincronizare pe: a) pe palier; b,c) pe frontul pozitiv/crector respectiv negativ/descresctor; d) fereastra de decizie = SU + H a a axat pe frontul de sincronizare, pe durata cruia semnalul de sincronizat nu trebuie a a s si modice valoare. a

3.2.1

Sincronizarea semnalelor asincrone

Inainte de prezentarea CLS sincrone se va analiza modul care un semnal este n sincronizat. Prin sincronizarea unui semnal se elege aducerea acelui semnal nt n ,, acelai timp cu semnalul de ceas. Aceasta s nseamn c semnalul asincron este a a citit/eantionat i s s nscris ntr-un element de memorare numai momentele discrete n dictate de semnalul de ceas. Dar care va valoarea citit pentru un semnal asincron a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

331

cnd sincronizarea se face pe palier? dicil de spus deoarece semnalul ind cu variatia a ,, ,, asincron poate s si modice valoarea a a ntre 0 i 1 de nenumrate ori pe durata s a palierului impulsului de ceas; aceast situatie elementul de memorare se va n a n nscrie valoarea pe care o are semnalul asincron pe frontul de sfrsit al palierului activ. a Evident c, pentru a face o citire corect trebuie s se impun ca semnalul s nu se a a a a a modice pe durata palierului. La eantionarea pe front, considend c panta acestuia s a a este innt(durata frontului f = 0), conditia de a se mentine nemodicat semnalul a asincron doar ntr-un singur punct este mai usor de ndeplinit. Dar i la sincronizarea s pe front se impune ca semnalul asincron s nu si modice valoarea pe un interval de a timp de prestabilire SU (set-up) nainte de front i apoi pe a un interval de s nc timp de mentinere H (hold) dup front, relatia 3.23; deci nici o modicare pe a limea unei ferestre(de decizie) cu limea = SU + H axat pe frontul at at a semnalului de ceas, Figura 3.5-d. Aceast restrictie de nemodicare pe intervalul a este impus de ctre functionarea elementului zic bistabilul care realizeaz citirea a a a i memorarea semnalului asincron. Bistabilul(a se vedea Figura 3.5-d) la o modicare s a semnalului asincron(de sincronizat) intervalul , poate memora e valoarea logic n a 1, e valoarea logic 0, deci nu se poate controla valoarea care se a nscrie(functionare nedeterminist). Teoretic, aceste restrictii de nemodicare momentul eantionrii a n s a duc la armatia c un semnal asincron (ind asincron poate s se modice oricnd) nu a a a poate sincronizat corect. Din analiza cazurilor urmtoare se va vedea cnd aceast a a a concluzie este corect i cnd nu. as a Se consider cazul cnd trei semnale asincrone A = 0, B = 0, C = 1 sunt eantioa a s nate simultan dar numai semnalul C si modic valoarea de la 1 la 0 fereastra de a n decizie , centrat pe frontul pozitiv de ceas de la momentul iT, Figura 3.6-a. Dup a a frontul pozitiv de sincronizare se memoreaz e cuvntul ABC = 001 e cuvntul a a a ABC = 000, dar ambele cuvinte sunt corecte deoarece oricare dintre acestea sunt generate de ctre sursa cuvntulului ABC. Dac la frontul iT se obtine cuvntul a a a a ABC = 001 la urmtorul front de sincronizare (i + 1)T , considernd c semnalul a a a C si pstreaz nemodicat noua valoare 0, se memoreaz valoarea corect, adic a a a a a a ABC = 000. Deci necitirea corect la momentul iT poate privit ca o arziere a a a nt sincronizrii cu un tact a cuvntului ABC = 000. a a Cazul cnd pentru cele trei semnale asincrone, fereastra de decizie de pe frona n tul pozitiv al semnalului de ceas de la momentul iT, se modic dou dintre sema a nale, C de la 1 la 0 i B de la 0 la 1, este reprezentat Figura 3.6-b. Dup s n a frontul pozitiv de sincronizare se pot memora unul din urmtoarele patru cuvinte a ABC = 001, 010, 000, 011, iar dup al (i+1)T front de sincronizare, dac nu mai apar a a modicri, cu arziere de un tact se obtine cuvntul corect ABC = 010. Deci a nt a n intervalul dintre iT i (i+1)T, datorit indeciziei semnalului citit, pot aprea i cus a a s vintele ABC = 000 i ABC = 011 care sunt incorecte deoarece sursa nu a generat s aceste cuvinte ci doar cuvintele 001 i 010. Deci la modicarea a doi sau mai multi s biti, sincronizarea nu poate sigur. a concluzie pentru sincronizarea corect a unui grup(cuvnt) de semnale asincrone In a a este necesar respectarea restrictiei ca la un moment dat s se modice doar un a a singur semnal. Cazul particular cnd aceste semnale se obtin ca un cuvnt de la un a a CLC cu ieiri multiple, posibil arcate cu hazard, pentru o sincronizare corect este s nc a necesar s se atepte pn se consum timpul de propagare pentru producerea acestor a s a a a semnale. Dac pentru un grup de semnale cnd sunt sincronizate se consider ecare a a a

332

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

A 1 0 1 B 0 1 C 0

t t

SU
CLK
A=0 B=0 C=1 iT

SU
A=0 A=0 B=0 sau B=0 C=0 C=1 corect corect

a)

(i+1)T

A=0 B=0 C=0 corect

A1 0 1 B 0 1 C 0

t t

SU
CLK
A=0 B=0 C=1 iT

SU
A=0 A=0 A=0 A=0 B=0 sau B=1 sau B=0 sau B=1 C=1 C=0 C=1 C=0 corect corect incorect incorect

b)

(i+1)T

A=0 B=1 C=0 corect

Figura 3.6 Sincronizarea(memorarea) semnalelor asincrone: a) nscrierea corect a unui cuvnt cnd se modic doar un singur bit; b) posibilitatea de a a a a nscriere incorect cnd se modic mai mult de un singur bit fereastra de decizie . a a a n semnal cu semnicatie individual, deci nu o semnicatie grup/ cuvnt, atunci a n n a sincronizarea ecruia parte este corect oricare moment de timp. Pe cnd la un a n a n a grup de semnale asincrone care se constituie ntr-un cuvnt de cod, codul exprimat a de acel cuvnt depinde de valoarea tuturor semnalelor din acel cuvnt i nu doar de a a s unul singur, sincronizarea corect este imposibil. a a

3.2.2

Automate nite: structur, denitii, clasicri a a

Structura de principiu a unui CLS sincron se obtine din cea a unui CLS asincron, Figura 3.1, care elementele de arziere i sunt substituite cu elemente de memon nt rare/(registru de stare) ca Figura 3.7-a (Registrul de stare este un circuit registru n prezentat sectiunea 3.5. Registrul este un circuit de memorare care se poate n n nscrie un cuvnt binar numai la aplicarea unui semnal de arcare/ a nc nscriere, momentan considerm c semnalul de arcare este semnalul de ceas. Dup a a nc a nscriere, cuvntul este permanent generat la ieirea registrului i poate utilizat ca intrare la a s s alte circuite.) Bitii wi calculati ai functiei de excitatie, cuvntul strii urmtoare, vor a a a nscrii s registrul de stare numai momentele de aplicare ale fronturilor active(pozitive) n n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

333
Y(i+1)T:=Y(iT)

X(iT)

Y(iT)=f(X(iT),Z(iT))

Y(iT)

Y(iT)

Z(iT)

CLC

W(iT)=g(X(iT),Z(iT))

Q(iT)

CLC

Q (iT)

Registru

Q((i+1)T):=Q (iT) Registru de stare CLK a) T q(i1)T iT Timp de stare,q(iT) Perioada tranzitorie Perioada stabila W(iT)=g[x(iT),Z(iT)] Y(iT)=f[x(iT),Z(iT)] b) x(iT) Z(iT):=W((i1)T) Y(iT):=Y((i1)T) w(iT) y(iT) (i+1)T CLK c)

Q((i+1)T):=Q (iT)

T Timp de stare,q((i+1)T) Perioada stabila


W((i+1)T)=g[X(i+1)T,Z(i+1)T] W((i+1)T)=f[X(i+1)T,Z(i+1)T]

(i+2)T q((i+2)T)

Perioada tranzitorie

x((i+1)T)

w((i+1)T) y((i+1)T)

x((i+2)T)

Z((i+1)T):=W(iT) Y((i+1)T):=Y(iT)

Z((i+2)T):=W((i+1)T) Y((i+2)T):=Y((i+1)T)

Figura 3.7 Circuitul secvential sincron: a) structur de principiu; b) succe a siunea timp a operatiilor de transfer f i de tranzitie g; c) structura de principiu n s pentru CLS sincron cu ieirea arziat. s n a din semnalul de ceas . . . , (i 1)T, iT, (i + 1)T, . . .. Odata nscrii bitii strii urmtoare s a a momentul iT , registrul de stare, acetia vor devenii bitii strii prezente Z(iT ). n n s a Pe baza strii prezente Z(iT ) i intrrii X(iT ) (se consider c intrarea este sina s a a a cronizat cu acelai semnal de ceas ca i bitii strii prezente) se va calcula transferul a s s a intrare ieire i functia de excitatie pentru starea urmtoare, s s a Y (iT ) = f [X(iT ), Z(iT )] W (iT ) = g[X(iT ), Z(iT )]

(3.6)

La urmtorul impuls de ceas (i + 1)T , bitii calculati W (iT ) ai strii urmtoare q + (iT ) a a a sunt nscrii registrul de stare i devin bitii Z((i+1)T ) ai strii prezente q((i+1)T ). s n s a Din nou, pe baza strii prezente q((i+1)T ) i a intrrii X((i+1)T ) se calculeaz dup a s a a a relatiile 3.6, ieirea Y ((i + 1)T ) i bitii functiei de excitatie W ((i + 1)T ) care s s nscrii s registrul de stare, la momentul (i + 2)T , devin bitii Z((i + 2)T ) ai strii prezente n a q((i + 2)T ). Se observ c asignarea strii urmtoare calculate Q + (iT ), reprezentat a a a a a

334

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

prin bitii functiei de excitatie W (iT ), stare prezent Q((i + 1)T ) se face numai n a momentul (i + 1)T prin n nscrierea registrul de stare Q((i + 1)T ) := Q + (iT ). n Numai momentul aplicrii frontului activ al semnalului de ceas, pentru n a nscrierea registrul de stare, se poate considera c bucla este n a nchis restul intrevalului a n de timp, pn la aplicarea urmtorului front activ al impulsului de ceas, bucla este a a a deschis. Deci, nu exist un transfer continuu a strii urmtoare calculat Q + a a a a a stare prezent Q pe legtura de reactie ca la CLS asincron. intervalul n a a In de timp dintre dou fronturi active ale semnalului de ceas, circuitul poate privit ca a un circuit combinational, care pe baza cuvintelor de intrare X(iT ) i Z(iT ) calculeaz s a ieirile Y (iT ) i W (iT ). Inexistenta unui transfer continuu pe conexiunea de reactie, s s cu exceptia momentelor aplicrii fronturilor active ale semnalelor de ceas, confer a i a CLS-ului asincron o functionare de circuit deschis care totdeauna este stabil, adic a trece dintr-o stare stabil alt stare stabil. a n a a Transferurile ntre dou impulsuri succesive de ceas, pe partea combinational a a a circuitului secvential sincron sunt prezentate Figura 3.7-b. Din momentul aplicrii n a impulsului de ceas iT se calculeaz, pe partea combinational, W (iT ) i Y (iT ), dar a a s bitii acestor conguratii calculate pot afectati de hazard datorit parcurgerii unui a numr diferit de niveluri logice, deci citirea lor trebuie facut numai dup consumarea a a a regimului tranzitoriu. Asignarea strii prezente Q((i+1)T ) := Q + (iT ) i citirea ieirii a s s Y (iT ) sunt corecte numai perioada de regim stabilizat. Aplicarea urmtorului n a impuls de ceas nu trebuie s e mai devreme de consumarea regimului tranzitoriu, a deci frecventa maxim a semnalului de ceas cu care se poate comanda CLS-ul se a determin cu relatia: a fmax = care: n pmaxCLC - timpul de propagare maxim pe circuitul combinational(care determin a durata regimului tranzitoriu, afectat de hazard). pBQ - timpul de propagare pe registrul(bistabilul) de stare. SUQ - timpul de prestabilire (gura 3.5-d). Bitii calculati w i ai strii urmtoare a a i aplicati pe intrarea registrului de stare trebuie s nu se modice cu cel putin s a SU nainte de aplicarea frontului activ de ceas. De foarte multe ori, la fel ca i bitii calculati W (iT ) ai strii urmtoare i bitii s a a s calculati Y (iT ) ai cuvntului de ieire a s nainte de a disponibili la ieire sunt memorati s ( nscrii s ntr-un registru de ieire), Figura 3.7-c. Deci, bitii Y (iT ) calculati pentru s impulsul de ceas iT vor disponibili la ieire la urmtorul impuls de ceas (i + 1)T s a numai dup ce au fost a nscrii registru, Y ((i+1)T ) := Y (iT ). Un astfel de CLS este s n referit cu arziere contrast cu cel fr registru care este referit CLS imediat. nt n aa La un CLS sincron imediat ieirea depinde de starea curent. Modicarea intrrii s a a se simte la ieire pe durata strii prezente. Ieirea poate afectat de hazard, deci s a s a trebuie citit doar dup consumarea regimului tranzitoriu. CLS sincron cu arziere a a nt are ieirea dependent de starea anterioar(corespunztoare ciclului anterior de ceas). s a a a Deoarece se presupune c bitii de ieire au fost a s nscrii registrul de ieire dup s n s a 1 Tmin = 1 pmaxCLC + pBQ + SU Q (3.7)

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

335

consumarea regimului tranzitoriu, ieirea arziat nu este afectat de hazard. Deci s nt a a ,, la un circuit cu arziere o modicare a intrrii X(iT ) se va simtii la ieire numai nt a s dup frontul activ de ceas (i + 1)T , adic cu o arziere de un tact. a a nt Structura de CLS sincron care contine bucla de reactie un circuit de memo n rare/registru, care la rndul su constituie un CLS, este referit prin termenul de a a a automat (nit) sau cu abreviatia FSM (Finite State Machine). contin In uare se vor prezenta succint doar acele denitii i clasicri ale automatelor [Creang s a a 73][Stefan 00] [Maican 99] care vor utilizate aceast lucrare. n a Denitia unui automat nit A este similar cu cea data prin relatia 3.5 pentru a un CLS asincron cu deosebirea c timpul nu mai este o variabil continu ci disa a a cret, multiplu de perioada semnalului de ceas, iT , adic variabilele circuitului sunt a a eantionate dar pe fronturile active s A = (X, Y, Q, f, g) (3.8)

Denitia 3.1 Dac pentru oricare conguratie de intrare i de stare prezent, a s a functiile de transfer, f , i de tranzitie, g, au cardinalul unitate(contine un singur s element), atunci automatul este determinist, altfel este nedeterminist q Q, x X, |f (q, x)| = 1, |g(q, x)| = 1 (3.9)

Denitia 3.2 Un automat A este nit dac cele trei multimi X, Y i Q sunt a s nite. Este necesar a se evidentia faptul c un automat cu un numr nit de stri poate a a a prelucra iruri innite aplicate pe intrare, denite pe multimea nit X, i poate s a s genera la ieire iruri innite, denite pe multimea nit Y. s s a Denitia 3.3 Un automat A autonom, sau orologiu, este un automat la care multimea nit a intrrilor are cardinalul unitate |X| = 1 a a Pentru automatul autonom, multimea conguratiilor de intrare este permanent aceeai ceea ce d automatului o comportare independent de exterior, vezi Exemplul s a a 3.2. Automatul genereaz variatii la ieire fr s se modice conguratia de intrare. a s aa a Denitia 3.4 O evolutie/traiectorie a automatului A este un ir de stri s a antuite q0 q1 . . . qi qi+1 . . ., iar starea q0 este starea initial a nl a evolutiei. O evolutie cu proprietatea: qi Q, Xi X, qi+1 g(qi , Xi ) este o evolutie admisibil a Denitia 3.5 Totalitatea strilor din care poate porni automatul este multimea a strilor initiale Q0 , Q0 Q a functie de cardinalul multimii Q0 automatele pot : In (3.10)

La un automat determinist din starea prezent i pentru intrarea aplicat se cuas a noate exact ieirea precum i starea pentru tactul urmtor, pe cnd la unul nedes s s a a terminist, starea urmtoare i ieirea sunt cunoscute doar ca elemente care apartin a s s P (Q), respectiv P (Y ) (vezi relatia 3.4).

336

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

- automat cu o singur stare initial Q0 Q, |Q0 | = 1 a a - automat cu mai multe stri initiale Q0 Q, |Q0 | > 1 a - automat neinitial(toate strile pot initiale), Q 0 = Q a Intr-o stare initial nu se ajunge printr-o evolutie generat de conguratii din multi a a mea semnalelor de intrare X ci printr-o alt comand exterioar, de exemplu printr-o a a a comand de initializare/reset sau prin conectarea la tensiune se genereaz starea a a initial. a Denitia 3.6 O stare a automatului este considerat inaccesibil dac oricare a a a traiectorie spatiul strilor ce pornete din stri initiale nu o contine. n a s a Evident, se poate vorbi de stri inaccesibile numai cazul automatelor initiale a n |Q0 | 1. De exemplu, dac pentru un automat cu trei biti de stare z 2 z1 z0 pot exista a opt stri q0 , q1 , q2 , q3 , q4 , q5 , q6 , q7 , q8 , dar sunt denite numai cinci stri, q0 q4 , a a n functionarea automatului atunci cele trei stri, q 5 , q6 , i q7 sunt inaccesibile. a s Denitia 3.7 Dou stri qi i qj sunt echivalente qi qj dac pentru oricare a a s a conguratie de intrare aplicat X se genereaz aceleai ieiri, iar strile urmtoare a a s s a a qi+1 = g(qi , X), qj+1 = g(qj , X) sunt identice sau echivalente. f (qi , X) = f (qj , X); g(qi , X) g(qj , X) (3.11)

etapa de denire a functionrii unui automat se poate introduce informatie In a redundant care duce la un numr total de stri mai mare dect numrul de stri a a a a a a care poate descrie functionarea automatului. Dac un grup de stri se demonstreaz a a a c sunt echivalente, toate strile acelui grup sunt substituite printr-o singur stare, a a a astfel reducndu-se numrul total de stri ale automatului. a a a Denitia 3.8 Un semiautomat, SA, este denit prin tripletul: SA = (X, Q, g) (3.12)

Prin notiunea de semiautomat se identic cadrul unui automat numai acea a n parte care este responsabil pentru generarea strii interne. Structural, semiaua a tomatul se obtine prin eliminarea din structura automatului a partii care calculeaz a functia de transfer, f . Pentru cele patru organizri de automate reprezentate a n Figura 3.8 sunt delimitate structurile care formeaz semiautomatul, SA. Semiaua tomatul este format din partea de circuit combinational, CLC1, care calculeaz functia a g i registrul din calea de reactie. Unui semiautomat i se pot ataa diferite prti s s a combinationale, CLC2, pentru diferite functii f , deci pe baza unui semiautomat se pot realiza mai multe automate. Dar i unui automat i se pot asocia diferite semiautos mate. proiectarea unui automat se pornete de la denirea functionrii automatului In s a adic de la descrierea functiei de transfer intrare-ieire. Deoarece transferul intrarea s ,, ieire este dat, proiectantului rmne spatiu de manevr doar proiectarea i s i a a a n s optimizarea semiautomatului. functie de modul cum se calculeaz functia de transfer f a automatului, exist In a a dou tipuri de automate:Mealy i Moore. a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


X(iT) X(iT)

337
Y((i+1)T):=Y(iT)

CLC 2 f SA

Y(iT)

CLC 2 f SA

Y(iT)

Registru 2

Q(iT) CLK

CLC 1 g

Q (iT)

Registru 1

Q(iT) CLK

CLC 1 g

Q (iT)

Registru 1

Q(iT):=Q ((i1)T) a) X(iT) Q(iT) CLK Q(iT):=Q ((i1)T) Y((i+1)T):=f(Q(iT)) c) d)


+

Q(iT):=Q ((i1)T) b)

SA CLC 1 Q (iT) g
+

Reg 1

X(iT) CLC 2 Y((i+1)T) Q(iT) f CLK

SA CLC 1 g
Q (iT)
+

Reg 1

CLC 2 f

Reg 2

Q(iT):=Q ((i1)T)

Y((i+2)T):=f(Q(iT))

Figura 3.8 Variante de automate Mealy i Moore structurate pe baza unui s semiautomat, SA: a,b) structurare fundamental pentru automatele Mealy imea diat i Mealy cu arziere; c,d) structurare fundamental pentru automatele Moore s nt a imediat i Moore cu arziere. s nt Denitia 3.9 cu: f : X Q Y g : X Q Q Un automat Mealy este denit prin cvintuplu A=(X,Y,Q,f,g)

(3.13)

La automatul Mealy parte combinational calculeaz att functia de transfer f a a a ct i cea de tranzitie g pe baza produsului cartezian X Q. a s Denitia 3.10 cu: f :QY g : X Q Q Un automat Moore este denit prin cvintuplu A(X,Y,Q,f,g)

(3.14)

La automatul Moore functia de tranzitie g se calculeaz la fel ca la automatul a Mealy, pe baza produsului cartezian X Q, pe cnd functia de transfer f este calculat a a doar pe baza strii prezente Q. Ieirea automatului Moore este dependent de intrare a s a doar prin intermediul tranzitiilor realizate spatiul strilor. n a Fiecare din aceste dou tipuri de automate poate realizat cu functionare imediat a a sau arziat, Figura 3.8. nt a Automatul Mealy imediat, Figura 3.8-a. Se observ c structura acestui aua a tomat se obtine prin completarea semiautomatului SA cu CLC2 care calculeaz ieirea a s

338

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Y (iT ) pe baza produsului cartezian dintre starea prezent i intrarea prezent as a Y (iT ) = f (X(iT ), q(iT )) Ieirea Y (iT ) citit s a nainte de consumarea perioadei de regim tranzitoriu va afectat a de hazard. Mai mult, dac intrarea nu este sincronizat,cum am considerat, ci se a a modic asincron oricnd intervalul iT i (i + 1)T , aceste modicri se simt a a n s a n ieire. s Automatul Mealy cu arziere, Figura 3.8-b. Completarea SA se face att n a cu circuitul CLC2 pentru calculul functiei de transfer, f , ct i cu un registru, Reg2, a s pentru memorarea ieirii Y (iT ). Introducerea unui registru va face ca modicrile s a provocate ieirea Y (iT ) pe intervalul iT (i + 1)T , datorate regimului tranzitoriu, n s de la o intrare sincronizat, sau datorate variatiilor intrrii, de la o intrare asincron, a a a sa nu mai poata ajunge la ieire. Valoarea ieirii este asignat, doar momentele s s a n de aplicare a frontului activ de ceas la Reg2, cu valoarea calculat pe baza intrrii i a a s strii anterioare a Y ((i + 1)T ) := f (X(iT ), q(iT )) deci ieirea reect intrarea cu o arziere de un tact. s a nt Automatul Moore imediat, Figura 3.8-c. Deoarece la acest automat ieirea se s calculeaz ca functie numai de stare prezent, relatia 3.14, la SA se adaug circuitul a a a CLC2 care are ca intrri doar starea prezent. Deoarece starea prezent se reect a a n a a intrarea anterioar i nu cea prezent, ieirea este arziat cu un tact fata de ina s a s nt a trare(la fel ca la automatul Mealy cu arziere). Deci pentru intrarea prezent se nt a obtine ieirea numai peste un tact. s Y ((i + 1)T ) := f (q((i + 1)T )) = f (g(X(iT ), q(iT ))) Dei se obtine o izolare a ieirii fata de intrare, nu exist doar CLC2 intre intrare i s s a s ieire, totui automatul Moore imediat poate genera hazard pe ieire. Hazardul este s s s generat de faptul c circuitul CLC2 poate avea de la intrarea(ieirea Reg1) pn la a s a a ieirea sa un numr diferit de niveluri logice pentru ecare traseu de transfer. Foarte s a frecvent, la acest tip de automat se elimin circuitul CLC2, ieirea ind identic cu a s a starea Y Q (3.15)

ceea ce elimin hazardul combinational din ieire. a s Comportamental, un automat Moore imediat poate echivalent cu un automat Mealy cu arziere deoarece la ambele ieirea calculat pe baza strii prezente i a intrrii nt s a a s a prezente va asignat la ieire dar pe urmtorul front activ de ceas. a s a Automatul Moore cu arziere, Figura 3.8-d. Pentru a se elimina posibilnt itatea de hazard pe ieire de la automatul Moore imediat se adaug pe ieire un s a s registru, Reg2, obtinndu-se automatul Moore cu arziere. La arzierea ieirii a nt nt s fata de intrare cu un tact de la Moore imediat, de data aceasta se mai introduce ,, a o arziere de un tact, deci automatul Moore cu arziere simte o intrare nc nt nt transferat la ieire cu o arziere de doua tacturi. a s nt Y ((i + 2)T ) := f (q((i + 1)T )) = f (g(X(iT ), q(iT )))

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

339

O Clasicare Neclasic a Circuitelor Digitale. Clasicarea clasic a cira a cuitelor digitale dou mare clase: circuite logice combinationale, CLC i circuite n a s ,, logice secventiale CLS este foarte aptoare , prezentnd o puternic lips de nc a a a a nuantare. ecare din cele dou clase sunt cuprinse att circuite cu o denitie simpl In a a a ct i circuite cu o denitie complex, att circuite nestructurate ct i circuite putera s a a a s nic structurate. Mai mult, dac pentru circuitele combinationale se poate face o maa pare direct a ntre ce vrem s facem (functie) i cum vrem s facem (structur), la a s a a circuitele secventiale aceast mapare structurfunctie nu totdeauna este a a biunivoc. O tendinta de structurare a circuitelor a existat permanent conceptia a n inginereasc, att pentru a realiza un suport de cuprindere i elegere dar i pentru a a s nt s modalitile de implementare dictate de tehnologie. at evolutia sistemelor natur dar i abordarea mental a acestora este evident In n a s n a saltul care apare la trecerea de la sistemul deschis la sistemul nchis(cu reactie), adic a introducerea conexiunii de reactie. Un sistem cu reactie raport cu cel deschis(fr n aa reactie) poate cpta o anumit autonomie fat de intrare, o anumit adaptabili a a a a a tate. functie de modul cum se structureaz sistemul, bazndu-se pe reactie/reactii, In a a acesta poate deveni chiar complet autonom fata de intrare(vezi Denitia 3.3 ), iar spectrul functiilor realizate poate extins. Bazat pe notiunea de reactie, extensiile structurate, profesorul Gh.Stefan [Stefan n 91] a postulat o abordare de clasicare pentru sistemele digitale care este redat a n continuare.

x1 S1 y1 S2 a) y2 x1 S1 y1 b)

x x2 S2 y2 y c) S1 y1 x3 S3 y1

x S2 y2 x4 S4 y y2 d) y xr

S sr

Figura 3.9 Procedee pentru structurarea sistemelor digitale: a) extensia serie; b) extensia paralel; c) extensia serie-paralel; d) extensia prin nchiderea unei bucle de reactie. 1. Extensia sistemelor digitale se face prin urmtoarele procedee: a a - extensia serie, Figura 3.9-a b - extensia paralel, Figura 3.9-b c - estensia serie-paralel, Figura 3.9-c d - extensia prin introducerea unei bucle de reactie, Figura 3.9-d 2. Sistemul de ordinul zero, SO 0, este circuitul combinational, deoarece nu are nici o bucl de reactie. Ordinul unui sistem poate de la 0 la n, respectiv notat a

340

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

prin(SO 0, SO n) corespunztor numrului de la 0 la n al buclelor de reactie a a care se includ una alta. n 3. Extensiile de tip a, b, c, ale unor sisteme ce au un ordin egal cu n, genereaz tot a un sistem de ordin n. 4. Extensia de tip d, (printr-o conexiune de reactie) ntr-o retea de sisteme ce contin cel putin un sistem de ordin n, genereaz un sitem de ordin n + 1. De a exemplu, aceast sectiune s-a introdus notiunea de automat care se n a ncadreaz a SO 2 deoarece cuprinde registrul de stare, care are o reactie structura n n sa, deci este un SO 1, peste care se nchide a o bucl(cea care transform nc a a starea urmtoare calculat stare prezent), deci dou bucle de reactie. a a n a a Utiliznd aceast abordare de clasicare, implicit, se elege c sistemele de ordin a a nt a superior au o mai evident slbire a corespondentei biunivoce, structur-functie, a a a n raport cu cele de ordin mai redus, pentru c includ mai multe conexiuni de reactie. a aceast lucrare se utilizeaz totui, clasicarea clasic de circuite combinationale In a a s a i circuite secventiale, dar cadrul circuitelor secventiale pentru ecare grup de s n circuite se va indica i ordinul care se s n ncadreaz conform postulrii anterioare. a a

3.2.3

Modaliti de reprezentare ale automatelor at

capitolul doi, dup denirea CLS, s-au prezentat modaliti de reprezentare In a at ale functiei de transfer intrare-ieire, sectiunea 2.2. Si acest capitol, dup funda s n a mentarea structurrii i functionrii unui CLS, se vor prezenta modaliti de reprea s a at zentare ale celor dou functii f i g. De data aceasta sunt mai numeroase modalitile a s at de reprezentare, dintre acestea vor expuse doar: Gracul de tranzitie al strilor, a Tabelul de tranzitie al strilor, Diagrama de variatie timp a semnalelor, Organi a n grama ASM . Evident c se va alege acea modalitate de reprezentare care duce la o msur a a a a complexitii ct mai simpl. Complexitatea, dup cum s-a artat Denitia 2.1, at a a a a n poate apreciat printr-o mrime asociat dimensiunii denitiei. O variant de estia a a a mare a complexitii unui CLS ar prin numrul total de biti produsul cartezian at a n X Q. Pentru un automat cu n intrri principale, k intrri secundare i m ieiri a a s s se estimeaz o masur a complexitii aparente CA A (n, k) O((n + k)2n+k ); 2n+k a a at combinatii(cuvinte) de intrare, ecare cuvnt cu lungimea de (n + k) biti), deci o a valoare foarte ridicat. S-ar putea estima complexitatea i numai dup numrul de a s a a ieiri CAA (m) O(m). Din aceste dou exprimri rezult, evident, c un automat s a a a a este cu att mai simplu de denit cu ct produsul X Q este de dimensiune mai a a mic. Dar aceast complexitate aparent trebuie interpretat ca limit superioar a a a a a a deoarece complexitatea real poate mult mai mic. Complexitatea real poate a a a mult mai mic pentru c functionarea automatului se poate identica o anumit a a n a ordine a ascuns, anumite regulariti structurare ceea ce nal determin o sima at n n a plicare denitie. Oricum, implementarea unui automat se prefer o cretere a n n a s dimensiunii contul unei scderi a complexitii. Un sistem de complexitate sczut n a at a a i dimensiune ridicat poate implementat, pe cnd implementarea unui sistem de s a a complexitate foarte ridicat, e i de dimensiune sczut, poate greu implementabil. a s a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

341

3.2.3.1

Graful de tranzitie al strilor a

Pentru un CLS sincron graful de tranzitie al strilor (diagrama de tranzitie a a strilor) este o reprezentare grac a functiei de tranzitie a strilor, g, i a functiei a a a s de transfer intrare-ieire, f , pentru toate conguratiile de intrare X. acest graf s In ecrui nod (cerculet) este asignat o stare, iar ecare arc orientat a i a ntre cele dou a noduri reprezint tranzitia a ntre cele dou stri. Pentru un automat Mealy pe un a a arc de tranzitie se noteaz expresia logic a variabilelor de intrare(expresia logic a a a a tranzitiei) sau conguratia valorilor variabilelor de intrare pentru care aceast expresie a este adevarat, care va provoca tranzitia respectiv, precum i valoarea conguratiei a a s de ieire Y generat de aceast tranzitie. Evident, tranzitia strilor pe acel arc se s a a a realizeaz numai cnd expresia logic a tranzitiei scris pe acel arc este adevarat. a a a a a Pentru un automat Moore, deoarece ieirile sunt functii doar de starea prezent, s a f : Q Y , pe arce nu sunt trecute conguratiile de ieire Y generate de tranzitiile s respective, conguratia de ieire este s nscris cerculetul strii prezente din care se a n a genereaz ieirea respectiv, iar pe arce se a s a nscrie doar expresia logic a tranzitiei sau a conguratia valorilor variabilelor de intrare pentru care expresia logic a tranzitiei a este adevarat. a

q0

x1 x0 0 x1x0 1 x1x 0 0

q1 q 0 y=1 q2 b)

x1 x 0 x1 x 0 x1 x 0 q 3 y=0

q1 y=1

a) q4

x1x 0 0 q3

x1 x 0 q 4 y=0

q 2 y=1

Figura 3.10 Graful de tranzitie al strilor: a) segment de graf pentru automat a de tip Mealy; b) segment de graf pentru automat de tip Moore. La un automat, cu dou intrri x1 x0 i o ieire y, tranzitia din starea q0 una a a s s n din urmtoarele patru stri posibile q1 , q2 , q3 , q4 , graful de tranzitie este reprezentat a a Figura 3.10-a, pentru o functionare de tip Mealy i Figura 3.10-b, pentru o n s n functionare de tip Moore. La graful de tip Mealy noduri sunt n nscrise numai strile, iar pe ecare arc este trecut expresia logic a tranzitiei/valoarea conguratiei a a a de ieire; la graful de tip Moore noduri, pe lng stare este s n a a nscris i conguratia as de ieire, iar pe ecare arc este trecut doar expresia logic a tranzitiei. Dac la s a a a impulsul de ceas iT automatul ajunge starea q 0 la cel de tip Moore se genereaz n a ieirea y = 1, iar la cel de tip Mealy aceast stare q 0 se genereaz y = 1 numai dac s n a a a conguratia de intrare este 01(xx0 = 1) pentru celelalte trei conguratii (00,10,11) se genereaz y = 0. La urmtorul impuls de ceas (i + 1)T se trece starea urmtoare a a n a pentru care expresia logic a variabilelor de intrare este adevrat, de exemplu pentru a a a n 10(x1 x0 = 1) se trece starea q3 (unde y = 0 pentru automatul Moore, valoarea

342

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

pentru y la automatul Mealy nu este precizat deoarece din aceast stare, acest a a n caz, nu mai este gurat nici un arc de tranzitie la o alt stare). a Exemplul 3.3 Un automat cu dou intrri x1 , x0 i o singur ieire y, genereaz a a s a s a ieirea egal cu 1 numai cnd din sirul de succesiuni aplicate pe intrare se identic secvent s a a a a 00, 00, 11, 10. Pentru acest automat s se deseneze graful de tranzitie al strilor att pentru a a a o functionare de tip Mealy ct i pentru o functionare de tip Moore. a s Solutie. general, pentru aceste automate de recunoatere, care pot considerate In s chei electronice, elaborarea grafului de tranzitie se urmrete realizarea unei succesiuni n a s de stri care corespund aplicrii pe intrare tocmai a succesiunii cutate. Se pornete dintr-o a a a s stare q0 , considerat starea initial. a a
00/0 01/0 10/0 11/0 00/0 00/0 11/0

q0

01/0, 10/0, 11/0 10/0,01/0

q1

q2
00/0

q3

a) x1x 0 /0 x 1+ x 0 /0 b) q0 x 1+ x 0

10/1,01/0,11/0

x1x 0 /0 x1x 0 /0 q1 (x1x 0 + x1x 0 )/0 x1x 0 /1 , x 0 /0


10 00 00 00 11

x1x 0 /0 q2 x1x 0 /0 q3

q4 /1
00

01 10 11

11

,1

0,

01

q0 /0
01, 11, 10

q1 /0
10, 01 01, 11

q2 /0
00

q3 /0

c)

Figura 3.11 Grafuri de tranzitie pentru automatul care identic succe a siunea 00 00 11 10: a) pentru un model Mealy cu marcarea pe arce a conguratiilor de intrare i ieire; b) pentru un model Mealy dar cu s s nscrierea pe arce a expresiei logice a functiei de tranzitie; c) pentru un model Moore.
Pentru varianta de automat Mealy numai conguratia x1 x0 = 00 corespunde nceputului identicrii succesiunii impuse, deci pentru aceasta se realizeaz o tranzitie starea q 1 , a a n generndu-se ieirea y = 0 iar pentru celelalte trei conguratii pe intrare posibile se ramne a s a tot q0 i y = 0, Figura 3.11-a. La fel, q1 numai conguratia x1 x0 = 00 produce tranzitia n s n q2 i genereaz y = 0, celelalte trei conguratii produc tranzitia q0 de unde se poate n s a n ncepe de la capt identicarea succesiunii impuse. q2 intrarea potrivit este x1 x0 = 11 a In a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

343

care determin tranzitia q3 i genereaz y = 0; intrarea x1 x0 = 00 poate considerat ca a n s a a o a doua combinatie de 00 din succesiunea impus, dup cea care a produs tranzitia dintre q1 a a i q2 , deci determin o tranzitie tot q2 . Celelalte doua conguratii 10 i 01 nu se potrivesc s a n s succesiunii impuse, deci provoac o tranzitie q0 pentru o reluare a identicrii de la a n a nceput. starea q3 conguratia de intrare potrivit este 10 care In a ncheie identicarea cu succes a succesiunii impuse i care realizeaz o tranzitie q1 , pentru o eventual nou identicare, i s a n a a s se genereaz y = 1. Dac q3 conguratia aplicat este 00 aceasta este considerat ca prima a a n a a conguratie din succesiunea impus deci salt q1 i continuarea identicrii. Conguratiile a n s a 01 i 11 aplicate q3 nu se potrivesc succesiunii impuse, deci salt q0 cu y = 0 pentru, s n n eventual, o nou identicare. Acelai graf de tranzitie al strilor este prezentat Figura a s a n 3.11-b, dar de data aceasta pe arce, locul conguratiilor valorilor de intrare, sunt n nscrise expresiile logice ale variabilelor de intrare care determin tranzitiile respective. a Graful de tranzitie al strilor pentru automat varianta Moore, Figura 3.11-c, se con a n struiete exact, ca i pentru varianta Mealy, pn starea q3 . Din starea q3 la aplicarea s s a a n conguratiei 10, care ncheie cu succes identicarea succesiunii impuse, este necesar o a tranzitie starea q4 care se genereaz ieirea y = 1(ieire dependent doar de stare). n n a s s a Din starea q4 pentru conguratia 00 se realizeaz o tranzitie q1 (aceast conguratie 00 a n a este considerat ca ind prima din succesiunea impus, deci se reia procesul de identicare), a a iar pentru 11, 10, 01 salt q0 de unde se poate relua de la n nceput procesul de cautare.

Constructia unui graf de tranzitie al strilor trebuie s e fr ambiguiti, ceea a a aa at ce impune pentru expresiile de tranzitie nscrise pe arcele care pornesc dintr-o stare s e mutual exclusive i toate incluse. a s Tranzitiile sunt mutual exclusive dac, dintr-o stare, pentru aceeai con a s guratie a valorilor de intrare nu exist simultan transferuri la dou s-au mai multe a a stri(exist transfer pe un arc numai atunci cnd expresia respectiv de transfer are a a a a valoarea 1). Se poate verica dac dintr-o stare nu exist transferuri simultane, a a efectund produsul logic a ntre expresiile de transfer de pe cte dou arce de transfer a a care pornesc din starea respectiv, aceste produse trebuie s aib totdeauna valoarea a a a zero pentru oricare conguratie a valorilor variabilelor de intrare. Pentru n arce care pornesc dintr-o stare numrul total de perechi pentru care se face produsul expresiilor a de transfer este egal cu n(n 1)/2. Conguratiile valorilor de intrare testate, pentru care produsul logic al expresiilor de transfer de pe dou arce are valoarea 1, sunt a referite ca ind dublu acoperite (de dou transferuri). a Tranzitiile sunt toate incluse dac suma logic a expresiilor de pe arcele care a a pornesc dintr-o stare este totdeauna egal cu 1 pentru oricare conguratie a valorilor a variabilelor de intrare testate; conguratiile de valori ale variabilelor de intrare testate pentru care aceast sum logic este egal cu zero sunt referite prin conguratii a a a a neacoperite. Cu ajutorul unei diagrame V-K, de toate variabilele care se testeaz a n starea respectiv, se pot determina conguratiile neacoperite precum i conguratiile a s dublu acoperite. Pentru aceeai functionare o implementare sub form de automat Moore neces a sit mai multe stri dect implementarea sub form de automat Mealy, ceea ce a a a a s-a vzut i din Exemplul 3.3. general, modelul Mealy este uzual pentru cira s In cuitele secventiale sincrone, iar modelul Moore pentru circuitele asincrone. Graful de tranzitie al strilor/ieirilor este un instrument portrivit pentru vericarea functionrii a s a automatului.

344 3.2.3.2

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Tabelul de tranzitie al strilor a

Informatia continut graful de tranzitie al strilor/ieirilor poate transpus a n a s a ntr-o form mult mai practic pentru sinteza automatului tabelul de tranzitie al a a strilor(i ieirilor). tabelul de tranzitie al strilor exist attea linii cte stri a s s In a a a a a destincte prezint automatul i attea coloane cte cuvinte diferite se pot aplica la a s a a intrare. Un element al tabelului tranzitiilor, aat la intersectia unei linii cu o coloan, a va reprezenta starea urmtoare/ieirea a automatului obtinut la tranzitia din starea a s a prezent corespunztoare acelei linii prin aplicarea la intrare a cuvntului de pe acea a a a coloan. Uneori, elementele tabelului cuprind numai starea urmtoare, pentru ieiri se a a s ntocmete un tabel de aceeai form ale crui elemente sunt ieirile corespunztoare s s a a s a denumit tabelul ieirilor. Tabelul ieirilor pentru automatul Moore se reduce doar s s la o singur coloan, avnd attea elemente cte stri distincte exist(ieirile sunt a a a a a a a s functii numai de starea prezent). a Tabelul de tranzitie al strilor, care este o reprezentare abstract a automatului, a a permite o comparare sistematic a strilor pentru identicarea perechilor de stri a a a echivalente(vezi Denitia 3.7 ) Exemplul 3.4 Pentru automatul reprezentat cele dou modele Mealy i Moore, n a s n Figura 3.11, s se construiasc tabelele de tranzitie ale strilor/ieirilor a a a s

Modelul Mealy Starea urmatoare Starea prezenta q0 q1 q2 q3 a) Intrari x1 x0 Iesirea y In