You are on page 1of 613

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

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

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

4 1.6.2 Rejectia 1.6.2.1 1.6.2.2 1.6.2.3 1.6.2.4

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

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

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

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

2.6

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

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

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

3.6

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

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

Capitolul 1

PORTI LOGICE
1.1 SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

1.1.1

Axiomele i teoremele algebrei Booleene s

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

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

(1.1)

Tabelul 1.1 Operatorii booleeni; denitie i simboluri grace s


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

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

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

0 0 0 1
x y xy x +y

x y

x.y

x y

&

x.y

0 1 1 1

x y

x+y

x y

> 1 x+y

ANSI (American National Standard Institute)

CAPITOLUL 1. PORTI LOGICE

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

Forma cu operatorul produs ()

Forma cu operatorul sum (+) a

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

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

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

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


x+y =xy

10

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

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

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

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

x 0 0 1 1

y 0 1 0 1

x y 0 0 0 1 =

x +y 0 1 1 1

x+ x y 0 0 1 1

x (x +y) 0 0 1 1

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

CAPITOLUL 1. PORTI LOGICE

11

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

1.1.2

Algebre polivalente

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

Conjunctia

Disjunctia

Deplasarea ciclic a

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

12

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

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

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

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

CAPITOLUL 1. PORTI LOGICE

13

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

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

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

(1.3-a)

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

B B A 1) 1

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

(1.3-b)

A1

= A

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

14

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

1.1.3

Functii Booleene

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

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

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

= =

0 1

(1.6)

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

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

CAPITOLUL 1. PORTI LOGICE

15

x 0 1

f01 0 0 a)

f11 0 1

f21 1 0

f31 1 1 x

x "0" b) x d)

x c)

VCC x e)

"1"

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

16

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

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

CAPITOLUL 1. PORTI LOGICE

17

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

x0 x1 y1 x0 y0

x0

x 1x 0

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

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

c)

d)

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

18

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

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

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

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

f2553 1 1 1 1 1 1 1 1

CAPITOLUL 1. PORTI LOGICE

19

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

1.1.4

Forme canonice

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

NAND A B

A.B

A.B

NOR A B

20

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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


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

i 0 1 2 3 4 5 6 7

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

CAPITOLUL 1. PORTI LOGICE

21

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

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

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

b) di + Si =

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

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

di Pi

(1.10)

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

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

(di + Si )

(1.11)

22

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

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

(1.12)

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

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

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

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

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

(1.13)

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

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

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

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

(di + Si ) (di Pi )

(1.14-a)

b)

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

2n 1 i=0

(1.14-b)

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

CAPITOLUL 1. PORTI LOGICE

23

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

2n 1 i=0

(di Pi ) =

2n 1 i=0

(di + P i ) =

2n 1 i=0

(di + Si )

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

2n 1 i=0

(di + Si ) =

2n 1 i=0

(di S i ) =

2n 1 i=0

(di Pi )

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

24

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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


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

Ai 0 0 0 0 1 1 1 1

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

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

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

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

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

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

si (Ai , Bi , Ci1 ) =
0

(1, 2, 4, 7)

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

(1.15)

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

si (Ai , Bi , Ci1 )

=
i=0

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

= = =

CAPITOLUL 1. PORTI LOGICE

25

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

Ci (Ai , Bi , Ci1 )

=
i=0

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

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

Ci (Ai , Bi , Ci1 ) =
0

(0, 1, 2, 4)

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

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

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

C i (Ai , Bi , Ci1 )

=
0

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

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

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

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

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

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

26

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

1.1.5

Forme disjunctive i conjunctive s

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

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

CAPITOLUL 1. PORTI LOGICE

27

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

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

= = =

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

F (A, B, C)

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

(0, 2, 4, 5)

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

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

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

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

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE


A B C D A.B

F 1 = A. B + C. D

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

C .D c)

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

A B C D

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

d)

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

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

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

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

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

CAPITOLUL 1. PORTI LOGICE

29

AND

OR

NAND

NOR

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

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

A B C D

A F B C regula 2 D

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

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

A F B C regula 1 D

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

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

30

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

c)
regula 3 A B C D

a)
regula 3

A B C

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

b)

e)

F = (A+B). C+D

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

CAPITOLUL 1. PORTI LOGICE

31

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

1.2

POARTA LOGICA

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

32

1.2. POARTA LOGICA

Tabelul 1.7 Interpretarea operatorilor logici ca circuite poart a


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

A C

f A C

f A

f A C

f A C

f A C

C 0 1 1 1 1 1 1 0

0 0 0 1

1 0 0 0

0 1 1 0

1 0 0 1

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

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

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

INTR1 INTR2_L INTR3_L INTR4_L INTR5 a)

OUT_L

INTR1 INTR2_L INTR3_L INTR4_L INTR5 b)

OUT_L

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

CAPITOLUL 1. PORTI LOGICE

33

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

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

&
B 0 1 0 1 O 0 0 0 1

A B_L A 0 0 1 1

&
B_L O 0 1 0 1 0 0 1 0

A_L B A_L 0 0 1 1

&
B 0 1 0 1 O 0 1 0 0

A_L B_L

&

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

&
B 0 1 0 1

O_L O_L 1 1 1 0

A B_L

&

O_L

A_L B A_L 0 0 1 1

&
B 0 1 0 1

&

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

O_L 1 0 1 1

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

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

34

1.2. POARTA LOGICA

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

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

x x x a)

f1 f2

~ x

x x f=x b)

~ x

x x f= x c)

x
~ x y

y y

z z z

x x
x y z x y z x z

x y z
x y z x y z x z

x y f = x. y e)

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

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

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

CAPITOLUL 1. PORTI LOGICE

35

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

ID

A
UD +

K UD
G

A a) V CC
RC

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

V DD

V DD

Vin

c)

d)

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

36

1.2. POARTA LOGICA

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

V1 V2 V3

D1 D2 D3

R VO

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

V1 V2 0 0 0 1 1 1 0 1

VO 0 0 0 1

V1 V2 1 1 1 0 0 0 1 0

VO 1 1 1 0

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

a)

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

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

V1 V2 V3

D1 D2 D3

VO

R
Vref = 0V

b)

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

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

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

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

CAPITOLUL 1. PORTI LOGICE

37

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

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

38

1.2. POARTA LOGICA

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

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

R1

R1

R1

R1

x x y y

Matricea AND a)

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

CAPITOLUL 1. PORTI LOGICE

39

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

1.3

PARAMETRII PORTILOR LOGICE

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

40

1.3. PARAMETRII PORTILOR LOGICE

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

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

(1.18)

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

CAPITOLUL 1. PORTI LOGICE

41

V I1

V O1

sursa de zgomot

V I2 VI V V IH

V O2

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

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

MH

V IHmin V ILmax V IL

ML

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

caracteristica ideala V O=f(V I )

V O=V I

Zona interzisa prin valori garantate

Zona interzisa prin valori garantate

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

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

42

1.3. PARAMETRII PORTILOR LOGICE

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

(1.19-a)

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

(1.19-b)

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

CAPITOLUL 1. PORTI LOGICE

43

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

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

44

1.3. PARAMETRII PORTILOR LOGICE

VI

90% 50% 10%

V IH

r pHL
VO
90% 50% 10%

f pLH

V IL Tciclu

V OH

V OL Tciclu

HL
a) VI Tciclu V OL

LH

V OH

VO

pHL
V OH
50%

pLH

50%

V OL Tciclu

b)

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

CAPITOLUL 1. PORTI LOGICE

45

VO

vO t

G VO

vO C

vC VO 50% vC

t1 T

t2

t3

t t 1/2 T

a)

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

(1.21)

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

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

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

46

1.3. PARAMETRII PORTILOR LOGICE

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

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

V I V IHmin

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

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

CAPITOLUL 1. PORTI LOGICE

47

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

(1.22)

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

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

48

1.3. PARAMETRII PORTILOR LOGICE

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

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

p = pi +

pHL + pLH = 40ns 2

t 1 = 40ns 5ns = 35ns


2

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

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

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

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

CAPITOLUL 1. PORTI LOGICE

49

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

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

i2 RC dt = c

V2 = CC RC

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

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

(1.24)

50

1.3. PARAMETRII PORTILOR LOGICE

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

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

CAPITOLUL 1. PORTI LOGICE

51

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

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

52

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

1.4

PORTI LOGICE TEHNOLOGIA IN BIPOLARA

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

1.4.1

Inversorul bipolar

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

CAPITOLUL 1. PORTI LOGICE


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

53

Vin

a)

b)

Vin p+

RB n

10m

10m 5 m Vout

p E p+ B C VCC

c)

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

p+ p n p+

RC

n epitaxie (Colector)

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

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

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

VI

VO VOH = V CC PF1

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

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

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

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

CAPITOLUL 1. PORTI LOGICE

55

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


50%

V CC t3 RC C

vO

t1

f
t2

s
t4

r
t5 vI RB vO

"0"

d f s r

Valori comparative [ns] Tranzistorul: saturat cu DS

0,7 4,2 24 15

0,8 4,4 0,0 13

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

pLH
b) vI

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

c)
C DS

t t1 t3 E SiO 2

metalizare

B E

UCE E

cu DS fara DS t

vI

n+ p Baza Colector

n+ n DS

s
d) e) f)

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

56

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

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

1.4.2

Porti logice TTL

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

CAPITOLUL 1. PORTI LOGICE


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

57

R3 4

R3

R3 1,6K

R4 130 T4 D T2 F T3

D4 R2

T1 R2 1K

D4

D5 Circuit AND

Defazor

a)
VO 5 4 [V]

b)

c)

Etaj de iesire

V OH 3 2 1 V OL

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

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

interval VOH PF1 PF1 PF2

T1 saturat

T2 blocat

T3 blocat

T4 saturat

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

saturat

conduce

blocat

conduce

PF2 PF3

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

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

VI 5 [V]

PF3

d)

e)

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

58

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

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

CAPITOLUL 1. PORTI LOGICE

59

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

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

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

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

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

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

1.4.3

Porti pentru magistrale

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

60

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

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

V CC Linie de magistrala Poarta cu colectorul in gol

Poarta 2 R4 130 T4 D T3

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

T3

C Simbol

a)

b)

c)

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

CAPITOLUL 1. PORTI LOGICE

61

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

Poarta 1 T3

4K

ML

a)

b)

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

62 rezult a

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

Rmax

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

(1.26-a)

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

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

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

IRQ1_L Periferic 1

IRQ2_L Periferic 2

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

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

CAPITOLUL 1. PORTI LOGICE

63

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

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

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


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

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

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


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

64

1.4. PORTI LOGICE TEHNOLOGIA BIPOLARA IN

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

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

R1 4K

T1 E2

R2 1,6K T2

R4 130 T4 D1 D F T3

A OE_L

F +5V

E1

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

OE_L

R2 1K I

a)

b)

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

CAPITOLUL 1. PORTI LOGICE

65

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

MAGISTRALA

R1 (READ)

Transceiver #1

Transceiver #2

Transceiver #3

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

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

66

1.5. PORTI TEHNOLOGIA CMOS IN

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

1.5

PORTI TEHNOLOGIA CMOS IN

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

1.5.1
1.5.1.1

Tranzistorul MOSFET
Tehnologia de fabricatie a tranzistorului MOS

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

CAPITOLUL 1. PORTI LOGICE

67
Gravare uscata sau umeda

a) Fotorezist SiO2 (oxid) b)

SubstratSi

Fotorezist SiO2

SubstratSi

e)

SubstratSi

c) Masca Fotorezist

d 2 m W1 2m

W2 4m

3m

f)

SubstratSi

Ferestre pentru difuzie

Radiatie ultravioleta, UV SubstratSi g) W1 W2

SiO2 d)

SubstratSi

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

   

                   

Fotorezist SiO2 SiO2

68

1.5. PORTI TEHNOLOGIA CMOS IN

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

CAPITOLUL 1. PORTI LOGICE

Figura 1.31 Etapele tehnologia de realizare a unui tranzistor nMOS n

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


n+ n+ n+

bbcde fgfg

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

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

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

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

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

$%"#

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


SiO2 Strat de oxid de protectie n+ n+

oxid de camp

a) SiO2

SiO2

psubstrat, Si

Zona activa

f)

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


psubstrat, Si Ferestre pentru contactele metalizate

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

Strat de polisiliciu

Strat subtire de oxid

c)

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


Poarta(polisiliciu) psubstrat, Si

SiO2

d)

b)

psubstrat, Si

psubstrat, Si

i)

Contacte metalizate

           
V SS

7 7 7 67 67 67 6 6 6

Difuzie impuritati donoare pentru zonele de Sursa si Dren e)

       

     

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

n+

 

psubstrat, Si

Zone difuzate

V DD

psubstrat, Si Strat metalizat gravat

Strat metalizat

psubstrat, Si

poarta

Trasee metalice

69

70

1.5. PORTI TEHNOLOGIA CMOS IN

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

CAPITOLUL 1. PORTI LOGICE

71

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

72

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

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

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

CAPITOLUL 1. PORTI LOGICE

d) G b)

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

nMOS

canal W/L=60/6

canal W/L=6/0,6

pSubstrat,

V DS =V GS Vpn

Canal indus L

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

Si

G (Poarta)

V DS + D (Dren)

1.0 V DS [V]

S D 1.5 2.0 2.5 3.0 n+

DOX

I DS(sat) V GS Vpn

c)

SiO2

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

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

I DS(sat) (V GS Vpn)

pMOS

V DS =3,0V

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

W/L=60/6 (canal lung)

I DS(sat) (V GS Vpn) 2

V GS [V]

S D +

73

74

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

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

Q=C

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

(1.29)

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

CAPITOLUL 1. PORTI LOGICE

75

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

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

(1.33)

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

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

76

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

CAPITOLUL 1. PORTI LOGICE

77

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

78

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

CAPITOLUL 1. PORTI LOGICE

79

1.5.2

Inversorul CMOS

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

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

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


Dox s VDD s Vp s

Dox =

Dox s

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


Pd arie

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

VDD = VDD Vp = V p E =Es

Pd arie

Pd arie

Pd = s3 ( arie )

80 1.5.2.1

1.5. PORTI TEHNOLOGIA CMOS IN

Caracteristica static de transfer VO = f (VI ) a

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

(1.37)

(1.38)

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

(1.40)

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

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

CAPITOLUL 1. PORTI LOGICE

81

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


pMOS

I DS

nMOS

Vpp

0 V pn

V GS

nMOS

V O=V DSn

pMOS

a)

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

VO V DD

V DD 2

I DSn=IDSp

c)
V DD

V pp V DD

V pn

VIL V VIH T

VDD+Vpp V DD

VI V DD V DD

V DD

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

VO

VO

VO

VO

VO

Regiunea A

Regiunea B

Regiunea C

Regiunea D

Regiunea E

d)

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

82

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

(1.44)

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

(1.45)

+ Vpp )

1+

p n

(1.46)

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

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

CAPITOLUL 1. PORTI LOGICE

83

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

(1.47)

+ Vpn )

(1.48)

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

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

(1.50)

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

1 VDD 2
2

(1.51)

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

0, 5VDD + Vpp 0, 5VDD Vpn

(1.52)

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


W L n W L p

1.5. PORTI TEHNOLOGIA CMOS IN

n p

W L n W L p

(1.54)

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

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

(1.55)

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

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

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

CAPITOLUL 1. PORTI LOGICE

85

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

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

(1.60)

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

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

86
Si ia nal : n

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

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

(1.63-a)

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

CAPITOLUL 1. PORTI LOGICE

87

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

(1.63-b)

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

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

88
intrare

1.5. PORTI TEHNOLOGIA CMOS IN

a) Sectiune AA

V DD

PMOS

iesire

NMOS Iesire

V SS

n+

p+

p+

contact metalic V DD A n+

V DD

insula difuzata

p+

p+

b)

iesire n+ trasee metalice

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

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

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

substrat n

Intrare (polisiliciu)

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

Intrare (polisiliciu)

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

  {|

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


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


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


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

CAPITOLUL 1. PORTI LOGICE

Intrare

V DD

Gp

e)

Iesire

C n+

Gp

Poarta Sursa Sursa Poarta D D S Gp

nMOS pMOS Iesire Iesire

89

90

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

CAPITOLUL 1. PORTI LOGICE

91
V DD pMOS

V DD nMOS

C GSp S D

C SBp

vI

C GDp C GDn D

C DBp C DBn

vO

vI vI

iDp vO iC iDn nMOS CL

pMOS C GSn a)

S C SBn
C COX

C GB b)

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

92

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

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

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

CAPITOLUL 1. PORTI LOGICE

93

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

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


vO =1 vO =4 Wn Ln

1 1012 n 30 1016 Wn 4 L

n Cox

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

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

din care se obtine pentru canalul n

+ Vpp )

1+ iar raportul n /p se obtine ca ind

p n

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

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

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

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

94

1.5. PORTI TEHNOLOGIA CMOS IN

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

vO1 C L1

vO2 C L2 vO2

vO3 C L3 vO1

vO V OH

vO2

vO1 vO3

vO3

V 50%

V OL
pLH2 pLH3 pHL1 pHL2 pHL3 pLH1

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

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

1.5.3

Familia de porti logice CMOS

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

CAPITOLUL 1. PORTI LOGICE

95

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

=
echivalent i=0

W L

(1.75)
i

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


echivalent

1
k i=0 1

(1.76)

( )i
W L

1.5.3.1

Poarta NOR i NAND cu dou intrri s a a

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

VT (N OR2) =

(VDD |Vpp |)
p 4n

(1.77)

1+

96

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

T3 Insula n

T4

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

T1

T2

VO

A B Linie de difuzie n+

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

CAPITOLUL 1. PORTI LOGICE

97

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

T3 A

T4

2p VI VO

T3

T4

T2 T1 V SS

VO
n/2

Insula n VO

T1 V SS c)

T2

V SS b)

a)

Linie de difuzie n+

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

(VDD |Vpn |)
p n

(1.79)

1+2

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

98

1.5. PORTI TEHNOLOGIA CMOS IN

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

Wn V SS a)

Wn V SS

b)

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

1.5.3.2

Porti logice complexe

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

VO

Linii de difuzie

Wp

Wp

V DD

NOR

V DD

NAND

VO

CAPITOLUL 1. PORTI LOGICE

99

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

V DD D D

VO C

C VO

Z A B

a)

b)

c)

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

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

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

1.5. PORTI TEHNOLOGIA CMOS IN

V DD S D Z VO D D S nMOS

Drumul eulerian
EDABC

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

D S

D D

pMOS V ss

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

CAPITOLUL 1. PORTI LOGICE

101

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

a)

V SS V DD Reteaua Duala p VO

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

B1

B2

A3

b)

V SS

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

102

1.5. PORTI TEHNOLOGIA CMOS IN

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

Z n+ B C

D V SS Linia de difuzie n+

E V SS

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


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

1
1

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

+ 1

( W )B L

1 +( W L

= )C

1 30

1 + =

1 20

= 12

p,IN V

( W )D L =
1 15

+ 1

( W )E L
1 15

1 15

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

CAPITOLUL 1. PORTI LOGICE

103

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

Circuit de mentinere

a)

b)

e)
V DD T1 f=A T2

V SS EN A f

c)

d)

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

104

1.5. PORTI TEHNOLOGIA CMOS IN

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

CAPITOLUL 1. PORTI LOGICE

105

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

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

106

1.5. PORTI TEHNOLOGIA CMOS IN

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

HC

HCT

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

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

Factorul de merit

Pd p [pJ]

VOLmax [V] VOHmin [V]

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

CAPITOLUL 1. PORTI LOGICE

107

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

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

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

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

108

1.5. PORTI TEHNOLOGIA CMOS IN

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

CAPITOLUL 1. PORTI LOGICE


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

109

3.5 V

VIH

3.3 V

VCC

2.5 V

VT

2.4 V 2.0 V

VOH VIH VT VIL VOL GND

2.4 V 2.0 V 1.5 V

VOH VIH VT VIL VOL GND

2.5 V 2.0 V 1.7 V 1.2 V

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

1.5 V

VIL

1.5 V

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

0.8 V 0.4 V 0.0 V

0.7 V 0.4 V 0.0 V

Familiile 5 V CMOS

Familiile 5 V TTL

Familiile 3.3V LVTTL

Familiile 2.5 V CMOS

Familiile 1.8 V CMOS

a)

b)

c)

d)

e)

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

110

1.5. PORTI TEHNOLOGIA CMOS IN

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

a)

b)

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

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

nMOS

buffer TSL de tip TTL

nMOS

buffer TSL de tip TTL

c)

d)

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

CAPITOLUL 1. PORTI LOGICE

111

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

1.5.4

Poarta de transmisie CMOS

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

112
S A B A S B A

1.5. PORTI TEHNOLOGIA CMOS IN

S B S A

S B S

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

CAPITOLUL 1. PORTI LOGICE


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

113
vI vO VGS S CL I DS
p

Vpn

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

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

VDD

VDD Vpn VSS VSS VDD Vpn

VSS

b)

d)

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

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

"1"

a)

b)

S Transmisie "0" fara degradare

CL

c)

VSS

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

114

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

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

0 1 . . . 0 1

x1 x0 x1 x0 x1 x0 x1 x0

fi2 = dij P

(1.82)

CAPITOLUL 1. PORTI LOGICE

115

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

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

1.5.5

Circuite logice dinamice

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

x3 x3 x2 x2 x1 x1 x0 x0

I dc

A
1

B B B B f i2 (x,y)

y3 y2 y2 y1 y1 y0 y0

a)

A
2

A
3

c) b)

d)

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

116

1.5. PORTI TEHNOLOGIA CMOS IN

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

D G VGS =0 VI nMOS vx Cx T1

VDD canal initial S VO

VDD

CLK

Vpn 0

VGS

VI

vx

VO

CL

CLK

Cx

CL

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

b)

t t3

t t4

c)

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

CAPITOLUL 1. PORTI LOGICE

117

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

118

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

V2max = V DD Vpn1 Vpn2

V1max = V DD Vpn1

b)

Figura 1.55 Structuri de lanturi cu tranzistoare de trecere nMOS

CAPITOLUL 1. PORTI LOGICE

119

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

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

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

E C

F D

Cy

vO

Te VO

b)
Preincarcare VDD VSS Evaluare CLK Preincarcare

A B

G H

E C

F D

a)

VDD VSS

vO Tp Te Tp

Conduce:

c)

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

120

1.5. PORTI TEHNOLOGIA CMOS IN

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

1 Intr2

RETEA nMOS

RETEA nMOS

Te1

Te2

Poarta 1

Poarta 2

Poarta 1

Poarta 2

a)

b)

c)

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

CAPITOLUL 1. PORTI LOGICE

121

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

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

1.5. PORTI TEHNOLOGIA CMOS IN


VDD Tp1 Tm vy T1 T2 vO

CLK

Tp1

CLK

Retea nMOS

Te1

a)

Poarta 1

b)

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

CAPITOLUL 1. PORTI LOGICE

123

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

Tp1
O

CLK

Tp1
O

A B C D

A B C D

Te1 a) b)

Te1

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

1.5.6

Metoda efortului logic

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

124

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

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

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

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

CAPITOLUL 1. PORTI LOGICE

125

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

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

126

1.5. PORTI TEHNOLOGIA CMOS IN

V DD
2 unitati (de capacitate)

2
pMOS

C inv

nMOS

1 V SS

C inv
1 unitate (de capacitate)

C inv C inv = 2+1 = 3 unitati


(de capacitate)

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

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

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

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

=2

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

CAPITOLUL 1. PORTI LOGICE


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

127
4+1=5 I O,LH

2+1=3

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

I O,HL g= 4/3

C in=5 A B C in=5 1

I O,HL g= 5/3

2 I O,HL=I O,LH

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

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

c)
VDD 48
3/ I 5 O,LH

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

30

A B C in=60 12

12

3/ I 5 O,HL

30 I O,LH=I O,HL

d)

e)

f)

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

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

128 felul urmtor: n a gb =

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

CAPITOLUL 1. PORTI LOGICE

129

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

n=2 2 2 4 4

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

dabs= gh+ p

NA

SO
1 pinv 0 1

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

IN

ER

2 3 4 Efortul electric

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

130

1.5. PORTI TEHNOLOGIA CMOS IN

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

d x

d x x

a) x b)

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

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

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

CAPITOLUL 1. PORTI LOGICE

131

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

1.5.6.2

Calculul arzierii retelele de porti logice nt n

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

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

132

1.5. PORTI TEHNOLOGIA CMOS IN

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

A B C C B A

3 3 3 3 3 3

A B C C B A

3 3 3 3 3 3

A B C C B A

3 3 3 A 3 3 3 B C

3 3 3 3 3

B B

B A b)

V DD B B A
3

3 3

A B
3

3 3

C C

A 3

3 A

B
3

3 A

B
3

c)

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

CAPITOLUL 1. PORTI LOGICE

133

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

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

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

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

134

1.5. PORTI TEHNOLOGIA CMOS IN

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

(1.103)

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

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

Figura 1.65 Explicativ pentru exemplul 1.23 a


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

CAPITOLUL 1. PORTI LOGICE

135

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

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

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

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

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

1.5. PORTI TEHNOLOGIA CMOS IN

10 m (latime de poarta) x y z

20 m (latime de poarta)

a)

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


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

1.5.6.3

Alegerea numrului optim de niveluri pe un traseu a

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

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

CAPITOLUL 1. PORTI LOGICE

137

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

138

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

CAPITOLUL 1. PORTI LOGICE

139

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

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

+ 2pinv =

100 10(1 )

+ pinv

140

1.5. PORTI TEHNOLOGIA CMOS IN

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

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

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

a)

EN

Figura 1.68 Explicativ pentru exemplul 1.30 a

CAPITOLUL 1. PORTI LOGICE

141

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

+ 4pinv = 3

768 12(1 )

1 3

+ 3pinv

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

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

142

1.6. REJECTIA ZGOMOTELOR

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

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

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

1.6

REJECTIA ZGOMOTELOR

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

CAPITOLUL 1. PORTI LOGICE

143

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

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

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

144
vO V OH

1.6. REJECTIA ZGOMOTELOR

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

a)

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

CAPITOLUL 1. PORTI LOGICE

145
V DD D1 Intrare

V DD Pad R D1 D2 vI C Pad

R
V DD VT VT
2

Data Validare Iesire OE D (Data)


1

D2

T2 T1

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

Iesire

VT 1 1 0

Pad HZ 0 1 terminal de intrare terminal de iesire

b)

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

146

1.6. REJECTIA ZGOMOTELOR

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

CAPITOLUL 1. PORTI LOGICE

147

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

148

1.6. REJECTIA ZGOMOTELOR

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

1.6.1

Rejectia zgomotelor externe

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

CAPITOLUL 1. PORTI LOGICE


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

149

0.1 F

0.1 F

Masa A b) Emitator

Legaturi de masa cat mai apropiate

Cablu ecranat

Legaturi de masa cat mai apropiate

Masa B Receptor

Emitator Intrare date x x

Semnale pe linia diferentiala vz1

Zgomot indus pe linie

Receptor Iesire date

vz1 vzm

Masa A c)

Zgomot indus pe linia de masa

Masa B

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

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

150

1.6. REJECTIA ZGOMOTELOR

1.6.2

Rejectia zgomotelor interne

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

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

Circuit integrat

Masa Plan de alimentare Plan de masa

a)

Z Traseu de masa

Punct initial de masa

b)

Planuri pentru traseele de conexiuni

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

CAPITOLUL 1. PORTI LOGICE

151

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

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

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

152

1.6. REJECTIA ZGOMOTELOR

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

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

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

CAPITOLUL 1. PORTI LOGICE


Poarta emitatoare VG Zs I Poarta receptoare Zr Zr vr vt

153

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

Distanta

Capatul liniei

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

Tensiunea pe linie dupa o reflexie la capat pentru :

Zr>Zo

Capatul liniei

V Zr<Zo

A Poarta A (emitatoare) d)

B Poarta B (receptoare)

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

154 pot considerate ca linii gol). n

1.6. REJECTIA ZGOMOTELOR

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

v0 0,75V

0,93V 0,89V t

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

v2

2T

3T

4T

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

CAPITOLUL 1. PORTI LOGICE

155

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

156

1.6. REJECTIA ZGOMOTELOR

Poarta generatoare

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

Terminator Thevenin R Thev V Thev b) +

a) Poarta generatoare + Ri

c) V CC V CC R1 R R

R1

R2 d)

R2 e)

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

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

CAPITOLUL 1. PORTI LOGICE

157

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

158 1.6.2.3

1.6. REJECTIA ZGOMOTELOR

Zgomotul datorat cuplajului electromagnetic (diafonia)

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

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

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

Zo

CL 1 L M L

CL L Cm M L CL

CL L Cm

Zo

CL L L M L

V I2 2

ZI Poarta 4

Poarta 1 C m Poarta 3 Zo 3 CL V O3

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

Poarta 2

CL

ZI

Figura 1.76 Explicativ pentru procesul de generare a diafoniei a

CAPITOLUL 1. PORTI LOGICE

159

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

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

1.6. REJECTIA ZGOMOTELOR

V DD 2Zo Linie de vO magistrala Zo 2Zo

x(t)

3 p

x(t 3 p ) vB

vA tf vO
+ V + V

tr

V DD /2

V t

b)

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

1.6.2.4

Zgomotul datorit curentilor de alimentare a

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

CAPITOLUL 1. PORTI LOGICE

161

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

LH

HL

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

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

Cd =

(1.113)

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

162

1.6. REJECTIA ZGOMOTELOR

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

CAPITOLUL 1. PORTI LOGICE

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

id I dmax

max

rezult relatia a

td = 0

t d = HL / 2

t d = HL

td

did dtd

max

4CL VDD 2 HL

Introducnd valorile numerice se obtine a

Figura 1.79 Explicativ pentru Exemplul a 1.32

did dtd

max

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

4 100 1012 5 (5 109 )2

max

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

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

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

1.6. REJECTIA ZGOMOTELOR

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

A B y

A B y

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

CAPITOLUL 1. PORTI LOGICE

165

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

a)

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

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

C D

C B

A A A
_

B A

A
_

A a) b)

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

166

1.6. REJECTIA ZGOMOTELOR

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

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

R1 2K VA

A R2 10K VO

Cp a)

b)

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

CAPITOLUL 1. PORTI LOGICE

167

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

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

_ C

a)

b)

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

168

1.6. REJECTIA ZGOMOTELOR

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

G2 G4 y

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

PT

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

CAPITOLUL 1. PORTI LOGICE


VCC +5V R A B C R A B

169
VCC +5V

VCC +5V R A B C D a)

* * * *

* * *
b)

* * * *
c)

D E F G

C D E F G H

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

+5V

* 74LS01

Y Z

74LS01

a)

W X

74LS01 *

R1

R2

P Q R S T U V

b)


+5V D1

RI 3 D2 4

x y z

170

1.6. REJECTIA ZGOMOTELOR

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

g=1 p=1 C C b)

g=5/3 p=2
y 6C

a)

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

CAPITOLUL 1. PORTI LOGICE

171

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

Capitolul 2

CIRCUITE LOGICE COMBINATIONALE


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

2.1

CIRCUITUL LOGIC COMBINATIONAL

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

174

2.1. CIRCUITUL LOGIC COMBINATIONAL

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

175

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

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

CIRCUIT LOGIC
COMBINATIONAL (CLC)

ym1 ym2 yj y1 y0
b)

xn1 xn2 Y X xi x1 x0

CIRCUIT LOGIC
COMBINATIONAL (CLC)

cu iesiri multiple

cu o singura iesire

Nr 0 1 2

Intrari xi 0 0 0

x0 0 0 1

x1 0 1 0

y0 d00 d01 d02

y1 d10 d11 d12

yj dj0 dj1 dj2

Iesiri

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

y 22n1

2n2 2n1 c)

1 1

1 1

1 1

1 1

0 1

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

d j2n2 d j2n1 m functii

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

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

176

2.2. REPREZENTAREA CLC

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

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

2.2

REPREZENTAREA CIRCUITELOR LOGICE COMBINATIONALE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

177

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

2.2.1

Tabelul de adevr a

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

178

2.2. REPREZENTAREA CLC

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

1 + 0 +

0 + 1

0 + 0

0 + 0

1 + 1

1 + 0

0 Gray 1 1 Natural 1 b)
Binar

0 1

1 0

0 0

0 0

1 1

0 1

1 0

Gray a)

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

179

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

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

2.2. REPREZENTAREA CLC

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

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

G2 0 0 0 0 1 1 1 1 1 1

G1 0 0 1 1 1 1 0 0 0 0

G0 0 1 1 0 0 1 1 0 0 1

a) A B C D b) CONVERTOR
BCDEXCESS3

E3 E2 E1 E0

A B C D c)

CONVERTOR
BCDGRAY

G3 G2 G1 G0

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

181 A 0 B 0 f 0

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

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

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

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

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

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

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

f 0 0 D

0 1 D 1 D 0 1 D c) =

C+D

CD

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

182

2.2. REPREZENTAREA CLC

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

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

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

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

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

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

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

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

Figura 2.5 Tabelul de adevr pentru exemplul 2.2 a


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

2.2.2

Reprezentarea analitic a

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

183

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

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

fi 3 = = =

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

(2.4)

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


n

(2.5)

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

184

2.2. REPREZENTAREA CLC

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

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

fk i

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

fk i

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

185

Ci1 Ci1 Ci1 Ci1 Ci1 Ci1 Ci1 Ci1

0 1 1 0 1 0 0 1

0 Ci1 Ci1 0 Ci1 0 0 Ci1 Ci1

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

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

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

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

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

186

2.2. REPREZENTAREA CLC

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

2.2.3

Diagrama Veitch - Karnaugh

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

187

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

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

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

X1 01 S2 S6 S14 S10 X2

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

X2

11 S12 01 S8

n=6

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

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

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

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

X4 X5

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

P 37 P 36 X0

d)

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

188

2.2. REPREZENTAREA CLC

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

189

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

F =
0

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

sau sub forma FNC F =

15

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


0

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

190

2.2. REPREZENTAREA CLC

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

15

X 3X 2

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

15

01 11

X2

X3 10

a)

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

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

b)

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


15 15

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


0 0

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

191

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

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

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

192

2.2. REPREZENTAREA CLC

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

E3 =
0 15

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

E2 =
0 15

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

E1 =
0 15

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

E0 =
0

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

15 0

E3

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

15 0

E2

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

AB

AB

A 10 1 1 D A
15 0

A 10 1 D BC
15 0

BD E1

BCD

BD E0

BC

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

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

AB

AB

A 10 1 D CD CD

A 10 1 D D

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

193

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

2.2.3.2

Minimizare pe diagrame V-K cu variabile reziduu

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

194

2.2. REPREZENTAREA CLC

x0

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

x0 d1x 1 + d3x 1 d5x 1 + d7x 1

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

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

x1

d4

d5

d7

d6

x3

d12 d8

x2

d0

d1

d3

d2

x 1x 0 x2

x0

d0 d4

d1 d5

d13 d9 x0

d15 d11

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


d3 d7

x1

x 1x 0 x 3x 2

x0

d2 d6 d14 d10 x2

x1

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

195

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

a)

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

d)

e)

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

10

b)

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

B 1 0 C B 0 0 0 1 0

1 A

1 0 1 BC +

1 D+A 1

11

B 1

01

B A

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


A 1 D

01

11

10 A 1 D

0 A

1 A

D+DA 1

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

196

2.2. REPREZENTAREA CLC

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

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

2.2.3.3

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

197

00 01 A a) 11 10

d)

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

C+D CD

e)

CD

D ABD+ABD

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

$%

B 0 A 0 0

B 0 A 0 0

  

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

"#

 

1 0 0


0 1 0 0 D

CD AB 00

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

198

2.2. REPREZENTAREA CLC

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

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

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


15

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

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

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

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

199

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

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

2.2.4

Diagrama de decizie binar, BDD a

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

200

2.2. REPREZENTAREA CLC

AB

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

AB

C CD 00 01 11 10 1 1 1 1 1

AB

00 01 1 A 11 10 B A

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

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

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

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

b) F0 F1

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

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

1 1 1

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

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

23 23 23 23 BC BC TU TU BC BC VW

PQ

00

00

1 1

1 1 1

() ()

() ()

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

&' &'
1

F0

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

F2

F1 1

F2 1 1

1 1

1 1 1 B

1 1

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

201

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

202

2.2. REPREZENTAREA CLC

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

x1

y1

y1

x0

x0

x0

x0

y0 0 1 1 0 0 0

y0 1 1 0 0

y0 1 0 0 0

y0 1 0 0 0

y0 1 0 0 0

y0 1 0 0 1

y0 1 0 0 0

y0 1 1

a)
y1 x0 x0

b)
x1 y1 x0 x0
0 0 0

x1

1 0

y1

1 0

y1

1 0

x0 1

x0

x0

x0

y0 y0 y0 y0 1 0
1

y0 y0 y0 y0 0 1
1 0

y0 1

y0

y0

y0

c)

1
0 0

0 x1 1
0

d)

1
0

0 x1 1
1

x0

1 0

x0

1 1

y1

y1

y1 0
1

y1

y1 0 1

y1

x0 1 y0 1 1
1

y2 0

y 0 2 1 1

y0 0

f)

e)

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

203

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

2.2.5

Modaliti neformale de reprezentare at

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

Ci i

C0 0

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

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

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


DA

b) I1 #1

i<n
NU

C1

C2 O1

a)

O0

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

204

2.2. REPREZENTAREA CLC

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

205

xn1

xi

x2

x1

x0

X+1 a) X xn1 xi x2 x1 x0

X1 b) X xn1 xi x2 x1 x0

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

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

206
B3 B2 B1 B0 G3 G2 G1 G0

2.2. REPREZENTAREA CLC

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

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

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

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

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

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

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

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

B3

B2

B1

B0

G b) G

G3

G2

G1

G0

G3

G2

G1

G0

B c)

B3

B2

B1

B0

a)

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

207

x0 x1 a)

x0 +x1

b)

x0 x1 x2 x3 x4 x5 x6 x7 Paritate impara
IMPAR

Paritate para
IMPAR 0 1 1 0 0 1 1 0

0 IMPAR

IMPAR

c)

0 PAR

PAR
0 1 1 0

d)

PAR IMPAR

PAR

IMPAR
0 1 1 0

IMPAR PAR PAR

0 1 1 0

IMPAR PAR

PAR

0 0 1 1 0

e)

f)

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

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

208

2.2. REPREZENTAREA CLC

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

209

2.3

REALIZAREA CIRCUITELOR COMBINATIONALE

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

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

210

2.3. REALIZAREA CIRCUITELOR COMBINATIONALE

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

a)
A B C D

NANDAND

ANDNOR

ANDOR

NEGAT

A B C D

A B C D

A B C D

b)

NOROR

ORNAND

ORAND

NEGAT

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

211

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

212

2.3. REALIZAREA CIRCUITELOR COMBINATIONALE

A C D B A B C a)

C D B A B C b) a b

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

213

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

2.3.1

Hazardul static

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

214

2.3. REALIZAREA CIRCUITELOR COMBINATIONALE

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

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

hi hi hi hi hi
tL tL

tH tH

B AB A+B A+B

fg fg fg fg fg pq pq pq pq pq

bc de b d XY `a X `

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

215

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

B=1

p 2

a)

C=1

1 0 1 0 1 0 b)

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

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

rs

1 0

AB 3 AC 1 0

BC 0

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

A+A c) 1

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

AB

AC

3 BC (adaugat)

216

2.3. REALIZAREA CIRCUITELOR COMBINATIONALE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

217

A t p p t t t t

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

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

218

2.4. CLC PENTRU FUNCTII LOGICE

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

2.4

CIRCUITE COMBINATIONALE PENTRU FUNCTII LOGICE

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

2.4.1

Codicatorul

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

219

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

I0 I1 I2 I3 I4 I5 I6 I7 I8 I9

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

I4 I5 I6 I7 I8 I9

DEC

a)

b)
CV

c)

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

xy

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

Intrarea activata (cifra zecimala)

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

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

"1" "2" "3"

I1 I2 I3

vw tu

"0"

I0

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

220

2.4. CLC PENTRU FUNCTII LOGICE

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

2.4.2

Codicatorul prioritar, CDCP

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

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

CV

c)

b)

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

221

Y = log2 X

(2.10)

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

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

(2.11)

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

222

2.4. CLC PENTRU FUNCTII LOGICE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE


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

223

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

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

E_L

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

y3

y2

y1

y0

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

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

224

2.4. CLC PENTRU FUNCTII LOGICE

2.4.3

Decodicatorul, DCD

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

1 0 0 0 0

x 0 0 1 1

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

DCD 2:4 x1 I 1
O3

y3

DCD 1:2 x0 I
0

O2 y2

O1 O0

y1 y0

a)

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

x0 I 0

O1

y1 E_L y0

E_L

O0

I0

O1 O0 DCDE

b)

c)

d)

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

225

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

226
g=10/3 p=8 g=1 p=1

2.4. CLC PENTRU FUNCTII LOGICE

g=2 p=4

g=5/3 p=2

a) g=4/3 p=2 g=5/3 p=2 b) g=4/3 p=2 g=1 p=1

c)

Figura 2.29 Trei variante de structurarea unei porti AND cu opt intrri. a
Solutie. Se calculeaz efortul logic total ca produs dintre efortul logic de pe ecare a nivel (valorile se obtin din Tabelul 1.13) pentru ecare dintre cele trei variante i se obtine: s Ga = 10/3 1 = 3, 33; Gb = 2 5/3 = 3, 33; Gc = 4/3 4/3 4/3 1 = 2.96. Analiznd numai a dup efortul logic ar rezulta c varianta c ar cea mai rapid, dar arzierea depinde de a a a nt efortul total, F = GBH, i nu numai de efortul logic. Aplicnd relatia 1.102, pentru calculul s a arzierii minime D pe un traseu, rezult: nt a varianta a : varianta b : varianta c : D = 2(2, 33 H)1/2 + 9 = 2(2, 33 H)1/2 + 6 D D = 4(2, 96 H)1/4 + 7

care introducnd cele dou valori pentru H = 1 i pentru H = 12. Se obtin valorile: n a a s H=1 D = N F 1/N + P 12,65 9,65 12,25 H=12 D = N F 1/N + P 21,64 18,64 16,77

Varianta a b c

N F 1/N 3,65 3,65 5,25

P 9,0 6,0 7,0

N F 1/N 12,64 12,64 9,77

P 9,0 6,0 7,0

Deci pentru efortul electric H = 1 (Cin = 4, C0 = H Cin = 4) varianta b are arzierea nt cea mai mic, iar pentru H = 12 (Cin = 4, C0 = 12 4 = 48) varianta c are arzierea cea a nt mai mic. a Dimensionarea variantei c (H=12) : f = F 1/4 = (2, 96 12)1/4 = 2, 44. Pornind de la ultima poart (inversor) care are C0 = 12 4 = 48 uniti, rezult sarcina pentru nivelul a at a al treilea (NAND2), Cin4 = 48 1/2, 44 = 19, 66. Sarcina pentru nivelul al doilea (NOR2) este Cin3 = (19, 66 4/3)/2, 44 = 10, 73, iar sarcina pentru primul nivel (NAND2) Cin2 =

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

227

(10, 73 5/3)/2, 44 = 7, 33. nal, ca vericare, se poate calcula capacitatea de intrare In Cin = (7, 3 4/3)/2, 44 = 4. Dimensionarea variantei b (H=1) : f = F 1/2 = (3, 33 1)1/2 = 1, 83. Pornind de la ultima poart NAND2 care are sarcina C0 = H Cin = 1 4 = 4 rezult capacitatea de a a sarcin pentru primul nivel (NAND4), Cin2 = (4 5/3)/1, 83 = 3, 64 valoare care este mai a mic dect capacitatea de intrare la primul nivel Cin = 4. Aceast valoare subunitar pentru a a a a h1 = 3, 64/4 = 0, 91 apare datorit faptului c s-a egalizat efortul pe ecare nivel, iar nivelul a a unu are o poart care prezint un efort logic g1 = 2, rezut c h1 g1 = 0, 91 2 = 1, 82. a a a a Valorile capacitilor de intrare Ci , calculate pentru ecare nivel, se vor repartiza pe at dimensiunile portilor tranzistoarelor de intrare.

Din analiza structurii unui decodicator rezult: decodicatorul este structurat a pe un nivel AND, sau decodicarea este o functie logic AND (identicare a de cod/mintermi). Un DCDn:2n genereaz intern, i sunt disponibili la ieire, toti a s s cei 2n mintermi de n variabile. consecinta, un DCDn : 2n poate utilizat In pentru implementarea unei functii logice cu n variabile, dat sub forma a FND (sum de termeni canonici produs), deoarece genereaz toti termenii canonici a a produs de n variabile, iar nivelul OR al implementrii se adaug din exterior (o a a poart OR care colecteaz termenii canonici care au valoarea 1). O form disjuntiv a a a a FD, pentru implementare trebuie ai extins la o form FND (sum de termeni nt a a a canonici) deoarece la ieirea decodicatorului oricum sunt disponibili toti termenii s cononici produs. Circuitele decodicator, pe lng suportul de nivel AND implementarea funca a n iilor logice, poate modela i o functie aritmetic. Dac cuvntul de intrare X, cu t s a a a lungimea de n biti i cuvntul generat pe ieire Y , cu lungimea de 2 n biti, sunt s a s interpretate ca numere ntregi, exprimate binar natural, atunci n ntre aceste dou a numere exist relatia: a Y = 2X (2.14) adic, decodicatorul genereaz la ieire un numr care este egal cu doi la o putere a a s a egal cu numrul aplicat la intrare. Deoarece functia de exponentiere 2.14 este inversa a a functiei de logaritmare 2.10 se conrm armatia de la a nceputul acestui paragraf, aceea c: decodicarea i codicarea sunt ecare functia invers a celeilalte a s a (codifcarea este un nivel OR, iar decodicarea este un nivel AND). Identicarea de cod efectuat de decodicator se realizeaz pe un nivel AND. De a a exemplu, poarta AND care implementeaz produsul logic x 3 x2 x1 x0 este un identia cator pentru codul 1001 deoarece numai pentru acest cuvnt genereaz 1 pe ieire. a a s Pentru implementri se recomad, vezi sectiunea 2.3, operatorii negati, deci o poart a a a NAND loc de AND ceea ce n nseamn c ieirile decodicatorului sunt active 0 a a s n i nu 1 (Oi L). Dar ca identicator de cod poate utilizat i poarta NOR, care s n as genereaz la ieire 1 numai cnd intrrile sunt 0, deci fata de identicatorul de cod pe a s a a baza AND/NAND la cel pe baz de NOR intrrile sunt active 0 i nu 1 (I i L). a a n s n O organizare de decodicator, ca identicator de cod pe baz de NOR, este cea a cunoscut sub numele de decodicator Lyon-Schediwy [Sutherland 99]. La acest dea codicator toate ieirile sunt L afar de una, cea activ, care este H. O poart s n n a a n a NOR CMOS realizeaz cu uurinta ieirea L (prin tranzistoarele nMOS conectate a s s n paralel din ramura nspre VSS ), dar sunt diculti s genereze la ieire un nivel H at a s prin toate tranzistoarele pMOS nseriate din ramura conectat la V DD . Deoarece la a

228

2.4. CLC PENTRU FUNCTII LOGICE

V DD
4w 4w 2w 2w 2w 2w

w w w

w w

w w

x0 x0 x1 x1 x2 x2

O0

O1

O2

O3

O4

O5

O6

O7

Figura 2.30 Decodicator 3:8 tip Lyon-Schedwy (identicator de cod pe baz a de porti NOR).

acest codicator tot timpul numai o ieire este starea H, (deci toate celelalte retele s n de tip pMOS ale portilor NOR nu conduc) este posibil ca unele din tranzistoarele de tip pMOS s intre structura mai multor porti NOR, prin aceasta se reduce numrul a n a de tranzistoare. gura 2.30 este structurat, acest sens, un DCD3:8 care este comIn n pus din opt identicatoare de cod, opt porti NOR. Mai mult, pentru a asigura efort logic egal pentru cele trei semnale de intrare x 2 , x1 i x0 (negate i nenegate) limea s s at tranzistoarelor de canal nMOS este unitate iar limea celor cu canal pMOS este mai at mare de W (limea de canal) ori at nmultit cu puterile lui 2. Cu o astfel de structurare i cu tranzistoarele dimensionate acest mod, decodicatorul Lyone-Schediwy are s n performante de timp mult mai bune dect organizarea de codicator ca Figura a n 2.28-c la care, de fapt, ntr-o implementare poarta AND4 nu este un singur nivel ci este substituit printr-un arbore cu dou sau trei niveluri (Exemplul 2.12). a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

229

Exemplul 2.13 Celula sumator complet, a crei functionare este dat tabelul 1.6, a a n s se implementeze pe un circuit DCD3:8. a Solutie. Din Tabelul 1.6 prin sintez pe baz de 1, forma FCD, rezult: a a a
7 7

si =
0

(1, 2, 4, 7),

Ci =
0

(3, 5, 6, 7)

sau expresiile complementare:


7 7

si =
0

(0, 3, 5, 6),

Ci =
0

(0, 1, 2, 4)

Pentru implementare cu un DCD3:8, care genereaz toti cei opt mintermi de trei variabile, a va necesar doar s se adauge exterior nivelul de OR care colecteaz termenii ce au a n a valoarea 1. Se va face implementarea att pentru cazul cnd ieirile decodicatorului sunt a a s active H ct i L. aceste sens se vor transforma potrivit expresiile pentru si i Ci . n a s n In s 1. Implementare pe baz de DCD3:8 cu ieirile active H a s n a) Expresiile si i Ci se scriu: s si = P 1 + P 2 + P 4 + P 7 ; Ci = P 3 + P 5 + P 6 + P 7

Implementarea se reduce la colectarea mintermilor respectivi printr-o poart OR4, a adugat exterior, ca Figura 2.31-a. a a n n b) Uneori functia negat se sintetizeaz prin mai putini minterimi (nu este cazul pentru a a celula sumator complet) ceea ce poate constitui un avantaj, micorarea dimensiuni s portii adugate exterior. Expresiile pentru si i Ci se scriu a n s si = P 0 + P 3 + P 5 + P 6 s i = P 0 + P 3 + P 5 + P 6 Ci = P 0 + P 1 + P 2 + P 4 Ci = P 0 + P 1 + P 2 + P 4 pentru care corespunde implementarea din Figura 2.31-b. Colectarea mintermilor corespunztori se face printr-o poart NOR4 adugat exterior. a a a a n 2. Implementarea pe baz de DCD 3 : 8 cu ieirile active L a s n a) Expresile si i Ci devin: s si = P 1 + P 2 + P 4 + P 7 = P1 P2 P4 P7 Ci = P 3 + P 5 + P 6 + P 7 = P3 P5 P6 P7 Colectarea exterior a mintermilor corespunztori se face printr-o poart NAND4, n a a Figura 2.31-c. b) Expresiile negate pentru si i Ci se scriu sub forma: s si = P 0 + P 3 + P 5 + P 6 s i = P 0 + P 3 + P 5 + P 6 = P0 P3 P5 P6 Ci = P 0 + P 1 + P 2 + P 4 Ci = P 0 + P 1 + P 2 + P 4 = P0 P1 P2 P4 De data aceasta colectarea exterior a mintermilor se face printr-o poart AND4, n a Figura 2.31-d.

230
DCD 3:8

2.4. CLC PENTRU FUNCTII LOGICE


DCD 3:8

xi yi C i1 a)

22 21 20

O7 O6 O5 O4 O3 O2 O1 O0

Ci

xi yi C i1 b)

22 21 20

si

O7 O6 O5 O4 O3 O2 O1 O0

Ci

si

DCD 3:8

xi yi C i1 c)

22 21 20

O7 O6 O5 O4 O3 O2 O1 O0

DCD 3:8

Ci

xi yi C i1 d)

22 21 20

si

O7 O6 O5 O4 O3 O2 O1 O0

Ci

si

Figura 2.31 Implementarea celulei sumator complet pe un DCD3:8: a,b) pe decodicator cu ieiri active H; c,d) pe decodicator cu ieiri active L. s n s n

Anterior s-a structurat DCDn:2n cu adncimea constant (D(n) = 3), mod ina a n ductiv, pornind de la DCDE i porti AND adugnd succesiv cte un bit la cuvntul s a a a a de intrare i s-au obtinut caracteristicile de adncime i dimensiune exprimate prin s a s relatiile 2.13. Se poate face o structurare i denire a DCDn:2 n , pornind sens s n invers, divizndu-l ai dou DCDn/2:2 n/2 iar ieirile acestor decodicatoare sunt a nt n a s intrrile pe liniile i coloanele unei matrice format din 2 n/2 2n/2 porti AND2, a s a Figura 2.32. Cuvntul de intrare xn1 xn2 ...xn/2 xn/21 ...x1 x0 se separ dou a a n a semicuvinte, semicuvntul xn1 xn2 ... xn/2 va genera o ieire activ pe liniile maa s a tricei iar semicuvntul xn/21 ...x1 x0 va genera o ieire activ pe coloanele matricii, a s a consecinta poarta AND2 de la intersectia liniei i coloanei active va avea ieirea n s s 1, restul de 2n 1 porti vor avea ieirea zero. Aceast modalitate de decodicare s n a matriceal (decodicare bidimensional) se aplic i la decodicatoarele rezula a a s tate; ecare din cele dou decodicatoare DCDn/2:2 n/2 , unul pentru linii iar altul a pentru coloane, se structureaz la rndul su prin divizarea dou decodicatoare a a a n a DCDn/4 : 2n/4 unul pentru linii, altul pentru coloane i 2 n/2 porti AND2. Se continu s a aceast divizare cu doi, a ecrui decodicator, pn cnd se ajunge la ultimul nivel a a a a a de structurare compus din dou DCDE care comand o matrice de 4 porti AND2. a a Carecteristicile i denitia multiplexorului DCDn : 2 n structurat recursiv sunt date s [Stefan 00]. n Denitia 2.9 Un DCDn : 2n se structureaz prin divizare dou DCDn/2:2 n/2 a n a i o matrice de porti AND2, de dimensiunea 2n/2 2n/2 , ale cror intrri sunt toate s a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

231

DCD n/2:2n/2

x0 x1

I0 I1

O0 y0 y1 y
2n/2 1

O1

x n/21

2n/2

y 2n/2 +1

I n/21 O2n/2 1 y n/2 O0 I0 O1 O2n/2 1 DCD n/2:2n/2 I1 I n/21 x n/2+1 x n1


2n1

n/2

x n/2

Figura 2.32 Explicativ pentru denirea recursiv a unui DCDn:2n (dea a codicare bidimensional). a perechile de ieiri din cele dou decodicatoare. Cele dou DCDn/2:2 n/2 de asemenea s a a se structureaz prin divizare acelai mod. Procesul de divizare recursiv se oprete a n s a s cnd se ajunge la DCDE. a Dimensiunea denitiei pentru DCDn:2n este constant i independent de val a s a oarea lui n deci conform denitiei 2.1 decodicatorul nu este un circuit complex ci unul simplu, deci realizabil. Dar pentru a declara realizabilitatea circuitului trebuie luat considerare i dimensiunea sa. Cu valorile pentru decodicatorul elemena n s tar DDCD (1) = 2, SDCD (1) = 3 i innd cont c prin Denitia 2.9 dup ecare s t a a a divizare se genereaz dou DCDn/2 : 2n/2 i 2n porti AND2 se poate calcula dimena a s siunea SDCD (n) i adncimea DDCD (n) felul urmtor: s a n a SDCD (n) = 2 SDCD (n/2) + 2n 2 = = 2 [2 SDCD (n/4) + 2n/2 2] + 2n 2 = ... O(2n ) DDCD (n) = DDCD (n/2) + DAN D (2) = [DDCD (n/4) + 1] + 1 = ... O(log n) Comparnd caracteristicile acestei structuri (compus numai din DCD(1) i a a s AND2) cu cele alestructurii de adncime constant (compus numai din DCD(1) a a a i ANDn) se constat c dimensiunea a sczut de la O(n 2 n ) la O(2n ) iar adncimea s a a a a a crescut de la O(1) la O(log n) deci, teoretic, aceast structurare este mai uor realiza s abil schimb asigur performante de vitez mai sczute (Degradarea performantei a n a a a de vitez cu mai mult dect s-a micorat dimensiunea corespunde corelrii dintre S(n) a a s a i D(n), relatia 2.9). Dar, practic, pentru implementrile de tip VLSI un DCD cu s n a a adncimea constant, ca Figura 2.28-c, nu poate realizat, portile ANDn se struca a n tureaz cu porti mai simple sub form de arbore. De asemenea, i la structurarea prin a a s

232

2.4. CLC PENTRU FUNCTII LOGICE

divizri portile AND2 formeaz un arbore. Solutia de mediere ar structurare prin a a divizare a DCD(n), dar dup prima sau a dou divizare DCD(n/2) sau DCD(n/4) a a s e un decodicator de tip Lyon-Schedwy. a Decodicatoarele eciente din punct de vedere al timpului de propagare sunt necesare pentru adresarea memoriilor i pentru selectarea registrelor din bncile de registre s a ale microprocesoarelor. Structurile de decodicator pentru aceste aplicatii ajung s a aib o valoare de efort total de valori ridicate (vezi Exemplul 1.30). Dar aspectele a care trebuie luate considerare la proiectarea decodicatoarelor pentru astfel de n aplicatii sunt numeroase iar minimizarea efortului logic, pentru a obtine i o viteza, s nu este exclusiv. De exemplu, consideratiile de layout sunt importante deoarece ade sea decodicatorul trebuie s se a ncadreze suprafata repartizata pentru memorie, n suprafata sa poate limitat, deci iat o constrngere. De asemenea limitarea puterii a a a disipate, poate o alt constrgere important, de obicei un decodicator rapid poate a a a necesita o putere disipat ridicat sau prea multe tranzistoare. a a realizarea de sisteme pe placa cu circuite discrete pentru decodcatoarele In DCDn:2n , cu n intrri i 2n ieiri, referite i cu termenul decodicator/multiplexor, a s s s (vezi sectiunea 2.4.5) exist urmtoarele circuite MSI: 74xx138 - DCD3:8; 74xx139 a a 2 DCD2:4; 74xx154 - DCD4:16. Alte circuite decodicatoare pot s nu aib denite a a toate cele 2n cuvinte de n biti pe intrare sau pot s nu utilizeze toate cele 2 n ieiri a s cum este cazul urmtoarelor circuite integrate: 74xx42 - Decodicator din BCD a n zecimal; 74xx47 i 74xx49 - Decodicatoare din BCD pentru elemente de aaj cu 7 s s segmente (vezi Exemplul 2.14 ). 2.4.3.1 Convertorul de cod

Convertorul de cod este un circuit combinational care pentru un cuvnt de n biti a aplicat la intrare genereaz un cuvnt de m biti la ieire, deci circuitul realizeaz a a s a o aplicatie (mapare) ntre o multime a cuvintelor de intrare cu valori multimea n cuvintelor de ieire. Denirea acest mod a circuitului convertor de cod corespunde s n cu denitia dat sectiunea 2.1 circuitului combinational cu ieiri multiple i este a n s s reprezentat ca schema bloc in Figura 2.1-a. Rezult c oricare CLC cu ieiri multiple a a s este, fond, un convertor de cod (transcodor). n
Decodificator Iesiri=2 n=Intrari n:2n doar cate una (Nivel AND) singura activa Codificator (Nivel OR) Convertor de cod (ANDOR)

Figura 2.33 Organizarea de principiu pentru un convertor de cod. Structura unui convertor de cod const dintr-o a nseriere decodicator-codicator, adic dou nivele logice AND-OR, Figura 2.33. Codul de intrare de n biti este aplicat a a nivelului de decodicare AND rezultnd o singur ieire activ din cele 2 n . Aceast a a s a a ieire activat este aplicat ca o intrare pentru nivelul de codicare OR care genereaz s a a a un cuvnt de m biti pe ieire. De fapt, a s nserierea decodicator-codicator formeaz a un circuit cu cele dou niveluri logice necesare pentru modelarea oricrei functii logice a a sub form de sum de produse (AND-OR). a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

233

2.4.4

Multiplexorul

Circuitul multiplexor realizeaz primul rnd o functie de comunicatie prin sea n a lectarea oricrei linii de intrare Ii , dintr-un numr de 2n linii (I2n 1 , I2n 2 , ..., Ii , ...I1 , a a I0 ) i conectarea acesteia la o singur ieire, de unde, uneori, este referit ca circuit s a s selector. Functia de comunicatie selectarea realizat cu circuit multiplexor a este similar cu cea realizat de ctre un selector rotativ mecanic, Figura 2.34-a. Sea a a lectorul rotativ mecanic conecteaz la ieire, functie de pozitia contactului rotativ, a s n una dintre liniile de intrare. La circuitul multiplexor, cu 2 n intrri de date i o ieire, a s s reprezentat ca schema bloc Figura 2.34-b (notat prin MUX2 n :1), selectarea liniei n de intrare de date Ii , pentru conectarea acesteia la ieirea O, se face prin aplicarea s pe intrrile de selectare a indexului i exprimat ca numr binar natural (cuvnt a a n a de selectare). Evident, pentru a putea selecta toate intrrile numrul cuvintelor a a de selectare (Sn1 Sn2 ...Si ...S1 S0 ) distincte trebuie s e mai mare sau egal cu a a numrul total al intrrilor. general, circuitul MUX2n :1 pe lng cele 2n intrri de a a In a a a date i un cuvnt de selectare, cu lungimea minim de n biti, mai prezint i o intrare s a a as de validare E ( general activ stare L, E = E L). n a n Particulariznd MUX2n :1 la n = 2 se obtine multiplexorul cu patru ci de intrare a a (I3 , I2 , I1 , I0 ), selectabile cu un cuvnt de doi biti S1 , S0 , cu schema bloc i tabelul a s de adevr prezentate Figura 2.34-c i 2.34-d. Din tabelul de adevr a MUX4:1 se a n s a deduce urmtoarea functie logic a a y = E Ld3 x1 x0 + E Ld2 x1 x0 + E Ld1 x1 x0 + E Ld0 x1 x0 (2.15)

i este similar cu cea exprimat de relatia 1.82 sau 1.83. Aceast expresie este forma s a a a canonic normal disjunctiv pentru oricare dintre cele 16 functii de dou variabile. a a a a Structura circuitului MUX4:1 este cea din Figura 2.34-e. aceast structur se disIn a a tinge clar un circuit decodicator 2:4, ca cel din Figura 2.28-c, ale crui intrri x 1 , x0 a a sunt bitii cuvntului de selectare iar cele patru ieiri din portile AND sunt colectate a s dintr-un nivel OR. Se poate interpreta c cele patru porti AND ale decodicatorului, a prin intrrile de selectare i cea de validare E, selecteaz care din cele patru intrri a s a a de date (d3 , d2 , d1 , d0 ) este conectat la ieire prin nivelul adugat OR. a s a Un circuit DCD care este un nivel de AND, ce genereaz toti mintermii canonici a de n variabile, poate modela functii logice prin colectarea exterior prin porti OR n a termenilor canonici care au valoarea 1 pentru functia respectiv (vezi Exemplul a 2.13). Circuitul multiplexor, care este pe lng nivelul de AND i un nivel de OR a a s (intern), colecteaz interior toti mintermii canonici de cele n variabile de selectare, a n deci poate modela oricare functie de n variabile rezultnd astfel ca un circuit logic a universal. Valoarea 0 sau 1 a unui termen canonic P i exprimarea functiei se xeaz n a prin valoarea coecientului di aplicat pe intrarea de date Ii . Din structura MUX4:1, prin eliminarea intrrii de selectare x 1 , se obtine MUX2:1 a cu un singur bit de selectare x0 i dou intrri de date I1 , I0 , care este referit ca s a a multiplexorul elementar MUXE, Figura 2.34-f. Dac se consider intrarea de a a validare permanent activ (E L = 0) se constat c structura de MUXE este identic a a a a cu cea a celulei pentru implementarea recurent, sub form de arbore, a oricrei a a a functii logice dezvoltat recurent, Figura 2.6-a. Pornind de la structurarea MUX2:1 a i MUX4:1 se poate extinde structurarea la un MUX2n :1, care se compune dintrs un DCDn:2n cu adncime constant, similar ca structur cu cel din Figura 2.28-c, a a a

234
I0 I1 O I 2n2 I 2n1 a) Selectare Enable (E) b) d0 d1 d 2n2 d 2n1

2.4. CLC PENTRU FUNCTII LOGICE

I0 I1 Mux 2 n:1 I 2n2 I 2n1 O

d0 d1 d2 d3

I0 I1 I2 I3 E_L

MUX 4:1

E Sn1 S0 E_L Selectare c)

E S1 S0 X1 X0

d0 I 0
E_L

MUX 4:1 O y d0 I 0 d1 I 1
DCDE MUX 2:1

x1 x0 y 0

d1 I 1 d2 I2

y
O

0 0 0 d0 0 0 1 d1 0 1 0 d2 0 1 1 d3 d)

d3 I 3
S0

S1 e) E_L x 1

S0 x0 f)

E_L x 0

Figura 2.34 Multiplexorul, MUX: a) selectorul rotativ mecanic - analogul mecanic al multiplexorului; b) simbol de reprezentare pentru MUX2 n :1; c,d,e) schema bloc, tabelul de adevr i structura circuitului MUX4:1; f) structura multiplexorului a s elementar, MUX2:1. i o poart OR cu 2n intrri. DCDn:2n din cadrul MUX2n :1 se compune din n s a a decodicatoare elementare DCDE i 2n porti AND cu n + 1 intrri (n intrri de la s a a cuvntul de selectare, E i o intrare de date d i ). Pentru structurarea acest mod a a s n MUX2n : 1, referit multiplexor cu adnacime constant, se pot calcula caracteristicile a a a de dimensiune SM U X(n) i adncime: s a SM U X(n) = n SDCDE + 2n SAN D(n+1) + 1 SOR(2n ) = n 3 + 2n (n + 1) + 1 2n O(n 2n )

Adncimea are dou valori, prima pentru transferul pe traseul cuvnt de selectarea a a ieire care este de patru niveluri logice i a doua pe traseul de intrare de date I i la s s ieire care este de dou niveluri logice. Aceast diferenta trebuie luat considerare la s a a a n comanda multiplexorului dac semnalele pe intrrile de date i pe intrrile de selectare a a s a nu se aplic simultan, atunci este recomandat ca cele de selectare s e primele aplicate a a deoarece parcurg patru niveluri fata de dou pentru cele de date. De fapt, aceste a caracteristici de dimensiune i adncime sunt, teoretic, valori minime asimptotice. s a Practic, pentru n de valoare ridicat este dicil de realizat porti AND(n+1) i OR2 n a s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

235

pe un singur nivel logic; plus, mai ales tehnologia CMOS timpul de propagare n n depinde pregnant de arcare (vezi sectiunea 1.5.6). nc Denitia 2.10 Un MUX 2n :1, selectat prin cuvntul xn1 xn2 ...x1 x0 , se a structureaz dintr-un MUXE selectat cu xn1 i are ca intrri de date ieirile de la a s a s dou MUX2n1 :1 selectate prin cuvntul xn2 ...x1 x0 . Apoi, asupra celor dou mula a a tiplexoare MUX2n1 :1 se aplic acelai procedeu de structurare. Procedeul recursiv a s se oprete cnd se ajunge la MUX-uri selectate prin x 0 . s a Prin structurarea unui MUX2n :1, conforma Denitiei 2.10 , se obtine o retea arborescent de (2n 1)MUX2:1 avnd n niveluri, Figura 2.35-a. Structura aceasta a a de retea este identic cu structura arborescent pentru implementarea unei functii a a canonice normale disjunctive dezvoltate recurent din Figura 2.7. Cele 2 n intrri de a ,, date ale MUX2n :1 sunt intrrile multiplexoarele elementare frunze iar ieire este a n s ,, ieirea multiplexorului elementar rdcin ; se observ c transferul este pe trasee s a a a a a de la frunze nspre rdcin. Pe ecare traseu se parcurge acelai numr de MUXE. a a a s a Aceast structur recursiv a unui MUX2n :1 are urmtoarele caracteristici de dimena a a a siune i adncime: DM U X(n) O(n), SM U X(n) O(2n ). s a Implementarea logic a multiplexoarelor circuitele VLSI apare foarte simpl a n a cnd se utilizeaz elemente de trecere nMOS, porti de transmisie CMOS. Pornind a a de la functia sa de transmisie, multiplexorul, poate conceput din 2 n ramuri de transmisie care au un capt comun (ieirea) iar la cellalt capt al ecrei ramuri se a s a a a aplic data corespunztoare di care trebuie transmis. Fiecare ramur este compus a a a a a din n elemente de trecere nseriate (circuit AND) care va deschis doar pentru o a singur conguratie a bitilor din cuvntul de intrare x n1 xn2 ...x1 x0 . acest mod a a In de implementare, un multiplexor elementar este compus numai din dou ramuri pe a care exist cte un element de trecere, unul dintre acestea este comandat de x 0 iar a a cellalt de x0 , semnalele de comand ind generate de un DCDE. a a O astfel de structur de MUX4:1 implementat cu porti de transmisie este prezena a tat Figura 1.53-c. structura din aceast gur exist redundanta, ultimele a n In a a a s a dou porti, una pe ramura lui di0 i cealalt pe ramura lui di2 , au un terminal comun a (ieirea) i sunt comandate cu acelai semnal B, deci pot substituite printr-o singur s s s a poart (cele dou ramuri se unesc a a nainte de aceast poart i a a s mpreun prin aceast a a ajung la terminalul comun). Aceeai simplicare se poate face i cu portile comans s date de B de pe liniile di1 i di3 . Va rezulta o retea arborescent cu dou MUXE s a a In selectate de A, A urmate de un alt MUXE selectat de B, B. Figura 2.35-b este prezentat structurarea unui MUX8:1, sub form de retea arborescent din MUXE, a a a realizat cu tranzistoare de trecere nMOS. Se observ c acest circuit se obtine prin a a a maparea 1:1, cu MUXE cu tranzistoare de trecere, a structurii recurente MUX2 n :1, din Figura 2.35-a, prin particularizarea pentru n = 3. Implementrile sub form de a a retea arborescent sunt recomandate sistemele integrate de performanta ridicat a n a i de putere redus. Totui, pentru n de valoare ridicat timpul de propagare pe s a s a traseele de la frunze la rdcin devine foarte mare. lungul lungul unui traseu cu n a a a In tranzistoare de trecere arzierea este egal cu n 2 RC, unde RC este arzierea dat nt a nt a de reteaua echivalent a tranzistorului de trecere. a Denitia 2.10 structurarea prin recurenta s-a specicat cu un pas egal cu unu, In adic pentru cte un bit al cuvntului de selectare rezultnd ecare nivel numai a a a a n MUXE. Dar se poate face structurarea pe grupuri de biti din cuvntul de selectare, a de exemplu, dac se iau grupuri de cte doi sau trei biti rezult pentru nivelurile a a a

236

2.4. CLC PENTRU FUNCTII LOGICE

d0 d1 d2 d3

MUXE

I0 I1

MUXE MUXE

I0 I1 I0 I1 I0 I1 I0 I1

I0 I1

MUXE

I0 I1

MUXE MUXE

I0 I1

d 2n4 d 2n3 d2n2 d 2n1 a) d0 d1 d2 d3 d4 d5 d6 d7

MUXE MUXE

I0 I1 I0 I1

MUXE

I0 I1

MUXE MUXE

x0

x n3

x n2

x n1

MUXE

b) 1xCI 12 conectari

x0 2xCI 28 conectari

x1 2xCI 23 conectari

x2 2xCI 18 conectari

c)

Figura 2.35 Structurarea arborescent a unui multiplexor conform a Denitiei 2.10: a) MUX2n :1 structurat din 2n MUX2:1; b) MUX8:1 realizat cu tranzistoare de trecere; c) variante de structurare a MUX8:1 pe baz de MUX4:1 i a s MUX2:1

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

237

respective din reteaua arborescent MUX22 :1, MUX23 :1 loc de MUXE. Varianta a n aceasta de structurare arat posibilitatea de obtinere a multiplexoarelor de capacitate a mare din circuite multiplexoare de capacitate inferioar, de exemplu pe baza celor mai a utilizate practic MUX4:1 sau MUX8:1. Figura 2.35-c sunt prezentate variante n a In de compunere a unui MUX8:1 din altele de capaciti mai mici (4:1 i 2:1). Care at s variant este mai bun? Pentru a rspunde la aceast a a a a ntrebare trebuie introdus un criteriu de evaluare. Acest criteriu de evaluare ia considerare numrul de circuite n a integrate utilizate, CI (exist 4 MUX2:1/cip; 2 MUX4:1/cip;1 MUX8:1/cip;) a i costul( care poate proportional cu numrul de terminale/conectri). Numrul s a a a de terminale poate determina costul deoarece ecare terminal trebuie lipit sau este un punct de wrapare. Din cele patru variante de structurare ale MUX8:1/cip apare c pentru criteriul ales cea mai bun variant este un singur MUX8:1/cip i cea a a a s mai slab printr-o retea numai de MUX2:1. Dar s nu ne grbim, vom vedea c a a a a n unele implementri realizarea unui multiplexor de capacitate mai mare din circuite a de capacitate 2:1 poate cea mai avantajoas, vezi Exemplul 2.17. a Pentru implementrile de sisteme exist urmtoarele multiplexoare sub form de a a a a circuite integrate MSI: 74xx150 74xx151 74xx153 74xx157 2.4.4.1 1 1 2 4 MUX16:1 MUX8:1 MUX4:1, iar 74xx253 - 2 MUX4:1 are ieirea TSL s MUX2:1, iar 74xx257 - 2 MUX2:1 are ieirea TSL s

Aplicatii cu circuite multiplexoare

Circuitul multiplexor poate modela o functie de comunicatie, (a) selectare de date i o functie canonic normal disjunctiv, (b) implementare de functii logice. s a a a Aplicatiile cu circuite multiplexoare se reduc la realizarea acestor dou tipuri de a functii. a). Selectarea datelor. Circuitul MUX2n :1 poate utilizat pentru conversia paralel-serie a unui cuvnt de 2n biti. Bitii cuvntului de serializat se aplic pe a a a intrrile de date I2n 1 , I2n 2 , ..., Ii , ..., I1 , I0 , iar prin conguratia cuvntului de sea a lectare xn1 xn2 ...x1 x0 un bit de pe o anumit intrare de date este aplicat la ieire. a s Evident, serializarea bitilor cuvntului de date se poate realizare oricare secventa a n dorit. Dac este necesar serializarea succesiv a a a a ncepd cu I 0 pna la I2n 1 atunci n a secventele conguratiilor cuvntului de selectare sunt ordinea de cretere a nu a n s merelor naturale, care se pot obtine de la un numrtor modulo 2 n , iar pentru aceast aa a serializare sunt necesare 2n tacte de clock. Uneori arhitectura unui sistem apare un desen ca cel din Figura 2.36-a care simn bolizeaz transferul unor cuvinte cu lungimea de k biti de la sursele P 2n 1 , P2n 2 , ..., a Pi , ..., P1 , P0 (porturi surs) a ntr-un singur loc de destintie (care poate un port, o magistral etc.). Acest transfer poate inplementat cu k multiplexoare 2 n :1 puse a paralel, toate ind comandate de acelai cuvnt de selectare, Figura 2.36-b. Bitii n s a cuvntului de la portul Pi se aplic, cte unul, numai la intrarea de date I i de la a a a ecare dintre cele k multiplexoare, deci un port este legat la toate intrrile de date a cu acelai numr de la cele k multiplexoare. La aplicarea unui cuvnt de selectare i s a a totii bitii de pe intrrile de date Ii ale celor k multiplexoare sunt transferati la ieirile a s acestora, deci cuvntul cu lungimea de k biti din portul P i este transferat portul a n

238

2.4. CLC PENTRU FUNCTII LOGICE


MUX

2n porturi de intrare (kbiti)

0 2n:11 1 2n1
k1 0 2n:1 1

MUX

P0 P1 k k P 2n1 k a) V DD S 2n1 S 2n1 d 2n1 c)

k P0 P1 P 2n1 b)

0 n k 2 :1 1 2n1 Cuvantul de selectare comun pentru toate cele k x MUX 2 n:1 Ramura TSL, inversor

MUX

Port de iesire (kbiti)

x n1

x0

S1 linie de magistrala S1 d1

S0 S0 d0

Figura 2.36 Selectarea secvential a datalor: a) reprezentare simbolic a unui a a punct de selectare a datelor dintr-un sistem; b) selectarea unui port de intrare, dintrun numr de 2n porturi cu lungimea de k biti, i conectarea la un port de ieire prin a s s intermediul unui grup de kMUX2n :1; c) structur tehnologie CMOS de MUX2n :1 a n cu ieirea TSL pentru comanda unei linii de magistral. s a

de ieire Pentru implementrile VLSI cnd se lucreaz cu lungimi de cuvnd de 32, s a a a a 64 biti, deci tot attea multiplexoare puse paralel, arcarea electric a semnalelor a n nc a se selectare este foarte mare ceea ce implic o buerare, vezi Exemplul 1.28. a Pentru implementrile tehnologie CMOS o structur recomandat de multia n a a plexor inversor cu 2n ci este prezentat Figura 2.36-c, care se compune din ramuri a a n inversor TSL, Figura 1.46-c, toate conectate la o linie de magistral. Pentru semnale a de selectare ale ramurii i, Si Si = 01 (generate de un decodicator), att ramura n a ct i ramura p ale inversorului CMOS sunt blocate, deci ieirea la linia de magistral a s s a este starea HZ, iar pentru Si Si = 10 ramura este functionare normal de inn n a versor, data de intrare este transferat negat la magistral, d i . Efortul logic total al a a multiplexorului este 2n (4 + 4 )/(1 + ) = 4 2n , cu efortul logic pe o intrare de date (2 + 2 )/(1 + ) = 2; aceeai valoare 2 este i pentru o preche (S i Si ) de semnale de s s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

239

selectare. Rezult c efortul logic pe o intrare este constant i nu depinde de numrul a a s a de intrri, ceea ce ar sugera c se pot realiza multiplexoare rapide cu oricte linii a a a de intrare. Totui, cnd lungimea k a cuvintelor selectate este de valoare ridicat s a a a perechile de semnale de selectare Si Si necesit un efort ridicat (k MUX2n :1), desi aceasta nu are un efect de marirea arzierii pentru transferul datei d i . Cnd se iau nt a considerare i capacitile parazite se constat c aceast structur nu este rapid n s at a a a a a pentru un numr de intrri (ramuri inversor) ori ct de mare, general se limiteaz a a a n a la structura cu cel mult patru ramuri. Exemplul 2.14 S se structureze un sistem pentru aarea a dou cifre zecimale a s a a cror cod BCD este a nscris dou porturi A, B. Se vor utiliza elemente aoare cu 7 n a s segmente cu catodul comun.
Solutie.Pentru iluminarea unei cifre trebuie conectate simultan la tensiunea +V toti anozii LED-urilor (segmentelor) care congureaz caracterul iar catodul la mas, Figura 2.37. a a Conectarea simultan a segmentelor luminoase este realizat prin ieirile (a, b, c, d, e, f, g), a a s active H, ale unui convertor de cod BCD-7 segmente 7449. Deoarece se utilizeaz un singur n a decodicator 7449 pentru ambele elemente aoare este necesar ca informatia s e aplicat s a a alternativ cu o frecventa de minim 30Hz (T3,33ms) pentru ca, prin inertia ochiului, cifra s apar aat continuu. Pentru aplicarea alternativ, cu frecvent de 30Hz a continutului a a s a a a celor dou porturi surs A i B pe intrrile convertorului BCD-7 segmente, Tabelul 2.2, a a s a sectiunea 2.4.7, se utilizeaz 4MUX2:1 ca selector de date (circuitul 74157). Conectarea la a mas a catodului comun din ecare dintre cele dou aoare A i B se realizeaz printr-un a a s s a DCD2 : 4 (1/2 74139) cu ieirile active L i comandat sincron cu ieirea cuvintelor A i s n s s s B prin multiplexor. Sincronizarea este realizat cu semnalul de ceas CLK, care se aplic pe a a intrarea I0 a decodicatorului i pe intrarea comun de selectarea G1 a grupului de patru s a multiplexoare. Pe palierul pozitiv, CLK=1, se aeaz cuvntul din portul A iar pe palierul s a a CLK=0 se aeaz cuvntul din portul B. s a a

b). Implementarea functiilor logice. Circuitul multiplexor MUX2 n :1, prin structura sa, produce pe nivelul de AND (decodicator) toti termenii cononici produs de variabilele de selectare, ecare minterm Pi ind nmultit cu coecientul di respec tiv, iar prin nivelul interior de OR nsumeaz toate produsele obtinute, deci poate a modela orice functie de n variabile sub forma sa canonic normal disjunctiv, relatia a a a n 1.10. Un MUX2n :1 apare ca suport pentru implementarea tuturor celor 2 2 functii n de n variabile, particularizarea pentru o anumit functie f j se face prin aplicarea a pe intrarea de date a setului de 2n coecienti ai functiei, deci multiplexorul este un circuit universal pentru implementarea oricrei functii! Implementarea a functiei rezult ca o mapare direct a coecientilor functiei cititi din tabelul de adevr a a a sau diagrama V-K pe intrrile de date corespunztoare ale multiplexorului. Implea a mentarea functiei pe multiplexor nu necesit minimizarea acesteia, dimpotriv, dac a a a o functie este dat form redus/minim va trebui expandat pna la obtinerea a n a a a a a formei normale disjunctiv din care rezult care intrri de date ale multiplexorului a a a sunt 1 i care sunt 0 (adic valorile coecientilor functiei). s a Pentru implementarea celor 16 functii de dou variabile x 1 , x0 coecientii functiei a fi2 se citesc din Figura 1.2-a, e din relatia 1.82 (linia a i-a din matricea coecientilor) care se aplic unui MUX4:1, Figura 2.38. Din totalul de 16 MUX4:1, care modeleaz a a cele 16 functii, ase pot eliminate deoarece functiile pe care le modeleaz se reduc s a

240
4xMUX 2:1 DCD BCD / 7segmente

2.4. CLC PENTRU FUNCTII LOGICE

A0 A1 A2

G1 B0 B1 B2
1 0 1 0 1 0

+V
a b c d e f g

1 2

Y X

A3 1 0 B3 Port E A Port 74157 B Palier "1" selecteaza port A CLK T

4 W 8 7449

a b c d e f g

Afisor A a f g b

Afisor B a f g b

T<3,3ms O0 O1 O2 O3

Palier "0" selecteaza port B DCD 2:4 I0 I1 e d c e d c

E 1/2 74139

Figura 2.37 Structur pentru multiplexarea informatiei pe aoare cu 7 a s segmente.

la valori banale (0, 1, x1 , x0 , x1 , x0 ), existente sistem fr a mai necesar s e n aa a calculate. Dar, implementarea celor 16 functii de dou variabile poate efectuat con a a sidernd functii de o singur variabil x0 , iar variabila x1 variabil reziduu a a a a este introdus coecientii functiei. Coecientii functiei pot avea doar valori din a n multimea {0, 1, x1 , x1 }, valori care nu trebuie calculate, deoarece exist sistem. a n Avantajul practic al reducerii functiei la o functie de o singur variabil rezult printr a a a o implementare pe un circuit mai simplu, MUX2:1, Figura 2.39. Evident, i pentru s implementarea pe MUX2:1 cele ase valori banale (0, 1, x 1 , x0 , x1 , x0 ) ale functiilor de s dou variabile nu necesit multiplexoare. a a Pentru aceast implementare elegant a unei functii pe multiplexor, cnd n este a a a ridicat, rezult un multiplexor de capacitate mare. Exist dou modaliti de a a a a at reduce, eventual, capacitatea multiplexorului. primul rnd, se In a ncearc s se introa a duc mai multe variabile reziduu rezultnd o functie de mai putine variabile. Aceast a a a variant duce la simplicarea structurii numai atunci cnd coecientii obtinuti cu a a variabile reziduu au forme banale sau au expresii ce pot calculate cu porti sim ple AND/NAND, NOR/OR sau XOR/NXOR. Foarte important obtinerea unor n expresii simple pentru coecientii cu variabile reziduu este modul de alegere, dintre variabilele functiei, care s e varaibilele reziduu i care s e variabilele functiei de a s a ordin mai mic. Nu exist un algoritm care s exprime modul de alegere al variabilelor a a pentru o implementare optim. Pentru o implementare cvasioptim, sau optim, a a a intuitia i exercitiul proiectantului manipularea functiilor analitice, tabelelor de s n adevr sau diagramele V-K pot factori de succes. a al doilea rnd, se poate reduce capacitatea multiplexorului cnd, e pentru In a a functia exprimat prin variabile reziduu, e far, se descompune multiplexorul de a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

241
f 12
2

0 0 0 0

MUX 4:1 00 01 10 11

0 0 1 1

MUX 4:1 00 01 10 11

x1

0 1 0 1

MUX 4:1 00 01 10 11

x0

1 0 1 0

MUX 4:1 00 01 10 11

x0

1 1 0 0
2 f6 MUX 4:1 00

MUX 4:1 00 01 10 11

x1

1 1 1 1

MUX 4:1 00 01 10 11

x 1x 0

1 0 01 0 10 0 11

2 f8 MUX 4:1 00

x 1x 0

x 1+x 0 1 0 01 0 10 1 11

2 f9 MUX 4:1 00

x 1x 0

x 1+x 0 1 0 01 1 10 1 11

2 f 11 MUX 4:1 00

x 1x 0

x 1+x 0 1 1 01 0 10 1 11

2 f 13 MUX 4:1 00

x 1x 0

x 1x 0
MUX 4:1 00 01 10 11

f 14

x 1+x 0 1 1 1 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

Figura 2.38 Implementarea celor 16 functii de dou variabile pe circuite a MUX4:1. capacitate ridicat printr-o retea arborescent de multiplexoare de capacitate mai a a mic, uzual din MUXE. Analiznd ieirile acestor multiplexoare elementare, situate a a s la nivelul zero (nivelul frunzelor) sau la niveluri putin mai ridicate dect acesta, a se poate constata c unele dintre aceste niveluri produc valori banale sau functii a foarte simple, astfel se pot elimina multiplexoarele respective. Poate rezulta urma n analizei o structur hard cu mult mai simpl raport cu multiplexorul initial. Si a a n la implementarea pe structuri arborescente modul de alegere al variabilelor reziduu poate duce la simplicri hard importante. exemplele urmtoare se vor utiliza a In a toate aceste modaliti pentru implementare. at Exemplul 2.15 Urmtoarea functie a
31

f (A, B, C, D, E) =
0

(1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28)

s e implementat numai cu circuite MUX4:1. a a Solutie. Pentru a utiliza numai MUX4:1 functia se va transforma ca o functie de dou a variabile D, E cu coecienti care cuprind variabilele reziduu A, B, C. Aceti coecienti vor s i ei transformati at s e functii de dou variabile B, C iar variabila A introdus ca s nc a a a variabil reziduu. Rezult o structur de retea arborescent cu dou niveluri, pe nivelul a a a a a

10 forme nebanale

0 0 01 0 10 1 11

2 f1 MUX 4:1 00

x 1x 0

x 1x 0

0 0 01 1 10 0 11

2 f2 MUX 4:1 00

x 1x 0

x 1x 0

0 1 01 0 10 0 11

2 f4 MUX 4:1 00

x 1x 0

x 1x 0

x 1x 0

0 1 01 1 10 0 11

x 1+x 0 0 1 1 1 11

x 1x 0 2 f7 MUX 4:1 00 x 1+x 0 01 10

6 forme banale

f0

f3

f5

f 10

f 15

242
f0
2

2.4. CLC PENTRU FUNCTII LOGICE

0 0 0 1

MUX 2:1

1 0 1 1

MUX 2:1

0 0 1 1

MUX 2:1

x0

1 0 0 1

MUX 2:1

2:1 x 2:1 x x0 x 1 1 x1 0 1 0 x1 1 x1 1 2 f1 MUX 2:1

MUX

MUX

1 0 1 1

2 f7 MUX 2:1

x0

x 1+x 0 1 0 x1 1

2 f 11 MUX 2:1

x0

x 1+x 0 x 1 0 1 1

2 f 13 MUX 2:1

x0

x 1+x 0 1 0 x1 1

2 f 14 MUX 2:1

x0

x 1x 0

x1 0 x1 1

2 f9 MUX 2:1

x0

x 1+x 0

x0

x0

x0

x0

x0

Figura 2.39 Implmentarea celor 16 functii de dou variabile pe circuite a MUX2:1 (variabila x1 este introdus ca variabil reziduu coecientii a a n functiilor fi2 ).
,, zero (frunze ) multiplexoarele 4:1 vor selectate de variabilele B, C avnd ca i coecient a s pe intrrile de date valori din multimea {0, 1, A, A} iar pe nivelul unu un multiplexor 4:1 a selectat de variabilele D, E f (A, B, C, D, E) = P1 + P2 + P3 + P4 + P5 + P6 + P7 + P10 + P14 + P20 + P22 + P28 = ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + ABCDE+ +ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + ABCDE = = (ABC + ABC)DE + (ABC + ABC)DE + (ABC + ABC + ABC+ +ABC)DE + (ABC + ABC)DE = = (0 BC + 1 BC + 0 BC + A BC)DE+ +(A B C + A BC + 0 BC + 0 BC)DE+ +(A BC + A BC + 0 BC + 0 BC)DE

+(A BC + 1 BC + A BC + A BC)DE+ Aceast expresie este implementat Figura 2.40. Deoarece expresiile coecientilor a a n s produselor DE i DE sunt identice se va calcula cu un singur MUX4:1, nivelul zero, iar n rezultatul se aplic pe intrrile 01 i 11 ale multiplexorului din nivelul unu. a a s

Exemplul 2.16 Fie urmtoarea functie de 5 variabile a


31

f (A, B, C, D, E) =
0

(8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 31).

10 forme nebanale

x1 0 0 1

2 f8 MUX 2:1

x0

x0 x 1+x 0 0 0 x1 1

2 f4 MUX 2:1

x0

x 1x 0 x 1 0 0 1

2 f2 MUX 2:1

x0

x0

x 1x 0

0 0 x1 1

x 1x 0

x1 0 x1 1

f2 6 MUX 2:1

x0

x 1+x 0

6 forme banale

f 15

f5

f 10

f3

f 12

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

243

0 1 0 A A A 0 0 A 1 A A

MUX 4:1

00 01 10 11 00 01 10 11 00 01 10 11

MUX 4:1

MUX 4:1

00 O 01 10 11

f(A,B,C,D,E)

MUX 4:1

C
31

Figura 2.40 Implementarea printr-o structur arborescent numai cu a a MUX4:1 a functie F(A, B, C, D, E) =
0

(1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28).

S se implementeze utiliznd un numr minim de circuite integrate. Se presupune c sunt a a a a disponibile, la intrare, variabilele att negate ct i nenegate. a a s Solutie. Din diagrama V-K, Figura 2.41-a rezut forma minim a functiei a a f = AE + B C + BE = AE B C BE care se implementeaz ca Figura 2.41-b cu 3xNAND2 i 1xNAND3. Deoarece nu exist a n s a circuite integrate care s aib simultan ambele tipuri de porti se vor utiliza dout circuite a a a integrate: unul pentru 3xNAND2 i unul pentru 1xNAND3; pe ecare circuit rmnnd porti s a a a nefolosite. Deoarece forma minim obtinut nu mai apare variabila D se va implementa n a a continuare o functie numai de 4 variabile A, B, C, E. Pentru implementare pe multiplexor n forma minim se expandeaz la forma normal disjunctiv, operatie care este prezntat a a a a a n diagrama V-K din Figura 2.41-c. Implementarea pe un MUX16:1 se face direct prin maparea coecientilor din diagrama V-K pe intrrile de date. Dar se poate utiliza un MUX8:1 dac a a variabila A se va alege ca variabil reziduu, Figura 2.41-e (un singur circuit integrat). a Pentru implemntarea pe MUX4:1 trebuie introduse coecienti dou din variabile rezin a duu. Dar care variant, de cte dou perechi de variabile (o pereche de variabile pentru sea a a lectarea multiplexorului iar celalalt pereche de variabile introduse ca variabile reziduu), duce a la implementarea cea mai simpl? total cu cele patru variabile se pot realiza urmtoarele a In a ase variante de perechi distincte (prima pereche corespunde variabilelor reziduu iar a doua s variabilelor de selectare): V1 CE, AB; V2 AB, CE; V3 BE, AC; Pentru toate variantele, valorile coecientilor cu variabile reziduu se pot deduce din diagrama V-K din Figura 2.41-c. De exemplu, pentru varianta V1 (variabile de selectare AB) se procedeaz felul urmtor: a n a pentru suprafata AB = 00, toti mintermii din csutele elementare ale acestei suprafete a au valoarea 0, deci d0 = 0. V4 AC, BE; V5 BC, AE; V6 AE, BC

244

2.4. CLC PENTRU FUNCTII LOGICE

ABC 000 001 011 010 110 111 101 100 DE 0 4 24 28 12 8 20 16 00 1 1 01 11 10 a) AB CE 0 00 01 11 C 10 c) V CC A I0 I1 I2 I3 I4 I5 I6 I7 20 21 22 G


1 1 3 2 5 7 6 13 15 14

1 1

1 1 1

25 27 26

1 1 1

29 31 30

1 1

21 23 22

1 1

17 19 18

A E B C B E b)

AE BC BE f

1 1

11 10

BE 00
4

BC A 11
12

AE 10
8

01 1 1 1

1 1 1

13

1 E 1

A 0 0 1 1 B 0 0 1 1 d)

V1 B di 0 0 1 C+E 0 E 1 C+E V4 E di 0 0 1 A 0 C 1 1

C 0 0 1 1 A 0 0 1 1

15

11

V2 E di 0 B 1 A+B 0 0 1 A+B V5 E di 0 BC 1 B 0 BC 1 1

A 0 0 1 1 B 0 0 1 1

V3 C di 0 B 1 BE 0 B+E 1 E V6 C di 0 AE 1 AE 0 1 1 E

14

10

B 74S151

V CC 1I 0 1I 1 1I 2 1I 3 A C 2I 0 2I 1 2I 2 2I 3 20 21 1G 2G

74S153

f f

1O 2 x MUX 4:1

2O

E C B e)

MUX 8:1

E B f)

Figura 2.41 Modaliti de implementare a functiei f (A, B, C, D, E) = at


31

(8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 29, 31).
0

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

245

pentru suprafata AB = 01, mintermii din csutele elementare 4,5 i 7 cuprinse a s n interiorul acestei suprafete au valoarea 1. Acetia extrai din diagram prin scriere s s a mpreun functie de C, E rezut C AB + E AB = (C + E)AB deci d1 = C + E. a n a pentru suprafata AB = 11, numai mintermii din csutele 12,13 i 15 au valoarea 1, a s prin scrierea impreun a lor rezult CAB + EAB = (C + E)AB, deci d3 = C + E. a a pentru suprafata AB = 10, numai mintermii din csutele 9,11 au valoarea 1. Prin a scrierea impreun a lor rezult EAB, deci d2 = E. a a Valorile rezultate ale coecientilor cu variabile reziduu (C, E) sunt prezentate tabelul n V1 din Figura 2.41-d. mod asemntor se procedeaz i pentru celelalte cinci variante. In a a a s Analiznd tabelele tuturor variabilelor rezult c cea mai simpl form de implementare a a a a a corespunde lui V4 , coecientii sunt numai din multimea valorilor banale 0, 1, A, A, C, C. Im pelementarea pe circuitul 74S153 (2xMUX4:1) este prezentat Figura 2.41-f (un singur a n circuit integrat, dar un MUX4:1 din componenta sa rmne neutlizat). a a

Exemplul 2.17 Functia de patru variabile dat diagrama V-K din Figura 2.42-a a n s se implementeze pe un MUX8:1 structurat ca variantele din Figura 2.35-c. a n
CD AB 00 00 0 01 1 11 1 10 0 a)
(0) (4) (1) (5) (2) (6) (3) (7)

01 1 1 0 0

11

10 0

0 1 1 1

A variabila reziduu CD 00 01 11 10 B 0 0 0 A 1A A 1 1 1 A A A b) 2 x CI 11 conectari 0 (2) 00 0 (4) 01 1 (6) 10 11 1 A 3 (1) A 3 (3) A 3 (5) A 3 (7) 00 01 10 11
(0)

0 0 1 (4) 1 0 1 (6) A 3 (1) A 3 (5) A 3 (3) A 3 (7) c)


(2) 0 1 0 1 0 1

(0)

B B A A B
0 1 0 1

1 x CI 8 conectari B
0 1

1 x CI 7 conectari
0 1 0 1 0 1 0 1

C D 1 x CI 11 conectari 0 A 0 1 1 A A A f)
(0) (1) (2) (3) (4)

0 1 A A 0 1 A A d)

B A B A B 00 01 10 11 f

B 0 1 f

000 001 010 011 100 (5) 101 (6) 110 (7) 111 B C D

e)

Figura 2.42 Impelementarea unei functii de patru variabile pe diferite structurri de MUX8:1. a
Solutie. Functia de patru variabile pentru a implementat pe un MUX8:1 trebuie a exprimat cu o variabil reziduu, deci diagrama V-K din Figura 2.42-a este transformat a a a n diagrama V-K din Figura 2.42-b. Prin aceast transformare, pentru valorile indiferente ale a lui functiei se consider att 0 ct i 1 ceea ce determin dou valori ale coecientului a a a s a a n

246

2.4. CLC PENTRU FUNCTII LOGICE

unele csute elementare ale diagramei cu variabile reziduu. Pentru implementarea functiei a se va lua acea valoare a coecientului care duce la o structur de circuit mai simpl. a a Coecientii functiei din diagrama V-K cu varaibile reziduu se aplic pe intrrile struc a a turilor de MUX8:1. Coecientul functiei din csuta cu numrul i, exprimat binar, se a a n aplic pe intrarea de date notat cu numrul i ca Figura 2.42-f. Dar la o structur de a a a n a arbore intrarea a i-a este aceea la care parcurgnd un traseu de la frunz la rdcin irul a a a a as cifrelor binare, alnite la intrarea de date a ecrui multiplexor, formeaz tocmai numrul nt a a a i exprimat binar natural. De exemplu, Figura 2.42-c, la intrarea la care n n ncepe traseul prin a crei parcurgere se alnete irul de biti 1, 0, 1 se va aplica coecientul din csuta a nt s s a a cincea (5 = 101|2 ) din diagrama V-K, adic A. Pentru uurinta realizarea maprii, la a s n a intrrile multiplexoarelor, s-au a nscris, paranteze, i numrul zecimal al coordonatei n s a n csutei din diagrama V-K al crui coecient se aplic pe acea intrare de date. a a a Se observ c la retelele arborescente care contin multiplexoare 2:1 sau 4:1, uneori, a a se calculeaz valori banale, care oricum exist sistem i nu mai trebuie calculate, deci a a n s multiplexoarele respective se elimin. Efectund aceste eliminri i calculnd indicatorii a a a s a de ecienta (numrul de circuite integrate, CI i numrul de conectri) armatia de la a s a a Figura 2.35-c, c impelementrile cu multiplexoare de capacitate mai mare sunt mai eciente, a a este contrazis. Din implementrile din Figura 2.42 rezult c inplementrile pe retelele a a a a a arborescente, avnd multiplexoare de capacitate mic, sunt mai eciente. Aceast armatie a a a trebuie luate sub rezerva c obtinerea unei structuri simple depinde foarte mult de modul a potrivit de asignare a variabilelor reziduu.

Circuitul multiplexor prezint o limitare intrinsec termenii canonici produs, a a generati pe nivelul AND, sunt utilizati doar o singur dat (prin colectarea inte a a n rior la o poart OR). general, la implementarea unei functii costul implementrii, a In a mare parte, este determinat de generarea termenilor produs. Nu exist aceeai n a s situatie la decodicator/demultiplexor unde termenii produs, datorit faptului c a a sunt colectati exterior nivel OR, pot utilizati mai multe porti OR dac n n n a au un fan-out corespunztor, deci impelementarea mai multor functii. Solutia care a apare este cea a utilizrii a mpreun a multiplexorului cu decodicatorul. a
P 2(j1n) 1 DCD P0

Retea de porti OR

MUX 2 n:1

x j1

x n x n1 x 0

fi

Figura 2.43 Impelementarea unei functii fij pe o structur compus a a decodicator-multiplexor. Pentru o astfel de implementare combinat, decodicator-multiplexor, se cona sider o functie de j variabile fij . Se partajeaz variabilele n variabile ale functiei a a n

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

247

(xn1 , xn2 , ..., x1 , x0 ) i (j 1)n variabile reziduu (xj1 , xj2 , ..., xn+1 , xn ). Coes cientii de variabile reziduu sunt sume de produse de aceste variabile care se pot calcula cu un DCD(j 1 n):2(j1n) i o retea extern se porti OR, apoi aceti coecienti s a s sunt aplicati pe intrrile de date ale multiplexoarelor MUX2 n :1, Figura 2.43, la care a selectarea se face prin variabilele xn1 , xn2 , ..., x1 , x0 .

2.4.5

Demultiplexorul

Circuitul demultiplexor DMUX poate realiza o functie de comunicatie prin conec tarea unei linii de intrare I la oricare dintre liniile de ieire O 2n 1 , O2n 2 , ..., O1 , O0 . s Functia aceasta de comunicatiee distribuirea unei intrri la oricare din ieiri a s pe care o realizeaz un cirucuit DMUX poate efectuat i de un selector rotaa a s tiv mecanic, Figura 2.44-a. La distribuitorul mecanic selectarea ieirii, la care se s conecteaz intrarea, se face prin pozitia contactului rotativ, iar la circuitul demula tiplexor DMUX1:2n , cu o linie de intrare i 2n linii de ieire, printr-un cuvnt se s s a selectarea cu lungimea de n biti xn1 , xn2 , ..., x1 , x0 , Figura 2.44-b. Operatia de de multiplexare, distribuirea unei intrri la oricare din cele 2 n ieiri, apare ca o operatie a s invers multiplexrii (selectarea unei intrri din cele 2 n i conectarea la o singura a a a s ieire). s Particulariznd DMUX1:2n , pentru n = 2, se obtine demultiplexorul cu o sina gur cale de intrare E (activ L) i patru ci de ieire O 0 , O1 , O2 , O3 , comana a n s a s dat pe selectare prin cuvntul x1 x0 , a crui schem bloc i tabel de adevr sunt a a a s a prezentate Figura 2.44-c i 2.44-d. Din tabelul de adevr rezult expresia logic n s a a a y y pentru ecare ieire: y0 = E L1 y0 ; y1 = E L1 y0 ; y0 = E Ly1 y0 ; y0 = E Ly1 y0 s care corespund implementrii din Figura 2.44-e. Se pot da urmtoarele dou intera a a pretri: la ieirea Oi selectat de conguratia cuvntului de selectare se transmite a s a a a a a intrarea E L complementat (functia de comunicatie), sau dac se consider intrarea permanent activat E L = 0 ieirea Oi este activ cnd conguratia cuvntului de a s a a a selectare este Pi ; deci conform ultimei interpretri se pot genera la ieire toti cei patru a s mintermi P0 , P1 , P2 , P3 (functia de circuit logic). Ultima interpretare ne arat identi a tatea functionrii i identitatea structurrii, vezi sectiunea 2.4.3 i Figura 2.28-c, a s a s ntre decodicator i demultiplexor. s Se poate generaliza, un decodicator DMUX1:2n este un distribuitor al valorii s a a complementate E L la ieirea Oi , selectat prin cuvntul de selectare, iar un DCDn:2 n este un decodicator al cuvntului de selectare, cnd intrarea de validare este activat a a a E L = 0, Figura 2.44-b. Deci se poate scrie identitatea DMUX1:2 n (pentru E L = 0) DCDn:2n . Aceasta explic de ce pentru decodicare sau pentru demultiplexare a exist un singur circuit integrat referit cataloage ca decodicator/demultiplexor. a n Si, general, la acest circuit semnalul de validare se obtine printr-o conjunctie n ntre mai multe semnale de validare, unele active stare H altele stare L. Obtinerea n n validrii, din conjunctia mai multor semnale poate util a a ntr-un sisitem pentru c a se poate conditiona functionarea acelui sistem de realizarea (activarea) simultan a a mai multor semnale (conditii). De exemplu, circuitul decodicator/demultiplexor 74xx138 cu tabelul de adevr a i, cu simbolul de reprezentare date Figura 2.45 are trei intrri de validare, una G 1 s n a la care semnalul aplicat este activ stare H, iar celelalte dou G 2A i G2B la care n a s semnalele aplicate sunt active stare L. n

248
O0 O1 I Selectare E(Enable) a) O2n2 O 2n1 y 2n2 y2n1 b) y0 y1 E_L

2.4. CLC PENTRU FUNCTII LOGICE

E O 2n1 Sn1 S1S0 x n1 x1 x0 Selectare O0 y0 y2n1

E_L

O0 O1 E O 2 O3 S1 S0 x1 x0

DMUX 1:4

DMUX 1:2 n O0 O1

y0 y1

y0 y1 y2 y3

c)

E_L x 1x 0 Iesire 1 0 0 0 0 0 1 yi=0 y0=E_Lx 1x 0 y1=E_Lx 1x 0 y2=E_Lx 1x 0 y3=E_Lx 1x 0 x1 x0 E_L

O1 y1 O2 y2 O3 y3 DMUX 1:4 E_L

DMUX 1:2

O0 y0 O1 y1

0 1 0 0 1 1

DCDE x0 f)

d)

e)

Figura 2.44 Demultiplexorul, DMUX: a) distribuitorul rotativ mecanic analogul mecanic al demultiplexorului; b) simbol de reprezentare pentru DMUX1:2n ;c,d,e) simbol de reprezentare, tabel de adevr i structura circuitului pena s tru DMUX1:4; f) structura demultiplexorului elementar, DMUX1:2. Functionarea logic este direct o ieire este activ dac i numai dac validarea a a s a as a este activ i este aplicat cuvntul de selectare corespunztor. Astfel ecuatia logic, as a a a notatii de semnale interne din Figura 2.45-b, de exemplu pentru O 5 , se scrie uor: n s O5 = G1 G2A G2B S2 S1 S0
validare selectare

Dar innd cont de cerculetele de negatie, care indic faptul c semnalele exterioare t a a a corespunztoare sunt active L ( a n ntre semnalul exterior i cel interior circuit exist s n a a a n un inversor G2A = G2A L, G2B = G2B L), ecuatia logic anterioar se poate scrie functie de semnalele exterioare (aplicate sau generate) Y5 L = O5 = G1 G2A L G2B L x2 x1 x0 = 1 + G2A L + G2B L + x2 + x1 + x0 =G

acest caz, pentru o validare permanent, intrarea G 1 se concteaz la VCC iar In a a celelalte dou intrri G2A i G2B se conecteaz la mas. a a s a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

249

INTRARI G1G2A_L G2B_LS2 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 a)

S1 0 0 1 1 0 0 1 1

S0 0 1 0 1 0 1 0 1

O7 1 1 1 1 1 1 1 1 1 1 0

O6 1 1 1 1 1 1 1 1 1 0 1

O5 1 1 1 1 1 1 1 1 0 1 1

IESIRI O4 O3 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1

O2 1 1 1 1 1 0 1 1 1 1 1

O1 1 1 1 1 0 1 1 1 1 1 1

O0 1 1 1 0 1 1 1 1 1 1 1

74xx138 DCD 3:8 G1 G1 O0 G2A_L G2A O1 G2B_L G2B O2 O3 O4 S2 O5 x2 S1 O6 x1 S0 O7 x0 b)

y0_L y1_L y2_L y3_L y4_L y5_L y6_L y7_L

Figura 2.45 Circuitul 74xx138, DMUX1:8: a) tabelul de adevr; b) simbolul de a reprezentare. Din structura DMUX1:4, prin eliminarea intrrii de selectare x 1 , se obtine struca tura demultiplexorului elementar DMUXE, reprezentat Figura 2.44-f. Dar n de la DMUX1:4, prin extensie, se poate obtine i demultiplexorul cu 2 n ci de ieire s a s DMUX1:2n prin extindere la n a numrului de decodicatoare elementare i de asemea s nea prin extinderea la n a numrului de porti AND(n+1). Caracteristicile pentru a o astfel de structurare a DMUX1:2n sunt cele ale DCDn:2n adic o dimensiune a SDM U X(n) O(n2n ) i o adncime DDM U X(n) = 3 O(n). Adncimea, dup cum s a a a s-a analizat i la DCD, doar teoretic este 3, pentru c realitate o poart AND(n+1) s a n a nu poate structurat pe un singur nivel logic. a Dar un DMUX1:2n se poate deni (i proiecta) printr-o structurare recursiv de s a DMUXE; considernd de data aceasta c i ieirile sunt active stare L (pentru a a s s n a se putea comanda intrarea de validare a urmtorului DMUX fr a mai aduga a aa a inversoare). Denitia 2.11 Un DMUX1:2n , selectat prin cuvntul xn1 xn2 ...x1 x0 , se a structureaz dintr-un DMUXE selectat cu xn1 i ale crui ieiri comand intrrile a s a s a a a dou DMUX1:2n1 selectate prin cuvntul xn2 xn3 ...x1 x0 . Apoi, asupra celor a a dou DMUX1:2n1 se aplic acelai procedeu de structurare, procedeul recursiv de a a s structurare se oprete cnd se ajunge la DMUX-uri selectate prin x 0 . s a Prin modul de structurare, conform aceste denitii, Figura 2.46, se obtine o retea ,, arborescent de (2n 1)DMUXE distribuite pe n niveluri; pe nivelul zero frunze a ,, n/2 selectat prin x0 sunt 2 DMUXE iar pe nivelul n un singur DMUXE, rdcin , a a a selectat de xn1 . Aceast retea binar are o structurare semntoare cu cea obtinut a a a a a la structurarea MUX2n :1, dup Denitia 2.10 , diferenta const sensul de transfer a a n al datelor. La MUX2n :1 datele de intrare se aplic la frunze iar ieirea este prin a s rdcin, pe cnd la reteaua arborescent a DMUX1:2 n se aplic o singur dat de a a a a a a a a intrare la rdcin iar ieirea este prin frunze. Caracteristicile acestei structurri sunt: a a a s a dimensiunea SDM U X(n) O(2n ) iar adncimea DDM U X(n) O(n). a Acest mod de structurare iterativ (la fel ca la multiplexoare) se poate realiza a nu numai cu pasul un bit de selectare ci repartiznd pe un nivel q biti de selectare, a

250

2.4. CLC PENTRU FUNCTII LOGICE

x n1 x n2...x 1x 0

S0

E DMUXE O1 O0

E DMUX 1:2 n1 S0 O 2n1 O1 O0 Sn2 y 2n1 y 2n1+1 y 2n1

E DMUX 1:2 n1 S0 O 2n1 O1 O0 Sn2 y 2n11 y1 y0

Figura 2.46 Structura recurent a DMUX1:2n . a aceasta nseamn k niveluri i pe ecare nivel sunt DMUX1:2 q , n = kq. Modul acesta a s de structurare poate utilizat i pentru obtinerea unui DMUX1:2 n pe k niveluri din s circuite DMUX1:2q obtenabile comercial. Perechea format din cele dou circuite cu functii inverse, un MUX2 n :1 comand a a a (conectat printr-un singur r la) un DMUX1:2n poate utilizat pentru transferul a serial al continutului unui port surs, cu lungimea de 2 n biti, a ntr-un alt port destinatie de aceeai lungime. Bitii portului surs sunt aplicati la cele 2 n intrri de date ale s a a MUX2n :1, iar cele 2n ieiri ale DMUX1:2n sunt aplicate la intrrile portului destinatie. s a Ambele cuvinte de selectare sunt generate sincron de la un numrtor binar modulo aa 2n , deci pe duarata a 2n tacte de ceas aplicate numrtorului se efectueaz transferul aa a serial, bit-cu-bit din portul surs portul destinatie. a n

2.4.6

Memoria numai cu citire, ROM

Functia de memorare o posed acele circuite digitale care pot stoca ( a nmagazina) i regenera, la comand, informatia sub form de cuvnt. s a a a Organizarea logic a memorrii datelor, dar i cea pe suportul zic, este sub forma a a s unei matrice cu A-numr de linii (adrese) i D-numr de coloane, Figura 2.47a s a a. ecare nod al matricei poate stocat un bit. Se consider c pe ecare linie a In a a matricei este stocat informatia sub forma unui cuvnt cu lungimea D biti, de unde a a i termenul uzual de linie de cuvnt; numrul de biti ai cuvntului este egal cu s a a a numrul de coloane. Referirea la o linie de cuvnt se face prin adresa sa, care, a a n general, este numrul de ordine al liniei matricei. De exemplu, acest gur, la a n a a adresa 0 (prima linie) este stocat cuvntul de n biti D n1 Dn2 ...D1 D0 = 10...11, la a adresa 1 (linia a dou) cuvntul 11...01, iar la adresa 2 n 1 (ultima linie) cuvntul a a a 01...10. La activarea adresei unei linii de cuvnt se va genera la ieire, pe coloane a s linii de bit cuvntul care este a nscris ( locatia de) la adresa respectiv. n a Capacitatea memoriei, exprimat biti, rezult ca ind egal cu produsul A D. a n a a general, capacitatea memoriei se exprim numr de adrese In a n a nmultit cu lungimea cuvntului (1bit, un byte, un cuvnt) stocat la o locatie, de exemplu: 1Kbit (1Kadrese a a x1bit, 1K= 210 = 1024); 1Mbyte (1Madrese x1byte, 1 M= 220 ); 1Gcuvnt (1Gadrese a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

251

x1cuvnt, 1G= 230 ); lungimea D biti a cuvntului se specic sau se sub elege. a n a a nt Un circuit care, prin structura sa, poate s mapeze organizarea matriceal a a a datelor este circuitul ROM (Read Only Memory); acest circuit este un suport NUMAI pentru citirea datelor nscrise, nu i pentru modicarea ( s nscrierea) acestora. Referirea corect a circuitului este circuitul ROM i nu memoria ROM, totui ultima a s s sintagm s-a xat; consecinta, aceast carte se vor utiliza ambele exprimri. La a n n a a circuitul ROM stocarea informatiei este non-volatil deoarece la pierderea tensiunii a de alimentare informatia nu este pierdut. Nevolatilitatea informatiei se datoareaz a a faptului c suportul unui bit, a ntr-un nod al matricei, este prezenta sau absenta n acel nod a unei conexiuni (realizat printr-un: fuzibil, diod, sau tranzistor). Aceast a a a invaliditate a circuitului ROM de a nu putea nscris, cauzat de o structurare mai a simpl, este eliminat de ctre un alt circuit de memorie, RAM, prezentat sectiunea a a a n 3.6. Pentru un ciruit ROM organizarea logic de principiu este prezentat Figura a a n 2.47-b. Liniile de cuvnt ale matricei sunt ieirile de la DCDn:2 n , deci activarea unei a s locatii rezult urma aplicrii unui cuvnt de adres A n1 An2 ...A1 A0 la intrarea a n a a a decodicatorului. Cuvntul de date de la locatia adresat, a a nainte de a generat n exterior, de exemplu, pe o magistral, est buerat; cazul conectrii la o magistral a n a a buerele de ieire trebuie s e de tip TSL. Comanda buerelor TSL este realizat s a a prin conjunctia a dou semnale de comand CS L (Chip Select) i OE L (Output a a s Enable). Matricea memoriei prezint ecare nod o diod i are a n a s nscris acelai s continut ca i cel s nscris matricea de la gura Figura 2.47-a. Pentru un bit 1, n nscris ntr-un nod, dioda respectiv este conectat a a ntre linie i coloan, iar pentru s a un bit 0 nscris fuzibilul este ars acest nod, deci dioda nu realizeaz conexiunea n a ntre linie i coloan. Conform conexiunilor la diode, la activarea primei linii va s a citit cuvntul Dm1 Dm2 ...D1 D0 = 10...11 pentru linia a dou cuvntul 11...01, iar a a a pentru linia de adres 2n 1 cuvntul 01...10. a a Aplicatiile cu circuite ROM pot ncadrate dou grupe: a) aplicatii de tip n a aritmetic i b) aplicatii de tip logic. s a). Aplicatiile de tip aritmetic se reduc la implementarea unor tabele de date, LUT (Look-Up Table). LUT-ul este o reprezentare a unei functii prin valorile sale numerice, nscrise diferite locatii ale circuitului ROM. Adresa locatiei se determin n a prin conguratia binar a valorilor variabilelor de intrare ale functiei. Deci pentru o a anumit conguratie a variabilelor functiei adresa unei locatii din locatia rea spectiv se obtine, la ieirea circuitului ROM, cuvntul binar care reprezint valoarea a s a a functiei. b). Aplicatiile de tip logic se reduc la implementarea unei functii logice n general cu ieiri multiple pe cele dou niveluri AND i OR ale circuitului ROM, s a s deci acesta este un circuit combinational. structura matricei o linie de bit, prin diodele conectate la rezistenta R, conIn stituie un circuit max, ca cel din Figura 1.11-b, care logic pozitiv este o poart n a a a OR. Aceast poarta OR, de fapt, colecteaz la intrarea buerului de ieire acele a a s ieiri ale DCDn:2n la care exist diod cu fuzibilul nears, adic s a a a nsumeaz logic a unii din termenii canonici de variabilele An1 , An2 , ..., A1 , A0 . De exemplu, linia de bit D1 realizeaz valoarea functiei logice care a nsumeaz mintermii 1 P 0 + 0 P1 + a ... + 1 P2n 1 . Dac se privete circuitul ROM ca un CLC cu ieiri multiple atunci a s s acesta este un convertor de cod (transcodor), pentru o conguratie a cuvntului de a

252

2.4. CLC PENTRU FUNCTII LOGICE

Adresa 0 Linii de cuvant (locatii) 1 1 0 1 1 1 1 0 1

DCD n:2n O0 A0 I0 A1 O1 I1 A n1 I n1 O2n1 R R R R

Poarta OR

2n1

0 1

1 0 D1 D0 b)

Dm1 Dm2 a)

m coloane de date (linii de bit)

CS_L OE_L

Dm1 Dm2 D1 Cuvant de date D0 D1 Dm1 P A 0 A1 A n1 WRITE READ c) Magistrala de adresare Magistrala de control Magistrala de date d) t1 t2 Adresa nu este definita AA READ Bitii cuvantului de adresa sunt stabili pe magistrala de adresare D0 D1 Dm1 (2 nm) ROM A0 A1 A n1 CS OE

D0

Magistrala de date

Magistrala de adresare

Datele de la locatia adresata sunt valide pe magistrala de date t3

Figura 2.47 Memoria numai cu citire, ROM: a) structurare matricial, de a principiu, pentru informatia sub form de cuvinte binare; b) structurarea matriceal a a a unui circuit ROM; c) conectarea la magistralele P a unui circuit ROM; d) diagramele de timp ale semnalelor de control pentru efectuarea operatiei de citire.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

253

de intrare, An1 , An2 , ..., A1 , A0 , se genereaz o conguratie a cuvntului de ieire, a a s Dm1 , Dm2 , ..., D1 , D0 , care, de fapt, realizeaz o dependenta intrare ieire ca cira s cuitul cu schema de principiu din Figura 2.33. La fel ca i multiplexorul circuitul ROM este un circuit logic universal pentru c s a prezint att nivelul de AND ct i nivelul de OR dar, spre deosebire de multiplexor, la a a a s ROM nivelul de OR este programabil i poate un circuit cu ieiri multiple (genereaz s s a un cuvnt de date). ROM-ul avnd posibilitatea de a programat, pe nivelul de a a OR (codicator), poate mai ecient folosit, adic toti cei 2 n maxtermi generati a pe nivelul de AND (decodicator) pot utilizati pentru implementarea mai multor functii i nu numai pentru una singur ca la multiplexor. Functia de implementat nu s a trebuie minimizat deoarece nivelul decodicator produce toti cei 2 n termeni canonici. a Implementarea unei functii se face prin maparea direct a tabelului de adevr pe a a matricea OR programabil a ROM-ului; pe linia de bit (coloana) alocat functiei a a respective pentru termenii canonici care au valoare 1 fuzibilul diodei rmne intact, a a iar pentru termenii care au valoare 0 conexiunea se exclude prin arderea fuzibilului. Pentru aplicatiile care memoria numai cu citire este utilizat ca un LUT aceasta n a trebuie inclus a ntr-un sistem pe baza de P , Figura 2.47-c. Memoria ROM se conecteaz la cele trei magistrale ale sistemului modul urmtor: intrrile de adres a n a a a la magistrala de adresare, ieirile de date la magistrala de date, iar la magistrala de s control, care acest caz este reprezentat doar de semnalul READ generat de P , n a se conecteaz intrarea de validare a ieirii, OE. La generarea unui cuvnt de adres a s a a de ctre P , din locatia de adres respectiv, se obtine cuvntul care se depune pe a a a a magistrala de date de unde este citit de ctre P . Pentru conexiunile din acest sistem a circuitul de memorie pot citite numai cuvintele de adres care au bitul A n1 = 0, a deoarece acest bit este utilizat pentru activarea semnalului de selectare a circuitului, CS, activ L. procesul de citire a memoriei trebuie n In ndeplinit o anumit a a secventialitate aplicarea cuvntului de adres i a semnalelor de control CS L i n a as s OE L. Figura 2.47-d sunt prezentate diagramele de semnale pentru efectuarea operatiei In de citire. La momentul t1 cuvntul adres generat de microprocesor se aplic pe a a a magistrala de adresare la intrarea memoriei i s ncepe decodicarea adresei. moIn mentul t2 , prin semnalul READ, generat tot de P , se comand buerele de ieire a s pentru trecerea lor din HZ starea lor normal. Abia n a ncepnd din momentul t 3 a datele din locatia de memorie sunt validate pe magistrala de date i pot citite de s ctre P . Se denete timpul de acces, AA , ca intervalul de timp din momentul a s momentul aplicrii cuvntului de adres la intrarea memoriei (t 1 ) pn cnd datele a a a a a a la ieire sunt valide (t3 ), deci cnd datele pot citite. Acest parametru important al s a circuitelor ROM are valori cuprinse ntre 20 90ns pentru cele tehnologie bipolar n a i s ntre 70 400ns pentru cele CMOS. Pentru o proiectare se recomand consultarea a foii tehnice a circuitului respectiv deoarece aceast prezentare simplicat au fost n a a omii alti parametrii de timp (vezi Figura 3.92-a). s La implementarea functiilor logice pe memorii numai cu citire este normal ten a dinta de a se utiliza circuite ROM ct mai simple i mai ieftine, deci de capacitate ct a s a mai mic. acest sens se recomand ca reducerile la functiile logice de implementat a In a s se fac primul rnd pe numrul variabilelor de intrare. Deoarece capacitatea a a n a a memoriei biti este 2n m, micorarea intrrilor cu o unitate reduce capacitatea n s a de dou ori (2n m/2n1 m = 2) pe cnd micsorarea ieirilor cu o unitate duce la o a a s

254

2.4. CLC PENTRU FUNCTII LOGICE

capacitate numai de m/(m 1) ori mai mic, (2n m)/2n (m 1) = m/(m 1)). a Posibilitatea de micorare a numrului de variabile aplicate la o memorie numai cu s a citire apare la acele functii care sunt partial denite la intrare (unele conguratii binare nu au sens pentru functie) sau pentru mai multe conguratii binare de intrare functia are aceeai ieire. Conguratiile care genereaz aceeai ieire sunt grupate s s a s s ntr-o clas de echivalenta care necesit pentru exprimare doar o singur conguratie a a a binar (cod). Dac la o functie cu n variabile un numr de n 1 variabile (n1 < n) a a a pot grupate ntr-un numr de clase de echivalente care pot exprimate cu p biti a (p < n1 ) atunci numrul de intrri ale memoriei pentru implementare scade de la n a a la n n1 + p. Exemplul 2.18 Pe un circuit ROM s se implementeze urmtoarea functie: a a
63

f (x5 , x4 , x3 , x2 , x1 , x0 ) =
0

(4, 5, 20, 29, 41, 42, 45, 57, 53, 58, 61, 63)

Solutie. Implementarea se poate face direct prin nscrierea valorii 1 locatiile ale cror n a

Tabelul termenilor canonici ai functiei Variabile P i x 5x 4 x 3x 2x 1x 0 cod 4 00 0100 0 5 00 0101 1 15 0 0 1 1 1 1 5 20 0 1 0 1 0 0 0 29 0 1 1 1 0 1 4 41 1 0 1 0 0 1 2 42 1 0 1 0 1 0 3 45 1 0 1 1 0 1 4 47 1 0 1 1 1 1 5 53 1 1 0 1 0 1 1 58 1 1 1 0 1 0 3 61 1 1 1 1 0 1 4 63 1 1 1 1 1 1 3 a) x0 x1 x2 x3 x4 x5 d) ROM (644)biti 4(164)biti f y0 y1 y2 y3

Tabelul claselor de echivalenta Variabile cod 0 1 2 3 4 5 b) x 3x 2x 1x 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 z 2z 1z 0 000 001 010 011 100 101

Tabelul de adevar al functiei dupa compresie Variabile Iesiri P i x 5x 4 z 2z 1z 0 y3y2y1y0 4 5 15 20 29 41 42 45 47 53 58 61 63 c) 00 00 00 01 01 10 10 10 10 11 11 11 11 000 001 101 000 100 010 011 100 101 001 011 100 101 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

x0 x1 x2 x3 x4 x5 e)

ROM 1 z 0 (164) biti z 1 z2

ROM 1 324 biti 2(164)biti f

y0 y1 y2 y3

Figura 2.48 Explicativ pentru sucesiunea etapelor compresia varia n abilelor unei functii scopul reducerii capacitii memoriei ROM folosit n at a pentru implementare.
adrese sunt specicate lista mintermilor, pe un modul memorie compus din patru circuite n

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

255

de capacitate 16 4 biti; D3 = f , ceilalti trei biti de ieire D2 , D1 , D0 rmn neutilizati, s a a Figura 2.48-d. Dar pentru cei 13 termeni produs ai functiei care au valoare logic 1, printr-o a artire a variabilelor functiei dou grupe x5 x4 i x3 x2 x1 x0 , se poate realiza o compresie mp n a s prin identicarea unor clase de echivalente. Intre cele 13 cuvinte binare care sunt cuvinte de adres ce se aplc la intrarea memoriei ROM, pentru grupul de variabile x3 x2 x1 x0 exist a a a numai ase subcuvinte binare distincte, deci s-a identicat ase clase de echivalenta notate s s cu 0 , 1 , 2 , 3 , 4 , 5 ca Figura 2.48-a. Sase clase de echivalenta pot codicate n numai cu 3 biti z2 z1 z0 ca tabelul din Figura 2.48-b. Transcodarea de la patru variabile n x3 , x2 , x1 , x0 la trei variabile z2 , z1 , z0 se face cu un circuit ROM16 4 biti (un bit de ieire s este neutilizat). nal, functia se poate exprima doar cu 5 variabile x5 , x4 i z2 , z1 , z0 ca In s n tabelul din Figura 2.48-c, cu o implementare doar pe dou circuite ROM164 plus a unul a nc pentru transcodorul claselor de echivalenta, Figura 2.48-e. Fata de modalitatea direct de a implementare cu circuite patru ROM de 164 biti, Figura 2.48-d, s-a econimisit un circuit de 164 biti.

Din analiza comparativ a tabelelor de adevr ale functiilor booleene pentru a a aplicatii logice i a celor pentru aplicatii aritmetice (numerice) se constat fr a s a aa gsi o explicatie riguroas c: raportul a a a ntre numrul conguratiilor variabilelor de a intrare ale functiei care produc valoarea 1 pentru ieire, sau numrul conguratiilor s a care produc valoarea 0 pentru ieire, supra numrul total de conguratii ale varis a abilelor de intrare ale functiei, 2n , este egal cu 0.5 pentru functiile aritmetice i mult s diferit de 0.5 pentru functiile logice. Se poate verica aceast observatie prin com a pararea tabelelor de adevr ale operatorilor logici AND,OR,NAND,NOR de dou a a variabile i tabelul de adevr al operatorului aritmetic XOR (sum modulo doi) de s a a dou variabile (se poate extinde i pentru n > 2). a s Ca o consecinta a acestei observatii se deduce c pentru implementarea unei functii a logice, pe baz de 1, sub form FCD (sum de mintermi) este necesar a se genera a a a putini mintermi din numrul total de 2n ai functiei. De asemenea, dac functia are a a multe valori 1 i putine valori 0, se poate face sinteza functiei negate f prin sumarea s mintermilor pentru (putinele) conguratii la care functia are valoarea 0 i apoi prin s negarea lui f se obtine functia, deci tot un numr mic de mintermi ce trebuie generati a raport cu numrul total de mintermi 2n . Dar la o implementare pe un ROM sunt n a generati toti cei 2n mintermi indiferent dac sunt utilizati sinteza functiei sau nu; a n pentru un numr mare de variabile de intrare costul generrii mintermilor neutilizati a a devine destul de ridicat. concluzie, pentru implementarea aplicatiilor aritmetice In (LUT-uri, programe de calculator) circuitul ROM este o solutie recomandat dar a pentru implementarea aplicatiilor logice, mai ales pentru n ridicat, ROM-ul nu este recomandat. Vom vedea c pentru implementarea functiilor logice, cu n ridicat i a s numr redus de mintermi necesari, este recomandat circuitul PLA. a

2.4.6.1

Realizarea circuitelor i modulelor ROM s

Adresarea bidimensional. Pentru o memorie ROM de capacitate 2 n m a biti, cu n biti de adrese i m biti de date pe ieire, Figura 2.47-a, se poate calcula s s dimensiunea SROM (n,m) . Considernd ecare linie de bit ca o poart OR cu 2 n intrri a a a

256

2.4. CLC PENTRU FUNCTII LOGICE

i pentru ecare buer de ieire TSL trei terminale rezult: s s a SROM (n,m) = SDCD(n) + m SOR(2n ) + m SBuf f er = n 2n + m 2n + m 3 O((n + m) 2n )

O astfel de dimensiune pentru n de valoare ridicat genereaz diculti la ima a at plementarea ROM. general, n > m, iar m = 2k are valori uzuale de 1,4, sau 8. In Dicultile de implementare sunt datorit numrului mare de ieiri de la DCDn:2 n at a a s i valorii relativ mic a lui m. De exemplu, pentru circuitul 27C040 ROM cu capacis a tatea 4M (512K 8 = 1019 23 = 222 biti) ar rezulta un decodicator cu (512 1024) ieiri, ceea ce ar foarte greu de realizat, iar dimensiunile matricei ar 2 19 8, ori s ,, aceast suprafata liform ar cu totul neconvenabil pe aria de Si. Se recomand a a a a ca suprafetele ocupate pe aria de Si s e ptratice (sau dreptunghiulare) din motive a a tehnologice i de s mpachetare (conexiuni i pini). Aceste dou diculti, numrul s a at a mare de ieiri ale DCD n : 2n ct i suprafata liform a matricei, pot depite prin s a s a as modul de adresarea bidimensional. a La adresarea bidimensional, exprimat prin Denitia 2.9 , cuvntul de adres a a a a An1 An2 ...A1 A0 se mparte dou subcuvinte de adres cu lungimea n 2 biti n a a s a n (An1 An2 ...An1 An1 ) i cellalt cu lungimea de n1 biti (An1 1 An1 2 ...A1 A0 ), general n1 i n2 au valori apropiate sau chiar egale, n = n1 + n2 . felul acesta se s In realizeaz dou decodicatoare, unul DCDn 2 :2n2 pentru decodicarea liniilor matricei a a a a s i cellalt DCDn1 :2n1 pentru decodicarea coloanelor, ecare avnd un numr de ieiri s a mult mai mic dect decodicatorul initial DCDn:2 n ; 2n1 << 2n , 2n2 << 2n , 2n1 a a a 2n2 = 2n . Matricea initial care avea 2n linii cu m biti pe ecare linie se scaleaz la o matrice care are 2n2 linii dar cu m2n1 biti pe ecare linie, deci raportul dimensiunilor se modic de la 2n /m >> 1 la 2n2 /m 2n1 1. Prin trecerea de la o matrice a ,, liform la una ptratic, capacitatea memoriei, 2 n+k biti, nu se modic, se pot a a a a calcula valorile pentru n1 i n2 cu urmtoarele relatii: n2 = (n + k)/2, n1 + k = (n + s a k)/2; m = 2k . Recalculnd dimensiunea SROM (n,m) pentru adresarea bidimensional a a rezult: a SROM (n,m) = SDCD(n2 ) + m 2n1 SOR(2n2 ) + SDCD(n1 ) +m SBuf f er (2.16) = n 2 2 n2 + m 2 n1 2 n2 + n 1 2 n1 + m 3 O(m 2n ) Valoarea dimensiunii proportional cu capacitatea memoriei (m 2 n ) nu mai poate a micorat! s a aceast variant de adresare bidimensional decodicatorul de linii, prin subIn a a a cuvntul de adres de n2 biti, va activa cte o linie pe care exist m cuvinte de cte a a a a a a s a s 2n2 biti, iar decodicatorul de pe coloane va trebui s selecteze i s aplice la ieire cte un bit din ecare din cele m cuvinte ale liniei activate. Aceast selectare se a a realizeaz cu un grup de mMUX2n1 :1, subcuvntul de adres An1 1 An1 2 ...A1 A0 a a a se aplic pe intrrile de selectare ale tuturor celor m multiplexoare. Practic, pentru a a un subcuvnt de adres aplicat la grupul de multiplexoare se extrag bitii din aceeai a a s pozitie ale celor m cuvinte. Logic, memoria rmne o structurare de matrice cu 2 n a a linii i m coloane. s Pentru circuitul 27C040 folosit anterior, printr-o decodicare bidimensional la a care dac se alege n1 = 11 i n2 = 8 se obtine o structurare cu un decodicator a s pentru linii cu 211 = 2048 ieiri, pe ecare linie sunt 2048 biti, iar pentru selectarea s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

257

A n1 A n2 DCD n2:2 An
n2

Matrice programabila 2
n2

(Nivel de OR) n n 2 2 x m 2 1 biti Power On mx2


n1

Power On

A n 1 1 A n 2
1

Power On m x MUX 2 1:1


n

A0 CS_L OE_L a) 32K x 8biti A 14 A 13 A 12 A 11 A 10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 b) Dm1 Dm2 D0

DCD 9:512

512

29x6429x6429x6429x6429x6429x6429x6429x64 biti biti biti biti biti biti biti biti

64

64

64

64

64

64

64

64

MUX MUX MUX MUX MUX MUX MUX MUX 64:1 64:1 64:1 64:1 64:1 64:1 64:1 64:1

D7

D6

D5

D4

D3

D2

D1

D0

Figura 2.49 Decodicarea bidimensiona a circuitului ROM: a) organizarea a general, de principiu, cu un DCDn2 :2n2 pentru activarea liniilor i cu un grup de a s a mMUX2n1 :1 pentru selectarea coloanelor; b) particularizarea structurrii anterioare pentru o memorie ROM cu organizarea logic de 32K 8 biti. a

258

2.4. CLC PENTRU FUNCTII LOGICE

cuvntului de ieire de 8 biti sunt necesare 8MUX2 8 :1; dimensiunea matricei este a s ptratic 211 /8 28 = 1. a a organizarea de principiu, pentru decodicarea bidimensional a unui circuit In a ROM, pe lng validarea buerelor de ieire TSL, prin conjunctia dintre semnalele a a s Chip Select i Output Enable, exist i o comand pentru cele trei componente: decods as a icatoare, matrice i multiplexoarele pe ieire, pentru trecerea regimul de ateptare s s n s (standby). Regimul de ateptare se obtine prin neactivarea semnalului CS L, aplis cat i ca semnal de conectare la sursa de alimentare Power On, care va deconecta s alimentarea componentelor respective. Deci cnd circuitul ROM nu este selectat, a automat, consumul su de putere se reduce, prin trecerea regim de ateptare, pn a n s a a la 10% din cel regimul normal. n Figura 2.49-b este prezentat, ca o exemplicare, o posibil structurare de In a a decodicare bidimensional a unui circuit ROM cu organizarea logic de 32K 8 biti. a a Decodicatorul cu 15 intrri i (32 1024) ieiri este substituit cu un DCD9:2 9 la care a s s se aplic subcuvntul A14 A6 i 8MUX64:1 (toate selectate de acelai subcuvnt a a s s a A5 A0 ). acest fel, matricea programabil (nivelul OR) de la raportul dimensiunilor In a 215 /23 = 212 este scalat la raportul 29 /(8 26 = 1 deci a devenit ptratic; pe ecare a a a linie, initial continnd un cuvnt de date de 8 biti, au fost plasate dup scalare 8 a a a cuvinte de date ecare de cte 64 biti. a Tipuri de circuite ROM. Personalizarea unui circuit ROM pentru o anumit a aplicatie este realizat prin informatia care se a nscrie pe nivelul SAU matricea programabil. Aceast informatie, valorile bitilor ecare nod al matricei, este a a n elaborat de ctre utilizator dar a a nscrierea/programarea noduri se face diferite n n modaliti, e de ctre productorul circuitului, e de ctre utilizator. functie de at a a a In modalitatea zic de programare exist mai multe tipuri de circuite ROM. a a 1. ROM programat prin mascare. Informatia pentru aplicatie, elaborat de a proiectant, este trimis la turntoria de siliciu. Fabricantul, pe baza acestei informatii, a a genereaz una sau dou mti i termin fazele de fabricatie ale circuitului ROM, a a as s a adic se a nscrie 1 sau 0 nodurile matricei. Fizic, aceast n a nscriere prin mascare se reduce la prezenta sau absenta ecare nod a unei conexiuni, n ntre linia de cuvnt a i lina/coloana de bit. Evident, odat faza de programare s a ncheiat, prezenta unei a erori programarea nodurilor duce la rebutarea circuitului. Datorit costului ridicat n a de fabricatie i imposibilitatea corectrii unei erori, realizarea aplicatiilor cu ROM s a programat prin mascare este indicat pentru generarea de functii standard, cum ar a tabele de conversie foarte uzuale (LUT), functii specice generate de ctre utilizator a i cnd este nevoie de o productie de serie mare (produse auto, de larg consum etc.). s a 2. ROM programabil, PROM (Programmable Read Only Memory). Acest tip de circuit ROM a aprut ca un rspuns la nevoia utlilizatorului de a nu mai a a legat de turntoria de siliciu i de timpul lung necesar realizrii aplicatiei. Fabricantul a s a produce circuitul care este deja nscris toate nodurile sale e cu bitul 1, e cu bitul n 0, depinde cum este organizat ROM-ul. Fizic, aceasta nseamn c ecare nod a a n exist un fuzibil a ntre linia de cuvnt i lina de bit sau un tranzistor conectat cu a s drenul la linia de bit iar poarta este comandat de linia de cuvnt, ca Figura 2.50-a a a n i a crei surs/emitor este legat la mas printr-un fuzibil. s a a a Intr-un nod realizat cu tranzistor, al crui fuzibil a nseriat surs nu este ars, atunci cnd linia de cuvnt care n a a a comand poarta este stare activ (se genereaz mintermul respectiv) va forta la a n a a potentialul masei tensiunea pe linia de bit, respectiv linia de bit va un 1 logic atunci

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

259

cnd mintermul respectiv are valoarea logic 0. Rezult c o linie de bit realizeaz a a a a a n logic pozitiv functia NOR de toti mintermii ale cror tranzistoare conectate la acea a a a linie nu au fuzibilul ars, iar dup buerul inversor de ieire se obtine functia OR. a s Programarea PROM-ului este efectuat de ctre utilizator cu ajutorul unui proa a gramator, prin care fuzibilul este ars numai acele noduri care informatia initial n n a nscris prin fabricatie trebuie schimbat bitul complementar. Practic, se selecteaz a a n a nodul prin linia de cuvnt i lina de bit corespunztoare i apoi, pe linia de bit se a s a s aplic un impuls de tensiune de valoare ridicat (10-30V) care forteaz un curent prin a a a fuzibil ce duce la arderea acestuia. Inconvenientele care pot s apar la aceste disa a pozitive o singur dat programabil, OTP (One Time Programmable) au fost a a a prezentate la sfritul sectiunii 1.2. Dei PROM-ul elimin dependenta de turntoria as s a a de siliciu, totui dezavantajul rebutrii circuitului cazul unei erori de programare s a n nu este eliminat, acest dezavantaj este eliminat de urmtoarele tipuri de ROM reproa gramabile. 3. ROM reprogramabil, EPROM (Eraseble Programmable ROM). Facilitatea de tergere a continutului unui circuit ROM i apoi reprogramarea se bazeaz s s a pe functionarea tranzistorului cu poart otant a crei structur este prezentat a a a a a n Figura 2.50-b.

Linie de bit b)

Figura 2.50 Structurarea de noduri pentru circuite ROM: a) nod de ROM programabil; b) nod de EEPROM. Tranzistorul cu poart otant, fata de un nMOS normal, are dou porti supraa a a puse, poarta otant i poarta de control, separate printr-un strat de SiO 2 . Poarta as otant, spre deosebire de cea de control, nu are exterior un terminal de acces a n i este izolat masa de SiO2 care o s a n nconjoar, iar stratul de SiO2 a ntre aceast a poart i substrat este foarte subtire, cel mult 10nm. anumite conditii, de tena s In siuni aplicate pe terminalele tranzistorului, electronii cu energie ridicat din canal a ,, (hot electron ) pot strbate stratul foarte subtiere de SiO2 pna la poarta otant, a a a iar aceasta, ind izolat, rmne arcat permanent cu sarcina negativ captat a a a nc a a a (permanent nseamn cel putin 10 ani chiar i la temperatura de 125 grade Celsius). a s Aceast sarcin negativ permanent de pe poarta otant crete tensiunea de prag a a a a a s Vpn a tranzistorului nMOS la aproximativ 7V, ceea ce practic nseamn c acesta a a

fg lmlm fg lmlm fg ll lmlm lmlm ll


n+

Linie de cuvant

n+

Substrat p

Tranzistor de acces Linie de cuvant

e e e pq e pq de de ed pqpq ed pqpq jkhi d jkhi jkih h d d d pq d pq d o oonnn nnn


Poarta de control ~10nm n+ Poarta flotanta Tranzistor programabil Poarta de control

Metal +V CC SiO2 Linie de cuvant Linie de bit R

Fuzibil

Iesire data

a)

Iesire data

260

2.4. CLC PENTRU FUNCTII LOGICE

este blocat pentru toate tensiunile normale ale circuitului (5 6)V. Procesul poate reversiblil, prin aplicarea unui fascicol de radiatie ultraviolet care anuleaz sarcina a a negativ acumulat pe poarta otant, deci tranzistorul devine iari comandabil cu a a a as tensiunile normale ale circuitului. Structurarea unui nod pentru un circuit EPROM este similar cu cea a unui nod a dintr-un circuit PROM descris anterior un tranzistor care conecteaz linia de bit a a la mas printr-un fuzibil. Numai c, la EPROM, tranzistorul de acces care leag la a a a mas linia de bit are surs a n a nseriat un tranzistor cu poart otant loc de fuzibil. a a n Programarea nodului, adic blocarea tranzistorului cu poarta otant prin colectarea a a unei sarcini negative pe poarta otant, se face felul urmtor: se activeaz linia de a n a a cuvnt (poarta tranzistorului de acces); se aplic prin linia de bit (i tranzistorul de a a s acces) pe drenul tranzistorului cu poarta otant o tensiune jur de 12 volti; se aplic a n a un impuls de tensiune de 13 14 volti pe poarta de control care ajut la colectarea a sarcinii negative (electroni) pe poarta otant. Rezult c tranzistorul cu poarta a a a otant, pentru care tensiunea de prag Vpn a devenit ridicat, a a ntrerupe conectarea la mas acel nod al liniei de bit chiar dac tranzistorul de access corespunztor a n a a este comandat. Stergerea nodului se face prin expunerea circuitului, timp de 20 30 de minute, radiatii ultraviolete. Circuitele EPROM au pe partea superioar n a o fereastr, transparent la radiatii ultraviolete, realizat din cuartz. Dezavantajul a a a acestui mod de tergere apare prin faptul c circuitul EPROM trebuie scos din soclul s a su de pe placa de circuit inprimat iar tergerea sa este total, adic se terg toate a s a a s nodurile, nu numai nodul care ar urma s e reprogramat. a Exist urmtoarele circuite EPROM tip Intel obtenabile comercial: a a 2716-16K(2Kx8biti); 2764-64K(8Kx8biti); 27256-256K(32Kx8biti); 27C010-1M(128Kx8biti); 27C210-1M(64Kx16biti); 27C040-4M(512Kx8biti); 2732-32K(4Kx8biti); 27128-128K(16Kx8biti); 27512-512K(64Kx8biti); 27C020-2M(256Kx8biti); 7C220-2M(128Kx16biti); 27C240-4M(256Kx16biti);

4. Memoria ROM cu tergere pe cale electirc EEPROM, E2 PROM s a (Electricaly Erasable Programmmable ROM). Acest tip de ROM elimin dezavana tajele de la EPROM i anume, circuitul nu mai trebuie scos din soclu pentru tergere s s pentru c acesta operatie se face pe cale electric. Practic, tergerea se face ca i a a s s nscrierea prin aplicarea unei tensiuni pe poarta de control, dar de data aceasta, o tensiune de polaritate inversat, care elimin spre substrat sarcina negativ acumua a a lat pe poarta otant. Stergerea se face nu pe bit ci pe blocuri care pot ajunge pn a a a a la 64Kbytes (de exemplu, la o memorie de 1Mbyte sau mai mare). O variant de EEPROM este memoria ash. Frecvent, memoriile Flash se proa duc sub form de cartele astfel at s e utilizate aparatura portabil cum ar : a nc a n a camerele digitale, telefoane mobile, mbrcmintea electronic, transferul informatiei a a a ntre dou calculatoare (simularea unei diskete). viitor, memoria Flash poate a In substitui harddisk-ul oferind un timp de acces jur de 100ns, fata de 610 ms la n harddisku-rile actuale. Obstacolul care exist, actual, la memoriile ash const a a n numrul limitat de tergeri/ a s nscrieri, nu cu mult peste 10.000 ori i capacitatea de s stocare care a ajuns doar la sute de Mbytes (fata de 120 de Gbytes la harddisk-uri uzuale acum).

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

261

Tabelul 2.1 Tipuri de circuite ROM Tipul ROM cu mascare ROM cu mascare PROM EPROM EEPROM Tehnologia NMOS, CMOS Bipolar Timp de acces AA 10-200ns <100ns Timp de nscriere > 2 3 spt. a > 2 3 spt. a 10 50s/byte 10 50s/byte 10 50s/byte Comentarii OTP, consum redus de putere OTP, consum ridicat, densitate scazut a OTP, consum ridicat Reutilizabil, a consum sczut a 10.000-100.000 limit a nscrieri/citiri

Bipolar NMOS, CMOS NMOS

<100ns 25-200ns 50-200ns

Tabelul 2.1 [Wakerly 2000] sunt sintetizate caracteristicile circuitelor ROM In obtenabile comercial.

2.4.6.2

Module de memorie ROM

Necesitile aplicatii cu memorie ROM pot depi capacitile pe care le prezint at n as at a circuitele discrete obtenabile comercial. Pentru astfel de aplicatii se realizeaz module a de memorie ROM care extind capacitatea circuitelor ROM discrete. Pentru a putea integrate module, circuitele ROM sunt prevzute cu un semnal de control de n a selectare circuit, CS ( general, activ stare L). Fata de circuitele ROM discrete, n n un modul ROM realizeaz o extensie e a capacitilor de adresare, e a lungimii a at cuvntului memorat sau e a amndorura simultan. a a 1. Extinderea capacitii de adresare. Extinderea apare ca o rezolvare a reat alizrii unei memorii cu capacitate de adresare C din circuitul ROM cu numr de a a c adrese, ceea ce impune utilizarea a C/c = p circuite componente cu c adrese. Se va exemplica realizarea unui modul cu capacitatea de adresare 4K adrese din circuite ROM de capacitate 1K 8 biti, rezult c sunt necesare 4K/1K = 4 circuite. a a Deoarece adresarea unui ROM de 1K adrese se face cu un cuvnt de adres de 10 a a biti, A9 , A8 , ..., A1 , A0 , iar pentru adresarea moduluilui de 4k sunt necesari 12 biti de adres A11 , A10 , ..., A1 , A0 , aceasta ar impune extinderea decodcatoarelor (interne) a ale circuitelor cu a 2 biti A11 i A10 . Dar, extinderea este posibil doar exterior nc s a n cu un DCD2:4 pe ale crui intrri sunt aplicati bitii de adres A 11 i A10 , prin aceasta a a a s ecare circuit ROM va selectat pe intrarea CS de ctre o ieire a decodicatorului a s exterior, Figura 2.51-a. spatiul de adresare de 4K, ce poate acoperit cu un cuvnt In a de adrese cu lungimea de 12 biti (de la 000HFFFH cu exprimare hexazecimal, H), n segmentul de adrese repartizat ecrui circuit ROM se obtine prin construirea mapei a adreselor memoriei. Bitii de adres A9 ...A0 se aplic la toate cele patru circuite de 1K a a adrese, iar bitii A10 i A11 sunt utilizati, prin decodicare, la selectarea a cte unui s a circuit de 1K adrese. Segmentele de adres ale circuitelor, prin alturare, formeaz a a a un spatiu de adresare continuu de 4K adrese.

262

2.4. CLC PENTRU FUNCTII LOGICE

A 11A0

Magistrala de adrese CS ROM 0 D7D0 1K x 8biti CS ROM 1 D7D0 1K x 8biti CS ROM 2 D7D0 1K x 8biti CS ROM3 D7D0 1K x 8biti

Mapa adreselor memoriei A11A10A 9 A 1A 0 ROM 3 (FFFCFF)H ROM 2 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0

A 11

A 10

A 9A0

O0 O1 O2 O3

A 9A0

(BFF800)H

1 0

DCD 2:4

ROM 1 0 1 (7FF400)H ROM 0 0 0 (3EF000)H

A 9A0

READ

A 9A0

Magistrala de date a)

A 10A0

Magistrala de adrese CS ROM 0 1K x 8biti CS ROM 1 1K x 8biti Mapa adreselor memoriei A 1A 0 A10A 9A 8 1 1 1 1 1 0 0 0 1 1

A 9A0

D7D0

A 9A0 DCD 1:2

D7D0

A 9A0

CS ROM 2 D15D8 1K x 8biti CS ROM3 D15D8 1K x 8biti

1 ROM 1 1 si ROM 3 1 0 (7FF400)H 0 1 ROM 0 1 si ROM 2 0 0 (3EF000)H 0

0 0 1 1 0 0

1 0 1 0

0 1 0 0

READ

A 9A0 Magistrala de date D15D0

b)

Figura 2.51 Organizarea modulelor de memorie ROM prin: a) extinderea capacitii de adresare; b) prin extinderea simultan att a capacitilor de adresare at a a at ct i a lungimii cuvntului de date. a s a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

263

2. Extinderea att a capacitii de adresare ct i a lungimii cuntului. Folosind a at a s a acelai circuit ROM, cu capacitatea 1Kx8biti pentru realizarea unui modul de capacs itate 2Kx16biti, rezult c sunt necesare 2K 16biti/1K 8biti = 2 2 circuite; a a extinderea este att pe adrese 2 1K = 2K adrese ct i ca lungime de cuvnt de a a s a date 2 8biti = 16 biti Figura 2.51-b. Extinderea de adrese este similar ca la modulul anterior cu deosebirea c de a a data aceasta exterior se adaug un DCD1:2, bitul de adres A 10 pentru selectarea n a a celor dou segmente de adrese. Fiecare ieire a decodicatorului selecteaz simultan a s a cte dou circuite de capacitate 1Kx8biti, ROM0 cu ROM2 i ROM1 cu ROM3. La a a s circuitele dintr-o pereche se aplic acelai cuvnt de adres A 9 ...A0 dar din unul se a s a a citete byte-ul superior iar din cellalt byte-ul inferior din care se compune cuvntul s a a de date pe magistrala de date. aceste exemple de extindere se consider c ieirile In a a s de date ale circuitelor ROM sunt de tip TSL. Uneori, cnd sunt disponibili sucienti biti cuvntul de adresare, se elimin a n a a DCD-ul exterior pentru extinderea capacitii de adresare, iar pentru selectarea a cte at a unui circuit ROM este asignat (repartizat) un bit disponibil din cuvntul de adresa a Avantajul acestui mod de adresare adresare liniar raport cu adresarea cu a n codicarea complet este simplitatea; dar acest caz segmentele de adrese acoperite a n de ctre ecare circuit ROM component nu se mai altur a a a ntr-o zon continu din a a spatiul de adresare. De exemplu, dac sunt disponibili cuvntul de adresare bitii a n a A13 , A12 , A11 , A10 care sunt repartizati pentru selectare respectiv a circuitele ROM3, ROM2, ROM1,i ROM0, pentru modelul de 4K din Figura 2.51-a, se obtin prin s construirea mapei adreselor memoriei urmtoarele segmente nealturate de adrese: a a ROM3, 2000H-23FFH; ROM2, 1000H-13FFH; ROM1, 0800H-0BFFH; ROM0, 0400H07FFH

2.4.7

Dispozitivele logice programabile, PLD

Dispozitivele logice programabile, PLD (Programming Logic Device) au aprut ca a o necesitate pentru eliminarea inconvenientelor pe care le prezentau circuitele logice universale MUX, ROM, implementarea functiilor logice sub form de sum de n a a produse, i anume: s generarea tuturor termenilor canonici produs dei, general, nu sunt necesari s n toti; formele minime/reduse ale functiilor nu pot implementate. Pentru imple mentarea acestora trebuie parcurs drumul invers, adic expandarea formelor a reduse la form canonic; a a inexistenta facilitii de implementare a functiei i prin negata acesteia, cnd at s a functia negat este mai simpl (unele circuite MUX au att ieirea negat ct a a a s a a i nenegat). s a 2.4.7.1 Matricea Logic Programabil, PLA a a

Prima variant de dispozitiv logic programabil, PLD, sub form de matrice logic a a a progrmamabil PLA (Programmable Logic Array), a fost introdus anul 1975 de a n ctre rma Signetics Inc. Organizarea de principiu al unui circuit PLA, Figura 2.52-a, a

264

2.4. CLC PENTRU FUNCTII LOGICE

poate privit ca ind similar cu a memoriei ROM, numai c de data aceasta nu este a a a programat doar nivelul de OR (codicator) ci i nivelul AND (decodicator). Aceast s a facilitate suplimentar, de programabilitate pe matricea AND, face posibil generarea a a numai a unui numr p de termeni produs (p << 2n ), nu neaprat canonici de variabile a a de intrare. afara celor dou matrice programabile, structurarea unui PLA mai In a n apar: 1) un nivel de buerare pe intrare, care produce pentru ecare dintre cele n intrri att valoarea negat ct i cea nenegat (acest nivel din punct de vedere logic a a a a s a este compus din n decodicatoare elementare); 2) un nivel de iire pe XOR care prin s programare poate genera, e valoarea functiei, e valoarea negat a functiei. Deci a
Ii I0 I1 I n1 p termeni produs
I0 I0

Ii Ii Nod de matrice

Ii

Ii Ii

Matrice AND

I n1 programabila I n1

P0 P1

P p1 V CC

Nivelul inversor O0

Ii

Ii Ii Fuzibil ars pt. I

Nod neprogramat (simbol) Ii Ii Ii Fuzibil ars pt. I Ii Ii Ii Ambele fuzibile arse. Iesire indiferenta pentru I i

Matrice OR programabila

Om1 I i

Ii Ii

a)

m functii de n variabile b)

Nici un fuzibil ars I iI i=0

Figura 2.52 Matricea logic programabil, PLA: a) organizarea de principiu a a cu evidentierea celor dou niveluri (matrice) programabile; b) simbolurile pentru a reprezentarea strii nodurilor din matricea decodicatoare. a circuitul PLA este caracterizat de n intrri, de p porti AND programabile ecare a cu 2n intrri (n variabile negate i n nenegate) i de m porti OR programabile cu a s s p intrri (care sunt ieirile portilor AND). Circuitul PLA poate structurat i pe a s s matrice programabil numai de tip NAND deoarece implementarea pe dou niveluri a a NAND-NAND este echivalent cu implementarea pe 2 niveluri AND-OR. a nodurile matricei AND, de dimensiune 2n linii de intrare i 2n p coloane In s i nodurile matricei OR, de dimenisune p coloane (termeni produs obtinuti la s n ieirile portilor AND) i p m linii (m porti OR ecare cu p intrri), modalitile s s a at de programare pot cele deja descrise la memoria ROM. Se pot realiza PLA-uri, de tipul OTP, cnd nod exist o diod a n a a nseriat cu un fuzibil ori un tranzistor (bipolar a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

265

sau unipolar) nseriat cu un fuzibil, ca Figura 2.50-a, sau se pot realiza PLA-uri cu n reprogramare (tergere pe cale electric sau cu fascicol UV), cnd nod este prezent s a a n un tranzistor cu poarta otant, ca Figura 2.50-b. a n aplicatii, pentru descrierea nodurilor matricelor programabile, sunt folosite reIn prezentrile logice simbolice din Figura 2.52-b. Un nod care exist o legtur a n a a a electric a ntre linie i coloan este simbolizat cu un punct (nod programat), iar acest s a punct lipsete nodul care nu exist o legtur electric (nod neprogramat). s n n a a a a Evident, dac ambele noduri, att pentru intrarea I i ct i pentru Ii , sunt programate a a a s
01 15 01 15 01 15

I0 I1 I 15 Buffere de intrare 0 Nivelul OR 1 (codificator) programabil 47 0 1 Numar de fuzibile= =848=384 47 0 1 47 Numar total de fuzibile=1536+384+8=1928 AND 0 AND 1 AND 47

Nivelul AND (decodificator) programabil Numar de fuzibile = =21648=1536

+5V OR0

O0

OR1

O1

OR7

O7 OE_L

Inversoare programabile

Figura 2.53 Structur tipic pentru un circuit PLA. a a poarta AND, care intr coloanele respective, va genera un termen produs a crui n a a valoare este permanent zero (Ii Ii = 0). Poarta AND care intr att nodul Ii ct n a a a i Ii , dar ambele sunt neprogramate (fuzibilele au fost arse!), va genera un produs ce s este indiferent raport cu intrarea Ii (nu contine aceast variabil). n a a O structur tipic pentru un circuit PLA (82S100, Signetics) este cea din Figura a a 2.53, alte variante obtenabile comercial pot deduse sau se recunosc aceasta. Cirn cuitul 82S100 prezint 16 intrri (I0 , I1 , ..., I15 ), 48 de porti AND ecare avnd cte 32 a a a a de intrri. Se pot genera cel mult 48 de termeni produs ecare de maxim 16 variabile. a Cele 8 functii care se pot inplementa, ca o sum de maxim 48 termeni produs, pot a generate la ieirile O0 , O1 , ..., O7 , e negate, e nenegate prin programarea portilor s

266

2.4. CLC PENTRU FUNCTII LOGICE

XOR. Ieirile sunt generate prin buerele de ieire TSL comandate prin semnalul vals s idare ieire, OE L. Numrul total de fuzibile este de 1928; o memorie PROM care s a poate implementa o functie de 16 variablie trebuie s aib pe nivelul OR programabil a a 216 = 65536 fuzibile! La o memorie ROM o conguratie binar a cuvntului de intrare genereaz prin a a a decodicare doar un singur termen canonic produs, pe cnd la un circuit PLA o a conguratie binar de intrare poate genera nici unul, unul sau mai multi termeni a produs, respectiv acelai termen produs poate generat de mai multe conguratii de s intrare. Aceast neunivocitate rezult din posibilitatea c unele din intrrile portilor a a a a AND s e programate indiferent, intr-un termen produs, raport cu anumite varia n abile (ambele fuzibile ale variabilei sunt arse). Exemplul 2.19 S se realizeze sinteza i s se implementeze pe un circuit PLA un a s a convertor de cod BCD-7 segmente. Notarea segmentelor LED ale aorului cu 7 segmente s corespunde celei din Figura 2.37. Tabelul 2.2 Tabelul de adevr pentru convertorul BCD-7 segmente a W 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 X 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 0 1 1 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 0 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1 -

Solutie. Functiile logice a, b, c, d, e, f, g care activeaz segmentele LED functie de cifrele a n zecimale exprimate BCD sunt date Tabelul 2.2. Pentru conguratiile binare 1010, n n 1011, 1100, 1101, 1110 i 1111, care nu apar nciodat codul BCD, valorile functiilor sunt s a n indiferente. Minimiznd corelat cele 7 functii, pe diagramele V-K din Figura 2.54, rezult a a urmtorii 7 implicanti primi care sunt utilizati mai mult dect a n a ntr-o singur functie: a s W, Y Z, X Z, Y X, Y Z, X Z i X Y . Aceti implicanti primi se genereaz o singur dat pe s a a a matricea programabil AND i sunt utilizati matricea programabil OR, ori de cte ori a s n a a este nevoie. Pentru implementare s-a structurat un circuit PLA generic cu 4 intrri, 13 porti a AND i 8 porti OR. s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

267

WX 00 YZ 00 1 01 11 10 1 1

01

11

10 1

WX 00 YZ 00 1 01 11 10 1 1 1

01 1

11

10 1 1

WX 00 YZ 00 1 01 11 10 1 1

01 1 1 1 1

11

10 1 1

1 1

a=W+WZ+YZ+XZ WX 00 01 11 10 YZ 1 00 1 01 11 10 1 1 1 1

b=W+X+YZ+YZ WX 00 01 11 10 YZ 1 00 1 01 11 10 1 1 e=YZ+XZ

c=W+Z+Y+XZ WX 00 01 11 10 YZ 1 1 00 1 01 11 10 1 f=W+YZ+XY+XZ WX 00 01 11 10 YZ 00 1 1 01 11 10 1 1 1 1 1 1 1

d=XZ+YZ+XY+XYZ Z Y X W

W YZ XZ YX YZ XZ XY XZ X YZ

XYZ

g=W+YZ+XY+YX a b c d e f g

Figura 2.54 Sinteza i implementarea convertorului de cod BCD-7 segs mente pe un circuit PLA (generic).

268

2.4. CLC PENTRU FUNCTII LOGICE

x y
MATRICE AND

P 1=xyz

P 2=xz P 3=xyz f 1=xyz+xyz f 2=xz

Sarcina (cu canal initial) V DD P1 P2 P3 f1 f2 f3

f 3=xyz+xz b) x y z

P 1=xyz P 2=xz a) MATRICE OR Aadevarat, Ffals a b a+b a b ab A A F F F A A F A F A F F A A A F F F F A A A F Logica pozitiva

P 3=xyz f 1=xyz+xyz

d)

a b ab A A F A F A F A A c) F F A Logica negativa

f 2=xz f 3=xyz+xz

Figura 2.55 Modalitate de implementare a unei matrice PLA: a) sub forma de dou matrice de porti NOR; b,c,d) demonstrarea conversiei NOR - NOR (logic a a pozitiv) NAND - NAND (logic negativ) ceea e este echivalent cu AND - OR a n a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

269

Din acest exemplu reiese c realizarea unui CLC pe un PLA poate destul de a laborioas. Spre deosebire de circuitele prezentate pn acum la circuitul PLA implea a a mentarea necesit minimizarea functiei, iar dac se implementeaz mai multe functii, a a a implementarea acestora necesit o minimizare corelat. mediile de programare a a In automat exist programe care, pornind de la functia logic, gsete expresia minim a a a a s a sum de produse att a functiei ct i functiei negate, iar apoi decide care din n a a a s cele dou este mai avantajoas (are mai putine produse) i functie de tipul de a a s n circuit PLA utilizat trimite la programator programul pentru programarea nodurilor. Multe circuite PLA dispun de un fuzibil de securitate prin care, dup ce este ars, a elimin posibilitatea de a se citi mapa nodurilor programate, prin aceasta se exclude a posibilitatea de copiere a produsului. Implementarea unui circuit PLA se realizeaz cu aceeai structur, att pentru a s a a matricea AND ct i pentru matricea OR, sub forma unei matrice de porti NOR, ca a s gura 2.55-a. O poart NOR a unei astfel de matrice este compus din tranzistoare n a a nMOS conectate paralel i un tranzistor cu canal initial ca rezistenta de sarcin. n s a Dar o structur de poart NOR logic pozitiv va realiza logic negativ opa a n a a n a a eratorul logic NAND, ceea ce este demonstrat prin tabelele de adevr din Figura a 2.55-d. Considernd logica negativ, la ieirea primei matrice, conform conexiunilor a a s realizate, se obtin termenii: P1 = xz , P2 = xz i P3 = xyz. Si a doua matrice, y s n logica negativ, va realiza operatorul NAND, deci la ieire se obtin functiile: a s y f1 = P1 P2 = P1 + P2 = xz +xyz; f2 = P2 = xz; f3 = P1 P2 = P1 + P2 = xz + xz y

Faptul c prima matrice de NOR-uri realizeaz nivelul de AND, iar a doua nivelul a a de OR rezult prin utilizarea cerculetelor de negatie ca Figura 2.55-b i c. Dea n s plasnd cerculetele de negatie de la ieirea portilor NAND, de la prima matrice, la a s intrrile portilor NAND de la a doua matrice NAND acestea se transform porti a a n OR, conform conversiei binecunoscute NAND - NAND = AND - OR (vezi sectiunea 2.3). 2.4.7.2 Matricea logic programabil cu nivel OR x, PAL a a

Circuitul PAL (Programmable Array Logic) este o variant modicat a cira a cuitului PLA. Modicrile fata de PLA const existenta numai a matricei AND a a n: programabil, matricea OR x (neprogramabil), invers ca la circuitul ROM, i o a a a s facilitate ca unele dintre terminalele circuitului s poat utilizate att ca intrri a a a a ct i ca ieiri. Aceste modicri reduc exibilitatea generrii functiilor logice dar a s s a a simplic programarea i ecientizeaz utilizarea terminalelor circuitului. a s a O structur tipic de circuit PAL (PAL16L10) este prezentat Figura 2.56, care, a a a n de fapt, este reprezentarea putin simplicat a circuitului PAL16L8. compunerea a In codului de denumire al circuitului primul numr specic numrul de terminale de a a a intrare, cazul acesta 16, iar al doilea este numrul terminalelor de ieire, aici 8. n a s Circuitul PAL16L8 are 20 de pini (sunt inclui si cel de mas i de alimentare), ceea s as ce nseamn c numrul total de terminale de intrare i de ieire necesar (16 + 8 + 2 a a a s s = 26) este mai mare dect numrul de pini existenti (20). Aceast diferenta rezult a a a a din posibilitatea de utilzarea a unor pini att ca terminale de ieire ct i ca terminale a s a s de intrare. Exist grupuri de cte 8 porti logice AND programabile, ecare poart din grup a a a are 32 de intrri pentru 16 variabile de intrare (negate i nenegate). Din ecare a s

270

2.4. CLC PENTRU FUNCTII LOGICE

(1) I1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

(19) O1

(2) I2

(18) I/O 2 (17) I/O 3 (16) I/O 4 (15) I/O 5 (14) I/O 6

(3) I3 (4) I4 (5) I5 (6) I6 (7) I7

(8) I8

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

(13) I/O 7

(12) O8 (11) I 10

(9) I9

Figura 2.56 Structura tipic de circuit PAL (PAL16L10). a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

271

grup, cte 7 porti AND au ieirile cablate la intrrile unei porti OR iar a opta a s a poart AND din grup, poarta de validare a ieirii, comand prin ieirea sa starea a s a s de functionare a unui buer inversor TSL, care este conectat la ieirea portii OR. Un s numr de 10 terminale, I1 , I2 , ..., I10 , sunt utilizate numai pentru aplicarea variabilelor a de intrare, dou terminale O1 i O8 sunt numai terminale de ieire, iar 6 terminale, a s s I/O2 , I/O3 , I/O4 , I/O5 I/O6 i I/O7 , pot programate att ca terminale de intrare s a ct i ca terminale de ieire. De pe cele 6 terminale bidirectionale semnalul de ieire a s s s este introdus i reteaua programabil AND printr-un buer de intrare, similar ca s n a de la oricare terminal de intrare. Numrul de fuzibile de pe nivelul AND programabil a este 32 intrri poart 8 porti 8 grupuri = 2048. a n a
0 Intrare buffer TSL a) b) buffer TSL 1 Iesire

Figura 2.57 Explicativ pentru posibilitatea de transfer bidirectional la un a terminal I/O: a) utilizarea ca terminal de intrare; b) utilizarea ca terminal de ieire. s Valoarea logic generat de poarta de validare, a opta poart AND din grupurile a a a care au un terminal de tipul I/O, determin dac pinul terminalului respectiv este a a utilizat pentru intrare sau pentru ieire. Poarta AND de validare a ieirii poate s s programat s genereze permanent la ieirea sa valoarea 0 ceea ce a a s nseamn c a a buerul inversor TSL este starea de n nalt impedanta (HZ), deci terminalul este a un terminal de intrare, Figura 2.57-a, sau poate programat s genereze permanent a a 1 ceea ce nseamn c buerul de ieire are o functionare normal de poart inversor, a a s a a deci terminalul este de ieire, Figura 2.57-b. Sau, poarta de validare poate avea o s valoare pe ieirea sa, care se calculeaz functie de conguratiile binare aplicate pe s a n intrarea sa, caz care terminalul timp si modic starea corespunztor (alternnd n n a a a starea de terminal de intrare cu cea de terminal de ieire). s Cnd buerul inversor are ieirea sa starea HZ spre pinul I/O corespunztor, a s n a acesta este un terminal de intrare deci se aplic o variabil de intrare. Deci total, a a n pot aplicate maximum 16(= 10 + 6) variabile de intrare. Dac buerul inversor TSL are functionare normal (I/O este terminal de ieire) a a s este posibil ca o functie de maximum 7 termeni produs, obtinut la ieirea portii OR, a s s e generat la pinul corespunztor (terminal de ieire) sau s e aplicat a a a s a a napoi matricea AND programabil, ca variabil de intrare. Aceast facilitate de aplicare n a a a napoi apare ca o solutie pentru situatiile cnd functia de implementat este o sum a a de mai mult de 7 termeni produs. astfel de cazuri, functia se partajeaz In a ntr-un grup de 7 termeni produs i alte grupuri de maximum 6 termeni produs; la prima s trecere se calculeaz pe un grup de 7 porti AND i o poart OR (cu conexiunea x a s a a ntre acestea) suma de 7 termeni produs care apoi se reintroduce reteaua AND. n Pe un alt grup la aceast sum de apte termeni se mai adaug, prin sumare, alti a a s a 6 termeni produs, iar rezultatul se introduce iari reteaua AND; reintroducerile as n pot continua pn la sumarea tuturor termenilor produs ai functiei. Aceste treceri a a

272

2.4. CLC PENTRU FUNCTII LOGICE

repetate prin retea mrete timpul de calcul pentru functie. Valori curente pentru a s timpul de propagare, de la oricare intrare la oricare ieire, sunt sub 10ns. De asemenea, s aceast facilitate de reintroducere (feedback) a unei valori calculate d posibilitatea a a implementrii circuitelor secventiale. a

2.4.7.3

Circuitul de tip GAL

Circuitul GAL (Generic Array Logic) poate privit ca un circuit PAL la care s-au introdus anumite faciliti pentru o extindere a posibilitilor de utilizare (a fost at at introdus de Lattice Semiconductor). Codul de denumire este similar cu cel PAL, de exemplu GAL20V8 indic 20 de intrri i 8 ieiri. a a s s
CLK
0 0 1 2 3 4 5 6 7 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

CLK Macro celula logica de iesire I/O 4

I5

Figura 2.58 Mrirea posibilitilor de procesare/utilizare a semnalului asiga at nat unui terminal I/O prin introducerea unei macrocelule de ieire. s Astfel de faciliti apar pe terminalele bidirectionale I/O prin at mbogirea circuisat ticii respective denumirea pentru aceast circuistic este de macrocelul de ieire. a a a s Figura 2.58 este desenat un terminal I/O de la un circuit GAL, care este, de fapt, In grupul de celule AND corespunztoare terminalului I/O 4 de la structurarea tipic de a a PAL din Figura 2.56, dar acum are pe ieire o macrocelul de ieire. Un circuit s a s GAL are attea astfel de grupuri, care au ieirea pe o macrocelul, cte terminale a s a a I/O prezint. Din aceast gur se observ c macrocelul s-a inclus i poarta a a a a a n a s OR, colectoare de termeni produs, care uzual are la ieirea sa un XOR pentru a putea s selecta polaritatea, adic: e functia, e functia negat. circuistica macrocelulei a a In sunt incluse: buer de ieire TSL; celul pentru validarea ieirii (buerului); multis a s plexoare pentru diferite selectri de semnale; latch-uri pentru memorarea de semnale a i evident, cale de reintroducere a semnalului, obtinut la inirea portii OR (sum de s s a produse), matricea programabil AND (vezi sectiunea 4.5). n a Circuitul GAL poate implementa o gam mare de circuite combinationale i seca s ventiale.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

273

2.5

CIRCUITE COMBINATIONALE PENTRU FUNCTII NUMERICE

Procesarea informatiei, sistemele digitale, se bazeaz pe algoritmi ce utilizeaz n a a ntr-o pondere ridicat operatii aritmetice. consecinta, o mare parte din circuisa In tica sistemelor digitale este construit din circuite cu functii numerice. raport cu a In circuitele logice, general, la circuite numerice gradul de replicare este mai mare. n Aceast replicare apare urma faptului c operatiile aritmetice se realizeaz asupra a n a a cuvintelor cu lungime relativ mare i, mai mult, operatia respectiv se aplic identic s a a asupra ecrei pereche de biti din cuvintele procesate. consecinta, la circuitele cu a In functii numerice metoda general de sintez se bazaez pe identicarea unui circuit a a a elementar/celul care proceseaz o pereche de biti, urmnd apoi replicarea pn la a a a a a nivel de cuvnt (vezi sectiunea 2.2.5). Prezentarea, continuare, a circuitelor cu a n functii numerice se va face prin identicarea circuitului elementar i, apoi extensia lui s prin replicare.

2.5.1

Comparatorul

Circuitul comparator determin identitatea a ntre bitii de acelai rang a dou cu s a vinte. Pe lng relatia de egalitatea a celor dou cuvinte comparate, se poate detera a a mina i o relatie de mai mare, mai mic. general, prin comparator sub form de s In a circuit integrat discret se elege circuitul care determin pentru dou numere, nt a a exprimate binar, relatiile de ordine =, <, >; deci calculeaz functia de egalitate n a Fe , de inferioritate Fi i de superioritate Fs . Sinteza unui comparator, de exemplu, s pentru dou cuvinte de patru biti, A = A3 A2 A1 A0 i B = B3 B2 B1 B0 , dup metoda a s a normal de sintez pornind de la tabelul de adevr ar destul de greoaie. O astfel a a a de sintez ar necesita pentru ecare dintre functiile F e , Fs i Fi cte un tabel cu 256 a s a linii (conguratii de intrare). O alt modalitate se sintez a comparartorului utilizeaz ideea expus sectiunea a a a a n 2.2.5, identicarea unei celule repetitive structurarea circuitului. O astfel de celul n a replicabil, ce se poate identica, este celula comparator pentru doua cuvinte A i B de a s cte un singur bit, care genereaz cele trei functii f e , fi i fs . Sinteza comparatorului a a s de doi biti este simpl pentru ca se pleac de la un tabel de adevr cu numai patru a a a conguratii de intrare, Figura 2.59-a. Functiile obtinute f e = A B + A B = A B, fi = A B i fs = A B sunt implementate ecare pe cte o poart apoi acestea sunt s a a reunite ntr-un singur circuit comparatorul pentru dou cuvinte de un bit. a Bazndu-se pe celula comparator pentru cuvinte de cte un singur bit se poate a a face sinteza unui comparator pentru cuvinte de n biti, ca exemplicare se va face sinteza pentru cuvinte de patru biti; comparatorul de patru biti este uzual aplicatii n ca circuit integrat discret. Relatiile de ordine F se determin din relatiile de ordine a f pentru ecare pereche de biti, dar pornind de la perechea cu rangul cel mai ridicat felul urmtor: n a relatia de egalitate Fe , A = B a cuvintelor de patru biti exist cnd: A 3 = B3 a a i A2 = B2 i A1 = B1 i A0 = B0 ceea ce formal se exprim prin: s s s a Fe = fe3 fe2 fe1 fe0

274

2.5. CLC PENTRU FUNCTII NUMERICE

relatia de superioritate Fs , A > B exist cnd: A3 > B3 sau A3 = B3 i a a s A2 > B2 sau A3 = B3 i A2 = B2 i A1 > B1 sau A3 = B3 i A2 = B2 i s s s s A1 = B1 i A0 > B0 ceea ce duce la urmtoarea expresie logic s a a Fs = fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0 relatia de inferioritate Fi , A < B, se deduce printr-un rationament asemntor a a i are forma s Fi = fi3 + fe3 fi2 + fe3 fe2 fi1 + fe3 fe2 fe1 fi0
fi fe fs A 0 0 1 1 B 0 1 0 1 fe fs 1 0 0 0 0 1 1 0 fi 0 1 0 0 A B fi A<B fe A=B fs A>B

A B a) A3 A2 A1 A0 B3 B2 B1 B0 Fi
s s

Comp. de 1 bit

A<B A=B

Fi

fs f e3 fs 3
2

fs f e3 fs 3
2

Fe f e3 fe 2 fe Fs f 1 e0 A>B s Fe

Fe A=B

s Fs

Fe

fe f e3 fs 2 f e1 f e3 f e2 fs 1 0 fe f e3 f e2 f e1
S FS
0

fe f e3 fs 2 f e1 Fs f e3 A>B f e 2 fs 1 0 fe f e3 f e2 f e1 s0 Fi A 3A 2A 1A 0 C0 B3 B2 B1 B0

Fi A<B

b) +5V s Fe
s Fi s Fs

A 7A 6A 5A 4 C1

B7 B6 B5 B4 Fe Fs Fi

74xx85

s Fe s Fs s Fi

F e (A=B) F s (A>B) F i (A<B)

74xx85

c)

Figura 2.59 Comparatorul: a) circuitul comparator pentru dou cuvinte de un bit; a b) circuitul comparator pentru cuvinte de patru biti; c) comparator pentru cuvinte de un byte realizat pe baza circuitelor 74xx85. Evident c pot calculate numai dou din cele trei functii deoarece ecare dintre a a acestea se poate deduce din conjunctia negatelor celorlalte dou functii. a i Fs Fi = Fs Fe Fs = Fe Fi Fe = F

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

275

Totui din rationamente de arcare i de a uniformiza timpii de propagare ecare s nc s dintre aceste functii se implementeaz separat ca Figura 2.59-b. Circuitul compara a n tor de patru biti trebuie s aib posibilitatea de a utilizat i ca o component a a s a n realizarea comparatoarelor pentru cuvinte cu lungime multiplu de patru biti. Pentru calculul ecrei dintre cele trei relatii, de ordine a ntre dou numere, se pornete de a s la rangurile superioare. Chiar dac pe un interval continuu de biti, al celor dou a a cuvinte, relatia de ordine este ndeplinit evident c relatia pe cuvntul a a a ntreg nu va ndeplinit dac pe intervalul de biti superior acestui interval relatia respectiv a a a nu este ndeplinit. consecinta, ecare circuit de patru biti pentru calculul uneia a In dintre cele trei relatii Fe , Fi i Fs trebuie s primeasc, ca o validare, de la circuitul s a a intervalului superior de patru biti, semnalul respectiv al relatiei de ordine F e s , Fi s a s a n i Fs s . Tinnd cont i de aceasta, relatiile anterioare de ordine se modic felul s urmtor: a Fe Fs Fi = fe3 fe2 fe1 fe0 Fe s = fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0 + +fe3 fe2 fe1 fe0 Fs s = fi3 + fe3 fi2 + fe3 fe2 fi1 + fe3 fe2 fe1 fi0 + +fe3 fe2 fe1 fe0 Fi s

Circuitul 74xx85 este un comparator care modeleaz aceste relatii. Figura 2.59a In c este prezentat o structur pe baz de circuite 74xx85 pentru determinarea relatiilor a a a de ordine ntre dou cuvinte de un byte. Se observ c semnalele relatiei de ordine a a a Fe , Fi i Fs calculate pe circuitul comparator C1 al intervalului de biti 7 4 se aplic s a a sub forma semnalelor Fe s , Fi s , Fs s la circuitul comparator urmtor C0 , al intervalului de biti 3 0.

2.5.2

Sumatorul

Adunarea este operatia aritmetic cu frecventa cea mai ridicat care se realizeaz a a a pe echipamentele de calcul electronic, se consider c i incrementarea este tot o a a s adunare, cnd un operand este unu. consecinta, exist tendinta justicat ca tima In a a pul de realizare al operatiei de sumare T , luat foarte adesea ca reper de comparatie pentru performante de vitez ale sistemelor de calcul, s e ct mai mic. De exemplu, a a a dac timpul operatiei de sumare, pe un procesor, este redus de la 3ns la 2, 5ns aceasta a nseamn o cretere de la 3, 33 106 adunri/s cu a 670.000 adunri/s. De aceea, a s a nc a structurile de circuite sumator i celulele componente ale acestora continu, a, s s a nc a e intens studiate functie de tehnologia de implementare. aceast sectiune se n In a vor expune doar structurile fundamentale de circuite sumatoare la care pot reduse multe din sumatoarele existente. Pentru o abordare exhaustiv a circuitelor aritmetice a recomandm [Omondi 94]. a 2.5.2.1 Sumatorul cu Transport Progresiv, STP

Sumarea a dou numere binare exprimate sub forma a dou cuvinte A i B cu a a s lungimea de n biti se realizeaz prin adunarea ecrei perechi de biti A i i Bi a a s ncepnd a cu perechea A0 , B0 , de rang zero (20 ), pn la perechea An1 , Bn1 , de rang n 1 a a (2n1 ). Pe ecare rang adunarea se realizeaz cu un circuit denumit celul sumator a a

276

2.5. CLC PENTRU FUNCTII NUMERICE

complet, notat simbolic (3, 2). Celula sumator (3, 2), de exemplu, pentru rangul a i (corespunde ponderii 2i valoarea numrului) are trei intrri (Ai ,Bi i transportul n a a s anterior, Ci1 , generat de celula de rang i1) i dou ieiri (s i suma, i Ci , transportul s a s s urmtor, care se aplic la celula urmtoare, de rang i + 1, ca transport anterior). a a a In Figura 2.60-a este reprezentat numai celula de rang 2 i a unui sumator la care, de pe a cele dou magistrale pentru cuvintele de a nsumat A i B, se aplic bitii A i i Bi i se s a s s genereaz bitul sum si pe linia i a magistralei S pentru cuvntul sum. a a a a Exist i celul semi-sumator (2, 2), care sumeaz doar cele dou intrri A i as a a a a i Bi , far transport anterior, i genereaz si i Ci . Tabelul de adevr al celulei s a s a s a (3, 2) este prezentat Tabelul 1.6. Expresiile logice deduse, relatiile 1.15 i 1.16, n s n sectiunea 1.14 pentru si i Ci arat c suma si este functia P ARIT AT E(Ai , Bi , Ci1 ) s a a (are valoarea 1 cnd un numr impar de intrri sunt 1, Figura 2.19-b) iar transportul a a a urmtor Ci este functia logic M AJORIT AR(Ai , Bi , Ci1 ) (are valoarea 1 cnd cel a a a putin dou din cele trei intrri sunt 1). Rescriem aceste relatii logice: a a si Ci = P ARIT AT E(Ai , Bi , Ci1 ) = Ai Bi Ci1 = M AJORIT AR(Ai , Bi , Ci1 ) = Ai Bi + Ai Ci1 + Bi Ci1 = = Ci1 (Ai Bi ) (Ai Bi ) Ultima form a relatiei pentru Ci a fost adus la o exprimare numai cu operaa a tori NAND pentru a putea implementat NAND-NAND, care duce la o structur a a de circuite mai rapide dect circuitele implementate pe dou niveluri neinversoare a a AND-OR. Conform exprimrilor prin relatiile 2.17 rezult pentru celula (3, 2) ima a plementarea din Figura 2.60-b. Relatiile anterioare pentru si i Ci pot exprimate i felul urmtor, utile pentru s s n a implementare tehnologie CMOS: n si Ci = Ai Bi Ci1 = Ai Bi + Ci1 (Ai + Bi ) (2.18)

(2.17)

Se observ c spre deosebire de relatiile 2.17, cnd componenta (A i Bi ) calculat a a a a expresia lui si era utilizat i expresia lui Ci , acum ecare functie este calculat n a s n a independent, ceea ce creaz posibilitatea realizrii unui lant al tuturor circuitelor gena a eratoare de Ci independent de porti ale generatoarelor de sum s i . Implementarea a celulei (3, 2), conform relatiilor 2.18, este prezentat Figura 2.60-c; este dese a n nat circuitul electric numai pentru Ci , cel pentru si este desenat Figura 1.64-c. n Realizarea celulei sumator complet necesit 32 de tranzistoare. a O alt form de exprimare pentru si i Ci este urmtoarea: a a s a si Ci = Ai Bi Ci1 + (Ai + Bi + Ci1 ) (Ai Bi + Ci1 (Ai + Bi )) = = Ai Bi Ci1 + (Ai + Bi + Ci1 ) C i1 = Ai Bi + Ci1 (Ai + Bi )

(2.19)

a De data aceasta generatorul de sum utilizeaz expresia lui C i1 , calculat de a a generatorul de transport urmtor. Structurarea corespunztoare a celulei (3, 2) este a a prezentat Figura 2.60-d. Realizarea celulei necesit necesit 28 de tranzistoare a n a a deoarece anumite organizri de sumatoare sunt necesare semnalele s i i Ci , deci n a s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

277

A B

n
1

Ai

Bi Ci

A B

n
1

Ai

Bi

Ci

(3,2)

C i1

C i1 (3,2)

a)

si b)

si

A B

n
1

Ai Bi
1

Ai Bi C i1

Ai

Bi C i1

V DD Ai Bi Ci

Ci

A i A i Bi Bi C i1 i1 C C i1 C i1

Ai +Bi +Ci1
(3,2) c) S n n
1 1

(figura 1.64c) si si V DD A B C i1 A

A B

Ai

Bi

B A

Ci

Ci

C i1 Ci si

B C i1 si B A C i1 Ci

C i1 A (3,2) n si
1

A B B C i1 B

d)

si

Figura 2.60 Celule sumator complet, (3, 2): a) modul de conectare a celulei de rang i a unui sumator, la magistralele cuvintelor de nsumat (A,B) i la magistrale s cuvntului sum S; b) structura logic a celulei conform relatiei 2.17; c,d) structura a a a logic i implementarea tehnologie CMOS conform relatiilor 2.18 i 2.19. as n s

278

2.5. CLC PENTRU FUNCTII NUMERICE

amplicatoarele de ieire pentru aceste dou semnale pot eliminate; structura din s a gur corespunde cazului de utilizare si i Ci . a s Sumatorul cu transport progresiv pentru sumarea a dou numere de n biti, se a obtine prin punerea paralel a n celule sumator complet, dar portile generatoare de n transport urmtor se a nseriaz a ncepnd de la celula de rang zero pn la celula de a a a rang (n1); transportul urmtor Ci1 , generat de celula de rang (i1), este aplicat ca a transport anterior la celula urmtoare de rang i, Figura 2.61-a. La aplicarea simultan a a pe cele dou magistrale A i B a numerelor de a s nsumat i a transportului de intrare s n sumator C1 (la celula de rang zero, general, se consider C 1 = 0) se genereaz, pe n a a magistrala S, cuvntul sum rezultat i la ieire transportul urmtor C n1 , de la celula a a s s a corespunztoare perechei de biti cei mai semnicativi. Dimensiunea sumatorului cu a transport progresiv este SSU M (n) = 5 n O(n). Cu o astfel de dimensiune i o s structur, prin replicarea celulei (3, 2), sumatorul cu transport progresiv este uor a s realizabil deoarece rezult o geometrie pe siliciu simpl i repetitiv. a as a ceea ce privete timpul de sumare T acesta este tot O(n) ceea ce pentru In s n n de valori mari, de exemplu pentru lungimile de cuvnt de 64 sau 128 biti la proa cesoarele actuale, determin ca acest tip de sumator s nu e aplicabil. Timpul de a a sumare T trebuie s e mai mare sau egal cu cel mai lung timp de propagare al a transportului care apare cnd transportul C0 = 1 generat celula de rang zero a n (se consider C1 = 0) se propag progresiv din celul celul pn la celula de rang a a a n a a a n1 unde se genereaz transportul Cn1 .Timpul cel mai lung de propagare se obtine, a de exemplu, cnd se adun operanzii A = 11 . . . 11, B = 00 . . . 01 i se calculeaz cu a a s a relatia (se consider c toti bitii celor dou cuvinte se aplic simultan) a a a a = A0 B0 C0 + (n 2)C(i1) Ci + C(n2) sn1 T care: n a A0 B0 C0 este intervalul de timp din momentul aplicrii bitilor A 0 , B0 , pe prima celul de rang zero, pn la generarea transportului C 0 ; a a a a C(i1) Ci este timpul de propagare al transportului pe o celul, din momentul aplicrii semnalului Ci1 pn la generarea lui Ci ; a a a C(n2) sn1 este arzierea, la celula de rang n 1, din momentul aplicrii nt a transportului anterior Cn2 pn la generarea bitului de sum s(n1) . a a a Din relatia 2.20 se deduce c pentru sumatoarele cu n mare reducerea timpu a lui total de propagare este sensibil la micorarea propagrii transportului pe celula a s a sumatoare, C(i1) Ci . La un sumator implementat cu celule cu structura din Figura 2.60-d micorarea componentei C(i1) Ci se poate obtine prin eliminarea inversorului s n de ieire din partea de generare de transport a celulei, deci se va utiliza numai Ci s i loc de Ci , pentru micorarea lui , va impune orgaloc de Ci . Utilizarea lui C n s n nizarea sumatorului ca la celulele din pozitiile pare (i nu rangurile pare!) s se aplice s a intrrile negate Ai ,Bi loc de Ai i Bi ; dar aceast alternare, a n s a ntre Ai , Bi i Ai ,Bi s cnd se trece de la pozitii impare la pozitii pare atrage dup sine ca i inversorul de a a s pe ieirea si , al celulelor din pozitii pare, s e eliminat. s a Evident, un sumator nu poate comandat pentru o nou operatie de sumare a dect numai dup un interval de timp egal cu timpul de sumare T , rezult c a a a a (2.20)

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

279

timpul de propagare al transportului este un parametru limitativ viteza de lucru a n sumatoarelor.


A B n n A n1 C n1
1 1

Bn1 C n2

Ai Ci

1 1

Bi C i1 C1

A1

1 1

B1 C0

A0

1 1

B0 C 1

(3,2)
1

(3,2)
1

(3,2)
1

(3,2)
1

S a)

sn1

si B A n n n A

s1 n B

s0

n Ai I i_L Bi_L I (i1)_L C n1 di S c) D

1 1 C 1 c

(3,2)

Sumator/Scazator pentru cuvinte de n biti n n

b)

Figura 2.61 Sumatorul cu transport progresiv, STP: a) organizare de principiu pentru un sumator STP de n biti; b) reprezentarea (schem bloc) celulei scztor com a a a plet (3, 2); c) organizare de principiu pentru un circuit sumator/scztor comandat a a care realizeaz scderea pentru c = 1 i adunarea pentru c = 1. a a s aceeai modalitate care s-a structurat sumatorul se poate face i strucIn s n s turarea unui scztor care realizeaz scderea numrului B (scztor) din numrul A a a a a a a a a (desczut), A B. Tabelul de adevr pentru o celul scztor complet, (3, 2), a a a a a este prezentat Tabelul 1.6, are trei intrri (A i , bitul desczut; Bi , bitul scztor; n a a a a Ii1 , mprumutul anterior) i dou ieiri (di , diferenta rezultat; Ii , s a s a mprumutul urmtor). Prin sinteza pe baz de 1 se obtin relatiile: a a di =Ai Bi Ii1 Ii =Ai Bi + Ai Ii1 + Bi Ii1 pentru care, la prima relatie, utiliznd identitatea B i Ii1 = Bi Ii1 , iar la a doua a aplicnd teorema lui De Morgan, se obtin exprimrile: a a di =Ai Bi Ii1 Ii =Ai Bi + Ai Ii1 + Bi Ii1 (2.21)

Comparnd relatiile 2.17 cu relatiile 2.21 se poate face o echivalenta a ntre celula sumator complet i celula scztor complet. Aceast echivalenta determin urmtoas a a a a a rea armatie: o celul sumator complet devine o celul scztor complet dac bitul a a a a a a a Bi se consider activ starea low, Bi L (devine scztorul), transportul anterior a n

280

2.5. CLC PENTRU FUNCTII NUMERICE

Ci1 se consider activ starea low, I(i1) L (devine a n mprumutul anterior) i transs portul urmtor Ci se consider activ starea low, Ii L (devine a a n mprumutul urmtor). a Reprezentarea pentru o celul (3, 2) este dat Figura 2.61-b. Rezult c orgaa a n a a nizarea de sumator cu transport progresiv poate transformat a ntr-o organizare de scztor cu a a mprumut progresiv dac: bitii cuvntului B, a a nainte de aplicare la sumator, sunt complementati printr-un inversor (devine scztor) iar transporturile a a sunt considerate active starea low (devin n mprumuturile) i, evident, s mprumutul initial I1 L = 1 (invers ca la functionarea de sumator C1 = 0) este inactiv H n (transportul initial C1 era inactiv starea L). n Aceeai transformare a sumatorului scztor poate realizat pornind de la s n a a a faptul c o scdere AB poate privit ca o adunare a numrului A cu complementul a a a a fata de doi a numrului scztor B, (B = [B] 2 ), deci A + [B]2 . Complementul a a a fata de doi se obtine din complementul fata de unu [B] 1 , care se realizeaz prin a complementarea lui B, la care apoi se adaug 1, adic [B] 2 = [B]1 + 1. Un inversor a a comandat de o variabil de control c se obtine cu o poart XOR, Bc. Se poate genera a a att A + B ct i A B, functie de valoarea variabilei de control, cu urmtoarea a a s n a expresie: A + [B]1 + 1 = A + [B]2 = A B A+B+0=A+B pentru c = 1 pentru c = 0

A+Bc+c=

(2.22)

Implementarea corespunztoare este reprezentat Figura 2.61-c, pentru c = 0 a a n se realizeaz adunarea A = B, iar pentru c = 1 se realizeaz scderea A B, deci o a a a structurare de sumator/scztor, S/D, comandat. a a 2.5.2.2 Sumatoare de performant ridicat a a

La sumatorul cu transport succesiv, deoarece timpul de sumare T nu poate mai mic dect timpul de propagare a transportului , relatia 2.20, a n ntregul lant de celule, deci performanta de vitez este sczut. De fapt, la orice tip de suma a a a tor adunarea obtinut nu poate considerat efectuat pn nu se calculeaz corect a a a a a a att bitul sum sn1 ct i bitul de transport urmtor Cn1 . Dar acestea nu pot a a a s a calculate corect pn nu se primete transportul anterior C n2 , care la rndul su dea a s a a pinde de sosirea transportului Cn3 i aa mai departe pn se ajunge la generarea lui s s a a C0 . Toate tipurile de sumatoare, i exist foarte multe, pentru a obtine performante s a de vitez superioare celui cu transport progresiv, prin diferite articii logice sau de a organizare, calculeaz valoarea Cn1 a ntr-un timp mai mic dect cel necesar pentru a transportul progresiv din celul celul, relatia 2.20. acest sens, se vor prezenta a n a In diferite modaliti de reducere a timpului de calcul pentru determinarea propagrii at a transportului aplicate la trei tipuri de circuite sumatoare denumite: a) sumator cu transport anticipat, b) sumator cu lant Manchester i c) sumator cu selectarea trans s portului. a). Sumatorul cu transport anticipat, STA. Ideea transportului anticipat const calculul transportului Ci1 , pentru obtinerea sumei si = Ai Bi Ci1 a n la celula sumatoare de rang i, nu functie de valorile anterioare ale transporturilor n C0 , C1 , . . . , Ci2 (care necesit timp de propagare) ci functie numai de valorile a n care se aplic primul moment la intrrile sumatorului adic C 1 , A0 i B0 , A1 i a n a a s s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

281

B1 , . . . , Ai1 i Bi1 , cum este sugerat din Figura 2.62-a. Pentru acest calcul s n avans/anticipat al valorii lui Ci , generat de celula de rang i, se vor utiliza variabilele intermediare pi propagare i gi generare introduse pentru o celul (3, 2) Tabelul s a n 1.6 i care acum se vor redeni contextul unui sumator. s n Pentru o conguratie a valorilor bitilor Ai , Bi , aplicat la celula de rang i, a exist o generare de transport urmtor Ci = 1 atunci cnd variabila generare are a a a valoarea 1 indiferent de intrrile anterioare C 1 , Ai1 A0 , Bi1 B0 . Evident, a conguratia de intrare, pentru care Ci = 1, este Ai = 1 i Bi = 1, deci variabila s intermediar generare este obtinut prin produsul logic g i = Ai Bi . a a Variabila intermediar propagare va avea valoarea p i = 1 pentru acele cona guratii ale valorilor bitilor Ai , Bi pentru care se produce Ci = 1 prezenta n unui transport anterior Ci1 = 1 (generat de intrrile anterioare C0 , Ai1 A0 , a Bi1 B0 ). Aceast propagare prin celul se realizeaz cnd cel putin un bit a a a a de intrare pe culala i are valoarea 1, deci variabila intermediar propagare a este o sum logic de intrri pi = Ai + Bi . a a a Pe celula i se genereaz transport urmtor atunci cnd g i = 1 SAU atunci cnd a a a a Ci1 = 1 i exist propagare (pi = 1), rezult relatia: s a a Ci = gi + pi Ci1 = Ai Bi + (Ai + Bi ) Ci1 (2.23)

Dar pentru propagare loc de relatia sum logic se poate utiliza operatorul n a a XOR, pi = Ai Bi care acoper numai conguratiile Ai = 1 i Bi = 0 sau Ai = 0 a s i Bi = 1 nu i conguratia Ai = 1 i Bi = 1. Oricum, pentru conguratia Ai = 1 s s s i Bi = 1 exist transport urmtor, Ci = 1, relatia 2.23, chiar dac acesta nu este s a a n a obtinut prin propagare ci prin generare gi = Ai Bi = 1; ceea ce rezult i din faptul c as a urmtoarea relatie este o identitate Ai Bi +(Ai +Bi )Ci1 = Ai Bi +(Ai Bi )Ci1 . a Deci pentru transportul urmtor este corect i relatia urmtoare: a as a Ci = gi + pi Ci1 = Ai Bi + (Ai Bi ) Ci1 (2.24)

care are avantajul c propagarea pi odat calculat (ca sum modulo doi) poate a a a a utilizat i pentru calculul lui si dup cum se observ din urmtoarele dou grupuri as a a a a de relatii aplicabile unei celule (3, 2): grup 1 gi pi Ci si = = = = Ai B i Ai B i gi + pi Ci1 pi Ci1 gi pi Ci si = = = = grup 2 Ai B i Ai + B i gi + pi Ci1 Ai Bi Ci1 (2.25)

Pornind de la relatia 2.24, pentru un sumator de n biti, exprimnd transportul a urmtor al unei celule sumator functie de transportul initial de intrare C 1 i de a n s toate variabilele de propagare i generare ale celulelor anterioare se obtin expresiile: s

282

2.5. CLC PENTRU FUNCTII NUMERICE

C0 C1 C2 .. Ci

= g0 + p0 C1 = g1 + p1 C0 = g1 + p1 g0 + p1 p0 C1 = g2 + p2 C1 = g2 + p2 g1 + p2 p1 g0 + p2 p1 p0 C1 = gi + pi gi1 + pi pi1 gi2 + + pi pi1 pi2 . . . p3 p2 p1 p0 C1

(2.26)

din care rezult posibilitatea ca, paralel, s se calculeze anticipat toate transpora n a turile urmtoare fr a mai atepta transportul anterior. Fiecare transport urmtor, a aa s a Ci , aceste relatii se calculeaz pe dou niveluri logice AND-OR plus a un nivel n a a nc logic pentru calculul variabilelor intermediare g i , pi (respectiv pe o poart AND sau o a poart OR/XOR), deci total trei niveluri logice. Pentru timpul de calcul al sumei a n si se mai adaug a un nivel corespunztor portii XOR, Figura 2.62-a. Rezult a nc a a c timpul de sumare T , egal cu cel al ecrei celule, este constant i corespunde a a s parcurgerii a patru niveluri logice indiferent de numrul de biti ai sumatorului. a Aceast performanta de vitez atrgtoare la STA, timp de sumare constant egal a a a a cu patru niveluri logice, este mult diminuat la implementri pentru n de valori mari a a datorit creterii dimensiunii, fan-out i fan-in, capacitilor parazite i iregularitii a s s at s at geometrice pe siliciu (layout). Considernd pentru o poart XOR o dimensiune dubl a a a fata de AND sau OR rezult dimensiunea unui STA: a SST A (n) = (n3 + 9n2 + 74n)/6 O(n3 ) Circuitul pentru generarea lui Cn1 necesit n porti AND din care una cu n intrri a a plus o poart OR cu n + 1 intrri (portile AND sau OR cu n > 4 prin asociativitate a a se realizeaz pe mai multe niveluri, vezi Exemplul 2.12). De asemenea, ecare semnal a gi trebuie s comande (n i) intrri iar pi trebuie s comande (i+1)(n-1) intrri. a a a a In consecinta, STA-urile sunt limitate, general, la n = 4. n Pentru un STA cu n = 4 un circuit pentru generarea lui C 3 este prezentat n Figura 2.62-b. Organizarea circuitului se bazeaz pe rescrierea expresiei lui C 3 a n felul urmtor: a C3 = g3 + p3 (g2 + p2 (g1 + p1 (g0 + p0 C1 ))) cu o implementare de tip dinamic pe o poarta CMOS (nMOS) domino. Circuite generatoare doar pentru C2 , C1 sau C0 se pot obtine din structura circuitului pentru C3 prin eliminarea succesiv respectiv a perechilor g 2 , p2 ; g1 ,p1 i g0 ,p0 . a s Organizarea de principiu a unui STA este prezentat Figura 2.62-c, care a n n sunt indicate cele trei generatoare componente: generatorul g i , pi , generatorul de transport urmtor Ci i generatorul de sum si . Aceste trei generatoare pentru un a s a rang i(= 0, 1, 2, 3) se obtin prin particularizare circuitele din gurile 2.62-a i 2.62-b. n s Obtenabile, comercial ca circuite integrate discrete, exist circuitele sumatoare a 74xx283 i 74xx83, care sunt STA de patru biti. s Deoarece este dicil de realizat STA cu n ridicat se poate utiliza avantajul metodei transportului anticipat prin organizarea sumatorului prin nserierea a n/m blocuri cu transportul anticipat, ecare bloc ind de m biti, un astfel de sumator este referit ca sumator cu transport anticipat pe blocuri, STAB, cu reprezentarea din Figura 2.62-d. STAB poate privit ca un sumator cu transport progresiv care are drept celule module de m biti cu transport anticipat. Adncimea pentru aceast organizare a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

283

Ai Bi A i1 A0 Bi1 B0 C 1 a) Circuit pentru generarea transportului anticipat

pi=A i+Bi

si

Generare pi, gi

Generare Ci p3 g3 p2 g2 p1 g1 p0 g0 C3 23 C2

Generare si s3

C i1 A3 B3

C2 22 C1

V DD CLK p3 p2 p1 g1 g2 g3

C3

A2 B2

s2

C1 21 C0

A1 B1

s1

C0 C 1 20

p0 C 1 b) A n B n A n1 C n1

g0

A0 B0

s0

CLK

c)

C 1

A n1m Bn1

Bn1m

A 2m1 C 2m1

B2m1

Am

m bit STA
sn1 snm

m bit STA
s2m1

A m1 Bm C m1 sm

Bm1

A0

B0 C 1 s0

m bit STA
sm1

S n d)

Figura 2.62 Sumatorul cu transport anticipat, STA: a) schema de principiu pentru celula de rang i a unui STA; b) circuitul dinamic CMOS (nMOS) pentru generarea transportului anticipat C3 peste patru ranguri de sumator; c) organizarea unui STA de patru biti cu identicare pentru ecare rang al celor trei generatoare componente (pentru pi i gi , Ci , si , iar calculul se face dup grup 1 din relatiile s a 2.25); d) organizarea unui sumator cu transport progresiv, dar pe baz de blocuri cu a transport anticipat, STAB.

284

2.5. CLC PENTRU FUNCTII NUMERICE

este 2(n/m + 1) niveluri logice, deci intermediar ntre STP i STA, iar dimensiunea s este n/m ori a unui STA de m biti. Se pot concepe i alte organizri de sumatoare pe baz de blocuri componente STA s a a dar la care se elimin transportul progresiv dintre blocuri i se realizeaz pentru cte a s a a un grup de blocuri, exteriorul ecrui grup, un circuit pentru calculul transportului n a anticipat. De exemplu pentru numere de 64 biti, dac se utilizeaz module STA de 4 a a biti rezult patru grupuri, ecare grup de cte patru blocuri, deci patru circuite ex a a terioare, ecare circuit exterior calculeaz transportul anticipat pentru cte un grup a a (pe patru STA de patru biti). Apoi, peste cele patru circuite de calcul de transport anticipat se poate conecta exteriorul lor un al cincelea asemenea circuit care, caln culeaz transportul anticipat pe a ntreg sumatorul de 64 biti [Wakerly 2000][Omondi 94]. Pentru calculul exterior al transportului anticipat exist circuitul 74xx182, n a Figura 2.76-c. b). Sumatorul cu lant Manchester, SM. Acest tip de sumator, unul din primele utilizate, realizeaz un traseu separat pentru propagarea transportului. De a fapt, i organizarea unui sumator cu transport progresiv cu celule ca cea din Figura s n 2.60-b se realizeaz o cale continu (un lant) de la C 1 pn la Cn1 pentru propaa a a a garea transportului. Rezult c, un sumator cu lant Manchester este un sumator cu a a transport progresiv cu particularizarea c pe traseul de propagare nu sunt porti ci a comutatoare comandate. Figura 2.63 sunt prezentate segmentele corespunztoare In a celulelor de rang (i 1) i i din lantul unui sumator Manchester. s
Celula i "1" A iBi Ci A iBi "0" Sgi Spi A i+Bi Soi pi si A i1Bi1 Celula (i1) Sg(i1) Sp(i1) A i1+Bi1 So(i1) pi1 s(i1) C i2 A i Bi 0 0 1 1 1 0 Si

A i1Bi1 C i1

0 So=A iBi Spi=A i+Bi

1 Sgi=A iBi

Figura 2.63 Structurarea de principiu a unui sumator cu lant Manchester. Din tabelul de adevr din aceast gur se deduce: pentru conguratia bitilor a a a Ai Bi = 01 sau 10 comutatorul Spi (de propagare) conecteaz Ci1 la Ci , iar pentru a conguratia Ai Bi = 11 comutatorul Sgi (de generare) determin valoarea 1 pentru a transportul urmtor, Ci . Pentru Ai Bi = 00 comutatorul S0i aplic valoarea 0 pena a tru Ci . Evident, comenzile celor trei comutatoare, calculate cu porti AND, XOR i s NAND cu cei doi biti Ai , Bi sunt exclusive. Ca elemente comutatoare pot utilizate tranzistoare de trecere sau porti de transmisie CMOS astfel c timpul de propagare a este foarte redus. anumite implementri, pentru creterea vitezei, transportul se consider activ In a s a n stare L, aceasta permite ca intervalul dintre dou operatii de sumare lantul (zic) n a de transfer (de exemplu, din trazistoare de trecere) s e arcat la potential H, a nc

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

285

iar cnd se realizeaz sumarea celula, care produce un transfer urmtor, va descrca a a a a lantul la potentialul masei. Se alege aceast variant deoarece, lantul ind echivalent a a cu o sarcin capacitiv, descrcarea la potentialul masei se realizeaz cu o constant de a a a a a timp mai mic dect constanta de timp de arcare la potentialul H i prin aceasta a a nc s rezult o valoare mai mic pentru timpul de propagare al transportului (T a a ). Aceast schimbare a polaritii de activare pentru transport determin pentru a at a comutatorul Sgi = Ai Bi s e conectat la mas, iar comutatorul S0i = Ai + Bi s a a a e conectat la 1 (potentialul H), raport cu organizarea din Figura 2.63. Structura n de sumator cu lant Manchester este simpl i ordonat ceea ce recomand pentru as a l a implementri VLSI. a Ideea de a realiza o cale separat pentru propagarea transportului este utilizat a a i la sumatoarele cu saltul transportului. La variantele de sumatoare cu saltul s transportului se realizeaz exterior, peste cte un grup de celule, un traseu de grup a n a separat pentru propagarea transportului care intr acel grup. Cnd propagarea a n a pe acel grup de celule (egal cu produsul logic al variabilelor propagare ale tuturor celulelor din grup) are valoarea 1, traseul de grup este comandat conductie realiznd n a o cale direct ( exteriorul grupului) pentru transportul de intrare grup pn la a n n a a ieirea din grup, eliminndu-se astfel timpul lung de propagare al transportului din s a celul celul. Ideea poate dezvoltat sensul c se poate realiza de asemenea a n a a n a a un traseu, peste alte cteva trasee de grup, care va comandat conductie (va nc a n scurtcircuita traseele de grup) cnd sunt conductie toate traseele de grup (produsul a n logic al propagrilor de pe traseele de grup este 1) [Omondi 94]. a c). Sumatorul cu selectarea transportului, SST. Atractia i performantele s sumatorului cu selectarea transportului sunt datorate ideii simple pe care se bazeaz a functionarea sa. Intr-un sumator, divizat blocuri, suma calculat corect pe un bloc n a nu este realizat pn nu sosete transportul anticipat de la blocul anterior. Dar, a a a s acest transport, cnd sosete, nu poate dect 1 sau 0, deci se pot realiza dou a s a a blocuri sumator, paralel, care sumeaz aceleai numere cu deosebirea c unui bloc n a s a i se aplic permanent 1 ca transport anterior iar celuilalt 0 ca transport anterior. a In momentul cnd transportul anterior sosete se va selecta suma deja calculat de la a s a blocul care a avut aplicat transportul anterior egal cu valoarea transportului sosit de la blocul anterior. Organizarea de principiu a SST este reprezentat Figura 2.64-a. Blocurile coma n ponente pot oricare tip de sumator (STP, STA, cu lant Manchester, etc.). Primul bloc sumeaz bitii Am1 . . . A0 i Bm1 . . . B0 ai cuvintelor de sumat, iar, acelai a s n s timp, urmtoarele dou blocuri sumeaz tot m biti din subintervalele A 2m1 . . . Am a a a i B2m1 . . . Bm ale cuvintelor de sumat, dar la unul se aplic C in = 1 iar la cellalt s a a Cin = 0. Aplicnd simultan, pe intrrile celor trei blocuri, bitii corespunztori ai a a a numerelor de sumat, cu o anumit arziere (care depinde de tipul de organizare al a nt blocurilor sumatoare), se genereaz transporturile urmtoare C m , C2m1 0 , C2m1 1 a a i cele trei sume. Cu ajutorul transportului urmtor C m , generat de primul bloc, s a prin intermediul unui grup de mMUX2 : 1 se va selecta doar suma de la acel bloc urmtor care a realizat sumarea pentru Cin = Cm . acelai timp cu selectarea a In s 0 sumei, se selecteaz, tot functie de Cm , care din transporturile urmtoare C2m1 i a n a s 1 C2m1 , generate respectiv pentru Cin = 0 i Cin = 1, se va aplica la urmtoarele dou s a a blocuri. Acest transport urmtor selectat va realiza aceleai operatii de selectare pena s tru urmtoarele dou blocuri sumator ca i transportul C m pentru cele dou blocuri a a s a

286

2.5. CLC PENTRU FUNCTII NUMERICE

A 2m1 B2m1 C2m1


1

A m Bm A m1Bm1 s1 m Cin=1 Cm A 0 B0 C1

Sumator m biti
1 s2m1

C2m1 Selectare pentru urmatoarele doua blocuri in paralel

A 2m1

B2m1 A m

Sumator m biti 0 C2m1 0 s0 s2m1 m 1 0 1 0 s2m1 C31 sm

Bm Cin=0

Sumator m biti

a)

sm1

s0

lantul de propagare al transportului


Sumator 6 biti Sumator 7 biti Sumator 6 biti Sumator 5 biti Sumator 4 biti

C31

Cin=1 6

1 C25

Cin=1 7

1 C18

Cin=1 6

1 C12

Cin=1 5

1 C7

Cin=1 4

1 0

1 0

1 0

1 0

1 0

C3 4

Sumator 4 biti

C1

0 C31 Cin=0

Sumator 6 biti

0 C25 Cin=0

Sumator 7 biti

0 C18 Cin=0

Sumator 6 biti

0 C12 Cin=0

Sumator 5 biti

0 C7 Cin=0

Sumator 4 biti

6 b)

s31s26

s25s19

s18s13

s12s8

s7s4

s3s0

Figura 2.64 Sumatorul cu selectarea transportului, SST: a) la cele dou moda ule care functioneaz paralel, unul cu C in = 1 altul cu Cin = 0, se alege suma, deja a n calculat, care corespunde valorii transportului C in sosit de la modulul anterior; b) a organizarea unui SST pentru cuvinte de 32 biti.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

287

paralel din gur. n a Pentru a optimiza timpii de propagare, blocurile nu sunt de lungimi egale. Semnalul de selectare pentru dou blocuri care functioneaz paralel, se calculeaz, a a n a n lantul de propagare al transportului pe dou niveluri de porti, functie de transpor a n turile urmtoare C 0 i C 1 de la cele dou blocuri anterioare. Aceasta a s a nseamn, a n cazul care toate blocurile ar avea aceeai lungime, c semnalul de selectare ajunge n s a la urmtoarele dou blocuri paralel cu o arziere de dou nivele logice dup ce a a n nt a a sumarea pe aceste blocuri s-a efectuat, se presupune c la toate blocurile intrrile se a a aplic simultan. Deoarece sumarea a doi biti se realizeaz pe dou niveluri logice, a a a rezult c ecare pereche de blocuri urmtoare poate avea o lungime cu un bit plus a a a n fata de perechea de blocuri anterioare. Aplicnd acest mod de optimizare rezult a a pentru un SST de 32 biti urmtoarele lungimi de module 4-4-5-6-7-6, Figura 2.64-b, a ceea ce determin un timp de sumare egal cu arzierea prin 18 niveluri de porti, a nt (4 + 1 + 1 + 1 + 1 + 1) 2 = 18. Trebuie observat c pentru semnalul de selectare a crete fun-out-ul pe msur ce crete lungimea modulelor componente ceea ce devine s a a s un impediment la implementare cu n ridicat, la fel ca la STA.

Tabelul 2.3 Caracteristicile asimptotice ale unor tipuri de sumatoare Tipul de sumator STP STA SM SST Timpul sumare T O(n) O(log n) O(n) O( n) Aria consumat pe a siliciu ASi O(n) O(n log n) O(n) O(n)

Pentru sumatoarele prezentate, valorile asimptotice, la creterea numrului de s a biti n a cuvintelor sumate, ale caracteristicilor timp de sumare T i aria ocupat la s a implementarea siliciu, ASi , sunt prezentate Tabelul 2.3. Cunoaterea comportrii n n s a asimptotice a sumatoarelor este util elegerea lor dar, luarea unor decizii de a n nt organizare innd cont numai de valorile asimptotice, poate ascunde o capcan. t a a In general, organizarea unui sumator se face pe baz de blocuri, ca Figura 2.62a n a sau Figura 2.64-b, a cror lungime nu depete ordinul unitilor. Dar pentru a as s at blocuri sumatoare cu lungimi de ordinul unitilor, de exemplu n = 4, diferentele de at performanta sau de implementare ntre diferitele tipuri de structuri sumatoare, ca cele din Tabelul 2.3, nu sunt aa de evidente. Rezult c, aproape indiferent de tipul s a a de bloc folosit, important devine modul cum se organizeaz/conecteaz aceste blocuri a a ntr-un sumator de lungime ridicat (32,64,128 biti). a

2.5.3

Multiplicatorul

Echipamentele digitale sunt nzestrate tot mai frecvent cu circuite specializate pentru multiplicare; unitile aritmetice specializate (coprocesoare) sau procesoarele digat itale de semnal se numr printre acestea. Procesarea digital a semnalelor (corelatia, aa a

288

2.5. CLC PENTRU FUNCTII NUMERICE

convolutia, ltrare, analiza frecvential) este un domeniu care si bazeaz performan a a ele pe puternice circuite de multiplicare. Circuitul de multiplicare poate realizat t cu un CLC deoarece rezultatul nmultirii depinde exclusiv doar de cei doi operanzi. Se vor prezenta trei organizri de circuite de multiplicare (multiplicatorul matriceal, a multiplicatorul tip arbore Wallace i multiplicatorul tabelar). S-a limitat prezentarea s numai la aceste trei organizri, pe care le considerm de baz, deoarece multe circuite a a a multiplicator utilizate pot recunoscute ca variante ale uneia din aceste trei. 2.5.3.1 Multiplicatorul matriceal

Metoda de nmultire a dou numere de cinci biti, A = A 4 A3 A2 A1 A0 , a B = B4 B3 B2 B1 B0 , cu creionul pe hrtie dup regula comun, aat coala a a a nvt a n s primar, este prezentat Figura 2.65-a. Produsul rezultat cu lungimea de zece biti, a a n P = p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 , se obtine prin adunarea succesiv a produselor partiale a AB0 , AB1 , AB2 , AB3 i AB4 , ecare produs partial, s nainte de adunare, ind deplasat la stnga cu o pozitie (adic a a nmultit cu 2 1 ). Pentru realizarea unui circuit de multiplicare, conform metodei de nmultire prezentate, este necesar a se identica o structur de celul elementar component a acestui circuit. S analizm cum este a a a a a a realizat i utilizat operatia de s n nmultire, din aceast matrice, un produs de doi biti a dintr-un produs partial, de exemplu produsul A 2 B2 . Acest produs se realizeaz sim a plu printr-o poart AND, deoarece exist identitate a a ntre operatorii produs aritmetic i produs logic. s Acest produs A2 B2 se nsumeaz cu rezultatul adunrii s31 de pe aceeai coloan, a a s a adic suma anterioar a a ntre A4 B0 i A3 B1 , se s nsumeaz cu transportul anterior, C12 , a provenit de la termenul produs din dreapta de pe aceeai linie A 1 B2 i, urma acess s n tor nsumri, se genereaz un bit sum, s22 , care se va a a a nsuma cu termenul produs urmtor A1 B3 , de pe aceeai coloan, i se genereaz un bit de transport urmtor, a s a s a a C22 , care este aplicat la termenul produs din stnga, A 3 B2 , de pe aceeai linie. Toate a s acestea corespund cu operatiile realizate de o celul sumator (3, 2), Figura 2.65-b. a Rezult c circuitul multiplicator poate compus din 4 4 = 16 celule elementare, a a sumator (3, 2), cte una pentru ecare termen produs A i Bj , iar trecerea de la maa tricea operatiei de multiplicare la topologia circuitului de multiplicare se face printr-o mapare 1:1, nlocuind ecare produs de doi biti cu o celul elementar, Figura 2.65-c. a a Se observ c structura matriceal a circuitului multiplicator la toate celulele de pe a a n a o linie se aplic acelai bit Bj , j = 0, 1, 2, 3, 4 al inmultitorului B i la toate celulele a s s de pe aceeai diagonal se aplic acelai bit A i , i = 0, 1, 2, 3, 4 al de s a a s nmultitorului A. Aceast structurare a multiplicatorului, sub form de paralelogram, poate uor a a s desenat i sub form de matrice ptrat pentru a potrivit unui layout pe siliciu. as a a a a Din organizarea circuitului multiplicator se poate deduce uor c dimensiunea sa s a este O(n2 ). Fiecare linie a multiplicatorului este de fapt un sumator cu transn port progresiv. Timpul cel mai lung de nmultire se obtine cnd o intrare la prima a celula A0 B0 afecteaz transportul urmtor de la ultima celula A 4 B4 , adic bitul proa a a dus p9 , iar pentru aceast propagare traseul cel mai lung este lungul sumatorului a n corespunztor primei linii, prin coloana cu celulele A 3 B1 , A2 B2 , A1 B3 i apoi prin a s celulele A0 B4 , A1 B4 , A2 B4 , A3 B4 , A4 B4 corespunztoare sumatorului de pe ultima a linie (produsul partial AB4 ). Dac se consider, pentru simplitate, c arzierea pe o a a a nt celul de la oricare intrare a sa la oricare ieire este m atunci timpul de multiplicare a s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

289

A2 C 22 A4 A3 A2 A1 A0 x B4 B3 B2 B1 B0 A 4B0 A 3B0 A 2B0 A 1B0 A 0B0 A 4B1 A 3B1 A 2B1 A 1B1 A 0B1 Bj A 4B2 A 3B2 A 2B2 A 1B2 A 0B2 C ij A 4B3 A 3B3 A 2B3 A 1B3 A 0B3 A 4B4 A 3B4 A 2B4 A 1B4 A 0B4 Ai p6 p5 p4 p3 p2 p1 p0 p9 p8 p7 b) a) A4 A 4B0 A 4B1 A 4B2 A 4B3 A 4B4 p9 c) p8 A 3B4 p7 A 3B3 A 2B4 p6 A 3B2 A 2B3 A 1B4 p5 A 3B1 A 2B2 A 1B3 A 0B4 p4 p3 p2 A3 A 3B0 A 2B1 A 1B2 A 0B3

B2 s31 (3,2) s22

C 12

s(i1)(j1) (3,2) + AND sij A A2 A 2B0 A 1B1 A 0B2 A1 A 1B0 A 0B1 A0

Ai C (i1)j

B0

A 0B0 B1 B2 B B3 B4

p1

p0

Figura 2.65 Circuitul multiplicator matriceal: a) matricea produselor partiale obtinut la inmultirea a dou cuvinte A i B de cinci biti; b) celula elementar a a s a ((3, 2)) care modelelaz un termen dintr-un produs partial al inmultirii; c) struca turarea unui circuit multiplicator matriceal pentru n = 5.

290

2.5. CLC PENTRU FUNCTII NUMERICE

Tm cel mai mic este de 13 m . Iar cazul unui n nmultitor pentru dou cuvinte de a n biti se obtine (3n 2)m Tm , adic O(n) ceea ce pentru lungimea actual de a n a 64 biti, a numerelor reprezentate virgul x, determin viteze destul de sczute. n a a a a Modaliti de a at mbunti performanta de vitez a multiplicatorului matriceal a at a const, e micorarea numrului de produse partiale, deci de adunri ale acestora, a n s a a e prin efectuarea a ct mai multe adunri de produse partiale paralel sau e a a n printr-o structurare fr transport progresiv a sumatoarelor. aa Din organizarea anterioar de multiplicator matriceal, tendinta de a crete a n s performanta de vitez, se poate obtine cu mici modicri un multiplicator reprezen a a tat Figura 2.66 denumit multiplicator matriceal cu salvarea transportului, n MMST. Mrirea performantei de vitez rezult prin a a a nsumri de produse partiale a n paralel i prin utilizarea de sumatoare cu salvarea transportului, SSLT. s
A 4A 3A 2A 1A 0x B4 B3 B2 B1 B0 A 4B0 A 3B0 A 2B0 A 1B0 A 0B0 A 4B1 A 3B1 A 2B1 A 1B1 A 0B1 A 2B2 (3,2) A 1B3 (3,2) A 0B4 (3,2) (3,2) A 1B2 (3,2) A 0B3 (3,2) (3,2) AB4 SSLT3 A 0B2 (3,2) (3,2) AB3 SSLT2 AB0 AB1 AB2 SSLT1

A 4B2 A 3B2 Sumator cu salvarea transportului (3,2) (SSLT) A 4B3 A 3B3 A 2B3 (3,2) A 4B4 A 3B4 (3,2) A 2B4 (3,2) (3,2) A 1B4 (3,2)

Sumator cu propagarea transportului (SPT) p9 p8 p7 p6 p5 p4

SPT p3 p2 p1 p0 P

Figura 2.66 Organizarea multiplicatorului matriceal cu salvarea transportului, MMST. La organizarea matriceal anterioar a multiplicatorului suma partial dup a a a a a i-a linie, a produsului partial ABi1 , poate calculat corect numai dup ce s-a a a primit transportul urmtor de la sumarea partial de la linia anterioar, adic de la a a a a linia produsului partial ABi2 . Aceste arzieri determinarea corect a sumelor nt n a partiale se datoreaz faptului c sumatorul de pe ecare linie este un sumator cu a a transport progresiv. Se poate ca transportul urmtor de la celula A i Bj s nu mai e a a aplicat la celula urmtoare Ai+1 Bj , de pe aceeai linie, ci la celula urmtoare A i Bj+1 a s a de pe linia urmtoare. felul acesta se obtine, acelai timp, pe ecare linie a a In n s matricei la ecare celul o informatie corect a celulei, dar exprimat prin perechea: a a a sum s i transport C. Structura aceasta de celule sumatoare, paralel, a s n ntre care nu exist transport progresiv, de pe o linie a matricei care genereaz perechile s, a a C, este referit ca sumator cu salvarea transportului. Fiecare linie din matricea a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

291

multiplicatoare formeaz un sumator cu salvarea transportului, SSLT de n biti. a Dac se consider, pentru simplitate, c arzierea pe o celul de la oricare intrare a a a a nt a sa la oricare ieire este m , s nseamn c din momentul aplicrii pe intrri a operanzilor a a a a A i B, dup o arziere egal cu (n 1) m se obtin perechile de valori s, C la s a nt a ieirea sumatorului cu salvarea transportului de pe penultima linie a matricei. Apoi, s introducnd aceste perechi, s, C, a ntr-un sumator cu propagarea transportului, cu timpul de sumare T , se obtine ultima linie cuvntul produs corect. Sumatorul cu n a propagarea transportului poate oricare tip de sumator prezentat sectiunea 2.5.2. n Timpul de multiplicare Tm respect relatia Tm (n 1)m + T i este mai mic cam a s de trei ori comparativ cu cel al multiplicatorului matriceal prezentat anterior, dar tot O(n) (evident T depinde de tipul de sumator cu propagarea transportului folosit). n Dimensiunea multiplicatorului se calculeaz pe matricea celor n(n 1) celule plus pe a sumatorul cu propagarea transportului, dar se situeaz O(n 2 ). a n Aceast organizare de multiplicator cu salvarea transportului mai poate a mbuna tit prin utilizarea facilitilor de sumare paralel. Se observ c celulelor sumatoare at a at a a a din prima linie li se pot aplica pe intrri trei produse partiale AB 0 , AB1 i AB2 (ca a s n Figura 2.66) eliminnd astfel din organizarea matriceal anterioar dou linii. Pentru a a a a multiplicatorul de n = 5 biti din gur rezult T m 3m +T , iar pentru cazul general a a Tm = (n 2)m + T . Multiplicatorul matriceal cu salvarea transportului duce la o regularitate a geometriei de realizare, deci este indicat pentru implementrile VLSI. a 2.5.3.2 Multiplicatorul tip arbore Wallace

Performanta de vitez, la multiplicatorul tip arbore Wallace, se obtine printr a o sumare paralel de produse partiale a ntr-o structur de arbore care realizeaz o a a compresie raportul 3:2. Pe un sumator cu salvarea transportului, SSLT, se pot n aplica simultan trei produse partiale i se pot obtine dou cuvinte: cuvntul sum i s a a as cuvntul transport; un SSLT este format din celule (3, 2) ne a nseriate prin intermediul transportului anterior. De fapt celula (3, 2) poate privit ca un numrtor de biti a aa 1 continuti cuvntul de intrare, cum este prezentat ultimele trei coloane din n a n Tabelul 1.6. De exemplu, dac cele trei intrri la celul sunt A = 1, B = 0, C = 1 a a a numrul de biti 1 ai cuvntului 101 este exprimat codicat binar de perechea a a n obtinut a ieirilor C, s, care este pentru acest caz egal cu 10 adic 2; sau pentru a s a a A = 1, B = 0, C = 0, care formeaz cuvntul de intrare 100 celula sumator a a n complet, perechea obtinut C, s, are valoarea 01, adic 1 binar natural. a a n Figura 2.67-a este prezentat, pentru In nmultirea a dou cuvinte A, B cu lun a ngimea de ase biti, modul cum se pot grupa, succesiv, cte trei cuvinte care aplicate s a la un SSLT va genera numai dou cuvinte. a Structura arborelui de tip Wallace, pentru n = 6, este dat Figura 2.67-b. a n Fiecare din cele ase produse partiale se obtine uor pe cte un grup de ase porti s s a s AND2, deci total 36 de porti AND2. Structurarea arborelui urmrete succesiunea n a s aplicrii tripletelor la sumatoarele cu salvarea transportului. Pe primele dou sumaa a toare cu salvarea transportului SSLT1 i SSLT2 se aplic simultan Triplet1 i Triplet2. s a s Pe nivelul doi exist un singur sumator SSLT3 care din Sum2, Transport1 i Sum1 a a s a genereaz Transport3 i Sum3. Sumatorul SSLT4, de pe nivelul trei, realizeaz a s a a conversia de la Transport2, Transport3 i Sum3 la Transport4 i Sum4. Ultimul s a s a nivel care sumeaz Transport4 cu Sum4 trebuie s e un sumator cu propagarea a a a

292

2.5. CLC PENTRU FUNCTII NUMERICE

A= 110101x B= 101011 110101 110101 000000 110101 Triplet 2 000000 110101 100011100111

110101 110101 000000 Suma 1 01011111 Transport 1 01000000 Triplet1

110101 000000 110101 Suma 2 11100001 Transport 2 00101000 Triplet 2

Triplet 1

Suma 4 11011000111 Transp 4 01000100000 Produs 100011100111 a) A 5B5

Suma 3 Transport 3 Transport 2 Suma 4 Transport 4

11100010111 00010010000 00101000 11011000111 01000100000

Suma 1 01011111 Transport 1 01000000 Suma 2 11100001 Suma 3 11100010111 Transp 3 00010010000 A 1B1 A 0 B0

A 5B5 A 0B5 A 5B4 A 0B4 A 5B3 SSLT2 Transport 2 Suma 2

A 0B3

A 5B2

A 0B2 A 5B1 A 0B1 A 5B0 A 1B0 SSLT1 Suma 1

Transport 1 SSLT3 Suma 3

Transport 3 SSLT4

Transport 4

Suma 4

Sumator cu propagarea transportului (SPT) b) p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0

Figura 2.67 Multiplicatorul arbore tip Wallace pentru n = 5: a) modalitatea de formare a tripletilor pentru ecare nivel al arborelui; b) structurarea arborelui pe baz de sumatoare su salvarea transportului, SSLT, i un sumator cu propagarea a s transportului, SPT.

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

293

transportului, SPT, de orice tip prezentat sectiunea 2.5.2. n cazul general, pentru un multiplicator Wallace de n biti cele n produse partiale, In ecare de n biti, se grupeaz k0 tripleti, n = 3k0 + l0 unde 0 l0 2, se aplic a n a primului nivel compus din k0 sumatoare cu salvarea transportului i se obtin k 0 perechi s sum i transport. Pentru al doilea nivel de sumatoare cu salvarea transportului se as grupeaz continuare k1 tripleti conform relatiei 2k0 +l0 = 3k1 +l1 unde 0 l1 2 a n n i se genereaz k1 perechi sum i transport. Acest proces se continua compresii s a as n consecutive de 3:2 pe un numr de log 3/2 n nivele pn cnd se obtine o singur a a a a a pereche sum i transport care sunt sumate nal pe un sumator cu propagarea a s n transportului. Deci timpul minim de multiplicare T m este egal cu arzierea pe nt o poart AND plus timpul de propagare prin log 3/2 n niveluri de SSLT la care se a adaug timpul de sumare T , pe sumatorul cu propagarea transportului. Dimensiunea a multiplicatorului este O(n2 ). n Multiplicatorul Wallace are performanta de vitez mai bun dect multiplicatorul a a a matriceal cu salvarea transportului dar, totui, din cauza neregularitii layout-ului, s at ultimul este preferat implementrile VLSI. n a Ideea de structurare a multiplicatorului sub form de arbore a generat celule cu a compresia diferit de 3:2. Pentru o compresie 2:1 rezult o structurare de arbore a a binar. Alte organizri pe baz de celule cu compresia (5 : 3), (7 : 3) i (15 : 4) a a s reduc adncimea arborelui dar nu neaprat reduc i timpul de multiplicare deoarece a a s odat cu creterea raportului de compresie crete i arzierea pe celul [Omandi a s s s nt a 94][Petterson 96][Smith 97]. 2.5.3.3 Multiplicatorul tabelar

Dup cum reiese i din denumire, multiplicatorul tabelar este o tabel (LUT) care a s a contine toate produsele ntre dou cuvinte de lungime de n biti. Teoretic, acest tip de a multiplicator ar trebui s e cel mai simplu i mai rapid. Tabelul de adevr pentru a s a produsul a dou cuvinte, A1 A0 i B1 B0 de doi biti, este prezentat Figura 2.68-a. a s n Se pot deduce expresiile logice pentru ecare din cei patru biti p 3 p2 p1 p0 ai cuvntului a produs: p0 p1 p2 p3 = A1 A0 B 1 B 0 + A1 A0 B 1 B 0 + A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 = A 0 B 0 = A1 A0 B 1 B 0 + A1 A0 B 1 B 0 + A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 +A1 A0 B1 B0 = A1 A0 B1 + A1 A0 B0 + A1 A0 B0 + A1 B1 B0 = A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 + A 1 A0 B 1 B 0 = A 1 A0 B 1 + A 1 B 1 B 0 = A 1 A0 B 1 B 0 .

care pot implemetate cu porti logice, cu DCD + OR sau cu un circuit ROM. Implementarea cea mai recomandat pentru astfel de tabele este cu circuite ROM; a cele dou cuvinte de n biti formeaz, prin alturare, adresa de 2n biti a locatiei a a a unde este stocat cuvntul produs, al celor dou cuvinte, cu lungimea de 2n biti. a a Limitarea, e de capacitata de adresare, e de lungime de cuvnt stocat, impus de a a un anumit circuit ROM la implementarea unei tabele de nmultire, poate depit as a prin segmentarea lungimii operanzilor. acest sens, Figura 2.68-b, este prezentat In n a nmultirea segmentat a operanzilor 1234 5678. Fiecare operand s-a segmentat a n dou numere 12 cu 34 i 56 cu 78 i s-au efectuat a s s nmultirile ecare cu ecare, apoi s-au sumat produsele segmentate obtinute pe dou niveluri de sumator, evident la a

294

2.5. CLC PENTRU FUNCTII NUMERICE

Intrari Iesiri (Adresa) A 1A 0 B1B0 p3p2p1p0 0 0 0 0 00 00 0 0 0 1 00 00 0 0 1 0 00 00 0 0 1 1 00 00 0 1 0 0 00 00 0 1 0 1 00 01 0 1 1 0 00 10 0 1 1 1 00 11 a)

Intrari (Adresa) A 1A 0 B1B0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

Iesiri p3p2p1p0 00 00 00 10 0 100 0 1 10 00 00 00 11 01 10 11 11 12 x 56 72 60 672

1234x5678 12 x 34 x 78 56 204 96 84 170 936 1904 672 1904 69104

34 x 78 272 238 2652 936 2652 96252

b)

A 158 A 158 A 70 A 158 A 158 A 70 A 70 A 70 8 8 8 8 8 8 8 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 A 158 B158

69104 96252 7006652 A 150 B150 A 70 B158 A 158 B70 A 70 B70

Sumator, 16 bit 16 24

Sumator, 16 bit 16 Sumator, 24 bit


p7p 0

c)

p31p 8

Figura 2.68 Multiplicatorul tabelar: a) tabelul de adevr pentru a nmultirea a dou cuvinte de doi biti, A1 A0 B1 B0 ; b) modaliti de substituire a a at nmultirii numerelor cu multe cifre, prin segmentare, cu mai multe nmutiri de numere cu cifre mai putine; c) structurarea circuitului pentru nmultirea a dou cuvinte de 16 biti, a prin segmentare, pe baz de circuite ROM i sumatoare. a s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

295

sumare s-a inut cont de deplasrile necesare. Pentru segmentarea a dou numere t a a binare cu lungimea de 16 biti A = A15 ...A1 A0 A158 cu A70 i B15 ...B1 B0 n s n B158 cu B70 , Figura 2.68-c se prezint o variant posibil pentru implementarea n a a a tabelelor de nmultire pe circuite ROM cu capacitatea de adresare de 64K. Tabelul nmultirii a dou cuvinte binare de 8 biti a ncape ntr-o capacitate de 2 16 (2 8) biti, adic dou circuite ROM de 64x8biti conectate paralel, total sunt necesare a a n n 8 astfel de circuite ROM. Timpul de multiplicare Tm se compune din timpul de acces la memorie AA plus arzierea pe calea cea mai lung determinat de nivelurile de sumatoare. Dint a a mensiunea multiplicatorului este dimensiunea/capacitatea memoriei 2 2n 2n deci n O(n 22n ) plus cea a sumatoarelor utilizate. Aceast valoare ridicat a dimensiunii a a limiteaz a implementarea multiplicatorului tabelar. Probabil, cu creterea dena nc s sitii de integrare simultan cu reducerea costului i acest tip de multiplicator poate at s deveni atractiv. O modalitate care poate duce la micorarea capacitii ROM necesar pentru s at a tabele const efectuarea indirect a multiplicrii prin logaritmare i antilogaritmare a n a s conform relatiei: A B = antilog(log A + log B) Pentru aceast implementare sunt necesare dou tabele (una pentru stocarea a a logaritmilor i una pentru antilogaritmi) i un sumator. Aceste tabele au evident s s mai putine intrri dect o tabel care realizeaz direct a a a a nmultirea (2 n intrri) a iar lungimea cuvntului stocat aceste tabele depinde de nivelul de eroare care se a n accept rezultatul a n nmultirii (indicat pentru nmultiri de numere reprezentate n virgul otant, unde produsul obtinut de 2n biti se reduce doar la n biti). Timpul de a a multiplicare este determinat de accesul la cele dou memorii (tabele) plus cel necesar a sumrii. a

2.5.4

Circuite de deplasare

Circuitele de deplasare (shift-are) transfer ecare bit de intrare x i , i = 0, 1, 2, . . . , a n 1, al unui cuvnt de n biti, a ntr-un bit de aceeai valoare cuvntul de ieire dar s n a s deplasat fata de pozitia i cu D pozitii, conform relatiei: yiD = xi Mai exact, acest proces de deplasare al cuvntului de intrare X, a ntr-un cuvnt a de ieire Y este caracterizat de urmtoarele mrimi: s a a directia de deplasare (stnga/dreapta); a distanta de deplasare D (exprimat binar prin numrul de pozitii); a n a conditiile de capt. a Prin conditiii de capt se elege modul cum se procedeaz cu bitii care ies din a nt a intervalul de index al cuvntului [n 1, n 2, . . . , 1, 0], respectiv cu ce se completeaz a a pozitiile rmase libere la cellalt capt al cuvntului. a a a a

296
x n1 xi x 1x 0 x n1

2.5. CLC PENTRU FUNCTII NUMERICE

Intrare Iesire

xi

x 1x 0

x n1

xi

x 1x 0

yi+D

y1+D y0+D

yn1D

yiD

yn1

yi yi1 y1y0

Deplasare stanga a) b)

Deplasare dreapta c)

Rotire dreapta

Figura 2.69 Modaliti de realizare a operatiei de deplasare/rotire: at a,b) deplasare stnga/dreapta; c) rotire dreapta. a Cuvntul cruia i se aplic deplasarea poate avea semnicatia de numr ( care a a a a n ecare pozitie corespunde unui rang exprimarea ponderat baza 2 a valorii nu n a n mrului), sau are semnicatia doar a unui ir de biti (cnd pozitia nu determin o a s a a pondere binar). Corespunztor acestor dou semnicatii, care le poate avea cuvntul a a a a deplasat, rezult respectiv o deplasare aritmetic sau o deplasare logic. a a a Printr-o deplasare aritmetic cu D pozitii (spre stnga) numrul respectiv este a a a nmultit cu 2D iar printr-o deplasare aritmetic cu D pozitii (dreapta) numrul a a este artit cu 2D . Dac numrul reprezentat binar este fr semn atunci att la mp a a aa a deplasarea stnga, Figura 2.69-a, ct i deplasarea dreapta, Figura 2.69-b, bitii care a a s ies din intervalul pozitiilor [n 1, n 2, . . . , 1, 0] se pierd numrul reprezentat la n a ieirea circuitului de deplsare iar pozitiile rmase goale acest interval se completeaz s a n a cu zero. La deplasarea logic se procedeaz la fel dar cuvntul supus deplasrii a a a a stnga/dreapta nu mai este interpretat ca un numr ci doar ca un ir de biti. a a s La deplasarea numerelor cu semn, care au bitul de semn pozitia (n 1), acesta n trebuie pstrat (extensia de semn) indiferent c numrul este multiplicat cu 2 D a a a sau 2D . De exemplu, numrul 20|10 = 10100|2 iar -20 complement de doi se obtine a n 10100 01011 + 1 01100 1 01100 = [20]2 . La deplasarea spre dreapta a numrului [20]2 cu dou pozitii ( artire cu 22 ) trebuie completat bitul de semn a a mp n cele dou pozitii din stnga, se obtine: 111011 (1)2 5 +124 +123 +022 +121 +1 a a 20 = 5. La deplasarea spre stnga cu o pozitie (inmultire cu 2), bitul de semn nu iese a afara intervalului de ase biti (semnul trebuie pstrat), intervalul trebuie extins la n s a apte biti, se obtine: 1011000 (1)26 +025 +124 +123 +022 +021 +020 = 40. s Exist i cazul particular de deplasare stnga/dreapta cnd pozitiile (n 1) i 0 as a a s se consider vecine, circuitul de deplasare acest caz este referit ca circuit rotitor, a n Figura 2.69-c. Prin rotire, deoarece bitii care ies din intervalul de index la un capt a sunt introdui la cellalt capt, nu rmn pozitii libere deci nu se fac completri s a a a a a cu zero. Exemplicm rotirea cu irul format din primele 8 litere din alfabet (sa s au substituit bitii prin litere) ABCDEF GH care printr-o rotire la dreapta cu ase s pozitii (D = 6) se obtine CDEF GHAB iar printr-o rotire la stnga cu dou pozitii a a (D = 2 = 8 6) se obtine CDEF GHAB, adic acelai cuvnt ambele cazuri. a s a n Lungimea cuvntului de n biti, general, este un numr putere a lui 2, deci n D a n a este complementul fata de doi [D]2 al lui D. Din aceast observatie rezult c o a a a structur de rotitor poate realiza att rotirea spre stnga ct i rotirea spre dreapta, a a a a s deoarece o rotire cu D (dreapta) este echivalent cu o rotire spre stnga exprimat a a a de un numr de pozitii egal cu [D]2 . exemplul dat, comanda de deplasare dreapta a In

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

297

cu ase pozitii 6 = 110|2 se substituie cu comanda spre stnga cu dou pozitii spre s a a stnga [6]2 = 8 6 = 1000 110 = 010 = 2. a Analiznd pe Figura 2.69, ce const operatia de deplasare, se constat c este a n a a a o selectare a unui bit de intrare i transferul acestuia s ntr-o alt pozitie la ieire fr a s aa a-i modica valoarea. Ori, aceast operatie de selectare, de la intrare la ieire, este a s proprie circuitului multiplexor. Dac se extinde aceasta de la bit la nivel de cuvnt a a se constat c operatia de deplasare poate realizat cu o structur de selectare a a a a secvential a datelor cu multiplexoare ca Figura 2.36-b. Un circuit de deplasare, a n pentru un cuvnt de n biti, structurat ca un circuit de selectare a datelor, pe baz a a de multiplexoare, este format din n multiplexoare paralel, ecare multiplexor cu n un numr de intrri de date n. Fiecare din cele n cuvinte obtinut, de exemplu, a a prin deplasarea stnga cu D pozitii (D [n 1, 0]) este stocat a ntr-un port iar bitii acestui port sunt aplicati la intrarea cu acelai numr a tuturor celor n multiplexoare s a paralel. La aplicarea cuvntului de selectare (deplasare) D, comun pentru toate n a intrrile de selectare ale multiplexoarelor, este selectat portul de intrare care este a n nscris cuvntul deja deplasat cu D pozitii spre stnga i aplicat la portul de ieire. a a s s Structurarea anterioar a circuitului de deplasare, ca selector de cuvinte ( a nscrise deja conguratii deplasate) din n porturi de intrare, poate restrns la un singur n a a port de intrare ca Figura 2.70-a, unde portul de intrare este o magistral de patru n a biti pe care se aplic cuvntul de deplasat X = x 3 x2 x1 x0 . La ieirea circuitului de a a s deplasare stnga de patru biti pentru deplasrile de 0, 1, 2, 3 pozitii se obtin respectiv a a urmtoarele cuvinte x3 x2 x1 x0 , x2 x1 x0 0, x1 x0 00 i x0 000. La o astfel de structurare, a s cu un singur port de intrare, bitul j (linia j a magistralei) nu se mai aplic doar la a intrarea j de date a unui singur multiplexor, ca pentru structurarea anterioar, ci se a aplic la ecare din multiplexoare dar pe intrri de date diferite (a se vedea, de exema a plu, linia de magistral x0 ). La deplasarea spre stnga a cuvntului de patru biti a a a n pozitiile rmase libere, unde cazul general ar intra bitii din pozitiile 1, 2, 3, . . . a n dar care cazul acesta nu exist, se introduc zero-uri prin conectarea la mas a n a a intrrilor corespunztoare ale multiplexoarelor. a a Varianta de circuit rotitor de patru biti este reprezentat Figura 2.70-b. Aici, se a n observ clar c ecare bit de intrare, linie de magistral, se aplic la ecare multiplexor a a a a dar pe intrri diferite. La fel ca i la circuitul de deplasare, scriind cele patru cuvinte a s care se pot obtine la ieire x3 x2 x1 x0 , x2 x1 x0 x3 , x1 x0 x3 x2 i x0 x3 x2 x1 se deduce s s foarte uor la care linie de magistral se conecteaz ecare intrare a multiplexoarelor. s a a Caracteristicile de adncime i dimensiune ale circuitului de deplasare dreapta/ a s stnga, CDD/S, sunt determinate de cele n multiplexoare felul urmtor: a n a DCDD/S (n) O(1) SCDD/S (n) = n SM U X(n) O(n2 log n) rezult i produsul dimensiune-adncime: as a SCDD/S (n) DCDD/S (n) O(n2 log n) (SM U X(n) O(n 2n )) aceast relatie dedus sectiunea 2.4.4 corespunde cazului a a n cnd n este numrul de intrri de selectare la MUX2 n :1, dar cazul CDD/S n a a a n este numrul de intrri de date la MUXn:1 deci relatia pentru dimensiune devine a a SM U X(n) = O(n log n)).

298
x3 x2 x1 x0 I3 I1 I0 MUX 4 : 1 I2 I3 I1 I0 MUX 4 : 1 I2

2.5. CLC PENTRU FUNCTII NUMERICE

D1 D0 y3 y1 a) y2 y0

I3

I1 I0 MUX 4 : 1

I2

I3

I1 I0 MUX 4 : 1

I2

x3 x2 x1 x0 I3 I2 I1 I0 I3 I2 I1 I0 I3 I2 I1 I0 I3 I2 I1 I0

D1 D0 y3 y1 b) y2 y0

MUX 4 : 1

MUX 4 : 1

MUX 4 : 1

MUX 4 : 1

Figura 2.70 Exemplu de structurare a circuitelor de deplasare/rotire pe baz de multiplexoare: a) circuit de deplasare stnga pentru cuvinte de patru biti; a a b) circuit rotitor de patru biti. Dimensiunea mare pe care o implic astfel de structurare a circuitului de deplasare a (cea a circuitului rotor este la fel) poate ridica diculti de implementare. plus, at In adncimea atractiv O(1) poate mult autit de fan-out-ul ridicat. Fiecare a a n nr at a bit al cuvntului de intrare comand n intrri de date ale multiplexoarelor i la fel, a a a s ecare intrare de selectare se aplic la n multiplexoare. a Cauza acestor neatrgtoare performante ale circuitului de deplasare cu struca a turarea anterioar rezid realizarea pe un singur nivel, format din nMUXn:1, a a a n tuturor celor n deplasri comandabile prin cuvntul D = D k1 Dk2 ...D1 D0 , unde a a k = log2 n . Dar valoarea numrului de pozitii de deplasat rezult, ca la oricare a a numr binar, printr-o sum ponderat dup puterile lui 2 din cuvntul de control a a a a a D. De exemplu, pentru un cuvnt de deplasat cu lungimea de 8 biti o comand de a a deplasare cu 6 pozitii D = D2 D1 D0 = 110, 6 = 1 22 + 1 21 + 0 20 poate realzat a prin dou deplasri succesive ai o deplasare de dou pozitii (D 1 = 1) pe un nivel de a a nt a multiplexoare, apoi cuvntul rezultat se aplic pe urmtorul nivel de multiplexoare a a a unde se realizeaz o deplasare de patru pozitii (D 2 = 1), deci la ieire se obtine o a s deplasare cu 6 pozitii. plus, un nivel numai cu o singur valoare de deplasare, In a din cele n posibile se poate realiza numai cu multiplexoare nMUX2:1, iar aplicarea bitilor cuvntului de intrare la intrrile multiplexoarelor MUX2:1 se face dup o regul a a a a foarte simpl. Pentru nivelul format din nMUX2:1, comandat de bitul de control a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

299

D2 (unde se realizeaz deplasarea cu 4 pozitii, D 2 22 ), bitul i din cuvntul de intrare a a se aplic la intrarea de date 0 a multiplexorului i precum i la intrarea 1 de date a a s multiplexorului i + 4 dac deplasarea este stnga, ori la intrarea 1 de la multiplexorul a a i 4 dac deplasarea este la dreapta. La acest nivel de deplasare comandat de D 2 , a pentru D2 = 0 cuvntul de intrare va obtinut la ieire fr deplasare (deplasare a s aa zero, 0 22 ), iar pentru D2 = 1 la ieire se obtine cuvntul de intrare deplasat cu s a patru pozitii, 1 22 = 4. O structurare pe trei niveluri succesive de cte 8 M U X2 : 1 a pentru un cuvnt de 8 biti este prezentat Figura 2.71-a. Pentru un cuvnt de a a n a control D = 101 primul nivel va efectua o deplasare cu D 0 20 = 1 pozitie, al doilea nivel o deplasare cu D1 21 = 0 pozitii, iar ultimul nivel o deplasare cu D 2 22 = 4 pozitii. total 1+0+4=5 pozitii. In
8 Deplasare D02 0 sau 0x2 0 Deplasare D12 1 sau 0x2 1 Deplasare D22 2 sau 0x22 a) X D0 x3 y3 T03 T13 T23 T33

8 MUX 2 :1 8 8 MUX 2 :1 8 8 MUX 2 :1

x2

y2

D1

x1

T02

T12

T22

T32

y1

D2

x0

T01

T11

T21

T31

y0

Y i+D =X i

Y b)

T00

T10

T20

T30

Cuvantul de control: T 33T23...T 03T02T01T00

Figura 2.71 Structuri de circuite de deplasare/rotire: a) pe baz de niveluri a succesive de nMUX2:1; b) pe baz de matrice de comutatie. a Adncimea circuitului de deplasare D CDD/D (n) cu niveluri succesive este egal cu a a numrul de niveluri de multiplexoare log 2 n, D CDD/S (n) O(log n) i este mai mare a s dect la structurarea anterioar unde era constant i egal cu D CDD/S (n) = 4, iar a a as a fan-out-ul unui semnal de bit, ce se aplic la intrarea unui nivel format din nMUX2:1, a este egal cu doi indiferent de lungimea cuvntului de deplasat, schimb, fan-out-ul a n unui bit Di , din cuvntul de control, rmne tot n. Dimensiunea circuitului este: a a a S CDD/S (n) = log2 n n SM U X2:1 = 4 n log2 n O(n log n) rezultnd produsul dimensiune-adncime O(n log 2 n) a a n S CDD/S (n) D CDD/S (n) = 4 n log2 n log2 n O(n log 2 n) produs care este mai mic dect O(n2 log n) al variantei anterioare de structurare pe a un singur nivel a circuitului de deplasare: SCDD/S (n) DCDD/S (n) > S CDD/D (n) D CDD/S (n)

300

2.5. CLC PENTRU FUNCTII NUMERICE

Aceast relatie admite aceeai interpretare, care s-a dat la analiza relatiei 2.8 ceea ce a s n privete corelarea s ntre adncime i dimensiune cnd se caut un circuit de vitez mai a s a a a ridicat (sporul de vitez este mai mic dect creterea dimensiune circuistic). a a a s n n a Similar, se poate structura i un circuit rotitor din niveluri succesive de muls tiplexoare, ecare nivel urmtor realiznd rotatii cresctoare dup puterile lui doi, a a a a caracteristicile de adncime i dimensiunea sunt aceleai cu cele deduse anterior. a s s
P 4Rotatie dreapta (S2S1S0=100) P 3Rotatie stanga (S2S1S0=111) P 2Deplasare logica stanga (S S1S0=010) 2 P 1Deplasare aritmetica dreapta (S2S1S0=001) P 0Deplasare logica dreapta (S S1S0=000) 2 x2 x3 MUX 6 x3 x3 0 8:1 x1 x2 x2 x3 MUX 5 8:1 MUX 4 8:1 MUX 3 8:1 MUX 2 8:1 MUX 1 8:1 MUX 0 8:1 S2 S1 S0 y1

Matricea de comutatie 4x4

y3

x0

x1

x1

x3

x3

y2

x0

x0

x3

x3

x2

x2

x2

x2

x1

x1

x1

x1

y0

x0

x0

x0

x0

1 2 3 DCD 2:4 D1 D0

Figura 2.72 Structurarea unui circuit shifter de 4 biti pe baza unei matrice de comutatie 4 4 i a unui sistem de selectare secvential 7MUX8:1 s a Circuitul general care poate implementa cele mai multe procesri asupra unui ir de a s biti (deplasare logic dreapta/stnga, rotatie stnga/dreapta, deplasarea aritmetic a a a a stnga/dreapta, inversarea ordinii, amestecare, extragere de biti etc.) este matricea a de comutatie, Figura 2.71-b. ecare nod ij al unei matrice de comutatie nn ex In ist un element de comutatie care conecteaz coloana i la linia j, deci ecare coloan a a a i (linia de intrare xi ) poate conectat la oricare linie de ieire y j . Ca element de a s comutatie poate utilizat poarta CMOS de transmisie sau un tranzistor de trecere a (uzual nMOS). Dezavantajul principal pentru o astfel de matrice de comutatie este

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

301

numrul mare, n2 , de conexiuni individuale de comand care trebuie aplicate la ela a ementele de comutatie din cele n2 noduri (un cuvnt de control cu lungimea de n2 a biti). cazurile particulare, cnd se implementeaz pe matricea de comutatie doar In a a un singur tip de procesare (o singur operatie), numrul de comenzi individuale se a a restrnge. Pentru o matrice 3232 utilizat, de exemplu, doar pentru rotire stnga vor a a a necesare numai 32 de comenzi individuale corespunztoare distantelor de deplasare a cu 0, 1, 2, ..., 30, 31 pozitii. Pentru o rotire stnga cu D pozitii vor comandate a elementele de comutatie din n noduri astfel alese at un bit de pe coloana i s nc a e mapat pe linia j = i + D; rezult c pentru toate tranzistoarele din nodurile a a i, i + D, i = 0, 1, ..., 31 portile vor cablate mpreun i comandate cu semnalul a s obtinut la ieirea unui decodicator cnd pe intrarea acestuia se aplic mumrul s a a a D (D = 0, 1, ..., 30, 31) binar. Restrngerea doar la un singur tip de operatie pe n a matricea de comutatie reduce numrul de comenzi la n, dar semnalul cablat pentru a ecare dintre aceste comenzi trebuie s asigure un fan-out egal cu n. a Totui, exist posibilitatea ca pe o matrice de comutatie, dei cablat doar pens a s a tru o anumit operatie, s poat realizate i alte operatii prin modicare deja a a a s n exterior a cuvntului care se aplic la intrare, ca Figura 2.72, un astfel de circuit a a n este referit ca shifter (Barrel Shifter). Acest circuit shifter contine o matrice de comutatie compus din 4 4 porti CMOS de transmisie care este cablat doar pentru a a realizarea deplasrilor dreapta cu 0, 1, 2, 3 pozitii, prin valorile cuvntului de control al a a deplasrii, D1 D0 , egale respectiv cu: 00, 01, 10, 11 (aplicate la intrarea unui DCD2:4). a Dar, la intrarea matricei se aplic pentru ecare tip de operatie, realizat de shitfter, a a un cuvnt obtinut deja prin modicarea cuvntului de intrare x 3 x2 x1 x0 . Fiecare a a cuvnt, modicat i a s nscris unul din porturile P 0 , P1 , P2 , P3 , P4 , printr-un sistem n de selectare compus din 7MUX8:1, este selectat prin cuvntul S 2 S1 S0 i aplicat la a s intrarea matricei de comutatie. Deci, cuvintele de control S 2 S1 S0 i D1 D0 deter s min, primul, tipul de operatie, iar al doilea, numrul de pozitii de deplasare. Acest a a shifter poate realiza urmtoarele operatii: deplasare logic dreapta/ stnga, rotatie a a a dreapta/stnga i deplasare aritmetic dreapta. Deoarece la ecare MUX8:1 mai exa s a ist trei intrri de date neutilizate se mai pot selecta a trei porturi (nedesenate a a nc n gur) care se poate introduce cuvntul x 3 x2 x1 x0 modicat pentru implementarea a n a a a trei operatii. nc

2.5.5
2.5.5.1

Unitatea Aritmetic i Logic, ALU as a


Calea de date

Sistemele digitale de calcul, att din punct de vedere al proiectrii i realizrii lor a a s a ct i din punct de vedere al tratrii didactice, pot organizate/compuse din dou a s a a prti, denumite foarte general, calea de date i calea de control (vezi Figura 3.14). a s calea de date se realizeaz operatii de tip logic sau aritmetic asupra cuvintelor In a binare (operanzi), iar calea de control selecteaz operatia care se efectueaz calea a a n de date i pentru operatia selectat se comand etapele de realizare. s a a Organizarea unei posibile ci de date este prezentat Figura 2.73-a. Aceast cale a a n a de date contine, pentru realizarea conexiunilor vederea transferurilor, trei magis n trale, dou pentru operanzii surs A, B i una pentru operandul rezultat R. Operanzii a a s surs i operandul rezultat (destinatie) sunt stocati as ntr-un bloc de registre (echiva-

302

2.5. CLC PENTRU FUNCTII NUMERICE

lentul zic al notiunii de port). Selectarea unui port (operand) pentru nscrierea continutului su pe o magistral surs se realizeaz cu un cuvnt de selectare S A sau a a a a a SB aplicat unui grup de multiplexoare, care compun un bloc de selectare a datelor cu o structur ca Figura 2.36-b. aceast cale de date ecare bloc de selectare a n In a este compus din nMUX16:1, deoarece se consider c blocul de registre contine a a 16 porturi cu lungimea de n biti, iar selectarea acestora se realizeaz prin cuvintele a de selectare de patru biti SA = SA3 SA2 SA1 SA0 , SB = SB3 SB2 SB1 SB0 . Inscrierea operandului rezultat, de pe magistrala rezultat R, ntr-un port destinatie se real izeaz prin intermediul unui bloc secvential de distributie selectat prin cuvntul de a a selectare SD = SD3 SD2 SD1 SD0 ( acest caz blocul de distributie este constituit din n nDMUX1:16). Intr-o cale de date este absolut necesar o unitate logico-aritmetic, ALU a a (Arithmetic Logic Unit) i, uneori, aceasta este inseriat cu un circuit de deplasare s a (barrel shifter). Unitatea logico-aritmetic efectueaz o operatie asupra celor doi a a operanzi A, B aplicati, prin cele dou magistrale surs, la intrrile sale i genereaz a a a s a operandul rezultat O care, nainte de a aplicat pe magistrala rezultat R, poate modicat circuitul de deplasare prin: deplasri aritmetice/logice, stnga dreapta, n a a rotiri, extrageri de biti sau gupuri de biti. Valoarea de deplasare shifter este n prescris prin cuvntul de control D care acest caz are 5 biti D 4 , D3 , D2 , D1 , D0 , a a n deoarece se consider lungimea de cuvnt procesat este egal cu n = 32. a a a
Magistrala sursa B Magistrala sursa A n SA n MUX 16 : 1 n Bloc de registre (16 porturi) (P 1,P 2,...,P 14,P 15) SB n n MUX 16 : 1 n n n CR EQ Z P OV SG Fanioane B A

A n1 A 0

Bn1 B0 F2

Unitatea Aritmetica si Logica (ALU) O n D4 D1 D0

F1 F0

SD a) Cod operatie b)

n DMUX

1:16

Circuit de deplasare (Barrel shifter) Magistrala rezultat R n Selectare sursa B Selectare destinatie D Valoare deplasare R n

n Selectare sursa A

s/d=1, stanga s/d=0, dreapta sf/r=1, shiftare sf/r=0, rotire

F 2 F 1 F 0 SA SA SA SA SB SB SB SB SD SD SD SD D4 D3 D2D1 D0 s/d sf/r 3 2 1 3 2 1 0 3 2 1 0 0

Figura 2.73 Calea de date: a) organizare posibil a unei ci de date cu trei a a magistrale; b) formatul binar al cuvntului de comand a unei operatii calea de a a n date (instructiune cod main). n s a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

303

Proiectarea unei ALU pornete de la nivelul arhitectural al acesteia, adic de s a ,, ,, la ceea ce vede un utilizator/programator. Se vede interfatarea/conectarea cu celelalte elemente din calea de date prin intrri i ieiri. Intrri la calea de date a s s a sunt cele dou cuvinte de pe magistrala A i B i bitii de control pentru operatia de a s s efectuat. Numrul operatiilor pe care le poate realiza o unitate logico-aritmetic este a a de la cteva pn la zeci; organizarea din gur se pot realiza doar opt operatii a a a n a deoarece cuvntul de control are numai 3 biti F 2 , F1 , F0 . a Ieirile din ALU sunt: cuvntul rezultat O cu lungimea de n biti i semnalele s a s indicatorii de conditii (care nscriu anumite fanioane/ag-uri, bitii de conditii). Indicatorii de conditii specic anumite relatii a ntre cei doi operanzi sau anumite caracteristici valorice ale operandului rezultat. Se poate introduce un indicator pentru oricare conditie dac este necesar a utilizat evaluarea corectitudinii operatiei a a a n efectuate sau pentru conditionarea operatiilor urmtoare. Ca exemplicare, enu a merm ase din bitii de conditii cei mai des utilizati: a s CARRY(CR) este bitul care indic depirea de capacitate la reprezentarea nua as merelor ntregi pozitive. Intr-un sistem de calcul exist o lungime maxim n a a a unui cuvnt cu care se poate opera. Pentru o lungime mai mare nu exist a a suportul zic de a reprezentat. Rezult c se poate opera numai cu numere a a a care pot reprezentate cu cei n biti. O operatie sau un numr care necesit a a mai mult dect n biti genereaz o depire de capacitate. Bitul CR are valoarea a a as transportului urmtor Cn1 din cuvntul de ieire, adic de la rangul n 1 la a a s a rangul n, de la pozitia n la n + 1 (care nu exist). a EQUAL(EQ) este bitul care indic identitatea celor dou cuvinte A i B. Valoarea a a s sa se genereaz prin porti NXOR, Ai Bi , asupra ecrei pereche de biti care a a apoi se colecteaz a ntr-o poart AND. a ZERO(Z) este bitul care indic faptul c rezultatul operatiei este un cuvnt compus a a a din n zerouri. Valoarea sa se genereaz prin colectarea tuturor bitilor cuvntului a a rezultat ntr-o poart OR. a PARITY(P) este bitul care indic paritatea sau imparitatea cuvntului rezultat a a dac este interpretat ca numr. Valoarea sa este identic cu valoarea bitului de a a a rang zero al cuvntului O. a OVERFLOW(OV) este bitul de depire de capacitate la reprezentare numerelor as cu semn. reprezentarea numerelor cu semn ( complement fata de 1, In n n complement fata de 2, mrime i semn) bitul de semn (bitul cu indice n 1) n a s are valoarea 1 pentru un numr negativ i valoarea 0 pentru un numr poza s a itiv. Depirea de capacitate, Cn2 , apare ca un transport de la bitul cel as mai semnicativ al numrului (bitul cu indicele n 2) la bitul de semn i a s dac bitul de semn indic o operatie eronat (de exemplu adunarea a dou a a a a numere pozitive genereaz un numr negativ). Un algoritm simplu, care dea a termin existenta depirii la numere cu semn reprezentate complement a as n fata de doi, este: neidentitatea dintre valoarea transportului C n2 de la On2 la On1 i valoarea transportului Cn1 generat de la bitul de semn On1 s (Cn1 = Cn2 ). consecinta, valoarea sa se calculeaz simplu printr-o poart In a a XOR, OV = Cn1 Cn2 .

304

2.5. CLC PENTRU FUNCTII NUMERICE

SIGN(SG) este bitul care indic semnul cuvntului rezultat, O, cnd este interprea a a tat ca numr cu semn, SG On1 . a Se xeaz pentru ALU din gur codurile de selectare i mnemonicile operatiilor a a s corespunztoare felul urmtor: a n a F2 F1 F0 = 000, AND (produsul logic); Oi = Ai Bi , i = 0, 1, ..., n 1 F2 F1 F0 = 001, OR (sum logic); Oi = Ai + Bi , i = 0, 1, ..., n 1 a a F2 F1 F0 = 010, TFM (trecere fr modicri); O = A aa a F2 F1 F0 = 011, DCR (decrementare); O = A 1 F2 F1 F0 = 100, XOR (sum modulo 2); Oi = Ai Bi , i = 0, 1, ..., n 1 a F2 F1 F0 = 101, ADD (adunare modulo 2n , operanzii sunt numere ntregi); O = A + B F2 F1 F0 = 110, SUB (scdere modulo 2n , operanzii sunt numere a ntregi); O = A B F2 F1 F0 = 111, INC (incrementare); O = A + 1 Operanzii surs sunt referiti prin numrul de port din care se citesc i sunt selecti a a s at prin cuvintele SA i SB , iar operandul rezultat este referit prin numrul portului s a destinatie care se n nscrie, selectabil prin cuvntul S D (cele 16 porturi sunt notate a cu P1 , P1 , ..., P14 , P15 ). Comanda cii de date pentru realizarea unie operatii este descris de o instructiune a a care are urmtoarea form ( limbaj de asamblare): a a n MNEMONIC OPERATIE PD , PS1 , PS2 ; PD (PS1 OPERATIE PS2 )

cu urmtoarea semantica: asupra operanzilor surs din porturile surs P S1 i PS2 se a a a s efectueaz operatia OPERATIE iar rezultatul se a nscrie portul destinatie P D . De n exemplu, pentru efectuarea operatiei de adunare ntre operanzii din porturile P 13 i s P7 , iar operandul rezultat s e a nscris portul P 5 , se scrie urmtoarea instructiune n a limbaj de asamblare: n ADD P5 , P13 , P7 (2.27)

Instructiunea din limbaj de asamblare este convertit (asamblat), folosind co a a durile operatiilor i codurile cuvintelor de selectare din calea de date, s ntr-un cuvnt a binar care comanda efectuarea operatiei respective calea de date. Formatul acestui n cuvnt reprezentat Figura 2.73-b este compus din urmtoarele 7 subcmpuri: a n a a 1. codul operatiei F2 F1 F0 2. codul portului surs A: SA3 SA2 SA1 SA0 a 3. codul portului surs B: SB3 SB2 SB1 SB0 a 4. codul portului destinatie D : SD3 SD2 SD1 SD0

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

305

5. valoarea deplasrii D3 D2 D1 D0 a 6. s/d, deplasarea stnga s = 1, deplasarea drepata d = 0 a 7. sf /, shiftare sf = 1, rotatie r = 0. r Pentru instructiunea anterioar (ADD P5 , P13 , P7 ),introducnd ecare cmp a a n a codul corespunztor, rezult urmtorul cuvnt binar de comand (instructiune a a a a a n limbaj/cod main), scris cu spatii s a ntre subcmpuri: a 101 1101 0111 0101 0000 0 0

Acest cuvnt de comand, prin bitii si ecare subcmp de biti aplicat pentru a a a a comand la elementul corespunztor din calea de date realizeaz calea de date a a a n procesarea continut instructiunea (dat limbaj de asamblare) din relatia 2.27. a n a n 2.5.5.2 Organizarea i implementarea unei uniti aritmetic i logic s at as a

Dup denirea arhitecturii ALU, contextul unei ci de date, se trece la stabilirea a n a organizrii interne a acesteia, adic la alegerea acelor prti componente care pot reala a a iza toate functiile denite prin arhitectur. Exist diferite prti componente/blocuri a a a care pot realiza aceeai functie, ceea ce s nseamn c pot mai multe variante de a a realizare intern, deci pentru aceeai arhitectur pot exista mai multe organizri. a s a a Elaborarea unei organizri, care s asigure suport pentru toate operatiile efectuate a a de ALU poate gndit dou variante. a a n a prima variant se concepe ALU ca o asamblare de blocuri/circuite specializate, In a Figura 2.74-a. Fiecare bloc realizeaz o operatie din repertoriul ALU asupra cuvina telor de intrare. Blocul circuitelor aritmetice, nCA, realizeaz operatiile de adunare, a scdere, incrementare/decrementare primind deja calculate, pentru ecare pereche de a biti Ai i Bi , valorile pentru sum modulo de la blocul nXOR i valorile transpor s a s turilor anticipate Ci1 de la circuitul de generare a transporturilor anticipate, CGTA. Transporturile anticipate sunt calculate pe baza semnalelor intermediare de generare gi i propagare produse pi de blocurile nAND i nOR, care asigur i operatiile s s as logice corespunztoare ALU. a n Aceste blocuri specializate opereaz simultan dar numai ieirea unuia este seleca s tat, prin blocul de multiplexoare nMUX8:1, la ieirea ALU, prin aplicare codului a s operatiei pe intrarea de selectare F2 , F1 , F0 . Valorile bitilor de conditii se determin a uor, din bitii cuvntului de ieire, conform denitiilor date mai sus. De fapt, aceast s a s a organizare poate asimilat ca un bloc de selectare secvential a datelor pe baz de a a a multiplexoare, Figura 2.36-b. Dimensiunea unei ALU organizat aceast modalia n a tate apare ca o sum a dimensiunilor blocurilor specializate i a blocului multiplexor a s de selectare, ultimul avnd ponderea cea mai ridicat valoarea dimensiunii. a a n a dou variant se concepe ALU ca o punere paralel a n uniti logicoIn a a n at aritmetice elementare, ALUE. Fiecare ALUE constituie o felie (slice) din ALU care realizeaz toate operatiile din repertoriul ALU, dar numai pentru cuvinte de 1 a bit. Printr-o optimizare a celulei ALUE, cu aceast organizare, se poate obtine o a dimensiune mai redus dect la prima variant de organizare. a a a La ambele variante de ALU, deoarece se compun din blocuri cu adncime cona stant, performantele de vitez pot a a mbuntite prin modul de realizare al blocua at rilor CGTA. Se va prezenta continuare structuri de ALUE. n

306
A B n n n n OR 32 F2 F1 F0 CR Z OV EQ P SG n n A n1 Bn1 Bn2 A n2 pi n n n n

2.5. CLC PENTRU FUNCTII NUMERICE

n n CA

n AND 32 gi

n XOR 32

C i1

F1 F0 CGTA

n MUX 8:1 O n B1 B0 gi pi Ci n

a) B A F2 F1 F0

A1

A0

ALU n1 ALU n2 O CR Z OV

ALU

ALU 1 ALU 0

CGTA

b)

EQ

SG

Figura 2.74 Variante de organizare a unei ALU: a) organizare ca o asamblare de blocuri/circuite specializate ntr-o structur de selectare secvential de date pe a a baz de multiplexor; b) organizare din n felii de uniti logico-aritmetice de un bit a at conectate paralel. n

2.5.5.3

Structurarea unei ALU elementare

Functiile unei uniti logico-aritmetice elementare, ALUE pot realizate cu aju at torul a diferite structuri de circuite. Este ales un anumit circuit de ALUE functie n de performantele dorite sau modalitatea de implementare. Implementarea se poate face oricare variant expus acest capitol (cu porti logice, DCD + porti logice, n a a n multiplexoare, ROM, PLA; cu componente discrete sau integrate). Exist o multitua ,, dine de trasee realizarea unui sistem digital. Pentru functiile pe care trebue s le n a realizeze un sistem se poate deni o anumit arhitectur. Aceast arhitectur poate a a a a sustinut de mai multe organizrii i la rndul ei, o organizare poate implemen a a s a tat prin mai multe structuri de circuite. Ca exemplicare, pentru organizarea ALU, a compus din ALUE, se vor prezenta dou modaliti de structurare pentru celula de a a at logico-aritmetic: ca un circuit logic combinational implementat prin porti logice i a s ca un circuit realizat pe un ROM sub forma unui tabel, LUT. O celul de unitate logico-aritmetic poate gndit ca o scalare la lungimea de a a a a cuvnt de 1 bit a unei organizri ALU de n biti, de exemplu, pornind de la varianta de a a organizare din Figura 2.74-a. acest sens, o variant de circuit ALUE este cea din In a Figura 2.75-a care poate privit ca o structur de selectare secvential a datelor pe a a a baz de multiplexor, vezi Figura 2.36-b, dar din porturi de un bit. Operatiile realizate, a dar la nivel de un bit, sunt aceleai ca cele denite sectiunea anterioar (Figura s n a 2.74-a) i, de asemenea, sunt utilizate aceleai coduri pentru cuvntul F 2 F1 F0 de s s a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

307

Adresa Continut F 2 F 1 F 0 A i Bi C i1 Oi C i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n n A n1
3 1

Ai

Bi "1" F2 00 01 10 11 MUX 4 : 1 F1 F0 C i1 pi gi 001 100 011 101 110 111 F2 F1 F0

XOR

ADD b) A B

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1

0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1

TFM 010 000 MUX 8 : 1 a) Oi

Bn1
1

A n2
3 1

Bn2
1

A1
3 1

B1
1

A0
3 1

B0
1

3 0

F2 F1 F0

c) A n n

C n1

LUT n1 64 2 bit On1

C n2

LUT n2 64 2 bit On2 n O

C2

LUT 1 64 2 bit O1

C1

LUT 0 64 2 bit O0

B A n1
3 1

Bn1
1

A n2
3 1

Bn2
1

A1
3 1

B1
1

A0 3

B0 F 2 F1 F0 3 1 1 CGTA 0

C n2 LUT n1 64 1 bit On1 d) LUT n2 64 1 bit

C n3 LUT 1 64 1 bit O n O1

C0 LUT 0 64 1 bit O0

On2

Figura 2.75 Structuri de uniti logico-aritmetice elementare ALUE: a) at ALUE structurat ca un circuit de selectare de date pe baz de multiplexor; b) tabelul a a de adevr pentru operatiile XOR i ADD implementate LUT; c) ALU structurat a s n a pe baz de LUT-uri cu transport progresiv; d) i cu transport anticipat. a s

308

2.5. CLC PENTRU FUNCTII NUMERICE

selectare la ieirea MUX8:1 a unei operatii logice sau aritmetice. Pentru operatiile de s produs logic, sum logic i sum modulo 2 sunt introduse circuit respectiv portile a as a n AND, OR i XOR, selectate respectiv prin codurile 000,001 i 100. Codul de selectare s s 010 las cuvntul A s treac nemodicat, TFM. Pentru aplicatiile aritmetice care a a a a utilizeaz i transportul anterior Ci1 (DCR - 010, ADD - 101, SUB - 110, INC a s 111) este introdus o a dou poart XOR. Cu un al doilea multiplexor 4 : 1, selectat a a a potrivit tot cu bitii F1 , F0 , se genereaz pentru bitul Bi urmtoarele valori: Bi , Bi , 0 a a i 1. Incrementarea, INC, se realizeaz ca o sumare cu unu A + B + C 1 = A + 0 + 1, s a deci pentru Bi se genereaz valoarea 0 prin inversorul comandat XOR cnd F 2 = 1. a a Pentru decrementare, DCR, valorile lui Bi i C1 trebuie s e inversate fata de s a incrementare deci se genereaz pe inversorul comandat B i = 1 cnd F2 = 0. Portile a a AND i OR genereaz i variabilele intermediare g i i pi care se aplic circuitului s a s s a de generare a transportului anticipat, CGTA, neinclus acest desen. Ponderea n n dimensiunea ALUE este determinat de partea de selectare, adic de multiplexoare. a a Pentru implementarea ALUE sub forma unui LUT nscris ntr-un ROM se pornete s de la tabelul de adevr a ecrei operatii ce trebuie realizat. Variabilele tabelului a a a sunt intrrile ALUE adic intrrile de selectare F 2 , F1 , F0 , perechea de biti Ai , Bi a n a a i transportul anterior Ci1 , toate acestea formeaz un cuvnt de 6 biti care va s a a utilizat ca un cuvnt de adresare la circuitul ROM pe care se implementeaz LUT i a a (ecare LUT va avea 64 de adrese). Bitii nscrii la o locatie din ROM sunt cei doi biti s de ieire din ALUEi : Ci i Oi , care acum sunt generati din LUTi . Figura 2.75-b s s In este prezentat tabelul de adevr numai pentru implementarea operatorilor AND i a s XOR. ,, Implementarea unei ALU cu felii , constnd din LUT-uri a nscrise circuite ROM n cu capacitatea de 64 2, biti este reperezentat Figura 2.75-c. Structurarea ALU a n este cu transport progresiv, bitul de transport C i citit din LUTi se aplic la LUTi+1 , a deci un timp de calcul O(n). Se poate reduce acest timp de calcul pe ALU n n O(1) dac se structureaz ca Figura 2.75-d. Transportul urmtor C i nu se mai a a n a citete din ROMi (capacitatea ROM-ului pentru un LUT se reduce la 64 1bit) ci se s genereaz de catre un CGTA pe baza tuturor perechilor de biti A i i Bi . a s Ca unitate logico-aritmetic de patru biti poate utilizat i circuitul MSI 74xx181 a s reprezentat Figura 2.76-b, iar operatiile realizate sunt date tabelul din Figura n n 2.76-a. Prin cuvntul de cod F3 F2 F1 F0 se poate selecta una din cele 16 operatii a aritmetice asupra celor doi operanzi A = A3 A2 A1 A0 i B = B3 B2 B1 B0 cnd valoarea s a semnalului de control este M = 0, respectiv se poate selecta una din cele 16 operatii logice cnd M = 1. expresiile functiilor din acest tabel produsul logic i suma a In s logic sunt notate prin simbolurile i + iar pentru adunare i scdere sunt folosite a s s a cuvintele plus i minus. Operatiile logice (M = 1) sunt realizate numai s ntre perechile Ai i Bi (i = 0, 1, 2, 3), nu exist semnal de transport de intrare C 1 = 0, de asemenea s a nu exist transporturi a ntre ranguri. schimb operatiile aritmetice (M = 0) pe In n lng perechile Ai i Bi trebuie considerat transportul de intrare C1 i transporturile a a s s ntre ranguri. Structura intern a circuitului 74xx181 este realizat pentru transport a a anticipat. Atentionm faptul c semnalele de intrare A 3 L A0 L, B3 L B0 L i cele de a a s n a ieire O3 L 0 L sunt active starea L. Se poate ca la circuitul 74xx181 s se s considere aceste semnale active starea H dar atunci expresiile functiilor date n n tabelul anterior se modic in felul urmtor. Ca circuit logic, M = 1, la aplicarea a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

309

Intrari de selectare F3 F2 F1 F0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 a)

Functii Aritmetice ( M=0 ) Logice ( M=1 ) =A minus 1 plus C 1 =A =A B minus 1 plus C1 =A+B =AB minus 1 plus C1 =A+B =1111 plus C 1 =1111 =A plus (A+B) plus C 1 =AB =AB plus (A+B) plus C 1 =B =A minus B minus 1 plus C1 =A+B =A+B plus C 1 =A+B =A plus (A+B) plus C 1 =AB =A+B =A plus B plus C 1 =AB plus (A+B) plus C 1 =B =A+B plus C 1 =A+B =A plus A plus C 1 =0000 =AB plus A plus C 1 =AB =AB =AB plus A plus C 1 =A plus C in =A

6 5 4 3 8 7 2 1 23 22 21 20 19 b) 18 13 3 4 1 2 14 15 5 c) 6

F0 F1 G F2 P F3 M C 1 A=B A0 B0 74x181 O0 A1 O1 B1 O2 A2 O3 B2 A3 C out B3 C 1 G G0 P0 P G1 P 1 74x182 G2 C1 P2 C2 G3 C3 P3

17 15 14 9 10 11 13 16 10 7 12 11 9

A 15 A 14 A 13 A 12 B15 B14 B13 B12 74xx181 ALU 3 G G3 G d) P P3 P O1512

A 11 A 10 A 9 A 8 B11 B10 B9 B8 74xx181 ALU 2 G C3 P

A7 A6 A5 A4 B7 B6 B5 B4 74xx181 ALU 1 G C2 P

A3 A2 A1 A0 B3 B2 B1 B0 C in 74xx181 ALU 0 G C1 P

C 1

C 1

C 1

C 1

G2 P 2

G1 P 1

G0 P 0 C 1

74xx182 O118 O74

O30

Figura 2.76 Realizarea unitilor logico-aritmetice pe baz de circuite stanat a dard: a) tabelul de adevr i ( b) reprezentarea circuitului unitate logic-aritmetic a s a a de patru biti 74xx181; c) reprezentare circuitului pentru calculul transportului an ticipat, 74xx182; d) structurarea unei ALU de 16 biti prin punere paralel a 4 cir n cuite 74xx181 iar calculul transportului anticipat se realizeaz exterior cu circuitul a n 74xx182.

310

2.5. CLC PENTRU FUNCTII NUMERICE

unui cod de selectare F3 F2 F1 F0 se obtine o functie logic dual (relatia 1.2) celei care a a este indicat tabel pentru acel cod de selectare. schimb, ca circuit aritmetic, a n In M = 0, la aplicarea unui cod de selectare se obtine o functie aritmetic, dar aceasta a este diferit fata de cea dat tabel pentru acel cod de selectare (este necesar a se a a n cunoate documentatia tehnic a circuitului). s a Exist i dou ieiri G L i P L care exprim o generare i o propagare peste toate as a s s a s cele patru ranguri ale circuitului 74xx181 i care se calculeaz conform relatiilor 2.25 s a i 2.26 astfel: s G L = (g3 + p3 g2 + p3 p2 g1 + p3 p2 p1 g0 ) P L = p 3 p2 p1 p0 (2.28)

Aceste dou ieiri permit extensia, implementarea de ALU, pentru cuvinte a s n multiplu de patru biti prin utilizarea de circuite 74xx181. Considernd ecare circuit a 74xx181 numai ca o pereche de biti, pentru care sunt determinate valorile variabilelor intermediare G i P , se pot calcula cu aceste variabile intermediare valorile de transs port anticipat pe un grup de circuite. De exemplu, pentru un grup de patru circuite ALU (ALU0 ,ALU1 ,ALU2 ,ALU3 ) de patru biti ecare, pe baza perechilor de vari abile intermediare de la ecare circuit (G0 , P0 ),(G1 , P1 ),(G2 , P2 ),(G3 , P3 ) precum i a s transportului de intrare C1 , se pot calcula valorile de transport anticipat C 0 , C1 , C2 respectiv la intrrile de la ALU1 ,ALU2 i ALU3 . Pe baza relatiilor 2.25 i 2.26 pentru a s s C0 , C1 i C2 se obtin expresiile: s C0 = G0 + P0 C1 C1 = G1 + P1 G0 + P1 P0 C1 C2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C1 Circuitul MSI 74xx182, reprezentat Figura 2.76-c, calculeaz transporturile ann a ticipate C0 , C1 , C2 pentru un grup de patru uniti ALU. Acest circuit mai genereaz at a i o pereche (G, P ) de variabile intermediare pe un grup de patru uniti ALU, aceast s at a pereche ind necesar pentru calculul transportului anticipat exteriorul unui grup a n de patru circuite MSI 74xx182. O exemplicare de realizare a unei uniti logico-aritmetice de 16 biti pe baza at a 4 circuite ALU de 4 biti (74xx181) este prezentat Figura 2.76-d. Circuitul a n pentru calculul transportului anticipat 74xx182 calculeaz pe baza perechilor (G, P ) a de la ecare unitate logico-aritmetic (74xx181) valorile de transport anticipat pentru a ALU3 , ALU2 i ALU1 . Dar, unitatea logico-aritmetic se poate extinde de la 16 biti s a la 64 de biti, iar aceast structurare poate gndit ca ind format din 4 grupuri a a a a de cte 16 biti. exteriorul acestor patru grupuri de cte 16 biti se realizeaz, cu un a In a a circuit 74xx182, o cale pentru calculul transporturilor anticipate, necesare grupurilor ce contin rangurile de biti 31 16, 47 32, 63 48, pe baza perechilor G, P de grup generate de cele 4 circuite 74xx181 precum i a transportului initial C 1 . Deci, la s aceast ALU de 64 de biti exist exteriorul unui grup de patru circuite ALU, de a a n patru biti, o cale realizat cu un 74xx182 pentru calculul anticipat al transportului pe a grup. Apoi, exteriorul acestor patru circuite 74xx182 exist a o cale pe un alt n a nc 74xx182 pentru calculul anticipat al transporturilor ntre grupuri. total 16 circuite In ALU 74xx181 i 5 circuite pentru calculul transportului anticipat 74xx182. s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

311

2.6

PROBLEME

P2.1 Pentru un cuvnt de n biti, xn1 xn2 . . . x1 x0 , s se implementeze functia a a paritate f (=1 pentru un numr impar de biti 1, =0 pentru un numr par de biti 1 a a cuvnt) cu porti XOR2. ce conditii aceleai structuri de circuit, care se face n a In s n substitutia XOR2 N XOR2 calculeaz aceeai functie? a s P2.2 Pentru circuitele din gur s se deduc expresiile f 1 , f2 ,f3 si f4 , apoi s se a a a a construiasc tabelele de adevr. a a
A B C D a) A B C D b) A B f2 C B D c) A B C D d)

f1

f3

f4

P2.3

S se demonstreze echivalentele grace din gur. a a

P2.4 S se complementeze i s se aduc la forma minim expresiile logice urma s a a a a toare: a) f = [(AB)A] [(AB)B], functia A B exprimat prin operatorul NAND; a b) f = (A + B + C)(AB + CD) + BCD; c) f = (ABC + BCD) + (ACD + B C D + BCD). P2.5 S se minimizeze urmatoarele functii utiliznd diagrame V-K: a a a) f1 (A, B, C) = b) f2 (A, B, C, D) = c) f3 (A, B, C, D, E) =
7 0 (0, 2, 3, 4, 5, 7); 15 0 (0, 1, 4, 5, 9, 11, 13, 15); 31 0 (0, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 28).

Pentru punctele a) si b), s se exprime forma minim att ca sum de produse ct si a a a a a ca produs de sume. P2.6 S se minimizeze urmtoarele functii utiliznd diagrame V-K: a a a 7 a)F = ABC + AB C + ABC; b)F (A, B, C) = 0 (1, 3, 5, 6, 7); c)F (A, B, C, D) = ABC + AD + BCD; 15 d)F (A, B, C, D) = 0 (1, 3, 4, 5, 6, 9, 11, 12, 13, 14); 31 e)F (A, B, C, D, E) = 0 (0, 2, 8, 10, 16, 18, 24, 26); f )F (A, B, C, D) = A B CD + ABCD + ABCD + AB CD;

312
15

2.6. PROBLEME

g)F (A, B, C, D) = 0 (2, 3, 4, 6, 7, 10, 11, 12); 31 h)F (A, B, C, D, E) = 0 (0, 2, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19, 24, 25, 26, 27) P2.7 S se identice implicantii primi esentiali pentru urmtoarele expresii: a a 15 a) f (A, B, C, D) = 0 (1, 5, 7, 8, 9, 10, 11, 13, 15); 31 b) f (A, B, C, D, E) = 0 (5, 7, 9, 12, 13, 14, 15, 20, 21, 22, 23, 25, 29, 31). P2.8 Utiliznd diagrama V-K, s se arate c functia: a a a 15 f1 (A, B, C, D) = 0 (0, 2, 5, 7, 8, 10, 13, 15) 15 este negata functiei: f2 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14), 15 i este identic cu functia: f3 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14) s a P2.9 S se minimizeze urmtoarele functii utiliznd diagrame V-K: a a a 15 15 a) f (A, B, C, D) = 0 (2, 3, 4, 5, 13, 15) + 0 d(8, 9, 10, 11); 15 15 b) f (A, B, C, D) = 0 (1, 5, 7, 9, 13, 15) + 0 d(8, 10, 11, 14); 15 15 c) f (A, B, C, D) = 0 (0, 2, 4, 8, 10, 14) + 0 d(5, 6, 7, 12); 31 d) f (A, B, C, D, E) = 0 (1, 3, 4, 6, 9, 11, 12, 14, 17, 19, 20, 22, 25, 27, 28, 30)+ 31 + 0 d(8, 10, 24, 26); P2.10 Se consider functia: a 15 15 f (A, B, C, D) = 0 (3, 6, 11, 14, 15) + 0 d(2, 5, 12, 13) S se exprime ca o functie de trei variabile i ca o functie de dou variabile: a) a s a utiliznd tabelul de adevr al functiei; b) utiliznd diagrama V-K. a a a P2.11 Pentru functiile reprezentate diagramele V-K din gur s se scrie forma n a a minim. a
B f1 A
0 0 1 1

C C 1 f5

AB
00 0 1 01 11 10

AB CD
00 01 11 10

00

01

11

10

0 0

d 0

D d

1 d

d 1 f9

0 E E 0

0 E 1 1

d d d d

E E 0 1

B f2

A
0 0 1 1

C f6

AB
00 0 1 01 11 10

0 d

d C

1 d

E 1

d 1

B f3

A
0 0 1 1

C f7

AB
00 0 1 01 11 10

AB CD
00 01 11 10

00

01

11

10

0 1

C 0

0 D

1 0

d 1

d 1 f 10

F 0 0 d

0 0 0 0

0 0 1 d

d F 1 1

B f4 a)

A
0 0 1 1

C f8

AB
00 0 1 01 11 10

C 1 d

DE 1 DE d

P2.12 S se introduc variabile reziduu expresia coecientilor functiilor de la a a n problema P2.6, astfel at ecare functie s e numai dou variabile. Reduceti nc n a a numrul de variabile att folosind tabelul de adevr ct si diagrama V-K. Pentru a a a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

313

functiile de dou variabile rezultate din diagramele V-K s se scrie forma minim. a a a Pentru aceste forme minime s se compare rezultatele cu cele obtinute la problema a P2.6. P2.13 S se realizeze sinteza unui circuit convertor de cod din codul zecimal codicat a binar BCD 2-4-2-1 codul de aare pe matrice cu apte segmente. Matricea de apte n s s s segmente este TIL-312. Toate cele apte LED-uri au anodul alimentat comun de la s +5V. Un segment este luminat cnd pe catodul su este comandat potentialul logic a a ,, 0 . P2.14 Functionarea a dou motoare M1 i M2 este comandat de trei a s a ntreruptoaa re: S1 , S2 i S3 . Motorul M2 functioneaz tot timpul ct cele trei s a a ntreruptoare sunt a nchise. Motorul M1 functioneaz dac e S2 , e S1 (dar nu i simultan) sunt a a s nchise iar S3 este deschis.S se realizeze circuitul logic combinational care implementeaz a a aceast comand. a a P2.15 S se analizeze, utiliznd diagramele de timp ale semnalelor i diagramele a a s V-K, dac circuitul din gura (a) poate genera hazard static 1. cazul aparitiei a In hazardului, s se propun solutia de eliminare. a a
A B C G1 G2 G4 A AB G5 f B C f

G3

a)

b)

P2.16 S se implementeze functia: f (A, B, C, D) = 15 (1, 3, 4, 5, 7, 10, 11, 12, 14, 15) a 0 sub form OR-AND fr a produce hazard static. a aa P2.17 S se explice de ce circuitele care implementeaz mintermi pot produce a a hazard static 1 iar cele care implementeaz maxtermi pot produce hazard static 0. a P2.18 S se pun evidenta hazardul static pentru ecare din urmtoarele functii a a n a i s se determine un circuit care elimin hazardul i s a a s ndeplinete aceeai functie logic: s s a 15 a) f (A, B, C, D) = 0 (5, 7, 8, 9, 10, 11, 13, 15); 15 b) f (A, B, C, D) = 0 (5, 7, 13, 15); 15 c) f (A, B, C, D) = 0 (0, 2, 4, 6, 12, 13, 14, 15); d) f (A, B, C, D) = (A + B + D)(A + C + D)(A + B + C); e) f (A, B, C, D) = (A + B + D)(A + B + C + D)(A + C)(B + C); f) f (A, B, C, D) = B C D + ABC + BC. P2.19 S se determine dac circuitul din gura (b), de la P2.15, produce hazard a a static. caz armativ, s se modice structura astfel at s e eliminat hazardul. In a nc a P2.20 Pentru functia f (x2 , x1 , x0 ) = 0 (3, 5, 7) s se deduc diagrama de decizie a a binar redus (ROBDD). a a P2.21 Urmtoarea functie s se implementeze cu un numr minim de porti NAND. a a a f = ABD + ACD + BCD + ABC
7

314

2.6. PROBLEME

P2.22 S se realizeze o poart DAR care are patru intrri i dou ieiri cu simbolul a a a s a s grac din gura alturat. Functia realizat trebuie s e adevrat a a a a a a cnd statuarea valorilor variabilelor de intrare din primul A 1 a n f1 grup A1 , B1 sau din al doilea grup A2 , B2 se aplic sensul B1 a conjunctiei DAR. Privind simetria simbolului grac functia re- A 2 f2 alizat trebuie s e simetric raport cu variabilele A si B B a a a n 2 din ecare grup; de asemenea trebuie s e simetrice cele dou a a grupuri. Apoi, cu aceast poart DAR s se implementeze functia a a a 15 a a f (A1 , B1 , A2 , B2 ) = 0 (3, 7, 11, 12, 13, 14) cu o poart DAR plus o poart OR cu dou intrri. a a P2.23 Utiliznd numai 4 porti NAND cu 8 intrri s se implementeze un codicator a a a 16:4. Care sunt nivelurile active de semnal pentru intrri i pentru ieiri? a s s P2.24 Pe baza circuitului codicator prioritar cu 8 intrri 74XX148, , s se struca a tureze un codicator prioritar cu 16 intrri. a P2.25 S se implementeze un CLC la intrarea cruia se aplic un cuvnt M de a a a a opt biti i un cuvnt N de trei biti. Ieirea f a circuitului va activ cnd M este s a s a a multiplu de 2N . P2.26 S se implementeze un CLC la intrarea cruia se aplic un cuvnt M de a a a a 16 biti i un cuvnt N de 2 biti. Ieirea f a circuitului va activ cnd M este un s a s a a N multiplu de 22 . P2.27 Intr-un cuvnt de un byte X = x7 x6 x5 x4 x3 x2 x1 x0 s se determine cnd a a a exist doar un singur bit cu valoarea zero. a s s P2.28 S se proiecteze un CLC cu opt intrri Ii L i opt ieiri Oi L , i = 0, 1 . . . 7. a a n Circuitul genereaz numai ieirea Oi L = 0 care i este pozitia celui mai semnicativ a s bit activat din cuvntul de opt biti aplicat pe intrare. a P2.29 S se realizeze un CLC prin intermediul cruia 8 periferice sunt legate la un a a microprocesor (P ). La activarea unuia sau a mai multor periferice acest circuit va genera ctre P o cerere de a ntrerupere IRQ L i codul perifericului activat cu nivelul s cel mai ridicat de prioritate; nivelul de prioritate crete de la 0 la 7. Exceptie de la s aceast regul este numai cazul care sunt activate simultan mai multe periferice a a n n printre care sunt activate i perifericele 7 i 2, acest caz se genereaz catre P s s n a codul perifericului 2. P2.30 Utiliznd circuitul 74XX138, DCD3:8, s se realizeze o structur de DCD5:32. a a a P2.31 DCD3:8, P2.32 P2.33 [0, 7] P2.34 Urmtoarele functii: Y1 = 2x i Y2 = 22 s e implementate pe circuite a s a x ind un numr binar intervalul [000,111]. a n S se implementeze operatia: y = 2x1 + 2x2 , x1 , x2 [0, 7], x1 = x2 a S se realizeze un CLC care implementeaz functia y = 2 (x1 +x2 ) , x1 , x2 a a
x

Utiliznd circuitul 74LS138, decodicator 3:8, s se implementeze functia: a a f (A, B, C, D) = (0, 1, 3, 5, 7) P2.35 Utiliznd circuite 74LS138, decodicator 3:8 ,s se implementeze urmtoarele a a a functii: a) f1 (A, B, C) = (0, 2, 5, 7); b) f3 (A, B, C, D) = (0, 3, 5, 6, 9, 10, 11, 12, 13); c) f2 (A, B, C, D) = (2, 3, 4, 7); d) f4 (A, B, C, D) = (2, 3, 6, 7, 8, 9, 13, 14, 15).

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

315

P2.36 Implementati o celul sumator complet cu ajutorul unui circuit decodicator a 74LS138. P2.37 S se implementeze cu circuite 74LS138, DCD3:8, circuitul logic combinaa ional cu ieiri multiple denit de functiile: t s f1 = P 0 + P 3 + P 5 + P 7 f2 = P1 + P2 + P4 + P5 + P8 + P11 + P12 + P14 + P15 f3 = P3 + P4 + P6 + P12 + P14 + P15 f4 = P1 + P2 + P5 + P6 + P7 + P8 + P9 + P15 P2.38 Se pot implementa urmtoarele functii doar cu dou circuite integrate? a a f1 = A B C + ABC , f2 = A BC + ABC , f3 = ABC + ABC , f4 = AB C + ABC P2.39 Un circuit 74XX138 DCD3:8 este comandat pe intrile A,B,C cu semnalele a de ieire de la un numrtor asincron modulo 8. S se analizeze momentele cnd pe s aa a a ieirile circuitului pot apare glitch-uri. s P2.40 La celula sumator complet, implementat problema P2.36, se aplic a n a pe cele trei intrri A,B,C, locul semnalelor A i , Bi i Ci1 semnalele de ieire de a n s s la un numr asincron modulo 8. S se determine la care comutarea dintre strile a a a numrtorului asincron ieirile si i Ci1 ale celulei se pot genera glitch-uri. aa s s P2.41 Numai cu dou circuite 74XX138, DCD3:8, s se realizeze un DCD4:16. a a P2.42 S se determine functiile implementate pe urmtoarele circuite. a a
B C A B C
DCD2:4 O0 I1 O1 I0 O2 E O3 DCD2:4 O0 I1 O1 I0 O2 E O3
a)

f1 A
MUX2:1

MUX2:1

0 1

0 C

f3

0 1 C

0 0 1

MUX2:1

f2

C
b)

f4

P2.43 S se organizeze un MUX32:1 pe baza circuitelor: 74XX151 MUX8:1; a 74XX153 MUX4:1; 74XX139 DCD2:4. Toate aceste circuite au o intrare de validare G activ starea low; circuitul 74XX151 genereaz att ieirea negat ct i nenegat. a n a a s a a s a P2.44 S se realizeze o selectare de date de la patru porturi P 3 , P2 , P1 i P0 , ecare a s de patru biti, la o magistral. a P2.45 gur este schitat posibilitatea de sumare a unui operand cu lungimea In a a de k biti de la unul din porturile PA1,PA2,PA3,PA4 cu un alt operand de aceeai s lungime de la unul din porturile PB1,PB2,PB3,PB4 iar rezultatul este distribuit la unul din porturile destinatie PD1,PD2,PD3,PD4. S se structureze cele dou cir a a cuite de selectare de pe intrare i circuitul de distributie de pe ieire. S se scrie s s a cuvintele de selectare SA , BB , SD pentru urmtoarele transferuri: PA1+PB1PD1 a i PA2+PB4PD3. s 7 P2.46 Pentru functia logic, f (A, B, C) = 0 (0, 1, 3, 6, 7) s se realizeze o imple a a mentare:

316
PA1 PA2 PA3 PA4 SA k k k k k PB1 PB2 PB3 PB4 k k k k k S0

2.6. PROBLEME

SUMATOR S0 k+1 PD1 k+1 PD2 k+1 k+1 PD3 k+1 PD4

a) numai cu MUX 2:1; b) numai cu MUX 8:1; c) cu MUX 2:1 i MUX 4:1. s Considernd ca o msur a dimensiunii numrul de terminale (2 n + n + 1) ale unui a a a a MUX 2n : 1, s se determine dimensiunea pentru ecare dintre aceste implementri. a a P2.47 S se implementeze functiile: a f1 (A, B, C, D) = (0, 1, 3, 4, 7, 8, 10, 11, 15), f2 (A, B, C, D) = (3, 4, 5, 6, 13, 14, 15), f3 (A, B, C, D) = (0, 1, 4, 5, 6, 9, 12, 14) urmtoarele variante: a) numai cu MUX 2:1; b) numai cu MUX 4:1; c) numai n a cu MUX 16:1; d) cu MUX 2:1 i MUX 4:1 sau MUX 8:1. S se aprecieze dimensiunea s a implementrii prin numrul de circuite utilizate i numrul de terminale. a a s a P2.48 Fie functia f (A, B, C, D) = (3, 6, 11, 14, 15) + d(2, 5, 12, 13). S se a implementeze cu circuitul 74LS151, MUX 8:1. P2.49 Implementati cu circuite 74LS151, MUX 8:1 celula sumator complet. Prin introducerea unei variabile reziduu, s se realizeze o implementare i cu circuitul a s 74LS153, MUX4:1. P2.50 Fie functia f (A, B, C, D, E) = ABE + A BDE + ABCE + ACDE. S se a implementeze cu un circuit 74LS151, MUX8:1. P2.51 Utiliznd circuitul 74LS151 MUX8:1, s se implementeze functia: a a f (A, B, C, D, E) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31) Se va folosi intrarea de validare pentru una din variabilele reziduu. P2.52 S se implementeze functia: f (A, B, C, D, E) = ABE + A BDE + ABCE + a ACDE (prezentat i problema P2.50), utiliznd circuitele 74LS138 DCD3:8 i 74LS153 a s n a s MUX4:1. P2.53 S se implementeze functia: a f (A, B, C, D, E) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31) utiliznd circuitul 74LS138 DCD3:8 i circuitul 74LS153 MUX4:1. S se compare a s a structura obtinut cu implementarea problemei P2.51. a P2.54 S se implementeze ROM un convertor din codul binar 7 segmente a n n BCD. P2.55 Pentru problema P2.27 s se conceap o implementare pe circuit ROM. a a P2.56 S se implementeze pe un circuit ROM calculul ptratului numerelor cuprinse a a

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

317

intervalul [0,7]. n P2.57 Un sistem cu microprocesor cu o magistral de adresare de 10 biti are alocat a pentru cele patru periferice ale sale #0, #1, #2, #3 urmtoarele adrese: 3C0H, 3C1H, a 3C2H i 3C3H. S se realizeze variante de circuite de decodicare pentru aceste adrese. s a P2.58 Un sistem cu microprocesor cu o magistral de adresare de 16 biti are alocat a pentru cele patru periferice ale sale #0,#1,#2 i #3 urmtoarele adrese: ED0CH, s a ED0DH, ED0EH i ED0FH. S se realizeze o variant de decodicare complet pentru s a a a periferice utiliznd un circuit 74LS138, un circuit comparator 74LS682 i porti. a s P2.59 a) S se conceap un modul de memorie ROM de capacitate 8K 16 biti a a utiliznd circuitele EPROM 2716. a Intr-un spatiu de adresare de 64k (A15 A0 ) acest modul va acoperi intervalul de adrese 64k 56k. Circuitul EPROM2716 prezint dou a a semnale de control unul este selectare circuit CE L/PRM (Chip Enable/ Programare) s n iar cellalt este validare ieire OE L (Output Enable - comanda ieirii din TSL a s stare normal); pentru obtinerea datelor pe ieire trebuie activate ambele semnale a s simultan. b) Utiliznd circuite EPROM 2708, 1K 8 biti, (prezint un singur semnal CS L a a (Chip Enable/ Output Enable)) i circuite decdicator 74XX138, 74XX139, s se s a structureze urmtoarele module de memorie: 1K 16 biti, 8K 8 biti, 8K 16 biti. a Fiecare din aceste module are asignat un interval de adresare ncepnd cu adresa a 0000H; se consider un spatiu de adresare de 64K (A 15 A0 ). a P2.60 Pe un circuit ROM cu organizarea 64 1 bit s se implementeze functia: a f (F, E, D, C, B, A) = (0, 1, 2, 3, 4, 5, 6, 9, 11, 12, 13, 15, 16, 19, 21, 25, 26, 28, 29, 30, 31, 33, 34, 36, 37, 39, 41, 44, 45, 46, 49, 51, 53, 55, 57, 59, 60, 61, 62) P2.61 S se implementeze urmtoarele functii pe o structur de ROM cu capacitatea a a a 64 1: f1 (F, E, D, C, B, A) = F D B + F DBA + F ED CBA; f2 (F, E, D, C, B, A) = F EDA + F ECA + F ED CB + F EDCBA; f3 (F, E, D, C, B, A) = F E D B + F E DCA; f4 (F, E, D, C, B, A) = F EDA + F EDCB + F EDCB; P2.62 S se implementeze pe o memorie ROM de capacitate 328 biti urmtoarele a a convertoare de cod: a) convertor din cod 2-4-2-1 la matrice cu apte segmente (vezi s P2.13 i P2.65); b) convertor din BCD cod EXCESS3 (codul EXCESS3 se obtine s n din codul BCD la care se adun cuvntul 0011| 2 = 3|10 ). S se calculeze gradul a a a de utilizare al memoriei, exprimat prin raportul dintre numrul de biti a nscrii i s s capacitatea memoriei. P2.63 Utiliznd circuite ROM de capacitate 256 8 biti, care sunt a n nscrise toate nmultirile ntre numerele binare de patru biti, precum i circuite sumatoare de s lungimi corespunztoare, s se structureze un multiplicator simultan pentru cuvinte a a de un byte. P2.64 S se implementeze pe structuri PLA i PAL (cu patru termeni produs a s cablati pe ecare poart OR) un convertor din BCD cod Gray. a n P2.65 S se implementeze pe o structur PLA generic un convertor din codul 2421 a a codul pentru o matrice cu apte segmente. Codul 2421 este: 0 0000; 1 0001; n s 2 1000; 3 1001; 4 1010; 5 1011; 6 1100; 7 1101; 8 1110; 9 1111;, iar congurarea cifrelor zecimale din LED-uri se consider ca Figura 2.37. a n P2.66 S se implemeteze pe o structur de circuit PLA generic un comparator a a digital pentru dou cuvinte A i B cu lungimea de 4 biti. Circuitul genereaz la ieire: a s a s

318

2.6. PROBLEME

A = B, A > B i A < B. Nu se primesc semnale pentru relatiile de ordonare de la un s modul comparator de rang superior. P2.67 S se realizeze circuite pentru identitatea a dou cuvinte. a a P2.68 Utiliznd circuitul comparator digital de patru biti 74XX85 s se implea a menteze structuri care s realizeze urmtoarele operatii: a) Pentru dou cuvinte A a a a i B ieirea fs s e adevrat cnd A<B. Cnd A>B ieirea fi s e adevrat. b) s s a a a a a s a a a Pentru dou cuvinte A i B s se realizeze urmtoarele relatii de ordonare: egal(=), a s a a mai mic(<), mai mic sau egal(), mai mare(>), mai mare sau egal(), diferit(=). P2.69 De la ieirile de pondere 23 , 22 , 21 , 20 ale unui numrtor sincron cod binar s aa n natural modulo 16 se obtine cuvntul A = A3 A2 A1 A0 , iar de la ieirile complementare a s se obtine cuvntul complement fata de 1, A = A 3 A2 A1 A0 . Cuvintele A i A se a n s aplic pe intrrile unui circuit comparator de patru biti 74XX85. S se deseneze a a a formele de und la cele trei ieiri ale circuitului (A > B, A = B, A < B) cnd a s a numrtorul parcurge toate cele 16 stri (0 15). aa a P2.70 Utiliznd circuitul comparator de patru biti 74XX85 i porti s se realizeze a s a o structur care genereaz urmtoarele relatii de ordine: a a a A N ; M A; M A N ; A < M ; A > N ude M i N sunt dou constante cuprinse intervalul [0, 2 n 1], n=4 s a n P2.71 Utiliznd trei circuite comparator digital de patru biti 74XX85 i porti s a s a se realizeze o structur care pentru trei variabile A, B, C activeaz ( stare 1) una a a n din cele trei ieiri fA , fB , fC functie de relatia adevrat din urmtoarele trei: s n a a a fA = 1 dac B < A > C fB = 1 dac A < B > C fC = 1 dac A < C > B a a a P2.72 Utiliznd circuitul 74XX283, sumator cu transport anticipat pentru cuvinte a de patru biti, s se realizeze diferite variante de sumatoare de trei biti i de doi biti. a s P2.73 S se realizeze sinteza unei celule semisumator pentru sumare sistemul de a n numeratie baz trei. Implementarea se va face cu porti NAND. n a P2.74 S se structureze o celul sumator modulo trei, apoi cu aceasta s se orgaa a a nizeze un sumator cu transport anticipat modulo 3 8 . P2.75 S se structureze o celul sumator pentru adunarea cod BCD. a a n P2.76 Utiliznd circuite 74LS181, unitate logico-aritmetic de patru biti i cira a s cuite 74LS182, unitate pentru calculul transportului anticipat pe patru ranguri, s se a organizeze o unitate logico-aritmetic pentru cuvinte de 64 de biti. a P2.77 S se realizeze un circuit, format numai din celule sumator complet (3, 2), a care s calculeze numrul (exprimat binar natural, NBCD) de biti care au valoarea a a n 1 ntr-un cuvnt de 7 biti, apoi s se extind pentru un cuvnt de un byte. a a a a P2.78 Utiliznd celule sumator complet a (3, 2) s se realizeze un modul care a incrementeaz un cuvnt de trei biti, la fel, un modul, pentru decrementare. a a P2.79 Pentru un sumator de ase biti realizat varianta de sumator cu propagarea s n transportului , SPT, i varianta cu transport anticipat, STA, s se determine: s n a 1. expresiile pentru C5 ; 3. timpul minim de sumare, T . 2. numrul de porti pentru implementarea lui C 5 ; a Se va considera organizarea de celul (3, 2) din Figura 2.60-b, iar C1 = 0. a P2.80 Realizati un circuit pentru sumarea a trei cuvinte de doi biti. P2.81 Realizati un circuit pentru multiplicarea a dou cuvinte, unul de doi biti a X = x1 x0 iar cellalt de trei biti Y = y2 y1 y0 utiliznd e numai module sumator a a pentru cuvinte de doi biti i porti AND2 e numai module sumator pentru cuvinte s

CAPITOLUL 2. CIRCUITE LOGICE COMBINATIONALE

319

de trei biti i porti AND2. s P2.82 S se structureze o Unitate Aritmetico - Logic Elementar, ALUE, care a a a s realizeze urmtoarele operatii:1) trece B i ; 2) Ai > Bi ; 3) Ai + Bi + Ci1 ; 4) a a Ai Bi Ci1 . P2.83 Utiliznd o (celul) ALUE (structurat la P2.82) s se organizeze o ALU de a a a a patru biti. P2.84 S se structureze o ALUE care s realizeze urmtoarele opt operatii: 1) a a a nscrie zero (tergere); 2) (B A); 3) (A B); 4) (A + B); 5) A B; 6) (A B); 7) s (A B); 8) nscrie 1 (set).

Capitolul 3

CIRCUITE LOGICE SECVENTIALE, CLS


Circuitul Logic Combinational, CLC, exprimat formal prin tripletul(X,Y,F), deter min pentru o conguratie binar de intrare de n biti, denit pe multimea a a a X = {0, 1}n , o conguratie de ieire de m biti, apartinnd multimii Y {0, 1} m , s a adic realizeaz aplicatia F : X Y . functionarea unui CLC, cel putin teoretic, a a In nu se ia considerare variabila timp, transferul intrare-ieire ind instantaneu; n s n suportul formal utilizat, algebra Booleean, nu exist variabila timp. Aceast lacun a a a a a suportului formal se pltete, uneori, sub forma generrii de hazard la unele ima s a plementri ale CLC-ului, cnd pe durata timpului de transfer(neinstantaneu) valorile a a obtinute la ieirea circuitului apar ca o violare a postulatului de existenta comple s s a mentarului: x + x = 0 i xx = 1!. Totodat, la un CLC transferul este unidirectional, nu exist i un transfer de la ieire ctre intrare, adic o reactie. as s a a Intr-o abordare foarte general un Circuit Logic Secvential, CLS, se poate consia dera ca o extensie a unui CLC cu o conexiune de reactie i functionarea sa, implicit, s n se consider i variabila timp(propagarea neinstantanee). Se poate lua i reciproca, as s adic un CLS numai cu transfer unidirectional i instantaneu este un CLC. Aceast a s a abordare de denire, implicit, determin i o structurare general a unui CLS pornind as a de la un CLC. Secventialitatea implic evenimente/stri care se succed timp unul dup altul. a a n a functie de modul cum este marcat aceast tranzitie, de la un eveniment/stare la In a a urmtorul, circuitele/sistemele pot asincrone sau sincrone. Pentru cele asincrone, a aceast tranzitie/evolutie, este determinat de ai structura circuitului/sistemului a a nss prin timpul su propriu de propagare(constanta de timp), pe cnd la cele sincrone a a tranzitia este marcat din exterior prin timpul, perioada/frecventa unui semnal de a ceas/clock.

3.1

CIRCUITE LOGICE SECVENTIALE ASINCRONE

Structura general a unui CLS asincron este reprezentat Figura 3.1, referit a a n a 321

322

3.1. CIRCUITE LOGICE SECVENTIALE ASINCRONE

uneori ca structur Human, care poate considerat c rezult pornind de a a a a la un CLC cruia i s-au ataat ci de reactie prin intermediul elementelor de a s a arziere, notate cu 0 , 1 , . . ., k1 . Variabilele de intrare(principale) sunt: nt xn1 (t), . . . x1 (t), x0 (t) iar mrimile de ieire sunt: ym1 (t), . . . , y1 (t), y0 (t), similar a s ca la un CLC cu n intrri m ieiri. O conguratie a variabilelor de intrare princia s pale este un vector de intrare Xi , i = 0, 1, 2, . . . , (2n 1), aceti vectori formeaz s a multimea intrrilor, notat cu X. De asemenea, conguratiile mrimilor de ieire a a a s formeaz multimea ieirilor, notat cu Y . Asupra celor dou multimi X i Y , sunt a s a a s corecte aceleai consideratii care s-au expus la CLC(vezi relatia 2.1). plus, CLC-ul s In mai produce la momentul t a alte k variabile de ieire w k1 (t), . . . , w1 (t), w0 (t) nc s care prin legturi de reactie i prin intermediul elementelor de arziere i , i = a s nt 0, 1, . . . , (k 1), se aplic pe intrare ca variabile de intrare secundare la momena tul t + i , zk1 (t + k1 ), . . . , z1 (t + 1 ), z0 (t + 0 ). Considernd c arzierile i , a a nt introduse de elementele de arziere sunt toate egale cu , se pot scrie urmtoarele nt a relatii pentru cele k intrri secundare zi , i = 0, 1, 2, . . . , (k 1) : zk1 (t + ) = a wk1 (t), . . . , z1 (t + ) = w1 (t), z0 (t + ) = w0 (t). Rezult c circuitul combinational a a din structura CLS-ului este un circuit cu (n + k) intrri i (m + k) ieiri. a s s
x 0 (t ) Intrari x1 (t ) principale
X

xn-1(t ) z 0 (t ) z 1 (t ) zk-1(t )

CLC cu: (n+k)intrari (m+k)iesiri Y(t)=f(x(t),z(t)) Q =g(x(t),z(t))


+

y0 y1 ym w0 (t ) w1(t ) wk-1(t )

X(t) n

CLC2 Y(t)= f(x(t),q(t))

Y(t) m

Intrari secundare Z

CLC1 Q (t)= g(x(t),q(t))


+

Q (t) k

zk-1(t )= wk(t-); zk-1(t+)= wk-1(t ) k-1 z 1 (t ) = w0 (t-); z 1(t+)= w1(t ) 1 z 0 (t ) = w0 (t-) ; z 0 (t+) = w0 (t ) 0
Starea prezenta q(t)
+ q(t)=q (t- ) + Starea urmatoare q (t) + q(t+)=q (t)

Q(t) k SA b)

a)

Figura 3.1 Circuitul logic secvential, CLS: a) structurare de principiu pentru un CLS asincron(Human); b) structurare cu separarea functiei de transfer intrare ieire, de cea de tranzitie a strilor. s a Pentru arzierile i nu trebuie s se eleag i s se considere cte un element nt a nt as a a zic de arziere introdus special pe cte o linie de reactie. implementrile normale nt a In a ale unui CLS asincron legtura de reactie se realizeaz printr-o conectare direct de a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

323

Adic starea prezent q(t) este identic cu starea urmtoare q + (t ), care a fost a a a a n urm la momentul (t), sau starea prezent q(t+), care va la momentul (t+), a a este egal cu starea urmtoare q + (t) din momentul t (starea urmtoare devine stare a a a prezent dup arzierea ). a a nt Deoarece starea prezent q(t) este aceeai cu starea urmtoare q + (t ), care a a s a fost urm la momentul (t) i care a fost calculat functie de strile anterioare, n a s a n a nseamn c functionarea circuitului, prin intrrile de reactie, intervine i evolutia a a n a s ,, anterioar a circuitului, adic inuenteaz i istoria . Apare clar faptul c la un a a as a CLS, raport cu un CLC, ieirile sunt dependente nu numai de intrrile prezente n s a ci i de intrrile anterioare care au determinat succesiunea strilor anterioare i care s a a s se regsesc valoarea strii prezente. Partea combinational a CLS pe baza unei a n a a conguratii de intrare X(t) i a strii prezente q(t) calculeaz valorile conguratiei s a a de ieire Y (t) precum i starea urmtoare q + (t). Aceste dou transferuri, spre cele s s a a dou tipuri de mrimi de ieire, sunt evidentiate Figura 3.1-b prin reprezentarea a a s n separat a celor dou parti combinationale CLC2 i CLC1. a a s Pentru o formalizare a exprimrii functionrii unui CLS se introduc urmtoarele a a a notatii: Multimea Q = {qp , . . . , q2 , q1 , q0 } este multimea strilor circuitului; pot a exista maximum p = 2k stri exprimate printr-un cuvnt cu lungimea de k biti a a de forma zk1 . . . zl . . . z1 z0 zl {0, 1}. Si multimea Q, ca i multimea Y , este s incomplet denit |Q| 2k ; multimea strilor realizate de circuit este denit a a a pe multimea nevid a prtilor lui Q, adic pe P (Q) a a a

la ieire la intrarea secundar, deci ieirea w i devine instantaneu intrarea zi (evident s a s dac timpul de propagare pe legtura de reactie respectiv este zero). schimb, a a a In propagarea de semnal structura CLC-ului, de la intrrile principale x i i intrrile n a s a secundare zi nspre ieirile wi , se realizeaz pe trasee cu anumite adncimi (niveluri s a a logice), deci exist intrzieri care trebuie luate considerare; de exemplu o arziere a a n nt de 5 10ns pe ecare nivel logic. Dar, explicatia anterioar, pentru ecare din n a semnalele wi , i = 0, 1, . . . , (k 1) s-a considerat c exist cte o arziere i . a a a nt Intr-o abordare didactic, analiza unui CLS asincron se poate simplica dac se consider a a a c arzierile de propagare din interiorul CLC-ului sunt zero dar, compensatie, a nt n pe ecare linie de reactie ntre wi spre zi se introduce arzierea i aferent ieirii nt a s wi din CLC. Simplicarea poate merge i mai departe prin supozitia facut anterior, s a c toate aceste arzieri i , introduse pe legturile de reactie, sunt egale cu . a nt a In acest mod de abordare didactic la CLS transferul intrare-ieire este instantaneu prin s CLC, schimb variabilele wi devin variabile de intrare secundar, zi , numai dup n a a intervalul de timp . Conguratia intrrilor secundare sau cuvntul format cu valorile binare ale celor k a a variabile secundare la momentul t,zk1 (t) . . . , z1 (t), z0 (t) denete o mrime intern s a a proprie circuitului secvential denumit starea prezent a circuitului, notat cu a a a q(t). Cuvntul format din valorile de ieire wk1 (t) . . . w1 (t), w0 (t) formeaz starea a s a urmtoare notat cu q+ (t). raport cu intrrile principale i ieirile circuitului, a a In a s s care sunt mrimi vizibile exterior(la borne), starea q(t) este o mrime intern proa n a a prie circuitului, neaccesibil la bornele circuitului. Datorit introducerii elementelor a a de arziere pe linile de reactie apar evidente urmtoarele relatii nt a ntre starea prezent a i starea urmtoare: s a q(t) = q + (t ); q(t + ) = q + (t) (3.1)

324

3.1. CIRCUITE LOGICE SECVENTIALE ASINCRONE

Functia de transfer f intrare-ieire a CLS-ului exprim procesul de modi s a care a ieirilor dependenta de cuvntul de intrare i de cuvntul strii prezente s n a s a a prin relatii de forma: y0 (t) = f0 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) y1 (t) = f1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) ................................................................. ym1 (t) = fm1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) f :X QY

(3.2)

Functia de tranzitie a strilor g exprim determinarea strii urmtoare; a a a a adic pe baza strii prezente i a cuvntului de intrare se calculeaz starea a a s a a urmtoare q + (t) prin relatii de forma: a w0 (t) = g0 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) w1 (t) = g1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) ................................................................ wk1 (t) = gk1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) g :X QQ

(3.3)

Fiecrui element din produsul cartezian X Q poate s-i corespund mai multe a a a elemente din multimile Y sau Q. Deoarece ieirile circuitului sunt denite pe prti s a ale multimii de ieire P (Y ) i la fel strile sunt denite pe prti ale multimii strilor s s a a a P (Q) relatiile 3.2 i 3.3 trebuie scrise sub forma: s f : X Q P (Y ) g : X Q P (Q) (3.4)

totui, uneori, pentru uurinta scrierii se utilizeaz formele anterioare. Aplicatiile s s a anterioare (3.2 i 3.3) corespund cu cele din relatiile 3.4 cnd oricare element din s a P (Y ) i P (Q) are cardinalul 1(contine un singur element). s Cu notatiile introduse un CLS poate exprimat ca un cvintuplu: CLS = (X, Y, Q, f, g) (3.5)

,, Dac multimea strilor este multimea vid Q (circuitul nu are istorie ) a a a atunci: g : X nu exist functie de tranzitie a strilor iar, f : X Y se a a reduce la f : X Y , deci se obtine: CLS|Q CLC = (X, Y, f ) Rezult c un CLS la care multimea strilor este multimea vid se reduce la un CLC a a a a (ieirile sunt functie doar de vectorul de intrare X i nu exist reactie). Se poate s s a concluziona c elementul care face trecerea de la combinational la secvential a este conexiunea de reactie; i invers, desfacerea reactiei la un circuit secvential s l transform circuit combinational. a n La un CLS, pe baza produsului cartezian ntre cuvntul X(t) aplicat pe intrare i a s al strii prezente Q(t), circuitul combinational calculeaz cuvntul ieirii Y (t), relatia a a a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

325

3.2, i la fel, calculeaz starea urmtoare Q + (t), relatia 3.3. Dup arzierea s a a a nt cauzat de transferul pe liniile de reactie, starea urmtoare Q + (t) devine noua stare a a prezent momentul (t + ), Q(t + ) = Q+ (t). a n S presupunem c la intrarea principal se aplic cuvntul X 1 (t) i starea prezent a a a a a s a a circuitului este q1 (t) = zk1 (t) . . . z1 (t)z0 (t). Pe baza produsului cartezian X1 (t) q1 (t), pe circuitul combinational, se calculeaz cuvntul de ieire Y 1 (t) precum i a a s s + cuvntul strii urmtoare q1 (t) = wk1 (t) . . . w1 (t)w0 (t), iar dup arzierea , de a a a a nt propagare pe liniile de reactie, starea urmtoare devine starea prezent q 2 (t + ) = a a + q1 (t). Considerm nemodicat cuvntul de intrare X 1 (t + ) (= X1 (t)) din nou pe a a baza produsului cartezian X1 (t + ) q2 (t + ) se calculeaz ieirea Y2 (t + ) i a s s + cuvntul strii urmtoare q2 (t + ) care dup arzierea devine starea prezent a a a a nt a + s s nseamn c acest proces a a q3 (t + 2) = q2 (t + ) i aa mai departe!. Dar, aceasta de evoluitie din stare stare (traseu), pentru acelai cuvnt aplicat pe intrare, este n s a innit, adic circuitul nu se stabilizeaz a a ntr-o anumit stare, denumit stare stabil. a a a Conditia ca o stare a circuitului s e stabil se reduce la identitatea cuvntului a a a strii prezente q(t) cu cel al strii urmtoare q + (t), calculat pe baza produsului a a a a cartezian X(t) q(t), adic wi (t) = zi (t) pentru toate valorile i = 0, 1, 2, . . . , (k 1). a Pentru o anumit intrare aplicat cnd cuvntul a ajuns a a a a ntr-o stare stabil, adic a a nu se mai modic timp, circuitul poate considerat c evolueaz permanent a n a a din aceeai stare tot cu aceeai stare. Uneori variabilele w i (t) ale strii urmtoare s s a a calculate sunt referite ca variabile de excitatie, deoarece prin intermediul acestora circuitul este trecut ntr-o alt stare. a Exemplul 3.1 Pentru circuitul din Figura 3.2 s se analizeze strile stabile. a a Solutie. Circuitul prezint o singur intrare x, o singur ieire y, doi biti pentru starea a a a s prezent, z1 , z0 , exprimat prin cuvntul z = z1 z0 , i doi biti pentru starea urmtoare a a a s a calculat, w1 , w0 , (functii de excitatie), exprimat prin cuvntul w = w1 w0 . arzierile de a a a Int propagare pe traseele portilor logice i pe conexiunea de reactie s-au concentrat dou valori s n a de timp de arziere, 1 , 0 care s-au introdus pe liniile de reactie. Timpul de propagare nt pe o poart poate specicat ca ind, de exemplu, intervalul 5 10ns, deci chiar pentru a n trasee cu topologie identic, pentru calculul functiilor de excitatie w1 , w0 , timpii de arziere a nt sunt general diferiti, 1 = 0 . n Din structura circuitului se deduc functiile de excitatie (tranzitia circuitului), w1 , w0 i s functia de transfer intrare-ieire y s
w 1 = x + z 1 z0 w 0 = x + z 1 z0 y = z 1 z0 + z 1 z0 Cu aceste relatii pentru cele patru stri posibile ale circuitului, z1 z0 = 00, 01, 11, 10 i cele a s dou valori ale variabilei de intrare x = 0, 1 se calculeaz valorile pentru w1 , w0 , care sunt a a prezentate primele dou tabele din Figura 3.2-b. ultimul tabel din aceast gur, n a In a a obtinut din cele dou tabele anterioare, sunt gurate pentru ecare pereche a produsului a cartezian, z1 z0 x, format ntre starea prezent i intrarea aplicat, valorile calculate ale a s a strii urmtoare i a ieirii, w1 , w0 ; y. Cuvintele de cod ale strilor prezente sunt notate a a s s a n partea stng a tabelului, la a a nceputul ecrei linii, iar valorile aplicate intrrii sunt gurate a a la captul superior al ecrei coloane din tabel. Din acest tabel, referit ca tabelul de a a evolutie al strilor, se poate deduce de exemplu c: pentru starea prezent z 1 z0 = 11 i a a a s intrarea aplicat x = 0 se calculeaz starea urmtoare w1 w0 = 00 i ieirea y = 0, (00/0), a a a s s

326

3.1. CIRCUITE LOGICE SECVENTIALE ASINCRONE


w1=x+z1z0 w0=x+z1z0 x0 z1z0 0 00 0 01 0 11 0 10 1 x 1 z1z0 0 1 00 0 1 1 1 w1 01 1 11 0 10 0

..
z0 z1 x z 1 0 1 0 0 0 0 t0

. . .
w0 w1 1 0 0 1 1 I 1 0 0 1 1 0 I I x z1z0 0 00 00 01 01 11 00 10 10 1 1 1 1 1 1 S

y w1 w0

y=z1z0+z1z0 1 1 1 1 1 w0 x 0 1 z1z0 00 00 /0 11/0 01 01 /1 11/1 11 00/0 11 /0 10 10 /1 11/1 w1 w0/y x 0 z1z0 00 00 01 01 11 00 10 10 1 11 11 11 11

a)

b)
t t t t t

z1 1 z0 1 w1 1 w0 1

t0+

t x 0 z1z0 00 w1w0 00 Stare : S 00

t0 1

t0+ 1 11 11 S 11 1 0 0 1 00 11 I 00 0 0 0 0 0 0 S 0 I

c)

0 Stare : S x 1 0 0 0 0 0

z1 1 z0 1 w1 1 w0 1 y 1

t0

t0+ 0 t0+ 1

t t t t t t w z

x 1 z1 1 z0 1 w1 1 w0 1 y 1 Stare :

t0

t0+ 0

1 1 0 1

t0+ 1

t t t t t t

0 Stare : S

S 1 11 11 11 11

S x z1z0 0 00 00 01 01 11 00 10 10 1 11 11 11 11

t0 t0+ 0 t0+ 1 t x 0 1 1 1 z1z0 00 00 01 w1w0 00 11 11 Stare : S I I 00 00 01 11 11 S 11

t t0 t0+ 0 t0+ 1 x 0 1 1 1 z1z0 00 00 01 11 w1w0 00 11 11 11 Stare : S I I 00 00 10 S 11

d)

e)

Figura 3.2 Analiza strilor stabile pentru un circuit CLS asincron: a a) structur circuit; b) tabelul de evolutie al strilor; c) analiza traseului obtinut a a
00 00 11 pentru cazul 1 = 2 = ; d) analiza traseului obtinut 00

00 01 11 pentru cazul 0 < 1 ; e) analiza traseului obtinut 00 00 10 11 pentru cazul 1 < 0 .

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

327

iar pentru aceeai stare prezent 11 dar cu intrarea aplicat x = 1, se calculeaz starea s a a a urmtoare 11 i y = 0, (11/0). a s Conditia de stabilitate pentru o stare, w1 (t)w0 (t) z1 (t)z0 (t) impune ca pe ecare linie din tabelul de evolutie al strilor, corespunztoare unei stri prezente, s existe cel putin a a a a o stare urmtoare calculat cu un cod identic cu cel al strii prezente. De exemplu, pe a a a prima linie, corespunztoare strii prezente z1 z0 = 00, se genereaza 00/0 pentru x = 0 a a i se genereaz 11/0 pentru x = 1, deci starea urmtoare calculat w1 w0 = 00 este o s a a a stare stabil(circuitul rmne tot starea prezent 00, respect conditia 00 = 00); dar a a a n a a n schimb starea urmtoare calculat w1 w0 = 11 nu este o stare stabil, pentru starea prezent a a a a z1 z0 = 00, deoarece 11 = 00 (circuitul nu rmne starea prezent). Strile urmtoare a a n a a a calculate care sunt stabile, se evidentiaz tabelul de evolutie al strilor prin a n a ncercuire. Pe aceeai linie a tabelului pot exista mai multe stri stabile( s a ncercuite), de exemplu la un tabel care are 2n coloane, acesta corespunde unui circuit cu n intrri principale, deci aceleiai a s stri prezente i se pot aplica 2n conguratii de intrare. Tabelul de evolutie al strilor este a a referit ca tabelul primitiv de evolutie al strilor dac pe ecare linie a sa exist doar a a a o singur stare stabil (incercuit), cum este cazul acestui tabel analizat. De asemenea, a a a cuvntul care reprezint produsul cartezian Q X este referit ca starea total a a a a circuitului. O stare total este stabil dac la intersectia corespunztoare a strii prezente a a a a a i a intrrii aplicate, tabelul de evolutie al strilor, este o stare urmtoare calculat notat s a n a a a a ncercuit i respectiv, este o stare total instabil pentru o stare urmtoare calculat notat s a a a a a ne ncercuit. Pentru acest circuit, din tabelul de evolutie, rezult c exist patru stri totale a a a a stabile z1 z0 x = 000, 010, 111, 100 i patru stri totale instabile 001, 011, 110, 101. s a La un circuit secvential asincron, avnd o stare prezent stabil prin aplicarea unui a a a cuvnt de intrare, evolutia poate : tot aceeai stare stabil, a n s a ntr-o alt stare stabil, a a una dintre mai multele stri stabile posibile (curs critic) sau o ciclare n a a a ntre mai multe stri instabile (oscilator). Pentru circuitul din gur se vor analiza trei cazuri posibile de a a evolutie a strilor cnd se aa starea total stabil z1 z0 x = 000 i intrarea se modic de a a n a a s a la 0 la 1. Pentru ecare caz evolutia strilor va reprezentat simultan prin trei modaliti: a a at diagrama de evolutie timp a semnalelor, tabelul de evolutie timp al strilor i tabelul n n a s de evolutie al strilor(notatiile S i I indic pentru starea prezent atins c: este stabil, a s a a a a a respectiv instabil). a 1. 1 = 0 = Figura 3.2-c. (Propagarea semnalelor pe ambele conexiuni de reactie se realizeaz acelai timp , iar propagarea pe partea combinational se face instantaneu, a n s a timp zero). Pentru z1 (t0 )z0 (t0 ) = 00 i x(t0 ) = 1 se calculeaz, pe baza relatiilor anterioare, s a starea urmtoare w1 (t0 )w0 (t0 ) = 11. Deci circuitul trece din starea stabil 00 starea a a n instabil 00, z1 (t0 )z0 (t0 ) = 00 = w1 (t0 )w0 (t0 ) = 11, i rmne aceast stare instabil pe a s a a n a a durata dup care trece noua stare prezent de la momentul t0 +, z1 (t0 +)z0 (t0 +) = a n a 11. noua stare prezent se calculeaz starea urmtoare care este w1 (t0 +)w0 (t0 +) = 11 In a a a i pentru care este s ndeplinita conditia z1 (t0 +)z0 (t0 +) = 11 = w1 (t0 +)w0 (t0 +) = 11, a n a deci noua stare prezent este o stare stabil, 11 , circuitul ramne aceast stare. Evolutia a a a fost starea stabil 00 , starea instabil 00 i apoi starea stabil 11 . a a s n a 2. 0 < 1 , Figura 3.2-d. Aceast relatie arat c bitul w0 al strii urmtoare calculate a a a a a se propag bitul z0 al strii prezente mai repede dect bitul w1 z1 . momentul t0 a n a a n In cnd x se modic din 0 1 se trece din starea prezent stabil 00 starea instabil a a n a a n a 00, z1 (t0 )z0 (t0 ) = 00 = w1 (t0 )w0 (t0 ) = 11. Dup durata 0 noua stare prezent este a a z1 (t0 + 0 )z0 (t0 + 1 ) = 01 care pentru x = 1 genereaz w1 (t0 + o )w0 (t0 + 0 ) = 11 = 01, a deci i aceast stare prezent 01 este instabil. momentul t0 + 1 i bitul w1 se propag s a a a In s a z1 iar noua stare prezent este z1 (t0 + 1 )z0 (t0 + 1 ) = 11 pentru x = 1 calculnd bitii n a a

328

3.1. CIRCUITE LOGICE SECVENTIALE ASINCRONE

strii urmtoare rezult w1 (to + 1 )w0 (t + 1 ) = 11, deci starea prezent 11 este o stare a a a a n a stabil. Evolutia a fost starea stabil 00 , trecerea starea instabil 00(la momentul t0 ), a a trecerea starea instabil 10(la momentul t0 + 0 ) i nal trecerea starea stabil 11 n a s n n a (la momentul t0 + 1 ). 3. 1 < 0, Figura 3.2-e. De data aceasta bitul w1 al strii urmtoare calculate se a a propag bitul z1 al strii prezente a n a naintea propagrii bitului w0 z0 . Analiza evolutiei a n strilor se realizeaz similar ca la punctul 2 i rezult o succesiune 00 00 10 11 . a a s a concluzie acest circuit din starea total 000 poate trece starea total 001( functie In a n a n de valorile arzierilor 1 i 0 ) prin una din urmtoarele trei succesiuni: nt s a 00 00

necritic dac pornind dintr-o stare, pe oricare traseu, se ajunge nal aceeai stare a a n n s total stabil, cum este cazul analizat. opozitie, un circuit prezint o curs critic a a n In a a a dac din aceeai stare total initial se ajunge stri totale stabile diferite functie de a s a a n a n traseul urmat. Conditia de curs critic pentru un circuit asincron poate aparea cnd dou sau mai a a a a multe din variabilele binare de stare zi si schimb valoarea la o modicare cuvntul de a n a intrare X(t). consecinta, printr-o judicioas codicare a strilor circuitului, tabelul de In a a n evolutie al strilor, se poate realiza un circuit fr curse critice. La un circuit fr curse a a a a a critice trebuie ca pe traseul de evolutie al strilor ecare moment de trecere de la o stare a n instabil la o alt stare instabil, s se modice doar un singur bit cuvntul strii calculate. a a a a n a a Poate exista i cazul cnd evolutia strilor este pe un traseu ciclic format numai pe stri s a a a instabile ceea ce determin o functionare de oscilator pentru circuit. Dar s analizm a a a un astfel de regim Exemplul 3.2. Analiza i sinteza circuitelor secventiale asincrone este n s destul de dicil dac nu se introduc anumite restrictii. acest sens, primul rnd se a a In n a admite c conguratia de intrare X(t) la un moment dat se modic doar un singur bit. a n a Si al doilea rnd, se consider c o modicare a semnalului de intrare nu are loc pn n a a a a a cnd circuitul nu a ajuns a ntr-o stare stabil. Un circuit secvential asincron care respect a a aceste dou restrictii este referit ca circuit ce functioneaz mod fundamental. a a n

11 sau 00 00 01 11 sau 00 00 10 11 . Cursa pentru un circuit este

Exemplul 3.2 S se analizeze functionarea circuitelor secventiale asincrone realizate a numai cu inversoare nseriate. Solutie. Se disting dou structuri cu numr impar i numr par de inversoare a a s a nseriate. a) Figura 3.3-a este prezentat un circuit secvential asincron realizat printr-o legtur In a a de reactie la o poart NAND2. Pentru intrarea x = 1 poarta NAND2 are o functionare a de inversor w = z. Din tabelul de evolutie al strilor, Figura 3.3-b, se observ c pentru a a a coloana x = 1 nu exist nici o stare stabil. Pentru starea prezent z = 0 i intrarea x = 1 se a a a s calculeaz starea urmtoare w = 1 care genereaz o tranzitie, w z = 1, pe linia a doua a a a a tabelului, unde pentru starea prezent z = 1 i intrarea x = 1 se calculeaz starea urmtoare a s a a w = 0 care genereaz o tranzitie, w z = 0, pe linia aia a tabelului, unde pentru starea a nt prezent z = 0 i intrarea x = 1 se calculeaz starea urmtoare w = 1 care genereaz o a s a a a tranzitie w z = 1 pe linia a doua a tabelului i procesul se repet, adic trece s a a ncontinuu ntre strile instable z = 0 i z = 1. Pe baza schemei echivalente, ca CLS asincron Human, a s din Figura 3.3-a, se pot reprezenta semnalele z i w,Figura 3.3-c, considernd inversorul cu s a timp de transfer zero iar timpii si de propagare pHL i pLH sunt introdui ca arzieri pe a s s nt legtura de reactie. Pentru x = 0 modicrile strii prezente z nu se transmit prin poarta a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

329
x

x z a)

CLC w

pt x=1 w pHL pLH b)

x 0 0 1 1

z 0 1 0 1

xz =w 1 1 1 0

z 0 0 1 1 1

1 1 0

c)

w 1 z 1 pHL pLH pHL pLH pHL pLH

T= phl + plh

Figura 3.3 CLS asincron realizat prin nserierea unui numr impar de a inversoare: a) structur realizat pe baza unei singure porti NAND2; b) tabelul de a a evolutie al strilor; c) variatia timp a semnalelor generate. a n
NAND2, w este permanent 1, dar pentru x = 1 starea prezent z se transmite prin poart a a a a s cu valoarea complementat, w = z (vezi tabelul de adevr). Pentru starea prezent z = 1 i a x = 1 se calculeaz instantaneu starea urmtoare w = 0 care devine stare prezent z = 0, a a a dup arzierea pHL , pe baza cruia se calculeaz noua stare urmtoare w = 1 care devine a nt a a a stare prezent z = 1 dup arzierea pLH i procesul se repet. Deci circuitul are functionare a a nt s a de generator de semnal dreptunghiular cu perioada T = pHL + pLH . Functia de generator de semnal dreptunghiular o are orice CLS asincron la care partea combinational este o a nseriere a unui numr impar n de inversoare, perioada semnalului generat ind T = n(pHL + pLH ) a vezi Exemplul 1.17.

x0 x1 z a)

CLC w z

pt x1x0=11 x pHL, pLH pLH, pHL

x1x0 z 00 01 11 10
1 1 0 0 1 0 1 0 1 1

b)

c)

Figura 3.4 CLS asincron realizat prin nserierea unui numr par de invera soare: a) structur realizat pe baza a dou porti NAND2; b) structur echivalent a a a a a ca CLS Human; c) tabelul de evolutie al strilor. a
b) Figura 3.4-a este prezent o structur de CLS asincron realizat prin In a a nserarea a dou a porti NAND2, iar pentru cuvntul de intrare x1 x0 = 11 ecare poart este echivalent cu un a a a a inversor, Figura 3.4-b. Functia de tranzitie este w = zx1 x0 = zx1 + x0 ale crei valori sunt trecute tabelul de evolutie al strilor din Figura 3.4-c. Pentru coloana x1 x0 = 11 se observ n a a c att starea z = 0 ct i starea z = 1 sunt stabile, adic starea urmtoare calculat w este a a a s a a a identic cu starea prezent i se tranfer stare prezent dup arzierea = pHL + pLH . a as a n a a nt Din acest tabel se observ c pentru toate combinatiile de intrare x1 x0 = 00, 01, 11, 10 exist a a a stri stabile pentru circuit(o discutie necesit cazul cnd x1 x0 = 00, vezi sectiunea 3.3.1). a a a

330

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Se poate generaliza aceast armatie, un CLS asincron compus prin a nserierea unui numr a par de inversoare are pentru ecare cuvnt de intrare cel putin o stare stabil. a a

3.2

CIRCUITE LOGICE SECVENTIALE SINCRONE

,, La un circuit logic secvential asincron variabila timp curge continuu, exist a incontinuu transfer de la ieire spre intrare, pe calea de reactie, deci o evolutie dintr-o s stare alta(chiar i cnd este n s a ntr-o stare total stabil se poate considera c circuitul a a a evolueaz incontinuu din acea stare tot acea stare). Spre deosebire de circuitul a n ,, asincron, la un circuit logic secvential sincron variabila timp are o curgere discret, trecerea/tranzitia dintr-o stare urmtoarea se face numai momentele a n a n bine denite de ctre semnalul de ceas/clock. Semnalul de ceas (clock) este un semnal a dreptunghiular periodic care comut a ntre L i H i invers cu un coecient de umplere s s 50%, Figura 3.5, simbolizat circuite prin abreviatia CLK. Comutarea repetat n a ntre L i H este utilizat pentru a marca timpul, unitatea de timp ind perioada T s a a acestui semnal; un moment pe scara timpului se marcheaz doar printr-un multiplu a de perioad de clock: . . . , iT, (i + 1)T, (i + 2)T, . . .. a Ceasul circuitele sincrone poate actiona pentru marcarea timpului prin unul n din palierele sale, referit ca palier activ. De exemplu, marcarea timpului pe palierul activ H este reprezentat Figura 3.5-a, iar marcarea timpului cu frontul activ a n cresctor/ anterior/ pozitiv sau cu frontul activ descresctor/posterior/negativ este a a reprezentat respectiv Figura 3.5-b i 3.5-c. Marcarea pe palier(=interval) se face a n s ntr-un mod mai grosier, pe cnd marcarea pe front este un mod foarte precis. a

SU
CLK iT a) (i+1)T b) CLK iT (i+1)T c) CLK iT (i+1)T d) CLK

iT

Figura 3.5 Semnale de ceas pentru sincronizare pe: a) pe palier; b,c) pe frontul pozitiv/crector respectiv negativ/descresctor; d) fereastra de decizie = SU + H a a axat pe frontul de sincronizare, pe durata cruia semnalul de sincronizat nu trebuie a a s si modice valoare. a

3.2.1

Sincronizarea semnalelor asincrone

Inainte de prezentarea CLS sincrone se va analiza modul care un semnal este n sincronizat. Prin sincronizarea unui semnal se elege aducerea acelui semnal nt n ,, acelai timp cu semnalul de ceas. Aceasta s nseamn c semnalul asincron este a a citit/eantionat i s s nscris ntr-un element de memorare numai momentele discrete n dictate de semnalul de ceas. Dar care va valoarea citit pentru un semnal asincron a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

331

cnd sincronizarea se face pe palier? dicil de spus deoarece semnalul ind cu variatia a ,, ,, asincron poate s si modice valoarea a a ntre 0 i 1 de nenumrate ori pe durata s a palierului impulsului de ceas; aceast situatie elementul de memorare se va n a n nscrie valoarea pe care o are semnalul asincron pe frontul de sfrsit al palierului activ. a Evident c, pentru a face o citire corect trebuie s se impun ca semnalul s nu se a a a a a modice pe durata palierului. La eantionarea pe front, considend c panta acestuia s a a este innt(durata frontului f = 0), conditia de a se mentine nemodicat semnalul a asincron doar ntr-un singur punct este mai usor de ndeplinit. Dar i la sincronizarea s pe front se impune ca semnalul asincron s nu si modice valoarea pe un interval de a timp de prestabilire SU (set-up) nainte de front i apoi pe a un interval de s nc timp de mentinere H (hold) dup front, relatia 3.23; deci nici o modicare pe a limea unei ferestre(de decizie) cu limea = SU + H axat pe frontul at at a semnalului de ceas, Figura 3.5-d. Aceast restrictie de nemodicare pe intervalul a este impus de ctre functionarea elementului zic bistabilul care realizeaz citirea a a a i memorarea semnalului asincron. Bistabilul(a se vedea Figura 3.5-d) la o modicare s a semnalului asincron(de sincronizat) intervalul , poate memora e valoarea logic n a 1, e valoarea logic 0, deci nu se poate controla valoarea care se a nscrie(functionare nedeterminist). Teoretic, aceste restrictii de nemodicare momentul eantionrii a n s a duc la armatia c un semnal asincron (ind asincron poate s se modice oricnd) nu a a a poate sincronizat corect. Din analiza cazurilor urmtoare se va vedea cnd aceast a a a concluzie este corect i cnd nu. as a Se consider cazul cnd trei semnale asincrone A = 0, B = 0, C = 1 sunt eantioa a s nate simultan dar numai semnalul C si modic valoarea de la 1 la 0 fereastra de a n decizie , centrat pe frontul pozitiv de ceas de la momentul iT, Figura 3.6-a. Dup a a frontul pozitiv de sincronizare se memoreaz e cuvntul ABC = 001 e cuvntul a a a ABC = 000, dar ambele cuvinte sunt corecte deoarece oricare dintre acestea sunt generate de ctre sursa cuvntulului ABC. Dac la frontul iT se obtine cuvntul a a a a ABC = 001 la urmtorul front de sincronizare (i + 1)T , considernd c semnalul a a a C si pstreaz nemodicat noua valoare 0, se memoreaz valoarea corect, adic a a a a a a ABC = 000. Deci necitirea corect la momentul iT poate privit ca o arziere a a a nt sincronizrii cu un tact a cuvntului ABC = 000. a a Cazul cnd pentru cele trei semnale asincrone, fereastra de decizie de pe frona n tul pozitiv al semnalului de ceas de la momentul iT, se modic dou dintre sema a nale, C de la 1 la 0 i B de la 0 la 1, este reprezentat Figura 3.6-b. Dup s n a frontul pozitiv de sincronizare se pot memora unul din urmtoarele patru cuvinte a ABC = 001, 010, 000, 011, iar dup al (i+1)T front de sincronizare, dac nu mai apar a a modicri, cu arziere de un tact se obtine cuvntul corect ABC = 010. Deci a nt a n intervalul dintre iT i (i+1)T, datorit indeciziei semnalului citit, pot aprea i cus a a s vintele ABC = 000 i ABC = 011 care sunt incorecte deoarece sursa nu a generat s aceste cuvinte ci doar cuvintele 001 i 010. Deci la modicarea a doi sau mai multi s biti, sincronizarea nu poate sigur. a concluzie pentru sincronizarea corect a unui grup(cuvnt) de semnale asincrone In a a este necesar respectarea restrictiei ca la un moment dat s se modice doar un a a singur semnal. Cazul particular cnd aceste semnale se obtin ca un cuvnt de la un a a CLC cu ieiri multiple, posibil arcate cu hazard, pentru o sincronizare corect este s nc a necesar s se atepte pn se consum timpul de propagare pentru producerea acestor a s a a a semnale. Dac pentru un grup de semnale cnd sunt sincronizate se consider ecare a a a

332

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

A 1 0 1 B 0 1 C 0

t t

SU
CLK
A=0 B=0 C=1 iT

SU
A=0 A=0 B=0 sau B=0 C=0 C=1 corect corect

a)

(i+1)T

A=0 B=0 C=0 corect

A1 0 1 B 0 1 C 0

t t

SU
CLK
A=0 B=0 C=1 iT

SU
A=0 A=0 A=0 A=0 B=0 sau B=1 sau B=0 sau B=1 C=1 C=0 C=1 C=0 corect corect incorect incorect

b)

(i+1)T

A=0 B=1 C=0 corect

Figura 3.6 Sincronizarea(memorarea) semnalelor asincrone: a) nscrierea corect a unui cuvnt cnd se modic doar un singur bit; b) posibilitatea de a a a a nscriere incorect cnd se modic mai mult de un singur bit fereastra de decizie . a a a n semnal cu semnicatie individual, deci nu o semnicatie grup/ cuvnt, atunci a n n a sincronizarea ecruia parte este corect oricare moment de timp. Pe cnd la un a n a n a grup de semnale asincrone care se constituie ntr-un cuvnt de cod, codul exprimat a de acel cuvnt depinde de valoarea tuturor semnalelor din acel cuvnt i nu doar de a a s unul singur, sincronizarea corect este imposibil. a a

3.2.2

Automate nite: structur, denitii, clasicri a a

Structura de principiu a unui CLS sincron se obtine din cea a unui CLS asincron, Figura 3.1, care elementele de arziere i sunt substituite cu elemente de memon nt rare/(registru de stare) ca Figura 3.7-a (Registrul de stare este un circuit registru n prezentat sectiunea 3.5. Registrul este un circuit de memorare care se poate n n nscrie un cuvnt binar numai la aplicarea unui semnal de arcare/ a nc nscriere, momentan considerm c semnalul de arcare este semnalul de ceas. Dup a a nc a nscriere, cuvntul este permanent generat la ieirea registrului i poate utilizat ca intrare la a s s alte circuite.) Bitii wi calculati ai functiei de excitatie, cuvntul strii urmtoare, vor a a a nscrii s registrul de stare numai momentele de aplicare ale fronturilor active(pozitive) n n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

333
Y(i+1)T:=Y(iT)

X(iT)

Y(iT)=f(X(iT),Z(iT))

Y(iT)

Y(iT)

Z(iT)

CLC

W(iT)=g(X(iT),Z(iT))

Q(iT)

CLC

Q (iT)

Registru

Q((i+1)T):=Q (iT) Registru de stare CLK a) T q(i1)T iT Timp de stare,q(iT) Perioada tranzitorie Perioada stabila W(iT)=g[x(iT),Z(iT)] Y(iT)=f[x(iT),Z(iT)] b) x(iT) Z(iT):=W((i1)T) Y(iT):=Y((i1)T) w(iT) y(iT) (i+1)T CLK c)

Q((i+1)T):=Q (iT)

T Timp de stare,q((i+1)T) Perioada stabila


W((i+1)T)=g[X(i+1)T,Z(i+1)T] W((i+1)T)=f[X(i+1)T,Z(i+1)T]

(i+2)T q((i+2)T)

Perioada tranzitorie

x((i+1)T)

w((i+1)T) y((i+1)T)

x((i+2)T)

Z((i+1)T):=W(iT) Y((i+1)T):=Y(iT)

Z((i+2)T):=W((i+1)T) Y((i+2)T):=Y((i+1)T)

Figura 3.7 Circuitul secvential sincron: a) structur de principiu; b) succe a siunea timp a operatiilor de transfer f i de tranzitie g; c) structura de principiu n s pentru CLS sincron cu ieirea arziat. s n a din semnalul de ceas . . . , (i 1)T, iT, (i + 1)T, . . .. Odata nscrii bitii strii urmtoare s a a momentul iT , registrul de stare, acetia vor devenii bitii strii prezente Z(iT ). n n s a Pe baza strii prezente Z(iT ) i intrrii X(iT ) (se consider c intrarea este sina s a a a cronizat cu acelai semnal de ceas ca i bitii strii prezente) se va calcula transferul a s s a intrare ieire i functia de excitatie pentru starea urmtoare, s s a Y (iT ) = f [X(iT ), Z(iT )] W (iT ) = g[X(iT ), Z(iT )]

(3.6)

La urmtorul impuls de ceas (i + 1)T , bitii calculati W (iT ) ai strii urmtoare q + (iT ) a a a sunt nscrii registrul de stare i devin bitii Z((i+1)T ) ai strii prezente q((i+1)T ). s n s a Din nou, pe baza strii prezente q((i+1)T ) i a intrrii X((i+1)T ) se calculeaz dup a s a a a relatiile 3.6, ieirea Y ((i + 1)T ) i bitii functiei de excitatie W ((i + 1)T ) care s s nscrii s registrul de stare, la momentul (i + 2)T , devin bitii Z((i + 2)T ) ai strii prezente n a q((i + 2)T ). Se observ c asignarea strii urmtoare calculate Q + (iT ), reprezentat a a a a a

334

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

prin bitii functiei de excitatie W (iT ), stare prezent Q((i + 1)T ) se face numai n a momentul (i + 1)T prin n nscrierea registrul de stare Q((i + 1)T ) := Q + (iT ). n Numai momentul aplicrii frontului activ al semnalului de ceas, pentru n a nscrierea registrul de stare, se poate considera c bucla este n a nchis restul intrevalului a n de timp, pn la aplicarea urmtorului front activ al impulsului de ceas, bucla este a a a deschis. Deci, nu exist un transfer continuu a strii urmtoare calculat Q + a a a a a stare prezent Q pe legtura de reactie ca la CLS asincron. intervalul n a a In de timp dintre dou fronturi active ale semnalului de ceas, circuitul poate privit ca a un circuit combinational, care pe baza cuvintelor de intrare X(iT ) i Z(iT ) calculeaz s a ieirile Y (iT ) i W (iT ). Inexistenta unui transfer continuu pe conexiunea de reactie, s s cu exceptia momentelor aplicrii fronturilor active ale semnalelor de ceas, confer a i a CLS-ului asincron o functionare de circuit deschis care totdeauna este stabil, adic a trece dintr-o stare stabil alt stare stabil. a n a a Transferurile ntre dou impulsuri succesive de ceas, pe partea combinational a a a circuitului secvential sincron sunt prezentate Figura 3.7-b. Din momentul aplicrii n a impulsului de ceas iT se calculeaz, pe partea combinational, W (iT ) i Y (iT ), dar a a s bitii acestor conguratii calculate pot afectati de hazard datorit parcurgerii unui a numr diferit de niveluri logice, deci citirea lor trebuie facut numai dup consumarea a a a regimului tranzitoriu. Asignarea strii prezente Q((i+1)T ) := Q + (iT ) i citirea ieirii a s s Y (iT ) sunt corecte numai perioada de regim stabilizat. Aplicarea urmtorului n a impuls de ceas nu trebuie s e mai devreme de consumarea regimului tranzitoriu, a deci frecventa maxim a semnalului de ceas cu care se poate comanda CLS-ul se a determin cu relatia: a fmax = care: n pmaxCLC - timpul de propagare maxim pe circuitul combinational(care determin a durata regimului tranzitoriu, afectat de hazard). pBQ - timpul de propagare pe registrul(bistabilul) de stare. SUQ - timpul de prestabilire (gura 3.5-d). Bitii calculati w i ai strii urmtoare a a i aplicati pe intrarea registrului de stare trebuie s nu se modice cu cel putin s a SU nainte de aplicarea frontului activ de ceas. De foarte multe ori, la fel ca i bitii calculati W (iT ) ai strii urmtoare i bitii s a a s calculati Y (iT ) ai cuvntului de ieire a s nainte de a disponibili la ieire sunt memorati s ( nscrii s ntr-un registru de ieire), Figura 3.7-c. Deci, bitii Y (iT ) calculati pentru s impulsul de ceas iT vor disponibili la ieire la urmtorul impuls de ceas (i + 1)T s a numai dup ce au fost a nscrii registru, Y ((i+1)T ) := Y (iT ). Un astfel de CLS este s n referit cu arziere contrast cu cel fr registru care este referit CLS imediat. nt n aa La un CLS sincron imediat ieirea depinde de starea curent. Modicarea intrrii s a a se simte la ieire pe durata strii prezente. Ieirea poate afectat de hazard, deci s a s a trebuie citit doar dup consumarea regimului tranzitoriu. CLS sincron cu arziere a a nt are ieirea dependent de starea anterioar(corespunztoare ciclului anterior de ceas). s a a a Deoarece se presupune c bitii de ieire au fost a s nscrii registrul de ieire dup s n s a 1 Tmin = 1 pmaxCLC + pBQ + SU Q (3.7)

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

335

consumarea regimului tranzitoriu, ieirea arziat nu este afectat de hazard. Deci s nt a a ,, la un circuit cu arziere o modicare a intrrii X(iT ) se va simtii la ieire numai nt a s dup frontul activ de ceas (i + 1)T , adic cu o arziere de un tact. a a nt Structura de CLS sincron care contine bucla de reactie un circuit de memo n rare/registru, care la rndul su constituie un CLS, este referit prin termenul de a a a automat (nit) sau cu abreviatia FSM (Finite State Machine). contin In uare se vor prezenta succint doar acele denitii i clasicri ale automatelor [Creang s a a 73][Stefan 00] [Maican 99] care vor utilizate aceast lucrare. n a Denitia unui automat nit A este similar cu cea data prin relatia 3.5 pentru a un CLS asincron cu deosebirea c timpul nu mai este o variabil continu ci disa a a cret, multiplu de perioada semnalului de ceas, iT , adic variabilele circuitului sunt a a eantionate dar pe fronturile active s A = (X, Y, Q, f, g) (3.8)

Denitia 3.1 Dac pentru oricare conguratie de intrare i de stare prezent, a s a functiile de transfer, f , i de tranzitie, g, au cardinalul unitate(contine un singur s element), atunci automatul este determinist, altfel este nedeterminist q Q, x X, |f (q, x)| = 1, |g(q, x)| = 1 (3.9)

Denitia 3.2 Un automat A este nit dac cele trei multimi X, Y i Q sunt a s nite. Este necesar a se evidentia faptul c un automat cu un numr nit de stri poate a a a prelucra iruri innite aplicate pe intrare, denite pe multimea nit X, i poate s a s genera la ieire iruri innite, denite pe multimea nit Y. s s a Denitia 3.3 Un automat A autonom, sau orologiu, este un automat la care multimea nit a intrrilor are cardinalul unitate |X| = 1 a a Pentru automatul autonom, multimea conguratiilor de intrare este permanent aceeai ceea ce d automatului o comportare independent de exterior, vezi Exemplul s a a 3.2. Automatul genereaz variatii la ieire fr s se modice conguratia de intrare. a s aa a Denitia 3.4 O evolutie/traiectorie a automatului A este un ir de stri s a antuite q0 q1 . . . qi qi+1 . . ., iar starea q0 este starea initial a nl a evolutiei. O evolutie cu proprietatea: qi Q, Xi X, qi+1 g(qi , Xi ) este o evolutie admisibil a Denitia 3.5 Totalitatea strilor din care poate porni automatul este multimea a strilor initiale Q0 , Q0 Q a functie de cardinalul multimii Q0 automatele pot : In (3.10)

La un automat determinist din starea prezent i pentru intrarea aplicat se cuas a noate exact ieirea precum i starea pentru tactul urmtor, pe cnd la unul nedes s s a a terminist, starea urmtoare i ieirea sunt cunoscute doar ca elemente care apartin a s s P (Q), respectiv P (Y ) (vezi relatia 3.4).

336

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

- automat cu o singur stare initial Q0 Q, |Q0 | = 1 a a - automat cu mai multe stri initiale Q0 Q, |Q0 | > 1 a - automat neinitial(toate strile pot initiale), Q 0 = Q a Intr-o stare initial nu se ajunge printr-o evolutie generat de conguratii din multi a a mea semnalelor de intrare X ci printr-o alt comand exterioar, de exemplu printr-o a a a comand de initializare/reset sau prin conectarea la tensiune se genereaz starea a a initial. a Denitia 3.6 O stare a automatului este considerat inaccesibil dac oricare a a a traiectorie spatiul strilor ce pornete din stri initiale nu o contine. n a s a Evident, se poate vorbi de stri inaccesibile numai cazul automatelor initiale a n |Q0 | 1. De exemplu, dac pentru un automat cu trei biti de stare z 2 z1 z0 pot exista a opt stri q0 , q1 , q2 , q3 , q4 , q5 , q6 , q7 , q8 , dar sunt denite numai cinci stri, q0 q4 , a a n functionarea automatului atunci cele trei stri, q 5 , q6 , i q7 sunt inaccesibile. a s Denitia 3.7 Dou stri qi i qj sunt echivalente qi qj dac pentru oricare a a s a conguratie de intrare aplicat X se genereaz aceleai ieiri, iar strile urmtoare a a s s a a qi+1 = g(qi , X), qj+1 = g(qj , X) sunt identice sau echivalente. f (qi , X) = f (qj , X); g(qi , X) g(qj , X) (3.11)

etapa de denire a functionrii unui automat se poate introduce informatie In a redundant care duce la un numr total de stri mai mare dect numrul de stri a a a a a a care poate descrie functionarea automatului. Dac un grup de stri se demonstreaz a a a c sunt echivalente, toate strile acelui grup sunt substituite printr-o singur stare, a a a astfel reducndu-se numrul total de stri ale automatului. a a a Denitia 3.8 Un semiautomat, SA, este denit prin tripletul: SA = (X, Q, g) (3.12)

Prin notiunea de semiautomat se identic cadrul unui automat numai acea a n parte care este responsabil pentru generarea strii interne. Structural, semiaua a tomatul se obtine prin eliminarea din structura automatului a partii care calculeaz a functia de transfer, f . Pentru cele patru organizri de automate reprezentate a n Figura 3.8 sunt delimitate structurile care formeaz semiautomatul, SA. Semiaua tomatul este format din partea de circuit combinational, CLC1, care calculeaz functia a g i registrul din calea de reactie. Unui semiautomat i se pot ataa diferite prti s s a combinationale, CLC2, pentru diferite functii f , deci pe baza unui semiautomat se pot realiza mai multe automate. Dar i unui automat i se pot asocia diferite semiautos mate. proiectarea unui automat se pornete de la denirea functionrii automatului In s a adic de la descrierea functiei de transfer intrare-ieire. Deoarece transferul intrarea s ,, ieire este dat, proiectantului rmne spatiu de manevr doar proiectarea i s i a a a n s optimizarea semiautomatului. functie de modul cum se calculeaz functia de transfer f a automatului, exist In a a dou tipuri de automate:Mealy i Moore. a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


X(iT) X(iT)

337
Y((i+1)T):=Y(iT)

CLC 2 f SA

Y(iT)

CLC 2 f SA

Y(iT)

Registru 2

Q(iT) CLK

CLC 1 g

Q (iT)

Registru 1

Q(iT) CLK

CLC 1 g

Q (iT)

Registru 1

Q(iT):=Q ((i1)T) a) X(iT) Q(iT) CLK Q(iT):=Q ((i1)T) Y((i+1)T):=f(Q(iT)) c) d)


+

Q(iT):=Q ((i1)T) b)

SA CLC 1 Q (iT) g
+

Reg 1

X(iT) CLC 2 Y((i+1)T) Q(iT) f CLK

SA CLC 1 g
Q (iT)
+

Reg 1

CLC 2 f

Reg 2

Q(iT):=Q ((i1)T)

Y((i+2)T):=f(Q(iT))

Figura 3.8 Variante de automate Mealy i Moore structurate pe baza unui s semiautomat, SA: a,b) structurare fundamental pentru automatele Mealy imea diat i Mealy cu arziere; c,d) structurare fundamental pentru automatele Moore s nt a imediat i Moore cu arziere. s nt Denitia 3.9 cu: f : X Q Y g : X Q Q Un automat Mealy este denit prin cvintuplu A=(X,Y,Q,f,g)

(3.13)

La automatul Mealy parte combinational calculeaz att functia de transfer f a a a ct i cea de tranzitie g pe baza produsului cartezian X Q. a s Denitia 3.10 cu: f :QY g : X Q Q Un automat Moore este denit prin cvintuplu A(X,Y,Q,f,g)

(3.14)

La automatul Moore functia de tranzitie g se calculeaz la fel ca la automatul a Mealy, pe baza produsului cartezian X Q, pe cnd functia de transfer f este calculat a a doar pe baza strii prezente Q. Ieirea automatului Moore este dependent de intrare a s a doar prin intermediul tranzitiilor realizate spatiul strilor. n a Fiecare din aceste dou tipuri de automate poate realizat cu functionare imediat a a sau arziat, Figura 3.8. nt a Automatul Mealy imediat, Figura 3.8-a. Se observ c structura acestui aua a tomat se obtine prin completarea semiautomatului SA cu CLC2 care calculeaz ieirea a s

338

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Y (iT ) pe baza produsului cartezian dintre starea prezent i intrarea prezent as a Y (iT ) = f (X(iT ), q(iT )) Ieirea Y (iT ) citit s a nainte de consumarea perioadei de regim tranzitoriu va afectat a de hazard. Mai mult, dac intrarea nu este sincronizat,cum am considerat, ci se a a modic asincron oricnd intervalul iT i (i + 1)T , aceste modicri se simt a a n s a n ieire. s Automatul Mealy cu arziere, Figura 3.8-b. Completarea SA se face att n a cu circuitul CLC2 pentru calculul functiei de transfer, f , ct i cu un registru, Reg2, a s pentru memorarea ieirii Y (iT ). Introducerea unui registru va face ca modicrile s a provocate ieirea Y (iT ) pe intervalul iT (i + 1)T , datorate regimului tranzitoriu, n s de la o intrare sincronizat, sau datorate variatiilor intrrii, de la o intrare asincron, a a a sa nu mai poata ajunge la ieire. Valoarea ieirii este asignat, doar momentele s s a n de aplicare a frontului activ de ceas la Reg2, cu valoarea calculat pe baza intrrii i a a s strii anterioare a Y ((i + 1)T ) := f (X(iT ), q(iT )) deci ieirea reect intrarea cu o arziere de un tact. s a nt Automatul Moore imediat, Figura 3.8-c. Deoarece la acest automat ieirea se s calculeaz ca functie numai de stare prezent, relatia 3.14, la SA se adaug circuitul a a a CLC2 care are ca intrri doar starea prezent. Deoarece starea prezent se reect a a n a a intrarea anterioar i nu cea prezent, ieirea este arziat cu un tact fata de ina s a s nt a trare(la fel ca la automatul Mealy cu arziere). Deci pentru intrarea prezent se nt a obtine ieirea numai peste un tact. s Y ((i + 1)T ) := f (q((i + 1)T )) = f (g(X(iT ), q(iT ))) Dei se obtine o izolare a ieirii fata de intrare, nu exist doar CLC2 intre intrare i s s a s ieire, totui automatul Moore imediat poate genera hazard pe ieire. Hazardul este s s s generat de faptul c circuitul CLC2 poate avea de la intrarea(ieirea Reg1) pn la a s a a ieirea sa un numr diferit de niveluri logice pentru ecare traseu de transfer. Foarte s a frecvent, la acest tip de automat se elimin circuitul CLC2, ieirea ind identic cu a s a starea Y Q (3.15)

ceea ce elimin hazardul combinational din ieire. a s Comportamental, un automat Moore imediat poate echivalent cu un automat Mealy cu arziere deoarece la ambele ieirea calculat pe baza strii prezente i a intrrii nt s a a s a prezente va asignat la ieire dar pe urmtorul front activ de ceas. a s a Automatul Moore cu arziere, Figura 3.8-d. Pentru a se elimina posibilnt itatea de hazard pe ieire de la automatul Moore imediat se adaug pe ieire un s a s registru, Reg2, obtinndu-se automatul Moore cu arziere. La arzierea ieirii a nt nt s fata de intrare cu un tact de la Moore imediat, de data aceasta se mai introduce ,, a o arziere de un tact, deci automatul Moore cu arziere simte o intrare nc nt nt transferat la ieire cu o arziere de doua tacturi. a s nt Y ((i + 2)T ) := f (q((i + 1)T )) = f (g(X(iT ), q(iT )))

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

339

O Clasicare Neclasic a Circuitelor Digitale. Clasicarea clasic a cira a cuitelor digitale dou mare clase: circuite logice combinationale, CLC i circuite n a s ,, logice secventiale CLS este foarte aptoare , prezentnd o puternic lips de nc a a a a nuantare. ecare din cele dou clase sunt cuprinse att circuite cu o denitie simpl In a a a ct i circuite cu o denitie complex, att circuite nestructurate ct i circuite putera s a a a s nic structurate. Mai mult, dac pentru circuitele combinationale se poate face o maa pare direct a ntre ce vrem s facem (functie) i cum vrem s facem (structur), la a s a a circuitele secventiale aceast mapare structurfunctie nu totdeauna este a a biunivoc. O tendinta de structurare a circuitelor a existat permanent conceptia a n inginereasc, att pentru a realiza un suport de cuprindere i elegere dar i pentru a a s nt s modalitile de implementare dictate de tehnologie. at evolutia sistemelor natur dar i abordarea mental a acestora este evident In n a s n a saltul care apare la trecerea de la sistemul deschis la sistemul nchis(cu reactie), adic a introducerea conexiunii de reactie. Un sistem cu reactie raport cu cel deschis(fr n aa reactie) poate cpta o anumit autonomie fat de intrare, o anumit adaptabili a a a a a tate. functie de modul cum se structureaz sistemul, bazndu-se pe reactie/reactii, In a a acesta poate deveni chiar complet autonom fata de intrare(vezi Denitia 3.3 ), iar spectrul functiilor realizate poate extins. Bazat pe notiunea de reactie, extensiile structurate, profesorul Gh.Stefan [Stefan n 91] a postulat o abordare de clasicare pentru sistemele digitale care este redat a n continuare.

x1 S1 y1 S2 a) y2 x1 S1 y1 b)

x x2 S2 y2 y c) S1 y1 x3 S3 y1

x S2 y2 x4 S4 y y2 d) y xr

S sr

Figura 3.9 Procedee pentru structurarea sistemelor digitale: a) extensia serie; b) extensia paralel; c) extensia serie-paralel; d) extensia prin nchiderea unei bucle de reactie. 1. Extensia sistemelor digitale se face prin urmtoarele procedee: a a - extensia serie, Figura 3.9-a b - extensia paralel, Figura 3.9-b c - estensia serie-paralel, Figura 3.9-c d - extensia prin introducerea unei bucle de reactie, Figura 3.9-d 2. Sistemul de ordinul zero, SO 0, este circuitul combinational, deoarece nu are nici o bucl de reactie. Ordinul unui sistem poate de la 0 la n, respectiv notat a

340

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

prin(SO 0, SO n) corespunztor numrului de la 0 la n al buclelor de reactie a a care se includ una alta. n 3. Extensiile de tip a, b, c, ale unor sisteme ce au un ordin egal cu n, genereaz tot a un sistem de ordin n. 4. Extensia de tip d, (printr-o conexiune de reactie) ntr-o retea de sisteme ce contin cel putin un sistem de ordin n, genereaz un sitem de ordin n + 1. De a exemplu, aceast sectiune s-a introdus notiunea de automat care se n a ncadreaz a SO 2 deoarece cuprinde registrul de stare, care are o reactie structura n n sa, deci este un SO 1, peste care se nchide a o bucl(cea care transform nc a a starea urmtoare calculat stare prezent), deci dou bucle de reactie. a a n a a Utiliznd aceast abordare de clasicare, implicit, se elege c sistemele de ordin a a nt a superior au o mai evident slbire a corespondentei biunivoce, structur-functie, a a a n raport cu cele de ordin mai redus, pentru c includ mai multe conexiuni de reactie. a aceast lucrare se utilizeaz totui, clasicarea clasic de circuite combinationale In a a s a i circuite secventiale, dar cadrul circuitelor secventiale pentru ecare grup de s n circuite se va indica i ordinul care se s n ncadreaz conform postulrii anterioare. a a

3.2.3

Modaliti de reprezentare ale automatelor at

capitolul doi, dup denirea CLS, s-au prezentat modaliti de reprezentare In a at ale functiei de transfer intrare-ieire, sectiunea 2.2. Si acest capitol, dup funda s n a mentarea structurrii i functionrii unui CLS, se vor prezenta modaliti de reprea s a at zentare ale celor dou functii f i g. De data aceasta sunt mai numeroase modalitile a s at de reprezentare, dintre acestea vor expuse doar: Gracul de tranzitie al strilor, a Tabelul de tranzitie al strilor, Diagrama de variatie timp a semnalelor, Organi a n grama ASM . Evident c se va alege acea modalitate de reprezentare care duce la o msur a a a a complexitii ct mai simpl. Complexitatea, dup cum s-a artat Denitia 2.1, at a a a a n poate apreciat printr-o mrime asociat dimensiunii denitiei. O variant de estia a a a mare a complexitii unui CLS ar prin numrul total de biti produsul cartezian at a n X Q. Pentru un automat cu n intrri principale, k intrri secundare i m ieiri a a s s se estimeaz o masur a complexitii aparente CA A (n, k) O((n + k)2n+k ); 2n+k a a at combinatii(cuvinte) de intrare, ecare cuvnt cu lungimea de (n + k) biti), deci o a valoare foarte ridicat. S-ar putea estima complexitatea i numai dup numrul de a s a a ieiri CAA (m) O(m). Din aceste dou exprimri rezult, evident, c un automat s a a a a este cu att mai simplu de denit cu ct produsul X Q este de dimensiune mai a a mic. Dar aceast complexitate aparent trebuie interpretat ca limit superioar a a a a a a deoarece complexitatea real poate mult mai mic. Complexitatea real poate a a a mult mai mic pentru c functionarea automatului se poate identica o anumit a a n a ordine a ascuns, anumite regulariti structurare ceea ce nal determin o sima at n n a plicare denitie. Oricum, implementarea unui automat se prefer o cretere a n n a s dimensiunii contul unei scderi a complexitii. Un sistem de complexitate sczut n a at a a i dimensiune ridicat poate implementat, pe cnd implementarea unui sistem de s a a complexitate foarte ridicat, e i de dimensiune sczut, poate greu implementabil. a s a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

341

3.2.3.1

Graful de tranzitie al strilor a

Pentru un CLS sincron graful de tranzitie al strilor (diagrama de tranzitie a a strilor) este o reprezentare grac a functiei de tranzitie a strilor, g, i a functiei a a a s de transfer intrare-ieire, f , pentru toate conguratiile de intrare X. acest graf s In ecrui nod (cerculet) este asignat o stare, iar ecare arc orientat a i a ntre cele dou a noduri reprezint tranzitia a ntre cele dou stri. Pentru un automat Mealy pe un a a arc de tranzitie se noteaz expresia logic a variabilelor de intrare(expresia logic a a a a tranzitiei) sau conguratia valorilor variabilelor de intrare pentru care aceast expresie a este adevarat, care va provoca tranzitia respectiv, precum i valoarea conguratiei a a s de ieire Y generat de aceast tranzitie. Evident, tranzitia strilor pe acel arc se s a a a realizeaz numai cnd expresia logic a tranzitiei scris pe acel arc este adevarat. a a a a a Pentru un automat Moore, deoarece ieirile sunt functii doar de starea prezent, s a f : Q Y , pe arce nu sunt trecute conguratiile de ieire Y generate de tranzitiile s respective, conguratia de ieire este s nscris cerculetul strii prezente din care se a n a genereaz ieirea respectiv, iar pe arce se a s a nscrie doar expresia logic a tranzitiei sau a conguratia valorilor variabilelor de intrare pentru care expresia logic a tranzitiei a este adevarat. a

q0

x1 x0 0 x1x0 1 x1x 0 0

q1 q 0 y=1 q2 b)

x1 x 0 x1 x 0 x1 x 0 q 3 y=0

q1 y=1

a) q4

x1x 0 0 q3

x1 x 0 q 4 y=0

q 2 y=1

Figura 3.10 Graful de tranzitie al strilor: a) segment de graf pentru automat a de tip Mealy; b) segment de graf pentru automat de tip Moore. La un automat, cu dou intrri x1 x0 i o ieire y, tranzitia din starea q0 una a a s s n din urmtoarele patru stri posibile q1 , q2 , q3 , q4 , graful de tranzitie este reprezentat a a Figura 3.10-a, pentru o functionare de tip Mealy i Figura 3.10-b, pentru o n s n functionare de tip Moore. La graful de tip Mealy noduri sunt n nscrise numai strile, iar pe ecare arc este trecut expresia logic a tranzitiei/valoarea conguratiei a a a de ieire; la graful de tip Moore noduri, pe lng stare este s n a a nscris i conguratia as de ieire, iar pe ecare arc este trecut doar expresia logic a tranzitiei. Dac la s a a a impulsul de ceas iT automatul ajunge starea q 0 la cel de tip Moore se genereaz n a ieirea y = 1, iar la cel de tip Mealy aceast stare q 0 se genereaz y = 1 numai dac s n a a a conguratia de intrare este 01(xx0 = 1) pentru celelalte trei conguratii (00,10,11) se genereaz y = 0. La urmtorul impuls de ceas (i + 1)T se trece starea urmtoare a a n a pentru care expresia logic a variabilelor de intrare este adevrat, de exemplu pentru a a a n 10(x1 x0 = 1) se trece starea q3 (unde y = 0 pentru automatul Moore, valoarea

342

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

pentru y la automatul Mealy nu este precizat deoarece din aceast stare, acest a a n caz, nu mai este gurat nici un arc de tranzitie la o alt stare). a Exemplul 3.3 Un automat cu dou intrri x1 , x0 i o singur ieire y, genereaz a a s a s a ieirea egal cu 1 numai cnd din sirul de succesiuni aplicate pe intrare se identic secvent s a a a a 00, 00, 11, 10. Pentru acest automat s se deseneze graful de tranzitie al strilor att pentru a a a o functionare de tip Mealy ct i pentru o functionare de tip Moore. a s Solutie. general, pentru aceste automate de recunoatere, care pot considerate In s chei electronice, elaborarea grafului de tranzitie se urmrete realizarea unei succesiuni n a s de stri care corespund aplicrii pe intrare tocmai a succesiunii cutate. Se pornete dintr-o a a a s stare q0 , considerat starea initial. a a
00/0 01/0 10/0 11/0 00/0 00/0 11/0

q0

01/0, 10/0, 11/0 10/0,01/0

q1

q2
00/0

q3

a) x1x 0 /0 x 1+ x 0 /0 b) q0 x 1+ x 0

10/1,01/0,11/0

x1x 0 /0 x1x 0 /0 q1 (x1x 0 + x1x 0 )/0 x1x 0 /1 , x 0 /0


10 00 00 00 11

x1x 0 /0 q2 x1x 0 /0 q3

q4 /1
00

01 10 11

11

,1

0,

01

q0 /0
01, 11, 10

q1 /0
10, 01 01, 11

q2 /0
00

q3 /0

c)

Figura 3.11 Grafuri de tranzitie pentru automatul care identic succe a siunea 00 00 11 10: a) pentru un model Mealy cu marcarea pe arce a conguratiilor de intrare i ieire; b) pentru un model Mealy dar cu s s nscrierea pe arce a expresiei logice a functiei de tranzitie; c) pentru un model Moore.
Pentru varianta de automat Mealy numai conguratia x1 x0 = 00 corespunde nceputului identicrii succesiunii impuse, deci pentru aceasta se realizeaz o tranzitie starea q 1 , a a n generndu-se ieirea y = 0 iar pentru celelalte trei conguratii pe intrare posibile se ramne a s a tot q0 i y = 0, Figura 3.11-a. La fel, q1 numai conguratia x1 x0 = 00 produce tranzitia n s n q2 i genereaz y = 0, celelalte trei conguratii produc tranzitia q0 de unde se poate n s a n ncepe de la capt identicarea succesiunii impuse. q2 intrarea potrivit este x1 x0 = 11 a In a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

343

care determin tranzitia q3 i genereaz y = 0; intrarea x1 x0 = 00 poate considerat ca a n s a a o a doua combinatie de 00 din succesiunea impus, dup cea care a produs tranzitia dintre q1 a a i q2 , deci determin o tranzitie tot q2 . Celelalte doua conguratii 10 i 01 nu se potrivesc s a n s succesiunii impuse, deci provoac o tranzitie q0 pentru o reluare a identicrii de la a n a nceput. starea q3 conguratia de intrare potrivit este 10 care In a ncheie identicarea cu succes a succesiunii impuse i care realizeaz o tranzitie q1 , pentru o eventual nou identicare, i s a n a a s se genereaz y = 1. Dac q3 conguratia aplicat este 00 aceasta este considerat ca prima a a n a a conguratie din succesiunea impus deci salt q1 i continuarea identicrii. Conguratiile a n s a 01 i 11 aplicate q3 nu se potrivesc succesiunii impuse, deci salt q0 cu y = 0 pentru, s n n eventual, o nou identicare. Acelai graf de tranzitie al strilor este prezentat Figura a s a n 3.11-b, dar de data aceasta pe arce, locul conguratiilor valorilor de intrare, sunt n nscrise expresiile logice ale variabilelor de intrare care determin tranzitiile respective. a Graful de tranzitie al strilor pentru automat varianta Moore, Figura 3.11-c, se con a n struiete exact, ca i pentru varianta Mealy, pn starea q3 . Din starea q3 la aplicarea s s a a n conguratiei 10, care ncheie cu succes identicarea succesiunii impuse, este necesar o a tranzitie starea q4 care se genereaz ieirea y = 1(ieire dependent doar de stare). n n a s s a Din starea q4 pentru conguratia 00 se realizeaz o tranzitie q1 (aceast conguratie 00 a n a este considerat ca ind prima din succesiunea impus, deci se reia procesul de identicare), a a iar pentru 11, 10, 01 salt q0 de unde se poate relua de la n nceput procesul de cautare.

Constructia unui graf de tranzitie al strilor trebuie s e fr ambiguiti, ceea a a aa at ce impune pentru expresiile de tranzitie nscrise pe arcele care pornesc dintr-o stare s e mutual exclusive i toate incluse. a s Tranzitiile sunt mutual exclusive dac, dintr-o stare, pentru aceeai con a s guratie a valorilor de intrare nu exist simultan transferuri la dou s-au mai multe a a stri(exist transfer pe un arc numai atunci cnd expresia respectiv de transfer are a a a a valoarea 1). Se poate verica dac dintr-o stare nu exist transferuri simultane, a a efectund produsul logic a ntre expresiile de transfer de pe cte dou arce de transfer a a care pornesc din starea respectiv, aceste produse trebuie s aib totdeauna valoarea a a a zero pentru oricare conguratie a valorilor variabilelor de intrare. Pentru n arce care pornesc dintr-o stare numrul total de perechi pentru care se face produsul expresiilor a de transfer este egal cu n(n 1)/2. Conguratiile valorilor de intrare testate, pentru care produsul logic al expresiilor de transfer de pe dou arce are valoarea 1, sunt a referite ca ind dublu acoperite (de dou transferuri). a Tranzitiile sunt toate incluse dac suma logic a expresiilor de pe arcele care a a pornesc dintr-o stare este totdeauna egal cu 1 pentru oricare conguratie a valorilor a variabilelor de intrare testate; conguratiile de valori ale variabilelor de intrare testate pentru care aceast sum logic este egal cu zero sunt referite prin conguratii a a a a neacoperite. Cu ajutorul unei diagrame V-K, de toate variabilele care se testeaz a n starea respectiv, se pot determina conguratiile neacoperite precum i conguratiile a s dublu acoperite. Pentru aceeai functionare o implementare sub form de automat Moore neces a sit mai multe stri dect implementarea sub form de automat Mealy, ceea ce a a a a s-a vzut i din Exemplul 3.3. general, modelul Mealy este uzual pentru cira s In cuitele secventiale sincrone, iar modelul Moore pentru circuitele asincrone. Graful de tranzitie al strilor/ieirilor este un instrument portrivit pentru vericarea functionrii a s a automatului.

344 3.2.3.2

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Tabelul de tranzitie al strilor a

Informatia continut graful de tranzitie al strilor/ieirilor poate transpus a n a s a ntr-o form mult mai practic pentru sinteza automatului tabelul de tranzitie al a a strilor(i ieirilor). tabelul de tranzitie al strilor exist attea linii cte stri a s s In a a a a a destincte prezint automatul i attea coloane cte cuvinte diferite se pot aplica la a s a a intrare. Un element al tabelului tranzitiilor, aat la intersectia unei linii cu o coloan, a va reprezenta starea urmtoare/ieirea a automatului obtinut la tranzitia din starea a s a prezent corespunztoare acelei linii prin aplicarea la intrare a cuvntului de pe acea a a a coloan. Uneori, elementele tabelului cuprind numai starea urmtoare, pentru ieiri se a a s ntocmete un tabel de aceeai form ale crui elemente sunt ieirile corespunztoare s s a a s a denumit tabelul ieirilor. Tabelul ieirilor pentru automatul Moore se reduce doar s s la o singur coloan, avnd attea elemente cte stri distincte exist(ieirile sunt a a a a a a a s functii numai de starea prezent). a Tabelul de tranzitie al strilor, care este o reprezentare abstract a automatului, a a permite o comparare sistematic a strilor pentru identicarea perechilor de stri a a a echivalente(vezi Denitia 3.7 ) Exemplul 3.4 Pentru automatul reprezentat cele dou modele Mealy i Moore, n a s n Figura 3.11, s se construiasc tabelele de tranzitie ale strilor/ieirilor a a a s

Modelul Mealy Starea urmatoare Starea prezenta q0 q1 q2 q3 a) Intrari x1 x0 Iesirea y 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 tranzitie/ieire pentru modelul Mealy(a) i s s Moore(b) ale automatului cu grafurile de tranzitie din gura 3.11.
Solutie. Tabelul de tranzitie pentru modelul Moore, Figura 3.12-a, prezint patru linii a corespunztoare celor patru stri q0 , q1 , q2 , q3 i patru coloane cte una pentru ecare cuvnt a a s a a de intrare 00, 01, 11, 10; la fel se construiete i tabelul ieirilor. Pentru modelul Moore, s s s Figura 3.12-b, tabelul strilor va avea cinci linii, deoarece exist o stare plus fata de a a n modelul Mealy, schimb tabelul ieirilor se reduce la o singur coloan. n s a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

345

3.2.3.3

Diagrame de variatie timp ale semnalelor n

Uneori functionarea automatului poate descris prin variatia timp a sem a n nalelor de intrare, de stare i de ieire. Dei sugestiv, pentru dinamica automatului, s s s a ,, aceast modalitate devine foarte stufoas cnd numrul acestor semnale este mare. a a a a Diagrama de semnale este protrivit general la automatele generatoare care depind a n minimal de intrare sau chiar de loc(functionare autonom). Pornind de la diagrama de a semnale, care se identic strile automatului, se poate deduce tabelul de tranzitie n a a al strilor/ieirilor i apoi se poate construi graful de tranzitie. a s s Exemplul 3.5 Pentru automatul a crui functionare este prezentat prin variatia a a n timp a semnalelor din Figura 3.13-a, s se deduc graful de tranzitie al strilor/ieirilor. a a a s

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 functionrii automatului prin diagrame de variatie a timp ale semnalelor(a): b) tabelul de tranzitie dedus din diagramele de semnal; n c) graful de tranzitie al strilor/ieirilor. a s
Solutie. Automatul prezint o singura intrare asincron x, o ieire y i dou intrri de a a s s a a stare, z1 , z0 , care pot realiza urmtoarele patru cuvinte de stare:00, 01, 11, 10. Din diagrama a de semnale la ecare front activ de ceas pentru valoarea intrrii i a cuvntului de stare a s a prezent se poate deduce valoarea cuvntului strii urmtoare precum i valoare ieirii; a a a a s s deci pe baza acestor informatii se poate completa tabelul de tranzitie al strilor/ieirilor a s din Figura 3.13-b. Considernd pentru ecare din cele patru valori de cuvnt cte o stare a a a 00 q0 , 01 q1 , 11 q2 , 10 q3 se obtine graful de tranzitie al strilor/ieirilor din a s Figura 3.13-c. Se observ c starea q3 este indiferent, automatul nu va realiza niciodat, la a a a a o functionare normal, starea q3 a

Organigrama ASM ,, Pentru stpnirea sistemelor digitale att din punct de vedere al descrierii (coma a a plexitii) ct i din punct de vedere al implmentrii(dimensiunii) foarte frecvent se at a s a

3.2.3.4

346

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

,, apeleaz la segregarea acestuia(divide et impera ). acest sens structurile digia In tale pentru procesare uxurilor de date sunt separate ntr-o cale de date i o cale de s control, Figura 3.14. Calea de date opereaz asupra datelor, pentru a realiza o anua mit procesare conform unui algoritm, i este compus din elemente combinationale a s a i secventiale: sumatoare, decodicatoare, multiplexoare, numratoare, registre, etc, s a vezi sectiunea 2.5.5.1. Calea de control controleaz secventialitatea algoritmului de a procesare realizat calea de date. Structurat n ntr-o astfel de manier circuitul diga ital mai este referit i ca maina cu stri algoritmice, ASM(Algorithmic State s s a Machine), denumire corect deoarece implementeaz hardware un algoritm de a a n procesare date. Fluxurile de date sunt aplicate la intrarea calea de date, unde n supuse anumitor secvente de procesare corespunztoare unui algoritm, i se genereaz a s a la ieire datele procesate. Calea de control pe baza unor comenzi aplicate din exterior s i a unor conditii citite din calea de date, genereaz semnale de control care dirijeaz s a a secventele de procesare din calea de date. Calea de control are o structur de automat a nit.

Calea de control Semnale de control in calea de date Date de iesire Calea de date

Comenzi exterioare

Semnale de conditii din calea de date Date de intrare

Figura 3.14 Structurarea unui sistem digital ntr-o cale de date i o cale s de control. Descrierea fr ambiguitate a functionrii unui ASM printr-un graf de tranzitie al aa a strilor/ieirilor poate deveni destul de greoaie i cu diculti. Pentru evitarea acesa s s at tor diculti s-a preluat, cu unele modicri pentru descrierea masinilor hardware at a algoritmice, ASM , modalitatea de descriere a algoritmilor utilizat dezvoltarea a n de soft, adic organigrama(ow chart). Astfel s-a obtinut o organigram pentru dea a scrierile hardware referita prin organigrama ASM . Simbolurile grace utilizate n constructia unei organigrame ASM sunt urmtoarele trei: a 1. Dreptunghiul, Figura 3.15-a, repreznt o stare a automatului. Prezint o singur a a a intrare, o singur ieire, partea stng se plaseaz a s n a a a ncercuit numele strii, a n coltul dreapta sus codul strii (un cuvnt binar), iar interior se a a n nscriu ieirile s care devin active cnd automatul este aceast stare. Deoarece ieirea a n a s nscris a devine activ totdeauna cnd automatul este starea respectiv, indiferent de a a n a valoarea intrrilor, aceast ieire corespunde unei ieiri de tip Moore intr-un graf a a s s de tranzitii(ieire neconditionat) s a 2. Rombul, Figura 3.15-b, reprezint elementul de decizie binar. interiorul su a In a se nscrie variabila de intrare/expresii de variabile de intrare care se testeaz. a 3. Dreptunghiul rotunjit, Figura 3.15-c, este simbolul pentru ieire conditionat, s a corespunde unei ieiri de tip Mealy intr-un graf de tranzitii. Intrarea s ntr-un

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

347

dreptunghi rotunjit este intotdeauna ieirea de la un element de decizie care se s n testeaz conditia a ndeplinit de anumite variabile de intrare pentru care ieirea a s nscris dreptunghiul rotunjit este a n ndeplinit. Ieirea acestui simbol poate a s aplicat la un alt romb sau la o stare urmtoare. a a
Calea de intrare in stare Numele starii O singura cale de intare A Bloc de stare A R I A x1 y1 = 1 F x2 b) Conditia (Expresie Booleana) Cale de intrare (de la iesirea unui simbol de decizie L1 A I=0? L2 L3 L4 L5 (L+1)T la starea D A A A A A la la la la la B B C C D F A 1 I1 F Timp de stare TCLK iT

Codul starii

CLK

a)

Lista iesirilor generale de stare (Moore) A (Adevarat)

Calea de iesire din stare

F (Fals)

la starea B L1 L2 L3 L4 L5 x1I x1x2I x1I x1x2I x1x2

la starea C trazitie de la trazitie de la trazitie de la trazitie de la trazitie de la

c)

Lista iesirilor conditionate (Mealy)

d)

Figura 3.15 Elemente componente ale unei organigrame ASM: a) simbolul pentru stare; b) simbolul pentru decizie; c) simbolul pentru ieire conditionat; s a d) structur pentru un bloc de stare. a Aceste elemente pot combinate impreun pentru a forma celula de baz a unei a a organigrame ASM -numit blocul de stare, Figura 3.15-d. La un bloc de stare este a obligatoriu prezenta unei stri(dreptunghi), poate exista i o retea de simboluri de a s decizie i de simboluri de ieire conditionat. s s a Intr-un bloc de stare exist doar o a singur cale de intrare, dar pot exista mai multe ci de tranzitie a a nspre alte blocuri de stare. Diferenta principal a ntre un bloc de stare i o organigram pentru un program este s a modul cum se interpreteaz timpul; la o organigram operatiile sunt realizate succesiv a a timp, una dup alta, pe cnd n a a ntr-un bloc de stare, care este o unitate dintro organigram ASM , toate operatiile se realizeaz acelai timp, concurent. De a a n s

348

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

exemplu, dac acest bloc de stare este interpretat ca o organigram de program(ow a a a nscrierea valorii 1 registrul R i n s chart), ai se intr starea A , efectundu-se n a n variabila de contor I se decrementez, apoi se realizeaz operatia de testare a intrrii a a a x1 . Dac x1 este adevrat se trece la activarea ieirii y 1 , dup care se testeaz a a a s a a valoarea variabilei de contor I(valoare care a fost decrementat starea A ) i a n s n functie de valoarea de adevr sau fals al acesteia, se realizeaz o trecere respectiv la a a a s strile B sau C . Iar dac x1 are valoarea de fals se trece la testarea lui x2 i a functie de valoarea de adevr sau fals se realizeaz trecerea la starea D sau se n a a testeaz variabila de contor dup care se ajunge B sau C . a a n

A Bloc de stare A x0 x1 Bloc de stare A

A x0

0 1 y1

0 y1 a)

b) L1 L2 L3 B L1 =x0 L2 =x0 L4 C L3 =x1 L4 =x1 B L1 =x0 x1 L2 =x0x1

0 L1 L2

x1

1 L3 L4

C L3=x0x1 L4=x0x1

Figura 3.16 Exemplu de organigrame ASM(incorect) cu validarea simula tan a dou cai de tranzitie L1 i L3 sau L2 i L4 (a); form de organigram a a s s a a corectat(b) a Intr-o organigram ASM , timpul are o curgere discret, realizndu-se o trecere a a a salturi de la un bloc de stare la un alt bloc de stare, trecere marcat de impulsurile n a de ceas. De exemplu, pe frontul pozitiv al impulsului de ceas iT se intr blocul a n n n de stare A reprezentat de starea A . Operatiile efectuate paralel blocul de stare sunt: se nscrie registrul R cu valoarea 1; se decrementeaz contorul I i se a s poate nscrie conditionat ieirea y1 i tot paralel se testeaz intrrile x1 , x2 i I s s n a a s obtinndu-se functie de acestea ca una din cele cinci ci de tranzitie L 1 L5 s a n a a aib valoarea 1 pentru expresia functiei de tranzitie. Atentie! elementul de decizie a n pentru contorul I nu se testeaz valoarea variabilei de contor I care s-a obtinut a n urma decrementrii starea A , ci se testeaz valoarea lui I cu care a intrat blocul a n a n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

349

de stare; de fapt cele dou operatii, cea de decrementare din starea A , I I 1, a i cea de testare din simbolul de romb, I = 0?, se realizeaz paralel i nu succesiv. s a n s Aceast valoare decrementat a contorului se va utiliza blocurile urmtoare sau a a n a cnd se revine blocul de stare A , dac a n a ntre timp aceasta nu a mai fost modicat a strile care le-a mai parcurs. Mai sugestiv, am putea privi c pe frontul pozitiv al n a a impulsului de ceas iT se intr blocul de stare A, iar pe frontul pozitiv urmtor al a n a impulsului (i + 1)T se realizeaz simultan toate operatiile a nscrise blocul de stare n A i se trece prin una din caile de tranzitie, la una din starile urmtoare B C s a
D .

Pentru realizarea unei organigrame ASM corecte, fr ambiguiti, se impun anaa at umite restrictii: 1. Intr-un bloc de stare, prin reteaua de elemente de decizie, pentru o conguratie a valorilor variabilelor de intrare testat, trebuie s e validat doar o singur a a a a cale de tranzitie(restrictie similar cu evitarea dublei acoperiri de la graful de a tranzitii). De exemplu, Figura 3.16-a pentru conguratia x 1 x0 = 00 exist o n a n a tranzitie din A B , dar aceast tranzitie s-a realizat pe calea de transfer L1 sau L3 ? imposibil de spus. Sau, e conguratia x1 x0 = 11 care va valida a s simultan cile de tranzitie L2 i L4 cu trecere att la starea B ct i la starea a s a C. Solutia, pentru eliminarea ambiguitilor este rearanjarea elementelor de at decizie prin nserierea lor ca Figura 3.16-b n

A 1
x1 x0

A
x0

A x0x1
x1

0 0

x0

1 L1 A

x0

0 L1 A L1 B

x0+x1

B A B ; L1=x0x0=0 a)

B ;L1=x0x1x0=0 b)

B ;L1=x0x1(x0+x1)=0 c)

Figura 3.17 Exemple de organigrame ASM (incorecte) care testeaz pe a aceeai cale de transfer L1 o variabil att pentru valoarea fals ct i s a a a a s a a pentru valoarea adevrat(x0 x0 = 0; x1 x1 = 0), deci testeaz o constant: a a 2. Evitarea conectrii simbolurilor de decizie, a ntr-o retea a unui bloc de baz, care a s determine conditii logice imposibile pentru o cale de tranzitie. Prin testarea a unei variabile mai multe simboluri de decizie care toate concur la validarea n a unei ci de tranzitie, se poate ajunge ca acea variabil sa e testat att pentru a a a a

350

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

valoare fals ct i pentru valoare adevrat x 0 x0 = 0, de exemplu calea de a a s a a tranzitie L1 din Figura 3.17. Totui este perfect posibil ca aceeai variabil s s s a a e testat mai multe simboluri de decizie, dar printr-o structurare potrivit a n a s nu e testat de dou ori pe aceeai cale de tranzitie. a a a s 3. Orice cale de tranzitie aceeai stare(bucl) trebuie s includ simbolul de n s a a a stare. O bucl de tranzitie este necesar cnd automatul trebuie s rmn a a a a a a a n aceeai stare un numr de tacturi pn cnd este s a a a a ndeplinit conditia de test. O a bucl aferent unui bloc de stare trebuie s ias i s reintre acel bloc numai a a a as a n pe cale normal ca Figura 3.18-b. a n

A Bloc de stare A

A Bloc de stare A

B a)

B b)

Figura 3.18 Bloc de stare care o bucl este realizat incorect(a), aceeai n a a s bucl realizat corect(b) a a Organigram ASM se obtine dintr-o retea de blocuri de stare, numrul blocurilor a de stare ind egal cu numrul de stri |Q| ale automatului. O astfel de organigram a a a descrie nu numai functionarea secvential a automatului dar exprim i functiile logice a as pentru sinteza acestuia. De exemplu blocul j corespunztor strii q j a automatului dea a scrie: starea prezent qj ; ieirile neconditionate(Mealy) din acea stare, f j (qj ); ieirile a s s conditionate fj (qj , Xj ) de tip Moore, tranzitiile spre strile urmtoare g j (Xj , qj ) a a n care Xj sunt cuvintele de intrare care se testeaz blocul j. Lund toate aceste coma n a ponente pentru toate cele |Q| blocuri de stare ale automatului se obtine organigrama ASM . g(X, Q) =
|Q| j=1 |Q| j=1

gj (Xj , qj )

f (X, Q) =

[fj (Xj , qj ) + f (qj )]

(3.16)

Organigramele ASM , spre deosebire de grafurile de tranzitie care se constru iesc separat pentru automatul de tip Mealy sau pentru automatul de tip Moore, pot reprezenta simultan att ieiri conditionate ct i ieiri dependente(numai de a s a s s stare) deci pot mbina functionarea celor dou tipuri de automate.(Evident un graf a de tranzitie de tip Mealy poate convertit ntr-un graf de tranzitie de tip Moore i s invers).

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

351

Exemplul 3.6 Pentru un automat de vnzare a sticlelor de suc s se conceap a a a organigrama ASM i s se deduc tabelul de tranzitie al strilor/ieirilor. Functionarea s a a a s automatului de vnzare a sticlelor cu valoarea de 10 uniti, care poate acoperit din a at a monede de dou uniti (2U), de cinci uniti(5U) i de zece uniti (10U), este urmtoarea: a at at s at a cnd este FUNCTIUNE trebuie s semnalizeze aceasta printr-un semnal FUN (un LED), a n a cnd este curs de introducere monede, un semnal URM va indica dac este necesar a n a a URMATOAREA MONEDA. Cnd monedele introduse totalizeaz 10 uniti se comand a a at a ELIBERARE STICLA, ELS, iar dac suma monedelor nu totalizeaz 10U, atunci se comand a a a RETURNARE MONEDE, RTM. Solutie. conceperea organigramei se urmrec variantele de a realiza 10 uniti din In a s at 10, 5 sau 2 uniti. Rezult un numr de apte stri q0 q6 , Figura 3.19. Ar rezultat i at a a s a s starea a opta, q7 , dac comanda ELS nu s-ar generat ca o ieire conditionat ci ca o ieire a s a s de starea q7 (Moore). opozitie, s-ar putu reduce numrul de stri de la apte la ase In a a s s dac comanda RTM din starea q6 ar fost generat ca o ieire conditionat (Mealy) i nu a a s a s ca o ieire dependent de starea q6 . s a Dispozitivul de detectare a introducerii monedelor genereaz patru semnale de intrare a pentru organigrama ASM : un semnal M pentru detectarea prezentei monedei(M = A); trei semnale corespunztoare valorii monedelor detectate (10U, 5U i 2U). Aceste semnale sunt a s semnale impuls care trebuie s e sincrone cu semnalul de ceas al automatului. Att timp a a ct nu este introdus nici o moned (M=F) automatul ateapt (bucleaz) starea q0 . a a a s a a n
Tabelul de tranzitie al strilor se deduce din analiza organigramei. Acest tabel apare a mai simplu dect cel denit sectiunea 3.2.3.2, deoarece intrrile sunt mutual exclusive (nu a n a se pot introduce simultan dou monede). Tabelul, Figura 3.19-b, apare mult mai intuitiv a deoarece pentru ecare bloc de stare(notate cu B0 , B1 , B6 ) se evidentiaz i cile de a s a tranzitie din acea stare, sunt total 15 notate cu L1 , L2 L15 n

Uneori reducerea complexitii unui ASM , precum i o structurare pentru o impleat s mentare mai uoar a unui automat de dimensiuni mari, se obtine prin descompunerea s a mai multe ASM -uri componente i conectarea acestora n s ntr-o anumit modalitate a pentru a compune automatul initial. Fiecare din automatele componente sunt proiec tate separat i apoi interconenctate astfel ieirile unui automat vor utilizate ca s s intrri la un alt automat i viceversa. Aceste interconectri se reduc la conexiui serie a s a sau paralel ale automatelor. Un exemplu de conectare serie a dou automate este schitat Figura 3.20-a. a n Maina (automatul)A va starea A1 testnd repetat, la ecare impuls de ceas, s a s aa a a a variabila CALL B i va prsi aceast stare, parcurgnd restul strilor din organn a s igrama ASM pn starea AN , numai momentul cnd ieirea CALL A din a a n starea B1 a mainii B devine activ. De asemenea, maina B starea B1 va s a s n testa repetat variabila CALL A i va prsi aceast stare, parcurgnd restul strilor s aa a a a din organigrama ASM a sa, numai momentul care maina A starea AN va n n s n activa ieirea CALL B care se aplic starea B1 a mainii B, ca variabil testat. s a n s a a Apoi, maina A ajunge iari starea A1 unde ateapt activarea ieirii CALL A s as n s a s

352

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

ELS A L13 F 2U q5 URM A L11 2U q4 URM A L9 2U q3 a) URM

q6 L14

RTM

q0 L0 F

FUN M A L1

ELS

A F L12 L6 F L10 L3 q2 L8 L7 F

L 5U A 2 F q URM 1 F 2U A L 5 F 5U URM 2U A

10U F

ELS A L4

b)

Intrari Starea Blocul de stare Starea si calea de prezenta urmatoare FUN URM ELS RTM tranzitie M 2U 5U 10U q0 q0 B0,L0 0 0 0 1 q0 q0 B0,L1 A 0 1 0 A 1 q0 q1 B0,L2 A 0 0 1 A 0 q0 q1 B0,L5 A A 0 0 1 0 q6 q0 B0,L6 A F 0 0 0 0 q0 q1 B1,L4 1 0 0 A 1 q1 q6 B1,L3 0 0 0 F 1 q3 q2 B2,L7 A 0 0 0 1 q6 q2 B2,L3 F 0 0 0 1 q3 q4 B3,L9 A 0 0 0 1 q3 q6 B3,L10 F 0 0 0 1 q5 q4 B4,L11 A 0 0 0 1 q4 q6 B4,L12 F 0 0 0 1 q0 q5 B5,L13 A 0 1 0 1 q5 q6 B5,L14 F 0 0 0 1 q0 q6 B6,L15 0 1 0 0

Figura 3.19 Explicativ pentru Exemplul 3.6: a) descrierea functionrii aua a tomatului prin organigram ASM;b) tabelul de tranzitie al strilor (neasignate) i al a a s ieirilor. s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

353

Automat A
A1
B1

Automat B
CALL_A

Automat A
A1 CALL_B
B1

Automat B
CALL_A

CALL_A

CALL_B

0 CALL_A 1 Organigrama ASM a automatului A

CALL_B

1 Organigrama ASM a automatului A

1 Organigrama ASM a automatului B

1 Organigrama ASM a automatului B

AN

CALL_B

a)
Figura 3.20 Interconectarea automatelor: b) interconectare de tip paralel.

b)
a) interconectare de tip serie;

realizat starea B1 la care se ajunge numai dup parcurgerea celorlalte stri din a n a a organigrama ASM a mainii B. Deci se execut alternativ algoritmii implementati s a de ecare main. s a Pentru interconectarea serial se poate extinde organizarea la mai multe maini, a s considernd una din ele ca maina principal care va apela mai multe maini pe a s a s parcursul executrii algoritmului sau. La ecare apelare a mainii principale ctre a s a o alt main (apelat), maina principal va intra a s a a s a ntr-o bucl de ateptare pe o a s stare i nu va prsi aceast bucla, pn cnd maina apelat nu va returna ctre s aa a a a a s a a maina principal conrmarea realizrii segmentului de algoritm s a a ncredintat. O astfel de functionare este realizat de organizarea din Figura 3.21 cu particularizarea c a a s a maina principal A apeleaz din strile A1 , AR i AS repetat numai o singur s a a a s a s main, C pentru realizarea aceluiai subalgoritm(subrutin). Se recunoate aici s a acelai procedeu de apelare repetat software a unei subrutine de ctre un program s a n a principal. Se poate extinde organizarea la cazul cnd o main apeleaz o alt main a s a a a s a care la rndul su apeleaz o alta s.a.m.d; evident ecare main apelant intr a a a s a a a n bucl de ateptare pn cnd primete conrmarea, de realizarea segmentului de a s a a a s algoritmi ncredintat, de la maina apelat. Se recunoate mecanismul de apelare, s a s n software, de subrutine imbricate. Conectarea paralel a dou ASM -uri realizeaz executia paralel a celor doi n a a n algoritmi. Cea mai simpl organizare corespunde cazului cnd cele dou maini sunt a a a s initiate mpreun pentru procesare, Figura 3.20-b. Cnd maina A pornete procea a s s sarea din starea initial A1 simultan valideaz prsirea strii initiale i pe maina a a aa a s s

354

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

A1 0

CALL_C CALL_A

C1
CALL_C

1 AR
CALL_C

CALL_A

1 AS Organigrama AMS a automatului A 0


CALL_C

Organigrama AMS a automatului C (Subrutina)

CALL_A CALL_A

CM

Figura 3.21 Interconectarea de tip serie a dou automate pentru apelarea a repetat a automatului C: a B care la rndul su prin CALL A valideaz prsirea strii initiale A1 . Dup a a a aa a a parcurgerea paralel a celorlalte stri din ecare organigram maina care revine n a a s prima starea initial nu poate porni la reexecutarea algoritmului su pna cnd i n a a a a s cealalt main nu revine starea initial. a s a n a Dei din cele expuse, intreconectarea automatelor din punct de vedere logic apare s relativ uor de organizat dar, pentru ca i din punct de vedere functional s e corect, s s a trebuie analizat foarte atent implementarea. Interconectarea ridic probleme de a a implementare chiar cnd cele dou automate sunt sincronizate cu acelai semnal de a a s ceas, deci timpii de stare, sunt identici, Figura 3.15-d. Exist probleme cazul a n n care semnalele de ceas ale celor dou automate sunt unul multiplu fata de cellalt sau, a a mai dicil, sunt complet asincrone. acest caz semnalele de ieire al unui automat se In s aplic la celalalt automat ca semnale de intrare asincrone sau se sincronizeaz a a nainte de aplicare, vezi sectiunea 3.2.1. Oricum, semnalele cu variatie asincron nu pot a citite corect cnd sunt considerate c formeaz un cuvnt de cod ci numai cnd sunt a a a a a considerate cu semnicatie independent ecare semnal. a 3.2.3.5 Limbaje de transfer ntre registre, RTL

Notiunea de registru a fost introdus sectiunea 3.2.2 ca registru de stare. Pn a n a a la prezentarea sa sectiunea 3.5, specicm c un registru este un circuit pentru n a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

355

memorarea informatiei sub form de cuvnt, deci primele dou operatii care se pot a a a realiza cu un registru este cea de nscriere registru i cea de citire din registru. n s prezentrile din capitolul 2 toate procesrile pe un circuit combinational implicau In a a prezenta unui registru la intrare, din care se citea informatia aplicat CLC, i un a s registru la ieire care se s n nscriau, dac era necesar, cuvntul rezultat din procea a sare. Alte operatii afar de n a nscriere(load) i citire, registrul mai permite operatii s de tergere(clear), incrementare, deplasare(shift) stnga dreapta(echivalent respectiv s a cu multiplicare sau artire cu puteri ale lui doi). Registrul mp mpreun cu diferite a circuite combinationale sau cu circuite secventiale, formeaz baza circuistic pentru a a procesarea paralel sau secvential. De fapt, aceast circuistic este ceea ce se poate a a a a gsi a ntr-o cale de date. Formalismul cu ajutorul cruia se descriu operatiile i transformrile a s a ntre registrele dintr-o cale de date(i nu numai) este referit prin limbaj de transfer s ntre registre, RTL (Register Transfer Language). Instructiunea R2 R 1 are urmtoarea semantic: continutul registrului R 1 este transferat(copiat) i rega a s n istrul destinatie R2 (continutul surs R1 nu se modic); sgeata reprezint transferul a a a a i directia acestuia. De exemplu, Figura 3.15-d starea A, automatul comand s n n a nscrierea valorii 1 registrul R i decrementarea registrului care contine variabila n s contor I. Normal c o operatie, a ntr-o cale de date, este realizat cnd este a a ndeplinit o a conditie logic C, ceea ce se exprim printr-o primitiv de tipul if-then, de exemplu a a a If (C = 1)then(R2 R1 ) Evident c acest transfer R2 R1 , conditionat de C = 1, se realizeaz numai sina a cronizat de semnalul de ceas prin frontul activ, deci conditionarea i de ctre semnalul s a de ceas este implicit. Dar se pot exprima i transferuri care se realizeaz paralel a s a n ntre mai multe registre, ca de exemplu If (C = 1)then(R2 R1 , R4 R3 ) Alte exemple de instructiuni de tip RTL pot : R1 R1 + R2 ; se sumeaz continutul registrelor R1 , R2 , iar rezultatul se a nscrie R1 n R3 R3 + 1; continutul registrului R3 se incrementeaz a R4 R4 ; continutul registrului R4 este deplasat spre stnga cu o pozitie a R5 0; este ters continutul registrului R5 s Simbolurile, notatiile i sintaxa unui limbaj RTL nu sunt standardizate, ceea ce s i ofer o dezvoltare ad-hoc i o uurinta utilizare. Totui, aceste simboluri, notatii i a s s n s s sintaxa descrierilor de tip RTL sunt standardizate cadrul unor limbaje de descriere n hardware HDL (Hardware Description Language) cum ar VHDL sau VERILOG (prezentate volumul 2 al acestei lucrri). n a

356

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Organigrama ASM a fost introdus pentru descrierea algoritmilor implementabili a ntr-un sistem hardware, care general, contine o cale de date i o cale de control, n s Figura 3.14. Calea de date are componenta sa registre, multiplexoare, decodican toare, sumatoare iar calea de control este fond un automat nit ale crui ieiri sunt n a s semnalele de control calea de date. Ca o alternativ la descrierea prin organigrama n a ASM este cea prin care calea de control este descris printr-un graf de tranzitie al a strilor, iar calea de date descris prin limbaj RTL. Informatia pentru trecerea la a a graful de tranzitie al strilor este luat din organigrama ASM astfel: a a numele strilor (din cerculete) corespund cu cele de lng dreptunghiurile de a a a starea ale ASM -ului arcele de transfer dintre stri sunt cile de tranzitie din ASM a a expresiile de tranzitie de pe arce sunt expresiile de pe cile (sau din romburile) a de tranzitie ale ASM -ului Iar informatia, referitoare la operatiile care se efectueaz calea de date, expri a n mat RTL, pentru ecare stare, se obtine din ieirile de stare (Moore) i din ieirile a s s s conditionale(Mealy) ale blocului de stare corespunztoare. a Exemplul 3.7 Pentru automatul prezentat Exemplul 3.6, Figura 3.19 s se realizeze n a o descriere prin graf de tranzitie pentru calea de control i prin limbaj RTL pentru calea de s date.

M=F q0

M 5U=A 5U=A 2U=A

q1 5U=F 2U=F q5

q0: FUN 1 if( M 10A=A ) then ELS 1 q1: URM if( 5U=A ) then ELS q2: URM q3: URM q4: URM 1 1 1 1 1

M 2U=A 2U=F q2 2U=A

1 q6

2U=F 2U=F

2U=F

1 q5: URM if( 2U=A ) then ELS q4 q6: RTM 1

2U=A q3 a)

b)

Figura 3.22 Alternativ la descrierea prin organigram ASM a automatului a a din gura 3.19-a: a) printr-un graf de tranzitie al strilor pentru calea de control; a b) prin limbaj RTL pentru calea de date.

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

357

Solutie. Aplicnd organigramei ASM din Figura 3.19-a regulile prezentate mai sus se a obtine graful de tranzitie al strilor, Figura 3.22-a i descrierea limbaj RTL, Figura 3.22-b. a s n Pentru ecare din cele apte stri q0 q6 , limbaj RT L, sunt specicate comenziile aplicate s a n calea de date obtinute ca semnale de ieire de la calea de control ale automatului(calea n s de control).

afara modalitiilor prezentate de reprezentare a automatelor mai putem aminti: In at limbaj natural, retea Petri, HDL. Reprezentarea prin limbaj natural este util cnd a a automatul prezint un numr foarte mare de stri, de exemplu un automat numrtor a a a aa modul 16 care prezint 216 = 64536 stri. Reteaua Petri este tot o structur de graf a a a orientat dar nu urmrete o succesiune de stri ci o succesiune de evenimente [Lewin a s a 92], recomandat mai mult pentru descrierea circuitelor/(proceselor) secventiale asa incrone dect a celor sincrone. Foarte utilizat reteaua Petri este pentru sistemele a a comandate la care sunt active simultan mai multe stri. Limbajele de descriere harda ware, HDL (VHDL, Verilog) au devenit modaliti de descriere aproape exclusive at n procesul de proiectare electronica digital. n a

3.2.4

Reducerea numrului de stri a a

Proiectantul etapa de construire a grafului de tranzitie al strilor/ieirilor, n a s concentrndu-se asupra restrictiilor de functionarea ale automatului, poate realiza a un model (graf) ce contine stri redundante. Aceasta a nseamn c vor rezulta a a n tabelul de tranzitie mai multe stri dect cele necesare interpretrii functionrii. a a a a Mai multe stri implementare inuenteaz mod direct dimensiunea, deci cosa n a n tul implementrii, viteza de functionare i complexitatea automatului. procesul a s In de proiectare, etapa de eliminare a strilor redundante este referit prin reducerea a a strilor. Efectiv reducerea strilor a a nseamn identicarea strilor echivalente i apoi a a s un numr de stri gsite ca echivalente sunt substituite, functionarea automatului, a a a n cu o singur stare. Rezult c tabelul de tranzitie al strilor/ieirilor toate liniile a a a n a s care corespund unor stri echivalente se vor substitui cu o singur linie rezultant. a a a Notiunea de stare echivalent este introdus prin Denitia 3.7 . Adugm acum trei a a a a proprieti ale strilor echivalente: at a 1. Simetria: dac qi qj atunci i qj qi a s 2. Reexivitatea: qj qj pentru oricare stare 3. Tranzitivitatea: dac qi qj i qj qk atunci qi qk a s Exist algoritmi, att utilizabili sub o form analitic ct i sub o form grac, a a a a a s a a prin care se identic strile echivalente i apoi sunt eliminate [Yarbrough 97] [Mano a a s 97] [Lewin 92]. Actual, ecare platform de proiectare automat electronic a a n a contine astfel de algoritmi sub forma unor programe interactive. continuare se In va prezenta o metod grac de reducere a strilor echivalente referit prin mapa a a a a implicantilor [Yarbrough 97]. Se consider un automat cu ase stri: A, B, C, D, E, F, a crui functionare este dea s a a scris prin tabelul de tranzitie al strilor/ieirilor prezentat Figura 3.23-a. O map a a s n a a implicantilor care compar, pentru echivalenta, ecare stare cu ecare stare este a o diagram, Figura 3.23-b, ce are pe orizontal notate toate strile mai putin ultima, a a a

358

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

a) B C D E F b)

Starea Starea urmatoare/iesire x prezenta 1 0 A E/0 D/1 B F/0 D/0 C E/0 B/1 D F/0 B/0 E C/0 F/1 F B/0 C/0

d) B

D ~B=q1, E=q2, F=q 3 Starea Starea urmatoare/iesire x=1 prezenta x=0 q0 q2/0 q1/1 q3/0 q1 q1/0 q2 q0/0 q3/1 q3 q0 /0 q1/0

A=q 0, B=q 1, C ~ A=q 0

B,D B,D C,E D,F B,F C,D B C,E B,F B,F B,C D

C D E F E c)

B,D B,D C,E D,F B,F C,D B C,E B,F B,F B,C D

Figura 3.23 Etapele reducerii numrului de stri prin metoda grac a a a a mapei implicantiilor: a) tabelul de tranzitie a strilor/ieirilor automatului; a s b) mapa implicantiilor dedus din tabelul de tranzitie; c) mapa implicantiilor dup a a validarea conditiilor de echivalenta; d) tabelul de tranzitie al strilor/ieirilor pentru a s automatul echivalent(redus). cazul nostru A, B, C, D, E, iar pe vertical toate strile mai putin prima, cazul n a a n nostru B, C, D, E, F . csuta de coordonate care corespunde intersectiei celor dou In a a stri care se compar, una de pe orizontal i una de pe vertical, se a a as a nscriu conditiile (strile) necesare pentru echivalenta celor dou stri. Aceste conditii necesare pentru a a a echivalenta se deduc din tabelul de tranzitie al strilor/ieirilor, comparnd ecare a s a stare cu ecare, pentru toate conguratiile de valori ale cuvntului de intrare ce de a termin cele dou stri. Vericarea conditiilor necesare pentru ca o pereche de stri a a a a s e echivalent se realizeaz prin urmtorii pai: a a a a s 1. Se elimin (se diagonalizeaz) din mapa implicantiilor acele csute ale cror a a a a perechi de stri coordonate au tabelul de tranzitie al strilor/ieirilor ieiri a n a s s diferite pentru aceeai valoare a cuvntului de intrare(vezi Denitia 3.7). De s a exemplu, nu pot echivalente perechiile A cu B, A cu D i A cu F , deoarece s au ieiri diferite, deci csutele corespunztoare intersectiei acestor perechi se s a a diagonalizeaz. a 2. Pentru perechile de stri prezente la care s-a vericat c au ieiri identice, a a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

359

Pentru ca A E necesit C E i D F . Privind mapa implicantiilor a s n pentru echivalenta perechii D, F este necesar B F i B C, iar pentru a s echivalenta perechii C E este necesar C E i B C. S vedem dac a s a a din csutele mapei rezult c sunt a a a ndeplinite simultan aceste patru echivalente. Pentru ca B F este necesar ca B F i C D, dar din csuta de coordonate s a C i D rezult c strile C i D nu sunt echivalente. concluzie , strile A i s a a a s In a s E nu sunt echivalente i csuta de coordonate A i E de pe prima coloan se s a s a diagonalizeaz. a Se aplic aceast analiz i pentru celelalte coloane/linii i se constat c a a a s s a a n afar de csuta de coordonate B,D, toate celelalte se diagonalizeaz, rezultnd a a a a mapa implicantiilor din Figura 3.23-c. Rezult c sunt echivalente strile A cu a a a C i strile B cu D. s a 3. Pentru ecare pereche de stri echivalente se pstreaz doar una din stri, evena a a a tual se redenumesc strile (A = q0 , B = q1 , C A = q0 , D B = q1 , E = q2 , a F = q3 ) i se construiete tabelul simplicat al tranzitiei strilor/ieirilor, s s a s Figura 3.23-d. Deci automatul initial cu ase stri poat substituit func s a n ionare cu un alt automat(echivalent) care are numai patru stri. t a Exemplul 3.8 Pentru automatul Mealy cu graful de tranzitie al strilor/ieirilor din a s Figura 3.24-a s se elimine strile redundante i apoi s se redeseneze graful de tranzitie a a s a Solutie. Din graful de tranzitie al strilor/ieirilor se obtine tabelul de tranzitie al a s strilor/ieirilor din Figura 3.24-e, iar din tabelul de tranzitie se deduce: a s
1. Nu sunt echivalente urmtoarele perechi de stri:A cu B, A cu C, B cu D, B cu E, C a a cu D i C cu E s 2. Strile: A D numai dac sunt echivalente B cu C i D cu C i A cu B a a s s A E numai dac sunt echivalente A cu E i B cu C a s B C numai dac sunt echivalente B cu C i A cu E a s

dup inspectarea tabelului, se a nscrie csutele corespunztoare din mapa n a a implicantilor care perechi de stri urmtoare ar trebui s e echivalente pentru a a a ca perechea de stri prezente comparate s e echivalent. De exemplu, pentru a a a prima coloan din map pentru ca A C necesit echivalenta a a a ntre B i D, iar s A E necesit C E i D F ; pe coloana a doua B D necesit B D, a s a B F necesit B F i C D; pe coloana a treia C E necesit C E i a s a s B F ; iar pe coloana a patra D F necesit B F i B C. a s

D E numai dac sunt echivalente C cu D i B cu E i A cu C a s s 3. Se constat c: A = D deoarece A = B i D = C a a s D = E deoarece A = C, B = E i C = D s AE rezultat a A E numai dac B C, iar B C numai dac A E. Rezult c a a a a i B C(simetrie dac qj qi atunci qi qj ). Mapa implicantiilor s a este cea din Figura 3.24-f. 4. Se redenumesc strile felul urmtor: A = q0 , B = q1 , C A = q0 ; a n a

360

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE


10/0 00/0 01/0

10/0 11/1 00/0 ,11/1 00/0 10/0

B
10/1

11/1

01/0 01/0 11/1 10/1 00/0

C
00/0 01/0 11/1 10/0

11/1 01/0 00/0

q0
11/1

00/0 00/0,10/0 10/1

D
01/0

q1
01/0,11/1

q2
01/1

a)
Starea prezenta A B C D E Starea urmatoare/iesire x1x0 00 B/0 E/0 A/0 C/0 C/0 01 C/0 C/0 B/0 D/0 C/0 11 B/0 B/1 C/1 A/1 C/1 10 A/0 D/1 D/1 B/0 F/0

b) A=q 0, B=q 1 , C~B=q 1 D=q 2 , E~A=q 0 ,


Starea prezenta q0 q1 q2 Starea urmatoare/iesire x1x0 01 10 00 11 q1/0 q1/0 q1/1 q0/0 q0/0 q1/0 q1/1 q2/1 q1/0 q2/0 q0/1 q1/0

c)

d)

B C D E B,C D,C A,B A,E B,C A B C C,D B,E A,C D B,C A,E

B C D E B,C D,C A,B A,E B,C A B C C,D B,E A,C D B,C A,E

e)

f)

Figura 3.24 Explicativ pentru reducerea strilor redundante ale automata a ului din Exemplul 3.8
D = q2 , E A = q0 pentru care rezult tabelul de tranzitie din Figura a Functionarea automatului echivalent(redus) este descris prin graful de a tranzitie al strilor/ieirilor din Figura 3.24-b. a s

3.24-d.

sinteza circuitelor combinationale se alnesc cazuri cnd functia de transfer In nt a este incomplet specicat, ceea ce tabelul de adevr se indic prin semnul indiferent a n a a (don t care). Cazuri similare se alnesc i la circuitele secventiale cnd e functia nt s a de transfer, f , e functia de tranzitie, g, nu sunt complet specicate ceea ce se re ect prin indicarea semnului indiferent respectiv pentru anumite valori ale ieirii sau a s anumite stri urmtoare. Cnd anumite stri nu sunt specicate automatul nu este a a a a predictibil. Este indicat s se evite asemenea cazuri e prin alegerea numai acelor a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

361

conguratii de intrare care conduc automatul numai prin stri deja specicate sau, a e s se specice strile nespecicate dac prin aceasta nu se contravine rezultatului a a a dorit. Odat specicate strile, care initial erau nespecicate, automatul nu mai este a a incomplet specicat. procesul de reducere al numrului de stri, specicarea ieirilor nespecicate In a a s poate fcut fr a se produce nici un impact asupra secventei strilor automatului a a aa a nal. Este indicat ca ieirile nespecicate s e lsate nespecicat tabelul de s a a n tranzitie al strilor/ieirilor ct se poate de mult procesul de reducere, deoarece a s a n prezenta semnului indiferent duce la o mai mare exibilitate compararea strilor n a din tabelul de tranzitie. validarea echivalentei a dou stri, trebuie ca ieirile s e In a a s a identice pentru oricare conguratie de intrare. Cnd se compar dou stri ale cror a a a a a ieiri sunt incomplet specicate locul notiunii de echivalenta se utilizeaz notiunea s n a de stri compatibile. Dou stri qi i qj sunt stri compatibile dac, pentru oricare a a a s a a secventa de conguratii aplicate pe intrare, se obtine o aceeai secventa a ieirii cnd s s a ieirile nespecicate vor specicate, indiferent dac strile q i , qj sunt stri initiale s a a a sau nu. Pentru automatele incomplet specicate exist algoritmi(graci sau analitici) a de reducere a numrului de stri [Yarbrough 97][Lewin 92]. a a

3.2.5

Asignarea strilor a

Dup operatia de reducere a strilor echivalente i modicarea corespunztoare a a s a a grafului de tranzitie al strilor/organigrama ASM i a tabelului de tranzitie al a s strilor se asigneaz strile. Procesul de asignare al strilor (codicarea strilor) unui a a a a a automat cu s stri const alocarea pentru ecare simbol de stare q 0 , q1 , . . . , qs1 a a a n cte unui cuvnt de cod cu lungimea de minimum k biti. Valoarea lui k rezult din a a a relatia 2k1 s < 2k deci k = log2 s (3.17)

X n

CLC2 f CLC1 g k Registru SA CLK

Y m W k

Figura 3.25 Separarea semiautomatului SA structura unui automat: n Prin asignarea strilor, automatul denit simbolic este transformat a ntr-un automat cu o structur specicat i functiile de transfer, f , i de tranzitie, g, sunt xate. a as s

362

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

,, De fapt, se personalizeaz un semiautomat pentru automatul respectiv, Denitia a 3.8 . Figura 3.25 este reprezentat o structur generic de automat a crui structur In a a a a a este separat partea combinational, CLC2, pentru calculul functiei de transfer, a n a i semiautomat, SA. Semiautomatul este compus din circuitul combinational CLC1, s pentru calculul functiilor de excitatie W , iar jurul acestuia este n nchis bucla printra un registru(element de memorie). Prin asignare ecare stare prezent i ecare stare as urmtoare sunt exprimate respectiv prin cuvintele Z i W cu lungimea de k biti(din a s multimea de 2k cuvinte). proiectarea automatului se pornete de la descrierea transferului intrare/ieire, In s s deci este xat functionarea prin corespondenta a ntre vectorii X i Y de la bornele s automatului. Proiectantului, pentru o functionare dat a unui automat, rmne a i a a sarcina de a optimiza realizarea functiilor f i g, ceea ce se reduce la alegerea semi s automatului cel mai potrivit din multimea de semiautomate posibile. Ori, aceast a alegere este determinat/xat prin procesul de codicare al strilor. Importanta a a a alegerii semiautomatului cel mai potrivit este evident pentru un automat, deoarece a aceast alegere determin direct dimensiunea i complexitatea automatului. Deoarece a a s automatele general nu pot denite recursiv, deci dimensiunea denitiei poate n ridicat, rezult, consecinta, circuite complexe. Un automat complex avnd i o a a n a s dimensiune ridicat va mai greu de realizat; este de preferat de realizat un automat a de complexitate redus chiar dac dimensiunea(circuistica) este ridicat. Rezult a a a a necesar cunoaterea posibilitilor de alegere a cuvintelor de cod din multimea de 2 k a s at cuvinte, care de fapt este spatiul strilor exprimat prin cuvinte de cod. Codicarea a strilor este cea mai important etap proiectarea unui automat. a a a n Tabelul 3.1 Posibiliti de codicare pentru un automat cu patru stri at a
Starea q0 q1 q2 q3 C1 z 1z 0 00 01 10 11 C13 z 1z 0 10 11 00 01 C2 z 1z 0 00 01 11 10 C14 z 1z 0 10 11 01 00 C3 z 1z 0 00 10 01 11 C15 z 1z 0 10 00 11 01 C4 z 1z 0 00 10 11 01 C5 z 1z 0 00 11 01 10 C17 z 1z 0 10 01 11 00 C6 z 1z 0 00 11 10 01 C18 z 1z 0 10 01 00 11 C7 z 1z 0 01 10 11 00 C19 z 1z 0 11 00 01 10 C8 z 1z 0 01 10 00 11 C20 z 1z 0 11 00 10 01 C9 z 1z 0 01 11 10 00 C21 z 1z 0 11 01 00 10 C10 z 1z 0 01 11 00 10 C22 z 1z 0 11 01 10 00 C11 z 1z 0 01 00 10 11 C23 z 1z 0 11 10 00 01 C12 z 1z 0 01 00 11 10 C24 z 1z 0 11 10 01 00

Starea q0 q1 q2 q3

C16 z 1z 0 10 00 01 11

Pentru un automat cu s stri din multimea de 2k cuvinte, cu lungimea de k biti, a se pot forma un numr de 2k !/(2k s)!s! grupuri distincte, ecare grup continnd s a a cuvinte. Apoi, prin maparea celor s stri ale automatului pe un grup cu s cuvinte a rezult un numr de s! asignri(codicri) diferite. Deci numrul total de codicri, a a a a a a Nc , va : NC = 2k ! (2k s)! (3.18)

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

363

De exemplu, pentru un automat cu patru stri q0 , q1 , q2 i q3 (codicabile pe un cuvnt a s a de doi biti k = log2 4 = 2) rezult NC = 22 !/(22 4)! = 24 posibiliti de asignare, a at c1 c24 , reprezentate Tabelul 3.1. Dar din cele 24 de asignri posibile unele n a sunt echivalente. Dou asignri ale strilor sunt echivalente dac pentru cele dou a a a a a implementri ale automatului functiile f i g au aceleai mrimi de dimensiune i a s s a s complexitate. Se obtin dou asignri echivalente urmtoarele dou cazuri: a a n a a 1. cnd codul unei asignri se obtine prin complementarea codului celeilalte. De a a exemplu, sunt echivalente urmtoarele perechi de asignri (c 1 , c24 ), (c2 , c23 ), a a (c3 , c22 ),. . .,(c12 , c13 ); 2. cnd codul unei asignri se obtine din codul altei asignri prin interschimbarea a a a coloanelor z1 i z0 . Dac asignarea c1 se schimb valorile bitilor s a n a ntre z1 i z0 s se obtine asignarea c3 , la fel c2 i c4 s.a.m.d s Numrul total de asignri neechivalente, Ncne , pentru un automat cu s stri i cuvnt a a a s a de lungime de k biti se calculeaz cu urmtoarea relatie a a Ncne = (2k 1)! (2k s)!s! (3.19)

Valoarea lui Ncne crete dramatic functie de numrul de stri s ale automatului, s n a a cteva din aceste valori sunt date Tabelul 3.2. a n Tabelul 3.2 Valori pentru numrul asignrilor neechivalente, Ncne a a
Tabelul 3.2 Valori pentru numarul asignarilor neechivalente, Ncne
s 2 3 4 5 6 7 k 1 2 2 3 3 3 Ncne 1 3 3 140 420 840 s 8 9 10 16 20 k 3 4 4 4 5 Ncne 840 6 10,81x 10 6 75,67x 10 9 56,48x 10 21 143,14x 10

proiectarea unui automat efortul de alegere a celui mai bun semiautomat, care In determin o dimensiune minim pentru circuitele combinationale, CLC1 i CLC2, a a s precum i o minimizare a complexitii, este evitat din cauza numrului mare de s at a asignri posibile spatiul strilor care ar trebui analizate. Pentru s 4 se pot a n a elabora i analiza toate solutiile de semiautomat i apoi se alege varianta care duce s s la un minim pentru dimensiune i complexitate. Pentru cazul cnd n 4 se caut s a a doar gsirea solutiei care determin un semiautomat ce se aproprie sucient de mult a a de cel mai bun, am putea spune semiautomatul cel mai potrivit. acest sens exist In a literatur indicate anumite reguli care aplicate procesul de asignare al strilor n a n a pot duce spre o solutie aproape de cea optim. a Variabilelor de excitatie w, care determin starea urmtoare, se calculeaz a a a n blocul combinational CLC1, iar mrimile de ieire y sunt calculate blocul combi a s n national CLC2; calculul acestor dou marimi intervine starea prezent. sinteza n a a In

364

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

celor dou blocuri combinationale se obtin forme cu att mai simple cu ct dia a a n agramele V-K se identic suprafete(implicanti primi esentiali, IPE) ct mai mari. a a Ori, pentru a obtine suprafete ct mai extinse este indicat ca asignarea strilor s se a a a efectueze astfel inct codurile strilor s aib a a a a ntre ele distanta unitara i prin aceasta s la maparea pe o diagrama V-K vor corespunde csute adiacente. Pe aceast observatie a a se bazeaz unele reguli care pot duce la obtinerea de structuri simple pentru cele dou a a blocuri combinationale. Un procedeu simplu de asignare a strilor care are o probabilitate destul de ridicat a a pentru a duce la o solutie apropiat de cea optim se bazeaz pe conceptul de locusul a a a strilor. Locusul strilor este numrul de modicri ale bitilor din cuvntul de a a a a a stare cnd pentru un automat se parcurg toate cile de tranzitie. Se va alege acea a a codicare a strilor care s realizeze o valoare ct mai mic pentru locusul strilor. a a a a a Valoarea minim s-ar obtine cnd codurile a a ntre dou stri succesive pe oricare linie a a de tranzitie, afar de buclele la aceeai stare, ar diferi doar printr-un singur bit. n a s Aceast modalitate de codicare, prin care codul unei stri difer doar printr-un a a a singur bit fata de codurile strilor urmtoare, a a nspre care exist o cale de tranzitie, a este referit ca o codicare cu variatie minim. Codicarea cu variatie minim, a a a pe lng faptul c pot duce duce la suprafete mai mai a a a ntr-o diagram V-K, prin a realizarea unei singure comutatii cuvntul de stare la trecerea de la o stare la alta, n a mrete siguranta functionare a automatului, mai ales la cele asincrone. a s n Un segment de organigram ASM avnd o codicare cu variatie minim este a a a prezentat Figura 3.26-a. La o tranzitie din starea q 0 , creia i s-a asignat codul n a 0000, pe oricare cale de tranzitie nspre strile q 1 , q2 , q3 , q4 cuvntul de cod se a n a modic doar un singur bit. Dac se noteaz cu nz 3 , nz2 , nz1 , nz0 , valorile bitilor din a a a cuvntul de stare urmtoare, acestea se pot exprima prin relatia logic ce denete a a a s calea de tranzitie respectiv. a nz3 = x1 x0 nz1 = x1 x0 nz2 = x1 x0 nz0 = x1 x0

Codicarea cu diferenta numai de un singur bit, ntre dou stri succesive, nu a a este totdeauna posibil. De exemplu, organigrama ASM din Figura 3.26-b, care a n contine pe o bucl trei stri q0 , q1 i q2 acestea nu pot toate codicate cu distante a a s de cod egale cu unu. Dac q1 difer de q0 cu un singur bit iar fata de q2 tot cu un a a singur bit, atunci q2 difer de q0 prin cel putin doi biti. Aceste relatii a ntre cuvintele de cod asignate strilor se pot observa i modica mult mai uor dac se construiete a s s a s o diagram de tip V-K care se mapeaz strile. a n a a Intr-o astfel de diagram, dou a a stri succesive care au distanta de cod egal cu unu, sunt plasate csute adiacente. a a n a Din diagrama V-K corespunztoare automatului din Figura 3.26-b rezult c tota a a deauna, pentru oricare variant de asignare cu 2 biti a ntre cele trei stri q 0 , q1 i q2 de a s pe bucl, exist o trecere(pe diagonal) a a a ntre dou csute neadiacente. Uneori, pentru a a realizarea unei codicri cu distanta de cod unu a ntre oricare dou stri succesive este a a necesar introducerea unei stri suplimentare, dar aceast suplimentare de stri pe a a a a ntreaga organigram ASM ar putea duce la creterea numrului de biti cuvntul a s a n a de cod. Prin introducerea strii suplimentare q 4 , Figura 3.26-c, cuvntul de cod va a a de trei biti dar codurile succesive asignate strilor q 0 , q1 , q2 i q4 de pe bucl sunt la a s a distanta unitar, ceea ce se obtine din plasarea strilor pe diagrama V-K pozitii a a n adiacente, (aceast plasare nu este unic). Aceast rezolvare pentru codicarea cu a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

365
z2 z1 z0 0 0 0 010
q1

Bloc de stare

q0

z3 z2 z1 z0 0 0 0 0

q0

z1 z0 0 0 01

q0

0 1 x0 0

x1

1 0 x0 1

q1

110
q2 y=1 q3 q2 y=1 q4 q3

001

100 y=1 11 q3 10 q1 q2 c)

q1

0001

q2

0010

q3

0100

q4

1000

z1

0 q0 0 1 q2

z0

1 q1 q3 b)

z2

z1z0

0 1

00 01 q0

q4

a)

Figura 3.26 Codicare cu variatie minim: a) segment de organigram ASM a a codicat cu variatie minim; c) codicare cu variatie minim prin introducerea unei a a stri suplimentare fata de organigrama(b). a variatie minim implic denirea i a unei ieiri starea suplimentar. Ieirea depen a a s s n a s dent de starea suplimentar poate repetarea ieirii y din starea anterioar sau nici a a s a o ieire NO-OPERATION dac functionarea automatului permite. Generarea ieirii, s a s y = 1, i starea suplimentar apare la ieirea automatului ca o consumare de doi s n a s timpi de stare(tacte) starea q2 . n Pentru un automat valoarea locusului strilor nu poate mai mic dect numrul a a a a s de stri. O valoare minim egal cu s pentru locusul strilor se poate obtine doar la a a a a un automat la care exist s tranzitii neconditionate a ntre strile succesive i codicarea a s strilor este cu variatie minim, de exemplu un numrtor cod Gray, uzual valoarea a a aa n minim a locusului strilor este mai mare dect s. a a a Exemplul 3.9 Pentru automatul din Figura 3.27-a s se calculeze locusul strilor, a a apoi s se reasigneze strile astfel at s se obtin valoarea minim pentru locusul strilor. a a nc a a a a
Solutie. Pentru codurile strilor a nscrise pe organigram se calculeaz locusul strilor, a a a Figura 3.27-b, rezultnd o valoare egal cu 10. Din plasarea strilor pe o diagram V-K se a a a a vede c strile nu au coduri adiacente. Replasnd strile pe diagrama V-K, Figura 3.27-c, a a a a se face o codicare cu variatie minim(cuvintele binare notate paranteze pe organigram) a n a pentru care locusul obtine valoarea 7. aceast diagram V-K pe sgetile care reprezint In a a a a cile de tranzitie dintre stri s-a indicat i distanta de cod respectiv, dac aceast distanta a a s a a a este mai mare dect unitatea. Pe bucla format din strile q1 , q3 , q4 nu se poate realiza o a a a codicare cu variatie minim. Asignarea codului 011 pentru q4 ar duce la o distanta de cod a unitar fata de q1 dar ar mri distanta de cod la doi fata de q3 , locusul strilor ar tot 7. Se a a a pot ncerca i alte plasri mapa strilor. Solutia ar introducerea unei stri suplimentare s a n a a

366

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

z2 z1 z0 0 0 0 (000)
q0

010(010)
q1

011(100)
q2

111(110) a)
q3

101(111)
q4

z2

z1z0 0 1

00

01
2

11 q2

10 q1
2

z2

z1z0

00 q0 q2

01

11

10 q1

q0

0 1 000 000 010 100 110 111

q4

q3

2 q4

q3

tranzitia q 0 tranzitia q 0 tranzitia q 1 tranzitia q 2 tranzitia q 3 tranzitia q 4

q1=000 010 modifica 1 bit q2=000 011 modifica 2 biti q3=010 111 modifica 2 biti q3=011 111 modifica 1 bit q4=111 101 modifica 1 bit q1=101 010 modifica 3 biti Total=10 biti modificati b)

010 modifica 1 bit 100 modifica 1 bit 110 modifica 1 bit 110 modifica 1 bit 111 modifica 1 bit 010 modifica 2 biti Total=7 biti modificati c)

Figura 3.27 Exemplu de plasare a strilor pe diagrama V-K(b) pentru a a minimiza valoarea locusului strilor(c) la o organigram dat(a). a a a

pe aceast bucla. a

Exemplul 3.10 Pentru automatul cu tabelul de tranzitie al strilor/ieirilor din a s Figura 3.28-a s se deduc expresia semnalelor de excitatie. a a Solutie. Deoarece se deduc doar expresiile functiilor de excitatie se vor neglija valorile ieirilor, deci problema exprimat pentru automat se restrnge numai la sinteza semiaus a a tomatului. Se propun dou variante de semiautomat. a Varianta I, Figura 3.28-b, cele ase stri q0 q5 sunt mapate pe diagrama V-K astfel In s a at s se realizeze nc a ntr-o msur ct mai mare variatie minim, adic plasare csute a a a a a n a adiacente. afar de tranzitiile q3 la q5 i q5 la q1 , care au distanta de cod egal cu 2, toate In a s a celelalte tranzitii au distanta de cod unitar, rezult o valoare egal cu 12 pentru locusul a a a strilor. ( a Incercati o alt plasare care ar duce la o valoare mai mic). Utiliznd aceast a a a a asignare rezult tabelul de tranzitie al strilor din Figura 3.28-c, care s-au a a n nscris valorile obtinute pentru bitii strii prezente z2 , z1 , z0 i bitii semnalelor de excitatie w2 , w1 , w0 . Acest a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


z1z2 0 1 Varianta I 01 11 q5
2 2

367

starea Starea urmat/iesire prez. x=0 x=1 q0 q0/0 q1/0 q1 q2 q3 q4 q5 q0/1 q3/0 q4/0 q1/1 q1/0 q2/1 q5/1 q5/0 q3/0 q1/1

z1

00 q0

10 Starea prez. z2z1z0 q0 000 q1 100 q2 101 q3 111 q4 110 q5 001

Starea urmatoare x=0 x=1 w2 w1 w0 w2 w1 w0 q0 0 0 0 q1 1 0 0 q0 0 0 0 q2 1 0 1 q3 1 1 1 q5 0 0 1 q4 1 1 0 q5 0 0 1 q1 1 0 0 q3 1 1 1 q5 1 0 0 q1 1 0 0

q1

q2

q3

q4

Locusul starilor = 12 Varianta II z1z0 00 01 11 10 z


2

0 1

q0 q5
2

q4 q2

2 3

q3

q1

a)
z2 z1z0 0 1 z2 z1z0 0 1 z2 z1z2 0 1 00 x x 00 0 0 00 0 x 01 1 x 01 0 x 01 0 1 11 x 11 x 11 x 10 1 10 x 10 x

b)

Locusul starilor = 15

c)
w2 Starea urmatoare w1 w0 0 0 x 0 0 0 0 0 0 x x 0 0 1 1 1 x x 1 0 1 1 0 x x x 0 1 0 0 1 x x 1 1 0 0 1 0 0 0 0

W2

W1

W0

Intrare x 0 1 0 1 0 1 0 1 0 1 0 1

Starea prezenta z2 z1 z0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 0 1

0 1 0 1 1 0 1 0 1 1 1 1

e)

d)

Figura 3.28 Exempicarea etapelor pentru sinteza expresilor de excitatie: a) tabelul de tranzitie al strilor/ieirilor; b) variante a s strilor pe diagrama V-K; c,d) explicitarea tabelului de tranzitie prin a codurilor asigurate; e)diagramele V-k pentru determinarea expresiilor excitatie w2 , w1 i w0 . s

semnalelor de mapare a introducerea functiilor de

tabel poate transformat tabelul din Figura 3.28-d care valorile bitilor de excitatie au n n fost explicitate functie de bitii strii prezente i de valorile variabilei de intrare testat. n a s a Prin aceast explicitare, din acest tabel, se poate realiza sinteza expresiilor pentru w 2 , w1 , w0 a ca functii de patru variabile: z2 , z1 , z0 i x. Sinteza se poate simplica prin introducerea lui s x ca variabil reziduu valorile pentru w2 , w1 , w0 (notatiile dup acolade), rezultnd diaa n a a gramele de trei variabile z2 , z1 , z0 reprezentate Figura 3.28-e. Expresiile pentru semnalele n de excitatie sunt: w2 w1 w0 = = = z 2 z0 + z 1 z0 + z 0 x + z 0 x z 2 z0 x + z 1 z0 x z 2 z1 z0 + z 2 x

Pentru o implementare cu porti discrete, introducnd ca msur a dimensiunii numrul a a a a S de intrri utilizate, rezult respectiv valorile 11, 7 i 6, deci dimensiunea implementrii a a s a Variantei I este SV arI = 24

368

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Varianta II plasarea strilor pe diagrama V-K s-a fcut fr a cuta obtinerea unei In a a a a a variatii minime. S-au obtinut urmtoarele expresii pentru semnalele de excitatie. a w2 w1 w0 = = = z 1 x + z 2 z0 x z 2 z1 z0 + z 2 z0 + z 2 x z 2 z1 z0 x + z 1 z0 x + z 2 z1 x + z 2 z0 x

care realizeaz respectiv dimensiunile 6, 9 i 16, iar pe a s ntregul semiautomat SV arII = 31.

Codicarea cu dependent redus. Selectarea codurilor, lund criteriu loa a a cusul strilor, are vedere doar modicarea valorilor variabilelor de stare i efectul a n s lor asupra functiilor de excitatie(valorile variabilelor strii urmtoare). Dar, valorile a a variabilelor strii urmtoare sunt dependente i de valorile variabilelor de intrare tesa a s tate simbolurile de decizie dintr-o organigram ASM . Modalitatea de asignare a n a strilor prin care s se ia considerare i contributia intrrilor functiile de excitatie a a n s a n este referit prin codicare cu dependenta redus(de variabilele de intrare). Codia a carea cu dependenta redus presupune ca strile urmtoare ce se obtin prin tranzitia a a a din aceeai stare, urma testrii unor variabile de intrare, s difere s n a a ntre ele printr-un singur bit. Aceasta nseamn ca expresia celor dou stri, care se obtin urma a a a n testrii unei singure variabile x0 , s se exprime ct mai simplu functie de aceasta a a a n variabil adic, s e de forma, de exemplu, z 4 z3 x0 z1 z0 . Cele dou stri urmtoare a a a a a a sunt z4 z3 0z1 z0 i z4 z3 1z1 z0 . Dar dac acelai bloc de stare se testeaz i a doua s a n s as variabil de intrare x1 i cuvintele care se obtin urma acestei testri trebuie s e a s n a a diferite tot printr-un singur bit, de exemplu z 4 x1 z2 z1 z0 , adic z4 0z2 z1 z0 i z4 1z2 z1 z0 . a s Incercarea de a codica cu dependenta redus simultan dup dou variabile testate a a a x1 , x0 nu este posibil. De exemplu, expresia z4 x1 x0 z1 z0 pentru strile urmtoare a a a poate genera urmtoarele patru cuvinte z4 00z1 z0 , z4 01z1 z0 , z4 10z1 z0 i z4 11z1 z0 care a s nu difer a ntre ele numai printr-un singur bit. Deci codicarea cu dependenta redus a poate realizat doar functie numai de o variabil testat. a n a a Exemplul 3.11 Pentru automatul cu tabelul de tranzitie al strilor/ieirilor din a s Figura 3.28-a s se realizeze o codicare cu dependent redus. a a a Solutie. Pentru a mai explicit aceast codicare din tabelul de tranzitie al strilor a a a s-a desenat organigrama ASM , Figura 3.29-a. aceast organigram dup ecare element In a a a de decizie s-a notat expresia codului pentru urmtoarele dou stri functie de valoarea a a a n variabilei testate x. De exemplu, blocul de stare q1 expresia codurilor strilor urmtoare n a a este 00x ceea ce impune pentru valoarea lui x = 0 codul urmtor s e 000(q0 ), iar pentru a a x = 1 codul urmtor s e 001(q2 ), a a ntre aceste dou coduri distanta de cod ste unitar. a a Pentru aceast codicare cu dependenta redus se obtine tabelul de tranzitie al strilor din a a a Figura 3.29-b. Urmnd aceeai succesiune sintez ca la Exemplul 3.10 rezult expresiile a s n a a pentru semnalele de excitatie
w2 w1 w0 = = = z0 + z1 + z2 x z 2 z0 + z 1 z0 x z 2 z1 z0 + z 2 x

pentru care dimensiunea implementrii cu porti discrete, considernd criteriu numrul de a a a intrri, este S = 18. Se observ c expresiile semnalelor de excitatie w2 , w1 i w0 , variabila a a a n s de intrare x intervine doar o singur dat(dependenta redus). a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

369

000
q0

0 x00

x 1 100

Starea prezenta z2 z1 z0

Starea urmatoare x=0 x=1 w2 w1 w0 w2 w1 w0

q1

q0 0 0 0 q0 0 0 0 q1 1 0 1 q1 1 0 0 q0 0 0 0 q2 0 0 1 q2 0 0 1 q3 1 0 1 q5 1 1 1 q3 1 0 1 q4 1 1 0 q5 1 1 1 111 q4 1 1 0 q1 1 0 0 q3 1 0 1 q5 1 1 1 q1 1 0 0 q1 1 0 0

0 00x
q2

x 1 001 x 1 1x1
q5

0 101
q3

x 0
q4

1 11x 110

x 10x

a)

b)

Figura 3.29 Codicare cu dependenta redus: a) organigrama ASM cu in a dicarea codurilor strilor functie de variabila de intrare testat, x; b) tabelul de a n a tranzitie al strilor. a ,, Codicarea de tip unic-activ (one-hot ). La codicarea de tip unic-activ cuvntul de cod nu mai are lungimea de log2 s ci are lungimea de s biti, adic a a atia biti cuvntul de cod cte stri are automatul. O astfel de codicare pentru at n a a a automatul cu ase stri, din Exemplele 3.10 i 3.11, este cea prezentat coloana s a s a n a doua a Tabelului 3.3 i care folosete doar ase cuvinte de cod din cele 2 6 cuvinte s s s ,, de cod posibile, ecare cuvnt de cod avnd un singur bit egal cu unu(unu-activ ). a a La prima vedere am tentati s rejectm acest tip de asignare din cauza creterii a a s dimensiunii registrului din calea de reactie. Acest registru, pentru un automat cu s stri, va avea s celule de memorare(bistabile) i nu log 2 s celule ca la asignrile a s a prezentate pn acum. Dar, la o anliz mai atent, vznd avantajele asignarea de tip a a a a a a unic-activ este preferat raport cu alte asignri mai ales la implementrile integrate. a n a a Avantajul principal pentru asignarea one-hot conast simplitatea expresiilor a n celor s functii de excitatie. Acest simplitate duce general la o reducere a di a n mensiunii circuitului combinational CLC1, Figura 3.25, care poate compensa ntr-o

370

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

Tabelul 3.3 Modaliti de asignare a strilor at a


Numele starii Codul unicactiv Asignare prin : Codul unicactiv Codul cu initializare

z5 z4 z3 z2 z1 z0 z4 z3 z2 z1 z0 z3 z2 z1 z0 q0 q1 q2 q3 q4 q5 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1

oarecare msur creterea dimensiunii prtii ordonate corespunztoare registrului. Pe a a s a a un circuit integrat este de preferat creterea, intr-o oarecare msur, a dimensiunii s a a prtii ordonate (registru) schimbul scderii dimensiunii prtii neordonate (CLC). a n a a plus, prin scderea dimensiunii prtii combinationale, viteza de rspuns a automatIn a a a ului crete. De asemenea, acest simpitate duce la o sintez mult mai uoar i, s a a s a s n depanarea circuitului, necesit un timp mult mai redus. Pentru asignarea one-hot, a din Tabelul 3.3, aplicat automatului cu tabelul de tranzitie al strilor din Figura a a 3.28-a se obtin urmtoarele expresii pentru semnalele de excitatie. a w5 = z 2 z 3 x w4 = z 3 x w3 = z 2 x + z 4 x w2 = z 1 x w1 = z 5 + z 4 x + z 2 z0 x w0 = z 1 z2 z0 x

Exist o practic, destul de frecvent, proiectarea automatelor ca s se introa a a n a ,, duc i o stare de ateptare idle care se codic printr-un cuvnt numai de zero-uri as s a a sau mai rar numai din unu-uri. Codicarea numai prin zero-uri este practic deoarece a printr-un semnal de RESET-are se poate nscrie acest cuvnt registrul de stare i a n s ,, automatul este adus starea de ateptare. aceast stare de initializare/idle , q0 n s In a din organigrama din Figura 3.29, se ajunge e prin initializare, la punerea sub tensi une, sau e prin resetare cnd automatul nu mai are nimic de efectuat. Introducnd a a aceast starea de initializare pentru asignarea de tip one-hot se obtine asignarea de a tip one-hot modicat cu o reprezentare ca cea din coloana a treia a Tabelului 3.3. Functiile de excitatie, numr de (s 1), ale automatului descris Figura 3.29-a, n a n prin aplicarea asigurrii one-hot modicat au urmtoarele expresii a a w4 = (z1 z2 x) w3 = z 2 x w1 = z0 x w0 = z 4 + z 3 x + z 4 z3 z2 z1 z0 x

w2 = z 1 x + z 3 x Al treilea termen din expresia lui w0 indic faptul c automatul este adus starea a a n q0 (= 00 000) cnd nici una din celelalte stri nu este activ. a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

371

Un exemplu de initializare q0 (= 0 000) pentru o codicare obinuit este prezentat s a coloana a patra din Tabelul 3.3. Toate strile, afar de cea de initializare, au n a n a n codul lor bitul cel mai semnicativ z3 egal cu 1, deci acest bit prin valoarea 1 indic a faptul c automatul nu este starea de initializare. acest exemplu pentru ceilalti a n In trei biti de stare z2 z1 z0 se folosete codicarea strilor o numrare binar natural s n a a n 000, 001, 010 etc. Pentru toate modalitiile de asignare a strilor prezente, general, numrul de at a n a coduri utilizate (valide) s este mai mic dect numrul total de cuvinte de cod posia a bile. Diferenta ntre aceste dou numere este numrul de coduri neutilizate (ilegale). a a Dar ce inuenta negativ pot avea codurile neutilizate? Datorit unor functionri a a a defectuoase ale circuitului, unor greeli de proiectare, modicarea neateptat a unei s s a intrri(asincrone) sau la punerea sub tensiune, automatul poate intra a ntr-o stare ilegal. Odata intrat a ntr-o stare ilegal pot exista dou scenarii. Primul, functie dac a a a starea ilegal a fost sau nu cuprins procesul de minimizare i dac a fost ce vala a n s a oare a primit diagrama V-K, dup cteva tacturi de clock se poate ajunge intr-o n a a stare legal i mai departe o functionare corect a automatului. Al doilea, i cel mai as a s dezastruos, dintr-o stare ilegal se poate trece alte stri ilegale, inchizndu-se un a n a a ,, ciclu ntre acestea iar din aceast functionare ilegal se poate iesi numai printr-o a a oprire i o repornire, dac nu se ajunge din nou tot functionare ilegal. tratarea s a n a In strilor ilegale, notate prin simbolul indiferent (don t care) diagramele V-K din a n Figura 3.28-b i c, pot exista dou abordri. s a a

000 a)

001

010

011

100

101

110

111

100

111

000 b) 001 011

010

101

110

Figura 3.30 Variante de abordare a proiectrii automatului raport cu a n considerarea strilor ilegale a) proiectare pentru cost minim; b) proiectare cu a risc minim. Prima abordare a - costului minim - consider c automatul nu va intra nicioa a dat intr-o stare ilegal. Prin urmare, procesul de sinteza pe diagramele V-K a a n termenii canonici indiferenti sunt inclui cu valoarea potrivit s a mpreun cu alti tera meni canonici adiacenti astfel at s rezulte implicanti primi esentiali de suprafata nc a ct mai mare, consecinta cost minim de implementare. a n A doua abordare - riscul minim - evit cantonarea automatului a ntr-o stare

372

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

ilegal. Aceast functionare se poate realiza prin proiectarea automatului astfel at a a nc din ecare stare ilegal s existe o tranzitie a a ntr-o stare legal, general spre starea a n de initializare (de cod 00 . . . 00). De exemplu, automatul din Figura 3.30-a utilizeaz a numai patru din cele opt cuvinte de cod, celelalte patru cuvinte de cod constituie stri a ilegale ale automatului. O proiectare cu risc minim va considera graful de tranzitie al strilor din Figura 3.30-b care din strile ilegale 001, 011, 100 i 111 exist tranzitii a n a s a spre starea de initializare 000. 3.2.5.1 Intrri i ieiri asincrone a s s

La un automat sincron variatiile variabilelor de intrare au loc doar momentul n aplicrii impulsului de ceas, sunt sincrone (sunt eantionate/testate) cu semnalul de a s ceas. Aceste variatii mpreun cu cele ale strii prezente produc starea urmtoare i a a a s ieirile. Att ieirile ct i starea urmtoare vor corecte dac se citesc, respectiv se s a s a s a a nscriu registrul de stare i de ieire, numai perioada regimului stabilizat, adic n s s n a dup consumarea regimului tranzitoriu, vezi Figura 3.7-b. Chiar i la un automat a s Mealy imediat se obtin ieiri corecte dac sunt citite (utilizate) dup consumarea s a a regimului tranzitoriu. Nu la fel se ampl cnd intrrile sunt asincrone. nt a a a Semnalele asincrone de intrare nu mai au variatii sincrone cu ceasul automatului, aceste semnale se pot modica oricnd raport cu frontul activ de sincronizare al a n ceasului. Semnalele asincrone pe intrare pot proveni de la un alt sistem digital care este comandat cu un ceas diferit sau sunt culese din exterior de la traductori ai unor sisteme mecanice, termice, biologice etc. Variatia semnalelor asincrone va produce modicri ieirile de tip imediat (Mealy) care pot arcate de hazard dac sunt a n s nc a citite nainte de consumarea regimului tranzitoriu. schimb, variatia semnalelor In asincrone de intrare nu va produce o functionare incorect a automatului, prin ieiri a s arcate de hazard i cuvinte de stare urmtoare eronate, dac nc s a a nscrierea (memorarea) registrul de ieire i registrul de stare se face numai dup consumarea n s s n a regimului tranzitoriu. S-a artat sectiunea 3.2.1, Figura 3.6, c a n a nscrierea ntr-un registru, la momentul iT al aplicrii impulsului de ceas, al unui semnal care variaz a a intevalul interzis (iT SU , iT + H ), nu poate o operatie determinist. Dac n a a acest interval semnalul are o variatie de la 0 la 1 sau de la 1 la 0 registru nu n n se poate ti exact dac valoarea s a nscris este 0 sau 1. Aceast comportare nedetera a minist se datoreaz functionrii celulelor (bistabile) din care este construit registrul, a a a explicatiile vor date sectiunea 3.3.1. n consecinta, daca variatia semnalului asincron de intrare produce modicri ale In a ieirii i ale cuvntului de stare urmtoare chiar intervalul atunci ieirea s s a a n s nscris a registrul de ieire poate eronat iar codul n s a nscris registrul de stare poate n unul ilegal sau poate unul care nu mai corespunde unei tranzitii normale. Deci, iat a cum o intrare asincron, prin efectele sale, poate produce o functionare incorect a a a unui automat. Efectele variatiei variabilei asincrone intervalul interzis nu pot n eliminate dar pot atenuate printr-o asignare corespunztoare a strilor. a a Pentru segmentul de organigram din Figura 3.31-a, care se testeaz i varia n a s abila asincron x (asincronismul unei intrri se noteaz, general, cu un asterisc), a 0 a a n asignarea s-a realizat cu variatie minim astfel at locusul strilor pentru acest a nc a segment are valoarea 3. Expresia cuvntului de cod pentru strile q 2 , q3 i q4 , a a s n functie de variabilele testate, x1 sincron i x asincron, este ((x1 x ) (x1 x )x1 ) a s 0 a 0 0

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


z2 z1 z0 0 0 0 x1 z2 z1 z0 0 0 0 x1 0

373

Bloc de stare q0

q0

Bloc de stare q0

q0

1 L2 001
q2 q3

L3

0 x* 0 0 1 L4 ((x1x*)(x1x*)x1) 0 0 100 010


q4 q2

1 L3 001
q3

L2

x* 0 0 1 ((x1x*)(x1)1) 0 111
q4

L4 011

Intrari
x1 0 0 0 x* 0 0 1

Starea prezenta
simbol q0 q0 q0 cod z2 z1 z0 0 0 0 0 0 0 0 0 0

Starea urmatoare
simbolnz2 q4 q3 q2 n z1

cod nz0

Intrari
x1 0 0 0 x* 0 0 1

Starea prezenta
simbol q0 q0 q0 cod z2 z1 z0 0 0 0 0 0 0 0 0 0

Starea urmatoare
simbolnz2 q4 q3 q2 n z1

cod nz0

a)

0 1 0 1 0 0 0 0 0

b)

0 1 1 1 1 1 0 0 1

q0

Bloc de stare q0 x* 2

q0

Bloc de stare q0 x* 2

q1

Bloc de stare q 1
q2

x1 x* 0
q3 q4

q1

x1
q5

Bloc de stare q5 c)
q2

x* 0
q3 q4

Figura 3.31 Analiza ambiguitii aspra at nscrierii cuvntului de stare a urmtoare generat de testarea unei variabile de intrare asincrona: a a a) printr-o codicare cu variatie minim; b) printr-o codicare cu dependenta redus; a a c) introducerea unui bloc de stare suplimentar pentru eliminarea testrii simultane a a dou variabile asincrone. a a a a adic: nz2 = x1 x , nz1 = x1 x , nz0 = x1 . Considerm cazul cnd x1 = 0, adic a 0 0 o tranzitie din q0 q3 sau q4 , iar cuvntul de cod al acestor dou stri se reduce n a a a a a n la x x 1, deci nz2 = x , nz1 = x i nz3 = 1. S presupunem c intervalul 0 0 0 s centrat pe frontul impulsului de ceas din momentul (i + 1)T , care marcheaz trecerea a din blocul de stare q0 unul din blocurile de stare q3 sau q4 , variabila asincron x n a 0 variaz de la valoarea 0 la valoarea 1. Conform celor prezentate anterior, ecare din a n cele dou celule (z2 , z1 ) ale registrului de stare, pentru bitii cuvntului de stare nz 2 i a a s nz1 , se poate nscrie e 0, e 1 neavnd un control determinist asupra acestui proces, a consecinta pot urmtoarele patru cuvinte n a nscrise pentru starea urmtoare: 000, a 010, 100 i 110. s 1. Pentru cuvntul 100 a nscris registrul de stare: s-a realizat o comutatie corect n a att celula z2 = 1 (nz2 = x = 1) ct i celula z1 = 0 (nz1 = x ), deci o a n a s n 0 0 ntr-o stare legal q3 . a tranzitie corect (L3 = x1 x = 0 1 = 1) a 0

374

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

2. Pentru cuvntul 010 a nscris registrul de stare: s-a realizat o comutatie inn corect att celula z2 = 0 (nz2 = x = 1) ct i celula z1 = 1 (nz1 = x = a a n a s n 0 0 0), deci o tranzitie incorect starea q 4 (legal), pe o linie de tranzitie dar care a n a nu a fost activat (L4 = x1 x = 0 1 = 0). a 0 3. Pentru cuvntul 000 a nscris registrul de stare: s-a realizat o comutatie inn corect celula z2 = 0 dar o comutatie corect celula z1 (nz1 = x = 0), a n a n 0 deci o tranzitie incorect starea q0 , care este o stare legal a automatului dar a n a pentru care nu exist nici o linie de tranzitie, din L 0 L0 . a n 4. Pentru cuvntul 110 a nscris registrul de stare: s-a realizat o comutatie corect n a celula z2 = 1 dar o comutatie incorect celula z1 = 1 (nz1 = x = 0), deci n a n 0 o tranzitie incorect a ntr-o stare care nici nu este legal pentru automat. a concluzie, o codicare cu variatie minim nu poate atenua efectele produse de In a modicarea unei variabile asincrone intervalul centrat pe un front al semnalului n de ceas. Codicarea strilor cu dependenta redus fata de o intrare asicron poate atenua a a a inuenta pe care o are aceasta asupra comutatiei strii automatului. Figura 3.31-b a In s-a realizat segmentul de organigram ASM , analizat anterior, dar de data aceasta a printr-o codicare cu dependenta redus fata de variabila asicron x . Evident, nu se a a 0 poate realiza simultan o codicare cu dependenta redus dup dou variabile testate, a a a adic att dup x1 ct i dup x (vezi sectiunea 3.25). Pentru x1 = 0 rezult a a a a s a 0 a tranzitiile la strile q3 i q4 ale cror cuvinte de cod se pot exprima prin expresia a s a (x1 x )(x1 )(1) = x 11, deci numai un singur bit nz2 = x este dependent de valoarea 0 0 0 variabilei asincrone testate. Considernd ca anterior, variatia variabilei x de la 0 la a 0 1, rezult c pot a a nscrise registrul de stare urmtoarele dou cuvinte de cod 011 n a a i 111. Cnd se s a nscrie 111 este o tranzitie la starea q 3 pe o cale de tranzitie corect a (L3 ), iar cnd se a nscrie 011 este o tranzitie la q 4 pe o cale de tranzitie incorect, a L4 (dar nu ca cazul codicrii cu variatie minim cnd apreau ci de tranzitie n a a a a a inexistente sau chiar stri ilegale). Evident, tranzitia la q 4 este incorect dar care are a a consecinte atenuante. Dac tranzitia a fost greit la q 4 i dac pn la urmtorul a s a s a a a a impuls de clock (i+2)T intrarea x revine la valoarea 0, se consider c a fost un spike a a 0 aceast intrare, tranzitia a fost corect (neglijnd spike-ul). Dar dac variabila x n a a a a 0 se mentine la valoarea 1 acum se testeaz aceast valoare blocul de stare al lui q 4 a a n deci evenimentul pe intrare a fost sesizat cu o arziere de un tact. Uneori, se poate nt realiza achizitia semnalelor de intrare at acestea s nu se modice la intervale de nc a timp mai scurte dect dou perioade ale impulsului de ceas. a a Dar dac a ntr-un bloc de stare se testeaz dou sau mai multe variabile asincrone a a cum se pot atenua efectele modicrii simultane a acestor variabile asupra ambia guitii care poate aprea la at a nscrierea cuvntului de stare urmtoare? Pentru aceste a a cazuri, deoarece nu se poate realiza o codicare cu dependenta redus simultan dup a a dou sau mai multe variabile de intrare testate acelai bloc de stare, solutia este a n s introducerea de stri suplimentare i testarea a s ntr-un bloc de stare doar a unei singure variabile asincrone. Figura 3.31-c se testeaz blocul de stare q 0 dou variabile In a n a de intrare asincrone x i x . Prin introducerea strii suplimentare q5 se transfer a a 2 s 0 a testarea variabilei asincrone x blocul de stare corespunztor lui q5 . Trebuie anal0 n izat ce ieire se va genera blocul de stare q 5 pentru ca s nu se modice functionarea s n a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

375

automatului(de dorit s se genereze aceeai ieire ca i blocul de stare q 0 ). Apare a s s s n a doua ntrebare referitoare la existenta mai multor variabile asincrone testate, prin secventializarea lor blocuri de stare succesive nu este pierdut semnicatia lor? n a Rspunsul este negativ deoarece variabilele asincrone nu sunt percepute automat, a n prin testare, ca formnd un cuvnt de cod ci numai ca semnale cu interpretare indea a pendent (fr o corelare intre ele). a aa Codicarea cu dependenta redus, pentru evitarea ambiguitii tranzitiei strilor, a at a procesul de sintez a automatului se va reecta n a ntr-o anumit structur obtinut a a a pentru circuitul combinational CLC1, Figura 3.25, care calculeaz functiile de exci a tatie. Dar aspecte de functionare incorect pot apare nu numai pentru calculul strii a a urmtoare ci i pentru calculul ieirilor care se realizeaz cu partea combinational a s s a a notat prin CLC2 pe Figura 3.25. a Pentru un automat Mealy imediat, Figura 3.25, 3.8-a, chiar i cnd intrrile sunt s a a sincrone, se obtin aproape totdeauna ieiri care sunt arcate cu hazard. La ieirea s nc s circuitului CLC2, realizat pe dou niveluri logice, nu se produc semnale arcate a nc cu hazard numai dac conguratia de intrare se modic cel mult un bit. Dar a n a conguratia de intrare este denit pe produsul cartezian X Q ceea ce a nseamn c, a a uzual, se modic doi biti unul pe intrare i unul cuvntul de stare. Dac exist i a s n a a as intrare de tip asincron variatiile acesteia se transmit direct ieiri ce pot arcate n s nc cu hazard pe durata tranzitorie. Functionarea incorect a automatului Mealy imediat a poate evitat dac acesta este transformat a a ntr-un automat Mealy cu arziere, nt Figura 3.8-b. Deoarece la automatul Mealy cu arziere ieirile sunt disponibile (dup nt s a nscrierea registrul de ieire R2 cnd s-a consumat regimul tranzitoriu) numai la n s a urmatorul impuls de clock; trebuie inut cont c efectul unei intrri se manifest la t a a a ieire cu o arziere de un tact. Dar dac exist o intrare asincron aspectul de s nt a a a ambiguitate discutat anterior,la nscrierea bitilor registrul de stare, apare i aici la n s nscrierea(memorarea) ieirilor registrul de ieire R 2 . Aceast ambiguitate apare s n s a atunci cnd intrarea asincron are o modicare intervalul interzis al impulsului a a n de ceas aplicat registrului de ieire R2 . concluzie pentru un automat Mealy cu s In arziere i cu cel putin o intrare asincron nu sunt garantate semnale de ieire nt s a s corecte. Ambiguitatea pe ieire la un Mealy cu arziere, determinat de intrri s nt a a asincrone, poate eliminat dac automatul este transformat a a ntr-un automat Moore imediat echivalent. Automatul Moore imediat, Figura 3.8-c, genereaz, la fel ca i Mealy cu arziere, a s nt ieiri care sunt dependente de intrarea aplicat tactul anterior. Intrrile asincrone s a n a la automatul Mealy imediat nu genereaz ambiguitate pe ieiri deoarece acestea nu a s sunt cuplate direct cu intrrile, modicarea intrrilor se transmite la ieire prin intera a s mediul strii automatului. Dar automatul Moore imediat poate genera ieiri arcate a s nc cu hazard. Hazardul se datoreaz circuitului combinational CLC2 de pe ieire, ce a s produce hazard atunci cnd conguratia sa de intrare, care este cuvntul de stare a n a prezenta, se modic mai mult de un bit. Se poate elimina hazardul din ieire prin a s dou modaliti de implementare. Prima, se elimin circuitul CLC2, adic ieirile a at a a s sunt identice cu starea Y Q (caz uzual la circuitele numrtor). A doua modaliaa tate const transformarea automatului Moore imediat a n ntr-un automat Moore cu arziere, Figura 3.8-d. Dar la automatul Moore cu arziere efectul modicrii nt nt a intrrii se manifest la ieire cu o arziere de dou tacturi. a a s nt a

376

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

3.2.6

Proiectarea automatelor sincrone

Denirea unui automat cu s stri necesit descrierea functionrii automatului a a a n raport cu ecare din aceste stri, deci, evident, complexitatea automatului C automat a dimensiunea denitiei - are ordinul de mrime C automat O(s). Pentru un automat cu a s stri cea mai mic valoare a numrului de intrri secundare este egal k = log 2 s . a a a a a Pentru n intrri principale dimensiunea circuitelor CLC1 i CLC2, din Figura 3.25, a s depinde de numrul total de intrri n + k. Neglijnd numrul de intrri principale, a a a a a (n = 0), cazul general dimensiunea circuitelor combinationale ale automatului sunt n proportionale cu 2k (dar s = 2k ) deci Cautomat (2k ). concluzie, rezult c In a a pentru un automat complexitatea sa este acelai ordin de mrime cu dimensiunea n s a circuitului combinational asociat. Aceast concluzie sugereaz faptul c proiectarea a a a unui automat de complexitate redus implic realizarea unei structuri reduse de circuit a a combinational. Reducerea dimensiunii prtii combinationale a unui automat, ce face parte dintra un sistem digital, directioneaz proiectarea spre divizarea a ntr-o cale de date i o cale s de control (automat de control). Dar chiar i prin aceast reducere poate rezulta pens a tru un automat de control, sau pentru automatele functionale - care implementeaz a diferite functii, de o complexitate destul de ridicat. Solutia pentru reducerea acestei a complexiti este partajarea mai multe automate de complexitate mai redus i at n a s apoi interconectarea acestora, Figura 3.20 i 3.21 s proiectarea unui automat sincron se parcurg urmtoarele etape: In a 1. Descrierea functionrii automatului. Aceast descriere poate a unui automat a a complex dar care prin partajare duce la mai multe automate ecare denit apoi separat sau poate descrierea unui automat autonom. Descrierea poate direct sub forma unei organigrame ASM , a unui graf de tranzitie al strilor/ieirilor a s sau se transpune sub una din aceste forme dintr-o descriere verbal. a 2. Construirea tabelului de tranzitie al strilor/ieirilor i reducerea strilor redun a s s a dante. 3. Codicarea strilor i construirea tabelului de tranzitie asignat pentru stri i a s a s ieiri. s 4. Sinteza functiilor de excitatie (starea urmtoare) i a ieirilor. a s s 5. Implementarea, ntr-o anumit tehnologie, i apoi testarea. a s 6. Elaborarea documentatiei. Operatiile cuprinse aceste etape au fost prezentate sectiunile anterioare acum n n vor reluate cadrul unui exemplu: n Exemplul 3.12 S se realizeze sinteza automatului sincron descris prin organigrama a ASM din Figura 3.32-a. Solutie. Automatul prezint trei intrri x2 , x1 , x0 i cinci ieiri y1 , y2 L , y4 ieiri imediate a a s s s conditionate(de tip Mealy) i y3 , y5 ieiri imediate dependente de stare(de tip Moore). Codul s s celor cinci stari q0 q5 rezult prin plasarea acestora pe o diagrama V-K, Figura 3.32-b. a Se descompune diagrama ASM 6 blocuri de stare B0 B5 care se identic 11 ci n n a a de tranzitie L1 L11 . Figura 3.32-c se calculeaz valoarea locusului strilor, care este In a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

377

q0

y1 F

z2 z1 z0 0 0 0

z2

z1z0 0

00

01
L3

11
L7

10
L2 q1

L11 q0 L10 q5 L9

q2

q4 L5
L8

x2

A b) y2_L 010
q1

q3

L4

F x 1 A 001
q2

Biti Bloc,Cale,Tranzitie modificati Tranzitie

y1,y3 F x 2 A

A x 0
q3

B0,L1 :q0 B0,L2 :q0 B0,L3 :q0

q0 q1 q2 q3 q4 q0 q4 q4 q5 q0 q0

0 bit 1 bit 1 bit

x2x1 x2 x2x1

Cod stare

z2z1z0 z2z1z0 z2z1z0 z2z1z0 z2z1z0 z2z1z0

y4

F 110 y5 F x 1 A y1

B1,L4 :q1 B1,L5 :q1 B2,L6 :q2 B2,L7 :q2 B3,L8 :q3 B3,L9 :q3 B4,L10 :q4 B4,L11 :q5 c)

1 bit 1 bit 1 bit 1 bit 2 biti 1 bit 2 biti 1 bit 12 biti

x0 x0 x2 x2 x1 x1

q4

y4,y5
q5

100 y3,y2_L x2

x2x1x0 x0 x0 z2z1z0 000 001 011 010 110 111 101 100 000 B0 B0 B0 B0 B0 B0 B0 B0 z0 001 B2 B2 B2 B2 B2 B2 B2 B2 011 B4 B4 B4 B4 B4 B4 B4 B4 010 B1 B1 B1 B1 B1 B1 B1 B1 110 B3 B3 B3 B3 B3 B3 B3 B3 z2 z0 111 101 100 B5 B5 B5 B5 B5 B5 B5 B5 d) x1 x1

a)

x2 x2x1x0 x0 x0 z2z1z0 000 001 011 010 110 111 101 100 000 L1 L1 L3 L3 L2 L2 L2 L2 z0 z1 z1 z2 001 L6 L6 L6 L6 L7 L7 L7 L7 011 L10 L10 L10 L10 L10 L10 L10 L10 010 L4 111 101 100 L11 L11 L11 L11 L11 L11 L11 L11 e) x1 x1 L5 L5 L4 L4 L5 L5 L4 110 L8 L8 L9 L9 L9 L 9 L8 L8 z0 z1 z1

Figura 3.32 Exemplu de extragere dintr-o organigrama ASM (a) a blocurilor de stare, a cilor de tranzitie cu expresiile logice corespunztoare (c) i plasarea a a s strilor pe o diagram V-K (b) pentru obtinerea unui minim pentru locusul strilor. a a a Contributia blocurilor de stare (d) i a cilor de tranzitie (e) la descrierea automatului. s a

378

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE

egal cu 12, i pentru ecare cale de tranzitie i pentru ecare stare este prezentat expresia a s s a logic. Apoi, pentru o sistematizare i explicitare a procesului de sintez Figura 3.32-d a s a n i Figura 3.32-c sunt prezentate respectiv contributiile blocurilor i cilor de tranzitie la s s a descrierea automatului. Tabelul de tranzitie al strilor/ieirilor (de tip Mealy) cu 6 stri i a s a s 3 intrri ar cuprinde 6 23 = 48 de elemente. Dar pentru c nu exist tranzitii a a a ntre stri a pentru toate conguratiile de intrare posibile, tabelul de tranzitie (complet) se va substitui cu o forma simplicat de tabel care cuprinde 11 linii, cte una pentru ecare cale de tranzitie, a a i dou coloane (una pentru starea prezent i alta pentru starea urmtoare, similar se va s a as a realiza un tabel i pentru ieiri). Tabelele se vor construi sub form simbolic i apoi sub s s a a s form asignat. a a Tabelul de tranzitie al strilor sub form simbolica i asignat este prezentat a a s a n Figura 3.33-a. Pentru ieiri se disting dou tabele unul pentru ieiri dependente numai de s a s stare (de tip Moore) i unul pentru ieiri conditionate (de tip Mealy). Tabelul pentru ieirile s s s de tip Moore y3 , y5 , Figura 3.33-b, cuprinde doar strile i valorile corespunztoare ale a s a ieirilor. schimb, tabelul pentru ieirile de tip Mealy, Figura 3.33-c, este construit, ca s In s i cel al strilor, pentru toate cile de tranzitie i strile respective. Dar ieirile conditionate s a a s a s y1 , y2 L , y1 , gurate simbolurile de ieiri conditionate, sunt prezente i simbolurile de n s s n n s n s a ntr-o stare, poate stare: y1 q0 i q2 , y2 L q5 i y4 q4 . O ieire de tip Moore, gurat n s convertit formal a ntr-o ieire conditionat dac acea ieire este introdus pe ecare cale s a a s a de tranzitie care pornete din acea stare. Procednd acest fel ieirile y1 , y2 L i y4 vor s a n s s tratate ca ind active pe toate cile de tranzitie care pornesc respectiv din blocurile de stare a B0 , B2 , B5 i B4 , consecinta se introduc tabel pe toate aceste ci. Deci, pentru sintez, s n n a a aceste ieiri nu mai sunt reprezentate i de tip Mealy i de tip Moore, ci numai de tip Mealy. s s s Concentrnd acelai tabel att tranzitia strilor ct i ieirile conditionate i de stare se a n s a a a s s s obtine forma reprezentat Figura 3.34. Utiliznd valorile din acest tabel, transcrise pe a n a diagrama V-K, se pot deduce expresiile pentru ieiri i pentru functiile de excitatie (bitii s s strii urmatoare). a Pentru ieirile dependente de stare y3 i y5 expresiile logice se obtin dintr-un tabel V-K, s s cu opt csute, de variabile z2 , z1 i z0 . a s y3 = z1 (z2 + z0 ) y5 = z1 (z2 + z0 ) s Functiile de excitatie w2 , w1 , w0 i ieirile conditionate y4 , y2 L , y1 sunt dependente de ase s s variabile, x2 , x1 , x0 , z2 , z1 , z0 deci se obtin din tabele V-K cu 64 csute. Deoarece acestea au a fost explicitate doar functie de 11 ci de tranzitie expresiile lor se pot deduce mai uor ca n a s sum logic numai de acele ci pentru care au valoarea 1, iar pentru minimizare se utilizeaz a a a a diagrama V-K din Figura 3.32-e unde s-au mapat deja contributiile ecrei ci de tranzitie. a a Se obtin urmtoarele expresii: a w 2 = L 4 + L 9 = z 2 z1 z0 x 0 + z 2 z1 x 1 w 1 = L 2 + L 4 + L 5 + L 7 + L 8 = z 2 z1 x 2 + z 2 z1 z0 + z 2 z1 x 1 w 0 = L 3 + L 6 + L 7 + L 8 = z 2 z1 z0 x 2 x 1 + z 2 z1 z0 + z 2 z1 x 1 y4 = L5 + L7 + L10 = z2 z1 x0 + z1 z0 x2 + z1 z0 y2 L = L1 + L3 + L4 + L5 + L6 + L7 + L8 + L9 + L11 = L2 + L10 = z2 z1 z0 x2 + z1 z0 y 1 = L 1 + L 2 + L 3 + L 6 + L 7 + L 9 = z 2 z1 + z 2 z1 x 1 acelai mod se pot deduce i expresiile pentru y3 i y5 In s s s y3 = L6 + L7 + L11 = z1 z0 + z2 z1 = z1 (z2 + z0 ) y5 = L8 + L9 + L1 0 = z2 z1 + z1 z0 = z1 (z2 + z0 )

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


Reprezentare simbolica Intrari x2 F A F x1 F A F A F A F A x0 Bloc Starea cale de Prezenta Urmat. tranzitie q0 q0 q0 q1 q1 q2 q2 q3 q3 q4 q5 q0 q1 q2 q3 q3 q0 q4 q4 q5 q0 q0 B0,L1 B0,L2 B0,L3 B1,L4 B1,L5 B2,L6 B2,L7 B3,L8 B3,L9 B4,L10 B5,L11 x2 0 1 0 Intrari x1 x0 0 1 0 1 0 1 0 1 Reprezentare asignata z2 0 0 0 0 0 0 0 1 1 0 1 Starea prezenta z1 z0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 Starea urmatoare w2 w1 w0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0

379

a) Iesiri de stare (Moore) Reprezentare simbolica Stare prezenta q0 q1 q2 q3 q4 q5 Bloc B0 B1 B2 B3 B4 B5 Reprezentare asignata Starea prezenta z1 z0 0 1 0 1 1 0 0 0 1 0 1 0 Iesiri y3 0 0 1 0 0 1 y5 0 0 0 1 1 0

y3

y5

z2 0 0 0 1 0 1 Iesiri conditionate (Mealy)

A A

b)

Reprezentare simbolica x2 F A F Intareri Starea Iesiri x1 x0 prezenta y4 y21 y1 F A F A F A F A q0 q0 q0 q1 q1 q2 q2 q3 q3 q4 q5 A A A A Bloc de stare tranz. B0,L1 B0,L2 B0,L3 B1,L4 B1,L5 B2,L6 B2,L7 B3,L8 B3,L9 B4,L10 B5,L11 x2 0 1 0

Reprezentare asignata Intrari Starea prezenta Iesiri x1 x0 z2 z1 z0 y4 y21 y1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 0 0

A A A A A A

c)

Figura 3.33 Tabelele de tranzitie reprezentare simbolic i asignat pen n as a tru stri (a) pentru ieirile dependente doar de stare (b) i pentru ieirile a s s s conditionate (c)

380

3.2. CIRCUITE LOGICE SECVENTIALE SINCRONE


Iesiri conditionate dependente de stare y3 y5 y4 y21 y1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 0

calea Intrari Starea Starea prezenta urmatoare de tranz. x2 x1 x0 simbolz2 z1 z0 simbolw2 w1 w0 L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 0 1 0 0 1 0 1 0 1 0 1 q0 q0 q0 q1 q1 q2 q2 q3 q3 q4 q5 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 q0 q1 q2 q3 q4 q0 q4 q4 q5 q0 q0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0

Figura 3.34 Tabelul combinat pentru stri, ieiri dependente de stare i a s s ieiri conditionate. s
Aceste expresii pot implementate prin oricare din variantele de realizare a unui circuit logic combinational: porti logice, DMUX+nivel exterior de SAU adugat, MUX, circuite a ROM sau circuite PLA. Organizarea automatului, care s-au separat circuitele pentru: n calculul functiei de tranzitie CLC1, pentru calculul ieirilor de tip Mealy CLC2 i pentru s s calculul ieirilor de tip Moore, este prezentat Figura 3.35-a. Expresiile obtinute anterior s a n prin minimizare necesit total realizarea a 16 produse logice distincte de dou pn la cinci a n a a a variabile, dar numai trei produse logice din cele 19 sunt utilizabile de dou ori (z2 z1 x1 , z2 z1 x1 a i z1 z0 ). s Implementarea automatului pe o matrice PLA, reprezentat generic Figura 3.35-b, a n poate realizat, mai simplu, fr minimizarea expresiilor logice. aceast implementare a a a In a ecare poart AND realizeaz un termen produs logic dintre expresia logic a unei ci de a a a a tranzitie i expresia logic a cuvntului de cod al strii din care pornete calea de tranzitie s a a a s respectiv, Figura 3.32-c. De exemplu, blocul de stare B2 expresia cii de tranzitie L7 a n a este x iar expresia cuvntului de stare este z2 z1 z0 , deci pe coloana notat cu L7 din matricea a a programabil AND a circuitului PLA se programeaz produsul logic xz2 z1 z0 . Procednd a a a n acest mod, fr a mai necesar minimizarea expresiilor, pentru cile de tranzitie L 1 L11 a a a a sunt necesare 11 porti AND din circuitul PLA fata de 16 porti AND cnd pentru sintez s-a a a s utilizat minimizarea expresiilor pe diagrame V-K. Dar, att ieirile de tip Mealy (y 1 , y2 L i a s y4 ) ct i cele de tip Moore (y3 i y5 ) ind imediate sufer de inconvenientul acestor automate a s s a cu ieiri imediate adic, sunt afectate de hazard. Hazardul se produce cnd cel putin dou s a a a variabile de intrare CLC2 sau CLC3 se modic. De exemplu, pe calea de tranzitie n n a L10 , cnd starea comut de la 011 la 000, dac prin celula de registru de stare z1 comutatia a a a de la 1 la 0 se propag mai repede dect comutatia de la 1 la 0 prin celula z0 atunci pe a a ieirea y3 , prin termenul z1 z0 , se genereaz un glitch 1. Solutia pentru eliminarea hazardului s a pe ieiri este cea general - ieirile s e convertite din ieiri imediate ieiri arziate prin s a s a s n s nt introducerea de registre pe ieire. s

Prezentarea pn acum a automatelor a fost lipsit de explicatiile necesare rea a a alizrii registrelor de stare i de ieire precum i a celulelor acestora. Acestea vor a s s s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

381

y3 CLC3

x2 x1 x0

. .. . .. .. .... ..
L2

y5 y1

CLC2 w2 CLC1 z2 z1 z0 Registru w1 w2

y2_L y4

a) L1

x2 x1 x0 z0 z1 z2

. . . . .

CLK

. . . .

L3

. . . . .

L4

L5

. . . .

. . . .

L6

..... . . . ... . .
z2 z1 z0 b) CLK

. . . . . . . .

L7

. . . . . . . . . .

L8

. . . .

L9

Registru

. . . ... . ... . ..
w2 w1 w0

. . . .

L10 L11

. . . . .

y3 y5 y1 y2_L y4 w0 w1 w2

Figura 3.35 Explicativ pentru Exemplul 3.12 a) structurarea pe subcircuite a a automatului; b) implementarea(fr minimizare) a automatului aa

382

3.3. CIRCUITE BASCULANTE

claricate cadrul sectiunilor urmtoare de bistabile i de registre. n a s Si capitolul de CLS, similar ca capitolul de CLC, s-a pornit cu prezentarea n n notiunilor fundamentale de organizare i functionare a circuitului logic secvential, s s-au expus modaliti de exprimare pentru functia de tranzitie g i de transfer f , at s trecnd apoi la descrierea unei metode prin care se poate face sinteza unui circuit a logic secvential (automat)). Evident, cu aceste cunotine i instrumente se poate s s s proiecta un CLS. Dar, aa cum s-a armat, dac sistemul este de complexitate ridicat s a a acesta se va partaja automate de complexitate mai redus. general, se caut s n a In a a rezulte prin partajare automate componente de larg utilitate care sunt nite circuite, a s de facto, standard. Aceste circuite de facto standard exist deja implementate i a s obtenabile comercial, sarcina proiectantului reducndu-se la a selecta circuitul i a-i a s folosi optim toate facilitile sistem mai complex care introduce. continuare, at n n l In subcapitolele care urmeaz, se vor prezenta unele din aceste circuite secventiale cu n a aplicabilitate foarte extins sistemele digitale. a n

3.3

CIRCUITE BASCULANTE

Structurarea cea mai simpl pentru un circuit secvential asincron din Figura 3.1 a se obtine cnd partea combinational se reduce doar la un singur inversor. Un astfel a a de circuit, care a fost descris Figura 3.3-a din Exemplul 3.2, nu prezint nici o stare n a stabil, deci este un oscilator. Acest circuit va prezenta dou stri stabile dac partea a a a a combinational va compus din dou inversoare (sau un numr par de inversoare) a a a a nseriate, Figura 3.4-b, din acelai exemplu. Dar, acest circuit cu dou inversoare s a poate privit ca un circuit cu un singur inversor a crui reactie se realizeaz prin a a cellalt inversor, deci ecare inversor are o reactie - ieirea este adus la intrare - prin a s a cellalt inversor. Circuitul astfel rezultat, cu dou reactii - cte una pentru ecare a a a inversor, constituie celula pe care se bazeaz a ntreaga clas de cicuite basculante. Se a pot diferentia aceste circuite basculante functie de modul de realizare, curent n n continuu sau curent alternativ, a celor dou conexiuni de reactie. Conform acestei n a diferentieri rezult urmtoarele tipuri de cicuite basculante: a a 1. Circuitele basculante bistabile, care reduse la celula de baz, prezint pena a tru cele dou conexiuni de reactie legturi galvanice simetrice. Acestea sunt a a circuitele latch i circuitele basculante bistabile (triggere) care reals izeaz suportul zic pentru functia de memorare a unui bit. Exist i o variant a as a care cele dou legturi galvanice de reactie nu mai sunt simetrice, aceast n a a a variant cunoscut sub denumirea de trigger Schmitt i a crei utilizare este a a s a de circuit discrimitator de nivel(releu de amplitudine). 2. Circuitul basculant monostabil, care prezint o conexiune de reactie a n curent continuu iar cealalt curent alternativ (conexiune prin condensator). a n Aceast neidentitate a celor dou conexiuni de reactie determin ca cicuitul a a a s aib o stare stabil (monostabil) iar cealalt stare instabil. Utilitatea a a a a a monostabilului este aplicatii de generare de intervale de timp(releu de timp). 3. Circuitul basculant astabil, care prezint ambele conexiuni de reactie a n curent alternativ (conexiuni prin condensator). Cele dou conexiuni ind active a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

383

doar la variatii imprim cicuitului o functionare de oscilator, deci nici o stare i a stabil (astabil). a Prezenta cuvntului basculant denumirea acestor circuite semnic faptul c a n a a trecerea ntre cele dou stri se face prin basculare. Comutarea ieirii la un CLC a a s se poate produce la modicarea valorii unei variabile de intrare, iar ieirea calculat s a este mentinut la nivelul logic respectiv doar att timp ct este aplicat valoarea a a a a variabilei de intrare. Bascularea este tot un proces de comutare a ieirii, initiat de s a o modicare a valorii unei variabile de intrare, dar ieirea este mentinut la nivelul s a logic respectiv chiar dac dup un interval de timp nu mai rmne aplicat valoarea a a a a a variabilei de intrare. Rezult c bascularea este o comutatie care trebuie doar initiat, a a a dup care se autocomand, acest efect de automentinere este o consecinta a reactiei a a (pozitive) din structura circuitului. Un efect similar apare la comanda dispozitivului tiristor, unde este sucient amorsarea pentru ca apoi printr-o reactie pozitiv, a a n interiorul dispozitivului, s se mentin starea de conductie. Dei din punct de vedere a a s fenomenologic exist deosebire a ntre comutatie i basculare exprimarea curent la s n a circuitele basculante este foarte uzual s se substituie exprimarea corect circuitul a a basculeaz cu exprimarea uzual circuitul comut. a a a

3.3.1

Circuitul latch

Circuitul secvential asincron din Figura 3.36-a, identic cu cel din Figura 3.4-b de la Exemplul 3.2, unde s-a demonstrat c prezint dou stri stabile, poate redesenat a a a a sub o form mult mai uzual, pentru analiz, ca Figura 3.36-b. aceast form se a a a n In a a scot evidenta conexiunile de reactie realizate n ncruciat, de la ieirea inversorului 1 la s s intrarea inversorului 2, Vin2 = V01 , i de la ieirea inversorului 2 la intrarea inversorului s s 1, Vin1 = V02 . O implementare a acestei organizri poate cu inversoare CMOS ca a Figura 3.36-c (unde prin linie n ntrerupt s-au identicat cele dou inversoare). a a Considernd caracteristica static de transfer V 0 = f (Vin ) a unui inversor, cu a a reprezentarea din Figura 1.14-b, prin conectarea ncruciat a acestuia cu un al doilea s a inversor identic, pentru semnalul de intrare V in1 , se obtine Vin1 = V02 = f (Vin2 ) = f (V01 ) = f (f (Vin1 )). Aceasta nseamn c semnalul de intrare V in1 dup o inversare a a a (1800 ) pe primul inversor, V01 = f (Vin1 ), i dup a o inversare (1800 ) pe al doilea s a nc inversor, V02 = f (V01 ), se aplic faz peste Vin1 , arindu-l. La fel se poate deduce a n a nt Vin2 = f (f (Vin2 )). Deoarece ntre ieirile celor dou inversoare exist un decalaj de 180 0 a semnalelor s a a evident c ieirea unui inversor este nivelul H i se noteaz prin Q, iar ieirea a s n s a s celuilalt inversor va nivelul L i se noteaz prin Q, Q N sau Q L. La conectarea n s a tensiunii de alimentare, printr-un fenomen de concurs, deoarece practic cele dou a inversoare nu pot avea timpi de propagare identici, una din ieiri va fortat s a n H iar cealalt L. Punctul de functionare al circuitului se obtine la intersectia a n caracteristicilor statice de transfer ale celor dou inversoare. Cele dou caracteristici a a statice sunt trasate Figura 3.36-d care pentru inversorul 1 pe abscis este xat n n a a Vin1 iar pe ordonat V01 , iar pentru inversorul 2, deoarece Vin2 = V01 i V02 = Vin1 , a s tensiunea de ieire V02 este xat pe abscis i Vin2 pe ordonat. Se observ c se s a as a a a obtin trei puncte de functionare, dou puncte stabile S 1 , S2 i un punct instabil M . a s Punctele S1 i S2 , unul din acestea ajungnd prin concurs la conectarea tensius n a nii, sunt puncte stabile pentru c ecare din acestea amplicarea total A = A 1 A2 a n a

384

3.3. CIRCUITE BASCULANTE

Vin1

Vo1 Q

Vin2 Q

V02 1 T2 Vin1 QN V o1 T1

V DD

a) Vin1 Vo1 b) Inscriere S (set) inactiv activ inactiv activ f) Stergere R (reset) inactiv inactiv activ activ
1 2

Vin2 V02

T4
02 .Vin2 Q

QN

Vo1= Vin2 S1

A=0 (stabil) A>>1 (metastabil) M 1 2 Q Vin1=Vo2 S2 A=0 (stabil)

T3

QN

c) Q FM 1 0 ND e) Iesire QN FM 0 1

d)

S1 Q=0 "0" QN=1

S2 Q=1 "1" QN=0

Figura 3.36 Celula elementar pentru circuitele bistabile: a,b) circuitul a dublu inversor cu conexiuni de reactie ncruciate; c) implementare cu invers soare CMOS; d) determinarea punctelor de functionare prin intersectia caracteris ticilor statice(S1 , S2 -stabile, M-instabil); e) analogie mecanic pentru punctele de a functionare stabile; f) tabelul caracteristic pentru comanda celulei elementare.

pe bucla format din cele dou amplicatoare inversoare este nul deoarece a a a A = dV01 /dVin1 = 0, A2 = dV01 /dVin2 = 0. Unul din puncte, prin conventie, poate ,, ,, considerat c reprezint starea 1 a circuitului Q = 1, QN = 0 iar cellalt starea 0 a a a a circuitului Q = 0, QN = 1. Al treilea punct de intersectie M , care apare zona liniar a caracteristicilor n a statice, zon interzis pentru functionarea digital, vezi Figura 1.14-a, este denumit a a n punct de metastabilitate i are valorile pentru coordonatele V in i V0 situate s s n afara nivelurilor logice H i L, deci este fr utilitate aplicatiile digitale. Teoretic, s aa n circuitul poate sta un timp indenit punctul M dar, practic, dup un anumit timp, n a determinat de variatii de tensiune ampltoare, iese din M deplasndu-se spre S 1 nt a a sau S2 . zona punctului M coecientul de amplicare total pe bucl are o valoare In a mare deoarece att A1 a 1 ct i A2 a s 1; de exemplu, pentru circuitul din Figura 3.36-c toate patru tranzistoare sunt regim de conductie determinnd o pant foarte n a a abrupt pentru caracteristica static a ecrui amplicator inversor. Dac circuitul se a a a a a punctul de metastabilitate i ampltor apare un mic zgomot care micoreaz a n s nt a s a valoarea lui Vin1 , aceast variatie Vin1 propagat succesiv bucla a a n ncruciat prin s a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

385

V01 , Vin2 i V02 , pentru c bucla are o amplicare mare, ajunge s produc o s a a a variatie important asupra lui Vin1 sensul care a produs-o zgomotul initial. Apoi, a n n din nou, variatia propagat succesiv prin bucl va duce la o i mai pronuntat scdere a a s a a a lui Vin , i tot aa repetat bucl pn cnd V in1 scade la nivelul L iar punctul de s s n a a a a functionare ajunge S1 . Aceast deplasare din M spre S1 este gurat prin traseul n a a zig-zag n ntre caracteristica inversorului 1 i a inversorului 2. s O analogie mecanic pentru cele trei puncte de functionare ale cicuitului este a reprezentat Figura 3.36-e. Bila (punctul de functionare al cicuitului!) poate a n stationa pe un plan orizontal pozitiile S 1 sau S2 (puncte stabile) n ntre care exist a ,, un deal pe al crui vrf bila se poate sprijini doar a a ntr-un singur punct (punctul de metastabilitate). Cnd bila se a vrf foarte uor oricare adiere de vnt va a a n a s a ,, sua bila e nspre S1 sau S2 . Cnd bila se a S1 sau S2 cu o forta (semnal) a a n puternic se poate trece peste deal pozitia opus S 2 sau S1 . Critic apare situatia a n a a (de nedeterminare, ND) cnd bila se a S1 sau S2 iar o forta de valoare mai a a n redus aplicat asupra ei poate s o deplaseze a a a nspre vrful dealului, de unde revine a pozitia initial sau reuete s o deplaseze chiar pn vrf unde stationeaz i n a s s a a a n a as de unde dup un timp nedenit poate reveni pozitia stabil initial sau poate trece a n a a cealalt pozite stabil. n a a Starea de metastabilitate poate apare la aplicarea tensiunii de alimentare sau la o comand de trecere a ntre cele dou pozitii stabile, de la 1 la 0 sau de la 0 a la 1 logic, dar semnalul de comand este insucient (nu are amplitudinea necesar a a sau are amplitudinea necesar dar durata de aplicare este prea scurt). Starea de a a metastabilitate (punctul de functionare M) trebuie evitat circuitele digitale n a n deoarece genereaz niveluri de tensiune afara celor de 1 logic sau 0 logic i, plus, a n s n din starea de metastabilitate nu se poate determina care stare urmtoare trece n a circuitul cea de 0 sau cea de 1 logic. Circuitul format din cele dou inversoare n n a cu conexiuni ncruciate, care este celula de baz pentru circuitele basculante, s a n structura prezentat pn acum, nu poate comandat (se xeaz a a a a ntr-o stare la conectarea tensiunii). Pentru a comandat trebuie s i se adauge intrri de comanda. a a Intrrile de comand sunt: 1 - intrarea de a a nscriere, notat cu S (Set), care prin a activare va nscrie ieirea starea logic 1, Q = 1, Q N = 0, 2 - intrarea de s n a tergere, notat cu R (Reset), care prin activare va s a nscrie ieirea starea logic s n a 0, Q = 0, QN = 1. Evident, cu cele dou intrri se pot realiza patru comenzi de a a intrare, Figura 3.36-f: 1. Nu se activeaz nici una din intrri, S=inactiv, R=inactiv ceea ce corespunde a a unei comenzi de tipul nici o operatie NOP (No OPeration) adic ieirea cir a s cuitului rmne fr modicri, FM; a a aa a 2. Se activeaz doar a nscrierea S=activ, R=inactiv, ieirea se s nscrie starea n logic 1, Q = 1, QN = 0; a 3. Se activeaz doar tergerea S=inactiv, R=activ, ieirea se a s s nscrie starea n logica 0, Q = 0, QN = 1; 4. Se activeaz simultan att a a nscrierea S=activ, ct i tergerea R=activ. Aceasta a s s este o comand absurd! deoarece i se cere circuitului s treac simultan att a a a a a n starea 1 (Q = 1, QN = 0) ct i starea 0 (Q = 0, QN = 1), starea circuitului a s n

386

3.3. CIRCUITE BASCULANTE

este nedeterminat , ND. Aceast comand de a a a nscriere i tergere simultan s s a este evitat circuitele digitale. a n Conform clasicrii circuitelor pe baza buclelor de reactie incluse una alta, a n prezentate sectiunea 3.3, circuitul latch care contine o singur bucl de reactie este n a a un circuit de ordinul 1, SO-1. 3.3.1.1 Latch-ul SR

La circuitul latch din Figura 3.36-b se pot aduga cele dou intrri de date S ( a a a nscriere) i R (tergere) dac inversoarele sunt realizate cu porti NOR, Figura 3.37-a, s s a sau cu porti NAND, Figura 3.38-a. Pentru structura obtinut, latch SR, la activarea a (se consider conventia de logic pozitiv) unei intrri S sau R se obtine ieirea in a a a a s stare H dar nu la poarta NOR la care s-a aplicat intrarea activat ci la cealalt poart a a a NOR (ieirea unei porti NOR este totdeauna L atunci cnd una sau mai multe intrri s a a sunt H). Dac intrarea de a nscriere devine activ, S = 1, i intrarea de tergere este a s s mentinut inactiv, R = 0, dup timpul de propagare p ieirea portii NOR1 comut a a a s a starea L, QN = 0, care aplicat prin legtura de reactie pe intrarea portii NOR 2 n a a va comuta, dup timpul de propagare p , ieirea portii NOR2 starea H, Q = 1. a s n Dup un interval de timp 2p , sprijinul semnalului de a n nscriere S = 1 aplicat pe una din intrrile portii NOR1 , vine pe cealalt intrare a potii NOR1 un semnal de a a reactie Q = 1 de la ieirea portii NOR2 , deci semnalul de s nscriere poate dezactivat, S = 0, deoarece starea logic 1 (Q = 1, QN = 0) este mentinut continuare de ctre a a n a semnalul de reactie Q = 1. Dac semnalul de a nscriere S = 1 nu respect aceast a a conditie critic de timp, ca durata sa s e T W 2 p , se poate ca latch-ul s nu a a a se nscrie starea logic 1 sau, mai ru, s intre starea de metastabilitate unde, n a a a n teoretic, poate sta indenit, dar practic dup un interval de timp se a ndreapt e spre a starea logic 1 (Q = 1, QN = 0), e spre starea logic 0 (Q = 0, QN = 1). Intrarea a a n metastabilitate se poate genera i cazul care semnalul aplicat pe intrare nu are s n n o amplitudine sucient, deci se situeaz intervalul interzis a a n ntre 1 si 0 logic. Dac a ulterior se activeaz din nou intrarea de a nscriere, S = 1, odat sau de mai multe ori a consecutiv, latch-ul rmne a a nscris aceeai stare logic 1, deci numai primul impuls n s a dintr-o succesiune de nscriere are efectul de nscriere. Acest mod de functionare este similar cu cel de operare al unui zvor (latch in limba englez), care se a a nchide la prima mpingere a sa. Pentru deschiderea (tergerea) zvorului este necesar o s a a mpingere sens contrar dar tot numai odat. Similar, se pot descrie secventele de n a propagare prin portile NOR la nscrierea latch-ului starea logic 0 cnd pe intrrile n a a a de date se aplic S = 0, R = 1. a Tabelul caracteristic al latch-ului SR, Figura 3.37-b, care exprim ieirea a s n functie de cele patru cuvinte aplicate pe intrrile de date, se obtine din tabelul din a Figura 3.36-f adaptat pentru o conventie de logic pozitiv (activ = H, inactiv = L). a a Din acest tabel caracteristic se poate deduce tabelul de excitatie, Figura 3.37-c. Tabelul de excitatie, care este fond tabelul de evolutie al strilor, vezi Figura n a 3.2-b, prescrie pentru oricare comutatie impus latch-ului a ntre dou stri care trea a buie s e cuvntul SR aplicat pe intrrile de date. Liniile tabelului de excitatie a a a se deduc din analiza liniilor din tabelul caracteristic felul urmtor: n a 1. Comutatia din Q = 0 starea urmtoare Q+ = 0 se realizeaz pentru SR = n a a 00 din linia aia a tabelului caracteristic (fr modicare, FM) sau pentru nt aa

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


S 1 QN 2 Q R S 0 0 0 R 0 Q Q 0 1 1/0 t3 QN QN (FM) 1 0 1/0 (ND) t4 Q 0 0 1 S 0 1 0 0 1 0 t6 R Q+ 0 1 0 1 t7 Q 0 SR 00 0 01 0 11 1 1 0 S R Q QN Q Q t 10

387

Tw>2 p
t1

a)
S R Q

b)
t2

c)
t5

d)

10 1

1 t8

e)
t9

S R

f)

QN

ND

Figura 3.37 Analiza latch-ului SR: a) structur de latch realizat cu porti NOR; a b,c,d) tabelul caracteristic, tabelul de excitatie i diagrama VK pentru latch-ul SR; s e) simboluri de reprezentare pentru latch-ul SR; f) explicarea functionrii cu ajutorul a diagramelor de timp. SR = 01 din linia a treia (din starea logic 0 se aplic comanda de a a nscriere tot starea logic 0), deci cuvntul necesar aplicat pe intrrile de date trebuie s n a a a a e SR = 0. 2. Pentru comutatia din Q = 0 Q+ = 1 corespunde numai linia a treia din n tabelul caracteristic, deci SR = 10. 3. Pentru comutatia din Q = 1 Q+ = 0 corespunde numai linia a doua din n tabelul caracteristic, deci SR = 10. 4. Comutatia din Q = 1 starea urmtoare Q+ = 1 se realizeaz pentru SR = 00 n a a (fr modicare, FM) sau pentru SR = 10 din linia a doua (din starea logic aa a 1), deci cuvntul aplicat pe intrrile de date trebuie s e SR = 0. a a a Tabelul de excitatie se poate transpune ntr-o diagram de tipul V-K, Figura a 3.37-d. Din aceast diagram se poate deduce ecuatia logic a latch-ului SR, care are a a a expresia Q+ = S + RQ (3.20)

Aceast ecuatie se poate deduce direct i din structura latch-ului SR din a s Figura 3.37-a scriind relatia pentru poarta NOR 1 felul urmtor Q+ = S + R + QN n a N care devine Q+ = S + RQ deoarece QN = Q. Functionarea unui latch poate descris i prin diagrame de semnale ca Figura as n 3.37-f; sgetile leag ecare modicare pe intrrile de date cu efectele (comutatiile) a a a pe care le produce pe ieiri. De exemplu, pentru modicarea intrrilor de date din s a momentele t1 , t2 , t3 , t4 latch-ul se nscrie respectiv strile 1, 0, 1 i 0. La momentul n a s t5 , att timp ct SR = 11, ieirile vor QN = 0 i Q = 0, la fel se intmpl a a s s a a n

388

3.3. CIRCUITE BASCULANTE

momentul t7 i momentul t9 . Diferenta s n ntre t5 , t7 i t9 apare prin faptul c la s a primele dou intrrile S i R nu sunt dezactivate simultan, deci latch-ul trece a a s ntr-o stare logic, pe cnd la t9 intrrile SR din 11 sunt dezactivate simultan t 10 00 a a a n ceea ce provoac intrarea starea de metastabilitate, iar din aceast stare dup a n a a un interval de timp latch-ul poate ajunge e 0 e 1. Cuvntul de intrare de n n a date SR = 11 determin ca ambele ieiri s e 0 i se spune c aceast comand a s a n s a a a produce o stare de nedeterminare (ND, linia a patra tabelul caracteristic), pentru n c la dezactivarea simultan a intrrilor de date (cnd ieirile Q, Q N au valori a a a a s ntre 0 i 1 logic)i dup consumarea intervalului de metastabilitate, se va trece e starea s s a n Q = 0, QN = 1, e starea Q = 1,QN = 0 fr a exista un control asupra acestei n aa tranzitii. Exemplul 3.13 Folosind circuitul latch s se formeze semnalul de la un comutator a pentru a aplicat la intrarea unui sistem digital. Solutie. La nchiderea unui contact, lamela acestuia, datorit elasticitii, poate produce a at cteva oscilatii a nainte de a se opri pe pozitia comandat. Astfel c semnalul cules care s a a a sesizeze pozitia nchis a contactului, nainte de a ajunge la valoarea stabilizat, este sub forma a unor impulsuri ntre o valoare V a tensiunii i o valoare zero. Figura 3.38-c tensiunea s In culeas VO a nainte de a ajunge la valoarea zero, corespunztoare contactului a nchis pe pozitia 2, are oscilatii ca cele reprezentate diagrama de semnale. Un sistem digital la care se aplic n a un astfel de semnal ar sesiza nchiderea contactului de mai multe ori. Se poate obtine un semnal doar cu o singur comutatie (la a nchiderea pe pozitia 2) dac se utilizeaz un latch, a a deoarece acesta are proprietatea: este activat doar de prima activare dintr-un ir aplicat pe s o intrare.
_ S _ R _ S sau S_L _ R sau R_L Q Q 0 1 1 1/0 V S R Q QN 2 R V VO 1 V R1 R2 VO Q S R S R Q QN comutare 1 2 t VO

QN _ S 1 1 _ R 1

a)

c)

QN QN (FM) 1 0 1/0 (ND) 2

"1" "0"
t 1 2 2 1

b)

d)

Figura 3.38 Explicativ pentru Exemplul 3.13: a,b) structur i tabelul caraca as teristic pentru un latch cu intrrile active L (latch S R); c) oscilatiile semnalul a n n obtinut la nchiderea unui contact (datorit vibratiilor lamelei contactului); d) circuit, a at nchiderea/deschiderea cu un latch S R, pentru curirea unui semnal obtinut la unui contact.
O structur de latch cu porti NAND este cea din Figura 3.38-a care se activeaz pe a a intrrile de date prin semnale stare L, de unde denumirea de latch S R. Tabelul caraca n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

389

teristic al latch-ului S R, Figura 3.38-b, se obtine din tabelul caracteristic din Figura 3.36-f aplicnd conventia de logic negativ (activ=L , inactiv=H). a a a Aplicnd semnalul cules VO , de pe comutator, la intrarea unui latch S R, ca Figura a n ,, 3.38-d, se obtine un semnal curat ca cel din diagrama de semnale alturat. La a a nchidere, din pozitia 1 pozitia 2, latch-ul ind comandat pe n nscriere S = 0, ieirea sa comut s a n Q = 1, QN = 0, iar la deschidere din pozitia 1 2, latch-ul este comandat pe tergere n s R = 0, ieirea comut in Q = 0, QN = 1. s a

sistemele digitale, pentru o procesare controlat, este necesar s existe un conIn a a trol asupra felului/modului procesrii (cum?), momentul procesrii(cnd?) i a a a s n care punct (adres) s e procesat (unde?). Aceste trei actiuni, exprimate sintetic a a a prin tripla interogatie unde? cnd? i cum?, apar ca o prim decienta a latch-ului a s a S R sau SR deoarece nu le poate realiza. plus latch-ul mai prezint starea de In a nedeterminare (ND) cnd sunt activate simultan cele dou intrri de date. a a a Latch-ul cu ceas. La circuitul latch cuvntul aplicat pe intrrile de date detera a min care va starea care comut (cum?), dar acelai cuvnt aplicat determin a n a s a a i momentul cnd comut (cnd?). Pentru a separa cele dou actiuni este necesar ca s a a a a latch-ul s e a nzestrat cu intrare distinct de cum? fata de cnd?. Pentru modul de a a comutare se pstreaz intrrile de date S, R sau S,R, iar pentru prescrierea momena a a tului comutatie se introduce o intrare pe care se aplic un semnal de ceas. Accesul a cuvntului de date la intrrile de date ale latch-ului se va face prin porti care sunt a a validate de semnalul de ceas, deci modicarea strii circuitului va posibil doar a a n momentele marcate de ceas (pe palier sau pe front). Ecuatia logic a latch-ului SR a cu ceas, similar cu relatia 3.15, are expresia: a Q(t + 1) = S + RQ(t) (3.21)

relatia 3.20 starea urmtoare a fost notat prin Q + , dar relatia 3.21 a fost In a a n substituit prin Q(t+1) ca s indice faptul c starea urmtoare se a a a a nscrie, pornind de la starea prezent Q(t), doar la validarea urmtoare (t + 1) prin semnalul de ceas. a a Figura 3.39 este prezentat un latch SR cu ceas ce se obtine din latch-ul din In Figura 3.37-a cruia i s-au aplicat cele dou porti AND pe intrare, care valideaz a a a accesul datelor pe intrrile S i R doar pe durata T W a palierului pozitiv al ceaa s sului. La fel, structura latch-ului cu ceas tehnologie CMOS, Figura 3.39-b, se n obtine din cea cu dou inversoare din Figura 3.36-b (delimitat prin linie a a ntrerupt a Figura 3.39-b), la care s-a adugat reteaua de tip n un tranzistor pentru intrarea n a n S nseriat cu un tranzistor pentru validarea de ceas, CLK, precum i tranzistoarele s complementare din reteaua de tip p. Tabelul caracteristic i tabelul de excitatie, s Figura 3.39-c i d, pot considerate aceleai ca cele din Figura 3.37-c i d; diferenta s s s existnd tabelul caracteristic, care prin linia a cincea exprim faptul c dac sema n a a a nalul CLK nu este activ, nu se primete nici o comand pe intrrile de date, deci s a a latch-ul este nevalidat. Decuplarea ntre cnd i cum se realizeaz numai cazul cnd cuvntul de date a s a n a a este aplicat pe intrrile de date i numai dup ce aceste date sunt stabilizate se aplic a s a a un semnal de ceas care valideaz transferul prin cele dou porti adugate la intrare. a a a Pe durata TW a palierului activ de ceas oricare modicare pe intrrile de date S,R a este resimtit ieirile Q i QN ale latch-ului ceea ce se refer prin: latch-ul este a n s s a transparent pe durata palierului activ al ceasului. Deci, realizarea decuplrii a

390
TW S 3 CLK 4 R T2 T4 Q R T1 T3 CLK

3.3. CIRCUITE BASCULANTE

V DD

CLK

CLK 1 1 1 1 0

S R Q QN 0 0 1 1 0 1 0 1 Q Q N(FM) 0 1 1 0 1/0 1/0 (ND) Q Q N(FM)

S Q CLK R Q S Q CLK R QN

QN 1 QN 2 Q S CLK

c)

f)
Q(t+1) 0 1 0 1

a)
TW1 S R CLK Q QN t1 t2 t3

b)
TW2 t4 t5 t6

d)

Q(t) 0 0 1 1

S 0 1 0 TW3 t7

R 0 1 0 t8

e)

ND

Figura 3.39 Latch-ul SR cu ceas: a) organizarea unui latch SR cu ceas i imples mentarea sa (b) tehnologie CMOS; c,d) tabelul de tranzitie i tabelul de excitatie; n s e) exemplu de diagrame de semnal; f) simboluri de reprezentare.

presupune c este a ndeplinit conditia prin care cuvntul de date este aplicat i stabia a s lizat pe intrrile de date momentul aparitiei palierului activ de ceas i aceste date a n s rmn nemodicate pe toat durata palierului. a a a Functionarea latch-ului cu ceas poate prezentat intuitiv prin diagrama de sem a nale ca Figura 3.39-e. Pe durata palierelor active ale ceasului T W1 , TW2 , TW3 latch-ul n este transparent, modicrile de pe intrrile de date se propag spre ieire, ieirea este a a a s s cuplat cu intrarea, iar pe durata de neactivare a ceasului modicrile pe intrare ( a a n momentele t4 , t5 , t6 ) nu produc nici o schimbare pe ieire. momentul t7 ambele s In intrri sunt activate S = R = 1 care comut ieirile in Q N = 0, Q = 0, deoarece a a s ceasul este activ, dar momentul t8 , cnd ceasul devine inactiv, latch-ul intr n a a n metastabilitate, iar dup un timp (ct?) se indreapt e spre starea logic 1 e spre a a a a starea logic 0. a ,, ,, Deci, latch-ul cu ceas (latch-ul sincron) poate separa actiunea cnd de cum , a dac datele pe intrare rmn stabile pe o durat T W1 dar nu elimin interdictia de a a a a a a nu activate simultan semnalele S i R. Obtenabil ca circuit integrat discret este s a circuitul 74LS279 care contine 4 latch-uri S R pe capsul.

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

391

3.3.1.2

Latch-ul D

tabelul caracteristic al latch-ului SR sau S R, Figura 3.39-c, dac se elimin In a a linia aia i a patra se obtine tabelul caracteristic din Figura 3.40-c care exprim nt s a functionarea latch-ului de tip D. Fizic, eliminarea celor dou cuvinte de intrare, am a bele intrri neactivate i ambele intrri activate, se poate realiza prin conectarea celor a s a dou intrri prin intermediul unui inversor ca Figura 3.40-a, adic totdeauna R = S. a a n a Latch-ul rezultat, referit latch-ul D, avnd o singur intrare de date, notat cu D, nu a a a mai prezint restrictia, de la latch-ul SR, de a nu se activa simultan cele dou intrri a a a de date. Ca structurare latch-ul D se poate obtine din circuitul din Figura 3.39-a prin conectarea unui inversor pe intrarea R. Variante de latch D foarte des utilizate tehnologia unipolar sunt cele din Figura n a 3.40-b bazate pe circuite dinamice (Figura 1.54) i porti de transmisie. Bucla s ntre inversoarele 1 i 2 se s nchide prin poarta de transmisie PT2, iar introducerea ( nscrierea) intrrii D bucl se face prin poarta de transmisie PT1; cele dou porti de transa n a a misie sunt comandate opozitie prin semnalul de ceas. Pe palierul activ de ceas, n CLK=1, PT1 este dechis, PT2 este blocat iar capacitatea (parazit) de pe ina a a trarea amplicatorului inversor 1 se ncarc ajungnd la valoarea tensiunii existent a a a pe intrarea D. Pe durata palierului inactiv de ceas, CLK=0, PT1 este blocat, PT2 a este deschis realizndu-se a a nchiderea buclei ntre inversoarele 1 i 2 ceea ce permite s ncontinuu arcarea/mentinerea capacitii parazite la valoarea de tensiune la care nc at a fost arcat. nc a Tabelul de excitatie din Figura 3.40-d, dedus din tabelul caracteristic, arat c a a totdeauna ieirea Q devine egal cu intrarea D la aplicarea frontului activ de ceas, s a deci ecuatia care exprim functionarea este a Q(t + 1) = D (3.22)

Conform acestei relatii rezult c latch-ul D poate stoca/memora data aplicat a a a pe intrare, de unde i denumirea de latch D (de la Data). Dar pe durata palierului s activ de ceas latch-ul D are o functionare transparent, oricare modicare pe intrare a se propag la ieire, nu exist o decuplare a ieirii de intrare. Aceast transparenta a a s a s a latch-ului D se poate urmri pe diagrama de semnale din Figura 3.40-e pe intervalele a a a a s TW1 , TW2 i TW3 , cnd frontul activ de ceas valideaz cele dou porti AND de pe intrare, schimb modicrile intrrii D momentele t 1 , t4 , t5 i t8 nu produc nici o n a a n s comutatie a ieirii deoarece sunt palierul inactiv de ceas. s n Intr-un sistem, functionarea corect a unui latch D impune respectarea unor para a metrii de timp. Timpii de propagare, dati cataloagele productorilor, sunt deniti n a pe diagramele de timp din Figura 3.40-f [Wakerly 00]; abreviatiile DQ indic propa a garea de la intrarea de date la ieire, iar CQ propagarea de la intrarea de ceas la ieire. s s De exemplu, pentru circuitul integrat 74LS75, 4 latch D/capsul, se dau urmtoarele a a valori: PLH(DQ) = 11ns (tipic), 19ns (maxim); PHL(DQ) =9ns (tipic), 17ns (maxim); PLH(CQ) =10ns (tipic), 18ns (maxim); PHL(CQ) =10ns (tipic), 18ns (maxim). Modicarea semnalului de intrare D, pe durata palierului activ de ceas, produce doar o comutatie corespunztoare a ieirii, pe cnd o modicare pe intrarea D care a s a coincide cu durata fronturilor semnalului de ceas introduce latch-ul metastabilitate, n de exemplu la sfritul intervalului de transparenta T W3 . Pentru a evita metastabilias tatea se impune ca intrarea de date s e mentinut stabil pe intervalul SU a a a nainte

392
TW D CLK D CLK S 3 4 R PT1 CLK =1 1 QN 2 Q PT1 PT2 Q 1 PT2 2 Q 1 PT2 Q 2 TW2 t3 t4 t5 t6 t7 QN QN 2 PT1 1 QN

3.3. CIRCUITE BASCULANTE

D CLK D Q QN 1 0 0 1 1 1 1 0 0 Q QN

CLK Q D Q

c)
Q(t) 0 0 1 1 D 0 1 0 1

g)

CLK QN Q(t+1) 0 1 0 1

a)
t1 t2

b)
TW1

CLK =0

d)

TW3 t8 t9

CLK Q

D CLK

SU

SU

f)

pHL(DQ) pHL(DQ) pHL(DQ)

pHL(CQ)

Figura 3.40 Latch-ul D: a) organizarea unui latch D i implementarea sa (b) s n tehnologie CMOS cu celule dinamice i porti de transmisie; c,d) tabelul de tranzitie s i tabelul de excitatie; e) exemplu de diagrame de semnal; f) denirea timpilor de s propagare; g) simboluri de reprezentare.

de frontul semnalului de ceas.

zs t rs zs ysyzz rtrt ts rs ysys ssyy


SU

x xs wswxx wsws ssww

e)

T W1

T W2

T W3

v usuvv vs usus ssuu

H
ND

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

393

Exemplul 3.14 Latch-ul Early. Acest tip de latch, pe lng functia existent a a a la latch-ul D, de a memora bitul aplicat pe intrarea D, poate realiza i o a doua functie, s cea de procesare pe dou niveluri logice (AND-OR). consecinta, timpul de propagare a In necesar realizrii celor dou functii este egal numai cu timpul de propagare pe dou niveluri a a a logice. Structura latch-ului Early este cea desenat Figura 3.41-a. Informatia de un bit a n aplicat pe intrarea D, pe palierul CLK=1, se obtine pe ieirea Q dup ce s-a propagat prin a s a portile 3 i 1. Apoi, prin legtura de la Q la poarta 4 se realizeaz reactia, adic arirea s a a a nt

CLK

C i1

CLK A Bi i C i1 C i1 C i1 Bi Bi

Bi CLK C i1

Ai

5 C i1 si

Ai

9 8 10 CLK CLK 2 2

c)

d)

Figura 3.41 Latch-ul Early: a) structur de principiu; b) structur la care s-a a a eliminat poarta de mentinere pentru evitarea hazardului (prin comanda cu semnale de ceas defazate); c,d) calculul i memorarea functiilor (s i ) i (Ci ) pentru un sumator s s cu transport progresiv pe o structur de tip latch Early. a
comenzii aplicate pe intrarea de date, ieirea Q ind mentinut continuare att prin s a n a poarta 3 ct i prin poarta 4. La dezactivarea semnalului CLK i activarea palierului pentru a s s semnalul CLK=1 conexiunea de la ieirea portii 1 se s nchide prin poarta 2, deci mentinerea reactiei se face continuare prin polaritatea (invers) a semnalului de ceas. Pentru a nu n a apare discontinuitate (hazard) mentinerea valorii de ieire Q la schimbarea semnalului de n s

| | | | | | | | | |

Bi

Ai

| ||||| | | | | |||| | | | | ||| |||

a)

| |

CLK

{} |{ ~ |~

CLK CLK Q CLK D CLK

b)

CLK Ai

CLK

Ai

Bi

5 Ci

394

3.3. CIRCUITE BASCULANTE

ceas, adic la comutarea mentinerii de la poarta 3 la poarta 2, a fost introdus poarta (de a a mentinere) 4. Structuri de calcul i memorare pentru expresiile 2.17 ale sumei si i transferului urmtor s s a Ci , la un sumator cu transportul anticipat, sunt prezentate Figurile 3.41-c i 3.41-d. n s Aceste structuri sunt extensii ale structurii de latch Early obtinute prin repartizarea a cte a unei perechi de porti, notate cu 3 i 4 Figura 3.41-a, pentru ecare termen produs din s n relatiile 2.17. Dac implementarea acestor relatii se face pe un circuit combinational pe dou a a niveluri logice (AND-OR) urmat de un latch D (considerat c are propagarea 2p rezult o a a propagare total egal cu 4p . Pentru implementarea cu latch Early propagarea total ind a a a ,, numai de 2p ; propagarea pe latch ind ascuns propagarea prtii combinationale. a n a Avantajul implementrii de tipul AND-OR plus memorare pe latch Early poate a nsotit, cum este cazul sumatorului, i de urmtoarele dezavantaje: semnalele de date i a s a s de clock trebuie s aib fan-out ridicat; poarta OR trebuie s suporte un fan-in mare, iar a a a numrul de porti AND poate de asemenea ridicat. Se pot diminua aceste dezavantaje dac a a portile de mentinere (7,8,9,10 Figura 3.41-c i 6,7,8 Figura 3.41-d) sunt eliminate. Dar n s n dup aceast eliminare de porti, pentru a asigura o functionare fr hazard a circuitului la a a a a comutatia CLK0 i CLK 1, este necesar un defazaj s ntre palierele active ale semnalului a a nainte ca CLK s e dezactivat, a de ceas. Va trebui ca CLK 1 s devin activ cu t ceea ce se poate obtine prin dou buere inversor pe intrri pentru semnalul de ceas, Figura a a 3.41-b.

Latch-ul D, cu restrictia impus de a mentine nemodicat data de intrare pe a a ,, ,, durata palierului activ de ceas, poate separa actiunea cnd de cnd , de aseme a a nea elimin posibilitatea activrii simultane a dou intrri dar, totui, pn acum a a a a s a a ,, ,, nu prezint i facilitatea de actiune unde . Evident, introducerea actiunii unde a s presupune existenta unui cuvnt (de adres) care, pentru o conguratie particular, a a a s selecteze (deci un decodicator) un anumit punct (locatie) dintre mai multe unde a exist stocat informatia (deci mai multe latch-uri D). O structur care realizeaz a a a a aceast functionare, referit prin latch adresabil, este reprezentat Figura 3.42. a a a n
"1" An1 A0 DMUX Om1

I
Om2 O0 OE CLK

D
D CLK Q Om1 D CLK Q Om2 D CLK Q O0

Figura 3.42 Organizarea de principiu pentru latch-ul adresabil. Structura de latch adresabil se obtine printr-o conectare paralel de m latch n uri D, avnd toate comun aceeai intrare de date D. Selectarea pentru a n s nscriere a datei, aplicat pe intrarea D, unul din cele m latch-uri D se face prin activarea a n semnalului de ceas care se obtine ca o ieire din cele 2 n (m = 2n ) ale DMUX 1:2n . La s DMUX pe intrarea de validare a ieirii OE se aplic semnalul de ceas CLK, iar pe s a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

395

intrrile de selectare se aplic un cuvnt de adres A n1 An2 , ..., A0 . Ieirea ecrui a a a a s a latch D, pentru citire, este disponibil permanent fr selectare. a aa Inscrierea ntr-un anumit latch (adres), pentru o functionare corect, trebuie a a s respecte anumite relatii temporale. Pentru latch-uri, se aplic ai semnalul pe a a nt intrarea D, care trebuie s e stabil pe palierul activ al semnalului aplicat pe o intrare a CLK. Pentru DMUX ai se aplic cuvntul de selectare i numai dup stabilizarea nt a a s a acestui, pentru a evita hazardul pe ieiri, se activeaz semnalul de ceas CLK (=OE). s a Structura de latch adresabil la care se adaug selectarea (unde) i pe ieire (pentru a s s citire) se transform structura celulei de baz pentru implementarea unei locatii a n a de memorie.

3.3.2

Circuite Basculante Bistabile (Triggere)

Pentru eliminarea decientelor prezentate de structura de latch elementar (nedi ,, ,, ,, ferentierea ntre actiunile cnd i cum , inexistenta adresrii unde i restrictia a s a s activrii simultane a comenzii de a nscriere i de citire) s-au realizat diferite tipuri s de latch-uri cu ceas. Totui, aceste latch-uri cu ceas mai prezint un inconvenient: s a transparenta ieirea este cuplat cu intrarea (pe durata palierului activ de ceas). s a Circuitele care realizeaz o izolare a ieirii de intrare sunt referite prin termenul de a s bistabile/triggere (ip-op). 3.3.2.1 Principiul master-slave

Principiul Master-Slave (M-S) exprim o modalitate de structurare a oricrui tip a a de circuit basculant. Aceast modalitate de structurare const a a n nserierea a dou a latch-uri cu ceas, ecare ind transparent pe palierul H al semnalului de ceas. Considerm un bistabil SR structurat M-S, ca Figura 3.43-a, din dou latch-uri SR, a n a primul - master - comand pe cel de al doilea - slave. Datele SR ale bistabilului a se aplic pe intrrile de date ale latch-ului master, ale crui ieiri Q M , QM L se a a a s aplic pe intrrile SR ale latch-ului slave, iar ieirile bistabilului Q, Q N sunt cele ale a a s latch-ului slave. Cele dou latch-uri sunt validate, pentru transferul datelor de la a intrare spre ieire, pe paliere defazate cu 180 ale semnalului de ceas, latch-ul mass ter este comandat pe palierul CLK=1 iar, apoi, latch-ul slave pe palierul CLK = 1 (datorit inversorului pe semnalul de ceas). Pe durata palierului pozitiv, CLK=1, a latch-ul master ind transparent datele de intrare (sau orice modicare a acestora) In sunt transferate la ieire,QM , QM L, dar latch-ul slave este blocat. schimb, pe s durata palierului negativ, CLK = 1, latch-ul master este blocat iar latch-ul slave devine transparent i transfer datele de la ieirile masterului Q M , QM L, care sunt s a s intrri la slave, spre ieirile bistabilului, Q, Q N . De fapt, latch-ul slave are ca date a s de intrare datele de la ieirea latch-ului master momentul comutrii semnalului de s n a ceas de la 1 la 0, deci bistabilul apare ca ind comandat de ctre frontul posterior. a Bistabilul are izolat ieirea de intrare, deoarece permanent unul din latch-uri este a s blocat, iar bascularea apare ca ind efectuat momentul frontului negativ de ceas. a n Evident, ca bistabilul s-i modice ieirea conform datelor aplicate pe intrrile SR as s a acestea trebuie s rmn stabile pe toat durata de transparenta a latch-ului master, a a a a a CLK=1, pn momentul aparitiei frontului posterior care va determina transferul a a n slave. Aceast arziere, din momentul aplicrii datelor pn momentul basn a nt a a a n

396

3.3. CIRCUITE BASCULANTE

culrii ieirii, este specicat simbolul de reprezentare al structurilor master-slave, a s a n Figura 3.43-d, prin simbolul aplicat pe ieirile Q i Q N . s s
CLK M A S T E R CLK PRESET S L A V E S R

CLK

CLK

QM

QM_L

b)
CLEAR S 0 0 1 1 Q QN

f
R CLK Q Q 0 1 1 0 0 QN QN (FM) 0 1 1 0 1/0 1/0 (ND) Q QN (FM)

SU

f
PRESET S CLK R Q CLEAR t9 Q

a)
t1 S R T W1 CLK QM QM_L Q QN

c)
t3 t4 t5

d)
t8 T W4

t2

t6

t7

T W2

T W3

T W5

e)
ND

Figura 3.43 Principiul master slave: a) organizarea de tip master-slave; b) reprezentarea intervalelor de timp pentru o tranzitie corect a bistabilelor coman a date pe front ( cazul acesta pe frontul posterior); c,d) tabelul de tranzitie i simbolul n s de reprezentare pentru un bistabil SR master-slave; e) diagrame de semnal ubtinute functionarea unui bistabil SR master-slave. n Transparenta latch-ului master pe durata palierului pozitiv de ceas este un deza vantaj deoarece un glitch, posibil s apar sistemele digitale, poate modica datele a a n aplicate pe intrri, a nscrie o valoare eronat latch-ul master i care, apoi, la aparitia a n s frontului posterior se transfer latch-ul slave spre ieirea bistabilului. a n s Din punct de vedere logic bistabilul SR master-slave este identic cu latch-ul SR cu ceas, ceea ce rezult i din identitatea tabelelor caracteristice din Figurile 3.43-c as i 3.39-c, au acelai tabel de excitatie, Figura 3.39-d, deci aceeai ecuatie logic, s s s a relatia 3.20. Functionarea bistabilului SR este descris i diagrama de semnale din a s n Figura 3.43-e. intervalele de transparenta ale masterului T W1 , TW2 , TW3 , TW4 i In s TW5 , cnd ceasul este activ, aparitia unui impuls pe una sau ambele intrri de date a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

397

poate modica starea latch-ului master, stare deja xat de conguratia de date (care a exista la nceputul intervalului respectiv de transparenta). De exemplu, momentul n t1 latch-ul master este comutat din 0 1, t3 din 1 0 i t5 din 1 0 iar n n n s n n schimbrile conguratiei de date din momentele t 2 , t4 i t6 sunt ignorate de latch-ul a s master deoarece nu este activat de ceas. Se observ c modicarea strii latch-ului a a a slave poate apare doar pe frontul posterior al semnalului de ceas. momentul t8 , In pe frontul posterior al semnalului de ceas TW4 , deoarece QM QM L = 11 (SR = 11), ambele latch-uri intr metastabilitate, iar din aceast stare poate iei dup un a n a s a anumit timp nscriindu-se e starea 1 e starea 0. Latch-ul master va n n nscris determinist, i scos din starea de metastabilitate, dac a nu s-a consumat aceast s a nc a stare, momentul t9 cnd este n a nscris prin SR=01 starea 0, iar latch-ul slave poate n nscris determinist starea 0 pe frontul posterior al palierului T W5 . n Rezult, din explicatiile anterioare, c starea de metastabilitate la un latch apare a a cnd ambele sale ieiri sunt 1 la dezactivarea semnalului de ceas. Dar, metastaa s n bilitate poate apare i cnd intrrile de date se modic pe durata frontului de s a a a nscriere/(activare) a semnalului de ceas, Figura 3.43-b (se consider frontul posa terior cnd se a nscriu datele latch-ul slave). Ca durat a frontului de n a nscriere se consider un interval compus din urmtoarele trei subintervale: a a SU -timpul de prestabilire (Set-Up), care este intervalul de timp dinainte de nceperea tranzitiei active (frontului) a ceasului care intrrile de date n a trebuie s e stabile; a f -durata frontului activ de ceas; H -timpul de mentinere (Hold), care este intervalul de timp dup tranzitia a frontului activ care intrrile de date trebuie s mai e a mentinute stabile. n a a nc Deci intervalul , denumit fereastr de decizie, axat pe frontul activ de tranzitie a are durata = SU + f + H (3.23) Este referit prin fereastr de decizie deoarece acest interval bistabilul testeaz a n a datele aplicate pe intrare i decide care va starea la ieire. s s Pentru circuitele TTL valori uzuale sunt: SU =(5 20)ns, H =(5 0)ns; la circuitele mai rapide aceti parametri tind spre valori care se situeaz s a nspre limitele inferioare ale intervalelor. La implementarea unui crcuit, ntr-o anumit tehnologie, a se recomand ca perioada T a semnalului de ceas s e fata de timpul de propagare a a p pe o poart relatia T (40 50)p . Limea ferestrei de decizie, raport cu a n at n durata unui palier activ de ceas este foarte unic, deci se poate considera c tranzitia a a pe frontul semnalului de ceas a bistabilelor se realizeaz punctual ( a ntr-un moment de timp). La toate circuitele bistabile, a cror structur se bazeaz pe celule latch, a a a pentru o functionare corect trebuie respectat aceast conditie de nemodicare a a a a datelor intervalul , axat pe frontul activ al semnalului de ceas. n Circuitele basculante pentru nscriere, pe lng intrrile de date validate (sina a a cronizate) cu semnalul de ceas, general, mai prezint a dou intrri asinn a nc a a nscriere starea Q = 1, n crone, de regul active stare low, notate prin P RESET ( a n QN = 0) i CLEAR ( s nscriere starea Q = 0, QN = 1). Aceste intrri asincrone se n a aplic, Figura 3.43-a, la bistabil pe celula latch care genereaz starea bistabilului Q, a a

398

3.3. CIRCUITE BASCULANTE

QN ; avnd acces direct, fr validare prin semnal de ceas, la xarea strii bistabilului, a aa a rezult c intrrile asincrone realizeaz o comand prioritar raport cu a a a a a a n intrrile de date. a Dei organizarea de tip master-slave a bistabilelor realizeaz o izolare a ieirii s a s de intrare faptul c datele de intrare trebuie s e mentinute constante pe durata a a palierului activ de ceas apare ca o restrictie destul de suprtoare anumite aplicatii. aa n Solutia ar : scurtarea acestui palier doar la un impuls care s apar e pentru frontul a a pozitiv e pentru frontul negativ al semnalului de ceas. Astfel se obtin bistabile cu comutatie pe front. Generarea unui impuls pe unul din fronturile semnalului de ceas se bazeaz pe producerea intentionat a hazardului de propagare, Figura 2.24. a a
S CLK CLK CLK CLK CLEAR S R R CLK Q CLK CLK PRESET CLK Q CLK S S R R CLK QN CLEAR PRESET Q

a)

b)

c)

d)

Figura 3.44 Bistabile cu comutatia pe front: a,c) circuite pentru generarea de impulsuri pentru comutatia bistabilelor pe frontul pozitiv, respectiv negativ; b,d) sim bolurile de reprezentare ale bistabilelor SR cu comutatie pe frontul pozitiv, respectiv negativ. Figurile 3.44-a i 3.44-b sunt prezentate dou circuite care produc impulsuri, In s a cu limea p egal cu timpul de propagare printr-un inversor, respectiv pe frontul at a pozitiv sau negativ. Un astfel de impuls de ceas, care s comande comutatia bistaa bilului, trebuie s aib durata egal sau mai mare cu timpul de tranzitie bistabil a a a a n semnalelor de date spre ieire. Pentru semnalele de date restrictia de nemodicare se s reduce doar la intervalul de SU nainte de front i H dup front, adic pe intervalul s a a , ceea ce este cu mult mai redus dect limea unui palier a semnalului de ceas. a at n Comanda unui bistabil pe frontul pozitiv se simbolizeaz prin semnul , ca Figura a 3.44-b iar pentru frontul negativ prin semnul ca Figura 3.44-d. Cele mai utilizate n bistabile, mai ales pentru implementri sub form de circuite integrate discrete, sunt a a cele cu comutatie pe front. Bistabilele cu comutatie pe front rezolv cu acuratetea a ,, ,, unui front problema decuplrii actiunii cum de cnd . a a 3.3.2.2 Bistabilul D

Acest tip de bistabil, similar din punct de vedere logic latch-ului D, se poate obtine dintr-un bistabil SR, cruia i se forteaz datele de intrare s a a a ndeplineasc relatia a R = S, prin utilizarea unui inversor pe intrri. Figura 3.45-a este prezentat a In a modalitatea de transformare a unui bistabil SR master-slave ntr-un bistabil de tip cu comutatie pe frontul negativ (transferul din latch-ul master latch-ul slave se n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

399

realizeaz la sfritul palierului activ de ceas CLK=1). Se poate realiza un bistabil a as D cu comutatie pe frontul pozitiv dac se utilizeaz a un inversor pe intrare, a a nc obtinndu-se deschiderea master-ului pe palierul negativ al ceasului iar al slave-ului pe a palierul pozitiv. Evident c indiferent de tipul frontului semnalul aplicat pe intrarea a D trebuie s respecte restrictiile de nemodicare pe durata intervalelor SU i H , iar a s nscrierea se face conform datei eantionate momentul frontului. s n O structur de bistabil D cu comutatie pe frontul negativ, realizat prin a a nserierea a dou celule CMOS dinamice, este reprezentat Figura 3.45-b. Celula latch master a a n este validat pe palierul pozitiv de ceas, iar celula latch slave este validat pe palierul a a negativ de ceas. Cnd CLK=1, poarta de transmisie PT1 este dechis iar PT2 a a nchis, a ieirea QM urmrete intrarea D iar intrarea celula slave nu este validat deoarece s a s n a poarta de transmisie PT3 este nchis (doar PT4 deschis pentru a mentine valoarea a a ieirii Q s nscris anterior). momentul frontului negativ, cnd semnalul de ceas devine a In a CLK=1, poarta PT1 este nchis iar PT2 deschis, celula master este devalidat , a a a n schimb celula latch slave devine transparent, poarta de transmisie PT3 se deschide a iar PT4 se nchide, i s nspre ieirea Q se transmite valoarea logic Q M memorat s a a n momentul frontului negativ. Succesiunea aceasta de transfer se repet urmtoarea a n a perioad a semnalului de ceas; portile PT1 i PT4 sunt dechise simultan cnd CLK=1, a s a iar opozitie, cnd CLK = 1, sunt comandate simultan PT2 i PT3. n a s Tabelul caracteristic al bistabilului D, Figura 3.45-c, este similar cu cel al latchului D, Figura 3.40-c cu deosebirea c la primul tranzitia este pe front iar la al a doilea pe palier. Ca tabel de excitatie pentru bistabilul D se poate utiliza cel de la latch-ul D, Figura 3.40-d la fel i ecuatia logic a bistabilului D este cea exprimat s a a prin relatia 3.22. Diferenta functionare n ntre latch-ul D i bistabilul D se poate s evidentia din analiza diagramelor de semnal din Figura 3.45-d. Se observ c pe inter a a valele CLK = 1 (TW1 , TW2 , TW3 , TW4 ) latch-ul ind transparent ieirea Q urmrete s a s variatiile intrrii D ceea ce nu se ampla cu ieirea Q a bistabilului, acesta va mem a nt s ora numai valorile lui D din momentele fronturilor negative; deci bistabilul poate elimina transferul spre ieirea sa a semnalelor de zgomot. Dac perioada semnalului s a de ceas este cu mult mai mic dect cele mai mici intervale a a ntre variatiile semnalului aplicat pe intrare atunci ieirea Q a bistabilului poate identic cu intrarea D, dar s a cu o arziere de propagare fata de aplicarea frontului de tranzitie activ. nt Un tip de bistabil D, foarte uzual aplicatii, este cel cu validarea (semnalului n de ceas), prezentat Figura 3.45-e. Se compune dintr-un bistabil D cu MUX2:1 pe n intrarea D, iar selectarea multiplexorului se realizeaz cu semnalul de validare, E. La a intrarea de date 0 a multiplexorului se aplic ieirea Q a bistabilului D iar pe intrarea a s 1 se aplic data de intrare la bistabilul D cu validare. Pentru semnalul de validare a inactiv, E=0, pe ecare front pozitiv de ceas se re nscrie bistabilul D valoarea Q n (bistabilul rmne aceiai stare); bistabilul cu validare apare ca un bistabil D la a a n s care semnalul de ceas nu este validat (nu se aplic ). Pentru semnalul de validare a activ, E=1, data de intrare se nscrie, prin MUX2:1, bistabilul D. aplicatii acest n In tip de bistabil nscrie conditionat data functie de un alt semnal care se aplic pe n a intrarea de validare. O alt variant de bistabil D cu validare, dar cu faciliti extinse, a a at este prezentat Figura 3.72-c. a n Aplicatiile bistabilului D sunt: memorarea unui bit aplicat pe intrare, conform relatiei Q(t + 1) = D, la fel ca latch-ul D; sincronizarea semnalelor asincrone nainte ,, de a aplicate unui sistem sincron (aducerea acelai timp cu ceasul sistemului n s

400

3.3. CIRCUITE BASCULANTE

sincron). Att pentru memorarea unui bit ct i pentru sincronizarea unui semnal a a s asincron nu apar probleme dac semnalul aplicat pe intrarea D nu are modicri a a fereastra de decizie . Dac semnalul aplicat pe intrarea D este o dat deja n a a sincronizat (nu se modic interiorul ferestrei de decizie), deci respect timpii de a a n a prestabilire SU i de mentinere H , atunci aceast dat este transferat la ieire, cu s a a a s arzierea de propagare pD fata de frontul activ, i va valoarea ieirii bistabilului pe n s s urmtoarea perioad de ceas; Figura 3.46-a este prezentat acest mod de functionare. a a n Probleme apar cnd semnalul aplicat pe intrarea D este un semnal asincron care a si modic valoarea interiorul ferestrei de decizie (modicarea valorii unui semnal a n asincron poate avea loc oricnd), Figura 3.46-b. a Eantionarea unui semnal asincron D, care variaz pe durata ferestri de des a cizie (se modic D), poate crea dou situatii de evitat functionarea bistabilului a n a n D:
CLK D CLK QM_L CLK D 0 1 QM Q PT3 CLK CLK PT4 CLEAR CLK Q D Q PRESET 3 SLAVE 4 QN CLK Q 2 0 1 X X Q 0 1 Q Q QN 1 0 QN (FM) QN (FM)

PT1 PT2 CLK

CLK S CLK R SR MS Q

MASTER

c)
MUX2:1 0 1

b)

D CLK E

D Q

a)

CLK

e)
Intervale in care latchul D este transparent
D CLK TW1 TW2

TW3

TW4

Q(latch) Q(bistabil)

d)
Figura 3.45 Bistabilul D: a) transformarea unui bistabil SR master-slave ntr-un bistabil D cu comutatie pe frontul negativ; b) structur de bistabil D tehnologie a n CMOS cu celule dinamice; c) tabelul caracteristic; d) comparatia formelor de semnal obtinute la ieirile unui latch D i un bistabil D i un bistabil D pentru acelai semnal s s s s aplicat pe intrare.

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

401

1. Ieirea bistabilului, dup timpul de propagare pD , se s a nscrie nedeterminist, e cu valoarea D aplicat pe intrare, e cu valoarea complementar D. Dac se a a a s a a nscrie cu valoarea nscrie cu valoarea D sincronizarea a fost reuit, iar dac se D se poate considera c eantionarea s-a realizat putin a s nainte de modicare, cnd semnalul aplicat pe intrare a ntr-adevr avea valoarea D. La urmtoarea a a eantionare (urmtorul front activ de clock), dac semnalul asincron nu si mai s a a modic valoarea, bistabil se a n nscrie valoarea corect, adic D; pentru sisa a temul care utilizeaz semnalul sincronizat apare c semnalul a fost eantionat a a s (sincronizat) cu arzierea de o perioad de ceas. nt a 2. Bistabilul, dup timpul de propagare pD , oscileaz sau intr metastabilia a a n tate, la ieire se genereaz un semnal s a ntre 0 i 1 logic, deoarece functionarea s (latch-ului de baz al bistabilului) este regim liniar. Iar dac ieirea acestui a n a s bistabil se aplic pe intrarea altor bistabile/porti unele din acestea pot sesiza a intrarea pe nivel logic 1 iar altele pe nivel logic 0 sau unele bistabile pot intra metastabilitate. Dup un timp, m - timp de metastabilitate - care are o n a determinare probabilistic [Wakerly 00], bistabilul iese din starea de metastaa bilitate nscriindu-se, nedeterminist, e valoarea logic 1, e 0, Figura 3.46-b. n a Scoaterea bistabilului din metastabilitate se obtine prin dou mobiliti. Prima, a at se forteaz a ntr-o stare valid prin aplicarea unei intrri care respect parametrii a a a de SU i H . A doua, dup m (care are o durat?!) starea de metastabilitate se s a a consum. a
i+1
D CLK

TCLK

TCLK

i+2
D

TCLK

TCLK

i+1
D

TCLK

i+2
D

TCLK

SU H pD
Q(t)

SU H pD
Q(t+1) Q(t+2)

CLK

SU H pD

SU H pD
Q(t+2) metastabilitate

D Q

Q(t)

m
sincronizator

a)
sincronizator INTSINCR INTASINCR D Q (Intrare D1 asincrona) QN CLK CLK

b)

Sistem sincron

MET INTASINCR INTSINCR Q D Q D (Intrare D2 D1 asincrona) QN QN CLK CLK CLK

Sistem sincron

c)

d)

Figura 3.46 Utilizarea bistabilului D pentru sincronizarea datelor. Tranzitia datelor prin bistabil cnd este a ndeplinit conditia de nemodicare fereastra de dea n cizie (a) cnd nu este respectat conditia de nemodicare; c) structur de sincronizator a a a cu un bistabil D (d) cu dou bistabile a nseriate.

402

3.3. CIRCUITE BASCULANTE

Un circuit pentru obtinerea unei intrri sincrone, INTSINCR, aplicate apoi la un a sistem sincron, prin eantionarea unui semnal asincron, INTASINCR, este prezentat s Figura 3.46-c. Elementul sincronizator este un bistabil D care produce o sinn cronizare corect afar de cazul care semnalul INTASINCR si modic valoarea a n a n a fereastra de decizie. Cnd INTASINCR se modic fereastra de decizie variatia n a a n semnalului de ieire obtinut, INTSINCR, poate s ncadrat una din cele dou a n a situatii de evitat, functionare ale bistabilului D, descrise anterior (aplicarea unei n intrri nedenite, e 1, e 0, la sistemul sincron sau o sincronizare ratat adic a a a aplicarea unei valori situate ntre 0 i 1 logic). Evitarea acestor functionri incorecte s a poate realizat de ctre varianta de sincronizator cu dou bistabile D 1 , D2 a a a nseriate ca Figura 3.46-d. Semnalul INTSINCR va generat corect de bistabilul D 2 dac n a fereastra lui de decizie semnalul MET, produs de bistabilul D 1 , nu are modicri. n a Chiar i cnd semnalul MET, produs de D1 , este nedeterminist, e 1, e 0, acesta s a devine stabil dup pD , deci urmtorul front de ceas gsete stabilizat pe intrarea a a l a s bistabilului D2 . Dar dac semnalul MET este produs de starea de metastabilitate a a lui D1 , i aceast stare nu s-a consumat pn la aparitia noului front de ceas , s a a a m > CLK , atunci i D2 intr metastabilitate. Relatia de temporizare care s ims a n a pun ca D2 s nu intre metastabilitate, deci ca aceast variant de sincronizator a a n a a s nu produc sincronizri ratate, are expresia m TCLK SU . Din aceast relatie a a a a se deduc dou modaliti de a evita sincronizri ratate: 1- mrirea perioadei T CLK a a at a a semnalului de eantionare ( general, semnalul asincron are o frecventa de modicare s n mult mai mic dect frecventa de ceas); 2- micorarea timpului de prestabilire SU ( a a s n general, circuitele moderne, mai rapide, realizeaz valori mai mici, chiar sub 5 ns). a concluzie, exist posibilitatea de a realiza o sincronizare aproape sigur pe timIn a a pul de functionare al unui echipament. Structuri de sincronizatoare care s realizeze a pentru timpul mediu ntre dou (eventuale) sincronizri ratate, MTBF (Mean Time a a Between Synchronizer Failures), valori ce depesc timpul de viata de functionare al as unui echipament pot gsite [Wakerly 00]. a n 3.3.2.3 Bistabilul JK

Toate circuitele prezentate pn acum, prin completarea structurii latch-ului din a a sectiunea 3.3.1, au avut ca nalitate eliminarea unora din decientele latch-ului. Totui, a rmas nesolutionat comanda contradictorie de activare simultan a s a a a nscrierii i tergerii. Aceasta comand a fost eliminat, dar nu solutionat, la latch-ul D i s s a a a s bistabilul D prin comasarea acestei comenzi cu cea de neactivare simultan a intrrilor a a (No-OPeration), dar circuitul s-a redus la o singur intrare de date. Solutionarea se a poate obtine prin realizarea unui automat cu dou intrri J- a a nscriere i K-tergere, s s Figura 3.47-a, avnd ca element de memorare, e un latch cu ceas, e un bistabil, a care pe lng comenzile normale ( a a nscriere JK=10, tergere JK=01, No-OPeration s JK=00) s aib i comanda JK=11 pentru care s basculeze starea opus. a as a n a Functionarea acestui automat - bistabilul JK - este redat tabelul caracteristic a n din Figura 3.47-b. Se obtine tabelul de excitatie, Figura 3.47-c, sau forma concentrat, a Figura 3.47-d, dac tabelul caracteristic se analizeaz pentru ecare din cele patru a n a tranzitii posibile, ntre cele dou stri, care din linii asigur tranzitia respectiv. De a a a a exemplu, tranzitia ntre strile Q(t) = 1 i Q(t+1) = 0 poate realizat de linia treia, a s a JK=01, sau linia a patra, JK=11, adic JK=1. Mapnd acest tabel de excitatie a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

403
Q(t+1) 0 1 Tranzitie 0 1 A A JK A A

J K

J CLC1 0 0 LATCH Q(t+1) CLK J K 1 1

K 0 1 0 1

Q Q 0 1 Q

QN QN (FM) 1 0 QN

Q(t) J 0 0 1 1 0 1

1 0

0 1

Q(t)

a)
CLK

b)
JK 00 Q(t) 0 0 1 R JK 00 Q(t) 0 01 01 0 0

S=JQ 11 1 0 R=KQ 11 0 1 1 10 0 0 10 1

c)
Q(t) S 0 0 1 1 0 1 0 0 1 0 R Q(t+1) 0 1 0 1

d)

3 CLC1 S 1 2

JK 00 Q(t) 0 0 1 1

01 0 0

11 1 0

10 1 1

QN

latch 1 0

Q(t+1) =JQ(t) +KQ(t)

h)

g)

f)

e)

Figura 3.47 Etapele sintezei structurii de bistabil JK: Pornind de la structura de automat (a) cu tabelul caracteristic (b) i tabelul de excitatie (c,d) se obtine tabelul s de tranzitie al strilor sub forma unei diagrame V-K (e). Folosind tabelul de excitatie a s a al latch-ului SR(f) se obtin functiile de excitatie S = JQ(t) i R = KQ (g) rezultnd structura de tip JK (h). ntr-o diagram V-K, avnd intrrile Q(t) i JK, Figura 3.47-e, se deduce ecuatia a a a s logic pentru functionarea bistabilului JK. a Q(t + 1) = J Q(t) + K Q(t) (3.24)

Alegnd pentru elementul de memorare al automatului JK un latch SR cu ceas a este necesar a se determina ecuatia logic pentru CLC1 care genereaz semnalele S a a i R. Diagramele V-K pentru sinteza functiilor de excitatie S, R, Figura 3.47-g, se s obtine prin conversia diagramei V-K a bistabilului JK utiliznd tabelul de excitatie al a latch-ului SR, Figura 3.47-f. De exemplu, cnd bistabilul JK este starea Q(t) = 0 a n i se aplic JK=00 bistabilul comut starea Q(t + 1) = 0, csuta de coordonate s a a n a Q(t)JK = 000. Dar pentru c aceast tranzitie (0 0) este realizat de ctre latch-ul a a a a SR se observ, din tabelul de excitatie al acestuia, c valorile aplicate pe intrrile sale a a a trebuie s e S = 0, R = , valori care se introduc cele dou csute de coordonate a n a a Q(t) JK=000 ale diagramelor V-K din Figura 3.47-g. Iar cnd bistabilul comut din a a Q(t) = 1 Q(t + 1) = 0, csuta de coordonate Q(t) JK=111, valorile aplicate pe n a intrrile latch-ului trebuie s e S = 0 i R = 1, valori care se introduc respectiv a a s csutele de coordonate Q(t) JK=111 ale diagramelor V-K pentru functiile S i R. n a s s Rezult cele dou functii de excitatie S = J Q(t) i R = KQ(t) cu implementarea a a

404 din Figura 3.47-h.

3.3. CIRCUITE BASCULANTE

Structura de bistabil JK obtinut, corect din punct de vedere logic, nu este practic a a functional cnd palierul activ al semnalului de ceas are durata mai mare dect timpul a a a de propagare prin latch. De exemplu, dac bistabilul este starea logic 0 (Q = 0, a n a QN = 1) i pe intrrile de date se aplic JK = 11 poarta 3 va genera un semnal s a a S = 1 care va nscrie bistabilul starea 1 (Q = 1, Q N = 0), iar dac se mentine n a JK = 11 se va deschide acum poarta 4 ce va genera un semnal R = 1 care va nscrie bistabilul starea 0 .a.m.d, dac se mentine JK = 11. Perioada de oscilatie este n s a egal cu dublul timpului de propagare printr-o poart AND de pe intrare plus timpul a a de propagare prin latch-ul SR. De fapt, cnd durata palierului activ de ceas este mai a mare dect timpul de propagare automat, acesta are o functionare de automat a n asincron (transparenta), care pentru JK = 11 nu ndeplinete niciodat conditia de s a stabilitate, starea prezent s e identic cu starea viitoare calculat, deci automatul a a a a este cu oscilator. Eliminarea posibilitii de intrare oscilatie a bistabilului JK, din Figura 3.47-h, at n cnd JK=11, se poate realiza prin izolarea intrrii de ieire adic substituind latch-ul a a s a SR cu o structur de bistabil SR master-slave, Figura 3.48-a, obtinndu-se bistabilul a a JK master-slave cu simbolul de reprezentare din Figura 3.48-c i tabelul caracters istic din Figura 3.48-b. Dar i acest tip de bistabil este afectat de ceea ce se numete captarea de (zgomote) s s 1 sau 0 datorit transparentei latch-ului master pe palierul activ de ceas. De exemplu, a dac bistabilul este starea 1 (Q = 1, QN = 0) iar pe intrrile de date se aplic a n a a JK=00 atunci momentul aparitiei palierului activ de ceas latch-ul master se n nscrie QM = 1 i QM L = 0 deci bistabilul va rmne tot starea 1. Dar dac pe n s a a n a durata palierului activ de ceas pe intrarea K apare un glitch, posibil sistemele n digitale, acesta va nscrie (K Q = 1) latch-ul master 0, Q M = 0 i QM L = 1, care n s se transfer apoi la ieire ca stare 0 a bistabilului chiar dac pe intrare a disprut a s a a zgomotul i se revine la JK=00 (captare zero). Similar se ampl dac bistabilul s nt a a este starea 0 (Q = 0, QN = 1), intrarea este JK=00 i pe intrarea J apare un n s glitch, va rezulta (J QN = 1) la ieire starea 0 (Q = 1, QN = 1) chiar dac zgomotul s a a disprut i se revine la JK=00 (captare 1). a s Se obtine un bistabil JK, fr posibilitatea captrii de 1 sau 0, dac structura aa a a de bistabil master-slave este substituit cu un bistabil D cu comutatie pe front, a Figura 3.48-d al crui simbol de reprezentare este desenat Figura 3.48-f, iar tabelul a n caracteristic este descris Figura 3.48-e. Un exemplu de diagrame de semnal pentru n bistabilul JK cu comutatie pe frontul pozitiv este dat Figura 3.48-g; variatia n de semnale pe intrri trebuie s respecte conditia de nemodicare pe intervalele SU a a i H jurul frontului de comutatie. s n Dintr-un bistabil JK se poate obtine simplu un bistabil D prin comasarea liniilor unu i patru, Figura 3.48-e, una singur prin utilizarea unui inversor pe intrare. Un s n a bistabil JK, avnd dou bucle de reactie suprapuse, este un sistem de ordinul doi SO-2 a a pe cnd un bistabil D este un sistem de ordinul unu SO-1. Utilizarea unui bistabil a JK pentru modelarea functionrii unui bistabil D ar a nsemna irosirea autonomiei unui SO-2 fata de un SO-1; realizarea unui bistabil D dintr-un bistabil JK este o solutie numai cnd nu exist un bistabil D. a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


PRESET

405

CLK

J 0 0 1 1

K 0 1 0 1

Q Q 0 1 _ Q Q

QN QN (FM) 1 0 _ QM QN (FM)

PRESET J CLK K QN Q

J K CLK

S QM CLK R QM

Q S CLK R QN
CLEAR

CLEAR

a)

b)
CLK J 0 K 0 1 0 1 Q Q 0 1 Q Q Q QN QN (FM) 1 0 QN QN (FM) QN (FM)

c)
PRESET

J
D Q QN

0 1 1 0 1

J CLK K

Q QN

K CLK

CLK

CLEAR

d)
J K CLK Q

e)

f)

g)
Figura 3.48 Bistabilul JK: Structura (a) tabelul caracteristic (b) i simbolul de s reprezentare (c) pentru un bistabil JK master-slave; structura (d), tabelul caracteristic (e) simbolul de reprezentare (f) i diagrame de semnal (g) pentru un bistabil JK cu s comutatie pe front pozitiv. 3.3.2.4 Bistabilul T

Conectnd a mpreun cele dou intrri JK, nu printr-un inversor ca pentru moda a a elarea functionrii bistabilului D, ci direct se obtine bistabilul de tip T. prac a In tic functionarea unui bistabil T totdeauna este modelat pe un bistabil JK, sau pe a a celelalte tipuri, deoarece nu exist un circuit integrat discret care s contin bistaa a a bile T. Prin conectarea mpreun a intrrilor tabelul caracteristic din Figura 3.48-e a a devine tabelul caracteristic al bistabilului T reprezentat Figura 3.49-b. Din acesta, n notnd J=K=T, se obtine tabelul de excitatie, Figura 3.49-c, i tabelul de tranzitie a s al strilor reprezentat prin diagrama V-K din Figura 3.49-d din care rezult ecuatia a a de functionarea bistabilului T: Q(t + 1) = T Q(t) + t Q(t) = T Q(t) (3.25)

406 iar pentru T = 1 aceasta devine: Q(t + 1) = Q(t)


T CLK
J CLK K Q Q

3.3. CIRCUITE BASCULANTE

(3.26)
Q(t) T Q(t+1) T 0 1 Q(t) 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 _ _ 1 0 1 Q(t+1)= TQ(t) +TQ(t)

CLK

J 0 1

K 0 1

Q Q _ Q Q Q

QN QN (FM) _ QN QN (FM) QN (FM)

0 T CLK CLK Q
T CLK Q QN

a)

b)

c)

d)

T=1

e)

Figura 3.49 Bistabilul T: a) modalitatea de a obtine un bistabil T dintr-un bistabil JK (J=k); b) tabelul caracteristic; c,d) tabelul de excitatie; e) diagrame de semnal (semnalul Q are perioada dubl fata de semnalul de ceas). a Relatia 3.26 arat c la mentinerea intrrii la valoarea T=1, bistabilul T la ecare a a a impuls de ceas comut/(basculeaz) starea opus de unde i denumirea de bascul a a n a s a (toggle). Aceast simpl comportare de bascul are dou aplicatii foarte frecvent a a a a utilizate sistemele digitale: n 1. Numrtor modulo 2. Deoarece tot la al doilea front (impuls de ceas) aplia a cat pe intrare bistabilul revine aceeai stare (QQ N Q QN QQN n s Q QN . . .) ceea ce este echivalent cu identicarea claselor de resturi modulo 2, 0 i din numrul de impulsuri aplicat pe intrare, deci un numrtor baz 2. s 1, a aa n a Inseriind dou bistabile T starea acestora, Q 1 Q0 , revine aceiai valoare dup a n s a patru impulsuri de ceas, adic identic clasele de resturi modulo 4: 00 = a a 0, 01 = 10 = 11 = pentru c 4 modulo 4 = 0 = Se poate deduce c un 1, 2, 3 a 0. a numrtor modulo 2n se obtine din aa nserierea a n circuite bistabile T. 2. Divizor de frecvent. Pentru c la ecare front acelai sens al semnalului de a a n s ceas, adic la un interval de o perioad TCLK , bistabilul basculeaz alternativ de a a a la 1 0, 0 1, 1 0 . . . rezult c perioada semnalului Q este dubl raport a a a n cu perioada semnalului de ceas TQ = 2TCLK . plus, pentru c Q comut doar In a a la fronturile acelai sens ale ceasului nu depinde de factorul de umplere al n s semnalului de ceas. Figura 3.49-e factorul de umplere al semnalului de ceas In este sub 50% pe cnd frontul de umplere al semnalului generat pe Q este de a 50% (exist o mic abatere fata de aceast valoare cu diferenta a a a ntre timpii de propagare pHL i pLH ). concluzie, semnalul obtinut pe Q este cu un factor s In de umplere 50% i are frecventa jumtate din cea a semnalului de ceas. s a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

407

Tabelul 3.4 Descrierea sintetic a bistabilelor SR, D, JK i T a s


Tipul de bistabil Tabelul Caracteristic CLK S R Q QN Tabelul de excitare si ecuatia de functionare Q(t) S R Q(t+1) Graful de tranzitie Q=0 QN=1 Simboluri de reprezentare si exemple de circuite obtenabile comercial PRESET PRESET S Q CLK R Q

0 0 Q QN(FM) 0 1 0 SR 1 0 1 0
CLK D Q

0 0

0 10 0

1 0

0 1 0 1 1 0 1 0 1 0 1

01
Q=1 QN=0 Q=0 QN=1

CLK QN R CLEAR

1 1 1/0 1/0(ND)

_ = Q QN(FM) Q(t+1) S + R Q(t) QN Q(t) D

CLEAR

74xx71
PRESET PRESET D Q

Q(t+1)

0 D 1 0 1
CLK J K

0 1
Q Q Q

1 0
QN(FM) QN(FM) QN

0 0 1 1

0 1 0 1

0 1 0 1
K Q(t+1)

0 1 1

Q Q

0
Q=1 QN=0

CLK

QN CLK CLEAR

CLEAR

Q(t+1)=D(t) Q(t) J

74xx74;74xx174;74xx374
PRESET PRESET J Q

0 0 Q QN(FM) 0 1 0 JK 0 1
CLK J K

1
_ QN

1 0 1 1 1

_ Q

0 0 0 1 1 0 1 1

0 1 0 1

Q=0 QN=1

J CLK

Q Q

Q QN(FM)

Tranzitia JK 0 A A _ 1 A A

CLK

QN CLK CLEAR

CLEAR Q=1 QN=0 Q=0 QN=1

Q QN(FM) Q(t+1)=JQ(t)+KQ(t) Q _ QN QN _ Q(t) T Q(t+1)

74xx76;74xx112;74xx109
PRESET

0 0 Q T 0 1
J= K=T

1 1 Q QN
Q QN(FM)

0 0 1 1

0 1 1 0

0 1 0 1 Q(t)

0
T Q QN

1
Q=1 QN=0

1 1

CLK

Q QN(FM) Q(t+1)=T +

pt T=1; Q(t+1)=Q(t)

CLEAR

408

3.3. CIRCUITE BASCULANTE

Tabelul 3.4 sunt sintetizate informatiile principale despre cele patru tipuri de In circuite basculante prezentate. Exemplul 3.15 Deoarece bistabilul T nu exista sub form de circuit integrat indea pendent s se modeleze functionarea sa cu circuite bistabile de tip SR, JK i D. a s
Q(t) T 0 1 0 1 T 0 0 1 0 1 0 S 0 0 0 1 1 1 T R J 0 0 K D 0 1 1 1. Conversia D T T 1 Q(t+1) Q(t) 0 1 0 0 0 1 1 0 1 1 0 T=1 CLK
Q CLK QN D

T CLK

D Q CLK QN

_ _ D=QT+QT=Q + T 2. Conversia SR

a)
0 1 0 0 1

b)

T T=1 CLK
S Q

Q(t) 0 1

Q(t) 0 1

0 0

1 1 0 T CLK

R QN

R QN

R= Q(t) T T T

_ S=Q(t) T

c)
3. Conversia JK T + CC V
J Q J Q K QN

Q(t) 0 1

0 0

1 1

Q(t) 0 1 J=K=T

T CLK

CLK

K QN

d)

Figura 3.50 Conversia bistabilelor: a) tabelul de excitatie pentru conversia SR, JK i D T; b) conversia D T ; c) conversia RS T ; d) conversia JK T . s n
Solutie. Rezolvarea acestei probleme este similar cu cea pentru sinteza bistabilului JK a prin modelarea functionrii pe un automat pe baz de bistabil SR, Figura 3.47. Concret, a a trebuie realizate sinteze de automate pe baz de bistabile SR, JK i D care modeleaz a s a functionarea bistabilului T. Functionarea bistabilului T este descris prin tabelul su de a a excitatie redat coloanele 1, 2 i 8 din Figura 3.50-a. Coloanele 3-4, 5-6 i 7 sunt valorile n s s respectiv pentru intrrile SR, JK i D, ale bistabilelor SR, JK i D, care produc aceeai a s s s comutatie ntre Q(t) i Q(t + 1) ca cea realizat de bistabilul T; aceste valori se citesc pentru s a ecare bistabil din tabelele de excitatie prezentate Tabelul 3.4. Apoi, se face sinteza n functie de excitatie pentru ecare din intrrile S, R, J, K i D pe o diagram V-K avnd ca a s a a variabile de intrare pe Q(t) i T. s 1. Conversia DT, Figura 3.50-b. Rezult functia de excitatie pe intrarea D de forma a D = Q(t) T + Q(t) T = Q(t) T , care este identic cu cea din relatia 3.25, iar pentru a T = 1 (bascul) se obtine relatia D = Q(t). Este evident, c pentru functionarea bistabilului a a D ca bascul pe intrarea acestuia trebuie aplicat valoarea de pe ieire dar negat, ceea ce a a s a se poate realiza printr-o reactie e de pe Q, printr-un element inversor comandat(XOR), e direct de pe QN .

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

409

2. Conversia SRT, Figura 3.50-c. Pentru functiile de excitatie rezult expresiile a S = Q(t)T ; R = Q(t)T , iar pentru T = 1 se obtine S = QN (t) i R = Q(t). Structurile s de circuit obtinute conform acestor relatii pot considerate i ca ind particularizri ale s a structurii de bistabil JK cu J=K=T, din Figura 3.47-h. 3. Conversia JKT, Figura 3.50-d. Functiile de excitatie sunt J = K = T , adic a intrrile bistabilului JK sunt conectate a mpreun genernd astfel intrarea bistabilului T. De a a fapt, aceast metod de conversie a stat la baza structurii bistabilului T, Figura 3.49. a a Utiliznd un procedeu ca cel folosit mai sus, pentru obtinerea bistabilului T, se poate a obtine oricare tip de bistabil prin modelarea functionrii acestuia pe celelalte tipuri de bista a bile.

3.3.3

Aplicatii la automate

prezentarea functionrii i structurii unui automat, Figura 3.7, s-a artat c pe In a s a a calea de reactie starea urmtoare Q(t + 1) devine stare prezent prin memorarea sa a a ntr-un element de memorare (registru). Acest element, de memorare, este un circuit basculant bistabil e de tip latch e de tip bistabil. Dac este de tip latch atunci a automatul, pe durata de transparenta a latch-ului, are o comportare de tip asincron pentru c reactia este continu pe aceasta durat. Iar dac este de tip bistabil atunci a a a a automatul este sincron pentru c reactia este a ntrerupt, aceasta se a nchide numai pe frontul de basculare a bistabilului cnd starea urmtoare se a a nscrie ca stare prezent. a Tipul de bistabil determin puternic doar structura semiautomatului deoarece partea a combinational a acestuia, CLC1, Figura 3.8, trebuie s calculeze functiile de excitatie a a specice tipului de bistabil utilizat. continuare se vor prezenta exemple de automate In implementate cu diferite tipuri de bistabile. Exemplul 3.16 Pentru automatul, a crui sintez s-a prezentat Exemplul 3.12 a a n s se realizeze implementarea semiautomatului cu cu bistabile D, JK i SR a s Solutie. implementarea din Figura 3.35 nu s-a specicat ce tip de element de memorie In utilizeaz bucla de reactie, acum aceast reprezentare generic de memorie va substituit a n a a a cu bistabile D, bistabile JK sau bistabile SR. Din tabelul din Figura 3.34 s-a pstrat numai a partea corespunztoare tranzitiei strilor, fr ieiri, i s-a completat cu valorile functiilor a a a a s s de excitatie pentru denirea semiautomatului implementabil cu bistabile D, JK i SR s n Figura 3.51-a. Valoarea functiei de excitatie, pentru ecare intrare a celor trei bistabile, se obtine prin citirea acesteia din tabelul de excitatie al bistabilului respectiv, Tabelul 3.4, lund considerare pe toate cile de tranzitie, comutatiile a n a ntre bitul zi (starea prezent) a i wDi,i=0,1,2 (starea urmtoare). De exemplu, pentru calea de tranzitie L5 se realizeaz s a a tranzitia de la starea prezent z2 z1 z0 =010 (q1 ) la starea urmtoare wD1 wD2 wD3 = 011 a a (q4 ), adic printr-o comutatie a bitilor de stare felul urmtor z2 = 0 wD2 = 0, a n a z1 = 1 wD2 = 1 i z0 = 0 wD3 = 1, deci atunci la o implementare cu bistabile JK, s se obtin, din tabelul de excitatie al acestui bistabil, respectiv urmtoarele valori ale bitilor a functiilor de excitatie: wJ2 wK2 = 0; wJ1 wK1 = 0; wJ0 wK0 = 1. Pentru implementarea elementului de memorare cu bistabil de tip D, valoarea functiei de excitatie este identic cu valoarea bitului strii urmtoare a bistabilului, conform relatiei a a a 3.22, de aceea tabel bitii strii urmtoare a automatului sunt notati cu wD2 , wD1 , wD0 . n a a Expresiile functiilor de excitatie pentru bistabilul D, determinate Exemplul 3.12, sunt: n

410

3.3. CIRCUITE BASCULANTE

Cale Intrari de tranz


L1 L2 L3 L4 L5 L6 L7 L8

L9 L 10

a)

L 11

q4 0 1 1 q0 0 0 0 0 q5 1 0 0 q0 0 0 0 1 0 z 1z 0 z 1z 0 00 01 00 01 11 10 z2 z2 _ x0 0 0 0 x2 x2 0 0 _ _ wJ 2= x 0z 1z 0 z 1z 0 00 01 11 z
2

wD 2 wD 0 wJ2 wK 2 wJ1 wK 1 wJ0 wK 0 wS 2 wR 2 wS 1 wR 1 wS 0 wR 0 x 2 x1 x 0 Simb z 0 z 1 z 2 Simb wD 1 q0 0 0 0 q0 0 0 0 0 0 0 0_x 0 0 0 0 x2 1 q0 0 0 0 q1 0 1 0 0 0 1 0 _ 0 0 1 x2 0 0 0 1 0 x2 x 2x 1 q0 0 0 0 q2 0 0 1 0 0 1 0 1 0 0 0 1 0 1 _ 0 0 x 0 0 0 q1 0 1 0 q3 1 1 0 1 _ x x x 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 q1 0 1 0 q4 0 1 1 0 0 q0 0 0 0 0 q2 0 0 1 0 1 0 1 1_ 0 0 x2 0 0 0 _ q2 0 0 1 q4 0 1 1 0 0 x2 1 x2 0 0 1 0 x2 0 q3 1 1 0 q4 0 1 1 1 _ 1 _ 0 0_ 1 _ 0 0 1 _ 0 x x 0 x q3 1 1 0 q5 1 0 0 0 x1 1 1 x1 0 1 0 1 0 0 1 x1 0 1 0

Starea prezenta Q(t)

Starea urmatoare (functie de excitatie pt bistabil D) Q(t+1)

Functiile de excitatie pentru intrarile J K ale bistabilelor

Functiile de excitatie pentru intrarile S R ale bistabilelor

0 10

1 0

11

1 10 _ x1

0 10 0 x1 wK 1= z 0+ x 1z 2

_ wJ 1= x 2z 2 z 1z 0 00 01 11 z
2

0 1 1 _ _ wK 2= z 1+ x 1= z 1x 1 z 1z 0 00 01 z2 0 1 0 0 0 11 0 10 _ x0 0 10 0 _ x1

0 1

1 0 1 0 0 0 0 0 1 z 1z 0 00 01 11 10 z2 _ x0 0 x 2x 1 _ x1 1 0 _ __ _ _ wJ 0= x 2 x 1z2z1+x 0z2z1+x 1z2z1 z 1z 0 00 01 11 10 z2 _ x2 1 0 1 __ wK 0= z 1+ x 2z 2 11 0 10 x0 _ x1 10 0 0 0

b)

z 1z 0 00 01 z2 0 x2 x2 1 0

11 0

10

z 1z 0 00 01 z2 _ 0 x2x1 0 1 0 01 _ x2

_ _ _ wS = x 0z 2z 1z 0 z 1z 0 2 00 01 11 z
2

0 10 0 _ x1

__ wS = x 2z 2 z 1 z 1z 0 1 00 01 11 z
2

_ _ _ _ _ _ _ wS 0 = x 2 x 1z 2z 1z 0 + x 0x 2z 1z 0 +x 1z 2z 1

z 1z 0 00 z2 0 1 0

11 1

0 1 _ _ wR 2= z 1+x 1z 2 1

0 1

c)

_ wR 1= z 2z 1 + x 1z 2

_ wR 0= z 2z 1+ x 2z 0

Figura 3.51 Explicativ pentru Exemplul 3.13: a) tabelul cu valorile functiilor a de excitatie; b,c) diagramele V-K pentru sinteza functiilor de excitatie la bistabilele JK i SR. s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

411

wD2 = x0 z 2 z1 z 0 + x1 z2 z1 wD1 = x1 z 2 z 1 + z 2 z1 z 0 + x1 z2 z1 wD0 = x2 x1 z 2 z 1 z 0 + z 2 z 1 z0 + x1 z2 z1 Din tabelul completat cu valorile functiilor de excitatie se pot deduce expresiile logice ale acestora dar pentru sintez vor necesare diagrame V-K de ase variabile de intrare: a s x2 , x1 , x0 , z2 , z1 , z0 . Se poate reduce dimensiunea acestor diagrame la diagrame de numai trei variabile z2 , z1 , z0 prin introducerea unei variabile de intrare ca variabil reziduu (un exemplu cum a se introduce doar o singur variabil reziduu este a a x2 x1 wJ0 prezentat Figura 3.28-d). starea q0 , testndu-se n In a 0 0 0 dou intrri, modalitatea cum se introduc simultan a a 1 0 0 wJ0 = x2 x1 aceste dou variabile reziduu coecientul functiei a n 1 1 0 wJ0 se prezint continuare. Prima linie i a patra a n s 0 1 1 din tabelul alturat exist denite din tabelul din a a Figura 3.51-a adic x2 = 0, x1 = 0 iar wJ0 = 0; a x2 = 0, x1 = 1 iar wJ0 = 1. Pentru liniile doi i trei se extinde linia a doua din tabelul s din Figura 3.51-a, x2 = 1, x1 = iar wJ0 = 0, la urmtoarele dou: x2 = 1, x1 = 0 iar a a wJ0 = 0 i x2 = 1 x1 = 1 iar wJ0 = 0. Expresia functiei de excitatie wJ0 = x2 x1 s-a dedus s din analiza tabelului alturat. Se obtin urmtoarele expresii pentru functiile de excitatie, a a Figura 3.51-b i 3.51-c: s Bistabilul JK wJ1 = x2 z 2 wJ0 = x2 x1 z 2 z 1 + x0 z 0 z1 + x1 z2 z1 wK1 = z0 + x1 z2 wK0 = z1 + x2 z 2 (3.27-a)

wJ2 = x0 z1 z 0 wK2 = z1 x1

(3.27-b)

wS2 = x0 z 2 z1 z 0 wR2 = z 1 + x1 z2

Bistabilul SR wS1 = x2 z 2 z 1 wS0 = x2 x1 z 2 z 1 z 0 + x0 z 2 z1 z 0 + x1 z2 z1 (3.27-c) wR1 = z2 z1 + x1 z2 wR0 = z2 z1 + x2 z0

Implementarea prtii combinationale, conform relatiilor 3.27-b i 3.27-c, se poate face a s prin oricare modalitate de implementare de circuit combinational (porti logice, DMUX+porti logice, MUX, ROM sau PLA).

implementarea automatelor se pune In ntrebarea pentru realizarea elementelor de memorare, din bucla de reactie, care din cele trei tipuri de bistabile (D, JK i SR) s este indicat a se utiliza (nu s-a considerat i bistabilul T deoarece acesta se obtine s simplu dintr-un JK). Rspunsul este mai nuantat. a Bistabilul D necesit pentru ecare bit de stare z i doar o singur functie de a a excitatie aplicat pe intrarea D. Bistabilele JK i SR necesit pentru ecare bit de a s a stare zi dou functii de excitatie pe intrare respectiv wJ i ,wKi pentru bistabilul JK i a s wSi ,wRi pentru bistabilul SR. schimb comenzile aplicate pe intrrile bistabilelor In a n a JK i SR sunt vag formulate, de forma JK = A, JK = A, raport cu o comand s exact prescris ce se aplic la bistabilul D, vezi Tabelul 3.4. Aceast ambiguitate a a a n comand determin valori don t care diagramele V-K de sintez, deci functiile de a a n a excitatie pentru bistabilul JK sunt cele mai simple apoi cele pentru bistabilul SR n

412

3.3. CIRCUITE BASCULANTE

raport cu functia de excitatie pentru bistabilul D. Se poate constata validitatea aces tei armatii prin analiza functiilor de excitatie obtinute exemplul anterior relatiile n 3.27-a,b i c. Pe un circuit integrat discret, general, sunt incluse mai multe bistabile s n de tip D dect bistabile JK, dar cu un bistabil JK se poate modela uor un D sau un a s T, general are i intrri asincrone, deci este mai versatil aplicatii. n s a n concluzie, pentru implementrile cu circuite integrate discrete pentru sisteme In a simple bistabilul de tip D este preferat bistabilului JK, pe cnd la sisteme mai coma plexe bistabilul JK prin versatilitatea sa este de preferat. schimb, structurile In n integrate sunt utilizate aproape exclusivitate bistabilele de tip D (completate cu n multplexoare pe intrare). Proiectarea i implementarea unui circuit automat pot mult simplicate, s n unele cazuri, prin utilizarea circuitelor multiplexoare. primul rnd o astfel de In a simplicare apare cazul care ecare bloc de stare al automatului se testeaz doar n n a o singur variabil de intrare, caz care acea variabil poate introdus ca variabil a a n a a a reziduu. Simplicarea poate apare chiar i cnd se testeaz mai multe intrri unele s a a a n blocuri de stare, dar expresiile coecientilor functiei pot calculate cu operatori simpli (AND,OR...) de variabilele reziduu. Sau, organigrama ASM a functiei, blocurile n unde se testeaz mai mult de o variabil, se poate aduce, prin introducerea de stri noi a a a ntre testarea a dou variabile, Figura 3.52-c, numai la blocuri care se testeaz doar a n a o singur variabil. Aceast simplicare este sustinut mai departe, in implementarea a a a a semiautomatului, dac se alege ca element de memorare bucl bistabilul de tip D. a n a al doilea rnd, simplicarea poate apare prin micorarea numrului de intrri In a s a a aplicate prtii combinationale prin utilizarea de circuite multiplexoare. Dac ecare a a n bloc de stare din cele n intrri se testeaz doar un numr q intrri, atunci aceste a a a a intrri pot selectate prin q circuite multiplexoare. Conectnd intrrile automat a a a n corespunztor pe intrrile de date ale multiplexoarelor i aplicnd cuvntul codului a a s a a de stare pe intrrile de selectare ale multiplexoarelor, atunci se obtin pentru partea a combinational doar q intrri ecare moment. Aceast modalitate este foarte a a n a indicat la realizarea prtii combinationale pe circuit ROM. Deoarece capacitatea a a circuitului ROM depinde exponential de numrul de intrri, chiar i reducerea unei a a s singure intrri la automat va determina o a njumtire a capacitii circuitului ROM. a at at Exemplul 3.17 Pentru automatul din Exemplul 3.12 s se structureze partea de a semiautomat numai cu multiplexoare i bistabile de tip D. s Solutie. Tabelul de tranzitie al strilor din Figura 3.51-a este refcut Figura 3.52 a a n dar de aceast dat valorile functiilor de excitatie ale bistabilelor wD2 , wD1 , wD0 contin a a intrrile x2 , x1 , x0 ca variabile reziduu. a Aceste functii de excitatie sunt implementate pe MUX8:1 care au ca variabile de selectare bitii cuvntului de stare z2 z1 z0 , Figura 3.52-b. Aceeai implementare pe multiplexoare se a s poate realiza pornind de la relatiile 3.27-a care se extind la forme canonice functie de cele n trei variabile z2 , z1 , z0 . Implementarea cu multiplexoare i bistabile D apare ca o variant s a atractiv de automat deoarece se realizeaz fr efort de sintez deosebit i cu un cost relativ a a a a a s sczut . a

Exemplul 3.18 Automatul din Exemplul 3.12 s se implementeze cu bistabile D i a s circuite ROM. Solutie. Pentru automatul propus, tabelul de tranzitie al strilor i al ieirilor, din a s s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


Starea urmatoare Q(t+1) Starea prezenta (Functiile de excitatie pentru bistabilii D

413

Calea Intrari de tranz

000

L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 L11

0 0 1 0 1

0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 qi Bloc de stare

0 0 0 1 1 0 0 1 1 1 0

0 0 0 0 0 1 1 0 0 1 0

0 0 0 0_ 0 0 1 0 x 2 1 x2x1 0 1 _ 1 0 1 1 x0 0 x0 1 0 0 0 0 1 x2 1 x2 0 0 1 _ 1 _ 1 x1 0 x1 0 x1 0 0 0 0 0 0

_ x0

001 010 011

x2 x2 "1"
MUX

000 001 010 011

_ x2 x1 x 2 x0
MUX

000 001 010 011

x1

100 8:1 101 110 111

_ x1

100 8:1 101 110 111

_ x1

100 8:1 101 110 111

MUX

S 2 S 1S 0

S 2 S 1S 0

S 2 S 1S 0

b)

a)

z0 z1 z2

Q QN Q QN Q QN

D0

wD

xi

Separare prin introducerea unei noi stari qj qj xj

CLK D1 D wD
1

CLK D2 D wD CLK
2

c)

CLK

Figura 3.52 Explicativ pentru Exemplul 3.17: a) tabelul de tranzitie al strilor a a cu intrrile automatului introduse ca variabile reziduu; b) implementarea cu bistabile a D i mutiplexoare; c) eliminarea testrii a dou variabile s a a ntr-un bloc de stare prin introducerea unei noi stri. a
Figura 3.34, este o form simplicat deoarece contine numai tranzitiile pe cele 11 ci de a a a tranzitie (L1 , L2 , . . . , L11 ) din tabelul de cu 64 tranzitii posibile. Automatul codicat cu trei biti z2 , z1 , z0 poate realiza ecare din cele opt stri cte opt tranzitii care corespund n a a combinatiilor de variabile de intrare x2 , x1 , x0 testate. Informatia privind efectul produs de o tranzitie necesit cte o locatie, rezult c este necesar o memorie cu 8 8 = 64 adrese, a a a a a cuvntul de adresare ind format din trei variabile de stare i trei de intrare, z2 z1 z0 x2 x1 x0 . a s Componenta cuvntului de 1 byte dintr-o locatie este: D7 = wD2 ; D6 = wD1 ; D5 = wD0 ; a D4 = y3 ; D3 = y5 ; D2 = y4 ; D2 = y2 L; D0 = y1 . Pentru maparea pe memorie a tabelului de tranzitie al strilor i ieirilor acesta trebuie completat la toate cele 64 de adrese a s s (000000 111111) prin extinderea att pentru simbolurile indiferente ale subcuvntului a a x2 x1 x0 ct i pentru codurile neutilizate pentru ale strilor 101 i 111. Rezultatul extinderii a s a s este prezentat Figura 3.53-a, unde continutul ecrei locatii este exprimat hexazecimal n a n i pentru detaliere s-a specicat la ecare locatie corespondenta la starea i calea de tranzitie. s s Capacitatea circuitului ROM este de 64 1 byte iar structura automatului este prezentat a Figura 3.53-b. general, pentru un automat cu k variabile de stare, n variabile de intrare n In i m biti de ieire capacitatea necesar este 2k+n (k + m) biti. s s a Modalitatea de micorare a capacitii circuitului ROM utilizat implementarea aus at n tomatului este, ca i abordarea clasic aplicat la oricare memorie, e de micorare a s n a a s numrului de intrri, e de reducere a numrului de biti de ieire, evident c prima variant a a a s a a este mult mai ecient deoarece are o contributie exponential. Reducerea numrului de a a a

414

3.3. CIRCUITE BASCULANTE

z2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Adresa z1 z0 x 2 x 1 x 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0

Bloc de Continut Bloc de Continut Adresa stare locatie z z z x x x stare locatie z (HEX) 2 1 0 2 1 0 (HEX) 2 q0 L1 0 3 0 1 0 1 0 1 q1 L5 6 6 1 q0 L1 0 3 0 1 0 1 1 0 q1 L4 C 2 1

q0 q0 q0 q0 q0 q0 q2 q2 q2 q2 q2 q2 q2 q2 q1 q1 q1 q1 q1

L3 L3 L2 L2 L2 L2 L6 L6 L6 L6 L7 L7 L7 L7 L4 L5 L4 L5 L4

2 2 4 4 4 4 1 1 1 1 7 7 7 7 C 6 C 6 C

3 3 1 1 1 1 3 3 3 3 7 7 7 7 2 6 2 6 2

0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1

1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0

1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

q1 q4 q4 q4 q4 q4 q4 q4 q4 q5 q5 q5 q5 q5 q5 q5 q5

L5 6 L10 0 L10 0 L10 0 L10 0 L10 0 L10 0 L10 0 L10 0 L11 1 L11 1 L11 1 L11 1 L11 1 L11 1 L11 1 L11 1

6 C C C C C C C C 2 2 2 2 2 2 2 2

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Adresa z1 z0 x 2 x 1 x 0 0 1 0 1 0 0 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 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1

Bloc de Continut stare locatie (HEX)

q3 q3 q3 q3 q3 q3 q3 q3

L8 L8 L9 L9 L8 L8 L9 L9

6 6 8 8 6 6 8 8

A A B B A A B B

a)
x2 x1 x0 z0 z1 z2

x 2x1x0 z2z1z 0

000 001 010 011 100 101 110 6A 6A 8B 8B 6A 6A 8B 8B 111 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ D7 D6 D5 D4 D3 D2 D1 D0

000 03 13 C2 0C 12 __

001 010 03 23 13 13 66 C2 0C 0C 12 12 __ __

ROM

011 100 23 41 13 77 66 C2 0C 0C 12 12 __ __

(64x8 biti)

101 110 41 41 77 77 66 C2 0C 0C 12 12 __ __

111 41 77 66 0C 12 __

x2 x2 x0 x1 x1

000 001 010 011MUX 100 8:1

101 110 111 S2 S1 S0

z2 z1 z0

0 0 0 0 1 1 1 1

ROM 16 x 8 biti 1 z2 z1 z0 P 0

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

A 1 C 0 1 0 6

3 3 2 C 2 3 A

4 7 6 0 1 2 8

1 7 6 C 2 3 B

D7 D6 D5 D4 D3 D2D1 D0 Q

CLK wD 2 wD 1 wD 0
D CLK D CLK D CLK Q QN Q QN Q QN

Q Q

Q Q

y3

y4 y2_L

y1

CLK D CLK D CLK D

CLK wD 2

y4 y3 y
5

y1 y2_L

wD 1

b)

c)

wD 0

Figura 3.53 Explicativ pentru Exemplul 3.18: a) tabelul de tranzitie al strilor a a i al ieirilor extins pentru maparea s s ntr-un circuit ROM de capacitate 64 8 biti; b) structurarea automatului pe un circuit ROM i bistabile D; c) structurarea aceluiai s s automat cnd se testeaz doar o singur intrare ecare bloc de stare. a a a n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

415

intrri se poate aplica cu succes la automatele care testeaz ecare stare doar o singur a a n a intrare din cele n, deci cuvntul de adresare rezult cu lungimea de (k + 1) biti, capacitatea a a circuitului ROM rezult de 2k+1 (k + m) biti, se obtine o reducere de 2n1 ori. Pentru a automatul din acest exemplu nu putem ( a!) aplica aceast modalitate deoarece starea nc a n q0 (000) se testeaz simultan att x2 ct i x1 . a a a s Automatul poate redus la un automat care testeaz ecare stare doar o singur a n a intrare dac se aplic procedeul prezentat Figura 3.52-c, adic introducerea unei stri noi a a n a a q6 ntre punctele de testare ale variabilelor de intrare x2 i x1 din blocul de stare q0 . Rezult s a astfel: 1- blocul de stare q0 (000) tranzitia q0 q6 pe calea L1 = x2 i tranzitia q0 q1 pe n s s calea L2 = x2 ; 2- blocul de stare q6 (101) tranzitia q6 q0 pe cale L12 = x1 i tranzitia n q6 q2 pe calea L3 = x1 . Ieirile starea q6 sunt identice cu cele din starea q0 , ceea s n ce apare pentru functionarea automatului, cnd x2 =0, ca o stationare de doua tacte q0 . a n Tabelul automatului din Figura 3.34 se modic prin introducerea strii q6 i a noilor ci de a a s a tranzitie L1 , L12 i L3 (ceea ce trebuie introdus i forma expandat din Figura 3.53-a). s s n a Pentru automatul modicat structurarea este cea din Figura 3.53-c. ecare bloc de In stare prin cuvntul de cod al strii z2 z1 z0 , aplicat pe intrrile de selectare al MUX8:1, se a a a selecteaz doar valoarea variabilei de intrare testate, notat cu P , deci cuvntul de adresare a a a este z2 z1 z0 P . La adresa z2 z1 z0 0 este stocat informatia din blocul respectiv de stare cnd a a tranzitia are loc dup calea P = 0, iar la adresa z2 z1 z0 1 este stocat informatia dup calea a a a de tranzitie P = 1. Aceast structurare se poate extinde i pentru cazul cnd sunt testate a s a simultan dou intrri a a ntr-un bloc de stare, cazul general capacitatea memoriei ind de n 2k+2 (k+m) biti. Pentru aceast implementare pe intrare sunt necesare dou multiplexoare a a care ecare bloc de stare, prin cuvntul de cod z2 z1 z0 , selecteaz cele dou variabile testate n a a a notate cu P1 i P0 , iar cuvntul de adresare la memorie are forma z2 z1 z0 P2 P1 . Fiecare stare s a necesit patru locatii(/adrese) pentru stocarea informatiilor corespunztoare cele patru ci a a a de tranzitie P1 P0 = 00, 01, 10 i 11. s Bitul de adresare P , identic cu valoarea variabilei de intrare testate ntr-un bloc de stare i utilizat pentru selectarea a uneia din cele dou adrese corespunztoare celor dou ci de s a a a a tranzitie, poate utilizat pentru selectare nu ca un bit de adresare ci ca un bit de validare asupra cuvntului citit din locatia de adres z2 z1 z0 . aceast variant cmpul cuvntului a a In a a a a stocat la o adres are lungimea dubl, deoarece cuprinde att semicuvntul cu informatie a a a a pentru P = 0 ct i semicuvntul cu informatie pentru P = 1, plus a un subcuvnt care a s a nc a contine valorile intrrilor x2 x1 x0 . Notnd [z2 z1 z0 ] continutul unei locatii de adres z2 z1 z0 a a a atunci din tabelul memoriei de la Figura 3.53-c se poate obtine continuturile locatiilor de la aceast variant prin urmtoarea concatenare x2 x1 x0 [z2 z1 z0 0][z2 z1 z0 1]. Una din intrri din a a a a acest subcuvnt, pentru un bloc de stare z2 z1 z0 , va selecta prin valoarea sa, din cuvntul a a stocat la adresa z2 z1 z0 , e semicuvntul pentru P = 0, e semicuvntul pentru P = 1. a a Implementarea automatului conform acestei variante de utilizare a bitului variabilei testate este prezentat Figura 3.54. Pentru ecare bloc de stare z2 z1 z0 , subcuvntul a n n a x2 x1 x0 , intrarea care se testeaz are valoarea 1. De exemplu, dac blocul de stare a a n z2 z1 z0 = 001, cnd se tasteaz x2 (= 1) i dac a a s a ntr-adevr intrarea x2 are valoarea 1 a atunci prin poarta P2 se aplic la grupul 8MUX 2:1 selectarea P = 1, iar pe ieire rezult a s a semicuvntul 01110111 (77H), altfel rezult semicuvntul pentru P = 0, adic 00010011 a a a a (13H). cazul general, cnd se testeaz doar o singur intrare ecare bloc de stare, In a a a n capacitatea memoriei este 2k (n + 2k + 2m). Aceast modalitate de implementare se poate extinde i la cazul cnd se testeaz dou a s a a a intrri ecare bloc de stare. De aceast dat cuvntul din ecare locatie cuprinde patru a n a a a subcuvinte, corespunztoare celor patru tranzitii posibile, plus a dou subcuvinte de a nc a variabilele x2 x1 x0 ecare indicnd una din cele dou variabile care se testeaz. Evident, se a a a genereaz doi biti de selectare P1 i P0 prin a cror combinatii 00, 01, 10 i 11 se selecteaz a s a s a una din intrrile grupului de 8MUX 4:1. Capacitatea necesar a circuitului ROM este a a

416
ROM (8 x 19)biti
Q Q Q Q Q Q z2 z1 z0 z2 z1 z0

3.3. CIRCUITE BASCULANTE

CLK
CLK D CLK D CLK D

P=0
WD 2 WD 0 WD 1 y

P=1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0
3

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

WD 2 WD 0 WD 1 y y y y y x2 x1 x0 3 5 4 2_L 1

1 1 0 0 0 0 0

0 0 0 0 0 1 1

0 0 1 0 0 0 0

1 0 1 0 0 0 0

0 0 1 0 0 0 1

1 0 0 0 0 0 1

0 1 0 0 1 0 0

0 0 0 1 0 0 1

y5 y4 y2_L y1

0 0 0 1 0 0 0

0 1 1 1 0 0 0

0 1 1 0 1 1 1

1 1 0 0 0 1 1

x2 x1 x0

P2

P1

P0

0 1 MUX 2:1

0 1 MUX 2:1

0 1 MUX 2:1

0 1 MUX 2:1

0 1 MUX 2:1

0 1 MUX 2:1

0 1 MUX 2:1

0 1 MUX 2:1

y3

y5

y4

y2_L

y1

Figura 3.54 Explicativ pentru Exemplul 3.18. Utilizarea valorii variabilei a testate ntr-un bloc de stare pentru selectarea subcmpurilor cuvntului stocat la o a a adres z2 z1 z0 . a
2k (2n + 4k + 4m).

Pentru o functionare corect a automatului prin relatia 3.7 se poate calcula pe a rioada minim a semnalului de ceas. cazul cnd automatul are cel putin o varia In a abil de intrare sincron trebuie luat considerare i timpul de transfer al acestei a a n s variabile din momentul aplicrii impulsului de ceas la bistabilul de intrare (de sina cronizare). Acest timp de transfer este compus din: pBI timpul de propagare prin bistabilul de sincronizare de intrare plus pmaxCLK -timpul maxim de propagare prin reteaua combinational, plus SUQ -timpul de prestabilire la bistabilul de stare. a Deoarece se comand cu acelai semnal de ceas att bistabilele din registrul de sina s a cronizare de pe intrare ct i cele din registrul de stare perioada minim trebuie s a s a a respecte relatia: TCLKmin max {(pmaxCLK + pBQ + SUQ ), (pmaxCLK + pBI + SUQ )} (3.28)

Sinteza automatelor prezentate pn acum a urmat, mai mult sau mai putin, o suca a cesiune de faze descrise sectiunea 3.2.6, ultima faz ind elaborarea documentatiei. n a practic, sunt frecvente cazurile cnd pentru un automat nu exist documentatie In a a a i astfel, s-ar putea, s nu se eleag functionarea sa. Functionarea automatului s a nt a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

417

este descris clar printr-o diagram de tranzitie a strilor sau un graf de tranzitie/ora a a ganigram ASM. Solutia? pornind de la structura automatului(schema electric) i a a s parcurgnd sens invers succesiunea procesului de sintez, se ajunge la tabelul de a n a tranzitie al strilor i graful de tranzitie al strilor. Acest proces, invers al sintezei, a s a este analiza automatului. Etapele care se parcurg procesul de analiz, pornind de n a la schema electric a automatului sunt: a 1. Identicarea structurii automatului. Aceasta nseamn segregarea prtii combia a nationale de cea de memorare (bistabilele din bucla de reactie i identicarea acestora s sunt cazuri cnd sunt utilizate mai multe tipuri de bistabile). Uneori, de mare a folos este redresarea schemei sub forma clasic de automat ca Figura 3.7 sau 3.8. a n Se identic intrrile principale, ieirile, variabilele de stare (intrrile secundare), a a s a variabilele functii de excitatie i, dac este necesar, alegerea unor denumiri/simboluri s a pentru acestea. 2. Din analiza prtii combinationale se deduc ecuatiile logice ale ieirilor functiilor a s de excitatie, functie de cele n variabile de intrare i k variabile de stare. n s 3. Construirea tabelului de tranzitie al strilor i al ieirilor. Pentru toate com a s s binatiile ntre cele 2k stri prezente i 2n cuvinte de intrare se determin strile a s a a urmtoare prin utilizarea relatiilor deduse pentru functiile de excitatie i tabelele a s caracteristice (vezi Tabelul 3.4) ale tipurilor de bistabile folosite. Strile urmtoare a a se pot calcula i prin: introducerea expresiilor functiilor de excitatie ecuatiile de s n functionare ale bistabilelor folosite; introducnd expresiile rezultate toate combi a n natiile de 2k stri prezente i 2n cuvinte de intrare, obtinndu-se astfel valorile bitilor a s a strilor urmtoare. a a 4. Construirea grafului de tranzitie al strilor/organigrama ASM. Asigurnd sim a a boluri literale pentru ecare cod de stare, din tabelul de tranzitie al strilor i ieirilor, a s s se poate desena graful de tranzitie. Eventual, dac nu sunt multe variabile, se poate a trasa diagrama de variatie timp a semnalelor. n Exemplul 3.19 Pentru automatul cu schema electric din gura 3.55-a s se deduc a a a graful de tranzitie al strilor. a Solutie: Analiza acestui automat se va face marcnd etapele specicate anterior. a 1. Structura automatului poate redesenat ca Figura 3.55-b. Se observ c ieirile a n a a s sunt de fapt tocmai bitii de stare z1 , z0 , deci este un automat Moore. 2. Functiile de excitatie au expresiile:
wJ1 = z0 , wK1 = xz0 wJ0 = x, wK0 = xz1 + xz1 = x z1 3. Tabelul de tranzitie al strilor, Figura 3.55-c. Se determin starea urmtoare a a a z1 (t + 1)z0 (t + 1) pentru ecare din cele opt combinatii ale intrrii x i strii prezente z1 z0 . a s a tabel s-au introdus i valorile intrrilor wJ1 , wK1 , wJ0 , wK0 ale celor dou bistabile In s a a JK (coloanele 4,5,6,7), valori calculate cu ajutorul relatiilor functiilor de excitatie pentru toate cele opt combinatii de intrare. Valorile din coloanele 4,5,6 i 7 nu fac parte din tabel s dar s-au introdus pentru o mai uoar determinare a strii urmtoare din starea prezent. s a a a a Utiliznd tabelul caracteristic al bistabilului JK, vezi Tabelul 3.4, pentru ecare conguratie a de intrare xz1 z0 se deduc valorile bitilor strii urmtoare z1 (t + 1)z0 (t + 1). a a Expresiile bitilor strii urmtoare se pot obtine i prin introducerea functiilor de excitatie a a s

418

3.3. CIRCUITE BASCULANTE

CLK K

A z1 x wJ 1 wK 1 wJ wK CLK
0 0

x B _ x

Q QN

Q1

CLK

K J

CLK

z0

Q QN

a)
1 q0 0 q1 1 0 q2 0 q3 0 1

CLK Starea Starea prezenta urmat. x 0 1 q0 q1 q0 q 1 q 3 q2 q2 q3 q2 1 q3 q1 q3 00 10 q0 ; 01 q2 ; 11 q1 q3

b)

Q0

CLK

d)

c)

Intr. Starea Intrari bistabile Starea urmat. prezenta x z 1 z 0 wJ1 wK 1 wJ0 wK 0 z 1 (t+1) z 0 (t+1) 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0

Figura 3.55 Explicativ la Exemplul 3.19: a) schema electric a automatului; a a b) schema electric redesenat structura clasic de automat; c) tabelul de tranzitie a a n a al strilor; d) graful de tranzitie al strilor. a a
deduse anterior relatia 3.27 de functionare a bistabilului JK: n z1 (t + 1) z2 (t + 1) = = = = w1 J1 z 1 (t) + wK1 z1 (t) = z0 z 1 (t) + (x + z 0 (t))z1 (t) = z 1 z0 + xz1 + z1 z 0 wJ0 z 0 (t) + wK0 z0 (t) = x z 0 (t) + (x z1 (t)) z0 (t) = x0 z 0 + x z 1 z0 + xz1 z0

ultima form s-a scris z loc de z(t). Valorile din coloanele 8 i 9 din tabelul de In a n s tranzitie al strilor se pot calcula i cu aceste relatii pentru toate conguratiile xz 1 z0 . a s 4. Asignnd codurile de stare felul urmtor: 00 q0 , 01 q1 , 10 q2 , 11 q3 se a n a obtine graful de tranzitie al strilor, Figura 3.55-d. a

3.3.4

Circuitul basculant bistabil asimetric (Triggerul Schmitt)

Circuitul asincron obtinut prin legturi simetrice a ncruciate s ntre dou inversoare, a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

419

R1 I1 II

VI I 1 VOH I 2 2 R2 Q VOL

VO c D a Vp b Vp + VI

VCC =5 V
I CT
1

I R 1 CT 2 3,3K T1 RE 1K IE

R2 2,6K VO T2

1 I 2 QN

VI

a)

b)

c)
4K

RS VI d) R1

VO R2 Vy

V DD =+5V T4 T3 Vx T2 Vz T1 T5 T6 VO VDD A B C D

VCC 130 T6 T5 T1 T2 T4 VO T3

V ref VO V OH

D4 D3 D2 D1

VI

VOL

e)

Vp

Vp+

VI

f)

g)

Figura 3.56 Triggerul Schmitt: a,b) structura de principiu i caracteristica static s a de transfer, neinversoare; c) structur realizat cu tranzistoare bipolare; d,e) struca a tura i caracteristica de transfer pentru un trigger Schmitt realizat cu amplicator s operational; f) structur tehnologie CMOS; g) structur de poarta NAND4 trigger a n a Schmitt tehnologie TTL. n

Figura 3.36-a i b, prezint caracteristica static de transfer, Figura 3.36-c, dou s a n a a stri stabile; circuitul acesta ind celula elementar pentru toate circuitele(bascua a lante) bistabile. Dar dac legturile de conectare a a ntre cele dou inversoare nu mai a sunt simetrice din punct de vedere al conductantei, una incluznd o rezistenta R 2 , se a obtine un circuit, Figura 3.56-a, referit ca trigger Schmitt care prezint o caracteristic a a static de transfer similar cu cea a unui releu cu histerezis, Figura 3.56-b. a a Considernd o variatie a tensiunii de intrare la triggerul Schmitt, V I , de la valoarea a 0V pn la tensiunea de alimentare i apoi sens invers la valoarea 0V , tensiunea de a a s n ieire VO (Q) va bascula de la valoarea VOL la VOH , cnd VI = Vp+ , i de la VOH la s a s s a VOL , cnd VI = Vp ; cele dou valori(praguri) de basculare, Vp+ i Vp neind egale, a acestea ind deprtate cu limea de histerezis = V p+ Vp . Pentru determinarea a at valorilor caracteristicii de releu cu histerezis se va utiliza notiunea de prag logic de comutatie al unei porti VT (pragul logic de comutatie al unei porti denete acel s punct pe caracteristica static de transfer unde tensiunea de intrare este egal cu cea a a

420

3.3. CIRCUITE BASCULANTE

de ieire VT = VI = VO ; acest punct, practic, curentul de intrare poarta este s n n II = 0). Ecuatia de curenti punctul A se reduce la egalitatea I 1 = I2 care este n ndeplinit doar cnd tensiunea de intrare inversor este V T . La creterea tensiunii a a n s n de intrare VI cnd aceasta devine egal cu Vp+ , tensiunea punctul A are valoarea a a VT , iar ieirea basculeaz de la VOL la VOH se pot scrie relatiile: s a V + VT VI V A = P R1 R1 VA V O VT VOL = R2 R2

I1 =

I2 =

iar din egalitatea curentilor se obtine expresia Vp+ = VT (1 + R1 R1 ) VOL R2 R2 (3.29-a)

Similar, la descreterea tensiunii VI , cnd aceasta devine egal cu Vp , tensiunea s a a punctul A are valoarea VT , iar ieirea basculeaz de la VOH la VOL , rezult relatiile: n s a a VT V p VA V I = R1 R1 VO V A VOH VT = R2 R2

I1 =

I2 =

iar din egalitatea curentilor se obtine expresia Vp = VT (1 + Expresia limii histerezisului ind at = V p+ V p = R1 (VOH VOL ) R2 (3.30) R1 R1 ) VOH R2 R2 (3.29-b)

Pentru o poart inversor 74LS04 cu VOL = 0, 2V ; VOH = 3, 6V ; VT = 1, 7V i a s s alegnd raportul R1 /R2 =0,37 se obtin: Vp = 1V , Vp+ = 2V i = 1V . a O structur de trigger Schmitt cu tranzistoare, care are o caracteristic static de a a a transfer de aceeai form cu cea din Figura 3.56-b este prezentat Figura 3.56-c s a a n [Toace 96]. Cele dou inversoare sunt realizate cu cele dou tranzistoare T 1 i T2 , s a a s existnd gurat doar o singur legtur de reactie din colectorul lui T 1 baza lui a a a a a n T2 . Reactia de la amplicatorul cu T2 la amplicatorul cu T1 apare ca un efect al cderii de tensiune produs de ICT 2 pe rezistenta comun din emitor RE i care se a a a s aplic la intrarea tranzistorului T1 , VI = VBE + IE RE , IE = ICT 1 + TCT 1 (rezistenta a RE simuleaz un generator de curent constant emitoare, deci I E const.). Cnd a n a VI = 0, T1 blocat, T2 saturatie VO = VOL . La creterea lui VI VBET1 on + n s IE RE , tranzistorul T1 intr conductie i prin micorarea tensiunii pe colectorul su a n s s a comand, prin legtura de reactie, a a nspre blocare tranzistorul T 2 , adic micorarea a s curentului ICT 2 . Dar pentru c IE const., curentul ICT 1 va crete i va provoca o a s s mai pronuntat scdere a tensiunii colector deci o comand continuare de blocare a a n a n pe baza lui T2 (iat efectul de reactie pozitiv prin RE !). La o valoare a tensiunii de a a a n s intrare VI =Vp+ , T2 se blocheaz, T1 conduce saturatie, tensiunea de ieire a basculat de la VOL la VOH . Invers, apare ca efect reactia pozitiv la scderea tensiunii de a a intrare, iar cnd ajunge la VI = Vp apare bascularea de la VOH la VOL . Cu valorile a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

421

de rezistente din gur i VBE(on) = 0, 7V , VBE(sat) = 0, 8V , VCE(sat) = 0, 1V se a s obtin: Vp+ = 2, 5V , Vp = 1, 6V , = 0, 9V . O idee practic pentru realizarea unui trigger Schmitt pe baza unui amplicator a operational este prezentat Figura 3.56-d, cu o caracteristic inversoare, Figura a n a 3.56-e. Reactia pozitiv se obtine de pe divizorul R 1 , R2 a ntre VO i Vref , iar VI se s aplic pe intrarea inversoare (aplicnd reactia a a nspre intrarea inversoare iar V I pe intrarea neinversoare se obtine o caracteristic static de tip releu neinversoare). De a a pe divizorul rezistiv R1 R2 se obtin relatiile: Vp+ = Vref + Vp R1 (VOH Vref ) R1 + R 2 R1 (VOL Vref ) = Vref + R1 + R 2 R1 = (VOH VOL ) R1 + R 2

(3.31)

Cu aceste relatii, caracteristica inversoare s existe aceleai valori ca la caracter n a s a istica neinversoare prezentat anterior Vp+ = 2V , Vp = 1V , = 1V , se calculeaz a Vref = 1, 335V i R1 /R2 = 0, 416. s O structur de trigger Schmitt tehnologie CMOS este prezentat Figura a n a n 3.56-f care realizeaz o caracteristic static de releu cu histerezis, inversoare ca a a a n Figura 3.56-e. Cnd VI = 0 tranzistoarele T3 i T4 sunt conductie dar conduc un a s n curent neglijabil deoarece T1 i T2 sunt blocate (Se consider tensiunile de prag ale s a tranzistoarelor Vpn = +1, 0V , Vpp = 1, 0V ), T6 este blocat, T5 este saturatie, n Vy = Vx 5V iar Vz = VDD VT 5 = 3, 5V . Cnd VI la Vpn = 1, 0V , T1 intr a a n conductie i s mpreun cu T5 formeaz un amplicator, existnd tendinta de scdere a a a a s a tensiunii Vz , dar T2 este blocat. Crescnd VI = Vp+ , tensiunea VGS,T2 Vpn , i a succesiune: T2 intr conductie, Vx = Vz = 0V , T5 intr blocare, T3 intr n a n a n a n blocare atrgnd dup sine intrarea conductie a lui T 6 , tensiunea de ieire comut a a a n s a de la VDD la 0V. Pornind, cu VI = 5V , napoi T4 , T3 sunt blocate iar T6 este n conductie. ai intr conductie T4 apoi T3 iar T6 se blocheaz, reteaua n, T1 , T2 Int a n a n se blocheaz i T5 va conduce deci s-a realizat la Vp comutatia tensiunii VO de la 0V as la VDD . Structura din Figura 3.56-g prezint o poart NAND4 trigger Schmitt. Triggerul a a Schmitt este format cu un amplicator pe tranzistoarele T 1 , T5 iar cellalt amplicator a pe T2 , similar ca Figura 3.56-c, i este plasat structura portii n s n ntre circuitul SI de intrare, compus din diodele D1 D4 , i circuitul defazor T2 care comand circuitul s a de ieire T3 , T4 . s Circuitul trigger Schmitt, prezentnd o caracteristic static de releu cu histerezis, a a a care comut rapid datorit reactiei pozitive (basculare) poate utilizat ca discrimia a a nator de nivel (prin cele dou praguri Vp+ , Vp ), este recomandat pentru urmtoarele a tipuri de aplicatii: 1. Obtinerea unei comutatii rapide a ieirii pentru variatii lente pe intrare (for s marea semnalelor cu front necorespunztor, discretizarea semnalelor analogice a semnale binare etc.). n 2. Reducerea (eliminare) efectelor zgomotului asupra semnalului util (prin prezena histerezis-ului). t

422

3.3. CIRCUITE BASCULANTE

Exemplul 3.20 Cu o poart 74HC132 (NAND2 cu trigger Schmitt pe intrare) s a a se realizeze un oscilator cu freventa de 10Hz utiliznd un condensator C = 0, 47F , Figura a 3.57-a. Solutie. Poarta 74HC132 avnd o caracteristic de tip releu cu histerezis inversor printr a a o conectare a ieirii la intrare rezult o structur de oscilator cu perioada de oscilatie T = 2 p , s a a p ind timpul de propagare prin poart. Pentru mrirea perioadei oscilatiilor reactia este a a realizat printr-o retea RC integratoare. a Intr-o astfel de retea, variatia timp a tensiunii n pe condensator vC (t), pornind de la tensiunea initial v(0) iar pe intrare se aplic o treapt a a a de tensiune V = v(), este exprimat prin relatia : a
vC (t) = v() [v() v(0)]e RC
t

(3.32)

momentul t = 0, cnd tensiunea pe condensator scade la valoarea de prag Vp , In a tensiunea de ieire, vO , va comuta de la VOL = 0V la VOH = VDD . Acest salt al tensiunii de s ieire aplicat pe intrarea retelei integrative va determina creterea tensiunii pe condensator, s s care momentul t = T1 atinge valoarea de prag basculare Vp+ n vC (T1 ) = Vp+ = VDD (VDD Vp )e
R 74HC132
VOH
T1 RC

T1 = RC

VDD Vp VDD Vp+

VDD V p+ V p

vO vC t T1 T1+T2 2T1+T2

Vo
VDD

vC

C VOL

Vp

Vp +

Vi

vO

0V t=0

a)

b)

Figura 3.57 Circuit oscilator obtinut pe baza unei porti (7HC132) inversor trigger Schmitt

Deoarece momentul T1 tensiunea de ieire comut de la VOH = VDD la VOL = 0V n s a tensiunea pe condensator ncepe s scad pn momentul t = T1 + T2 cnd se atinge a a a a n a valoarea de prag de basculare Vp vC (T1 + T2 ) = Vp = 0 (0 Vp+ )e rezult perioada oscilatiei a T = T1 + T2 = RC ln Vp+ (VDD Vp ) Vp (VDD Vp+ )
T2 RC

T2 = RC ln

V p V p+

Cu valorile Vp+ (tipic) = 2, 38V , Vp (tipic) = 1, 68V , C = 0, 47F , T = 0, 1s se obtine R= 1 0, 47 106 ln 2,38(4,51,67) 1,67(4,52,38) = 330k

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

423

Pe intervalul de variatie de temperatur 40 C +80 C, Vp+ (max) poate crete pn a s a a la 3, 15V iar Vp min poate scdea la 0, 9V . Cu aceste valori extreme i R = 330K i a s s C = 0, 47F introduse relatia anterioar se obtine pentru frecventa generat valoarea de n a a 2, 9Hz!

3.3.5

Circuitul basculant monostabil

Pornind, de asemenea, de la celula de baz, Figura 3.36-b, se obtine structura de a principiu a circuitului basculant monostabil monostabilul dac una din legturile a a de reactie rmne galvanic iar cealalt se realizeaz capacitiv, Figura 3.58-a. Aceasta a a a a a nseamn c se transmite (prin condensatorul C x ) de la ieirea portii 1 la intrarea a a s portii 2 numai variatii, regim static transferul (pentru componenta continu) este n a ntrerupt. Functionarea de principiu a monostabilului este urmtoarea. Circuitul se a pstreaz a a ntr-o stare stabil, Q = 0 QN = 1, un timp indenit, dac nu se aplic un a a a impuls din exterior. La aplicarea unui impuls, din exterior, monostabilul basculeaz a starea opus, Q = 1 QN = 0, care este mentinut de o reactie pozitiv a celor n a a a dou legturi a a ncruciate. Dar aceast reactie pozitiv exist doar intervalul de s a a a n timp w , care corespunde duratei regimului tranzitoriu prin condensatorul C x , dup a care se ntrerupe, iar monostabilul revine starea Q = 0 Q N = 1. Durata regimului n tranzitoriu este functie de constanta de timp a legturii de reactie care este introdus a n condensatorul. Modicnd aceast constant de timp apare, evident, posibilitatea ca a a a acest circuit s poat genera/marca intervalele de timp controlabile (releu de timp). a a
T T Cx 1 QN 2 Q V DD Rx x vx QN

a)

b)
Cx CX RX QN

Q Impulsuri ignorate la triggerare

Rx T

d)Q e)

Retriggerare

c)

Figura 3.58 Circuitul basculant monostabil (Monostabilul): a,b,c) structur, a diagrame de semnal i simbol de reprezentare; d) diagrama de semnale pentru cos mand normal; e) diagrama de semnale pentru comanda cu retriggerare. a a

424

3.3. CIRCUITE BASCULANTE

Monostabilul din gur este realizat cu porti NOR CMOS. Reamintim caracterisa ticile portilor CMOS: salt de tensiune ntre 0 i V DD ; curent de intrare neglijabil, prag s de basculare VT = VDD /2 (dar dac diodele de protectie de pe intrare se polarizeaz a a n sens direct functionarea portii se modic). starea stabil a monostabilului ieirea a In a s portii 1 este VO1 = VDD , ieirea portii 2 este VO2 = 0V , intrarea portii 2 este n s n vx = VDD , deci tensiunea pe condensator vCx (t = 0) = 0V . La aplicarea unui impuls pozitiv de comand T pe intrarea portii 1 ieirea acesteia comut V O1 = 0V ,care a s a n transmis prin condensatorul Cx determin tensiunea punctul x vx = 0V , ieirea a a n s portii 2 comut VDD , iar aceast tensiune de ieire aplicat pe intrarea portii 1 a n a s a face ca s nu mai e necesar prezenta impulsului T (reactia pozitiv s-a realizat). a a a continuare, printr-un curent de la VDD , prin rezistenta Rx i ieirea portii 1, conIn s s densatorul Cx se ncarc (constanta de timp ind Rx Cx ) iar tensiunea vCx va crete a s de la vCx (t = 0) = 0V nspre vCx (t = 0) = VDD . Dar, dup un interval de timp w , a tensiunea pe condensator atinge valoarea de prag de comutatie V T a portii 2, ieirea s acestei porti comut V02 = 0V , iar aceast tensiune aplicat la intrarea portii 1 a n a a comand ieirea acesteia starea VO1 = VDD . Tensiunea pe condensator devine a s n zero, VO1 vx = VDD VDD = 0, transferul prin condensator se ntrerupe, deci starea QN = 0, Q = 1 s-a terminat; variatiile de tensiune sunt prezentate Figura n 3.58-b. Un monostabil comandat din exterior cu un impuls negativ se obtine printr-o structur cu porti NAND. Calculul intervalului w , de existenta a strii instabile, se a a realizeaz pornind de la expresia variatiei tensiunii pe condensator, relatia(3.32), a n care se introduce valoarea de prag de comutatie V T i se obtine s VT = VDD (VDD 0)e Rx Cx w = Rx Cx ln iar pentru VT =
VDD 2
w

VDD VDD VT (3.33)

rezult a w = 0, 69Rx Cx

Modul de comand normal a unui monostabil este reprezentat prin diagrama de a a semnale din Figura 3.58-d (de exemplu circuitul 74LS121 care poate genera intervale de timp ntre 30ns i 28s). Dar, exist i monostabile cu facilitatea de retriggerare s as (74LS122). Functionarea cu retriggerare, Figura 3.58-e, realizeaz printr-un nou a impuls T de comand aplicat pe intrare o nou declanare a unei stri Q N = 0 Q = 1, a a s a deci nceperea unui nou interval de timp w , chiar dac anterior a fost comandat un a interval w i acesta a nu s-a consumat. s nc general, la circuitele monostabile semnalul de comand T se obtine din conjunIn a ctia mai multor semnale de intrare, cum este la circuitul 74LS121, unde concur trei a s a intrri A1 , A2 i B conform relatiei T = A1 A2 B. Valoarea T = 1 se realizeaz a s a pentru combinatiile BA1 A2 = 100, 101 i 110, deci att pentru fronturi pozitive s a ale lui B ct i pentru fronturi negative ale lui A 1 i A2 , rezultnd o exibilitate a a s comenzii monostabilului att cu impulsuri pozitive ct i negative. Se poate realiza, a a s de exemplu, arzierea cu decalaj w variabil a unei succesiuni de impulsuri prin nt nserierea a dou monostabile; primul, dimensionat prin R x Cx , s produc arzierea a a a nt variabil w , iar al doilea s reproduc limea impulsurilor aplicate la primul. a a a at Marcarea intervalelor de timp, precum i reproductibilitatea lor nu pot avea o s precizie foarte ridicat cu ajutorul monostabilului. Aceasta se explic prin fapa a tul c determinarea momentului timp rezult punctul de intersectie a n a n ntre o

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

425

dreapt orizontal care reprezint o tensiune de prag prescris V T i o curb cu o a a a a s a variatie exponential (variatia tensiunii de pe un condensator, v C (t)). Mai ales cnd a a t 3T (T = RC constanta de timp), tensiunea pe condensator se orizontalizeaz iar a intersectia ntre vC (t) i VT devine foarte putin precis. Precizia intersectiei poate s a mbuntit dac arcarea/descrcarea condensatorului se face sub curent cona at a a nc a stant; acest caz variatia tensiunii pe condensator are o variatie liniar v C (t) = kt. n a Aceast modalitate de marcare a timpului prin arcarea/descrcarea unui condena nc a sator este specic electronica analogic. electronica digital intervale de timp a n a In a se obtin prin contorizarea unui numr prescris de impulsuri dintr-o succesiune de a frecventa constant. a

3.3.6

Circuitul basculant astabil

La fel, ca la monostabil, i circuitul basculant astabil (uneori referit ca multis vibrator) se obtine din structura celulei de baz, Figura 3.36-b, dar prin realizarea a capacitiv a ambelor legturi de reactie, deci se propag a a a ntre cele dou inversoare a numai regimurile tranzitorii, Figura 3.59-a. Transmitandu-se ntre portile inversor numai regimurile tranzitorii circuitul este caracterizat numai de dou stri instabile. a a Dup cum la monostabil durata strii instabile, pe un inversor, este determinat de a a a valoarea constantei de timp a circuitulu Rx Cx , la fel i la astabil durata unei stri s a instabile este deteminat de constanta de timp a circuitului RC de la intrarea ina versorului respectiv. Perioada semnalului dreptunghiular generat este suma duratei celor dou stri instabile. cazul cnd cele dou constante de timp sunt egale, a a In a a R1 C1 = R2 C2 , factorul de umplere al semnalului generat este de 50%. Pentru analiza comutatiei alternative ntre cele dou porti vezi problema P3.50. a
R1 1 C2 C1 R2 2 V CC
1/4 1 2

74S300 1
3

1/4

74S300 2 330
6

1/4 13 12

74LS00 3
11

+5V VO

100pF C2 XTAL 4MHz

4 5

330 QN Q 120pF

a)

b)

Figura 3.59 Circuitul basculant astabil (Astabilul): a) structur de principiu; a b) structur de astabil avnd frecventa (4M Hz) stabilizat cu cuart. a a a Avantajul simplitii acestei structuri de astabil, realizat cu porti logice, este at diminuat de lipsa de stabilitate a frecventei semnalului generat(cauze: praguri diferite de deschidere pentru porti, variatia temperaturii, variatia tensiunii, atrnirea com mb a ponentelor). Circuitele astabile care genereaz o frecventa precis, i o mentin timp a a s n cu o abatere insigniant, se realizeaz cu cristale de cuart. Un cristal de cuart, introa a dus pe una din conexiunile de reactie, substituind unul din condensatoare, are rolul ,, unui circuit acordat i care va pilota frecventa de oscilatie pe frecventa sa proprie s de rezonanta. Figura 3.59-a este prezentat un astfel de oscilator, utiliznd trei In a porti NAND ale unui circuit 74LS00, cu un cristal de cuart (X-TAL) avnd frecventa a

426

3.3. CIRCUITE BASCULANTE

proprie de rezonanta de 4M Hz. Rezistentele de 330 paralel cu portile 1 i 2 n s contribuie la o liniarizare a caracteristicilor de transfer ale acestora. Cristalul de cuart (SiO2 ) este un piezoelectric, are proprietatea de a polariza sarcini electrice pe suprafetele sale cnd este tensionat mecanic (comprimat, torsional, a ntins). Dar exist i efectul invers de piezoelectricitate la aplicarea unei diferente as de potential ntre suprafetele sale (tiat sub form de dreptunghi, ptrat sau cerc cu a a a grosimi jur de 1mm) se produce o tensionare mecanic. Aplicarea unei diferente n a de potential alternative, cu o anumit fercventa, va determina vibratia mecanic a a a cristalului; modul de vibratie depinde de forma geometric sub care este tiat cristalul. a a Cnd este introdus a ntr-un circuit electric cu o tensiune variabil, cazul nostru pe a n o conexiune de reactie, va vibra cu frecventa tensiunii electrice aplicate pe fetele sale. Din punct de vedere electric cristalul de cuart are o schem echivalent de circuit a a RLC paralel cu o capacitate C0 (aceast capacitate ind cea introdus de elecn a a trozii lipiti pe suprafetele sale). Cnd este comandat cu o frecventa mult diferit a a de frecventa de rezonanta cristal de cuart poate echivalat cu o simpl capacitate a C0 , dar cnd frecventa este cea de rezonanta circuitul echivalent al cristalului este a o capacitate paralel cu o rezistenta. Reactanta cristalului se aproprie de zero la n punctul de rezonanta serie, iar ntr-o conexiune de reactie a circuitului astabil va pilota frecventa acestuia pe frecventa de rezonanta (valori uzuale pentru rezonanta 1KHz 40M Hz, determinat de modul de tiere, form i grosime ale cristalului). a a as Frecventele de pilotare a cristalului variaz, relativ putin, cu temperatura i cu timpul a s ( atrnirea). mb a Oricare sistem sincron necesit un generator de semnal de ceas i frecvent se ima s pune ca acest semnal s aib o abatere ct mai mic a frecventei ceea ce se poate realiza a a a a cu oscilatoare cu cuart. Abaterea de frecventa poate mai mic dect 2, 5 10 6 , a a pentru o variatie a temperaturii intervalul 0 50 C, utiliznd un cristal de cuart n a ermetic inclus ntr-o capsul, referit oscilator RTXO (Room Temperature Crystal a Oscillator). Cu oscilatoarele la care cuartul este inclus mpreun cu circuite de coma pensare pentru variatia temperaturii, ntr-un pachet monolitic, referite ca oscilatoare TXCO (Temperature Compensated Oscillator) se obtin pentru variatii ale tempera turii intervalul 0 50 C abateri ale frecventei mai mici dect 5 10 7 . n a Exist variante constructive de astabile care pot functiona regim de sincronizare a n declanat sau regim de comand. varianta de astabil sincronizat, la ecare s a n a In impuls de comand aplicat din exterior se pornete astabilul care genereaz semnale a s a dreptunghiulare cu o faz xat. Varianta de astabil comandat genereaz semnale a a a dreptunghiulare att timp ct pe intrarea astabilului se aplic un semnal de comand a a a a exterior de nivel H sau L ( Figura 3.59-b pinul de intrare 13 al portii 3 se conecteaz n a la +5V sau la 0V ). Exemplul 3.21 S se modeleze functionarea de trigger Schmitt, monostabil i astabil a s cu circuitul de temporizare 555. Solutie. Circuitul 555 (i 556) este un circuit integrat familiile TTL i CMOS, care s n s prin conectarea exterior a dou sau trei componente poate avea functionarea circuitelor n a trigger Schmitt, astabil i monostabil. structura sa, Figura 3.60, contine: dou comparas In a toare, COMP1 i COMP2, a cror ieiri comand respectiv intrrile SR ale unui latch, un s a s a a tranzistor de descrcare TD, un etaj nal de ieire i un divizor intern de la tensiunea V CC , a s s VCC = 4, 5 16V , prin care sunt xate valorile de referinta Vr1 i Vr2 ale comparatoarelor. s Rezistentele divizorului ind egale rezult Vr2 = VCC /3 i Vr1 = 2VCC /3. a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

427

V+

V CC
Etaj final de iesire inversor

VI

555 R COMP1 PS + Vr1 _ RQ N C R COMP2 + PJ V r2 _ S Q R

VO VO V OH

D D V OL VI V p= =0,33V CC V p+ = =0,66V CC

TD

a)
V+ Vcc
Etaj final de iesire inversor

Rx Cx

vI (V T )

555 COMP1 PS + Vr1 _ RQ N C R COMP2 + PJ V r2 _ S Q R R

V O

vI VOH VOL vo

TD

V r2 0V vc
x

b)
R xA R xB Cx PS C R V+ Vcc 555
Etaj final de iesire inversor

COMP1 + Vr1 _ RQ N R COMP2 + S Q _

V O

V OH V OL vCx vo w1

w2

PJ V r2 R

TD

V r1 V r2 0V

vc

c)
Figura 3.60 Circuitul 555: a) modelarea functionrii de trigger Schmitt; a b) modelarea functionrii de monostabil; c) modelarea functionrii de astabil. a a

428

3.4. CIRCUITE NUMARATOR

1. Modelarea functionrii de trigger Schmitt, Figura 3.60-a. Tensiunea de intrare a VI se aplic pe cele dou intrri (conectate a a a mpreun), PS- pragul de sus i PI- pragul de a s jos. Pentru VI = 0, intrrile SR = 10, QN = 0 iar ieirea VO = VOH . La cretere, cnd a s s a tensiunea VI ajunge la valoarea Vr2 = 0, 66VCC = Vp+ , SR = 01, QN = 1 iar VO comut de a la VOH la VOL . La scdere, cnd tensiunea VI ajunge la Vr2 = 0, 33VCC = Vp , SR = 10, a a QN = 0 iar VO comut de la VOL la VOH . Valoarea pragurilor Vp+ i Vp pot modicate a s printr-o rezistenta extern Rx conectat a a ntre VCC i terminalul C. s 2. Modelarea functionrii de monostabil, Figura 3.60-b. starea stabil a In a vI = VOH , SR = 00, QN = 1, vO = VOL , tranzistorul TD conduce iar tensiunea vCx , pe condensatorul exterior, este zero. La aplicarea impulsului de comand V T = 0, SR = 10, a a a nspre VCC . Cnd vCx , a QN = 0, VO = VOH iar TD se blocheaz permitand ca vCx s creasc a dup intervalul de timp w , atinge valoarea Vr2 = 0, 66VCC , SR = 01, QN = 1, vO comut a a de la VOH la VOL , TD intr conductie iar Cx este scurtcircuitat la mas. a n a Valoarea lui w se obtine prin aplicarea relatiei 3.32 pentru regimul de arcare al con nc densatorului Cx Vr2 = vCx (w ) = VCC [VCC 0]e Rx Cx VCC w = Rx Cx ln = 1, 1Rx Cx 2 VCC 3 VCC
w

(3.34)

3. Modelarea functionrii de astabil, Figura 3.60-c. Se consider t = 0 cnd a a a SR = 10, QN = 0, VO = VOH , TD se blocheaz permitand condensatorului Cx s se a a ncarce a prin rezistentele RXA + RXB nspre tensiunea VCC . Cnd vCx , dup intervalul de timp w1 , a atinge valoarea Vr1 = 0, 66VCC , SR = 01, QN = 1, vO va comuta de la VOH la VOL , TD intr a conductie iar Cx este descrcat la mas prin rezistenta RXB . Procesul de descrcare, cu n a a a constanta de timp Cx RXB , continu pe durata w2 iar vCx atinge valoarea Vr1 = 0, 33VCC . a acel moment SR = 10, QN = 0, vO va comuta de la VOL la VOH , TD se blocheaz In a recongurnd circuitul RXA + RXB de re arcare al condensatorului Cx ; continuare cele a nc n dou regimuri de arcare/descrcare se succed generndu-se un semnal dreptunghiular cu a nc a a perioada T = w1 + w2 . Valorile pentru w1 i w2 se obtin aplicnd relatia 3.32. s a w1 = Cx (RXA + RXB ) ln 2 ( V 3
VCC 2 CC 3 VCC

) = 0, 69Cx (RXA + RXB )

w2 = Cx RXA ln 2 VVCC = 0, 69Cx RXA 3 CC /3 T = w1 + w2 = 0, 69(RXA + 2RXB )Cx iar coecientul de umplere D are expresia D= w 1 RXB =1 w 1 + w 2 RXA + 2RXB

3.4

CIRCUITE NUMARATOR
N = p C + r, 0r C 1 (3.35)

Impartirea unui numr natural N la numrul natural C este denit de relatia a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

429

Deoarece urma artirii pot rezulta doar un numr C de resturi distincte se n mp a poate arma c oricare numr natural N poate inclus doar a a ntr-o clas de resturi a rmoduloC , adic a N rmodulo C, unde clasele de resturi sunt: = {0, C, 2C, . . . , jC, . . . , | j N } 0 = {1, C + 1, 2C + 1, . . . , jC + 1, . . . , | j N } 1 = {2, C + 2, 2C + 2, . . . , jC + 2, . . . , | j N } 2 . . . C 1 = {C 1, 2C 1, 3C 1, . . . , jC 1, . . . , | j N } Aarea numrului de elemente ale unei multimi (cardinalul nultimii) se poate a realiza cu ajutorul circuitelor numrtor modulo C (se obtine numrul exprimat aa a n baz C). a Un circuit numrtor modulo C este un automat a crui functionare este a a a descris de un graf de tranzitii, ciclice, care contin un numr C de stri distincte; din a a a ecare stare exist doar o singur tranzitie neconditionat spre starea urmtoare, deci a a a a starea qi se va reveni dup ce se vor parcurge toate celelalte C 1 stri, Figura n a a 3.61. Tranzitia ind neconditionat se realizeaz numai la aplicarea impulsului de a a ceas. De fapt, circuitul numrtor/(numrtorul) determin numrul de impulsuri aa aa a a de ceas care au fost aplicate (sau numrul de elemente ale unei multimi, ecrui a a element corespunde un impuls de ceas). i Se poate face o mapare unu-la-unu ntre multimea claselor de resturi r i multimea s strilor Q; uzual, clasele de resturi ordine cresctoare se mapeaz pe strile aua n a a a tomatului ordinea de parcurgere a acestora (pornind de la una q 0 , considerat ca n a initial, felul urmtor: q0 , q1 , ... ,C 1 qC1 ). Realiznd aceast a n a 0 1 a a mapare numrtorul modulo C poate privit ca un identicator al claselor de resturi aa modulo C. De exemplu, pentru un numrtor modulo 10 toate numerele urmtoare aa a (de impulsuri de ceas aplicate): 3, 13, 23, 33, . . . , 103, . . . ,1003, . . . , j 10 + 3, . . . , care apartin clasei de resturi 3modulo10 ( aduc automatul starea q3 . Iar, de 3), n exemplu, pentru un numrtor modulo 7 toate numerele urmtoare: 2, 9, 16, . . . , 51, aa a . . . , j 7 + 2, . . . care apartin clasei de resturi 2 modulo 7, aduc automatul starea n q2 . Revenind tot dupa C impulsuri de ceas aceeai stare circuitul numr baza n s a a n C. Dar pentru aceast numrare baza C se poate obtine o anumit codicare a a n a prin modul de asignare al bitilor zk1 , . . . , z1 , z0 ai ecrei stri qj , din cele C. a a Numrul minim k al bitilor de cod, egal cu numrul celulelor de memorare (bistabile) a a ale automatului, conform relatiei 3.17, este log 2 C . Pentru exemplul anterior, de numrtor modulo 10, se poate adapta o numrare in baz 10 sub codul BCD (8-4aa a a 2-1) sau cod Gray sau un cod Excess 3 etc. Deci circuitul urmtor poate asigura n a numrarea a ntr-o anumit baza C si sub o anumit codicare. a a Circuitul numrtor poate implementat cu un automat de tip Moore imediat la aa care ieirea este identic cu starea, relatia 3.15, (Q Y ); codul strii este numrul s a a a exprimat ntr-o anumit codicare. Foarte frecvent, automatul numrtor mai este a aa cu r = . . . , C 2, C 1 0, 1, 1, (3.36)

430
Multimea claselor de resturi modulo C C=1 ^ 0 ^ 1 ^ 2
qC2 ^ r
C2

3.4. CIRCUITE NUMARATOR


Automat cu tranzitie neconditionata, ciclica, intre cele C stari
q0

Multimea Q a starilor automatului q0


q1

Codificarea starilor automatului z k1 z 1z 0 1/0 1/0 1/0 1/0 1/0 1/0

^ 0 ^ 1 q2

C1 C1

q1 q2

CO

^ 2

qi

1/0 1/0 1/0

Numarare inversa
C2 C1

Numarare directa qC2


^ i

1/0 1/0 1/0 1/0 1/0 1/0

qi

qC1

Figura 3.61 Circuitul numrtor: Numrtorul modulo C poate privit ca un a a aa automat de identicare a claselor de resturi modulo C iar codicarea numrrii rezult aa a prin modul de asigurare a celorlalte C stri. a nzestrat cu a un bit de ieire, CO = {0, 1}, care este semnalul de depire a nc s as capacitii de numrare (transportul urmtor) ce devine activ doar cnd se ajunge at a a a ultima stare qC1 dup care, prin tranzitia starea initiala q 0 , se re n a n ncepe ciclul tranzitiilor, deci relatia de transfer a automatului este f : Q QCO. De asemenea, se introduce i un semnal de intrare CI = {0, 1} - transportul anterior deci relatia s de tranzitie a strilor este g : Q CI Q. Semnalul CI poate interpretat i a s ca un semnal de validare/enable (EN) care pentru valoarea 1 determin trecerea a numrtorului starea urmtoare, qi+1 , la aplicarea ecrui impuls de ceas, iar aa n a a pentru valoarea 0 rmnerea aceeai stare, q i . a a n s Inzestrat cu cele dou semnale, CI transportul anterior i CO transportul ura s mtor, numrtorul ne amintete de circuitul sumator. Evident, se poate substitui a aa s circuitul numrtor cu un sumator, la care pe o intrare se aplica permanent cuvntul 1 aa a iar pe cealalt intrare suma obtinut anterior, deci la aplicarea ecrui impuls de ceas a a a se adun unu la numrul anterior (Orice numr se obtine din numrul anterior a a a a plus 1). Cele dou semnale introduc facilitatea de a obtine un circuit numrtor a aa modul C (care nu este numr prim) prin a nserierea de circuite numrtor a cror aa a modulo sunt divizori ai lui C conform relatiei: C = C 1 C2 . . . C K (3.37)

Graful ciclic de tranzitie al strilor poate parcurs unul din cele dou sensuri a n a rezultnd, consecinta, pentru circuitul numrtor o functionare de numrare dia n aa a rect sau numrare invers; sau dac se introduce pentru circuitul numrtor o a a a a aa intrare I, pentru care valoarea I = 0 determin numrarea direct iar pentru I = 1 a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

431

determin numrarea invers, se obtine un numrtor reversibil. a a a a a Existenta la un circuit numrtor modulo C, pe ieire, pe lng cuvntul de cod al aa s a a a strii prezente - pentru numrare - i a semnalului CO - pentru depirea capacitatii a a s as - determin dou moduri de functionare/(utilizare) distincte. Prima functionare, cea a a de numrare a ntr-o baz modulo C sub un anumit cod, cnd este considerat a a a succesiunea cuvintelor de cod a strilor parcurse. Cea de-a doua functionare, cnd se a a consider doar semnalul de depire CO produs dup C impulsuri de ceas aplicate, a as a este cea de divizare cu C. Din punct de vedere al implementrii unui circuit numrtor, functie de aplia aa n carea impulsului de ceas care determin trecerea din starea q i in starea qi+1 , acesta a poate de tip asincron sau de tip sincron.

3.4.1

Numrtoare asincrone a a

Pentru numrtorul care va analizat aceast sectiune, denumirea de asincron aa n a reect faptul c functionarea sa celulele de memorare (bistabilele) nu comut a a n a toate sincron cu semnalul de ceas, aceasta datorit structurrii numrtorului ca o a a aa nseriere de bistabile de tip T. sectiunea 3.3.2.4 s-a artat ca bistabilul T regim In a n de bascul (T = 1) comut la ecare impuls de ceas, rezultnd un semnal de ieire Q a a a s cu perioada dubl fat de cea a semnalului de ceas, Figura 3.49-e deci o divizare cu a a doi (21 ). Dac semnalul de ieire Q se aplic unui urmtor bistabil T (ca semnal de a s a a ceas), tot regim de bascul, T = 1, dup aceasta se obtine o divizare cu 4 (2 2 ), iar n a a dac se continu cu un al treilea bistabil T a a nseriat se obtine un semnal divizat cu 8 (23 ) raport cu semnalul ial de ceas. Generaliznd, prin n nit a nserierea a n bistabile T se obtine o divizare cu 2n , deci un numrtor modulo 2n ; o astfel de structurare aa de numrtor modulo 23 este prezentat in Figura 3.62-b. Dar care din ieirile Q sau aa a s QN ale celulei bistabil de rang i se aplic pe intrarea de ceas a celulei T de rang i + 1? a Rspunsul rezult simplu din analiza succesiunii de numrare, cod binar natural, a a a n din Figura 3.62-a. Bitul de rang 20 (z0 ) din cuvntul de cod binar natural al numrului schimb a a a n valoarea opus la ecare impuls de ceas. Pentru numrarea sens direct, bitul de a a n rang 21 (z1 ) schimb starea opus numai cnd bitul z 0 schimb din 1 0; de a n a a a n asemenea bitul de rang 22 (z2 ) schimb starea opus numai cnd bitul z 1 comut a n a a a din 1 0, tabelul succesiunii de numrare aceste comutatii sunt indicate prin n n a sgeti. concluzie, celula de bistabil T de rang i este comutat starea opus de a In a n a ctre celula de rang i 1 numai cnd aceasta comut de 1 la 0. Deoarece structura a a a n aleas de numrtor s-au considerat celulele bistabile T comandate pe frontul negativ a aa al semnalului de ceas, rezult c pentru intrarea CLK a celulei de rang i se aplica a a ieirea Q a celulei de rang i-1 care produce front negativ la comutatia lui z i1 de la s 1 la 0. Dac celulele bistabile erau comandate pe frontul pozitiv de ceas atunci pe a intrarea CLK a celulei de rang i s-ar aplicat semnalul Q N de la celula de rang i 1, deoarece numai acest semnal produce un front pozitiv cnd aceast celul comut de a a a a la 1 la 0. Diagrama de semnale pentru acest numrtor modulo 8, cnd parcurge toate cele aa a 8 stri, este prezentat Figura 3.62-c. Pornind din starea z 2 z1 z0 = 000 la aplicarea a a n primului impuls de ceas, pe frontul negativ, numrtor se n aa nscrie starea 001, dup a al doilea impuls se nscrie 010 i prima celul revine z 0 = 1, dar frontul negativ s a n

432

3.4. CIRCUITE NUMARATOR

de la ieirea acesteia comand celula a dou z 1 = 1. La al patrulea front negativ s a a n exist un transfer de la celula 20 la celula de rang 21 , care comut pe z1 0, i la fel a a n s exist un transfer de la celula 21 la celula 22 care comut pe z2 1, deci numrul este a a n a 100. Dup al aptelea impuls numrul a s a nscris este 111, s-a atins capacitatea maxim, a iar la al optulea impuls de ceas toate fronturile pe intrrile de ceas sunt negative, la a ecare celul se genereaz un transfer ctre celula urmtoare, cel de la celula de rang a a a a 22 nu este utilizat pentru o celul urmtoare, numrtorul revine starea initial a a aa n a = 8 modulo 8. 0 diagrama de semnale prezentat s-a considerat c timpul de propagare, pCQ In a a (pHL(CQ) = pLH(CQ) = pCQ ) pe un bistabil T, de la intrarea de ceas la ieire, are s valoarea de zero. Figura 3.62-d s-a redesenat diagrama de semnale, cu comutatiile In arziate ale celulelor datorate propagrilor pCQ pentru primele patru semnale de nt a ceas. Se observ c la al doilea impuls de ceas comutatia ieirii z 1 apare cu o arziere a a s nt de 2pCQ , iar la al patrulea impuls de ceas comutatia ieirii z 2 apare o arziere de s nt 3pCQ ; deci celulele vor comuta asincron cu semnalul de ceas, de unde i denumirea s de numrtor asincron. Evident, la un numrtor asincron cu n celule arziere aa aa nt maxim datorat propagrii prin cele n celule este n pCQ . Rezult c valoarea a a a a a frecventei de ceas nu poate crete peste 1/(n pCQ ). Avantajului simplitii structurii s at numrtorului asincron i se opune limitarea frecventei de comand a ceasului, f CLK aa a 1/(npCQ ). Pentru numrtorul asincron modulo 2n dimensiunea S(n) i adncimea aa s a D(n) sunt O(n). Asincronismul comutatia celulelor genereaz stri false la n n a a tranzitia unora dintre dou stri consecutive. De exmplu, la tranzitia din starea a a 1|10 = 001 starea 2|10 = 010 se genereaz pe durata pCQ starea fals 000, iar n a a la tranzitia din starea 3|10 = 011 starea 4|10 = 100 se genereaz urmtoarele n a a dou stri false: 010 si 000. Utilizarea ieirilor numrtorului z 2 , z1 , z0 ca intrri a a s aa a la un circuit combinational genereaz hazard, utilizarea lor este posibil numai dup a a a consumarea regimului tranzitoriu(> npCQ ). O solutie de pentru evitarea hazardului const strobarea aplicrii ieirilor numrtorului, adic circuitul care are ca intrri a n a s aa a a cuvntul z2 z1 z0 este validat cu un semnal (de strob) arziat fata de frontul negativ a nt al semnalului de ceas de la numrtor (cum ar , de exmplu, palierul pozitiv al aa semnalului ceas). Structura de numrtor asincron cu numrare direct poate transformat uor aa a a a s ntr-o structur de numrtor cu numrare invers prin aplicarea pe intrarea de ceas a aa a a a celulei de rang i a semnalului corespunztor (Q sau Q N ) de la ieirea celulei de a s rang i 1. Din tabelul succesiunii de numrare invers, din Figura 3.62-a, rezult c a a a a celula de rang 20 comut la ecare impuls de ceas, celula de rang 2 1 va comuta numai a cnd celula 20 comut din 0 1, iar celula de rang 22 comuta numai cnd celula 21 a a n a comut din 0 1, adic tocmai invers ca la numrarea direct. Deci, pentru celulele a n a a a cu comutare pe front pozitiv, se culege semnalul de pe iesirea Q a celulei anterioare, iar pentru comutatia pe front negativ se culege de pe ieirea Q N a celulei anterioare, s Figura 3.62-e. O structur de numrtor comandat pentru numrarea direct sau a aa a a numrare invers se obtine prin introducerea unor selectoare a a ntre dou celule de a numrare succesive care va alege ieirea potrivit de la celula anterioar i o aplic a s a as a pe intrarea de ceas a celulei urmtoare. Un astfel de selector este e un MUX2:1, e a o poart XOR. a Un numrtor asincron modulo 2n poate modicat pentru o functionare ca nuaa mrtor modulo C, unde C < 2n . O astfel de modicare se obtine prin eliminarea unui aa

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

433

Numar de ampl

Numarare in sens:

z 2 22 z0 0 1 0 1 0 1 0 1 0
Q Q J
2

z1 2 1
Q Q J
1

z0 2 0
Q Q J 0 QN K CLEAR

EN "1" CLK
CLEAR

z2 z1 z0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0

Direct

Invers z2 z1

0 1 2 3 4 5 6 7 8

0 1 1 1 1 0 0 0 0

0 1 1 0 0 1 1 0 0

QN K CLEAR

CLK QN K CLEAR

b)
CLK z0 z1 z2 1 1 0 0 PLH(CQ) PLH(CQ) 0 2 0 0 1 0 PHL(CQ) PLH(CQ) 3 1 1 0 PHL(CQ) PLH(CQ) 4 00 10 00 0 0 1 PHL(CQ)

a)
CLK z0 z1 z2 1 1 0 0 2 0 1 0 3 1 1 0

d)
4 0 0 0 5 1 0 1 6 0 1 1 7 1 1 1 Numarare inversa QN CLK "1" invers "0" direct Q 2 i+1 J K 2 i+1 J K
i "1" 2 Q

8 0 0 0

c)

CLK Front pozitiv

Numarare directa 2i+1


J
CLK

Numarare reversibila 0 1 QN Q

"1"

2i Q QN CLK

"1" invers "0" direct 0 1 Q

QN
i "1" 2 Q

2 i+1 Front negativ


J
CLK

"1"

2i Q QN CLK

QN CLK "0" direct "1" invers z 0 20


CLK Q Q0 D

e)
z3 23
Q Q3 D

"0" direct "1" invers z 1 21


Q Q2 D D Q Q1 CLK QN CLEAR

QN

z 2 22

z 3z 2z 1z 0=1010

_ S

CLK QN CLEAR

CLK QN CLEAR

CLK QN CLEAR

CLK
COUNT

_ S

_ R

CLEAR COUNT

CLEAR

f)
Figura 3.62 Numrtorul asincron: a) tabelul succesiunii de numrare direct i a a a as invers, modulo 8; b,c) structura i diagrama de semnale pentru un numrtor modulo a s aa 8; d) evidentierea timpilor de propagare i a strilor false introduse; e) conexiunile s a pentru obtinerea semnalului de ceas la o celul de rang i + 1; f) numrtor modulo a aa 10 obtinut prin modicarea unui numrtor modulo 2 4 . aa

434

3.4. CIRCUITE NUMARATOR

numr(2n C) stri din graful de tranzitie al strilor. Un decodicator identic a a a a n cuvntul de cod al numrtorului cnd se realizeaz starea C i atunci se forteaz, prin a aa a a s a intrrile asincrone de stergere CLEAR a celulelor, a nscrierea starea initial 000...00. n a Figura 3.62-f se exemplic modicarea unui numrtor modulo 16, realizat cu In a aa bistabilele D care modeleaz o functionare de bistabili T, a ntr-un numrtor modulo aa 10, z3 z2 z1 z0 = 1010; circuitul decodicator este o poart NAND2 care identic starea a a 1010, z3 = z1 = 1, se genereaz un semnal de resetare, activ zero, care forteaz a n a nscrierea 0 a celulelor bistabile Q3 , Q2 , Q1 (se terge i Q2 deoarece stergerea lui n s s Q1 produce la ieirea Q o comutatie de la 1 la 0 care ar s nscrie pe Q 2 1). n Bucla de fortare a strii 000 este transparent, adic oricare a a a nscriere zero a n unuia din bitii z3 sau z1 , aplicati la intrarea portii NAND2, ar produce la ieirea s acesteia o anulare a semnalului de resetare, CLEAR devine 1. Scurtarea duratei de nscrierea starea 0 a unora n activare a semnalului de resetare, CLEAR = 0, duce la ne din cele trei bistabile (Q3 , Q2 , Q1 ). Presupunem: pNAN2 = 9nS, pRESET(tipic) = 25nS pentru bistabilul Q3 si pRESET(maxim) = 40ns pentru bistabilul Q1 . Cu aceste date a nt din momentul activrii semnalului CLEAR = 0, dup o arziere = 9ns + 25ns = a 34ns < 40ns, datorit faptului c z3 a fost a a nscris zero, poarta NAND2 anuleaz n a semnalul de resetare (CLEAR=1) nainte ca i Q 1 s fost s a nscris 0, deci cuvntul n a fortat numrtor nu este 0000 ci 0010. Transparenta buclei este eliminat prin n aa a introducerea unui latch S R i prin aceasta (chiar dac unul din semnalele de ieire s a s z1 sau z3 devine mai devreme zero) se lungete durata de activare a semnalului de s a a a n resetare (CLEAR=0) pn cnd la intrarea latch-ului apare R=0 (adica momentul aparitiei urmtorului front pozitiv de ceas CLK cnd semnalul COU N T = R devine a a s activ, COU N T = CLK). Dar i cu eliminarea transparentei buclei de fortare acesta structur de numrtor modulo 10, obtinut din unul modulo 16, mai prezint totui o a aa a s functionare defectuoas datorit fortarii a a nscrierii unei stri (prin utilizarea intrrilor a a asincrone CLEAR). La al zecelea impuls de ceas cnd numrtorul a ajuns starea z 3 z2 z1 z0 = a aa n 1010, si prin detectarea acestei stri, se forteaz a a nscrierea strii z 3 z2 z1 z0 = 0000. a La urmtorul impuls de ceas are loc tranzitia z 3 z2 z1 z0 = 0001 dup care pe a n a urmtoarele nou impulsuri se ajunge nou z 3 z2 z1 z0 = 1010. Rezult c, pe dua a n a a rata celui de al zecelea impuls de tact, numrtorul a avut pentru scurt timp starea aa z3 z2 z1 z0 = 1010 i apoi, pn la urmtorul impuls de ceas, starea z 3 z2 z1 z0 = 0000, s a a a deci total 11 stri pentru 10 tacte. Aceasta n a nseamn c numrtorul modulo 10 a a aa obtinut poate utilizat pentru functia de numrare numai dac starea detectat de a a a decodicator (1010), de scurt durat, nu inuenteaz succesiunea codurilor de ieire. a a a s schimb acest numrtor modicat poate utilizat ca divizor modulo 10 dac In aa a n starea 1010 se genereaz un impuls de depire CO (obtinut printr-o poart AND2 a as a cu intrrile z3 si z1 ). a Trebuie evidentiat faptul c la un numrtor asincron momentul de comutare a aa precum i modul cum comut sunt determinate de frontul impulsului de ceas deci s a ,, ,, nu este decuplat actiunea cum de actiunea cnd , situatie alnit la latch-uri. a a nt a ,, Pentru cum decizia este dat de comutatia bistabilului anterior i nu de starea a s bistabililor anteriori. Pentru aplicatii de frecvent joas, cnd strile false introduse a a a a nu sunt un dezavantaj (sau pot uor eliminate prin strobare), datorit simplitii s a at sale circuitele numrtor asincron pot utilizate. aa Numrtoare asincrone, comercial obtenabile, sub forma de circuite integrate aa

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

435

(74X) sunt: 1 - binare pe patru celule : 74XX/69/93/177/197/293/393 2 - decadice :74XX/68/90/176/196/290/390/490

3.4.2

Numrtoare sincrone a a

La un numrtor asincron toate celulele bistabil comut simultan cu frontul activ aa a al semnalului de ceas. Pentru sinteza numrtorului modulo 2 n asincron, cod aa n binar natural (8-4-2-1), la care doar prima celul comut sincron cu ceasul iar ecare a a alt celul primete semnalul pe intrarea de ceas tot la a doua comutatie dar de la a a s celula anterioar, s-a utilizat o a nseriere de celule bistabile T; acest bistabil avnd a particularitatea functionare c este un numrtor modulo 2 1 ( n a aa 0=2 modulo 2). In schimb, sinteza unui numrtor modulo C sincron, orice cod i nu numai numai aa n s n cod binar, trebuie fcut ca a unui automat pornind de la graful/tabelul de tranzitie n a a al strilor. Sinteza ca automat a numrtorului sincron, pentru a aa nceput, se va face considernd un numrtor modulo 2n cod binar natural (pentru c din acesta se a aa n a poate obtine usor un alt numrtor modulo C, C< 2 n ). aa Functiile de excitatie wi ale automatului numrtor, notate acest caz cu T i aa n pentru c implementarea se va face cu bistabile T, se deduc din succesiunea strilor, a a asignate cod binar natural, prezentate Figura 3.62-a (pentru modulo 8). Exn n presiile functiilor Ti se deduc foarte simplu pe baza observatiei: ecare bit z i , i = 0, din cuvntul strii urmtoare, va comuta fata de valoarea din starea prezent numai a a a a cnd starea prezent toti bitii anteriori lui z i au valoarea 1; bitul z0 comut la a n a a ecare impuls de ceas. Deci celula de rang i va comuta la aplicarea impulsului de ceas dac functia sa de excitatie Ti are valoarea 1, valoare care se calculeaz functie de a a n starea tuturor celulelor anterioare. Introducnd i semnalul de transport anterior CI, a s considerat ca o intrare de validare EN, se obtin expresiile pentru functiile de excitatie. T0 T1 T2 T3 = EN = EN z0 = EN z0 z1 = EN z0 z1 z2 . . . T0 T1 T2 T3 = EN = T0 z 0 = T1 z 1 = T2 z 2 . . .

(a)

(b)

(3.38)

Tn2 = EN z0 z1 z2 . . . zn4 zn3 Tn1 = EN z0 z1 z2 . . . zn4 zn3 zn2

Tn2 = Tn3 zn3 Tn1 = Tn2 zn2

Dac se calculeaz i functia de excitatie T n care este de fapt transferul CO (dea as pirea de capacitate cnd numrtorul este plin cu 111....11) se adaug i expresia as a aa as CO = Tn = EN z0 z1 z2 ... zn3 zn2 zn1 CO = Tn = Tn1 zn1 (a) (b) (3.39)

Expresiile anterioare, obtinute recursiv, care calculeaz prexe (expresiile cu in a dicele mai mic dect i pot considerate prexe procesul de calcul pentru expresia a n cu indicele i) pot implementate e cu n porti AND avnd de la 2 pn la n + 1 a a a intrri (relatia 3.38-a) e cu n porti AND2 (relatia 3.38-b). Aceste dou implementri a a a (extreme) ale circuitului combinational pentru automatul numrtor corespund celor aa

436

3.4. CIRCUITE NUMARATOR

z n1

2n1 Q J Qn1

z n2 Tn1

2n2 Q J Qn2 Tn2

z1

21 Q Q1 J T1

z0

20 Q Q0 J T0

CLK QN K

CLK QN K

CLK QN K

CLK QN K

CLK EN

1 2 n2 n1

CO

n CLC

a)
z n1 CO n Tn1
n1

z n2

Tn2
n2

T2
2

z1

T1
1

z0

T0

CLC

EN

b)
z6 z5 z4 z3 z2 z1 z0 EN

CLC

c)

T7

T6

T5

T4

T3

T2

T1

T0

Figura 3.63 Automatul numrtor sincron codul binar natural: a) orgaa a n nizarea numrtorului sincron paralel; b) structura retelei CLC pentru numrtorul aa aa sincron serie; c) structur arborescent binar a retelei combinationale pentru a a a numrtorul sincron (n=8) aa

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

437

dou tipuri de numrtoare: numrtorul sincron paralel, Figura 3.63-a, numrtorul a aa aa aa sincron serie Figura 3.63-b. Aceste dou implementri, dei au produsul dimensiunea a s adncime acelai ordin, O(n2 ), reect regula c micorarea dimensiunii la varia n s a a s anta serie duce la scderea performantei de vitez, iar la micorarea adncimii duce a a s a la creterea dimensiunii (varianta paralel) vezi relatia 2.9. s a Pentru numrtorul sincron paralel (NSP), din momentul aplicrii impulsului a a a de ceas pn la urmtorul, timpul minim necesar, T CLK minim, este egal cu pCQ a a a timpul de propagare printr-o celul T, plus timpul pAND -timpul de propagare printr-o a poart AND, la care se adaug timpul de stabilizare al bistabilului SU , ceea ce se a a poate exprima prin relatia general a TCLKmin = N SP (n) = pCQ + pAND + SU O(1) (3.40)

Dimensiunea acestui tip de numrtor, SN SP (n), se calculeaz din dimensiunea aa a retelei de memorare realizat din bistabilele T, S T , plus dimensiunea retelei combi a nationale (paralel) SRCP (n) compus din n porti cu dou pn la (n+1) intrri. a a a a a a SN SP (n) = n ST + n SRCP (n + 1) O(n2 ) Aceste evaluri teoretice ale automatului numrtor trebuie considerate doar ca a aa limite, deoarece practic implementarea acestui numrtor, mai ales pentru n de n a aa valoare mare, este greu de realizat (ultima poart AND prezint n+1 intrri). a a a In consecinta, implementarea portilor AND cu multe intrri, utiliznd axioma de aso a a ciativitate, se vor compune din mai multe porti cu un numr de intrri mai redus i a a s plasate pe mai multe niveluri, deci nu va un singur nivel de propagare pNAND ci mai multe. De asemenea i pCQ se mrete, mai ales la bistabilele din rangurile infes a s rioare, a cror arcare la ieire crete cu n. Totui, organizarea de numrtor sincron a nc s s s aa paralel pentru valori mici ale lui n este recomandat, sunt uzuale numrtoarele cu a aa n=4. Prin utilizarea expresiilor 3.38-b se obtine numrtorul sincron serie, NSS, a a pentru care Figura 3.63-b este prezentat numai organizarea retelei combinationale. n a Pentru aceast organizare, raport cu cea paralel, perioada minim a semnalului a n a a de ceas, TCLKmin , se mrete cu timpul de propagare prin a (n-2) porti AND2; a s nc ntr-adevr functia de excitatie Ti a bistabilului i este calculat numai dup ce a fost a a calculat Ti1 ceea ce se exprim prin relatia a a TCLKmin = N SS (n) = pCQ + (n 1)pAND + SU O(n) iar dimensiunea SN SS (n) = n ST + n SAN D2 Q(n) Relatia 3.41 arat c performantele de vitez ale numrtorului sincron serie nu a a a aa sunt mult mbuntite raport cu numrtorul asincron la care (T CLKmin nCQ ) a at n aa Aceast structurare serie i paralel este similar cu cea a sumatorului serie cu a s a a transport progresiv (sectiunea 2.5.2.1) i cea a sumatorului cu transport anticipat s (sectiunea 2.5.2.2); la fel, ca la sumatoare, se pot face organizri ale CLC pentru a calculul functiilor de excitatie Ti prin mixarea partial a celor dou extreme. De a a exmplu se poate realiza calculul paralel pentru cte m celule bistabile, iar apoi calculul a serie n ntre cele n/m grupe. (3.41)

438

3.4. CIRCUITE NUMARATOR

Se pot calcula functiile de excitatie Ti , utiliznd o functie logic AND2, f (x0 , x1 ) a a = x0 x1 , sub forma unui arbore binar lund numai perechi din variabilele EN, z 0 , z1 , a z2 ,...,zn2 , zn1 . Aplicnd aceast modalitate de calcul pentru relatiile 3.38-a cnd a a a n = 8 se obtine T0 T1 T2 T3 T4 T5 T6 T7 = f (EN, EN ) = EN = f (z0 , EN ) = f (f (z1 , z0 ), EN ) = f (f (z2 , z1 ), f (z0 , EN )) = f (f (f (z3 , z2 ), f (z1 , z0 )), EN ) = f (f (f (z4 , z3 ), f (z2 , z1 )), f (z0 , EN )) = f (f (f (z5 , z4 ), f (z3 , z2 )), f (f (z1 , z0 ), EN )) = f (f (f (z6 , z5 ), f (z4 , z3 )), f (f (z2 , z1 ), f (z0 , EN )))

(3.42)

Organizarea sub form de arbore (NSA), numai cu porti AND2, conform relatiilor a 3.42, este prezentat Figura 3.63-c. Perioada de ceas minim pentru cazul general a n a este TCLKmin = N SA (n) = pCQ + pAND2 log2 n + SU O(log n) iar dimensiunea se calculeaz cu relatia a SN SA (n) = n ST + n log2 n O(n log n) Pentru un numrtor sincron modulo 2n , cod binar natural, cu numrare invers aa n a a sinteza se realizeaz similar. Se pornete pentru deducerea functiilor de excitatie de a s la succesiunea strilor asignate parcurse sens invers din Figura 3.62-a. Se observ a n a c ecare bit zi , i = 0, din cuvntul strii urmtoare, va comuta fata de valoarea din a a a a starea prezent numai cnd starea prezent toti bitii anteriori au valoarea 0; bitul a a n a z0 comut la ecare impuls de ceas. Deci fata de numrarea sens direct, cnd se a a n a utilizeaz ieirile Q de la celulele anterioare, la numrarea sens invers se utilizeaz a s a n a ieirile QN ale celulelor anterioare. Pentru implementarea numrtorului invers se s aa utilizeaz relatiile 3.38 i 3.39 care se face substitutia Q i QN i . Semnalul de a s n depire de capacitate/transport CO, care acest caz are semnicatia de as n mprumut, se genereaz cnd numrtorul ajunge la cuvntul compus din n zerouri i nu cnd a a aa a s a numrtorul ajunge la cuvntul de n unu-uri ca la numrarea direct. aa a a a Un numrtor sincron reversibil trebuie s calculeze functiile de excitatie cu semaa a nalele Qi , pentru numrare direct, i cu semnalele Q N i pentru numrare invers. a a s a a Selectarea celor dou semnale de la ieirea unei celule bistabil se realizeaz, similar a s a ca Figura 3.62-e, e un MUX2:1, e cu o poart XOR comandate cu un semnal de n a aa S = Direct/Invers (D/I, up/down); pentru S = 0 numrtor direct, pentru S = 1 numrtor invers. aa general, numrtoarele existente sub form de circuite integrate discrete sunt In aa a module numrtor sincron compuse din patru celule bistabil (modulo 2 4 ); iar pentru aa capaciti de numrare mai mari se at a nseriaz astfel de module, Figura 3.64-a. Pentru a nseriere, semnalul de depire de capacitate CO de la un modul se conecteaz ca as a semnal de transport anterior CI la modulul urmtor, iar semnalul de ceas se aplic a a simultan la toate modulele. momentul cnd In a ntr-un modul se ajunge la capacitatea maxim 1111 se genereaz CO=1, deci urmtorul modul va incrementat la a a a (3.43)

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


z 11 CO 11 CO z 10 NS3 z9 CI CLK z8 CO 7 z7 CO z6 NS2 z5 CI CLK z4 CO 3 z3 CO z2 NS1 z1 CI CLK z0 C 1="1" EN CLK

439

a)
Nr de imp de ceas 0 1 15 16 255 256 257 4095 4096 4097

CO11 z 11 z 10 z 9 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0

z8 0 0 0 0 0 1 1 1 0 0

CO 7 0 0 0 0 1 0 0 1 0 0

z7 0 0 0 0 1 0 0 1 0 0

z6 0 0 0 0 1 0 0 1 0 0

z5 0 0 0 0 1 0 0 1 0 0

z4 0 0 0 1 1 0 0 1 0 0

CO 3 0 0 1 0 1 0 0 1 0 0

z3 0 0 1 0 1 0 0 1 0 0

z2 0 0 1 0 1 0 0 1 0 0

z1 0 0 1 0 1 0 0 1 0 0

z0 0 1 1 0 1 0 1 1 0 1

EN= C 1 1 1 1 1 1 1 1 1 1 1

b)
Figura 3.64 Extensia capacitii de numrare : a) organizare pentru modulo at a 212 prin nserierea a trei circuite numrtor modulo 2 4 ; b) secventa de cuvinte din aa procesul de numrare modulo 212 cod binar natural. a n

urmtorul impuls de ceas. Cteva cuvinte din continutul unui numrtor modulo 2 12 , a a aa organizat prin nserierea a trei modulele ecare de cte patru biti, din secventa de a numrare sunt prezentate tabelul din Figura 3.64-b. Dac pentru aceast a n a a nseriere se folosesc module NSP perioada minim a semnalului de ceas conform relatiei (3.40), a este TN SP (12) = pCQ + 3 pAND + SU iar dac se folosesc module NSS, conform relatiei 3.41 perioada minm este a a TN SS (12) = pCQ + (4 + 4 + 3)pAND + SU 3.4.2.1 Numrtoare presetabile a a

La numrtoarele sincrone presetabile se poate realiza ca, la un anumit impuls de aa ceas, tranzitia s se efectueze a ntr-o stare urmtoare, q p prescris din exterior. Codul a a strii urmtoare, starea de a a nceput a ciclului q p , validat prin actiunea semnalului de control de arcare LOAD ( general activ L) este nc n n nscris celulele bistabil de n stare ale automatului numrtor. Dar, aa nscrierea (fortarea) unei stri urmtoare q p a a din exterior nseamn c graful de tranzitii ciclic, Figura 3.61, nu se mai parcurg a a n toate cele C stri, deci numrtorul devine un numrtor modulo C 1 ; C1 este egal a aa aa cu numrul de stri parcurse, pe graful de tranzitie al strilor, a a a ntre starea nal q f a (din care se realizeaz fortarea tranzitiei starea prescris q p ) i starea de a n a s nceput a

440

3.4. CIRCUITE NUMARATOR


celula na a numaratorului

Operatia efectuata de numarator Stergere (resetare) Incarcare (setare) Numarare Fara modificare

Semnale de control
ENABLE LOAD CLEAR

PRESET

activ

De la logica celulelor anterioare ale numaratorului

PRESET D CLK Q QN

activ

inactiv P1 CLK LOAD

CLEAR CLEAR P2

activ

inactiv

inactiv

inactiv

inactiv

inactiv

c)
LOAD P1 CLEAR De la logica celulelor anterioare ale numaratorului P3 P4 MUX 2:1 P5 P6 D Celula na a numaratorului

a)

Dn

Operatia efectuata in celula n Stergere (resetare)

Semnale de control CLEAR LOAD 0 Q=0

CLOCK LOAD CLEAR P2

QN

Inscriere (setare)

Q=D n

Numarare

Q=A

b)

Dn

Figura 3.65 Modalitati de nscriere a numrtoarelor sincrone: a) a a nscriere asincron; b) circuistica i tabelul semnalelor de control pentru a s nscrierea sincron; a c) semnalele pentru controlul operatiilor pe un numrtor. aa

ciclului qp . Rezult c un numrtor modulo 2n , la care se implementeaz circuitul a a aa a de presetare, poate transformat ntr-un numrtor modulo C 1 , 2 C1 2n -1. aa Circuitul de presetare trebuie s contin: un identicator (decodicator) al codului a a strii nale qf , intrri externe pe care se aplic bitii de cod ai strii q p , ce urmeaz a a a a a a nscris, i semnalulul de arcare, LOAD. Un decodcator al codului strii q f a s nc a se poate realiza uor cu porti logice exterior, general sub forma unei conjunctii s n n compuse cu bitii care au valoarea 1 codul strii q f . Dar, un astfel de decodicator n a poate eliminat dac se alege ca starea nal, q C1 , care se genereaz semnalul de a a n a depire a capacitii, CO, iar ca semnalul LOAD se va utiliza tocmai acest semnal as at de depire de capacitate. Foarte frecvent, mai exist a un semnal de tergere, as a nc s CLEAR ( general activ L), care realizeaz n n a nscrierea starea q i = 00. . . 00. n Fortarea codului strii urmtoare bistabilele de stare ale automatului numrtor a a n aa se poate realiza, raport cu semnalul de ceas, sincron sau asincron. n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

441

Modalitatea de nscriere asincron, Figura 3.65-b, utilizeaz intrrile asincrone a a a PRESET i CLEAR (Figura 3.43-a) ale latch-ului din structura bistabilului. Cele s dou porti P1 , P2 sunt validate numai la activarea semnalului de arcare, LOAD = a nc 0. Dac bitul Dn , aplicat din exterior, are valoarea 1 rezult PRESET, CLEAR = 0, a a 1, deci Q = 1, QN = 0, iar dac Dn are valoarea 0 rezult PRESET, CLEAR = 1, a a 0, deci Q = 0, QN = 1. Poarta XOR din aceast structur are numai rolul de a a a transforma bistabilul D bistabilul T, Figura 3.50-b. n Inscrierea asincron a ntru-un numrtor prezint dou inconveniente: aa a a 1. Bucl transparent pentru generarea semnalului de arcare. Prin utilizarea a a nc semnalului obtinut de la decodicatorul strii q f si aplicarea acestuia ca semnal de a arcare LOAD in jurul numrtorului se nc aa nchide o bucl transparent care poate a a determina, eventual, nscrierea unei stri eronate, eventualitate analizat Figura a a n 3.62-f. Se poate evita aceast eventualitate prin introducerea unui latch, deci elima inarea transparentei buclei. 2. Starea prescris din exterior, qp trebuie s e totdeauna cea anterioar strii de a a a a nceput a ciclului. La aplicarea impulsului de ceas care determin tranzitia starea a n nal qf pe ieirile numrtorului apare codul strii nale (pentru care decodicatorul a s aa a genereaz pe o durat scurt de timp semnalul de arcare asincron) i apoi codul a a a nc a s strii fortate qp-1 la numrarea direct sau qp+1 , la numrarea invers; deci pe perioada a a a a a acestui impuls de ceas ieirile indic dou stri q f , pentru o durat scurt de timp, s a a a a a i qp-1 sau qp+1 . Numai la urmtorul impuls de ceas se trece starea de s a n nceput a ciclului qp i se continu tranzitiile pn qf . s a a a n Pentru nscrierea sincron, deoarece celulele bistabil sunt a nscrise de ctre datele ce a se aplic pe intrrile de date cnd se aplica frontul activ de ceas, nu apar inconveniena a a tele de la nscrierea asincron. Figura 3.65-b este prezentat circuistica si tabelul a In a cu semnalele de control pentru o nscriere sincron. Poarta XOR are numai rolul de a a realiza bucla ce transform bistabilul D T; bucla se a n nchide de la ieirea Q s nspre intrare cnd poarta P3 este validat cu semnalul LOAD, CLEAR = 1, 1. Celula are a a pe intrarea de date o structur de MUX2:1 (neconsiderndu-se poarta XOR). Pe o ina a trare a multiplexorului, poarta P4 , se aplic semnalul (functia de excitatie) A, obtinut a de la circuitul combinational al numrtorului, i care este data ce determin starea aa s a celulei, Q = A, pe frontul activ urmtor de ceas, dac portile P 3 i P4 sunt validate a a s a prin valoarea 1 de la ieirea portii P1 (cnd LOAD, CLEAR = 1, 1). Pe cealalt s a intrare, poarta P5 , se aplic Dn care este a nscris celul, Q = Dn , la urmtorul a n a a impuls de ceas dac valoarea generat de poarta P 2 este 1 (LOAD, CLEAR = 0, 1, a a adic operatia de a nscriere). Pentru operatia de tergere (LOAD, CLEAR = , 0) s ieirea 0 a portii P2 va forta celul Q = 0, la aparitia urmtorului impuls de s n n a a ceas, indiferent de valoarea de prescriere Dn . general, semnalele de control pentru un numrtor presetabil sunt: de arcare In aa nc LOAD, de tergere CLEAR i de validare ENABLE (uneori compus din s s conjunctia a dou semnale). Din tabelul din Figura 3.65-a rezult c operatia de a a a tergere, CLEAR-activ, se realizeaz indiferent de valorile celorlalte semnale de cons a trol, deci CLEAR are prioritate maxim. Activarea semnalului LOAD a ncarc din a exterior celulele numrtorului chiar dac acesta nu este validat, pentru operatia de aa a numrare, prin activarea semnalului ENABLE. Dac toate cele trei semnale de cona a ,, trol nu sunt activate numrtorul este inhibat/ aa nghetat ntr-o anumit stare, nu se a produce nici o modicare la aplicarea semnalelor de ceas. Toate semnalele de control

442

3.4. CIRCUITE NUMARATOR

sincrone trebuie s respecte rapot cu frontul activ al semnalului de ceas restrictiile a n impuse de timpul de stabilizare SU i timpul de mentinere, H . Semnalele de cons trol pentru circuitele numrtoare sincrone uzuale, existente sub form de circuite aa a integrate MSI, sunt prezentate Figura 3.66-a. n Pentru numrtorul sincron 74xx163, 4biti, cod binar natural, unul dintre cele aa mai uzuale numrtoare, prin diagramele de semnal din Figura 3.66-b, se prezint aa a modurile de operare prin activarea semnalelor de control. Pe frontul pozitiv al impulsului de ceas notat cu 1, deoarece comanda de tergere este activ,CLEAR = 0, s a continutul numrtorului devine Q3 Q2 Q1 Q0 = 0000, iar pe frontul celui de al doilea aa impuls de ceas, deoarece comanda de nscriere este activ, LOAD = 0, cuvntul a a aplicat din exterior pe intrri D3 D2 D1 D0 = 1100 devine continutul numrtorului a aa Q3 Q2 Q1 Q0 = 1100 = 12|10 . Imediat dup al doilea impuls de ceas, prin actia varea semnalului ENABLE = ENP ENT = 1, se valideaz regimul de numrare. a a Pentru validarea regimului de numrare se conjug cele dou semnale de validare a a a ENT (ENable Trickle) i ENP (ENable Parallel). Diferenta s ntre aceste dou a semnale const prin efectul lor; ambele valideaz operatia de numarare dar ENT a a mai valideaz i transportul urmtor al numrtorului, notat aici cu prin RCO a s a aa (Ripple Carry Out), ca o functie AND cu semnalul CO, de numrtor plin, adic aa a RCO = CO ENT. La al cincelea semnal de ceas continutul numrtorului se umple aa Q3 Q2 Q1 Q0 = 1111 i se genereaz RCO, semnal care utilizat ca o comand de s a a nscriere poate, pe urmtorul impuls de ceas, forta continutul numrtorului starea a aa n qp = Q3 Q2 Q1 Q0 = D3 D2 D1 D0 . Regimul de numrare continu pn dup al optulea a a a a a impuls de ceas cnd numrtorul este devalidat, ENP ENT = 0, continuare ind a aa n regim de inhibare (fr modicri). n aa a Divizoare de frecvent. Deoarece un numrtor modulo 2 n genereaz prin a aa a CO (RCO) un semnal cu frecventa impulsurilor de ceas divizat cu 2 n atunci oricare a numrtor modulo C1 , 2C1 2n 1, este un divizor cu C1 a frecventei de ceas. Iar, aa dup cum se tie, un numrtor modulo C1 se obtine dintr-un numrtor presetabil a s aa aa modulo 2n din care se elimin (2n C1 ), stri, deci tot la C1 impulsuri de ceas se a a genereaz un impuls exterior, impuls ce este utilizat si pentru a forta a n nscrierea strii de a nceput qp a ciclului automatul numrtor. n aa Inconvenientul unui semnal obtinut de la un numrtor modulo C este o valoare aa mult sub 50% a coecientului de umplere. Mai mult, dac C = 2 n atunci i semnalele a s generate la ieirile Qn1 ,Qn2 ,. . . ,Q1 ,Q0 ale celulelor bistabil nu mai sunt simetrice s pe durata ciclului de C impulsuri de ceas. Solutii de circuite care genereaz semnale a simetrice dup ecare celul bistabil i pentru un C=2 n se gsesc [Oberman 78]. a a s a n Pentru a obtine semnale cu frecventa fCLK /C, dar cu coecient de exemplu 50%, se poate utiliza urmtoare modalitate: se aplic o frecventa 2f CLK la numrtorul a a aa modulo C iar ieirea acestuia se divide printr-un bistabil T (T=1) care genereaz o s a frecventa (2fCLK /C):2. Exemplul 3.22 Utiliznd circuitele numrtor sincron presetabil 74xx163 i 74xx161 a a a s s se realizeze numrtoare modulo 12. Caracteristicile de control pentru aceste numrtoare a a a a a sunt date Figura 3.66-a. n Solutie. Implementarea cu 74xx163.
1. Figura 3.67-a, starea nal este Q3 Q2 Q1 Q0 = 1111 detectat prin semnalul RCO, a a nceput semnal care genereaz semnalul de arcare sincron LOAD = RCO. Starea de a nc

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

443

Codul circuitului 74760/160 74162/163 4518/20 74190/191 74168/169 74668/669 74568/569 4510/16 74192/193 74876

Tip de numarator Comutare Resetare Inscriere activa in activa in Alte caracteristici (modulo, cod) (front) (CLEAR) (LOAD) BCD/4 biti, binar L, asincron L, sincron BCD/4 biti, binar L, asincron L, sincron Dual BCD/4 biti, binar sau H, asincron BCD/4 biti, binar L, asincron Reversibil, o singura intrare ceas BCD/4 biti, binar L, sincron Reversibil, o singura intrare ceas BCD/4 biti, binar L, sincron Varianta de 168/169 imbunatatita BCD/4 biti, binar L,sinc/asinc L, sincron Ca si 668/669 dar cu iesiri TSL BCD/4 biti, binar H, asincron H, asincron Reversibil, o singura intrare ceas BCD/4 biti, binar L, asincron H, asincron Reversibil, doua intrari de ceas sau L, asincron L, sincron 74869 are CLEAR sincron 8biti, reversibil

a)
CLEAR D3 D2 D1 D0 LOAD ENP 74 XX 163 RCO ENT CLK Q3 Q2 Q1 Q0 CLEAR stergere continut(sincron) LOAD incarcare continut (sincron) ENP, ENT validare functionare Q3 , Q2, Q1, Q0 iesire (de pondere), starea numaratorului D3, D2, D1, D0 intrari pentru bitii cuvantului incarcat din exterior RCO semnalizare stare Q Q2Q1Q0=1111 3

b)
CLEAR LOAD D0

Date prescrise D1 pe D2 intrari D3

CLK ENP ENT Date generate Q1 pe Q 2 iesiri Q3 Q0

10

11

0 0 0 0 0
0

0 0 1 1
12

1 0 1 1
13

0 1 1 1
14

1 1 1

0 0 0 0

1 0 0 0
1

0 1 0 0
2

RCO

c)

Clear Load (resetare) (setare)

Numarare

15

Fara modificare (inhibare)

Figura 3.66 Numrtoare sincron sub form de circuite MSI: a) caractera a a a isticile numrtoarelor uzuale; b) diagrama de semnale pentru numrtorul 74xx163 aa aa

444

3.4. CIRCUITE NUMARATOR

a ciclului 0100 = 4|10 se nscrie la impulsul urmtor dup cel care a comandat tranzitia a a starea nal, fRCO = 1/12 fCLK . Numrarea nu este cod binar natural, este, n a a n de fapt, un cod exces 4. 2. Figura 3.67-b, starea nal este Q3 Q2 Q1 Q0 = 1011 = 11|10 , detectat de o poart a a a NAND3, care genereaz semnalul CLEAR = 0. Stergerea este sincron cu semnalul de a a ceas, adic fortarea strii de a a nceput de ciclu Q3 Q2 Q1 Q0 = 0000 se nscrie la impulsul urmtor dup cel care a comandat tranzitia starea nal. Activarea semnalului a a n a CLEAR = 0 are frecventa 1/12 fCLK . Numrarea este cod binar natural. a n

Implementarea cu 74xx161, care are arcare sincron dar tergere asincron. Un nunc a s a mrtor divizor modulo 12 se obtine prin conexiuni similare ca Figura 3.67-a. Pentru un a a n numrtor cod binar natural, exist urmtoarele 2 variante: a a n a a

1. Figura 3.67-c, starea nal 1100 = 12|10 se detecteaz cu o poart NAND2 care prin a a a
LOAD (sincron ), CLEAR (sincron)
Q3Q2Q1Q0 RCO Q3Q2Q1Q0

0 1 0 0
"1" CLEAR LOAD ENP ENT CLK D3 D2 D1 D0 74xx163 RCO Q3 Q2 Q1 Q0

"1" f CLK

a)

0100 0101 0110 0111 1000 1001 LOAD=0 1010 CLK 1011 12 1100 f CLK/12 1101 1110 1 1111

"1" "1" f CLK

CLEAR LOAD ENP ENT CLK

D3 D2 D1 D0 74xx163 RCO Q3 Q2 Q1 Q0

CLEAR

b)

0000 0001 0010 0011 0100 0101 CLEAR =0 0110 CLK 0111 12 1000 1001 1010 1011

LOAD (sincron), CLEAR (asincron)


Q3Q2Q1Q0 Q3Q2Q1Q0

0 0 0 0
"1" "1" f CLK CLEAR LOAD ENP ENT CLK _ R D3 D2 D1 D0 74xx161 RCO Q3 Q2 Q1 Q0

CLEAR QN Q

1
_ S

0 0

c)

0000 0001 0010 0011 0100 0101 0110 CLEAR =0 CLK 0111 1000 12 1001 1010 1011 1100

0 0 0 0
"1" CLEAR LOAD ENP ENT CLK D3 D2 D1 D0 74xx161 RCO Q3 Q2 Q1 Q0 LOAD=0 CLK

"1" f CLK

12
CLEAR

1 0

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011

d)

Figura 3.67 Numrtoare modulo 12: a) numrtor divizor modulo 12; a a aa b,c,d) numrtoare modulo 12 cod binar natural aa n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

445

semnalul S, de scurt durat, a a nscrie numrtorul starea 0000. Deci pe perioada a a n TCLK a impulsului care a comandat tranzitia starea nal exist dou stari, adica n a a a 1111 i 0000; pentru ca aceast perioad starea a doua s e 0000, i nu o stare s n a a a s cu un alt cod, bucla ce se nchide la intrarea asincron CLEAR este transformat a a n bucl netransparent prin introducerea unui latch S R. La urmtorul impuls de ceas a a a se trece starea initial 0001. Semnalul CLEAR = QN = 0 are frecventa 1/12fCLK . n a 2. Figura 3.67-b, structura i functionarea se face prin utilizarea intrrii sincrone LOAD, s a similar ca Figura 3.67-b (unde se utilizeaz intrarea sincron CLEAR). n a a Cu ecare din aceste dou circuite se mai pot realiza multe variante de numtoare modulo a a 12, dar nu cu numrare cod binar natural, functie de alegerea strii nale; oricare din a n n a cele 16 stri poate xat starea nal. a a a

Uneori este necesar ca pe baza unui numrtor modulo C frecventa f CLK s e aa a divizat cu un coecient fractionar C/k, 1 k C. Se poate structura un divizor C/k a tiind c valoarea oricrui numr k exprimat binar se obtine ca o sum ponderat s a a a n a a a puterilor lui doi cu bitii din cuvntul binar ...b i ..b2 b1 b0 (k = + bi 2i + + a b2 22 + b1 21 + b0 20 ). Dar, la un numrtor modulo 2n , dup ecare celul de rangul aa a a i, 0 i n 1, se pot obtine impulsuri de ceas divizate cu 2 i+1 . Nu rmne dect a a a s se genereze aceste impulsuri i, apoi, s se selecteze acestea de la ecare celul a s a a a numrtorului conform valorilor (ponderilor) bitilor din cuvntul de cod binar al aa a numrului k. Aceste ponderi apar evidente dac se consider c frecventa rezultat a a a a a fCLK : C/k se obtine ca un produs k/C fCLK ; astfel de circuite care realizeaz a aceast relatie sunt referite ca multiplicatoare cu coecient binar. a Exemplul 3.23 S se structureze un circuit pentru multiplicarea fCLK cu coecientul a 5/16. Solutie. Numrul 5 exprimat binar cu patru biti este b3 b2 b1 b0 = 0101 iar exprimat a n ca parte a lui 16|10 = 10000 devine fractia 0, b3 b2 b1 b0 = 0, 0101(5|16 = 0 21 + 1 22 + 0 23 + 1 24 ). circuitul multiplicator cu coecientul binar 0,0101 frecventele divizate prin puterile In lui 2, obtinute dup celulele unui numrtor modulo 24 , se pondereaz felul urmtor: a a a a n a
b3 21 fCLK ; b2 22 fCLK ; b1 23 fCLK ; b0 24 fCLK .

Utiliznd un numrtor sincron, paralel, modulo 16, Figura 3.68-a, se realizeaz cu porti a a a a AND, exteriorul acestuia, circuitele care genereaz frecvente de ceas divizate dup puterile n a a lui doi. Pe aceste porti AND se introduc coecientii binari b3 , b2 , b1 , b0 care pondereaz a subfrecventele respective. Functiile implementate pe ecare poart AND sunt a AN D4 : b0 Q3 Q2 Q1 Q0 fCLK AN D3 : b1 Q2 Q1 Q0 fCLK AN D2 : b2 Q1 Q0 fCLK AN D1 : b3 Q0 fCLK

Apoi trenurile de impulsuri obtinute la ieirile acestor porti AND sunt sumate printr-o poart s a OR. Portile AND1 i AND3 care sunt ponderate cu biti cu valoarea zero (b3 = 0, b1 = 0) au s aport nul succesiunea impulsurilor de ieire. Se obtine astfel, Figura 3.68-b, 5 impulsuri n s pe ieire pentru 16 impulsuri de ceas aplicate la intrarea numrtorului deci o multiplicare s a a cu 5/16. Succesiunea de 5 impulsuri nu este uniform, distanta a ntre impulsuri este de patru iar uneori de dou tacte de ceas. O distributie mult mai uniform se obtine cnd se utilizeaz a a a a ieirea de transport de la un circuit acumulator (vezi Figura 3.74-c). Pe lng ieirea O n s a a s

446
23 RCO
J Q Numarator sincron CLK paralel modulo16 Q K Q J Q

3.4. CIRCUITE NUMARATOR


22 21 20 EN
J Q J

CLK Q K

CLK Q K

CLK Q K

f CLK
b3 =0 b 2 =1 b1 =0 b0 =1

AND 4 On

b0 24 fCLK

AND 3

AND 2 b1 23 fCLK

AND 1 b2 22f CLK

b3 21f CLK On1

a)
CLK Q0 Q1 Q2 Q3 21 f CLK

10

11

12

13

14

15

16

1
22 f CLK 23 f CLK 24 f CLK

3 2 4

5 6

9 10

11 12

13 14

15 (b 3=0) (b 2=1) (b 1=0) (b 0=1) 14

0 21 f CLK +1 2 2 f CLK +0 2 3 f CLK +1 2 4 f CLK

8 8

On

10 13

b)

9 7 4 5/16 f CLK produs de un circuit acumulator

16

Figura 3.68 Multiplicatorul cu coecient binar: a) organizarea circuitului; b) diagrama de semnale generate pentru multiplicarea 5/16 f CLK .

exist i o intrare On1 pentru ca multiplicatorul cu coecient binar s poat as a a nseriat cu alte circuite de acelai tip (pentru a crete valoarea modulo). s s

Automate pe baz de numrtor Numrtorul sincron si este un aua a a aa nsu tomat de tip Moore, bitii de ieire sunt identici cu bitii de stare, Y Q (dac s a nu se consider i ieirea CO); deci automatul este identic cu semiautomatul su. a s s a Numrtoarele presetabile sunt automate particularizate prin modul de asignare a aa strilor: codicarea este cod binar natural pn la codul numrului 2 n 1 sau a n a a a pn la 9 (la cele BCD). Ideea simplicatoare, realizarea unui automat, sugereaz a a n a ca asignarea strilor cu tranzitii succesive ale automatului s se fac codul binar a a a n natural, iar atunci pentru implementarea semiautomatului corespunztor automatua lui s e utilizat un circuit integrat numrtor presetabil. Pentru cazurile cnd a aa a n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

447

graful de tranzitie a automatului exist tranzitie a ntr-o stare cu un cod care nu este ordinea de numrare (dup un bloc de decizie cnd sunt dou ci de tranzitie) n a a a a a acel cod trebuie fortat prin numrtorul presetabil. Pentru o tranzitie afara or aa n ,, dinii de numrare, numrtorului trebuie s i se livreze dou informatii: codul a aa a a strii urmtoare ce trebuie a a nscris precum i semnalul de comand al arcrii. s a nc a In consecinta, pe baza produsului cartezian intrare-stare, X(t)Q(t), trebuie implemen tate dou circuite combinationale, din care unul calculeaz codul strii urmtoare, iar a a a a cellalt determin activarea semnalului de arcare, care vor a a nc nchide dou bucle a n jurul numrtorului presetabil, Figura 3.69. aa
x(t) CLC2 LOAD

CLC1 q+(t) Dn1 D0 LOAD CLEAR Numarator prestabil ENABLE Qn1 Q0 q(t)
CLK

Figura 3.69 Organizarea de principiu a unui semiautomat pe baz de nua mrtor presetabil. a a

Prima bucl, a nchis prin CLC2, determin valoarea pe intrarea LOAD pentru a a comanda de nscriere. Recomandat pentru implementarea CLC2 este circuitul multiplexor pentru c trebuie s genereze o singur ieire (LOAD = 0 pentru a a a s nscriere, LOAD = 1 pentru ordinea natural de numrare) pe baza codului strii care se a a a a n a semiautomatul, iar bitii cuvntului de cod ai strii prezente q(t) se folosesc ca biti a a de selectie pentru multiplexor. plus intrrilor multiplexorului, care prin selectare In a devin semnalul LOAD, pot s li se atribuie afar de constantele 1 sau 0 i valorile a n a s unei variabile de intrare. Determinarea valorii semnalului LOAD, functie rezultatul n testrii unei variabile a ntr-un bloc de decizie, se realizeaz prin conectarea variabilei a testate ntr-o anumit stare pe intrarea multiplexorului selectat de cuvntul de cod a a a al acestei stare. A doua bucl, inclus prin CLC1, calculeaz bitii de cod w n1 , wn2 , ..., w1 , w0 a a a ai strii urmtoare, cazul cnd nu este starea urmtoare q + (t) ordinea normal a a n a a n a de numrare. Pentru CLC1 recomandarea este o implementare cu porti. Justicarea a acestei recomandri se bazeaz pe faptul c prin asignarea aleas, pentru strile semia a a a a automatului, majoritatea tranzitiilor se efectueaz a ntre stri care au coduri succea sive ordinea normal de numrare, deci exist putine tranzitii n a a a ntre coduri care

448

3.4. CIRCUITE NUMARATOR

stric aceast ordine normal. consecinta, pentru multe cuvinte de cod ale strii a a a In a prezente q(t) bitii strii urmtoare q + (t), calculati pe CLC1, sunt indiferenti pentru a a prescrierea numrtorului. Existenta multor combinatii de intrare pentru care ieirile aa s de la CLC1 sunt indiferente duce la o minimizare puternic, deci la o implementare a simpl cu porti. a Exemplul 3.24 Pentru semiautomatul descris prin organigrama ASM i asignarea s xat, din Figura 3.70, s se realizeze o implementare. a a Solutie. Se observ c pentru aceast variant (Varianta1) de asignare a strilor, cnd a a a a a a variabilele de intrare au valorile x1 = 1, x2 = 0, x3 = 1, se parcurg ciclic strile q2 q3 a q4 q5 q6 q0 q1 q2 ..., iar codurile parcurse sunt ordinea de numrare n a n binar natural de la 000 pn la 110; exist un salt cuvntul de cod de la 110 la 000 pentru a a a n a calea de tranzitie L2 (q1 q2 ). Mai exist a trei ci de tranzitie L4 , L7 i L9 cnd iari a nc a s a as tranzitiile nu sunt ordinea normal de numrare. Deoarece din cele 10 ci de tranzitie n a a a pentru 6 dintre acestea se parcurg coduri succesive de numrare binar se va utiliza pentru a n implementare circuitul numrtor 74xx163/161. a a Tabelul de tranzitie al strilor, Figura 3.70-b, contine informatia pentru sinteza celor a dou bucle ale semiautomatului. Deoarece sunt numai 7 stri intrarea D3 a numrtorului a a a a este permanent 0. n coloana semnalului de arcare LOAD se introduce valoarea 0(activ) numai atunci In nc cnd codul strii urmtoare w2 , w1 , w1 nu se obtine din codul strii prezente z2 z1 z0 plus 1, a a a a n rest LOAD=1(inactiv). Pentru sinteza semnalului LOAD intrrile x3 , x2 , x1 se introduc ca a variabile reziduu. Bucla pentru arcarea numrtorului este implementat pe un MUX8:1. nc a a a Pentru sinteza circuitului combinational din bucla ce calculeaz bitii D2 , D1 , D0 valorile a acestor biti sunt identice cu cele ale bitilor strii urmtoare D2 = w2 , D1 = w1 , D0 = w0 cnd a a a semnalul de arcare este activ, LOAD = 0, i cu valori indiferent cnd LOAD = 1. exnc s a In presiile bitilor D2 , D1 i D0 se pot introduce intrrile x3 , x2 , x1 ca variabile reziduu rezultnd s a a o sintez functie numai de variabilele de stare z2 , z1 , z0 . Dar aceste variabile reziduu pot a n substituite cu una din valorile logice 0 sau 1 deoarece, la ecare testare a unei variabile reziduu, numai una din cele dou tranzitii posibile determin arcarea numrtorului, a a nc a a pentru cealalt valoare este indiferent (LOAD = 1). a De exemplu, din starea prezent q5 (011) se efectueaz tranzitia e la q5 , cnd x2 =1, e a a a la q6 (100), cnd x2 =0, dar ultima tranzitie este indiferent pentru arcarea numrtorului a a nc a a (LOAD=1). Rezult c csuta de coordonate z2 z1 z0 =011(q5 ) din diagramele V-K ale a a n a functiilor D2 , D1 , D0 totdeauna se introduc respectiv valorile 0,1,1, Figura 3.70-d (nu exist a dou valori diferite Di care s e determinate de cele dou valori ale lui x2 ). Din aceste a a a diagrame V-K se deduc expresiile logice (pentru Varianta1):
D2 = z 2 z 1 = z 1 + z 2 ; D1 = z 2 ; D 0 = z 2 z1 + z 2 z1 = z 2 z 1

iar structura rezultat de semiautomat este cea din Figura 3.70-c. a Se mai propun a dou variante de asignare a strilor semiautomatului, ca coloanele nc a a n denumite Varianta2 i Varianta3 din tabelul ASM, pentru a face o comparatie cu imples mentarea dup Varianta1. Pentru Varianta2 i 3 nu se mai face sinteza buclei pentru detera s a a minarea comenzii LOAD deoarece o optimizare nu poate apare cnd se utilizeaz un circuit standard(MUX8:1). schimb, pentru bucla ce calculeaz codul strii urmtoare, pentru In a a a a crei sintez conteaz numrul de stri indiferente din diagrama V-K, este normal a se a a a a a determina care asignare este mai potrivit. Urmnd aceeai procedur de sintez, ca i la a a s a a s Varianta1, se obtin V arianta2 : V arianta3 : D2 = z 1 z 0 = (z1 + z0 ); D2 = z1 (z 2 + x1 ); D1 = z0 ; D1 = z2 + z0 ; D0 = 0 D0 = z 1 + x 3 z 2

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

449

Varianta1 de asignare
Calea de tranz Intrari Starea prezenta x 3 x 2 x 1 Simb z 2 z 1 Starea Intrari urmatoare numarator LOAD D 2 D 1 D 0 z 0 Simb w2 w1 w0

Varianta2
Starea prezenta urmatoare z 2 z 1 z 0 w2 w1 w0

Varianta3
Starea prezenta urmatoare z 2 z 1 z 0 w2 w1 w0

q0 L1 q1 L2 q2 L3 1 q3 L4 L5 0 q3 q4 L6 L7 q5 1 q5 0 L8 q6 L9 0 L10 1 q6

1 1 0 0 0 0 0 0 1 1

0 1 0 0 0 1 1 1 0 0

1 0 0 1 1 0 1 1 0 0

q1 q2 q3 q1 q4 q5 q5 q6 q3 q0

1 0 0 1 0 0 0 1 0 1

1 0 0 1 1 1 1 0 0 0

0 0 1 0 0 1 1 0 1 1

1 0 1 0 1 1 0 1 0 1

0 0 0 x1 1 1 0

_ 0 1 1 x2 x3 0 0 1

1 0 0 0 0 0 1 1 1 1

1 0 0 1 1 1 0 0 0 0

0 0 1 0 0 1 0 0 1 1

1 0 0 0 0 1 1 1 0 1

1 0 1 0 1 0 0 0 1 1

1 1 0 0 1 0 0 1 0 0

0 1 1 1 1 0 0 0 0 0

1 0 0 1 1 0 0 0 1 1

1 0 1 0 0 0 1 1 0 0

1 1 1 1 0 0 0 0 1 0

0 0 1 0 0 0 0 1 1 1

0 1 0 0 0 1 1 0 0 1

b)

q0

L10 L1 L2 L3 x1

101 110 000 001 +5V 010 011


D3 D2

x1 x2 x3

000 001 010 011 100 101

q1 q2 q3 0

MUX 8:1 y

z2

Varianta1 z 1z 0
0 1

00 01 11 10

1 0 0 __ D2 = z 2z 1 0

z2

Varianta3 z 1z 0
0

00 01 11 10

110 111 S 2 S 1 S 0

1 _ x1 _ _ D2 = z 1(z 2+ x1)
1

L4 L 5 q4 q5 1 L6

z2 w2 w 1 w 0
D1 D0

z 1z 0
0 1

00 01 11 10

1 1 0 _ D1 = z 2 0

z2

z 1z 0
0 1

00 01 11 10

0 _ _ D1 = z 2z 0

1 0

q+(t)
LOAD

L7 L 8 q6 L9 0

x2

CLEAR ENP ENT CLK

"1" "1"
CLK

74xx163 100
Q3 Q2 Q1 Q0

z2

z 1z 0
0 1

00 01 11 10

x3

z2 z1 z0 1

q(t)

0 1 1

z2

z 1z 0
0 1

00 01 11 10

x3

a)

c)

d)

0 _ _ D0 = z 2z 1+ z 2z 1

e)

0 _ _ D0 = z 1+ x 3z 2

Figura 3.70 Exemplu de semiautomat implementat pe baza numrtorului a a 74xx163: a) organigrama ASM; b) tabelul combinat ASM; c) structura semiautomatului pentru Varianta1 de codicare; b,c) sinteza buclei pentru calculul strii a urmtoare corespunztor Varianta1 i Varianta3 de codicare. a a s

450

3.4. CIRCUITE NUMARATOR

Se poate observa c Varianta2, raport cu celelalte dou, realizeaz o implementare a n a a mai simpl pentru bucla ce calculeaz starea urmtoare (utilizeaz o singur poart NOR2). a a a a a a Varianta3 este cea mai putin simpl, deoarece expresiile care calculeaz starea urmtoare a n a a intervin i variabilele de intrare; nici una din tranzitiile controlate de x1 i x3 nu sunt spre s s stri ale cror coduri s se obtin prin numrare. a a a a a

3.4.2.2

Numrtoare cod arbitrar a a n

Un circuit numrtor modulo C este un automat Moore cu un graf ciclic, deci aa poate privit ca un identicator de clase de resturi modulo C. Asignarea strilor se a face, general, cod binar natural datorit faptului c procesarea digital n n a a n a calculator numerele sunt reprezentate sistemul de numeratie binar rezultnd n n a numrtorul binar sau cod BCD-datorit faptului c exteriorul calculatorului aa n a a n numerele sunt reprezentate sistemul de numeratie zecimal rezultnd numrtorul n a aa BCD. Dar, asignarea strilor automatului numrtor, Figura 3.61, se poate realiza a aa n oricare cod, rezultnd numrtorul cod oarecare. Sinteza unui numrtor cod a aa n aa n oarecare nu difer cu nimic de sinteza unui automat. anumite aplicatii(evitarea a In aparitiei glitch-ului prin decodicare, utilizarea direct fr decodicator, o anumit a aa a secventa parcurs) se justic alegerea unui anumit cod. a a Exemplul 3.25 S se realizeze, pe trei celule bistabil JK, un numrtor cod Gray. a a a n Solutie. Codurile progresive au proprietatea c la trecerea a ntre dou cuvinte de cod a succesive se va schimba doar un singur bit. Pentru cele 16 cuvinte pe patru biti se pot forma un numr de 55 de coduri progresive distincte, dintre acestea cel mai utilizat este codul binar a reectat( raport cu o linie dus dup 2i cuvinte de cod, cuvintele de cod de (i + 1) biti de n a a dup linie sunt imaginea oglind a cuvintelor de cod de (i + 1) biti dinainte de linie) este a n a codul Gray. Pornind de la tabelul de tranzitie al strilor codicate cod Gray, Figura 3.71-a, se deduc a n diagramele de V-K pentru bitii strii urmtoare w2 , w1 , w0 , apoi acestea pe baza tabelului a a de excitatie al bistabilului JK, Tabelul 3.4, se convertesc diagramele V-K, Figura 3.71-b,c n i d ale functiilor de excitatie JQ2 , KQ2 ; JQ1 , KQ1 ; JQ0 , KQ0 avnd urmtoarele expresii s a a logice cu implementarea din Figura 3.71-e:
JQ0 = z1 z0 KQ0 = z1 z0 JQ1 = z2 z0 KQ1 = z2 z0 JQ0 = z2 z1 + z2 z1 KQ0 = z2 z1 + z2 z1

Sinteza numrtoarelor alte coduri de numrare se face aceeai modalitate. a a n a n s

Dar exist i o alt abordare a unui numrtor modulo C as a aa ntr-un cod oarecare, prin utilizarea unui numrtor modulo C aa ntr-un cod uzual (realizat cu un circuit numrtor presetabil) cruia i se ataeaz un circuit de ieire, CLC2 din Figura 3.8-c, aa a s a s care realizeaz functia de convertor din codul uzual folosit codul oarecare. Figura a n In 3.71-f este structurat un numrtor cod Gray pe baza unui numrtor modulo a aa n aa 256, cod binar natural, plus o memorie ROM care contine tabelul de conversie n binar-Gray. Aceast abordare, raport cu cea anterioar, are o vitez de numrare a n a a a mai redus, dar schimb, prezint o mai mare exibilitate, poate implementat un a n a numrtor orice cod numai prin schimbarea tabelului de conversie din ROM. aa n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

451

Starea prezenta urmatoare z2 z1 z0 w 2 w 1 w 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 w2 01 0 1 11 0 1 10 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0

z2

z1

z0

Q2 CLK QN K

Q1 CLK QN K

Q0 CLK QN K CLK

a)
z 1z 0 z2 00 0 1 0 0

e)
z 1z 0 z2 00 0 1 0 0 w1 01 1 0 11 1 0 10 1 1 z 1z 0 z2 00 0 1 1 0 w0 01 1 0 11 0 1 10 0 1

z 1z 0 z2 00 0 1 z 1z 0 z2 00 0 1 1 0

01 0

JQ 2 11 0

10 1

z 1z 0 z2 00 0 1 0 0

01 1 0 01

JQ1 11

10

z 1z 0 z2 00 0 1 1 0

01

JQ0 11

10 0 1

01

KQ2 11

10

z 1z 0 z2 00 0

KQ1 11 0 1

10 0 0

z 1z 0 z2 00 0 1

01 0 1

KQ 0 11 1 0

10

b)
Numarator modulo 256 Q7 Q 6 Q 5 Q 4 in cod Q 3 binar natural Q 2 Q 1 Q0

c)
A7 D7 D6 A6 D5 A5 D4 A 4 ROM A 3256 X 8biti D3 A2 D2 A1 D1 D0 A0

d)
Cuvant in cod Gray

CLK

f)

Figura 3.71 Numrtor cod Gray: a,b,c,d,e) fazele procesul de sintez, a a n n a pornind de la tabelul de tranzitie al strilor pn la structura de circuit numrtor; a a a aa f) structurarea pe baz de circuit numrtor binar modulo 256 plus convertor binara aa Gray nscris memorie ROM. n

452

3.5. CIRCUITE REGISTRU

3.5

CIRCUITE REGISTRU

La nivel de bit suportul zic pentru stocare/memorare, sincronizare, cuplare i s izolare este circuitul bistabil. La nivel de cuvnt, denit ca o succesiune de n biti, a suportul zic pentru functiile de: stocare/memorare, cuplare,sincronizare i s izolare/separare este un circuit compus din n circuite bistabil referit ca circuit registru sau, uzual, registru. Odat a nscris informatia de un bit a ntr-un bistabil aceasta este disponibil a citit; la fel i la un registru, cuvntul a a s a nscris poate citit continuare. n Intr-o exprimare proprie sistemelor de procesare a informatiei, unde informatia este mpachetat sub form de cuvinte, un registru este referit prin a a termenul general de port. aceast exprimare intrrile de date, prin care se In a a nscrie o informatie/cuvnt a ntr-un registru, constituie un port de intrare, iar ieirile de s date din registru constituie un port de ieire. s functie de modul cum se realizeaz conexiunile pentru extensia de la circuitul In a bistabil la organizarea de circuit registru exist: registru paralel, registru serie i a s combinatii ntre acestea serie-paralel i paralel-serie. Dar, pentru toate tipurile de s registru, exist un parametru comun lungimea registrului, adic numrul de celule a a a bistabil care compun. l Circuitul registru, ca suport zic pentru functiile enumerate mai sus, constituie o component fundamental arhitectura i implementarea sistemelor digitale. Rega a n s istrul este un circuit simplu, ca denitie, i cu o dimensiune de ordinul O(n). Dar s ind, fond, o structurare ordonat de circuite bistabil, consecinta, supus unei n a n regulariti de layout, rezult c implementarea sa nu ridic diculti. sectiunile at a a a at In urmtoare se vor prezenta tipurile de circuite registru evidentiind logica structurrii a a acestora, precum i unele aplicatii care au un grad ridicat de generalitate. s

3.5.1

Registru paralel

Registrul paralel are o structurare simpl obtinut doar prin considerarea para a n alel a n celule bistabil, uzual de tip D; afar de semnalul de ceas comun penn a tru toate celulele poate s nu existe nici o alt conexiune a a ntre celulele bistabil, Figura 3.72-a. Cuvntul pentru a nscriere/( arcare) se aplic pe intrrile de date nc a a Dn1 , Dn2 , ..., D1 , D0 portul pe intrare i odat arcat, prin aplicarea sems a nc nalului de ceas, cuvntul este accesibil permanent pe ieiri Q n1 , Qn2 , ..., Q1 , Q0 a s portul de ieire dac aceste ieiri nu sunt de tip TSL. general, registrul poate s a s In genera att variabile negate, QN , ct i cele nenegate, Q. Aceasta explic de ce la a a s a implementarea unei functii FNC sau FND, pe un circuit combinational, se consider a numai dou niveluri logice i nu trei dei sunt utilizate att variabile negate ct i a s s a a s nenegate. Al treilea nivel pentru negarea unor variabile, situate la intrarea circuit, n nu este necesar deoarece att variabilele negate ct i cele nenegate sunt obtenabile a a s de la registrul care s-a stocat cuvtul de intrare. n a Pentru a spori exibilitatea utilizare, a structurrii simple prezentate anterior, n a registrului i se adaug anumite semnale de control, specicate pe schema bloc de a registru reprezentat Figura 3.72-b. primul rnd, un registru trebuie s prezinte a n In a a obligatoriu un semnal de arcare, LOAD (LD), care general este semanlul de nc n ceas, activ pe front (sau pe palier dac registrul este realizat cu latch-uri). Uneori, a pentru nscriere, conjuctie cu semnalul LOAD, mai trebuie activat i un semnal de n s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


Date de intrare D1

453

Dn1

D0 CLK (LOAD)

Date de intrare Incarcare LD Stergere DIN EN Validare intrare Validare iesire

CLK QN

D D n1 Q

CLK QN

D D1 Q

CLK QN

D D0 Q

CLEAR DOUT OE Date de iesire

a)

Qn1 2Dn1 1Dn1

Q1 Date de iesire

Q0 2D0

b)
1D0

(Selectare intrare)
S1 = 0 0 1 1 S0 = 0 1 0 1 D = Qi 1Di 2Di0Di

i 0 < i < n1

MUX4:1
D Q

MUX4:1
D Q0 Q

LOAD (CLK) CLEAR CLEAR

CLK QN

CLEAR

CLK QN

(Stergere)
OE

(Validare iesire)

c)
0D n1 /Qn1

0D0 /Q0

Figura 3.72 Registrul paralel: a) structur (cu n celule statice); b) reprezentare a simbolic; structur de registru cu n celule care se evidentiaz modul de aplicare a a n a a semnalelor de control.

validare, ENable. Pentru facilitatea de tergere a continutului registrului, afar de s n a nscrierea cu zero, poate exista un semnal de tergere, CLEAR, care de fapt este o activare comun s a a tuturor intrrilor asincrone CLEAR ale celulelor bistabil. De asemenea, pentru a a se putea realiza conectarea mai multor registre, la liniile aceleai magistrale, ieirile s s acestora sunt de tip TSL, deci trebuie s existe o validare a ieirii OE (Output Enable). a s Toate aceste semnale de control, deoarece se aplic la n celule, trebuie buerate la a intrarea circuitul registru (pentru ca semnalele exterior sunt e comandate doar n n ca o singur unitate de sarcin de arcare). a a nc Figura 3.71-c pe structura unui registru paralel de n biti sunt adugate semanIn a lele de control. Semnalul de arcare, LOAD, este semnalul de ceas, iar semnalul nc de tergere este semnalul asincron CLEAR. Activarea semnalului validare ieire, s s OE = 0, va comanda trecerea buerului de ieire TSL din starea de s nalt impedanta a starea normal de functionare, deci ieirea (la magistral) este cuvntul n a s a a nscris n registru Qn1 , Qn2 , ..., Qi , ..., Q1 , Q0 . Cnd OE = 1, buerul TSL nu este activat, la ieirea registrului la magistral a s a

454

3.5. CIRCUITE REGISTRU

este cuvntul existent pe magistral ODn1 ODn2 . . . ODi . . . OD1 OD0 . Intrarea de a a date D a ecrei celule bistabil Di , 0 i n 1, este conectat, printr-un MUX4:1, a a functie de cuvntul de selectare EN=S1 S2 la una din urmtoarele patru surse de n a a date: 1. pentru EN = 00, Di = Qi , la ecare impuls de ceas bistabilul se re ncarc cu a valoarea deja nscris; a 2. pentru EN = 01, Di = 1Di , la ecare impuls de ceas bistabilul se ncarc cu a valoarea 1Di de la sursa 1; 3. pentru EN = 10, Di = 2Di la ecare impuls de ceas bistabilul se ncarc cu a valoarea 2Di de la sursa 2; 4. pentru EN = 11 i OE = 1 Di = 0Di , la ecare impuls de ceas bistabilul se s ncarc cu valoarea ODi existent la ieirea pe magistral. Evident, c prin a a s a a relatia S1 S2 OE = 0 buerul TSL este starea de n nalt impedanta, deci a ieirea Q a bistabilului nu se aplic la ieire pe magistral; s a s a tehnologie MOS i CMOS, uzual, registrele se realizeaz cu celule dinamice; In s a astfel se obtine consum redus de putere i densitate de integrare mrit. Structuri s a a dinamice de latch D i bistabil D sunt prezentate respectiv Figurile 3.40-b i 3.45-b. s n s
Magistrala operand 1 Magistrala operand 2
PORT 1 n
k :1

n n PORT 2 S 1 0 n S 1 0 k READ1

nxMUX 2
2k 1 2k 2

nxMUX 2 k 1
2k 1 2k 2

(citire Port 1)
k READ2

Banca de 2 k registre 2k1 2k2 DCD Selectare k:2 k registru 1 0


D CLK D CLK D Registrul 2 Registrul 2
k

1 2

(citire Port 2)

CLK D CLK

Registrul 1 Registrul 0

LOAD (Incarcare registru)

n biti

Magistrala rezultat

Figura 3.73 Organizarea unei bnci de 2k registre cu lungime de cuvnt de a a n biti, dublu port pe ieire (cu evidentierea decodicrii pe intrare, pentru s a nscriere, i selectrii pe ieire, pentru citire) s a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

455

Pentru mrirea capacitii de stocare, la mai mult de un cuvnt, un numr 2 k a at a a registre sunt grupate formnd o banc de registre; ecare din cele 2 k registre putnd a a a selectat att pentru a nscriere ct i pentru citire. Figura 3.73 este structurat a s In a o banc de 2k registre, ecare dintre registre avnd lungimea de n biti, capacitatea a a total total este (2k n). a a Cuvntul de n biti de pe magistrala rezultat se va a nscrie acel registru pentru n care semnalul de ceas devine activ, semnal format prin conjunctia ntre semnalul de arcare LOAD i ieirea de la DCDk:2k , selectat prin cuvntul Selectare registru. nc s s a a Banca de registre este dublu port pentru a putea citite simultan dou registre, a adic pe ecare din cele dou magistrale 1 i 2 se aplic continutul unui registru. a a s a Un grup de nMUX2k :1, prin care este selectat unul din cele 2k registre ca port de ieire (conectare la magistral), are organizarea similar ca Figura 2.36 (acolo s a a n este o notatie inversat, un grup de 2n registre ecare cu lungimea de k biti).Aceast a a detaliere, a modului de operare asupra unei bnci de registre, completeaz descrierea a a cii de date prezentat Figura 2.73. a a n

3.5.2

Circuitul acumulator

Se obtine o structur hibrid printr-o jonctionare a celulelor bistabil ale unui a a registru paralel cu lungimea de n biti cu celulele sumator complet (3, 2) ale unui sumator modulo 2n cu transport succesiv, Figura 3.74-a. Pe celula sumator complet cu ponderea 2i , 0 i n 1, a sumatorului se va suma: bitul xi al cuvntului a X = xn1 xn2 . . . xi . . . x1 x0 , aplicat din exterior; bitul Qi nscris celula i a regn istrului i bitul de transport Ci1 , de la celula sumator complet anterioar. Aceast s a a celul sumator complet, de pondere 2i , va genera bitul sum si = Ci1 Qi xi i a a s bitul transport urmtor Ci = Qi xi +Qi Ci1 +xi Ci1 , care se aplic la celula sumaa a tor complet de rang i + 1, ca bit de transport anterior; iar la aplicarea urmtorului a impuls de ceas (t+1) bitul sum calculat si (t) se a nscrie celula i a registrului, n deci Qi (t + 1) = si (t). Extinznd la lungimea de n biti, la impusul de ceas (t+1) a registru se n nscrie suma aritmetic modulo 2 rezultat a a ntre: continutul anterior din registru, Q(t) = Q( n 1)(t)Qn2 (t)...Qi (t), ..., Q1 (t)Q0 (t); cuvtul aplicat din a exterior, X(t) = xn1 (t)xn2 (t), ..., xi (t), ..., x1 (t)x0 (t) i transporturile anterioare s Cn2 (t), Cn3 (t), ..., Ci1 (t), ..., C1 (t), C0 (t), C1 (t). cazul care valoarea initial a cuvntului registru este zero Q(0) = 0, In n a a n transportul anterior C1 = 0, iar cuvntul extern X este constant timp, registru a n n rezult o sumare repetat a cuvntului extern, dup k impulsuri de tact se obtine a a a a valoarea kX modulo 2n . Apare evident faptul c circuitul acumulator este un aua tomat, la care partea combinational este format din celule sumator a a (3, 2), de aceea, uneori, cuvntul de ieire va notat ca un cuvn de stare cu z 3 z2 z1 z0 . a s a Bazat pe aceast functionare, de sumare repetat modulo2 n , circuitul acumulator a a poate utilizat pentru modelarea functionrii numrtorului sincron modulo2 n direct a aa sau invers oricare cod. De exemplu, pentru acumulatorul cu trei celule, n=3, n pornind din starea initial Q(0) = Q2 Q1 Q0 = 000 i C1 = 0, cu un cuvnt aplicat a s a din exterior X = 001, se obtine o succesiune de numrare sens direct, coloana a a n doua din Figura 3.74-c, corespunztoare numrtorului sincron modulo 8 cod binar a aa n natural. Modicarea functionrii de numrtor sincron modulo 8, sens invers, a aa n n cod binar natural, se obtine pornind din starea initial Q(0) = 0 cu X = x 2 x1 x0 = 111 a

456

3.5. CIRCUITE REGISTRU

z3
Q D CLK QN

z2
Q D CLK QN

z1
Q D CLK QN

z0
Q D CLK QN

z3
RESET CLK CO

z2 Q2 Q1 x1

z1 Q0 x0

z0
CLK

CLEAR

CLEAR

CLEAR

CLEAR

Q3 x3

C 1

Cn a)

(3,2) x3

(3,2) x2

(3,2) x1

(3,2) x0

C1

x2

b)

Nr de Starea initiala Starea initiala Nr impuls z 2z 1z 0=000 z 2z 1z 0=000 de x 2x 1x 0=001 x 2x 1x 0=111 imp. de de ceas C1=0 C +1=0 ceas 1 2 3 4 5 6 7 8
C O =1 000 + 001 001 001+ 001 010 010+ 001 011 011+ 001 100 100+ 001 101 101+ 001 110 110+ 001 111 111+ 001 000 000+ 111 111 111+ 111 110 110+ 111 101 101+ 111 100 110+ 111 011 011+ 111 010 010+ 111 001 001+ 111 000

1 2 3 4 5 6 7 8
C O =1 C O =1

C O =1 C O =1 C O =1 C O =1 C O =1 C O =1 C O =1

0000+ 0101 0101 0101+ 0101 1010 1010+ 0101 1111 1111+ (5+5+5+5) 0101 modulo16=4 0100 0100+ 0101 1001 1001+ 0101 1110 1110+ (4+5+5+5) 0101 modulo16=3 0011 0011+ 0101 1000

Starea initiala z 3z 2z 1z 0=0000 x 3x 2x 1x 0=0101 c1=0 9 10 11 12 13 14 15 16


C O =1 C O =1 C O =1

1000+ 0101 1101 1101+ (3+5+5+5) 0101 modulo16=2 0010 0010+ 0101 0111 0111+ 0101 1100 1100+ (2+5+5+5) 0101 modulo16=1 0001 0001+ 0101 0110 0110+ 0101 1011 1011+ (1+5+5+5) 0101 modulo16=0 0000

c)

Numarator direct modulo8

f=f CLK 1/8

Numarator invers modulo8

f=f CLK 7/8

f=f ClK 5/16

Numarator divizor cu coeficient fractionar

Figura 3.74 Circuitul acumulator: a) structur de acumulator cu patru celule; a b) reprezentare simbolic; c) analiza a trei exemple de numrtor modelate pe baz a aa a de acumulator.

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

457

i C1 = 0, coloana a treia din gura 3.74-c. s Pentru modelarea unor numrtoare alte coduri de numrare este necesar, unaa n a eori, s se ataeze exterior un decodicator, realizat cu porti logice, pentru decoda s n icarea unui anumit cuvnt de cod din registru i, eventual, s se modice valoarea a s a cuvntului X aplicat din exterior(vezi problemele P3.73 i P3.74). Pe un acumulator a s se poate modela orice proces care poate exprimat prin operatii de: adunare, scdere, a deplasare stnga/dreapta sau arcare (fortare a unui cuvnt exterior). a nc a De fapt, acumulatorul este un circuit de calcul pentru prexe sum modulo 2 n a cu o functie generic f = (X + X)modulo2n ; de exemplu pentru n = 3 se pot scrie a relatiile f0 f1 f2 f3 = (0 + 0) modulo 8 = 0 = (f0 + X) modulo 8 = X modulo 8 = (f1 + X) modulo 8 = 2X modulo 8 = (f2 + X) modulo 8 = 3X modulo 8 . . .

f7 = (f6 + X) modulo 8 = 7X modulo 8 f8 = (f7 + X) modulo 8 = 8X modulo 8 = f0 = 0 sau relatia generalizat pentru acumulator cu n celule se scrie a
2n

(
1

X) modulo 2n = 0

(3.44)

Relatia 3.44 arat c circuitul acumulator functioneaz ca un numrtor de X a a a aa tuple pe un interval/(perioad) de 2n impulsuri de ceas. Altfel spus, pornind din a starea initial Q(0) = 0 i C1 , pentru cuvntul X aplicat din exterior, acumulatorul a s a va genera (se va umple) semnalul de transport urmtor C O de un numr X ori pentru a a 2n impulsuri de ceas aplicate. Figura 3.74-c, coloanele 5 i 7, este realizat cazul In s unui acumulator cu n=4, pentru X = 5; se observ c se genereaz de cinci ori a a a semnalul CO = 1 pe durata a 16 impulsuri de ceas, deci o multiplicare cu 5/16 a frecventei de ceas (Aceste impulsuri sunt reprezentate, comparativ cu cele generate de un multiplicator cu coecient binar, Figura 3.68-b; se observ c distributia n a a lor timp este mai uniform dect cea obtinut de la un multiplicator binar). Cu n a a a circuitul acumulator se pot realiza multiplicatoare cu un coecient fractionar X/C unde numitorul poate diferit de puteri ale lui doi C = 2 n [Oberman 78]). Pe baza acumulatorului se pot realiza circuite care calculeaz, timp real, valorile a n unor functii (ridicarea la o putere, rdacin ptrat, log 2 , functii trigonometrice de a a a a numrul de impulsuri NCLK ). Aceste valori sunt disponibile imediat ce se primete a s impulsul de intrare. Exemplul 3.26 S se realizeze o structur de circuit pe baz de acumulatoare care a a a 2 s calculeze ptratul numrului de impulsuri aplicate, NCLK . a a a 2 Solutie. Notnd cu Sn =NCLK i Sn+1 =(NCLK + 1)2 se deduce relatia recurent a s a
Sn+1 = (NCLK + 1)2 = Sn + 2NCLK + 1 Dac se cunoate deja valoarea ptratul Sn , prin adunarea la aceast valoare a dublului a s a a numr de impulsuri aplicate, 2NCLK , plus 1, atunci la aplicarea urmtorului impuls de ceas a a

458

3.5. CIRCUITE REGISTRU

se genereaz valoarea Sn+1 . Structurarea pe baz de acumulatoare care realizeaz acest a a a calcul este prezentat Figura 3.75-a. Acumulatorul Acc Q2 opereaz ca un sumator de a n a acumulare cu C1 = 1 deci un numrtor cod biar natural pentru numrul impulsurilor a a n a aplicate, NCLK .
N2 CLK

z3 Acc Q1 Q C O 13

z2 Q12

z1 Q11

z0 Q10 CLK 1
C1

0
NCLK

a)

Acc Q2

Q C O 23 0

Q22 0

Q21 0

Q20 CLK 0

C1

1 N CLK =3 z3 z2 z1 z0 Q13Q12Q11Q10 1 0 0 1 Q23Q22Q21Q20 0 0 1 1 N CLK =4 z3 z2 z1 z0 Q13Q12Q11Q10 0 0 0 0 Q23Q22Q21Q20 0 1 0 0

b)
N CLK
2

N CLK =0 z3 z2 z1 z0 Q13Q12Q11Q10 0 0 0 0 Q23Q22Q21Q20 0 0 0 0

N CLK =1 z3 z2 z1 z0 Q13Q12Q11Q10 0 0 0 1 Q23Q22Q21Q20 0 0 0 1

N CLK =2 z3 z2 z1 z0 Q13Q12Q11Q10 0 1 0 0 Q23Q22Q21Q20 0 0 1 0

2 Figura 3.75 Calculul ptratului numrului de impulsuri receptionate N CLK : a a a) structur de circuit pe baz de acumulatoare; b) modicarea continuturilor acua a mulatoarelor pentru aplicarea succesiv a patru impulsuri de intrare, N CLK = 4. a

Acc Q1 , pe ale crui intrri se aplic dublul numrului de impulsuri deja receptionate a a a a 2NCLK ( nmultirea cu 2 se obtine prin deplasarea cu un rang spre stnga a celulelor lui a Acc Q2 fata de Acc Q1 ) plus 1 (este transportul anterior, C1 = 1) la aplicarea urmtorului a impuls prin sumare a 2NCLK + 1 la Sn (deja existent Acc Q1 ) va genera la ieire codul a n s binar z3 z2 z1 z0 pentru valoarea lui (NCLK + 1)2 . Analiza modicrii continuturilor pentru a 4 impulsuri aplicate succesiv cele dou acumulatoare este prezentat Figura 3.75-b; n a a n pentru valori care necesit o exprimare pe mai mult de patru biti se extinde numrul de a a celule pe acumulatoare.

3.5.3

Structura pipeline

Structura pipeline (conduct) este un suport hardware pentru a reduce timpul de a procesare pe un CLC. Procesarea clasic a unui ux de date pe un CLC presupune a o organizare ca cea prezentat Figura 3.76. Un eantion de date este a n s nscris, prin activarea semnalului de ceas, registrul de intrare R 1 i aplicat pe intrrile CLC, n s a apoi la urmtorul semnal de ceas, datele procesate CLC sunt stocate registrul a n n de ieire R2 . Perioada minim TCLK trebuie s e mai mare dect suma timpilor: s a a a pR -timpul de propagare prin registrul de intrare (care este de fapt pCQ ), pCLC -timpul de propagare prin CLC, SU -timpul de stabilizare de la intrarea registrului de ieire. s TCLK(min) pR + pCLK + SU (3.45)

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

459

Deoarece timpii de arziere cauzati de registre (valori tipice pR 15 30 ns, nt SU 5 15 ns) mai pot redui doar de s mbuntiri tehnologice, apare evident a at faptul c mrirea ratei de procesare a uxului de date se poate realiza numai printra a o micorare a propagrii pCLC (care depinde de complexitatea retelei CLC, pentru s a calcule de tip aritmetic CLC poate avea valori intervalul 150 300 ns). Uneori, n functia de procesare pe CLC poate privit ca ind compus dintr-o succesiune de a a n subfunctii, ecare subfunctie putnd implementat respectiv pe cte un circuit a a a independent CLC1 , CLC2 , ..., CLCn cu timpii de propagare pCLC1 , pCLC2 , ..., pCLCn . Conform acestei abordri, se poate structura o a nseriere a acestor n circuite CLC i , interfatate prin cte un registru (registru pipe), pentru a aplica datele de intrare a respectiv pentru a stoca datele de ieire aceasta ind structurarea de tip pipeline s avnd n etape de procesare, Figura 3.76-b. a
x0 x1 x k1 y0 y1 yp1

R1
CLK

CLC

R2
CLK

a)
m OP i m OP i+1 m OP i+2

R i+1

R i+2

R i+3

R1

CLC i

CLC i+1

CLC i+2

Rn
CLK

Ri

x0 x1
CLK

y0 y1 yp1

x k1

CLK

CLK

CLK

CLK

CLK

b) c)

PR
CLK

PCLC

SU

d)

CLK

Figura 3.76 Organizarea de tip pipeline: a) structurarea pentru o procesare de tip non-pipe (clasic); b) structura unui pipe cu n etape de procesare; semnale de a ceas pentru sincronizarea pipe (c) cu o singur faz (pe front) i (d) cu dou faze n a a s a 1 i 2 (pe palier) s Inscriind un set de date, xk1 , xk2 , ..., x1 , x0 , primul registru pipe, R1 , pe n frontul activ al semnalului de ceas, acestea vor apoi procesate i stocate succesiv s n toate celelate (n 1) etape din pipe, iar dup (n 1) tacte se obtin datele de ieire, a s yp1 , yp2 , ..., y1 , y0 . Dac uxul de date aplicat pe intrare este continuu, dup intera a valul de timp n tacte de ceas latent pipe (timpul de umplere al conductei), a n la ecare urmtor tact se obtine un set de date prelucrate la ieire. Perioada minim a s a a impulsului de tact se calculeaz tot cu relatia 3.45 dar, de data aceasta, se consider a a timpul de propagare maxim (care corespunde subfunctiei cu timpul cel mai lung de procesare).

460

3.5. CIRCUITE REGISTRU

CLK(min)

pR + max{pCLC1 , pCLC2 , ..., pCLCn } + SU < pR + pCLC + SU

(3.46)

i ipoteza c toate registrele pipe sunt identice, deci au aceleai valori pentru SU s n a s i pR . s raport cu procesarea clasic (non-pipe) la procesarea de tip pipeline se obtine In a o cretere de vitez egal cu raportul timpilor calculati dup relatiile 3.46 i 3.47, s a a a s dar aceast cretere de vitez se obtine numai dup ce primul set de date a ieit din a s a a s ultima etap iar uxul de date la intrarea prim etap este continuu. Dac uxul a n a a a de date nu este continuu, cu ntreruperi frecvente, deci la ecare reumplere a pipe-ului se consum un timp egal cu latenta pipe, atunci se poate ajunge la un timp mediu a n de procesare mai mare dect la procesarea non-pipe! a Relatia de timp 3.46, ntre perioada tactului de ceas i timpii dintr-o etap a pipes a ului, este explicitat grac Figura 3.76-c, cnd semnalul de ceas este activ pe frontul a n a pozitiv. Cnd registrele pipe sunt realizate din latch-uri D comanda se efectueaz pe a a palier cu dou semnale 1 i 2 , defazate i nesuprapuse, Figura 3.76-d; iar datele a s s n pipe curg, alternativ, din etape cu numr impar etape cu numr par, comandate a n a alternativ de cele dou faze 1 i 2 . a s O uniformizare a implementrii unei implementri de tip pipe se poate obtine dac, a a a ecare etap, pentru CLC-ul este utilizat o aceeai structur programabil care se n a a s a a programeaz pentru operatia specic OPi cerut etapa i de procesare printr-un a a a n cuvnt de control cu m biti. Un astfel de CLC programabil poate un MUX2 m :1, a m programat s genereze una din cele 22 functii de m variabile. a Intr-o etap din pipe a se poate scdea timpul de propagare pna la patru niveluri logice, un AND-OR pe a a CLC i a dou niveluri dac registrul pipe este un registru latch. Totui, exist o s nc a a s a variant prin care timpul se poate reduce chiar pn la dou niveluri de propagare, a a a a care acoper att propagarea ct i memorarea, dac se utilizeaz latch-uri Early, a a a s a a Figura 3.41. Organizarea de tip pipeline este modul comun pentru structurarea cii de date a a microprocesoarelor actuale. Executia unei instructiuni (ciclul de executie ) se de scompune n subcicluri, deci calea de date se granuleaz n etape succesive de n a n procesare. Dac se reuete alimentarea continu cu instructiuni calea de date a s s a n atunci viteza de procesare a microprocesorului crete (teoretic!) de n ori fata de un s procesor o cu cale de date non-pipe.

3.5.4

Registrul de deplasare

Registrul de deplasare, la fel ca i registrul paralel, este o structur simpl ce s a a se obtine prin nserierea de celule bistabil, uzual de tip D, de unde i denumirea de s registru de deplasare serie sau, mai frecvent, registru serial. Figura 3.77-a este prezentat organizarea unui registru, prin In a nserierea a patru celule bistabil D, precum i functionarea sa la aplicarea pe intrarea serie a cuvntului s a X = 1011. Considernd initial continutul registrului Q 4 Q3 Q2 Q1 = 0000 la primul a impuls de ceas, pe front pozitiv, bitul cel mai semnicativ, MSB, este introdus n celula Q1 , deci continutul registrului serial este Q 4 Q3 Q2 Q1 = 0001. La al doilea impuls de ceas, continutul din prima celul, Q 1 = 1, este transferat celula a doua, a n deci Q2 = 1, iar prima celul se n a nscrie valoarea bitului urmtor dup MSB, deci a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

461

0
Q4 y(t)
Iesire serie Q D QN
CLK

0 0 0 0 1 0
Q2

0 0 0 1 0 1

0 0 1 0 1 1
Q1

(1011)

Q 1
Q D QN
CLK

0
x(t)
Intrare serie

1 0 1 1 0

(011)

Q D QN
CLK

Q D QN
CLK

0 0

(11)

CLEAR

CLEAR

CLEAR

CLEAR

(1)

CLK

RESET

0 1

(0000)

a) (0000)

Q4
VDD
O1

Q3
O2

T 12

T9

O1

T6

O2

T3

O1

V0 Iesire serie T 13 C04

T 11 Cin
4

T 10 C03

T8 Cin3

T7 C02

T5 Cin
2

T4 C01

T2 Cin
1

x(t)
T1 intrare serie

celula 4
b)

celula 3
D
n1

celula 2
D
3

celula 1
D
2

y
c)

Qn

n1

Q3

Q2

Q1

Figura 3.77 Registru de deplasare: a) structurarea i functionarea unui registru s de deplasare cu patru celule (n = 4); b) registru de deplasare, n = 4, pe baz de a inversoare dinamice cu raport; c) simbol pentru registru de deplasare compus din n celule (ca retea digital de arziere) a nt

462

3.5. CIRCUITE REGISTRU

Q1 = 0, rezultnd continutul registrului Q4 Q3 Q2 Q1 = 0010. La al patrulea impuls a de ceas ntreg cuvntul 1011 a fost deja introdus registru iar continutul acestuia a n este Q4 Q3 Q2 Q1 = 1011; valoarea MSB este disponibil la ieirea serie. a s Incepnd cu a al cincilea impuls de ceas, transferul serial celul dup celul se continu, bitul din a a a a celula Q4 se pierde, ind nscris cu bitul care a fost celula Q 3 , la fel si celula n n Q1 , se nscrie valoarea Q1 = 0, deoarece cuvntul X = 1011 aplicat pe intrare a a fost deja introdus. Pe tactele de ceas 4, 5, 6, 7 pe ieirea serie se obtine cuvntul s a Y care este identic cu cuvntul X aplicat pe intrarea serie pe tactele 1, 2, 3, 4, deci a dup un interval de patru tacte, la al optulea tact continutul registrului va din nou a Q4 Q3 Q2 Q1 = 0000. Pe un registru serial de n celule transferul unui bit, aplicat pe intrare i pn la iesire, se face pe durata a n perioade de ceas, iar transferul pn la s a a a a o iesire intermediar i, 1 i < n, necesita i perioade de ceas. Formal, transferul prin a registrul serial poate exprimat felul urmtor: n a Qi (t + T ) = Qi1 (t) CLK Q1 (t + T ) = x(t) CLK Qi (t + iT ) = x(t) (3.47)

unde x(t) este valoarea bitului, din cuvntul X, aplicat pe intrarea serie la momentul a t. Fizic, transferul corect prin registrul serial, pe durata unui tact, bitul de la celula Qi la celula Qi+1 , poate realizat numai dac timpul de mentinere de la celula a urmtoare, Qi+1 , este mai mic dect timpul de propagare pe celula anterioar, Q i , a a a H(Qi+1 ) < pCQ(Qi) . Dac aceast conditie nu este a a ndeplinit a nseamn c semnalul a a pe intrarea de date al celulei Qi+1 , care este semnalul de ieire de la celula anterioar, s a se modic fereasta de decizie (relatia 3.23, Figura 3.46 a i b). La bistabile a n s este ndeplinit relatia H < pCQ deci, dac registrul serial se realizeaz cu acelai tip a a a s de registre, atunci este realizat conditia anterioar de transfer corect. Dac celulele a a a registrului serial sunt latch-uri, care sunt transparente pe durata palierului activ de ceas, atunci un bit este transferat continuu nspre ieire din celul celul ct timp s a n a a se mentine activ palierul semnalului de ceas. Pentru implementrile integrate, mai ales pentru numr de celule de valoare ridia a cat, sunt recomandate structurile de registre serie pe baz de celule dinamice.Toate a a astfel de registre dinamice se comand prin dou semanle de ceas 1 , 2 , Figura a a 3.76-d, nesuprapuse i aplicate alternativ. Figura 3.77-b este prezentat un registru s In serie cu patru celule, ecare celul ind un invers dinamic cu tranzistoare nMOS. a Pentru micorarea puterii disipate tranzistoarele de sarcin, T 3 , T6 , T9 si T12 , sunt s a conductie numai pe durata palierului 2 . Pe durata palierului activ 1 , valoarea n tensiunii de intrare, corespunztoare bitului x(t) aplicat pe intrarea serie, este transa ferat, prin tranzistorul de trecere T1 , condensatorului Cin1 , de pe intrarea primei a celule 1. Valoarea tensiunii pe Cin1 , dup anularea semnalului 1 , nu trebuie s ias a a a din intervalul VH (ori VL ) pn la activarea semnalului 2 . La activarea lui 2 , a a tranzistorul T3 intr conductie, condensatorul C01 de pe iesirea primului inversor se a n ncarc la tensiunea corespunztoare care, prin tranzistorul de trecere T 4 , comandat a a conductie tot de 2 , este transferat ca tensiune de arcare i pe condensatorul n a nc s Cin2 de pe intrarea celulei a doua. Cnd semnalul 1 devine din nou activ tensiunea a de pe C02 , corespunztoare tensinii de pe Cin2 , este transferat pe condensatorul Cin3 a a de la intrarea celulei a treia i de asemenea, tensiunea corespunztoare urmtorului s a a bit de pe intrarea x(t + T ) este transferat condensatorului C in1 , de la intrarea primei a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

463

celule. Sunt comandate succesiv: ai toate celulele cu numr impar cu faza 1 , apoi nt a toate celulele cu numr par cu faza 2 . a Registrul serie dinamic prezentat mai este referit i ca registru serie dinamic s cu raport. Termenul de raport specic faptul c layout-ul inversorului trebuie a a n realizat o anumit valoare a raportului a a ntre coecientul W/L al tranzistorului inversor i coecientul W/L al tranzistorului de sarcin. Numai realiznd un anumit s a a raport tensiunea de ieire V0L a etajului inversor, de pe condensatorul C0 , care se s transfer prin tranzistorul de trecere ca tensiune de intrare la inversorul urmtor, a a poate arca Cin la o valoare intervalul VL ; tensiunea corespunztoare pe innc n a trarea inversorului este intervalul VH . Se pot realiza celule de inversor dinamic n i far raport. La un inversor far raport un semnal de ceas comand tranzistorul s a a a de sarcin i simultan tranzistorul de trecere care as ncarc capacitatea de pe propria a intrare, i nu tranzistorul de trecere care s ncarc intrarea inversorului urmtor cum a a este la structura cu raport; ncercati s desenati aceast structurare. O structur de a a a registru serial CMOS dinamic , se poate obtine simplu prin nserierea de celule ca cea prezentat Figura 1.54-b; trebuie ca cele dou porti de transmisie corespunztoare a n a a la dou inversoare succesive s e comandate una cu 1 /2 iar cealalt cu 2 /1 . a a a Registrul serie, functionarea corect, poate realiza arzieri controlate, de muln a nt tiplii ai perioadei semnalului de ceas, ntre semnalul aplicat pe intrarea serie i momens tul obtinerii acestuia la ieirile diferitelor celule componente, deci poate considerat s echivalentul, digital, al liniei de arziere analogic cu arzieri multiple. Daca se n nt a nt exprim operatia de arziere cu o perioad de ceas, a unui bit b printr-o celul a rea nt a a gistrului, cu simbolul (operatorul) Db, iar operatia de deplasare a bitului b prin i celule ale registrului cu D i b (o aplicare de i ori a operatorului D(D(D. . .D(b)). . .)) = D i b) se poate considera o reprezentare generic pentru un registru serie cea din Figura a 3.77-c. Bitul b aplicat pe intrare devine ieirea Q i dup i operatii de arziere: s a nt Qi = D i b, 1 i n, D 0 b = Ib = b (3.48)

unde I este operatorul unitar (identic). Pentru un cuvnt X cu lungimea de n biti X = bn bn1 . . .b2 b1 introdus bit dup a a bit, ncepnd cu cel mai semnicativ, bn , prin aplicarea succesiv a unui numr de n a a a tacte, ntr-un registru de deplasare cu n celule, conform relatiei 3.47 se poate adopta o exprimare polinomial (dup puterile lui D) a a X = bn Dn + bn1 Dn1 + . . . + b2 D2 + b1 D1 (3.49)

continutul celulelor bistabil ind: Qn = bn , Qn1 = bn1 ,. . . , Q2 = b2 si Q1 = b1 . Deoarece tactul de ceas se aplic sincron la toate celulele, analiza continutului rega istrului, valorile Qi , se consider numai pe durata dintre fronturile active de ceas a ,, (interval numit uneori dit ). ,, Registru, intuitiv, poate considerat ca o lup sub care intr irul X devenire a as n spre irul Y . aceat abordare, registrul de deplasare serie poate utilizat pentru s In a o implementare alternativ a automatelor de identicare a anumitor secvente. a Exemplul 3.27 Automatul cu graful de tranzitie din Exemplul 3.3 s se implementeze a pe baz de registre de deplasare. a ,, Solutie. Cnd irurile de biti de intrare x1 , x0 , intrate sub lupa a dou registre de a n s a deplasare, se identic secventa de perechi 00, 00, 11, 10 i se genereaz ieirea y = 1. a s a s

464
0 0 1

3.5. CIRCUITE REGISTRU


1

QN

Q D CLK

QN

Q D CLK

QN

Q D CLK

QN

Q D CLK

x1

QN

Q CLK

Q
QN

Q
QN

Q
QN

x0

CLK

Figura 3.78 Modalitate alternativ, pe baz de registru de deplasare, pena a tru un automat de identicare de secvete.

Implementarea corespunztoare este cea din Figura 3.78; dou registre serie de patru a a celule, unul pentru irul intrri x1 , altul pentru irul intrri x2 , iar ieirile lor se compar s a s a s a ,, permanent pe o retea de porti AND. raport cu implementarea clasic de automat, unde In a este necesar un registru de stare cu trei celule plus partea de CLC, aceast implementare a necesit mai mult circuistic dar, schimb, se elimin efortul de sintez pentru automat, a a a n a a structurarea ind intuitiv i imediat. as a

Registru inel. Structura de registru inel se obtine dintr-un registru de deplasare la care ieirea serie se conecteaz la intrarea serie, deci se s a nchide o bucl de reactie a jurul registrului de deplasare. La un registru inel cuvntul initial, nu este pierdut n a prin deplasarea sa ci, este recirculat interiorul inelului. Exprimarea formal a n a transferului ciclic se obtine, prin adaptarea relatiilor (3.47) la existenta reactiei, n felul urmtor: a Qi (t + T ) = Qi1 (t) CLK, Q1 (t + T ) = Qn (t) CLK. (3.50)

O structur de registru inel, compus din patru celule bistabil D, este prezentat a a Figura 3.79-a. general, n In ntr-un registru inel se forteaz initial, prin intrrile a a asincrone CLEAR i PRESET ale celulelor, un cuvnt care are numai bitul cel mai s a putin semnicativ egal cu 1, restul bitilor sunt zerouri. Prin deplasarea acestui cuvnt a bitul cu valoarea 1 va ocupa toate cele n pozitii din registru, iar dup n impulsuri a de tact bitul cu valoarea 1 ajunge pozitia initial. Aceast deplasare liniar poate n a a a asociat cu functionarea unui numrtor modulo n, dup n impulsuri se ajunge la a aa a acelai continut inel, de unde i denumirea, uneori, de numrtor inel. Pentru s n s a a n registrul inel cu patru celule succesiunea de cuvinte din inel este: 0001, 0010, 0100, 1000, 0001,. . .. Registrul inel este de fapt un automat Moore, starea urmtoare se a calculeaz din starea prezent cu ajutorul relatiilor (3.50) care de fapt sunt functiile a a de excitatie (pentru uniformitate, tratare ca automat, cuvntul de stare este notat n a i prin z4 z3 z2 z1 . s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

465

z4

z3

z2

z1
CLK

PRESET

PRESET

PRESET

PRESET

F 1,(z 1)
CLK

Q 4D

Q3

Q2

Q1D

F 2,(z 2) F 3,(z 3)

Q CLK
CLEAR

Q CLK
CLEAR

Q CLK
CLEAR

Q CLK
CLEAR

a)
z4 z3 z2

RESET

F 4,(z 4)

(Initializare)

z1

b)

Q
Q

Q4

Q
Q

Q3

J K

Q
Q

Q2

Q
Q

Q1

Q1

J K

F1

CLK

Q2 Q1 Q2

Q2 Q3

F2 Q 3 Q4 F6 Q3 Q4

F3 Q1 Q4 F7 Q4 Q1

F4 F8

CLK

CLEAR

CLK

CLK

CLEAR

CLEAR

CLK

CLEAR

d)
RESET

F5 Q 2 Q3

c)
Impuls de ceas

z4
0 0 0 0 1 1 1 1 0 0 0 0

z3
0 0 0 1 1 1 1 0 0 0 0 1

z2
0 0 1 1 1 1 0 0 0 0 1 1

z1
0 1 1 1 1 0 0 0 0 1 1 1

CLK

10

0 1 2 3 4 5 6 7 8

F1 F2

F3 F4 F5 F6 F7 F8

9 10
11

e)

f)

Figura 3.79 Registrul inel: a) structur de registru inel cu patru celule (n = 4); a b) diagrama semnalelor de faze generate de un registru inel cu n = 4; c) structur a de numrtor Johnson cu n = 4 i succesiunea normal a cuvintelor procesul de aa s a n numrare (e); d) decodicatorul de faze pentru un numrtor Johnson cu n = 4 i a aa s diagrama corespunztoare pentru semnalele de faz (f). a a

466

3.5. CIRCUITE REGISTRU

Nu se recomand utilizarea unui numrtor inel raport cu un numrtor clasic a aa n n aa cod binar, deoarece primul necesit n celule bistabil pe cnd al doilea numai log 2 n n a a celule bistabil. Totui, numrtorul inel poate utilizat pentru producerea dintr-o s aa secventa de n impulsuri de ceas a unui numr de n semnale defazate i nesuprapuse a s ecare cu frecventa 1/n, adic pentru realizarea unui generator de faze. Registrul a inel prin modul su de functionare este un generator de faze, ecare bit z i , 1 i n, a al cuvntului de stare este o faz Fi ; Figura 3.79-b sunt prezentate fazele generate a a n de un registru inel cu n = 4. Uneori, registrul inel este recirculat un compact de n m 1-uri interiorul cuvntului de n biti. Pentru aceast functionare se pot genera n a a cele n faze printr-un sistem de porti AND cu dou intrri; poarta care genereaz o a a a faz la un moment dat are o intrare conectat la celula care indic primul bit 1 din a a a compact, iar cealalt intrare la celula care indic ultimul bit din compact. a a Uzual, un generator de n faze se structureaz dintr-un numrtor modulo n care a aa comand un decodicator cu log2 n intrri i n ieiri; ieirea i a decodicatorului a a s s s ind faza Fi . Dar, deoarece ieirile numrtorului nu comut simultan, chiar i la s aa a s un numrtor sincron!, iar decodicatorul poate introduce hazard, ieirile decodiaa n s catorului/(faze) se produc glitch-uri. Pentru eliminarea glitch-urilor ieirile decodis catorului sunt introduse intr-un registru, comandat pe arcare cu un semnal comnc plementat fata de semnalul de ceas care este aplicat numrtorului, deci semnalele aa ,, de faz de la ieirea registrului sunt curate dar i generate cu arziere fata de a s s nt numrul corespunztor din numrtor. Evident c, raport cu aceast structurare a a aa a n a de generator de faze, simplitatea generatorului de faze cu registru inel este preferat. a Numrtorul inel, analizat ca automat, utilizeaz din cele 2 n stri posibile doar aa n a a n stri, restul de (2n n) stri sunt ilegale pentru functionarea sa. Dac automatul a a a ajunge accidental, de exemplu, la aplicarea tensiunii sau datorit zgomotului, intr-o a stare ilegal poate rmne un timp indenit starea respectiv, sau se realizeaz un a a a n a a ciclu ntre stri ilegale pe care le parcurge, la fel, indenit. De exemplu, pentru un a numrtor inel cu patru celule (n = 4), modulo 4, care are numai 4 stri normale, la aa n a functionarea normal se parcurge ciclul compus din urmtoarea succesiune de cuvinte a a de stare: 0001, 0010, 0100, 1000, 0001, . . . . Intre restul de (24 4 = 12) stri ilegale, a cnd una din acestea apare accidental numrtorul inel, se poate stabili unul a n aa n din urmtoarele 5 cicluri (care reprezint o functionare anormal): a a a 1. 0000, 0000, 0000, 0000, . . . 2. 0101, 1010, 0101, 1010, . . . 3. 0011, 0110, 1100, 1001, 0011, 0110, . . . 4. 0111, 1110, 1101, 1011, 0111, 1110, . . . 5. 1111, 1111, 1111, 1111, . . . Pentru eliminarea functionrii anormale se utilizeaz, sintez, abordarea de risc a a n a minim, Figura 3.30-b, adic din oricare stare ilegal se dirijeaz tranzitii, a a a ntr-un numr nit de tacte, spre o stare legal. Practic, numrtorul inel cu n = 4 se a a aa n realizeaz cu un circuit de autocorectie care este o poart NOR cu trei intrri; la a a a intrrile portii NOR se aplic bitii z3 , z2 , z1 ai cuvntului de stare iar ieirea portii a a a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

467

se introduce, ca semnal de reactie, la prima celul. Deci reactia nu se mai realizeaz a a ca ecuatia (3.50) ci prin ecuatia n Q1 (t + T ) = (Q3 (t) + Q2 (t) + Q1 (t)) CLK (3.51)

De exemplu, dac numrtor apare accidental cuvntul de stare 1011, pe ura n aa a mtoarele dou tacte, deoarece Q1 este produs permanent de poarta NOR, strile a a a vor 0110, 1100, iar la al treilea tact se nscrie starea normal 1000,deci intr a a n ciclul de functionare normal (vezi problema P3.78). general, un numrtor inel a In aa n modulo n cu autocorectie utilizeaz o poart NOR cu (n 1) intrri, iar corectarea a a a se realizeaz maximum (n 1) tacte. a n Numrtorul Johnson (sau Moebius). Acest tip de numrtor este tot un a a aa registru inel cu particularitatea c reactia de la celula Q n la celula Q1 se complea menteaz, adic se culege de pe QN . O structur de numrtor Johnson cu patru a a a aa celule, pe baz de bistabile JK, este prezentat Figura 3.79-c. Functiile de excitate a a n pentru toate celulele rmn acelai ca i la registrul inel, wJ i = Qi1 , wKi = QN (i1) , a a s s afar de prima celul unde prin reactia inversat se introduce un defazaj de 180 , n a a a wJ1 = QN n , wK1 = Qn ; de fapt, i la implementarea cu bistabile JK celulele au o s functionare de bistabil D, deoarece intrrile ecrei celule sunt comandate opozitie a a n (de la Q i QN ale celulei anterioare). Spre deosebire de un registru inel cu n celule, s care genereaz ciclul su n cuvinte de stare, numrrorul Johnson cu n celule poate a n a aa avea 2n stri. Denumirea i de numrtor Moebius este datorit asemanrii care se a s aa a a face cu bucla Moebius. Aceast bucl se poate confectiona dintr-o band de hrtie a a a a care, nainte de a se uni (i lipi) cele dou capete, se rsucete o dat ( s a a s a ncercati). Pornind cu un creion, dintr-un punct al buclei Moebius, drumul parcurs pn se a a ajunge acelai punct este dublu fata de lungimea benzii deoarece se parcurg amn s bele fete intr-un traseu continuu. Pentru numrtorul Johnson, cu n = 4, din gur prin activarea semnalului aa a RESET = 0 cuvntul a nscris va z4 z3 z2 z1 = 0000. La primul impuls de ceas n celula Q1 se nscrie 1 deoarece, prin reactia inversat, intrrile de date au valo a a rile wJ1 = QN 4 = 1 i wK1 = Q4 = 0. Se continu s a nscrierea Q1 , a valorii n 1 i pe urmtoarele trei impulsuri de ceas, cnd se ajunge numrtor la starea s a a n aa z4 z3 z2 z1 = 1111, deci Q4 este nscris starea 1. La al cincilea impuls de ceas n n Q1 se nscrie valoarea 0, deoarece wJ1 = QN 4 = 0 i wK1 = Q4 = 1, i se continu s s a nscrierea 0 aceast celul i pentru impulsurile 6, 7, 8 cnd se ajunge ca celula n n a as a Q4 s comute din nou 0, continutul numrtorului este z 4 z3 z2 z1 = 0000, deci ciclul a n aa numrtor se reia, urmtoarele patru impulsuri vor n aa a nscrie iari Q 1 starea 1; as n aceast functionare este sintetizat tabelul din Figura 3.79-e. Ciclul de numrare a a n a este 2 4 = 8. Cel mai simplu numrtor Johnson este cel cu n = 1, care se obtine printr-o aa reactie inversat jurul unui element de arziere, bistabil D, adic bistabilul de tip a n nt a T, Figura 3.50-b. Impulsurile de ceas aplicate sunt divizate cu doi, deci un ciclu de numrare egal cu 2. Dar se pune a ntrebarea: nu se pot realiza numrtoare Johnson aa modulo un numr impar? Rspunsul este armativ. Se pot realiza i pentru modulo a a s (2n 1) dac prin sinteza, ca automat, se elimin una din stri, general starea al a a a n crui cod este format numai din 1 (vezi problema 3.75). a Aplicatia cea mai ecient pentru numrtorul Johnson este, ca i a numtorului a aa s a inel, cea de generator de faze. Dar spre deosebire de numrtorul inel, unde n aa n

468

3.5. CIRCUITE REGISTRU

fazele sunt direct cele n ieiri din celulele bistabil, la numrtorul Johnson cele 2n s aa faze se genereaz prin n porti AND cu dou intrri; Figura 3.79-d sunt indicate a a a n conexiunile la intrarea portilor AND2 pentru n = 4, iar gura 3.79-f diagrama de n semnale pentru fazele generate. Ca automat, numrtorul Johnson utilizeaz ciclul su normal de functionare aa a n a numai 2n stri din totalul de 2n ; deci un numr de (2n 2n) stri ilegale/anormale. a a a Abordnd din punct de vedere al riscului minim, Figura 3.30-b, trebuie realizat un a circuit de autocorectare care va forta,din oricare stare ilegal dup un numr de a a a maximum (n1) tacte, nscrierea strii legale 00 . . . 01. Strile normale de functionare a a sunt numai cele cuprinse in urmtorul ciclu: 00 . . . 00, 00 . . . 01, 00 . . . 11, . . . , 01 . . . 11, a 11 . . . 11, 11 . . . 10, 11 . . . 00, . . . , 10 . . . 00, 00 . . . 00, 00 . . . 01, . . . . Oricare cuvnt a de stare anormal, care poate ajunge accidental numrtorul, poate scris numai a n aa sub forma . . . 10 . . . , care dup maximum(n 2) tacte de ceas va deplasat a numrtor pozitia 10 . . . , iar dup a n tacte (prin reactia inversat) n aa n a nc a n ,, pozitia 0 . . . 0. aceast pozitie cuvntul de stare, prin amprenta lui, cu dou In a a a zerouri extreme, pe zn i z1 , poate detectat printr-o poart NOR, (Qn + Q1 = 1), s a iar la urmtorul tact ieirea portii NOR, care este 1, forteaz numrtorul Johnson a s a n aa nscrierea cuvntului (normal) 00 . . . 01 (vezi problema 3.79). a

3.5.5

Registrul serie-paralel

Cu n bistabile D se poate realiza un registru serie sau se poate realiza un registru paralel, dar se poate realiza un registru care s aib functiunile amndurora? a a a Rspunsul este armativ, chiar mai mult, ca registru serie , deplasarea poate a bidirectional, stnga/ dreapta, i nu numai unidirectional. Pentu a implementa a a s a toate aceste functiuni ntr-un singur circuit, referit ca registru serie-paralel, celula bistabil trebuie inzestrat cu un comutator selectabil (multiplexor) pe intrarea de a date pentru a se putea programa conexiunile necesare functie de programarea n functiunii dorite. O astfel de celul din pozitia i-a a registrului, cu un MUX4:1 pe a intrarea de date, a fost prezentat Figura 3.72-c, cele patru surse de date ind: a n dou surse (independente) 2Di , 1Di , de arcare paralel; o surs, 0Di , de arcare a nc a a nc de pe magistrala de ieire i o surs, Qi , pentru arcarea cu propria-i dat a celulei. s s a nc a organizarea de registru serie-paralel, cu partu celule, din Figura 3.80-a ecare In celul este a nzestrat cu un MUX4:1. (Notatiile sunt cele corespunztoare circuitului a a registru univerasl 74xx194 care va utilizat problemele ataate acestui capitol). n s Cele patru intrri, selectate cu semnalele S 1 S0 , sunt: a (S1 S0 = 00) pentru mentinerea nemodicat a continutului registrului, ecare a celul se re a ncarc la aplicatea impulsului de ceas cu propria dat: a a wA wB wC wD = Q A Q B Q C Q D (wA wB wC wD este notatia de la automate corespunztoare strii urmtoare); a a a (S1 S0 = 01) pentru deplasare continutului registrului cu o pozitie spre dreapta, ecare celul se a ncarc, la aplicarea impulsului de ceas, cu continutul celulei a vecine din stnga felul urmtor: wB = QA , wC = QB , wD = QC , iar a n a wA = RIN . Intrarea RIN este intrarea serie pentru deplasare spre dreapta, la aceasta se aplic cte un bit la ecare impuls de ceas; aceast intrare poate a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

469

conectat la ieirea serie a unui circuit registru similar, situat stnga, atunci a s n a cnd se lucreaz cu cuvinte multiplu de patru. Ieirea serie, pentru deplasarea a a s spre dreapta, este QD ; (S1 S0 = 10) pentru deplasarea continutului registrului cu o pozitie spre stnga, a ecare celul se a ncarc, la aplicarea impulsului de ceas, cu continutul celulei a vecine din dreapta felul urmtor: wA = QB , wB = QC , wC = QD , wD = n a LIN . Intrarea serie pentru deplasarea stnga este LIN iar ieirea serie este Q A ; a s (S1 S0 = 11) pentru arcarea ecrei celule cu o dat independent felul nc a a a n urmtor: wA = A, wB = B, wC = C, wD = D, registrul se a ncarc (paralel) a la aplicarea impulsului de ceas, cu cuvntul de patru biti ABCD de la o surs a a independent. a tabelul din Figura 3.80-b este sintetizat functionarea registrului serie-paralel In a care corespunde circuitului 74xx194 iar simbolul de reprezentare pentru acest circuit este dat Figura 3.80-c. n
QA
Q
CLK

QB
D Q
CLK

QC
D Q
CLK

QD
D Q
CLK

D
CLK RESET

Q CLEAR

Q CLEAR

Q CLEAR

Q CLEAR

MUX 4:1 11 10 01 00

MUX 4:1 11 10 01 00

MUX 4:1 11 10 01 00

MUX 4:1 11 10 01 00

S1 So

RIN

a)

B Selectare multiplexor

LIN

Functia
Fara modificare Depl. dreapta Depl. stanga Incarcare

Starea urmatoare wC wD Q C QD QB Q C QD LIN


C D

S1
0 0 1 1

S 0 wA wB 0 QA QB 1 RIN QA 0 QB Q C
1 A B

QA QB Q C QD

74XX194
CLK CLR S 1

S 0 RIN

A B C D

LIN

b)

c)

Figura 3.80 Regitrul serie-paralel: a) structurarea pentru un circuit cu patru celule; b),c) modul de functionare i simbolul de reprezentare pentru circuitul 74xx194, s registru universal cu patru celule. Pentru un registru operatia de deplasare (shiftare), stnga/dreapta cu o pozitie, a a unui cuvnt pe un registru de deplasare necesit un tact, deci pentru n pozitii a a n tacte; dimensiunea circuitului ind O(n), iar adncimea O(1), cu produsul n a n dimensiune adncime O(n). Aceeai operatie de deplasare, cu oricare numr i a n s a pozitii, 1 i n, se poate realiza pe un circuit combinational de deplasare (vezi

470

3.5. CIRCUITE REGISTRU

2.5.4) ntr-un singur tact; acest circuit combinational avnd adncimea O(log n) a a n iar dimensiunea O(n log n) rezutnd un produs dimensiune-adncime O(n log 2 n). n a a n a o dat apare, evident, compromisul ce trebuie fcut Inc a a ntre adncime i dimensiune a s alegerea unei solutii (relatia 2.9). calea de date a microprocesoarelor, Figura n In 2.73, unde shiftarea trebuie realizat pe un singur tact, indiferent de numrul de a a pozitii ( n), se include pe lng unitatea aritmetico-logic i un circuit de deplasare a a as combinational, referit prin termenul de barrel shifter. La un registru serie-paralel cuvntul de intrare, cu lungimea de n biti, poate a prezentat pentru arcare e format serie, e format paralel. Aplicat cuvntul nc n n a de intare, cte un bit la ecare celul bistabil, pentru arcarea paralel este necesar a a nc a un singur tact de ceas, pe cnd la arcarea serie se aplic e la intarea RIN (dea nc a plasare dreapta) e la LIN (deplasare stnga) cte un bit al cuvntului pentru ecare a a a tact de ceas, deci un numr de n tacte. De asemenea, pentru ieirea paralel cuvntul, a s a a cu lungimea de n biti, continut registru poate accesat permanent (dac ieirea nu n a s este de tip TSL), dar la ieirea serie se obtine cte un bit la ecare tact de ceas, deci s a cuvntul se obtine a ntr-un numr de n tacte. Combinnd cele patru operatii (intrare a a serial, intrare paralel, ieire paralel i ieire serial) disponibile pe un circuit rega a s as s a istru serie-paralel universal apare posibilitatea utilizrii registrului ca suport pentru a urmtoarele patru operatii de conversie/transfer: paralel-paralel, serie-serie, a paralel-serie, serie-paralel, Figura 3.81. Prin schimbarea modurilor de selectare, pe durata de functionare, se pot succeda att pe intrare ct i pe ieire prezentarea a a s s serie cu cea paralel i invers. Conversiile serie-paralel i paralel-serie sunt operatii as s fundamentale implementarea transmisiilor la distanta pe un singur r; la emisie n cuvintele, printr-o conversie paralel-serie, sunt serializate, transmise pe un singur r, iar la receptie, printr-o conversie serie-paralel, sunt deserilizate.
n
Iesire date CLK LOAD Intrare date CLK LOAD

1
Iesire date Intrare date CLK LOAD

1
Iesire date Intrare date CLK LOAD

n
Iesire date Intrare date

Figura 3.81 Registrul serie-paralel utilizat pentru functiunile de: a) trans fer paralel-paralel; b) transfer serie-serie; c) conversie paralel-serie; d-conversie serieparalel. Se poate realiza un circuit din k registre serie, ecare cu lungimea de n biti, cu deplasare stnga-dreapta (reversibil), iar deplasrile (nr. de pozitii, sens) se fac a a sincron toate aceste registre. n Intr-un astfel de circuit pot stocate n cuvinte ecare cu lungimea de k biti, deci poate privit ca o memorie de capacitate (n k) biti. Se pot realiza, pe aceast structurare, dou tipuri (speciale) de memorie: a a 1. Memoria FIFO (First-In-First-Out). Pe ecare impuls de tact se nscrie n celulele bistabile de intrare (20 ) un cuvnt cu lungimea de k biti i este deplasat a s stnga cu o pozitie. Dup n tacte s-au a a nscris registre n cuvinte i pe tactele n s n+1, n+2, n+3, . . . . se obtin la ieire (celulele bistabile de pondere 2 n1 ) s cuvintele ordinea care au fost n n nscrise (primul nscris primul citit!)

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

471

2. Memoria LIFO (Last-In-First-Out). Pentru nscriere se procedeaz ca i la a s memoria FIFO (deplasare stnga) dar de data aceasta citirea nu se mai face pe a celulele de ieire ci pe celulele bistabile de intrare (cu ponderea 2 0 ), la care de s fapt s-a introdus cuvntul. Pentru citirea cuvintelor a nscrise memorie LIFO n comanda de citire produce o deplasare dreapta, deci la celulele bistabil de intrare se obtine ultimul cuvnt introdus (ultimul a nscris primul citit!). Exemplul 3.28 sistemele de calcul, general, procesarea i transferul informatiei, In n s reprezentat sub form de cuvnt, se realizeaz simultan asupra tuturor bitilor cuvntului a a a a a respectiv - aceasta este procesarea paralel. unele situatii, procesarea sau transferul para In alel este nlocuit cu variantele seriale, adic succesiv bit dup bit pentru cuvntul respectiv. a a a Un caz tipic, acest sens, este transmisia la distanta pentru care se procedeaz modul n a n urmtor: la partea de emisie, unde informatia ce trebuie transmis este sub forma unui a a cuvnt, acesta este serializat, prin intermediul unui registru paralel-serie i transmis bit cu a s bit pe un singur r, iar la receptie cuvntul este convertit din nou la forma de cuvnt, a a prin intermediul unui registru serie-paralel. continuare se va prezenta, ca structurare de In principiu, conversia serie-paralel din punctul de receptie, cea paralel-serie dintr-un punct de ,, emisie poate privit i realizat ca o imagine oglind . as a n a Pentru transferul serial asincron pe o linie se utilizeaz urmtorul protocol, care a a este standardizat. Cuvintele, sub form de byte, se transmit pe linie, bit dup bit a a ncepnd a cu D0 , LSB, i terminnd cu D7 , MSB; cnd nu este transmisie pe linie nivelul de tensiune s a a prezent este H. Transmisia unui cuvnt de un byte a ncepe printr-o tranzitie H L a tensiunii de pe linie, Figura 3.82-a. Pentru receptor tranzitia H L sesizat constituie a informatia c a ncepe transmisia unui byte (poate i un zgomot), iar dac nivelul L al liniei s a se pstreaz un timp T (durat de timp secunde alocat aplicrii unui bit al cuvntului) se a a a n a a a ,, consider c acesta a fost bitul de atentionare (i nu a fost un zgomot care, general, are a a s n o durat mai scurt) referit ca bitul de start, aplicat obligatoriu la a a nceputul transmisiei ecrui byte. Apoi, se transmit cei opt biti ai cuvntului, ecare ind aplicat pe linie o a a durat T , a ncepnd cu D0 i terminnd cu D7 . Valoarea ecrui bit receptionat, pentru a s a a a micora ct mai mult erorile de transmisie, este testat la mijlocul intervalului de timp s a a T , alocat bitului respectiv; consecinta bitul D0 este testat dup un interval 3/2T de la n a sezizarea unei tranzitii H L (i dac nivelul L s-a pstrat un interval T , bitul de start). s a a Dup cele (8 + 1) intervale T se mai introduc unul sau dou intervale T , care linia este a a n comandat nivelul H, ce se constituie unul sau doi biti se stop. Bitul sau bitii de a n n stop sunt introdui pentru a pregti o transmisie corect a urmtorului cuvnt, care poate s a a a a porni imediat sau oricnd. Deci, pentru transmisia asincron a unui cuvnt de un byte, se a a a transmit 8 biti de date, un bit de start i unul sau doi biti de stop, de unde referirea ca tip s de transmisie 8/10 sau 8/11. Viteza de transmisie pe linie se msoar baud (rata Baud, se citete bauzi) i este a a n n s s denit ca inversul duratei T a celui mai scurt element din codul cuvntului transmis pe a a linie. Unele din frecventele (standard) inferioare sunt: 19200, 9600, 4800, 2400, 600, 300, 150, 110,75. De exemplu, pentru cuvinte format 8/11, la o rat (frecventa) de 110 baud, n a se transmit 8 cuvinte adic numai 80 biti de informatie (i nu 110); iar la o rat de 2400 a s a 2 baud, durata T este de 416 3 s. Realizarea transmisiei asincrone impune ca rata baud s a aib aceeai valoare la emisie i la receptie. Termenul asincron, din acest protocol, semnic a s s a faptul c transmisia/(aparitia) unui cuvnt linie poate oricare moment de timp. a a n n Figura 3.82-b este structurat un bloc de receptie asincron conform protocolului expus In anterior. La aparitia pe linie a unei tranzitii H L bistabilul de control este nscris starea n Q = 1 care comand declanarea astabilului sincronizat, cu o arziere de 3 T . Semnalul a s nt 2 generat de astabil, cu frecventa 1/T , este utilizat ca semnal de ceas, pe frontul pozitiv,

472
Stop bit 1 Stop bit 2

3.5. CIRCUITE REGISTRU

Bitul de start

D0

D1

D2

D3

D4

D5

D6

D7

Bitul de start

D0

D1

a)
Linie Intrare date "1" serie

Timpul de transmisie 1 caracter (8 biti+1 bit de stop+2 biti de stop)

Urmatorul caracter

Bistabil de control

D
EN CLK CLK CLEAR

Registru serie, 8 biti


Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0

J
CLK

K CLEAR

Astabil sincronizat

RCO Numarator modulo 8

1
LOAD

Monostabil 1 Q

(RCO CLK)

CLK

Registru paralel, 8 biti

b)

CLEAR

D7 D6 D5 D4 D3 D2 D1 D0

Iesire dateparalel
Stop bit 1 Stop bit 2

Bitii cuvantului de intrareserie Bistabil de control Q


CLK Q7 Q6 Q5

D7 =0
D 6 =1 D 5 =0 D 4 =1 D 3 =1 D 2 =0 D 1 =0 D 0 =1

Date intrate in registrul serie

Q4 Q3 Q2 Q1

Bitii cuvantului de iesire (paralel)

c)

CLEAR Transmisie paralela Transmisie serie


Registru receptie date Buffer

CLK

Conversie serieparalel

uP f)

UART

1 1

Periferic

d)

Registru transmisie date


CLK

Conversie paralelserie

Figura 3.82 Transmisia serial asincron: a) protocolul tip 8/10 sau 8/11 de a a transmisie asincron; b) structurarea unui bloc de receptie asincron; c) diagrama a a semnalelor pentru procesul de conversie serie-paralel; d) structurarea, de principiu, a unui circuit UART i (e) utilizarea sa ca interfata s ntr-un sistem pe baz de microa procesor.

s
Intrare date serie Iesire date serie

(RCO CLK)

Q0

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

473

pentru arcarea serial registrul serie de 8 biti a cuvntului receptionat de pe linie i nc a n a s pentru numrtorul modulo 8. Dup opt tacte de ceas registrul serie este plin cu byte-ul a a a receptionat iar numrtorul generez semnalul RCO. Prin poarta 1, pe durata T /2 al celui a a a de al optulea impuls de ceas, este generat semnalul (RCO CLK) care comand: a 1 - arcarea continutului registrului serie Q7 , Q6 , . . . , Q1 , Q0 registrul paralel de nc n 8 biti, deci la ieirea acestuia se obtine, paralel, cuvntul D7 , D6 , . . . , D1 , D0 s n a transmis serial pe linie; 2 - monostabilul care generez un impuls CLEAR ce constituie semnalul de reset pentru a bistabilul de control (Q = 0 deci astabilul este blocat) i pentru numrtorul modulo 8. s a a Blocul de receptie este pregtit pentru receptia urmtorului cuvnt pe linie care poate a a a apare oricnd dup consumarea unuia sau a doi biti de stop. Diagramele semnalelor a a pentru procesul de receptie i conversie serie-paralel sunt prezentate Figura 3.82-c. s n Circuitul UART (Universal Asynchronous Receiver Transmitter), Figura 3.82-d, obtenabil comercial, include att partea de receptie ct i partea de emisie. Partea de receptie, cu a a s o structur similar cu cea prezentat anterior, receptioneaz serie, convertete paralel i a a a a s n s printr-un registru buer depune datele pe o magistral paralel. Partea de emisie, printr-un a a buer, preia datele de pe o magistral paralel i dup o convesie paralel-serie transmite a a s a serial datele pe linie. Un astfel de circiut totdeauna interfateaz, a ntr-un sistem pe baz de a microprocesor, conectarea unui periferic ce are intrarea i ieirea serie, Figura 3.82-e s s

3.5.6

Circuite liniare cu registre de deplasare

Un sistem, denit ca o aplicatie f de pe multimea intrrilor X pe multimea ieirilor a s Y , Y = f (X), este referit ca ind liniar dac i se poate aplica principiul superpozitiei a (1. rspunsul la dou sau mai multe intrri este egal cu suma rspunsurilor la ecare a a a a intrare parte: dac y1 = f (x1 ), y2 = f (x2 ) atunci y1 + y2 = f (x1 + x2 )); 2. n a pstreaz factorul de scalare al intrrilor (pentru a x af (x)). Pe multimea binar a a a a elementele liniare sunt: elementul de arziere (celula bistabil D) i operatorul XOR nt s (NXOR); nu sunt liniari operatorii OR i AND. Deci sistemele digitale realizate s cu celule D (registre de deplasare) i porti XOR sunt referite ca sisteme s liniare. Pentru sistemele (secventiale) liniare, utiliznd adunarea modulo 2 i nu a s adunarea logic, cnd multimea de denitie este 0,1, aritmetica cu care se opereaz a a a este pe cmpul Galois GF (2); se pot concepe astfel de sisteme pe oricare cmp Galois a a GF (q), vezi sectiunea 1.1.2. Operatiile pe GF (2) sunt identice cu cele din aritmetica numerelor reale cu deosebire de adunare (care este modulo 2). Pe GF (2) oricare element, pentru adunare, este identic cu inversul su A = A, deci scderea este a a identic cu adunarea (A A = 0, A 0 = A, A 1 = A). Amintim relatia: dac a a A B = C atunci A = C B (pentru c A B B = C B A = C B), a B = A C i A B C = 0. s Pentru analiza functionrii circuitelor realizate cu porti logice XOR i celule de a s arziere cu bistabile D se vor utiliza (pentru comparatie) patru circuite; Figura nt 3.83: dou compuse numai din din cte o poatr XOR i o celul D, dar unul din ele a a a s a cu reactie; dou circuite mai complexe realizate din cinci celule bistabil D i patru a s porti XOR, dar unul, de asemenea, cu reactie. Se consider c toate celulele bistabil a a comut sincron pe frontul semnalului de ceas. Dup aplicarea frontului activ de ceas, a a pe durata perioadei de ceas T , ieirea oricrui circuit se calculeaz ca o sum modulo s a a a

474

3.5. CIRCUITE REGISTRU

DX X
Y=X + DX

Xi = 0 0 0 1 0 0 0 0
CLK= 0 1 2

X t=

000 1 1 1 1 1
CLK= 0 1 2

a)

H 1 (D) = Y(D) =I + D
X(D)

Yi1 = 0 0 0 1 1 0 0 0

Yt1= 0 0 0 1 0 0 0 0

DY X=Y+ DY
H 2 (D)
Y(D) X(D)

Xi = 0 0 0 1 0 0 0 0
CLK= 0 1 2

Xt =

000 1 1 1 1 1
CLK= 0 1 2

Yi2 = 0 0 0 1 1 1 1 1

Yt2= 0 0 0 1 0 1 0 1 0

b)

I I+D Xi = 0 0 0 1 1 1 1 1 Y
CLK= 0 1 2

DX D2X D3X D4X D5X

Xt =

000 1 1 1 1 1
CLK= 0 1 2

X Y=X DX
H 3 (D) Y(D)
X(D)

D2X

D3X

D4X

D5X

Yi3 = 0 0 1 1 1 1 0 0

Yt3 = 0 0 0 1 0 1 0 0 11

2 3 4 5 = I+D +D +D +D +D

X=

00 1 0 1 00 1 1 0 0 0 0 0 0 0 0 0
CLK= 1 2

Y 3= 0 0 11 0 0 1 1 0 1 0 1 1 1 0 0 0 0

c)
DY D2Y D3Y D4Y D5Y
H 4 (D) =
Y(D) X(D)

I 2 3 4 5 I+D +D +D +D +D

X X i= 0 0 0 1 0 0 0
CLK= 1 2 3

Y=X+ DY+ D2Y+D3Y+D4Y+D5Y

30 31 32

Y =0 i4 Xt = Xt4= d)

0 0 11 0 0 1 0 0 1 1 1 1 1 0 111

0 0 0 1 0 1 0 11 0 1 0 0 0 0 0 11 0 0 1 0
se repeta

1 ciclu de 31 tacte

000 1 1 1
CLK= 1 2 30 31 32

000 1 0 0 0

111 0 1 0 1 0 0

0 11111 0 0 1 1 0 11 0 0 0 0 0 1 0 0 0 1
1 ciclu de 31 tacte se repeta

Figura 3.83 Secventele de rspuns Yi i Yt pentru semnalele de intrare a s impuls unitar Xi i treapt unitar Xt aplicate la: a),c) circuite secventiale s a a liniare far reactie; b),d) circuite secventiale liniare cu reactie. a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

475

2 ntre valoarea bitului existent pe intrare i cu anumite valori anterioare ale bitilor s din succesiunea X aplicat pe intrare, sau cu valorile anumitor biti din succesiunea a Y obtinut la ieire, valori care au fost stocate celule de memorare D. Rezult a s n a ,, c ieirea depinde, pe lng intrarea prezent, i de istoria functionrii circuitului. a s a a a s a Apare o similitudine, functionare, cu un automat sincron(care la fel depinde de n ,, istoria sa), de unde pentru denumirea acestor circuite liniare s-a ajuns la sintagma circuite secventiale liniare. Semnalele utilizate testarea acestor circuite, prin care se pot evidentia anumite n particulariti de structurare ale circuitului respectiv, sunt semnalul impuls unitar i at s semnalul treapt unitar. Pentru sistemele digitale, semnalul impuls unitar este a a format din 1 precedat i urmat de un ir innit de zero-uri, X i = . . . 0001000 . . ., iar s s semnalul treapt unitar este format dintr-un ir innit de 1 precedat de un ir a a s s innit de zero-uri Xt = . . . 000111 . . .. Pentru circuitul simplu din Figura 3.83-a, compus dintr-o poart XOR i o celul a s a D se poate deduce simplu modul de calcul al bitului de ieire Y 1 = X DX. Rezult s a c ecare bit de ieire, dup aplicarea frontului activ de ceas (tactului) pe durata a s a perioadei de ceas, TCLK , se calculeaz prin sum modulo 2 a a ntre valoarea bitului prezent pe intrare X i bitul anterior de intrare DX (stocat celula D), deci Y = s n X(I D); I - este operatorul unitar, D 0 = I, relatia 3.48. Rspunsurile Yi1 i Yt1 , la a s aplicarea semnalelor impuls unitar Xi i treapt unitar Yt , sunt prezentate aceeai s a a n s gur. a Circuitul din Figura 3.83-b, cu aceleai componente ca i cel din Figura 3.83-a, s s dar pentru elementul de arziere uxul de transfer este de la ieire la intrare, realint s zeaz o reactie, deci se memoreaz ieirea, DY . Din structura circuitului se deduce a a s Y = X DY , care se transform Y DY = X, deci X = Y (I D). Fiecare bit de a n ieire, pe durata unei perioade de ceas, TCLK , se calculeaz prin sum modulo 2 s a a ntre valoarea bitului prezent pe intrare X i a bitului de ieire DY , care a fost perioada s s n anterioar a semnalului de ceas ( a nainte de aplicarea tactului). Rspunsurile Y i2 i a s Yt2 , la aplicarea semnalelor impuls unitar Xi i treapt unitar Xt , sunt prezentate s a a aceeai gur. Rspunsul la un semnal treapt Y t2 este un semnal cu variatie drepn s a a a tunghiular cu perioada 2TCLK (de fapt acest circuit nu este altceva dect o transa a formare a bistbilului D bistabil T, Figura 3.50-b, care divizeaz cu doi frecventa n a semnalului de ceas cnd T = 1). a Analiznd circuitul din Figura 3.83-c se poate deduce uor relatia pentru semnalul a s de ieire, Y = X DX D 2 X D 3 x D 5 X = X(I D D 2 D 3 D 5 ). Bitul de s ieire, pe durata unei perioade de ceas TCLK , se calculeaz prin sum modulo 2 s a a ntre valoarea bitului aplicat pe intrare i valorile bitilor anteriori (aplicati cu unu, dou, s a trei i cinci tacte s nainte) din irul de intrare, valori memorate sub forma DX, D 2 X, s D3 X i D 5 X. Dup aceast regul sunt calculate rspunsurile la semnal impuls Y i3 s a a a a i la semnal treapt Yt3 , prezentate aceeai gur. s a n s a La circuitul din Figura 3.83-d, din modul de realizare a conexiunilor se deduce expresia pentru calculul semnalului de ieire Y = X DY D 2 Y D 3 Y D 5 Y s Y Y X = Y X X DY D 2 Y D 3 Y D 5 Y X = Y (I D D 2 D3 D 5 ). Pentru ecare bit din irul de intrare, valoarea bitului de ieire se obtine s s prin sumare modulo 2 ntre valoarea bitului aplicat pe intrare i valorile bitilor de s ieire anteriori DY , D 2 Y , D 3 Y i D 5 Y . Spre deosebire de circuitul anterior, unde s s registru de deplasare sunt introdui bitii irului de intrare, aici registrul de n s s n

476

3.5. CIRCUITE REGISTRU

deplasare sunt introdui bitii irului de ieire. Aplicnd regula de calcul a circuitului, s s s a pe aceeai gur, sunt prezentate irurile Y i4 i Yt4 care sunt rspunsurile la semnalul s a s s a impuls unitar i semnalul treapt unitar. Ambele rspunsuri sunt iruri periodice s a a a s de impulsuri, perioad ce se a ntinde pe durata a 31 impulsuri de tact. Pentru Y i4 se observ c impulsul unitar de pornire nu se mai aplic (la al 31-lea tact de ceas), a a a deci poate considerat ca un ciruit cu functionare autonom, cu un ciclu de 31 a tacte, pentru amorsare este necesar doar un singur impuls. Circuitele cu functionare autonom sunt utilizate mai mult pentru succesiunea de cuvinte generate paralel, a n la ieirile bistabilelor care formeaz registrul de deplasare, dect pentru generarea s a a succesiunii serie de biti la ieire. s Utiliznd principiul superpozitiei, succesiunea de biti de la ieire, pentru oricare a s succesiune de biti aplicat la intrare, se poate obtine pe baza rspunsului la semnalul a a impuls unitar. Se va exemplica pentru circuitul din Figura 3.83-c. Deoarece un semnal treapt unitar, Xt , se poate compune printr-o sumare innit de semnale a a a impuls unitar, Xi , defazat unul de altul cu TCLK , rezult rspunsul la semnal treapt a a a prin sumare modulo 2 a rspunsurilor de semnal impuls felul urmtor: a n a . . . 00010000 . . . . . . 00010000 . . . . . . 00010000 . . . . . . 00010000 . . . Xt = . . . 1111 . . . . . . . . . . . . 00011110100 . . . . . . 00011110100 . . . . . . 00011110100 . . . . . . 00011110100 . . . Xt3 = . . . 101001111 . . .

Invers, deoarece un semnal impuls Xi poate compus prin sum modulo 2 a ntre dou semnale Xt defazate cu TCLK , semnalul Xi3 se obtine prin sumarea modulo 2 a ntre dou semnale Yt3 ( a ncercati!). Figura 3.83-c este prezentat rspunsul circuitu In a lui i pentru urmtoarea succesiune de intrare compus din apte biti s a a s X = . . . 0001010011000 . . .. Compunnd aceast succesiune din semnale impuls unitar a a defazate corespunztor se obtine: a . . . 00010000 . . . . . . 0000010000 . . . . . . 0000000010000 . . . Y3 = X= . . . 00000000010000 . . . . . . 00010100110000 . . . . . . 0001111010000 . . . . . . 000001111010000 . . . . . . 000000001111010000 . . . . . . 0000000001111010000 . . . . . . 0001100110101110000 . . .

Aceast operare, timp, asupra bitilor de intrare i asupra bitilor de intrare/ieire a n s s anteriori, stocati celulele bistabil, este destul de laborioas i supus la erori, mai n as a ales dac sunt multe celule de memorare. Se poate evita aceast operare, printra a o algebrizare a calculelor, dac i irurile de biti de intrare i cele de ieire sunt a s s s s reprezentate ca polinoame dup puterile variabilei D. De exemplu, pentru secventa de a 7 biti, utilizat anterior, X = . . . 0001010011000 . . . se face reprezentarea X(D) = I a D2 D 5 D 6 . Bitul bi din pozitia i a secventei de intrare este reprezentat polinom n prin termenul bi Di (pentru bi = 0 0 D i = 0 i pentru bi = 1 1 D i = D i ); s primul bit care se aplic circuitului, ce corespunde cu MSB, are pozitia zero i are a s totdeauna valoarea 1, deci 1D 0 = I. Pentru secventele de impuls unitar Xi i treapt s a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

477

unitar Xt se obtin urmtoarele reprezentri polinomiale: a a a Xi (D) = Xt (D) = 1 D0 = I I D D2 D3 D4 D5 D6 . . . (3.52)

Raportul ntre polinomul secventei de ieire Y (D) i al polinomului secventei de s s intrare X(D) denete functia de transfer a circuitului, H(D): s H(D) = Y (D) X(D) (3.53)

Functia de transfer pentru un circuit se deduce din analiza conexiunilor (struc turarea) ntre registrul de deplasare i portile XOR. De exemplu, pentru circuitele s fr reactie din Figura 3.83 se deduc aa H1 (D) = (I D) iar pentru circuitele cu reactie H2 (D) = I/I D H4 (D) = I/(I D D 2 D 3 D 5 ) H3 (D) = I D D 2 D 3 D 5

Cunoscnd polinomul secventei de intrare X(D) i functia de transfer a circuitului a s H(D) cu relatia 3.53 se poate calcula polinomul secventei de ieire Y (D), care este o s mapare a bitilor 1 din secventa de ieire. Prin acest mod de calcul se va exemplica s continuare determinarea (i acelai timp vericarea) secventelor de ieire pentru n s n s s semnalele de intrare prezentate Figura 3.83-c. n 1. Rspunsul la treapt unitar, Xt (D). a a a Yt3 (D) = H3 (D) Xt (D) = H3 (D) (I D D 2 D 3 D 4 . . .) = = I H3 (D) D H3 (D) D 2 H3 (D) D 3 H3 (D) . . . = = H3 (D) D H3 (D)(I D D 2 D 3 . . .) = H3 (D) D Yt3 Yt3 (D) D Yt3 (D) = = H3 (D) D Yt3 (D) D Yt3 (D) = H3 (D) Yt3 (I D) = H3 (D)

Yt3 (D) = H3 (D)/(I D) = (I D D 2 D 3 D 5 )/(I D) = = I D 2 D 5 D 6 D 7 . . . deci 0001010011 . . . (I D D 2 D 3 D 5 ) (D 6 D 6 ) (D 7 D 7 ) (D 8 D 8 ) =

= (I D) (I D)D 2 (I D)D 5 (I D)D 6 (I D)D 7 . . . 2. Rspunsul la impuls unitar, Xi (D). a

Yi3 (D) = H3 (D)Xi (D) = H3 (D) = IDD 2 D 3 D 5 deci Yi3 = 11110100 . . .

478 3. Rspunsul la secventa X = . . . 0001010011000 . . . a

3.5. CIRCUITE REGISTRU

Y3 (D) = H3 (D) X(D) = (I D D 2 D 3 D 5 ) (I D 2 D 5 D 6 ) = I D D 4 D 5 D 7 D 9 D 10 D 11 deci Y3 = 110011010111000 . . . Similar, se pot calcula rspunsurile la semnal treapt i semnal impuls pentru a a s circuitul cu reactie cu functia de transfer H 4 (D). Dicultatea, de data aceasta, const a faptul c pentru Yi4 (D) i Yt4 (D) rezult polinoame a cror puteri ajung la D 31 . n a s a a Dar mai simplu, aceste dou polinoame pot obtinute, invers, dac irul de biti, a a s timp, pentru Yi4 i Yt4 din Figura 3.83-d este mapat direct forma polinomial n s n a (se consider numai puterile pentru care exist impuls rspunsul timp, 0D i = a a n a n 0,1D i = D i ). La realizarea unui singur circuit din mai multe circuite componente cu functiile de transfer H1 (D), H2 (D), . . . Hk (D), pentru determinarea functiei de transfer rezul tante H(D), se utilizeaz algebra functiilor de transfer. Pentru circuitul obtinut, a prin nserierea de circuite componente, functiile de transfer se nmultesc H(D) = H1 (D) H2 (D) . . . Hk (D); prin conectare paralel de circuite componente functiile n de transfer se sumeaz modulo 2 H(D) = H1 (D) H2 (D) . . . Hk (D), iar pentru a serie paralel sau paralel serie se combin a nmultirea cu sumarea. Din analiza circuitelor liniare cu registre de deplasare rezult c acestea pot a a utilizate ca ltre binare - o succesiune de biti aplicat pe intrare este modicat a a ntro alt succesiune de biti de ieire functie de functia de transfer a circuitului. Dar, a s n abordarea poate i de sintez, impunndu-se transformarea unei anumite secvente de s a a intrare X(D) ntr-o anumit secventa de ieire Y (D) se determin functia de transfer a s a H(D) - apoi, din functia de transfer se deduce structura circuitului cutat. a
Pentru circuitul cu functia de transfer H(D) = I D D 3 s se a determine secventa de intrare nul. a Solutie. Secventa de intrare nul X0 (D) este acel ir de biti aplicat pe intrare care a s produce pe ieire secventa Y (D) = . . . 0000 . . . , deci respect relatia s a

Exemplul 3.29

X0 (D)H(D) = X0 (D)DX0 (D)D 3 X0 (D) = 0

Expresia obtinut pentru X0 (D) arat c ecare bit care trebuie s se aplice pe intrare a a a a se calculeaz ca sum modulo 2 a a ntre bitii registrului de deplasare din celulele D i D 3 . s Dar pornind din repaus cu acest ltru, adic toate celulele pline cu 0, rezult c adevrata a a a a secventa nul este un ir de zero-uri (dar care nu va putea scoate ltrul din repaus). Pentru a s a scoate ltrul din repaus se accept ca secventa de intrare nul s aib primul bit 1, care a a a a genereaz i ieire primul bit 1, ceea ce violeaz irul de zero-uri pe ieire pentru primul a s n s as s bit. Dar procednd acest mod secventa nul de ieire este considerat ca ind rspunsul a n a s a a unitar Y (D) = I, deci relatia anterioar se rescrie. a I = X0 (D) H(D) = X0 (D) D X0 (D) D 3 X0 (D) rezult secventele: a X0 (D) = I/(I D D 3 ) = 1 D D 2 D4 D7 D8 . . . X0 = Y = Xi = . . . . . . . 000. .1110100. .1110100. .1110100. . . . . . . . . . . . . . . 000.1000000.0000000.0000000. . . . . (3.54)

X0 (D) = DX0 (D)D 3 X0 (D)

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

479

Aplicatii transmisia codurilor ciclice. Oricare CLC cu ieiri multiple n s poate privit ca un transcodor, Figura 2.33, conversia ntr-un alt cod efectundu-se a paralel. Pentru codurile ciclice, ai cror biti se transmit serial, codicarea i den a s codicarea se realizeaz prin trecerea irului de biti prin circuite secventiale liniare. a s Codurile ciclice, care apartin unei clase generale a codurilor algebrice detectoare de erori, prezint distinctiv faptul c: dac vectorul (b n1 bn2 . . . b3 b2 b1 b0 ) reprezint a a a a un cuvnt al codului atunci i combinatia (b 0 bn1 bn2 . . . b3 , b2 b1 ) obtinut prin dea s a plasarea ciclic a bitilor, apartine de asemenea codului. a principiu, pentru transmisia codurilor ciclice (secventa X(D)) acestea sunt In aplicate la emisie ntr-un circuit secvential cu functia de transfer H(D) ce genereaz a secventa de ieire Y (D). Ceea ce de fapt este o s nmultire modulo 2 a polinomului de intrare X(D) (codul de transmis) cu polinomul circuitului (functia de transfer). Este posibil ca pe canalul de transmisie s e injectat un zgomot, N , la receptie ajungnd a a secventa X (D) = Y (D) + N . Receptia se face printr-un circuit cu o functie de transfer de forma 1/H(D) obtinndu-se la ieire secventa: a s Y (D) = 1 1 1 (Y (D) + N ) = (X(D)H(D) + N ) = X(D) + N H(D) H(D) H(D)

De data aceasta se realizeaz o artire cu acelai polinom cu care s-a a mp s nmultit le emisie; la o transmisie corect restul artirii trebuie s e nul. a mp a Dac cuvntul de cod nu este modicat de zgomot (N = 0) atunci Y (D) = a a 1 X(D). Dac N = 0 atunci analiza termenului H(D) N , la receptie, va indica transa misia arcat cu zgomot a cuvntului X(D); dar chiar mai mult, se poate indica nc a a pozitia din cuvnt a bitului/bitilor modicat/modicati precum i corectarea pentru a s obtinerea cuvntului (initial) corect [Vldutiu 89]. a a
Figura 3.84, un cuvnt de patru biti, 1110, din cele 16 posibile, In a este transmis printr-o pereche de ltre liniare cu functii inverse. La emisie, cuvntul este a extins la o lungime de cod de 7 biti, 1110 000, adugnd pe ultimele trei pozitii trei biti a a 000, referiti ca biti de control. Se obtine la ieire din ltrul de la emisie, care are functia s de transfer H(D) = I D 2 D3 , urmtorul ir 1100010. linia de transmisie, un zgomot a s In injecteaz pozitia a patra din dreapta un bit 1, deci la intrarea ltrului de receptie, cu a n functia 1/H(D), se aplic irul X = 1101010. Se obtine irul de ieire Y = 1111 001 care as s s n ultimii trei biti de control difer de 000, ceea ce indic faptul c transmisia s-a realizat cu a a a eroare (pe baza cuvntului de control 001 se poate detecta i corecta eroarea).) a s

Exemplul 3.30

Circuite liniare cu registre de deplasare cu reactie, autonome. Aceste circuite dup cum reiese i din aceast denumire (lung!) sunt de fapt ltre binare a s a a cu reactie, prezentate anterior, dar la care este eliminat intrarea, referite lit a n eratur ca circuite de deplasare cu reactie, LFSR (autonomous Linear-Feedback a Shift-Register). Neexistnd intrare, circuitul dup amorsare continu s genereze un a a a a semnal periodic, prin aplicarea impulsurilor de ceas, ceea ce poate analogul discret al unui oscilator. De exemplu, la circuitul cu reactie din Figura 3.83-d rspunsul Y i4 la un semnal a impuls unitar este o secventa cu o perioad de 31 de tacte. De asemenea, la circuitul a cu functia de transfer H(D) = I D 2 D 3 din Exemplul 3.29 aplicnd pe intrare a secventa nul se obtine pe ieire secventa care este semnalul impuls unitar X i ; dar a s

480

3.5. CIRCUITE REGISTRU

H(D)=I D2
D
D2

D3
D3

Canal de transmisie
N
0001000

H(D)=
D3

I
I D2 D3 D

D2

X
1110 000

Y
Emisie D
0 0 1 1 1 0 0 0
1100010

X
1101010

Y
Receptie D2
0 0 0 1 1 1 1 0
1111 001

a)

X
0 1 1 1 0 0 0 0

D2
0 0 0 1 1 1 0 0

D3
0 0 0 0 1 1 1 0

Y
0 1 1 0 0 0 1 0 0 0 0 1 0 0 0

X
0 1 1 0 1 0 1 0

D3
0 0 0 0 1 1 1 1

D
0 0 1 1 1 1 0 0

Y
0 1 1 1 1 0 0 1

b)
Figura 3.84 Transmisie cu detectare i corectare de eroare: a) structur de s a circuit pe baz de ltre secventiale liniare cu functii de transfer inverse; b) tabele cu a modicarea continuturilor ltrelor de la emisie i de la receptie. s

dac acest circuit este realizat cu reactie, cu functia de transfer 1/H(D) care are a structura circuitului receptor din Figura 3.84-a, atunci aplicndu-i pe intrare (pentru a amorsare) secventa impuls unitar se obtine pe ieire un semnal periodic care este s secventa nul (invers, raport cu relatia 3.53). a n . . . . . . 000. .1000000. .0000000. . . . . . . . . . . 000. .1110100. .1110100. . . . .

Xi = Y0 =

La aceste dou circuite cu reactie se constat c ind starea zero, toate celulele a a a n pline cu 0, dac se aplica numai o singur dat impulsul unitar, vor genera permanent a a a a o secventa periodic, chiar dac intrarea este zero, deci au autonomie fata de intrare. a a Structura de principiu pentru un circuit de deplasare cu reactie ca n celule este prezentat Figura 3.85-a. La sumatoarele modulo 2 intrrile sunt ieirile din celulele a n a s registrului de deplasare multiplicate cu coecientii a i , i = 1, 2, . . . , n 1, ai {0,1}. (De fapt aceti coecienti indic dac ieirea celulei i a registrului este conectat s a a s a n sumarea modulo 2, ai = 1, sau dac nu este conectat, ai = 0; ieirea din ultima a a s celul totdeauna este conectat, an = 1). Un astfel de circuit cu reactie este un a a automat deci, pentru analiza sa, este mai potrivit abordarea din punct de vedere a al tranzitiei strilor i nu descriind irul bitilor de ieire Y . Figura 3.83-d , de a s s s In exemplu, irul Yi4 introdus registrul de deplasare va realiza urmtoarele tranzitii s n a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

481

ale strilor (D 5 Y = z5 , D 4 Y = z4 , D 3 Y = z3 , D 2 Y = z2 , DY = z1 ): a z5 z4 z3 z2 z1 =
0 1 3 6 12 25 18 4 9 19 7 15 31 30 29 27 25 14 28 24 17 2 5 10 21 11 22 13 26 20 9 16 1 . . .

(cifrele ncercuite reprezint numrul zecimal al echivalentului binar dat de codul a a n strii z5 z4 z3 z2 z1 ). a Particulariznd structura de principiu la n=4, functia de transfer a strilor se a a exprim felul urmtor: a n a w4 w3 w2 w1 = = = = z3 z2 z1 a4 z4 a3 z3 a2 z2 a1 z1 = Y

(3.55)

Primele trei ecuatii descriu deplasrile (stnga) din registru iar ultima reactia a a liniar prin reteaua de porti sum modulo 2. Ecuatia pentru calculul semnalului de a a reactie Y , care se aplic la intrarea primului bistabil D al registrului, este: a a4 D4 Y a3 D3 Y a2 D2 Y a1 DY = Y a4 D4 Y a3 D3 Y a2 D2 Y a1 DY Y = 0 a4 D4 Y a3 D3 Y a2 D2 Y a1 DY Y = 0 a4 D4 a3 D3 a2 D2 a1 D I = 0 iar particulariznd a4 = 1, a3 = 0, a2 = 0, a1 = 1, i pentru obinuinta i generalitate a s s s adoptnd notatia X (= Y ), se obtine polinomul caracteristic: a n I X X4 (3.56)

care corespunde circuitului din gura 3.85-b. Ordonarea (direct) a termenilor unui a polinom de ordinul n pe cele n celule ale registrului de deplasare se face printr-o mapare direct sensul de cretere a exponentului puterii i a creterii numrului de a n s s s a tacte de arziere pe registru. Termenul polinomului X k , 1 k < n corespunde nt i registru celula care realizeaz o arziere a intrrii cu k tacte (D k ), iar termenilor n a nt a X n i 1, care sunt totdeauna prezenti reteaua de rectie a circuitului, le corespunde s n registru respectiv ultima celul (D n ) i intrarea primei celule (D 0 = 1). Pentru n a s polinomul caracteristic din relatia 3.56, ntr-o ordonare direct, reteaua sumatoare a n modulo 2, din exteriorul registrului, sunt conectate ieirile celulei a patra (X 4 ) i s s celulei a aia (X) i rezultatul aplicat la intarea primei celule (D 0 ); structurarea nt s rezultat este referit ca circuit secvential liniar cu reactie cu sumatoare exterioare. a a Pentru acelai polinom caracteristic (3.56) exist i structurarea cu sumatoare incluse, s as prezentat Figura 3.85-c, care se conecteaz celulele bistabil ale registrului la a n n a reteaua de sumatoare modulo 2 dup aceeai regul expus anterior. Sub desenul a s a a corespunztor ecrei din cele dou structurri, cu sumator exterior i sumator inclus, a a a a s este ataat i tabelul de tranzitie al strilor (cu calculul bitilor ecrei stri). s s a a a

482
z3 D3
a n3 a3 a2

3.5. CIRCUITE REGISTRU

zn
Dn

z n1
D a n1
n1

z n2
D an2
n2

z n3

z2 D
2

z1 D
a1

Y a)
z4 z3 z2 z1

X4 Q D
CLK

X3 Q D
CLK

X2 Q D
CLK

X Q D
CLK

z4
I
X4 Q D CLK
CLK

z3
X3 Q D
CLK

z2
X2 Q D
CLK

z1
X Q D
CLK

CLK

Y
z 4 z 3z 2 z 1 1 3 7 15 14 13 10 5 11 6 12 9 2 4 8 0

Y
z 4 z 3z 2 z 1 1 2 4 8 3 6 12 11 5 10 7 14 15 13 9 0

Starea

X 4,(D 4) X3, (D 3) X2,(D 2) X , (D)

Y 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 c)

Starea

X 4,(D 4) X3, (D 3) X2,(D 2) X , (D)

Y 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0

0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0 z3

0 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 z2

0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 z1

1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 0

0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 z3

0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 z2
X2
Q D
CLK

0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 z1

1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 0

b) z4 I
Q D
CLK CLK

X
Q D
CLK

X2
Q D
CLK

X3
Q D
CLK

X4
Q D
CLK CLK

X
Q D
CLK

X3 X 4
Q D
CLK

y d) e)

Figura 3.85 Circuitul secvential liniar cu reactie: a) structurare general, de a principiu, pentru un (circuit bazat pe) registru de deplasare cu n celule; structura de circuit i tabelul de tranzitie al strilor pentru polinomul I X X 4 , ordonare s a n direct cu sumator extern (b) i cu sumator intern (c); structur de circuit pentru a s a polinomul I X X 4 , ordonare invers (sau polinomul inversat X 4 X 3 I n a i ordonare direct), cu sumator extern (d) i cu sumator intern (e)(Liniile desenate s a s ntrerupt corespund introducerii ciclu normal i a strii z 4 z3 z2 z1 = 0000). n s a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

483

Din analiza celor dou tabele de tranzitie ale strilor rezult c se genereaz cicluri a a a a a succesive ce cte 15 stri, (2n 1), starea z4 z3 z2 z1 = 0000 nu este inclus ciclu. a a a n Succesiunea strilor cadrul ciclului are un caracter semi-aleatoriu, prin urmare a n circuitul poate considerat ca un generator de zgomot alb sub forma de scvente binare pseudo-aleatoare. Pentru cazul general, de registru cu n celule, secventa binar pseudo-aleatoare a generat are un ciclu de (2n 1) stri. Ciclu maxim de (2n 1) stri se genereaz a a a a numai atunci cnd polinomul caractristic al circuitului este primitiv, adic este un a a polinom ireductibil (prim, nu are divizori i exponentul puterii este de valoare maxim s a pentru acel circuit). literatur [Green 85] sunt date polinoamele primitive pn In a a a la gradul n = 100; continuare sunt date aceste polinoame primitive pn la gradul n a a n = 13: I I I I X X2 X X3 X X4 X2 X5 I I I I X X6 X X7 X X5 X6 X8 X4 X9 I I I I X 3 X 10 X 2 X 11 X 3 X 4 X 7 X 12 X X 3 X 4 X 13

Dac polinomul nu este primitiv (admite divizori) circuitul corespunztor va avea a a un numr de cicluri egal cu divizorul cel mai mare al lui (2 n 1), ecare din aceste cia cluri avnd o secventa cu lungimea maxim < 2 n 1; aceste cicluri ind independente, a a odat circuitul intrat a ntr-unul din aceste cicluri nu mai prsete dect numai prin l aa s a resetare. Se demonstreaz c dac polinomul caracteristic este primitiv atunci i polinomul a a a s inversat este primitiv; dac polinomul caracteristic se substituie X 1/X se obtine a n polinomul inversat. Ordonarea (direct) a polinomului caracteristic pe registru a de deplasare se face felul urmtor: I(D 0 ) la intrarea primei celule; X la ieirea lui n a s (D); X 2 la ieirea lui (D 2 ); . . . ;X k la (D k ); . . . ; X n1 la (D n1 ); X n la (D n ). s In opozitie, ordonarea (invers) a polinomului inversat pe registrul de deplasare se a face felul urmtor: X n la intrarea primei celule (D 0 ); X n1 la ieirea lui (D); X n2 n a s la (D 2 ); X n3 la (D 3 ); . . . ; X k la (D nk ); . . . ; X la (D n1 ); I la ieirea lui D n . s Corespunztor polinomului caracteristic dat prin relatia (3.56), polinomul inversat a X 4 X 3 I, ordonat direct pe un registru de deplasare cu patru celule, produce o structurare de circuit secvential cu reactie cu sumatoare exterioare ca Figura 3.85-d n i produce i o alt structurare cu sumatoare incluse ca Figura 3.85-e. Rezult c s s a n a a pentru un polinom primitiv exist patru structurri: dou cu sumatoare exterioare, a a a una corespunde polinomului direct, X 4 X I, Figura 3.85-b, iar cealalt corespunde a polinomului inversat X 4 X 3 I, Figura 3.85-d; dou cu sumatoare incluse, una a corespunztoare polinomului direct, Figura 3.85-c, iar cealalt polinomului inversat, a a Figura 3.85-e. Dei toate cele patru structurri provin din acelai polinom primitiv, s a s ecare din ele genereaz propria secventa cu lungimea maxim de 15 tacte ( general a a n 2n 1 tacte). Uzual, nu se mai calculeaz polinomul inversat iar pentru implementarea a sa se utilizeaz tot polinomul direct dar se consider ordonarea inversat. a a a Circuitul secvential liniar cu reatie cu ciclul de lungimea maxim (2 n 1) nu a cuprinde starea zero, toate celulele pline cu zero, deoarece prin reteaua sumatoare modulo 2 de reactie s-ar produce tot zero; registru se injecteaz zero, deci circuitul n a rmne starea zero, a a n nchizndu-se un ciclu permanent jurul strii zero (nu poate a n a amorsat). Pentru evitarea blocrii, accidentale, starea zero, la punerea circuitului a n

484

3.5. CIRCUITE REGISTRU

sub tensiune trebuie prevzut setarea automat a unei celule starea unu. (O a a a n astfel de solutie const a ntr-un circuit de integrare RC a crei intrare este tensiunea a de alimentare a registrului (VDD , VCC ) iar ieirea acestui circuit se conecteaz la s a intrarea asincron PRESET a celulei care se va a n nscrie 1 i la intrarea asincron s a CLEAR a tuturor celorlalte celule care se vor nscrie zero.) n Se poate extinde ciclul circuitului secvential liniar cu reactie la 2 n dac se introduce a ca stare normal i starea zero. Pentru aceast extensie, intrarea unei porti XOR, din as a reteaua de reactie, se obtine ca ieire de la o poart NOR cu n1 intrri, aceste intrri s a a a sunt colectate de la ieirile tuturor celulelor registrului de deplasare mai putin ultima s (D n ). Dac circuitul este starea zero, zn zn1 . . . z1 z0 = 00 . . . 00, ieirea portii NOR a n s genereaz un 1 prin care reteaua de reactie cu XOR, la urmtorul impuls de ceas, a a va injecta 1 prima celul i/sau n as ntr-o alt celul a registrului de deplasare (cnd a a a sumatoarele sunt incluse). Dac circuitul este starea z n zn1 . . . z1 z0 = 10 . . . 00 a n ieirea 1 a portii NOR, plus D n = 1, prin reteaua de reactie va injecta 0 registrul s n de deplasare, deci urmtoarea stare este zn zn1 . . . z1 z0 = 00 . . . 00. Se obtine att a a extensia la 2n stri ct i amorsarea din starea zero. Pentru structurile din Figura a a s 3.85-d i 3.85-e sunt desenate punctat conexiunile pentru aceste circuite de extensie. s Aplicatiile circuitelor secventiale liniare cu reacti sunt numeroase: - generator de secvente binare pseudo-aleatoare pentru generare de stimuli n testarea circuitelor; - circuite de codicare i decodicare pentru detectarea i corectarea erorilor, s s tehnica comunicatiilor; - numrtoare modulo 2n 1 sau 2n (pot considerate numrtoare cod arbiaa aa n trar, 3.4.2.2). Consum cea mai putin suprafata dect oricare alt numrtor cu a a a aa exceptia celui asincron, dar acesta neind sincron ridic problema la interfatare. a Este mai rapid dect oricare numrtor cu exceptia numrtorului Johnson, dar a aa aa acesta este numai modulo 2n. (Pentru structurarea cu sumatoare incluse perioada de ceas minim este egal cu propagarea printr-o celul D plus o poart a a a a XOR.)

3.5.7

Distributia i aplicarea semnalului de ceas s

Intr-un sistem digital sincron semnalul de ceas (tactul) este utilizat pentru a introduce o referinta de timp fata de care se raporteaz realizarea unei functii sistem. a n Deoarece acest referinta este vital, pentru functionare sistemului sincron, trebuie a a acordat o deosebit atentie parametrilor semnalului de ceas i a retelei de distributie, a a s care este suportul zic pentru aplicarea semanalului de ceas. Semnalul de ceas, uzual, este considerat ca un semnal de control, dar este un semnal de control cu caracteristici i atribute speciale. Semnalele de ceas, tipic, asigur comanda unor sarcini mari, se s a propag pe cele mai lungi trasee, opereaz la frecventele cele mai ridicate raport a a n cu oricare semnal de control sau de date din sistem. Deoarece semnalele de date sunt furnizate pe baza referintei de timp, forma de variatie timp a semnalelor de ceas n ,, ,, trebuie s e curat . Ori, pstrarea formei curate produs de generatorul de ceas, a a a a pn la punctele de aplicare, este puternic inuentat i arziat de ctre reteaua a a a s nt a a de distributie. Proiectarea retelei de distributie a semnalelor de ceas determin a n mod esential performantele sistemului digital mai ales la sistemele de vitez ridicat. a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

485

concluzie, semnalul de ceas are o contributie major obtinerea performantelor In a n i functionrii corecte pentru sistemele digitale sincrone. s a oricare sistem digital, cu procesare de tip clasic sau pipeline, circuitele comIn n binationale sunt interfatate pe intrare i pe ieire cu elemente de memorare (latch-uri, s s bistabile, registre). Transferul din interfata de intrare, prin partea combinational, a interfata de ieire se realizeaz n s a ntre dou tacte ale semnalului de ceas, a crui pea a rioad minim, TCLKmin , se calculeaz cu relatia 3.45. Structurarea clasic, Figura a a a a 3.76-a, pe baza creia s-a dedus acest relatie este reluat i gura 3.86-a. De a a a s n data acesta s-au introdus relatia pentru calculul timpului de propagare date, pD , n ntre cele dou interfete i timpul de propagare pe interconexiuni pInt , obtinndu-se a s a relatia: pD TCLKmin = pCQ + pCLC + SU + pInt pCQ + pCLC + SU + pInt (3.57)

Evident, pInt la circuitele realizate cu componente discrete poate neglijat dar pentru sistemele integrate de mare vitez unde prin procesul de scalare, permanent, a dimensiunile sunt multiplicate cu 1/s (s > 1, factorul de scalare, vezi Tabelul 1.11), aceast component a timpului de propagare devine din ce ce mai putin de neglijat. a a n Timpii de propagare, dependenti de dispozitiv: pCQ , SU , pCLC , se micoreaz prin s a scalarea dimensiunilor dar nu se micoreaz i pInt . Micorarea dimensiunilor traseelor s as s de interconectare duce la micorarea sectiunilor, la creterea rezistentei, deci nu la o s s micorare a timpului de propagare pInt , plus apar capaciti parazite (distribuite) i s n at s efectul de electromigratie (vezi sectiunea 1.5.1). Mai ales, pentru traseele din reteaua de distributie a semnalului de ceas, scalarea se aplic cu foarte mare prudenta, ori se a pstreaz aceleai dimensiuni (vezi sectiunea 4.5). a a s structura din Figura 3.86 se consider c exist sincronizare/(suprapunere) In a a a ntre momentele de aplicare a semnalelor de ceas la cele dou registre, t CLKi = tCLKj . a In prctic, cele dou momente nu se suprapun tCLKi = tCLKj ; acest nesincronizare are a a a dou componente: defazajul i uctuatia fronturilor semnalelor de ceas. a s Cauzele care duc la un defazaj de ceas (la arzieri diferite) sunt reprezentate nt n Figura 3.86-b. De exemplu, cele dou momente de aplicare ale semnalelor de ceas a la bistabilele consecutive Di , Dj , din lantul de bistabile, pot s nu se suprapun, a a tCLKi tCLKj deoarece din motiv de arcare cele dou semanle se obtin de la dou nc a a ramuri diferite ale retelei de distributie a semnalului de ceas, iar pe cele dou ramuri a arzierile nu sunt egale. Dac se noteaz cu t timpul la generatorul de ceas nt a a general, GCLK (un generator PLL, Phase Lock Loop), iar arzierile de propagare nt prin reteaua de distributie, ale celor dou semnale de ceas, pn la D i i Dj respectiv a a a s cu i i j rezult momentele timp tCLKi = t + i i tCLKj = t + j . s a n s Denitia 3.11 Defazajul de ceas df (clock skew), ntre dou registre/bistaa bile i, j, consecutive sensul de propagare a datelor pentru procesare, este diferenta n timp n ntre momentul aplicrii semnalului activ de ceas la registrul/bistabilul j i a s momentul aplicrii semnalului activ de ceas la registrul/bistabilul i a df = tCLKj tCLCi = j i (3.58)

De notat faptul c defazajul de ceas este relevant numai a ntre dou registre/bisa tabile consecutive, deci ntre care exist un transfer de date. a

486

3.5. CIRCUITE REGISTRU

Intrare date

Registru

Retea combinationala

Registru

Iesire date

Ri
t CLKi CLK

(CLC)

Rj
t CLKj CLK

Intrare date
pCQ pInt pCLC pD pInt SU

Iesire date

a)
4
7 Temperatura Sursa de alimentare

D Q
CLK

Q
CLK

D Q
CLK

D Q

Di
CLK

t CLKi

5
PLL 1

Generator semnal de ceas

2 Amplificatoare (buffere) semnal de ceas

6 Sarcina capacitiva
D Q D Q
CLK

3 Interconexiuni

D Q
CLK

D Q
CLK

Dj
CLK

t CLKj

b)

Cuplaje capacitive TCLK

6 Sarcina capacitiva

CLK

c)

fl

+ fl

Figura 3.86 Nesincronizarea semnalelor de ceas ntre dou rega istre/bistabile consecutive dintr-o cale de propagare a datelor: a) structur a de principiu a unei etape propagarea datelor cu evidentierea timpilor (componente) n de propagare; b) reprezentarea cauzelor, ntr-o retea de distributie a semnalelor de ceas, care pot determina defazaj de ceas i uctuatia fronturilor; c) explicativ pentru s a aparitia efectului de uctuatie al fronturilor (clock jitter).

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

487

Cauzele care pot duce ca arzierile de propagare j i i s nu e egale sunt: nt s a - Buerele (amplicatoarele) de semnal 2 din reteaua de distributie. Aceste amplicatoare sunt o cauz principal pentru df = 0. Datorit dispersiei din a a a procesul de fabricatie buerele rezult cu variatii pentru valorile timpilor de a propagare (care se pstreaz chiar daca sunt incluse retele echilibrate i cu a a n s arcri identice). nc a - Interconexiunile 3 din reteaua de distributie a ceasului. Pentru ecare interconexiune intervine lungimea i rezistivitatea traseului, constanta i grosimea s s dielectricilor, rezistentele de contact i ale gurilor de ptrundere (vias) s a a ntre straturile metalizate, capacitile parazite. at - Variatia valorii tensinii de alimentare 4 (vezi Figura 1.78). a - Cuplajele capacitive 5 . Se recomand ca stratul metalizat pentru reteaua de distributie a semnalului de ceas s e a ntre straturile metalizate pentru V DD i s VSS (surs i mas). as a - Sarcini de comand 6 diferite pentru cele dou semnale de ceas. a a a n - Variatia temperaturii 7 . Defazajul de ceas are o valoare constant timp dac temperatura mediului nu se modica pronuntat. a A doua component care contribuie la nesincronizare este efectul de uctuatie a ( aparitie) al fronturilor semnalelor semnalelor de ceas (clock jitter). Ca o n consecinta a acestui efect fronturile consecutive apar cnd la intervale de timp mai a mari dect TCLK , cnd la intervale mai mici dect TCLK , Figura 3.86-c. Dac se a a a a noteaz pentru semnalul de ceas cu perioada T CLK abaterile de aparitie (uctuatiile) a ale fronturilor semnalelor de ceas, fata de momentul corect de aparitie al frontului, cu fl i +fl atunci perioada real a semnalului de ceas poate avea valori intervalul s a n [TCLK 2fl , TCLK + 2fl . Cauzele acestor uctuatii sunt: generatorul de ceas 1 ;

s a s arcarea capacitiv 6 i cuplajele capacitive 5 ; variatiile de temperatur 7 i nc a tensiunea de alimentare 4 . n functionarea real a sistemelor semnalul de ceas aplicat la dou registre/bistabiIn a a le consecutive poate afectat simultan att de defazaj ct i de uctuatia fronturilor. a a s Defazajul este o variatie spatial reectat momentele de aplicare a semanlelor de a a n ceas i nu se modic de la perioad la perioad pe cnd uctuatia fronturilor, se s a a a a poate modica de la ciclu la ciclu, este un efect pasager. Transferul sincron al datelor de la registrul R i la registrul urmtor Rj trebuie a asigurat att pentru valoarea maxim a timpului de propagare al datelor pDmax ct a a a i pentru timpul de propagare minim pDmin conditiile care intervin factorii de s n n nesincronizare df i fl . Valoarea pDmax determin TCLKmin , adic frecventa maxim s a a a a semnalului de ceas, deci performanta de vitez. Valoarea pDmin determin transferul a a corectat al datelor registrul Rj , deci functionarea corect a sistemului. Dac timpul n a a de propagare minim, de la registrul Ri la Rj , este mai mc dect timpul de mentinere a H al registrului Rj , pDmin < H , adic datele a nscrise registrul Ri ajung la registrul n

488

3.5. CIRCUITE REGISTRU

Rj nainte ca datele anterioare aplicrii frontului activ de ceas s fost a a nscrise n registrul Rj , registrul Rj se n nscriu datele de la registrul Ri ; deci pe un singur tact datele parcurg dou etape calea de transfer ( a n nscriere registrul R i i propagare n s la registrul Rj precum i s nscriere registrul Rj pentru c timpul de mentinere H de n a la registrul Rj nu s-a consumat). Pentru a evalua modul cum se poate asigura att a performanta ct i functonarea corect a sistemului sincron se vor analiza tipurile de a s a defazaj de ceas. Defazajul de ceas pozitiv, df > 0. O valoare pozitiv pentru df , conform a relatiei 3.53, apare cnd frontul activ de ceas la registrul R j se aplic cu un interval a a de timp df dup aplicare aceluiai front activ de ceas la registrul R i , tCLKi < tCLKj . a s Practic, o astfel de situatie aplicarea semnalelor de ceas poate apare cnd sensul n a de aplicare al semnalelor de ceas coincide cu sensul de deplasare al datelor i s ntre registrele consecutive Ri i Rj , pe traseul de ceas, apare o arziere df , Figura 3.87-a. s nt prezenta defazajului df pozitiv, pentru arzierea minim propagarea daIn nt a n telor pDmin , nscrierea corect in registrul Rj este asigurat numai cnd se respect a a a a relatia df + H pDmin , adic: a H pDmin df = pCQ + pCLC + pInt df (3.59)

Aceast relatie cnd defazajul devine semnicativ, prin difernta pDmin df de a a valoare mic, poate impune pentru timpul de mentinere H s aib o valoare mai a a a mic dect valoarea minim prescris unui bistabil D pentru o functinare corect a a a a a (evitarea metastabilitii, Figura 3.46). Deci creterea defazajului poate determina at s ca functionarea s ajung la limita critic pentru care valoarea prescris pentru H s a a a a a e H pDmin df , deci o nscriere incorect a bistabilului R j . Inegalitatea expria mat de relatia 3.59 poate ajunge la limita critic pentru circuitele care cascadeaz a a a bistabile, cum sunt structurile de registre de deplasare sau de numrtoare; la aceste aa circuite pCLC = 0 ( general), pInt 0 (prin geometria de proiectare), deci se n poate ajunge la H pCQ df . Un registru sau un numrtor care functioneaz la aa a limita acestei inegaliti poate avea o functionare corect la testare dar, utilizare, at a n datorit variatiilor de mediu (temperatur, tensiune), poate inversa inegalitatea. Pena a tru o functionare sigur a acestor tipuri de circuite se recomand o comand cu un a a a defazaj de ceas negativ. prezenta defazajului df pozitiv de valoare mult mai mic dect pD pericolul In a a nscrierii eronate nu poate apare dar, schimb, la o valoare mare a timpului de n propagare a datelor aceasta trebuie corelat cu perioada minim impus pentru sema a a nalul de ceas. Din diagrama de semnale din gur rezult c durata perioadei de ceas a a a plus timpul de defazaj, TCLK + df , nu poate mai mic dact timpul de propagare a a a datelor plus timpul de stabilizare al registrului R j , TCLK + df pD + SU = pDmax . Din aceast relatie rezult valoarea minim a prioadei de ceas: a a a TCLKmin pDmax df = pCQ + pCLC + pInt + SU df (3.60)

De notat faptul c, fata de cazul de inexistenta a defazajului, df = 0, cnd a a comanda se face cu o perioad minim dat de relatia 3.57, prezenta defazajului a a a n de ceas pozitiv, prin relatia 3.60, comanda se poate realiza cu o perioad de ceas mai a mic, deci o frecventa mai ridicat (un efect benec al defazajului pozitiv! , vezi a a Exemplul 3.31).

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

489

Registru Intrare date

Registru

df >0 1 CLK df H

TCLK + df TCLK
1 df 2

Ri

CLC

Rj
CLK

CLK

t CLKi
CLK

t CLKj
Intarziere t dp Registru

2 CLK

a)
Registru Intrare date

t CLKi t CLKj
df <0 1 CLK 2 CLK df H 2

TCLK + df TCLK
1

Ri

CLC

Rj
CLK

CLK

t CLK

tCLK
Intarziere
dp

b)
5 Ri 4

t CLKi t CLKj
df =0 pD
max

Rj
i

Rk
j

Rm

Etapa

df =0
i

df =0 tCLK 3

tCLK j df

pD

t CLK
3
CLK

tCLK
3 1,5

max

df =0

t CLK k
3

Ri Rj

Rj Rk

2+4+0=6 7+2+0=9 111,1 MHz

1,5 1,5 4+2(1,5)=7,5 3 1,5 7+21,5=7,5 133,3 MHz

1,5

fmax

c)
Figura 3.87 Defazajul de ceas: a) defazajul de ceas pozitiv (poate generat de structuri la care coincide sensul uxului de date cu cel de aplicare al semnalelor de ceas); b) defazajul de ceas negativ (cele dou sensuri sunt opuse); c) exempicare de a utilizare a defazajului pozitiv pentru mrimea frecventei se sincronizare a ntr-o cale de date.

490

3.5. CIRCUITE REGISTRU

Defazajul de ceas negativ, df < 0. Defazajul negativ de ceas apare cnd a frontul activ se aplic ai la Rj i apoi la Ri , adic tCLKj < tCLKi . O astfel a nt s a de comand poate apare cnd sensul de aplicare al semnalelor de ceas este opus a a sensului de deplasare al datelor i s ntre registrele consecutive R i i Rj , pe traseul s de ceas, apare arzierea df , Figura 3.87-b . Relatiile pentru valoarea critic a nt a timpului de stabilizare H i a perioadei minime de ceas TCLKmin , se deduc prin s acelai rationament ca i pentru df > 0, sunt respectiv ( 3.59) i ( 3.60) cu diferenta c s s s a pentru calcul se introduce o valoare negativ pentru defazaj. Se observ c defazajul a a a negativ, raport cu cel pozitiv, este mai putin restrictiv pentru timpul de mentinere n H (poate avea valori mai mari care asigur o a nscriere corect a datelor), dar, a n schimb, mrete valoarea pentru TCLKmin (ceea ce poate o limitare sistemele de a s n vitez rdicat). a a concluzie, creterea defazajului pozitiv are ca efect micorarea perioadei minime In s s de ceas aplicabile dar poate duce la o degradare a nscrierii corecte (functionrii a sigure), pe cnd crterea defazajului negativ, valoare absolut, are ca efect mrirea a s n a a perioadei minime de ceas aplicabile dar cu o nbuntire pentru a at nscrierea corect. a Dar ntr-o cale de transfer de date ecare registru/bistabil R j , afar de primul n a i ultimul, realizeaz o etap cu urmtorul R k i o alt etap cu cel anterior Ri s a a a s a a (i < j < k). Considernd defazaj zero cele dou etape, la mrirea/micorarea a n a a s timpului de aplicare a semnalului de ceas tCLKj la registrul Rj se va genera un defazaj negativ/pozitiv etapa Rj Rk i un defazaj pozitiv/negativ etapa Ri Rj , n s n deci efectele care apar, prin aceasta, asupra perioadei de ceas aplicabile i asupra s functionrii sigure vor sensuri opuse cele dou etape. Rezult c modicarea a n n a a a timpului tCLKj , fr modicarea timpilor tCLKi i tCLKk , poate modica, sens aa s n contrar, valoarea minim, TCLKmin , aplicabil cele dou etape vecine Ri Rj i a a n a s Rj Rk . Aceast concluzie poate utilizat pentru o metod de optimizare global a a a a ,, a unei ci de date printr-o optimizare/modicare local (deskewing data pulses , a a ,, cycle stealing ); metod aplicabil cnd calea de date exist diferente mari a a a n a ntre valorile timpilor de propagare pD din dou etape consecutive, dar s concretizm a a a printr-un exemplu. Exemplul 3.31 Figura 3.87-c este prezentat un segment dintr-o cale de date, In cu cele trei registre Ri , Rj , Rk , cu specicarea timpilor de propagare maxim din ecare a etap din calea de date, prin ovale orizontale i prin ovale verticale, arzierile (considerate a s nt egale) de pe ecare traseu de aplicare a semnalelor de ceas. Frecventa maxim de ceas, a cu care se poate sincroniza aceast cale de date (considernd c registrele sunt identice, a a a cu pCQ = 2ns), este impus de etapa cu propagarea maxim, adic etapa Rj Rk unde a a a pDmax = 7ns + 2ns = 9ns, deci fmax = 1/9ns = 111.1M Hz. Dac numai timpul de aplicare al semnalului de ceas tCLKj , la registrul Rj , este micorat a s de la 3ns la 1.5ns, prin ajustarea arzierii de pe traseul respectiv, apare, conform relatiei nt 3.58, un defazaj pozitiv pentru etapa Rj Rk , 3ns 1.5ns = 1.5ns, i un defazaj negativ s pentru etapa Ri Rj , 1.5ns 3ns = 1.5ns. Aceasta nseamn, conform relatiei 3.60, c a a perioada minim de ceas aplicabil etapa Rj Rk poate micorat, 2ns+7ns1.5ns = a a n s a 7.5ns, iar etapa Ri Rj trebuie s e mrit, 2ns + 4ns (1.5ns) = 7.5ns, deci se n a a a ajunge la o egalitate ntre perioadele de ceas minime aplicabile cele dou etape vecine; n a rezult o frecventa maxim de comand fmax = 133.3M HZ (o cretere cu 19.98%). Prin a a a s micorarea timpului tCLKj de la 3ns la 1.5ns nu se afecteaz s a nscrierea corect a datelor a n registrul Rk ; etapa Rj Rk defazajul este pozitiv dar valoarea acestuia este mult mai n mic dect timpul maxim de propagare (df = 1.5ns < 9ns = pDmax ), deci nu devine critic a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

491

valoarea impus pentru H , vezi relatia 3.59. a Aceast modalitate de modicare local a a ntr-o cale de date, dar cu efect de optimizare global deoarece crete frecventa maxim pentru GCLK, depinde de posibilitatea de modia s a care circut a arzierii pentru a obtine un df ajustabil i evident, de variatiile de mediu n nt s (temperatur i tensiune). as

Reteaua de distributie a semnalelor de ceas. Multimea de trasee de la sursa de ceas general, GCLK, pn la punctele de aplicare a semnalelor de ceas pentru a a sincronizare formeaz reteaua de distribitie. Performantele care se urmresc, pentru a a o retea, i care sunt fundamentale pentru functionarea corect a circuitului sunt: s a timpul de propagare ( arzierea introdus) de la GCLK pn la punctele de aplicare, nt a a a adic sincronizarea; defazajul de ceas i puterea disipat. Exist dou modaliti, de a s a a a at structurare a unei retele: de arbore buerat i de arbore simetric. s Reteaua de distributie sub form de arbore buerat are, prin analogie o a structur de arbore, un traseu principal pornind din sursa de GCLK (rdcin) care a a a a ,, apoi se ramic pentru ecare registru, acestea ind frunzele , Figura 3.88-a. Pe a acest traseu de la rdcin la frunze se introduc buere care au rolul de amplicare i a a a s de izolare. Numrul de buere a nseriate depinde de sarcina capacitiv total (intera a conexiuni i punctele de sincronizare) ce trebuie comandat. Ieirea buferului trebuie s a s s genereze un curent sucient de arcare i descrcare al capacitilor a nc s a at ntr-un timp scurt pentru ca semnalele de ceas s prezinte fronturi abrupte necesare procesului de a sincronizare; acest cerinta impune ca buerul s aib o functionare de generator de a a a curent, rezistenta sa de ieire s e mult mai mare dect rezistenta conexiunilor retelei s a a comandate (restrictie ce poate ndeplinit relativ uor dac reteua de distributie este a s a realizat strat metalizat). Dar buerele sunt i principala surs de introducere de a n s a defazaj deoarece caracteristicile elementelor active din retea (buere) variaz mult a mai pronuntat raport cu caracteristicile elementelor pasive (interconexiuni) att n a datorit procesului de fabricatie ct i datorit mediului. a a s a Uneori pentru a micora rezistenta interconexinilor, i a uniformiza disipatia de s s putere pe toat suprafata de integrare, reteaua de distributie este realizat sub forma a a unei plase de trasee pe o suprafata ct mai mare, gur este prezentat, ca a n a a medalion, o structurare de principiu pentru o plas. Pentru reducerea controlat a a a puterii disipate reteaua de distributie sunt introduse porti care, comandate cu un n semnal de conditionare, pot s elimine alimentarea cu un semnal de ceas a anumitor a zone locale pentru anumite intervale de timp. A doua structur de retea de distributie pentru semnalele de ceas poate a considerat tot un arbore dar sub form de arbore simetric, echilibrat, avnd a a a forma de H sau X, Figura 3.88-b; evident ecare vrf H sau X se poate continua cu a un alt H sau X i acesta s se continue cu un alt H sau X .a.m.d. Bifurcarea traseelor, s a s din cel anterior, duce i la s njumtirea limii acestor trasee pentru ca propagarea a at at n semnalelor s se evite reexia punctele de bifurcatie. Aceast structurare realizeaz a n a a ca atingerea oricrei frunze s se fac prin trasee de aceeai lungime i sectiune, a a a s s obtinndu-se arzieri egale fata de GCLK, deci, teoretic, un defazaj de ceas nul. a nt In raport cu arborele buerat, arborele simetric H trebuie s comande o capacitate mai a mare deoarece traseele necesare sunt mai lungi. plus, arborele H este mai putin In potrivit pentru VLSI care au un layout mai putin simetric. Combinatia ntre cele dou tipuri de structuri pare a compromisul indicat: o retea H, pentru distributia a

492

3.5. CIRCUITE REGISTRU

Conditionare ceas local

Ceas local aplicat conditionat

Sursa externa ceas Plasa trasee distributie generala GCLK

D Q

Ceas local neconditionat

PLL

D Q

D Q

Ceasul general (GCLK)

Plasa partiala distrib. ceas

D Q

Ceas local neconditionat


DQ

a)
D Q

Ceas local aplicat conditionat


D Q

GCLK Conditionare ceas local DRIVER DRIVER DRIVER DRIVER


GCLK

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

GCLK

D R I V E R
DRIVER
GCLK

D R I V E R

GCLK

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

Conditia de aplicare semnal de ceas CLK

Ceas aplicat conditionat

b)

Figura 3.88 Modaliti de structurare a retelei de distributie pentru semat nalul de ceas: a) sub forma unei retele de arbore buerat; b) sub forma unei retele de arbore simetric H.

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

493

global de semnal de ceas, continuat din vrfuri cu retele buerate pentru distributia a a a local. a circuitele VLSI actuale reteaua de distributie a semnalului de ceas ajunge s In a comande zeci de mii de registre, deci a unei sarcini capacitive ce se apropie de 100cm! Intr-o retea de distributie de ceas ecare tranzitie schimb starea ecare nod ca a n pacitiv, spre deosebire de o retea combinational unde activitatea de comutatie a a elementelor este determinat de functia logic. Combinatia de sarcin capacitiv a a a a mare, CL , i frecventa ridicat determin o valoare ridicat pentru componenta dis a a a 2 namic a puterii disipate, VDD CL f ; la unele procesoare actuale mai mult de 30% a din puterea consumat se regsete puterea disipat reteaua de distributie a a a s n a n ceasului. Solutiile pentru reducerea componentei dinamice a puterii disipate sunt: 1 - micorarea tensiunii de alimentare (implementri la 1 VDD numai pentru alimentas a 2 rea retelei de ceas, prin aceasta degradarea performantei de vitez este nesemnica a tiv); 2 - micorarea capacitii echivalente totale, printr-o proiectare adecvat, (3 a s at a - micorarea frecventei se exclude deoarece viteza este o cerinta a majoritii cirs at cuitelor VLSI). De asemenea, pentru nealimentarea temporar local, exist porti a a a care comand conditionat aplicarea semnalului de ceas (vezi medalionul de la Figura a 3.88-b). Pentru circuitele VLSI actuale, care lucreaz la frecvente de peste 1GHz, rea alizarea distributiei semnalului de ceas i mentinerea puterii disipate limita de s n siguranta sunt dou aspecte ce ridic diculti. La valori f CLK > 1GHz, perioada a a at semnalului de ceas TCLK se micoreaz pn la valori care nu depesc timpul de s a a a as propagare, p poart , prin 10 poti logice, TCLK < 10p poart , iar mrimea defazajului a a a de ceas trebuie mentinut sub 30ps (1ps = 1012 s) [Friedman 01]. Obtinerea acestor mrimi reduse de defazaj ridic diculti datorit faptului c valorile arzierilor a a at a a nt semnalului de ceas au variatii greu de controlat. Aceste variatii greu de controlat ale valorilor arzierilor se datoreaz: 1 - procesul de fabricatie nu poate asigura o disnt a persie care s duc la obtinerea unor parametri cu abateri foarte strnse; 2 - variatiile a a a de mediu (temperatur, tensiune); 3 - utilizarea proiectare a unor modele cu o prea n cizie a nesatisfctoare pentru schemele echivalente de circuit. Pentru frecvente nc a a peste (1 2)GHz i efectul de linie de transmisie trebuie luat considerare, deci pe s n lng caracterul RC al sarcinii apare i componenta de inductivitate L rezultnd cara a s a acteristici de tip RLC. Caracterul RLC functionare modic puternic arzierea n a nt semnalului i puterea disipat (uneori aceasta poate chiar s descreasc). s a a a Pentru frecvente peste 1GHz structurarea retelei de distributie a semnalelor de ceas cuprinde, succesiune, urmtoarele trei componente: 1 - global, o retea pentru n a distributia semnalului GCLK, la care se conecteaz; 2 - regional, o serie de circuite de a compensare a defazajului (deskew circuits), ecare dintre acestea comand, printr-o a retea arbore echilibrat; 3 - local, o multitudine de buere ce alimenteaz punctele de a sincronizare de la registre. plus, paralel cu reteua global, GCLK, mai exist In n a a (separat) a o retea care distribuie un semnal GCLK etalon, dar arcarea acestei nc nc retele este mult mai mic dect cea a retelei globale. a a Reteaua global, GCLK, structurat ca un arbore H, distribuie semnalul de ceas a a de la PLL pn la circuitele regionale de compensare a defazajului. Pentru a minimiza a a efectele de cuplare capacitiv i inductiv as a ntre liniile adiacente de semnal i traseele s retelei GCLK, acestea, din urm, sunt complet ecranate prin plasarea a ntre linii de mas i de alimentare VDD . Componenta de compensare a defazajului care se bazeaz, as a

494

3.5. CIRCUITE REGISTRU

principal pe un sistem de reglare const din (1) un detector de faz, dintre semnalul n a a GCLK etalon i un semnal de reactie cules local. Semnalul diferenta de faz comand s a a digital o linie de arziere analogic a crei ieire se aplic la (2) un buer ce produce nt a a s a un semnal de ceas fr arziere i care se aplic la o (3) - retea arbore echilibrat ce a a nt s a alimenteaz buerele locale. De la un buer local se distribuie semnale de sincronizare a printr-o retea de porti comandate conditionat (deci se poate reduce puterea disipat a prin nealimentare temporar). a Toate sistemele electronice, fundamental, sunt de natur asincrone, totui printr-o a s precis inserare a unei relatii de temporizare local realizarea functiilor i utilizarea a a n s elementelor de memorare un sistem asincron poate adaptat s aib o functionare a a sincron. Atta timp ct relatia de temporizare local este a a a a ndeplinit (sincronizarea), a modul de abordare sincron poate aplicat, implementarea de sisteme, controlabile functionare, este posibil. Oricum, sistemele sincrone vor a mult timp modul n a nc comun de implementare pn vor ceda locul implementrilor asincrone(care, prina a a n cipiu, pot obtine viteze de procesare mai ridicate). Exemplul 3.32 Pentru circuitul din Figura 3.89-a, raport cu sensul de transfer n prin poarta C etapa D1 D2 , semnalul de ceas se aplic: a - acelai sens; b - sens opus. n a n s n Pentru aceste dou variante de aplicare a semnalului de ceas s se calculeze lungimea maxim a a a a conductorului (lD1 D2 i lD2 D1 ) care asigur un transfer de date corect s a ntre bistabile precum i frecventa maxim a semnalului de ceas. Parametrii de timp pentru circuitele utilizate s a sunt dati Figura 3.89-b. Pentru viteza de propagare a semnalului se consider valoare n a vp = 20cm/ns.
7400 A "1" 74LS02 B "0" l=0 D 7474 7474 D

7400 C

Circuit
7400 74LS02 7474*

t pHL [ns]
11 10 10 14 22 20 25

t pHL [ns]
7 10 10 15 20

D1

Q "1"

D2
l=0

Min Tipic Max Min Tipic Max

CLK

lD D

CLK

1 2

20 40

lD2D1

SU=20 [ns] , H =5 [ns]

Figura 3.89 Explicativ pentru exemplul 3.32 a

Solutie. Valorile maxime i minime ale timpilor de propagare pentru transferul D 1 D2 s prin poarta C sunt: pD1 D2 (LH)max = pCQ(LH)max + pC(HL)max = 25ns + 15ns = 35ns pD1 D2 (LH)min = pCQ(LH)min + pC(HL)min = 10ns + 7ns = 17ns pD1 D2 (HL)max = pCQ(HL)max + pC(LH)max = 40ns + 22ns = 62ns pD1 D2 (HL)min = pCQ(HL)min + pC(LH)min = 10ns + 11ns = 21ns de asemenea pentru transferul D2 D1 prin portile A i B se calculeaz: s a pD2 D1 (LH)max = pCQ(LH)max + pA(HL)max + pB(LH)max = 25ns + 15ns + 20ns = 60ns pD2 D1 (LH)min = pCQ(LH)min + pA(HL)min + pB(LH)min = 10ns + 7ns + 10ns = 27ns

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

495

pD2 D1 (HL)max = pCQ(HL)max + pA(LH)max + pB(HL)max = 40ns + 22ns + 20ns = 82ns pD2 D1 (HL)min = pCQ(HL)min + pA(LH)min pB(HL)min = 10ns + 11ns + 10ns = 31ns Pentru cele dou variante a i b aplicnd relatiile (3.59) i (3.60) se obtin respectiv valorile a s a s lungimilor maxime i frecventei maxime. s a) tCLKD1 < tCLKD2 dfD1 D2 > 0, dfD2 D1 < 0, |dfD2 D1 | = dfD1 D2 dfD1 D2 max pD1 D2 (LH)min H = 17ns 5ns = 12ns; lD1 D2 max 12ns 20cm/ns = 2.4m Defazajul negativ dfD2 D1 = 12ns pentru transferul D2 D1 nu pericliteaz a nscrierea corect a datelor D1 , dimpotriv ajut! a n a a TCLKD1 D2 min pD1 D2 (HL)max + SU dfD1 D2 = 62ns + 20ns 12ns = 90ns Iar pentru transferul D2 D1 prin portile A i B se calculeaz s a TCLKD2 D1 min pD2 D1 (HL)max + SU dfD2 D1 = 82ns + 20ns (12ns) = 114ns deci frecventa maxim fmax 1/114ns = 87.71M Hz este limitat de acest transfer. a a

b) tCLKD2 < tCLKD1 dfD2 D1 > 0, dfD1 D2 < 0, |dfD1 D2 | = dfD2 D1 dfD2 D1 pD2 D1 (LH)min H = 27ns 5ns = 22ns; lD2 D1 max 22ns 20cm/ns = 4.4m a nscrierea Defazajul negativ dfD1 D2 = 22ns, pentru transferul D1 D2 ajut la corect a datelor bistabilul D2 . a n TCLKD2 D1 min pD2 D1 (HL)max + SU dfD2 D1 = 82ns + 20ns 22ns = 80ns Iar pentru tansferul D1 D2 prin poarta C se calculeaz a TCLKD1 D2 min pD2 D1 (HL)max + SU dfD1 D2 = 62ns + 20ns (22ns) = 104ns deci frecventa maxim fmax 1/104ns = 96.153M Hz este limitat de acest transfer. a a Frecventa maxim, pentru cazul cnd bistabilele D1 i D2 se comand sincron, este a a s a xat de transferul cel mai lung TCLKmin pD2 D1 (HL)max + SU = 82ns + 20ns = 102ns, a fmax 98.039M Hz.

3.6

MEMORIA CU ACCES ALEATORIU

Circuitul RAM (Random-Access-Memory), ca i circuitul ROM (2.4.6), este un s suport pentru stocarea informatiei sub form de cuvinte binare. Spre deosebire de a ROM, la RAM, pe lng posibilitatea de citire a imformatiei, exist i facilitatea de a a as modicare a informatiei, adic de a nscriere. Referirea acestor circuite cu termenul de memorie reect o similitudine cu memoria natural. Totui, procesul de exa a s tragere/regsire a informatiei aceste circuite electronice, comparatie cu memoria a n n natural, este destul de diferit. La memoria natural se regsete o informatie pe a a a s ,, ,, baza unei mai mici informatii (un r ) care are o conexiune cu informatia cutat, a a deci un proces de asociere. aceeai abordare, putem spune c i circuitele ROM sau In s as RAM sunt o memorie pentru c regsirea unei informatii se face tot printr-o asociere, a a ,, acest r ind o adres, a locatiei unde a fost stocat informatia. Dar exist i a a a s circuite electronice la care regsirea informatiei se face prin asociere la aceasta a unei a informatii partiale, similar memoriei naturale, acestea sunt memoriile de tip asociativ [Stefan 00]. Termenul de memorie RAM exprim faptul c accesul la oricare locatie (random) a a se poate face fr nici o restrictie de timp indiferent care este adresa locatiei accesate; aa posibilitate care este evident i la circuitul ROM. Justicarea termenului de random as (aleator) este de nuanta istoric. Primele memorii cu citire i a s nscriere aveau accesul serial, adic accesul la o locatie nu putea realizat dect numai dup parcurgerea a a a

496

3.6. MEMORIA CU ACCES ALEATORIU

tuturor adreselor locatiilor anterioare; un exemplu curent de memorie serial este a caseta magnetic unde accesul la o anumit informatie (date, sunet sau imagine) se a a face prin derularea benzii pn la pozitia respectiv. Un alt exemplu de memorie a a a serial este registrul inel la care a nscrierea sau citirea unui bit se face prin recicularea cuvntului inel pn cnd pozitia din cuvntul respectiv ajunge s e transferat a n a a a a a a din ultima celul prima celul. La aparitia memoriei cu acces aleator, aceast a n a a caracteristic de accesare la oricare locatie ind un salt deosebit din punct de vedere a al vitezei de acces, raport cu memoriile cu acces serial, s-a imprimat denumire n n (abreviatia) RAM, care a devenit un termen utilizat exclusivitate. Denumirea n corect ar de memorie RWM (Read/Write Memory). a Spre deosebire de circuitul ROM memoria RAM este de tip volatil, adic la a ,, pierderea tensiunii de alimentare informatia stocat se volatilizeaz . Aceast vo a a a latilitate se datoreaz faptului c stocarea unui bit are ca suport zic o stare a unui a a circuit, stare ce dispare la nealimentarea circuitului, i nu prezenta sau absenta unui s element zic (fuzibil, diod, tranzistor) este suportul zic, cum apare la circuitul a ROM. Structurarea de principiu pentru memoria RAM poate realizat printr-o extena sie a celei pentru memoria ROM,Figura 2.49-a. La fel ca i la ROM se adopt, pe s a suprafata de Si, pentru memoria RAM, o form ptratic sau o form dreptunghi a a a a ular apropiat de un ptrat. De exemplu, pentru o memorie RAM de capacitate a a a 2n m biti (n biti de adrese i un cuvnt de date de m biti pe I/O), din cuvntul s a a de adresare, An1 An2 . . . A1 A0 , subcuvntul de n2 biti, An1 An2 . . . An1 +1 An1 , a se aplic decodicatorului DCDn2 : 2n2 pentru activarea liniilor de cuvnt, iar a a subcuvntul de n1 biti, An1 1 An1 2 . . . A1 A0 , se aplic pentru selectarea coloanelor, a a n1 + n2 = n, Figura 3.90-a . Valorile care duc la o form ptratic se calculeaz cu a a a a relatiile n2 = (n + k)/2, n1 + k = (n + k)/2; lungimea cuvntului de date, m, este a n general o putere a lui doi, m = 2k . Pe ecare linie de cuvnt activat prin una din cele 2 n2 ieiri de la DCDn2 : 2n2 a a s exist m 2n1 celule, adic linii (coloane) de bit, care formeaz 2 n1 cuvinte, ecare a a a cuvnt cu lungimea de m biti. La aplicarea subcuvntului de n 1 biti se selecteaz a a a simultan, din linia activat de DCD, m linii de bit, selectare care se poate realiza a cu un grup de m M U X2n1 : 1. Deoarece cele m linii de bit (celule) trebuie s e a att a nscrise ct i citite impune pentru cuvntul de date, D m1 Dm2 . . . D1 D0 , s a s a a poat aplicat la terminalele de I/O ambele sensuri. Acest dublu sens de transfer a n al datelor pe I/O impune pentru citire selectarea liniilor de bit s se realizeze cu un a grup de m M U X2n1 : 1; iar pentru nscriere selectarea s se realizeze cu un grup a de m DM U X1 : 2n1 ; practic selectrile pentru cele dou sensuri sunt incluse n a a a ntr-un grup de m (M U X/DM U X). Realizarea acestei duble selectri se bazeaz a a pe elemente care pot conduce ambele sensuri: tranzistoare de trecere sau porti de n transmisie. Transferul ambele sensuri, ale grupului m (M U X/DM U X), poate realizat n de m M U X2n1 : 1 cu o structur arborescent cu tranzistoare de trecere, Figura a a 2.35-b. Numrul tranzistoarelor de trecere pe oricare ramur, sensul de la I/O a a n la o linie de bit, sau sens invers, este egal cu n 1 . Aceast structur arborescent n a a a de M U X, cnd n1 are valoare ridicat, poate duce la valori mari pentru timpul de a a transfer al datelor la memorie, deoarece timpul de transfer pe o ramur a ntre linia de bit i I/O este proportional cu rezistenta echivalent a tranzistoarelor pe acea s a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

497

MATRICE DE CELULE( 2 n 2 xm2 n 1 ) Linii (coloane) de bit A (n1) A (n2) A D R E S E An An


1 +1

2n2 1

2n2 2 DCMn 2: 2n2 1 Linii de cuvant

An A0 C O N T R O L

1 1

m2 n11 m2n12 . . .

WE_L CS_L OE_L

..

WR_L I/OE_L

SELECTARE COLOANE (MUX/DMUX,Amplificatoare se sens, registru de linie,circuistica de inscriere)

. .
D (m1) D (m2) DATE DE INTRARE / IESIRE

.
D1 D0

a)

A n1 A n2 RAM (2 x m)biti D m1 A2 A1 A0 WE CS OE D2 D1 D0 C1 D m2 T3
n

Linie de cuvant

.
T4 C2

Linie de cuvant G D T C S

b)

c)

Linie (/coloana) dubla pentru fiecare bit

Linie / coloana de bit

d)

Figura 3.90 Memoria RAM: a) structurare de principiu cu o adresare bidimensional (prin linii de cuvnt i linii (coloane) de bit); b) simbol de reprezentare pentru a a s un circuit RAM; c),d) structurare de principiu respectiv pentru o celul static i a a s pentru o celul dinamic. a a

498

3.6. MEMORIA CU ACCES ALEATORIU

ramur. O alt variant care realizeaz valori mai reduse pentru timpul de transfer al a a a a datelor utilizeaz doar cte un singur tranzistor de trecere pe ecare traseu care duce a a n a la cele m 2n1 linii de bit, iar comanda acestor tranzistoare se obtine urma aplicri s subcuvntului An1 1 An1 2 . . . A1 A0 la un DCDn1 : 2n1 . Fiecare din cele 2n1 ieiri a ale DCD va comanda m tranzistoare de trecere, ceea ce poate constitui o arcare nc ridicat. De asemenea, numrul de tranzistoare necesar pentru selectarea coloanelor a a s de bit este (m + n1 )2n1 ; m2n1 tranzistoare de trecere i n1 2n1 tranzistoare pentru circuitul decodicator. Se pot concepe i variante hibride s ntre aceste variante cum ar : arbori partiali cu un numr p de tranzistoare, p << n 1 , apoi ecare arbore partial a nseriat cu un tranzistor de trecere comandat de la ieirea unui DCD(n 1 p) : 2(n1 p) s poate duce la valori rezonabile pentru timpii de acces i numrul de tranzistoare [Kang s a 96]. Dimeniunea memoriei RAM structurat cu o adresare bidimensional, cnd a a a n1 n2 n/2, deoarece k are valori mici 4, m = 1, 4, 8, 16 se poate calcula cu relatia 2.16, rezult O(2n ). a n Semnalele de control pentru memoria RAM sunt: selectare circuit CS L (Chip a s Select), validarea ieirii OE L (Output Enable), care sunt prevzute i la memoria s ROM, plus semnalul de validare a nscrierii WE L (Write Enable). Structurarea anterioar a memoriei RAM, plecnd de la memoria ROM, se reect i semnalele a a a s n de control; o memorie RAM (static) poate privit ca o memorie ROM a a nzestrat a cu facilitatea de nscriere. ntr-o celul a matricei RAM se obtine, interiorul a n Semnalul de nscriere WR L circuitului, pa baza conjunctiei a dou semnale exterioare: cel de validare a a nscrierii i cel de selectare a circuituluiW R L = W E L CS L. Pentru o s nscriere corect a a unui cuvnt de date, Dm1 Dm2 . . . D1 D0 , a ntr-o locatie determinat de cuvntul de a a adres, An1 An2 . . . A1 A0 , trebuie respectat cu strictete o secventialitate aplia a n carea semnalelor de control; ai se aplic cuvntul de adres, apoi cuvntul de date nt a a a a i ambele trebuie s e stabile momentul apicrii frontului activ al semnalului ins a n a tern de nscriere W R L. Deoarece semnalul W R L se obtine din conjunctia celor s n s dou semnale externe CS L i W E L trebuie luate considerare i durata intera valelor de activare ale acestora raport cu valorile satbile al cuvntului de date i n a s ale cuvntului de adres, aceste restrictii vor explicate sectiunea urmtoare. a a n a Citirea unui cuvnt de date din matricea RAM, la fel ca i la ROM, este mai a s putin exigent fata de stabilitatea adresei momentul activrii semnalului intern a n a de validare a ieirii I/OE L (I/O Enable); schimbarea adresei cnd I/OE L = 0 s a (activ) nu va produce o modicare greit matricea RAM ci doar, eventual, citirea s a n s altei locatii. Semnalul intern I/OE L pentru validarea buerelor de ieire TSL se obtine prin urmtoarea conjunctie I/OE L = CS L W E L OE L. Pentru citire se a aplic cuvntul de adres, se activeaz semnalele de control selectare circuit, CS L, de a a a a a s validare ieire OE L, iar cuvntul citit se obtine la ieire prin buerele TSL. Activarea s semnalului de nscriere WE L=0, va trece buerele de ieire starea HZ (deci se s n exclude probabilitatea citirii unei locatii); buerele de intrare nu trebuie comandate deoarece un cuvnt de date nu poate a nscris dect atunci cnd se comand operatia a a a de nscriere prin semnalul de nscriere, WE L=0. Celula de memorie RAM poate cu o functionare static sau dinamic. Celula a a RAM static este de fapt o celul bistabil care prin cele dou stri ale sale poate a a a a a stoca bitul 0 sau 1. Ca celul bistabil poate un latch sau un bistabil. Se prefer a a a totui celula pe baz de latch, Figura 3.90-c, pentru c necesit mai putine compos a a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

499

nente dect un bistabil deci se pot realiza memorii de capacitate mai ridicat. Dar a a utilizarea unui latch loc de bistabil, de exemplu de tip D, prezint dezavantajele n a de transparenta i de functionare asincron; memoria RAM avnd consecint s a a n a functionare asincron. (Asincronismul trebuie privit prin faptul c aplicarea sem a a nalelor de control nu sunt raportate la aparitia semnalului semnalului de ceas). Ac cesul la un latch dintr-un nod se realizeaz prin dou tranzistoare de trecere T 3 , T4 a a comandate de potentialul liniei de cuvnt care trece prin acel nod. Cele dou tanzis a a toare conecteaz latch-ul, pentru realizarea operatiilor de citire i a s nscriere, la dou a linii de bit notate cu C1 i C2 , deci pentru ecare nod exist nu una ci dou linii de s a a bit. Exist variante cu o singur linie de bit dar implementrile uzuale sunt cu dou a a a a linii de bit deoarece operatiile de nscriere i citire sunt mult mai sigure. Latch-ul s dintr-un nod comandat prin tranzistoarele de trecere T 3 i T4 poate comparat cu s latch-ul cu ceas, Figura 3.40-a; semnalul de pe linia de cuvnt la o celul de memorie a a ar echivalentul semnalului de ceas al latch-ului cu ceas care valideaz portile 3 i a s 4 pentru aplicarea intrrilor de date R i S (la celula de memorie se accept dou a s a a inversoare loc de porti pentru creterea numrului de biti integrati pe suprafata de n s a Si). Celula RAM dinamic, Figura 3.90-d, are ca suport pentru memorarea bitului 1 a sau 0 prezenta sau absenta unei sarcini pe un condensator C realizat ecare nod al n matricei. Condensatorul este conectat la linia de bit printru-un tranzistor de trecere T care este comandat pe poart de ctre potentialul aplicat pe linia de cuvnt. Deoarece a a a sarcina cu care este arcat condensatorul C, corespunztoare memorrii bitului 1, nc a a se micoreaz timp prin curentul rezidual al tranzistorului T se impune refacerea s a n (re mprosptarea) acestei sarcini prin re arcarea condensatorului; general timpul a nc n dup care se impune re arcarea este de ordinul ms. Denumirea de celul dinamic a nc a a s-a acceptat prin similitudinea functionrii cu cea a circuitelor dinamice, dar de data a acesta nu se utilizeaz o capacitate parazit a circuitului ci aceast capacitate C este a a a implementat ecare nod a n mpreun cu tranzistorul T . a Parametrii care se analizeaz pentru compararea circuitelor de memorie sunt: 1 a - costul/bit, care este direct legat de densitatea de integrare (numrul de biti pe a unitatea de suprafata de Si); 2 - timpul de acces, care determin viteza de lucru a a circuitului; 3 - puterea disipat. Comparativ, memoriile RAM statice realizeaz a a viteze mult mai bune de ordinul ns (pot ajunge pn la 2ns timp de acces) fata a a de cele dinamice care se situeaz domeniul zeci de ns, in schimb memoriile RAM a n dinamice au performante superioare ceea ce privete puterea disipat i densitatea n s as de integrare.

3.6.1

Memoria RAM static a

Memoria cu acces aleatoriu static, SRAM, utilizeaz ca celul de memorie un a a a latch; inversoarele latch-ului pot cu sarcin rezistiv (realizat polisiliciu) sau a a a n cu sarcin activ (tranzistoare cu canal initial, Figura 1.54-a, sau cu tranzistor coma a plementar, Figura 1.33-a). functie de existenta sau neexistenta unui tranzistor In de sarcin, structura inversorului, celula static de memorare dintr-un nod al maa n a tricei poate format respectiv din 6 sau 4 tranzistoare (sunt incluse i cele dou a s a tranzistoare de trecere prin care se conecteaz la linia de bit); de unde denumirea de a celul 6T-SRAM sau 4T-SRAM. Practic, actual, majoritatea implementrilor VLSI a a

500

3.6. MEMORIA CU ACCES ALEATORIU

de memorii SRAM se bazeaz pe o celul 6T-CMOS; aceat impunere a memoria a a ilor CMOS-SRAM raport cu alte implementri SRAM se datoreaz urmtoarelor n a a a avantaje: 1 - putere redus (puterea disipat regim stationar este practic nul, dea a n a terminat doar de curentul rezidual prin inversoarele CMOS); 2 - imunitate ridicat la a a zgomot, relatia 1.19, deoarece admite margine de zgomot de valoare ridicat, relatia a 1.18; 3 - posibilitatea de functionare ntr-o larg plaje de tensiuni de alimentare (mai a ales la tensiuni reduse). Dezavantajele memoriei CMOS-SRAM sunt: 1 - consum mai ridicat de suprafata pe aria de Si; 2 - proces tehnologic mai complex; 3 - tendinta de ,, aparitie a fenomenului de zvorre (vezi sectiunea 1.6). Prin tehnologiile actuale cu a a multiple straturi de polisiliciu i multiple straturi de metal (pentru realizarea conexs iunilor) se reduce dezavantajul consumului mai ridicat de suprafata. Implementrile a de putere i tensiune redus utilizeaz o celul 6T-CMOS, consecinta continuare s a a a n n se va analiza structurarea i functionarea memoriei cu o astfel de celul. O astfel s a de structurare este prezentat Figura 3.91-a cu o celul 6T desenat la intersectia a n a a liniei de cuvnt j (activat de ieirea j a decodicatorului de linii, DCDn 2 : 2n2 , a a s Figura 3.90-a) cu coloana de bit i (compus din cele dou coloane de bit C 1 , C2 ) care a a este selectat prin cuvntul An1 1 An1 2 . . . A1 A0 aplicat grupului de MUX/DMUX. a a Operatia de citire a celulei. Se consider c celula este a a nscris starea logic a n a 0 care, prin conventie, corespunde valorilor de tensiune: nodul 1 , V1 = 0V , deci n T1 conduce, T5 blocat; iar nodul 2 , V2 = VDD , T2 blocat, T6 conduce. La actin varea liniei de cuvnt j, cu o tensiune VDD , tranzistoarele de acces T3 i T4 intr in a s a conductie conectnd liniile de bit C1 i C2 , care au potentialele VC1 = VC2 = VDD , a s la ieirile latch-ului. Datorit diferentei de potential s a ntre linia C 1 i nodul 1 , s prin tranzistorul T3 i T1 , condensatorul Ce1 , (capacitatea echivalent a liniei C1 ) s a se descarc producnd o mic scdere (maxim de ordinul sutelor de mV, deoarece a a a a capacitatea Ce1 este destul de mare) a potentialului VC1 , rezultnd o diferenta de a potential ntre cele dou linii V = VC1 VC2 < 0. timp ce VC1 scade putin, tensia In s a a a unea nodul 1 crete, tensiunea V1 nu trebuie s devin mai mare dect tensiunea n a a n de prag VpT2 (cnd T2 ar intra conductie), V1max VpT2 . Din aceast relatie, proiectarea latch-ului, rezult valorile pentru raporturile dimensiunilor (W/L)T 3 n a i (W/L)T1 , pentru care se poate realiza citirea fr comutarea latch-ului starea s aa n opus. a Amplicarea prima etap a diferentei V se realizeaz cu un amplicator de n a a sens, care, de fapt, este un latch ale crei ieiri sunt conectate la liniile de bit C 1 a s i C2 deci potentialele pe portile celor dou tranzistoare T 9 i T10 sunt egale cu s a s ncepe s descreasc, a a In a VC1 = VC2 = VDD . momentul cnd potentialul VC1 al liniei C1 i tranzistorul T11 este comandat conductie (prin selectarea coloanei), tranzistorul s n T10 este comandat nspre blocare, care prin reactie comand pe T 9 a nspre conductie realizndu-se astfel bascularea acestui latch-amplicator. Pe traseul T 9 , T11 , a nspre mas condensatorul Ce1 se descarc rezultnd o mrire a diferentei V C1 VC2 . Aceast a a a a a diferenta pronuntat de tensiune, dintre cele dou linii C 1 i C2 , rezultat urma a a s a n procesului de citire a celulei de memorie, se aplic prin intermediul tranzistoarelor de a trecere T14 i T15 pe intrrile amplicatorului de sens. s a Amplicatorul de sens (diferential) va genera (prin driverul de ieire TSL) un s semnal 0 logic pentru V < 0 i un semnal 1 logic pentru V > 0. Tranzistorul T 20 s este realizat cu o lungime de canal mrit pentru a avea o functionare de generator a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

501

COLOANA / (LINIE) DE BIT, i VDD

T7 LINIE DE CUVANT (j+1)

LINIE DE CUVANT j

.
1

PC Control preincarcare linii de bit : C 1 si C2

. .

. .

T8 WR_L D i WC1 WC2 Functia T12blocat

Celula SRAM 1 bit

. . .
VC
2

T13conduce VC L
2

T12conduce T13blocat VC L
1

VDD

T12blocat 1 0 0 T6 V2 2 T4 T13blocat VC ,VC H


! 2

VC C e1

. . .

T5 V1 T3 1

T1

. .. .

b)
Ce2 Amplificator de sens (diferential cu oglinda de curent) VDD 1/OE_L T19 T18

T2

C1 linie de bit

Celula SRAM 1 bit

Amplificator de sens (cu cuplaj incrucisat) T9 T10 T11

CIRCUITE PENTRU CITIRE

.
T12

De la selectare coloana de bit

. . . ...
T15 T16 De la selectare citire De la selectare citire T20 T14 WC1

C2 linie de bit

Di

T17

CIRCUITE PENTRU INSCRIERE

.
WC2

a)

De la selectare coloana de bit

.
T21

T13

WR_L

Figura 3.91 Memoria CMOS-RAM static: a) structurarea unei coloane dintra o matrice RAM. Pe lng structura unei celule sunt prezentate circuitele necesare a a operatiilor de nscriere i citire; b) tabelul de adevr pentru generarea semnalelor, de s a comand a liniilor de bit W C1 i W C2 , efectuarea operatiei de a s n nscriere.

502

3.6. MEMORIA CU ACCES ALEATORIU

de curent. Terminalele de substrat ale tranzistoarelor T 16 i T17 sunt conectate la s nodul de surs comun, i nu la mas, pentru a se evita variatia tensiunilor de prag a a s a ale acestor tranzistoare datorit polarizrii de substrat. Pentru aceste variatii mici a a V amplicatorul de sens diferential realizeaz un semnal de rspuns cu un timp de a a cretere de valoarea r 1ns (vezi Figura 1.15-a). s La citirea strii logice 1, a nscris celul ( nodul a n a n
1 , V1 = VDD , deci T5

a conduce, T1 blocat; iar nodul 2 , V2 = 0V , deci T2 conduce, T6 blocat) analiznd, n s similar, ca cazul anterior se genereaz V = V C1 VC2 > 0, iar la ieirea driverului n a TSL se obtine semnalul 1 logic. utilizarea memoriei SRAM poate apare cazul cnd se citete o celul de pe o In a s a coloan, a nscris 0 deci V < 0, iar citirea urmtoare este de la o celul tot de a n a a pe aceeai coloan, dar s a nscris 1 deci V > 0. Pentru aceste cazuri, pentru a a n citi corect i rapid, trebuie arcate, intervalul dintre cele dou citiri, cele dou s nc n a a capaciti echivalente Ce1 i Ce2 cu aceeai sarcin deci liniile C1 i C2 aduse la acelai at s s a s s potential. acest scop este introdus posibilitatea de egalizare (/pre arcare), PC, In a nc de aducere la acelai potential a liniilor de bit. s Operatia de nscriere celul. S considerm, ca i anterior, c valorile la n a a a s a ieirea latch-ului V1 = 0, V2 = VDD reprezint 0 logic, iar V1 = VDD i V2 = 0 s a s reprezint 1 logic. Pentru a nscrierea celulei de memorie starea 1 se aplic pe linia n a s de bit C1 potentialul VC1 = VDD i pe linia C2 potentialul VC2 = 0V , iar celula initial este starea zero. La activarea liniei de cuvnt j tranzistoarele T 3 i T4 intr n a s a n s a conductie, nodul 1 i pe poarta tranzistoarelor T2 , T6 se aplic VC1 = VDD , iar n s a nodul 2 i pe poarta tranzistoarelor T1 , T5 se aplic VC2 = 0V ; prin conexiunile n care realizeaz o reactie pozitiv starea inversorului din dreapta, cu T 2 blocat T6 a a n conductie, va trece starea cu T2 conductie i T6 blocat, iar inversorul din stnga n n s a va trece din starea cu T1 conductie i T5 blocat starea cu T1 blocat i T6 n s n s n conductie ceea ce reprezint a nscrierea strii 1 celul. Dac celula era starea 1, a n a a n aplicarea pe liniile de bit VC1 = VDD , VC2 = 0 nu produce bascularea latch-ului. In mod similar, dac pe liniile de bit C1 , C2 se aplic respectiv VC1 = 0V i VC2 = VDD , a a s iar celula era stare logic 1 se va produce bascularea celulei starea logic 0, iar n a n a dac era starea logic 0 nu se produce nici o modicare. a n a Aplicarea celor dou tensiuni de niveluri logice diferite pe cele dou linii de bit se a a realizeaz cu circuitele desenate partea de jos a gurii. Practic, pentru a n nscrierea 1, coloana C2 este conectat la mas prin tranzistoarele T 13 i T21 , iar pentru n a a s nscrierea 0 coloana C1 este conectat la mas prin tranzistoarele T 12 i T21 ; T21 n a a s intr conductie cnd coloana de bit j este selactat prin semicuvntul de adres a n a a a a An1 1 An1 2 . . . A1 A0 . Semnalele complementare W C1 i W C2 , care comand respecs a tiv tranzistoarele T12 i T13 , se obtin din valoarea bitului Di , a cuvntului de date, s a aplicat pe intrare pentru a nscris i din semnalul de s nscriere celul WR L, n a prin intermediul a dou porti NOR, conform tabelului de adevr din Figura 3.91-b. a a Tranzistoarele T12 , T13 i T21 trebuie s e dimensionate cu valori ridicate pentru ras a portul (W/L) pentru ca s forteze aproape la zero potentialele coloanelor operatia a n de nscriere. Semnalele W C1 i W C2 pot utlizate pentru comanda i a altor coloane, s s cazul nostru de 2n1 coloane (dar atentie la fan-out care crete mult!). n s Parametrii de timp pentru operatiile de citire i s nscriere memorie. n Pentru efectuarea corect a operatiilor de citire i a s nscriere semnlele care concur a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

503

(cuvntul de adres An1 A0 , cuvntul de date Dm1 D0 pe I/O i semnalele de a a a s control: validare nscriere WE L; selectare circuit CS L; validare ieire OE L, Figura s 3.90-b) trebuie s aib o anumit succesiune timp i sunt restrictionate de anumite a a a n s valori limit de timp. Aceste restrictii sunt impuse de a nscrierea latch-ului care are o functionare transparent. Semnalul intern WR L care a nscrie datele latch, i n s care determin durata de transparenta a latch-ului, se obtine ca o conjunctie a ntre semnalele de intrare, W R L = W E L CS L, deci acest semnal este activ L pe o n durat WP egal cu intervalul care ambele semnale de intrare sunt active. Latcha a n ul devine transparent la nceputul duratei WP , pe frontul H-L, i rmne stare s a a n de transparenta pn la frontul L-H. Pe durata de transparenta, WP , nu se impune a a pentru cuvintele de date i de adres aplicate s e stabile, dar este necesar ca acestea s a a s e stabile fata de frontul L-H, pe un interval SU a nainte i H dup; aceast restrictie s a a se va reecta denirea parametrilor de timp urmtori [Wakerly 00]. n a Operatia de citire memorie, Figura 3.92-a (semnalul de n nscriere se consider neactivat, WE L=H) a
An1

.A .

Adresa stabila

Adresa stabila

Adresa stabila max( ,ACS ) OH oz

CS_L WE_L=H OE_L D m1


0

ACS oz Date valide 0 Date

.D .
a)

OE
Date valide

valide

An1

.A .

Ciclu de citire controlat prin WE Adresa stabila CSW AS WP DS AH DH

Ciclu de citire controlat prin CS AS Adresa stabila CSW WP DS DH DH

CS_L WE_L

D m1

.D .

Date valide

Date valide

b)
Figura 3.92 Denirea parametrilor de timp pentru o memorie SRAM: a) nscriere pentru operatia de citire (WE L, inactiv); b) pentru operatia de

- AA , timpul de acces (fata de aplicarea adresei). Este intervalul de timp din momentul aplicrii la intrare a cuvntului de adres pn momentul cnd a a a a a n a cuvntul de date citit este valid la pinii I/O (se presupune c semnalul intern a a In a a a I/OE L a fost deja activat). exprimarea profesional cnd se refer la o memorie, de exemplu de 60ns se elege AA . nt

504

3.6. MEMORIA CU ACCES ALEATORIU

- ACS , timpul de acces de la selectarea circuitului. Este intervalul de timp din momentul aplicrii semnalului CS pn momentul cnd cuvntul de date citit a a a n a a este valid la pinii I/O (se presupune deja cuvntul de adres i semnalul OE a a s c au fost aplicate i sunt stabile). general AA = ACS dar nu i cazul a s In s n circuitelor la care neactivarea semnalului CS introduce circuitul regimul de n ateptare (standby), Figura 2.49-a. s - OE , timpul de validare a ieirii. Este intervalul din momentul care ambele s n semnale OE i CS sunt activate (care genereaz semnalul intern I/OE) pn s a a a cnd driverele de ieire TSL trec starea de functionare normal; OE < ACS . a s n a - OZ , timpul de devalidare a ieirii. Acest parametru caracterizeaz trecerea s a n regim de HZ a driverelor TSL; este intervalul de timp din momentul dezactivrii a semnalelor OE i CS pn cnd driverele TSL ajung HZ. s a a a n - OH , timpul de mentinere a datelor. Specic intervalul de timp care cuvtul a n n citit mai poate rmne valid la I/O dup ce cuvntul de adres, al locatiei de a a a a a unde s-a citit, a fost anulat. Operatia de nscriere memorie, Figura 3.92-b n - AS , timpul de stabilizare a adresei. Specic cu ct timp a a nainte de aplicarea semnalului de nscriere (generat prin conjunctia CSWE) cuvntul de adres a a trebuie s e stabil. a - AH , timpul de mentinere a adresei. Specic ct timp dup aplicarea semnalu a a a lui de nscriere cuvntul de adres mai trebuie s nu se modice. AS i AH a a a s determin, pentru a nscriere, intervalul interzis , centrat pe frontul de nscriere care bitii cuvntului de adres nu trebuie s se modice. n a a a - DS , timpul de stabilizare a datelor. Specic cu ct timp a a nainte de frontul activ a al semnalului de nscriere, WR L, datele aplicate pe teminalele I/O trebuie s e stabile. - DH , timpul de mentinere a datelor (nemodicate dup frontul de a nscriere). DS i DH , la fel ca i AS i AH pentru adrese, determin pentru date intervalul s s s a interzis , centrat pe frontul de nscriere care bitii cuvntului de date nu n a trebuie s se modice. a - CSW , timpul de stabilizare pentru CS. Specic cu ct timp a a nainte de frontul de nscriere semnalul CS trebuie s e stabil. a - WP , limea palierului semnalului de at nscriere. Specic cu ct timp a a nainte de frontul de nscriere trebuie s se aplice semnalul WE. De fapt transparenta a latch-ului, dup cum s-a spus, este determinat de durata palierului semnalului a a WR (generat prin conjunctia CS L W E L). Considernd c aceste dou sem a a a nale sunt dezactivate simultan atunci se pot distinge dou cicluri de a nscriere: controlat prin WE sau controlat prin CS, dup cum WE L este activat ultimul a sau CS L este activat ultimul.

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

505

Din analiza functionrii memorie SRAM i din prezentarea parametrilor se observ a s a c operatiile de a nscriere i de citire sunt asincrone (aparitia lor nu este determinat de s a un semnal de ceas). De aceast observatie trebuie inut cont cnd o memorie SRAM a t a este introdus a ntr-un sistem care exist alte componente (registre, numrtoare, n a aa ASM) care au o functionare sincron. a

3.6.2

Memoria RAM dinamic a

Principala caracteristic ce a impus pentru capaciti de stocare mari, chiar Gb a at (1G = 109 ), memoria dinamic, DRAM, este densitatea ridicat de integrare ce a a se poate obtine cu acest tip de memorie dei prezint circuistic suplimentar fata s a a a de SRAM. Exist variante de DRAM care se bazeaz pe celule de memorie compuse a a dintr-o capacitate de stocare i 1,3 sau 4 tranzistoare, dar, evident, s-a generalizat s structura de DRAM care prezint ecare nod al matricei celul doar un singur a n a tranzistor, notat prin 1-T DRAM; numai structura bazat pe aceast celul se va a a a a prezenta. ai se va prezenta modalitatea de realizare a proceselor de Int nscriere i de s citire/regenerare la nivelul unei celule dintr-o matrice de memorie iar, apoi, modul de comand, al operatiilor de a nscriere i citire/regenerare la nivel de circuit DRAM, s prin aplicarea la pinii circuitului a semnalelor: de control, adres i date. as
PC LW255

LWO Decodificare linii

. . . C255 . . . LW128 C

LW127

. . .... .. .. .. .. .. .. .. ..
C C C C . . . C254 . . . C C C

. . . .

. . . .

. . . .

. . . .

. . .. . .. .. .. .. .. .. .. ..
C C C C . . . C1 . . . . . . C0 . . . C C

VDD / 2

Linie de cuvant LW j semicoloana inferioara semicoloana superioara Si O2 . . . . . . . . . Ci n+ D substrat Polisiliciu (poarta) Buffer Date de Iesire 1 D0 n+ G Ce VSS LW i

Linie de biti, i Ci

C VSS VSS . . . . S . . . .

ampl.latch si ampl. de sens 1 D in Buffer Date de Intrare

a)

.. .. .

ampl.latch si ampl. de sens

ampl.latch . . . . si ampl. de sens . . . .

.. ..

ampl.latch si ampl. de sens

Polisiliciu (placa condensator)

b)

Selectare coloane

Figura 3.93 Memoria DRAM:a) structurarea de principiu a unei matrice de dimensiune 256 linii 256 colone; b) structura unei celule de tipul 1-T i layout-ul s corespunztor a

Se consider o matrice de 256 linii de cuvnt (LW 255 , . . . , LW1 , LW0 ) i 256 a a s coloane/ linii de bit (C255 , . . . C1 , C0 ), Figura 3.93-a. ecare nod al matricei In

506

3.6. MEMORIA CU ACCES ALEATORIU

(256 256), celula const dintr-un tranzistor nMOS i un condensator C, Figura a s 3.93-b. Condensatorul de stocare C se realizeaz a ntre zona difuzat n + din substrat, a ca surs a tranzistorului, i o plac din polisiliciu realizat deasupra stratului de SiO 2 , a s a a conectat la mas (VSS ). a a Intr-un nod ji al matricei, conectarea condensatorului C la coloana de bit Ci prin intermediul tranzistorului nMOS, se realizeaz prin actia varea (VDD ) a liniei de cuvnt LWj . Prin aceast conectare sunt puse paralel a a n dou capaciti de valori sensibil diferite: capacitatea C de stocare din nod (valori a at 30-10fF, 1fF=1015 F) i capacitatea echivalent Ce ( 300fF) a coloanei. Prin transs a ferul de sarcin a ntre cele dou condensatoare, cnd sunt puse paralel, deci prin a a n valoarea tensiunii rezultate pe coloana de bit, se pot realiza operatiile de nscriere, citire/regenerare. Inscrierea celulei din nodul ji cu bitul Din aplicat pe intrare se realizeaz a simplu. ai, se activeaz prin semicuvntul superior de adres aplicat la intrarea Int a a a decodicatorului de linii, linia de cuvnt LW j , apoi, prin semicuvntul inferior de a a adres, aplicat decodicatorului de coloan, se selecteaz coloana de bit C i , iar pe a a a acest coloan se aplic valoarea bitului de intrare, D in , deci prin tranzistorul a a a n conductie T din nodul ji se ncarc condensatorul cu sarcin zero (pentru D in =0) a a sau la potentialul VDD (pentru Din =1). Exist o paricularitate structurarea acestei matrice, ecare coloan de bit este a n a sectionat dou lungimi egale: semicoloana superioar, care cuprinde nodurile de a n a a intersectii cu liniile de cuvnt LW255 , . . . LW129 , LW128 i semicoloana inferioar a s a care cuprinde nodurile de intersectie cu liniile de cuvnt LW 127 , . . . LW1 , LW0 . a (Aceast sectionare explic de ce Figura 3.93-a numrul liniilor de cuvnt LW j a a n a a sunt alternate numrare corespunztor celor dou intervale: de la LW 0 LW127 cu n a a a LW128 LW255 .) Aceast sectionare a coloanelor apare i pe aria de Si prin realizare a s a dou subarii iar spatiul dintre acestea este implementat, corespunztor ecrei a n a a coloane de bit, cte un amplicator latch i un amplicator de sens diferential, Figura a s 3.94-a. ( aceast gur este desenat doar amplicatorul latch, circuitul complet In a a amplicator latch i amplicator de sens diferential sunt similare cu cele prezentate s Figura 3.91-a.) Fiecare din cele dou semicoloane (S superioar, I inferioar) n a a a este caracterizat de o capacitate electric echivalent, C eI ,CeS (CeI = CeS ). a a a In gur sunt prezentate pentru ecare semicoloan tranzistoarele i condensatoarele a a s din nodurile corespunztoare, care sunt comandate de semnale de la liniile de cuvnt a a LWj ; plus, sunt, pentru ecare semicoloan, introduse cte o celul martor. Cele n a a a dou celule martor de pe o coloan sunt, ca structur, identice cu cea a unei celule a a a din oricare nod dar au un condensator de stocare de valoare C/2, prezint pentru coa mand pe portile tranzistoarelor semnalele CM I i CMS , care nu sunt obtinute de la a s linii de cuvnt, iar potentialele punctele X i Y pot puse la mas prin intermediul a n s a a dou tranzistoare comandate prin semnalul de pre arcare, PC. a nc Citirea/regenerarea celulei. Aceast operatie este realizat, a a ntr-o succesiune temporal compus din trei faze, Figura 3.94-b. a a Faza 1 - pre arcare. Prin activarea semnalului de pre arcare, PC, capacitile nc nc at echivalente CeI i CeS ale semicoloanei superioare i inferioare de bit se s s ncarc la tena siuni (de nivel H) egale, iar potentialele punctele X i Y sunt xate la mas, Figura n s a 3.94-c. Este necesar aceast egalizare a potentialelor pentru cele dou semicoloane a a a deoarece dup o citire, pentru refacerea datei citite, semicoloanele vor fortate, a n urma comutatiei amplicatorului latch, una nivel H iar cealalt nivel L (vezi n a n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

507

Semicoloana inferioara LW 0 C

CMI C eI

....

LW 126 C

LW 127 C

. .

VDD PC

.
PC

CMS

X SC PC Ampl. latch

C eS

Semicoloana superioara LW 128 LW 225 LW 129

Y C

....
C

C/2

C C/2

a)
Preincarcare, PC Selectare linie LW Selectare celula martor CMI,CMS Selectare coloana SC

Celula martor

Celula martor

Faza1

Faza2

Faza3 VDD

Faza1

Faza2

Faza3

b)
Faza 1 LW 0 C Semicoloana inferioara LW 127 LW CMI C eI X C C C/2 SC PC

PC C eS

CMS

Semicoloana superioara LW 128 LW 129

....

126

Y PC VDD C/2 C C

....
C

LW 225

c)
Faza 2 Semicoloana inferioara LW 0 C LW 126 C LW 127 C

Celula martor CMI C eI X C/2 SC PC

Celula martor CMS C eS Y PC C/2 C C

Semicoloana superioara LW 128 LW 129

.... d)
Faza 3

....
C

LW 225

VDD Semicoloana inferioara CMI C eI X C C C/2 SC PC PC CMS C eS Y C/2 C C Semicoloana superioara LW 128 LW 129

LW 0 C

.... e)

LW 126

LW 127

....
C

LW 225

Figura 3.94 Realizarea ciclului citire/regenerare pe o memorie 1-T DRAM prin succesiunea a trei faze: a) structurarea unei coloane de bit a matricei cu 256 de noduri dou semicoloane egale separate printr-un amplicator latch i dou n a s a celule martor; b) succesiunea semnalelor de comand pentru cele trei faze; c) Faza a 1, pre arcarea coloanei de bit i descrcarea celulelor martor; d) Faza 2, activarea nc s a liniei de cuvnt, LW127 (= VDD ), i a celulei martor din semicoloana opus; e) Faza a s a 3, selectarea coloanei de bit, SCi (= VDD ), citirea celulei i regenerarea celulei din s nodul (127, i). (Partea de circuit care nu particip faza respectiv este desenat a n a a cu linie punctat) a

508

3.6. MEMORIA CU ACCES ALEATORIU

dup Faza 3). (Elementele din gur care nu sunt implicate realizarea acestei faze a a n sunt desenate cu linie punctat). a Faza 2 - activarea liniei de cuvnt i comanda celulei martor, Figura 3.94-d. Se prea s supune c prin aplicarea semicuvntului superior de adres la decodicatorul de linii a a a se activeaz linia de cuvnt LW127 (= VDD ) din semicoloana inferioar i semnalul a a as CMS (= VDD ) din semicoloana superioar. Dac celula de la intersectia coloanei i a a n cu linia de cuvnt LW127 era a nscris 1 logic, atunci potentialul semicoloanei inferioare va crete putin, iar potentialul semicoloanei superioare va scdea putin, pentru c cons a a densatorul C/2 al celulei martor se va arca; deci apare o diferenta de potential V nc (maximum cteva sute de mV) a ntre cele dou semicoloane, care se aplic a a ntre ieirile s amplicatorului latch. Iar dac celul era a n a nscris 0 logic potentialul semicoloanei inferioare va scdea mai mult dect al semicoloanei superioare, deoarece capacitatea a a celulei 127 este dubl fata de capacitatea celulei martor. Evident, prin conectarea a celulei la coloana de bit valoarea potentialului pe condensatorul C din nodul accesat se modic, deci o distrugere a nivelului de bit care era a nscris. Faza 3 - selectarea coloanei de bit, Figura 3.94-e. Prin aplicarea semicuvntului a inferior de adres la decodicatorul de coloane, semnalul pentru selectarea coloanei i a devine activ, SC (= VDD ), amplicatorul latch basculeaz fortand pentru semicoloana a inferioar potentialul VDD , deci condensatorul nodului (127, i) se re a ncarc cu 1 logic, a iar potentialul semicoloanei superioare de bit este fortat la mas. consecinta data a In stocat nodul (127,i), deteriorat ca nivel urma citirii, este regenerat, rezult a n a n a a c operatia realizat de citire este urmat automat de regenerare. Totodat, este a a a a comandat amplicatorul de sens diferential care va genera pe pinii de ieire bitul citit s celula nodului (127, i). continuare poate urma un nou ciclu de citire/regenerare, n In cu trei faze succesive, pentru alt nod. Faza 2, a ciclului de citire/regenerare, sarcina pe condensatorul de stocare In dintr-o celul este modicat dar este refcut Faza 3. Dar sarcina stocat pentru a a a a n a valoare logic 1 pe condensatorul C, dintr-o celul care nu este supus la un ciclu a a a citire/regenerare, se micoreaz (datorit curentului rezidual prin tranzistorul nMOS) s a a at dup un anumit interval de timp nu mai reprezint nivelul de 1 logic. Deci, dac nc a a a nu se efectueaz un ciclu de citire/regenerare se impune ca ecare celul a matricei sa a a e supus unei operatii de regenerare pentru refacere (refreshment) dup un a a anumit interval de timp (de ordinul ctorva ms). Ceea ce este, totui, avantajos, a s n acest proces de refershment, care complic structura i lucrul cu o memorie DRAM, a s const faptul c regenerarea nu se face pentru ecare celul parte ci simultan a n a a n pentru toate celulele din nodurile de pe o linie de cuvnt LW . Pentru matricea a anterioar de 256 linii 256 coloane, nivelul pentru bitul 1 nu este deteriorat, dac a a celula este regenerat la un interval de 4ms, ceea ce implic pentru ecare linie de a a cuvnt s e activat, LW = VDD , la un interval 4ms : 256 = 15625ns. Dac timpul a a a a de ciclu, pentru operatia de citire/regenerare a unei linii, este de 100ns, rezult c a a timpul consumat de o regenerare bloc a tuturor celulelor matricei, prin activarea n succesiv a celor 256 linii de cuvnt, este de 256 100 = 2.56 10 4 ns adic 0.64% a a a din 4ms; deci 99.36% din timp memoria poate folosit efectiv pentru operatiile utile a de scriere sau citire. La unele circuite DRAM trebuie aplicate din exterior comenzile pentru regenerare, la altele, avnd interior circuistica necesar, si autogenereaz a n a a procesul de regenerare; circuistica necesar const dintr-un numrtor care, dup a a aa a consumarea unui anumit interval de timp prestabilit, cazul anterior 4ms, genereaz n a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

509

prin numrarea sens direct/invers toate adresele liniilor de cuvnt. a n a Modalitatea de realizare a operatiilor de nscriere, citire/regenerare, sau regenerare separat, la nivel de circuit DRAM, prin aplicarea semnalelor din exterior depinde a de structurarea circuitului respectiv. O structurare de principiu pentru un circuit DRAM de 64Kbit este prezentat Figura 3.95-a. a n O particularitate functionarea unei memorii DRAM, care n nuenteaz struc a turarea sa, rezult din timpul necesar pentru accesarea unei linii de cuvnt care a a este mult mai lung dect timpul necesar pentru accesarea unei coloane de bit. a In consecinta, se poate accesa o celul a matricei aplicnd ai semicuvntul de adresare a a nt a superior la decodicatorul pentru liniile de cuvnt i numai dup aceea se aplic a s a a semicuvntul inferior pentru generarea selectiei de coloan, deci o adresare doi a a n pai: ai linia (care necesit un timp de acces mai lung)i apoi coloana. Neaplicarea s nt a s simultan a celor dou semicuvinte a determinat ca limea magistralei de adrese a a at pentru o memorie de capacitate 2n biti s nu e de n biti ci de n/2 biti. Aceasta a explic de ce capacitiile memoriilor DRAM sunt multiplu de patru; la creterea a at s (semi)cuvntului de adres cu un bit att numrul liniilor de cuvnt ct i numrul a a a a a a s a coloanelor de bit se dubleaz. Pentru memoria de 256 256 biti se aplic ai 8 a a nt biti la pinii de adres, care reprezint semicuvntul superior de adres, acest cuvnt a a a a a este nscris ntr-un registru latch pentru adresa de linie, iar prin intermediul decodicatorului de linii se activeaz una din cele 256 linii. a Inscrierea semicuvntului a n registru pentru adresa de linie se face pe frontul negativ al semnalului de strob a a linii, RAS L (Row Address Strob). Apoi, se aplic la pinii de adres alti 8 biti care reprezint semicuvntul inferior de adres iar acest cuvnt este a a a a nscris ntr-un registru pentru adresa de coloan; prin intermediul decodicatorului se activeaz o a a cale din grupul de MUX/DMUX pentru selectarea unei coloane matricea de celule. n Inscrierea registru pentru adresa de coloan se face pe frontul negativ al semnalun a lui de strob coloane, CAS L (Collumn Address Strob). Pe durata CAS L=0 buerul de ieire TSL este trecut din HZ starea de functionare normal. Mai exs n a ist a dou semnale de control: unul necesar numai pentru validarea operatiei de a nc a a n a a nscriere WE L iar cellalt (negurat aceast structur) pentru selectarea circuitului CS L. Citirea memoriei, Figura 3.95-a. Semicuvntul superior de adres, aplicat cu a a valori stabile pe pinii circuitului, este strobat/ nscris registrul pentru adresa de n a a linie pe frontul negativ al semnalului RAS L; se selecteaz linia corespunztoare din matrice iar continutul acestei linii este nscris ntr-un registru latch de linie. Apoi, dup ce semicuvntul inferior de adres aplicat pe pinii circuitului devine stabil acesta a a a este nscris registrul pentru adresa de coloan pe frontul negativ al semnalului de n a strob CAS L. Pe baza acestei adrese de coloan prin intermediul multiplexoarelor a este selectat bitul corespunztor, din cuvntul a a nscris temporar registrul latch de n linie, i aplicat pe pinul de ieire DO (buerul de ieire TSL este stare normal de s s s n a functionare att timp ct CAS L este activat). La dezactivarea semnalului RAS L, a a continutul din registrul latch de linie este re nscris (/regenerare) napoi linia de n cuvnt care a fost selectat, deci la sfritul operatiei de citire a unei locatii se reala a as izeaz regenerarea a ntregii linii care se a locatia respectiv citit. n a a a Operatia numai de regenerare a informatiei din ntreaga matrice este similar cu a cea de la citire cu diferenta c nu se mai comand selectarea coloanei (CAS L nu a a se activeaz, se a ncarc linia selectat registrul latch de linie i apoi se a a n s nscrie

510

3.6. MEMORIA CU ACCES ALEATORIU

Registru pentru adresa de linie

Decod. 8 linii 8:256 256 Matrice de celule 1TDRAM 256x256

A7 A0
RAS_L CAS_L WE_L

. .

Logica de control Adresa de coloana 8 Decod. coloana 8:256 256 control 256 Amplificatoere de sens, Registru latch de linie Multiplexoare si Demultiplexoare

Registru pentru adresa de coloana

a)
D0 CITIRE A11 A0 RAS_L CAS_L AO3 D0 0 WE_L=H DI Adr.de linie valida

. .

Adresa de linie valida

RAS

Adr.coloana valida ciclu

. .

HZ

CAS Date de iesire valide Devalidarea bufferului de iesire(TSL) Reinscriere liniei selectate

b)
INSCRIERE A11 A0 RAS_L CAS_L

Inscriere in reg. adr. de linie. Selectare linie. Inscriere in reg. latch de linie

. .

Se incarca registrul pentru adr. de coloana, se valideaza bufferul de iesire(TSL), bitul selectat se aplica pe pinul de iesire Adr.coloana valida ciclu

Adresa de linie valida

RAS

. AO . D0
3

CAS

.
Inscriere DI in reg latch de linie

Adr.de linie valida

WE_L Inscriere in reg. adr. de linie. Selectare linie. Inscriere in reg. latch de linie

Date de intrare valide

c)

Se incarca registrul pentru adresa de coloana, se selecteaza pozitia bitului ce trebuie inscris

Reinscriere liniei selectate

Figura 3.95 Circuitul de memorie DRAM: a) structurare de principiu pentru o memorie de 64Mb (4096 4096 4); succesiunea aplicrii cuvntului de adres, a a a a datelor de ieire/intrare i a semnalelor de control efectuarea operatiilor de citire/res s n generare (b) i de s nscriere (c).

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

511

napoi linia cu acelai continut). Se aplic succesiv toate adresele liniilor de cuvnt, s a a pe frontul negativ al semnalului RAS L continutul unei linii se nscrie registrul n latch de linie iar la dezactivarea acestui semnal continutul din registrul latch de linie este nscris napoi linia respectiv; intervalul de timp dup care o linie trebuie n a a re mprosptat este de ordinul ms. principiu, partea de re a a In mprosptare trebuie a s aib un circuit timer care s produc intervale de timp dup care trebuie pornit a a a a a a operatia de re mprosptare (Timer - un circuit numrtor prestabil, comandat cu o a aa frecventa stabil) i un numrtor ce genereaz succesiv toate adresele de linie. a s aa a Inscrierea memoriei. Succesiunea de selectare a locatiei din matricea de mem orie este similar ca la operatia de citire, dar semnalul WE L trebuie activat a naintea s a a n semnalului CAS L; pe durata RAS L=0 buerul de ieire TSL va rmne starea a nscris HZ chiar dac CAS L devine activ. Dup ce continutul liniei selectate a fost a registrul latch de linie (la fel ca la citire), pozitia din acest registru, determinat n a de selectare coloan, este a nscris cu bitul de intrare DI la activarea semnalului de a nscriere WE L. La dezactivarea semnalului RAS L se va nscrie linia de cuvnt n a continutul din registrul latch de linie dar cu valoarea bitului DI pozitia selectat. n a Un procedeu prin care se simpic procesul de re a mprosptare a memoriei este a cel referit prin CAS nainte de RAS (CAS before RAS). Aplicarea acestui procedeu necesit existenta unui numrtor interiorul circuitului de memorie care s genereze a aa n a succesiv adresele de linii de cuvt (se elimin astfel aplicarea din exterior a adreselor a a de linie). Dup cum i denumirea procedeului indic, se aplic semnalul CAS a s a a naintea semnalului RAS, este re mprosptat linia de cuvnt selectat de numrtor i, apoi, a a a a aa s se incrementeaz numrtorul. a aa La DRAM, ca i la SRAM, functionarea nu este dirijat de ceas, functionarea s a este de tip asincron i este xat prin fronturile H-L i L-H ale semnalelor de control s a s s RAS L i CAS L. Sintetic functionarea memoriei dinamice se compune din (parametrii de timp din paranteze corespund unei memorii actuate de 4MB): Adresarea liniei de cuvnt ( 50ns) a se aplic adresa de linie i se activeaz semnalul de strobare RAS L a s a ntregul continut al liniei selectate/citite este nscris registrul latch de n linie continutul liniei citite este deteriorat Adresarea coloanei ( 10ns) se aplic adresa de coloan i se activeaz semnalul de strobare CAS L a as a pentru coloana selectat bitul: a - la citire este transferat din registrul latch de linie la ieire, D O s - la nscriere este nscris cu valoare DI

Re mprosptare ( 30ns) a se nscrie napoi linie n ntreg continutul din registrul latch de linie Pentru o memorie dinamic principalii parametri din catalog sunt (valorile din a paranteze corespund pentru o memorie de 4MB):

512

3.6. MEMORIA CU ACCES ALEATORIU

RAC , este intervalul de timp minim de la frontul de activare a semnalului RAS L pn momentul cnd datele sunt valide la ieirea buerului TSL (60 ns). a a n a s Viteza unui cip de memorie este specicat prin aceast valoare (de acces). a a RC , este intervlul de timp minim din momentul (pornirii) accesrii unei linii de a cuvnt pn momentul accesrii liniei de cuvnt urmtoare, adic distanta a a a n a a a a mini-m, timp, a n ntre dou activri ale semnalului RAS L; este un timp de a a ciclu (110 ns). CAC , este intervalul de timp minim din momentul activrii semnalului se strob a a a s CAS L pn la obtinerea datelor valide la ieierea buerului TSL (15 ns). PC , este intervalul de timp minim din momentul (pornirii) accesrii unei coloane a pn momentul accesrii coloanei urmtoare; este un timp de ciclu (35 ns) a a n a a Urmtoarele valori reect dinamica memoriilor de tip DRAM: cretere de capaca a s itate+60%/an; cost -30%/an; densitatea de integrare 2.5celule/suprafata; creterea s suprafetei waferului de 1.5 ori 3 ani. n Memoria este o component foarte important sistemele de calcul, unde, din a a n ce ce mai mult, i se impune un volum mare de schimb de date unitatea de n n timp. Pentru creterea volumului schimbului de date se actioneaz: e prin mrirea s a a lungimii cuvntului cu care se lucreaz, e prin micorarea latentei memoriei (valorile a a s date anterior artau c timpul minim de acces consecutiv la liniile de cuvnt este a a a RC = 110ns) sau e, simultan, prin ambele modaliti. Exist diferite modaliti prin at a at care se obtine o latent micorat pentru memorie, amintim doar dou: accesarea tip a s a a pagin i accesarea tip cu ieirea de date extins EDO (Extended Data Out). Acestea as s a de fapt, realizeaz ct mai multe operatii pe o aceeai accesare a unei linii de cuvnt, a a s a astfel at operatiile s nu mai e o repetare de tipul CAS, RAS, CAS, RAS . . . . nc a Modul de accesare de tip pagin, prin adresa de linie, activeaz o a a ntreag paa gin/linie de cuvnt (poate pn la 8096 biti) i apoi prin schimbarea numai a a a a a s adresei de coloan, conjugat cu activarea semnalului CAS, poate accesa oricare celul a a a cuprins acea linie; trecerea la o alt pagin impune aplicarea noii adrese de linie i a n a a s reactivarea semnalului RAS. Succesiunea semnallor de strobare aplicarea adreselor n pentru o operatie modalitatea de acces tip pagin este: RAS, CAS, CAS, . . . , CAS; n a RAS, CAS, CAS, . . . . Modul de accesare tip EDO este de fapt tot o adresare de tip pagin numai c, a a dup cum i denumirea sugereaz, se extinde timpul ct datele sunt valide pe ieire. a s a a s De data aceasta se exclude activarea succesiv a semnalului CAS pentru ecare citire, a iar starea normal a buerului de ieire TSL este comandat de un semnal de validare a s a a ieirii, OE L. Deci datele, din registrul latch de linie, sunt valide la ieire ct timp s s a nceputul marcat de activarea semnalului CAS L pn a a OE L = 0, pe durata dintre la activarea urmtoare a acestui semnal. Pe aceast durat sunt generate succesiv a a a adresele de coloan ale bitilor stocati registrul latch de linie. a n Din prezentrile anterioare, att la memoria static ct i la cea dinamic, rezult a a a a s a a c functionarea acestor circuite este de tip asincron. Pentru integrarea lor a ntr-un ,, sistem sincron este necesar aducerii functionrii acelai timp /(sincronizarea) cu a a n s ceasul sistemului. modul sincron functionarea intern a circuitului de memorie In a rmne aceeai dar semnalele cu exteriorul (cuvntul de adres, semnalele de control, a a s a a datele de intrare) sunt citite/(eantionate) pe frontul pozitiv al semnalului de ceas i s s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

513

nscrise registre interne ale circuitului de memorie (aceste circuite registru interne n sunt componente ale interfetei de sincronizare); de asemenea datele de ieire sunt s generate sincron (pe durata dintre dou fronturi pozitive consecutive ale semnalului a de ceas). Circuitele de memorie SRAM, DRAM nzestrate cu aceste interfete de Sincronizare sunt referite respectiv prin abreviatiile SSRAM i SDRAM. s 3.6.2.1 Memoria DRAM sincron, SDRAM a

Integrarea unei memorii DRAM, a crei functionare de tip asincron este xat a a prin fronturile H-L i L-H ale semnalelor de control RAS L i CAS L, s s ntr-un sistem sincron, comandat de ceas, necesit o anumit circuistic de interfatare. Dar a a a n ultimii ani, aceast circuistic de interfatare a fost integrat pe aceli cip cu memoa a a s ria DRAM, iar pentru exterior (pentru utilizator) apare ca un circuit cu functionare sincron, pe baza unui semnal de ceas, circutul ind referit ca memorie dinamic Sina a cron, SDRAM. Pentru prezentarea organizrii, functionrii i comenzilor exterioare a a a s ale unei memorii dinamice sincrone s-a ales circuitul SDRAM 128Mb (32) (Micron Technology), care, cu anumite simplicri, poate utilizat ca un circuit generic. a Organizarea circuitului de capacitate 128Mb este prezentat Figura 3.96-a. a n Pentru circuitele DRAM de capacitate mare, datorit dicultilor de realizare a a at unei matrice ptratic de dimensiune ridicat, matricea este segmentat mai multe a a a a n submatrice, referite prin temenul de banc sau de plan; aceste bnci functioneaz a a a n paralel dar independent una de alta. Organizarea din aceast gur, de capacitatea a a 128Mb (227 =134 217 728 biti), este compus din patru bnci acoperind un spatiu de a a adresare de 4M adrese; numrul de 33 554 432 (225 ) biti dintr-o banc are ca suport a a o matric cu 4096 linii (A11 A0 ) i 256 coloane (A7 A0 ), la ecare locatie de la a s intersectia unei linii cu o coloan ind un cuvnt de 32 biti. Selectarea uneia din cele a a patru bnci se realizeaz cu bitii BA1 i BA0. a a s La nivelul de celul de stocare a ntr-o banc operatiile de citire, scriere, re a mprosptare se fac prin succesiunea semnalelor CAS, RAS i bitilor de intrare i ieire, a s s s la fel ca la memoria dinamic prezentat sectiunea anterioar, diferenta apare a a n a modul cum aceste semnale interne se obtin, prin circuistica de interfatare, din n semnalele externe aplicate la pinii circuitului de memorie sincron, deoarece acest a circuit are o functionare programat care este sub controlul semnalului de ceas, CLK. a Pe lng semnalul de ceas mai exist un semnal de validare a semnalului de ceas, a a a CKE, deci efectul de sincronizare se realizeaz numai cnd acest semnal este activ, a a CKE = H. Pe ecare front pozitiv al semnalului CLK, de frecventa maxim 166MHz, a s nregistrate blocul n semnalele externe de control CS L, WE L, RAS L i CAS L sunt de decodicare comenzi, cuvntul de adres A 11 A10 i bitii de adresare a bncilor a a s a BA1, BA0 sunt nscrii registrele de adrese, iar cuvntul de date DQ 31 DQ0 s n a este nscris registrul de date de intrare DQI (pentru n nscriere) sau este generat la ieirea registrului de date de ieire DQO (pentru citire) i, de asemenea, cuvntul s s s a masc DQM3 DQM0 , pentru datele de intrare/ieire este a s nregistrat. Pentru ecare byte din cuvntul de date intrare/ieire corespunde un bit cuvntul de mascare a s n a n felul urmtor: DQM0 pentru DQ7 DQ0 ; DQM1 pentru DQ15 DQ8 ; DQM2 a pentru DQ23 DQ16 i DQM3 pentru DQ31 DQ24 . Valoarea H a bitului de s mascare DQMi , constituie pentru byte-ul i corespunztor din cuvntul de date de a a intrare/ieire o masc, adic buerele de ieire sunt starea HZ deci nu se obtin date s a a s n

514

3.6. MEMORIA CU ACCES ALEATORIU

CLK CKE CS_L WE_L CAS_L RAS_L

. . . . . .

Logica de control Decodif. comenzi registru de mod 11 Numarator pentru reinprospatare 11 Banca0 Banca1

Banca3 Banca2 Interfatare 1/0 date

Mux adrese 11 de 11 linie

Banca 0 Latch adresa 4096 de linie si decodif.

Banca 0 Matrice de celule (4096x256x32) Amplif. de sens

.
Reg. date de iesire DQO

.
32

DQM 0 DQM 3

32

8192

A0A11 BA0 ,BA1

Registru de adrese

2 BA0 ,BA1 Nucleul memoriei

Logica de control pentru banci

Control 1/0 Logica mascare DOM Latch pt.citire date Drivere pt.inscriere

Latch/numarator pentru adresa de coloana

..

256 (x32) Decodificator coloana

32

Reg. date de intrare DQT

DQ 0 DQ 31

a)
Reg de mod
A10 A9 10 Rezervat M6 M5 M4 0 0 0 0 0 1 0 1 1 0 1 0 1 9 A8 8

Magistrala de adrese A7 A6 A5 A4 A3 7 6 5 4 3

A2 2

A1 1

A0 0

lungime adresa coloanei rafala de inceput A0 2

ordine de acces in rafala Succesiv(M3 =0) 01 10 Intretesut(M 3 =1) 01 10 0123 1032 2301 3210 01234567 10325476 23016743 32107654 45670123 54761032 674552301 76543210 Neimplementat

Latenta CAS Rezervat 1 2 3 Rezervat

Lungime rafala M2 M1 M0 M =0 M =1 3 3 0 0 0 0 1 1 M3 0 1 0 0 0 1 1 0 1 1 1 1 2 2 4 4 8 8 Neutilizate pagina 1 intraga neutilizat Tipul de rafala Succesiv Intretesut 1

A1 A0 4 0 0 1 1 A2 A1 0 1 0 1 A0 0123 1230 2301 3012 01234567 12345670 23456701 34567012 45670123 56701234 67012345 70123456

M9 0 1

Modul rafala pt. inscriere lungimea de rafala programata fara rafala M8 0 M7 M6M0 Definite

0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

b)

Modul de operare Operator standard Toate starile rezervate

c)

pagina n=A 0 A7 Cn, Cn+1,Cn+2, intreaga Locatii: Cn+3,Cn+4,.... (256) 0 256 ...Cn1,Cn,...

. .

. .

Figura 3.96 Memoria sincron DRAM: a) organizare de principiu pentru un a SDRAM de capacitate 4M 32 compus din patru bnci ecare de dimensiune a a 4096 256 32; b),c) modalitatea de programare, prin cuvntul a nscris registrul n de mod, a tipurilor de rafale pentru operatiile de nscriere i de citire. s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

515

de ieire iar datele aplicate pentru s nscriere nu vor stocate memorie; datele de n intrare/ieire vor valide pentru s nscriere/citire numai cnd valoarea testat a bitului a a respectiv de masc, DQMi , este L. Cnd cei patru biti de mascare sunt considerati a n a toti aceeai stare (H sau L), adic aceeai comand pentru toti cei patru bytes ai n s a s a cuvntului de date, sunt referiti comun prin notatia DQM. a n Pentru realizarea unei operatii de pre arcare, citire, nc nscriere sau re mprosptare a comenzile necesare se obtin din valorile semnalelor aplicate din exterior pe pinii cir cuitului, eantionate pe frontul pozitiv de ceas, dar aceste valori nu sunt interpretate s individual ci interpretate mpreun sub forma unui cuvnt de control; deci pentru a a SDRAM exist un cuvnt de control, extern, format din bitii CS L, WE L, CAS L, a a RAS L, un cuvnt de adresare format din bitii A11 A0 i BA1, BA0 i un cuvnt a s s a de mascare format din bitii DQM3 DQM0 . (Toate semnalele aplicate pe pini sunt compatibile LVTTL, VDD = 3.3V , vezi Figura 1.48-c.) Operatiile de citire i s nscriere sunt pipelinizate, adic pe ecare front al impulsului a de ceas se genereaz sau se a nscrie cte un cuvnt de 32 biti. Aceast pipelinizare este a a a realizat att la o accesare aleatorie a locatiilor ct i la o accesare de tip rafal a a a s a (burst) - accesarea pornete de la o locatie selectat continund apoi, fr s a a a a ntrerupere (rafal), cu un numr prescris de locatii a a ntr-o succesiune programat. Programarea a succesiunii, continut cuvntul de mod M 10 M0 , pentru modul de accesare de a n a tip rafal se realizeaz exterior i se a a n s nscrie, prin intermediul cuvntului de adres a a A10 A0 , registrul de mod, Figura 3.96-b; aceast programare se pstrez pn la n a a a a a o nou arcare cu un cuvnt de mod sau pn la anularea tensiunii de alimentare. a nc a a a Pipelinizarea cuvintelor de date pentru nscriere sau pentru citire este asigurat i de as existenta a patru bnci, selectate cu bitii AB1, AB0, care opereaz independent i a a s paralel; de exemplu timp ce n n ntr-o banc se realizeaz o operatie de a a nscriere n alta se initiaz o operatie de citire. a Pentru o succesiune de tip rafal a accesrilor, programarea prin cuvntul, a a a M10 M0 , nscris registrul de mod, prescrie urmtoarele caracteristici: lungimea n a rafalei, tipul de rafal, latenta CAS, modul de operare i modul de a s nscriere. Rafala este efectuat dup ce o linie de cuvnt dintr-o banc a fost activat i deci se realia a a a as zeaz numai prin activarea a ntr-o anumit succesiune a coloanelor( cadrul unei linii a n de cuvnt). a - Lungimea rafalei determin, prin subcuvntul M 2 M0 , numrul maxim de a a a locatii (de coloane) care sunt selectate pentru a accesate la o comand de a nscriere sau de citire. Pentru o lungime de 2 (locatii) a rafalei, M 2 M1 M0 = 001, este selectat, de pe linia activat, blocul de coloane cu lungimea 2, xat prin cuvntul de adres a a a A7 A1 , iar interiorul acestui bloc citirea sau n nscrierea pornete de la coloana s cu numrul 0 sau 1, xat prin valoarea lui A0 ; pentru o lungime a rafalei de opt a locatii, M2 M1 M0 = 011, este selectat un bloc cu lungimea de opt coloane xat prin cuvntul de adres A7 A3 iar interiorul blocului citirea sau a a n nscrierea pornete s de la coloana specicat de subcuvntul A2 A1 A0 . Pentru o lungime de o pagin se a a a pornete de la coloana de adres xat de cuvntul A 7 A0 , Figura 3.96-c. Dac s a a a a n cadrul blocului sau paginii respective se ajunge la adresa superioar de coloan se sare a a la prima adres de coloan dac nu s-au parcurs toate adresele (xate prin lungimea a a a programat a rafalei) din blocul sau pagina respectiv. Ordinea de parcurgere a a a adreselor, programat prin tipul de rafal, M 3 , poate mod succesiv sau mod a a n n ntretesut (ordinea ntretesut nu este permis la tipul de rafal pagin). a a a a

516

3.6. MEMORIA CU ACCES ALEATORIU

- Latenta CAS, programat prin M6 M5 M4 , xeaz arzierea, numr de tac a a nt n a turi de ceas, din momentul nregistrrii comenzii (frontul pozitiv al semnalului de a ceas) aplicat la pinii circuitului SDRAM pn momentul cnd cuvntul citit din a a a n a a memorie este disponibil ca dat valid de ieire, DQ 32 DQ0 ; latenta poate avea a a s valorile 1, 2 sau 3 tacturi de ceas. - Modul de operare standard, att pentru citire ct i pentru a a s nscriere. este xat prin subcuvntul M8 M7 = 00, alte valori pentru acest subcuvnt xeaz moduri de a a a operare pentru testare. - Modul de rafal pentru a nscriere. Cnd M9 = 0 att pentru a a nscriere ct i a s pentru citire se efectueaz rafal de lungime programat. Pentru M 9 = 1 se aplic a a a a rafal de lungime programat numai pentru citire, a a nscrierea nu se face mod rafal n a (se nscrie o singur locatie). a Pentru circuitul SDRAM se obtine cu ux continuu (pipeline) de date de intrare ( nscriere) sau de ieire (citire), cte un cuvnt de date, DQ 31 DQ0 , pe ecare tact s a a de ceas, indiferent dac accesarea coloanelor se face modul rafal sau aleatoriu; a n a aceast operare este programat prin aplicarea din exterior a cuvintelor: de comand, a a a de adres i de masc la pinii circuitului. Pe durata unui tact de ceas circuitul a s a realizeaz operatiile exprimate prin cuvintele aplicate din exterior la pinii circuitului, a nregistrate/eantionate pe frontul pozitiv al tactului respectiv de ceas. Continutul s acestor cuvinte i succesiunea lor timp, pentru realizarea anumitor operatii, se s n efecturaz exterior de ctre circuitul controller pentru SDRAM. continuare, se a n a In vor prezenta, pentru realizarea operatiilor pe o memorie sincron DRAM, cuvintele a de control. tabelul din Figura 3.97-a sunt sintetizate comenzile pentru un SDRAM de In capacitate 4M 32 biti. - Comanda INHIBARE (NOP). Prin aceast comand se elimin posibilitatea ca a a a circuitul s mai primeasc oricare alt comand, chiar dac semnalul de ceas CLK a a a a a este validat (CKE = H); dar operatiile curs pe care le efectueaz SDRAM sunt n a continuate. De fapt prin comanda INHIBARE este deselectat circuitul SDRAM, CS L = H. - Comanda Nici-o-OPeratie, NOP. Pentru SDRAM, care este deja selectat (CS L=0), comanda NOP face ca circuitul s nu accepte o alt comand; operatiile a a a curs sunt continuate (se introduce cnd se dorete doar consumarea unui timp). n a s - Comanda ARCARE REGISTRUL DE MOD (Load Mod Register). ContinuINC tul cuvntului de mod M10 M0 , vezi Figura 3.96-b, este arcat, din exterior, a nc n registrul de mod prin intermediul cuvntului de adres A 10 A0 . arcarea registrului a a Inc de mod se poate realiza numai cnd toate cele patru bnci nu sunt activate; dup a a a arcare o urmtoare comand pentru memorie se poate aplica numai dup intervalul nc a a a de timp M RD . - Comanda ACTIVARE. Pentru a realiza o operatie de citire sau nscriere de pe o linie dintr-o banc aceasta trebuie ai deschis (activat acea linie), iar aceast dea nt a a a schidere se realizeaz prin comanda ACTIVARE. Prin continutul cuvintelor BA1 BA0 a i A11 A0 , din momentul s nregistrrii/eantionrii comenzii ACTIVARE, este dea s a schis una din cele patru bnci (BA1 BA0) i acea banc o linie de cuvnt; apoi a a s n a a pot urma operatii de citire i/sau s nscriere la locatiile de pe linia deschis. Se im a pune un interval RCDmin din momentul nregistrrii comenzii ACTIVARE pn la a a a comanda unei operatii de citire sau nscriere. De exemplu, dac RCDmin = 20ns iar a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

517

frecventa la care se comand memoria este fCLK = 125M Hz (TCLK = 8ns) rezult a a c, raportat la frontul de ceas care a a nregistrat comanda ACTIVARE, urmtoarea a operatie de citire sau nscriere se poate aplica numai la al treilea front pozitiv de ces, RCDmin /TCLK = 3, Figura 3.97-b. Succesiunea cuvintelor de comnad gena erate de controllerul de memorie este: T0 - ACTIVARE; T1 - NOP; T2 - NOP; T3 READ/WRITE . . . Urmtoarea comand ACTIVARE, pentru deschiderea unei alte linii de cuvnt din a a a aceeai banc se poate aplica numai dup ce linia deschis anterior a fost s a a a nchis/dea zactivat (prin aplicarea unei operatii de pre arcare); se impune un interval minim a nc de timp RCmin ntre dou comenzi ACTIVARE consecutive. Dar o urmtoare coa a mand ACTIVARE la o alt banc se poate genera chiar cnd banca prezent este a a a a a deschis ceea ce duce la o reducere/(ascundere) a timpului total de acces la o linie de cuvnt. a - Comanda READ. Aceast comand este utilizat pentru initierea unei operatii a a a de citire de tip rafal a ntr-o linie de cuvnt deja activat. momentul a a In nregistrrii a comenzii READ se eantioneaz i cuvntul de adres: bitii BA1, BA0 xeaz banca s as a a a iar bitii A7 A0 selecteaz coloana de la care se a ncepe citirea; iar bitul A 10 , din cuvntul de adres, determin modul de pre arcare: A 10 = H, pre arcarea a a a nc nc automat este selectat; A10 = L pre arcarea automat ste devalidat. Dac a a nc a a a pre arcarea automat este selectat atunci linia deja activat va pre arcat nc a a a nc a (dezactivat) la sfritul efecturii rafalei de citire, iar dac pre arcarea automat a as a a nc a este deselectat atunci linia deja activat rmne continuare activat i pentru a a a a n a s urmtorul acces. a Odat initiat comanda READ rafal, pornind de la coloana selectat, se obtine a a a a pe ieire, dup o latent CAS prescris (vezi Figura 3.96-b), un ux continuu de date s a a a DQout , cte un cuvnt pe ecare front pozitiv de ceas, evident dac, cuvntul de a a a a masc DQM a fost L. Cuvntul de masc va trece ieirea memoriei HZ cu o a n a a s n arziere de dou tacte dup ce valoarea acestui cuvnt a fost nt a a a nregistrat starea a n H. Dup completarea unei citiri mod rafal, considernd c nu a fost initiat o alt a n a a a a a comand, ieirea va trece HZ; la o pagin citit mod rafal dup citirea ultimei a s n a a n a a coloane din pagin (255) se continu cu prima coloan pn se ajunge la coloana din a a a a a fata primei coloane selectate. Datele unei citiri rafal pot continuate cu alte date n a citite de ctre o urmtoare/(nou) rafal, iar noua rafal poate aplicat a a a a a a ncepnd a de la terminarea datelor rafalei curente sau chiar de la oricare front pozitiv de ceas din interiorul rafalei curente (trunchiere); dar noua comand READ rafal trebuie s e a a a aplicat cu un numr x de tacturi a a nainte de tactul pe care se vor obtine date valide pe ieire, unde x = (latenta CAS) 1. Deci prin comenzi READ succesive se poate s mentine un ux de date continuu pe ieire indiferent dac aceste comenzi acceseaz s a a aceeai banc sau bnci diferite. Se poate obtine pe ieire un ux continuu de date s a a s citite care pot alterna cu date nscrise dac se intercaleaz i comenzi WRITE rafal a as a (cu conditia s nu apar concurenta de date la intrare/ieire); dar comanda WRITE a a s trebuie s e aplicat chiar pe frontul pozitiv de ceas pe care se a a nscriu datele. Operatia de citire sub o rafal de lungime x sau de o pagin se poate termi a a a na/(trunchia) prin aplicarea la banca respctiv a comenzii PRE ARCARE (PA), a INC aceast aplicare trebuie efectuat cu x tacturi a a nainte de tactul care mai citete date s valide. De exemplu, Figura 3.97-c s-a aplicat comanda READ rafal pe T 0 , aici de n a lungime nespecicat, din banca 2, a ncepnd de la coloana n, cu latenta CAS = 3, a

518

3.6. MEMORIA CU ACCES ALEATORIU

Cuvintele de comanda pentru memoria SDRAM, 1Mb x 32 x 4 banci CUVANTUL DE : Denumirea comenzii comanda Masca ADRESA Comanda de INHIBARE NICI O OPERATIE (NOP) ACTIVARE (selecteaza o banca si activeaza o linie) READ (Selecteaza o banca si o coloana, porneste operatia READ in rafala ) WRITE (Selecteaza o banca si o coloana, porneste operatia WRITE in rafala ) TERMINARE RAFALA PREINCARCARE (Dezactiveaza linia deschisa din banca/banci ),PA REFRES sau AUTO REFRES INCARCARE REGISTRU DE MOD
CS_L RAS_L CAS_L WE_L

H L L L L L

DQM

Date
DQ

H L H H H L L L T1

H H L L H H L L

H H H L L L H L T2
A10=H dezact. bancile A10=H dezact. banca A11A10................A0 M10...............M0 Banca Linia BA1,BA0 A11 : A0

L/H L/H

Banca AB1,AB0 Date Coloana A7 : A0 valide A10=1 Preincarcare automata Date A10=0 Preincarcare active automata devalidata

L L L

a)
CLK

T0
ACTIVE

T3
READ sau WRITE

b)

Comanda aplicata T0
READ

RCDmin /TCLK
T1
NOP

CLK Comenzi aplicate Comenzi aplicate DQ

T2
NOP

T3
NOP

T4
Preincar.

T5
NOP

T6
NOP

T7
Active

x=2 tacturi
Banca 2 col n DQ out Col n Banca 2 sau toate DQ out Col n+1 DQ out Col n+2

RP

Banca Linie DQ out Col n+3

c)

Latenta CAS=3
T0 T1 T2

CLK DQM Comenzi aplicate Comenzi aplicate

T3

T4

T5

T6

T7

RP
WRITE Banca 1 Col n DQ in Col n DQ in Col n+1 NOP WRITE Banca 2 Col p DQ in Col p WRITE Banca 3 Col q DQ in Col q WRITE Banca 1 Col n+1 DQ in Col n+2 Preincar. NOP Active Banca 0 Linie

WR toate

Banca 1 sau

d) DQ

Figura 3.97 Comanda memoriei sincrone SDRAM: a) comenzile aplicabile din exterior pentru controlul functionrii circuitului SDRAM; exemple de dia a grame de semnale care ilustreaz functionarea memoriei la aplicarea comanzilor de: a ACTIVARE (b), READ (c) i WRITE (d). s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

519

iar dup citirea a patru date consecutive (de la coloanele n, n + 1, n + 2, n + 3) a se termin rafala prin aplicarea comenzii PRE ARCARE; succesiunea de comenzi a INC generat de controller este: T0 - READ; T1 - NOP; T2 - NOP; T3 - NOP; T4 a PRE ARCARE; T5 - NOP; T6 - NOP. De notat c timpul de prescriere x pentru INC a comanda PRE ARCARE apare ca ind ascuns deoarece simultan se fac i citirile de INC s date succesive. Dup comanda PRE ARCARE o urmtoare comand la aceeai a INC a a s banc nu se poate aplica dect numai dup un inteval prescris de timp RP . De a a a asemenea, trunchierea/terminarea unei rafale de o anumit lungime sau de o pagin a a se poate realiza i cu o comand TERMINARE RAFALA (cu conditia s nu fost s a a prescris autopre arcarea, A10 = H), care trebuie aplicat cu x tacturi a nc a nainte de ultimul tact care genereaz date valide. a - Comanda WRITE. Inregistrarea comanzii WRITE initiaz un acces pentru o a nscriere rafal la o coloan de adres A7 A0 a a a ntr-o banc xat prin BA1, BA0 a a n care a fost deja activat o linie de cuvnt; dac A 10 = H se realizeaz o pre arcare a a a a nc automat la terminatea rafalei. Primul cuvnt de date de intrare DQ int se a a nscrie coloana de adres A7 A0 pe primul front pozitiv de ceas, cnd se n a a nregistreaz a comanda WRITE, apoi, cte un cuvnt de intrare pe ecare din fronturile pozitive de a a ceas urmtoare pn la completarea lungimii rafalei sau paginii (pentru mod pagin); a a a a la terminare, dac nu mai exist alt comand, intrarea DQ va trece HZ i va ignora a a a a n s oricare dat aplicat. O comand WRITE poate urmat de o alt comand WRITE a a a a a a pe oricare front pozitiv urmtor, consecinta se poate a n nscrie un ux continuu de date aceeai banc sau bnci diferite. n s a n a Fluxul de date pentru o comand WRITE poate trunchiat/(terminat) printr-o a comand READ sau PRE ARCARE. De exemplu, Figura 3.97-d se realizeaz a INC n a o nscriere rafal, cu lungimea 2, banca 1 a n ncepnd cu coloana n, apoi trei a nscrieri consecutive: prima banca 2, n ncepnd de la coloana p, a dou banca 3, a a n ncepnd a cu coloana q iar a treia tot banca 1, n ncepnd cu coloana n + 2. banca 2 a In nu se nscriu rafal dou coloane deoarece este trunchiat de comand WRITE n a a a a pentru banca 3, dar nici banca 3 nu se n nscriu dou coloane rafal deoarece a n a este trunchiat de comanda WRITE pentru banca 1. Dar i banca 1 se a s n nscrie tot numai o coloan (col n + 2) deoarece este trunchiat prin aplicarea comenzii a a PRE ARCARE (dat pentru banca 1 sau pentru toate). aplicarea comenzii INC a In PRE ARCARE trebuie respectat intervalul de timp W R INC ncepnd de la frontul a pozitiv al ultimei date care se dorete a s nscris ( acest caz T 4 ); numrul de taca n a turi pentru acest interval rezult functie de frecventa de ceas cu care se comand a n a memoria (in general W R se acoper prin 1-2 tacturi de arziere pn la aplicarea a nt a a comenzii PRE ARCARE). Semnalul DQM trebuie pus H imediat dup ultima INC n a dat a nscris pn la aplicarea comenzii PRE ARCARE pentru a masca cona a a INC n tinuare intrarea datelor de nscriere. ( cazul cnd PRE ARCARE se aplic la In a INC a teminarea lungimii rafalei, DQM nu se pune H, dar intervalul W R trebuie respectat n i acest caz.) Dup comanda PRE ARCARE aplicarea comenzii ACTIVARE s n a INC nu se poate aplica dect numai dup intervalul RP . a a - Comanda PRE ARCARE este utilizat pentru dezactivarea unei linii activate INC a ntr-o banc sau a liniilor activate toate bncile. Dac momentul a n a a n nregistrrii a comenzii PRE ARCARE bitul A10 , din cuvntul de adres, este H atunci toate INC a a bncile sunt pre arcate, iar dac A10 este L atunci numai banca al crui numr a nc a n a a este dat prin cuvntul BA1BA0 va pre arcat. Odat pre arcat o banc/bna nc a a nc a a a

520

3.6. MEMORIA CU ACCES ALEATORIU

cile este continuare stare inactiv, deci n n a nainte de a aplica o comand READ sau a WRITE banca respectiv trebuie s e activat (prin comanda ACTIVARE); dup a a a a comanda PRE ARCARE urmtoarea comand (ACTIVARE) nu poate aplicat INC a a a nainte de RP . Pre arcarea automat realizeaz, la fel, o pre arcare a unei bnci dar nu este nc a a nc a initiat prin aplicarea cuvntului de comand PRE ARECARE. Pre arcarea a a a INC nc automat este prescris odat cu comenzile WRITE sau READ dac bitul A 10 = H, a a a a iar operatia de pre arcare se efectueaz (automat) la terminarea lungimii de rafal, nc a a cu exceptia lungimii de rafal pagin cnd pre arcarea nu se execut la terminarea a a a nc a parcurgerii paginii. Exemplul 3.33 S se proiecteze un controller pentru o memorie dinamic sincron, a a a SDRAM CNTRL, avnd urmtoarele date impuse: a a
Memorie SDRAM (Micron Technology),128Mb (1M b324 bnci),MT48LC4M32B2. a 1 client (P): apeleaz scriere i citire, operatii sincronizate cu SDRAM CNTRL (4M a s 32 biti). Gestiunea automat a re a mprosptrii memoriei. aa Frecventa de lucru: 100 MHz (TCLK = 10ns). Adres multiplu de 4. a Rafal secvential cu lungimea 4, latent CAS = 2 tacte. a a a Descriere semnal CLK, semnal de ceas comun pentru: client, SDRAM CNTRL, SDRAM. RESET L, semnal de resetare (repornire) Interfatarea cu clientul RQ, semnalul de acces (generat de client) ACK, semnalul de conrmare (generat de SDRAM CNTRL) R/W L, semnalul pentru operatiile de citire/scriere (generat de client) A21 A0 , cuvnt de adres generat de client a a (banc+linie+coloan) a a DQ31 DQ0 , cuvnt de date citite din SDRAM a DQ31 DQ0 , cuvnt de date pentru a nscrierea SDRAM n Interfatarea cu SDRAM CS L, semnal selectare SDRAM CKE, semnal validare ceas (se consider permanent H) a n BA1BA0, cuvnt selectare bnci a a A11 A0 , cuvnt adres selectare linie; a a A7 A0 , cuvnt adres selectare coloan a a a RAS L, semnal strobare adres linie (A11 A0 ) a CAS L, cuvnt strobare adres colon (A7 A0 ) a a a WE L, semnal validare nscriere date DQM3 DQM0 , cuvnt pentru mascare date (pe byte) a DQ31 DQ0 , cuvnt de date bidirectionale a

Port

CLK RESET RQ ACK RW ADR CLIENT[21:0] DQO[31:0] DQI [31:0] CS CKE BA[1:0] ADR[11:0] RAS CAS WE DQM[3:0] DQ[31:0]

Solutie. Modul de interfatare, cu specicarea semnalelor (directie, activare, lungime de cuvnt) a ntre client (P) i SDRAM prin intermediul controllerului este prezentat sub s form de schem bloc Figura 3.98-a. De asemenea, este prezentat interdependenta a a n a ntre semnalele cerere acces, RQ (de la clent) i conrmare, ACK (de la controller), realizarea s n

protocolului pentru operatia de citire i de s nscriere, Figura 3.98-b. Cuvntul adres pentru a a o locatie memorie, generat de client, este segmentat subcuvintele pentru adres banc, n n a a linie i coloane, de ctre controller i transmis aceast forma la SDRAM, Figura 3.98-c. s a s n a Controllerul va implementat sub forma unui automat (ASM). Organigrama ASM, Figura 3.99-a se compune din trei prti: a nitializarea memoriei, re mprosptarea memoriei a i operatiile de memorie (activare, citire, s nscriere i pre arcare). La conectarea tensiunii s nc sau activarea, RESET L = 0, circuitul de memorie trebuie initializat i aceasta const din: s a o comand de PRE ARCARE (PA), dou comenzii de AUTOREFRESH (AR1, AR2) i a INC a s o comand de programare ( ARCARE REGISTRU MOD, LMR). a INC

Figura 3.98 Explicativ pentru exemplul 3.33: a) schema bloc a interfatarii a CLIENT-SDRAM CNTRL i SDRAM CNTRL-SDRAM; b) semnalele de protocol s s nscriere; c) subcmpurile pena CLIENT-SDRAM CNTRL pentru operatia de citire i tru adres banc, linie i coloan cuvntul de adres generat de client. a a s a n a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

starea 0 de initializare, Init st, automatul va stationa 17 tacte de ceas pe durata In crora, cu anumite determinri de temporizare (prescrise de fabricant), se genereaz comena a a zile PA, AR1, AR2 i LMR; pe baza acestor comenzi controllerul va calcula semnalele care s a se aplic la SDRAM. Automatul rmne starea 0 pe durata a 17 tacte de ceas cnd pe a a a n

ige l k u Y` kil wsiquy e c a b g e vcu b y w e a Y sa sshgghg a h ef wx e c j dg gh rvypt ff b ee ue f d cduv dkkjl i hl ii t rqwpsi y fe c ba Y e hg y x w g f vu i qwsi y e c a Y `
1 2 3 4 BA1 BA0 DQ

H C )0 (  D   C   D   344 2 AA    '('( XWX GCH9QUVDG@HCD9GRUV SISEFIE7AEISFPSTT QR E8A9@@95@157BUHIP 8BUG 656261'#2$(151#'$233))%&%%!!!!%)6 &03 ""    
DQ BA1 BA0 A11 SDRAM ( MT48LC4M32B2 ) A0

CLK

op rmnqr

ADR_ CLIENT

e xx fg Q 45 h d W f Sbc P 9 HHH rsx dpbepteqcX`givy u w q ahY ITRFHRTU DQVEVGW 8B69B9C702435@C APQ 81 @ () $% 4 &!&'67 "# "#  q e h W f Sbc C @APQ 8 p d tu rsx dpbqeXcdpvy w `hafiq Y ITRFHRTU DVEPVGW 8B69B9C70253@1 () $% 4 &!&'67 "# "#  '( v f h W f Sbc @AvPQ qf egq i z ~|{ } txrlstxy vnvopwmw khjhjik fdgk g tu rsx dpbqeXcdpvy w `hafiq Y ITRFHRTU DVEPVGW f8B6C907bB2@34dC 1 () $% 4 &!&'67 "# "#  w uuu~~~ g e x g Q 8 e pqpqp rhrr deded h W CG9HD@CGQUVDHR ISEFISPEA78T BU 95@156261'2(#$ )3%&)30%!!4 A  "   ~~|}z{z{ |} txrxstxytlrmstxy nvopvnwoqwlmvw hjkhjhjikkfdgefj fg j fh d h rptx v f b opop mnqmn
Adr[21:] Citire Protocol Client _ SDRAM_CNTRL Adr[21:] Inscriere 1 2 3 4

ADR_CLIENT 21 20 19 18 17 16 15 14 13 12 11 10 9 BA1 BA2 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1

R/WL

Select . banca AKN DQ in DQ out RQ b) a) CLIENT (p) CLK RQ AKN

c) A21 A0 R/WL 32 32 Adresa linie de cuvant ( pagina ) 1 1 1 DQ out DQ in ADR.CLIENT RQ ACK R/W SDRAM_CNTRL A11 CLK CLK RESET RESET_L CAS WE RAS A0 CS 8 A0 WE_L CAS_L CS_L RAS_L 7 A7 12 6 A6 2 1 1 1 1 4 5 A5 Adresa coloana 4 A4 CS_L RAS_L CAS_L WE_L DQM 3 A3 CLK 2 A2 1 A1 H CLKE 0 A1

521

522

3.6. MEMORIA CU ACCES ALEATORIU

000H 0 Initializare Init_st


PREINCARCARE(PA) AUTOREFRESH(AR1,AR2) INCARCARE REGISTRU MOD(LMR)

ShReg(17) 1 1 nop_st 1 002H AUTOREFRESH 004H 3 Idle_arf_st 1 NOP 0 NOP rf_rq

0 001H 0 4 act_st 5 0 008H ACTIVARE 010H NOP 020H WRITE / READ 040H NOP 080H NOP 100H NOP rwCrt 1 Operatii

RQ

2 arf_st Refresh

Idle_act_st 6 oper_st 7 Idle_1_st 8 Idle_2_st 9 Idle_3_st 0 200H

arf_term

10 Idle_wr_st

NOP 11

a)
CLK rf_rq RQ LMR arf_term wr_eft CLC Registru pentru de calculul stare Starea Starea urmatoare prezenta starii urmatoare 11 11 11

pr_st

400H PREINCARCARE

Logica pentru calculul semnalelor de iesire

Registru de sincro nizare

CS_L RAS_L CAS_L WE_L ACK la client la SDRAM

DQIe la ASM PA LMR AR1,AR2 rwCrt (Fig 3.101)

b)

Figura 3.99 Explicativ pentru exemplul 3.33: a) organigrama ASM pentru a functionarea SDRAM CNTRL; b) structurarea contrlollerului ca un automat Moore cu arziere. nt

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

523

baza unui registru de deplasare de initializare, initShReg, se genereaz cele patru comanzi. a La RESET L = 0 se nscrie 1 prima celul a registrului ShReg(0) = 1. Prin deplasarea n a valorii 1 din celul celul rezult: o comand de PREINCARCARE, ShReg(1) = 1 = P A; a n a a a dou comenzi de AUTOREFRESH, ShReg(3) = 1 = AR1 i ShReg(10) = 1 = AR2; o a s comand pentru arcarea registrului de mod ShReg(17) = 1 = LM R (cnd se trece la a nc a stare urmtoare). a Refresh-ul memoriei trebuie fcut la ecare 64 ms, ceea ce a nseamn c la o repartizare a a uniform a re a mprosptrii celor 4096 linii ale matricei, intervalul timp aa n ntre re mprospa tarea a dou linii este ref = 64ms/4096 = 16s, iar raportat acest interval la frecventa de a ceas de 100 MHz (TCLK = 10ns) rezult c dup un numr de 16s/10ns = 1600 perioade a a a a de ceas trebuie dat o comand de AUTOREFRESH (se consider acoperitor 1500 perioade). a a a Semnalul cerere refresh, rf rq, este produs de un numrtor cu prescriere (rfCounter), cu a a numrare sens invers, CU/CD = 0, ca Figura 3.100-c, al crui semnal RCO comand a n n a a un latch SR (iar numrtorul a a ncepe un nou ciclu de 1500 de tacte). Ieirea Q a latchs a ului SR este semnalul rf rq de cerere pentru aplicarea comenzii AUTOREFRESH; cnd rf rq=1 se trece starea 2 a automatului. La generarea comenzii AUTOREFRESH, n n s n s nscrie valoarea 1 pozitia n starea 2 , arf st, latchul SR este resetat i, acelai timp, se rdr(0) a registrului durat re a mprosptare, rdr, cu lungimea de 7 biti. Se intr bucla a a n mprosptare, pn la a a a de ateptare din starea 3 , Idle arf st, pe durata procesului de re s mprosptare pentru o linie de cuvnt, a a activarea semnalului arf term; durata procesului de re xat la apte tacturi de ceas, este realizat prin parcurgerea registrului de deplasare stnga, a s a a rdr (registru durat refresh), pn la celula a aptea cnd rdr(6)=1=arf term, Figura 3.100-d. a a a s a In partea de operatii a diagramei ASM se intr cnd nu exist o cerere de re a a a mprosptare, a s a rf rq = 0, i este activat cererea de acces de la client, RQ = 1. Prima operatie, care trebuie efectuat dup o re a a mprosptare sau dup o pre arcare, este cea de activare, ceea ce se a a nc realizeaz starea 4 , act st, prin comanda ACTIVARE. La linia de cuvnt activat o a n a a a urmtoare comand READ/WRITE, generat starea 6 , oper st, poate aplicat numai a a a n dup intervalul de timp RCD ; starea 5 , Idle act st, care genereaz comanda NOP este a a introdus tocmai pentru acoperirea arzierii RCD . Pe tacturile corespunztoare strilor a nt a a 6 , 7 , 8 , 9 se realizeaz rafala cu lungimea de patru tacturi pentru operatia de a nscriere sau citire aplicat starea 6 . a n O rafal cu lungime x, pentru citire sau a a nscriere, poate urmat, sau trunchiat/ a a s a a ntrerupt printr-o comand PRE ARCARE (starea 11 , pr st), la aceeai banc (dac a a INC nu a fost prescris AUTO-PRE ARCARE, A10 = 1). Dar, dac se efectueaz o rafal a INC a a a de nscriere atunci comanda PRE ARCARE nu se poate genera dect numai dup conINC a a sumarea intervalului de timp W R , vezi Figura 3.97-d, de la aplicarea pe intrarea de date a memoriei a ultimului cuvnt de date care se dorete a a s nscris. consecinta, la terminarea In rafalei de patru date se testeaz dac operatia curent a fost de a a a nscriere, rwCrt = 0, i s n caz armativ se intr starea 10 , Idle wr st care asigur acoperirea intervalului W R . a n a Dup aplicarea operatiei de pre arcare, starea a nc 11 , aplicarea unei noi comenzi ACTI-

VARE, pentru selectarea unei alte linii de cuvnt, se poate aplica numai dup consumarea a a intevalului de timp RP (vezi Figura 3.97-c) ceea ce se realizeaz prin comanda NOP din a a s starea 1 , nop st. Variabila de testat rwCrt se genereaz ca ieirea unui latch SR comandat prin conjunctia RQ R, W L. Tabelul de tranzitie al strilor i al ieirilor (comenzilor), corespunztor organigramei a s s a ASM, este prezentat in Figura 3.100-a; rezult c automatul este de tip Moore (comenzile a a

524

3.6. MEMORIA CU ACCES ALEATORIU

ShReg(17) rf_rg arf_tm RQ wr_eft

z 10 z 9 .........z 1 z 0
nr 0 Denumire Init_st Cod 000 H nr 0 1

w10 w 9 .........w 1w0


Denumire Init_st nop_st nop_st act_st arf_st Idle_arf_st Idle_arf_st nop_st Idle_act_st oper_st Idle_1_st Idle_2_st Idle_3_st Idle_wr_st pr_st pr_st nop_st 8 0 7 0 6 0 Cod 000 H 001 H 000 H 008 H 002 H 004 H 004 H 001 H 010 H 020 H 040 H 080 H 100 H 200 H 400 H 400 H 010 H 5 0 4 0

Comenzi PREINCARCARE(PA) AUTOREFRESH(AR1,AR2) LOAD MOD REG( LMR ) NOP AUTO_REFRESH NOP ACTIVARE NOP READ/WRITE NOP NOP NOP NOP PREINCARCARE

0 1 0 1 0 1 0 1

1 2 3 4 5 6 7 8 0 1 9
10 11

nop_st arf_st

0 001 H 4 2 002 H 3

3 Idle_arf_st 004 H 1 008 H 5 act_st Idle_act_st 010 H 6 020 H 7 oper_st Idle_1_st Idle_2_st Idle_3_st 040 H 8 080 H 9 10 100 H
11

Idle_wr_st 200 H 11 400 H 1 pr_st 13 0 12 0 11 0 10 0 9 0

a)17
0

* w r _eft
16 0 15 0 14 0 3 0 2 0 ShReg(1) PA 1 0 0 1 CLK

REGISTRU DE INITIALIZARE

ShReg(17) LMR

ShReg(10) AR2

ShReg(3)

AR1

Inscriere ShReg(0)=1 la RESET_L=0

b)

PerRefresh (implicit 1500)


11

RESET_L CLK

CLEAR CLK RCO 1

CU/CD LD S Q RESET_L

Registru durata reimprospatere, rdr


6 0 5 0 4 0 3 0 2 0 1 0 0 1 CLK

rfCounter

rf_rq (la ASM)

rdr(6) arf_term (la ASM) Inscriere 1 prin arf_st (de la ASM)

arf_St

c)

R CLEAR RESET_L

d)

Figura 3.100 Explicativ pentru Exemplul 3.33: a) tabelul de tranzitie al a strilor i tabelul ieirilor (comenzilor) pentru SDRAM CNTRL; b) generarea comena s s zilor starea de initializare pe baza unui registru de deplasare, ShReg; c) strucn tura generatorului pentru intervalele de timp de re mprosptare la o linie de cuvnt; a a d) structura circuitului pentru generarea duratei procesului de re mprosptare la o a linie de cuvnt. a

CS_L RAS_L CAS_L WE_L L L H L L L L H L L L L L H H H L L L H L H H H L L H H L H H H L H L L H H H L H H H L H H H L H H H L L H L

Starea prezenta

Starea urmatoare

(iniShReg)

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

525

ADR_CLIENT[21:0]

22 20

2 [21:20]

D Q
CLK

BA[0:1]

2 act_st

BA1,BA2

12 [19:8]

D Q
CLK

oper_st rowCrt[11:0] (linia curenta) colCrt[7:0] (coloana curenta)

CLK

[7:0]

D Q
CLK

RQ

CLK 0 0 colCrt[7:0] oper_st rowCrt[11:0] act_st 0_0_00_010_0_010 12 LMR 0100_0000_0000 12 AR1 AR2 PA pr_st 12 Cablat 0 0 Cablat 4
7

SDRAM_CNTRL
12

12 12 12 12 CLK 12 D
CLK

12

ADR[11:0]

E CLK
R,W_L D Q

CLK rwCrt (read/write Curent)

Logica pentru calculul semnalelor de iesire si ASMul (fig 3.99b) CLK

CS_L Reg de sincro nizare


CLK

RAS_L CAS_L WE_L

0 ACK MUX 2:1 1 Intarziere ACK (4 tacturi) Q D


CLK

aper_St Idle_1_St Idle_2_St Idle_3_St

Q D
CLK

Q D
CLK

Q D
CLK

CLK Q
CLK

D CLK 32 DQIO[31:0]

DQI[31:0]

32 CLK

D
CLK

32

DQI e

DQO[31:0]

32

D CLK

Figura 3.101 Explicativ pentru Exemplul 3.33. Circuistica controllerului pena tru generarea semnalelor exterioare (nu s-a gurat pentru semnalele CS L, RAS L, CAS L i WE L). s

526

3.6. MEMORIA CU ACCES ALEATORIU

depind numai de stri), care se implementeaz cu arziere (pe un registru de sincronizare) a a nt pentru ca s se obtin semnale sincronizate pentru SDRAM, Figura 3.99-b. Codicarea a a ,, strilor automatului se alege de tipul one-hot pentru a obtine o structur simpl de aua a a tomat (11 bistabile D); cuvintele de cod pentru ecare stare sunt notate tabel i pe n s organigram hexazecimal. Din tabelul de tranzitie al strilor, pe baza celor cinci sema n a nale de intrare (unul generat de client, RQ, iar celelalte generate de controller), a strilor a prezente, z10 z10 . . . z1 z0 , i a strilor urmtoare, w11 w10 . . . w1 w0 , se poate realiza sinteza s a a circuitului combinational al semiautomatului pentru calculul strii urmtoare. a a tabelul ieirilor pentru ecare comand, realizat In s a a ntr-o stare a automatului, pe baza informatiilor de catalog din Figura 3.97-a, s-au completat valorile corespunztoare ale sem a nalelor generate de automat: CS L, RAS L, CAS L, WE L, ACK, DQ L. Sinteza expresiilor logice pentru aceste semnale functie de cuvintele de stare nu ridic probleme, starea n a n 6 trebuie fcut sinteza i functie de wr eft (pentru a distinge a a s n ntre comenzile WRITE i s READ) iar starea 0 pentru cele trei tipuri de comenzi: PA, AR i LMR; aceste semnale n s de conditionare sunt introduse blocul combinational de dup registrul de stare, Figura n a 3.99-b. Generarea semnalului de conrmare acceptare (ACK = 1) cerere client (RQ = 1) corea a spunde situatiei cnd cererea respectiv pentru R,W L este executat, adic automatul este a a a a una din strile 6 , 7 , 8 sau 9 ceea de se realizeaz printr-o poart OR4, Figura n a 3.101. Dar, semnalul ACK pentru cazul cnd operatia cerut a fost READ trebuie arziat a a nt cu patru tacturi, patru bistabile nseriate (2 tacturi pentru compensarea latentei CAS, 1 tact pentru lateta bistabilului D de pe ieirea DQO i un tact pentru compensarea latentei sem s s nalului RQ introdus printr-un bistabil D). Alegerea ntre ACK pentru READ sau WRITE se face cu un MUX2:1 a crui selectare se obtine prin semnalul compus RQ R, W L = 1 a a (R, W L se aplic pe intrarea de Enable).. Cuvntul de 12 biti, transmis pe portul ADR[11:0] al memoriei, vezi Figura 3.96-a, este a calculat de controller patru variante n 1. ca un cuvnt de adres linie, starea act st, i este identic cu biti ADR CLIENT[19:8], a a n s vezi Figura 3.98-c; s 2. ca un cuvnt de adres coloan, starea oper st, i este identic cu bitii a a a n a a ADR CLIENT[7:0] la care se completeaz cei patru biti superiori cu cuvntul cablat 0000; 3. ca un cuvnt de programare pentru registrul de mod, starea Init st, LMR=1, i se a n s obtine ca un cuvnt cablat, 0 0 00 010 0 010, vezi Figura 3.96-b; a 4. ca un cuvnt pentru comanda PRE ARCARE, starea pr st sau Init st, i se a INC n s nc a obtine ca un cuvnt cablat, 0100 0000 0000, A11 = 1 pre arcarea tuturor bncilor. a Datele de la client DQI[31 : 0], separate de datele nspre client DQO[31 : 0], sunt multiplexate pentru o singur magistral bidirectional a a a ntre controller i memorie. Multis plexarea se face controller prin intermediul unui buer TSL comandat stare normal de n n a functionare ( nscrierea DQI memorie) prin semnalul DQe dac operatia curent este de n a a nscriere (Modelul VERILOG al acestui controller este prezentat capitolul 5 din volumul n II al acestei lucrri). a

3.6.3

Circuite actuale pentru memoriile de date

Memoria RAM de capacitate mare este utilizat primul rnd scopul de a a n a n stoca date pentru procesare (functie aritmetic) i nu att pentru a implementa functii a s a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

527

logice. Dar la aplicatii cu cantiti mari de date se impune, implicit, i o modalitate at s de citire i scriere a unei cantiti mari de date (/cuvinte) unitatea de timp; o s at n prim astfel de modalitate a fost citirea i a s nscrierea sub form de rafal. Exist a a a multe modaliti de cretere a debitului de date pentru lucrul cu memoria, cteva din at s a acestea, care sunt de baz, se vor prezenta continuare. a n Accesarea dubl pe perioada de ceas, DDR (Double Data Rate). La a memoria SDRAM accesarea, e pentru READ, e pentru WRITE, se realizeaz a (eantioneaz/ s a nregistreaz) la un singur cuvnt de date pe o perioad de ceas (pe a a a frontul pozitiv); dar la memoriile de tip DDR SDRAM pe durata unei perioade de ceas sunt accesate dou cuvinte (pe magistral) care pot trimise ( a a nscrise memorie) sau n primite (citite din memorie), adic un cuvnt pe frontul pozitiv i un cuvnt pe forna a s a tul negativ al semnalului de ceas. De fapt, se transmit circuitului DDR SDRAM dou a semnale de ceas CLK i negatul acestuia CLK ( opozitie cu 180 ), Figura 3.102; s n n exteriorul memoriei, pe magistral, un cuvnt apare pentru CLK iar urmtorul pena a a tru CLK, deci dac se comand cu frecventle de ceas 100, 133, 166, 290 MHz rata de a a date este de 200, 266, 333, 400 . . . Mcuvinte/s. Frontul pozitiv pentru DDR SDRAM se consider cnd pentru CLK exist tranzitie L-H, indicat gur printr-o sgeat, a a a n a a a iar pentru CLK cnd exist tranzitia H-L. a a
CLK CLK Comenzi aplicate DQS
Data 1 Data 2 Data 3 Data 4 Data 1 Data 2 Data 3 Data 4

READ

WRITE

Data

Figura 3.102 Semnalele specice pentru memoria cu rata dubl de accesare a DDR SDRAM. Sincronizarea datelor (strobarea) pentru nscriere sau citire se face cu semnalul DQS.

Pentru a se trece de la o structurare de memorie SDRAM, Figura 3.96, la o structurare de memorie DDR SDRAM se modic doar partea de interfatare I/O a date ( ncadrat printr-o linie punctat gur) cealalt parte (nucleul memoriei) a a n a a rmne nemodicat. a a a La organizarea de tip DDR SDRAM, pentru o comand READ/WRITE, pe o a perioad de ceas se acceseaz un cuvnt de 2n biti la nucleul memoriei, dar a a a nspre/de la pinii I/O sunt dou cuvinte de n biti (cte unul pe ecare semiperioad de ceas). a a a Pentru un transfer sigur al datelor de la surs la receptie, la o rat dubl pe linia a a a magistral, la DDR SDRAM sunt introduse semnale (de strob) de sincronizare a a datelor, DQS. Un semnal DQS este generat de controller (propagat ctre memorii) a pentru a se realiza nscrierea corect memorie a datelor, DQ in , iar un altul DQout a n (propagat ctre controller) este generat de ctre memorie pentru a asigura receptia a a corect ( timp) la controller a datelor citite din memorie. Strobarea datelor citite a n (la controller) se face pe frontul semnalului DQS, iar la nscriere ( memorie) se n face pe mijlocul palierului semnalului DQS (cnd nu exist transfer pe magistral, a a a

528

3.6. MEMORIA CU ACCES ALEATORIU

linia pentru semnalul DQS este starea HZ, reprezentat la nivelul median n a ntre H i L). Circuitele DDR raport cu cele SDRAM, deoarece au mai multe functiuni s n care trebuie programate, prezint un al doile registru de mod, EMR (Extended Mode a Register) care se programeaz a ntr-o modalitate similar cu primul registru de mod. a DDR2 SDRAM este o variant a mbuntit a DDR tendinta de cretere a at a n s a ratei de transfer pe magistral la valori de 400, 533 cu posibilitate pn la 667 a a a sau chiar 800 M cuvinte/s. Aceast cretere a ratei uxului de date se poate obtine a s doar printr-o adaptare a liniei de conexiune ntre controller i cipul DDR2 SDRAM, s n scopul mbuntiri semnalelor de date, DQ, de strobare, DQS, de mascare, DQM att a at a pentru nscriere ct i pentru citire. Adaptarea la intrarea pe circuitul DDR2, Figura a s 3.103-a, se face printr-un divizor 2Z0 la VDD i 2Z0 la VSS (terminator Thevenin, s vezi Figura 1.75-b), a crui rezistenta echivalent este egal cu impedanta caractera a a istic a liniei Z0 . Printr-un pin suplimentar ODT (On-Die Termination) pe cipul a DDR2 se aplic un semnal de la controller care, pe baza (i a programrii) registrului a s a de mod extins, EMR, poate realiza comanda, prin comutatoarele SW 1 i SW2 , de s conectarea sau deconectarea terminatorului Thevenin (sunt dou divizoare cu dou a a valori de rezistente, 2Z01 , 2Z02 pentru a realiza adaptarea la dou valori de impedante a caracteristice Z01 i Z02 ). s Pentru operatia de citire cnd datele se transmit de la memorie la controller, a Figura 3.103-b, este prezentat adaptarea controller att pentru cazul cnd exist a n a a a un singur modul de memorie activ (din care se citete) ct i pentru cazul cnd sunt s a s a dou module de memorie conectate. Cnd sunt dou module de memorie conectate, a a a adaptarea se realizeaz i la al doilea modul de memorie (din care nu se citete, este as s ateptare). Adaptarea pe ieirea driverului pentru datele DQ out de pe modulul n s s de memorie (activ), const egalizarea a n mpedantei de ieire starea H cu cea din s n starea L la valoarea de 18 1.5. acest scop interiorul controllerului, pe o In n rezistenta etalon, se msoar cderea de tensiune att pentru ieirea starea H ct a a a a s n a i pentru ieirea starea L a driverului de ieire din memorie. Pe baza acestor dou s s n s a tensiunii msurate controllerul genereaz o succesiune de comenzi WRITE prin care a a se ajusteaz, pentru egalizare, la driverul de ieire de la memorie, reteaua de rezistente a s de ieire din starea H cu reteaua de rezistante de ieire starea L. s s n Figura 3.103-c este prezentat adaptarea pentru In a nscrierea memorie att n a pentru un singur modul ct i pentru dou module de memorie conectate. Responsa s a abilitatea generrii succesiunii de comenzi pe pinul ODT de la DDR2 SDRAM revine a controllerului. QDR SRAM. Modalitatea QDR aplicabil la memoriile statice RAM este o exa tensie a modalitii DDR sensul c, pe lng accesarea cu o rat dubl pe perioada at n a a a a a de ceas, de data aceasta memoria este accesat DDR la dou porturi (memorie dublu a a port); deci raport cu o memorie SRAM pe magistral se obtine un ux de date cu n a o rat qvadrupl, de unde i denumirea QDR (Quad Data Rate). Memoria QDR a a s SRAM, a crei structurare de principiu este prezentat Figura 3.104-a, prezint a a n a dou porturi cu functionare independent, unul de intrare ( a a nscriere) i unul de ieire s s (citire), ecare din acestea ind accesate de dou ori pe perioada de ceas (CLK, CLK). a Porturile ind accesate simultan, cuvintele ADRES A pentru nscriere sau citire sunt multiplexate pe magistrala de adresare, memoria apare ca realiznd un ux de date a acelai sens. n s Memoria QDR SRAM a fost realizat pentru aplicatiile unde succesiunea a ntre

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

529

DDR2 SDRAM
READ

Driver VDD

DQ out DRAM DQ pin

SW1 DQ in 2Z01
WRITE

SW2 2Z0
2

2Z0

2Z0

RThevenin =
2

SW1

SW2

2Z0 2Z0 2Z0+2Z 0 VSS

= Z0

ODT pin

Logica de control Modul DDR2 SDRAM activ VDD WRITE Controler DQ pin 300 300 VSS DQ pin

a)
Modul DDR2 SDRAM activ READ Controler 150

pin 150 Modul DDR2 SDRAM activ Modul DDR2 SDRAM in asteptare VDD 150 150 VSS DQ pin pin 300 DQ pin pin Modul DDR2 SDRAM activ VDD 300 300 VSS DQ pin Modul DDR2 SDRAM in asteptare VDD 150 150 VSS DQ pin

Controler 300

Controler

b)

c)

Figura 3.103 Memoria cu rat dubl de accesare DDR2 SDRAM: a) struca a tura (doar a ) circuitului pentru adaptarea intrrilor pe cipul de memorie; exemplia care de adaptare ntre controller i memorie pentru operatia de citire (b) i pentru s s operatia de nscriere (c)

530

3.6. MEMORIA CU ACCES ALEATORIU

operatiile de citire, RD, i cele de s nscriere, WR, este foarte strns timp, de exema a n plu alternantele RD-WR-RD-WR-. . . , RD-RD-WR-RD-RD-WR-. . . , RD-WR-WR RD-WR-WR-. . . ; adic acele aplicatii la care raportul mediu a ntre numerele acestor dou operatii efectuate nu depete valoarea doi sau trei. Aplicatiile unde valoarea a as s acestui raport mediu este mai mare de trei, deci un ir continuu de date de s nscriere sau de citire, sunt bine acoperite de ctre o memorie DDR. Memoria QDR SRAM, a Figura 3.104-b, permite dou tipuri de implementare: cu lungime de rafal 2 i cu a a s lungime de rafal 4, iar pentru ecare din acestea, functionare trebuie considerate a n dou aspecte, accesarea adresei pe magistrala de adrese i plasarea (captarea) datelor a s pentru nscriere. Memoria QDR SRAM cu lungimea de rafal 2 poate sustine indenit o suca cesiune de comenzi externe READ (2 cuvinte DQin ), WRITE (2 cuvinte DQout ) n ecare ciclu de ceas; intern, prima jumtate a perioadei de ceas realizeaz functia a a READ iar a doua jumtate functia WRITE. Evident, pe magistrala de adrese se n a aplic succesiv adresa pentru citire urmat de cea da a a nscriere; frontul pozitiv al semnalului CLK nregistreaz adresa de citire portul de ieire (PC) iar frontul pozitiv a n s al semnalului CLK nregistraz adresa de a nscriere portul de intrare (PI). n Memoria QDR SRAM cu lungimea de rafal 4 poate sustine indenit numai a pentru o alternanta de comenzi externe READ (4 cuvinte DQ out ), WRITE (4 cuvinte DQin ) pe durata de cte dou cicluri de ceas, la fel ca i memoria cu lungimea de a a s rafal 2, dar intern utilizeaz ciclurile diferit fata de organizarea cu lungime de rafal a a a 2. Memoria SRAM utilizeaz un ciclu de ceas pentru realizarea intern a comenzii a a READ apoi pe urmtoarele dou cicluri de ceas rezult la ieirea portului de citire a a a s patru cuvinte DQout . Pe urmtorul ciclu de ceas, dup cel ocupat de realizarea a a comenzii READ, o comand WRITE poate initiat care determin a a a nscrierea n portul de intrare a patru cuvinte date, DQin . Rezult c succesiunea celor dou a a a comenzi implic numai aplicarea unei adrese pe ciclu; frontul pozitiv al semanlului a CLK nregistreaz adresa de citire iar urmtorul front pozitiv, al semanlului CLK, este a a disponibil pentru nregistrarea adresei de nscriere. Dac nu este aplicat o comand a a a WRITE pe urmtorul front pozitiv al semnalului de cesa CLK atunci pe acest front a nu poate initiat nici un alt ciclu RD-WR; rafala cu lungimea 4 nu poate stopat a mai devreme, aceasta trebuie s se termine. a Pentru sistemele care permit lucrul cu rafale de lungime 4 (i nu numai lucrul s cu rafale cu lungime 2) se recomand primul tip de organizare de QDR (lungime 4) a pentru c: 1 - adresele pentru comenzile de READ i WRITE sunt prezentate de a s ctre controller doar cte una pe un ciclu de ceas; 2 - la aceeai vitez realizabil pe a a s a a siliciu se poate comanda cu o frecventa de ceas mai ridicat. a Referitor la plasarea datei de nscriere, DQ in , exist o mic diferenta functioa a n narea memoriei QDR cu rafal de lungime 2 i rafal de lungime 4, ceea ce se poate a s a observa din diagrama de semnale din gur. Pentru rafala de lungime 2 captarea a datelor de nscriere DQin1 se realizeaz imediat ce semnalul de a nscriere devine activ, s a WR L=0, i pe frontul pozitiv al semnalului CLK, iar pe urmtorul front pozitiv al a s a semnalului CLK este captat cuvntul DQin2 i interior este executat operatia de nscriere. Pentru rafala de lungime 4 captarea datelor de nscriere DQ in1 se realizeaz a cu un ciclu de ceas aziere dup activarea semnalului de nt a nscriere, WR L=0; deci la urmtorul front pozitiv CLK este captat DQin1 , la urmtorul front pozitiv CLK este a a captat DQin2 , urmeaz apoi captarea pentru DQin3 , DQin4 , respectiv pe fronturile a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

531

ADRESA

17 1

WR_L 2 BW0,BW1 18 DQ in 2

Portul Adresa de inscriere (PI) 36


Data 2

17

17 Matricea memoriei (256k x 36) Adresa 36 Data

Portul de citire (PC)

17 ADRESA 1 RD_L 2 18 CLC,CLC DQ out

CLK,CLK Vrec ZQ

Controlul logic
FLUX DE DATE INTRUN SINGUR SENS

a)
CLK CLK WR_L Lungime RD_L de rafala 2 ADRESA A DQ in DQ out WR_L RD_L Lungime de A rafala ADRESA 4 DQ in DQ out CLC
DQin B

B
DQin B+1

C
DQin D

D
DQin D+1 DQout A

E
DQin F DQout A+1

F
F+1 DQin DQout C

G
DQin H DQout C+1

H
DQin H+1 DQout E

DQout E+1

DQout G

B
DQin A A+1 DQin

C
DQin A+2 DQin A+3

D
DQin C C+1

E
DQin DQin DQout B+2 C+2 C+3 DQin DQout D

DQout B

DQout B+1

DQout B+3

b)

CLC

READ WRITE ADRESA DQ

SRAM 1
CLK CLK CLC CLC

CQ CQ DQ

READ WRITE ADRESA DQ in

SRAM
CLK CLK

2 CLC CLC

CQ CQ DQ out

in

out

Controler
Reintoercere semnale de ceas

CLK,CLK CLC,CLC

. .

c)

. .

1< 2

Figura 3.104 Memoria de tip QDR SRAM: a) structurarea de principiu a memoriei (prin caracteristica de dublu port se realizeaza un singur sens pentru uxul de date); b) diagramele de semnale pentru comenzile READ i WRITE pentru QDR cu s lungimea de rafal 2 i 4; c) organizarea aplicarii semnalelor de la/ a s nspre controller pentru sincronizare cnd memoria este realizata din mai multe module. a

532 pozitive ale semnalelor CLK i CLK. s

3.6. MEMORIA CU ACCES ALEATORIU

Semnalele de ceas pentru memoriile QDS SRAM trebuie s asigure restrictiile a de temporizare. Pentru nscriere controllerul, Figura 3.104-c, trebuie s genereze a memoriei semnalele de ADERSA, WR L, DQin cu cel putin SU nainte de aplicarea frontului pozitiv al semnalului CLK i evident mentinerea valid a acestora pe un s a interval H dup acest front. De asemenea, pentru citire cu aceleai restrictii de a s s n s temporizare trebuie eantionate datele DQ out , ADRESA i RD L portul de ieire, s mai mult aceste date DQout trebuie nscrise corect controller dup ce au fost n a transferate pe distanta dintre memorie i controller. Pentru memoriile QDS SRAM s care sunt comandate la frecvente sub 133 MHz semnalele CLK i CLK pot generate s at s realizeze restrictiile de temporizare, dar la memoriile QDR care lucreaz la nc a a frecvente ridicate, peste 133 MHz, timpii de acces devin sensibil egali cu timpii de propagare a semnalelor pe distanta de la controller la primul modul de memorie. Pentru nscrierea datelor , cnd sunt mai multe module QDR, semnalele CLK, a CLK se genereaz la controller cu o mic arziere fata de generarea semnalelor a a nt nc a ADRESA, WR L, DQin at s se asigure SU ; iar SU este asigurat la ecare modul deoarece se presupune c pentru ecare modul toate aceste semnale generate de cona troller parcurg mpreun aceeai distanta (deci aceeai arziere de propagare). Dar a s s nt la citire pentru c datele DQout parcurg de la module pn la controller distante a a a diferite (de exemplu, gur pentru cele dou module arzierile de propagare pn n a a nt a a la controller sunt 1 i 2 , 1 < 2 ) pentru ca s e captate controller cu acelai s a n s front de ceas aceste date trebuie s fost a nregistrate porturile de ieire de la n s memorie anterior cu intervale de timp 1 i 2 . Rezult c, pe lng semnalele CLK i s a a a a s CLK pentru inscriere, este necesar a o pereche de semnale de ceas CLC i CLC a nc s pentru citire. Aceste semnale CLC i CLC, defazate fata de CLK i CLK se obtin s s printr-o bucl a traseului semnalelor de ceas, acest traseu pornete de la controller a s i se s ntoarce tot la controller. Semnalele CLK i CLK generate de controller sunt s aplicate succesiv la ecare modul QDR i sunt folosite pentru sincronizarea comenzii s WRITE, apoi la re ntoarcere, cu defazajele corespunztoare diatantelor parcurse, sunt a aplicate succesiv dar ordine invers la ecare modul ca semnale CLC CLC pentru n a nscrierea datelor DQout porturile de citire; iar cnd ajung controller vor sinn a n croniza nscrierea datelor receptionate. Deoarece prin acest bucl semnalele de ceas a a pot avea o arcare mare, mai nou, memoriile QDR genereaz ele nc a nsele o pereche n de semnale ecou, CQ i CQ, care sunt utilizate pentru sincronizarea controller a s datelor citite DQout ; aceste semnale de ceas ecou sunt produse din semnalele de ceas In primite de memorie, CLK i CLK, prin introducerea unor defazaje. ( structura de s principiu a memoriei QDR din Figura 3.104-a, semnalul ZQ are o functie similar cu a a semnalului aplicat pe pinul ODT la o memorie DDR2, adic ajustarea impedantei a de ieire a driverelor de ieire pentru a se adapta la impedantele de pe circuitul impris s mat. BW1 , BW0 sunt semnale prin care se poate selecta pentru nscriere un anume byte din cuvntul DQin .) a Pentru circuitele de memorie, utilizate sistemele de de calcul, tendinta este ca n acestea s devin din ce ce mai mult circuite programate (prin unul sau mai multe a a n Load Mod Register) i, viitor, memoria s dobndeasc o anumit inteligenta astfel s n a a a a at (integrnd i controllerul) s poat realiza independent anumite functii. nc a s a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

533

3.6.4

Memoria adresabil prin continut, CAM a

La toate tipurile de memorie prezentate pn acum procesul de obtinere/restablire a a a unei informatii (cuvnt) se realizeaz felul urmtor: prin cunoaterea unei adrese a a n a s (deci se impune memorarea, ntr-un fel, a adresei) care se aplic memoriei se extrage a din locatia, de la aceast adres, informatia cutat. Dar, se poate realiza acest proces a a a a i sens invers, adic se cunoate informatia (cuvntul de date) i se determin adresa s n a s a s a (locatiei) unde este stocat (acest cuvnt) memorie. Practic, acest proces invers se a n realizeaz felul urmtor: cuvntul data cunoscut, D n1 Dn2 . . . D1 D0 , se compar, a n a a a paralel, cu cuvintele data din toate locatiile memoriei i se genereaz un semnal n s a de gsire M (match) dac exist stocat acest cuvnt i totodat se obtine i adresa a a a a s a s (sau adresele), AMm1 , . . . , AMk , . . . AM0 , locatiei care contin acest cuvnt, Figura a 3.105-a. Deoarece la acest tip de memorie explorarea se realizeaz prin continut, i a s nu prin adres, referirea sa se face prin sintagma memorie adresabil prin continut, a a CAM (Content Addresable Memory). Pentru structurarea de principiu a unei memorii CMOS CAM, Figura 3.105-b, se poate porni de la circuitul pentru generarea identitii a dou cuvinte, realizat at a cu tranzistoare de trecere, Figura 1.53-d. Cte un astfel de circuit de generare a a identitii este realizat pentru toate celulele, Figura 3.91-a, unei locatii (adres) a at a memoriei. Poarta XOR pentru celula i este relizat cu tranzistoarele de trecere T 1 a i T2 (i realizeaz xi Di + xi Di ). Cele dou valori xi i xi se gsesc s s a a s a nscrise n celula i, ca ieiri ale celor dou inversoare CMOS ( celul este s a n a nscris bitul x i al cuvntului X = xn1 . . . xi . . . x1 x0 ), iar cele dou valori Di i Di , ale bitului de a a s rang i din cuvntul de comparat, D = Dn1 . . . Di . . . D1 D0 , se aplic din exteriorul a a memoriei respectiv pe coloanele de bit C1 i C2 la celulele i de pe toate liniile de s cuvnt (adrese). (Celula de memorie CMOS se consider starea 0 (x i = 0, xi = 1) a a n cnd ieirea inversorului din dreapta este H i ieirea inversorului din stnga este L iar a s s s a starea 1 cnd cel din stnga este H i cel din dreapta este L.) Circuitul NOR n a a n s n al generatorului de identitate, ntre cuvntul D i cuvntul X de pe o linie de cuvnt, a s a a este constituit (distribuit) din toate tranzistoarele T 3 , cte unul pentru ecare celul a a de memorie, i care sunt comandate de ctre ieirile portilor XOR. Aceast poart s a s a a NOR distribuit poate realizat dinamic (cu pre arcarea la timpul potrivit, de a a nc exemplu cnd M=1) sau ca o pseudo poart CMOS (ca structura prezentat, s a a n a este tranzistorul de sarcin) dac nu este critic cerinta de vitez. a a a a Memoria CMOS CAM cu structurarea prezentat poate utilizat modul nora a n mal pentru nscriere i citire; operatia de s nscriere este necesar pentru a stoca cuvina tele data X la oricare adres, iar citirea numai pentru utiliti de testare; Figura a at n 3.105-c este prezentat o astfel de memorie cu patru adrese pentru cuvinte cu lungimea a de patru biti. Pentru functionare ca memorie CAM cuvntul cutat D se aplic pe a a a pinii de intrare, ca dat de intrare, astfel c pe coloanele de bit C 1 i C2 vor rea a s spectiv valorile Di i Di , dar nu se aplic memoriei nici un cuvnt de adres. Dac s a a a a bitul Di este identic cu bitul xi din celula i atunci poarta XOR corespunztoare va a aplica 0 pe poarta tranzistorului T3 (blocndu-l) din poarta NOR a generatorului de a identitate; toate tranzistoarele T3 de pe o linie de cuvnt (de la o poart NOR) vor a a blocate numai cnd X D, indicnd la ieire, prin actionarea AM k = 1, adresa a a s (liniei) la care s-a gsit cuvntul cutat. Dac cel putin un bit din cele dou cua a a a a vinte sunt diferite, tranzistorul T3 corespunztor acelui bit va conduce, poarta NOR a de pe linia respectiv produce 0 pe ieire, AM k = 0, indicnd neidentitatea cuvina s a

534
Cuvant aplicat pentru identificare D n1 D n2 D1 D2 D i+1

3.6. MEMORIA CU ACCES ALEATORIU

linie de cuvant

Memorie adresabila prin continut (CAM)

C1

xi+1
AM0

a)

AMm1 AMi

celula (i+1)

.... .
VDD T2 T1 T3 VDD

. .
D i+1 Di C1 C2

Di

xi+1
XOR

xi

contine bitul xi+1

celula i

.... .
VDD T2 T1 T3 di mi

C2

xi

VDD

Ts
AMk

contine bitul xi

Adresa / adresele cuvantului cautat

b)
D out (E est ) 4

NOR

Cuvant aplicat pentru identifiacre D in 4 Bloc 1/0

Ts3

A1 A0

DCD 2:4

Ts2

Ts1

Ts0

. . .. . .. . .
B)

M AM3 Celula CAM AM2 1 xi

AM 0

AM1

AM m1
AMk

AM0

c)

d)

Celula CAM

Cuvant adersa virtuala (V) aplicata TLB (V Adresa virtuala, V 0 Adresa virtuala, V 1 Adresa virtuala, Vk Adresa virtuala, V q1 AM0 AM1 AMi AM m

Adresa reala, R 0 Adresa reala, R 1

Adresa reala, R citita RAM Data

Adresa reala, R k Adresa reala, Rq1 Locatii de tip RAM

e)

Locatii de tip CAM

Figura 3.105 Memoria adresabil prin continut, CAM: a) schem bloc pentru a a o memorie CAM; b) structurarea unei celule de memorie CAM pe baza unei celule RAM-CMOS prin adugarea componentei de generare a functiei de identitate (poarta a XOR); c) organizarea unei memorii CAM de patru locatii pentru cuvinte de patru biti; d) structura logic a unei celule CAM pentru cutarea cuvintelor incomplet a a denite; e) structurare de principiu, pe baz de memorie CAM, a unui circuit pentru a translatarea adreselor virtuale adese reale (TLB). n

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

535

telor, X D. acest mod de structurare al memoriei CAM adresa la care s-a gsit In a cuvntul cutat corespunde cu numrul pozitiei cuvntul AM m1 . . . AMk . . . AM0 , a a a n a pentru care bitul are valoarea 1. cazul care exist mai multe adrese la care In n a s-a gsit cuvntul cutat se poate alege doar una din aceste adrese prin aplicarea a a a cuvntului AMm . . . AMk . . . AM0 la intrarea unui codicator prioritar m : log2 m a (alegerea uneia din adresele gsite depinde de modul de alocare a prioritilor, vezi a at 2.4.2). Pe lng aarea adresei locatiei, unde exist identitate, AM k = 1, structura a a a de memorie CAM trebuie nzestrat i cu generarea unui semnal de gsire, M = 1, as a ceea ce se poate realiza cu o poart NOR, ale crei tranzistoare paralel din reteaua a a n nMOS sunt comandate de ieirile AMk , 0 k m 1; ieirea negat din acest s s a a poart genereaz M = 1 cnd cuvntul cutat a fost gsit la cel putin o adres. a a a a a a a Uneori, este necesar a se cuta memorie un cuvnt D k care este incomplet a n a cunoscut, adic valorile anumitor biti ai si nu se cunosc. La accesarea printr-un a a cuvnt incomplet denit structura celulei (pentru un bit) a generatorului de identitate a este prezentat Figura 3.105-d. Structura acestei celule rezult din strucura celulei a n a anterioare la care se adaug poarta 1 care este comandat de bitul de masc m i ; dac a a a a Di este denit atunci mi trebuie s e 1 (poarta AND2 este deschis), iar dac D i nu a a a se cunoate atunci bitul de masc trebuie s produc un rezultat ca i cnd bitii D i s a a a s a i xi au valori identice, deci mi = 0 (poarta AND2 este s nchis). Cu aceast regul a a a rezult conguratia cuvntului masc, m, care are aceeai lungime ca i a cuvntului a a a s s a cutat, cu maparea: pentru bitii Di cunoscuti mi = 1, iar pentru bitii Di nedeniti a mi = 0. Memoriei CAM i se aplic din exterior simultan dou cuvinte, cuvntul a a a dat cutat, Dk , i cuvntul masc m. exemplul urmtor, pentru un cuvnt a a s a a In a a incomplet denit Dk , se realizeaz cuvntul masc m i se prezint cutarea la dou a a a s a a a adrese din care la una cu succes (a) iar al cealalt (b) fr succes. a aa Dk = X= m= Rezultat a) 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 (Data cutat) a a 1 0 (Data existent CAM) a n 1 1 (cuvntul masc) a a 0 0 AMk = 1

Dk = X= m= Rezultat b)

1 0 0

1 0 0 0 1 1 1 0 1 0 0

1 1 0 1 0 0 0

1 0 (Data cutat) a a 1 0 (Data existent CAM) a n 1 1 (cuvntul masc) a a 0 0 AMk = 0

O utilizare foarte frecvent a memoriei CAM este cadrul sistemelor pe baz de a n a microprocesor, pentru translatarea adresei virtuale adres real prin aanumitul cirn a a s cuit TLB (Translation Lookaside Buer). Intr-un sistem de calcul spatiul de adresare virtual, V, cu care lucreaz programele este mult mai mare dect spatiul de adresare a a real (/zic), R, cu care lucreaz procesorul, adic numrul de adrese (zice) din moda a a ulele de memorie ale sistemului. (De exemplu, s considerm c spatiul virtual ar a a a

536

3.6. MEMORIA CU ACCES ALEATORIU

de 232 adrese (4G), adresare cu un cuvnt de 32 biti, iar spatiul real de 2 20 adrese a (1M), adresare cu un cuvnt de 20 biti). Translatarea unei adrese virtuale intr-o a adres real, VR, se realizeaz cu un tabel, TBL, implementat cu o memorie CAM, a a a Figura 3.105-e. Memoria CAM cu un numr de q locatii are pe ecare linie stocate dou cuvinte; a a prima jumtate a liniei cu structur CAM este un cuvnt care reprezint o adres n a a a a a virtual iar a doua jumtate a liniei (cu strutur de memorie RAM) este un cuvnt a n a a a care reprezint o adres real (lungimea cuvntului de adres virtual este mai mare a a a a a a dect a celui de adres real ). tabel se a a a In nscriu prima jumtate, functie de n a n numrul de locatii q, doar acele adrese virtuale care se preconizeaz c vor referite a a a prin rularea programului, iar pe ecare linie din a doua jumtate se a nscrie adresa (real) locatiei din memoria RAM a sistemului unde se a data referit de adresa a a a virtual (inscris prima jumtate a aceleiai linii). La aplicarea unui cuvnt de a a n a s a adres virtual la jumtatea de tip CAM a tabelului, acest cuvnt este comparat cu a a a a toate adresele virtuale nscrise i cazul unei identiti se genereaz pentru acea linie s n at a semnalul AMk = 1. Semnalul AMk activat va produce citirea adresei reale de pe a doua jumtate a liniei respective, iar aceast adres real este aplicat la memoria a a a a a RAM a sistemului de unde se citete/ s nscrie data referit de adresa virtual. a a

PROBLEME
P3.1 S se deduc structura automatului asincron care are urmtorul tabel de a a a evolutie al strilor (Figura a): a
intrari=x1x0 Starea prezenta 0 0 01 11 a b a ,0 a ,0 a ,0 a ,0 Starea urmatoare, iesire
10

a ,0 b ,0

b, 0 b ,0

x0 x1 z b)

a)

P3.2 S se studieze conditia de instabilitate pentru circuitul a crui structur este a a a prezentat mai sus (Figura b din textul problemei P3.1) a P3.3 S se determine strile totale stabile ale circuitului asincron obtinut prin a a conectarea ieirilor F 1 i F 2 ale unei porti DAR-NEGAT respectiv la intrrile A 2 i s s a s A1 . Structura portii DAR este dat problema P2.22. a n P3.4 Un automat detecteaz dac a a ntr-un ir de biti aplicat pe intrarea x exist s a consecutiv trei sau mai multi biti cu valoarea 1, dac da se genereaz ieirea y = 1. a a s S se deseneze graful de tranzitie al strilor/ieirii precum i tabelul de tranzitie al a a s s strilor/ieirii. a s P3.5 Un automat detecteaz dac a a ntr-un ir de biti aplicat pe intrarea x exit s a ultimi trei biti aplicati exact doi biti cu valoarea 1, dac da se genereaz ieirea n a a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

537

y = 1. De exemplu pentru secventa de intrare 011011100 se genereaz pe ieire a s secventa 001111010. S se deseneze graful de tranzitie al strilor/ieirilor precum i a a s s tabelul de tranzitie al strilor/ieirii. a s P3.6 Un automat calculeaz functia majoritar de trei variabile F = 0 (3, 5, 6, 7) dar a tripletul valorilor celor trei variabile este aplicat serial pe intrarea x a automatului. Automatul genereaz y = 0 pn cnd a treia valoare din triplet este aplicat pe a a a a a intrare iar atunci va genera y = 0 sau 1 daca numrul de biti 0 respectiv de 1 a fost a majoritar triplet; de exemplu pentru irul aplicat pe intrare 011100101 va genera la n s ieire 001000001. S se deseneze graful de tranzitie al strilor/ieirii precum i tabelul s a a s s de tranzitie al strilor/ieirii. a s P3.7 Un automat, de tip Mealy, identic dintr-un ir de biti, aplicat la intrarea a s x, secventa 10110 i genereaz, cnd aceast secventa este identicat, unu logic pe s a a a a ieirea y. irul aplicat peste secventa corect se poate suprapune, partial, i o s In s a s alta urmtoare, secventa corect. S se deseneze graful de tranzitie al strilor/ieirii a a a a s precum i tabelul de tranzitie al strilor/ieirii. s a s P3.8 S se realizeze graful de tranzitie al strilor/ieirii pentru un automat Mealy a a s care are functiunea de detector de secvente: dintr-un ir oarecare de biti aplicat la s intrarea x se detecteaz secventa 010110 i se genereaz, cand aceast secventa este a s a a identicat, unu logic pe ieirea y; peste secventa corect se poate suprapune, partial, a s a i o alt urmtoare secventa corect. s a a a P3.9 Un detector de secvente, de tip automat Mealy, cnd detecteaz secventa a a 01101 dintr-un ir de biti aplicat pe intrarea x genereaz 1 pe ieirea y 1 , iar cnd s a s a detecteaz secventa 01111 genereaz 1 pe ieirea y 0 . Unei secvente din ir i se poate a a s s suprapune o alt secventa de acelai tip sau din cellalt tip. (cuvntul de ieire este a s a a s ordonat y1 y0 ). P3.10 Un automat de tip Moore detecteaz dac secvente de cte patru biti aplicate a a a pe intrarea x constituie un cod corect pentru o cifr exprimat codul BCD (8-4-2a a n 1). Dac secventa este un cod BCD corect se genereaz y = 1, dac nu se genereaz a a a a y = 0. S se realizeze graful de tranzitie al strilor. a a P3.11 Un automat Mealy care detecteaz, a ntr-un ir de biti aplicat pe intrarea s x, secventa 01010 are urmtoarea functionare. Cnd secventa 01010 este detectat a a a ir se genereaz ieirea y0 = 0. Dac irul de intrare se detecteaz subsecventa n s a s a n s a 011 atunci se genereaz y1 = 1 i se initializeaz, din nou, cutarea secventei 01010. a s a a Peste o secventa 01010 se poate suprapune nceperea unei urmtoare secvente 01010. a S se realizeze graful de tranzitie al strilor/ieirilor. a a s P3.12 Un automat Mealy cu o singur intrare x i dou ieiri y 0 (pentru deschidere) a s a s i y1 (pentru alarm), utilizat ca cheie electronic, are urmtoarea functionare. Pentru s a a a deschidere trebuie s se aplice pe intrarea x succesiv patru cuvinte de cod C 1 , C2 , C3 a i C4 (ecare de cte patru biti), de exemplu C1 = 0110 = 6|10 , C2 = 1010 = 10|10 , s a C3 = 0100 = 4|10 i C4 = 1000 = 8|10 , dup care se comand deschiderea y0 = 1. s a a Dimpotriv se comand alarma, y1 = 1, dup patru cuvinte de cod dac acestea sau a a a a printre acestea exist coduri greite. Un cod corect se noteaz cu C iA iar un cod a s a greit cu CiF , i = 1, 2, 3, 4 iar prin C oricare combinatie de patru biti care genereaz s a o tranzitie. S se construiasc graful de tranzitie al strilor/ieirilor i tabelul de tranzitie al a a a s s strilor/ieirilor. a s
7

538

3.6. MEMORIA CU ACCES ALEATORIU


C1 Starea prezenta C1A C1F
q0 q1 q2 q3 q4 q5 q6 q1 q4 q4 q6 q6 q2 q4 q4 q6 q6

q0
C 1F 0110 C 1A C 4A /y 0 1000

C */y1 =1 0110

C2 C2A
q2 q3 q4 q6 q6

C3 C3A
q2 q4 q4 q5 q6

C4 C4A
q2 q4 q4 q6 q6

C2F
q2 q4 q4 q6 q6

C3F
q2 q4 q4 q6 q6

C4F
q2 q4 q4 q6 q6

q2 C* q4
0100

q1
C 2A C 2F 1010

1010

C 4F /y 1 1000

q3
C 3A C 3F 0100

C* q6 b)

q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y0 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1 q0 /y1

a)

q5

P3.13 Un automat Mealy primete serial pe intrarea x cuvinte de cte patru biti s a care reprezint un numr cod EXCESS-3 i genereaz serial pe ieirea y 1 cuvinte de a a n s a s patru biti care reprezint codul BCD al numrului aplicat pe intrare, deci o conversie a a serial EXCESS-3 BCD. Dac pentru codul aplicat pe intrare nu exist un numr a n a a a (0 9) BCD automatul genereaz 1 pe ieirea y 0 . S se realizeze graful de tranzitie n a s a al strilor/ieiri (primul bit aplicat pe intrare din codul EXCESS-3 este cel mai putin a s semnicativ. P3.14 S se determine dac urmtoarele grafuri de tranzitie sunt denite ambiguu a a a
x y 1 q3 x z x y z z x y q3 x+y q1 x z w q2 wxy z wxz q3 w x z x+y x y

q0 x

q1 1 w+z

q0 x+z q2

q1 w z q3

a)

w+x

q2 x q0 z x y q2

b)

w q0 x xyz wyz q1 y y x

c)

d)

P3.15 Pentru automatul cu diagrama de semnale din gur s se construiasc a a a graful de tranzitie al strilor/ieirii. a s

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS


CLK 1 x z0 z1 y 2 3 4 5 6 7 8 9 10 11 12

539

P3.16 Pentru grafurile de tranzitie ale strilor/ieirilor din gura de mai jos s se a s a deduc tabelele de tranzitie ale strilor/ieirilor. a a s
x/y x/y x/y x/y q0 x/y x/y x/y x/y q1 x/y x/y q
2

x/y q0 x/y x/y q1

q2

x/y x/y

a)
x 1x 0 q0

c)
x 1x 0 x 1x 0 x 1x 0 x 1x 0 x 1x 0 q1 x 1x 0 + x 1x 0

q3

x/y x/y x/y

q4

q5

x2 x 1x 0 /y 1 y 0 q0 q1

(x 2x 1x 0) /y 1 y 0 q2
0

x 2x 1x 0/y 1 y 0 (x 2x 1x 0) /y 1y
0

x 2x 1x 0/y 1y

x 1x 0 + x 1x 0

(x 2x 1x 0) /y 1y = toate

b)

q2 x 1x 0 + x 1x 0

d)

q3

/y1 y0 /y1 y0

q4

configuratiile din intervalul 000 : 111

Figura 3.122 Grafurile de tranzitie pentru problema P3.16

P3.17 Pe cele dou intrri x1 i x0 ale unui automat sincron se aplic dou iruri de a a s a as biti. Automatul va genera o ieire activ, y = 1, cnd pentru cinci tacte consecutive s a a subirurile aplicate la cele dou intrri sunt identice. S se realizeze graful de tranzitie s a a a al strilor/ieirilor i apoi tabelul de tranzitie al strilor/ieirilor. a s s a s P3.18 Pentru un anumit experiment este necesar a se detecta dac o bil de un a a diametru D, situat a ntr-un tub, se deplaseaz sus sau jos. Pentru a detecta a n n deplasarea se xeaz lugimea tubului doi senzori S 1 i S2 la o distanta < D. Cnd a n s a bila este dreptul unui senzor acel senzor va indica valoarea logic 1, altfel va indica n a valoarea logica 0. Cnd bila se deplaseaz sus o ieire y 1 va avea valoarea logic 1 a a n s a iar cnd bila se deplaseaz jos ieirea y 2 va avea valoarea logic 1. S se conceap a a n s a a a organigrama ASM i apoi s se construiasc tabelul de tranzitie al strilor/ieirilor. s a a a s P3.19 Graful de tranzitie al strilor/ieirilor de la problema P3.7. S se converteasc a s a a

540

3.6. MEMORIA CU ACCES ALEATORIU

ntr-o diagrama ASM i apoi s se construiasc tabelul de tranzitie al strilor. s a a a P3.20 Graful de tranzitie al strilor/ieirilor din exemplul 3.3 Figura 3.11. S se a s a converteasc a ntr-o organigram ASM. a P3.21 S se conceap organigrama ASM a unui automat ale crui succesiuni de a a a cuvinte generate la ieire, y2 y1 y0 , la aplicarea impulsurilor de ceas, este o numrare s a n a cod binar natural 8-4-2-1 sau cod GRAY. Cu ajutorul intrrii B/G = 1 se comand n a numrarea binar natural, B/G = 0 sau cod Gray B/G = 1. a n n P3.22 Pentru automatul Mealy cu tabelul de tranzitie al strilor/ieirilor de mai a s jos s se reduc strile redundante prin metoda mapei implicantilor. a a a

Starea prezenta
0 1 2 3 4 5 6 7 8

Starea urmatoare / iesire x=0 x=1


0/00 4/00 7/00 2/01 6/10 5/01 1/01 3/10 8/01 1/00 2/00 1/00 6/10 5/00 4/11 6/10 8/00 7/11

Starea prezenta
A B C D

Starea urmatoare/iesire x=0 x=1


C/0 D/0 A/1 B/1 B/1 B/1 D/0 C/0

Starea prezenta
A B C D E F

Starea urmatoare/iesire x=0 x=1


D/0 E/0 G/0 A/1 A/1 C/0 A/1 B/0 A/1 F/1 D/0 D/0 B/0 E/0

a)

b)

c)

P3.23 Pentru cele dou automate de tip Mealy cu tabelele de tranzitie ale stria a lor/ieirilor de mai sus (b i c) s se deseneze grafurile de tranzitie ale strilor/ieirilor s s a a s nainte i dup reducerea strilor redundante. s a a P3.24 Pentru automatul cu tabelul de tranzitie al strilor/ieirii din gura urm a s a toare s se deduc functiile de excitatie pentru codicarea strilor dou modaliti: a a a n a at 1 - cod binar natural; 2 - cod Gray.
Starea Starea urmatoare / iesire prezenta x
0 1
q0 q1 q2 q3 q1 /1 q2 /0 q2 /0 q1 /1 q0 /1 q3 /0 q3 /0 q0 /0

P3.25 Urmtoarele forme de variatie de semnale se aplic la un latch SR cu ceas a a i respectiv la unul D. S se deseneze variatia semnalelor Q i Q N . s a s
CLK S R 1 2 3 4 5 6 7 CLK D 1 2 3

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

541

P3.26 Urmtoarele forme de variatie de semnale se aplic respectiv la bistabile D, a a SR i JK. S se deseneze variatia semnalelor Q i Q N . Toate bistabilele au comutatie s a s pe frontul pozitiv de ceas.
CLK D S R I K 1 2 3 4 5 6 7 8 9

P3.27 Formele de variatie de semnale din gura de mai jos se obtin la ieirea unui s bistabil T respectiv D. S se deseneze variatia semnalelor pe intrrile T respectiv D. a a Comutatia bistabilelor este pe frontul negativ.
CLK QT QD 1 2 3 4 5 6 7 8 9 10

Figura 3.134 Problema P3.27

P3.28 S se deseneze variatia semnalului generat pe ieirilor A i B ale circuitelor a s s din gura de mai jos:
vcc CLK A vcc CLK B A

Q CLK K QN

Q B

CLK K QN

Figura 3.136 Problema 3.28

P3.29 S se deseneze variatia semnalului generat pe ieirile A i B ale circuitelor a s s din gura de mai jos. Initial bistabilele sunt starea Q = 0. n P3.30 Pentru bistabilele din gura de mai jos se dau urmtoarele valori: SU = 20ns a , pLH(CQ) = pHL(CQ) = 50ns. S se determine frecventa maxim a semnalului de ceas a a i variatia semnalelor A, B i C. Initial bistabilele sunt starea Q = 0. s s n P3.31 Figura 3.40-a este realizat o structura de latch D cu ceas pornind de In a la un latch SR pe baz de porti NOR plus dou porti NAND i un inversor. S se a a s a structureze latch-uri D felul urmtor: n a a) latch SR pe baz de porti NOR plus porti NOR i inversoare; a s

542
"1" CLK I K Q CLK QN A

3.6. MEMORIA CU ACCES ALEATORIU


"1"

J
CLK K

Q QN

CLK K QN

a)

b)

CLK

CLK K QN

Figura 3.138 Problema 3.29


"1" CLK A B C

J
CLK K

Q QN

J
CLK K

Q QN

J
K

Figura 3.140 Problema 3.30

b) latch SR pe baz de porti NAND plus porti NAND i inversor; a s c) latch SR pe baz de porti NAND plus numai porti NAND. a P3.32 Un bistabil PN are urmtoarea functionare: a 1) pentru P N = 00 nscrie Q = 0, QN = 1; n 2) pentru P N = 01 fr modicare Q, QN ; aa 3) pentru P N = 10 complementeaz Q, QN ; a 4) pentru P N = 11 nscrie Q = 1, QN = 0. S se realizeze: tabelul caracteristic, tabelul de execitatie, ecuatia de functionare i a s structurarea pe un latch SR master slave. Cum poate bistabilul PN s e transformat a ntr-un bistabil D? De asemenea s se structureze un bistabil JK utiliznd un bistabil a a D un MUX 2:1. n P3.33 Pentru urmtoarele circuite s se deseneze variatia semnalelor Q A i QB . a a s Se consider starea initial a bistabilelor Q A = 0, QB = 0. a a
PRESET D Q CLK QN B

J A
CLK K CLK

Q QN

J B
K

D CLK

CLK QN

a)

b)

CLK CTL

QN CLEAR

P3.34 Pentru urmtorul circuit (a) s se deseneze variatia semnalelor Q A , QB i a a s X cnd circuit exist urmtoarele defectiuni: a n a a a) intrarea JA este gol; n b) intrarea KB este gol; n c) ieirea QB este gol; s n d) intrarea de ceas la bistabilul B este pus la mas a a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

543

e) poarta NAND2 are ieirea gol. s n Se consider c circuitul este realizat cu componente TTL. a a

VCC

J A
CLK CLK K

Q QN

J
CLK K

Q QN 2

I1 I2 I3

CLK K1 K2 K3 QN

P3.35 Pentru bistabilul de mai sus (b) s se deseneze variatia semnalului de ieire a s Q cnd pe intrare se aplic urmtoarele iruri de biti: J 1 = 1010011, J2 = 0111010, a a a s J3 = 1111000, K1 = 0001110, K3 = 1010101. Pentru ecare impuls de ceas se aplic, a din irurile date, cte un bit pe ecare intrare; se incepe cu bitul cel mai din dreapta. s a P3.36 S se proiecteze un automat cu bistabile D care pentru intrarea x = 1 a genereaz succesiv, i ciclic, codurile Gray de doi biti, iar pentru x = 0 rmne a s a a n aceeai stare. s P3.37 S se proiecteze un automat cu bistabile JK, cu dou intrri E(nable) i x a a a s care pentru E = 0 va rmne aceeai stare indiferent de valoarea lui x. Dar cnd a a n s a E = 1 va genera la ieire, ciclic, succesiunea y 1 y0 = 00, 01, 10, 11, 00, 01, pentru s x = 1, respectiv, ciclic, succesiunea y1 y0 = 00, 11, 10, 01, 00, 11 . . . pentru x = 0. P3.38 S se proiecteze un automat care pentru un cuvnt binar de n biti, b n1 , bn2 a a . . . b1 , b0 , aplicat serial pe intrarea x, ncepnd cu bitul b 0 - cte un bit pe ecare tact a a genereaz serial pe ieirea y complementul fata de doi al cuvntului aplicat pe intrare; a s a acelai tact al aplicrii bitului pe intrare se obtine i bitul corespunztor pe ieire. n s a s a s Pentru a indica faptul c secventa aplicat pe intrare s-a terminat i c circuitul se a a s a initializeaz s primeasc o alt secventa automatul mai are o intrare I care trebuie a a a a s primeasc valoarea 1 pentru un tact, altfel I = 0. Implementarea se va face cu a a bistabil D. P3.39 Pornind de la graful de tranzitie al strilor reprezentat gura urmtoare a n a (a) s se realizeze automatul ai cu bistabile D apoi cu bistabile JK. a nt
0 q0 /1 0 q1 /0 q0 =00 1 0 0 1 1 q3 /0 q2 /0 q1 =01 q2 =11 q3 =10 0/0 q3 1/1 q2 1/0 0/0 0/0 0/0 q0 1/1 q1 q0 =00 q1 =01 q2 =11 q3 =10 1/0

a)

b)

544

3.6. MEMORIA CU ACCES ALEATORIU

P3.40 Pornind de la graful de tranzitie al strilor reprezentat gura de mai sus a n (b) s se implementeze automatul varianta cu bistabile JK i bistabile T. a n s P3.41 Pornind de la grafurile de tranzitie al strilor i tabelele de tranzitie al a s strilor deduse problemele P 3.4, P 3.5 i P 3.6 s se implementeze automatele pe a n s a baz de bistabile de tip D. a P3.42 Pentru automatele din gura a (cu bistabile D) i din gura b (cu bistabile s T) de mai jos s se deduc tabelele de tranzitie ale strilor i ieirilor, apoi grafurile a a a s s de tranzitie ale strilor. a
x D D1 Q CLK QN D0 CLK D Q CLK QN B B y
a)

x A A

T1 T Q CLK Q N y

CLEAR

T Q CLK T0 QN
CLEAR

CLK

RESET

b)

P3.43 Pentru automatul din gura a de mai jos s se construiasc tabelul de a a tranzitie al strilor/ieirii i graful de tranzitie al strilor/ieirii. Apoi pentru x = 1 a s s a s s se deseneze diagrama de variatie a semnalelor z 1 , z0 , y pe un interval de 10 tacte a de ceas, pornind din starea z1 z2 = 00
x y Q CLK K QN J Q CLK K QN B1 J Ai Bi C i1

(3,2)

Ci

si

a)
CLK

b)
"1"/"0"

PRESET D Q CLK QN CLEAR

CLK

P3.44 Circuitul secvential din gura b, desenat la problema P3.43 are dou intrri a a Ai , Bi i o ieire si . Structural, se compune dintr-un sumator complet, (3, 2), i un s s s bistabil D. S se deduc tabelul de tranzitie al strilor/ieirii i graful de tranzitie. a a a s s P3.45 Un semiautomat are trei bistabile Q2 , Q1 i Q0 de tip D i o intrare x. s s Ecuatiile care descriu functiile de excitatie sunt: wD2 = (z1 z 0 + z 1 z0 )x + (z1 z0 + z 1 z 0 )x; wD1 = z2 , wD0 = z1

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

545

a) S se construiasc tabelul de tranzitie al strilor; a a a b) S se realizeze dou grafuri de tranzitie ale strilor unul pentru x = 0 i altul a a a s pentru x = 1. P3.46 Automatul din gura de mai jos este construit pe baza a dou bistabile, Q 1 a este un JK iar Q2 este de tip T. S se deduc tabelul de tranzitie al strilor/ieirii i a a a s s graful de tranzitie al strilor/ieirii. a s

A Q CLK A K Q J CLK x
N

Q CLK K QN

B B y

P3.47 Pentru automatul din gura de mai jos s se scrie functiile de excitatie/ieire a s i s se deduc tabelul de tranzitie al strilor/ieirilor iar apoi s se construiasc graful s a a a s a a de tranzitie al strilor/ieirilor. a s
x D Q CLK QN CLK D Q QN y

P3.48

S se analizeze automatul din gura de mai jos. a


Q2 Q1 Q0

Q CLK Q2 QN

Q CLK QN

Q1

Q CLK Q0 QN

P3.49 Pentru automatul din gura a) de la problema P 3.42, considernd c se a a a starea z1 z0 = 00, s se determine succesiunea strilor i succesiunea valorilor a n a a s ieirii cnd pe intrare se aplic irul de valori: 010110111011110. s a as P3.50 Pentru circuitul din Figura 3.58-a cu valorile V DD = 5V, VT = 2, 5V , Rx = 10k i Cx = 0, 001F . s

546

3.6. MEMORIA CU ACCES ALEATORIU

a) S se calculeze durata w a impulsului generat la ieire; a s b) Dac variatia tensiunii de prag VT este 20% care este variatia durata impulsului a n generat. P3.51 Pentru circuitul astabil din gura de mai jos s se deseneze diagrama de a variatie a semnalelor i s se deduc formula pentru calculul frecventei. s a a
1 v 01 2 v 02

Vx

Rx 10 k

0,001 F Cx

P3.52 Pentru circuitul 555 s se determine: a) ind conectat ca monostabil cu a Rx = 22k i Cx = 0, 01F , care este durata w a impulsului generat; b) ind conectat s ca astabil, s genereze un semnal dreptunghiular de frecventa 1 KHz i factorul de a s umplere 75%. P3.53 Cu un circuit 555 s se realizeze un receptor de linie compatibil la ieire a s TTL. P3.54 Utiliznd un circuit 555 s se realizeze un releu cu arziere la a a nt nchidere. P3.55 Pentru un numrtor asincron modulo 8, realizat cu bistabile T, cu comutatie aa pe frontul negativ, s se determine strile false introduse secventa de numrare. a a n a Cum se poate obtine ieirea z2 z1 z0 fr stri false. s aa a P3.56 Pentru un numrtor asincron modulo 8, realizat cu bistabile cu comutatie aa pe frontul pozitiv avnd timpul de propagare pCQ = 8ns s se determine timpul cel a a mai lung de propagare i s ntre care stri se obtine. a P3.57 S se modice, utiliznd o bucl de fortare netransparent, un numrtor a a a a aa asincron modulo 16 pentru o functionare de numrtor modulo: 9, 11, 13, 14 i 15. aa s P3.58 S se realizeze un generator de faze utiliznd un numrtor asincron modulo a a a 8 (cu comutatie pe frontul negativ al ceasului). P3.59 Pentru un numrtor asincron modulo 210 cu pCQ = 5ns: a) cnd continutul aa a este unul din numerele 10011000111, 00111111111, 11111111111 i se aplic urmtorul s a a impuls de ceas cte celule comut? b) care este frecventa maxim de ceas? a a a P3.60 Utiliznd circuitul numrtor 74xx163 (Figura 3.66-a) s se realizeze: a) dou a aa a a structuri de numrtor modulo 11 cod oarecare; b) un numrtor modulo 11 aa n aa n cod binar natural; c) un numrtor modulo 11 cod EXCESS3. aa n P3.61 Utiliznd circuitul numrtor 74xx161 (Figura 3.66-a) s se structureze a aa a numrtoare modulo 13 cod binar. aa n P3.62 Pentru structurile din Figura 3.172 (a, b, c), pe baza circuitului numrtor aa 74xx169 (vezi Figura 3.66-a) s se determine succesiunea cuvintelor de ieire z 3 z2 z1 z0 a s att pentru cazul cnd se consider cuvntul initial z 3 z2 z1 z0 = 0000 ct i pentru a a a a a s cazul cnd z3 z2 z1 z0 = 1111. a P3.63 S se structureze numrtoare modulo 2 16 , cod binar natural, pe baza a aa n circuitului numrtor 74xx163. aa P3.64 S se structureze dou numrtoare modulo 129 (unul cod binar natural, a a aa n altul cod oarecare) pe baza circuitului 74xx163. n P3.65 Cu celule bistabil D s se realizeze sinteza urmtoarele numrtoare: a a aa

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

547

CLK "1"

CLK D C B A ENP 74xx169 ENT LOAD RCO 3 2 1 0 UP/DN2 2 2 2 QD QC QB QA

CLK "1"

CLK D C B A ENP ENT 74xx169

CLK "1"

CLK D C B A ENP ENT 74xx169

RCO LOAD 3 2 1 0 UP/DN2 2 2 2 QD QC QB QA LOAD

RCO LOAD 3 2 1 0 UP/DN2 2 2 2 QD QC QB QA LOAD

LOAD a) z3 z2 z1 z0

b)

z3 z2 z1 z0

c)

z3 z2 z1 z0

Figura 3.172 Problema 3.62

a) numrtor modulo 16 cod binar natural; aa n b) numrtor modulo 6 care realizeaz urmtorul ciclu (notat zecimal) 0-1-3-7-6aa a a n 4-0-1-3. . . P3.66 Cu celule bistabil T s se realizeze sinteza unui numrtor modulo 10 cod a a n BCD. P3.67 Cu celule bistabil JK s se realizeze sinteza urmtoarelor numrtoare: a a aa a) numrtor modulo 3 care genereaz ciclic succesiunea 0-1-2-0-. . . ; aa a b) numrtor modulo 6 care genereaz ciclic succesiunea 0-1-3-2-4-6-0-1. . . . aa a P3.68 S se structureze un circuit care s multiplice frecventa de ceas cu coecientul a a 0,375. P3.69 S se structureze un ceas care indic pe aoare cu apte segmente, timpul a a s s pn la 12 ore. Pentru obtinerea semnalului de ceas se va utiliza frecventa retelei a a electrice de 50 Hz. P3.70 Pentru un spatiu de parcare, cu capacitatea maxim C max = 100 locuri, a s se indice la intrare, ecare moment, printr-un semnal luminos dac mai exist a n a a locuri de parcare, iar dac s-a ajuns la Cmax s se a a nchid o barier pe sensul de a a intrare. P3.71 Pentru organigrama ASM din gura a) de mai jos s se implementeze semia automatul. P3.72 Pentru organigrama ASM din gura b) de mai sus s se implementeze a semiautomatul. P3.73 Utiliznd un limbaj RTL (vezi 3.2.3.5) pentru un grup de patru registre a R3, R2, R1, R0 cu lungimea de 32 biti, s se specice a ntr-o diagram ASM strile a a pentru efectuarea urmtoarelor transferuri: R0 R1, R2 R3; SW AP R1, R2 a (R1 R2). Se vor structura dou tipuri de conexiuni a ntre registre: 1) ecare cu ecare (punct-la-punct); 2) prin intermediul unei singure magistrale. P3.74 Pe baza unui circuit acumulator de patru biti s se realizeze un numrtor a aa cod BCD. n P3.75 Pe baza unui circuit acumulator de patru biti s se realizeze un numrtor a aa modulo 12. P3.76 La sumatorul din problema P 3.44: a) s se introduc registre de deplasare a a

548
000 L1 q1 L2
1

3.6. MEMORIA CU ACCES ALEATORIU

q0

q0 L1 q1 L2
1

000

001

001

L3

x2

q2 L4 q3 L5
0

010

L3

x2

q2 L4 q3 L5
0

010

011 x1

011 x1

L6 q4 q5

100 L7 101 L9
1

L6 q4 q5

100 L7 101 L9
1

a)

L8
0

x3

b)

L8
0

x3

Figura 3.182 Problema 3.71

pentru operanzi i suma; b) s se realizeze cu bistabil de tip JK s a P3.77 structura numrtorului Johnson, cu patru celule, s se modice conexiIn aa a unile astfel at s genereze un numr impar (apte) de stri. nc a a s a P3.78 Pe baza unui numrtor Johnson, cu cinci celule, s se realizeze: aa a a) un generator de 10 faze: F0 , F1 , F2 , . . . , F8 , F9 , F0 , F1 , . . . b) un generator de 9 faze: F0 , F1 , F2 , . . . , F7 , F8 , F0 , F1 , . . . P3.79 Utiliznd circuitul registru universal 74xx194 (Figura P3.80-b i P3.80-c) a s s se realizeze un circuit registru inel, fra autoamorsare: a) cu deplasare stnga, din a a a starea initial z4 z3 z2 z1 = 0001; b) cu deplasare dreapta, din starea initial z 4 z3 z2 z1 = a a 1100. P3.80 Pe baza registrului 74xx194 s se realizeze un numrtor inel cu deplasare a aa n stnga cu autoamorsare i autocorectie cu ciclul 0001 0010 0100 1000 a s 0001 . . . P3.81 Pe baza circuitului 74xx194, Figura P3.80, registru universal cu patru celule, s se realizeze: a) un numrtor Johnson de patru celule cu autoamorsare; a aa b) un numrtor Johnson cu autoamorsare i autocorectie. aa s P3.82 Pentru polinomul caracteristic x4 x3 I s se structureze circuitul secvential a liniar cu reactie cu sumator extern i cu sumator inclus. Pentru ecare din aceste s structuri s se determine succesiunea strilor generate cnd se consider starea initial a a a a a z4 z3 z2 z1 = 0001. Apoi, s se introduc circuit de autocorectie (i autoamorsare) i sa a a s s se deduc succesiunea strilor. a a P3.83 S se realizeze structura de circuite secventiale liniare cu reactie, cu sumator a extern i inclus, pentru polinomul caracteristic x 4 x3 x 1. s P3.84 Utiliznd trei celule ale registrului universal 74xx194 s se realizeze structuri a a de circuite secventiale liniare cu reactie care s genereze secvente pseudo-aleatoare cu a

CAPITOLUL 3. CIRCUITE LOGICE SECVENTIALE, CLS

549

lungimea maxim; apoi s se structureze un numrtor modulo 5 cod arbitrar. a a aa n P3.85 Circuitul din gura reprezint un generator de secvente pseudo-aleatoare a selectabil pentru secvente de cuvinte de patru biti z 4 z3 z2 z1 , realizat pe baza cir cuitului registru universal 74xx194. Selectarea se realizeaz prin intermediul unui a MUX4:1. Pentru cele patru cuvinte de selectare S1 S0 ale multiplexorului s se detera mine secventele de cuvinte z4 z3 z2 z1 precum i irul de biti aplicat pe intrarea serie de s s plasare stnga, LIN. Se consider initializarea generatorului starea z 4 z3 z2 z1 = 0001 a a n realizat prin actionarea LOAD/DEP LASARE = 1. a
VCC CLK LOAD/DEPLASARE

CLK

CLR S 1 S 0 RIN A B C D 74xx194 QA QB QC QD

LIN E 00 MUX 4:1 01 10

S1 S0 11

S1 S0

z1 z2 z3 z4

P3.86 S se arate c numai un registru serie cu un numr n, par/impar, de celule a a a i o retea de reactie cu paritate respectiv impar/par, conectate s a a ntr-o structur de a circuit secvential liniar cu reactie, poate genera o secventa de lungime maxim, 2 n 1. a P3.87 Pentru circuitul secvential liniar fr reactie din gura urmtoare s se aa a a determine rspunsul la o secventa impuls unitar, la o secventa treapt unitar i s a a as a se calculeze secventa de intrare nul. a
D X
+

D2

D3

D4
+

D5
+

D6
+

P3.88 Dou circuite secventiale liniare fr reactie cu functiile de transfer H 1 (D) a aa i H2 (D) sunt comandate cu aceeai secventa de intrare X = . . . 0001011000 . . . , s s obtinndu-se secventele de ieire: Y1 = . . . 00011101101000 . . . , Y2 = . . . 00010110 a s 011101000 . . . S se deduc expresiile algebrice i s se deseneze structurile pena a s a tru cele dou circuite. Apoi s se a a nserieze cele dou functii de transfer H 3 (D) = a H1 (D) H2 (D) iar pentru circuitul rezultat s se deseneze structura i s se determine a s a rspunsul pentru secventa de intrare X3 = . . . 000111000 . . . a P3.89 Cu trei circuite secventiale liniare fr reactie cu functiile de transfer aa H1 (D), H2 (D), H3 (D), care pentru secventa X = . . . 000111000 . . . aplicat pe a intrri genereaz ieirile: Y1 = . . . 0001011101000 . . . , Y2 = . . . 0001011101000 . . . , a a s Y3 = . . . 0001101110101000 . . . s se realizeze circuitele cu functiile de transfer: a H4 (D) = H1 (D) H2 (D) H3 (D); H5 (D) = H1 (D) H2 (D) H3 (D);

550

3.6. MEMORIA CU ACCES ALEATORIU

H6 (D) = H1 (D) H2 (D) H3 (D). P3.90 Utiliznd un circuit RAM de capacitate 1M4 biti s se realizeze urmtoarele a a a module de capacitate: 1M4 biti; 2M4 biti; 4M4 biti i 2M8 biti. s

Capitolul 4

SUPORTUL CIRCUISTIC PROIECTAREA IN APLICATIILOR


4.1 CONEXIUNI PROGRAMABILE

Succesiunea desfurarea procesului de dezvoltare a unui sistem digital se ren as duce, mai mult sau mai putin, la urmtoarele trei etape: DESCRIERESINTEZ A a REALIZARE. Descrierea functionalitii se refer la acele specicatii proprii aplicatiei realizate at a de/cu sistemul digital care urmeaz a dezvoltat. Aceast descriere conduce la elaba a orarea unei arhitecturi, general, compus din mai multe blocuri n a ntre care exist a schimb informational, timp, sub form de semnale electrice. Pentru exprimarea n a functionrii sistemului digital, la nivel de arhitectur, se poate utiliza e o modalitate a a grac (desene), e o modalitate textual (limbaje de descriere, HDL, vezi vol.II). a a Sinteza const convertirea arhitecturii a n ntr-o structur logic, adic sinteza a a a retelei logice a sistemului. Realizarea const detalierea retelei logice la nivel de component (poart, a n a a tranzistor) i implementarea s ntr-o anumit tehnologie. a Evident, aceast succesiune a etapelor poate cu iteratii pe ecare etap sau chiar a a cu iteratii de la ultima etap la prima pn cnd specicatiile impuse aplicatiei sunt a a a a realizate. nal, produsul/aplicatia se prezint sub forma unei implementri cu cirIn a a cuite integrate discrete conectate pe o plac de circuit imprimat sau sub forma unui a singur circuit integrat, SOC (System-On-a-Chip). Intre aceste dou modaliti exa at treme de implementare pot exista diferite variante functie de ct de multe prti ale n a a implementrii de pe placa de circuit imprimat pot transferate a ntr-o implementare siliciu. Aceste variante de implementare pe un circuit integrat sunt determinate n de anumite criterii impuse aplicatiei cum sunt: performanta ( general vitez), con n a sumul de putere, suprafata ocupat pe siliciu, timpul de dezvoltare, exibilitatea a pentru modicare (recongurabilitatea), siguranta functionare i nu ultimul n s n rnd costul. a 551

552

4.1. CONEXIUNI PROGRAMABILE

Produsul totalitate se constituie dintr-o component hardware i o compon a s nent software (compilator, program de arcare, program de testare i depanare, a nc s program de lucru interactiv cu sistemul elaborat, sistem de operare (executiv), etc). Pentru ponderarea ntre hard i soft se analizeaz cum contribuie acestea, hard-ul s a prin performantele de vitez iar soft-ul prin exibilitate, la performantele i costul a s sistemului. Costul unui circuit integrat poate aproximat pe baza urmtoarei relatii: a Cost/unitate = Costul dezvoltrii a + Costul de fabricatie/unitate Volumul productiei (4.1)

Costul de fabricatie/unitate, cnd complexitatea procesului de fabricatie este a deja stpnit, general, este proportional cu dimensiunea pe siliciu i, uzual, pentru a a a n s circuitele integrate comercial obtenabile se situeaz ordinul uniti sau zeci de EUR; a n at acest cost este repetabil pentru ecare circuit integrat. Costul dezvoltrii contine cheltuielile pentru munca de proiectare, investitia a n instrumentele de proiectare (programe CAD-Computer Aided Design, calculatoare etc) plus cheltuielile auxiliare (regia). Costul dezvoltrii poate foarte mare, a n general de la zeci de mii de EUR sus. Aceast component a costului/unitate poate n a a redus e printr-o micorare a costului procesului de proiectare, e printr-o mrire a s a a volumului productiei sau prin ambele simultan; acest cost nu este repetabil, NRE (Nonrecurring Engineering Cost), se distribuie pe ntregul lot fabricat deci nu favorizeaz seriile mici. a Proiectarea unui circuit electronic, ideal, ar trebui efectuat pentru obtinerea de a performante maxime i s ntr-un timp ct mai scurt ceea ce este contradictoriu, a n consecinta se alege una din aceste dou abordri: proiectare pentru performante a a maxime sau proiectarea ntr-un timp scurt. Proiectarea pentru performante maxime implic un cost al dezvoltrii foarte a a ridicat de ordinul de la sute de mii de EUR sus i care nu se amortizeaz dac n s a a volumul productiei nu este foarte mare (recomandat o astfel de productie pentru a produse de larg consum, industria auto, jucrii, etc); general o astfel de proiectare a n se realizeaz cu o echip de zeci de ingineri an. Acest tip de proiectare este referit a a a ca proiectare complet realizat de ctre utilizator - full custom design. a a Abordarea dezvoltrii printr-o proiectare timp scurt, evident, duce la aparia n ia rapid a produsului pe piata. unele cazuri aparitia pe piata a unui nou produs t a In cu un an mai devreme dect al competitorului poate duce la un prot dublu fata a de competitor. Acest avantaj se explic prin faptul c primul piata capteaz pe a a n a toti clientii i la un pret ridicat pe cnd la urmtorii veniti piata rmn restul de s a a n a a clienti i la un pret sczut; cu alte cuvinte protul obtinut printr-o proiectare rapid, s a a foarte frecvent, depete protul obtinut printr-o proiectare pentru performanta (iar as s la a doua proiectare, care apare pe piata odat cu cea a competitorului, se realizeaz a a pentru produs performante foarte ridicate!) Dar, general, o proiectare rapid se n a face pentru o productie volum redus ceea ce nu ar duce la valori mici pe unitate n pentru componenta costului de dezvoltare, relatia 4.1. Solutia, acest caz, este s n a ,, se utilizeze prefabricate adic circuite deja proiectate i fabricate a s ntr-un stadiu avansat, cu mult peste 50% din efortul total de realizare, de ctre fabricantul de a circuite integrate (turntoria de siliciu, general) i care sunt preluate i continuate a n s s ,, procesul de realizare de ctre beneciar/client; ceea ce n a nseamn o personalizare a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

553

a circuitului pentru aplicatia sa cu un efort de dezvoltare (timp i cost) destul de s redus i acceptabil pentru productie de serie mic spre medie. general, aceast s a In a ,, personalizare se reduce la realizarea (programarea) unor conexiuni pe un suport ,, integrat existent (prefabricatul ) conform unui proiect realizat de ctre client pentru a aplicatia sa specic; o astfel de abordare a dezvoltrii unui sistem digital la care a a particip i clientul este referit prin semicustom design, mai nou referit i prin as a as abreviatia ASIC design (Application Specic Integrated Circuit design). Pentru realizarea personalizrii circuitului de ctre utilizator la aplicatia sa cira a ,, cuitul integrat prefabricat trebuie s asigure un anumit suport efectuarea conexa n ,, iunilor dorite. acest sens pe circuitul prefabricat exist posibilitatea de a se In a realiza anumite trasee noi pentru interconectare sau de a se realiza jonctionarea an umitor segmente de trase deja existente pentru o anumit conectare. oricare din a In aceste variante o deosebit atentie trebuie acordat arzierii introduse, la propagarea a a nt semnalului, de aceste trasee de interconectare, arziere care este proportional cu nt a rezistenta i capacitatea total a traseului. Traseele noi pentru interconectare pot s a realizate pe suprafata de siliciu a circuitului integrat sau pe straturile metalice situate deasupra suprafetei de siliciu. Realizarea acestor noi trasee necesit continuarea pro a cesrii, la turntoria de siliciu, cu realizarea a 13 mti pe baza informatiei elaborate a a as de ctre utilizator; aceast modalitate este referit ca programarea (circuitului) a a a prin mascare. La circuitele semicustom cu programare prin mascare se obtin cele mai mici arzieri pe traseele noi de interconectare raport cu alte variante de nt n realizare a conexiunilor programate. Pentru realizarea traseelor de interconectare, prin jonctionarea anumitor segmente de linii metalizate deja implementate, trebuie s existe a ntre capetele segmentelor re,, spective cte un comutator ce poate a nchis sau deschis pentru conectarea sau sepa,, rarea segmentelor respective. De fapt, acest comutator se realizeaz prin plasarea a n punctele de jonctionare a unui fuzibil, antifuzibil, tranzistor cu poart otant (de tip a a EPROM sau EEPROM), tranzistor de trecere sau poart de transmisie. Realizarea a unei conexiuni o singur dat programabil, OTP prin intermediul unui fuzibil a a a sau prin intermediul unui antifuzibil au fost prezentate sectiunea 1.2, Figura 1.12, i n s sectiunea 2.4.6.1; ambele modaliti pentru realizarea conexiunii prezint avantajul n at a unui consum redus de suprafata (cu putin mai mare dect dublul limii unei trase a at metalizate). Din pcate, deoarece pentru realizarea acestor conexiuni trebuie s se a a aplice din exterior tensiuni de programare gama 10 20V , este necesar o circuisn a tica auxiliar (tranzistoarele de programare cu dimensiuni mrite, tranzistoarele de a a izolare care trebuie s protejeze, de tensiunile ridicate timpul programrii, tranzisa n a toarele ce opereaz la tensiuni reduse) ceea ce diminueaz avantajul amintit anterior. a a Se prefer antifuzibilul, raport cu fuzibilul, datorit avantajului de a nu prezenta a n a posibilitatea de revenire la starea anterioar programrii, plus se pot obtine pe a a n conexiune capaciti i rezistente mai reduse (unele variante de antifuzibil pe baz de at s a siliciu amorf pot realiza rezistente gama 50 100) comparatie cu modalitile n n at de realizare a conexiunilor prezentate continuare. n Conexiunile de tip EPROM i EEPROM, sectiunea 2.4.6.1, bazate pe trans zistorul cu poart otant prezint avantajul nevolabilitii la disparitia tensiunii de a a a at alimentare dar are i dezavantajele: rezistenta ridicat conductie a tranzistorului s a n (2 4K), consum ridicat de putere ( regim static). n Conexiuni pe baz de de celule SRAM. O celul de memorie static prin bitul a a a

554

4.1. CONEXIUNI PROGRAMABILE

Citire/ Scriere

Q QN T

Segment de traseu Celula Q SRAM Segment de traseu b)


SRAM 2

Segmente de traseu Celula Q Celula


SRAM 1 S1 S0

Data

MUX 4:1 Segment de traseu

a)

c)

Figura 4.1 Conexiunea programabil pe baz de celule SRAM: a) structura a a unei celule SRAM pentru controlul unei conexiuni; b) conexiune programat prin a comanda unui tranzistor de trecere; c) conexiuni programate prin comanda unui multiplexor cu celule SRAM ( acest caz dou celule SRAM comand un MUX 2 n : 1). n a a

stocat 1 (Q = 1, QN = 0) sau 0 (Q = 0, QN = 1) poate comanda conductie sau n blocare un tranzistor de trecere, tranzistor care realizeaz jonctiunea n a ntre dou a capete de segmente de trasee de interconectare. Tranzistorul de trecere realizeaz a functia unui comutator, ntre cele dou capete, care este a nchis cnd celula SRAM a este nscris 1 i este deschis cnd celula este a n s a nscris 0, Figura 4.1-b; rezistenta a n tranzistorului conductie, deci a puntii n ntre cele dou segmente de traseu, este a gama 0, 5 2K. mod similar, pe baz de celule SRAM, se poate realiza n In a selectarea dintr-un grup de 2n trasee doar a unuia i conectarea acestuia la un alt s segment de traseu prin intermediul unui MUX 2n : 1; bitii cuvntului de selectare a aplicati multiplexorului sunt nscrii n celule SRAM, Figura 4.1-c este prezentat s n n cazul pentru n = 2. Structura celulei SRAM se compune dintr-un latch cu inversoare plus un tranzistor de trecere T, prin care se comand operatia de a nscriere/citire date la celul, Figura a 4.1-a. Celula este nscris (tranzistorul T conductie) procesul de programare a a n n circuitului i este citit procesul de depanare; conditii normale de functionare s a n n tranzistorul de trecere T din celul este blocat iar ieirea Q a celulei, prin valoarea sa, a s controleaz conductia sau blocarea unui tranzistor de trecere plasat a ntre dou capete a de segmente de traseu de interconectare. Intr-o astfel de utilizare celula SRAM are o frecventa a operatiilor de citire/ nscriere mult mai mic dect a unei celule dintr-o a a matrice de memorie conventional; consecinta, o astfel de celul SRAM se dimen a n a sioneaz primul rnd pentru a asigura o stabilitate i densitate ridicat i al doilea a n a s a s n rnd pentru vitez. Aceste celule de memorie nu formeaz o matrice compact, ele a a a a sunt dispersate pe ntreaga suprafata a circuitului, sunt plasate apropierea tranzis n toarelor sau multiplexoarelor pe care trebuie s le controleze. Suprafata necesar a a pentru realizarea unei conexiuni este relativ destul de mare, necesit cel putin cinci a tranzistoare din structura celulei SRAM, plus tranzistorul de trecere comandat. De asemenea, conexiunea programat este volatil, valoarea logic a a a nscris celul este a n a anulat la disparitia tensiunii de alimentare; deci programarea conexiunilor trebuie a realizat la ecare punere sub tensiune a circuitului. consecinta, lng circuitul a In a a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

555

programat trebuie s existe un mecanism de memorare a informatiei de programare a (de congurare) a conexiunilor materializat printr-un PROM, EPROM, EEPROM sau date pe un hard(disk). Cu toate acestea, raport cu celelalte modaliti de n at realizare a conexiunilor programate, cea bazat pe celule SRAM, s-a impus datorit a a urmtoarelor avantaje: a - reprogramare rapid (similar cu comutarea pe calculator la alt program); a - reprogramare dinamic ( circuit); a n - proces standard de fabricatie pentru comutatoarele programabile.

4.2

PROIECTAREA DE TIP FULL-CUSTOM

Proiectarea de tip full-custom este o proiectare pentru performanta, consumatoare de investitie initial, i necesit o echip de proiectanti cu specializare ridicat, de a s a a a ordinul zeci de ingineri an, ceea ce determin un cost de dezvoltare foarte ridicat. a plus, pentru c durata de dezvoltare este lung, de peste un an, pentru a obtine In a a performante ridicate produsul trebuie proiectat a implementat ntr-o tehnologie care se experimenteaz aceeai perioad cu proiectarea circuitului. Procesul de deza n s a voltare are succesiune etapele de: arhitectursintezrealizare, dar ecare etap n a a a este realizat minutios pentru a se obtine performante maxime. Dup parcurgerea a a etapelor sensul anterior ( jos, top-down) se reia, prin iteratii, i parcurgerea n n s n sens invers ( sus) pentru a se verica n ndeplinirea specicatiilor, deci se pornete de s la nivel de layout. Proiectarea geometriei tranzistoarelor siliciu este o operatie obligatorie pentru n un circuit full-custom. Apoi, mai multe tranzistoare sunt integrate celule care n la fel sunt transpuse layout i testate. Acest proces de proiectare are o ascendenta n s gradual sensul c prin compunerea acestor celule se genereaz un layout pentru o a n a a celul mai mare care la rndul su poate intra geometria altei celule de dimensiune a a a n i functionalitate mai ridicat .a.m.d pn la circuitul nal. Layout-ul ecrui nivel s as a a a de celul este minutios proiectat, vericat, simulat i testat i nu se trece la nivelul a s s de celul superioar pn cnd specicatiile nu sunt a a a a a ndeplinite (o eroare strecurat a la un nivel i sesizat mai trziu poate remediat cu costuri foarte mari timp i s a a a s bani). Pentru generarea layout-ului nu totdeauna exist programe software de proieca tare sucient de performante deci, adeseori, se recurge la o proiectare manual sau a se intermixeaz proiectarea manual cu cea automat. Obtinerea unor performante a a a ridicate de vitez impune analiza arzierilor att pe liniile de conexiune ct i pe a nt a a s nivelul unei porti logice; restrictionarea numrului maxim pentru fan-out i pentru a s fan-in este foarte important (vezi sectiunea 1.5.6). Proiectarea de tip full-custom a produce un layout compact, de suprafata redus i de vitez ridicat; uzual pentru o as a a implementare aceeai tehnologie un circuit full-custom este, uzual, de (3 8) ori n s mai rapid dect acelai circuit realizat semicustom [Chinnery 02]. S nu uitm, c a s a a a oricare circuit integrat, la origine, a fost full-custom!

556

4.3. PROIECTAREA CU ARII DE PORTI LOGICE

4.3

PROIECTAREA CU ARII DE PORTI LOGICE

Aria de porti logice este un circuit integrat ce contine o multime de porti logice ce sunt plasate sub o form matriceal dar fr a conectate a a aa ntre ele, Figura 4.2-a. O astfel de structur, datorit unei organizri matriceale, este referit adesea i ca a a a a s matrice de porti (neconectate). Pe baza acestor porti, prin realizarea conexiu nilor ntre acestea, conform unor relatii logice, se obtine circuitul logic corespunztor, a Figura 4.2-b. Dar, prezent, circuitele arie de porti nu se realizeaz ca o matrice de porti lon a gice ci ca o matrice structurat pe baza unor componente (tranzistoare) neconectate a care constituie celula elementar a circuitului integrat. Cu o astfel de celul, prin a a conectarea elementelor componente, se pot obtine mai multe tipuri de porti logice care apoi, printr-o conectare corespunztoare, pot forma circuitul logic dorit. a
x9 x1 x2 x3 x4 x5 x6 x7 x8 a) b) f3 f1 f2

Figura 4.2 Circuitul arie de porti logice: a) structur de principiu pentru o a matrice cu porti NOR; b) exemplu, posibil, de conectare a portilor NOR pentru realizarea a trei functii logice. Implementarea unei aplicatii pe baza unui circuit arie de porti logice const a n proiectarea interconexiunilor necesare ntre porti/celule i apoi la turntoria de siliciu s a se realizeaz aceste interconexiuni, care necesit a un numr de 2-3 mti suplia a nc a as mentare. Costul proiectrii mtilor pentru etapele de procesare ale circuitului (costul a as de tip NRE), pn la nivelul de la care poate utilizat de ctre proiectantul aplicatiei, a a a se distribuie pe toate unitile produse de turntoria de siliciu, ca o investitie ial. at a nit a Oricum, acest numr de mti suplimentare, cerut de aplicatie, este mult mai mic a as dect numrul de mti necesar aplicatiei (peste 20) dac aceasta ar realizat ca a a as a a un produs full-custom. Traditional, proiectarea interconexiunilor se realizeaz pe a coloanele i rndurile dintre suprafetele ocupate de celule plasate matriceal, denumite s a canale de rutare, operatie care se realizeaz automat cu programe CAD adecvate. a prezent circuitele arie de porti logice, mai ales cele cu numr mare de porti In a (zeci i sute de mii), care pot contine i zone de memorie, nu mai prezint canale s s a de rutare, sunt referite ca mare-de-porti. La un circuit arie de porti logice de tip

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

557

mare-de-porti interconexiunile sunt realizate pe straturile metalizate (34 straturi) situate deasupra ariei/matricei de porti logice. Selectarea portilor care vor uti lizate pentru aplicatie (plasarea portilor) i rutarea interconexiunilor se efectueaz s a automat sau, foarte frecvent, mod interactiv deoarece este necesar a se mri pron a centajul de porti folosite i de micorare a interconexiunlor trasate manual (chiar i s s s un procent redus de porti neutilizate i de trasee duse manual reprezint numere ab s a solute destul de mari deoarece numrul total de porti pe circuit poate de ordinul a 104 sau 105 ); se poate ajunge uneori la un procentaj de porti nefolosite de peste 50% din numrul total de porti continute circuit. Datorit procentului ridicat de a n a porti neutilizate, circuitul nal, i a suprafetelor mari consumate de pad-urile de n s intrare/ieire suprafata unui circuit arie de porti logice poate destul de mare; se s pot consuma suprafete de 45 ori mai mari dect la realizarea aceleai aplicatii sub a s form de circuit full-custom. O proiectare de calitate se reect circuitul rezula a n tat prin neaparitia efectului de hazard static i aceasta se obtine prin: egalizarea s arzierilor pe porti (printr-o uniformizare a sarcinilor pe intrare i a arcrilor pe nt s nc a ieire), egalizarea timpilor de propagare pe interconexiuni (printr-o lungime egal a s a traseelor). Proiectarea aplicatiilor pe arii de porti se recomand pentru serii care se realizeaz a a volum de sute sau mii de uniti i este caracterizat de: n at s a - timp de dezvoltare redus; - automatizare ridicat a procesului de dezvoltare; a - performante (de vitez, de suprafata) relativ sczute ( raport cu full-custom). a a n Exemplul 4.1 Figura 4.3 este prezentat o structur (posibil) de celul pentru In a a a a un circuit arie/matrice de porti logice. Structura acestei celule se compune din dou linii a de difuzie, una n i alta p, care exist respectiv cte patru tranzistoare nMOS i pMOS s n a a s neconectate, cu care se pot realiza patru dispozitive CMOS. Aceast structur mai contine: a a patru bare din polisiliciu care sunt portile comune pentru cte o pereche de tranzistoare com a plementare, traseele metalizate pentru alimentare VDD , VSS , precum i ferestrele metalizate s de acces (cte dou) la ecare tranzistor i ferestrele metalizate din ecare bar (poart) a a s a a de polisiliciu. Figura 4.3-c sunt prezentate interconexiunile realizate pe celul pentru In a implementarea unei porti NOR4, Figura 4.3-b.

4.4

PROIECTAREA CU CELULE STANDARD

Proiectarea cu celule standard poate privit ca o extensie a proiectrii pe baz de a a a arii de porti logice dar cu celule care nu mai sunt la nivel de tranzistor ci cu celule de nivel mai nalt, care deja realizeaz functii logice. Realizarea aplicatiei pornind de la a nivelul de tranzistor este consumatoare de timp de proiectare. Se poate reduce acest timp dac se pornete de la celule care pot porti logice sau circuite care contin mai a s multe porti logice (multiplexoare, bistabile, sumatoare, comparatoare, etc). Aceste celule, denumite celule standard sau policelule, existente ntr-o bibliotec de celule, a sunt selectate de ctre proiectant functie de aplicatia de realizat, plasate i ina n s terconectate ntre ele obtinndu-se layout-ul viitorului circuit integrat. Elaborarea a

558

4.4. PROIECTAREA CU CELULE STANDARD

A B linie difuzata p C Ferestre metalizate pentru contact D T7 T2 pMOS Trasee metalice pentru alimentare V SS nMOS nMOS V SS a) Porti (bare) din polisiliciu linie difuzata n A c) T1 B T3 C T5 D
V DD

T2 T4 T6 T8

V DD

A+B+C+D

V DD

pMOS

b)

T5

T3 T6

T1 V SS T8

T4

T7

Figura 4.3 Explicativ pentru Exemplul 4.1: a) structur posibil de celul a a a a compus din patru perechi de tranzistoare (pMOS i nMOS) neconectate; c) conexia s unile metalice necesare pe celul pentru realizarea circuitului (NOR4) din gura b. a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

559

unei biblioteci de celule standard pentru o anumit tehnologie este o proiectare de tip a full-custom i necesit o activitate de ordinul zeci ingineri luni (ecare turntorie, s a a pentru o anumit tehnologie, pune la dispozitia utilizatorilor o bibliotec de celule a a standard). scopul uurrii operatiei de rutare a conexiunilor se adopt, general, pentru In s a a n ecare celul o aceeai altime (pentru a putea realiza rnduri de aceeai altime), a s n a s n limea putnd oricare functie de dimensiunea circuitului celulei, iar intrrile i at a n a s ieirile se xeaz numai pe laturile celulei spre care exist acces din canalele de rutare. s a a Canalele de rutare sunt pe suprafetele dintre rnduri; la circuitul din Figura 4.4 a celulele sunt plasate pe trei rnduri. Trecerile a ntre canalele de rutare se face prin suprafetele libere dintre celulele de pe aceai rnd; uneori aceste treceri pot real s a izate i prin suprafata celulei (orizontal sau vertical) dac programul CAD de rutare s a are aceast facilitate. Comparativ cu proiectarea de tip full-custom la proiectarea cu a celule standard suprafata consumat este de cteva ori mai mare dar este mai mic a a a dect cea necesar pentru proiectarea de tip cu arie de porti. a a Spre deosebire de dezvoltarea pe baz de arie de porti, unde sunt necesare doar 2 a 3 mti pentru denitivarea aplicatiei, o aplicatie pe baz de celule standard necesit as a a toate mtile, ca i pentru full-custom; aceast asemnare face ca, uneori, acest tip as s a a de abordare de dezvoltare s e referit ca pseudo full-custom. Totui, o reducere a a s a costului initial se obtine fata de full-custom, deoarece mtile pentru ecare celul as a standard exist deja proiectate la turntoria de siliciu. Dezvoltarea de tip celule a a standard se situeaz a ntre cea cu arii de porti i cea full-custom; este recomandat la s a un volum de productie de ordinul zeci de mii de uniti. at Exist i variante de biblioteci de celule care celulele pot de diferite altimi i as n n s diferite forme; prin utilizarea unor astfel de celule se pot realiza layout-uri mult mai compacte, aproape de cele obtinute prin full-custom. Mai mult, cu astfel de celule, ecare celul poate considerat ca o component a a a ntr-un bloc mai mare iar apoi aceste blocuri sunt tratate ca i componente s ntr-un bloc mai mare. De exemplu, Figura 4.4-b, celulele A,B,C i D, de dimensiuni diferite, sunt asamblate n s ntr-un bloc notat cu R (delimitat printr-un dreptunghi cu linie ntrerupt), apoi acest bloc a mpreun cu blocurile R,S,T i U (de dimensiune i complexitate aproximativ de a s s acelai nivel) sunt asamblate blocul W. Rutarea pentru aceast abordare iers n a arhizat, realizarea aplicatiei, necesit un timp mai lung dect cea cu celule stana n a a dard precum i programe CAD mai performante, dar se poate obtine o compactare s care nu deptete cu mai mult de 20% suprafata unei proiectri full-custom. as s a tehnologia de integrare un numr tot mai mare de etape, bazate pe mascare, In a sunt necesare pentru procesele de realizare a interconexiunilor raport cu numrul n a proceselor de mascare pentru modicrile de conductivitate din substrat. Interconexa iunile sunt realizate pe baza unor straturi metalizate, ce pot mai mult de opt, referite ca metal 1, metal 2, etc., plasate succesiv deasupra substratului. De exem,, plu, Figura 4.5 este prezentat o sectiune prin stiva de ase straturi metalizate n a s pentru interconexiuni ale unui circuit integrat. Deasupra substratului pe un strat de dielectric se depune prin vaporizare chimic (Chemical Vapor Deposition) sau a electrochimic (Electrochemical Deposition) primul strat metalic (Aluminiu, Cupru, Titanium, Tungstem sau diferite aliaje). Pe primul strat, metal 1, pe baza unui proces de mascare, se graveaz reteaua de trasee necesare pentru interconexiuni; peste a acest strat metalic gravat se realizeaz un alt strat dielectric pe care se depune un al a

560

4.4. PROIECTAREA CU CELULE STANDARD

a) Canale de rutare T

Pad pentru I/O U

Celule standard

B A R C D S

b)

Figura 4.4 Proiectarea aplicatiei pe baz de celule standard: a) exempli a carea plasrii (pe trei rnduri de altimi egale) i conectrii unor celule standard; a a n s a b) abordarea proiectrii printr-o asamblare ierarhizat pe baza unor celule cu forme a a i dimensiuni diferite. s

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

561

doilea strat metalic, metal 2, care se graveaz interconexiunile pe care trebuie s n a a le realizeze, se continu acest mod, alternanta strat metalicstrat dielectric, pn a n a a la ultimul strat metalic.

Figura 4.5 Interconexiunile metalice deasupra substratului unui circuit integrat: a) sectiune vertical prin straturile metalizate care sunt interconexiunile; a n b)vedere superioar a interconexiunilor metalice din diferite straturi (dup eliminarea, a a prin gravare, a masei de oxid de izolare dintre straturile metalice i dintre trasee). s

Pentru conectarea unor trasee, din dou straturi metalice vecine, se realizeaz a a stratul de dielectric dintre acestea, oricii de ptrundere, aceste ptrunderi sunt n a a referite prin termenul de via. Via-surile dintr-un strat de dielectric sunt metalizate n acelai timp cu depunerea stratului metalic de deasupra stratului de dielectric. Peste s zona de via, coaxial cu aceasta, trebuie s e o zon de interconectare, aceast pereche, a a a viazon metalizat suprapus este referit prin termenul de damaschin (amintind a a a a a de procedeul vechi din giuvaergerie ori de inserarea de re pretioase esturi). n t a sectiunea din gur, prin cele ase straturi metalizate, se observ dou stive de In a s a a damaschine care realizeaz o penetrare de la ultimul strat, metal 6, pn la zonele de a a a substrat (tranzistoare). Se observ c sectiunile traselor pentru interconexiuni cresc a a pe msur ce sunt realizate a a ntr-un strat metalizat mai ridicat. Obinuit, ultimele 34 s straturi metalizate sunt utilizate pentru interconexiunile de alimentare (V DD , VSS ) i pentru conexiunile de lungime mare (globale, care strbat s a ntreaga suprafata a cipului); straturile metalizate nspre substrat sunt utilizate pentru conexiuni scurte. Performantele de vitez, putere consumat i de imunitate la diafonie i la zgomot a as s pentru dispozitivele programabile sunt puternic determinate de interconexiunile realizate. Metrica principal a unei interconexiuni este produsul RC constanta de timp a unde R i C sunt rezistenta i capacitatea interconexiunii respective. Performanta s s de vitez a circuitului integrat este limitat de arzierea RC a interconexiunilor; pe a a nt cnd timpii de propagare pe tranzistori se reduc progresiv odat cu scalarea, timp a a n ce reducerea limii traselor de interconectare (R crete) duce la creterea arzierea at s s nt pe conexiuni. La o caracteristic de proces de 100nm, timpul de propagare (la o a comutatie) pentru un tranzistor MOS este 5ps timp ce arzierea pe o interconex n nt iune cu lungimea de 1mm este de 30ps (raportul arzierilor este de 30ps/5ps = 6); nt iar la o caracteristic de proces de 35nm raportul arzierilor crete la 100. mod a nt s In asemntor, raportul dintre energia consumat la comutatia interconexiunii supra a a a energia disipat la comutarea tranzistorului MOS este de 5 pentru caracteristica de a

562

4.5. PROIECTAREA CU CPLD

proces de 100nm i crete la valoarea de 30 pentru caracteristica de proces de 35nm s s [Lerouge 04]. Creterea performantelor circuitului pe baza s mbuntirii interconexa at iunilor se poate obtine prin micorarea rezistentei i a capacitii traseelor. s s at Reducerea rezistenttei interconexiunilor se poate obtine prin realizarea straturilor metalizate cupru, n nlocuirea straturilor metalizate din aluminiu cu cele de cupru micoreaz rezistivitarea de la 3, 3 cm la 1, 8 cm. De asemenea cuprul s a prezint o mai bun comportare pentru efectul de electromigrare (a metalului) a a n raport cu aluminiul. Pentru tehnologiile cu caracteristica de proces ncepnd cu a 150nm sau 130nm se impune realizarea conexiunilor numai din cupru. Reducerea capacitii unei trase, att valoarea total ct i valoarea capacitii at a a a s at laterale/ ntre liniile adiacente (care inuenteaz fenomenul de diafonie), se poate a obtine prin micorarea permitivitii electrice, vezi relatia 1.2, a dielectricului care s at izoleaz straturile metalice i trasele metalice a s ntre ele. Permitivitatea electric a a obinuitului izolator, bioxidul de siliciu orurat, este 3, 6 ( 0 = 8, 85 1014 F/cm s permitivitatea electric a vidului). Multe materiale pot avea o constant electric a a a relativ a ntre 1 i 3,6 dar nu prezint valori acceptabile care se impun pentru uns a ele proprieti unui astfel de izolator: rezistenta mecanic, absorbtie de umiditate, at a interactiune chimic (splare/gravare procesul de fotolitograe, adeziune pentru a a n depunere de metal), conductivitate termic i tensiune electric de strpungere. Ceas a a rintele enumerate pot realizate de materiale numite CDO (Carbon Doped Oxide) i care sunt potrivite pentru caracteristici de proces pn la 90nm. Pentru caracters a a istici de proces sub aceast valoare se impun materiale cu o permitivitate electric a a relativ sub 2,2; o astfel de valoare poate realizat numai de materiale izolatoarea a a cu structur poroas. a a

4.5

PROIECTAREA CU DISPOZITIVE LOGICE PROGRAMABILE COMPLEXE, CPLD

Dispozitivele logice programabile simple, SPLD, prezentate sectiunea n 2.4.7, sub forma unui circuit PLA, prezint exibilitate maxim deoarece pot proa a gramate pe matricea AND ct i pe matricea OR. Dei acestea posed o astfel de exa s s a ibilitate, practic, sunt mai frecvente circuitele de tip PAL care au numai nivelul n a AND programabil iar nivelul OR este restrictionat la un numr x de intrri i fr a a s aa ,, posibilitatea de a programat. scopul ameliorrii acestei restrictionri ecare In a a poart OR a fost inclus a a ntr-un circuit, referit general prin termenul de macron celul, Figura 2.59, obtinndu-se circuitul de tip GAL, care prezint unele facilti a a a at pe intrare/ieire printre care i faptul c un pin al circuitului poate programat e s s a ca pin de intrare e ca pin de ieire. Astfel, au devenit clasice circuitele GAL16V8 i s s GAL20V8 care sunt ncapsulate cu pini pe dou rnduri, capsul DIP (Dual Inline a a a Pin) avnd numai respectiv 20 de pini (posibile 16 intrri i 8 ieiri) i 24 pini (posibile a a s s s 20 de intrri i 8 ieiri). a s s Pentru implementarea unui sistem de dimensiune mare un circuit PLD de tipul 16V 8 ori 20V 8, uneori, nu este satisfctor din punct de vedere al resurselor (intrri, a a a ieiri, termeni AND, macrocelule), iar rezolvarea ar impune: 1- utilizarea mai multor s circuite SPLD, ca i componente discrete, conectate pe o plac de circuit imprimat; s a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

563

2- realizarea unui circuit PLD integrat care s aib resursele multiplicate de n ori. a a Prima solutie poate practic cu anumite inconveniente (dimensiune, putere disipat, a a vitez) pe cnd a doua nu este o solutie viabil. De exemplu, circuitul de tip 16V 8 a a a multiplicat de n = 16 ar un circuit 256V 128; acesta presupune 128 de intrri i 128 a s intrri/ieiri (macrocelule), dar aceasta ar avea urmtoarele inconveniente [Wakerley a s a 00]. primul rnd timpii de propagare ar crete de cel putin 8 ori (o poart AND In a s a care are 512 intrri, 256 intrri negate i 256 intrri nenegate, nu poate realizat a a s a a pe un singur nivel de propagare). al doilea rnd, suprafata pe siliciu ar de 256 In a ori (n2 ) mai mare raport cu cea a unui circuit 16V 8. n Inconvenientele anterioare, prezentate de cele dou solutii, pot eliminate prin a mixarea celor dou solutii: realizarea formei de pe placa de circuit imprimat dar sub a form integrat. Aceast solutie const realizarea pe aceeai plachet de siliciu a a a a n s a a n circuite simple PLD, iar pe liniile i coloanele dintre acestea exist segmente de s a trasee care, prin programare, pot interconectate pentru realizarea aplicatiei, Figura 4.6, obtinndu-se astfel performante de vitez, dimensiune i putere mai bune dect a a s a la cele dou solutii anterioare. Un astfel de circuit logic programabil care prezint a a resurse pentru implmentarea sistemelor de dimensiune foarte mare este referit prin abreviatia CPLD (Complex PLD); un circuit CPLD poate implementa sisteme care ar necesita un numr de porti de ordinul mii-zeci de mii. a Ideea arhitectural, prezentat Figura 4.6, pentru un CPLD este realizat sub a a n a diferite abordri de ctre ecare rm de componente, existnd prezent zeci de a a a a n tipuri de circuite CPLD. Diferenta ntre aceste tipuri const modalitile specice a n at

PLD

PLD

PLD

PLD

PLD

PLD

PLD

PLD

Paduri pentru I/O

Suprafete pentru realizarea conexiunilor programabil

Figura 4.6 Organizarea de principiu pentru un circuit logic programabil complex, CPLD

564

4.5. PROIECTAREA CU CPLD

prin care se realizeaz matricea programabil AND, macrocelula, interconexiunile proa a gramabile, blocul de intrare/ieire i tensiunile de interfatare cu exteriorul. Pentru s s exemplicarea organizrii i a resurselor disponibile la un CPLD, dar din punctul de a s vedere al proiectantului de aplicatie, continuare se va prezenta circuitul EPM7512B n din seria MAX7000B (Multiple Array matriX) a rmei ALTERA. Seria MAX7000B prin scalare (pe baza acelorai componente, cu celule de programare a interconexius nilor de tip CMOS EEPROM, cu tensiunea de alimentare intern V CCIN T = 2, 5V ) a realizeaz cele cinci circuite CPLD din Tabelul 4.1. a Tabelul 4.1 Seria de circuite CPLD, MAX7000B, ale rmei ALTERA Tipul de circuit Caracteristica EPM7032B EPM7064B EPM7128B EPM7256B EPM7512B Numrul de a 600 1250 2500 5000 10000 porti utilizabile Numrul a 32 64 128 256 512 total de macrocelule Numrul de a blocuri 2 4 8 16 32 logice Numrul de a 36 68 100 164 212 pini I/O fCN T [MHz] 303,0 303,0 243,9 188,7 163,9 frecventa de ceas intern global de valoare maxim a a a

Un circuit poate suporta reprogramarea celulelor CMOS EEPROM pn la o sut a a a de ori. Circuitele EPM7xxx au o structurare de principiu prezentat Figura 4.7-a care a n este detaliat Figura 4.7-b. Scalarea ecrui circuit din serie se bazeaz pe utilizarea a n a a urmtoarelor cinci elemente componente: a 1. Blocul matriceal logic, LAB (Logic Array Block); 2. Macrocelula; 3. Expandorul de termeni produs (cu alocare distribuit, cu alocare paralel); a a 4. Matricea de interconexiuni programabile, PIA (Programmable Interconnect Array); 5. Blocul de intrare/ieire (I/O Control Block) la care prin intermediul a patru s intrri speciale se poate aplica oricrei macrocelule sau oricrui pin I/O e a a a patru semnale de intrare de utilitate general, IN T , e semnale globale pentru a control ce pot : semnale globale de ceas GCLK1, GCLK2; semnalul global de tergere, GCLRn ; semnale globale de validare, OE1, OE2. s

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

565

Se aplica semnale de intrare de utilitate generala LAB (Matrice de 16 macrocelule) LAB1 PIA LAB3 LAB4 LAB2 PIA Macrocelula 1 Macrocelula 2
Macrocelula 16

Bloc I/O

Pin I/O

La alte LAB De la pin I/O

LAB31 a) INT/GCLK1
INT/OE2/GCLK2

PIA

LAB32

Arie pentru interconexiunile programabil

INT/OE1

INT/GCLR n 6 sau 10 2 la 6 LAB1


(216)I/O

6 sau 10 semnale globale pentru validarea iesirilor LAB2 36 16 2 la 6 PIA 36 16 2 la 6 LAB4 36 16 2 la 6 36 16 2 la 6


Macrocelule Macrocelule

2 la 6 2 la 16 Bloc (216)I/O I/O 6 sau 10 2 la 6 2 la 16 Bloc (216)I/O I/O 6 sau 10

Bloc 2 la 16 I/O

Macrocelule

116

1732

6 sau 10 2 la 6 LAB3
(216)I/O

Bloc 2 la 16 I/O 6 sau 10

Macrocelule

3348

4964

b)

Figura 4.7 Seria MAX7000B (ALTERA): a) structurare de principiu a circuitelor CPLD din cadrul seriei cu detalierea pentru un bloc matriceal logic, LAB ( n medalion); b) detaliere de structurare doar a primelor patru LAB-uri cu evidentierea semnalelor corespunztoare. a

566

4.5. PROIECTAREA CU CPLD

Blocul matriceal logic, LAB este o matrice de 16 macrocelule (vezi Figura 4.7-a medalion); seria MAX7000 un circuit poate contine 2, 4, 8, 16 sau 32 de n LAB-uri. Fiecrui LAB i se aplic urmtoarele semnale: a a a - 36 de semnale de la PIA, care sunt variabilele de intrare matricea AND; n - 3 semnale globale de control (utilizabile pentru operatiile la registru din com ponenta macrocelulelor); - 2 pn la 6 semnale direct de la pinii I/O (aplicabile direct la registrul din coma a ponenta macrocelulelor pentru cazurile cnd se elimin intrrile prin intermediul a a a PIA). Macrocelula, Figura 4.8-a, este compus dintr-o matrice programabil AND, o a a matrice pentru selectarea termenilor produs i un registru programabil (bistabil cu s faciliti extinse); ecare macrocelul dintr-un LAB poate congurat individual at a a pentru o operatie logic combinational sau secvential.(Aici notiunea de macrocel a a a a este mai cuprinztoare dect cea care a fost introdus la circuitul GAL, Figura 2.57) a a a Pot generati cinci termeni produs, de maximum 32 de variabile, care prin intermediul matricei de selectare sunt alocati la intrarea unei porti OR, pentru a obtine o sum de a produse (ori o sum de produse negat la ieirea portii XOR) sau cei termeni produs a a s sunt aplicati la registru ca semnale de: PRESET, CLEAR, CE (validare ceas). Functia logic (sum de produse) poate aplicat la ieire (prin intermediul blocului I/O), e a a a s dup ce a fost stocat a a ntr-un registru (sincronizat) sau e fr stocare registru a aa n (nesincronizat). a Registrul macrocelulei suport programare individual pentru a realiza urmtoaa a a rele functionri de bistabil: D, T, JK i SR. De asemenea se poate programa (prin a s intermediul unui multiplexor) ca semnal de ceas (de sincronizare) al bistabilului s e a unul din urmtoarele semnale: a - semnalul global de ceas GCLK1 sau GCLK2 (negate sau nenegate, vezi Figura 4.7-b); - semnalul global de ceas GCLK1 sau GCLK2 dar ca semnale de validat (pe intrarea CE, de un termen produs cadrul macrocelulei); n - de un termen produs cadrul macrocelulei. n Semnalul de nscriere asincron, P RESET , este unul din cei cinci termeni produs a calculati macrocelul. La fel, i semnalul de tergere asincron CLEAR este unul n a s s a din cei cinci termeni produs dar, plus, tergerea poate realizat i prin semnalul n s as general de tergere GCLRn . s Expandorul de termeni produs. Pentru cazul cnd cei cinci termeni produs, a calculati macrocelul, nu sunt sucienti pentru numrul necesar de termeni produs n a a ,, ntr-o sum logic, se poate extinde calculul sumei de produse prin a a mprumutarea de termeni produs calculati i alte macrocelule; aceast extindere se poate realiza s n a dou modaliti. primul rnd, printr-o expandare cu alocare prin distributie: al n a at In a cincelea termen calculat pe ecare macrocelul este negat i aplicat a s napoi ca o coloan a matricea programabil AND (astfel apar a 16 termeni produs matricea AND, n a nc n cte unul provenit de la ecare macrocelul). Termenul aplicat a a napoi, cnd este a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII


Ceasul global Stergere globala (GCLK1,GCLK2) GCLRn De la pinul I/O 2 (intrare directa) A Ocolire registre Expandorul cu alocare paralela Selectare rapida a intrarii 0 1
Selectare CLK VCC PRESET La blocul

567

Matrice programabila AND

1 2 3 4 5 D Selectarea 16 termeni celor 36 de produs intrari de la PIA 0 1


Matrice pentru selectare termeni produs

0 I/O 1 C

D/T Q CLK CE
CLEAR Selectare Registru validare programabil

0 1 2 0 1 2

Expandorul cu alocare prin distributie a)

Simbol pentru o celula programabila EEPROM

Selectare CLEAR

La PIA

De la macrocelula anterioara (n1) PRESET 1 2 3 4 5 Matricea pentru selectare termeni produs Termeni produs ai macrocelulei n CLOCK CLEAR PRESET 1 2 3 4 5 D 36 semnale de la PIA Matricea pentru selectare termeni produs Termeni produs ai macrocelulei (n+1) CLOCK CLEAR 16 termeni produs distribuiti La macrocelula urmatoare (n+2) b)

0 1 0 1

0 1 0 1

Figura 4.8 Seria MAX7000B - Macrocelula: a) structura unei macrocelule; b) modul de expandare cu alocare paralel a termenilor produs a ntre dou macrocelule a vecine.

568

4.5. PROIECTAREA CU CPLD

selectat ntr-o sum de produse, va introduce, evident, o arziere suplimentar a nt a n calculul functiei respective. al doilea rnd, printr-o expandare cu alocare paralel In a a cnd functiile calculate de la maximum trei celule vecine anterioare sunt a nsumate cu functia de la macrocelula curent, Figura 4.8-b; se pot obtine astfel sume de maximum a 20 de termeni produs. De exemplu, pentru a realiza o sum de produse de 19 termeni a produs pe macrocelula 5 se procedeaz felul urmtor: se colecteaz pe macrocelula a n a a 2 patru termeni produs, acetia se colecteaz pe poarta OR din macrocelula 3 cu s a cinci termeni produs, apoi se colecteaz pe poarta OR din macrocelula 4 cu a cinci a nc termeni produs i nal prin colectarea i a celor cinci termeni produs pe poarta OR s n s din macrocelula 5 se obtine functia dorit (4 + 5 + 5 + 5 = 19). Evident, prin aceast a a alocare se introduce calculul functiei o arziere suplimentar egal cu arzierea n nt a a nt de propagare prin 3 porti OR. Blocul de intrare/ieire, I/O, Figura 4.9-a. Cu acest bloc se poate congura s individual ca ecare pin I/O s poat utilizat ca un pin de intrare, ca un pin de a a ieire sau ca un pin cu transfer bidirectional. Pinul I/O este un terminal de intrare s cnd driverul de ieire, de tip TSL, este starea HZ (semnalul de validare ieire a s n s driver este starea L) i este un terminal de ieire cnd driverul are o functionare n s s a normal (semnalul de validare ieire driver este starea H). Semnalul de validare a s n ieire driver poate selectat dintre: VCC , mas i un set de 6 sau 10 semnale globale s as de validare. Setul de semnale globale de validare se obtin (negate sau nenegate) de la PIA i care au fost aplicate ca semnale de intrare pe diferite intrri ale circuitului s a sau ca semnale de la ieirile unor alte macrocelule. Alimentarea driverului de ieire s s se face la valori ale tensiunii de intrare/ieire V CCO = 3, 3V ; 2, 2V ; 1, 8V care sunt s tensiuni ale standardului sub ale crui specicatii se face comunicatia a ntre pinul I/O al circuitului CPLD i circuitele exterioare plasate pe aceeai plac de circuit s s a imprimat, vezi Exemplul 4.4 (circuitul MAX7000B interior i buerul de intrare n s sunt alimentate la tensiunea VCCIN T = 2, 5V , care poate diferit de tensiunea a VCCO ). Cnd pinul I/O opereaz ca pin de intrare exist toleranta pentru tensiunile a a a exterioare aplicate pe intrare de 3, 3V 2, 5V i 1, 8V . Dar cnd alimentarea driverului s a se face la tensiunea de intrare/ieire de VCCO = 3, 3V atunci nivelul H al driverului s de ieire este de 3, 3V , prin urmare exist compatibilitate la conectarea exterior i s a n s cu circuite care sunt alimentate la standardul de 5V . Driverul de ieire poate programat pentru o functionare de tipul cu drenul s n gol (util pentru legarea pinului ntr-o conexiune SI cablat (vezi sectiunea 1.4.3)). De asemenea, driverul poate programat pentru modicarea valorii pantei fronturilor de cretere i descretere (slew-rate) ale semnalelor generate la ieire. O pant de s s s s a valoare ridicat a semnalelor de ieire crete performantele de vitez dar crete de a s s a s asemenea puterea disipat i poate introduce zgomote, pe cnd o pant redus duce as a a a la o arziere mai mare circuit , o putere consumat micorat i eventual evitarea nt n a s as zgomotelor. regim de pin de intrare, semnalul de la ieirea buerului de intrare, se poate In s directiona spre o macrocelul, e prin aplicarea direct la bistabilul macrocelulei a a (calea notat cu A ), e prin intermediul PIA (calea notat cu B ). Pe calea de a a aplicare direct la registru se poate selecta introducerea unei arzieri programabile. a nt Prin aceast arziere variabil se poate ajusta timpul de prestabilire, SU , la bistabil; a nt a se poate adapta momentul aplicrii semnalului pe intrarea D/T a bistabilului raa n port cu aplicarea semnalului global de ceas (de sincronizare) care prezint o anumit a a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

569

La matricea AND de la macrocelule

PIA

6 sau 10 semnale globale pentru validarea iesirii

D (Fig 4.8)

b)

Semnale PIA

V CC

Selectare validare iesire

Celula activa de mentinere a nivelului V CCO pe magistrala R pu

La alti pini I/O De la macrocelula C Programare pentru: Iesire cu drenul in gol Modificarea pantei frontului Adaptarea tensiunii la diferite standarde Intrare directa la A registru Intrare PIA B Intarzierea programabila

Driver de iesire

pin I/O

R pd Bufferul de intrare

a)

Figura 4.9 Seria MAX7000B: a) structura unui bloc de intrare/ieire I/O; s b) modul de programare, pe baz de celule EEPROM, a conexiunilor de la PIA ctre a a LAB-uri.

570

4.6. PROIECTAREA CU FPGA

arziere introdus de buerele prin care se propag. nt a a Pentru posibilitatea de conectare a pinului I/O la magistrale de tip TSL blocul n I/O sunt prevzute rezistentele Rpv i Rpd de conectare respectiv la VCCO i mas, a s s a conectarea acestora poate programat; optional poate exista o celul activ de a a a mentinere a nivelului (vezi Figura 1.46-e), care poate substitui cele dou rezistente. a Matricea de interconexiuni programabile, PIA. Aceast matrice de intera conexiuni programabile poate privit ca o magistral la care sunt conectate toate a a intrrile dedicate, toti pinii I/O ai circuitului i ieirile de la macrocelule i prin care se a s s s poate realiza, prin programare, conectarea oricrui semnal surs la oricare destinatie. a a Figura 4.9-b este prezentat modul de programare pentru rutarea semnalelor din In PIA la LAB (Macrocelule). Dezvoltarea unei aplicatii, pe baza unui circuit CPLD, are succesiune ace n leai etape indiferent de productorul circuitului, diferentele care apar sunt datorate s a suportului de dezvoltare i performantele acestui suport. Un sistem de dezvoltare s pentru aplicatii se realizeaz jurul unui PC sau a unei statii de lucru dotate cu a n un mediu software ce contine module specice pentru ecare etap a elaborrii. a a Se pornete de la o idee (izvort dintr-o cerinta sau dictat de piata) care este s aa a translatat a ntr-o arhitectur i anumite specicatii electrice. Aceast arhitectur, a s a a eventual artit blocuri, este introdus calculator e schematic (sub form mp a n a n a de desen), e textual (exprimare ntr-un limbaj de descriere) i compilat cores a spunztor. Apoi urmeaz etapele de sintez logic, de plasare i rutare (pe circuitul a a a a s CPLD utilizat) i de vericare (simulare i analiza timpilor obtinuti); pe ecare din s s aceste etape sau ntre aceste etape existnd iteratii i, nal, generarea prograa s n mului pentru congurarea circuitului CPLD, adic programarea/( a nscrierea) celulelor de tip EEPROM. Dup a nscrierea CPLD a celulelor EEPROM (utiliznd un sun a port hardware de programareprogramator) cu ajutorul programului de congurare, se va citi starea rezultat a tuturor celulelor EEPROM pentru a se verica, prin a comparatie, dac conguratia rezultat este identic cu cea din programul de cong a a a urare. Inscrierea/( arcarea) CPLD-ului se poate face e cnd acesta nu este a nc a nc inclus sistem, e cnd este deja introdus sisteme, deci inclus pe placa de circuit n a n imprimat (ultima variant se utilizeaz curent pentru modicarea sau actualizarea a a unui sistem deja functiune). Deoarece un CPLD este un circuit cu sute de pini, n iar alocarea functiunilor pe ecare pin este exibil (adic un pin poate alocat pen a a tru un anumit semnal al circuitului MAX7000B), este necesar i un program pentru s proiectarea traseelor pe placa de circuit imprimat.

4.6

PROIECTAREA CU MATRICE LOGICE PROGRAMABILE LA UTILIZATOR, FPGA

Matricea logic programabil de utilizator, FPGA (Field Programmable Gate a a Array) poate privit ca o sintez (de succes) a a ntre circuitul arie de porti logice ,, i circuitul CPLD. De la CPLD s-a s mprumutat blocul logic dar nu de aa mare s dimensiune, schimb, aceste blocuri logice de dimensiuni mai reduse, care constituie n un suport programabil pentru implementare de functii logice, sunt numr mult n a mai mare dect cele cuprinse a ntr-un CPLD. Si, similar, ca la circuitul arie de porti,

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

571

Simbolizeaza o conexiune care trebuie realizata sau eliminata Matrice pentru interconexiuni Bloc logic reconfigurabil (CLB)

Trasee pentru interconexiuni a) b) Bloc logic reconfigurabil (CLB)

c)

Linii de magistrala Trasee pentru interconexiuni d)

Figura 4.10 Modaliti de structurare pentru circuitele FPGA: a) structur at a matriceal (cu canale de rutare); b) structur tip mare de CLB-uri; c) structurare cu a a CLB-uri linie; d) structurare pe baz de magistral (pentru interconectri). n a a a

572

4.6. PROIECTAREA CU FPGA

blocurile logice ale unui circuit FPGA sunt plasate diferite topologii pe suprafata n cipului, care vor interconectate de ctre proiectantul aplicatiei. Dar, spre deosea bire de aria de porti logice, la FPGA exist deja prefabricate, a mpreun cu blocurile a logice, anumite de segmente de trasee dintre care unele vor interconectate conform proiectrii aplicatiei. Si ca durata implementrii s e scurtat, eliminnd timpul de a a a a a realizare al mtilor la turntoria de siliciu impus de o implementare pe circuitul arie as a a de porti logice, care poate de ordinul sptmnilor, pentru realizarea interconex a a a iunilor la FPGA se evit programarea prin mascare. Suportul zic al programrii a a interconexiunilor poate : fuzibil sau antifuzibil (care sunt de tip o singur dat proa a gramabil OTP), (E)EPROM (care are un numr de a nscrieri de maximum 10 3 ), SRAM, Figura 4.1 (care necesit a nscriere la ecare punere sub tensiune a circuitului); se poate obtine astfel un timp de realizare a aplicatiei de ordinul orelor sau zilelor. Evident, pentru conectarea cu exteriorul, circuitul FPGA mai trebuie s curpind a a blocuri de intrare/ieire, pentru ecare pin I/O, la fel ca la CPLD. s Pentru blocurile congurabile, CLB (Congurable Logic Block), mpreun cu a segmentele (liniile) de trasee pentru interconectare, cadrul circuitelor FPGA se pot n identica, mai frecvent, urmtoarele patru structurri: a a 1. Structur matriceal cu canale de rutare, Figura 4.10-a; similar ca la aria de a a porti logice, Figura 4.2, portile logice ind substituite cu CLB (segmentele de interconectare ind realizate pe liniile i coloanele dintre CLB, iar la intersectia s acestora exist matrice de interconectare pogramabile). a 2. Structur pe baz de mare-de-celule CLB, Figura 4.10-b, similar ariei cu mare a a a de porti logice neconectate. 3. Structur pe baz de linii/coloane de celule CLB, Figura 4.10-c, similar struca a a turilor cu celule standard, Figura 4.4. 4. Structur pe baz de magistral, Figura 4.10-c, cnd CLB-urile sunt conectate a a a a ntre ele prin intermediul unei magistrale, similar ca la unele circuite CPLD, vezi PIA Figura 4.7-a. n

4.6.1

Blocul Logic Congurabil

Un bloc logic congurabil, CLB, poate realizat pe baz de tranzistoare, pe baz a a de porti logice mai simple sau mai complexe, multiplexoare sau tabele de cutare, a LUT (Look-Up-Table, vezi sectiunea 2.4.6); s-au impus realizrile pe baz de mul a a tiplexoare i mai ales cele pe baz de LUT. Un CLB contine dou prti un generator s a a a de functii (partea combinational) i partea secvential (un registru care poate avea a s a functiunile normale ale tipurilor de bistabile plus alte faciliti suplimentare). at CLB pe baz de MUX. Un generator de functii de n variabile se poate realiza a cu un circuit MUX 2n : 1, sectiunea 2.4.4.1; variabilele functiei se aplic pe cele n a intrri de selectare iar coecientii functiei pe cele 2 n intrri de date, pentru ecare a a n conguratie i a cuvntului format din coecientii functiei se obtine una din cele 2 2 a n functii, fin , 0 i 22 1. Structuri de generatoare, pe baz de multiplexoare, a utilizate de rma ACTEL, sunt prezentate Figura 4.11. Generatorul de functii din n Figura 4.11-a, care are opt intrri i o ieire, f , poate realiza, utiliznd unele intrri a s s a a i sub forma negat, urmtoarele functii: cele patru functii logice curente (NAND, s a a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII


MUX 4:1 f

573

D00 D01 A0 D10 D11 B0 A1 B1 a)

0 Z 1 f 0 Z 1 0 Z 1

D00 D01 A0 B0 D10 D11 A1 B1 b)

0 Z 1 f 0 Z 1 0 Z 1

D00 D01 D10 D11

S1

S0

c)

A 1B1 A 0B0

D00 D01 D10 D11

00 01 10 11 Z

S R

Q CLK

S R

Q CLK

d)

A 1 B1

A 0 B0

CLK

C1 C0

Figura 4.11 CLB pe baz de multiplexoare: a,b,c) generatoare de functii pe baz a a de multiplexoare; d) structur de CLB cu generator de functii pe baz de multiplexor a a iar partea secvential realizabil jurul a dou latch-uri a a n a NOR, AND, OR cu 2, 3 i 4 intrri), XOR, XOR-OR-OR, XOR-OR-AND, OR-XOR, s a AND-XOR-OR, AND-OR, OR-AND etc. O variant a mbuntit a generatorului de a at a functii este cea din Figura 4.11-b care este echivalent unui MUX4:1 din Figura 4.11-c a pe care se pot implementa un numr de 766 functii distincte. Expresia logic a functiei a a f este: f = D00 (A0 B0 ) + D01 (A0 B0 ) (A1 + B1 ) + D10 (A0 B0 ) + D11 (A0 B0 ) (A1 + B1 ) Ataand acestui generator de functii o parte secvential, compus din dou latch-uri s a a a i cteva porti logice, se obtine o structur pentru un CBL pe baz de multiplexor, s a a a Figura 4.11-d. Partea secvential poate utilizat ca un bistabil D cu comutatie pe frontul a a pozitiv sau negativ sau ca latch transparent pe palierul H sau pe palierul L dac la a ,, ,, intrrile C1 i C0 se aplic semnalul de ceas, CLK, 1 , 0 diferite combinatii a s a n ,, logice. De exemplu, pentru conexiunea C0 =0 i C1 = CLK functionarea este s de bistabil D cu comutatie pe frontul pozitiv. Bistabil de tip JK sau SR se poate obtine prin utilizarea mai multor CLB i cu conexiuni externe pentru reactie. Partea s secvential prin recongurri pe baza unor porti existente structura CLB, sau a a n

574

4.6. PROIECTAREA CU FPGA

prin utilizarea generatorului de functii, poate genera faciliti care nu sunt comune at bistabilelor curente. CLB-urile bazate pe multiplexoare produc o exibilitate mare generarea functiilor pentru un numr de tranzistoare relativ redus, schimb din n a n cauza unui numr mare de intrri apare o mare cerere asupra resurselor de rutare a a pentru realizarea interconexiunilor. Exemplul 4.2
Pe baza unui bistabil de tip D se vor prezenta cteva structuri cu faciliti ne alnite la a at nt bistabilul SR sau la bistabilul D. Ecuatia de functionare a bistabilului SR este Q(t + 1) = S + RQ(t), Tabelul 3.4, iar a bistabilului D este Q(t + 1) = D(t), relatia 3.20. - Figura 4.12-a, Sdominant; pentru ambele intrri de date activate, SR = 11, bistabilul SR a se va nscrie Q(t+1) = 1 (la bistabilul obinuit aceast combinatie produce nedeterminare). n s a - Figura 4.12-b, Rdominant; pentru ambele intrri de date activate, SR = 11, bistabilul a SR se va nscrie Q(t + 1) = 0. n - Figura 4.12-c, fr modicri; pentru ambele intrri de date activate, SR = 11, bistabilul a a a a SR nu si modic starea Q(t + 1) = Q(t). a - Figura 4.12-d, basculeaz; pentru ambele intrri de date activate, SR = 11, bistabilul SR a a basculeaz starea opus, similar bistabilului JK, adic o functionare de bascul (bistabil a n a a a T). - Figura 4.12-e, bistabilul D cu MUX 2:1 pe intrare; ieirea Q(t + 1) va avea valoarea s uneia din valorile de intrare, D0 sau D1 , functie de valoarea 0 sau 1 a variabilei de control n C. - Figura 4.12-f, bistabil D cu validare a semnalului de ceas, Figura 3.72-c, se va nscrie bistabil intrarea Din , Q(t + 1) = Din (t), numai cnd semnalul de ceas este validat de n a CE = 1, altfel Q(t + 1) = Q(t) (vezi Figura 3.45-e).

CLB pe baz de LUT. Blocurile logice congurabile pe baz de LUT utilizeaz a a a o memorie SRAM pentru stocarea valorilor coecientilor functiei, valori care se nscriu odat cu congurarea aplicatiei circuitul FPGA. O memorie SRAM de capacitate a n n n 2n adrese 1 bit poate stoca valorile functiei fj , 0 j 22 1, (vezi sectiunea 1.1.3 i 2.1); ecare locatie, de adres determinat de conguratia cuvntului format din s n a a a valorile variabilei functiei xn1 xn2 . . . x1 x0 , se a stocat coecientul djm al functiei a (djm {0, 1}, 0 m 2n 1). De exemplu, LUT-ul din Figura 4.13-a, pentru n valorile variabilelor de intrare x3 x2 x1 x0 = 1010 = 11|10 , la locatia de adres 11 se a 4 a valoarea f 0; LUT este a n nscris functia de patru variabile f 4636 . general, a In pentru FPGA, numrul de variabile pentru functiile implementabile este a ntre 4 i s 6; toate functiile au acelai timp de propagare care este timpul de citire al memoriei s SRAM. O structur simplicat de CLB, care contine trei celule LUT, este prezentat a a a Figura 4.13-b (obtinut prin simplicarea structurii de CLB din seria XC4000 a n a rmei Xilinx). Dou generatoare de functii G i F , realizate respectiv pe LUT1 i a s s LUT2 , pot implementa oricare functie de patru variabile independente G 1 G4 sau F1 F4 . Al treilea generator H , realizat pe LUT3 , poate implementa oricare functie de trei variabile respectiv: F , G (ecare poate o functie de maxim patru variabile) i variabila H1 care este aplicat din exterior. Semnalele de la ieirile generatoarelor s a s de functii pot obtinute la dou ieiri ale CLB: F i H pot conectate la ieirea a s s s X prin intermediul MUX4 , iar G , H pot conectate la ieirea Y prin intermediul s MUX3 . Se pot obtine pe ieirile X i Y : dou functii de cel mult patru variabile s s a independente, o singur functie de cinci variablile independente sau alte functii de a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

575

SR Q(t) 00 0 0 1 a) 1

01 0 0

11 1 1

10 1 1

R S CLK

D CLK

Q(t+1)=S+Q(t)R, Sdominant 01 0 0 11 0 0 10 1 1

SR Q(t) 00 0 0 1 b) 1

S R S CLK

D CLK

Q(t+1)=SR+Q(t)R, Rdominant 01 0 0 11 0 1 10 1 1

SR Q(t) 00 0 0 1 c) 1

D R S D R CLK CLK CLK CLK

Q(t+1)=SR+SQ(t)+RQ(t) Fara modificare cand S=R=1 SR Q(t) 00 01 11 10 0 0 0 1 1 1 1 0 1 Q(t)=SQ(t)+RQ(t) Basculeaza cand S=R=1

d) D0

D D1 C e) CLK Q(t+1)=C D0+CD1 CLK

Din CE CLK f)

D CLK Q(t+1)=CED in+CEQ(t)

Figura 4.12 Posibile conguratii pentru un bistabil D dintr-un CLB prin care se pot obtine urmtoarele faciliti functionare: a)pentru SR = 11, a at n S este dominant; b) pentru SR = 11, R este dominant; c) pentru SR = 11, fr aa modicri; d) pentru SR = 11, basculeaz (bistabil T); e) bistabil D cu MUX 2:1 pe a a intrare; f) bistabil D cu validare a semnalului de ceas prin CE = 1.

576

4.6. PROIECTAREA CU FPGA

Memorie RAM (LUT) 0000 0001 0010 0011 0100 0101 Adresa 0110 RAM 0111 4 1000 1001 ptr x 3=1 1010 x 2=0 1011 x 1=1 1100 x 0=1 1101 1110 1111 a) 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 G4 G3 G2 G1 H1 F4 F3 F2 F1 LUT 1
Generare

Din

MUX 1

FF 1 Q

YQ

functii G ( de intrarile G1G4) LUT 2

Y LUT 3 functii H ( de intrarile H 1,G,F)


Generare

MUX 3

Generare

functii F ( de intrarile F 1F4) Din

MUX 4 FF 2 Q

XQ

b)

MUX 2

Figura 4.13 CLB pe baz de LUT: a) exemplu de generator de functie de 4 a variabile implementat pe un SRAM de capacitate 2 4 adrese 1 bit; b) structur de a CLB pe baza a 3 celule LUT i dou bistabile, cu dou ieiri directe (X, Y ) i dou s a a s s a ieiri sincronizate (XQ, Y Q). s pn la nou variabile. a a a Partea secvential se realizeaz jurul a dou bistabile FF 1 i FF2 care, general, a a n a s n pot programate independent pentru: nscriere sincron sau asincron (pe intrri de a a a tip PRESET i CLEAR); sincronizare prin diferite semnale de ceas; posibilitate de s activare a semnalelor de ceas prin semnal de validare, CE. structura din gur, In a intrrile de date ale bistabilelor pot selectate, prin MUX 1 i MUX2 , dintre functiile a s F , G , H sau Din , un semnal direct de la o intrare (special) CLB. Ieirile Y Q i a n s s XQ sunt ieiri sincronizate din CLB. s Exemplul 4.3 Automatul cu tabelul de tranzitie al starilor dat Figura 4.14-a s n a se implementeze pe CLB-uri care au o structur ca cea prezentat Figura 4.14-b. a a n Solutie: Adoptnd codicarea strilor A 001, B 101, C 010, D 110, E 011 a a se obtine tabelul strilor pentru functiile de execitatie w2 , w1 , w0 i pentru ieirea Z (de tip a s s Mealy):
w2 w1 w0 Z = = = = x 1 x 0 z1 z0 + x 1 x 0 z 1 z0 + x 1 x 0 z1 z 0 x 1 x 0 + x 1 x 0 z 2 z1 + x 1 x 0 + x 1 x 0 z 2 z1 x 1 x 0 z 2 z0 + x 1 x 0 + x 1 x 0 z 2 z1 + x 0

Cu aceste expresii se calculeaz valorile functiilor w2 , w1 , w0 i Z (respectiv tabelele a s n din Figura 4.14-c,d,e,f) care se ncarc LUT. Sunt necesare trei celule LUT cu patru a n intrri i una cu trei intrri, deci se utilizeaz dou CLB-uri, Figura 4.14-g. Ieirea Z se a s a a a s poate obtine att sincronizat (Mealy cu arziere) ct i nesincronizat (Mealy imediat). a a nt a s a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

577

Starea prez. A B C D E

Starea urmatoare/iesire Intrari x 1x 0 00 E/0 C/0 C/1 C/0 E/1 01 B/1 B/1 E/1 A/1 E/1 11 C/1 C/1 D/1 D/1 C/1 10 A/0 A/0 E/1 A/0 E/1

a)

b)

Starea prezenta z2 z1 z0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1

Starea urmatoare/iesire Intrari x 1x 0 00 011/0 010/0 010/1 010/0 011/1 01 101/1 101/1 011/1 001/1 011/1 11 010/1 010/1 110/1 110/1 010/1 10 001/0 001/0 011/1 001/0 011/1

CLB1/LUT 1 x 1 x 0 z1 z0 w 2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 c) 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 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 d)

CLB1/LUT 2 x 1 x 0 z2 z1 w 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 1 1 1 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 e)

CLB2/LUT 1 x 1 x 0 z2 z0 w 0 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 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 f)

CLB2/LUT 2 x 0 z2 z1 Z 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1

G4 G3 G2 G1

LUT 1

w2 CLB1 w1

FF 1 YQ D Q
CLK

z2

x1 x0

F4 F3 F2 F1

FF 2 D Q
CLK

LUT 2

XQ

z1

G4 G3 G2 G1 F4 F3 F2 F1

LUT 1

w0 CLB2 Z

FF 1 YQ D Q
CLK

z0 Z Z(t+1)

X D Q CLK FF 2
CLK

LUT 2

XQ

g)

Figura 4.14 Explicativ pentru Exemplul 4.3 a

578

4.6. PROIECTAREA CU FPGA

Blocul de intrare/ieire, I/O. Blocul I/O constituie o interfata s ntre pinii exteriori i CLB. Aceste blocuri sunt situate exteriorul suprafetei matricei formate s n din CLB-uri, Figura 4.15-a. Structura si functiile unui bloc I/O al unui circuit FPGA sunt acelei cu cele ale unui bloc I/O al unui CPLD, care a fost prezentat sectiunea s n 4.5, Figura 4.9-a. Mai nou, blocului I/O i se adaug s urmtoarele dou faciliti: 1a a a at controlul digital al impedantei driverilor de ieire i adaptarea impedantelorla intrare; s s 2-controlul uxului de date pe intrare sau pe ieire la rata dubla, DDR, sectiunea 3.6.3. s Structura i functionarea unui astfel de driver I/O va prezentat Exemplul 4.4. s n

4.6.2

Resursele de interconectare

Pentru o organizare de tip matriceal, Figura 4.10-a, a unui circuit FPGA topologia plasrii componentelor pe cip este prezentat Figura 4.15-a. Pe a a n ntresuprafetele (orizontale i verticale) dintre CLB-uri sunt plasate segmente de linii metalizate (de s diferite lungimi) precum i elemente de conectare programabile. Suprafata matricei s de CLB-uri este nconjurat de blocuri I/O, ecare dintre aceste blocuri putnd a a conectat la un pin I/O (la un pad). jurul blocurilor I/O ( In nspre paduri) exist a segmente de linii metalizate care, prin interconectri programabile, permit conectarea a unui bloc I/O la oricare pin al circuitului; aceasta permite o proiectare a aplicatiei fr restrictionri impuse de pozitia pinilor (deci, un circuit FPGA poate programat aa a pentru un cablaj imprimat deja existent). Resursa de interconectare a unui FPGA este constitit din segmentele de linii a metalizate care, prin intermediul punctelor de interconectare programabile, pot constituite trasee de transfer pentru semnale n ntre intrrile, ieirile CLB-urilor i a s s blocurile I/O. Circuitele FPGA din punct de vedere al suportului de interconectare pot cu o arhitectur de rutare segmentat sau nesegmentat. Arhitectura nesega a a mentat ofer lungimi xe pentru segmentele metalice de rutare, care strbat a a a ntreaga lungime a cipului, ceea ce poate constitui o uurare realizarea softului de plasare i s n s rutare. schimb, arhitectura segmentat contine linii metalizate de diferite lungimi In a putndu-se astfel s se realizeze o rutare optim de la logic la logic; testele au artat a a a a c o arhitectur segmentat ofer posibilitatea de a a a a a mpacheta mai mult logic i a a s la performante mai ridicate dect cea nesegmentat. Performanta unui traseu este a a determinat de timpul de propagare care este o arziere de tip RC, arziere care nt nt este puternic inuentat de punctele de interconectare programabile (evident, cir a cuitele cu trasee realizate prin mascare au performanta de vitez superioare raport a n cu cele cu interconexiuni programabile). Actual, tehnologiile de rutare cu conexiuni programabile se realizeaz cu aa numitele interconexiuni active (buerate), adic a s a pe segmentele metalizate la ecare punt de interconectare se introduce un buer, prin acesta se elimin arzierea de rutare variabil, dependent de factorul de arcare a nt a a nc (fan-out) al semnalului. Pentru concretizarea resurselor de interconectare se va prezenta continuare sun portul oferit de circuitele din seria XC4000 (Xilinx). Figura 4.15-a (medalion) sunt In prezentate toate segmentele de linii metalizate de interconectare prin care, potential, un CLB poate conectat sau poate s se conecteze la alte CLB-uri sau blocuri I/O, a detalierea la nivel de puncte de interconectare programabile este dat Figura 4.15-b a n

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

579

pad Blocuri I/O programabile


CLB CLB CLB CLB CLB

Linii simple Linii duble Linii lungi 2 Blocuri I/O programabile

8 4 3

Blocuri I/O programabile

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

Conectare directa 2 CLB 2

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

3
CLB CLB CLB CLB CLB

Blocuri I/O programabile

2 6 4 8 4 Linii Linii Linii Ceas Conectare lungi duble simple global directa

a)
Duble Simple

Duble Lungi

F 4 C 4 G4 G1 C1 F1

YQ Y

Direct

CLB

G3 C3 F3

Feedback

K X XQ

F 2C 2G2

b) Lungi

Duble

Simple

Duble

Lungi

Globale

Directe

Feedback

Lungi

Figura 4.15 Resursele de interconectare pentru seria XC400 (Xilinx): a) plasamentul componentelor pe cip cu reprezentarea bloc a liniilor de intercontectare jurul unui CLB ( medalion); b) detalierea interconectrilor programabile n n a jurul unui CLB. n

580

4.6. PROIECTAREA CU FPGA

(la intersectia dinte dou linii dac exist punct de interconectare acesta s-a gurat a a a cu un mic ptrat). a Exist urmtoarele grupe de linii de interconectare: a a 1. Linii de interconectare direct. Fiecare CLB, din matrice, are dou ieiri care a a s se conecteaz direct la celula urmtoare din dreapta i la celula de dedesubt. De a a s asemenea, celula este conectat direct la grupul de trei linii de deasupra, de dedesubt a (verticale) i partea stnga (orizontale). s n a 2. Linii de o lungime (linii simple). Aceste grupuri de cte 8 linii de o lungime a formeaz o retea pe orizontal i verical jurul unui CLB, si se intersecteaz a as a n a ntre ele printr-o matrice de interconectare, (conturul ptratic trasat cu linie a ntrerupt din a Figura 4.15-b i Figura 4.15-a medalion). Aceste linii simple asigur primul rnd, o s a n a conectare exibil a ntre CLB-uri adiacente afara putinelor linii de conectare directe n i, plus, fata de acestea sunt suport pentru un transfer bidirectional. Structura s n unei matrice de interconectare este prezentat Figura 4.16-a. Fiecare punct de a n interconectare al matricei const dintr-o retea de ase tranzistoare de trecere (sau a s porti de transmisie), Figura 4.16-b, a cror comand este aplicat de la ase latch-uri a a a s care constituie memoria de congurare (neevidentiatascuns structura pentru a a n un CLB prezentat Figura 4.13-b i Figura 4.15-a), simbolizat prin ptratele a n s n a a mici cu litera M . Un semnal aplicat pe un traseu care intr prin dreapta matricea a n de interconexiuni poate rutat la o linie simpl e directia sus, jos sau stnga a n a sau in toate cele trei direct ( functie de bitii M i n nscrii latch-urile memoriei de s n congurare).

M M

M M

a)

b)

Figura 4.16 Resursele de interconectare pentru seria XC4000 (Xilinx): a) structura unei matrice de interconectare (pentru linii simple i linii duble); s b) structura unui nod nod al matricei (M reprezint latch-urile din memoria de cona gurare). 3. Linii de dou lungimi (linii duble). Aceste grupuri, la fel ca i liniile simple, a s formeaz o retea pe orizontal i pe vertical jurul unui CLB, dar ecare linie dintre a as a n aceste grupuri intr tot la a doua matrice de interconectare, deci se pot conecta CLBa uri din doi doi. Pentru trasee mai lungi, liniile duble asigur o arziere mai n a nt

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

581

mic dect o congurare cu linii simple. Unele circuite FPGA au i linii de lungime a a s cvadrupl sau sixtupl. a a 4. Linii lungi. Acest grup de linii (verticale i orizontale) sunt pe toat dimensis a unea matricei de CLB-uri i nu trec prin matrice de interconectare. Utilitatea prins cipal a acestora este de a folosite pentru semnale de fan-out mare, cu timp de a propagare critic (fr defazaj) sau retele de distributie la nivelul aa ntregului circuit; pot comandate cu drivere TSL apropiere de CLB-uri. n 5. Linii globale. Sunt utilizate pentru distributia fr defazaj a semnalelor de aa ceas; realizrile actuale inculd circuite pentru compensarea defazajului de ceas (clock a skew), vezi sectiunea 3.5.7. Fluxul dezvoltrii unei aplicatii pe un circuit FPGA este destul de asemntor cu a a a cel pentru un circuit CPLD. Ponind de la o idee se elaboreaz o arhitectur i anumite a as specicatii electrice, apoi etapele sunt: descrierea proiectului, sinteza, implementarea i congurarea circuitului FPGA. s Descrierea proiectului-sintez se poate realiza schematic (desene) sau printra un limbaj de descriere, iar rezultatul rulrii etapelor de descriere i sintez este un a s a ier s ntr-un format specic circuitului FPGA care va suportul pentru aplicatie. Implementarea se compune din urmtoarele trei faze: partitionarea, plasarea i a s rutarea. Partitionarea const artirea proiectului pe blocuri care s poat a n mp a a mapate CLB-uri. Plasarea const alocarea acestor blocuri la anumite elemente n a n zice ale circuitului FPGA (CLB-uri, blocuri I/O). Rutarea este faza prin care elementele zice xate sunt conectate prin intermendiul liniilor de interconectare. Determinarea traseelor optime prin jonctionarea de segmente de linii de interconectare este un proces iterativ (mai dicil dact printra o programare prin mascare). Fazele de partitionare, plasare i rutare sunt realizate s automat prin soft, a utilizatorul poate impune constrngeri specice. Rezultatul ns a etapei de inplementare este un ir de biti, de ordinul 10 5 biti (bitstream). s Congurarea const transmiterea ( a n nscrierea) irului de biti obtinut etapa ans n terioar, memoria de congurare. Fiecare latch, Figura 4.1-a (simbolizat prin litera a n M Figura 4.16-b), al memoriei de congurare, distribuit pe n a ntreaga suprafata a cipului, va nscris prin irul de biti cu 1 sau 0 logic dup cum este necesar s s a a comande starea activ sau inactiv punctul programabil, la care este conectat, n a a din blocurile I/O, din CLB-uri sau din reteaua de interconectare. interiorul unui In CLB punctele congurabile sunt pentru: bitii din LUT-urile generatoarelor de functii, bitii de selectare ai multiplexoarelor. Acest ir poate trimis din calculator direct s n memoria de congurare a circuitului FPGA, deja montat pe placa de circuit imprimat a aplicatiei, sau este nscris ntr-o memorie PROM serial ce se va altura circuitului a a FPGA de pe placa de circuit inprimat (FPGA-ul trebuie congurat la ecare punere sub tensiune!). Modalitatea de programare la un circuit FPGA este, esential, aceeai ca la progra s marea unui calculator prin stocarea programului memoria principal. Dezvoltarea n a sau testarea unei noi aplicatii poate realizat tot att de uor i rapid ca i pentru a a s s s o aplicatie software. Deci, se poate spune c FPGA-ul a adus hardul la acelai nivel a s de programabilitate ca i softul. Retelele logice realizate pe FPGA au performante s de vitez mai reduse de pn la dou sau trei ordine de mrime raport cu ima a a a a n plementarea de tip full-custom, dar, schimb, duc la performante mai ridicat cu n a cteva ordine de mrime raport cu simularea soft a aceleai retele logice. a a n n s

582

4.6. PROIECTAREA CU FPGA

Exemplul 4.4 Acest exemplu are scopul de a completa notiunile de baz referitoare la a circuitul FPGA prezentate anteriorn cu noile faciliti existente la circuitele actuale. Aceste at noi faciliti vor exemplicate la circuitele FPGA ale familiei VIRTEX-II PRO at (Xilinx) raport cu circuitul FPGA XC4000. Circuitele VIRTEX-II PRO care corespund n tehnologiei elaborate anul 2000 fata de cele XC4000 (care apartin tehnologiei anilor 90) n au fost proiectate astfel at s e o platform pentru realizarea unor sisteme programabile, nc a a depind astfel nivelul numai de logic programabil. Cu aceste noi circuite se trece de as a a la nivelul de logic programabil la nivelul de sistem programabil. Aplicatiile a a complexe pot ecient repartizate ntre o implementare de tip logic (hardware) pentru a obtine o vitez ridicat i o implementare de tip software pentru a obtine o exibilitate a a s ridicat. Aceast platform VIRTEX-II PRO contine acelai timp trei componente: a a a n s
A: Un nucleu de microprocesor (PowerPC 405) B: transievere (transmitter-reciever, vezi Figura 3.82-f). Utilizate pentru interconectri a ntre magistrale, la motherboard sau la alte sisteme printr-o conexiune paralelserie respectiv paralelserie. Fiecare dintre cele (pn) la 24 canale de transmisie permite a a o rat de transfer a datelor de la 622Mb/s pn la 3,125Gb/s a a a C: FPGA, care va analizat continuare n 1. CLB. VIRTEX-II PRO blocurile logice congurabile, CLB, au o organizare tip matriceal In (vezi Figura 4.15-a) i sunt suport pentru proiectrile de tip combinational i/sau secvential. s a s Fiecare CLB posed o proprie matrice de comutatie prin care poate accesa la cile generale de a a rutare, Figura 4.16-a. Un CLB, spre deosebire de cele din familia XC4000, este compus din patru sectiuni (slice) identice S1 , S2 , S3 , S4 conectate la propria matrice de comutatie, precum i la o conexiune direct (rapid) prin care se conecteaz cu CLB-urile vecine, Figura 4.17-a. s a a a Cele patru sectiuni sunt organizate pe dou coloane, ecare coloan avnd cte un un cir a a a a cuit independent pentru propagarea transportului (Cin , Cout ) dar un singur circuit comun (ambelor coloane) pentru deplasare (Shift). Exist de asemenea, dou buere TSL care a a au ecare pin propriu pentru intrare i pentru controlului regimului TSL, ieirile acestor s s buere, TBUF, comand resurse de rutare orizontale pentru realizarea de magistrale TSL a pe cip. Fiecare dintre cele patru sectiuni ale unui CLB are acces, prin intermediul matricei de comutatie, la intrarea i/sau la controlul celor dou buere TSL. ecare sectiune Si , s a In i = 1, 2, 3, 4, a CLB-ului sunt incluse dou generatoare de functii de patru variabile, dou a a elemente de stocare, un circuit pentru propagarea transportului, porti pentru functii arit metice i o mutlitudine de multiplexoare. Numrul total de sectiuni pentru membrul cel s a mai de jos al familiei, XC2VP2, este de 1408, iar pentru membrul cel mai dezvoltat este de 55616. Figura 4.17-b este prezentat o schem simplicat pentru structura unei sectiuni In a a a (de exemplu, unele simboluri de MUX indic faptul c asupra semnalului se realizeaz o a a a functie de selectare far a specica toate intrrile de date i de selectare). a a s - Generatoarele de functii G i F sunt de tipul LUT cu patru intrri (G4 G3 G2 G1 s a i F4 F3 F2 F1 ). Se poate implementa orice functie de patru variabile iar utiliznd anumite s a multiplexoare se poate extinde pn la functii de 9 variabile de intrare. Semnelele de ieire a a s din generatoarele de functii pot obtinute la ieirea sectiunii respective (X, Y ) sau: pot s aplicate pentru calcul aritmetic (intrare la poarta XOR); aplicate lantul de propagarea n transportului; aplicate la intrarea elemenelor de stocare. -Elementele de stocare pot congurate e ca dou bistabile D cu comutatie pe a front, e ca dou latch-uri (active pe palier). Pe intrarea D semnalele directe X, Y , de a la ieirea generatoarelor de functii, via ieirile DX, DY sau semnalele BX, BY care intr s s a direct sectiune, ocolind generatorul de functii. Pentru ambele elemente de stocare ale n unei sectiuni sunt comune urmtoarele semnale de control: CLK - ceasul; CE - validare ceas; a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII


Conexiune directa (rapida) la CLBurile adiacente

583

Magistrala TSL

Interconectari programabile

CLB
TBUF

CLB C out
TBUF

C out Sectiunea S3 X 1, Y 1

Sectiunea S3 X 1, Y 1 Matrice de Sectiunea S2 X 1, Y 0 comutatie SHIFT C in Sectiunea S1 X 0, Y 1 C out Sectiunea S0 X 0, Y 0 Matrice de


comutatie

Sectiunea S2 X 1, Y 0 SHIFT C in Sectiunea S1 X 0, Y 1 C out Sectiunea S0 X 0, Y 0

a)
SHIFTIN
SOPIN

C in

Suprafata pentru interconexiuni C out ORCY

C in

SOPOUT

LUT 1 G4 G3 G2 G1
MULTAND

MUXCY

G4 G3 G2 G1

D M 15 DI

GYMUX

Y FF 1 Q DY YQ

D
CLK

BY CE
CLK

CE SR REV

SR BX C1 LUT 2 F4 F3 F2 F1 F 4 DI F 3 M 15 F2 D F1
MULTAND

MUXCY O I

CLK

SR REV CE Q FF 2

XQ DX

D FXMUX

b)

SHIFTOUT

C in

Figura 4.17 FPGA din platforma VIRTEX-II Pro: a) componentele din structura unui bloc logic congurabil, CLB (matrice de comutatie, patru sectiuni plasate pe dou coloane S0 S1 i S2 S3 i dou TBUF); b) structura simplicat a unei sectiuni. a s s a a

584

4.6. PROIECTAREA CU FPGA

SR prescriere stare 0 sau 1; REV - comanda starea opus fata de cea comandat prin n n a a SR (polaritatea ecruia dintre aceste semnale se poate selecta independent prin MUX2:1). a Registrele/latch-urile pot congurate pentru urmtoarele tipuri de functionare: fr set a a a i reset; set asincron; reset asincron; set si reset asincron; set (PRESET) asincron; reset s (CLEAR) asincron; set (PRESET) i reset (CLEAR) asincron. Stergerea (reset, CLEAR) s este predominant fata de a nscriere (set, PRESET). -Logica artimetic. Prin utilizarea celor dou generatoare de functii F i G, a celor a a s dou porti AND, MULTAND, a celor dou porti XOR i a multiplexoarelor MUXCY se a a s poate implementa pe o sectiune un sumator de dou cuvinte de doi biti G2 F2 + G1 F1 , vezi a relatia 2.25. Se obtine: s1 = C1 = s1 = Cout = F2 F1 Cin (F2 F1 ) (F2 F1 ) + (F2 F1 ) Cin G2 G1 C1 (G2 G1 ) (G2 G1 ) + (G2 G1 ) C1 la ieirea X s la ieirea primului MUXCY s la ieirea Y s la ieirea Cout s

Directia de propagare a transportului este de la LUT-ul F la LUT-ul G; exist astfel a dou ci de propagare ale transportului a a ntr-un CLB; una pe sectiunile din prima coloan a (S0 i S1 ) i a dou cale pe sectiunile din a doua coloan (S2 i S3 ), conform cu notatiile din s s a a s Figura 4.17-a. Pentru a implementa operatia de nmultire portile MULTAND pot genera produsul ar itmetic (= produsul logic) a dou variabile. a Se poate obtine o form normal disjunctiv, FND, relatia 1.12 (sum de produse, SOP) a a a a de orici termeni produs prin utilizarea portii ORCY care are ca intrri semnalul SOPIN at a (de la CLB-ul anterior) i ieirea de la multiplexorul superior MUXCY. Termenii produs s s generati de un generator de functii din sectiunea Si sunt notati cu PXSi , PY Si ; intrarea 0 a multiplexoarelor MUXCY, pentru propagarea transportului, se conecteaz la mas. Prin a a colectarea termenilor produs de pe prima coloan la ieirea portii ORCY din sectiunea S 1 a s se obtine: SOU TS1 = PXS0 + PY S0 + PXS1 + PY S1 + SOP IN iar prin colectarea acestora cu termenii produs generati i a doua coloan se obtine: s n a SOU TS3 = PXS2 + PY S2 + PXS3 + PY S3 + SOU TS1 Aceast sum de porduse se poate aplica la intrarea SOPIN de la CLB-ul urmtor .a.m.d. a a a s De asemenea, prin congurarea multiplexoarelor interne,se poate realiza un MUX16:1, un MUX32:1 pe dou CLB-uri, pentru selectarea functiilor generate de LUT-uri. Dou sectiuni, a a folosind LUT-urile i MUXCY, pot implementa un AND cu 16 intrri ( s a ncercati!). - Memoria distribuit. Fiecare LUT dintr-o sectiune, ind fond o memorie RAM, a n poate utilizat ca o memorie RAM asincron, simplu port (pe ieire), de capacitate 16 1 a s bit ( nscriere sincron, ieirea cu citire asincron). Cu cele dou LUT-uri dintr-o sectiune a s a a se poate congura i o memorie RAM de capacitate 16 1 bit dar dublu port pe ieire. s s Adresarea unui LUT, ca memorie RAM simplu port, dintr-o sectiune se face pe intrrile a F4 , F3 , F2 , F1 sau G4 , G3 , G2 , G1 . Fiecare LUT mai are a patru intrri de adresare W F4 , nc a W F3 , W F2 , W F1 sau W G4 , W G3 , W G2 , W G1 (nedesenate structura simplifacat din n a Figura 4.17-b). Cnd o sectiune este congurat ca o memorie RAM dublu port 16 1 a a bit, atunci cuvntul de adres de a a nscriere se aplic simultan la ambele LUT-uri pe intrrile a a F4 /W F4 , F3 /W F3 , F2 /W F2 , F1 /W F1 de la F1 i pe intrrile W G4 , W G3 , W G2 , W G1 de la s a G; pentru citirea (asincron) a portului F cuvntul de adres se aplic pe aceleai intrri a a a a s a ca i la la s nscriere, schimb pentru citirea (asincron) a portului G cuvntul de adres se n a a a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

585

aplic numai pe intrrile G4 , G3 , G2 , G1 . Cu cele opt LUT-uri dintr-un CLB se pot congura a a urmtoarele structuri de memorie RAM: ca simplu port 16 8 biti, 32 4 biti, 64 2 biti i a s 128 1 bit, iar ca dublu port 16 4 biti, 32 2 biti, 64 1 bit. Memoria RAM distribuit a cnd se utilizeaz toate CLB-urile, acest scop, este de 45056biti pentru XC2VP2 i de a a n s 1779712 pentru XC2VP125. - Registru de deplasare. Fiecare LUT poate congurat ca un registru de deplasare cu intrarea date (care poate SHIFTIN) pe intrarea DI, celula zero a registrului, i ieirile s s de date pe M15 , celula a 16-a a registrului. Inscrierea registru de deplasare se face serial, n sincron pe semnalul de ceas CLK conjunctie cu semnalul de validare ceas CE; citirea n este asincron din oricare celul prin aplicarea pe intrrile LUT-ului a cuvntului de adres a a a a a pentru celula care se dorete a citit. Una din cele 16 celule ale registrului de deplasare s a poate citit i sincron dac ieirea acestei celule se conecteaz la intrarea bistabilului D. as a s a Intr-o sectiune, prin inserierea celor dou LUT-uri (M15 de la G se conecteaz la DI de la a a F ) se obtine un registru serie de 32 biti (ieirea ind SHIFTOUT); pe un CLB registrul de s deplasare poate de 128 biti. Resursele logice dintr-un CLB sunt urmtoarele: a
Circuite Memorie pentru Circuite Registru RAM TUBF Bistabile MULTAND propagarea SOP serie distribuit a transportului 2 2 2 2 128 biti 128 biti 2

Sectiuni LUT-uri 4 8

- Blocuri independente de memorie RAM i de multiplicatoare. Platforma s VIRTEX-II PRO are ca resurs pentru memorare, afara utilizrii LUT-urilor ca memorie a n a RAM distribuit, plus i blocuri independente de memorie RAM, dublu port, de capaca n s itate 18kb. De asemenea, afar de realizarea de multiplicatoare pe baza CLB-urilor, exn a ist i blocuri independete de multiplicare pentru as nmultirea a dou cuvinte, ecare cuvnt a a de 18 biti, complement de doi. general, ecare bloc multiplicator se ataeaz la un n In s a bloc de memorie dar poate utilizat i separat. Combinatia bloc independent de memorie s + multiplicator + acumulator (realizat LUT-uri) permite implementarea functiei de n multiplicare-acumulare din procesoarele de semnal, functie care este de o utilizare co mun calculul rspunsului la impuls nit, FIR, (Finite Impulse Response), a rspunsului a n a a la impuls innit, IIR, (Innite Impulse Response) pentru ltrele digitale. Pe ecare membru al familiei VIRTEX-II PRO numrul de blocuri de memori RAM este egal cu numrul a a de blocuri de multiplicatoare i variaz s a ntre 12 (pentru XC2VP2) pn la 556 (pentru a a XC2VP125). 2. Blocul de intrare/ieire, IOB s Pe msur ce FPGA-urile cresc numrul de componente integrate i se lrgete gama a a n a s a s de faciliti oferite, cresc i dimensiune, vitez, performanta i sistemele implementate cu at s n a s acestea. Intr-un astfel de sistem circuitul FPGA comunic cip-la-cip exterior pe placa a n de circuit imprimat cu alte componente; aceast comunicatie prin arzierile introduse are a nt un impact substantial asupra performantelor. general, aceast comunicatie se realizeaz In a a pe magistrala pentru care s-au elaborat o serie de standarde I/O de tensiuni reduse ( n tendinta de a reduce puterea disipat). Fiecare standard de I/O are propriul su set de a a specicatii referitoare la tensiune, curent, modul de buerare (intrare, ieire), modalitatea s de terminatie (intrare, iire, la capt). Blocul de intrare ieire la un FPGA trebuie s aib s a s a a suciente resurse i o mare congurabilitate pentru buerele de intrare, (driverele) de ieire s s astfel at s suporte ct mai multe standarde I/O. Un buer de intrare, IBUF, trebuie s nc a a a permit o congurare e ca simplu buer (cu o intrare pe un singur r), e ca un buer a cu intrare diferential. Un buer de ieire, OBUF, trebuie s e congurat cu o ieire a s a s

586

4.6. PROIECTAREA CU FPGA

push-pull (contratimp) sau cu o ieire dren gol (open dren). De asemenea, ecare tip s n de buer trebuie s suporte o varietate de valori de curenti i de tensiuni at s poat a s nc a a utilizat pentru ct mai multe standarde I/O. continuare se vor enumera standardele a In I/O suportate de familia VIRTEX-II PRO, specicndu-se pentru ecare doar tensiunea (dea scrierea complet a acestor standarde poate gsit la Electronic Industry Alliance JEDEC: a a a http://www.jedec.org) - PCI (Peripheral Component Interface). Este variantele de magistrale comandate de o n frecventa de ceas de 33MHz i 66MHz. Necesit: VCCO = 3, 3V , IBUF simplu (ca la s a LVCMOS), OBUF cu ieirea push-pull. Nu necesit VREF (tensiune de referinta) s n a i VT T (tensiune pe terminatie). s - GTL (Gunning Tranceiver Logic Terminated). Este un standard de mare vitez. Necea sit: OBUF de tip dren gol (deci nu se specic valoarea pentru VCCO ), IBUF de a n a tip diferential (VREF = 0, 8V ), VT T = 1, 2V . Exist i varianta GTLP (Gunning a s n Tranceiver Logic Plus) cu VREF = 1, 0V i VT T = 1V . s - HSTL (High-Speed Tranceiver Logic). Necesit: IBUF de tip diferential i OBUF de tip a s push-pull, VCCO = 1, 8V sau 1, 5V . functie de valorile pentru VCCO , VREF i VT T In s exist patru variante ale standardului. a - SSTL2 (Stub Series Terminated Logic for 2,5V). Necesit: IBUF de tip diferential (deci a se specic VREF ), OBUF cu ieirea push-pull (se specic VCCO ), VT T . SSTL18 este a s a varianta cu VCCO = 1, 8V . Blocurile I/O sunt plasate pe cele patru laturi (perimentrul) ale cipului i sunt grupate s cte dou sau cte patru. Fiecare IOB din aceste grupuri poate utilizat independent, a a a pentru o transmisie pe un singur r, sau poate utilizat mpreun cu un alt IOB din grup a realiznd o pereche diferential. Conectarea unui IOB la cile de rutare ale FPGA-ului se a a a face prin intermediul unei matrice de comutatie, Figura 4.18-a; o pereche diferential trebuie a s e totdeauna compus din IOB-uri care sunt conectate la aceeai matrice de comutatie. a a s Blocurie I/O de pe ecare latur a cipului sunt artite dou prti egale, ecare parte a mp n a a ind referit prin termenul de banc, deci toate IOB-urile de pe cele patru laturi formeaz a a a opt bnci. Tensiunea intern de alimentare, VCCIN T , a nucleului circuitului FPGA este a a VCCIN T = 1, 5V ; exteriorul circuitului, pentru comunicatia cu alte circuite din sistem n valoarea tensiunii VCCO depinde de standardul de I/O utilizat. Regula este urmtoarea: a toate IOB-urile dintr-o banc utilizeaz aceeai valoare pentru VCCO i aceeai valoarea a a s s s pentru VREF , deci de la pinii bancii respective pot exista comunicatii cu elemente exterioare numai pe baza standardelor ale cror tensiuni sunt compatibile cu valorile VCCO i VREF a s aplicate la banca respectiv. a Resursele logice ale unui IOB sunt prezentate Figura 4.18-b, care se compun din: o n pereche de elemenete de stocare plus un buer de intrare, IBUF, pentru calea de intrare i dou perechi de elemente de stocare plus un buer TSL de ieire, OBUF, pentru calea s a s de ieire (o pereche de elemente de stocare pentru intrarea OBUF i o pereche pentru s n s comanda TSL a OBUF). Organizarea electric (simplicat) a unui IOB este prezentat a a a Figura 4.18-c. Un element de stocare, FF, poate congurat e ca bistabil de tip D n e ca latch D activ pe palier. Semnalele de ceas, CLK1 i CLK2 , aplicate unei perechi de s elemente de stocare, sunt (de regul) defazate cu 180o , schimb semnalul de validare ceas, a n CE, este acelai pentru o pereche. Este comun pentru toate cele ase elemente de stocare s s semnalul SR de prescriere a strii, la fel i semnalul REV (REVerse) care prescrie elementul a s de stocare starea opus raport cu prescrierea cu semnalul SR; polaritatea ecruia n a n a dintre aceste semnale de control se poate alege independent (prin MUX2:1). Fiecare FF poate congurat pentru urmtoarele tipuri de functionare: fr set i reset; set asincron; a a a s reset asincron; set si reset asincron; set (PRESET) asincron; reset (CLEAR) asincron; set

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

587

Perechi care pot fi utilizate pentru I/O diferentiale Pad1 Pad2 Pad3 Pad4

Pad FF 2
TCLK2
DDRMUX

I/O Bloc
INTRARE

I/O Bloc 1 I/O Bloc 2

I/O Bloc 3 I/O Bloc 4

FF 1 TCLK1

TSL

ICLK2

FF 2

FF 2 DDRMUX OCLK2 Matrice de comutatie locala (comutare) FF 1 OCLK1 OBUF IESIRE IBUF

ICLK1

FF 1

a)

b)
R REF
VRN VRP

V CCO R REF

Pad

ICLK 1ICLK 2 ICE

TD2
D FF 2 Q2
DDRMUX

Rpu

Rpd
Celula activa de mentinere a nivelului pe magistrala

TCLK2 TCE

CLK 2 CE

SR REV

TCLK1 TD1 REV SR OD2

SR REV CE Q1 CLK 1 D FF 1

I/O Bloc

FF CE 2 CLK 2 Q D SR REV

IQ 2

FF 2 Q2
DDRMUX

V CCO Buffer de iesire (OBUF) D2

V REF

SR REV CE CLK 1 D Intarziere programabila IQ 1 Q

OCLK2

CLK 2 CE

SR REV

FF 1

OCE OCLK1 OD1

SR REV CE Q1 CLK 1 D FF 1

Control pentru: panta fronturilor valoarea curentului generat

D1

Buffer de intrare (IBUF)

c)

Figura 4.18 Blocul intrare/ieire, IOB, pentru familia VIRTEX-II PRO: s a) gruparea IOB-urilor la o matrice de comutatie; b) resursele logice continute ntr-un IOB; c) structurarea (simplicat) pentru cele trei ci (intrare, ieire i TSL) ale unui a a s s IOB.

588

4.6. PROIECTAREA CU FPGA

(PRESET) i reset (CLEAR) asincron. Stergerea (reset, CLEAR) este predominant fata s a de nscriere (set, PRESET). Un semnal exterior aplicat la pad este directionat la IBUF, care poate congurat cu o singur intrara sau cu intrare diferential (VREF se aplic pe una dintre intrri). Semnalul a a a a buerat este rutat la partea logic (CLB-uri) e direct (I), e dup ce a fost sincronizat a a n F F1 (IQ1 ) sau F F2 (IQ2 ); pe calea prin F F -uri exist introdus o arziere programabil a a nt a (vezi explicatia de la Figura 4.9-a). Pentru calea de ieire, la intrarea OBUF se pot selecta de la partea logic (CLB-uri) e s a direct semnalele (OD1 sau OD2 ), e aceleai semnale dar sincronizate (Q1 sau Q2 ) sau e s aceleai semnale dar cu rata dubl (Q1 i Q2 ). La OBUF se poate xa valoarea maxim s a s a a curentului generat la ieire i de asemenea, se poate controla valoarea pantei fronturilor s s semnalului la ieire (pentru performanta de vitez sunt necesare pante de valori ridicate, iar s a pentru transferuri cu putere consumat mai mic sunt necesare pante de valori mai mici). a a Semenul de control TSL (HZ/normal) pentru OBUF se obtine de la o pereche de F F -uri n aceeai modalitate ca i obtinerea semnalului de intrare OBUF. Pe ieire mai sunt prezente s s n s urmtoarele elemente: diodele D1 i D2 , rezistentele Rpu i Rpd i optional o celul activ a s s s a a de mentinere a nivelului pe magistral; rolul ecruia dintre acestea a fost explicat Figura a a n 4.9-a (diodele sunt protectie la supratensiuni). Faciliti inovative introduse la IOB sunt: posibilitatea de control digital a impedantei at ecrui pin al unui IOB, transferuri la o rat dubl att pentru calea de intrare ct i pentru a a a a a s calea de ieire (aceasta este motivatia de ce pentru calea de intrare i pentru calea de ieire s s s sunt necesare cte o pereche de F F , iar pentru varianta de ieire TSL sunt necesare dou a s a perechi de F F ). Transferul datelor pe intrare la o rat dubl, DDR (Double Data Rate). Mecana a ismul de obtinere a unei rate duble de transfer a datelor, raport cu frecventa (rata) n semnalului de ceas (aplicat deja la DDR SDRAM, vezi sectiunea 3.6.3) se bazeaz pe utia a lizarea a dou semnale de ceas CLK1 i CLK2 de aceeai frecventa dar defazate cu 180o . a s s In gura 4.19-a sunt prezentate structura cii de date pentru modalitatea DDR i diagramele a s de semnale. Datele de intrare (DATA), aplicate la un pin I/O congurat ca pin de intrare, sosite din exterior la o rat dubl fata de frecventa de ceas din IOB, sunt stocate alternativ a a pe fronturile pozitive ale semnalelor de ceas CLK1 i CLK2 (decalate cu 180o ) respectiv s n F F1 sau F F2 . Deci la partea logic (CLB-uri) datele de intrare sincronizate pe fronturile a pozitive ale semnalului CLK2 , IESIRE Q2 , se obtine de la F F2 , iar cele sincronizate pe fron turile pozitive ale semnalului CLK1 , IESIREA Q1 , se obtine de la F F1 (semnale de control CE, Set/PRESET i Reset/CLEAR sunt comune pentru ambele bistabile). s Transferul datelor la ieire la o rat dubl. Structura cii de date de ieire i s a a a s s diagramele de semnale pentru o generare exteriorul unui pin I/O, de la un IOB, la o rat n a dubl a datelor fata de frecventa de ceas din interiorul IOB sunt prezentate Figura 4.19a n b. Cele dou iruri de date DATA1 i DATA2, obtinute de la partea logic a FPGA-ului, as s a sunt nregistrate F F1 respectiv F F2 pe fronturile pozitive ale semnalelor de ceas CLK1 i n s CLK2 (defazate cu 180o ). multiplexorul de ieire, DDRMUX, selectarea datelor de la cele In s dou intrri (elemente de stocare F F1 i F F2 ) se realizeaz alternativ cu semanlele CLK1 i a a s a s CLK2 . Transferul datelor la ieire prin buer TSL la o rat dubl. Pentru un astfel s a a de transfer structurarea cii de date de ieire i diagramele de semnal sunt prezentate a s s n Figura 4.19-c. Organizarea poate considerat ca ind compus din dou structuri identice a a a cu cea din Figura 4.19-b, din care una comand intrarea OBUF iar cealalt genereaz sema a a nalul de control pentru trecerea OBUF din starea normal de functionare starea de a n nalt a impedanta, HZ, i invers. Selectarea celor dou ieiri, ale ecrei pereche de elemente de s a s a stocare, se realizeaz cu DDRMUX-ul respectiv utiliznd cele dou paliere ale semnalului de a a a ceas (semnalele specice numai pentru perechea de F F -uri care comand intrarea buerului a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

589

CLK2
DATA Set/PRESET CE

Set/ Set/

CLK2 Q CE FF2 D

Q2

CLK2 CLK1 CE

PRESET CLEAR

Reset/ Reset/

Reset/CLEAR

DATA D0 IESIRE_Q2 Q1 IESIRE_Q1

D1 D0

D2 D1

D3 D2

D4 D3

D5 D4

D6 D5

D7 D6

D8

PRESET CLEAR

CLK1 a)
DATA2

D FF1 CE Q CLK1

CLK2
CE Set/PRESET

Set/ Set/

Q2 D Q CLK2 FF 2 CE
Reset/ Reset/

CLK2 CLK1 O DATA2 DATA1 IESIRE_O

PRESET CLEAR

DDRMUX

Reset/CLEAR

D2A D1A

D2B D1B

D2C D1C

D2D D1D

PRESET CLEAR

CLK1
DATA1

b)
TDATA2

CE FF1 CLK1 Q Q D 1 D Q CLK2 FF 2 CE

D2A D1A D2B D1B D2C D1C D2D

TCE Set/PRESET

Set/ Set/

PRESET CLEAR

Reset/ Reset/

TSL

CLK2 CLK1

CLK2
TDATA1 ODATA2

PRESET CLEAR

DDRMUX

ODATA2

CE FF1 CLK1 Q D D Q CLK2 FF 2 CE

D2A D1A

D2B D1B

D2C D1C

D2D D1D

ODATA1

TDATA2 TDATA1
DDRMUX
IESIRE_O

CLK1
Reset/CLEAR DCE
ODATA1

Set/ Set/

PRESET CLEAR

Reset/ Reset/

D2A D1A D2B D1B

HZ

PRESET CLEAR

c)

CE FF1 CLK1 Q D

O OBUF IESIRE

Figura 4.19 Transferul cu rat dubl, DDR, cadrul familiei VIRTEX-II a a n PRO: a) structurare i diagrame de semnale pentru DDR pe intrare; b) structurare s i diagrame de semnal pentru DDR pe ieire; c) structurare i diagrame de semnal s s s pentru DDR pe ieire cnd OBUF este de tip TSL. s a

590

4.6. PROIECTAREA CU FPGA

de ieire s-au prexat cu litera O, iar cele specice numai pentru perechea de F F -uri care s comand intrarea de control TSL a OBUF s-au prexat cu litera T). Semnalele de control a Set/PRESET, Reset/CLEAR sunt comune pentru ambele perechi de elemente F F , dar semnalele de validare ceas, T CE i DCE, sunt diferite. Semnalul de ceas CLK2 se aplic la s a elementul F F2 din ambele perechi, iar semnalul de ceas defazat cu 180 , CLK1 se aplic la a cellalt element F F1 din ambele perechi. cazul care ambele date obtinute de la partea a In n logic , TDATA1 i TDATA2, aplicate la perechea de control TSL, au valoarea H rezult a s a c ieirea OBUF este HZ, iar cazul cnd TDATA1 i TDATA2 au ambele valoarea L a s n n a s rezult la ieirea OBUF o succesiune de date alternante a s ntre ODATA2 i ODATA1, cu o s rat dubl fata de frecventa de ceas. a a Cnd TDATA2 = H i TDATA1 = L, pe semiperioada CLK2 = 1, CLK1 = 0, semnalul a s de control de la OBUF este H, deci ieirea buerului este comandat HZ, iar pe celalt s a n a semiperioad a semnalului de ceas, CLK2 = 0 i CLK1 = 1, semnalul de control este L, a s In a s ieirea buerului este IESIRE O = ODATA1. opozitie, cnd TDATA2=L i TDATA1=H s pentru semiperioada de ceas CLK2 = 0, CLK1 = 1 ieirea buerului este HZ, iar pentru s n semiperioada CLK2 = 1, CLK1 = 0 ieirea buerului este IESIRE O = ODATA2. Pentru s aceste ultime dou cazuri rezult la ieirea OBUF, e succesiuni ODATA1A, HZ, ODATA1B, a a s HZ, ODATA1C, HZ,..., e succesiuni ODATA2A, HZ, ODATA2B, HZ, ODATA2C, HZ la o rat dubl fata de frecventa de ceas. a a Controlul digital al impedantei pe terminale. Un circuit al familiei VIRTEX II PRO implantat pe o plac de circuit imprimat este conectat cu celelalte circuite ale a sistemului prin sutele de pini I/O. Transferul semnalelor ntre aceste circuite, e pe un singur r, e diferential, sub unul din standardele I/O amintite anterior, trebuie realizat cu o integritate ct mai ridicat. O astfel de integritate a semnalului se poate obtine numai dac a a a punctele de terminatie (surs/emisie, receptie/destinatie) se face o adaptare cu impedanta n a caractaristic, Z0 , a liniei/trasei de pe placa de circuit imprimat, vezi sectiunea 1.6.2.2. Fizic, a o astfel e adaptare se realizeaz printr-o egalizare a rezistentei echivalente a divizorului de a tensiune sau a rezistentei echivalente serie din punctul de terminatie (I/O), cu valoarea Z 0 . Prin modul de organizare, BGA (Ball Grid Array) al sutelor de pini I/O de la un circuit FPGA ar aproape imposibil de a conecta astfel de rezistente de adaptare. Evitarea acestei multitudini de rezistente, cadrul VIRTEX-II PRO, s-a realizat prin conectarea exteriorul n n cipului, pentru ecare dintre cele opt bnci de blocuri I/O, doar a cte dou rezistente de a a a referinta, RREF (cu abateri de sub 1%), deci total pot maxim opt perechi de rezistente n de referinta. Una din rezistentele de referinta ale perechii de la o banca se conecteaz a ntre pinul I/O notat cu VRP i tensiunea VCCO , iar cealalt rezistenta de referinta se conecteaz s a a ntre VRP i mas, Figura 4.20-c. Rezistentele de referinta se aleg de valoare egal sau s a a valoare dubl a impedantei caracteristice, deci RREF = Z0 sau RREF = 2Z0 . a La ecare banc exist o circuistic pentru controlul digital al impedantei, DCI (Digital a a a Controlled Impedance), care poate controla/stabili la ecare IOB impedanta de terminatie la valoarea Z0 . Controlul const modicarea impedantei de ieire a OBUF sau a unor a n s rezistente interne existente la ecare pad I/O, care sunt conectate unele la VCCO altele la mas. Fizic, modifcarea valorii rezistentei se realizeaz prin conectarea a mai multe sau a a mai putine din aceste rezistente interne, prin intermediul unor comutatoare (tranzistoare de trecere), pn cnd rezistenta echivalent de terminatie devine egal sau jumtate din R REF . a a a a a a Considernd cele dou modaliti de functionare (surs/emisie sau receptie/destinatie) ale a a at a unui IOB se disting urmtoarele trei cazuri/modaliti de adaptare a terminatiei,Figura 4.20. a at - Terminatia pe surs (pentru emisie). Prin DCI se modic impedanta intern de ieire a a a s a OBUF, e la R = RREF = Z0 , Figura 4.20-a, e la R = RREF /2 = Z0 , Figura 4.20-b. - Terminatia pe ieire (IOB este emitator); acest caz DCI nu modic impedanta s n a intern a OBUF ci modic rezistente interne (din cip). Tensiunea pe terminatia de ieire, a a s VT T , poate ajustat e la tensiunea VCCO (aplicat printr-o rezistenta conectat la VCCO , a a a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

591

VCCO R=R REF=Z0 R OBUF a) VCCO R=R REF=Z0 VCCO R VRP pin
VRP VRP VRP

VCCO R=R REF/2=Z 0 R OBUF b) VCCO R=R REF=2Z 0 VCCO R VRP pin R
VRP

RREF=Z0 Z0(linie) RREF=Z0

RREF=2Z 0 pin VRP


VRP

pin IOB

Z0(linie) RREF=2Z 0

IOB

RREF=Z0 Z0(linie)

RREF=2Z 0 Z0(linie)

OBUF

OBUF RREF=Z0 d) R=R REF=2Z 0

IOB c) VCCO Z0 =RREF Z0(linie) pin Z0 =RREF e) IOB VREF VCCO

RREF=2Z 0

VCCO R=R REF=Z0 2Z 0 =RREF Z0(linie) pin IBUF 2Z 0 =RREF f) VREF R=R REF=2Z 0 IBUF VCCO R=R REF=2Z 0 IOB

Figura 4.20 Controlul digital al impedantei ntr-un IOB din familia VIRTEX-II PRO: a,b) controlul terminatiei prin impedanta de ieire a OBUF pen s tru RREF respectiv RREF /2; c,d) controlul terminatiei de ieire pentru o tensiune de s VCCO respectiv de VCCO /2; e,f) controlul terminatiei de intrare pentru o tensiune de VCCO respectiv de VCCO /2.

592

4.6. PROIECTAREA CU FPGA

valoarea rezistentei se modic pn se realizeaz relatia R = RREF = Z0 ) Figura 4.20-c, a a a a e la tensiunea VCCO /2 (aplicat printr-un divizor a ntre VCCO i mas, ale crui rezistente s a a se modic pn se realizeaz relatia R = RREF = 2Z0 ), Figura 4.20-d. a a a a - Terminatie pe intrarea unui IBUF; la cealalt intrare a buerului se conecteaz o a a tensiune de prag VREF a crei valoare depinde de standardul I/O sub care se realizeaz a a comunicatia. Si de data aceasta se poate realiza tensiunea VT T pe terminatia de intrare pentru VCCO sau VCCO /2. Pentru terminatie la VCCO valoarea rezistentei se modic pn a a a se realizeaz relatia R = RREF = Z0 , Figura 4.20-e, iar pentru terminatie la VCCO /2, a Figura 4.20-f, rezistentele divizorului se modic at s se realizeze relatia a nc a R = RREF = 2Z0 (rezistenta Thevenin echivalent este RT hev = (2Z0 2Z0 )/(2Z0 + 2Z0 ) = a Z0 , vezi Figura 1.77-b). 3. Resursele de interconectare. Resursele de interconectare la VIRTEX-II PRO sunt, fond, o extensie i o n s mboga ire a resurselor de interconectare de la XC4000 (Figura 4.15 i 4.16). Aceste resurse sunt t s mbogite pe lng liniile de dou lungimi i cu 120 de linii vericale i 120 de linii orizontale at a a a s s (pentru ntregul cip) de ase lungimi (sixtupl); iar liniile de conectare direct ale unui CLB s a a sunt imbogite cu conectri directe pe orizontal, vertical i diagonal cu CLB-uri vecine. at a a as a Extensia resurselor de conectare apare i prin introducerea unor noi trasee (dedicate) s n cadrul unui CLB, modul urmtor, Figura 4.17: n a - 4 linii de magistral TSL care conecteaz CLB-urile de pe o linie orizontal; a a a - 2 linii dedicate pentru propagarea transportului, Cout (cte una pentru ecare coloan a a format din cte dou sectiuni S0 , S1 i S2 , S3 ); a a a s - 1 linie dedicat pentru propagarea sumei de produse (SOPIN, SOPOUT); a - 1 linie dedicat pentru registrul de deplasare (SHIFTIN, M15 ) a De asemenea, ecare element CLB sau IOB prezint o matrice de comutatie proprie a prin intermediul creia ecare dintre aceste elemente este legat la matricele de conexiuni a programabile (de tipul celor din Figura 4.15 i 4.16) de pe suprafata cipului. s Dar elementul inovator pentru resursele de interconectare este interconectarea activ, adic existenta a cte un buer pentru toate semnalele care trec prin interconectrile a a a a programabile (interconectri buerate). Realizarea cilor de rutare prin intermediul intera a conectrii buerate determin ca arzierile pe aceste ci de rutare s e, relativ, neafectate a a nt a a de arcarea semnalelor (fan-out). nc

Matrice de porti logice programabile prin vias-uri, VP GA. Pentru cir cuitul FPGA, acest cameleon al lumii circuitelor integrate, att de preferat pentru a procesul de dezvoltare de sisteme, programabilitatea pe baza unei memorii RAM de ,, ,, congurare constituie mrirea i cderea . Mrirea const faptul c a adus a s a a a n a ,, hardul la nivelul de programabilitate egal cu al softului iar cderea c intrzierile a a a de propagare sunt cu mult peste cele obtinute la programarea prin mascare. Solutia? A aprut o serie de circuite care a nlocuiesc partial sau total programabilitatea celulelor SRAM (att pentru xarea continuturilor din LUT-uri ct i pentru conexiunile proa a s gramabile cu tranzistoare de trecere) cu o programabililtate pe baza unor matrice de vias-uri realizate straturile metalizate pentru interconexiuni. Evident, c penn a tru programarea prin vias-uri proiectantul trebuie s transmit la turntoria de silia a a ciu, nainte de manufacturarea conexiunilor metalizate (vezi Figura 4.5), care din vias-urile din matricea de pe ecare strat metalizat strat izolator se realizeaz i a s care se elimin. Odat programate i realizate aceste vias-uri din matrice, circuitul a a s nu mai poate modicat acest sens, doar dac mai exist circuit i LUT-uri n a a n s

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII


Conexiune programabila Adr 000 001 A 010 B 011 C 100 101 110 111 f3 j dj0 dj1 dj2 dj3 dj4 dj5 dj6 dj7 A B C

593

f3 j
MUX 2:1

Celula logica (CLB)


LUT MUX

MUX 2:1

MUX 2:1

MUX 2:1

MUX 2:1

MUX 2:1

MUX 2:1

CLK

dj7

dj6

dj5

dj4

dj3

dj2

dj1

dj0

a)
f3 j

b)

A A B B B C C

f3 j A
MUX 2:1

B C C

MUX 2:1

MUX 2:1

V DD V SS dj4C+d j5C

Matrice de Viasuri dj0C+d j1C

V DD V SS Conexiune Via (programabila)

Matrice de Viasuri

d)

dj6C+d j7C

dj2C+d j3C

c)

Figura 4.21 VPGA. Conversia unei celule logice de tip FPGA (a) ntr-o structur de celul programabil prin vias-uri b), c), d), VPGA. a a a

pe baz de celule SRAM i conexiuni programabile pe baz de tranzistoare de trea s a cere care se programeaz de beneciar. Aceste circuite hibride care se realizeaz att a a a prin programare prin mascare ct i prin programare printr-un bitstream sunt referite a s prin VPGA: Via-Patterned Gate Array, sau FPGA structurate sau mai general ASIC-uri structurate. Un exemplu de VPGA, cu particularizare la realizarea unei celule logice (CLB), este prezentat Figura 4.21. O reprezentare simplicat a unei CLB, care contine n a 3 un LUT pentru o functie de trei variabile, fj , 0 j 255, este Figura 4.21-a, iar n varianta de realizare a aceleiai functii dar pe baz de MUX2:1 este dat Figura s a a n 3 nscrii LUT). Deoarece s n 4.21-b; dj0 , dj1 , ..., dj7 sunt coecientii functiei fj (bitii ieirile din primul nivel de multiplexoare pot avea valori care apartin numai multimii s {0, 1, C, C}, aceste valori pot produse prin matricea de conexiuni (vias-uri programate) ca Figura4.21-c (nivelul de 4MUX2:1 corespunztor variabilei C este n a realizat prin programarea matricei de vias-uri, deci se elimin acest nivel). La nivel a

594

4.7. PROIECTAREA PENTRU TESTABILITATE

de tranzistor (porti de transmisie) implementarea celulei logice de tip VPGA este cea din Figura 4.21-d. Celula de tip VPGA obtinut este mai rapid dect celula a a a FPGA pe baz de SRAM deoarece are un nivel logic mai putin arborele LUT, iar a n conectarea la variabilele functiei se face printr-o conexiune metalizat de tip via care a este mai rapid dect conexiunea, cu rezistenta destul de ridicat, a unui tranzistor a a a de trecere de la FPGA. VPGA reprezint un compromis a ntre tehnologia FPGA i tehnologia cu celule s standard, customiznd aplicatia printr-o programare prin mascare (total sau partial) a a rutrii i a implementrii functiilor logice locul programrii prin bitstream a a s a n a tranzistoarelor de trecere i a LUT-urilor. raport cu tehnologia cu celule standard, s In tehnologia VPGA realizeaz: un cost mai sczut, deoarece nu sunt necesare toate a a etapele de mascare ale procesului (se elimin cele pentru procesarea componentelor a diferite deoarece de data aceasta toate componentele sunt identice) i datorit regs a ularitii structurii; o suprafata de siliciu i un timp de propagare comparabil. at s In raport cu tehnologia FPGA: pretul de cost este mult mai sczut (nu i pentru serii a s foarte mici!); un timp de propagare mult mai bun, dar schimb se diminueaz mult n a exibilitatea (recongurabilitatea, vezi Figura 4.26-c) proiectare. Un tip de celul, n a acest sens, care are att LUT-uri ct i programabilitate prin vias-uri este cea n a a s conceput i produs de rma eASIC. as a

4.7

PROIECTAREA PENTRU TESTABILITATE

Testarea/vericare functionalitii unui circuit digital se face prin aplicarea unor at semnale (vectori) de intrare i observarea semnalelor de ieire care se compar cu s s a valorile ateptate de semnale; sau, altfel, pentru a obtine anumite valori pe ieire se s s comand intrarea cu un anumit set de vectori de test. De fapt, acest proces se reduce a la realizarea unor actiuni de control a setului de vectori de test i de observare (i s s analizare) a setului de valori obtinute la ieire. Aceastora le corespund dou notiuni s a teoria sistemelor, cea de controlabilitate i cea de observabilitate, notiuni ce vor n s denite continuare. n Denitia 4.1 Controlabilitatea strilor este complet pentru un sistem dac a a a pentru oricare stare a sa q(k0 T ), din momentul k0 T exist o succesiune de vectori de a intrare X(kT ), k = k0 , k1 , ..., kN 1 care realizeaz tranzitia sistemului oricare stare a n q(kN ), ntr-un numr nit de tacte kN > k0 . a Denitia 4.2 Controlabilitatea ieirilor este complet pentru un sistem dac s a a din oricare moment de timp k0 T exist o succesiune de vectori de intrare X(kT ), k = a k0 , k1 , ..., kN 1 dup care ieirea atinge valoarea Y (kN ), a s ntr-un numr nit de tacte a kN k 0 . Denitia 4.3 Un sistem este total controlabil dac este complet controlabil a pentru stare i ieire pentru oricare kN k0 . s s Dual notiunii de controlabilitate este notiunea de observabilitate. a Denitia 4.4 Un sistem este complet observabil dac oricare stare q(k 0 T ) a din momentul de timp k0 T , poate determinat prin cunoatera setului de vectori a s

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

595

de intrare X(kT ) i observarea ieirii Y (kT ), k 0 k < kN , s s ntr-un numr (kN ) nit a de tacte. Si este total observabil dac este complet observabil pentru oricare k 0 i a s oricare kN > k0 . ,, Un circuit combinational trece testul dac ieirea sa este corect pentru toti cei a s a 2n vectori de test aplicati pe intrare. Un circuit logic secvential, care are 2 k stri, a necesit, teoretic, aplicarea a cte 2n vectori de test pe intrare pentru ecare stare, a a deci total 2n+k teste (toate elementele produsul cartezian X Q); ceea ce uneori n duce la un consum de timp/calcul inacceptabil. Se poate reduce timpul te testare, prin eliminarea unui numr de teste, dac se exploateaz anumite particulariti ale a a a at circuitului. Practic, pentru testare se utilizeaz punctele de intrare i ieire din circuit i evena s s s tual puncte interne de test, la un sistem realizat pe o plac de circuit imprimat sau a la un circuit implementat cu componente discrete. La circuitele integrate punctele de test se reduc exclusivitate la pini. Pentru circuitele VLSI, cu sute de termin nale i aplicare prin tehnologie de lipire pe suprafat, SMT (Surface Mount s a Technology), cu circuite pe ambele prti ale plcii de circuit imprimat, accesul la a a toti pinii necesari pentru procesul de testare devine o problem. Pentru a elimina a aceast problem i a uura controlabilitatea i observabilitatea, pe care se bazeaz a as s s a procesul de testare, circuitele VLSI actuale sunt proiectate cu un suport pentru testabilitate, DFT (Designed for Testability). Un circuit cu suport DFT necesit a putini pini speciali, maxim cinci, dar cu tot acest numr redus de pini accesibili se pot a accesa o multime de puncte din interior care nu au ieirea direct la un pin I/O. s a In acest sens, continuare, se va prezenta ce const o proiectare pentru testabilitate n n a i apoi, standardul care descrie DFT pentru circuitele integrate. s Pentru un automat, implementat ca un circuit integrat autonom, exist acces doar a la pinii si care sunt intrrile principale, IP, i ieirile principale, OP, bitii cuvntului a a s s a de stare zn1 , zn2 , ..., z1 z0 nu sunt accesibili, starea este o mrime intern a aua a tomatului. Se pot explora (scana) i bitii strii interne dac se realizeaz, acest s a a a n sens, un traseu de explorare (scan path) interiorul automatului la registrul de n stare, Figura 4.23-a. Acest traseu este format din celulele registrului de stare crora a li se modic putin structura scopul obtinerii a celor patru faciliti ale unui rega n at istru general: conversie serie-serie, serie-paralel, paralel-serie, si paralel-paralel, Figura 3.81. Structurarea, de principiu al unui astfel de registru scan este prezentat a n Figura 4.23-b. O celul scan este, fond, un bistabil D, similar cu cel din Figura a n 3.80-a, care functie de semnalul de selectare TMS (Test Mode Selection) poate n multiplexa intrarea D, e ntr-o intrare paralel, e a ntr-o intrare serie TDI (Test Data In) de la celula scan anterioar; pentru regimul normal, TMS = 0, celula scan a se ncarc paralel, iar pentru regimul de testare, TMS = 1, celula se a ncarc serie. Un a grup de celule scan pot forma e un registru paralel, cu arcare pe semnalul de ceas nc CLK al sistemului, e un registru serie, cu deplasare pe semnalul de ceas de testare TCLK; sunt necesare dou semnale de ceas deoarece un registru de deplasare necea sit o frecventa mai mic TT CLK > TCLK . Aceast celul de registru este completat a a a a a pe ieire cu un latch, astfel at registru s poat mentinut la ieire un cuvnt s nc n a a s a (paralel) timp ce alt cuvnt, sau chiar cuvntul stocat latch-urile pentru ieirea n a a n s paralel a registrului, este deplasat registru, pe semnalul de ceas TCLK, dinspre a n intrarea TDI spre ieirea de date serie, TDO (Test Data Output). s Traseul scan, pentru automatul cu un cuvnt de stare de trei biti z 2 z1 z0 , din Figura a

596

4.7. PROIECTAREA PENTRU TESTABILITATE

Intrari principale

Iesiri principale

z0 CLC z1 z2 w2 w1

Celula scan Celula scan

CLC 4

a)

TCLK,TMS TDI

2 1

Registrul de stare

Canale de rutare

CLC 6

latchuri

Iesiri paralele

c)

Celula scan

TMS TDI TCLK CLK b)

N1

N2

TDO

TDI Intrare serie 1

Intrari paralele

2 1 TMS, TCLK

5 CLC 2 + CLC 3 4 CLC 4 + CLC 5

IP

CLC 1

3 7 TCLK TMS 2 1 TDI Celule scan 2

d)

Figura 4.22 Metoda traseului scan pentru testare: a) transformarea registrului de stare al unui automat ntr-un traseu scan; b) structura de principiu a unui traseu scan cu gurarea semnalelor de control; c) exemplicarea unei posibile pozitionri a a punctelor de test pe un layout; d) detalierea traseului scan pentru circuitul de la gura (c).

{ { ztzt {t{t ztzt ttz{z{

TMS

3 celule CLC 5 scan

Iesire paralela

Intrare paralela

CLC 6

vww vt tvv

2 celule scan

CLC 3

x xyt ytxx
latch Iesire serie CLK

w0

Celula scan

TDO

CLC 2

   ~t~t~t ttt ~t~t~t ttt~~


3 celule scan

IP

OP

Pad CLC 1

TDI

} |t }t |t t|}|}

u st ut st tsusu

TDO

TDO

OP

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

597

4.23-a, este format din trei celule scan, interconectarea de tip serie dintre celule este desenat cu linie a ngroat. ecare moment se poate citi starea automatului: se s a In trece modul test, TMS = 1, i prin aplicarea a trei tacturi ale semnalului TCLK n s se obtine serie, pe ieirea TDO, valoarea cuvntului de stare z 2 z1 z0 (observabilitate). s a De asemenea, in ecare moment se poate injecta o stare felul urmtor: se trece n a n modul de test TMS = 1, cuvntul de stare z2 z1 z0 se aplic la intrarea serial TDI pe a a a durata a trei impulsuri de ceas (controlabilitate). La o proiectare pentru testabilitate o celul sau grupuri de celule scan vor plasate a interiorul circuitului integrat, punctele de testare, ca Figura 4.23-c. Metoda n n n traseului scan se bazeaz pe faptul c orice circuit digital poate privit ca ind format a a din blocuri de circuite combinationale interconectate prin elemente de stocare (latch uri, bistabile), Figura 3.76-a. Dac aceste elemente de stocare sunt de tipul celul a a scan, prin proiectare se poate realiza ca toate s e celule scan, atunci cnd circuitul a a este trecut regim de test, TMS = 1, poate s formeze un registru de deplasare. n a aceast abordare, pentru circuitul cu layoutul de principiu din Figura 4.23-c, In a n Figura 4.23-d este prezentat traseul scan compus din registrul de deplasare cu opt celule scan. Semnalele din cele opt puncte de test pot citite serie la ieirea TDO, pe s durata a opt semnale de ceas TCLK, sau ecare punct de test poate n nscris o a valoare logic prin aplicarea pe intarea serie TDI, a cuvntului format din opt valori a a binare, pe durata a opt semnale de tact. Proiectarea circuitelor VLSI pentru testabilitate poate utiliza standardul IEEE 1149. (Boundary-Scan Test) elaborat 1990 i apoi completat cu ecare variant n s a lansat. Recent a fost introdus standardul IEEE 1532 pentru dispozitivele care pot a congurabile/programabile sistem, standard ce este compatibil cu 1149. Arhin tectura suportului standardului IEEE 1149.1 pus la dispozitia proiectantului pentru a DFT este prezentat (simplicat) Figura 4.23-a. Fiecare pin I/O al circuitului ina n ,, tegrat este inzestrat interior cu o celul scan, acestea sunt unite n a ntr-un registru scan (boundary register); acest registru scan controleaz i observ activitatea la pinii as a I/O ai circuitului. Circuitului integrat, pe lng pinii proprii I/O mai trebuie s i a a a se adauge patru pini pentru semnalele TCLK, TDI, TDO, TMS; optional este i al s cincelea pin pentru un semnal de resetare, TRST L. Cuvintele serie introduse pe intrarea TDI pot cuvinte dat care contin date a ce se ncarc serie registrul scan sau pot cuvinte intstructiune care se a n ncarc a serie registrul de instructiuni (care are o structurare ca i registrul scan). Exist n s a un automat (ASM cu 16 stri) care, functie de valoarea semnalului TMS aplia n cat din exterior, genereaz ecare stare semnale pentru procesul de decodicare a a n instructiunii care a fost arcat registrul de instructiuni. functie de cuvntul nc a n In a specic al instructiunii i de starea prezent a automatului, pe durata ecrui semnal s a a TCLK, se genereaz semnalele de control (TMS 0 ,TMS1 , . . . , TMSN 2 , TMSN 1 ), a care prin aplicare la registrul scan xeaz modul de functionare a ecrei compoa a nente; deci ecare celul scan poate s si modice functionarea de la tact la tact a a n functie de instructiunea primit registrul de instructiuni. De fapt, aceast aduc a n a ere succesiv a instructiunilor registrul de instructiuni, decodicarea i executia a n s instructiunii (genernd comenzi la registrul scan) constituie o functionare de proce a sor, iar suportul circuistic introdus de standard nu este altceva dect un procesor a rudimentar/simplicat. Testarea circuitului integrat, generarea semnalelor TCLK, s a n TMS, TDI, TRST L i colectarea semnalului TDO, se realizeaz exterior pe un

598

4.7. PROIECTAREA PENTRU TESTABILITATE


pini I/O TCLK Automat (cu 14 stari) TDI Traseul (registru) scan Registru de instructiuni
D E C O D I F I C A T O R TMS N2

N1 Celula scan Bypas registru

N2

N3

N4

TMS N1 pentru

Semnale

ASM

modului de functionare al celulelor TMS 1 din traseul TMS 0 scan Decodificarea instructiunilor Traseul (registru) scan

TMS i controlul

Circuitele sistemului integrat

TMS TRST_L TDO a) Pin de intrare celula scan De la TDI Registru scan

pini I/O

Circuitele sistemului integrat


la TDO

Circuitele sistemului integrat


b)

Pin I/O (bidirectional)

Pin de iesire (TSL)

Pin de iesire

Figura 4.23 Suportul pentru DFT oferit prin standardul IEEE 1149 (Boundary scan): a) arhitectura circuisticii suplimentare introdus ca suport DFT a ntr-un circuit integrat; b) adaptarea celulelor din registrul scan functie de modul n de utilizare al unui pin.

calculator echipament de testare (tester). Programul de testare const secvente de cuvinte intructiuni i secvente de cua n s vinte dat care se introduc serial, prin pinul TDI, suportul hardware (registrul a n de instructiuni, registrul scan) inculs circuitul integrat. Pentru dezvoltarea pro n gramelor de testare, pe echipamentul exterior de testare, exist limbaje specializate a acest sens, BSDL (Boundary-Scan Decription Language). n Un alt element necesar suportul circuistic implementat pe circuitul integrat este n registrul de scurtare (bypas). Acest registru, compus dintr-o singur celul scan cnd a a a este selectat, reduce (prin conectarea intrrii TDI la ieirea TDO) la un singur tact a s numrul de tacturi de deplasare a ntre TDI i TDO. s

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

599

Monitorizarea unui pin al circuitului printr-o celul scan se adapteaz functie a a n de modul de utilizare al pinului I/O, Figura 4.23-b. Pentru un pin utilizat numai pentru intrare semnalul cules de la acesta se aplic la celula scan ataat ca intrare a s a paralel iar ieirea paralel (de la latch) se aplic la circuitele sistemului integrat. a s a a Iar pentru un pin utilizat numai pentru ieire sensul de aplicare al semnalelor se s inverseaz. Pentru un pin de ieire tip TSL sunt necesare dou celule scan, iar pentru a s a un pin cu transfer bidirectional sunt necesare trei celule (structuri mai complexe pot include aceste functionri a ntr-o singur celul scan). La circuitele CPLD, FPGA a a care prezint pe perimetru exterior blocuri I/O congurabile, care exist celule de a n a stocare, aceste celule de stocare pot proiectate astfel at s permit i o congurare nc a as de celul scan ce poate inclus intr-un (boundary) registru scan. a a

4.8

COMBINATIONAL SAU SECVENTIAL?

Cu suportul circuistic prezentat, acest capitol, pot implementate att cirn a cuite combinationale ct i circuite secventiale. O functie logic, aritmetic sau de a s a a comunicatie poate implementat pe un circuit combinational sau pe un circuit a secvential; ntre cele dou modaliti se poate realiza o conversie ambele sensuri, a at n att de la combinational la secvent ct i de la secvential la combinational. Dar a al a s pentru decizia combinational/secvential proiectantul trebuie s aib un criteriu; a a n aceast sectiune se va explica ce ar putea considerat un astfel de criteriu. Pentru a aceasta, ntre cei trei parametrii ai unui circuit implementabil: dimensiunea, S(n), adncimea, D(n), i complexitatea C(n), s analizm, pentru a s a a nceput, care este balansul ntre primii doi parametrii S(n) D(n). Teorema 4.1 (lui Spira [Spira 71]). Un circuit arbore degenerat, de dimensiune i adncime constante, D(n) O(n) i S(n) O(n), poate transformat s a s ntr-un circuit echivalent avnd adncimea O(log n) i dimensiunea O(n ) cu (1). a a n s n Pentru demonstrarea teoremei se va considera arborele degenerat prezentat n Figura 4.24-a care ecare CLCi , i = 1, 2, . . . , n, este un circuit combinational cu n dou intrri, o ieire i aceeai structur, iar numrul n este o putere a lui 2; aceast a a s s s a a a restrictionare nu reduce generalitatea teoremei (ecare circuit CLC i ar putea diferit, prezentnd k intrri i m ieiri, de exemplu). Succesiunea demonstratiei reect i a a s s a s modalitatea practic de transformare a circuitului. a Arborele degenerat se sectioneaz doi subarbori primul cu n/2 circuite,CLC 1 a n CLCn/2 , i cel de al doilea tot cu n/2 circuite, CLCn/2+1 CLCn . Ieirea primului s s subarbore se aplic pe intrarea de selectare a unui MUX2:1 (MUXE), iar pe intrrile a a de date ale multiplexorului se aplic cte o copie a celui de al doilea subarbore. a a Una dintre intrrile celui de al doilea subarbore (din structura nesectionat) este a a ieirea yn/2 care poate avea, indiferent de valorile aplicate variabilelor de intrare s x0 , x1 , . . . , xn/2 , de la primul subarbore, e valoarea 0, e valoarea 1. Pentru ca functionarea circuitului s nu se modice, prin aceast sectionare, se aplic la intrrile a a a a corespunztoare lui yn/2 de la cele dou copii ale celui de-al doilea subarbore, la a a una valoarea 0 iar la cealalt valoarea 1. Evident c, atunci cnd primul subarbore a a a genereaz la ieirea sa valoarea 0 (yn/2 = 0) se va selecta la ieirea multiplexorului a s s copia celui de al doilea subarbore care are pe intrare valoarea 0, respectiv se va

600
x0 x1 CLC1 y1
1

4.8. COMBINATIONAL SAU SECVENTIAL?

x0 x1 x2 CLC1 y1
1

"0" x(n/21)
CLC(n/2+1)

"1" x(n/21)
CLC(n/2+1)

CLC2

x2

y(n/2+1)

y(n/2+1)

y(n/21) n/2 circuite

CLCn/2

y(n/21) x(n/2+1)

y(n/2+1)

n/2 circuite

a)

Figura 4.24 Conversia unui circuit de la adncimea O(n) a n ntr-un circuit cu adncime O(log n) prin aplicarea teoremei lui Spira: a) circuitul a n initial cu D(n) O(n); b) circuitul obtinut, cu adncime a njumtit, dupa prima a at a sectionare (procesul de njumtire a adncimii poate continua). a at a

selecta copia celui de al doilea subarbore care are pe intrare valoarea 1 cnd y n/2 = 1. a Adncimea circuitului rezultat s-a a njumtit iar dimensiunea a crescut cu jumtate a at a din cea a arborelui de intrare plus un MUXE. Celor trei subarbori rezultati dup prima sectionare (i = 1) li se poate aplica a ecruia, similar o nou sectionare (i = 2) pe la jumtatea circuitelor CLC compoa a a nente obtinndu-se din nou aproximativ o a njumtirea adcimii circuitului rezultat; a at a numrul de sectionri posibile succesive este i = log 2 n, deci o adncime D(n) a a a O(log n). De ecare dat cnd se aplic o sectionare numrul de circuite CLC i se a a a a multiplic cu 1,5 i se adug un numr de 3i circuite MUXE, consecinta dimensia s a a n unea circuitului ramne O(n2 ). a n Pentru cazul cnd CLCi sunt cu ieiri multiple, de exemplu un numr de m ieiri, a s a s multiplexarea se realizeaz cu m MUX2m :1. Dup prima sectionare cele m ieiri ale a a s CLCn/2 se aplic la cele m intrri de selectare de la ecare dintre cele m multiplexoare a a 2m : 1. Pentru copia subarborelui al doilea, ale crui ieiri sunt aplicate la intrrile a s a de date de ordin i, 0 i 2m 1, de la cele m multiplexoare, la intrarea sa se aplic a cuvntul care este codul binar natural al numrului i. a a

CLC(n/2+1)
1

yn/2

y(n1)

xn

CLCn
1

yn

b)

xn/2

y2

xn/2
1

y(n1)

xn

y(n1)

CLCn/2

CLCn
1

0 yn/2

MUX 2:1
yn
1

y2

CLC2

xn

CLCn
1

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

601

Exemplul 4.5 [Stefan 00] Circuitul detector de paritate din Figura 4.25-a s i se a aplice teorema lui Spira.
x0 x1 1 x0 x1 1 "1" x2 2 "0" x2 2 x0 x1 x3 1 2 x3 3 a) y x2 x3 b) S 3 1 3 0 MUX 2:1 y 1 0 MUX 2:1 y (2,3) (2,3) x2 x3 x2 x3

x2

x3

S c) x2 x3 (2,3)

x0 x1

x0 x1 1 (2,3) 0 MUX 2:1 S

(2,3) 1

y y MUX 2:1 y

d)

e)

Figura 4.25 Exemplu de aplicare a teoremei lui Spira pentru conversia unui structuri serie de generator de paritate pentru un circuit de patru biti ntr-o structur paralel (pe baza de XOR2) a a
Solutie: Arborele degenerat format din 3 porti XOR este sectionat dup prima poart; a a primul subarbore format din poarta XOR, notat cu 1, se aplic la intrarea de selectare S a a a multiplexorului 2:1, iar cele dou copii ale celui de-al doilea subarbore, format din portile a XOR notate cu 2 i 3, se aplic la intrrile de date 0,1 ale multiplexorului, Figura 4.25s a a b. Copia celui de-al doilea subarbore care are pe intrare valoarea 1 se transform a ntr-o singur poart NXOR, notat cu (2,3) pentru c 1 x2 x2 x3 = x2 x3 , iar copia care a a a a are pe intrare valoarea 0 se transform a ntr-o singur poart XOR, notat cu (2,3) pentru a a a c: 0 x2 x2 x3 , Figura 4.25-c i d. Operatorul de inversare de la NXOR a s mpreun a cu structrura MUX2:1, Figura 4.25-e, formeaz o structur de XOR, obtinndu-se nal, a a a n Figura 4.25-f; structur paralel de detector de paritate pentru cuvinte de patru biti (vezi a a Figura 2.19-c i d). Sugerm, ca exercitiu, aplicarea teoremei lui Spira pentru conversia s a arborilor degenerati formati din: 1 apte porti XOR (detector de paritate pentru cuvinte s

XOR f)

x0 x1

x2 x3

602

4.8. COMBINATIONAL SAU SECVENTIAL?

de un byte, Figura 2.19-b); 2 nserierea a apte porti AND2; 3 s nserierea a apte porti s OR2.

,, ,, Teorema lui Spira ne arat c la conversia serialului paralel scade timpul a a n ,, (adncimea) dar crete dimensiunea. Dar cum se manifest acest balans cnd se a s a a trece de la secvential la combinational i invers ? La un circuit combinational timpul s de procesare T (n) se va considera proportional cu adncimea D(n). a Un bloc de stare ntr-o organigram ASM care se comut aceeai stare de n a n a n s ori, adic se parcurge repetitiv o bucla de n ori, cum este prezentat Figura 2.16-a a n poate modelat printr-o nseriere de n celule identice obtinndu-se un circuit com a binational, Figura 2.16-c.
x(t0) CLC1 q(t1) CLC1 q(t2) Q+ x(ti) CLC1 q(ti+1) q(tn1) CLC1 a) b) CLC2 y(tn) q(ti) CLC2 y(ti) q(t0) CLC2 y(t0)

CLC2 (f:X Q Y)

x(t1)

CLC2

y(t1)

CLC1 (g:X Q Q)

Registru

x(tn)

Figura 4.26 Conversia unui automat Mealy (a) ntr-un circuit combinational (b) cu S(n) O(n) i D(n) O(n). Conversia invers este s a posibil dac se poate structura CLC1 i CLC2 conform retelei din (b). a a s S considerm cazul general, Figura 4.26-a, al unui automat Mealy care calculeaz a a a functia de transfer f : (X Q) Y pe circuitul combinational CLC 2 i functia de s tranzitie g : (X Q) Q pe cicruitul combinational CLC 1 . Aplicnd la intrare, sin a cron cu ceasul, o succesiune de valori ale semnalului de intrare x(t 0 ), x(t1 ), . . . , x(ti ), . . . , x(tn ) automatul va parcurge o traiectorie compus respectiv din strile q(t 0 ), a a q(t1 ),. . . , q(ti ), . . . , q(tn ) genernd ieirile y(t0 ), y(t1 ), . . . , y(ti ), . . . , y(tn ); cu x(ti ) a s X, q(ti ) Q i y(ti ) Y . Acest automat rezolv problema prelucrrii irului de s a a s

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

603

intrare x(ti ) ntr-un timp O(n) pe un circuit CLC2 de dimensiune DCLC2 = O(1), iar pentru generarea strii urmtoare (semiautomat) pe circuitul CLC 1 de dimensiune a a ntr-un timp O(1). Dar aceeai prelucrare a irului de intrare s s DCLC1 = O(1) tot x(ti ), i = 0, 1, . . . , n se poate realiza prin nserierea de n ori a prtii combinationale a a automatului (CLC1 + CLC2 ) ca Figura 4.26-b. La primul circuit combinational se n aplic x(t0 ) i starea initial q(t0 ), se genereaz ieirea y(t0 ) i starea viitoare q(t1 ), la a s a a s s al doilea circuit combinational se aplc x(t 1 ) i starea q(t1 ), se genereaz ieirea y(t1 ) a s a s i starea urmtoare q(t2 ). Astfel, din aproape aproape la aplicarea valorilor intrrii s a n a x(ti ) i a strii q(ti ) se calculeaz ieirea y(ti ), deci circuitul combinational pentru irul s a a s s de valori de intrare aplicat la succesiv, genereaz pe ieiri aceeai succesiune pe care a s s o realizeaz i circuitul secvential de la care am pornit. La circuitul combinational as ,, obtinut prin desfurarea prtii combinationale a automatului, care se compune as a prin nserierea de n ori a circuitului combinational respectiv, att adncimea D(n) a a ct i dimensiunea S(n) sunt O(n). a s n ,, Circuitul combinational obtinut prin desfaurarea prtii combinationale a au s a tomatului, prin aplicarea teoremei lui Spira, poate convertit ntr-un circuit combinational cu dimensiunea D(n) O(n ) i adcimea D(n) O(log n). Prin conversia s a automatului, cu o adcime a prtii combinationale O(1) i un timp de procesare a a n s n O(n), deci un produs S(n) T (n) = O(n), ntr-un circuit combinational, echivalent din punct de vedere al prelucrrii, se obtine o dimensiune O(n ) i o adncime a n s a n O(log n), deci cel mai bun caz un produs S(n) T (n) = O(n log n). n Conversia invers, de obtinere a unui circuit secvential dintr-un circuit combia national, este posibil dac se poate structura partea combinational a automatului a a a conform retelei din Figura 4.26-b. Pentru proiectant criteriul de decizie alegerea combinational sau secvential n poate produsul adncime dimensiune, D(n) S(n), al circuitului, care este a proportional cu produsul dintre timpul de procesare i dimensiune, T (n) S(n). Cos s tul unui circuit, general, este proportional cu dimensiunea S(n), (vezi sectiunea 2.3 n i 4.1), iar performanta ( general viteza de procesare) este invers proportional cu s n a T (n), deci produsul T (n)S(n) poate considerat ca ind raportul cost/performanta. Produsul T (n) S(n) poate utilizat ca un criteriu decizia secvential/combinatin onal, varianta de circuit care asigur o valoare mai mic pentru acest produs poate a a selectat deoarece realizeaz un cost mai mic pentru unitatea de performata. Balansul a a dintre S(n) i D(n) este exprimat de relatia 2.9 care arat c mrirea performantei s a a a (vitezei) de un numr de ori va determina creterea costului cu un mai mare numr! a s a Tabelul 4.2 sunt colectate caracteristicile de circuit D(n), T (n) pentru circuite In sumator i circuite multiplicator variante combinationale i secventiale. Circuitul s n s multiplicator secvential (pozitia 5 din tabel) nu a fost prezentat aceast carte; acest n a circuit utilizeaz algoritmul clasic de a nmultire. Se adun succesiv produsele partiale a obtinute prin nmultirea de nmultitorului cu cte o cifr a a a nmultitorului, dar ecare produs partial nainte de adunare se deplaseaz cu un rang spre stnga. Inspectnd a a a tabelul se constat c produsul S(n) T (n) (raportul pret/performanta) este mai a a bun la variantele cu implementare secvential dect la variantele cu implementare a a combinational att pentru sumatoare ct i pentru multiplicatoare. concluzie, a a a s In apare c din punct de vedere al raportului pret/performanta sunt mai avantajoase a ,, circuitele mai lente! Un circuit acest sens care n ncetinete timpul de procesare s dar schimb crete utilizarea componentei combinationale i care poate suport n s s

604

4.8. COMBINATIONAL SAU SECVENTIAL?

Tabelul 4.2 Valori ale produsului S(n) T (n) pentru variante de circuite implementate combinational i secvential s TIPUL DE CIRCUIT Sumator cu transport progresiv, STP (sectiunea 2.5.2.1) Sumator cu transport anticipat, STA (sectiunea 2.5.2.1) Sumator serial cu transport succesiv (secvential) (problema P3.44 i P3.76) s Multiplicator matriceal (sectiunea 2.5.3.1) Multiplicator secvential S(n) O(n) O(n3 ) O(1) O(n2 ) O(1) T (n) O(n) O(1) O(n) O(n) O(n) S(n) T (n) O(n2 ) O(n3 ) O(n) O(n3 ) O(n)

1 2 3 4 5

de implementare att pentru combinational ct i pentru secvential, este FPGA-ul a a s utilizat cu timp multiplexat. Circuitul FPGA cu timp multiplexat, TM-FPGA. Modalitile de organiat zare ale unui circuit FPGA sunt prezentate Figura 4.10 i dintre acestea varianta n s ,, de organizare de tip matriceal este reluat Figura 4.27-a. spatele ecrui a n In a punct programabil (din CLB-uri sau resurele de interconectare) exist cte o celul a a a memorie (latch), a crei valoare a nscris determin programarea punctului respectiv; a a totalitatea acestor celule de memorie constituie memoria de recongurare a circuitului FPGA, aceast memorie va referit ca plan de memorie de recongurare sau a a context. Un circuit TM-FPGA prezint distribuit, ecare dintre punctele de prograa n mare nu o singur celul de memorie (latch) ci un numr de k celule de memorie a a a de recongurare care, toate, la nivelul ntregii suprafete a circuitului, pot privite c formeaz k plane de memorie de congurare (k contexte), Figura 4.27-c. La un a a moment dat al functionrii circutului doar continutul unui singur plan contextul a curent comand punctele de programabilitate. Schimbarea unui plan de mema orie cu un altul, adic modicarea functiei realizat de ctre FPGA (prin actiunea a a a unui alt context), se poate realzia ntr-un interval de timp mai mic de 25ns. Oricare dintre cele k plane de memorie de congurare poate arcat, din exterior, timp nc n ce FPGA-ul functioneaz sub programarea (sub informatia) din unul din planele de a memorie (contextul curent). Organizarea planelor de memorie de recongurare este prezentat a n Figura 4.27-d. Continutul unui plan de congurare i, i i k, se aplic la lini a ile de bit (sub forma unui cuvnt foarte lung > 10 5 biti) i acest continut se va a s nscrie celulele de memorie M ale planului momentul cnd se activeaz semnalul de sen n a a lectare, Wi . Citirea unui plan de memorie i transformarea acestuia context curent s n se face prin activarea liniei de cuvnt respective, W i ; prin tranzistoarele de trecere, a comandate prin activarea liniei Wi , continutul celulelor de memorie se aplic la liniile a de bit, iar pe frontul activ al semnalului de ceas, CLK, se nscrie latch-urile D care n xeaz noul context. a O alt modicare a unui circuit FPGA, pentru a transformat a ntr-un circuit

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

605

CLB

CLB

CLB

CLB

Trasee pentru interconectare

Iesire memorata O1 registru De la CLB O2 Iesire directa

CLB

CLB

CLB

CLB

CLB
CLB CLB CLB CLB

CLB

CLB

CLB

CLB

Matrice pentru interconexiuni b)

a)

de interconectare

Contextul curent QM Q CLK M D QM Q D M

(Context 1) Context 2

M W2 Selectare Context 2

M Wk Selectare Context k Context k c) d) linii de bit

Configuratie/Date de la memoria externa/utilizator

Figura 4.27 Circuitul FPGA cu timp multiplexat TM-FPGA: a) organizarea matriceal a unui circuit FPGA i extensia acesteia la un TM-FPGA (b) prin a s adugarea pe ieirea ecrui CLB a unui microregistru; c) reprezentarea intuitiv a s a a a planelor de memorie de recongurare (contexte); d) structurarea circuitelor din componenta planelor de recongurare.

W1 Selectare Context 1

Configuratie SRAM

CLBuri si resursele

la CLBuri si resursele de interconectare

QM Q D

606

4.8. COMBINATIONAL SAU SECVENTIAL?

TM-FPGA, este introducerea microregistrelor. La ieirea ecrui CLB se ataeaz s a s a un numr de k celule bistabile (microregistru) egal cu numrul de plane de memorie a a de congurare, Figura 4.27-b. urma functionrii unui CLB, ind congurat cu un In a context, valoarea logic generat se poate obtine direct la ieire, ieirea notat cu a a s s a O2 , sau se nscrie una dintre celulele bistabil ale microregistrului. Microregistrul n memoreaz valorile ieirilor unui CLB (att cele combinationale ct i cele secventiale) a s a a s pentru a pstrate dup ce contextul FPGA-ului a fost schimbat. a a Inscrierea ieirilor s CLB-ului microregistre poate validat prin acelai semnal de ceas care se aplic n a s a i CLB-urilor. s O valoare de ieire dintr-un CLB, memorat microregistru poate aplicat s a n a (evident printr-o rutare prin interconexiunile programabile) la intrarea aceluiai CLB s sau la un altul, pentru contextul urmror sau pentru un context ulterior. Rezult a a c microregistrul este suportul prin care se pot comunica semnale generate de FPGA a ntre dou contexte consecutive (comunicare adiacent) sau a a ntre dou contexte a separate de mai multe tacturi de ceas (comunicare direct). a Implementarea unui circuit pe FPGA poate distribuita pe cteva CLB-uri, pe a un ntreg circuit FPGA sau chiar pe cteva circuite FPGA, aceasta depinznd de a a dimensiunea circuitului de implementat. O astfel de utilizare se reduce la o abordare spatial a FPGA-ului pentru c nu se consider aspectul temporal al uti a a a lizrii resurselor implicate (LUT-uri, matrice de conectare, trasee de interconectare, a elemente de memorare). O abordare temporal a FPGA-ului consider o reutia a lizare timp ale acestor resurse, adic cu ce frecventa maxim, f max , aceste resurse n a a pot reutilizate ( timp), dar asigurnd o functionare corect a functiei implemenn a a tat. Frecventa maxim de reutilizare depinde de timpul minim de propagare, pmin , a a prin lantul de resurse implicate implementarea functiei, f max 1/pmin . Uti n lizarea unui FPGA regim de timp multiplexat se bazeaz tocmai pe aceast n a a reutilizare a resurselor (schimbarea contextului) cu o frecventa de pn la f max ; deci a a TM-FPGA utilizeaz att abordarea spatial ct i cea temporal i acest fel utia a a a s a s n lizarea resurselor crete pn la capacitatea maxim (pentru circuitul implementat s a a a scade D(n) dar crete T (n)). Dicultatea care se ridic, la utilizarea unui circuit s a TM-FPGA, este gsirea partajrii/distribuirii optime a functiei de implementat, e a a abordarea combinational e cea secvential, pe resursele utilizabile repetat n a n a (prin schimbarea contextelor). Pentru o implementare ca circuit combinational functia de realizat se partajeaz a subfunctii (subcircuite), ecare subcircuit trebuie s e implementat pe resursele n a existente ale FPGA-ului care sunt comandate de ctre un context; prin comutarea a contextelor, al cror numr este egal cu numrul de subfunctii ce proceseaz functia a a a a respectiv. De exemplu, Figura 4.28-a este prezentat o functie sub forma unui a n a grac aciclic orientat compus din ase noduri (A, B, C, D, E, F ) la care se aplic la s a intrare variabilele x3 , x2 , x1 , x0 i genereaz ieirea y. Se poate partaja patru subs a s n circuite (1,2,3,4), nodurile (de procesare) din ecare subcircuit se repartizeaz pe a resursele circuitului TM-FPGA i sunt controlate printr-un context. Modul cum s cele patru contexte, succesiunea 1,2,3,4, sunt repartizate celor patru subfunctii n este reprezentat pe organizarea din Figura 4.28-b; schimbarea contextelor corespunde liniilor vericale trasate ntrerupt. Comunicarea adiacent de semnale se realizeaz la a a schimbarea contextelor prin intermediul microregistrului. Pentru comunicarea direct a de semnale, ntre contexte neadiacente, semnalele sunt memorate celule buer (care n

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

607

Subcircuit 1 x0 x1 x2 x3 a) Context 1 x0 x1 x2 A x3 b) B C E X

Subcircuit 2

Subcircuit 3

Subcircuit 4

F G D y

Context 2 F

Context 3

Context 4

Context 1 x0 x1 E

Context 2

Context 3 F

Context 4

y x2 A x3 c)

G B C

Figura 4.28 Partajarea grafului unei functii pentru implementarea pe un TM-FPGA: a) graful aciclic directionat al functiei i partajarea s n subfunctii/subcircuite; maparea subcircuitelor pe contexte cu trei celule buer (b) pentru comunicarea direct de semnale; cu dou celule buer (c). a a

sunt celuleale microregistrului). De exemplu, pentru comunicarea ntre nodurile A, E, din contextul 1, cu nodul G din contextul 3 semnalele care se transmit sunt pstrate a cele dou celule buer pe durata contextului 2 (celulele buer sunt gurate prin n a dreptunghiuri desenate cu linie ntrerupt), iar pentru comunicarea semnalului a ntre nodul F din contextul 2 cu nodul D din contextul 4 este introdus celula buer din a contextul 3, deci total 3 celule buer. Printr-o alt repartizare a subfunctiilor n a pe contexte se obtine organizarea din Figura 4.28-c, care a redus numrul de celule a buer la doi. Numrul de celule buer (care sunt celule ale microregistrelor) pe ima plementare poate constitui un criteriu de optimizare. Pentru implementarea ca circuit secvential partajarea este, ntr-o prim abordare, a aproape direct care rezult din analiza grafului de tranzitie al strilor/ieirilor sau a a a s organigrama ASM. Intr-o organigram ASM pentru ecare perioad de ceas corea a spunde (se activeaz) doar un bloc de stare, Figura 3.15-d, deci ecrui bloc de stare a a va corespunde implementare un context (mapare unu-la-unu i n ntre blocuri de stare i contexte); numrul contextelor ind egal cu numrul strilor din organigrama s a a a ASM (aceast abordare simpl poate util doar atunci cnd numarul strilor este a a a a a

608

4.9. COMPARATIE INTRE DIFERITELE MODALITATI DE PROGRAMARE

mai mic dect numrul contextelor din TM-FPGA). La trecerea dintr-o stare a a ntr-o stare urmtoarea se comut pe contextul strii urmtoare, mai mult, se poate utiliza a a a a chiar codul strii urmtoare, calculat la sfritul strii prezente, pentru selectarea cona a as a textului urmtor. Comunicarea informatiei a ntre dou stri (codul strii urmtoare a a a a care devine stare prezent) se realizeaz prin intermediul microregistrelor. Aceast a a a partajare simpl apare datorit faptului c functionarea unui automat se bazeaz a a a a pe calculul strii urmtoare care apoi se aplic la intrare ca stare prezent, ceea ce a a a a corespunde cu operarea timp multiplexat la FPGA. Exist i alte modaliti de n a s at partajare, a unui circuit secvential, care nu sunt restrictionate de aceast mapare a unu-la-unu [Chang 99].

4.9

COMPARATIE INTRE DIFERITELE MODALITATI DE PROGRAMARE

Progresele permanente tehnologiile circuitelor integrate, evidentiate prin len gea lui Moore, a determinat consencinta i obtinerea de performante la limita n s tehnologic, evident, aceste performante trebuind s justice costul ridicat al noilor a a tehnologii (Legea lui Gordon Moore(1965): numrul de tranzistoare ina tegrate pe unitatea de suprafat a ntr-un circuit integrat se dubleaz a n ,, ecare an ; ultimii ani aceast cretere exponential, dup puterile lui doi, s-a n a s a a diminuat ajungnd la dublri la intervale de 1,5 ani sau chiar mai mari). O evolutie a a a principalelor dimensiuni specice tehnologiei CMOS este dat tabelul din Figura a n 4.29-a. Evolutia unor dimensiuni tehnologia CMOS n Anul Caracteristica a) Lungimea de canal [m] Numr de tranzistoare milioane a cm2 Suprafata cipului [mm2 ]
Capatibilitate de implementare/

1999 0,14 14 800

2001 0,12 16 850

2003 0,10 24 900

2006 0,07 40 1000

2009 0,05 64 1100

2012 0,03 100 1300

b)

realizare

asigu

rata

ehno prin t

logie

Diferenta productivitatii de proiectare

ceruta prin proiectar e(tehn

ici EDA)

ani

Figura 4.29 Evolutii: a) a unor dimensiuni specice tehnologiei de integrare CMOS; b) a capabilitilor de implementare i proiectare pentru aplicatii at s De asemenea, evolutia de pn acum a circuitelor integrate a artat c posibilitile a a a a at de implementare disponibile ntr-o nou tehnologie care acum se dezvolt vor depi a a as

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICATII

609

cerintele de implementare derminate de abordrile prin proiectare (prin tehnicile a EDA); aceast asertiune referit prin diferenta productivitii de proiectare a a at este redat Figura 4.29-b. aceast gur este dat evolutia timp att a capaa n In a a a n a bilitii de implementare asigurat de tehnologie ct i a capabilitilor de realizare at a a s at cerute de ctre proiectare/realizare. a tehnologia CMOS, odat cu coborrea caracteristicii de proces sub 100nm, In a a devine din ce ce mai scump i numrul de defecte crete. Creterea numrului de n as a s s a defecte apare din ce ce mai pregnant, pe lng defectele de fabricatie/de proces, prin n a a defecte de tip parametric (zgomot, arziere etc.). Creterea costului se datoreaz nt s a pe lng realizarea unui coecient de recolt sczut (procentul de circuite functionale a a a a obtinute din totalul de circuite intrate fabricatie) i datorit creterii costului de n s a s proiectare (timp de proiectare, instrumente EDA mai costisitoare). Fortat de aceste considerente realizarea de circuite suport pentru aplicatii a aprut conceputul de n a structuri regulate. Aceste structuri creaz circuite cu o anumit regularitate, pe a a partea logic i pe partea de interconectare, alnit la circuitele standard, dar, as nt a n plus, ofer i unele faciliti de ASIC, consecinta rezultnd un tip de ASIC cu pret as at n a sczut (vezi VPGA). a Circuistica suport abordarea aplicatiilor este destul de extins, de la circuitele n a logice discrete pn la circuitele de tip full-custom. O structurare a acestei circuistici a a suport este prezentat Figura 4.30-a. sectiunea 4.1 s-a specicat c prin ASIC a n In a se elege un circuit dedicat la a crui nalizare, pe lng turntoria de siliciu, nt a a a a intervine i beneciarul prin proiectare semicustom. structurarea din aceast gur s In a a notiunea de ASIC acoper toate circuitele (full-custom, semicustom i circuitele PLD a s (eld programmed)) care realizeaz o aplicatie specic/dedicat; literatur aria a a a n a de acoperire a notiunii de ASIC este destul de larg. a Un criteriu prin care s se decid care mod de proiectare este optim pentru o a a
Suport circuite pentru aplicatii

Circuite logice standard

ASIC

PLD

Arii de porti logice

Celule standard

Fullcustom

SPLD

CPLD

FPGA

Figura 4.30 Reprezentarea suportului circuistic (tehnologia) pentru abordrile de proiectare ale sistemelor logice. a

610

4.9. COMPARATIE INTRE DIFERITELE MODALITATI DE PROGRAMARE

aplicatie este dicil de exprimat, general decizia se ia functie de un set de car n n acteristici asigurate de o anumit proiectare. acest sens Tabelul 4.3 se prezint a In n a un set de caracteristici pentru ecare dintre modurile de proiectare expus acest n capitol (abordarea cu circuite logice discrete a fost prezentat sectiunea 2.3). De a n asemeanea, aceste caracteristici nu au fost date prin valori absolute ci prin valori relative; este mai important, prima etap de selectare a tehnologiei de implementare, a n a o cunoatere a ordonrii relative a acestor caracteristici pentru ecare tehnologie de s a implementare urmnd apoi, dup selectare, s se determine dac valorile absolute a a a a satisfac. Tabelul 4.3 Caracteristici ale diferitelor tipuri de proiectare
Caracteristici Dimensiunea celulei Tipul de celul a Plasamentul celulelor Interconexiunile Numr de a mati s Aria Tehnologia(Tipul de circuit) Componente Circuit Arie de Celule CPLD FPGA discrete full-custom porti standard x a variabil a x a x a x a ( altimea) n circuite variabil a x a variabil programabil programabil a a a diferite variabil variabile foarte mare variabil x pe linii x x

variabile variabile toate mtile as mtile de rutare as redus a moderat (compact)

variabile programabile programabile toate 0 0 mtile as moderat moderat mare (redus) a

Densitate medie ridicat a medie medie sczut a a sczut a a (porti/chip) Uurinta de s foarte bun a bun a sczut a a redus a redus a bun a (programabilitate) (reconfigurabil) Gradul de foarte experienta al sczut a mediu mediu sczut a sczut a ridicat proiectantului Timpul de zile/ luni/ sptmni/sptmni/ a a a a a a ore/ ore proiectare sptmni a a a (an) luni luni zile Investitia sczut/ a a mare medie medie sczut a a sczut a a initial a medie Performanta foarte sczut/ a a medie bun a bun a sczut a a (viteza) bun a (medie) Recomandat mici/ foarte mici mari mari mari mici pentru serii medii (prototipuri) Cost/ foarte mic/ ridicat/ mediu mic ridicat unitate mic (mediu) (mediu) Depinde pronuntat de volumul de productie (costul relativ indicat corespunde pentru valori de serie specicate rndul anterior) n a

Capitolul 5

Bibliograe
[Bryant 92] Bryant E. Randy: Symbolic Boolean Manipulation with Ordered Binary-Decision Diagram. ACM Computing Surveys, Vol. 24, No. 3, september 1992. [Cocan 01] Cocan Moise, Pop Bogdana: Bazele Matematice ale Sistemelor de Calcul. Editura Albastr, Cluj, 2001. a [Crstea 2000] Crstea Horia, Constructia i tehnologia Echipamentelor Electrona a s ice. Editura Politehnic Timioara, 2000. a s [Creang 73] Creang I., Reischer C., Simonovici D.: Introducere Algebric Ina a a n formatic. Teoria Automatelor. Editura Junimea, Iai, 1973. a s [Chang 99] Douglas Chang, Marek-Sadowska Malgorzata: Partitioning Sequetinal Circuit on Dynamically Recongurable FPGAs in Transactions on Computers, vol. 48, No. 6, june 1999. [Chen 03] Chen Eai-Kai (editor), Logic Design. CRC Press, 2003. [Chinnery 02] Chinnery David, Keutzer Kurt: Closing the Gap Between ASIC & Custom. Kluwer Academic Publishers, Boston, 2002. [Floyd 90] Floyd Thomas, Digital Fundamentals. Fourth Edition, Merryl Publishing Company, Torronto, 1990. [Friedman 01] Friedman G., Eby: Clock Distribution Networks in Synchronous Digital Integrated Circuits, in Proceedings of the IEEE, Vol. 89, No. 5, pp. 665-690, May 2001. [Green 85] Green David: Modern Logic Design. Addison-Westley Publishing Company, 1985. [Greenlaw 98] Greenlaw Raymond, Hoover H. James: Fundamentals of the Theory of Computation-Principles and Practice. Morgan Kaufmann Publishers Inc., San Francisco, 1998. 611

612 [Gonteanu 96] Gonteanu Aurel, Bbita Mircea: Structuri Logice Programabile. a a Aplicatii. Editura de Vest, Timioara, 1996. s [Hennesy 98] Hennesy L.I., Petterson, A. D.: Computer Organisation and Design - The Hardware/Software Interface. 1998, Morgan Kaufmann Publishers Inc., San Fransico, California. [Kang 96] Kang S., Lebleblici Y., CMOS Digital Integrated Circuits: Analysis and Design. The McGraw-Hill Company Inc., 1996. [Lerouge 04] Lerouge Christoph: L International Technology Roadmap for Semiconductors in Sciences Physiques-Nanoscience, Microelectronique, Materiaux, Jullet 2004, No. 12. [Lewin 92] Lewin D., Protheore D.: Design of Logic Systems. Champmann&Hall Publishing, London, 1982. [Matei 93] Matei S., Nslu P.: Elemente de Logic Matematic i Algebre Boolene. a a a as Universitatea Tehnic Timioara, 1993. a s [Mead 80] Mead C., Conway L., Introduction to VLSI Systems. Reading, MA, Addison-Wessley Publishing Company, 1980. [Maican 99] Maican Sanda: Circuite Integrate Digitale. Editura PRIMTECH, Bucureti, 1999. s [Mano 02] Mano, Morris: Digital Design. Prentice Hall International, London, 2002. [Murean 02] Murean T., Gontean A., Bbita M., Demian P.: Circuite Integrate s s a a Numerice - Aplicatii i Proiectare. Editura de Vest, Timioara, 2002. s s [Nicula 00] Nicula Dan: Proiectarea Sistemelor Digitale Implementate cu Dispozitive Programabile. Editura Tehnic, Bucureti, 2000. a s [Omandi 94] Omandi R. Amos: Computer Arithmetic Systems - Algorithms, Architecture and Implementation. Prentice Hall International (UK) Publishing, 1994. [Oberman 78] Oberman R. M.: Numrtoare Electronice. Editura Tehnic, Bua a a cureti, 1978. s [Petterson 96] Petterson A. D., Hennesy L. I.: Computer Architecture - A Quantitative Approach. 1996, Morgan Kaufmann Publishers Inc., San Francisco, California. [Parker 98] Parker P. Kenneth: The Boundary - Scan Handbook. Kluwer Academic Publishers, 1998, London. [Sange 02] Sandige Richard: Digital Design Essentials. Prentice Hall, 2002. [Smith 97] Smith M. I. S.: Application Specic Integrated Circuits. 1997, AddisonWesley Publishing Company.

CAPITOLUL 5. Bibliograe

613

[Spira 71] Spira P. M.: On Time Hardware Complexity Tradeo for Boolean Functions, in Proceedings of Fourth Hawaii International Symposium on System Science, pp. 525-527, 1971. [Sutherland 99] Sutherland I., Sproull B., Harris D.: Logical Eort. Morgan Kaufmann Publishers, 1999. [Stefan 91] Stefan Gheorghe: Functii i Structur Sistemele Digitale. Editura s a n Academiei Romne, Bucureti, 1991. a s [Stefan 93] Stefan Gheorghe: Circuite Integrate Digitale. Editura DENIX, Bu cureti, 1993. s [Stefan 97] Stefan Gheorghe: Circuit Complexity, Recursion, Grammars and In formation. Universitatea Transilvania din Braov, Braov, 1997. s s [Stefan 00] Stefan Gheorghe: Circuite i Sisteme Digitale. Editura Tehnic, Bu s a cureti, 2000. s [Stefan 92] Stefan Gheorghe, Bistriceanu V.: Circuite Integrate Digitale. Probleme. Proiectare. Editura Didactic i Pedagogic, Bucureti, 1992. as a s [Toace 96] Toace G., Nicula D.: Electronic Digital. Editura Teora, Bucureti, s s a a s 1996. [Vldutiu 89] Vldutiu Mircea, Crian Marius: Tehnica Testrii Echipamentelor a a s a Automate de Prelucrarea Datelor. Editura Facla, Timioara, 1989. s [Wakerly 01] Wakerly John: Digital Design - Principle and Practice. Third Edition, 2001, Prentice Hall. [Weste 01] Weste N. H. E., Eshraghian K.: Principle of CMOS VLSI Design. Second Edition, 1993, Addison-Westley Publishing Company. [Yarbrough 97] Yarbrough, John: Digital Logic - Application and Design. West Publishing Company, Minniapolis, 1997.

You might also like