Sunteți pe pagina 1din 613

Electronic a digital a - Curs Gheorghe TOACS E April 3, 2005

TRANSILVANIA University Bra sov, Electronics and Computers Email: toacseg@vega.unitbv.ro

Cuprins
1 PORT I LOGICE 1.1 SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE . . . . . 1.1.1 Axiomele si teoremele algebrei Booleene . . . . . . . . . . . 1.1.2 Algebre polivalente . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Funct ii Booleene . . . . . . . . . . . . . . . . . . . . . . . . 1.1.4 Forme canonice . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.5 Forme disjunctive si conjunctive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 POARTA LOGICA 1.3 PARAMETRII PORT ILOR LOGICE . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 PORT I LOGICE IN TEHNOLOGIA BIPOLARA 1.4.1 Inversorul bipolar . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Port i logice TTL . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Port i pentru magistrale . . . . . . . . . . . . . . . . . . . . 1.5 PORT I IN TEHNOLOGIA CMOS . . . . . . . . . . . . . . . . . . 1.5.1 Tranzistorul MOSFET . . . . . . . . . . . . . . . . . . . . . 1.5.1.1 Tehnologia de fabricat ie a tranzistorului MOS . . 1.5.1.2 Ecuat iile tranzistorului MOS . . . . . . . . . . . . 1.5.2 Inversorul CMOS . . . . . . . . . . . . . . . . . . . . . . . . 1.5.2.1 Caracteristica static a de transfer VO = f (VI ) . . . 1.5.2.2 Proiectarea inversorului CMOS . . . . . . . . . . . 1.5.2.3 Tehnologia de fabricat ie a inversorului CMOS . . 1.5.2.4 Regimul dinamic al inversorului . . . . . . . . . . 1.5.3 Familia de port i logice CMOS . . . . . . . . . . . . . . . . . 1.5.3.1 Poarta NOR si NAND cu dou a intr ari . . . . . . . 1.5.3.2 Port i logice complexe . . . . . . . . . . . . . . . . 1.5.3.3 Seriile de port i ale familiei CMOS . . . . . . . . . 1.5.3.4 Interfat area TTL-CMOS si CMOS-TTL . . . . . . 1.5.4 Poarta de transmisie CMOS . . . . . . . . . . . . . . . . . . 1.5.5 Circuite logice dinamice . . . . . . . . . . . . . . . . . . . . 1.5.6 Metoda efortului logic . . . . . . . . . . . . . . . . . . . . . 1.5.6.1 Determinarea nt arzierii pe o poart a logic a . . . . 1.5.6.2 Calculul nt arzierii n ret elele de port i logice . . . 1.5.6.3 Alegerea num arului optim de niveluri pe un traseu 1.6 REJECT IA ZGOMOTELOR . . . . . . . . . . . . . . . . . . . . . 1.6.1 Reject ia 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 Reject ia 1.6.2.1 1.6.2.2 1.6.2.3 1.6.2.4

CUPRINS zgomotelor interne . . . . . . . . . . . . . . . . . . . . 150 Zgomotul de mas a. . . . . . . . . . . . . . . . . . . . . 150 Zgomotul datorit a neadapt arii liniilor. . . . . . . . . . 151 Zgomotul datorat cuplajului electromagnetic (diafonia) 158 Zgomotul datorit a curent ilor de alimentare . . . . . . 160 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 COMBINAT IONALE 2.1 CIRCUITUL LOGIC COMBINAT IONAL . . . . . . . . . . . . . . . . 2.2 REPREZENTAREA CLC . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Tabelul de adev ar . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Reprezentarea analitic a . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Diagrama Veitch - Karnaugh . . . . . . . . . . . . . . . . . . . 2.2.3.1 Minimizarea funct iilor 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 ie siri multiple . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Diagrama de decizie binar a, BDD . . . . . . . . . . . . . . . . 2.2.5 Modalit a ti neformale de reprezentare . . . . . . . . . . . . . . . 2.3 REALIZAREA CIRCUITELOR COMBINAT IONALE . . . . . . . . . 2.3.1 Hazardul static . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 CLC PENTRU FUNCT II 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 Aplicat ii cu circuite multiplexoare . . . . . . . . . . . 2.4.5 Demultiplexorul . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.6 Memoria numai cu citire, ROM . . . . . . . . . . . . . . . . . . 2.4.6.1 Realizarea circuitelor si modulelor ROM . . . . . . . 2.4.6.2 Module de memorie ROM . . . . . . . . . . . . . . . . 2.4.7 Dispozitivele logice programabile, PLD . . . . . . . . . . . . . . 2.4.7.1 Matricea Logic a Programabil a, PLA . . . . . . . . . . 2.4.7.2 Matricea logic a programabil a cu nivel OR x, PAL . 2.4.7.3 Circuitul de tip GAL . . . . . . . . . . . . . . . . . . 2.5 CLC PENTRU FUNCT II NUMERICE . . . . . . . . . . . . . . . . . 2.5.1 Comparatorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Sumatorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2.1 Sumatorul cu Transport Progresiv, STP . . . . . . . . 2.5.2.2 Sumatoare de performant a 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 a si Logic a, ALU . . . . . . . . . . . . . . . 2.5.5.1 Calea de date . . . . . . . . . . . . . . . . . . . . . . .

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

5 unit a ti aritmetic 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 SECVENT IALE, CLS 3.1 CIRCUITE LOGICE SECVENT IALE ASINCRONE . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 CIRCUITE LOGICE SECVENT IALE SINCRONE . . . . . . 3.2.1 Sincronizarea semnalelor asincrone . . . . . . . . . . . 3.2.2 Automate nite: structur a, denit ii, clasic ari . . . . 3.2.3 Modalit a ti de reprezentare ale automatelor . . . . . . 3.2.3.1 Graful de tranzit ie al st arilor . . . . . . . . . 3.2.3.2 Tabelul de tranzit ie al st arilor . . . . . . . . 3.2.3.3 Diagrame de variat ie n timp ale semnalelor . 3.2.3.4 Organigrama ASM . . . . . . . . . . . . . . . 3.2.3.5 Limbaje de transfer ntre registre, RTL . . . 3.2.4 Reducerea num arului de st ari . . . . . . . . . . . . . . 3.2.5 Asignarea st arilor . . . . . . . . . . . . . . . . . . . . . 3.2.5.1 Intr ari si ie siri asincrone . . . . . . . . . . . . 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 Aplicat ii la automate . . . . . . . . . . . . . . . . . . . 3.3.4 Circuitul basculant bistabil asimetric (Triggerul Schmitt) . . . . . . . . . . . . . . . . . . . . 3.3.5 Circuitul basculant monostabil . . . . . . . . . . . . . 3.3.6 Circuitul basculant astabil . . . . . . . . . . . . . . . . ATOR 3.4 CIRCUITE NUMAR . . . . . . . . . . . . . . . . . . . 3.4.1 Num ar atoare asincrone . . . . . . . . . . . . . . . . . 3.4.2 Num ar atoare sincrone . . . . . . . . . . . . . . . . . . 3.4.2.1 Num ar atoare presetabile . . . . . . . . . . . 3.4.2.2 Num ar atoare n cod arbitrar . . . . . . . . . 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 Distribut ia si aplicarea semnalului de ceas . . 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 a, SDRAM 3.6.3 Circuite actuale pentru memoriile de date . . 3.6.4 Memoria adresabil a prin cont inut, CAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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 APLICAT II 4.1 CONEXIUNI PROGRAMABILE . . . . . . . . . . . 4.2 PROIECTAREA DE TIP FULL-CUSTOM . . . . . 4.3 PROIECTAREA CU ARII DE PORT I 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 COMBINAT IONAL SAU SECVENT IAL? . . . . . . 4.9 COMPARAT IE INTRE DIFERITELE I DE PROGRAMARE . . . . . . . . . MODALITAT 5 Bibliograe

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

Capitolul 1

PORT I LOGICE
1.1 SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Practica sistemelor digitale simple se poate face pe baz a de rat ionamente logice elementare. Dar, deoarece sistemele digitale au devenit foarte complexe, si aceast a tendint a continu a, pentru analiza, proiectarea/sinteza si realizarea acestora este necesar un suport formal abstract si un suport circuistic. Suportul formal abstract se construie ste, prin extensie, pe baza algebrei logice bivalente iar suportul circuistic se construie ste pornind de la poarta logic a. Abordarea ntrep atruns a a acestor dou a componente constituie subiectul acestui capitol.

1.1.1

Axiomele si teoremele algebrei Booleene

In logica aristotelian a, care trebuie nt eleas a ca o stiint a a demonstrat iei, al c arui obiect l constituie stabilirea condit iilor corectitudinii g andirii, se opereaz a pe baz a de rat ionament cu propozit ii (logica propozit iilor), care pot : e adev arate, e false. De exemplu, dac a presupunem c a pentru statura unei persoane sunt admise numai dou a atribute - nalt si scund - iar pentru vreme numai dou a atribute - rece si cald - atunci sunt naturale urm atoarele patru propozit ii simple: vremea este cald a, vremea este rece, Radu este nalt si Radu este scund. Consider and c a din ecare pereche de atribute unul este adev arat si cel alalt fals rezult a c a propozit iile formate cu aceste atribute pot e adev arate e false; o propozit ie nu poate simultan si fals a si adev arat a ( n cazul nostru consider am c a prima si a treia propozit ie simpl a sunt adev arate, iar celelalte dou a sunt false). Dar, cu aceste propozit ii simple pot realizate propozit ii compuse, de exemplu: vremea este cald a si Radu este nalt, vremea este rece sau Radu este scund. Propozit iile compuse pot , la fel, adev arate sau false in funct ie de valoarea de adev ar/fals a propozit iilor componente si de modul de compunere a acestora n propozit ia compus a. Modul de compunere, n acest caz corespunde conectorului AND/S I pentru prima propozit ie compus a, respectiv conectorului OR/SAU pentru a doua propozit ie compus a. Dac a prima propozit ie are valoarea de adev ar, c and vremea este cald a si Radu este nalt, evident c a a doua propozit ie compus a are valoare de fals. Dar dac a prima propozit ie compus a o transform am n nu 7

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

este adev arat: c a Radu este nalt si vremea este cald a atunci aceast a nou a propozit ie are o valoare de fals ca si a doua propozit ie compus a? Evident c a da. Dar dac a mai introducem si o a treia pereche de propozit ii simple z apada este alb a, z apada este neagr a si form am propozit ii compuse, dup a diferite moduri de compunere, din c ate una din ecare pereche anterioar a atunci mai putem arma cu u surint a care dintre propozit iile compuse sunt echivalente? Destul de greu. In general, la nivelul normal de dotare intelectual a, un individ cu greu poate realiza un rat ionament corect, f ar a un suport mecanic, c and opereaz a simultan cu mai mult de trei variabile. Pentru ,, a nvinge aceast a incapacitate avem nevoie de un instrument care s a mecanizeze rat ionamentele stufoase. Matematicianul englez George Boole (1815-1854) a elaborat o algebr a (algebra Boolean a) ale c arei axiome si teoreme pot utilizate pentru a transforma (transfera) logica aristotelian a a propozit iilor din domeniul rat ionamentului oral ntr-un limbaj formal, operant cu simboluri (logica formal a). Aceast a logic a formal a poate aplicat a ca un instrument operant si pentru descrierea conect arii, n sisteme, a elementelor zice (mecanice, electrice, hidropneumatice) care prezint a in funct ionarea lor doar dou a st ari distincte. Algebra Boolean a (algebr a logic a binar a, algebr a logic a bivalent a) opereaz a pe o mult ime binar a B: B = 0 = 1 = {x|x = 0, 1} elementul nul elementul unitate (universal).

(1.1)

Tabelul 1.1 Operatorii booleeni; denit ie si simboluri grace


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. PORT I LOGICE

In aceast a carte elementele mult imii binare reprezint a valorile logice de adev ar sau de fals sau cifrele sistemului de numerat ie n baza doi - bit ( binary digit - cifr a binar a). Exist a concepute si algebre denite pe mult imi care cont in mai mult de dou a elemente, algebre polivalente logic a polivalent a, logic a cu n-valori; cazuri n care mult imea de denit ie este format a din n numere ntregi. O generalizare pentru logica cu n-valori este logica fuzzy, ns a n logica fuzzy variabilele iau valori n mod continuu pe intervalul [0,1]. [Matei 93], [Cocan 01]. Denit ia 1.1 n M Fie M o mult ime nevid a. O aplicat ie f denit a pe M cu valori f :M M se nume ste lege de compozit ie intern a. Algebra Boolean a dene ste pe mult imea B urm atoarele trei legi de compozit ie intern a (la care, obi snuit, ne vom referi si prin termenul de operator logic): 1. Complementarea sau negat ia (NOT/NON); 2. Conjunct ia sau produsul logic (AND/S I); 3. Disjunct ia sau suma logic a (OR/SAU). Tabelul 1.2 Axiomele si teoremele algebrei Booleene Denumirea
Axioma 1: Mult imea B = {0, 1} este nchis a n raport cu operatorii + si (Inchiderea) Axioma 2: Asociativitatea Axioma 3: Comutativitatea Axioma 4: Existent a elementului neutru Axioma 5: Distributivitatea Axioma 6: Existent a complementului Teorema 1: Idempotent a sau tautologia Teorema 2: Legea lui 0 si a lui 1 Teorema 3: Dubla negat ie (Involut ia) Teorema 4: Absorbt ia Absorbt ia 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

In Tabelul 1.1 sunt prezentate pentru ecare lege de compozit ie boolean a aplicat ia denit a sub forma unui tabel de adev ar precum si simbolurile grace de reprezentare. De si exist a recomandarea pentru utilizarea noilor reprezent ari grace s-a ncet a tenit si continu a folosirea vechilor reprezent ari grace (americane). Denit ia 1.2 O expresie Boolean a f (x1 , x2 , . . . , xn , 0, 1, , +), compus a prin intermediul celor trei operatori AND, OR, NOT prezint a o expresie dual a f D care se obt ine din expresia lui f prin substitut iile urm atoare: AN D OR, OR AN D, 0 1, 1 0 f D (x1 , x2 , . . . , xn , 0, 1, , +) = f (x1 , x2 , . . . , xn , 1, 0, +, ) (1.2)

Dac a o axiom a, teorem a sau expresie boolean a este adev arat a atunci si forma sa dual a este adev arat a. Axiomele si teoremele algebrei Booleene sunt prezentate, sistematic, n Tabelul 1.2. Pentru ecare dintre acestea sunt expuse cele dou a forme, cea n form a produs si cea n form a sum a, ecare ind duala celeilalte. In acest tabel sunt sase axiome si cinci teoreme. Corectitudinea unei expresii booleene se poate verica analitic (prin utilizarea axiomelor si teoremelor din Tabelul 1.2) sau prin calcularea valorilor logice ale expresiilor din cele dou a p art i ale semnului egalit a tii. Folosind aceste dou a modalit a ti n continuare se va verica corectitudinea expresiei teoremei absorbt iei (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

Continu am demonstrat ia analitic a pentru variantele teoremei de absorbt ie invers a (Teorema 4), dar acum nu se mai indic a succesiune num arul axiomelor si teoremelor aplicate.

CAPITOLUL 1. PORT I 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 a devenit un suport formal pentru sistemele zice care utilizeaz a elemente cu dou a st ari distincte. Algebra Boolean a, care am introdus-o anterior si la care ne vom referi prin B(2), este cel mai simplu membru al unei familii de algebre Booleene B(q ) bazate pe not iunea abstract a de latice (o latice este o mult ime nevid a ,, ,, L nzestrat a cu dou a operat ii , care satisfac propriet a tile de idempotent a , comutativitate, asociativitate si absorbt ie). Astfel, se poate construi o algebr a Boolean a B (q ) pentru orice num ar q care este o putere a lui doi, q = 2 k . Deci exist a familia de algebre Booleene B (2), B (4), B (8),. . ., B (2 k ). Pentru k = 1, q = 21 rezult a B (2) denit a pe {0, 1} care este chiar algebra Boolean a prezentat a anterior. Pentru k = 2, q = 22 = 4 rezult a B (4) denit a pe mult imea {0, a, b, 1} cu urm atoarele tabele de denit ie ale operatorilor: conjunct ie, disjunct ie si deplasarea ciclic 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

Conjunct ia

Disjunct ia

Deplasarea ciclic a

Dintre toate algebrele B (q ) numai B (2) este funct ional complet a, deci poate suport pentru implementarea sistemelor logice. O algebr a este funct ional complet a dac a pentru o funct ie de un num ar de variabile se genereaz a doar o singur a reprezentare/expresie. Dezvoltarea tehnologiei electronice a dus la realizarea unor elemente care pot realiza mai multe st ari distincte. Era normal, ca pentru elementele cu mai multe st ari, s a se g aseasc a un suport formal cu valori multiple adic a algebre polivalente, sau q valente, mult imea de denit ie pentru aceste algebre ind format a dintr-un num ar de q elemente distincte. Construct ia algebrelor polivalente a urmat dou a c ai. Prima, a fost o generalizare a operatorilor/(conectivi) booleeni AND, OR si NOT spre operatori corespunz atori conjunct ia, disjunct ia si deplasarea ciclic a obt in andu-se algebrele Postiene (introduse de E.L. Post, 1921). A doua cale, dezvoltat a de B.A. Bernstein (1928), a fost o abordare prin algebra claselor de resturi, operatorii ind adunarea si nmult irea modulo q . O algebr a Postian a q -valent a, P (q ), este denit a pe mult imea {0, 1, 2, . . . , q 1}, adic a pe intervalul de numere ntregi [0, q 1], iar operatorii sunt denit i n felul urm ator: - conjunct ia: x y = min(x, y ); - disjunct ia: x + y = max(x, y ); - deplasarea ciclic a: x = x 1 modulo q .

12

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Pentru algebrele Postiene P (2) si P (4) rezult a urm atoarele tabele de adev ar ale celor trei operatori: - P(2) 0 1 0 0 0 1 0 1 Conjunct ia binar a - P(4) 0 1 2 3 0 1 2 0 0 0 0 1 1 0 1 2 0 1 2 Conjunct ia 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 Disjunct ia 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 Disjunct ia binar a x 0 1 x x 1 0 0 1 Deplasarea ciclic a binar a

Rezult a o identitate ntre B (2) si P (2), (B (2) P (2)). Algebrele Postiene pot o replic a pentru algebrele Booleene, dar operarea n aceste algebre, ca aplicat ii pentru funct iile de comutat ie, devine dicil a pe m asur a ce q are valori mai mari. Cea de a doua cale de generalizare, dezvoltat a de B.A. Bernstein, a generat o alt a clas a de algebre q -valente care pot denite pentru oricare num ar ntreg prin q sau pentru un num ar ntreg putere a lui q . Mult imea de denit ie pentru o astfel de algebr a este {0, 1, 2, . . . , q 1}, iar operatorii sunt operat iile aritmetice de adunare si de nmult ire modulo q . Structurile algebrice denite pe clasele de resturi modulo q (q num ar prim) sunt referite prin c ampuri Galois si sunt notate cu GF (q ) . Pentru GF (3) tabelele de adev ar prin aplicarea operatorilor produs, , si sum a, , modulo 3 sunt: 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 a Reed-Muller, prezint a interes ca suport formal n implement arile unor algoritmi sau circuite de calcul sau de codicare. Operatorii algebrei Reed-Muller au urm atoarele tabele de adev ar: 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 x 0 1 x 1 0

Se observ a c a at at pentru algebra Boolean a B (2) c at si pentru algebra ReedMuller, GF (2), operatorii de nmult ire logic a sunt identici ( = ), la fel si operatorii de complementare. In schimb, difer a operatorii disjunct ie, ace stia ind SAU INCLUSIV (sum a logic a, +) n B (2) si respectiv SAU EXCLUSIV (sum a aritmetic a modulo

CAPITOLUL 1. PORT I LOGICE

13

2, ) n GF (2). Aceast a, aparent ne nsemnat a diferent a , determin a semnicative diferent e ntre cele dou a formalisme, ceea ce apare si n metodele de proiectare si implementare. Axiomele pe GF (2) sunt:
1. Inchiderea. GF (2) este nchis a n raport cu operatorii si . 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 propriet a ti apare similaritatea dintre GF (2) cu algebra numerelor reale (care este denit a pe un c amp innit). Dar urm atoarea axiom a relev a o proprietate diferit a ntre aceste dou a algebre care rezult a din natura aritmeticii modulo 2. 6. Existent a inversului. A A = 0, A A=A

Din ultima axiom a a algebrei GF (2) rezult a c a A = A, adic a ecare element este egal cu inversul s au; aceasta nseamn a c a adunarea si sc aderea sunt identice n GF (2), ceea ce este diferit fat a de adunarea aritmetic a din algebra numerelor reale. Folosind aceast a axiom a se deduce: dac a A B = C atunci A = C B , B = A C si A B C = 0. Se pot duce relat ii 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 n felul urm ator. Se consider a expresia pentru sum a modulo doi A B = A B + A B (a se vedea funct ia f6 (x1 , x0 ) n 1.1.3) 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 a relat iile A B AB = AB = AB+AB

(1.3-b)

A1

= A

Relat iile 1.3 indic a modalit a ti de utilizare at at a formalismului din GF (2) c at si a celui din B (2) pentru implementarea sistemelor n funct ie de suportul zic (circuistica) disponibil a.

14

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

1.1.3

Funct ii Booleene

Fie B (2) = ({0, 1}, , +, ) algebra Boolean a binar a. Un cuv ant binar este o succesiune de bit i; un cuv ant este caracterizat prin lungimea sa, adic a de num arul de bit i din succesiune. Denit ia 1.3 Vom numi o congurat ie binar a de n bit i, sau cuv ant binar cu lungimea de n bit i, un element al mult imii {0, 1} n . Cu doi bit i se pot forma patru cuvinte distincte cu lungimea de doi bit i (00, 01, 10, 11), cu trei bit i se pot forma opt cuvinte distincte cu lungimea de trei bit i (000, 001, 010, 011, 100, 101, 110, 111), iar cu n bit i se pot forma 2 n cuvinte distincte ecare cu lungimea de n bit i; deci mult imea {0, 1} n este constituit a din 2n cuvinte distincte cu lungimea de n bit i. Denit ia 1.4 O funct ie Boolean a 1 , f , cu n intr ari si m ie siri este o aplicat ie f : {0, 1}n {0, 1}m (1.4)

cu domeniul de denit ie n X = {0, 1}n si cu domeniul de valori n Y {0, 1}m . Relat ia 1.4, n cazul c and funct ia logic a are o singur a ie sire, m = 1, cuv antul de ie sire are lungimea de un bit, se retranscrie sub forma: f : {0, 1}n {0, 1}1 (1.5)

Teoretic, funct ia logic a cu m ie siri se poate construi din m aplicat ii de forma 1.5 conectate n paralel. O funct ie logic a cu num arul de ordine i dintr-o familie de funct ii logice de n variabile, denit a conform relat iei 1.4, va notat a sub forma fi (xn1 , xn2 , . . . , x1 , x0 ) sau sub forma fin . In acest capitol se vor studia doar funct iile cu o singur a ie sire. Funct ia logic a de zero variabile. Domeniul de denit ie pentru funct ia de zero variabile este mult imea vid a, {0, 1}0 , iar domeniul de valori este {0, 1}. Rezult a c a 0 0 pot exista dou a funct ii notate cu f0 si f1 care genereaz a pe ie sire cele dou a valori din mult imea {0, 1}
0 f0 0 f1

= =

0 1

(1.6)

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

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

CAPITOLUL 1. PORT I 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 Funct iile de o singur a variabil a: a) tabelul funct iilor de o variabil a; 1 1 b) f0 , funct ia zero (conectarea la mas a); c) f2 , funct ia inversor (circuitul inversor); 1 1 d) f1 , funct ia identitate (driver, buer); e) f3 , funct ia tautologie (conectarea la tensiunea de alimentare). 1. Funct ia zero f0 (x) = 0. Aceasta genereaz a valoarea 0 indiferent de valoarea alocat a variabilei x. Intr-un sistem nu se va calcula niciodat a funct ia zero deoarece valoarea acestei funct ii exist a, zic punctul respectiv se leag a la tensiunea de mas a; 1 0 evident f0 si f0 au acela si efect adic a valoarea constant a 0. 2. Funct ia identitate, f1 (x) = x. Logic, aceast a funct ie pare a f ar a utilitate; dar, practic, aceast a funct ie este foarte utilizat a sub denumirea de driver sau buer si ntr-un sistem zic are o act iune de a aduce/ nt ari la anumite valori normale semnalul electric care este suport pentru variabila x. Aceste circuite care nu realizeaz a o funct ie ,, logic a ci doar au rol de nt arire a semnalului electric sunt referite prin circuit buer sau circuit driver respectiv buer sau driver. 3. Funct ia negat ie (NOT), f2 (x) = x. De fapt, acesta este operatorul de complementare din Tabelul 1.1. Putem interpreta aspectul logic sau aritmetic al act iunii acestei funct ii. Logic, funct ia negat ie aplicat a va substitui adev arul cu fals si falsul cu adev ar. Aritmetic, este un incrementor sau decrementor pentru num ararea n baza doi (at at la num arare n sens cresc ator (direct) c at si n sens descresc ator (invers), trecerea ntre dou a numere consecutive se face prin modicarea bitului cel mai put in semnicativ, LSB (Least Signicant Bit), din unu n zero sau din zero n unu, vezi Figura 2.17-a si 2.17-b). Suportul zic pentru implementarea acestei funct ii este elementul inversor. 4. Funct ia tautologie, f3 (x) = 1. Acest a funct ie genereaz a valoarea 1 indiferent de valoarea alocat a variabilei x. Intr-un sistem nu se va calcula niciodat a aceast a funct ie deoarece valoarea sa exist a, zic punctul respectiv se leag a la tensiunea de alimentare 1 0 VDD /VCC ; evident f3 si f1 au acela si efect. Funct ii de dou a variabile. La o funct ie de dou a variabile f (x 1 , x0 ) mult imea de denit ie, {0, 1}2 , este compus a din cele patru cuvinte de intrare de doi bit i. Pentru cele patru cuvinte de intrare se obt in pentru funct ie patru valori binare, dar cu cele patru valori binare se pot obt ine 42 = 16 cuvinte, deci, n total exist a 16 funct ii diferite de dou a variabile care sunt prezentate n tabelul din Figura 1.2-a. Aceste funct ii au anumite denumiri care exprim a act iunea realizat a: 1. f0 (x1 , x0 ) = 0, funct ia zero. Act iunea sa este identic a cu a celor dou a funct ii 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 Funct ii de dou a variabile: a) tabelul funct iilor de dou a variabile; 2 b) simbolul grac pentru funct ia XOR, f6 ; c) simbolul grac pentru funct ia NAND, 2 2 f7 ; d) simbolul grac pentru funct ia NXOR, f9 ; e) simbolul grac pentru funct ia 2 NOR, f1 . 2. f1 (x1 , x0 ) = x1 + x0 , funct ia SAU-NEGAT/NOT-OR/NOR cu reprezentarea grac a din Figura 1.2-e. Se observ a c a valorile funct iei rezult a prin negarea valorilor obt inute cu operatorul OR (Tabelul 1.1). ia negarea implicat iei inverse; circuitul interdict ie 3. f2 (x1 , x0 ) = x1 x0 , funct (inhibare). 4. f3 (x1 , x0 ) = x1 , negarea lui x1 . 5. f4 (x1 , x0 ) = x1 x0 , funct ia negarea implicat iei directe; circuitul interdict ie (inhibare). 6. f5 (x1 , x0 ) = x0 , negarea lui x0 . 7. f6 (x1 , x0 ) = x1 x0 + x1 x0 , funct ia negarea coincident ei, SAU-EXCLUSIV/ XOR cu simbolul grac de reprezentare n Figura 1.2-b si cu structura de implementare n Figura 1.3-a. Act iunea acestei funct ii poate interpretat a n trei modalit a ti. Prima, se observ a c a asupra celor dou a valori binare ale variabilelor x 1 si x0 funct ia opereaz a ca un sumator modulo 2 (0 0 = 0, 0 1 = 1, 1 0 = 1, 1 1 = 0) de unde si notat ia consacrat a f6 (x1 , x0 ) = x1 x0 . O alt a variant a echivalent a de exprimare se obt ine n felul urm ator: x1 x0 = x1 x0 + x1 x0 = x1 x0 + x0 x0 + x1 x0 + x1 x1 = x0 (x1 + x0 ) + x1 (x1 + x0 ) = (x1 + x0 )(x1 + x0 ) = (x1 + x0 ) (x1 x0 ). A doua interpretare este cea de inversor comandat, relat iile 1.3. Dac a una din variabile este 1 atunci valoarea funct iei va egal a cu negata celeilalte variabile de intrare; f6 (x1 , 1) = x1 1 = x1 . A treia interpretare este cea de negarea coincident ei, adic a anticoincident a

CAPITOLUL 1. PORT I LOGICE

17

( si invers, negarea anticoincident ei este coincident a, adic a x 1 x0 ). Rezult a c a se poate realiza foarte u sor un circuit pentru coincident a a dou a cuvinte de doi bit i x1 x0 , y1 y0 rat ion and n felul urm ator: cuvintele coincid c and nu este adev arat a anticoincident a pentru bit ii de rangul unu x 1 , y1 SI nu este adev arat a anticoincident a pentru bit ii de rangul zero x0 , y0 ; deci relat ia de coincident a este (x1 y1 ) (x0 y0 ) = (x1 y1 ) + (x0 y0 ). Reprezentarea acestui mod de implementare a relat iei de coincident a este dat a n Figura 1.3-c. ia SI-NEGAT/NOT-AND/NAND, cu simbolul grac 8. f7 (x1 , x0 ) = x1 x0 , funct de reprezentare din Figura 1.2-c. Se observ a c a valorile funct iei rezult a prin negarea valorilor obt inute cu operatorul AND (Tabelul 1.1). 9. f8 (x1 , x0 ) = x1 x0 , funct ia conjunct ie, produsul logic AND, SI. 10. f9 (x1 , x0 ) = x1 x0 + x1 x0 , f9 (x1 , x0 ) = x1 x0 , funct ia coincident a , SAU-EXCLUSIV NEGAT/NXOR cu simbolul grac de reprezentare n Figura 1.2-d si cu structurarea ca n Figura 1.3-b. Implementarea circuitului de coincident a a dou a cuvinte de doi bit i x1 x0 si y1 y0 este prezentat a n Figura 1.3-d; (x1 y1 ) (x0 y0 ). 11. f10 (x1 , x0 ) = x0 , funct ia ce nu depinde de x1 . 12. f11 (x1 , x0 ) = x1 + x0 , funct ia implicat ie direct a. 13. f12 (x1 , x0 ) = x1 , funct ia ce nu depinde de x0 . ia implicat ie invers a. 14. f13 (x1 , x0 ) = x1 + x0 , funct 15. f14 (x1 , x0 ) = x1 + x0 , funct ia conjunct ie, sum a logic a OR, SAU. 16. f15 (x1 , x0 ) = 1, funct ia tautologie, act iunea sa este identic a cu ale funct iilor 0 1 f1 , f3 . Funct ii de trei variabile. Pentru funct iile de trei variabile f (x 2 , x1 , x0 ) mul timea de dent ie, {0, 1}3 , este compus a din opt (23 = 8) cuvinte binare de 3 bit i, pentru ecare din aceste cuvinte funct ia poate avea o valoare binar a 0 sau 1. Cu opt valori binare pot denite 28 funct ii diferite. Modul de formare al funct iilor de trei variabile fi3 , i = 0, 1, . . . , 255 rezult a din Tabelul 1.3. Indicele i, care identic 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 Funct iile XOR si NXOR: a,b) structura circuitelor XOR, respectiv NXOR; c,d) circuite de coincident a cu XOR si NXOR.

18

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

funct ia fi3 , este corespondentul zecimal al num arului binar de 8 bit i format cu valorile binare ale funct iei. De exemplu funct ia f187 are urm atoarele valori binare 1101 1101, deoarece 187|10 = 1101 1101|2 . Bitul cel mai semnicativ, MSB (Most Signicant Bit), din cuv antul valorilor funct iei, corespunde congurat iei de intrare x 2 x1 x0 = 111, iar LSB corespunde congurat iei de intrare x2 x1 x0 = 000. Utilitatea tuturor funct iilor fi3 pentru implementarea sistemelor logice este discutabil a deoarece , 16 dintre aceste funct ii sunt echivalentul funct iilor f i2 iar unele din cele r amase pot compuse prin intermediul altor funct ii de dou a variabile. In general, pentru implementarea sistemelor logice sunt utilizate doar c ateva din funct iile expuse pentru cazul n = 2. n Pentru n variabile num arul funct iilor logice distincte este 2(2 ) ; ceea ce determin a pentru n = 4 216 = 65536 funct ii, iar pentru n = 5 232 = 4294967296 funct ii(!). Denit ia 1.5 Un sistem complet de funct ii Booleene este un set minimal de funct ii Booleene cu ajutorul c arora se poate exprima orice funct ie Boolean a. In paragraful 1.1.1 s-au denit cele trei legi de compozit ie pe mult imea B . Cu ajutorul celor trei operatori NOT, AND si OR poate exprimat a oricare funct ie logic a, deci ace sti operatori formeaz a un sistem complet. Al doilea set de operatori care pot constitui un sistem complet este perechea NOT si AND. Acest set poate substituit numai cu o singur a funct ie, funct ia f7 (x1 , x0 ) = (x1 x0 ), adic a operatorul NAND, deoarece operatorul NOT apare ca un NAND de aceea si variabil a (x x) = x, iar operatorul AND rezult a ca un NAND negat, (x1 x0 ) = x1 x0 . Al treilea set de operatori OR si NOT formeaz a de asemenea un sistem complet. S i aceast a pereche de operatori poate substituit a numai cu o singur a funct ie, funct ia f2 (x1 , x0 ) = x1 + x0 , care este operatorul NOR. Deoarece NOR este un OR negat se poate obt ine u sor OR prin negarea NOR-ului, (x 1 + x0 ) = x1 + x0 , iar NOT-ul este Tabelul 1.3 Funct ii 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. PORT I LOGICE

19

identic cu NOR-ul aplicat aceleia si variabile (x + x) = x. In Tabelul 1.4 sunt modelat i operatorii NOT, AND, OR, NAND si NOR e numai cu NAND, e numai cu NOR. Apare, deci, posibilitatea ca un sistem logic s a poat a realizat doar cu un singur operator. Consecint a practic a a acestei observat ii este enorm a prin faptul c a implementarea unui sistem se poate obt ine prin replicarea aceluia si operator (acela si tip de circuit), n consecint a pret ul de cost scade foarte mult si sigurant a n funct ionare cre ste. Exist a circuite integrate, produse de turn atoria de siliciu, dar nc a neterminate, care cont in un singur (sau dou a) circuite logice elementare ntr-un num ar foarte mare, referite ca arie de port i logice (gate-array, vezi sect iunea 4.3). Pe o astfel de arie de port i logice utilizatorul si poate realiza sistemul pentru aplicat ia sa prin proiectarea doar a conexiunilor ntre un num ar de circuite logice elementare. Apoi, turn atoria de siliciu termin a circuitul integrat, prin realizarea conexiunilor proiectate de utilizator, rezult and astfel un circuit cu multe avantaje, la a c arui construct ie a participat at at utilizatorul (custom) c at si turn atoria de siliciu; sistem referit ca ind o proiectare de tip semi-custom.

1.1.4

Forme canonice

Denit ia 1.4 exprim a not iunea de funct ie logic a de n variabile. Cu cele n variabile se pot compune, prin intermediul operatorilor AND, OR si NOT, termenii funct iei si la fel tot cu ace sti operatori pot inclu si termenii n cadrul funct iei. In consecint a , un termen al unei funct ii logice poate avea variabile negate sau nenegate (NOT), care pot nsumate logic (OR) sau nmult ite logic (AND). Denit ia 1.6 Termenul canonic produs este produsul logic a tuturor celor n variabile ale funct iei, 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 a ar avea mai mult de n factori atunci ar nsemna c a una sau mai multe variabile ar intra n produsul logic at at negate c at si nenegate ceea ce, conform axiomei de existent a a nsemna c a termenul se reduce la constanta complementului x x = 0, Tabelul 1.2, ar Tabelul 1.4 Modelarea operatorilor logici pe baz a de NAND sau NOR
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 si sum a (n=3)


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 a prin Pi . Num arul tuturor termenilor produs Pi este 2n , deci i = 0, 1, 2, . . . , 2n 1. Dar cum se codic a un minterm prin simbolul Pi ? Se va exemplica pentru cazul n = 3. Un termen canonic produs are valoarea logic a 1 numai atunci c and tot i factorii s ai au valoarea logic a 1. Pentru exemplul anterior de termen produs x 2 x1 x0 , cu valoarea logic a 1, rezult a o unic a congurat ie de valori: x 2 = 1, x1 = 0, x0 = 1. Cuv antul binar format din valorile variabilelor este 101, care este num arul cinci n zecimal, reprezentat n codul de numerat ie binar natural. Deci, iat a c a mintermul x2 x1 x0 poate codicat prin litera P cu indicele 5, adic a P 5 ; dar aceast a codicare trebuie s a e o aplicat ie bijectiv a deci si trecerea invers a de la codul P i la exprimarea ca produs logic canonic a mintermului trebuie s a e unic a. De exemplu, trecerea de la termenul canonic produs P6 la mintermul corespunz ator se face n felul urm ator: 6|10 = 110|2 x2 x1 x0 . Rezult a urm atoarea regul a de codicare a termenilor canonici produs: pentru reprezentarea unui minterm prin simbolul Pi variabilelor negate li se atribuie valoarea zero, iar variabilelor nenegate li se atribuie valoarea unu. Este corect a si reciproca, n cuv antul de cod Pi pentru un bit cu valoarea unu corespunde n produsul logic canonic o variabil a nenegat a iar pentru un bit cu valoarea zero corespunde o variabil a negat a. Aplic and aceast a regul a pentru funct ia de trei variabile se pot scrie relat iile din Tabelul 1.5. Denit ia 1.7 Termenul canonic sum a este suma logic a a tuturor celor n variabile ale funct iei, negate sau nenegate. Termenul canonic sum a este referit ca maxterm. Pentru o funct ie de trei variabile (n = 3) ca un exemplu de termen canonic sum a poate acesta x2 + x1 + x0 . La fel, ca si la termenul canonic produs, un termen canonic sum a nu poate compus din mai mult de n variabile, n caz contrar n termen ar a cu constanta 1. Num arul exista suma x + x = 1, deci valoarea termenului ar egal total de termeni canonici sum a este 2n iar codicarea se face prin simbolul Si . a zero numai atunci c and Termenul canonic sum a x2 + x1 + x0 are valoarea logic

CAPITOLUL 1. PORT I LOGICE

21

ecare termen al sumei are valoarea zero, adic a x 2 = 1, x1 = 0, x0 = 1. Rezult a indicele i al simbolului Si ca ind egal cu num arul zecimal ce este reprezentat n binar de cuv antul format din valorile celor trei variabile adic a 101| 2 = 5|10 , deci S5 . Trecerea invers a, de exemplu de la S6 la maxtermul corespunz ator, se face n felul urm ator 6|10 = 110|2 x2 + x1 + x0 . Rezult a urm atoarea regul a de codicare a termenilor canonici sum a pentru reprezentarea unui maxterm prin simbolul Si : variabilelor negate li se atribuie valoarea unu, iar variabilelor nenegate li se atribuie valoarea zero. Este corect a si reciproca, n cuv antul de cod pentru un bit cu valoarea unu corespunde n sum a logic a canonic ao variabil a negat a iar pentru valoarea zero corespunde o variabil a nenegat a. Conform acestei reguli de codicare pentru n = 3 se pot scrie relat iile din Tabelul 1.5. Se observ a c a, pentru codicare, la aceea si variabil a nenegat a se atribuie valoarea 1 n minterm si 0 n maxterm si pentru aceea si variabil a negat a se atribuie valoarea 0 n minterm si 1 n maxterm. Iar pentru trecerea invers a, de la cod la expresia logic a, unui bit 1 n cuv antul de cod i corespunde o variabil a nenegat a n minterm si o variabil a negat a n maxterm si invers pentru bitul 0. Ca o consecint a , din aceste reguli de codicare, se pot demonstra urm atoarele relat ii: Si = P i ; Pi = S i (1.7)

adic a termenul canonic sum a se obt ine prin negarea termenului canonic produs si invers. La fel, pentru i = j , i, j = 0, 1, 2, . . . , 2n 1, se pot demonstra relat iile: 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} n felul urm ator: a) d i Pi = Pi 0 Si 0 dac a di = 1 dac a di = 0 dac a di = 0 dac a di = 1 (1.9-a) (1.9-b)

b) di + Si =

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

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

di Pi

(1.10)

Denit ia 1.9 Forma canonic a normal a conjunctiv a, FCNC, a unei funct ii 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

Denit ia 1.10 Forma normal a disjunctiv a, FND, a unei funct ii de n variabile este o sum a numai de mintermi ai c aror coecient i d i = 1 Forma FND se obt ine din FCND prin eliminarea mintermilor ai c aror coecient i 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 cont ine doar indicii acelor coecient i ai funct iei care au valoare d i = 1. De exemplu, pentru o funct ie de patru variabile:
15

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

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

aceast a list a enumer a doar indicii coecient ilor binari d 0 = 1, d3 = 1, d4 = 1, d5 = 1, d8 = 1, d9 = 1, d12 = 1, d14 = 1 si d15 = 1. Denit ia 1.11 Forma normal a conjunctiv a, FNC, a unei funct ii de n variabile este un produs numai de maxtermi ai c aror coecient i d i = 0. Forma FNC se obt ine din FCNC prin eliminarea maxtermilor ai c aror coecient i a sub forma unei di = 1. Pentru exprimarea FNC se introduce o reprezentare simbolic liste f (xn1 , xn2 , . . . , x1 , x0 ) =
2n 1 i=0

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

(1.13)

care cont ine doar indicii acelor coecient i ai funct iei care au valoarea d i = 0. Lu and ca exemplicare funct ia dat a la relat ia 1.12 de data aceasta lista va
15

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

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

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

(di + Si ) (d i P i )

(1.14-a)

b)

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

(1.14-b)

Aceste forme de scriere se pot obt ine pornind de la relat iile 1.10 si 1.11, prin negarea ambelor p art i, apoi aplicarea teoremei lui DeMorgan si tin and cont de relat iile 1.7, n felul urm ator:

CAPITOLUL 1. PORT I LOGICE

23

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

2n 1 i=0

(di Pi ) =

2n 1 i=0

(d i + 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 exprim ari se pot deduce si prin rat ionament din relat iile 1.10 si 1.11. Din FCND se obt ine FND dac a se consider a numai termenii canonici produs care au valoarea 1, relat ia 1.12, respectiv din FCNC se obt ine FNC, relat ia 1.13, dac a se consider a numai termenii canonici sum a care au valoarea 0. Sub forma FND funct ia are valoarea 1 pentru suma tuturor termenilor canonici care au coecient ii d i = 1 si are valoarea 0 pentru suma tuturor termenilor canonici care au coecient ii d i = 0. Evident c a funct ia negat a f va avea valoarea 1 pentru suma tuturor acelor termeni canonici care produc valoarea 0 pentru f , adic a pentru acei coecient i d i care sunt 0; respectiv funct ia negat a f va avea valoarea 0 pentru suma tuturor acelor termeni canonici care produc valoarea 1 pentru f , adic a pentru acei coecient i d i = 1. Deci a ca o form a FND, relat ia 1.14-b, de acei termeni produs funct ia negat a f poate scris pentru care di = 1, adic a pentru acei coecient i di care au valoarea 0 la scrierea funct iei f sub form a FND. Acela si rat ionament se poate face si pentru forma FNC, adic a se scrie funct ia f pentru coecient ii d i care au valoarea 0 iar funct ia f , relat ia 1.14-a, pentru coecient ii care au valoarea 1, adic a d i = 0. O modalitate uzual a de denire a unei funct ii logice este cea prin tabelul de adev ar. Denit ia 1.12 Tabelul de adev ar este un tabel care n prima coloan a din st anga, coloana de intrare, listeaz a toate congurat iile de valori ale variabilelor de intrare X = {0, 1}n , iar n urm atoarele coloane, coloane de ie sire, sunt listate valorile, din Y {0, 1}, corespunz atoare ie sirilor. Astfel de tabele de adev ar au fost prezentate init ial n Tabelul 1.1 pentru introducerea operatorilor booleeni NOT, AND, OR iar apoi n Figurile 1.1, 1.2 si Tabelul 1.2, respectiv pentru funct ile logice de una, dou a si trei variabile. Exemplul 1.1 Pentru o celul a sumator complet s a se deduc a funct ia logic a sum a, s i si funct ia logic a pentru transferul urm ator, Ci . Solut ie. In sect iunea 2.5.2 se va analiza sumarea a dou a cuvinte binare cu lungimea de n bit i A = An1 An2 . . . Ai . . . A1 A0 si B = Bn1 Bn2 . . . Bi . . . B1 B0 . Operat ia de sumare a celor dou a cuvinte se realizeaz a pentru ecare pereche de bit i (Ai , Bi ) ncep and cu perechea i = 0, de rangul cel mai put in semnicativ, (20 ), p an a la perechea i = n 1, de rangul cel mai n1 semnicativ, (2 ). Pentru ecare rang aceast a sumare este efectuat a cu o celul a sumator complet. O celul a sumator complet pentru rangul i are trei intr ari Ai , Bi , Ci1 care sunt respectiv bit ii celor dou a cuvinte A si B si transportul anterior Ci1 ce a fost generat de celula din rangul 2(i1) . Semnalele generate la ie sire de c atre celula sumator complet sunt doi bit i: si sum a (= Ai + Bi + Ci1 ) si Ci transportul urm ator care se aplic a la celula de rang 2(i+1) ca transport anterior. Celula sumator complet este notat a uneori cu simbolul (3, 2), indic and faptul c a are trei intr ari si dou a ie siri. Exist a si celula (2, 2) care are numai dou a intr ari Ai si Bi (nu se consider a transportul anterior Ci1 ) care este referit a ca celul a semisumator. Pentru o celul a sumator complet tabelul de adev ar este prezentat n Tabelul 1.6.

24

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Tabelul 1.6 Tabelul de adev ar pentru o celul a sumator/sc az ator complet


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 ie sirea sum a si forma normal a canonic a disjunctiv a, FNCD conform relat iei 1.10, este :
7

si (Ai , Bi , Ci1 ) =

i=0

di P i = d 0 P 0 + d 1 P 1 + d 2 P 2 + d 3 P 3 + d 4 P 4 + d 5 P 5 + d 6 P 6 + d 7 P 7

unde di , i = 0, 1, 2, . . . , 7 sunt coecient ii funct iei din coloana si din Tabelul 1.6. Evident c a produsele pentru care di = 0 pot eliminate deoarece au valoarea 0 si se obt ine forma normal a disjunctiv a, FND. 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 a c a FND se poate scrie direct lu and numai acei mintermi pentru care funct ia are valoarea 1 n tabelul de adev ar,
7

si (Ai , Bi , Ci1 ) =

(1, 2, 4, 7)
0

,, de unde si expresia de sintez a pe baz a de 1 . Aplic and axiomele si teoremele din Tabelul 1.2, si expresiile pentru XOR si NXOR, forma normal a disjunctiv a pentru s i se transform a n felul urm ator: 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 si sinteza funct iei negate si , aceasta va avea valori 1 ia 1.14-b, deci forma normal a disjunctiv aa (di = 1) acolo unde si are valori 0 (di = 0), relat funct iei negate se scrie direct examin and tabelul de adev ar:
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. PORT I LOGICE

25

Se pune ntrebarea care cale se alege pentru sinteza funct iei, cea prin FND pentru funct ia negat a sau cea prin FND pentru funct ia nenegat a? R aspunsul este evident: prin calea care solicit a mai put in efort, adic a cea care duce la o form a FND cu mai put ini mintermi. Pentru funct ia Ci sinteza se face din tabelul de adev ar, de data aceasta pe baz a de zerouri, adic a prin formele conjunctive. Forma canonic a normal a conjunctiv a, FCNC, conform exprim arii din relat ia 1.11, se va scrie:
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 coecient ii funct iei din coloana Ci . Se pot elimina factorii pentru care di = 1 deci se ajunge la forma normal a conjunctiv a FNC,
7

Ci (Ai , Bi , Ci1 ) =

(0, 1, 2, 4)
0

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

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

Aplicarea propriet a tii de distributivitate la aceast a expresie duce la 3 3 3 3 = 81 termeni produs care apoi sunt redu si prin aplicarea axiomelor si teoremelor algebrei Booleene. A doua cale de sintez a pe baz a de zerouri se poate face pentru funct ia negat a C i prin inspectarea tabelului de adev ar se aleg maxtermii pentru care funct ia are valoarea 1, relat ia 1.14-a. Rezult a forma normal a conjunctiv a, FNC, pentru funct ia negat 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 )

si de data aceasta se pot obt ine 81 de termeni produs care pot redu si. Uzual, se alege ntre sinteza prin FNC pentru funct ia negat a sau sinteza prin FNC pentru funct ia nenegat a prin observarea n tabelul de adev ar care cale duce la mai put ini maxtermi. Din aceste dou a tentative de sintez a pe baz a de zero se constat a dicultatea aplic arii formelor conjunctive, acesta este unul din argumentele pentru care n practic a se aplic a aproape n exclusivitate sinteza pe baz a de 1, adic a FND, e pentru funct ia negat a f , e pentru funct ia nenegat a f. In consecint a , revenind la sinteza pe baz a de 1 rezult a pentru Ci
7

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

(3, 5, 6, 7) =
i=1

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

(1.16)

o form a rezonabil a, fat a de sintezele anterioare prin FNC si care prin procedee analitice este adus a la urm atoarele forme disjunctive FD: 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 si conjunctive

Forma disjunctiv a FD a funct iei este o sum a de termeni necanonici de unde si denumirea de sum a de produse, iar forma conjunctiv a FC a funct iei este un produs de termeni sum a necanonici, denumit a si produs de sume. Reducerea formelor normale disjunctive (FND) sau normale conjunctive (FNC), respectiv la FD sau FC este referit a ca un procedeu de minimizare a funct iei, de si uneori nu se obt ine forma minim a sau se obt in mai multe expresii (neminime). Exist a trei modalit a ti de minimizare: 1 - analitic a, utiliz and axiomele si teoremele algebrei Booleene. Aceast a cale este ecient a doar pentru funct ii cu num ar mic de variabile si de termeni. 2 - prin metode grace (de exemplu diagrama Veitch - Karnaugh), de asemenea utilizabile pentru funct ii care nu au mai mult de 5-6 variabile. 3 - pe baza unor algoritmi sau abord ari euristice . Exist a algoritmi (de exemplu Quine - McQlusky) care pot aplicat i unor funct ii cu zeci de variabile si ie siri multiple. Ace sti algoritmi stau la baza programelor de minimizare (de exemplu Espresso - MV) incluse n medii de Programare Automat a n Electronic a, referite prin termenul tehnici EDA (Electronic Design Automation). Minimizarea pe cale analitic a implic a put in a practic a n utilizarea axiomelor si teoremelor algebrei booleene. Aceast a practic a nu se bazeaz a pe un algoritm anume ci mai mult pe intuit ie. Astfel se pot ad auga termeni (tautologia) care apoi se grupeaz a cu alt ii nc at s a se aplice (cel mai frecvent ) axioma de existent a a complementului iei sau absorbt ia invers a. (x + x = 1), teorema absorbt Exemplul 1.2 Pentru urm atoarea form a normal a disjunctiv 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 a se deduc a forma minim a. Solut ie. Se grupeaz a c ate doi termeni canonici pentru a se aplica axioma de existent a a complementului (dar pentru aceasta unii termeni A B C D, A B C D se dubleaz a) n felul urm ator: 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 aplic and expresia funct iei SAU EXCLUSIV NEGAT se obt ine F (A, B, C, D) = B D + B (A C )

CAPITOLUL 1. PORT I LOGICE

27

Uneori se pune problema de a se parcurge traseul invers adic a pentru o form a minim a s a se deduc a forma normal a disjunctiv a din care a provenit. In general, pentru o astfel de extindere de la un termen produs la un termen canonic produs se introduc n termenul produs variabilele care lipsesc sub forma x + x. De asemenea, pentru ca o form a disjunctiv a s a e extins a la forma normal a conjunctiv a (produse de sume) suma de termeni produs trebuie transformat a ntr-un produs de sume utiliz and axioma distributivit a tii A + B C = (A + B ) (A + C ), iar n termenii sum a variabilele care lipseau se introduc prin axioma de existent a a complemntului x x = 0. Exemplul 1.3 Urm atoarea form a disjunctiv a F (A, B, C ) = A B + A C s a e extins a la forma normal a conjunctiv a. Solut ie. In primul r and termenii produs sunt convertit i n termeni sum a utiliz and 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 )

Fiec arui termen sum a i lipse ste o variabil a care se introduce n felul urm ator: A+B A+C B+C In nal se obt ine:
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 a de sume de produse sau produse de sume se pot modela pe dou a niveluri de operatori respectiv pe AND-OR sau OR-AND. De exemplu urm atoarele forme FD si FC: F1 = A B + C D si F2 = (A + B )(C + D)

pot modelate ca n Figura 1.4-a si 1.4-b. Uneori se impune ca modelarea s a se fac a e numai cu operatorul NAND sau e numai cu operatorul NOR. Pentru forme FD modelarea se face u sor pe baza operatorului NAND (not am simbolic prin AB (A, B )) deoarece aplic and sumei de produse teorema dublei negat ii si apoi teorema lui DeMorgan se obt ine tocmai un NAND de NAND-uri. In schimb pentru forme FC modelarea se face mai u sor pe baza operatorului NOR (not am simbolic prin A + B (A, B )) deoarece aplic and produsului de sume teorema dublei negat ii si apoi teorema lui DeMorgan se obt ine tocmai un NOR de NOR-uri. Astfel F1 si F2 devin: 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 si FC: a,b) pe dou a niveluri AND-OR, respectiv OR-AND; c,d) pe dou a niveluri NAND-NAND, respectiv NOR-NOR.

Num ar and simbolurile si rezult a c a pentru ecare funct ie sunt necesari trei operatori NAND respectiv NOR cu c ate dou a intr ari cum se poate vedea si n Figura 1.4-c si 1.4-d. Variabilele negate pot obt inute prin x (x, x) sau (x, x). Uneori pentru conversia model arii de tip AND-OR sau OR-AND, respectiv ntr-o modelare de tip NAND-NAND sau NOR-NOR se pot utiliza anumite reguli grace de transformare, care rezult a din axiomele si teoremele algebrei Booleene. Aceste reguli sunt:

Regula 1. La ie sirea unui operator se poate introduce un cerculet de negat ie dar atunci trebuie introdus un cerculet de negat ie si la intrarea operatorului imediat ,, urm ator (Dubla negat ie este adev ar ), deci pe conexiunea ntre cei doi operatori variabila nu sufer a modic ari;

Regula 2. Introducerea unui cerculet de negat ie pe ie sirea unei funct ii trebuie urmat a, tot pe ie sire, de ad augarea nc a a unui cerculet de negat ie (buer inversor). Respectiv, introducerea la o variabil a de intrare, ntr-un operator, a unui cerculet de negat ie trebuie precedat a de negarea aceleia si variabile de intrare (aplicarea pe intrare a variabilei negate);

Regula 3. C and se face conversia unui simbol grac init ial ntr-unul nal, AND/NAND OR/NOR, se pot introduce la simbolul nal cerculet e de negat ie e la intrare, e pe ie sire, e at at la intrare c at si la ie sire dar numai dac a la terminalele corespunz atoare ale simbolului init ial nu a existat un cerculet de negat ie n felul urm ator (de fapt aceast a regul a nu este dec at o aplicare grac a a teoremei lui DeMorgan):

CAPITOLUL 1. PORT I LOGICE

29

AND

OR

NAND

NOR

Exemplul 1.4 Pentru conversiile din Figura 1.4 s a se aplice regulile grace de transformare. Solut ie. Aplic and regulile de conversie grac a se obt in succesiunile de circuite ca 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 si problema invers a a model arii, pentru o modelare dat a s a se determine expresia FD sau FC care l descrie, de fapt aceast a abordare pentru un sistem deja implementat este referit a ca analiza sistemului. Se poate obt ine funct ia logic aa modelului prin urm atoarele trei modalit a ti: 1 - pentru ecare congurat ie de valori logice ale variabilelor de intrare se deduc

30

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

valori logice n punctele intermediare ale modelului si respectiv se calculeaz a valoarea logic a de ie sire si n felul acesta se construie ste tabelul de adev ar. Apoi, din tabelul de adev ar rezultat se deduce funct ia logic a. 2 - se scriu expresiile logice dup a ecare simbol de operator logic, pornind de la ecare intrare nspre ie sire, rezult and dup a ultimul operator expresia logic aa funct iei. Aceast a modalitate este asem an atoare cu prima: se merge de la intrare schemei spre ie sire din punct n punct, dar la prima modalitate cu valorile funct iei pe c and la aceast a modalitate cu expresiile funct iei. 3 - utiliz and convent iile prin cerculet e de negat ie. A treia modalitate este recomandat a doar atunci c and operatorii au ie sirile negate (NAND, NOR) sau au intr ari negate, deci parcurgerea de la intrare spre ie sire ridic a anumite dicult a ti. De ce? pentru c a suntem mai obi snuit i s a oper am cu operatorii AND si OR cu intr ari nenegate. De fapt, aceasta se reduce tot la a doua modalitate dar prin conversia operatorilor care cont in cerculet e de negat ie n operatori f ar a aceste cerculet e, se ajunge la o reprezentare numai cu operatori AND si OR. Exemplul 1.5 Pentru modelele de circuite din Figura 1.6-a, 1.6-c s a se deduc a expresia funct iilor (aplic and cerculet ele de negat ie).
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 si OR pentru determinarea funct iilor logice.
Solut ie. Pentru modelul din Figura 1.6-a se aplic a regula 3 si se obt in numai operatori AND si OR, F = A (B + C ). Pentru modelul din Figura 1.6-c se aplic a de dou a ori regula 3 si structura poate considerat a ca ind compus a doar din operatori AND si OR pentru care se scrie foarte simplu expresia logic a, F = D + C (A + B ).

CAPITOLUL 1. PORT I LOGICE

31

Acest mod de transformare a modelelor logice este foarte indicat n depanarea circuitelor deoarece pornind de la intrare spre ie sire, dup a ecare nivel logic de OR sau AND se poate verica simplu corectitudinea semnalelor. In ncheierea prezent arii acestor not iuni de suport formal pentru sistemele digitale accentu am faptul c a formele normale disjunctive, FND, sau formele disjunctive, FD, (sum a de produse) pot modelate pe dou a nivele logice AND-OR. De asemenea, formele normale conjunctive, FNC, sau formele conjunctive, FC, (produse de sume) pot modelate pe dou a nivele logice OR-AND. Aceste armat ii sunt adev arate n mod teoretic c and operatorii AND, OR se aplic a pentru orice num ar de intr ari si exist a disponibile si variabilele negate. In practic a, unde un operator este o poart a logic a, trebuie luate cu precaut ie aceste armat ii n funct ie de port ile disponibile si de num arul de intr ari ale acestora (adic a de restrict iile electrice de conectivitate ale acestor port i).

1.2

POARTA LOGICA

C and se trece de la formele FND, FNC la FD, FC si de la modelele acestora pe baz a de operatori NOT, AND, OR, NOR, NAND, la implement ari reale pe baz a de circuite electronice pentru operatorii logici se folose ste, n exprimare, termenul de poart a logic a. Prin termenul de poart a logic a se face referire la orice circuit electronic care implementeaz a un operator logic, deci exist a poarta inversor (NOT), poarta AND, poarta OR, poart a XOR, poarta NAND etc. Prin referirea tuturor circuitelor logice cu termenul de poart a logic a apare un abuz de limbaj care, totu si, are o justicare din punct de vedere al transferului semnalului (variabile logice binare) prin circuit. Consider and operatorii logici prezentat i n Tabelul 1.7, cu cele dou a intr ari A,C si ie sirea f , se poate analiza cum pentru transferul semnalului logic A spre ie sirea f , prin condit ionarea de c atre semnalul C (de control), circuitul electronic care implementeaz a un astfel de operator are un comportament similar cu ,, utilizarea/funct ionarea unei port i. Astfel, c and circuitul poart a este deschis las a semnalul A s a treac a modicat sau nemodicat spre ie sirea f , iar c and poarta este ,, nchis a semnalul A nu se transfer a la ie sirea f . Intuitiv, n aceast a analogie, poarta este nchis a sau deschis a de c atre cineva, adic a n cazul unui circuit de un semnal de control, variabila C . De exemplu, pentru poarta AND c and este deschis a, C = 1, semnalul de intrare A se transfer a la ie sire f = A, iar c and este nchis a, C = 0, semnalul de intrare A nu se transfer a la ie sire, f este ncontinuu la valoarea logic a 0. Poarta XOR, este put in mai special a, este permanent deschis a, transfer a la ie sire semnalul de intrare nemodicat pentru C = 0, f = A (A 0 = A), iar pentru C = 1 transfer a spre ie sire intrarea A negat a, f = A (A 1 = A); poarta XOR are o funct ionare de circuit inversor comandat. O astfel de interpretare, de circuit poart a, se poate g asi pentru oricare din operatorii prezentat i n Tabelul 1.7. Analiz and n paralel poarta AND si poarta OR se poate observa c a poarta AND este deschis a pentru C = 1 iar poarta OR este deschis a pentru C = 0, astfel spunem c a una este deschis a c and semnalul C este activat n 1 logic iar cealalt a c and semnalul C este activat n 0 logic. P an a acum ata sam valorii de adev ar, pentru o variabil 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 a 1 si pentru valoarea de fals valoarea binar a 0. Dar, n practic a, se poate ata sa pentru starea de adev ar a unei variabile acea valoare binar a pe care variabila o are n starea activ a (adic a starea care produce act iunea pentru care se justic a acea variabil a), care poate : e bitul 1, e bitul 0. Iar valoarea de fals variabila o are n starea de neactivare, care poate : e pentru valoarea binar a 1, e pentru valoarea binar a 0. In aceast a interpretare, variabila A c and este n stare activ a pentru valoarea bisi c and este n starea activ a nar a 1 (activ High) se noteaz a n felul urm ator A H pentru valoarea binar a 0 (activ Low) se noteaz a A L . La fel, si o ie sire OU T a unei port i poate considerat a n stare activ a (adev arat a) e c and are valoarea binar a 0 si se noteaz a OU T L, e c and are valoarea binar a 1 si se noteaz a OU T H . Cu aceste notat ii tabelele de adev ar pentru port ile logice se realizeaz a nu pentru valorile binare 1 si 0 ci pentru st arile de activare (adev arat) si neactivare (fals) ale intr arilor si, respectiv, pentru starea de activare (adev arat) si neactivare (fals) a ie sirii. Pe simbolurile grace ale port ilor pentru semnalele de intrare si de ie sire active n L se introduc cerculet e de negat ie. In practic a, dac a un semnal este activ n starea High, de a suxul H si se reprezint a numai A sau exemplu A H sau OU T H , nu se mai adaug

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 a semnalelor (pentru valoarea binar a asignat a st arii de adev ar: a) pentru o poart a AND; b) pentru o poart a OR.

CAPITOLUL 1. PORT I LOGICE

33

OU T nt eleg andu-se c a au valoarea de adev ar (starea activ a) n 1 logic iar valoarea de fals n 0 logic. In schimb, pentru semnalele active n starea Low se ment ine suxul L. Deci, poate s a apar a aceast a notare mixat a, adic a semnalele active n starea High nu mai au suxul H dar cele active n starea Low au suxul L. De exemplu, pentru poarta AND din Figura 1.7-a ie sirea este activ a (valoare de adev ar), OU T L = 0, se obt ine c and toate intr arile sunt activate (au valoare de adev ar), adic a: IN T R1 = 1, si IN T R5 = 1; iar pentru poarta IN T R2 L = 0, IN T R3 L = 0, IN T R4 L = 0 OR din Figura 1.7-b ie sirea nu este activ a (nu are valoare de adev ar, OU T L = 1) numai c and nici una din intr ari nu este activat a (este fals a), adic a: IN T R1 = 0, si IN T R5 = 0. IN T R2 L = 1, IN T R3 L = 1, IN T R4 L = 1 In practica circuitelor digitale pentru o variabil a V AR, care este activ a n starea n aceast a carte se va utiliza Low, se utilizeaz a dou a notat ii: V AR sau V AR L; at at notat ia de variabil a negat a, V AR, c at si notat ia de nivel Low, V AR L, ambele av and aceea si semnicat ie. Exemplul 1.6 S a se reprezinte tabelele de adev ar si simbolurile grace uniforme (vezi Tabelul 1.1) pentru toate variantele de activare ale variabilelor de intrare si ie sirii la o poart a AND cu dou a intr ari. Solut ie. Ie sirea unei port i AND cu dou a intr ari este activ a (are valoare de adev ar) numai c and sunt active (au valori de adev ar) ambele intr ari; deci o aplicat ie pe mult imea
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 a AND

34

1.2. POARTA LOGICA

{adev ar,fals} cu valori tot n aceast a mult ime. Ata sa nd ec arei valori de adev ar (activare), pentru variabilele de intrare si pentru ie sire, e nivelul Low e nivelul High rezult a 8 variante pentru tabelul de adev ar, Figura 1.8. Realizat i variantele pentru tabelul de adev ar si pentru poarta OR.

In tehnic a, de foarte mult timp, este utilizat un element ce prezint a dou a st ari: contactul unui releu. Un contact nchis prin lamela sa stabile ste, ntre dou a puncte de circuit, un traseu de rezistent a electric a de valoare foarte mic a, teoretic zero, iar un contact deschis ntrerupe un circuit ntre dou a puncte, deci realizeaz a ntre cele dou a puncte o rezistent a innit a. Celor dou a st ari ale contactului ( nchis, deschis) li se pot asocia elementele mult imii binare {0, 1}. Rezult a c a pentru circuitele cu contacte, denumite ret ele de comutat ie, se poate aplica formalismul algebrei Booleene, B (2); apare astfel posibilitatea de a formaliza proiectarea si analiza ret elelor de comutat ie. Acest formalism a fost prima dat a folosit de Claude Shannon n 1938 care, a scos din arhiva matematicilor algebra conceput a de George Boole (1852) si a aplicat-o n acest scop. In Figura 1.9 este schit at a o structur a de circuit cu releu care, prin cele dou a contacte ale sale, unul normal deschis cel alalt normal nchis, realizeaz a traseul circuitelor
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 Ret ele de comutat ie: a) structur a de circuit releu; b,c,d,e) ret ele de comutat ie pentru modelarea operatorilor de: identitate, negat ie, sum a logic a si produs logic; f,g) ret ele de comutat ie pentru modelarea unei forme de sume-de-produse si produse-de-sume.

CAPITOLUL 1. PORT I LOGICE

35

de alimentare a dou a becuri notate cu f1 si f2 . Un contact normal deschis este n stare deschis a c and releul nu este comandat si trece n stare nchis a c and releul este comandat. Invers, un contact normal nchis este n starea nchis a c and releul nu este comandat si se deschide c and releul este comandat. In aceast a schit a , c and releul este necomandat tensiunea de alimentare a bobinei este 0, x = 0, arm atura nu este atras a, contactul normal nchis este nchis, cel normal deschis este deschis, iar becul f1 este stins si becul f2 este aprins. C and se comand a releul, tensiunea de alimentare are o anumit a valoare, pe care o putem nota cu 1, x = 1, contactul normal deschis se nchde, cel normal nchis se deschide deci becul f 1 se aprinde si f2 se stinge. Ata sa nd st arii becurilor valoarea logic a 1 (activ) c and este aprins si valoarea logic a 0 (inactiv) c and este stins rezult a c a aplicat ia {0, 1} {0, 1}, conform Figurii 1.1, este funct ia 1 1 f1 , adic a identitate pentru becul f1 , f1 = x si este funct ia f2 , adic a negat ie pentru becul f2 , f2 = x. Evident, contactul normal deschis prin care se realizeaz a funct ia de identitate se va nota cu variabila x, Figura 1.9-b, iar contactul normal nchis prin care se realizeaz a funct ia de negat ie se va nota cu variabila negat a, x, Figura 1.9-c. Rezult a, intuitiv, c a dou a contacte nseriate realizeaz a, pentru ret eaua de comutat ie respectiv a, modelarea produsului logic de dou a variabile, Figura 1.9-e, iar dou a contacte n paralel realizeaz a modelarea sumei logice a dou a variabile, Figura 1.9-d. O
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 a pentru structurarea port ilor logice: a,b) elemente componente pentru modelarea funct iei de identitate. c,d) elementele componente pentru modelarea funct iei de inversor n tehnologie bipolar a si n tehnologie CMOS.

36

1.2. POARTA LOGICA

ret ea de comutat ie serie-paralel, Figura 1.9-f, modeleaz a o funct ie disjunctiv a (sum a de produse, FD) iar o ret ea de comutat ie paralel-serie, Figura 1.9-g, modeleaz a o funct ie conjunctiv a (produse de sume, FC). 1 Elementele logice de baz a n structura unei port i sunt cele dou a funct ii f 1 (identi1 tate) si f2 (negat ie) cu care se pot realiza diferite organiz ari prin intermediul celor patru tipuri de conectare: serie, paralel, serie-paralel si paralel-serie. In circuitele poart a componentele zice care pot modela funct ia identitate pot dioda sau tranzistorul de trecere. O diod a polarizat a n sens direct este echivalent a unui contact nchis iar polarizat a n sens invers poate modela un contact deschis, Figura 1.10-a (s-a considerat caracteristica de diod a ideal a). La fel, un tranzistor de trecere (vezi Figura 1.51) poate echivalentul unui contact nchis/deschis dup a cum tranzistorul este comandat n conduct ie/blocare, Figura 1.10-b. Pentru funct ia de inversor exist a circuite simple n ecare tehnologie. Structura unui circuit inversor n tehnologie bipolar a este reprezentat a n Figura 1.10-c (vezi sect iunea 1.5.2) iar pentru inversorul CMOS n Figura 1.10-d (vezi sectiunea 1.4.1). Circuitul cu diode care produce la ie sire tensiunea de valoare minim a aplicat a la intrare, M IN (V1 , V2 , V3 ), Figura 1.11-a si circuitul cu diode care produce la ie sire tensiunea maxim a aplicat a la intrare, M AX (V1 , V2 , V3 ), Figura 1.11-b pot utilizate ca structuri de poart a AND sau OR n funct ie de convent ia de logic a folosit 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) si MAX(b) ca port i logice AND si OR n funct ie de convent ia de logic a pozitiv a sau negativ a

CAPITOLUL 1. PORT I LOGICE

37

Prin convent ia de logic a pozitiv a ntr-un circuit nivelului de tensiune ridicat VH (High), n general tensiunea de alimentare V H = VCC , VH = VDD , i se atribuie ,, valoarea logic a 1 iar nivelului de tensiune cobor at VL (Low), n general tensiunea ,, de mas a VL = VSS = 0V , i se atribuie valoarea logic a 0 . Invers, prin convent ia de ,, ,, logic a negativ a se fac urm atoarele atribuiri VH 0 , VL 1 . Exist a circuite logice care sunt alimentate cu tensiuni negative (V EE ) fat a de mas a, circuitele de tip ECLEmitter Coupled Logic, si la acestea se p astreaz a atribuirile din convent iile de logic a pozitiv a sau negativ a; diferent a fat a de circuitele care se alimenteaz a la tensiune pozitiv a este faptul c a VH = 0V (tensiunea masei) si VL = VEE , Figura 1.13. Circuitul MIN, Figura 1.11-a, va genera pentru ie sire V O = M IN (V1 , V2 , V3 ) deoarece va conduce numai dioda care are aplicat pe catod tensiunea cu valoarea cea mai cobor at a, celelalte diode, cu catozii mai pozitivi, vor blocate. Consider and circuitul MIN realizat numai cu dou a diode D1 si D2 , la catozii c arora se aplic a numai tensiunile de valori VH sau VL , se poate construi tabelul pentru tensiunea de ie sire VO . Aplic and acestui tabel convent ia de logic a pozitiv a rezult a c a circuitul MIN are o funct ionare de poart a AND, iar n convent ia de logic a negativ a are o funct ionare de poart a OR. Circuitul MAX, Figura 1.11-b, va genera pentru ie sire tensiunea maxim a aplicat a pe intrare VO = M AX (V1 , V2 , V3 ) deoarece va conduce doar dioda care are aplicat pe anod tensiunea cea mai ridicat a, celelalte diode, cu potent ial mai cobor at pe anod, vor blocate. Aplic and tabelului, care arat a corespondent a dintre tensiunea de ie sire VO si tensiunile de intrare V1 , V2 (sunt considerate doar dou a intr ari), convent ia de logic a pozitiv a rezult a c a circuitul MAX are funct ionare de poart a OR iar n convent ia de logic a negativ a are o funct ionare de poart a AND. Teorema 1.1 Duala unei funct ii de variabile negate este egal a cu negata funct iei de variabile nenegate. f (x0 , x1 , . . . , xn1 ) = f D (x0 , x1 , . . . , xn1 ) (1.17)

Relat ia 1.17 se poate verica pe tabelele de adev ar din Figura 1.11-a si 1.11-b deoarece o convent ie de logic a se obt ine din cealalt a convent ie prin negarea variabilelor si V1 + V2 = iar operatorii AND si OR sunt unul dualul celuilalt: V 1 V2 = V1 + V2 V1 V2 . De fapt, relat ia 1.17 este o generalizare a teoremei lui DeMorgan. Exemplul 1.7 S a se conceap a o organizare de circuit, folosind circuitele MIN si MAX, care s a produc a tot i maxtermii si mintermii de dou a variabile. Se poate extinde aceasta pentru generarea de sume de produse de dou a variabile? si de patru Solut ie. Mintermii de dou a variabile x1 x0 , x1 x0 , x1 x0 , x1 x0 pot produ circuite MIN, ca n Figura 1.11-a, dar cu patru diode pe catozii c arora se aplic a variabilele x1 , x1 , x0 , x0 . Cele patru circuite MIN se pun n paralel ca n Figura 1.12-a realiz and o i matrice AND. Maxtermii de dou a variabile x1 + x0 , x1 + x0 , x1 + x0 , x1 + x0 pot generat de patru circuite MAX ca n Figura 1.11-b, cu variabilele de intrare x1 , x1 , x0 , x0 , iar cele patru circuite sunt conectate n paralel realiz and matricea OR din Figura 1.12-b. (Atent ie care catozi sunt conectat i la linii pentru circuitele MIN si la coloane pentru circuitul MAX). Evident c a se pot obt ine sume de produse de dou a variabile dac a cele patru ie siri de la matricea AND sunt conectate, ecare, la c ate o intrare la matricea OR realiz and o congurat ie

38

1.2. POARTA LOGICA

de circuit pe dou a niveluri logice, AND-OR. C and se realizeaz a aceast a nseriere de niveluri logice apar dou a probleme: prima, este c aderea de tensiune pe jonct iunile n conduct ie, ceea ce duce ca semnalul de ie sire n stare logic a 1 s a e sub valoarea VH , iar a doua, este lipsa unei decupl ari (izolare) ntre intrare si ie sire. Pentru valorile urm atoare VH = 5V , VL = 0V , VDon = 0, 7V , R1 = 1K , R2 = 10K rezult a tensiunea de ie sire n starea H egal a cu VH (VH VDon ) R1 = 3, 9V VH = 5V (R1 + R2 )

Structura obt inut a prin nserierea unei matrice AND cu o matrice OR poate suport pentru implementarea oric arei funct ii sum a de produse dac a matricile respective sunt programabile, adic a pe nivelul AND se poate genera oricare termen produs iar pe nivelul OR se poate selecta oricare produs n obt inerea unei sume (vezi sectiunea 2.4.7). Fizic, generarea acestor termeni cu structura similar a celei din Figura 1.12 se face, ntr-un nod al celor dou a matrice, prin neconectarea sau conectarea diodei la linie respectiv la coloan a, ceea ce se reduce la arderea sau ment inerea unui fuzibil nseriat cu dioda dintr-un nod. Prin fabricat ie, realiz and n ecare nod o diod a nseriat a cu un fuzibil, i se ofer a utilizatorului ca ulterior s a aib a posibilitatea de a programa ecare nod din matricea AND si matricea OR n funct ie de expresia particular a a funct iei exprimat a ca sum a de produse. In procesul de programare, cu ajutorul unui aparat programator, utilizatorul poate selecta oricare nod din cele dou a matrice si prin aplicarea unei tensiuni de valoare 10 30V s a ard a fuzibilul. Dispozitivele programabile de c atre utilizator sunt foarte eciente si exibile n etapa de dezvoltare a unui produs c and se ncearc a diferite variante p an a la obt inerea variantei nale. Produc atorii de dispozitive programabile produc aceste dispozitive cu toate nodurile matricei nzestrate e cu fuzibil e cu un antifuzibil. La dispozitivele cu fuzibil, prin programare, rezistent a conexiunii dintr-un nod este modicat a de la valoarea zero la valoara innit a (arderea fuzibilului). Un fuzibil din tungsten-titan sau nichel-crom cu l a timea de 0.15m necesit a pentru ardere un curent 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 n logica pozitiv a: a)pentru termeni produs; b)pentru termeni sum a.

CAPITOLUL 1. PORT I LOGICE

39

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

1.3

PARAMETRII PORT ILOR LOGICE

P an a n prezent s-a parcurs traseul de la expresie logic a la un model al acesteia pe o ret ea de operatori care, zic, sunt port i logice. Dar, ntr-o implementare de sistem conectarea port ilor logice nu este f ar a limite ci trebuie s a se respecte anumite restrict ii care sunt exprimate prin anumite valori si care sunt referite prin termenul de parametrii de catalog ai port ilor logice. Prin parametrii (de catalog) ai unei port i logice se nt eleg acele valori care i caracterizeaz a funct ionarea sa n interconectarea cu alte port i din aceea si familie sau n condit ii de test. Uneori, poarta logic a este interconectat a si cu alte port i din alte familii ceea ce impune o specicare unicat aa parametrilor pentru toate familiile de port i logice. Parametrii unei port i trebuie s a caracterizeze regimul de curent continuu, regimul tranzitoriu si regimul de zgomot. Frecvent, ace sti parametri sunt dat i n catalog ca valori tipice (normale), precum si cu valorile pentru cazul cel mai defavorabil. Cazul cel mai defavorabil presupune c a: circuitul cel mai defavorabil, din lotul admis, este n condit iile cele mai defavorabile de funct ionare (temperatur a, umiditate, tensiune de alimentare). Gama uzual a de temperatur a este ntre 0 C si 70 C, pentru aplicat iile civile, si se extinde la intervalul 55 C +125 C , pentru aplicat iile militare. Condit iile defavorabile pentru tensiunea de alimentare se specic a prin abaterile fat a de valoarea nominal a V , adic a prin valorile V V . In proiectare, chiar si pentru cazul cel mai defavorabil, poarta trebuie s a realizeze valori pentru parametrii s ai care s a nu ias a din plaja valorilor prev azute n catalog. C and funct ionarea port ii se face n afara condit iilor specicate mai sus se impune m asurarea parametrilor s ai si ace sti parametri m asurat i s a e n limitele valorilor de catalog pentru a putea interconectate cu alte port i. 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 si tensiunea de mas a 0V sau VSS ; aceste dou a niveluri de tensiune sunt notate prin V H si VL si li se pot asigna cele dou a valori ale mult imii binare B = {0, 1}, e conform convent iei de logic a pozitiv a, e conform convent iei negative. De fapt, cele dou a niveluri de tensiune, practic, se extind la dou a intervale de tensiune notate cu V H si VL ca n Figura 1.13, deci oricare valoare a tensiunii din aceste intervale (reprezint a VH respectiv VL ) si corespunde cifrei binare 1 sau 0 conform convent iei de logic a

40

1.3. PARAMETRII PORT ILOR LOGICE

adoptat a. Prin extinderea de la o valoare x a de tensiune la un interval se insensibilizeaz a variat iile produse de: modicarea tensiunii VCC , VDD de alimentare, mb atr anirea pieselor, temVH VH VH peratur a , zgomot. Intre cele dou a inter"1" "0" vale de tensiune permise VH , VL exist a Intervalul un interval de tensiune interzis; pentru o interzis poart a cu funct ionare normal a valorile tenVL "0" "1" siunilor de intrare si de ie sire nu pot s a se situeze n intervalul interzis. Detectarea doar VL masa 0V,V SS a cifrelor logice de 1 sau 0 impune penVH tru o poart a logic a o comportare procus,, "1" "0" tian a , deci de ecare dat a c and semnalul VH trece printr-o poart a logic a este readus la Intervalul interzis nivelul logic de 0 sau de 1, adic a n interiorul intervalelor permise. Deoarece ecare "1" "0" VL poart a readuce semnalul n intervalele perVL VL VEE mise VH , VL rezult a c a la propagarea semnalului printr-un lant de port i zgomotul suprapus este eliminat n ecare nivel logic si nu se amplic a, precum la circuitele cu Figura 1.13 Nivelurile de tensiune funct ionare analogic a. pentru valorile logice 1 si 0 Marginea de zgomot n curent continuu si imunitatea la perturbat ii. O poart a logic a are specicate n foaia de catalog nivelurile de tensiune garantate la ie sire si nivelurile de tensiune permise la intrare, Figura 1.14-a. Nivelurile de tensiune garantate la ie sire sunt acoperitoare n raport cu nivelurile de tensiune permise la intrare, aceast a acoperire ind g andit a n scopul pre nt ampin arii inuent ei zgomotelor. (Prin zgomot se nt elege orice semnal electric ce se suprapune peste semnalul logic). Aceast a acoperire se reect a n parametrii: margine de zgomot M H n curent continuu pentru starea H si marginea de zgomot M L n curent continuu n starea L.
Logica pozitiva Logica negativa

Denit ia 1.13 Marginea de zgomot pentru nivelul H n curent continuu, MH , este diferent a dintre tensiunea de ie sire minim a garantat a n starea H, VOHmin , si tensiunea de intrare minim a permis a n starea H, V IHmin . Marginea de zgomot pentru nivelul L n curent continuu, ML , este diferent a dintre tensiunea de intrare maxim a permis a n starea L, VILmax , si tensiunea de ie sire maxim a garantat a n starea L, VOLmax . MH ML = VOHmin VIHmin ; = VILmax VOLmax .

(1.18)

Valorile garantate la ie sire si cele permise la intrarea unei port i pot corelate cu caracteristica de transfer, VTC (Voltage Transfer Characteristic). Caracteristica de transfer VO = f (VI ) exprim a grac dependent a static a ntre tensiunea la ie sirea port ii, VO , si tensiunea aplicat a la intrarea port ii, V I . Pentru o poart a inversor VTC-ul este reprezentat n Figura 1.14-b. Evident, c a aceast a caracteristic a de transfer a unei port i este situat a n afara zonelor interzise (reprezentate ha surat)

CAPITOLUL 1. PORT I 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 si ie sire la o poart a logic a: a) denirea nivelurilor/(intervalelor) de tensiune H si L garantate la ie sire si permise la intrare; b) caracteristica static a de transfer VO = f (VI ) pentru o poart a inversor.

42

1.3. PARAMETRII PORT ILOR LOGICE

n planul VI , VO si este desenat a ca o band a (punctat a), pentru a indica faptul c a port ile de acela si tip din cadrul unei familii au caracteristici ce nu se suprapun ci sunt dispersate n aceast a band a. Imunitatea la perturbat ii, IP + respectiv IP , se dene ste prin tensiunile proport ionale cu urm atoarele segmente din Figura 1.14-b: IP + = VOLmax Ny [V ] IP = VOHmin Ny [V ]

(1.19-a)

Se presupune c a tensiunea de ie sire a unei port i este V OHmin si peste aceasta se suprapune (se scade) o tensiune de zgomot cu amplitudinea cel mult egal a cu IP ; iar tensiunea rezultat a aplicat a, ca tensiune de intrare la intrarea port ii urm atoare (comandat a), nu produce pentru aceast a poart a deplasarea punctului de funct ionare pe caracteristica de transfer dincolo de punctul N (tensiunea de intrare nu devine mai mic a dec at V 2 care ar corespunde trecerii tensiunii de intrare de la V IH la VIL ). La fel se consider a c a si n starea L peste valoarea V OLmax se poate suprapune cel mult tensiunea de zgomot IP + f ar a ca s a se dep a seasc a pe caracteristic a punctul N. Punctul N este intersect ia caracteristicii V O = f (VI ) cu prima bisectoare, care are V and caracteristica este simetric a. Dac a amplitudinile de zgomot coordonatele ( V 2 , 2 ) c aplicate tensiunii de ie sire n st arile H sau L dep a sesc respectiv valorile IP sau IP + atunci tensiunea de intrare la poarta comandat a trece dincolo de coordonatele punctului N si produce o comutat ie eronat a; coordonatele punctului N denesc pragul logic de comutat ie al port ii (vezi Denit ia 1.14). Pentru aplicat iile din mediile cu zgomot, de amplitudine mare, se recomand a port i care au valori mari pentru IP + si IP ; astfel de port i denumite cu imunitate ridicat a la zgomot au tensiuni de alimentare care pot ajunge la 30V. Pentru realizarea unei posibilit a ti de comparat ie a imunit a tii la perturbat ii a diferitelor familii de port i logice, care au valori diferite pentru nivelurile logice de tensiune V H , VL si pentru tensiunile de alimentare, se introduc coecient ii adimensionali factorii de imunitate la perturbat ii: F IP + [%] = F IP [%] = IP + 100 V IP 100 V

(1.19-b)

,, ,, unde V este saltul de tensiune ntre nivelurile logice 0 si 1 . Dac a se consider a V (cazul ideal) c a V este egal a cu tensiunea de alimentare V CC , VDD si IP + = 1 2 , 1 IP = 2 V rezult a pentru F IP + = F IP = 50%, n general F IP < 50%. Caracteristica ideal a de inversor este cea de tip releu f ar a histerezis trasat a cu linie ntrerupt a ngro sat a n Figura 1.14-b. Port ile n tehnologie CMOS au caracteristica de transfer 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 r aspuns/comutat ie a unei port i, altfel spus, este nt arzierea n timp ntre momentul aplic arii semnalului logic la intrarea port ii si momentul aparit iei semnalului la ie sirea port ii. Deoarece, practic, m asur arile se fac pe formele de variat ie n timp ale semnalelor de intrare si ie sire se vor deni unele puncte specice xate pe aceste semnale.

CAPITOLUL 1. PORT I LOGICE

43

In Figura 1.15-a sunt denite urm atoarele m arimi (pe semnalele de intrare si de ie sire de la o poart a inversor): r - timpul de cre stere (rise time); intervalul de timp ntre valorile 10% si 90% pe frontul de cre stere de la L la H al semnalului de intrare n poart a; f - timpul de descre stere (fall time); intervalul de timp ntre valorile 10% si 90% pe frontul de descre stere de la H la L al semnalului de intrare n poart a; LH - durata frontului de cre stere; intervalul de timp ntre valorile 10% si 90% pe variat ia de la L la H a semnalului de ie sire din poart a; HL - durata frontului de c adere; intervalul de timp ntre valorile 90% si 10% pe variat ia de la H la L a semnalului de ie sire din poart a; pLH - timpul de propagare prin poart a la comutarea ie sirii de la L la H; m asurarea se face ntre punctele cu amplitudine 50% ale variat iei semnalului de intrare si de ie sire; pHL - timpul de propagare prin poart a la comutarea ie sirii de la H la L; m asurarea se face ntre punctele cu amplitudine 50%; Tciclu - perioada de ciclu este intervalul de timp ntre dou a puncte identice pe dou a cicluri succesive de variat ie ale unui semnal. In practica circuitelor digitale se recomand a s a se lucreze cu semnale care ndeplinesc relat ia: Tciclu (15 40)p (pentru circuitele care funct ioneaz a la frecvent e de peste 1GHz T ciclu scade sub 10p ). Timpul de propagare este denit prin relat ia: p = pHL + pLH 2 (1.20)

De multe ori n practic a, pentru u surarea m asur arii intervalelor de timp si f ar aa ie de introduce erori semnicative, se consider a pentru semnalul de intrare V I o variat dreptunghiular a, Figura 1.15-b. Pentru acest semnal de intrare ideal, cu panta fronturilor innit a, valorile timpilor de propagare pHL si pLH se m asoar a de la aceste fronturi p an a n punctul de amplitudine 50% de pe variat ia semnalului de ie sire. Timpul de propagare este dependent de structura port ii si sarcina comandat a la ie sire. Dependent a de sarcina comandat a este foarte puternic a la port ile CMOS. Un model simplicat al circuitului de ie sire al unei port i logice si a sarcinii comandate este reprezentat n Figura 1.16-a. In acest model rezistent a echivalent a R include rezistent a intern a a etajului de ie sire al port ii (a generatorului G) plus rezistent a sarcinii (a port ii sau port ilor comandate), iar capacitatea echivalent a C include capacit a tile interne ale etajului de ie sire, capacitatea sarcinii comandate si capacit a tile parazite ale conexiunilor. Conform acestui model rezult a variat ia tensiunii pe capacitatea de sarcin a respectiv la inc arcare si desc arcare:

44

1.3. PARAMETRII PORT ILOR 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 variat ia semnalelor de la intrarea si ie sirea unei port i inversor: a) modul de denire a intervalelor: r , f , HL , LH , pHL , pLH si Tciclu ; b) model simplicat pentru m asurarea de pHL si pLH .

CAPITOLUL 1. PORT I 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 ie sire al unei port i (a) si variat ia n timp a tensiunii pe o sarcin a capacitiv a conectat a la ie sire (b). a) b) vC vC = = VO 1 e T VO e T
t t

(1.21)

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

Exemplul 1.8 Rezistent a de ie sire a unei port i n starea H este R1 = 2K iar n starea L este R2 = 25. Sarcina capacitiv a pe ie sire are valoarea de 100pF . Int arzierea intern a pi este de 25ns. S a se determine timpul de propagare p al port ii. Solut ie:
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 nc arcare la intrare si la ie sire. Factorul de nc arcare la intrare (fan in, input loading factor) reprezint a sarcina pe care o intrare o introduce c and este conectat a la ie sirea unei port i. Deoarece ntr-o familie de circuite logice exist a diferite port i cu num ar diferit de intr ari trebuie s a se xeze care tip de intrare reprezint a sarcina standard. In general, se admite c a sarcin a este standard sarcina care corespunde unei intr ari de la o poart a NAND cu dou a intr ari (NAND2).

46

1.3. PARAMETRII PORT ILOR LOGICE

In funct ie de tehnologia de realizare a port ilor sarcina de intrare se m asoar a n m arimi zice diferite. Pentru tehnologia bipolar a, unde comanda se face printr-un curent pe baza unui tranzistor, sarcina de intrare se m asoar a n unit at a ti de curent. Iar pentru tehnologia CMOS, unde comanda se face n tensiune pe o capacitate (echivalent a) de intrare, sarcina de intrare se m asoar a n unit a ti de capacitate. In Figura 1.17 sunt prezentate notat iile si sensurile curent ior de la intrarea si ie sirea port ilor. Referitor la o born a, care este un terminal al unei port i, unui curent care intr a prin acea born a i se asociaz a semnul plus (+I), iar unui curent care iese din acea born a i se ata seaz a semnul minus (-I); evident, simbolurile celor doi curent i care intr a si ies, la o aceea si born a, au semne opuse. In foaia de catalog a unei port i este specicat a sarcina maxim a (curent sau capacitate) pe care intrarea unei port i o prezint a pentru nivelurile permise de tensiune H si L. O poart a trebuie s a poat a absorbi/genera la ie sire un curent mai mare sau egal cu suma tuturor curent ilor necesari generat i/absorbit i de c atre toate intr arile port ilor care sunt conectate la acea ie sire, dar n acela si timp poarta trebuie s a asigure la ie sire si nivelurile garantate de tensiune pentru starea H si L. Cu aceste valori necesare pe o intrare si disponibile pe o ie sire se poate determina un factor de nc arcare la ie sire (fan-out, output loading

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 a pentru simbolurile si sensurile curent ilor la intrarea (a) si ie sirea (b) unei port i

CAPITOLUL 1. PORT I LOGICE

47

factor) at at n starea L, F IL c at si n starea H, F IH conform relat iilor: IOLmax ; IILmax IOHmax ; F IH = IIHmax F I = min {F IL , F IH } F IL =

(1.22)

Rezult a c a factorul de nc arcare maxim F I este egal cu valoarea minim a dintre F IL , si F IH . In general, dac a se consider a c a toate intr arile port ilor au aceea si sarcin a atunci factorul de nc arcare maxim exprim a num arul maxim de intr ari comandate de ie sirea unei port i f ar a deteriorarea nivelurilor normale de tensiune. Acela si rat ionament, ca si pentru curent i, se poate face c and sarcina este capacitiv a (se determin a num arul maxim de sarcini standard/unitare pe care le poate comanda o poart a pe ie sire). Pentru o poart a, ideal, F I ar trebui s a e innit dar n realitate are valori de ordinul unit a tilor pentru tehnologia bipolar a si de ordinul zecilor pentru tehnologia ,, CMOS. Prin t aria unui semnal se nt elege abilitatea de a absorbi sau genera un curent. Cu c at un semnal este mai puternic cu at at curentul generat sau absorbit este mai mare (prin convent ie bara de alimentare V DD /VCC genereaz a un curent iar bara de mas a 0V/VSS absoarbe un curent). Pentru port ile logice ie sirile sunt surse de nivelurile 1 sau 0 mai puternice dec at intr arile. Liniile de alimentare V DD , VCC sau ,, VSS sunt sursele cele mai puternice de 1 logic si 0 logic. Un semnal poate nt arit , adic a s a poat a comanda mai multe intr ari, prin intermediul unui buer/driver. Un buer este un circuit care spre deosebire de poart a nu proceseaz a logic semnalul, eventual l inverseaz a - buer inversor, dar prezint a la ie sire un F I mult m arit. Ca 1 funct ie logic a buerul neinversor este funct ia identitate f 1 , iar buerul inversor este 1 funct ia f2 , vezi sect iunea 1.1.3 . Circuitele buer, n general, sunt realizate n grup de c ate opt pe cip pentru a putea nt ari un cuv ant de 8 bit i (1 byte). Unele port i au ,, pe ie sire un etaj circuit buer, caz n care sunt referite ca port i buerate . Exemplul 1.9 Pentru seriile de port i logice din familia TTL s a se determine F I .
Solut ie. Curent ii de ie sire si intrare n starea H si L, extra si din catalog sunt prezentat i n Tabelul 1.8.

Tabelul 1.8 Valorile curent ilor pentru seriile de port i 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 IES IRE 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 PORT ILOR LOGICE

Pentru seria 74 (o poart a din seria 74 comand a port i tot din seria 74): 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 a din seria 74LS comand a port i tot din seria 74LS): IOLmax 8mA = = 22; IILmax 0.36mA 400A IOHmax = = 20; F IH = IIHmax 20A F I = min {20, 20} = 20 F IL = In acela si mod se pot calcula factorii de nc arcare pentru seriile: 74S, 74AL si 74ALS. De asemenea se pot calcula F I pentru cazurile c and o poart a dintr-o serie comand a port i din alt a serie.

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

p = pi +

pHL + pLH = 40ns 2

t 1 = 40ns 5ns = 35ns


2

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

pF = 34. Num arul de port i comandate este 170 5pF Se observ a c a m arimea sarcinii comandate de o poart a CMOS determin a valoarea timpului de propagare p . Cre sterea timpului de propagare cu cre sterea sarcinii comandate este mult mai pregnant a la port ile CMOS dec at la cele bipolare.

Consumul de putere. Consumul de putere Pd (puterea disipat a) pentru port ile unei familii rezult a ca o sum a ntre dou a componente una static a P dcc si una dinamic a Pdca , Pd = Pdcc + Pdca . 1. Consumul de putere n regim static ( n c.c.) se dene ste cu relat ia: Pdcc = PH + P L = 2 ICCH + ICCL 2 VCC (1.23)

n care: ICCH , ICCL - sunt curent ii absorbit i de poart a de la surs a n starea H, respectiv L; VCC - tensiunea de alimentare a port ii.

CAPITOLUL 1. PORT I LOGICE

49

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

Figura 1.18 Circuit echivalent (simplcat) al unei port i pentru calculul puterii Pdca (a) In prima form a, puterea disipat a apare prin nc arcarea si desc arcarea capacit a tilor din circuit care, uneori pentru simplicare, se substituie cu o singur a capacitate echivalent a C = capacitate intern a din circuit + capacitatea conexiunilor + capacit a tile de sarcin a. Un circuit echivalent pentru calculul acestei puteri este prezentat n Figura 1.18. C and contactul T (tranzistor) este comandat spre deschidere, ie sirea comut a din L n H, condensatorul C se ncarc a prin rezistent a RC stoc and o cantitate de energie 1 2 nc arcare, c and variat ia curentului este 2 CVCC . Pe durata procesului de t VCC T exprimat a prin relat ia ic = RC e , energia disipat a pe rezistent a RC se calculeaz a n felul urm ator: W =
0

i2 c RC dt =

V2 = CC RC

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

rezult a c a energia nu depinde de valoarea rezistent ei R C . La comanda spre nchidere a contactului T, c and ie sirea comut a din H n L, energia 1 2 a pe condensatorul C este disipat a pe rezistent a echivalent a 2 CVCC stocat 1 , a semnalului de comand a, RC RE . Pe durata unei perioade T = f 2 2 = CVCC . energia consumat a pe rezistent ele RC si RE este 2 1 2 CVCC Rezult a c a puterea disipat a (energia n unitatea de timp) pentru nc arcarea si desc arcarea capacit a tii echivalente este exprimat a de relat ia:
2 Pdca = CVCC f

(1.24)

50

1.3. PARAMETRII PORT ILOR LOGICE

(b) A doua form a pentru puterea disipat a n regim dinamic apare datorit a scurtcircuit arii sursei de alimentare la mas a pe durata fronturilor de comutat ie. Pe durata acestor fronturi, c and unele tranzistoare din structura port ii comut a din blocat n conduct ie iar altele din conduct ie n blocare, exist a un interval scurt c and toate tranzistoarele conduc (vezi Figura 1.22-e) ceea ce duce la scurtcircuitarea sursei la mas a (pe unele trasee put and exista anumite rezistent e), produc and v arfuri de curent (spike) n linia (V CC ) de alimentare a port ii. Aparit ia acestor v arfuri de curent pe linia de alimentare pot s a provoace comutat ii false la alte port i care se alimenteaz a de la aceea si linie. Puterea disipat a de scurtcircuit pe poart a depinde de valoarea de v arf a curentului de scurtcircuit, care este funct ie de tensiunea de alimentare VCC , si depinde de frecvent a f de aparit ie a comutat iilor. Se poate exprima puterea disipat a de scurtcircuit printr-o relat ie tot de aceea si form a ca n 1.24, n care se introduce o capacitate echivalent a de calcul a c arei valoare nu dep a se ste 20% din valoarea capacit a tii echivalente utilizat a pentru puterea disipat a la nc arcarea si desc arcarea capacit a tilor. Practic, luarea n calcul si a puterii disipate de scurtcircuit se face prin m arirea valorii capacit a tii din relat ia 1.24. Puterea disipat a de scurtcircuit este cu at at mai mic a cu c at semnalele de comand a au fronturi mai abrupte, adic a f si r au valori c at mai mici. O regul a practic a spune c a: durata fronturilor trebuie s a e cel mult a zecea parte din timpul de propagare (r , f < 10p ), pentru ca puterea disipat a pe poart a s a nu o distrug a prin cre sterea de temperatur a. Pentru circuitele CMOS principala component a de putere disipat a este cea dinamic a, relat ia 1.24. Reducerea acesteia se poate realiza prin mic sorarea factorilor din aceast a relat ie n special a tensiunii de alimentare care introduce o dependent a p atratic a. S i la port ile n tehnologie bipolar a exist a 2 f , dar aceasta la frecvent e joase si medii este componenta dinamic a CVCC neglijabil a fat a de cea disipat a n regim static P dcc , relat ia 1.23. Exemplul 1.11 Valoarea tipic a a puterii disipate n c.c. pe o poart a CMOS din seria HC este de 2, 5nW (la VDD = 5V si 25 C ) iar n cazul cel mai defavorabil poate ajunge la 30W . Dac a aceast a poart a este comandat a la frecvent a de 100KHz si la ie sire sunt conectate zece port i de acela si tip, F I = 10, s a se determine c at va puterea disipat a pe poart a. Solut ie. Pentru port ile din seria HC n catalog se specic a sarcina pentru o intrare ca ind Cintr = 5pF iar capacit a tile interne totale se dau ca ind 22pF . Se obt ine capacitatea echivalent a total a care trebuie s a e nc arcat a si desc arcat a la ie sirea port ii
C = 22pF + 10 5pF = 72pF Rezult a puterea disipat a n regim dinamic :
2 Pdac = CVDD f = 72 1012 52 105 = 180W

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

CAPITOLUL 1. PORT I LOGICE

51

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

Acest parametru poate interpretat ca ind energia consumat a pe decizie logic a (pe comutat ie). Exist a port i logice care au un factor de merit de ordinul pJ sau chiar mai mic, situ andu-se sub valoarea factorului de merit corespunz ator unui neuron! Dependent a ntre parametrii unei familii de circuite logice. Poarta logic a ideal a ar trebui s a prezinte simultan valori optime pentru tot i parametrii: F I foarte mare, F IP = 50%, p = 0, Pd = 0, VH = VCC sau VDD , VL = 0V , V = VCC sau VDD . Pentru o astfel de poart a inversor VTC-ul din Figura 1.14-b ar o caracteristic a de tip releu (f ar a histerezis) cu panta innit a la tensiunea de intrare V . Cel mai 2 mult se apropie de o caracteristic a ideal a port ile din tehnologia CMOS. In practic a optimizarea simultan a a tuturor parametrilor este contradictorie. M arirea excesiv a a lui F I atrage un curent absorbit de valoare mai mare de la surs a determin and deci m arirea lui Pd . Iar dac a sarcinile comandate sunt capacitive, o m arime a acestora poate duce la cre sterea lui HL si LH n semnalul de ie sire. Mic sorarea lui p implic a fort area regimului de comutat ie prin m arirea tensiunii VCC sau VDD sau prin mic sorarea rezistent ei circuitului, ceea ce duce la curent i mari absorbit i de la surs a si n consecint a o cre stere a lui P d . Prin opozit ie, mic sorarea lui Pd prin sc aderea curent ilor, ar duce la m arirea lui p . Cre sterea factorului de imunitate la perturbat ii ar necesita un salt logic de tensiune cu valoare m arit a ceea ce este posibil prin m arirea tensiunii de alimentare, deci, implicit puterea disipat a Pd cre ste foarte mult. Eventual, se poate ment ine puterea disipat a n limite nepericuloase, pentru a nu se distruge circuitul prin nc alzire, dac a simultan cu m arirea tensiunii de alimentare s-ar mic sora curentul prin m arirea rezistent elor dar aceasta ar duce la timpi de tranzit ie foarte lungi deci cre sterea lui p . Tendint a de optimizare simultan a a tuturor parametrilor ntre anumite limite rezonabile pentru aplicat ii eciente a dus n cadrul unei familii de circuite logice la crearea unei serii standard; parametrii standard au valori cvasioptimale. In paralel cu seria standard, ntr-o familie de circuite logice, exist a serii speciale care optimizeaz a doar un singur parametru, ceilalt i parametrii ind ment inut i n limite acceptabile. Astfel, exist a: seria de vitez a ridicat a, seria de putere redus a, seria de vitez a ridicat a si putere redus a, seria cu imunitate sporit a la perturbat ii. Toate aceste serii ale unei familii de circuite logice put and n variante pentru aplicat ii civile cu gama de tempratur a admisibil a 0 C 70 C c at si n variant a militar a cu gama de temperatur a admisibil a 55 C 125 C . Port ile logice pot exista e ca entit a ti separate sub forma unor circuite integrate discrete, care sunt utilizate n realizarea unor sisteme mai complexe, e pot exista n interiorul unui sistem complex realizat n totalitate integrat. Pentru port ile logice realizate discret, care se interconecteaz a n exterior cu alte port i, respectarea parametrilor este foarte strict a. In schimb, pentru port ile logice dintr-un sistem integrat unde interconexiunile ntre port i se fac n siliciu, valorile parametrilor pot mai put in restrictive.

52

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

1.4

PORT I LOGICE IN TEHNOLOGIA BIPOLARA

Elementele componente de circuit, pe care se bazeaz a tehnologia bipolar a, sunt jonct iunea semiconductoare (dioda) si tranzistoarele bipolare npn si pnp. Tehnologia de integrare bipolar a este caracterizat a prin vitez a ridicat a, densitate de integrare relativ redus a si consum de putere ridicat. Cu aceste caracterisitici tehnologia bipolar a, de la introducerea ei, la nceputul anilor 1960, a fost tehnologia cea mai uzual a p an a la nceputul anilor 1990. Incep and cu mijlocul anilor 1980 au fost realizate progrese n tehnologia MOS si mai ales n tehnologia CMOS ceea ce a dus ca n anii 1990 tehnologia bipolar a s a e substituit a cu cea CMOS. De si, acum implement arile n tehnologia bipolar a sunt reduse, totu si, minime cuno stint e despre aceast a tehnologie sunt necesare pentru aplicat ii ocazionale cum ar operat ii de depanare a unor sisteme existente si pentru aspecte de interfat are TTL/CMOS. Pentru nsu sirea acestor minime cuno stint e se vor prezenta n continuare urm atoarele trei subiecte: inversorul bipolar, port i TTL si port i pentru magistrale.

1.4.1

Inversorul bipolar

Circuitul inversor este elementul de baz a n structura oric arui circuit logic dintr-o familie de port i logice. Structura de inversor se poate identica n structura oric arei port i si oricare poart a logic a se obt ine dintr-un circuit inversor prin completare. Se vor studia dou a aspecte ale circuitului inversor: caracteristica static a de transfer si timpul de comutat ie. Structura si caracteristica de transfer. Circuitul inversor, Figura 1.19-b, este de fapt un etaj amplicator cu saturat ie, cu sarcina n colector, n conexiunea emitor comun. Layout-ul pentru implementarea n siliciu a inversorului este prezentat n Figura 1.19-c. Tranzistorul npn este realizat, prin difuzie, ntr-o insul a de tip n n stratul epitaxial. La fel si rezistent ele de baz a RB si de sarcin a RC sunt realizate prin difuzie n insule de tip n din stratul epitaxial. Caracteristica static a de transfer VO = f (VI ) (f ar a nc arcare la ie sire, n gol) este trasat a prin linii drepte av and ca puncte xe tensiunea de alimentare V CC si cele dou a puncte de fr angere P F 1 si P F 2, Figura 1.20. Punctele de fr angere P F 1 si P F 2 se situeaz a tocmai la limita de trecere a punctului de funct ionare al tranzistorului de la regimul blocat la regimul activ (PF1), respectiv de la activ la regimul de saturat ie (PF2). In intervalul de variat ie a tensiunii de intrare V I = [0, VIL ) tranzistorul este blocat, tensiunea de ie sire este constant a VO = VOH = VCC , iar caracteristica VO = f (VI ) este o dreapt a orizontal a. In punctul de fr angere P F 1 tensiunea de intrare devine egal a cu V BE (on) , tranzistorul intr a n conduct ie, iar caracteristica de transfer se aproximeaz a n continuare cu o dreapt a ce une ste punctele P F 1 (VIL , VCC ), P F 2 VIH , VCE (sat) . In punctul de fr angere P F 2 este nceputul regimului de saturat ie pentru care tensiunea de intrare are valoarea: VI = VIH = VBE (sat) + VCC VCE (sat) 1 RB RC

CAPITOLUL 1. PORT I 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

10 m

10 m 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 cre stere n continuare a tensiunii de intrare V I peste VIH produce o mic sorare nesemnicativ a a tensiunii de ie sire, caracteristica de transfer este o dreapt a orizontal a VOL = VCE (sat) . Panta caracteristicii VO = f (VI ) prezint a numai dou a valori. Valoarea zero c and VO inversorul este n starea H sau L si o valoare ridicat a AV = n zona de trecere VI ntre cele dou a st ari. In reprezentarea idealizat a din gur a punctele de fr angere apar la intersect ia acestor drepte, dar ntr-o reprezentare exact a aceste puncte s-ar aa pe o curb a, care ar racorda aceste drepte, unde panta ar unitar a |A V | = 1. Aceast a caracteristic a exact a se plaseaz a n interiorul benzii punctate din Figura 1.14-b. Punctul de funct ionare al inversorului trebuie s a e doar n cele dou a zone: blocat sau saturat. Trecerea ntre cele dou a zone c and tranzistorul este n regimul activ, specic funct ion arii n circuitele analogice, trebuie s a se realizeze ntr-un timp c at mai scurt; de fapt, aceast a trecere ar corespunde, pe Figura 1.13, intervalului interzis de tensiuni. Timpii de comutat ie ai inversorului. Timpii de comutat ie 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. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

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 funct ionarea n gol din blocat n saturat ie si din saturat ie n blocat nu sunt egali, ceea ce determin a valori diferite pentru pHL , pLH (pLH > pHL ). In raport cu timpul de comutat ie direct a, din regimul blocat nspre saturat ie, timpul de comutat ie invers a, din regimul de saturat ie nspre blocare, este mai mare. Aceast a diferent a apare datorit a procesului de eliminare a sarcinii stocate n surplus n baz a, c and tranzistorul este n saturat ie, fat a de sarcina din baz a c and tranzistorul este n regim activ direct. In regim de saturat ie se injecteaz a n baz a purt atori majoritari at at din emitor c at si, n surplus, din colector deoarece ambele jonct iuni sunt polarizate n sens direct. Eliminarea sarcinii n surplus din baz a necesit a un timp s (timp de saturat ie). Deci timpul de comutat ie invers a, la un tranzistor n saturat ie, fat a de timpul de comutat ie invers a al unui tranzistor n regim activ direct este mai mare cu valoarea s , vezi Figura 1.21-a. Figura reprezint a variat ia tensiunii de comand a v I a inversorului (o variat ie dreptunghiular a) si variat ia tensiunii v O la ie sirea inversorului. In aceast a gur a timpii respectivi au urm aroarele semnicat ii: - d = t1 t0 , timpul de nt arziere. Este timpul necesar pentru cre sterea tensiunii aplicate pe jonct iunea emitoare si colectoare. Deoarece aceste jonct iuni sunt zone s ar acite de purt atori acestea se comport a ca ni ste condensatoare, deci este timpul de nc arcare al acestor condensatoare; - f = t2 t1 , timpul de cobor are (fall time). Este determinat, mai ales, de timpul de tranzit al purt atorilor prin baz a; - s = t4 t3 , timpul de saturat ie. Timpul necesar pentru eliminarea sarcinii n surplus stocat a n baz a; - r = t5 t4 , timpul de cre stere. Similar cu f dar acum trebuie anulat i purt atorii din baz a pentru c a tranzistorul se comand a spre blocare. Mic sorarea lui pLH se poate realiza n dou a modalit a ti. Prima, const a n fort area comenzii pe baza tranzistorului prin suprapunerea unei componente derivative de curent peste curentul de baz a de comand a normal. Condensatorul C conectat n paralel cu rezistent a de baz a RB , Figura 1.21-b, formeaz a cu rezistent a echivalent a

CAPITOLUL 1. PORT I 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 a procesul de comutat ie; b) inversor cu fort area comenzii prin producerea unei componente derivative n curentul de baz a; c) valori pentru parametrii de timp la un tranzistor normal si la un tranzistor Schottky; d,e,f) realizarea unei structuri de tranzistor Schottky.

56

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

baz a emitor RBE a tranzistorului un circuit derivativ, deci genereaz a componenta de fort are (derivativ a) n curentul de comand a din baz a. A doua modalitate se realizeaz a prin utilizarea unui tranzistor Schottky, care se obt ine prin conectarea ntre baz a si colectorul unui tranzistor normal a unei jonct iuni metal-semiconductor, adic a o diod a Schottky, DS , Figura 1.21-d. Implementarea unei astfel de diode n acel loc se realizeaz a, n procesul de fabricare al tranzistorului, extrem de simplu si practic f ar a cost, prin extinderea metaliz arii (Al aluminiu sau Pt platin a) de contact a terminalului bazei B si peste zona semiconductoare de tip n a colectorului. Extinderea metaliz arii, zona ncercuit a din Figura 1.21-f, formeaz a la interfat a metal-colector o diod a Schottky Aln sau P tn. Tensiunea la polarizare direct a a unei diode Schottky este VDS = 0, 4V . Conect and o astfel de diod a ntre baz a si colector (deci n paralel cu jonct iunea colectoare) tensiunea pe jonct iunea colectoare nu va putea cobor cu mai mult de 0, 4V sub tensiunea bazei tranzistorului, rezult a c a tranzistorul nu mai poate intra n saturat ie, nu se mai injecteaz a din colector sarcin a n surplus (fat a de regimul nesaturat) n baz a, deci s devine zero. Cu valorile tensiunilor din Figura 1.19-b se pot face urm atoarele calcule: - f ar a diod a Schottky: VBC = VBE (sat) VCE (sat) = 0, 8V 0, 1V = 0, 7V , tensiune ce comand a jonct iunea baz a colector n conduct ie, tranzistorul este n saturat ie; - cu diod a Schottky VCE = VBE (sat) VDS = 0, 8V 0, 4V = 0, 4V tranzistorul nu este n saturat ie (tensiunea de deschidere a unei jonct iuni este de 0, 7V ). Valori pentru timpii de comutat ie, denit i mai sus, sunt prezentate n tabelul din Figura 1.21-c, at at pentru un tranzistor normal c at si pentru un tranzistor Schottky. In seriile de port i logice din tehnologia bipolar a, cu except ia seriei standard init ial a, toate tranzistoarele de comutat ie sunt tranzistoare Schottky ceea ce este indicat prin litera S n codul seriei respective.

1.4.2

Port i logice TTL

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

CAPITOLUL 1. PORT I 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 pot ii DTL; b) structura init ial a a port ii TTL; c) structura (standard) pentru poarta 7400-NAND2; d) caracteristica static a de transfer si regimurile de funct ionare ale transiztoarelor pentru poarta 7400. Diodele D4 si D5 pe intrare sunt pentru protect ia mpotriva supratensiunilor negative care pot apare la intrare. Existent a acestor diode va produce scurtcircuitarea la mas a a oric arei tensiuni negative fat a de masa aplicat a pe intrare si care n valoare absolut a este mai mare dec at tensiunea de deschidere a diodei ( 0, 7V ). Caracteristica static a de transfer a port ii se poate trasa prin segmente de dreapt a, la fel ca cea a inversorului din Figura 1.20, calcul and punctele de fr angere. Calculul acestor puncte de fr angere este realizat n [Toac se 96]. Cu intrarea B legat a la VCC = 5V iar tensiunea VA pe intrarea A parcurge intervalul [0, VCC ] se obt in urm atoarele puncte de fr angere: - c and VA = 0. T1 conduce, T2 este blocat, T4 conduce iar ie sirea este n starea H, VOH = 3, 6V ; - P F1 (0, 6V ; 3, 6V ) c and VA = 0, 6V . T1 conduce iar T2 intr a n conduct ie, T4 conduce;

58

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

- P F2 (1, 3V ; 2, 5V ) c and VA = 1, 3V , T1 si T2 conduc iar T3 intr a n conduct ie, T4 conduce; - P F3 (1, 5V ; 0, 1V ) c and VA = 1, 5V . T1 conduce n regim activ inversat, T2 si T3 conduc n saturat ie iar T4 este blocat, ie sirea este n nivel L. In intervalul dintre P F2 si P F3 conduc toate tranzistoarele, sursa este conectat a la mas a prin rezistent ele circuitului, puterea disipat a corespunde componentei dinamice de scurtcircuit. Se recomand a ca parcurgerea acestui segment de caracteristic a s a se realizeze ntr-un interval de timp c at mai scurt ceea ce impune ca fronturile tensiunii de intrare VI s a e c at mai abrupte. C and T2 si T3 conduc n saturat ie, tensiunea de comand a pe T4 este V BET 4 = VBE (sat)T 3 + VCE (sat)T 2 VCE (sat)T 3 = VBE (sat)T 3 = 0, 8V , ceea ce ar determina intrarea n conduct ie si a acestui tranzistor. Pentru a mpiedica conduct ia lui T4, n emitorul s au, se introduce dioda D si astfel tensiunea de 0, 8V nu este sucient a s a deschid a cele dou a jonct iuni nseriate (jonct iunea BE(T4) + dioda D). In starea H, VOH = 3, 6V , poarta genereaz a un curent la ie sire, de la sursa V CC prin R3 si T4, pentru intr arile port ilor comandate, iar n starea L, V OL 0, 1V , poarta absoarbe la mas a, prin tranzistorul T3, curent ii de pe intr arile port ilor comandate. Seriei standard 74XX i s-au adus mbun at a tiri, pe baza progreselor din domeniul tehnologic de integrare, obt in andu-se serii cu performant e mai ridicate. Prima nou a serie obt inut a, dup a cea standard, a fost seria Schottky 74SXX care utilizeaz a pentru comutat ie tranzistoare Schottky. Apoi, combin and tranzistoarele Schottky simultan cu cre sterea rezistent elor, pentru mic sorarea curent ilor, s-a obt inut seria TTL Schottky de putere redus a (Low-Power Schottky) notat a prin 74LSXX. Urm atoarea serie a fost Schottky mbun at a tit a (Advanced Schottky TTL) notat a prin 74ASXX, care ofer a vitez a dubl a fat a de 74SXX, dar la aceea si putere disipat a. Seria mbun at a tit a a fost perfect ionat a n contiuare pentru a se reduce puterea disipat a si s-a obt inut seria Schottky mbun at a tit a de putere redus a (Advanced-Low-Power-Schottky TTL) notat a 74ALSXX. Cu performant e de mediere ntre seriile AS si ALS s-a realizat seria rapid a (Fast TTL) notat a 74FXX si care este probabil cea mai popular a din familia TTL, pentru cerint ele de vitez a n noile sisteme, la ora actual a. Suxul XX din notat ia acestor serii este un num ar zecimal si constituie codul port ii respective, o poart a cu acela si XX, indiferent de serie, realizeaz a aceea si funct ie logic a. De exemplu, poarta logic a NAND cu dou a intr ari (NAND2) are urm atoarele referiri n funct ie de seria n care este implementat a: 7400 (seria standard), 74S00, 74LS00, 74ALS00,74F00. Parametrii port ilor din seriile familiei TTL sunt prezentat i n Tabelul 1.9. O alt a famillie de circuite logice n tehnologia bipolar a, si care se prezint a la fel sub form a de circuite integrate discrete, cont in and diferite tipuri de port i este ECL (Emitter-Coupled-Logic). Circuitele ECL sunt caracterizate prin viteze foarte ridicate ajung and p an a la 0, 5ns pentru timpul de propagare. Viteza sporit a la comutat ie se obt ine tot prin evitarea regimului de saturat ie al tranzistorului dar nu prin tranzistor Schottky ci prin comutarea de curent ntre dou a canale. Structura de baz a este cea de amplicator diferent ial cu un generator de curent n emitor (de unde si denumirea de cuplaj prin emitor) iar curentul este comutat ntre cele dou a ramuri ale amplicatorului diferent ial [Toac se 1996]. In familia ECL exist a dou a serii: 10K si 100K, seria 100K av and performant e m-

CAPITOLUL 1. PORT I 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

bun at a tite fat a de seria 10K. Iat a valorile c atorva parametrii din seria 100K: tensiunea de alimentare VEE = 4, 5V ; salt de tensiune ntre niveluri V = 0, 8V , p = 0, 75ns, Pd = 40mW , P DP = 30. In aplicat ii port ile acestei familii nu sunt compatibile cu port ile din familia TTL sau CMOS. Port ile ECL si g asesc locul n sisteme logice si de interfat a de vitez a foarte ridicat a, evident cu un consum mare de putere, cum ar supercalculatoarele sau comunicat iile de mare vitez a pe cablu sau br a optic a (ret ele ATM-Asynchronous Transfer Mode, Gigabit Ethernet). Tot o tehnologie bipolar a este cea referit a ca logic a integrat a de inject ie, I 2 L (Integrated Injection Logic) care n raport cu tehnologia TTL a permis o anumit a mbun at a tire a compromisului vitez a-putere disipat a si a densit a tii de integrare pentru circuitele VLSI, dar care n timp, s-ar p area c a, iese din utiliz arile curente. Tehnologii alternative non-silicon sunt cele n arseniur a de galiu,GaAs, sau cele cu jonct iuni Josephson. Dispozitivele n GaAs au vitez a de comutat ie cam de cinci ori mai ridicat a dec at cele care se pot obt ine n Si, sunt mai rezistente la radiat ii dar au un proces de fabricat ie mai complicat, n consecint a sunt mai scumpe (mobilitatea electronului n siliciu poate ajunge p an a la n = 1500cm2 /V s pe c and n GaAs 2 este n = 8500cm /V s). Caracteristici tipice pentru GaAs sunt p < 200ps, Pd = 0, 2mW/poart a; exist a implement ari de circuite integrate n GaAs dar nu exist a serii de port i sub form a de circuite integrate discrete. Dispozitivele Josephson ofer a p = 1 10ps,Pd = 1 10mW/poart a dar funct ioneaz a la temperaturi foarte sc azute. Oricum, recentele dezvolt ari de materiale semiconductoare la temperaturi obi snuite promit utilizarea acestor dispozitive n viitor.

1.4.3

Port i pentru magistrale

Realizarea conect arii, pentru comunicare, ecare cu ecare (punct-la-punct) a n 1) leg aturi distincte ntre aceste puncte. Evitarea puncte dintr-un sistem, necesit a n(n2 acestor multor leg aturi distincte se poate prin realizarea unei magistrale. O magistral a este o cale de transfer a informat iei/semnalelor sub form a de cuv ant. Rezult a c a prima

60

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

caracteristic a a magistralei este l a timea sa egal a cu lungimea cuv antului, deci pentru transferul paralel a cuv antului de n bit i magistrala este compus a din n conductoare. In general lungimile uzuale de cuv ant sunt de : 8 bit i-1byte, 16 bit i-semicuv ant, 32 bit i-cuv ant, 64 bit i-dublu cuv ant. La o magistral a de n bit i se conecteaz a toate elementele unui sistem at at cele care sunt emit a toare (talker) c at si cele care sunt receptoare (listener); uneori un element poate avea funct ionare at at de emit a tor c at si de receptor, dar nu simultan. Regula de funct ionare n magistral a este: la un moment dat pe magistral a poate exista cel mult un singur emit a tor activ, dar nu este limitat, teoretic, num arul receptorilor. Aceast a regul a impune: dac a sunt mai multe emit a toare legate la magistral a c and unul dintre acestea este activ ( nscrie informat ie pe magistral a) celelalte s a e inactive, adic a din punct de vedere electric s a e deconectate. Pentru o astfel de funct ionare port ile de pe ie sirea emit a torului trebuie s a poat a conectate sau deconectate la liniile magistralei dup a cum emit a torul este activ sau inactiv. Pe o linie de magistral a, la care este conectat a ie sirea port ii emit a torului activ, pentru ie sirile port ilor emit a toarelor inactive si intr arile port ilor receptoarelor, conectate la aceia si linie, trebuie realizate specicat iile electrice care formeaz a suportul nivelurilor logice de 0 si 1. Pentru realizarea acestor specicat ii poarta normal a este modicat a n structura sa obt in andu-se poarta cu colectorul n gol sau poarta TSL.
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 n gol: a) traseul de scurtcircuitare la conectarea n comun a ie sirilor port ilor TTL pentru condit iile logice specicate n tabelul (b); c) structura etajului de ie sire la poarta cu colectorul n gol. Poarta cu colectorul n gol. Prin conectarea ie sirilor a dou a sau mai multor port i TTL, care au etajul de ie sire n contratimp (totem pole), la aceea si linie de magistral a, Figura 1.23-a, si dac a dou a sau mai multe dintre aceste port i au la ie sire st arile logice opuse atunci sursa VCC va scurtcircuitat a la mas a pe un traseu format din T4 si T3 de la port i diferite. Pentru eliminarea posibilit a tii de aparit ie a traseului

CAPITOLUL 1. PORT I LOGICE

61

de scurtcircuit, la conectarea mpreun a a ie sirilor de la mai multe port i, este necesar a se modica structura etajului de ie sire. In acest sens, din etajul de ie sire se elimin a repetorul pe emitor T4 r am an and numai tranzistorul T3 al c arui colector, la ie sire, este n gol obt in andu-se poarta denumit a cu colectorul n gol, Figura 1.23-c. Colectorul n gol al tuturor port ilor se leag a mpreun a (cableaz a),Figura 1.24-a si apoi se conecteaz a printr-o rezistent a comun a la sursa de alimentare. Potent ialul pe colectorul comun, linia de magistral a, va n starea H numai c and toate port ile au ie sirea n stare H si va n stare L c and cel put in una din port i are ie sirea n starea L. Aceast a conexiune (cablare), n convent ia de logic a pozitiv a, realizeaz a funct ia SI, de unde si denumirea de SI-cablat (wired AND), iar n logic a negativ a funct ia SAUcablat. Se poate obt ine si n logica pozitiv a funct ia SAU-cablat iar n logic a negativ a ,, SI-cablat dac a n etajul de ie sire nu se elimin a tranzistorul care trage n sus ie sirea ,, la nivelul H (pull-up transistor) ci se elimin a tranzistorul care trage n jos ie sirea la nivelul L (pull-down transistor), ca n cazul port ilor din familia ECL.
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 a pentru calculul rezistent ei comune R: a) cablarea port ilor cu colectorul n gol ntr-o conexiune SI-cablat; b) reprezentarea c aderilor de tensiune pe rezistent a comun a pentru starea H si L. Calculul rezistent ei comune R, din colector, Figura 1.24, se face pentru asigurarea nivelurilor logice de tensiune garantate la ie sire si a nivelurilor de tensiune permise la intrare, cu respectarea marginilor de zgomot M H , ML n condit iile de variat ie ale tensiunii de alimentare VCC V . Pentru nivelul H la ie sire, care se obt ine c and toate cele m port i emit a toare au ie sirea n starea H, c aderea de tensiune V RH pe rezistent a comun a nu trebuie s a produc a o sc adere a tensiunii de ie sire sub valoarea minim a garantat a VOHminim . Rmax (m IOHmax + N IIHmax ) [VCC V (VIHmin + MH )]

62 rezult a

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

Rmax

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

(1.26-a)

Pentru nivelul L la ie sire, care se obt ine c and cel put in o poart a emit a toare este n stare L, c aderea de tensiune VRL trebuie s a determine o sc adere a tensiunii de ie sire sub valoarea maxim a garantat a VOLmax : Rmin (IOLmax N IILmax ) [VCC + V (VILmax ML )] rezult a Rmin VCC + V (VILmax ML ) IOHmax N IILmax (1.26-b)

Deci rezistent a comun a de colector se alege n urm atoarele intervale de valori: Rmin R Rmax (1.26-c)

O utilizare curent a a port ilor cu colectorul n gol este comanda unor sarcini externe ca de exemplu becuri, LED-uri, bobine, relee sau rezistent e. Exemplul 1.12 O utilizare foarte frecvent a a conexiunii SI-cablat apare la implementarea sistemului de ntreruperi multiple de la microprocesoare. Microprocesorul (P ) posed a un singur terminal IRQ (Intrerupt ReQuest, cerere de ntrerupere) pe care este n stiint at c a unul sau mai multe din periferice solicit a n acel moment o cerere de ntrerupere a toate semnalele IRQi L se prin activarea ( n starea L) a semnalului IRQi L . Pentru c aplic a pe acela si IRQ, acestea formeaz a un SI-cablat, deci toate ie sirile corespunz atoare de la periferice trebuie s a e cu colectorul n gol, Figura 1.25.
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 port ilor cu colector n gol de la ie sirea perifericelor.

Exemplul 1.13 Folosind circuitul 74ALS136, patru port i SAU EXCLUSIV cu dou a intr ari, cu colectorul n gol, s a se realizeze un detector pentru cuv antul de patru bit i: b3 b2 b1 b0 = 1001. Rezultatul operat iei de detectare comand a 5 circuite 74ALS136.

CAPITOLUL 1. PORT I LOGICE

63

Solut ie. O poart a SAU EXCLUSIV va avea ie sirea n starea H numai c and cele dou a intr ari sunt diferite. In cazul c and ie sirile formeaz a un SI-cablat nivelul de ie sire este H (se detecteaz a cuv antul b3 b2 b1 b0 = 1001) numai dac a pe cea de a doua intrare a port ilor este aplicat cuv antul 0110, ceea ce rezult a din relat ia (b3 0) (b2 1) (b1 1) (b0 0) = 1, Figura 1.26.

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

Figura 1.26 Comparator pentru cuv antul b3 b2 b1 b0 = 1001


Se dau urm atoarele date VCCmin = 4, 5V , VCCmax = 5, 5V , MH = 0V , ML = 0V , 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 . Aplic and relat iile 1.26 rezult a pentru rezistent a comun a o valoarea n intervalul 714 R 1050.

Exemplul 1.14 Circuitul 7406 este un hex buer neinversor cu colectorul n gol ce poate comanda tensiuni de maxim 30V si absorbi un curent IOLmax = 40mA. S a se comande un bec (cu lament) de semnalizare cu Un = 14V , In = 80mA c and este alimentat de la o 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 a realizat a cu buerul cu colectorul n gol 7406


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

64

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

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

Dezavantajele port ilor cu colectorul n gol sunt: - Deoarece impedant a de ie sire n starea H este mare (R > R T 4 ) rezult a pentru durata fronturilor LH si a timpilor de propagare, pLH , la tranzit ia din L n H, valori mult mai mari dec at la port ile normale (care au tranzistorul T4). - Imunitate mai sc azut a la zgomot si necesit a o rezistent a comun a R calculat a de ecare dat a n funct ie de circuit, valori uzuale ntre 470 si 4, 7K . Poarta cu trei st ari logice, TSL (Three-State-Logic). Structura port ii TSL se obt ine prin completarea port ii normale TTL, Figura 1.22-c, cu dioda D1 si a inversorului I ca n Figura 1.28-a. C and semnalul de validare a ie sirii, OE L (Output Enable) este activ, pe emitorul E2 si pe catodul lui D1 tensiunea aplicat a este H, deci poarta funct ioneaz a normal, ie sirea este validat a si poate n starea L sau H dup a cum este valoarea logic a aplicat a pe intrarea A. Dac a OE L nu este activ, este n nivelul H, atunci tensiunea de valoare L de la ie sirea inversorului aplicat a pe: emitorul E2 va duce la blocarea tranzitorului T3 din etajul de ie sire si aplicat a pe catodul diodei D1 va comanda conduct ia 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 a electric a; b) echivalarea port ii TSL cu o poart a normal a av and un contact pe ie sire (comandat de semnalul de validare OE L).

CAPITOLUL 1. PORT I LOGICE

65

ce duce si la blocarea tranzistorului T4 din etajul de ie sire; ambele tranzistoare din etajul de ie sire sunt blocate. Poarta genereaz a la ie sire (numai!) cele dou a st ari logice H sau L c and comanda de validare este activ a OE L = 0, iar c and comanda de validare este inactiv a OE L = 1 poarta are cele dou a tranzistoare T 3, T 4 blocate. Ultima stare, cu T3, T4 blocate, nu este o stare logic a comandat a, prin semnalele logice aplicate pe intr arile port ii, aceasta este denumit a stare de nalt a impedant a HZ (High Z). In starea HZ potent ialul pe ie sirea port ii este xat de potent ialul care exist a pe linia de magistral a la care aceast a ie sire este conectat a ( si nu de c atre poarta TSL). Potent ialul pe linia de magistral a este fort at n 0 sau n 1 de c atre o alt a poart a legat a la aceea linie de magistral a, poart a care este comandat a n starea normal a de funct ionare. Dac a pe linia de magistral a nivelul fort at este H atunci trazistorul T4 de la o poart a TSL n HZ va genera un curent de maxim ordinul A, iar dac a nivelul pe linia de magistral a este fort at n L atunci tranzistorul T3 de la o poart a TSL n HZ va absorbi un curent maxim de ordinul A. Cu aceste valori foarte mici ale curent ilor absorbit i sau generat i de poarta TSL n HZ se poate considera c a poarta, electric, este deconectat a de la linia de magistral a. Poarta TSL poate echivalat a cu o poart a normal a n a c arei ie sire este nseriat un contact care este nchis c and Output Enable este activ, OE L = 0, si este deschis ( n starea HZ), c and Output Enable nu este activ, OE L = 1, Figura 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 a trei blocuri bidirect ionale de 8 bit i prin intermediul circuitelor transceiver Pentru blocurile care sunt conectate la o magistral a si care pot avea o funct ionare at at de emit a tor c at si receptor transferul spre linia de magistral a trebuie s a e bidirect ional. Aceste blocuri bidirect ionale trebuie s a posede pe ie sire un circuit TRANSCEIVER (TRANSmitter + reCEIVER) care este compus pentru ecare linie/bit a magistralei dintr-un buer TSL si o poart a SI conectate n paralel, Figura 1.29. La magistrala din gur a particip a trei elemente ecare av and pe ie sire un transceiver de opt bit i. Inscrierea pe magistral a (WRITE) se face prin activarea, n starea H, doar a unui singur semnal Wi (i = 1, 2, 3), la buerele TSL, pentru a asigura accesul doar a unui singur emit a tor la un moment dat. Citirea de pe magistral a (READ) se activeeaz a prin semnalul Ri (i = 1, 2, 3) la port ile AND. La transceiverul

66

1.5. PORT I IN TEHNOLOGIA CMOS

i semnalele Wi si Ri sunt exclusive adic a nu pot active simultan W i Ri = 0. Avantajele utiliz arii port ilor TSL n raport cu utilizarea celor cu colectorul n gol sunt: - Ofer a o impedant a mic a la ie sire n H si L (ca la poarta normal a); - Nu necesit a rezistent a adit ional a; - In starea de HZ ncarc a insigniant circuitele cu care sunt cuplate la ie sire (la un moment dat ncarc a numai circuitul care fort eaz a potent ialul pe linia de magistral a).

1.5

PORT I IN TEHNOLOGIA CMOS

Componentele integrate n electronic a, introduse la nceputul anilor 1960, au fost realizate aproape n exclusivitate n tehnologia bipolar a, timp de dou a decenii, p an a la nceputul anilor 1980. In deceniul al nou alea a fost trecerea de la tehnologia bipolar a la tehnologia unipolar a n special la cea CMOS. Incep and cu anii 1990, aproape n exclusivitate, circuitele integrate produse au fost CMOS. Schimbarea de tehnologie s-a produs c and au ap arut circuitele integrate pe scar a larg a VLSI (Very Large Scale Integration) care cont ineau de ordinul sutelor de mii de componente pe cip. La acest ordin de m arime al densit a tii de integrare, datorit a puterii disipate ridicate, deci regim termic solicitant pentru circuit (datorit a puterii disipate ridicate), tehnologia bipolar a nu mai era corespunz atoare, iar alternativa a fost tehnologia CMOS. Prin valorile parametrilor: margine de zgomot ridicat a, puterea disipat a n curent continuu aproape neglijabil a, fan-out ridicat, vitez a m arit a si nalt grad de automatizare n proiectare si implementare, tehnologia CMOS s-a impus. Ast azi circuitele CMOS domin a piat a circuitelor integrate de la cele simple la cele mai complexe.

1.5.1
1.5.1.1

Tranzistorul MOSFET
Tehnologia de fabricat ie a tranzistorului MOS

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

CAPITOLUL 1. PORT I LOGICE

67
Gravare uscata sau umeda

a)

SubstratSi

Fotorezist SiO2 (oxid) b)


SubstratSi e) d 2 m W1 2m

 


SubstratSi

Fotorezist SiO2 Fotorezist SiO2 SiO2

W2 4m

3m

c) Masca Fotorezist

f)

SubstratSi Ferestre pentru difuzie






















SubstratSi

Radiatie ultravioleta, UV

SubstratSi g) W1 W2

SiO2 d)

Figura 1.30 Etapele realiz arii ferestrelor prin litograe optic a: a) substrat (wafer); b) ansamblu substrat + strat de SiO2 + fotorezist; c,d) ansamblu cu masc a supus radiat iei UV; e,f) nl aturarea stratului de SiO 2 prin gravare; g) substrat cu ferestrele (pentru difuzie) realizate n stratul de oxid. care cont ine vapori de ap a la temperaturi ntre 900 1000 C . Oxidarea uscat a se realizeaz a ntr-o atmosfer a de oxigen pur la o temperatur a n jur de 1200 C , viteza de cre stere a grosimii stratului de oxid este mai mic a dec at cea obt inut a prin procedeul de oxidare umed a. Dou a caracteristici zice ale stratului de oxid sunt utilizate n tehnologia circuitelor integrate: rezistivitatea electric a mare, deci poate constitui un strat izolator foarte bun, si impenetrabilitatea impurit a tilor, deci poate constitui un strat opac pentru difuzia de impurit a ti. Apoi, prin depunerea unei pic aturi de fotorezist peste stratul de oxid si centrifugarea ntregului wafer, se formeaz a un strat de fotorezist cu grosimea aproximativ 1m, Figura 1.30-b. Inc alzit la o temperatur a de aproximativ 100 C stratul subt ire de fotorezist de pe suprafat a se nt are ste (devine sticlos). Urmeaz a apoi confect ionarea m a stilor pentru realizarea ferestrelor de difuzie, care este o etap a foarte complex a si costisitoare. S a presupunem c a se dore ste realizarea a dou a ferestre dreptunghiulare cu dimensiunile W 1 = 2m 2m, W2 = 3m 4m pentru care s-a confect ionat masca din Figura 1.30-c. Aceast a masc a se aplic a peste stratul de fotorezist nt arit (sticlos) si ntreg ansamblul este expus ntr-un fascicul de radiat ie ultraviolet a UV, Figura 1.30-d. Fotorezistul de sub ferestrele m a stii (zonele

68

1.5. PORT I IN TEHNOLOGIA CMOS

transparente) este penetrat de radiat ia UV, polimerizeaz a si devine solubil spre deosebire de cel din zonele opace ale m a stii unde fotorezistul r am ane nt arit (sticlos). Apoi, prin sp alare cu solvent, este nl aturat fotorezistul solubil din zonele de sub ferestre dar nu si cel nt arit de pe restul suprafet elor. Acest tip de fotorezist este numit pozitiv, pentru c a exist a si fotorezist negativ care este init ial solubil si devine insolubil dup a ce este penetrat de UV; evident pentru fotorezistul negativ masca trebuie s a aib a transparent a n zonele unde nu trebuie realizate ferestre pe substrat. M a stile pentru cele dou a tipuri de fotorezist sunt una complementar a celeilalte. In continuare, ansamblul obt inut este supus unui proces de gravare. Prin gravare stratul de oxid de siliciu din zonele care au r amas neacoperite de fotorezist este nl aturat (p an a la suprafat a de substrat) obt in andu-se fereastra, Figura 1.30-e si 1.30f. Gravarea se poate face cu un solvent chimic (s aruri ale acidului orhidric, HF ), referit a ca gravare umed a, sau printr-o tehnologie cu plasm a, referit a ca gravare uscat a. Apoi, se utilizeaz a un alt tip de solvent care poate nl atura stratul nt arit de fotorezist r amas deasupra stratului de oxid, Figura 1.30-g, termin andu-se astfel aceast a succesiune de operat ii de realizare a ferestrelor denumit a fotolitograe sau litograe optic a ce poate utilizat a cu rezultate bune p an a la rezolut ii de 0, 8m. R = k /AN ; Rrezolut ia, k un parametru al stratului de fotorezist, lungimea de und a a radiat iei utilizate, AN apertura numeric a (puterea de rezolut ie a aparatului utilizat). Tehnologia fotolitograc a permite o reducere cu 30%, la ecare doi ani, a valorii caracteristicii de proces. Dar, actual, s-a ajuns la valori ale caracteristicii de proces care sunt sub lungimile de und a utilizate n litograa optic a. Pentru dep a sirea limit arilor litograei optice au ap arut alte variante, ca de exemplu litograa EUV (Extreme Ultra-Violet), care utilizeaz a lungimea de und a de 13, 4nmlungime cu peste un ordin de m arime mai scurt a dec at lungimile de und a din litograa optic a dar cu care se pot obt ine linii de trasee de dimensiuni sub 50nm. Fotolitograa se repet a ori de c ate ori este necesar a realizarea unei noi ferestre; evident ferestrele care sunt pentru utiliz ari similare la diferite circuite si sunt pe acela si wafer se realizeaz a n paralel ( n Figura 1.30 au fost realizate simultan dou a ferestre W1 si W2 ). Pentru rezolut ii sub 0, 8m litograa optic a, recent, este substituit a de litograa cu fascicol de electroni. Avantajele litograei cu fascicol de electroni n realizarea ferestrelor n raport cu cea optic a sunt: - fereastra poate generat a direct digital f ar a confect ionarea m a stii; - nu exist a succesiunea tuturor etapelor (m a sti, expunere UV etc.) procesul de gravare este direct; - modicarea formelor si dimensiunilor ferestrelor precum si plasarea lor pe suprafat a waferului se pot realiza u sor si repede. Pentru realizarea unui tranzistor nMOS procesul este descris n continuare. Se realizeaz a pe un substrat de siliciu de conductivitate de tip p (conductivitate prin goluri) o fereastr a pentru zona activ a, adic a zona pe suprafat a de Si unde se va implementa tranzistorul, Figura 1.31-a. Stratul gros de oxid ( 5000 A,1 A= 1010 m) denumit oxid de c amp care nconjoar a zona activ a are rolul de a izola tranzistorul de alte tranzistoare. Uneori, izolarea tranzistorului de cel vecin se face si n substrat

CAPITOLUL 1. PORT I LOGICE

69

SiO2 oxid de camp a) SiO2 Strat subtire de oxid b)

Zona activa

. . . ,- -, ,- .10/10 .10/10 .10/10 *+ *+ *+ ,- ,- -, / / / *+ *+ *+


SiO2 Strat de oxid de protectie n+ n+ f)

                   
Oxidul de poarta

psubstrat, Si

4 4 4 23 32 23 9898 9889 8998 54 54 54 23 23 32 67 76 76 5 5 5


psubstrat, Si Ferestre pentru contactele metalizate n+ n+

Strat de polisiliciu c)

SiO2

  <= =<CBBC =<CBCB   =< =<CB <=BC     LL MLML    ! ! !     L GF ML GF           L GF ML GF                
psubstrat, Si h) Poarta(polisiliciu)

psubstrat, Si

g)

<=CBCB =<CB

psubstrat, Si

Strat metalizat

CB >>A@

LM LM LM GF ML H H LM GF ML JKI JKI LM ML
n+

n+

CB ??A@ BC ??@A CB CB

CB >>A@

psubstrat, Si Strat metalizat gravat poarta

CB >>A@ BC :; CB ;: CB CB ??A@ CB ;: BC :; CB CB CB CB BC ON ON ON HKJ ONON ONON ED ONON ED I ON ON ED ON ED


n+ n+

:; CBCB ;: CB ED ED

d) Difuzie impuritati donoare pentru zonele de Sursa si Dren e)

$ $ $ $ "# #" "# '& &' '& %$ %$ %$ $% "# "# #" () )( )( % % % %


psubstrat, Si n+ n+ psubstrat, Si Zone difuzate

i)

           

Contacte metalizate

   

           
V SS

V DD

Trasee metalice

Figura 1.31 Etapele n tehnologia de realizare a unui tranzistor nMOS

70

1.5. PORT I IN TEHNOLOGIA CMOS

prin difuzarea ntre zonele active ale acestor tranzistoare vecine a unei zone de tip p+ denumit a zon a de stopare (se pot vedea astfel de zone de stopare n structura din Figura 1.19-c). Notat iile n+ sau p+ semnic a faptul c a exist a o concentrat ie de purt atori de tip n respectiv de tip p mult mai mare dec at concentrat iile normale. Apoi, ntreaga suprafat a este acoperit a cu un strat subt ire (aproximativ 200 A) de oxid de calitate superioar a, care va si stratul izolator de sub poarta viitorului tranzistor implementat n zona activ a, Figura 1.31-b. Calitatea si grosimea acestui strat de oxid determin a foarte pronunt at tensiunea de deschidere/prag a viitorului tranzistor. In continuare se depune un strat de polisiliciu, Figura 1.31-c, din care, dup a un proces de gravare, se formeaz a trasa ce va constitui poarta tranzistorului, Figura 1.31-d. Acest strat depus cu grosimea aproximativ a de 3000 A din polisiliciu se realizeaz 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 a este aceea si. In schimb, materialul de polisiliciu al port ii este format, dup a cum si denumirea exprim a, din mai multe zone ecare cu dispunere cristalograc a diferit a. Zonele de material policristalin, referite si prin termenul de polisiliciu, sunt utilizate pentru realizarea electrodului de poart a sau a unor trasee de conexiune. Totodat a materialul policristalin, ca si oxidul sau nitrura de siliciu, este utilizat si ca material de mascare n procesul de difuzie al impurit a tilor; sunt impenetrabile la impurit a ti. Ansamblul obt inut p an a n aceast a etap a are deja realizate dou a ferestre pentru implementarea zonelor de surs a si dren ale tranzistorului. Implementarea zonelor de dren si surs a rezult a n urma dop arii cu impurit a ti donoare (Fosfor sau Arseniu) care schimb a conductivitatea din tip p a substratului, din zonele respective, n conductivitate de tip n + . Doparea poate realizat a prin difuzie sau prin implantare ionic a. Pentru difuzie este necesar a o atmosfer a ce cont ine impurit a ti donoare la o anumit a presiune si o temperatur a de peste 800 C , impurit a ti ce p atrund n substrat pe o anumit a ad ancime. In procesul de difuzie stratul de polisiliciu al port ii mpreun a cu stratul oxid nconjur ator ndeplinesc rolul de masc a (impenetrabile pentru impurit a tile donoare difuzate) n jurul celor dou a zone pentru dopare, Figura 1.31-e. Utilizarea stratului de polisiliciu gravat adic a poarta ca masc a duce la o foarte precis a pozit ionare a difuz arii zonelor de surs a si dren fat a de poarta tranzistorului, aceast a procedur a mai este referit a ca proces de autoaliniere. Prin implantare ionic a, folosind un spectrometru de mas a si un c amp electric accelerator, se imprim a ionilor de impuritate o energie ( ntre 10 100KeV , 1eV = 1, 6 1019 J ) sucient a ca prin impact cu suprafat a de substrat s a penetreze n ad ancime c a tiva microni si s a schimbe n zona respectiv a tipul de conductivitate. Dup a realizarea zonelor de conductivitate n + pentru dren si surs a se acoper a ntreaga suprafat a cu un strat de oxid (de protect ie), Figura 1.31-f, care apoi este gravat pentru realizarea unor ferestre, realiz andu-se acces p an a la suprafat a de substrat de conductivitate n+ , Figura 1.31-g; suprafet ele acestor ferestre pe zonele dopate de tip n+ , dup a metalizare, vor forma contactele metalice la dren si surs a. Printr-un proces de evaporare n vid se depune pe ntreaga suprafat a un strat de aluminiu, Al, cu grosimea de 50006000 A, Figura 1.31-h. Stratul metalic depus pe ntreaga suprafat a este apoi gravat astfel nc at s a formeze pe suprafat a superioar a a ansamblului traseele metalice pentru interconexiuni, aceste trasee p atrund prin contactele metalizate p an a la suprafat a zonelor difuzate de dren si surs a. Figura 1.31-i reprezint a sect iunea si o vedere n plan a p art ii superioare a tranzis-

CAPITOLUL 1. PORT I LOGICE

71

torului nMOS (realizat ntr-un substrat de tip p). Pe vederea n plan, a p art ii superioare a ansamblului (desenul de jos), sunt dou a trasee metalice, pentru aducerea potent ialelor de surs a VSS si de dren VDD , iar n interiorul acestor trasee sunt gurate dou a p atrate negrite corespunz atoare contactelor metalice care ajung la suprafet ele n+ de dren si de surs a. In aceast a gur a nu este scos la suprafat a terminal de polisiliciu al port ii (stratul de polisiliciu se vede doar n sect iune, cu ha sur a dubl a, n desenul de sus). Zona de sub poart a este zona de canal (indus). Pentru realizarea unui tranzistor pMOS se porne ste de la un substrat de tip n; etapele sunt identice cu deosebirea c a impurit a tile utilizate n procesul de difuzie, pentru obt inerea zonelor dopate de tip p+ pentru dren si surs a, sunt de tip acceptor (Bor). In exemplul acesta pentru realizarea conexiunilor necesare pe suprafat a superioar a a cipului/plachetei a fost sucient un singur strat metalic (zona caroiat a pregnant din Figura 1.31-h). Pentru circuitele VLSI complexe realizarea tuturor conexiunilor necesit a mai multe straturi metalice suprapuse, n tehnologia actual a pentru P s-a ajuns p an a la opt straturi metalice, ecare strat metalic ind izolat de cel de sub sau de cel de deasupra printr-un strat izolator de oxid. Trecerea conexiunilor ntre straturile metalice de niveluri diferite, sau ntre straturi si suprafat a de substrat a zonelor (difuzate) de diferite conductivit a ti, se face prin intermediul unor g auri (vias) realizate pe vertical a prin straturile izolatoare de oxid. Devine mult mai important a si mai complex a operat ia de realizare a straturilor/conexiunilor dec at realizarea componentelor (tranzistoarelor) n substrat (circuitele integrate complexe sunt caracterizate prin num arul de straturi metalizate, iar pentru traseele metalizate, actual se utilizeaz a cuprul). Activitatea de proiectare a unui circuit integrat poate complet separat a n timp si spat iu de procesul de fabricat ie a circuitului integrat de la turn atoria de siliciu. Leg atura ntre proiectant si inginerul de proces se face prin intermediul regulilor de proiectare a layout-ului (geometria pe siliciu). Aceste reguli de proiectare exprim a anumite constr angeri impuse de procesul de fabricat ie de la o anumit a turn atorie de siliciu. Constr angerile pot referitoare la l a timea minim a a unei linii/trase realizabil a cu acel proces, distant a minim a ntre dou a linii, dimensiunile minime pentru o zon a de difuzie etc.; de exemplu n Figura 1.30-c se poate prescrie distant a minim a dintre cele dou a zone de difuzie pentru un anumit proces. Respect and aceste reguli geometrice de proiectare proiectantul va proiecta m a stile necesare procesului care, probabilistic, duc la un procent de recolt a ridicat (exprimare procentual a a num arului de circuite funct ionale obt inute pe un wafer din num arul total de circuite pornite init ial pe un wafer) si la circuite cu o sigurant a mare n funct ionare. Regulile de proiectare a layout-ului pot exprimate n dou a modalit a ti: micronic si pe baz a de . Regulile pe baz a de lambda () cuprind toate constr angerile referitoare la optenabilitatea dimensiunilor geometrice ca multiplu ntreg (uneori fract ionar) de . Practic, acestea sunt un set de relat ii, toate n funct ie de , cu care proiectantul calculeaz a dimensiunile layout-ului pentru un anumit circuit. Lambda este caracteristica de proces, adic a rezolut ia/dimensiunea minim a garantat a pe care o poate realiza acel proces. De exemplu, n Figura 1.30-c distant a dintre cele dou a zone difuzate ar putea exprimat a prin relat ia d = sau l a timea minim a a trasei de polisiliciu pentru poart a este 2, etc. Avantajul exprim arii pe baz a de este p astrarea acelora si relat ii de proiectare c and se trece de la un proces la unul mbun at a tit, de exemplu

72

1.5. PORT I IN TEHNOLOGIA CMOS

c and se trece de la un proces cu = 1m la unul cu = 0, 6m (relat iile geometrice ,6 = 0, 6). Teoretic, aceast a scalare a lui c and se de proiectare se nmult esc cu 01 trece la un proces mbun at a tit ar fezabil a dar, practic, se constat a c a atunci c and procesul este submicronic (corespunde la lungimi de canal sub 1m) si n special la procesele ad anc submicronice (lungimi de canal sub 0, 35m) scalarea lui nu mai este liniar a si constant a. Exprimarea micronic a a regulilor se reduce la exprim ari n valori absolute, n m, pentru dimensiunile layout-ului, ceea ce elimin a inconsistent a care apare la regulile pe baz a de lambda c and se aplic a scalarea. Uneori cele dou a modalit a ti, de exprimare a informat iei necesare proiectantului pentru denirea layout-ului, sunt mixate. 1.5.1.2 Ecuat iile tranzistorului MOS

Structura tranzistorului MOS (Metal-Oxid-Semiconductor) este cea din Figura 1.31-i, iar pentru o explicare a funct ion arii este reprezentat, ntr-o nuant a didactic a, n Figura 1.32-a. In principiu, un tranzistor MOS se reduce la un condensator metalsemiconductor, cele dou a arm aturi ind una o plac a G (Gate) din polisiliciu sau metal, de dimensiuni W L, iar cealalt a arm atur a este constituit a din substratul de semiconductor B, ntre acestea dielectricul este format din stratul de SiO 2 cu grosimea Dox (< 200 A). C and se aplic a o tensiune pozitiv a ntre poart a si substrat V GC > 0 (gril a - canal), deoarece densitatea de purt atori de sarcin a 1 -electroni liberi- n placa metalic a este mult mai mare dec at densitatea de purt atori liberi n semiconductor, c ampul electric dintre pl acile acestui condensator metal-semiconductor p atrunde n substrat dar nu p atrunde n placa metalic a. Sarcina electric a (pozitiv a n cazul acesta) de pe poarta (placa metalic a) are o repartizare de suprafat a iar sarcina negativ a, indus a n substratul de tip p, are o repartizare volumetric a; la interfat a cu oxidul sunt atra si electronii liberi din substrat care formeaz a un strat de sarcin a negativ a cu grosimea 50 A. Acest strat de sarcin a liber a, indus a la suprafat a substratului, este referit prin (zona de) canal (indus). Cantitatea de sarcin a negativ a indus a n canal este determinat a de intensitatea c ampului dintre poart a si substrat, deci de valoarea tensiunii VGC (sau VGB ). Deoarece la cele dou a capete ale canalului exist a ,, dou a rezervoare de sarcin a negativ a liber a, c and VGC este este sucient de mare ca s a induc a un canal cele dou a rezervoare, obt inute prin difuzia de dren D si de surs a S, acestea vor unite printr-o cale conductiv a - canalul indus n substrat, cu lungimea L. Aplic and o diferent a de potent ial ntre cele dou a zone de dren si de surs a apare o deplasare de electroni n canal, deci un curent de canal. In concluzie, se poate arma c a tranzistorul MOS este un dispozitiv la care valoarea curentului de conduct ie n canalul, dintre dren si surs a, este controlat de tensiunea aplicat a pe poart a. Deci intensitatea curentului din canal este o funct ie de tensiune aplicat a dintre dren si surs a, VDS , si tensiunea poart a-canal VGC , Icanal = f (VDS , VGC ). Pornind de la aceast a explicat ie calitativ a a funct ion arii dispozitivului MOS, n continuare, vor deduse relat ii simple care pot exprima si cantitativ funct ionarea dispozitivului nMOS. Tensiunea pozitiv a VGC , pentru valori cresc atoare pornind de la 0V, va respinge sarcina mobil a pozitiv a din zona de interfat a oxid-substrat nspre masa substratului, adic a golurile care sunt purt atori mobili majoritari n substratul de tip p. In urma
1 Densitatea de electroni liberi n: metale - 1028 /cm3 , izolatoare - 107 /cm3 , semiconductoare 2 1013 /cm3 pt Ge si 1, 45 1010 /cm3 pt Si

CAPITOLUL 1. PORT I LOGICE

73

V GS

h ] ] ] _ h g ] _ _ _ _ Q ^ Q ^ Q ^ Q ` ^ Q ` Q ` Q ` ` [ [ [ Q \ Q \ Q \ \[ZY[ c dQ c sQ ct fQ dQ d e e Q f e Q f e Q f Q e f e f Q s s t t ] ] ] g ] Q ^ Q ^ Q ^ ^ Y Y Y Q Z Q Z Q Z i i i m i m m m m j j j Q n j Q n Q n Q n n [ [ [ \ \ \ \Y[Z bQ a kQ a lQ a W lQ a XQ a XQ bQ bQ bQ bQ ba XW c dQ c tQ c tQ dQ d s s s t ] ] ] ] Q ^ Q ^ Q ^ ^ k k k l Q Y Q Y Q Y Z Z Z W W i i i i j j j j [ [ [ \ \ \ \ cc dcQ dQ ss dcdc qQtQ ss qQtss qQ Q ] Q ] Q ] ] ^ ^ ^ ^ji] qQ k q WQ lQ lkk q XQ Y\[ qQ Y\[ qQ Y\[ qQ ZQ ZQ ZQ ZY\[Y kQ W lklk qQXQ W qQXW q i i i j j j cQtQ dQ d Q q Q q Q q q Q t Q t t ] ] ] Q ^ Q ^ Q ^ ^ Q k k Q l Q l Y Y Y Z Z Z Z WW kQ WW kl rQ WW rQ XQ XQ XXWW rq jiTQ jiTQ jiTQ jiTQ [ZY TS rQ [ZY rQ [ZY rQ [ZY kQ Q \ Q \ Q \ \ S^]jQ S S S cpo dQ cpo tQ cpo rQ dQ d q q Q r q Q r q Q r q Q r q Q r q Q r q q q q r q r q r q q s s s Q t t ] ] ] ^ ^ ^ Q k l l Q X Q X i i i i Q j Q j j [ZY TSRP rQ [ZY rQ [ZY rQ UWU lk rQVXQ UWU rQVXUWU r \Q \Q \Q \[ZY[ k rQlk rQUWQ VXQ SRPjQ SRPjQ SRPjiRQ TSRPjQ T T Q T dc sQ dc rQsQ o o podcQ Q p p Q r Q r Q r Q r Q r Q r Q r s t t t k l i i i [ [ [ P P P P P U Q \ Q \ Q \ \ R R R R V V VXVUW TS TS TS TS YQ TS YQ o o poQ Q p p Q k k k k Q l Q l l Q Y Y Z Z Z Z W W W Q X Q X U U U V V ooQpQ ooQpoo pQ UQ UU VQ UU VUU VQ ppoQppQ p Q U Q V Q V V o po UQ UU VQ UU VUU UQVQ VQ VQ V
+ V SS S (Sursa) G (Poarta) V DS + D (Dren)

G +

V DS B

V GS

Placa din polisiliciu sau metal

SiO2

n+

DOX

Canal indus L

n+

a)

pSubstrat,

Si

I DS [mA] Reg. liniara

canal W/L=60/6 canal W/L=6/0,6 Reg. de saturatie V DS =V GS Vpn

3.0 2.5 2.0

I DS(sat) [mA] V DS =3,0V

2 I DS(sat) (V GS Vpn) W/L=6/0,6 1 (canal scurt) I DS(sat) (V GS Vpn) 2 W/L=60/6 (canal lung) V GS [V] 0 D G B G 1 2 pMOS D G S reprezentare simplificata S D 3

1.5 1.0 V DS [V]

b)

0 D

1 nMOS D B G

3 D G S

c)

I DS(sat) V GS Vpn

d)

S simbol cu 4 terminale

S reprezentare simplificata

S simbol cu 4 terminale

Figura 1.32 Tranzistorul nMOS: a) structur a zic a de principiu pentru un tranzistor nMOS; b) caracteristicile statice de ie sire I D = f (VDS )VGS =const ; c) dependent a IDsat de tensiunea VGS ; d) simbolurile de reprezentare pentru tranzistoarele nMOS si pMOS.

74

1.5. PORT I IN TEHNOLOGIA CMOS

acestei respingeri n zona de interfat a a stratului r am ane doar sarcina negativ a, x a n ret eaua cristalin a, format a din ionii negativi ai atomilor acceptori. Rezult a c a n stratul de interfat a apare un regim de s ar acire de purt atori majoritari si chiar la aplicarea unei tensiuni ntre dren si surs a curentul din canal este nul. Dar c and tensiunea VGC devine mai mare dec at o valoare Vpn (valoare de prag/ deschidere pentru nMOS) c ampul electric al condensatorului poart a-substrat atrage, din masa substratului, sarcini electrice minoritare mobile (electronii) determin and astfel n zona de interfat a o inversiune a sarcinilor mobile, adic a conductivitatea init ial a de tip p (goluri) devine de tip n. Electronii atra si n zona de interfat a vor constitui o sarcin a mobil a n zona de canal, deci apare posibilitatea unui curent de canal. Cantitatea de sarcin a poate exprimat a prin relat ia: Q = C (VGC Vpn ) (1.27)

In aceast a expresie C este capacitatea echivalent a a condensatorului plan format ntre plac a-substrat (cu suprafat a W L, stratul dielectric av and grosimea D ox iar ox permitivitatea oxidului) a c arei valoare este dat a de relat ia clasic a: C = ox W L = Cox W L Dox (1.28)

ox este capacitatea pe unitatea de suprafat a a stratului de oxid de unde Cox = D ox sub poart a, care se obt ine din relat ia 1.28 c and W = 1, L = 1. Cu valorile ox 3, 45 1011 F m1 , Dox = 100 A = 108 m se obt ine Cox 3f F/m2 .Capacitatea specic a a stratului de oxid este o caracteristic a a ec arui proces tehnologic si trebuie luat a de c atre proiectantul de circuite ca o constant a dat a. Diferent a de tensiune VGC Vpn poate privit a ca tensiunea efectiv a care comand a sarcina din canal, deoarece p an a c and tensiunea aplicat a pe poart a nu este mai mare dec at tensiunea de prag Vpn nu exist a sarcin a mobil a n canal, deci nici curent n canal, tranzistorul este blocat. Prin existent a sarcinii induse, VGC Vpn > 0, si prin polarizarea zonelor de dren si surs a, n canal se produce deplasare de sarcin a, deci curent. Polarizarea se face n felul urm ator: pe dren se aplic a o tensiune pozitiv a fat a de substrat V DB > 0 iar sursa se conecteaz a la substrat VSB = VSS = 0V ; n felul acesta potent ialul sursei este identic cu potent ialul de substrat si este potent ialul de referint a (mas a), iar V DB devine VDS . Intr-o abordare simpl a, pentru deducerea unui model matematic pentru curentul din canal, se echivaleaz a canalul cu o rezistent a pe care sursa de tensiune V GC produce o c adere de tensiune gradual a n funct ie de lungimea x din canal, V GC (x). Se admite pentru aceast a c adere de tensiune o variat ie liniar a n funct ie de lungimea din canal astfel: pentru x = 0, n zona de surs a, VGC = VGS si pentru x = L (lungimea canalului) n zona de dren VGC = VGS VDS . Calculul sarcinii din canal se face cu relat ia 1.27 n care se introduce c aderea de tensiune ca o medie aritmetic a a valorilor 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)

si utiliz and expresia capacit a tii exprimat a prin relat ia 1.28 se obt ine: (1.30)

CAPITOLUL 1. PORT I LOGICE

75

Sub act iunea c ampului electric din canal E x = VDS /L (se consider a numai componenta Vx n lungul canalului) produs de tensiunea VDS electronii sunt deplasat i de la surs a la dren cu viteza: VDS v x = n E x = n (1.31) L unde n este mobilitatea electronilor, cu valori ntre 500 1500cm 2 /V s; pentru goluri valorile mobilit a tilor sunt p = 100 400cm2 /V s. Mobilitatea purt atorilor scade cu concentrat ia de dopare si cu cre sterea tempteraturii. Timpul de deplasare/tranzit al electronilor prin canal rezult a simplu: f = L2 L = vx n VDS (1.32)

Aceast a relat ie exprim a o dependent a p atratic a a timpului de tranzit n canal n funct ie de lungimea canalului; apare evidenta concluzie c a scalarea (mic sorarea dimensiunilor) duce la dispozitive mai rapide. In nal, din relat iile 1.30 si 1.32, se obt ine expresia curentului dren - surs a, IDS : 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 a factorul de c a stig al procesului, la fel ca si tensiunea de prag V pn , este o constant a de proces si are valori n intervalul 100100A/V 2 . Nu este neobi snuit ca n cadrul aceluia si proces, n funct ie de materialul init ial utilizat ca substrat, de variat ia n grosime a stratului de oxid de sub poarta Dox , factorul de c a stig al procesului s a aib a abateri de 10 20%. Se dene ste factorul de c a stig al tranzistorului, n : n = K n W L (1.35)

Raportul dintre l a timea canalului W si lungimea canalului L este referit ca factorul de form a al tranzistorului, de fapt conductant a canalului este proport ional a cu raportul dintre l a timea si lungimea sa. Raportul W/L este unul din cei mai important i parametri asupra c aruia proiectantul poate act iona n etapa de dimensionare a layoutului pentru a obt ine caracteristicile dorite pentru tranzistor. Ecuat ia 1.33 este modelul matematic al tranzistorului MOS pentru regimul liniar de funct ionare. Acest regim liniar, ntre variat iile I DS ale curentului de canal si variat iile VGS ale tensiunii gril a surs a, se obt ine c and sunt ndeplinite condit iile regimului liniar: VGS > Vpn si VDS < VGS Vpn . C and tensiunea dren-surs a cre ste, peste valoarea efectiv a a tensiunii de comand a a canalului, VDS > VGS Vpn , rezult a o diferent a de potent ial poart a-dren de valoare negativ a VGD = (VGS Vp ) VDS < 0, deci se inverseaz a sensul c ampului poart a-dren. Aceast a inversare a sensului c ampului determin a o reducere a sarcinii din canal n zona

76

1.5. PORT I IN TEHNOLOGIA CMOS

de dren (x = L) ceea ce este echivalent cu cre sterea rezistent ei canalului nspre dren, cea mai mare parte a tensiunii VDS se va reg asi pe acest segment de rezistent a m arit a. Lungimea efectiv a, notat a cu L , a canalului se mic soreaz a (L < L) si chiar la m arirea tensiunii dren-surs a, VDS , curentul n canal r am ane la o valoare constant a, I DS (sat) ( n realitate IDS (sat) are o cre stere u soar a n funct ie de VDS ). Acesta este regimul de saturat ie al tranzistorului obt inut pentru condit iile: V GS > Vpn si VDS VGS Vpn ; iar expresia curentului de saturat ie se obt ine din ecuat ia regimului liniar 1.33 n care se face substitut ia VDS = VGS Vpn : IDS (sat) = (VGS Vpn )2 2 (1.36)

In Figura 1.32-b sunt reprezentate caracteristicile statice I DS = f (VDS )VGS =const pentru dou a tranzistoare nMOS unul cu canal lung W/L = 60m/6m iar altul cu canal scurt W/L = 6m/0, 6m realizate n tehnologie de 0, 5m. Se observ a din Figura 1.32-c c a ecuat ia 1.36 exprim a mult mai exact curentul de saturat ie I DS (sat) pentru tranzistoarele cu canal lung dec at pentru cele cu canal scurt. Separarea zonei liniare de zona de saturat ie n Figura 1.32-b este demarcat a printro linie ntrerupt a, care este reprezentarea grac a a ecuat iei V DS = VGS Vpn . Regimul blocat al tranzistorului IDS = 0, obt inut c and UGS Vpn , este reprezentat de axa absciselor ( n realitate, IDS are valori foarte mici determinat n special de a sa-numitul curent de sub poart a). Tranzistorul se deschide c and tensiunea de comand a V GS devine VGS > Vpn . In scheme echivalente, n funct ie de regimul de funct ionare, tranzistorul MOS ntro abordare calitativ a poate substituit n felul urm ator: regimul blocat - contact deschis, regimul liniar - rezistent a, regimul saturat - generator de curent. Modelul matematic al dependent ei curent-tensiune n curent continuu, IDS = f (VDS )UGS =const , pentru tranzistorul MOS exprimat de ecuat ia 1.33, pentru regimul liniar si exprimat de ecuat ia 1.36, pentru regimul n saturat ie, sunt relat ii simple, u sor de utilizat, dar rezultatele pot diferi de cele reale. De exemplu, calcul and factorul de c a stig al procesului Kn , cu ajutorul ecuat iei 1.33, rezult a o valoare de dou a ori mai mic a dec at valoarea lui Kn m asurat a pe tranzistor c and este n regimul liniar; explicat ia const a n faptul c a Vpn si n nu sunt constante cum se consider a n ecuat ie. Un model matematic care s a exprime exact funct ionarea tranzistorului este necesar at at proiectantului de tranzistoare c at si proiectantului de circuite pe baza tranzistorului respectiv. Proiectantul de circuite dore ste ca prin simul ari pe baza unui model matematic, n care introduce datele de catalog ale tranzistorului , s a obt in a caracteristicile dinamice la circuitului (pHL , pLH , HL , LH ). Iar proiectantul de tranzistoare de la turn atoria de Si dore ste ca pe baza unui model n care s a introduc a valorile parametrilor de proces (Vpn , Kn , Cox , Dox etc.) s a fac a predict ia performant elor tranzistorului nainte ca acesta s a e produs. Se pot obt ine modele mult mai exacte dac a sunt luate n considerare efectele de ordinul doi (neglijate n deducerea ecuat iilor 1.33 si 1.36). Programul de simulare SPICE (Simulation Program with Integrated Circuit Emphasis) existent n toate mediile de proiectare automat a n electronic a, EDA,are la baz a diferite modele matematice pentru tranzistorul MOS (simulatoarele comerciale pot avea p an a la zece modele matematice pentru tranzistor).

CAPITOLUL 1. PORT I LOGICE

77

SPICE-ul poate simula pentru trei modele, acestea sunt selectabile prin identicatorul de nivel LEVELi. Nivelul LEVEL1 se bazeaz a pe modelul matematic exprimat prin relat iile 1.33, 1.36 n plus include si efectele de ordinul doi importante. Nivelul LEVEL2 calculeaz a curent ii pe baza unui model analitic al zicii dispozitivului. Iar nivelul LEVEL3 este o abordare semi-empiric a pe baza parametrilor de proces si o ,, potrivire a expresiei ecuat iilor astfel nc at acestea s a se suprapun a peste comportamentul real al tanzistorului. Evident, n nivelul 2 si 3 sunt incluse toate efectele de ordinul doi. In continuare vor expuse succint efectele de ordinul doi [Kang 96][Weste 92]. Efectul de substrat. In Figura 1.32-a s-a considerat c a sursa se leag a la substrat, VSB = VSS = 0V , deci potent ialul de referint a este potent ialul substratului. Se poate ca fat a de potent ialul de referint a (de mas a) al sursei, V SS , substratul s a e polarizat cu o tensiune de substrat VSB = 0V . Polarizarea de substrat duce la o cre stere a tensiunii de prag Vp (aproximativ cu 0, 5V pentru ecare cre stere a VBS cu 2 V). Cre sterea tensiunii de prag Vp determin a o mic sorare a curentului IDS ceea ce duce la un dispozitiv mai lent. Modulat ia lungimii canalului. C and VDS > VGS Vp , adic a n regim de saturat ie sarcinile din canal din zona de dren dispar, deci lungimea efectiv a (electric a) L a canalului devine mai mic a dec at lungimea geometric a L a canalului (L < L). Apare astfel o modulat ie a lungimii canalului care este o funct ie de V DS . Odat a cu mic sorarea lungimii canalului se modic a raportul W/L deci valoarea lui (relat ia 1.35).La tranzistoarele cu canal lung aceast a variat ie a lui nu este important a dar devine important a la tranzistoarele cu canal scurt (deci odat a cu scalarea). Variat ia mobilit a tii. Mobilitatea at at a electronilor n c at si a golurilor p nu este constant a, acestea scad cu cre sterea concentrat iei de dopare cu impurit a ti (deci cu scalarea) si cu cret erea temperaturii. Saturat ia vitezei. Din relat ia 1.31 apare c a viteza de drift a purt atorilor poate cre ste oric at de mult n funct ie si de E . In realitate viteza ajunge la o valoare de saturat ie, de exemplu viteza electronului ajunge la valoarea v max = 105 m/s care se atinge pentru E = 106 V /m (o c adere de 1V pe lungimea de 1m) si care nu se poate dep a si chiar dac a Ex cre ste n continuare. Conduct ia de subprag IOH . In modul de aproximare gradual a a canalului c and VGS < Vp curentul IDS = 0. Dar atunci c and VDS are valori ridicate chiar dac a VGS < Vp apare totu si un curent de valoare relativ sc azut a n canal deci I DS = 0; care are urm atoarele dou a componente: un curent de polarizare invers a prin jonct iunile formate ntre zonele difuzate si substrat; un curent de (conduct ie) subprag. Odat a cu scalarea dimensional a ( si a tensiunii V DD , scalare complet a) trebuie mic sorat a si valoarea tensiunii de prag V p pentru a asigura vitez a ridicat a de comutat ie a tranzistorului si o margine de zgomot sucient a. Curentul de Vp subprag este proport ional cu e T , deci are o cre stere odat a cu mic sorarea tensiunii de prag si cu cre sterea temperaturii (T ). Inject ia de purt atori erbint i. C and, prin scalare, dimensiunile tranzistorului sunt foarte mici si VDS este de valoare mare, componentele orizontale si verticale

78

1.5. PORT I IN TEHNOLOGIA CMOS

(Ex , Ey ) ale c ampului n canal au valori ridicate sub a c aror efect purt atorii mo,, bili de sarcin a pot atinge energii cintetice ridicate (devin purt atori erbint i ). Electronii erbint i pentru nMOS pot p atrunde: n stratul de oxid de sub poart a modic and distribut ia de sarcin a de la interfat a SiO 2 -substrat sau n zona de dren disloc and goluri care sunt apoi atra si nspre substrat. Efectul de injectie de purt atori erbint i este dezastruoas mai ales pentru dispozitivele deja n funct ionare care, n timp, se distrug scot a nd din funct iune sistemul respectiv. Scalarea, care nu este un efect de ordinul doi pentru tranzistor dar, prin reducerea dimensiunilor si a tensiunilor de alimentare, prin cre sterea nivelurilor de dopare cu impurit a ti donoare ND sau acceptoare NA creaz a condit ii ca efectele explicate mai sus s a apar a mult mai pronunt at. Tabelul 1.10 Reducerea m arimii caracteristice (minime) la un proces tipic de matrice de port i 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 n tehnologia de integrare este referit a prin termenul de scalare. Prin mbun at a tiri, n timp, procesul tehnologic si mic soreaz a caracterstica de proces (dimensiunea minim a care poate denit a si realizat a pentru procesul respectiv); astfel s-a constatat c a m arimea caracteristic a (minim a) a procesului se scaleaz a/reduce aproximativ cu 1, 3 1, 5 n decurs de 2-3 ani, cum rezult a din Tabelul 1.10. Scalarea este caracterizat a prin factorul de scalare s, m arimea cu care se divid toate dimensiunile. Sunt referite dou a cazuri de scalare: scalarea complet a si scalarea la tensiune constant a. Scalarea complet a reduce toate dimensiunile cu factorul s, reduce tensiunile cu factorul s iar valorile densit a tilor de dopare sunt multiplicate cu s, toate acestea pentru a ment ine c ampul electric n dispozitiv nemodicat. Acest mod de scalare apare atractiv din punct de vedere al puterii disipate, Tabelul 1.11, care se reduce de s2 ori, de si puterea disipat a pe unitatea de arie nu se modic a. Scalarea la tensiune constant a reduce dimensiunile cu factorul s, m are ste densit a tile de dopare cu s2 , dar tensiunile de alimentare r am an nemodicate. Acest tip de scalare este preferat, uneori, pentru a se putea interfat a circuitul scalat cu alte circuite (anterioare) care nu au fost scalate (se utilizeaz a aceea si valoare a tensiunii de alimentare). Se observ a c a puterea disipat a cre ste de s ori, puterea disipat a pe unitatea de arie de s3 ori, iar densitatea de curent j tot de s3 ori. Cre sterea densit a tii de curent pe traseele metalice poate provoca, prin electromigrat ie, ntreruperea acestora. Electromigrat ia metalului este efectul prin care, la densit a ti foarte mari, ntr-un conductor atomii metalului sunt antrenat i n sensul curentului. Prin scalare la tensiune constant a n unele puncte ale traseelor metalice pot apare ngust ari, unde densitatea de curent dep a se ste 105 A/cm2 (pentru Aluminiu), iar n timp, prin electromigrat ie, traseul se subt iaz a continuu p an a se ntrerupe n acele puncte.

CAPITOLUL 1. PORT I LOGICE

79

1.5.2

Inversorul CMOS

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

M arimea Lungimea de canal L a timea de canal Grosimea oxidului de sub poart a Tensiunea de alimentare Tensiunea de prag C ampul electric n oxid Concentrat ia de impurit a ti donoare Concentrat ia de impurit a ti acceptoare Capacitatea specic aa port ii Curentul de dren-surs a Densitatea de curent Puterea disipat a Puterea disipat a/unitate de arie

Dup a scalare 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 = P s2


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. PORT I IN TEHNOLOGIA CMOS

Caracteristica static a de transfer VO = f (VI )

In opozit ie fat a de tranzistorul nMOS (prezentat anterior), care are zonele difuzate de tip n+ si la care drenul se polarizeaz a cu o tensiune pozitiv a fat a de surs a iar tensiunea de deschidere Vpn este pozitiv a, la tranzistorul pMOS zonele difuzate sunt de tip p+ , drenul se polarizeaz a cu tensiune negativ a fat a de surs a iar tensiunea de deschidere Vpp este negativ a, Figura 1.33-b. In structura de inversor CMOS prin conectarea, pentru ambele tranzistoare, a zonelor de surs a la substraturile corespunz atoare nu se va lua n considerare efectul de polarizare a substratului, deci se pot deduce urm atoarele relat ii: VGSn = VI VDSn = VO si de asemenea VGSp = (VDD VI ) VDSp = (VDD VO )

(1.37)

(1.38)

Caracteristica static a, Figura 1.33-c, se va analiza pentru variat ia tensiunii de intrare pornind de la VI = VSS = 0V p an a la VI = VDD , iar ie sirea inversorului se consider a n gol, deci pentru curent ii celor dou a tranzistoare exist a relat ia: IDSn = IDSp Regimul liniar de funct ionare este denit de relat iile: VI > Vpn VI < VDD + Vpp si si VDSn < VI Vpn pentru nMOS VDSp > VGSp Vpp pentru pMOS (1.39)

(1.40)

iar tranzistoarele sunt echivalente unor rezistent e. Regimul de funct ionare n saturat ie este denit de relat iile: VI > Vpn VI < VDD + Vpp si si 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. In caracteristica static a de transfer VO = f (VI ), n funct ie de regimul de funct ionare al ec aruia din tranzistoarele nMOS si pMOS se disting cinci regiuni de funct ionare ( A , B , C , D , E ) pentru inversor. Pe aceast a caracterstic a se pot calcula valorile tensiunii de intrare n stare L, VIL , si de intrare n starea H, VIH . Regiunea A . 0 VI < Vpn deci nMOS este blocat, IDSn = 0 si este echivalent unui contact deschis. Tranzistorul pMOS are VGSp < V pp si este n regiunea liniar a cu IDSp = 0, conform relat iei 1.39. Fiind n regiunea liniar a cu I DSp = 0 rezult a c a si VDSp = 0 ceea ce din relat ia a doua 1.38 determin a tensiunea de ie sire n stare H: VO = VOH = VDD (1.42)

CAPITOLUL 1. PORT I 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 a; b) caracteristicile de comand a IDS = f (VGS ) pentru nMOS si pMOS; c) caracterstica static a V O = f (VI ); d) circuitele echivalente pentru cele cinci regiuni ale caracteristicii statice.

82

1.5. PORT I IN TEHNOLOGIA CMOS

Regiunea B . VI Vpn , VDSn VDD > VI Vpn deci nMOS intr a n saturat ie iar pMOS continu a n regimul liniar. In caracteristica de transfer VO = f (VI ) tensiunea ncepe s a scad a si, prin denit ie, c and panta caracteristicii de transfer este egal a cu 1 (dVO /dVI = 1), se consider a pentru tensiunea de intrare V I = VIL . Introduc and n relat ia 1.39 pentru nMOS exprimarea de regim de saturat ie relat ia 1.36, iar pentru pMOS exprimarea de regim liniar se obt ine: n p (VI Vpn )2 = 2 ((VI VDD ) VP P ) (VO VDD ) (VO VDD )2 2 2 (1.43)

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

(1.44)

Prin rezolavarea ecuat iilor 1.44 si 1.43 se obt ine valoarea lui V O pentru VIL n punctul caracteristicii cu panta -1. am ane n saturat ie si dup a punctul de interRegiunea C . Tranzistorul nMOS r sect ie al caracteristicii VO = f (VI ) cu dreapta VO = VI Vpp c and intr a n saturat ie si tranzistorul pMOS, VO VI Vpp (relat ia 1.41). Teoretic, n aceast a regiune caracteristica ar trebui s a e vertical a dar pentru c a tranzistoarele n saturat ie nu sunt generatoare de curent ideale, IDS (sat) are o mic a cre stere cu VDS , aceast a caracteristica are o mic a abatere de la o pant a innit a. In aceast a regiune pentru variat ii mici VI se obt in variat ii mari VO , exist a un punct c and tensiunea VI care cre ste devine egal a cu tensiunea VO care descre ste si corespunde punctului (N ) de intersect ie al caracteristicii cu prima bisectoare (vezi si Figura 1.14-b). Denit ia 1.14 Pragul (logic) de comutat ie VT al unei port i este aceea valoare a tensiunii de intrare care produce la ie sire o tensiune de valoare egal a, adic a VT = V I = V O . Prin introducerea expresiilor curent ilor de saturat ie n relat ia 1.39 se obt ine: p n 2 (VI Vpn )2 = [(VI VDD ) Vpp ] 2 2 si prin substitut ia VI = VT rezult a VT = Vpn +
p n (VDD

(1.45)

+ Vpp )

1+

p n

(1.46)

and caracteristica de ie sire intersecteaz a dreapta V O = VI Vpn , Regiunea D . C sub care VO < VI Vpn , tranzistorul nMOS intr a n zona liniar a de funct ionare iar pMOS r am ane n saturat ie. In caracteristica de transfer tensiunea VO ncepe s a nu mai O descreasc a puternic si, prin denit ie, c and panta are valoarea dV = 1, se consider a dVI

si pentru tensiunea de intrare VI = VIH . In mod asem an ator, ca n regiunea B ,

CAPITOLUL 1. PORT I LOGICE

83

aici, egal and expresia curentului de saturat ie prin canalul p cu expresia n regim liniar din canalul n se obt ine: n p 2 2(VI Vpn )Vo Vo2 = [(VI VDD ) Vpp ] 2 2 n care substituind VI = VIH si dVO /dVI = 1 rezult a expresia pentru VIH : VIH = VDD + Vpp + 1
n p (2VO n + p

(1.47)

+ Vpn )

(1.48)

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

Proiectarea, sau sinteza, unui inversor CMOS const a n determinarea dimensiunilor geometrice ale canalelor (W/L)n , (W/L)p necesare realiz arii layoutului, pornind de la parametrii caracteristici de proces (Vpn , Vpp , Dox , Cox etc.), astfel nc at s a se obt in a o caracteristic a de transfer VO = f (VI ) si anumite performant e dinamice cerute. Poate parcurs si traseul invers, adic a analiza, pentru un inversor deja realizat, ntr-un anumit proces si cu un anumit layout, s a se determine caractersitica de proces si performant ele dinamice (eventual acestea s a e comparate cu valorile obt inute experimental). Fiind date VDD , Vpn si Vpp si impus a o anumit a valoare a tensiunii de prag de comutat ie VT din relat ia 1.46 se deduce expresia pentru raportul n /p : n = p VDD + Vpp VT VT Vpn
2

(1.50)

Consider and c a inversorul este ideal, adic a are tensiunea de prag logic de comutat ie la jum atatea tensiunii de alimentare, ca n Figura 1.33-c, VTideal = se obt ine: n p =
ideal

1 VDD 2
2

(1.51)

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

0, 5VDD + Vpp 0, 5VDD Vpn

(1.52)

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


W L n W L p

1.5. PORT I IN TEHNOLOGIA CMOS

n p

W L n W L p

(1.54)

n care s-a considerat c a grosimea stratului de oxid de sub poart a D ox , n consecint a si Cox = ox /Dox , au acelea si valori pentru ambele tranzistoare. Mobilitatea purt atorilor, mai mare cam de dou a ori a electronilor fat a de cea a golurilor, scade odat a cu doparea cu impurit a ti a substratului si cu cre sterea temperaturii. Lu and valori tipice pentru mobilit a ti n = 580cm2 /V s, p = 230cm2 /V s si introduse n raportul unitar din relatia 1.54 se obt ine:
W L n W L p

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

(1.55)

Rezult a relat ia cantitativ a ntre coecient ii de form a ai celor dou a canale: W L 2, 5 (1.56)
n

iar n cazul c and se realizeaz a aceea si lungime pentru ambele canale, L n = Lp , rezult a relat ia ntre l a timea canalelor Wp = 2, 5Wn .
[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 Dependent a tensiunii de prag (logic) de comutat ie a inversorului n funct ie de valoarea raportului n /p . Din relat ia 1.50 se observ a c a exist a o dependent a ntre raportul n /p si valoarea tensiunii de prag logic de comutat ie a inversorului. Pentru a obt ine caracteristici statice cu prag de comutat ie VT mai ridicat trebuie mic sorat a l a timea Wn a canalului n n raport cu l a timea Wp a canalului p (consider and c a lungimile de canal r am an neschimbate ), Figura 1.34.

CAPITOLUL 1. PORT I LOGICE

85

Pentru inversorul ideal si caracteristica simetric a ( n /p = 1, Vpn = |Vpp |) din relat ia 1.44 se obt ine expresia pentru VIL : VIL = 1 (3VDD 2Vpn ) 8 (1.57)

iar din relat ia 1.49 relat ia 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 n curent continuu M L , MH : 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 urm atorii parametrii: V DD = 5V , Vpn = 1V , Vpp = 1, 2V , n = 100A/V 2 , p = 40A/V 2 s a se calculeze valorile pentru marginile de zgomot n curent continuu MH , ML . Solut ie. Problema nu este de sintez a ci este de analiz a. Se observ a c a nu este un inversor simetric Vpn = |Vpp |; n /p = 2, 5. Valorile pentru VOL = 0V , VOH = VDD = 5V rezult a din relat iile 1.42 si 1.49 iar cele pentru VIL si VIH se calculeaz a n felul urm ator: din relat ia 1.44 rezult a VIL
VIL = 0, 57VO 1, 06 prin introducerea expresiei lui VIL n relat ia 1.43 se obt ine: 2, 5(0, 57VO 1, 06 1)2 = 2(0, 57VO 1, 06 5 + 1, 2)(VO 5) (VO 5)2 Numai solut ia pozitiv a a ecuat iei corespunde zic problemei (VO > 0) VO = 4, 8V cu care se calculeaz a VIL = 0, 57VO 1, 06 = 1, 68V . Din relat ia 1.49 rezult a VIH VIH = 1, 43VO + 1, 8 prin introducerea expresiei VIH n relat ia 1.47 se obt ine:
2 (1, 43VO 2)2 = 2, 5 2(1, 43VO + 1, 8 1)VO VO 2 2, 61VO + 9, 72VO 4 = 0 2 0, 46VO 13 = 0 0, 66VO

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

86
S i ia n nal :

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

Pe intervalul Vpn VI VDD + Vpp se observ a din Figura 1.33-c c a ambele tranzistoare conduc, deci exist a un curent de scurtcircuit ntre V DD si VSS . Durata acestor impulsuri de curent de scurtcircuit, curba I DSn = IDSp trasat a punctat n Figura 1.33-c, depinde de durata de excursie a tensiunii de intrare n sens cresc ator ntre valorile Vpn si VDD + Vpp si n sens descresc ator. Durata de excursie este cu at at mai scurt a cu c at panta fronturilor semnalelor de comand a, aplicate pe poart a, este mai mare. Puterea disipat a Pd la inversorul CMOS are cele trei componente explicate n sect iunea 1.3. Pd = Pdcc + Pdca = Pdcc + Pdsc + Pdc (1.62) In regim static, regiunile A si E din caracteristica static a, Figura 1.33-c, teoretic, puterea disipat a Pdcc este zero, deoarece e tranzistorul nMOS, e pMOS sunt blocate, deci IDSn = IDSp = 0. In realitate exist a o putere disipat a de valoare redus a datorit a unui curent rezidual IDS (= IDDQ ) care are dou a cauze. Prima, c and VGS < |Vp | exist a un curent n canal de ordinul A datorit a conduct iei de sub prag Iof f . A doua, prin jonct iunile polarizate invers, formate ntre zonele difuzate n + si + substratul de tip p la nMOS si zonele difuzate p si substratul de tip n la pMOS, exist a un curent de conduct ie spre substrat. Acest curent rezidual, notat prin I DDQ curentul ntre VDD si VSS n regim stat ionar, poate utilizat pentru o prim a metod a simpl a de testare a unui circuit integrat CMOS. Valoarea normal a a lui I DDQ se poate estima sau se poate m asura la un circuit (vericat) care are o funct ionare normal a. Dac a la un circuit prin m asurare se determin a, n regim stat ionar, pentru curentul absorbit de la sursa de alimentare o valoare mai mare dec at cea normal a a lui I DDQ atunci acel circuit prezint a o cale de scurtcircuit de la V DD la VSS , deci este defect. Puterea disipat a n regim dinamic Pdca apare pe durata c and inversorul are punctul de funct ionare n regiunile B , C , D , Figura 1.33-c, ca o putere de scurtcircuit Pdsc si ca o putere consumat a pentru nc arcarea si desc arcarea condensatoarelor interne si de sarcin a, Pdc . Intr-o schem a echivalent a, similar a celei din Figura 1.18, toate capacit a tile sunt incluse ntr-o singur a capacitate de sarcin a C L conectat a la ie sire, iar puterea disipat a pe aceast a capacitate echivalent a, conform relat iei 1.24, este egal a cu :
2 Pdca = CL VDD f

(1.63-a)

Reducerea puterii disipate se poate realiza prin reducerea oric aruia din factorii produsului din relat ia 1.63-a. Cea mai indicat a modalitate de reducere a puterii este prin scalare complet a, Tabelul 1.11 (actual, s-a ajuns la tensiuni de alimentare de VDD = 0, 8V ). Puterea disipat a de scurtcircuit Pdsc , apare, ca si Pdc , pe durata tranzit iilor de la H L si L H c and VDD este scurtcircuitat a la VSS . Reducerea valorii medii a puterii Pdsc se poate obt ine prin comanda inversorului cu semnale cu fronturi bine formate

CAPITOLUL 1. PORT I LOGICE

87

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

(1.63-b)

care tine cont si de componenta de putere disipat a n curent continuu produs a de curentul de subprag Pdcc = Iof f VDD ; la dimensiuni sub 0, 1m si VDD < 1, 8V curentul Iof f are o cre stere pronunt at a. -este coecientul (mediu) al activit a tii de comutat ie (procentajul de timp n care dispozitivul este n funct iune). Mic sorarea frecvent ei nu este o cale de reducere a puterii disipate deoarece se opune tendint ei de cre stere a vitezei sistemelor. Dar printr-o analiz a a sistemului se pot identica anumite componente care pot funct iona si la frecvent e mai mici dec at frecvent a maxim a f ar a a reduce din performant ele de vitez a ale sistemului. In plus, uneori, chiar componentele care funct ioneaz a la frecvent e ridicate pot oprite pe anumite intervale de timp (1 ). 1.5.2.3 Tehnologia de fabricat ie a inversorului CMOS

Tehnologia de fabricat ie a inversorului CMOS, pentru explicat ie, poate considerat a o extensie a tehnologiei de realizare a tranzistorului MOS, Figura 1.31. Dicultatea care apare acum const a n faptul c a, de data aceasta, cele dou a tranzistoare complementare nMOS si pMOS ar trebui implementate n acela si substrat. Solut ia pentru aceast a incompatibilitate, de realizare n acela si substrat, este difuzarea n substratul init ial a unei insule (well) care va constitui un al doilea substrat si astfel unul din tranzistoare se implementeaz a n substratul init ial iar cel alalt n al doilea substrat (insul a). Dac a substratul init ial este de tip p se difuzeaz a o zon a (insul a) de tip n n care va implementat tranzistorul pMOS, ca n Figura 1.35-b, iar dac a substratul init ial este de tip n se difuzeaz a o zon a de tip p n care va implementat tranzistorul nMOS. Dup a realizarea insulei de substrat, etapele de fabricare a ec arui tranzistor sunt cele descrise n sect iunea Tehnologia de fabricat ie a tranzistorului MOS (1.5.1.1) cu diferent a c a atunci c and se difuzeaz a sursa si drenul tranzistorului nMOS se difuzeaz a si o zon a n+ de contact VDD n fereastra pentru tranzistorul pMOS. Iar atunci c and se difuzeaz a sursa si drenul tranzistorului pMOS se difuzeaz a n plus si o zon a p + de contact VSS n fereastra pentru tranzistorului nMOS. Aceste difuzii de contact (cu VSS la tranzistorul nMOS si cu VDD la tranzistorul pMOS) nu formeaz a o jonct iune cu substratul respectiv, de aceea si conductivitate, ci un contact ohmic. Apoi, pe deasupra stratului gros de oxid de c amp se realizeaz a prin trasee metalice conexiunile ntre : 1- zona de dren nMOS cu zona de dren pMOS care constituie ie sirea inversorului; 2- sursa nMOS cu zona p+ de contact VSS si mpreun a la trasa pentru potent ialul VSS ; 3- sursa pMOS cu zona n+ de contact VDD si mpreun a la trasa pentru potent ialul VDD .

88
intrare

1.5. PORT I IN TEHNOLOGIA CMOS

a)

Sectiune AA

b)

   vuvu vuvu vuvu vuvu } vuvu ~} ~} ~} ~} vuvuvu vuvuvu vuvuvu vuvuvu }} vuvuvu ~}~} ~}~} ~}~} ~}~} vuvu vuvu vuvu vuvu } vuvu ~} ~} zy ~} zy ~} |{ |{ vuvuvu |{ vuvuvu |{ vuvuvu |{ vuvuvu |{ } vuvuvu |{ ~} |{ ~} |{ zyzy ~} |{ zyzy ~} vuvu vuvu vuvu vuvu } vuvu ~} ~} ~} ~} vu vu vu vu } vu ~} ~} ~} ~} 
n+ p+ p+ contact metalic V DD n+ V DD p+

V DD

PMOS

Intrare (polisiliciu)

iesire

NMOS

~}


n+

Iesire

substrat n

insula difuzata

p+

iesire n+ trasee metalice

}~ ~} ~} ~} ~} ~} |{ zyzyzy ~}~} |{ zyzyzy ~~}} ~} ~} ~} ~}


n

Intrare (polisiliciu)

~} }~ ~} ~} ~} ~} |{ zyzyzy ~}~} |{ zyzyzy ~}~} |{ zyzyzy ~}~} ~} ~} ~} ~} ~} ~}

}~

}~ ~} |{ ~} ~} ~} ~} ~} ~}

~} xwxw xwxw xwxw xwxw xwxw ~} xwxw xwxw xwxw xwxw xwxw ~} xwxw xwxw xwxw xwxw xwxw |{ ~~}} |{ xwxwxwxw |{ xwxwxwxw |{ xwxwxwxw |{ xwxwxwxw |{ xwxwxwxw ~} xwxw xwxw xwxw xwxw xwxw ~} xw xw xw xw xw
n+ p+ substrat p V SS n+

V SS

contact substrat V SS

|{ |{
p+

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

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

CAPITOLUL 1. PORT I LOGICE

89

V DD Gp Intrare S

C n+ Gp Iesire D S Gn Cp+ S Gn S

D D Gn

D D

Gp

V SS a)

b)

c)


C n+ V DD S D D Contact la substart V DD V DD Gp Intrare V SS S Contact la substart V SS Cp+ Gn V SS d)

Iesire


V DD pMOS Dren Intrare Iesire Dren nMOS V SS e)

Sursa Poarta

Poarta Sursa


V DD Poarta Dren Sursa Intrare Sursa Poarta Dren V SS f)

pMOS

Iesire

nMOS

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

90

1.5. PORT I IN TEHNOLOGIA CMOS

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

Pe l ang a nivelurile de tensiune, denite n regimul static pe caracteristica VO = f (VI ), n practica sistemelor digitale sunt necesari si parametrii de timp denit i n regimul dinamic. Parametrii de timp pentru semnalul de ie sire: timpul de cre stere LH si timpul de de descre stere HL sunt denit i ca n Figura 1.15-a iar timpul de propagare H L, pHL , si timpul de propagare L H , pHL , sunt denit i ca n Figura 1.15-b. Timpul de propagare pe un nivel inversor se calculeaz a cu relat ia 1.20, p = (pHL + p LH )/2. Se consider a dou a inversoare CMOS nseriate cu reprezentarea tuturor capacit a tilor parazite ale ec arui tranzistor, Figura 1.37-a. In aceast a reprezentare CGD si CGS sunt capacit a tile gril a-dren si gril a-surs a datorate suprapunerii part iale a trasei de gril a peste zonele difuzate dren si surs a, C DB si CSB sunt capacit a tile dependente de tensiune ale jonct iunilor dren-substrat si surs a substrat, C GB capacitatea gril asubstrat este capacitatea stratului de oxid de sub poarta ec arui tranzistor iar C cox este capacitatea datorit a conexiunilor (traselor) n polisiliciu sau metalice ntre ie sirea primului inversor si intrarea urm atorului inversor. Calculul tensiunii de ie sire v O , lu and n considerare toate aceste capacit a ti, devine foarte complicat chiar si pentru un circuit simplu. De foarte multe ori, n practic a, pentru simplicare calculului, toate aceste capacit a ti sunt nglobate ntr-o singur a capacitate echivalent a C L , considerat a ca o capacitate de sarcin a, conectat a la iesirea inversorului, Figura 1.37-b, conform relat iei: CL = CGDn + CGDp + CDBn + CDBp + Ccox + CGB (1.64) In capacitatea de sarcin a echivalent a CL nu sunt incluse CSBn si CSBp deoarece ambele surse sunt conectate la substraturile corespunz atoare deci nu au un efect n regim dinamic. De asemenea, nu sunt incluse n C L capacit a tile CGSn si CGSp deoarece acestea sunt conectate ntre nodul de intrare si mas a respectiv ntre nodul de intrare si VDD . Studiul regimului dinamic se face pe circuitul echivalent din Figura 1.37-b aplic and la intrare un semnal cu variat ia dreptunghiular a vI si determin and variat ia n timp a tensiunii de ie sire vO . Pentru variat ia 0 1 la intrare, condensatorul C L nc arcat la tensiunea VDD se va desc arca prin tranzistorul nMOS (pMOS este blocat), tensiunea vO av and o variat ie exponent ial a de la VOH la VOL . Din variat ia n timp a tensiunii vO se pot determina parametrii de timp HL si pHL . Iar pentru variat ia 1 0 la intrare, CL se ncarc a p an a la tensiunea VDD prin tranzistorul pMOS (nMOS este blocat), tensiunea vO av and o variat ie exponent ial a de la VOL la VOH ; din variat ia n

CAPITOLUL 1. PORT I 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 a inversoare CMOS: a) reprezentarea capacit a tilor interne (parazite) pentru un inversor; b) schem a echivalent a simplicat a. timp a tensiunii vO se pot determina parametrii de timp LH si pLH . Pentru calculul acestor parametri de timp se vor expune succint urm atoarele patru metode: 1- Simulare n SPICE; 2- Metoda curentului constant; 3- Metoda analitic a; 4- Metoda empiric a. 1. Simularea n SPICE (NIVEL2 si NIVEL3, vezi 1.5.1.2 si exemplul de simulare, ANEXA1 din vol. II) se poate face pe baza circuitului din Figura 1.37-a, cu luarea n considerare a tuturor efectelor de ordinul al doilea n modelul matematic IDS = f (VDS , VGS ) al tranzistorului si a parametrilor de proces, n consecint a valorile obt inute pentru parametrii de timp au abateri minime fat a de cele reale. In practic a, de multe ori, pentru determin ari f ar a precizie ridicat a dar efectuate simplu si rapid, sunt utilizate una din celelalte (urm atoare) trei metode. 2. Metoda curentului constant. Aceast a metod a, dup a cum si denumirea indic a, consider a valori constante pentru curentul de nc arcare si desc arcare ale condensatorului CL , aproximate prin valori medii ImHL si ImLH . In consecint a , cu aceste valori medii, se pot calcula simplu parametrii pHL si pLH n felul urm ator: pHL = pLH = CL VHL CL (VOH V50% ) = ImHL ImHL CL (V50% VOL ) CL VLH = ImLH ImLH (1.65) (1.66)

92

1.5. PORT I IN TEHNOLOGIA CMOS

Iar valorile ImHL si ImLH se calculeaz a ca medie aritmetic a ale curent ilor prin tranzistoarele nMOS respectiv pMOS n punctele de nceput si de sf ar sit ale tranzit iei: 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 a. Variat ia tensiunii vO n timp poate determinat a prin rezolvarea ecuat iei de stare pentru nodul de ie sire al circuitului din Figura 1.37-b ImHL = CL dvO = i C = i Dp i Dn dt (1.69)

arile date prin relat iile 1.33 si 1.36. si iDn sunt considerate exprim n care pentru iDp La excursia H L a tensiunii de ie sire (pMOS este blocat) tranzistorul nMOS la nceput este n regimul de saturat ie iar c and v O VDD V pn trece n regimul liniar. Pentru excursia L H a tensiunii de ie sire (nMOS este blocat) tranzistorul pMOS la nceput este n regim de saturat ie si apoi c and v O VDD + Vpp trece si n regimul liniar. In rezolvarea ecuat iei 1.69 se jonct ioneaz a intervalul de timp c and tranzistorul este n regim liniar de funct ionare, se utilizeaz a relat ia 1.33, cu intervalul de timp c and tranzistorul este n regimul de saturat ie, se utilizeaz a relat ia 1.36. Se obt in urm atoarele expresii pentru HL si LH [Weste 92]. HL LH CL K VDD n K CL VDD p (1.70) (1.71)

n care K = 3 4 pentru VDD = 3 5V , si Vpn si |Vpn | au valori ntre (0, 5 1)V . Pentru un inversor la care factorii de form a ai celor dou a tranzistoare sunt egali W W a din relat ia 1.54 c a n = 2p , pentru c a n = 2p ) se obt ine L n = L p (rezult din 1.70 si 1.71 o relat ie uzual a cunoscut a n practica proiect arii: HL = LH 2 (1.72)

adic a n semnalul de ie sire vO (t) tranzit iile nu sunt egale, durata tranzit iei de la L H este aproximativ de dou a ori mai lung a dec at durata tranzit iei de la H L. Pentru obt inerea unui semnal de ie sire cu tranzit ii H L si L H simetrice, la ie sirea inversorului, trebuie ca n /p = 1 ceea ce implic a, pentru lungimi egale de canal, s a se realizeze canalul p cu o l a time cam de dou a p an a la trei ori mai mare dec at l a timea canalului n (n 2p ). Wp (2 3)Wn (1.73) 4. Metoda empiric a. Prin simulare n SPICE, pentru o variant a de inversor, se determin a valoarea exact a a constantei K din relat iile 1.70 si 1.71. Apoi,utiliz and aceast a valoare determinat a pentru K , pentru alte variante de inversor, realizate n aceea si tehnologie, se calculeaz a HL si LH cu relat iile 1.70 si 1.71.

CAPITOLUL 1. PORT I LOGICE

93

Exemplul 1.16 Pentru o turn atorie de siliciu care are un proces cu urm atorii parametrii: n Cox = 30A/V 2 , p Cox = 10A/V 2 , L = 1m at at pentru canal n c at si pentru canal p, Vpn = 1, 0V , Vpp = 1, 5V , Wmin = 2m s a se dimensioneze un inversor CMOS, l a timile de canal Wn si Wp , nc at s a se obt in a urm atoarele caracteristici:
1. VT = 2V pentru VDD = 5V ; 2. Durata timpului de c adere HL s a e de 2ns c and tensiunea vO are variat ia de la 4V la 1V . Solut ie. Consider and saltul n vI instantaneu de la 0 la 5V rezult a c a atunci c and vO = 4V tranzistorul nMOS trece din regimul de saturat ie n regimul liniar (VDS = 4V VGS VP = 5V 1V = 4V ) deci n ecuat ia 1.69 se introduce exprimarea din relat ia 1.33: CL 1 Wn dvO 2 = n Cox 2(VOH Vpn )vO vO dt 2 Ln

iar prin integrare se obt ine HL = = 2 1016 = 2C


vO =1 vO =4 Wn Ln

1 1012 n 4 30 1016 W Ln

n Cox

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

Wn = 8, 1 Ln si pentru Ln = 1m rezult a Wn = 8, 1m Condit ia impus a VT = 2V ne ajut a s a obt inem dimensiunea inversorului. Conform relat iei 1.46 se poate scrie: 2= Vpn +
p (VDD n

din care se obt ine pentru canalul n

+ Vpp )

1+ iar raportul n /p se obt ine ca ind

p n

n n Cox W n 9 Ln = = W p p 4 p Cox Lp

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

Deci inversorul cu dimensiunile L = 1m, Wn = 8, 1m si Wp = 10, 8m satisface condit iile impuse.

Exemplul 1.17 Pentru un oscilator n inel s a se determine frecvent a de oscilat ie. Solut ie. Un oscilator n inel, dup a cum si denumirea indic a, se obt ine prin conectarea n inel a unui num ar n impar de inversoare. Inchiderea buclei peste un singur inversor vI = vO determin a o instabilitate deoarece av and variat ii permanent opuse se comand a ca intrarea s a se modice din 1 0 si invers, la fel si ie sirea din 0 1 si invers. Singurul punct de funct ionare c and vI = vO , este la tensiunea de prag de comutat ie a inversorului VT , dar

94

1.5. PORT I IN TEHNOLOGIA CMOS

dup a cum s-a v azut din Figura 1.33-c acesta nu este un punct stabil de funct ionare. Acela si rat ionament se poate extinde c and sunt cuprinse n bucl a un num ar impar de inversoare, Figura 1.38-a. Consider and inversoarele identice cu HL = LH si pHL = pLH = p variat iile tensiunilor vO1 , vO2 si vO3 sunt reprezentate n Figura 1.38-b. Perioada T a oscilat iilor se poate calcula simplu : T = pHL1 + pLH1 + pHL2 + pLH2 + pHL3 pLH3 = 2p + 2p + 2p = 6p iar frecvent a oscilat iilor rezult a (pentru un num ar n de inversoare)

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 n inel: a) structur a cu trei inversoare; b) formele de variat ie ale tensiunilor vO1 , vO2 , vO3
f= 1 1 = T 2np (1.74)

Aceast a relat ie poate utilizat a pentru determinarea timpului de propagare p pentru un inversor. In tehnologia respectiv a, pe o plachet a se realizeaz a pentru test un num ar impar de inversoare, n general un num ar mai mare de trei, care se conecteaz a n inel. In urma m asur arii frecvent ei de oscilat ie se poate determina, cu relat ia 1.74, timpul de propagare. Pentru tehnologia respectiv a, apoi, se poate exprima timpul de propagare al circuitelor mai complexe ca multiplii de p (vezi metoda efortului logic).

1.5.3

Familia de port i logice CMOS

Circuitul inversor CMOS, ca si inversorul bipolar pentru port ile TTL, este celula de baz a n structurarea port ilor CMOS; port ile CMOS pot obt inute prin extensia circuitului inversor, respectiv port ile CMOS pot reduse la o structur a echivalent a de inversor.

CAPITOLUL 1. PORT I LOGICE

95

Inversorul CMOS prin cele dou a canale n si p are o complementaritate n modul de a comandat, o comand a de 1 logic pentru canalul n este o comand a de 0 logic pentru canalul p si invers, ceea ce permite ca ramura p a inversorului s a e privit a ca duala ramurii n si invers. Dar, realiz and conexiuni (ret ele) care pot serie, paralel, serie-paralel si paralel-serie cu ramuri de tip n n conceptul dualit a tii nseamn a c a ret eaua corespunz atoare format a din ramuri p trebuie s a e respectiv paralel, serie, paralel-serie si serie-paralel. Duala unei relat ii logice se obt ine conform relat iei 1.2 iar pentru axiomele si teoremele algebrei booleene formele duale sunt prezentate n Tabelul 1.2 (duala lui AND este OR si invers). Mai multe tranzistoare n conduct ie, e cu canal n e cu canal p, toate av and aceea si tensiune de prag si neglij and efectul de polarizare a substratului, c and sunt ntr-o ret ea, conectate n paralel sau n serie, pot substituite cu un singur tranzistor echivalent n conduct ie. Deoarece conductant a canalului este proport ional a cu coecientul de form a al tranzistorului W/L, dimensiunile canalului tranzistorului echivalent al ret elei se calculeaz a cu relat ii similare conect arii n serie sau n paralel a conductant elor. Astfel coecientul de form a al tranzistorului echivalent pentru conectarea a k tranzistoare n paralel se calculeaz a cu relat ia: W L
k

=
echivalent i=0

W L

(1.75)
i

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


echivalent

1
k i=0 1

(1.76)

( )i
W L

1.5.3.1

Poarta NOR si NAND cu dou a intr ari

Amintind faptul c a operatorul OR poate modelat prin conexiunea paralel a a elementelor de comutat ie iar operatorul AND prin conexiunea serie apare foarte simpl a modalitatea de a structura port ile NOR si NAND. Structura port ii NOR cu dou a intr ari (NOR2), Figura 1.39-a, const a din dou a inversoare la care ramurile canalelor n formeaz a o ret ea paralel a iar ramurile canalelor p formeaz a o ret ea serie. C and cel put in una din intr arile A sau B este n starea H ret eaua n creaz a o cale de conduct ie a nodului de ie sire spre mas a, V O =VOL , ret eaua complementar a p nu este n conduct ie. Iar c and ambele intr ari sunt n starea L, ret eaua p creeaz a o cale de conduct ie ntre V DD nspre nodul de ie sire, VO = VOH , ret eaua n nu este n conduct ie. Pentru determinarea tensiunii de prag (logic) de comutat ie a port ii VT (VA = VB = VO = VT ) poarta NOR cu dou a intr ari este substituit a cu structura echivalent a a unui inversor cu coecient ii n /2 si 2p , Figura 1.39-b. Rescriind relat ia 1.46 pentru ace sti coecient i rezult a expresia pentru tensiunea de prag de comutat ie a port ii NOR2. Vpn +
p 4n

VT (N OR2) =

(VDD |Vpp |)
p 4n

(1.77)

1+

96

1.5. PORT I IN TEHNOLOGIA CMOS

Dac a n = p si Vpn = |Vpp | tensiunea de prag de comutat ie a inversorului CMOS este VDD /2 pe c and a port ii NOR2 din relat ia 1.77 rezult a VT (N OR2) = VDD + Vpn 3 (1.78)

care este diferit a de VDD /2. De exemplu, pentru VDD = 5V si Vpn = |Vpp | = 1V se obt ine VT (IN V ERSOR) = 2, 5V si VT (N OR2) = 2V . Relat ia 1.77 pote utilizat a pentru proiectarea port ii NOR2 n care dac a se impune tensiunea de prag (logic) de comutat ie VT rezult a relat ia ntre n si p . De exemplu, pentru VT = VDD /2 si Vpn = |Vpp | rezult a p = 4n (cu Ln = Lp Wp = 4Wn ). ,, Layoutul port ii NOR2 este compus dintr-o linie de difuzie de tip p+ pentru zonele de surs a si dren ale celor dou a tranzistoare T3 si T4 realizate n insula difuzat a de tip n si la fel o linie de difuzie de tip n+ n substrat care realizeaz a zonele de dren si surs a ale tranzistoarelor T1 si T2. Poarta comun a pentru nMOS T1, pMOS T3 si poarta comun a pentru nMOS T2 si pMOS T4 sunt sub forma a dou a bare (trase) verticale realizate din polisiliciu. La extremitatea de sus si extremitatea de jos a layoutului sunt trasele metalice pentru VDD si VSS (mas a) cu conexiunile metalizate (p atr a tele negrite) corespunz atoare la zonele (liniile) de difuzie p + si n+ respectiv din insula difuzat an si din substrat. Trasa de ie sire VO , metalic a sau din polisiliciu, conecteaz a ntre ele cele dou a linii difuzate de canal n + si p+ . Realizarea tranzistoarelor n linii de difuzie paralele simplic a at at layoutul c at si tehnologia; toate zonele de tip n + se realizeaz a cu o singur a difuzie la fel si toate zonele de tip p + , iar barele verticale ale port ilor de polisiliciu servesc si ca m a sti cu autoaliniere n procesul de difuzie. Acest mod de organizare structurat a constituie o condit ie n conceperea unor metode de generare automat a a layoutului.
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 a intr ari: a) stuctur a; b) schema inversorului echivalent port ii; c) layoutul port ii structurat pe o linie de difuzie n + si o linie de difuzie p+ .

CAPITOLUL 1. PORT I LOGICE

97

Poarta NAND cu dou a intr ari (NAND2), Figura 1.40-a, poate privit a ca ind format a din dou a inversoare la care canalele n formeaz a o ret ea serie iar canalele p formeaz a o ret ea paralel a. Se creeaz a o cale de conduct ie de la nodul de ie sire spre mas a, VO = VOL , prin tranzistoarele T1 si T2 n serie numai c and ambele intr ari A,B sunt n nivelul H, iar tranzistoarele T3 si T4 ale ret elei complementare p sunt blocate. Pentru toate celelalte trei combinat ii ale nivelurilor intr arilor A,B unul sau ambele tranzistoare ale ret elei p conduc, ret eaua n nu conduce, iar tensiunea de ie sire are 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 a intr ari: a) stuctur a; b) schema inversorului echivalent port ii; c) layoutul port ii structurat pe o linie de difuzie n + si o linie de difuzie p+ . Tensiunea de prag (logic) de comutat ie a port ii, relat ia 1.46, aplicat a pentru inversorul 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 comutat ie al inversorului CMOS este VDD /2 , port ii NAND2 i corespunde o tensiune de prag logic de comutat ie: 2VDD |Vpp | VT (N AN D2) = (1.80) 3 Din relat ia 1.79 rezult a c a pentru a obt ine un prag logic de V DD /2 c and Vpn = |Vpp | este necesar a ndeplinirea condit iei n = 4p ; relat ia 1.80 poate utilizat a pentru dimensionarea layoutului port ii NAND2 c and se impune o anumit a valoare pentru VT .

98

1.5. PORT I IN TEHNOLOGIA CMOS

Layoutul port ii NAND2, Figura 1.40-c, este structurat si realizat pe dou a linii de difuzie, n mod asem an ator cu cel al port ii NOR2 din Figura 1.39-c. Trecerea de la schema electric a a circuitului la layout se poate face conform succesiunii de pa si prezentat i n Figura 1.36. Totu si, pentru circuite complexe, aceast a trecere direct a poate dicil a n consecint a se utilizeaz a init ial o form a simplicat a/intermediar a de layout (stick diagram). Forma simplicat a cont ine informat ii despre plasarea relativ a a tranzistoarelor si a conexiunilor dintre acestea, Figura 1.41. In aceste forme simplicate suprafet ele difuzate (liniile de difuzie n + si p+ ) sunt reprezentate sub forma unor dreptunghiuri (Wn si Wp ), traseele metalice sunt simple linii de conexiune av and pentru contacte punctele evident iate, iar barele de polisiliciu pentru port i sunt coloane ha surate. Conform acestor reguli pentru trecerea din Figura 1.39, de la circuitul port ii NOR2 la layoutul corespunz ator, se poate realiza init ial layoutul simplicat din Figura 1.41-a, iar pentru trecerea din Figura 1.40, corespunz ator port ii NAND2, este realizat init ial layoutul simplicat din Figura 1.41-b. Apoi de la layoutul simplicat se trece la forma complet a de layout.
V DD Wp

Wn V SS a)

Q Q Q Q Q Q Q Q Q
A

NOR


VO

V DD Wp Linii de difuzie Wn

V SS b)

Q Q Q Q Q Q Q Q Q
A

NAND


VO

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

1.5.3.2

Port i logice complexe

La implementarea port ilor complexe, care cont in multe variabile de intrare, aspectele implicite care se impun a optimizate sunt: mic sorarea num arului de tranzistoare folosite si mic sorarea ariei utilizate pe placheta de siliciu.Evident ierea acestor aspecte va rezulta prin exemplicarea implement arii unei port i care realizeaz a urm atoarea relat ie logic a: Z = A(D + E ) + BC Pentru expresia nenegat a a relat iei se va construi o ret ea/graf similar ca la modelarea acesteia cu contacte (prin structura sa o poart a CMOS modeleaz a o expresie negat a). (De fapt se poate porni de la desenarea unei ret ele cu contacte, care modeleaz a funct ia respectiv a, ca n Figura 1.9, si din care se deduce graful expresiei nenegate). Deoarece n locul contactelor se utilizeaz a tranzistoare (canale) n sau p, pentru o linie ce ar cont ine un contact ( n ret eaua de contacte), acum n graf, se va desena un simplu arc pe care se noteaz a variabila de comand a a port ii tranzistorului respectiv. (Un

CAPITOLUL 1. PORT I 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 a pentru obt inerea unei structuri de ret ea CMOS pentru relat ia Z = A(D + E ) + BC : a,b) realizarea grafului pentru ret eaua n si deducerea grafului pentru ret eaua dual a p; c) structura port ii obt inute prin maparea grafurilor pentru ret eaua n si ret eaua p.

tranzistor este echivalent unui contact). Conexiunea dintre liniile cu contacte va reprezenta acum v arfurile (nodurile) grafului. Astfel se obt ine graful pentru ret eaua n, conturul ngro sat din Figura 1.42-a. Pe baza grafului ret elei n se va construi gracul ret elei duale p n felul urm ator: n ecare suprafat a nchis a sau semi nchis a format a de graful ret elei n se xeaz a un nou v arf (punctele cerculet e), se unesc c ate dou a din aceste v arfuri prin c ate un nou arc astfel nc at aceste arce noi s a intersecteze doar o singur a dat a un arc al ret elei init iale n, ec arui arc nou i se asigneaz a aceea si variabil a ca aceea a arcului pe care l-a intersectat - graful nou obt inut este graful ret elei duale p, desenat cu linie ntrerupt a n Figura 1.42-a. Av and, acum, cele dou a grafuri desenate separat, n Figura 1.42-b, se poate, printr-o mapare unu-la-unu, trece de la aceste grafuri la ret ele de tranzistoare n si p, Figura 1.42-c. Fiec arui arc din graf i corespunde un tranzistor pe poarta c aruia se aplic a variabila nscris a pe acel arc; punctelor cerculet e le corespund conexiunile ntre tranzistoarele respective. Urmeaz a transformarea circuitului electric n layout pe siliciu. Se obt ine o arie minim a c and, at at pentru toate tranzistoarele n c at si pentru toate tranzistoarele

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

1.5. PORT I IN TEHNOLOGIA CMOS

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 a pentru layoutul port ii Z = A(D + E ) + BC : a) identicarea drumului eulerian n graful ret elei n si ret elei p; b) pe liniile continue de difuzie de tip n+ si p+ s-au ordonat port ile din polisiliciu (barele verticale ha surate) ale tranzistoarelor n ordinea g asit a la parcurgerea drumului eulerian. p, se poate realiza c ate o difuzie n linie ne ntrerupt a pentru canalele n si pentru canalele p. Pentru realizarea unei difuzii n linie ne ntrerupt a, n care o zon a din aceast a linie de difuzie dintre dou a bare de polisiliciu (port i) s a e un terminal comun la dou a tranzistoare vecine, este necesar a se g asi ordinea de nl ant uire (plasare) a ec arui tranzistor al ret elei n linia difuzat a. Aceast a ordine poate determinat a prin identicarea unui traseu eulerian comun at at n graful ret elei p c at si n graful ret elei n. Denit ia 1.15 Un drum care parcurge ne ntrerupt o singur a dat a toate arcele dintr-un graf se nume ste eulerian. Pentru grafurile duale din Figura 1.42-b s-a identicat drumul eulerian comun E D AB C din Figura 1.43-a. Cunosc and acum ordinea de jonct ionare/al aturare a tranzistoarelor (care este aceea si cu ordinea de parcurgere n drumul eulerian) se poate realiza succesiunea port ilor din polisiliciu (barele ha surate) pe liniile de difuzie n+ si p+ ca n layoutul simplicat din Figura 1.43-b. Dac a n grafuri nu se poate identica un singur drum eulerian distinct, pentru toate tranzistoarele circuitului, ci mai multe drumuri distincte care acoper a graful, atunci sunt necesare at atea linii de difuzie n+ si p+ ntrerupte c ate drumuri euleriene distincte au fost identicate. O funct ie logic a poate sub forma sum a de produse (FD) sau produse de sum a (FC); forma negat a a acestor funct ii este potrivit a pentru implementarea n tehnologia CMOS deoarece se pot realiza u sor port i de tipul AND-OR-NOT si OR-AND-NOT. Port ile AND-OR-NOT au pentru ret eaua n o structurare paralel-serie si o structurare serie - paralel pentru ret eaua p dual a, Figura 1.44-a, iar port ile OR-AND-NOT au o structurare serie-paralel pentru ret eaua n si paralel-serie pentru ret eaua p, Figura 1.44-b.

CAPITOLUL 1. PORT I 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 Modalit a ti de structurare a port ilor CMOS complexe: a) structurare pentru implementarea funct iilor logice de forma AND-OR-NOT; b) structurare pentru implementarea funct iilor logice de forma OR-AND-NOT.

102

1.5. PORT I IN TEHNOLOGIA CMOS

Exemplul 1.18 Pentru circuitul cu layoutul desenat n Figura 1.45 s a se deduc a structura de circuit apoi s a se determine circuitul inversor CMOS echivalent pentru cazul c and toate intr arile comut a, presupun and c a: (W/L)p = 15 pentru toate tranzistoarele pMOS si (W/L)n = 10 pentru toate tranzistoarele nMOS.
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.


Solut ie. Fat a de prezent arile anterioare aici se face o trecere invers a, de la layout la structura de circuit. Inspect and n linia de difuzie n+ trasele si contactele metalice rezult a c a exist a grupul de tranzistoare D, E , A legate n paralel si grupul de tranzistoare B , C legate n paralel iar cele dou a grupuri sunt nseriate. Ret eaua n a port ii modeleaz a urm atoarea relat ie (D + E + A)(B + C ), deci ie sirea Z este (D + E + A)(B + C ) pentru care corespunde circuitul poart a CMOS din Figura 1.45-b. Rapoartele echivalente, (W/L)n,IN V si (W/L)p,IN V , ale inversorului echivalent c and comut a toate intr arile se obt in cu relat iile 1.75 si 1.76 n felul urm ator: W L W L =
n,IN V

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

+ 1

(W L )B

1 +( W L

= )C

1 30

1 + =

1 20

= 12

=
p,IN V

(W L )D =
1 15

+ 1

(W L )E
1 15

1 15

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

CAPITOLUL 1. PORT I LOGICE

103

Pseudo poarta CMOS. Port ile CMOS complexe, cu n intr ari, necesit a pentru ecare intrare dou a tranzistoare, deci n total 2n tranzistoare plus nc a dou a tranzistoare (un inversor) pentru ecare din intr arile negate. Rezult a c a reducerea num arului de tranzistoare, c and num arul de intr ari n este mare, se impune. O variant a de reducere a num arului de tranzistoare, de la 2n la n + 1, se obt ine la structura denumit a pseudo poart a CMOS. Pseudo poarta CMOS, pentru un anumit operator, se obt ine din poarta normal a, care implementeaz a acel operator, prin substituirea ret elei p cu un singur tranzistor pMOS a c arui poart a se conecteaz a la potent ialul de mas a (deci este permanent n conduct ie), Figura 1.46-a. De fapt, tranzistorul pMOS, are rolul de sarcin a (rezistent a ) pentru ret eaua nMOS. Dezavantajul pseudo port ii CMOS const a n consumul mare de putere n regim static datorat unui permanent curent prin canalul p at at timp c at V O < VDD . De asemenea, VOL si marginea de zgomot sunt determinate de raportul ntre transconductant a tranzistorului de sarcin a supra transconductant a echivalent a din ret eaua 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 Port i CMOS speciale: a) structurarea unei pseudo port i CMOS; b) structur a pentru poarta cu drenul n gol; c) structura si simbolul de reprezentare ale unei port i de tip TSL; d) structura unui buer TSL neinversor; e) evitarea aparit iei unui potent ial otant pe o linie de magistral a prin conectarea acesteia la un circuit (celul a) activ de ment inere a nivelului (bus holder).

104

1.5. PORT I IN TEHNOLOGIA CMOS

Poarta cu drenul n gol. Restrict ia impus a de a nu se conecta mpreun a ie sirile port ilor TTL, Figura 1.23-a, are valabilitate si pentru port ile CMOS. Conectarea ie sirilor mpreun a a mai multor port i poate crea o cale de scurtcircuit ntre V DD si VSS prin ret elele n sau p de la diferite port i. Eliminarea acestei restrict ii se poate obt ine pentru port ile care sunt realizate, n etajul de ie sire, f ar a ret eaua p, numai cu ret eaua n, aceste port i sunt denumite cu drenul n gol, Figura 1.46-b (similare port ilor cu colectorul n gol). Poarta devine funct ional a numai c and drenul n gol este conectat la tensiunea V DD printr-o rezistent a RD ata sat a exterior port ii. Port ile cu drenul n gol (open-drain) sunt necesare pentru urm atoarele aplicat ii: comanda unor sarcini externe (LED-uri, relee, rezistent e, bobine etc), realizarea conexiunii SI-cablat si comanda unor linii de magistral a, Figura 1.24-a; pentru calculul rezistent ei RD ata sat a n exteriorul port ii se utilizeaz a relat iile 1.26. Poarta TSL. Aceast a poart a prezint a pe l ang a cele dou a st ari logice normale H si L, existente la o poart a obi snuit a, si starea c and ie sirea este n nalt a impedant a , HZ. Structura unei port i TSL se obt ine din cea a unei port i normale la care se nseriaz a c ate un tranzistor n si p respectiv cu ret eaua n si p, Figura 1.46-c. C and semnalul de validare EN (ENable) este activ, EN=1, poarta are funct ionarea unei port i normale, iar c and validarea nu este activat a, EN=0, cele dou a tranzistoare nseriate sunt blocate, at at calea de conduct ie prin ret eaua n c at si cea prin ret eaua p nu sunt n conduct ie, deci ie sirea este n HZ. O alt a variant a de poart a CMOS TSL este cea cu structura din Figura 1.68-a. La o poart a CMOS TSL c and este n HZ ie sirea sa este fort at a, de o alt a poart a care comand a n acel moment linia de magistral a, pe nivelul H sau pe nivelul L si genereaz a respectiv absoarbe curent i la ie sire p an a la 10A. Pentru cazurile c and sarcina ce trebuie comandat a este relativ mare sunt utilizate buere; o astfel de structur a de buer TSL este prezentat a n Figura 1.46-d. Un buer TSL se compune din dou a tranzistoare complementare T1 si T2 comandate, prin port iile NAND si NOR, e ambele tranzistoare simultan n blocare (starea HZ), e un tranzistor n blocare si cel alalt n conduct ie sau invers (ca la inversorul CMOS). Din tabelul de adev ar, ata sat buerului, se observ a c a pentru EN=0 ie sirea este n HZ, iar pentru EN=1 ie sirea este identic a cu intrarea (buer neinversor). Buerele CMOS TSL sunt utilizate pentru comanda liniilor de magistrale; o linie de magistral a poate comandat a, la un moment, de cel mult un buer (emit a tor). Dac a toate ie sirile buerelor conectate la o linie de magistral a sunt n HZ atunci potent ialul pe linie este otant, iar dac a acest potent ial este aproape de valoarea de prag de comutat ie ( Denit ia 1.14 ) al port ilor receptoare acestea consum a un curent de valoare relativ mare sau pe linie pot ap area oscilat ii. Se pot elimina aceste inconveniente dac a linia de magistral a se conecteaz a la V DD printr-o rezistent a Rpu , ,, deci c and linia devine otant a potent ialul acesteia va tras n sus (pull-up) n intervalul de tensiune H. Dar aceast a solut ie prezint a unele inconveniente: 1. dac a Rpu este de valoare mare, atunci c and linia din L r am ane n stare otant a, si fort at a imediat n H de Rpu , datorit a faptului c a prezint a o constant a de timp mare Rpu C , timpul de cre stere r devine lung. Un r lung face ca durata excursiei, n zona tensiunilor interzise, pentru tensiunile de intrare ale port ilor receptoare s a e de asemenea lung a deci un consum m arit de putere; 2. dac a Rpu este de valoare mic a atunci buerul care va comanda linia n starea L

CAPITOLUL 1. PORT I LOGICE

105

va trebui s a absoarb a un curent mai mare. Inconvenientele anterioare pot eliminate prin conectarea la linia de magistral a a unui circuit (celul a) activ de ment inere a nivelului (bus holder) cu structura din Figura 1.46-e. Se va vedea n sect iunea 3.3.1 c a aceast a celul a activ a de ment inere nu este altceva dec at un circuit latch. C and linia de magistral a r am ane n HZ, deci va trece din L sau din H n starea otant a, celula va fort a ment inerea liniei n aceea si stare L sau H pe care a avut-o anterior. Buerul de magistral a care comut a linia din starea H n starea L sau din starea L n H va absorbi sau va genera un surplus de curent pentru comanda celulei de ment inere n starea L sau H, dar numai pe durata comutat iei st arilor. In general, un buer de magistral a are integrat pe ie sirea sa o astfel de celul a de ment inere a nivelului pe linia de magistral a. Celula de ment inere a nivelului pe linia de magistral a nu este ecient a c and la magistral a sunt conectat i receptori de tip TTL. Port ile TTL necesit a curent i de intrare de valoare ridicat a, mai ales n starea L, IIL , care nu pot generat i de c atre celula de ment inere dac a la aceast a celul a rezistent a R nu este de valoare mic a, iar o rezistent a de valoare mic a duce la o nc arcare puternic a a liniei de magistral a. 1.5.3.3 Seriile de port i ale familiei CMOS

In cadrul tehnologiei CMOS, port ile, elemente de baz a pentru realizarea unor sisteme, pot celulele cu care se realizeaz a sistemul sub form a de circuit integrat (monolitic) sau pot celule discrete (independente, integrate pe plachete separate) cu care se realizeaz a sistemul pe o plac a de circuit imprimat. Parametrii unei port i logice, sect iunea 1.3, sunt mult mai restrictive pentru o poart a implementat a ca circuit independent dec at pentru o poart a inclus a ntr-un circuit integrat. Pentru port ile discrete ace sti parametri sunt specicat i de fabricant n sa tehnic a ce nsot e ste poarta. In cadrul familiei de port i CMOS discrete exist a mai multe serii de port i, aceste serii au ap arut n funct ie de optimizarea parametrilor pentru anumite aplicat ii si mai ales ca urmare a perfect ion arii n timp a tehnologiei de integrare. Prima serie de port i discrete a familiei CMOS a fost seria 4000. In prezent, port ile din aceast a serie nu se mai utilizeaz a deoarece au ap arut alte serii mult mai performante. Exist a n cadrul ec arei serii varianta civil a (0 70 C) si varianta militar a (55 125 C), notate respectiv cu 74 sau 54. Cuv antul de cod al unei port i este de forma 74SERXX/54SERXX, unde SER sunt dou a sau trei litere (abreviat ie) din denumirea SERiei n care este implementat a poarta, iar XX este codul port ii. De exemplu, aceea si poart a NAND cu dou a intr ari (NAND2) care are codul 7400 poate specicat a prin cuvintele 74HC00, 74HCT00, 74VHC00, 74VHCT00 n funct ie de seria c areia i apart ine (la prima privire, se poate spune, dac a poarta este din familia CMOS deoarece n abreviat ia seriei intr a totdeauna litera C). Seriile HC si HCT. Seria HC (High-speed CMOS) este optimizat a pentru realizarea n special de sisteme numai cu port i CMOS. Utilizeaz a o alimentare n gama de la 2 6V ; valorile mai mici ale tensiunii de alimentare sunt recomandate c and se dore ste o putere disipat a mai mic a iar valorile mai ridicate c and este necesar a o vitez a mai ridicat a. O comparat ie a seriei HC cu seriile din familia TTL arat a c a ntre acestea nu exist a compatibilitate a tensiunilor de ie sire si a celor de intrare. Pentru a se putea intermixa, n sisteme, port ile CMOS cu port ile TTL s-a conceput seria HCT (High-speed CMOS, TTL compatible). Valorile tensiunilor de ie sire

106

1.5. PORT I IN TEHNOLOGIA CMOS

garantate (VOHmin , VOLmax ) si de intrare admise (VIHmin , VILmax ) de la seria HCT sunt identice cu cele de la familia TTL, deci port ile pot interconectate. Seriile HC si HCT au aceia si parametrii pe ie sire dar parametrii diferit i pe intrare, aceast a diferent a a fost creat a la HCT pentru ca aceast a serie s a devin a compatibil a cu TTL. Ambele serii au comanda pe ie sire simetric a, adic a exist a egalitate ntre curentul absorbit de poart a n stare L cu cel generat de poart a n starea H (simetria aceasta de curent i pe ie sire nu exist a la TTL). Seria FCT (FCT-T). Prin introducerea seriei FCT (Fast-CMOS, TTL compatible) la nceputul anilor 1990 s-a urm arit realizarea n CMOS a urm atoarelor performant e: atingerea unei capabilit a ti de comand a pe ie sire (valori m arite pentru IOHmax , IOLmax ), vitez a ridicat a ca la cele mai performante port i TTL dar n acela si timp reducerea puterii consumate si, evident, o complet a compatibilitate (pe nivelurile de tensiune) cu port ile TTL. Totu si seria FCT realizat a cu aceste performant e era afectat a de dou a decient e: ind alimentat a la V DD = 5V , saltul tensiunii de ie sire la comutat ie era de aproape 5V, ceea ce ducea la o putere disipat a (C L V 2 f ) foarte mare la frecvent e de peste 25M Hz si, n plus, aceste salturi rapide genereaz a zgomot n sistem. Pentru nl aturarea acestor decient e s-au introdus anumite perfect ion ari n structura de circuit FCT obt in andu-se astfel seria FCT-T (Fast CMOS, TTL compatible with TTL VOH ). Cele dou a decient e amintite anterior, de la FCT au fost atenuate la seria FCT-T n primul r and prin reducerea V OH 5V la valoarea tipic a Tabelul 1.12 Parametrii port ilor 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. PORT I LOGICE

107

de VOH = 3, 3V . Varianta FCT-T datorit a performant elor sale este, n prezent, foarte popular a. Aplicat ii uzuale pentru port ile FCT-T sunt comanda liniilor de magistral a sau comenzi pentru sarcini mari (comparativ cu alte port i CMOS poate absorbi si genera pe ie sire valori foarte mari de curent i, I OLmax 60mA). Seria FCT (FCT-T) nu are implementate port ile simple ci numai port i complexe (zeci de tranzistoare). Selectiv, unii din parametrii port ilor logice din seriile familiei CMOS sunt prezentat i n Tabelul 1.12. Pentru seriile HC, HCT, VHC si VHCT (abrevierea VH este de la Very High-speed) au fost selectate unele din valorile parametrilor port ilor NAND2 (74XX00) iar pentru seria FCT-T au fost selectate unele din valorile parametrilor port ii 74FCT138T, care este un circuit decodicator 3 : 8. 1.5.3.4 Interfat area TTL-CMOS si CMOS-TTL

Interfat area ntre cele dou a familii se poate face cu condit ia respect arii compatibilit a tii nivelurilor de tensiune si a factorilor de nc arcare la ie sire, fan-out. Respectarea nivelurilor de tensiune nseamn a realizarea unor margini de zgomot n curent continuu MH , ML , calculate cu relat ia 1.18, care pot avea anumite valori pozitive acceptabile dar n nici un caz valori negative. Valorile nivelurilor de tensiune pe intrare si pe ie sire pentru ambele familii sunt reprezentate n Figura 1.47 [Wakerly 00]. Evident, c a exist a compatibilitate pe nivelurile de tensiune ntre seriile HCT, VHCT, FCT si familia TTL dar nu exist a comptibilitate complet a ntre HC, VHC si familia TTL. De exemplu, la interfat area HC sau VHC cu TTL rezult a ML = 0, 8 0, 33 = 0, 47V si MH = 3, 84 2, 0 = 1, 84V , iar la interfat area TTL cu HC sau VHC rezult a ML = 1, 35 0, 4 = 0, 95, MH = 2, 7 3, 85 = 1, 15V !; ar trebui ca VOHmin de la TTL s a e ridicat a cu cel put in 1, 15V . O solut ie de compromis n realizarea si a acestei interfat a ri ar ridicarea valorii tensiunii V OHmin prin conectarea unei rezistent e R ntre ie sirea TTL si V CC (trebuie vercat dac a aceast a ,, rezistent a de tragere n sus nu distruge prin c aderea de tensiune R IOLmax nivelul de tensiune garantat VOLmax c and poarta TTL este comandat a pe ie sire n L).
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 si familiei CMOS

108

1.5. PORT I IN TEHNOLOGIA CMOS

Respectarea factorului de nc arcare ( n curent) la ie sire, relat ia 1.22, impune ca valoarea maxim a a curentului absorbit sau generat la ie sirea port ii s a e mai mare sau egal cu suma curent ilor respectiv generat i sau absorbit i de intr arile tuturor port ilor comandate. Interfat area TTL-CMOS nu ridic a nici un fel de problem a, deoarece port ile CMOS aproape c a nu necesit a curent de intrare, at at n H c at si n L curent ii de intrare au valori maxime < 50A. In schimb pentru interfat area CMOS-TTL trebuie calculat a valoarea de fan-out a port ii CMOS, de exemplu, port ile HC sau HCT pot comanda 10 port i 74LSXXTTL, dar pot comanda numai dou a port i 74SXXTTL. La interconectarea port ilor CMOS factorul de nc arcare se calculeaz a nu n funct ie de un curent de intrare, ca sarcin a standard, ci n funct ie de o sarcin a capacitiv a standard prezentat a pe intrare de o poart a. In general, se consider a capacitatea de 5pF ca sarcin a standard, care aproximeaz a capacitatea de intrare medie la o poart a CMOS. Factorul de nc arcare la ie sire se exprim a prin num arul de sarcini standard (nr de intr ari) pe care le comand a la ie sire.Cu m arirea sarcinii capacitive conectate pe ie sire timpul de propagare al port ii cre ste (aproximativ cu 1ns pentru ecare sarcin a de 5pF ad augat a) . Interfat area CMOS de tensiune redus a. Dou a sunt argumentele pentru care tensiunea de alimentare VDD a circuitelor CMOS tinde a redus a: 1. Puterea disipat a se reduce (Pd = CV 2 f ) 2. Scalarea determin a si mic sorarea grosimii D ox (Figura 1.32-a) a oxidului de sub poart a care, evident, pentru evitarea str apungerii, impune si o tensiune de valoare mai mic a aplicabil a pe poart 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, n cadrul ec arei tensiuni de alimentare au fost denite si nivelurile logice de intrare si de ie sire. Migrarea spre valori mai reduse de tensiuni de alimentare se face treptat, n etape, aceasta impun and ca unele din noile port i logice CMOS discrete de 3.3V care apar s a poat a tolera nc a tensiunile mai mari de intrare si de ie sire TTL si CMOS de la seriile alimentate la 5V , aceast a tolerant a ind necesar a pentru realizarea de sisteme cu port i cu tensiuni diferite de alimentare. Necesitatea de intermixare a circuitelor CMOS de tensiuni reduse cu alte circuite de tensiuni mai ridicate exist a si n cazul circuitelor integrate cum sunt P si ASIC-urile (Application Specic Integrated Circuits) numai c a rezolvarea se face ntr-un alt mod. Aceste circuite ind mari justic a alimentarea cu dou a tensiuni de alimentare, de exemplu cu 2, 5V (1, 8V ) si 3, 3V , vezi sect iunile 4.5. si 4.6. Tensiunea sc azut a de 2, 5V alimenteaz a nucleul de procesare, iar tesiunea ridicat a componentele de interfat are cu circuitele exterioare care sunt alimentate cu tensiunea de 3, 3V . In interiorul circuitului integrat exist a circuite buer speciale, alimentate la cele dou a tensiuni 3, 3V si 2, 5V , care fac deplas arile de nivel de la tensiunea cobor at a la cea ridicat a si invers. Nivelurile logice de tensiune pentru familia CMOS la alimentare cu 5V precum si la valorile reduse sunt prezentate n Figura 1.48. Nivelurile logice de tensiune, Figura 1.48-a, corespund seriilor HC si VHC ale familiei CMOS de 5V adic a acelor port i CMOS care s a e interconectate numai cu port i CMOS. In Figura 1.48-b sunt prezentate nivelurile logice de tensiune pentru seriile HCT, VHCT, FCT si TTL (compatibile ntre ele ca niveluri de tensiune), care evident pot substituite ntre ele dac a sunt satisf acute si condit iile de nc arcare la intrare si ie sire.

CAPITOLUL 1. PORT I 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 si ie sire pentru toate familiile CMOS Familia CMOS la 3, 3V . Pentru alimentarea cu 3, 3V se denesc dou a seturi de niveluri logice de tensiune. Primul set de niveluri, abreviat prin LVCMOS (LowVoltage CMOS), este denit pentru port ile CMOS care se interconecteaz a numai cu port i CMOS. Aceasta nseamn a c a valorile de nc arcare n regim static sunt foarte reduse (mai put in de 100A) astfel c a VOL si VOH se ment in la diferent e de maximum 0, 2V fat a de 0V respectiv fat a de VDD = 3, 3V . De fapt, nivelurile LVCMOS corespund seriilor HC si VHC la 3, 3V . Al doilea set de niveluri logice de tensiune abreviat prin LVTTL (Low-Voltage TTL) reprezentat n Figura 1.48-c este denit pentru port ile CMOS care sunt utilizate n aplicat ii cu sarcini m arite si care pot produce pentru tensiunea de ie sire valorile VOL = 0, 4V , VOH = 2, 4V . Deoarece n timp asignarea nivelurilor de tensiune pentru port ile TTL, respectiv si pentru cele CMOS compatibile TTL, s-au ales valori de lucru sub 2, 4V (f ar a a se lua n considerare evolut ia ulterioar a spre tensiuni standard de alimentare sub 5V ), aceast a potrivire a f acut ca mai t arziu s a e posibil a asignarea si pentru LVTTL a acelora si niveluri de tensiune ca si pentru TTL, a se compara reprezent arile din Figura 1.48-b si 1.48-c. Astfel port ile CMOS cu nivelurile LVTTL (cu VCC = 3, 3V ) pot comanda la ie sire port i TTL (cu VCC = 5V ) at at timp c at nc arcarea nu dep a se ste valorile IOLmax , IOHmax si, la fel, ie sirile port ilor TTL pot comanda intr arile LVTTL (dac a aceste intr ari sunt realizate tolerante la 5V ). De fapt, nivelurile LVTTL corespund cu nivelurile de lucru de la seriile HCT, VHCT si FCT ale familiei CMOS de 5V . De ce port ile LVTTL trebuie s a e realizate tolerante 5V la intrare? In general, pe intrare port ile au conectate diodele D1 si D2, care au rolul de a shunta supratensiunile ce pot ap area la intrare, Figura 1.49-a. Dioda D1 shunteaz a la mas a supratensiunile care au amplitudinea negativ a iar D2 shunteaz a la bara de alimentare V DD supraten-

110

1.5. PORT I IN TEHNOLOGIA CMOS

siunile care au amplitudinea mai mare de 3, 3V . Dar la port ile logice TTL valorile tipice pentru VOH dep a sesc 3, 3V ceea ce nseamn a c a o poart a TTL ce comand ao poart a LVTTL poate avea ie sirea scurtcircuitat a prin dioda D2 la bara V DD = 3, 3V (deci un curent foarte mare). Solut ia? La structura de poart a LVTTL netolerant a pe intrare la 5V , Figura 1.49-a, se elimin a dioda D2 si se obt ine structura tolerant a pe intrare la 5V, Figura 1.14-b. Evident, tranzistorul acestei structuri tolerante trebuie s a reziste la o tensiune de str apungere de minimum 5V . Dar port ile TSL de tip LVTTL trebuie s a e tolerante la 5V si pe ie sire. S a consider am c a un buer LVTTL de tip TSL are ie sirea conectat a la o linie de magistral a la care sunt conectate si alte port i TTL de tip TSL, Figura 1.49-c. Buerul LVTTL este n HZ c and tensiunea aplicat a pe poarta tranzistorului pMOS este V DD = 3, 3V iar pe poarta tranzistorului nMOS este 0V . Dac a linia de magistral a este comandat a de o poart a TTL n stare H nseamn a c a tensiunea de ie sire V O a buerului LVTTL este xat a de linia de magistral a la 5V, tensiune care este aplicat a si pe drenul tranzistorului pMOS notat cu Q. Tranzistorul Q av and o tensiune pe dren de
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 Port i CMOS de 3.3V : a) structur a de poart a netolerant a la 5V pe intrare si tolerant a la 5V (b); structur a de buer TSL netolerant la 5V pe ie sire (c) si tolerant pe ie sire la 5V (d).

CAPITOLUL 1. PORT I LOGICE

111

5V, fat a de tensiunea de 3, 3V aplicat a pe poarta sa, va conduce deci creaz a o cale de scurtcircuit de la sursa de 5V la sursa de 3, 3V . Se poate mpiedica intrarea n conduct ie a tranzistorului Q dac a ntre poarta sa si dren se introduce un tranzistor pMOS notat cu Q1, Figura 1.49-d. Pe poarta tranzistorului Q1 se aplic a o tensiune constant a VDD = 3, 3V . C and tensiunea de ie sire VO > VDD tranzistorul Q1 intr a n conduct ie realiz and o cale de impedant a mic a ntre ie sire si poarta tranzistorului Q. Rezult a c a potent ialul pe poarta tranzistorului Q nu poate s a scad a sub potent ialul VO aplicat pe drenul s au, deci este blocat. O astfel de structur a aplicat a circuitului buer LVTTL de tip TSL (alimentat la VDD = 3, 3V ) l face tolerant la 5V pe ie sire. Concluzion and, interfat area TTL/LVTTL se poate realiza n condit iile: 1. Interfat area LVTTL-TTL se poate face direct cu respectarea condit iilor de nc arcare la ie sire (nedep a sirea valorilor pentru I OHmax si IOLmax ); 2. Interfat area TTL-LVTTL se poate realiza dac a intr arile pe partea de LVTTL sunt intr ari tolerante la 5V; 3. Port ile TTL si LVTTL de tip TSL pot comanda mpreun a linii de magistral a dac a ie sirile LVTTL sunt tolerante la 5V. CMOS la 2, 5V si 1, 8V . Migrarea de la 3, 3V la 2, 5V nu va simpl a. Ie sirile de la familia CMOS de 3, 3V pot comanda intr arile de la familia CMOS de 2, 5V at at timp c at intr arile pe partea de 2, 5V sunt tolerante la 3, 3V . Dar, compar and nivelurile logice de tensiune din Figura 1.48-c si 1.48-d se observ a c a tensiunea V OH = 2V de la VDD = 2, 5V este egal a cu VIH = 2V de la VDD = 3, 3V deci MH = 0 c and CMOS de 2, 5V comand a CMOS de 3, 3V . Solut ionarea acestei decient e ar integrarea mpreun a cu poarta de 2, 5V a unui circuit de deplasare de nivel spre 3, 3V , solut ie ce se aplic a n prezent doar la P si ASIC-uri. Probabil c and familia de port i logice CMOS la 2, 5V va deveni popular a atunci si port ile discrete vor avea nglobat si o component a standard - circuitul de deplasare de nivel. Urm atorul pas va tranzit ia de la 2, 5V la 1, 8V . Analiz and nivelurile logice de tensiune din Figura 1.48-d si 1.48-e, c and CMOS de 1, 8V comand a CMOS de 2, 5V , rezult a o valoare negativ a pentru MH = 1, 45 1, 7 = 0, 25V deci, de asemenea, este necesar un circuit de deplasare de nivel.

1.5.4

Poarta de transmisie CMOS

Poarta de transmisie CMOS este compus a din dou a tranzistoare complementare, nMOS si pMOS, av and conectate n comun drenurile, la fel si sursele, iar port ile lor sunt comandate separat. Semnalele de comand a pe cele dou a port i ale tranzistoarelor ine sunt complementare, deci semnalul S pentru poarta tranzistorului pMOS se obt de la ie sirea unui inversor la a c arui intrare s-a aplicat semnalul S pentru comanda port ii tranzistorului nMOS. Aceast a structur a cu reprezent arile simbolice din Figura 1.50 are o funct ionare de comutator bidirect ional care este trecut n starea deschis a, ambele canale sunt blocate, prin semnalul de comand a S = 0, S = 1, respectiv trecut n stare inchis a, cel put in un canal conduce, prin semnalul de comand a S = 1, S = 0. Pentru nt elegerea funct ion arii acestui dispozitiv compus dintr-un tranzistor (de trecere) nMOS si un tranzistor (de trecere) pMOS, conectate ntre potent ialele Vin si VO se va analiza funct ionarea separat a a ec arui tranzistor. Se va considera

112
S A B A S B A

1.5. PORT I IN TEHNOLOGIA CMOS

S B S A

S B S

Figura 1.50 Diferite simboluri de reprezentare pentru poarta de transmisie CMOS. potent ialul de alimentare VDD ca ind 1 logic iar potent ialul de mas a VSS ca 0 logic. Reamintim c a ambele tranzistoare sunt blocate c and |V GS | |Vp | si sunt n conduct ie c and |VGS | |Vp |. Tranzistoarele n conduct ie sunt n zona liniar a c and |VDS | < |VGS Vp | si n zona de saturat ie c and |VDS | |VGS Vp |, Figura 1.32-b (dac a relat iile sunt exprimate n modul atunci sunt corecte at at pentru nMOS c at si pentru pMOS). Pentru tranzistorul nMOS, Figura 1.51-a, c and semnalul pe poart a are valoarea S = 0 canalul este blocat si este trecut n conduct ie pentru S = 1. Pentru comanda trecerii n conduct ie, S = VDD , la momentul t = 0, perechea de tensiuni vI (0) , vO(0) poate : VDD , VSS ; VSS , VDD ; VSS , VSS ; VDD , VDD . Consider and c a la terminalele tranzistorului este aplicat a prima pereche de valori, v I (0) = VDD , vO (0) = VSS , atunci la nceput canalul conduce n saturat ie v DS = VDD vO (0) = VDD VSS = VDD > VGS Vpn = VDD Vpn condensatorul de sarcin a CL se ncarc a p an a la tensiunea vO () = VDD Vpn c and tranzistorul se blocheaz a vGS = VDD vO () = VDD (VDD Vpn ) Vpn . Valoarea 1 logic de la intrare este transmis a degradat a la ie sire vO () = VDD Vpn ; se spune c a tranzistorul nMOS transmite slab 1 logic. Pentru vI (0) = VSS si vO (0) = VDD Vpn canalul intr a n conduct ie n regim liniar vGS = VDD vI (0) = VDD VSS = VDD , vDS = (VDD Vpn ) VSS = VDD Vpn < vGS = VDD p an a c and se ajunge la vDS = VSS , vGS = VDD si IDS = 0; condensatorul CL se descarc a p an a la vO () = VSS . Rezult a c a valoarea 0 logic la intrare este transmis a f ar a degradare la ie sire; se spune c a tranzistorul nMOS transmite bine 0 logic. Valorile tensiunilor de ie sire v O (t = ) pentru toate cele patru combinat ii init iale ale perechii vI (0), vO (0) sunt concentrate n tabelul din Figura 1.51-b. si comandat Tranzistorul de trecere pMOS, Figura 1.51-c, este blocat pentru S = 1 a la comanda n conduct ie, ovS = V SS , la terminalele n conduct ie pentru S = 0. Dac tranzistorului perechea vI (0), vO (0) are valorile VDD , VSS atunci la nceput canalul conduce n saturat ie |VDS | = |VSS VDD | > |VGS | = |VSS Vpp | p an a c and vO cre ste la valoarea |VDD Vpp | si apoi n regim liniar p an a c and vO () = VDD , deci CL se ncarc a p an a la tensiunea vO () = VDD . Nivelul 1 logic este transmis prin canalul pMOS f ar a degradare. Pentru cazul c and vI (0) = VSS , vO (0) = VDD condensatorul se descarc a prin rezistent a canalului n conduct ie p an a c and v O = Vpp , sub aceast a valoare |VGS | < |Vpp | canalul se blocheaz a VO () = |Vpp |. Canalul pMOS transmite cu degradare nivelul de 0 logic. Tabelul din Figura 1.51-d prezint a modul cum se transmite semnalul prin tranzistorul pMOS pentru toate cele patru combinat ii de perechi vI (0), vO (0). Poarta de transmisie CMOS, care este un comutator format din cele dou a canale

CAPITOLUL 1. PORT I 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 si caracterstica de comand a IDSn = f (VGS ); b) analiza modului de transfer al semnalului printr-un canal nMOS; c) tranzistorul de trecere pMOS si caracteristica de comand a IDSp = f (VGS ); d) analiza modului de transfer al semnalului printr-un canal pMOS.

n si p conectate n paralel comandate cu semnale complementate, elimin a dezavantajul de transmisie, degradarea de semnal, a ec arui tranzistor de trecere, astfel c a realizeaz a o transmisie bun a at at pentru 1 logic, prin canalul p, c at si pentru 0 logic prin canalul n, Figura 1.52-b. De si inversorul CMOS transmite bine nivelurile de 1 si 0 logic, ntr-un lant de transmisie pentru un transfer corect, este necesar ca si semnalele s a e sucient de puternice. In acest sens s a consider am c a semnalul logic V m , din punctul A de pe condensatorul Cm (de valoare mic a) vrem s a-l transmitem prin intermediul port ii de
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 port ii pentru controlul conexiunii ntre dou a puncte; b) poarta transmite f ar a degradare at at nivelul de 1 logic c at si nivelul de 0 logic; c) nserierea port ii de transmisie la ie sirea unei port i CMOS inversor este modalitatea normal a de utilizare.

114

1.5. PORT I IN TEHNOLOGIA CMOS

transmisie CMOS n punctul B unde este conectat condensatorul C M (de valoare mare) pe care exist a semnalul logic VM , Figura 1.52-a. Tensiunea rezultant a, c and poarta conduce, este : CM V M + C m V m VR = (1.81) CM + C m Dac a Cm = 0, 02pF (o sarcin a standard n tehnologia integrat a de 0, 5m) si V m = 5V iar CM = 0, 2pF (zece sarcini standard) si Vm = 0V , cu relat ia 1.81, rezult a tensiunea pe ambele capacit a ti egal a cu VR = 0, 45V . Aceasta nsemn a c a semnalul din punctul A cu valoarea logic a 1 nu s-a transmis corect n punctul B, mai mult, semnalul din B a deteriorat semnalul din A si aceasta pentru c a semnalul V m nu a fost sucient de puternic s a fort eze semnalul VM din B. Corectitudinea transferului prin poarta de transmisie se poate realiza prin: 1- izolarea nodului A de nodul B prin introducerea unui buer; 2- realizarea unui semnal n punctul A sucient de puternic. Uzual, realizarea unui semnal destul de puternic la intrarea unei port i de transfer CMOS rezult a prin obt inerea semnalului de intrare la poarta de transfer de la ie sirea unui inversor CMOS, ca n Figura 1.52-c. In implementarea sistemelor logice se intermixeaz a port ile de transmisie cu cele pe baz a de inversor CMOS; prin utilizarea si a port ilor de transmisie rezult a un num ar mai redus de tranzistoare. Implementarea operatorilor logici pe baz a de port i de transmisie CMOS se face ntr-un mod similar ca la realizarea schemelor logice pe baz a de contacte. Dac a variabila de intrare n poarta de transmisie (variabila de trecere) este x iar poarta este comandat a n deschidere cu variabila de control y se obt ine produsul logic xy , iar dac a variabila de control este y se obt ine produsul logic xy . In acest mod de implementare, and x ca variabila de trecere iar y ca variabil a pentru funct ia x y = xy + xy , consider de control, se obt ine structura din Figura 1.53-a. Implement arile de baz a de tranzistoare de trecere se fac la fel de simplu ca si cele cu relee, de exemplu, n Figura 1.53-b este implementat operatorul XOR. Bazat pe aceast a simpl a implementare a operatorului XOR se poate realiza un circuit pentru calculul identit a tii a dou a cuvinte, de exemplu X = x3 x2 x1 x0 si Y = y3 y2 y1 y0 ca n Figura 1.53-d. Acest circuit realizeaz a funct ia de identicare cuvinte Idc = (x3 y3 ) + (x2 y2 ) + (x1 y1 ) + (x0 y0 ), gener and Idc = 1 numai c and exist a identitate. Structural este o pseudopoart a NOR (Figura 1.46-a) ale c arei intr ari se obt in de la port i XOR. Extinz and aceste reguli simple se poate obt ine o structur a de circuit pe baz a de port i de transmisie care poate modela toate cele 16 funct ii de dou a variabile x, y . Fiecare funct ie de dou a variabile fi2 (x, y ) se poate obt ine, din tabelul de adev ar din Figura 1.2-a, ca o form a canonic a normal a disjunctiv a, relat ia 1.10, sau pentru o exprimare sintetic a se poate folosi relat ia matriceal 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. PORT I LOGICE

115

adic a matricea funct iilor fi2 este produsul dintre matricea coecient ilor d ij , i = 0, 1, , 15, j = 0, 1, 2, 3 ai funct iei cu matricea termenilor produs de dou a variabile P . Funct ia fi2 (x, y ) are forma: fi2 (x1 , x0 ) = di0 x1 x0 + di1 x1 x0 + di2 x1 x0 + di3 x1 x0 (1.83)

Analiz and aceast a relat ie se deduce c a implementarea const a din patru ramuri n paralel, la ecare din ramuri se aplic a unul din coecent ii binari ai funct iei (d i0 , di1 , di2 , di3 ), iar pe ecare ramur a sunt c ate dou a port i de transmisie nseriate care realizeaz a unul din termenii canonici produs (x 1 x0 , x1 x0 , x1 x0 , x1 x0 ), Figura 1.53-c. De exemplu, pentru setul de coecient i: (d0 = 0, d1 = 1, d2 = 1, d3 = 0) ai 2 funct iei f6 (vezi Figura 1.2) circuitul va implementa operatorul XOR, iar pentru setul: d0 = 0, d1 = 1, d2 = 1, d3 = 0 se obt ine modelarea operatorului NAND. Pentru ecare combinat ie de patru bit i aplicat a la intr arile acestui circuit se va modela una din cele 16 funct ii de dou a variabile. Se va vedea n sect iunea 2.4.4 c a acest circuit este, de fapt, o structur a de multiplexor, MUX 4:1.

1.5.5

Circuite logice dinamice

La circuitele logice prezentate p an a acum funct ia logic a realizat a corespunde regimului static de funct ionare, adic a este asociat a cu punctul static de funct ionare. La o poart a logic a dup a un (anumit) timp de propagare ( nt arziere pe poart a), de la aplicarea intr arilor, se obt ine la ie sire o stare logic a stabil a care se ment ine at at timp c at
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 port i de transmisie CMOS si tranzistoare de trecere: Operatorul XOR cu port i de transmisie (a) si cu tranzistoare de trecere (b); c) structur a programabil a pentru toate cele 16 funct ii de dou a variabile, fi2 (x, y ); d) structur a de circuit pentru determinarea identit a tii a dou a cuvinte de patru bit i (X = x3 x2 x1 x0 , Y = y3 y2 y1 y0 ).

116

1.5. PORT I IN TEHNOLOGIA CMOS

se ment in valorile intr arilor si tensiunea de alimentare se p astreaz a. Implement arile acestea, referite ca statice, n general necesit a un num ar mare de tranzistoare si care, n plus, pot determina timpi de nt arziere considerabili. Pentru implement arile de nalt a performant a si de densitate mare de integrare, unde puterea disipat a, nt arzierea pe circuit si aria consumat a pe siliciu sunt cerint e majore, se recomand a a sa numitele circuite logice dinamice care ofer a unele avantaje n raport cu circuitele logice statice. Totu si, aceste avantaje pot umbrite de faptul c a, n raport cu circuitele statice, imunitatea la zgomot este mai sc azut a, ceea ce a determinat ca unele circuite dinamice s a e modicate pentru o funct ionare pseudostatic a. Funct ionarea circuitelor logice dinamice se bazeaz a pe stocarea temporar a (tranzistorie) a unei sarcini electrice pe o capacitate parazit a a unui nod de circuit. Tensiunea tranzitorie pe acea capacitate parazit a, n intervalele de timp c and se situeaz a n intervalele VIH , VIL , este considerat a ca semnal logic de intrare pentru comanda circuitului a c arui intrare este conectat a la acel nod ( n aceste intervale de timp nu mai este necesar s a se aplice semnal de intrare din exterior). Circuitele logice dinamice de baz a, pentru port ile dinamice nMOS si pentru cele CMOS, sunt reprezentate respectiv n Figura 1.54-a si 1.54-b. Pentru ambele circuite
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 a de inversor dinamic (cu sarcin a tranzistor cu canal init ial) si comutator pe intrare tranzistor de trecere; b) structur a de inversor dinamic CMOS cu comutator pe intrare poart a de trecere; c) diagramele de timp pentru semnalul de ceas, CLK , si pentru variat ia tensiunii v x pe capacitatea parazit a Cx a nodului de intrare.

CAPITOLUL 1. PORT I LOGICE

117

tensiunea Vx , care va comanda n intervalele tranzitorii inversorul cu tranzistor de comand a nMOS si sarcina cu canal init ial (depletion-load nMOS) sau inversorul CMOS, este tensiunea rezultat a pe capacitat ile parazite C x ale port ilor de intrare. Inversorul cu tranzistor de comand a nMOS (sau pMOS) are o structur a de principiu similar a ca si inversorul bipolar, Figura 1.21-d, un element comandat-tranzistorul- si o sarcin a. La fel ca si cel bipolar, sarcina se poate realiza cu o rezistent a de sarcin a n dren, dar n tehnologia integrat a o rezistent a de sarcin a obt inut a prin difuzie ocup a o suprafat a pe siliciu echivalent a cu suprafat a consumat a, pentru implementarea, a zeci de tranzistoare. Evitarea unui astfel de consum mare de suprafat a de siliciu poate obt inut a prin utilizarea ca rezistent a de sarcin a rezistent a unui canal nMOS n conduct ie, deci un tranzistor utilizat ca rezistent a . Exist a dou a modalit a ti de realizare a sarcinii pe baz a de tranzistor: e cu un tranzistor nMOS cu canal indus n regim de saturat ie, e un tranzistor nMOS cu canal init ial. Inversorul cu rezistent a de sarcin a canal n saturat ie se obt ine prin conectarea ntre tranzistorul inversor (de comand a) si bara V DD a unui tranzistor (de sarcin a) nMOS a c arui poart a se conecteaz a la VDD . Prin aceast a conexiune poarta si drenul ind echipotent iale, VGS sarcin a = VDD VS = VDD VO , VDS sarcin a = VD VS = VDD VO rezult a c a totdeauna VGS sarcin a = VDS sarcin a iar VDS sarcin a > VGS sarcin a Vpn sarcin n saturat ie, Figura 1.32-b. C aderea de tensia , deci canalul este permanent une pe canal VDS sarcin adea sub valoarea de prag de deschidere V pn sarcin a nu poate sc a deoarece atunci canalul s-ar bloca (s-a explicat n 1.5.4 c a tranzistorul nMOS transmite deteriorat 1 logic). Aceasta nseamn a c a tensiunea maxim a de ie sire n starea H nu poate atinge valoarea barei de alimentare V DD , VOmax = VDD Vpn sarcin a < VDD . Inversorul cu tranzistor inversor nMOS si cu sarcin a tranzistor nMOS cu canal init ial poate genera la ie sire o tensiune maxim a egal a cu V DD . Tranzistorul nMOS cu canal init ial are, chiar c and V GS = 0, permanent o sarcin a electric a negativ a n canal (canalul init ial), deci exist a un curent dac a V DS > 0; aceast a stare se poate observa din caracteristica de comand a I DS = f (VGS ), desenat a l ang a tranzistor n Figura 1.54-a. Se observ a c a din aceast a caracteristic a valoarea tensiunii de prag de deschidere a tranzistorului este negativ a, V pn , iar c and grila este conectat a la surs a, VGS = 0, canalul este n conduct ie, IDS = 0. Deci atunci c and tranzistorul inversor este blocat tensiunea de ie sire V OH nu mai este limitat a la valoarea VDD Vpn (ca la inversorul cu sarcin a tranzistor saturat) ci poate cre ste p an a la valoarea VDD . Canalul init ial se obt ine n procesul tehnologic printr-o difuzie suplimentar a, n zona canalului, de impurit a ti donoare care genereaz a (permanent) canalul init ial; m arind tensiunea de comand a pe poart a V GS peste valoarea zero sarcina negativ a a canalului init ial este nt arit a suplimentar printr-o sarcin a indus a n canal. Pentru cele dou a tipuri de inversoare, din Figura 1.54-a si 1.54-b, tensiunea de intrare VI se aplic a pe grilele de intrare prin intermediul unui comutator, care este un tranzistor de trecere nMOS pentru inversorul cu sarcin a cu canal init ial, iar pentru inversorul CMOS este o poart a de transmisie CMOS. Comutatorul este comandat periodic cu un semnal de ceas, CLK ; deci c and CLK = 1 comutatorul este nchis iar tensiunea de intrare VI va fort a nc arcarea sau desc arcarea capacit a tii parazite Cx p an a la un potent ial vx = VDD sau vx = 0 dup a cum la intrare VI a avut valorile 1 sau 0 logic. Aceste valori pentru Vx se obt in doar pentru comutatorul poarta de transmisie dar pentru comutatorul tranzistor de trecere se obt in valorile vx = VDD Vpn , vx = 0 (tranzistorul de trecere nMOS transmite cu deteriorare 1 logic

118

1.5. PORT I IN TEHNOLOGIA CMOS

si f ar a deteriorare 0 logic, iar poarta de transmisie transmite f ar a deteriorare at at 1 logic c at si 0 logic). C and semnalul de ceas devine inactiv CLK = 0, comutatorul este deschis, condensatorul Cx r am ane nc arcat sau desc arcat, iar tensiunea sa V x va comanda ie sirea inversorului respectiv n starea logic a 0, V O = VOL sau 1, VO = VOH . Sarcina stocat a pe Cx scade n timp datorit a unui curent de desc arcare. Curentul de desc arcare spre mas a nu este prin stratul de oxid de sub poarta tranzistorului/tranzistoarelor inversorului, care prezint a o rezistent a extrem de mare ( 10 14 ) ci prin comutatorul de pe intrare. Curentul de desc arcare prin acest comutator are dou a componente: 1- curentul prin jonct iunea pn polarizat a invers, format a ntre zona difuzat a a terminalului tranzistorului de trecere legat a la C x si substratul n care este realizat a aceast a zon a; 2- curentul de conduct ie de sub prag; dar preponderent a este prima component a. C and CLK = 0 vx = VDD sau VDD Vpn(tranzistor de trecere) inversoarele genereaz a la ie sire VOL si aceast a valoare logic a se p astreaz a p an a c and v x descre ste p an a la tensiunea de prag a tranzistorului inversor V p(inversor) , adic a momentul t4 din Figura 1.54-c. Evident, funct ionarea corect a a inversorului dinamic se realizeaz a numai atunci c and semnalul CLK devine activ nainte ca v x s a scad a la Vp(inversor) , t3 < t4 . At at pentru comutatorul tranzistor de trecere c at si pentru comutatorul poart a de transmisie variat ia n timp a tensiunii v x (t), deci a intervalului c and aceasta 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 n SPICE. Dar un calcul orientativ se poate efectua foarte rapid; de exemplu pentru C x = 0, 1pF , Idesc arcare = 0, 1pA rezult a o variat ie Vx /t = I/C = 0, 1 1012 pA/0, 1 1012 pF = 1V /s, deci o V sc adere de la 5V la 0V n 5s ( 15 a vitez a de sc adere de 1V /s a V /s = 5s). La aceast tensiunii Vx o frecvent a de exemplu 500Hz (T = 2ms) pentru semnalul de ceas, ca s a re mprosp ateze sarcina pe condensator, este cu mult peste sucient. Semnalul de ceas mai este referit, n acest caz, si ca semnal de re mprosp atare (refreshment). Exemplul 1.19 Pentru lant urile de tranzistoare de transmisie nMOS din Figura 1.55-a si 1.55-b s a se determine tensiunea la ie sire.
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 lant uri cu tranzistoare de trecere nMOS

CAPITOLUL 1. PORT I LOGICE

119

Solut ie. Pentru lant ul obt inut din nserierea a patru tranzistoare de trecere nMOS identice (Vpn1 = Vpn2 = Vpn3 = Vpn4 ) se consider a c a VI = VDD si toate cele patru noduri sunt desc arcate (V1 = V2 = V3 = V4 = 0). Cu aceste considerat ii tranzistorul T1 opereaz a n saturat ie VDS 1 > VGS 1 Vpn1 deci c aderea de tensiune pe primul canal nu poate mai mic a dec at Vpn1 rezult a c a tensiunea V1 n nodul 1 nu poate dep a si valoarea V1max = (VDD Vpn1 ). Tranzistorul T2 funct ioneaz a la limita de saturat ie deci tensiunea maxim a n nodul 2 va V2max = (VDD Vpn2 ). Extinz and la T4 tensiunea n nodul 4 va mai mic a cu Vpn4 dec at VDD . Rezult a c a indiferent c ate tranzistoare sunt nseriate c and la intrare se aplic a VI = VDD tensiunea pe ecare nod intern se va stabiliza la o valoare egal a cu Vpn sub VDD oricare a fost tensiunea init ial a pe nod. Ca o imagine intuitiv a se poate considera un singur tranzistor de trecere, cu de n ori lungimea de canal, pe care este o c adere egal a cu Vp . Pentru structura din Figura 1.55-b c and ie sirea de la tranzistorul anterior se aplic a pe poarta tranzistorului urm ator, ecare tensiune de ie sire poate cre ste doar p an a la valoarea egal a cu Vpn sub tensiunea aplicat a pe poart a deci V1max = VDD Vpn , V2max = VDD Vpn Vpn , V3max = VDD Vpn Vpn Vpn . . . Vnmax = VDD nVpn .

Circuite CMOS dinamice. Implementarea urm atoarei funct ii de opt variabile F = AB + (C + D)(E + F ) + GH pe o structur a CMOS static a convent ional a necesit a 16 tranzistoare ca n Figura 1.56-a. Aceea si implementare pe o structur a CMOS
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 Port i CMOS pentru implementarea funct iei F = AB + (C + D)(E + F ) + GH : a) cu o structur a static a; b) cu o structur a dinamic a; c) diagramele de semnale pentru fazele de pre nc arcare si evaluare n funct ionarea port ii dinamice.

120

1.5. PORT I IN TEHNOLOGIA CMOS

dinamic a, reprezentat a n Figura 1.56-b, necesit a doar 10 tranzistoare; structura are asem anare cu cu pseudo-poarta CMOS din Figura 1.46-a. Aceast a poart a dinamic a const a dintr-o ret ea de n tranzistoare al c arui nod de ie sire y , caracterizat de o capacitate parazit a Cy , este pre nc arcat la tensiunea VDD prin tranzistorul pMOS, Tp . Apoi condensatorul Cy este desc arcat/evaluat condit ionat (de intr arile de comand a ale port ii) prin unele din tranzistoarele ret elei nMOS si prin tranzistorul nMOS, T e . Alternativ, se poate realiza o structur a cu un nMOS tranzistor pentru pre nc arcare la VDD , un pMOS tranzistor pentru desc arcare la VSS si o ret ea de p de tranzistoare. Faza de pre nc arcare a capacit a tii Cy prin tranzistorul Tp p an a la tensiunea vO = VDD se realizeaz a pe intrevalul de timp c and semnalul de ceas are valoarea CLK = 0, Figura 1.55-c, totodat a se aplic a si valorile variabilelor pe intr arile port ii. Apoi, pe intervalul de timp c and semnalul de ceas are valoarea CLK = 1, iar T p este blocat dar Te conduce, se realizeaz a evaluarea valorii funct iei. In funct ie de valorile logice ale variabilelor de intrare se poate realiza sau nu o cale de scurtcircuit la mas a pentru tensiune vO = VDD , deci valoarea funct iei este evaluat a la 0 sau 1 logic. Pe nodul de ie sire y poate obt ine doar o tranzit ie de la 1 la 0 sau r am ane n starea 1 logic.
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 Port i CMOS dinamice: a) nserierea port ilor si diagrama semnalelor la ie sirea lor (b); c) nserierea port ilor de tip domino. Funct ionarea unei singure port i CMOS dinamice, ca n Figura 1.56-b, este corect a, dar c and sunt nseriate mai multe port i ca n Figura 1.57-a poate apare o funct ionare eronat a. In aceast a nseriere Poarta2 se consider a a un NAND cu dou a intr ari (Intr1, Intr2). Pe durata fazei de pre nc arcare, prin tranzistoarele T p1 si Tp2 , tensiunile de ie sire vO1 si vO2 ajung la valoarea VDD iar valorile variabilelor de intrare sunt aplicate la Poarta1, a doua intrare (Intr2) pentru Poarta2 se consider a c a are aplicat a valoarea 1 (pe prima intrare (Intr1) a Port ii2 se aplic a v O1 ). Se presupune c a intr arile pentru Poarta1 determin a pentru aceasta, prin unele tranzistoare n conduct ie din ret eaua n si prin Te1 , o cale de scurtcircuit la mas a pe durata fazei de evaluare, deci vO1 devine 0 logic, valoare evaluat a corect pentru Poarta1. Dar, la nceputul fazei de evaluare tensiunea de ie sire, care se aplic a pe prima

CAPITOLUL 1. PORT I LOGICE

121

intrare de la Poarta2, este nc a la nivelul vO1 = vDD deci ie sirea vO2 a port ii NAND va comandat a n valoarea zero, vO2 = 0. Aceast a valoare logic a 0 de la ie sirea port ii NAND este eronat a deoarece la sf ar situl fazei de evaluare ar trebui s a e 1 logic (vO2 = VDD ) pentru c a ie sirea corect a de la Poarta1 este 0 logic, Figura 1.57-b. Rezult a c a posibilitatea de funct ionare eronat a la aceast a poart a c and este nseriat a cu alte port i s-ar p area c a elimin a celelalte avantaje (putere disipat a redus a, valoarea ridicat a pentru marginea de zgomot, num ar redus de tranzistoare si vitez a ridicat a). Pentru eliminarea posibilit a tii de funct ionare eronat a au fost realizate o mult ime de structuri [Weste 2001][Kang 1996] CMOS dinamice de mare performant a dar care nu prezint a acest dezavantaj, dintre acestea se va prezenta doar structura de poart a CMOS (dinamic a) domino. O poart a logic a CMOS domino se compune dintr-o poart a CMOS dinamic a la care se conecteaz a pe ie sire un inversor CMOS static, Figura 1.57-c. S a explic am necesitatea introducerii inversorului. Poarta1 poate realiza la ie sire doar o comutat ie de la 1 la 0 si trebuie s a comande tranzistorul Port ii2 numai c and are evaluat a pentru ie sire valoarea 0. Deoarece tranzistorul nMOS al Port ii2 se comand a cu 1 logic este normal ca ntre ie sirea Port ii1 si intrarea Port ii2 s a se introduc a un inversor CMOS static; cu aceast a completare Poarta2 este comandat a numai atunci c and, dup a evaluare, Poarta1 comut a din 1 n 0. C and Poarta1 comut a din 1 n 0, comand a, prin inversor, ca Poarta2 s a poat a comuta din 1 n 0, care la fel comand a Poarta3 s a comute din 1 n 0 si a sa mai departe p an a la poarta n-a (propagare de tip domino!). Evident, ,, aceast a succesiune de c aderi ale tensiunilor de ie sire ale port ilor din 1 n 0 similar ca la un lant domino trebuie s a se propage ntr-un interval de timp care s a nu e mai lung dec at faza de evaluare, CLK = 1. Dar si poarta domino prezint a inconveniente: primul, poarta este la ie sire (din inversorul static CMOS) o structur a neinversoare (necesar a pentru un lant domino) iar dac a este necesar a o inversare trebuie introdus nc a un inversor static; al doilea, distribut ia sarcinii C y pe nodurile intermediare ale tranzistoarelor nMOS nseriate (din ret eaua nMOS) n timpul fazei de evaluare, poate produce o ie sire eronat a. Distribut ia sarcinii nodului de ie sire pe nodurile intermediare din ret eaua nMOS apare n felul urm ator. S a consider am poarta domino din Figura 1.58-a. In intervalul de timp de pre nc arcare tensiunea v y n nodul de ie sire y , pe capacitatea parazit a Cy , atinge valoarea VDD . Se poate ca unele semnale de comand a pe port ile tranzistoarelor nMOS nseriate s a nu e aplicate corect; semnalele de intrare pe port ile tranzistoarelor trebuie aplicate numai pe durata fazei de pre nc arcare, este incorect a modicarea valorii acestor semnale pe durata fazei de evaluare. S a presupunem c a n faza de evaluare pe port ile primelor dou a tranzistoare nMOS de l ang a nodul de ie sire y al Port ii1 se aplic a semnalele 1 logic care comand a aceste dou a tranzistoare n conduct ie; restul tranzistoarelor nseriate din ret eaua nMOS sunt comandate n blocare, Te1 conduce, deci nu exist a o cale de scurtcircuit a sarcinii de pe C y la mas a, ie sirea Port ii1 nu comut a din 1 n 0. Deoarece primele dou a tranzistoare T1 si T2 conduc, sarcina de pe Cy se distribuie si pe condensatoarele parazite C 1 si C2 din nodurile dintre tranzistoarele T1 si T2 respectiv T2 si T3. In urma distribuirii C sarcinii tensiunea n nodul de ie sire va avea valoarea v y = Cy +Cy VDD . Pentru 1 +C2 VDD = 5V , Cy = C1 = C2 rezult a Vy = 1, 66V . Valoarea tensiunii vy = 1, 66V , c and tensiunea la ie sirea Port ii1 ar trebuit s a r am an a la valoarea v y = VDD = 5V , este sub valoarea de prag de comutat ie ( 2, 5V ) a inversorului CMOS static, deci ie sirea

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

1.5. PORT I IN TEHNOLOGIA CMOS


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 a nu se respect a aplicarea semnalelor de intrare, numai n faza de pre nc arcare, atunci redistribut ia sarcinii de pe C y poarta produce o funct ionare eronat a pentru o poart a domino; b) eliminarea posibilit a tii de funct ionare eronat a prin introducerea unui circuit cu react ie (tranzistorul T m ) pentru ment inerea vy = VDD . acestuia comut a din 0 n 1 si se comand a intrarea Port ii2. Iat a c a prin distribut ia de sarcin a sc aderea tensiunii vO1 produce o comand a eronat a pentru Poarta2. Pentru eliminarea comutat iei eronate datorat a distribut iei sarcinii din nodul de ie sire se poate aplica una din urm atoarele solut ii: 1. Se realizeaz a inversorul CMOS static cu un prag de comutat ie foarte sc azut; 2. Se utilizeaz a c ate un tranzistor de pre nc arcare, similar lui T p1 , pentru ecare nod din ret eaua de tranzistoare nMOS, n felul acesta capacitatea din ecare nod se ncarc a la tensiunea VDD (deci sarcina de pe Cy nu se mai distribuie). 3. Se realizeaz a un tranzistor pMOS de ment inere T m ca n Figura 1.58-b. Acesta ,, este un tranzistor slab , adic a fort eaz a un curent foarte mic n nodul de ie sire deoarece are un raport de forma W/L de valoare foarte mic a, deci poate ment ine tensiunea vy n starea H n acest nod numai dac a nu exist a o cale putenic a de scurtcircuit de la nod la mas a prin lant ul de tranzistoare din ret eaua nMOS. Se observ a c a tranzistorul Tm este n conduct ie doar c and tensiunea n nod este de nivel H; prin react ia invers a, realizat a prin intermediul inversorului static, se aplic a un semnal de nivel L pe poarta lui Tm ment in andu-l n conduct ie. Performant ele tranzitorii ale port ii domino pot mbun at a tite prin reducerea timpului de desc arcare a capacit a tii Cy la mas a prin linia de tranzistoare nMOS nseriate. O solut ie n acest sens este realizarea layoutului tranzistoarelor nseriate ca n Figura 1.59-b, unde l a timea de canal cre ste n sensul de la tranzistorul conectat la nod spre tranzistorul conectat la mas a, de si aceast a geometrie pare a contraintuitiv a.

CAPITOLUL 1. PORT I LOGICE

123

Prin mic sorarea raportului de form a W/L al unui tranzistor capabilitatea de a furniza curent scade (rezistent a echivalent a a canalului cre ste), la fel scad si capacit a tile parazite. Explicat ia n cazul prezentei geometrii este: dac a lungimea canalelor nMOS nseriate este destul de mare cre sterea rezistent ei prin mic sorarea unor l a timi de canal este ne nsemnat a pe c and sc aderea capacit a tii parazite este semnicativ a si deci per total rezult a o constant a de timp mic sorat a pentru desc arcare. In plus, se poate realiza pentru inversorul static de pe ie sire, care dup a faza de evaluare poate comuta de la 0 la 1, o vitez a m arit a a comutat iei L H de la ie sirea sa prin dimensionarea tranzistorului nMOS al s au cu W m arit.
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: a) structur a tipic a de poart a domino; b) variant a de layout (simplicat) care poate realiza un timp redus n etapa de evaluare pentru poarta domino. Poarta domino, de fapt, este realizat a din dou a etaje, poarta dinamic a urmat a de inversorul CMOS static, Figura 1.59-a. Uneori poarta domino nu este sincronizat a n faza de evaluare, deci tranzistorul Te este eliminat; acest tranzistor ncetine ste procesul de desc arcare al capacit a tii Cy dar elimin a n faza de pre nc arcare orice cale de conduct ie ntre VDD si VSS . Tipic o poart a domino este de 1, 5 2 ori mai rapid a dec at o poart a CMOS static a.

1.5.6

Metoda efortului logic

Metoda efortului logic a fost conceput a de c atre Ivan Sutherland si Bob Sproull (1991), ca un instrument n proiectarea circuitelor CMOS n funct ie de nt arzierea pe circuit, ulterior a fost publicat a o monograe pe acest subiect [Sutherland 99]. Prezentul material este o sintez a a metodei efortului logic bazat a pe aceast a monograe.

124

1.5. PORT I IN TEHNOLOGIA CMOS

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

Primul pas n modelarea nt arzierilor este concentrarea tuturor efectelor de nt arziere, ale unui circuit de referint a realizat ntr-o anumit a tehnologie, sub forma unei unit a ti etalon de nt arziere. In ecare tehnologie se alege ca circuit de referint a , dintre toate port ile realizate n tehnologia respectiv a, poarta cea mai simpl a, adic a poarta inversor. Iar ca unitate etalon de nt arziere, notat a cu , este nt arzierea introdus a de poarta inversor c and se consider a c a nu are capacit a ti interne parazite si comand a doar o poarta inversor identic a. Astfel se va exprima nt arzierea absolut a, dabs , a unei alte port i din aceea si tehnologie ca produsul dintre nt arzierea etalon a inversorului si o nt arziere adimensional a d (specic a ec arei port i) dabs = d (1.84)

Pentru o tehnologie cu caracteristica de 0, 6m si V DD = 3, 3V valoarea nt arzierii etalon este = 50ps. De fapt, caracteristica de vitez a a procesului respectiv se exprim a printr-o singur a valoare, . Int arzierea pe o poart a logic a cuprinde dou a componente, una constant a, notat a cu p, datorat a capacit a tilor interne parazite si alta notat a cu f , referit a ca efortul pe poart a/nivel (stage eort) dependent a de sarcina comand a la ie sire si de structurarea/topologia port ii. Rezult a c a nt arzierea adimensional a a port ii, care indic a de c ate ori este mai mare dec at a inversorului, poate exprimat a prin relat ia: d=f +p (1.85)

La efortul pe poart a f contribuie efortul electric, h, ce caracterizeaz a sarcina comandat a de poart a si efortul logic, g, ce nglobeaz a particularitatea structurii port ii n raport cu structura port ii etalon (inversorul), acestea dou a sunt n relat ia: f =hg (1.86)

Efortul electric, h, reect a cum m arimea sarcinii conectate la ie sire afecteaz a nt arzierea pe poarta logic a si cum dimensiunile port ilor tranzistoarelor determin a capabilitatea de a produce curent i pentru sarcina conectat a la ie sire si se exprim a prin raportul: CO h= (1.87) Cin

CAPITOLUL 1. PORT I LOGICE

125

n care Cin este capacitatea prezentat a de poart a la intrare, iar C O este toat a capacitatea comandat a de poart a la ie sire. Evident, dac a se consider a la ie sire numai capacit a tile prezentate de intr arile port ilor comandate, efortul electric poate referit si prin fan-out (num arul de intr ari de port i comandate la ie sire de c atre o poart a). Mai mult, este foarte uzual a nc arcarea unei port i, la ie sire, cu patru sarcini etalon, adic a realizarea unei comenzi pentru patru inversoare, notat a cu FO4 (fan-out 4), vezi Exemplul 1.20. Dar, n general n valoarea lui C O pe l ang a capacit a tile de intrare ale port ilor comandate intr a si capacit a tile conexiunilor dintre ie sirea port ii de comand a si intr arile comandate (Ccox n relat ia 1.64), deci n cazul metodei efortului logic se va considera valoarea lui h obt inut a prin raportul dat de relat ia 1.87 si care numai n cazuri particulare coincide cu fan-out-ul (c and nu se consider a capacit a tile conexiunilor). Uneori at at Cin c at si CO se exprim a n unit a tile n care se m asoar a l a timea canalului W , adic a n m, pentru c a la aceea si lungime de canal L, a tuturor tranzistoarelor, capacit a tile ind proport ionale cu suprafat a port ilor tranzistoarelor, W L, rezult a c a sunt proport ionale cu W ; dar n acest caz si componenta de capacitate a conexiunilor, Ccox , care intr a n CO , trebuie convertit a n m. Pentru capacitatea de poart a a tranzistorului si pentru capacitatea de conexiune valori uzuale sunt: respectiv 2f F/m si 0, 2f F/m, valori care r am an cam acelea si pentru multe generat ii de proces atunci c and se scaleaz a identic dimensiunile dar simultan si grosimea stratului de oxid (Dox , Figura 1.32-a). Din relat iile 1.85, 1.86, 1.87 se obt ine expresia nt arzierii pe o poart a n unit a ti : d = gh + p (1.88)

care reect a faptul c a efortul electric, h, si efortul logic,g , contribuie la cre sterea nt arzierii n aceea si manier a. Pentru un inversor care comand a un inversor identic, in si nu se consider a capacit a tile interne parazite, p = 0, pentru a se h = C Cin = 1, obt ine o nt arziere adimensional a egal a cu unitatea d = 1, se consider a efortul logic g = 1 (rezult a din relat ia 1.88). Consider and n = 2p (de si la tehnologiile ad anc submicronice n /p tinde spre 1, 5), pentru un inversor care s a comande un curent egal pentru sarcin a, at at n tranzit ia H L, c at si n tranzit ia L H , este necesar raportul Wn /Wp = 0, 5. Un inversor cu raportul Wp = 2Wn prezint a la intrare o capacitate Cinv proport ional a cu 3 unit a ti de capacitate (de l a time de canal W): o unitate de capacitate pentru poarta de canal nMOS si dou a unit a ti de capacitate pentru poarta de canal pMOS, Figura 1.60; evident s-a considerat capacitatea minim a, cea a port ii nMOS, ca unitate de capacitate. Efortul logic exprim a informat ia despre topologia port ii adic a ret eaua de tranzistoare care realizeaz a conectarea ie sirii port ii la tensiunea V DD si la tensiunea VSS (mas a) necesar a pentru determinarea nt arzierii pe poart a. Se vor prezenta trei denit ii echivalente ale efortului logic, ecare denit ie exprim and o alt a perspectiv a de abordare. Denit ia 1.16 Efortul logic al unei port i, g , este raportul dintre capacitatea de intrare a unei port i, Cin , si capacitatea de intrare a unei port i inversor, C inv , pentru care ambele port i au acelea si valori ale curent ilor pe ie sire: g= Cin Cinv (1.89)

126

1.5. PORT I IN TEHNOLOGIA CMOS

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 capacit a tii de intrare a unui inversor Cinv n unit a ti echivalente de capacitate (minim a). Conform acestei denit ii, din Figura 1.61-a, 1.61-b si 1.61-c se calculeaz a pentru port ile inversor, NAND si NOR valorile capacit a tilor pe ecare intrare, ind egale respectiv cu 1 + 2 = 3, 2 + 2 = 4 si 4 + 1 = 5; rezult a deci valorile efortului logic 3/3 pentru inversor, 4/3, pentru NAND si 5/3 pentru NOR. In Tabelul 1.13 sunt prezentate valorile efortului logic pentru port ile foarte uzuale n funct ie de num arul de intr ari si de valorile raportului = Wp /Wn . Denit ia 1.17 Efortul logic al unei port i, g , este num arul care exprim a de c ate ori este mai redus curentul pe ie sirea port ii dec at curentul pe ie sirea unei port i inversor c and ambele port i au aceea si capacitate de intrare.

Tabelul 1.13 Valorile efortului logic pentru port ile 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+

Num arul de intr ari 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. PORT I 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 port ile inversor, NAND si NOR: a,b,c) c and toate aceste port i au aceea si capabilitate de comand a la ie sire; d,e,f) c and toate aceste port i au aceea si capacitate Cin pe intrare.

Orice topologie de poart a logic a prezint a o mai mic a capabilitate de a produce un curent de ie sire dec at o poart a inversor c and ambele au aceea si capacitate pe intrare. Reducerea curentului pe ie sirea port ii nseamn a un timp de propagare mai lung, deci efortul logic exprim a de c ate ori este mai lent a poarta n efectuarea comenzii unei sarcini dec at poarta inversor n efectuarea aceleia si comenzi. Din Figura 1.61-e si Figura 1.61-f rezult a de c ate ori sunt mai redu si curent ii la ie sirea port ilor NAND si NOR dec at curent ii la ie sirea port ii inversor, Figura 1.61-d, c and toate trei port ile au aceea si capacitate la intrare, egal a cu 60 de unit a ti. Denit ia 1.18 Efortul logic al unei port i, g , este egal cu raportul dintre panta dreptei care reprezint a dependent a nt arzierii pe poart a n funct ie de fan-out si panta dreptei care reprezint a dependent a nt arzierii port ii inversor n funct ie de fan-out. Aceast a denit ie sugereaz a si o metod a de m asurare a efortului logic din dependent a grac a nt arziere - fan-out obt inut a experimental sau prin simulare, Figura 1.62. Se poate deni un efort logic gb si pentru un grup de b intr ari, analog relat iei 1.89,

128 n felul urm ator: gb =

1.5. PORT I IN TEHNOLOGIA CMOS

Ci Cb = i=1 (1.90) Cinv Cinv n care Cb este suma capacit a tilor Ci , ale ec arui semnal aplicat pe o intrare i din cele b intr ari. De fapt, rezult a c a gb este suma eforturilor logice gi pentru toate cele b b semnale de intrare gb = i=1 gi . Din Tabelul 1.13 rezult a c a pentru o poart a cu c at este mai complex a funct ia logic a realizat a cu at at este mai mare efortul logic si, mai mult, efortul logic al port ilor cre ste cu num arul de intr ari ale port ii, deci concluzia este c a port ile mai complexe sau mai mari (ca num ar de intr ari) vor prezenta nt arzieri mai mari. Aceast a concluzie este un ghid n selectarea/alegerea unei structuri logice. Proiectarea care urm are ste minimizarea num arului de niveluri logice va necesita mai multe intr ari pentru ecare poart a logic a si astfel efortul logic pe poart a devine mai mare. In schimb proiectarea care urm are ste mai put ine intr ari, si astfel cu un efort logic mai mic pe nivel logic, va necesita mai multe niveluri logice. De fapt, acest aspect n proiectarea unui sistem este ve snicul compromis care trebuie f acut ntre ad ancimea ( nt arzierea), D(n), si dimensiunea, S (n), aspect ce va permanent n atent ie n capitolul 2 si 3 al aceste lucr ari. Calculul nt arzierii p, datorit a capacit a tilor interne parazite, nu este a sa de u sor de efectuat cum este pentru efortul logic. Principala contribut ie la aceast a capacitate parazit a o au capacit a tile zonelor difuzate ale tranzistoarelor si care sunt conectate la semnalul de ie sire. Pentru calculul unei astfel de capacit a ti este luat a n considerare at at suprafat a zonei difuzate c at si peret ii laterali ai zonei difuzate si care depind de layout si parametrii de proces. Consider and o capacitate de difuzie specic a pentru proces, Cd , atunci o aproximare grosier a pentru capacit a tile zonelor difuzate de dren si surs a poate exprimat a prin produsul W Cd . Cu aceast a aproximare se poate concepe un model pentru inversor n felul urm ator. Semnalul de ie sire din poarta inversor este conectat la dou a zone difuzate: una corespunde c aii nspre mas a prin canalul n pentru care se consider aW =1 si atunci aceast a capacitate este C d si alta corespunde c aii nspre VDD , prin canalul p, pentru care capacitatea este C d deci suma lor este (1 + )Cd . Capacitatea de intrare n inversor este egal a cu produsul dintre suprafat a port ilor celor dou a canale (1 + ), pentru W = 1, si capacitatea specic a de poart a Cox , adic a (1 + )Cox . Int arzierea datorat a capacit a tilor interne parazite ale inversorului pinv este egal a cu raportul dintre capacit a tile parazite si (1+ )Cd Cd capacitatea de intrare, pinv = (1+ = . Se consider a pentru p ca ind o inv )Cox Cox m arime adimensional a egal a cu unitatea pinv = 1. Int arzierea pentru o poart a se poate calcula din nt arzierea inversorului p inv , consider and c a poarta are reguli de layout similare cu cele ale inversorului. Int arzierea pentru poart a, p, este mai mare dec at a inversorului, p inv , cu raportul dintre suma tuturor l a timilor acelor zone difuzate Wd ale tranzistoarelor care sunt conectate la semnalul de ie sire si l a timea corespunz atoare a inversorului, cu condit ia c a poarta logic a este dimensionat a s a aib a acela si curent de ie sire ca si inversorul: p= Wd 1+ pinv (1.91)

Aplic and aceast a aproximare pentru poarta NAND cu n intr ari care au n calea spre mas a o singur a zon a difuzat a conectat a la ie sire cu l a timea nW d si n calea spre

CAPITOLUL 1. PORT I LOGICE

129

tensiunea VDD un num ar de n zone difuzate de l a timea Wd , deci suprafat a total a n(1 + )Wd , rezult a p = n pinv . La fel, se poate calcula pentru poarta NOR si rezult a p = n pinv . Tabelul 1.14 prezint a, pentru c ateva port i uzuale, aceste calcule. Tabelul 1.14 Estimarea nt arzierilor p pentru unele port i 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 nt arziere p are serioase limit ari c and se consider a c a aceast a nt arziere cre ste liniar cu num arul de intr ari ale port ii. Deoarece nt arzierea datorat a capacit a tilor interne parazite este dependent a de layout cea mai bun a cale pentru determinarea acesteia este prin simularea circuitului cu datele exacte de layout. Dar o determinare exact a pentru nt arzierea p, datorit a capacit a tilor interne parazite, nu este necesar a n etapa de dimensionare a tranzistoarelor deoarece aceast a dimensionare se face n funct ie doar de efortul pe poarta f = g h care este independent de p. Valorile n unit a ti de timp [ps] ale parametrilor si p inv pentru inversor si, n extensie pentru ecare poart a, pot determinate din reprezentarea grac a a nt arzierii absolute a port ii inversor dabs = (h + pinv ), sau a unei port i dabs = (g h + p) n funct ie de efortul electric h, Figura 1.62. Aceast a dreapt a poate trasat a doar prin
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 si p.

130

1.5. PORT I IN TEHNOLOGIA CMOS

cunoa sterea a dou a puncte care pot determinate prin simulare, prin experiment sau din foaia de catalog a circuitului. Panta dreptei pentru inversor determin a nt arzierea unitar a = tg1 iar t aietura pe ordonat a este egal a cu produsul p inv , deci rezult a pinv . O metod a pentru determinarea nt arzierii absolute d abs pentru inversor este expus a n Exemplul 1.17. Prin m asurarea frecvent ei f a unui oscilator n inel compus din n inversoare, dabs = (h + p) cu h = 1, pinv = 1 rezult a dabs = 2 si din egalitatea 2 = 1/2nf se obt ine cu n = 1, = 1/4f . Exemplul 1.20 S a se estimeze nt arzierea d pe un inversor care comand a patru 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 nt arzierii pe poart a: a) Pentru inversor cu nc arcare patru port i inversor,FO4; b) Pentru NAND4 care comand a 10 port i NAND4.
Solut ie. Deoarece toate inversoarele sunt identice CO = 4Cin deci h = 4. Pentru inversor efortul logic este unitar g = 1. Conform relat iei 1.88 rezult a d = gh + p = 1 4 + pinv = 4 + 1 = 5. Adesea, nt arzierea pe o poart a este exprimat a n raport de nt arzierea inversorului cu patru sarcini inversor, pentru c a ntr-un proces este cunoscut a nt arzierea F O4, adic a nt arzierea de 5 . Int arzierile pentru alte circuite vor multipli de 5 (de FO4).

Exemplul 1.21 O poart a NOR4 (cu patru intr ari) comand a alte 10 port i NOR4 identice, Figura 1.63-b. Care este nt arzierea d pe poarta de comand a? Solut ie. Capacitatea Cin pe o intrare a port ii NOR4 este x iar capacitatea conectat a pe ie sire CO = 10x deci efortul electric este h = 10. Efortul logic g pentru poarta cu patru intr ari, obt inut din Tabelul 1.13, este g = 9/3 = 3, iar nt arzierea p rezult a din Tabelul 1.14. Int arzierea pe poarta de comand a este d = gh + p = 3 10 + 4 1 = 34 unit a ti de nt arziere. Se observ a c a atunci c and sarcina este mare nt arzierea p datorat a capacit a tilor parazite interne este nesemnicativ a n raport cu efortul pe poart a.

Exemplul 1.22 S a se structureze o poart a XOR si s a se calculeze efortul logic. Solut ie. Exprim and A B ca o funct ie negat a, pentru implementare n CMOS,
A B = A B = AB + AB = AB + A B

CAPITOLUL 1. PORT I LOGICE

131

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

1.5.6.2

Calculul nt arzierii n ret elele de port i logice

Intr-o ret ea de port i logice metoda efortului logic permite evaluarea num arului optim de port i pentru obt inerea nt arzierii minime pe un anumit traseu precum si repartizarea nt arzierilor part iale pe ecare poart a din acel traseu. Not iunile de efort logic si efort electric, pentru un traseu de port i, se obt in prin generalizarea acestor not iuni denite pentru o singur a poart a. Efortul logic pentru un traseu, notat cu G, se obt ine ca un produs al efortului logic gi al tuturor port ilor de-a lungul acestui traseu: G= gi (1.92)

Efortul electric pentru un traseu, notat cu H , se obt ine ca un raport ntre capacitatea total a care ncarc a ie sirea ultimei port i a traseului si capacitatea de intrare de la prima poart a din traseu: CO H= (1.93) Cin Dar n anumite puncte ale traseului considerat se pot ramnica si alte trasee (colaterale) deci n acele puncte curentul de ie sire al port ii respective se ramnic a ntre traseul considerat si traseul/traseele colaterale; pentru aceste situat ii este necesar a se lua n considerare si nc arc arile colaterale. Aceste nc arc ari colaterale sunt cont inute n not iunea de efort de ramnicat ie la ie sirea port ii cu indexul i din traseu si este

132

1.5. PORT I IN TEHNOLOGIA CMOS

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 port ii XOR n tehnologia CMOS: a) poarta XOR cu dou a intr ari; b) structurare simetric a pentru poarta XOR cu trei intr ari; c) o modalitate de structurare asimetric a pentru poarta XOR cu trei intr ari.

CAPITOLUL 1. PORT I LOGICE

133

notat cu bi . Efortul de ramnicat ie bi ( n punctul de ramnicat ie) se dene ste ca raportul dintre suma capacit a tii de intrare a port ii urm atoare din traseu, C it , si a capacit a tilor de intrare de la port ile de pe traseul/traseele de ramnicat ie, C ir , supra Cit . Cit + Cir bi = (1.94) Cit Intr-un punct de neramnicat ie al traseului rezult a b i = 1, deoarece Cir = 0. Efortul de ramnicat ie pe ntregul traseu, B , se obt ine ca un produs al tuturor eforturilor de ramnicat ie bi de-a lungul traseului: B= bi (1.95)

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

aceast a relat ie este important a deoarece pentru un traseu se cunoa ste C in , CO si eforturile de ramnicat ie bi deci proiectantul va trebui s a dimensioneze efortul electric pentru ecare poart a hi astfel nc a s a realizeze produsul BH . Int arzierea pe traseu D este egal a cu suma nt arzierilor port ilor din traseu si, la fel ca n relat ia 1.88, are dou a componente: una, nt arzierea de efort a traseului D F si cealalt a nt arzierea datorat a capacit a tilor interne parazite ale port ilor din traseu, P , deci se pot scrie relat iile: D DF P = = = di = D F + P gi h i pi (1.98) (1.99) (1.100)

Se demonstreaz a c a int arzierea pe traseu are valoarea minim a c and ecare poart a , a c din cele N ale traseului are acela si efort, notat cu f arui valoare se obt ine cu relat ia: = g i hi = N F f (1.101) Din relat iile 1.101 si 1.98 se deduce principalul rezultat al metodei efortului logic, , ce se poate obt adic a relat ia care exprim a nt arzierea minim a,notat a cu D ine pentru un traseu: 1 =N FN D +P (1.102)

134

1.5. PORT I IN TEHNOLOGIA CMOS

Pentru un traseu a c arui topologie este dat a se poate calcula efortul F si repartiz and un efort egal pe ecare poart a, din relat ia 1.101, rezult a c at trebuie s a e i pe ecare poart efortul electric h a din traseu
N i = F h gi 1

(1.103)

i cunoscut iar, apoi, cu valoarea lui h a, se pot determina dimensiunile tranzistoarelor din ecare poart a logic a din traseu. De fapt, calculul ncepe cu dimensionarea tranzistoarelor din ultima poart a a traseului, pentru care se cunoa ste: nc arcarea la ie sire , deci rezult CO , efortul logic si valoarea f a capacitatea de intrare a ultimei port i (care este capacitatea de ie sire a penultimei port i atunci c and efortul de ramnicat ie n acest punct este 1). Apoi, dup a dimensionarea tranzistoarelor din ultima poart aa traseului se dimensioneaz a, succesiv, si celelalte port i n sensul invers de parcurgere a port ilor din traseu, adic a de la penultima poart a p an a la poarta de intrare. Relat ia de dimensionare pentru poarta cu indicele i din traseu este: Cini = gi C O i f (1.104)

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

Figura 1.65 Explicativ a pentru exemplul 1.23


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

CAPITOLUL 1. PORT I LOGICE

135

= 3 F = 4/3 poart a are aceea si valoare egal a cu f nt arzierea minim a care se poate obt ine 3 = 3 pe traseu se calculeaz a cu relat ia 1.102, D 2, 37 + 3(2pinv ) = 10 unit a ti de nt arziere. Pornind dimensionarea tranzistoarelor de la ultima poart a care are capacitatea pe ie sire C si aplic and relat ia 1.104 se obt ine capacitatea de intrare pentru a treia poart a NAND2, z = (c 4/3)/(4/3) = C . Similar rezult a capacitatea de intrare pentru a doua poart a NAND2, y = (z 4/3)/(4/3) = z = C . Rezult a c a toate port ile au acelea si dimensiuni pentru tranzistoare, adic a port ile sunt identice, ceea ce nu este surprinz ator deoarece ecare poart a are aceea si sarcin a si acela si efort logic, iar pentru obt inerea timpului minim toate trebuie s a aib a acela si efort. F ac and dimensionarea pentru n /p = 2 rezult a o poart a NAND2 cu dimensiunile pentru port ile tranzistoarelor specicate n Figura 1.65-b.

Exemplul 1.24 Pentru traseul A B , Figura 1.65-a de la Exemplul 1.23, s a se determine nt arzierea minim a si dimensiunile tranzistoarelor c and sarcina la ie sire este 8C . Solut ie. G = (4/3)3 , H = 8C/C = 8, B = 1 deci F = GBH = (4/3)3 8 = 18, 96 = 3(18, 96) 1 3 + 3(2pinv ) = 14 unit a ti iar nt arzierea minim a care se poate obt ine este D de nt arziere. Se observ a c a de si efortul electric este de 8 ori mai mare dec at n Exemplul = 1.23 nt arzierea minim a a crescut numai cu 40 %. Pentru efort egal pe ecare poart a f 3 18, 96 = 8/3 se determin a dimensiunile tranzistoarelor pornind cu ultima poart a z = (8C 4/3)/(8/3) = 4C , y = (z 4/3)/(8/3) = 2C , iar ca o vericare se calculeaz a si capacitatea de intrare pentru prima poart a (y 4/3)/(8/3) = y/2 = C . Fiecare poart a are capacitatea de intrare dubl a fat a de capacitatea port ii anterioare, deci dimensiunile tranzistoarelor se dubleaz a pe ecare nivel n sensul de parcurgere a traseului de la A la B , tranzistoare cu l a time de canal mai mare n etaje succesive au capabilitate mai mare de a comanda curent i n sarcin a.

Exemplul 1.25 S a se dimensioneze tranzistoarele port ilor de pe traseul A B din Figura 1.66-a pentru a obt ine timpul minim de nt arziere c and efortul electric al traseului este H = 4, 5. Solut ie. Efortul de ramnicat ie la ie sirea primei port i este b1 = (y + y )/y = 2 iar la ie sirea celei de-a doua port i este b2 = (2+2+2)/2 = 3 deci B = 2 3, G = (4/3)3 iar H = 4, 5, 1 = 3 64 3 + 3(pinv ) = 18 rezult a F = GBH = 64. Int arzierea minim a pe traseu se obt ine D 3 = 64 = 4. Rezult unit a ti de nt arziere. Se calculeaz a un efort egal pe ecare poart a f a z = (4, 5 4/3)/4 = 1, 5, y = (b2 z 4/3)/4 = z = 1, 5C iar pentru prima poart a se poate face o vericare (b1 y 4/3)/4 = 2/3y = C , deci se pot dimensiona tranzistoarele pe intrare ale port ilor NAND2.

Exemplul 1.26 S a se dimensioneze circuitul din Figura 1.66-b pentru a realiza o nt arziere minim a. Se consider a c a sarcina de ie sire CO este capacitatea unei port i logice cu l a timea (de poart a) de 20m iar capacitatea de intrare corespunde unei port i de l a time 10m. Solut ie. Presupun and aceea si lungime pentru toate tranzistoarele rezult a c a valoarea capacit a tii lor este proport ional a cu l a timea port ilor lor deci se poate exprima valoarea capacit a tii si prin m. Se calculeaz a pentru traseu: efortul logic G = 1 (5/3) (4/3) 1 = 20/9, efortul electric H = 20/10 = 2, efortul de ramnicat ie B = 1 1 1 = 1 rezult a = F = GBH = 40/9, deci efortul egal pe ecare poart a, pentru nt arziere minim a, este f

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

1.5. PORT I IN TEHNOLOGIA CMOS

10 m (latime de poarta) x y z

20 m (latime de poarta)

a)

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


40/9 = 1, 45. Parcurg and traseul n sens invers, pornind cu ultima poart a, rezult a l a timea total a a port ilor tranzistoarelor de intrare de pe nivelul respectiv: z = (20 1)/1, 45 = 14m, y = (14 4/3)/1, 45 = 13m si x = (13 5/3)/1, 45 = 15m; apoi aceste valori de capacitate se distribuie potrivit pentru ecare poart a de tranzistor din nivelul respectiv. Se observ a, c a rezult a l a timi mai mari pentru port ile tranzistoarelor din inversoare dec at pentru port ile tranzistoarelor din celelalte port i logice ceea ce este normal deoarece inversoarele au o mai bun a capabilitate de a comanda sarcini. Se observ a c a n dimensionarea tranzistoarelor pentru obt inerea nt arzierii minime pe traseu, relat ia 1.102, am neglijat nt arzierea P deoarece aceasta este x a, iar ajustarea dimensiunii port ii nu modic a nt arzierea parazitic a. De fapt, se poate neglija totdeauna nt arzierea P c and nu se dore ste o precizie ridicat a n determinarea nt arzierii pe traseu sau c and se compar a dou a trase care cont in port i logice diferite ori cont in un num ar diferit de port i logice.
4

1.5.6.3

Alegerea num arului optim de niveluri pe un traseu

C and num arul N de niveluri n traseu este dat cu relat ia 1.101 se calculeaz a 1 = F N valoarea efortului ,f ,egal pe ecare nivel, care va determina nt arzierea minim a pe traseu. Dar pentru un traseu, la care se cunoa ste efortul F dar nu si num arul de , niveluri, s-ar putea ca num arul dat N s a nu e egal cu cel optim, num ar notat cu N care s a genereze cea mai mic a nt arziere. C and num arul de etaje pentru un efort dat , atunci cel mai bun efort egal pe etaj, notat cu , se pentru traseu este cel optim N 1 N si care este solut ia urm atoarei ecuat ii: calculeaz a cu relat ia = F pinv (1 ln) = 0 (1.105)

Tabelul 1.15 prezint a num arul optim de niveluri N ntr-un traseu pentru obt inerea celei mai mici nt arzieri pe traseu, c and p inv = 1. Pentru un traseu cu N etaje se calculeaz a efortul F , iar din inspect ia Tabelului etaje, deci este necesar a se 1.15 rezult a c a nt arzierea cea mai mic a necesit a N etaje ad auga sau a se sc adea etaje din num arul de etaje N p an a se ajunge la N n traseu. Informat ia tabelului este corect a numai c and se m are ste sau se scade num arul de niveluri prin introducerea sau scoaterea de etaje inversor, deoarece se consider a c a numai aceste etaje au nt arzierea parazitic a p = 1. Evident, pentru

CAPITOLUL 1. PORT I LOGICE

137

Tabelul 1.15 Num arul optim de niveluri N n funct ie de efortul pe traseu 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 Num arul optim de etaje N 1 6,8 Int arzierea minim aD 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. PORT I IN TEHNOLOGIA CMOS

a nu se schimba funct ia logic a calculat a pe traseu trebuie introduse sau scoase un num ar par de inversoare. Unul sau dou a niveluri diferent a fat a de valoarea optim aN modic a nesemnicativ nt arzierea pe traseu, dac a acest traseu este destul de lung, numai la trasee scurte introducerea sau scoaterea a unui etaj sau dou a poate provoca abateri semnicative fat a de nt arzierea cea mai mic a. Exemplul 1.27 Se consider a trei variante de trasee inversoare compuse din nserierea de respectiv 1,3 si 5 inversoare, ecare traseu comand a la ie sire o sarcin a capacitiv a egal a cu de 25 de ori capacitatea de intrare. Care dintre aceste variante este optim a si c at este nt arzierea cea mai mic a? Solut ie. Pentru ecare din trasee rezult a valori egale de G = 1, B = 1, si H = 25. 1 = N (25) N + N pinv , cu N = 1 Int arzierea pe ecare traseu este dat a de ecuat ia 1.102, D = 25 unit = 11, 8 ,3 si 5. Pentru N = 1 rezult aD a ti de nt arziere; pentru N = 3 rezult aD unit a ti de nt arziere iar pentru N = 5 rezult a D = 14, 5 unit a ti de nt arziere. Varianta cu trei inversoare nseriate cont ine num arul optim de inversoare n consecint a realizeaz a nt arzierea cea mai mic a D = 11, 8 unit a ti de nt arziere, ecare etaj suport a un efort egal cu 3 25 = 2, 9, deci ecare inversor va dimensional de 2, 9 ori mai mare dec at predecesorul inversor. Se poate constata si din Tabelul 1.15 c a pentru F = 25, 22, 3 < 25 < 82, 2 num arul optim de = 3, adic etaje este N a exact cel calculat prin acest exemplu.

Exemplul 1.28 Un sir de inversoare n tehnologia 0, 6 (3, 3V, = 50ps) comand a un semnal conectat la un terminal de ie sire al circuitului integrat (pad). Capacitatea terminalului de ie sire este de 40pF care este echivalent a cu o capacitate de poart a de 20000m. Presupun and capacitatea de intrare n sirul de inversoare de 7, 2m s a se dimensioneze sirul de inversoare cel mai rapid. Solut ie. Se calculeaz a B = 1, G = 1 si H = 20000/7, 2 = 2777. Din Tabelul 1.15 rezult a = 6, 1090 < 2777 < 3920. Efortul cel mai bun pe c a num arul optim de inversoare este N 1 = (2777) 6 = 3, 75 deci ecare inversor are capacitatea de intrare de 3, 75 ori mai etaj este f = 6 3, 75 + 6 pinv = 28, 5 mare dec at a inversorului precedent, iar nt arzierea este D unit a ti de int arziere, adic a 28, 5 50ps = 1, 43ns. In acest exemplu s-a g asit c a cel mai bun raport de multiplicare a dimensiunilor de la un nivel la urm atorul nivel este de 3, 75. Unele referint e indic a pentru acest raport de multiplicare valoarea de 2, 71, adic a constanta e, care este corect numai c and nt arzierea parazitic a p este nul a. Pe m asur a ce p cre ste raportul de multiplicare cre ste peste valoarea lui e iar num arul de niveluri scade . Dac a efortul pe nivel variaz a n intervalul de 2 p an a 8 abaterea nt arzierii realizat a fat a de cea mai mic a nt arziere este 35%, iar dac a efortul pe nivel variaz a n intervalul de 2, 4 p an a la 6 abaterea este doar de 15%. Pentru pinv = 1 cel mai bun efort pe nivel este de 3, 59. A intrat n uz ca ,, cel mai bun efort pe nivel s a e considerat 4, pentru c a este un num ar rotund si este u sor de calculat mental num arul de niveluri, aceast a alegere de efort 4 pe nivel duce la o abatere de 1% fat a de nt arzierea cea mai mic a pentru p inv = 1. Consider and de niveluri rezult efortul pe nivel 4 num arul N a prin relat ia log4 F iar nt arzierea F O4, pe un nivel cu nc arcarea 4, este cunoscut a ca ind egal a 5 (vezi Exemplul 1.20), = 5log4 F . Cuadrupl deci nt arzierea se calculeaz a simplu cu relat ia D and efortul pe traseu atrage dup a sine o nt arziere egal a cu cea a unui inversor care comand a alte patru inversoare identice.

CAPITOLUL 1. PORT I LOGICE

139

Un caz particular de structur a de circuit, dar foarte des utilizat, este a sa numita ,, furc a ce se compune din dou a ramuri de inversoare, pe o ramur a num arul inversoarelor nseriate ind impar iar pe cealalt a ramur a num arul inversoarelor nseriate ind par, astfel c a la ie siri se genereaz a valoarea negat a respectiv nenegat a a semnalului comun aplicat la intrare, Figura 1.67. Pentru circuitul furc a se cunosc cele dou a capacit ati de ie sire Ca , Cb , n general egale Ca = Cb , de la cele dou a ramuri, CO = Ca + Cb . De asemenea, se cunoa ste capacitatea total a de intrare n furc a, Cin , care este sarcina suportat a de semnal la intrarea n furc a, pe care va trebui s ao nc at nt arzierile repartiz am pe cele dou a intr ari Cina , Cinb , Cin = Cina + Cinb , astfel pe cele dou a ramuri s a e egale. Se poate deni un efort electric total pentru circuitul furc a H = CO /Cin si, respectiv, c ate un efort electric individual pentru ecare ramur a Ha = Ca /Cina , Hb = Cb /Cinb , aceste eforturi electrice individuale, n general, nu sunt egale chiar dac a nc arc arile la ie sire sunt egale.
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 a circuitului furc a: Pentru proiectarea circuitului furc a se porne ste cu determinarea coecientului de repartizare a capacit a tii de intrare, Cin , ntre cele dou a ramuri, Cina = Cinb , coecient care rezult a din egalitatea nt arzierilor, ecuat ia 1.102, pe cele dou a ramuri. Ramura care suport a un efort electric mai mare, uzual cea cu amplicatoare mai multe, are o capacitate de intrare mai mic a < 0, 5, deci i se repartizeaz a o parte mai mic a din curentul semnalului de intrare dec at celeilalte ramuri. Evident, c a oricare ramur a poate dimensionat a s a devin a mai rapid a, prin reducerea efortului electric al s au ceea ce implic a m arirea dimensiunilor tranzistoarelor de la primul etaj, adic a m arindu-i curentul repartizat n detrimentul celeilalte ramuri care va deveni mai lent a. Un circuit furc a particular este referit prin num arul de inversoare cont inut n ecare ramur a, n general diferent a este de un singur inversor, deci pot circuite: 2 1, 3 2, 4 3, 5 4 , . . . . In funct ie de valoarea efortului electric total H = C O /Cin din Tabelul 1.16 se obt ine recomandarea ce structur a de circuit furc a este indicat s a se utilizeze (pentru pinv = 1). Exemplul 1.29 S a se proiecteze un circuit furc a 2 1 cu capacitatea de intrare Cin = 10 iar capacitatea de ie sire, pe ecare ramur a, este Ca = Cb = 100. Care este nt arzierea introdus a de circuit? Solut ie. Coecientul de repartizare a capacit a tii de intrare Cin ntre ramura cu dou a inversoare, Cina = Cin a din si ramura cu un singur inversor Cinb = (1 )Cin , rezult egalizarea nt arzierilor, ecuat ia 1.102, pe cele dou a ramuri.
2 100 10
1 2

+ 2pinv =

100 10(1 )

+ pinv

140

1.5. PORT I IN TEHNOLOGIA CMOS

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

Tabelul 1.16 Circuitul furc a recomandat n funct ie de efortul electric total (pinv = 1) H De la 9,68 38,7 146 538 1970 P an a la 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 a se proiecteze un circuit furc a pentru comanda de validare/acces a 64 buere tristate la o magistral a, Figura 1.68-b. Capacitatea de intrare la circuitul furc a este de 12 unit a ti, iar un buer tristate are dimensiuni de sase ori mai mari dec at cele ale structurii de referint a de circuit poart a tristate. Structura de referint a de circuit
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 a pentru exemplul 1.30

CAPITOLUL 1. PORT I LOGICE

141

poart a tristate este prezentat a n Figura 1.68-a, acest circuit are aceea si funct ionare ca si circuitul din Figura 1.52-c, care este format dintr-un inversor CMOS static av and pe ie sire o poart a de transmisie CMOS (dar de data aceasta, tranzistoarele complementare ale port ii de transmisie sunt nseriate/incluse n coloana port ii CMOS static a si comandate cu semnalele complementare s si s). Solut ie. Sarcina pe ie sire pentru ecare din semnalele de validare/ENable, EN , EN este 64 6 2 = 768 unit a ti de capacitate. Efortul electric pentru ntregul circuit furc a este H = (768 + 768)/12 = 128, iar din Tabelul 1.16 rezult a c a structura de 4 3 este cea optim a. Coecientul de repartizare a capacit a tii de intrare pe cele dou a ramuri rezult a din relat ia 4 768 12
1 4

+ 4pinv = 3

768 12(1 )

1 3

+ 3pinv

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

Modul de analiz a pentru circuitul furc a se poate extinde si pentru circuite mai complexe cu mai multe ramuri, unde ecare ramur a cont ine un num ar diferit de niveluri, ecare ramur a realizeaz a o funct ie logic a diferit a si unde ecare ramur a comand a sarcin a diferit a. Totu si aceast a extindere la circuite mai complexe necesit a unele articii ceea ce arat a unele decient e si limit ari ale metodei. Metoda efortului logic este o procedur a de proiectare pentru obt inerea celui mai mic timp de nt arziere pentru un traseu dintr-o ret ea. Aceast a metod a combin a ntrun singur calcul at at capabilitatea de a comanda sarcini electrice mari c at si realizarea unei funct ii logice. Expresiile de calcul n cadrul metodei sunt concentrate n Tabelul 1.17 iar procedura de calcul parcurge urm atoarele etape: 1. Se calculeaz a efortul F = GBH pentru traseul din ret eaua de analizat. Efortul logic pe traseu, G, este produsul efortului logic al tuturor port ilor logice de pe traseu, efortul logic al port ilor este dat n Tabelul 1.13; efortul de ramnicat ie pe traseu, B , este produsul efortului de ramnicat ie al tuturor port ilor de pe traseu; efortul electric pe traseu, H, este raportul dintre capacitatea de sarcin a total a a ultimului nivel si a capacit a tii de intrare la primul nivel. , pentru efortul F calculat, care pro2. Se estimeaz a num arul optim de niveluri N duce cel mai mic timp de nt arziere; pentru aceast a estimare se utilizeaz a e log4 F . Tabelul 1.15, e relat ia N
1 =N F N + 3. Se estimeaz a nt arzierea minim a, D pi , folosind pentru nt arzierea datorit a capacit a tilor interne parazite datele din Tabelul 1.14. Procedura se

142

1.6. REJECT IA ZGOMOTELOR

opre ste aici dac a se urm are ste doar compararea nt arzierilor diferitelor structuri. Pentru o proiectare se parcurg si punctele urm atoare. 4. Se adaug a sau se elimin a niveluri p an a c and num arul de niveluri N atinge . valoarea N
1 = F N 5. Se calculeaz a efortul suportat pe ecare nivel: f .

6. Se dimensioneaz a tranzistoarele din ecare etaj, succesiv, pornind de la ultimul CO p nivel folosind relat ia Cin = gi /f an a la primul nivel; valoarea calculat a Cin a unui etaj i devine capacitatea de ie sire a etajului i 1 (eventual modicat a prin efortul de ramnicat ie); indicele etajului n traseu cre ste ncep and cu etajul de intrare nspre etajul de ie sire. Tabelul 1.17 Relat iile utilizate de metoda efortului logic Denumire Expresia pe nivel Efortul logic g (Tabelul 1.13) CO Efortul electric h= C in Efortul de ramnicat ie Efortul f = gh f DF = Int arzierea de efort Num arul de niveluri 1 Int arzierea parazitic a p (Tabelul 1.14) Int arzierea total a d=f +p Expresia pe traseu G = gi COtraseu H = Cin traseu B = bi F = GBH = fi 1 fi minimizat c and f = F N N (Tabelul 1.15) P = pi D = DF + P

Metoda efortului logic poate indica rapid proiectantului care dintre structurile analizate trebuie a aleas a si pentru cea aleas a se poate obt ine o proiectare aproape optim a, iar apoi aceast a structur a poate apoi mbun at a tit a prin simulare cu un program de simulare. De asemenea, aceast a metod a introduce not iuni cantitative foarte necesare n cooperarea si comunicarea celor care proiecteaz a circuite rapide CMOS.

1.6

REJECT IA ZGOMOTELOR

Prin semnal de zgomot se nt elege orice semnal electric nedorit care apare n sistem. Zgomotul este tolerat n sistem at at timp c at suprapus peste semnalul logic nu se ajunge la o amplitudine de semnal care s a duc a la o funct ionare incorect a a sistemului. In sistemele digitale, spre deosebire de cele analogice, zgomotul nu se cumuleaz a c and se trece de la un nivel logic (poart a) la urm atorul nivel logic; aceast a ,, eliminare a zgomotului se datoreaz a funct ion arii procustiene a port ilor logice, adic a o poart a dac a este comandat a n limita valorilor de intrare permise va genera la ie sire numai semnale n limita valorilor garantate. O prim a cale prin care port ile pot tolera zgomotul, p an a la o anumit a valoare, se obt ine, intrinsec, prin xarea de valori garantate si de valori permise. Amplitudinea

CAPITOLUL 1. PORT I LOGICE

143

semnalului de zgomot tolerat de c atre o poart a logic a se poate exprima prin parameterii: marginea de zgomot n curent continuu n starea high, M H , si n starea low, ML , relat ia 1.18; imunitatea la perturbat ii IP + , IP , relat ia 1.19-a si factorul de imunitate la perturbat ii F IP + si F IP , relat ia 1.19-b. Pentru tehnologia TTL valorile tipice pentru tensiunile de ie sire garantate si cele de intrare permise sunt: VOHmin = 2, 4V , VOLmax = 0, 4V si VIHmin = 2V , VILmax = 0, 8V deci rezult a: MH = 2, 4V 2V = 0, 4V, ML = 0, 8V 0, 4V = 0, 4V. De fapt, zgomotul tolerat de poart a are valori mai mari dec at marginile calculate, de 0, 4V , deoarece valorile tipice de ie sire sunt V OH = 3, 4V , VOL = 0, 25V . Consider and tensiunea de prag de comutare a port ii VT = 1, 7V rezult a IP = 3, 4V 1, 7V = 1, 7V, IP + = 1, 7V 0, 25V = 1, 45V si pentru V = 5V se pot calcula factorii de imunitate la zgomot F IP [%] = 1, 7 5 100 = 34%, F IP + [%] = 1, 45 5 100 = 29%

deci, circuitul este mai bine protejat la zgomot n starea H dec at n starea L. Tehnologia CMOS, c and comand a tot port i CMOS, are urm atoarele valori tipice: VOHmin = VDD 0, 1V , VOLmax = VSS + 0, 1V si VIHmin = 70% din VDD , VILmax = 30% din VDD iar pentru VDD = 5V si VT = 2, 5V rezult 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%

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

144
vO V OH

1.6. REJECT IA 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), variat ia tensiunii de intrare (cadranul IV) si variat ia corespunz atoare a tensiunii de ie sire (cadranul III); b) simbolul de reprezentare a unui buer neinversor cu trigger Schmitt. tensiunea de intrare (eventual cu semnal de zgomot suprapus) va nc a interpretat a ca 0 logic peste VIL p an a c and se ajunge la valoarea Vp+ . Intervalele tensiunilor de intrare n 1 si 0 logic se suprapun pe intervalul de histerezis . Marginile statice de zgomot pentru o poart a cu trigger Schmitt se calculeaz a cu relat iile: M H = VOHmin Vp , ML = Vp+ VOLmax , care, evident, sunt mai mari dec at la o poart a obi snuit a. Port ile trigger Schmitt sunt recomandate n aplicat iile, pentru care imunitatea la zgomot este o cerint a principal a, cum ar receptoarele de magistral a sau pentru recept ia unor semnale lent variabile (cazul semnalelor de intrare n sisteme, semnale ,, obt inute de la diverse traductoare care trebuie formate ). In Figura 1.69-a n cadranul IV este reprezentat a variat ia n timp a unui semnal oarecare v I = f (t) aplicat la intrarea unui buer neinversor trigger Schmitt iar n cadranul III este desenat a variat ia corespunz atoare a tensiunii la ie sirea din buer; pragurile de basculare ind am s a desenat i forma de variat ie a tensiunii de ie sire v O = f (t), si Vp+ . (Suger Vp obt inut a pentru aceea si tensiune de intrare, dar c and buerul nu este un circuit trigger Schmitt si apoi s a comparat i, tensiunea obt inut a cu forma de variat ie a tensiunii de ie sire deja desenat a n cadranul III). Semnalele de zgomot nu trebuie considerate numai ca surse potent iale de producere a unor funct ion ari eronate ci si ca posibile cauze de distrugere zic a a port ilor, mai ales c and aceste semnale vin din exterior si sunt aplicate pe intr ari. Supratensiunile aplicate pe terminalele de intrare pot duce la str apungerea unor jonct iuni sau, pentru CMOS, la str apungerea stratului de oxid de sub poart a, ori la aparit ia efec-

CAPITOLUL 1. PORT I 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 protect ie la un terminal de intrare; b) structur a de circuit pentru utilizarea unui pad at at pentru semnale de ie sire c at si semnale de intrare. ,, tului de z avor are (latch-up ). Aceste supratensiuni pot apare la intr arile port ilor datorit a: reexiilor pe liniile neadaptate, tensiunilor induse, alimentarea sistemului cu mai multe niveluri de tensiune, desc arc arilor electrostatice. Cea mai simpl a, si uzual a, cale de a proteja o poart a pe terminalele de intrare sau pe pad-uri (la sistemele integrate) const a n conectarea unor diode de desc arcare nspre cele dou a bare de alimentare: VSS (mas a), VDD /VCC . Pentru port ile TTL diodele D4 si D5 pe intr ari, Figura 1.22-c, limiteaz a supratensiunile negative la valoarea de 0, 7V (tensiunea de conduct ie a diodei) sub potent ialul masei. Pentru terminalele de intrare n tehnologia CMOS este utilizat a pentru protect ie structura de circuit din Figura 1.70-a care pentru tensiuni de intrare peste V DD sau sub VSS , prin diodele D1, D2, produce o limitare n interiorul intervalului 0, 7V < v I < VDD + 0, 7V . La aceast a structur a de protect ie prin C se consider a orice capacitate existent a pe intrare, iar rezistent a R se realizeaz a prin difuzie sau, mai indicat, din polisiliciu; evident, constanta de timp RC care apare pe intrare poate introduce o limitare a vitezei pentru circuitele de vitez a ridicat a. Distrugerea unei port i CMOS prin desc arcare electrostatic a poate apare nu numai n condit ii de utilizare a port ii ci si n situat ia de manipulare/transport. O persoan a merg and pe un covor, n condit iile de 80% umiditate relativ a, se ncarc a electrostatic care, apoi, prin atingerea intr arii unei port i logice poate genera o tensiune de ordinul sutelor de volt i aplicat a pe stratul de oxid de sub poart a (tensiunea de str apungere a stratului de oxid este ntre 40 100V ). De exemplu, pentru o astfel de atingere, cu urm atoarele valori C = 0, 3pF , I = 100A, t = 1s, se genereaz a

146

1.6. REJECT IA ZGOMOTELOR

pe stratul de oxid o tensiune egal a cu V = I t/C 330V ; evident, poarta ar distrus a f ar a circuitul de protect ie cu diode de desc arcare pe intrare. Ca m asuri de precaut ie la port ile CMOS se recomand a: 1. manipularea/transportul se face numai n pungi, tuburi sau spum a care sunt conductivi; 2. n timpul asambl arii sau depan arii sistemelor, persoana executant a s a e conectat a cu un r spre p am ant. Efectul de z avor are se manifest a prin aparit ia n interiorul plachetei de siliciu a unui traseu de scurtcircuitare ntre VDD si mas a care, dac a nu este eliminat, poate duce la distrugerea cipului; acest efect este cel mai negativ efect al tehnologiei CMOS. Efectul de z avor are are ca explicat ie formarea unei structuri (parazite) de tiristor. Intre zonele difuzate (surs a, dren, contacte metalice) si substrat se formeaz a structuri care, atunci c and sunt polarizate corespunz ator, au funct ionare de tranzistor npn sau pnp. Structurile de tranzistoare complementare parazite npn si pnp mpreun a pot determina o funct ionare de tiristor care, n anumite condit ii de funct ionare anormal a ale port ii, poate intra n conduct ie deci are loc scurtcircuitarea barei V DD spre mas a. Tiristorul parazit odat a amorsat nu mai poate comandat spre blocare de unde si denumirea de z avor are pentru acest efect; eliminarea unei astfel de c ai de scurtcircuit, prin blocarea tiristorului, se poate face doar prin deconectarea tensiunii de alimentare. Circuitele logice CMOS sunt fabricate n structuri care previn efectul de z avor are [Weste 00],[Kang 97]. Intrarea n z avor are poate determinat a de: aplicarea, la pornire, a tensiunii de alimentare V DD cu un front de cre stere cu pant a foarte mic a (lent variabil a); variat ii mari ale semnalului de intrare peste V DD sau VSS ; intr arile unui sistem/subsistem sunt comandate de ie sirile unui alt sistem/subsistem iar cele dou a sisteme au surse de alimentare diferite (semnalele de intrare la sistemul comandat ar putea aplicate nainte ca sistemul comandat s a e alimentat la VDD ); curent i de scurgere prin jonct iunile insulei de izolare, particule , radiat ii X sau cosmice. Padurile circuitelor integrate sunt mari consumatoare de suprafat a de siliciu apoi conexiunile de la paduri la pinii (terminalele) circuitului integrat ocup a spat iu relativ mare; n plus comanda unui pad necesit a un superbuer, vezi Exemplul 1.28. Cu cre sterea complexit a tii circuitelor cre ste si num arul de pini (de ordinul sutelor) la circuitele integrate de si exist a permanenta tendint a de a tine acest num ar c at se poate mic. O variant a practic a, n acest sens, este cea prin care un terminal este dedicat (multiplexat) at at pentru semnalele de intrare c at si pentru semnale de ie sire, Figura 1.70-b. Din tabelul de adev ar ata sat acestei guri rezult a c a atunci c and semnalul de validare ie sire OE (Output Enable) este activ data interioar a D este transmis a la pad, deci padul constituie un terminal de ie sire. Pentru OE = 0, ambele tranzistoare T1 si T2 sunt blocate, ie sirea nspre pad, din interiorul circuitului, este n starea de

CAPITOLUL 1. PORT I LOGICE

147

nalt a impedant a HZ , pe pad se poate aplica un semnal din exterior, deci este un terminal de intrare. Evident, aplicarea semnalului din exterior si aplicarea semnalului din interior trebuie s a e operat ii disjuncte. Terminalele circuitelor integrate neutilizate n sistemul respectiv nu trebuie l asate otante pentru c a pot s a capteze zgomote, mai ales la CMOS unde impedant ele de intrare sunt mai mari, iar circuitul poate manifesta o funct ionare hazardat a. Problema terminalelor de intrare neutilizate poate solut ionat a n trei modalit a ti: 1. Se leag a mpreun a cu un alt terminal de intrare conectat la ie sirea unei port i logice (evident c a poarta respectiv a este nc arcat a suplimentar pe ie sire); 2. Se leag a la tensiunea de alimentare VDD /VCC (1 logic) printr-o rezistent a pentru port ile AND sau NAND; 3. Se leag a la potent ialul masei (0 logic) printr-o rezistent a pentru poart ile OR, NOR. Valoarea rezistent ei, de conectare, la mas a sau la alimentare a intr arilor neutilizate, poate n intervalul 1 10K pentru port ile CMOS, dar trebuie calculat a exact pentru port ile TTL. La port ile TTL, care au curent ii de intrare mult mai mari dec at la CMOS, este necesar ca valoarea c aderilor de tensiune pe rezistent a conectat a la mas a sau VCC s a situeze nivelul de tensiune produs pe intrare n plaja tensiunilor garantate VOLmax , VOHmin . De exemplu, pentru port ile LS-TTL care pe intrare n starea L au un curent de 0, 4mA rezistet a de conectare la mas a R cm a n intr ari neutilizate se calculeaz a cu relat ia n 0, 4mA R cm VOLmax ; respectiv rezistent a de conectare la VCC , Rca , c and pe intrare n starea H se absoarbe un curent de 20A se calculeaz a cu relat ia n 0, 02mA Rca < VCC VOHmin . Majoritatea sistemelor integrate sunt realizate n tehnologia CMOS, dar n exterior unde, uneori, curent ii necesari au valori ridicate se utilizeaz a si circuite n tehnologie TTL, deci adesea apare o comand a de tip TTL pe o intrare a unui circuit CMOS. Valorile garantate pe ie sirile TTL sunt VOLmax = 0, 4V , VOHmin = 2V , iar pentru CMOS valorile permise pe intrare sunt VILmax = 0, 8V , VIHmin = 3, 5V ; se observ a c a nu exist a compatibilitate pentru nivelul H , tensiunea generat a de TTL ar trebui s a e ridicat a cu cel put in 1, 5V . Solut ia pentru compatibilizare const a n realizarea inversorului CMOS de pe intrare, dup a circuitele de protect ie, Figura 1.70-a, cu o tensiune de prag VT situat a la mijlocul intervalului ntre 0, 8V si 2V adic a V T = 1, 4V . Cunosc and valoarea lui VT se pot calcula dimensiunile port ilor Wp si Wn astfel nc at deplasarea de nivel de tensiune, de la 3, 5V la 2V , s a se realizeze n jos, c atre 2V de c atre inversorul de intrare CMOS. Se poate deni si o m arime margine dinamic a de zgomot, aceasta ind amplitudinea zgomotului mai mare dec at MH , ML , cu o durat a mai mic a dec at timpul de propagare minim prin poart a, dar care nu provoac a comutarea ie sirii port ii. Implusurile de amplitudine mare, dar de durat a mai mic a dec at timpul de propagare, ,, nu sunt simt ite la ie sire. Marginea dinamic a de zgomot nu este garantat a pentru o poart a de c atre fabricant. Este foarte greu s a se garanteze valoarea minim a a timpului de propagare, pmin , n catalog pentru o poart a este dat a doar valoarea maxim a a timpului de propagare, pmax . Pentru eliminarea sau atenuarea zgomotului ntr-un circuit este necesar a se cunoa ste natura si locul sursei de zgomot. Primul pas necesar spre aceast a cunoa stere

148

1.6. REJECT IA ZGOMOTELOR

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

1.6.1

Reject ia zgomotelor externe

Zgomotul extern are ca surs a: instalat iile de electronic a de putere, motoarele electrice, motoarele termice, comutat iile n cablurile electrice de fort a , supratensiunile pe linia electric a, instalat iile de nalt a frecvent a de putere , transmisiunile emit a toarelor RTV si alte surse de radiat ii electromagnetice si este introdus n sistem prin induct ie electromagnetic a sau prin conduct ie pe rele de alimentare de la ret ea. Zgomotul de conduct ie. Acest zgomot poate intra n sistem prin rele de alimentare de la ret ea, se poate elimina sau atenua prin: separare galvanic a si/sau ltrare (folosite, n general, mpreun a). Separarea galvanic a a sistemului de ret eaua de alimentare se face prin transformatorul redresorului de alimentare. Chiar dac a adaptarea nivelurilor de tensiune ntre ret eaua electric a si sursa de alimentare (redresor stabilizat) nu necesit a un transformator, totu si se recomand a introducerea separ arii printr-un transformator cu raportul de transformare 1 : 1. Prin ltrare se pot elimina at at frecvent ele joase c at si cele ridicate generate de c atre sursa de alimentare. In acest sens se recomand a conectarea la intrarea pe placa de circuit imprimat, ntre barele de alimentare V CC /VDD si mas a, a unui ltru capacitiv. Cu c at capacitatea conectat a pe intrare are valoare mai mare cu at at este mai bine dar, evident, o valoare mare a capacit a tii poate limitat a de pret si volumul ocupat. Practic, aceast a capacitate conectat a la intrarea pe placa de circuit imprimat a sistemului se realizeaz a cu dou a condensatoare: unul electrolitic, de valori uzuale n gama 50 100F , pentru ltrarea frecvent elor joase si medii si unul ceramic, de capacitate n gama zecimi de F , pentru ltrarea frecvent elor nalte. De asemenea, pentru placa de circuit imprimat a sistemului o leg atur a bun a la p am ant, care s a aib a o rezistent a c at mai mic a chiar si pentru domeniul frecvent elor radio, dar separat a de mp am antarea la ret ea, este foarte recomandat a. Zgomotul electromagnetic. Acest tip de zgomot p atrunde n sistem prin induct ie electromagnetic a deci poate anulat sau atenuat prin ecranarea sistemului supus induct iei cu ajutorul unui ecran din materiale feroase cu sc a Faraday si legarea acestui ecran la priza de mp am antare si printr-un ltru capacitiv si la sursa de alimentare. P atrunderi de c amp ce pot ap area n sistem prin zonele de ntrerupere ale ecranului, fante pentru acces, oricii pentru cablurile cu exteriorul si aceste p atrunderi pot duce n interior la o induct ie n sistem. Dar cel mai pregnant efect al induct iei electromagnetice const a n tensiuni de zgomot induse n conexiunile exterioare ecran arii care leag a diferite p art i ale sistemului cu exteriorul. La transmisia unui semnal pe un singur r si re ntoarcerea prin traseul de mas a, tensiunea obt inut a la receptor se compune din tensiunea de la emit a tor plus oricare semnal de zgomot indus pe linia de leg atur a v zl sau pe linia de mas a vzm , Figura 1.71-a. Evident c a, pentru o funct ionare corect a, marginea de zgomot a receptorului trebuie s a e mai mare dec at amplitudinea maxim a a zgomotului indus pe linie. Ideal, se recomand a ca leg aturile exterioare s a se fac a prin cablu coaxial iar mbr ac amintea (ecranarea) acestuia, la ambele capete, s a e legat a la p am ant si s a

CAPITOLUL 1. PORT I 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 posibilit a tii de inducere a zgomotului de induct ie prin utilizarea de cablu ecranat; c) eliminarea zgomotului suprapus peste semnal prin utilizarea modului de transmisie diferent ial a.

se decupleze la surs a, Figura 1.71-b. Iar c and leg aturile exterioare sunt realizate prin cablu plat se recomand a ca ntre dou a re, de transmisie pentru semnal, s a e utilizat un r ca mas a si aceste re de mas a s a e legate la carcas a/ecran. O solut ie foarte ecient a n eliminarea zgomotului indus const a n transmisia diferent ial a a semnalului. Semnalul digital x ce trebuie transmis este convertit la emit a tor si n complementul s au, x, iar aceste dou a semnale complementare, x si x, sunt transmise pe dou a linii torsodate, Figura 1.71-c. Orice zgomot v zl indus pe cele dou a linii sau pe traseul de mas a este un semnal de mod comun, deci semnalele la receptor ial va realiza la ie sire un semnal proport ional sunt: x+vzl si x+vzl . Receptorul diferent cu diferent a celor dou a semnale aplicate la intrare, adic a elimin a semnalul de mod ,, comun. Prin transmisia diferent ial a se poate obt ine la receptor un semnal curat chiar cu circuite care nu posed a imunitate ridicat a la zgomot; at at emit atorul c at si receptorul sunt alimentate la tensiunea standard de +5V .

150

1.6. REJECT IA ZGOMOTELOR

1.6.2

Reject ia zgomotelor interne

Zgomotul intern, dup a cum si denumirea spune, este produs chiar de nsu si sistemul respectiv, iar n funct ie de natura fenomenului care l genereaz a pot identicate urm atoarele tipuri: zgomotul de mas a, zgomotul datorit a neadapt arii liniilor, zgomotul indus prin cuplaj electromagnetic si zgomotul datorit a curent ilor de alimentare. In general, zgomotul intern poate cauza mai multe probleme dec at cel ex,, tern (r aul este n noi! ). Este bine demonstrat c a o proiectare si o execut ie corect a si ngrijit a a sistemului sunt premise sigure pentru evitarea aparit iei zgomotului intern. 1.6.2.1 Zgomotul de mas a.

Prin mas a electronic a ntr-un circuit se nt elege potent ialul de referint a pentru toate tensiunile din circuit, zic masa electronic a este materializat a printr-un conductor/traseu la care se conecteaz a toate componentele circuitului; evident acest traseu trebuie s a e echipotent ial pentru toate componentele. Aplicarea unui semnal sau culegerea unui semnal de prelucrat se face pe un traseu compus din conductorul de semnal (rul cald) cu ntoarcere prin conductorul de mas a. Conductorul de mas a ind comun pentru toate circuitele de aplicare sau de culegere a semnalelor rezult a c a acest conductor este parcurs de tot i curent ii de ntoarcere ai semnalelor. Dac a rezistent a conductorului de mas a nu este nul a curent ii de ntoarcere produc c aderi de tensiune, iar diferitele puncte ale traseului de mas a nu mai sunt echipotent iale, deci componentele circuitului au potent iale de mas a diferite. Consider and punctul unde se conecteaz a masa sursei de alimentare la masa circuitului/sistemului alimentat ca punct init ial de mas a, n cazul n care traseele de mas a pornind din punctul init ial nu au rezistent a zero, potent ialul de mas a al ec arei componente va diferit fat a de potent ialul punctului init ial de mas a n funct ie de valorile curent ilor de 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: a) exemplicare pentru o posibil a aparit ie a semnalului de zgomot de mas a datorit a unei impedant e, Z , pe traseul de mas a; b) solut ie de eliminare a zgomotului de mas a prin utilizarea unui plan separat de mas a si altul separat de alimentare (pe o plac a multistrat). De exemplu, pentru circuitul din Figura 1.72-a c and ie sirea port ii1 (TTL) comut a din 1 n 0 curentul de la surs a spre mas a cre ste cu valoarea I . Deoarece, ntre punctul init ial de mas a si punctul de conectare la mas a al port ii 1, traseul de mas a prezint a o impedant a Z , se va produce un salt al c aderii de tensiune V pe aceast a

CAPITOLUL 1. PORT I LOGICE

151

impedant a egal cu V = I Z . Punctul de mas a al port ii 3 ind foarte aproape de cel al port ii 1, saltul de tensiune produs V poate comanda poarta 3 s a genereze la ie sire un impuls fals care, apoi, este format (adus la nivelul 0) de c atre poarta 4, deci o funct ionare eronat a a circuitului. Remediu pentru zgomotul de mas a apare prin realizarea unui traseu de mas a echipotent ial pentru toate componentele circuitului ceea ce practic const a n: 1. Realizarea unui plan de mas a n cazul utiliz arii unei pl aci multistrat, Figura 1.72-b. La o plac a multistrat poate utilizat n totalitate un strat numai pentru masa sistemului implementat, la fel, un alt strat numai pentru tensiunea de alimentare iar restul straturilor pentru conexiunile necesare (actual, exist a pl aci cu p an a la 12 straturi metalizate); 2. La folosirea unui suport unistrat s a se aloce traseului de mas a o suprafat a conductiv a c at mai mare. Se recomand a ca traseul de mas a, cu o l a time c at mai mare, n funct ie de suprafat a disponibil a pe plac a, s a nconjoare toate traseele de conexiuni, si acest traseu (/suprafat a ) de mas a s a e la ambele capete legat de masa sursei de alimentare. 1.6.2.2 Zgomotul datorit a neadapt arii liniilor.

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

unde 0 si 0 sunt respectiv permitivitatea electric a si permeabilitatea magnetic aa vidului iar r este permitivitatea electric a relativ a (pentru pl acile de sticlotextolit este n jur de r = 4, 5). Rezult a viteza de propagare vp pentru circuitele imprimate n domeniul 15cm/ns 25cm/ns respectiv timpi de propagare pe metru n domeniul 7ns/m 4ns/m. Pentru ca semnalul s a parcurg a traseul de lungime l ntre dou a port i de dou a ori, de la ie sirea port ii de comand a la intrarea port ii comandate si reectat napoi la ie sirea port ii de comand a, este necesar timpul 2T = 2l/v p . Pentru cazurile c and, Figura 1.15, fronturile de tranzit ie ale semnalelor logice, HL , LH , sau timpii de propagare p prin port i, relat ia 1.20, sunt de acela si ordin sau mai mici dec at 2T nu se mai poate utiliza analiza n curent continuu pentru procesul de tranzit ie al semnalului. Se poate utiliza si analiza n curent continuu dar numai c and procesul

152

1.6. REJECT IA ZGOMOTELOR

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

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

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

CAPITOLUL 1. PORT I 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 port i(a): b) reexia pentru cazul c and Zr > Z0 ; c) pentru cazul c and Zr < Z0 ; d) exemplu de forme de semnale la transferul dintre dou a port i. continuare devine zero tensiunea pe linie pe m asur a ce tensiunea reectat a vr ,, se propag a napoi pe linie (semnalul se stinge ). Linia de transmisie terminat a pe impedant a caracteristic a , Z r = Z0 (linie adaptat a). Rezult a kr = 0, vr = 0 V = 0 iar vt = V +0. Pentru o linie adaptat a nu exist a component a reectat a, dup a timpul T de propagare a semnalului pe linie p an a la punctul de impedant a Zr , procesul devine stat ionar, iar tensiunile se pot calcula dup a legea lui Ohm. Linie de transmisie terminat a n gol, Zr = . Rezult a kr = +1, vr = kr V = V , vt = V + vr = 2V . Deoarece semnalul reectat are amplitudinea egal a cu V tensiunea pe linie devine egal a cu 2V , pe m asur a ce tensiunea reectat a se propag a napoi, ncep and cu punctul de reexie (liniile care se termin a pe intr arile port ilor CMOS, care au impedant a de intrare foarte mare R > 10 12 ,

154 pot considerate ca linii n gol).

1.6. REJECT IA ZGOMOTELOR

Pentru dou a cazuri Zr > Z0 si Zr < Z0 , n Figura 1.73-b si c se reprezint a simplicat modul cum se obt ine tensiunea total a pe linie, v t , prin sumarea tensiunii incidente, V (spre poarta receptoare) cu tensiunea reectat a, v r , de c atre impedant a de intrare, Zr , n poarta receptoare.
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 Variat ia tensiunii pe o linie de transmisie cu puncte de reexie la ambele capete. In Figura 1.74 este reprezentat a schema echivalent a a unei port i a c arei ie sire, prin intermediul unei linii de transmisie de impedant a Z0 si lungime l, comand a n punctul terminus intrarea unei alte port i. Poarta de comand a este echivalat a cu un generator de tensiune V si o rezistent a de ie sire RO = Z0 /3, iar intrarea port ii comandate din punctul terminus este echivalat a numai prin rezistent a de intrare R in2 = 3Z0 . La mijlocul liniei de transmisiune, l/2, mai este conectat a o poart a care are rezistent a ia tensiunii vO la ie sirea port ii de comand a de intrare Rin1 = Z0 . Se va analiza variat si a tensiunilor v1 si v2 la intr arile port ilor comandate, c and tensiunea generatorului are un salt de la zero la valoarea V . La momentul t = 0 tensiunea generatorului se aplic a pe divizorul rezistiv format din R0 si Z0 (semnalul nu a nceput s a se propage pe linie) deci la ie sirea port ii de V comand a rezult a tensiunea egal a cu vO = Z0 +Z0 /3 Z0 = 3/4V = 0, 75V . Dup a timpul (l/2)/vp = T /2 semnalul cu amplitudinea 3/4V ajunge la Poarta1 la a c arei intrare se va aplica tensiunea v1 (T /2) = 3/4V deoarece nu exist a reexie, intrarea ind adaptat a, kr = 0. Dup a nc a un interval T /2 semnalul ajunge la intrarea Port ii2 de la cap atul terminus unde sufer a o reexie cu un coecient de reexie k r2 = (3Z0 Z0 )/(3Z0 + Z0 ) = 1/2. Tensiunea reectat a este vr = 1/2 3/4V = 3/8V , iar tensiunea total a aplicat a port ii rezult a v 2 (T ) = 3/4V + 3/8V = 9/8V = 1, 125V . Unda de tensiune reectat a dup a intervalul de timp T /2 ajunge la Poarta1 la a c arei intrare se aplic a tensiunea v1 (3T /2) = 3/4V + 3/8V = 9/8V = 1, 125V , iar dup a nc a un interval de T /2 atinge punctul de reexie de la ie sirea port ii de comand a unde coecientul de reexie este kr = (Z0 /3 Z0 )/(Z0 /3 + Z0 ) = 1/2. Tensiunea reectat a n acel punct este vr = (1/2) 3/8V = 3/16V ; tensiunea rezultat a

CAPITOLUL 1. PORT I LOGICE

155

v0 (2T ) se compune din tensiunea existent a 3/4V , din tensiunea incident a 3/8V si din tensiunea reectat a, deci v0 (2T ) = (3/4 + 3/8 3/16)V = 15/16V = 0, 93V . Urmeaz a a doua parcurgere spre cap atul terminus al traseului de c atre semnalul reectat vr = 3/16V c and se obt in la Poarta1: v1 (5T /2) = (9/8 3/16)V = 15/16V = 0, 93V si la Poarta2: v2 (3T ) = (9/8 3/16 3/32)V = 27/32V = 0, 84V ; n punctul terminus 9/8V este tensiunea existent a, 3/16V este tensiunea incident a iar 1/2(3/16)V = 3/32V este tensiunea reectat a. Se ncepe a doua parcurgere napoi nspre nceputul traseului de c atre semnalul reectat v r = 3/32V ; se obt in 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 . In punctul de nceput, de la poarta generatoare, se produce acum un semnal reectat egal cu v r = (1/2) (3/32)V = +3/64V . La urm atoarea parcurgere nspre cap atul terminus se obt in la Poarta1: v1 (9T /2) = (27/32 + 3/64)V = 57/64V = 0, 89V si la Poarta2: v 2 (5T ) = (27/32 + 3/64 + 3/128)V = 117/128V = 0, 91V si un semnal reectat v r = 3/128V . In nal, se ajunge n regimul stat ionar c and tensiunea aplicat a la cap atul linei de transmisiuni v2 () = (V /(Z0 /3 + Z0 + 3Z0 )) (Z0 + 3Z0 ) = 0, 92V . Se observ a din diagramele din Figura 1.74 c a tensiunile v 1 , v2 , intr arile port ilor comandate, pot avea valori mai mari dec at V . C and la intrarea liniei de transmisiune se aplic a un salt de la 1 logic la 0 logic pot ap area la intrarea port ilor comandate tensiuni (negative) sub nivelul masei. Protect ia mpotriva acestor supratensiuni la intrarea port ilor se face prin diode de desc arcare ca n Figura 1.22-c si Figura 1.70-a. In plus, n intervalele scurte c and diodele de pe intrare conduc realizeaz a o impedant a de intrare la mas a de valoare foarte mic a, deci un coecient de reexie care tinde spre 1, ceea ce duce la atenuarea regimului tranzistoriu. Eliminarea reexiilor pe liniile de transmisie se poate realiza n dou a modalit a ti. Prima modalitate const a n conectarea la cap atul terminus a unui circuit terminator (Th evenin) format din rezistent ele R1 si R2 ca n Figura 1.75-a. (Teorema Th evenin: O ret ea liniar a si activ a, cu dou a borne de ie sire A si B si f ar a cuplaje inductive cu exteriorul poate substituit a cu un generator ideal de tensiune V T hev nseriat cu o rezistent a RT hev : VT hev este egal a cu valoarea tensiunii la bornele ret elei la mers n gol VT hev = VAB0 , iar RT hev = VT hev /IABsc . IABsc este curentul generat de ret ea c and bornele A si B sunt scurtcircuitate.) Schema echivalent a Thevenin este deCC senat a n Figura 1.75-b. Rezult a pentru tensiunea echivalent a V T hev = RV R2 , 1 +R2 iar Isc = VCC /R1 deci RT hev = VT hev /Isc = (R1 R2 )/(R1 + R2 ) adic a cele dou a ramuri n paralel. In alegerea valorilor de rezistent a ale terminatorului se tine seama de urm atoarele [Wakerly 00]: - Valoarea rezistet ei RT hev trebuie s a e c at mai aproape de Z0 ; - Valoarea tensiunii VT hev trebuie aleas a nc at s a optimizeze curentul absorbit si generat de poarta care comand a linia de transmisie. Pentru port ile simetrice pe ie sire, care au valori egale pentru curentul absorbit si generat (cazul port ilor CMOS dar nu si cele CMOS compatibile TTL), se recomand a V T hev = (VOL + VOH )/2. Pentru port ile asimetrice pe ie sire la care I OL > IOH (port ile TTL si CMOS compatibile TTL), se recomand a VT hev > (VOL + VOH )/2, prin aceasta se ajut a poarta (c and ie sirea sa este n H) printr-o generare suplimentar a de curent de c atre terminator pe linia comandat a de poart a, dar cu costul cre sterii curentului pe care trebuie s a-l absoarb a poarta de pe linie n starea L;

156

1.6. REJECT IA 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 Modalit a ti de adaptare a liniilor: a) adaptarea unei linii de magistral a prin conectarea la cap at a unui terminator Thevenin; b) schema echivalent aa terminatorului; c) adaptarea ie sirii unei port i (la linia de magistral a) prin nserierea unei rezistent e de valoare Z0 Ri ; d,e) variante de adaptare a conexiunilor dintre dou a port i.

- C and linia de transmisie este o linie de magistral a tip TSL va trebuie ca, atunci c and magistrala nu este coamandat a de c atre nici un emit a tor, tensiunea V T hev a terminatorului s a xeze un potent ial pe linie care s a e n intervalele de tensiuni de ie sire garantate ( si nu n intervalul de tensiuni interzise). Dac a tensiunea xat a pe linia de magistral a este aproape de tensiunea de pragul de comutat ie VT (Denit ia 1.14 ) a port ilor receptoare, atunci pot s a apar a oscilat ii pe linie sau curent ii la intr arile port ilor receptoare s a creasc a cu mult peste valorile normale. (Mai recent, (port ile) buere de magistrale au deja integrat pe ie sire un circuit activ de ment inere bus holder, Figura 1.46-e a nivelului pe linia de magistral a pentru intervalele c and magistrala este n HZ.) Valori uzuale pentru rezistent ele terminatorului sunt cele standard n plaja 150, 220, 270, 330, 390, 470. O pereche, aproape standard, pentru aplicat ii TTL este R1 = 220, R2 = 330 pentru care se obt ine RT hev = 132 si VT hev = 3V , iar poarta care comand a linia trebuie s a absoarb a n starea L un curent egal cu (3V /132) =

CAPITOLUL 1. PORT I LOGICE

157

22, 7mA si nu trebuie s a genereze curent n starea H deoarece tensiunea H este ment inut a de terminator. Dezavantajul principal al terminatoarelor Th evenin este consumul permanent de putere; uneori se utilizeaz a ca terminator un circuit asimetric n care exist a numai R1 iar R2 = . A doua modalitate de eliminare a reexiilor const a n nserierea unei rezistent e, n linia de transmisie imediat n apropierea port ii care comand a linia, de valoare R = Z0 Ri , Figura 1.75-c. Pentru generatorul de tensiune al port ii, n schema echivalent a, apare o nc arcare de 2Z0 (adic a Ri + Z0 Ri + Z0 = 2Z0 ). Aceast a modalitate este ecient a pentru port ile la care Ri rezistent a de ie sire n stare H si rezistent a de ie sire n stare L sunt de valori apropiate (cazul port ilor CMOS), iar port ile comandate sunt toate grupate spre cap atul terminus al liniei de transmisie. Pentru impedant a caracteristic a n intervalul Z0 = 50 150 se recomand a Ri = 15 40. Pentru port ile TTL(LS) rezistent ele de ie sire sunt: n jur de 30 n stare L si n jur de 300 n stare H , iar cele de intrare n jur de 100 pentru V in 1, 5V si 10K pentru Vin > 1, 5V . Circuitele CMOS prezint a o impedant a foarte mare pe intrare care pentru o linie de transmisiuni este echivalent cu o terminare n gol. Din dispersia acestor valori se poate constata c a este foarte greu a se realiza o adaptare pentru toate conexiunile dintre dou a port i. La circuitele actuale (complexe) care funct ioneaz a la frecvent e ridicate (CPLD, FPGA, memorii, microprocesoare, vezi capitolul 4) exist a posibilitatea de a ajusta impedant a de ie sire a unui driver care comand a o linie si la fel impedant a de intrare la un circuit receptor care recept ioneaz a semnalul de la o linie. Aceast a ajustare se face electronic, n funct ie de valoarea impedant ei caracteristice Z 0 , se introduc sau se scot rezistent e xe nc at rezistent a echivalent a rezultat a s a coincid a cu Z 0 . Fizic, introducerea sau scoaterea de rezistent e se realizeaz a prin nserierea cu ecare rezistent a x a a unui tranzistor care se comand a respectiv n conduct ie sau n blocare. Se poate ca si pentru conexiunile dintre port i s a se adopte modalit a tile de adaptare utilizate pentru liniile de magistral a ca n Figura 1.75-d, 1.75-e, dar de cele mai multe ori se fac conexiuni ntre port i f ar a a se face o astfel de adaptare. Pentru astfel de situat ii de neadaptare a conexiunilor dintre port i se recomand a ca pe durata fronturilor de tranzit ie ale semnalelor de comand a s a se asigure ca linia de conexiune, de lungime l, s a e parcurs a de cel put in 5 ori. Se consider a c a dup a cinci parcurgeri (5T ) ,, regimul tranzitoriu se stinge; si n acest fel rezult a crestat variat ia de semnal doar n intervalul tranzitoriu, Figura 1.74, nu si pe durata de regim static. Conform acestei recomand ari, consider and vp = 20cm/ns pentru cinci parcurgeri pe durata frontului de c adere HL (uzual HL < LH ), rezult a lungimea maxim a lmax (vp HL )/5 a conexiunii neadaptate ntre dou a port i, dar pentru care se asigur a o funct ionare corect a. Aplic and aceast a recomandare rezult a urm atoarele valori maxime pentru trasee: ECL, HL 2ns, lmax = 8cm; TTL-S, HL 3 4ns, lmax = 12 16cm; TTL, HL = 5 7ns, lmax = 20 30cm. Se estimeaz a c a n viitor si n interiorul unui sistem digital, similar ca n telecomunicat ii, ntre circuitele integrate chiar si n interiorul circuitelor integrate, interconectarea va realizat a prin trase pentru semnal optic. Avantajul zic al semnalului optic fat a de cel electric este imunitatea la perturbat ii electromagnetice si eliminarea constantelor de timp datorit a nc arc arii capacitive. Estim arile zic c a, fat a de 2002, va curent a comunicat ia optic a ntre cipuri n 5-10 ani, iar cea n interiorul cipului cam n jur de 15 ani.

158 1.6.2.3

1.6. REJECT IA ZGOMOTELOR

Zgomotul datorat cuplajului electromagnetic (diafonia)

Diafonia (cross-talk), adic a induct ia semnalului dintr-un traseu n altul vecin pe durata fronturilor, este o consecint a a cuplajului inductiv si capacitiv dintre trasee. Evident, cu c at frecvent a semnalului printr-un traseu este mai ridicat a cu at at tensiunea indus a n traseele vecine poate de valoare mai mare. Denit ia 1.19 Nivelul de diafonie, D, este raportul dintre tensiunea (parazit a) indus a ntr-un traseu (perturbat) si tensiunea care o genereaz a (perturbatoare). D= Vperturbat a Vperturbatoare

Se consider a, n Figura 1.76, dou a trasee unul compus din Poarta1 ce comand a, pe o linie cu impedant a caracteristic a Z0 , intrarea Port ii2 si al doilea traseu compus din Poarta3 ce comand a Poarta4 pe o linie cu impedant a caracteristic a Z0; ntre cele dou a trasee exist a o impedant a de cuplaj Z c . Cuplajul electromagnetic realizat prin impedant a de cuplaj Zc apare ca o rezultant a a cuplajelor formate prin capacit a tile distribuite Cm si cuplajului prin inductivit a tile distribuite L. Pentru analiza cuplajului electromagnetic al celor dou a trasee se impune ca impedant a de ie sire a port ilor de comand a Zout s a ndeplineasc a condit ia Zout Z0 (poarta este un generator ideal n linia 1-2, ce se de tensiune). Atunci, cu aceast a condit ie, tensiunea indus a VI2 aplic a la Poarta2, de c atre tensiunea din linia 3-4, V O3 , generat a la ie sirea port ii 3 va exprimat a prin relat ia: VI 2 = VO 3 VI 2 1 D= = 1 + Zc /Z0 VO 3 1 + Zc /Z0 (1.111)

Calitativ, relat ia 1.111, sugereaz a ce modalit a ti pot duce la atenuarea diafoniei:

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 a pentru procesul de generare a diafoniei

CAPITOLUL 1. PORT I LOGICE

159

M arirea impedant ei de cuplaj Zc prin ndep artarea traseelor (distant a uzual a ntre traseele de circuit imprimat este de 0, 2 0, 4mm), sau mic sorarea lungimii port iunilor de paralelism ntre trasee sau ambele simultan; Mic sorarea impedant ei caracterisitice Z 0 prin intercalarea unei trase de mas a ntre trasele de circuit cuplate, sau utilizarea unui plan de mas a; Utilizarea unor materiale care prezint a un coecient de permeabilitate magnetic a r care se diminueaz a odat a cu cre sterea frecvent ei semnalului, deci se reduce cuplajul inductiv (polietilene utilizate pentru realizarea cablurilor plate); Mic sorarea spectrului de frecvent a al semnalelor prin reducerea pantei fronturilor de comutat ie. Aceasta se poate obt ine prin conectarea la ie sirea port ilor a unor condensatoare de ordinul zeci sute pF . Modalitatea aceasta este referit a ca reducerea lui di/dt, care intervine n relat ia tensiunii induse V = L di/dt. Cre sterea frecvent ei semnalelor n sistemele digitale (la nivelul anului 2004 s-a ajuns la frecvent a de ceas pentru microprocesoare n jur de 3GHz, perioada ind de 333ps) creaz a dicult a ti n realizarea magistralelor; o magistral a de 64 de bit i are 64 de trasee care merg n paralel pe lungimi destul de mari. Pentru astfel de aplicat ii exist a circuite de comand a (drivere de magistral a) care transmit pe magistral a doar fronturile semnalelor digitale dar cu o pant a di/dt 1; teoretic, un front al unui semnal digital (ideal) este di/dt . Structura de driver de magistral a, din Figura 1.77-a, este de fapt un driver CMOS TSL, Figura 1.46-d, a c arei tensiune de ie sire la linia de magistral a, c and este n stare HZ , este xat a la nivelul median VDD /2 prin divizorul echilibrat format cu valori de impedant a egale cu 2Z0 . Un semnal digital x(t) si semnalul negat dar nt arziat cu 3p , x(t 3p ), obt inut prin nserierea a trei inversoare, aplicate la intrarea unei port i NAND va genera la ie sire un impuls negativ de l a time 3 p , dar numai pe fronturile pozitive ale semnalului x(t). Similar, acelea si semnale aplicate la intrarea unei port i NOR va genera la ie sire un impuls pozitiv de l a time 3 p dar numai pe fronturile negative ale semnalului x(t), Figura 1.77-b. Pe frontul pozitiv al semnalului de intrare x(t) tranzistorul pMOS intr a n conduct ie iar tensiunea de ie sire v O cre ste liniar de la VDD /2 la VDD /2+ V iar c and tranzistorul se blocheaz a scade liniar de la V DD /2+ V la VDD /2. Similar, pe frontul negativ al semnalului x(t) va conduce tranzistorul nMOS iar tensiunea de ie sire va avea variat ia liniar a de la V DD /2 la VDD /2 V , iar la blocarea tranzistorului, de la VDD /2 V la VDD /2. Semnalul vO (t) cu variat ii liniare cu panta n jur de unitate, aplicat pe o linie de magistral a, va induce n liniile vecine tensiuni de valoare mult mai mic a dec at un semnal cu fronturi foarte abrupte. La recept ie un circuit trebuie s a sesizeze sensul frontului semnalului x(t) si s a refac a amplitudinea si durata acestui semnal, adic a o deplasare de la V DD /2 e la VDD e la VSS . Exemplul 1.31 a) Dac a liniile de transmisiune sunt realizate din conductori de cupru cu = 1mm, a sezat i la o distant a mai mic a de 1mm unul fat a de cel alalt si la o distant a mai mare de 20mm fat a de orice conductor de mas a impedant ele vor avea valorile Z0 = 200, Zc = 80 rezult a un nivel de diafonie D1 = 0, 71. Acest raport zgomot semnal este inacceptabil ntruc at nici un circuit standard nu are o margine de zgomot mai mare dec at o treime din valoarea saltului logic de tensiune.

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

1.6. REJECT IA 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 a cu di/dt redus: a) structur a circuit; b) explicativ a prin diagrame de semnal pentru obt inerea pe linia de magistral a a unui semnal numai cu panta egal a cu 1.
b) Dac a n exemplul a) se introduce un plan de mas a la distant a de 1mm de ecare conductor se obt in 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 a de 30 % a marginii de zgomot n curent continuu de la port ile CMOS. c) Dac a at at linia emit a toare c at si cea receptoare se realizeaz a din cablul torsodat impedan- tele au valorile Z0 = 80, Zc = 400 si diafonia este D3 = 0, 16. Acest raport zgomot/semnal este satisf ac ator pentru toate circuitele TTL si TTLS.

1.6.2.4

Zgomotul datorit a curent ilor de alimentare

Curentul absorbit de o poart a de la sursa de alimentare, n timp, nu are o valoare constant a. In oscilograma formei de variat ie a curentului de alimentare apar evident v arfuri cu amplitudinea destul de mare (spikes, glitches) n momentele de comutat ie HL si L H ale port ii, Figura 1.78. Aceste v arfuri de curent din perioadele tranzitorii sunt cauze generatoare de zgomot n dou a modalit a ti: 1- prin induct ie pot produce tensiuni parazite n circuitele vecine; 2- mic soreaz a tensiunea de alimentare a port ii cu valoarea c aderii de tensiune provocat a pe impedant a traseului de alimentare

CAPITOLUL 1. PORT I LOGICE

161

(mai ales pe componenta inductiv a a acestui traseu). La valoarea total a a curentului absorbit de o poart a contribuie trei componente una de regim stat ionar si dou a de regim tranzitoriu. 1. Curent ii absorbit i n regim stat ionar (de curent continuu). Valorile curent ilor printr-o poart a n starea H , ICCH , si n starea L, ICCL , nu sunt egali, deci pe circuitul de alimentare, ntre cele dou a st ari, poarta provoac a variat iile de curent I = ICCL ICCH care prin c aderile de tensiune de pe inductivit a tile parazite L ale traseului si ale pinilor circuitului mic soreaz a tensiunea de alimentare V CC cu valoarea V : I [V ] (1.112) V = L T Remediu pentru aceste variat ii de tensiune este un condensator de desc arcare C d conectat chiar pe terminalele VCC /VDD si mas a ale port ii, condensator care consti,, tuie un rezervor de energie si care va livra pentru poart a necesarul de curent I n momentele c and tensiunea de alimentare scade. Impun and o anumit a c adere de tensiune V , c and este necesar un curent suplimentar I ntr-un interval de timp T , valoarea minim a a condensatorului Cd se determin a cu relat ia:
V OH vO

LH

HL

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

Figura 1.78 V arfurile de curent de alimentare la tranzit iile H L si H L produc variat ii n tensiunea de alimentare I [F ] V /T

Cd =

(1.113)

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

162

1.6. REJECT IA ZGOMOTELOR

2. Curent ii de nc arcare si desc arcare a capacit a tilor n momentele de comuta tie. Ace sti curent i determin a peste 90% din puterea disipat a pe o poart a CMOS, dar sunt destul de redu si pentru tehnologia bipolar a. Curentul de nc arcare a sarcinii, la comutarea L H , si curentul de desc arcare a sarcinii, la comutarea H L sunt egali numai c and Wp = 2Wn ( pentru n = 2p ). De exemplu, pentru circuitul 74HCT00 (patru port i NAND) curentul de nc arcare ILH si curentul de desc arcare IHL al circuitului, c and port ile sunt comandate simultan pentru un salt logic de 3, 6V cu o vitez a de cre stere de 0, 25V /ns si de 0, 4V /ns pentru descre stere, se pot determina (cu o aproximat ie destul de bun a pentru aplicat iile practice) cu relat ia 1.112 ILH = 4 50pF 0, 25 109 V /s = 5mA IHL = 4 50pF 0, 4 109 V /s = 8mA iar timpii de cre stere tLH si descre stere tHL rezult a tLH = 3, 6V /(0, 25V /ns) = 14, 4ns tLH = 3, 6V /(0, 4V /ns) = 9ns 3. Curent ii de scurtcircuit. Ace sti curent i care apar pe traseele dintre VDD /VCC si mas a n momentele de comutat ie, at at n tehnologia CMOS c at si bipolar a, prin durata lor scurt a pot constitui surse de zgomot. Variat iile de curent datorit a regimului tranzitoriu, punctul 2 si 3, pot ajunge la valori mai mari dec at 10mA/ns care pe o inductivite de 0, 1H (valori tipice pentru traseele de circuit imprimat sunt 0, 01 0, 02H/cm), conform relat iei 1.112 vor produce c aderi de tensiune V = 0, 1H 10mA/ns = 1V . Efectul acestor variat ii de curent este acela si ca si cel produs de al variat iilor curentului de alimentare cu deosebirea c a de data aceasta spectrul de frecvent e este mult mai nalt. Atenuarea zgomotelor generate de curent ii de alimentare se poate realiza prin conectarea pe pinii de alimentare al ec arui circuit integrat a unui condensator ceramic de ordinul 10 100nF (pentru reject ia frecvent elor nalte) si a unui condensator de decuplare cu tantal de 0, 33F (pentru frecvent e joase) la c ate un grup de 34 circuite integrate. De fapt, n aceea si manier a, dar de valori mai mari, se face decuplarea circuitului de alimentare la intrarea pe placa de circuit imprimat. Totu si, numai decuplarea de la intrarea pl acii de circuit imprimat nu este sucient a deoarece inductivit a tile parazite ale traseelor, de la intrare p an a la circuit, mpiedic a livrarea rapid a de curent spre circuite si atunci aceast a decuplare local a se repet a si n apropierea circuitului. Exemplul 1.32 S a se calculeze c aderea de tensiune produs a pe o inductivitate L = 2nH (de exemplu inductivitatea rului care conecteaz a zona de pad la pinul circuitului) de c atre curentul de desc arcare al sarcinii capacitive CL = 100pF de la ie sirea unui buer CMOS conectat la pad. Se consider a sarcina nc arcat a la VDD = 5V iar HL = 5ns. Solut ie. In Figura 1.79 este trasat a variat ia real a a curentului de desc arcare cu linie continu a, iar cu linie ntrerupt a se estimeaz a o variat ie liniar a. Pentru acest caz relat ia 1.113 se scrie sub forma td = CL VDD Idmax 2

CAPITOLUL 1. PORT I LOGICE

163
si de asemenea, din estimarea de variat ie liniar a pentru curentul id , se poate scrie relat ia de variat ie a curentului did dtd 2Idmax Idmax = HL /2 HL

id I dmax

max

rezult a relat ia

td = 0

t d = HL / 2

t d = HL

td

did dtd

max

4CL VDD 2 HL

Introduc and valorile numerice se obt ine

Figura 1.79 Explicativ a pentru Exemplul 1.32

did dtd

max

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

4 100 1012 5 (5 109 )2

max

Dac a poarta devine mai rapid a de dou a ori HL = 2, 5ns c aderea de tensiune se m are ste de patru ori 4 160mV = 0, 64V .

PROBLEME
P1.1 Utiliz and axiomele si teoremele algebrei Booleene, s a se demonstreze analitic urm atoarele identit a ti si apoi s a se deduc a tabelul de adev ar al expresiei respective: 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 a se demonstreze urm atoarele identit a ti si apoi s a se deduc a tabelul de adev ar al expresiei respective: a) AB + (A + B )C = AB + (A B )C ; b) A B = B A = A B a XOR); A 0 = A; A A = 1; c) A 1 = A (inversorul comandat realizat cu o poart 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 a dezvolte urm atoarele expresii (utiliz and teoremele lui De Morgan): 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. REJECT IA ZGOMOTELOR

h) (A + B ) (C + D) (E + F ) (G + H ). P1.4 Folosind port ile setului complet XOR, AN D s a se implementeze operatorii: NOT, AND, OR, NAND, NOR, XNOR. Se vor utiliza simbolurile ANSI/IEEE. P1.5 Care port i din Figura urm atoare (a, b, c, d) nu funct ioneaz a corect? Oscilogramele semnalelor de pe intr ari si de pe ie siri sunt prezentate in aceea si gur 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 a se implementeze operatorul sum a modulo doi (XOR) pentru dou a variabile numai cu port i N AN D sau numai cu port i N OR cu dou a intr ari. P1.7 S a se construiasc a tabelele de adev ar si reprezent arile simbolice pentru implementarea operatorului sum a logic a de dou a variabile (OR2) consider and toate variantele de activare ale semnalelor de intrare si de ie sire. P1.8 S a se explice cum se procedeaz a cu intr arile neutilizate ale unei port i logice astfel nc at acestea s a nu duc a la o funct ionare incorect a a port ii. P1.9 Pentru port ile TTL, impedant ele de ie sire sunt n jur de 30 n starea L si n jur de 300 n starea H. Impedant a caracteristic a a traseelor de circuit pe placa de sticlotextolit are valori cuprinse ntre Z 0 = 50 150. In scopul de a se evita reexiile pe liniile de conectare ntre port i,pentru realizarea condit iei Z 0 = Zr (impedant a pe care se realizeaz a reexia), se m are ste articial impedant a de ie sire a port ii care comand a linia prin inserarea, la ie sirea acesteia, a unei rezistent e R. S a se determine valoarea maxima a rezistent ei R. P1.10 S a se comande o diod a electroluminiscent a (LED) cu o poart a 74HC MOS si 74LS TTL. Parametrii de catalog ai acestor port i sunt dat i n tabelul de la P1.12. Punctul de funct ionare al LED-ului n starea de luminiscent a are coordonatele I D = 8mA, UD = 1, 6V . P1.11 S a se calculeze valorile rezistent elor R a si Rb ale circuitului din gura (a) astfel ca, atunci c and ambele comutatoare sunt deschise, pe intr arile A si B s a e ,, ,, asigurate nivelele logice 0 si 1 . Care este puterea disipat a de aceste rezistent e c and comutatoarele sunt deschise si nchise? Valorile de catalog ale parametrilor port ii sunt date n tabelul de la P1.12.

CAPITOLUL 1. PORT I LOGICE

165

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

a)

P1.12 S a se determine dac a o poart a 74HCMOS poate comanda patru port i 74LS TTL si dac a o poart a 74LS TTL poate comanda patru port i 74HC MOS. Valorile tipice de catalog ale parametrilor port ilor logice sunt date n tabelul urm ator:
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 port ile inversor ale circuitului b) (desenat la P1.11) timpii de propagare sunt: LH = 6ns(min)/10ns(max), HL = 4ns(min)/6ns(max), r = f = 1ns. Presupun and valorile minime pentru timpii de propagare,s a se determine timpul total de propagare prin circuit pentru comanda intr arii: 0 1, 1 0. Consider and c a ecare inversor are timpul de propagare situat oriunde ntre valoarea minim a si cea maxim a, s a se schit eze formele de und a n punctele B,C si D c and semnalul pe intrarea A are tranzit iile: 0 1, 1 0. P1.14 Pentru circuitul din gura de mai jos (a) se consider a, pentru toate port ile, PHL = PLH = p . S a se determine expresiile logice pentru variabilele notate n gur a. Discut ie. T in and cont de timpii de propagare, s a se descrie prin forme de und a valorile variabilelor logice pe durata regimurilor tranzitorii. Discut ie.
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 a se determine formele de und a pentru variabila B c and variabila A are o variat ie sub forma de semnal dreptunghiular de perioad a T = 10p cu coecientul de umplere 50%. Se consider a p = PHL = PLH , pentru toate port ile circuitelor. S a se interpreteze formele de und a pentru variabila

166

1.6. REJECT IA ZGOMOTELOR

B, similar cu interpretarea de la problema 1.13. P1.16 Pentru comanda port ii NAND 74HC00 de la ie sirea unei port i NAND cu colectorul n gol, 74LS01, se utilizeaz a interfat area din gura (a) de mai jos. S a se calculeze valoarea rezistent ei de pull-up R p astfel nc at s a se obt in a: a) un consum minim de putere pe Rp ; b) un timp de tranzit ie minim la intrarea port ii CMOS;

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

R1 2K VA

A R2 10K VO

Cp a)

b)

P1.17 S a se determine caracteristica de transfer V 0 = f (V1 ) pentru circuitul din gura b) (de la P1.16) de mai sus realizat cu port i inversoare CMOS, av and: VT = 2, 5V (tensiune de prag de comutat ie), VOHmin = 4, 9V, VOLmax = 0, 1V . S a se deseneze formele de und a la ie sire c and VI are o variat ie triunghiular a cu VImax = 4V . P1.18 logic a: S a se deseneze structura ret elei de port i care realizeaz a urm atoarea funct ie F = (ABC + D)EF + GH (I + J + K ) P1.19 S a se deseneze structura ret elelor care realizeaz a urm atoarele funct ii logice: 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 ret eaua de comutat ie din gur a s a se deduc a funct ia logic a F pe care o realizeaz a.
A B C D I2 G2 G3 G4 G5 G6 G7 F=? I1 G1

CAPITOLUL 1. PORT I LOGICE

167

P1.21 Pentru ret elele de comutat ie din gurile urm atoare s a se deduc a funct iile 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 a realizat cu contacte pentru aprinderea si stingerea unui bec din oricare din cele trei puncte A,B si C este reprezentat a n gura (a)de la P1.23. Implementat i acela si circuit de comand a cu port i logice. P1.23 S a se determine funct ia de comutat ie F pentru structura de ret ea din gura de mai jos (b). S a se simplice expresia funct iei F si s a se realizeze o implementare cu port i logice.
A _ A A _ A B C _ B _ B _ A B _ D D _ B

_ C

a)

b)

P1.24 Circuitului din gura (b) al aturat a i se aplic a semnalele de intrare A,B,C si D av and formele de und a n gura (a). S a se determine formele de und a n punctele x1 , x 2 , x 3 , x 4 si y . Apoi, pentru acest circuit combinat ional s a se deduc a expresia logic a a ie sirii y si, cu ajutorul acesteia, s a se deduc a forma de und a a semnalului y pentru variat ia intr arilor.
A B C D a) C D b) A B x1 x2 x3 y x4

168

1.6. REJECT IA ZGOMOTELOR

P1.25 Pentru circuitul logic combinat ional din gura (b), la aplicarea formelor de und a la intrare, desenate al aturat n gura (a), se obt ine forma de und a y la ie sire. Aceast a ie sire y este incorect a datorit a unei port i defecte din structura circuitului. (O poart a defect a are ie sirea e permanent n starea H e permanent n starea L, indiferent de valoarea logic a a intr arilor). S a se localizeze poarta defect a si s a se determine defectul acesteia (ie sire permanent H sau permanent L).
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 al aturat formele de und a pe intr ari. Sunt accesibile pentru oscilograere numai ie sirea si punctul de test PT. Este corect a forma de und a PT? Dac a nu, care este defectul?
A B C D E F PT a) b) A B C D E F

PT

P1.27 Pentru circuitele din gurile urm atoare a),b) si c) s a se determine expresia logic a realizat a pe ie sirea y . Consider and c a toate buerele open colector pe ie sire au IOLmax = 40mA, VOLmax = 0, 25V , IOHmax = 400A s a se determine valoarea rezistent elor R dac a funct ia y reprezint a o nc arcare de 10 intr ari 74LS00 (vezi tabelul de la P1.12). Se admite pentru VCC = 0, 1VCC iar MH =ML = 0, 4V . P1.28 Folosind datele de catalog, date n tabelul de la problema P1.12, pentru poarta 74HC00 (NAND2) s a se determine dac a poate comanda pe ie sire urm atoarele sarcini rezistive: a) 120 conectat a la VDD ; b) 270 conectat a la VDD si 330 conectat a la mas a; c) 1K conectat a la mas a; d) 150 conectat a la VDD si 150 conectat a la mas a; e) 100 conectat a la VDD ; f) 75 conectat a la VDD si 150 conectat a la mas a;

CAPITOLUL 1. PORT I 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 a la VDD ; h) 270 conectat a la VDD si 150 conectat a la mas a. P1.29 Pentru poarta 74HC00, utiliz and datele din tabelul de la problema P1.12, s a se estimeze rezistent a de ie sire n stare H si n stare L. P1.30 Pentru decizia pentru ie sirea unei port i cu colectorul n gol sau cu drenul ,, n gol se alege o rezistent a de valoare mai mare sau mai mica aducet i argumente pro si contra. P1.31 Un buer cu drenul n gol, VOLmax = 0, 37V , IOLmax = 12mA, comand a un LED de semnalizare pentru care se xeaz a punctul de funct ionare V LED = 1, 6V , ILED = 10mA. S a se determine valoarea rezistent ei nseriate cu LED-ul c and V DD = 5V . P1.32 Care rezistor disip a mai mult a putere cel care conecteaz a o intrare neutilizat a la VCC a unei port i NAND TTL-LS sau cel care conecteaz a o intrare neutilizat a la mas a a unei port i NOR TTL-LS? (Utilizat i datele din tabelul de la problema P1.12) P1.33 Ce se nt ampl a dac a se ncearc a s a se comande, direct f ar a rezistent a adit ional a, un releu alimentat la +12V printr-o poart a normal a TTL? P1.34 Circuitul din gura (a) utilizeaz a port i 74LS01 cu colectorul n gol pentru care datele de catalog corespund cu cele din tabelul de la P1.12 de la seria LS cu diferent a c a IOHmax este 100A.

W X Y Z

74LS01 *

Q Q QQ Q
+5V *

R1

R2

P Q R S T U V

Q Q Q Q Q
+5V D1

RI 3 D2 4

x y z

* 74LS01

74LS01

a)

b)

170

1.6. REJECT IA ZGOMOTELOR

a) S a se deduc a analitic si s a se verice prin metoda tabelului de adev ar expresia funct iei F. b) Consider and MH = 0, 7 care este valoarea maxim a admis a pentru R 1 ? c) Dac a semnalul F comand a dou a inversoare 74S04 (datele corespund seriei S din Tabelul 1.9) s a se determine valoarea maxim a si minim a pentru R 2 c and MH = 0, 7V, ML = 0V . P1.35 La o linie de magistral a sunt conectate n module.Fiecare modul este compus dintr-o poart a receptoare 74LS04 (parametrii acestui inversor sunt n Tabelul 1.9 la seria LS) si un buer, TSL 74LS125, emit a tor pe magistral a. Buerul TSL n starea HZ absoarbe sau genereaz a un curent 20A iar n starea normal a cu ie sirea L absoarbe un curent IOLmax = 24mA si cu ie sirea n H genereaz a un curent IOHmax = 2, 6mA. C ate module se pot conecta la magistral a? P1.36 Se descoper a o decient a la circuitul din gura (b) de la P1.34. Proiectantul remediaz a aceast a decient a prin introducerea diodelor D1 si D2 pe traseele desenate punctat. Descriet i modicarea logic a si a marginii de zgomot, prin aceast a introducere, asupra circuitului. Toate port ile sunt 74LS00 (NAND2). P1.37 S a se deseneze structura circuitelor CMOS care realizeaz a funct iile F 1 = A + BC , F2 = A(B + C ). P1.38 S a se deseneze structura circuitului CMOS care implementeaz a funct ia F = (A1 + A2 + A3 )(B1 + B2 )C . P1.39 Pentru funct ia logic a F = A + B + CD: a) S a se deseneze structura de circuit CMOS; b) S a se deduc a drumul eulerian si apoi s a se deseneze layoutul simplicat. P1.40 Pentru circuitul de coincident a : a) S a se deseneze structura de circuit CMOS; b) S a se deduc a drumul eulerian si apoi s a se deseneze layoutul simplicat. P1.41 Se consider a circuitele din gura (a) si (b) care au un efort electric H=6. a) Care este efortul total pentru ecare circuit? b) Care dintre ele este mai rapid? c) S a se calculeze dimensiunile x si y de poart a astfel nc at pentru circuitul respectiv s a se obt in a nt arzierea cea mai mic 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 a proiectare optimizat a? Dac a da n ce mod? b) La prezenta proiectare ce mbun at a tiri se pot aduce? P1.43 Se consider a un traseu logic pe opt niveluri/etaje, pe ecare nivel efortul electric este egal cu hi = 3. Cea mai complex a poart a care poate ntr-un nivel, din

CAPITOLUL 1. PORT I LOGICE

171

acest traseu, este NAND4. S a se estimeze care este intervalul de timp cel mai mic dup a care semnalul logic, aplicat la intrarea traseului, poate modicat. P1.44 La structura de NAND8 din Figura 2.29-c ad augat i, dup a ultimul inversor, nc a dou a inversoare. Pentru cele trei structuri din Figura 2.29 si cea obt inut a n acest mod trasat i, pe acela si grac, dependent a, nt arzierea D funct ie de variat ia efortului electric H n intervalul H = 12 200. Care este concluzia din analiza acestor dependent e? P1.45 Care dintre port ile CMOS, NANDn, NORn, pentru acela si efort electric, este mai rapid a? Argumentat i armat ia. P1.46 O linie de magistral a cu impedant a caracteristic a Z 0 = 100 este comandat a de ie sirea unui buer din L (0, 2V ) n H (2, 7V ) pe durata t = 3ns. S a se determine valoarea capacit a tii de decuplare CB conectat a ntre linia de alimentare VCC si mas a astfel nc at acest salt s a nu provoace o variat ie maxim a a tensiunii de alimentare VCC > 0, 1V . P1.47 Un driver TSL, caracterizat prin IOLmax = 24mA, VOLmax = 0, 4V comand a o linie de magistral a cu impedant a caracteristica Z 0 = 150. Receptorii de la linia de magistral a sunt port i de tip trigger Schmitt cu pragurile de comutat ie V p = 0, 9V , ii absorbit i at at n starea L c at si n starea H sunt neglijabili. Vp+ = 1, 7V iar curent Tensiunea VCC poate varia n limitele 10%. a) S a se dimensioneze rezistent ele pentru terminatorul Thevenin al liniei; b) S a se calculeze marginile de zgomot garantate M H si ML . P1.48 Pentru o poart a logic a TTL trigger Schmitt neinversor cu pragurile de a se calculeze marginile basculare n intervalele Vp = (0, 6 0, 9)V , Vp+ = (1, 7 2)V s de zgomot MH si ML . P1.49 Pentru cap atul unei linii de magistral a, cu impedant a caracteristic a Z 0 , s a se dimensioneze un terminator Thevenin care s a nu produc a reexii ale semnalului. Pentru perioadele c and linia nu este comandat a de nici un driver potent ialul liniei s a e stabilit de terminator e la VOH = 3, 4V , e la VOL = 0, 25V (VCC = 5V ).

Capitolul 2

CIRCUITE LOGICE COMBINAT IONALE


Multitudinea funct iilor logice de n variabile, 2 2 , ar atrage dupa sine, dac a nu se face o selectare, realizarea a tot at atea circuite. Selectarea funct iilor candidat pentru implementare, sub form a de circuit, se face n funct ie de ecient a si frecvent a n aplicat ii dar si dup a realizabilitatea circuitului. De exemplu, dup a cum s-a vazut n capitolul anterior, chiar si pentru dou a variabile, n = 2, din cele 16 funct ii posibile sunt implementate doar port ile uzuale (AND, OR, NAND, NOR si XOR). In aceast a abordare si pentru funct iile mai complexe, de natur a logic a sau aritmetic a, de mai put ine sau de mai multe intr ari, doar unele dintre ele au corespondentul zic, sub form a de circuit; si astfel de circuite sunt, de facto standard si utilizate ca si componente n implementarea altor funct ii/sisteme. Prezentarea, sinteza si implementarea unora dintre acesta circuite constituie continutul acestui capitol de circuite numite combinat ionale. Dar de ce combinat ionale? Pentru c a valoarea funct iei, existent a la ie sire doar at ata timp c at exist a anumite valori pentru intr ari, depinde exclusiv de combinat ia valorilor de intrare, altfel spus, de congurat ia valorilor de intrare.
n

2.1

CIRCUITUL LOGIC COMBINAT IONAL

Un sistem este caracterizat prin natura semnalelor de intrare, a celor de ie sire, prin clasele de funct ii intrare-ie sire (transfer) si prin natura prelucr arilor ce au loc in structura sa interna. Aceast a caracterizare general a a unui sistem particularizat a pentru un Circuit Logic Combinational, CLC, poate exprimat a formal prin tripletul: CLC = (X, Y, F ) n care: X reprezint a mult imea de congurat ii binare aplicate pe intrare sau mult imea cuvintelor de intrare X = {X0 , X1 , ..., Xk , ..., X2n1 }. Fiecare cuvant de intrare Xk este un element al mult imii {0, 1}n (vezi Denit ia 1.3) si este de forma: 173 (2.1)

174

2.1. CIRCUITUL LOGIC COMBINAT IONAL

Xk = xn1 xn2 ...xi ...x1 x0 , i = 0, 1, ..., (n 1); xi este valoarea binar a a variabilei (semnalului) aplicat a pe intrarea a i-a a circuitului combinat ional, Figura 2.1-a. Mult imea cuvintelor de intrare X este complet denit a dac a cuprinde toate congurat iile binare formate cu cele n variabile de intrare, adic a 2n n congurat ii; cardinalul mult imii este |X | = 2 . De exemplu, pentru un CLC cu patru intr ari mult imea X este complet denit a dac a pe intr arile x 3 , x2 , x1 , x0 nu este restrict ionat a aplicarea nici uneia din cele 16 combinat ii posibile de intrare, {0000, 0001, ..., 1110, 1111}. Y reprezint a mult imea de congurat ii binare obt inute la ie sire sau mult imea cuvintelor de ie sire Y = {Y1 , Y2 , ..., Yl , ..., Yq }. Yl este un element al mult imii {0, 1}m si este de forma Yl = ym1 ym2 ...yj ...y0 , j = 0, 1, 2, ...(m 1); yj este valoarea (semnalul) binar a obt inut a pe ie sirea j a circuitului combinat ional. Mult imea cuvintelor de iesire Y este, in general, incomplet denit a, deoarece la ie sire nu se genereaza toate cuvintele binare de m bit i, adic a q 2 m . De exemplu, pentru un CLC cu n intr ari si 3 ie siri, mult imea Y a cuvintelor de ie sire poate s a nu e complet denit a deoarece cuv antul de ie sire, y 2 y1 y0 , nu va lua toate cele 23 combinat ii posibile {000, 001, ..., 1111} atunci c and cuv antul de intrare va parcurge toate cele 2n congurat ii de intrare. F este funct ia de transfer (intrare-ie sire) care, pentru un CLC cu n intrari si m iesiri (Denitiei 1.4), dene ste aplicat ia {0, 1} n {0, 1}m . Funct ia de transfer a unui CLC cu n intr ari asociaz a ec arei congurat ii binare de intrare X = {0, 1} n un cuv ant Y din mult imea congurat iilor de ie sire Y {0, 1} m , adic a selecteaz a perechi din submult imea produsului cartezian {0, 1} n {0, 1}m . Conform celor enunt ate, pentru CLC, o reprezentare sub forma de schem a bloc este cea din Figura 2.1. Circuitul Logic Combinat ional cu o singur a ie sire, m = 1, realizeaz a aplicat ia f : {0, 1}n {0, 1}, lungimea cuv antului generat la ie sire are lungimea de 1 bit (Figura 2.1-b). In general, vom studia circuie logice combinat ionale cu o singur a ie sire, cele cu ie siri multiple (m = 1) pot privite ca ind compuse din m circuite cu o singur a ie sire. Numarul de curcuite combinat ionale distincte, de n intrari si cu o n singura ie sire, este egal cu num arul tuturor funct iilor logice de n variabile, adic a 22 (vezi sect iunea 1.1.3). Denirea unui CLC cu n intrari si m ie siri, ca un set de perechi intrare-ie sire din produsul cartezian {0, 1}n {0, 1}m , poate realizat a printr-o funct ie de transfer care are o exprimare /denit ie simpl a sau complex a. Atributul de complex sau de simplu pentru un circuit decurge din modalitatea complex a sau simpl a prin care se descrie structurarea sau funct ionarea sa. Exemplul 2.1 Pentru urm atoarele trei seturi de perechi intrare-ie sire s a se exprime
funct iile 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)}

Solut ie. Primul circuit CLC1 , cu 2 intr ari, n = 2, si o ie sire, m = 1, realizeaz a funct ia SAU EXCLUSIV de dou a variabile y = x1 x0 .

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

175

Al doilea circuit CLC2 , cu trei intr ari, n = 3, si o ie sire, m = 1, realizeaz a functia SAU EXCLUSIV de trei variabile y = x2 x1 x0 . Al treilea circuit CLC3 , cu dou a intr ari, n = 2, si trei ie siri, m = 3 (y2 , y1 , y0 ), nu admite o exprimare simpl a, printr-o funct ie logic a elementar a, ca cele dou a anterioare. Pentru aceasta putem s a avem urm atoarea exprimare: 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 a CLC1 este un circuit simplu deoarece denirea sa a necesitat o descriere simpl a (funct ia sum a modulo 2, x1 x0 ). CLC2 cu toate c a are trei intr ari poate exprimat, la fel, printr-o denit ie compact a: suma modulo 2 de trei variabile, care rezult a prin recurent a din sum a modulo 2 de dou a variabile x2 (x1 x0 ). Se poate concluziona c a un CLC, chiar cu un num ar mare de intr ari, r am ane tot un circuit simplu dac a poare exprimat, pornind de la un circuit simplu, extins prin recurent a pentru un n mare ceea ce n cazul analizat ar xn (xn1 (... (x2 (x1 x0 ))...)). Cel de-al treile circuit, CLC3 , la care denit ia nu a putut compactat a nu mai este un circuit simplu ci un 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 intr ari: a) cu ie siri multiple; b) cu o singur a ie sire; c) tabel de adev ar pentru un CLC cu ie siri multiple (m). Denit ia 2.1 Complexitatea unui circuit cu n intr ari, notat a cu C (n),

176

2.2. REPREZENTAREA CLC

este o m arime asociat a dimensiunii denit iei/descrierii acelui circuit. Limitarea asimptotic a a cre sterii unei funct ii f , de c atre o alta funct ie g , poate exprimat a prin notat ia O (citit a de ordinul) in felul urm ator: f (n) O(g (n)) [Greenlaw 98]. Denit ia 2.2 Funct ia f este de ordinul lui g , notat f (n) O(g (n)), dac a si numai dac a exist a o constant ac>0 si un n0 N astfel inc at f (n) c g (n) pentru toate valorile lui n n0 .

De exemplu, pentru funct ia polinomial a f = 5 n 4 + 17 n 10, c and n devine 4 foarte mare, este limitat a superior de c n deci, se poate spune ca f este de ordinul O(n4 ), adic a (5 n4 + 17 n 10) O(n4 ). Aplic and notat ia de limitare superioar a pentru funct ia complexitate C(n), a unui CLC cu n intr ari, se poate spune c a circuitul este simplu c and C (n) O(1), adic a dimensiunea denit iei pentru n de valoare mare este limitat a de o constant a O(1). In schimb, nu se mai poate arma la fel c and C (n) O(n), dac a n este de ordinul 106 c and circuitul este greu, dac a nu imposibil, de exprimat, deci circuitul este complex. Evident, pentru implement ari, se vor selecta circuite simple si nu circuite complexe care implic a efort si costuri foarte ridicate sau chiar dep a sesc posibilitat ile tehnologice. Observat ie important a! In relat ia 2.1 de denire a circuitului logic combinat ional nu este implicat timpul; aceasta nseamna c a la un CLC transferul congurat iei de intrare X n obt inerea celei de ie sire Y se face instantaneu. Acest transfer poate doar teoretic instatntaneu, pe c and la un sistem real timpul de transfer este egal cu timpul de propagare intrare-ie sire prin lant ul de port i ce compun CLC. Neincluderea timpului nu are nici o consecint a in regim static, formalismul algebrei Booleene poate determina corect semnalul de ie sire n funct ie de semnalele de intrare. Dar, uneori, n intervalele tranzitorii, c and congurat ia de intrare se modic a, formalismul booleean aplicat pe lant ul port ilor de la intrare spre ie sire va calcula valori de ie sire care difer a de cele reale obt inute la ie sire; valorile de ie sire reale nu mai corespund regimului (static) de aplicare a axiomei de existent a a complementului x x =0 si x + x = 1 ci ar corespunde situat iei anormale de x x =1 si x + x = 0! Aceste situat ii, care pot ap area pe durata regimurilor tranzitorii, sunt referite cu termenul de hazard static si vor studiate in sect iunea 2.3.1. Neincluderea variabilei timp poate considerat a ca o lacun a a formalismului booleean; exst a ncercari de a elabora un formalism logic care s a includ a si variabila timp. Al doilea aspect care trebuie notat in relat ia 2.1 este faptul c a nu exist a o react ie, adic a transferul este unidirect ional, de la intrare spre ie sire, m arimile de ie sire nu modic a in nici un fel intrarea n sistem. Clasa de circuite secvent iale, capitolul 3, va include si aceste dou a aspecte adic a: timpul si existent a react iei.

2.2

REPREZENTAREA CIRCUITELOR LOGICE COMBINAT IONALE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

177

ecient a a acestor procese. Se pot distinge urm atoarele modalitat i de reprezentare: tabelul de adev ar, funct ia analitic a, diagrama de decizie binar a, exprimare prin limbaj natural.

2.2.1

Tabelul de adev ar

Not iunea de tabel de adev ar a fost introdus a in sect iunea 1.14 prin Denit ia 1.12 iar exemple de tabele de adev ar au fost expuse in Figura 1.1 si 1.2 si Tabelele 1.3 si 1.6. In continuare se vor prezenta aspecte practice n realizarea si utilizarea tabelelor de adev ar. In general, n procesul de sintez a al uni CLC se porne ste de la realizarea tabelului de adev ar pe baza cerint elor de funct ionare impuse sistemului respectiv. Astfel, se consider a toate congurat iile valorilor variabilelor de intrare ( n num ar de 2n ), care vor constitui liniile de intrare ale tabelului. Apoi, pentru ecare congurat ie de intrare, i (i = 0, 1, ..., (2n1 )), se va nscrie n coloana de ie sire yj a tabelului valoarea corespunz atoare a funct iei, adic a valoarea coecientului funct iei d ji , Figura 2.1-c. Cocientul dji este egal cu valoarea funct iei yj , j = 0, 1, ..., (m 1), pentru congurat ia a i-a a variabilelor de intrare. Tabelul de adev ar din gur a corespunde unui CLC cu n intr ari si m ie siri. Mult imea cuvintelor de ie sire Y s-a specicat anterior, n general, este o mult ime incomplet a deoarece num arul de cuvinte distincte de m bit i obt inut la ie sire (un cuv ant ind format din bit ii de pe cele m coloane ale ie sirii care corespund la o congurat ie de intrare) este mai mic dec at num arul total de cuvinte formate cu m bit i, adic a 2m. Fiecare coloan a din tabelul de adev ar cont ine un num ar de 2 n valori binare, ceea ce n nseamn a c a ar putea un num ar de 22 coloane cu valori distincte, deci un num ar n de 22 funct ii de n variabile. Succesiunea congurat iilor de valori binare aplicate pe intrarea unui CLC se consider a c a sunt exprimate n cod binar natural, adic a chiar num ararea n sistemul de numerat ie in baza doi. Fiecare bit din cuv antul de cod binar natural are ponderea 2 i unde i este pozit ia bitului n cuv antul binar, ponderile cresc de la dreapta spre st anga, prima pozit ie din dreapta are ponderea zero (2 0 ) (6|10 = 110|2 ; 6 = 1 22 +1 21 +0 20 ). Codul binar natural este un cod aritmetic (adic a, poate utilizat in operat iile aritmetice). Denit ia 2.3 Distant a Humming ntre dou a cuvinte de cod, de aceea si lungime, este dat a de numarul bit ilor diferit i care apar ntre acelea si pozit ii ale celor dou a cuvinte de cod. Uneori succesiunea congurat iilor de valori binare ale variabilelor de intrare sunt considerate in cod Gray. Codul Gray are proprietatea de adiacent a , adic a distant a Humming (distant a de cod) intre oricare dou a cuvinte consecutive este egal a cu 1. La trecerea de la un cuv ant la urm atorul, e in sens cresc ator, e n sens descresc ator, se modic a n cuv antul de cod doar un singur bit (000,001,011,010,110,111,101,100). Acest cod nu este aritmetic! Datorit a propriet a tii de adiacent a codicarea Gray este util a n notarea la diagramele Veitch-Karnaugh si n implementarea circuitelor care impun ca n funct ionare, la trecerea dintre dou a cuvinte (st ari) consecutive, s a se produc a cu o singur a comutare. Conversia din cod binar natural n cod Gray se realizeaz a n felul urm ator, Figura 2.2-a:

178

2.2. REPREZENTAREA CLC

1. cel mai semnicativ bit al cuv antului de cod Gray este identic cu cel mai semnicativ bit din cuv antul de cod binar natural; 2. parcurg and cuv antul de cod binar natural, de la st anga la dreapta, prin sumarea ec arei perechi de bit i adiacent i se obt ine bitul urm ator ( n sensul de la st anga la dreapta) din cuv antul de cod Gray (bitul de transfer rezultat n urma sum arii 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 a de descriere a conversiei: a) din cod binar natural n cod Gray ; b) din cod Gray n cod binar natural. Conversia din cod Gray in cod binar natural se realizeaz a in felul urm ator, Figura 2.2-b: 1. cel mai semncatv bit din cuv antul de cod binar natural este identic cu cel din cuv antul Gray; 2. parcurg and cuv antul in cod Gray, de la st anga la dreapta, se obt ine bitul cuv antului binar natural de indice i (bitul cel mai put in semnicativ av and indicele i = 0) prin sumarea bitului (i + 1) din cuv antul binar natural cu bitul de indice i din cuv antul Gray (bitul de transfer rezultat n urma sum arii se neglijeaz a). Foarte utilizate sunt codic arile zecimal binare, BCD (Binary Coded Decimal), pentru cifrele zecimale (0,1,2...,8,9). Deoarece sunt 10 cifre zecimale de codicat cuv antul binar de cod trebuie sa aib a o lungime de patru bit i, deci din cele 16 cuvinte binare de patru bit i sunt alese doar 10,iar 6 dintre aceste nu sunt utilizate. Se pune ntrebarea c ate posibilitat i distincte de codicare (coduri zecimal-binare), BCD, se pot realiza? Num arul grupelor diferite de c ate 10 cuvinte de 4 bit i, din totalul de 16 cuvinte de 4 bit i, care se pot forma se calculeaz a cu formula combinarilor C 16 10 = 16! i prin care cele 10 cifre zecimale sunt asignate 10!(1610)! . Apoi, vor 10! modalitat grupelor de c ate 10 cuvinte de 4 bit i, deci n total numarul de coduri zecimal codicat 10 binar este C16 10! = 29.059.430.400. Evident, din acest numar mare de coduri BCD, se utilizeaz a foarte put ine si 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 a cuvintele binare chiar n ordinea corespunz atoare de la num ararea in binar natural (0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001) este denumit a uzual BCD (incorect! c and de fapt toate variantele de codicare zecimal-binar sunt coduri BCD). Corect, eventual, ar trebui s a e denumirea acestui cod NBCD (Natural Binary Coded Decimal), dar deoarece abreviat ia de BCD a intrat n exprimarea uzual a, cu regret o vom accepta n continuare. De

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

179

asemenea, chiar c and se refer a la primele zece cuvinte din binar natural se face uneori confuzia spun and coduri BCD (datorit a identit a tii cuvintelor). Un alt cod, zecimal codicat binar, este cel denumit EXCESS3 care se obt ine din cuvintele de cod BCD la care se adauga cifra 3 exprimat a in binar natural, adic a 0011; de exemplu, pentru cifra zecimal a 2 codul binar obt int este 0010 + 0011 = 0101, iar pentru cifra 5 codul este 0101 + 0011 = 1000. Avantajele utiliz arii reprezentarii n EXCESS3 sunt: ntr-o locat ie de memorie se poate face distinct ia dac a in acea locat ie nu s-a nscris nimic (ceea ce corespunde st arii utilizate 0000), sau s-a inscris cifra 0 (adica 0000 + 0011 = 0011) complementul unei cifre zecimale fat a de 9 se obt ine in EXCESS3 prin complementarea bit cu bit a cuv antului de cod ceea ce duce la o simplitate in implementare. De exemplu, complementul lui 7 (0111 + 0011 = 1010) fat a de 9 este 2 (0101) care se obt ine prin complementarea lui 1010 (=7) fat a de, 1 adic a 0101. Cu aceste not iuni sumare despre codurile zecimal-codicat-binar putem sa construim tabelele de adev ar pentru 2 circuite combinat ionale: un convertor de cod BCD - Gray si un convertor de cod BCD - EXCESS3. Fiecare dintre aceste convertoare este un CLC cu 4 intr ari A, B, C, D si cu 4 ie siri: E3 , E2 , E1 , E0 pentru convertorul BCD - EXCESS3, Figura 2.3-b si G3 , G2 , G1 , G0 pentru convertorul BCD - Gray, Figura 2.3-c. Tabelele de adev ar pentru aceste dou a converotaare, Figura 2.3-a, au pe intr ari numai primele 10 combinat ii din NBCD, restul de 6 combinat ii (1010, 1011, 1100, 1101, 1110, 1111) nu se aplic a niciodat a deoarece nu apart in codului BCD. In coloanele celor 6 funct ii (E3 , E2 , E1 , E0 si G3 , G2 , G1 , G0 ) se nscriu valorile coecient ilor obt inut i conform regulilor de conversie ale celor dou a circuite codicatoare. Pentru cele 6 congurat ii de intrare excluse se consider a valorile coecient ilor funct iilor (ie sirile) ca ind indiferente (notate prin ), adic a se poate asigna e valoarea 0 e valoarea 1 deoarece oricum congurat iile respective nu apar niciodat a pe intrare. Valori indiferente pentru coecient ii unei funct ii pot trecute in tabelul de adev ar n dou a situat ii: e c and anumite congurat ii de valori ale variabilelor de intrare nu se aplic a niciodat a la intrarile CLC, e c and se aplic a congurat ii pe intr ari dar utilizarea ie sirilor corespunz atoare nu este semnicativ a pentru ansamblul din care face parte circuitul. C and num arul de variabile de intrare ale unui CLC cre ste peste 4, tabelul de adev ar se manipuleaza destul de greu din cauza num arului liniilor componente din tabel care cre ste exponent ial cu numarul variabilelor. Dar, exist a o modalitate prin care se poate mic sora num arul liniilor dintr-un tabel, astfel aduc andu-l la un instrument mai u sor de manipulat. Pentru circuitul CLC cu tabelul de adev ar din Figura 2.4-a, conform relat iei 1.12, se poate scrie forma normal a disjunctiv a a funct iei f (sintez a pe baz a de 1) CD + ABC + ABCD C D + ABC D + ABC D f = AB D + AB (2.2) C D c Pentru combinat ia de intrare AB and funct ia nu este denit a s-a considerat pentru coecientul funct iei valoarea 1, deci acest termen canonic a fost introdus in relat ia 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 funct iilor

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 si BCDEXCESS3: a) tabelele de adev ar; b,c) reprezentarea sub form a de schem a bloc a convertoarelor. Coloana de intrare a variabilei D poate eliminat a din tabelul de adev ar prin introducerea acestei variabile in expresiile coecient ilor funct iilor. Astfel se exprim a acesti coecient i prin intermediul variabilei D. Aceast a modalitate este referit a ca exprimare prin coecient ii cu variabile reziduu. In acest caz, D este variabila reziduu. Valorile coecient ilor cu variabila D reziduu se pot determina prin urm atorul rat ionament efectuat pe coloanele D si f din tabelul de adev ar la congurat ia ABC = 000 pentru D, e 1, e 0, coecient ii funct iei au valoarea 0, funct ia este independent a de D, deci f = 0. la congurat ia ABC = 001 pentru D, e 1, e 0, coecient ii funct iei au valoarea 0, funct ia este independent a de D, deci f = 0. la congurat ia ABC = 101 pentru D = 0 si D = 1, coecient ii funct iei au valoarile respectiv 0 si 1, deci f = D.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 adev ar cu 16 congurat ii de intrare (a), prin introducerea variabilei reziduu D, se obt ine un tabel cu 8 linii (b) si prin introducerea variabilelor reziduu C,D se obt ine un tabel cu 4 linii (c). la congurat ia ABC = 011 pentru D, e 1, e 0, coecient ii funct iei au valoarea 1, funct ia este independent a de D, deci f = 1. la congurat ia ABC = 100, pentru D = 0 si D = 1, coecient ii funct iei au (s-a considerat valoarea 1 pentru semnul de valorile respectiv 1 si 0, deci f = D indiferent). la congurat ia ABC = 101, pentru D = 0 si D = 1, coecient ii funct iei au . valorile respectiv 1 si 0, deci f = D la congurat ia ABC = 110 pentru D e 0, e 1, coeceint iii funct iei au valoarea 0, funct ia este independent a de D, deci f =0. la congurat ia ABC = 111, pentru D = 0 si D = 1, coecient ii funct iei au . valorile respectiv 1 si 0, deci f = D Tabelul de adev ar obt inut doar cu 3 variabile A, B, C , cu variabila D reziduu introdus a in coecient ii funct iei, este reprezentat n Figura 2.4-b. Expresia normal disjunctiv a a funct iei este: C + (1) ABC ) AB C + (D ) ABC + (D ) ABC f = (D) AB + (D care devine identic a cu cea din relat ia 2.2 dac a al doilea termen produs ABC 1 se ex pandeaz a ABC (D + D) = ABCD + ABC D. Coecient ii reziduu (care cont in varaibila reziduu), pentru evident iere, sunt ncadrat i n parantez a n exprimarea funct iei.

182

2.2. REPREZENTAREA CLC

Se poate continua procesul de reducere a num arului de linii de la 8 la 4 prin efectuarea unui rat ionament similar, cu cel pentru reducerea de la 16 la 8 linii, asupra coloanei variabilei C si a coloanei coecient ilor funct iei obt in andu-se tabelul de adev ar din Figura 2.4-c. De data aceasta, coecient ii funct iei sunt exprimat i n funct ie de 2 variabile reziduu C si D. Expresia disjunctiv a a funct iei este: + (D ) AB +(C D ) AB f = (C + D) AB Dac a n aceasta expresie se introduc n termenii produs de 3 variabile si variabila care lipse ste, prin relat iile 1 = C + C , 1 = D + D se obt ine forma din relat ia 2.2. Exemplul 2.2 S a se descrie sub form a de tabel de adev ar funct ionarea unui CLC care pentru oricare cuv ant de 4 bit i aplicat pe intrare genereaz a la ie sire num arul binar care exprim a num arul de bit i 1 prezent i n cuv antul de intrare (num arul de bit i 1 va exprimat 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 adev ar pentru exemplul 2.2


Solut ie. Cuvintele aplicate pe intrare sunt toate cele 16 congurat ii de 4 bit i iar cuvintele de ie sire pot doar numerele 0, 1, 2, 3 si 4 exprimate n binar natural, deci circuitul trebuie s a aib a 4 intr ari si 3 ie siri. Tabelul de adev ar este dat in Figura 2.5.

2.2.2

Reprezentarea analitic a

Reprezentarea analitic a, sub forma unei funct ii logice (Denit iile 1.8 si 1.9) este forma de descriere cea mai potrivit a pentru un CLC, mai ales dac a aceast a form a se reduce la o expresie compact a at at pentru cazul c and num arul de intrai n are valori mici

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

183

c at si c and are valori foarte mari. Expresia funct iei ram ane compact a pentru un CLC chiar si pentru n de valoare ridicat a, dac a poate exista o exprimarea recurent a a funct iei; ceea ce se reect a n implementare printr-o structurare iterativ a, adic ao replicabilitate a unei structuri elementare (celul a). Pentru CLC care nu realizeaz a funct ii uzuale, cu exprim ari cunoscute, expresia funct iei logice se obt ine din tabelul de adev ar nt ai sub forma canonic a normal a disjunctiv a/conjunctiv a, relat iile 1.10, 1.11, sau sub forma normal a disjunctiv a/conjunctiv a, relat ile 1.12 si 1.13 (sintez a pe baz a de 1-uri respectiv pe baz a de 0-uri) si apoi prin reduceri succesive se poate obt ine o form a redus a, care nu totdeauna este forma minim a. Frecvent, forma canonic a normal a disjunctiv a este transpus a intr-o exprimare recursiv a ceea ce poate duce ca un CLC cu num ar mare de intr ari s a poat a structurat repetitiv cu un acela si tip de circuit dar care are un num ar de intr ari mult mai mic. Modalitatea de exprimare recursiv a va prezentat a in continuare. Formele canonice normal disjunctive pentru funct iile de una, dou a si trei variabile sunt: fi 1 fi 2 0 + d i1 x 0 ; = d i0 x 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 x 0 + di1 x0 ) x1 + (di2 x 0 + di3 x0 )x1 = = fi 1 x 1 + 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 x1 x 0 + d i3 x 2 x1 x0 + 0 + d i7 x 2 x 1 x 0 = 1 x 0 + d i6 x 2 x 1 x 1 x 0 + d i5 x 2 x +d i 4 x 2 x 1 x 0 + x2 + (di4 x 1 x 0 + di1 x1 x0 + di2 x1 x0 + di3 x1 x0 ) (di0 x 0 + di7 x1 x0 )x2 = +d i 5 x 1 x 0 + d i 6 x 1 x fi 2 x 2 + fi 2 x2 ; i = 0, 1, 2..., 255.

(2.4)

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


n

(2.5)

Se observ a c a o funct ie de n variabile, fi n , se exprim a ca o funct ie de o singur a variabil a xn1 ai c arei coecient i sunt 2 funct ii reziduu f i n1 , fi (n1) de celelalte n 1 variabile (xn2 , xn3 , ..., x2 , x1 , x0 ). La fel, funct ia de n 1 variabile fi n1 se exprim a ca o funct ie de o singur a variabil a x n2 ai c arei coecient i sunt 2 funct ii reziduu de celelalte n 2 variabile s.a.m.d. p ana la funct ia de o singur a variabil a fi1, care este o sum a de dou a produse. Toate funct iile, indiferent de num arul variabilelor, pot exprimate ca o funct ie de o singur a variabil a, celelelte variabile sunt introduse n cei doi coecient i ca funct ii reziduu. Structura de circuit (modulul) care modeleaz a ecare funct ie fi k , k = 1, 2..., n este reprezentat a n Figura 2.6-a. Pornind de la funct ia fi n , modelat a cu acest modul, la care se introduce succesiv, pentru funct iile reziduu, acela si tip de modul p ana la funct ia de o singur a variabil a se obt ine un circuit cu structur a de arbore binar, num arul nivelurilor de module este egal cu n. Intr arile n primul nivel, pe port ile AND, sunt perechi formate din variabilele x 0 , x0 si coecient ii funct iei dij care genereaz a produsele: di0 x0 , di1 x0 , di2 x0 , di3 x0 , ..., di2n 2 x0 , di2n 1 x0 . Coecient ii dij j = 0, 1..., (2n 1) sunt valorile din tabelul de adev ar al funct iei f i n . Deoarece modulele din primul nivel calculeaz a expresii banale de forma d ij x0 +

184

2.2. REPREZENTAREA CLC

di(j +1) x0 , care pot avea numai valorile: 0, x0 , x0 , 1, aceste module pot eliminate si nlocuite cu una din aceste valori, care nu trebuie calculate, deoarece exist a n sistem. Aceast a analiz a poate continuat a si la nivelurile urm atoare de module p ana la nivelul n, iar modulele care calculeaz a expresii banale sunt nlocuite. In general, prin elimin arile de module, se obt ine un circuit de dimensiune mult mai mic a dec at arborele binar init ial.

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 a unei funct ii: a) cu structur a AND-OR; b) structur a NAND - NAND ,, O astfel de structur a arborescent a este o platform a pentru implementarea ori,, 2n c arei funct ii de n variabile din cele 2 funct ii posibile. Particularizarea platformei pentru implementarea unei anumite funct ii f i n se realizeaz a prin aplicarea pe ecare poart a AND, din primul nivel, a c ate unei valori a coecient ilor d ij n ordinea n care ace stia sunt n tabelul de adev ar al funct iei respective. Structurarea arborelui, pentru implementarea recurent a a funct iei, sub form a de cascad a AND - OR - AND - OR - ... este adecvat a pentru o conversie numai cu port i n Figura 2.6-b. Prin faptul c a ceast a structur a NAND (di0 x + di1 x = di0 x di1 x), ca poate realizat a cu acela si tip de poart a cu dou a intr ari este recomandat a pentru implement arile pe arii de port i logice (sect iunea 4.3). Exemplul 2.3 Pentru celula sumator complet cu tabelul de adevar 1.6 s a se modeleze funct ia sum a si pe un circuit cu structur a de arbore.
Solut ie. Pe port ile AND din primul nivel, Figura 2.7, se aplic a prima variabil a C i1 , alsi nenegata Ci1 , iar coecient ii funct iei si se aplica pe intr ari n ordinea tern and negata Ci1 n care sunt n tabelul 1.6. Toate aceste pot i AND calculeaz a valori banale, 0,Ci1 , Ci1 care exist a n sistem, deci port ile AND din primul nivel pot eliminate, la fel si port ile OR pot eliminate, rezult a c a primul nivel poate lipsi. Pe nivelul 2 de module se aplic a ie sirile de la primul nivel si alternativ variabila Bi si Bi ; pe acest nivel nu se mai pot elimina port i. Pe nivelul 3 se aplic a expresiile calculate pe nivelul 2 si altern and variabilele A i a o modelare numai pe dou a niveluri de module. Analiz and expresiile calcu si Ai . Rezult late dup a ecare nivel rezult a pentru celula sumator complet expresia cunoscut a a sum a si = Ai Bi Ci1 . Aceast a structur a arborescent a poate implementa oricare funct ie de 3 variabile, particularizarea pentru o anumit a funct ie se face prin modicarea coecient ilor pe intr arile din primul nivel (care se cite ste din tabelul de adev ar al funct iei).

De asemenea, forma canonic a normal a disjunctiv a a funct iei de n variabile poate transcris a ntr-o reprezentare de funct ie numai de 2 variabile x 1 , x0 , restul de n 2 variabile se introduc n coecient i sub forma unor funct ii reziduu. Astfel, pentru

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 funct iei suma si , si a unei celule sumator complet, pe o structur a arborescent a. funct ia fi 3 , relat ia 2.4, se obt ine urm atoarea form a: fi 3 x 1 x0 + 2 + di5 x2 ) x1 x 0 + (di1 x 2 + di4 x2 ) = (di0 x 2 + di7 x2 )x1 x0 0 + (di3 x 2 + di6 x2 )x1 x +(di2 x (2.6)

iar pentru o funct ie fi n rezult a: fi n = fk n2 x 1 x 0 + fl n2 x 1 x0 + fp n2 x1 x 0 + fq n2 x1 x0 n n2 iar i [0, 22 ) si k, l, p, q [0, 22 )

Pentru un CLC cu 4 intr ari A, B, C, D, av and tabelul de adev ar din Figura 2.4-a, se poate obt ine o exprimare ca o funct ie de numai 3 variabile A, B, C cu variabila D introdus a n coecient ii funct iei, Figura 2.4-b, sau ca o funct ie numai cu dou a variabile A, B , celelalte dou a variabile, C, D sunt introduse ca variabile reziduu n coecient ii funct iei, Figura 2.4-c. In cazul general, oricare funct ie fi n poate exprimat a ca o funct ie numai de j variabile xj 1 , xj 2 , ..., x1 , x0 , restul variabilelor xn1 , xn2 , ..., xn1j (variabile reziduu) ind incluse in coecient ii funct iei. fi n = fk nj xj 1 xj 2 ...x1 x0 + ... + fq nj x j 1 x j 2 ...x 1 x 0 2n 2(nj ) iar i [0, 2 ), k, ..., q [0, 2 ) (2.7)

In concluzie, o funct ie fi n poate exprimat a ca o funct ie de n, n 1, n 2, ..., 3, 2, 1 variabile dac a respectiv un num ar de 0, 1, 2, ..., n3, n2, n1 variabile sunt introduse ca variabile reziduu n expresiile coecient ilor.

186

2.2. REPREZENTAREA CLC

Exprimarea funct iilor cu variabile reziduu poate determina implement ari mai simple. Intuitiv, dar nu totdeauna, o funct ie cu mai put ine variabile necesit a o implementare mai put in costisitoare. Accept and aceast a armat ie, se aduce funct ia la un num ar c at mai mic de variabile si implementarea va mai ieftin a dac a si coecient ii de variabile reziduu se reduc la valori banale sau se calculeaz a cu circuite simple.

2.2.3

Diagrama Veitch - Karnaugh

Diagrama Veitch - Karnaugh (V-K) este o alt a modalitate de a descrie un CLC. Diagrama Veitch - Karnaugh, ca modalitate grac a de descriere, nu este prea uzual a dar, n schimb, utilzarea diagramei V-K pentru minimizarea unui CLC, pornind de la tabelul de adev ar sau de la funct ia logic a, este un instrument de lucru uzual n proiectare sau analiz a. Acest instrument grac pentru un CLC cu n intr ari si o singur a ie sire, este o diagram a dreptunghiular a sau p atrat a care cont ine 2 n c asut e elementare pe care sunt mapate, e cele 2n valori ale coecient ilor funct iei din tabelul de adev ar, e cei 2n temeni canonici Pi sau Si ai funct iei (relat iile 1.10 si 1.11). Modul ,, cum se scrie coordonata unei c asut e elementare determin a cele 2 variante: diagrama Veitch si diagrama Karnaugh. Intr-o nuant a de tratare didactic a, ecare din cele 2 diagrame sunt prezentate separat, at at pentru exprimarea funct iei sub forma canonic a normal a disjunctiv a (termenii produs P ), c at si pentru forma canonic a normal a conjunctiv a (termeni suma S ), pentru n = 2, 3, 4, 6, Figura 2.7. In varianta Veitch, coordonata unei c asut e elementare este exprimat a prin variabilele funct iei si aceste variabile sunt notate pe marginile diagramei, iar in acea c asut a se introduce valoarea lui Pi sau Si (indicele i este num arul zecimal a c arui reprezentare n binar natural rezult a din codul format de variabilele coordonate ale casut ei). In varianta Karnaugh, coordonata unei c asut e elementare este exprimat a prin valorile variabilelor (conform codic arii mintermilor sau maxtermilor, 1.1.4) si aceste valori ale variabilelor sunt notate pe marginile diagramei; n acea c asut a se introduce coecientul di din tabelul de adev ar corespunz ator pentru congurat ia valorilor de intrare (care constituie coordonatele c asut ei). Ambele variante reprezint a acela si CLC, la varianta Veitch se ajunge mai u sor pornind de la forma canonic aa funct iei iar la varianta Karnaugh se ajunge mai u sor de la tabelul de adev ar. De fapt, n practic a, notat iile de la varianta Veitch si de la varianta Karnaugh se mixeaz a rezult and diagrama referit a ca Veitch - Karnaugh, la care este redundant a de informat ie, adic a sunt prezente at at variabilele c at si valorile variabilelor. In gurile 2.8-a si 2.8-b pentru n = 2, n = 3 sunt reprezentate separat diagramele Veitch si Karnaugh si pentru ecare dintre ele s-a gurat at at forma canonic a normal a disjunctiv a (P ), c at si forma canonic a normal a conjunctiv a (S ). Dar, in Figura 2.8-c, pentru n = 4, la cele 2 diagrame notarea (variabilele si valorile) este intermixat a at at pentru forma canonic a normal a disjunctiv a c at si pentru forma canonic a normal a conjunctiv a (adic a, pe marginile diagramelor sunt notate at at variabilele, c at si valorile acestor variabile). Diagramele pentru n = 5 se obt in prin al aturarea de dou a diagrame de n = 4 iar pentru n = 6 din al aturarea a patru diagrame de n = 4 sau dou a diagrame de n = 5. Dar pentru a p astra adiacent a la alaturare a dou a diagrame de n = 4 trebuie p astrat a num ararea in cod Gray adic a, 000, 001, 011, 010, 110, 111, 101, 100. In oricare din diagrame, pentru cele 2n c asut e elementare, ecare variabil a intr a

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 d 0 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 si Karnaugh: a,b) forma P si forma S pentru n=2 si n = 3; c) diagrama V-K forma S si P pentru n = 4; d) diagrama V-K forma P pentru n = 6.

188

2.2. REPREZENTAREA CLC

negat a n coordonatele a 2n /2 c asut e si nenegat a n restul de 2n /2 c asut e. Trecerea de la o diagram a pentru forma P la o diagram a pentru forma S se realizeaz a prin substituirea n coordonate a variabilei nenegat a cu variabila negat a, x x, iar a si n interiorul c asut ei se substituie termenii P i Si . celor negate cu nenegate x x Trecerea de la forma S la cea P este, la fel, o negare a variabilelor coordonate ale casut elor iar n c asut e se substituie termenii S i Pi . In ecare diagram a V-K dou a c asut e vecine sunt adiacente, adic a distant a Humming este egal a cu 1. Adiacent a rezult a in urma faptului c a notarea, pe marginea diagramelor, a coordonatelor c asut elor se face prin num arare n cod Gray. Adiacent a exist a ntre c asut ele elementare de pe ecare dou a linii al aturate sau de pe ecare dou a coloane al aturate, adiacent a se extinde si intre cele dou a linii extreme sau 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 a c asut e care sunt situate n dinagonal a una fat a de pe alta. Datorit a adiacent ei, c and se trece de la scrierea coordonatei unei c asut e elementare la scrierea coordonatei a dou a c asut e elementare, adic a luate mpreun a (2 1 ), din coordonata rezultat a va lipsi variabila care si modic a valoarea ntre cele dou a c asut e vecine (deoarece x + x =1 si x x = 0). De exemplu, in Figura 2.8-c pentru forma P , c and se scrie coordonata pentru c asut ele adiacente P 5 si P7 luate mpreun a x 3 x2 x 1 x0 + x 3 x2 x1 x0 = x 3 x2 x0 ( x 1 + x1 ) = x 3 x2 x0 coordonata rezultat a are o variabil a mai put in, deoarece a disp arut variabila x 1 care are valoarea diferit a n cele dou a coduri 0101 si 0111 (x 1 schimb a valoarea la trecerea dintre P5 si P7 ). In aceea si gur a, pentru forma S c and se scrie coordonata pentru c asut ele adicente S5 si S7 luate mpreun a (x3 + x 2 + x1 + x 0 )(x3 + x 2 + x 1 + x 0 ) = (x3 + x 2 + x 0 ) dispare variabila x1 . Dac a se consider a o suprafat a care grupeaz a patru c asut e adiacente (2 2 ) n coordonata comun a rezultant a se vor elimina dou a variabile; pentru un grup de opt c asut e adiacente (23 ) se vor elimina trei variabile, iar pentru un grup de 2 n c asut e adiacente se vor elimina n variabile. Aceast a modalitate grac a, de indenticare de suprafet e ce grupeaz a c asut e adiacente, n fond, este o grupare de termeni canonici, dar n varianta grac a operat ia de reducere a termenilor canonici este mai simpl a si mai put in supus a erorii dec at atunci c and se lucreaz a cu formele analitice normale conjunctive, FNC, sau normale disjunctive, FND, ale funct iilor. In diagrama Veitch - Karnaugh se introduc n ecare c asut a elementar a valorile coecient ilor din tabelul de adev ar al funct iei. C and se face sinteza funct iilor pe baza FND se consider a tot i mintermii care au valoarea 1 iar pentru sinteza pe baza de FNC se consider a tot i maxtermii care au valoarea 0. Rezult a c a in diagrama V-K de tip P sau S trebuie luate respectiv toate c asut ele elementare care au valoarea unu sau toate cele care au valoarea zero si aceasta se face identic and suprafet e care cuprind c asut ele adiacente grupate in numar de puteri ale lui doi. Evident, se caut a a se forma suprafet e care s a cuprind a un num ar, de puteri ale lui doi, de c asut e adiacente c at mai mare. Vom referi coordonata unei suprafet e de c asut e adiacente

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

189

grupate cu termenul de Implicant Prim, IP. In aceast a operat ie de identicare de suprafet e maxime poate apare o suprafat a ce acoper a o grupare de c asut e adiacente, dar ecare din aceste c asut e elementare ale grup arii mai este acoperit a cel put in de nc a o alt a suprafat a; o astfel de suprafat a corespunde unui IP neesent ial. Dar poate exist a o suprafat a care acoper a o grupare de c asut e adiacente dar dintre aceste c asut e elementare exist a cel put in o c asut a care nu mai este acoperit a si de c atre o alt a suprafat a ; o astfel de suprafat a corespunde unui IP esent ial. Pentru exprimarea funct iei n forma redus a trebuie luate n considerare suprafet e maxime astfel nc at s a e acoperite toate c asut ele elementare cu valoarea 1 pentru forma redus a disjunctiv a (sum a de produse), respectiv s a e acoperite toate c asut ele elementare cu valoarea 0 pentru forma redus a conjunctiv a (produs de sume). Denit ia 2.4 Forma redus a a unei sume de produse este minim a atunci c and nu exist a o alt a form a redus a a funct iei cu mai put ini termeni produs sau oricare alt a form a cu acela si num ar de termeni produs are cel put in acela si num ar de variabile. Dup a cum s-a ar atat n sect iunea 1.5 forma redus a ca sum a de produse se implementeaz a simplu pe o structur a AND-OR, iar forma redus a ca produs de sume pe o structur a OR-AND. Rezult a, implicit, pentru implementare, c a forma minim a va duce la un num ar minim de port i pe primul nivel (de AND) si de intr ari pe port ile din nivelul doi (OR) si, evident, in cadrul acesta la cel mai mic num ar de intr ari (variabile) pe primul nivel. La fel se poate da o denit ie pentru forma minim a a unui produs de sume. Pentru exprimarea funct iei n form a redus a se selecteaz a: 1. obligatoriu tot i IP esent iali; 2. un num ar c at mai mic de IP neesent iali, dar care s a acopere toate c asut ele elementare nscrise cu unu ce nu au fost acoperite de c atre IP esent iali Exemplul 2.4 Pentru funct ia F dat a sub forma FND,
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 a se realizeze minimizarea cu diagrama V-K. Solut ie. Din expresia funct iei dat a sub forma listelor anterioare se completeaz a cu unu diagrama V-K pentru sinteza ca sum a de produse, Figura 2.9-a si se completeaz a cu 0 diagrama V-K pentru sinteza ca produs de sume, Figura 2.9-b. Se consider a suprafet e de c asut e adiacente, grupate c ate dou a sau patru si rezult a pentru forma sum a de produse doi IP esent iali (a = x3 x0 , b = x 3 x 2 x 0 ) si trei IP neesent iali (c = x3 x2 x1 , d = x2 x1 x 0 , e = x 3 x1 x 0 ), iar pentru forma produse de sume doi IP esent iali (a = (x3 + x 0 ), b = ( x3 + x2 + x0 )) si trei IP neesent iali (c = (x3 + x 2 + x1 ), d = ( x3 + x1 + x0 ), e = ( x2 + x1 + x0 )). Acoperirea complet a pentru prima sum a de produse trebuie sa cont ina cei doi IP esent iali a si b iar dintre cei neesent iali un num ar c at mai mic, dar care s a acopere restul de c asut e n care este

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 a de 1 pentru funct ia F =


15 15

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


0 0

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

191

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

Forma minim a a unei funct ii f ca produs de sume se obt ine prin acoperirea tuturor c asut elor elementare din diagrama V-K care au valorile 0. Dar se poate obt ine aceea si . form a minim a si printr-o sintez a de suma de produse a funct iei complementare f Dac a funct ia f are valori 1 n anumite c asut e elementare evident c a funct ia negat af are valori 1 in restul de c asut e elementare ale diagramei V-K, adic a tocmai n c asut ele n care funct ia f are valori 0, si care pot utilizate pentru sinteza ca produs de sume. Deci, obt in and forma redus a ca sum a de produse a funct iei complementare f si neg and aceast a expresie rezult a forma redus a ca produs de sume a funct iei f . In acest mod se a obt ine forma minim a a produsului de sume a lui f numai c and forma redus a a lui f fost cea minim a ( si aceasta depinde de cum s-au selectat IP neesent iali). In Exemplul poate : 2.4 , Figura 2.9-b, o form a redus a ca sum a de produse a lui f = x f 3 x0 + x 3 x 2 x 0 + x2 x 1 x 0 iar prin negare si aplicare teoremei De Morgan se obt ine chiar forma minim a a produsului de sume: f = (x3 + x 0 )( x3 + x2 + x0 )( x 2 + x1 + x0 ) obt inut a prin sinteza pe baz a de zero-uri. , ca sum Calculul formei reduse pentru f a de produse, este util a pentru c a unele dispozitive programabile (PLA) prezint a pe ie sire posibilitatea de a nega, printr-o poart a XOR, funct ia calculat a, deci generarea formei produs de sume. Dac a se poate implementa u sor at at forma produs de sume, c at si forma sum a de produse se pune intrebarea care dintre cele dou a forme reduse obt inute (nu totdeauna minime!) se alege? se va alege forma care are num arul minim de termeni. 2.2.3.1 Minimizarea funct iilor incomplet denite

Exista situat ii n care funct ionarea unui CLC prin valoarea logic a generat a pe ie sire nu modic a cu nimic comportamentul util al circuitului. Valoarea logic a pe ie sire se poate modica e n 1 e n 0 dar aceste valori sunt indiferente (do not care) pentru utilitatea circuitului, de aceea ie sirea respectiv a se noteaz a in tabelul de adev ar sau ,, n diagrama V-K cu simbolul - . Astfel de situat ii apar c and anumite congurat ii de intrare, restrict ionate prin condit iile de funct ionare, nu se aplic a niciodat a pe intr ari, sau c and pentru anumite congurat ii de intrare funct ionarea sistemului nu consider a valorile logice de pe ie siri. Simbolurilor indiferente din diagramele V- K, prin includerea lor n grupuri de c asut e elementare adiacente, pot aduce la expresii mult mai simple pentru IP esent iali sau neesent iali. Dupa caz, acestor simboluri li se

192

2.2. REPREZENTAREA CLC

pot atribui valoarea 1, pentru sinteza ca sum a de produse, respectiv 0, pentru sinteza ca produs de sume, astfel nc at suprafet ele care acoper a c asut e adiacente sa devin a c at mai mari. Exemplul 2.5 Pentru convertorul BCD - EXCESS3, din Figura 2.3 s a se deduc a formulele minime pentru ie sirile E3 , E2 , E1 , E0 . Solut ie. Din tabelul de adev ar din Figura 2.3 se obt in sub form a de list a valorile ie sirilor:
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 funt iilor incomplet denite. Exemplicare pentru sinteza convertorului BCD-EXCESS3, Exemplul 2.5.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

193

Pe intr arile circuitului se aplic a numai codurile BCD, combinat iile binare pentru numerele 10,11,12,13,14,15 nu se aplic a niciodat a, deci ie sirile corespunz atoare se noteaz a cu indiferent n diagramele V-K din Figura 2.10. Pentru sintez a ca sume de produse, pentru ie sirile ,, E3 , E2 , E1 , E0 , c asut elor notate cu - , ce intr a n grupuri de adiacent a selectate, li se atribuie valoarea logic a 1. Se obt in astfel urm atoarele forme minime: E3 E2 E1 E0 = A + BD + BC D + BD + BC = BC D + CD =C =D

2.2.3.2

Minimizare pe diagrame V-K cu variabile reziduu

Tabelul de adev ar, c and num arul de variablie este mare, poate redus la o form a cu mai put ine linii dac a unele din variabilele funct iei sunt introduse n coecient ii funct iei ca variabile reziduu, aceast a modalitate de reducere a fost exemplicat a in Figura 2.4. Similar, si diagrama V-K poate redus a de la 2 n c asut e la 2n1 c asut e c and se introduce una din variabile n coecient ii din interiorul c asut elor, respectiv la 2n2 c asut e c and se introduc dou a variabile reziduu si a sa mai departe. Pentru o funct ie de dou a variabile, fi2 , sau de trei variabile, fi3 , formulele analitice cu o variabil a reziduu introdus a n coecient ii funct iei sunt cele date de relat iile 2.3 respectiv 2.4. Se observ a c a expresia unui coecient reziduu, n funct ie de variabila reziduu x, este de forma di x + dj x. Ca structur a diagrama V-K, n raport cu o variabil a care se introduce ca variabil a reziduu x, cuprinde 2 n1 c asut e care au n coordonat a variabila x si 2n1 c asut e care au n coordonat a variabila x. C asut ele elementare care cuprind n coordonat a viitoarea variabil a reziduu x se spar a n dou a p art i egale dac a se traseaz a o linie prin mijlocul zonei corespunz atoarea variabilei x din diagrama V-K. In ambele p art i ale liniei mediane se grupeaz a c ate dou a c asut e elementare, una care are n coordonat ax si coecientul di si una care are n coordonat ax si coecientul d j . Se efectueaz a calculul di x +dj x care va noul coecient al c asut ei elementare n diagrama V-K rezultat a, iar coordonata acestei c asut e rezultate este tocmai coordonata comun a a celor dou a c asut e elementare din care a provenit. Acest nou coecient poate avea doar una din valorile 0, 1, x, x . Aceast a modalitate de reducere este prezentat a n Figura 2.11-a pentru o funct ie de trei variabile c and se elimin a variabila x 1 , iar in Figura 2.11-b pentru o funct ie de patru variabile c and se elimin a variabila x 0 . Pentru ecare din aceste cazuri se ha sureaz a zona variabilei reziduu, respectiv se duce linia median a prin aceast a zon a si se grupeaz a o c asut a din zona ha surat a (x) cu una din zona neha surat a ( x). De exemplu, pentru n = 3, prin gruparea c asut ei ha surate cu coecientul d 3 cu cea nscrie n noua neha surat a cu coecientul d1 se obt ine coecientul d3 x + d1 x care se va c asut a de coordonate x2 x0 (coordonata comun a a celor dou a c asut e luate mpreun a). Iar n diagrama V-K de patru variabile (x3 , x2 , x1 , x0 ) produsul d6 x 0 + d7 x0 care va n diagrama de trei variabile (x3 , x2 , x1 ) coecientul c asut ei de cordonate x 3 x2 x1 . Diagrama cu variabile reziduu poate o form a mai compact a si, uneori, cu astfel de diagrame se obt ine mai u sor forma minim a. Deducerea formei reduse dintr-o diagram a care cuprinde coecient i cu variabile reziduu se face n urm atorii pa si:

194

2.2. REPREZENTAREA CLC

x0 x1 x2 x 1x 0 d0 x2 d4 d1 d5

x0


d3 d7 x1 x0 d1x 1 + d3x 1 d5x 1 + d7x 1

d2 d6

x 1x 0 x 3x 2

x3

d12 d8

x1 x0 x2 d0x 1 + d2x 1 x2 a) d4x 1 + d6x 1 x 2x 1 x3 d0x 0 + d1x 0 x3 b) d8x 0 + d9x 0


d0 d4 d2x 0 + d3x 0 d10x 0 + d11x 0

x0

d1 d5

d13 d9 x0

d15 d11


d3 d7

d2 d6 d14 d10 x2

x1

x1 d6x 0 + d7x 0 d14x 0 + d15x 0 x2 d4x 0 + d5x 0 d12x 0 + d13x 0

Figura 2.11 Exemplicare de introducere a unei variabile reziduu: a) pentru o diagram a V-K de trei variabile; b) pentru o diagram a V-K de patru variabile. Pasul 1. In toate c asut ele elementare n care coecientul cont ine variabile reziduu se substituie acesta cu zero si apoi se face extragerea funct iei dup a regula normal a prin gruparea suprafet elor de 1-uri. Pasul 2. In toate c asut ele n care coecientul este 1 se substituie acesta cu indiferent si apoi se face extragerea dup a gruparea suprafet elor care cuprind coecient ii care au aceea si expresie de variabile reziduu. Pasul 3. Forma redus a a funct iei se obt ine prin sumarea logic a a expresiei obt inut a la Pasul 1 cu cea obt inut a la Pasul 2. Dar nu totdeauna forma redus a obt inut a la la Pasul 3 este cea minim a. Pentru a obt ine forma minm a se recomand a: 1. Folosind axiomele si teoremele algebrei logice, Tabelul 1.2, s a se transforme un coecient compus din termeni produs, care cont ine variabile reziduu, nc at s a se obt in a un num ar c at mai mic de termeni produs diferit i. 2. Dac a ntr-o c asut a exist a un coecient compus dintr-o sum a de termeni produs, care cont in variabile reziduu, atunci aceast a c asut a se include, conform pasului 2 enunt at anterior, in ecare din suprafet ele care acoper a unul dintre termenii produs din aceast a sum a.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

195

Exemplul 2.6 Pentru ie sirea E3 a convertorului BCD - EXCESS3, cu tabelul de adev ar dat n Figura 2.3, s a se deduc a expresia minim a utilliz and diagramele V-K pentru 4,3 si 2 variabile.
CD AB 00 00 01 A a) 11 10 0 C 01 0 1 11 0 10 0 1 CD B 00

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


0 1


1 A

B A

0 B 1 b)

A A


01 A 1 D 0 1 0 1

C A 1

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 1 A + D C B 0 0 1 A D BD 1 A A A

C CD 00 01 11 10 0 0 0 1 +

d)

B 1 0 C B 0 0 0 1 0

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

e)

1 D+A 1

Figura 2.12 Pentru ie sirea E3 a unui convertor BCD-EXCESS3 s-a dedus expresia minim a: a) utiliz and diagrama V-K de patru variabile; b,d) diagrama V-K de trei variabile (B ,C ,D); c,e) diagrama V-K de dou a variablie (B ,C ).
Solut ie. Din prezentarea funct iei E3 ntr-o diagram a V-K de patru variabile, Figura 2.12-a, si prin considerarea valorii 1 n c asut ele cu indiferent, se obt ine forma minim a E3 = A + BD + BC (expresie obt inut a si n Exemplul 2.5 ). Introduc and variabila A ca variabil a reziduu se obt ine diagrama de trei variabile (B ,C ,D) din Figura 2.12-d. Aplic and, Figura 2.12-b, cei trei pa si pentru obt inerea formei minime, dintr-o diagram a cu variabil a reziduu, se obt ine expresia minim a pentru E3 , identic a cu cea anterioar a. Introduc and si variabila D ca variabil a reziduu se obt ine diagrama V-K de dou a variabile (B ,C ) din Figura 2.12-c. Aplic and cei trei pa si pentru minimizare, dintr-o diagram a cu coecient i reziduu, se obt ine forma redus a E3 = BC + AB + BD + ABD, care difer a de forma minim a obt inut a cu cele dou a diagrame anterioare. Pentru a obt ine forma minim a trebuie f acute asupra coecient ilor din diagrama din Figura 2.12-c urm atoarele transform ari: , aplic Expresia coecientului D + DA and teorema de absorbt ie invers a, devine D + A ceea ce si n coecient ii reziduu din diagram a, face ca n loc de 3 termeni produs (A, D, DA), inclu s a e doar doi: A si D, Figura 2.12-e. Apoi, aplic and pa sii pentru extragerea formei reduse,

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 obt ine E3 = BC + A + BD care este forma minim a.

Uneori, prin extragerea formei reduse, dintr-o diagram a V-K care cont ine variabile reziduu, nu se ajunge la forma minim a din cauza folosirii redundante a unor c asut e cu valoarea 1. Poate exista situat ia n care o c asut a elementar a cu valoarea 1 n Pasul 1, care va avea valoarea indiferent a n Pasul 2, s a e inclus a n suprafat a unui termen produs care cont ine o variabil a reziduu (x) si de asemenea s a e inclus a si n suprafat a unui alt termen produs care cont ine aceea si variabil a reziduu doar negat a (x). Un astfel de 1 se nume ste dublu acoperit. Forma minim a se obt ine doar c and c asut a cu un 1 dublu acoperit se consider a 0 n Pasul 1 de extragere (c and se consider a suprafet ele de 1-uri). Exemplul 2.7 Pentru CLC cu tabelul de adev ar din Figura 2.4 s a se realizeze diagramele V-K de 4,3,2 variabile si s a se extrag a expresia minm a. Solut ie. Diagrama V-K pentru patru variabile (A, B, C, D) este reprezentat a n Figura 2.13-a; s-a considerat valoarea coecientului funct iei egal a cu 1 pentru congurat ia de intrare a diagram a expresia minim a AB D + ABD + BCD. indiferent a AB C D. Se extrage din aceast Introduc and variabila D ca variabil a reziduu se obt ine diagrama V-K de trei variabile (A, B, C ), Figura 2.13-b. Din aceast a diagram a rezult a urm atoarea form a redus a: ABC + AB D + BC D + ABD care difer a de forma minim a extras a din diagrama de patru variabile. In aceast a form a redus a apare n plus termenul ABC care corespunde tocmai suprafet ei de 1. La o inspect ie mai atent a, Figura 2.13-d, se observ a c a 1 din diagram a este un 1 dublu acoperit. In Pasul 2, n c asut a respectiv a se consider a indiferent, aceasta este acoperit a at at , deci termenul ABC de suprafat a lui D c at si de suprafat a lui D trebuie eliminat din forma redus a obt in andu-se astfel forma mimim a. Diagrama V-K de dou a variabile (A, B ), Figura 2.13-c, se obt ine din diagrama de trei variabile cu coecient i reziduu prin introducerea si a variabilei C ca variabil a reziduu. Forma redus a obt inut a din aceast a diagram a este (Pasul 1 nu se aplic a deoarece nu exist a suprafet e D + ABC care difer de 1) AB + ABD + ABC D a de expresia minim a. Prin aplicarea teoremei + D, deci de absorbt ie invers a termenul C + D devine C D n loc de patru termeni produs CD CD . Aplic C, D, D, n coecient ii reziduu vor doar trei: D, D, and doar Pasul 2 de extragere, deoarece nu exist a c asut e cu coecient 1, Figura 2.13 - e, se obt ine forma minim a D + ABD . AB + BC D

2.2.3.3

Minimizarea prin diagrame V-K a circuitelor cu ie siri multiple

S-a ar atat c a un CLC cu m ie siri, Figura 2.1, poate considerat ca nd compus din m circuite cu o singur a ie sire. P astr and acest mod de abordare, si pentru minimizarea circuitului cu m ie siri, procesul de minimizare se reduce la extragerea separat a a ec areia din cele m ie siri pe c ate o diagram a V-K; si, s-ar putea ca rezultatul s a e cel optim, dar numai c and cele m funct ii de ie sire nu au n component a lor termeni produs comuni. Pentru a identica eventualii termeni produs comuni, la unele din ie sirile circuitului, se impune ca procesul de reducere al funct iei FNC s a se fac a corelat. Pentru identicarea termenilor produs comuni n cele m funct ii de ie sire f 0 , f1 , ... fm1 se procedeaz a n felul urm ator: 1. Se realizeaz a diagramama V-K a funct iei produs logic ntre toate cele m funct ii

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

197

CD AB 00 00 01 A a) 11 10 0 0 0 1


01 0 1 0 0 B D

C 0 1 0 0

11

10 0 1 1 1 b) BC A 00 01 11 10 0 0 0 1 0 1 0 0 0 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 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 B 0 A 0 0 1 1 CD CD BCD B 0 0 D 1 C+D CD

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

   

d) B 0 A 0 0 e) 1 D

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

ABD+BCD B 0 A 0 0 1 D ABD+ABD 1 D +



C+D CD



CD

Figura 2.13 Exemplu de minimizare a unei funct ii de patru variabile (A,B ,C ,D): a) pe o diagram a V-K de patru variabile; b,d) pe o diagram a V-K de trei variabile (A,B ,C ); c,e) pe o diagram a V-K de dou a variabile (A,B ); init iale f0 f1 f2 ... fm1 (practic se obt ine printr-o intersect ie ntre toate diagramele V-K ale celor m funct ii). Se realizeaz a diagramele V-K ale funct iilor produs ntre c ate m 1 din cele m funct ii, apoi se realizeaz a diagramele V-K ale funct iilor produs ntre c ate m 2 din cele m funct ii s.a.m.d. p ana la realizarea diagramelor V-K ale funct iilor produs ntre c ate 2 funct ii. Num arul total de astfel de funct ii (diagrame V- K) produs este egal cu 2 m (m 1) la care se adaug a nc a m diagrame ale funct iilor init iale (pentru m = 8 rezult a 255 de diagrame!). Evident, aceast a metod a neautomatizat a este practicabil a doar la circuite cu cel mult 4 ie siri. 2. In diagrama V-K produs logic de m funct ii se identic a dac a exist a implicant ii primi comuni pentru toate funct iile init iale. Ace sti implicant i primi identicat i sunt eliminat i din toate diagramele (V-K) produs de m 1 funct ii si apoi din toate diagramele (V-K) produs p ana la diagramele produs de dou a funct ii. Pentru ace sti implicant i primi identicat i se gureaz a suprafet ele de acoperire n toate cele m diagrame V-K ale funct iilor init iale. Se reia acela si proces de identicare a implicant ilor primi comuni pe diagramele V-K produs logic de m 1

198

2.2. REPREZENTAREA CLC

funct ii p ana la gurarea suprafet elor respective de acoperire n diagramele V-K ale funct iilor init iale. Procesul de identicare de implicant i primi comuni se contimu a p ana la diagramele V-K produs logic de dou a funct ii. 3. Din cele m diagrame V-K ale funct iilor init iale se extrag formele reduse ale funct iilor, dup a procedeul normal, ncerc and a se selecta c at mai multe dintre suprafet ele care gureaz a mplicant i primi comuni (identicat i conform procedurii de la punctul 2). Circuitul cu ie siri multiple, rezultat printr-o minimizare corelat a, n general, utilizeaz a un num ar de termeni produs diferit i mai mic dec at num arul total de termeni produs diferit i obt inut printr-o minimizare separat a (necorelat a) pentru ecare funct ie n parte, deci un num ar mai mic de port i pentru implementare. Totu si, alegerea nal a pentru implementare nu este impus a numai de acest rezultat ci trebuie luate n considerare si: tipul de poart a logic a, factorii de nc arcare la intrare si ie sire si disponibilitatea semnalelor in sistem. Metoda minimiz arii corelat a este indicat a pentru sinteza circuitelor care se implementeaz a cu port i logice discrete, pe circuitele arii de port i logice si pe circuite logice programabile unde economisirea doar si a unei port i, la o replicare mare, determin a o economisire substant ial a. Exemplul 2.8 Pentru urm atoarele trei funct ii
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 a se realizeze o minimizare corelat a. Solut ie. Extragerea necorelat a a ec arei funct ii este realizat a pe diagramele V-K din Figura 2.14-a si se obt in urm atoarele expresii minime: (1) + BCD(2) + B C D (3) + AC D (4) F0 = ABD (6) + AB D (7) F1 = BC (5) + AC D (8) + BCD(2) + BC D (9) F2 = A D cu un num ar de 9 termeni produs diferit i din totalul de 10 (BCD este utilizat at at de F0 c at si de F2 ). In continuare se va proceda pentru extragerea corelat a. Diagrama V-K a funct iei produs logic F0 F1 F2 este reprezentat a n Figura 2.14-b iar a funct iilor produs logic F0 F1 , F0 F2 , F1 F2 n Figura 2.14-c. Singurul implicant prim comun, BCD din diagrama V-K a funct iei produs logic F0 F1 F2 , neconsiderat n produsele logice de dou a funct i, este gurat (ha surat spre dreapta) n diagramele V-K ale funct iilor F0 , F1 , F2 din Figura 2.14-d. Apoi, din diagramele funct iilor produs logic de dou a funct ii: pentru D care se gureaz F0 F1 se identic a implicantul prim comun AB a (ha sura spre st anga) BC D prin suprefet e pe F0 si F1 ; pentru F0 F2 se identic a implicantul prim commun A care se gureaz a (printr-un cerculet ha surat spre dreapta) prin suprafet e pe F0 si F2 ; pentru care se gureaz F1 F2 se identic a implicantul prim comun AC D a prin suprafet e pe F1 si F2 .

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

199

In continuare, de pe diagrama V-K a ec arei funct ii init iale, se extrage forma redus a dup a procedeul obi snuit c aut and ca, n acoperirea c asut elor elementare cu valoarea 1, s a e inclu si n primul r and implicant i primi esent iali si implicant i primi comuni identicat i. Rezult a expresiile: (1) + BCD(2) + AB D (3) + A BC D (4) + B C D (5) F0 = ABD D (3) + AC D (6) F1 = BCD(2) + AB D (7) + AC D (6) + A BC D (4) F2 = BCD(2) + AC Prin minimizarea corelat a s-au obt inut un num ar de 7 termeni produs diferit i dintr-un total de 12 termeni produs utilizat i, deci 5 sunt utilizat i de cel put in dou a funct ii.

Obt inerea unei forme reduse, eventual minim a, pentru o funct ie prin operat ii analitice, paragraful 1.15, sau utiliz and diagrama V-K pot constitui metode practicabile doar pentru funct ii de c ateva variabile. Pentru funct ii ce dep a sesc c ateva variabile sunt utilizate alte metode. Oricare ar aceste metode, n fond, procesul de reducere parcurge dou a etape: (1) identicarea tuturor implicant ilor primi ai funct iei si (2) apoi selectarea unui set minimal de implicant i primi care s a acopere funct ia. Aceste etape pot realizate e prin metode tabelare, de exemplu metoda Quine-McCluskey, e prin abord ari algoritmice, n termeni de structuri de date si funct ii de limbaj de nivel nalt [Wakerly 2001]. Evident, aceste abord ari au ca nalitate un program de minimizare inclus intr-un mediu de proiectare, de exemplu programul Espress II ,, sau varianta mai avansat a Espress - MV. Includerea unui algoritm exact ntr-un program de minimizare pentru o funct ie cu zeci de variabile si sute de termeni produs poate necesita un timp de calcul inacceptabil. Foarte frecvent o abordare euristic a, n locul unui algoritm exact, poate genera o expresie minim a sau aproape minim a dar cu o reducere a timpului de calcul cu peste un ordin de m arime.

2.2.4

Diagrama de decizie binar a, BDD

Informat ia cont inut a ntr-un tabel de adev ar, Figura 2.15-a, poate reprezentat a si printr-un graf sub forma unui arbore binar, arbore de decizie binar, BDT (Binary Decision Tree). Un arbore de decizie binar este un graf orientat, aciclic, care prezint a o r ad acin a si dou a tipuri de noduri: teminale si neterminale. Fiecare nod x este referit/etichetat prin variabila var(x) si are arce direct ionate spre doi succesori: Low(x), care corespunde tranzit iei c and variabilei x i se asigneaz a valoarea 0 High(x), care corespunde tranzit iei c and variabilei x i se asigneaz a valoarea 1 Fiecare nod terminal (frunz a) x este caracterizat prin valoarea (x) care poate 0 sau 1. Pentru o anumit a asignare a valorilor variabilelor unei funct ii (o congurat ie de intrare), parcurg and graful, de la r ad acin a pe traseul indicat de valorile respective ale variabilelor, se atinge un nod terminal a c arui valoare este tocmai valoarea funct iei corespunz atoare respectivei asign arii a variabilelor. In Figura 2.15-b este reprezentat BDT pentru funct ia cu tabelul de adev ar din Figura 2.15-a. BDT nu reect a o reprezentare concis a a unei funct ii booleene; n fond, un BDT nu este altceva dec at o form a grac a a tabelului de adev ar, care prezint a mult a redundant a . De exemplu, pentru arborele obt inut exist a numai 3 subarbori diferit i cu r ad acina de etichet a y0,

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 7 F2 1 1 F1

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

'& '& '& '&


F0

b)

./ ./
c)

F0

10 10 10
1 1 1

F1

 
F2 1 1

F1 1

F2

   
1 00 1

1 1

F1 C CD AB 00 01 11 10 00 01 1 A 11 1 10 1 D

23

)   () 54 54 (
1 1 1

F2 C CD AB 00 01 11 10 00 B A 11 10 01 1

1 1

89 +* *+ 76 67 +* +* ! ! ! !
1 1 D

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

1 1 1

, , %$ $% , -, " " - #" "# # #


1 1 D

1 1 1 B

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 a 3 funct ii: a) minimizarea necorelat a; b,c) diagramele V-K pentru produsele de c ate 3 si 2 funct ii; d) extragerea corelat a a expresiilor reduse ale funct iilor.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

201

din totalul de 8 subarbori cu r ad acina n y0 . Se poate obt ine o form a mult mai concis a de reprezentare a funct iei, denumit a Diagram a de Decizie Binar a, BDD (Binary Decision Diagram), dac a din BDT se elimin a redundant a. Obt inerea unui BDD, prin eliminarea redundant ei, apare n urma aplic arii repetate (p ana c and nu mai pot aplicate) a urm atoarelor trei proceduri: 1. Eliminarea nodurilor terminale duplicate. Dintre toate nodurile terminale (frunze) duplicate se ret ine doar unul, iar spre acesta se redirecteaz a toate arcele care erau directate spre frunzele eliminate. Prin aceast a procedur a se obt ine graful din Figura 2.15-c care are numai 2 noduri terminale n loc de 16. 2. Eliminarea nodurilor neterminale duplicate. Dac a pentru nodurile neterminale x si y exist a var(x) = var(y ) si low(x) = low(y ), high(x) = high(y ), atunci unul din noduri este eliminat iar arcele directate spre nodul eliminat sunt redirectate spre nodul p astrat. Inspect and graful din Figura 2.15-c se constat a c a din cele 8 noduri y 0 doar 3 sunt diferite, deci acesta se poate transforma n graful din Figura 2.15-d. 3. Eliminare testelor redundante. Dac a nodul neterminal x prezint a low(x) = high(x) atunci se elimin a nodul iar arcele directate spre acesta se redirecteaz a spre low(x). Aplic and aceast a procedur a pentru eliminarea celor dou a noduri y 0 , din mijloc, de la Figura 2.15-d se transfer a testul de redundant a asupra nodurilor x 0 din mijloc (acestea vor avea low(x0 ) = high(x0 )). Apoi, aplic and din nou aceast a procedur a sunt eliminate nodurile mediane x0 rezult and graful din Figura 2.15-e. Se observ a c a nu mai exist a nici o posibilitate de transformare, nici una din aceste proceduri nu se mai poate aplica. Denit ia 2.5 Diagrama de decizie binar a este redus a, RBDD (Reduced BDD), c and nu se mai poate realiza nici o transformare prin aplicarea celor trei proceduri de reducere. O diagram a de decizie binar a este referit a ca ordonat a, OBDD (Ordered BDD) dac a, pe oricare traseu parcurs de la r ad acin a la frunze, ecare variabil a este nt alnit a cel mult odat a si totdeauna variablilele sunt parcurse n aceea si ordine. Nu este necesar ca toate variabilele s a e nt alnite pe ecare traseu. Pentru funct ia din tabelul de adev ar din Figura 2.15-a, care este a unui CLC comparator pentru cuvinte de doi bit i x1 , x0 si y1 , y0 , f (x1 , x0 , y1 , y0 ) = (x1 = y1 ) (x0 = y0 ), implicit s-a considerat urm atoarea ordine x1 < y1 < x0 < y0 si a rezultat un OBDD cu 8 noduri. La un CLC conparator pentru cuvinte de n bit i p astr and aceea si ordine xn1 < yn1 < xn2 < yn2 < ... < x1 < y1 < x0 < y0 rezult a un num ar de (3n + 2) noduri. Dar dac a ordinea se stabile ste x n1 < xn2 < ... < x1 < x0 < yn1 < yn2 < ... < y1 < y0 atunci rezult a un OBDD cu (3 2n 1) noduri. Pentru o astfel de ordonare, x1 < x0 < y1 < y0 , (n = 2), BDD este reprezentat n Figura 2.15 - f, num arul de noduri ind 3 2 2 1 = 11. Num arul de noduri pentru un OBDD cu n variabile de intrare, n funct ie de ordonarea aleas a, se situeaz a ntre limita inferioar a, o dependent a liniar a de n, si limita cea mai dezavantajoas a, o

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 a, BDD, pentru un circuit comparator de 2 bit i: a) tabelul de adev ar; b) arborele de decizie binar a, BDT; c,d,e) etapele de trecere de la BDT la diagrama de decizie binar a BDD, n forma canonic a; f) BDD form a canonic a pentru ordonarea variabilelor x 1 < x0 < y1 < y0 .

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

203

dependent a exponent ial a de n. Multe funct ii logice uzuale au totu si o form a compact a de reprezentare. G asirea ordon arii optime, care s a duc a la un num ar minim de noduri n OBDD, este o problem a NP complet a. Abord arile euristice pentru g asirea ordon arii optime sunt, de multe ori, cu succes. In acest sens, de abordare euristic a, observat ia c a variabilele legate/asociate s a e str ans apropiate si n ordonare duce la o ordonare optim a sau cvasioptim a. Denit ia 2.6 BDD este sub form a canonic a dac a este redus a si ordonat a. Pentru o funct ie logic a cu ordonare xat a, forma redus a de OBDD este cea canonic a si aceast a form a este unic a. Diagrama de decizie binar a considerat a ca un suport abstract al unei funct ii booleene introduce posibilitatea ca operat iile efectuate cu funct iile booleene s a e implementate sub forma unor algoritmi graci asupra unor OBDD [Bryant 92] cu aplicat ii n sistemele digitale, logic a matematic a, inteligent a articial a. In sistemele digitale OBDD poate utilizat ca un instrument n proiectare, vericare si testare.

2.2.5

Modalit a ti neformale de reprezentare

Pentru aplicat ii concrete, de multe ori, denirea unui CLC prin una din metodele formale expuse anterior este foarte greoaie si inecient a. Astfel de aplicat ii apar de exemplu, c and circuitul are un num ar foarte mare de intr ari sau circuitul are o structur a repetitiv a. Dac a CLC prezint a mai mult de 5,6 variabile, maipularea funct iei sub form a analitic a, diagram a V-K sau tabel de adev ar devine nepractic a, n astfel de cazuri doar utilizarea unui program de analiz a si sintez a dintr-un mediu de programare poate solut ia.

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 atent ia trebuie concentrat a asupra logicii de funct ionare a celulei componente care apoi, prin replicare, poate forma structura complet a.

204

2.2. REPREZENTAREA CLC

Un exemplu simplu n acest sens este realizarea circuitelor AND si OR cu multe intr ari. Expresia operatorului sum a sau produs logic pentru multe variabile, folosind axioma asociativitat ii, poate aplicat repetitiv, obt in andu-se o form a care se modeleaz a cu un singur tip de poart a ale c arei intr ari sunt ie siri de la port i de acela si tip. De exemplu, pentru un AND cu n intr ari realizat prin nseriere de port i AND cu dou a intr ari xn1 xn2 ... x3 x2 x1 x0 = xn1 (xn2 (xn3 ... (x3 (x2 (x1 x0 ))...)) Acela si ANDn poate implementat cu AND2 sub form a de arbore binar. Pentru structurile repetitive mai complexe logica de funct ioare a celulei componente cont ine operat ii ce se realizeaz a n corpul unei bucle si care se efectueaz a de n ori, Figura 2.16-a. In aceast a organigram a pasul de init ializare 1 se execut a o singur a dat a iar ceilalt i trei pa si se execut a de n ori. Pasul 3 de incrementare si pasul 4 de ,, a testare al num arului de iterat ii sunt de fapt regia buclei , numai pasul 2 realizeaz a care, pe practic calculul efectuat de CLC. Pentru pasul 2 se poate concepe o celul baza intr arilor Ii , Ci , calculeaz a ie sirea Oi si transferul Ci+1 spre celula urm atoare, Figura 2.16-b. Un CLC iterativ, Figura 2.16-c, practic modeleaz a o desf a surare a buclei printr-o nseriere de n celule identice, c ate una pentru ecare iterat ie. Cea mai bun a cale expunere, a acestor modalit a ti de reprezentare, mai put in formale pentru CLC, este exemplicarea. Exemplul 2.9 Pentru un cuv ant de n bit i xn1 xn2 ...xi ...x1 x0 s a se realizeze circuitele combinat ionale care efectueaz a incrementarea, decrementarea si complementul fat a de 2. Solut ie. 1) Incrementarea. Prin adunarea bitului 1 n pozit ia cea mai put in semnicativ a, x 0 , a cuv antului rezult a totdeauna x 0 , deci circuitul de incrementare are n pozit ia x0 o poart a inversor. Un bit xi va afectat, adic a schimbat n n x i , de adunarea efectuat a n pozit ia x0 numai dac a aceast a adunare a generat un transport si acest transport s-a propagat p ana n pozit ia xi . Dar transportul se propag a p ana n pozit ia xi doar dac a tot i bit ii anteriori lui xi , ncep and cu x0 , au valoarea 1. Detectarea sirului de bit i 1 de la x0 p ana la xi se realizeaz a printr-un lant de port i AND iar ie sirea acestui lant la ecare pozit ie comand a complementarea bitului de la pozit ia respectiv a, adic a se aplic a la intrarea unei port i XOR, Figura 2.17-a. De fapt, incrementatorul poate privit ca un circuit num ar ator n sens direct: un num ar se obt ine din cel anterior plus 1, incrementatorului i lipse ste doar componenta care s a memoreze num arul anterior (vezi Figura 3.62-b). 2) Decrementarea. Prin sc aderea bitului 1 din pozit ia cea mai put in semnicativ a x0 a cuv antului rezult a totdeauna x 0 , deci implementarea pentru ultimul bit se face tot cu o poart a inversor. Dac a un xi = 1 acesta va complementat de modicarea n pozit ia x0 doar dac a tot i bit ii anteriori, ncep and cu x0 , au valoarea 0, deoarece numai atunci mprumtul necesar sc aderii x0 1 se propag a p ana la xi , schimb and toate zerourile n 1. Detectarea sirului de zerouri se face cu un lant de port i OR iar ie sirea acestui lant , la ecare pozit ie, comand a complementarea bitului de la pozit ia respectiv a aplic andu-se la intrarea unei port i NXOR, Figura 2.17-b. Decrementorul poate privit ca un num ar ator n sens invers. 3) Complementarea fat a de 2. Regula de obt inere a complementului fat a de doi al unui num ar negativ este: se complementeaz a tot ii bit ii, apoi se adun a 1. Se poate obt ine complementul fat a de 2 si prin urm atorul algoritm: parcurg and cuv antul de la dreapta la st anga se las a neschimbat i tot i bit ii mai put in semnicativi p ana la primul bit egal cu 1 inclusiv, apoi tot i bit ii care urmeaz a dup a acest 1 p an a la cel mai semnicativ se

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 fat a de 2.
complementeaz a. De exemplu: 390|10 = 01100000110|2 , ultimii doi bit i r am an neschimbat i iar ceilalt i se complementeaz a, rezult a c a 390|10 n complement fat a de 2 este 10011111010. Dup a acest algoritm implementarea circuitului de complementarea fat a de 2 este direct a. Bitul x0 r am ane neschimbat. Dac a primul bit 1 este n pozit ia xi nseamn a c a bit ii din primul interval, de la x0 p an a la xi , r am an neschimbat i iar cei din al doilea interval, de la xi+1 p ana la xn1 , se complementeaz a. Fiecare bit al cuv antului este o intrare la o poart a XOR iar pe cealalt a intrare a port ii se aplic a 0 pentru bit ii care nu se complementeaz a, din primul interval, si respectiv 1 pentru bit ii care se complementeaz a, din al doilea interval. Port ile XOR sunt comandate de ie sirile unui lant de port i care au pe ie siri valoarea 1 doar dup a primul bit 1 al cuv antului, deci aceast a selectare se poate realiza cu un lat de port i OR, Figura 2.17-c.

Exemplul 2.10 Pentru numerele naturale exprimate n binar natural, cu lungimea de patru bit i B3 B2 B1 B0 , s a se realizeze circuitul combinat ional care efectueaz a conversia n cod Gray G3 G2 G1 G0 si apoi circuitul care realizeaz a conversia G3 G2 G1 G0 n B3 B2 B1 B0 . Solut ie. Descrierea convertorului de cod binar natural - Gray ca un circuit cu patru ie siri G3 , G2 , G1 , G0 si patru intr ari B3 , B2 , B1 , B0 este dat a n tabelul de adev ar din Figura 2.18-a. Acela si tabel de adev ar descrie si conversia Gray - binar natural dac a se consider a G3 , G2 , G1 , G0 intr ari si B3 , B2 , B1 , B0 ie siri. Trebuie specicate diferent ele ntre tabelele de adev ar din Figura 2.3-a si Figura 2.18-a. Primul reprezint a conversia BCD - Gray, deci

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 si Gray - binar natural: a) tabel de adev ar pentru expresie; b,c) circuitele de conversie structurate repetitiv pe baz a de port i XOR.
cele 6 combinat ii (1010, 1011, 1100, 1101, 1110, 1111) nu se aplic a niciodat a pe intrarea convertorului, pe c and n al doilea tabel de adev ar conversia binar natural - Gray cele sase combinat ii nu mai sunt indiferente pentru circuitul convertor. Utilizarea tabelelor de adev ar cu 16 linii nu este prea atr ag atoare, n schimb, regulile de conversie expuse n paragraful 2.2.1 si reprezentate grac n Figura 2.2-a si b sunt mult mai practice si mai u sor de implementat. U sor de implementat, deoarece pentru ambele conversii se utilizeaz a sumarea a c ate doi bit i iar transportul se neglijeaz a ceea ce se realizeaz a cu o poart a XOR. Prin mapare direct a, utiliz and port i XOR pentru conversia binar - Gray din Figura 2.2-a rezult a circuitu din Figura 2.18-b, iar pentru conversia Gray - binar din Figura 2.2-b rezult a circuitul din Figura 2.18-c. Evident, structura circuitului din Figura 2.18-a si 2.18-b indic a si o exprimare iterativ a pentru aceste coversii. Aceste relat ii iterative se pot deduce u sor dac a se noteaz a cuv antul n binar natural prin Bn1 Bn2 ...Bi ...B2 B1 B0 iar cuv antul n cod Gray prin Gn1 Gn2 ...Gi ...G2 G1 G0 . Relat iile 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 a se structureze un circuit pentru detectarea si generarea parit a tii unui cuv ant. Solut ie. Paritatea unui cuv ant de n bit i refer a num arul de bit i 1 din acel cuv ant. Paritatea este par a sau impar a dup a cum num arul de bit i 1 ai cuv antului este par sau impar. Paritatea poate utilizat a ca un parametru n determinarea dac a un cuv ant a fost modicat/eronat n urma transmisiei pe o linie de comunicat ie. Se va explica acest procedeu

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 si generarea parit a tii: a,b) circuite pentru determinarea parit a tii unui cuv ant de doi bit i respectiv de 8 bit i; c,d) structur a sub form a de arbore din port i XOR pentru detectarea parit a tii pare respectiv impare a unui cuv ant de patru bit i; e,f) structuri pentru generarea de cuvinte de 5 bit i cu paritate impar a respectiv par a.

la transmisia serial a a unui cuv ant n cod ASCII-7 (American Standard Code for Information Interchange, lungimea de cuv ant de 7 bit i), vezi Exemplul 3.28. La emisie, nainte de transmisie, se determin a paritatea cuv antului de 7 bit i prin num ararea bit ilor 1. C and transmisia se face cu paritate par a se adaug a al optulea bit, bitul de paritate, de valoare 1 dac a paritatea determinat a a fost impar a si se adaug a al optulea bit de valoare 0 dac a paritatea determinat a a fost par a. Iar pentru transmisia cu paritate impar a se adaug a al optulea bit de valoare 0 dac a paritatea determinat a a fost impar a respectiv se adaug a 1 dac a paritatea determinat a a fost par a. La recept ie, la o transmisie cu paritate par a, dac a se detecteaz a paritate par a nseamn a c a n cuv antul transmis nu s-a modicat nici un bit (deci transmisie corect a), ori s-a modicat un num ar par de bit i 1 (transmisie incorect a), iar dac a paritatea detectat a este impar a transmisia este incorect a. Pentru transmisie cu paritate impar a dac a paritatea detectat a este impar a n cuv antul transmis, nu s-a modicat nici un bit cu valoarea 1 (transmisie corect a), ori s-au modicat un num ar par de bit i (transmisie incorect a) iar dac a paritatea

208

2.2. REPREZENTAREA CLC

detectat a este par a transmisiunea este incorect a. Rezult a c a n utilizarea parit a tii pentru determinarea corectitudinii transmisiei se consider a implicit c a se modic a doar un num ar impar de bit i; alte metode pot utilizate pentru determinarea corectitudinii transmisiunii si pentru cazurile c and se modic a orice num ar de bit i si, chiar mai mult, pot s a si corecteze eroarea produs a n cuv antul recept ionat (metode detectoare - corectoare). Sinteza unui detector de paritate, pentru un cuv ant n cod ASCII-7, la emisie ar necesita un tabel cu 27 = 128 linii, iar pentru recept ie cu 28 = 256 linii. Mai mult, deoarece congurat iile binare de intrare n succesiunea lor alterneaz a par-impar-par..., ar rezulta, pentru sinteza circuitului, o diagram a V-K cu 128 respectiv 256 c asut e elementare dar cu o umplere de 1-uri n form a de tabl a de sah, deci imposibil de minimizat. Acest mod de abordare ar necesita la recept ie o implementare cu 128 port i AND cu 8 intr ari si o poart a OR cu 128 de intr ari! Trebuie g asit a o alt a modalitate de exprimare si deci de implementare. Suma aritmetic a, XOR, a unui num ar par de bit i 1 dintr-un cuv ant este totdeauna zero si este totdeauna unu pentru un num ar impar de bit i 1. Deci elementul repetitiv n detectarea tipului de paritate este poarta XOR (pentru un cuv ant de doi bit i o singur a poart a Figura 2.19-a, iar pentru un cuv ant de opt bit i un lant de sapte port i XOR ca n Figura 2.19b. Descrierea unei astfel de structuri repetitive rezult a prin aplicarea repetitiv a a axiomei asociativit a tii operatorului XOR pentru cuv antul de opt bit i: (((((((x0 x1 ) x2 ) x3 ) x4 ) x5 ) x6 ) x7 ). Dezavantajul acestei implement ari rezid a n nserierea a sapte niveluri de port i XOR. Se poate obt ine o implementare cu o propagare numai pe trei niveluri de port i XOR dac a se aplic a asociativitatea nt ai pe grupuri de 2 intr ari apoi pe grupuri de c ate 4 si de c ate 8, rezult and o structur a de arbore binar. (((x0 x1 ) (x2 x3 )) ((x4 x5 ) (x6 x7 ))). Se va exemplica, cu o structur a sub form a de arbore, pentru detectarea par/impar la un cuv ant de 4 bit i care are pe ie sire o poart a XOR pentru semnalarea de paritate par a P AR = 0 si respectiv o poart a NXOR pentru semnalarea de paritate impar a IM P AR = 0 (s-a ales un NXOR pentru ca detectarea parit a tii impare s a e semnalat a tot prin valoarea logic a zero, ca si la paritatea par a). ( Incercat i o structurare pentru 8 intr ari). In Figura 2.19-c acest circuit este utilizat pentru vericarea parit a tii pare (pentru P AR = 0, IM P AR = ) si genereaz a, de exemplu, pentru cuv antul de intrare 0110 la ie sire semnalul activ de paritate par a P AR = 0. Acela si circuit dar utilizat pentru vericare de paritate impar a (pentru P AR = , IM P AR = 0) este prezentat n Figura 2.19-d, unde pentru acela si cuv ant de intrare 0110 (par) genereaz a un semnal fals de paritate impar a IM P AR = 1. Ca generator de paritate, acela si circuit este utilizat pentru a produce un cuv ant de 5 bit i cu paritate impar a (pentru IM P AR = 0, P AR = ) n Figura 2.19-e, iar pentru a produce paritate par a (pentru P AR = 0, IM P AR = ) n Figura 2.19-f. Bitul generat pe ie sirile IM P AR sau P AR se adaug a ca al cincelea bit pentru a realiza paritatea impar a respectiv par a a cuv antului de 5 bit i care se transmite. Se observ a c a circuitul pentru detectarea parit a tii pare este utilizat si la generarea parit a tii pare, de asemenea circuitul pentru detectarea parit a tii impare este utilizat si la generarea parit a tii impare.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

209

2.3

REALIZAREA CIRCUITELOR COMBINAT IONALE

Pentru realizarea unui CLC, in general, se parcurg urm atoarele etape: 1. Formularea/exprimarea, n termeni c at mai preci si, a problemei care trebuie rezolvat a. 2. Pe baza formul arii problemei se construie ste tabelul de adev ar care stabile ste relat ia dintre variabilele de intrare si cele de ie sire. Atent ie trebuie acordat a nivelului logic asignat pentru starea activ a a ec arei variabile de intrare si pentru ie siri (un semnal X activ n stare L se noteaz a X L sau uneori cu X ). 3. Se utilizeaz a o metod a de minimizare (diagrama V-K, sau o metod a algoritmic a sub forma unui program) pentru a obt ine o form a redus a/minim a ca o funct ie disjunctiv a, FD, sum a de produse sau ca o funct ie conjunctiv a, FC, produse de sume (vezi sect iunea 1.1.5). 4. Implementarea circuitului. Forma FC sau FD se potrive ste astfel nc at implementarea s a e realizat a cu tipurile de poart a impus a/disponibil a si n funct ie de tehnologia utilizat a. Se deseneaz a structura circuitului. 5. Se testeaz a circuitul si se elaboreaz a documentat ia. Funct iile FC sau FD obt inute la punctul 3 pot implementate pe dou a niveluri logice. Aceasta presupune, implicit, c a la intrare sunt disponibile variabilele at at sub form a negat a c at si sub form a nenegat a. Aceast a presupunere se bazeaz a pe faptul c a variabilele sunt memorate cu registre a c aror ie siri sunt disponibile at at negate c at si nenegate. Teoretic, se pune ntrebarea, utiliz and cele patru tipuri de port i uzuale AND, OR, NAND, NOR, c ate combinat ii de implementare pe dou a niveluri sunt posibile? Implementarea pe dou a niveluri are mai multe port i de acela si tip pe primul nivel iar pe al doilea nivel o singur a poart a; nu este restrict ionat a utilizarea aceluia si tip de poart a pe ambele niveluri. Rezult a n total 16 combinat ii de implementare pe dou 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 port i AND n primul nivel si poart a AND n al doilea nivel produce o ie sire care este un AND de toate variabilele 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 acela si r and sunt duale (Denit ia 1.2). Variantele AND-OR si OR-AND sunt cele de baz a si corespund implement arii directe a formelor FD, sum a de produse, repsectiv FC, produs de sume. Variantele cu un singur tip de poart a NAND-NAND si NOR-NOR se obt in prin transform ari respectiv a variantelor de baz a AND-OR si OR-AND. Conversia AND-OR n NAND-NAND apare ca o transformare

210

2.3. REALIZAREA CIRCUITELOR COMBINAT IONALE

natural a dar nu la fel de natural a apare conversia n NOR-NOR, Figura 1.5-a,b. De asemenea, conversia OR-AND n NOR-NOR apare ca o transformare natural a dar mai put in natural a apare conversia n NAND-NAND, Figura 1.5-c,d.
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 Echivalent a formelor de impelmentare pe 2 niveluri: a)NANDAND cu AND-NOR (echivalent AND-OR-NEGAT) ; b) NOR-OR cu OR-NAND ( OR-AND-NEGAT). Se poate demonstra c a variantele de implementare NAND-AND si AND-NOR sunt echivalente: (AB )(CD) = (AB )(CD) = (AB ) + (CD). In plus, aceste doua variante se obt in din varianta de baz a AND-OR, sum a de produse, prin negare adic a, ANDOR-NEGAT Figura 2.20-a. Varianta AND-OR de implementare este a unei funct ii f care se obt ine ca sum a de produse prin acoperirea tuturor c asut elor elementare cu 1 din diagrama V-K, pe c and varianta AND-OR-NEGAT de implementare este a , care se obt funct iei negate, f ine ca sum a de produse prin acoperirea tuturor c asut elor se obt elementare cu 0 din diagrama V-K. Dac a din diagrama V-K forma f ine mai u sor, atunci aceasta se extrage si apoi prin complementare produce pe f . De asemenea,exist a echivalent a ntre NOR-OR si OR-NAND:(A + B )+(C + D) = (A + B ) + (C + D) = (A + B )(C + D) si care se obt in din forma de baz a OR-AND, produs de sume negat, adic a OR-AND-NEGAT, Figura 2.20-b. Dac a extragerea funct iei f ca produs de sume din diagrama V-K, prin selectarea suprafet elor cu zero, ca produs de sume din diaeste o operat ie mai complicat a dec at extragerea funct iei f grama V-K prin selectarea suprafet lor cu unu, atunci se procedeaz a pentru obt inerea care, apoi, prin negare genereaz lui f a pe f . Denit ia 2.7 Pentru un CLC cu n intr ari se noteaz a ad ancimea D(n), care este egal a cu num arul maxim de niveluri logice (port i) prin care se propag a cel put in unul dintre semnalele de la intrare p an a la ie sire. Ad ancimea minim a obt inut a pentru implementarea unei funct ii FC sau FD este egal a cu 2. Dintre variantele nedegenerate de implementare pe dou a niveluri sunt recomandate NAND-NAND si NOR-NOR deoarece: 1. introduc o uniformitate structural a prin utilizarea aceluia si tip de poart a, deci facilit a ti tehnologice.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

211

2. elimin a efectele de propagare. La frecvent e ridicate, c and durata/l a timea impulsurilor este redus a, transferul unui impuls printr-un lant de de port i neinversoare poate duce la disparit ia acestuia (reducerea l a timii impulsului dup a propagarea prin ecare nivel logic), ceea ce nu se nt ampl a la tranferul impulsului printrun lant de port i inversoare. Un astfel de fenomen se explic a prin faptul c a, n general, pLH > pHL , n consecint a , la transferul prin ecare poart a neinversoare l a timea inpulsului se ngusteaz a cu duarata = pLH pHL , pe c and la transferul printr-un lant de port i inversoare, l a timea impulsului se reface dup a ecare 2 niveluri logice. Ad ancimea D(n) a unui circuit reect a timpul de propagare care este egal cu durata de propagare printr-o poart a, p , nmult it cu num arul n de niveluri logice, deci determin a performant a, frecvent a de lucru a circuitului f = 1/n p . In acest sens, rezult a c a implement arile pe dou a niveluri sunt cele recomandate deoarece determin a un timp minim de propagare, 2p , prin circuit. Totu si, acest a recomandare trebuie analizat a critic n funct ie de tehnologia de implementare. Pentru realizarea CLC pe suport de circuit imprimat si port i logice discrete implementarea funct iei pe dou a niveluri logice este optim a. Este corect a aceast a armat ie mai ales c and port ile sunt n tehnologie bipolar a, la care timpii de propagare sunt mai put in sensibili la valoarea de nc arcare (fan-out). Nu aceea si valabilitate o are aceast a armat ie pentru implement arile integrate n tehnologie CMOS. In tehnologie CMOS, c and nt arzierea pe poart a este pronunt at afectat a de nc arcarea port ii, implementarea pe dou a niveluri logice s-ar putea s a nu e cea optim a de pentru opt inerea unui circuit de vitez a ridicat a. Alegerea num arului optim N niveluri logice pe un anumit traseu n funct ie de nc arcarea traseului este prezentat a n sect iunea 1.5.6.2, Tabelul 1.15. Obt inerea unei expresii pentru o implementare multinivel, dintr-o form a redus a dinsjunctiv a, se realizeaz a prin utilizarea axiomei distributivit a tii. De exemplu, expresia ACD + AB + BC , implementabil a pe dou a niveluri AND-OR ca n Figura 2.21-a, prin factorizarea variabilei A va implementabil a pe patru niveluri: dou a port i AND pe primul nivel, o poart a OR pe nivelul doi, o poart a AND pe nivelul trei si o poart a OR pe nivelul patru. Dar aceast a structur a poate transformat a pentru o implementare, tot pe patru niveluri, numai cu port i NAND ca n Figura 2.21-b. Formele de scriere care exprim a aceste implement ari sunt: ACD + AB + BC = A(CD + B ) + BC = ((CD B )A)(BC ) Prin scalare, (Tabelul 1.11) timpul de propagare pe poart a se mic soreaz a dar datorit a faptului c a la acelea si dimensiuni ale cipului majoritatea traseelor de comunicat ie/ interconectare r am an la acelea si lungimi, acestea determin a ca o serie de alt i parametrii ai circuitului (c aderea de tensiune, densitatea de curent, rezistent ele de contact, timpul de propagare pe linie) s a e afectat i de degrad ari (vezi sect iunea 4.5). In plus, diminuarea puterii disipate pe poart a determin a o abilitate mic sorat a a port ii pentru comanda capacit a tii liinilor. In asemenea circumstant e, c and scalarea are inuent a mult mai mare asupra timpilor de propagare prin port i dec at asupra timpilor de propagare prin conexiuni, nt arzierea medie pe nivel logic este mai puternic determinat a de interconexiuni dec at de port i, n consecint a , un num ar redus de port i nseriate nu determin a automat si performant a de vitez a ridicat a pentru circuit.

212

2.3. REALIZAREA CIRCUITELOR COMBINAT IONALE

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 a niveluri logice (a) si pe patru niveluri logice (b). Un CLC cu n intr ari, pe l ang a ad ancimea D(n), mai trebuie caracterizat si prin efortul structural necesar pentru realizarea sa, adic a prin dimensiunea sa, notat a cu S (n). Dar, acest efort trebuie exprimat printr-un num ar ce reect a si este specic unei tehnologii de implementare. De exemplu, pentru realizare pe plac a de sticlotextolit cu circuite integrate discrete, acel num ar ar putea : num arul de puncte de wrapping ori de lipit, num arul de circuite integrate sau num arul tuturor intr arilor n circuitele integrate. Dac a se realizeaz a integrat, acel num ar ar putea : num arul total de port i, num arul tuturor intr arilor n port ile circuitului sau suprafat a de siliciu consumat a. Denit ia 2.8 Dimensiunea S(n), asociat a unui circuit cu n intr ari, se exprim a prin num arul de intr ari al tuturor circuitelor integrate din care se congureaz a acel circuit. In general, S (n) se exprim a ca ordin de m arime. Conform acestei denit ii, toate circuitele cu patru intr ari (n = 4) pe dou a niveluri 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) Semnal am corelat ia care se poate face ntre dimensiunea S (n), dat a prin Denit ia 2.8 si efortul logic exprimat prin Denit iile 1.16, 1.17 si 1.18. Conform Denit iei 2.8 , o poart a cu c at are mai multe intr ari, cu at at dimensiunea sa este mai mare si, la fel, un CLC cu c at este compus din mai multe port i, si acestea au dimensiunea mai mare, cu at at dimensiunea rezultat a va mai mare. Similar, o poart a logic a CMOS cu c at are mai multe intr ari, are un efort logic g (n) mai mare, relat iile de calcul din Tabelul 1.13 exprim a clar aceast a dependent a . De asemenea, cu c at un traseu n tehnologie CMOS este realizat din mai multe niveluri, si ecare nivel are efortul logic mai mare, cu at at si efortul logic G al traseului este mai ridicat. Deci, pentru implement arile CMOS s-ar purtea utiliza efortul logic ca o m asur a a dimensiunii circuitului. Intre cele dou a m arimi S (n) si D(n), care caracterizeaz a un CLC, exist a o interdependent a , vizibil a si intuit a de oricare proiectant, dar care nu este exact denit a. Practic, se constat a c a dac a se caut a pentru CLC o variant a de implementare mai rapid a, deci cu un D(n) mai mic, se constat a c a este necesar s a se m areasc a dimensiunea S (n). In [Stefan 00] se propune o formalizare a acestei interdepentent e: e varianta1 a a unui circuit cu n intr ari care realizeaz a funct ia f caracterizat a prin S 1 (n) si D1 (n). Dac a varianta2 a acestui circuit este caracterizat a prin D 2 (n) < D1 (n) atunci, relat ia ntre produsele S (n) D(n), ale celor dou a variante, este corect a S2 (n) D2 (n) > S1 (n) D1 (n) (2.9)

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

213

adic a, m arirea performant ei circuitului (mic sorarea ad ancimii) cu un anumit factor (de performat a ) implic a cre sterea dimensiunii circuitului de mai multe ori dec at valoarea acestui factor de preformat a (vitez a). Pentru compararea variantelor de realizare a unui CLC trebuie s a existe un parametru sintetic, acesta poate exprimat prin raportul cost/performant a (care exprim a c at costa unitatea de performant a ). Costul este determinat de dimensiunea S (n) exprimat a nu neap arat n funct ie de num arul de terminale, ca n Denit ia 2.8 , ci de oricare caracteristic a ce poate determina dimensiunea. In plus, pe l ang a S (n), costul este determinat si de complexitate C (n), denit ia 2.1 . Un circuit chiar de dimensiune mare dar simplu (structur a ordonat a, repetitiv) poate realizat la un cost rezonabil, nu la fel se poate arma despre costul unui circuit de dimensiune ridicat a si complex (structur a nt ampl atoare - random logic). Un alt aspect urm arit n realizarea unui CLC este de ordin calitativ, adic a o funct ionare corect a, ceea ce implic a eliminarea situat iilor de hazard. De asemenea, uneori, se impune ca circuitul s a e recongurabil, adic a adaptabil prin modicarea structur arii pentru mai multe aplicat ii sau pentru aceea si aplicat ie dar n diferite variante. Recongurabilitatea a devenit un concept curent n sistemele digitale actuale.

2.3.1

Hazardul static

Analiza circuitelor combinat ionale s-a efectuat p ana acum consider and regimul static (intr arile si ie sirile nu au variat ii n timp), pentru aceasta se presupune c a din momentul de modicare a valorilor variabilelor de intrare a trecut deja un timp mult mai lung dec at timpul de propagare prin circuit (regimul tranzitoriu), deci ie sirea este stabilizat a. In regim static, valoarea logic a a ie sirii se calculeaz a corect cu funct ia logic a a circuitului. Dar, ce se nt ampl a n intervalele tranzitorii, pe intervalele de timp c and semnalele sunt n propagare de la intrare la ie sire? La aplicarea unei congurat ii pe intrare, de multe ori, valoarea logic a real a (obt inut a la ie sire pe durata regimului tranzitoriu) nu este identic a cu valoarea logic a la ie sire calculat a cu funct ia logic a a circuitului; valoarea logic a la ie sire devine egal a cu cea calculat a numai dup a consumarea regimului tranzitoriu. Aceste situat ii c and CLC, care trebuie s a aib a un ,, comportament controlabil, prezint a o funct ionare hazardat a (necontrolat a) fat a de analiza n regim static sunt referite cu termenul de hazard static. Fizic, hazardul static se manifest a prin aparit ia n semnalul de ie sire a unor impulsuri parazite (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 consecint a a dou a cauze: 1) comutarea asincron a a valorilor variabilelor de intrare (hazardul datorat asincronismul la intrare); 2) existent a pentru o variabil a de intrare a dou a trasee de propagare cu nt arzieri diferite (hazardul de propagare). 1) Hazardul datorit a asincronismului la intrare. Trecerea de la o valoare logic a a ie sirii la o alt a valoare logic a este cauzat a de modicarea (comutarea) congurat iei cuv antului de intrare. Implicit, s-a considerat, p an a acum, c a aceast a comutare a tuturor variabilelor de intrare de la o anumit a congurat ie la o alta se face n acela si moment de timp, se realizeaz a o comutare sincron a. In realitate, c and se trece de la o congurat ie a variabilelor de intrare la o alta exist a un decalaj ntre momentele de comutare ale diferitelor variabile, poate numai nt ampl ator exist a o

214

2.3. REALIZAREA CIRCUITELOR COMBINAT IONALE

comutare sincron a. De fapt, acest asincronism face ca ntre congurat ia de intrare prezent a si congurat ia de intrare urm atoare s a se interpun a, pe durata regimului tranzitoriu, una sau mai multe congurat ii de intrare care produc glitch-uri n semnalul de ie sire.
A B B Comutare sincrona A Comutare asincrona A
t t L< tH tL tH t H< t L tH tL tH t H< t L tL tL t L< tH tH

ED ED ED ED ED
tL tL

tH tH

B AB A+B A+B

< : <= ;: @ > @A >?

AB AB A+B A+B A+B A+B

CB CB CB CB CB GF GF GF GF GF

Figura 2.22 Explicativ a pentru aparit ia hazardului datorit a asincronismului la intr arile port ilor AND,OR si XOR Aparit ia hazardului datorit a asincronismului intr arilor este exemplicat n Figura 2.22 pentru port ile AND,OR,XOR cu dou a intr ari. Consider and o comutare spre valori opuse ale intr arilor A, B s-a desenat variat ia semnalului de ie sire at at pentru comutare sincron a c at si pentru comutare asincron a. La comutare asincron a, c and tranzit ia negativ a precede pe cea pozitiv a, t L < tH ,, sau c and tranzit ia pozitiv a precede pe cea negativ a, tH < tL , semnalul de ie sire din poart a poate nc arcat cu glitch-uri (hazard). Acest semnal de ie sire, dac a va utilizat ca semnal de intrare pentru un circuit urm ator, va produce o funct ionare eronat a. Se poate evita hazardul de nesincronizare dac a se impune ca n congurat ia de intrare nciodat a s a nu comute mai mult de o singur a variabil a sau nainte de aplicarea congurat iei pe intr arile circuitului aceasta s a e sincronizat a (vezi Figura 3.46). 2) Hazardul de propagare. Dac a la o poart a din interiorul circuitului, sau din nivelul de ie sire al circuitului, semnalele aplicate la intrarea circuitului ajung pe trasee diferite, care implic a nt arzieri diferite, atunci la ie sirea acelei port i poate apare hazard. De fapt, la poarta generatoare de hazard semnalele se aplic a la intervale de timp diferite ceea ce, de fapt, reduce hazardul de propagare tot la un hazard de asincronism, numai c a de data aceasta asincronismul nu este la intr arile circuitului ci la intr arile unei port i din circuit, adic a n interiorul circuitului. De exemplu, la circuitul pe patru niveluri din Figura 2.21-b p an a la intrarea port ii NAND de pe ultimul nivel variabilele parcurg: A -un nivel logic, B -pe un traseu dou a niveluri un nivel logic, D logice si pe alt traseu un nivel logic, C -trei niveluri logice, C trei niveluri logice. Rezult a c a chiar dac a congurat ia de intrare se aplic a sincron, la intrarea ultimei port i, cele dou a semnale A si B vor avea o variat ie hazardat a determinat a de timpii de propagare ai port ilor de pe traseele parcurse. Calculul exact al nt arzierilor pe ecare traseu nt ampin a dicult a ti deoarece ca dat a de catalog este

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

215

dat doar timpul de propagare maxim nu si cel minim, care, n general, un este identic la toate port ile (depinde de dispersia tehnologic a) si este funct ie si de inc arcarea pe ie sirea port ii. Dar chiar si la implement arile pe dou a niveluri se poate genera hazard de propagare n cazurile c and unele variabile negate sunt generate n interiorul circuitului (de fapt negarea n interiorul circuitului introduce pentru unele semnale al treilea nivel de propagare). In aceste cazuri rezut a c a implement arile de tipul AND-OR, NANDNAND produc hazard static 1, adic a pe durata regimuluii tranzitoriu, chiar c and doar o singur a variabil a de intrare comut a, n semnalul de ie sire care ar trebui s a e 1 apare un glitch 0; de asemenea, implement arile de tipul OR-AND, NOR-NOR produc hazard static 0, adic a pe durata regimului tranzitoriu n semnalul de ie sire care ar trebui s a e 0 apare un glitch 1. Teorema 2.1 Dac a expresia unei funct ii poate adus a la forma f (xn1 , xn2 , ..., xi , ..., x1 , x0 ) = xi + x i atunci, ntr-un circuit implementat cu port i logice, se va genera hazard static 1 la comutarea variabilei de intrare xi din 1 n 0 (pentru valori precizate ale celorlalte variabile de intrare).

1 0

A B=1

HI
p

f 2=AB+AC 1 AB 3 2 AC 1 0 A BC 0 A+A c) 1 00 01 1

AC 11 1 1 BC (adaugat) 1 AB 10

a)

C=1

1 0 1 0 1 0 b)

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

AB

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

AC

3 BC (adaugat)

Figura 2.23 Analiza aparit iei hazardului static 1 pentru funct ia f2 = AB + AC: a) structura circuitului; b,c) analiza aparit iei hazardului pe diagrama de semnale respectiv pe diagrama V-K; d) modicarea circuitului (linie ntrerupt a) pentru eliminarea hazardului. Se va exemplica aparit ia hazardului pe urm atoarele dou a funct ii: f 1 = AB + ABC, f2 = AB + AC . Funct ia f1 nu poate adus a pentru nici o combinat ie de

216

2.3. REALIZAREA CIRCUITELOR COMBINAT IONALE

valori ale variabilelor B si C la forma A + A si la fel nu poate adus a la forma B + B pentru nici o combinat ie de valori date variabilelor A si C. A doua funct ie dac poate adus a la forma f2 = A + A a B = C = 1. Rezult a c a circuitul, Figura 2.23-a, care implementeaz a funct ia f2 , prezint a hazard static 1; generarea hazardului se poate analiza cu ajutorul diagramelor de semnal din Figura 2.23-b. Variat ia variabilei A, de la 1 la 0, ajunge la intrarea port ii 3 pe primul traseu prin semnalul produs logic AB de la poarta 1 si pe al doilea traseu prin semnalul produs logic AC de la poarta 2 (dar cu o nt arziere p ), deci un asincronism la intrarea port ii 3. De asemenea, analiza aparit iei hazardului static 1 se poate face si pe diagrama V-K din Figura 2.23-c. Funct ia are valoarea logic a 1 la ie sire c and congurat ia variabilelor de intrare corespunde unui implicant prim, IP, implicant cee a fost selectat pentru expri,, marea funct iei. Mai plastic exprimat, punctul de funct ionare al funct iei se a a n interiorul suprafet ei unui implicant prim c and la intrarea circuitului se aplic a valorile coordonatelor acelui implicant. Dac a prin comutarea unei singure variabile punctul ,, de functionare r am ane n interiorul suprafet ei acelui implicant prim nu se genereaz a ,, hazard (ie sirea ind asigurat a n valoare 1), dar dac a punctul de funct ionare trece n interiorul asuprafet ei unui alt implicant prim, se genereaz a hazard static 1 (ie sirea, pe durata trecerii ntre cele dou a suprafet e/inplicant i nu mai este asigurat a n 1, devine 0). In diagrama V-K a funct iei f2 la comutarea lui A de la 1 la 0 se trece din suprafat a implicantului prim AB (pentru care ie sirea este n 1) n suprafat a implicantului prim AC (pentru care ie sirea este n 1). Pentru ca prin aceast a comutare punctul de ,, funct ionare s a r am an a totu si n interiorul unei suprafet e de 1 (care s a asigure ie sirea ,, la valoarea 1) se introduce nc a o suprafat a n diagrama V-K (o suprafat a punte ntre suprafet ele celor doi implicant i primi) care corespunde implicantului prim BC . In consecint a , n structura circuiitului, Figura 2.23-d, trebuie ad augat a poarta 4 care genereaz a produsul BC (partea de circuit desenat a punctat). Fizic, introducerea implicantului prim neesent ial BC elimin a hazardul deoarece asigur a ie sirea funct iei n 1 pe durata de propagare, p , a semnaluilui A prin poarta inversoare c and la ie sire ar = 0. A+A Ca regul a general a, se poate enunt a: nu apare hazard la comutarea unei variabile ,, dac a punctul de funct ionare r am ane n interiorul aceleia si suprafet e de 1, dar dac a se trece intr-o alt a suprafat a de 1, se va produce hazard static 1. Pentru eliminarea hazardului este necesar a introducerea unui produs n structura circuitului a c arui ,, coordonat a determin a o suprafat a punte (implicant prim cu valoarea 1) pe diagrama ,, V-K, n interiorul c areia s a r am na punctul de funct ionare la comutarea variabilei. + C ), care este forma dual Funct ia (A + B )(A a a funct iei analizate anterior, pentru , va genera hazard static 0, adic valorile C = 0, B = 0 se reduce la produsul A A a va produce un glitch 1 pe ie sire c and variabila de intrare A va comuta de la 0 la 1. Pentru eliminarea acestui glitch este necesar a se introduce n implementarea circuitului a termenului sum a (suplimentar) B + C , care va asigura valoarea 0 pe ie sirea funct iei atunci c and A comut a de la 0 la 1. ,, In exprim arile anterioare, de multe ori, n loc de sintagma forma minim a a funct iei s-a utilizat forma redus a. Aceasta pentru c a chiar dac a prin sintez a se obt ine o form a minim a, prin implementare, pentru eliminarea hazardului, se introduc implicant i neesent iali si n nal se ajunge la o form a redus a. Circuitul din Figura 2.23d demonstreaz a aceasta, pentru eliminarea hazardului static, formei minime AB + AC i se adaug a termenul BC , deci implementarea este a unei forme reduse.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 port i AND,OR,XOR pentru detectarea de fronturi. Producerea asincronismului la intararea unei port i prin aplicarea unei variabile si a aceleia si variabile negate (prin intermediul unui inversor) poate utilizat a pentru detectarea de fronturi, Figura 2.24. La aceste circuite dac a se consider a punctele de intrare n poart a n pozit ia gurat a de linia ntrerupt a notat a cu I 1 se observ a apare totdeauna un asincronism la intrarea port ii; variat ia pe intrarea A nt arziat a cu timpul p de propagare prin inversor n raport cu variabila pe intrarea A. Poarta AND genereaz a un impuls pozitiv cu durata p pentru un front pozitiv, poarta OR genereaz a un impuls negativ pentru un front negativ iar poarta XOR genereaz a un impuls negativ pentru oricare tip de front. La ie sirea unui CLC poate ap area pentru o comutare a unei variabile de intrare de la 1 la 0 si urm atoarea comutare hazardat a 1 0 1 0 (trei schimb ari ale valorii ie sirii) respectiv pentru o comutare de la 0 la 1 pot ap area urm atoarele trei schimb ari ale ie sirii: 0 1 0 1, acest comportament este referit ca hazard dinamic. Hazardul dinamic este cauzat de existent a n circuit a trei sau mai multe trasee diferite pentru o variabil a de intrare, ecare traseu av and un alt timp de propagare. Astfel de structuri rezult a n urma factoriz arii expresiilor sum a de produse, Figura 2.21-b, sau c and exist a trasee lungi de interconectare ntre port i de vitez a ridicat a. Hazardul dinamic poate evitat dac a se realizeaz a implement ari numai pe dou a niveluri logice, adic a aducerea expresiei de implementat la o form a FD. Not iunile prezentate p an a acum n acest capitol mpreun a cu cele de structurarea port ilor, expus a n capitolul 1, constituie un suport pentru realizarea unui CLC pornind de la formularea funct ion arii cerute/impuse p an a la implementarea ntr-o anumit a tehnologie. Dar, parcurgerea tuturor etapelor, de ecare dat a c and se realizeaz a un sistem, apare ca o abordare nerecomandat a at at din punct de vedere al efortului c at si al timpului consumat, deci in nal al costului. In acest sens, este reco,, mandabil ca pentru realizarea unui sistem s a se utilizeze componente prefabricate . In cadrul circuitelor combinat ionale pentru anumite funct ii logice, aritmetice sau de comunicat ie foarte des utilizate, exist a deja circuite care modeleaz a acele funct ii realizate ntr-o anumit a tehnologie, integrate pe scar a mic a SSI (Small Scale Integration),

218

2.4. CLC PENTRU FUNCT II LOGICE

pe scar a medie MSI (Medium Scale Integration) sau chiar integrate pe scar a mare LSI (Large Scale Integration) . In stadiul actual, c and este necesar a realizarea unei astfel de funct ii uzuale, nu se mai implementeaz a circuitul, ci se alege un circuit obtenabil comercial pentru care este necesar a cunoa sterea datelor electrice de catalog si a variantelor de funct ie logic a. Pentru un sistem mai complex, funct ia acestuia se caut a a sintetizat a din funct ii uzuale pentru care exist a deja circuite implementate, deci realizarea sistemului se reduce la selectarea potrivit a de componente integrate deja existente si conectarea lor corespunzator. Funct iile uzuale care au un suport circuistic combinat ional sunt de tip: logic, aritmetic si de comunicat ie. In continuare, n acest capitol, se vor prezenta unele circuite combinat ionale, de facto standard, care realizeaz a astfel de funct ii.

2.4

CIRCUITE COMBINAT IONALE PENTRU FUNCT II LOGICE

Forma redus a, sau cea minim a, a funct iei unui circuit combinat ional este e o sum a de produse, e un produs de sume. Aceste forme pot implementate pe organiz ari cu dou a niveluri de AND-OR (NAND-NAND) sau OR-AND (NOR-NOR). In consecint a , este normal ca pentru implementarea unei funct ii reduse, sau minime, s a se apeleze la acele structuri, pe dou a nivele, deja realizate. Pentru toate circuitele combinat ionale prezentate n continuare se va urm ari m asura n care acestea pot un suport pentru implementarea de funct ii logice pe dou a niveluri.

2.4.1

Codicatorul

Funct ia de codicare const a ntr-o translatare de limbaj. Particulariz and aceast a foarte general a denit ie, o codicare n binar const a ntr-o aplicat ie de pe o mult ime cu n elemente disjuncte ntr-o mult ime de cuvinte binare cu lungime de m bit i; m = log2 n bit i, 2m n (simbolul denot a cel mai mic num ar intreg egal sau mai mare dec at num arul din interiorul simbolului). Deci, circuitul codicator, CDC, este caracterizat de n intr ari si m ie siri, notat simbolic cu CDCn:m. Aplicat ia realizat a de circuitul codicator este injectiv a, adic a ec arei intr ari active, din cele n, i corespunde doar un singur cuv ant de ie sire cu lungimea de m bit i. Pentru exemplicare se va prezenta sinteza unui codicator din zecimal (DEC) n cod BCD, cu schema bloc reprezentat a n Figura 2.25-a. Circuitul are 10 intr ari (I0 , I1 , I2 , ..., I9 ) corespunz atoare celor zece cifre zecimale si genereaz a un cuv ant de ie sire pe 4 bit i (24 > 10). La aplicarea pe intrare a cifrei zecimale i, prin activarea intr arii Ii , la ie sire se genereaz a codul BCD al cifrei i. Detaliat, funct ionarea codifcatorului DEC/BCD este descris a prin tabelul de adev ar din Figura 2.25-b. Se poate deduce expresia logic a a ie sirii O3 n felul urm ator: O3 are valoarea logic a 1 numai c and la intrare se aplic a cifra 8 sau cifra 9, adic a este activat a intrarea I 8 SAU I9 , deci O3 = I 8 + I 9 Rat ion and n acela si mod se deduc ecuat iile logice si pentru ceilalt i trei bit i ai

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

219

cuv antului de ie sire: 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


"0"
Intrarea activata (cifra zecimala) I0 I1 I2 I3 I4 I5 I6 I7 I8 I9

I0 I1 I2 I3 I4 I5 I6 I7 I8 I9

DEC

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

("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" "4" "5" "6" "7" "8" "9"

JK LM NO PQ ]\ RS TU VW

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

XYZ[ ^_ `a

a)

CV

c)

Figura 2.25 Sinteza circuitului codicator zecimal - binar, DEC/BCD : a) schema bloc; b) tabelul de adev ar; c) structura circuitului. Structura circuitului codicator, implementat pe baza acestor ecuat ii, este reprezentat a n Figura 2.25-c si se compune din patru port i OR cu 2,4 si 5 intr ari. In cazul general de codicare a n elemente, prin activare n 1 logic, pe cuvinte binare cu lungimea de m bit i circuitul codicator const a n m port i OR cu maximum n 0 logic codicatorul este structurat din n intr ari, iar c and intr arile Ii L sunt active m port i NAND cu maxim n intr ari. Observat ia important a care rezult a din aceast a implementare este: Codicatorul este implementat pe un nivel OR sau operat ia de codicarea este o funct ie logic a OR. Analiz and implementarea CDC apar dou a decient e. Prima, la ie sire nu se poate face distinct ie ntre cazul c and cuv antul de cod pe ie sire are valoarea O 3 O2 O1 O0 = 0000, datorit a faptului c a nu s-a activat nici o intrare, sau cazul c and s-a activat intrarea I0 . Se poate face distinct ia ntre cele dou a cazuri dac a se genereaz a un semnal de ie sire CV care semnalizeaz a cod valid CV = 1, respectiv cod invalid CV = 0. Citirea unui cod invalid CV = 0 apare numai atunci c and nu este activat a nici o intrare si este citit un cod corect c and una din intr ari I i este activat a, deci rezult a ecuat ia logic a CV = (I0 + I1 + ... + I8 + I9 ), care este implementat a n Figura 2.25-c prin traseele cu linii punctate si o poart a OR.

220

2.4. CLC PENTRU FUNCT II LOGICE

A doua decient a const a n faptul c a CDC funct ioneaz a corect numai c and o singur a intrare este activat a, de exemplu la activarea simultan a a intr arilor I 3 si I4 cuv antul de cod generat este 0111 (incorect!), care ar corespunde aplic arii cifrei 7 dar intrarea I7 nu a fost activat a ci doar I3 si I4 . Ca circuit codicator DEC/BCD, obtenabil comercial, exist a circuitul integrat 74xx147.

2.4.2

Codicatorul prioritar, CDCP

A doua decient a a circuitului codicator se poate elimina prin introducerea unei priorit a ti n generarea codului. La o codicare cu prioritate, ec arei intr ari I i i se aloc a o anumit a prioritate n intervalul de la cea mai mic a p an a la cea mai ridicat a prioritate. Astfel, la activarea simultan a a mai multor intr ari codicatorul prioritar va genera numai codul intr arii activate care are prioritatea cea mai ridicat a. Pentru exemplicare se va considera un codicator prioritar cu opt intr ari I 0 , I1 , ..., I7 care genereaz a pe cele trei ie siri O2 , O1 , O0 cuv antul de cod de trei bit i y2 y1 y0 n binar natural, Figura 2.26-a. Pentru acest codicator CDCP8 : 3 alocarea priorit a tii pe intr ari este de la I0 spre I7 ; intrarea I0 are prioritatea ce mai mic a iar I7 cea mai 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 P 2P 1 P0 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 a de CDCP8:3 (la un sistem pe baz a de microprocesor). Pentru urm atorul cuv ant X = x7 x6 x5 x4 x3 x2 x1 x0 = 00010111, aplicat pe intr arile corespunz atoare, cuv antul de cod generat este Y = y 2 y1 y0 = 100 ceea ce corespunde activ arii intr arii I4 , celelalte intr ari activate I2 = 1, I1 = 1 si I0 = 1 nu afecteaz a cuv antul de ie sire deoarece au prioritate mai mic a dec at intrarea I 4 . Iar, pentru cuv amtul de cod generat pe ie sire Y = y2 y1 y0 = 101, care corespunde activ arii intr arii I5 = 1, congurat ia cuv antului de intrare este de forma x 7 x6 x5 x4 x3 x2 x1 x0 = 001xxxxx, ceea ce nseamn a c a intr arile de la I 0 la I4 , care au prioritate mai mic a dec at I5 , pot activate sau nu (indiferente). Pentru codicatorul prioritar, ntre cuv antul X aplicat pe intrare si cel generat pe ie sirea Y , interpretate ca numere ntregi n binar natural, se poate scrie urm atoarea relat ie:

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

221

Y = log2 X

(2.10)

Codicatorul calculeaz a la ie sire un num ar ntreg Y care este partea ntreag a log2 X a logaritmului n baza doi a num arului X aplicat pe intrare. Deci, circuitul codicator prioritar realizeaz a si o funct ie aritmetic a. In continuare se va realiza sinteza logic a a circuitului CDCP2 3 :3. Sinteza circuitului, pornind de la tabelul de adev ar, se poate realiza doar cu un program de calcul deoarece trebuie denite trei funct ii O2 , O1 , O0 ecare de opt intr ari I7 , ..., Ii , ..., I1 , I0 (ar necesita trei tabele de adev ar cu 256 linii!). Sinteza poate mult u surat a dac a se utilizeaz a observat ia: un cuv ant binar la ie sire, y 2 y1 y0 |2 = i|10 , este generat de toate cuvintele de intrare X care au bit ii egali cu 0 n pozit iile superioare lui i, bitul egal cu 1 n pozit ia i si bit i de valoare indiferent a n pozit iile inferioare lui i. In spiritul acestei observat ii se pot introduce urm atoarele variabile intermediare H i (care denesc expresia logic a pentru care intrarea Ii , 0 i 7, si genereaz a codul pe ie sire): H7 H6 H5 . . H0 = I7 7 = I6 I 7 = I 5 I6 I 1 I 2 I 3 I 4 I 5 I 6 I 7 = I0 I

Cu aceste variabile intermediare sinteza codicatorului prioritar se realizeaz a similar ca cea a codicatorului din sect iunea 2.4.1. Din tabelul cuvintelor de cod (num arul lor ind limitat de data aceasta la opt), pentru ecare intrare, Figura 2.25-b, se deduc expresiile pentru O2 , O1 si O0 sub forma unor sume logice n felul urm ator: 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 funct iilor O2 , O1 , O0 s-a ad augat si semnalul de cod valid la ie sire, CV , dedus la sinteza codicatorului. Pentru ca circuitul CDCP2 3 : 3 s a e exibil n aplicat ii mai trebuie nzestrat cu un semnal de validare funct ionare circuit, E L (Ena, circuitul va genera semnale numai c and este able, activ n L, E = E L). Adic validat de c atre semnalul E L = 0. Aceasta implic a pentru semnalele O 2 , O1 , O0 si iile anCV ca generarea lor s a e condit ionat a de activarea lui E L = 0. Din relat terioare, prin substitut iile corespunz atoare, se obt in urm atoarele relat ii logice pentru structurarea circuitului CDCP23 :3: O2 = E (I7 + I6 + I5 + I4 ) 5 ) 4 I 5 + I2 I 4 I O1 = E (I7 + I6 + I3 I 6 + I3 I 4 I 6 + I1 I 2 I 4 I 6 ) O0 = E (I7 + I5 I CV = E (I0 + I1 + I2 + I3 + I4 + I5 + I6 + I7 )

(2.11)

Aplicat ii CDCP2n :n sunt numeroase, majoritatea lor se bazeaz a pe funct ia sa aritmetic a, relat ia 2.10, adic a se determin a dintr-o mult ime de elemente active pe acela c aruia i s-a alocat prioritate maxim a.

222

2.4. CLC PENTRU FUNCT II LOGICE

O astfel de aplicat ie pentru CDCP este implementarea ntreruperilor vectorizate la un microprocesor, P , Figura 2.26-b. Principial, succesiunea n realizarea ntreruperilor vectorizate este urm atoarea: c and un periferic Pi (i = 0, 1, ..., 7) necesit a serviciul P activeaz a intrarea I i ; codicatorul prioritar CDCP8:3 va genera pe ie sire (legat a la magistrala de date) codul zecimal-binar al intr arii Ii si va activa semnalul de cerere de ntrerupere (IRQ Interrupt ReQuest) al P , IRQ = CV ; P sesiz and, prin IRQ, o cerere de 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 a subrutina care va rezolva problema perifericului solicitant. Se ruleaz a subrutina; dup a servirea perifericului se trece la servirea altui periferic dac a semnalul IRQ este activat. Intr-un sistem de calcul pentru o funct ionare economic a, si eventual n timp real, ec arui periferic i se acord a o anumit a prioritate n raport cu celelalte. In aceast a aplicat ie, printr-o implementare pe baza de CDCP8:3, ec arui periferic P i i se xeaz a prioritatea prin modul n care este conectat la una dintre cele opt intr ari I 0 , I1 , ..., I7 (se consider a c a prioritatea cea mai mare o are I 7 iar cea mai mic a o are I0 ). Dac a simultan IRQ este activat de perifericele P2 , P3 si P6 numai vectorul 101 va nscris pe magistrala de date corespunz ator perifericului P 6 , deci acesta va servit. Dup a servirea perifericului P6 vor servite n ordine perifericele P3 si P2 dac a acestea ment in activate I3 respectiv I2 (IRQ=1). Uneori, n aplicat ii sunt necesare codicatoare prioritare cu mai mult dec at opt intr ari, pentru care nu exist a circuite de tip MSI obtenabile. Dac a, de exemplu, sunt necesare 16 intr ari (x0 , x1 , ..., x7 , x8 , ..., x15 ) se va structura un CDCP24 :4 prin nserierea a dou a circuite CDCP23 :3 ca n Figura 2.27. La primul CDCP23 :3 se repartizeaz a intr arile x0 , x2 , ..., x7 , codicabile prin cuvintele de ie sire y3 y2 y1 y0 =0000, 0001, ...,0111, iar la al doilea CDCP23 :3 se repartizeaz a intr arile x8 , x9 , ..., x15 , codicabile prin cuvintele de la ie sire y3 y2 y1 y0 =1000, 1001, ...,1111. Din analiza cuvintelor de cod se constat a c a bitul y3 are valoarea 1 totdeauna c and cel put in o intrare din intervalul x8 x15 este activat a si are valoarea 0 c and nici una dintre intr arile din acest interval nu este activat a. Deoarece ecare dintre codicatoare produce numai trei bit i de cod O2 , O1 , O0 bitul al patrulea din cod, y3 , va determinat de activarea a cel put in unei intr ari din intervalu x8 x15 , deci poate calculat prin semnalul CV de la al doilea codicator, y3 = CV2 . Ceilalt i trei bit i de cod y3 , y2 , y1 sunt generat i e pe ie sirile O2 , O1 , O0 ale primului codicator, c and se activeaz a intr ari din intervalul x0 x7 , e pe ie sirile O2 , O1 , O0 ale celui de-al doilea codicator, c and se activeaz a intr ari din intervalul x8 x15 , deci rezult a c a se obt ine cuv antul de ie sire printr-un SAU ntre cuvintele corespunz atoare celor dou a codicatoare. Se observ a c a o activare n intervalul x8 x15 , a semnalului CV = 1 (legat la intrarea de validare a primului codicator care este activ a n zero, E L=0) va devalida pe primul codicator CV = E L = 1, acesta va validat numai c and nu este activat a nici o intrare din intervalul x8 x15 , CV = E L = 0.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE


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 intr ari ca o extensie serie de la un codicator prioritar cu 8 intr ari. Extensia la un codicator cu 32 de intr ari, adic a un CDCP2 5 :5, se poate obt ine 4 printr-o nseriere a dou a CDCP2 :4, ecare cu o structurare ca cea din Figura 2.27. Pentru o extensie care nu este o dublare a num arului de intr ari, de exemplu, la o extensie de la 16 intr ari la 24 intr ari se nseriaz a un un CDCP2 3 :3 cu un CDCP24 :4. Deoarece bitul al cincelea y4 , din cuv antul de cod de ie sire y4 y3 y2 y1 y0 , are valoarea 1 numai c and exist a o activare n intervalul de intr ari x 16 x23 , n rest are valoarea 0 numai, acest bit se obt ine din semnalul CV de la CDCD 2 3 :3. De asemenea, bitul y3 are valoarea 0 pe intervalul x15 x23 n rest se calculeaz a ca n Figura 2.27. Cu aceste observat ii se poate structura u sor codicatorul prioritar cu 24 intr ari. Ecuat iile logice pentru cel mai simplu CDCP21 :1, cu dou a intr ari I0 , I1 si ie sirea O0 , referit codicator prioritar elementar, CDCPE, se obt in din relat iile 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 a num arului intr arilor si corespunz ator cre sterii cu un bit a cuv antului de ie sire, se pot deni si, respectiv, structura recursiv codicatoarele CDCP22 :2, CDCP23 :3, CDCP24 :4,..., CDCP2n :n. Se va nota pentru codicatorul CDCP2n :n, cu 2n intr ari si un cuv ant de cod de n bit i, dimensiunea respectiv ad ancimea prin S (n) si D(n). Structurarea recursiv a pornind de la CDCPE se poate face prin extensie paralel a. In [Stefan 00]se demonstreaz a c a pentru extensia paralel a caracteristicile obt inute sunt S (n) 2 n si D(n) O(2n ), adic a o dimensiune care depinde linar de num arul de intr ari (2 n ), accepatbil pentru implementare, si o ad ancime tot liniar a n funct ie de num arul de intr ari, deci performant a de vitez a sc azut a pentru n ridicat. Iar pentru structurarea serie, a unui CDCP2 n :n porinind de la CDCPE, caracteristicile sunt S (n) 2 n si D(n) O(n), de data aceast a rezult a si pentru performant a de vitez a o m arime acceptabil a. Obtenabil comercial exist a codicatorul cu 8 c ai de intrare cu ie sirea n cod binar natural, 74xx148, a c arui structur a si funct ionare pot reg asite n codicatorul generic prezentat n Figura 2.26.

224

2.4. CLC PENTRU FUNCT II LOGICE

2.4.3

Decodicatorul, DCD

Funct ia de decodicare este o aplicat ie de pe o mult ime de 2 n cuvinte binare ntr-o mult ime de 2n elemente distincte, prin decodicare ec arui cuv ant binar cu lungimea le n bit i i se asigneaz a un element distinct. Deci, funct ia de decodicare apare ca aplicat ia invers a celei de codicare (ce asigneaz a unui element dintr-o mult ime de 2 n elemente distincte un cuv ant de cod). Circuitul care modeleaz a funct ia de decodicare este notat prin DCDn:2n deoarece prezint a n intr ari (un cuv ant de intrare cu lungimea de n bit i) si 2n ie siri (distincte). Ca exemplicare se va prezenta circuitul decodifcator pentru cuvinte cu lungime de 2 bit i, DCD2:4. Tabelul de adev ar al circuitului DCD2:4 este prezentat n Figura 2.28-a. Pe l anga cuv antul de intrare x1 x0 , circuitului i se aplic a si o un semnal de validare E L (E = E L) astfel c a funct ionarea circuitului, obt inerea unei ie siri active din cele patru O3 , O2 , O1 si O0 , este posiblil a numai c and si semnalul de validare este activ E L = 0. Fiec arui cuv ant de intrare x 1 x0 din cele patru (00,01,10,11) i corespunde o ie sire activ a (respectiv: O 0 = 1, O1 = 0, O2 = 1, O3 = 1), deci funct ionarea circuitului apare ca o identicare de cod. Din tabelul de adev ar 0 ; O0 = E I 1 I0 ; 1 I pentru ecare ie sire se obt ine expresia logic a de forma O 0 = E I 0 ; O0 = E I1 I0 . Se observ a ca o ie sire Oi devine activ a c and pe intrare O0 = E I 1 I se aplic a mintermul Pi , i = 0, 1, 2, 3. Se poate generaliza, un circuit decodicator DCDn:2n va genera ie sirea Oi activ a atunci c and pe intrare se aplic a mintermul Pi , i = 0, 1, 2, ..., 2n 1. Decodicatorul 2:4 este reprezentat ca schem a bloc n Figura 2.28-b, iar ca structur a n Figura 2.28-c.
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 adev ar; b) reprezentare, schem a bloc; c) structur a compus a din decodicatoare elementare si port i AND; c) structurarea decodicatorului elementar, DCD1:2. Structura decodicatorului elementar DCDE (DCD1:2), cu o singur a intrare si dou a ie siri, se poate deduce pornind de la DCD2:4, prin eliminarea intr arii I 1 , e din structura circuitului, e din tabelul de adev ar ( si n acest ultim caz efectu and sinteza). In structura obt inut a pentru DCDE, Figura 2.28-d, dac a se elimin a semnalul

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

225

de validare E L nu mai sunt necesare cele dou a port i AND, circuitul decodicator elementar se reduce la cele trei port i inversor. Pentru intrarea I 0 = 0 ie sirea activ a, O0 = 1 se obt ine printr-un buer inversor, iar pentru, I 0 = 1, ie sirea activ a O1 = 1 se obt ine prin nserierea a dou a port i buer inversor; aceasta este de fapt o structur a de circuit furc a 2 1, Figura 1.67. Se adopt a un circuit furc a pentru ca nt arzierile celor dou a ie siri O1 si O0 s a e egale (poate necesar un circuit furc a (n 1) n n funct ie 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 obt ine nebuerat, O1 = I0 , iar O0 se obt ine buerat prin inversor, O0 = I0 . Aceast a variant a de structurare se evit a n practic a deoarece pentru I0 = 1, ie sirea este conectat a direct la intrare si, n plus, semnalele pe cele dou a ie siri au timp de propagare diferit i. Pentru DCDE (furc a 2-1) ad ancimea si dimensiunea au respectiv valorile D(1) = 2, S (1) = 3. Pornind acum invers de la DCDE spre DCD2:4, se observ a c a DCD2:4 se structureaz a din dou a decodicatoare elementare si patru port i AND3. Un DCD3:8 s-ar structura din 3 DCDE si opt port i AND4. Extinz and la DCDn:2 n structurarea ar n din nxDCDE si 2 port i AND(n+1). Nelu and n considerare intrarea de validare E (care nu reduce din generalizare, dar port ile AND vor avea o intrare mai put in) pentru DCDn:2n se obt in caracteristicile de ad ancime D(n) DCD si dimensiune S (n)DCD : 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 a structurare (ca o extensie pornind de la DCDE) pentru DCDn:2 n , care poate referit cu ad ancime constant a, prezint a o foarte bun a caracteristic a de vitez a dar o dimensiune O(n 2n ) ce poate ridica unele probleme la implementare. De fapt, valorile calculate prin relat iile 2.13 trebuie luate ca valori minimale. Aceste valori minimale pot utilizate pentru evalu arile implement arilor n tehnologia bipolar a si c and n nu are valori prea ridicate, este cazul circuitelor docodicatoare realizate ca circuite integrate MSI sau circuite discrete, cu n cel mult 4 sau 5. Pentru implement ari tip VLSI, este cazul memoriilor de capacitate ridicat a c and n 30, n tehnologia CMOS (pentru care timpii de propagare depind puternic de nc arcare) structurarea decodicatorului se va modica fat a de structura cu ad ancimea constant a prezentat a n Figura 2.28-c. In primul r and DCDE va un circuit furc a cu un num ar de niveluri logice (Tabelul 1.16) n funct ie de efortul electric. In al doilea r and o poart a AND cu n intr ari, de exemplu c and n = 32, pe un singur nivel logic este tehnologic foarte dicil de realizat, deci poarta se structureaz a sub form a de arbore din port i AND, care au un num ar mai mic de intr ari, rezult and un arbore cu mai multe niveluri de AND. Dac a, de exemplu, poarta AND se structureaz a logic sub form a de arbore din port i AND2 atunci se obt in log2 n niveluri de AND2 iar ad ancimea DCD2:n ar D(n) = DDCDE + log2 n. Dar, de fapt, ad ancimea arborelui de port i AND rezut a n funct ie de efortul F (Tabelul 1.15) al traseului prin arborele de port i AND care substituie poarta ANDn. Exemplul 2.12 Pentru cele trei structuri de poart a AND (notate cu varianta a, b si c) reprezentate n Figura 2.29 s a se estimeze care este cea mai rapid a. Se consider a c a la ecare structur a capacitatea de intrare Cin este de 4 unit a ti; estimarea se va face pentru dou a valori ale efortului electric H = 1 si H = 12. Apoi structura mai rapid a s a se dimensioneze. (2.13)

226
g=10/3 p=8 g=1 p=1

2.4. CLC PENTRU FUNCT II 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 port i AND cu opt intr ari.
Solut ie. Se calculeaz a efortul logic total ca produs dintre efortul logic de pe ecare nivel (valorile se obt in din Tabelul 1.13) pentru ecare dintre cele trei variante si se obt ine: Ga = 10/3 1 = 3, 33; Gb = 2 5/3 = 3, 33; Gc = 4/3 4/3 4/3 1 = 2.96. Analiz and numai dup a efortul logic ar rezulta c a varianta c ar cea mai rapid a, dar nt arzierea depinde de efortul total, F = GBH , si nu numai de efortul logic. Aplic and relat ia 1.102, pentru calculul nt arzierii minime D pe un traseu, rezult a: varianta a : varianta b : varianta c : = 2(2, 33 H )1/2 + 9 D D = 2(2, 33 H )1/2 + 6 = 4(2, 96 H )1/4 + 7 D

n care introduc and cele dou a valori pentru H = 1 si pentru H = 12. Se obt in valorile: H=1 = N F 1/N + P D 12,65 9,65 12,25 H=12 = N F 1/N + P D 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 nt arzierea cea mai mic a, iar pentru H = 12 (Cin = 4, C0 = 12 4 = 48) varianta c are nt arzierea cea mai mic a. = F 1/4 = (2, 96 12)1/4 = 2, 44. Pornind de la Dimensionarea variantei c (H=12) : f ultima poart a (inversor) care are C0 = 12 4 = 48 unit a ti, rezult a sarcina pentru nivelul 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 COMBINAT IONALE

227

(10, 73 5/3)/2, 44 = 7, 33. In nal, ca vericare, se poate calcula capacitatea de intrare Cin = (7, 3 4/3)/2, 44 = 4. = F 1/2 = (3, 33 1)1/2 = 1, 83. Pornind de la Dimensionarea variantei b (H=1) : f ultima poart a NAND2 care are sarcina C0 = H Cin = 1 4 = 4 rezult a capacitatea de sarcin a pentru primul nivel (NAND4), Cin2 = (4 5/3)/1, 83 = 3, 64 valoare care este mai mic a dec at capacitatea de intrare la primul nivel Cin = 4. Aceast a valoare subunitar a pentru h1 = 3, 64/4 = 0, 91 apare datorit a faptului c a s-a egalizat efortul pe ecare nivel, iar nivelul unu are o poart a care prezint a un efort logic g1 = 2, rezut a c a h1 g1 = 0, 91 2 = 1, 82. Valorile capacit a tilor de intrare Ci , calculate pentru ecare nivel, se vor repartiza pe dimensiunile port ilor tranzistoarelor de intrare.

Din analiza structurii unui decodicator rezult a: decodicatorul este structurat pe un nivel AND, sau decodicarea este o funct ie logic a AND (identicare de cod/mintermi). Un DCDn:2n genereaz a intern, si sunt disponibili la ie sire, tot i cei 2n mintermi de n variabile. In consecint a , un DCDn : 2n poate utilizat pentru implementarea unei funct ii logice cu n variabile, dat a sub forma FND (sum a de termeni canonici produs), deoarece genereaz a tot i termenii canonici produs de n variabile, iar nivelul OR al implement arii se adaug a din exterior (o poart a OR care colecteaz a termenii canonici care au valoarea 1). O form a disjuntiv a FD, pentru implementare trebuie nt ai extins a la o form a FND (sum a de termeni canonici) deoarece la ie sirea decodicatorului oricum sunt disponibili tot i termenii cononici produs. Circuitele decodicator, pe l ang a suportul de nivel AND n implementarea func tiilor logice, poate modela si o funct ie aritmetic a. Dac a cuv antul de intrare X , cu lungimea de n bit i si cuv antul generat pe ie sire Y , cu lungimea de 2 n bit i, sunt interpretate ca numere ntregi, exprimate n binar natural, atunci ntre aceste dou a numere exist a relat ia: Y = 2X (2.14) adic a, decodicatorul genereaz a la ie sire un num ar care este egal cu doi la o putere egal a cu num arul aplicat la intrare. Deoarece funct ia de exponent iere 2.14 este inversa funct iei de logaritmare 2.10 se conrm a armat ia de la nceputul acestui paragraf, aceea c a: decodicarea si codicarea sunt ecare funct ia invers a a celeilalte (codifcarea este un nivel OR, iar decodicarea este un nivel AND). Identicarea de cod efectuat a de decodicator se realizeaz a pe un nivel AND. De exemplu, poarta AND care implementeaz a produsul logic x 3 x 2 x 1 x0 este un identicator pentru codul 1001 deoarece numai pentru acest cuv ant genereaz a 1 pe ie sire. Pentru implement ari se recomad a, vezi sect iunea 2.3, operatorii negat i, deci o poart a NAND n loc de AND ceea ce nseamn a c a ie sirile decodicatorului sunt active n 0 si nu n 1 (Oi L). Dar ca identicator de cod poate utilizat a si poarta NOR, care genereaz a la ie sire 1 numai c and intr arile sunt 0, deci fat a de identicatorul de cod pe baza AND/NAND la cel pe baz a de NOR intr arile sunt active n 0 si nu n 1 (I i L). O organizare de decodicator, ca identicator de cod pe baz a de NOR, este cea cunoscut a sub numele de decodicator Lyon-Schediwy [Sutherland 99]. La acest decodicator toate ie sirile sunt n L n afar a de una, cea activ a, care este n H . O poart a NOR CMOS realizeaz a cu u surint a ie sirea L (prin tranzistoarele nMOS conectate n paralel din ramura nspre VSS ), dar sunt dicult a ti s a genereze la ie sire un nivel H prin toate tranzistoarele pMOS nseriate din ramura conectat a la V DD . Deoarece la

228

2.4. CLC PENTRU FUNCT II 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 port i NOR).

acest codicator tot timpul numai o ie sire este n starea H , (deci toate celelalte ret ele de tip pMOS ale port ilor NOR nu conduc) este posibil ca unele din tranzistoarele de tip pMOS s a intre n structura mai multor port i NOR, prin aceasta se reduce num arul de tranzistoare. In gura 2.30 este structurat, n acest sens, un DCD3:8 care este compus din opt identicatoare de cod, opt port i NOR. Mai mult, pentru a asigura efort logic egal pentru cele trei semnale de intrare x 2 , x1 si x0 (negate si nenegate) l a timea tranzistoarelor de canal nMOS este unitate iar l a timea celor cu canal pMOS este mai mare de W (l a timea de canal) ori nmult it cu puterile lui 2. Cu o astfel de structurare si cu tranzistoarele dimensionate n acest mod, decodicatorul Lyone-Schediwy are performant e de timp mult mai bune dec at organizarea de codicator ca n Figura 2.28-c la care, de fapt, ntr-o implementare poarta AND4 nu este un singur nivel ci este substituit a printr-un arbore cu dou a sau trei niveluri (Exemplul 2.12).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

229

Exemplul 2.13 Celula sumator complet, a c arei funct ionare este dat a n tabelul 1.6, s a se implementeze pe un circuit DCD3:8. Solut ie. Din Tabelul 1.6 prin sintez a pe baz a de 1, forma FCD, rezult a:
7 7

si =
0

(1, 2, 4, 7),

Ci =
0

(3, 5, 6, 7)

sau expresiile complementare:


7 7

s i =
0

(0, 3, 5, 6),

i = C
0

(0, 1, 2, 4)

Pentru implementare cu un DCD3:8, care genereaz a tot i cei opt mintermi de trei variabile, va necesar doar s a se adauge n exterior nivelul de OR care colecteaz a termenii ce au valoarea 1. Se va face implementarea at at pentru cazul c and ie sirile decodicatorului sunt active n H c at si n L. In aceste sens se vor transforma potrivit expresiile pentru si si Ci . 1. Implementare pe baz a de DCD3:8 cu ie sirile active n H a) Expresiile si si Ci se scriu: 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 a OR4, ad augat a n exterior, ca n Figura 2.31-a. b) Uneori funct ia negat a se sintetizeaz a prin mai put ini minterimi (nu este cazul pentru celula sumator complet) ceea ce poate constitui un avantaj, mic sorarea dimensiuni i se scriu port ii ad augate n exterior. Expresiile pentru s i si C s i = P0 + P3 + P5 + P6 s i = P0 + P3 + P5 + P6 i = P0 + P1 + P2 + P4 i = P0 + P1 + P2 + P4 C C pentru care corespunde implementarea din Figura 2.31-b. Colectarea mintermilor corespunz atori se face printr-o poart a NOR4 ad augat a n exterior. 2. Implementarea pe baz a de DCD 3 : 8 cu ie sirile active n L a) Expresile si si Ci devin: 1 P 2 P 4 P 7 s i = P1 + P2 + P4 + P7 = P i = P3 + P5 + P6 + P7 = P 3 P 5 P 6 P 7 C Colectarea n exterior a mintermilor corespunz atori se face printr-o poart a NAND4, Figura 2.31-c. i se scriu sub forma: b) Expresiile negate pentru s i si C 0 P 3 P 5 P 6 i = P0 + P3 + P5 + P6 = P s i = P0 + P3 + P5 + P6 s i = P0 + P1 + P2 + P4 = P i = P0 + P1 + P2 + P4 C 0 P 1 P 2 P 4 C De data aceasta colectarea n exterior a mintermilor se face printr-o poart a AND4, Figura 2.31-d.

230
DCD 3:8

2.4. CLC PENTRU FUNCT II 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 ie siri active n H ; c,d) pe decodicator cu ie siri active n L.

Anterior s-a structurat DCDn:2n cu ad ancimea constant a (D(n) = 3), n mod inductiv, pornind de la DCDE si port i AND ad aug and succesiv c ate un bit la cuv antul de intrare si s-au obt inut caracteristicile de ad ancime si dimensiune exprimate prin relat iile 2.13. Se poate face o structurare si denire a DCDn:2 n , pornind n sens n/2 invers, diviz andu-l nt ai n dou a DCDn/2:2 iar ie sirile acestor decodicatoare sunt intr arile pe liniile si coloanele unei matrice format a din 2 n/2 2n/2 port i AND2, Figura 2.32. Cuv antul de intrare xn1 xn2 ...xn/2 xn/21 ...x1 x0 se separ a n dou a semicuvinte, semicuv antul xn1 xn2 ... xn/2 va genera o ie sire activ a pe liniile matricei iar semicuv antul xn/21 ...x1 x0 va genera o ie sire activ a pe coloanele matricii, n consecint a poarta AND2 de la intersect ia liniei si coloanei active va avea ie sirea 1, restul de 2n 1 port i vor avea ie sirea n zero. Aceast a modalitate de decodicare matriceal a (decodicare bidimensional a) se aplic a si la decodicatoarele rezultate; ecare din cele dou a decodicatoare DCDn/2:2 n/2 , unul pentru linii iar altul pentru coloane, se structureaz a la r andul s au prin divizarea n dou a decodicatoare DCDn/4 : 2n/4 unul pentru linii, altul pentru coloane si 2 n/2 port i AND2. Se continu a aceast a divizare cu doi, a ec arui decodicator, p an a c and se ajunge la ultimul nivel de structurare compus din dou a DCDE care comand a o matrice de 4 port i AND2. Carecteristicile si denit ia multiplexorului DCDn : 2 n structurat recursiv sunt date n [S tefan 00]. Denit ia 2.9 Un DCDn : 2n se structureaz a prin divizare n dou a DCDn/2:2 n/2 n/2 n/2 si o matrice de port i AND2, de dimensiunea 2 2 , ale c aror intr ari sunt toate

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 a pentru denirea recursiv a a unui DCDn:2n (decodicare bidimensional a). perechile de ie siri din cele dou a decodicatoare. Cele dou a DCDn/2:2 n/2 de asemenea se structureaz a prin divizare n acela si mod. Procesul de divizare recursiv a se opre ste c and se ajunge la DCDE. Dimensiunea denit iei pentru DCDn:2n este constant a si independent a de valoarea lui n deci conform denit iei 2.1 decodicatorul nu este un circuit complex ci unul simplu, deci realizabil. Dar pentru a declara realizabilitatea circuitului trebuie luat a n considerare si dimensiunea sa. Cu valorile pentru decodicatorul elementar DDCD (1) = 2, SDCD (1) = 3 si tin and cont c a prin Denit ia 2.9 dup a ecare divizare se genereaz a dou a DCDn/2 : 2n/2 si 2n port i AND2 se poate calcula dimensiunea SDCD (n) si ad ancimea DDCD (n) n felul urm ator: 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) Compar and caracteristicile acestei structuri (compus a numai din DCD(1) si AND2) cu cele alestructurii de ad ancime constant a (compus a numai din DCD(1) si ANDn) se constat a c a dimensiunea a sc azut de la O(n 2 n ) la O(2n ) iar ad ancimea a crescut de la O(1) la O(log n) deci, teoretic, aceast a structurare este mai u sor realizabil a n schimb asigur a performant e de vitez a mai sc azute (Degradarea performant ei de vitez a cu mai mult dec at s-a mic sorat dimensiunea corespunde corel arii dintre S (n) si D(n), relat ia 2.9). Dar, n practic a, pentru implement arile de tip VLSI un DCD cu ad ancimea constant a, ca n Figura 2.28-c, nu poate realizat, port ile ANDn se structureaz a cu port i mai simple sub form a de arbore. De asemenea, si la structurarea prin

232

2.4. CLC PENTRU FUNCT II LOGICE

diviz ari port ile AND2 formeaz a un arbore. Solut ia de mediere ar structurare prin divizare a DCD(n), dar dup a prima sau a dou a divizare DCD(n/2) sau DCD(n/4) s a e un decodicator de tip Lyon-Schedwy. Decodicatoarele eciente din punct de vedere al timpului de propagare sunt necesare pentru adresarea memoriilor si pentru selectarea registrelor din b ancile de registre ale microprocesoarelor. Structurile de decodicator pentru aceste aplicat ii ajung s a aib a o valoare de efort total de valori ridicate (vezi Exemplul 1.30). Dar aspectele care trebuie luate n considerare la proiectarea decodicatoarelor pentru astfel de aplicat ii sunt numeroase iar minimizarea efortului logic, pentru a obt ine si o viteza, nu este exclusiv. De exemplu, considerat iile de layout sunt importante deoarece adesea decodicatorul trebuie s a se ncadreze n suprafat a repartizata pentru memorie, suprafat a sa poate limitat a, deci iat a o constr angere. De asemenea limitarea puterii disipate, poate o alt a constr agere important a, de obicei un decodicator rapid poate necesita o putere disipat a ridicat a sau prea multe tranzistoare. In realizarea de sisteme pe placa cu circuite discrete pentru decodcatoarele DCDn:2n , cu n intr ari si 2n ie siri, referite si cu termenul decodicator/multiplexor, (vezi sect iunea 2.4.5) exist a urm atoarele circuite MSI: 74xx138 - DCD3:8; 74xx139 2 DCD2:4; 74xx154 - DCD4:16. Alte circuite decodicatoare pot s a nu aib a denite toate cele 2n cuvinte de n bit i pe intrare sau pot s a nu utilizeze toate cele 2 n ie siri cum este cazul urm atoarelor circuite integrate: 74xx42 - Decodicator din BCD n zecimal; 74xx47 si 74xx49 - Decodicatoare din BCD pentru elemente de a saj cu 7 segmente (vezi Exemplul 2.14 ). 2.4.3.1 Convertorul de cod

Convertorul de cod este un circuit combinat ional care pentru un cuv ant de n bit i aplicat la intrare genereaz a un cuv ant de m bit i la ie sire, deci circuitul realizeaz a o aplicat ie (mapare) ntre o mult ime a cuvintelor de intrare cu valori n mult imea cuvintelor de ie sire. Denirea n acest mod a circuitului convertor de cod corespunde cu denit ia dat a n sect iunea 2.1 circuitului combinat ional cu ie siri multiple si este reprezentat ca schema bloc in Figura 2.1-a. Rezult a c a oricare CLC cu ie siri multiple este, n fond, un convertor de cod (transcodor).
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 a dintr-o nseriere decodicator-codicator, adic a dou a nivele logice AND-OR, Figura 2.33. Codul de intrare de n bit i este aplicat nivelului de decodicare AND rezult and o singur a ie sire activ a din cele 2 n . Aceast a ie sire activat a este aplicat a ca o intrare pentru nivelul de codicare OR care genereaz a un cuv ant de m bit i pe ie sire. De fapt, nserierea decodicator-codicator formeaz a un circuit cu cele dou a niveluri logice necesare pentru modelarea oric arei funct ii logice sub form a de sum a de produse (AND-OR).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

233

2.4.4

Multiplexorul

Circuitul multiplexor realizeaz a n primul r and o funct ie de comunicat ie prin selectarea oric arei linii de intrare Ii , dintr-un num ar de 2n linii (I2n 1 , I2n 2 , ..., Ii , ...I1 , I0 ) si conectarea acesteia la o singur a ie sire, de unde, uneori, este referit ca circuit selector. Funct ia de comunicat ie selectarea realizat a cu circuit multiplexor este similar a cu cea realizat a de c atre un selector rotativ mecanic, Figura 2.34-a. Selectorul rotativ mecanic conecteaz a la ie sire, n funct ie de pozit ia contactului rotativ, una dintre liniile de intrare. La circuitul multiplexor, cu 2 n intr ari de date si o ie sire, reprezentat ca schema bloc n Figura 2.34-b (notat prin MUX2 n :1), selectarea liniei de intrare de date Ii , pentru conectarea acesteia la ie sirea O, se face prin aplicarea pe intr arile de selectare a indexului i exprimat ca num ar n binar natural (cuv ant de selectare). Evident, pentru a putea selecta toate intr arile num arul cuvintelor de selectare (Sn1 Sn2 ...Si ...S1 S0 ) distincte trebuie s a e mai mare sau egal a cu num arul total al intr arilor. In general, circuitul MUX2n :1 pe l ang a cele 2n intr ari de date si un cuv ant de selectare, cu lungimea minim a de n bit i, mai prezint a si o intrare de validare E ( n general activ a n stare L, E = E L). Particulariz and MUX2n :1 la n = 2 se obt ine multiplexorul cu patru c ai de intrare (I3 , I2 , I1 , I0 ), selectabile cu un cuv ant de doi bit i S1 , S0 , cu schema bloc si tabelul de adev ar prezentate n Figura 2.34-c si 2.34-d. Din tabelul de adev ar a MUX4:1 se deduce urm atoarea funct ie logic a y = E Ld3 x1 x0 + E Ld2 x1 x0 + E Ld1 x1 x0 + E Ld0 x1 x0 (2.15)

si este similar a cu cea exprimat a de relat ia 1.82 sau 1.83. Aceast a expresie este forma canonic a normal a disjunctiv a pentru oricare dintre cele 16 funct ii de dou a variabile. Structura circuitului MUX4:1 este cea din Figura 2.34-e. In aceast a structur a se distinge clar un circuit decodicator 2:4, ca cel din Figura 2.28-c, ale c arui intr ari x 1 , x0 sunt bit ii cuv antului de selectare iar cele patru ie siri din port ile AND sunt colectate dintr-un nivel OR. Se poate interpreta c a cele patru port i AND ale decodicatorului, prin intr arile de selectare si cea de validare E , selecteaz a care din cele patru intr ari de date (d3 , d2 , d1 , d0 ) este conectat a la ie sire prin nivelul ad augat OR. Un circuit DCD care este un nivel de AND, ce genereaz a tot i mintermii canonici de n variabile, poate modela funct ii logice prin colectarea n exterior prin port i OR a termenilor canonici care au valoarea 1 pentru funct ia respectiv a (vezi Exemplul 2.13). Circuitul multiplexor, care este pe l ang a nivelul de AND si un nivel de OR (intern), colecteaz a n interior tot i mintermii canonici de cele n variabile de selectare, deci poate modela oricare funct ie de n variabile rezult and astfel ca un circuit logic universal. Valoarea 0 sau 1 a unui termen canonic P i n exprimarea funct iei se xeaz a prin valoarea coecientului di aplicat pe intrarea de date Ii . Din structura MUX4:1, prin eliminarea intr arii de selectare x 1 , se obt ine MUX2:1 cu un singur bit de selectare x0 si dou a intr ari de date I1 , I0 , care este referit ca multiplexorul elementar MUXE, Figura 2.34-f. Dac a se consider a intrarea de validare permanent activ a (E L = 0) se constat a c a structura de MUXE este identic a cu cea a celulei pentru implementarea recurent a, sub form a de arbore, a oric arei funct ii logice dezvoltat a recurent, Figura 2.6-a. Pornind de la structurarea MUX2:1 si MUX4:1 se poate extinde structurarea la un MUX2n :1, care se compune dintrun DCDn:2n cu ad ancime constant a, similar ca structur a cu cel din Figura 2.28-c,

234
I0 I1 O I 2n2 I 2n1 a) Selectare Enable (E) b) d0 d1 d 2n2 d 2n1

2.4. CLC PENTRU FUNCT II 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 adev ar si structura circuitului MUX4:1; f) structura multiplexorului elementar, MUX2:1. si o poart a OR cu 2n intr ari. DCDn:2n din cadrul MUX2n :1 se compune din n decodicatoare elementare DCDE si 2n port i AND cu n + 1 intr ari (n intr ari de la cuv antul de selectare, E si o intrare de date d i ). Pentru structurarea n acest mod a MUX2n : 1, referit a multiplexor cu ad anacime constant a, se pot calcula caracteristicile de dimensiune SM U X (n) si ad ancime: SM U X (n) = n SDCDE + 2n SAN D(n+1) + 1 SOR(2n ) = n 3 + 2n (n + 1) + 1 2n O(n 2n )

Ad ancimea are dou a valori, prima pentru transferul pe traseul cuv ant de selectareie sire care este de patru niveluri logice si a doua pe traseul de intrare de date I i la ie sire care este de dou a niveluri logice. Aceast a diferent a trebuie luat a n considerare la comanda multiplexorului dac a semnalele pe intr arile de date si pe intr arile de selectare nu se aplic a simultan, atunci este recomandat ca cele de selectare s a e primele aplicate deoarece parcurg patru niveluri fat a de dou a pentru cele de date. De fapt, aceste caracteristici de dimensiune si ad ancime sunt, teoretic, valori minime asimptotice. Practic, pentru n de valoare ridicat a este dicil de realizat port i AND(n+1) si OR2 n

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

235

pe un singur nivel logic; n plus, mai ales n tehnologia CMOS timpul de propagare depinde pregnant de nc arcare (vezi sect iunea 1.5.6). Denit ia 2.10 Un MUX 2n :1, selectat prin cuv antul xn1 xn2 ...x1 x0 , se structureaz a dintr-un MUXE selectat cu xn1 si are ca intr ari de date ie sirile de la dou a MUX2n1 :1 selectate prin cuv antul xn2 ...x1 x0 . Apoi, asupra celor dou a multiplexoare MUX2n1 :1 se aplic a acela si procedeu de structurare. Procedeul recursiv se opre ste c and se ajunge la MUX-uri selectate prin x 0 . Prin structurarea unui MUX2n :1, conforma Denit iei 2.10 , se obt ine o ret ea arborescent a de (2n 1)MUX2:1 av and n niveluri, Figura 2.35-a. Structura aceasta de ret ea este identic a cu structura arborescent a pentru implementarea unei funct ii canonice normale disjunctive dezvoltate recurent din Figura 2.7. Cele 2 n intr ari de ,, date ale MUX2n :1 sunt intr arile n multiplexoarele elementare frunze iar ie sire este ,, ie sirea multiplexorului elementar r ad acin a ; se observ a c a transferul este pe trasee de la frunze nspre r ad acin a. Pe ecare traseu se parcurge acela si num ar de MUXE. Aceast a structur a recursiv a a unui MUX2n :1 are urm atoarele caracteristici de dimensiune si ad ancime: DM U X (n) O(n), SM U X (n) O(2n ). Implementarea logic a a multiplexoarelor n circuitele VLSI apare foarte simpl a c and se utilizeaz a elemente de trecere nMOS, port i de transmisie CMOS. Pornind de la funct ia sa de transmisie, multiplexorul, poate conceput din 2 n ramuri de transmisie care au un cap at comun (ie sirea) iar la cel alalt cap at al ec arei ramuri se aplic a data corespunz atoare di care trebuie transmis a. Fiecare ramur a este compus a din n elemente de trecere nseriate (circuit AND) care va deschis a doar pentru o singur a congurat ie a bit ilor din cuv antul de intrare x n1 xn2 ...x1 x0 . In acest mod de implementare, un multiplexor elementar este compus numai din dou a ramuri pe care exist a c ate un element de trecere, unul dintre acestea este comandat de x 0 iar cel alalt de x 0 , semnalele de comand a ind generate de un DCDE. O astfel de structur a de MUX4:1 implementat a cu port i de transmisie este prezentat a n Figura 1.53-c. In structura din aceast a gur a exist a redundant a , ultimele si cealalt a pe ramura lui di2 , au un terminal comun dou a port i, una pe ramura lui di0 , deci pot substituite printr-o singur (ie sirea) si sunt comandate cu acela si semnal B a poart a (cele dou a ramuri se unesc nainte de aceast a poart a si mpreun a prin aceast a ajung la terminalul comun). Aceea si simplicare se poate face si cu port ile comandate de B de pe liniile di1 si di3 . Va rezulta o ret ea arborescent a cu dou a MUXE urmate de un alt MUXE selectat de B, B . selectate de A, A In Figura 2.35-b este prezentat a structurarea unui MUX8:1, sub form a de ret ea arborescent a din MUXE, realizat a cu tranzistoare de trecere nMOS. Se observ a c a acest circuit se obt ine prin 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. Implement arile sub form a de ret ea arborescent a sunt recomandate n sistemele integrate de performant a ridicat a si de putere redus a. Totu si, pentru n de valoare ridicat a timpul de propagare pe traseele de la frunze la r ad acin a devine foarte mare. In lungul lungul unui traseu cu n tranzistoare de trecere nt arzierea este egal a cu n 2 RC , unde RC este nt arzierea dat a de ret eaua echivalent a a tranzistorului de trecere. In Denit ia 2.10 structurarea prin recurent a s-a specicat cu un pas egal cu unu, adic a pentru c ate un bit al cuv antului de selectare rezult and n ecare nivel numai MUXE. Dar se poate face structurarea pe grupuri de bit i din cuv antul de selectare, de exemplu, dac a se iau grupuri de c ate doi sau trei bit i rezult a pentru nivelurile

236

2.4. CLC PENTRU FUNCT II 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 a unui multiplexor conform Denit iei 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 a de MUX4:1 si MUX2:1

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

237

respective din ret eaua arborescent a MUX22 :1, MUX23 :1 n loc de MUXE. Varianta aceasta de structurare arat a posibilitatea de obt inere a multiplexoarelor de capacitate mare din circuite multiplexoare de capacitate inferioar a, de exemplu pe baza celor mai utilizate n practic a MUX4:1 sau MUX8:1. In Figura 2.35-c sunt prezentate variante de compunere a unui MUX8:1 din altele de capacit a ti mai mici (4:1 si 2:1). Care variant a este mai bun a? Pentru a r aspunde la aceast a ntrebare trebuie introdus un criteriu de evaluare. Acest criteriu de evaluare ia n considerare num arul de circuite integrate utilizate, CI (exist a 4 MUX2:1/cip; 2 MUX4:1/cip;1 MUX8:1/cip;) si costul( care poate proport ional cu num arul de terminale/conect ari). Num arul 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 a pentru criteriul ales cea mai bun a variant a este un singur MUX8:1/cip si cea mai slab a printr-o ret ea numai de MUX2:1. Dar s a nu ne gr abim, vom vedea c a n unele implement ari realizarea unui multiplexor de capacitate mai mare din circuite de capacitate 2:1 poate cea mai avantajoas a, vezi Exemplul 2.17. Pentru implement arile de sisteme exist a urm atoarele multiplexoare sub form a de 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 ie sirea TSL MUX2:1, iar 74xx257 - 2 MUX2:1 are ie sirea TSL

Aplicat ii cu circuite multiplexoare

Circuitul multiplexor poate modela o funct ie de comunicat ie, (a) selectare de date si o funct ie canonic a normal a disjunctiv a, (b) implementare de funct ii logice. Aplicat iile cu circuite multiplexoare se reduc la realizarea acestor dou a tipuri de funct ii. a). Selectarea datelor. Circuitul MUX2n :1 poate utilizat pentru conversia paralel-serie a unui cuv ant de 2n bit i. Bit ii cuv antului de serializat se aplic a pe intr arile de date I2n 1 , I2n 2 , ..., Ii , ..., I1 , I0 , iar prin congurat ia cuv antului de selectare xn1 xn2 ...x1 x0 un bit de pe o anumit a intrare de date este aplicat la ie sire. Evident, serializarea bit ilor cuv antului de date se poate realizare n oricare secvent a dorit a. Dac a este necesar a serializarea succesiv a ncep nd cu I 0 p ana la I2n 1 atunci secvent ele congurat iilor cuv antului de selectare sunt n ordinea de cre stere a numerelor naturale, care se pot obt ine de la un num ar ator modulo 2 n , iar pentru aceast a serializare sunt necesare 2n tacte de clock. Uneori n arhitectura unui sistem apare un desen ca cel din Figura 2.36-a care simbolizeaz a transferul unor cuvinte cu lungimea de k bit i de la sursele P 2n 1 , P2n 2 , ..., Pi , ..., P1 , P0 (porturi surs a) ntr-un singur loc de destint ie (care poate un port, o magistral a etc.). Acest transfer poate inplementat cu k multiplexoare 2 n :1 puse n paralel, toate ind comandate de acela si cuv ant de selectare, Figura 2.36-b. Bit ii cuv antului de la portul Pi se aplic a, c ate unul, numai la intrarea de date I i de la ecare dintre cele k multiplexoare, deci un port este legat la toate intr arile de date cu acela si num ar de la cele k multiplexoare. La aplicarea unui cuv ant de selectare i tot ii bit ii de pe intr arile de date Ii ale celor k multiplexoare sunt transferat i la ie sirile acestora, deci cuv antul cu lungimea de k bit i din portul P i este transferat n portul

238

2.4. CLC PENTRU FUNCT II 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 secvent ial a a datalor: a) reprezentare simbolic a a unui punct de selectare a datelor dintr-un sistem; b) selectarea unui port de intrare, dintrun num ar de 2n porturi cu lungimea de k bit i, si conectarea la un port de ie sire prin intermediul unui grup de k MUX2n :1; c) structur a n tehnologie CMOS de MUX2n :1 cu ie sirea TSL pentru comanda unei linii de magistral a.

de ie sire Pentru implement arile VLSI c and se lucreaz a cu lungimi de cuv and de 32, 64 bit i, deci tot at atea multiplexoare puse n paralel, nc arcarea electric a a semnalelor se selectare este foarte mare ceea ce implic a o buerare, vezi Exemplul 1.28. Pentru implement arile n tehnologie CMOS o structur a recomandat a de multiplexor inversor cu 2n c ai este prezentat a n Figura 2.36-c, care se compune din ramuri inversor TSL, Figura 1.46-c, toate conectate la o linie de magistral a. Pentru semnale i = 01 (generate de un decodicator), at de selectare ale ramurii i, Si S at ramura n c at si ramura p ale inversorului CMOS sunt blocate, deci ie sirea la linia de magistral a i = 10 ramura este este n starea HZ , iar pentru Si S n funct ionare normal a de inversor, data de intrare este transferat a negat la magistral a, d i . Efortul logic total al multiplexorului este 2n (4 + 4 )/(1 + ) = 4 2n , cu efortul logic pe o intrare de date i ) de semnale de (2 + 2 )/(1 + ) = 2; aceea si valoare 2 este si pentru o preche (S i S

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

239

selectare. Rezult a c a efortul logic pe o intrare este constant si nu depinde de num arul de intr ari, ceea ce ar sugera c a se pot realiza multiplexoare rapide cu oric ate linii de intrare. Totu si, c and lungimea k a cuvintelor selectate este de valoare ridicat a i necesit a un efort ridicat (k MUX2n :1), desi perechile de semnale de selectare Si S aceasta nu are un efect de marirea nt arzierii pentru transferul datei d i . C and se iau n considerare si capacit a tile parazite se constat a c a aceast a structur a nu este rapid a pentru un num ar de intr ari (ramuri inversor) ori c at de mare, n general se limiteaz a la structura cu cel mult patru ramuri. Exemplul 2.14 S a se structureze un sistem pentru a sarea a dou a cifre zecimale a c aror cod BCD este nscris n dou a porturi A, B . Se vor utiliza elemente a soare cu 7 segmente cu catodul comun.
Solut ie.Pentru iluminarea unei cifre trebuie conectate simultan la tensiunea +V tot i anozii LED-urilor (segmentelor) care congureaz a caracterul iar catodul la mas a, Figura 2.37. Conectarea simultan a a segmentelor luminoase este realizat a prin ie sirile (a, b, c, d, e, f, g ), active n H , ale unui convertor de cod BCD-7 segmente 7449. Deoarece se utilizeaz a un singur decodicator 7449 pentru ambele elemente a soare este necesar ca informat ia s a e aplicat a alternativ cu o frecvent a de minim 30Hz (T3,33ms) pentru ca, prin inert ia ochiului, cifra s a apar a a sat a continuu. Pentru aplicarea alternativ a, cu frecvent a de 30Hz a cont inutului celor dou a porturi surs a A si B pe intr arile convertorului BCD-7 segmente, Tabelul 2.2, sect iunea 2.4.7, se utilizeaz a 4MUX2:1 ca selector de date (circuitul 74157). Conectarea la mas a a catodului comun din ecare dintre cele dou a a soare A si B se realizeaz a printr-un DCD2 : 4 (1/2 74139) cu ie sirile active n L si comandat sincron cu ie sirea cuvintelor A si B prin multiplexor. Sincronizarea este realizat a cu semnalul de ceas CLK, care se aplic a pe intrarea I0 a decodicatorului si pe intrarea comun a de selectarea G1 a grupului de patru multiplexoare. Pe palierul pozitiv, CLK=1, se a seaz a cuv antul din portul A iar pe palierul CLK=0 se a seaz a cuv antul din portul B .

b). Implementarea funct iilor logice. Circuitul multiplexor MUX2 n :1, prin structura sa, produce pe nivelul de AND (decodicator) tot i termenii cononici produs de variabilele de selectare, ecare minterm Pi ind nmult it cu coecientul di respectiv, iar prin nivelul interior de OR nsumeaz a toate produsele obt inute, deci poate modela orice funct ie de n variabile sub forma sa canonic a normal a disjunctiv a, relat ia n 1.10. Un MUX2n :1 apare ca suport pentru implementarea tuturor celor 2 2 funct ii n de n variabile, particularizarea pentru o anumit a funct ie f j se face prin aplicarea pe intrarea de date a setului de 2n coecient i ai funct iei, deci multiplexorul este un circuit universal pentru implementarea oric arei funct ii! Implementarea funct iei rezult a ca o mapare direct a a coecient ilor funct iei citit i din tabelul de adev ar sau diagrama V-K pe intr arile de date corespunz atoare ale multiplexorului. Implementarea funct iei pe multiplexor nu necesit a minimizarea acesteia, dimpotriv a, dac a o funct ie este dat a n form a redus a/minim a va trebui expandat a p ana la obt inerea formei normale disjunctiv a din care rezult a care intr ari de date ale multiplexorului sunt 1 si care sunt 0 (adic a valorile coecient ilor funct iei). Pentru implementarea celor 16 funct ii de dou a variabile x 1 , x0 coecient ii funct iei fi2 se citesc din Figura 1.2-a, e din relat ia 1.82 (linia a i-a din matricea coecient ilor) care se aplic a unui MUX4:1, Figura 2.38. Din totalul de 16 MUX4:1, care modeleaz a cele 16 funct ii, sase pot eliminate deoarece funct iile pe care le modeleaz a se reduc

240
4xMUX 2:1 DCD BCD / 7segmente

2.4. CLC PENTRU FUNCT II 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 a pentru multiplexarea informat iei pe a soare cu 7 segmente.

la valori banale (0, 1, x1 , x0 , x 1 , x 0 ), existente n sistem f ar a a mai necesar s a e calculate. Dar, implementarea celor 16 funct ii de dou a variabile poate efectuat a consider and funct ii de o singur a variabil a x0 , iar variabila x1 variabil a reziduu este introdus a n coecient ii funct iei. Coecient ii funct iei pot avea doar valori din mult imea {0, 1, x1 , x 1 }, valori care nu trebuie calculate, deoarece exist a n sistem. Avantajul practic al reducerii funct iei la o funct ie de o singur a variabil a rezult a printro implementare pe un circuit mai simplu, MUX2:1, Figura 2.39. Evident, si pentru implementarea pe MUX2:1 cele sase valori banale (0, 1, x 1 , x0 , x 1 , x 0 ) ale funct iilor de dou a variabile nu necesit a multiplexoare. Pentru aceast a implementare elegant a a unei funct ii pe multiplexor, c and n este ridicat, rezult a un multiplexor de capacitate mare. Exist a dou a modalit a ti de a reduce, eventual, capacitatea multiplexorului. In primul r and, se ncearc a s a se introduc a mai multe variabile reziduu rezult and o funct ie de mai put ine variabile. Aceast a variant a duce la simplicarea structurii numai atunci c and coecient ii obt inut i cu variabile reziduu au forme banale sau au expresii ce pot calculate cu port i simple AND/NAND, NOR/OR sau XOR/NXOR. Foarte important n obt inerea unor expresii simple pentru coecient ii cu variabile reziduu este modul de alegere, dintre variabilele funct iei, care s a e varaibilele reziduu si care s a e variabilele funct iei de ordin mai mic. Nu exist a un algoritm care s a exprime modul de alegere al variabilelor pentru o implementare optim a. Pentru o implementare cvasioptim a, sau optim a, intuit ia si exercit iul proiectantului n manipularea funct iilor analitice, tabelelor de adev ar sau diagramele V-K pot factori de succes. In al doilea r and, se poate reduce capacitatea multiplexorului c and, e pentru funct ia exprimat a prin variabile reziduu, e far a, se descompune multiplexorul de

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 funct ii de dou a variabile pe circuite MUX4:1. capacitate ridicat a printr-o ret ea arborescent a de multiplexoare de capacitate mai mic a, uzual din MUXE. Analiz and ie sirile acestor multiplexoare elementare, situate la nivelul zero (nivelul frunzelor) sau la niveluri put in mai ridicate dec at acesta, se poate constata c a unele dintre aceste niveluri produc valori banale sau funct ii foarte simple, astfel se pot elimina multiplexoarele respective. Poate rezulta n urma analizei o structur a hard cu mult mai simpl a n raport cu multiplexorul init ial. S i la implementarea pe structuri arborescente modul de alegere al variabilelor reziduu poate duce la simplic ari hard importante. In exemplele urm atoare se vor utiliza toate aceste modalit a ti pentru implementare. Exemplul 2.15 Urm atoarea funct ie
31

f (A, B, C, D, E ) =
0

(1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28)

s a e implementat a numai cu circuite MUX4:1. Solut ie. Pentru a utiliza numai MUX4:1 funct ia se va transforma ca o funct ie de dou a variabile D, E cu coecient i care cuprind variabilele reziduu A, B, C . Ace sti coecient i vor si ei transformat i nc at s a e funct ii de dou a variabile B, C iar variabila A introdus a ca variabil a reziduu. Rezult a o structur a de ret ea arborescent a cu dou a niveluri, pe nivelul

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 FUNCT II 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 funct ii de dou a variabile pe circuite MUX2:1 (variabila x1 este introdus a ca variabil a reziduu n coecient ii funct iilor fi2 ).
,, zero (frunze ) multiplexoarele 4:1 vor selectate de variabilele B, C av and ca si coecient } iar pe nivelul unu un multiplexor 4:1 pe intr arile de date valori din mult imea {0, 1, A, 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 BC + 0 BC + 0 BC )DE + +(A B C +(A BC + A BC + 0 BC + 0 BC )DE

+(A BC + 1 BC + A BC + A BC )DE + Aceast a expresie este implementat a n Figura 2.40. Deoarece expresiile coecient ilor produselor DE si DE sunt identice se va calcula cu un singur MUX4:1, n nivelul zero, iar rezultatul se aplic a pe intr arile 01 si 11 ale multiplexorului din nivelul unu.

Exemplul 2.16 Fie urm atoarea funct ie de 5 variabile


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 COMBINAT IONALE

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 a arborescent a numai cu MUX4:1 a funct ie F(A, B, C, D, E) =
0

(1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28).

S a se implementeze utiliz and un num ar minim de circuite integrate. Se presupune c a sunt disponibile, la intrare, variabilele at at negate c at si nenegate. Solut ie. Din diagrama V-K, Figura 2.41-a rezut a forma minim a a funct iei BE + BE = AE B C f = AE + B C care se implementeaz a ca n Figura 2.41-b cu 3xNAND2 si 1xNAND3. Deoarece nu exist a circuite integrate care s a aib a simultan ambele tipuri de port i se vor utiliza dout a circuite integrate: unul pentru 3xNAND2 si unul pentru 1xNAND3; pe ecare circuit r am an and port i nefolosite. Deoarece n forma minim a obt inut a nu mai apare variabila D se va implementa n continuare o funct ie numai de 4 variabile A, B, C, E . Pentru implementare pe multiplexor forma minim a se expandeaz a la forma normal a disjunctiv a, operat ie care este prezntat a n diagrama V-K din Figura 2.41-c. Implementarea pe un MUX16:1 se face direct prin maparea coecient ilor din diagrama V-K pe intr arile de date. Dar se poate utiliza un MUX8:1 dac a variabila A se va alege ca variabil a reziduu, Figura 2.41-e (un singur circuit integrat). Pentru implemntarea pe MUX4:1 trebuie introduse n coecient i dou a din variabile reziduu. Dar care variant a, de c ate dou a perechi de variabile (o pereche de variabile pentru selectarea multiplexorului iar celalalt a pereche de variabile introduse ca variabile reziduu), duce la implementarea cea mai simpl a? In total cu cele patru variabile se pot realiza urm atoarele sase variante de perechi distincte (prima pereche corespunde variabilelor reziduu iar a doua variabilelor de selectare): V1 CE, AB ; V2 AB, CE ; V3 BE, AC ; Pentru toate variantele, valorile coecient ilor 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 a n felul urm ator: pentru suprafat a AB = 00, tot i mintermii din c asut ele elementare ale acestei suprafet e au valoarea 0, deci d0 = 0. V4 AC, BE ; V5 BC, AE ; V6 AE, BC

244

2.4. CLC PENTRU FUNCT II 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 Modalit a ti de implementare a funct iei f (A, B, C, D, E) =


31

(8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 31).
0

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

245

pentru suprafat a AB = 01, mintermii din c asut ele elementare 4,5 si 7 cuprinse n interiorul acestei suprafet e au valoarea 1. Ace stia extra si din diagram a prin scriere AB + E AB = (C + E )AB deci d1 = C + E. mpreun a n funct ie de C, E rezut aC pentru suprafat a AB = 11, numai mintermii din c asut ele 12,13 si 15 au valoarea 1, + E )AB , deci d3 = C + E. prin scrierea impreun a a lor rezult a CAB + EAB = (C pentru suprafat a AB = 10, numai mintermii din c asut ele 9,11 au valoarea 1. Prin , deci d2 = E . scrierea impreun a a lor rezult a EAB Valorile rezultate ale coecient ilor cu variabile reziduu (C, E ) sunt prezentate n tabelul V1 din Figura 2.41-d. In mod asem an ator se procedeaz a si pentru celelalte cinci variante. Analiz and tabelele tuturor variabilelor rezult a c a cea mai simpl a form a de implementare A, C, C . Imcorespunde lui V4 , coecient ii sunt numai din mult imea valorilor banale 0, 1, A, pelementarea pe circuitul 74S153 (2xMUX4:1) este prezentat a n Figura 2.41-f (un singur circuit integrat, dar un MUX4:1 din component a sa r am ane neutlizat).

Exemplul 2.17 Funct ia de patru variabile dat a n diagrama V-K din Figura 2.42-a s a se implementeze pe un MUX8:1 structurat ca n variantele din Figura 2.35-c.
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 funct ii de patru variabile pe diferite structur ari de MUX8:1.
Solut ie. Funct ia de patru variabile pentru a implementat a pe un MUX8:1 trebuie exprimat a cu o variabil a reziduu, deci diagrama V-K din Figura 2.42-a este transformat a n diagrama V-K din Figura 2.42-b. Prin aceast a transformare, pentru valorile indiferente ale lui funct iei se consider a at at 0 c at si 1 ceea ce determin a dou a valori ale coecientului n

246

2.4. CLC PENTRU FUNCT II LOGICE

unele c asut e elementare ale diagramei cu variabile reziduu. Pentru implementarea funct iei se va lua acea valoare a coecientului care duce la o structur a de circuit mai simpl a. Coecient ii funct iei din diagrama V-K cu varaibile reziduu se aplic a pe intr arile structurilor de MUX8:1. Coecientul funct iei din c asut a cu num arul i, exprimat n binar, se aplic a pe intrarea de date notat a cu num arul i ca n Figura 2.42-f. Dar la o structur a de arbore intrarea a i-a este aceea la care parcurg and un traseu de la frunz a la r ad acin a sirul cifrelor binare, nt alnite la intrarea de date a ec arui multiplexor, formeaz a tocmai num arul i exprimat n binar natural. De exemplu, n Figura 2.42-c, la intrarea la care ncepe traseul prin a c arei parcurgere se nt alne ste sirul de bit i 1, 0, 1 se va aplica coecientul din c asut a . Pentru u a cincea (5 = 101|2 ) din diagrama V-K, adic aA surint a n realizarea map arii, la intr arile multiplexoarelor, s-au nscris, n paranteze, si num arul n zecimal al coordonatei c asut ei din diagrama V-K al c arui coecient se aplic a pe acea intrare de date. Se observ a c a la ret elele arborescente care cont in multiplexoare 2:1 sau 4:1, uneori, se calculeaz a valori banale, care oricum exist a n sistem si nu mai trebuie calculate, deci multiplexoarele respective se elimin a. Efectu and aceste elimin ari si calcul and indicatorii de ecient a (num arul de circuite integrate, CI si num arul de conect ari) armat ia de la Figura 2.35-c, c a impelement arile cu multiplexoare de capacitate mai mare sunt mai eciente, este contrazis a. Din implement arile din Figura 2.42 rezult a c a inplement arile pe ret elele arborescente, av and multiplexoare de capacitate mic a, sunt mai eciente. Aceast a armat ie trebuie luate sub rezerva c a obt inerea unei structuri simple depinde foarte mult de modul potrivit de asignare a variabilelor reziduu.

Circuitul multiplexor prezint a o limitare intrinsec a termenii canonici produs, generat i pe nivelul AND, sunt utilizat i doar o singur a dat a (prin colectarea n interior la o poart a OR). In general, la implementarea unei funct ii costul implement arii, n mare parte, este determinat de generarea termenilor produs. Nu exist a aceea si situat ie la decodicator/demultiplexor unde termenii produs, datorit a faptului c a sunt colectat i n exterior n nivel OR, pot utilizat i n mai multe port i OR dac a au un fan-out corespunz ator, deci impelementarea mai multor funct ii. Solut ia care apare este cea a utiliz arii mpreun a a multiplexorului cu decodicatorul.
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 funct ii fij pe o structur a compus a decodicator-multiplexor. Pentru o astfel de implementare combinat a, decodicator-multiplexor, se consider a o funct ie de j variabile fij . Se partajeaz a variabilele n n variabile ale funct iei

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

247

(xn1 , xn2 , ..., x1 , x0 ) si (j 1) n variabile reziduu (xj 1 , xj 2 , ..., xn+1 , xn ). Coecient ii de variabile reziduu sunt sume de produse de aceste variabile care se pot calcula cu un DCD(j 1 n):2(j 1n) si o ret ea extern a se port i OR, apoi ace sti coecient i sunt aplicat i pe intr arile de date ale multiplexoarelor MUX2 n :1, Figura 2.43, la care selectarea se face prin variabilele xn1 , xn2 , ..., x1 , x0 .

2.4.5

Demultiplexorul

Circuitul demultiplexor DMUX poate realiza o funct ie de comunicat ie prin conectarea unei linii de intrare I la oricare dintre liniile de ie sire O 2n 1 , O2n 2 , ..., O1 , O0 . Funct ia aceasta de comunicat iee distribuirea unei intr ari la oricare din ie siri pe care o realizeaz a un cirucuit DMUX poate efectuat a si de un selector rotativ mecanic, Figura 2.44-a. La distribuitorul mecanic selectarea ie sirii, la care se conecteaz a intrarea, se face prin pozit ia contactului rotativ, iar la circuitul demultiplexor DMUX1:2n , cu o linie de intrare si 2n linii de ie sire, printr-un cuv ant se selectarea cu lungimea de n bit i xn1 , xn2 , ..., x1 , x0 , Figura 2.44-b. Operat ia de demultiplexare, distribuirea unei intr ari la oricare din cele 2 n ie siri, apare ca o operat ie invers a multiplex arii (selectarea unei intr ari din cele 2 n si conectarea la o singura ie sire). Particulariz and DMUX1:2n , pentru n = 2, se obt ine demultiplexorul cu o singur a cale de intrare E (activ a n L) si patru c ai de ie sire O 0 , O1 , O2 , O3 , comandat pe selectare prin cuv antul x1 x0 , a c arui schem a bloc si tabel de adev ar sunt prezentate n Figura 2.44-c si 2.44-d. Din tabelul de adev ar rezult a expresia logic a Ly Ly Ly1 y Ly1 y0 pentru ecare ie sire: y0 = E 1 y 0 ; y1 = E 1 y0 ; y0 = E 0 ; y0 = E care corespund implement arii din Figura 2.44-e. Se pot da urm atoarele dou a interpret ari: la ie sirea Oi selectat a de congurat ia cuv antului de selectare se transmite a (funct ia de comunicat ie), sau dac a se consider a intrarea intrarea E L complementat permanent activat a E L = 0 ie sirea Oi este activ a c and congurat ia cuv antului de selectare este Pi ; deci conform ultimei interpret ari se pot genera la ie sire tot i cei patru mintermi P0 , P1 , P2 , P3 (funct ia de circuit logic). Ultima interpretare ne arat a identitatea funct ion arii si identitatea structur arii, vezi sect iunea 2.4.3 si Figura 2.28-c, ntre decodicator si demultiplexor. Se poate generaliza, un decodicator DMUX1:2n este un distribuitor al valorii sirea Oi , selectat a prin cuv antul de selectare, iar un DCDn:2 n complementate E L la ie este un decodicator al cuv antului de selectare, c and intrarea de validare este activat a E L = 0, Figura 2.44-b. Deci se poate scrie identitatea DMUX1:2 n (pentru E L = 0) DCDn:2n . Aceasta explic a de ce pentru decodicare sau pentru demultiplexare exist a un singur circuit integrat referit n cataloage ca decodicator/demultiplexor. S i, n general, la acest circuit semnalul de validare se obt ine printr-o conjunct ie ntre mai multe semnale de validare, unele active n stare H altele n stare L. Obt inerea valid arii, din conjunct ia mai multor semnale poate util a ntr-un sisitem pentru c a se poate condit iona funct ionarea acelui sistem de realizarea (activarea) simultan aa mai multor semnale (condit ii). De exemplu, circuitul decodicator/demultiplexor 74xx138 cu tabelul de adev ar si, cu simbolul de reprezentare date n Figura 2.45 are trei intr ari de validare, una G 1 la care semnalul aplicat este activ n stare H , iar celelalte dou a G 2A si G2B la care semnalele aplicate sunt active n stare L.

248
O0 O1 I Selectare E(Enable) a) O2n2 O 2n1 y 2n2 y2n1 b) y0 y1 E_L

2.4. CLC PENTRU FUNCT II 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 adev ar si structura circuitului pentru DMUX1:4; f) structura demultiplexorului elementar, DMUX1:2. Funct ionarea logic a este direct a o ie sire este activ a dac a si numai dac a validarea este activ a si este aplicat cuv antul de selectare corespunz ator. Astfel ecuat ia logic a, n notat ii de semnale interne din Figura 2.45-b, de exemplu pentru O 5 , se scrie u sor: 1 S0 O5 = G1 G2A G2B S2 S
validare selectare

Dar tin and cont de cerculet ele de negat ie, care indic a faptul c a semnalele exterioare corespunz atoare sunt active n L ( ntre semnalul exterior si cel interior n circuit exist a 2B L), ecuat 2A L, G2B = G ia logic a anterioar a se poate scrie n un inversor G2A = G funct ie de semnalele exterioare (aplicate sau generate) 5 Y5 L = O 2A L G 2B L x2 x = G1 G 1 x0 = 2 + x1 + x 0 = G1 + G2A L + G2B L + x

In acest caz, pentru o validare permanent a, intrarea G 1 se concteaz a la VCC iar celelalte dou a intr ari G2A si G2B se conecteaz a la mas a.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 adev ar; b) simbolul de reprezentare. Din structura DMUX1:4, prin eliminarea intr arii de selectare x 1 , se obt ine structura demultiplexorului elementar DMUXE, reprezentat n Figura 2.44-f. Dar de la DMUX1:4, prin extensie, se poate obt ine si demultiplexorul cu 2 n c ai de ie sire n DMUX1:2 prin extindere la n a num arului de decodicatoare elementare si de asemenea prin extinderea la n a num arului de port i AND(n+1). Caracteristicile pentru o astfel de structurare a DMUX1:2n sunt cele ale DCDn:2n adic a o dimensiune SDM U X (n) O(n2n ) si o ad ancime DDM U X (n) = 3 O(n). Ad ancimea, dup a cum s-a analizat si la DCD, doar teoretic este 3, pentru c a n realitate o poart a AND(n+1) nu poate structurat a pe un singur nivel logic. Dar un DMUX1:2n se poate deni ( si proiecta) printr-o structurare recursiv a de DMUXE; consider and de data aceasta c a si ie sirile sunt active n stare L (pentru a se putea comanda intrarea de validare a urm atorului DMUX f ar a a mai ad auga inversoare). Denit ia 2.11 Un DMUX1:2n , selectat prin cuv antul xn1 xn2 ...x1 x0 , se structureaz a dintr-un DMUXE selectat cu xn1 si ale c arui ie siri comand a intr arile a dou a DMUX1:2n1 selectate prin cuv antul xn2 xn3 ...x1 x0 . Apoi, asupra celor dou a DMUX1:2n1 se aplic a acela si procedeu de structurare, procedeul recursiv de structurare se opre ste c and se ajunge la DMUX-uri selectate prin x 0 . Prin modul de structurare, conform aceste denit ii, Figura 2.46, se obt ine o ret ea ,, arborescent a de (2n 1)DMUXE distribuite pe n niveluri; pe nivelul zero frunze ,, n/2 selectat prin x0 sunt 2 DMUXE iar pe nivelul n un singur DMUXE, r ad acin a , selectat de xn1 . Aceast a ret ea binar a are o structurare sem an atoare cu cea obt inut a la structurarea MUX2n :1, dup a Denit ia 2.10 , diferent a const a n sensul de transfer al datelor. La MUX2n :1 datele de intrare se aplic a la frunze iar ie sirea este prin r ad acin a, pe c and la ret eaua arborescent a a DMUX1:2 n se aplic a o singur a dat a de intrare la r ad acin a iar ie sirea este prin frunze. Caracteristicile acestei structur ari sunt: dimensiunea SDM U X (n) O(2n ) iar ad ancimea DDM U X (n) O(n). Acest mod de structurare iterativ a (la fel ca la multiplexoare) se poate realiza nu numai cu pasul un bit de selectare ci repartiz and pe un nivel q bit i de selectare,

250

2.4. CLC PENTRU FUNCT II 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 a DMUX1:2n . aceasta nseamn a k niveluri si pe ecare nivel sunt DMUX1:2 q , n = k q . Modul acesta de structurare poate utilizat si pentru obt inerea unui DMUX1:2 n pe k niveluri din q circuite DMUX1:2 obtenabile comercial. Perechea format a din cele dou a circuite cu funct ii inverse, un MUX2 n :1 comand a n (conectat printr-un singur r la) un DMUX1:2 poate utilizat a pentru transferul serial al cont inutului unui port surs a, cu lungimea de 2 n bit i, ntr-un alt port destinat ie de aceea si lungime. Bit ii portului surs a sunt aplicat i la cele 2 n intr ari de date ale MUX2n :1, iar cele 2n ie siri ale DMUX1:2n sunt aplicate la intr arile portului destinat ie. Ambele cuvinte de selectare sunt generate sincron de la un num ar ator binar modulo 2n , deci pe duarata a 2n tacte de ceas aplicate num ar atorului se efectueaz a transferul serial, bit-cu-bit din portul surs a n portul destinat ie.

2.4.6

Memoria numai cu citire, ROM

Funct ia de memorare o posed a acele circuite digitale care pot stoca ( nmagazina) si regenera, la comand a, informat ia sub form a de cuv ant. Organizarea logic a a memor arii datelor, dar si cea pe suportul zic, este sub forma unei matrice cu A-num ar de linii (adrese) si D-num ar de coloane, Figura 2.47a. In ecare nod al matricei poate stocat un bit. Se consider a c a pe ecare linie a matricei este stocat a informat ia sub forma unui cuv ant cu lungimea D bit i, de unde si termenul uzual de linie de cuv ant; num arul de bit i ai cuv antului este egal cu num arul de coloane. Referirea la o linie de cuv ant se face prin adresa sa, care, n general, este num arul de ordine al liniei matricei. De exemplu, n acest a gur a, la adresa 0 (prima linie) este stocat cuv antul de n bit i D n1 Dn2 ...D1 D0 = 10...11, la adresa 1 (linia a dou a) cuv antul 11...01, iar la adresa 2 n 1 (ultima linie) cuv antul 01...10. La activarea adresei unei linii de cuv ant se va genera la ie sire, pe coloane linii de bit cuv antul care este nscris ( n locat ia de) la adresa respectiv a. Capacitatea memoriei, exprimat a n bit i, rezult a ca ind egal a cu produsul A D. In general, capacitatea memoriei se exprim a n num ar de adrese nmult it cu lungimea cuv antului (1bit, un byte, un cuv ant) stocat la o locat ie, de exemplu: 1Kbit (1Kadrese x1bit, 1K= 210 = 1024); 1Mbyte (1Madrese x1byte, 1 M= 220 ); 1Gcuv ant (1Gadrese

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

251

x1cuv ant, 1G= 230 ); lungimea D n bit i a cuv antului se specic a sau se sub nt elege. Un circuit care, prin structura sa, poate s a mapeze organizarea matriceal a a datelor este circuitul ROM (Read Only Memory); acest circuit este un suport NUMAI pentru citirea datelor nscrise, nu si pentru modicarea ( nscrierea) acestora. Referirea corect a a circuitului este circuitul ROM si nu memoria ROM, totu si ultima sintagm a s-a xat; n consecint a , n aceast a carte se vor utiliza ambele exprim ari. La circuitul ROM stocarea informat iei este non-volatil a deoarece la pierderea tensiunii de alimentare informat ia nu este pierdut a. Nevolatilitatea informat iei se datoareaz a faptului c a suportul unui bit, ntr-un nod al matricei, este prezent a sau absent a n acel nod a unei conexiuni (realizat a printr-un: fuzibil, diod a, sau tranzistor). Aceast a invaliditate a circuitului ROM de a nu putea nscris, cauzat a de o structurare mai simpl a, este eliminat a de c atre un alt circuit de memorie, RAM, prezentat n sect iunea 3.6. Pentru un ciruit ROM organizarea logic a de principiu este prezentat a n Figura 2.47-b. Liniile de cuv ant ale matricei sunt ie sirile de la DCDn:2 n , deci activarea unei locat ii rezult a n urma aplic arii unui cuv ant de adres a A n1 An2 ...A1 A0 la intrarea decodicatorului. Cuv antul de date de la locat ia adresat a, nainte de a generat n exterior, de exemplu, pe o magistral a, est buerat; n cazul conect arii la o magistral a buerele de ie sire trebuie s a e de tip TSL. Comanda buerelor TSL este realizat a prin conjunct ia a dou a semnale de comand a CS L (Chip Select) si OE L (Output Enable). Matricea memoriei prezint a n ecare nod o diod a si are nscris acela si cont inut ca si cel nscris n matricea de la gura Figura 2.47-a. Pentru un bit 1, nscris ntr-un nod, dioda respectiv a este conectat a ntre linie si coloan a, iar pentru un bit 0 nscris fuzibilul este ars n acest nod, deci dioda nu realizeaz a conexiunea ntre linie si coloan a. Conform conexiunilor la diode, la activarea primei linii va citit cuv antul Dm1 Dm2 ...D1 D0 = 10...11 pentru linia a dou a cuv antul 11...01, iar pentru linia de adres a 2n 1 cuv antul 01...10. Aplicat iile cu circuite ROM pot ncadrate n dou a grupe: a) aplicat ii de tip aritmetic si b) aplicat ii de tip logic. a). Aplicat iile de tip aritmetic se reduc la implementarea unor tabele de date, LUT (Look-Up Table). LUT-ul este o reprezentare a unei funct ii prin valorile sale numerice, nscrise n diferite locat ii ale circuitului ROM. Adresa locat iei se determin a prin congurat ia binar a a valorilor variabilelor de intrare ale funct iei. Deci pentru o anumit a congurat ie a variabilelor funct iei adresa unei locat ii din locat ia respectiv a se obt ine, la ie sirea circuitului ROM, cuv antul binar care reprezint a valoarea funct iei. b). Aplicat iile de tip logic se reduc la implementarea unei funct ii logice n general cu ie siri multiple pe cele dou a niveluri AND si OR ale circuitului ROM, deci acesta este un circuit combinat ional. In structura matricei o linie de bit, prin diodele conectate la rezistent a R, constituie un circuit max, ca cel din Figura 1.11-b, care n logic a pozitiv a este o poart a OR. Aceast a poarta OR, de fapt, colecteaz a la intrarea buerului de ie sire acele ie siri ale DCDn:2n la care exist a diod a cu fuzibilul nears, adic a nsumeaz a logic unii din termenii canonici de variabilele An1 , An2 , ..., A1 , A0 . De exemplu, linia de bit D1 realizeaz a valoarea funct iei logice care nsumeaz a mintermii 1 P 0 + 0 P1 + ... + 1 P2n 1 . Dac a se prive ste circuitul ROM ca un CLC cu ie siri multiple atunci acesta este un convertor de cod (transcodor), pentru o congurat ie a cuv antului de

252

2.4. CLC PENTRU FUNCT II 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 a, de principiu, pentru informat ia sub form a de cuvinte binare; b) structurarea matriceal aa unui circuit ROM; c) conectarea la magistralele P a unui circuit ROM; d) diagramele de timp ale semnalelor de control pentru efectuarea operat iei de citire.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

253

de intrare, An1 , An2 , ..., A1 , A0 , se genereaz a o congurat ie a cuv antului de ie sire, Dm1 , Dm2 , ..., D1 , D0 , care, de fapt, realizeaz a o dependent a intrare ie sire ca circuitul cu schema de principiu din Figura 2.33. La fel ca si multiplexorul circuitul ROM este un circuit logic universal pentru c a prezint a at at nivelul de AND c at si nivelul de OR dar, spre deosebire de multiplexor, la ROM nivelul de OR este programabil si poate un circuit cu ie siri multiple (genereaz a un cuv ant de date). ROM-ul av and posibilitatea de a programat, pe nivelul de OR (codicator), poate mai ecient folosit, adic a tot i cei 2 n maxtermi generat i pe nivelul de AND (decodicator) pot utilizat i pentru implementarea mai multor funct ii si nu numai pentru una singur a ca la multiplexor. Funct ia de implementat nu trebuie minimizat a deoarece nivelul decodicator produce tot i cei 2 n termeni canonici. Implementarea unei funct ii se face prin maparea direct a a tabelului de adev ar pe matricea OR programabil a a ROM-ului; pe linia de bit (coloana) alocat a funct iei respective pentru termenii canonici care au valoare 1 fuzibilul diodei r am ane intact, iar pentru termenii care au valoare 0 conexiunea se exclude prin arderea fuzibilului. Pentru aplicat iile n care memoria numai cu citire este utilizat a ca un LUT aceasta trebuie inclus a ntr-un sistem pe baza de P , Figura 2.47-c. Memoria ROM se conecteaz a la cele trei magistrale ale sistemului n modul urm ator: intr arile de adres a la magistrala de adresare, ie sirile de date la magistrala de date, iar la magistrala de control, care n acest caz este reprezentat a doar de semnalul READ generat de P , se conecteaz a intrarea de validare a ie sirii, OE . La generarea unui cuv ant de adres a de c atre P , din locat ia de adres a respectiv a, se obt ine cuv antul care se depune pe magistrala de date de unde este citit de c atre P . Pentru conexiunile din acest sistem circuitul de memorie pot citite numai cuvintele de adres a care au bitul A n1 = 0, deoarece acest bit este utilizat pentru activarea semnalului de selectare a circuitului, CS , activ n L. In procesul de citire a memoriei trebuie ndeplinit a o anumit a secvent ialitate n aplicarea cuv antului de adres a si a semnalelor de control CS L si OE L. In Figura 2.47-d sunt prezentate diagramele de semnale pentru efectuarea operat iei de citire. La momentul t1 cuv antul adres a generat de microprocesor se aplic a pe magistrala de adresare la intrarea memoriei si ncepe decodicarea adresei. In momentul t2 , prin semnalul READ, generat tot de P , se comand a buerele de ie sire pentru trecerea lor din HZ n starea lor normal a. Abia ncep and din momentul t 3 datele din locat ia de memorie sunt validate pe magistrala de date si pot citite de c atre P . Se dene ste timpul de acces, AA , ca intervalul de timp din momentul momentul aplic arii cuv antului de adres a la intrarea memoriei (t 1 ) p an a c and datele la ie sire sunt valide (t3 ), deci c and datele pot citite. Acest parametru important al circuitelor ROM are valori cuprinse ntre 20 90ns pentru cele n tehnologie bipolar a si ntre 70 400ns pentru cele CMOS. Pentru o proiectare se recomand a consultarea foii tehnice a circuitului respectiv deoarece n aceast a prezentare simplicat a au fost omi si alt i parametrii de timp (vezi Figura 3.92-a). La implementarea funct iilor logice pe memorii numai cu citire este normal a tendint a de a se utiliza circuite ROM c at mai simple si mai ieftine, deci de capacitate c at mai mic a. In acest sens se recomand a ca reducerile la funct iile logice de implementat s a se fac a n primul r and pe num arul variabilelor de intrare. Deoarece capacitatea memoriei n bit i este 2n m, mic sorarea intr arilor cu o unitate reduce capacitatea de dou a ori (2n m/2n1 m = 2) pe c and micsorarea ie sirilor cu o unitate duce la o

254

2.4. CLC PENTRU FUNCT II LOGICE

capacitate numai de m/(m 1) ori mai mic a, (2n m)/2n (m 1) = m/(m 1)). Posibilitatea de mic sorare a num arului de variabile aplicate la o memorie numai cu citire apare la acele funct ii care sunt part ial denite la intrare (unele congurat ii binare nu au sens pentru funct ie) sau pentru mai multe congurat ii binare de intrare funct ia are aceea si ie sire. Congurat iile care genereaz a aceea si ie sire sunt grupate ntr-o clas a de echivalent a care necesit a pentru exprimare doar o singur a congurat ie binar a (cod). Dac a la o funct ie cu n variabile un num ar de n 1 variabile (n1 < n) pot grupate ntr-un num ar de clase de echivalent e care pot exprimate cu p bit i (p < n1 ) atunci num arul de intr ari ale memoriei pentru implementare scade de la n la n n1 + p. Exemplul 2.18 Pe un circuit ROM s a se implementeze urm atoarea funct ie:
63

f (x5 , x4 , x3 , x2 , x1 , x0 ) =
0

(4, 5, 20, 29, 41, 42, 45, 57, 53, 58, 61, 63)

Solut ie. Implementarea se poate face direct prin nscrierea valorii 1 n locat iile ale c aror

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 a pentru sucesiunea etapelor n compresia variabilelor unei funct ii n scopul reducerii capacit a tii memoriei ROM folosit a pentru implementare.
adrese sunt specicate n lista mintermilor, pe un modul memorie compus din patru circuite

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

255

de capacitate 16 4 bit i; D3 = f , ceilalt i trei bit i de ie sire D2 , D1 , D0 r am an neutilizat i, Figura 2.48-d. Dar pentru cei 13 termeni produs ai funct iei care au valoare logic a 1, printr-o mp art ire a variabilelor funct iei n dou a grupe x5 x4 si x3 x2 x1 x0 , se poate realiza o compresie prin identicarea unor clase de echivalent e. Intre cele 13 cuvinte binare care sunt cuvinte de adres a ce se aplc a la intrarea memoriei ROM, pentru grupul de variabile x3 x2 x1 x0 exist a numai sase subcuvinte binare distincte, deci s-a identicat sase clase de echivalent a notate cu 0 , 1 , 2 , 3 , 4 , 5 ca n Figura 2.48-a. S ase clase de echivalent a pot codicate numai cu 3 bit i z2 z1 z0 ca n tabelul din Figura 2.48-b. Transcodarea de la patru variabile x3 , x2 , x1 , x0 la trei variabile z2 , z1 , z0 se face cu un circuit ROM16 4 bit i (un bit de ie sire este neutilizat). In nal, funct ia se poate exprima doar cu 5 variabile x5 , x4 si z2 , z1 , z0 ca n tabelul din Figura 2.48-c, cu o implementare doar pe dou a circuite ROM164 plus nc a unul pentru transcodorul claselor de echivalent a , Figura 2.48-e. Fat a de modalitatea direct a de implementare cu circuite patru ROM de 164 bit i, Figura 2.48-d, s-a econimisit un circuit de 164 bit i.

Din analiza comparativ a a tabelelor de adev ar ale funct iilor booleene pentru aplicat ii logice si a celor pentru aplicat ii aritmetice (numerice) se constat a f ar aa g asi o explicat ie riguroas a c a: raportul ntre num arul congurat iilor variabilelor de intrare ale funct iei care produc valoarea 1 pentru ie sire, sau num arul congurat iilor care produc valoarea 0 pentru ie sire, supra num arul total de congurat ii ale variabilelor de intrare ale funct iei, 2n , este egal cu 0.5 pentru funct iile aritmetice si mult diferit de 0.5 pentru funct iile logice. Se poate verica aceast a observat ie prin compararea tabelelor de adev ar ale operatorilor logici AND,OR,NAND,NOR de dou a variabile si tabelul de adev ar al operatorului aritmetic XOR (sum a modulo doi) de dou a variabile (se poate extinde si pentru n > 2). Ca o consecint a a acestei observat ii se deduce c a pentru implementarea unei funct ii logice, pe baz a de 1, sub form a FCD (sum a de mintermi) este necesar a se genera put ini mintermi din num arul total de 2n ai funct iei. De asemenea, dac a funct ia are prin sumarea multe valori 1 si put ine valori 0, se poate face sinteza funct iei negate f mintermilor pentru (put inele) congurat ii la care funct ia are valoarea 0 si apoi prin se obt negarea lui f ine funct ia, deci tot un num ar mic de mintermi ce trebuie generat i n raport cu num arul total de mintermi 2n . Dar la o implementare pe un ROM sunt generat i tot i cei 2n mintermi indiferent dac a sunt utilizat i n sinteza funct iei sau nu; pentru un num ar mare de variabile de intrare costul gener arii mintermilor neutilizat i devine destul de ridicat. In concluzie, pentru implementarea aplicat iilor aritmetice (LUT-uri, programe de calculator) circuitul ROM este o solut ie recomandat a dar pentru implementarea aplicat iilor logice, mai ales pentru n ridicat, ROM-ul nu este recomandat. Vom vedea c a pentru implementarea funct iilor logice, cu n ridicat si num ar redus de mintermi necesari, este recomandat circuitul PLA.

2.4.6.1

Realizarea circuitelor si modulelor ROM

Adresarea bidimensional a. Pentru o memorie ROM de capacitate 2 n m bit i, cu n bit i de adrese si m bit i de date pe ie sire, Figura 2.47-a, se poate calcula dimensiunea SROM (n,m) . Consider and ecare linie de bit ca o poart a OR cu 2 n intr ari

256

2.4. CLC PENTRU FUNCT II LOGICE

si pentru ecare buer de ie sire TSL trei terminale rezult 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 a genereaz a dicult a ti la implementarea ROM. In general, n > m, iar m = 2k are valori uzuale de 1,4, sau 8. Dicult a tile de implementare sunt datorit a num arului mare de ie siri de la DCDn:2 n si valorii relativ mic a a lui m. De exemplu, pentru circuitul 27C040 ROM cu capacitatea 4M (512K 8 = 1019 23 = 222 bit i) ar rezulta un decodicator cu (512 1024) ie siri, ceea ce ar foarte greu de realizat, iar dimensiunile matricei ar 2 19 8, ori ,, aceast a suprafat a liform a ar cu totul neconvenabil a pe aria de Si. Se recomand a ca suprafet ele ocupate pe aria de Si s a e p atratice (sau dreptunghiulare) din motive tehnologice si de mpachetare (conexiuni si pini). Aceste dou a dicult a ti, num arul mare de ie siri ale DCD n : 2n c at si suprafat a liform a a matricei, pot dep a site prin modul de adresarea bidimensional a. La adresarea bidimensional a, exprimat a prin Denit ia 2.9 , cuv antul de adres a An1 An2 ...A1 A0 se mparte n dou a subcuvinte de adres a cu lungimea n 2 bit i si cel alalt cu lungimea de n1 bit i (An1 1 An1 2 ...A1 A0 ), n (An1 An2 ...An1 An1 ) general n1 si n2 au valori apropiate sau chiar egale, n = n1 + n2 . In felul acesta se realizeaz a dou a decodicatoare, unul DCDn 2 :2n2 pentru decodicarea liniilor matricei and un num ar de ie siri si cel alalt DCDn1 :2n1 pentru decodicarea coloanelor, ecare av mult mai mic dec at decodicatorul init ial DCDn:2 n ; 2n1 << 2n , 2n2 << 2n , 2n1 ial a care avea 2n linii cu m bit i pe ecare linie se scaleaz a la o 2n2 = 2n . Matricea init matrice care are 2n2 linii dar cu m 2n1 bit i pe ecare linie, deci raportul dimensiunilor se modic a de la 2n /m >> 1 la 2n2 /m 2n1 1. Prin trecerea de la o matrice ,, liform a la una p atratic a, capacitatea memoriei, 2 n+k bit i, nu se modic a, se pot calcula valorile pentru n1 si n2 cu urm atoarele relat ii: n2 = (n + k )/2, n1 + k = (n + k )/2; m = 2k . Recalcul and dimensiunea SROM (n,m) pentru adresarea bidimensional 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 proport ional a cu capacitatea memoriei (m 2 n ) nu mai poate mic sorat a! In aceast a variant a de adresare bidimensional a decodicatorul de linii, prin subcuv antul de adres a de n2 bit i, va activa c ate o linie pe care exist a m cuvinte de c ate i, iar decodicatorul de pe coloane va trebui s a selecteze si s a aplice la ie sire 2n2 bit c ate un bit din ecare din cele m cuvinte ale liniei activate. Aceast a selectare se realizeaz a cu un grup de mMUX2n1 :1, subcuv antul de adres a An1 1 An1 2 ...A1 A0 se aplic a pe intr arile de selectare ale tuturor celor m multiplexoare. Practic, pentru un subcuv ant de adres a aplicat la grupul de multiplexoare se extrag bit ii din aceea si pozit ie ale celor m cuvinte. Logic, memoria r am ane o structurare de matrice cu 2 n linii si m coloane. Pentru circuitul 27C040 folosit anterior, printr-o decodicare bidimensional a la care dac a se alege n1 = 11 si n2 = 8 se obt ine o structurare cu un decodicator pentru linii cu 211 = 2048 ie siri, pe ecare linie sunt 2048 bit i, iar pentru selectarea

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 a circuitului ROM: a) organizarea general a, de principiu, cu un DCDn2 :2n2 pentru activarea liniilor si cu un grup de arii anterioare mMUX2n1 :1 pentru selectarea coloanelor; b) particularizarea structur pentru o memorie ROM cu organizarea logic a de 32K 8 bit i.

258

2.4. CLC PENTRU FUNCT II LOGICE

cuv antului de ie sire de 8 bit i sunt necesare 8MUX2 8 :1; dimensiunea matricei este 11 8 p atratic a 2 /8 2 = 1. In organizarea de principiu, pentru decodicarea bidimensional a a unui circuit ROM, pe l ang a validarea buerelor de ie sire TSL, prin conjunct ia dintre semnalele Chip Select si Output Enable, exist a si o comand a pentru cele trei componente: decodicatoare, matrice si multiplexoarele pe ie sire, pentru trecerea n regimul de a steptare (standby). Regimul de a steptare se obt ine prin neactivarea semnalului CS L, aplicat si ca semnal de conectare la sursa de alimentare Power On, care va deconecta alimentarea componentelor respective. Deci c and circuitul ROM nu este selectat, automat, consumul s au de putere se reduce, prin trecerea n regim de a steptare, p an a la 10% din cel n regimul normal. In Figura 2.49-b este prezentat a, ca o exemplicare, o posibil a structurare de decodicare bidimensional a a unui circuit ROM cu organizarea logic a de 32K 8 bit i. Decodicatorul cu 15 intr ari si (32 1024) ie siri este substituit cu un DCD9:2 9 la care se aplic a subcuv antul A14 A6 si 8MUX64:1 (toate selectate de acela si subcuv ant A5 A0 ). In acest fel, matricea programabil a (nivelul OR) de la raportul dimensiunilor 215 /23 = 212 este scalat a la raportul 29 /(8 26 = 1 deci a devenit p atratic a; pe ecare linie, init ial cont in and un cuv ant de date de 8 bit i, au fost plasate dup a scalare 8 cuvinte de date ecare de c ate 64 bit i. Tipuri de circuite ROM. Personalizarea unui circuit ROM pentru o anumit a aplicat ie este realizat a prin informat ia care se nscrie pe nivelul SAU matricea programabil a. Aceast a informat ie, valorile bit ilor n ecare nod al matricei, este elaborat a de c atre utilizator dar nscrierea/programarea n noduri se face n diferite modalit a ti, e de c atre produc atorul circuitului, e de c atre utilizator. In funct ie de modalitatea zic a de programare exist a mai multe tipuri de circuite ROM. 1. ROM programat prin mascare. Informat ia pentru aplicat ie, elaborat a de proiectant, este trimis a la turn atoria de siliciu. Fabricantul, pe baza acestei informat ii, genereaz a una sau dou a m a sti si termin a fazele de fabricat ie ale circuitului ROM, adic a se nscrie 1 sau 0 n nodurile matricei. Fizic, aceast a nscriere prin mascare se reduce la prezent a sau absent a n ecare nod a unei conexiuni, ntre linia de cuv ant si lina/coloana de bit. Evident, odat a faza de programare ncheiat a, prezent a unei erori n programarea nodurilor duce la rebutarea circuitului. Datorit a costului ridicat de fabricat ie si imposibilitatea corect arii unei erori, realizarea aplicat iilor cu ROM programat prin mascare este indicat a pentru generarea de funct ii standard, cum ar tabele de conversie foarte uzuale (LUT), funct ii specice generate de c atre utilizator si c and este nevoie de o product ie de serie mare (produse auto, de larg consum etc.). 2. ROM programabil, PROM (Programmable Read Only Memory). Acest tip de circuit ROM a ap arut ca un r aspuns la nevoia utlilizatorului de a nu mai legat de turn atoria de siliciu si de timpul lung necesar realiz arii aplicat iei. Fabricantul produce circuitul care este deja nscris n toate nodurile sale e cu bitul 1, e cu bitul 0, depinde cum este organizat ROM-ul. Fizic, aceasta nseamn a c a n ecare nod exist a un fuzibil ntre linia de cuv ant si lina de bit sau un tranzistor conectat cu drenul la linia de bit iar poarta este comandat a de linia de cuv ant, ca n Figura 2.50-a si a c arei surs a/emitor este legat la mas a printr-un fuzibil. Intr-un nod realizat cu tranzistor, al c arui fuzibil nseriat n surs a nu este ars, atunci c and linia de cuv ant care comand a poarta este n stare activ a (se genereaz a mintermul respectiv) va fort a la potent ialul masei tensiunea pe linia de bit, respectiv linia de bit va un 1 logic atunci

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

259

c and mintermul respectiv are valoarea logic a 0. Rezult a c a o linie de bit realizeaz a n logic a pozitiv a funct ia NOR de tot i mintermii ale c aror tranzistoare conectate la acea linie nu au fuzibilul ars, iar dup a buerul inversor de ie sire se obt ine funct ia OR. Programarea PROM-ului este efectuat a de c atre utilizator cu ajutorul unui programator, prin care fuzibilul este ars numai n acele noduri n care informat ia init ial a nscris a prin fabricat ie trebuie schimbat a n bitul complementar. Practic, se selecteaz a nodul prin linia de cuv ant si lina de bit corespunz atoare si apoi, pe linia de bit se aplic a un impuls de tensiune de valoare ridicat a (10-30V) care fort eaz a un curent prin fuzibil ce duce la arderea acestuia. Inconvenientele care pot s a apar a la aceste dispozitive o singur a dat a programabil a, OTP (One Time Programmable) au fost prezentate la sf ar situl sect iunii 1.2. De si PROM-ul elimin a dependent a de turn atoria de siliciu, totu si dezavantajul rebut arii circuitului n cazul unei erori de programare nu este eliminat, acest dezavantaj este eliminat de urm atoarele tipuri de ROM reprogramabile. 3. ROM reprogramabil, EPROM (Eraseble Programmable ROM). Facilitatea de stergere a cont inutului unui circuit ROM si apoi reprogramarea se bazeaz a pe funct ionarea tranzistorului cu poart a otant a a c arei structur a este prezentat a n Figura 2.50-b.

ll lmlm mlml cb bc ll cb gf lmml bc gf mllm fg bc cb cb cb


Linie de cuvant n+

n+

nn nno n noo d d d d d h ihkj ihkj d ihkj pqqpqpqp dee qppqpqpq dee dee dee
Poarta de control ~10nm n+ Tranzistor programabil Poarta de control

Metal +V CC SiO2 Linie de cuvant Linie de bit R

Substrat p Poarta flotanta Tranzistor de acces Linie de cuvant Fuzibil

Linie de bit b)

Iesire data

a)

Iesire data

Figura 2.50 Structurarea de noduri pentru circuite ROM: a) nod de ROM programabil; b) nod de EEPROM. Tranzistorul cu poart a otant a, fat a de un nMOS normal, are dou a port i suprapuse, poarta otant a si poarta de control, separate printr-un strat de SiO 2 . Poarta otant a, spre deosebire de cea de control, nu are n exterior un terminal de acces si este izolat a n masa de SiO2 care o nconjoar a, iar stratul de SiO2 ntre aceast a poart a si substrat este foarte subt ire, cel mult 10nm. In anumite condit ii, de tensiuni aplicate pe terminalele tranzistorului, electronii cu energie ridicat a din canal ,, (hot electron ) pot str abate stratul foarte subt iere de SiO2 p ana la poarta otant a, iar aceasta, ind izolat a, r am ane nc arcat a permanent cu sarcina negativ a captat a (permanent nseamn a cel put in 10 ani chiar si la temperatura de 125 grade Celsius). Aceast a sarcin a negativ a permanent a de pe poarta otant a cre ste tensiunea de prag Vpn a tranzistorului nMOS la aproximativ 7V, ceea ce practic nseamn a c a acesta

260

2.4. CLC PENTRU FUNCT II LOGICE

este blocat pentru toate tensiunile normale ale circuitului (5 6)V. Procesul poate reversiblil, prin aplicarea unui fascicol de radiat ie ultraviolet a care anuleaz a sarcina negativ a acumulat a pe poarta otant a, deci tranzistorul devine iar a si comandabil cu tensiunile normale ale circuitului. Structurarea unui nod pentru un circuit EPROM este similar a cu cea a unui nod dintr-un circuit PROM descris a anterior un tranzistor care conecteaz a linia de bit la mas a printr-un fuzibil. Numai c a, la EPROM, tranzistorul de acces care leag a la mas a linia de bit are n surs a nseriat un tranzistor cu poart a otant a n loc de fuzibil. Programarea nodului, adic a blocarea tranzistorului cu poarta otant a prin colectarea unei sarcini negative pe poarta otant a, se face n felul urm ator: se activeaz a linia de cuv ant (poarta tranzistorului de acces); se aplic a prin linia de bit ( si tranzistorul de acces) pe drenul tranzistorului cu poarta otant a o tensiune n jur de 12 volt i; se aplic a un impuls de tensiune de 13 14 volt i pe poarta de control care ajut a la colectarea sarcinii negative (electroni) pe poarta otant a. Rezult a c a tranzistorul cu poarta otant a, pentru care tensiunea de prag Vpn a devenit ridicat a, ntrerupe conectarea la mas a n acel nod al liniei de bit chiar dac a tranzistorul de access corespunz ator este comandat. S tergerea nodului se face prin expunerea circuitului, timp de 2030 de minute, n radiat ii ultraviolete. Circuitele EPROM au pe partea superioar a o fereastr a, transparent a la radiat ii ultraviolete, realizat a din cuartz. Dezavantajul acestui mod de stergere apare prin faptul c a circuitul EPROM trebuie scos din soclul s au de pe placa de circuit inprimat iar stergerea sa este total a, adic a se sterg toate nodurile, nu numai nodul care ar urma s a e reprogramat. Exist a urm atoarele circuite EPROM tip Intel obtenabile comercial: 2716-16K(2Kx8bit i); 2764-64K(8Kx8bit i); 27256-256K(32Kx8bit i); 27C010-1M(128Kx8bit i); 27C210-1M(64Kx16bit i); 27C040-4M(512Kx8bit i); 2732-32K(4Kx8bit i); 27128-128K(16Kx8bit i); 27512-512K(64Kx8bit i); 27C020-2M(256Kx8bit i); 7C220-2M(128Kx16bit i); 27C240-4M(256Kx16bit i);

4. Memoria ROM cu stergere pe cale electirc a EEPROM, E2 PROM (Electricaly Erasable Programmmable ROM). Acest tip de ROM elimin a dezavantajele de la EPROM si anume, circuitul nu mai trebuie scos din soclu pentru stergere pentru c a acesta operat ie se face pe cale electric a. Practic, stergerea se face ca si nscrierea prin aplicarea unei tensiuni pe poarta de control, dar de data aceasta, o tensiune de polaritate inversat a, care elimin a spre substrat sarcina negativ a acumulat a pe poarta otant a. S tergerea se face nu pe bit ci pe blocuri care pot ajunge p an a la 64Kbytes (de exemplu, la o memorie de 1Mbyte sau mai mare). O variant a de EEPROM este memoria ash. Frecvent, memoriile Flash se produc sub form a de cartele astfel nc at s a e utilizate n aparatura portabil a cum ar : camerele digitale, telefoane mobile, mbr ac amintea electronic a, transferul informat iei ntre dou a calculatoare (simularea unei diskete). In viitor, memoria Flash poate substitui harddisk-ul oferind un timp de acces n jur de 100ns, fat a de 610 ms la harddisku-rile actuale. Obstacolul care exist a, actual, la memoriile ash const a n num arul limitat de stergeri/ nscrieri, nu cu mult peste 10.000 ori si capacitatea de stocare care a ajuns doar la sute de Mbytes (fat a de 120 de Gbytes la harddisk-uri uzuale acum).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 s apt. > 2 3 s apt. 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 sc azut 10.000-100.000 limit a nscrieri/citiri

Bipolar NMOS, CMOS NMOS

<100ns 25-200ns 50-200ns

In Tabelul 2.1 [Wakerly 2000] sunt sintetizate caracteristicile circuitelor ROM obtenabile comercial.

2.4.6.2

Module de memorie ROM

Necesit a tile n aplicat ii cu memorie ROM pot dep a si capacit a tile pe care le prezint a circuitele discrete obtenabile comercial. Pentru astfel de aplicat ii se realizeaz a module de memorie ROM care extind capacitatea circuitelor ROM discrete. Pentru a putea integrate n module, circuitele ROM sunt prev azute cu un semnal de control de selectare circuit, CS ( n general, activ n stare L). Fat a de circuitele ROM discrete, un modul ROM realizeaz a o extensie e a capacit a tilor de adresare, e a lungimii cuv antului memorat sau e a am andorura simultan. 1. Extinderea capacit a tii de adresare. Extinderea apare ca o rezolvare a realiz arii unei memorii cu capacitate de adresare C din circuitul ROM cu num ar de 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 bit i, rezult a c a sunt necesare 4K/1K = 4 circuite. Deoarece adresarea unui ROM de 1K adrese se face cu un cuv ant de adres a de 10 bit i, A9 , A8 , ..., A1 , A0 , iar pentru adresarea moduluilui de 4k sunt necesari 12 bit i de adres a A11 , A10 , ..., A1 , A0 , aceasta ar impune extinderea decodcatoarelor (interne) ale circuitelor cu nc a 2 bit i A11 si A10 . Dar, extinderea este posibil a doar n exterior cu un DCD2:4 pe ale c arui intr ari sunt aplicat i bit ii de adres a A 11 si A10 , prin aceasta ecare circuit ROM va selectat pe intrarea CS de c atre o ie sire a decodicatorului exterior, Figura 2.51-a. In spat iul de adresare de 4K, ce poate acoperit cu un cuv ant de adrese cu lungimea de 12 bit i (de la 000HFFFH cu exprimare n hexazecimal, H), segmentul de adrese repartizat ec arui circuit ROM se obt ine prin construirea mapei adreselor memoriei. Bit ii de adres a A9 ...A0 se aplic a la toate cele patru circuite de 1K adrese, iar bit ii A10 si A11 sunt utilizat i, prin decodicare, la selectarea a c ate unui circuit de 1K adrese. Segmentele de adres a ale circuitelor, prin al aturare, formeaz a un spat iu de adresare continuu de 4K adrese.

262

2.4. CLC PENTRU FUNCT II 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 capacit a tii de adresare; b) prin extinderea simultan a at at a capacit a tilor de adresare c at si a lungimii cuv antului de date.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

263

2. Extinderea at at a capacit a tii de adresare c at si a lungimii cu antului. Folosind acela si circuit ROM, cu capacitatea 1Kx8bit i pentru realizarea unui modul de capacitate 2Kx16bit i, rezult a c a sunt necesare 2K 16bit i/1K 8bit i = 2 2 circuite; extinderea este at at pe adrese 2 1K = 2K adrese c at si ca lungime de cuv ant de date 2 8bit i = 16 bit i Figura 2.51-b. Extinderea de adrese este similar a ca la modulul anterior cu deosebirea c a de data aceasta n exterior se adaug a un DCD1:2, bitul de adres a A 10 pentru selectarea celor dou a segmente de adrese. Fiecare ie sire a decodicatorului selecteaz a simultan c ate dou a circuite de capacitate 1Kx8bit i, ROM0 cu ROM2 si ROM1 cu ROM3. La circuitele dintr-o pereche se aplic a acela si cuv ant de adres a A 9 ...A0 dar din unul se cite ste byte-ul superior iar din cel alalt byte-ul inferior din care se compune cuv antul de date pe magistrala de date. In aceste exemple de extindere se consider a c a ie sirile de date ale circuitelor ROM sunt de tip TSL. Uneori, c and sunt disponibili sucient i bit i n cuv antul de adresare, se elimin a DCD-ul exterior pentru extinderea capacit a tii de adresare, iar pentru selectarea a c ate unui circuit ROM este asignat (repartizat) un bit disponibil din cuv antul de adresa Avantajul acestui mod de adresare adresare liniar a n raport cu adresarea cu codicarea complet a este simplitatea; dar n acest caz segmentele de adrese acoperite de c atre ecare circuit ROM component nu se mai al atur a ntr-o zon a continu a din spat iul de adresare. De exemplu, dac a sunt disponibili n cuv antul de adresare bit ii A13 , A12 , A11 , A10 care sunt repartizat i pentru selectare respectiv a circuitele ROM3, ROM2, ROM1, si ROM0, pentru modelul de 4K din Figura 2.51-a, se obt in prin construirea mapei adreselor memoriei urm atoarele segmente neal aturate de adrese: 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 ap arut ca o necesitate pentru eliminarea inconvenientelor pe care le prezentau circuitele logice universale MUX, ROM, n implementarea funct iilor logice sub form a de sum a de produse, si anume: generarea tuturor termenilor canonici produs de si, n general, nu sunt necesari tot i; formele minime/reduse ale funct iilor nu pot implementate. Pentru implementarea acestora trebuie parcurs drumul invers, adic a expandarea formelor reduse la form a canonic a; inexistent a facilit a tii de implementare a funct iei si prin negata acesteia, c and funct ia negat a este mai simpl a (unele circuite MUX au at at ie sirea negat a c at si nenegat a). 2.4.7.1 Matricea Logic a Programabil a, PLA

Prima variant a de dispozitiv logic programabil, PLD, sub form a de matrice logic a progrmamabil a PLA (Programmable Logic Array), a fost introdus n anul 1975 de c atre rma Signetics Inc. Organizarea de principiu al unui circuit PLA, Figura 2.52-a,

264

2.4. CLC PENTRU FUNCT II LOGICE

poate privit a ca ind similar a cu a memoriei ROM, numai c a de data aceasta nu este programat doar nivelul de OR (codicator) ci si nivelul AND (decodicator). Aceast a facilitate suplimentar a, de programabilitate pe matricea AND, face posibil a generarea numai a unui num ar p de termeni produs (p << 2n ), nu neap arat canonici de variabile de intrare. In afara celor dou a matrice programabile, n structurarea unui PLA mai apar: 1) un nivel de buerare pe intrare, care produce pentru ecare dintre cele n intr ari at at valoarea negat a c at si cea nenegat a (acest nivel din punct de vedere logic este compus din n decodicatoare elementare); 2) un nivel de i sire pe XOR care prin programare poate genera, e valoarea funct iei, e valoarea negat a a funct iei. Deci
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 a programabil a, PLA: a) organizarea de principiu cu evident ierea celor dou a niveluri (matrice) programabile; b) simbolurile pentru reprezentarea st arii nodurilor din matricea decodicatoare. circuitul PLA este caracterizat de n intr ari, de p port i AND programabile ecare cu 2n intr ari (n variabile negate si n nenegate) si de m port i OR programabile cu p intr ari (care sunt ie sirile port ilor AND). Circuitul PLA poate structurat si pe matrice programabil a numai de tip NAND deoarece implementarea pe dou a niveluri NAND-NAND este echivalent a cu implementarea pe 2 niveluri AND-OR. In nodurile matricei AND, de dimensiune 2n linii de intrare si 2n p coloane si n nodurile matricei OR, de dimenisune p coloane (termeni produs obt inut i la ie sirile port ilor AND) si p m linii (m port i OR ecare cu p intr ari), modalit a tile de programare pot cele deja descrise la memoria ROM. Se pot realiza PLA-uri, de tipul OTP, c and n nod exist a o diod a nseriat a cu un fuzibil ori un tranzistor (bipolar

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

265

sau unipolar) nseriat cu un fuzibil, ca n Figura 2.50-a, sau se pot realiza PLA-uri cu reprogramare ( stergere pe cale electric a sau cu fascicol UV), c and n nod este prezent un tranzistor cu poarta otant a, ca n Figura 2.50-b. In aplicat ii, pentru descrierea nodurilor matricelor programabile, sunt folosite reprezent arile logice simbolice din Figura 2.52-b. Un nod n care exist a o leg atur a electric a ntre linie si coloan a este simbolizat cu un punct (nod programat), iar acest punct lipse ste n nodul n care nu exist a o leg atur a electric a (nod neprogramat). i , sunt programate Evident, dac a ambele noduri, at at pentru intrarea I i c at si pentru I
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 a tipic a pentru un circuit PLA. poarta AND, n care intr a coloanele respective, va genera un termen produs a c arui i = 0). Poarta AND valoare este permanent zero (Ii I n care intr a at at nodul Ii c at i , dar ambele sunt neprogramate (fuzibilele au fost arse!), va genera un produs ce si I este indiferent n raport cu intrarea Ii (nu cont ine aceast a variabil a). O structur a tipic a pentru un circuit PLA (82S100, Signetics) este cea din Figura 2.53, alte variante obtenabile comercial pot deduse sau se recunosc n aceasta. Circuitul 82S100 prezint a 16 intr ari (I0 , I1 , ..., I15 ), 48 de port i AND ecare av and c ate 32 de intr ari. Se pot genera cel mult 48 de termeni produs ecare de maxim 16 variabile. Cele 8 funct ii care se pot inplementa, ca o sum a de maxim 48 termeni produs, pot generate la ie sirile O0 , O1 , ..., O7 , e negate, e nenegate prin programarea port ilor

266

2.4. CLC PENTRU FUNCT II LOGICE

XOR. Ie sirile sunt generate prin buerele de ie sire TSL comandate prin semnalul validare ie sire, OE L. Num arul total de fuzibile este de 1928; o memorie PROM care poate implementa o funct ie de 16 variablie trebuie s a aib a pe nivelul OR programabil 216 = 65536 fuzibile! La o memorie ROM o congurat ie binar a a cuv antului de intrare genereaz a prin decodicare doar un singur termen canonic produs, pe c and la un circuit PLA o congurat ie binar a de intrare poate genera nici unul, unul sau mai mult i termeni produs, respectiv acela si termen produs poate generat de mai multe congurat ii de intrare. Aceast a neunivocitate rezult a din posibilitatea c a unele din intr arile port ilor AND s a e programate indiferent, intr-un termen produs, n raport cu anumite variabile (ambele fuzibile ale variabilei sunt arse). Exemplul 2.19 S a se realizeze sinteza si s a se implementeze pe un circuit PLA un convertor de cod BCD-7 segmente. Notarea segmentelor LED ale a sorului cu 7 segmente corespunde celei din Figura 2.37. Tabelul 2.2 Tabelul de adev ar pentru convertorul BCD-7 segmente 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 -

Solut ie. Funct iile logice a, b, c, d, e, f, g care activeaz a segmentele LED n funct ie de cifrele zecimale exprimate n BCD sunt date n Tabelul 2.2. Pentru congurat iile binare 1010, 1011, 1100, 1101, 1110 si 1111, care nu apar nciodat a n codul BCD, valorile funct iilor sunt indiferente. Minimiz and corelat cele 7 funct ii, pe diagramele V-K din Figura 2.54, rezult a urm atorii 7 implicant i primi care sunt utilizat i n mai mult dec at ntr-o singur a funct ie: X Z, Y X, Y Z, XZ . Ace W, Y Z, si X Y sti implicant i primi se genereaz a o singur a dat a pe matricea programabil a AND si sunt utilizat i n matricea programabil a OR, ori de c ate ori este nevoie. Pentru implementare s-a structurat un circuit PLA generic cu 4 intr ari, 13 port i AND si 8 port i OR.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 si implementarea convertorului de cod BCD-7 segmente pe un circuit PLA (generic).

268

2.4. CLC PENTRU FUNCT II 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 a matrice de port i NOR; b,c,d) demonstrarea conversiei NOR - NOR (logic a pozitiv a) n NAND - NAND (logic a negativ a) ceea e este echivalent cu AND - OR

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

269

Din acest exemplu reiese c a realizarea unui CLC pe un PLA poate destul de laborioas a. Spre deosebire de circuitele prezentate p an a acum la circuitul PLA implementarea necesit a minimizarea funct iei, iar dac a se implementeaz a mai multe funct ii, implementarea acestora necesit a o minimizare corelat a. In mediile de programare automat a exist a programe care, pornind de la funct ia logic a, g ase ste expresia minim a n sum a de produse at at a funct iei c at si funct iei negate, iar apoi decide care din cele dou a este mai avantajoas a (are mai put ine produse) si n funct ie de tipul de circuit PLA utilizat trimite la programator programul pentru programarea nodurilor. Multe circuite PLA dispun de un fuzibil de securitate prin care, dup a ce este ars, elimin a posibilitatea de a se citi mapa nodurilor programate, prin aceasta se exclude posibilitatea de copiere a produsului. Implementarea unui circuit PLA se realizeaz a cu aceea si structur a, at at pentru matricea AND c at si pentru matricea OR, sub forma unei matrice de port i NOR, ca n gura 2.55-a. O poart a NOR a unei astfel de matrice este compus a din tranzistoare nMOS conectate n paralel si un tranzistor cu canal init ial ca rezistent a de sarcin a. Dar o structur a de poart a NOR n logic a pozitiv a va realiza n logic a negativ a operatorul logic NAND, ceea ce este demonstrat prin tabelele de adev ar din Figura 2.55-d. Consider and logica negativ a, la ie sirea primei matrice, conform conexiunilor realizate, se obt in termenii: P1 = xy z , P2 = x z si P3 = xyz . S i a doua matrice, n logica negativ a, va realiza operatorul NAND, deci la ie sire se obt in funct iile: 1 + P 2 = xy z + xyz ; f 1 = P 1 P2 = P 2 = x f2 = P z ; 1 + P 2 = xy f 3 = P 1 P2 = P z + x z

Faptul c a prima matrice de NOR-uri realizeaz a nivelul de AND, iar a doua nivelul de OR rezult a prin utilizarea cerculet elor de negat ie ca n Figura 2.55-b si c. Deplas and cerculet ele de negat ie de la ie sirea port ilor NAND, de la prima matrice, la intr arile port ilor NAND de la a doua matrice NAND acestea se transform a n port i OR, conform conversiei binecunoscute NAND - NAND = AND - OR (vezi sect iunea 2.3). 2.4.7.2 Matricea logic a programabil a cu nivel OR x, PAL

Circuitul PAL (Programmable Array Logic) este o variant a modicat a a circuitului PLA. Modic arile fat a de PLA const a n: existent a numai a matricei AND programabil a, matricea OR x a (neprogramabil a), invers ca la circuitul ROM, si o facilitate ca unele dintre terminalele circuitului s a poat a utilizate at at ca intr ari c at si ca ie siri. Aceste modic ari reduc exibilitatea gener arii funct iilor logice dar simplic a programarea si ecientizeaz a utilizarea terminalelor circuitului. O structur a tipic a de circuit PAL (PAL16L10) este prezentat a n Figura 2.56, care, de fapt, este reprezentarea put in simplicat a a circuitului PAL16L8. In compunerea codului de denumire al circuitului primul num ar specic a num arul de terminale de intrare, n cazul acesta 16, iar al doilea este num arul terminalelor de ie sire, aici 8. Circuitul PAL16L8 are 20 de pini (sunt inclu si si cel de mas a si de alimentare), ceea ce nseamn a c a num arul total de terminale de intrare si de ie sire necesar (16 + 8 + 2 = 26) este mai mare dec at num arul de pini existent i (20). Aceast a diferent a rezult a din posibilitatea de utilzarea a unor pini at at ca terminale de ie sire c at si ca terminale de intrare. Exist a grupuri de c ate 8 port i logice AND programabile, ecare poart a din grup are 32 de intr ari pentru 16 variabile de intrare (negate si nenegate). Din ecare

270

2.4. CLC PENTRU FUNCT II 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 a de circuit PAL (PAL16L10).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

271

grup, c ate 7 port i AND au ie sirile cablate la intr arile unei port i OR iar a opta poart a AND din grup, poarta de validare a ie sirii, comand a prin ie sirea sa starea de funct ionare a unui buer inversor TSL, care este conectat la ie sirea port ii OR. Un num ar de 10 terminale, I1 , I2 , ..., I10 , sunt utilizate numai pentru aplicarea variabilelor de intrare, dou a terminale O1 si O8 sunt numai terminale de ie sire, iar 6 terminale, I/O2 , I/O3 , I/O4 , I/O5 I/O6 si I/O7 , pot programate at at ca terminale de intrare c at si ca terminale de ie sire. De pe cele 6 terminale bidirect ionale semnalul de ie sire este introdus si n ret eaua programabil a AND printr-un buer de intrare, similar ca de la oricare terminal de intrare. Num arul de fuzibile de pe nivelul AND programabil este 32 intr ari n poart a 8 port i 8 grupuri = 2048.
0 Intrare buffer TSL a) b) buffer TSL 1 Iesire

Figura 2.57 Explicativ a pentru posibilitatea de transfer bidirect ional la un terminal I/O: a) utilizarea ca terminal de intrare; b) utilizarea ca terminal de ie sire. Valoarea logic a generat a de poarta de validare, a opta poart a AND din grupurile care au un terminal de tipul I/O, determin a dac a pinul terminalului respectiv este utilizat pentru intrare sau pentru ie sire. Poarta AND de validare a ie sirii poate programat a s a genereze permanent la ie sirea sa valoarea 0 ceea ce nseamn a c a buerul inversor TSL este n starea de nalt a impedant a (HZ ), deci terminalul este un terminal de intrare, Figura 2.57-a, sau poate programat a s a genereze permanent 1 ceea ce nseamn a c a buerul de ie sire are o funct ionare normal a de poart a inversor, deci terminalul este de ie sire, Figura 2.57-b. Sau, poarta de validare poate avea o valoare pe ie sirea sa, care se calculeaz a n funct ie de congurat iile binare aplicate pe intrarea sa, caz n care terminalul n timp si modic a starea corespunz ator (altern and starea de terminal de intrare cu cea de terminal de ie sire). C and buerul inversor are ie sirea sa n starea HZ spre pinul I/O corespunz ator, acesta este un terminal de intrare deci se aplic a o variabil a de intrare. Deci n total, pot aplicate maximum 16(= 10 + 6) variabile de intrare. Dac a buerul inversor TSL are funct ionare normal a (I/O este terminal de ie sire) este posibil ca o funct ie de maximum 7 termeni produs, obt inut a la ie sirea port ii OR, s a e generat a la pinul corespunz ator (terminal de ie sire) sau s a e aplicat a napoi n matricea AND programabil a, ca variabil a de intrare. Aceast a facilitate de aplicare napoi apare ca o solut ie pentru situat iile c and funct ia de implementat este o sum a de mai mult de 7 termeni produs. In astfel de cazuri, funct ia se partajeaz a ntr-un grup de 7 termeni produs si alte grupuri de maximum 6 termeni produs; la prima trecere se calculeaz a pe un grup de 7 port i AND si o poart a OR (cu conexiunea x a ntre acestea) suma de 7 termeni produs care apoi se reintroduce n ret eaua AND. Pe un alt grup la aceast a sum a de sapte termeni se mai adaug a, prin sumare, alt i 6 termeni produs, iar rezultatul se introduce iar a si n ret eaua AND; reintroducerile pot continua p an a la sumarea tuturor termenilor produs ai funct iei. Aceste treceri

272

2.4. CLC PENTRU FUNCT II LOGICE

repetate prin ret ea m are ste timpul de calcul pentru funct ie. Valori curente pentru timpul de propagare, de la oricare intrare la oricare ie sire, sunt sub 10ns. De asemenea, aceast a facilitate de reintroducere (feedback) a unei valori calculate d a posibilitatea implement arii circuitelor secvent iale.

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 facilit a ti pentru o extindere a posibilit a tilor de utilizare (a fost introdus de Lattice Semiconductor). Codul de denumire este similar cu cel PAL, de exemplu GAL20V8 indic a 20 de intr ari si 8 ie siri.
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 M arirea posibilit a tilor de procesare/utilizare a semnalului asignat unui terminal I/O prin introducerea unei macrocelule de ie sire. Astfel de facilit a ti apar pe terminalele bidirect ionale I/O prin mbog a tirea circuisticii respective denumirea pentru aceast a circuistic a este de macrocelul a de ie sire. In Figura 2.58 este desenat un terminal I/O de la un circuit GAL, care este, de fapt, grupul de celule AND corespunz atoare terminalului I/O 4 de la structurarea tipic a de PAL din Figura 2.56, dar acum are pe ie sire o macrocelul a de ie sire. Un circuit GAL are at atea astfel de grupuri, care au ie sirea pe o macrocelul a, c ate terminale I/O prezint a. Din aceast a gur a se observ a c a n macrocelul a s-a inclus si poarta OR, colectoare de termeni produs, care uzual are la ie sirea sa un XOR pentru a putea selecta polaritatea, adic a: e funct ia, e funct ia negat a. In circuistica macrocelulei sunt incluse: buer de ie sire TSL; celul a pentru validarea ie sirii (buerului); multiplexoare pentru diferite select ari de semnale; latch-uri pentru memorarea de semnale si evident, cale de reintroducere a semnalului, obt inut la in sirea port ii OR (sum a de produse), n matricea programabil a AND (vezi sect iunea 4.5). Circuitul GAL poate implementa o gam a mare de circuite combinat ionale si secvent iale.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

273

2.5

CIRCUITE COMBINAT IONALE PENTRU FUNCT II NUMERICE

Procesarea informat iei, n sistemele digitale, se bazeaz a pe algoritmi ce utilizeaz a ntr-o pondere ridicat a operat ii aritmetice. In consecint a , o mare parte din circuistica sistemelor digitale este construit a din circuite cu funct ii numerice. In raport cu circuitele logice, n general, la circuite numerice gradul de replicare este mai mare. Aceast a replicare apare n urma faptului c a operat iile aritmetice se realizeaz a asupra cuvintelor cu lungime relativ mare si, mai mult, operat ia respectiv a se aplic a identic asupra ec arei pereche de bit i din cuvintele procesate. In consecint a , la circuitele cu funct ii numerice metoda general a de sintez a se bazaez a pe identicarea unui circuit elementar/celul a care proceseaz a o pereche de bit i, urm and apoi replicarea p an a la nivel de cuv ant (vezi sect iunea 2.2.5). Prezentarea, n continuare, a circuitelor cu funct ii numerice se va face prin identicarea circuitului elementar si, apoi extensia lui prin replicare.

2.5.1

Comparatorul

Circuitul comparator determin a identitatea ntre bit ii de acela si rang a dou a cuvinte. Pe l ang a relat ia de egalitatea a celor dou a cuvinte comparate, se poate determina si o relat ie de mai mare, mai mic. In general, prin comparator sub form a de circuit integrat discret se nt elege circuitul care determin a pentru dou a numere, exprimate n binar, relat iile de ordine =, <, >; deci calculeaz a funct ia de egalitate Fe , de inferioritate Fi si de superioritate Fs . Sinteza unui comparator, de exemplu, pentru dou a cuvinte de patru bit i, A = A3 A2 A1 A0 si B = B3 B2 B1 B0 , dup a metoda normal a de sintez a pornind de la tabelul de adev ar ar destul de greoaie. O astfel de sintez a ar necesita pentru ecare dintre funct iile F e , Fs si Fi c ate un tabel cu 256 linii (congurat ii de intrare). O alt a modalitate se sintez a a comparartorului utilizeaz a ideea expus a n sect iunea 2.2.5, identicarea unei celule repetitive n structurarea circuitului. O astfel de celul a replicabil a, ce se poate identica, este celula comparator pentru doua cuvinte A si B de c ate un singur bit, care genereaz a cele trei funct ii f e , fi si fs . Sinteza comparatorului de doi bit i este simpl a pentru ca se pleac a de la un tabel de adev ar cu numai patru B + A B = A B, congurat ii de intrare, Figura 2.59-a. Funct iile obt inute f e = A B sunt implementate ecare pe c fi = A si fs = A B ate o poart a apoi acestea sunt reunite ntr-un singur circuit comparatorul pentru dou a cuvinte de un bit. Baz andu-se pe celula comparator pentru cuvinte de c ate un singur bit se poate face sinteza unui comparator pentru cuvinte de n bit i, ca exemplicare se va face sinteza pentru cuvinte de patru bit i; comparatorul de patru bit i este uzual n aplicat ii ca circuit integrat discret. Relat iile de ordine F se determin a din relat iile de ordine f pentru ecare pereche de bit i, dar pornind de la perechea cu rangul cel mai ridicat n felul urm ator: relat ia de egalitate Fe , A = B a cuvintelor de patru bit i exist a c and: A 3 = B3 si A2 = B2 si A1 = B1 si A0 = B0 ceea ce formal se exprim a prin: Fe = fe3 fe2 fe1 fe0

274

2.5. CLC PENTRU FUNCT II NUMERICE

relat ia de superioritate Fs , A > B exist a c and: A3 > B3 sau A3 = B3 si A2 > B2 sau A3 = B3 si A2 = B2 si A1 > B1 sau A3 = B3 si A2 = B2 si A1 = B 1 si A0 > B0 ceea ce duce la urm atoarea expresie logic a Fs = fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0 relat ia de inferioritate Fi , A < B , se deduce printr-un rat ionament asem an ator si are forma 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 a cuvinte de un bit; b) circuitul comparator pentru cuvinte de patru bit i; c) comparator pentru cuvinte de un byte realizat pe baza circuitelor 74xx85. Evident c a pot calculate numai dou a din cele trei funct ii deoarece ecare dintre acestea se poate deduce din conjunct ia negatelor celorlalte dou a funct ii. Fe = Fi Fs Fi = Fs Fe Fs = Fe Fi

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

275

Totu si din rat ionamente de nc arcare si de a uniformiza timpii de propagare ecare dintre aceste funct ii se implementeaz a separat ca n Figura 2.59-b. Circuitul comparator de patru bit i trebuie s a aib a posibilitatea de a utilizat si ca o component a n realizarea comparatoarelor pentru cuvinte cu lungime multiplu de patru bit i. Pentru calculul ec arei dintre cele trei relat ii, de ordine ntre dou a numere, se porne ste de la rangurile superioare. Chiar dac a pe un interval continuu de bit i, al celor dou a cuvinte, relat ia de ordine este ndeplinit a evident c a relat ia pe cuv antul ntreg nu va ndeplinit a dac a pe intervalul de bit i superior acestui interval relat ia respectiv a nu este ndeplinit a. In consecint a , ecare circuit de patru bit i pentru calculul uneia dintre cele trei relat ii Fe , Fi si Fs trebuie s a primeasc a, ca o validare, de la circuitul intervalului superior de patru bit i, semnalul respectiv al relat iei de ordine F e s , Fi s s in and cont si de aceasta, relat iile anterioare de ordine se modic a n felul si Fs . T urm ator: 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 a aceste relat ii. In Figura 2.59c este prezentat a o structur a pe baz a de circuite 74xx85 pentru determinarea relat iilor de ordine ntre dou a cuvinte de un byte. Se observ a c a semnalele relat iei de ordine Fe , F i si Fs calculate pe circuitul comparator C1 al intervalului de bit i 7 4 se aplic a ator C0 , al intervalului sub forma semnalelor Fe s , Fi s , Fs s la circuitul comparator urm de bit i 3 0.

2.5.2

Sumatorul

Adunarea este operat ia aritmetic a cu frecvent a cea mai ridicat a care se realizeaz a pe echipamentele de calcul electronic, se consider a c a si incrementarea este tot o adunare, c and un operand este unu. In consecint a , exist a tendint a justicat a ca timpul de realizare al operat iei de sumare T , luat foarte adesea ca reper de comparat ie pentru performant e de vitez a ale sistemelor de calcul, s a e c at mai mic. De exemplu, dac a timpul operat iei de sumare, pe un procesor, este redus de la 3ns la 2, 5ns aceasta nseamn a o cre stere de la 3, 33 106 adun ari/s cu nc a 670.000 adun ari/s. De aceea, structurile de circuite sumator si celulele componente ale acestora continu a, nc a, s a e intens studiate n funct ie de tehnologia de implementare. In aceast a sect iune se vor expune doar structurile fundamentale de circuite sumatoare la care pot reduse multe din sumatoarele existente. Pentru o abordare exhaustiv a a circuitelor aritmetice recomand am [Omondi 94]. 2.5.2.1 Sumatorul cu Transport Progresiv, STP

Sumarea a dou a numere binare exprimate sub forma a dou a cuvinte A si B cu lungimea de n bit i se realizeaz a prin adunarea ec arei perechi de bit i A i si Bi ncep and cu perechea A0 , B0 , de rang zero (20 ), p an a la perechea An1 , Bn1 , de rang n 1 (2n1 ). Pe ecare rang adunarea se realizeaz a cu un circuit denumit celul a sumator

276

2.5. CLC PENTRU FUNCT II NUMERICE

complet, notat a simbolic (3, 2). Celula sumator (3, 2), de exemplu, pentru rangul i (corespunde ponderii 2i n valoarea num arului) are trei intr ari (Ai ,Bi si transportul anterior, Ci1 , generat de celula de rang i 1) si dou a ie siri (s i suma, si Ci , transportul urm ator, care se aplic a la celula urm atoare, de rang i + 1, ca transport anterior). In Figura 2.60-a este reprezentat a numai celula de rang 2 i a unui sumator la care, de pe cele dou a magistrale pentru cuvintele de nsumat A si B , se aplic a bit ii A i si Bi si se genereaz a bitul sum a si pe linia i a magistralei S pentru cuv antul sum a. Exist a si celul a semi-sumator (2, 2), care sumeaz a doar cele dou a intr ari A i si Bi , far a transport anterior, si genereaz a si si Ci . Tabelul de adev ar al celulei (3, 2) este prezentat n Tabelul 1.6. Expresiile logice deduse, relat iile 1.15 si 1.16, n sect iunea 1.14 pentru si si Ci arat a c a suma si este funct ia P ARIT AT E (Ai , Bi , Ci1 ) (are valoarea 1 c and un num ar impar de intr ari sunt 1, Figura 2.19-b) iar transportul urm ator Ci este funct ia logic a M AJORIT AR(Ai , Bi , Ci1 ) (are valoarea 1 c and cel put in dou a din cele trei intr ari sunt 1). Rescriem aceste relat ii logice: si Ci = P ARIT AT E (Ai , Bi , Ci1 ) = Ai Bi Ci1 = M AJORIT AR(Ai , Bi , Ci1 ) = Ai Bi + Ai Ci1 + Bi Ci1 =

(2.17)

= Ci1 (Ai Bi ) (Ai Bi )

Ultima form a a relat iei pentru Ci a fost adus a la o exprimare numai cu operatori NAND pentru a putea implementat a NAND-NAND, care duce la o structur a de circuite mai rapide dec at circuitele implementate pe dou a niveluri neinversoare AND-OR. Conform exprim arilor prin relat iile 2.17 rezult a pentru celula (3, 2) implementarea din Figura 2.60-b. Relat iile anterioare pentru si si Ci pot exprimate si n felul urm ator, utile pentru implementare n tehnologie CMOS: si Ci = Ai Bi Ci1 = Ai Bi + Ci1 (Ai + Bi ) (2.18)

Se observ a c a spre deosebire de relat iile 2.17, c and componenta (A i Bi ) calculat a n expresia lui si era utilizat a si n expresia lui Ci , acum ecare funct ie este calculat a independent, ceea ce creaz a posibilitatea realiz arii unui lant al tuturor circuitelor generatoare de Ci independent de port i ale generatoarelor de sum a s i . Implementarea celulei (3, 2), conform relat iilor 2.18, este prezentat a n Figura 2.60-c; este desenat circuitul electric numai pentru Ci , cel pentru si este desenat n Figura 1.64-c. Realizarea celulei sumator complet necesit a 32 de tranzistoare. O alt a form a de exprimare pentru si si Ci este urm atoarea: 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 De data aceasta generatorul de sum a utilizeaz a expresia lui C i1 , calculat generatorul de transport urm ator. Structurarea corespunz atoare a celulei (3, 2) este prezentat a n Figura 2.60-d. Realizarea celulei necesit a necesit a 28 de tranzistoare i , deci deoarece n anumite organiz ari de sumatoare sunt necesare semnalele s i si C

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 C i1 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 ) si la magistrale cuv antului sum a S ; b) structura logic a a celulei conform relat iei 2.17; c,d) structura logic a si implementarea n tehnologie CMOS conform relat iilor 2.18 si 2.19.

278

2.5. CLC PENTRU FUNCT II NUMERICE

amplicatoarele de ie sire pentru aceste dou a semnale pot eliminate; structura din gur a corespunde cazului de utilizare si si Ci . Sumatorul cu transport progresiv pentru sumarea a dou a numere de n bit i, se obt ine prin punerea n paralel a n celule sumator complet, dar port ile generatoare de transport urm ator se nseriaz a ncep and de la celula de rang zero p an a la celula de rang (n 1); transportul urm ator Ci1 , generat de celula de rang (i 1), este aplicat ca transport anterior la celula urm atoare de rang i, Figura 2.61-a. La aplicarea simultan a pe cele dou a magistrale A si B a numerelor de nsumat si a transportului de intrare n sumator C1 (la celula de rang zero, n general, se consider a C 1 = 0) se genereaz a, pe magistrala S , cuv antul sum a rezultat si la ie sire transportul urm ator C n1 , de la celula corespunz atoare perechei de bit i cei mai semnicativi. Dimensiunea sumatorului cu transport progresiv este SSU M (n) = 5 n O(n). Cu o astfel de dimensiune si o structur a, prin replicarea celulei (3, 2), sumatorul cu transport progresiv este u sor realizabil deoarece rezult a o geometrie pe siliciu simpl a si repetitiv a. In ceea ce prive ste timpul de sumare T acesta este tot n O(n) ceea ce pentru n de valori mari, de exemplu pentru lungimile de cuv ant de 64 sau 128 bit i la procesoarele actuale, determin a ca acest tip de sumator s a nu e aplicabil. Timpul de sumare T trebuie s a e mai mare sau egal cu cel mai lung timp de propagare al transportului care apare c and transportul C0 = 1 generat n celula de rang zero (se consider a C1 = 0) se propag a progresiv din celul a n celul a p an a la celula de rang n 1 unde se genereaz a transportul Cn1 .Timpul cel mai lung de propagare se obt ine, de exemplu, c and se adun a operanzii A = 11 . . . 11, B = 00 . . . 01 si se calculeaz a cu relat ia (se consider a c a tot i bit ii celor dou a cuvinte se aplic a simultan) = A0 B0 C0 + (n 2)C(i1) Ci + C(n2) sn1 T n care: arii bit ilor A 0 , B0 , pe prima A0 B0 C0 este intervalul de timp din momentul aplic celul a de rang zero, p an a la generarea transportului C 0 ; a, din momentul C(i1) Ci este timpul de propagare al transportului pe o celul aplic arii semnalului Ci1 p an a la generarea lui Ci ; C(n2) sn1 este nt arzierea, la celula de rang n 1, din momentul aplic arii transportului anterior Cn2 p an a la generarea bitului de sum a s(n1) . Din relat ia 2.20 se deduce c a pentru sumatoarele cu n mare reducerea timpului total de propagare este sensibil a la mic sorarea propag arii transportului pe celula sumatoare, C(i1) Ci . La un sumator implementat cu celule cu structura din Figura 2.60-d mic sorarea componentei C(i1) Ci se poate obt ine prin eliminarea inversorului i de ie sire din partea de generare de transport a celulei, deci se va utiliza numai C n loc de Ci . Utilizarea lui Ci n loc de Ci , pentru mic sorarea lui , va impune n organizarea sumatorului ca la celulele din pozit iile pare ( si nu rangurile pare!) s a se aplice intr arile negate Ai ,Bi n loc de Ai si Bi ; dar aceast a alternare, ntre Ai , Bi si Ai ,Bi c and se trece de la pozit ii impare la pozit ii pare atrage dup a sine ca si inversorul de pe ie sirea si , al celulelor din pozit ii pare, s a e eliminat. Evident, un sumator nu poate comandat pentru o nou a operat ie de sumare dec at numai dup a un interval de timp egal cu timpul de sumare T , rezult a c a (2.20)

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

279

timpul de propagare al transportului este un parametru limitativ n viteza de lucru a 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 bit i; b) reprezentarea (schem a bloc) celulei sc az ator complet (3, 2); c) organizare de principiu pentru un circuit sumator/sc az ator comandat care realizeaz a sc aderea pentru c = 1 si adunarea pentru c = 1. In aceea si modalitate n care s-a structurat sumatorul se poate face si structurarea unui sc az ator care realizeaz a sc aderea num arului B (sc az ator) din num arul A (desc azut), A B . Tabelul de adev ar pentru o celul a sc az ator complet, (3, 2), este prezentat n Tabelul 1.6, are trei intr ari (A i , bitul desc azut; Bi , bitul sc az ator; Ii1 , mprumutul anterior) si dou a ie siri (di , diferent a rezultat a; Ii , mprumutul urm ator). Prin sinteza pe baz a de 1 se obt in relat iile: di =Ai Bi Ii1 i Bi + A i Ii1 + Bi Ii1 Ii = A i I i1 , iar la a doua pentru care, la prima relat ie, utiliz and identitatea B i Ii1 = B aplic and teorema lui De Morgan, se obt in exprim arile: i I i1 d i =A i B i =Ai B i + Ai I i1 + B i I i1 I (2.21)

Compar and relat iile 2.17 cu relat iile 2.21 se poate face o echivalent a ntre celula sumator complet si celula sc az ator complet. Aceast a echivalent a determin a urm atoarea armat ie: o celul a sumator complet devine o celul a sc az ator complet dac a bitul az atorul), transportul anterior Bi se consider a activ n starea low, Bi L (devine sc

280

2.5. CLC PENTRU FUNCT II NUMERICE

Ci1 se consider a activ n starea low, I(i1) L (devine mprumutul anterior) si transportul urm ator Ci se consider a activ n starea low, Ii L (devine mprumutul urm ator). Reprezentarea pentru o celul a (3, 2) este dat a n Figura 2.61-b. Rezult a c a organizarea de sumator cu transport progresiv poate transformat a ntr-o organizare de sc az ator cu mprumut progresiv dac a: bit ii cuv antului B , nainte de aplicare la sumator, sunt complementat i printr-un inversor (devine sc az ator) iar transporturile sunt considerate active n starea low (devin mprumuturile) si, evident, mprumutul init ial I1 L = 1 (invers ca la funct ionarea de sumator C1 = 0) este inactiv n H (transportul init ial C1 era inactiv n starea L). Aceea si transformare a sumatorului n sc az ator poate realizat a pornind de la faptul c a o sc adere A B poate privit a ca o adunare a num arului A cu complementul fat a de doi a num arului sc az ator B , (B = [B ] 2 ), deci A + [B ]2 . Complementul fat a de doi se obt ine din complementul fat a de unu [B ] 1 , care se realizeaz a prin complementarea lui B , la care apoi se adaug a 1, adic a [B ] 2 = [B ]1 + 1. Un inversor comandat de o variabil a de control c se obt ine cu o poart a XOR, B c. Se poate genera at at A + B c at si A B , n funct ie de valoarea variabilei de control, cu urm atoarea 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 corespunz atoare este reprezentat a n Figura 2.61-c, pentru c = 0 se realizeaz a adunarea A = B , iar pentru c = 1 se realizeaz a sc aderea A B , deci o structurare de sumator/sc az ator, S/D, comandat. 2.5.2.2 Sumatoare de performant a ridicat a

La sumatorul cu transport succesiv, deoarece timpul de sumare T nu poate mai mic dec at timpul de propagare a transportului , relat ia 2.20, n ntregul lant de celule, deci performant a de vitez a este sc azut a. De fapt, la orice tip de sumator adunarea obt inut a nu poate considerat a efectuat a p an a nu se calculeaz a corect at at bitul sum a sn1 c at si bitul de transport urm ator Cn1 . Dar acestea nu pot calculate corect p an a nu se prime ste transportul anterior C n2 , care la r andul s au depinde de sosirea transportului Cn3 si a sa mai departe p an a se ajunge la generarea lui C0 . Toate tipurile de sumatoare, si exist a foarte multe, pentru a obt ine performant e de vitez a superioare celui cu transport progresiv, prin diferite articii logice sau de organizare, calculeaz a valoarea Cn1 ntr-un timp mai mic dec at cel necesar pentru transportul progresiv din celul a n celul a, relat ia 2.20. In acest sens, se vor prezenta diferite modalit a ti de reducere a timpului de calcul pentru determinarea propag arii transportului aplicate la trei tipuri de circuite sumatoare denumite: a) sumator cu transport anticipat, b) sumator cu lant Manchester si c) sumator cu selectarea transportului. a). Sumatorul cu transport anticipat, STA. Ideea transportului anticipat const a n calculul transportului Ci1 , pentru obt inerea sumei si = Ai Bi Ci1 la celula sumatoare de rang i, nu n funct ie de valorile anterioare ale transporturilor C0 , C1 , . . . , Ci2 (care necesit a timp de propagare) ci n funct ie numai de valorile care se aplic a n primul moment la intr arile sumatorului adic a C 1 , A0 si B0 , A1 si

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

281

B1 , . . . , Ai1 si Bi1 , cum este sugerat din Figura 2.62-a. Pentru acest calcul n avans/anticipat al valorii lui Ci , generat de celula de rang i, se vor utiliza variabilele intermediare pi propagare si gi generare introduse pentru o celul a (3, 2) n Tabelul 1.6 si care acum se vor redeni n contextul unui sumator. Pentru o congurat ie a valorilor bit ilor Ai , Bi , aplicat a la celula de rang i, exist a o generare de transport urm ator Ci = 1 atunci c and variabila generare are valoarea 1 indiferent de intr arile anterioare C 1 , Ai1 A0 , Bi1 B0 . Evident, congurat ia de intrare, pentru care Ci = 1, este Ai = 1 si Bi = 1, deci variabila intermediar a generare este obt inut a prin produsul logic g i = Ai Bi . Variabila intermediar a propagare va avea valoarea p i = 1 pentru acele congurat ii ale valorilor bit ilor Ai , Bi pentru care se produce Ci = 1 n prezent a unui transport anterior Ci1 = 1 (generat de intr arile anterioare C0 , Ai1 A0 , Bi1 B0 ). Aceast a propagare prin celul a se realizeaz a c and cel put in un bit de intrare pe culala i are valoarea 1, deci variabila intermediar a propagare este o sum a logic a de intr ari pi = Ai + Bi . Pe celula i se genereaz a transport urm ator atunci c and g i = 1 SAU atunci c and Ci1 = 1 si exist a propagare (pi = 1), rezult a relat ia: Ci = gi + pi Ci1 = Ai Bi + (Ai + Bi ) Ci1 (2.23)

Dar pentru propagare n loc de relat ia sum a logic a se poate utiliza operatorul XOR, pi = Ai Bi care acoper a numai congurat iile Ai = 1 si Bi = 0 sau Ai = 0 si Bi = 1 nu si congurat ia Ai = 1 si Bi = 1. Oricum, pentru congurat ia Ai = 1 si Bi = 1 exist a transport urm ator, Ci = 1, n relat ia 2.23, chiar dac a acesta nu este obt inut prin propagare ci prin generare gi = Ai Bi = 1; ceea ce rezult a si din faptul c a urm atoarea relat ie este o identitate Ai Bi +(Ai + Bi ) Ci1 = Ai Bi +(Ai Bi ) Ci1 . Deci pentru transportul urm ator este corect a si relat ia urm atoare: Ci = gi + pi Ci1 = Ai Bi + (Ai Bi ) Ci1 (2.24)

care are avantajul c a propagarea pi odat a calculat a (ca sum a modulo doi) poate utilizat a si pentru calculul lui si dup a cum se observ a din urm atoarele dou a grupuri de relat ii 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 relat ia 2.24, pentru un sumator de n bit i, exprim and transportul urm ator al unei celule sumator n funct ie de transportul init ial de intrare C 1 si de toate variabilele de propagare si generare ale celulelor anterioare se obt in expresiile:

282

2.5. CLC PENTRU FUNCT II 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 a posibilitatea ca, n paralel, s a se calculeze anticipat toate transporturile urm atoare f ar a a mai a stepta transportul anterior. Fiecare transport urm ator, Ci , n aceste relat ii se calculeaz a pe dou a niveluri logice AND-OR plus nc a un nivel logic pentru calculul variabilelor intermediare g i , pi (respectiv pe o poart a AND sau o poart a OR/XOR), deci n total trei niveluri logice. Pentru timpul de calcul al sumei si se mai adaug a nc a un nivel corespunz ator port ii XOR, Figura 2.62-a. Rezult a c a timpul de sumare T , egal cu cel al ec arei celule, este constant si corespunde parcurgerii a patru niveluri logice indiferent de num arul de bit i ai sumatorului. Aceast a performant a de vitez a atr ag atoare la STA, timp de sumare constant egal cu patru niveluri logice, este mult diminuat a la implement ari pentru n de valori mari datorit a cre sterii dimensiunii, fan-out si fan-in, capacit a tilor parazite si iregularit a tii geometrice pe siliciu (layout). Consider and pentru o poart a XOR o dimensiune dubl a fat a de AND sau OR rezult a dimensiunea unui STA: SST A (n) = (n3 + 9n2 + 74n)/6 O(n3 ) Circuitul pentru generarea lui Cn1 necesit a n port i AND din care una cu n intr ari plus o poart a OR cu n + 1 intr ari (port ile AND sau OR cu n > 4 prin asociativitate se realizeaz a pe mai multe niveluri, vezi Exemplul 2.12). De asemenea, ecare semnal gi trebuie s a comande (n i) intr ari iar pi trebuie s a comande (i+1)(n-1) intr ari. In consecint a , STA-urile sunt limitate, n general, la n = 4. Pentru un STA cu n = 4 un circuit pentru generarea lui C 3 este prezentat n Figura 2.62-b. Organizarea circuitului se bazeaz a pe rescrierea expresiei lui C 3 n felul urm ator: 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 obt ine din structura circuitului pentru C3 prin eliminarea succesiv a respectiv a perechilor g 2 , p2 ; g1 ,p1 si g0 ,p0 . Organizarea de principiu a unui STA este prezentat a n Figura 2.62-c, n care sunt indicate cele trei generatoare componente: generatorul g i , pi , generatorul de transport urm ator Ci si generatorul de sum a si . Aceste trei generatoare pentru un rang i(= 0, 1, 2, 3) se obt in prin particularizare n circuitele din gurile 2.62-a si 2.62-b. Obtenabile, comercial ca circuite integrate discrete, exist a circuitele sumatoare 74xx283 si 74xx83, care sunt STA de patru bit i. 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 bit i, 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 bit i cu transport anticipat. Ad ancimea pentru aceast a organizare

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 bit i cu identicare pentru ecare rang al celor trei generatoare componente (pentru pi si gi , Ci , si , iar calculul se face dup a grup 1 din relat iile 2.25); d) organizarea unui sumator cu transport progresiv, dar pe baz a de blocuri cu transport anticipat, STAB.

284

2.5. CLC PENTRU FUNCT II NUMERICE

este 2(n/m + 1) niveluri logice, deci intermediar ntre STP si STA, iar dimensiunea este n/m ori a unui STA de m bit i. Se pot concepe si alte organiz ari de sumatoare pe baz a de blocuri componente STA dar la care se elimin a transportul progresiv dintre blocuri si se realizeaz a pentru c ate un grup de blocuri, n exteriorul ec arui grup, un circuit pentru calculul transportului anticipat. De exemplu pentru numere de 64 bit i, dac a se utilizeaz a module STA de 4 bit i rezult a patru grupuri, ecare grup de c ate patru blocuri, deci patru circuite exterioare, ecare circuit exterior calculeaz a transportul anticipat pentru c ate un grup (pe patru STA de patru bit i). Apoi, peste cele patru circuite de calcul de transport anticipat se poate conecta n exteriorul lor un al cincelea asemenea circuit care, calculeaz a transportul anticipat pe ntreg sumatorul de 64 bit i [Wakerly 2000][Omondi 94]. Pentru calculul n exterior al transportului anticipat exist a circuitul 74xx182, Figura 2.76-c. b). Sumatorul cu lant Manchester, SM. Acest tip de sumator, unul din primele utilizate, realizeaz a un traseu separat pentru propagarea transportului. De fapt, si n organizarea unui sumator cu transport progresiv cu celule ca cea din Figura 2.60-b se realizeaz a o cale continu a (un lant ) de la C 1 p an a la Cn1 pentru propagarea transportului. Rezult a c a, un sumator cu lant Manchester este un sumator cu transport progresiv cu particularizarea c a pe traseul de propagare nu sunt port i ci comutatoare comandate. In Figura 2.63 sunt prezentate segmentele corespunz atoare celulelor de rang (i 1) si i din lant ul unui sumator Manchester.
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 adev ar din aceast a gur a se deduce: pentru congurat ia bit ilor Ai Bi = 01 sau 10 comutatorul Spi (de propagare) conecteaz a Ci1 la Ci , iar pentru congurat ia Ai Bi = 11 comutatorul Sgi (de generare) determin a valoarea 1 pentru transportul urm ator, Ci . Pentru Ai Bi = 00 comutatorul S0i aplic a valoarea 0 pentru Ci . Evident, comenzile celor trei comutatoare, calculate cu port i AND, XOR si NAND cu cei doi bit i Ai , Bi sunt exclusive. Ca elemente comutatoare pot utilizate tranzistoare de trecere sau port i de transmisie CMOS astfel c a timpul de propagare este foarte redus. In anumite implement ari, pentru cre sterea vitezei, transportul se consider a activ n stare L, aceasta permite ca n intervalul dintre dou a operat ii de sumare lant ul (zic) de transfer (de exemplu, din trazistoare de trecere) s a e nc arcat la potent ial H,

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

285

iar c and se realizeaz a sumarea celula, care produce un transfer urm ator, va desc arca lant ul la potent ialul masei. Se alege aceast a variant a deoarece, lant ul ind echivalent cu o sarcin a capacitiv a, desc arcarea la potent ialul masei se realizeaz a cu o constant a de timp mai mic a dec at constanta de timp de nc arcare la potent ialul H si prin aceasta rezult a o valoare mai mic a pentru timpul de propagare al transportului (T ). Aceast a schimbare a polarit a tii de activare pentru transport determin a pentru comutatorul Sgi = Ai Bi s a e conectat la mas a, iar comutatorul S0i = Ai + Bi s a e conectat la 1 (potent ialul H), n raport cu organizarea din Figura 2.63. Structura de sumator cu lant Manchester este simpl a si ordonat a ceea ce l recomand a pentru implement ari VLSI. Ideea de a realiza o cale separat a pentru propagarea transportului este utilizat a si la sumatoarele cu saltul transportului. La variantele de sumatoare cu saltul transportului se realizeaz a n exterior, peste c ate un grup de celule, un traseu de grup separat pentru propagarea transportului care intr a n acel grup. C and propagarea 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 n conduct ie realiz and o cale direct a ( n exteriorul grupului) pentru transportul de intrare n grup p an a la ie sirea din grup, elimin andu-se astfel timpul lung de propagare al transportului din celul a n celul a. Ideea poate dezvoltat a n sensul c a se poate realiza de asemenea nc a un traseu, peste alte c ateva trasee de grup, care va comandat n conduct ie (va scurtcircuita traseele de grup) c and sunt n conduct ie toate traseele de grup (produsul logic al propag arilor de pe traseele de grup este 1) [Omondi 94]. c). Sumatorul cu selectarea transportului, SST. Atract ia si performant ele sumatorului cu selectarea transportului sunt datorate ideii simple pe care se bazeaz a funct ionarea sa. Intr-un sumator, divizat n blocuri, suma calculat a corect pe un bloc nu este realizat a p an a nu sose ste transportul anticipat de la blocul anterior. Dar, acest transport, c and sose ste, nu poate dec at 1 sau 0, deci se pot realiza dou a blocuri sumator, n paralel, care sumeaz a acelea si numere cu deosebirea c a unui bloc i se aplic a permanent 1 ca transport anterior iar celuilalt 0 ca transport anterior. In momentul c and transportul anterior sose ste se va selecta suma deja calculat a de la blocul care a avut aplicat transportul anterior egal cu valoarea transportului sosit de la blocul anterior. Organizarea de principiu a SST este reprezentat a n Figura 2.64-a. Blocurile componente pot oricare tip de sumator (STP, STA, cu lant Manchester, etc.). Primul bloc sumeaz a bit ii Am1 . . . A0 si Bm1 . . . B0 ai cuvintelor de sumat, iar, n acela si timp, urm atoarele dou a blocuri sumeaz a tot m bit i din subintervalele A 2m1 . . . Am si B2m1 . . . Bm ale cuvintelor de sumat, dar la unul se aplic a C in = 1 iar la cel alalt Cin = 0. Aplic and simultan, pe intr arile celor trei blocuri, bit ii corespunz atori ai numerelor de sumat, cu o anumit a nt arziere (care depinde de tipul de organizare al blocurilor sumatoare), se genereaz a transporturile urm atoare C m , C2m1 0 , C2m1 1 si cele trei sume. Cu ajutorul transportului urm ator C m , generat de primul bloc, prin intermediul unui grup de mMUX2 : 1 se va selecta doar suma de la acel bloc urm ator care a realizat sumarea pentru Cin = Cm . In acela si timp cu selectarea 0 sumei, se selecteaz a, tot n funct ie de Cm , care din transporturile urm atoare C2 si m1 1 C2m1 , generate respectiv pentru Cin = 0 si Cin = 1, se va aplica la urm atoarele dou a blocuri. Acest transport urm ator selectat va realiza acelea si operat ii de selectare pentru urm atoarele dou a blocuri sumator ca si transportul C m pentru cele dou a blocuri

286

2.5. CLC PENTRU FUNCT II 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 C =0 C18 in

Sumator 6 biti

0 C =0 C12 in

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 a module care funct ioneaz a n paralel, unul cu C in = 1 altul cu Cin = 0, se alege suma, deja calculat a, care corespunde valorii transportului C in sosit de la modulul anterior; b) organizarea unui SST pentru cuvinte de 32 bit i.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

287

n paralel din gur a. Pentru a optimiza timpii de propagare, blocurile nu sunt de lungimi egale. Semnalul de selectare pentru dou a blocuri care funct ioneaz a n paralel, se calculeaz a, n lant ul de propagare al transportului pe dou a niveluri de port i, n funct ie de transporturile urm atoare C 0 si C 1 de la cele dou a blocuri anterioare. Aceasta nseamn a, n cazul n care toate blocurile ar avea aceea si lungime, c a semnalul de selectare ajunge la urm atoarele dou a blocuri n paralel cu o nt arziere de dou a nivele logice dup a ce sumarea pe aceste blocuri s-a efectuat, se presupune c a la toate blocurile intr arile se aplic a simultan. Deoarece sumarea a doi bit i se realizeaz a pe dou a niveluri logice, rezult a c a ecare pereche de blocuri urm atoare poate avea o lungime cu un bit n plus fat a de perechea de blocuri anterioare. Aplic and acest mod de optimizare rezult a pentru un SST de 32 bit i urm atoarele lungimi de module 4-4-5-6-7-6, Figura 2.64-b, ceea ce determin a un timp de sumare egal cu nt arzierea prin 18 niveluri de port i, (4 + 1 + 1 + 1 + 1 + 1) 2 = 18. Trebuie observat c a pentru semnalul de selectare cre ste fun-out-ul pe m asur a ce cre ste lungimea modulelor componente ceea ce devine 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 a pe siliciu ASi O(n) O(n log n) O(n) O(n)

Pentru sumatoarele prezentate, valorile asimptotice, la cre sterea num arului de bit i n a cuvintelor sumate, ale caracteristicilor timp de sumare T si aria ocupat a la implementarea n siliciu, ASi , sunt prezentate n Tabelul 2.3. Cunoa sterea comport arii asimptotice a sumatoarelor este util a n nt elegerea lor dar, luarea unor decizii de organizare tin and cont numai de valorile asimptotice, poate ascunde o capcan a. In general, organizarea unui sumator se face pe baz a de blocuri, ca n Figura 2.62a sau Figura 2.64-b, a c aror lungime nu dep a se ste ordinul unit a tilor. Dar pentru blocuri sumatoare cu lungimi de ordinul unit a tilor, de exemplu n = 4, diferent ele de performant a sau de implementare ntre diferitele tipuri de structuri sumatoare, ca cele din Tabelul 2.3, nu sunt a sa de evidente. Rezult a c a, aproape indiferent de tipul de bloc folosit, important devine modul cum se organizeaz a/conecteaz a aceste blocuri ntr-un sumator de lungime ridicat a (32,64,128 bit i).

2.5.3

Multiplicatorul

Echipamentele digitale sunt nzestrate tot mai frecvent cu circuite specializate pentru multiplicare; unit a tile aritmetice specializate (coprocesoare) sau procesoarele digitale de semnal se num ar a printre acestea. Procesarea digital a a semnalelor (corelat ia,

288

2.5. CLC PENTRU FUNCT II NUMERICE

convolut ia, ltrare, analiza frecvent ial a) este un domeniu care si bazeaz a performan tele pe puternice circuite de multiplicare. Circuitul de multiplicare poate realizat cu un CLC deoarece rezultatul nmult irii depinde exclusiv doar de cei doi operanzi. Se vor prezenta trei organiz ari de circuite de multiplicare (multiplicatorul matriceal, multiplicatorul tip arbore Wallace si multiplicatorul tabelar). S-a limitat prezentarea numai la aceste trei organiz ari, pe care le consider am de baz a, deoarece multe circuite multiplicator utilizate pot recunoscute ca variante ale uneia din aceste trei. 2.5.3.1 Multiplicatorul matriceal

Metoda de nmult ire a dou a numere de cinci bit i, A = A 4 A3 A2 A1 A0 , B = B4 B3 B2 B1 B0 , cu creionul pe h artie dup a regula comun a, nv a tat a n scoala primar a, este prezentat a n Figura 2.65-a. Produsul rezultat cu lungimea de zece bit i, P = p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 , se obt ine prin adunarea succesiv a a produselor part iale AB0 , AB1 , AB2 , AB3 si AB4 , ecare produs part ial, nainte de adunare, ind deplasat la st anga cu o pozit ie (adic a nmult it cu 2 1 ). Pentru realizarea unui circuit de multiplicare, conform metodei de nmult ire prezentate, este necesar a se identica o structur a de celul a elementar a component a a acestui circuit. S a analiz am cum este realizat si utilizat n operat ia de nmult ire, din aceast a matrice, un produs de doi bit i dintr-un produs part ial, de exemplu produsul A 2 B2 . Acest produs se realizeaz a simplu printr-o poart a AND, deoarece exist a identitate ntre operatorii produs aritmetic si produs logic. Acest produs A2 B2 se nsumeaz a cu rezultatul adun arii s31 de pe aceea si coloan a, adic a suma anterioar a ntre A4 B0 si A3 B1 , se nsumeaz a cu transportul anterior, C12 , provenit de la termenul produs din dreapta de pe aceea si linie A 1 B2 si, n urma acestor nsum ari, se genereaz a un bit sum a, s22 , care se va nsuma cu termenul produs urm ator A1 B3 , de pe aceea si coloan a, si se genereaz a un bit de transport urm ator, C22 , care este aplicat la termenul produs din st anga, A 3 B2 , de pe aceea si linie. Toate acestea corespund cu operat iile realizate de o celul a sumator (3, 2), Figura 2.65-b. Rezult a c a circuitul multiplicator poate compus din 4 4 = 16 celule elementare, sumator (3, 2), c ate una pentru ecare termen produs A i Bj , iar trecerea de la matricea operat iei de multiplicare la topologia circuitului de multiplicare se face printr-o mapare 1:1, nlocuind ecare produs de doi bit i cu o celul a elementar a, Figura 2.65-c. Se observ a c a n structura matriceal a a circuitului multiplicator la toate celulele de pe o linie se aplic a acela si bit Bj , j = 0, 1, 2, 3, 4 al inmult itorului B si la toate celulele de pe aceea si diagonal a se aplic a acela si bit A i , i = 0, 1, 2, 3, 4 al de nmult itorului A. Aceast a structurare a multiplicatorului, sub form a de paralelogram, poate u sor desenat a si sub form a de matrice p atrat a pentru a potrivit a unui layout pe siliciu. Din organizarea circuitului multiplicator se poate deduce u sor c a dimensiunea sa este n O(n2 ). Fiecare linie a multiplicatorului este de fapt un sumator cu transport progresiv. Timpul cel mai lung de nmult ire se obt ine c and o intrare la prima celula A0 B0 afecteaz a transportul urm ator de la ultima celula A 4 B4 , adic a bitul produs p9 , iar pentru aceast a propagare traseul cel mai lung este n lungul sumatorului corespunz ator primei linii, prin coloana cu celulele A 3 B1 , A2 B2 , A1 B3 si apoi prin celulele A0 B4 , A1 B4 , A2 B4 , A3 B4 , A4 B4 corespunz atoare sumatorului de pe ultima linie (produsul part ial AB4 ). Dac a se consider a, pentru simplitate, c a nt arzierea pe o celul a de la oricare intrare a sa la oricare ie sire este m atunci timpul de multiplicare

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 part iale obt inut a la inmult irea a dou a cuvinte A si B de cinci bit i; b) celula elementar a ((3, 2)) care modelelaz a un termen dintr-un produs part ial al inmult irii; c) structurarea unui circuit multiplicator matriceal pentru n = 5.

290

2.5. CLC PENTRU FUNCT II NUMERICE

Tm cel mai mic este de 13 m . Iar n cazul unui nmult itor pentru dou a cuvinte de n bit i se obt ine (3n 2)m Tm , adic a n O(n) ceea ce pentru lungimea actual a de 64 bit i, a numerelor reprezentate n virgul a x a, determin a viteze destul de sc azute. Modalit a ti de a mbun at a ti performant a de vitez a a multiplicatorului matriceal const a, e n mic sorarea num arului de produse part iale, deci de adun ari ale acestora, e prin efectuarea a c at mai multe adun ari de produse part iale n paralel sau e printr-o structurare f ar a transport progresiv a sumatoarelor. Din organizarea anterioar a de multiplicator matriceal, n tendint a de a cre ste performant a de vitez a, se poate obt ine cu mici modic ari un multiplicator reprezentat n Figura 2.66 denumit multiplicator matriceal cu salvarea transportului, MMST. M arirea performant ei de vitez a rezult a prin nsum ari de produse part iale n paralel si prin utilizarea de sumatoare cu salvarea transportului, SSLT.
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 a anterioar a a multiplicatorului suma part ial a dup a a i-a linie, a produsului part ial ABi1 , poate calculat a corect numai dup a ce s-a primit transportul urm ator de la sumarea part ial a de la linia anterioar a, adic a de la linia produsului part ial ABi2 . Aceste nt arzieri n determinarea corect a a sumelor part iale se datoreaz a faptului c a sumatorul de pe ecare linie este un sumator cu transport progresiv. Se poate ca transportul urm ator de la celula A i Bj s a nu mai e aplicat la celula urm atoare Ai+1 Bj , de pe aceea si linie, ci la celula urm atoare A i Bj +1 de pe linia urm atoare. In felul acesta se obt ine, n acela si timp, pe ecare linie a matricei la ecare celul a o informat ie corect a a celulei, dar exprimat a prin perechea: sum as si transport C . Structura aceasta de celule sumatoare, n paralel, ntre care nu exist a transport progresiv, de pe o linie a matricei care genereaz a perechile s, C , este referit a ca sumator cu salvarea transportului. Fiecare linie din matricea

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

291

multiplicatoare formeaz a un sumator cu salvarea transportului, SSLT de n bit i. Dac a se consider a, pentru simplitate, c a nt arzierea pe o celul a de la oricare intrare a sa la oricare ie sire este m , nseamn a c a din momentul aplic arii pe intr ari a operanzilor A si B , dup a o nt arziere egal a cu (n 1) m se obt in perechile de valori s, C la ie sirea sumatorului cu salvarea transportului de pe penultima linie a matricei. Apoi, introduc and aceste perechi, s, C , ntr-un sumator cu propagarea transportului, cu timpul de sumare T , se obt ine n ultima linie cuv antul produs corect. Sumatorul cu propagarea transportului poate oricare tip de sumator prezentat n sect iunea 2.5.2. Timpul de multiplicare Tm respect a relat ia Tm (n 1)m + T si este mai mic cam de trei ori comparativ cu cel al multiplicatorului matriceal prezentat anterior, dar tot n O(n) (evident T depinde de tipul de sumator cu propagarea transportului folosit). Dimensiunea multiplicatorului se calculeaz a pe matricea celor n(n 1) celule plus pe sumatorul cu propagarea transportului, dar se situeaz a n O(n 2 ). Aceast a organizare de multiplicator cu salvarea transportului mai poate mbun at a tit a prin utilizarea facilit a tilor de sumare paralel a. Se observ a c a celulelor sumatoare din prima linie li se pot aplica pe intr ari trei produse part iale AB 0 , AB1 si AB2 (ca n Figura 2.66) elimin and astfel din organizarea matriceal a anterioar a dou a linii. Pentru multiplicatorul de n = 5 bit i din gur a rezult a T m 3m +T , iar pentru cazul general Tm = (n 2)m + T . Multiplicatorul matriceal cu salvarea transportului duce la o regularitate a geometriei de realizare, deci este indicat pentru implement arile VLSI. 2.5.3.2 Multiplicatorul tip arbore Wallace

Performant a de vitez a, la multiplicatorul tip arbore Wallace, se obt ine printro sumare paralel a de produse part iale ntr-o structur a de arbore care realizeaz a o compresie n raportul 3:2. Pe un sumator cu salvarea transportului, SSLT, se pot aplica simultan trei produse part iale si se pot obt ine dou a cuvinte: cuv antul sum a si cuv antul transport; un SSLT este format din celule (3, 2) ne nseriate prin intermediul transportului anterior. De fapt celula (3, 2) poate privit a ca un num ar ator de bit i 1 cont inut i n cuv antul de intrare, cum este prezentat n ultimele trei coloane din Tabelul 1.6. De exemplu, dac a cele trei intr ari la celul a sunt A = 1, B = 0, C = 1 num arul de bit i 1 ai cuv antului 101 este exprimat codicat n binar de perechea obt inut a a ie sirilor C , s, care este pentru acest caz egal a cu 10 adic a 2; sau pentru A = 1, B = 0, C = 0, care formeaz a cuv antul de intrare 100 n celula sumator complet, perechea obt inut a C , s, are valoarea 01, adic a 1 n binar natural. In Figura 2.67-a este prezentat, pentru nmult irea a dou a cuvinte A, B cu lunngimea de sase bit i, modul cum se pot grupa, succesiv, c ate trei cuvinte care aplicate la un SSLT va genera numai dou a cuvinte. Structura arborelui de tip Wallace, pentru n = 6, este dat a n Figura 2.67-b. Fiecare din cele sase produse part iale se obt ine u sor pe c ate un grup de sase port i AND2, deci n total 36 de port i AND2. Structurarea arborelui urm are ste succesiunea aplic arii tripletelor la sumatoarele cu salvarea transportului. Pe primele dou a sumatoare cu salvarea transportului SSLT1 si SSLT2 se aplic a simultan Triplet1 si Triplet2. Pe nivelul doi exist a un singur sumator SSLT3 care din Sum a2, Transport1 si Sum a1 genereaz a Transport3 si Sum a3. Sumatorul SSLT4, de pe nivelul trei, realizeaz a conversia de la Transport2, Transport3 si Sum a3 la Transport4 si Sum a4. Ultimul nivel care sumeaz a Transport4 cu Sum a4 trebuie s a e un sumator cu propagarea

292

2.5. CLC PENTRU FUNCT II 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 triplet ilor pentru ecare nivel al arborelui; b) structurarea arborelui pe baz a de sumatoare su salvarea transportului, SSLT, si un sumator cu propagarea transportului, SPT.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

293

transportului, SPT, de orice tip prezentat n sect iunea 2.5.2. In cazul general, pentru un multiplicator Wallace de n bit i cele n produse part iale, ecare de n bit i, se grupeaz a n k0 triplet i, n = 3k0 + l0 unde 0 l0 2, se aplic a primului nivel compus din k0 sumatoare cu salvarea transportului si se obt in k 0 perechi sum a si transport. Pentru al doilea nivel de sumatoare cu salvarea transportului se grupeaz a n continuare n k1 triplet i conform relat iei 2k0 + l0 = 3k1 + l1 unde 0 l1 2 si se genereaz a k1 perechi sum a si transport. Acest proces se continua n compresii consecutive de 3:2 pe un num ar de log 3/2 n nivele p an a c and se obt ine o singur a pereche sum a si transport care sunt sumate n nal pe un sumator cu propagarea transportului. Deci timpul minim de multiplicare T m este egal cu nt arzierea pe o poart a AND plus timpul de propagare prin log 3/2 n niveluri de SSLT la care se adaug a timpul de sumare T , pe sumatorul cu propagarea transportului. Dimensiunea multiplicatorului este n O(n2 ). Multiplicatorul Wallace are performant a de vitez a mai bun a dec at multiplicatorul matriceal cu salvarea transportului dar, totu si, din cauza neregularit a tii layout-ului, ultimul este preferat n implement arile VLSI. Ideea de structurare a multiplicatorului sub form a de arbore a generat celule cu compresia diferit a de 3:2. Pentru o compresie 2:1 rezult a o structurare de arbore binar. Alte organiz ari pe baz a de celule cu compresia (5 : 3), (7 : 3) si (15 : 4) reduc ad ancimea arborelui dar nu neap arat reduc si timpul de multiplicare deoarece odat a cu cre sterea raportului de compresie cre ste si nt arzierea pe celul a [Omandi 94][Petterson 96][Smith 97]. 2.5.3.3 Multiplicatorul tabelar

Dup a cum reiese si din denumire, multiplicatorul tabelar este o tabel a (LUT) care cont ine toate produsele ntre dou a cuvinte de lungime de n bit i. Teoretic, acest tip de multiplicator ar trebui s a e cel mai simplu si mai rapid. Tabelul de adev ar pentru produsul a dou a cuvinte, A1 A0 si B1 B0 de doi bit i, este prezentat n Figura 2.68-a. Se pot deduce expresiile logice pentru ecare din cei patru bit i p 3 p2 p1 p0 ai cuv antului produs: p0 p1 p2 p3 1 A0 B 1 B0 + A 1 A0 B1 B0 + A1 A0 B 1 B 0 + A 1 A0 B 1 B 0 = A 0 B 0 =A 1 A0 B1 B 0 + A 1 A0 B1 B0 + A1 A 0 B 1 B0 + A 1 A 0 B1 B0 + A1 A0 B 1 B0 =A 0 = A 1 A0 B1 + A1 A0 B 0 + A1 A 0 B0 + A1 B 1 B0 +A 1 A 0 B 1 B 0 0 B1 + A1 B1 B 0 = A1 A 0 B1 B0 + A1 A0 B1 B 0 + A1 A 0 B1 B = A1 A = A 1 A0 B 1 B 0 .

care pot implemetate cu port i logice, cu DCD + OR sau cu un circuit ROM. Implementarea cea mai recomandat a pentru astfel de tabele este cu circuite ROM; cele dou a cuvinte de n bit i formeaz a, prin al aturare, adresa de 2n bit i a locat iei unde este stocat cuv antul produs, al celor dou a cuvinte, cu lungimea de 2n bit i. Limitarea, e de capacitata de adresare, e de lungime de cuv ant stocat, impus a de un anumit circuit ROM la implementarea unei tabele de nmult ire, poate dep a sit a prin segmentarea lungimii operanzilor. In acest sens, n Figura 2.68-b, este prezentat a nmult irea segmentat a a operanzilor 1234 5678. Fiecare operand s-a segmentat n dou a numere 12 cu 34 si 56 cu 78 si s-au efectuat nmult irile ecare cu ecare, apoi s-au sumat produsele segmentate obt inute pe dou a niveluri de sumator, evident la

294

2.5. CLC PENTRU FUNCT II 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 adev ar pentru nmult irea a dou a cuvinte de doi bit i, A1 A0 B1 B0 ; b) modalit a ti de substituire a nmult irii numerelor cu multe cifre, prin segmentare, cu mai multe nmut iri de numere cu cifre mai put ine; c) structurarea circuitului pentru nmult irea a dou a cuvinte de 16 bit i, prin segmentare, pe baz a de circuite ROM si sumatoare.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

295

sumare s-a tinut cont de deplas arile necesare. Pentru segmentarea a dou a numere binare cu lungimea de 16 bit i A = A15 ...A1 A0 n A158 cu A70 si B15 ...B1 B0 n B158 cu B70 , n Figura 2.68-c se prezint a o variant a posibil a pentru implementarea tabelelor de nmult ire pe circuite ROM cu capacitatea de adresare de 64K. Tabelul nmult irii a dou a cuvinte binare de 8 bit i ncape ntr-o capacitate de 2 16 (2 8) bit i, adic a dou a circuite ROM de 64x8bit i conectate n paralel, n total sunt necesare 8 astfel de circuite ROM. Timpul de multiplicare Tm se compune din timpul de acces la memorie AA plus nt arzierea pe calea cea mai lung a determinat a de nivelurile de sumatoare. Dimensiunea multiplicatorului este dimensiunea/capacitatea memoriei 2 2n 2n deci n O(n 22n ) plus cea a sumatoarelor utilizate. Aceast a valoare ridicat a a dimensiunii limiteaz a nc a implementarea multiplicatorului tabelar. Probabil, cu cre sterea densit a tii de integrare simultan cu reducerea costului si acest tip de multiplicator poate deveni atractiv. O modalitate care poate duce la mic sorarea capacit a tii ROM necesar a pentru tabele const a n efectuarea indirect a multiplic arii prin logaritmare si antilogaritmare conform relat iei: A B = antilog (log A + log B ) Pentru aceast a implementare sunt necesare dou a tabele (una pentru stocarea logaritmilor si una pentru antilogaritmi) si un sumator. Aceste tabele au evident mai put ine intr ari dec at o tabel a care realizeaz a direct nmult irea (2 n intr ari) iar lungimea cuv antului stocat n aceste tabele depinde de nivelul de eroare care se accept a n rezultatul nmult irii (indicat pentru nmult iri de numere reprezentate n virgul a otant a, unde produsul obt inut de 2n bit i se reduce doar la n bit i). Timpul de multiplicare este determinat de accesul la cele dou a memorii (tabele) plus cel necesar sum arii.

2.5.4

Circuite de deplasare

Circuitele de deplasare (shift-are) transfer a ecare bit de intrare x i , i = 0, 1, 2, . . . , n 1, al unui cuv ant de n bit i, ntr-un bit de aceea si valoare n cuv antul de ie sire dar deplasat fat a de pozit ia i cu D pozit ii, conform relat iei: yiD = xi Mai exact, acest proces de deplasare al cuv antului de intrare X , ntr-un cuv ant de ie sire Y este caracterizat de urm atoarele m arimi: direct ia de deplasare (st anga/dreapta); distant a de deplasare D (exprimat a n binar prin num arul de pozit ii); condit iile de cap at. Prin condit iii de cap at se nt elege modul cum se procedeaz a cu bit ii care ies din intervalul de index al cuv antului [n 1, n 2, . . . , 1, 0], respectiv cu ce se completeaz a pozit iile r amase libere la cel alalt cap at al cuv antului.

296
x n1 xi x 1x 0 x n1

2.5. CLC PENTRU FUNCT II 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 Modalit a ti de realizare a operat iei de deplasare/rotire: a,b) deplasare st anga/dreapta; c) rotire dreapta. Cuv antul c aruia i se aplic a deplasarea poate avea semnicat ia de num ar ( n care ecare pozit ie corespunde unui rang n exprimarea ponderat a n baza 2 a valorii num arului), sau are semnicat ia doar a unui sir de bit i (c and pozit ia nu determin a o pondere binar a). Corespunz ator acestor dou a semnicat ii, care le poate avea cuv antul deplasat, rezult a respectiv o deplasare aritmetic a sau o deplasare logic a. Printr-o deplasare aritmetic a cu D pozit ii (spre st anga) num arul respectiv este nmult it cu 2D iar printr-o deplasare aritmetic a cu D pozit ii (dreapta) num arul este mp art it cu 2D . Dac a num arul reprezentat binar este f ar a semn atunci at at la deplasarea st anga, Figura 2.69-a, c at si deplasarea dreapta, Figura 2.69-b, bit ii care ies din intervalul pozit iilor [n 1, n 2, . . . , 1, 0] se pierd n num arul reprezentat la ie sirea circuitului de deplsare iar pozit iile r amase goale n acest interval se completeaz a cu zero. La deplasarea logic a se procedeaz a la fel dar cuv antul supus deplas arii st anga/dreapta nu mai este interpretat ca un num ar ci doar ca un sir de bit i. La deplasarea numerelor cu semn, care au bitul de semn n pozit ia (n 1), acesta trebuie p astrat (extensia de semn) indiferent c a num arul este multiplicat cu 2 D D sau 2 . De exemplu, num arul 20|10 = 10100|2 iar -20 n complement de doi se obt ine 10100 01011 + 1 01100 1 01100 = [20]2 . La deplasarea spre dreapta a num arului [20]2 cu dou a pozit ii ( mp art ire cu 22 ) trebuie completat bitul de semn n cele dou a pozit ii din st anga, se obt ine: 111011 (1)2 5 +1 24 +1 23 +0 22 +1 21 +1 20 = 5. La deplasarea spre st anga cu o pozit ie (inmult ire cu 2), bitul de semn nu iese n afara intervalului de sase bit i (semnul trebuie p astrat), intervalul trebuie extins la sapte bit i, se obt ine: 1011000 (1)26 +0 25 +1 24 +1 23 +0 22 +0 21 +0 20 = 40. Exist a si cazul particular de deplasare st anga/dreapta c and pozit iile (n 1) si 0 se consider a vecine, circuitul de deplasare n acest caz este referit ca circuit rotitor, Figura 2.69-c. Prin rotire, deoarece bit ii care ies din intervalul de index la un cap at sunt introdu si la cel alalt cap at, nu r am an pozit ii libere deci nu se fac complet ari cu zero. Exemplic am rotirea cu sirul format din primele 8 litere din alfabet (sau substituit bit ii prin litere) ABCDEF GH care printr-o rotire la dreapta cu sase pozit ii (D = 6) se obt ine CDEF GHAB iar printr-o rotire la st anga cu dou a pozit ii (D = 2 = 8 6) se obt ine CDEF GHAB , adic a acela si cuv ant n ambele cazuri. Lungimea cuv antului de n bit i, n general, este un num ar putere a lui 2, deci n D este complementul fat a de doi [D]2 al lui D. Din aceast a observat ie rezult a c a o structur a de rotitor poate realiza at at rotirea spre st anga c at si rotirea spre dreapta, deoarece o rotire cu D (dreapta) este echivalent a cu o rotire spre st anga exprimat a de un num ar de pozit ii egal cu [D]2 . In exemplul dat, comanda de deplasare dreapta

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

297

cu sase pozit ii 6 = 110|2 se substituie cu comanda spre st anga cu dou a pozit ii spre st anga [6]2 = 8 6 = 1000 110 = 010 = 2. Analiz and pe Figura 2.69, n ce const a operat ia de deplasare, se constat a c a este o selectare a unui bit de intrare si transferul acestuia ntr-o alt a pozit ie la ie sire f ar a a-i modica valoarea. Ori, aceast a operat ie de selectare, de la intrare la ie sire, este proprie circuitului multiplexor. Dac a se extinde aceasta de la bit la nivel de cuv ant se constat a c a operat ia de deplasare poate realizat a cu o structur a de selectare secvent ial a a datelor cu multiplexoare ca n Figura 2.36-b. Un circuit de deplasare, pentru un cuv ant de n bit i, structurat ca un circuit de selectare a datelor, pe baz a de multiplexoare, este format din n multiplexoare n paralel, ecare multiplexor cu un num ar de intr ari de date n. Fiecare din cele n cuvinte obt inut, de exemplu, prin deplasarea st anga cu D pozit ii (D [n 1, 0]) este stocat ntr-un port iar bit ii acestui port sunt aplicat i la intrarea cu acela si num ar a tuturor celor n multiplexoare n paralel. La aplicarea cuv antului de selectare (deplasare) D, comun pentru toate intr arile de selectare ale multiplexoarelor, este selectat portul de intrare n care este nscris cuv antul deja deplasat cu D pozit ii spre st anga si aplicat la portul de ie sire. Structurarea anterioar a a circuitului de deplasare, ca selector de cuvinte ( nscrise deja n congurat ii deplasate) din n porturi de intrare, poate restr ans a la un singur port de intrare ca n Figura 2.70-a, unde portul de intrare este o magistral a de patru bit i pe care se aplic a cuv antul de deplasat X = x 3 x2 x1 x0 . La ie sirea circuitului de deplasare st anga de patru bit i pentru deplas arile de 0, 1, 2, 3 pozit ii se obt in respectiv urm atoarele cuvinte x3 x2 x1 x0 , x2 x1 x0 0, x1 x0 00 si x0 000. La o astfel de structurare, cu un singur port de intrare, bitul j (linia j a magistralei) nu se mai aplic a doar la intrarea j de date a unui singur multiplexor, ca pentru structurarea anterioar a, ci se aplic a la ecare din multiplexoare dar pe intr ari de date diferite (a se vedea, de exemplu, linia de magistral a x0 ). La deplasarea spre st anga a cuv antului de patru bit i n pozit iile r amase libere, unde n cazul general ar intra bit ii din pozit iile 1, 2, 3, . . . dar care n cazul acesta nu exist a, se introduc zero-uri prin conectarea la mas a a intr arilor corespunz atoare ale multiplexoarelor. Varianta de circuit rotitor de patru bit i este reprezentat a n Figura 2.70-b. Aici, se observ a clar c a ecare bit de intrare, linie de magistral a, se aplic a la ecare multiplexor dar pe intr ari diferite. La fel ca si la circuitul de deplasare, scriind cele patru cuvinte care se pot obt ine la ie sire x3 x2 x1 x0 , x2 x1 x0 x3 , x1 x0 x3 x2 si x0 x3 x2 x1 se deduce foarte u sor la care linie de magistral a se conecteaz a ecare intrare a multiplexoarelor. Caracteristicile de ad ancime si dimensiune ale circuitului de deplasare dreapta/ st anga, CDD/S, sunt determinate de cele n multiplexoare n felul urm ator: DCDD/S (n) O(1) SCDD/S (n) = n SM U X (n) O(n2 log n) rezult a si produsul dimensiune-ad ancime: SCDD/S (n) DCDD/S (n) O(n2 log n) (SM U X (n) O(n 2n )) aceast a relat ie dedus a n sect iunea 2.4.4 corespunde cazului c and n este num arul de intr ari de selectare la MUX2 n :1, dar n cazul CDD/S n este num arul de intr ari de date la MUXn:1 deci relat ia pentru dimensiune devine 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 FUNCT II 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 a de multiplexoare: a) circuit de deplasare st anga pentru cuvinte de patru bit i; b) circuit rotitor de patru bit i. Dimensiunea mare pe care o implic a astfel de structurare a circuitului de deplasare (cea a circuitului rotor este la fel) poate ridica dicult a ti de implementare. In plus, ad ancimea atractiv a n O(1) poate mult nr aut a tit a de fan-out-ul ridicat. Fiecare bit al cuv antului de intrare comand a n intr ari de date ale multiplexoarelor si la fel, ecare intrare de selectare se aplic a la n multiplexoare. Cauza acestor neatr ag atoare performant e ale circuitului de deplasare cu structurarea anterioar a rezid a n realizarea pe un singur nivel, format din nMUXn:1, a tuturor celor n deplas ari comandabile prin cuv antul D = D k1 Dk2 ...D1 D0 , unde k = log2 n . Dar valoarea num arului de pozit ii de deplasat rezult a, ca la oricare num ar binar, printr-o sum a ponderat a dup a puterile lui 2 din cuv antul de control D. De exemplu, pentru un cuv ant de deplasat cu lungimea de 8 bit i o comand a de deplasare cu 6 pozit ii D = D2 D1 D0 = 110, 6 = 1 22 + 1 21 + 0 20 poate realzat a prin dou a deplas ari succesive nt ai o deplasare de dou a pozit ii (D 1 = 1) pe un nivel de multiplexoare, apoi cuv antul rezultat se aplic a pe urm atorul nivel de multiplexoare unde se realizeaz a o deplasare de patru pozit ii (D 2 = 1), deci la ie sire se obt ine o deplasare cu 6 pozit ii. In plus, un nivel numai cu o singur a valoare de deplasare, din cele n posibile se poate realiza numai cu multiplexoare nMUX2:1, iar aplicarea bit ilor cuv antului de intrare la intr arile multiplexoarelor MUX2:1 se face dup a o regul a foarte simpl a. Pentru nivelul format din nMUX2:1, comandat de bitul de control

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

299

D2 (unde se realizeaz a deplasarea cu 4 pozit ii, D 2 22 ), bitul i din cuv antul de intrare se aplic a la intrarea de date 0 a multiplexorului i precum si la intrarea 1 de date a multiplexorului i + 4 dac a deplasarea este st anga, ori la intrarea 1 de la multiplexorul i 4 dac a deplasarea este la dreapta. La acest nivel de deplasare comandat de D 2 , pentru D2 = 0 cuv antul de intrare va obt inut la ie sire f ar a deplasare (deplasare zero, 0 22 ), iar pentru D2 = 1 la ie sire se obt ine cuv antul de intrare deplasat cu patru pozit ii, 1 22 = 4. O structurare pe trei niveluri succesive de c ate 8 M U X 2 : 1 pentru un cuv ant de 8 bit i este prezentat a n Figura 2.71-a. Pentru un cuv ant de control D = 101 primul nivel va efectua o deplasare cu D 0 20 = 1 pozit ie, al doilea nivel o deplasare cu D1 21 = 0 pozit ii, iar ultimul nivel o deplasare cu D 2 22 = 4 pozit ii. In total 1+0+4=5 pozit ii.
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 a de niveluri succesive de nMUX2:1; b) pe baz a de matrice de comutat ie. Ad ancimea circuitului de deplasare D CDD/D (n) cu niveluri succesive este egal a cu num arul de niveluri de multiplexoare log 2 n, D CDD/S (n) O(log n) si este mai mare dec at la structurarea anterioar a unde era constant a si egal a cu D CDD/S (n) = 4, iar fan-out-ul unui semnal de bit, ce se aplic a la intrarea unui nivel format din nMUX2:1, este egal cu doi indiferent de lungimea cuv antului de deplasat, n schimb, fan-out-ul unui bit Di , din cuv antul de control, r am ane tot n. Dimensiunea circuitului este: S CDD/S (n) = log2 n n SM U X 2:1 = 4 n log2 n O(n log n) rezult and produsul dimensiune-ad ancime n O(n log 2 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 dec at O(n2 log n) al variantei anterioare de structurare pe 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 FUNCT II NUMERICE

Aceast a relat ie admite aceea si interpretare, care s-a dat la analiza relat iei 2.8 n ceea ce prive ste corelarea ntre ad ancime si dimensiune c and se caut a un circuit de vitez a mai ridicat a (sporul de vitez a este mai mic dec at cre sterea n dimensiune n circuistic a). Similar, se poate structura si un circuit rotitor din niveluri succesive de multiplexoare, ecare nivel urm ator realiz and rotat ii cresc atoare dup a puterile lui doi, caracteristicile de ad ancime si dimensiunea sunt acelea si cu cele deduse anterior.
P 4Rotatie dreapta (S2S1S0=100) P 3Rotatie stanga (S2S1S0=111) P 2Deplasare logica stanga (S 2S1S0=010) P 1Deplasare aritmetica dreapta (S2S1S0=001) P 0Deplasare logica dreapta (S 2S1S0=000) 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 bit i pe baza unei matrice de comutat ie 4 4 si a unui sistem de selectare secvent ial a 7MUX8:1 Circuitul general care poate implementa cele mai multe proces ari asupra unui sir de bit i (deplasare logic a dreapta/st anga, rotat ie st anga/dreapta, deplasarea aritmetic a st anga/dreapta, inversarea ordinii, amestecare, extragere de bit i etc.) este matricea de comutat ie, Figura 2.71-b. In ecare nod ij al unei matrice de comutat ie n n exist a un element de comutat ie care conecteaz a coloana i la linia j , deci ecare coloan a i (linia de intrare xi ) poate conectat a la oricare linie de ie sire y j . Ca element de comutat ie poate utilizat a poarta CMOS de transmisie sau un tranzistor de trecere (uzual nMOS). Dezavantajul principal pentru o astfel de matrice de comutat ie este

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

301

num arul mare, n2 , de conexiuni individuale de comand a care trebuie aplicate la elementele de comutat ie din cele n2 noduri (un cuv ant de control cu lungimea de n2 bit i). In cazurile particulare, c and se implementeaz a pe matricea de comutat ie doar un singur tip de procesare (o singur a operat ie), num arul de comenzi individuale se restr ange. Pentru o matrice 3232 utilizat a, de exemplu, doar pentru rotire st anga vor necesare numai 32 de comenzi individuale corespunz atoare distant elor de deplasare cu 0, 1, 2, ..., 30, 31 pozit ii. Pentru o rotire st anga cu D pozit ii vor comandate elementele de comutat ie din n noduri astfel alese nc at un bit de pe coloana i s a e mapat pe linia j = i + D; rezult a c a pentru toate tranzistoarele din nodurile i, i + D, i = 0, 1, ..., 31 port ile vor cablate mpreun a si comandate cu semnalul obt inut la ie sirea unui decodicator c and pe intrarea acestuia se aplic a mum arul D (D = 0, 1, ..., 30, 31) n binar. Restr angerea doar la un singur tip de operat ie pe matricea de comutat ie reduce num arul de comenzi la n, dar semnalul cablat pentru ecare dintre aceste comenzi trebuie s a asigure un fan-out egal cu n. Totu si, exist a posibilitatea ca pe o matrice de comutat ie, de si cablat a doar pentru o anumit a operat ie, s a poat a realizate si alte operat ii prin modicare deja n exterior a cuv antului care se aplic a la intrare, ca n Figura 2.72, un astfel de circuit este referit ca shifter (Barrel Shifter). Acest circuit shifter cont ine o matrice de comutat ie compus a din 4 4 port i CMOS de transmisie care este cablat a doar pentru realizarea deplas arilor dreapta cu 0, 1, 2, 3 pozit ii, prin valorile cuv antului de control al deplas arii, D1 D0 , egale respectiv cu: 00, 01, 10, 11 (aplicate la intrarea unui DCD2:4). Dar, la intrarea matricei se aplic a pentru ecare tip de operat ie, realizat a de shitfter, un cuv ant obt inut deja prin modicarea cuv antului de intrare x 3 x2 x1 x0 . Fiecare cuv ant, modicat si nscris n unul din porturile P 0 , P1 , P2 , P3 , P4 , printr-un sistem de selectare compus din 7MUX8:1, este selectat prin cuv antul S 2 S1 S0 si aplicat la intrarea matricei de comutat ie. Deci, cuvintele de control S 2 S1 S0 si D1 D0 determin a, primul, tipul de operat ie, iar al doilea, num arul de pozit ii de deplasare. Acest shifter poate realiza urm atoarele operat ii: deplasare logic a dreapta/ st anga, rotat ie dreapta/st anga si deplasare aritmetic a dreapta. Deoarece la ecare MUX8:1 mai exist a trei intr ari de date neutilizate se mai pot selecta nc a trei porturi (nedesenate n gur a) n care se poate introduce cuv antul x 3 x2 x1 x0 modicat pentru implementarea a nc a trei operat ii.

2.5.5
2.5.5.1

Unitatea Aritmetic a si Logic a, ALU


Calea de date

Sistemele digitale de calcul, at at din punct de vedere al proiect arii si realiz arii lor c at si din punct de vedere al trat arii didactice, pot organizate/compuse din dou a p art i, denumite foarte general, calea de date si calea de control (vezi Figura 3.14). In calea de date se realizeaz a operat ii de tip logic sau aritmetic asupra cuvintelor binare (operanzi), iar calea de control selecteaz a operat ia care se efectueaz a n calea de date si pentru operat ia selectat a se comand a etapele de realizare. Organizarea unei posibile c ai de date este prezentat a n Figura 2.73-a. Aceast a cale de date cont ine, pentru realizarea conexiunilor n vederea transferurilor, trei magistrale, dou a pentru operanzii surs a A, B si una pentru operandul rezultat R. Operanzii surs a si operandul rezultat (destinat ie) sunt stocat i ntr-un bloc de registre (echiva-

302

2.5. CLC PENTRU FUNCT II NUMERICE

lentul zic al not iunii de port). Selectarea unui port (operand) pentru nscrierea cont inutului s au pe o magistral a surs a se realizeaz a cu un cuv ant de selectare S A sau SB aplicat unui grup de multiplexoare, care compun un bloc de selectare a datelor cu o structur a ca n Figura 2.36-b. In aceast a cale de date ecare bloc de selectare este compus din nMUX16:1, deoarece se consider a c a blocul de registre cont ine 16 porturi cu lungimea de n bit i, iar selectarea acestora se realizeaz a prin cuvintele de selectare de patru bit i SA = SA3 SA2 SA1 SA0 , SB = SB 3 SB 2 SB 1 SB 0 . Inscrierea operandului rezultat, de pe magistrala rezultat R, ntr-un port destinat ie se realizeaz a prin intermediul unui bloc secvent ial de distribut ie selectat prin cuv antul de selectare SD = SD3 SD2 SD1 SD0 ( n acest caz blocul de distribut ie este constituit din nDMUX1:16). Intr-o cale de date este absolut necesar a o unitate logico-aritmetic a, ALU (Arithmetic Logic Unit) si, uneori, aceasta este inseriat a cu un circuit de deplasare (barrel shifter). Unitatea logico-aritmetic a efectueaz a o operat ie asupra celor doi operanzi A, B aplicat i, prin cele dou a magistrale surs a, la intr arile sale si genereaz a operandul rezultat O care, nainte de a aplicat pe magistrala rezultat R, poate modicat n circuitul de deplasare prin: deplas ari aritmetice/logice, st anga dreapta, rotiri, extrageri de bit i sau gupuri de bit i. Valoarea de deplasare n shifter este prescris a prin cuv antul de control D care n acest caz are 5 bit i D 4 , D3 , D2 , D1 , D0 , deoarece se consider a lungimea de cuv ant procesat este egal a cu n = 32.
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 a unei c ai de date cu trei magistrale; b) formatul binar al cuv antului de comand a a unei operat ii n calea de date (instruct iune n cod ma sin a).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

303

Proiectarea unei ALU porne ste de la nivelul arhitectural al acesteia, adic a de ,, ,, la ceea ce vede un utilizator/programator. Se vede interfat area/conectarea cu celelalte elemente din calea de date prin intr ari si ie siri. Intr ari la calea de date sunt cele dou a cuvinte de pe magistrala A si B si bit ii de control pentru operat ia de efectuat. Num arul operat iilor pe care le poate realiza o unitate logico-aritmetic a este de la c ateva p an a la zeci; n organizarea din gur a se pot realiza doar opt operat ii deoarece cuv antul de control are numai 3 bit i F 2 , F1 , F0 . Ie sirile din ALU sunt: cuv antul rezultat O cu lungimea de n bit i si semnalele indicatorii de condit ii (care nscriu anumite fanioane/ag-uri, bit ii de condit ii). Indicatorii de condit ii specic a anumite relat ii ntre cei doi operanzi sau anumite caracteristici valorice ale operandului rezultat. Se poate introduce un indicator pentru oricare condit ie dac a este necesar a a utilizat a n evaluarea corectitudinii operat iei efectuate sau pentru condit ionarea operat iilor urm atoare. Ca exemplicare, enumer am sase din bit ii de condit ii cei mai des utilizat i: CARRY(CR) este bitul care indic a dep a sirea de capacitate la reprezentarea numerelor ntregi pozitive. Intr-un sistem de calcul exist a o lungime maxim a n a unui cuv ant cu care se poate opera. Pentru o lungime mai mare nu exist a suportul zic de a reprezentat a. Rezult a c a se poate opera numai cu numere care pot reprezentate cu cei n bit i. O operat ie sau un num ar care necesit a mai mult dec at n bit i genereaz a o dep a sire de capacitate. Bitul CR are valoarea transportului urm ator Cn1 din cuv antul de ie sire, adic a de la rangul n 1 la rangul n, de la pozit ia n la n + 1 (care nu exist a). EQUAL(EQ) este bitul care indic a identitatea celor dou a cuvinte A si B . Valoarea sa se genereaz a prin port i NXOR, Ai Bi , asupra ec arei pereche de bit i care apoi se colecteaz a ntr-o poart a AND. ZERO(Z) este bitul care indic a faptul c a rezultatul operat iei este un cuv ant compus din n zerouri. Valoarea sa se genereaz a prin colectarea tuturor bit ilor cuv antului rezultat ntr-o poart a OR. PARITY(P) este bitul care indic a paritatea sau imparitatea cuv antului rezultat dac a este interpretat ca num ar. Valoarea sa este identic a cu valoarea bitului de rang zero al cuv antului O. OVERFLOW(OV) este bitul de dep a sire de capacitate la reprezentare numerelor cu semn. In reprezentarea numerelor cu semn ( n complement fat a de 1, n complement fat a de 2, n m arime si semn) bitul de semn (bitul cu indice n 1) are valoarea 1 pentru un num ar negativ si valoarea 0 pentru un num ar pozitiv. Dep a sirea de capacitate, Cn2 , apare ca un transport de la bitul cel mai semnicativ al num arului (bitul cu indicele n 2) la bitul de semn si dac a bitul de semn indic a o operat ie eronat a (de exemplu adunarea a dou a numere pozitive genereaz a un num ar negativ). Un algoritm simplu, care determin a existent a dep a sirii la numere cu semn reprezentate n complement fat a de doi, este: neidentitatea dintre valoarea transportului C n2 de la On2 la On1 si valoarea transportului Cn1 generat de la bitul de semn On1 (Cn1 = Cn2 ). In consecint a , valoarea sa se calculeaz a simplu printr-o poart a XOR, OV = Cn1 Cn2 .

304

2.5. CLC PENTRU FUNCT II NUMERICE

SIGN(SG) este bitul care indic a semnul cuv antului rezultat, O, c and este interpretat ca num ar cu semn, SG On1 . Se xeaz a pentru ALU din gur a codurile de selectare si mnemonicile operat iilor corespunz atoare n felul urm ator: F2 F1 F0 = 000, AND (produsul logic); Oi = Ai Bi , i = 0, 1, ..., n 1 F2 F1 F0 = 001, OR (sum a logic a); Oi = Ai + Bi , i = 0, 1, ..., n 1 F2 F1 F0 = 010, TFM (trecere f ar a modic ari); O = A F2 F1 F0 = 011, DCR (decrementare); O = A 1 F2 F1 F0 = 100, XOR (sum a modulo 2); Oi = Ai Bi , i = 0, 1, ..., n 1 F2 F1 F0 = 101, ADD (adunare modulo 2n , operanzii sunt numere ntregi); O = A + B F2 F1 F0 = 110, SUB (sc adere modulo 2n , operanzii sunt numere ntregi); O = A B F2 F1 F0 = 111, INC (incrementare); O = A + 1 Operanzii surs a sunt referit i prin num arul de port din care se citesc si sunt select a ti prin cuvintele SA si SB , iar operandul rezultat este referit prin num arul portului destinat ie n care se nscrie, selectabil prin cuv antul S D (cele 16 porturi sunt notate cu P1 , P1 , ..., P14 , P15 ). Comanda c aii de date pentru realizarea unie operat ii este descris a de o instruct iune care are urm atoarea form a ( n limbaj de asamblare): MNEMONIC OPERATIE PD , PS 1 , PS 2 ; PD (PS 1 OPERATIE PS 2 )

cu urm atoarea semantica: asupra operanzilor surs a din porturile surs a P S1 si PS 2 se efectueaz a operat ia OPERATIE iar rezultatul se nscrie n portul destinat ie P D . De exemplu, pentru efectuarea operat iei de adunare ntre operanzii din porturile P 13 si P7 , iar operandul rezultat s a e nscris n portul P 5 , se scrie urm atoarea instruct iune n limbaj de asamblare: ADD P5 , P13 , P7 (2.27)

Instruct iunea din limbaj de asamblare este convertit a (asamblat a), folosind codurile operat iilor si codurile cuvintelor de selectare din calea de date, ntr-un cuv ant binar care comanda efectuarea operat iei respective n calea de date. Formatul acestui cuv ant reprezentat n Figura 2.73-b este compus din urm atoarele 7 subc ampuri: 1. codul operat iei F2 F1 F0 2. codul portului surs a A: SA3 SA2 SA1 SA0 3. codul portului surs a B : S B 3 SB 2 SB 1 SB 0 4. codul portului destinat ie D : SD3 SD2 SD1 SD0

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

305

5. valoarea deplas arii D3 D2 D1 D0 , deplasarea st = 0 6. s/d anga s = 1, deplasarea drepata d 7. sf /r , shiftare sf = 1, rotat ie r = 0. Pentru instruct iunea anterioar a (ADD P5 , P13 , P7 ),introduc and n ecare c amp codul corespunz ator, rezult a urm atorul cuv ant binar de comand a (instruct iune n limbaj/cod ma sin a), scris cu spat ii ntre subc ampuri: 101 1101 0111 0101 0000 0 0

Acest cuv ant de comand a, prin bit ii s ai ecare subc amp de bit i aplicat pentru comand a la elementul corespunz ator din calea de date realizeaz a n calea de date procesarea cont inut a n instruct iunea (dat a n limbaj de asamblare) din relat ia 2.27. 2.5.5.2 Organizarea si implementarea unei unit a ti aritmetic a si logic a

Dup a denirea arhitecturii ALU, n contextul unei c ai de date, se trece la stabilirea organiz arii interne a acesteia, adic a la alegerea acelor p art i componente care pot realiza toate funct iile denite prin arhitectur a. Exist a diferite p art i componente/blocuri care pot realiza aceea si funct ie, ceea ce nseamn a c a pot mai multe variante de realizare intern a, deci pentru aceea si arhitectur a pot exista mai multe organiz ari. Elaborarea unei organiz ari, care s a asigure suport pentru toate operat iile efectuate de ALU poate g andit a n dou a variante. In prima variant a se concepe ALU ca o asamblare de blocuri/circuite specializate, Figura 2.74-a. Fiecare bloc realizeaz a o operat ie din repertoriul ALU asupra cuvintelor de intrare. Blocul circuitelor aritmetice, nCA, realizeaz a operat iile de adunare, sc adere, incrementare/decrementare primind deja calculate, pentru ecare pereche de bit i Ai si Bi , valorile pentru sum a modulo de la blocul nXOR si valorile transporturilor anticipate Ci1 de la circuitul de generare a transporturilor anticipate, CGTA. Transporturile anticipate sunt calculate pe baza semnalelor intermediare de generare gi si propagare produse pi de blocurile nAND si nOR, care asigur a si operat iile logice corespunz atoare n ALU. Aceste blocuri specializate opereaz a simultan dar numai ie sirea unuia este selectat a, prin blocul de multiplexoare nMUX8:1, la ie sirea ALU, prin aplicare codului operat iei pe intrarea de selectare F2 , F1 , F0 . Valorile bit ilor de condit ii se determin a u sor, din bit ii cuv antului de ie sire, conform denit iilor date mai sus. De fapt, aceast a organizare poate asimilat a ca un bloc de selectare secvent ial a a datelor pe baz a de multiplexoare, Figura 2.36-b. Dimensiunea unei ALU organizat a n aceast a modalitate apare ca o sum a a dimensiunilor blocurilor specializate si a blocului multiplexor de selectare, ultimul av and ponderea cea mai ridicat a n valoarea dimensiunii. In a dou a variant a se concepe ALU ca o punere n paralel a n unit a ti logicoaritmetice elementare, ALUE. Fiecare ALUE constituie o felie (slice) din ALU care realizeaz a toate operat iile din repertoriul ALU, dar numai pentru cuvinte de 1 bit. Printr-o optimizare a celulei ALUE, cu aceast a organizare, se poate obt ine o dimensiune mai redus a dec at la prima variant a de organizare. La ambele variante de ALU, deoarece se compun din blocuri cu ad ancime constant a, performant ele de vitez a pot mbun at a tite prin modul de realizare al blocurilor CGTA. Se va prezenta n continuare structuri de ALUE.

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 FUNCT II 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 a de selectare secvent ial a de date pe baz a de multiplexor; b) organizare din n felii de unit a ti logico-aritmetice de un bit conectate n paralel.

2.5.5.3

Structurarea unei ALU elementare

Funct iile unei unit a ti logico-aritmetice elementare, ALUE pot realizate cu ajutorul a diferite structuri de circuite. Este ales un anumit circuit de ALUE n funct ie de performant ele dorite sau modalitatea de implementare. Implementarea se poate face n oricare variant a expus a n acest capitol (cu port i logice, DCD + port i logice, multiplexoare, ROM, PLA; cu componente discrete sau integrate). Exist a o multitu,, dine de trasee n realizarea unui sistem digital. Pentru funct iile pe care trebue s a le realizeze un sistem se poate deni o anumit a arhitectur a. Aceast a arhitectur a poate sust inut a de mai multe organiz arii si la r andul ei, o organizare poate implementat a prin mai multe structuri de circuite. Ca exemplicare, pentru organizarea ALU, compus a din ALUE, se vor prezenta dou a modalit a ti de structurare pentru celula de logico-aritmetic a: ca un circuit logic combinat ional implementat prin port i logice si ca un circuit realizat pe un ROM sub forma unui tabel, LUT. O celul a de unitate logico-aritmetic a poate g andit a ca o scalare la lungimea de cuv ant de 1 bit a unei organiz ari ALU de n bit i, de exemplu, pornind de la varianta de organizare din Figura 2.74-a. In acest sens, o variant a de circuit ALUE este cea din Figura 2.75-a care poate privit a ca o structur a de selectare secvent ial a a datelor pe baz a de multiplexor, vezi Figura 2.36-b, dar din porturi de un bit. Operat iile realizate, dar la nivel de un bit, sunt acelea si ca cele denite n sect iunea anterioar a (Figura 2.74-a) si, de asemenea, sunt utilizate acelea si coduri pentru cuv antul F 2 F1 F0 de

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 unit a ti logico-aritmetice elementare ALUE: a) ALUE structurat a ca un circuit de selectare de date pe baz a de multiplexor; b) tabelul de adev ar pentru operat iile XOR si ADD implementate n LUT; c) ALU structurat a pe baz a de LUT-uri cu transport progresiv; d) si cu transport anticipat.

308

2.5. CLC PENTRU FUNCT II NUMERICE

selectare la ie sirea MUX8:1 a unei operat ii logice sau aritmetice. Pentru operat iile de produs logic, sum a logic a si sum a modulo 2 sunt introduse n circuit respectiv port ile AND, OR si XOR, selectate respectiv prin codurile 000,001 si 100. Codul de selectare 010 las a cuv antul A s a treac a nemodicat, TFM. Pentru aplicat iile aritmetice care utilizeaz a si transportul anterior Ci1 (DCR - 010, ADD - 101, SUB - 110, INC 111) este introdus a o a dou a poart a XOR. Cu un al doilea multiplexor 4 : 1, selectat i , 0 potrivit tot cu bit ii F1 , F0 , se genereaz a pentru bitul Bi urm atoarele valori: Bi , B si 1. Incrementarea, INC, se realizeaz a ca o sumare cu unu A + B + C 1 = A + 0 + 1, deci pentru Bi se genereaz a valoarea 0 prin inversorul comandat XOR c and F 2 = 1. Pentru decrementare, DCR, valorile lui Bi si C1 trebuie s a e inversate fat a de incrementare deci se genereaz a pe inversorul comandat B i = 1 c and F2 = 0. Port ile AND si OR genereaz a si variabilele intermediare g i si pi care se aplic a circuitului de generare a transportului anticipat, CGTA, neinclus n acest desen. Ponderea n dimensiunea ALUE este determinat a de partea de selectare, adic a de multiplexoare. Pentru implementarea ALUE sub forma unui LUT nscris ntr-un ROM se porne ste de la tabelul de adev ar a ec arei operat ii ce trebuie realizat a. Variabilele tabelului sunt intr arile n ALUE adic a intr arile de selectare F 2 , F1 , F0 , perechea de bit i Ai , Bi si transportul anterior Ci1 , toate acestea formeaz a un cuv ant de 6 bit i care va utilizat ca un cuv ant de adresare la circuitul ROM pe care se implementeaz a LUT i (ecare LUT va avea 64 de adrese). Bit ii nscri si la o locat ie din ROM sunt cei doi bit i de ie sire din ALUEi : Ci si Oi , care acum sunt generat i din LUTi . In Figura 2.75-b este prezentat tabelul de adev ar numai pentru implementarea operatorilor AND si XOR. ,, Implementarea unei ALU cu felii , const and din LUT-uri nscrise n circuite ROM cu capacitatea de 64 2, bit i este reperezentat a n Figura 2.75-c. Structurarea ALU este cu transport progresiv, bitul de transport C i citit din LUTi se aplic a la LUTi+1 , deci un timp de calcul n O(n). Se poate reduce acest timp de calcul pe ALU n O(1) dac a se structureaz a ca n Figura 2.75-d. Transportul urm ator C i nu se mai cite ste din ROMi (capacitatea ROM-ului pentru un LUT se reduce la 64 1bit) ci se genereaz a de catre un CGTA pe baza tuturor perechilor de bit i A i si Bi . Ca unitate logico-aritmetic a de patru bit i poate utilizat si circuitul MSI 74xx181 reprezentat n Figura 2.76-b, iar operat iile realizate sunt date n tabelul din Figura 2.76-a. Prin cuv antul de cod F3 F2 F1 F0 se poate selecta una din cele 16 operat ii aritmetice asupra celor doi operanzi A = A3 A2 A1 A0 si B = B3 B2 B1 B0 c and valoarea semnalului de control este M = 0, respectiv se poate selecta una din cele 16 operat ii logice c and M = 1. In expresiile funct iilor din acest tabel produsul logic si suma logic a sunt notate prin simbolurile si + iar pentru adunare si sc adere sunt folosite cuvintele plus si minus. Operat iile logice (M = 1) sunt realizate numai ntre perechile Ai si Bi (i = 0, 1, 2, 3), nu exist a semnal de transport de intrare C 1 = 0, de asemenea nu exist a transporturi ntre ranguri. In schimb n operat iile aritmetice (M = 0) pe l ang a perechile Ai si Bi trebuie considerat transportul de intrare C1 si transporturile ntre ranguri. Structura intern a a circuitului 74xx181 este realizat a pentru transport anticipat. Atent ion am faptul c a semnalele de intrare A 3 L A0 L, B3 L B0 L si cele de n starea L. Se poate ca la circuitul 74xx181 s a se ie sire O3 L 0 L sunt active considere aceste semnale active n starea H dar atunci expresiile funct iilor date n tabelul anterior se modic a in felul urm ator. Ca circuit logic, M = 1, la aplicarea

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

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 unit a tilor logico-aritmetice pe baz a de circuite standard: a) tabelul de adev ar si ( b) reprezentarea circuitului unitate logic a-aritmetic a de patru bit i 74xx181; c) reprezentare circuitului pentru calculul transportului anticipat, 74xx182; d) structurarea unei ALU de 16 bit i prin punere n paralel a 4 circuite 74xx181 iar calculul transportului anticipat se realizeaz a n exterior cu circuitul 74xx182.

310

2.5. CLC PENTRU FUNCT II NUMERICE

unui cod de selectare F3 F2 F1 F0 se obt ine o funct ie logic a dual a (relat ia 1.2) celei care este indicat a n tabel pentru acel cod de selectare. In schimb, ca circuit aritmetic, M = 0, la aplicarea unui cod de selectare se obt ine o funct ie aritmetic a, dar aceasta este diferit a fat a de cea dat a n tabel pentru acel cod de selectare (este necesar a se cunoa ste documentat ia tehnic a a circuitului). Exist a si dou a ie siri G L si P L care exprim a o generare si o propagare peste toate cele patru ranguri ale circuitului 74xx181 si care se calculeaz a conform relat iilor 2.25 si 2.26 astfel: G L = (g3 + p3 g2 + p3 p2 g1 + p3 p2 p1 g0 ) P L = p 3 p2 p1 p0 (2.28)

Aceste dou a ie siri permit extensia, n implementarea de ALU, pentru cuvinte multiplu de patru bit i prin utilizarea de circuite 74xx181. Consider and ecare circuit 74xx181 numai ca o pereche de bit i, pentru care sunt determinate valorile variabilelor intermediare G si P , se pot calcula cu aceste variabile intermediare valorile de transport anticipat pe un grup de circuite. De exemplu, pentru un grup de patru circuite ALU (ALU0 ,ALU1 ,ALU2 ,ALU3 ) de patru bit i ecare, pe baza perechilor de variabile intermediare de la ecare circuit (G0 , P0 ),(G1 , P1 ),(G2 , P2 ),(G3 , P3 ) precum si a transportului de intrare C1 , se pot calcula valorile de transport anticipat C 0 , C1 , C2 respectiv la intr arile de la ALU1 ,ALU2 si ALU3 . Pe baza relat iilor 2.25 si 2.26 pentru C0 , C 1 si C2 se obt in expresiile: 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 n Figura 2.76-c, calculeaz a transporturile anticipate C0 , C1 , C2 pentru un grup de patru unit a ti ALU. Acest circuit mai genereaz a si o pereche (G, P ) de variabile intermediare pe un grup de patru unit a ti ALU, aceast a pereche ind necesar a pentru calculul transportului anticipat n exteriorul unui grup de patru circuite MSI 74xx182. O exemplicare de realizare a unei unit a ti logico-aritmetice de 16 bit i pe baza a 4 circuite ALU de 4 bit i (74xx181) este prezentat a n Figura 2.76-d. Circuitul pentru calculul transportului anticipat 74xx182 calculeaz a pe baza perechilor (G, P ) de la ecare unitate logico-aritmetic a (74xx181) valorile de transport anticipat pentru ALU3 , ALU2 si ALU1 . Dar, unitatea logico-aritmetic a se poate extinde de la 16 bit i la 64 de bit i, iar aceast a structurare poate g andit a ca ind format a din 4 grupuri de c ate 16 bit i. In exteriorul acestor patru grupuri de c ate 16 bit i se realizeaz a, cu un circuit 74xx182, o cale pentru calculul transporturilor anticipate, necesare grupurilor ce cont in rangurile de bit i 31 16, 47 32, 63 48, pe baza perechilor G, P de grup generate de cele 4 circuite 74xx181 precum si a transportului init ial C 1 . Deci, la aceast a ALU de 64 de bit i exist a n exteriorul unui grup de patru circuite ALU, de patru bit i, o cale realizat a cu un 74xx182 pentru calculul anticipat al transportului pe grup. Apoi, n exteriorul acestor patru circuite 74xx182 exist a nc a o cale pe un alt 74xx182 pentru calculul anticipat al transporturilor ntre grupuri. In total 16 circuite ALU 74xx181 si 5 circuite pentru calculul transportului anticipat 74xx182.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

311

2.6

PROBLEME

P2.1 Pentru un cuv ant de n bit i, xn1 xn2 . . . x1 x0 , s a se implementeze funct ia paritate f (=1 pentru un num ar impar de bit i 1, =0 pentru un num ar par de bit i 1 n cuv ant) cu port i XOR2. In ce condit ii acelea si structuri de circuit, n care se face substitut ia XOR2 N XOR2 calculeaz a aceea si funct ie? P2.2 Pentru circuitele din gur a s a se deduc a expresiile f 1 , f2 ,f3 si f4 , apoi s a se construiasc a tabelele de adev ar.
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 a se demonstreze echivalent ele grace din gur a.

P2.4 S a se complementeze si s a se aduc a la forma minim a expresiile logice urm atoare: a) f = [(AB )A] [(AB )B ], funct ia A B exprimat a prin operatorul NAND; b) f = (A + B + C )(AB + CD) + BCD; c) f = (ABC + BCD) + (ACD + B C D + BCD). P2.5 S a se minimizeze urmatoarele funct ii utiliz and diagrame V-K: 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 a se exprime forma minim a at at ca sum a de produse c at si ca produs de sume. P2.6 S a se minimizeze urm atoarele funct ii utiliz and diagrame V-K: 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 a se identice implicant ii primi esent iali pentru urm atoarele expresii: 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 Utiliz and diagrama V-K, s a se arate c a funct ia: 15 f1 (A, B, C, D) = 0 (0, 2, 5, 7, 8, 10, 13, 15) 15 este negata funct iei: f2 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14), 15 si este identic a cu funct ia: f3 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14) P2.9 S a se minimizeze urm atoarele funct ii utiliz and diagrame V-K: 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 a funct ia: 15 15 f (A, B, C, D) = 0 (3, 6, 11, 14, 15) + 0 d(2, 5, 12, 13) S a se exprime ca o funct ie de trei variabile si ca o funct ie de dou a variabile: a) utiliz and tabelul de adev ar al funct iei; b) utiliz and diagrama V-K. P2.11 Pentru funct iile reprezentate n diagramele V-K din gur a s a se scrie forma 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 a se introduc a variabile reziduu n expresia coecient ilor funct iilor de la problema P2.6, astfel nc at n ecare funct ie s a e numai dou a variabile. Reducet i num arul de variabile at at folosind tabelul de adev ar c at si diagrama V-K. Pentru

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

313

funct iile de dou a variabile rezultate din diagramele V-K s a se scrie forma minim a. Pentru aceste forme minime s a se compare rezultatele cu cele obt inute la problema P2.6. P2.13 S a se realizeze sinteza unui circuit convertor de cod din codul zecimal codicat binar BCD 2-4-2-1 n codul de a sare pe matrice cu sapte segmente. Matricea de sapte segmente este TIL-312. Toate cele sapte LED-uri au anodul alimentat comun de la +5V. Un segment este luminat c and pe catodul s au este comandat potent ialul logic ,, 0 . P2.14 Funct ionarea a dou a motoare M1 si M2 este comandat a de trei ntrerup atoare: S1 , S2 si S3 . Motorul M2 funct ioneaz a tot timpul c at cele trei ntrerup atoare sunt nchise. Motorul M1 funct ioneaz a dac a e S2 , e S1 (dar nu si simultan) sunt nchise iar S3 este deschis.S a se realizeze circuitul logic combinat ional care implementeaz a aceast a comand a. P2.15 S a se analizeze, utiliz and diagramele de timp ale semnalelor si diagramele V-K, dac a circuitul din gura (a) poate genera hazard static 1. In cazul aparit iei hazardului, s a se propun a solut ia de eliminare.
A B C G1 G2 G4 A AB G5 f B C f

G3

a)

b)

P2.16 S a se implementeze funct ia: f (A, B, C, D) = 15 0 (1, 3, 4, 5, 7, 10, 11, 12, 14, 15) sub form a OR-AND f ar a a produce hazard static. P2.17 S a se explice de ce circuitele care implementeaz a mintermi pot produce hazard static 1 iar cele care implementeaz a maxtermi pot produce hazard static 0. P2.18 S a se pun a n evident a hazardul static pentru ecare din urm atoarele funct ii si s a se determine un circuit care elimin a hazardul si ndepline ste aceea si funct ie logic 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 a se determine dac a circuitul din gura (b), de la P2.15, produce hazard static. In caz armativ, s a se modice structura astfel nc at s a e eliminat hazardul. P2.20 Pentru funct ia f (x2 , x1 , x0 ) = 0 (3, 5, 7) s a se deduc a diagrama de decizie binar a redus a (ROBDD). P2.21 Urm atoarea funct ie s a se implementeze cu un num ar minim de port i NAND. f = ABD + ACD + BCD + ABC
7

314

2.6. PROBLEME

P2.22 S a se realizeze o poart a DAR care are patru intr ari si dou a ie siri cu simbolul grac din gura al aturat a. Funct ia realizat a trebuie s a e adev arat a c and n statuarea valorilor variabilelor de intrare din primul A 1 f1 grup A1 , B1 sau din al doilea grup A2 , B2 se aplic a sensul B1 conjunct iei DAR. Privind simetria simbolului grac funct ia re- A 2 f2 alizat a trebuie s a e simetric a n raport cu variabilele A si B B 2 din ecare grup; de asemenea trebuie s a e simetrice cele dou a grupuri. Apoi, cu aceast a poart a DAR s a se implementeze funct ia 15 a DAR plus o poart a OR cu f (A1 , B1 , A2 , B2 ) = 0 (3, 7, 11, 12, 13, 14) cu o poart dou a intr ari. P2.23 Utiliz and numai 4 port i NAND cu 8 intr ari s a se implementeze un codicator 16:4. Care sunt nivelurile active de semnal pentru intr ari si pentru ie siri? P2.24 Pe baza circuitului codicator prioritar cu 8 intr ari 74XX148, , s a se structureze un codicator prioritar cu 16 intr ari. P2.25 S a se implementeze un CLC la intrarea c aruia se aplic a un cuv ant M de opt bit i si un cuv ant N de trei bit i. Ie sirea f a circuitului va activ a c and M este multiplu de 2N . P2.26 S a se implementeze un CLC la intrarea c aruia se aplic a un cuv ant M de 16 bit i si un cuv ant N de 2 bit i. Ie sirea f a circuitului va activ a c and M este un N multiplu de 22 . P2.27 Intr-un cuv ant de un byte X = x7 x6 x5 x4 x3 x2 x1 x0 s a se determine c and exist a doar un singur bit cu valoarea zero. si opt ie siri Oi L , i = 0, 1 . . . 7. P2.28 S a se proiecteze un CLC cu opt intr ari Ii L n care i este pozit ia celui mai semnicativ Circuitul genereaz a numai ie sirea Oi L = 0 bit activat din cuv antul de opt bit i aplicat pe intrare. P2.29 S a se realizeze un CLC prin intermediul c aruia 8 periferice sunt legate la un microprocesor (P ). La activarea unuia sau a mai multor periferice acest circuit va genera c atre P o cerere de ntrerupere IRQ L si codul perifericului activat cu nivelul cel mai ridicat de prioritate; nivelul de prioritate cre ste de la 0 la 7. Except ie de la aceast a regul a este numai n cazul n care sunt activate simultan mai multe periferice printre care sunt activate si perifericele 7 si 2, n acest caz se genereaz a catre P codul perifericului 2. P2.30 Utiliz and circuitul 74XX138, DCD3:8, s a se realizeze o structur a de DCD5:32. P2.31 DCD3:8, P2.32 P2.33 [0, 7] P2.34 Urm atoarele funct ii: Y1 = 2x si Y2 = 22 s a e implementate pe circuite x ind un num ar binar n intervalul [000,111]. S a se implementeze operat ia: y = 2x1 + 2x2 , x1 , x2 [0, 7], x1 = x2 S a se realizeze un CLC care implementeaz a funct ia y = 2 (x1 +x2 ) , x1 , x2
x

Utiliz and circuitul 74LS138, decodicator 3:8, s a se implementeze funct ia: f (A, B, C, D) = (0, 1, 3, 5, 7) P2.35 Utiliz and circuite 74LS138, decodicator 3:8 ,s a se implementeze urm atoarele funct ii: 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 COMBINAT IONALE

315

P2.36 Implementat i o celul a sumator complet cu ajutorul unui circuit decodicator 74LS138. P2.37 S a se implementeze cu circuite 74LS138, DCD3:8, circuitul logic combina tional cu ie siri multiple denit de funct iile: 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 urm atoarele funct ii doar cu dou a circuite integrate? 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 int arile A,B,C cu semnalele de ie sire de la un num ar ator asincron modulo 8. S a se analizeze momentele c and pe ie sirile circuitului pot apare glitch-uri. P2.40 La celula sumator complet, implementat a n problema P2.36, se aplic a pe cele trei intr ari A,B,C, n locul semnalelor A i , Bi si Ci1 semnalele de ie sire de la un num ar asincron modulo 8. S a se determine la care comutarea dintre st arile num ar atorului asincron ie sirile si si Ci1 ale celulei se pot genera glitch-uri. P2.41 Numai cu dou a circuite 74XX138, DCD3:8, s a se realizeze un DCD4:16. P2.42 S a se determine funct iile implementate pe urm atoarele circuite.
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 a se organizeze un MUX32:1 pe baza circuitelor: 74XX151 MUX8:1; 74XX153 MUX4:1; 74XX139 DCD2:4. Toate aceste circuite au o intrare de validare G activ a n starea low; circuitul 74XX151 genereaz a at at ie sirea negat a c at si nenegat a. P2.44 S a se realizeze o selectare de date de la patru porturi P 3 , P2 , P1 si P0 , ecare de patru bit i, la o magistral a. P2.45 In gur a este schit at a posibilitatea de sumare a unui operand cu lungimea de k bit i de la unul din porturile PA1,PA2,PA3,PA4 cu un alt operand de aceea si lungime de la unul din porturile PB1,PB2,PB3,PB4 iar rezultatul este distribuit la unul din porturile destinat ie PD1,PD2,PD3,PD4. S a se structureze cele dou a circuite de selectare de pe intrare si circuitul de distribut ie de pe ie sire. S a se scrie cuvintele de selectare SA , BB , SD pentru urm atoarele transferuri: PA1+PB1PD1 si PA2+PB4PD3. 7 P2.46 Pentru funct ia logic a, f (A, B, C ) = 0 (0, 1, 3, 6, 7) s a se realizeze o implementare:

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 si MUX 4:1. Consider and ca o m asur a a dimensiunii num arul de terminale (2 n + n + 1) ale unui MUX 2n : 1, s a se determine dimensiunea pentru ecare dintre aceste implement ari. P2.47 S a se implementeze funct iile: 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) n urm atoarele variante: a) numai cu MUX 2:1; b) numai cu MUX 4:1; c) numai cu MUX 16:1; d) cu MUX 2:1 si MUX 4:1 sau MUX 8:1. S a se aprecieze dimensiunea implement arii prin num arul de circuite utilizate si num arul de terminale. P2.48 Fie funct ia f (A, B, C, D) = (3, 6, 11, 14, 15) + d(2, 5, 12, 13). S a se implementeze cu circuitul 74LS151, MUX 8:1. P2.49 Implementat i cu circuite 74LS151, MUX 8:1 celula sumator complet. Prin introducerea unei variabile reziduu, s a se realizeze o implementare si cu circuitul 74LS153, MUX4:1. P2.50 Fie funct ia f (A, B, C, D, E ) = ABE + A BDE + ABCE + ACDE . S a se implementeze cu un circuit 74LS151, MUX8:1. P2.51 Utiliz and circuitul 74LS151 MUX8:1, s a se implementeze funct ia: 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 a se implementeze funct ia: f (A, B, C, D, E ) = ABE + A BDE + ABCE + ACDE (prezentat a si n problema P2.50), utiliz and circuitele 74LS138 DCD3:8 si 74LS153 MUX4:1. P2.53 S a se implementeze funct ia: f (A, B, C, D, E ) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31) utiliz and circuitul 74LS138 DCD3:8 si circuitul 74LS153 MUX4:1. S a se compare structura obt inut a cu implementarea problemei P2.51. P2.54 S a se implementeze n ROM un convertor din codul binar 7 segmente n BCD. P2.55 Pentru problema P2.27 s a se conceap a o implementare pe circuit ROM. P2.56 S a se implementeze pe un circuit ROM calculul p atratului numerelor cuprinse

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

317

n intervalul [0,7]. P2.57 Un sistem cu microprocesor cu o magistral a de adresare de 10 bit i are alocat pentru cele patru periferice ale sale #0, #1, #2, #3 urm atoarele adrese: 3C0H, 3C1H, 3C2H si 3C3H. S a se realizeze variante de circuite de decodicare pentru aceste adrese. P2.58 Un sistem cu microprocesor cu o magistral a de adresare de 16 bit i are alocat pentru cele patru periferice ale sale #0,#1,#2 si #3 urm atoarele adrese: ED0CH, ED0DH, ED0EH si ED0FH. S a se realizeze o variant a de decodicare complet a pentru periferice utiliz and un circuit 74LS138, un circuit comparator 74LS682 si port i. P2.59 a) S a se conceap a un modul de memorie ROM de capacitate 8K 16 bit i utiliz and circuitele EPROM 2716. Intr-un spat iu de adresare de 64k (A15 A0 ) acest modul va acoperi intervalul de adrese 64k 56k. Circuitul EPROM2716 prezint a dou a semnale de control unul este selectare circuit CE L/PRM (Chip Enable/ Programare) sirii din TSL n iar cel alalt este validare ie sire OE L (Output Enable - comanda ie stare normal a); pentru obt inerea datelor pe ie sire trebuie activate ambele semnale simultan. b) Utiliz and circuite EPROM 2708, 1K 8 bit i, (prezint a un singur semnal CS L (Chip Enable/ Output Enable)) si circuite decdicator 74XX138, 74XX139, s a se structureze urm atoarele module de memorie: 1K 16 bit i, 8K 8 bit i, 8K 16 bit i. Fiecare din aceste module are asignat un interval de adresare ncep and cu adresa 0000H; se consider a un spat iu de adresare de 64K (A 15 A0 ). P2.60 Pe un circuit ROM cu organizarea 64 1 bit s a se implementeze funct ia: 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 a se implementeze urm atoarele funct ii pe o structur a de ROM cu capacitatea 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 a se implementeze pe o memorie ROM de capacitate 32 8 bit i urm atoarele convertoare de cod: a) convertor din cod 2-4-2-1 la matrice cu sapte segmente (vezi P2.13 si P2.65); b) convertor din BCD n cod EXCESS3 (codul EXCESS3 se obt ine din codul BCD la care se adun a cuv antul 0011| 2 = 3|10 ). S a se calculeze gradul de utilizare al memoriei, exprimat prin raportul dintre num arul de bit i nscri si si capacitatea memoriei. P2.63 Utiliz and circuite ROM de capacitate 256 8 bit i, n care sunt nscrise toate nmult irile ntre numerele binare de patru bit i, precum si circuite sumatoare de lungimi corespunz atoare, s a se structureze un multiplicator simultan pentru cuvinte de un byte. P2.64 S a se implementeze pe structuri PLA si PAL (cu patru termeni produs cablat i pe ecare poart a OR) un convertor din BCD n cod Gray. P2.65 S a se implementeze pe o structur a PLA generic un convertor din codul 2421 n codul pentru o matrice cu sapte segmente. Codul 2421 este: 0 0000; 1 0001; 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 a ca n Figura 2.37. P2.66 S a se implemeteze pe o structur a de circuit PLA generic un comparator digital pentru dou a cuvinte A si B cu lungimea de 4 bit i. Circuitul genereaz a la ie sire:

318

2.6. PROBLEME

A = B, A > B si A < B . Nu se primesc semnale pentru relat iile de ordonare de la un modul comparator de rang superior. P2.67 S a se realizeze circuite pentru identitatea a dou a cuvinte. P2.68 Utiliz and circuitul comparator digital de patru bit i 74XX85 s a se implementeze structuri care s a realizeze urm atoarele operat ii: a) Pentru dou a cuvinte A si B ie sirea fs s a e adev arat a c and A<B. C and A>B ie sirea fi s a e adev arat a. b) Pentru dou a cuvinte A si B s a se realizeze urm atoarele relat ii de ordonare: egal(=), mai mic(<), mai mic sau egal(), mai mare(>), mai mare sau egal(), diferit(=). P2.69 De la ie sirile de pondere 23 , 22 , 21 , 20 ale unui num ar ator sincron n cod binar natural modulo 16 se obt ine cuv antul A = A3 A2 A1 A0 , iar de la ie sirile complementare se obt ine cuv antul n complement fat a de 1, A = A 3 A2 A1 A0 . Cuvintele A si A se aplic a pe intr arile unui circuit comparator de patru bit i 74XX85. S a se deseneze formele de und a la cele trei ie siri ale circuitului (A > B, A = B, A < B ) c and num ar atorul parcurge toate cele 16 st ari (0 15). P2.70 Utiliz and circuitul comparator de patru bit i 74XX85 si port i s a se realizeze o structur a care genereaz a urm atoarele relat ii de ordine: A N ; M A; M A N ; A < M ; A > N ude M si N sunt dou a constante cuprinse n intervalul [0, 2 n 1], n=4 P2.71 Utiliz and trei circuite comparator digital de patru bit i 74XX85 si port i s a se realizeze o structur a care pentru trei variabile A, B, C activeaz a ( n stare 1) una din cele trei ie siri fA , fB , fC n funct ie de relat ia adev arat a din urm atoarele trei: fA = 1 dac a B < A > C fB = 1 dac a A < B > C fC = 1 dac aA<C>B P2.72 Utiliz and circuitul 74XX283, sumator cu transport anticipat pentru cuvinte de patru bit i, s a se realizeze diferite variante de sumatoare de trei bit i si de doi bit i. P2.73 S a se realizeze sinteza unei celule semisumator pentru sumare n sistemul de numerat ie n baz a trei. Implementarea se va face cu port i NAND. P2.74 S a se structureze o celul a sumator modulo trei, apoi cu aceasta s a se organizeze un sumator cu transport anticipat modulo 3 8 . P2.75 S a se structureze o celul a sumator pentru adunarea n cod BCD. P2.76 Utiliz and circuite 74LS181, unitate logico-aritmetic a de patru bit i si circuite 74LS182, unitate pentru calculul transportului anticipat pe patru ranguri, s a se organizeze o unitate logico-aritmetic a pentru cuvinte de 64 de bit i. P2.77 S a se realizeze un circuit, format numai din celule sumator complet (3, 2), care s a calculeze num arul (exprimat n binar natural, NBCD) de bit i care au valoarea 1 ntr-un cuv ant de 7 bit i, apoi s a se extind a pentru un cuv ant de un byte. P2.78 Utiliz and celule sumator complet (3, 2) s a se realizeze un modul care incrementeaz a un cuv ant de trei bit i, la fel, un modul, pentru decrementare. P2.79 Pentru un sumator de sase bit i realizat n varianta de sumator cu propagarea transportului , SPT, si n varianta cu transport anticipat, STA, s a se determine: 1. expresiile pentru C5 ; 3. timpul minim de sumare, T . 2. num arul de port i pentru implementarea lui C 5 ; Se va considera organizarea de celul a (3, 2) din Figura 2.60-b, iar C1 = 0. P2.80 Realizat i un circuit pentru sumarea a trei cuvinte de doi bit i. P2.81 Realizat i un circuit pentru multiplicarea a dou a cuvinte, unul de doi bit i X = x1 x0 iar cel alalt de trei bit i Y = y2 y1 y0 utiliz and e numai module sumator pentru cuvinte de doi bit i si port i AND2 e numai module sumator pentru cuvinte

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

319

de trei bit i si port i AND2. P2.82 S a se structureze o Unitate Aritmetico - Logic a Elementar a, ALUE, care s a realizeze urm atoarele operat ii:1) trece B i ; 2) Ai > Bi ; 3) Ai + Bi + Ci1 ; 4) Ai Bi Ci1 . P2.83 Utiliz and o (celul a) ALUE (structurat a la P2.82) s a se organizeze o ALU de patru bit i. P2.84 S a se structureze o ALUE care s a realizeze urm atoarele opt operat ii: 1) nscrie zero ( stergere); 2) (B A); 3) (A B ); 4) (A + B ); 5) A B ; 6) (A B ); 7) (A B ); 8) nscrie 1 (set).

Capitolul 3

CIRCUITE LOGICE SECVENT IALE, CLS


Circuitul Logic Combinat ional, CLC, exprimat formal prin tripletul(X,Y,F), determin a pentru o congurat ie binar a de intrare de n bit i, denit a pe mult imea X = {0, 1}n , o congurat ie de ie sire de m bit i, apart in and mult imii Y {0, 1} m , adic a realizeaz a aplicat ia F : X Y . In funct ionarea unui CLC, cel put in teoretic, nu se ia n considerare variabila timp, transferul intrare-ie sire ind instantaneu; n suportul formal utilizat, algebra Booleean a, nu exist a variabila timp. Aceast a lacun a a suportului formal se pl ate ste, uneori, sub forma gener arii de hazard la unele implement ari ale CLC-ului, c and pe durata timpului de transfer(neinstantaneu) valorile obt inute la ie sirea circuitului apar ca o violare a postulatului de existent a complesi xx = 1!. Totodat a, la un CLC transferul este unidirect ional, mentarului: x + x = 0 nu exist a si un transfer de la ie sire c atre intrare, adic a o react ie. Intr-o abordare foarte general a un Circuit Logic Secvent ial, CLS, se poate considera ca o extensie a unui CLC cu o conexiune de react ie si n funct ionarea sa, implicit, se consider a si variabila timp(propagarea neinstantanee). Se poate lua si reciproca, adic a un CLS numai cu transfer unidirect ional si instantaneu este un CLC. Aceast a abordare de denire, implicit, determin a si o structurare general a a unui CLS pornind de la un CLC. Secvent ialitatea implic a evenimente/st ari care se succed n timp unul dup a altul. In funct ie de modul cum este marcat a aceast a tranzit ie, de la un eveniment/stare la urm atorul, circuitele/sistemele pot asincrone sau sincrone. Pentru cele asincrone, aceast a tranzit ie/evolut ie, este determinat a de ns a si structura circuitului/sistemului prin timpul s au propriu de propagare(constanta de timp), pe c and la cele sincrone tranzit ia este marcat a din exterior prin timpul, perioada/frecvent a unui semnal de ceas/clock.

3.1

CIRCUITE LOGICE SECVENT IALE ASINCRONE

Structura general a a unui CLS asincron este reprezentat a n Figura 3.1, referit a 321

322

3.1. CIRCUITE LOGICE SECVENT IALE ASINCRONE

uneori ca structur a Human, care poate considerat a c a rezult a pornind de la un CLC c aruia i s-au ata sat c ai de react ie prin intermediul elementelor de nt arziere, notate cu 0 , 1 , . . ., k1 . Variabilele de intrare(principale) sunt: xn1 (t), . . . x1 (t), x0 (t) iar m arimile de ie sire sunt: ym1 (t), . . . , y1 (t), y0 (t), similar ca la un CLC cu n intr ari m ie siri. O congurat ie a variabilelor de intrare principale este un vector de intrare Xi , i = 0, 1, 2, . . . , (2n 1), ace sti vectori formeaz a mult imea intr arilor, notat a cu X . De asemenea, congurat iile m arimilor de ie sire formeaz a mult imea ie sirilor, notat a cu Y . Asupra celor dou a mult imi X si Y , sunt corecte acelea si considerat ii care s-au expus la CLC(vezi relat ia 2.1). In plus, CLC-ul mai produce la momentul t nc a alte k variabile de ie sire w k1 (t), . . . , w1 (t), w0 (t) care prin leg aturi de react ie si prin intermediul elementelor de nt arziere i , i = 0, 1, . . . , (k 1), se aplic a pe intrare ca variabile de intrare secundare la momentul t + i , zk1 (t + k1 ), . . . , z1 (t + 1 ), z0 (t + 0 ). Consider and c a nt arzierile i , introduse de elementele de nt arziere sunt toate egale cu , se pot scrie urm atoarele relat ii pentru cele k intr ari secundare zi , i = 0, 1, 2, . . . , (k 1) : zk1 (t + ) = wk1 (t), . . . , z1 (t + ) = w1 (t), z0 (t + ) = w0 (t). Rezult a c a circuitul combinat ional din structura CLS-ului este un circuit cu (n + k ) intr ari si (m + k ) ie siri.
x 0 (t ) Intrari x principale 1 (t )
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 secvent ial, CLS: a) structurare de principiu pentru un CLS asincron(Human); b) structurare cu separarea funct iei de transfer intrareie sire, de cea de tranzit ie a st arilor. Pentru nt arzierile i nu trebuie s a se nt eleag a si s a se considere c ate un element zic de nt arziere introdus special pe c ate o linie de react ie. In implement arile normale ale unui CLS asincron leg atura de react ie se realizeaz a printr-o conectare direct a de

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

323

Adic a starea prezent a q (t) este identic a cu starea urm atoare q + (t ), care a fost n urm a la momentul (t ), sau starea prezent a q (t +), care va la momentul (t +), este egal a cu starea urm atoare q + (t) din momentul t (starea urm atoare devine stare prezent a dup a nt arzierea ). Deoarece starea prezent a q (t) este aceea si cu starea urm atoare q + (t ), care a fost n urm a la momentul (t ) si care a fost calculat a n funct ie de st arile anterioare, nseamn a c a n funct ionarea circuitului, prin intr arile de react ie, intervine si evolut ia ,, anterioar a a circuitului, adic a inuent eaz a si istoria . Apare clar faptul c a la un CLS, n raport cu un CLC, ie sirile sunt dependente nu numai de intr arile prezente ci si de intr arile anterioare care au determinat succesiunea st arilor anterioare si care se reg asesc n valoarea st arii prezente. Partea combinat ional a a CLS pe baza unei congurat ii de intrare X (t) si a st arii prezente q (t) calculeaz a valorile congurat iei de ie sire Y (t) precum si starea urm atoare q + (t). Aceste dou a transferuri, spre cele dou a tipuri de m arimi de ie sire, sunt evident iate n Figura 3.1-b prin reprezentarea separat a a celor dou a part i combinationale CLC2 si CLC1. Pentru o formalizare a exprim arii funct ion arii unui CLS se introduc urm atoarele notat ii: Mult imea Q = {qp , . . . , q2 , q1 , q0 } este mult imea st arilor circuitului; pot exista maximum p = 2k st ari exprimate printr-un cuv ant cu lungimea de k bit i de forma zk1 . . . zl . . . z1 z0 zl {0, 1}. S i mult imea Q, ca si mult imea Y , este incomplet denit a |Q| 2k ; mult imea st arilor realizate de circuit este denit a pe mult imea nevid a a p art ilor lui Q, adic a pe P (Q)

la ie sire la intrarea secundar a, deci ie sirea w i devine instantaneu intrarea zi (evident dac a timpul de propagare pe leg atura de react ie respectiv a este zero). In schimb, propagarea de semnal n structura CLC-ului, de la intr arile principale x i si intr arile secundare zi nspre ie sirile wi , se realizeaz a pe trasee cu anumite ad ancimi (niveluri logice), deci exist a int arzieri care trebuie luate n considerare; de exemplu o nt arziere de 5 10ns pe ecare nivel logic. Dar, n explicat ia anterioar a, pentru ecare din semnalele wi , i = 0, 1, . . . , (k 1) s-a considerat c a exist a c ate o nt arziere i . Intr-o abordare didactic a, analiza unui CLS asincron se poate simplica dac a se consider a c a nt arzierile de propagare din interiorul CLC-ului sunt zero dar, n compensat ie, pe ecare linie de react ie ntre wi spre zi se introduce nt arzierea i aferent a ie sirii wi din CLC. Simplicarea poate merge si mai departe prin supozit ia facut a anterior, c a toate aceste nt arzieri i , introduse pe leg aturile de react ie, sunt egale cu . In acest mod de abordare didactic la CLS transferul intrare-ie sire este instantaneu prin CLC, n schimb variabilele wi devin variabile de intrare secundar a, zi , numai dup a intervalul de timp . Congurat ia intr arilor secundare sau cuv antul format cu valorile binare ale celor k variabile secundare la momentul t,zk1 (t) . . . , z1 (t), z0 (t) dene ste o m arime intern a proprie circuitului secvent ial denumit a starea prezent a a circuitului, notat a cu q(t). Cuv antul format din valorile de ie sire wk1 (t) . . . w1 (t), w0 (t) formeaz a starea urm atoare notat a cu q+ (t). In raport cu intr arile principale si ie sirile circuitului, care sunt m arimi vizibile n exterior(la borne), starea q (t) este o m arime intern a proprie circuitului, neaccesibil a la bornele circuitului. Datorit a introducerii elementelor de nt arziere pe linile de react ie apar evidente urm atoarele relat ii ntre starea prezent a si starea urm atoare: q (t) = q + (t ); q (t + ) = q + (t) (3.1)

324

3.1. CIRCUITE LOGICE SECVENT IALE ASINCRONE

Funct ia de transfer f intrare-ie sire a CLS-ului exprim a procesul de modicare a ie sirilor n dependent a de cuv antul de intrare si de cuv antul st arii prezente prin relat ii 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)

Funct ia de tranzit ie a st arilor g exprim a determinarea st arii urm atoare; adic a pe baza st arii prezente si a cuv antului de intrare se calculeaz a starea urm atoare q + (t) prin relat ii de forma: 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)

Fiec arui element din produsul cartezian X Q poate s a-i corespund a mai multe elemente din mult imile Y sau Q. Deoarece ie sirile circuitului sunt denite pe p art i ale mult imii de ie sire P (Y ) si la fel st arile sunt denite pe p art i ale mult imii st arilor P (Q) relat iile 3.2 si 3.3 trebuie scrise sub forma: f : X Q P (Y ) g : X Q P (Q) (3.4)

totu si, uneori, pentru u surint a scrierii se utilizeaz a formele anterioare. Aplicat iile anterioare (3.2 si 3.3) corespund cu cele din relatiile 3.4 c and oricare element din P (Y ) si P (Q) are cardinalul 1(cont ine un singur element). Cu notat iile introduse un CLS poate exprimat ca un cvintuplu: CLS = (X, Y, Q, f, g ) (3.5)

,, Dac a mult imea st arilor este mult imea vid a Q (circuitul nu are istorie ) atunci: g : X nu exist a funct ie de tranzit ie a st arilor iar, f : X Y se reduce la f : X Y , deci se obt ine: CLS |Q CLC = (X, Y, f ) Rezult a c a un CLS la care mult imea st arilor este mult imea vid a se reduce la un CLC (ie sirile sunt funct ie doar de vectorul de intrare X si nu exist a react ie). Se poate concluziona c a elementul care face trecerea de la combinat ional la secvent ial este conexiunea de react ie; si invers, desfacerea react iei la un circuit secvent ial l transform a n circuit combinat ional. La un CLS, pe baza produsului cartezian ntre cuv antul X (t) aplicat pe intrare si al st arii prezente Q(t), circuitul combinat ional calculeaz a cuv antul ie sirii Y (t), relat ia

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

325

3.2, si la fel, calculeaz a starea urm atoare Q + (t), relat ia 3.3. Dup a nt arzierea cauzat a de transferul pe liniile de react ie, starea urm atoare Q + (t) devine noua stare prezent a n momentul (t + ), Q(t + ) = Q+ (t). S a presupunem c a la intrarea principal a se aplic a cuv antul X 1 (t) si starea prezent a a circuitului este q1 (t) = zk1 (t) . . . z1 (t)z0 (t). Pe baza produsului cartezian X1 (t) q1 (t), pe circuitul combinat ional, se calculeaz a cuv antul de ie sire Y 1 (t) precum si + cuv antul st arii urm atoare q1 (t) = wk1 (t) . . . w1 (t)w0 (t), iar dup a nt arzierea , de propagare pe liniile de react ie, starea urm atoare devine starea prezent a q 2 (t + ) = + q1 (t). Consider am nemodicat cuv antul de intrare X 1 (t + ) (= X1 (t)) din nou pe baza produsului cartezian X1 (t + ) q2 (t + ) se calculeaz a ie sirea Y2 (t + ) si + cuv antul st arii urm atoare q2 (t + ) care dup a nt arzierea devine starea prezent a + (t + ) si a sa mai departe!. Dar, aceasta nseamn a c a acest proces q3 (t + 2) = q2 de evoluit ie din stare n stare (traseu), pentru acela si cuv ant aplicat pe intrare, este innit, adic a circuitul nu se stabilizeaz a ntr-o anumit a stare, denumit a stare stabil a. Condit ia ca o stare a circuitului s a e stabil a se reduce la identitatea cuv antului st arii prezente q (t) cu cel al st arii urm atoare q + (t), calculat a pe baza produsului cartezian X (t) q (t), adic a wi (t) = zi (t) pentru toate valorile i = 0, 1, 2, . . . , (k 1). Pentru o anumit a intrare aplicat a c and cuv antul a ajuns ntr-o stare stabil a, adic a nu se mai modic a n timp, circuitul poate considerat c a evolueaz a permanent din aceea si stare tot cu aceea si stare. Uneori variabilele w i (t) ale st arii urm atoare calculate sunt referite ca variabile de excitat ie, deoarece prin intermediul acestora circuitul este trecut ntr-o alt a stare. Exemplul 3.1 Pentru circuitul din Figura 3.2 s a se analizeze st arile stabile. Solut ie. Circuitul prezint a o singur a intrare x, o singur a ie sire y , doi bit i pentru starea prezent a, z1 , z0 , exprimat a prin cuv antul z = z1 z0 , si doi bit i pentru starea urm atoare calculat a, w1 , w0 , (funct ii de excitat ie), exprimat a prin cuv antul w = w1 w0 . Int arzierile de propagare pe traseele port ilor logice si pe conexiunea de react ie s-au concentrat n dou a valori de timp de nt arziere, 1 , 0 care s-au introdus pe liniile de react ie. Timpul de propagare pe o poart a poate specicat ca ind, de exemplu, n intervalul 5 10ns, deci chiar pentru trasee cu topologie identic a, pentru calculul funct iilor de excitat ie w1 , w0 , timpii de nt arziere sunt n general diferit i, 1 = 0 . Din structura circuitului se deduc funct iile de excitat ie (tranzit ia circuitului), w1 , w0 si funct ia de transfer intrare-ie sire y
w 1 = x + z 1 z0 w 0 = x + z 1 z0 y = z 1 z0 + z 1 z0 Cu aceste relat ii pentru cele patru st ari posibile ale circuitului, z1 z0 = 00, 01, 11, 10 si cele dou a valori ale variabilei de intrare x = 0, 1 se calculeaz a valorile pentru w1 , w0 , care sunt prezentate n primele dou a tabele din Figura 3.2-b. In ultimul tabel din aceast a gur a, obt inut din cele dou a tabele anterioare, sunt gurate pentru ecare pereche a produsului cartezian, z1 z0 x, format ntre starea prezent a si intrarea aplicat a, valorile calculate ale st arii urm atoare si a ie sirii, w1 , w0 ; y . Cuvintele de cod ale st arilor prezente sunt notate n partea st ang a a tabelului, la nceputul ec arei linii, iar valorile aplicate intr arii sunt gurate la cap atul superior al ec arei coloane din tabel. Din acest tabel, referit ca tabelul de evolut ie al st arilor, se poate deduce de exemplu c a: pentru starea prezent a z 1 z0 = 11 si intrarea aplicat a x = 0 se calculeaz a starea urm atoare w1 w0 = 00 si ie sirea y = 0, (00/0),

326

3.1. CIRCUITE LOGICE SECVENT IALE 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 st arilor stabile pentru un circuit CLS asincron: a) structur a circuit; b) tabelul de evolut ie al st arilor; c) analiza traseului obt inut
00 00 11 pentru cazul 1 = 2 = ; d) analiza traseului obt inut 00

00 01 11 pentru cazul 0 < 1 ; e) analiza traseului obt inut 00 00 10 11 pentru cazul 1 < 0 .

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

327

iar pentru aceea si stare prezent a 11 dar cu intrarea aplicat a x = 1, se calculeaz a starea urm atoare 11 si y = 0, (11/0). Condit ia de stabilitate pentru o stare, w1 (t)w0 (t) z1 (t)z0 (t) impune ca pe ecare linie din tabelul de evolut ie al st arilor, corespunz atoare unei st ari prezente, s a existe cel put in o stare urm atoare calculat a cu un cod identic cu cel al st arii prezente. De exemplu, pe prima linie, corespunz atoare st arii prezente z1 z0 = 00, se genereaza 00/0 pentru x = 0 si se genereaz a 11/0 pentru x = 1, deci starea urm atoare calculat a w1 w0 = 00 este o stare stabil a(circuitul r am ane tot n starea prezent a 00, respect a condit ia 00 = 00); dar n schimb starea urm atoare calculat a w1 w0 = 11 nu este o stare stabil a, pentru starea prezent a z1 z0 = 00, deoarece 11 = 00 (circuitul nu r am ane n starea prezent a). St arile urm atoare calculate care sunt stabile, se evident iaz a n tabelul de evolut ie al st arilor prin ncercuire. Pe aceea si linie a tabelului pot exista mai multe st ari stabile( ncercuite), de exemplu la un tabel care are 2n coloane, acesta corespunde unui circuit cu n intr ari principale, deci aceleia si st ari prezente i se pot aplica 2n congurat ii de intrare. Tabelul de evolut ie al st arilor este referit ca tabelul primitiv de evolut ie al st arilor dac a pe ecare linie a sa exist a doar o singur a stare stabil a (incercuit a), cum este cazul acestui tabel analizat. De asemenea, cuv antul care reprezint a produsul cartezian Q X este referit ca starea total a a circuitului. O stare total a este stabil a dac a la intersect ia corespunz atoare a st arii prezente si a intr arii aplicate, n tabelul de evolut ie al st arilor, este o stare urm atoare calculat a notat a ncercuit si respectiv, este o stare total a instabil a pentru o stare urm atoare calculat a notat a ne ncercuit. Pentru acest circuit, din tabelul de evolut ie, rezult a c a exist a patru st ari totale stabile z1 z0 x = 000, 010, 111, 100 si patru st ari totale instabile 001, 011, 110, 101. La un circuit secvent ial asincron, av and o stare prezent a stabil a prin aplicarea unui cuv ant de intrare, evolut ia poate : tot n aceea si stare stabil a, ntr-o alt a stare stabil a, n una dintre mai multele st ari stabile posibile (curs a critic a) sau o ciclare ntre mai multe st ari instabile (oscilator). Pentru circuitul din gur a se vor analiza trei cazuri posibile de evolut ie a st arilor c and se aa n starea total a stabil a z1 z0 x = 000 si intrarea se modic a de la 0 la 1. Pentru ecare caz evolut ia st arilor va reprezentat a simultan prin trei modalit a ti: diagrama de evolut ie n timp a semnalelor, tabelul de evolut ie n timp al st arilor si tabelul de evolut ie al st arilor(notat iile S si I indic a pentru starea prezent a atins a c a: este stabil a, respectiv instabil a). 1. 1 = 0 = Figura 3.2-c. (Propagarea semnalelor pe ambele conexiuni de react ie se realizeaz a n acela si timp , iar propagarea pe partea combinat ional a se face instantaneu, timp zero). Pentru z1 (t0 )z0 (t0 ) = 00 si x(t0 ) = 1 se calculeaz a, pe baza relat iilor anterioare, starea urm atoare w1 (t0 )w0 (t0 ) = 11. Deci circuitul trece din starea stabil a 00 n starea instabil a 00, z1 (t0 )z0 (t0 ) = 00 = w1 (t0 )w0 (t0 ) = 11, si r am ane n aceast a stare instabil a pe durata dup a care trece n noua stare prezent a de la momentul t0 +, z1 (t0 +)z0 (t0 +) = 11. In noua stare prezent a se calculeaz a starea urm atoare care este w1 (t0 +)w0 (t0 +) = 11 si pentru care este ndeplinita condit ia z1 (t0 +)z0 (t0 +) = 11 = w1 (t0 +)w0 (t0 +) = 11, ane n aceast a stare. Evolut ia deci noua stare prezent a este o stare stabil a, 11 , circuitul ram a fost starea stabil a 00 , starea instabil a 00 si apoi n starea stabil a 11 . 2. 0 < 1 , Figura 3.2-d. Aceast a relat ie arat a c a bitul w0 al st arii urm atoare calculate se propag a n bitul z0 al st arii prezente mai repede dec at bitul w1 n z1 . In momentul t0 c and x se modic a din 0 n 1 se trece din starea prezent a stabil a 00 n starea instabil a 00, z1 (t0 )z0 (t0 ) = 00 = w1 (t0 )w0 (t0 ) = 11. Dup a durata 0 noua stare prezent a este z1 (t0 + 0 )z0 (t0 + 1 ) = 01 care pentru x = 1 genereaz a w1 (t0 + o )w0 (t0 + 0 ) = 11 = 01, deci si aceast a stare prezent a 01 este instabil a. In momentul t0 + 1 si bitul w1 se propag a n z1 iar noua stare prezent a este z1 (t0 + 1 )z0 (t0 + 1 ) = 11 pentru x = 1 calcul and bit ii

328

3.1. CIRCUITE LOGICE SECVENT IALE ASINCRONE

st arii urm atoare rezult a w1 (to + 1 )w0 (t + 1 ) = 11, deci starea prezent a 11 este o stare n starea instabil a 00(la momentul t0 ), stabil a. Evolut ia a fost starea stabil a 00 , trecerea trecerea n starea instabil a 10(la momentul t0 + 0 ) si n nal trecerea n starea stabil a 11 (la momentul t0 + 1 ). 3. 1 < 0, Figura 3.2-e. De data aceasta bitul w1 al st arii urm atoare calculate se propag a n bitul z1 al st arii prezente naintea propag arii bitului w0 n z0 . Analiza evolut iei st arilor se realizeaz a similar ca la punctul 2 si rezult a o succesiune 00 00 10 11 . In concluzie acest circuit din starea total a 000 poate trece n starea total a 001( n funct ie de valorile nt arzierilor 1 si 0 ) prin una din urm atoarele trei succesiuni: 00 00

necritic a dac a pornind dintr-o stare, pe oricare traseu, se ajunge n nal n aceea si stare total a stabil a, cum este n cazul analizat. In opozit ie, un circuit prezint a o curs a critic a dac a din aceea si stare total a init ial a se ajunge n st ari totale stabile diferite n funct ie de traseul urmat. Condit ia de curs a critic a pentru un circuit asincron poate aparea c and dou a sau mai multe din variabilele binare de stare zi si schimb a valoarea la o modicare n cuv antul de intrare X (t). In consecint a , printr-o judicioas a codicare a st arilor circuitului, n tabelul de evolut ie al st arilor, se poate realiza un circuit f ar a curse critice. La un circuit f ar a curse critice trebuie ca pe traseul de evolut ie al st arilor n ecare moment de trecere de la o stare instabil a la o alt a stare instabil a, s a se modice doar un singur bit n cuv antul st arii calculate. Poate exista si cazul c and evolut ia st arilor este pe un traseu ciclic format numai pe st ari instabile ceea ce determin a o funct ionare de oscilator pentru circuit. Dar s a analiz am un astfel de regim n Exemplul 3.2. Analiza si sinteza circuitelor secvent iale asincrone este destul de dicil a dac a nu se introduc anumite restrict ii. In acest sens, n primul r and se admite c a n congurat ia de intrare X (t) la un moment dat se modic a doar un singur bit. S i n al doilea r and, se consider a c a o modicare a semnalului de intrare nu are loc p an a c and circuitul nu a ajuns ntr-o stare stabil a. Un circuit secvent ial asincron care respect a aceste dou a restrict ii este referit ca circuit ce funct ioneaz a n mod fundamental.

11 sau 00 00 01 11 sau 00 00 10 11 . Cursa pentru un circuit este

Exemplul 3.2 S a se analizeze funct ionarea circuitelor secvent iale asincrone realizate numai cu inversoare nseriate. Solut ie. Se disting dou a structuri cu num ar impar si num ar par de inversoare nseriate. a) In Figura 3.3-a este prezentat un circuit secvent ial asincron realizat printr-o leg atur a de react ie la o poart a NAND2. Pentru intrarea x = 1 poarta NAND2 are o funct ionare de inversor w = z . Din tabelul de evolut ie al st arilor, Figura 3.3-b, se observ a c a pentru coloana x = 1 nu exist a nici o stare stabil a. Pentru starea prezent az=0 si intrarea x = 1 se calculeaz a starea urm atoare w = 1 care genereaz a o tranzit ie, w z = 1, pe linia a doua a tabelului, unde pentru starea prezent az=1 si intrarea x = 1 se calculeaz a starea urm atoare w = 0 care genereaz a o tranzit ie, w z = 0, pe linia nt aia a tabelului, unde pentru starea prezent a z = 0 si intrarea x = 1 se calculeaz a starea urm atoare w = 1 care genereaz a o tranzit ie w z = 1 pe linia a doua a tabelului si procesul se repet a, adic a trece ncontinuu ntre st arile instable z = 0 si z = 1. Pe baza schemei echivalente, ca CLS asincron Human, din Figura 3.3-a, se pot reprezenta semnalele z si w,Figura 3.3-c, consider and inversorul cu timp de transfer zero iar timpii s ai de propagare pHL si pLH sunt introdu si ca nt arzieri pe leg atura de react ie. Pentru x = 0 modic arile st arii prezente z nu se transmit prin poarta

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 num ar impar de inversoare: a) structur a realizat a pe baza unei singure port i NAND2; b) tabelul de evolut ie al st arilor; c) variat ia n timp a semnalelor generate.
NAND2, w este permanent 1, dar pentru x = 1 starea prezent a z se transmite prin poart a ar). Pentru starea prezent az=1 si cu valoarea complementat a, w = z (vezi tabelul de adev x = 1 se calculeaz a instantaneu starea urm atoare w = 0 care devine stare prezent a z = 0, dup a nt arzierea pHL , pe baza c aruia se calculeaz a noua stare urm atoare w = 1 care devine stare prezent a z = 1 dup a nt arzierea pLH si procesul se repet a. Deci circuitul are funct ionare de generator de semnal dreptunghiular cu perioada T = pHL + pLH . Functia de generator de semnal dreptunghiular o are orice CLS asincron la care partea combinat ional a este o nseriere a unui num ar impar n de inversoare, perioada semnalului generat ind T = n(pHL + pLH ) 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 num ar par de inversoare: a) structur a realizat a pe baza a dou a port i NAND2; b) structur a echivalent a ca CLS Human; c) tabelul de evolut ie al st arilor.
b) In Figura 3.4-a este prezent a o structur a de CLS asincron realizat prin nserarea a dou a port i NAND2, iar pentru cuv antul de intrare x1 x0 = 11 ecare poart a este echivalent a cu un arei valori sunt inversor, Figura 3.4-b. Funct ia de tranzit ie este w = zx1 x0 = zx1 + x0 ale c trecute n tabelul de evolut ie al st arilor din Figura 3.4-c. Pentru coloana x1 x0 = 11 se observ a c a at at starea z = 0 c at si starea z = 1 sunt stabile, adic a starea urm atoare calculat a w este identic a cu starea prezent a si se tranfer a n stare prezent a dup a nt arzierea = pHL + pLH . Din acest tabel se observ a c a pentru toate combinat iile de intrare x1 x0 = 00, 01, 11, 10 exist a st ari stabile pentru circuit(o discut ie necesit a cazul c and x1 x0 = 00, vezi sect iunea 3.3.1).

330

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

Se poate generaliza aceast a armat ie, un CLS asincron compus prin nserierea unui num ar par de inversoare are pentru ecare cuv ant de intrare cel put in o stare stabil a.

3.2

CIRCUITE LOGICE SECVENT IALE SINCRONE

,, La un circuit logic secvent ial asincron variabila timp curge continuu, exist a incontinuu transfer de la ie sire spre intrare, pe calea de react ie, deci o evolut ie dintr-o stare n alta(chiar si c and este ntr-o stare total a stabil a se poate considera c a circuitul evolueaz a incontinuu din acea stare tot n acea stare). Spre deosebire de circuitul ,, asincron, la un circuit logic secvent ial sincron variabila timp are o curgere discret a, trecerea/tranzit ia dintr-o stare n urm atoarea se face numai n momentele bine denite de c atre semnalul de ceas/clock. Semnalul de ceas (clock) este un semnal dreptunghiular periodic care comut a ntre L si H si invers cu un coecient de umplere 50%, Figura 3.5, simbolizat n circuite prin abreviat ia CLK. Comutarea repetat a ntre L si H este utilizat a pentru a marca timpul, unitatea de timp ind perioada T a acestui semnal; un moment pe scara timpului se marcheaz a doar printr-un multiplu de perioad a de clock: . . . , iT, (i + 1)T, (i + 2)T, . . .. Ceasul n circuitele sincrone poate act iona pentru marcarea timpului prin unul din palierele sale, referit ca palier activ. De exemplu, marcarea timpului pe palierul activ H este reprezentat a n Figura 3.5-a, iar marcarea timpului cu frontul activ cresc ator/ anterior/ pozitiv sau cu frontul activ descresc ator/posterior/negativ este reprezentat a respectiv n Figura 3.5-b si 3.5-c. Marcarea pe palier(=interval) se face ntr-un mod mai grosier, pe c and marcarea pe front este un mod foarte precis.

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/crec ator respectiv negativ/descresc ator; d) fereastra de decizie = SU + H axat a pe frontul de sincronizare, pe durata c aruia semnalul de sincronizat nu trebuie s a si modice valoare.

3.2.1

Sincronizarea semnalelor asincrone

Inainte de prezentarea CLS sincrone se va analiza modul n care un semnal este sincronizat. Prin sincronizarea unui semnal se nt elege aducerea acelui semnal n ,, acela si timp cu semnalul de ceas. Aceasta nseamn a c a semnalul asincron este citit/e santionat si nscris ntr-un element de memorare numai n momentele discrete dictate de semnalul de ceas. Dar care va valoarea citit a pentru un semnal asincron

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

331

c and sincronizarea se face pe palier? dicil de spus deoarece semnalul ind cu variat ia ,, ,, asincron a poate s a si modice valoarea ntre 0 si 1 de nenum arate ori pe durata palierului impulsului de ceas; n aceast a situat ie n elementul de memorare se va nscrie valoarea pe care o are semnalul asincron pe frontul de sf arsit al palierului activ. Evident c a, pentru a face o citire corect a trebuie s a se impun a ca semnalul s a nu se modice pe durata palierului. La e santionarea pe front, conside and c a panta acestuia este innt a(durata frontului f = 0), condit ia de a se ment ine nemodicat semnalul asincron doar ntr-un singur punct este mai usor de ndeplinit. Dar si la sincronizarea pe front se impune ca semnalul asincron s a nu si modice valoarea pe un interval de timp de prestabilire SU (set-up) nainte de front si apoi pe nc a un interval de timp de ment inere H (hold) dup a front, relat ia 3.23; deci nici o modicare pe l a timea unei ferestre(de decizie) cu l a timea = SU + H axat a pe frontul semnalului de ceas, Figura 3.5-d. Aceast a restrict ie de nemodicare pe intervalul este impus a de c atre funct ionarea elementului zic bistabilul care realizeaz a citirea si memorarea semnalului asincron. Bistabilul(a se vedea Figura 3.5-d) la o modicare a semnalului asincron(de sincronizat) n intervalul , poate memora e valoarea logic a 1, e valoarea logic a 0, deci nu se poate controla valoarea care se nscrie(funct ionare nedeterminist a). Teoretic, aceste restrict ii de nemodicare n momentul e santion arii duc la armat ia c a un semnal asincron (ind asincron poate s a se modice oric and) nu poate sincronizat corect. Din analiza cazurilor urm atoare se va vedea c and aceast a concluzie este corect a si c and nu. Se consider a cazul c and trei semnale asincrone A = 0, B = 0, C = 1 sunt e santionate simultan dar numai semnalul C si modic a valoarea de la 1 la 0 n fereastra de decizie , centrat a pe frontul pozitiv de ceas de la momentul iT, Figura 3.6-a. Dup a frontul pozitiv de sincronizare se memoreaz a e cuv antul ABC = 001 e cuv antul ABC = 000, dar ambele cuvinte sunt corecte deoarece oricare dintre acestea sunt generate de c atre sursa cuv antulului ABC. Dac a la frontul iT se obt ine cuv antul ABC = 001 la urm atorul front de sincronizare (i + 1)T , consider and c a semnalul C si p astreaz a nemodicat a noua valoare 0, se memoreaz a valoarea corect a, adic a ABC = 000. Deci necitirea corect a la momentul iT poate privit a ca o nt arziere a sincroniz arii cu un tact a cuv antului ABC = 000. Cazul c and pentru cele trei semnale asincrone, n fereastra de decizie de pe frontul pozitiv al semnalului de ceas de la momentul iT, se modic a dou a dintre semnale, C de la 1 la 0 si B de la 0 la 1, este reprezentat n Figura 3.6-b. Dup a frontul pozitiv de sincronizare se pot memora unul din urm atoarele patru cuvinte ABC = 001, 010, 000, 011, iar dup a al (i+1)T front de sincronizare, dac a nu mai apar modic ari, cu nt arziere de un tact se obt ine cuv antul corect ABC = 010. Deci n intervalul dintre iT si (i+1)T, datorit a indeciziei semnalului citit, pot ap area si cuvintele ABC = 000 si ABC = 011 care sunt incorecte deoarece sursa nu a generat aceste cuvinte ci doar cuvintele 001 si 010. Deci la modicarea a doi sau mai mult i bit i, sincronizarea nu poate sigur a. In concluzie pentru sincronizarea corect a a unui grup(cuv ant) de semnale asincrone este necesar a respectarea restrict iei ca la un moment dat s a se modice doar un singur semnal. Cazul particular c and aceste semnale se obt in ca un cuv ant de la un CLC cu ie siri multiple, posibil nc arcate cu hazard, pentru o sincronizare corect a este necesar s a se a stepte p an a se consum a timpul de propagare pentru producerea acestor semnale. Dac a pentru un grup de semnale c and sunt sincronizate se consider a ecare

332

3.2. CIRCUITE LOGICE SECVENT IALE 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 a unui cuv ant c and se modic a doar un singur bit; b) posibilitatea de nscriere incorect a c and se modic a mai mult de un singur bit n fereastra de decizie . semnal cu semnicat ie individual a, deci nu o semnicat ie n grup/ n cuv ant, atunci sincronizarea ec aruia n parte este corect a n oricare moment de timp. Pe c and la un grup de semnale asincrone care se constituie ntr-un cuv ant de cod, codul exprimat de acel cuv ant depinde de valoarea tuturor semnalelor din acel cuv ant si nu doar de unul singur, sincronizarea corect a este imposibil a.

3.2.2

Automate nite: structur a, denit ii, clasic ari

Structura de principiu a unui CLS sincron se obt ine din cea a unui CLS asincron, Figura 3.1, n care elementele de nt arziere i sunt substituite cu elemente de memorare/(registru de stare) ca n Figura 3.7-a (Registrul de stare este un circuit registru prezentat n sect iunea 3.5. Registrul este un circuit de memorare n care se poate nscrie un cuv ant binar numai la aplicarea unui semnal de nc arcare/ nscriere, momentan consider am c a semnalul de nc arcare este semnalul de ceas. Dup a nscriere, cuv antul este permanent generat la ie sirea registrului si poate utilizat ca intrare la alte circuite.) Bit ii wi calculat i ai funct iei de excitat ie, cuv antul st arii urm atoare, vor nscri si n registrul de stare numai n momentele de aplicare ale fronturilor active(pozitive)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 secvent ial sincron: a) structur a de principiu; b) succesiunea n timp a operat iilor de transfer f si de tranzit ie g ; c) structura de principiu pentru CLS sincron cu ie sirea n arziat a. din semnalul de ceas . . . , (i 1)T, iT, (i + 1)T, . . .. Odata nscri si bit ii st arii urm atoare n momentul iT , n registrul de stare, ace stia vor devenii bit ii st arii prezente Z (iT ). Pe baza st arii prezente Z (iT ) si intr arii X (iT ) (se consider a c a intrarea este sincronizat a cu acela si semnal de ceas ca si bit ii st arii prezente) se va calcula transferul intrare ie sire si funct ia de excitat ie pentru starea urm atoare, Y (iT ) = f [X (iT ), Z (iT )] W (iT ) = g [X (iT ), Z (iT )]

(3.6)

La urm atorul impuls de ceas (i + 1)T , bit ii calculat i W (iT ) ai st arii urm atoare q + (iT ) sunt nscri si n registrul de stare si devin bit ii Z ((i +1)T ) ai st arii prezente q ((i +1)T ). Din nou, pe baza st arii prezente q ((i +1)T ) si a intr arii X ((i +1)T ) se calculeaz a dup a relat iile 3.6, ie sirea Y ((i + 1)T ) si bit ii funct iei de excitat ie W ((i + 1)T ) care nscri si n registrul de stare, la momentul (i + 2)T , devin bit ii Z ((i + 2)T ) ai st arii prezente q ((i + 2)T ). Se observ a c a asignarea st arii urm atoare calculate Q + (iT ), reprezentat a

334

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

prin bit ii funct iei de excitat ie W (iT ), n stare prezent a Q((i + 1)T ) se face numai n momentul (i + 1)T prin nscrierea n registrul de stare Q((i + 1)T ) := Q + (iT ). Numai n momentul aplic arii frontului activ al semnalului de ceas, pentru nscrierea n registrul de stare, se poate considera c a bucla este nchis a n restul intrevalului de timp, p an a la aplicarea urm atorului front activ al impulsului de ceas, bucla este deschis a. Deci, nu exist a un transfer continuu a st arii urm atoare calculat a Q+ n stare prezent a Q pe leg atura de react ie ca la CLS asincron. In intervalul de timp dintre dou a fronturi active ale semnalului de ceas, circuitul poate privit ca un circuit combinat ional, care pe baza cuvintelor de intrare X (iT ) si Z (iT ) calculeaz a ie sirile Y (iT ) si W (iT ). Inexistent a unui transfer continuu pe conexiunea de react ie, cu except ia momentelor aplic arii fronturilor active ale semnalelor de ceas, i confer a CLS-ului asincron o funct ionare de circuit deschis care totdeauna este stabil, adic a trece dintr-o stare stabil a n alt a stare stabil a. Transferurile ntre dou a impulsuri succesive de ceas, pe partea combinat ional aa circuitului secvent ial sincron sunt prezentate n Figura 3.7-b. Din momentul aplic arii impulsului de ceas iT se calculeaz a, pe partea combinat ional a, W (iT ) si Y (iT ), dar bit ii acestor congurat ii calculate pot afectat i de hazard datorit a parcurgerii unui num ar diferit de niveluri logice, deci citirea lor trebuie facut a numai dup a consumarea regimului tranzitoriu. Asignarea st arii prezente Q((i +1)T ) := Q + (iT ) si citirea ie sirii Y (iT ) sunt corecte numai n perioada de regim stabilizat. Aplicarea urm atorului impuls de ceas nu trebuie s a e mai devreme de consumarea regimului tranzitoriu, deci frecvent a maxim a a semnalului de ceas cu care se poate comanda CLS-ul se determin a cu relat ia: fmax = n care: pmaxCLC - timpul de propagare maxim pe circuitul combinat ional(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). Bit ii calculat i w i ai st arii urm atoare si aplicat i pe intrarea registrului de stare trebuie s a nu se modice cu cel put in SU nainte de aplicarea frontului activ de ceas. De foarte multe ori, la fel ca si bit ii calculat i W (iT ) ai st arii urm atoare si bit ii calculat i Y (iT ) ai cuv antului de ie sire nainte de a disponibili la ie sire sunt memorat i ( nscri si ntr-un registru de ie sire), Figura 3.7-c. Deci, bit ii Y (iT ) calculat i pentru impulsul de ceas iT vor disponibili la ie sire la urm atorul impuls de ceas (i + 1)T numai dup a ce au fost nscri si n registru, Y ((i +1)T ) := Y (iT ). Un astfel de CLS este referit cu nt arziere n contrast cu cel f ar a registru care este referit CLS imediat. La un CLS sincron imediat ie sirea depinde de starea curent a. Modicarea intr arii se simte la ie sire pe durata st arii prezente. Ie sirea poate afectat a de hazard, deci trebuie citit a doar dup a consumarea regimului tranzitoriu. CLS sincron cu nt arziere are ie sirea dependent a de starea anterioar a(corespunz atoare ciclului anterior de ceas). Deoarece se presupune c a bit ii de ie sire au fost nscri si n registrul de ie sire dup a 1 Tmin = 1 pmaxCLC + pBQ + SU Q (3.7)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

335

consumarea regimului tranzitoriu, ie sirea nt arziat a nu este afectat a de hazard. Deci ,, la un circuit cu nt arziere o modicare a intr arii X (iT ) se va simt ii la ie sire numai dup a frontul activ de ceas (i + 1)T , adic a cu o nt arziere de un tact. Structura de CLS sincron care cont ine n bucla de react ie un circuit de memorare/registru, care la r andul s au constituie un CLS, este referit a prin termenul de automat (nit) sau cu abreviat ia FSM (Finite State Machine). In continuare se vor prezenta succint doar acele denit ii si clasic ari ale automatelor [Creang a 73][S tefan 00] [Maican 99] care vor utilizate n aceast a lucrare. Denit ia unui automat nit A este similar a cu cea data prin relat ia 3.5 pentru un CLS asincron cu deosebirea c a timpul nu mai este o variabil a continu a ci discret a, multiplu de perioada semnalului de ceas, iT , adic a variabilele circuitului sunt e santionate dar pe fronturile active A = (X, Y, Q, f, g ) (3.8)

Denit ia 3.1 Dac a pentru oricare congurat ie de intrare si de stare prezent a, funct iile de transfer, f , si de tranzit ie, g , au cardinalul unitate(cont ine un singur element), atunci automatul este determinist, altfel este nedeterminist q Q, x X, |f (q, x)| = 1, |g (q, x)| = 1 (3.9)

Denit ia 3.2 Un automat A este nit dac a cele trei mult imi X, Y si Q sunt nite. Este necesar a se evident ia faptul c a un automat cu un num ar nit de st ari poate prelucra siruri innite aplicate pe intrare, denite pe mult imea nit a X, si poate genera la ie sire siruri innite, denite pe mult imea nit a Y. Denit ia 3.3 Un automat A autonom, sau orologiu, este un automat la care mult imea nit a a intr arilor are cardinalul unitate |X | = 1 Pentru automatul autonom, mult imea congurat iilor de intrare este permanent aceea si ceea ce d a automatului o comportare independent a de exterior, vezi Exemplul 3.2. Automatul genereaz a variat ii la ie sire f ar a s a se modice congurat ia de intrare. Denit ia 3.4 O evolut ie/traiectorie a automatului A este un sir de st ari nl ant uite q0 q1 . . . qi qi+1 . . ., iar starea q0 este starea init ial a a evolut iei. O evolut ie cu proprietatea: qi Q, Xi X, qi+1 g (qi , Xi ) este o evolut ie admisibil a Denit ia 3.5 Totalitatea st arilor din care poate porni automatul este mult imea st arilor init iale Q0 , Q0 Q In funct ie de cardinalul mult imii Q0 automatele pot : (3.10)

La un automat determinist din starea prezent a si pentru intrarea aplicat a se cunoa ste exact ie sirea precum si starea pentru tactul urm ator, pe c and la unul nedeterminist, starea urm atoare si ie sirea sunt cunoscute doar ca elemente care apart in P (Q), respectiv P (Y ) (vezi relat ia 3.4).

336

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

- automat cu o singur a stare init ial a Q0 Q, |Q0 | = 1 - automat cu mai multe st ari init iale Q0 Q, |Q0 | > 1 - automat neinit ial(toate st arile pot init iale), Q 0 = Q Intr-o stare init ial a nu se ajunge printr-o evolut ie generat a de congurat ii din mult imea semnalelor de intrare X ci printr-o alt a comand a exterioar a, de exemplu printr-o comand a de init ializare/reset sau prin conectarea la tensiune se genereaz a starea init ial a. Denit ia 3.6 O stare a automatului este considerat a inaccesibil a dac a oricare traiectorie n spat iul st arilor ce porne ste din st ari init iale nu o cont ine. Evident, se poate vorbi de st ari inaccesibile numai n cazul automatelor init iale |Q0 | 1. De exemplu, dac a pentru un automat cu trei bit i de stare z 2 z1 z0 pot exista opt st ari q0 , q1 , q2 , q3 , q4 , q5 , q6 , q7 , q8 , dar sunt denite numai cinci st ari, q0 q4 , n funct ionarea automatului atunci cele trei st ari, q 5 , q6 , si q7 sunt inaccesibile. Denit ia 3.7 Dou a st ari qi si qj sunt echivalente qi qj dac a pentru oricare congurat ie de intrare aplicat a X se genereaz a acelea si ie siri, iar st arile urm atoare 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)

In etapa de denire a funct ion arii unui automat se poate introduce informat ie redundant a care duce la un num ar total de st ari mai mare dec at num arul de st ari care poate descrie funct ionarea automatului. Dac a un grup de st ari se demonstreaz a c a sunt echivalente, toate st arile acelui grup sunt substituite printr-o singur a stare, astfel reduc andu-se num arul total de st ari ale automatului. Denit ia 3.8 Un semiautomat, SA, este denit prin tripletul: SA = (X, Q, g ) (3.12)

Prin not iunea de semiautomat se identic a n cadrul unui automat numai acea parte care este responsabil a pentru generarea st arii interne. Structural, semiautomatul se obt ine prin eliminarea din structura automatului a part ii care calculeaz a funct ia de transfer, f . Pentru cele patru organiz ari de automate reprezentate n Figura 3.8 sunt delimitate structurile care formeaz a semiautomatul, SA. Semiautomatul este format din partea de circuit combinat ional, CLC1, care calculeaz a funct ia g si registrul din calea de react ie. Unui semiautomat i se pot ata sa diferite p art i combinat ionale, CLC2, pentru diferite funct ii f , deci pe baza unui semiautomat se pot realiza mai multe automate. Dar si unui automat i se pot asocia diferite semiautomate. In proiectarea unui automat se porne ste de la denirea funct ion arii automatului adic a de la descrierea funct iei de transfer intrare-ie sire. Deoarece transferul intrare,, ie sire este dat, proiectantului i r am ane spat iu de manevr a doar n proiectarea si optimizarea semiautomatului. In funct ie de modul cum se calculeaz a funct ia de transfer f a automatului, exist a dou a tipuri de automate:Mealy si Moore.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 si Moore structurate pe baza unui semiautomat, SA: a,b) structurare fundamental a pentru automatele Mealy imediat si Mealy cu nt arziere; c,d) structurare fundamental a pentru automatele Moore imediat si Moore cu nt arziere. Denit ia 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 combinat ional a calculeaz a at at funct ia de transfer f c at si cea de tranzit ie g pe baza produsului cartezian X Q. Denit ia 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 funct ia de tranzit ie g se calculeaz a la fel ca la automatul Mealy, pe baza produsului cartezian X Q, pe c and funct ia de transfer f este calculat a doar pe baza st arii prezente Q. Ie sirea automatului Moore este dependent a de intrare doar prin intermediul tranzit iilor realizate n spat iul st arilor. Fiecare din aceste dou a tipuri de automate poate realizat cu funct ionare imediat a sau nt arziat a, Figura 3.8. Automatul Mealy imediat, Figura 3.8-a. Se observ a c a structura acestui automat se obt ine prin completarea semiautomatului SA cu CLC2 care calculeaz a ie sirea

338

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

Y (iT ) pe baza produsului cartezian dintre starea prezent a si intrarea prezent a Y (iT ) = f (X (iT ), q (iT )) Ie sirea Y (iT ) citit a nainte de consumarea perioadei de regim tranzitoriu va afectat a de hazard. Mai mult, dac a intrarea nu este sincronizat a,cum am considerat, ci se modic a asincron oric and n intervalul iT si (i + 1)T , aceste modic ari se simt n ie sire. Automatul Mealy cu n arziere, Figura 3.8-b. Completarea SA se face at at cu circuitul CLC2 pentru calculul funct iei de transfer, f , c at si cu un registru, Reg2, pentru memorarea ie sirii Y (iT ). Introducerea unui registru va face ca modic arile provocate n ie sirea Y (iT ) pe intervalul iT (i + 1)T , datorate regimului tranzitoriu, de la o intrare sincronizat a, sau datorate variat iilor intr arii, de la o intrare asincron a, sa nu mai poata ajunge la ie sire. Valoarea ie sirii este asignat a, doar n momentele de aplicare a frontului activ de ceas la Reg2, cu valoarea calculat a pe baza intr arii si st arii anterioare Y ((i + 1)T ) := f (X (iT ), q (iT )) deci ie sirea reect a intrarea cu o nt arziere de un tact. Automatul Moore imediat, Figura 3.8-c. Deoarece la acest automat ie sirea se calculeaz a ca funct ie numai de stare prezent a, relat ia 3.14, la SA se adaug a circuitul CLC2 care are ca intr ari doar starea prezent a. Deoarece n starea prezent a se reect a intrarea anterioar a si nu cea prezent a, ie sirea este nt arziat a cu un tact fat a de intrare(la fel ca la automatul Mealy cu nt arziere). Deci pentru intrarea prezent a se obt ine ie sirea numai peste un tact. Y ((i + 1)T ) := f (q ((i + 1)T )) = f (g (X (iT ), q (iT ))) De si se obt ine o izolare a ie sirii fat a de intrare, nu exist a doar CLC2 intre intrare si ie sire, totu si automatul Moore imediat poate genera hazard pe ie sire. Hazardul este generat de faptul c a circuitul CLC2 poate avea de la intrarea(ie sirea Reg1) p an a la ie sirea sa un num ar diferit de niveluri logice pentru ecare traseu de transfer. Foarte frecvent, la acest tip de automat se elimin a circuitul CLC2, ie sirea ind identic a cu starea Y Q (3.15)

ceea ce elimin a hazardul combinat ional din ie sire. Comportamental, un automat Moore imediat poate echivalent cu un automat Mealy cu nt arziere deoarece la ambele ie sirea calculat a pe baza st arii prezente si a intr arii prezente va asignat a la ie sire dar pe urm atorul front activ de ceas. Automatul Moore cu nt arziere, Figura 3.8-d. Pentru a se elimina posibilitatea de hazard pe ie sire de la automatul Moore imediat se adaug a pe ie sire un registru, Reg2, obt in andu-se automatul Moore cu nt arziere. La nt arzierea ie sirii fat a de intrare cu un tact de la Moore imediat, de data aceasta se mai introduce ,, nc a o nt arziere de un tact, deci automatul Moore cu nt arziere simte o intrare transferat a la ie sire cu o nt arziere de doua tacturi. Y ((i + 2)T ) := f (q ((i + 1)T )) = f (g (X (iT ), q (iT )))

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

339

O Clasicare Neclasic a a Circuitelor Digitale. Clasicarea clasic a a circuitelor digitale n dou a mare clase: circuite logice combinat ionale, CLC si circuite ,, logice secvent iale CLS este foarte nc ap atoare , prezent and o puternic a lips a de nuant are. In ecare din cele dou a clase sunt cuprinse at at circuite cu o denit ie simpl a c at si circuite cu o denit ie complex a, at at circuite nestructurate c at si circuite puternic structurate. Mai mult, dac a pentru circuitele combinat ionale se poate face o mapare direct a ntre ce vrem s a facem (funct ie) si cum vrem s a facem (structur a), la circuitele secvent iale aceast a mapare structur afunct ie nu totdeauna este biunivoc a. O tendint a de structurare a circuitelor a existat permanent n concept ia inginereasc a, at at pentru a realiza un suport de cuprindere si nt elegere dar si pentru modalit a tile de implementare dictate de tehnologie. In evolut ia sistemelor n natur a dar si n abordarea mental a a acestora este evident saltul care apare la trecerea de la sistemul deschis la sistemul nchis(cu react ie), adic a introducerea conexiunii de react ie. Un sistem cu react ie n raport cu cel deschis(f ar a react ie) poate c ap ata o anumit a autonomie fat a de intrare, o anumit a adaptabilitate. In funct ie de modul cum se structureaz a sistemul, baz andu-se pe react ie/react ii, acesta poate deveni chiar complet autonom fat a de intrare(vezi Denit ia 3.3 ), iar spectrul funct iilor realizate poate extins. Bazat pe not iunea de react ie, n extensiile structurate, profesorul Gh.S tefan [S tefan 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 react ie. 1. Extensia sistemelor digitale se face prin urm atoarele procedee: 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 react ie, Figura 3.9-d 2. Sistemul de ordinul zero, SO 0, este circuitul combinat ional, deoarece nu are nici o bucl a de react ie. Ordinul unui sistem poate de la 0 la n, respectiv notat

340

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

prin(SO 0, SO n) corespunz ator num arului de la 0 la n al buclelor de react ie care se includ una n alta. 3. Extensiile de tip a, b, c, ale unor sisteme ce au un ordin egal cu n, genereaz a tot un sistem de ordin n. 4. Extensia de tip d, (printr-o conexiune de react ie) ntr-o ret ea de sisteme ce cont in cel put in un sistem de ordin n, genereaz a un sitem de ordin n + 1. De exemplu, n aceast a sect iune s-a introdus not iunea de automat care se ncadreaz a n SO 2 deoarece cuprinde registrul de stare, care are o react ie n structura sa, deci este un SO 1, peste care se nchide nc a o bucl a(cea care transform a starea urm atoare calculat a n stare prezent a), deci dou a bucle de react ie. Utiliz and aceast a abordare de clasicare, implicit, se nt elege c a sistemele de ordin superior au o mai evident a sl abire a corespondent ei biunivoce, structur a-funct ie, n raport cu cele de ordin mai redus, pentru c a includ mai multe conexiuni de react ie. In aceast a lucrare se utilizeaz a totu si, clasicarea clasic a de circuite combinat ionale si circuite secvent iale, dar n cadrul circuitelor secvent iale pentru ecare grup de circuite se va indica si ordinul n care se ncadreaz a conform postul arii anterioare.

3.2.3

Modalit a ti de reprezentare ale automatelor

In capitolul doi, dup a denirea CLS, s-au prezentat modalit a ti de reprezentare ale funct iei de transfer intrare-ie sire, sectiunea 2.2. S i n acest capitol, dup a fundamentarea structur arii si funct ion arii unui CLS, se vor prezenta modalit a ti de reprezentare ale celor dou a funct ii f si g . De data aceasta sunt mai numeroase modalit a tile de reprezentare, dintre acestea vor expuse doar: Gracul de tranzit ie al st arilor, Tabelul de tranzit ie al st arilor, Diagrama de variat ie n timp a semnalelor, Organigrama ASM . Evident c a se va alege acea modalitate de reprezentare care duce la o m asur aa complexit a tii c at mai simpl a. Complexitatea, dup a cum s-a ar atat n Denit ia 2.1, poate apreciat a printr-o m arime asociat a dimensiunii denit iei. O variant a de estimare a complexit a tii unui CLS ar prin num arul total de bit i n produsul cartezian X Q. Pentru un automat cu n intr ari principale, k intr ari secundare si m ie siri se estimeaz a o masur a a complexit a tii aparente CA A (n, k ) O((n + k )2n+k ); 2n+k combinat ii(cuvinte) de intrare, ecare cuv ant cu lungimea de (n + k ) bit i), deci o valoare foarte ridicat a. S-ar putea estima complexitatea si numai dup a num arul de ie siri CAA (m) O(m). Din aceste dou a exprim ari rezult a, evident, c a un automat este cu at at mai simplu de denit cu c at produsul X Q este de dimensiune mai mic a. Dar aceast a complexitate aparent a trebuie interpretat a ca limit a superioar a deoarece complexitatea real a poate mult mai mic a. Complexitatea real a poate mult mai mic a pentru c a n funct ionarea automatului se poate identica o anumit a ordine a ascuns a, anumite regularit a ti n structurare ceea ce n nal determin a o simplicare n denit ie. Oricum, n implementarea unui automat se prefer a o cre stere a dimensiunii n contul unei sc aderi a complexit a tii. Un sistem de complexitate sc azut a si dimensiune ridicat a poate implementat, pe c and implementarea unui sistem de complexitate foarte ridicat a, e si de dimensiune sc azut a, poate greu implementabil.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

341

3.2.3.1

Graful de tranzit ie al st arilor

Pentru un CLS sincron graful de tranzit ie al st arilor (diagrama de tranzit ie a st arilor) este o reprezentare grac a a funct iei de tranzit ie a st arilor, g , si a funct iei de transfer intrare-ie sire, f , pentru toate congurat iile de intrare X . In acest graf ec arui nod (cerculet ) i este asignat a o stare, iar ecare arc orientat ntre cele dou a noduri reprezint a tranzit ia ntre cele dou a st ari. Pentru un automat Mealy pe un arc de tranzit ie se noteaz a expresia logic a a variabilelor de intrare(expresia logic aa tranzit iei) sau congurat ia valorilor variabilelor de intrare pentru care aceast a expresie este adevarat a, care va provoca tranzit ia respectiv a, precum si valoarea congurat iei de ie sire Y generat a de aceast a tranzit ie. Evident, tranzit ia st arilor pe acel arc se realizeaz a numai c and expresia logic a a tranzit iei scris a pe acel arc este adevarat a. Pentru un automat Moore, deoarece ie sirile sunt funct ii doar de starea prezent a, f : Q Y , pe arce nu sunt trecute congurat iile de ie sire Y generate de tranzit iile respective, congurat ia de ie sire este nscris a n cerculet ul st arii prezente din care se genereaz a ie sirea respectiv a, iar pe arce se nscrie doar expresia logic a a tranzit iei sau congurat ia valorilor variabilelor de intrare pentru care expresia logic a a tranzit iei 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 tranzit ie al st arilor: a) segment de graf pentru automat de tip Mealy; b) segment de graf pentru automat de tip Moore. La un automat, cu dou a intr ari x1 x0 si o ie sire y , tranzit ia din starea q0 n una din urm atoarele patru st ari posibile q1 , q2 , q3 , q4 , graful de tranzit ie este reprezentat n Figura 3.10-a, pentru o funct ionare de tip Mealy si n Figura 3.10-b, pentru o funct ionare de tip Moore. La graful de tip Mealy n noduri sunt nscrise numai st arile, iar pe ecare arc este trecut a expresia logic a a tranzit iei/valoarea congurat iei de ie sire; la graful de tip Moore n noduri, pe l ang a stare este nscris a si congurat ia de ie sire, iar pe ecare arc este trecut a doar expresia logic a a tranzit iei. Dac a la impulsul de ceas iT automatul ajunge n starea q 0 la cel de tip Moore se genereaz a ie sirea y = 1, iar la cel de tip Mealy n aceast a stare q 0 se genereaz a y = 1 numai dac a ii (00,10,11) se congurat ia de intrare este 01(xx0 = 1) pentru celelalte trei congurat genereaz a y = 0. La urm atorul impuls de ceas (i + 1)T se trece n starea urm atoare pentru care expresia logic a a variabilelor de intrare este adev arat a, de exemplu pentru n starea q3 (unde y = 0 pentru automatul Moore, valoarea 10(x1 x0 = 1) se trece

342

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

pentru y la automatul Mealy nu este precizat a deoarece din aceast a stare, n acest caz, nu mai este gurat nici un arc de tranzit ie la o alt a stare). Exemplul 3.3 Un automat cu dou a intr ari x1 , x0 si o singur a ie sire y , genereaz a ie sirea egal a cu 1 numai c and din sirul de succesiuni aplicate pe intrare se identic a secvent a 00, 00, 11, 10. Pentru acest automat s a se deseneze graful de tranzit ie al st arilor at at pentru o funct ionare de tip Mealy c at si pentru o funct ionare de tip Moore. Solut ie. In general, pentru aceste automate de recunoa stere, care pot considerate chei electronice, n elaborarea grafului de tranzit ie se urm are ste realizarea unei succesiuni de st ari care corespund aplic arii pe intrare tocmai a succesiunii c autate. Se porne ste dintr-o stare q0 , considerat a starea init ial 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 tranzit ie pentru automatul care identic a succesiunea 00 00 11 10: a) pentru un model Mealy cu marcarea pe arce a congurat iilor de intrare si ie sire; b) pentru un model Mealy dar cu nscrierea pe arce a expresiei logice a funct iei de tranzit ie; c) pentru un model Moore.
Pentru varianta de automat Mealy numai congurat ia x1 x0 = 00 corespunde nceputului identic arii succesiunii impuse, deci pentru aceasta se realizeaz a o tranzit ie n starea q 1 , gener andu-se ie sirea y = 0 iar pentru celelalte trei congurat ii pe intrare posibile se ram ane tot n q0 si y = 0, Figura 3.11-a. La fel, n q1 numai congurat ia x1 x0 = 00 produce tranzit ia n q2 si genereaz a y = 0, celelalte trei congurat ii produc tranzit ia n q0 de unde se poate ncepe de la cap at identicarea succesiunii impuse. In q2 intrarea potrivit a este x1 x0 = 11

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

343

care determin a tranzit ia n q3 si genereaz a y = 0; intrarea x1 x0 = 00 poate considerat a ca o a doua combinat ie de 00 din succesiunea impus a, dup a cea care a produs tranzit ia dintre q1 si q2 , deci determin a o tranzit ie tot n q2 . Celelalte doua congurat ii 10 si 01 nu se potrivesc succesiunii impuse, deci provoac a o tranzit ie n q0 pentru o reluare a identic arii de la nceput. In starea q3 congurat ia de intrare potrivit a este 10 care ncheie identicarea cu succes a succesiunii impuse si care realizeaz a o tranzit ie n q1 , pentru o eventual a nou a identicare, si se genereaz a y = 1. Dac a n q3 congurat ia aplicat a este 00 aceasta este considerat a ca prima congurat ie din succesiunea impus a deci salt n q1 si continuarea identic arii. Congurat iile 01 si 11 aplicate n q3 nu se potrivesc succesiunii impuse, deci salt n q0 cu y = 0 pentru, eventual, o nou a identicare. Acela si graf de tranzit ie al st arilor este prezentat n Figura 3.11-b, dar de data aceasta pe arce, n locul congurat iilor valorilor de intrare, sunt nscrise expresiile logice ale variabilelor de intrare care determin a tranzit iile respective. Graful de tranzit ie al st arilor pentru automat n varianta Moore, Figura 3.11-c, se construie ste exact, ca si pentru varianta Mealy, p an a n starea q3 . Din starea q3 la aplicarea congurat iei 10, care ncheie cu succes identicarea succesiunii impuse, este necesar a o tranzit ie n starea q4 n care se genereaz a ie sirea y = 1(ie sire dependent a doar de stare). Din starea q4 pentru congurat ia 00 se realizeaz a o tranzit ie n q1 (aceast a congurat ie 00 este considerat a ca ind prima din succesiunea impus a, deci se reia procesul de identicare), iar pentru 11, 10, 01 salt n q0 de unde se poate relua de la nceput procesul de cautare.

Construct ia unui graf de tranzit ie al st arilor trebuie s a e f ar a ambiguit a ti, ceea ce impune pentru expresiile de tranzit ie nscrise pe arcele care pornesc dintr-o stare s a e mutual exclusive si toate incluse. Tranzit iile sunt mutual exclusive dac a, dintr-o stare, pentru aceea si congurat ie a valorilor de intrare nu exist a simultan transferuri la dou a s-au mai multe st ari(exist a transfer pe un arc numai atunci c and expresia respectiv a de transfer are valoarea 1). Se poate verica dac a dintr-o stare nu exist a transferuri simultane, efectu and produsul logic ntre expresiile de transfer de pe c ate dou a arce de transfer care pornesc din starea respectiv a, aceste produse trebuie s a aib a totdeauna valoarea zero pentru oricare congurat ie a valorilor variabilelor de intrare. Pentru n arce care pornesc dintr-o stare num arul total de perechi pentru care se face produsul expresiilor de transfer este egal cu n(n 1)/2. Congurat iile valorilor de intrare testate, pentru care produsul logic al expresiilor de transfer de pe dou a arce are valoarea 1, sunt referite ca ind dublu acoperite (de dou a transferuri). Tranzit iile sunt toate incluse dac a suma logic a a expresiilor de pe arcele care pornesc dintr-o stare este totdeauna egal a cu 1 pentru oricare congurat ie a valorilor variabilelor de intrare testate; congurat iile de valori ale variabilelor de intrare testate pentru care aceast a sum a logic a este egal a cu zero sunt referite prin congurat ii neacoperite. Cu ajutorul unei diagrame V-K, de toate variabilele care se testeaz a n starea respectiv a, se pot determina congurat iile neacoperite precum si congurat iile dublu acoperite. Pentru aceea si funct ionare o implementare sub form a de automat Moore necesit a mai multe st ari dec at implementarea sub form a de automat Mealy, ceea ce s-a v azut si din Exemplul 3.3. In general, modelul Mealy este uzual pentru circuitele secvent iale sincrone, iar modelul Moore pentru circuitele asincrone. Graful de tranzit ie al st arilor/ie sirilor este un instrument portrivit pentru vericarea funct ion arii automatului.

344 3.2.3.2

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

Tabelul de tranzit ie al st arilor

Informat ia cont inut a n graful de tranzit ie al st arilor/ie sirilor poate transpus a ntr-o form a mult mai practic a pentru sinteza automatului tabelul de tranzit ie al st arilor( si ie sirilor). In tabelul de tranzit ie al st arilor exist a at atea linii c ate st ari destincte prezint a automatul si at atea coloane c ate cuvinte diferite se pot aplica la intrare. Un element al tabelului tranzit iilor, aat la intersect ia unei linii cu o coloan a, va reprezenta starea urm atoare/ie sirea a automatului obt inut a la tranzit ia din starea prezent a corespunz atoare acelei linii prin aplicarea la intrare a cuv antului de pe acea coloan a. Uneori, elementele tabelului cuprind numai starea urm atoare, pentru ie siri se ntocme ste un tabel de aceea si form a ale c arui elemente sunt ie sirile corespunz atoare denumit tabelul ie sirilor. Tabelul ie sirilor pentru automatul Moore se reduce doar la o singur a coloan a, av and at atea elemente c ate st ari distincte exist a(ie sirile sunt funct ii numai de starea prezent a). Tabelul de tranzit ie al st arilor, care este o reprezentare abstract a a automatului, permite o comparare sistematic a a st arilor pentru identicarea perechilor de st ari echivalente(vezi Denit ia 3.7 ) Exemplul 3.4 Pentru automatul reprezentat n cele dou a modele Mealy si Moore, n Figura 3.11, s a se construiasc a tabelele de tranzit ie ale st arilor/ie sirilor

Modelul Mealy Starea urmatoare Starea prezenta q0 q1 q2 q3 a) Intrari x1 x0 Iesirea y Intrari x1 x0

Modelul Moore Starea urmatoare Starea prezenta q0 q1 q2 q3 b) q4 Intrari x1 x0 00 01 11 10 q1 q0 q0 q0 q2 q0 q0 q0 q2 q0 q3 q0 q1 q0 q0 q4 q1 q0 q0 q0 0 0 0 0 1 Iesire y

00 01 11 10 00 01 11 10 q1 q0 q0 q0 q2 q0 q0 q0 q2 q0 q3 q0 q1 q0 q0 q0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Figura 3.12 Tabelele de tranzit ie/ie sire pentru modelul Mealy(a) si Moore(b) ale automatului cu grafurile de tranzit ie din gura 3.11.
Solut ie. Tabelul de tranzit ie pentru modelul Moore, Figura 3.12-a, prezint a patru linii corespunz atoare celor patru st ari q0 , q1 , q2 , q3 si patru coloane c ate una pentru ecare cuv ant de intrare 00, 01, 11, 10; la fel se construie ste si tabelul ie sirilor. Pentru modelul Moore, Figura 3.12-b, tabelul st arilor va avea cinci linii, deoarece exist a o stare n plus fat a de modelul Mealy, n schimb tabelul ie sirilor se reduce la o singur a coloan a.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

345

3.2.3.3

Diagrame de variat ie n timp ale semnalelor

Uneori funct ionarea automatului poate descris a prin variat ia n timp a semnalelor de intrare, de stare si de ie sire. De si sugestiv a, pentru dinamica automatului, ,, aceast a modalitate devine foarte stufoas a c and num arul acestor semnale este mare. Diagrama de semnale este protrivit a n general la automatele generatoare care depind minimal de intrare sau chiar de loc(funct ionare autonom a). Pornind de la diagrama de semnale, n care se identic a st arile automatului, se poate deduce tabelul de tranzit ie al st arilor/ie sirilor si apoi se poate construi graful de tranzit ie. Exemplul 3.5 Pentru automatul a c arui funct ionare este prezentat a prin variat ia n timp a semnalelor din Figura 3.13-a, s a se deduc a graful de tranzit ie al st arilor/ie sirilor.

CLK x z1 z2 y a)

1 0 1

2 0 1

3 1 1

4 0 1

5 1 1

6 0 0

7 0 0

8 0 1

9 1 1

Starea prezenta 00 01 11 10

0 01/0 01/0 01/0

1 00/0 11/1 00/0

00 01 11 10

q0 q1 q2 q3

1/0

q0 1/0

0/0 0/0 q2 1/1

q1 0/0

b)

c)

q3

Figura 3.13 Descrierea funct ion arii automatului prin diagrame de variat ie n timp ale semnalelor(a): b) tabelul de tranzit ie dedus din diagramele de semnal; c) graful de tranzit ie al st arilor/ie sirilor.
Solut ie. Automatul prezint a o singura intrare asincron a x, o ie sire y si dou a intr ari de stare, z1 , z0 , care pot realiza urm atoarele patru cuvinte de stare:00, 01, 11, 10. Din diagrama de semnale la ecare front activ de ceas pentru valoarea intr arii si a cuv antului de stare prezent a se poate deduce valoarea cuv antului st arii urm atoare precum si valoare ie sirii; deci pe baza acestor informat ii se poate completa tabelul de tranzit ie al st arilor/ie sirilor din Figura 3.13-b. Consider and pentru ecare din cele patru valori de cuv ant c ate o stare 00 q0 , 01 q1 , 11 q2 , 10 q3 se obt ine graful de tranzit ie al st arilor/ie sirilor din Figura 3.13-c. Se observ a c a s