Sunteți pe pagina 1din 613

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

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

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

4 1.6.2 Reject ia 1.6.2.1 1.6.2.2 1.6.2.3 1.6.2.4

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

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

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

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

2.6

3 CIRCUITE LOGICE SECVENT IALE, CLS 3.1 CIRCUITE LOGICE SECVENT IALE ASINCRONE . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 CIRCUITE LOGICE SECVENT IALE SINCRONE . . . . . . 3.2.1 Sincronizarea semnalelor asincrone . . . . . . . . . . . 3.2.2 Automate nite: structur a, denit ii, clasic ari . . . . 3.2.3 Modalit a ti de reprezentare ale automatelor . . . . . . 3.2.3.1 Graful de tranzit ie al st arilor . . . . . . . . . 3.2.3.2 Tabelul de tranzit ie al st arilor . . . . . . . . 3.2.3.3 Diagrame de variat ie n timp ale semnalelor . 3.2.3.4 Organigrama ASM . . . . . . . . . . . . . . . 3.2.3.5 Limbaje de transfer ntre registre, RTL . . . 3.2.4 Reducerea num arului de st ari . . . . . . . . . . . . . . 3.2.5 Asignarea st arilor . . . . . . . . . . . . . . . . . . . . . 3.2.5.1 Intr ari si ie siri asincrone . . . . . . . . . . . . 3.2.6 Proiectarea automatelor sincrone . . . . . . . . . . . . 3.3 CIRCUITE BASCULANTE . . . . . . . . . . . . . . . . . . . 3.3.1 Circuitul latch . . . . . . . . . . . . . . . . . . . . . . 3.3.1.1 Latch-ul SR . . . . . . . . . . . . . . . . . . 3.3.1.2 Latch-ul D . . . . . . . . . . . . . . . . . . . 3.3.2 Circuite Basculante Bistabile (Triggere) . . . . . . . . 3.3.2.1 Principiul master-slave . . . . . . . . . . . . 3.3.2.2 Bistabilul D . . . . . . . . . . . . . . . . . . 3.3.2.3 Bistabilul JK . . . . . . . . . . . . . . . . . . 3.3.2.4 Bistabilul T . . . . . . . . . . . . . . . . . . 3.3.3 Aplicat ii la automate . . . . . . . . . . . . . . . . . . . 3.3.4 Circuitul basculant bistabil asimetric (Triggerul Schmitt) . . . . . . . . . . . . . . . . . . . . 3.3.5 Circuitul basculant monostabil . . . . . . . . . . . . . 3.3.6 Circuitul basculant astabil . . . . . . . . . . . . . . . . ATOR 3.4 CIRCUITE NUMAR . . . . . . . . . . . . . . . . . . . 3.4.1 Num ar atoare asincrone . . . . . . . . . . . . . . . . . 3.4.2 Num ar atoare sincrone . . . . . . . . . . . . . . . . . . 3.4.2.1 Num ar atoare presetabile . . . . . . . . . . . 3.4.2.2 Num ar atoare n cod arbitrar . . . . . . . . . 3.5 CIRCUITE REGISTRU . . . . . . . . . . . . . . . . . . . . . 3.5.1 Registru paralel . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Circuitul acumulator . . . . . . . . . . . . . . . . . . . 3.5.3 Structura pipeline . . . . . . . . . . . . . . . . . . . . 3.5.4 Registrul de deplasare . . . . . . . . . . . . . . . . . . 3.5.5 Registrul serie-paralel . . . . . . . . . . . . . . . . . . 3.5.6 Circuite liniare cu registre de deplasare . . . . . . . .

6 3.5.7 Distribut ia si aplicarea semnalului de ceas . . MEMORIA CU ACCES ALEATORIU . . . . . . . . 3.6.1 Memoria RAM static a . . . . . . . . . . . . . 3.6.2 Memoria RAM dinamic a. . . . . . . . . . . . 3.6.2.1 Memoria DRAM sincron a, SDRAM 3.6.3 Circuite actuale pentru memoriile de date . . 3.6.4 Memoria adresabil a prin cont inut, CAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

3.6

4 SUPORTUL CIRCUISTIC PENTRU APLICAT II 4.1 CONEXIUNI PROGRAMABILE . . . . . . . . . . . 4.2 PROIECTAREA DE TIP FULL-CUSTOM . . . . . 4.3 PROIECTAREA CU ARII DE PORT I LOGICE . . 4.4 PROIECTAREA CU CELULE STANDARD . . . . 4.5 PROIECTAREA CU CPLD . . . . . . . . . . . . . . 4.6 PROIECTAREA CU FPGA . . . . . . . . . . . . . . 4.6.1 Blocul Logic Congurabil . . . . . . . . . . . 4.6.2 Resursele de interconectare . . . . . . . . . . 4.7 PROIECTAREA PENTRU TESTABILITATE . . . 4.8 COMBINAT IONAL SAU SECVENT IAL? . . . . . . 4.9 COMPARAT IE INTRE DIFERITELE I DE PROGRAMARE . . . . . . . . . MODALITAT 5 Bibliograe

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

Capitolul 1

PORT I LOGICE
1.1 SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

1.1.1

Axiomele si teoremele algebrei Booleene

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

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

(1.1)

Tabelul 1.1 Operatorii booleeni; denit ie si simboluri grace


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

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

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

0 0 0 1
x y xy x +y

x y

x.y

x y

&

x.y

0 1 1 1

x y

x+y

x y

> 1 x+y

ANSI (American National Standard Institute)

CAPITOLUL 1. PORT I LOGICE

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

Forma cu operatorul produs ()

Forma cu operatorul sum a (+)

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

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

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

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


x+y =xy

10

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

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

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

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

x 0 0 1 1

y 0 1 0 1

x y 0 0 0 1 =

x +y 0 1 1 1

x+ x y 0 0 1 1

x (x + y) 0 0 1 1

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

CAPITOLUL 1. PORT I LOGICE

11

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

1.1.2

Algebre polivalente

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

Conjunct ia

Disjunct ia

Deplasarea ciclic a

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

12

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Pentru algebrele Postiene P (2) si P (4) rezult a urm atoarele tabele de adev ar ale celor trei operatori: - P(2) 0 1 0 0 0 1 0 1 Conjunct ia binar a - P(4) 0 1 2 3 0 1 2 0 0 0 0 1 1 0 1 2 0 1 2 Conjunct ia cuaternar a 3 0 1 2 3 + 0 1 2 3 0 1 2 0 1 2 1 1 2 2 2 2 3 3 3 Disjunct ia cuaternar a 3 3 3 3 3 x 0 1 2 3 x x x 1 2 3 2 3 0 3 0 1 0 1 2 Deplasarea ciclic a cuaternar a x 0 1 2 3 + 0 1 0 0 1 1 1 1 Disjunct ia binar a x 0 1 x x 1 0 0 1 Deplasarea ciclic a binar a

Rezult a o identitate ntre B (2) si P (2), (B (2) P (2)). Algebrele Postiene pot o replic a pentru algebrele Booleene, dar operarea n aceste algebre, ca aplicat ii pentru funct iile de comutat ie, devine dicil a pe m asur a ce q are valori mai mari. Cea de a doua cale de generalizare, dezvoltat a de B.A. Bernstein, a generat o alt a clas a de algebre q -valente care pot denite pentru oricare num ar ntreg prin q sau pentru un num ar ntreg putere a lui q . Mult imea de denit ie pentru o astfel de algebr a este {0, 1, 2, . . . , q 1}, iar operatorii sunt operat iile aritmetice de adunare si de nmult ire modulo q . Structurile algebrice denite pe clasele de resturi modulo q (q num ar prim) sunt referite prin c ampuri Galois si sunt notate cu GF (q ) . Pentru GF (3) tabelele de adev ar prin aplicarea operatorilor produs, , si sum a, , modulo 3 sunt: 0 1 2 0 0 0 0 1 0 1 2 2 0 2 1 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1

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

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

CAPITOLUL 1. PORT I LOGICE

13

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

Din prezentarea acestor propriet a ti apare similaritatea dintre GF (2) cu algebra numerelor reale (care este denit a pe un c amp innit). Dar urm atoarea axiom a relev a o proprietate diferit a ntre aceste dou a algebre care rezult a din natura aritmeticii modulo 2. 6. Existent a inversului. A A = 0, A A=A

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

(1.3-a)

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

B B A 1) 1

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

(1.3-b)

A1

= A

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

14

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

1.1.3

Funct ii Booleene

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

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

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

= =

0 1

(1.6)

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

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

CAPITOLUL 1. PORT I LOGICE

15

x 0 1

f01 0 0 a)

f11 0 1

f21 1 0

f31 1 1 x

x "0" b) x d)

x c)

VCC x e)

"1"

Figura 1.1 Funct iile de o singur a variabil a: a) tabelul funct iilor de o variabil a; 1 1 b) f0 , funct ia zero (conectarea la mas a); c) f2 , funct ia inversor (circuitul inversor); 1 1 d) f1 , funct ia identitate (driver, buer); e) f3 , funct ia tautologie (conectarea la tensiunea de alimentare). 1. Funct ia zero f0 (x) = 0. Aceasta genereaz a valoarea 0 indiferent de valoarea alocat a variabilei x. Intr-un sistem nu se va calcula niciodat a funct ia zero deoarece valoarea acestei funct ii exist a, zic punctul respectiv se leag a la tensiunea de mas a; 1 0 evident f0 si f0 au acela si efect adic a valoarea constant a 0. 2. Funct ia identitate, f1 (x) = x. Logic, aceast a funct ie pare a f ar a utilitate; dar, practic, aceast a funct ie este foarte utilizat a sub denumirea de driver sau buer si ntr-un sistem zic are o act iune de a aduce/ nt ari la anumite valori normale semnalul electric care este suport pentru variabila x. Aceste circuite care nu realizeaz a o funct ie ,, logic a ci doar au rol de nt arire a semnalului electric sunt referite prin circuit buer sau circuit driver respectiv buer sau driver. 3. Funct ia negat ie (NOT), f2 (x) = x. De fapt, acesta este operatorul de complementare din Tabelul 1.1. Putem interpreta aspectul logic sau aritmetic al act iunii acestei funct ii. Logic, funct ia negat ie aplicat a va substitui adev arul cu fals si falsul cu adev ar. Aritmetic, este un incrementor sau decrementor pentru num ararea n baza doi (at at la num arare n sens cresc ator (direct) c at si n sens descresc ator (invers), trecerea ntre dou a numere consecutive se face prin modicarea bitului cel mai put in semnicativ, LSB (Least Signicant Bit), din unu n zero sau din zero n unu, vezi Figura 2.17-a si 2.17-b). Suportul zic pentru implementarea acestei funct ii este elementul inversor. 4. Funct ia tautologie, f3 (x) = 1. Acest a funct ie genereaz a valoarea 1 indiferent de valoarea alocat a variabilei x. Intr-un sistem nu se va calcula niciodat a aceast a funct ie deoarece valoarea sa exist a, zic punctul respectiv se leag a la tensiunea de alimentare 1 0 VDD /VCC ; evident f3 si f1 au acela si efect. Funct ii de dou a variabile. La o funct ie de dou a variabile f (x 1 , x0 ) mult imea de denit ie, {0, 1}2 , este compus a din cele patru cuvinte de intrare de doi bit i. Pentru cele patru cuvinte de intrare se obt in pentru funct ie patru valori binare, dar cu cele patru valori binare se pot obt ine 42 = 16 cuvinte, deci, n total exist a 16 funct ii diferite de dou a variabile care sunt prezentate n tabelul din Figura 1.2-a. Aceste funct ii au anumite denumiri care exprim a act iunea realizat a: 1. f0 (x1 , x0 ) = 0, funct ia zero. Act iunea sa este identic a cu a celor dou a funct ii 0 1 f0 ,f0 .

16

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

Figura 1.2 Funct ii de dou a variabile: a) tabelul funct iilor de dou a variabile; 2 b) simbolul grac pentru funct ia XOR, f6 ; c) simbolul grac pentru funct ia NAND, 2 2 f7 ; d) simbolul grac pentru funct ia NXOR, f9 ; e) simbolul grac pentru funct ia 2 NOR, f1 . 2. f1 (x1 , x0 ) = x1 + x0 , funct ia SAU-NEGAT/NOT-OR/NOR cu reprezentarea grac a din Figura 1.2-e. Se observ a c a valorile funct iei rezult a prin negarea valorilor obt inute cu operatorul OR (Tabelul 1.1). ia negarea implicat iei inverse; circuitul interdict ie 3. f2 (x1 , x0 ) = x1 x0 , funct (inhibare). 4. f3 (x1 , x0 ) = x1 , negarea lui x1 . 5. f4 (x1 , x0 ) = x1 x0 , funct ia negarea implicat iei directe; circuitul interdict ie (inhibare). 6. f5 (x1 , x0 ) = x0 , negarea lui x0 . 7. f6 (x1 , x0 ) = x1 x0 + x1 x0 , funct ia negarea coincident ei, SAU-EXCLUSIV/ XOR cu simbolul grac de reprezentare n Figura 1.2-b si cu structura de implementare n Figura 1.3-a. Act iunea acestei funct ii poate interpretat a n trei modalit a ti. Prima, se observ a c a asupra celor dou a valori binare ale variabilelor x 1 si x0 funct ia opereaz a ca un sumator modulo 2 (0 0 = 0, 0 1 = 1, 1 0 = 1, 1 1 = 0) de unde si notat ia consacrat a f6 (x1 , x0 ) = x1 x0 . O alt a variant a echivalent a de exprimare se obt ine n felul urm ator: x1 x0 = x1 x0 + x1 x0 = x1 x0 + x0 x0 + x1 x0 + x1 x1 = x0 (x1 + x0 ) + x1 (x1 + x0 ) = (x1 + x0 )(x1 + x0 ) = (x1 + x0 ) (x1 x0 ). A doua interpretare este cea de inversor comandat, relat iile 1.3. Dac a una din variabile este 1 atunci valoarea funct iei va egal a cu negata celeilalte variabile de intrare; f6 (x1 , 1) = x1 1 = x1 . A treia interpretare este cea de negarea coincident ei, adic a anticoincident a

CAPITOLUL 1. PORT I LOGICE

17

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

x0 x1 y1 x0 y0

x0

x 1x 0

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

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

c)

d)

Figura 1.3 Funct iile XOR si NXOR: a,b) structura circuitelor XOR, respectiv NXOR; c,d) circuite de coincident a cu XOR si NXOR.

18

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

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

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

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

f2553 1 1 1 1 1 1 1 1

CAPITOLUL 1. PORT I LOGICE

19

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

1.1.4

Forme canonice

Denit ia 1.4 exprim a not iunea de funct ie logic a de n variabile. Cu cele n variabile se pot compune, prin intermediul operatorilor AND, OR si NOT, termenii funct iei si la fel tot cu ace sti operatori pot inclu si termenii n cadrul funct iei. In consecint a , un termen al unei funct ii logice poate avea variabile negate sau nenegate (NOT), care pot nsumate logic (OR) sau nmult ite logic (AND). Denit ia 1.6 Termenul canonic produs este produsul logic a tuturor celor n variabile ale funct iei, negate sau nenegate. Termenul canonic produs este referit ca minterm. Exemplu de termen canonic produs pentru n = 3 poate x 2 x1 x0 . Un termen canonic produs nu poate format din mai mult de n factori (variabile). Dac a ar avea mai mult de n factori atunci ar nsemna c a una sau mai multe variabile ar intra n produsul logic at at negate c at si nenegate ceea ce, conform axiomei de existent a a nsemna c a termenul se reduce la constanta complementului x x = 0, Tabelul 1.2, ar Tabelul 1.4 Modelarea operatorilor logici pe baz a de NAND sau NOR
Operatorul logic modelat cu poarta: A NOT A A B A = A .A A.B A A A B A = A+A A+B A A A B A.B = A+B A B A+B A B A.B = A+B A.B A+B A B AND A+B A B A+B = A.B A B A+B = A+B A+B A+B A B A.B OR A+B A B A+B = A+B A B A.B = A+B A B A.B A NAND A.B A B A+B = A.B A B A+B = A+B A+B A+B A B A+B NOR A+B

NAND A B

A.B

A.B

NOR A B

20

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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


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

i 0 1 2 3 4 5 6 7

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

CAPITOLUL 1. PORT I LOGICE

21

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

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

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

b) di + Si =

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

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

di Pi

(1.10)

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

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

(di + Si )

(1.11)

22

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

Denit ia 1.10 Forma normal a disjunctiv a, FND, a unei funct ii de n variabile este o sum a numai de mintermi ai c aror coecient i d i = 1 Forma FND se obt ine din FCND prin eliminarea mintermilor ai c aror coecient i au valoarea di = 0. Pentru exprimarea FND se introduce o reprezentare simbolic a, sub forma unei liste f (xn1 , xn2 , . . . , x1 , x0 ) =
2n 1 i=0

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

(1.12)

care cont ine doar indicii acelor coecient i ai funct iei care au valoare d i = 1. De exemplu, pentru o funct ie de patru variabile:
15

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

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

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

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

(1.13)

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

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

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

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

(di + Si ) (d i P i )

(1.14-a)

b)

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

(1.14-b)

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

CAPITOLUL 1. PORT I LOGICE

23

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

2n 1 i=0

(di Pi ) =

2n 1 i=0

(d i + P i ) =

2n 1 i=0

(di + Si )

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

2n 1 i=0

(di + Si ) =

2n 1 i=0

(di S i ) =

2n 1 i=0

(di Pi )

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

24

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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


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

Ai 0 0 0 0 1 1 1 1

Pentru ie sirea sum a si forma normal a canonic a disjunctiv a, FNCD conform relat iei 1.10, este :
7

si (Ai , Bi , Ci1 ) =

i=0

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

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

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

Se observ a c a FND se poate scrie direct lu and numai acei mintermi pentru care funct ia are valoarea 1 n tabelul de adev ar,
7

si (Ai , Bi , Ci1 ) =

(1, 2, 4, 7)
0

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

(1.15)

Dar din Tabelul 1.6 se poate face si sinteza funct iei negate si , aceasta va avea valori 1 ia 1.14-b, deci forma normal a disjunctiv aa (di = 1) acolo unde si are valori 0 (di = 0), relat funct iei negate se scrie direct examin and tabelul de adev ar:
7

si (Ai , Bi , Ci1 )

=
i=0

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

= = =

CAPITOLUL 1. PORT I LOGICE

25

Se pune ntrebarea care cale se alege pentru sinteza funct iei, cea prin FND pentru funct ia negat a sau cea prin FND pentru funct ia nenegat a? R aspunsul este evident: prin calea care solicit a mai put in efort, adic a cea care duce la o form a FND cu mai put ini mintermi. Pentru funct ia Ci sinteza se face din tabelul de adev ar, de data aceasta pe baz a de zerouri, adic a prin formele conjunctive. Forma canonic a normal a conjunctiv a, FCNC, conform exprim arii din relat ia 1.11, se va scrie:
7

Ci (Ai , Bi , Ci1 )

=
i=0

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

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

Ci (Ai , Bi , Ci1 ) =

(0, 1, 2, 4)
0

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

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

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

C i (Ai , Bi , Ci1 )

=
0

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

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

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

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

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

(1.16)

o form a rezonabil a, fat a de sintezele anterioare prin FNC si care prin procedee analitice este adus a la urm atoarele forme disjunctive FD: b) Ci (Ai , Bi , Ci1 ) c) Ci (Ai , Bi , Ci1 ) = = Ai (Bi Ci1 ) + Bi Ci1 Ci1 (Ai Bi ) (Ai Bi )

26

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

1.1.5

Forme disjunctive si conjunctive

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

pentru care aplic and expresia funct iei SAU EXCLUSIV NEGAT se obt ine F (A, B, C, D) = B D + B (A C )

CAPITOLUL 1. PORT I LOGICE

27

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

Fiec arui termen sum a i lipse ste o variabil a care se introduce n felul urm ator: A+B A+C B+C In nal se obt ine:
7

= = =

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

F (A, B, C )

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

(0, 2, 4, 5)

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

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

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

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

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE


A B C D A.B

F 1 = A. B + C. D

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

C .D c)

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

A B C D

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

d)

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

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

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

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

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

CAPITOLUL 1. PORT I LOGICE

29

AND

OR

NAND

NOR

Exemplul 1.4 Pentru conversiile din Figura 1.4 s a se aplice regulile grace de transformare. Solut ie. Aplic and regulile de conversie grac a se obt in succesiunile de circuite ca n Figura 1.5.
A B C D F = A. B + C. D F = (A.B). (C.D) A F B C regula 1 D A B F C regula 3 D F

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

A B C D

A F B C regula 2 D

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

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

A F B C regula 1 D

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

Figura 1.5 Exemple de conversii grace de tipul AND-OR/OR-AND n NAND-NAND sau NOR-NOR. Uneori apare si problema invers a a model arii, pentru o modelare dat a s a se determine expresia FD sau FC care l descrie, de fapt aceast a abordare pentru un sistem deja implementat este referit a ca analiza sistemului. Se poate obt ine funct ia logic aa modelului prin urm atoarele trei modalit a ti: 1 - pentru ecare congurat ie de valori logice ale variabilelor de intrare se deduc

30

1.1. SUPORTUL LOGIC PENTRU SISTEMELE DIGITALE

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

c)
regula 3 A B C D

a)
regula 3

A B C

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

b)

e)

F = (A+B). C+D

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

CAPITOLUL 1. PORT I LOGICE

31

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

1.2

POARTA LOGICA

C and se trece de la formele FND, FNC la FD, FC si de la modelele acestora pe baz a de operatori NOT, AND, OR, NOR, NAND, la implement ari reale pe baz a de circuite electronice pentru operatorii logici se folose ste, n exprimare, termenul de poart a logic a. Prin termenul de poart a logic a se face referire la orice circuit electronic care implementeaz a un operator logic, deci exist a poarta inversor (NOT), poarta AND, poarta OR, poart a XOR, poarta NAND etc. Prin referirea tuturor circuitelor logice cu termenul de poart a logic a apare un abuz de limbaj care, totu si, are o justicare din punct de vedere al transferului semnalului (variabile logice binare) prin circuit. Consider and operatorii logici prezentat i n Tabelul 1.7, cu cele dou a intr ari A,C si ie sirea f , se poate analiza cum pentru transferul semnalului logic A spre ie sirea f , prin condit ionarea de c atre semnalul C (de control), circuitul electronic care implementeaz a un astfel de operator are un comportament similar cu ,, utilizarea/funct ionarea unei port i. Astfel, c and circuitul poart a este deschis las a semnalul A s a treac a modicat sau nemodicat spre ie sirea f , iar c and poarta este ,, nchis a semnalul A nu se transfer a la ie sirea f . Intuitiv, n aceast a analogie, poarta este nchis a sau deschis a de c atre cineva, adic a n cazul unui circuit de un semnal de control, variabila C . De exemplu, pentru poarta AND c and este deschis a, C = 1, semnalul de intrare A se transfer a la ie sire f = A, iar c and este nchis a, C = 0, semnalul de intrare A nu se transfer a la ie sire, f este ncontinuu la valoarea logic a 0. Poarta XOR, este put in mai special a, este permanent deschis a, transfer a la ie sire semnalul de intrare nemodicat pentru C = 0, f = A (A 0 = A), iar pentru C = 1 transfer a spre ie sire intrarea A negat a, f = A (A 1 = A); poarta XOR are o funct ionare de circuit inversor comandat. O astfel de interpretare, de circuit poart a, se poate g asi pentru oricare din operatorii prezentat i n Tabelul 1.7. Analiz and n paralel poarta AND si poarta OR se poate observa c a poarta AND este deschis a pentru C = 1 iar poarta OR este deschis a pentru C = 0, astfel spunem c a una este deschis a c and semnalul C este activat n 1 logic iar cealalt a c and semnalul C este activat n 0 logic. P an a acum ata sam valorii de adev ar, pentru o variabil a,

32

1.2. POARTA LOGICA

Tabelul 1.7 Interpretarea operatorilor logici ca circuite poart a


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

A C

f A C

f A

f A C

f A C

f A C

C 0 1 1 1 1 1 1 0

0 0 0 1

1 0 0 0

0 1 1 0

1 0 0 1

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

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

valoarea binar a 1 si pentru valoarea de fals valoarea binar a 0. Dar, n practic a, se poate ata sa pentru starea de adev ar a unei variabile acea valoare binar a pe care variabila o are n starea activ a (adic a starea care produce act iunea pentru care se justic a acea variabil a), care poate : e bitul 1, e bitul 0. Iar valoarea de fals variabila o are n starea de neactivare, care poate : e pentru valoarea binar a 1, e pentru valoarea binar a 0. In aceast a interpretare, variabila A c and este n stare activ a pentru valoarea bisi c and este n starea activ a nar a 1 (activ High) se noteaz a n felul urm ator A H pentru valoarea binar a 0 (activ Low) se noteaz a A L . La fel, si o ie sire OU T a unei port i poate considerat a n stare activ a (adev arat a) e c and are valoarea binar a 0 si se noteaz a OU T L, e c and are valoarea binar a 1 si se noteaz a OU T H . Cu aceste notat ii tabelele de adev ar pentru port ile logice se realizeaz a nu pentru valorile binare 1 si 0 ci pentru st arile de activare (adev arat) si neactivare (fals) ale intr arilor si, respectiv, pentru starea de activare (adev arat) si neactivare (fals) a ie sirii. Pe simbolurile grace ale port ilor pentru semnalele de intrare si de ie sire active n L se introduc cerculet e de negat ie. In practic a, dac a un semnal este activ n starea High, de a suxul H si se reprezint a numai A sau exemplu A H sau OU T H , nu se mai adaug

INTR1 INTR2_L INTR3_L INTR4_L INTR5 a)

OUT_L

INTR1 INTR2_L INTR3_L INTR4_L INTR5 b)

OUT_L

Figura 1.7 Reprezentarea mixat a a semnalelor (pentru valoarea binar a asignat a st arii de adev ar: a) pentru o poart a AND; b) pentru o poart a OR.

CAPITOLUL 1. PORT I LOGICE

33

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

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

&
B 0 1 0 1 O 0 0 0 1

A B_L A 0 0 1 1

&
B_L O 0 1 0 1 0 0 1 0

A_L B A_L 0 0 1 1

&
B 0 1 0 1 O 0 1 0 0

A_L B_L

&

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

&
B 0 1 0 1

O_L O_L 1 1 1 0

A B_L

&

O_L

A_L B A_L 0 0 1 1

&
B 0 1 0 1

&

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

O_L 1 0 1 1

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

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

34

1.2. POARTA LOGICA

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

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

x x x a)

f1 f2

~ x

x x f=x b)

~ x

x x f= x c)

x
~ x y

y y

z z z

x x
x y z x y z x z

x y z
x y z x y z x z

x y f = x. y e)

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

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

Figura 1.9 Ret ele de comutat ie: a) structur a de circuit releu; b,c,d,e) ret ele de comutat ie pentru modelarea operatorilor de: identitate, negat ie, sum a logic a si produs logic; f,g) ret ele de comutat ie pentru modelarea unei forme de sume-de-produse si produse-de-sume.

CAPITOLUL 1. PORT I LOGICE

35

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

ID

A
UD +

K UD
G

A a) V CC
RC

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

V DD

V DD

Vin

c)

d)

Figura 1.10 Elemente zice componente de baz a pentru structurarea port ilor logice: a,b) elemente componente pentru modelarea funct iei de identitate. c,d) elementele componente pentru modelarea funct iei de inversor n tehnologie bipolar a si n tehnologie CMOS.

36

1.2. POARTA LOGICA

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

V1 V2 V3

D1 D2 D3

R VO

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

V1 V2 0 0 0 1 1 1 0 1

VO 0 0 0 1

V1 V2 1 1 1 0 0 0 1 0

VO 1 1 1 0

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

a)

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

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

V1 V2 V3

D1 D2 D3

VO

R
Vref = 0V

b)

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

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

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

Figura 1.11 Echivalarea circuitelor MIN (a) si MAX(b) ca port i logice AND si OR n funct ie de convent ia de logic a pozitiv a sau negativ a

CAPITOLUL 1. PORT I LOGICE

37

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

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

38

1.2. POARTA LOGICA

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

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

R1

R1

R1

R1

x x y y

Matricea AND a)

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

CAPITOLUL 1. PORT I LOGICE

39

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

1.3

PARAMETRII PORT ILOR LOGICE

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

40

1.3. PARAMETRII PORT ILOR LOGICE

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

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

(1.18)

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

CAPITOLUL 1. PORT I LOGICE

41

V I1

V O1

sursa de zgomot

V I2 VI V V IH

V O2

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

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

MH

V IHmin V ILmax V IL

ML

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

caracteristica ideala V O=f(V I )

V O=V I

Zona interzisa prin valori garantate

Zona interzisa prin valori garantate

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

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

42

1.3. PARAMETRII PORT ILOR LOGICE

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

(1.19-a)

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

(1.19-b)

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

CAPITOLUL 1. PORT I LOGICE

43

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

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

44

1.3. PARAMETRII PORT ILOR LOGICE

VI

90% 50% 10%

V IH

r pHL
VO
90% 50% 10%

f pLH

V IL Tciclu

V OH

V OL Tciclu

HL
a) VI Tciclu V OL

LH

V OH

VO

pHL
V OH
50%

pLH

50%

V OL Tciclu

b)

Figura 1.15 Denirea parametrilor de timp pe variat ia semnalelor de la intrarea si ie sirea unei port i inversor: a) modul de denire a intervalelor: r , f , HL , LH , pHL , pLH si Tciclu ; b) model simplicat pentru m asurarea de pHL si pLH .

CAPITOLUL 1. PORT I LOGICE

45

VO

vO t

G VO

vO C

vC VO 50% vC

t1 T

t2

t3

t t 1/2 T

a)

Figura 1.16 Modelul simplicat pentru circuitul de ie sire al unei port i (a) si variat ia n timp a tensiunii pe o sarcin a capacitiv a conectat a la ie sire (b). a) b) vC vC = = VO 1 e T VO e T
t t

(1.21)

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

Exemplul 1.8 Rezistent a de ie sire a unei port i n starea H este R1 = 2K iar n starea L este R2 = 25. Sarcina capacitiv a pe ie sire are valoarea de 100pF . Int arzierea intern a pi este de 25ns. S a se determine timpul de propagare p al port ii. Solut ie:
pLH pHL p = = = pi + R1 C ln 2 = 25ns + (2 103 )(100 1012 ) ln2 160ns pi + R2 C ln 2 = 25ns + (25)(100 1012 ) ln2 27ns pHL + pHL 27 + 160 = = 93.5ns 2 2

Factorii de nc arcare la intrare si la ie sire. Factorul de nc arcare la intrare (fan in, input loading factor) reprezint a sarcina pe care o intrare o introduce c and este conectat a la ie sirea unei port i. Deoarece ntr-o familie de circuite logice exist a diferite port i cu num ar diferit de intr ari trebuie s a se xeze care tip de intrare reprezint a sarcina standard. In general, se admite c a sarcin a este standard sarcina care corespunde unei intr ari de la o poart a NAND cu dou a intr ari (NAND2).

46

1.3. PARAMETRII PORT ILOR LOGICE

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

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

V I V IHmin

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

Figura 1.17 Explicativ a pentru simbolurile si sensurile curent ilor la intrarea (a) si ie sirea (b) unei port i

CAPITOLUL 1. PORT I LOGICE

47

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

(1.22)

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

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

48

1.3. PARAMETRII PORT ILOR LOGICE

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

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

p = pi +

pHL + pLH = 40ns 2

t 1 = 40ns 5ns = 35ns


2

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

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

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

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

CAPITOLUL 1. PORT I LOGICE

49

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

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

i2 c RC dt =

V2 = CC RC

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

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

(1.24)

50

1.3. PARAMETRII PORT ILOR LOGICE

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

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

CAPITOLUL 1. PORT I LOGICE

51

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

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

52

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

1.4

PORT I LOGICE IN TEHNOLOGIA BIPOLARA

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

1.4.1

Inversorul bipolar

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

CAPITOLUL 1. PORT I LOGICE


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

53

Vin

a)

b)

Vin p+

RB n

10 m

10 m 5 m Vout

p E p+ B C VCC

c)

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

p+ p n p+

RC

n epitaxie (Colector)

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

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

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

VI

VO VOH = V CC PF1

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

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

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

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

CAPITOLUL 1. PORT I LOGICE

55

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


50%

V CC t3 RC C

vO

t1

f
t2

s
t4

r
t5 vI RB vO

"0"

d f s r

Valori comparative [ns] Tranzistorul: saturat cu DS

0,7 4,2 24 15

0,8 4,4 0,0 13

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

pLH
b) vI

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

c)
C DS

t t1 t3 E SiO 2

metalizare

B E

UCE E

cu DS fara DS t

vI

n+ p Baza Colector

n+ n DS

s
d) e) f)

Figura 1.21 Inversorul bipolar: a) denirea timpilor care caracterizeaz a procesul de comutat ie; b) inversor cu fort area comenzii prin producerea unei componente derivative n curentul de baz a; c) valori pentru parametrii de timp la un tranzistor normal si la un tranzistor Schottky; d,e,f) realizarea unei structuri de tranzistor Schottky.

56

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

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

1.4.2

Port i logice TTL

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

CAPITOLUL 1. PORT I LOGICE


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

57

R3 4

R3

R3 1,6K

R4 130 T4 D T2 F T3

D4 R2

T1 R2 1K

D4

D5 Circuit AND

Defazor

a)
VO 5 4 [V]

b)

c)

Etaj de iesire

V OH 3 2 1 V OL

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

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

interval VOH PF1 PF1 PF2

T1 saturat

T2 blocat

T3 blocat

T4 saturat

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

saturat

conduce

blocat

conduce

PF2 PF3

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

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

VI 5 [V]

PF3

d)

e)

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

58

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

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

CAPITOLUL 1. PORT I LOGICE

59

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

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

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

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

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

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

1.4.3

Port i pentru magistrale

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

60

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

caracteristic a a magistralei este l a timea sa egal a cu lungimea cuv antului, deci pentru transferul paralel a cuv antului de n bit i magistrala este compus a din n conductoare. In general lungimile uzuale de cuv ant sunt de : 8 bit i-1byte, 16 bit i-semicuv ant, 32 bit i-cuv ant, 64 bit i-dublu cuv ant. La o magistral a de n bit i se conecteaz a toate elementele unui sistem at at cele care sunt emit a toare (talker) c at si cele care sunt receptoare (listener); uneori un element poate avea funct ionare at at de emit a tor c at si de receptor, dar nu simultan. Regula de funct ionare n magistral a este: la un moment dat pe magistral a poate exista cel mult un singur emit a tor activ, dar nu este limitat, teoretic, num arul receptorilor. Aceast a regul a impune: dac a sunt mai multe emit a toare legate la magistral a c and unul dintre acestea este activ ( nscrie informat ie pe magistral a) celelalte s a e inactive, adic a din punct de vedere electric s a e deconectate. Pentru o astfel de funct ionare port ile de pe ie sirea emit a torului trebuie s a poat a conectate sau deconectate la liniile magistralei dup a cum emit a torul este activ sau inactiv. Pe o linie de magistral a, la care este conectat a ie sirea port ii emit a torului activ, pentru ie sirile port ilor emit a toarelor inactive si intr arile port ilor receptoarelor, conectate la aceia si linie, trebuie realizate specicat iile electrice care formeaz a suportul nivelurilor logice de 0 si 1. Pentru realizarea acestor specicat ii poarta normal a este modicat a n structura sa obt in andu-se poarta cu colectorul n gol sau poarta TSL.
Linii de magistrala V CC Poarta 1 R4 130 T4 D T3 H L
Traseu de scurtcircuit

V CC Linie de magistrala Poarta cu colectorul in gol

Poarta 2 R4 130 T4 D T3

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

T3

C Simbol

a)

b)

c)

Figura 1.23 Poarta cu colectorul n gol: a) traseul de scurtcircuitare la conectarea n comun a ie sirilor port ilor TTL pentru condit iile logice specicate n tabelul (b); c) structura etajului de ie sire la poarta cu colectorul n gol. Poarta cu colectorul n gol. Prin conectarea ie sirilor a dou a sau mai multor port i TTL, care au etajul de ie sire n contratimp (totem pole), la aceea si linie de magistral a, Figura 1.23-a, si dac a dou a sau mai multe dintre aceste port i au la ie sire st arile logice opuse atunci sursa VCC va scurtcircuitat a la mas a pe un traseu format din T4 si T3 de la port i diferite. Pentru eliminarea posibilit a tii de aparit ie a traseului

CAPITOLUL 1. PORT I LOGICE

61

de scurtcircuit, la conectarea mpreun a a ie sirilor de la mai multe port i, este necesar a se modica structura etajului de ie sire. In acest sens, din etajul de ie sire se elimin a repetorul pe emitor T4 r am an and numai tranzistorul T3 al c arui colector, la ie sire, este n gol obt in andu-se poarta denumit a cu colectorul n gol, Figura 1.23-c. Colectorul n gol al tuturor port ilor se leag a mpreun a (cableaz a),Figura 1.24-a si apoi se conecteaz a printr-o rezistent a comun a la sursa de alimentare. Potent ialul pe colectorul comun, linia de magistral a, va n starea H numai c and toate port ile au ie sirea n stare H si va n stare L c and cel put in una din port i are ie sirea n starea L. Aceast a conexiune (cablare), n convent ia de logic a pozitiv a, realizeaz a funct ia SI, de unde si denumirea de SI-cablat (wired AND), iar n logic a negativ a funct ia SAUcablat. Se poate obt ine si n logica pozitiv a funct ia SAU-cablat iar n logic a negativ a ,, SI-cablat dac a n etajul de ie sire nu se elimin a tranzistorul care trage n sus ie sirea ,, la nivelul H (pull-up transistor) ci se elimin a tranzistorul care trage n jos ie sirea la nivelul L (pull-down transistor), ca n cazul port ilor din familia ECL.
V CC Linie de R magistrala VR VI VO V CC + R1 T1 Poarta 1 Poarta N Poarta m T3 SI cablat 4K R1 V IL max V OL max V CC V CC V OH min V IH min MH In starea V L In starea H V V RH V RL

Poarta 1 T3

4K

ML

a)

b)

Figura 1.24 Explicativ a pentru calculul rezistent ei comune R: a) cablarea port ilor cu colectorul n gol ntr-o conexiune SI-cablat; b) reprezentarea c aderilor de tensiune pe rezistent a comun a pentru starea H si L. Calculul rezistent ei comune R, din colector, Figura 1.24, se face pentru asigurarea nivelurilor logice de tensiune garantate la ie sire si a nivelurilor de tensiune permise la intrare, cu respectarea marginilor de zgomot M H , ML n condit iile de variat ie ale tensiunii de alimentare VCC V . Pentru nivelul H la ie sire, care se obt ine c and toate cele m port i emit a toare au ie sirea n starea H, c aderea de tensiune V RH pe rezistent a comun a nu trebuie s a produc a o sc adere a tensiunii de ie sire sub valoarea minim a garantat a VOHminim . Rmax (m IOHmax + N IIHmax ) [VCC V (VIHmin + MH )]

62 rezult a

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

Rmax

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

(1.26-a)

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

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

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

IRQ1_L Periferic 1

IRQ2_L Periferic 2

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

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

CAPITOLUL 1. PORT I LOGICE

63

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

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

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


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

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

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


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

64

1.4. PORT I LOGICE IN TEHNOLOGIA BIPOLARA

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

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

R1 4K

T1 E2

R2 1,6K T2

R4 130 T4 D1 D F T3

A OE_L

F +5V

E1

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

OE_L

R2 1K I

a)

b)

Figura 1.28 Poarta TSL: a) schem a electric a; b) echivalarea port ii TSL cu o poart a normal a av and un contact pe ie sire (comandat de semnalul de validare OE L).

CAPITOLUL 1. PORT I LOGICE

65

ce duce si la blocarea tranzistorului T4 din etajul de ie sire; ambele tranzistoare din etajul de ie sire sunt blocate. Poarta genereaz a la ie sire (numai!) cele dou a st ari logice H sau L c and comanda de validare este activ a OE L = 0, iar c and comanda de validare este inactiv a OE L = 1 poarta are cele dou a tranzistoare T 3, T 4 blocate. Ultima stare, cu T3, T4 blocate, nu este o stare logic a comandat a, prin semnalele logice aplicate pe intr arile port ii, aceasta este denumit a stare de nalt a impedant a HZ (High Z). In starea HZ potent ialul pe ie sirea port ii este xat de potent ialul care exist a pe linia de magistral a la care aceast a ie sire este conectat a ( si nu de c atre poarta TSL). Potent ialul pe linia de magistral a este fort at n 0 sau n 1 de c atre o alt a poart a legat a la aceea linie de magistral a, poart a care este comandat a n starea normal a de funct ionare. Dac a pe linia de magistral a nivelul fort at este H atunci trazistorul T4 de la o poart a TSL n HZ va genera un curent de maxim ordinul A, iar dac a nivelul pe linia de magistral a este fort at n L atunci tranzistorul T3 de la o poart a TSL n HZ va absorbi un curent maxim de ordinul A. Cu aceste valori foarte mici ale curent ilor absorbit i sau generat i de poarta TSL n HZ se poate considera c a poarta, electric, este deconectat a de la linia de magistral a. Poarta TSL poate echivalat a cu o poart a normal a n a c arei ie sire este nseriat un contact care este nchis c and Output Enable este activ, OE L = 0, si este deschis ( n starea HZ), c and Output Enable nu este activ, OE L = 1, Figura 1.28-b.
D7 D6 D1 D0 R2 R3

MAGISTRALA

R1 (READ)

Transceiver #1

Transceiver #2

Transceiver #3

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

Figura 1.29 Conectarea la magistral a a trei blocuri bidirect ionale de 8 bit i prin intermediul circuitelor transceiver Pentru blocurile care sunt conectate la o magistral a si care pot avea o funct ionare at at de emit a tor c at si receptor transferul spre linia de magistral a trebuie s a e bidirect ional. Aceste blocuri bidirect ionale trebuie s a posede pe ie sire un circuit TRANSCEIVER (TRANSmitter + reCEIVER) care este compus pentru ecare linie/bit a magistralei dintr-un buer TSL si o poart a SI conectate n paralel, Figura 1.29. La magistrala din gur a particip a trei elemente ecare av and pe ie sire un transceiver de opt bit i. Inscrierea pe magistral a (WRITE) se face prin activarea, n starea H, doar a unui singur semnal Wi (i = 1, 2, 3), la buerele TSL, pentru a asigura accesul doar a unui singur emit a tor la un moment dat. Citirea de pe magistral a (READ) se activeeaz a prin semnalul Ri (i = 1, 2, 3) la port ile AND. La transceiverul

66

1.5. PORT I IN TEHNOLOGIA CMOS

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

1.5

PORT I IN TEHNOLOGIA CMOS

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

1.5.1
1.5.1.1

Tranzistorul MOSFET
Tehnologia de fabricat ie a tranzistorului MOS

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

CAPITOLUL 1. PORT I LOGICE

67
Gravare uscata sau umeda

a)

SubstratSi

Fotorezist SiO2 (oxid) b)


SubstratSi e) d 2 m W1 2m

 


SubstratSi

Fotorezist SiO2 Fotorezist SiO2 SiO2

W2 4m

3m

c) Masca Fotorezist

f)

SubstratSi Ferestre pentru difuzie






















SubstratSi

Radiatie ultravioleta, UV

SubstratSi g) W1 W2

SiO2 d)

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

68

1.5. PORT I IN TEHNOLOGIA CMOS

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

CAPITOLUL 1. PORT I LOGICE

69

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

Zona activa

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


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

                   
Oxidul de poarta

psubstrat, Si

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


psubstrat, Si Ferestre pentru contactele metalizate n+ n+

Strat de polisiliciu c)

SiO2

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

psubstrat, Si

g)

<=CBCB =<CB

psubstrat, Si

Strat metalizat

CB >>A@

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

n+

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

CB >>A@

psubstrat, Si Strat metalizat gravat poarta

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


n+ n+

:; CBCB ;: CB ED ED

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

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


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

i)

           

Contacte metalizate

   

           
V SS

V DD

Trasee metalice

Figura 1.31 Etapele n tehnologia de realizare a unui tranzistor nMOS

70

1.5. PORT I IN TEHNOLOGIA CMOS

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

CAPITOLUL 1. PORT I LOGICE

71

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

72

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

CAPITOLUL 1. PORT I LOGICE

73

V GS

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

G +

V DS B

V GS

Placa din polisiliciu sau metal

SiO2

n+

DOX

Canal indus L

n+

a)

pSubstrat,

Si

I DS [mA] Reg. liniara

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

3.0 2.5 2.0

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

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

1.5 1.0 V DS [V]

b)

0 D

1 nMOS D B G

3 D G S

c)

I DS(sat) V GS Vpn

d)

S simbol cu 4 terminale

S reprezentare simplificata

S simbol cu 4 terminale

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

74

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

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

Q=C

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

(1.29)

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

CAPITOLUL 1. PORT I LOGICE

75

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

Aceast a relat ie exprim a o dependent a p atratic a a timpului de tranzit n canal n funct ie de lungimea canalului; apare evidenta concluzie c a scalarea (mic sorarea dimensiunilor) duce la dispozitive mai rapide. In nal, din relat iile 1.30 si 1.32, se obt ine expresia curentului dren - surs a, IDS : IDS = Q 1 W (VGS Vp ) VDS VDS = = n Cox f L 2 W 1 = Kn (VGS Vp ) VDS VDS L 2 Kn = n Cox

(1.33)

Constanta: (1.34) denumit a factorul de c a stig al procesului, la fel ca si tensiunea de prag V pn , este o constant a de proces si are valori n intervalul 100100A/V 2 . Nu este neobi snuit ca n cadrul aceluia si proces, n funct ie de materialul init ial utilizat ca substrat, de variat ia n grosime a stratului de oxid de sub poarta Dox , factorul de c a stig al procesului s a aib a abateri de 10 20%. Se dene ste factorul de c a stig al tranzistorului, n : n = K n W L (1.35)

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

76

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

CAPITOLUL 1. PORT I LOGICE

77

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

78

1.5. PORT I IN TEHNOLOGIA CMOS

(Ex , Ey ) ale c ampului n canal au valori ridicate sub a c aror efect purt atorii mo,, bili de sarcin a pot atinge energii cintetice ridicate (devin purt atori erbint i ). Electronii erbint i pentru nMOS pot p atrunde: n stratul de oxid de sub poart a modic and distribut ia de sarcin a de la interfat a SiO 2 -substrat sau n zona de dren disloc and goluri care sunt apoi atra si nspre substrat. Efectul de injectie de purt atori erbint i este dezastruoas mai ales pentru dispozitivele deja n funct ionare care, n timp, se distrug scot a nd din funct iune sistemul respectiv. Scalarea, care nu este un efect de ordinul doi pentru tranzistor dar, prin reducerea dimensiunilor si a tensiunilor de alimentare, prin cre sterea nivelurilor de dopare cu impurit a ti donoare ND sau acceptoare NA creaz a condit ii ca efectele explicate mai sus s a apar a mult mai pronunt at. Tabelul 1.10 Reducerea m arimii caracteristice (minime) la un proces tipic de matrice de port i CMOS
ANUL Marimea caractersitica minima [m] 1980 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 5.0 3.5 2.5 1.75 1.25 1 0.8 0.6 0.35 0.25 0.18 0.13

Reducerea dimensiunilor n tehnologia de integrare este referit a prin termenul de scalare. Prin mbun at a tiri, n timp, procesul tehnologic si mic soreaz a caracterstica de proces (dimensiunea minim a care poate denit a si realizat a pentru procesul respectiv); astfel s-a constatat c a m arimea caracteristic a (minim a) a procesului se scaleaz a/reduce aproximativ cu 1, 3 1, 5 n decurs de 2-3 ani, cum rezult a din Tabelul 1.10. Scalarea este caracterizat a prin factorul de scalare s, m arimea cu care se divid toate dimensiunile. Sunt referite dou a cazuri de scalare: scalarea complet a si scalarea la tensiune constant a. Scalarea complet a reduce toate dimensiunile cu factorul s, reduce tensiunile cu factorul s iar valorile densit a tilor de dopare sunt multiplicate cu s, toate acestea pentru a ment ine c ampul electric n dispozitiv nemodicat. Acest mod de scalare apare atractiv din punct de vedere al puterii disipate, Tabelul 1.11, care se reduce de s2 ori, de si puterea disipat a pe unitatea de arie nu se modic a. Scalarea la tensiune constant a reduce dimensiunile cu factorul s, m are ste densit a tile de dopare cu s2 , dar tensiunile de alimentare r am an nemodicate. Acest tip de scalare este preferat, uneori, pentru a se putea interfat a circuitul scalat cu alte circuite (anterioare) care nu au fost scalate (se utilizeaz a aceea si valoare a tensiunii de alimentare). Se observ a c a puterea disipat a cre ste de s ori, puterea disipat a pe unitatea de arie de s3 ori, iar densitatea de curent j tot de s3 ori. Cre sterea densit a tii de curent pe traseele metalice poate provoca, prin electromigrat ie, ntreruperea acestora. Electromigrat ia metalului este efectul prin care, la densit a ti foarte mari, ntr-un conductor atomii metalului sunt antrenat i n sensul curentului. Prin scalare la tensiune constant a n unele puncte ale traseelor metalice pot apare ngust ari, unde densitatea de curent dep a se ste 105 A/cm2 (pentru Aluminiu), iar n timp, prin electromigrat ie, traseul se subt iaz a continuu p an a se ntrerupe n acele puncte.

CAPITOLUL 1. PORT I LOGICE

79

1.5.2

Inversorul CMOS

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

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

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


Dox s VDD s Vp s

Dox =

Dox s

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


Pd arie

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

VDD = VDD Vp = V p E =Es

Pd arie

Pd arie

Pd = s3 ( arie )

80 1.5.2.1

1.5. PORT I IN TEHNOLOGIA CMOS

Caracteristica static a de transfer VO = f (VI )

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

(1.37)

(1.38)

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

(1.40)

iar tranzistoarele sunt echivalente unor rezistent e. Regimul de funct ionare n saturat ie este denit de relat iile: VI > Vpn VI < VDD + Vpp si si VDSn VGSn Vpn VO VI Vpn pentru nMOS (1.41) VDSp VGSp Vpp VO VI Vpp pentru pMOS

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

CAPITOLUL 1. PORT I LOGICE

81

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


pMOS

I DS

nMOS

Vpp

0 V pn

V GS

nMOS

V O=V DSn

pMOS

a)

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

VO V DD

V DD 2

I DSn=IDSp

c)
V DD

V pp V DD

V pn

VIL V VIH T

VDD+Vpp V DD

VI V DD V DD

V DD

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

I DSp I DSn V SS

VO

VO

VO

VO

VO

Regiunea A

Regiunea B

Regiunea C

Regiunea D

Regiunea E

d)

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

82

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

(1.44)

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

(1.45)

+ Vpp )

1+

p n

(1.46)

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

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

CAPITOLUL 1. PORT I LOGICE

83

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

(1.47)

+ Vpn )

(1.48)

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

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

(1.50)

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

1 VDD 2
2

(1.51)

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

0, 5VDD + Vpp 0, 5VDD Vpn

(1.52)

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


W L n W L p

1.5. PORT I IN TEHNOLOGIA CMOS

n p

W L n W L p

(1.54)

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

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

(1.55)

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

iar n cazul c and se realizeaz a aceea si lungime pentru ambele canale, L n = Lp , rezult a relat ia ntre l a timea canalelor Wp = 2, 5Wn .
[V] 6 5 4 3 2,5 2 1 45 0 1 2 2,5 3 4 5 VO V DD =5V, V pn=1V, V pp=1V n / p =0,25 n / p =1 n / p =4 N V T1=2V V T2=2.5V V T3=3V VI 6 [V]

Figura 1.34 Dependent a tensiunii de prag (logic) de comutat ie a inversorului n funct ie de valoarea raportului n /p . Din relat ia 1.50 se observ a c a exist a o dependent a ntre raportul n /p si valoarea tensiunii de prag logic de comutat ie a inversorului. Pentru a obt ine caracteristici statice cu prag de comutat ie VT mai ridicat trebuie mic sorat a l a timea Wn a canalului n n raport cu l a timea Wp a canalului p (consider and c a lungimile de canal r am an neschimbate ), Figura 1.34.

CAPITOLUL 1. PORT I LOGICE

85

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

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

(1.60)

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

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

86
S i ia n nal :

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

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

(1.63-a)

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

CAPITOLUL 1. PORT I LOGICE

87

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

(1.63-b)

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

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

88
intrare

1.5. PORT I IN TEHNOLOGIA CMOS

a)

Sectiune AA

b)

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

V DD

PMOS

Intrare (polisiliciu)

iesire

NMOS

~}


n+

Iesire

substrat n

insula difuzata

p+

iesire n+ trasee metalice

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


n

Intrare (polisiliciu)

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

}~

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

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

V SS

contact substrat V SS

|{ |{
p+

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

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

CAPITOLUL 1. PORT I LOGICE

89

V DD Gp Intrare S

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

D D Gn

D D

Gp

V SS a)

b)

c)


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

Iesire


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

Sursa Poarta

Poarta Sursa


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

pMOS

Iesire

nMOS

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

90

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

CAPITOLUL 1. PORT I LOGICE

91
V DD pMOS

V DD nMOS

C GSp S D

C SBp

vI

C GDp C GDn D

C DBp C DBn

vO

vI vI

iDp vO iC iDn nMOS CL

pMOS C GSn a)

S C SBn
C COX

C GB b)

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

92

1.5. PORT I IN TEHNOLOGIA CMOS

Iar valorile ImHL si ImLH se calculeaz a ca medie aritmetic a ale curent ilor prin tranzistoarele nMOS respectiv pMOS n punctele de nceput si de sf ar sit ale tranzit iei: 1 [iC (pentru vI = VOH , vO = VOH ) + iC (pentru vI = VOH , vO = V50% )] 2 (1.67) 1 ImLH = [iC (pentru vI = VOL , vO = V50% ) + iC (pentru vI = VOL , vO = VOL )] 2 (1.68) 3. Metoda analitic a. Variat ia tensiunii vO n timp poate determinat a prin rezolvarea ecuat iei de stare pentru nodul de ie sire al circuitului din Figura 1.37-b ImHL = CL dvO = i C = i Dp i Dn dt (1.69)

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

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

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

CAPITOLUL 1. PORT I LOGICE

93

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

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


vO =1 vO =4 Wn Ln

1 1012 n 4 30 1016 W Ln

n Cox

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

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

din care se obt ine pentru canalul n

+ Vpp )

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

p n

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

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

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

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

94

1.5. PORT I IN TEHNOLOGIA CMOS

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

vO1 C L1

vO2 C L2 vO2

vO3 C L3 vO1

vO V OH

vO2

vO1 vO3

vO3

V 50%

V OL
pLH2 pLH3 pHL1 pHL2 pHL3 pLH1

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

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

1.5.3

Familia de port i logice CMOS

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

CAPITOLUL 1. PORT I LOGICE

95

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

=
echivalent i=0

W L

(1.75)
i

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


echivalent

1
k i=0 1

(1.76)

( )i
W L

1.5.3.1

Poarta NOR si NAND cu dou a intr ari

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

VT (N OR2) =

(VDD |Vpp |)
p 4n

(1.77)

1+

96

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

T3 Insula n

T4

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

T1

T2

VO

A B Linie de difuzie n+

Figura 1.39 Poarta NOR cu dou a intr ari: a) stuctur a; b) schema inversorului echivalent port ii; c) layoutul port ii structurat pe o linie de difuzie n + si o linie de difuzie p+ .

CAPITOLUL 1. PORT I LOGICE

97

Poarta NAND cu dou a intr ari (NAND2), Figura 1.40-a, poate privit a ca ind format a din dou a inversoare la care canalele n formeaz a o ret ea serie iar canalele p formeaz a o ret ea paralel a. Se creeaz a o cale de conduct ie de la nodul de ie sire spre mas a, VO = VOL , prin tranzistoarele T1 si T2 n serie numai c and ambele intr ari A,B sunt n nivelul H, iar tranzistoarele T3 si T4 ale ret elei complementare p sunt blocate. Pentru toate celelalte trei combinat ii ale nivelurilor intr arilor A,B unul sau ambele tranzistoare ale ret elei p conduc, ret eaua n nu conduce, iar tensiunea de ie sire are valoarea VO = VOH .
Linie de difuzie p+ V DD V DD V DD

T3 A

T4

2p VI VO

T3

T4

T2 T1 V SS

VO
n/2

Insula n VO

T1 V SS c)

T2

V SS b)

a)

Linie de difuzie n+

Figura 1.40 Poarta NAND cu dou a intr ari: a) stuctur a; b) schema inversorului echivalent port ii; c) layoutul port ii structurat pe o linie de difuzie n + si o linie de difuzie p+ . Tensiunea de prag (logic) de comutat ie a port ii, relat ia 1.46, aplicat a pentru inversorul echivalent din Figura 1.40-b, are expresia: VT (N AN D2) = Vpn + 2
p n

(VDD |Vpn |)
p n

(1.79)

1+2

Pentru valorile n = p , Vpn = |Vpn |, la care pragul logic de comutat ie al inversorului CMOS este VDD /2 , port ii NAND2 i corespunde o tensiune de prag logic de comutat ie: 2VDD |Vpp | VT (N AN D2) = (1.80) 3 Din relat ia 1.79 rezult a c a pentru a obt ine un prag logic de V DD /2 c and Vpn = |Vpp | este necesar a ndeplinirea condit iei n = 4p ; relat ia 1.80 poate utilizat a pentru dimensionarea layoutului port ii NAND2 c and se impune o anumit a valoare pentru VT .

98

1.5. PORT I IN TEHNOLOGIA CMOS

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

Wn V SS a)

Q Q Q Q Q Q Q Q Q
A

NOR


VO

V DD Wp Linii de difuzie Wn

V SS b)

Q Q Q Q Q Q Q Q Q
A

NAND


VO

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

1.5.3.2

Port i logice complexe

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

CAPITOLUL 1. PORT I LOGICE

99

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

V DD D D

VO C

C VO

Z A B

a)

b)

c)

Figura 1.42 Explicativ a pentru obt inerea unei structuri de ret ea CMOS pentru relat ia Z = A(D + E ) + BC : a,b) realizarea grafului pentru ret eaua n si deducerea grafului pentru ret eaua dual a p; c) structura port ii obt inute prin maparea grafurilor pentru ret eaua n si ret eaua p.

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

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

1.5. PORT I IN TEHNOLOGIA CMOS

V DD S D Z VO D D S nMOS

Drumul eulerian
EDABC

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

D S

D D

pMOS V ss

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

CAPITOLUL 1. PORT I LOGICE

101

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

a)

V SS V DD Reteaua Duala p VO

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

B1

B2

A3

b)

V SS

Figura 1.44 Modalit a ti de structurare a port ilor CMOS complexe: a) structurare pentru implementarea funct iilor logice de forma AND-OR-NOT; b) structurare pentru implementarea funct iilor logice de forma OR-AND-NOT.

102

1.5. PORT I IN TEHNOLOGIA CMOS

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

Z n+ B C

D V SS Linia de difuzie n+

E V SS

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


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

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

+ 1

(W L )B

1 +( W L

= )C

1 30

1 + =

1 20

= 12

=
p,IN V

(W L )D =
1 15

+ 1

(W L )E
1 15

1 15

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

CAPITOLUL 1. PORT I LOGICE

103

Pseudo poarta CMOS. Port ile CMOS complexe, cu n intr ari, necesit a pentru ecare intrare dou a tranzistoare, deci n total 2n tranzistoare plus nc a dou a tranzistoare (un inversor) pentru ecare din intr arile negate. Rezult a c a reducerea num arului de tranzistoare, c and num arul de intr ari n este mare, se impune. O variant a de reducere a num arului de tranzistoare, de la 2n la n + 1, se obt ine la structura denumit a pseudo poart a CMOS. Pseudo poarta CMOS, pentru un anumit operator, se obt ine din poarta normal a, care implementeaz a acel operator, prin substituirea ret elei p cu un singur tranzistor pMOS a c arui poart a se conecteaz a la potent ialul de mas a (deci este permanent n conduct ie), Figura 1.46-a. De fapt, tranzistorul pMOS, are rolul de sarcin a (rezistent a ) pentru ret eaua nMOS. Dezavantajul pseudo port ii CMOS const a n consumul mare de putere n regim static datorat unui permanent curent prin canalul p at at timp c at V O < VDD . De asemenea, VOL si marginea de zgomot sunt determinate de raportul ntre transconductant a tranzistorului de sarcin a supra transconductant a echivalent a din ret eaua n.
V DD VO A retea n V SS V DD EN EN EN f A A V SS EN 0 0 1 1 A (EN .A) EN 0 1 0 1 1 1 1 0 1 1 0 0 A EN+A 0 1 0 1 0 0 1 0 f HZ HZ 0 A 1 B T1 T2 R V DD RC Linie de magistrala

Circuit de mentinere

a)

b)

e)
V DD T1 f=A T2

V SS EN A f

c)

d)

Figura 1.46 Port i CMOS speciale: a) structurarea unei pseudo port i CMOS; b) structur a pentru poarta cu drenul n gol; c) structura si simbolul de reprezentare ale unei port i de tip TSL; d) structura unui buer TSL neinversor; e) evitarea aparit iei unui potent ial otant pe o linie de magistral a prin conectarea acesteia la un circuit (celul a) activ de ment inere a nivelului (bus holder).

104

1.5. PORT I IN TEHNOLOGIA CMOS

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

CAPITOLUL 1. PORT I LOGICE

105

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

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

106

1.5. PORT I IN TEHNOLOGIA CMOS

garantate (VOHmin , VOLmax ) si de intrare admise (VIHmin , VILmax ) de la seria HCT sunt identice cu cele de la familia TTL, deci port ile pot interconectate. Seriile HC si HCT au aceia si parametrii pe ie sire dar parametrii diferit i pe intrare, aceast a diferent a a fost creat a la HCT pentru ca aceast a serie s a devin a compatibil a cu TTL. Ambele serii au comanda pe ie sire simetric a, adic a exist a egalitate ntre curentul absorbit de poart a n stare L cu cel generat de poart a n starea H (simetria aceasta de curent i pe ie sire nu exist a la TTL). Seria FCT (FCT-T). Prin introducerea seriei FCT (Fast-CMOS, TTL compatible) la nceputul anilor 1990 s-a urm arit realizarea n CMOS a urm atoarelor performant e: atingerea unei capabilit a ti de comand a pe ie sire (valori m arite pentru IOHmax , IOLmax ), vitez a ridicat a ca la cele mai performante port i TTL dar n acela si timp reducerea puterii consumate si, evident, o complet a compatibilitate (pe nivelurile de tensiune) cu port ile TTL. Totu si seria FCT realizat a cu aceste performant e era afectat a de dou a decient e: ind alimentat a la V DD = 5V , saltul tensiunii de ie sire la comutat ie era de aproape 5V, ceea ce ducea la o putere disipat a (C L V 2 f ) foarte mare la frecvent e de peste 25M Hz si, n plus, aceste salturi rapide genereaz a zgomot n sistem. Pentru nl aturarea acestor decient e s-au introdus anumite perfect ion ari n structura de circuit FCT obt in andu-se astfel seria FCT-T (Fast CMOS, TTL compatible with TTL VOH ). Cele dou a decient e amintite anterior, de la FCT au fost atenuate la seria FCT-T n primul r and prin reducerea V OH 5V la valoarea tipic a Tabelul 1.12 Parametrii port ilor familiei CMOS (prezentare simplicat a)
Denumire parametru Timpul de propagare tipic Curentul in regim static Puterea disipata in regim static Capacitatea interna a circuitului p [ns] IDDQ [ A ] Pdcc [mW] [pF] Conditia de test Vin=0 sau VDD Vin=0 sau VDD Seria VHC VHCT FCTT 5,5 5,2 5,8 5 200 5 1 0,6 0,60 1,06 1,6 6,15 9,3 41 0,8 2,0 64 15 0,55 2,4

HC

HCT

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

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

Factorul de merit

Pd p [pJ]

VOLmax [V] VOHmin [V]

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

CAPITOLUL 1. PORT I LOGICE

107

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

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

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

Figura 1.47 Nivelurile de tensiune pentru seriile familiei TTL si familiei CMOS

108

1.5. PORT I IN TEHNOLOGIA CMOS

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

CAPITOLUL 1. PORT I LOGICE


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

109

3.5 V

VIH

3.3 V

VCC

2.5 V

VT

2.4 V 2.0 V

VOH VIH VT VIL VOL GND

2.4 V 2.0 V 1.5 V

VOH VIH VT VIL VOL GND

2.5 V 2.0 V 1.7 V 1.2 V

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

1.5 V

VIL

1.5 V

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

0.8 V 0.4 V 0.0 V

0.7 V 0.4 V 0.0 V

Familiile 5 V CMOS

Familiile 5 V TTL

Familiile 3.3V LVTTL

Familiile 2.5 V CMOS

Familiile 1.8 V CMOS

a)

b)

c)

d)

e)

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

110

1.5. PORT I IN TEHNOLOGIA CMOS

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

a)

b)

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

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

nMOS

buffer TSL de tip TTL

nMOS

buffer TSL de tip TTL

c)

d)

Figura 1.49 Port i CMOS de 3.3V : a) structur a de poart a netolerant a la 5V pe intrare si tolerant a la 5V (b); structur a de buer TSL netolerant la 5V pe ie sire (c) si tolerant pe ie sire la 5V (d).

CAPITOLUL 1. PORT I LOGICE

111

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

1.5.4

Poarta de transmisie CMOS

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

112
S A B A S B A

1.5. PORT I IN TEHNOLOGIA CMOS

S B S A

S B S

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

CAPITOLUL 1. PORT I LOGICE


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

113
vI vO VGS S CL I DS
p

Vpn

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

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

VDD

VDD Vpn VSS VSS VDD Vpn

VSS

b)

d)

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

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

"1"

a)

b)

S Transmisie "0" fara degradare

CL

c)

VSS

Figura 1.52 Poarta de transmisie CMOS: a) utilizarea port ii pentru controlul conexiunii ntre dou a puncte; b) poarta transmite f ar a degradare at at nivelul de 1 logic c at si nivelul de 0 logic; c) nserierea port ii de transmisie la ie sirea unei port i CMOS inversor este modalitatea normal a de utilizare.

114

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

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

0 1 . . . 0 1

x1 x0 x1 x0 x1 x0 x1 x0

fi2 = dij P

(1.82)

CAPITOLUL 1. PORT I LOGICE

115

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

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

1.5.5

Circuite logice dinamice

La circuitele logice prezentate p an a acum funct ia logic a realizat a corespunde regimului static de funct ionare, adic a este asociat a cu punctul static de funct ionare. La o poart a logic a dup a un (anumit) timp de propagare ( nt arziere pe poart a), de la aplicarea intr arilor, se obt ine la ie sire o stare logic a stabil a care se ment ine at at timp c at
VDD y x y y x y xy + xy di di y x x di di xy + xy y3
0

x3 x3 x2 x2 x1 x1 x0 x0

I dc

A
1

B B B B f i2 (x,y)

y3 y2 y2 y1 y1 y0 y0

a)

A
2

A
3

c) b)

d)

Figura 1.53 Exemple de circuite implementate cu port i de transmisie CMOS si tranzistoare de trecere: Operatorul XOR cu port i de transmisie (a) si cu tranzistoare de trecere (b); c) structur a programabil a pentru toate cele 16 funct ii de dou a variabile, fi2 (x, y ); d) structur a de circuit pentru determinarea identit a tii a dou a cuvinte de patru bit i (X = x3 x2 x1 x0 , Y = y3 y2 y1 y0 ).

116

1.5. PORT I IN TEHNOLOGIA CMOS

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

D G VGS =0 VI nMOS vx Cx T1

VDD canal initial S VO

VDD

CLK

Vpn 0

VGS

VI

vx

VO

CL

CLK

Cx

CL

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

b)

t t3

t t4

c)

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

CAPITOLUL 1. PORT I LOGICE

117

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

118

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

V2max = V DD Vpn1 Vpn2

V1max = V DD Vpn1

b)

Figura 1.55 Structuri de lant uri cu tranzistoare de trecere nMOS

CAPITOLUL 1. PORT I LOGICE

119

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

Circuite CMOS dinamice. Implementarea urm atoarei funct ii de opt variabile F = AB + (C + D)(E + F ) + GH pe o structur a CMOS static a convent ional a necesit a 16 tranzistoare ca n Figura 1.56-a. Aceea si implementare pe o structur a CMOS
VDD Tp y VDD

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

E C

F D

Cy

vO

Te VO

b)
Preincarcare VDD VSS Evaluare CLK Preincarcare

A B

G H

E C

F D

a)

VDD VSS

vO Tp Te Tp

Conduce:

c)

Figura 1.56 Port i CMOS pentru implementarea funct iei F = AB + (C + D)(E + F ) + GH : a) cu o structur a static a; b) cu o structur a dinamic a; c) diagramele de semnale pentru fazele de pre nc arcare si evaluare n funct ionarea port ii dinamice.

120

1.5. PORT I IN TEHNOLOGIA CMOS

dinamic a, reprezentat a n Figura 1.56-b, necesit a doar 10 tranzistoare; structura are asem anare cu cu pseudo-poarta CMOS din Figura 1.46-a. Aceast a poart a dinamic a const a dintr-o ret ea de n tranzistoare al c arui nod de ie sire y , caracterizat de o capacitate parazit a Cy , este pre nc arcat la tensiunea VDD prin tranzistorul pMOS, Tp . Apoi condensatorul Cy este desc arcat/evaluat condit ionat (de intr arile de comand a ale port ii) prin unele din tranzistoarele ret elei nMOS si prin tranzistorul nMOS, T e . Alternativ, se poate realiza o structur a cu un nMOS tranzistor pentru pre nc arcare la VDD , un pMOS tranzistor pentru desc arcare la VSS si o ret ea de p de tranzistoare. Faza de pre nc arcare a capacit a tii Cy prin tranzistorul Tp p an a la tensiunea vO = VDD se realizeaz a pe intrevalul de timp c and semnalul de ceas are valoarea CLK = 0, Figura 1.55-c, totodat a se aplic a si valorile variabilelor pe intr arile port ii. Apoi, pe intervalul de timp c and semnalul de ceas are valoarea CLK = 1, iar T p este blocat dar Te conduce, se realizeaz a evaluarea valorii funct iei. In funct ie de valorile logice ale variabilelor de intrare se poate realiza sau nu o cale de scurtcircuit la mas a pentru tensiune vO = VDD , deci valoarea funct iei este evaluat a la 0 sau 1 logic. Pe nodul de ie sire y poate obt ine doar o tranzit ie de la 1 la 0 sau r am ane n starea 1 logic.
VDD CLK Tp1 vO1 Intr1 RETEA nMOS VDD Tp2 vO2 Preincarcare VDD CLK VSS VDD vO1 VDD vO2 Corect Eronat Te1 Te2 Evaluare VDD Tp1 CLK vO1 VDD Tp2 vO2

1 Intr2

RETEA nMOS

RETEA nMOS

Te1

Te2

Poarta 1

Poarta 2

Poarta 1

Poarta 2

a)

b)

c)

Figura 1.57 Port i CMOS dinamice: a) nserierea port ilor si diagrama semnalelor la ie sirea lor (b); c) nserierea port ilor de tip domino. Funct ionarea unei singure port i CMOS dinamice, ca n Figura 1.56-b, este corect a, dar c and sunt nseriate mai multe port i ca n Figura 1.57-a poate apare o funct ionare eronat a. In aceast a nseriere Poarta2 se consider a a un NAND cu dou a intr ari (Intr1, Intr2). Pe durata fazei de pre nc arcare, prin tranzistoarele T p1 si Tp2 , tensiunile de ie sire vO1 si vO2 ajung la valoarea VDD iar valorile variabilelor de intrare sunt aplicate la Poarta1, a doua intrare (Intr2) pentru Poarta2 se consider a c a are aplicat a valoarea 1 (pe prima intrare (Intr1) a Port ii2 se aplic a v O1 ). Se presupune c a intr arile pentru Poarta1 determin a pentru aceasta, prin unele tranzistoare n conduct ie din ret eaua n si prin Te1 , o cale de scurtcircuit la mas a pe durata fazei de evaluare, deci vO1 devine 0 logic, valoare evaluat a corect pentru Poarta1. Dar, la nceputul fazei de evaluare tensiunea de ie sire, care se aplic a pe prima

CAPITOLUL 1. PORT I LOGICE

121

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

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

1.5. PORT I IN TEHNOLOGIA CMOS


VDD Tp1 Tm vy T1 T2 vO

CLK

Tp1

CLK

Retea nMOS

Te1

a)

Poarta 1

b)

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

CAPITOLUL 1. PORT I LOGICE

123

Prin mic sorarea raportului de form a W/L al unui tranzistor capabilitatea de a furniza curent scade (rezistent a echivalent a a canalului cre ste), la fel scad si capacit a tile parazite. Explicat ia n cazul prezentei geometrii este: dac a lungimea canalelor nMOS nseriate este destul de mare cre sterea rezistent ei prin mic sorarea unor l a timi de canal este ne nsemnat a pe c and sc aderea capacit a tii parazite este semnicativ a si deci per total rezult a o constant a de timp mic sorat a pentru desc arcare. In plus, se poate realiza pentru inversorul static de pe ie sire, care dup a faza de evaluare poate comuta de la 0 la 1, o vitez a m arit a a comutat iei L H de la ie sirea sa prin dimensionarea tranzistorului nMOS al s au cu W m arit.
VDD CLK

Tp1
O

CLK

Tp1
O

A B C D

A B C D

Te1 a) b)

Te1

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

1.5.6

Metoda efortului logic

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

124

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

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

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

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

CAPITOLUL 1. PORT I LOGICE

125

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

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

126

1.5. PORT I IN TEHNOLOGIA CMOS

V DD
2 unitati (de capacitate)

2
pMOS

C inv

nMOS

1 V SS

C inv
1 unitate (de capacitate)

C inv C inv = 2+1 = 3 unitati


(de capacitate)

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

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

Num arul de intr ari n=1 1 n=2 8/3 4/3 10/3 5/3 8 2, 2 8 4 n=3 5 5/3 7 7/3 12 2, 2 36 12 n=4 8 2 12 3 16 2, 2 128 32

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

=2

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

CAPITOLUL 1. PORT I LOGICE


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

127
4+1=5 I O,LH

2+1=3

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

I O,HL g= 4/3

C in=5 A B C in=5 1

I O,HL g= 5/3

2 I O,HL=I O,LH

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

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

c)
VDD 48
3/ I 5 O,LH

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

30

A B C in=60 12

12

3/ I 5 O,HL

30 I O,LH=I O,HL

d)

e)

f)

Figura 1.61 Efortul logic pentru port ile inversor, NAND si NOR: a,b,c) c and toate aceste port i au aceea si capabilitate de comand a la ie sire; d,e,f) c and toate aceste port i au aceea si capacitate Cin pe intrare.

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

128 n felul urm ator: gb =

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

CAPITOLUL 1. PORT I LOGICE

129

tensiunea VDD un num ar de n zone difuzate de l a timea Wd , deci suprafat a total a n(1 + )Wd , rezult a p = n pinv . La fel, se poate calcula pentru poarta NOR si rezult a p = n pinv . Tabelul 1.14 prezint a, pentru c ateva port i uzuale, aceste calcule. Tabelul 1.14 Estimarea nt arzierilor p pentru unele port i Tipul de poart a NAND NOR Multiplexor XOR Formula n pinv n pinv 2n pinv n 2n1 pinv pinv = 1.0 n=3 n=4 3 4 3 4 6 8 12

n=2 2 2 4 4

Estimarea componentei de nt arziere p are serioase limit ari c and se consider a c a aceast a nt arziere cre ste liniar cu num arul de intr ari ale port ii. Deoarece nt arzierea datorat a capacit a tilor interne parazite este dependent a de layout cea mai bun a cale pentru determinarea acesteia este prin simularea circuitului cu datele exacte de layout. Dar o determinare exact a pentru nt arzierea p, datorit a capacit a tilor interne parazite, nu este necesar a n etapa de dimensionare a tranzistoarelor deoarece aceast a dimensionare se face n funct ie doar de efortul pe poarta f = g h care este independent de p. Valorile n unit a ti de timp [ps] ale parametrilor si p inv pentru inversor si, n extensie pentru ecare poart a, pot determinate din reprezentarea grac a a nt arzierii absolute a port ii inversor dabs = (h + pinv ), sau a unei port i dabs = (g h + p) n funct ie de efortul electric h, Figura 1.62. Aceast a dreapt a poate trasat a doar prin
dabs [ps]
ND

dabs= gh+ p

NA

SO
1 pinv 0 1

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

IN

ER

2 3 4 Efortul electric

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

130

1.5. PORT I IN TEHNOLOGIA CMOS

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

d x

d x x

a) x b)

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

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

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

CAPITOLUL 1. PORT I LOGICE

131

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

1.5.6.2

Calculul nt arzierii n ret elele de port i logice

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

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

132

1.5. PORT I IN TEHNOLOGIA CMOS

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

A B C C B A

3 3 3 3 3 3

A B C C B A

3 3 3 3 3 3

A B C C B A

3 3 3 A 3 3 3 B C

3 3 3 3 3

B B

B A b)

V DD B B A
3

3 3

A B
3

3 3

C C

A 3

3 A

B
3

3 A

B
3

c)

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

CAPITOLUL 1. PORT I LOGICE

133

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

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

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

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

134

1.5. PORT I IN TEHNOLOGIA CMOS

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

(1.103)

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

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

Figura 1.65 Explicativ a pentru exemplul 1.23


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

CAPITOLUL 1. PORT I LOGICE

135

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

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

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

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

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

1.5. PORT I IN TEHNOLOGIA CMOS

10 m (latime de poarta) x y z

20 m (latime de poarta)

a)

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


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

1.5.6.3

Alegerea num arului optim de niveluri pe un traseu

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

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

CAPITOLUL 1. PORT I LOGICE

137

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

138

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

CAPITOLUL 1. PORT I LOGICE

139

Un caz particular de structur a de circuit, dar foarte des utilizat, este a sa numita ,, furc a ce se compune din dou a ramuri de inversoare, pe o ramur a num arul inversoarelor nseriate ind impar iar pe cealalt a ramur a num arul inversoarelor nseriate ind par, astfel c a la ie siri se genereaz a valoarea negat a respectiv nenegat a a semnalului comun aplicat la intrare, Figura 1.67. Pentru circuitul furc a se cunosc cele dou a capacit ati de ie sire Ca , Cb , n general egale Ca = Cb , de la cele dou a ramuri, CO = Ca + Cb . De asemenea, se cunoa ste capacitatea total a de intrare n furc a, Cin , care este sarcina suportat a de semnal la intrarea n furc a, pe care va trebui s ao nc at nt arzierile repartiz am pe cele dou a intr ari Cina , Cinb , Cin = Cina + Cinb , astfel pe cele dou a ramuri s a e egale. Se poate deni un efort electric total pentru circuitul furc a H = CO /Cin si, respectiv, c ate un efort electric individual pentru ecare ramur a Ha = Ca /Cina , Hb = Cb /Cinb , aceste eforturi electrice individuale, n general, nu sunt egale chiar dac a nc arc arile la ie sire sunt egale.
C ina C in C inb C ina= C in C inb=(1 )C in N1 niveluri Cb C o=C a+C b N niveluri Ca

Figura 1.67 Structura general a a circuitului furc a: Pentru proiectarea circuitului furc a se porne ste cu determinarea coecientului de repartizare a capacit a tii de intrare, Cin , ntre cele dou a ramuri, Cina = Cinb , coecient care rezult a din egalitatea nt arzierilor, ecuat ia 1.102, pe cele dou a ramuri. Ramura care suport a un efort electric mai mare, uzual cea cu amplicatoare mai multe, are o capacitate de intrare mai mic a < 0, 5, deci i se repartizeaz a o parte mai mic a din curentul semnalului de intrare dec at celeilalte ramuri. Evident, c a oricare ramur a poate dimensionat a s a devin a mai rapid a, prin reducerea efortului electric al s au ceea ce implic a m arirea dimensiunilor tranzistoarelor de la primul etaj, adic a m arindu-i curentul repartizat n detrimentul celeilalte ramuri care va deveni mai lent a. Un circuit furc a particular este referit prin num arul de inversoare cont inut n ecare ramur a, n general diferent a este de un singur inversor, deci pot circuite: 2 1, 3 2, 4 3, 5 4 , . . . . In funct ie de valoarea efortului electric total H = C O /Cin din Tabelul 1.16 se obt ine recomandarea ce structur a de circuit furc a este indicat s a se utilizeze (pentru pinv = 1). Exemplul 1.29 S a se proiecteze un circuit furc a 2 1 cu capacitatea de intrare Cin = 10 iar capacitatea de ie sire, pe ecare ramur a, este Ca = Cb = 100. Care este nt arzierea introdus a de circuit? Solut ie. Coecientul de repartizare a capacit a tii de intrare Cin ntre ramura cu dou a inversoare, Cina = Cin a din si ramura cu un singur inversor Cinb = (1 )Cin , rezult egalizarea nt arzierilor, ecuat ia 1.102, pe cele dou a ramuri.
2 100 10
1 2

+ 2pinv =

100 10(1 )

+ pinv

140

1.5. PORT I IN TEHNOLOGIA CMOS

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

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

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

a)

EN

Figura 1.68 Explicativ a pentru exemplul 1.30

CAPITOLUL 1. PORT I LOGICE

141

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

+ 4pinv = 3

768 12(1 )

1 3

+ 3pinv

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

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

142

1.6. REJECT IA ZGOMOTELOR

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

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

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

1.6

REJECT IA ZGOMOTELOR

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

CAPITOLUL 1. PORT I LOGICE

143

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

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

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

144
vO V OH

1.6. REJECT IA ZGOMOTELOR

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

a)

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

CAPITOLUL 1. PORT I LOGICE

145
V DD D1 Intrare

V DD Pad R D1 D2 vI C Pad

R
V DD VT VT
2

Data Validare Iesire OE D (Data)


1

D2

T2 T1

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

Iesire

VT 1 1 0

Pad HZ 0 1 terminal de intrare terminal de iesire

b)

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

146

1.6. REJECT IA ZGOMOTELOR

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

CAPITOLUL 1. PORT I LOGICE

147

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

148

1.6. REJECT IA ZGOMOTELOR

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

1.6.1

Reject ia zgomotelor externe

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

CAPITOLUL 1. PORT I LOGICE


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

149

0.1 F

0.1 F

Masa A b) Emitator

Legaturi de masa cat mai apropiate

Cablu ecranat

Legaturi de masa cat mai apropiate

Masa B Receptor

Emitator Intrare date x x

Semnale pe linia diferentiala vz1

Zgomot indus pe linie

Receptor Iesire date

vz1 vzm

Masa A c)

Zgomot indus pe linia de masa

Masa B

Figura 1.71 Zgomote externe: a) exemplicare pentru inducerea semnalelor de zgomot pe o linie de conexiune;b) eliminarea posibilit a tii de inducere a zgomotului de induct ie prin utilizarea de cablu ecranat; c) eliminarea zgomotului suprapus peste semnal prin utilizarea modului de transmisie diferent ial a.

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

150

1.6. REJECT IA ZGOMOTELOR

1.6.2

Reject ia zgomotelor interne

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

Prin mas a electronic a ntr-un circuit se nt elege potent ialul de referint a pentru toate tensiunile din circuit, zic masa electronic a este materializat a printr-un conductor/traseu la care se conecteaz a toate componentele circuitului; evident acest traseu trebuie s a e echipotent ial pentru toate componentele. Aplicarea unui semnal sau culegerea unui semnal de prelucrat se face pe un traseu compus din conductorul de semnal (rul cald) cu ntoarcere prin conductorul de mas a. Conductorul de mas a ind comun pentru toate circuitele de aplicare sau de culegere a semnalelor rezult a c a acest conductor este parcurs de tot i curent ii de ntoarcere ai semnalelor. Dac a rezistent a conductorului de mas a nu este nul a curent ii de ntoarcere produc c aderi de tensiune, iar diferitele puncte ale traseului de mas a nu mai sunt echipotent iale, deci componentele circuitului au potent iale de mas a diferite. Consider and punctul unde se conecteaz a masa sursei de alimentare la masa circuitului/sistemului alimentat ca punct init ial de mas a, n cazul n care traseele de mas a pornind din punctul init ial nu au rezistent a zero, potent ialul de mas a al ec arei componente va diferit fat a de potent ialul punctului init ial de mas a n funct ie de valorile curent ilor de ntoarcere.
VCC 1 3 4 2 VCC

Circuit integrat

Masa Plan de alimentare Plan de masa

a)

Z Traseu de masa

Punct initial de masa

b)

Planuri pentru traseele de conexiuni

Figura 1.72 Zgomot de mas a: a) exemplicare pentru o posibil a aparit ie a semnalului de zgomot de mas a datorit a unei impedant e, Z , pe traseul de mas a; b) solut ie de eliminare a zgomotului de mas a prin utilizarea unui plan separat de mas a si altul separat de alimentare (pe o plac a multistrat). De exemplu, pentru circuitul din Figura 1.72-a c and ie sirea port ii1 (TTL) comut a din 1 n 0 curentul de la surs a spre mas a cre ste cu valoarea I . Deoarece, ntre punctul init ial de mas a si punctul de conectare la mas a al port ii 1, traseul de mas a prezint a o impedant a Z , se va produce un salt al c aderii de tensiune V pe aceast a

CAPITOLUL 1. PORT I LOGICE

151

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

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

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

152

1.6. REJECT IA ZGOMOTELOR

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

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

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

CAPITOLUL 1. PORT I LOGICE


Poarta emitatoare VG Zs I Poarta receptoare Zr Zr vr vt

153

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

Distanta

Capatul liniei

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

Tensiunea pe linie dupa o reflexie la capat pentru :

Zr>Zo

Capatul liniei

V Zr<Zo

A Poarta A (emitatoare) d)

B Poarta B (receptoare)

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

154 pot considerate ca linii n gol).

1.6. REJECT IA ZGOMOTELOR

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

v0 0,75V

0,93V 0,89V t

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

v2

2T

3T

4T

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

CAPITOLUL 1. PORT I LOGICE

155

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

156

1.6. REJECT IA ZGOMOTELOR

Poarta generatoare

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

Terminator Thevenin R Thev V Thev b) +

a) Poarta generatoare + Ri

c) V CC V CC R1 R R

R1

R2 d)

R2 e)

Figura 1.75 Modalit a ti de adaptare a liniilor: a) adaptarea unei linii de magistral a prin conectarea la cap at a unui terminator Thevenin; b) schema echivalent aa terminatorului; c) adaptarea ie sirii unei port i (la linia de magistral a) prin nserierea unei rezistent e de valoare Z0 Ri ; d,e) variante de adaptare a conexiunilor dintre dou a port i.

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

CAPITOLUL 1. PORT I LOGICE

157

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

158 1.6.2.3

1.6. REJECT IA ZGOMOTELOR

Zgomotul datorat cuplajului electromagnetic (diafonia)

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

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

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

Zo

CL 1 L M L

CL L Cm M L CL

CL L Cm

Zo

CL L L M L

V I2 2

ZI Poarta 4

Poarta 1 C m Poarta 3 Zo 3 CL V O3

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

Poarta 2

CL

ZI

Figura 1.76 Explicativ a pentru procesul de generare a diafoniei

CAPITOLUL 1. PORT I LOGICE

159

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

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

1.6. REJECT IA ZGOMOTELOR

V DD 2Zo Linie de vO magistrala Zo 2Zo

x(t)

3 p

x(t 3 p ) vB

vA tf vO
+ V + V

tr

V DD /2

V t

b)

Figura 1.77 Driver de magistral a cu di/dt redus: a) structur a circuit; b) explicativ a prin diagrame de semnal pentru obt inerea pe linia de magistral a a unui semnal numai cu panta egal a cu 1.
b) Dac a n exemplul a) se introduce un plan de mas a la distant a de 1mm de ecare conductor se obt in valorile Z5 0, Zc = 125 iar nivelul de diafonie este D2 = 0, 28. Valoarea 0.28 pentru diafonie este destul de mare, se apropie prea mult de valoarea maxim a de 30 % a marginii de zgomot n curent continuu de la port ile CMOS. c) Dac a at at linia emit a toare c at si cea receptoare se realizeaz a din cablul torsodat impedan- tele au valorile Z0 = 80, Zc = 400 si diafonia este D3 = 0, 16. Acest raport zgomot/semnal este satisf ac ator pentru toate circuitele TTL si TTLS.

1.6.2.4

Zgomotul datorit a curent ilor de alimentare

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

CAPITOLUL 1. PORT I LOGICE

161

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

LH

HL

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

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

Cd =

(1.113)

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

162

1.6. REJECT IA ZGOMOTELOR

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

CAPITOLUL 1. PORT I LOGICE

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

id I dmax

max

rezult a relat ia

td = 0

t d = HL / 2

t d = HL

td

did dtd

max

4CL VDD 2 HL

Introduc and valorile numerice se obt ine

Figura 1.79 Explicativ a pentru Exemplul 1.32

did dtd

max

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

4 100 1012 5 (5 109 )2

max

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

PROBLEME
P1.1 Utiliz and axiomele si teoremele algebrei Booleene, s a se demonstreze analitic urm atoarele identit a ti si apoi s a se deduc a tabelul de adev ar al expresiei respective: a) B + AC = (A + B + C )(A + B + C )(A + B + C ); b) AD + CD + AB = A CD + AB C + ABC + ACD; c) D(A + +C + D)(A + B + C + D) = (D + AC + AC )(A C + BD + AC ). P1.2 S a se demonstreze urm atoarele identit a ti si apoi s a se deduc a tabelul de adev ar al expresiei respective: a) AB + (A + B )C = AB + (A B )C ; b) A B = B A = A B a XOR); A 0 = A; A A = 1; c) A 1 = A (inversorul comandat realizat cu o poart A A = 0; d) A B = AB + A B ; e) A B = A B = A B ; f) ABC + A B + ABCD = ABC + A B + D; h) ABC (BD + CDE ) + AC = A(C + BDE ); g) ABC + AB C + A B C + ABC + ABC = BC + AB + B C. P1.3 S a dezvolte urm atoarele expresii (utiliz and teoremele lui De Morgan): a) AB (C + D); b) AB (CD + EF ); c) (A + B + C + D) + ABCD;

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

1.6. REJECT IA ZGOMOTELOR

h) (A + B ) (C + D) (E + F ) (G + H ). P1.4 Folosind port ile setului complet XOR, AN D s a se implementeze operatorii: NOT, AND, OR, NAND, NOR, XNOR. Se vor utiliza simbolurile ANSI/IEEE. P1.5 Care port i din Figura urm atoare (a, b, c, d) nu funct ioneaz a corect? Oscilogramele semnalelor de pe intr ari si de pe ie siri sunt prezentate in aceea si gur a.
A B y A B y a) A B c) y y y A B y b) A B y d) A B y y

A B y

A B y

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

CAPITOLUL 1. PORT I LOGICE

165

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

a)

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

P1.13 Pentru port ile inversor ale circuitului b) (desenat la P1.11) timpii de propagare sunt: LH = 6ns(min)/10ns(max), HL = 4ns(min)/6ns(max), r = f = 1ns. Presupun and valorile minime pentru timpii de propagare,s a se determine timpul total de propagare prin circuit pentru comanda intr arii: 0 1, 1 0. Consider and c a ecare inversor are timpul de propagare situat oriunde ntre valoarea minim a si cea maxim a, s a se schit eze formele de und a n punctele B,C si D c and semnalul pe intrarea A are tranzit iile: 0 1, 1 0. P1.14 Pentru circuitul din gura de mai jos (a) se consider a, pentru toate port ile, PHL = PLH = p . S a se determine expresiile logice pentru variabilele notate n gur a. Discut ie. T in and cont de timpii de propagare, s a se descrie prin forme de und a valorile variabilelor logice pe durata regimurilor tranzitorii. Discut ie.
A A
_

C D

C B

A A A
_

B A

A
_

A a) b)

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

166

1.6. REJECT IA ZGOMOTELOR

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

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

R1 2K VA

A R2 10K VO

Cp a)

b)

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

CAPITOLUL 1. PORT I LOGICE

167

P1.21 Pentru ret elele de comutat ie din gurile urm atoare s a se deduc a funct iile logice realizate.
A B C E F G a) F D E C F G A B b) B C F

P1.22 Structura circuitului de comand a realizat cu contacte pentru aprinderea si stingerea unui bec din oricare din cele trei puncte A,B si C este reprezentat a n gura (a)de la P1.23. Implementat i acela si circuit de comand a cu port i logice. P1.23 S a se determine funct ia de comutat ie F pentru structura de ret ea din gura de mai jos (b). S a se simplice expresia funct iei F si s a se realizeze o implementare cu port i logice.
A _ A A _ A B C _ B _ B _ A B _ D D _ B

_ C

a)

b)

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

168

1.6. REJECT IA ZGOMOTELOR

P1.25 Pentru circuitul logic combinat ional din gura (b), la aplicarea formelor de und a la intrare, desenate al aturat n gura (a), se obt ine forma de und a y la ie sire. Aceast a ie sire y este incorect a datorit a unei port i defecte din structura circuitului. (O poart a defect a are ie sirea e permanent n starea H e permanent n starea L, indiferent de valoarea logic a a intr arilor). S a se localizeze poarta defect a si s a se determine defectul acesteia (ie sire permanent H sau permanent L).
A B C D E y a) A B G1 C D E G3 b)

G2 G4 y

P1.26 Pentru circuitul din gura (b) sunt redate al aturat formele de und a pe intr ari. Sunt accesibile pentru oscilograere numai ie sirea si punctul de test PT. Este corect a forma de und a PT? Dac a nu, care este defectul?
A B C D E F PT a) b) A B C D E F

PT

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

CAPITOLUL 1. PORT I LOGICE


VCC +5V R A B C R A B

169
VCC +5V

VCC +5V R A B C D a)

* * * *

* * *
b)

* * * *
c)

D E F G

C D E F G H

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

W X Y Z

74LS01 *

Q Q QQ Q
+5V *

R1

R2

P Q R S T U V

Q Q Q Q Q
+5V D1

RI 3 D2 4

x y z

* 74LS01

74LS01

a)

b)

170

1.6. REJECT IA ZGOMOTELOR

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

g=1 p=1 C C b)

g=5/3 p=2
y 6C

a)

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

CAPITOLUL 1. PORT I LOGICE

171

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

Capitolul 2

CIRCUITE LOGICE COMBINAT IONALE


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

2.1

CIRCUITUL LOGIC COMBINAT IONAL

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

174

2.1. CIRCUITUL LOGIC COMBINAT IONAL

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

175

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

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

CIRCUIT LOGIC
COMBINATIONAL (CLC)

ym1 ym2 yj y1 y0
b)

xn1 xn2 Y X xi x1 x0

CIRCUIT LOGIC
COMBINATIONAL (CLC)

cu iesiri multiple

cu o singura iesire

Nr 0 1 2

Intrari xi 0 0 0

x0 0 0 1

x1 0 1 0

y0 d00 d01 d02

y1 d10 d11 d12

yj dj0 dj1 dj2

Iesiri

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

y 22n1

2n2 2n1 c)

1 1

1 1

1 1

1 1

0 1

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

d j2n2 d j2n1 m functii

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

Figura 2.1 Simbol de reprezentare pentru CLC cu n intr ari: a) cu ie siri multiple; b) cu o singur a ie sire; c) tabel de adev ar pentru un CLC cu ie siri multiple (m). Denit ia 2.1 Complexitatea unui circuit cu n intr ari, notat a cu C (n),

176

2.2. REPREZENTAREA CLC

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

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

2.2

REPREZENTAREA CIRCUITELOR LOGICE COMBINAT IONALE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

177

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

2.2.1

Tabelul de adev ar

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

178

2.2. REPREZENTAREA CLC

1. cel mai semnicativ bit al cuv antului de cod Gray este identic cu cel mai semnicativ bit din cuv antul de cod binar natural; 2. parcurg and cuv antul de cod binar natural, de la st anga la dreapta, prin sumarea ec arei perechi de bit i adiacent i se obt ine bitul urm ator ( n sensul de la st anga la dreapta) din cuv antul de cod Gray (bitul de transfer rezultat n urma sum arii se neglijeaz a).
Binar 1 Natural

1 + 0 +

0 + 1

0 + 0

0 + 0

1 + 1

1 + 0

0 Gray 1 1 Natural 1 b)
Binar

0 1

1 0

0 0

0 0

1 1

0 1

1 0

Gray a)

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

179

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

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

2.2. REPREZENTAREA CLC

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

E 1 E 0 G3 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 ale funct iilor

G2 0 0 0 0 1 1 1 1 1 1

G1 0 0 1 1 1 1 0 0 0 0

G0 0 1 1 0 0 1 1 0 0 1

a) A B C D b) CONVERTOR
BCDEXCESS3

E3 E2 E1 E0

A B C D c)

CONVERTOR
BCDGRAY

G3 G2 G1 G0

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

181 A 0 B 0 f 0

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

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

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

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

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

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

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

f 0 0 D

0 1 D 1 D 0 1 D c) =

C+D

CD

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

182

2.2. REPREZENTAREA CLC

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

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

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

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

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

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

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

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

Figura 2.5 Tabelul de adev ar pentru exemplul 2.2


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

2.2.2

Reprezentarea analitic a

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

183

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

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

fi 3 = = =

d i0 x 2 x 1 x 0 + d i1 x 2 x 1 x 0 + d i2 x 2 x1 x 0 + d i3 x 2 x1 x0 + 0 + d i7 x 2 x 1 x 0 = 1 x 0 + d i6 x 2 x 1 x 1 x 0 + d i5 x 2 x +d i 4 x 2 x 1 x 0 + x2 + (di4 x 1 x 0 + di1 x1 x0 + di2 x1 x0 + di3 x1 x0 ) (di0 x 0 + di7 x1 x0 )x2 = +d i 5 x 1 x 0 + d i 6 x 1 x fi 2 x 2 + fi 2 x2 ; i = 0, 1, 2..., 255.

(2.4)

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


n

(2.5)

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

184

2.2. REPREZENTAREA CLC

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

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

fk i

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

fk i

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

185

Ci1 Ci1 Ci1 Ci1 Ci1 Ci1 Ci1 Ci1

0 1 1 0 1 0 0 1

0 Ci1 Ci1 0 Ci1 0 0 Ci1 Ci1

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

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

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

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

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

186

2.2. REPREZENTAREA CLC

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

2.2.3

Diagrama Veitch - Karnaugh

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

187

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

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

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

X1 01 S2 S6 S14 S10 X2

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

X2

11 S12 01 S8

n=6

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

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

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

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

X4 X5

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

P 37 P 36 X0

d)

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

188

2.2. REPREZENTAREA CLC

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

189

grupate cu termenul de Implicant Prim, IP. In aceast a operat ie de identicare de suprafet e maxime poate apare o suprafat a ce acoper a o grupare de c asut e adiacente, dar ecare din aceste c asut e elementare ale grup arii mai este acoperit a cel put in de nc a o alt a suprafat a; o astfel de suprafat a corespunde unui IP neesent ial. Dar poate exist a o suprafat a care acoper a o grupare de c asut e adiacente dar dintre aceste c asut e elementare exist a cel put in o c asut a care nu mai este acoperit a si de c atre o alt a suprafat a ; o astfel de suprafat a corespunde unui IP esent ial. Pentru exprimarea funct iei n forma redus a trebuie luate n considerare suprafet e maxime astfel nc at s a e acoperite toate c asut ele elementare cu valoarea 1 pentru forma redus a disjunctiv a (sum a de produse), respectiv s a e acoperite toate c asut ele elementare cu valoarea 0 pentru forma redus a conjunctiv a (produs de sume). Denit ia 2.4 Forma redus a a unei sume de produse este minim a atunci c and nu exist a o alt a form a redus a a funct iei cu mai put ini termeni produs sau oricare alt a form a cu acela si num ar de termeni produs are cel put in acela si num ar de variabile. Dup a cum s-a ar atat n sect iunea 1.5 forma redus a ca sum a de produse se implementeaz a simplu pe o structur a AND-OR, iar forma redus a ca produs de sume pe o structur a OR-AND. Rezult a, implicit, pentru implementare, c a forma minim a va duce la un num ar minim de port i pe primul nivel (de AND) si de intr ari pe port ile din nivelul doi (OR) si, evident, in cadrul acesta la cel mai mic num ar de intr ari (variabile) pe primul nivel. La fel se poate da o denit ie pentru forma minim a a unui produs de sume. Pentru exprimarea funct iei n form a redus a se selecteaz a: 1. obligatoriu tot i IP esent iali; 2. un num ar c at mai mic de IP neesent iali, dar care s a acopere toate c asut ele elementare nscrise cu unu ce nu au fost acoperite de c atre IP esent iali Exemplul 2.4 Pentru funct ia F dat a sub forma FND,
15

F =
0

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

sau sub forma FNC F =

15

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


0

s a se realizeze minimizarea cu diagrama V-K. Solut ie. Din expresia funct iei dat a sub forma listelor anterioare se completeaz a cu unu diagrama V-K pentru sinteza ca sum a de produse, Figura 2.9-a si se completeaz a cu 0 diagrama V-K pentru sinteza ca produs de sume, Figura 2.9-b. Se consider a suprafet e de c asut e adiacente, grupate c ate dou a sau patru si rezult a pentru forma sum a de produse doi IP esent iali (a = x3 x0 , b = x 3 x 2 x 0 ) si trei IP neesent iali (c = x3 x2 x1 , d = x2 x1 x 0 , e = x 3 x1 x 0 ), iar pentru forma produse de sume doi IP esent iali (a = (x3 + x 0 ), b = ( x3 + x2 + x0 )) si trei IP neesent iali (c = (x3 + x 2 + x1 ), d = ( x3 + x1 + x0 ), e = ( x2 + x1 + x0 )). Acoperirea complet a pentru prima sum a de produse trebuie sa cont ina cei doi IP esent iali a si b iar dintre cei neesent iali un num ar c at mai mic, dar care s a acopere restul de c asut e n care este

190

2.2. REPREZENTAREA CLC

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

15

X 3X 2

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

15

01 11

X2

X3 10

a)

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

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

b)

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


15 15

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


0 0

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

191

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

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

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

192

2.2. REPREZENTAREA CLC

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

E3 =
0 15

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

E2 =
0 15

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

E1 =
0 15

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

E0 =
0

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

15 0

E3

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

15 0

E2

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

AB

AB

A 10 1 1 D A
15 0

A 10 1 D BC
15 0

BD E1

BCD

BD E0

BC

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

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

AB

AB

A 10 1 D CD CD

A 10 1 D D

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

193

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

2.2.3.2

Minimizare pe diagrame V-K cu variabile reziduu

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

194

2.2. REPREZENTAREA CLC

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

x0


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

d2 d6

x 1x 0 x 3x 2

x3

d12 d8

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


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

x0

d1 d5

d13 d9 x0

d15 d11


d3 d7

d2 d6 d14 d10 x2

x1

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

195

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

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


0 1


1 A

B A

0 B 1 b)

A A


01 A 1 D 0 1 0 1

C A 1

11

10 A 1 D

0 A

1 A

D+DA 1

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

C CD 00 01 11 10 0 0 0 1 +

d)

B 1 0 C B 0 0 0 1 0

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

e)

1 D+A 1

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

196

2.2. REPREZENTAREA CLC

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

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

2.2.3.3

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

197

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


01 0 1 0 0 B D

C 0 1 0 0

11

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

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

   

d) B 0 A 0 0 e) 1 D

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

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



C+D CD



CD

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

198

2.2. REPREZENTAREA CLC

funct ii p ana la gurarea suprafet elor respective de acoperire n diagramele V-K ale funct iilor init iale. Procesul de identicare de implicant i primi comuni se contimu a p ana la diagramele V-K produs logic de dou a funct ii. 3. Din cele m diagrame V-K ale funct iilor init iale se extrag formele reduse ale funct iilor, dup a procedeul normal, ncerc and a se selecta c at mai multe dintre suprafet ele care gureaz a mplicant i primi comuni (identicat i conform procedurii de la punctul 2). Circuitul cu ie siri multiple, rezultat printr-o minimizare corelat a, n general, utilizeaz a un num ar de termeni produs diferit i mai mic dec at num arul total de termeni produs diferit i obt inut printr-o minimizare separat a (necorelat a) pentru ecare funct ie n parte, deci un num ar mai mic de port i pentru implementare. Totu si, alegerea nal a pentru implementare nu este impus a numai de acest rezultat ci trebuie luate n considerare si: tipul de poart a logic a, factorii de nc arcare la intrare si ie sire si disponibilitatea semnalelor in sistem. Metoda minimiz arii corelat a este indicat a pentru sinteza circuitelor care se implementeaz a cu port i logice discrete, pe circuitele arii de port i logice si pe circuite logice programabile unde economisirea doar si a unei port i, la o replicare mare, determin a o economisire substant ial a. Exemplul 2.8 Pentru urm atoarele trei funct ii
15

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

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


15

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

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

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

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

s a se realizeze o minimizare corelat a. Solut ie. Extragerea necorelat a a ec arei funct ii este realizat a pe diagramele V-K din Figura 2.14-a si se obt in urm atoarele expresii minime: (1) + BCD(2) + B C D (3) + AC D (4) F0 = ABD (6) + AB D (7) F1 = BC (5) + AC D (8) + BCD(2) + BC D (9) F2 = A D cu un num ar de 9 termeni produs diferit i din totalul de 10 (BCD este utilizat at at de F0 c at si de F2 ). In continuare se va proceda pentru extragerea corelat a. Diagrama V-K a funct iei produs logic F0 F1 F2 este reprezentat a n Figura 2.14-b iar a funct iilor produs logic F0 F1 , F0 F2 , F1 F2 n Figura 2.14-c. Singurul implicant prim comun, BCD din diagrama V-K a funct iei produs logic F0 F1 F2 , neconsiderat n produsele logice de dou a funct i, este gurat (ha surat spre dreapta) n diagramele V-K ale funct iilor F0 , F1 , F2 din Figura 2.14-d. Apoi, din diagramele funct iilor produs logic de dou a funct ii: pentru D care se gureaz F0 F1 se identic a implicantul prim comun AB a (ha sura spre st anga) BC D prin suprefet e pe F0 si F1 ; pentru F0 F2 se identic a implicantul prim commun A care se gureaz a (printr-un cerculet ha surat spre dreapta) prin suprafet e pe F0 si F2 ; pentru care se gureaz F1 F2 se identic a implicantul prim comun AC D a prin suprafet e pe F1 si F2 .

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

199

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

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

2.2.4

Diagrama de decizie binar a, BDD

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

200

2.2. REPREZENTAREA CLC

AB

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

AB

C CD 00 01 11 10 1 1 1 1 1

AB

00 01 1 A 11 10 B A

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

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

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

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

'& '& '& '&


F0

b)

./ ./
c)

F0

10 10 10
1 1 1

F1

 
F2 1 1

F1 1

F2

   
1 00 1

1 1

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

23

)   () 54 54 (
1 1 1

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

1 1

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

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

1 1 1

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


1 1 D

1 1 1 B

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

Figura 2.14 Minimizarea corelat a a 3 funct ii: a) minimizarea necorelat a; b,c) diagramele V-K pentru produsele de c ate 3 si 2 funct ii; d) extragerea corelat a a expresiilor reduse ale funct iilor.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

201

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

202

2.2. REPREZENTAREA CLC

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

x1

y1

y1

x0

x0

x0

x0

y0 0 1 1 0 0 0

y0 1 1 0 0

y0 1 0 0 0

y0 1 0 0 0

y0 1 0 0 0

y0 1 0 0 1

y0 1 0 0 0

y0 1 1

a)
y1 x0 x0

b)
x1 y1 x0 x0
0 0 0

x1

1 0

y1

1 0

y1

1 0

x0 1

x0

x0

x0

y0 y0 y0 y0 1 0
1

y0 y0 y0 y0 0 1
1 0

y0 1

y0

y0

y0

c)

1
0 0

0 x1 1
0

d)

1
0

0 x1 1
1

x0

1 0

x0

1 1

y1

y1

y1 0
1

y1

y1 0 1

y1

x0 1 y0 1 1
1

y2 0

y 0 2 1 1

y0 0

f)

e)

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

203

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

2.2.5

Modalit a ti neformale de reprezentare

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

Ci i

C0 0

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

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

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


DA

b) I1 #1

i<n
NU

C1

C2 O1

a)

O0

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

204

2.2. REPREZENTAREA CLC

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

205

xn1

xi

x2

x1

x0

X+1 a) X xn1 xi x2 x1 x0

X1 b) X xn1 xi x2 x1 x0

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

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

206
B3 B2 B1 B0 G3 G2 G1 G0

2.2. REPREZENTAREA CLC

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

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

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

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

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

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

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

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

B3

B2

B1

B0

G b) G

G3

G2

G1

G0

G3

G2

G1

G0

B c)

B3

B2

B1

B0

a)

Figura 2.18 Conversia binar natural - Gray si Gray - binar natural: a) tabel de adev ar pentru expresie; b,c) circuitele de conversie structurate repetitiv pe baz a de port i XOR.
cele 6 combinat ii (1010, 1011, 1100, 1101, 1110, 1111) nu se aplic a niciodat a pe intrarea convertorului, pe c and n al doilea tabel de adev ar conversia binar natural - Gray cele sase combinat ii nu mai sunt indiferente pentru circuitul convertor. Utilizarea tabelelor de adev ar cu 16 linii nu este prea atr ag atoare, n schimb, regulile de conversie expuse n paragraful 2.2.1 si reprezentate grac n Figura 2.2-a si b sunt mult mai practice si mai u sor de implementat. U sor de implementat, deoarece pentru ambele conversii se utilizeaz a sumarea a c ate doi bit i iar transportul se neglijeaz a ceea ce se realizeaz a cu o poart a XOR. Prin mapare direct a, utiliz and port i XOR pentru conversia binar - Gray din Figura 2.2-a rezult a circuitu din Figura 2.18-b, iar pentru conversia Gray - binar din Figura 2.2-b rezult a circuitul din Figura 2.18-c. Evident, structura circuitului din Figura 2.18-a si 2.18-b indic a si o exprimare iterativ a pentru aceste coversii. Aceste relat ii iterative se pot deduce u sor dac a se noteaz a cuv antul n binar natural prin Bn1 Bn2 ...Bi ...B2 B1 B0 iar cuv antul n cod Gray prin Gn1 Gn2 ...Gi ...G2 G1 G0 . Relat iile pentru conversii sunt: Binar natural Gray : Gn1 = Bn1 , Gi = Bi+1 Bi pentru i = 0, 1, ...n 2; Gray Binar natural : Bn1 = Gn1 , Bi = Bi+1 Gi pentru i = 0, 1, ...n 2. (2.8)

Exemplul 2.11 S a se structureze un circuit pentru detectarea si generarea parit a tii unui cuv ant. Solut ie. Paritatea unui cuv ant de n bit i refer a num arul de bit i 1 din acel cuv ant. Paritatea este par a sau impar a dup a cum num arul de bit i 1 ai cuv antului este par sau impar. Paritatea poate utilizat a ca un parametru n determinarea dac a un cuv ant a fost modicat/eronat n urma transmisiei pe o linie de comunicat ie. Se va explica acest procedeu

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

207

x0 x1 a)

x0 +x1

b)

x0 x1 x2 x3 x4 x5 x6 x7 Paritate impara
IMPAR

Paritate para
IMPAR 0 1 1 0 0 1 1 0

0 IMPAR

IMPAR

c)

0 PAR

PAR
0 1 1 0

d)

PAR IMPAR

PAR

IMPAR
0 1 1 0

IMPAR PAR PAR

0 1 1 0

IMPAR PAR

PAR

0 0 1 1 0

e)

f)

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

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

208

2.2. REPREZENTAREA CLC

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

209

2.3

REALIZAREA CIRCUITELOR COMBINAT IONALE

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

Formele situate pe acela si r and sunt duale (Denit ia 1.2). Variantele AND-OR si OR-AND sunt cele de baz a si corespund implement arii directe a formelor FD, sum a de produse, repsectiv FC, produs de sume. Variantele cu un singur tip de poart a NAND-NAND si NOR-NOR se obt in prin transform ari respectiv a variantelor de baz a AND-OR si OR-AND. Conversia AND-OR n NAND-NAND apare ca o transformare

210

2.3. REALIZAREA CIRCUITELOR COMBINAT IONALE

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

a)
A B C D

NANDAND

ANDNOR

ANDOR

NEGAT

A B C D

A B C D

A B C D

b)

NOROR

ORNAND

ORAND

NEGAT

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

211

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

212

2.3. REALIZAREA CIRCUITELOR COMBINAT IONALE

A C D B A B C a)

C D B A B C b) a b

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

213

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

2.3.1

Hazardul static

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

214

2.3. REALIZAREA CIRCUITELOR COMBINAT IONALE

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

ED ED ED ED ED
tL tL

tH tH

B AB A+B A+B

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

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

CB CB CB CB CB GF GF GF GF GF

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

215

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

1 0

A B=1

HI
p

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

AC 11 1 1 BC (adaugat) 1 AB 10

a)

C=1

1 0 1 0 1 0 b)

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

AB

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

AC

3 BC (adaugat)

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

216

2.3. REALIZAREA CIRCUITELOR COMBINAT IONALE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

217

A t p p t t t t

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

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

218

2.4. CLC PENTRU FUNCT II LOGICE

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

2.4

CIRCUITE COMBINAT IONALE PENTRU FUNCT II LOGICE

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

2.4.1

Codicatorul

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

219

cuv antului de ie sire: O2 = I 4 + I 5 + I 6 + I 7 O1 = I 2 + I 3 + I 6 + I 7 O0 = I 1 + I 3 + I 5 + I 7 + I 9


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

I0 I1 I2 I3 I4 I5 I6 I7 I8 I9

DEC

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

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

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

"1" "2" "3" "4" "5" "6" "7" "8" "9"

JK LM NO PQ ]\ RS TU VW

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

XYZ[ ^_ `a

a)

CV

c)

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

220

2.4. CLC PENTRU FUNCT II LOGICE

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

2.4.2

Codicatorul prioritar, CDCP

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

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

CV

c)

b)

Figura 2.26 Codicatorul prioritar, CDCP: a) schema bloc pentru CDCP2 3 :3; b) structura codicatorului prioritar elementar CDCP2 1 :1; c) sistem de intreruperi vectorizate implementat pe baz a de CDCP8:3 (la un sistem pe baz a de microprocesor). Pentru urm atorul cuv ant X = x7 x6 x5 x4 x3 x2 x1 x0 = 00010111, aplicat pe intr arile corespunz atoare, cuv antul de cod generat este Y = y 2 y1 y0 = 100 ceea ce corespunde activ arii intr arii I4 , celelalte intr ari activate I2 = 1, I1 = 1 si I0 = 1 nu afecteaz a cuv antul de ie sire deoarece au prioritate mai mic a dec at intrarea I 4 . Iar, pentru cuv amtul de cod generat pe ie sire Y = y2 y1 y0 = 101, care corespunde activ arii intr arii I5 = 1, congurat ia cuv antului de intrare este de forma x 7 x6 x5 x4 x3 x2 x1 x0 = 001xxxxx, ceea ce nseamn a c a intr arile de la I 0 la I4 , care au prioritate mai mic a dec at I5 , pot activate sau nu (indiferente). Pentru codicatorul prioritar, ntre cuv antul X aplicat pe intrare si cel generat pe ie sirea Y , interpretate ca numere ntregi n binar natural, se poate scrie urm atoarea relat ie:

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

221

Y = log2 X

(2.10)

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

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

(2.11)

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

222

2.4. CLC PENTRU FUNCT II LOGICE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE


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

223

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

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

E_L

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

y3

y2

y1

y0

Figura 2.27 Structurarea unui codicator prioritar cu 16 intr ari ca o extensie serie de la un codicator prioritar cu 8 intr ari. Extensia la un codicator cu 32 de intr ari, adic a un CDCP2 5 :5, se poate obt ine 4 printr-o nseriere a dou a CDCP2 :4, ecare cu o structurare ca cea din Figura 2.27. Pentru o extensie care nu este o dublare a num arului de intr ari, de exemplu, la o extensie de la 16 intr ari la 24 intr ari se nseriaz a un un CDCP2 3 :3 cu un CDCP24 :4. Deoarece bitul al cincelea y4 , din cuv antul de cod de ie sire y4 y3 y2 y1 y0 , are valoarea 1 numai c and exist a o activare n intervalul de intr ari x 16 x23 , n rest are valoarea 0 numai, acest bit se obt ine din semnalul CV de la CDCD 2 3 :3. De asemenea, bitul y3 are valoarea 0 pe intervalul x15 x23 n rest se calculeaz a ca n Figura 2.27. Cu aceste observat ii se poate structura u sor codicatorul prioritar cu 24 intr ari. Ecuat iile logice pentru cel mai simplu CDCP21 :1, cu dou a intr ari I0 , I1 si ie sirea O0 , referit codicator prioritar elementar, CDCPE, se obt in din relat iile 2.11 prin particularizarea I2 = I3 = I4 = I5 = I6 = I7 = 0 O0 = E I i CV = E (I0 + I1 ) (2.12)

cu structurarea din Figura 2.26-b. Pornind de la CDCP21 :1, prin dublarea repetat a a num arului intr arilor si corespunz ator cre sterii cu un bit a cuv antului de ie sire, se pot deni si, respectiv, structura recursiv codicatoarele CDCP22 :2, CDCP23 :3, CDCP24 :4,..., CDCP2n :n. Se va nota pentru codicatorul CDCP2n :n, cu 2n intr ari si un cuv ant de cod de n bit i, dimensiunea respectiv ad ancimea prin S (n) si D(n). Structurarea recursiv a pornind de la CDCPE se poate face prin extensie paralel a. In [Stefan 00]se demonstreaz a c a pentru extensia paralel a caracteristicile obt inute sunt S (n) 2 n si D(n) O(2n ), adic a o dimensiune care depinde linar de num arul de intr ari (2 n ), accepatbil pentru implementare, si o ad ancime tot liniar a n funct ie de num arul de intr ari, deci performant a de vitez a sc azut a pentru n ridicat. Iar pentru structurarea serie, a unui CDCP2 n :n porinind de la CDCPE, caracteristicile sunt S (n) 2 n si D(n) O(n), de data aceast a rezult a si pentru performant a de vitez a o m arime acceptabil a. Obtenabil comercial exist a codicatorul cu 8 c ai de intrare cu ie sirea n cod binar natural, 74xx148, a c arui structur a si funct ionare pot reg asite n codicatorul generic prezentat n Figura 2.26.

224

2.4. CLC PENTRU FUNCT II LOGICE

2.4.3

Decodicatorul, DCD

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

1 0 0 0 0

x 0 0 1 1

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

DCD 2:4 x1 I 1
O3

y3

DCD 1:2 x0 I
0

O2 y2

O1 O0

y1 y0

a)

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

x0 I 0

O1

y1 E_L y0

E_L

O0

I0

O1 O0 DCDE

b)

c)

d)

Figura 2.28 Decodicatorul DCD2:4: a) tabelul de adev ar; b) reprezentare, schem a bloc; c) structur a compus a din decodicatoare elementare si port i AND; c) structurarea decodicatorului elementar, DCD1:2. Structura decodicatorului elementar DCDE (DCD1:2), cu o singur a intrare si dou a ie siri, se poate deduce pornind de la DCD2:4, prin eliminarea intr arii I 1 , e din structura circuitului, e din tabelul de adev ar ( si n acest ultim caz efectu and sinteza). In structura obt inut a pentru DCDE, Figura 2.28-d, dac a se elimin a semnalul

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

225

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

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

2.4. CLC PENTRU FUNCT II LOGICE

g=2 p=4

g=5/3 p=2

a) g=4/3 p=2 g=5/3 p=2 b) g=4/3 p=2 g=1 p=1

c)

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

n care introduc and cele dou a valori pentru H = 1 si pentru H = 12. Se obt in valorile: H=1 = N F 1/N + P D 12,65 9,65 12,25 H=12 = N F 1/N + P D 21,64 18,64 16,77

Varianta a b c

N F 1/N 3,65 3,65 5,25

P 9,0 6,0 7,0

N F 1/N 12,64 12,64 9,77

P 9,0 6,0 7,0

Deci pentru efortul electric H = 1 (Cin = 4, C0 = H Cin = 4) varianta b are nt arzierea cea mai mic a, iar pentru H = 12 (Cin = 4, C0 = 12 4 = 48) varianta c are nt arzierea cea mai mic a. = F 1/4 = (2, 96 12)1/4 = 2, 44. Pornind de la Dimensionarea variantei c (H=12) : f ultima poart a (inversor) care are C0 = 12 4 = 48 unit a ti, rezult a sarcina pentru nivelul al treilea (NAND2), Cin4 = 48 1/2, 44 = 19, 66. Sarcina pentru nivelul al doilea (NOR2) este Cin3 = (19, 66 4/3)/2, 44 = 10, 73, iar sarcina pentru primul nivel (NAND2) Cin2 =

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

227

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

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

228

2.4. CLC PENTRU FUNCT II LOGICE

V DD
4w 4w 2w 2w 2w 2w

w w w

w w

w w

x0 x0 x1 x1 x2 x2

O0

O1

O2

O3

O4

O5

O6

O7

Figura 2.30 Decodicator 3:8 tip Lyon-Schedwy (identicator de cod pe baz a de port i NOR).

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

229

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

si =
0

(1, 2, 4, 7),

Ci =
0

(3, 5, 6, 7)

sau expresiile complementare:


7 7

s i =
0

(0, 3, 5, 6),

i = C
0

(0, 1, 2, 4)

Pentru implementare cu un DCD3:8, care genereaz a tot i cei opt mintermi de trei variabile, va necesar doar s a se adauge n exterior nivelul de OR care colecteaz a termenii ce au valoarea 1. Se va face implementarea at at pentru cazul c and ie sirile decodicatorului sunt active n H c at si n L. In aceste sens se vor transforma potrivit expresiile pentru si si Ci . 1. Implementare pe baz a de DCD3:8 cu ie sirile active n H a) Expresiile si si Ci se scriu: si = P 1 + P 2 + P 4 + P 7 ; Ci = P 3 + P 5 + P 6 + P 7

Implementarea se reduce la colectarea mintermilor respectivi printr-o poart a OR4, ad augat a n exterior, ca n Figura 2.31-a. b) Uneori funct ia negat a se sintetizeaz a prin mai put ini minterimi (nu este cazul pentru celula sumator complet) ceea ce poate constitui un avantaj, mic sorarea dimensiuni i se scriu port ii ad augate n exterior. Expresiile pentru s i si C s i = P0 + P3 + P5 + P6 s i = P0 + P3 + P5 + P6 i = P0 + P1 + P2 + P4 i = P0 + P1 + P2 + P4 C C pentru care corespunde implementarea din Figura 2.31-b. Colectarea mintermilor corespunz atori se face printr-o poart a NOR4 ad augat a n exterior. 2. Implementarea pe baz a de DCD 3 : 8 cu ie sirile active n L a) Expresile si si Ci devin: 1 P 2 P 4 P 7 s i = P1 + P2 + P4 + P7 = P i = P3 + P5 + P6 + P7 = P 3 P 5 P 6 P 7 C Colectarea n exterior a mintermilor corespunz atori se face printr-o poart a NAND4, Figura 2.31-c. i se scriu sub forma: b) Expresiile negate pentru s i si C 0 P 3 P 5 P 6 i = P0 + P3 + P5 + P6 = P s i = P0 + P3 + P5 + P6 s i = P0 + P1 + P2 + P4 = P i = P0 + P1 + P2 + P4 C 0 P 1 P 2 P 4 C De data aceasta colectarea n exterior a mintermilor se face printr-o poart a AND4, Figura 2.31-d.

230
DCD 3:8

2.4. CLC PENTRU FUNCT II LOGICE


DCD 3:8

xi yi C i1 a)

22 21 20

O7 O6 O5 O4 O3 O2 O1 O0

Ci

xi yi C i1 b)

22 21 20

si

O7 O6 O5 O4 O3 O2 O1 O0

Ci

si

DCD 3:8

xi yi C i1 c)

22 21 20

O7 O6 O5 O4 O3 O2 O1 O0

DCD 3:8

Ci

xi yi C i1 d)

22 21 20

si

O7 O6 O5 O4 O3 O2 O1 O0

Ci

si

Figura 2.31 Implementarea celulei sumator complet pe un DCD3:8: a,b) pe decodicator cu ie siri active n H ; c,d) pe decodicator cu ie siri active n L.

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

231

DCD n/2:2n/2

x0 x1

I0 I1

O0 y0 y1 y
2n/2 1

O1

x n/21

2n/2

y 2n/2 +1

I n/21 O2n/2 1 y n/2 O0 I0 O1 O2n/2 1 DCD n/2:2n/2 I1 I n/21 x n/2+1 x n1


2n1

n/2

x n/2

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

232

2.4. CLC PENTRU FUNCT II LOGICE

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

Convertorul de cod este un circuit combinat ional care pentru un cuv ant de n bit i aplicat la intrare genereaz a un cuv ant de m bit i la ie sire, deci circuitul realizeaz a o aplicat ie (mapare) ntre o mult ime a cuvintelor de intrare cu valori n mult imea cuvintelor de ie sire. Denirea n acest mod a circuitului convertor de cod corespunde cu denit ia dat a n sect iunea 2.1 circuitului combinat ional cu ie siri multiple si este reprezentat ca schema bloc in Figura 2.1-a. Rezult a c a oricare CLC cu ie siri multiple este, n fond, un convertor de cod (transcodor).
Decodificator Iesiri=2 n=Intrari n:2n doar cate una (Nivel AND) singura activa Codificator (Nivel OR) Convertor de cod (ANDOR)

Figura 2.33 Organizarea de principiu pentru un convertor de cod. Structura unui convertor de cod const a dintr-o nseriere decodicator-codicator, adic a dou a nivele logice AND-OR, Figura 2.33. Codul de intrare de n bit i este aplicat nivelului de decodicare AND rezult and o singur a ie sire activ a din cele 2 n . Aceast a ie sire activat a este aplicat a ca o intrare pentru nivelul de codicare OR care genereaz a un cuv ant de m bit i pe ie sire. De fapt, nserierea decodicator-codicator formeaz a un circuit cu cele dou a niveluri logice necesare pentru modelarea oric arei funct ii logice sub form a de sum a de produse (AND-OR).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

233

2.4.4

Multiplexorul

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

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

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

2.4. CLC PENTRU FUNCT II LOGICE

I0 I1 Mux 2 n:1 I 2n2 I 2n1 O

d0 d1 d2 d3

I0 I1 I2 I3 E_L

MUX 4:1

E Sn1 S0 E_L Selectare c)

E S1 S0 X1 X0

d0 I 0
E_L

MUX 4:1 O y d0 I 0 d1 I 1
DCDE MUX 2:1

x1 x0 y 0

d1 I 1 d2 I2

y
O

0 0 0 d0 0 0 1 d1 0 1 0 d2 0 1 1 d3 d)

d3 I 3
S0

S1 e) E_L x 1

S0 x0 f)

E_L x 0

Figura 2.34 Multiplexorul, MUX: a) selectorul rotativ mecanic - analogul mecanic al multiplexorului; b) simbol de reprezentare pentru MUX2 n :1; c,d,e) schema bloc, tabelul de adev ar si structura circuitului MUX4:1; f) structura multiplexorului elementar, MUX2:1. si o poart a OR cu 2n intr ari. DCDn:2n din cadrul MUX2n :1 se compune din n decodicatoare elementare DCDE si 2n port i AND cu n + 1 intr ari (n intr ari de la cuv antul de selectare, E si o intrare de date d i ). Pentru structurarea n acest mod a MUX2n : 1, referit a multiplexor cu ad anacime constant a, se pot calcula caracteristicile de dimensiune SM U X (n) si ad ancime: SM U X (n) = n SDCDE + 2n SAN D(n+1) + 1 SOR(2n ) = n 3 + 2n (n + 1) + 1 2n O(n 2n )

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

235

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

236

2.4. CLC PENTRU FUNCT II LOGICE

d0 d1 d2 d3

MUXE

I0 I1

MUXE MUXE

I0 I1 I0 I1 I0 I1 I0 I1

I0 I1

MUXE

I0 I1

MUXE MUXE

I0 I1

d 2n4 d 2n3 d2n2 d 2n1 a) d0 d1 d2 d3 d4 d5 d6 d7

MUXE MUXE

I0 I1 I0 I1

MUXE

I0 I1

MUXE MUXE

x0

x n3

x n2

x n1

MUXE

b) 1xCI 12 conectari

x0 2xCI 28 conectari

x1 2xCI 23 conectari

x2 2xCI 18 conectari

c)

Figura 2.35 Structurarea arborescent a a unui multiplexor conform Denit iei 2.10: a) MUX2n :1 structurat din 2n MUX2:1; b) MUX8:1 realizat cu tranzistoare de trecere; c) variante de structurare a MUX8:1 pe baz a de MUX4:1 si MUX2:1

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

237

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

Aplicat ii cu circuite multiplexoare

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

238

2.4. CLC PENTRU FUNCT II LOGICE


MUX

2n porturi de intrare (kbiti)

0 2n:11 1 2n1
k1 0 2n:1 1

MUX

P0 P1 k k P 2n1 k a) V DD S 2n1 S 2n1 d 2n1 c)

k P0 P1 P 2n1 b)

0 n k 2 :1 1 2n1 Cuvantul de selectare comun pentru toate cele k x MUX 2 n:1 Ramura TSL, inversor

MUX

Port de iesire (kbiti)

x n1

x0

S1 linie de magistrala S1 d1

S0 S0 d0

Figura 2.36 Selectarea secvent ial a a datalor: a) reprezentare simbolic a a unui punct de selectare a datelor dintr-un sistem; b) selectarea unui port de intrare, dintrun num ar de 2n porturi cu lungimea de k bit i, si conectarea la un port de ie sire prin intermediul unui grup de k MUX2n :1; c) structur a n tehnologie CMOS de MUX2n :1 cu ie sirea TSL pentru comanda unei linii de magistral a.

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

239

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

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

240
4xMUX 2:1 DCD BCD / 7segmente

2.4. CLC PENTRU FUNCT II LOGICE

A0 A1 A2

G1 B0 B1 B2
1 0 1 0 1 0

+V
a b c d e f g

1 2

Y X

A3 1 0 B3 Port E A Port 74157 B Palier "1" selecteaza port A CLK T

4 W 8 7449

a b c d e f g

Afisor A a f g b

Afisor B a f g b

T<3,3ms O0 O1 O2 O3

Palier "0" selecteaza port B DCD 2:4 I0 I1 e d c e d c

E 1/2 74139

Figura 2.37 Structur a pentru multiplexarea informat iei pe a soare cu 7 segmente.

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

241
f 12
2

0 0 0 0

MUX 4:1 00 01 10 11

0 0 1 1

MUX 4:1 00 01 10 11

x1

0 1 0 1

MUX 4:1 00 01 10 11

x0

1 0 1 0

MUX 4:1 00 01 10 11

x0

1 1 0 0
2 f6 MUX 4:1 00

MUX 4:1 00 01 10 11

x1

1 1 1 1

MUX 4:1 00 01 10 11

x 1x 0

1 0 01 0 10 0 11

2 f8 MUX 4:1 00

x 1x 0

x 1+x 0 1 0 01 0 10 1 11

2 f9 MUX 4:1 00

x 1x 0

x 1+x 0 1 0 01 1 10 1 11

2 f 11 MUX 4:1 00

x 1x 0

x 1+x 0 1 1 01 0 10 1 11

2 f 13 MUX 4:1 00

x 1x 0

x 1x 0
MUX 4:1 00 01 10 11

f 14

x 1+x 0 1 1 1 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

x 1x 0

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

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

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

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

10 forme nebanale

0 0 01 0 10 1 11

2 f1 MUX 4:1 00

x 1x 0

x 1x 0

0 0 01 1 10 0 11

2 f2 MUX 4:1 00

x 1x 0

x 1x 0

0 1 01 0 10 0 11

2 f4 MUX 4:1 00

x 1x 0

x 1x 0

x 1x 0

0 1 01 1 10 0 11

x 1+x 0 0 1 1 1 11

x 1x 0 2 f7 MUX 4:1 00 x 1+x 0 01 10

6 forme banale

f0

f3

f5

f 10

f 15

242
f0
2

2.4. CLC PENTRU FUNCT II LOGICE

0 0 0 1

MUX 2:1

1 0 1 1

MUX 2:1

0 0 1 1

MUX 2:1

x0

1 0 0 1

MUX 2:1

2:1 x 2:1 x x0 x 1 1 x1 0 1 0 x1 1 x1 1 2 f1 MUX 2:1

MUX

MUX

1 0 1 1

2 f7 MUX 2:1

x0

x 1+x 0 1 0 x1 1

2 f 11 MUX 2:1

x0

x 1+x 0 x 1 0 1 1

2 f 13 MUX 2:1

x0

x 1+x 0 1 0 x1 1

2 f 14 MUX 2:1

x0

x 1x 0

x1 0 x1 1

2 f9 MUX 2:1

x0

x 1+x 0

x0

x0

x0

x0

x0

Figura 2.39 Implmentarea celor 16 funct ii de dou a variabile pe circuite MUX2:1 (variabila x1 este introdus a ca variabil a reziduu n coecient ii funct iilor fi2 ).
,, zero (frunze ) multiplexoarele 4:1 vor selectate de variabilele B, C av and ca si coecient } iar pe nivelul unu un multiplexor 4:1 pe intr arile de date valori din mult imea {0, 1, A, A selectat de variabilele D, E f (A, B, C, D, E ) = P1 + P2 + P3 + P4 + P5 + P6 + P7 + P10 + P14 + P20 + P22 + P28 = ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + +ABCDE + ABCDE + ABCDE + ABCDE + ABCDE + ABCDE = = (ABC + ABC )DE + (ABC + ABC )DE + (ABC + ABC + ABC + +ABC )DE + (ABC + ABC )DE = = (0 BC + 1 BC + 0 BC + A BC )DE + + A BC + 0 BC + 0 BC )DE + +(A B C +(A BC + A BC + 0 BC + 0 BC )DE

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

Exemplul 2.16 Fie urm atoarea funct ie de 5 variabile


31

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

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

10 forme nebanale

x1 0 0 1

2 f8 MUX 2:1

x0

x0 x 1+x 0 0 0 x1 1

2 f4 MUX 2:1

x0

x 1x 0 x 1 0 0 1

2 f2 MUX 2:1

x0

x0

x 1x 0

0 0 x1 1

x 1x 0

x1 0 x1 1

f2 6 MUX 2:1

x0

x 1+x 0

6 forme banale

f 15

f5

f 10

f3

f 12

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

243

0 1 0 A A A 0 0 A 1 A A

MUX 4:1

00 01 10 11 00 01 10 11 00 01 10 11

MUX 4:1

MUX 4:1

00 O 01 10 11

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

MUX 4:1

C
31

Figura 2.40 Implementarea printr-o structur a arborescent a numai cu MUX4:1 a funct ie F(A, B, C, D, E) =
0

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

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

244

2.4. CLC PENTRU FUNCT II LOGICE

ABC 000 001 011 010 110 111 101 100 DE 0 4 24 28 12 8 20 16 00 1 1 01 11 10 a) AB CE 0 00 01 11 C 10 c) V CC A I0 I1 I2 I3 I4 I5 I6 I7 20 21 22 G


1 1 3 2 5 7 6 13 15 14

1 1

1 1 1

25 27 26

1 1 1

29 31 30

1 1

21 23 22

1 1

17 19 18

A E B C B E b)

AE BC BE f

1 1

11 10

BE 00
4

BC A 11
12

AE 10
8

01 1 1 1

1 1 1

13

1 E 1

A 0 0 1 1 B 0 0 1 1 d)

V1 B di 0 0 1 C+E 0 E 1 C+E V4 E di 0 0 1 A 0 C 1 1

C 0 0 1 1 A 0 0 1 1

15

11

V2 E di 0 B 1 A+B 0 0 1 A+B V5 E di 0 BC 1 B 0 BC 1 1

A 0 0 1 1 B 0 0 1 1

V3 C di 0 B 1 BE 0 B+E 1 E V6 C di 0 AE 1 AE 0 1 1 E

14

10

B 74S151

V CC 1I 0 1I 1 1I 2 1I 3 A C 2I 0 2I 1 2I 2 2I 3 20 21 1G 2G

74S153

f f

1O 2 x MUX 4:1

2O

E C B e)

MUX 8:1

E B f)

Figura 2.41 Modalit a ti de implementare a funct iei f (A, B, C, D, E) =


31

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

245

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

Exemplul 2.17 Funct ia de patru variabile dat a n diagrama V-K din Figura 2.42-a s a se implementeze pe un MUX8:1 structurat ca n variantele din Figura 2.35-c.
CD AB 00 00 0 01 1 11 1 10 0 a)
(0) (4) (1) (5) (2) (6) (3) (7)

01 1 1 0 0

11

10 0

0 1 1 1

A variabila reziduu CD 00 01 11 10 B 0 0 0 A 1A A 1 1 1 A A A b) 2 x CI 11 conectari 0 (2) 00 0 (4) 01 1 (6) 10 11 1 A 3 (1) A 3 (3) A 3 (5) A 3 (7) 00 01 10 11
(0)

0 0 1 (4) 1 0 1 (6) A 3 (1) A 3 (5) A 3 (3) A 3 (7) c)


(2) 0 1 0 1 0 1

(0)

B B A A B
0 1 0 1

1 x CI 8 conectari B
0 1

1 x CI 7 conectari
0 1 0 1 0 1 0 1

C D 1 x CI 11 conectari 0 A 0 1 1 A A A f)
(0) (1) (2) (3) (4)

0 1 A A 0 1 A A d)

B A B A B 00 01 10 11 f

B 0 1 f

000 001 010 011 100 (5) 101 (6) 110 (7) 111 B C D

e)

Figura 2.42 Impelementarea unei funct ii de patru variabile pe diferite structur ari de MUX8:1.
Solut ie. Funct ia de patru variabile pentru a implementat a pe un MUX8:1 trebuie exprimat a cu o variabil a reziduu, deci diagrama V-K din Figura 2.42-a este transformat a n diagrama V-K din Figura 2.42-b. Prin aceast a transformare, pentru valorile indiferente ale lui funct iei se consider a at at 0 c at si 1 ceea ce determin a dou a valori ale coecientului n

246

2.4. CLC PENTRU FUNCT II LOGICE

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

Circuitul multiplexor prezint a o limitare intrinsec a termenii canonici produs, generat i pe nivelul AND, sunt utilizat i doar o singur a dat a (prin colectarea n interior la o poart a OR). In general, la implementarea unei funct ii costul implement arii, n mare parte, este determinat de generarea termenilor produs. Nu exist a aceea si situat ie la decodicator/demultiplexor unde termenii produs, datorit a faptului c a sunt colectat i n exterior n nivel OR, pot utilizat i n mai multe port i OR dac a au un fan-out corespunz ator, deci impelementarea mai multor funct ii. Solut ia care apare este cea a utiliz arii mpreun a a multiplexorului cu decodicatorul.
P 2(j1n) 1 DCD P0

Retea de porti OR

MUX 2 n:1

x j1

x n x n1 x 0

fi

Figura 2.43 Impelementarea unei funct ii fij pe o structur a compus a decodicator-multiplexor. Pentru o astfel de implementare combinat a, decodicator-multiplexor, se consider a o funct ie de j variabile fij . Se partajeaz a variabilele n n variabile ale funct iei

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

247

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

2.4.5

Demultiplexorul

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

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

2.4. CLC PENTRU FUNCT II LOGICE

E O 2n1 Sn1 S1S0 x n1 x1 x0 Selectare O0 y0 y2n1

E_L

O0 O1 E O 2 O3 S1 S0 x1 x0

DMUX 1:4

DMUX 1:2 n O0 O1

y0 y1

y0 y1 y2 y3

c)

E_L x 1x 0 Iesire 1 0 0 0 0 0 1 yi=0 y0=E_Lx 1x 0 y1=E_Lx 1x 0 y2=E_Lx 1x 0 y3=E_Lx 1x 0 x1 x0 E_L

O1 y1 O2 y2 O3 y3 DMUX 1:4 E_L

DMUX 1:2

O0 y0 O1 y1

0 1 0 0 1 1

DCDE x0 f)

d)

e)

Figura 2.44 Demultiplexorul, DMUX: a) distribuitorul rotativ mecanic analogul mecanic al demultiplexorului; b) simbol de reprezentare pentru DMUX1:2n ;c,d,e) simbol de reprezentare, tabel de adev ar si structura circuitului pentru DMUX1:4; f) structura demultiplexorului elementar, DMUX1:2. Funct ionarea logic a este direct a o ie sire este activ a dac a si numai dac a validarea este activ a si este aplicat cuv antul de selectare corespunz ator. Astfel ecuat ia logic a, n notat ii de semnale interne din Figura 2.45-b, de exemplu pentru O 5 , se scrie u sor: 1 S0 O5 = G1 G2A G2B S2 S
validare selectare

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

249

INTRARI G1G2A_L G2B_LS2 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 a)

S1 0 0 1 1 0 0 1 1

S0 0 1 0 1 0 1 0 1

O7 1 1 1 1 1 1 1 1 1 1 0

O6 1 1 1 1 1 1 1 1 1 0 1

O5 1 1 1 1 1 1 1 1 0 1 1

IESIRI O4 O3 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1

O2 1 1 1 1 1 0 1 1 1 1 1

O1 1 1 1 1 0 1 1 1 1 1 1

O0 1 1 1 0 1 1 1 1 1 1 1

74xx138 DCD 3:8 G1 G1 O0 G2A_L G2A O1 G2B_L G2B O2 O3 O4 S2 O5 x2 S1 O6 x1 S0 O7 x0 b)

y0_L y1_L y2_L y3_L y4_L y5_L y6_L y7_L

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

250

2.4. CLC PENTRU FUNCT II LOGICE

x n1 x n2...x 1x 0

S0

E DMUXE O1 O0

E DMUX 1:2 n1 S0 O 2n1 O1 O0 Sn2 y 2n1 y 2n1+1 y 2n1

E DMUX 1:2 n1 S0 O 2n1 O1 O0 Sn2 y 2n11 y1 y0

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

2.4.6

Memoria numai cu citire, ROM

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

251

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

252

2.4. CLC PENTRU FUNCT II LOGICE

Adresa 0 Linii de cuvant (locatii) 1 1 0 1 1 1 1 0 1

DCD n:2n O0 A0 I0 A1 O1 I1 A n1 I n1 O2n1 R R R R

Poarta OR

2n1

0 1

1 0 D1 D0 b)

Dm1 Dm2 a)

m coloane de date (linii de bit)

CS_L OE_L

Dm1 Dm2 D1 Cuvant de date D0 D1 Dm1 P A 0 A1 A n1 WRITE READ c) Magistrala de adresare Magistrala de control Magistrala de date d) t1 t2 Adresa nu este definita AA READ Bitii cuvantului de adresa sunt stabili pe magistrala de adresare D0 D1 Dm1 (2 nm) ROM A0 A1 A n1 CS OE

D0

Magistrala de date

Magistrala de adresare

Datele de la locatia adresata sunt valide pe magistrala de date t3

Figura 2.47 Memoria numai cu citire, ROM: a) structurare matricial a, de principiu, pentru informat ia sub form a de cuvinte binare; b) structurarea matriceal aa unui circuit ROM; c) conectarea la magistralele P a unui circuit ROM; d) diagramele de timp ale semnalelor de control pentru efectuarea operat iei de citire.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

253

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

254

2.4. CLC PENTRU FUNCT II LOGICE

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

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

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

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

Tabelul termenilor canonici ai functiei Variabile P i x 5x 4 x 3x 2x 1x 0 cod 4 00 0100 0 5 00 0101 1 15 0 0 1 1 1 1 5 20 0 1 0 1 0 0 0 29 0 1 1 1 0 1 4 41 1 0 1 0 0 1 2 42 1 0 1 0 1 0 3 45 1 0 1 1 0 1 4 47 1 0 1 1 1 1 5 53 1 1 0 1 0 1 1 58 1 1 1 0 1 0 3 61 1 1 1 1 0 1 4 63 1 1 1 1 1 1 3 a) x0 x1 x2 x3 x4 x5 d) ROM (644)biti 4(164)biti f y0 y1 y2 y3

Tabelul claselor de echivalenta Variabile cod 0 1 2 3 4 5 b) x 3x 2x 1x 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 z 2z 1z 0 000 001 010 011 100 101

Tabelul de adevar al functiei dupa compresie Variabile Iesiri P i x 5x 4 z 2z 1z 0 y3y2y1y0 4 5 15 20 29 41 42 45 47 53 58 61 63 c) 00 00 00 01 01 10 10 10 10 11 11 11 11 000 001 101 000 100 010 011 100 101 001 011 100 101 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

x0 x1 x2 x3 x4 x5 e)

ROM 1 z 0 (164) biti z 1 z2

ROM 1 324 biti 2(164)biti f

y0 y1 y2 y3

Figura 2.48 Explicativ a pentru sucesiunea etapelor n compresia variabilelor unei funct ii n scopul reducerii capacit a tii memoriei ROM folosit a pentru implementare.
adrese sunt specicate n lista mintermilor, pe un modul memorie compus din patru circuite

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

255

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

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

2.4.6.1

Realizarea circuitelor si modulelor ROM

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

256

2.4. CLC PENTRU FUNCT II LOGICE

si pentru ecare buer de ie sire TSL trei terminale rezult a: SROM (n,m) = SDCD(n) + m SOR(2n ) + m SBuf f er = n 2n + m 2n + m 3 O((n + m) 2n )

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

257

A n1 A n2 DCD n2:2 An
n2

Matrice programabila 2
n2

(Nivel de OR) n n 2 2 x m 2 1 biti Power On mx2


n1

Power On

A n 1 1 A n 2
1

Power On m x MUX 2 1:1


n

A0 CS_L OE_L a) 32K x 8biti A 14 A 13 A 12 A 11 A 10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 b) Dm1 Dm2 D0

DCD 9:512

512

29x6429x6429x6429x6429x6429x6429x6429x64 biti biti biti biti biti biti biti biti

64

64

64

64

64

64

64

64

MUX MUX MUX MUX MUX MUX MUX MUX 64:1 64:1 64:1 64:1 64:1 64:1 64:1 64:1

D7

D6

D5

D4

D3

D2

D1

D0

Figura 2.49 Decodicarea bidimensiona a a circuitului ROM: a) organizarea general a, de principiu, cu un DCDn2 :2n2 pentru activarea liniilor si cu un grup de arii anterioare mMUX2n1 :1 pentru selectarea coloanelor; b) particularizarea structur pentru o memorie ROM cu organizarea logic a de 32K 8 bit i.

258

2.4. CLC PENTRU FUNCT II LOGICE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

259

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

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


Linie de cuvant n+

n+

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

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

Substrat p Poarta flotanta Tranzistor de acces Linie de cuvant Fuzibil

Linie de bit b)

Iesire data

a)

Iesire data

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

260

2.4. CLC PENTRU FUNCT II LOGICE

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

261

Tabelul 2.1 Tipuri de circuite ROM Tipul ROM cu mascare ROM cu mascare PROM EPROM EEPROM Tehnologia NMOS, CMOS Bipolar Timp de acces AA 10-200ns <100ns Timp de nscriere > 2 3 s apt. > 2 3 s apt. 10 50s/byte 10 50s/byte 10 50s/byte Comentarii OTP, consum redus de putere OTP, consum ridicat, densitate scazut a OTP, consum ridicat Reutilizabil a, consum sc azut 10.000-100.000 limit a nscrieri/citiri

Bipolar NMOS, CMOS NMOS

<100ns 25-200ns 50-200ns

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

2.4.6.2

Module de memorie ROM

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

262

2.4. CLC PENTRU FUNCT II LOGICE

A 11A0

Magistrala de adrese CS ROM 0 D7D0 1K x 8biti CS ROM 1 D7D0 1K x 8biti CS ROM 2 D7D0 1K x 8biti CS ROM3 D7D0 1K x 8biti

Mapa adreselor memoriei A11A10A 9 A 1A 0 ROM 3 (FFFCFF)H ROM 2 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0

A 11

A 10

A 9A0

O0 O1 O2 O3

A 9A0

(BFF800)H

1 0

DCD 2:4

ROM 1 0 1 (7FF400)H ROM 0 0 0 (3EF000)H

A 9A0

READ

A 9A0

Magistrala de date a)

A 10A0

Magistrala de adrese CS ROM 0 1K x 8biti CS ROM 1 1K x 8biti Mapa adreselor memoriei A 1A 0 A10A 9A 8 1 1 1 1 1 0 0 0 1 1

A 9A0

D7D0

A 9A0 DCD 1:2

D7D0

A 9A0

CS ROM 2 D15D8 1K x 8biti CS ROM3 D15D8 1K x 8biti

1 ROM 1 1 si ROM 3 1 0 (7FF400)H 0 1 ROM 0 1 si ROM 2 0 0 (3EF000)H 0

0 0 1 1 0 0

1 0 1 0

0 1 0 0

READ

A 9A0 Magistrala de date D15D0

b)

Figura 2.51 Organizarea modulelor de memorie ROM prin: a) extinderea capacit a tii de adresare; b) prin extinderea simultan a at at a capacit a tilor de adresare c at si a lungimii cuv antului de date.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

263

2. Extinderea at at a capacit a tii de adresare c at si a lungimii cu antului. Folosind acela si circuit ROM, cu capacitatea 1Kx8bit i pentru realizarea unui modul de capacitate 2Kx16bit i, rezult a c a sunt necesare 2K 16bit i/1K 8bit i = 2 2 circuite; extinderea este at at pe adrese 2 1K = 2K adrese c at si ca lungime de cuv ant de date 2 8bit i = 16 bit i Figura 2.51-b. Extinderea de adrese este similar a ca la modulul anterior cu deosebirea c a de data aceasta n exterior se adaug a un DCD1:2, bitul de adres a A 10 pentru selectarea celor dou a segmente de adrese. Fiecare ie sire a decodicatorului selecteaz a simultan c ate dou a circuite de capacitate 1Kx8bit i, ROM0 cu ROM2 si ROM1 cu ROM3. La circuitele dintr-o pereche se aplic a acela si cuv ant de adres a A 9 ...A0 dar din unul se cite ste byte-ul superior iar din cel alalt byte-ul inferior din care se compune cuv antul de date pe magistrala de date. In aceste exemple de extindere se consider a c a ie sirile de date ale circuitelor ROM sunt de tip TSL. Uneori, c and sunt disponibili sucient i bit i n cuv antul de adresare, se elimin a DCD-ul exterior pentru extinderea capacit a tii de adresare, iar pentru selectarea a c ate unui circuit ROM este asignat (repartizat) un bit disponibil din cuv antul de adresa Avantajul acestui mod de adresare adresare liniar a n raport cu adresarea cu codicarea complet a este simplitatea; dar n acest caz segmentele de adrese acoperite de c atre ecare circuit ROM component nu se mai al atur a ntr-o zon a continu a din spat iul de adresare. De exemplu, dac a sunt disponibili n cuv antul de adresare bit ii A13 , A12 , A11 , A10 care sunt repartizat i pentru selectare respectiv a circuitele ROM3, ROM2, ROM1, si ROM0, pentru modelul de 4K din Figura 2.51-a, se obt in prin construirea mapei adreselor memoriei urm atoarele segmente neal aturate de adrese: ROM3, 2000H-23FFH; ROM2, 1000H-13FFH; ROM1, 0800H-0BFFH; ROM0, 0400H07FFH

2.4.7

Dispozitivele logice programabile, PLD

Dispozitivele logice programabile, PLD (Programming Logic Device) au ap arut ca o necesitate pentru eliminarea inconvenientelor pe care le prezentau circuitele logice universale MUX, ROM, n implementarea funct iilor logice sub form a de sum a de produse, si anume: generarea tuturor termenilor canonici produs de si, n general, nu sunt necesari tot i; formele minime/reduse ale funct iilor nu pot implementate. Pentru implementarea acestora trebuie parcurs drumul invers, adic a expandarea formelor reduse la form a canonic a; inexistent a facilit a tii de implementare a funct iei si prin negata acesteia, c and funct ia negat a este mai simpl a (unele circuite MUX au at at ie sirea negat a c at si nenegat a). 2.4.7.1 Matricea Logic a Programabil a, PLA

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

264

2.4. CLC PENTRU FUNCT II LOGICE

poate privit a ca ind similar a cu a memoriei ROM, numai c a de data aceasta nu este programat doar nivelul de OR (codicator) ci si nivelul AND (decodicator). Aceast a facilitate suplimentar a, de programabilitate pe matricea AND, face posibil a generarea numai a unui num ar p de termeni produs (p << 2n ), nu neap arat canonici de variabile de intrare. In afara celor dou a matrice programabile, n structurarea unui PLA mai apar: 1) un nivel de buerare pe intrare, care produce pentru ecare dintre cele n intr ari at at valoarea negat a c at si cea nenegat a (acest nivel din punct de vedere logic este compus din n decodicatoare elementare); 2) un nivel de i sire pe XOR care prin programare poate genera, e valoarea funct iei, e valoarea negat a a funct iei. Deci
Ii I0 I1 I n1 p termeni produs
I0 I0

Ii Ii Nod de matrice

Ii

Ii Ii

Matrice AND

I n1 programabila I n1

P0 P1

P p1 V CC

Nivelul inversor O0

Ii

Ii Ii Fuzibil ars pt. I

Nod neprogramat (simbol) Ii Ii Ii Fuzibil ars pt. I Ii Ii Ii Ambele fuzibile arse. Iesire indiferenta pentru I i

Matrice OR programabila

Om1 I i

Ii Ii

a)

m functii de n variabile b)

Nici un fuzibil ars I iI i=0

Figura 2.52 Matricea logic a programabil a, PLA: a) organizarea de principiu cu evident ierea celor dou a niveluri (matrice) programabile; b) simbolurile pentru reprezentarea st arii nodurilor din matricea decodicatoare. circuitul PLA este caracterizat de n intr ari, de p port i AND programabile ecare cu 2n intr ari (n variabile negate si n nenegate) si de m port i OR programabile cu p intr ari (care sunt ie sirile port ilor AND). Circuitul PLA poate structurat si pe matrice programabil a numai de tip NAND deoarece implementarea pe dou a niveluri NAND-NAND este echivalent a cu implementarea pe 2 niveluri AND-OR. In nodurile matricei AND, de dimensiune 2n linii de intrare si 2n p coloane si n nodurile matricei OR, de dimenisune p coloane (termeni produs obt inut i la ie sirile port ilor AND) si p m linii (m port i OR ecare cu p intr ari), modalit a tile de programare pot cele deja descrise la memoria ROM. Se pot realiza PLA-uri, de tipul OTP, c and n nod exist a o diod a nseriat a cu un fuzibil ori un tranzistor (bipolar

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

265

sau unipolar) nseriat cu un fuzibil, ca n Figura 2.50-a, sau se pot realiza PLA-uri cu reprogramare ( stergere pe cale electric a sau cu fascicol UV), c and n nod este prezent un tranzistor cu poarta otant a, ca n Figura 2.50-b. In aplicat ii, pentru descrierea nodurilor matricelor programabile, sunt folosite reprezent arile logice simbolice din Figura 2.52-b. Un nod n care exist a o leg atur a electric a ntre linie si coloan a este simbolizat cu un punct (nod programat), iar acest punct lipse ste n nodul n care nu exist a o leg atur a electric a (nod neprogramat). i , sunt programate Evident, dac a ambele noduri, at at pentru intrarea I i c at si pentru I
01 15 01 15 01 15

I0 I1 I 15 Buffere de intrare 0 Nivelul OR 1 (codificator) programabil 47 0 1 Numar de fuzibile= =848=384 47 0 1 47 Numar total de fuzibile=1536+384+8=1928 AND 0 AND 1 AND 47

Nivelul AND (decodificator) programabil Numar de fuzibile = =21648=1536

+5V OR0

O0

OR1

O1

OR7

O7 OE_L

Inversoare programabile

Figura 2.53 Structur a tipic a pentru un circuit PLA. poarta AND, n care intr a coloanele respective, va genera un termen produs a c arui i = 0). Poarta AND valoare este permanent zero (Ii I n care intr a at at nodul Ii c at i , dar ambele sunt neprogramate (fuzibilele au fost arse!), va genera un produs ce si I este indiferent n raport cu intrarea Ii (nu cont ine aceast a variabil a). O structur a tipic a pentru un circuit PLA (82S100, Signetics) este cea din Figura 2.53, alte variante obtenabile comercial pot deduse sau se recunosc n aceasta. Circuitul 82S100 prezint a 16 intr ari (I0 , I1 , ..., I15 ), 48 de port i AND ecare av and c ate 32 de intr ari. Se pot genera cel mult 48 de termeni produs ecare de maxim 16 variabile. Cele 8 funct ii care se pot inplementa, ca o sum a de maxim 48 termeni produs, pot generate la ie sirile O0 , O1 , ..., O7 , e negate, e nenegate prin programarea port ilor

266

2.4. CLC PENTRU FUNCT II LOGICE

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

267

WX 00 YZ 00 1 01 11 10 1 1

01

11

10 1

WX 00 YZ 00 1 01 11 10 1 1 1

01 1

11

10 1 1

WX 00 YZ 00 1 01 11 10 1 1

01 1 1 1 1

11

10 1 1

1 1

a=W+WZ+YZ+XZ WX 00 01 11 10 YZ 1 00 1 01 11 10 1 1 1 1

b=W+X+YZ+YZ WX 00 01 11 10 YZ 1 00 1 01 11 10 1 1 e=YZ+XZ

c=W+Z+Y+XZ WX 00 01 11 10 YZ 1 1 00 1 01 11 10 1 f=W+YZ+XY+XZ WX 00 01 11 10 YZ 00 1 1 01 11 10 1 1 1 1 1 1 1

d=XZ+YZ+XY+XYZ Z Y X W

W YZ XZ YX YZ XZ XY XZ X YZ

XYZ

g=W+YZ+XY+YX a b c d e f g

Figura 2.54 Sinteza si implementarea convertorului de cod BCD-7 segmente pe un circuit PLA (generic).

268

2.4. CLC PENTRU FUNCT II LOGICE

x y
MATRICE AND

P 1=xyz

P 2=xz P 3=xyz f 1=xyz+xyz f 2=xz

Sarcina (cu canal initial) V DD P1 P2 P3 f1 f2 f3

f 3=xyz+xz b) x y z

P 1=xyz P 2=xz a) MATRICE OR Aadevarat, Ffals a b a+b a b ab A A F F F A A F A F A F F A A A F F F F A A A F Logica pozitiva

P 3=xyz f 1=xyz+xyz

d)

a b ab A A F A F A F A A c) F F A Logica negativa

f 2=xz f 3=xyz+xz

Figura 2.55 Modalitate de implementare a unei matrice PLA: a) sub forma de dou a matrice de port i NOR; b,c,d) demonstrarea conversiei NOR - NOR (logic a pozitiv a) n NAND - NAND (logic a negativ a) ceea e este echivalent cu AND - OR

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

269

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

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

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

270

2.4. CLC PENTRU FUNCT II LOGICE

(1) I1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

(19) O1

(2) I2

(18) I/O 2 (17) I/O 3 (16) I/O 4 (15) I/O 5 (14) I/O 6

(3) I3 (4) I4 (5) I5 (6) I6 (7) I7

(8) I8

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

(13) I/O 7

(12) O8 (11) I 10

(9) I9

Figura 2.56 Structura tipic a de circuit PAL (PAL16L10).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

271

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

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

272

2.4. CLC PENTRU FUNCT II LOGICE

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

2.4.7.3

Circuitul de tip GAL

Circuitul GAL (Generic Array Logic) poate privit ca un circuit PAL la care s-au introdus anumite facilit a ti pentru o extindere a posibilit a tilor de utilizare (a fost introdus de Lattice Semiconductor). Codul de denumire este similar cu cel PAL, de exemplu GAL20V8 indic a 20 de intr ari si 8 ie siri.
CLK
0 0 1 2 3 4 5 6 7 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

CLK Macro celula logica de iesire I/O 4

I5

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

273

2.5

CIRCUITE COMBINAT IONALE PENTRU FUNCT II NUMERICE

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

2.5.1

Comparatorul

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

274

2.5. CLC PENTRU FUNCT II NUMERICE

relat ia de superioritate Fs , A > B exist a c and: A3 > B3 sau A3 = B3 si A2 > B2 sau A3 = B3 si A2 = B2 si A1 > B1 sau A3 = B3 si A2 = B2 si A1 = B 1 si A0 > B0 ceea ce duce la urm atoarea expresie logic a Fs = fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0 relat ia de inferioritate Fi , A < B , se deduce printr-un rat ionament asem an ator si are forma Fi = fi3 + fe3 fi2 + fe3 fe2 fi1 + fe3 fe2 fe1 fi0
fi fe fs A 0 0 1 1 B 0 1 0 1 fe fs 1 0 0 0 0 1 1 0 fi 0 1 0 0 A B fi A<B fe A=B fs A>B

A B a) A3 A2 A1 A0 B3 B2 B1 B0 Fi
s s

Comp. de 1 bit

A<B A=B

Fi

fs f e3 fs 3
2

fs f e3 fs 3
2

Fe f e3 fe 2 fe Fs f 1 e0 A>B s Fe

Fe A=B

s Fs

Fe

fe f e3 fs 2 f e1 f e3 f e2 fs 1 0 fe f e3 f e2 f e1
S FS
0

fe f e3 fs 2 f e1 Fs f e3 A>B f e 2 fs 1 0 fe f e3 f e2 f e1 s0 Fi A 3A 2A 1A 0 C0 B3 B2 B1 B0

Fi A<B

b) +5V s Fe
s Fi s Fs

A 7A 6A 5A 4 C1

B7 B6 B5 B4 Fe Fs Fi

74xx85

s Fe s Fs s Fi

F e (A=B) F s (A>B) F i (A<B)

74xx85

c)

Figura 2.59 Comparatorul: a) circuitul comparator pentru dou a cuvinte de un bit; b) circuitul comparator pentru cuvinte de patru bit i; c) comparator pentru cuvinte de un byte realizat pe baza circuitelor 74xx85. Evident c a pot calculate numai dou a din cele trei funct ii deoarece ecare dintre acestea se poate deduce din conjunct ia negatelor celorlalte dou a funct ii. Fe = Fi Fs Fi = Fs Fe Fs = Fe Fi

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

275

Totu si din rat ionamente de nc arcare si de a uniformiza timpii de propagare ecare dintre aceste funct ii se implementeaz a separat ca n Figura 2.59-b. Circuitul comparator de patru bit i trebuie s a aib a posibilitatea de a utilizat si ca o component a n realizarea comparatoarelor pentru cuvinte cu lungime multiplu de patru bit i. Pentru calculul ec arei dintre cele trei relat ii, de ordine ntre dou a numere, se porne ste de la rangurile superioare. Chiar dac a pe un interval continuu de bit i, al celor dou a cuvinte, relat ia de ordine este ndeplinit a evident c a relat ia pe cuv antul ntreg nu va ndeplinit a dac a pe intervalul de bit i superior acestui interval relat ia respectiv a nu este ndeplinit a. In consecint a , ecare circuit de patru bit i pentru calculul uneia dintre cele trei relat ii Fe , Fi si Fs trebuie s a primeasc a, ca o validare, de la circuitul intervalului superior de patru bit i, semnalul respectiv al relat iei de ordine F e s , Fi s s in and cont si de aceasta, relat iile anterioare de ordine se modic a n felul si Fs . T urm ator: Fe Fs Fi = fe3 fe2 fe1 fe0 Fe s = fs3 + fe3 fs2 + fe3 fe2 fs1 + fe3 fe2 fe1 fs0 + +fe3 fe2 fe1 fe0 Fs s = fi3 + fe3 fi2 + fe3 fe2 fi1 + fe3 fe2 fe1 fi0 + +fe3 fe2 fe1 fe0 Fi s

Circuitul 74xx85 este un comparator care modeleaz a aceste relat ii. In Figura 2.59c este prezentat a o structur a pe baz a de circuite 74xx85 pentru determinarea relat iilor de ordine ntre dou a cuvinte de un byte. Se observ a c a semnalele relat iei de ordine Fe , F i si Fs calculate pe circuitul comparator C1 al intervalului de bit i 7 4 se aplic a ator C0 , al intervalului sub forma semnalelor Fe s , Fi s , Fs s la circuitul comparator urm de bit i 3 0.

2.5.2

Sumatorul

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

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

276

2.5. CLC PENTRU FUNCT II NUMERICE

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

(2.17)

= Ci1 (Ai Bi ) (Ai Bi )

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

Se observ a c a spre deosebire de relat iile 2.17, c and componenta (A i Bi ) calculat a n expresia lui si era utilizat a si n expresia lui Ci , acum ecare funct ie este calculat a independent, ceea ce creaz a posibilitatea realiz arii unui lant al tuturor circuitelor generatoare de Ci independent de port i ale generatoarelor de sum a s i . Implementarea celulei (3, 2), conform relat iilor 2.18, este prezentat a n Figura 2.60-c; este desenat circuitul electric numai pentru Ci , cel pentru si este desenat n Figura 1.64-c. Realizarea celulei sumator complet necesit a 32 de tranzistoare. O alt a form a de exprimare pentru si si Ci este urm atoarea: si Ci = Ai Bi Ci1 + (Ai + Bi + Ci1 ) (Ai Bi + Ci1 (Ai + Bi )) = = Ai Bi Ci1 + (Ai + Bi + Ci1 ) C i1 = Ai Bi + Ci1 (Ai + Bi )

(2.19)

a de De data aceasta generatorul de sum a utilizeaz a expresia lui C i1 , calculat generatorul de transport urm ator. Structurarea corespunz atoare a celulei (3, 2) este prezentat a n Figura 2.60-d. Realizarea celulei necesit a necesit a 28 de tranzistoare i , deci deoarece n anumite organiz ari de sumatoare sunt necesare semnalele s i si C

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

277

A B

n
1

Ai

Bi Ci

A B

n
1

Ai

Bi

Ci

(3,2)

C i1

C i1 (3,2)

a)

si b)

si

A B

n
1

Ai Bi
1

Ai Bi C i1

Ai

Bi C i1

V DD Ai Bi Ci

Ci

A i A i Bi Bi C i1 C i1 C i1 C i1

Ai +Bi +Ci1
(3,2) c) S n n
1 1

(figura 1.64c) si si V DD A B C i1 A

A B

Ai

Bi

B A

Ci

Ci

C i1 Ci si

B C i1 si B A C i1 Ci

C i1 A (3,2) n si
1

A B B C i1 B

d)

si

Figura 2.60 Celule sumator complet, (3, 2): a) modul de conectare a celulei de rang i a unui sumator, la magistralele cuvintelor de nsumat (A,B ) si la magistrale cuv antului sum a S ; b) structura logic a a celulei conform relat iei 2.17; c,d) structura logic a si implementarea n tehnologie CMOS conform relat iilor 2.18 si 2.19.

278

2.5. CLC PENTRU FUNCT II NUMERICE

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

279

timpul de propagare al transportului este un parametru limitativ n viteza de lucru a sumatoarelor.


A B n n A n1 C n1
1 1

Bn1 C n2

Ai Ci

1 1

Bi C i1 C1

A1

1 1

B1 C0

A0

1 1

B0 C 1

(3,2)
1

(3,2)
1

(3,2)
1

(3,2)
1

S a)

sn1

si B A n n n A

s1 n B

s0

n Ai I i_L Bi_L I (i1)_L C n1 di S c) D

1 1 C 1 c

(3,2)

Sumator/Scazator pentru cuvinte de n biti n n

b)

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

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

280

2.5. CLC PENTRU FUNCT II NUMERICE

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

A+Bc+c=

(2.22)

Implementarea corespunz atoare este reprezentat a n Figura 2.61-c, pentru c = 0 se realizeaz a adunarea A = B , iar pentru c = 1 se realizeaz a sc aderea A B , deci o structurare de sumator/sc az ator, S/D, comandat. 2.5.2.2 Sumatoare de performant a ridicat a

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

281

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

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

care are avantajul c a propagarea pi odat a calculat a (ca sum a modulo doi) poate utilizat a si pentru calculul lui si dup a cum se observ a din urm atoarele dou a grupuri de relat ii aplicabile unei celule (3, 2): grup 1 gi pi Ci si = = = = Ai B i Ai B i gi + pi Ci1 pi Ci1 gi pi Ci si = = = = grup 2 Ai B i Ai + B i gi + pi Ci1 Ai Bi Ci1 (2.25)

Pornind de la relat ia 2.24, pentru un sumator de n bit i, exprim and transportul urm ator al unei celule sumator n funct ie de transportul init ial de intrare C 1 si de toate variabilele de propagare si generare ale celulelor anterioare se obt in expresiile:

282

2.5. CLC PENTRU FUNCT II NUMERICE

C0 C1 C2 .. Ci

= g0 + p0 C1 = g1 + p1 C0 = g1 + p1 g0 + p1 p0 C1 = g2 + p2 C1 = g2 + p2 g1 + p2 p1 g0 + p2 p1 p0 C1 = gi + pi gi1 + pi pi1 gi2 + + pi pi1 pi2 . . . p3 p2 p1 p0 C1

(2.26)

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

283

Ai Bi A i1 A0 Bi1 B0 C 1 a) Circuit pentru generarea transportului anticipat

pi=A i+Bi

si

Generare pi, gi

Generare Ci p3 g3 p2 g2 p1 g1 p0 g0 C3 23 C2

Generare si s3

C i1 A3 B3

C2 22 C1

V DD CLK p3 p2 p1 g1 g2 g3

C3

A2 B2

s2

C1 21 C0

A1 B1

s1

C0 C 1 20

p0 C 1 b) A n B n A n1 C n1

g0

A0 B0

s0

CLK

c)

C 1

A n1m Bn1

Bn1m

A 2m1 C 2m1

B2m1

Am

m bit STA
sn1 snm

m bit STA
s2m1

A m1 Bm C m1 sm

Bm1

A0

B0 C 1 s0

m bit STA
sm1

S n d)

Figura 2.62 Sumatorul cu transport anticipat, STA: a) schema de principiu pentru celula de rang i a unui STA; b) circuitul dinamic CMOS (nMOS) pentru generarea transportului anticipat C3 peste patru ranguri de sumator; c) organizarea unui STA de patru bit i cu identicare pentru ecare rang al celor trei generatoare componente (pentru pi si gi , Ci , si , iar calculul se face dup a grup 1 din relat iile 2.25); d) organizarea unui sumator cu transport progresiv, dar pe baz a de blocuri cu transport anticipat, STAB.

284

2.5. CLC PENTRU FUNCT II NUMERICE

este 2(n/m + 1) niveluri logice, deci intermediar ntre STP si STA, iar dimensiunea este n/m ori a unui STA de m bit i. Se pot concepe si alte organiz ari de sumatoare pe baz a de blocuri componente STA dar la care se elimin a transportul progresiv dintre blocuri si se realizeaz a pentru c ate un grup de blocuri, n exteriorul ec arui grup, un circuit pentru calculul transportului anticipat. De exemplu pentru numere de 64 bit i, dac a se utilizeaz a module STA de 4 bit i rezult a patru grupuri, ecare grup de c ate patru blocuri, deci patru circuite exterioare, ecare circuit exterior calculeaz a transportul anticipat pentru c ate un grup (pe patru STA de patru bit i). Apoi, peste cele patru circuite de calcul de transport anticipat se poate conecta n exteriorul lor un al cincelea asemenea circuit care, calculeaz a transportul anticipat pe ntreg sumatorul de 64 bit i [Wakerly 2000][Omondi 94]. Pentru calculul n exterior al transportului anticipat exist a circuitul 74xx182, Figura 2.76-c. b). Sumatorul cu lant Manchester, SM. Acest tip de sumator, unul din primele utilizate, realizeaz a un traseu separat pentru propagarea transportului. De fapt, si n organizarea unui sumator cu transport progresiv cu celule ca cea din Figura 2.60-b se realizeaz a o cale continu a (un lant ) de la C 1 p an a la Cn1 pentru propagarea transportului. Rezult a c a, un sumator cu lant Manchester este un sumator cu transport progresiv cu particularizarea c a pe traseul de propagare nu sunt port i ci comutatoare comandate. In Figura 2.63 sunt prezentate segmentele corespunz atoare celulelor de rang (i 1) si i din lant ul unui sumator Manchester.
Celula i "1" A iBi Ci A iBi "0" Sgi Spi A i+Bi Soi pi si A i1Bi1 Celula (i1) Sg(i1) Sp(i1) A i1+Bi1 So(i1) pi1 s(i1) C i2 A i Bi 0 0 1 1 1 0 Si

A i1Bi1 C i1

0 So=A iBi Spi=A i+Bi

1 Sgi=A iBi

Figura 2.63 Structurarea de principiu a unui sumator cu lant Manchester. Din tabelul de adev ar din aceast a gur a se deduce: pentru congurat ia bit ilor Ai Bi = 01 sau 10 comutatorul Spi (de propagare) conecteaz a Ci1 la Ci , iar pentru congurat ia Ai Bi = 11 comutatorul Sgi (de generare) determin a valoarea 1 pentru transportul urm ator, Ci . Pentru Ai Bi = 00 comutatorul S0i aplic a valoarea 0 pentru Ci . Evident, comenzile celor trei comutatoare, calculate cu port i AND, XOR si NAND cu cei doi bit i Ai , Bi sunt exclusive. Ca elemente comutatoare pot utilizate tranzistoare de trecere sau port i de transmisie CMOS astfel c a timpul de propagare este foarte redus. In anumite implement ari, pentru cre sterea vitezei, transportul se consider a activ n stare L, aceasta permite ca n intervalul dintre dou a operat ii de sumare lant ul (zic) de transfer (de exemplu, din trazistoare de trecere) s a e nc arcat la potent ial H,

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

285

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

286

2.5. CLC PENTRU FUNCT II NUMERICE

A 2m1 B2m1 C2m1


1

A m Bm A m1Bm1 s1 m Cin=1 Cm A 0 B0 C1

Sumator m biti
1 s2m1

C2m1 Selectare pentru urmatoarele doua blocuri in paralel

A 2m1

B2m1 A m

Sumator m biti 0 C2m1 0 s0 s2m1 m 1 0 1 0 s2m1 C31 sm

Bm Cin=0

Sumator m biti

a)

sm1

s0

lantul de propagare al transportului


Sumator 6 biti Sumator 7 biti Sumator 6 biti Sumator 5 biti Sumator 4 biti

C31

Cin=1 6

1 C25

Cin=1 7

1 C18

Cin=1 6

1 C12

Cin=1 5

1 C7

Cin=1 4

1 0

1 0

1 0

1 0

1 0

C3 4

Sumator 4 biti

C1

0 C31 Cin=0

Sumator 6 biti

0 C25 Cin=0

Sumator 7 biti

0 C =0 C18 in

Sumator 6 biti

0 C =0 C12 in

Sumator 5 biti

0 C7 Cin=0

Sumator 4 biti

6 b)

s31s26

s25s19

s18s13

s12s8

s7s4

s3s0

Figura 2.64 Sumatorul cu selectarea transportului, SST: a) la cele dou a module care funct ioneaz a n paralel, unul cu C in = 1 altul cu Cin = 0, se alege suma, deja calculat a, care corespunde valorii transportului C in sosit de la modulul anterior; b) organizarea unui SST pentru cuvinte de 32 bit i.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

287

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

Tabelul 2.3 Caracteristicile asimptotice ale unor tipuri de sumatoare Tipul de sumator STP STA SM SST Timpul sumare T O(n) O(log n) O(n) O( n) Aria consumat a pe siliciu ASi O(n) O(n log n) O(n) O(n)

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

2.5.3

Multiplicatorul

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

288

2.5. CLC PENTRU FUNCT II NUMERICE

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

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

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

289

A2 C 22 A4 A3 A2 A1 A0 x B4 B3 B2 B1 B0 A 4B0 A 3B0 A 2B0 A 1B0 A 0B0 A 4B1 A 3B1 A 2B1 A 1B1 A 0B1 Bj A 4B2 A 3B2 A 2B2 A 1B2 A 0B2 C ij A 4B3 A 3B3 A 2B3 A 1B3 A 0B3 A 4B4 A 3B4 A 2B4 A 1B4 A 0B4 Ai p6 p5 p4 p3 p2 p1 p0 p9 p8 p7 b) a) A4 A 4B0 A 4B1 A 4B2 A 4B3 A 4B4 p9 c) p8 A 3B4 p7 A 3B3 A 2B4 p6 A 3B2 A 2B3 A 1B4 p5 A 3B1 A 2B2 A 1B3 A 0B4 p4 p3 p2 A3 A 3B0 A 2B1 A 1B2 A 0B3

B2 s31 (3,2) s22

C 12

s(i1)(j1) (3,2) + AND sij A A2 A 2B0 A 1B1 A 0B2 A1 A 1B0 A 0B1 A0

Ai C (i1)j

B0

A 0B0 B1 B2 B B3 B4

p1

p0

Figura 2.65 Circuitul multiplicator matriceal: a) matricea produselor part iale obt inut a la inmult irea a dou a cuvinte A si B de cinci bit i; b) celula elementar a ((3, 2)) care modelelaz a un termen dintr-un produs part ial al inmult irii; c) structurarea unui circuit multiplicator matriceal pentru n = 5.

290

2.5. CLC PENTRU FUNCT II NUMERICE

Tm cel mai mic este de 13 m . Iar n cazul unui nmult itor pentru dou a cuvinte de n bit i se obt ine (3n 2)m Tm , adic a n O(n) ceea ce pentru lungimea actual a de 64 bit i, a numerelor reprezentate n virgul a x a, determin a viteze destul de sc azute. Modalit a ti de a mbun at a ti performant a de vitez a a multiplicatorului matriceal const a, e n mic sorarea num arului de produse part iale, deci de adun ari ale acestora, e prin efectuarea a c at mai multe adun ari de produse part iale n paralel sau e printr-o structurare f ar a transport progresiv a sumatoarelor. Din organizarea anterioar a de multiplicator matriceal, n tendint a de a cre ste performant a de vitez a, se poate obt ine cu mici modic ari un multiplicator reprezentat n Figura 2.66 denumit multiplicator matriceal cu salvarea transportului, MMST. M arirea performant ei de vitez a rezult a prin nsum ari de produse part iale n paralel si prin utilizarea de sumatoare cu salvarea transportului, SSLT.
A 4A 3A 2A 1A 0x B4 B3 B2 B1 B0 A 4B0 A 3B0 A 2B0 A 1B0 A 0B0 A 4B1 A 3B1 A 2B1 A 1B1 A 0B1 A 2B2 (3,2) A 1B3 (3,2) A 0B4 (3,2) (3,2) A 1B2 (3,2) A 0B3 (3,2) (3,2) AB4 SSLT3 A 0B2 (3,2) (3,2) AB3 SSLT2 AB0 AB1 AB2 SSLT1

A 4B2 A 3B2 Sumator cu salvarea transportului (3,2) (SSLT) A 4B3 A 3B3 A 2B3 (3,2) A 4B4 A 3B4 (3,2) A 2B4 (3,2) (3,2) A 1B4 (3,2)

Sumator cu propagarea transportului (SPT) p9 p8 p7 p6 p5 p4

SPT p3 p2 p1 p0 P

Figura 2.66 Organizarea multiplicatorului matriceal cu salvarea transportului, MMST. La organizarea matriceal a anterioar a a multiplicatorului suma part ial a dup a a i-a linie, a produsului part ial ABi1 , poate calculat a corect numai dup a ce s-a primit transportul urm ator de la sumarea part ial a de la linia anterioar a, adic a de la linia produsului part ial ABi2 . Aceste nt arzieri n determinarea corect a a sumelor part iale se datoreaz a faptului c a sumatorul de pe ecare linie este un sumator cu transport progresiv. Se poate ca transportul urm ator de la celula A i Bj s a nu mai e aplicat la celula urm atoare Ai+1 Bj , de pe aceea si linie, ci la celula urm atoare A i Bj +1 de pe linia urm atoare. In felul acesta se obt ine, n acela si timp, pe ecare linie a matricei la ecare celul a o informat ie corect a a celulei, dar exprimat a prin perechea: sum as si transport C . Structura aceasta de celule sumatoare, n paralel, ntre care nu exist a transport progresiv, de pe o linie a matricei care genereaz a perechile s, C , este referit a ca sumator cu salvarea transportului. Fiecare linie din matricea

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

291

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

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

292

2.5. CLC PENTRU FUNCT II NUMERICE

A= 110101x B= 101011 110101 110101 000000 110101 Triplet 2 000000 110101 100011100111

110101 110101 000000 Suma 1 01011111 Transport 1 01000000 Triplet1

110101 000000 110101 Suma 2 11100001 Transport 2 00101000 Triplet 2

Triplet 1

Suma 4 11011000111 Transp 4 01000100000 Produs 100011100111 a) A 5B5

Suma 3 Transport 3 Transport 2 Suma 4 Transport 4

11100010111 00010010000 00101000 11011000111 01000100000

Suma 1 01011111 Transport 1 01000000 Suma 2 11100001 Suma 3 11100010111 Transp 3 00010010000 A 1B1 A 0 B0

A 5B5 A 0B5 A 5B4 A 0B4 A 5B3 SSLT2 Transport 2 Suma 2

A 0B3

A 5B2

A 0B2 A 5B1 A 0B1 A 5B0 A 1B0 SSLT1 Suma 1

Transport 1 SSLT3 Suma 3

Transport 3 SSLT4

Transport 4

Suma 4

Sumator cu propagarea transportului (SPT) b) p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0

Figura 2.67 Multiplicatorul arbore tip Wallace pentru n = 5: a) modalitatea de formare a triplet ilor pentru ecare nivel al arborelui; b) structurarea arborelui pe baz a de sumatoare su salvarea transportului, SSLT, si un sumator cu propagarea transportului, SPT.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

293

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

Dup a cum reiese si din denumire, multiplicatorul tabelar este o tabel a (LUT) care cont ine toate produsele ntre dou a cuvinte de lungime de n bit i. Teoretic, acest tip de multiplicator ar trebui s a e cel mai simplu si mai rapid. Tabelul de adev ar pentru produsul a dou a cuvinte, A1 A0 si B1 B0 de doi bit i, este prezentat n Figura 2.68-a. Se pot deduce expresiile logice pentru ecare din cei patru bit i p 3 p2 p1 p0 ai cuv antului produs: p0 p1 p2 p3 1 A0 B 1 B0 + A 1 A0 B1 B0 + A1 A0 B 1 B 0 + A 1 A0 B 1 B 0 = A 0 B 0 =A 1 A0 B1 B 0 + A 1 A0 B1 B0 + A1 A 0 B 1 B0 + A 1 A 0 B1 B0 + A1 A0 B 1 B0 =A 0 = A 1 A0 B1 + A1 A0 B 0 + A1 A 0 B0 + A1 B 1 B0 +A 1 A 0 B 1 B 0 0 B1 + A1 B1 B 0 = A1 A 0 B1 B0 + A1 A0 B1 B 0 + A1 A 0 B1 B = A1 A = A 1 A0 B 1 B 0 .

care pot implemetate cu port i logice, cu DCD + OR sau cu un circuit ROM. Implementarea cea mai recomandat a pentru astfel de tabele este cu circuite ROM; cele dou a cuvinte de n bit i formeaz a, prin al aturare, adresa de 2n bit i a locat iei unde este stocat cuv antul produs, al celor dou a cuvinte, cu lungimea de 2n bit i. Limitarea, e de capacitata de adresare, e de lungime de cuv ant stocat, impus a de un anumit circuit ROM la implementarea unei tabele de nmult ire, poate dep a sit a prin segmentarea lungimii operanzilor. In acest sens, n Figura 2.68-b, este prezentat a nmult irea segmentat a a operanzilor 1234 5678. Fiecare operand s-a segmentat n dou a numere 12 cu 34 si 56 cu 78 si s-au efectuat nmult irile ecare cu ecare, apoi s-au sumat produsele segmentate obt inute pe dou a niveluri de sumator, evident la

294

2.5. CLC PENTRU FUNCT II NUMERICE

Intrari Iesiri (Adresa) A 1A 0 B1B0 p3p2p1p0 0 0 0 0 00 00 0 0 0 1 00 00 0 0 1 0 00 00 0 0 1 1 00 00 0 1 0 0 00 00 0 1 0 1 00 01 0 1 1 0 00 10 0 1 1 1 00 11 a)

Intrari (Adresa) A 1A 0 B1B0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

Iesiri p3p2p1p0 00 00 00 10 0 100 0 1 10 00 00 00 11 01 10 11 11 12 x 56 72 60 672

1234x5678 12 x 34 x 78 56 204 96 84 170 936 1904 672 1904 69104

34 x 78 272 238 2652 936 2652 96252

b)

A 158 A 158 A 70 A 158 A 158 A 70 A 70 A 70 8 8 8 8 8 8 8 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 ROM 64k x16bit 16 8 A 158 B158

69104 96252 7006652 A 150 B150 A 70 B158 A 158 B70 A 70 B70

Sumator, 16 bit 16 24

Sumator, 16 bit 16 Sumator, 24 bit


p7p 0

c)

p31p 8

Figura 2.68 Multiplicatorul tabelar: a) tabelul de adev ar pentru nmult irea a dou a cuvinte de doi bit i, A1 A0 B1 B0 ; b) modalit a ti de substituire a nmult irii numerelor cu multe cifre, prin segmentare, cu mai multe nmut iri de numere cu cifre mai put ine; c) structurarea circuitului pentru nmult irea a dou a cuvinte de 16 bit i, prin segmentare, pe baz a de circuite ROM si sumatoare.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

295

sumare s-a tinut cont de deplas arile necesare. Pentru segmentarea a dou a numere binare cu lungimea de 16 bit i A = A15 ...A1 A0 n A158 cu A70 si B15 ...B1 B0 n B158 cu B70 , n Figura 2.68-c se prezint a o variant a posibil a pentru implementarea tabelelor de nmult ire pe circuite ROM cu capacitatea de adresare de 64K. Tabelul nmult irii a dou a cuvinte binare de 8 bit i ncape ntr-o capacitate de 2 16 (2 8) bit i, adic a dou a circuite ROM de 64x8bit i conectate n paralel, n total sunt necesare 8 astfel de circuite ROM. Timpul de multiplicare Tm se compune din timpul de acces la memorie AA plus nt arzierea pe calea cea mai lung a determinat a de nivelurile de sumatoare. Dimensiunea multiplicatorului este dimensiunea/capacitatea memoriei 2 2n 2n deci n O(n 22n ) plus cea a sumatoarelor utilizate. Aceast a valoare ridicat a a dimensiunii limiteaz a nc a implementarea multiplicatorului tabelar. Probabil, cu cre sterea densit a tii de integrare simultan cu reducerea costului si acest tip de multiplicator poate deveni atractiv. O modalitate care poate duce la mic sorarea capacit a tii ROM necesar a pentru tabele const a n efectuarea indirect a multiplic arii prin logaritmare si antilogaritmare conform relat iei: A B = antilog (log A + log B ) Pentru aceast a implementare sunt necesare dou a tabele (una pentru stocarea logaritmilor si una pentru antilogaritmi) si un sumator. Aceste tabele au evident mai put ine intr ari dec at o tabel a care realizeaz a direct nmult irea (2 n intr ari) iar lungimea cuv antului stocat n aceste tabele depinde de nivelul de eroare care se accept a n rezultatul nmult irii (indicat pentru nmult iri de numere reprezentate n virgul a otant a, unde produsul obt inut de 2n bit i se reduce doar la n bit i). Timpul de multiplicare este determinat de accesul la cele dou a memorii (tabele) plus cel necesar sum arii.

2.5.4

Circuite de deplasare

Circuitele de deplasare (shift-are) transfer a ecare bit de intrare x i , i = 0, 1, 2, . . . , n 1, al unui cuv ant de n bit i, ntr-un bit de aceea si valoare n cuv antul de ie sire dar deplasat fat a de pozit ia i cu D pozit ii, conform relat iei: yiD = xi Mai exact, acest proces de deplasare al cuv antului de intrare X , ntr-un cuv ant de ie sire Y este caracterizat de urm atoarele m arimi: direct ia de deplasare (st anga/dreapta); distant a de deplasare D (exprimat a n binar prin num arul de pozit ii); condit iile de cap at. Prin condit iii de cap at se nt elege modul cum se procedeaz a cu bit ii care ies din intervalul de index al cuv antului [n 1, n 2, . . . , 1, 0], respectiv cu ce se completeaz a pozit iile r amase libere la cel alalt cap at al cuv antului.

296
x n1 xi x 1x 0 x n1

2.5. CLC PENTRU FUNCT II NUMERICE

Intrare Iesire

xi

x 1x 0

x n1

xi

x 1x 0

yi+D

y1+D y0+D

yn1D

yiD

yn1

yi yi1 y1y0

Deplasare stanga a) b)

Deplasare dreapta c)

Rotire dreapta

Figura 2.69 Modalit a ti de realizare a operat iei de deplasare/rotire: a,b) deplasare st anga/dreapta; c) rotire dreapta. Cuv antul c aruia i se aplic a deplasarea poate avea semnicat ia de num ar ( n care ecare pozit ie corespunde unui rang n exprimarea ponderat a n baza 2 a valorii num arului), sau are semnicat ia doar a unui sir de bit i (c and pozit ia nu determin a o pondere binar a). Corespunz ator acestor dou a semnicat ii, care le poate avea cuv antul deplasat, rezult a respectiv o deplasare aritmetic a sau o deplasare logic a. Printr-o deplasare aritmetic a cu D pozit ii (spre st anga) num arul respectiv este nmult it cu 2D iar printr-o deplasare aritmetic a cu D pozit ii (dreapta) num arul este mp art it cu 2D . Dac a num arul reprezentat binar este f ar a semn atunci at at la deplasarea st anga, Figura 2.69-a, c at si deplasarea dreapta, Figura 2.69-b, bit ii care ies din intervalul pozit iilor [n 1, n 2, . . . , 1, 0] se pierd n num arul reprezentat la ie sirea circuitului de deplsare iar pozit iile r amase goale n acest interval se completeaz a cu zero. La deplasarea logic a se procedeaz a la fel dar cuv antul supus deplas arii st anga/dreapta nu mai este interpretat ca un num ar ci doar ca un sir de bit i. La deplasarea numerelor cu semn, care au bitul de semn n pozit ia (n 1), acesta trebuie p astrat (extensia de semn) indiferent c a num arul este multiplicat cu 2 D D sau 2 . De exemplu, num arul 20|10 = 10100|2 iar -20 n complement de doi se obt ine 10100 01011 + 1 01100 1 01100 = [20]2 . La deplasarea spre dreapta a num arului [20]2 cu dou a pozit ii ( mp art ire cu 22 ) trebuie completat bitul de semn n cele dou a pozit ii din st anga, se obt ine: 111011 (1)2 5 +1 24 +1 23 +0 22 +1 21 +1 20 = 5. La deplasarea spre st anga cu o pozit ie (inmult ire cu 2), bitul de semn nu iese n afara intervalului de sase bit i (semnul trebuie p astrat), intervalul trebuie extins la sapte bit i, se obt ine: 1011000 (1)26 +0 25 +1 24 +1 23 +0 22 +0 21 +0 20 = 40. Exist a si cazul particular de deplasare st anga/dreapta c and pozit iile (n 1) si 0 se consider a vecine, circuitul de deplasare n acest caz este referit ca circuit rotitor, Figura 2.69-c. Prin rotire, deoarece bit ii care ies din intervalul de index la un cap at sunt introdu si la cel alalt cap at, nu r am an pozit ii libere deci nu se fac complet ari cu zero. Exemplic am rotirea cu sirul format din primele 8 litere din alfabet (sau substituit bit ii prin litere) ABCDEF GH care printr-o rotire la dreapta cu sase pozit ii (D = 6) se obt ine CDEF GHAB iar printr-o rotire la st anga cu dou a pozit ii (D = 2 = 8 6) se obt ine CDEF GHAB , adic a acela si cuv ant n ambele cazuri. Lungimea cuv antului de n bit i, n general, este un num ar putere a lui 2, deci n D este complementul fat a de doi [D]2 al lui D. Din aceast a observat ie rezult a c a o structur a de rotitor poate realiza at at rotirea spre st anga c at si rotirea spre dreapta, deoarece o rotire cu D (dreapta) este echivalent a cu o rotire spre st anga exprimat a de un num ar de pozit ii egal cu [D]2 . In exemplul dat, comanda de deplasare dreapta

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

297

cu sase pozit ii 6 = 110|2 se substituie cu comanda spre st anga cu dou a pozit ii spre st anga [6]2 = 8 6 = 1000 110 = 010 = 2. Analiz and pe Figura 2.69, n ce const a operat ia de deplasare, se constat a c a este o selectare a unui bit de intrare si transferul acestuia ntr-o alt a pozit ie la ie sire f ar a a-i modica valoarea. Ori, aceast a operat ie de selectare, de la intrare la ie sire, este proprie circuitului multiplexor. Dac a se extinde aceasta de la bit la nivel de cuv ant se constat a c a operat ia de deplasare poate realizat a cu o structur a de selectare secvent ial a a datelor cu multiplexoare ca n Figura 2.36-b. Un circuit de deplasare, pentru un cuv ant de n bit i, structurat ca un circuit de selectare a datelor, pe baz a de multiplexoare, este format din n multiplexoare n paralel, ecare multiplexor cu un num ar de intr ari de date n. Fiecare din cele n cuvinte obt inut, de exemplu, prin deplasarea st anga cu D pozit ii (D [n 1, 0]) este stocat ntr-un port iar bit ii acestui port sunt aplicat i la intrarea cu acela si num ar a tuturor celor n multiplexoare n paralel. La aplicarea cuv antului de selectare (deplasare) D, comun pentru toate intr arile de selectare ale multiplexoarelor, este selectat portul de intrare n care este nscris cuv antul deja deplasat cu D pozit ii spre st anga si aplicat la portul de ie sire. Structurarea anterioar a a circuitului de deplasare, ca selector de cuvinte ( nscrise deja n congurat ii deplasate) din n porturi de intrare, poate restr ans a la un singur port de intrare ca n Figura 2.70-a, unde portul de intrare este o magistral a de patru bit i pe care se aplic a cuv antul de deplasat X = x 3 x2 x1 x0 . La ie sirea circuitului de deplasare st anga de patru bit i pentru deplas arile de 0, 1, 2, 3 pozit ii se obt in respectiv urm atoarele cuvinte x3 x2 x1 x0 , x2 x1 x0 0, x1 x0 00 si x0 000. La o astfel de structurare, cu un singur port de intrare, bitul j (linia j a magistralei) nu se mai aplic a doar la intrarea j de date a unui singur multiplexor, ca pentru structurarea anterioar a, ci se aplic a la ecare din multiplexoare dar pe intr ari de date diferite (a se vedea, de exemplu, linia de magistral a x0 ). La deplasarea spre st anga a cuv antului de patru bit i n pozit iile r amase libere, unde n cazul general ar intra bit ii din pozit iile 1, 2, 3, . . . dar care n cazul acesta nu exist a, se introduc zero-uri prin conectarea la mas a a intr arilor corespunz atoare ale multiplexoarelor. Varianta de circuit rotitor de patru bit i este reprezentat a n Figura 2.70-b. Aici, se observ a clar c a ecare bit de intrare, linie de magistral a, se aplic a la ecare multiplexor dar pe intr ari diferite. La fel ca si la circuitul de deplasare, scriind cele patru cuvinte care se pot obt ine la ie sire x3 x2 x1 x0 , x2 x1 x0 x3 , x1 x0 x3 x2 si x0 x3 x2 x1 se deduce foarte u sor la care linie de magistral a se conecteaz a ecare intrare a multiplexoarelor. Caracteristicile de ad ancime si dimensiune ale circuitului de deplasare dreapta/ st anga, CDD/S, sunt determinate de cele n multiplexoare n felul urm ator: DCDD/S (n) O(1) SCDD/S (n) = n SM U X (n) O(n2 log n) rezult a si produsul dimensiune-ad ancime: SCDD/S (n) DCDD/S (n) O(n2 log n) (SM U X (n) O(n 2n )) aceast a relat ie dedus a n sect iunea 2.4.4 corespunde cazului c and n este num arul de intr ari de selectare la MUX2 n :1, dar n cazul CDD/S n este num arul de intr ari de date la MUXn:1 deci relat ia pentru dimensiune devine SM U X (n) = O(n log n)).

298
x3 x2 x1 x0 I3 I1 I0 MUX 4 : 1 I2 I3 I1 I0 MUX 4 : 1 I2

2.5. CLC PENTRU FUNCT II NUMERICE

D1 D0 y3 y1 a) y2 y0

I3

I1 I0 MUX 4 : 1

I2

I3

I1 I0 MUX 4 : 1

I2

x3 x2 x1 x0 I3 I2 I1 I0 I3 I2 I1 I0 I3 I2 I1 I0 I3 I2 I1 I0

D1 D0 y3 y1 b) y2 y0

MUX 4 : 1

MUX 4 : 1

MUX 4 : 1

MUX 4 : 1

Figura 2.70 Exemplu de structurare a circuitelor de deplasare/rotire pe baz a de multiplexoare: a) circuit de deplasare st anga pentru cuvinte de patru bit i; b) circuit rotitor de patru bit i. Dimensiunea mare pe care o implic a astfel de structurare a circuitului de deplasare (cea a circuitului rotor este la fel) poate ridica dicult a ti de implementare. In plus, ad ancimea atractiv a n O(1) poate mult nr aut a tit a de fan-out-ul ridicat. Fiecare bit al cuv antului de intrare comand a n intr ari de date ale multiplexoarelor si la fel, ecare intrare de selectare se aplic a la n multiplexoare. Cauza acestor neatr ag atoare performant e ale circuitului de deplasare cu structurarea anterioar a rezid a n realizarea pe un singur nivel, format din nMUXn:1, a tuturor celor n deplas ari comandabile prin cuv antul D = D k1 Dk2 ...D1 D0 , unde k = log2 n . Dar valoarea num arului de pozit ii de deplasat rezult a, ca la oricare num ar binar, printr-o sum a ponderat a dup a puterile lui 2 din cuv antul de control D. De exemplu, pentru un cuv ant de deplasat cu lungimea de 8 bit i o comand a de deplasare cu 6 pozit ii D = D2 D1 D0 = 110, 6 = 1 22 + 1 21 + 0 20 poate realzat a prin dou a deplas ari succesive nt ai o deplasare de dou a pozit ii (D 1 = 1) pe un nivel de multiplexoare, apoi cuv antul rezultat se aplic a pe urm atorul nivel de multiplexoare unde se realizeaz a o deplasare de patru pozit ii (D 2 = 1), deci la ie sire se obt ine o deplasare cu 6 pozit ii. In plus, un nivel numai cu o singur a valoare de deplasare, din cele n posibile se poate realiza numai cu multiplexoare nMUX2:1, iar aplicarea bit ilor cuv antului de intrare la intr arile multiplexoarelor MUX2:1 se face dup a o regul a foarte simpl a. Pentru nivelul format din nMUX2:1, comandat de bitul de control

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

299

D2 (unde se realizeaz a deplasarea cu 4 pozit ii, D 2 22 ), bitul i din cuv antul de intrare se aplic a la intrarea de date 0 a multiplexorului i precum si la intrarea 1 de date a multiplexorului i + 4 dac a deplasarea este st anga, ori la intrarea 1 de la multiplexorul i 4 dac a deplasarea este la dreapta. La acest nivel de deplasare comandat de D 2 , pentru D2 = 0 cuv antul de intrare va obt inut la ie sire f ar a deplasare (deplasare zero, 0 22 ), iar pentru D2 = 1 la ie sire se obt ine cuv antul de intrare deplasat cu patru pozit ii, 1 22 = 4. O structurare pe trei niveluri succesive de c ate 8 M U X 2 : 1 pentru un cuv ant de 8 bit i este prezentat a n Figura 2.71-a. Pentru un cuv ant de control D = 101 primul nivel va efectua o deplasare cu D 0 20 = 1 pozit ie, al doilea nivel o deplasare cu D1 21 = 0 pozit ii, iar ultimul nivel o deplasare cu D 2 22 = 4 pozit ii. In total 1+0+4=5 pozit ii.
8 Deplasare D02 0 sau 0x2 0 Deplasare D12 1 sau 0x2 1 Deplasare D22 2 sau 0x22 a) X D0 x3 y3 T03 T13 T23 T33

8 MUX 2 :1 8 8 MUX 2 :1 8 8 MUX 2 :1

x2

y2

D1

x1

T02

T12

T22

T32

y1

D2

x0

T01

T11

T21

T31

y0

Y i+D =X i

Y b)

T00

T10

T20

T30

Cuvantul de control: T 33T23...T 03T02T01T00

Figura 2.71 Structuri de circuite de deplasare/rotire: a) pe baz a de niveluri succesive de nMUX2:1; b) pe baz a de matrice de comutat ie. Ad ancimea circuitului de deplasare D CDD/D (n) cu niveluri succesive este egal a cu num arul de niveluri de multiplexoare log 2 n, D CDD/S (n) O(log n) si este mai mare dec at la structurarea anterioar a unde era constant a si egal a cu D CDD/S (n) = 4, iar fan-out-ul unui semnal de bit, ce se aplic a la intrarea unui nivel format din nMUX2:1, este egal cu doi indiferent de lungimea cuv antului de deplasat, n schimb, fan-out-ul unui bit Di , din cuv antul de control, r am ane tot n. Dimensiunea circuitului este: S CDD/S (n) = log2 n n SM U X 2:1 = 4 n log2 n O(n log n) rezult and produsul dimensiune-ad ancime n O(n log 2 n) S CDD/S (n) D CDD/S (n) = 4 n log2 n log2 n O(n log 2 n) produs care este mai mic dec at O(n2 log n) al variantei anterioare de structurare pe un singur nivel a circuitului de deplasare: SCDD/S (n) DCDD/S (n) > S CDD/D (n) D CDD/S (n)

300

2.5. CLC PENTRU FUNCT II NUMERICE

Aceast a relat ie admite aceea si interpretare, care s-a dat la analiza relat iei 2.8 n ceea ce prive ste corelarea ntre ad ancime si dimensiune c and se caut a un circuit de vitez a mai ridicat a (sporul de vitez a este mai mic dec at cre sterea n dimensiune n circuistic a). Similar, se poate structura si un circuit rotitor din niveluri succesive de multiplexoare, ecare nivel urm ator realiz and rotat ii cresc atoare dup a puterile lui doi, caracteristicile de ad ancime si dimensiunea sunt acelea si cu cele deduse anterior.
P 4Rotatie dreapta (S2S1S0=100) P 3Rotatie stanga (S2S1S0=111) P 2Deplasare logica stanga (S 2S1S0=010) P 1Deplasare aritmetica dreapta (S2S1S0=001) P 0Deplasare logica dreapta (S 2S1S0=000) x2 x3 MUX 6 x3 x3 0 8:1 x1 x2 x2 x3 MUX 5 8:1 MUX 4 8:1 MUX 3 8:1 MUX 2 8:1 MUX 1 8:1 MUX 0 8:1 S2 S1 S0 y1

Matricea de comutatie 4x4

y3

x0

x1

x1

x3

x3

y2

x0

x0

x3

x3

x2

x2

x2

x2

x1

x1

x1

x1

y0

x0

x0

x0

x0

1 2 3 DCD 2:4 D1 D0

Figura 2.72 Structurarea unui circuit shifter de 4 bit i pe baza unei matrice de comutat ie 4 4 si a unui sistem de selectare secvent ial a 7MUX8:1 Circuitul general care poate implementa cele mai multe proces ari asupra unui sir de bit i (deplasare logic a dreapta/st anga, rotat ie st anga/dreapta, deplasarea aritmetic a st anga/dreapta, inversarea ordinii, amestecare, extragere de bit i etc.) este matricea de comutat ie, Figura 2.71-b. In ecare nod ij al unei matrice de comutat ie n n exist a un element de comutat ie care conecteaz a coloana i la linia j , deci ecare coloan a i (linia de intrare xi ) poate conectat a la oricare linie de ie sire y j . Ca element de comutat ie poate utilizat a poarta CMOS de transmisie sau un tranzistor de trecere (uzual nMOS). Dezavantajul principal pentru o astfel de matrice de comutat ie este

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

301

num arul mare, n2 , de conexiuni individuale de comand a care trebuie aplicate la elementele de comutat ie din cele n2 noduri (un cuv ant de control cu lungimea de n2 bit i). In cazurile particulare, c and se implementeaz a pe matricea de comutat ie doar un singur tip de procesare (o singur a operat ie), num arul de comenzi individuale se restr ange. Pentru o matrice 3232 utilizat a, de exemplu, doar pentru rotire st anga vor necesare numai 32 de comenzi individuale corespunz atoare distant elor de deplasare cu 0, 1, 2, ..., 30, 31 pozit ii. Pentru o rotire st anga cu D pozit ii vor comandate elementele de comutat ie din n noduri astfel alese nc at un bit de pe coloana i s a e mapat pe linia j = i + D; rezult a c a pentru toate tranzistoarele din nodurile i, i + D, i = 0, 1, ..., 31 port ile vor cablate mpreun a si comandate cu semnalul obt inut la ie sirea unui decodicator c and pe intrarea acestuia se aplic a mum arul D (D = 0, 1, ..., 30, 31) n binar. Restr angerea doar la un singur tip de operat ie pe matricea de comutat ie reduce num arul de comenzi la n, dar semnalul cablat pentru ecare dintre aceste comenzi trebuie s a asigure un fan-out egal cu n. Totu si, exist a posibilitatea ca pe o matrice de comutat ie, de si cablat a doar pentru o anumit a operat ie, s a poat a realizate si alte operat ii prin modicare deja n exterior a cuv antului care se aplic a la intrare, ca n Figura 2.72, un astfel de circuit este referit ca shifter (Barrel Shifter). Acest circuit shifter cont ine o matrice de comutat ie compus a din 4 4 port i CMOS de transmisie care este cablat a doar pentru realizarea deplas arilor dreapta cu 0, 1, 2, 3 pozit ii, prin valorile cuv antului de control al deplas arii, D1 D0 , egale respectiv cu: 00, 01, 10, 11 (aplicate la intrarea unui DCD2:4). Dar, la intrarea matricei se aplic a pentru ecare tip de operat ie, realizat a de shitfter, un cuv ant obt inut deja prin modicarea cuv antului de intrare x 3 x2 x1 x0 . Fiecare cuv ant, modicat si nscris n unul din porturile P 0 , P1 , P2 , P3 , P4 , printr-un sistem de selectare compus din 7MUX8:1, este selectat prin cuv antul S 2 S1 S0 si aplicat la intrarea matricei de comutat ie. Deci, cuvintele de control S 2 S1 S0 si D1 D0 determin a, primul, tipul de operat ie, iar al doilea, num arul de pozit ii de deplasare. Acest shifter poate realiza urm atoarele operat ii: deplasare logic a dreapta/ st anga, rotat ie dreapta/st anga si deplasare aritmetic a dreapta. Deoarece la ecare MUX8:1 mai exist a trei intr ari de date neutilizate se mai pot selecta nc a trei porturi (nedesenate n gur a) n care se poate introduce cuv antul x 3 x2 x1 x0 modicat pentru implementarea a nc a trei operat ii.

2.5.5
2.5.5.1

Unitatea Aritmetic a si Logic a, ALU


Calea de date

Sistemele digitale de calcul, at at din punct de vedere al proiect arii si realiz arii lor c at si din punct de vedere al trat arii didactice, pot organizate/compuse din dou a p art i, denumite foarte general, calea de date si calea de control (vezi Figura 3.14). In calea de date se realizeaz a operat ii de tip logic sau aritmetic asupra cuvintelor binare (operanzi), iar calea de control selecteaz a operat ia care se efectueaz a n calea de date si pentru operat ia selectat a se comand a etapele de realizare. Organizarea unei posibile c ai de date este prezentat a n Figura 2.73-a. Aceast a cale de date cont ine, pentru realizarea conexiunilor n vederea transferurilor, trei magistrale, dou a pentru operanzii surs a A, B si una pentru operandul rezultat R. Operanzii surs a si operandul rezultat (destinat ie) sunt stocat i ntr-un bloc de registre (echiva-

302

2.5. CLC PENTRU FUNCT II NUMERICE

lentul zic al not iunii de port). Selectarea unui port (operand) pentru nscrierea cont inutului s au pe o magistral a surs a se realizeaz a cu un cuv ant de selectare S A sau SB aplicat unui grup de multiplexoare, care compun un bloc de selectare a datelor cu o structur a ca n Figura 2.36-b. In aceast a cale de date ecare bloc de selectare este compus din nMUX16:1, deoarece se consider a c a blocul de registre cont ine 16 porturi cu lungimea de n bit i, iar selectarea acestora se realizeaz a prin cuvintele de selectare de patru bit i SA = SA3 SA2 SA1 SA0 , SB = SB 3 SB 2 SB 1 SB 0 . Inscrierea operandului rezultat, de pe magistrala rezultat R, ntr-un port destinat ie se realizeaz a prin intermediul unui bloc secvent ial de distribut ie selectat prin cuv antul de selectare SD = SD3 SD2 SD1 SD0 ( n acest caz blocul de distribut ie este constituit din nDMUX1:16). Intr-o cale de date este absolut necesar a o unitate logico-aritmetic a, ALU (Arithmetic Logic Unit) si, uneori, aceasta este inseriat a cu un circuit de deplasare (barrel shifter). Unitatea logico-aritmetic a efectueaz a o operat ie asupra celor doi operanzi A, B aplicat i, prin cele dou a magistrale surs a, la intr arile sale si genereaz a operandul rezultat O care, nainte de a aplicat pe magistrala rezultat R, poate modicat n circuitul de deplasare prin: deplas ari aritmetice/logice, st anga dreapta, rotiri, extrageri de bit i sau gupuri de bit i. Valoarea de deplasare n shifter este prescris a prin cuv antul de control D care n acest caz are 5 bit i D 4 , D3 , D2 , D1 , D0 , deoarece se consider a lungimea de cuv ant procesat este egal a cu n = 32.
Magistrala sursa B Magistrala sursa A n SA n MUX 16 : 1 n Bloc de registre (16 porturi) (P 1,P 2,...,P 14,P 15) SB n n MUX 16 : 1 n n n CR EQ Z P OV SG Fanioane B A

A n1 A 0

Bn1 B0 F2

Unitatea Aritmetica si Logica (ALU) O n D4 D1 D0

F1 F0

SD a) Cod operatie b)

n DMUX

1:16

Circuit de deplasare (Barrel shifter) Magistrala rezultat R n Selectare sursa B Selectare destinatie D Valoare deplasare R n

n Selectare sursa A

s/d=1, stanga s/d=0, dreapta sf/r=1, shiftare sf/r=0, rotire

F 2 F 1 F 0 SA SA SA SA SB SB SB SB SD SD SD SD D4 D3 D2D1 D0 s/d sf/r 3 2 1 3 2 1 0 3 2 1 0 0

Figura 2.73 Calea de date: a) organizare posibil a a unei c ai de date cu trei magistrale; b) formatul binar al cuv antului de comand a a unei operat ii n calea de date (instruct iune n cod ma sin a).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

303

Proiectarea unei ALU porne ste de la nivelul arhitectural al acesteia, adic a de ,, ,, la ceea ce vede un utilizator/programator. Se vede interfat area/conectarea cu celelalte elemente din calea de date prin intr ari si ie siri. Intr ari la calea de date sunt cele dou a cuvinte de pe magistrala A si B si bit ii de control pentru operat ia de efectuat. Num arul operat iilor pe care le poate realiza o unitate logico-aritmetic a este de la c ateva p an a la zeci; n organizarea din gur a se pot realiza doar opt operat ii deoarece cuv antul de control are numai 3 bit i F 2 , F1 , F0 . Ie sirile din ALU sunt: cuv antul rezultat O cu lungimea de n bit i si semnalele indicatorii de condit ii (care nscriu anumite fanioane/ag-uri, bit ii de condit ii). Indicatorii de condit ii specic a anumite relat ii ntre cei doi operanzi sau anumite caracteristici valorice ale operandului rezultat. Se poate introduce un indicator pentru oricare condit ie dac a este necesar a a utilizat a n evaluarea corectitudinii operat iei efectuate sau pentru condit ionarea operat iilor urm atoare. Ca exemplicare, enumer am sase din bit ii de condit ii cei mai des utilizat i: CARRY(CR) este bitul care indic a dep a sirea de capacitate la reprezentarea numerelor ntregi pozitive. Intr-un sistem de calcul exist a o lungime maxim a n a unui cuv ant cu care se poate opera. Pentru o lungime mai mare nu exist a suportul zic de a reprezentat a. Rezult a c a se poate opera numai cu numere care pot reprezentate cu cei n bit i. O operat ie sau un num ar care necesit a mai mult dec at n bit i genereaz a o dep a sire de capacitate. Bitul CR are valoarea transportului urm ator Cn1 din cuv antul de ie sire, adic a de la rangul n 1 la rangul n, de la pozit ia n la n + 1 (care nu exist a). EQUAL(EQ) este bitul care indic a identitatea celor dou a cuvinte A si B . Valoarea sa se genereaz a prin port i NXOR, Ai Bi , asupra ec arei pereche de bit i care apoi se colecteaz a ntr-o poart a AND. ZERO(Z) este bitul care indic a faptul c a rezultatul operat iei este un cuv ant compus din n zerouri. Valoarea sa se genereaz a prin colectarea tuturor bit ilor cuv antului rezultat ntr-o poart a OR. PARITY(P) este bitul care indic a paritatea sau imparitatea cuv antului rezultat dac a este interpretat ca num ar. Valoarea sa este identic a cu valoarea bitului de rang zero al cuv antului O. OVERFLOW(OV) este bitul de dep a sire de capacitate la reprezentare numerelor cu semn. In reprezentarea numerelor cu semn ( n complement fat a de 1, n complement fat a de 2, n m arime si semn) bitul de semn (bitul cu indice n 1) are valoarea 1 pentru un num ar negativ si valoarea 0 pentru un num ar pozitiv. Dep a sirea de capacitate, Cn2 , apare ca un transport de la bitul cel mai semnicativ al num arului (bitul cu indicele n 2) la bitul de semn si dac a bitul de semn indic a o operat ie eronat a (de exemplu adunarea a dou a numere pozitive genereaz a un num ar negativ). Un algoritm simplu, care determin a existent a dep a sirii la numere cu semn reprezentate n complement fat a de doi, este: neidentitatea dintre valoarea transportului C n2 de la On2 la On1 si valoarea transportului Cn1 generat de la bitul de semn On1 (Cn1 = Cn2 ). In consecint a , valoarea sa se calculeaz a simplu printr-o poart a XOR, OV = Cn1 Cn2 .

304

2.5. CLC PENTRU FUNCT II NUMERICE

SIGN(SG) este bitul care indic a semnul cuv antului rezultat, O, c and este interpretat ca num ar cu semn, SG On1 . Se xeaz a pentru ALU din gur a codurile de selectare si mnemonicile operat iilor corespunz atoare n felul urm ator: F2 F1 F0 = 000, AND (produsul logic); Oi = Ai Bi , i = 0, 1, ..., n 1 F2 F1 F0 = 001, OR (sum a logic a); Oi = Ai + Bi , i = 0, 1, ..., n 1 F2 F1 F0 = 010, TFM (trecere f ar a modic ari); O = A F2 F1 F0 = 011, DCR (decrementare); O = A 1 F2 F1 F0 = 100, XOR (sum a modulo 2); Oi = Ai Bi , i = 0, 1, ..., n 1 F2 F1 F0 = 101, ADD (adunare modulo 2n , operanzii sunt numere ntregi); O = A + B F2 F1 F0 = 110, SUB (sc adere modulo 2n , operanzii sunt numere ntregi); O = A B F2 F1 F0 = 111, INC (incrementare); O = A + 1 Operanzii surs a sunt referit i prin num arul de port din care se citesc si sunt select a ti prin cuvintele SA si SB , iar operandul rezultat este referit prin num arul portului destinat ie n care se nscrie, selectabil prin cuv antul S D (cele 16 porturi sunt notate cu P1 , P1 , ..., P14 , P15 ). Comanda c aii de date pentru realizarea unie operat ii este descris a de o instruct iune care are urm atoarea form a ( n limbaj de asamblare): MNEMONIC OPERATIE PD , PS 1 , PS 2 ; PD (PS 1 OPERATIE PS 2 )

cu urm atoarea semantica: asupra operanzilor surs a din porturile surs a P S1 si PS 2 se efectueaz a operat ia OPERATIE iar rezultatul se nscrie n portul destinat ie P D . De exemplu, pentru efectuarea operat iei de adunare ntre operanzii din porturile P 13 si P7 , iar operandul rezultat s a e nscris n portul P 5 , se scrie urm atoarea instruct iune n limbaj de asamblare: ADD P5 , P13 , P7 (2.27)

Instruct iunea din limbaj de asamblare este convertit a (asamblat a), folosind codurile operat iilor si codurile cuvintelor de selectare din calea de date, ntr-un cuv ant binar care comanda efectuarea operat iei respective n calea de date. Formatul acestui cuv ant reprezentat n Figura 2.73-b este compus din urm atoarele 7 subc ampuri: 1. codul operat iei F2 F1 F0 2. codul portului surs a A: SA3 SA2 SA1 SA0 3. codul portului surs a B : S B 3 SB 2 SB 1 SB 0 4. codul portului destinat ie D : SD3 SD2 SD1 SD0

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

305

5. valoarea deplas arii D3 D2 D1 D0 , deplasarea st = 0 6. s/d anga s = 1, deplasarea drepata d 7. sf /r , shiftare sf = 1, rotat ie r = 0. Pentru instruct iunea anterioar a (ADD P5 , P13 , P7 ),introduc and n ecare c amp codul corespunz ator, rezult a urm atorul cuv ant binar de comand a (instruct iune n limbaj/cod ma sin a), scris cu spat ii ntre subc ampuri: 101 1101 0111 0101 0000 0 0

Acest cuv ant de comand a, prin bit ii s ai ecare subc amp de bit i aplicat pentru comand a la elementul corespunz ator din calea de date realizeaz a n calea de date procesarea cont inut a n instruct iunea (dat a n limbaj de asamblare) din relat ia 2.27. 2.5.5.2 Organizarea si implementarea unei unit a ti aritmetic a si logic a

Dup a denirea arhitecturii ALU, n contextul unei c ai de date, se trece la stabilirea organiz arii interne a acesteia, adic a la alegerea acelor p art i componente care pot realiza toate funct iile denite prin arhitectur a. Exist a diferite p art i componente/blocuri care pot realiza aceea si funct ie, ceea ce nseamn a c a pot mai multe variante de realizare intern a, deci pentru aceea si arhitectur a pot exista mai multe organiz ari. Elaborarea unei organiz ari, care s a asigure suport pentru toate operat iile efectuate de ALU poate g andit a n dou a variante. In prima variant a se concepe ALU ca o asamblare de blocuri/circuite specializate, Figura 2.74-a. Fiecare bloc realizeaz a o operat ie din repertoriul ALU asupra cuvintelor de intrare. Blocul circuitelor aritmetice, nCA, realizeaz a operat iile de adunare, sc adere, incrementare/decrementare primind deja calculate, pentru ecare pereche de bit i Ai si Bi , valorile pentru sum a modulo de la blocul nXOR si valorile transporturilor anticipate Ci1 de la circuitul de generare a transporturilor anticipate, CGTA. Transporturile anticipate sunt calculate pe baza semnalelor intermediare de generare gi si propagare produse pi de blocurile nAND si nOR, care asigur a si operat iile logice corespunz atoare n ALU. Aceste blocuri specializate opereaz a simultan dar numai ie sirea unuia este selectat a, prin blocul de multiplexoare nMUX8:1, la ie sirea ALU, prin aplicare codului operat iei pe intrarea de selectare F2 , F1 , F0 . Valorile bit ilor de condit ii se determin a u sor, din bit ii cuv antului de ie sire, conform denit iilor date mai sus. De fapt, aceast a organizare poate asimilat a ca un bloc de selectare secvent ial a a datelor pe baz a de multiplexoare, Figura 2.36-b. Dimensiunea unei ALU organizat a n aceast a modalitate apare ca o sum a a dimensiunilor blocurilor specializate si a blocului multiplexor de selectare, ultimul av and ponderea cea mai ridicat a n valoarea dimensiunii. In a dou a variant a se concepe ALU ca o punere n paralel a n unit a ti logicoaritmetice elementare, ALUE. Fiecare ALUE constituie o felie (slice) din ALU care realizeaz a toate operat iile din repertoriul ALU, dar numai pentru cuvinte de 1 bit. Printr-o optimizare a celulei ALUE, cu aceast a organizare, se poate obt ine o dimensiune mai redus a dec at la prima variant a de organizare. La ambele variante de ALU, deoarece se compun din blocuri cu ad ancime constant a, performant ele de vitez a pot mbun at a tite prin modul de realizare al blocurilor CGTA. Se va prezenta n continuare structuri de ALUE.

306
A B n n n n OR 32 F2 F1 F0 CR Z OV EQ P SG n n A n1 Bn1 Bn2 A n2 pi n n n n

2.5. CLC PENTRU FUNCT II NUMERICE

n n CA

n AND 32 gi

n XOR 32

C i1

F1 F0 CGTA

n MUX 8:1 O n B1 B0 gi pi Ci n

a) B A F2 F1 F0

A1

A0

ALU n1 ALU n2 O CR Z OV

ALU

ALU 1 ALU 0

CGTA

b)

EQ

SG

Figura 2.74 Variante de organizare a unei ALU: a) organizare ca o asamblare de blocuri/circuite specializate ntr-o structur a de selectare secvent ial a de date pe baz a de multiplexor; b) organizare din n felii de unit a ti logico-aritmetice de un bit conectate n paralel.

2.5.5.3

Structurarea unei ALU elementare

Funct iile unei unit a ti logico-aritmetice elementare, ALUE pot realizate cu ajutorul a diferite structuri de circuite. Este ales un anumit circuit de ALUE n funct ie de performant ele dorite sau modalitatea de implementare. Implementarea se poate face n oricare variant a expus a n acest capitol (cu port i logice, DCD + port i logice, multiplexoare, ROM, PLA; cu componente discrete sau integrate). Exist a o multitu,, dine de trasee n realizarea unui sistem digital. Pentru funct iile pe care trebue s a le realizeze un sistem se poate deni o anumit a arhitectur a. Aceast a arhitectur a poate sust inut a de mai multe organiz arii si la r andul ei, o organizare poate implementat a prin mai multe structuri de circuite. Ca exemplicare, pentru organizarea ALU, compus a din ALUE, se vor prezenta dou a modalit a ti de structurare pentru celula de logico-aritmetic a: ca un circuit logic combinat ional implementat prin port i logice si ca un circuit realizat pe un ROM sub forma unui tabel, LUT. O celul a de unitate logico-aritmetic a poate g andit a ca o scalare la lungimea de cuv ant de 1 bit a unei organiz ari ALU de n bit i, de exemplu, pornind de la varianta de organizare din Figura 2.74-a. In acest sens, o variant a de circuit ALUE este cea din Figura 2.75-a care poate privit a ca o structur a de selectare secvent ial a a datelor pe baz a de multiplexor, vezi Figura 2.36-b, dar din porturi de un bit. Operat iile realizate, dar la nivel de un bit, sunt acelea si ca cele denite n sect iunea anterioar a (Figura 2.74-a) si, de asemenea, sunt utilizate acelea si coduri pentru cuv antul F 2 F1 F0 de

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

307

Adresa Continut F 2 F 1 F 0 A i Bi C i1 Oi C i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n n A n1
3 1

Ai

Bi "1" F2 00 01 10 11 MUX 4 : 1 F1 F0 C i1 pi gi 001 100 011 101 110 111 F2 F1 F0

XOR

ADD b) A B

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1

0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1

TFM 010 000 MUX 8 : 1 a) Oi

Bn1
1

A n2
3 1

Bn2
1

A1
3 1

B1
1

A0
3 1

B0
1

3 0

F2 F1 F0

c) A n n

C n1

LUT n1 64 2 bit On1

C n2

LUT n2 64 2 bit On2 n O

C2

LUT 1 64 2 bit O1

C1

LUT 0 64 2 bit O0

B A n1
3 1

Bn1
1

A n2
3 1

Bn2
1

A1
3 1

B1
1

A0 3

B0 F 2 F1 F0 3 1 1 CGTA 0

C n2 LUT n1 64 1 bit On1 d) LUT n2 64 1 bit

C n3 LUT 1 64 1 bit O n O1

C0 LUT 0 64 1 bit O0

On2

Figura 2.75 Structuri de unit a ti logico-aritmetice elementare ALUE: a) ALUE structurat a ca un circuit de selectare de date pe baz a de multiplexor; b) tabelul de adev ar pentru operat iile XOR si ADD implementate n LUT; c) ALU structurat a pe baz a de LUT-uri cu transport progresiv; d) si cu transport anticipat.

308

2.5. CLC PENTRU FUNCT II NUMERICE

selectare la ie sirea MUX8:1 a unei operat ii logice sau aritmetice. Pentru operat iile de produs logic, sum a logic a si sum a modulo 2 sunt introduse n circuit respectiv port ile AND, OR si XOR, selectate respectiv prin codurile 000,001 si 100. Codul de selectare 010 las a cuv antul A s a treac a nemodicat, TFM. Pentru aplicat iile aritmetice care utilizeaz a si transportul anterior Ci1 (DCR - 010, ADD - 101, SUB - 110, INC 111) este introdus a o a dou a poart a XOR. Cu un al doilea multiplexor 4 : 1, selectat i , 0 potrivit tot cu bit ii F1 , F0 , se genereaz a pentru bitul Bi urm atoarele valori: Bi , B si 1. Incrementarea, INC, se realizeaz a ca o sumare cu unu A + B + C 1 = A + 0 + 1, deci pentru Bi se genereaz a valoarea 0 prin inversorul comandat XOR c and F 2 = 1. Pentru decrementare, DCR, valorile lui Bi si C1 trebuie s a e inversate fat a de incrementare deci se genereaz a pe inversorul comandat B i = 1 c and F2 = 0. Port ile AND si OR genereaz a si variabilele intermediare g i si pi care se aplic a circuitului de generare a transportului anticipat, CGTA, neinclus n acest desen. Ponderea n dimensiunea ALUE este determinat a de partea de selectare, adic a de multiplexoare. Pentru implementarea ALUE sub forma unui LUT nscris ntr-un ROM se porne ste de la tabelul de adev ar a ec arei operat ii ce trebuie realizat a. Variabilele tabelului sunt intr arile n ALUE adic a intr arile de selectare F 2 , F1 , F0 , perechea de bit i Ai , Bi si transportul anterior Ci1 , toate acestea formeaz a un cuv ant de 6 bit i care va utilizat ca un cuv ant de adresare la circuitul ROM pe care se implementeaz a LUT i (ecare LUT va avea 64 de adrese). Bit ii nscri si la o locat ie din ROM sunt cei doi bit i de ie sire din ALUEi : Ci si Oi , care acum sunt generat i din LUTi . In Figura 2.75-b este prezentat tabelul de adev ar numai pentru implementarea operatorilor AND si XOR. ,, Implementarea unei ALU cu felii , const and din LUT-uri nscrise n circuite ROM cu capacitatea de 64 2, bit i este reperezentat a n Figura 2.75-c. Structurarea ALU este cu transport progresiv, bitul de transport C i citit din LUTi se aplic a la LUTi+1 , deci un timp de calcul n O(n). Se poate reduce acest timp de calcul pe ALU n O(1) dac a se structureaz a ca n Figura 2.75-d. Transportul urm ator C i nu se mai cite ste din ROMi (capacitatea ROM-ului pentru un LUT se reduce la 64 1bit) ci se genereaz a de catre un CGTA pe baza tuturor perechilor de bit i A i si Bi . Ca unitate logico-aritmetic a de patru bit i poate utilizat si circuitul MSI 74xx181 reprezentat n Figura 2.76-b, iar operat iile realizate sunt date n tabelul din Figura 2.76-a. Prin cuv antul de cod F3 F2 F1 F0 se poate selecta una din cele 16 operat ii aritmetice asupra celor doi operanzi A = A3 A2 A1 A0 si B = B3 B2 B1 B0 c and valoarea semnalului de control este M = 0, respectiv se poate selecta una din cele 16 operat ii logice c and M = 1. In expresiile funct iilor din acest tabel produsul logic si suma logic a sunt notate prin simbolurile si + iar pentru adunare si sc adere sunt folosite cuvintele plus si minus. Operat iile logice (M = 1) sunt realizate numai ntre perechile Ai si Bi (i = 0, 1, 2, 3), nu exist a semnal de transport de intrare C 1 = 0, de asemenea nu exist a transporturi ntre ranguri. In schimb n operat iile aritmetice (M = 0) pe l ang a perechile Ai si Bi trebuie considerat transportul de intrare C1 si transporturile ntre ranguri. Structura intern a a circuitului 74xx181 este realizat a pentru transport anticipat. Atent ion am faptul c a semnalele de intrare A 3 L A0 L, B3 L B0 L si cele de n starea L. Se poate ca la circuitul 74xx181 s a se ie sire O3 L 0 L sunt active considere aceste semnale active n starea H dar atunci expresiile funct iilor date n tabelul anterior se modic a in felul urm ator. Ca circuit logic, M = 1, la aplicarea

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

309

Intrari de selectare F3 F2 F1 F0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 a)

Functii Aritmetice ( M=0 ) Logice ( M=1 ) =A minus 1 plus C 1 =A =A B minus 1 plus C1 =A+B =AB minus 1 plus C1 =A+B =1111 plus C 1 =1111 =A plus (A+B) plus C 1 =AB =AB plus (A+B) plus C 1 =B =A minus B minus 1 plus C1 =A+B =A+B plus C 1 =A+B =A plus (A+B) plus C 1 =AB =A+B =A plus B plus C 1 =AB plus (A+B) plus C 1 =B =A+B plus C 1 =A+B =A plus A plus C 1 =0000 =AB plus A plus C 1 =AB =AB =AB plus A plus C 1 =A plus C in =A

6 5 4 3 8 7 2 1 23 22 21 20 19 b) 18 13 3 4 1 2 14 15 5 c) 6

F0 F1 G F2 P F3 M C 1 A=B A0 B0 74x181 O0 A1 O1 B1 O2 A2 O3 B2 A3 C out B3 C 1 G G0 P0 P G1 P 1 74x182 G2 C1 P2 C2 G3 C3 P3

17 15 14 9 10 11 13 16 10 7 12 11 9

A 15 A 14 A 13 A 12 B15 B14 B13 B12 74xx181 ALU 3 G G3 G d) P P3 P O1512

A 11 A 10 A 9 A 8 B11 B10 B9 B8 74xx181 ALU 2 G C3 P

A7 A6 A5 A4 B7 B6 B5 B4 74xx181 ALU 1 G C2 P

A3 A2 A1 A0 B3 B2 B1 B0 C in 74xx181 ALU 0 G C1 P

C 1

C 1

C 1

C 1

G2 P 2

G1 P 1

G0 P 0 C 1

74xx182 O118 O74

O30

Figura 2.76 Realizarea unit a tilor logico-aritmetice pe baz a de circuite standard: a) tabelul de adev ar si ( b) reprezentarea circuitului unitate logic a-aritmetic a de patru bit i 74xx181; c) reprezentare circuitului pentru calculul transportului anticipat, 74xx182; d) structurarea unei ALU de 16 bit i prin punere n paralel a 4 circuite 74xx181 iar calculul transportului anticipat se realizeaz a n exterior cu circuitul 74xx182.

310

2.5. CLC PENTRU FUNCT II NUMERICE

unui cod de selectare F3 F2 F1 F0 se obt ine o funct ie logic a dual a (relat ia 1.2) celei care este indicat a n tabel pentru acel cod de selectare. In schimb, ca circuit aritmetic, M = 0, la aplicarea unui cod de selectare se obt ine o funct ie aritmetic a, dar aceasta este diferit a fat a de cea dat a n tabel pentru acel cod de selectare (este necesar a se cunoa ste documentat ia tehnic a a circuitului). Exist a si dou a ie siri G L si P L care exprim a o generare si o propagare peste toate cele patru ranguri ale circuitului 74xx181 si care se calculeaz a conform relat iilor 2.25 si 2.26 astfel: G L = (g3 + p3 g2 + p3 p2 g1 + p3 p2 p1 g0 ) P L = p 3 p2 p1 p0 (2.28)

Aceste dou a ie siri permit extensia, n implementarea de ALU, pentru cuvinte multiplu de patru bit i prin utilizarea de circuite 74xx181. Consider and ecare circuit 74xx181 numai ca o pereche de bit i, pentru care sunt determinate valorile variabilelor intermediare G si P , se pot calcula cu aceste variabile intermediare valorile de transport anticipat pe un grup de circuite. De exemplu, pentru un grup de patru circuite ALU (ALU0 ,ALU1 ,ALU2 ,ALU3 ) de patru bit i ecare, pe baza perechilor de variabile intermediare de la ecare circuit (G0 , P0 ),(G1 , P1 ),(G2 , P2 ),(G3 , P3 ) precum si a transportului de intrare C1 , se pot calcula valorile de transport anticipat C 0 , C1 , C2 respectiv la intr arile de la ALU1 ,ALU2 si ALU3 . Pe baza relat iilor 2.25 si 2.26 pentru C0 , C 1 si C2 se obt in expresiile: C0 = G0 + P0 C1 C1 = G1 + P1 G0 + P1 P0 C1 C2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C1 Circuitul MSI 74xx182, reprezentat n Figura 2.76-c, calculeaz a transporturile anticipate C0 , C1 , C2 pentru un grup de patru unit a ti ALU. Acest circuit mai genereaz a si o pereche (G, P ) de variabile intermediare pe un grup de patru unit a ti ALU, aceast a pereche ind necesar a pentru calculul transportului anticipat n exteriorul unui grup de patru circuite MSI 74xx182. O exemplicare de realizare a unei unit a ti logico-aritmetice de 16 bit i pe baza a 4 circuite ALU de 4 bit i (74xx181) este prezentat a n Figura 2.76-d. Circuitul pentru calculul transportului anticipat 74xx182 calculeaz a pe baza perechilor (G, P ) de la ecare unitate logico-aritmetic a (74xx181) valorile de transport anticipat pentru ALU3 , ALU2 si ALU1 . Dar, unitatea logico-aritmetic a se poate extinde de la 16 bit i la 64 de bit i, iar aceast a structurare poate g andit a ca ind format a din 4 grupuri de c ate 16 bit i. In exteriorul acestor patru grupuri de c ate 16 bit i se realizeaz a, cu un circuit 74xx182, o cale pentru calculul transporturilor anticipate, necesare grupurilor ce cont in rangurile de bit i 31 16, 47 32, 63 48, pe baza perechilor G, P de grup generate de cele 4 circuite 74xx181 precum si a transportului init ial C 1 . Deci, la aceast a ALU de 64 de bit i exist a n exteriorul unui grup de patru circuite ALU, de patru bit i, o cale realizat a cu un 74xx182 pentru calculul anticipat al transportului pe grup. Apoi, n exteriorul acestor patru circuite 74xx182 exist a nc a o cale pe un alt 74xx182 pentru calculul anticipat al transporturilor ntre grupuri. In total 16 circuite ALU 74xx181 si 5 circuite pentru calculul transportului anticipat 74xx182.

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

311

2.6

PROBLEME

P2.1 Pentru un cuv ant de n bit i, xn1 xn2 . . . x1 x0 , s a se implementeze funct ia paritate f (=1 pentru un num ar impar de bit i 1, =0 pentru un num ar par de bit i 1 n cuv ant) cu port i XOR2. In ce condit ii acelea si structuri de circuit, n care se face substitut ia XOR2 N XOR2 calculeaz a aceea si funct ie? P2.2 Pentru circuitele din gur a s a se deduc a expresiile f 1 , f2 ,f3 si f4 , apoi s a se construiasc a tabelele de adev ar.
A B C D a) A B C D b) A B f2 C B D c) A B C D d)

f1

f3

f4

P2.3

S a se demonstreze echivalent ele grace din gur a.

P2.4 S a se complementeze si s a se aduc a la forma minim a expresiile logice urm atoare: a) f = [(AB )A] [(AB )B ], funct ia A B exprimat a prin operatorul NAND; b) f = (A + B + C )(AB + CD) + BCD; c) f = (ABC + BCD) + (ACD + B C D + BCD). P2.5 S a se minimizeze urmatoarele funct ii utiliz and diagrame V-K: a) f1 (A, B, C ) = b) f2 (A, B, C, D) = c) f3 (A, B, C, D, E ) =
7 0 (0, 2, 3, 4, 5, 7); 15 0 (0, 1, 4, 5, 9, 11, 13, 15); 31 0 (0, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 28).

Pentru punctele a) si b), s a se exprime forma minim a at at ca sum a de produse c at si ca produs de sume. P2.6 S a se minimizeze urm atoarele funct ii utiliz and diagrame V-K: 7 a)F = ABC + AB C + ABC ; b)F (A, B, C ) = 0 (1, 3, 5, 6, 7); c)F (A, B, C, D) = ABC + AD + BCD; 15 d)F (A, B, C, D) = 0 (1, 3, 4, 5, 6, 9, 11, 12, 13, 14); 31 e)F (A, B, C, D, E ) = 0 (0, 2, 8, 10, 16, 18, 24, 26); f )F (A, B, C, D) = A B CD + ABCD + ABCD + AB CD;

312
15

2.6. PROBLEME

g )F (A, B, C, D) = 0 (2, 3, 4, 6, 7, 10, 11, 12); 31 h)F (A, B, C, D, E ) = 0 (0, 2, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19, 24, 25, 26, 27) P2.7 S a se identice implicant ii primi esent iali pentru urm atoarele expresii: 15 a) f (A, B, C, D) = 0 (1, 5, 7, 8, 9, 10, 11, 13, 15); 31 b) f (A, B, C, D, E ) = 0 (5, 7, 9, 12, 13, 14, 15, 20, 21, 22, 23, 25, 29, 31). P2.8 Utiliz and diagrama V-K, s a se arate c a funct ia: 15 f1 (A, B, C, D) = 0 (0, 2, 5, 7, 8, 10, 13, 15) 15 este negata funct iei: f2 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14), 15 si este identic a cu funct ia: f3 (A, B, C, D) = 0 (1, 3, 4, 6, 9, 11, 12, 14) P2.9 S a se minimizeze urm atoarele funct ii utiliz and diagrame V-K: 15 15 a) f (A, B, C, D) = 0 (2, 3, 4, 5, 13, 15) + 0 d(8, 9, 10, 11); 15 15 b) f (A, B, C, D) = 0 (1, 5, 7, 9, 13, 15) + 0 d(8, 10, 11, 14); 15 15 c) f (A, B, C, D) = 0 (0, 2, 4, 8, 10, 14) + 0 d(5, 6, 7, 12); 31 d) f (A, B, C, D, E ) = 0 (1, 3, 4, 6, 9, 11, 12, 14, 17, 19, 20, 22, 25, 27, 28, 30)+ 31 + 0 d(8, 10, 24, 26); P2.10 Se consider a funct ia: 15 15 f (A, B, C, D) = 0 (3, 6, 11, 14, 15) + 0 d(2, 5, 12, 13) S a se exprime ca o funct ie de trei variabile si ca o funct ie de dou a variabile: a) utiliz and tabelul de adev ar al funct iei; b) utiliz and diagrama V-K. P2.11 Pentru funct iile reprezentate n diagramele V-K din gur a s a se scrie forma minim a.
B f1 A
0 0 1 1

C C 1 f5

AB
00 0 1 01 11 10

AB CD
00 01 11 10

00

01

11

10

0 0

d 0

D d

1 d

d 1 f9

0 E E 0

0 E 1 1

d d d d

E E 0 1

B f2

A
0 0 1 1

C f6

AB
00 0 1 01 11 10

0 d

d C

1 d

E 1

d 1

B f3

A
0 0 1 1

C f7

AB
00 0 1 01 11 10

AB CD
00 01 11 10

00

01

11

10

0 1

C 0

0 D

1 0

d 1

d 1 f 10

F 0 0 d

0 0 0 0

0 0 1 d

d F 1 1

B f4 a)

A
0 0 1 1

C f8

AB
00 0 1 01 11 10

C 1 d

DE 1 DE d

P2.12 S a se introduc a variabile reziduu n expresia coecient ilor funct iilor de la problema P2.6, astfel nc at n ecare funct ie s a e numai dou a variabile. Reducet i num arul de variabile at at folosind tabelul de adev ar c at si diagrama V-K. Pentru

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

313

funct iile de dou a variabile rezultate din diagramele V-K s a se scrie forma minim a. Pentru aceste forme minime s a se compare rezultatele cu cele obt inute la problema P2.6. P2.13 S a se realizeze sinteza unui circuit convertor de cod din codul zecimal codicat binar BCD 2-4-2-1 n codul de a sare pe matrice cu sapte segmente. Matricea de sapte segmente este TIL-312. Toate cele sapte LED-uri au anodul alimentat comun de la +5V. Un segment este luminat c and pe catodul s au este comandat potent ialul logic ,, 0 . P2.14 Funct ionarea a dou a motoare M1 si M2 este comandat a de trei ntrerup atoare: S1 , S2 si S3 . Motorul M2 funct ioneaz a tot timpul c at cele trei ntrerup atoare sunt nchise. Motorul M1 funct ioneaz a dac a e S2 , e S1 (dar nu si simultan) sunt nchise iar S3 este deschis.S a se realizeze circuitul logic combinat ional care implementeaz a aceast a comand a. P2.15 S a se analizeze, utiliz and diagramele de timp ale semnalelor si diagramele V-K, dac a circuitul din gura (a) poate genera hazard static 1. In cazul aparit iei hazardului, s a se propun a solut ia de eliminare.
A B C G1 G2 G4 A AB G5 f B C f

G3

a)

b)

P2.16 S a se implementeze funct ia: f (A, B, C, D) = 15 0 (1, 3, 4, 5, 7, 10, 11, 12, 14, 15) sub form a OR-AND f ar a a produce hazard static. P2.17 S a se explice de ce circuitele care implementeaz a mintermi pot produce hazard static 1 iar cele care implementeaz a maxtermi pot produce hazard static 0. P2.18 S a se pun a n evident a hazardul static pentru ecare din urm atoarele funct ii si s a se determine un circuit care elimin a hazardul si ndepline ste aceea si funct ie logic a: 15 a) f (A, B, C, D) = 0 (5, 7, 8, 9, 10, 11, 13, 15); 15 b) f (A, B, C, D) = 0 (5, 7, 13, 15); 15 c) f (A, B, C, D) = 0 (0, 2, 4, 6, 12, 13, 14, 15); d) f (A, B, C, D) = (A + B + D)(A + C + D)(A + B + C ); e) f (A, B, C, D) = (A + B + D)(A + B + C + D)(A + C )(B + C ); f) f (A, B, C, D) = B C D + ABC + BC . P2.19 S a se determine dac a circuitul din gura (b), de la P2.15, produce hazard static. In caz armativ, s a se modice structura astfel nc at s a e eliminat hazardul. P2.20 Pentru funct ia f (x2 , x1 , x0 ) = 0 (3, 5, 7) s a se deduc a diagrama de decizie binar a redus a (ROBDD). P2.21 Urm atoarea funct ie s a se implementeze cu un num ar minim de port i NAND. f = ABD + ACD + BCD + ABC
7

314

2.6. PROBLEME

P2.22 S a se realizeze o poart a DAR care are patru intr ari si dou a ie siri cu simbolul grac din gura al aturat a. Funct ia realizat a trebuie s a e adev arat a c and n statuarea valorilor variabilelor de intrare din primul A 1 f1 grup A1 , B1 sau din al doilea grup A2 , B2 se aplic a sensul B1 conjunct iei DAR. Privind simetria simbolului grac funct ia re- A 2 f2 alizat a trebuie s a e simetric a n raport cu variabilele A si B B 2 din ecare grup; de asemenea trebuie s a e simetrice cele dou a grupuri. Apoi, cu aceast a poart a DAR s a se implementeze funct ia 15 a DAR plus o poart a OR cu f (A1 , B1 , A2 , B2 ) = 0 (3, 7, 11, 12, 13, 14) cu o poart dou a intr ari. P2.23 Utiliz and numai 4 port i NAND cu 8 intr ari s a se implementeze un codicator 16:4. Care sunt nivelurile active de semnal pentru intr ari si pentru ie siri? P2.24 Pe baza circuitului codicator prioritar cu 8 intr ari 74XX148, , s a se structureze un codicator prioritar cu 16 intr ari. P2.25 S a se implementeze un CLC la intrarea c aruia se aplic a un cuv ant M de opt bit i si un cuv ant N de trei bit i. Ie sirea f a circuitului va activ a c and M este multiplu de 2N . P2.26 S a se implementeze un CLC la intrarea c aruia se aplic a un cuv ant M de 16 bit i si un cuv ant N de 2 bit i. Ie sirea f a circuitului va activ a c and M este un N multiplu de 22 . P2.27 Intr-un cuv ant de un byte X = x7 x6 x5 x4 x3 x2 x1 x0 s a se determine c and exist a doar un singur bit cu valoarea zero. si opt ie siri Oi L , i = 0, 1 . . . 7. P2.28 S a se proiecteze un CLC cu opt intr ari Ii L n care i este pozit ia celui mai semnicativ Circuitul genereaz a numai ie sirea Oi L = 0 bit activat din cuv antul de opt bit i aplicat pe intrare. P2.29 S a se realizeze un CLC prin intermediul c aruia 8 periferice sunt legate la un microprocesor (P ). La activarea unuia sau a mai multor periferice acest circuit va genera c atre P o cerere de ntrerupere IRQ L si codul perifericului activat cu nivelul cel mai ridicat de prioritate; nivelul de prioritate cre ste de la 0 la 7. Except ie de la aceast a regul a este numai n cazul n care sunt activate simultan mai multe periferice printre care sunt activate si perifericele 7 si 2, n acest caz se genereaz a catre P codul perifericului 2. P2.30 Utiliz and circuitul 74XX138, DCD3:8, s a se realizeze o structur a de DCD5:32. P2.31 DCD3:8, P2.32 P2.33 [0, 7] P2.34 Urm atoarele funct ii: Y1 = 2x si Y2 = 22 s a e implementate pe circuite x ind un num ar binar n intervalul [000,111]. S a se implementeze operat ia: y = 2x1 + 2x2 , x1 , x2 [0, 7], x1 = x2 S a se realizeze un CLC care implementeaz a funct ia y = 2 (x1 +x2 ) , x1 , x2
x

Utiliz and circuitul 74LS138, decodicator 3:8, s a se implementeze funct ia: f (A, B, C, D) = (0, 1, 3, 5, 7) P2.35 Utiliz and circuite 74LS138, decodicator 3:8 ,s a se implementeze urm atoarele funct ii: a) f1 (A, B, C ) = (0, 2, 5, 7); b) f3 (A, B, C, D) = (0, 3, 5, 6, 9, 10, 11, 12, 13); c) f2 (A, B, C, D) = (2, 3, 4, 7); d) f4 (A, B, C, D) = (2, 3, 6, 7, 8, 9, 13, 14, 15).

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

315

P2.36 Implementat i o celul a sumator complet cu ajutorul unui circuit decodicator 74LS138. P2.37 S a se implementeze cu circuite 74LS138, DCD3:8, circuitul logic combina tional cu ie siri multiple denit de funct iile: f1 = P 0 + P 3 + P 5 + P 7 f2 = P1 + P2 + P4 + P5 + P8 + P11 + P12 + P14 + P15 f3 = P3 + P4 + P6 + P12 + P14 + P15 f4 = P1 + P2 + P5 + P6 + P7 + P8 + P9 + P15 P2.38 Se pot implementa urm atoarele funct ii doar cu dou a circuite integrate? f1 = A B C + ABC , f2 = A BC + ABC , f3 = ABC + ABC , f4 = AB C + ABC P2.39 Un circuit 74XX138 DCD3:8 este comandat pe int arile A,B,C cu semnalele de ie sire de la un num ar ator asincron modulo 8. S a se analizeze momentele c and pe ie sirile circuitului pot apare glitch-uri. P2.40 La celula sumator complet, implementat a n problema P2.36, se aplic a pe cele trei intr ari A,B,C, n locul semnalelor A i , Bi si Ci1 semnalele de ie sire de la un num ar asincron modulo 8. S a se determine la care comutarea dintre st arile num ar atorului asincron ie sirile si si Ci1 ale celulei se pot genera glitch-uri. P2.41 Numai cu dou a circuite 74XX138, DCD3:8, s a se realizeze un DCD4:16. P2.42 S a se determine funct iile implementate pe urm atoarele circuite.
B C A B C
DCD2:4 O0 I1 O1 I0 O2 E O3 DCD2:4 O0 I1 O1 I0 O2 E O3
a)

f1 A
MUX2:1

MUX2:1

0 1

0 C

f3

0 1 C

0 0 1

MUX2:1

f2

C
b)

f4

P2.43 S a se organizeze un MUX32:1 pe baza circuitelor: 74XX151 MUX8:1; 74XX153 MUX4:1; 74XX139 DCD2:4. Toate aceste circuite au o intrare de validare G activ a n starea low; circuitul 74XX151 genereaz a at at ie sirea negat a c at si nenegat a. P2.44 S a se realizeze o selectare de date de la patru porturi P 3 , P2 , P1 si P0 , ecare de patru bit i, la o magistral a. P2.45 In gur a este schit at a posibilitatea de sumare a unui operand cu lungimea de k bit i de la unul din porturile PA1,PA2,PA3,PA4 cu un alt operand de aceea si lungime de la unul din porturile PB1,PB2,PB3,PB4 iar rezultatul este distribuit la unul din porturile destinat ie PD1,PD2,PD3,PD4. S a se structureze cele dou a circuite de selectare de pe intrare si circuitul de distribut ie de pe ie sire. S a se scrie cuvintele de selectare SA , BB , SD pentru urm atoarele transferuri: PA1+PB1PD1 si PA2+PB4PD3. 7 P2.46 Pentru funct ia logic a, f (A, B, C ) = 0 (0, 1, 3, 6, 7) s a se realizeze o implementare:

316
PA1 PA2 PA3 PA4 SA k k k k k PB1 PB2 PB3 PB4 k k k k k S0

2.6. PROBLEME

SUMATOR S0 k+1 PD1 k+1 PD2 k+1 k+1 PD3 k+1 PD4

a) numai cu MUX 2:1; b) numai cu MUX 8:1; c) cu MUX 2:1 si MUX 4:1. Consider and ca o m asur a a dimensiunii num arul de terminale (2 n + n + 1) ale unui MUX 2n : 1, s a se determine dimensiunea pentru ecare dintre aceste implement ari. P2.47 S a se implementeze funct iile: f1 (A, B, C, D) = (0, 1, 3, 4, 7, 8, 10, 11, 15), f2 (A, B, C, D) = (3, 4, 5, 6, 13, 14, 15), f3 (A, B, C, D) = (0, 1, 4, 5, 6, 9, 12, 14) n urm atoarele variante: a) numai cu MUX 2:1; b) numai cu MUX 4:1; c) numai cu MUX 16:1; d) cu MUX 2:1 si MUX 4:1 sau MUX 8:1. S a se aprecieze dimensiunea implement arii prin num arul de circuite utilizate si num arul de terminale. P2.48 Fie funct ia f (A, B, C, D) = (3, 6, 11, 14, 15) + d(2, 5, 12, 13). S a se implementeze cu circuitul 74LS151, MUX 8:1. P2.49 Implementat i cu circuite 74LS151, MUX 8:1 celula sumator complet. Prin introducerea unei variabile reziduu, s a se realizeze o implementare si cu circuitul 74LS153, MUX4:1. P2.50 Fie funct ia f (A, B, C, D, E ) = ABE + A BDE + ABCE + ACDE . S a se implementeze cu un circuit 74LS151, MUX8:1. P2.51 Utiliz and circuitul 74LS151 MUX8:1, s a se implementeze funct ia: f (A, B, C, D, E ) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31) Se va folosi intrarea de validare pentru una din variabilele reziduu. P2.52 S a se implementeze funct ia: f (A, B, C, D, E ) = ABE + A BDE + ABCE + ACDE (prezentat a si n problema P2.50), utiliz and circuitele 74LS138 DCD3:8 si 74LS153 MUX4:1. P2.53 S a se implementeze funct ia: f (A, B, C, D, E ) = (3, 6, 7, 10, 11, 19, 22, 26, 27, 30, 31) utiliz and circuitul 74LS138 DCD3:8 si circuitul 74LS153 MUX4:1. S a se compare structura obt inut a cu implementarea problemei P2.51. P2.54 S a se implementeze n ROM un convertor din codul binar 7 segmente n BCD. P2.55 Pentru problema P2.27 s a se conceap a o implementare pe circuit ROM. P2.56 S a se implementeze pe un circuit ROM calculul p atratului numerelor cuprinse

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

317

n intervalul [0,7]. P2.57 Un sistem cu microprocesor cu o magistral a de adresare de 10 bit i are alocat pentru cele patru periferice ale sale #0, #1, #2, #3 urm atoarele adrese: 3C0H, 3C1H, 3C2H si 3C3H. S a se realizeze variante de circuite de decodicare pentru aceste adrese. P2.58 Un sistem cu microprocesor cu o magistral a de adresare de 16 bit i are alocat pentru cele patru periferice ale sale #0,#1,#2 si #3 urm atoarele adrese: ED0CH, ED0DH, ED0EH si ED0FH. S a se realizeze o variant a de decodicare complet a pentru periferice utiliz and un circuit 74LS138, un circuit comparator 74LS682 si port i. P2.59 a) S a se conceap a un modul de memorie ROM de capacitate 8K 16 bit i utiliz and circuitele EPROM 2716. Intr-un spat iu de adresare de 64k (A15 A0 ) acest modul va acoperi intervalul de adrese 64k 56k. Circuitul EPROM2716 prezint a dou a semnale de control unul este selectare circuit CE L/PRM (Chip Enable/ Programare) sirii din TSL n iar cel alalt este validare ie sire OE L (Output Enable - comanda ie stare normal a); pentru obt inerea datelor pe ie sire trebuie activate ambele semnale simultan. b) Utiliz and circuite EPROM 2708, 1K 8 bit i, (prezint a un singur semnal CS L (Chip Enable/ Output Enable)) si circuite decdicator 74XX138, 74XX139, s a se structureze urm atoarele module de memorie: 1K 16 bit i, 8K 8 bit i, 8K 16 bit i. Fiecare din aceste module are asignat un interval de adresare ncep and cu adresa 0000H; se consider a un spat iu de adresare de 64K (A 15 A0 ). P2.60 Pe un circuit ROM cu organizarea 64 1 bit s a se implementeze funct ia: f (F, E, D, C, B, A) = (0, 1, 2, 3, 4, 5, 6, 9, 11, 12, 13, 15, 16, 19, 21, 25, 26, 28, 29, 30, 31, 33, 34, 36, 37, 39, 41, 44, 45, 46, 49, 51, 53, 55, 57, 59, 60, 61, 62) P2.61 S a se implementeze urm atoarele funct ii pe o structur a de ROM cu capacitatea 64 1: f1 (F, E, D, C, B, A) = F D B + F DBA + F ED CBA; f2 (F, E, D, C, B, A) = F EDA + F ECA + F ED CB + F EDCBA; f3 (F, E, D, C, B, A) = F E D B + F E DCA; f4 (F, E, D, C, B, A) = F EDA + F EDCB + F EDCB ; P2.62 S a se implementeze pe o memorie ROM de capacitate 32 8 bit i urm atoarele convertoare de cod: a) convertor din cod 2-4-2-1 la matrice cu sapte segmente (vezi P2.13 si P2.65); b) convertor din BCD n cod EXCESS3 (codul EXCESS3 se obt ine din codul BCD la care se adun a cuv antul 0011| 2 = 3|10 ). S a se calculeze gradul de utilizare al memoriei, exprimat prin raportul dintre num arul de bit i nscri si si capacitatea memoriei. P2.63 Utiliz and circuite ROM de capacitate 256 8 bit i, n care sunt nscrise toate nmult irile ntre numerele binare de patru bit i, precum si circuite sumatoare de lungimi corespunz atoare, s a se structureze un multiplicator simultan pentru cuvinte de un byte. P2.64 S a se implementeze pe structuri PLA si PAL (cu patru termeni produs cablat i pe ecare poart a OR) un convertor din BCD n cod Gray. P2.65 S a se implementeze pe o structur a PLA generic un convertor din codul 2421 n codul pentru o matrice cu sapte segmente. Codul 2421 este: 0 0000; 1 0001; 2 1000; 3 1001; 4 1010; 5 1011; 6 1100; 7 1101; 8 1110; 9 1111;, iar congurarea cifrelor zecimale din LED-uri se consider a ca n Figura 2.37. P2.66 S a se implemeteze pe o structur a de circuit PLA generic un comparator digital pentru dou a cuvinte A si B cu lungimea de 4 bit i. Circuitul genereaz a la ie sire:

318

2.6. PROBLEME

A = B, A > B si A < B . Nu se primesc semnale pentru relat iile de ordonare de la un modul comparator de rang superior. P2.67 S a se realizeze circuite pentru identitatea a dou a cuvinte. P2.68 Utiliz and circuitul comparator digital de patru bit i 74XX85 s a se implementeze structuri care s a realizeze urm atoarele operat ii: a) Pentru dou a cuvinte A si B ie sirea fs s a e adev arat a c and A<B. C and A>B ie sirea fi s a e adev arat a. b) Pentru dou a cuvinte A si B s a se realizeze urm atoarele relat ii de ordonare: egal(=), mai mic(<), mai mic sau egal(), mai mare(>), mai mare sau egal(), diferit(=). P2.69 De la ie sirile de pondere 23 , 22 , 21 , 20 ale unui num ar ator sincron n cod binar natural modulo 16 se obt ine cuv antul A = A3 A2 A1 A0 , iar de la ie sirile complementare se obt ine cuv antul n complement fat a de 1, A = A 3 A2 A1 A0 . Cuvintele A si A se aplic a pe intr arile unui circuit comparator de patru bit i 74XX85. S a se deseneze formele de und a la cele trei ie siri ale circuitului (A > B, A = B, A < B ) c and num ar atorul parcurge toate cele 16 st ari (0 15). P2.70 Utiliz and circuitul comparator de patru bit i 74XX85 si port i s a se realizeze o structur a care genereaz a urm atoarele relat ii de ordine: A N ; M A; M A N ; A < M ; A > N ude M si N sunt dou a constante cuprinse n intervalul [0, 2 n 1], n=4 P2.71 Utiliz and trei circuite comparator digital de patru bit i 74XX85 si port i s a se realizeze o structur a care pentru trei variabile A, B, C activeaz a ( n stare 1) una din cele trei ie siri fA , fB , fC n funct ie de relat ia adev arat a din urm atoarele trei: fA = 1 dac a B < A > C fB = 1 dac a A < B > C fC = 1 dac aA<C>B P2.72 Utiliz and circuitul 74XX283, sumator cu transport anticipat pentru cuvinte de patru bit i, s a se realizeze diferite variante de sumatoare de trei bit i si de doi bit i. P2.73 S a se realizeze sinteza unei celule semisumator pentru sumare n sistemul de numerat ie n baz a trei. Implementarea se va face cu port i NAND. P2.74 S a se structureze o celul a sumator modulo trei, apoi cu aceasta s a se organizeze un sumator cu transport anticipat modulo 3 8 . P2.75 S a se structureze o celul a sumator pentru adunarea n cod BCD. P2.76 Utiliz and circuite 74LS181, unitate logico-aritmetic a de patru bit i si circuite 74LS182, unitate pentru calculul transportului anticipat pe patru ranguri, s a se organizeze o unitate logico-aritmetic a pentru cuvinte de 64 de bit i. P2.77 S a se realizeze un circuit, format numai din celule sumator complet (3, 2), care s a calculeze num arul (exprimat n binar natural, NBCD) de bit i care au valoarea 1 ntr-un cuv ant de 7 bit i, apoi s a se extind a pentru un cuv ant de un byte. P2.78 Utiliz and celule sumator complet (3, 2) s a se realizeze un modul care incrementeaz a un cuv ant de trei bit i, la fel, un modul, pentru decrementare. P2.79 Pentru un sumator de sase bit i realizat n varianta de sumator cu propagarea transportului , SPT, si n varianta cu transport anticipat, STA, s a se determine: 1. expresiile pentru C5 ; 3. timpul minim de sumare, T . 2. num arul de port i pentru implementarea lui C 5 ; Se va considera organizarea de celul a (3, 2) din Figura 2.60-b, iar C1 = 0. P2.80 Realizat i un circuit pentru sumarea a trei cuvinte de doi bit i. P2.81 Realizat i un circuit pentru multiplicarea a dou a cuvinte, unul de doi bit i X = x1 x0 iar cel alalt de trei bit i Y = y2 y1 y0 utiliz and e numai module sumator pentru cuvinte de doi bit i si port i AND2 e numai module sumator pentru cuvinte

CAPITOLUL 2. CIRCUITE LOGICE COMBINAT IONALE

319

de trei bit i si port i AND2. P2.82 S a se structureze o Unitate Aritmetico - Logic a Elementar a, ALUE, care s a realizeze urm atoarele operat ii:1) trece B i ; 2) Ai > Bi ; 3) Ai + Bi + Ci1 ; 4) Ai Bi Ci1 . P2.83 Utiliz and o (celul a) ALUE (structurat a la P2.82) s a se organizeze o ALU de patru bit i. P2.84 S a se structureze o ALUE care s a realizeze urm atoarele opt operat ii: 1) nscrie zero ( stergere); 2) (B A); 3) (A B ); 4) (A + B ); 5) A B ; 6) (A B ); 7) (A B ); 8) nscrie 1 (set).

Capitolul 3

CIRCUITE LOGICE SECVENT IALE, CLS


Circuitul Logic Combinat ional, CLC, exprimat formal prin tripletul(X,Y,F), determin a pentru o congurat ie binar a de intrare de n bit i, denit a pe mult imea X = {0, 1}n , o congurat ie de ie sire de m bit i, apart in and mult imii Y {0, 1} m , adic a realizeaz a aplicat ia F : X Y . In funct ionarea unui CLC, cel put in teoretic, nu se ia n considerare variabila timp, transferul intrare-ie sire ind instantaneu; n suportul formal utilizat, algebra Booleean a, nu exist a variabila timp. Aceast a lacun a a suportului formal se pl ate ste, uneori, sub forma gener arii de hazard la unele implement ari ale CLC-ului, c and pe durata timpului de transfer(neinstantaneu) valorile obt inute la ie sirea circuitului apar ca o violare a postulatului de existent a complesi xx = 1!. Totodat a, la un CLC transferul este unidirect ional, mentarului: x + x = 0 nu exist a si un transfer de la ie sire c atre intrare, adic a o react ie. Intr-o abordare foarte general a un Circuit Logic Secvent ial, CLS, se poate considera ca o extensie a unui CLC cu o conexiune de react ie si n funct ionarea sa, implicit, se consider a si variabila timp(propagarea neinstantanee). Se poate lua si reciproca, adic a un CLS numai cu transfer unidirect ional si instantaneu este un CLC. Aceast a abordare de denire, implicit, determin a si o structurare general a a unui CLS pornind de la un CLC. Secvent ialitatea implic a evenimente/st ari care se succed n timp unul dup a altul. In funct ie de modul cum este marcat a aceast a tranzit ie, de la un eveniment/stare la urm atorul, circuitele/sistemele pot asincrone sau sincrone. Pentru cele asincrone, aceast a tranzit ie/evolut ie, este determinat a de ns a si structura circuitului/sistemului prin timpul s au propriu de propagare(constanta de timp), pe c and la cele sincrone tranzit ia este marcat a din exterior prin timpul, perioada/frecvent a unui semnal de ceas/clock.

3.1

CIRCUITE LOGICE SECVENT IALE ASINCRONE

Structura general a a unui CLS asincron este reprezentat a n Figura 3.1, referit a 321

322

3.1. CIRCUITE LOGICE SECVENT IALE ASINCRONE

uneori ca structur a Human, care poate considerat a c a rezult a pornind de la un CLC c aruia i s-au ata sat c ai de react ie prin intermediul elementelor de nt arziere, notate cu 0 , 1 , . . ., k1 . Variabilele de intrare(principale) sunt: xn1 (t), . . . x1 (t), x0 (t) iar m arimile de ie sire sunt: ym1 (t), . . . , y1 (t), y0 (t), similar ca la un CLC cu n intr ari m ie siri. O congurat ie a variabilelor de intrare principale este un vector de intrare Xi , i = 0, 1, 2, . . . , (2n 1), ace sti vectori formeaz a mult imea intr arilor, notat a cu X . De asemenea, congurat iile m arimilor de ie sire formeaz a mult imea ie sirilor, notat a cu Y . Asupra celor dou a mult imi X si Y , sunt corecte acelea si considerat ii care s-au expus la CLC(vezi relat ia 2.1). In plus, CLC-ul mai produce la momentul t nc a alte k variabile de ie sire w k1 (t), . . . , w1 (t), w0 (t) care prin leg aturi de react ie si prin intermediul elementelor de nt arziere i , i = 0, 1, . . . , (k 1), se aplic a pe intrare ca variabile de intrare secundare la momentul t + i , zk1 (t + k1 ), . . . , z1 (t + 1 ), z0 (t + 0 ). Consider and c a nt arzierile i , introduse de elementele de nt arziere sunt toate egale cu , se pot scrie urm atoarele relat ii pentru cele k intr ari secundare zi , i = 0, 1, 2, . . . , (k 1) : zk1 (t + ) = wk1 (t), . . . , z1 (t + ) = w1 (t), z0 (t + ) = w0 (t). Rezult a c a circuitul combinat ional din structura CLS-ului este un circuit cu (n + k ) intr ari si (m + k ) ie siri.
x 0 (t ) Intrari x principale 1 (t )
X

xn-1(t ) z 0 (t ) z 1 (t ) zk-1(t )

CLC cu: (n+k)intrari (m+k)iesiri Y(t)=f(x(t),z(t)) Q =g(x(t),z(t))


+

y0 y1 ym w0 (t ) w1(t ) wk-1(t )

X(t) n

CLC2 Y(t)= f(x(t),q(t))

Y(t) m

Intrari secundare Z

CLC1 Q (t)= g(x(t),q(t))


+

Q (t) k

zk-1(t )= wk(t-); zk-1(t+)= wk-1(t ) k-1 z 1 (t ) = w0 (t-); z 1(t+)= w1(t ) 1 z 0 (t ) = w0 (t-) ; z 0 (t+) = w0 (t ) 0
Starea prezenta q(t)
+ q(t)=q (t- ) + Starea urmatoare q (t) + q(t+)=q (t)

Q(t) k SA b)

a)

Figura 3.1 Circuitul logic secvent ial, CLS: a) structurare de principiu pentru un CLS asincron(Human); b) structurare cu separarea funct iei de transfer intrareie sire, de cea de tranzit ie a st arilor. Pentru nt arzierile i nu trebuie s a se nt eleag a si s a se considere c ate un element zic de nt arziere introdus special pe c ate o linie de react ie. In implement arile normale ale unui CLS asincron leg atura de react ie se realizeaz a printr-o conectare direct a de

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

323

Adic a starea prezent a q (t) este identic a cu starea urm atoare q + (t ), care a fost n urm a la momentul (t ), sau starea prezent a q (t +), care va la momentul (t +), este egal a cu starea urm atoare q + (t) din momentul t (starea urm atoare devine stare prezent a dup a nt arzierea ). Deoarece starea prezent a q (t) este aceea si cu starea urm atoare q + (t ), care a fost n urm a la momentul (t ) si care a fost calculat a n funct ie de st arile anterioare, nseamn a c a n funct ionarea circuitului, prin intr arile de react ie, intervine si evolut ia ,, anterioar a a circuitului, adic a inuent eaz a si istoria . Apare clar faptul c a la un CLS, n raport cu un CLC, ie sirile sunt dependente nu numai de intr arile prezente ci si de intr arile anterioare care au determinat succesiunea st arilor anterioare si care se reg asesc n valoarea st arii prezente. Partea combinat ional a a CLS pe baza unei congurat ii de intrare X (t) si a st arii prezente q (t) calculeaz a valorile congurat iei de ie sire Y (t) precum si starea urm atoare q + (t). Aceste dou a transferuri, spre cele dou a tipuri de m arimi de ie sire, sunt evident iate n Figura 3.1-b prin reprezentarea separat a a celor dou a part i combinationale CLC2 si CLC1. Pentru o formalizare a exprim arii funct ion arii unui CLS se introduc urm atoarele notat ii: Mult imea Q = {qp , . . . , q2 , q1 , q0 } este mult imea st arilor circuitului; pot exista maximum p = 2k st ari exprimate printr-un cuv ant cu lungimea de k bit i de forma zk1 . . . zl . . . z1 z0 zl {0, 1}. S i mult imea Q, ca si mult imea Y , este incomplet denit a |Q| 2k ; mult imea st arilor realizate de circuit este denit a pe mult imea nevid a a p art ilor lui Q, adic a pe P (Q)

la ie sire la intrarea secundar a, deci ie sirea w i devine instantaneu intrarea zi (evident dac a timpul de propagare pe leg atura de react ie respectiv a este zero). In schimb, propagarea de semnal n structura CLC-ului, de la intr arile principale x i si intr arile secundare zi nspre ie sirile wi , se realizeaz a pe trasee cu anumite ad ancimi (niveluri logice), deci exist a int arzieri care trebuie luate n considerare; de exemplu o nt arziere de 5 10ns pe ecare nivel logic. Dar, n explicat ia anterioar a, pentru ecare din semnalele wi , i = 0, 1, . . . , (k 1) s-a considerat c a exist a c ate o nt arziere i . Intr-o abordare didactic a, analiza unui CLS asincron se poate simplica dac a se consider a c a nt arzierile de propagare din interiorul CLC-ului sunt zero dar, n compensat ie, pe ecare linie de react ie ntre wi spre zi se introduce nt arzierea i aferent a ie sirii wi din CLC. Simplicarea poate merge si mai departe prin supozit ia facut a anterior, c a toate aceste nt arzieri i , introduse pe leg aturile de react ie, sunt egale cu . In acest mod de abordare didactic la CLS transferul intrare-ie sire este instantaneu prin CLC, n schimb variabilele wi devin variabile de intrare secundar a, zi , numai dup a intervalul de timp . Congurat ia intr arilor secundare sau cuv antul format cu valorile binare ale celor k variabile secundare la momentul t,zk1 (t) . . . , z1 (t), z0 (t) dene ste o m arime intern a proprie circuitului secvent ial denumit a starea prezent a a circuitului, notat a cu q(t). Cuv antul format din valorile de ie sire wk1 (t) . . . w1 (t), w0 (t) formeaz a starea urm atoare notat a cu q+ (t). In raport cu intr arile principale si ie sirile circuitului, care sunt m arimi vizibile n exterior(la borne), starea q (t) este o m arime intern a proprie circuitului, neaccesibil a la bornele circuitului. Datorit a introducerii elementelor de nt arziere pe linile de react ie apar evidente urm atoarele relat ii ntre starea prezent a si starea urm atoare: q (t) = q + (t ); q (t + ) = q + (t) (3.1)

324

3.1. CIRCUITE LOGICE SECVENT IALE ASINCRONE

Funct ia de transfer f intrare-ie sire a CLS-ului exprim a procesul de modicare a ie sirilor n dependent a de cuv antul de intrare si de cuv antul st arii prezente prin relat ii de forma: y0 (t) = f0 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) y1 (t) = f1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) ................................................................. ym1 (t) = fm1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) f :X QY

(3.2)

Funct ia de tranzit ie a st arilor g exprim a determinarea st arii urm atoare; adic a pe baza st arii prezente si a cuv antului de intrare se calculeaz a starea urm atoare q + (t) prin relat ii de forma: w0 (t) = g0 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) w1 (t) = g1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) ................................................................ wk1 (t) = gk1 (xn1 (t), . . . , x1 (t), x0 (t); zk1 (t), . . . , z1 (t), z0 (t)) g :X QQ

(3.3)

Fiec arui element din produsul cartezian X Q poate s a-i corespund a mai multe elemente din mult imile Y sau Q. Deoarece ie sirile circuitului sunt denite pe p art i ale mult imii de ie sire P (Y ) si la fel st arile sunt denite pe p art i ale mult imii st arilor P (Q) relat iile 3.2 si 3.3 trebuie scrise sub forma: f : X Q P (Y ) g : X Q P (Q) (3.4)

totu si, uneori, pentru u surint a scrierii se utilizeaz a formele anterioare. Aplicat iile anterioare (3.2 si 3.3) corespund cu cele din relatiile 3.4 c and oricare element din P (Y ) si P (Q) are cardinalul 1(cont ine un singur element). Cu notat iile introduse un CLS poate exprimat ca un cvintuplu: CLS = (X, Y, Q, f, g ) (3.5)

,, Dac a mult imea st arilor este mult imea vid a Q (circuitul nu are istorie ) atunci: g : X nu exist a funct ie de tranzit ie a st arilor iar, f : X Y se reduce la f : X Y , deci se obt ine: CLS |Q CLC = (X, Y, f ) Rezult a c a un CLS la care mult imea st arilor este mult imea vid a se reduce la un CLC (ie sirile sunt funct ie doar de vectorul de intrare X si nu exist a react ie). Se poate concluziona c a elementul care face trecerea de la combinat ional la secvent ial este conexiunea de react ie; si invers, desfacerea react iei la un circuit secvent ial l transform a n circuit combinat ional. La un CLS, pe baza produsului cartezian ntre cuv antul X (t) aplicat pe intrare si al st arii prezente Q(t), circuitul combinat ional calculeaz a cuv antul ie sirii Y (t), relat ia

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

325

3.2, si la fel, calculeaz a starea urm atoare Q + (t), relat ia 3.3. Dup a nt arzierea cauzat a de transferul pe liniile de react ie, starea urm atoare Q + (t) devine noua stare prezent a n momentul (t + ), Q(t + ) = Q+ (t). S a presupunem c a la intrarea principal a se aplic a cuv antul X 1 (t) si starea prezent a a circuitului este q1 (t) = zk1 (t) . . . z1 (t)z0 (t). Pe baza produsului cartezian X1 (t) q1 (t), pe circuitul combinat ional, se calculeaz a cuv antul de ie sire Y 1 (t) precum si + cuv antul st arii urm atoare q1 (t) = wk1 (t) . . . w1 (t)w0 (t), iar dup a nt arzierea , de propagare pe liniile de react ie, starea urm atoare devine starea prezent a q 2 (t + ) = + q1 (t). Consider am nemodicat cuv antul de intrare X 1 (t + ) (= X1 (t)) din nou pe baza produsului cartezian X1 (t + ) q2 (t + ) se calculeaz a ie sirea Y2 (t + ) si + cuv antul st arii urm atoare q2 (t + ) care dup a nt arzierea devine starea prezent a + (t + ) si a sa mai departe!. Dar, aceasta nseamn a c a acest proces q3 (t + 2) = q2 de evoluit ie din stare n stare (traseu), pentru acela si cuv ant aplicat pe intrare, este innit, adic a circuitul nu se stabilizeaz a ntr-o anumit a stare, denumit a stare stabil a. Condit ia ca o stare a circuitului s a e stabil a se reduce la identitatea cuv antului st arii prezente q (t) cu cel al st arii urm atoare q + (t), calculat a pe baza produsului cartezian X (t) q (t), adic a wi (t) = zi (t) pentru toate valorile i = 0, 1, 2, . . . , (k 1). Pentru o anumit a intrare aplicat a c and cuv antul a ajuns ntr-o stare stabil a, adic a nu se mai modic a n timp, circuitul poate considerat c a evolueaz a permanent din aceea si stare tot cu aceea si stare. Uneori variabilele w i (t) ale st arii urm atoare calculate sunt referite ca variabile de excitat ie, deoarece prin intermediul acestora circuitul este trecut ntr-o alt a stare. Exemplul 3.1 Pentru circuitul din Figura 3.2 s a se analizeze st arile stabile. Solut ie. Circuitul prezint a o singur a intrare x, o singur a ie sire y , doi bit i pentru starea prezent a, z1 , z0 , exprimat a prin cuv antul z = z1 z0 , si doi bit i pentru starea urm atoare calculat a, w1 , w0 , (funct ii de excitat ie), exprimat a prin cuv antul w = w1 w0 . Int arzierile de propagare pe traseele port ilor logice si pe conexiunea de react ie s-au concentrat n dou a valori de timp de nt arziere, 1 , 0 care s-au introdus pe liniile de react ie. Timpul de propagare pe o poart a poate specicat ca ind, de exemplu, n intervalul 5 10ns, deci chiar pentru trasee cu topologie identic a, pentru calculul funct iilor de excitat ie w1 , w0 , timpii de nt arziere sunt n general diferit i, 1 = 0 . Din structura circuitului se deduc funct iile de excitat ie (tranzit ia circuitului), w1 , w0 si funct ia de transfer intrare-ie sire y
w 1 = x + z 1 z0 w 0 = x + z 1 z0 y = z 1 z0 + z 1 z0 Cu aceste relat ii pentru cele patru st ari posibile ale circuitului, z1 z0 = 00, 01, 11, 10 si cele dou a valori ale variabilei de intrare x = 0, 1 se calculeaz a valorile pentru w1 , w0 , care sunt prezentate n primele dou a tabele din Figura 3.2-b. In ultimul tabel din aceast a gur a, obt inut din cele dou a tabele anterioare, sunt gurate pentru ecare pereche a produsului cartezian, z1 z0 x, format ntre starea prezent a si intrarea aplicat a, valorile calculate ale st arii urm atoare si a ie sirii, w1 , w0 ; y . Cuvintele de cod ale st arilor prezente sunt notate n partea st ang a a tabelului, la nceputul ec arei linii, iar valorile aplicate intr arii sunt gurate la cap atul superior al ec arei coloane din tabel. Din acest tabel, referit ca tabelul de evolut ie al st arilor, se poate deduce de exemplu c a: pentru starea prezent a z 1 z0 = 11 si intrarea aplicat a x = 0 se calculeaz a starea urm atoare w1 w0 = 00 si ie sirea y = 0, (00/0),

326

3.1. CIRCUITE LOGICE SECVENT IALE ASINCRONE


w1=x+z1z0 w0=x+z1z0 x0 z1z0 0 00 0 01 0 11 0 10 1 x 1 z1z0 0 1 00 0 1 1 1 w1 01 1 11 0 10 0

..
z0 z1 x z 1 0 1 0 0 0 0 t0

. . .
w0 w1 1 0 0 1 1 I 1 0 0 1 1 0 I I x z1z0 0 00 00 01 01 11 00 10 10 1 1 1 1 1 1 S

y w1 w0

y=z1z0+z1z0 1 1 1 1 1 w0 x 0 1 z1z0 00 00 /0 11/0 01 01 /1 11/1 11 00/0 11 /0 10 10 /1 11/1 w1 w0/y x 0 z1z0 00 00 01 01 11 00 10 10 1 11 11 11 11

a)

b)
t t t t t

z1 1 z0 1 w1 1 w0 1

t0+

t x 0 z1z0 00 w1w0 00 Stare : S 00

t0 1

t0+ 1 11 11 S 11 1 0 0 1 00 11 I 00 0 0 0 0 0 0 S 0 I

c)

0 Stare : S x 1 0 0 0 0 0

z1 1 z0 1 w1 1 w0 1 y 1

t0

t0+ 0 t0+ 1

t t t t t t w z

x 1 z1 1 z0 1 w1 1 w0 1 y 1 Stare :

t0

t0+ 0

1 1 0 1

t0+ 1

t t t t t t

0 Stare : S

S 1 11 11 11 11

S x z1z0 0 00 00 01 01 11 00 10 10 1 11 11 11 11

t0 t0+ 0 t0+ 1 t x 0 1 1 1 z1z0 00 00 01 w1w0 00 11 11 Stare : S I I 00 00 01 11 11 S 11

t t0 t0+ 0 t0+ 1 x 0 1 1 1 z1z0 00 00 01 11 w1w0 00 11 11 11 Stare : S I I 00 00 10 S 11

d)

e)

Figura 3.2 Analiza st arilor stabile pentru un circuit CLS asincron: a) structur a circuit; b) tabelul de evolut ie al st arilor; c) analiza traseului obt inut
00 00 11 pentru cazul 1 = 2 = ; d) analiza traseului obt inut 00

00 01 11 pentru cazul 0 < 1 ; e) analiza traseului obt inut 00 00 10 11 pentru cazul 1 < 0 .

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

327

iar pentru aceea si stare prezent a 11 dar cu intrarea aplicat a x = 1, se calculeaz a starea urm atoare 11 si y = 0, (11/0). Condit ia de stabilitate pentru o stare, w1 (t)w0 (t) z1 (t)z0 (t) impune ca pe ecare linie din tabelul de evolut ie al st arilor, corespunz atoare unei st ari prezente, s a existe cel put in o stare urm atoare calculat a cu un cod identic cu cel al st arii prezente. De exemplu, pe prima linie, corespunz atoare st arii prezente z1 z0 = 00, se genereaza 00/0 pentru x = 0 si se genereaz a 11/0 pentru x = 1, deci starea urm atoare calculat a w1 w0 = 00 este o stare stabil a(circuitul r am ane tot n starea prezent a 00, respect a condit ia 00 = 00); dar n schimb starea urm atoare calculat a w1 w0 = 11 nu este o stare stabil a, pentru starea prezent a z1 z0 = 00, deoarece 11 = 00 (circuitul nu r am ane n starea prezent a). St arile urm atoare calculate care sunt stabile, se evident iaz a n tabelul de evolut ie al st arilor prin ncercuire. Pe aceea si linie a tabelului pot exista mai multe st ari stabile( ncercuite), de exemplu la un tabel care are 2n coloane, acesta corespunde unui circuit cu n intr ari principale, deci aceleia si st ari prezente i se pot aplica 2n congurat ii de intrare. Tabelul de evolut ie al st arilor este referit ca tabelul primitiv de evolut ie al st arilor dac a pe ecare linie a sa exist a doar o singur a stare stabil a (incercuit a), cum este cazul acestui tabel analizat. De asemenea, cuv antul care reprezint a produsul cartezian Q X este referit ca starea total a a circuitului. O stare total a este stabil a dac a la intersect ia corespunz atoare a st arii prezente si a intr arii aplicate, n tabelul de evolut ie al st arilor, este o stare urm atoare calculat a notat a ncercuit si respectiv, este o stare total a instabil a pentru o stare urm atoare calculat a notat a ne ncercuit. Pentru acest circuit, din tabelul de evolut ie, rezult a c a exist a patru st ari totale stabile z1 z0 x = 000, 010, 111, 100 si patru st ari totale instabile 001, 011, 110, 101. La un circuit secvent ial asincron, av and o stare prezent a stabil a prin aplicarea unui cuv ant de intrare, evolut ia poate : tot n aceea si stare stabil a, ntr-o alt a stare stabil a, n una dintre mai multele st ari stabile posibile (curs a critic a) sau o ciclare ntre mai multe st ari instabile (oscilator). Pentru circuitul din gur a se vor analiza trei cazuri posibile de evolut ie a st arilor c and se aa n starea total a stabil a z1 z0 x = 000 si intrarea se modic a de la 0 la 1. Pentru ecare caz evolut ia st arilor va reprezentat a simultan prin trei modalit a ti: diagrama de evolut ie n timp a semnalelor, tabelul de evolut ie n timp al st arilor si tabelul de evolut ie al st arilor(notat iile S si I indic a pentru starea prezent a atins a c a: este stabil a, respectiv instabil a). 1. 1 = 0 = Figura 3.2-c. (Propagarea semnalelor pe ambele conexiuni de react ie se realizeaz a n acela si timp , iar propagarea pe partea combinat ional a se face instantaneu, timp zero). Pentru z1 (t0 )z0 (t0 ) = 00 si x(t0 ) = 1 se calculeaz a, pe baza relat iilor anterioare, starea urm atoare w1 (t0 )w0 (t0 ) = 11. Deci circuitul trece din starea stabil a 00 n starea instabil a 00, z1 (t0 )z0 (t0 ) = 00 = w1 (t0 )w0 (t0 ) = 11, si r am ane n aceast a stare instabil a pe durata dup a care trece n noua stare prezent a de la momentul t0 +, z1 (t0 +)z0 (t0 +) = 11. In noua stare prezent a se calculeaz a starea urm atoare care este w1 (t0 +)w0 (t0 +) = 11 si pentru care este ndeplinita condit ia z1 (t0 +)z0 (t0 +) = 11 = w1 (t0 +)w0 (t0 +) = 11, ane n aceast a stare. Evolut ia deci noua stare prezent a este o stare stabil a, 11 , circuitul ram a fost starea stabil a 00 , starea instabil a 00 si apoi n starea stabil a 11 . 2. 0 < 1 , Figura 3.2-d. Aceast a relat ie arat a c a bitul w0 al st arii urm atoare calculate se propag a n bitul z0 al st arii prezente mai repede dec at bitul w1 n z1 . In momentul t0 c and x se modic a din 0 n 1 se trece din starea prezent a stabil a 00 n starea instabil a 00, z1 (t0 )z0 (t0 ) = 00 = w1 (t0 )w0 (t0 ) = 11. Dup a durata 0 noua stare prezent a este z1 (t0 + 0 )z0 (t0 + 1 ) = 01 care pentru x = 1 genereaz a w1 (t0 + o )w0 (t0 + 0 ) = 11 = 01, deci si aceast a stare prezent a 01 este instabil a. In momentul t0 + 1 si bitul w1 se propag a n z1 iar noua stare prezent a este z1 (t0 + 1 )z0 (t0 + 1 ) = 11 pentru x = 1 calcul and bit ii

328

3.1. CIRCUITE LOGICE SECVENT IALE ASINCRONE

st arii urm atoare rezult a w1 (to + 1 )w0 (t + 1 ) = 11, deci starea prezent a 11 este o stare n starea instabil a 00(la momentul t0 ), stabil a. Evolut ia a fost starea stabil a 00 , trecerea trecerea n starea instabil a 10(la momentul t0 + 0 ) si n nal trecerea n starea stabil a 11 (la momentul t0 + 1 ). 3. 1 < 0, Figura 3.2-e. De data aceasta bitul w1 al st arii urm atoare calculate se propag a n bitul z1 al st arii prezente naintea propag arii bitului w0 n z0 . Analiza evolut iei st arilor se realizeaz a similar ca la punctul 2 si rezult a o succesiune 00 00 10 11 . In concluzie acest circuit din starea total a 000 poate trece n starea total a 001( n funct ie de valorile nt arzierilor 1 si 0 ) prin una din urm atoarele trei succesiuni: 00 00

necritic a dac a pornind dintr-o stare, pe oricare traseu, se ajunge n nal n aceea si stare total a stabil a, cum este n cazul analizat. In opozit ie, un circuit prezint a o curs a critic a dac a din aceea si stare total a init ial a se ajunge n st ari totale stabile diferite n funct ie de traseul urmat. Condit ia de curs a critic a pentru un circuit asincron poate aparea c and dou a sau mai multe din variabilele binare de stare zi si schimb a valoarea la o modicare n cuv antul de intrare X (t). In consecint a , printr-o judicioas a codicare a st arilor circuitului, n tabelul de evolut ie al st arilor, se poate realiza un circuit f ar a curse critice. La un circuit f ar a curse critice trebuie ca pe traseul de evolut ie al st arilor n ecare moment de trecere de la o stare instabil a la o alt a stare instabil a, s a se modice doar un singur bit n cuv antul st arii calculate. Poate exista si cazul c and evolut ia st arilor este pe un traseu ciclic format numai pe st ari instabile ceea ce determin a o funct ionare de oscilator pentru circuit. Dar s a analiz am un astfel de regim n Exemplul 3.2. Analiza si sinteza circuitelor secvent iale asincrone este destul de dicil a dac a nu se introduc anumite restrict ii. In acest sens, n primul r and se admite c a n congurat ia de intrare X (t) la un moment dat se modic a doar un singur bit. S i n al doilea r and, se consider a c a o modicare a semnalului de intrare nu are loc p an a c and circuitul nu a ajuns ntr-o stare stabil a. Un circuit secvent ial asincron care respect a aceste dou a restrict ii este referit ca circuit ce funct ioneaz a n mod fundamental.

11 sau 00 00 01 11 sau 00 00 10 11 . Cursa pentru un circuit este

Exemplul 3.2 S a se analizeze funct ionarea circuitelor secvent iale asincrone realizate numai cu inversoare nseriate. Solut ie. Se disting dou a structuri cu num ar impar si num ar par de inversoare nseriate. a) In Figura 3.3-a este prezentat un circuit secvent ial asincron realizat printr-o leg atur a de react ie la o poart a NAND2. Pentru intrarea x = 1 poarta NAND2 are o funct ionare de inversor w = z . Din tabelul de evolut ie al st arilor, Figura 3.3-b, se observ a c a pentru coloana x = 1 nu exist a nici o stare stabil a. Pentru starea prezent az=0 si intrarea x = 1 se calculeaz a starea urm atoare w = 1 care genereaz a o tranzit ie, w z = 1, pe linia a doua a tabelului, unde pentru starea prezent az=1 si intrarea x = 1 se calculeaz a starea urm atoare w = 0 care genereaz a o tranzit ie, w z = 0, pe linia nt aia a tabelului, unde pentru starea prezent a z = 0 si intrarea x = 1 se calculeaz a starea urm atoare w = 1 care genereaz a o tranzit ie w z = 1 pe linia a doua a tabelului si procesul se repet a, adic a trece ncontinuu ntre st arile instable z = 0 si z = 1. Pe baza schemei echivalente, ca CLS asincron Human, din Figura 3.3-a, se pot reprezenta semnalele z si w,Figura 3.3-c, consider and inversorul cu timp de transfer zero iar timpii s ai de propagare pHL si pLH sunt introdu si ca nt arzieri pe leg atura de react ie. Pentru x = 0 modic arile st arii prezente z nu se transmit prin poarta

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

329
x

x z a)

CLC w

pt x=1 w pHL pLH b)

x 0 0 1 1

z 0 1 0 1

xz =w 1 1 1 0

z 0 0 1 1 1

1 1 0

c)

w 1 z 1 pHL pLH pHL pLH pHL pLH

T= phl + plh

Figura 3.3 CLS asincron realizat prin nserierea unui num ar impar de inversoare: a) structur a realizat a pe baza unei singure port i NAND2; b) tabelul de evolut ie al st arilor; c) variat ia n timp a semnalelor generate.
NAND2, w este permanent 1, dar pentru x = 1 starea prezent a z se transmite prin poart a ar). Pentru starea prezent az=1 si cu valoarea complementat a, w = z (vezi tabelul de adev x = 1 se calculeaz a instantaneu starea urm atoare w = 0 care devine stare prezent a z = 0, dup a nt arzierea pHL , pe baza c aruia se calculeaz a noua stare urm atoare w = 1 care devine stare prezent a z = 1 dup a nt arzierea pLH si procesul se repet a. Deci circuitul are funct ionare de generator de semnal dreptunghiular cu perioada T = pHL + pLH . Functia de generator de semnal dreptunghiular o are orice CLS asincron la care partea combinat ional a este o nseriere a unui num ar impar n de inversoare, perioada semnalului generat ind T = n(pHL + pLH ) vezi Exemplul 1.17.

x0 x1 z a)

CLC w z

pt x1x0=11 x pHL, pLH pLH, pHL

x1x0 z 00 01 11 10
1 1 0 0 1 0 1 0 1 1

b)

c)

Figura 3.4 CLS asincron realizat prin nserierea unui num ar par de inversoare: a) structur a realizat a pe baza a dou a port i NAND2; b) structur a echivalent a ca CLS Human; c) tabelul de evolut ie al st arilor.
b) In Figura 3.4-a este prezent a o structur a de CLS asincron realizat prin nserarea a dou a port i NAND2, iar pentru cuv antul de intrare x1 x0 = 11 ecare poart a este echivalent a cu un arei valori sunt inversor, Figura 3.4-b. Funct ia de tranzit ie este w = zx1 x0 = zx1 + x0 ale c trecute n tabelul de evolut ie al st arilor din Figura 3.4-c. Pentru coloana x1 x0 = 11 se observ a c a at at starea z = 0 c at si starea z = 1 sunt stabile, adic a starea urm atoare calculat a w este identic a cu starea prezent a si se tranfer a n stare prezent a dup a nt arzierea = pHL + pLH . Din acest tabel se observ a c a pentru toate combinat iile de intrare x1 x0 = 00, 01, 11, 10 exist a st ari stabile pentru circuit(o discut ie necesit a cazul c and x1 x0 = 00, vezi sect iunea 3.3.1).

330

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

Se poate generaliza aceast a armat ie, un CLS asincron compus prin nserierea unui num ar par de inversoare are pentru ecare cuv ant de intrare cel put in o stare stabil a.

3.2

CIRCUITE LOGICE SECVENT IALE SINCRONE

,, La un circuit logic secvent ial asincron variabila timp curge continuu, exist a incontinuu transfer de la ie sire spre intrare, pe calea de react ie, deci o evolut ie dintr-o stare n alta(chiar si c and este ntr-o stare total a stabil a se poate considera c a circuitul evolueaz a incontinuu din acea stare tot n acea stare). Spre deosebire de circuitul ,, asincron, la un circuit logic secvent ial sincron variabila timp are o curgere discret a, trecerea/tranzit ia dintr-o stare n urm atoarea se face numai n momentele bine denite de c atre semnalul de ceas/clock. Semnalul de ceas (clock) este un semnal dreptunghiular periodic care comut a ntre L si H si invers cu un coecient de umplere 50%, Figura 3.5, simbolizat n circuite prin abreviat ia CLK. Comutarea repetat a ntre L si H este utilizat a pentru a marca timpul, unitatea de timp ind perioada T a acestui semnal; un moment pe scara timpului se marcheaz a doar printr-un multiplu de perioad a de clock: . . . , iT, (i + 1)T, (i + 2)T, . . .. Ceasul n circuitele sincrone poate act iona pentru marcarea timpului prin unul din palierele sale, referit ca palier activ. De exemplu, marcarea timpului pe palierul activ H este reprezentat a n Figura 3.5-a, iar marcarea timpului cu frontul activ cresc ator/ anterior/ pozitiv sau cu frontul activ descresc ator/posterior/negativ este reprezentat a respectiv n Figura 3.5-b si 3.5-c. Marcarea pe palier(=interval) se face ntr-un mod mai grosier, pe c and marcarea pe front este un mod foarte precis.

SU
CLK iT a) (i+1)T b) CLK iT (i+1)T c) CLK iT (i+1)T d) CLK

iT

Figura 3.5 Semnale de ceas pentru sincronizare pe: a) pe palier; b,c) pe frontul pozitiv/crec ator respectiv negativ/descresc ator; d) fereastra de decizie = SU + H axat a pe frontul de sincronizare, pe durata c aruia semnalul de sincronizat nu trebuie s a si modice valoare.

3.2.1

Sincronizarea semnalelor asincrone

Inainte de prezentarea CLS sincrone se va analiza modul n care un semnal este sincronizat. Prin sincronizarea unui semnal se nt elege aducerea acelui semnal n ,, acela si timp cu semnalul de ceas. Aceasta nseamn a c a semnalul asincron este citit/e santionat si nscris ntr-un element de memorare numai n momentele discrete dictate de semnalul de ceas. Dar care va valoarea citit a pentru un semnal asincron

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

331

c and sincronizarea se face pe palier? dicil de spus deoarece semnalul ind cu variat ia ,, ,, asincron a poate s a si modice valoarea ntre 0 si 1 de nenum arate ori pe durata palierului impulsului de ceas; n aceast a situat ie n elementul de memorare se va nscrie valoarea pe care o are semnalul asincron pe frontul de sf arsit al palierului activ. Evident c a, pentru a face o citire corect a trebuie s a se impun a ca semnalul s a nu se modice pe durata palierului. La e santionarea pe front, conside and c a panta acestuia este innt a(durata frontului f = 0), condit ia de a se ment ine nemodicat semnalul asincron doar ntr-un singur punct este mai usor de ndeplinit. Dar si la sincronizarea pe front se impune ca semnalul asincron s a nu si modice valoarea pe un interval de timp de prestabilire SU (set-up) nainte de front si apoi pe nc a un interval de timp de ment inere H (hold) dup a front, relat ia 3.23; deci nici o modicare pe l a timea unei ferestre(de decizie) cu l a timea = SU + H axat a pe frontul semnalului de ceas, Figura 3.5-d. Aceast a restrict ie de nemodicare pe intervalul este impus a de c atre funct ionarea elementului zic bistabilul care realizeaz a citirea si memorarea semnalului asincron. Bistabilul(a se vedea Figura 3.5-d) la o modicare a semnalului asincron(de sincronizat) n intervalul , poate memora e valoarea logic a 1, e valoarea logic a 0, deci nu se poate controla valoarea care se nscrie(funct ionare nedeterminist a). Teoretic, aceste restrict ii de nemodicare n momentul e santion arii duc la armat ia c a un semnal asincron (ind asincron poate s a se modice oric and) nu poate sincronizat corect. Din analiza cazurilor urm atoare se va vedea c and aceast a concluzie este corect a si c and nu. Se consider a cazul c and trei semnale asincrone A = 0, B = 0, C = 1 sunt e santionate simultan dar numai semnalul C si modic a valoarea de la 1 la 0 n fereastra de decizie , centrat a pe frontul pozitiv de ceas de la momentul iT, Figura 3.6-a. Dup a frontul pozitiv de sincronizare se memoreaz a e cuv antul ABC = 001 e cuv antul ABC = 000, dar ambele cuvinte sunt corecte deoarece oricare dintre acestea sunt generate de c atre sursa cuv antulului ABC. Dac a la frontul iT se obt ine cuv antul ABC = 001 la urm atorul front de sincronizare (i + 1)T , consider and c a semnalul C si p astreaz a nemodicat a noua valoare 0, se memoreaz a valoarea corect a, adic a ABC = 000. Deci necitirea corect a la momentul iT poate privit a ca o nt arziere a sincroniz arii cu un tact a cuv antului ABC = 000. Cazul c and pentru cele trei semnale asincrone, n fereastra de decizie de pe frontul pozitiv al semnalului de ceas de la momentul iT, se modic a dou a dintre semnale, C de la 1 la 0 si B de la 0 la 1, este reprezentat n Figura 3.6-b. Dup a frontul pozitiv de sincronizare se pot memora unul din urm atoarele patru cuvinte ABC = 001, 010, 000, 011, iar dup a al (i+1)T front de sincronizare, dac a nu mai apar modic ari, cu nt arziere de un tact se obt ine cuv antul corect ABC = 010. Deci n intervalul dintre iT si (i+1)T, datorit a indeciziei semnalului citit, pot ap area si cuvintele ABC = 000 si ABC = 011 care sunt incorecte deoarece sursa nu a generat aceste cuvinte ci doar cuvintele 001 si 010. Deci la modicarea a doi sau mai mult i bit i, sincronizarea nu poate sigur a. In concluzie pentru sincronizarea corect a a unui grup(cuv ant) de semnale asincrone este necesar a respectarea restrict iei ca la un moment dat s a se modice doar un singur semnal. Cazul particular c and aceste semnale se obt in ca un cuv ant de la un CLC cu ie siri multiple, posibil nc arcate cu hazard, pentru o sincronizare corect a este necesar s a se a stepte p an a se consum a timpul de propagare pentru producerea acestor semnale. Dac a pentru un grup de semnale c and sunt sincronizate se consider a ecare

332

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

A 1 0 1 B 0 1 C 0

t t

SU
CLK
A=0 B=0 C=1 iT

SU
A=0 A=0 B=0 sau B=0 C=0 C=1 corect corect

a)

(i+1)T

A=0 B=0 C=0 corect

A1 0 1 B 0 1 C 0

t t

SU
CLK
A=0 B=0 C=1 iT

SU
A=0 A=0 A=0 A=0 B=0 sau B=1 sau B=0 sau B=1 C=1 C=0 C=1 C=0 corect corect incorect incorect

b)

(i+1)T

A=0 B=1 C=0 corect

Figura 3.6 Sincronizarea(memorarea) semnalelor asincrone: a) nscrierea corect a a unui cuv ant c and se modic a doar un singur bit; b) posibilitatea de nscriere incorect a c and se modic a mai mult de un singur bit n fereastra de decizie . semnal cu semnicat ie individual a, deci nu o semnicat ie n grup/ n cuv ant, atunci sincronizarea ec aruia n parte este corect a n oricare moment de timp. Pe c and la un grup de semnale asincrone care se constituie ntr-un cuv ant de cod, codul exprimat de acel cuv ant depinde de valoarea tuturor semnalelor din acel cuv ant si nu doar de unul singur, sincronizarea corect a este imposibil a.

3.2.2

Automate nite: structur a, denit ii, clasic ari

Structura de principiu a unui CLS sincron se obt ine din cea a unui CLS asincron, Figura 3.1, n care elementele de nt arziere i sunt substituite cu elemente de memorare/(registru de stare) ca n Figura 3.7-a (Registrul de stare este un circuit registru prezentat n sect iunea 3.5. Registrul este un circuit de memorare n care se poate nscrie un cuv ant binar numai la aplicarea unui semnal de nc arcare/ nscriere, momentan consider am c a semnalul de nc arcare este semnalul de ceas. Dup a nscriere, cuv antul este permanent generat la ie sirea registrului si poate utilizat ca intrare la alte circuite.) Bit ii wi calculat i ai funct iei de excitat ie, cuv antul st arii urm atoare, vor nscri si n registrul de stare numai n momentele de aplicare ale fronturilor active(pozitive)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

333
Y(i+1)T:=Y(iT)

X(iT)

Y(iT)=f(X(iT),Z(iT))

Y(iT)

Y(iT)

Z(iT)

CLC

W(iT)=g(X(iT),Z(iT))

Q(iT)

CLC

Q (iT)

Registru

Q((i+1)T):=Q (iT) Registru de stare CLK a) T q(i1)T iT Timp de stare,q(iT) Perioada tranzitorie Perioada stabila W(iT)=g[x(iT),Z(iT)] Y(iT)=f[x(iT),Z(iT)] b) x(iT) Z(iT):=W((i1)T) Y(iT):=Y((i1)T) w(iT) y(iT) (i+1)T CLK c)

Q((i+1)T):=Q (iT)

T Timp de stare,q((i+1)T) Perioada stabila


W((i+1)T)=g[X(i+1)T,Z(i+1)T] W((i+1)T)=f[X(i+1)T,Z(i+1)T]

(i+2)T q((i+2)T)

Perioada tranzitorie

x((i+1)T)

w((i+1)T) y((i+1)T)

x((i+2)T)

Z((i+1)T):=W(iT) Y((i+1)T):=Y(iT)

Z((i+2)T):=W((i+1)T) Y((i+2)T):=Y((i+1)T)

Figura 3.7 Circuitul secvent ial sincron: a) structur a de principiu; b) succesiunea n timp a operat iilor de transfer f si de tranzit ie g ; c) structura de principiu pentru CLS sincron cu ie sirea n arziat a. din semnalul de ceas . . . , (i 1)T, iT, (i + 1)T, . . .. Odata nscri si bit ii st arii urm atoare n momentul iT , n registrul de stare, ace stia vor devenii bit ii st arii prezente Z (iT ). Pe baza st arii prezente Z (iT ) si intr arii X (iT ) (se consider a c a intrarea este sincronizat a cu acela si semnal de ceas ca si bit ii st arii prezente) se va calcula transferul intrare ie sire si funct ia de excitat ie pentru starea urm atoare, Y (iT ) = f [X (iT ), Z (iT )] W (iT ) = g [X (iT ), Z (iT )]

(3.6)

La urm atorul impuls de ceas (i + 1)T , bit ii calculat i W (iT ) ai st arii urm atoare q + (iT ) sunt nscri si n registrul de stare si devin bit ii Z ((i +1)T ) ai st arii prezente q ((i +1)T ). Din nou, pe baza st arii prezente q ((i +1)T ) si a intr arii X ((i +1)T ) se calculeaz a dup a relat iile 3.6, ie sirea Y ((i + 1)T ) si bit ii funct iei de excitat ie W ((i + 1)T ) care nscri si n registrul de stare, la momentul (i + 2)T , devin bit ii Z ((i + 2)T ) ai st arii prezente q ((i + 2)T ). Se observ a c a asignarea st arii urm atoare calculate Q + (iT ), reprezentat a

334

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

prin bit ii funct iei de excitat ie W (iT ), n stare prezent a Q((i + 1)T ) se face numai n momentul (i + 1)T prin nscrierea n registrul de stare Q((i + 1)T ) := Q + (iT ). Numai n momentul aplic arii frontului activ al semnalului de ceas, pentru nscrierea n registrul de stare, se poate considera c a bucla este nchis a n restul intrevalului de timp, p an a la aplicarea urm atorului front activ al impulsului de ceas, bucla este deschis a. Deci, nu exist a un transfer continuu a st arii urm atoare calculat a Q+ n stare prezent a Q pe leg atura de react ie ca la CLS asincron. In intervalul de timp dintre dou a fronturi active ale semnalului de ceas, circuitul poate privit ca un circuit combinat ional, care pe baza cuvintelor de intrare X (iT ) si Z (iT ) calculeaz a ie sirile Y (iT ) si W (iT ). Inexistent a unui transfer continuu pe conexiunea de react ie, cu except ia momentelor aplic arii fronturilor active ale semnalelor de ceas, i confer a CLS-ului asincron o funct ionare de circuit deschis care totdeauna este stabil, adic a trece dintr-o stare stabil a n alt a stare stabil a. Transferurile ntre dou a impulsuri succesive de ceas, pe partea combinat ional aa circuitului secvent ial sincron sunt prezentate n Figura 3.7-b. Din momentul aplic arii impulsului de ceas iT se calculeaz a, pe partea combinat ional a, W (iT ) si Y (iT ), dar bit ii acestor congurat ii calculate pot afectat i de hazard datorit a parcurgerii unui num ar diferit de niveluri logice, deci citirea lor trebuie facut a numai dup a consumarea regimului tranzitoriu. Asignarea st arii prezente Q((i +1)T ) := Q + (iT ) si citirea ie sirii Y (iT ) sunt corecte numai n perioada de regim stabilizat. Aplicarea urm atorului impuls de ceas nu trebuie s a e mai devreme de consumarea regimului tranzitoriu, deci frecvent a maxim a a semnalului de ceas cu care se poate comanda CLS-ul se determin a cu relat ia: fmax = n care: pmaxCLC - timpul de propagare maxim pe circuitul combinat ional(care determin a durata regimului tranzitoriu, afectat de hazard). pBQ - timpul de propagare pe registrul(bistabilul) de stare. SUQ - timpul de prestabilire (gura 3.5-d). Bit ii calculat i w i ai st arii urm atoare si aplicat i pe intrarea registrului de stare trebuie s a nu se modice cu cel put in SU nainte de aplicarea frontului activ de ceas. De foarte multe ori, la fel ca si bit ii calculat i W (iT ) ai st arii urm atoare si bit ii calculat i Y (iT ) ai cuv antului de ie sire nainte de a disponibili la ie sire sunt memorat i ( nscri si ntr-un registru de ie sire), Figura 3.7-c. Deci, bit ii Y (iT ) calculat i pentru impulsul de ceas iT vor disponibili la ie sire la urm atorul impuls de ceas (i + 1)T numai dup a ce au fost nscri si n registru, Y ((i +1)T ) := Y (iT ). Un astfel de CLS este referit cu nt arziere n contrast cu cel f ar a registru care este referit CLS imediat. La un CLS sincron imediat ie sirea depinde de starea curent a. Modicarea intr arii se simte la ie sire pe durata st arii prezente. Ie sirea poate afectat a de hazard, deci trebuie citit a doar dup a consumarea regimului tranzitoriu. CLS sincron cu nt arziere are ie sirea dependent a de starea anterioar a(corespunz atoare ciclului anterior de ceas). Deoarece se presupune c a bit ii de ie sire au fost nscri si n registrul de ie sire dup a 1 Tmin = 1 pmaxCLC + pBQ + SU Q (3.7)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

335

consumarea regimului tranzitoriu, ie sirea nt arziat a nu este afectat a de hazard. Deci ,, la un circuit cu nt arziere o modicare a intr arii X (iT ) se va simt ii la ie sire numai dup a frontul activ de ceas (i + 1)T , adic a cu o nt arziere de un tact. Structura de CLS sincron care cont ine n bucla de react ie un circuit de memorare/registru, care la r andul s au constituie un CLS, este referit a prin termenul de automat (nit) sau cu abreviat ia FSM (Finite State Machine). In continuare se vor prezenta succint doar acele denit ii si clasic ari ale automatelor [Creang a 73][S tefan 00] [Maican 99] care vor utilizate n aceast a lucrare. Denit ia unui automat nit A este similar a cu cea data prin relat ia 3.5 pentru un CLS asincron cu deosebirea c a timpul nu mai este o variabil a continu a ci discret a, multiplu de perioada semnalului de ceas, iT , adic a variabilele circuitului sunt e santionate dar pe fronturile active A = (X, Y, Q, f, g ) (3.8)

Denit ia 3.1 Dac a pentru oricare congurat ie de intrare si de stare prezent a, funct iile de transfer, f , si de tranzit ie, g , au cardinalul unitate(cont ine un singur element), atunci automatul este determinist, altfel este nedeterminist q Q, x X, |f (q, x)| = 1, |g (q, x)| = 1 (3.9)

Denit ia 3.2 Un automat A este nit dac a cele trei mult imi X, Y si Q sunt nite. Este necesar a se evident ia faptul c a un automat cu un num ar nit de st ari poate prelucra siruri innite aplicate pe intrare, denite pe mult imea nit a X, si poate genera la ie sire siruri innite, denite pe mult imea nit a Y. Denit ia 3.3 Un automat A autonom, sau orologiu, este un automat la care mult imea nit a a intr arilor are cardinalul unitate |X | = 1 Pentru automatul autonom, mult imea congurat iilor de intrare este permanent aceea si ceea ce d a automatului o comportare independent a de exterior, vezi Exemplul 3.2. Automatul genereaz a variat ii la ie sire f ar a s a se modice congurat ia de intrare. Denit ia 3.4 O evolut ie/traiectorie a automatului A este un sir de st ari nl ant uite q0 q1 . . . qi qi+1 . . ., iar starea q0 este starea init ial a a evolut iei. O evolut ie cu proprietatea: qi Q, Xi X, qi+1 g (qi , Xi ) este o evolut ie admisibil a Denit ia 3.5 Totalitatea st arilor din care poate porni automatul este mult imea st arilor init iale Q0 , Q0 Q In funct ie de cardinalul mult imii Q0 automatele pot : (3.10)

La un automat determinist din starea prezent a si pentru intrarea aplicat a se cunoa ste exact ie sirea precum si starea pentru tactul urm ator, pe c and la unul nedeterminist, starea urm atoare si ie sirea sunt cunoscute doar ca elemente care apart in P (Q), respectiv P (Y ) (vezi relat ia 3.4).

336

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

- automat cu o singur a stare init ial a Q0 Q, |Q0 | = 1 - automat cu mai multe st ari init iale Q0 Q, |Q0 | > 1 - automat neinit ial(toate st arile pot init iale), Q 0 = Q Intr-o stare init ial a nu se ajunge printr-o evolut ie generat a de congurat ii din mult imea semnalelor de intrare X ci printr-o alt a comand a exterioar a, de exemplu printr-o comand a de init ializare/reset sau prin conectarea la tensiune se genereaz a starea init ial a. Denit ia 3.6 O stare a automatului este considerat a inaccesibil a dac a oricare traiectorie n spat iul st arilor ce porne ste din st ari init iale nu o cont ine. Evident, se poate vorbi de st ari inaccesibile numai n cazul automatelor init iale |Q0 | 1. De exemplu, dac a pentru un automat cu trei bit i de stare z 2 z1 z0 pot exista opt st ari q0 , q1 , q2 , q3 , q4 , q5 , q6 , q7 , q8 , dar sunt denite numai cinci st ari, q0 q4 , n funct ionarea automatului atunci cele trei st ari, q 5 , q6 , si q7 sunt inaccesibile. Denit ia 3.7 Dou a st ari qi si qj sunt echivalente qi qj dac a pentru oricare congurat ie de intrare aplicat a X se genereaz a acelea si ie siri, iar st arile urm atoare qi+1 = g (qi , X ), qj +1 = g (qj , X ) sunt identice sau echivalente. f (qi , X ) = f (qj , X ); g (qi , X ) g (qj , X ) (3.11)

In etapa de denire a funct ion arii unui automat se poate introduce informat ie redundant a care duce la un num ar total de st ari mai mare dec at num arul de st ari care poate descrie funct ionarea automatului. Dac a un grup de st ari se demonstreaz a c a sunt echivalente, toate st arile acelui grup sunt substituite printr-o singur a stare, astfel reduc andu-se num arul total de st ari ale automatului. Denit ia 3.8 Un semiautomat, SA, este denit prin tripletul: SA = (X, Q, g ) (3.12)

Prin not iunea de semiautomat se identic a n cadrul unui automat numai acea parte care este responsabil a pentru generarea st arii interne. Structural, semiautomatul se obt ine prin eliminarea din structura automatului a part ii care calculeaz a funct ia de transfer, f . Pentru cele patru organiz ari de automate reprezentate n Figura 3.8 sunt delimitate structurile care formeaz a semiautomatul, SA. Semiautomatul este format din partea de circuit combinat ional, CLC1, care calculeaz a funct ia g si registrul din calea de react ie. Unui semiautomat i se pot ata sa diferite p art i combinat ionale, CLC2, pentru diferite funct ii f , deci pe baza unui semiautomat se pot realiza mai multe automate. Dar si unui automat i se pot asocia diferite semiautomate. In proiectarea unui automat se porne ste de la denirea funct ion arii automatului adic a de la descrierea funct iei de transfer intrare-ie sire. Deoarece transferul intrare,, ie sire este dat, proiectantului i r am ane spat iu de manevr a doar n proiectarea si optimizarea semiautomatului. In funct ie de modul cum se calculeaz a funct ia de transfer f a automatului, exist a dou a tipuri de automate:Mealy si Moore.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS


X(iT) X(iT)

337
Y((i+1)T):=Y(iT)

CLC 2 f SA

Y(iT)

CLC 2 f SA

Y(iT)

Registru 2

Q(iT) CLK

CLC 1 g

Q (iT)

Registru 1

Q(iT) CLK

CLC 1 g

Q (iT)

Registru 1

Q(iT):=Q ((i1)T) a) X(iT) Q(iT) CLK Q(iT):=Q ((i1)T) Y((i+1)T):=f(Q(iT)) c) d)


+

Q(iT):=Q ((i1)T) b)

SA CLC 1 Q (iT) g
+

Reg 1

X(iT) CLC 2 Y((i+1)T) Q(iT) f CLK

SA CLC 1 g
Q (iT)
+

Reg 1

CLC 2 f

Reg 2

Q(iT):=Q ((i1)T)

Y((i+2)T):=f(Q(iT))

Figura 3.8 Variante de automate Mealy si Moore structurate pe baza unui semiautomat, SA: a,b) structurare fundamental a pentru automatele Mealy imediat si Mealy cu nt arziere; c,d) structurare fundamental a pentru automatele Moore imediat si Moore cu nt arziere. Denit ia 3.9 cu: f : X Q Y g : X Q Q Un automat Mealy este denit prin cvintuplu A=(X,Y,Q,f,g)

(3.13)

La automatul Mealy parte combinat ional a calculeaz a at at funct ia de transfer f c at si cea de tranzit ie g pe baza produsului cartezian X Q. Denit ia 3.10 cu: f :QY g : X Q Q Un automat Moore este denit prin cvintuplu A(X,Y,Q,f,g)

(3.14)

La automatul Moore funct ia de tranzit ie g se calculeaz a la fel ca la automatul Mealy, pe baza produsului cartezian X Q, pe c and funct ia de transfer f este calculat a doar pe baza st arii prezente Q. Ie sirea automatului Moore este dependent a de intrare doar prin intermediul tranzit iilor realizate n spat iul st arilor. Fiecare din aceste dou a tipuri de automate poate realizat cu funct ionare imediat a sau nt arziat a, Figura 3.8. Automatul Mealy imediat, Figura 3.8-a. Se observ a c a structura acestui automat se obt ine prin completarea semiautomatului SA cu CLC2 care calculeaz a ie sirea

338

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

Y (iT ) pe baza produsului cartezian dintre starea prezent a si intrarea prezent a Y (iT ) = f (X (iT ), q (iT )) Ie sirea Y (iT ) citit a nainte de consumarea perioadei de regim tranzitoriu va afectat a de hazard. Mai mult, dac a intrarea nu este sincronizat a,cum am considerat, ci se modic a asincron oric and n intervalul iT si (i + 1)T , aceste modic ari se simt n ie sire. Automatul Mealy cu n arziere, Figura 3.8-b. Completarea SA se face at at cu circuitul CLC2 pentru calculul funct iei de transfer, f , c at si cu un registru, Reg2, pentru memorarea ie sirii Y (iT ). Introducerea unui registru va face ca modic arile provocate n ie sirea Y (iT ) pe intervalul iT (i + 1)T , datorate regimului tranzitoriu, de la o intrare sincronizat a, sau datorate variat iilor intr arii, de la o intrare asincron a, sa nu mai poata ajunge la ie sire. Valoarea ie sirii este asignat a, doar n momentele de aplicare a frontului activ de ceas la Reg2, cu valoarea calculat a pe baza intr arii si st arii anterioare Y ((i + 1)T ) := f (X (iT ), q (iT )) deci ie sirea reect a intrarea cu o nt arziere de un tact. Automatul Moore imediat, Figura 3.8-c. Deoarece la acest automat ie sirea se calculeaz a ca funct ie numai de stare prezent a, relat ia 3.14, la SA se adaug a circuitul CLC2 care are ca intr ari doar starea prezent a. Deoarece n starea prezent a se reect a intrarea anterioar a si nu cea prezent a, ie sirea este nt arziat a cu un tact fat a de intrare(la fel ca la automatul Mealy cu nt arziere). Deci pentru intrarea prezent a se obt ine ie sirea numai peste un tact. Y ((i + 1)T ) := f (q ((i + 1)T )) = f (g (X (iT ), q (iT ))) De si se obt ine o izolare a ie sirii fat a de intrare, nu exist a doar CLC2 intre intrare si ie sire, totu si automatul Moore imediat poate genera hazard pe ie sire. Hazardul este generat de faptul c a circuitul CLC2 poate avea de la intrarea(ie sirea Reg1) p an a la ie sirea sa un num ar diferit de niveluri logice pentru ecare traseu de transfer. Foarte frecvent, la acest tip de automat se elimin a circuitul CLC2, ie sirea ind identic a cu starea Y Q (3.15)

ceea ce elimin a hazardul combinat ional din ie sire. Comportamental, un automat Moore imediat poate echivalent cu un automat Mealy cu nt arziere deoarece la ambele ie sirea calculat a pe baza st arii prezente si a intr arii prezente va asignat a la ie sire dar pe urm atorul front activ de ceas. Automatul Moore cu nt arziere, Figura 3.8-d. Pentru a se elimina posibilitatea de hazard pe ie sire de la automatul Moore imediat se adaug a pe ie sire un registru, Reg2, obt in andu-se automatul Moore cu nt arziere. La nt arzierea ie sirii fat a de intrare cu un tact de la Moore imediat, de data aceasta se mai introduce ,, nc a o nt arziere de un tact, deci automatul Moore cu nt arziere simte o intrare transferat a la ie sire cu o nt arziere de doua tacturi. Y ((i + 2)T ) := f (q ((i + 1)T )) = f (g (X (iT ), q (iT )))

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

339

O Clasicare Neclasic a a Circuitelor Digitale. Clasicarea clasic a a circuitelor digitale n dou a mare clase: circuite logice combinat ionale, CLC si circuite ,, logice secvent iale CLS este foarte nc ap atoare , prezent and o puternic a lips a de nuant are. In ecare din cele dou a clase sunt cuprinse at at circuite cu o denit ie simpl a c at si circuite cu o denit ie complex a, at at circuite nestructurate c at si circuite puternic structurate. Mai mult, dac a pentru circuitele combinat ionale se poate face o mapare direct a ntre ce vrem s a facem (funct ie) si cum vrem s a facem (structur a), la circuitele secvent iale aceast a mapare structur afunct ie nu totdeauna este biunivoc a. O tendint a de structurare a circuitelor a existat permanent n concept ia inginereasc a, at at pentru a realiza un suport de cuprindere si nt elegere dar si pentru modalit a tile de implementare dictate de tehnologie. In evolut ia sistemelor n natur a dar si n abordarea mental a a acestora este evident saltul care apare la trecerea de la sistemul deschis la sistemul nchis(cu react ie), adic a introducerea conexiunii de react ie. Un sistem cu react ie n raport cu cel deschis(f ar a react ie) poate c ap ata o anumit a autonomie fat a de intrare, o anumit a adaptabilitate. In funct ie de modul cum se structureaz a sistemul, baz andu-se pe react ie/react ii, acesta poate deveni chiar complet autonom fat a de intrare(vezi Denit ia 3.3 ), iar spectrul funct iilor realizate poate extins. Bazat pe not iunea de react ie, n extensiile structurate, profesorul Gh.S tefan [S tefan 91] a postulat o abordare de clasicare pentru sistemele digitale care este redat a n continuare.

x1 S1 y1 S2 a) y2 x1 S1 y1 b)

x x2 S2 y2 y c) S1 y1 x3 S3 y1

x S2 y2 x4 S4 y y2 d) y xr

S sr

Figura 3.9 Procedee pentru structurarea sistemelor digitale: a) extensia serie; b) extensia paralel; c) extensia serie-paralel; d) extensia prin nchiderea unei bucle de react ie. 1. Extensia sistemelor digitale se face prin urm atoarele procedee: a - extensia serie, Figura 3.9-a b - extensia paralel, Figura 3.9-b c - estensia serie-paralel, Figura 3.9-c d - extensia prin introducerea unei bucle de react ie, Figura 3.9-d 2. Sistemul de ordinul zero, SO 0, este circuitul combinat ional, deoarece nu are nici o bucl a de react ie. Ordinul unui sistem poate de la 0 la n, respectiv notat

340

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

prin(SO 0, SO n) corespunz ator num arului de la 0 la n al buclelor de react ie care se includ una n alta. 3. Extensiile de tip a, b, c, ale unor sisteme ce au un ordin egal cu n, genereaz a tot un sistem de ordin n. 4. Extensia de tip d, (printr-o conexiune de react ie) ntr-o ret ea de sisteme ce cont in cel put in un sistem de ordin n, genereaz a un sitem de ordin n + 1. De exemplu, n aceast a sect iune s-a introdus not iunea de automat care se ncadreaz a n SO 2 deoarece cuprinde registrul de stare, care are o react ie n structura sa, deci este un SO 1, peste care se nchide nc a o bucl a(cea care transform a starea urm atoare calculat a n stare prezent a), deci dou a bucle de react ie. Utiliz and aceast a abordare de clasicare, implicit, se nt elege c a sistemele de ordin superior au o mai evident a sl abire a corespondent ei biunivoce, structur a-funct ie, n raport cu cele de ordin mai redus, pentru c a includ mai multe conexiuni de react ie. In aceast a lucrare se utilizeaz a totu si, clasicarea clasic a de circuite combinat ionale si circuite secvent iale, dar n cadrul circuitelor secvent iale pentru ecare grup de circuite se va indica si ordinul n care se ncadreaz a conform postul arii anterioare.

3.2.3

Modalit a ti de reprezentare ale automatelor

In capitolul doi, dup a denirea CLS, s-au prezentat modalit a ti de reprezentare ale funct iei de transfer intrare-ie sire, sectiunea 2.2. S i n acest capitol, dup a fundamentarea structur arii si funct ion arii unui CLS, se vor prezenta modalit a ti de reprezentare ale celor dou a funct ii f si g . De data aceasta sunt mai numeroase modalit a tile de reprezentare, dintre acestea vor expuse doar: Gracul de tranzit ie al st arilor, Tabelul de tranzit ie al st arilor, Diagrama de variat ie n timp a semnalelor, Organigrama ASM . Evident c a se va alege acea modalitate de reprezentare care duce la o m asur aa complexit a tii c at mai simpl a. Complexitatea, dup a cum s-a ar atat n Denit ia 2.1, poate apreciat a printr-o m arime asociat a dimensiunii denit iei. O variant a de estimare a complexit a tii unui CLS ar prin num arul total de bit i n produsul cartezian X Q. Pentru un automat cu n intr ari principale, k intr ari secundare si m ie siri se estimeaz a o masur a a complexit a tii aparente CA A (n, k ) O((n + k )2n+k ); 2n+k combinat ii(cuvinte) de intrare, ecare cuv ant cu lungimea de (n + k ) bit i), deci o valoare foarte ridicat a. S-ar putea estima complexitatea si numai dup a num arul de ie siri CAA (m) O(m). Din aceste dou a exprim ari rezult a, evident, c a un automat este cu at at mai simplu de denit cu c at produsul X Q este de dimensiune mai mic a. Dar aceast a complexitate aparent a trebuie interpretat a ca limit a superioar a deoarece complexitatea real a poate mult mai mic a. Complexitatea real a poate mult mai mic a pentru c a n funct ionarea automatului se poate identica o anumit a ordine a ascuns a, anumite regularit a ti n structurare ceea ce n nal determin a o simplicare n denit ie. Oricum, n implementarea unui automat se prefer a o cre stere a dimensiunii n contul unei sc aderi a complexit a tii. Un sistem de complexitate sc azut a si dimensiune ridicat a poate implementat, pe c and implementarea unui sistem de complexitate foarte ridicat a, e si de dimensiune sc azut a, poate greu implementabil.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

341

3.2.3.1

Graful de tranzit ie al st arilor

Pentru un CLS sincron graful de tranzit ie al st arilor (diagrama de tranzit ie a st arilor) este o reprezentare grac a a funct iei de tranzit ie a st arilor, g , si a funct iei de transfer intrare-ie sire, f , pentru toate congurat iile de intrare X . In acest graf ec arui nod (cerculet ) i este asignat a o stare, iar ecare arc orientat ntre cele dou a noduri reprezint a tranzit ia ntre cele dou a st ari. Pentru un automat Mealy pe un arc de tranzit ie se noteaz a expresia logic a a variabilelor de intrare(expresia logic aa tranzit iei) sau congurat ia valorilor variabilelor de intrare pentru care aceast a expresie este adevarat a, care va provoca tranzit ia respectiv a, precum si valoarea congurat iei de ie sire Y generat a de aceast a tranzit ie. Evident, tranzit ia st arilor pe acel arc se realizeaz a numai c and expresia logic a a tranzit iei scris a pe acel arc este adevarat a. Pentru un automat Moore, deoarece ie sirile sunt funct ii doar de starea prezent a, f : Q Y , pe arce nu sunt trecute congurat iile de ie sire Y generate de tranzit iile respective, congurat ia de ie sire este nscris a n cerculet ul st arii prezente din care se genereaz a ie sirea respectiv a, iar pe arce se nscrie doar expresia logic a a tranzit iei sau congurat ia valorilor variabilelor de intrare pentru care expresia logic a a tranzit iei este adevarat a.

q0

x1 x0 0 x1x0 1 x1x 0 0

q1 q 0 y=1 q2 b)

x1 x 0 x1 x 0 x1 x 0 q 3 y=0

q1 y=1

a) q4

x1x 0 0 q3

x1 x 0 q 4 y=0

q 2 y=1

Figura 3.10 Graful de tranzit ie al st arilor: a) segment de graf pentru automat de tip Mealy; b) segment de graf pentru automat de tip Moore. La un automat, cu dou a intr ari x1 x0 si o ie sire y , tranzit ia din starea q0 n una din urm atoarele patru st ari posibile q1 , q2 , q3 , q4 , graful de tranzit ie este reprezentat n Figura 3.10-a, pentru o funct ionare de tip Mealy si n Figura 3.10-b, pentru o funct ionare de tip Moore. La graful de tip Mealy n noduri sunt nscrise numai st arile, iar pe ecare arc este trecut a expresia logic a a tranzit iei/valoarea congurat iei de ie sire; la graful de tip Moore n noduri, pe l ang a stare este nscris a si congurat ia de ie sire, iar pe ecare arc este trecut a doar expresia logic a a tranzit iei. Dac a la impulsul de ceas iT automatul ajunge n starea q 0 la cel de tip Moore se genereaz a ie sirea y = 1, iar la cel de tip Mealy n aceast a stare q 0 se genereaz a y = 1 numai dac a ii (00,10,11) se congurat ia de intrare este 01(xx0 = 1) pentru celelalte trei congurat genereaz a y = 0. La urm atorul impuls de ceas (i + 1)T se trece n starea urm atoare pentru care expresia logic a a variabilelor de intrare este adev arat a, de exemplu pentru n starea q3 (unde y = 0 pentru automatul Moore, valoarea 10(x1 x0 = 1) se trece

342

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

pentru y la automatul Mealy nu este precizat a deoarece din aceast a stare, n acest caz, nu mai este gurat nici un arc de tranzit ie la o alt a stare). Exemplul 3.3 Un automat cu dou a intr ari x1 , x0 si o singur a ie sire y , genereaz a ie sirea egal a cu 1 numai c and din sirul de succesiuni aplicate pe intrare se identic a secvent a 00, 00, 11, 10. Pentru acest automat s a se deseneze graful de tranzit ie al st arilor at at pentru o funct ionare de tip Mealy c at si pentru o funct ionare de tip Moore. Solut ie. In general, pentru aceste automate de recunoa stere, care pot considerate chei electronice, n elaborarea grafului de tranzit ie se urm are ste realizarea unei succesiuni de st ari care corespund aplic arii pe intrare tocmai a succesiunii c autate. Se porne ste dintr-o stare q0 , considerat a starea init ial a.
00/0 01/0 10/0 11/0 00/0 00/0 11/0

q0

01/0, 10/0, 11/0 10/0,01/0

q1

q2
00/0

q3

a) x1x 0 /0 x 1+ x 0 /0 b) q0 x 1+ x 0

10/1,01/0,11/0

x1x 0 /0 x1x 0 /0 q1 (x1x 0 + x1x 0 )/0 x1x 0 /1 , x 0 /0


10 00 00 00 11

x1x 0 /0 q2 x1x 0 /0 q3

q4 /1
00

01 10 11

11

,1

0,

01

q0 /0
01, 11, 10

q1 /0
10, 01 01, 11

q2 /0
00

q3 /0

c)

Figura 3.11 Grafuri de tranzit ie pentru automatul care identic a succesiunea 00 00 11 10: a) pentru un model Mealy cu marcarea pe arce a congurat iilor de intrare si ie sire; b) pentru un model Mealy dar cu nscrierea pe arce a expresiei logice a funct iei de tranzit ie; c) pentru un model Moore.
Pentru varianta de automat Mealy numai congurat ia x1 x0 = 00 corespunde nceputului identic arii succesiunii impuse, deci pentru aceasta se realizeaz a o tranzit ie n starea q 1 , gener andu-se ie sirea y = 0 iar pentru celelalte trei congurat ii pe intrare posibile se ram ane tot n q0 si y = 0, Figura 3.11-a. La fel, n q1 numai congurat ia x1 x0 = 00 produce tranzit ia n q2 si genereaz a y = 0, celelalte trei congurat ii produc tranzit ia n q0 de unde se poate ncepe de la cap at identicarea succesiunii impuse. In q2 intrarea potrivit a este x1 x0 = 11

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

343

care determin a tranzit ia n q3 si genereaz a y = 0; intrarea x1 x0 = 00 poate considerat a ca o a doua combinat ie de 00 din succesiunea impus a, dup a cea care a produs tranzit ia dintre q1 si q2 , deci determin a o tranzit ie tot n q2 . Celelalte doua congurat ii 10 si 01 nu se potrivesc succesiunii impuse, deci provoac a o tranzit ie n q0 pentru o reluare a identic arii de la nceput. In starea q3 congurat ia de intrare potrivit a este 10 care ncheie identicarea cu succes a succesiunii impuse si care realizeaz a o tranzit ie n q1 , pentru o eventual a nou a identicare, si se genereaz a y = 1. Dac a n q3 congurat ia aplicat a este 00 aceasta este considerat a ca prima congurat ie din succesiunea impus a deci salt n q1 si continuarea identic arii. Congurat iile 01 si 11 aplicate n q3 nu se potrivesc succesiunii impuse, deci salt n q0 cu y = 0 pentru, eventual, o nou a identicare. Acela si graf de tranzit ie al st arilor este prezentat n Figura 3.11-b, dar de data aceasta pe arce, n locul congurat iilor valorilor de intrare, sunt nscrise expresiile logice ale variabilelor de intrare care determin a tranzit iile respective. Graful de tranzit ie al st arilor pentru automat n varianta Moore, Figura 3.11-c, se construie ste exact, ca si pentru varianta Mealy, p an a n starea q3 . Din starea q3 la aplicarea congurat iei 10, care ncheie cu succes identicarea succesiunii impuse, este necesar a o tranzit ie n starea q4 n care se genereaz a ie sirea y = 1(ie sire dependent a doar de stare). Din starea q4 pentru congurat ia 00 se realizeaz a o tranzit ie n q1 (aceast a congurat ie 00 este considerat a ca ind prima din succesiunea impus a, deci se reia procesul de identicare), iar pentru 11, 10, 01 salt n q0 de unde se poate relua de la nceput procesul de cautare.

Construct ia unui graf de tranzit ie al st arilor trebuie s a e f ar a ambiguit a ti, ceea ce impune pentru expresiile de tranzit ie nscrise pe arcele care pornesc dintr-o stare s a e mutual exclusive si toate incluse. Tranzit iile sunt mutual exclusive dac a, dintr-o stare, pentru aceea si congurat ie a valorilor de intrare nu exist a simultan transferuri la dou a s-au mai multe st ari(exist a transfer pe un arc numai atunci c and expresia respectiv a de transfer are valoarea 1). Se poate verica dac a dintr-o stare nu exist a transferuri simultane, efectu and produsul logic ntre expresiile de transfer de pe c ate dou a arce de transfer care pornesc din starea respectiv a, aceste produse trebuie s a aib a totdeauna valoarea zero pentru oricare congurat ie a valorilor variabilelor de intrare. Pentru n arce care pornesc dintr-o stare num arul total de perechi pentru care se face produsul expresiilor de transfer este egal cu n(n 1)/2. Congurat iile valorilor de intrare testate, pentru care produsul logic al expresiilor de transfer de pe dou a arce are valoarea 1, sunt referite ca ind dublu acoperite (de dou a transferuri). Tranzit iile sunt toate incluse dac a suma logic a a expresiilor de pe arcele care pornesc dintr-o stare este totdeauna egal a cu 1 pentru oricare congurat ie a valorilor variabilelor de intrare testate; congurat iile de valori ale variabilelor de intrare testate pentru care aceast a sum a logic a este egal a cu zero sunt referite prin congurat ii neacoperite. Cu ajutorul unei diagrame V-K, de toate variabilele care se testeaz a n starea respectiv a, se pot determina congurat iile neacoperite precum si congurat iile dublu acoperite. Pentru aceea si funct ionare o implementare sub form a de automat Moore necesit a mai multe st ari dec at implementarea sub form a de automat Mealy, ceea ce s-a v azut si din Exemplul 3.3. In general, modelul Mealy este uzual pentru circuitele secvent iale sincrone, iar modelul Moore pentru circuitele asincrone. Graful de tranzit ie al st arilor/ie sirilor este un instrument portrivit pentru vericarea funct ion arii automatului.

344 3.2.3.2

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

Tabelul de tranzit ie al st arilor

Informat ia cont inut a n graful de tranzit ie al st arilor/ie sirilor poate transpus a ntr-o form a mult mai practic a pentru sinteza automatului tabelul de tranzit ie al st arilor( si ie sirilor). In tabelul de tranzit ie al st arilor exist a at atea linii c ate st ari destincte prezint a automatul si at atea coloane c ate cuvinte diferite se pot aplica la intrare. Un element al tabelului tranzit iilor, aat la intersect ia unei linii cu o coloan a, va reprezenta starea urm atoare/ie sirea a automatului obt inut a la tranzit ia din starea prezent a corespunz atoare acelei linii prin aplicarea la intrare a cuv antului de pe acea coloan a. Uneori, elementele tabelului cuprind numai starea urm atoare, pentru ie siri se ntocme ste un tabel de aceea si form a ale c arui elemente sunt ie sirile corespunz atoare denumit tabelul ie sirilor. Tabelul ie sirilor pentru automatul Moore se reduce doar la o singur a coloan a, av and at atea elemente c ate st ari distincte exist a(ie sirile sunt funct ii numai de starea prezent a). Tabelul de tranzit ie al st arilor, care este o reprezentare abstract a a automatului, permite o comparare sistematic a a st arilor pentru identicarea perechilor de st ari echivalente(vezi Denit ia 3.7 ) Exemplul 3.4 Pentru automatul reprezentat n cele dou a modele Mealy si Moore, n Figura 3.11, s a se construiasc a tabelele de tranzit ie ale st arilor/ie sirilor

Modelul Mealy Starea urmatoare Starea prezenta q0 q1 q2 q3 a) Intrari x1 x0 Iesirea y Intrari x1 x0

Modelul Moore Starea urmatoare Starea prezenta q0 q1 q2 q3 b) q4 Intrari x1 x0 00 01 11 10 q1 q0 q0 q0 q2 q0 q0 q0 q2 q0 q3 q0 q1 q0 q0 q4 q1 q0 q0 q0 0 0 0 0 1 Iesire y

00 01 11 10 00 01 11 10 q1 q0 q0 q0 q2 q0 q0 q0 q2 q0 q3 q0 q1 q0 q0 q0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Figura 3.12 Tabelele de tranzit ie/ie sire pentru modelul Mealy(a) si Moore(b) ale automatului cu grafurile de tranzit ie din gura 3.11.
Solut ie. Tabelul de tranzit ie pentru modelul Moore, Figura 3.12-a, prezint a patru linii corespunz atoare celor patru st ari q0 , q1 , q2 , q3 si patru coloane c ate una pentru ecare cuv ant de intrare 00, 01, 11, 10; la fel se construie ste si tabelul ie sirilor. Pentru modelul Moore, Figura 3.12-b, tabelul st arilor va avea cinci linii, deoarece exist a o stare n plus fat a de modelul Mealy, n schimb tabelul ie sirilor se reduce la o singur a coloan a.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

345

3.2.3.3

Diagrame de variat ie n timp ale semnalelor

Uneori funct ionarea automatului poate descris a prin variat ia n timp a semnalelor de intrare, de stare si de ie sire. De si sugestiv a, pentru dinamica automatului, ,, aceast a modalitate devine foarte stufoas a c and num arul acestor semnale este mare. Diagrama de semnale este protrivit a n general la automatele generatoare care depind minimal de intrare sau chiar de loc(funct ionare autonom a). Pornind de la diagrama de semnale, n care se identic a st arile automatului, se poate deduce tabelul de tranzit ie al st arilor/ie sirilor si apoi se poate construi graful de tranzit ie. Exemplul 3.5 Pentru automatul a c arui funct ionare este prezentat a prin variat ia n timp a semnalelor din Figura 3.13-a, s a se deduc a graful de tranzit ie al st arilor/ie sirilor.

CLK x z1 z2 y a)

1 0 1

2 0 1

3 1 1

4 0 1

5 1 1

6 0 0

7 0 0

8 0 1

9 1 1

Starea prezenta 00 01 11 10

0 01/0 01/0 01/0

1 00/0 11/1 00/0

00 01 11 10

q0 q1 q2 q3

1/0

q0 1/0

0/0 0/0 q2 1/1

q1 0/0

b)

c)

q3

Figura 3.13 Descrierea funct ion arii automatului prin diagrame de variat ie n timp ale semnalelor(a): b) tabelul de tranzit ie dedus din diagramele de semnal; c) graful de tranzit ie al st arilor/ie sirilor.
Solut ie. Automatul prezint a o singura intrare asincron a x, o ie sire y si dou a intr ari de stare, z1 , z0 , care pot realiza urm atoarele patru cuvinte de stare:00, 01, 11, 10. Din diagrama de semnale la ecare front activ de ceas pentru valoarea intr arii si a cuv antului de stare prezent a se poate deduce valoarea cuv antului st arii urm atoare precum si valoare ie sirii; deci pe baza acestor informat ii se poate completa tabelul de tranzit ie al st arilor/ie sirilor din Figura 3.13-b. Consider and pentru ecare din cele patru valori de cuv ant c ate o stare 00 q0 , 01 q1 , 11 q2 , 10 q3 se obt ine graful de tranzit ie al st arilor/ie sirilor din Figura 3.13-c. Se observ a c a starea q3 este indiferent a, automatul nu va realiza niciodat a, la o funct ionare normal a, starea q3

Organigrama ASM ,, Pentru st ap anirea sistemelor digitale at at din punct de vedere al descrierii (complexit a tii) c at si din punct de vedere al implment arii(dimensiunii) foarte frecvent se

3.2.3.4

346

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

,, apeleaz a la segregarea acestuia(divide et impera ). In acest sens structurile digitale pentru procesare uxurilor de date sunt separate ntr-o cale de date si o cale de control, Figura 3.14. Calea de date opereaz a asupra datelor, pentru a realiza o anumit a procesare conform unui algoritm, si este compus a din elemente combinat ionale si secvent iale: sumatoare, decodicatoare, multiplexoare, num aratoare, registre, etc, vezi sect iunea 2.5.5.1. Calea de control controleaz a secvent ialitatea algoritmului de procesare realizat n calea de date. Structurat ntr-o astfel de manier a circuitul digital mai este referit si ca ma sina cu st ari algoritmice, ASM(Algorithmic State Machine), denumire corect a deoarece implementeaz a n hardware un algoritm de procesare date. Fluxurile de date sunt aplicate la intrarea n calea de date, unde supuse anumitor secvent e de procesare corespunz atoare unui algoritm, si se genereaz a la ie sire datele procesate. Calea de control pe baza unor comenzi aplicate din exterior si a unor condit ii citite din calea de date, genereaz a semnale de control care dirijeaz a secvent ele de procesare din calea de date. Calea de control are o structur a de automat 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 si o cale de control. Descrierea f ar a ambiguitate a funct ion arii unui ASM printr-un graf de tranzit ie al st arilor/ie sirilor poate deveni destul de greoaie si cu dicult a ti. Pentru evitarea acestor dicult a ti s-a preluat, cu unele modic ari pentru descrierea masinilor hardware algoritmice, ASM , modalitatea de descriere a algoritmilor utilizat a n dezvoltarea de soft, adic a organigrama(ow chart). Astfel s-a obt inut o organigram a pentru descrierile hardware referita prin organigrama ASM . Simbolurile grace utilizate n construct ia unei organigrame ASM sunt urm atoarele trei: 1. Dreptunghiul, Figura 3.15-a, repreznt a o stare a automatului. Prezint a o singur a intrare, o singur a ie sire, n partea st ang a se plaseaz a ncercuit numele st arii, n colt ul dreapta sus codul st arii (un cuv ant binar), iar n interior se nscriu ie sirile care devin active c and automatul este n aceast a stare. Deoarece ie sirea nscris a devine activ a totdeauna c and automatul este n starea respectiv a, indiferent de valoarea intr arilor, aceast a ie sire corespunde unei ie siri de tip Moore intr-un graf de tranzit ii(ie sire necondit ionat a) 2. Rombul, Figura 3.15-b, reprezint a elementul de decizie binar. In interiorul s au se nscrie variabila de intrare/expresii de variabile de intrare care se testeaz a. 3. Dreptunghiul rotunjit, Figura 3.15-c, este simbolul pentru ie sire condit ionat a, corespunde unei ie siri de tip Mealy intr-un graf de tranzit ii. Intrarea ntr-un

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

347

dreptunghi rotunjit este intotdeauna ie sirea de la un element de decizie n care se testeaz a condit ia ndeplinit a de anumite variabile de intrare pentru care ie sirea nscris a n dreptunghiul rotunjit este ndeplinit a. Ie sirea acestui simbol poate aplicat a la un alt romb sau la o stare urm atoare.
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 ie sire condit ionat a; d) structur a pentru un bloc de stare. Aceste elemente pot combinate impreun a pentru a forma celula de baz a a unei organigrame ASM -numit a blocul de stare, Figura 3.15-d. La un bloc de stare este obligatoriu prezent a unei st ari(dreptunghi), poate exista si o ret ea de simboluri de decizie si de simboluri de ie sire condit ionat a. Intr-un bloc de stare exist a doar o singur a cale de intrare, dar pot exista mai multe c ai de tranzit ie nspre alte blocuri de stare. Diferent a principal a ntre un bloc de stare si o organigram a pentru un program este modul cum se interpreteaz a timpul; la o organigram a operat iile sunt realizate succesiv n timp, una dup a alta, pe c and ntr-un bloc de stare, care este o unitate dintro organigram a ASM , toate operat iile se realizeaz a n acela si timp, concurent. De

348

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

exemplu, dac a acest bloc de stare este interpretat ca o organigram a de program(ow andu-se nscrierea valorii 1 n registrul R si chart), n ai se intr a n starea A , efectu variabila de contor I se decrementez a, apoi se realizeaz a operat ia de testare a intr arii x1 . Dac a x1 este adev arat a se trece la activarea ie sirii y 1 , dup a care se testeaz a valoarea variabilei de contor I (valoare care a fost decrementat a n starea A ) si n funct ie de valoarea de adev ar sau fals al acesteia, se realizeaz a o trecere respectiv la a x1 are valoarea de fals se trece la testarea lui x2 si st arile B sau C . Iar dac n funct ie de valoarea de adev ar sau fals se realizeaz a trecerea la starea D sau se testeaz a variabila de contor dup a care se ajunge n B sau C .

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 a) cu validarea simultan a a dou a cai de tranzit ie L1 si L3 sau L2 si L4 (a); form a de organigram a corectat a(b) Intr-o organigram a ASM , timpul are o curgere discret a, realiz andu-se o trecere n salturi de la un bloc de stare la un alt bloc de stare, trecere marcat a de impulsurile de ceas. De exemplu, pe frontul pozitiv al impulsului de ceas iT se intr a n blocul iile efectuate n paralel n blocul de de stare A reprezentat de starea A . Operat stare sunt: se nscrie registrul R cu valoarea 1; se decrementeaz a contorul I si se poate nscrie condit ionat ie sirea y1 si tot n paralel se testeaz a intr arile x1 , x2 si I obt in andu-se n funct ie de acestea ca una din cele cinci c ai de tranzit ie L 1 L5 s a aib a valoarea 1 pentru expresia funct iei de tranzit ie. Atent ie! n elementul de decizie pentru contorul I nu se testeaz a valoarea variabilei de contor I care s-a obt inut n urma decrement arii n starea A , ci se testeaz a valoarea lui I cu care a intrat n blocul

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

349

de stare; de fapt cele dou a operat ii, cea de decrementare din starea A , I I 1, si cea de testare din simbolul de romb, I = 0?, se realizeaz a n paralel si nu succesiv. Aceast a valoare decrementat a a contorului se va utiliza n blocurile urm atoare sau c and se revine n blocul de stare A , dac a ntre timp aceasta nu a mai fost modicat a n st arile care le-a mai parcurs. Mai sugestiv, am putea privi c a pe frontul pozitiv al impulsului de ceas iT se intr a n blocul de stare A, iar pe frontul pozitiv urm ator al impulsului (i + 1)T se realizeaz a simultan toate operat iile nscrise n blocul de stare A si se trece prin una din caile de tranzit ie, la una din starile urm atoare B C
D .

Pentru realizarea unei organigrame ASM corecte, f ar a ambiguit a ti, se impun anumite restrict ii: 1. Intr-un bloc de stare, prin ret eaua de elemente de decizie, pentru o congurat ie a valorilor variabilelor de intrare testat a, trebuie s a e validat a doar o singur a cale de tranzit ie(restrict ie similar a cu evitarea dublei acoperiri de la graful de tranzit ii). De exemplu, n Figura 3.16-a pentru congurat ia x 1 x0 = 00 exist ao n B , dar aceast a tranzit ie s-a realizat pe calea de transfer tranzit ie din A L1 sau L3 ? imposibil de spus. Sau, e congurat ia x1 x0 = 11 care va valida at si la starea simultan c aile de tranzit ie L2 si L4 cu trecere at at la starea B c C . Solut ia, pentru eliminarea ambiguit a tilor este rearanjarea elementelor de decizie prin nserierea lor ca n Figura 3.16-b

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 a pe aceea si cale de transfer L1 o variabil a at at pentru valoarea fals a c at si a o constant a: pentru valoarea adev arat a(x0 x0 = 0; x1 x1 = 0), deci testeaz 2. Evitarea conect arii simbolurilor de decizie, ntr-o ret ea a unui bloc de baz a, care s a determine condit ii logice imposibile pentru o cale de tranzit ie. Prin testarea unei variabile n mai multe simboluri de decizie care toate concur a la validarea unei c ai de tranzit ie, se poate ajunge ca acea variabil a sa e testat a at at pentru

350

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

valoare fals a c at si pentru valoare adev arat a x 0 x0 = 0, de exemplu calea de tranzit ie L1 din Figura 3.17. Totu si este perfect posibil ca aceea si variabil a s a e testat a n mai multe simboluri de decizie, dar printr-o structurare potrivit a s a nu e testat a de dou a ori pe aceea si cale de tranzit ie. 3. Orice cale de tranzit ie n aceea si stare(bucl a) trebuie s a includ a simbolul de stare. O bucl a de tranzit ie este necesar a c and automatul trebuie s a r am an a n aceea si stare un num ar de tacturi p an a c and este ndeplinit a condit ia de test. O bucl a aferent a unui bloc de stare trebuie s a ias a si s a reintre n acel bloc numai pe cale normal a ca n Figura 3.18-b.

A Bloc de stare A

A Bloc de stare A

B a)

B b)

Figura 3.18 Bloc de stare n care o bucl a este realizat a incorect(a), aceea si bucl a realizat a corect(b) Organigram ASM se obt ine dintr-o ret ea de blocuri de stare, num arul blocurilor de stare ind egal cu num arul de st ari |Q| ale automatului. O astfel de organigram a descrie nu numai funct ionarea secvent ial a a automatului dar exprim a si funct iile logice pentru sinteza acestuia. De exemplu blocul j corespunz ator st arii q j a automatului descrie: starea prezent a qj ; ie sirile necondit ionate(Mealy) din acea stare, f j (qj ); ie sirile condit ionate fj (qj , Xj ) de tip Moore, tranzit iile spre st arile urm atoare g j (Xj , qj ) n care Xj sunt cuvintele de intrare care se testeaz a n blocul j . Lu and toate aceste componente pentru toate cele |Q| blocuri de stare ale automatului se obt ine 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 tranzit ie care se construiesc separat pentru automatul de tip Mealy sau pentru automatul de tip Moore, pot reprezenta simultan at at ie siri condit ionate c at si ie siri dependente(numai de stare) deci pot mbina funct ionarea celor dou a tipuri de automate.(Evident un graf de tranzit ie de tip Mealy poate convertit ntr-un graf de tranzit ie de tip Moore si invers).

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

351

Exemplul 3.6 Pentru un automat de v anzare a sticlelor de suc s a se conceap a organigrama ASM si s a se deduc a tabelul de tranzit ie al st arilor/ie sirilor. Funct ionarea automatului de v anzare a sticlelor cu valoarea de 10 unit a ti, care poate acoperit a din monede de dou a unit a ti (2U), de cinci unit a ti(5U) si de zece unit a ti (10U), este urm atoarea: c and este n FUNCT IUNE trebuie s a semnalizeze aceasta printr-un semnal FUN (un LED), c and este n curs de introducere monede, un semnal URM va indica dac a este necesar a C URMATOAREA MONEDA. and monedele introduse totalizeaz a 10 unit a ti se comand a ELS, iar dac ELIBERARE STICLA, a suma monedelor nu totalizeaz a 10U, atunci se comand a RETURNARE MONEDE, RTM. Solut ie. In conceperea organigramei se urm are sc variantele de a realiza 10 unit a ti din 10, 5 sau 2 unit a ti. Rezult a un num ar de sapte st ari q0 q6 , Figura 3.19. Ar rezultat si starea a opta, q7 , dac a comanda ELS nu s-ar generat ca o ie sire condit ionat a ci ca o ie sire de starea q7 (Moore). In opozit ie, s-ar putu reduce num arul de st ari de la sapte la sase dac a comanda RTM din starea q6 ar fost generat a ca o ie sire condit ionat a (Mealy) si nu ca o ie sire dependent a de starea q6 . Dispozitivul de detectare a introducerii monedelor genereaz a patru semnale de intrare pentru organigrama ASM : un semnal M pentru detectarea prezent ei monedei(M = A); trei semnale corespunz atoare valorii monedelor detectate (10U, 5U si 2U). Aceste semnale sunt semnale impuls care trebuie s a e sincrone cu semnalul de ceas al automatului. At at timp c at nu este introdus a nici o moned a (M=F) automatul a steapt a (bucleaz a) n starea q0 .
Tabelul de tranzit ie al st arilor se deduce din analiza organigramei. Acest tabel apare mai simplu dec at cel denit n sect iunea 3.2.3.2, deoarece intr arile sunt mutual exclusive (nu se pot introduce simultan dou a monede). Tabelul, Figura 3.19-b, apare mult mai intuitiv deoarece pentru ecare bloc de stare(notate cu B0 , B1 , B6 ) se evident iaz a si c aile de tranzit ie din acea stare, sunt n total 15 notate cu L1 , L2 L15

Uneori reducerea complexit a tii unui ASM , precum si o structurare pentru o implementare mai u soar a a unui automat de dimensiuni mari, se obt ine prin descompunerea n mai multe ASM -uri componente si conectarea acestora ntr-o anumit a modalitate pentru a compune automatul init ial. Fiecare din automatele componente sunt proiectate separat si apoi interconenctate astfel ie sirile unui automat vor utilizate ca intr ari la un alt automat si viceversa. Aceste interconect ari se reduc la conexiui serie sau paralel ale automatelor. Un exemplu de conectare serie a dou a automate este schit at n Figura 3.20-a. Ma sina (automatul)A va starea A1 test and repetat, la ecare impuls de ceas, si va p ar asi aceast a stare, parcurg and restul st arilor din organvariabila CALL B n momentul c and ie sirea CALL A din igrama ASM p an a n starea AN , numai starea B1 a ma sinii B devine activ a. De asemenea, ma sina B n starea B1 va testa repetat variabila CALL A si va p ar asi aceast a stare, parcurg and restul st arilor din organigrama ASM a sa, numai n momentul n care ma sina A n starea AN va activa ie sirea CALL B care se aplic a n starea B1 a ma sinii B , ca variabil a testat a. Apoi, ma sina A ajunge iar a si n starea A1 unde a steapt a activarea ie sirii CALL A

352

3.2. CIRCUITE LOGICE SECVENT IALE 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 a pentru Exemplul 3.6: a) descrierea funct ion arii automatului prin organigram a ASM;b) tabelul de tranzit ie al st arilor (neasignate) si al ie sirilor.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a n starea B1 la care se ajunge numai dup a parcurgerea celorlalte st ari din organigrama ASM a ma sinii B . Deci se execut a alternativ algoritmii implementat i de ecare ma sin a. Pentru interconectarea serial a se poate extinde organizarea la mai multe ma sini, consider and una din ele ca ma sina principal a care va apela mai multe ma sini pe parcursul execut arii algoritmului sau. La ecare apelare a ma sinii principale c atre o alt a ma sin a (apelat a), ma sina principal a va intra ntr-o bucl a de a steptare pe o stare si nu va p ar asi aceast a bucla, p an a c and ma sina apelat a nu va returna c atre ma sina principal a conrmarea realiz arii segmentului de algoritm ncredint at. O astfel de funct ionare este realizat a de organizarea din Figura 3.21 cu particularizarea c a si AS repetat numai o singur a ma sina principal a A apeleaz a din st arile A1 , AR si subalgoritm(subrutin a). Se recunoa ste aici ma sin a, C pentru realizarea aceluia acela si procedeu de apelare repetat a n software a unei subrutine de c atre un program principal. Se poate extinde organizarea la cazul c and o ma sin a apeleaz a o alt a ma sin a care la r andul s au apeleaz a o alta s.a.m.d; evident ecare ma sin a apelant a intr a n bucl a de a steptare p an a c and prime ste conrmarea, de realizarea segmentului de algoritmi ncredint at, de la ma sina apelat a. Se recunoa ste mecanismul de apelare, n software, de subrutine imbricate. Conectarea n paralel a dou a ASM -uri realizeaz a execut ia n paralel a celor doi algoritmi. Cea mai simpl a organizare corespunde cazului c and cele dou a ma sini sunt init iate mpreun a pentru procesare, Figura 3.20-b. C and ma sina A porne ste procesarea din starea init ial a A1 simultan valideaz a p ar asirea st arii init iale si pe ma sina

354

3.2. CIRCUITE LOGICE SECVENT IALE 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 a automate pentru apelarea repetat a a automatului C: B care la r andul s au prin CALL A valideaz a p ar asirea st arii init iale A1 . Dup a parcurgerea n paralel a celorlalte st ari din ecare organigram a ma sina care revine prima n starea init ial a nu poate porni la reexecutarea algoritmului s au p ana c and si cealalt a ma sin a nu revine n starea init ial a. De si din cele expuse, intreconectarea automatelor din punct de vedere logic apare relativ u sor de organizat dar, pentru ca si din punct de vedere funct ional s a e corect, trebuie analizat a foarte atent implementarea. Interconectarea ridic a probleme de implementare chiar c and cele dou a automate sunt sincronizate cu acela si semnal de ceas, deci timpii de stare, sunt identici, Figura 3.15-d. Exist a probleme n cazul n care semnalele de ceas ale celor dou a automate sunt unul multiplu fat a de cel alalt sau, mai dicil, sunt complet asincrone. In acest caz semnalele de ie sire al unui automat se aplic a la celalalt automat ca semnale de intrare asincrone sau se sincronizeaz a nainte de aplicare, vezi sect iunea 3.2.1. Oricum, semnalele cu variat ie asincron a nu pot citite corect c and sunt considerate c a formeaz a un cuv ant de cod ci numai c and sunt considerate cu semnicat ie independent a ecare semnal. 3.2.3.5 Limbaje de transfer ntre registre, RTL

Not iunea de registru a fost introdus a n sect iunea 3.2.2 ca registru de stare. P an a la prezentarea sa n sect iunea 3.5, specic am c a un registru este un circuit pentru

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

355

memorarea informat iei sub form a de cuv ant, deci primele dou a operat ii care se pot realiza cu un registru este cea de nscriere n registru si cea de citire din registru. In prezent arile din capitolul 2 toate proces arile pe un circuit combinat ional implicau prezent a unui registru la intrare, din care se citea informat ia aplicat a CLC, si un registru la ie sire n care se nscriau, dac a era necesar, cuv antul rezultat din procesare. Alte operat ii n afar a de nscriere(load) si citire, registrul mai permite operat ii de stergere(clear), incrementare, deplasare(shift) st anga dreapta(echivalent respectiv cu multiplicare sau mp art ire cu puteri ale lui doi). Registrul mpreun a cu diferite circuite combinat ionale sau cu circuite secvent iale, formeaz a baza circuistic a pentru procesarea paralel a sau secvent ial a. De fapt, aceast a circuistic a este ceea ce se poate g asi ntr-o cale de date. Formalismul cu ajutorul c aruia se descriu operat iile si transform arile ntre registrele dintr-o cale de date( si nu numai) este referit prin limbaj de transfer ntre registre, RTL (Register Transfer Language). Instruct iunea R2 R 1 are urm atoarea semantic a: cont inutul registrului R 1 este transferat(copiat) si n registrul destinat ie R2 (cont inutul surs a R1 nu se modic a); s ageata reprezint a transferul si direct ia acestuia. De exemplu, n Figura 3.15-d n starea A, automatul comand a nscrierea valorii 1 n registrul R si decrementarea registrului care cont ine variabila contor I . Normal c a o operat ie, ntr-o cale de date, este realizat a c and este ndeplinit a o condit ie logic a C , ceea ce se exprim a printr-o primitiv a de tipul if-then, de exemplu If (C = 1)then(R2 R1 ) Evident c a acest transfer R2 R1 , condit ionat de C = 1, se realizeaz a numai sincronizat de semnalul de ceas prin frontul activ, deci condit ionarea si de c atre semnalul de ceas este implicit a. Dar se pot exprima si transferuri care se realizeaz a n paralel ntre mai multe registre, ca de exemplu If (C = 1)then(R2 R1 , R4 R3 ) Alte exemple de instruct iuni de tip RTL pot : R1 R1 + R2 ; se sumeaz a cont inutul registrelor R1 , R2 , iar rezultatul se nscrie n R1 R3 R3 + 1; cont inutul registrului R3 se incrementeaz a R4 R4 ; cont inutul registrului R4 este deplasat spre st anga cu o pozit ie R5 0; este sters cont inutul registrului R5 Simbolurile, notat iile si sintaxa unui limbaj RTL nu sunt standardizate, ceea ce i ofer a o dezvoltare ad-hoc si o u surint a n utilizare. Totu si, aceste simboluri, notat ii si sintaxa descrierilor de tip RTL sunt standardizate n cadrul unor limbaje de descriere hardware HDL (Hardware Description Language) cum ar VHDL sau VERILOG (prezentate n volumul 2 al acestei lucr ari).

356

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

Organigrama ASM a fost introdus a pentru descrierea algoritmilor implementabili ntr-un sistem hardware, care n general, cont ine o cale de date si o cale de control, Figura 3.14. Calea de date are n component a sa registre, multiplexoare, decodicatoare, sumatoare iar calea de control este n fond un automat nit ale c arui ie siri sunt semnalele de control n calea de date. Ca o alternativ a la descrierea prin organigrama ASM este cea prin care calea de control este descris a printr-un graf de tranzit ie al st arilor, iar calea de date descris a prin limbaj RTL. Informat ia pentru trecerea la graful de tranzit ie al st arilor este luat a din organigrama ASM astfel: numele st arilor (din cerculet e) corespund cu cele de l ang a dreptunghiurile de starea ale ASM -ului arcele de transfer dintre st ari sunt c aile de tranzit ie din ASM expresiile de tranzit ie de pe arce sunt expresiile de pe c aile (sau din romburile) de tranzit ie ale ASM -ului Iar informat ia, referitoare la operat iile care se efectueaz a n calea de date, exprimat a RTL, pentru ecare stare, se obt ine din ie sirile de stare (Moore) si din ie sirile condit ionale(Mealy) ale blocului de stare corespunz atoare. Exemplul 3.7 Pentru automatul prezentat n Exemplul 3.6, Figura 3.19 s a se realizeze o descriere prin graf de tranzit ie pentru calea de control si prin limbaj RTL pentru calea de 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 a la descrierea prin organigram a ASM a automatului din gura 3.19-a: a) printr-un graf de tranzit ie al st arilor pentru calea de control; b) prin limbaj RTL pentru calea de date.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

357

Solut ie. Aplic and organigramei ASM din Figura 3.19-a regulile prezentate mai sus se obt ine graful de tranzit ie al st arilor, Figura 3.22-a si descrierea n limbaj RTL, Figura 3.22-b. Pentru ecare din cele sapte st ari q0 q6 , n limbaj RT L, sunt specicate comenziile aplicate n calea de date obt inute ca semnale de ie sire de la calea de control ale automatului(calea de control).

In afara modalit a tiilor prezentate de reprezentare a automatelor mai putem aminti: limbaj natural, ret ea Petri, HDL. Reprezentarea prin limbaj natural este util a c and automatul prezint a un num ar foarte mare de st ari, de exemplu un automat num ar ator modul 16 care prezint a 216 = 64536 st ari. Ret eaua Petri este tot o structur a de graf orientat dar nu urm are ste o succesiune de st ari ci o succesiune de evenimente [Lewin 92], recomandat a mai mult pentru descrierea circuitelor/(proceselor) secvent iale asincrone dec at a celor sincrone. Foarte utilizat a ret eaua Petri este pentru sistemele comandate la care sunt active simultan mai multe st ari. Limbajele de descriere hardware, HDL (VHDL, Verilog) au devenit modalit a ti de descriere aproape exclusive n procesul de proiectare n electronica digital a.

3.2.4

Reducerea num arului de st ari

Proiectantul n etapa de construire a grafului de tranzit ie al st arilor/ie sirilor, concentr andu-se asupra restrict iilor de funct ionarea ale automatului, poate realiza un model (graf) ce cont ine st ari redundante. Aceasta nseamn a c a vor rezulta n tabelul de tranzit ie mai multe st ari dec at cele necesare interpret arii funct ion arii. Mai multe st ari n implementare inuent eaz a n mod direct dimensiunea, deci costul implement arii, viteza de funct ionare si complexitatea automatului. In procesul de proiectare, etapa de eliminare a st arilor redundante este referit a prin reducerea st arilor. Efectiv reducerea st arilor nseamn a identicarea st arilor echivalente si apoi un num ar de st ari g asite ca echivalente sunt substituite, n funct ionarea automatului, cu o singur a stare. Rezult a c a n tabelul de tranzit ie al st arilor/ie sirilor toate liniile care corespund unor st ari echivalente se vor substitui cu o singur a linie rezultant a. Not iunea de stare echivalent a este introdus a prin Denit ia 3.7 . Ad aug am acum trei propriet a ti ale st arilor echivalente: 1. Simetria: dac a qi qj atunci si qj qi 2. Reexivitatea: qj qj pentru oricare stare 3. Tranzitivitatea: dac a q i qj si qj qk atunci qi qk Exist a algoritmi, at at utilizabili sub o form a analitic a c at si sub o form a grac a, prin care se identic a st arile echivalente si apoi sunt eliminate [Yarbrough 97] [Mano 97] [Lewin 92]. Actual, ecare platform a de proiectare automat a n electronic a cont ine astfel de algoritmi sub forma unor programe interactive. In continuare se va prezenta o metod a grac a de reducere a st arilor echivalente referit a prin mapa implicant ilor [Yarbrough 97]. Se consider a un automat cu sase st ari: A, B, C, D, E, F, a c arui funct ionare este descris a prin tabelul de tranzit ie al st arilor/ie sirilor prezentat n Figura 3.23-a. O map a a implicant ilor care compar a, pentru echivalent a , ecare stare cu ecare stare este o diagram a, Figura 3.23-b, ce are pe orizontal a notate toate st arile mai put in ultima,

358

3.2. CIRCUITE LOGICE SECVENT IALE 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 num arului de st ari prin metoda grac a a mapei implicant iilor: a) tabelul de tranzit ie a st arilor/ie sirilor automatului; b) mapa implicant iilor dedus a din tabelul de tranzit ie; c) mapa implicant iilor dup a validarea condit iilor de echivalent a ; d) tabelul de tranzit ie al st arilor/ie sirilor pentru automatul echivalent(redus). n cazul nostru A, B, C, D, E , iar pe vertical a toate st arile mai put in prima, n cazul nostru B, C, D, E, F . In c asut a de coordonate care corespunde intersect iei celor dou a st ari care se compar a, una de pe orizontal a si una de pe vertical a, se nscriu condit iile (st arile) necesare pentru echivalent a celor dou a st ari. Aceste condit ii necesare pentru echivalent a se deduc din tabelul de tranzit ie al st arilor/ie sirilor, compar and ecare stare cu ecare, pentru toate congurat iile de valori ale cuv antului de intrare ce determin a cele dou a st ari. Vericarea condit iilor necesare pentru ca o pereche de st ari s a e echivalent a se realizeaz a prin urm atorii pa si: 1. Se elimin a (se diagonalizeaz a) din mapa implicant iilor acele c asut e ale c aror perechi de st ari coordonate au n tabelul de tranzit ie al st arilor/ie sirilor ie siri diferite pentru aceea si valoare a cuv antului de intrare(vezi Denit ia 3.7). De exemplu, nu pot echivalente perechiile A cu B, A cu D si A cu F , deoarece au ie siri diferite, deci c asut ele corespunz atoare intersect iei acestor perechi se diagonalizeaz a. 2. Pentru perechile de st ari prezente la care s-a vericat c a au ie siri identice,

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

359

Pentru ca A E necesit a C E si D F . Privind n mapa implicant iilor pentru echivalent a perechii D, F este necesar a B F si B C , iar pentru echivalent a perechii C E este necesar a C E si B C . S a vedem dac a din c asut ele mapei rezult a c a sunt ndeplinite simultan aceste patru echivalent e. Pentru ca B F este necesar ca B F si C D, dar din c asut a de coordonate C si D rezult a c a st arile C si D nu sunt echivalente. In concluzie , st arile A si E nu sunt echivalente si c asut a de coordonate A si E de pe prima coloan a se diagonalizeaz a. Se aplic a aceast a analiz a si pentru celelalte coloane/linii si se constat a c a n afar a de c asut a de coordonate B ,D, toate celelalte se diagonalizeaz a, rezult and mapa implicant iilor din Figura 3.23-c. Rezult a c a sunt echivalente st arile A cu C si st arile B cu D. 3. Pentru ecare pereche de st ari echivalente se p astreaz a doar una din st ari, eventual se redenumesc st arile (A = q0 , B = q1 , C A = q0 , D B = q1 , E = q2 , F = q3 ) si se construie ste tabelul simplicat al tranzit iei st arilor/ie sirilor, Figura 3.23-d. Deci automatul init ial cu sase st ari poat substituit n func tionare cu un alt automat(echivalent) care are numai patru st ari. Exemplul 3.8 Pentru automatul Mealy cu graful de tranzit ie al st arilor/ie sirilor din Figura 3.24-a s a se elimine st arile redundante si apoi s a se redeseneze graful de tranzit ie Solut ie. Din graful de tranzit ie al st arilor/ie sirilor se obt ine tabelul de tranzit ie al st arilor/ie sirilor din Figura 3.24-e, iar din tabelul de tranzit ie se deduce:
1. Nu sunt echivalente urm atoarele perechi de st ari:A cu B , A cu C , B cu D, B cu E , C cu D si C cu E 2. St arile: A D numai dac a sunt echivalente B cu C si D cu C si A cu B A E numai dac a sunt echivalente A cu E si B cu C B C numai dac a sunt echivalente B cu C si A cu E

dup a inspectarea tabelului, se nscrie n c asut ele corespunz atoare din mapa implicant ilor care perechi de st ari urm atoare ar trebui s a e echivalente pentru ca perechea de st ari prezente comparate s a e echivalent a. De exemplu, pentru prima coloan a din map a pentru ca A C necesit a echivalent a ntre B si D, iar A E necesit aC E si D F ; pe coloana a doua B D necesit a B D, B F necesit aBF si C D; pe coloana a treia C E necesit aCE si B F ; iar pe coloana a patra D F necesit aBF si B C .

D E numai dac a sunt echivalente C cu D si B cu E si A cu C 3. Se constat a c a: A = D deoarece A = B si D = C D = E deoarece A = C, B = E si C = D AE rezultat a A E numai dac a B C , iar B C numai dac a A E . Rezult a c a si B C (simetrie dac a qj qi atunci qi qj ). Mapa implicant iilor este cea din Figura 3.24-f. 4. Se redenumesc st arile n felul urm ator: A = q0 , B = q1 , C A = q0 ;

360

3.2. CIRCUITE LOGICE SECVENT IALE 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 a pentru reducerea st arilor redundante ale automatului din Exemplul 3.8
D = q2 , E A = q0 pentru care rezult a tabelul de tranzit ie din Figura Funct ionarea automatului echivalent(redus) este descris a prin graful de tranzit ie al st arilor/ie sirilor din Figura 3.24-b.

3.24-d.

In sinteza circuitelor combinat ionale se nt alnesc cazuri c and funct ia de transfer este incomplet specicat a, ceea ce n tabelul de adev ar se indic a prin semnul indiferent (don t care). Cazuri similare se nt alnesc si la circuitele secvent iale c and e funct ia de transfer, f , e funct ia de tranzit ie, g , nu sunt complet specicate ceea ce se reect a prin indicarea semnului indiferent respectiv pentru anumite valori ale ie sirii sau anumite st ari urm atoare. C and anumite st ari nu sunt specicate automatul nu este predictibil. Este indicat s a se evite asemenea cazuri e prin alegerea numai acelor

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

361

congurat ii de intrare care conduc automatul numai prin st ari deja specicate sau, e s a se specice st arile nespecicate dac a prin aceasta nu se contravine rezultatului dorit. Odat a specicate st arile, care init ial erau nespecicate, automatul nu mai este incomplet specicat. In procesul de reducere al num arului de st ari, specicarea ie sirilor nespecicate poate f acut a f ar a a se produce nici un impact asupra secvent ei st arilor automatului nal. Este indicat ca ie sirile nespecicate s a e l asate nespecicat n tabelul de tranzit ie al st arilor/ie sirilor c at se poate de mult n procesul de reducere, deoarece prezent a semnului indiferent duce la o mai mare exibilitate n compararea st arilor din tabelul de tranzit ie. In validarea echivalent ei a dou a st ari, trebuie ca ie sirile s a e identice pentru oricare congurat ie de intrare. C and se compar a dou a st ari ale c aror ie siri sunt incomplet specicate n locul not iunii de echivalent a se utilizeaz a not iunea de st ari compatibile. Dou a st ari qi si qj sunt st ari compatibile dac a, pentru oricare secvent a de congurat ii aplicate pe intrare, se obt ine o aceea si secvent a a ie sirii c and ie sirile nespecicate vor specicate, indiferent dac a st arile q i , qj sunt st ari init iale sau nu. Pentru automatele incomplet specicate exist a algoritmi(graci sau analitici) de reducere a num arului de st ari [Yarbrough 97][Lewin 92].

3.2.5

Asignarea st arilor

Dup a operat ia de reducere a st arilor echivalente si modicarea corespunz atoare a grafului de tranzit ie al st arilor/organigrama ASM si a tabelului de tranzit ie al st arilor se asigneaz a st arile. Procesul de asignare al st arilor (codicarea st arilor) unui automat cu s st ari const a n alocarea pentru ecare simbol de stare q 0 , q1 , . . . , qs1 a c ate unui cuv ant de cod cu lungimea de minimum k bit i. Valoarea lui k rezult a din relat ia 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 n structura unui automat: Prin asignarea st arilor, automatul denit simbolic este transformat ntr-un automat cu o structur a specicat a si funct iile de transfer, f , si de tranzit ie, g , sunt xate.

362

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

,, De fapt, se personalizeaz a un semiautomat pentru automatul respectiv, Denit ia 3.8 . In Figura 3.25 este reprezentat a o structur a generic a de automat a c arui structur a este separat a n partea combinat ional a, CLC2, pentru calculul funct iei de transfer, si semiautomat, SA. Semiautomatul este compus din circuitul combinat ional CLC1, pentru calculul funct iilor de excitat ie W , iar n jurul acestuia este nchis a bucla printrun registru(element de memorie). Prin asignare ecare stare prezent a si ecare stare urm atoare sunt exprimate respectiv prin cuvintele Z si W cu lungimea de k bit i(din mult imea de 2k cuvinte). In proiectarea automatului se porne ste de la descrierea transferului intrare/ie sire, deci este xat a funct ionarea prin corespondent a ntre vectorii X si Y de la bornele automatului. Proiectantului, pentru o funct ionare dat a a unui automat, i r am ane sarcina de a optimiza realizarea funct iilor f si g , ceea ce se reduce la alegerea semiautomatului cel mai potrivit din mult imea de semiautomate posibile. Ori, aceast a alegere este determinat a/xat a prin procesul de codicare al st arilor. Important a alegerii semiautomatului cel mai potrivit este evident a pentru un automat, deoarece aceast a alegere determin a direct dimensiunea si complexitatea automatului. Deoarece automatele n general nu pot denite recursiv, deci dimensiunea denit iei poate ridicat a, rezult a, n consecint a , circuite complexe. Un automat complex av and si o dimensiune ridicat a va mai greu de realizat; este de preferat de realizat un automat de complexitate redus a chiar dac a dimensiunea(circuistica) este ridicat a. Rezult a necesar a cunoa sterea posibilit a tilor de alegere a cuvintelor de cod din mult imea de 2 k cuvinte, care de fapt este spat iul st arilor exprimat prin cuvinte de cod. Codicarea st arilor este cea mai important a etap a n proiectarea unui automat. Tabelul 3.1 Posibilit a ti de codicare pentru un automat cu patru st ari
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 st ari din mult imea de 2k cuvinte, cu lungimea de k bit i, k k se pot forma un num ar de 2 !/(2 s)!s! grupuri distincte, ecare grup cont in and s cuvinte. Apoi, prin maparea celor s st ari ale automatului pe un grup cu s cuvinte rezult a un num ar de s! asign ari(codic ari) diferite. Deci num arul total de codic ari, Nc , va : NC = 2k ! (2k s)! (3.18)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

363

De exemplu, pentru un automat cu patru st ari q0 , q1 , q2 si q3 (codicabile pe un cuv ant de doi bit i k = log2 4 = 2) rezult a NC = 22 !/(22 4)! = 24 posibilit a ti de asignare, c1 c24 , reprezentate n Tabelul 3.1. Dar din cele 24 de asign ari posibile unele sunt echivalente. Dou a asign ari ale st arilor sunt echivalente dac a pentru cele dou a implement ari ale automatului funct iile f si g au acelea si m arimi de dimensiune si complexitate. Se obt in dou a asign ari echivalente n urm atoarele dou a cazuri: 1. c and codul unei asign ari se obt ine prin complementarea codului celeilalte. De exemplu, sunt echivalente urm atoarele perechi de asign ari (c 1 , c24 ), (c2 , c23 ), (c3 , c22 ),. . .,(c12 , c13 ); 2. c and codul unei asign ari se obt ine din codul altei asign ari prin interschimbarea coloanelor z1 si z0 . Dac a n asignarea c1 se schimb a valorile bit ilor ntre z1 si z0 se obt ine asignarea c3 , la fel c2 si c4 s.a.m.d Num arul total de asign ari neechivalente, Ncne , pentru un automat cu s st ari si cuv ant de lungime de k bit i se calculeaz a cu urm atoarea relat ie Ncne = (2k 1)! (2k s)!s! (3.19)

Valoarea lui Ncne cre ste dramatic n funct ie de num arul de st ari s ale automatului, c ateva din aceste valori sunt date n Tabelul 3.2. Tabelul 3.2 Valori pentru num arul asign arilor neechivalente, Ncne
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

In proiectarea unui automat efortul de alegere a celui mai bun semiautomat, care determin a o dimensiune minim a pentru circuitele combinat ionale, CLC 1 si CLC 2, precum si o minimizare a complexit a tii, este evitat din cauza num arului mare de asign ari posibile n spat iul st arilor care ar trebui analizate. Pentru s 4 se pot elabora si analiza toate solut iile de semiautomat si apoi se alege varianta care duce la un minim pentru dimensiune si complexitate. Pentru cazul c and n 4 se caut a doar g asirea solut iei care determin a un semiautomat ce se aproprie sucient de mult de cel mai bun, am putea spune semiautomatul cel mai potrivit. In acest sens exist a n literatur a indicate anumite reguli care aplicate n procesul de asignare al st arilor pot duce spre o solut ie aproape de cea optim a. Variabilelor de excitat ie w, care determin a starea urm atoare, se calculeaz a n blocul combinat ional CLC 1, iar m arimile de ie sire y sunt calculate n blocul combinat ional CLC 2; n calculul acestor dou a marimi intervine starea prezent a. In sinteza

364

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

celor dou a blocuri combinat ionale se obt in forme cu at at mai simple cu c at n diagramele V-K se identic a suprafet e(implicant i primi esent iali, IPE) c at mai mari. Ori, pentru a obt ine suprafet e c at mai extinse este indicat ca asignarea st arilor s a se efectueze astfel inc at codurile st arilor s a aib a ntre ele distant a unitara si prin aceasta la maparea pe o diagrama V-K vor corespunde c asut e adiacente. Pe aceast a observat ie se bazeaz a unele reguli care pot duce la obt inerea de structuri simple pentru cele dou a blocuri combinat ionale. Un procedeu simplu de asignare a st arilor care are o probabilitate destul de ridicat a pentru a duce la o solut ie apropiat a de cea optim a se bazeaz a pe conceptul de locusul st arilor. Locusul st arilor este num arul de modic ari ale bit ilor din cuv antul de stare c and pentru un automat se parcurg toate c aile de tranzit ie. Se va alege acea codicare a st arilor care s a realizeze o valoare c at mai mic a pentru locusul st arilor. Valoarea minim a s-ar obt ine c and codurile ntre dou a st ari succesive pe oricare linie de tranzit ie, n afar a de buclele la aceea si stare, ar diferi doar printr-un singur bit. Aceast a modalitate de codicare, prin care codul unei st ari difer a doar printr-un singur bit fat a de codurile st arilor urm atoare, nspre care exist a o cale de tranzit ie, este referit a ca o codicare cu variat ie minim a. Codicarea cu variat ie minim a, pe l ang a faptul c a pot duce duce la suprafet e mai mai ntr-o diagram a V-K, prin realizarea unei singure comutat ii n cuv antul de stare la trecerea de la o stare la alta, m are ste sigurant a n funct ionare a automatului, mai ales la cele asincrone. Un segment de organigram a ASM av and o codicare cu variat ie minim a este prezentat n Figura 3.26-a. La o tranzit ie din starea q 0 , c areia i s-a asignat codul 0000, pe oricare cale de tranzit ie nspre st arile q 1 , q2 , q3 , q4 n cuv antul de cod se modic a doar un singur bit. Dac a se noteaz a cu nz 3 , nz2 , nz1 , nz0 , valorile bit ilor din cuv antul de stare urm atoare, acestea se pot exprima prin relat ia logic a ce dene ste calea de tranzit ie respectiv a. nz3 = x1 x0 nz1 = x1 x0 nz2 = x1 x0 nz0 = x1 x0

Codicarea cu diferent a numai de un singur bit, ntre dou a st ari succesive, nu este totdeauna posibil a. De exemplu, n organigrama ASM din Figura 3.26-b, care cont ine pe o bucl a trei st ari q0 , q1 si q2 acestea nu pot toate codicate cu distant e de cod egale cu unu. Dac a q1 difer a de q0 cu un singur bit iar fat a de q2 tot cu un singur bit, atunci q2 difer a de q0 prin cel put in doi bit i. Aceste relat ii ntre cuvintele de cod asignate st arilor se pot observa si modica mult mai u sor dac a se construie ste o diagram a de tip V-K n care se mapeaz a st arile. Intr-o astfel de diagram a, dou a st ari succesive care au distant a de cod egal a cu unu, sunt plasate n c asut e adiacente. Din diagrama V-K corespunz atoare automatului din Figura 3.26-b rezult a c a totdeauna, pentru oricare variant a de asignare cu 2 bit i ntre cele trei st ari q 0 , q1 si q2 de pe bucl a, exist a o trecere(pe diagonal a) ntre dou a c asut e neadiacente. Uneori, pentru realizarea unei codic ari cu distant a de cod unu ntre oricare dou a st ari succesive este necesar a introducerea unei st ari suplimentare, dar aceast a suplimentare de st ari pe ntreaga organigram a ASM ar putea duce la cre sterea num arului de bit i n cuv antul de cod. Prin introducerea st arii suplimentare q 4 , Figura 3.26-c, cuv antul de cod va de trei bit i dar codurile succesive asignate st arilor q 0 , q1 , q2 si q4 de pe bucl a sunt la distant a unitar a, ceea ce se obt ine din plasarea st arilor pe diagrama V-K n pozit ii adiacente, (aceast a plasare nu este unic a). Aceast a rezolvare pentru codicarea cu

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 q 0 0 1 q2

z0

1 q1 q3 b)

z2

z1z0

0 1

00 01 q0

q4

a)

Figura 3.26 Codicare cu variat ie minim a: a) segment de organigram a ASM codicat cu variat ie minim a; c) codicare cu variat ie minim a prin introducerea unei st ari suplimentare fat a de organigrama(b). variat ie minim a implic a denirea si a unei ie siri n starea suplimentar a. Ie sirea dependent a de starea suplimentar a poate repetarea ie sirii y din starea anterioar a sau nici o ie sire NO-OPERATION dac a funct ionarea automatului permite. Generarea ie sirii, y = 1, si n starea suplimentar a apare la ie sirea automatului ca o consumare de doi timpi de stare(tacte) n starea q2 . Pentru un automat valoarea locusului st arilor nu poate mai mic a dec at num arul s de st ari. O valoare minim a egal a cu s pentru locusul st arilor se poate obt ine doar la un automat la care exist a s tranzit ii necondit ionate ntre st arile succesive si codicarea st arilor este cu variat ie minim a, de exemplu un num ar ator n cod Gray , uzual valoarea minim a a locusului st arilor este mai mare dec at s. Exemplul 3.9 Pentru automatul din Figura 3.27-a s a se calculeze locusul st arilor, apoi s a se reasigneze st arile astfel nc at s a se obt in a valoarea minim a pentru locusul st arilor.
Solut ie. Pentru codurile st arilor nscrise pe organigram a se calculeaz a locusul st arilor, Figura 3.27-b, rezult and o valoare egal a cu 10. Din plasarea st arilor pe o diagram a V-K se vede c a st arile nu au coduri adiacente. Replas and st arile pe diagrama V-K, Figura 3.27-c, se face o codicare cu variat ie minim a(cuvintele binare notate n paranteze pe organigram a) pentru care locusul obt ine valoarea 7. In aceast a diagram a V-K pe s aget ile care reprezint a c aile de tranzit ie dintre st ari s-a indicat si distant a de cod respectiv a, dac a aceast a distant a este mai mare dec at unitatea. Pe bucla format a din st arile q1 , q3 , q4 nu se poate realiza o codicare cu variat ie minim a. Asignarea codului 011 pentru q4 ar duce la o distant a de cod unitar a fat a de q1 dar ar m ari distant a de cod la doi fat a de q3 , locusul st arilor ar tot 7. Se pot ncerca si alte plas ari n mapa st arilor. Solut ia ar introducerea unei st ari suplimentare

366

3.2. CIRCUITE LOGICE SECVENT IALE 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 st arilor pe diagrama V-K(b) pentru a minimiza valoarea locusului st arilor(c) la o organigram a dat a(a).

pe aceast a bucla.

Exemplul 3.10 Pentru automatul cu tabelul de tranzit ie al st arilor/ie sirilor din Figura 3.28-a s a se deduc a expresia semnalelor de excitat ie. Solut ie. Deoarece se deduc doar expresiile funct iilor de excitat ie se vor neglija valorile ie sirilor, deci problema exprimat a pentru automat se restr ange numai la sinteza semiautomatului. Se propun dou a variante de semiautomat. In Varianta I , Figura 3.28-b, cele sase st ari q0 q5 sunt mapate pe diagrama V-K astfel nc at s a se realizeze ntr-o m asur a c at mai mare variat ie minim a, adic a plasare n c asut e adiacente. In afar a de tranzit iile q3 la q5 si q5 la q1 , care au distant a de cod egal a cu 2, toate celelalte tranzit ii au distant a de cod unitar a, rezult a o valoare egal a cu 12 pentru locusul st arilor. ( Incercat i o alt a plasare care ar duce la o valoare mai mic a). Utiliz and aceast a asignare rezult a tabelul de tranzit ie al st arilor din Figura 3.28-c, n care s-au nscris valorile obt inute pentru bit ii st arii prezente z2 , z1 , z0 si bit ii semnalelor de excitat ie w2 , w1 , w0 . Acest

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 0 x 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 excitat ie: a) tabelul de tranzit ie al st arilor/ie sirilor; b) variante st arilor pe diagrama V-K; c,d) explicitarea tabelului de tranzit ie prin codurilor asigurate; e)diagramele V-k pentru determinarea expresiilor excitat ie w2 , w1 si w0 .

semnalelor de mapare a introducerea funct iilor de

tabel poate transformat n tabelul din Figura 3.28-d n care valorile bit ilor de excitat ie au fost explicitate n funct ie de bit ii st arii prezente si de valorile variabilei de intrare testat a. Prin aceast a explicitare, din acest tabel, se poate realiza sinteza expresiilor pentru w 2 , w1 , w0 ca funct ii de patru variabile: z2 , z1 , z0 si x. Sinteza se poate simplica prin introducerea lui x ca variabil a reziduu n valorile pentru w2 , w1 , w0 (notat iile dup a acolade), rezult and diagramele de trei variabile z2 , z1 , z0 reprezentate n Figura 3.28-e. Expresiile pentru semnalele de excitat ie 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 port i discrete, introduc and ca m asur a a dimensiunii num arul S de intr ari utilizate, rezult a respectiv valorile 11, 7 si 6, deci dimensiunea implement arii Variantei I este SV arI = 24

368

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

In Varianta II plasarea st arilor pe diagrama V-K s-a f acut f ar a a c auta obt inerea unei variat ii minime. S-au obt inut urm atoarele expresii pentru semnalele de excitat ie. 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 a respectiv dimensiunile 6, 9 si 16, iar pe ntregul semiautomat SV arII = 31.

Codicarea cu dependent a redus a. Selectarea codurilor, lu and criteriu locusul st arilor, are n vedere doar modicarea valorilor variabilelor de stare si efectul lor asupra funct iilor de excitat ie(valorile variabilelor st arii urm atoare). Dar, valorile variabilelor st arii urm atoare sunt dependente si de valorile variabilelor de intrare testate n simbolurile de decizie dintr-o organigram a ASM . Modalitatea de asignare a st arilor prin care s a se ia n considerare si contribut ia intr arilor n funct iile de excitat ie este referit a prin codicare cu dependent a redus a(de variabilele de intrare). Codicarea cu dependent a redus a presupune ca st arile urm atoare ce se obt in prin tranzit ia din aceea si stare, n urma test arii unor variabile de intrare, s a difere ntre ele printr-un singur bit. Aceasta nseamn a ca expresia celor dou a st ari, care se obt in n urma test arii unei singure variabile x0 , s a se exprime c at mai simplu n funct ie de aceasta variabil a adic a, s a e de forma, de exemplu, z 4 z3 x0 z1 z0 . Cele dou a st ari urm atoare sunt z4 z3 0z1 z0 si z4 z3 1z1 z0 . Dar dac a n acela si bloc de stare se testeaz a si a doua variabil a de intrare x1 si cuvintele care se obt in n urma acestei test ari trebuie s a e diferite tot printr-un singur bit, de exemplu z 4 x1 z2 z1 z0 , adic a z4 0z2 z1 z0 si z4 1z2 z1 z0 . Incercarea de a codica cu dependent a redus a simultan dup a dou a variabile testate x1 , x0 nu este posibil a. De exemplu, expresia z4 x1 x0 z1 z0 pentru st arile urm atoare poate genera urm atoarele patru cuvinte z4 00z1 z0 , z4 01z1 z0 , z4 10z1 z0 si z4 11z1 z0 care nu difer a ntre ele numai printr-un singur bit. Deci codicarea cu dependent a redus a poate realizat a doar n funct ie numai de o variabil a testat a. Exemplul 3.11 Pentru automatul cu tabelul de tranzit ie al st arilor/ie sirilor din Figura 3.28-a s a se realizeze o codicare cu dependent a redus a. Solut ie. Pentru a mai explicit a aceast a codicare din tabelul de tranzit ie al st arilor s-a desenat organigrama ASM , Figura 3.29-a. In aceast a organigram a dup a ecare element de decizie s-a notat expresia codului pentru urm atoarele dou a st ari n funct ie de valoarea variabilei testate x. De exemplu, n blocul de stare q1 expresia codurilor st arilor urm atoare este 00x ceea ce impune pentru valoarea lui x = 0 codul urm ator s a e 000(q0 ), iar pentru x = 1 codul urm ator s a e 001(q2 ), ntre aceste dou a coduri distant a de cod ste unitar a. Pentru aceast a codicare cu dependent a redus a se obt ine tabelul de tranzit ie al st arilor din Figura 3.29-b. Urm and aceea si succesiune n sintez a ca la Exemplul 3.10 rezult a expresiile pentru semnalele de excitat ie
w2 w1 w0 = = = z0 + z1 + z2 x z 2 z0 + z 1 z0 x z 2 z1 z0 + z 2 x

pentru care dimensiunea implement arii cu port i discrete, consider and criteriu num arul de intr ari, este S = 18. Se observ a c a n expresiile semnalelor de excitat ie w2 , w1 si w0 , variabila de intrare x intervine doar o singur a dat a(dependent a redus a).

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 dependent a redus a: a) organigrama ASM cu indicarea codurilor st arilor n funct ie de variabila de intrare testat a, x; b) tabelul de tranzit ie al st arilor. ,, Codicarea de tip unic-activ (one-hot ). La codicarea de tip unic-activ cuv antul de cod nu mai are lungimea de log2 s ci are lungimea de s bit i, adic a at a tia bit i n cuv antul de cod c ate st ari are automatul. O astfel de codicare pentru automatul cu sase st ari, din Exemplele 3.10 si 3.11, este cea prezentat a n coloana a doua a Tabelului 3.3 si care folose ste doar sase cuvinte de cod din cele 2 6 cuvinte ,, de cod posibile, ecare cuv ant de cod av and un singur bit egal cu unu(unu-activ ). La prima vedere am tentat i s a reject am acest tip de asignare din cauza cre sterii dimensiunii registrului din calea de react ie. Acest registru, pentru un automat cu s st ari, va avea s celule de memorare(bistabile) si nu log 2 s celule ca la asign arile prezentate p an a acum. Dar, la o anliz a mai atent a, v az and avantajele asignarea de tip unic-activ este preferat a n raport cu alte asign ari mai ales la implement arile integrate. Avantajul principal pentru asignarea one-hot conast a n simplitatea expresiilor celor s funct ii de excitat ie. Acest a simplitate duce n general la o reducere a dimensiunii circuitului combinat ional CLC 1, Figura 3.25, care poate compensa ntr-o

370

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

Tabelul 3.3 Modalit a ti de asignare a st arilor


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 m asur a cre sterea dimensiunii p art ii ordonate corespunz atoare registrului. Pe un circuit integrat este de preferat cre sterea, intr-o oarecare m asur a, a dimensiunii p art ii ordonate (registru) n schimbul sc aderii dimensiunii p art ii neordonate (CLC). In plus, prin sc aderea dimensiunii p art ii combinat ionale, viteza de r aspuns a automatului cre ste. De asemenea, acest a simpitate duce la o sintez a mult mai u soar a si, n depanarea circuitului, necesit a un timp mult mai redus. Pentru asignarea one-hot, din Tabelul 3.3, aplicat a automatului cu tabelul de tranzit ie al st arilor din Figura 3.28-a se obt in urm atoarele expresii pentru semnalele de excitat ie. 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 a o practic a, destul de frecvent a, n proiectarea automatelor ca s a se intro,, duc a si o stare de a steptare idle care se codic a printr-un cuv ant numai de zero-uri sau mai rar numai din unu-uri. Codicarea numai prin zero-uri este practic a deoarece printr-un semnal de RESET-are se poate nscrie acest cuv ant n registrul de stare si ,, automatul este adus n starea de a steptare. In aceast a stare de init ializare/idle , q0 din organigrama din Figura 3.29, se ajunge e prin init ializare, la punerea sub tensiune, sau e prin resetare c and automatul nu mai are nimic de efectuat. Introduc and aceast a starea de init ializare pentru asignarea de tip one-hot se obt ine asignarea de tip one-hot modicat cu o reprezentare ca cea din coloana a treia a Tabelului 3.3. Funct iile de excitat ie, n num ar de (s 1), ale automatului descris n Figura 3.29-a, prin aplicarea asigur arii one-hot modicat au urm atoarele expresii 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 a faptul c a automatul este adus n starea q0 (= 00 000) c and nici una din celelalte st ari nu este activ a.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

371

Un exemplu de init ializare q0 (= 0 000) pentru o codicare obi snuit a este prezentat n coloana a patra din Tabelul 3.3. Toate st arile, n afar a de cea de init ializare, au n codul lor bitul cel mai semnicativ z3 egal cu 1, deci acest bit prin valoarea 1 indic a faptul c a automatul nu este n starea de init ializare. In acest exemplu pentru ceilalt i trei bit i de stare z2 z1 z0 se folose ste n codicarea st arilor o num arare n binar natural 000, 001, 010 etc. Pentru toate modalit a tiile de asignare a st arilor prezente, n general, num arul de coduri utilizate (valide) s este mai mic dec at num arul total de cuvinte de cod posibile. Diferent a ntre aceste dou a numere este num arul de coduri neutilizate (ilegale). Dar ce inuent a negativ a pot avea codurile neutilizate? Datorit a unor funct ion ari defectuoase ale circuitului, unor gre seli de proiectare, modicarea nea steptat a a unei intr ari(asincrone) sau la punerea sub tensiune, automatul poate intra ntr-o stare ilegal a. Odata intrat ntr-o stare ilegal a pot exista dou a scenarii. Primul, funct ie dac a starea ilegal a a fost sau nu cuprins a n procesul de minimizare si dac a a fost ce valoare a primit n diagrama V-K, dup a c ateva tacturi de clock se poate ajunge intr-o stare legal a si mai departe o funct ionare corect a a automatului. Al doilea, si cel mai dezastruos, dintr-o stare ilegal a se poate trece n alte st ari ilegale, inchiz andu-se un ,, ciclu ntre acestea iar din aceast a funct ionare ilegal a se poate iesi numai printr-o oprire si o repornire, dac a nu se ajunge din nou tot n funct ionare ilegal a. In tratarea st arilor ilegale, notate prin simbolul indiferent (don t care) n diagramele V-K din Figura 3.28-b si c, pot exista dou a abord ari.

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 proiect arii automatului n raport cu considerarea st arilor ilegale a) proiectare pentru cost minim; b) proiectare cu risc minim. Prima abordare a - costului minim - consider a c a automatul nu va intra niciodat a intr-o stare ilegal a. Prin urmare, n procesul de sinteza pe diagramele V-K termenii canonici indiferent i sunt inclu si cu valoarea potrivit a mpreun a cu alt i termeni canonici adiacent i astfel nc at s a rezulte implicant i primi esent iali de suprafat a c at mai mare, n consecint a cost minim de implementare. A doua abordare - riscul minim - evit a cantonarea automatului ntr-o stare

372

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

ilegal a. Aceast a funct ionare se poate realiza prin proiectarea automatului astfel nc at din ecare stare ilegal a s a existe o tranzit ie ntr-o stare legal a, n general spre starea de init ializare (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 st ari ilegale ale automatului. O proiectare cu risc minim va considera graful de tranzit ie al st arilor din Figura 3.30-b n care din st arile ilegale 001, 011, 100 si 111 exist a tranzit ii spre starea de init ializare 000. 3.2.5.1 Intr ari si ie siri asincrone

La un automat sincron variat iile variabilelor de intrare au loc doar n momentul aplic arii impulsului de ceas, sunt sincrone (sunt e santionate/testate) cu semnalul de ceas. Aceste variat ii mpreun a cu cele ale st arii prezente produc starea urm atoare si ie sirile. At at ie sirile c at si starea urm atoare vor corecte dac a se citesc, respectiv se nscriu n registrul de stare si de ie sire, numai n perioada regimului stabilizat, adic a dup a consumarea regimului tranzitoriu, vezi Figura 3.7-b. Chiar si la un automat Mealy imediat se obt in ie siri corecte dac a sunt citite (utilizate) dup a consumarea regimului tranzitoriu. Nu la fel se nt ampl a c and intr arile sunt asincrone. Semnalele asincrone de intrare nu mai au variat ii sincrone cu ceasul automatului, aceste semnale se pot modica oric and n raport cu frontul activ de sincronizare al 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. Variat ia semnalelor asincrone va produce modic ari n ie sirile de tip imediat (Mealy) care pot nc arcate de hazard dac a sunt citite nainte de consumarea regimului tranzitoriu. In schimb, variat ia semnalelor asincrone de intrare nu va produce o funct ionare incorect a a automatului, prin ie siri nc arcate de hazard si cuvinte de stare urm atoare eronate, dac a nscrierea (memorarea) n registrul de ie sire si n registrul de stare se face numai dup a consumarea regimului tranzitoriu. S-a ar atat n sect iunea 3.2.1, Figura 3.6, c a nscrierea ntr-un registru, la momentul iT al aplic arii impulsului de ceas, al unui semnal care variaz a n intevalul interzis (iT SU , iT + H ), nu poate o operat ie determinist a. Dac a n acest interval semnalul are o variat ie de la 0 la 1 sau de la 1 la 0 n registru nu se poate sti exact dac a valoarea nscris a este 0 sau 1. Aceast a comportare nedeterminist a se datoreaz a funct ion arii celulelor (bistabile) din care este construit registrul, explicat iile vor date n sect iunea 3.3.1. In consecint a , daca variat ia semnalului asincron de intrare produce modic ari ale ie sirii si ale cuv antului de stare urm atoare chiar n intervalul atunci ie sirea nscris a n registrul de ie sire poate eronat a iar codul nscris n registrul de stare poate unul ilegal sau poate unul care nu mai corespunde unei tranzit ii normale. Deci, iat a cum o intrare asincron a, prin efectele sale, poate produce o funct ionare incorect aa unui automat. Efectele variat iei variabilei asincrone n intervalul interzis nu pot eliminate dar pot atenuate printr-o asignare corespunz atoare a st arilor. Pentru segmentul de organigram a din Figura 3.31-a, n care se testeaz a si variabila asincron a x ari se noteaz a, n general, cu un asterisc), 0 (asincronismul unei intr asignarea s-a realizat cu variat ie minim a astfel nc at locusul st arilor pentru acest segment are valoarea 3. Expresia cuv antului de cod pentru st arile q 2 , q3 si q4 , n funct ie de variabilele testate, x1 sincron a si x a, este ((x1 x 0 ) (x1 x0 )x1 ) 0 asincron

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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* 0)(x1x0)x1) 100 010


q4 q2

1 L3 001
q3

L2

x* 0 0 1 ((x1x* 0)(x1)1) 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 ambiguit a tii aspra nscrierii cuv antului de stare urm atoare generat a de testarea unei variabile de intrare asincrona: a) printr-o codicare cu variat ie minim a; b) printr-o codicare cu dependent a redus a; c) introducerea unui bloc de stare suplimentar pentru eliminarea test arii simultane a dou a variabile asincrone.
am cazul c and x1 = 0, adic a adic a: nz2 = x1 x 0 , nz1 = x1 x0 , nz0 = x1 . Consider o tranzit ie din q0 n q3 sau q4 , iar cuv antul de cod al acestor dou a st ari se reduce si nz3 = 1. S a presupunem c a n intervalul la x x 0 1, deci nz2 = x0 , nz1 = x0 centrat pe frontul impulsului de ceas din momentul (i + 1)T , care marcheaz a trecerea din blocul de stare q0 n unul din blocurile de stare q3 sau q4 , variabila asincron a x 0 variaz a de la valoarea 0 la valoarea 1. Conform celor prezentate anterior, n ecare din cele dou a celule (z2 , z1 ) ale registrului de stare, pentru bit ii cuv antului de stare nz 2 si nz1 , se poate nscrie e 0, e 1 neav and un control determinist asupra acestui proces, n consecint a pot urm atoarele patru cuvinte nscrise pentru starea urm atoare: 000, 010, 100 si 110.

1. Pentru cuv antul 100 nscris n registrul de stare: s-a realizat o comutat ie corect a at at n celula z2 = 1 (nz2 = x at si n celula z1 = 0 (nz1 = x 0 ), deci o 0 = 1) c ntr-o stare legal a q3 . tranzit ie corect a (L3 = x1 x 0 = 0 1 = 1)

374

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

2. Pentru cuv antul 010 nscris n registrul de stare: s-a realizat o comutat ie incorect a at at n celula z2 = 0 (nz2 = x at si n celula z1 = 1 (nz1 = x 0 = 0 = 1) c 0), deci o tranzit ie incorect a n starea q 4 (legal a), pe o linie de tranzit ie dar care nu a fost activat a (L4 = x1 x 0 = 0 1 = 0). 3. Pentru cuv antul 000 nscris n registrul de stare: s-a realizat o comutat ie incorect a n celula z2 = 0 dar o comutat ie corect a n celula z1 (nz1 = x 0 = 0), deci o tranzit ie incorect a n starea q0 , care este o stare legal a a automatului dar pentru care nu exist a nici o linie de tranzit ie, din L 0 n L0 . 4. Pentru cuv antul 110 nscris n registrul de stare: s-a realizat o comutat ie corect a n celula z2 = 1 dar o comutat ie incorect a n celula z1 = 1 (nz1 = x 0 = 0), deci o tranzit ie incorect a ntr-o stare care nici nu este legal a pentru automat. In concluzie, o codicare cu variat ie minim a nu poate atenua efectele produse de modicarea unei variabile asincrone n intervalul centrat pe un front al semnalului de ceas. Codicarea st arilor cu dependent a redus a fat a de o intrare asicron a poate atenua inuent a pe care o are aceasta asupra comutat iei st arii automatului. In Figura 3.31-b s-a realizat segmentul de organigram a ASM , analizat anterior, dar de data aceasta printr-o codicare cu dependent a redus a fat a de variabila asicron a x 0 . Evident, nu se poate realiza simultan o codicare cu dependent a redus a dup a dou a variabile testate, adic a at at dup a x1 c at si dup a x iunea 3.25). Pentru x1 = 0 rezult a 0 (vezi sect tranzit iile la st arile q3 si q4 ale c aror cuvinte de cod se pot exprima prin expresia (x1 x 0 )(x1 )(1) = x0 11, deci numai un singur bit nz2 = x0 este dependent de valoarea variabilei asincrone testate. Consider and ca anterior, variat ia variabilei x 0 de la 0 la 1, rezult a c a pot nscrise n registrul de stare urm atoarele dou a cuvinte de cod 011 si 111. C and se nscrie 111 este o tranzit ie la starea q 3 pe o cale de tranzit ie corect a (L3 ), iar c and se nscrie 011 este o tranzit ie la q 4 pe o cale de tranzit ie incorect a, L4 (dar nu ca n cazul codic arii cu variat ie minim a c and ap areau c ai de tranzit ie inexistente sau chiar st ari ilegale). Evident, tranzit ia la q 4 este incorect a dar care are consecint e atenuante. Dac a tranzit ia a fost gre sit a la q 4 si dac a p an a la urm atorul impuls de clock (i +2)T intrarea x a c a a fost un spike 0 revine la valoarea 0, se consider n aceast a intrare, tranzit ia a fost corect a (neglij and spike-ul). Dar dac a variabila x 0 se ment ine la valoarea 1 acum se testeaz a aceast a valoare n blocul de stare al lui q 4 deci evenimentul pe intrare a fost sesizat cu o nt arziere de un tact. Uneori, se poate realiza achizit ia semnalelor de intrare nc at acestea s a nu se modice la intervale de timp mai scurte dec at dou a perioade ale impulsului de ceas. Dar dac a ntr-un bloc de stare se testeaz a dou a sau mai multe variabile asincrone cum se pot atenua efectele modic arii simultane a acestor variabile asupra ambiguit a tii care poate ap area la nscrierea cuv antului de stare urm atoare? Pentru aceste cazuri, deoarece nu se poate realiza o codicare cu dependent a redus a simultan dup a dou a sau mai multe variabile de intrare testate n acela si bloc de stare, solut ia este introducerea de st ari suplimentare si testarea ntr-un bloc de stare doar a unei singure variabile asincrone. In Figura 3.31-c se testeaz a n blocul de stare q 0 dou a variabile de intrare asincrone x si x arii suplimentare q5 se transfer a 2 0 . Prin introducerea st n blocul de stare corespunz ator lui q5 . Trebuie analtestarea variabilei asincrone x 0 izat ce ie sire se va genera n blocul de stare q 5 pentru ca s a nu se modice funct ionarea

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

375

automatului(de dorit s a se genereze aceea si ie sire ca si n blocul de stare q 0 ). Apare a doua ntrebare referitoare la existent a mai multor variabile asincrone testate, prin secvent ializarea lor n blocuri de stare succesive nu este pierdut a semnicat ia lor? R aspunsul este negativ deoarece variabilele asincrone nu sunt percepute n automat, prin testare, ca form and un cuv ant de cod ci numai ca semnale cu interpretare independent a (f ar a o corelare intre ele). Codicarea cu dependent a redus a, pentru evitarea ambiguit a tii tranzit iei st arilor, n procesul de sintez a a automatului se va reecta ntr-o anumit a structur a obt inut a pentru circuitul combinat ional CLC1, Figura 3.25, care calculeaz a funct iile de excitat ie. Dar aspecte de funct ionare incorect a pot apare nu numai pentru calculul st arii urm atoare ci si pentru calculul ie sirilor care se realizeaz a cu partea combinat ional a notat a prin CLC2 pe Figura 3.25. Pentru un automat Mealy imediat, Figura 3.25, 3.8-a, chiar si c and intr arile sunt sincrone, se obt in aproape totdeauna ie siri care sunt nc arcate cu hazard. La ie sirea circuitului CLC2, realizat pe dou a niveluri logice, nu se produc semnale nc arcate cu hazard numai dac a n congurat ia de intrare se modic a cel mult un bit. Dar congurat ia de intrare este denit a pe produsul cartezian X Q ceea ce nseamn a c a, uzual, se modic a doi bit i unul pe intrare si unul n cuv antul de stare. Dac a exist a si intrare de tip asincron variat iile acesteia se transmit direct n ie siri ce pot nc arcate cu hazard pe durata tranzitorie. Funct ionarea incorect a a automatului Mealy imediat poate evitat a dac a acesta este transformat ntr-un automat Mealy cu nt arziere, Figura 3.8-b. Deoarece la automatul Mealy cu nt arziere ie sirile sunt disponibile (dup a nscrierea n registrul de ie sire R2 c and s-a consumat regimul tranzitoriu) numai la urmatorul impuls de clock; trebuie tinut cont c a efectul unei intr ari se manifest a la ie sire cu o nt arziere de un tact. Dar dac a exist a o intrare asincron a aspectul de ambiguitate discutat anterior,la nscrierea bit ilor n registrul de stare, apare si aici la nscrierea(memorarea) ie sirilor n registrul de ie sire R 2 . Aceast a ambiguitate apare atunci c and intrarea asincron a are o modicare n intervalul interzis al impulsului de ceas aplicat registrului de ie sire R2 . In concluzie pentru un automat Mealy cu nt arziere si cu cel put in o intrare asincron a nu sunt garantate semnale de ie sire corecte. Ambiguitatea pe ie sire la un Mealy cu nt arziere, determinat a de intr ari asincrone, poate eliminat a dac a automatul este transformat ntr-un automat Moore imediat echivalent. Automatul Moore imediat, Figura 3.8-c, genereaz a, la fel ca si Mealy cu nt arziere, ie siri care sunt dependente de intrarea aplicat a n tactul anterior. Intr arile asincrone la automatul Mealy imediat nu genereaz a ambiguitate pe ie siri deoarece acestea nu sunt cuplate direct cu intr arile, modicarea intr arilor se transmite la ie sire prin intermediul st arii automatului. Dar automatul Moore imediat poate genera ie siri nc arcate cu hazard. Hazardul se datoreaz a circuitului combinat ional CLC2 de pe ie sire, ce produce hazard atunci c and n congurat ia sa de intrare, care este cuv antul de stare prezenta, se modic a mai mult de un bit. Se poate elimina hazardul din ie sire prin dou a modalit a ti de implementare. Prima, se elimin a circuitul CLC2, adic a ie sirile sunt identice cu starea Y Q (caz uzual la circuitele num ar ator). A doua modalitate const a n transformarea automatului Moore imediat ntr-un automat Moore cu nt arziere, Figura 3.8-d. Dar la automatul Moore cu nt arziere efectul modic arii intr arii se manifest a la ie sire cu o nt arziere de dou a tacturi.

376

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

3.2.6

Proiectarea automatelor sincrone

Denirea unui automat cu s st ari necesit a descrierea funct ion arii automatului n raport cu ecare din aceste st ari, deci, evident, complexitatea automatului C automat dimensiunea denit iei - are ordinul de m arime C automat O(s). Pentru un automat cu s st ari cea mai mic a valoare a num arului de intr ari secundare este egal a k = log 2 s . Pentru n intr ari principale dimensiunea circuitelor CLC1 si CLC2, din Figura 3.25, depinde de num arul total de intr ari n + k . Neglij and num arul de intr ari principale, (n = 0), n cazul general dimensiunea circuitelor combinat ionale ale automatului sunt proport ionale cu 2k (dar s = 2k ) deci Cautomat (2k ). In concluzie, rezult a c a pentru un automat complexitatea sa este n acela si ordin de m arime cu dimensiunea circuitului combinat ional asociat. Aceast a concluzie sugereaz a faptul c a proiectarea unui automat de complexitate redus a implic a realizarea unei structuri reduse de circuit combinat ional. Reducerea dimensiunii p art ii combinat ionale a unui automat, ce face parte dintrun sistem digital, direct ioneaz a proiectarea spre divizarea ntr-o cale de date si o cale de control (automat de control). Dar chiar si prin aceast a reducere poate rezulta pentru un automat de control, sau pentru automatele funct ionale - care implementeaz a diferite funct ii, de o complexitate destul de ridicat a. Solut ia pentru reducerea acestei complexit a ti este partajarea n mai multe automate de complexitate mai redus a si apoi interconectarea acestora, Figura 3.20 si 3.21 In proiectarea unui automat sincron se parcurg urm atoarele etape: 1. Descrierea funct ion arii automatului. Aceast a descriere poate a unui automat 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 tranzit ie al st arilor/ie sirilor sau se transpune sub una din aceste forme dintr-o descriere verbal a. 2. Construirea tabelului de tranzit ie al st arilor/ie sirilor si reducerea st arilor redundante. 3. Codicarea st arilor si construirea tabelului de tranzit ie asignat pentru st ari si ie siri. 4. Sinteza funct iilor de excitat ie (starea urm atoare) si a ie sirilor. 5. Implementarea, ntr-o anumit a tehnologie, si apoi testarea. 6. Elaborarea documentat iei. Operat iile cuprinse n aceste etape au fost prezentate n sect iunile anterioare acum vor reluate n cadrul unui exemplu: Exemplul 3.12 S a se realizeze sinteza automatului sincron descris prin organigrama ASM din Figura 3.32-a. Solut ie. Automatul prezint a trei intr ari x2 , x1 , x0 si cinci ie siri y1 , y2 L , y4 ie siri imediate condit ionate(de tip Mealy) si y3 , y5 ie siri imediate dependente de stare(de tip Moore). Codul celor cinci stari q0 q5 rezult a prin plasarea acestora pe o diagrama V-K, Figura 3.32-b. Se descompune diagrama ASM n 6 blocuri de stare B0 B5 n care se identic a 11 c ai de tranzit ie L1 L11 . In Figura 3.32-c se calculeaz a valoarea locusului st arilor, care este

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 c ailor de tranzit ie cu expresiile logice corespunz atoare (c) si plasarea st arilor pe o diagram a V-K (b) pentru obt inerea unui minim pentru locusul st arilor. Contribut ia blocurilor de stare (d) si a c ailor de tranzit ie (e) la descrierea automatului.

378

3.2. CIRCUITE LOGICE SECVENT IALE SINCRONE

egal a cu 12, si pentru ecare cale de tranzit ie si pentru ecare stare este prezentat a expresia logic a. Apoi, pentru o sistematizare si explicitare a procesului de sintez a n Figura 3.32-d si Figura 3.32-c sunt prezentate respectiv contribut iile blocurilor si c ailor de tranzit ie la descrierea automatului. Tabelul de tranzit ie al st arilor/ie sirilor (de tip Mealy) cu 6 st ari si 3 intr ari ar cuprinde 6 23 = 48 de elemente. Dar pentru c a nu exist a tranzit ii ntre st ari pentru toate congurat iile de intrare posibile, tabelul de tranzit ie (complet) se va substitui cu o forma simplicat a de tabel care cuprinde 11 linii, c ate una pentru ecare cale de tranzit ie, si dou a coloane (una pentru starea prezent a si alta pentru starea urm atoare, similar se va realiza un tabel si pentru ie siri). Tabelele se vor construi sub form a simbolic a si apoi sub form a asignat a. Tabelul de tranzit ie al st arilor sub form a simbolica si asignat a este prezentat n Figura 3.33-a. Pentru ie siri se disting dou a tabele unul pentru ie siri dependente numai de stare (de tip Moore) si unul pentru ie siri condit ionate (de tip Mealy). Tabelul pentru ie sirile de tip Moore y3 , y5 , Figura 3.33-b, cuprinde doar st arile si valorile corespunz atoare ale ie sirilor. In schimb, tabelul pentru ie sirile de tip Mealy, Figura 3.33-c, este construit, ca si cel al st arilor, pentru toate c aile de tranzit ie si st arile respective. Dar ie sirile condit ionate y1 , y2 L , y1 , gurate n simbolurile de ie siri condit ionate, sunt prezente si n simbolurile de n q5 si y4 n q4 . O ie sire de tip Moore, gurat a ntr-o stare, poate stare: y1 n q0 si q2 , y2 L convertit a formal ntr-o ie sire condit ionat a dac a acea ie sire este introdus a pe ecare cale de tranzit ie care porne ste din acea stare. Proced and n acest fel ie sirile y1 , y2 L si y4 vor tratate ca ind active pe toate c aile de tranzit ie care pornesc respectiv din blocurile de stare B0 , B 2 , B 5 si B4 , n consecint a se introduc n tabel pe toate aceste c ai. Deci, pentru sintez a, aceste ie siri nu mai sunt reprezentate si de tip Mealy si de tip Moore, ci numai de tip Mealy. Concentr and n acela si tabel at at tranzit ia st arilor c at si ie sirile condit ionate si de stare se obt ine forma reprezentat a n Figura 3.34. Utiliz and valorile din acest tabel, transcrise pe diagrama V-K, se pot deduce expresiile pentru ie siri si pentru funct iile de excitat ie (bit ii st arii urmatoare). Pentru ie sirile dependente de stare y3 si y5 expresiile logice se obt in dintr-un tabel V-K, cu opt c asut e, de variabile z2 , z1 si z0 . y3 = z1 (z2 + z0 ) y5 = z1 (z2 + z0 ) sase Funct iile de excitat ie w2 , w1 , w0 si ie sirile condit ionate y4 , y2 L , y1 sunt dependente de variabile, x2 , x1 , x0 , z2 , z1 , z0 deci se obt in din tabele V-K cu 64 c asut e. Deoarece acestea au fost explicitate doar n funct ie de 11 c ai de tranzit ie expresiile lor se pot deduce mai u sor ca sum a logic a numai de acele c ai pentru care au valoarea 1, iar pentru minimizare se utilizeaz a diagrama V-K din Figura 3.32-e unde s-au mapat deja contribut iile ec arei c ai de tranzit ie. Se obt in urm atoarele expresii: 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 In acela si mod se pot deduce si expresiile pentru y3 si y5 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 SECVENT IALE, 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 tranzit ie n reprezentare simbolic a si asignat a pentru st ari (a) pentru ie sirile dependente doar de stare (b) si pentru ie sirile condit ionate (c)

380

3.2. CIRCUITE LOGICE SECVENT IALE 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 st ari, ie siri dependente de stare si ie siri condit ionate.
Aceste expresii pot implementate prin oricare din variantele de realizare a unui circuit logic combinat ional: port i logice, DMUX+nivel exterior de SAU ad augat, MUX, circuite ROM sau circuite PLA. Organizarea automatului, n care s-au separat circuitele pentru: calculul funct iei de tranzit ie CLC1, pentru calculul ie sirilor de tip Mealy CLC2 si pentru calculul ie sirilor de tip Moore, este prezentat a n Figura 3.35-a. Expresiile obt inute anterior prin minimizare necesit a n total realizarea a 16 produse logice distincte de dou a p an a la cinci variabile, dar numai trei produse logice din cele 19 sunt utilizabile de dou a ori (z2 z1 x1 , z2 z1 x1 si z1 z0 ). Implementarea automatului pe o matrice PLA, reprezentat a generic n Figura 3.35-b, poate realizat a, mai simplu, f ar a minimizarea expresiilor logice. In aceast a implementare ecare poart a AND realizeaz a un termen produs logic dintre expresia logic a a unei c ai de tranzit ie si expresia logic a a cuv antului de cod al st arii din care porne ste calea de tranzit ie respectiv a, Figura 3.32-c. De exemplu, n blocul de stare B2 expresia c aii de tranzit ie L7 este x iar expresia cuv antului de stare este z2 z1 z0 , deci pe coloana notat a cu L7 din matricea programabil a AND a circuitului PLA se programeaz a produsul logic xz2 z1 z0 . Proced and n acest mod, f ar a a mai necesar a minimizarea expresiilor, pentru c aile de tranzit ie L 1 L11 sunt necesare 11 port i AND din circuitul PLA fat a de 16 port i AND c and pentru sintez a s-a si utilizat minimizarea expresiilor pe diagrame V-K. Dar, at at ie sirile de tip Mealy (y 1 , y2 L y4 ) c at si cele de tip Moore (y3 si y5 ) ind imediate sufer a de inconvenientul acestor automate cu ie siri imediate adic a, sunt afectate de hazard. Hazardul se produce c and cel put in dou a variabile de intrare n CLC2 sau n CLC3 se modic a. De exemplu, pe calea de tranzit ie L10 , c and starea comut a de la 011 la 000, dac a prin celula de registru de stare z1 comutat ia de la 1 la 0 se propag a mai repede dec at comutat ia de la 1 la 0 prin celula z0 atunci pe ie sirea y3 , prin termenul z1 z0 , se genereaz a un glitch 1. Solut ia pentru eliminarea hazardului pe ie siri este cea general a - ie sirile s a e convertite din ie siri imediate n ie siri nt arziate prin introducerea de registre pe ie sire.

Prezentarea p an a acum a automatelor a fost lipsit a de explicat iile necesare realiz arii registrelor de stare si de ie sire precum si a celulelor acestora. Acestea vor

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a pentru Exemplul 3.12 a) structurarea pe subcircuite a automatului; b) implementarea(f ar a minimizare) a automatului

382

3.3. CIRCUITE BASCULANTE

claricate n cadrul sect iunilor urm atoare de bistabile si de registre. S i n capitolul de CLS, similar ca n capitolul de CLC, s-a pornit cu prezentarea not iunilor fundamentale de organizare si funct ionare a circuitului logic secvent ial, s-au expus modalit a ti de exprimare pentru funct ia de tranzit ie g si de transfer f , trec and apoi la descrierea unei metode prin care se poate face sinteza unui circuit logic secvent ial (automat)). Evident, cu aceste cuno stin se si instrumente se poate proiecta un CLS. Dar, a sa cum s-a armat, dac a sistemul este de complexitate ridicat a acesta se va partaja n automate de complexitate mai redus a. In general, se caut a s a rezulte prin partajare automate componente de larg a utilitate care sunt ni ste circuite, de facto, standard. Aceste circuite de facto standard exist a deja implementate si obtenabile comercial, sarcina proiectantului reduc andu-se la a selecta circuitul si a-i folosi optim toate facilit a tile n sistem mai complex n care l introduce. In continuare, n subcapitolele care urmeaz a, se vor prezenta unele din aceste circuite secvent iale cu aplicabilitate foarte extins a n sistemele digitale.

3.3

CIRCUITE BASCULANTE

Structurarea cea mai simpl a pentru un circuit secvent ial asincron din Figura 3.1 se obt ine c and partea combinat ional a se reduce doar la un singur inversor. Un astfel de circuit, care a fost descris n Figura 3.3-a din Exemplul 3.2, nu prezint a nici o stare stabil a, deci este un oscilator. Acest circuit va prezenta dou a st ari stabile dac a partea combinat ional a va compus a din dou a inversoare (sau un num ar par de inversoare) nseriate, Figura 3.4-b, din acela si exemplu. Dar, acest circuit cu dou a inversoare poate privit ca un circuit cu un singur inversor a c arui react ie se realizeaz a prin cel alalt inversor, deci ecare inversor are o react ie - ie sirea este adus a la intrare - prin cel alalt inversor. Circuitul astfel rezultat, cu dou a react ii - c ate una pentru ecare inversor, constituie celula pe care se bazeaz a ntreaga clas a de cicuite basculante. Se pot diferent ia aceste circuite basculante n funct ie de modul de realizare, n curent continuu sau n curent alternativ, a celor dou a conexiuni de react ie. Conform acestei diferent ieri rezult a urm atoarele tipuri de cicuite basculante: 1. Circuitele basculante bistabile, care reduse la celula de baz a, prezint a pentru cele dou a conexiuni de react ie leg aturi galvanice simetrice. Acestea sunt circuitele latch si circuitele basculante bistabile (triggere) care realizeaz a suportul zic pentru funct ia de memorare a unui bit. Exist a si o variant a n care cele dou a leg aturi galvanice de react ie nu mai sunt simetrice, aceast a variant a cunoscut a sub denumirea de trigger Schmitt si a c arei utilizare este de circuit discrimitator de nivel(releu de amplitudine). 2. Circuitul basculant monostabil, care prezint a o conexiune de react ie n curent continuu iar cealalt a n curent alternativ (conexiune prin condensator). Aceast a neidentitate a celor dou a conexiuni de react ie determin a ca cicuitul s a aib a o stare stabil a (monostabil) iar cealalt a stare instabil a. Utilitatea monostabilului este aplicat ii de generare de intervale de timp(releu de timp). 3. Circuitul basculant astabil, care prezint a ambele conexiuni de react ie n curent alternativ (conexiuni prin condensator). Cele dou a conexiuni ind active

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

383

doar la variat ii i imprim a cicuitului o funct ionare de oscilator, deci nici o stare stabil a (astabil). Prezent a cuv antului basculant n denumirea acestor circuite semnic a faptul c a trecerea ntre cele dou a st ari se face prin basculare. Comutarea ie sirii la un CLC se poate produce la modicarea valorii unei variabile de intrare, iar ie sirea calculat a este ment inut a la nivelul logic respectiv doar at at timp c at este aplicat a valoarea variabilei de intrare. Bascularea este tot un proces de comutare a ie sirii, init iat a de o modicare a valorii unei variabile de intrare, dar ie sirea este ment inut a la nivelul logic respectiv chiar dac a dup a un interval de timp nu mai r am ane aplicat a valoarea variabilei de intrare. Rezult a c a bascularea este o comutat ie care trebuie doar init iat a, dup a care se autocomand a, acest efect de automent inere este o consecint a a react iei (pozitive) din structura circuitului. Un efect similar apare la comanda dispozitivului tiristor, unde este sucient a amorsarea pentru ca apoi printr-o react ie pozitiv a, n interiorul dispozitivului, s a se ment in a starea de conduct ie. De si din punct de vedere fenomenologic exist a deosebire ntre comutat ie si basculare n exprimarea curent a la circuitele basculante este foarte uzual s a se substituie exprimarea corect a circuitul basculeaz a cu exprimarea uzual a circuitul comut a.

3.3.1

Circuitul latch

Circuitul secvent ial asincron din Figura 3.36-a, identic cu cel din Figura 3.4-b de la Exemplul 3.2, unde s-a demonstrat c a prezint a dou a st ari stabile, poate redesenat sub o form a mult mai uzual a, pentru analiz a, ca n Figura 3.36-b. In aceast a form a se scot n evident a conexiunile de react ie realizate ncruci sat, de la ie sirea inversorului 1 la intrarea inversorului 2, Vin2 = V01 , si de la ie sirea inversorului 2 la intrarea inversorului 1, Vin1 = V02 . O implementare a acestei organiz ari poate cu inversoare CMOS ca n Figura 3.36-c (unde prin linie ntrerupt a s-au identicat cele dou a inversoare). Consider and caracteristica static a de transfer V 0 = f (Vin ) a unui inversor, cu reprezentarea din Figura 1.14-b, prin conectarea ncruci sat a a acestuia cu un al doilea inversor identic, pentru semnalul de intrare V in1 , se obt ine Vin1 = V02 = f (Vin2 ) = f (V01 ) = f (f (Vin1 )). Aceasta nseamn a c a semnalul de intrare V in1 dup a o inversare (1800 ) pe primul inversor, V01 = f (Vin1 ), si dup a nc a o inversare (1800 ) pe al doilea inversor, V02 = f (V01 ), se aplic a n faz a peste Vin1 , nt arindu-l. La fel se poate deduce Vin2 = f (f (Vin2 )). Deoarece ntre ie sirile celor dou a inversoare exist a un decalaj de 180 0 a semnalelor evident c a ie sirea unui inversor este n nivelul H si se noteaz a prin Q, iar ie sirea celuilalt inversor va n nivelul L si se noteaz a prin Q, Q N sau Q L. La conectarea tensiunii de alimentare, printr-un fenomen de concurs, deoarece practic cele dou a inversoare nu pot avea timpi de propagare identici, una din ie siri va fort at a n H iar cealalt a n L. Punctul de funct ionare al circuitului se obt ine la intersect ia caracteristicilor statice de transfer ale celor dou a inversoare. Cele dou a caracteristici statice sunt trasate n Figura 3.36-d n care pentru inversorul 1 pe abscis a este xat a Vin1 iar pe ordonat a V01 , iar pentru inversorul 2, deoarece Vin2 = V01 si V02 = Vin1 , tensiunea de ie sire V02 este xat a pe abscis a si Vin2 pe ordonat a. Se observ a c a se obt in trei puncte de funct ionare, dou a puncte stabile S 1 , S2 si un punct instabil M . Punctele S1 si S2 , n unul din acestea ajung and prin concurs la conectarea tensiunii, sunt puncte stabile pentru c a n ecare din acestea amplicarea total a A = A 1 A2

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 Q .Vin2

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 a pentru circuitele bistabile: a,b) circuitul dublu inversor cu conexiuni de react ie ncruci sate; c) implementare cu inversoare CMOS; d) determinarea punctelor de funct ionare prin intersect ia caracteristicilor statice(S1 , S2 -stabile, M-instabil); e) analogie mecanic a pentru punctele de funct ionare stabile; f) tabelul caracteristic pentru comanda celulei elementare.

pe bucla format a din cele dou a amplicatoare inversoare este nul a deoarece A = dV01 /dVin1 = 0, A2 = dV01 /dVin2 = 0. Unul din puncte, prin convent ie, poate ,, ,, considerat c a reprezint a starea 1 a circuitului Q = 1, QN = 0 iar cel alalt starea 0 a circuitului Q = 0, QN = 1. Al treilea punct de intersect ie M , care apare n zona liniar a a caracteristicilor statice, zon a interzis a pentru funct ionarea n digital, vezi Figura 1.14-a, este denumit punct de metastabilitate si are valorile pentru coordonatele V in si V0 situate n afara nivelurilor logice H si L, deci este f ar a utilitate n aplicat iile digitale. Teoretic, circuitul poate sta un timp indenit n punctul M dar, practic, dup a un anumit timp, determinat de variat ii de tensiune nt ampl atoare, iese din M deplas andu-se spre S 1 sau S2 . In zona punctului M coecientul de amplicare total pe bucl a are o valoare mare deoarece at at A1 1 c at si A2 1; de exemplu, pentru circuitul din Figura 3.36-c toate patru tranzistoare sunt n regim de conduct ie determin and o pant a foarte abrupt a pentru caracteristica static a a ec arui amplicator inversor. Dac a circuitul se a a n punctul de metastabilitate si nt ampl ator apare un mic zgomot care mic soreaz a valoarea lui Vin1 , aceast a variat ie Vin1 propagat a succesiv n bucla ncruci sat a prin

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

385

V01 , Vin2 si V02 , pentru c a bucla are o amplicare mare, ajunge s a produc a o variat ie important a asupra lui Vin1 n sensul n care a produs-o zgomotul init ial. Apoi, din nou, variat ia propagat a succesiv prin bucl a va duce la o si mai pronunt at a sc adere a lui Vin , si tot a sa repetat n bucl a p an a c and V in1 scade la nivelul L iar punctul de funct ionare ajunge n S1 . Aceast a deplasare din M spre S1 este gurat a prin traseul n zig-zag ntre caracteristica inversorului 1 si a inversorului 2. O analogie mecanic a pentru cele trei puncte de funct ionare ale cicuitului este reprezentat a n Figura 3.36-e. Bila (punctul de funct ionare al cicuitului!) poate stat iona pe un plan orizontal n pozit iile S 1 sau S2 (puncte stabile) ntre care exist a ,, un deal pe al c arui v arf bila se poate sprijini doar ntr-un singur punct (punctul de metastabilitate). C and bila se a a n v arf foarte u sor oricare adiere de v ant va ,, sua bila e nspre S1 sau S2 . C and bila se a a n S1 sau S2 cu o fort a (semnal) puternic a se poate trece peste deal n pozit ia opus a S 2 sau S1 . Critic a apare situat ia (de nedeterminare, ND) c and bila se a a n S1 sau S2 iar o fort a de valoare mai redus a aplicat a asupra ei poate s a o deplaseze nspre v arful dealului, de unde revine n pozit ia init ial a sau reu se ste s a o deplaseze chiar p an a n v arf unde stat ioneaz a si de unde dup a un timp nedenit poate reveni n pozit ia stabil a init ial a sau poate trece n cealalt a pozit e stabil a. Starea de metastabilitate poate apare la aplicarea tensiunii de alimentare sau la o comand a de trecere ntre cele dou a pozit ii stabile, de la 1 la 0 sau de la 0 la 1 logic, dar semnalul de comand a este insucient (nu are amplitudinea necesar a sau are amplitudinea necesar a dar durata de aplicare este prea scurt a). Starea de metastabilitate (punctul de funct ionare n M) trebuie evitat a n circuitele digitale deoarece genereaz a niveluri de tensiune n afara celor de 1 logic sau 0 logic si, n plus, din starea de metastabilitate nu se poate determina n care stare urm atoare trece circuitul n cea de 0 sau n cea de 1 logic. Circuitul format din cele dou a inversoare cu conexiuni ncruci sate, care este celula de baz a pentru circuitele basculante, n structura prezentat a p an a acum, nu poate comandat (se xeaz a ntr-o stare la conectarea tensiunii). Pentru a comandat trebuie s a i se adauge intr ari de comanda. Intr arile de comand a sunt: 1 - intrarea de nscriere, notat a cu S (Set), care prin activare va nscrie ie sirea n starea logic a 1, Q = 1, Q N = 0, 2 - intrarea de stergere, notat a cu R (Reset), care prin activare va nscrie ie sirea n starea logic a 0, Q = 0, QN = 1. Evident, cu cele dou a intr ari se pot realiza patru comenzi de intrare, Figura 3.36-f: 1. Nu se activeaz a nici una din intr ari, S=inactiv, R=inactiv ceea ce corespunde unei comenzi de tipul nici o operat ie NOP (No OPeration) adic a ie sirea circuitului r am ane f ar a modic ari, FM; 2. Se activeaz a doar nscrierea S=activ, R=inactiv, ie sirea se nscrie n starea logic a 1, Q = 1, QN = 0; 3. Se activeaz a doar stergerea S=inactiv, R=activ, ie sirea se nscrie n starea logica 0, Q = 0, QN = 1; 4. Se activeaz a simultan at at nscrierea S=activ, c at si stergerea R=activ. Aceasta este o comand a absurd a! deoarece i se cere circuitului s a treac a simultan at at n starea 1 (Q = 1, QN = 0) c at si n starea 0 (Q = 0, QN = 1), starea circuitului

386

3.3. CIRCUITE BASCULANTE

este nedeterminat a , ND. Aceast a comand a de nscriere si stergere simultan a este evitat a n circuitele digitale. Conform clasic arii circuitelor pe baza buclelor de react ie incluse una n alta, prezentate n sect iunea 3.3, circuitul latch care cont ine o singur a bucl a de react ie este un circuit de ordinul 1, SO-1. 3.3.1.1 Latch-ul SR

La circuitul latch din Figura 3.36-b se pot ad auga cele dou a intr ari de date S ( nscriere) si R ( stergere) dac a inversoarele sunt realizate cu port i NOR, Figura 3.37-a, sau cu port i NAND, Figura 3.38-a. Pentru structura obt inut a, latch SR, la activarea (se consider a convent ia de logic a pozitiv a) unei intr ari S sau R se obt ine ie sirea in stare H dar nu la poarta NOR la care s-a aplicat intrarea activat a ci la cealalt a poart a NOR (ie sirea unei port i NOR este totdeauna L atunci c and una sau mai multe intr ari sunt H ). Dac a intrarea de nscriere devine activ a, S = 1, si intrarea de stergere este ment inut a inactiv a, R = 0, dup a timpul de propagare p ie sirea port ii NOR1 comut a n starea L, QN = 0, care aplicat a prin leg atura de react ie pe intrarea port ii NOR 2 va comuta, dup a timpul de propagare p , ie sirea port ii NOR2 n starea H , Q = 1. Dup a un interval de timp 2p , n sprijinul semnalului de nscriere S = 1 aplicat pe una din intr arile port ii NOR1 , vine pe cealalt a intrare a potii NOR1 un semnal de react ie Q = 1 de la ie sirea port ii NOR2 , deci semnalul de nscriere poate dezactivat, S = 0, deoarece starea logic a 1 (Q = 1, QN = 0) este ment inut a n continuare de c atre semnalul de react ie Q = 1. Dac a semnalul de nscriere S = 1 nu respect a aceast a condit ie critic a de timp, ca durata sa s a e T W 2 p , se poate ca latch-ul s a nu se nscrie n starea logic a 1 sau, mai r au, s a intre n starea de metastabilitate unde, teoretic, poate sta indenit, dar practic dup a un interval de timp se ndreapt a e spre starea logic a 1 (Q = 1, QN = 0), e spre starea logic a 0 (Q = 0, QN = 1). Intrarea n metastabilitate se poate genera si n cazul n care semnalul aplicat pe intrare nu are o amplitudine sucient a, deci se situeaz a n intervalul interzis ntre 1 si 0 logic. Dac a ulterior se activeaz a din nou intrarea de nscriere, S = 1, odat a sau de mai multe ori consecutiv, latch-ul r am ane nscris n aceea si stare logic a 1, deci numai primul impuls dintr-o succesiune de nscriere are efectul de nscriere. Acest mod de funct ionare este similar cu cel de operare al unui z avor (latch in limba englez a), care se nchide la prima mpingere a sa. Pentru deschiderea ( stergerea) z avorului este necesar a o mpingere n sens contrar dar tot numai odat a. Similar, se pot descrie secvent ele de propagare prin port ile NOR la nscrierea latch-ului n starea logic a 0 c and pe intr arile de date se aplic a S = 0, R = 1. Tabelul caracteristic al latch-ului SR, Figura 3.37-b, care exprim a ie sirea n funct ie de cele patru cuvinte aplicate pe intr arile de date, se obt ine din tabelul din Figura 3.36-f adaptat pentru o convent ie de logic a pozitiv a (activ = H , inactiv = L). Din acest tabel caracteristic se poate deduce tabelul de excitat ie, Figura 3.37-c. Tabelul de excitat ie, care este n fond tabelul de evolut ie al st arilor, vezi Figura 3.2-b, prescrie pentru oricare comutat ie impus a latch-ului ntre dou a st ari care trebuie s a e cuv antul SR aplicat pe intr arile de date. Liniile tabelului de excitat ie se deduc din analiza liniilor din tabelul caracteristic n felul urm ator: 1. Comutat ia din Q = 0 n starea urm atoare Q+ = 0 se realizeaz a pentru SR = 00 din linia nt aia a tabelului caracteristic (f ar a modicare, FM) sau pentru

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a de latch realizat cu port i NOR; b,c,d) tabelul caracteristic, tabelul de excitat ie si diagrama VK pentru latch-ul SR; e) simboluri de reprezentare pentru latch-ul SR; f) explicarea funct ion arii cu ajutorul diagramelor de timp. SR = 01 din linia a treia (din starea logic a 0 se aplic a comanda de nscriere tot n starea logic a 0), deci cuv antul necesar aplicat pe intr arile de date trebuie s a e SR = 0. 2. Pentru comutat ia din Q = 0 n Q+ = 1 corespunde numai linia a treia din tabelul caracteristic, deci SR = 10. 3. Pentru comutat ia din Q = 1 n Q+ = 0 corespunde numai linia a doua din tabelul caracteristic, deci SR = 10. 4. Comutat ia din Q = 1 n starea urm atoare Q+ = 1 se realizeaz a pentru SR = 00 (f ar a modicare, FM) sau pentru SR = 10 din linia a doua (din starea logic a 1), deci cuv antul aplicat pe intr arile de date trebuie s a e SR = 0. Tabelul de excitat ie se poate transpune ntr-o diagram a de tipul V-K, Figura 3.37-d. Din aceast a diagram a se poate deduce ecuat ia logic a a latch-ului SR, care are expresia Q+ = S + RQ (3.20)

Aceast a ecuat ie se poate deduce direct si din structura latch-ului SR din Figura 3.37-a scriind relat ia pentru poarta NOR 1 n felul urm ator Q+ N = S + R + QN + care devine Q = S + RQ deoarece QN = Q. Funct ionarea unui latch poate descris a si prin diagrame de semnale ca n Figura 3.37-f; s aget ile leag a ecare modicare pe intr arile de date cu efectele (comutat iile) pe care le produce pe ie siri. De exemplu, pentru modicarea intr arilor de date din momentele t1 , t2 , t3 , t4 latch-ul se nscrie respectiv n st arile 1, 0, 1 si 0. La momentul t5 , at at timp c at SR = 11, ie sirile vor QN = 0 si Q = 0, la fel se int ampl a n

388

3.3. CIRCUITE BASCULANTE

momentul t7 si n momentul t9 . Diferent a ntre t5 , t7 si t9 apare prin faptul c a la primele dou a intr arile S si R nu sunt dezactivate simultan, deci latch-ul trece ntr-o stare logic a, pe c and la t9 intr arile SR din 11 sunt dezactivate simultan t 10 n 00 ceea ce provoac a intrarea n starea de metastabilitate, iar din aceast a stare dup a un interval de timp latch-ul poate ajunge e n 0 e n 1. Cuv antul de intrare de date SR = 11 determin a ca ambele ie siri s a e n 0 si se spune c a aceast a comand a produce o stare de nedeterminare (ND, linia a patra n tabelul caracteristic), pentru c a la dezactivarea simultan a a intr arilor de date (c and ie sirile Q, Q N au valori ntre 0 si 1 logic) si dup a consumarea intervalului de metastabilitate, se va trece e n starea Q = 0, QN = 1, e n starea Q = 1,QN = 0 f ar a a exista un control asupra acestei tranzit ii. Exemplul 3.13 Folosind circuitul latch s a se formeze semnalul de la un comutator pentru a aplicat la intrarea unui sistem digital. Solut ie. La nchiderea unui contact, lamela acestuia, datorit a elasticit a tii, poate produce c ateva oscilat ii nainte de a se opri pe pozit ia comandat a. Astfel c a semnalul cules care s a sesizeze pozit ia nchis a contactului, nainte de a ajunge la valoarea stabilizat a, este sub forma unor impulsuri ntre o valoare V a tensiunii si o valoare zero. In Figura 3.38-c tensiunea culeas a VO nainte de a ajunge la valoarea zero, corespunz atoare contactului nchis pe pozit ia 2, are oscilat ii ca cele reprezentate n diagrama de semnale. Un sistem digital la care se aplic a un astfel de semnal ar sesiza nchiderea contactului de mai multe ori. Se poate obt ine un semnal doar cu o singur a comutat ie (la nchiderea pe pozit ia 2) dac a se utilizeaz a un latch, deoarece acesta are proprietatea: este activat doar de prima activare dintr-un sir aplicat pe 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 a pentru Exemplul 3.13: a,b) structur a si tabelul caracteristic pentru un latch cu intr arile active n L (latch S R); c) oscilat iile n semnalul obt inut la nchiderea unui contact (datorit a vibrat iilor lamelei contactului); d) circuit, a tirea unui semnal obt inut la nchiderea/deschiderea cu un latch S R, pentru cur unui contact.
O structur a de latch cu port i NAND este cea din Figura 3.38-a care se activeaz a pe intr arile de date prin semnale n stare L, de unde denumirea de latch S R. Tabelul carac-

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

389

teristic al latch-ului S R, Figura 3.38-b, se obt ine din tabelul caracteristic din Figura 3.36-f aplic and convent ia de logic a negativ a (activ=L , inactiv=H ). Aplic and semnalul cules VO , de pe comutator, la intrarea unui latch S R, ca n Figura ,, 3.38-d, se obt ine un semnal curat ca cel din diagrama de semnale al aturat a. La nchidere, din pozit ia 1 n pozit ia 2, latch-ul ind comandat pe nscriere S = 0, ie sirea sa comut a n Q = 1, QN = 0, iar la deschidere din pozit ia 1 n 2, latch-ul este comandat pe stergere R = 0, ie sirea comut a in Q = 0, QN = 1.

In sistemele digitale, pentru o procesare controlat a, este necesar s a existe un control asupra felului/modului proces arii (cum?), momentul proces arii(c and?) si n care punct (adres a) s a e procesat a (unde?). Aceste trei act iuni, exprimate sintetic prin tripla interogat ie unde? c and? si cum?, apar ca o prim a decient a a latch-ului S R sau SR deoarece nu le poate realiza. In plus latch-ul mai prezint a starea de nedeterminare (ND) c and sunt activate simultan cele dou a intr ari de date. Latch-ul cu ceas. La circuitul latch cuv antul aplicat pe intr arile de date determin a care va starea n care comut a (cum?), dar acela si cuv ant aplicat determin a si momentul c and comut a (c and?). Pentru a separa cele dou a act iuni este necesar ca latch-ul s a e nzestrat cu intrare distinct a de cum? fat a de c and?. Pentru modul de comutare se p astreaz a intr arile de date S, R sau S,R, iar pentru prescrierea momentului comutat ie se introduce o intrare pe care se aplic a un semnal de ceas. Accesul cuv antului de date la intr arile de date ale latch-ului se va face prin port i care sunt validate de semnalul de ceas, deci modicarea st arii circuitului va posibil a doar n momentele marcate de ceas (pe palier sau pe front). Ecuat ia logic a a latch-ului SR cu ceas, similar a cu relat ia 3.15, are expresia: Q(t + 1) = S + RQ(t) (3.21)

In relat ia 3.20 starea urm atoare a fost notat a prin Q + , dar n relat ia 3.21 a fost substituit a prin Q(t+1) ca s a indice faptul c a starea urm atoare se nscrie, pornind de la starea prezent a Q(t), doar la validarea urm atoare (t + 1) prin semnalul de ceas. In Figura 3.39 este prezentat un latch SR cu ceas ce se obt ine din latch-ul din Figura 3.37-a c aruia i s-au aplicat cele dou a port i AND pe intrare, care valideaz a accesul datelor pe intr arile S si R doar pe durata T W a palierului pozitiv al ceasului. La fel, structura latch-ului cu ceas n tehnologie CMOS, Figura 3.39-b, se obt ine din cea cu dou a inversoare din Figura 3.36-b (delimitat a prin linie ntrerupt a n Figura 3.39-b), la care s-a ad augat n ret eaua de tip n un tranzistor pentru intrarea S nseriat cu un tranzistor pentru validarea de ceas, CLK, precum si tranzistoarele complementare din ret eaua de tip p. Tabelul caracteristic si tabelul de excitat ie, Figura 3.39-c si d, pot considerate acelea si ca cele din Figura 3.37-c si d; diferent a exist and n tabelul caracteristic, care prin linia a cincea exprim a faptul c a dac a semnalul CLK nu este activ, nu se prime ste nici o comand a pe intr arile de date, deci latch-ul este nevalidat. Decuplarea ntre c and si cum se realizeaz a numai n cazul c and cuv antul de date este aplicat pe intr arile de date si numai dup a ce aceste date sunt stabilizate se aplic a un semnal de ceas care valideaz a transferul prin cele dou a port i ad augate la intrare. Pe durata TW a palierului activ de ceas oricare modicare pe intr arile de date S,R este resimt it a n ie sirile Q si QN ale latch-ului ceea ce se refer a prin: latch-ul este transparent pe durata palierului activ al ceasului. Deci, realizarea decupl arii

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 si implementarea sa (b) n tehnologie CMOS; c,d) tabelul de tranzit ie si tabelul de excitat ie; e) exemplu de diagrame de semnal; f) simboluri de reprezentare.

presupune c a este ndeplinit a condit ia prin care cuv antul de date este aplicat si stabilizat pe intr arile de date n momentul aparit iei palierului activ de ceas si aceste date r am an nemodicate pe toat a durata palierului. Funct ionarea latch-ului cu ceas poate prezentat a intuitiv prin diagrama de semnale ca n Figura 3.39-e. Pe durata palierelor active ale ceasului T W1 , TW2 , TW3 latch-ul este transparent, modic arile de pe intr arile de date se propag a spre ie sire, ie sirea este cuplat a cu intrarea, iar pe durata de neactivare a ceasului modic arile pe intrare ( n momentele t4 , t5 , t6 ) nu produc nici o schimbare pe ie sire. In momentul t7 ambele intr ari sunt activate S = R = 1 care comut a ie sirile in Q N = 0, Q = 0, deoarece ceasul este activ, dar n momentul t8 , c and ceasul devine inactiv, latch-ul intr a n metastabilitate, iar dup a un timp (c at?) se indreapt a e spre starea logic a 1 e spre starea logic a 0. ,, ,, Deci, latch-ul cu ceas (latch-ul sincron) poate separa act iunea c and de cum , dac a datele pe intrare r am an stabile pe o durat a T W1 dar nu elimin a interdict ia de a nu activate simultan semnalele S si R. Obtenabil ca circuit integrat discret este a. circuitul 74LS279 care cont ine 4 latch-uri S R pe capsul

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

391

3.3.1.2

Latch-ul D

In tabelul caracteristic al latch-ului SR sau S R, Figura 3.39-c, dac a se elimin a linia nt aia si a patra se obt ine tabelul caracteristic din Figura 3.40-c care exprim a funct ionarea latch-ului de tip D. Fizic, eliminarea celor dou a cuvinte de intrare, ambele intr ari neactivate si ambele intr ari activate, se poate realiza prin conectarea celor dou a intr ari prin intermediul unui inversor ca n Figura 3.40-a, adic a totdeauna R = S . Latch-ul rezultat, referit latch-ul D, av and o singur a intrare de date, notat a cu D, nu mai prezint a restrict ia, de la latch-ul SR, de a nu se activa simultan cele dou a intr ari de date. Ca structurare latch-ul D se poate obt ine din circuitul din Figura 3.39-a prin conectarea unui inversor pe intrarea R. Variante de latch D foarte des utilizate n tehnologia unipolar a sunt cele din Figura 3.40-b bazate pe circuite dinamice (Figura 1.54) si port i de transmisie. Bucla ntre inversoarele 1 si 2 se nchide prin poarta de transmisie PT2, iar introducerea ( nscrierea) intr arii D n bucl a se face prin poarta de transmisie PT1; cele dou a port i de transmisie sunt comandate n opozit ie prin semnalul de ceas. Pe palierul activ de ceas, CLK=1, PT1 este dechis a, PT2 este blocat a iar capacitatea (parazit a) de pe intrarea amplicatorului inversor 1 se ncarc a ajung and la valoarea tensiunii existent a pe intrarea D. Pe durata palierului inactiv de ceas, CLK=0, PT1 este blocat a, PT2 este deschis a realiz andu-se nchiderea buclei ntre inversoarele 1 si 2 ceea ce permite ncontinuu nc arcarea/ment inerea capacit a tii parazite la valoarea de tensiune la care a fost nc arcat a. Tabelul de excitat ie din Figura 3.40-d, dedus din tabelul caracteristic, arat a c a totdeauna ie sirea Q devine egal a cu intrarea D la aplicarea frontului activ de ceas, deci ecuat ia care exprim a funct ionarea este Q(t + 1) = D (3.22)

Conform acestei relat ii rezult a c a latch-ul D poate stoca/memora data aplicat a pe intrare, de unde si denumirea de latch D (de la Data). Dar pe durata palierului activ de ceas latch-ul D are o funct ionare transparent a, oricare modicare pe intrare se propag a la ie sire, nu exist a o decuplare a ie sirii de intrare. Aceast a transparent a a latch-ului D se poate urm ari pe diagrama de semnale din Figura 3.40-e pe intervalele and frontul activ de ceas valideaz a cele dou a port i AND de pe si TW3 , c T W1 , T W2 intrare, n schimb modic arile intr arii D n momentele t 1 , t4 , t5 si t8 nu produc nici o comutat ie a ie sirii deoarece sunt n palierul inactiv de ceas. Intr-un sistem, funct ionarea corect a a unui latch D impune respectarea unor parametrii de timp. Timpii de propagare, dat i n cataloagele produc atorilor, sunt denit i pe diagramele de timp din Figura 3.40-f [Wakerly 00]; abreviat iile DQ indic a propagarea de la intrarea de date la ie sire, iar CQ propagarea de la intrarea de ceas la ie sire. De exemplu, pentru circuitul integrat 74LS75, 4 latch D/capsul a, se dau urm atoarele 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 comutat ie corespunz atoare a ie sirii, pe c and o modicare pe intrarea D care coincide cu durata fronturilor semnalului de ceas introduce latch-ul n metastabilitate, de exemplu la sf ar situl intervalului de transparent a T W3 . Pentru a evita metastabilitatea se impune ca intrarea de date s a e ment inut a stabil a pe intervalul SU 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

e)
D CLK

T W1

us uu vvuu usvs vs
SU

ws wsws wxswxwx xs
T W2

ys rts ysts yzstrtr yzyz zs r ys


T W3

SU

SU

H
ND

f)

pHL(DQ) pHL(DQ) pHL(DQ)

pHL(CQ)

Figura 3.40 Latch-ul D: a) organizarea unui latch D si implementarea sa (b) n tehnologie CMOS cu celule dinamice si port i de transmisie; c,d) tabelul de tranzit ie si tabelul de excitat ie; e) exemplu de diagrame de semnal; f) denirea timpilor de propagare; g) simboluri de reprezentare.

de frontul semnalului de ceas.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

393

Exemplul 3.14 Latch-ul Early. Acest tip de latch, pe l ang a funct ia existent a la latch-ul D, de a memora bitul aplicat pe intrarea D, poate realiza si o a doua funct ie, cea de procesare pe dou a niveluri logice (AND-OR). In consecint a , timpul de propagare necesar realiz arii celor dou a funct ii este egal numai cu timpul de propagare pe dou a niveluri logice. Structura latch-ului Early este cea desenat a n Figura 3.41-a. Informat ia de un bit aplicat a pe intrarea D, pe palierul CLK=1, se obt ine pe ie sirea Q dup a ce s-a propagat prin port ile 3 si 1. Apoi, prin leg atura de la Q la poarta 4 se realizeaz a react ia, adic a nt arirea
D

{|{} ~|~
Bi

CLK 4

| |

CLK CLK Q CLK D

CLK

3 CLK

a)
C i1

Ai

CLK A Bi i C i1 C i1 C i1 Bi Bi

Ai

Ai

| | | | | | | | | | | | | |

b)
3

CLK

Bi CLK C i1

5 C i1 si

| | | | | | |
Ai Ai Bi

CLK

5 Ci

9 8 10 CLK CLK 2 2

c)

d)

Figura 3.41 Latch-ul Early: a) structur a de principiu; b) structur a la care s-a eliminat poarta de ment inere pentru evitarea hazardului (prin comanda cu semnale de ceas defazate); c,d) calculul si memorarea funct iilor (s i ) si (Ci ) pentru un sumator cu transport progresiv pe o structur a de tip latch Early.
comenzii aplicate pe intrarea de date, ie sirea Q ind ment inut a n continuare at at prin poarta 3 c at si prin poarta 4. La dezactivarea semnalului CLK si activarea palierului pentru semnalul CLK =1 conexiunea de la ie sirea port ii 1 se nchide prin poarta 2, deci ment inerea react iei se face n continuare prin polaritatea (invers a) a semnalului de ceas. Pentru a nu apare discontinuitate (hazard) n ment inerea valorii de ie sire Q la schimbarea semnalului de

394

3.3. CIRCUITE BASCULANTE

ceas, adic a la comutarea ment inerii de la poarta 3 la poarta 2, a fost introdus a poarta (de ment inere) 4. Structuri de calcul si memorare pentru expresiile 2.17 ale sumei si si transferului urm ator Ci , la un sumator cu transportul anticipat, sunt prezentate n Figurile 3.41-c si 3.41-d. Aceste structuri sunt extensii ale structurii de latch Early obt inute prin repartizarea a c ate unei perechi de port i, notate cu 3 si 4 n Figura 3.41-a, pentru ecare termen produs din relat iile 2.17. Dac a implementarea acestor relat ii se face pe un circuit combinat ional pe dou a niveluri logice (AND-OR) urmat de un latch D (considerat c a are propagarea 2p rezult ao propagare total a egal a cu 4p . Pentru implementarea cu latch Early propagarea total a ind ,, numai de 2p ; propagarea pe latch ind ascuns a n propagarea p art ii combinat ionale. Avantajul implement arii de tipul AND-OR plus memorare pe latch Early poate nsot it a, cum este cazul sumatorului, si de urm atoarele dezavantaje: semnalele de date si de clock trebuie s a aib a fan-out ridicat; poarta OR trebuie s a suporte un fan-in mare, iar num arul de port i AND poate de asemenea ridicat. Se pot diminua aceste dezavantaje dac a port ile de ment inere (7,8,9,10 n Figura 3.41-c si 6,7,8 n Figura 3.41-d) sunt eliminate. Dar dup a aceast a eliminare de port i, pentru a asigura o funct ionare f ar a hazard a circuitului la comutat ia CLK0 si CLK 1, este necesar un defazaj ntre palierele active ale semnalului a devin a activ cu t nainte ca CLK s a e dezactivat, de ceas. Va trebui ca CLK 1 s ceea ce se poate obt ine prin dou a buere inversor pe intr ari pentru semnalul de ceas, Figura 3.41-b.

Latch-ul D, cu restrict ia impus a de a ment ine nemodicat a data de intrare pe ,, ,, durata palierului activ de ceas, poate separa act iunea c and de c and , de asemenea elimin a posibilitatea activ arii simultane a dou a intr ari dar, totu si, p an a acum ,, ,, nu prezint a si facilitatea de act iune unde . Evident, introducerea act iunii unde presupune existent a unui cuv ant (de adres a) care, pentru o congurat ie particular a, s a selecteze (deci un decodicator) un anumit punct (locat ie) dintre mai multe unde exist a stocat a informat ia (deci mai multe latch-uri D). O structur a care realizeaz a aceast a funct ionare, referit a prin latch adresabil, este reprezentat a n Figura 3.42.
"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 obt ine printr-o conectare n paralel de m latchuri D, av and toate n comun aceea si intrare de date D. Selectarea pentru nscriere a datei, aplicat a pe intrarea D, n unul din cele m latch-uri D se face prin activarea semnalului de ceas care se obt ine ca o ie sire din cele 2 n (m = 2n ) ale DMUX 1:2n . La DMUX pe intrarea de validare a ie sirii OE se aplic a semnalul de ceas CLK , iar pe

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

395

intr arile de selectare se aplic a un cuv ant de adres a A n1 An2 , ..., A0 . Ie sirea ec arui latch D, pentru citire, este disponibil a permanent f ar a selectare. Inscrierea ntr-un anumit latch (adres a), pentru o funct ionare corect a, trebuie s a respecte anumite relat ii temporale. Pentru latch-uri, se aplic a nt ai semnalul pe intrarea D, care trebuie s a e stabil pe palierul activ al semnalului aplicat pe o intrare CLK. Pentru DMUX nt ai se aplic a cuv antul de selectare si numai dup a stabilizarea acestui, pentru a evita hazardul pe ie siri, se activeaz a semnalul de ceas CLK (=OE). Structura de latch adresabil la care se adaug a selectarea (unde) si pe ie sire (pentru citire) se transform a n structura celulei de baz a pentru implementarea unei locat ii de memorie.

3.3.2

Circuite Basculante Bistabile (Triggere)

Pentru eliminarea decient elor prezentate de structura de latch elementar (nedi,, ,, ,, ferent ierea ntre act iunile c and si cum , inexistent a adres arii unde si restrict ia activ arii simultane a comenzii de nscriere si de citire) s-au realizat diferite tipuri de latch-uri cu ceas. Totu si, aceste latch-uri cu ceas mai prezint a un inconvenient: transparent a ie sirea este cuplat a cu intrarea (pe durata palierului activ de ceas). Circuitele care realizeaz a o izolare a ie sirii de intrare sunt referite prin termenul de bistabile/triggere (ip-op). 3.3.2.1 Principiul master-slave

Principiul Master-Slave (M-S) exprim a o modalitate de structurare a oric arui tip de circuit basculant. Aceast a modalitate de structurare const a n nserierea a dou a latch-uri cu ceas, ecare ind transparent pe palierul H al semnalului de ceas. Consider am un bistabil SR structurat M-S, ca n Figura 3.43-a, din dou a latch-uri SR, primul - master - comand a pe cel de al doilea - slave. Datele SR ale bistabilului se aplic a pe intr arile de date ale latch-ului master, ale c arui ie siri Q M , QM L se aplic a pe intr arile SR ale latch-ului slave, iar ie sirile bistabilului Q, Q N sunt cele ale latch-ului slave. Cele dou a latch-uri sunt validate, pentru transferul datelor de la intrare spre ie sire, pe paliere defazate cu 180 ale semnalului de ceas, latch-ul master este comandat pe palierul CLK=1 iar, apoi, latch-ul slave pe palierul CLK = 1 (datorit a inversorului pe semnalul de ceas). Pe durata palierului pozitiv, CLK=1, latch-ul master ind transparent datele de intrare (sau orice modicare a acestora) In schimb, pe sunt transferate la ie sire,QM , QM L, dar latch-ul slave este blocat. durata palierului negativ, CLK = 1, latch-ul master este blocat iar latch-ul slave devine transparent si transfer a datele de la ie sirile masterului Q M , QM L, care sunt intr ari la slave, spre ie sirile bistabilului, Q, Q N . De fapt, latch-ul slave are ca date de intrare datele de la ie sirea latch-ului master n momentul comut arii semnalului de ceas de la 1 la 0, deci bistabilul apare ca ind comandat de c atre frontul posterior. Bistabilul are izolat a ie sirea de intrare, deoarece permanent unul din latch-uri este blocat, iar bascularea apare ca ind efectuat a n momentul frontului negativ de ceas. Evident, ca bistabilul s a- si modice ie sirea conform datelor aplicate pe intr arile SR acestea trebuie s a r am an a stabile pe toat a durata de transparent a a latch-ului master, CLK=1, p an a n momentul aparit iei frontului posterior care va determina transferul n slave. Aceast a nt arziere, din momentul aplic arii datelor p an a n momentul bas-

396

3.3. CIRCUITE BASCULANTE

cul arii ie sirii, este specicat a n simbolul de reprezentare al structurilor master-slave, Figura 3.43-d, prin simbolul aplicat pe ie sirile Q si Q N .
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 tranzit ie corect a a bistabilelor comandate pe front ( n cazul acesta pe frontul posterior); c,d) tabelul de tranzit ie si simbolul de reprezentare pentru un bistabil SR master-slave; e) diagrame de semnal ubt inute n funct ionarea unui bistabil SR master-slave. Transparent a latch-ului master pe durata palierului pozitiv de ceas este un dezavantaj deoarece un glitch, posibil s a apar a n sistemele digitale, poate modica datele aplicate pe intr ari, nscrie o valoare eronat a n latch-ul master si care, apoi, la aparit ia frontului posterior se transfer a n latch-ul slave spre ie sirea bistabilului. Din punct de vedere logic bistabilul SR master-slave este identic cu latch-ul SR cu ceas, ceea ce rezult a si din identitatea tabelelor caracteristice din Figurile 3.43-c si 3.39-c, au acela si tabel de excitat ie, Figura 3.39-d, deci aceea si ecuat ie logic a, relat ia 3.20. Funct ionarea bistabilului SR este descris a si n diagrama de semnale din Figura 3.43-e. In intervalele de transparent a ale masterului T W1 , TW2 , TW3 , TW4 si TW5 , c and ceasul este activ, aparit ia unui impuls pe una sau ambele intr ari de date

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

397

poate modica starea latch-ului master, stare deja xat a de congurat ia de date (care exista la nceputul intervalului respectiv de transparent a ). De exemplu, n momentul t1 latch-ul master este comutat din 0 n 1, n t3 din 1 n 0 si n t5 din 1 n 0 iar schimb arile congurat iei de date din momentele t 2 , t4 si t6 sunt ignorate de latch-ul master deoarece nu este activat de ceas. Se observ a c a modicarea st arii latch-ului slave poate apare doar pe frontul posterior al semnalului de ceas. In momentul t8 , pe frontul posterior al semnalului de ceas TW4 , deoarece QM QM L = 11 (SR = 11), ambele latch-uri intr a n metastabilitate, iar din aceast a stare poate ie si dup a un anumit timp nscriindu-se e n starea 1 e n starea 0. Latch-ul master va nscris determinist, si scos din starea de metastabilitate, dac a nc a nu s-a consumat aceast a stare, n momentul t9 c and este nscris prin SR=01 n starea 0, iar latch-ul slave poate nscris determinist n starea 0 pe frontul posterior al palierului T W5 . Rezult a, din explicat iile anterioare, c a starea de metastabilitate la un latch apare c and ambele sale ie siri sunt n 1 la dezactivarea semnalului de ceas. Dar, metastabilitate poate apare si c and intr arile de date se modic a pe durata frontului de nscriere/(activare) a semnalului de ceas, Figura 3.43-b (se consider a frontul posterior c and se nscriu datele n latch-ul slave). Ca durat a a frontului de nscriere se consider a un interval compus din urm atoarele trei subintervale: SU -timpul de prestabilire (Set-Up), care este intervalul de timp dinainte de nceperea tranzit iei active (frontului) a ceasului n care intr arile de date trebuie s a e stabile; f -durata frontului activ de ceas; H -timpul de ment inere (Hold), care este intervalul de timp dup a tranzit ia frontului activ n care intr arile de date trebuie s a mai e nc a ment inute stabile. Deci intervalul , denumit fereastr a de decizie, axat pe frontul activ de tranzit ie are durata = SU + f + H (3.23) Este referit prin fereastr a de decizie deoarece n acest interval bistabilul testeaz a datele aplicate pe intrare si decide care va starea la ie sire. Pentru circuitele TTL valori uzuale sunt: SU =(5 20)ns, H =(5 0)ns; la circuitele mai rapide ace sti parametri tind spre valori care se situeaz a nspre limitele inferioare ale intervalelor. La implementarea unui crcuit, ntr-o anumit a tehnologie, se recomand a ca perioada T a semnalului de ceas s a e fat a de timpul de propagare p pe o poart a n relat ia T (40 50)p . L a timea ferestrei de decizie, n raport cu durata unui palier activ de ceas este foarte unic a, deci se poate considera c a tranzit ia pe frontul semnalului de ceas a bistabilelor se realizeaz a punctual ( ntr-un moment de timp). La toate circuitele bistabile, a c aror structur a se bazeaz a pe celule latch, pentru o funct ionare corect a trebuie respectat a aceast a condit ie de nemodicare a datelor n intervalul , axat pe frontul activ al semnalului de ceas. Circuitele basculante pentru nscriere, pe l ang a intr arile de date validate (sincronizate) cu semnalul de ceas, n general, mai prezint a nc a dou a intr ari asinnscriere n starea Q = 1, crone, de regul a active n stare low, notate prin P RESET ( QN = 0) si CLEAR ( nscriere n starea Q = 0, QN = 1). Aceste intr ari asincrone se aplic a, Figura 3.43-a, la bistabil pe celula latch care genereaz a starea bistabilului Q,

398

3.3. CIRCUITE BASCULANTE

QN ; av and acces direct, f ar a validare prin semnal de ceas, la xarea st arii bistabilului, rezult a c a intr arile asincrone realizeaz a o comand a prioritar a n raport cu intr arile de date. De si organizarea de tip master-slave a bistabilelor realizeaz a o izolare a ie sirii de intrare faptul c a datele de intrare trebuie s a e ment inute constante pe durata palierului activ de ceas apare ca o restrict ie destul de sup ar atoare n anumite aplicat ii. Solut ia ar : scurtarea acestui palier doar la un impuls care s a apar a e pentru frontul pozitiv e pentru frontul negativ al semnalului de ceas. Astfel se obt in bistabile cu comutat ie pe front. Generarea unui impuls pe unul din fronturile semnalului de ceas se bazeaz a pe producerea intent ionat a a hazardului de propagare, Figura 2.24.
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 comutat ia pe front: a,c) circuite pentru generarea de impulsuri pentru comutat ia bistabilelor pe frontul pozitiv, respectiv negativ; b,d) simbolurile de reprezentare ale bistabilelor SR cu comutat ie pe frontul pozitiv, respectiv negativ. In Figurile 3.44-a si 3.44-b sunt prezentate dou a circuite care produc impulsuri, cu l a timea p egal a cu timpul de propagare printr-un inversor, respectiv pe frontul pozitiv sau negativ. Un astfel de impuls de ceas, care s a comande comutat ia bistabilului, trebuie s a aib a durata egal a sau mai mare cu timpul de tranzit ie n bistabil a semnalelor de date spre ie sire. Pentru semnalele de date restrict ia de nemodicare se reduce doar la intervalul de SU nainte de front si H dup a front, adic a pe intervalul , ceea ce este cu mult mai redus dec at l a timea unui palier a semnalului de ceas. n Figura Comanda unui bistabil pe frontul pozitiv se simbolizeaz a prin semnul , ca 3.44-b iar pentru frontul negativ prin semnul ca n Figura 3.44-d. Cele mai utilizate bistabile, mai ales pentru implement ari sub form a de circuite integrate discrete, sunt cele cu comutat ie pe front. Bistabilele cu comutat ie pe front rezolv a cu acuratet ea ,, ,, unui front problema decupl arii act iunii cum de c and . 3.3.2.2 Bistabilul D

Acest tip de bistabil, similar din punct de vedere logic latch-ului D, se poate obt ine dintr-un bistabil SR, c aruia i se fort eaz a datele de intrare s a ndeplineasc a relat ia R = S , prin utilizarea unui inversor pe intr ari. In Figura 3.45-a este prezentat a modalitatea de transformare a unui bistabil SR master-slave ntr-un bistabil de tip cu comutat ie pe frontul negativ (transferul din latch-ul master n latch-ul slave se

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

399

realizeaz a la sf ar situl palierului activ de ceas CLK=1). Se poate realiza un bistabil D cu comutat ie pe frontul pozitiv dac a se utilizeaz a nc a un inversor pe intrare, obt in andu-se deschiderea master-ului pe palierul negativ al ceasului iar al slave-ului pe palierul pozitiv. Evident c a indiferent de tipul frontului semnalul aplicat pe intrarea D trebuie s a respecte restrict iile de nemodicare pe durata intervalelor SU si H , iar nscrierea se face conform datei e santionate n momentul frontului. O structur a de bistabil D cu comutat ie pe frontul negativ, realizat a prin nserierea a dou a celule CMOS dinamice, este reprezentat a n Figura 3.45-b. Celula latch master este validat a pe palierul pozitiv de ceas, iar celula latch slave este validat a pe palierul negativ de ceas. C and CLK=1, poarta de transmisie PT1 este dechis a iar PT2 nchis a, ie sirea QM urm are ste intrarea D iar intrarea n celula slave nu este validat a deoarece poarta de transmisie PT3 este nchis a (doar PT4 deschis a pentru a ment ine valoarea ie sirii Q nscris a anterior). In momentul frontului negativ, c and semnalul de ceas devine CLK =1, poarta PT1 este nchis a iar PT2 deschis a, celula master este devalidat a , n schimb celula latch slave devine transparent a, poarta de transmisie PT3 se deschide iar PT4 se nchide, si nspre ie sirea Q se transmite valoarea logic a Q M memorat a n momentul frontului negativ. Succesiunea aceasta de transfer se repet a n urm atoarea perioad a a semnalului de ceas; port ile PT1 si PT4 sunt dechise simultan c and CLK=1, iar n opozit ie, c and CLK = 1, sunt comandate simultan PT2 si PT3. Tabelul caracteristic al bistabilului D, Figura 3.45-c, este similar cu cel al latchului D, Figura 3.40-c cu deosebirea c a la primul tranzit ia este pe front iar la al doilea pe palier. Ca tabel de excitat ie pentru bistabilul D se poate utiliza cel de la latch-ul D, Figura 3.40-d la fel si ecuat ia logic a a bistabilului D este cea exprimat a prin relat ia 3.22. Diferent a n funct ionare ntre latch-ul D si bistabilul D se poate evident ia din analiza diagramelor de semnal din Figura 3.45-d. Se observ a c a pe intervalele CLK = 1 (TW1 , TW2 , TW3 , TW4 ) latch-ul ind transparent ie sirea Q urm are ste variat iile intr arii D ceea ce nu se nt ampla cu ie sirea Q a bistabilului, acesta va memora numai valorile lui D din momentele fronturilor negative; deci bistabilul poate elimina transferul spre ie sirea sa a semnalelor de zgomot. Dac a perioada semnalului de ceas este cu mult mai mic a dec at cele mai mici intervale ntre variat iile semnalului aplicat pe intrare atunci ie sirea Q a bistabilului poate identic a cu intrarea D, dar cu o nt arziere de propagare fat a de aplicarea frontului de tranzit ie activ. Un tip de bistabil D, foarte uzual n aplicat ii, este cel cu validarea (semnalului de ceas), prezentat n Figura 3.45-e. Se compune dintr-un bistabil D cu MUX2:1 pe intrarea D, iar selectarea multiplexorului se realizeaz a cu semnalul de validare, E. La intrarea de date 0 a multiplexorului se aplic a ie sirea Q a bistabilului D iar pe intrarea 1 se aplic a data de intrare la bistabilul D cu validare. Pentru semnalul de validare inactiv, E=0, pe ecare front pozitiv de ceas se re nscrie n bistabilul D valoarea Q (bistabilul r am ane n aceia si stare); bistabilul cu validare apare ca un bistabil D la care semnalul de ceas nu este validat (nu se aplic a ). Pentru semnalul de validare activ, E=1, data de intrare se nscrie, prin MUX2:1, n bistabilul D. In aplicat ii acest tip de bistabil nscrie condit ionat data n funct ie de un alt semnal care se aplic a pe intrarea de validare. O alt a variant a de bistabil D cu validare, dar cu facilit a ti extinse, este prezentat a n Figura 3.72-c. Aplicat iile bistabilului D sunt: memorarea unui bit aplicat pe intrare, conform relat iei Q(t + 1) = D, la fel ca latch-ul D; sincronizarea semnalelor asincrone nainte ,, de a aplicate unui sistem sincron (aducerea n acela si timp cu ceasul sistemului

400

3.3. CIRCUITE BASCULANTE

sincron). At at pentru memorarea unui bit c at si pentru sincronizarea unui semnal asincron nu apar probleme dac a semnalul aplicat pe intrarea D nu are modic ari n fereastra de decizie . Dac a semnalul aplicat pe intrarea D este o dat a deja sincronizat a (nu se modic a n interiorul ferestrei de decizie), deci respect a timpii de prestabilire SU si de ment inere H , atunci aceast a dat a este transferat a la ie sire, cu n arzierea de propagare pD fat a de frontul activ, si va valoarea ie sirii bistabilului pe urm atoarea perioad a de ceas; n Figura 3.46-a este prezentat acest mod de funct ionare. Probleme apar c and semnalul aplicat pe intrarea D este un semnal asincron care si modic a valoarea n interiorul ferestrei de decizie (modicarea valorii unui semnal asincron poate avea loc oric and), Figura 3.46-b. E santionarea unui semnal asincron D, care variaz a pe durata ferestri de decizie (se modic a n D), poate crea dou a situat ii de evitat n funct ionarea bistabilului 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 comutat ie pe frontul negativ; b) structur a de bistabil D n tehnologie CMOS cu celule dinamice; c) tabelul caracteristic; d) comparat ia formelor de semnal obt inute la ie sirile unui latch D si un bistabil D si un bistabil D pentru acela si semnal aplicat pe intrare.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

401

1. Ie sirea bistabilului, dup a timpul de propagare pD , se nscrie nedeterminist, e cu valoarea D aplicat a pe intrare, e cu valoarea complementar a D. Dac a se sit a, iar dac a se nscrie cu valoarea nscrie cu valoarea D sincronizarea a fost reu D se poate considera c a e santionarea s-a realizat put in nainte de modicare, c and semnalul aplicat pe intrare ntr-adev ar avea valoarea D. La urm atoarea e santionare (urm atorul front activ de clock), dac a semnalul asincron nu si mai modic a valoarea, n bistabil se nscrie valoarea corect a, adic a D; pentru sistemul care utilizeaz a semnalul sincronizat apare c a semnalul a fost e santionat (sincronizat) cu nt arzierea de o perioad a de ceas. 2. Bistabilul, dup a timpul de propagare pD , oscileaz a sau intr a n metastabilitate, la ie sire se genereaz a un semnal ntre 0 si 1 logic, deoarece funct ionarea (latch-ului de baz a al bistabilului) este n regim liniar. Iar dac a ie sirea acestui bistabil se aplic a pe intrarea altor bistabile/port i unele din acestea pot sesiza intrarea pe nivel logic 1 iar altele pe nivel logic 0 sau unele bistabile pot intra n metastabilitate. Dup a un timp, m - timp de metastabilitate - care are o determinare probabilistic a [Wakerly 00], bistabilul iese din starea de metastabilitate nscriindu-se, nedeterminist, e n valoarea logic a 1, e 0, Figura 3.46-b. Scoaterea bistabilului din metastabilitate se obt ine prin dou a mobilit a ti. Prima, se fort eaz a ntr-o stare valid a prin aplicarea unei intr ari care respect a parametrii de SU si H . A doua, dup a m (care are o durat a?!) starea de metastabilitate se 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. Tranzit ia datelor prin bistabil c and este ndeplinit a condit ia de nemodicare n fereastra de decizie (a) c and nu este respectat a condit ia de nemodicare; c) structur a de sincronizator cu un bistabil D (d) cu dou a bistabile nseriate.

402

3.3. CIRCUITE BASCULANTE

Un circuit pentru obt inerea unei intr ari sincrone, INTSINCR, aplicate apoi la un sistem sincron, prin e santionarea unui semnal asincron, INTASINCR, este prezentat n Figura 3.46-c. Elementul sincronizator este un bistabil D care produce o sincronizare corect a n afar a de cazul n care semnalul INTASINCR si modic a valoarea n fereastra de decizie. C and INTASINCR se modic a n fereastra de decizie variat ia semnalului de ie sire obt inut, INTSINCR, poate ncadrat a n una din cele dou a situat ii de evitat, n funct ionare ale bistabilului D, descrise anterior (aplicarea unei intr ari nedenite, e 1, e 0, la sistemul sincron sau o sincronizare ratat a adic a aplicarea unei valori situate ntre 0 si 1 logic). Evitarea acestor funct ion ari incorecte poate realizat a de c atre varianta de sincronizator cu dou a bistabile D 1 , D2 nseriate ca n Figura 3.46-d. Semnalul INTSINCR va generat corect de bistabilul D 2 dac a n fereastra lui de decizie semnalul MET, produs de bistabilul D 1 , nu are modic ari. Chiar si c and semnalul MET, produs de D1 , este nedeterminist, e 1, e 0, acesta devine stabil dup a pD , deci urm atorul front de ceas l g ase ste stabilizat pe intrarea bistabilului D2 . Dar dac a semnalul MET este produs de starea de metastabilitate a lui D1 , si aceast a stare nu s-a consumat p an a la aparit ia noului front de ceas , m > CLK , atunci si D2 intr a n metastabilitate. Relat ia de temporizare care s a impun a ca D2 s a nu intre n metastabilitate, deci ca aceast a variant a de sincronizator s a nu produc a sincroniz ari ratate, are expresia m TCLK SU . Din aceast a relat ie se deduc dou a modalit a ti de a evita sincroniz ari ratate: 1- m arirea perioadei T CLK a semnalului de e santionare ( n general, semnalul asincron are o frecvent a de modicare mult mai mic a dec at frecvent a de ceas); 2- mic sorarea timpului de prestabilire SU ( n general, circuitele moderne, mai rapide, realizeaz a valori mai mici, chiar sub 5 ns). In concluzie, exist a posibilitatea de a realiza o sincronizare aproape sigur a pe timpul de funct ionare al unui echipament. Structuri de sincronizatoare care s a realizeze pentru timpul mediu ntre dou a (eventuale) sincroniz ari ratate, MTBF (Mean Time Between Synchronizer Failures), valori ce dep a sesc timpul de viat a de funct ionare al unui echipament pot g asite n [Wakerly 00]. 3.3.2.3 Bistabilul JK

Toate circuitele prezentate p an a acum, prin completarea structurii latch-ului din sect iunea 3.3.1, au avut ca nalitate eliminarea unora din decient ele latch-ului. Totu si, a r amas nesolut ionat a comanda contradictorie de activare simultan a a nscrierii si stergerii. Aceasta comand a a fost eliminat a, dar nu solut ionat a, la latch-ul D si bistabilul D prin comasarea acestei comenzi cu cea de neactivare simultan a a intr arilor (No-OPeration), dar circuitul s-a redus la o singur a intrare de date. Solut ionarea se poate obt ine prin realizarea unui automat cu dou a intr ari J- nscriere si K- stergere, Figura 3.47-a, av and ca element de memorare, e un latch cu ceas, e un bistabil, care pe l ang a comenzile normale ( nscriere JK=10, stergere JK=01, No-OPeration JK=00) s a aib a si comanda JK=11 pentru care s a basculeze n starea opus a. Funct ionarea acestui automat - bistabilul JK - este redat a n tabelul caracteristic din Figura 3.47-b. Se obt ine tabelul de excitat ie, Figura 3.47-c, sau forma concentrat a, Figura 3.47-d, dac a n tabelul caracteristic se analizeaz a pentru ecare din cele patru tranzit ii posibile, ntre cele dou a st ari, care din linii asigur a tranzit ia respectiv a. De exemplu, tranzit ia ntre st arile Q(t) = 1 si Q(t +1) = 0 poate realizat a de linia treia, JK=01, sau linia a patra, JK=11, adic a JK=1. Map and acest tabel de excitat ie

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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) si tabelul de excitat ie (c,d) se obt ine tabelul de tranzit ie al st arilor sub forma unei diagrame V-K (e). Folosind tabelul de excitat ie si R = KQ (g) rezult and al latch-ului SR(f) se obt in funct iile de excitat ie S = JQ(t) structura de tip JK (h). ntr-o diagram a V-K, av and intr arile Q(t) si JK, Figura 3.47-e, se deduce ecuat ia logic a pentru funct ionarea bistabilului JK. Q(t + 1) = J Q(t) + K Q(t) (3.24)

Aleg and pentru elementul de memorare al automatului JK un latch SR cu ceas este necesar a se determina ecuat ia logic a pentru CLC1 care genereaz a semnalele S si R. Diagramele V-K pentru sinteza funct iilor de excitat ie S, R, Figura 3.47-g, se obt ine prin conversia diagramei V-K a bistabilului JK utiliz and tabelul de excitat ie al latch-ului SR, Figura 3.47-f. De exemplu, c and bistabilul JK este n starea Q(t) = 0 si se aplic a JK=00 bistabilul comut a n starea Q(t + 1) = 0, c asut a de coordonate Q(t)JK = 000. Dar pentru c a aceast a tranzit ie (0 0) este realizat a de c atre latch-ul SR se observ a, din tabelul de excitat ie al acestuia, c a valorile aplicate pe intr arile sale trebuie s a e S = 0, R = , valori care se introduc n cele dou a c asut e de coordonate Q(t) JK=000 ale diagramelor V-K din Figura 3.47-g. Iar c and bistabilul comut a din Q(t) = 1 n Q(t + 1) = 0, c asut a de coordonate Q(t) JK=111, valorile aplicate pe intr arile latch-ului trebuie s a e S = 0 si R = 1, valori care se introduc respectiv n c asut ele de coordonate Q(t) JK=111 ale diagramelor V-K pentru funct iile S si R. si R = KQ(t) cu implementarea Rezult a cele dou a funct ii de excitat ie S = J Q(t)

404 din Figura 3.47-h.

3.3. CIRCUITE BASCULANTE

Structura de bistabil JK obt inut a, corect a din punct de vedere logic, nu este practic funct ional a c and palierul activ al semnalului de ceas are durata mai mare dec at timpul de propagare prin latch. De exemplu, dac a bistabilul este n starea logic a 0 (Q = 0, QN = 1) si pe intr arile de date se aplic a JK = 11 poarta 3 va genera un semnal S = 1 care va nscrie bistabilul n starea 1 (Q = 1, Q N = 0), iar dac a se ment ine JK = 11 se va deschide acum poarta 4 ce va genera un semnal R = 1 care va nscrie bistabilul n starea 0 s.a.m.d, dac a se ment ine JK = 11. Perioada de oscilat ie este egal a cu dublul timpului de propagare printr-o poart a AND de pe intrare plus timpul de propagare prin latch-ul SR. De fapt, c and durata palierului activ de ceas este mai mare dec at timpul de propagare n automat, acesta are o funct ionare de automat asincron (transparent a ), care pentru JK = 11 nu ndepline ste niciodat a condit ia de stabilitate, starea prezent a s a e identic a cu starea viitoare calculat a, deci automatul este cu oscilator. Eliminarea posibilit a tii de intrare n oscilat ie a bistabilului JK, din Figura 3.47-h, c and JK=11, se poate realiza prin izolarea intr arii de ie sire adic a substituind latch-ul SR cu o structur a de bistabil SR master-slave, Figura 3.48-a, obt in andu-se bistabilul JK master-slave cu simbolul de reprezentare din Figura 3.48-c si tabelul caracteristic din Figura 3.48-b. Dar si acest tip de bistabil este afectat de ceea ce se nume ste captarea de (zgomote) 1 sau 0 datorit a transparent ei latch-ului master pe palierul activ de ceas. De exemplu, dac a bistabilul este n starea 1 (Q = 1, QN = 0) iar pe intr arile de date se aplic a JK=00 atunci n momentul aparit iei palierului activ de ceas latch-ul master se nscrie n QM = 1 si QM L = 0 deci bistabilul va r am ane tot n starea 1. Dar dac a pe durata palierului activ de ceas pe intrarea K apare un glitch, posibil n sistemele digitale, acesta va nscrie (K Q = 1) latch-ul master n 0, Q M = 0 si QM L = 1, care se transfer a apoi la ie sire ca stare 0 a bistabilului chiar dac a pe intrare a disp arut zgomotul si se revine la JK=00 (captare zero). Similar se nt ampl a dac a bistabilul este n starea 0 (Q = 0, QN = 1), intrarea este JK=00 si pe intrarea J apare un glitch, va rezulta (J QN = 1) la ie sire starea 0 (Q = 1, QN = 1) chiar dac a zgomotul a disp arut si se revine la JK=00 (captare 1). Se obt ine un bistabil JK, f ar a posibilitatea capt arii de 1 sau 0, dac a structura de bistabil master-slave este substituit a cu un bistabil D cu comutat ie pe front, Figura 3.48-d al c arui simbol de reprezentare este desenat n Figura 3.48-f, iar tabelul caracteristic este descris n Figura 3.48-e. Un exemplu de diagrame de semnal pentru bistabilul JK cu comutat ie pe frontul pozitiv este dat n Figura 3.48-g; variat ia de semnale pe intr ari trebuie s a respecte condit ia de nemodicare pe intervalele SU si H n jurul frontului de comutat ie. Dintr-un bistabil JK se poate obt ine simplu un bistabil D prin comasarea liniilor unu si patru, Figura 3.48-e, n una singur a prin utilizarea unui inversor pe intrare. Un bistabil JK, av and dou a bucle de react ie suprapuse, este un sistem de ordinul doi SO-2 pe c and un bistabil D este un sistem de ordinul unu SO-1. Utilizarea unui bistabil JK pentru modelarea funct ion arii unui bistabil D ar nsemna irosirea autonomiei unui SO-2 fat a de un SO-1; realizarea unui bistabil D dintr-un bistabil JK este o solut ie numai c and nu exist a un bistabil D.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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) si simbolul de reprezentare (c) pentru un bistabil JK master-slave; structura (d), tabelul caracteristic (e) simbolul de reprezentare (f) si diagrame de semnal (g) pentru un bistabil JK cu comutat ie pe front pozitiv. 3.3.2.4 Bistabilul T

Conect and mpreun a cele dou a intr ari JK, nu printr-un inversor ca pentru modelarea funct ion arii bistabilului D, ci direct se obt ine bistabilul de tip T. In practic a funct ionarea unui bistabil T totdeauna este modelat a pe un bistabil JK, sau pe celelalte tipuri, deoarece nu exist a un circuit integrat discret care s a cont in a bistabile T. Prin conectarea mpreun a a intr arilor tabelul caracteristic din Figura 3.48-e devine tabelul caracteristic al bistabilului T reprezentat n Figura 3.49-b. Din acesta, not and J=K=T, se obt ine tabelul de excitat ie, Figura 3.49-c, si tabelul de tranzit ie al st arilor reprezentat prin diagrama V-K din Figura 3.49-d din care rezult a ecuat ia de funct ionarea 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 obt ine un bistabil T dintr-un bistabil JK (J=k); b) tabelul caracteristic; c,d) tabelul de excitat ie; e) diagrame de semnal (semnalul Q are perioada dubl a fat a de semnalul de ceas). Relat ia 3.26 arat a c a la ment inerea intr arii la valoarea T=1, bistabilul T la ecare impuls de ceas comut a/(basculeaz a) n starea opus a de unde si denumirea de bascul a (toggle). Aceast a simpl a comportare de bascul a are dou a aplicat ii foarte frecvent utilizate n sistemele digitale: 1. Num ar ator modulo 2. Deoarece tot la al doilea front (impuls de ceas) aplicat pe intrare bistabilul revine n aceea si stare (QQ N Q QN QQN Q QN . . .) ceea ce este echivalent cu identicarea claselor de resturi modulo 2, 0 si 1, din num arul de impulsuri aplicat pe intrare, deci un num ar ator n baz a 2. Inseriind dou a bistabile T starea acestora, Q 1 Q0 , revine n aceia si valoare dup a patru impulsuri de ceas, adic a identic a clasele de resturi modulo 4: 00 = 0, 01 = 1, 10 = 2, 11 = 3 pentru c a 4 modulo 4 = 0 = 0. Se poate deduce c a un num ar ator modulo 2n se obt ine din nserierea a n circuite bistabile T. 2. Divizor de frecvent a. Pentru c a la ecare front n acela si sens al semnalului de ceas, adic a la un interval de o perioad a TCLK , bistabilul basculeaz a alternativ de la 1 0, 0 1, 1 0 . . . rezult a c a perioada semnalului Q este dubl a n raport cu perioada semnalului de ceas TQ = 2TCLK . In plus, pentru c a Q comut a doar la fronturile n acela si sens ale ceasului nu depinde de factorul de umplere al semnalului de ceas. In Figura 3.49-e factorul de umplere al semnalului de ceas este sub 50% pe c and frontul de umplere al semnalului generat pe Q este de 50% (exist a o mic a abatere fat a de aceast a valoare cu diferent a ntre timpii de propagare pHL si pLH ). In concluzie, semnalul obt inut pe Q este cu un factor de umplere 50% si are frecvent a jum atate din cea a semnalului de ceas.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

407

Tabelul 3.4 Descrierea sintetic a a bistabilelor SR, D, JK si T


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)

_ = S + R Q(t) Q QN(FM) Q(t+1) 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

In Tabelul 3.4 sunt sintetizate informat iile principale despre cele patru tipuri de circuite basculante prezentate. Exemplul 3.15 Deoarece bistabilul T nu exista sub form a de circuit integrat independent s a se modeleze funct ionarea sa cu circuite bistabile de tip SR, JK si D.
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 + V CC
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 excitat ie pentru conversia SR, JK si D n T; b) conversia D T ; c) conversia RS T ; d) conversia JK T .
Solut ie. Rezolvarea acestei probleme este similar a cu cea pentru sinteza bistabilului JK prin modelarea funct ion arii pe un automat pe baz a de bistabil SR, Figura 3.47. Concret, trebuie realizate sinteze de automate pe baz a de bistabile SR, JK si D care modeleaz a funct ionarea bistabilului T. Funct ionarea bistabilului T este descris a prin tabelul s au de excitat ie redat n coloanele 1, 2 si 8 din Figura 3.50-a. Coloanele 3-4, 5-6 si 7 sunt valorile respectiv pentru intr arile SR, JK si D, ale bistabilelor SR, JK si D, care produc aceea si comutat ie ntre Q(t) si Q(t + 1) ca cea realizat a de bistabilul T; aceste valori se citesc pentru ecare bistabil din tabelele de excitat ie prezentate n Tabelul 3.4. Apoi, se face sinteza funct ie de excitat ie pentru ecare din intr arile S, R, J, K si D pe o diagram a V-K av and ca variabile de intrare pe Q(t) si T. 1. Conversia DT, Figura 3.50-b. Rezult a funct ia de excitat ie pe intrarea D de forma D = Q(t) T + Q(t) T = Q(t) T , care este identic a cu cea din relat ia 3.25, iar pentru T = 1 (bascul a) se obt ine relat ia D = Q(t). Este evident, c a pentru funct ionarea bistabilului D ca bascul a pe intrarea acestuia trebuie aplicat a valoarea de pe ie sire dar negat a, ceea ce se poate realiza printr-o react ie e de pe Q, printr-un element inversor comandat(XOR), e direct de pe QN .

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

409

2. Conversia SRT, Figura 3.50-c. Pentru funct iile de excitat ie rezult a expresiile S = Q(t)T ; R = Q(t)T , iar pentru T = 1 se obt ine S = QN (t) si R = Q(t). Structurile de circuit obt inute conform acestor relat ii pot considerate si ca ind particulariz ari ale structurii de bistabil JK cu J=K=T, din Figura 3.47-h. 3. Conversia JKT, Figura 3.50-d. Funct iile de excitat ie sunt J = K = T , adic a intr arile bistabilului JK sunt conectate mpreun a gener and astfel intrarea bistabilului T. De fapt, aceast a metod a de conversie a stat la baza structurii bistabilului T, Figura 3.49. Utiliz and un procedeu ca cel folosit mai sus, pentru obt inerea bistabilului T, se poate obt ine oricare tip de bistabil prin modelarea funct ion arii acestuia pe celelalte tipuri de bistabile.

3.3.3

Aplicat ii la automate

In prezentarea funct ion arii si structurii unui automat, Figura 3.7, s-a ar atat c a pe calea de react ie starea urm atoare Q(t + 1) devine stare prezent a prin memorarea sa ntr-un element de memorare (registru). Acest element, de memorare, este un circuit basculant bistabil e de tip latch e de tip bistabil. Dac a este de tip latch atunci automatul, pe durata de transparent a a latch-ului, are o comportare de tip asincron pentru c a react ia este continu a pe aceast a durat a. Iar dac a este de tip bistabil atunci automatul este sincron pentru c a react ia este ntrerupt a, aceasta se nchide numai pe frontul de basculare a bistabilului c and starea urm atoare se nscrie ca stare prezent a. Tipul de bistabil determin a puternic doar structura semiautomatului deoarece partea combinat ional a a acestuia, CLC1, Figura 3.8, trebuie s a calculeze funct iile de excitat ie specice tipului de bistabil utilizat. In continuare se vor prezenta exemple de automate implementate cu diferite tipuri de bistabile. Exemplul 3.16 Pentru automatul, a c arui sintez a s-a prezentat n Exemplul 3.12 s a se realizeze implementarea semiautomatului cu cu bistabile D, JK si SR Solut ie. In implementarea din Figura 3.35 nu s-a specicat ce tip de element de memorie utilizeaz a n bucla de react ie, acum aceast a reprezentare generic a de memorie va substituit a cu bistabile D, bistabile JK sau bistabile SR. Din tabelul din Figura 3.34 s-a p astrat numai partea corespunz atoare tranzit iei st arilor, f ar a ie siri, si s-a completat cu valorile funct iilor de excitat ie pentru denirea semiautomatului implementabil cu bistabile D, JK si SR n Figura 3.51-a. Valoarea funct iei de excitat ie, pentru ecare intrare a celor trei bistabile, se obt ine prin citirea acesteia din tabelul de excitat ie al bistabilului respectiv, Tabelul 3.4, lu and n considerare pe toate c aile de tranzit ie, comutat iile ntre bitul zi (starea prezent a) si wDi,i=0,1,2 (starea urm atoare). De exemplu, pentru calea de tranzit ie L5 se realizeaz a tranzit ia de la starea prezent a z2 z1 z0 =010 (q1 ) la starea urm atoare wD1 wD2 wD3 = 011 (q4 ), adic a printr-o comutat ie a bit ilor de stare n felul urm ator z2 = 0 wD2 = 0, z1 = 1 wD2 = 1 si z0 = 0 wD3 = 1, deci atunci la o implementare cu bistabile JK, se obt in, din tabelul de excitat ie al acestui bistabil, respectiv urm atoarele valori ale bit ilor funct iilor de excitat ie: wJ2 wK2 = 0; wJ1 wK1 = 0; wJ0 wK0 = 1. Pentru implementarea elementului de memorare cu bistabil de tip D, valoarea funct iei de excitat ie este identic a cu valoarea bitului st arii urm atoare a bistabilului, conform relat iei 3.22, de aceea n tabel bit ii st arii urm atoare a automatului sunt notat i cu wD2 , wD1 , wD0 . Expresiile funct iilor de excitat ie pentru bistabilul D, determinate n Exemplul 3.12, sunt:

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_ 0 0 0 0 x 2x 1 q0 0 0 0 q1 0 1 0 0 0 1 0 _ 0 0 1 x2 0 0 0 1 0 x2 x x 1 2 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 q q2 0 0 1 0 0 0 0 0 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 a pentru Exemplul 3.13: a) tabelul cu valorile funct iilor de excitat ie; b,c) diagramele V-K pentru sinteza funct iilor de excitat ie la bistabilele JK si SR.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 funct iilor de excitat ie se pot deduce expresiile logice ale acestora dar pentru sintez a vor necesare diagrame V-K de sase variabile de intrare: 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 a reziduu (un exemplu cum se introduce doar o singur a variabil a reziduu este x2 x1 wJ0 prezentat n Figura 3.28-d). In starea q0 , test andu-se 0 0 0 dou a intr ari, modalitatea cum se introduc simultan 1 0 0 wJ0 = x2 x1 aceste dou a variabile reziduu n coecientul funct iei 1 1 0 wJ0 se prezint a n continuare. Prima linie si a patra 0 1 1 din tabelul al aturat exist a denite din tabelul din Figura 3.51-a adic a x2 = 0, x1 = 0 iar wJ0 = 0; x2 = 0, x1 = 1 iar wJ0 = 1. Pentru liniile doi si trei se extinde linia a doua din tabelul din Figura 3.51-a, x2 = 1, x1 = iar wJ0 = 0, la urm atoarele dou a: x2 = 1, x1 = 0 iar wJ0 = 0 si x2 = 1 x1 = 1 iar wJ0 = 0. Expresia funct iei de excitat ie wJ0 = x2 x1 s-a dedus din analiza tabelului al aturat. Se obt in urm atoarele expresii pentru funct iile de excitat ie, Figura 3.51-b si 3.51-c: 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 p art ii combinat ionale, conform relat iilor 3.27-b si 3.27-c, se poate face prin oricare modalitate de implementare de circuit combinat ional (port i logice, DMUX+port i logice, MUX, ROM sau PLA).

In implementarea automatelor se pune ntrebarea pentru realizarea elementelor de memorare, din bucla de react ie, care din cele trei tipuri de bistabile (D, JK si SR) este indicat a se utiliza (nu s-a considerat si bistabilul T deoarece acesta se obt ine simplu dintr-un JK). R aspunsul este mai nuant at. Bistabilul D necesit a pentru ecare bit de stare z i doar o singur a funct ie de excitat ie aplicat a pe intrarea D. Bistabilele JK si SR necesit a pentru ecare bit de stare zi dou a funct ii de excitat ie pe intrare respectiv wJ i ,wKi pentru bistabilul JK si wSi ,wRi pentru bistabilul SR. In schimb comenzile aplicate pe intr arile bistabilelor n raport cu o comand a JK si SR sunt vag formulate, de forma JK = A, JK = A, exact prescris a ce se aplic a la bistabilul D, vezi Tabelul 3.4. Aceast a ambiguitate n comand a determin a valori don t care n diagramele V-K de sintez a, deci funct iile de excitat ie pentru bistabilul JK sunt cele mai simple apoi cele pentru bistabilul SR n

412

3.3. CIRCUITE BASCULANTE

raport cu funct ia de excitat ie pentru bistabilul D. Se poate constata validitatea acestei armat ii prin analiza funct iilor de excitat ie obt inute n exemplul anterior relat iile 3.27-a,b si c. Pe un circuit integrat discret, n general, sunt incluse mai multe bistabile de tip D dec at bistabile JK, dar cu un bistabil JK se poate modela u sor un D sau un T, n general are si intr ari asincrone, deci este mai versatil n aplicat ii. In concluzie, pentru implement arile cu circuite integrate discrete pentru sisteme simple bistabilul de tip D este preferat bistabilului JK, pe c and la sisteme mai complexe bistabilul JK prin versatilitatea sa este de preferat. In schimb, n structurile integrate sunt utilizate aproape n exclusivitate bistabilele de tip D (completate cu multplexoare pe intrare). Proiectarea si implementarea unui circuit automat pot mult simplicate, n unele cazuri, prin utilizarea circuitelor multiplexoare. In primul r and o astfel de simplicare apare n cazul n care ecare bloc de stare al automatului se testeaz a doar o singur a variabil a de intrare, caz n care acea variabil a poate introdus a ca variabil a reziduu. Simplicarea poate apare chiar si c and se testeaz a mai multe intr ari n unele blocuri de stare, dar expresiile coecient ilor funct iei pot calculate cu operatori simpli (AND,OR...) de variabilele reziduu. Sau, organigrama ASM a funct iei, n blocurile unde se testeaz a mai mult de o variabil a, se poate aduce, prin introducerea de st ari noi ntre testarea a dou a variabile, Figura 3.52-c, numai la blocuri n care se testeaz a doar o singur a variabil a. Aceast a simplicare este sust inut a mai departe, in implementarea semiautomatului, dac a se alege ca element de memorare n bucl a bistabilul de tip D. In al doilea r and, simplicarea poate apare prin mic sorarea num arului de intr ari aplicate p art ii combinat ionale prin utilizarea de circuite multiplexoare. Dac a n ecare bloc de stare din cele n intr ari se testeaz a doar un num ar q intr ari, atunci aceste intr ari pot selectate prin q circuite multiplexoare. Conect and intr arile n automat corespunz ator pe intr arile de date ale multiplexoarelor si aplic and cuv antul codului de stare pe intr arile de selectare ale multiplexoarelor, atunci se obt in pentru partea combinat ional a doar q intr ari n ecare moment. Aceast a modalitate este foarte indicat a la realizarea p art ii combinat ionale pe circuit ROM. Deoarece capacitatea circuitului ROM depinde exponent ial de num arul de intr ari, chiar si reducerea unei singure intr ari la automat va determina o njum at a tire a capacit a tii circuitului ROM. Exemplul 3.17 Pentru automatul din Exemplul 3.12 s a se structureze partea de semiautomat numai cu multiplexoare si bistabile de tip D. Solut ie. Tabelul de tranzit ie al st arilor din Figura 3.51-a este ref acut n Figura 3.52 dar de aceast a dat a valorile funct iilor de excitat ie ale bistabilelor wD2 , wD1 , wD0 cont in intr arile x2 , x1 , x0 ca variabile reziduu. Aceste funct ii de excitat ie sunt implementate pe MUX8:1 care au ca variabile de selectare bit ii cuv antului de stare z2 z1 z0 , Figura 3.52-b. Aceea si implementare pe multiplexoare se poate realiza pornind de la relat iile 3.27-a care se extind la forme canonice n funct ie de cele trei variabile z2 , z1 , z0 . Implementarea cu multiplexoare si bistabile D apare ca o variant a atractiv a de automat deoarece se realizeaz a f ar a efort de sintez a deosebit si cu un cost relativ sc azut .

Exemplul 3.18 Automatul din Exemplul 3.12 s a se implementeze cu bistabile D si circuite ROM. Solut ie. Pentru automatul propus, tabelul de tranzit ie al st arilor si al ie sirilor, din

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a pentru Exemplul 3.17: a) tabelul de tranzit ie al st arilor cu intr arile automatului introduse ca variabile reziduu; b) implementarea cu bistabile D si mutiplexoare; c) eliminarea test arii a dou a variabile ntr-un bloc de stare prin introducerea unei noi st ari.
Figura 3.34, este o form a simplicat a deoarece cont ine numai tranzit iile pe cele 11 c ai de tranzit ie (L1 , L2 , . . . , L11 ) din tabelul de cu 64 tranzit ii posibile. Automatul codicat cu trei bit i z2 , z1 , z0 poate realiza n ecare din cele opt st ari c ate opt tranzit ii care corespund combinat iilor de variabile de intrare x2 , x1 , x0 testate. Informat ia privind efectul produs de o tranzit ie necesit a c ate o locat ie, rezult a c a este necesar a o memorie cu 8 8 = 64 adrese, cuv antul de adresare ind format din trei variabile de stare si trei de intrare, z2 z1 z0 x2 x1 x0 . Component a cuv antului de 1 byte dintr-o locat ie este: D7 = wD2 ; D6 = wD1 ; D5 = wD0 ; D4 = y3 ; D3 = y5 ; D2 = y4 ; D2 = y2 L; D0 = y1 . Pentru maparea pe memorie a tabelului de tranzit ie al st arilor si ie sirilor acesta trebuie completat la toate cele 64 de adrese (000000 111111) prin extinderea at at pentru simbolurile indiferente ale subcuv antului x2 x1 x0 c at si pentru codurile neutilizate pentru ale st arilor 101 si 111. Rezultatul extinderii este prezentat n Figura 3.53-a, unde cont inutul ec arei locat ii este exprimat n hexazecimal si pentru detaliere s-a specicat la ecare locat ie corespondent a la starea si calea de tranzit ie. Capacitatea circuitului ROM este de 64 1 byte iar structura automatului este prezentat a n Figura 3.53-b. In general, pentru un automat cu k variabile de stare, n variabile de intrare si m bit i de ie sire capacitatea necesar a este 2k+n (k + m) bit i. Modalitatea de mic sorare a capacit a tii circuitului ROM utilizat n implementarea automatului este, ca si n abordarea clasic a aplicat a la oricare memorie, e de mic sorare a num arului de intr ari, e de reducere a num arului de bit i de ie sire, evident c a prima variant a este mult mai ecient a deoarece are o contribut ie exponent ial a. Reducerea num arului de

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 a pentru Exemplul 3.18: a) tabelul de tranzit ie al st arilor si al ie sirilor extins pentru maparea ntr-un circuit ROM de capacitate 64 8 bit i; b) structurarea automatului pe un circuit ROM si bistabile D; c) structurarea aceluia si automat c and se testeaz a doar o singur a intrare n ecare bloc de stare.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

415

intr ari se poate aplica cu succes la automatele care testeaz a n ecare stare doar o singur a intrare din cele n, deci cuv antul de adresare rezult a cu lungimea de (k + 1) bit i, capacitatea circuitului ROM rezult a de 2k+1 (k + m) bit i, se obt ine o reducere de 2n1 ori. Pentru automatul din acest exemplu nu putem ( nc a!) aplica aceast a modalitate deoarece n starea q0 (000) se testeaz a simultan at at x2 c at si x1 . Automatul poate redus la un automat care testeaz a n ecare stare doar o singur a intrare dac a se aplic a procedeul prezentat n Figura 3.52-c, adic a introducerea unei st ari noi q6 ntre punctele de testare ale variabilelor de intrare x2 si x1 din blocul de stare q0 . Rezult a astfel: 1- n blocul de stare q0 (000) tranzit ia q0 q6 pe calea L1 = x2 si tranzit ia q0 q1 pe si tranzit ia calea L2 = x2 ; 2- n blocul de stare q6 (101) tranzit ia q6 q0 pe cale L12 = x1 q6 q2 pe calea L3 = x1 . Ie sirile n starea q6 sunt identice cu cele din starea q0 , ceea ce apare pentru funct ionarea automatului, c and x2 =0, ca o stat ionare de doua tacte n q0 . Tabelul automatului din Figura 3.34 se modic a prin introducerea st arii q6 si a noilor c ai de tranzit ie L1 , L12 si L3 (ceea ce trebuie introdus si n forma expandat a din Figura 3.53-a). Pentru automatul modicat structurarea este cea din Figura 3.53-c. In ecare bloc de stare prin cuv antul de cod al st arii z2 z1 z0 , aplicat pe intr arile de selectare al MUX8:1, se selecteaz a doar valoarea variabilei de intrare testate, notat a cu P , deci cuv antul de adresare este z2 z1 z0 P . La adresa z2 z1 z0 0 este stocat a informat ia din blocul respectiv de stare c and tranzit ia are loc dup a calea P = 0, iar la adresa z2 z1 z0 1 este stocat a informat ia dup a calea de tranzit ie P = 1. Aceast a structurare se poate extinde si pentru cazul c and sunt testate simultan dou a intr ari ntr-un bloc de stare, n cazul general capacitatea memoriei ind de 2k+2 (k + m) bit i. Pentru aceast a implementare pe intrare sunt necesare dou a multiplexoare care n ecare bloc de stare, prin cuv antul de cod z2 z1 z0 , selecteaz a cele dou a variabile testate notate cu P1 si P0 , iar cuv antul de adresare la memorie are forma z2 z1 z0 P2 P1 . Fiecare stare necesit a patru locat ii(/adrese) pentru stocarea informat iilor corespunz atoare cele patru c ai de tranzit ie P1 P0 = 00, 01, 10 si 11. Bitul de adresare P , identic cu valoarea variabilei de intrare testate ntr-un bloc de stare si utilizat pentru selectarea a uneia din cele dou a adrese corespunz atoare celor dou a c ai de tranzit ie, poate utilizat pentru selectare nu ca un bit de adresare ci ca un bit de validare asupra cuv antului citit din locat ia de adres a z 2 z1 z0 . In aceast a variant a c ampul cuv antului stocat la o adres a are lungimea dubl a, deoarece cuprinde at at semicuv antul cu informat ie pentru P = 0 c at si semicuv antul cu informat ie pentru P = 1, plus nc a un subcuv ant care cont ine valorile intr arilor x2 x1 x0 . Not and [z2 z1 z0 ] cont inutul unei locat ii de adres a z 2 z1 z0 atunci din tabelul memoriei de la Figura 3.53-c se poate obt ine cont inuturile locat iilor de la aceast a variant a prin urm atoarea concatenare x2 x1 x0 [z2 z1 z0 0][z2 z1 z0 1]. Una din intr ari din acest subcuv ant, pentru un bloc de stare z2 z1 z0 , va selecta prin valoarea sa, din cuv antul stocat la adresa z2 z1 z0 , e semicuv antul pentru P = 0, e semicuv antul pentru P = 1. Implementarea automatului conform acestei variante de utilizare a bitului variabilei testate este prezentat a n Figura 3.54. Pentru ecare bloc de stare z2 z1 z0 , n subcuv antul x2 x1 x0 , intrarea care se testeaz a are valoarea 1. De exemplu, dac a n blocul de stare z2 z1 z0 = 001, c and se tasteaz a x2 (= 1) si dac a ntr-adev ar intrarea x2 are valoarea 1 atunci prin poarta P2 se aplic a la grupul 8MUX 2:1 selectarea P = 1, iar pe ie sire rezult a semicuv antul 01110111 (77H), altfel rezult a semicuv antul pentru P = 0, adic a 00010011 (13H). In cazul general, c and se testeaz a doar o singur a intrare n ecare bloc de stare, capacitatea memoriei este 2k (n + 2k + 2m). Aceast a modalitate de implementare se poate extinde si la cazul c and se testeaz a dou a intr ari n ecare bloc de stare. De aceast a dat a cuv antul din ecare locat ie cuprinde patru subcuvinte, corespunz atoare celor patru tranzit ii posibile, plus nc a dou a subcuvinte de variabilele x2 x1 x0 ecare indic and una din cele dou a variabile care se testeaz a. Evident, se genereaz a doi bit i de selectare P1 si P0 prin a c aror combinat ii 00, 01, 10 si 11 se selecteaz a una din intr arile grupului de 8MUX 4:1. Capacitatea necesar a a circuitului ROM este

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 a pentru Exemplul 3.18. Utilizarea valorii variabilei testate ntr-un bloc de stare pentru selectarea subc ampurilor cuv antului stocat la o adres a z 2 z1 z0 .
2k (2n + 4k + 4m).

Pentru o funct ionare corect a a automatului prin relat ia 3.7 se poate calcula perioada minim a a semnalului de ceas. In cazul c and automatul are cel put in o variabil a de intrare sincron a trebuie luat n considerare si timpul de transfer al acestei variabile din momentul aplic arii impulsului de ceas la bistabilul de intrare (de sincronizare). Acest timp de transfer este compus din: pBI timpul de propagare prin bistabilul de sincronizare de intrare plus pmaxCLK -timpul maxim de propagare prin ret eaua combinat ional a, plus SUQ -timpul de prestabilire la bistabilul de stare. Deoarece se comand a cu acela si semnal de ceas at at bistabilele din registrul de sincronizare de pe intrare c at si cele din registrul de stare perioada minim a trebuie s a respecte relat ia: TCLKmin max {(pmaxCLK + pBQ + SUQ ), (pmaxCLK + pBI + SUQ )} (3.28)

Sinteza automatelor prezentate p an a acum a urmat, mai mult sau mai put in, o succesiune de faze descrise n sect iunea 3.2.6, ultima faz a ind elaborarea documentat iei. In practic a, sunt frecvente cazurile c and pentru un automat nu exist a documentat ie si astfel, s-ar putea, s a nu se nt eleag a funct ionarea sa. Funct ionarea automatului

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

417

este descris a clar printr-o diagram a de tranzit ie a st arilor sau un graf de tranzit ie/organigram a ASM. Solut ia? pornind de la structura automatului(schema electric a) si parcurg and n sens invers succesiunea procesului de sintez a, se ajunge la tabelul de tranzit ie al st arilor si graful de tranzit ie al st arilor. Acest proces, invers al sintezei, este analiza automatului. Etapele care se parcurg n procesul de analiz a, pornind de la schema electric a a automatului sunt: 1. Identicarea structurii automatului. Aceasta nseamn a segregarea p art ii combinat ionale de cea de memorare (bistabilele din bucla de react ie si identicarea acestora sunt cazuri c and sunt utilizate mai multe tipuri de bistabile). Uneori, de mare folos este redresarea schemei sub forma clasic a de automat ca n Figura 3.7 sau 3.8. Se identic a intr arile principale, ie sirile, variabilele de stare (intr arile secundare), variabilele funct ii de excitat ie si, dac a este necesar, alegerea unor denumiri/simboluri pentru acestea. 2. Din analiza p art ii combinat ionale se deduc ecuat iile logice ale ie sirilor funct iilor de excitat ie, n funct ie de cele n variabile de intrare si k variabile de stare. 3. Construirea tabelului de tranzit ie al st arilor si al ie sirilor. Pentru toate combinatiile ntre cele 2k st ari prezente si 2n cuvinte de intrare se determin a st arile urm atoare prin utilizarea relat iilor deduse pentru funct iile de excitat ie si tabelele caracteristice (vezi Tabelul 3.4) ale tipurilor de bistabile folosite. St arile urm atoare se pot calcula si prin: introducerea expresiilor funct iilor de excitat ie n ecuat iile de funct ionare ale bistabilelor folosite; introduc and n expresiile rezultate toate combinat iile de 2k st ari prezente si 2n cuvinte de intrare, obt in andu-se astfel valorile bit ilor st arilor urm atoare. 4. Construirea grafului de tranzit ie al st arilor/organigrama ASM. Asigur and simboluri literale pentru ecare cod de stare, din tabelul de tranzit ie al st arilor si ie sirilor, se poate desena graful de tranzit ie. Eventual, dac a nu sunt multe variabile, se poate trasa diagrama de variat ie n timp a semnalelor. Exemplul 3.19 Pentru automatul cu schema electric a din gura 3.55-a s a se deduc a graful de tranzit ie al st arilor. Solut ie: Analiza acestui automat se va face marc and etapele specicate anterior. 1. Structura automatului poate redesenat a ca n Figura 3.55-b. Se observ a c a ie sirile sunt de fapt tocmai bit ii de stare z1 , z0 , deci este un automat Moore. 2. Funct iile de excitat ie au expresiile:
wJ1 = z0 , wK1 = xz0 wJ0 = x, wK0 = xz1 + xz1 = x z1 3. Tabelul de tranzit ie al st arilor, Figura 3.55-c. Se determin a starea urm atoare z1 (t + 1)z0 (t + 1) pentru ecare din cele opt combinat ii ale intr arii x si st arii prezente z1 z0 . In tabel s-au introdus si valorile intr arilor wJ1 , wK1 , wJ0 , wK0 ale celor dou a bistabile JK (coloanele 4,5,6,7), valori calculate cu ajutorul relat iilor funct iilor de excitat ie pentru toate cele opt combinat ii de intrare. Valorile din coloanele 4,5,6 si 7 nu fac parte din tabel dar s-au introdus pentru o mai u soar a determinare a st arii urm atoare din starea prezent a. Utiliz and tabelul caracteristic al bistabilului JK, vezi Tabelul 3.4, pentru ecare congurat ie de intrare xz1 z0 se deduc valorile bit ilor st arii urm atoare z1 (t + 1)z0 (t + 1). Expresiile bit ilor st arii urm atoare se pot obt ine si prin introducerea funct iilor de excitat ie

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 a la Exemplul 3.19: a) schema electric a a automatului; b) schema electric a redesenat a n structura clasic a de automat; c) tabelul de tranzit ie al st arilor; d) graful de tranzit ie al st arilor.
deduse anterior n relat ia 3.27 de funct ionare a bistabilului JK: 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

In ultima form a s-a scris z n loc de z (t). Valorile din coloanele 8 si 9 din tabelul de tranzit ie al st arilor se pot calcula si cu aceste relat ii pentru toate congurat iile xz 1 z0 . 4. Asign and codurile de stare n felul urm ator: 00 q0 , 01 q1 , 10 q2 , 11 q3 se obt ine graful de tranzit ie al st arilor, Figura 3.55-d.

3.3.4

Circuitul basculant bistabil asimetric (Triggerul Schmitt)

Circuitul asincron obt inut prin leg aturi simetrice ncruci sate ntre dou a inversoare,

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 si caracteristica static a de transfer, neinversoare; c) structur a realizat a cu tranzistoare bipolare; d,e) structura si caracteristica de transfer pentru un trigger Schmitt realizat cu amplicator operat ional; f) structur a n tehnologie CMOS; g) structur a de poarta NAND4 trigger Schmitt n tehnologie TTL.

Figura 3.36-a si b, prezint a n caracteristica static a de transfer, Figura 3.36-c, dou a st ari stabile; circuitul acesta ind celula elementar a pentru toate circuitele(basculante) bistabile. Dar dac a leg aturile de conectare ntre cele dou a inversoare nu mai sunt simetrice din punct de vedere al conductant ei, una incluz and o rezistent a R 2 , se obt ine un circuit, Figura 3.56-a, referit ca trigger Schmitt care prezint a o caracteristic a static a de transfer similar a cu cea a unui releu cu histerezis, Figura 3.56-b. Consider and o variat ie a tensiunii de intrare la triggerul Schmitt, V I , de la valoarea 0V p an a la tensiunea de alimentare si apoi n sens invers la valoarea 0V , tensiunea de ie sire VO (Q) va bascula de la valoarea VOL la VOH , c and VI = Vp+ , si de la VOH la si Vp neind egale, a valori(praguri) de basculare, Vp+ VOL , c and VI = Vp ; cele dou acestea ind dep artate cu l a timea de histerezis = V p+ Vp . Pentru determinarea valorilor caracteristicii de releu cu histerezis se va utiliza not iunea de prag logic de comutat ie al unei port i VT (pragul logic de comutat ie al unei port i dene ste acel punct pe caracteristica static a de transfer unde tensiunea de intrare este egal a cu cea

420

3.3. CIRCUITE BASCULANTE

de ie sire VT = VI = VO ; n acest punct, practic, curentul de intrare n poarta este II = 0). Ecuat ia de curent i n punctul A se reduce la egalitatea I 1 = I2 care este ndeplinit a doar c and tensiunea de intrare n inversor este V T . La cre sterea tensiunii n punctul A are valoarea de intrare VI c and aceasta devine egal a cu Vp+ , tensiunea VT , iar ie sirea basculeaz a de la VOL la VOH se pot scrie relat iile: V + VT VI V A = P R1 R1 VA V O VT VOL = R2 R2

I1 =

I2 =

iar din egalitatea curent ilor se obt ine expresia Vp+ = VT (1 + R1 R1 ) VOL R2 R2 (3.29-a)

Similar, la descre sterea tensiunii VI , c and aceasta devine egal a cu Vp , tensiunea n punctul A are valoarea VT , iar ie sirea basculeaz a de la VOH la VOL , rezult a relat iile: VT V p VA V I = R1 R1 VO V A VOH VT = R2 R2

I1 =

I2 =

iar din egalitatea curent ilor se obt ine expresia Vp = VT (1 + Expresia l a timii histerezisului ind = V p+ V p = R1 (VOH VOL ) R2 (3.30) R1 R1 ) VOH R2 R2 (3.29-b)

Pentru o poart a inversor 74LS04 cu VOL = 0, 2V ; VOH = 3, 6V ; VT = 1, 7V si si = 1V . aleg and raportul R1 /R2 =0,37 se obt in: Vp = 1V , Vp+ = 2V O structur a de trigger Schmitt cu tranzistoare, care are o caracteristic a static a de transfer de aceea si form a cu cea din Figura 3.56-b este prezentat a n Figura 3.56-c [Toac se 96]. Cele dou a inversoare sunt realizate cu cele dou a tranzistoare T 1 si T2 , exist and gurat a doar o singur a leg atur a de react ie din colectorul lui T 1 n baza lui T2 . React ia de la amplicatorul cu T2 la amplicatorul cu T1 apare ca un efect al c aderii de tensiune produs a de ICT 2 pe rezistent a comun a din emitor RE si care se aplic a la intrarea tranzistorului T1 , VI = VBE + IE RE , IE = ICT 1 + TCT 1 (rezistent a RE simuleaz a un generator de curent constant n emitoare, deci I E const.). C and VI = 0, T1 blocat, T2 n saturat ie VO = VOL . La cre sterea lui VI VBET1 on + IE RE , tranzistorul T1 intr a n conduct ie si prin mic sorarea tensiunii pe colectorul s au comand a, prin leg atura de react ie, nspre blocare tranzistorul T 2 , adic a mic sorarea curentului ICT 2 . Dar pentru c a IE const., curentul ICT 1 va cre ste si va provoca o mai pronunt at a sc adere a tensiunii n colector deci o comand a n continuare de blocare pe baza lui T2 (iat a efectul de react ie pozitiv a prin RE !). La o valoare a tensiunii de a, T1 conduce n saturat ie, tensiunea de ie sire a basculat intrare VI =Vp+ , T2 se blocheaz de la VOL la VOH . Invers, apare ca efect react ia pozitiv a la sc aderea tensiunii de intrare, iar c and ajunge la VI = Vp apare bascularea de la VOH la VOL . Cu valorile

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

421

de rezistent e din gur a si VBE (on) = 0, 7V , VBE (sat) = 0, 8V , VCE (sat) = 0, 1V se obt in: Vp+ = 2, 5V , Vp = 1, 6V , = 0, 9V . O idee practic a pentru realizarea unui trigger Schmitt pe baza unui amplicator operat ional este prezentat a n Figura 3.56-d, cu o caracteristic a inversoare, Figura 3.56-e. React ia pozitiv a se obt ine de pe divizorul R 1 , R2 ntre VO si Vref , iar VI se aplic a pe intrarea inversoare (aplic and react ia nspre intrarea inversoare iar V I pe intrarea neinversoare se obt ine o caracteristic a static a de tip releu neinversoare). De pe divizorul rezistiv R1 R2 se obt in relat iile: 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 relat ii, n caracteristica inversoare s a existe acelea si valori ca la caractera istica neinversoare prezentat a anterior Vp+ = 2V , Vp = 1V , = 1V , se calculeaz Vref = 1, 335V si R1 /R2 = 0, 416. O structur a de trigger Schmitt n tehnologie CMOS este prezentat a n Figura 3.56-f care realizeaz a o caracteristic a static a de releu cu histerezis, inversoare ca n Figura 3.56-e. C and VI = 0 tranzistoarele T3 si T4 sunt n conduct ie dar conduc un curent neglijabil deoarece T1 si T2 sunt blocate (Se consider a tensiunile de prag ale tranzistoarelor Vpn = +1, 0V , Vpp = 1, 0V ), T6 este blocat, T5 este n saturat ie, Vy = Vx 5V iar Vz = VDD VT 5 = 3, 5V . C and VI la Vpn = 1, 0V , T1 intr a n conduct ie si mpreun a cu T5 formeaz a un amplicator, exist and tendint a de sc adere si a tensiunii Vz , dar T2 este blocat. Cresc and VI = Vp+ , tensiunea VGS,T2 Vpn , n succesiune: T2 intr a n conduct ie, Vx = Vz = 0V , T5 intr a n blocare, T3 intr a n blocare atr ag and dup a sine intrarea n conduct ie a lui T 6 , tensiunea de ie sire comut a de la VDD la 0V. Pornind, cu VI = 5V , napoi T4 , T3 sunt blocate iar T6 este n conduct ie. Int ai intr a n conduct ie T4 apoi T3 iar T6 se blocheaz a, n ret eaua n, T1 , T2 se blocheaz a si T5 va conduce deci s-a realizat la Vp comutat ia tensiunii VO de la 0V la VDD . Structura din Figura 3.56-g prezint a o poart a NAND4 trigger Schmitt. Triggerul Schmitt este format cu un amplicator pe tranzistoarele T 1 , T5 iar cel alalt amplicator pe T2 , similar ca n Figura 3.56-c, si este plasat n structura port ii ntre circuitul SI de intrare, compus din diodele D1 D4 , si circuitul defazor T2 care comand a circuitul de ie sire T3 , T4 . Circuitul trigger Schmitt, prezent and o caracteristic a static a de releu cu histerezis, care comut a rapid datorit a react iei pozitive (basculare) poate utilizat ca discrimiatoarele nator de nivel (prin cele dou a praguri Vp+ , Vp ), este recomandat pentru urm tipuri de aplicat ii: 1. Obt inerea unei comutat ii rapide a ie sirii pentru variat ii lente pe intrare (formarea semnalelor cu front necorespunz ator, discretizarea semnalelor analogice n semnale binare etc.). 2. Reducerea (eliminare) efectelor zgomotului asupra semnalului util (prin prezen ta histerezis-ului).

422

3.3. CIRCUITE BASCULANTE

Exemplul 3.20 Cu o poart a 74HC132 (NAND2 cu trigger Schmitt pe intrare) s a se realizeze un oscilator cu frevent a de 10Hz utiliz and un condensator C = 0, 47F , Figura 3.57-a. Solut ie. Poarta 74HC132 av and o caracteristic a de tip releu cu histerezis inversor printro conectare a ie sirii la intrare rezult a o structur a de oscilator cu perioada de oscilat ie T = 2 p , p ind timpul de propagare prin poart a. Pentru m arirea perioadei oscilat iilor react ia este realizat a printr-o ret ea RC integratoare. Intr-o astfel de ret ea, variat ia n timp a tensiunii pe condensator vC (t), pornind de la tensiunea init ial a v (0) iar pe intrare se aplic a o treapt a de tensiune V = v (), este exprimat a prin relat ia :
vC (t) = v () [v () v (0)]e RC
t

(3.32)

In momentul t = 0, c and tensiunea pe condensator scade la valoarea de prag Vp , tensiunea de ie sire, vO , va comuta de la VOL = 0V la VOH = VDD . Acest salt al tensiunii de ie sire aplicat pe intrarea ret elei integrative va determina cre sterea tensiunii pe condensator, care n momentul t = T1 atinge valoarea de prag basculare Vp+ 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 obt inut pe baza unei port i (7HC132) inversor trigger Schmitt

Deoarece n momentul T1 tensiunea de ie sire comut a de la VOH = VDD la VOL = 0V tensiunea pe condensator ncepe s a scad a p an a n momentul t = T1 + T2 c and se atinge valoarea de prag de basculare Vp vC (T1 + T2 ) = Vp = 0 (0 Vp+ )e rezult a perioada oscilat iei 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 obt ine R= 1


,38(4,51,67) 0, 47 106 ln 2 1,67(4,52,38)

= 330k

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

423

Pe intervalul de variat ie de temperatur a 40 C +80 C , Vp+ (max) poate cre ste p an a la 3, 15V iar Vp min poate sc adea la 0, 9V . Cu aceste valori extreme si R = 330K si C = 0, 47F introduse n relat ia anterioar a se obt ine pentru frecvent a generat a valoarea de 2, 9Hz !

3.3.5

Circuitul basculant monostabil

Pornind, de asemenea, de la celula de baz a, Figura 3.36-b, se obt ine structura de principiu a circuitului basculant monostabil monostabilul dac a una din leg aturile de react ie r am ane galvanic a iar cealalt a se realizeaz a capacitiv, Figura 3.58-a. Aceasta nseamn a c a se transmite (prin condensatorul C x ) de la ie sirea port ii 1 la intrarea port ii 2 numai variat ii, n regim static transferul (pentru componenta continu a) este ntrerupt. Funct ionarea de principiu a monostabilului este urm atoarea. Circuitul se p astreaz a ntr-o stare stabil a, Q = 0 QN = 1, un timp indenit, dac a nu se aplic a un impuls din exterior. La aplicarea unui impuls, din exterior, monostabilul basculeaz a n starea opus a, Q = 1 QN = 0, care este ment inut a de o react ie pozitiv a a celor dou a leg aturi ncruci sate. Dar aceast a react ie pozitiv a exist a doar n intervalul de timp w , care corespunde duratei regimului tranzitoriu prin condensatorul C x , dup a care se ntrerupe, iar monostabilul revine n starea Q = 0 Q N = 1. Durata regimului tranzitoriu este funct ie de constanta de timp a leg aturii de react ie n care este introdus condensatorul. Modic and aceast a constant a de timp apare, evident, posibilitatea ca acest circuit s a poat a genera/marca intervalele de timp controlabile (releu de timp).
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 si simbol de reprezentare; d) diagrama de semnale pentru comand a normal a; e) diagrama de semnale pentru comanda cu retriggerare.

424

3.3. CIRCUITE BASCULANTE

Monostabilul din gur a este realizat cu port i NOR CMOS. Reamintim caracteristicile port ilor CMOS: salt de tensiune ntre 0 si V DD ; curent de intrare neglijabil, prag de basculare VT = VDD /2 (dar dac a diodele de protect ie de pe intrare se polarizeaz a n sens direct funct ionarea port ii se modic a). In starea stabil a a monostabilului ie sirea port ii 1 este n VO1 = VDD , ie sirea port ii 2 este n VO2 = 0V , intrarea port ii 2 este vx = VDD , deci tensiunea pe condensator vCx (t = 0) = 0V . La aplicarea unui impuls pozitiv de comand a T pe intrarea port ii 1 ie sirea acesteia comut a n V O1 = 0V ,care transmis a prin condensatorul Cx determin a tensiunea n punctul x vx = 0V , ie sirea port ii 2 comut a n VDD , iar aceast a tensiune de ie sire aplicat a pe intrarea port ii 1 face ca s a nu mai e necesar a prezent a impulsului T (react ia pozitiv a s-a realizat). In continuare, printr-un curent de la VDD , prin rezistent a Rx si ie sirea port ii 1, condensatorul Cx se ncarc a (constanta de timp ind Rx Cx ) iar tensiunea vCx va cre ste de la vCx (t = 0) = 0V nspre vCx (t = 0) = VDD . Dar, dup a un interval de timp w , tensiunea pe condensator atinge valoarea de prag de comutat ie V T a port ii 2, ie sirea acestei port i comut a n V02 = 0V , iar aceast a tensiune aplicat a la intrarea port ii 1 comand a ie sirea acesteia n starea VO1 = VDD . Tensiunea pe condensator devine zero, VO1 vx = VDD VDD = 0, transferul prin condensator se ntrerupe, deci starea QN = 0, Q = 1 s-a terminat; variat iile de tensiune sunt prezentate n Figura 3.58-b. Un monostabil comandat din exterior cu un impuls negativ se obt ine printr-o structur a cu port i NAND. Calculul intervalului w , de existent a a st arii instabile, se realizeaz a pornind de la expresia variat iei tensiunii pe condensator, relat ia(3.32), n care se introduce valoarea de prag de comutat ie V T si se obt ine 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 a normal a a unui monostabil este reprezentat prin diagrama de semnale din Figura 3.58-d (de exemplu circuitul 74LS121 care poate genera intervale de timp ntre 30ns si 28s). Dar, exist a si monostabile cu facilitatea de retriggerare (74LS122). Funct ionarea cu retriggerare, Figura 3.58-e, realizeaz a printr-un nou impuls T de comand a aplicat pe intrare o nou a declan sare a unei st ari Q N = 0 Q = 1, deci nceperea unui nou interval de timp w , chiar dac a anterior a fost comandat un interval w si acesta nc a nu s-a consumat. In general, la circuitele monostabile semnalul de comand a T se obt ine din conjunct ia mai multor semnale de intrare, cum este la circuitul 74LS121, unde concur a trei si B conform relat iei T = A1 A2 B . Valoarea T = 1 se realizeaz a intr ari A1 , A2 si 110, deci at at pentru fronturi pozitive pentru combinat iile BA1 A2 = 100, 101 si A2 , rezult and o exibilitate a ale lui B c at si pentru fronturi negative ale lui A 1 comenzii monostabilului at at cu impulsuri pozitive c at si negative. Se poate realiza, de exemplu, nt arzierea cu decalaj w variabil a unei succesiuni de impulsuri prin nserierea a dou a monostabile; primul, dimensionat prin R x Cx , s a produc a nt arzierea variabil a w , iar al doilea s a reproduc a l a timea impulsurilor aplicate la primul. Marcarea intervalelor de timp, precum si reproductibilitatea lor nu pot avea o precizie foarte ridicat a cu ajutorul monostabilului. Aceasta se explic a prin faptul c a determinarea momentului n timp rezult a n punctul de intersect ie ntre o

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

425

dreapt a orizontal a care reprezint a o tensiune de prag prescris a VT si o curb a cu o variat ie exponent ial a (variat ia tensiunii de pe un condensator, v C (t)). Mai ales c and t 3T (T = RC constanta de timp), tensiunea pe condensator se orizontalizeaz a iar intersect ia ntre vC (t) si VT devine foarte put in precis a. Precizia intersect iei poate mbun at a tit a dac a nc arcarea/desc arcarea condensatorului se face sub curent constant; n acest caz variat ia tensiunii pe condensator are o variat ie liniar a v C (t) = kt. Aceast a modalitate de marcare a timpului prin nc arcarea/desc arcarea unui condensator este specic a n electronica analogic a. In electronica digital a intervale de timp se obt in prin contorizarea unui num ar prescris de impulsuri dintr-o succesiune de frecvent a constant a.

3.3.6

Circuitul basculant astabil

La fel, ca la monostabil, si circuitul basculant astabil (uneori referit ca multivibrator) se obt ine din structura celulei de baz a, Figura 3.36-b, dar prin realizarea capacitiv a a ambelor leg aturi de react ie, deci se propag a ntre cele dou a inversoare numai regimurile tranzitorii, Figura 3.59-a. Transmit a ndu-se ntre port ile inversor numai regimurile tranzitorii circuitul este caracterizat numai de dou a st ari instabile. Dup a cum la monostabil durata st arii instabile, pe un inversor, este determinat a de valoarea constantei de timp a circuitulu Rx Cx , la fel si la astabil durata unei st ari instabile este deteminat a de constanta de timp a circuitului RC de la intrarea inversorului respectiv. Perioada semnalului dreptunghiular generat este suma duratei celor dou a st ari instabile. In cazul c and cele dou a constante de timp sunt egale, R1 C1 = R2 C2 , factorul de umplere al semnalului generat este de 50%. Pentru analiza comutat iei alternative ntre cele dou a port i vezi problema P3.50.
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 a de principiu; b) structur a de astabil av and frecvent a (4M Hz ) stabilizat a cu cuart . Avantajul simplit a tii acestei structuri de astabil, realizat cu port i logice, este diminuat de lipsa de stabilitate a frecvent ei semnalului generat(cauze: praguri diferite de deschidere pentru port i, variat ia temperaturii, variat ia tensiunii, mb atr anirea componentelor). Circuitele astabile care genereaz a o frecvent a precis a, si o ment in n timp cu o abatere insigniant a, se realizeaz a cu cristale de cuart . Un cristal de cuart , introdus pe una din conexiunile de react ie, substituind unul din condensatoare, are rolul ,, unui circuit acordat si care va pilota frecvent a de oscilat ie pe frecvent a sa proprie de rezonant a . In Figura 3.59-a este prezentat un astfel de oscilator, utiliz and trei port i NAND ale unui circuit 74LS00, cu un cristal de cuart (X-TAL) av and frecvent a

426

3.3. CIRCUITE BASCULANTE

proprie de rezonant a de 4M Hz . Rezistent ele de 330 n paralel cu port ile 1 si 2 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 suprafet ele sale c and este tensionat mecanic (comprimat, torsional, ntins). Dar exist a si efectul invers de piezoelectricitate la aplicarea unei diferent e de potent ial ntre suprafet ele sale (t aiat sub form a de dreptunghi, p atrat sau cerc cu grosimi n jur de 1mm) se produce o tensionare mecanic a. Aplicarea unei diferent e de potent ial alternative, cu o anumit a fercvent a , va determina vibrat ia mecanic a a cristalului; modul de vibrat ie depinde de forma geometric a sub care este t aiat cristalul. C and este introdus ntr-un circuit electric cu o tensiune variabil a, n cazul nostru pe o conexiune de react ie, va vibra cu frecvent a tensiunii electrice aplicate pe fet ele sale. Din punct de vedere electric cristalul de cuart are o schem a echivalent a de circuit RLC n paralel cu o capacitate C0 (aceast a capacitate ind cea introdus a de electrozii lipit i pe suprafet ele sale). C and este comandat cu o frecvent a mult diferit a de frecvent a de rezonant a cristal de cuart poate echivalat cu o simpl a capacitate C0 , dar c and frecvent a este cea de rezonant a circuitul echivalent al cristalului este o capacitate n paralel cu o rezistent a . Reactant a cristalului se aproprie de zero la punctul de rezonant a serie, iar ntr-o conexiune de react ie a circuitului astabil va pilota frecvent a acestuia pe frecvent a de rezonant a (valori uzuale pentru rezonant a 1KHz 40M Hz , determinat a de modul de t aiere, form a si grosime ale cristalului). Frecvent ele de pilotare a cristalului variaz a, relativ put in, cu temperatura si cu timpul ( mb atr anirea). Oricare sistem sincron necesit a un generator de semnal de ceas si frecvent se impune ca acest semnal s a aib a o abatere c at mai mic a a frecvent ei ceea ce se poate realiza cu oscilatoare cu cuart . Abaterea de frecvent a poate mai mic a dec at 2, 5 10 6 , pentru o variat ie a temperaturii n intervalul 0 50 C , utiliz and un cristal de cuart ermetic inclus ntr-o capsul a, referit oscilator RTXO (Room Temperature Crystal Oscillator). Cu oscilatoarele la care cuart ul este inclus mpreun a cu circuite de compensare pentru variat ia temperaturii, ntr-un pachet monolitic, referite ca oscilatoare TXCO (Temperature Compensated Oscillator) se obt in pentru variat ii ale temperaturii n intervalul 0 50 C abateri ale frecvent ei mai mici dec at 5 10 7 . Exist a variante constructive de astabile care pot funct iona n regim de sincronizare declan sat a sau n regim de comand a. In varianta de astabil sincronizat, la ecare impuls de comand a aplicat din exterior se porne ste astabilul care genereaz a semnale dreptunghiulare cu o faz a xat a. Varianta de astabil comandat genereaz a semnale dreptunghiulare at at timp c at pe intrarea astabilului se aplic a un semnal de comand a exterior de nivel H sau L ( n Figura 3.59-b pinul de intrare 13 al port ii 3 se conecteaz a la +5V sau la 0V ). Exemplul 3.21 S a se modeleze funct ionarea de trigger Schmitt, monostabil si astabil cu circuitul de temporizare 555. Solut ie. Circuitul 555 ( si 556) este un circuit integrat n familiile TTL si CMOS, care prin conectarea n exterior a dou a sau trei componente poate avea funct ionarea circuitelor trigger Schmitt, astabil si monostabil. In structura sa, Figura 3.60, cont ine: dou a comparatoare, COMP1 si COMP2, a c aror ie siri comand a respectiv intr arile SR ale unui latch, un tranzistor de desc arcare TD, un etaj nal de ie sire si un divizor intern de la tensiunea V CC , VCC = 4, 5 16V , prin care sunt xate valorile de referint a V r1 si Vr2 ale comparatoarelor. Rezistent ele divizorului ind egale rezult a Vr2 = VCC /3 si Vr1 = 2VCC /3.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 funct ion arii de trigger Schmitt; b) modelarea funct ion arii de monostabil; c) modelarea funct ion arii de astabil.

428

ATOR 3.4. CIRCUITE NUMAR

1. Modelarea funct ion arii de trigger Schmitt, Figura 3.60-a. Tensiunea de intrare VI se aplic a pe cele dou a intr ari (conectate mpreun a), PS- pragul de sus si PI- pragul de jos. Pentru VI = 0, intr arile SR = 10, QN = 0 iar ie sirea VO = VOH . La cre stere, c and tensiunea VI ajunge la valoarea Vr2 = 0, 66VCC = Vp+ , SR = 01, QN = 1 iar VO comut a de la VOH la VOL . La sc adere, c and tensiunea VI ajunge la Vr2 = 0, 33VCC = Vp , SR = 10, QN = 0 iar VO comut a de la VOL la VOH . Valoarea pragurilor Vp+ si Vp pot modicate printr-o rezistent a extern a Rx conectat a ntre VCC si terminalul C. 2. Modelarea funct ion arii de monostabil, Figura 3.60-b. In starea stabil 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 a V T = 0, SR = 10, a creasc a nspre VCC . C and vCx , QN = 0, VO = VOH iar TD se blocheaz a permit a nd ca vCx s dup a intervalul de timp w , atinge valoarea Vr2 = 0, 66VCC , SR = 01, QN = 1, vO comut a de la VOH la VOL , TD intr a n conduct ie iar Cx este scurtcircuitat la mas a. Valoarea lui w se obt ine prin aplicarea relat iei 3.32 pentru regimul de nc arcare al condensatorului 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 funct ion arii de astabil, Figura 3.60-c. Se consider a t = 0 c and SR = 10, QN = 0, VO = VOH , TD se blocheaz a permit a nd condensatorului Cx s a se ncarce a intervalul de timp w1 , prin rezistent ele RXA + RXB nspre tensiunea VCC . C and vCx , dup atinge valoarea Vr1 = 0, 66VCC , SR = 01, QN = 1, vO va comuta de la VOH la VOL , TD intr a n conduct ie iar Cx este desc arcat la mas a prin rezistent a RXB . Procesul de desc arcare, cu constanta de timp Cx RXB , continu a pe durata w2 iar vCx atinge valoarea Vr1 = 0, 33VCC . In acel moment SR = 10, QN = 0, vO va comuta de la VOL la VOH , TD se blocheaz a recongur and circuitul RXA + RXB de re nc arcare al condensatorului Cx ; n continuare cele dou a regimuri de nc arcare/desc arcare se succed gener andu-se un semnal dreptunghiular cu perioada T = w1 + w2 . Valorile pentru w1 si w2 se obt in aplic and relat ia 3.32. ( w1 = Cx (RXA + RXB ) ln 2 3 V
VCC 2 CC 3 VCC

) = 0, 69Cx (RXA + RXB )

VCC = 0, 69Cx RXA w2 = Cx RXA ln 2 3 VCC /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

ATOR CIRCUITE NUMAR


N = p C + r, 0r C 1 (3.35)

Impart irea unui num ar natural N la num arul natural C este denit a de relat ia

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

429

Deoarece n urma mp art irii pot rezulta doar un num ar C de resturi distincte se poate arma c a oricare num ar natural N poate inclus doar ntr-o clas a de resturi r moduloC , adic a N r modulo C, unde clasele de resturi sunt: 0 = {0, C, 2C, . . . , jC, . . . , | j N } 1 = {1, C + 1, 2C + 1, . . . , jC + 1, . . . , | j N } 2 = {2, C + 2, 2C + 2, . . . , jC + 2, . . . , | j N } . . . C 1 = {C 1, 2C 1, 3C 1, . . . , jC 1, . . . , | j N } Aarea num arului de elemente ale unei mult imi (cardinalul nult imii) se poate realiza cu ajutorul circuitelor num ar ator modulo C (se obt ine num arul exprimat n baz a C ). Un circuit num ar ator modulo C este un automat a c arui funct ionare este descris a de un graf de tranzit ii, ciclice, care cont in un num ar C de st ari distincte; din ecare stare exist a doar o singur a tranzit ie necondit ionat a spre starea urm atoare, deci n starea qi se va reveni dup a ce se vor parcurge toate celelalte C 1 st ari, Figura 3.61. Tranzit ia ind necondit ionat a se realizeaz a numai la aplicarea impulsului de ceas. De fapt, circuitul num ar ator/(num ar atorul) determin a num arul de impulsuri de ceas care au fost aplicate (sau num arul de elemente ale unei mult imi, ec arui element i corespunde un impuls de ceas). Se poate face o mapare unu-la-unu ntre mult imea claselor de resturi r si mult imea st arilor Q; uzual, clasele de resturi n ordine cresc atoare se mapeaz a pe st arile automatului n ordinea de parcurgere a acestora (pornind de la una q 0 , considerat a ca init ial a, n felul urm ator: 0 q0 , 1 q1 , ... ,C 1 qC 1 ). Realiz and aceast a mapare num ar atorul modulo C poate privit ca un identicator al claselor de resturi modulo C . De exemplu, pentru un num ar ator modulo 10 toate numerele urm atoare (de impulsuri de ceas aplicate): 3, 13, 23, 33, . . . , 103, . . . ,1003, . . . , j 10 + 3, . . . , care apart in clasei de resturi 3modulo10 ( 3), aduc automatul n starea q3 . Iar, de exemplu, pentru un num ar ator modulo 7 toate numerele urm atoare: 2, 9, 16, . . . , 51, . . . , j 7 + 2, . . . care apart in clasei de resturi 2 modulo 7, aduc automatul n starea q2 . Revenind tot dupa C impulsuri de ceas n aceea si stare circuitul num ar a n baza C. Dar pentru aceast a num arare n baza C se poate obt ine o anumit a codicare prin modul de asignare al bitilor zk1 , . . . , z1 , z0 ai ec arei st ari qj , din cele C . Num arul minim k al bit ilor de cod, egal cu num arul celulelor de memorare (bistabile) ale automatului, conform relat iei 3.17, este log 2 C . Pentru exemplul anterior, de num ar ator modulo 10, se poate adapta o num arare in baz a 10 sub codul BCD (8-42-1) sau n cod Gray sau un cod Excess 3 etc. Deci circuitul urm ator poate asigura num ararea ntr-o anumit a baza C si sub o anumit a codicare. Circuitul num ar ator poate implementat cu un automat de tip Moore imediat la care ie sirea este identic a cu starea, relat ia 3.15, (Q Y ); codul st arii este num arul exprimat ntr-o anumit a codicare. Foarte frecvent, automatul num ar ator mai este cu r = 0, 1, 1, . . . , C 2, C 1 (3.36)

430
Multimea claselor de resturi modulo C C=1 ^ 0 ^ 1 ^ 2
qC2 ^ r
C2

ATOR 3.4. CIRCUITE NUMAR


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 num ar ator: Num ar atorul modulo C poate privit ca un automat de identicare a claselor de resturi modulo C iar codicarea num ar arii rezult a prin modul de asigurare a celorlalte C st ari. nzestrat cu nc a un bit de ie sire, CO = {0, 1}, care este semnalul de dep a sire a capacit a tii de num arare (transportul urm ator) ce devine activ doar c and se ajunge n ultima stare qC 1 dup a care, prin tranzit ia n starea init iala q 0 , se re ncepe ciclul tranzit iilor, deci relat ia de transfer a automatului este f : Q Q CO. De asemenea, se introduce si un semnal de intrare CI = {0, 1} - transportul anterior deci relat ia de tranzit ie a st arilor este g : Q CI Q. Semnalul CI poate interpretat si ca un semnal de validare/enable (EN) care pentru valoarea 1 determin a trecerea num ar atorului n starea urm atoare, qi+1 , la aplicarea ec arui impuls de ceas, iar pentru valoarea 0 r am anerea n aceea si stare, q i . Inzestrat cu cele dou a semnale, CI transportul anterior si CO transportul urm ator, num ar atorul ne aminte ste de circuitul sumator. Evident, se poate substitui circuitul num ar ator cu un sumator, la care pe o intrare se aplica permanent cuv antul 1 iar pe cealalt a intrare suma obt inut a anterior, deci la aplicarea ec arui impuls de ceas se adun a unu la num arul anterior (Orice num ar se obtine din num arul anterior plus 1). Cele dou a semnale introduc facilitatea de a obt ine un circuit num ar ator modul C (care nu este num ar prim) prin nserierea de circuite num ar ator a c aror modulo sunt divizori ai lui C conform relat iei: C = C 1 C2 . . . C K (3.37)

Graful ciclic de tranzit ie al st arilor poate parcurs n unul din cele dou a sensuri rezult and, n consecint a , pentru circuitul num ar ator o funct ionare de num arare direct a sau num arare invers a; sau dac a se introduce pentru circuitul num ar ator o intrare I , pentru care valoarea I = 0 determin a num ararea direct a iar pentru I = 1

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

431

determin a num ararea invers a, se obt ine un num ar ator reversibil. Existent a la un circuit num ar ator modulo C , pe ie sire, pe l ang a cuv antul de cod al st arii prezente - pentru num arare - si a semnalului CO - pentru dep a sirea capacitat ii - determin a dou a moduri de funct ionare/(utilizare) distincte. Prima funct ionare, cea de num arare ntr-o baz a modulo C sub un anumit cod, c and este considerat a succesiunea cuvintelor de cod a st arilor parcurse. Cea de-a doua funct ionare, c and se consider a doar semnalul de dep a sire CO produs dup a C impulsuri de ceas aplicate, este cea de divizare cu C . Din punct de vedere al implement arii unui circuit num ar ator, n funct ie de aplicarea impulsului de ceas care determin a trecerea din starea q i in starea qi+1 , acesta poate de tip asincron sau de tip sincron.

3.4.1

Num ar atoare asincrone

Pentru num ar atorul care va analizat n aceast a sect iune, denumirea de asincron reect a faptul c a n funct ionarea sa celulele de memorare (bistabilele) nu comut a toate sincron cu semnalul de ceas, aceasta datorit a structur arii num ar atorului ca o nseriere de bistabile de tip T. In sect iunea 3.3.2.4 s-a ar atat ca bistabilul T n regim de bascul a (T = 1) comut a la ecare impuls de ceas, rezult and un semnal de ie sire Q cu perioada dubl a fat a de cea a semnalului de ceas, Figura 3.49-e deci o divizare cu doi (21 ). Dac a semnalul de ie sire Q se aplic a unui urm ator bistabil T (ca semnal de ceas), tot n regim de bascul a, T = 1, dup a aceasta se obt ine o divizare cu 4 (2 2 ), iar dac a se continu a cu un al treilea bistabil T nseriat se obt ine un semnal divizat cu 8 (23 ) n raport cu semnalul nit ial de ceas. Generaliz and, prin nserierea a n bistabile T se obt ine o divizare cu 2n , deci un num ar ator modulo 2n ; o astfel de structurare de num ar ator modulo 23 este prezentat a in Figura 3.62-b. Dar care din ie sirile Q sau QN ale celulei bistabil de rang i se aplic a pe intrarea de ceas a celulei T de rang i + 1? R aspunsul rezult a simplu din analiza succesiunii de num arare, n cod binar natural, din Figura 3.62-a. Bitul de rang 20 (z0 ) din cuv antul de cod binar natural al num arului schimb a n valoarea opus a la ecare impuls de ceas. Pentru num ararea n sens direct, bitul de rang 21 (z1 ) schimb a n starea opus a numai c and bitul z 0 schimb a din 1 n 0; de asemenea bitul de rang 22 (z2 ) schimb a n starea opus a numai c and bitul z 1 comut a din 1 n 0, n tabelul succesiunii de num arare aceste comutat ii sunt indicate prin s aget i. In concluzie, celula de bistabil T de rang i este comutat a n starea opus a de c atre celula de rang i 1 numai c and aceasta comut a de 1 la 0. Deoarece n structura aleas a de num ar ator s-au considerat celulele bistabile T comandate pe frontul negativ al semnalului de ceas, rezult a c a pentru intrarea CLK a celulei de rang i se aplica ie sirea Q a celulei de rang i-1 care produce front negativ la comutat ia lui z i1 de la 1 la 0. Dac a celulele bistabile erau comandate pe frontul pozitiv de ceas atunci pe 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 c and aceast a celul a comut a de la 1 la 0. Diagrama de semnale pentru acest num ar ator modulo 8, c and parcurge toate cele 8 st ari, este prezentat a n Figura 3.62-c. Pornind din starea z 2 z1 z0 = 000 la aplicarea primului impuls de ceas, pe frontul negativ, n num ar ator se nscrie starea 001, dup a al doilea impuls se nscrie 010 si prima celul a revine n z 0 = 1, dar frontul negativ

432

ATOR 3.4. CIRCUITE NUMAR

de la ie sirea acesteia comand a celula a dou a n z 1 = 1. La al patrulea front negativ exist a un transfer de la celula 20 la celula de rang 21 , care comut a pe z1 n 0, si la fel exist a un transfer de la celula 21 la celula 22 care comut a pe z2 n 1, deci num arul este 100. Dup a al saptelea impuls num arul nscris este 111, s-a atins capacitatea maxim a, iar la al optulea impuls de ceas toate fronturile pe intr arile de ceas sunt negative, la ecare celul a se genereaz a un transfer c atre celula urm atoare, cel de la celula de rang 22 nu este utilizat pentru o celul a urm atoare, num ar atorul revine n starea init ial a 0 = 8 modulo 8. In diagrama de semnale prezentat a s-a considerat c a timpul de propagare, pCQ (pHL(CQ) = pLH(CQ) = pCQ ) pe un bistabil T, de la intrarea de ceas la ie sire, are valoarea de zero. In Figura 3.62-d s-a redesenat diagrama de semnale, cu comutat iile nt arziate ale celulelor datorate propag arilor pCQ pentru primele patru semnale de ceas. Se observ a c a la al doilea impuls de ceas comutat ia ie sirii z 1 apare cu o nt arziere de 2pCQ , iar la al patrulea impuls de ceas comutat ia ie sirii z 2 apare o nt arziere de 3pCQ ; deci celulele vor comuta asincron cu semnalul de ceas, de unde si denumirea de num ar ator asincron. Evident, la un num ar ator asincron cu n celule nt arziere maxim a datorat a propag arii prin cele n celule este n pCQ . Rezult a c a valoarea frecvent ei de ceas nu poate cre ste peste 1/(n pCQ ). Avantajului simplit a tii structurii num ar atorului asincron i se opune limitarea frecvent ei de comand a a ceasului, f CLK 1/(npCQ ). Pentru num ar atorul asincron modulo 2n dimensiunea S(n) si ad ancimea D(n) sunt n O(n). Asincronismul n comutat ia celulelor genereaz a st ari false la tranzitia unora dintre dou a st ari consecutive. De exmplu, la tranzit ia din starea 1|10 = 001 n starea 2|10 = 010 se genereaz a pe durata pCQ starea fals a 000, iar la tranzit ia din starea 3|10 = 011 n starea 4|10 = 100 se genereaz a urm atoarele dou a st ari false: 010 si 000. Utilizarea ie sirilor num ar atorului z 2 , z1 , z0 ca intr ari la un circuit combinat ional genereaz a hazard, utilizarea lor este posibil a numai dup a consumarea regimului tranzitoriu(> npCQ ). O solut ie de pentru evitarea hazardului const a n strobarea aplic arii ie sirilor num ar atorului, adic a circuitul care are ca intr ari cuv antul z2 z1 z0 este validat cu un semnal (de strob) nt arziat fat a de frontul negativ al semnalului de ceas de la num ar ator (cum ar , de exmplu, palierul pozitiv al semnalului ceas). Structura de num ar ator asincron cu num arare direct a poate transformat a u sor ntr-o structur a de num ar ator cu num arare invers a prin aplicarea pe intrarea de ceas a celulei de rang i a semnalului corespunz ator (Q sau Q N ) de la ie sirea celulei de rang i 1. Din tabelul succesiunii de num arare invers a, din Figura 3.62-a, rezult a c a celula de rang 20 comut a la ecare impuls de ceas, celula de rang 2 1 va comuta numai c and celula 20 comut a din 0 n 1, iar celula de rang 22 comuta numai c and celula 21 comut a din 0 n 1, adic a tocmai invers ca la num ararea direct a. Deci, pentru celulele cu comutare pe front pozitiv, se culege semnalul de pe iesirea Q a celulei anterioare, iar pentru comutat ia pe front negativ se culege de pe ie sirea Q N a celulei anterioare, Figura 3.62-e. O structur a de num ar ator comandat pentru num ararea direct a sau num arare invers a se obt ine prin introducerea unor selectoare ntre dou a celule de num arare succesive care va alege ie sirea potrivit a de la celula anterioar a si o aplic a pe intrarea de ceas a celulei urm atoare. Un astfel de selector este e un MUX2:1, e o poart a XOR. Un num ar ator asincron modulo 2n poate modicat pentru o funct ionare ca num ar ator modulo C , unde C < 2n . O astfel de modicare se obt ine prin eliminarea unui

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 Num ar atorul asincron: a) tabelul succesiunii de num arare direct a si invers a, modulo 8; b,c) structura si diagrama de semnale pentru un num ar ator modulo 8; d) evident ierea timpilor de propagare si a st arilor false introduse; e) conexiunile pentru obt inerea semnalului de ceas la o celul a de rang i + 1; f) num ar ator modulo 10 obt inut prin modicarea unui num ar ator modulo 2 4 .

434

ATOR 3.4. CIRCUITE NUMAR

num ar(2n C ) st ari din graful de tranzit ie al st arilor. Un decodicator identic a n cuv antul de cod al num ar atorului c and se realizeaz a starea C si atunci se fort eaz a, prin intr arile asincrone de stergere CLEAR a celulelor, nscrierea n starea init ial a 000...00. In Figura 3.62-f se exemplic a modicarea unui num ar ator modulo 16, realizat cu bistabilele D care modeleaz a o funct ionare de bistabili T, ntr-un num ar ator modulo 10, z3 z2 z1 z0 = 1010; circuitul decodicator este o poart a NAND2 care identic a starea 1010, z3 = z1 = 1, se genereaz a un semnal de resetare, activ n zero, care fort eaz a nscrierea n 0 a celulelor bistabile Q3 , Q2 , Q1 (se sterge si Q2 deoarece stergerea lui Q1 produce la ie sirea Q o comutat ie de la 1 la 0 care ar nscrie pe Q 2 n 1). Bucla de fort are a st arii 000 este transparent a, adic a oricare nscriere n zero a unuia din bitii z3 sau z1 , aplicat i la intrarea port ii NAND2, ar produce la ie sirea acesteia o anulare a semnalului de resetare, CLEAR devine 1. Scurtarea duratei de nscrierea n starea 0 a unora 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 o nt arziere = 9ns + 25ns = din momentul activ arii semnalului CLEAR = 0, dup 34ns < 40ns, datorit a faptului c a z3 a fost nscris n zero, poarta NAND2 anuleaz a semnalul de resetare (CLEAR=1) nainte ca si Q 1 s a fost nscris n 0, deci cuv antul fort at n num ar ator nu este 0000 ci 0010. Transparent a buclei este eliminat a prin introducerea unui latch S R si prin aceasta (chiar dac a unul din semnalele de ie sire z1 sau z3 devine mai devreme zero) se lunge ste durata de activare a semnalului de an a c and la intrarea latch-ului apare R=0 (adica n momentul resetare (CLEAR=0) p aparit iei urm atorului front pozitiv de ceas CLK c and semnalul COU N T = R devine si cu eliminarea transparent ei buclei de fort are acesta activ, COU N T = CLK ). Dar structur a de num ar ator modulo 10, obt inut din unul modulo 16, mai prezint a totu si o funct ionare defectuoas a datorit a fort a rii nscrierii unei st ari (prin utilizarea intr arilor asincrone CLEAR). La al zecelea impuls de ceas c and num ar atorul a ajuns n starea z 3 z2 z1 z0 = 1010, si prin detectarea acestei st ari, se fort eaz a nscrierea st arii z 3 z2 z1 z0 = 0000. La urm atorul impuls de ceas are loc tranzit ia n z 3 z2 z1 z0 = 0001 dup a care pe urm atoarele nou a impulsuri se ajunge nou n z 3 z2 z1 z0 = 1010. Rezult a c a, pe durata celui de al zecelea impuls de tact, num ar atorul a avut pentru scurt timp starea z3 z2 z1 z0 = 1010 si apoi, p an a la urm atorul impuls de ceas, starea z 3 z2 z1 z0 = 0000, deci n total 11 st ari pentru 10 tacte. Aceasta nseamn a c a num ar atorul modulo 10 obt inut poate utilizat pentru funct ia de num arare numai dac a starea detectat a de decodicator (1010), de scurt a durat a, nu inuent eaz a succesiunea codurilor de ie sire. In schimb acest num ar ator modicat poate utilizat ca divizor modulo 10 dac a n starea 1010 se genereaz a un impuls de dep a sire CO (obt inut printr-o poart a AND2 cu intr arile z3 si z1 ). Trebuie evident iat faptul c a la un num ar ator asincron momentul de comutare precum si modul cum comut a sunt determinate de frontul impulsului de ceas deci ,, ,, nu este decuplat a act iunea cum de act iunea c and , situat ie nt alnit a la latch-uri. ,, Pentru cum decizia este dat a de comutat ia bistabilului anterior si nu de starea bistabililor anteriori. Pentru aplicat ii de frecvent a joas a, c and st arile false introduse nu sunt un dezavantaj (sau pot u sor eliminate prin strobare), datorit a simplit a tii sale circuitele num ar ator asincron pot utilizate. Num ar atoare asincrone, comercial obtenabile, sub forma de circuite integrate

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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

Num ar atoare sincrone

La un num ar ator asincron toate celulele bistabil comut a simultan cu frontul activ al semnalului de ceas. Pentru sinteza num ar atorului modulo 2 n asincron, n cod binar natural (8-4-2-1), la care doar prima celul a comut a sincron cu ceasul iar ecare alt a celul a prime ste semnalul pe intrarea de ceas tot la a doua comutat ie dar de la celula anterioar a, s-a utilizat o nseriere de celule bistabile T; acest bistabil av and particularitatea n funct ionare c a este un num ar ator modulo 2 1 ( 0=2 modulo 2). In schimb, sinteza unui num ar ator modulo C sincron, n orice cod si nu numai n numai n cod binar, trebuie f acut a ca a unui automat pornind de la graful/tabelul de tranzit ie al st arilor. Sinteza ca automat a num ar atorului sincron, pentru nceput, se va face consider and un num ar ator modulo 2n n cod binar natural (pentru c a din acesta se poate obt ine usor un alt num ar ator modulo C, C< 2 n ). Funct iile de excitat ie wi ale automatului num ar ator, notate n acest caz cu T i pentru c a implementarea se va face cu bistabile T, se deduc din succesiunea st arilor, asignate n cod binar natural, prezentate n Figura 3.62-a (pentru modulo 8). Expresiile funct iilor Ti se deduc foarte simplu pe baza observat iei: ecare bit z i , i = 0, din cuv antul st arii urm atoare, va comuta fat a de valoarea din starea prezent a numai c and n starea prezent a tot i bit ii anteriori lui z i au valoarea 1; bitul z0 comut a la ecare impuls de ceas. Deci celula de rang i va comuta la aplicarea impulsului de ceas dac a funct ia sa de excitat ie Ti are valoarea 1, valoare care se calculeaz a n funct ie de starea tuturor celulelor anterioare. Introduc and si semnalul de transport anterior CI, considerat ca o intrare de validare EN, se obt in expresiile pentru funct iile de excitat ie. 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 a se calculeaz a si funct ia de excitat ie T n care este de fapt transferul CO (dep a sirea de capacitate c and num ar atorul este plin cu 111....11) se adaug a si expresia CO = Tn = EN z0 z1 z2 ... zn3 zn2 zn1 CO = Tn = Tn1 zn1 (a) (b) (3.39)

Expresiile anterioare, obt inute recursiv, care calculeaz a prexe (expresiile cu indicele mai mic dec at i pot considerate prexe n procesul de calcul pentru expresia cu indicele i) pot implementate e cu n port i AND av and de la 2 p an a la n + 1 intr ari (relat ia 3.38-a) e cu n port i AND2 (relat ia 3.38-b). Aceste dou a implement ari (extreme) ale circuitului combinat ional pentru automatul num ar ator corespund celor

436

ATOR 3.4. CIRCUITE NUMAR

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 num ar ator sincron n codul binar natural: a) organizarea num ar atorului sincron paralel; b) structura ret elei CLC pentru num ar atorul sincron serie; c) structur a arborescent a binar a a ret elei combinat ionale pentru num ar atorul sincron (n=8)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

437

dou a tipuri de num ar atoare: num ar atorul sincron paralel, Figura 3.63-a, num ar atorul sincron serie Figura 3.63-b. Aceste dou a implement ari, de si au produsul dimensiunead ancime n acela si ordin, O(n2 ), reect a regula c a mic sorarea dimensiunii la varianta serie duce la sc aderea performant ei de vitez a, iar la mic sorarea ad ancimii duce la cre sterea dimensiunii (varianta paralel a) vezi relatia 2.9. Pentru num ar atorul sincron paralel (NSP), din momentul aplic arii impulsului de ceas p an a la urm atorul, timpul minim necesar, T CLK minim, este egal cu pCQ timpul de propagare printr-o celul a T, plus timpul pAND -timpul de propagare printr-o poart a AND, la care se adaug a timpul de stabilizare al bistabilului SU , ceea ce se poate exprima prin relat ia general a TCLKmin = N SP (n) = pCQ + pAND + SU O(1) (3.40)

Dimensiunea acestui tip de num ar ator, SN SP (n), se calculeaz a din dimensiunea ret elei de memorare realizat a din bistabilele T, S T , plus dimensiunea ret elei combinat ionale (paralel a) SRCP (n) compus a din n port i cu dou a p an a la (n+1) intr ari. SN SP (n) = n ST + n SRCP (n + 1) O(n2 ) Aceste evalu ari teoretice ale automatului num ar ator trebuie considerate doar ca limite, deoarece n practic a implementarea acestui num ar ator, mai ales pentru n de valoare mare, este greu de realizat (ultima poart a AND prezint a n+1 intr ari). In consecint a , implementarea port ilor AND cu multe intr ari, utiliz and axioma de asociativitate, se vor compune din mai multe port i cu un num ar de intr ari mai redus si plasate pe mai multe niveluri, deci nu va un singur nivel de propagare pNAND ci mai multe. De asemenea si pCQ se m are ste, mai ales la bistabilele din rangurile inferioare, a c aror nc arcare la ie sire cre ste cu n. Totu si, organizarea de num ar ator sincron paralel pentru valori mici ale lui n este recomandat a, sunt uzuale num ar atoarele cu n=4. Prin utilizarea expresiilor 3.38-b se obt ine num ar atorul sincron serie, NSS, pentru care n Figura 3.63-b este prezentat a numai organizarea ret elei combinat ionale. Pentru aceast a organizare, n raport cu cea paralel a, perioada minim a a semnalului de ceas, TCLKmin , se m are ste cu timpul de propagare prin nc a (n-2) port i AND2; ntr-adev ar funct ia de excitat ie Ti a bistabilului i este calculat numai dup a ce a fost calculat a Ti1 ceea ce se exprim a prin relat ia TCLKmin = N SS (n) = pCQ + (n 1)pAND + SU O(n) iar dimensiunea SN SS (n) = n ST + n SAN D2 Q(n) Relat ia 3.41 arat a c a performant ele de vitez a ale num ar atorului sincron serie nu sunt mult mbun at a tite n raport cu num ar atorul asincron la care (T CLKmin nCQ ) Aceast a structurare serie si paralel a este similar a cu cea a sumatorului serie cu transport progresiv (sect iunea 2.5.2.1) si cea a sumatorului cu transport anticipat (sect iunea 2.5.2.2); la fel, ca la sumatoare, se pot face organiz ari ale CLC pentru calculul funct iilor de excitat ie Ti prin mixarea part ial a a celor dou a extreme. De exmplu se poate realiza calculul paralel pentru c ate m celule bistabile, iar apoi calculul n serie ntre cele n/m grupe. (3.41)

438

ATOR 3.4. CIRCUITE NUMAR

Se pot calcula funct iile de excitat ie Ti , utiliz and o funct ie logic a AND2, f (x0 , x1 ) = x0 x1 , sub forma unui arbore binar lu and numai perechi din variabilele EN, z 0 , z1 , z2 ,...,zn2 , zn1 . Aplic and aceast a modalitate de calcul pentru relat iile 3.38-a c and n = 8 se obt ine 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 a de arbore (NSA), numai cu port i AND2, conform relat iilor 3.42, este prezentat a n Figura 3.63-c. Perioada de ceas minim a pentru cazul general este TCLKmin = N SA (n) = pCQ + pAND2 log2 n + SU O(log n) iar dimensiunea se calculeaz a cu relat ia SN SA (n) = n ST + n log2 n O(n log n) Pentru un num ar ator sincron modulo 2n , n cod binar natural, cu num arare invers a sinteza se realizeaz a similar. Se porne ste pentru deducerea funct iilor de excitat ie de la succesiunea st arilor asignate parcurse n sens invers din Figura 3.62-a. Se observ a c a ecare bit zi , i = 0, din cuv antul st arii urm atoare, va comuta fat a de valoarea din starea prezent a numai c and n starea prezent a tot i bit ii anteriori au valoarea 0; bitul z0 comut a la ecare impuls de ceas. Deci fat a de num ararea n sens direct, c and se utilizeaz a ie sirile Q de la celulele anterioare, la num ararea n sens invers se utilizeaz a ie sirile QN ale celulelor anterioare. Pentru implementarea num ar atorului invers se utilizeaz a relat iile 3.38 si 3.39 n care se face substitut ia Q i QN i . Semnalul de dep a sire de capacitate/transport CO, care n acest caz are semnicat ia de mprumut, se genereaz a c and num ar atorul ajunge la cuv antul compus din n zerouri si nu c and num ar atorul ajunge la cuv antul de n unu-uri ca la num ararea direct a. Un num ar ator sincron reversibil trebuie s a calculeze funct iile de excitat ie cu semnalele Qi , pentru num arare direct a, si cu semnalele Q N i pentru num arare invers a. Selectarea celor dou a semnale de la ie sirea unei celule bistabil se realizeaz a, similar ca n Figura 3.62-e, e un MUX2:1, e cu o poart a XOR comandate cu un semnal de ar ator direct, pentru S = 1 S = Direct/Invers (D/I , up/down); pentru S = 0 num num ar ator invers. In general, num ar atoarele existente sub form a de circuite integrate discrete sunt module num ar ator sincron compuse din patru celule bistabil (modulo 2 4 ); iar pentru capacit a ti de num arare mai mari se nseriaz a astfel de module, Figura 3.64-a. Pentru nseriere, semnalul de dep a sire de capacitate CO de la un modul se conecteaz a ca semnal de transport anterior CI la modulul urm ator, iar semnalul de ceas se aplic a simultan la toate modulele. In momentul c and ntr-un modul se ajunge la capacitatea maxim a 1111 se genereaz a CO=1, deci urm atorul modul va incrementat la (3.43)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 capacit a tii de num arare : a) organizare pentru modulo 212 prin nserierea a trei circuite num ar ator modulo 2 4 ; b) secvent a de cuvinte din procesul de num arare modulo 212 n cod binar natural.

urm atorul impuls de ceas. C ateva cuvinte din cont inutul unui num ar ator modulo 2 12 , organizat prin nserierea a trei modulele ecare de c ate patru bit i, din secvent a de num arare sunt prezentate n tabelul din Figura 3.64-b. Dac a pentru aceast a nseriere se folosesc module NSP perioada minim a a semnalului de ceas conform relat iei (3.40), este TN SP (12) = pCQ + 3 pAND + SU iar dac a se folosesc module NSS, conform relat iei 3.41 perioada minm a este TN SS (12) = pCQ + (4 + 4 + 3)pAND + SU 3.4.2.1 Num ar atoare presetabile

La num ar atoarele sincrone presetabile se poate realiza ca, la un anumit impuls de ceas, tranzit ia s a se efectueze ntr-o stare urm atoare, q p prescris a din exterior. Codul st arii urm atoare, starea de nceput a ciclului q p , validat prin act iunea semnalului de control de nc arcare LOAD ( n general activ n L) este nscris n celulele bistabil de stare ale automatului num ar ator. Dar, nscrierea (fort area) unei st ari urm atoare q p din exterior nseamn a c a n graful de tranzit ii ciclic, Figura 3.61, nu se mai parcurg toate cele C st ari, deci num ar atorul devine un num ar ator modulo C 1 ; C1 este egal cu num arul de st ari parcurse, pe graful de tranzit ie al st arilor, ntre starea nal a qf (din care se realizeaz a fort area tranzit iei n starea prescris a qp) si starea de nceput a

440

ATOR 3.4. CIRCUITE NUMAR


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 Modalitat i de nscriere a num ar atoarelor sincrone: a) nscriere asincron a; b) circuistica si tabelul semnalelor de control pentru nscrierea sincron a; c) semnalele pentru controlul operat iilor pe un num ar ator.

ciclului qp . Rezult a c a un num ar ator modulo 2n , la care se implementeaz a circuitul de presetare, poate transformat ntr-un num ar ator modulo C 1 , 2 C1 2n -1. Circuitul de presetare trebuie s a cont in a: un identicator (decodicator) al codului st arii nale qf , intr ari externe pe care se aplic a bit ii de cod ai st arii q p , ce urmeaz a a nscris a, si semnalulul de nc arcare, LOAD. Un decodcator al codului st arii q f se poate realiza u sor cu port i logice n exterior, n general sub forma unei conjunct ii compuse cu bit ii care au valoarea 1 n codul st arii q f . Dar, un astfel de decodicator poate eliminat dac a se alege ca starea nal a, q C 1 , n care se genereaz a semnalul de dep a sire a capacit a tii, CO, iar ca semnalul LOAD se va utiliza tocmai acest semnal de dep a sire de capacitate. Foarte frecvent, mai exist a nc a un semnal de stergere, CLEAR ( n general activ n L), care realizeaz a nscrierea n starea q i = 00. . . 00. Fort area codului st arii urm atoare n bistabilele de stare ale automatului num ar ator se poate realiza, n raport cu semnalul de ceas, sincron sau asincron.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

441

Modalitatea de nscriere asincron a, Figura 3.65-b, utilizeaz a intr arile asincrone PRESET si CLEAR (Figura 3.43-a) ale latch-ului din structura bistabilului. Cele dou a port i P1 , P2 sunt validate numai la activarea semnalului de nc arcare, LOAD = 0. Dac a bitul Dn , aplicat din exterior, are valoarea 1 rezult a PRESET, CLEAR = 0, 1, deci Q = 1, QN = 0, iar dac a Dn are valoarea 0 rezult a PRESET, CLEAR = 1, 0, deci Q = 0, QN = 1. Poarta XOR din aceast a structur a are numai rolul de a transforma bistabilul D n bistabilul T, Figura 3.50-b. Inscrierea asincron a ntru-un num ar ator prezint a dou a inconveniente: 1. Bucl a transparent a pentru generarea semnalului de nc arcare. Prin utilizarea semnalului obt inut de la decodicatorul st arii q f si aplicarea acestuia ca semnal de nc arcare LOAD in jurul num ar atorului se nchide o bucl a transparent a care poate determina, eventual, nscrierea unei st ari eronate, eventualitate analizat a n Figura 3.62-f. Se poate evita aceast a eventualitate prin introducerea unui latch, deci eliminarea transparent ei buclei. 2. Starea prescris a din exterior, qp trebuie s a e totdeauna cea anterioar a st arii de nceput a ciclului. La aplicarea impulsului de ceas care determin a tranzit ia n starea nal a qf pe ie sirile num ar atorului apare codul st arii nale (pentru care decodicatorul genereaz a pe o durat a scurt a de timp semnalul de nc arcare asincron a) si apoi codul st arii fort ate qp-1 la num ararea direct a sau qp+1 , la num ararea invers a; deci pe perioada acestui impuls de ceas ie sirile indic a dou a st ari q f , pentru o durat a scurt a de timp, si qp-1 sau qp+1 . Numai la urm atorul impuls de ceas se trece n starea de nceput a ciclului qp si se continu a tranzit iile p an a n qf . Pentru nscrierea sincron a, deoarece celulele bistabil sunt nscrise de c atre datele ce se aplic a pe intr arile de date c and se aplica frontul activ de ceas, nu apar inconvenientele de la nscrierea asincron a. In Figura 3.65-b este prezentat a circuistica si tabelul cu semnalele de control pentru o nscriere sincron a. Poarta XOR are numai rolul de a realiza bucla ce transform a bistabilul D n T; bucla se nchide de la ie sirea Q nspre intrare c and poarta P3 este validat a cu semnalul LOAD, CLEAR = 1, 1. Celula are pe intrarea de date o structur a de MUX2:1 (neconsider andu-se poarta XOR). Pe o intrare a multiplexorului, poarta P4 , se aplic a semnalul (funct ia de excitat ie) A, obt inut de la circuitul combinat ional al num ar atorului, si care este data ce determin a starea celulei, Q = A, pe frontul activ urm ator de ceas, dac a port ile P 3 si P4 sunt validate a prin valoarea 1 de la ie sirea port ii P1 (c and LOAD, CLEAR = 1, 1). Pe cealalt intrare, poarta P5 , se aplic a Dn care este nscris a n celul a, Q = Dn , la urm atorul impuls de ceas dac a valoarea generat a de poarta P 2 este 1 (LOAD, CLEAR = 0, 1, adic a operat ia de nscriere). Pentru operat ia de stergere (LOAD, CLEAR = , 0) ie sirea n 0 a port ii P2 va fort a n celul a Q = 0, la aparit ia urm atorului impuls de ceas, indiferent de valoarea de prescriere Dn . In general, semnalele de control pentru un num ar ator presetabil sunt: de nc arcare LOAD, de stergere CLEAR si de validare ENABLE (uneori compus din conjunct ia a dou a semnale). Din tabelul din Figura 3.65-a rezult a c a operat ia de stergere, CLEAR-activ, se realizeaz a indiferent de valorile celorlalte semnale de control, deci CLEAR are prioritate maxim a. Activarea semnalului LOAD ncarc a din exterior celulele num ar atorului chiar dac a acesta nu este validat, pentru operat ia de num arare, prin activarea semnalului ENABLE. Dac a toate cele trei semnale de con,, trol nu sunt activate num ar atorul este inhibat/ nghet at ntr-o anumit a stare, nu se produce nici o modicare la aplicarea semnalelor de ceas. Toate semnalele de control

442

ATOR 3.4. CIRCUITE NUMAR

sincrone trebuie s a respecte n rapot cu frontul activ al semnalului de ceas restrict iile impuse de timpul de stabilizare SU si timpul de ment inere, H . Semnalele de control pentru circuitele num ar atoare sincrone uzuale, existente sub form a de circuite integrate MSI, sunt prezentate n Figura 3.66-a. Pentru num ar atorul sincron 74xx163, 4bit i, cod binar natural, unul dintre cele mai uzuale num ar atoare, prin diagramele de semnal din Figura 3.66-b, se prezint a modurile de operare prin activarea semnalelor de control. Pe frontul pozitiv al impulsului de ceas notat cu 1, deoarece comanda de stergere este activ a,CLEAR = 0, cont inutul num ar atorului devine Q3 Q2 Q1 Q0 = 0000, iar pe frontul celui de al doilea impuls de ceas, deoarece comanda de nscriere este activ a, LOAD = 0, cuv antul aplicat din exterior pe intr ari D3 D2 D1 D0 = 1100 devine cont inutul num ar atorului Q3 Q2 Q1 Q0 = 1100 = 12|10 . Imediat dup a al doilea impuls de ceas, prin activarea semnalului ENABLE = ENP ENT = 1, se valideaz a regimul de num arare. Pentru validarea regimului de num arare se conjug a cele dou a semnale de validare ENT (ENable Trickle) si ENP (ENable Parallel). Diferent a ntre aceste dou a semnale const a prin efectul lor; ambele valideaz a operat ia de numarare dar ENT mai valideaz a si transportul urm ator al num ar atorului, notat aici cu prin RCO (Ripple Carry Out), ca o funct ie AND cu semnalul CO, de num ar ator plin, adic a RCO = CO ENT. La al cincelea semnal de ceas cont inutul num ar atorului se umple Q3 Q2 Q1 Q0 = 1111 si se genereaz a RCO, semnal care utilizat ca o comand a de nscriere poate, pe urm atorul impuls de ceas, fort a cont inutul num ar atorului n starea qp = Q3 Q2 Q1 Q0 = D3 D2 D1 D0 . Regimul de num arare continu a p an a dup a al optulea impuls de ceas c and num ar atorul este devalidat, ENP ENT = 0, n continuare ind n regim de inhibare (f ar a modic ari). Divizoare de frecvent a. Deoarece un num ar ator modulo 2 n genereaz a prin CO (RCO) un semnal cu frecvent a impulsurilor de ceas divizat a cu 2 n atunci oricare num ar ator modulo C1 , 2C1 2n 1, este un divizor cu C1 a frecvent ei de ceas. Iar, dup a cum se stie, un num ar ator modulo C1 se obt ine dintr-un num ar ator presetabil modulo 2n din care se elimin a (2n C1 ), st ari, deci tot la C1 impulsuri de ceas se genereaz a un impuls n exterior, impuls ce este utilizat si pentru a fort a nscrierea st arii de nceput qp a ciclului n automatul num ar ator. Inconvenientul unui semnal obt inut de la un num ar ator modulo C este o valoare mult sub 50% a coecientului de umplere. Mai mult, dac a C = 2 n atunci si semnalele generate la ie sirile Qn1 ,Qn2 ,. . . ,Q1 ,Q0 ale celulelor bistabil nu mai sunt simetrice pe durata ciclului de C impulsuri de ceas. Solut ii de circuite care genereaz a semnale simetrice dup a ecare celul a bistabil si pentru un C=2 n se g asesc n [Oberman 78]. Pentru a obt ine semnale cu frecvent a fCLK /C, dar cu coecient de exemplu 50%, se poate utiliza urm atoare modalitate: se aplic a o frecvent a 2f CLK la num ar atorul modulo C iar ie sirea acestuia se divide printr-un bistabil T (T=1) care genereaz ao frecvent a (2fCLK /C):2. Exemplul 3.22 Utiliz and circuitele num ar ator sincron presetabil 74xx163 si 74xx161 s a se realizeze num ar atoare modulo 12. Caracteristicile de control pentru aceste num ar atoare sunt date n Figura 3.66-a. Solut ie. Implementarea cu 74xx163.
1. Figura 3.67-a, starea nal a este Q3 Q2 Q1 Q0 = 1111 detectat a prin semnalul RCO, nceput semnal care genereaz a semnalul de nc arcare sincron LOAD = RCO. Starea de

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 3Q2Q1Q0=1111

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 Num ar atoare sincron a sub form a de circuite MSI: a) caracteristicile num ar atoarelor uzuale; b) diagrama de semnale pentru num ar atorul 74xx163

444

ATOR 3.4. CIRCUITE NUMAR a ciclului 0100 = 4|10 se nscrie la impulsul urm ator dup a cel care a comandat tranzit ia n starea nal a, fRCO = 1/12 fCLK . Num ararea nu este n cod binar natural, este, de fapt, un cod exces 4.

Implementarea cu 74xx161, care are nc arcare sincron a dar stergere asincron a. Un num ar ator divizor modulo 12 se obt ine prin conexiuni similare ca n Figura 3.67-a. Pentru un num ar ator n cod binar natural, exist a urm atoarele 2 variante:

2. Figura 3.67-b, starea nal a este Q3 Q2 Q1 Q0 = 1011 = 11|10 , detectat a de o poart a NAND3, care genereaz a semnalul CLEAR = 0. S tergerea este sincron a cu semnalul de ceas, adic a fort area st arii de nceput de ciclu Q3 Q2 Q1 Q0 = 0000 se nscrie la impulsul urm ator dup a cel care a comandat tranzit ia n starea nal a. Activarea semnalului CLEAR = 0 are frecvent a 1/12 fCLK . Num ararea este n cod binar natural.

1. Figura 3.67-c, starea nal a 1100 = 12|10 se detecteaz a cu o poart a NAND2 care prin
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 Num ar atoare modulo 12: a) num ar ator divizor modulo 12; b,c,d) num ar atoare modulo 12 n cod binar natural

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

445

semnalul S , de scurt a durat a, nscrie num ar atorul n starea 0000. Deci pe perioada TCLK a impulsului care a comandat tranzit ia n starea nal a exist a dou a stari, adica 1111 si 0000; pentru ca n aceast a perioad a starea a doua s a e 0000, si nu o stare cu un alt cod, bucla ce se nchide la intrarea asincron a CLEAR este transformat a n bucl a netransparent a prin introducerea unui latch S R. La urm atorul impuls de ceas a 1/12fCLK . se trece n starea init ial a 0001. Semnalul CLEAR = QN = 0 are frecvent 2. Figura 3.67-b, structura si funct ionarea se face prin utilizarea intr arii sincrone LOAD, similar ca n Figura 3.67-b (unde se utilizeaz a intrarea sincron a CLEAR). Cu ecare din aceste dou a circuite se mai pot realiza multe variante de num atoare modulo 12, dar nu cu num arare n cod binar natural, n funct ie de alegerea st arii nale; oricare din cele 16 st ari poate xat a starea nal a.

Uneori este necesar ca pe baza unui num ar ator modulo C frecvent a f CLK s a e divizat a cu un coecient fract ionar C/k , 1 k C . Se poate structura un divizor C/k stiind c a valoarea oric arui num ar k exprimat n binar se obt ine ca o sum a ponderat a a puterilor lui doi cu bit ii din cuv antul binar ...b i ..b2 b1 b0 (k = + bi 2i + + b2 22 + b1 21 + b0 20 ). Dar, la un num ar ator modulo 2n , dup a ecare celul a de rangul i, 0 i n 1, se pot obtine impulsuri de ceas divizate cu 2 i+1 . Nu r am ane dec at s a se genereze aceste impulsuri si, apoi, s a se selecteze acestea de la ecare celul a a num ar atorului conform valorilor (ponderilor) bitilor din cuv antul de cod binar al num arului k . Aceste ponderi apar evidente dac a se consider a c a frecvent a rezultat a fCLK : C/k se obt ine ca un produs k/C fCLK ; astfel de circuite care realizeaz a aceast a relat ie sunt referite ca multiplicatoare cu coecient binar. Exemplul 3.23 S a se structureze un circuit pentru multiplicarea fCLK cu coecientul 5/16. Solut ie. Num arul 5 exprimat n binar cu patru biti este b3 b2 b1 b0 = 0101 iar exprimat ca parte a lui 16|10 = 10000 devine fract ia 0, b3 b2 b1 b0 = 0, 0101(5|16 = 0 21 + 1 22 + 0 3 4 2 + 1 2 ). In circuitul multiplicator cu coecientul binar 0,0101 frecvent ele divizate prin puterile lui 2, obt inute dup a celulele unui num ar ator modulo 24 , se pondereaz a n felul urm ator:
b3 21 fCLK ; b2 22 fCLK ; b1 23 fCLK ; b0 24 fCLK .

Utiliz and un num ar ator sincron, paralel, modulo 16, Figura 3.68-a, se realizeaz a cu port i AND, n exteriorul acestuia, circuitele care genereaz a frecvent e de ceas divizate dup a puterile lui doi. Pe aceste port i AND se introduc coecient ii binari b3 , b2 , b1 , b0 care pondereaz a subfrecvent ele respective. Funct iile implementate pe ecare poart a AND sunt 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 obt inute la ie sirile acestor port i AND sunt sumate printr-o poart a OR. Port ile AND1 si AND3 care sunt ponderate cu biti cu valoarea zero (b3 = 0, b1 = 0) au aport nul n succesiunea impulsurilor de ie sire. Se obt ine astfel, Figura 3.68-b, 5 impulsuri pe ie sire pentru 16 impulsuri de ceas aplicate la intrarea num ar atorului deci o multiplicare cu 5/16. Succesiunea de 5 impulsuri nu este uniform a, distant a ntre impulsuri este de patru iar uneori de dou a tacte de ceas. O distribut ie mult mai uniform a se obt ine c and se utilizeaz a ie sirea de transport de la un circuit acumulator (vezi Figura 3.74-c). Pe l ang a ie sirea O n

446
23 RCO
J Q Numarator sincron CLK paralel modulo16 Q K Q J Q

ATOR 3.4. CIRCUITE NUMAR


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 a si o intrare On1 pentru ca multiplicatorul cu coecient binar s a poat a nseriat cu alte circuite de acela si tip (pentru a cre ste valoarea modulo).

Automate pe baz a de num ar ator Num ar atorul sincron nsu si este un automat de tip Moore, bit ii de ie sire sunt identici cu bit ii de stare, Y Q (dac a nu se consider a si ie sirea CO); deci automatul este identic cu semiautomatul s au. Num ar atoarele presetabile sunt automate particularizate prin modul de asignare a st arilor: codicarea este n cod binar natural p an a la codul num arului 2 n 1 sau p an a la 9 (la cele BCD). Ideea simplicatoare, n realizarea unui automat, sugereaz a ca asignarea st arilor cu tranzit ii succesive ale automatului s a se fac a n codul binar natural, iar atunci pentru implementarea semiautomatului corespunz ator automatului s a e utilizat un circuit integrat num ar ator presetabil. Pentru cazurile c and n

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

447

graful de tranzit ie a automatului exist a tranzit ie ntr-o stare cu un cod care nu este n ordinea de num arare (dup a un bloc de decizie c and sunt dou a c ai de tranzit ie) acel cod trebuie fort at prin num ar atorul presetabil. Pentru o tranzit ie n afara or,, dinii de num arare, num ar atorului trebuie s a i se livreze dou a informat ii: codul st arii urm atoare ce trebuie nscris precum si semnalul de comand a al nc arc arii. In consecint a , pe baza produsului cartezian intrare-stare, X (t) Q(t), trebuie implementate dou a circuite combinat ionale, din care unul calculeaz a codul st arii urm atoare, iar cel alalt determin a activarea semnalului de nc arcare, care vor nchide dou a bucle n jurul num ar atorului presetabil, Figura 3.69.
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 a de num ar ator presetabil.

Prima bucl a, nchis a prin CLC2, determin a valoarea pe intrarea LOAD pentru comanda de nscriere. Recomandat pentru implementarea CLC2 este circuitul multiplexor pentru c a trebuie s a genereze o singur a ie sire (LOAD = 0 pentru nscriere, LOAD = 1 pentru ordinea natural a de num arare) pe baza codului st arii n care se a a semiautomatul, iar bit ii cuv antului de cod ai st arii prezente q(t) se folosesc ca biti de selectie pentru multiplexor. In plus intr arilor multiplexorului, care prin selectare devin semnalul LOAD, pot s a li se atribuie n afar a de constantele 1 sau 0 si valorile unei variabile de intrare. Determinarea valorii semnalului LOAD, n funct ie rezultatul test arii unei variabile ntr-un bloc de decizie, se realizeaz a prin conectarea variabilei testate ntr-o anumit a stare pe intrarea multiplexorului selectat a de cuv antul de cod al acestei stare. A doua bucl a, inclus a prin CLC1, calculeaz a bit ii de cod w n1 , wn2 , ..., w1 , w0 ai st arii urm atoare, n cazul c and nu este starea urm atoare q + (t) n ordinea normal a de num arare. Pentru CLC1 recomandarea este o implementare cu port i. Justicarea acestei recomand ari se bazeaz a pe faptul c a prin asignarea aleas a, pentru st arile semiautomatului, majoritatea tranzit iilor se efectueaz a ntre st ari care au coduri succesive n ordinea normal a de num arare, deci exist a put ine tranzit ii ntre coduri care

448

ATOR 3.4. CIRCUITE NUMAR

stric a aceast a ordine normal a. In consecint a , pentru multe cuvinte de cod ale st arii prezente q (t) bit ii st arii urm atoare q + (t), calculat i pe CLC1, sunt indiferent i pentru prescrierea num ar atorului. Existent a multor combinat ii de intrare pentru care ie sirile de la CLC1 sunt indiferente duce la o minimizare puternic a, deci la o implementare simpl a cu port i. Exemplul 3.24 Pentru semiautomatul descris prin organigrama ASM si asignarea xat a, din Figura 3.70, s a se realizeze o implementare. Solut ie. Se observ a c a pentru aceast a variant a (Varianta1) de asignare a st arilor, c and variabilele de intrare au valorile x1 = 1, x2 = 0, x3 = 1, se parcurg ciclic st arile q2 q3 q4 q5 q6 q0 q1 q2 ..., iar codurile parcurse sunt n ordinea de num arare n binar natural de la 000 p an a la 110; exist a un salt n cuv antul de cod de la 110 la 000 pentru calea de tranzit ie L2 (q1 q2 ). Mai exist a nc a trei c ai de tranzit ie L4 , L7 si L9 c and iar a si tranzit iile nu sunt n ordinea normal a de num arare. Deoarece din cele 10 c ai de tranzit ie pentru 6 dintre acestea se parcurg coduri succesive de num arare n binar se va utiliza pentru implementare circuitul num ar ator 74xx163/161. Tabelul de tranzit ie al st arilor, Figura 3.70-b, cont ine informat ia pentru sinteza celor dou a bucle ale semiautomatului. Deoarece sunt numai 7 st ari intrarea D3 a num ar atorului este permanent n 0. In coloana semnalului de nc arcare LOAD se introduce valoarea 0(activ) numai atunci c and codul st arii urm atoare w2 , w1 , w1 nu se obt ine din codul st arii prezente z2 z1 z0 plus 1, n rest LOAD=1(inactiv). Pentru sinteza semnalului LOAD intr arile x3 , x2 , x1 se introduc ca variabile reziduu. Bucla pentru nc arcarea num ar atorului este implementat a pe un MUX8:1. Pentru sinteza circuitului combinat ional din bucla ce calculeaz a bit ii D2 , D1 , D0 valorile acestor bit i sunt identice cu cele ale bit ilor st arii urm atoare D2 = w2 , D1 = w1 , D0 = w0 c and semnalul de nc arcare este activ, LOAD = 0, si cu valori indiferent c and LOAD = 1. In expresiile bit ilor D2 , D1 si D0 se pot introduce intr arile x3 , x2 , x1 ca variabile reziduu rezult and o sintez a n funct ie numai de variabilele de stare z2 , z1 , z0 . Dar aceste variabile reziduu pot substituite cu una din valorile logice 0 sau 1 deoarece, la ecare testare a unei variabile reziduu, numai una din cele dou a tranzit ii posibile determin a nc arcarea num ar atorului, pentru cealalt a valoare este indiferent (LOAD = 1). De exemplu, din starea prezent a q5 (011) se efectueaz a tranzit ia e la q5 , c and x2 =1, e la q6 (100), c and x2 =0, dar ultima tranzit ie este indiferent a pentru nc arcarea num ar atorului (LOAD=1). Rezult a c a n c asut a de coordonate z2 z1 z0 =011(q5 ) din diagramele V-K ale funct iilor D2 , D1 , D0 totdeauna se introduc respectiv valorile 0,1,1, Figura 3.70-d (nu exist a dou a valori diferite Di care s a e determinate de cele dou a valori ale lui x2 ). Din aceste 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 a de semiautomat este cea din Figura 3.70-c. Se mai propun nc a dou a variante de asignare a st arilor semiautomatului, ca n coloanele denumite Varianta2 si Varianta3 din tabelul ASM, pentru a face o comparat ie cu implementarea dup a Varianta1. Pentru Varianta2 si 3 nu se mai face sinteza buclei pentru deterand se utilizeaz a un circuit minarea comenzii LOAD deoarece o optimizare nu poate apare c standard(MUX8:1). In schimb, pentru bucla ce calculeaz a codul st arii urm atoare, pentru a c arei sintez a conteaz a num arul de st ari indiferente din diagrama V-K, este normal a se determina care asignare este mai potrivit a. Urm and aceea si procedur a de sintez a, ca si la Varianta1, se obt in 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 SECVENT IALE, 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 z 0 Simb w2 w1 w0 D2 D1 D0

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 num ar atorului 74xx163: a) organigrama ASM; b) tabelul combinat ASM; c) structura semiautomatului pentru Varianta1 de codicare; b,c) sinteza buclei pentru calculul st arii urm atoare corespunz ator Varianta1 si Varianta3 de codicare.

450

ATOR 3.4. CIRCUITE NUMAR

Se poate observa c a Varianta2, n raport cu celelalte dou a, realizeaz a o implementare mai simpl a pentru bucla ce calculeaz a starea urm atoare (utilizeaz a o singur a poart a NOR2). Varianta3 este cea mai put in simpl a, deoarece n expresiile care calculeaz a starea urm atoare intervin si variabilele de intrare; nici una din tranzit iile controlate de x1 si x3 nu sunt spre st ari ale c aror coduri s a se obt in a prin num arare.

3.4.2.2

Num ar atoare n cod arbitrar

Un circuit num ar ator modulo C este un automat Moore cu un graf ciclic, deci poate privit ca un identicator de clase de resturi modulo C . Asignarea st arilor se face, n general, n cod binar natural datorit a faptului c a n procesarea digital a n calculator numerele sunt reprezentate n sistemul de numerat ie binar rezult and num ar atorul binar sau n cod BCD-datorit a faptului c a n exteriorul calculatorului numerele sunt reprezentate n sistemul de numerat ie zecimal rezult and num ar atorul BCD. Dar, asignarea st arilor automatului num ar ator, Figura 3.61, se poate realiza n oricare cod, rezult and num ar atorul n cod oarecare. Sinteza unui num ar ator n cod oarecare nu difer a cu nimic de sinteza unui automat. In anumite aplicat ii(evitarea aparit iei glitch-ului prin decodicare, utilizarea direct a f ar a decodicator, o anumit a secvent a parcurs a) se justic a alegerea unui anumit cod. Exemplul 3.25 S a se realizeze, pe trei celule bistabil JK, un num ar ator n cod Gray. Solut ie. Codurile progresive au proprietatea c a la trecerea ntre dou a cuvinte de cod succesive se va schimba doar un singur bit. Pentru cele 16 cuvinte pe patru bit i se pot forma un num ar de 55 de coduri progresive distincte, dintre acestea cel mai utilizat este codul binar reectat( n raport cu o linie dus a dup a 2i cuvinte de cod, cuvintele de cod de (i + 1) bit i de dup a linie sunt imaginea n oglind a a cuvintelor de cod de (i + 1) bit i dinainte de linie) este codul Gray. Pornind de la tabelul de tranzit ie al st arilor codicate n cod Gray, Figura 3.71-a, se deduc diagramele de V-K pentru bit ii st arii urm atoare w2 , w1 , w0 , apoi acestea pe baza tabelului de excitat ie al bistabilului JK, Tabelul 3.4, se convertesc n diagramele V-K, Figura 3.71-b,c si d ale funct iilor de excitat ie JQ2 , KQ2 ; JQ1 , KQ1 ; JQ0 , KQ0 av and urm atoarele expresii 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 num ar atoarelor n alte coduri de num arare se face n aceea si modalitate.

Dar exist a si o alt a abordare a unui num ar ator modulo C ntr-un cod oarecare, prin utilizarea unui num ar ator modulo C ntr-un cod uzual (realizat cu un circuit num ar ator presetabil) c aruia i se ata seaz a un circuit de ie sire, CLC2 din Figura 3.8-c, care realizeaz a funct ia de convertor din codul uzual folosit n codul oarecare. In Figura 3.71-f este structurat a un num ar ator n cod Gray pe baza unui num ar ator modulo 256, n cod binar natural, plus o memorie ROM care cont ine tabelul de conversie binar-Gray. Aceast a abordare, n raport cu cea anterioar a, are o vitez a de num arare mai redus a, dar n schimb, prezint a o mai mare exibilitate, poate implementat un num ar ator n orice cod numai prin schimbarea tabelului de conversie din ROM.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 Num ar ator n cod Gray: a,b,c,d,e) fazele n procesul de sintez a, pornind de la tabelul de tranzit ie al st arilor p an a la structura de circuit num ar ator; f) structurarea pe baz a de circuit num ar ator binar modulo 256 plus convertor binarGray nscris n memorie ROM.

452

3.5. CIRCUITE REGISTRU

3.5

CIRCUITE REGISTRU

La nivel de bit suportul zic pentru stocare/memorare, sincronizare, cuplare si izolare este circuitul bistabil. La nivel de cuv ant, denit ca o succesiune de n bit i, suportul zic pentru funct iile de: stocare/memorare, cuplare,sincronizare si izolare/separare este un circuit compus din n circuite bistabil referit ca circuit registru sau, uzual, registru. Odat a nscris a informat ia de un bit ntr-un bistabil aceasta este disponibil a a citit a; la fel si la un registru, cuv antul nscris poate citit n continuare. Intr-o exprimare proprie sistemelor de procesare a informat iei, unde informat ia este mpachetat a sub form a de cuvinte, un registru este referit prin termenul general de port. In aceast a exprimare intr arile de date, prin care se nscrie o informat ie/cuv ant ntr-un registru, constituie un port de intrare, iar ie sirile de date din registru constituie un port de ie sire. In funct ie de modul cum se realizeaz a conexiunile pentru extensia de la circuitul bistabil la organizarea de circuit registru exist a: registru paralel, registru serie si combinat ii ntre acestea serie-paralel si paralel-serie. Dar, pentru toate tipurile de registru, exist a un parametru comun lungimea registrului, adic a num arul de celule bistabil care l compun. Circuitul registru, ca suport zic pentru funct iile enumerate mai sus, constituie o component a fundamental a n arhitectura si implementarea sistemelor digitale. Registrul este un circuit simplu, ca denit ie, si cu o dimensiune de ordinul O(n). Dar ind, n fond, o structurare ordonat a de circuite bistabil, n consecint a , supus unei regularit a ti de layout, rezult a c a implementarea sa nu ridic a dicult a ti. In sect iunile urm atoare se vor prezenta tipurile de circuite registru evident iind logica structur arii acestora, precum si unele aplicat ii care au un grad ridicat de generalitate.

3.5.1

Registru paralel

Registrul paralel are o structurare simpl a obt inut a doar prin considerarea n paralel a n celule bistabil, uzual de tip D; n afar a de semnalul de ceas comun pentru toate celulele poate s a nu existe nici o alt a conexiune ntre celulele bistabil, Figura 3.72-a. Cuv antul pentru nscriere/( nc arcare) se aplic a pe intr arile de date Dn1 , Dn2 , ..., D1 , D0 portul pe intrare si odat a nc arcat, prin aplicarea semnalului de ceas, cuv antul este accesibil permanent pe ie siri Q n1 , Qn2 , ..., Q1 , Q0 portul de ie sire dac a aceste ie siri nu sunt de tip TSL. In general, registrul poate genera at at variabile negate, QN , c at si cele nenegate, Q. Aceasta explic a de ce la implementarea unei funct ii FNC sau FND, pe un circuit combinat ional, se consider a numai dou a niveluri logice si nu trei de si sunt utilizate at at variabile negate c at si nenegate. Al treilea nivel pentru negarea unor variabile, situate la intrarea n circuit, nu este necesar deoarece at at variabilele negate c at si cele nenegate sunt obtenabile de la registrul n care s-a stocat cuv atul de intrare. Pentru a spori exibilitatea n utilizare, a structur arii simple prezentate anterior, registrului i se adaug a anumite semnale de control, specicate pe schema bloc de registru reprezentat a n Figura 3.72-b. In primul r and, un registru trebuie s a prezinte obligatoriu un semnal de nc arcare, LOAD (LD), care n general este semanlul de ceas, activ pe front (sau pe palier dac a registrul este realizat cu latch-uri). Uneori, pentru nscriere, n conjuct ie cu semnalul LOAD, mai trebuie activat si un semnal de

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a (cu n celule statice); b) reprezentare simbolic a; structur a de registru cu n celule n care se evident iaz a modul de aplicare a semnalelor de control.

validare, ENable. Pentru facilitatea de stergere a cont inutului registrului, n afar a de nscrierea cu zero, poate exista un semnal de stergere, CLEAR, care de fapt este o activare comun a a tuturor intr arilor asincrone CLEAR ale celulelor bistabil. De asemenea, pentru a se putea realiza conectarea mai multor registre, la liniile acelea si magistrale, ie sirile acestora sunt de tip TSL, deci trebuie s a existe o validare a ie sirii OE (Output Enable). Toate aceste semnale de control, deoarece se aplic a la n celule, trebuie buerate la intrarea n circuitul registru (pentru ca semnalele n exterior sunt e comandate doar ca o singur a unitate de sarcin a de nc arcare). In Figura 3.71-c pe structura unui registru paralel de n bit i sunt ad augate semanlele de control. Semnalul de nc arcare, LOAD, este semnalul de ceas, iar semnalul de stergere este semnalul asincron CLEAR. Activarea semnalului validare ie sire, OE = 0, va comanda trecerea buerului de ie sire TSL din starea de nalt a impedant a n starea normal a de funct ionare, deci ie sirea (la magistral a) este cuv antul nscris n registru Qn1 , Qn2 , ..., Qi , ..., Q1 , Q0 . C and OE = 1, buerul TSL nu este activat, la ie sirea registrului la magistral a

454

3.5. CIRCUITE REGISTRU

este cuv antul existent pe magistral a ODn1 ODn2 . . . ODi . . . OD1 OD0 . Intrarea de date D a ec arei celule bistabil Di , 0 i n 1, este conectat a, printr-un MUX4:1, n funct ie de cuv antul de selectare EN=S1 S2 la una din urm atoarele patru surse de date: 1. pentru EN = 00, Di = Qi , la ecare impuls de ceas bistabilul se re ncarc a cu valoarea deja nscris a; 2. pentru EN = 01, Di = 1Di , la ecare impuls de ceas bistabilul se ncarc a cu valoarea 1Di de la sursa 1; 3. pentru EN = 10, Di = 2Di la ecare impuls de ceas bistabilul se ncarc a cu valoarea 2Di de la sursa 2; 4. pentru EN = 11 si OE = 1 Di = 0Di , la ecare impuls de ceas bistabilul se ncarc a cu valoarea ODi existent a la ie sirea pe magistral a. Evident, c a prin relat ia S1 S2 OE = 0 buerul TSL este n starea de nalt a impedant a , deci ie sirea Q a bistabilului nu se aplic a la ie sire pe magistral a; In tehnologie MOS si CMOS, uzual, registrele se realizeaz a cu celule dinamice; astfel se obt ine consum redus de putere si densitate de integrare m arit a. Structuri dinamice de latch D si bistabil D sunt prezentate respectiv n Figurile 3.40-b si 3.45-b.
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 b anci de 2k registre cu lungime de cuv ant de n bit i, dublu port pe ie sire (cu evident ierea decodic arii pe intrare, pentru nscriere, si select arii pe ie sire, pentru citire)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

455

Pentru m arirea capacit a tii de stocare, la mai mult de un cuv ant, un num ar 2 k k registre sunt grupate form and o banc a de registre; ecare din cele 2 registre put and selectat at at pentru nscriere c at si pentru citire. In Figura 3.73 este structurat a o banc a de 2k registre, ecare dintre registre av and lungimea de n bit i, capacitatea total a total a este (2k n). Cuv antul de n bit i de pe magistrala rezultat se va nscrie n acel registru pentru care semnalul de ceas devine activ, semnal format prin conjunct ia ntre semnalul de nc arcare LOAD si ie sirea de la DCDk :2k , selectat a prin cuv antul Selectare registru. Banca de registre este dublu port pentru a putea citite simultan dou a registre, adic a pe ecare din cele dou a magistrale 1 si 2 se aplic a cont inutul unui registru. Un grup de nMUX2k :1, prin care este selectat unul din cele 2k registre ca port de ie sire (conectare la magistral a), are organizarea similar a ca n Figura 2.36 (acolo este o notat ie inversat a, un grup de 2n registre ecare cu lungimea de k bit i).Aceast a detaliere, a modului de operare asupra unei b anci de registre, completeaz a descrierea c aii de date prezentat a n Figura 2.73.

3.5.2

Circuitul acumulator

Se obt ine o structur a hibrid a printr-o jonct ionare a celulelor bistabil ale unui registru paralel cu lungimea de n bit i 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 cuv antului X = xn1 xn2 . . . xi . . . x1 x0 , aplicat din exterior; bitul Qi nscris n celula i a registrului si bitul de transport Ci1 , de la celula sumator complet anterioar a. Aceast a celul a sumator complet, de pondere 2i , va genera bitul sum a si = Ci1 Qi xi si bitul transport urm ator Ci = Qi xi + Qi Ci1 + xi Ci1 , care se aplic a la celula sumator complet de rang i + 1, ca bit de transport anterior; iar la aplicarea urm atorului impuls de ceas (t+1) bitul sum a calculat si (t) se nscrie n celula i a registrului, deci Qi (t + 1) = si (t). Extinz and la lungimea de n bit i, la impusul de ceas (t+1) n registru se nscrie suma aritmetic a modulo 2 rezultat a ntre: cont inutul anterior din registru, Q(t) = Q( n 1)(t)Qn2 (t)...Qi (t), ..., Q1 (t)Q0 (t); cuv atul aplicat din exterior, X (t) = xn1 (t)xn2 (t), ..., xi (t), ..., x1 (t)x0 (t) si transporturile anterioare Cn2 (t), Cn3 (t), ..., Ci1 (t), ..., C1 (t), C0 (t), C1 (t). In cazul n care valoarea init ial a a cuv antului n registru este zero Q(0) = 0, transportul anterior C1 = 0, iar cuv antul extern X este constant n timp, n registru rezult a o sumare repetat a a cuv antului extern, dup a k impulsuri de tact se obt ine valoarea kX modulo 2n . Apare evident faptul c a circuitul acumulator este un automat, la care partea combinat ional a este format a din celule sumator (3, 2), de aceea, uneori, cuv antul de ie sire va notat ca un cuv an de stare cu z 3 z2 z1 z0 . Bazat pe aceast a funct ionare, de sumare repetat a modulo2 n , circuitul acumulator poate utilizat pentru modelarea funct ion arii num ar atorului sincron modulo2 n direct sau invers n oricare cod. De exemplu, pentru acumulatorul cu trei celule, n=3, pornind din starea init ial a Q(0) = Q2 Q1 Q0 = 000 si C1 = 0, cu un cuv ant aplicat din exterior X = 001, se obt ine o succesiune de num arare n sens direct, coloana a doua din Figura 3.74-c, corespunz atoare num ar atorului sincron modulo 8 n cod binar natural. Modicarea funct ion arii de num ar ator sincron modulo 8, n sens invers, n cod binar natural, se obt ine pornind din starea init ial a Q(0) = 0 cu X = x 2 x1 x0 = 111

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 a de acumulator cu patru celule; b) reprezentare simbolic a; c) analiza a trei exemple de num ar ator modelate pe baz a de acumulator.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

457

si C1 = 0, coloana a treia din gura 3.74-c. Pentru modelarea unor num ar atoare n alte coduri de num arare este necesar, uneori, s a se ata seze n exterior un decodicator, realizat cu port i logice, pentru decodicarea unui anumit cuv ant de cod din registru si, eventual, s a se modice valoarea cuv antului X aplicat din exterior(vezi problemele P3.73 si P3.74). Pe un acumulator se poate modela orice proces care poate exprimat prin operat ii de: adunare, sc adere, deplasare st anga/dreapta sau nc arcare (fort are a unui cuv ant exterior). De fapt, acumulatorul este un circuit de calcul pentru prexe sum a modulo 2 n cu o funct ie generic a f = (X + X )modulo2n ; de exemplu pentru n = 3 se pot scrie relat iile 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 relat ia generalizat a pentru acumulator cu n celule se scrie
2n

(
1

X ) modulo 2n = 0

(3.44)

Relat ia 3.44 arat a c a circuitul acumulator funct ioneaz a ca un num ar ator de Xtuple pe un interval/(perioad a) de 2n impulsuri de ceas. Altfel spus, pornind din starea init ial a Q(0) = 0 si C1 , pentru cuv antul X aplicat din exterior, acumulatorul va genera (se va umple) semnalul de transport urm ator C O de un num ar X ori pentru 2n impulsuri de ceas aplicate. In Figura 3.74-c, coloanele 5 si 7, este realizat cazul unui acumulator cu n=4, pentru X = 5; se observ a c a se genereaz a de cinci ori semnalul CO = 1 pe durata a 16 impulsuri de ceas, deci o multiplicare cu 5/16 a frecvent ei de ceas (Aceste impulsuri sunt reprezentate, comparativ cu cele generate de un multiplicator cu coecient binar, n Figura 3.68-b; se observ a c a distribut ia lor n timp este mai uniform a dec at cea obt inut a de la un multiplicator binar). Cu circuitul acumulator se pot realiza multiplicatoare cu un coecient fract ionar 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 a, n timp real, valorile unor funct ii (ridicarea la o putere, r adacin a p atrat a, log 2 , funct ii trigonometrice de num arul de impulsuri NCLK ). Aceste valori sunt disponibile imediat ce se prime ste impulsul de intrare. Exemplul 3.26 S a se realizeze o structur a de circuit pe baz a de acumulatoare care 2 . s a calculeze p atratul num arului de impulsuri aplicate, NCLK 2 Solut ie. Not and cu Sn =NCLK si Sn+1 =(NCLK + 1)2 se deduce relat ia recurent a
Sn+1 = (NCLK + 1)2 = Sn + 2NCLK + 1 Dac a se cunoa ste deja valoarea p atratul Sn , prin adunarea la aceast a valoare a dublului num ar de impulsuri aplicate, 2NCLK , plus 1, atunci la aplicarea urm atorului impuls de ceas

458

3.5. CIRCUITE REGISTRU

se genereaz a valoarea Sn+1 . Structurarea pe baz a de acumulatoare care realizeaz a acest calcul este prezentat a n Figura 3.75-a. Acumulatorul Acc Q2 opereaz a ca un sumator de acumulare cu C1 = 1 deci un num ar ator n cod biar natural pentru num arul impulsurilor 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 p atratului num arului de impulsuri recept ionate N CLK : a) structur a de circuit pe baz a de acumulatoare; b) modicarea cont inuturilor acumulatoarelor pentru aplicarea succesiv a a patru impulsuri de intrare, N CLK = 4.

Acc Q1 , pe ale c arui intr ari se aplic a dublul num arului de impulsuri deja recept ionate 2NCLK ( nmult irea cu 2 se obt ine prin deplasarea cu un rang spre st anga a celulelor lui Acc Q2 fat a de Acc Q1 ) plus 1 (este transportul anterior, C1 = 1) la aplicarea urm atorului impuls prin sumare a 2NCLK + 1 la Sn (deja existent a n Acc Q1 ) va genera la ie sire codul binar z3 z2 z1 z0 pentru valoarea lui (NCLK + 1)2 . Analiza modic arii cont inuturilor pentru 4 impulsuri aplicate succesiv n cele dou a acumulatoare este prezentat a n Figura 3.75-b; pentru valori care necesit a o exprimare pe mai mult de patru bit i se extinde num arul de celule pe acumulatoare.

3.5.3

Structura pipeline

Structura pipeline (conduct a) este un suport hardware pentru a reduce timpul de procesare pe un CLC. Procesarea clasic a a unui ux de date pe un CLC presupune o organizare ca cea prezentat a n Figura 3.76. Un e santion de date este nscris, prin activarea semnalului de ceas, n registrul de intrare R 1 si aplicat pe intr arile CLC, apoi la urm atorul semnal de ceas, datele procesate n CLC sunt stocate n registrul de ie sire R2 . Perioada minim a TCLK trebuie s a e mai mare dec at suma timpilor: 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 ie sire. TCLK (min) pR + pCLK + SU (3.45)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

459

Deoarece timpii de nt arziere cauzat i de registre (valori tipice pR 15 30 ns, SU 5 15 ns) mai pot redu si doar de mbun at a tiri tehnologice, apare evident faptul c a m arirea ratei de procesare a uxului de date se poate realiza numai printro mic sorare a propag arii pCLC (care depinde de complexitatea ret elei CLC, pentru calcule de tip aritmetic CLC poate avea valori n intervalul 150 300 ns). Uneori, funct ia de procesare pe CLC poate privit a ca ind compus a dintr-o succesiune de n subfunct ii, ecare subfunct ie put and implementat a respectiv pe c ate un circuit independent CLC1 , CLC2 , ..., CLCn cu timpii de propagare pCLC1 , pCLC2 , ..., pCLCn . Conform acestei abord ari, se poate structura o nseriere a acestor n circuite CLC i , interfat ate prin c ate un registru (registru pipe), pentru a aplica datele de intrare respectiv pentru a stoca datele de ie sire aceasta ind structurarea de tip pipeline av and n etape de procesare, Figura 3.76-b.
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 a); b) structura unui pipe cu n etape de procesare; semnale de ceas pentru sincronizarea n pipe (c) cu o singur a faz a (pe front) si (d) cu dou a faze 1 si 2 (pe palier) Inscriind un set de date, xk1 , xk2 , ..., x1 , x0 , n primul registru pipe, R1 , pe frontul activ al semnalului de ceas, acestea vor apoi procesate si stocate succesiv n toate celelate (n 1) etape din pipe, iar dup a (n 1) tacte se obt in datele de ie sire, yp1 , yp2 , ..., y1 , y0 . Dac a uxul de date aplicat pe intrare este continuu, dup a intervalul de timp n tacte de ceas latent a n pipe (timpul de umplere al conductei), la ecare urm ator tact se obt ine un set de date prelucrate la ie sire. Perioada minim a a impulsului de tact se calculeaz a tot cu relat ia 3.45 dar, de data aceasta, se consider a timpul de propagare maxim (care corespunde subfunct iei 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)

si n ipoteza c a toate registrele pipe sunt identice, deci au acelea si valori pentru SU si pR . In raport cu procesarea clasic a (non-pipe) la procesarea de tip pipeline se obt ine o cre stere de vitez a egal a cu raportul timpilor calculat i dup a relat iile 3.46 si 3.47, dar aceast a cre stere de vitez a se obt ine numai dup a ce primul set de date a ie sit din ultima etap a iar uxul de date la intrarea n prim a etap a este continuu. Dac a uxul de date nu este continuu, cu ntreruperi frecvente, deci la ecare reumplere a pipe-ului se consum a un timp egal cu latent a n pipe, atunci se poate ajunge la un timp mediu de procesare mai mare dec at la procesarea non-pipe! Relat ia de timp 3.46, ntre perioada tactului de ceas si timpii dintr-o etap a a pipeului, este explicitat a grac n Figura 3.76-c, c and semnalul de ceas este activ pe frontul pozitiv. C and registrele pipe sunt realizate din latch-uri D comanda se efectueaz a pe palier cu dou a semnale 1 si 2 , defazate si nesuprapuse, Figura 3.76-d; iar datele n pipe curg, alternativ, din etape cu num ar impar n etape cu num ar par, comandate alternativ de cele dou a faze 1 si 2 . O uniformizare a implement arii unei implement ari de tip pipe se poate obt ine dac a, n ecare etap a, pentru CLC-ul este utilizat a o aceea si structur a programabil a care se programeaz a pentru operat ia specic a OPi cerut a n etapa i de procesare printr-un cuv ant de control cu m bit i. Un astfel de CLC programabil poate un MUX2 m :1, m programat s a genereze una din cele 22 funct ii de m variabile. Intr-o etap a din pipe se poate sc adea timpul de propagare p ana la patru niveluri logice, un AND-OR pe CLC si nc a dou a niveluri dac a registrul pipe este un registru latch. Totu si, exist ao variant a prin care timpul se poate reduce chiar p an a la dou a niveluri de propagare, care acoper a at at propagarea c at si memorarea, dac a se utilizeaz a latch-uri Early, Figura 3.41. Organizarea de tip pipeline este modul comun pentru structurarea c aii de date a microprocesoarelor actuale. Execut ia unei instruct iuni (ciclul de execut ie ) se descompune n n subcicluri, deci calea de date se granuleaz a n n etape succesive de procesare. Dac a se reu se ste alimentarea continu a cu instruct iuni n calea de date atunci viteza de procesare a microprocesorului cre ste (teoretic!) de n ori fat a de un procesor o cu cale de date non-pipe.

3.5.4

Registrul de deplasare

Registrul de deplasare, la fel ca si registrul paralel, este o structur a simpl a ce se obt ine prin nserierea de celule bistabil, uzual de tip D, de unde si denumirea de registru de deplasare serie sau, mai frecvent, registru serial. In Figura 3.77-a este prezentat a organizarea unui registru, prin nserierea a patru celule bistabil D, precum si funct ionarea sa la aplicarea pe intrarea serie a cuv antului X = 1011. Consider and init ial cont inutul registrului Q 4 Q3 Q2 Q1 = 0000 la primul impuls de ceas, pe front pozitiv, bitul cel mai semnicativ, MSB, este introdus n celula Q1 , deci cont inutul registrului serial este Q 4 Q3 Q2 Q1 = 0001. La al doilea impuls de ceas, cont inutul din prima celul a, Q 1 = 1, este transferat n celula a doua, deci Q2 = 1, iar n prima celul a se nscrie valoarea bitului urm ator dup a MSB, deci

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 si funct ionarea unui registru de deplasare cu patru celule (n = 4); b) registru de deplasare, n = 4, pe baz a de inversoare dinamice cu raport; c) simbol pentru registru de deplasare compus din n celule (ca ret ea digital a de nt arziere)

462

3.5. CIRCUITE REGISTRU

Q1 = 0, rezult and cont inutul registrului Q4 Q3 Q2 Q1 = 0010. La al patrulea impuls de ceas ntreg cuv antul 1011 a fost deja introdus n registru iar cont inutul acestuia este Q4 Q3 Q2 Q1 = 1011; valoarea MSB este disponibil a la ie sirea serie. Incep and cu al cincilea impuls de ceas, transferul serial celul a dup a celul a se continu a, bitul din celula Q4 se pierde, ind nscris cu bitul care a fost n celula Q 3 , la fel si n celula Q1 , se nscrie valoarea Q1 = 0, deoarece cuv antul X = 1011 aplicat pe intrare a fost deja introdus. Pe tactele de ceas 4, 5, 6, 7 pe ie sirea serie se obt ine cuv antul Y care este identic cu cuv antul X aplicat pe intrarea serie pe tactele 1, 2, 3, 4, deci dup a un interval de patru tacte, la al optulea tact cont inutul registrului va din nou Q4 Q3 Q2 Q1 = 0000. Pe un registru serial de n celule transferul unui bit, aplicat pe intrare si p an a la iesire, se face pe durata a n perioade de ceas, iar transferul p an a la o iesire intermediar a i, 1 i < n, necesita i perioade de ceas. Formal, transferul prin registrul serial poate exprimat n felul urm ator: 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 cuv antul X , aplicat pe intrarea serie la momentul t. Fizic, transferul corect prin registrul serial, pe durata unui tact, bitul de la celula Qi la celula Qi+1 , poate realizat numai dac a timpul de ment inere de la celula urm atoare, Qi+1 , este mai mic dec at timpul de propagare pe celula anterioar a, Q i , H(Qi+1 ) < pCQ(Qi) . Dac a aceast a condit ie nu este ndeplinit a nseamn a c a semnalul pe intrarea de date al celulei Qi+1 , care este semnalul de ie sire de la celula anterioar a, se modic a n fereasta de decizie (relat ia 3.23, Figura 3.46 a si b). La bistabile este ndeplinit a relat ia H < pCQ deci, dac a registrul serial se realizeaz a cu acela si tip de registre, atunci este realizat a condit ia anterioar a de transfer corect. Dac a celulele registrului serial sunt latch-uri, care sunt transparente pe durata palierului activ de ceas, atunci un bit este transferat continuu nspre ie sire din celul a n celul a c at timp se ment ine activ palierul semnalului de ceas. Pentru implement arile integrate, mai ales pentru num ar de celule de valoare ridicat a, sunt recomandate structurile de registre serie pe baz a de celule dinamice.Toate astfel de registre dinamice se comand a prin dou a semanle de ceas 1 , 2 , Figura 3.76-d, nesuprapuse si aplicate alternativ. In Figura 3.77-b este prezentat un registru serie cu patru celule, ecare celul a ind un invers dinamic cu tranzistoare nMOS. Pentru mic sorarea puterii disipate tranzistoarele de sarcin a, T 3 , T6 , T9 si T12 , sunt n conduct ie numai pe durata palierului 2 . Pe durata palierului activ 1 , valoarea tensiunii de intrare, corespunz atoare bitului x(t) aplicat pe intrarea serie, este transferat a, prin tranzistorul de trecere T1 , condensatorului Cin1 , de pe intrarea primei celule 1. Valoarea tensiunii pe Cin1 , dup a anularea semnalului 1 , nu trebuie s a ias a din intervalul VH (ori VL ) p an a la activarea semnalului 2 . La activarea lui 2 , tranzistorul T3 intr a n conduct ie, condensatorul C01 de pe iesirea primului inversor se ncarc a la tensiunea corespunz atoare care, prin tranzistorul de trecere T 4 , comandat n conduct ie tot de 2 , este transferat a ca tensiune de nc arcare si pe condensatorul Cin2 de pe intrarea celulei a doua. C and semnalul 1 devine din nou activ tensiunea de pe C02 , corespunz atoare tensinii de pe Cin2 , este transferat a pe condensatorul Cin3 de la intrarea celulei a treia si de asemenea, tensiunea corespunz atoare urm atorului bit de pe intrarea x(t + T ) este transferat a condensatorului C in1 , de la intrarea primei

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

463

celule. Sunt comandate succesiv: nt ai toate celulele cu num ar impar cu faza 1 , apoi toate celulele cu num ar par cu faza 2 . Registrul serie dinamic prezentat mai este referit si ca registru serie dinamic cu raport. Termenul de raport specic a faptul c a n layout-ul inversorului trebuie realizat a o anumit a valoare a raportului ntre coecientul W/L al tranzistorului inversor si coecientul W/L al tranzistorului de sarcin a. Numai realiz and un anumit raport tensiunea de ie sire V0L a etajului inversor, de pe condensatorul C0 , care se transfer a prin tranzistorul de trecere ca tensiune de intrare la inversorul urm ator, poate nc arca Cin la o valoare n intervalul VL ; tensiunea corespunz atoare pe intrarea inversorului este n intervalul VH . Se pot realiza celule de inversor dinamic si far a raport. La un inversor far a raport un semnal de ceas comand a tranzistorul de sarcin a si simultan tranzistorul de trecere care ncarc a capacitatea de pe propria intrare, si nu tranzistorul de trecere care ncarc a intrarea inversorului urm ator cum este la structura cu raport; ncercat i s a desenat i aceast a structurare. O structur a de registru serial CMOS dinamic , se poate obt ine simplu prin nserierea de celule ca cea prezentat a n Figura 1.54-b; trebuie ca cele dou a port i de transmisie corespunz atoare la dou a inversoare succesive s a e comandate una cu 1 /2 iar cealalt a cu 2 /1 . Registrul serie, n funct ionarea corect a, poate realiza nt arzieri controlate, de multiplii ai perioadei semnalului de ceas, ntre semnalul aplicat pe intrarea serie si momentul obt inerii acestuia la ie sirile diferitelor celule componente, deci poate considerat echivalentul, n digital, al liniei de nt arziere analogic a cu nt arzieri multiple. Daca se exprim a operat ia de nt arziere cu o perioad a de ceas, a unui bit b printr-o celul a a registrului, cu simbolul (operatorul) Db, iar operat ia 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 a pentru un registru serie cea din Figura 3.77-c. Bitul b aplicat pe intrare devine ie sirea Q i dup a i operat ii de nt arziere: Qi = D i b, 1 i n, D 0 b = Ib = b (3.48)

unde I este operatorul unitar (identic). Pentru un cuv ant X cu lungimea de n bit i X = bn bn1 . . .b2 b1 introdus bit dup a bit, ncep and cu cel mai semnicativ, bn , prin aplicarea succesiv a a unui num ar de n tacte, ntr-un registru de deplasare cu n celule, conform relat iei 3.47 se poate adopta o exprimare polinomial a (dup a puterile lui D) X = bn Dn + bn1 Dn1 + . . . + b2 D2 + b1 D1 (3.49)

cont inutul celulelor bistabil ind: Qn = bn , Qn1 = bn1 ,. . . , Q2 = b2 si Q1 = b1 . Deoarece tactul de ceas se aplic a sincron la toate celulele, analiza cont inutului registrului, valorile Qi , se consider a numai pe durata dintre fronturile active de ceas ,, (interval numit uneori dit ). ,, Registru, intuitiv, poate considerat ca o lup a sub care intr a sirul X n devenire spre sirul Y . In aceat a abordare, registrul de deplasare serie poate utilizat pentru o implementare alternativ a a automatelor de identicare a anumitor secvent e. Exemplul 3.27 Automatul cu graful de tranzit ie din Exemplul 3.3 s a se implementeze pe baz a de registre de deplasare. ,, Solut ie. C and n sirurile de bit i de intrare x1 , x0 , intrate sub lupa a dou a registre de deplasare, se identic a secvent a de perechi 00, 00, 11, 10 si se genereaz a ie sirea y = 1.

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 a, pe baz a de registru de deplasare, pentru un automat de identicare de secvet e.

Implementarea corespunz atoare este cea din Figura 3.78; dou a registre serie de patru celule, unul pentru sirul intr ari x1 , altul pentru sirul intr ari x2 , iar ie sirile lor se compar a ,, permanent pe o ret ea de port i AND. In raport cu implementarea clasic a de automat, unde este necesar un registru de stare cu trei celule plus partea de CLC, aceast a implementare necesit a mai mult a circuistic a dar, n schimb, se elimin a efortul de sintez a pentru automat, structurarea ind intuitiv a si imediat a.

Registru inel. Structura de registru inel se obt ine dintr-un registru de deplasare la care ie sirea serie se conecteaz a la intrarea serie, deci se nchide o bucl a de react ie n jurul registrului de deplasare. La un registru inel cuv antul init ial, nu este pierdut prin deplasarea sa ci, este recirculat n interiorul inelului. Exprimarea formal a a transferului ciclic se obt ine, prin adaptarea relat iilor (3.47) la existent a react iei, n felul urm ator: Qi (t + T ) = Qi1 (t) CLK, Q1 (t + T ) = Qn (t) CLK. (3.50)

O structur a de registru inel, compus din patru celule bistabil D, este prezentat a n Figura 3.79-a. In general, ntr-un registru inel se fort eaz a init ial, prin intr arile asincrone CLEAR si PRESET ale celulelor, un cuv ant care are numai bitul cel mai put in semnicativ egal cu 1, restul bit ilor sunt zerouri. Prin deplasarea acestui cuv ant bitul cu valoarea 1 va ocupa toate cele n pozit ii din registru, iar dup a n impulsuri de tact bitul cu valoarea 1 ajunge n pozit ia init ial a. Aceast a deplasare liniar a poate asociat a cu funct ionarea unui num ar ator modulo n, dup a n impulsuri se ajunge la acela si cont inut n inel, de unde si denumirea, uneori, de num ar ator n inel. Pentru 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 urm atoare se calculeaz a din starea prezent a cu ajutorul relat iilor (3.50) care de fapt sunt funct iile de excitat ie (pentru uniformitate, n tratare ca automat, cuv antul de stare este notat si prin z4 z3 z2 z1 .

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a de registru inel cu patru celule (n = 4); b) diagrama semnalelor de faze generate de un registru inel cu n = 4; c) structur a de num ar ator Johnson cu n = 4 si succesiunea normal a a cuvintelor n procesul de num arare (e); d) decodicatorul de faze pentru un num ar ator Johnson cu n = 4 si diagrama corespunz atoare pentru semnalele de faz a (f).

466

3.5. CIRCUITE REGISTRU

Nu se recomand a utilizarea unui num ar ator n inel n raport cu un num ar ator clasic n cod binar, deoarece primul necesit a n celule bistabil pe c and al doilea numai log 2 n celule bistabil. Totu si, num ar atorul inel poate utilizat pentru producerea dintr-o secvent a de n impulsuri de ceas a unui num ar de n semnale defazate si nesuprapuse ecare cu frecvent a 1/n, adic a pentru realizarea unui generator de faze. Registrul inel prin modul s au de funct ionare este un generator de faze, ecare bit z i , 1 i n, al cuv antului de stare este o faz a Fi ; n Figura 3.79-b sunt prezentate fazele generate de un registru inel cu n = 4. Uneori, n registrul inel este recirculat un compact de m 1-uri n interiorul cuv antului de n bit i. Pentru aceast a funct ionare se pot genera cele n faze printr-un sistem de port i AND cu dou a intr ari; poarta care genereaz ao faz a la un moment dat are o intrare conectat a la celula care indic a primul bit 1 din compact, iar cealalt a intrare la celula care indic a ultimul bit din compact. Uzual, un generator de n faze se structureaz a dintr-un num ar ator modulo n care comand a un decodicator cu log2 n intr ari si n ie siri; ie sirea i a decodicatorului ind faza Fi . Dar, deoarece ie sirile num ar atorului nu comut a simultan, chiar si la un num ar ator sincron!, iar decodicatorul poate introduce hazard, n ie sirile decodicatorului/(faze) se produc glitch-uri. Pentru eliminarea glitch-urilor ie sirile decodicatorului sunt introduse intr-un registru, comandat pe nc arcare cu un semnal complementat fat a de semnalul de ceas care este aplicat num ar atorului, deci semnalele ,, de faz a de la ie sirea registrului sunt curate dar si generate cu nt arziere fat a de num arul corespunz ator din num ar ator. Evident c a, n raport cu aceast a structurare de generator de faze, simplitatea generatorului de faze cu registru inel este preferat a. Num ar atorul n inel, analizat ca automat, utilizeaz a din cele 2 n st ari posibile doar n st ari, restul de (2n n) st ari sunt ilegale pentru funct ionarea sa. Dac a automatul ajunge accidental, de exemplu, la aplicarea tensiunii sau datorit a zgomotului, intr-o stare ilegal a poate r am ane un timp indenit n starea respectiv a, sau se realizeaz a un ciclu ntre st ari ilegale pe care le parcurge, la fel, indenit. De exemplu, pentru un num ar ator n inel cu patru celule (n = 4), modulo 4, care are numai 4 st ari normale, la funct ionarea normal a se parcurge ciclul compus din urm atoarea succesiune de cuvinte de stare: 0001, 0010, 0100, 1000, 0001, . . . . Intre restul de (24 4 = 12) st ari ilegale, c and una din acestea apare accidental n num ar atorul n inel, se poate stabili unul din urm atoarele 5 cicluri (care reprezint a o funct ionare anormal 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 funct ion arii anormale se utilizeaz a, n sintez a, abordarea de risc minim, Figura 3.30-b, adic a din oricare stare ilegal a se dirijeaz a tranzit ii, ntr-un num ar nit de tacte, spre o stare legal a. Practic, num ar atorul n inel cu n = 4 se realizeaz a cu un circuit de autocorect ie care este o poart a NOR cu trei intr ari; la intr arile port ii NOR se aplic a bit ii z3 , z2 , z1 ai cuv antului de stare iar ie sirea port ii

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

467

se introduce, ca semnal de react ie, la prima celul a. Deci react ia nu se mai realizeaz a ca n ecuat ia (3.50) ci prin ecuat ia Q1 (t + T ) = (Q3 (t) + Q2 (t) + Q1 (t)) CLK (3.51)

De exemplu, dac a n num ar ator apare accidental cuv antul de stare 1011, pe urm atoarele dou a tacte, deoarece Q1 este produs permanent de poarta NOR, st arile vor 0110, 1100, iar la al treilea tact se nscrie starea normal a 1000,deci intr a n ciclul de funct ionare normal a (vezi problema P3.78). In general, un num ar ator n inel modulo n cu autocorect ie utilizeaz a o poart a NOR cu (n 1) intr ari, iar corectarea se realizeaz a n maximum (n 1) tacte. Num ar atorul Johnson (sau Moebius). Acest tip de num ar ator este tot un registru inel cu particularitatea c a react ia de la celula Q n la celula Q1 se complementeaz a, adic a se culege de pe QN . O structur a de num ar ator Johnson cu patru celule, pe baz a de bistabile JK, este prezentat a n Figura 3.79-c. Funct iile de excitat e pentru toate celulele r am an acela si ca si la registrul inel, wJ i = Qi1 , wKi = QN (i1) , n afar a de prima celul a unde prin react ia inversat a se introduce un defazaj de 180 , wJ1 = QN n , wK1 = Qn ; de fapt, si la implementarea cu bistabile JK celulele au o funct ionare de bistabil D, deoarece intr arile ec arei celule sunt comandate n opozit ie (de la Q si QN ale celulei anterioare). Spre deosebire de un registru inel cu n celule, care genereaz a n ciclul s au n cuvinte de stare, num ar arorul Johnson cu n celule poate avea 2n st ari. Denumirea si de num ar ator Moebius este datorit a aseman arii care se face cu bucla Moebius. Aceast a bucl a se poate confect iona dintr-o band a de h artie care, nainte de a se uni ( si lipi) cele dou a capete, se r asuce ste o dat a ( ncercat i). Pornind cu un creion, dintr-un punct al buclei Moebius, drumul parcurs p an a se ajunge n acela si punct este dublu fat a de lungimea benzii deoarece se parcurg ambele fet e intr-un traseu continuu. Pentru num ar atorul Johnson, cu n = 4, din gur a prin activarea semnalului RESET = 0 cuv antul nscris va z4 z3 z2 z1 = 0000. La primul impuls de ceas n celula Q1 se nscrie 1 deoarece, prin react ia inversat a, intr arile de date au valorile wJ1 = QN 4 = 1 si wK1 = Q4 = 0. Se continu a nscrierea n Q1 , a valorii 1 si pe urm atoarele trei impulsuri de ceas, c and se ajunge n num ar ator la starea z4 z3 z2 z1 = 1111, deci Q4 este nscris n starea 1. La al cincilea impuls de ceas n Q1 se nscrie valoarea 0, deoarece wJ1 = QN 4 = 0 si wK1 = Q4 = 1, si se continu a nscrierea n 0 n aceast a celul a si pentru impulsurile 6, 7, 8 c and se ajunge ca celula Q4 s a comute din nou n 0, cont inutul num ar atorului este z 4 z3 z2 z1 = 0000, deci ciclul n num ar ator se reia, urm atoarele patru impulsuri vor nscrie iar a si Q 1 n starea 1; aceast a funct ionare este sintetizat a n tabelul din Figura 3.79-e. Ciclul de num arare este 2 4 = 8. Cel mai simplu num ar ator Johnson este cel cu n = 1, care se obt ine printr-o react ie inversat a n jurul unui element de nt arziere, bistabil D, adic a bistabilul de tip T, Figura 3.50-b. Impulsurile de ceas aplicate sunt divizate cu doi, deci un ciclu de num arare egal cu 2. Dar se pune ntrebarea: nu se pot realiza num ar atoare Johnson modulo un num ar impar? R aspunsul este armativ. Se pot realiza si pentru modulo (2n 1) dac a prin sinteza, ca automat, se elimin a una din st ari, n general starea al c arui cod este format numai din 1 (vezi problema 3.75). Aplicatia cea mai ecient a pentru num ar atorul Johnson este, ca si a num atorului n inel, cea de generator de faze. Dar spre deosebire de num ar atorul n inel, unde

468

3.5. CIRCUITE REGISTRU

fazele sunt direct cele n ie siri din celulele bistabil, la num ar atorul Johnson cele 2n faze se genereaz a prin n port i AND cu dou a intr ari; n Figura 3.79-d sunt indicate conexiunile la intrarea port ilor AND2 pentru n = 4, iar n gura 3.79-f diagrama de semnale pentru fazele generate. Ca automat, num ar atorul Johnson utilizeaz a n ciclul s au normal de funct ionare numai 2n st ari din totalul de 2n ; deci un num ar de (2n 2n) st ari ilegale/anormale. Abord and din punct de vedere al riscului minim, Figura 3.30-b, trebuie realizat un circuit de autocorectare care va fort a,din oricare stare ilegal a dup a un num ar de maximum (n 1) tacte, nscrierea st arii legale 00 . . . 01. St arile normale de funct ionare sunt numai cele cuprinse in urm atorul ciclu: 00 . . . 00, 00 . . . 01, 00 . . . 11, . . . , 01 . . . 11, 11 . . . 11, 11 . . . 10, 11 . . . 00, . . . , 10 . . . 00, 00 . . . 00, 00 . . . 01, . . . . Oricare cuv ant de stare anormal a, n care poate ajunge accidental num ar atorul, poate scris numai sub forma . . . 10 . . . , care dup a maximum(n 2) tacte de ceas va deplasat n num ar ator n pozit ia 10 . . . , iar dup a nc a n tacte (prin react ia inversat a) n ,, pozit ia 0 . . . 0. In aceast a pozit ie cuv antul de stare, prin amprenta lui, cu dou a zerouri extreme, pe zn si z1 , poate detectat printr-o poart a NOR, (Qn + Q1 = 1), iar la urm atorul tact ie sirea port ii NOR, care este 1, fort eaz a n num ar atorul Johnson nscrierea cuv antului (normal) 00 . . . 01 (vezi problema 3.79).

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 a aib a funct iunile am andurora? R aspunsul este armativ, chiar mai mult, ca registru serie , deplasarea poate bidirect ional a, st anga/ dreapta, si nu numai unidirect ional a. Pentu a implementa toate aceste funct iuni ntr-un singur circuit, referit ca registru serie-paralel, celula bistabil trebuie inzestrat a cu un comutator selectabil (multiplexor) pe intrarea de date pentru a se putea programa conexiunile necesare n funct ie de programarea funct iunii dorite. O astfel de celul a din pozit ia i-a a registrului, cu un MUX4:1 pe intrarea de date, a fost prezentat a n Figura 3.72-c, cele patru surse de date ind: dou a surse (independente) 2Di , 1Di , de nc arcare paralel a; o surs a, 0Di , de nc arcare de pe magistrala de ie sire si o surs a, Qi , pentru nc arcarea cu propria-i dat a a celulei. In organizarea de registru serie-paralel, cu partu celule, din Figura 3.80-a ecare celul a este nzestrat a cu un MUX4:1. (Notat iile sunt cele corespunz atoare circuitului registru univerasl 74xx194 care va utilizat n problemele ata sate acestui capitol). Cele patru intr ari, selectate cu semnalele S 1 S0 , sunt: (S1 S0 = 00) pentru ment inerea nemodicat a a cont inutului registrului, ecare celul a se re ncarc a la aplicatea impulsului de ceas cu propria dat a: wA wB wC wD = Q A Q B Q C Q D (wA wB wC wD este notat ia de la automate corespunz atoare st arii urm atoare); (S1 S0 = 01) pentru deplasare cont inutului registrului cu o pozit ie spre dreapta, ecare celul a se ncarc a, la aplicarea impulsului de ceas, cu cont inutul celulei vecine din st anga n felul urm ator: wB = QA , wC = QB , wD = QC , iar wA = RIN . Intrarea RIN este intrarea serie pentru deplasare spre dreapta, la aceasta se aplic a c ate un bit la ecare impuls de ceas; aceast a intrare poate

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

469

conectat a la ie sirea serie a unui circuit registru similar, situat n st anga, atunci c and se lucreaz a cu cuvinte multiplu de patru. Ie sirea serie, pentru deplasarea spre dreapta, este QD ; (S1 S0 = 10) pentru deplasarea cont inutului registrului cu o pozit ie spre st anga, ecare celul a se ncarc a, la aplicarea impulsului de ceas, cu cont inutul celulei vecine din dreapta n felul urm ator: wA = QB , wB = QC , wC = QD , wD = LIN . Intrarea serie pentru deplasarea st anga este LIN iar ie sirea serie este Q A ; (S1 S0 = 11) pentru nc arcarea ec arei celule cu o dat a independent a n felul urm ator: wA = A, wB = B , wC = C , wD = D, registrul se ncarc a (paralel) la aplicarea impulsului de ceas, cu cuv antul de patru bit i ABCD de la o surs a independent a. In tabelul din Figura 3.80-b este sintetizat a funct ionarea registrului serie-paralel care corespunde circuitului 74xx194 iar simbolul de reprezentare pentru acest circuit este dat n Figura 3.80-c.
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 funct ionare si simbolul de reprezentare pentru circuitul 74xx194, registru universal cu patru celule. Pentru un registru operat ia de deplasare (shiftare), st anga/dreapta cu o pozit ie, a unui cuv ant pe un registru de deplasare necesit a un tact, deci pentru n pozit ii n tacte; dimensiunea circuitului ind n O(n), iar ad ancimea n O(1), cu produsul dimensiune ad ancime n O(n). Aceea si operat ie de deplasare, cu oricare num ar i pozit ii, 1 i n, se poate realiza pe un circuit combinat ional de deplasare (vezi

470

3.5. CIRCUITE REGISTRU

2.5.4) ntr-un singur tact; acest circuit combinat ional av and ad ancimea n O(log n) iar dimensiunea n O(n log n) rezut and un produs dimensiune-ad ancime n O(n log 2 n). Inc a o dat a apare, evident, compromisul ce trebuie f acut ntre ad ancime si dimensiune n alegerea unei solut ii (relat ia 2.9). In calea de date a microprocesoarelor, Figura 2.73, unde shiftarea trebuie realizat a pe un singur tact, indiferent de num arul de pozit ii ( n), se include pe l ang a unitatea aritmetico-logic a si un circuit de deplasare combinat ional, referit prin termenul de barrel shifter. La un registru serie-paralel cuv antul de intrare, cu lungimea de n bit i, poate prezentat pentru nc arcare e n format serie, e n format paralel. Aplicat cuv antul de intare, c ate un bit la ecare celul a bistabil, pentru nc arcarea paralel a este necesar un singur tact de ceas, pe c and la nc arcarea serie se aplic a e la intarea RIN (deplasare dreapta) e la LIN (deplasare st anga) c ate un bit al cuv antului pentru ecare tact de ceas, deci un num ar de n tacte. De asemenea, pentru ie sirea paralel a cuv antul, cu lungimea de n bit i, cont inut n registru poate accesat permanent (dac a ie sirea nu este de tip TSL), dar la ie sirea serie se obt ine c ate un bit la ecare tact de ceas, deci cuv antul se obt ine ntr-un num ar de n tacte. Combin and cele patru operat ii (intrare serial a, intrare paralel a, ie sire paralel a si ie sire serial a) disponibile pe un circuit registru serie-paralel universal apare posibilitatea utiliz arii registrului ca suport pentru urm atoarele patru operat ii de conversie/transfer: paralel-paralel, serie-serie, paralel-serie, serie-paralel, Figura 3.81. Prin schimbarea modurilor de selectare, pe durata de funct ionare, se pot succeda at at pe intrare c at si pe ie sire prezentarea serie cu cea paralel a si invers. Conversiile serie-paralel si paralel-serie sunt operat ii fundamentale n implementarea transmisiilor la distant a pe un singur r; la emisie cuvintele, printr-o conversie paralel-serie, sunt serializate, transmise pe un singur r, iar la recept ie, 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 funct iunile de: a) transfer 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 bit i, cu deplasare st anga-dreapta (reversibil), iar deplas arile (nr. de pozit ii, sens) se fac sincron n toate aceste registre. Intr-un astfel de circuit pot stocate n cuvinte ecare cu lungimea de k bit i, deci poate privit ca o memorie de capacitate (n k) bit i. Se pot realiza, pe aceast a structurare, dou a tipuri (speciale) de memorie: 1. Memoria FIFO (First-In-First-Out). Pe ecare impuls de tact se nscrie n celulele bistabile de intrare (20 ) un cuv ant cu lungimea de k bit i si este deplasat st anga cu o pozit ie. Dup a n tacte s-au nscris n registre n cuvinte si pe tactele n+1, n+2, n+3, . . . . se obt in la ie sire (celulele bistabile de pondere 2 n1 ) cuvintele n ordinea n care au fost nscrise (primul nscris primul citit!)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

471

2. Memoria LIFO (Last-In-First-Out). Pentru nscriere se procedeaz a ca si la memoria FIFO (deplasare st anga) dar de data aceasta citirea nu se mai face pe celulele de ie sire ci pe celulele bistabile de intrare (cu ponderea 2 0 ), la care de fapt s-a introdus cuv antul. Pentru citirea cuvintelor nscrise n memorie LIFO comanda de citire produce o deplasare dreapta, deci la celulele bistabil de intrare se obt ine ultimul cuv ant introdus (ultimul nscris primul citit!). Exemplul 3.28 In sistemele de calcul, n general, procesarea si transferul informat iei, reprezentat a sub form a de cuv ant, se realizeaz a simultan asupra tuturor bit ilor cuv antului respectiv - aceasta este procesarea paralel a. In unele situat ii, procesarea sau transferul paralel este nlocuit cu variantele seriale, adic a succesiv bit dup a bit pentru cuv antul respectiv. Un caz tipic, n acest sens, este transmisia la distant a pentru care se procedeaz a n modul urm ator: la partea de emisie, unde informat ia ce trebuie transmis a este sub forma unui cuv ant, acesta este serializat, prin intermediul unui registru paralel-serie si transmis bit cu bit pe un singur r, iar la recept ie cuv antul este convertit din nou la forma de cuv ant, prin intermediul unui registru serie-paralel. In continuare se va prezenta, ca structurare de principiu, conversia serie-paralel din punctul de recept ie, cea paralel-serie dintr-un punct de ,, emisie poate privit a si realizat a ca o imagine n oglind a . Pentru transferul serial asincron pe o linie se utilizeaz a urm atorul protocol, care este standardizat. Cuvintele, sub form a de byte, se transmit pe linie, bit dup a bit ncep and cu D0 , LSB, si termin and cu D7 , MSB; c and nu este transmisie pe linie nivelul de tensiune prezent este H . Transmisia unui cuv ant de un byte ncepe printr-o tranzit ie H L a tensiunii de pe linie, Figura 3.82-a. Pentru receptor tranzit ia H L sesizat a constituie informat ia c a ncepe transmisia unui byte (poate si un zgomot), iar dac a nivelul L al liniei se p astreaz a un timp T (durat a de timp n secunde alocat a aplic arii unui bit al cuv antului) se ,, consider a c a acesta a fost bitul de atent ionare ( si nu a fost un zgomot care, n general, are o durat a mai scurt a) referit ca bitul de start, aplicat obligatoriu la nceputul transmisiei ec arui byte. Apoi, se transmit cei opt bit i ai cuv antului, ecare ind aplicat pe linie o durat a T, ncep and cu D0 si termin and cu D7 . Valoarea ec arui bit recept ionat, pentru a mic sora c at mai mult erorile de transmisie, este testat a la mijlocul intervalului de timp T , alocat bitului respectiv; n consecint a bitul D0 este testat dup a un interval 3/2T de la sezizarea unei tranzit ii H L ( si dac a nivelul L s-a p astrat un interval T , bitul de start). Dup a cele (8 + 1) intervale T se mai introduc unul sau dou a intervale T , n care linia este comandat a n nivelul H , ce se constituie n unul sau doi bit i se stop. Bitul sau bit ii de stop sunt introdu si pentru a preg ati o transmisie corect a a urm atorului cuv ant, care poate porni imediat sau oric and. Deci, pentru transmisia asincron a a unui cuv ant de un byte, se transmit 8 bit i de date, un bit de start si unul sau doi bit i de stop, de unde referirea ca tip de transmisie 8/10 sau 8/11. Viteza de transmisie pe linie se m asoar a n baud (rata n Baud, se cite ste bauzi) si este denit a ca inversul duratei T a celui mai scurt element din codul cuv antului transmis pe linie. Unele din frecvent ele (standard) inferioare sunt: 19200, 9600, 4800, 2400, 600, 300, 150, 110,75. De exemplu, pentru cuvinte n format 8/11, la o rat a (frecvent a) de 110 baud, se transmit 8 cuvinte adic a numai 80 bit i de informat ie ( si nu 110); iar la o rat a de 2400 2 baud, durata T este de 416 3 s. Realizarea transmisiei asincrone impune ca rata baud s a aib a aceea si valoare la emisie si la recept ie. Termenul asincron, din acest protocol, semnic a faptul c a transmisia/(aparit ia) unui cuv ant n linie poate n oricare moment de timp. In Figura 3.82-b este structurat un bloc de recept ie asincron conform protocolului expus anterior. La aparit ia pe linie a unei tranzit ii H L bistabilul de control este nscris n starea T . Semnalul Q = 1 care comand a declan sarea astabilului sincronizat, cu o nt arziere de 3 2 generat de astabil, cu frecvent a 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

Date intrate in registrul serie

Q4 Q3 Q2 Q1

Bitii cuvantului de iesire (paralel)

(RCO CLK)

Q0

c)

CLEAR Transmisie paralela Transmisie serie


Registru receptie date Buffer

s
CLK 1 1

D 0 =1

Conversie serieparalel

Intrare date serie

uP f)

UART

Periferic

d)

Registru transmisie date


CLK

Conversie paralelserie

Iesire date serie

Figura 3.82 Transmisia serial a asincron a: a) protocolul tip 8/10 sau 8/11 de transmisie asincron a; b) structurarea unui bloc de recept ie asincron a; c) diagrama semnalelor pentru procesul de conversie serie-paralel; d) structurarea, de principiu, a unui circuit UART si (e) utilizarea sa ca interfat a ntr-un sistem pe baz a de microprocesor.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

473

pentru nc arcarea serial a n registrul serie de 8 bit i a cuv antului recept ionat de pe linie si pentru num ar atorul modulo 8. Dup a opt tacte de ceas registrul serie este plin cu byte-ul recept ionat iar num ar atorul generez a semnalul RCO. Prin poarta 1, pe durata T /2 al celui de al optulea impuls de ceas, este generat semnalul (RCO CLK) care comand a: 1 - nc arcarea cont inutului registrului serie Q7 , Q6 , . . . , Q1 , Q0 n registrul paralel de 8 bit i, deci la ie sirea acestuia se obt ine, n paralel, cuv antul D7 , D6 , . . . , D1 , D0 transmis serial pe linie; 2 - monostabilul care generez a un impuls CLEAR ce constituie semnalul de reset pentru bistabilul de control (Q = 0 deci astabilul este blocat) si pentru num ar atorul modulo 8. Blocul de recept ie este preg atit pentru recept ia urm atorului cuv ant pe linie care poate apare oric and dup a consumarea unuia sau a doi bit i de stop. Diagramele semnalelor pentru procesul de recept ie si conversie serie-paralel sunt prezentate n Figura 3.82-c. Circuitul UART (Universal Asynchronous Receiver Transmitter), Figura 3.82-d, obtenabil comercial, include at at partea de recept ie c at si partea de emisie. Partea de recept ie, cu o structur a similar a cu cea prezentat a anterior, recept ioneaz a serie, converte ste n paralel si printr-un registru buer depune datele pe o magistral a paralel a. Partea de emisie, printr-un buer, preia datele de pe o magistral a paralel a si dup a o convesie paralel-serie transmite serial datele pe linie. Un astfel de circiut totdeauna interfat eaz a, ntr-un sistem pe baz a de microprocesor, conectarea unui periferic ce are intrarea si ie sirea serie, Figura 3.82-e

3.5.6

Circuite liniare cu registre de deplasare

Un sistem, denit ca o aplicat ie f de pe mult imea intr arilor X pe mult imea ie sirilor Y , Y = f (X ), este referit ca ind liniar dac a i se poate aplica principiul superpozit iei (1. r aspunsul la dou a sau mai multe intr ari este egal cu suma r aspunsurilor la ecare intrare n parte: dac a y1 = f (x1 ), y2 = f (x2 ) atunci y1 + y2 = f (x1 + x2 )); 2. p astreaz a factorul de scalare al intr arilor (pentru a x af (x)). Pe mult imea binar a elementele liniare sunt: elementul de nt arziere (celula bistabil D) si operatorul XOR (NXOR); nu sunt liniari operatorii OR si AND. Deci sistemele digitale realizate cu celule D (registre de deplasare) si port i XOR sunt referite ca sisteme liniare. Pentru sistemele (secvent iale) liniare, utiliz and adunarea modulo 2 si nu adunarea logic a, c and mult imea de denit ie este 0,1, aritmetica cu care se opereaz a este pe c ampul Galois GF (2); se pot concepe astfel de sisteme pe oricare c amp Galois GF (q ), vezi sect iunea 1.1.2. Operat iile 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 s au A = A, deci sc aderea este identic a cu adunarea (A A = 0, A 0 = A, A 1 = A). Amintim relat ia: dac a A B = C atunci A = C B (pentru c a A B B = C B A = C B ), B =AC si A B C = 0. Pentru analiza funct ion arii circuitelor realizate cu port i logice XOR si celule de nt arziere cu bistabile D se vor utiliza (pentru comparat ie) patru circuite; Figura 3.83: dou a compuse numai din din c ate o poatr a XOR si o celul a D, dar unul din ele cu react ie; dou a circuite mai complexe realizate din cinci celule bistabil D si patru port i XOR, dar unul, de asemenea, cu react ie. Se consider a c a toate celulele bistabil comut a sincron pe frontul semnalului de ceas. Dup a aplicarea frontului activ de ceas, pe durata perioadei de ceas T , ie sirea oric arui circuit se calculeaz a ca o sum a modulo

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 i4 = 0 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 Secvent ele de r aspuns Yi si Yt pentru semnalele de intrare impuls unitar Xi si treapt a unitar a Xt aplicate la: a),c) circuite secvent iale liniare far a react ie; b),d) circuite secvent iale liniare cu react ie.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

475

2 ntre valoarea bitului existent pe intrare si cu anumite valori anterioare ale bit ilor din succesiunea X aplicat a pe intrare, sau cu valorile anumitor bit i din succesiunea Y obt inut a la ie sire, valori care au fost stocate n celule de memorare D. Rezult a ,, c a ie sirea depinde, pe l ang a intrarea prezent a, si de istoria funct ion arii circuitului. Apare o similitudine, n funct ionare, cu un automat sincron(care la fel depinde de ,, istoria sa), de unde pentru denumirea acestor circuite liniare s-a ajuns la sintagma circuite secvent iale liniare. Semnalele utilizate n testarea acestor circuite, prin care se pot evident ia anumite particularit a ti de structurare ale circuitului respectiv, sunt semnalul impuls unitar si semnalul treapt a unitar a. Pentru sistemele digitale, semnalul impuls unitar este format din 1 precedat si urmat de un sir innit de zero-uri, X i = . . . 0001000 . . ., iar semnalul treapt a unitar a este format dintr-un sir innit de 1 precedat de un sir innit de zero-uri Xt = . . . 000111 . . .. Pentru circuitul simplu din Figura 3.83-a, compus dintr-o poart a XOR si o celul a D se poate deduce simplu modul de calcul al bitului de ie sire Y 1 = X DX . Rezult a c a ecare bit de ie sire, dup a aplicarea frontului activ de ceas (tactului) pe durata perioadei de ceas, TCLK , se calculeaz a prin sum a modulo 2 ntre valoarea bitului prezent pe intrare X si bitul anterior de intrare DX (stocat n celula D), deci Y = X (I D); I - este operatorul unitar, D 0 = I , relat ia 3.48. R aspunsurile Yi1 si Yt1 , la aplicarea semnalelor impuls unitar Xi si treapt a unitar a Yt , sunt prezentate n aceea si gur a. Circuitul din Figura 3.83-b, cu acelea si componente ca si cel din Figura 3.83-a, dar pentru elementul de nt arziere uxul de transfer este de la ie sire la intrare, realizeaz a o react ie, deci se memoreaz a ie sirea, DY . Din structura circuitului se deduce Y = X DY , care se transform a n Y DY = X , deci X = Y (I D). Fiecare bit de ie sire, pe durata unei perioade de ceas, TCLK , se calculeaz a prin sum a modulo 2 ntre valoarea bitului prezent pe intrare X si a bitului de ie sire DY , care a fost n perioada anterioar a a semnalului de ceas ( nainte de aplicarea tactului). R aspunsurile Y i2 si Yt2 , la aplicarea semnalelor impuls unitar Xi si treapt a unitar a Xt , sunt prezentate n aceea si gur a. R aspunsul la un semnal treapt a Y t2 este un semnal cu variat ie dreptunghiular a cu perioada 2TCLK (de fapt acest circuit nu este altceva dec at o transformare a bistbilului D n bistabil T, Figura 3.50-b, care divizeaz a cu doi frecvent a semnalului de ceas c and T = 1). Analiz and circuitul din Figura 3.83-c se poate deduce u sor relat ia pentru semnalul de ie sire, Y = X DX D 2 X D 3 x D 5 X = X (I D D 2 D 3 D 5 ). Bitul de ie sire, pe durata unei perioade de ceas TCLK , se calculeaz a prin sum a modulo 2 ntre valoarea bitului aplicat pe intrare si valorile bit ilor anteriori (aplicat i cu unu, dou a, trei si cinci tacte nainte) din sirul de intrare, valori memorate sub forma DX , D 2 X , D3 X si D 5 X . Dup a aceast a regul a sunt calculate r aspunsurile la semnal impuls Y i3 si la semnal treapt a Yt3 , prezentate n aceea si gur a. La circuitul din Figura 3.83-d, din modul de realizare a conexiunilor se deduce expresia pentru calculul semnalului de ie sire Y = X DY D 2 Y D 3 Y D 5 Y 2 Y Y X = Y X X DY D Y D 3 Y D 5 Y X = Y (I D D 2 D3 D 5 ). Pentru ecare bit din sirul de intrare, valoarea bitului de ie sire se obt ine prin sumare modulo 2 ntre valoarea bitului aplicat pe intrare si valorile bit ilor de ie sire anteriori DY , D 2 Y , D 3 Y si D 5 Y . Spre deosebire de circuitul anterior, unde n registru de deplasare sunt introdu si bit ii sirului de intrare, aici n registrul de

476

3.5. CIRCUITE REGISTRU

deplasare sunt introdu si bit ii sirului de ie sire. Aplic and regula de calcul a circuitului, pe aceea si gur a, sunt prezentate sirurile Y i4 si Yt4 care sunt r aspunsurile la semnalul impuls unitar si semnalul treapt a unitar a. Ambele r aspunsuri sunt siruri periodice de impulsuri, perioad a ce se ntinde pe durata a 31 impulsuri de tact. Pentru Y i4 se observ a c a impulsul unitar de pornire nu se mai aplic a (la al 31-lea tact de ceas), deci poate considerat ca un ciruit cu funct ionare autonom a, cu un ciclu de 31 tacte, pentru amorsare este necesar doar un singur impuls. Circuitele cu funct ionare autonom a sunt utilizate mai mult pentru succesiunea de cuvinte generate n paralel, la ie sirile bistabilelor care formeaz a registrul de deplasare, dec at pentru generarea succesiunii serie de bit i la ie sire. Utiliz and principiul superpozit iei, succesiunea de bit i de la ie sire, pentru oricare succesiune de bit i aplicat a la intrare, se poate obt ine pe baza r aspunsului la semnalul impuls unitar. Se va exemplica pentru circuitul din Figura 3.83-c. Deoarece un semnal treapt a unitar a, Xt , se poate compune printr-o sumare innit a de semnale impuls unitar, Xi , defazat unul de altul cu TCLK , rezult a r aspunsul la semnal treapt a prin sumare modulo 2 a r aspunsurilor de semnal impuls n felul urm ator: . . . 00010000 . . . . . . 00010000 . . . . . . 00010000 . . . . . . 00010000 . . . Xt = . . . 1111 . . . . . . . . . . . . 00011110100 . . . . . . 00011110100 . . . . . . 00011110100 . . . . . . 00011110100 . . . Xt3 = . . . 101001111 . . .

Invers, deoarece un semnal impuls Xi poate compus prin sum a modulo 2 ntre dou a semnale Xt defazate cu TCLK , semnalul Xi3 se obt ine prin sumarea modulo 2 ntre dou a semnale Yt3 ( ncercat i!). In Figura 3.83-c este prezentat r aspunsul circuitului si pentru urm atoarea succesiune de intrare compus a din sapte bit i X = . . . 0001010011000 . . .. Compun and aceast a succesiune din semnale impuls unitar defazate corespunz ator se obt ine: . . . 00010000 . . . . . . 0000010000 . . . . . . 0000000010000 . . . Y3 = X= . . . 00000000010000 . . . . . . 00010100110000 . . . . . . 0001111010000 . . . . . . 000001111010000 . . . . . . 000000001111010000 . . . . . . 0000000001111010000 . . . . . . 0001100110101110000 . . .

Aceast a operare, n timp, asupra bit ilor de intrare si asupra bit ilor de intrare/ie sire anteriori, stocat i n celulele bistabil, este destul de laborioas a si supus a la erori, mai ales dac a sunt multe celule de memorare. Se poate evita aceast a operare, printro algebrizare a calculelor, dac a si sirurile de bit i de intrare si cele de ie sire sunt reprezentate ca polinoame dup a puterile variabilei D. De exemplu, pentru secvent a de 7 bit i, utilizat a anterior, X = . . . 0001010011000 . . . se face reprezentarea X (D) = I D2 D 5 D 6 . Bitul bi din pozit ia i a secvent ei de intrare este reprezentat n polinom prin termenul bi Di (pentru bi = 0 0 D i = 0 si pentru bi = 1 1 D i = D i ); primul bit care se aplic a circuitului, ce corespunde cu MSB, are pozit ia zero si are totdeauna valoarea 1, deci 1 D 0 = I . Pentru secvent ele de impuls unitar Xi si treapt a

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

477

unitar a Xt se obt in urm atoarele reprezent ari polinomiale: Xi (D) = Xt (D) = 1 D0 = I I D D2 D3 D4 D5 D6 . . . (3.52)

Raportul ntre polinomul secvent ei de ie sire Y (D) si al polinomului secvent ei de intrare X (D) dene ste funct ia de transfer a circuitului, H (D): H (D) = Y (D) X (D) (3.53)

Funct ia de transfer pentru un circuit se deduce din analiza conexiunilor (structurarea) ntre registrul de deplasare si port ile XOR. De exemplu, pentru circuitele f ar a react ie din Figura 3.83 se deduc H1 (D) = (I D) iar pentru circuitele cu react ie 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

Cunosc and polinomul secvent ei de intrare X (D) si funct ia de transfer a circuitului H (D) cu relat ia 3.53 se poate calcula polinomul secvent ei de ie sire Y (D), care este o mapare a bit ilor 1 din secvent a de ie sire. Prin acest mod de calcul se va exemplica n continuare determinarea ( si n acela si timp vericarea) secvent elor de ie sire pentru semnalele de intrare prezentate n Figura 3.83-c. 1. R aspunsul la treapt a unitar a, Xt (D). 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. R aspunsul la impuls unitar, Xi (D).

Yi3 (D) = H3 (D)Xi (D) = H3 (D) = I D D 2 D 3 D 5 deci Yi3 = 11110100 . . .

478 3. R aspunsul la secvent a X = . . . 0001010011000 . . .

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 r aspunsurile la semnal treapt a si semnal impuls pentru circuitul cu react ie cu funct ia de transfer H 4 (D). Dicultatea, de data aceasta, const a n faptul c a pentru Yi4 (D) si Yt4 (D) rezult a polinoame a c aror puteri ajung la D 31 . Dar mai simplu, aceste dou a polinoame pot obt inute, invers, dac a sirul de bit i, n timp, pentru Yi4 si Yt4 din Figura 3.83-d este mapat direct n forma polinomial a (se consider a numai puterile pentru care exist a impuls n r aspunsul n timp, 0D i = 0,1D i = D i ). La realizarea unui singur circuit din mai multe circuite componente cu funct iile de transfer H1 (D), H2 (D), . . . Hk (D), pentru determinarea funct iei de transfer rezultante H (D), se utilizeaz a algebra funct iilor de transfer. Pentru circuitul obt inut, prin nserierea de circuite componente, funct iile de transfer se nmult esc H (D) = H1 (D) H2 (D) . . . Hk (D); prin conectare n paralel de circuite componente funct iile de transfer se sumeaz a modulo 2 H (D) = H1 (D) H2 (D) . . . Hk (D), iar pentru serie paralel sau paralel serie se combin a nmult irea cu sumarea. Din analiza circuitelor liniare cu registre de deplasare rezult a c a acestea pot utilizate ca ltre binare - o succesiune de bit i aplicat a pe intrare este modicat a ntro alt a succesiune de bit i de ie sire n funct ie de funct ia de transfer a circuitului. Dar, abordarea poate si de sintez a, impun andu-se transformarea unei anumite secvent e de intrare X (D) ntr-o anumit a secvent a de ie sire Y (D) se determin a funct ia de transfer H (D) - apoi, din funct ia de transfer se deduce structura circuitului c autat.
Pentru circuitul cu funct ia de transfer H (D) = I D D 3 s a se determine secvent a de intrare nul a. Solut ie. Secvent a de intrare nul a X0 (D) este acel sir de bit i aplicat pe intrare care produce pe ie sire secvent a Y (D) = . . . 0000 . . . , deci respect a relat ia

Exemplul 3.29

Expresia obt inut a pentru X0 (D) arat a c a ecare bit care trebuie s a se aplice pe intrare se calculeaz a ca sum a modulo 2 ntre bit ii registrului de deplasare din celulele D si D 3 . Dar pornind din repaus cu acest ltru, adic a toate celulele pline cu 0, rezult a c a adev arata secvent a nul a este un sir de zero-uri (dar care nu va putea scoate ltrul din repaus). Pentru a scoate ltrul din repaus se accept a ca secvent a de intrare nul a s a aib a primul bit 1, care genereaz a si n ie sire primul bit 1, ceea ce violeaz a sirul de zero-uri pe ie sire pentru primul bit. Dar proced and n acest mod secvent a nul a de ie sire este considerat a ca ind r aspunsul unitar Y (D) = I , deci relat ia anterioar a se rescrie. I = X0 (D) H (D) = X0 (D) D X0 (D) D 3 X0 (D) rezult a secvent ele: 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)H (D) = X0 (D)DX0 (D)D 3 X0 (D) = 0

X0 (D) = DX0 (D)D 3 X0 (D)

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

479

Aplicat ii n transmisia codurilor ciclice. Oricare CLC cu ie siri multiple poate privit ca un transcodor, Figura 2.33, conversia ntr-un alt cod efectu andu-se n paralel. Pentru codurile ciclice, ai c aror bit i se transmit serial, codicarea si decodicarea se realizeaz a prin trecerea sirului de bit i prin circuite secvent iale liniare. Codurile ciclice, care apart in unei clase generale a codurilor algebrice detectoare de erori, prezint a distinctiv faptul c a: dac a vectorul (b n1 bn2 . . . b3 b2 b1 b0 ) reprezint a un cuv ant al codului atunci si combinat ia (b 0 bn1 bn2 . . . b3 , b2 b1 ) obt inut a prin deplasarea ciclic a a bit ilor, apart ine de asemenea codului. In principiu, pentru transmisia codurilor ciclice (secvent a X (D)) acestea sunt aplicate la emisie ntr-un circuit secvent ial cu funct ia de transfer H (D) ce genereaz a secvent a de ie sire Y (D). Ceea ce de fapt este o nmult ire modulo 2 a polinomului de intrare X (D) (codul de transmis) cu polinomul circuitului (funct ia de transfer). Este posibil ca pe canalul de transmisie s a e injectat un zgomot, N , la recept ie ajung and secvent a X (D) = Y (D) + N . Recept ia se face printr-un circuit cu o funct ie de transfer de forma 1/H (D) obt in andu-se la ie sire secvent a: 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 a o mp art ire cu acela si polinom cu care s-a nmult it le emisie; la o transmisie corect a restul mp art irii trebuie s a e nul. Dac a cuv antul de cod nu este modicat de zgomot (N = 0) atunci Y (D) = 1 X (D). Dac a N = 0 atunci analiza termenului H ( ie, va indica transD ) N , la recept misia nc arcat a cu zgomot a cuv antului X (D); dar chiar mai mult, se poate indica pozit ia din cuv ant a bitului/bit ilor modicat/modicat i precum si corectarea pentru obt inerea cuv antului (init ial) corect [Vl adut iu 89].
In Figura 3.84, un cuv ant de patru bit i, 1110, din cele 16 posibile, este transmis printr-o pereche de ltre liniare cu funct ii inverse. La emisie, cuv antul este extins la o lungime de cod de 7 bit i, 1110 000, ad aug and pe ultimele trei pozit ii trei bit i 000, referit i ca bit i de control. Se obt ine la ie sire din ltrul de la emisie, care are funct ia de transfer H (D) = I D 2 D3 , urm atorul sir 1100010. In linia de transmisie, un zgomot injecteaz a n pozit ia a patra din dreapta un bit 1, deci la intrarea ltrului de recept ie, cu funct ia 1/H (D), se aplic a sirul X = 1101010. Se obt ine sirul de ie sire Y = 1111 001 n care ultimii trei bit i de control difer a de 000, ceea ce indic a faptul c a transmisia s-a realizat cu eroare (pe baza cuv antului de control 001 se poate detecta si corecta eroarea).)

Exemplul 3.30

Circuite liniare cu registre de deplasare cu react ie, autonome. Aceste circuite dup a cum reiese si din aceast a denumire (lung a!) sunt de fapt ltre binare cu react ie, prezentate anterior, dar la care este eliminat a intrarea, referite n literatur a ca circuite de deplasare cu react ie, LFSR (autonomous Linear-Feedback Shift-Register). Neexist and intrare, circuitul dup a amorsare continu a s a genereze un semnal periodic, prin aplicarea impulsurilor de ceas, ceea ce poate analogul discret al unui oscilator. De exemplu, la circuitul cu react ie din Figura 3.83-d r aspunsul Y i4 la un semnal impuls unitar este o secvent a cu o perioad a de 31 de tacte. De asemenea, la circuitul cu funct ia de transfer H (D) = I D 2 D 3 din Exemplul 3.29 aplic and pe intrare secvent a nul a se obt ine pe ie sire secvent a care este semnalul impuls unitar X i ; dar

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 si corectare de eroare: a) structur a de circuit pe baz a de ltre secvent iale liniare cu funct ii de transfer inverse; b) tabele cu modicarea cont inuturilor ltrelor de la emisie si de la recept ie.

dac a acest circuit este realizat cu react ie, cu funct ia de transfer 1/H (D) care are structura circuitului receptor din Figura 3.84-a, atunci aplic andu-i pe intrare (pentru amorsare) secvent a impuls unitar se obt ine pe ie sire un semnal periodic care este secvent a nul a (invers, n raport cu relat ia 3.53). . . . . . . 000. .1000000. .0000000. .... . . . . . . 000. .1110100. .1110100. ....

Xi = Y0 =

La aceste dou a circuite cu react ie se constat a c a ind n starea zero, toate celulele pline cu 0, dac a se aplica a numai o singur a dat a impulsul unitar, vor genera permanent o secvent a periodic a, chiar dac a intrarea este zero, deci au autonomie fat a de intrare. Structura de principiu pentru un circuit de deplasare cu react ie ca n celule este prezentat a n Figura 3.85-a. La sumatoarele modulo 2 intr arile sunt ie sirile din celulele registrului de deplasare multiplicate cu coecient ii a i , i = 1, 2, . . . , n 1, ai {0,1}. (De fapt ace sti coecient i indic a dac a ie sirea celulei i a registrului este conectat a n sumarea modulo 2, ai = 1, sau dac a nu este conectat a, ai = 0; ie sirea din ultima celul a totdeauna este conectat a, an = 1). Un astfel de circuit cu react ie este un automat deci, pentru analiza sa, este mai potrivit a abordarea din punct de vedere al tranzit iei st arilor si nu descriind sirul bit ilor de ie sire Y . In Figura 3.83-d , de exemplu, sirul Yi4 introdus n registrul de deplasare va realiza urm atoarele tranzit ii

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

481

ale st arilor (D 5 Y = z5 , D 4 Y = z4 , D 3 Y = z3 , D 2 Y = z2 , DY = z1 ): 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 a num arul n zecimal al echivalentului binar dat de codul st arii z5 z4 z3 z2 z1 ). Particulariz and structura de principiu la n=4, funct ia de transfer a st arilor se exprim a n felul urm ator: w4 w3 w2 w1 = = = = z3 z2 z1 a4 z4 a3 z3 a2 z2 a1 z1 = Y

(3.55)

Primele trei ecuat ii descriu deplas arile (st anga) din registru iar ultima react ia liniar a prin ret eaua de port i sum a modulo 2. Ecuat ia pentru calculul semnalului de react ie Y , care se aplic a la intrarea primului bistabil D al registrului, este: 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 particulariz and a4 = 1, a3 = 0, a2 = 0, a1 = 1, si pentru obi snuint a si generalitate adopt and notat ia n X (= Y ), se obt ine polinomul caracteristic: I X X4 (3.56)

care corespunde circuitului din gura 3.85-b. Ordonarea (direct a) a termenilor unui polinom de ordinul n pe cele n celule ale registrului de deplasare se face printr-o mapare direct a n sensul de cre stere a exponentului puterii si a cre sterii num arului de tacte de nt arziere pe registru. Termenul polinomului X k , 1 k < n i corespunde n registru celula care realizeaz a o nt arziere a intr arii cu k tacte (D k ), iar termenilor n X si 1, care sunt totdeauna prezent i n ret eaua de rect ie a circuitului, le corespunde n registru respectiv ultima celul a (D n ) si intrarea primei celule (D 0 = 1). Pentru polinomul caracteristic din relat ia 3.56, ntr-o ordonare direct a, n ret eaua sumatoare modulo 2, din exteriorul registrului, sunt conectate ie sirile celulei a patra (X 4 ) si celulei a nt aia (X ) si rezultatul aplicat la intarea primei celule (D 0 ); structurarea rezultat a este referit a ca circuit secvent ial liniar cu react ie cu sumatoare exterioare. Pentru acela si polinom caracteristic (3.56) exist a si structurarea cu sumatoare incluse, prezentat a n Figura 3.85-c, n care se conecteaz a celulele bistabil ale registrului la ret eaua de sumatoare modulo 2 dup a aceea si regul a expus a anterior. Sub desenul corespunz ator ec arei din cele dou a structur ari, cu sumator exterior si sumator inclus, este ata sat si tabelul de tranzit ie al st arilor (cu calculul bit ilor ec arei st ari).

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 secvent ial liniar cu react ie: a) structurare general a, de principiu, pentru un (circuit bazat pe) registru de deplasare cu n celule; structura de circuit si tabelul de tranzit ie al st arilor pentru polinomul I X X 4 , n ordonare direct a cu sumator extern (b) si cu sumator intern (c); structur a de circuit pentru polinomul I X X 4 , n ordonare invers a (sau polinomul inversat X 4 X 3 I si ordonare direct a), cu sumator extern (d) si cu sumator intern (e)(Liniile desenate ntrerupt corespund introducerii n ciclu normal si a st arii z 4 z3 z2 z1 = 0000).

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

483

Din analiza celor dou a tabele de tranzit ie ale st arilor rezult a c a se genereaz a cicluri succesive ce c ate 15 st ari, (2n 1), starea z4 z3 z2 z1 = 0000 nu este inclus a n ciclu. Succesiunea st arilor n cadrul ciclului are un caracter semi-aleatoriu, prin urmare circuitul poate considerat ca un generator de zgomot alb sub forma de scvent e binare pseudo-aleatoare. Pentru cazul general, de registru cu n celule, secvent a binar a pseudo-aleatoare generat a are un ciclu de (2n 1) st ari. Ciclu maxim de (2n 1) st ari se genereaz a numai atunci c and polinomul caractristic al circuitului este primitiv, adic a este un polinom ireductibil (prim, nu are divizori si exponentul puterii este de valoare maxim a pentru acel circuit). In literatur a [Green 85] sunt date polinoamele primitive p an a la gradul n = 100; n continuare sunt date aceste polinoame primitive p an a la gradul 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 a polinomul nu este primitiv (admite divizori) circuitul corespunz ator va avea un num ar de cicluri egal cu divizorul cel mai mare al lui (2 n 1), ecare din aceste cicluri av and o secvent a cu lungimea maxim a < 2 n 1; aceste cicluri ind independente, odat a circuitul intrat ntr-unul din aceste cicluri nu l mai p ar ase ste dec at numai prin resetare. Se demonstreaz a c a dac a polinomul caracteristic este primitiv atunci si polinomul inversat este primitiv; dac a n polinomul caracteristic se substituie X 1/X se obt ine polinomul inversat. Ordonarea (direct a) a polinomului caracteristic pe registru de deplasare se face n felul urm ator: I (D 0 ) la intrarea primei celule; X la ie sirea lui 2 2 (D); X la ie sirea lui (D ); . . . ;X k la (D k ); . . . ; X n1 la (D n1 ); X n la (D n ). In opozit ie, ordonarea (invers a) a polinomului inversat pe registrul de deplasare se face n felul urm ator: X n la intrarea primei celule (D 0 ); X n1 la ie sirea lui (D); X n2 2 n3 3 k nk n1 la (D ); X la (D ); . . . ; X la (D ); . . . ; X la (D ); I la ie sirea lui D n . Corespunz ator polinomului caracteristic dat prin relat ia (3.56), polinomul inversat X 4 X 3 I , ordonat direct pe un registru de deplasare cu patru celule, produce o structurare de circuit secvent ial cu react ie cu sumatoare exterioare ca n Figura 3.85-d si produce si o alt a structurare cu sumatoare incluse ca n Figura 3.85-e. Rezult a c a pentru un polinom primitiv exist a patru structur ari: dou a cu sumatoare exterioare, una corespunde polinomului direct, X 4 X I , Figura 3.85-b, iar cealalt a corespunde polinomului inversat X 4 X 3 I , Figura 3.85-d; dou a cu sumatoare incluse, una corespunz atoare polinomului direct, Figura 3.85-c, iar cealalt a polinomului inversat, Figura 3.85-e. De si toate cele patru structur ari provin din acela si polinom primitiv, ecare din ele genereaz a propria secvent a cu lungimea maxim a de 15 tacte ( n general 2n 1 tacte). Uzual, nu se mai calculeaz a polinomul inversat iar pentru implementarea sa se utilizeaz a tot polinomul direct dar se consider a ordonarea inversat a. Circuitul secvent ial liniar cu reat ie cu ciclul de lungimea maxim a (2 n 1) nu cuprinde starea zero, toate celulele pline cu zero, deoarece prin ret eaua sumatoare modulo 2 de react ie s-ar produce tot zero; n registru se injecteaz a zero, deci circuitul r am ane n starea zero, nchiz andu-se un ciclu permanent n jurul st arii zero (nu poate amorsat). Pentru evitarea bloc arii, accidentale, n starea zero, la punerea circuitului

484

3.5. CIRCUITE REGISTRU

sub tensiune trebuie prev azut a setarea automat a a unei celule n starea unu. (O astfel de solut ie const a ntr-un circuit de integrare RC a c arei intrare este tensiunea de alimentare a registrului (VDD , VCC ) iar ie sirea acestui circuit se conecteaz a la intrarea asincron a PRESET a celulei n care se va nscrie 1 si la intrarea asincron a CLEAR a tuturor celorlalte celule care se vor nscrie n zero.) Se poate extinde ciclul circuitului secvent ial liniar cu react ie la 2 n dac a se introduce ca stare normal a si starea zero. Pentru aceast a extensie, intrarea unei port i XOR, din ret eaua de react ie, se obt ine ca ie sire de la o poart a NOR cu n 1 intr ari, aceste intr ari sunt colectate de la ie sirile tuturor celulelor registrului de deplasare mai put in ultima (D n ). Dac a circuitul este n starea zero, zn zn1 . . . z1 z0 = 00 . . . 00, ie sirea port ii NOR genereaz a un 1 prin care ret eaua de react ie cu XOR, la urm atorul impuls de ceas, va injecta 1 n prima celul a si/sau ntr-o alt a celul a a registrului de deplasare (c and sumatoarele sunt incluse). Dac a circuitul este n starea z n zn1 . . . z1 z0 = 10 . . . 00 ie sirea 1 a port ii NOR, plus D n = 1, prin ret eaua de react ie va injecta 0 n registrul de deplasare, deci urm atoarea stare este zn zn1 . . . z1 z0 = 00 . . . 00. Se obt ine at at extensia la 2n st ari c at si amorsarea din starea zero. Pentru structurile din Figura 3.85-d si 3.85-e sunt desenate punctat conexiunile pentru aceste circuite de extensie. Aplicat iile circuitelor secvent iale liniare cu react i sunt numeroase: - generator de secvent e binare pseudo-aleatoare pentru generare de stimuli n testarea circuitelor; - circuite de codicare si decodicare pentru detectarea si corectarea erorilor, tehnica comunicat iilor; - num ar atoare modulo 2n 1 sau 2n (pot considerate num ar atoare n cod arbitrar, 3.4.2.2). Consum a cea mai put in a suprafat a dec at oricare alt num ar ator cu except ia celui asincron, dar acesta neind sincron ridic a problema la interfat are. Este mai rapid dec at oricare num ar ator cu except ia num ar atorului Johnson, dar acesta este numai modulo 2n. (Pentru structurarea cu sumatoare incluse perioada de ceas minim a este egal a cu propagarea printr-o celul a D plus o poart a XOR.)

3.5.7

Distribut ia si aplicarea semnalului de ceas

Intr-un sistem digital sincron semnalul de ceas (tactul) este utilizat pentru a introduce o referint a de timp fat a de care se raporteaz a realizarea unei funct ii n sistem. Deoarece acest a referint a este vital a, pentru funct ionare sistemului sincron, trebuie acordat a o deosebit a atent ie parametrilor semnalului de ceas si a ret elei de distribut ie, 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 si atribute speciale. Semnalele de ceas, tipic, asigur a comanda unor sarcini mari, se propag a pe cele mai lungi trasee, opereaz a la frecvent ele cele mai ridicate n raport cu oricare semnal de control sau de date din sistem. Deoarece semnalele de date sunt furnizate pe baza referint ei de timp, forma de variat ie n timp a semnalelor de ceas ,, ,, trebuie s a e curat a . Ori, p astrarea formei curate produs a de generatorul de ceas, p an a la punctele de aplicare, este puternic inuent at a si nt arziat a de c atre ret eaua de distribut ie. Proiectarea ret elei de distribut ie a semnalelor de ceas determin a n mod esent ial performant ele sistemului digital mai ales la sistemele de vitez a ridicat a.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

485

In concluzie, semnalul de ceas are o contribut ie major a n obt inerea performant elor si funct ion arii corecte pentru sistemele digitale sincrone. In oricare sistem digital, cu procesare de tip clasic sau n pipeline, circuitele combinationale sunt interfat ate pe intrare si pe ie sire cu elemente de memorare (latch-uri, bistabile, registre). Transferul din interfat a de intrare, prin partea combinat ional a, n interfat a de ie sire se realizeaz a ntre dou a tacte ale semnalului de ceas, a c arui perioad a minim a, TCLKmin , se calculeaz a cu relat ia 3.45. Structurarea clasic a, Figura 3.76-a, pe baza c areia s-a dedus acest a relat ie este reluat a si n gura 3.86-a. De data acesta s-au introdus n relat ia pentru calculul timpului de propagare date, pD , ntre cele dou a interfet e si timpul de propagare pe interconexiuni pInt , obt in andu-se relat ia: 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 a unde prin procesul de scalare, permanent, dimensiunile sunt multiplicate cu 1/s (s > 1, factorul de scalare, vezi Tabelul 1.11), aceast a component a a timpului de propagare devine din ce n ce mai put in de neglijat. Timpii de propagare, dependent i de dispozitiv: pCQ , SU , pCLC , se mic soreaz a prin scalarea dimensiunilor dar nu se mic soreaz a si pInt . Mic sorarea dimensiunilor traseelor de interconectare duce la mic sorarea sect iunilor, la cre sterea rezistent ei, deci nu la o mic sorare a timpului de propagare pInt , n plus apar capacit a ti parazite (distribuite) si efectul de electromigrat ie (vezi sect iunea 1.5.1). Mai ales, pentru traseele din ret eaua de distribut ie a semnalului de ceas, scalarea se aplic a cu foarte mare prudent a , ori se p astreaz a acelea si dimensiuni (vezi sect iunea 4.5). In structura din Figura 3.86 se consider a c a exist a sincronizare/(suprapunere) ntre momentele de aplicare a semnalelor de ceas la cele dou a registre, t CLKi = tCLKj . In prctic a, cele dou a momente nu se suprapun tCLKi = tCLKj ; acest a nesincronizare are dou a componente: defazajul si uctuat ia fronturilor semnalelor de ceas. Cauzele care duc la un defazaj de ceas (la nt arzieri diferite) sunt reprezentate n Figura 3.86-b. De exemplu, cele dou a momente de aplicare ale semnalelor de ceas la bistabilele consecutive Di , Dj , din lant ul de bistabile, pot s a nu se suprapun a, tCLKi tCLKj deoarece din motiv de nc arcare cele dou a semanle se obt in de la dou a ramuri diferite ale ret elei de distribut ie a semnalului de ceas, iar pe cele dou a ramuri nt arzierile nu sunt egale. Dac a se noteaz a cu t timpul la generatorul de ceas general, GCLK (un generator PLL, Phase Lock Loop), iar nt arzierile de propagare prin ret eaua de distribut ie, ale celor dou a semnale de ceas, p an a la D i si Dj respectiv cu i si j rezult a momentele n timp tCLKi = t + i si tCLKj = t + j . Denit ia 3.11 Defazajul de ceas df (clock skew), ntre dou a registre/bistabile i, j , consecutive n sensul de propagare a datelor pentru procesare, este diferent a n timp ntre momentul aplic arii semnalului activ de ceas la registrul/bistabilul j si momentul aplic arii semnalului activ de ceas la registrul/bistabilul i df = tCLKj tCLCi = j i (3.58)

De notat faptul c a defazajul de ceas este relevant numai ntre dou a registre/bistabile consecutive, deci ntre care exist a un transfer de date.

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 a registre/bistabile consecutive dintr-o cale de propagare a datelor: a) structur a de principiu a unei etape n propagarea datelor cu evident ierea timpilor (componente) de propagare; b) reprezentarea cauzelor, ntr-o ret ea de distribut ie a semnalelor de ceas, care pot determina defazaj de ceas si uctuat ia fronturilor; c) explicativ a pentru aparit ia efectului de uctuat ie al fronturilor (clock jitter).

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

487

Cauzele care pot duce ca nt arzierile de propagare j si i s a nu e egale sunt: - Buerele (amplicatoarele) de semnal 2 din ret eaua de distribut ie. Aceste amplicatoare sunt o cauz a principal a pentru df = 0. Datorit a dispersiei din procesul de fabricat ie buerele rezult a cu variat ii pentru valorile timpilor de propagare (care se p astreaz a chiar daca sunt incluse n ret ele echilibrate si cu nc arc ari identice). eaua de distribut ie a ceasului. Pentru ecare inter- Interconexiunile 3 din ret conexiune intervine lungimea si rezistivitatea traseului, constanta si grosimea dielectricilor, rezistent ele de contact si ale g aurilor de p atrundere (vias) ntre straturile metalizate, capacit a tile parazite. - Variat ia valorii tensinii de alimentare 4 (vezi Figura 1.78). a ca stratul metalizat pentru ret eaua de - Cuplajele capacitive 5 . Se recomand distribut ie a semnalului de ceas s a e ntre straturile metalizate pentru V DD si VSS (surs a si mas a). - Sarcini de comand a 6 diferite pentru cele dou a semnale de ceas. a n timp - Variat ia temperaturii 7 . Defazajul de ceas are o valoare constant dac a temperatura mediului nu se modica pronunt at. A doua component a care contribuie la nesincronizare este efectul de uctuat ie ( n aparit ie) al fronturilor semnalelor semnalelor de ceas (clock jitter). Ca o consecint a a acestui efect fronturile consecutive apar c and la intervale de timp mai mari dec at TCLK , c and la intervale mai mici dec at TCLK , Figura 3.86-c. Dac a se noteaz a pentru semnalul de ceas cu perioada T CLK abaterile de aparit ie (uctuat iile) ale fronturilor semnalelor de ceas, fat a de momentul corect de aparit ie al frontului, cu fl si +fl atunci perioada real a a semnalului de ceas poate avea valori n intervalul [TCLK 2fl , TCLK + 2fl . Cauzele acestor uctuat ii sunt: generatorul de ceas 1 ;

si cuplajele capacitive 5 ; variat iile de temperatur a 7 si nc arcarea capacitiv a 6 n tensiunea de alimentare 4 . In funct ionarea real a a sistemelor semnalul de ceas aplicat la dou a registre/bistabile consecutive poate afectat simultan at at de defazaj c at si de uctuat ia fronturilor. Defazajul este o variat ie spat ial a reectat a n momentele de aplicare a semanlelor de ceas si nu se modic a de la perioad a la perioad a pe c and uctuat ia fronturilor, se poate modica de la ciclu la ciclu, este un efect pasager. Transferul sincron al datelor de la registrul R i la registrul urm ator Rj trebuie asigurat at at pentru valoarea maxim a a timpului de propagare al datelor pDmax c at si pentru timpul de propagare minim pDmin n condit iile n care intervin factorii de nesincronizare df si fl . Valoarea pDmax determin a TCLKmin , adic a frecvent a maxim a a semnalului de ceas, deci performant a de vitez a. Valoarea pDmin determin a transferul corectat al datelor n registrul Rj , deci funct ionarea corect a a sistemului. Dac a timpul de propagare minim, de la registrul Ri la Rj , este mai mc dec at timpul de ment inere H al registrului Rj , pDmin < H , adic a datele nscrise n registrul Ri ajung la registrul

488

3.5. CIRCUITE REGISTRU

Rj nainte ca datele anterioare aplic arii frontului activ de ceas s a fost nscrise n registrul Rj , n registrul Rj se nscriu datele de la registrul Ri ; deci pe un singur tact datele parcurg dou a etape n calea de transfer ( nscriere n registrul R i si propagare la registrul Rj precum si nscriere n registrul Rj pentru c a timpul de ment inere H de la registrul Rj nu s-a consumat). Pentru a evalua modul cum se poate asigura at at performant a c at si funct onarea corect a a sistemului sincron se vor analiza tipurile de defazaj de ceas. Defazajul de ceas pozitiv, df > 0. O valoare pozitiv a pentru df , conform relat iei 3.53, apare c and frontul activ de ceas la registrul R j se aplic a cu un interval de timp df dup a aplicare aceluia si front activ de ceas la registrul R i , tCLKi < tCLKj . Practic, o astfel de situat ie n aplicarea semnalelor de ceas poate apare c and sensul de aplicare al semnalelor de ceas coincide cu sensul de deplasare al datelor si ntre registrele consecutive Ri si Rj , pe traseul de ceas, apare o nt arziere df , Figura 3.87-a. In prezent a defazajului df pozitiv, pentru nt arzierea minim a n propagarea datelor pDmin , nscrierea corect a in registrul Rj este asigurat a numai c and se respect a relat ia df + H pDmin , adic a: H pDmin df = pCQ + pCLC + pInt df (3.59)

Aceast a relat ie c and defazajul devine semnicativ, prin difernt a pDmin df de valoare mic a, poate impune pentru timpul de ment inere H s a aib a o valoare mai mic a dec at valoarea minim a prescris a unui bistabil D pentru o funct inare corect a (evitarea metastabilit a tii, Figura 3.46). Deci cre sterea defazajului poate determina ca funct ionarea s a ajung a la limita critic a pentru care valoarea prescris a pentru H s a e H pDmin df , deci o nscriere incorect a a bistabilului R j . Inegalitatea exprimat a de relat ia 3.59 poate ajunge la limita critic a pentru circuitele care cascadeaz a bistabile, cum sunt structurile de registre de deplasare sau de num ar atoare; la aceste circuite pCLC = 0 ( n general), pInt 0 (prin geometria de proiectare), deci se poate ajunge la H pCQ df . Un registru sau un num ar ator care funct ioneaz a la limita acestei inegalit a ti poate avea o funct ionare corect a la testare dar, n utilizare, datorit a variat iilor de mediu (temperatur a, tensiune), poate inversa inegalitatea. Pentru o funct ionare sigur a a acestor tipuri de circuite se recomand a o comand a cu un defazaj de ceas negativ. In prezent a defazajului df pozitiv de valoare mult mai mic a dec at pD pericolul nscrierii eronate nu poate apare dar, n schimb, la o valoare mare a timpului de propagare a datelor aceasta trebuie corelat a cu perioada minim a impus a pentru semnalul de ceas. Din diagrama de semnale din gur a rezult a c a durata perioadei de ceas plus timpul de defazaj, TCLK + df , nu poate mai mic a dac at timpul de propagare a datelor plus timpul de stabilizare al registrului R j , TCLK + df pD + SU = pDmax . Din aceast a relat ie rezult a valoarea minim a a prioadei de ceas: TCLKmin pDmax df = pCQ + pCLC + pInt + SU df (3.60)

De notat faptul c a, fat a de cazul de inexistent a a defazajului, df = 0, c and comanda se face cu o perioad a minim a dat a de relat ia 3.57, n prezent a defazajului de ceas pozitiv, prin relat ia 3.60, comanda se poate realiza cu o perioad a de ceas mai mic a, deci o frecvent a mai ridicat a (un efect benec al defazajului pozitiv! , vezi Exemplul 3.31).

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a sensuri sunt opuse); c) exempicare de utilizare a defazajului pozitiv pentru m arimea frecvent ei se sincronizare ntr-o cale de date.

490

3.5. CIRCUITE REGISTRU

Defazajul de ceas negativ, df < 0. Defazajul negativ de ceas apare c and frontul activ se aplic a nt ai la Rj si apoi la Ri , adic a tCLKj < tCLKi . O astfel de comand a poate apare c and sensul de aplicare al semnalelor de ceas este opus sensului de deplasare al datelor si ntre registrele consecutive R i si Rj , pe traseul de ceas, apare nt arzierea df , Figura 3.87-b . Relat iile pentru valoarea critic a a timpului de stabilizare H si a perioadei minime de ceas TCLKmin , se deduc prin acela si rat ionament ca si pentru df > 0, sunt respectiv ( 3.59) si ( 3.60) cu diferent a c a pentru calcul se introduce o valoare negativ a pentru defazaj. Se observ a c a defazajul negativ, n raport cu cel pozitiv, este mai put in restrictiv pentru timpul de ment inere H (poate avea valori mai mari care asigur a o nscriere corect a a datelor), dar, n schimb, m are ste valoarea pentru TCLKmin (ceea ce poate o limitare n sistemele de vitez a rdicat a). In concluzie, cre sterea defazajului pozitiv are ca efect mic sorarea perioadei minime de ceas aplicabile dar poate duce la o degradare a nscrierii corecte (funct ion arii sigure), pe c and cr sterea defazajului negativ, n valoare absolut a, are ca efect m arirea perioadei minime de ceas aplicabile dar cu o nbun at a tire pentru nscrierea corect a. Dar ntr-o cale de transfer de date ecare registru/bistabil R j , n afar a de primul si ultimul, realizeaz a o etap a cu urm atorul R k si o alt a etap a cu cel anterior Ri (i < j < k ). Consider and defazaj zero n cele dou a etape, la m arirea/mic sorarea timpului de aplicare a semnalului de ceas tCLKj la registrul Rj se va genera un defazaj negativ/pozitiv n etapa Rj Rk si un defazaj pozitiv/negativ n etapa Ri Rj , deci efectele care apar, prin aceasta, asupra perioadei de ceas aplicabile si asupra funct ion arii sigure vor n sensuri opuse n cele dou a etape. Rezult a c a modicarea timpului tCLKj , f ar a modicarea timpilor tCLKi si tCLKk , poate modica, n sens contrar, valoarea minim a, TCLKmin , aplicabil a n cele dou a etape vecine Ri Rj si Rj Rk . Aceast a concluzie poate utilizat a pentru o metod a de optimizare global a ,, a unei c ai de date printr-o optimizare/modicare local a (deskewing data pulses , ,, cycle stealing ); metod a aplicabil a c and n calea de date exist a diferent e mari ntre valorile timpilor de propagare pD din dou a etape consecutive, dar s a concretiz am printr-un exemplu. Exemplul 3.31 In Figura 3.87-c este prezentat un segment dintr-o cale de date, cu cele trei registre Ri , Rj , Rk , cu specicarea timpilor de propagare maxim a din ecare etap a din calea de date, prin ovale orizontale si prin ovale verticale, nt arzierile (considerate egale) de pe ecare traseu de aplicare a semnalelor de ceas. Frecvent a maxim a de ceas, cu care se poate sincroniza aceast a cale de date (consider and c a registrele sunt identice, cu pCQ = 2ns), este impus a de etapa cu propagarea maxim a, adic a etapa Rj Rk unde pDmax = 7ns + 2ns = 9ns, deci fmax = 1/9ns = 111.1M Hz . Dac a numai timpul de aplicare al semnalului de ceas tCLKj , la registrul Rj , este mic sorat de la 3ns la 1.5ns, prin ajustarea nt arzierii de pe traseul respectiv, apare, conform relat iei 3.58, un defazaj pozitiv pentru etapa Rj Rk , 3ns 1.5ns = 1.5ns, si un defazaj negativ pentru etapa Ri Rj , 1.5ns 3ns = 1.5ns. Aceasta nseamn a, conform relat iei 3.60, c a perioada minim a de ceas aplicabil a n etapa Rj Rk poate mic sorat a, 2ns +7ns 1.5ns = 7.5ns, iar n etapa Ri Rj trebuie s a e m arit a, 2ns + 4ns (1.5ns) = 7.5ns, deci se ajunge la o egalitate ntre perioadele de ceas minime aplicabile n cele dou a etape vecine; rezult a o frecvent a maxim a de comand a fmax = 133.3M HZ (o cre stere cu 19.98%). Prin mic sorarea timpului tCLKj de la 3ns la 1.5ns nu se afecteaz a nscrierea corect a a datelor n registrul Rk ; n etapa Rj Rk defazajul este pozitiv dar valoarea acestuia este mult mai mic a dec at timpul maxim de propagare (df = 1.5ns < 9ns = pDmax ), deci nu devine critic a

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

491

valoarea impus a pentru H , vezi relat ia 3.59. Aceast a modalitate de modicare local a ntr-o cale de date, dar cu efect de optimizare global a deoarece cre ste frecvent a maxim a pentru GCLK, depinde de posibilitatea de modicare n circut a nt arzierii pentru a obt ine un df ajustabil si evident, de variat iile de mediu (temperatur a si tensiune).

Ret eaua de distribut ie a semnalelor de ceas. Mult imea de trasee de la sursa de ceas general, GCLK, p an a la punctele de aplicare a semnalelor de ceas pentru sincronizare formeaz a ret eaua de distribit ie. Performant ele care se urm aresc, pentru o ret ea, si care sunt fundamentale pentru funct ionarea corect a a circuitului sunt: timpul de propagare ( nt arzierea introdus a) de la GCLK p an a la punctele de aplicare, adic a sincronizarea; defazajul de ceas si puterea disipat a. Exist a dou a modalit a ti, de structurare a unei ret ele: de arbore buerat si de arbore simetric. Ret eaua de distribut ie sub form a de arbore buerat are, prin analogie o structur a de arbore, un traseu principal pornind din sursa de GCLK (r ad acin a) care ,, apoi se ramic a pentru ecare registru, acestea ind frunzele , Figura 3.88-a. Pe acest traseu de la r ad acin a la frunze se introduc buere care au rolul de amplicare si de izolare. Num arul de buere nseriate depinde de sarcina capacitiv a total a (interconexiuni si punctele de sincronizare) ce trebuie comandat a. Ie sirea buferului trebuie s a genereze un curent sucient de nc arcare si desc arcare al capacit a tilor ntr-un timp scurt pentru ca semnalele de ceas s a prezinte fronturi abrupte necesare procesului de sincronizare; acest a cerint a impune ca buerul s a aib a o funct ionare de generator de curent, rezistent a sa de ie sire s a e mult mai mare dec at rezistent a conexiunilor ret elei comandate (restrict ie ce poate ndeplinit a relativ u sor dac a ret eua de distribut ie este realizat a n strat metalizat). Dar buerele sunt si principala surs a de introducere de defazaj deoarece caracteristicile elementelor active din ret ea (buere) variaz a mult mai pronunt at n raport cu caracteristicile elementelor pasive (interconexiuni) at at datorit a procesului de fabricat ie c at si datorit a mediului. Uneori pentru a mic sora rezistent a interconexinilor, si a uniformiza disipat ia de putere pe toat a suprafat a de integrare, ret eaua de distribut ie este realizat a sub forma unei plase de trasee pe o suprafat a c at mai mare, n gur a este prezentat a, ca medalion, o structurare de principiu pentru o plas a. Pentru reducerea controlat a a puterii disipate n ret eaua de distribut ie sunt introduse port i care, comandate cu un semnal de condit ionare, pot s a elimine alimentarea cu un semnal de ceas a anumitor zone locale pentru anumite intervale de timp. A doua structur a de ret ea de distribut ie pentru semnalele de ceas poate considerat a tot un arbore dar sub form a de arbore simetric, echilibrat, av and forma de H sau X, Figura 3.88-b; evident ecare v arf H sau X se poate continua cu un alt H sau X si acesta s a se continue cu un alt H sau X s.a.m.d. Bifurcarea traseelor, din cel anterior, duce si la njum at a tirea l a timii acestor trasee pentru ca n propagarea semnalelor s a se evite reexia n punctele de bifurcat ie. Aceast a structurare realizeaz a ca atingerea oric arei frunze s a se fac a prin trasee de aceea si lungime si sect iune, obt in andu-se nt arzieri egale fat a de GCLK, deci, teoretic, un defazaj de ceas nul. In raport cu arborele buerat, arborele simetric H trebuie s a comande o capacitate mai mare deoarece traseele necesare sunt mai lungi. In plus, arborele H este mai put in potrivit pentru VLSI care au un layout mai put in simetric. Combinat ia ntre cele dou a tipuri de structuri pare a compromisul indicat: o ret ea H, pentru distribut ia

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 Modalit a ti de structurare a ret elei de distribut ie pentru semnalul de ceas: a) sub forma unei ret ele de arbore buerat; b) sub forma unei ret ele de arbore simetric H.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

493

global a de semnal de ceas, continuat a din v arfuri cu ret ele buerate pentru distribut ia local a. In circuitele VLSI actuale ret eaua de distribut ie a semnalului de ceas ajunge s a comande zeci de mii de registre, deci a unei sarcini capacitive ce se apropie de 100cm! Intr-o ret ea de distribut ie de ceas ecare tranzit ie schimb a starea n ecare nod capacitiv, spre deosebire de o ret ea combinat ional a unde activitatea de comutat ie a elementelor este determinat a de funct ia logic a. Combinat ia de sarcin a capacitiv a mare, CL , si frecvent a ridicat a determin a o valoare ridicat a pentru componenta di2 namic a a puterii disipate, VDD CL f ; la unele procesoare actuale mai mult de 30% din puterea consumat a se reg ase ste n puterea disipat a n ret eaua de distribut ie a ceasului. Solut iile pentru reducerea componentei dinamice a puterii disipate sunt: 1 - mic sorarea tensiunii de alimentare (implement ari la 1 2 VDD numai pentru alimentarea ret elei de ceas, prin aceasta degradarea performant ei de vitez a este nesemnicativ a); 2 - mic sorarea capacit a tii echivalente totale, printr-o proiectare adecvat a, (3 - mic sorarea frecvent ei se exclude deoarece viteza este o cerint a a majorit a tii circuitelor VLSI). De asemenea, pentru nealimentarea temporar a local a, exist a port i care comand a condit ionat aplicarea semnalului de ceas (vezi medalionul de la Figura 3.88-b). Pentru circuitele VLSI actuale, care lucreaz a la frecvent e de peste 1GHz , realizarea distribut iei semnalului de ceas si ment inerea puterii disipate n limita de sigurant a sunt dou a aspecte ce ridic a dicult a ti. La valori f CLK > 1GHz , perioada semnalului de ceas TCLK se mic soreaz a p an a la valori care nu dep a sesc timpul de propagare, p poart , prin 10 pot i logice, T < 10 , iar m a rimea defazajului a CLK p poart a de ceas trebuie ment inut sub 30ps (1ps = 1012 s) [Friedman 01]. Obt inerea acestor m arimi reduse de defazaj ridic a dicult a ti datorit a faptului c a valorile nt arzierilor semnalului de ceas au variat ii greu de controlat. Aceste variat ii greu de controlat ale valorilor nt arzierilor se datoreaz a: 1 - procesul de fabricat ie nu poate asigura o dispersie care s a duc a la obt inerea unor parametri cu abateri foarte str anse; 2 - variat iile de mediu (temperatur a, tensiune); 3 - utilizarea n proiectare a unor modele cu o precizie nc a nesatisf ac atoare pentru schemele echivalente de circuit. Pentru frecvent e peste (1 2)GHz si efectul de linie de transmisie trebuie luat n considerare, deci pe l ang a caracterul RC al sarcinii apare si componenta de inductivitate L rezult and caracteristici de tip RLC. Caracterul RLC n funct ionare modic a puternic nt arzierea semnalului si puterea disipat a (uneori aceasta poate chiar s a descreasc a). Pentru frecvent e peste 1GHz structurarea ret elei de distribut ie a semnalelor de ceas cuprinde, n succesiune, urm atoarele trei componente: 1 - global, o ret ea pentru distribut ia semnalului GCLK, la care se conecteaz a; 2 - regional, o serie de circuite de compensare a defazajului (deskew circuits), ecare dintre acestea comand a, printr-o ret ea arbore echilibrat; 3 - local, o multitudine de buere ce alimenteaz a punctele de sincronizare de la registre. In plus, n paralel cu ret eua global a, GCLK, mai exist a (separat) nc a o ret ea care distribuie un semnal GCLK etalon, dar nc arcarea acestei ret ele este mult mai mic a dec at cea a ret elei globale. Ret eaua global a, GCLK, structurat a ca un arbore H, distribuie semnalul de ceas de la PLL p an a la circuitele regionale de compensare a defazajului. Pentru a minimiza efectele de cuplare capacitiv a si inductiv a ntre liniile adiacente de semnal si traseele ret elei GCLK, acestea, din urm a, sunt complet ecranate prin plasarea ntre linii de mas a si de alimentare VDD . Componenta de compensare a defazajului care se bazeaz a,

494

3.5. CIRCUITE REGISTRU

n principal pe un sistem de reglare const a din (1) un detector de faz a, dintre semnalul GCLK etalon si un semnal de react ie cules local. Semnalul diferent a de faz a comand a digital o linie de nt arziere analogic a a c arei ie sire se aplic a la (2) un buer ce produce un semnal de ceas f ar a nt arziere si care se aplic a la o (3) - ret ea arbore echilibrat ce alimenteaz a buerele locale. De la un buer local se distribuie semnale de sincronizare printr-o ret ea de port i comandate condit ionat (deci se poate reduce puterea disipat a prin nealimentare temporar a). Toate sistemele electronice, fundamental, sunt de natur a asincrone, totu si printr-o precis a inserare a unei relat ii de temporizare local a n realizarea funct iilor si utilizarea elementelor de memorare un sistem asincron poate adaptat s a aib a o funct ionare sincron a. At ata timp c at relat ia de temporizare local a este ndeplinit a (sincronizarea), modul de abordare sincron poate aplicat, implementarea de sisteme, controlabile n funct ionare, este posibil a. Oricum, sistemele sincrone vor nc a mult timp modul comun de implementare p an a vor ceda locul implement arilor asincrone(care, n principiu, pot obt ine viteze de procesare mai ridicate). Exemplul 3.32 Pentru circuitul din Figura 3.89-a, n raport cu sensul de transfer prin poarta C n etapa D1 D2 , semnalul de ceas se aplic a: a - n acela si sens; b - n sens opus. Pentru aceste dou a variante de aplicare a semnalului de ceas s a se calculeze lungimea maxim a a conductorului (lD1 D2 si lD2 D1 ) care asigur a un transfer de date corect ntre bistabile precum si frecvent a maxim a a semnalului de ceas. Parametrii de timp pentru circuitele utilizate sunt dat i n Figura 3.89-b. Pentru viteza de propagare a semnalului se consider a valoare 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 a pentru exemplul 3.32

Solut ie. Valorile maxime si minime ale timpilor de propagare pentru transferul D 1 D2 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 port ile A si B se calculeaz 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 SECVENT IALE, 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 a variante a si b aplic and relat iile (3.59) si (3.60) se obt in respectiv valorile lungimilor maxime si frecvent ei maxime. 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 a datelor n D1 , dimpotriv a ajut a! TCLKD1 D2 min pD1 D2 (HL)max + SU dfD1 D2 = 62ns + 20ns 12ns = 90ns Iar pentru transferul D2 D1 prin port ile A si B se calculeaz a TCLKD2 D1 min pD2 D1 (HL)max + SU dfD2 D1 = 82ns + 20ns (12ns) = 114ns deci frecvent a maxim a fmax 1/114ns = 87.71M Hz este limitat a de acest transfer.

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 la nscrierea Defazajul negativ dfD1 D2 = 22ns, pentru transferul D1 D2 ajut corect a a datelor n bistabilul D2 . 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 frecvent a maxim a fmax 1/104ns = 96.153M Hz este limitat a de acest transfer. Frecvent a maxim a, pentru cazul c and bistabilele D1 si D2 se comand a sincron, este xat a de transferul cel mai lung TCLKmin pD2 D1 (HL)max + SU = 82ns + 20ns = 102ns, fmax 98.039M Hz .

3.6

MEMORIA CU ACCES ALEATORIU

Circuitul RAM (Random-Access-Memory), ca si circuitul ROM (2.4.6), este un suport pentru stocarea informat iei sub form a de cuvinte binare. Spre deosebire de ROM, la RAM, pe l ang a posibilitatea de citire a imformat iei, exist a si facilitatea de modicare a informat iei, adic a de nscriere. Referirea acestor circuite cu termenul de memorie reect a o similitudine cu memoria natural a. Totu si, procesul de extragere/reg asire a informat iei n aceste circuite electronice, n comparat ie cu memoria natural a, este destul de diferit. La memoria natural a se reg ase ste o informat ie pe ,, ,, baza unei mai mici informat ii (un r ) care are o conexiune cu informat ia c autat a, deci un proces de asociere. In aceea si abordare, putem spune c a si circuitele ROM sau RAM sunt o memorie pentru c a reg asirea unei informat ii se face tot printr-o asociere, ,, acest r ind o adres a, a locat iei unde a fost stocat a informat ia. Dar exist a si circuite electronice la care reg asirea informat iei se face prin asociere la aceasta a unei informat ii part iale, similar memoriei naturale, acestea sunt memoriile de tip asociativ [Stefan 00]. Termenul de memorie RAM exprim a faptul c a accesul la oricare locat ie (random) se poate face f ar a nici o restrict ie de timp indiferent care este adresa locat iei accesate; posibilitate care este evident a si la circuitul ROM. Justicarea termenului de random (aleator) este de nuant a istoric a. Primele memorii cu citire si nscriere aveau accesul serial, adic a accesul la o locat ie nu putea realizat dec at numai dup a parcurgerea

496

3.6. MEMORIA CU ACCES ALEATORIU

tuturor adreselor locat iilor anterioare; un exemplu curent de memorie serial a este caseta magnetic a unde accesul la o anumit a informat ie (date, sunet sau imagine) se face prin derularea benzii p an a la pozit ia respectiv a. Un alt exemplu de memorie serial a este registrul inel la care nscrierea sau citirea unui bit se face prin recicularea cuv antului n inel p an a c and pozit ia din cuv antul respectiv ajunge s a e transferat a din ultima celul a n prima celul a. La aparit ia memoriei cu acces aleator, aceast a caracteristic a de accesare la oricare locat ie ind un salt deosebit din punct de vedere al vitezei de acces, n raport cu memoriile cu acces serial, s-a imprimat n denumire (abreviat ia) RAM, care a devenit un termen utilizat n exclusivitate. Denumirea corect a ar de memorie RWM (Read/Write Memory). Spre deosebire de circuitul ROM memoria RAM este de tip volatil, adic a la ,, pierderea tensiunii de alimentare informat ia stocat a se volatilizeaz a . Aceast a volatilitate se datoreaz a faptului c a stocarea unui bit are ca suport zic o stare a unui circuit, stare ce dispare la nealimentarea circuitului, si nu prezent a sau absent a unui element zic (fuzibil, diod a, tranzistor) este suportul zic, cum apare la circuitul ROM. Structurarea de principiu pentru memoria RAM poate realizat a printr-o extensie a celei pentru memoria ROM,Figura 2.49-a. La fel ca si la ROM se adopt a, pe suprafat a de Si, pentru memoria RAM, o form a p atratic a sau o form a dreptunghiular a apropiat a de un p atrat. De exemplu, pentru o memorie RAM de capacitate 2n m bit i (n bit i de adrese si un cuv ant de date de m bit i pe I/O), din cuv antul de adresare, An1 An2 . . . A1 A0 , subcuv antul de n2 bit i, An1 An2 . . . An1 +1 An1 , se aplic a decodicatorului DCDn2 : 2n2 pentru activarea liniilor de cuv ant, iar subcuv antul de n1 bit i, An1 1 An1 2 . . . A1 A0 , se aplic a pentru selectarea coloanelor, n1 + n2 = n, Figura 3.90-a . Valorile care duc la o form a p atratic a se calculeaz a cu relat iile n2 = (n + k )/2, n1 + k = (n + k )/2; lungimea cuv antului de date, m, este n general o putere a lui doi, m = 2k . Pe ecare linie de cuv ant activat a prin una din cele 2 n2 ie siri de la DCDn2 : 2n2 n1 exist a m 2 celule, adic a linii (coloane) de bit, care formeaz a 2 n1 cuvinte, ecare cuv ant cu lungimea de m bit i. La aplicarea subcuv antului de n 1 bit i se selecteaz a simultan, din linia activat a de DCD, m linii de bit, selectare care se poate realiza cu un grup de m M U X 2n1 : 1. Deoarece cele m linii de bit (celule) trebuie s a e at at nscrise c at si citite impune pentru cuv antul de date, D m1 Dm2 . . . D1 D0 , s a poat a aplicat la terminalele de I/O n ambele sensuri. Acest dublu sens de transfer al datelor pe I/O impune pentru citire selectarea liniilor de bit s a se realizeze cu un grup de m M U X 2n1 : 1; iar pentru nscriere selectarea s a se realizeze cu un grup de m DM U X 1 : 2n1 ; n practic a select arile pentru cele dou a sensuri sunt incluse ntr-un grup de m (M U X/DM U X ). Realizarea acestei duble select ari se bazeaz a pe elemente care pot conduce n ambele sensuri: tranzistoare de trecere sau port i de transmisie. Transferul n ambele sensuri, ale grupului m (M U X/DM U X ), poate realizat de m M U X 2n1 : 1 cu o structur a arborescent a cu tranzistoare de trecere, Figura 2.35-b. Num arul tranzistoarelor de trecere pe oricare ramur a, n sensul de la I/O la o linie de bit, sau n sens invers, este egal cu n 1 . Aceast a structur a arborescent a de M U X , c and n1 are valoare ridicat a, poate duce la valori mari pentru timpul de transfer al datelor la memorie, deoarece timpul de transfer pe o ramur a ntre linia de bit si I/O este proport ional cu rezistent a echivalent a a tranzistoarelor pe acea

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a (prin linii de cuv ant si linii (coloane) de bit); b) simbol de reprezentare pentru un circuit RAM; c),d) structurare de principiu respectiv pentru o celul a static a si pentru o celul a dinamic a.

498

3.6. MEMORIA CU ACCES ALEATORIU

ramur a. O alt a variant a care realizeaz a valori mai reduse pentru timpul de transfer al datelor utilizeaz a doar c ate un singur tranzistor de trecere pe ecare traseu care duce ine n urma aplic ari la cele m 2n1 linii de bit, iar comanda acestor tranzistoare se obt siri subcuv antului An1 1 An1 2 . . . A1 A0 la un DCDn1 : 2n1 . Fiecare din cele 2n1 ie ale DCD va comanda m tranzistoare de trecere, ceea ce poate constitui o nc arcare ridicat a. De asemenea, num arul de tranzistoare necesar pentru selectarea coloanelor si n1 2n1 tranzistoare pentru de bit este (m + n1 )2n1 ; m2n1 tranzistoare de trecere circuitul decodicator. Se pot concepe si variante hibride ntre aceste variante cum ar : arbori part iali cu un num ar p de tranzistoare, p << n 1 , apoi ecare arbore part ial nseriat cu un tranzistor de trecere comandat de la ie sirea unui DCD(n 1 p) : 2(n1 p) poate duce la valori rezonabile pentru timpii de acces si num arul de tranzistoare [Kang 96]. Dimeniunea memoriei RAM structurat a cu o adresare bidimensional a, c and n1 n2 n/2, deoarece k are valori mici 4, m = 1, 4, 8, 16 se poate calcula cu relat ia 2.16, rezult a n O(2n ). Semnalele de control pentru memoria RAM sunt: selectare circuit CS L (Chip azute si la memoria Select), validarea ie sirii OE L (Output Enable), care sunt prev ROM, plus semnalul de validare a nscrierii WE L (Write Enable). Structurarea anterioar a a memoriei RAM, plec and de la memoria ROM, se reect a si n semnalele de control; o memorie RAM (static a) poate privit a ca o memorie ROM nzestrat a cu facilitatea de nscriere. ntr-o celul a a matricei RAM se obt ine, n interiorul Semnalul de nscriere WR L circuitului, pa baza conjunct iei a dou a semnale exterioare: cel de validare a nscrierii si cel de selectare a circuituluiW R L = W E L CS L. Pentru o nscriere corect aa unui cuv ant de date, Dm1 Dm2 . . . D1 D0 , ntr-o locat ie determinat a de cuv antul de adres a, An1 An2 . . . A1 A0 , trebuie respectat a cu strictet e o secvent ialitate n aplicarea semnalelor de control; nt ai se aplic a cuv antul de adres a, apoi cuv antul de date si ambele trebuie s a e stabile n momentul apic arii frontului activ al semnalului intern de nscriere W R L. Deoarece semnalul W R L se obt ine din conjunct ia celor si W E L trebuie luate n considerare si durata interdou a semnale externe CS L valelor de activare ale acestora n raport cu valorile satbile al cuv antului de date si ale cuv antului de adres a, aceste restrict ii vor explicate n sect iunea urm atoare. Citirea unui cuv ant de date din matricea RAM, la fel ca si la ROM, este mai put in exigent a fat a de stabilitatea adresei n momentul activ arii semnalului intern de validare a ie sirii I/OE L (I/O Enable); schimbarea adresei c and I/OE L = 0 (activ) nu va produce o modicare gre sit a n matricea RAM ci doar, eventual, citirea sire TSL se altei locat ii. Semnalul intern I/OE L pentru validarea buerelor de ie obt ine prin urm atoarea conjunct ie I/OE L = CS L W E L OE L. Pentru citire se aplic a cuv antul de adres a, se activeaz a semnalele de control selectare circuit, CS L, de antul citit se obt ine la ie sire prin buerele TSL. Activarea validare ie sire OE L, iar cuv semnalului de nscriere WE L=0, va trece buerele de ie sire n starea HZ (deci se exclude probabilitatea citirii unei locat ii); buerele de intrare nu trebuie comandate deoarece un cuv ant de date nu poate nscris dec at atunci c and se comand a operat ia de nscriere prin semnalul de nscriere, WE L=0. Celula de memorie RAM poate cu o funct ionare static a sau dinamic a. Celula RAM static a este de fapt o celul a bistabil a care prin cele dou a st ari ale sale poate stoca bitul 0 sau 1. Ca celul a bistabil a poate un latch sau un bistabil. Se prefer a totu si celula pe baz a de latch, Figura 3.90-c, pentru c a necesit a mai put ine compo-

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

499

nente dec at un bistabil deci se pot realiza memorii de capacitate mai ridicat a. Dar utilizarea unui latch n loc de bistabil, de exemplu de tip D, prezint a dezavantajele de transparent a si de funct ionare asincron a; memoria RAM av and n consecint a funct ionare asincron a. (Asincronismul trebuie privit prin faptul c a aplicarea semnalelor de control nu sunt raportate la aparit ia semnalului semnalului de ceas). Accesul la un latch dintr-un nod se realizeaz a prin dou a tranzistoare de trecere T 3 , T4 comandate de potent ialul liniei de cuv ant care trece prin acel nod. Cele dou a tanzistoare conecteaz a latch-ul, pentru realizarea operat iilor de citire si nscriere, la dou a linii de bit notate cu C1 si C2 , deci pentru ecare nod exist a nu una ci dou a linii de bit. Exist a variante cu o singur a linie de bit dar implement arile uzuale sunt cu dou a linii de bit deoarece operat iile de nscriere si citire sunt mult mai sigure. Latch-ul dintr-un nod comandat prin tranzistoarele de trecere T 3 si T4 poate comparat cu latch-ul cu ceas, Figura 3.40-a; semnalul de pe linia de cuv ant la o celul a de memorie ar echivalentul semnalului de ceas al latch-ului cu ceas care valideaz a port ile 3 si 4 pentru aplicarea intr arilor de date R si S (la celula de memorie se accept a dou a inversoare n loc de port i pentru cre sterea num arului de bit i integrat i pe suprafat a de Si). Celula RAM dinamic a, Figura 3.90-d, are ca suport pentru memorarea bitului 1 sau 0 prezent a sau absent a unei sarcini pe un condensator C realizat n ecare nod al matricei. Condensatorul este conectat la linia de bit printru-un tranzistor de trecere T care este comandat pe poart a de c atre potent ialul aplicat pe linia de cuv ant. Deoarece sarcina cu care este nc arcat condensatorul C , corespunz atoare memor arii bitului 1, se mic soreaz a n timp prin curentul rezidual al tranzistorului T se impune refacerea (re mprosp atarea) acestei sarcini prin re nc arcarea condensatorului; n general timpul dup a care se impune re nc arcarea este de ordinul ms. Denumirea de celul a dinamic a s-a acceptat prin similitudinea funct ion arii cu cea a circuitelor dinamice, dar de data acesta nu se utilizeaz a o capacitate parazit a a circuitului ci aceast a capacitate C este implementat a n ecare nod mpreun a cu tranzistorul T . Parametrii care se analizeaz a pentru compararea circuitelor de memorie sunt: 1 - costul/bit, care este direct legat de densitatea de integrare (num arul de bit i pe unitatea de suprafat a de Si); 2 - timpul de acces, care determin a viteza de lucru a circuitului; 3 - puterea disipat a. Comparativ, memoriile RAM statice realizeaz a viteze mult mai bune de ordinul ns (pot ajunge p an a la 2ns timp de acces) fat a de cele dinamice care se situeaz a n domeniul zeci de ns, in schimb memoriile RAM dinamice au performant e superioare n ceea ce prive ste puterea disipat a si densitatea de integrare.

3.6.1

Memoria RAM static a

Memoria cu acces aleatoriu static a, SRAM, utilizeaz a ca celul a de memorie un latch; inversoarele latch-ului pot cu sarcin a rezistiv a (realizat a n polisiliciu) sau cu sarcin a activ a (tranzistoare cu canal init ial, Figura 1.54-a, sau cu tranzistor complementar, Figura 1.33-a). In funct ie de existent a sau neexistent a unui tranzistor de sarcin a, n structura inversorului, celula static a de memorare dintr-un nod al matricei poate format a respectiv din 6 sau 4 tranzistoare (sunt incluse si cele dou a tranzistoare de trecere prin care se conecteaz a la linia de bit); de unde denumirea de celul a 6T-SRAM sau 4T-SRAM. Practic, actual, majoritatea implement arilor VLSI

500

3.6. MEMORIA CU ACCES ALEATORIU

de memorii SRAM se bazeaz a pe o celul a 6T-CMOS; aceat a impunere a memoriilor CMOS-SRAM n raport cu alte implement ari SRAM se datoreaz a urm atoarelor avantaje: 1 - putere redus a (puterea disipat a n regim stat ionar este practic nul a, determinat a doar de curentul rezidual prin inversoarele CMOS); 2 - imunitate ridicat a la zgomot, relat ia 1.19, deoarece admite margine de zgomot de valoare ridicat a, relat ia 1.18; 3 - posibilitatea de funct ionare ntr-o larg a plaje de tensiuni de alimentare (mai ales la tensiuni reduse). Dezavantajele memoriei CMOS-SRAM sunt: 1 - consum mai ridicat de suprafat a pe aria de Si; 2 - proces tehnologic mai complex; 3 - tendint a de ,, aparit ie a fenomenului de z avor are (vezi sect iunea 1.6). Prin tehnologiile actuale cu multiple straturi de polisiliciu si multiple straturi de metal (pentru realizarea conexiunilor) se reduce dezavantajul consumului mai ridicat de suprafat a . Implement arile de putere si tensiune redus a utilizeaz a o celul a 6T-CMOS, n consecint a n continuare se va analiza structurarea si funct ionarea memoriei cu o astfel de celul a. O astfel de structurare este prezentat a n Figura 3.91-a cu o celul a 6T desenat a la intersect ia liniei de cuv ant j (activat a de ie sirea j a decodicatorului de linii, DCDn 2 : 2n2 , Figura 3.90-a) cu coloana de bit i (compus a din cele dou a coloane de bit C 1 , C2 ) care este selectat a prin cuv antul An1 1 An1 2 . . . A1 A0 aplicat grupului de MUX/DMUX. Operat ia de citire a celulei. Se consider a c a celula este nscris a n starea logic a 0 care, prin convent ie, corespunde valorilor de tensiune: n nodul 1 , V1 = 0V , deci T1 conduce, T5 blocat; iar n nodul 2 , V2 = VDD , T2 blocat, T6 conduce. La activarea liniei de cuv ant j , cu o tensiune VDD , tranzistoarele de acces T3 si T4 intr a in conduct ie conect and liniile de bit C1 si C2 , care au potent ialele VC1 = VC2 = VDD , la ie sirile latch-ului. Datorit a diferent ei de potent ial ntre linia C 1 si nodul 1 , prin tranzistorul T3 si T1 , condensatorul Ce1 , (capacitatea echivalent a a liniei C1 ) se descarc a produc and o mic a sc adere (maxim de ordinul sutelor de mV, deoarece capacitatea Ce1 este destul de mare) a potent ialului VC1 , rezult and o diferent a de potent ial ntre cele dou a linii V = VC1 VC2 < 0. In timp ce VC1 scade put in, tensiste, tensiunea V1 nu trebuie s a devin a mai mare dec at tensiunea unea n nodul 1 cre a relat ie, and T2 ar intra n conduct ie), V1max VpT2 . Din aceast de prag VpT2 (c n proiectarea latch-ului, rezult a valorile pentru raporturile dimensiunilor (W/L)T 3 si (W/L)T1 , pentru care se poate realiza citirea f ar a comutarea latch-ului n starea opus a. Amplicarea n prima etap a a diferent ei V se realizeaz a cu un amplicator de sens, care, de fapt, este un latch ale c arei ie siri sunt conectate la liniile de bit C 1 si C2 deci potent ialele pe port ile celor dou a tranzistoare T 9 si T10 sunt egale cu ncepe s a descreasc a, In momentul c and potent ialul VC1 al liniei C1 VC1 = VC2 = VDD . si tranzistorul T11 este comandat n conduct ie (prin selectarea coloanei), tranzistorul T10 este comandat nspre blocare, care prin react ie comand a pe T 9 nspre conduct ie realiz andu-se astfel bascularea acestui latch-amplicator. Pe traseul T 9 , T11 , nspre mas a condensatorul Ce1 se descarc a rezult and o m arire a diferent ei V C1 VC2 . Aceast a diferent a pronunt at a de tensiune, dintre cele dou a linii C 1 si C2 , rezultat a n urma procesului de citire a celulei de memorie, se aplic a prin intermediul tranzistoarelor de trecere T14 si T15 pe intr arile amplicatorului de sens. Amplicatorul de sens (diferent ial) va genera (prin driverul de ie sire TSL) un semnal 0 logic pentru V < 0 si un semnal 1 logic pentru V > 0. Tranzistorul T 20 este realizat cu o lungime de canal m arit a pentru a avea o funct ionare de generator

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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: a) structurarea unei coloane dintro matrice RAM. Pe l ang a structura unei celule sunt prezentate circuitele necesare operat iilor de nscriere si citire; b) tabelul de adev ar pentru generarea semnalelor, de comand a a liniilor de bit W C1 si W C2 , n efectuarea operat iei de nscriere.

502

3.6. MEMORIA CU ACCES ALEATORIU

de curent. Terminalele de substrat ale tranzistoarelor T 16 si T17 sunt conectate la nodul de surs a comun a, si nu la mas a, pentru a se evita variat ia tensiunilor de prag ale acestor tranzistoare datorit a polariz arii de substrat. Pentru aceste variat ii mici V amplicatorul de sens diferent ial realizeaz a un semnal de r aspuns cu un timp de cre stere de valoarea r 1ns (vezi Figura 1.15-a). La citirea st arii logice 1, nscris a n celul a ( n nodul
1 , V1 = VDD , deci T5

and, conduce, T1 blocat; iar n nodul 2 , V2 = 0V , deci T2 conduce, T6 blocat) analiz sirea driverului similar, ca n cazul anterior se genereaz a V = V C1 VC2 > 0, iar la ie TSL se obt ine semnalul 1 logic. In utilizarea memoriei SRAM poate apare cazul c and se cite ste o celul a de pe o coloan a, nscris a n 0 deci V < 0, iar citirea urm atoare este de la o celul a tot de pe aceea si coloan a, dar nscris a n 1 deci V > 0. Pentru aceste cazuri, pentru a citi corect si rapid, trebuie nc arcate, n intervalul dintre cele dou a citiri, cele dou a capacit a ti echivalente Ce1 si Ce2 cu aceea si sarcin a deci liniile C1 si C2 aduse la acela si potent ial. In acest scop este introdus a posibilitatea de egalizare (/pre nc arcare), PC, de aducere la acela si potent ial a liniilor de bit. Operat ia de nscriere n celul a. S a consider am, ca si anterior, c a valorile la ie sirea latch-ului V1 = 0, V2 = VDD reprezint a 0 logic, iar V1 = VDD si V2 = 0 reprezint a 1 logic. Pentru nscrierea celulei de memorie n starea 1 se aplic a pe linia ial si pe linia C2 potent ialul VC2 = 0V , iar celula init de bit C1 potent ialul VC1 = VDD este n starea zero. La activarea liniei de cuv ant j tranzistoarele T 3 si T4 intr a n si pe poarta tranzistoarelor T2 , T6 se aplic a VC1 = VDD , iar conduct ie, n nodul 1 si pe poarta tranzistoarelor T1 , T5 se aplic a VC2 = 0V ; prin conexiunile n nodul 2 care realizeaz a o react ie pozitiv a starea inversorului din dreapta, cu T 2 blocat T6 n conduct ie, va trece n starea cu T2 n conduct ie si T6 blocat, iar inversorul din st anga va trece din starea cu T1 n conduct ie si T5 blocat n starea cu T1 blocat si T6 n conduct ie ceea ce reprezint a nscrierea st arii 1 n celul a. Dac a celula era n starea 1, aplicarea pe liniile de bit VC1 = VDD , VC2 = 0 nu produce bascularea latch-ului. In mod similar, dac a pe liniile de bit C1 , C2 se aplic a respectiv VC1 = 0V si VC2 = VDD , iar celula era n stare logic a 1 se va produce bascularea celulei n starea logic a 0, iar dac a era n starea logic a 0 nu se produce nici o modicare. Aplicarea celor dou a tensiuni de niveluri logice diferite pe cele dou a linii de bit se realizeaz a cu circuitele desenate n partea de jos a gurii. Practic, pentru nscrierea n 1, coloana C2 este conectat a la mas a prin tranzistoarele T 13 si T21 , iar pentru nscrierea n 0 coloana C1 este conectat a la mas a prin tranzistoarele T 12 si T21 ; T21 intr a n conduct ie c and coloana de bit j este selactat a prin semicuv antul de adres a An1 1 An1 2 . . . A1 A0 . Semnalele complementare W C1 si W C2 , care comand a respectiv tranzistoarele T12 si T13 , se obt in din valoarea bitului Di , a cuv antului de date, aplicat pe intrare pentru a nscris si din semnalul de nscriere n celul a WR L, prin intermediul a dou a port i NOR, conform tabelului de adev ar din Figura 3.91-b. Tranzistoarele T12 , T13 si T21 trebuie s a e dimensionate cu valori ridicate pentru raportul (W/L) pentru ca s a fort eze aproape la zero potent ialele coloanelor n operat ia de nscriere. Semnalele W C1 si W C2 pot utlizate pentru comanda si a altor coloane, n cazul nostru de 2n1 coloane (dar atent ie la fan-out care cre ste mult!). Parametrii de timp pentru operat iile de citire si nscriere n memorie. Pentru efectuarea corect a a operat iilor de citire si nscriere semnlele care concur a

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

503

(cuv antul de adres a An1 A0 , cuv antul de date Dm1 D0 pe I/O si semnalele de control: validare nscriere WE L; selectare circuit CS L; validare ie sire OE L, Figura 3.90-b) trebuie s a aib a o anumit a succesiune n timp si sunt restrict ionate de anumite valori limit a de timp. Aceste restrict ii sunt impuse de nscrierea latch-ului care are o funct ionare transparent a. Semnalul intern WR L care nscrie datele n latch, si care determin a durata de transparent a a latch-ului, se obt ine ca o conjunct ie ntre semnalele de intrare, W R L = W E L CS L, deci acest semnal este activ n L pe o durat a WP egal a cu intervalul n care ambele semnale de intrare sunt active. Latchul devine transparent la nceputul duratei WP , pe frontul H-L, si r am ane n stare de transparent a p an a la frontul L-H. Pe durata de transparent a , WP , nu se impune pentru cuvintele de date si de adres a aplicate s a e stabile, dar este necesar ca acestea s a e stabile fat a de frontul L-H, pe un interval SU nainte si H dup a; aceast a restrict ie se va reecta n denirea parametrilor de timp urm atori [Wakerly 00]. Operat ia de citire n memorie, Figura 3.92-a (semnalul de nscriere se consider a neactivat, WE L=H)
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) ia de nscriere pentru operat ia de citire (WE L, inactiv); b) pentru operat

- AA , timpul de acces (fat a de aplicarea adresei). Este intervalul de timp din momentul aplic arii la intrare a cuv antului de adres a p an a n momentul c and cuv antul de date citit este valid la pinii I/O (se presupune c a semnalul intern In exprimarea profesional a c and se refer a la o I/OE L a fost deja activat). memorie, de exemplu de 60ns se nt elege AA .

504

3.6. MEMORIA CU ACCES ALEATORIU

- ACS , timpul de acces de la selectarea circuitului. Este intervalul de timp din momentul aplic arii semnalului CS p an a n momentul c and cuv antul de date citit este valid la pinii I/O (se presupune deja cuv antul de adres a si semnalul OE c a au fost aplicate si sunt stabile). In general AA = ACS dar nu si n cazul circuitelor la care neactivarea semnalului CS introduce circuitul n regimul de a steptare (standby), Figura 2.49-a. - OE , timpul de validare a ie sirii. Este intervalul din momentul n care ambele semnale OE si CS sunt activate (care genereaz a semnalul intern I/OE) p an a c and driverele de ie sire TSL trec n starea de funct ionare normal a; OE < ACS . - OZ , timpul de devalidare a ie sirii. Acest parametru caracterizeaz a trecerea n regim de HZ a driverelor TSL; este intervalul de timp din momentul dezactiv arii semnalelor OE si CS p an a c and driverele TSL ajung n HZ. - OH , timpul de ment inere a datelor. Specic a intervalul de timp n care cuv ntul citit mai poate r am ane valid la I/O dup a ce cuv antul de adres a, al locat iei de unde s-a citit, a fost anulat. Operat ia de nscriere n memorie, Figura 3.92-b - AS , timpul de stabilizare a adresei. Specic a cu c at timp nainte de aplicarea semnalului de nscriere (generat prin conjunct ia CSWE) cuv antul de adres a trebuie s a e stabil. - AH , timpul de ment inere a adresei. Specic a c at timp dup a aplicarea semnalului de nscriere cuv antul de adres a mai trebuie s a nu se modice. AS si AH determin a, pentru nscriere, intervalul interzis , centrat pe frontul de nscriere n care bit ii cuv antului de adres a nu trebuie s a se modice. - DS , timpul de stabilizare a datelor. Specic a cu c at timp nainte de frontul activ a al semnalului de nscriere, WR L, datele aplicate pe teminalele I/O trebuie s e stabile. - DH , timpul de ment inere a datelor (nemodicate dup a frontul de nscriere). DS si DH , la fel ca si AS si AH pentru adrese, determin a pentru date intervalul interzis , centrat pe frontul de nscriere n care bit ii cuv antului de date nu trebuie s a se modice. - CSW , timpul de stabilizare pentru CS. Specic a cu c at timp nainte de frontul de nscriere semnalul CS trebuie s a e stabil. - WP , l a timea palierului semnalului de nscriere. Specic a cu c at timp nainte de frontul de nscriere trebuie s a se aplice semnalul WE. De fapt transparent a latch-ului, dup a cum s-a spus, este determinat a de durata palierului semnalului WR (generat prin conjunct ia CS L W E L). Consider and c a aceste dou a semnale sunt dezactivate simultan atunci se pot distinge dou a cicluri de nscriere: controlat prin WE sau controlat prin CS, dup a cum WE L este activat ultimul sau CS L este activat ultimul.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

505

Din analiza funct ion arii memorie SRAM si din prezentarea parametrilor se observ a c a operat iile de nscriere si de citire sunt asincrone (aparit ia lor nu este determinat a de un semnal de ceas). De aceast a observat ie trebuie tinut cont c and o memorie SRAM este introdus a ntr-un sistem n care exist a alte componente (registre, num ar atoare, ASM) care au o funct ionare sincron a.

3.6.2

Memoria RAM dinamic a

Principala caracteristic a ce a impus pentru capacit a ti de stocare mari, chiar Gb (1G = 109 ), memoria dinamic a, DRAM, este densitatea ridicat a de integrare ce se poate obt ine cu acest tip de memorie de si prezint a circuistic a suplimentar a fat a de SRAM. Exist a variante de DRAM care se bazeaz a pe celule de memorie compuse dintr-o capacitate de stocare si 1,3 sau 4 tranzistoare, dar, evident, s-a generalizat structura de DRAM care prezint a n ecare nod al matricei celul a doar un singur tranzistor, notat a prin 1-T DRAM; numai structura bazat a pe aceast a celul a se va prezenta. Int ai se va prezenta modalitatea de realizare a proceselor de nscriere si de citire/regenerare la nivelul unei celule dintr-o matrice de memorie iar, apoi, modul de comand a, al operat iilor de nscriere si citire/regenerare la nivel de circuit DRAM, prin aplicarea la pinii circuitului a semnalelor: de control, adres a si date.
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 si layout-ul corespunz ator

Se consider a o matrice de 256 linii de cuv ant (LW 255 , . . . , LW1 , LW0 ) si 256 coloane/ linii de bit (C255 , . . . C1 , C0 ), Figura 3.93-a. In ecare nod al matricei

506

3.6. MEMORIA CU ACCES ALEATORIU

(256 256), celula const a dintr-un tranzistor nMOS si un condensator C, Figura 3.93-b. Condensatorul de stocare C se realizeaz a ntre zona difuzat a n + din substrat, ca surs a a tranzistorului, si o plac a din polisiliciu realizat a deasupra stratului de SiO 2 , conectat a la mas a (VSS ). Intr-un nod ji al matricei, conectarea condensatorului C la coloana de bit Ci prin intermediul tranzistorului nMOS, se realizeaz a prin activarea (VDD ) a liniei de cuv ant LWj . Prin aceast a conectare sunt puse n paralel dou a capacit a ti de valori sensibil diferite: capacitatea C de stocare din nod (valori 30-10fF, 1fF=1015 F) si capacitatea echivalent a Ce ( 300fF) a coloanei. Prin transferul de sarcin a ntre cele dou a condensatoare, c and sunt puse n paralel, deci prin valoarea tensiunii rezultate pe coloana de bit, se pot realiza operat iile de nscriere, citire/regenerare. Inscrierea celulei din nodul ji cu bitul Din aplicat pe intrare se realizeaz a simplu. Int ai, se activeaz a prin semicuv antul superior de adres a aplicat la intrarea decodicatorului de linii, linia de cuv ant LW j , apoi, prin semicuv antul inferior de adres a, aplicat decodicatorului de coloan a, se selecteaz a coloana de bit C i , iar pe acest a coloan a se aplic a valoarea bitului de intrare, D in , deci prin tranzistorul n conduct ie T din nodul ji se ncarc a condensatorul cu sarcin a zero (pentru D in =0) sau la potent ialul VDD (pentru Din =1). Exist a o paricularitate n structurarea acestei matrice, ecare coloan a de bit este sect ionat a n dou a lungimi egale: semicoloana superioar a, care cuprinde nodurile de intersect ii cu liniile de cuv ant LW255 , . . . LW129 , LW128 si semicoloana inferioar a care cuprinde nodurile de intersect ie cu liniile de cuv ant LW 127 , . . . LW1 , LW0 . (Aceast a sect ionare explic a de ce n Figura 3.93-a num arul liniilor de cuv ant LW j sunt alternate n num arare corespunz ator celor dou a intervale: de la LW 0 LW127 cu LW128 LW255 .) Aceast a sect ionare a coloanelor apare si pe aria de Si prin realizare a dou a subarii iar n spat iul dintre acestea este implementat, corespunz ator ec arei coloane de bit, c ate un amplicator latch si un amplicator de sens diferent ial, Figura 3.94-a. ( In aceast a gur a este desenat doar amplicatorul latch, circuitul complet amplicator latch si amplicator de sens diferent ial sunt similare cu cele prezentate n Figura 3.91-a.) Fiecare din cele dou a semicoloane (S superioar a, I inferioar a) este caracterizat a de o capacitate electric a echivalent a, C eI ,CeS (CeI = CeS ). In gur a sunt prezentate pentru ecare semicoloan a tranzistoarele si condensatoarele din nodurile corespunz atoare, care sunt comandate de semnale de la liniile de cuv ant LWj ; n plus, sunt, pentru ecare semicoloan a, introduse c ate o celul a martor. Cele dou a celule martor de pe o coloan a sunt, ca structur a, identice cu cea a unei celule din oricare nod dar au un condensator de stocare de valoare C/2, prezint a pentru comand a pe port ile tranzistoarelor semnalele CM I si CMS , care nu sunt obt inute de la linii de cuv ant, iar potent ialele n punctele X si Y pot puse la mas a prin intermediul a dou a tranzistoare comandate prin semnalul de pre nc arcare, PC. Citirea/regenerarea celulei. Aceast a operat ie este realizat a, ntr-o succesiune temporal a compus a din trei faze, Figura 3.94-b. Faza 1 - pre nc arcare. Prin activarea semnalului de pre nc arcare, PC, capacit a tile echivalente CeI si CeS ale semicoloanei superioare si inferioare de bit se ncarc a la tensiuni (de nivel H) egale, iar potent ialele n punctele X si Y sunt xate la mas a, Figura 3.94-c. Este necesar a aceast a egalizare a potent ialelor pentru cele dou a semicoloane deoarece dup a o citire, pentru refacerea datei citite, semicoloanele vor fort ate, n urma comutat iei amplicatorului latch, una n nivel H iar cealalt a n nivel L (vezi

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 n dou a semicoloane egale separate printr-un amplicator latch si dou a celule martor; b) succesiunea semnalelor de comand a pentru cele trei faze; c) Faza 1, pre nc arcarea coloanei de bit si desc arcarea celulelor martor; d) Faza 2, activarea liniei de cuv ant, LW127 (= VDD ), si a celulei martor din semicoloana opus a; e) Faza 3, selectarea coloanei de bit, SCi (= VDD ), citirea celulei si regenerarea celulei din nodul (127, i). (Partea de circuit care nu particip a n faza respectiv a este desenat a cu linie punctat a)

508

3.6. MEMORIA CU ACCES ALEATORIU

dup a Faza 3). (Elementele din gur a care nu sunt implicate n realizarea acestei faze sunt desenate cu linie punctat a). Faza 2 - activarea liniei de cuv ant si comanda celulei martor, Figura 3.94-d. Se presupune c a prin aplicarea semicuv antului superior de adres a la decodicatorul de linii se activeaz a linia de cuv ant LW127 (= VDD ) din semicoloana inferioar a si semnalul CMS (= VDD ) din semicoloana superioar a. Dac a n celula de la intersect ia coloanei i cu linia de cuv ant LW127 era nscris 1 logic, atunci potent ialul semicoloanei inferioare va cre ste put in, iar potent ialul semicoloanei superioare va sc adea put in, pentru c a condensatorul C/2 al celulei martor se va nc arca; deci apare o diferent a de potent ial V (maximum c ateva sute de mV) ntre cele dou a semicoloane, care se aplic a ntre ie sirile amplicatorului latch. Iar dac a n celul a era nscris 0 logic potent ialul semicoloanei inferioare va sc adea mai mult dec at al semicoloanei superioare, deoarece capacitatea celulei 127 este dubl a fat a de capacitatea celulei martor. Evident, prin conectarea celulei la coloana de bit valoarea potent ialului pe condensatorul C din nodul accesat se modic a, deci o distrugere a nivelului de bit care era nscris. Faza 3 - selectarea coloanei de bit, Figura 3.94-e. Prin aplicarea semicuv antului inferior de adres a la decodicatorul de coloane, semnalul pentru selectarea coloanei i devine activ, SC (= VDD ), amplicatorul latch basculeaz a fort a nd pentru semicoloana inferioar a potent ialul VDD , deci condensatorul nodului (127, i) se re ncarc a cu 1 logic, iar potent ialul semicoloanei superioare de bit este fort at la mas a. In consecint a data stocat a n nodul (127,i), deteriorat a ca nivel n urma citirii, este regenerat a, rezult a c a operat ia realizat a de citire este urmat a automat de regenerare. Totodat a, este comandat amplicatorul de sens diferent ial care va genera pe pinii de ie sire bitul citit n celula nodului (127, i). In continuare poate urma un nou ciclu de citire/regenerare, cu trei faze succesive, pentru alt nod. In Faza 2, a ciclului de citire/regenerare, sarcina pe condensatorul de stocare dintr-o celul a este modicat a dar este ref acut a n Faza 3. Dar sarcina stocat a pentru valoare logic a 1 pe condensatorul C , dintr-o celul a care nu este supus a la un ciclu citire/regenerare, se mic soreaz a (datorit a curentului rezidual prin tranzistorul nMOS) nc at dup a un anumit interval de timp nu mai reprezint a nivelul de 1 logic. Deci, dac a nu se efectueaz a un ciclu de citire/regenerare se impune ca ecare celul a a matricei sa e supus a unei operat ii de regenerare pentru refacere (refreshment) dup a un anumit interval de timp (de ordinul c atorva ms). Ceea ce este, totu si, avantajos, n acest proces de refershment, care complic a structura si lucrul cu o memorie DRAM, const a n faptul c a regenerarea nu se face pentru ecare celul a n parte ci simultan pentru toate celulele din nodurile de pe o linie de cuv ant LW . Pentru matricea anterioar a de 256 linii 256 coloane, nivelul pentru bitul 1 nu este deteriorat, dac a celula este regenerat a la un interval de 4ms, ceea ce implic a pentru ecare linie de cuv ant s a e activat a, LW = VDD , la un interval 4ms : 256 = 15625ns. Dac a timpul de ciclu, pentru operat ia de citire/regenerare a unei linii, este de 100ns, rezult a c a timpul consumat de o regenerare n bloc a tuturor celulelor matricei, prin activarea succesiv a a celor 256 linii de cuv ant, este de 256 100 = 2.56 10 4 ns adic a 0.64% din 4ms; deci 99.36% din timp memoria poate folosit a efectiv pentru operat iile utile de scriere sau citire. La unele circuite DRAM trebuie aplicate din exterior comenzile pentru regenerare, la altele, av and n interior circuistica necesar a, si autogenereaz a procesul de regenerare; circuistica necesar a const a dintr-un num ar ator care, dup a consumarea unui anumit interval de timp prestabilit, n cazul anterior 4ms, genereaz a

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

509

prin num ararea n sens direct/invers toate adresele liniilor de cuv ant. Modalitatea de realizare a operat iilor de nscriere, citire/regenerare, sau regenerare separat a, la nivel de circuit DRAM, prin aplicarea semnalelor din exterior depinde de structurarea circuitului respectiv. O structurare de principiu pentru un circuit DRAM de 64Kbit este prezentat a n Figura 3.95-a. O particularitate n funct ionarea unei memorii DRAM, care nuent eaz a structurarea sa, rezult a din timpul necesar pentru accesarea unei linii de cuv ant care este mult mai lung dec at timpul necesar pentru accesarea unei coloane de bit. In consecint a , se poate accesa o celul a a matricei aplic and nt ai semicuv antul de adresare superior la decodicatorul pentru liniile de cuv ant si numai dup a aceea se aplic a semicuv antul inferior pentru generarea select iei de coloan a, deci o adresare n doi pa si: nt ai linia (care necesit a un timp de acces mai lung) si apoi coloana. Neaplicarea simultan a a celor dou a semicuvinte a determinat ca l a timea magistralei de adrese pentru o memorie de capacitate 2n bit i s a nu e de n bit i ci de n/2 bit i. Aceasta explic a de ce capacit a tiile memoriilor DRAM sunt multiplu de patru; la cre sterea (semi)cuv antului de adres a cu un bit at at num arul liniilor de cuv ant c at si num arul coloanelor de bit se dubleaz a. Pentru memoria de 256 256 bit i se aplic a nt ai 8 bit i la pinii de adres a, care reprezint a semicuv antul superior de adres a, acest cuv ant este nscris ntr-un registru latch pentru adresa de linie, iar prin intermediul decodicatorului de linii se activeaz a una din cele 256 linii. Inscrierea semicuv antului n registru pentru adresa de linie se face pe frontul negativ al semnalului de strob a la pinii de adres a alt i 8 bit i linii, RAS L (Row Address Strob). Apoi, se aplic care reprezint a semicuv antul inferior de adres a iar acest cuv ant este nscris ntr-un registru pentru adresa de coloan a; prin intermediul decodicatorului se activeaz a o cale din grupul de MUX/DMUX pentru selectarea unei coloane n matricea de celule. Inscrierea n registru pentru adresa de coloan a se face pe frontul negativ al semnalului de strob coloane, CAS L (Collumn Address Strob). Pe durata CAS L=0 buerul de ie sire TSL este trecut din HZ n starea de funct ionare normal a. Mai exist a nc a dou a semnale de control: unul necesar numai pentru validarea operat iei de alalt (negurat n aceast a structur a) pentru selectarea circuit nscriere WE L iar cel ului CS L. Citirea memoriei, Figura 3.95-a. Semicuv antul superior de adres a, aplicat cu valori stabile pe pinii circuitului, este strobat/ nscris n registrul pentru adresa de a linia corespunz atoare din linie pe frontul negativ al semnalului RAS L; se selecteaz matrice iar cont inutul acestei linii este nscris ntr-un registru latch de linie. Apoi, dup a ce semicuv antul inferior de adres a aplicat pe pinii circuitului devine stabil acesta este nscris n registrul pentru adresa de coloan a pe frontul negativ al semnalului de strob CAS L. Pe baza acestei adrese de coloan a prin intermediul multiplexoarelor este selectat bitul corespunz ator, din cuv antul nscris temporar n registrul latch de linie, si aplicat pe pinul de ie sire DO (buerul de ie sire TSL este n stare normal a de funct ionare at at timp c at CAS L este activat). La dezactivarea semnalului RAS L, cont inutul din registrul latch de linie este re nscris (/regenerare) napoi n linia de cuv ant care a fost selectat a, deci la sf ar situl operat iei de citire a unei locat ii se realizeaz a regenerarea ntregii linii n care se a a locat ia respectiv a citit a. Operat ia numai de regenerare a informat iei din ntreaga matrice este similar a cu cea de la citire cu diferent a c a nu se mai comand a selectarea coloanei (CAS L nu se activeaz a, se ncarc a linia selectat a n registrul latch de linie si apoi se 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 aplic arii cuv antului de adres a, a datelor de ie sire/intrare si a semnalelor de control n efectuarea operat iilor de citire/regenerare (b) si de nscriere (c).

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

511

napoi linia cu acela si cont inut). Se aplic a succesiv toate adresele liniilor de cuv ant, pe frontul negativ al semnalului RAS L cont inutul unei linii se nscrie n registrul latch de linie iar la dezactivarea acestui semnal cont inutul din registrul latch de linie este nscris napoi n linia respectiv a; intervalul de timp dup a care o linie trebuie re mprosp atat a este de ordinul ms. In principiu, partea de re mprosp atare trebuie s a aib a un circuit timer care s a produc a intervale de timp dup a care trebuie pornit a operat ia de re mprosp atare (Timer - un circuit num ar ator prestabil, comandat cu o frecvent a stabil a) si un num ar ator ce genereaz a succesiv toate adresele de linie. Inscrierea memoriei. Succesiunea de selectare a locat iei din matricea de memorie este similar a ca la operat ia de citire, dar semnalul WE L trebuie activat naintea sire TSL va r am ane n starea semnalului CAS L; pe durata RAS L=0 buerul de ie a ce cont inutul liniei selectate a fost nscris HZ chiar dac a CAS L devine activ. Dup n registrul latch de linie (la fel ca la citire), pozit ia din acest registru, determinat a de selectare coloan a, este nscris a cu bitul de intrare DI la activarea semnalului de nscriere WE L. La dezactivarea semnalului RAS L se va nscrie n linia de cuv ant cont inutul din registrul latch de linie dar cu valoarea bitului DI n pozit ia selectat a. Un procedeu prin care se simpic a procesul de re mprosp atare a memoriei este cel referit prin CAS nainte de RAS (CAS before RAS). Aplicarea acestui procedeu necesit a existent a unui num ar ator n interiorul circuitului de memorie care s a genereze succesiv adresele de linii de cuv at (se elimin a astfel aplicarea din exterior a adreselor de linie). Dup a cum si denumirea procedeului indic a, se aplic a semnalul CAS naintea semnalului RAS, este re mprosp atat a linia de cuv ant selectat a de num ar ator si, apoi, se incrementeaz a num ar atorul. La DRAM, ca si la SRAM, funct ionarea nu este dirijat a de ceas, funct ionarea este de tip asincron si este xat a prin fronturile H-L si L-H ale semnalelor de control si CAS L. RAS L Sintetic funct ionarea memoriei dinamice se compune din (parametrii de timp din paranteze corespund unei memorii actuate de 4MB): Adresarea liniei de cuv ant ( 50ns) se aplic a adresa de linie si se activeaz a semnalul de strobare RAS L ntregul cont inut al liniei selectate/citite este nscris n registrul latch de linie cont inutul liniei citite este deteriorat Adresarea coloanei ( 10ns) se aplic a adresa de coloan a si se activeaz a semnalul de strobare CAS L pentru coloana selectat a bitul: - la citire este transferat din registrul latch de linie la ie sire, D O - la nscriere este nscris cu valoare DI

Re mprosp atare ( 30ns) se nscrie napoi n linie ntreg cont inutul din registrul latch de linie Pentru o memorie dinamic a principalii parametri din catalog sunt (valorile din 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 p an a n momentul c and datele sunt valide la ie sirea buerului TSL (60 ns). Viteza unui cip de memorie este specicat a prin aceast a valoare (de acces). RC , este intervlul de timp minim din momentul (pornirii) acces arii unei linii de cuv ant p an a n momentul acces arii liniei de cuv ant urm atoare, adic a distant a mini-m a, n timp, ntre dou a activ ari ale semnalului RAS L; este un timp de ciclu (110 ns). CAC , este intervalul de timp minim din momentul activ arii semnalului se strob an a la obt inerea datelor valide la ie sierea buerului TSL (15 ns). CAS L p PC , este intervalul de timp minim din momentul (pornirii) acces arii unei coloane p an a n momentul acces arii coloanei urm atoare; este un timp de ciclu (35 ns) Urm atoarele valori reect a dinamica memoriilor de tip DRAM: cre stere de capacitate+60%/an; cost -30%/an; densitatea de integrare 2.5celule/suprafat a ; cre sterea suprafet ei waferului de 1.5 ori n 3 ani. Memoria este o component a foarte important a n sistemele de calcul, unde, din ce n ce mai mult, i se impune un volum mare de schimb de date n unitatea de timp. Pentru cre sterea volumului schimbului de date se act ioneaz a: e prin m arirea lungimii cuv antului cu care se lucreaz a, e prin mic sorarea latent ei memoriei (valorile date anterior ar atau c a timpul minim de acces consecutiv la liniile de cuv ant este RC = 110ns) sau e, simultan, prin ambele modalit a ti. Exist a diferite modalit a ti prin care se obt ine o latent a mic sorat a pentru memorie, amintim doar dou a: accesarea tip pagin a si accesarea tip cu ie sirea de date extins a EDO (Extended Data Out). Acestea de fapt, realizeaz a c at mai multe operat ii pe o aceea si accesare a unei linii de cuv ant, astfel nc at operat iile s a nu mai e o repetare de tipul CAS, RAS, CAS, RAS . . . . Modul de accesare de tip pagin a, prin adresa de linie, activeaz a o ntreag a pagin a/linie de cuv ant (poate p an a la 8096 bit i) si apoi prin schimbarea numai a adresei de coloan a, conjugat a cu activarea semnalului CAS, poate accesa oricare celul a cuprins a n acea linie; trecerea la o alt a pagin a impune aplicarea noii adrese de linie si reactivarea semnalului RAS. Succesiunea semnallor de strobare n aplicarea adreselor pentru o operat ie n modalitatea de acces tip pagin a este: RAS, CAS, CAS, . . . , CAS; RAS, CAS, CAS, . . . . Modul de accesare tip EDO este de fapt tot o adresare de tip pagin a numai c a, dup a cum si denumirea sugereaz a, se extinde timpul c at datele sunt valide pe ie sire. De data aceasta se exclude activarea succesiv a a semnalului CAS pentru ecare citire, iar starea normal a a buerului de ie sire TSL este comandat a de un semnal de validare a ie sirii, OE L. Deci datele, din registrul latch de linie, sunt valide la ie sire c at timp nceputul marcat de activarea semnalului CAS L p an a OE L = 0, pe durata dintre la activarea urm atoare a acestui semnal. Pe aceast a durat a sunt generate succesiv adresele de coloan a ale bit ilor stocat i n registrul latch de linie. Din prezent arile anterioare, at at la memoria static a c at si la cea dinamic a, rezult a c a funct ionarea acestor circuite este de tip asincron. Pentru integrarea lor ntr-un ,, sistem sincron este necesar a aducerii funct ion arii n acela si timp /(sincronizarea) cu ceasul sistemului. In modul sincron funct ionarea intern a a circuitului de memorie r am ane aceea si dar semnalele cu exteriorul (cuv antul de adres a, semnalele de control, datele de intrare) sunt citite/(e santionate) pe frontul pozitiv al semnalului de ceas si

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

513

nscrise n registre interne ale circuitului de memorie (aceste circuite registru interne sunt componente ale interfet ei de sincronizare); de asemenea datele de ie sire sunt generate sincron (pe durata dintre dou a fronturi pozitive consecutive ale semnalului de ceas). Circuitele de memorie SRAM, DRAM nzestrate cu aceste interfet e de Sincronizare sunt referite respectiv prin abreviat iile SSRAM si SDRAM. 3.6.2.1 Memoria DRAM sincron a, SDRAM

Integrarea unei memorii DRAM, a c arei funct ionare de tip asincron este xat a prin fronturile H-L si L-H ale semnalelor de control RAS L si CAS L, ntr-un sistem sincron, comandat de ceas, necesit a o anumit a circuistic a de interfat are. Dar n ultimii ani, aceast a circuistic a de interfat are a fost integrat a pe acel si cip cu memoria DRAM, iar pentru exterior (pentru utilizator) apare ca un circuit cu funct ionare sincron a, pe baza unui semnal de ceas, circutul ind referit ca memorie dinamic a Sincron a, SDRAM. Pentru prezentarea organiz arii, funct ion arii si comenzilor exterioare ale unei memorii dinamice sincrone s-a ales circuitul SDRAM 128Mb (32) (Micron Technology), care, cu anumite simplic ari, poate utilizat ca un circuit generic. Organizarea circuitului de capacitate 128Mb este prezentat a n Figura 3.96-a. Pentru circuitele DRAM de capacitate mare, datorit a dicult a tilor de realizare a unei matrice p atratic a de dimensiune ridicat a, matricea este segmentat a n mai multe submatrice, referite prin temenul de banc a sau de plan; aceste b anci funct ioneaz a n paralel dar independent una de alta. Organizarea din aceast a gur a, de capacitatea 128Mb (227 =134 217 728 bit i), este compus a din patru b anci acoperind un spat iu de adresare de 4M adrese; num arul de 33 554 432 (225 ) bit i dintr-o banc a are ca suport o matric a cu 4096 linii (A11 A0 ) si 256 coloane (A7 A0 ), la ecare locat ie de la intersect ia unei linii cu o coloan a ind un cuv ant de 32 bit i. Selectarea uneia din cele patru b anci se realizeaz a cu bit ii BA1 si BA0. La nivelul de celul a de stocare ntr-o banc a operat iile de citire, scriere, re mprosp atare se fac prin succesiunea semnalelor CAS, RAS si bit ilor de intrare si ie sire, la fel ca la memoria dinamic a prezentat a n sect iunea anterioar a, diferent a apare n modul cum aceste semnale interne se obt in, prin circuistica de interfat are, din semnalele externe aplicate la pinii circuitului de memorie sincron a, deoarece acest circuit are o funct ionare programat a care este sub controlul semnalului de ceas, CLK. Pe l ang a semnalul de ceas mai exist a un semnal de validare a semnalului de ceas, CKE, deci efectul de sincronizare se realizeaz a numai c and acest semnal este activ, CKE = H . Pe ecare front pozitiv al semnalului CLK, de frecvent a maxim a 166MHz, si CAS L sunt nregistrate n blocul semnalele externe de control CS L, WE L, RAS L de decodicare comenzi, cuv antul de adres a A 11 A10 si bit ii de adresare a b ancilor BA1, BA0 sunt nscri si n registrele de adrese, iar cuv antul de date DQ 31 DQ0 este nscris n registrul de date de intrare DQI (pentru nscriere) sau este generat la ie sirea registrului de date de ie sire DQO (pentru citire) si, de asemenea, cuv antul masc a DQM3 DQM0 , pentru datele de intrare/ie sire este nregistrat. Pentru ecare byte din cuv antul de date intrare/ie sire corespunde un bit n cuv antul de mascare n felul urm ator: DQM0 pentru DQ7 DQ0 ; DQM1 pentru DQ15 DQ8 ; DQM2 pentru DQ23 DQ16 si DQM3 pentru DQ31 DQ24 . Valoarea H a bitului de mascare DQMi , constituie pentru byte-ul i corespunz ator din cuv antul de date de intrare/ie sire o masc a, adic a buerele de ie sire sunt n starea HZ deci nu se obt in date

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 a DRAM: a) organizare de principiu pentru un SDRAM de capacitate 4M 32 compus a din patru b anci ecare de dimensiune 4096 256 32; b),c) modalitatea de programare, prin cuv antul nscris n registrul de mod, a tipurilor de rafale pentru operat iile de nscriere si de citire.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

515

de ie sire iar datele aplicate pentru nscriere nu vor stocate n memorie; datele de intrare/ie sire vor valide pentru nscriere/citire numai c and valoarea testat a a bitului respectiv de masc a, DQMi , este n L. C and cei patru bit i de mascare sunt considerat i tot i n aceea si stare (H sau L), adic a aceea si comand a pentru tot i cei patru bytes ai cuv antului de date, sunt referit i n comun prin notat ia DQM. Pentru realizarea unei operat ii de pre nc arcare, citire, nscriere sau re mprosp atare comenzile necesare se obt in din valorile semnalelor aplicate din exterior pe pinii circuitului, e santionate pe frontul pozitiv de ceas, dar aceste valori nu sunt interpretate individual ci interpretate mpreun a sub forma unui cuv ant de control; deci pentru SDRAM exist a un cuv ant de control, extern, format din bit ii CS L, WE L, CAS L, RAS L, un cuv ant de adresare format din bit ii A11 A0 si BA1, BA0 si un cuv ant de mascare format din bit ii DQM3 DQM0 . (Toate semnalele aplicate pe pini sunt compatibile LVTTL, VDD = 3.3V , vezi Figura 1.48-c.) Operat iile de citire si nscriere sunt pipelinizate, adic a pe ecare front al impulsului de ceas se genereaz a sau se nscrie c ate un cuv ant de 32 bit i. Aceast a pipelinizare este realizat a at at la o accesare aleatorie a locat iilor c at si la o accesare de tip rafal a (burst) - accesarea porne ste de la o locat ie selectat a continu and apoi, f ar a ntrerupere (rafal a), cu un num ar prescris de locat ii ntr-o succesiune programat a. Programarea succesiunii, cont inut a n cuv antul de mod M 10 M0 , pentru modul de accesare de tip rafal a se realizeaz a n exterior si se nscrie, prin intermediul cuv antului de adres a A10 A0 , n registrul de mod, Figura 3.96-b; aceast a programare se p astrez a p an a la o nou a nc arcare cu un cuv ant de mod sau p an a la anularea tensiunii de alimentare. Pipelinizarea cuvintelor de date pentru nscriere sau pentru citire este asigurat a si de existent a a patru b anci, selectate cu bit ii AB 1, AB 0, care opereaz a independent si n paralel; de exemplu n timp ce ntr-o banc a se realizeaz a o operat ie de nscriere n alta se init iaz a o operat ie de citire. Pentru o succesiune de tip rafal a a acces arilor, programarea prin cuv antul, M10 M0 , nscris n registrul de mod, prescrie urm atoarele caracteristici: lungimea rafalei, tipul de rafal a, latent a CAS, modul de operare si modul de nscriere. Rafala este efectuat a dup a ce o linie de cuv ant dintr-o banc a a fost activat a si deci se realizeaz a numai prin activarea ntr-o anumit a succesiune a coloanelor( n cadrul unei linii de cuv ant). - Lungimea rafalei determin a, prin subcuv antul M 2 M0 , num arul maxim de locat ii (de coloane) care sunt selectate pentru a accesate la o comand a de nscriere sau de citire. Pentru o lungime de 2 (locat ii) a rafalei, M 2 M1 M0 = 001, este selectat, de pe linia activat a, blocul de coloane cu lungimea 2, xat prin cuv antul de adres a A7 A1 , iar n interiorul acestui bloc citirea sau nscrierea porne ste de la coloana cu num arul 0 sau 1, xat prin valoarea lui A0 ; pentru o lungime a rafalei de opt locat ii, M2 M1 M0 = 011, este selectat un bloc cu lungimea de opt coloane xat prin cuv antul de adres a A7 A3 iar n interiorul blocului citirea sau nscrierea porne ste de la coloana specicat a de subcuv antul A2 A1 A0 . Pentru o lungime de o pagin a se porne ste de la coloana de adres a xat a de cuv antul A 7 A0 , Figura 3.96-c. Dac a n cadrul blocului sau paginii respective se ajunge la adresa superioar a de coloan a se sare la prima adres a de coloan a dac a nu s-au parcurs toate adresele (xate prin lungimea programat a a rafalei) din blocul sau pagina respectiv a. Ordinea de parcurgere a adreselor, programat a prin tipul de rafal a, M 3 , poate n mod succesiv sau n mod ntret esut (ordinea ntret esut a nu este permis a la tipul de rafal a pagin a).

516

3.6. MEMORIA CU ACCES ALEATORIU

- Latent a CAS, programat a prin M6 M5 M4 , xeaz a nt arzierea, n num ar de tacturi de ceas, din momentul nregistr arii comenzii (frontul pozitiv al semnalului de ceas) aplicat a la pinii circuitului SDRAM p an a n momentul c and cuv antul citit din memorie este disponibil ca dat a valid a de ie sire, DQ 32 DQ0 ; latent a poate avea valorile 1, 2 sau 3 tacturi de ceas. - Modul de operare standard, at at pentru citire c at si pentru nscriere. este xat prin subcuv antul M8 M7 = 00, alte valori pentru acest subcuv ant xeaz a moduri de operare pentru testare. - Modul de rafal a pentru nscriere. C and M9 = 0 at at pentru nscriere c at si pentru citire se efectueaz a rafal a de lungime programat a. Pentru M 9 = 1 se aplic a rafal a de lungime programat a numai pentru citire, nscrierea nu se face n mod rafal a (se nscrie o singur a locat ie). Pentru circuitul SDRAM se obt ine cu ux continuu (pipeline) de date de intrare ( nscriere) sau de ie sire (citire), c ate un cuv ant de date, DQ 31 DQ0 , pe ecare tact de ceas, indiferent dac a accesarea coloanelor se face n modul rafal a sau aleatoriu; aceast a operare este programat a prin aplicarea din exterior a cuvintelor: de comand a, de adres a si de masc a la pinii circuitului. Pe durata unui tact de ceas circuitul realizeaz a operat iile exprimate prin cuvintele aplicate din exterior la pinii circuitului, nregistrate/e santionate pe frontul pozitiv al tactului respectiv de ceas. Cont inutul acestor cuvinte si succesiunea lor n timp, pentru realizarea anumitor operat ii, se efecturaz a n exterior de c atre circuitul controller pentru SDRAM. In continuare, se vor prezenta, pentru realizarea operat iilor pe o memorie sincron a DRAM, cuvintele de control. In tabelul din Figura 3.97-a sunt sintetizate comenzile pentru un SDRAM de capacitate 4M 32 bit i. - Comanda INHIBARE (NOP). Prin aceast a comand a se elimin a posibilitatea ca circuitul s a mai primeasc a oricare alt a comand a, chiar dac a semnalul de ceas CLK este validat (CKE = H); dar operat iile n curs pe care le efectueaz a SDRAM sunt continuate. De fapt prin comanda INHIBARE este deselectat circuitul SDRAM, CS L = H. - Comanda Nici-o-OPerat ie, NOP. Pentru SDRAM, care este deja selectat (CS L=0), comanda NOP face ca circuitul s a nu accepte o alt a comand a; operat iile n curs sunt continuate (se introduce c and se dore ste doar consumarea unui timp). - Comanda INCARCARE REGISTRUL DE MOD (Load Mod Register). Cont inutul cuv antului de mod M10 M0 , vezi Figura 3.96-b, este nc arcat, din exterior, n registrul de mod prin intermediul cuv antului de adres a A 10 A0 . Inc arcarea registrului de mod se poate realiza numai c and toate cele patru b anci nu sunt activate; dup a nc arcare o urm atoare comand a pentru memorie se poate aplica numai dup a intervalul de timp M RD . - Comanda ACTIVARE. Pentru a realiza o operat ie de citire sau nscriere de pe o linie dintr-o banc a aceasta trebuie nt ai deschis a (activat a acea linie), iar aceast a deschidere se realizeaz a prin comanda ACTIVARE. Prin cont inutul cuvintelor BA1 BA0 si A11 A0 , din momentul nregistr arii/e santion arii comenzii ACTIVARE, este deschis a una din cele patru b anci (BA1 BA0) si n acea banc a o linie de cuv ant; apoi pot urma operat ii de citire si/sau nscriere la locat iile de pe linia deschis a. Se impune un interval RCDmin din momentul nregistr arii comenzii ACTIVARE p an a la comanda unei operat ii de citire sau nscriere. De exemplu, dac a RCDmin = 20ns iar

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

517

frecvent a la care se comand a memoria este fCLK = 125M Hz (TCLK = 8ns) rezult a c a, raportat la frontul de ceas care a nregistrat comanda ACTIVARE, urm atoarea operat ie 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 a generate de controllerul de memorie este: T0 - ACTIVARE; T1 - NOP; T2 - NOP; T3 READ/WRITE . . . Urm atoarea comand a ACTIVARE, pentru deschiderea unei alte linii de cuv ant din aceea si banc a se poate aplica numai dup a ce linia deschis a anterior a fost nchis a/dezactivat a (prin aplicarea unei operat ii de pre nc arcare); se impune un interval minim de timp RCmin ntre dou a comenzi ACTIVARE consecutive. Dar o urm atoare comand a ACTIVARE la o alt a banc a se poate genera chiar c and banca prezent a este deschis ceea ce duce la o reducere/(ascundere) a timpului total de acces la o linie de cuv ant. - Comanda READ. Aceast a comand a este utilizat a pentru init ierea unei operat ii de citire de tip rafal a ntr-o linie de cuv ant deja activat a. In momentul nregistr arii comenzii READ se e santioneaz a si cuv antul de adres a: bit ii BA1, BA0 xeaz a banca iar bit ii A7 A0 selecteaz a coloana de la care se ncepe citirea; iar bitul A 10 , din cuv antul de adres a, determin a modul de pre nc arcare: A 10 = H , pre nc arcarea automat a este selectat a; A10 = L pre nc arcarea automat a ste devalidat a. Dac a pre nc arcarea automat a este selectat a atunci linia deja activat a va pre nc arcat a (dezactivat a) la sf ar situl efectu arii rafalei de citire, iar dac a pre nc arcarea automat a este deselectat a atunci linia deja activat a r am ane n continuare activat a si pentru urm atorul acces. Odat a init iat a comanda READ rafal a, pornind de la coloana selectat a, se obt ine pe ie sire, dup a o latent a CAS prescris a (vezi Figura 3.96-b), un ux continuu de date DQout , c ate un cuv ant pe ecare front pozitiv de ceas, evident dac a, cuv antul de masc a DQM a fost n L. Cuv antul de masc a va trece ie sirea memoriei n HZ cu o nt arziere de dou a tacte dup a ce valoarea acestui cuv ant a fost nregistrat a n starea H. Dup a completarea unei citiri n mod rafal a, consider and c a nu a fost init iat a o alt a comand a, ie sirea va trece n HZ; la o pagin a citit a n mod rafal a dup a citirea ultimei coloane din pagin a (255) se continu a cu prima coloan a p an a se ajunge la coloana din fat a primei coloane selectate. Datele unei citiri n rafal a pot continuate cu alte date citite de c atre o urm atoare/(nou a) rafal a, iar noua rafal a poate aplicat a ncep and de la terminarea datelor rafalei curente sau chiar de la oricare front pozitiv de ceas din interiorul rafalei curente (trunchiere); dar noua comand a READ rafal a trebuie s a e aplicat a cu un num ar x de tacturi nainte de tactul pe care se vor obt ine date valide pe ie sire, unde x = (latent a CAS) 1. Deci prin comenzi READ succesive se poate ment ine un ux de date continuu pe ie sire indiferent dac a aceste comenzi acceseaz a aceea si banc a sau b anci diferite. Se poate obt ine pe ie sire un ux continuu de date citite care pot alterna cu date nscrise dac a se intercaleaz a si comenzi WRITE rafal a (cu condit ia s a nu apar a concurent a de date la intrare/ie sire); dar comanda WRITE trebuie s a e aplicat a chiar pe frontul pozitiv de ceas pe care se nscriu datele. Operat ia de citire sub o rafal a de lungime x a sau de o pagin a se poate termi na/(trunchia) prin aplicarea la banca respctiv a a comenzii PRE INCARCARE (PA), aceast a aplicare trebuie efectuat a cu x tacturi nainte de tactul care mai cite ste date valide. De exemplu, n Figura 3.97-c s-a aplicat comanda READ rafal a pe T 0 , aici de lungime nespecicat a, din banca 2, ncep and de la coloana n, cu latent a CAS = 3,

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 funct ion arii circuitului SDRAM; exemple de diagrame de semnale care ilustreaz a funct ionarea memoriei la aplicarea comanzilor de: ACTIVARE (b), READ (c) si WRITE (d).

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

519

iar dup a citirea a patru date consecutive (de la coloanele n, n + 1, n + 2, n + 3) se termin a rafala prin aplicarea comenzii PRE INCARCARE; succesiunea de comenzi generat a de controller este: T0 - READ; T1 - NOP; T2 - NOP; T3 - NOP; T4 PRE INCARCARE; T5 - NOP; T6 - NOP. De notat c a timpul de prescriere x pentru comanda PRE INCARCARE apare ca ind ascuns deoarece simultan se fac si citirile de date succesive. Dup a comanda PRE INCARCARE o urm atoare comand a la aceea si banc a nu se poate aplica dec at numai dup a un inteval prescris de timp RP . De asemenea, trunchierea/terminarea unei rafale de o anumit a lungime sau de o pagin a (cu condit se poate realiza si cu o comand a TERMINARE RAFALA ia s a nu fost prescris a autopre nc arcarea, A10 = H ), care trebuie aplicat a cu x tacturi nainte de ultimul tact care genereaz a date valide. - Comanda WRITE. Inregistrarea comanzii WRITE init iaz a un acces pentru o nscriere rafal a la o coloan a de adres a A 7 A0 ntr-o banc a xat a prin BA1, BA0 n care a fost deja activat a o linie de cuv ant; dac a A 10 = H se realizeaz a o pre nc arcare automat a la terminatea rafalei. Primul cuv ant de date de intrare DQ int se nscrie n coloana de adres a A7 A0 pe primul front pozitiv de ceas, c and se nregistreaz a comanda WRITE, apoi, c ate un cuv ant de intrare pe ecare din fronturile pozitive de ceas urm atoare p an a la completarea lungimii rafalei sau paginii (pentru mod pagin a); la terminare, dac a nu mai exist a alt a comand a, intrarea DQ va trece n HZ si va ignora oricare dat a aplicat a. O comand a WRITE poate urmat a de o alt a comand a WRITE pe oricare front pozitiv urm ator, n consecint a se poate nscrie un ux continuu de date n aceea si banc a sau n b anci diferite. Fluxul de date pentru o comand a WRITE poate trunchiat/(terminat) printr-o comand a READ sau PRE INCARCARE. De exemplu, n Figura 3.97-d se realizeaz a o nscriere rafal a, cu lungimea 2, n banca 1 ncep and cu coloana n, apoi trei nscrieri consecutive: prima n banca 2, ncep and de la coloana p, a dou a n banca 3, ncep and cu coloana q iar a treia tot n banca 1, ncep and cu coloana n + 2. In banca 2 nu se nscriu n rafal a dou a coloane deoarece este trunchiat a de comand a WRITE pentru banca 3, dar nici n banca 3 nu se nscriu dou a coloane n rafal a deoarece este trunchiat a de comanda WRITE pentru banca 1. Dar si n banca 1 se nscrie tot numai o coloan a (col n + 2) deoarece este trunchiat a prin aplicarea comenzii PRE INCARCARE (dat a pentru banca 1 sau pentru toate). In aplicarea comenzii PRE INCARCARE trebuie respectat intervalul de timp W R ncep and de la frontul pozitiv al ultimei date care se dore ste a nscris a ( n acest caz T 4 ); num arul de tacturi pentru acest interval rezult a n funct ie de frecvent a de ceas cu care se comand a memoria (in general W R se acoper a prin 1-2 tacturi de nt arziere p an a la aplicarea comenzii PRE INCARCARE). Semnalul DQM trebuie pus n H imediat dup a ultima dat a nscris a p an a la aplicarea comenzii PRE INCARCARE pentru a masca n con tinuare intrarea datelor de nscriere. ( In cazul c and PRE INCARCARE se aplic a la teminarea lungimii rafalei, DQM nu se pune n H, dar intervalul W R trebuie respectat si n acest caz.) Dup a comanda PRE INCARCARE aplicarea comenzii ACTIVARE nu se poate aplica dec at numai dup a intervalul RP . - Comanda PRE INCARCARE este utilizat a pentru dezactivarea unei linii activate ntr-o banc a sau a liniilor activate n toate b ancile. Dac a n momentul nregistr arii comenzii PRE INCARCARE bitul A10 , din cuv antul de adres a, este H atunci toate b ancile sunt pre nc arcate, iar dac a A10 este n L atunci numai banca al c arui num ar este dat prin cuv antul BA1BA0 va pre nc arcat a. Odat a pre nc arcat a o banc a/b an-

520

3.6. MEMORIA CU ACCES ALEATORIU

cile este n continuare n stare inactiv a, deci nainte de a aplica o comand a READ sau WRITE banca respectiv a trebuie s a e activat a (prin comanda ACTIVARE); dup a comanda PRE INCARCARE urm atoarea comand a (ACTIVARE) nu poate aplicat a nainte de RP . Pre nc arcarea automat a realizeaz a, la fel, o pre nc arcare a unei b anci dar nu este init iat a prin aplicarea cuv antului de comand a PRE INCARECARE. Pre nc arcarea automat a este prescris a odat a cu comenzile WRITE sau READ dac a bitul A 10 = H , iar operat ia de pre nc arcare se efectueaz a (automat) la terminarea lungimii de rafal a, cu except ia lungimii de rafal a pagin a c and pre nc arcarea nu se execut a la terminarea parcurgerii paginii. Exemplul 3.33 S a se proiecteze un controller pentru o memorie dinamic a sincron a, SDRAM CNTRL, av and urm atoarele date impuse:
Memorie SDRAM (Micron Technology),128Mb (1M b 32 4 b anci),MT48LC4M32B2. 1 client (P): apeleaz a scriere si citire, operat ii sincronizate cu SDRAM CNTRL (4M 32 bit i). Gestiunea automat a a re mprosp at arii memoriei. Frecvent a de lucru: 100 MHz (TCLK = 10ns). Adres a multiplu de 4. Rafal a secvent ial a cu lungimea 4, latent a CAS = 2 tacte. Descriere semnal CLK, semnal de ceas comun pentru: client, SDRAM CNTRL, SDRAM. RESET L, semnal de resetare (repornire) Interfat area cu clientul RQ, semnalul de acces (generat de client) ACK, semnalul de conrmare (generat de SDRAM CNTRL) R/W L, semnalul pentru operat iile de citire/scriere (generat de client) A21 A0 , cuv ant de adres a generat de client (banc a+linie+coloan a) DQ31 DQ0 , cuv ant de date citite din SDRAM DQ31 DQ0 , cuv ant de date pentru nscrierea n SDRAM Interfat area cu SDRAM CS L, semnal selectare SDRAM CKE, semnal validare ceas (se consider a permanent n H) BA1BA0, cuv ant selectare b anci A11 A0 , cuv ant adres a selectare linie; A7 A0 , cuv ant adres a selectare coloan a RAS L, semnal strobare adres a linie (A11 A0 ) CAS L, cuv ant strobare adres a colon a (A7 A0 ) WE L, semnal validare nscriere date DQM3 DQM0 , cuv ant pentru mascare date (pe byte) DQ31 DQ0 , cuv ant de date bidirect ionale

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]

Solut ie. Modul de interfat are, cu specicarea semnalelor (direct ie, activare, lungime de cuv ant) ntre client (P) si SDRAM prin intermediul controllerului este prezentat sub form a de schem a bloc n Figura 3.98-a. De asemenea, este prezentat a interdependent a ntre semnalele cerere acces, RQ (de la clent) si conrmare, ACK (de la controller), n realizarea

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

521

protocolului pentru operat ia de citire si de nscriere, Figura 3.98-b. Cuv antul adres a pentru o locat ie n memorie, generat de client, este segmentat n subcuvintele pentru adres a banc a, linie si coloane, de c atre controller si transmis n aceast a forma la SDRAM, Figura 3.98-c. Controllerul va implementat sub forma unui automat (ASM). Organigrama ASM, Figura 3.99-a se compune din trei p art i: nitializarea memoriei, re mprosp atarea memoriei si operat iile de memorie (activare, citire, nscriere si pre nc arcare). La conectarea tensiunii sau activarea, RESET L = 0, circuitul de memorie trebuie init ializat si aceasta const a din: o comand a de PRE INCARCARE (PA), dou a comenzii de AUTOREFRESH (AR1, AR2) si o comand a de programare ( INCARCARE REGISTRU MOD, LMR).
CLK RESET_L CLK RQ AKN R/WL CLIENT (p) A21 A0 32 32 a) Protocol Client _ SDRAM_CNTRL 1 1 1 RQ ACK R/W CLK RESET CS RAS CAS WE CS_L RAS_L CAS_L WE_L 1 1 1 1 4 CS_L RAS_L CAS_L WE_L DQM A11 DQ A0 SDRAM ( MT48LC4M32B2 ) CLK H CLKE

ADR.CLIENT DQ in DQ out SDRAM_CNTRL A11

A0 DQ

12 2

BA1 BA0

BA1 BA0

CLK RQ

ADR_ CLIENT R/WL DQ out DQ in AKN

>= ? ; rqrnmqm poo < .-.- 0/0/ 2121 4343 6655 8787 :9: < ; C I = K ? M A O E Q G I K W M Y O [ Q ] S _ U W Y e [ g ] i _ a c e g i            !  #   '  )  + ! # / % 1 ' ) 5 + 7 B? ABAB D > L @ B P F H J L X N P \ R T ` V X Z \ h ^ ` b d f h j
 
       $   (  , " $ 0 & ( * , k k l l ?= ; C I = K ? M A O E Q G I K W M Y O [ Q ] S _ U W Y e [ g ] i _ a c e g i            !  #   '  )  + ! # / % 1 ' ) 5 + 7 nnm ppo ; >=> D > L @ B P F H J L X N P \ R T ` V X Z \ h ^ ` b d f h j
 
       $   (  , " $ 0 & ( * , ] A DCI WNM Y PO \ [RQ ] TS ` _VU XW ZY e            !  #$  '  )  + %& 1 '( *) 5 +, 7-. /0 12 34 65 78 9 >= LK@? M BA POFE Q HG IJ LK X \[ hg]^ i `_ lkba dc fe hg ji lk ( , "! - #$ / 0 _ ^_ b d h ^ f j ` b d r h p f t j v l x n r p ~ t v x | z ~ e _ g ] k a c e i q g k w m o s q  u w y } {  ^ b d h ^ f j ` b d r h p f t j v l x n r p ~ t v x | z ~ e _ g ] \ k a c e i q g k w m o s q  u w y } {  U ^ b ed h ^ gf\\ k ja` cb ed r h qpgf t j wvml x n sr qp  ~ut wv yx }| {z ~ _ _ i k o VTUWVTV YXYXX 
       $  "  &  (  * $ " 0 & 2 ( 4 * 8 . 6 , 0 2 > 4 B 8 @ 6 D : F < > B N @ P D R F H L J N P R W
      %   '   + ! % # ' 3 ) + 9 / 1 3 ? 5 9 A 7 ; G = ? C A Q E G I M K O Q S Z Z [ [

       $  "  &  (  * $ " 0 & 2 ( 4 * 8 . 6 , 0 2 > 4 B 8 @ 6 D : F < > B N @ P D R F H L J N P R       %   '   + ! % # ' 3 ) + 9 / 1 3 ? 5 9 A 7 ; G = ? C A Q E G I M K O Q S Z Z 
  $ "  ' & (  + *! %$ #" 0 >54 B 98 A @76 D ;: G F=< ?> CB N W Y
     % '& 32)( 4 +* 98/. 6 -, 01 32 ? A@ QPDE R GF [MLIH KJ ON QP SR [

Citire

Inscriere


2 3 4

Adr[21:]

Adr[21:]

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 Select . banca c) Adresa linie de cuvant ( pagina )

b)

8 A0

7 A7

6 A6

5 A5

4 A4

3 A3

2 A2

1 A1

0 A1

Adresa coloana

Figura 3.98 Explicativ a pentru exemplul 3.33: a) schema bloc a interfat a rii CLIENT-SDRAM CNTRL si SDRAM CNTRL-SDRAM; b) semnalele de protocol ia de citire si nscriere; c) subc ampurile penCLIENT-SDRAM CNTRL pentru operat tru adres a banc a, linie si coloan a n cuv antul de adres a generat de client.
In starea 0 de init ializare, Init st, automatul va stat iona 17 tacte de ceas pe durata c arora, cu anumite determin ari de temporizare (prescrise de fabricant), se genereaz a comenzile PA, AR1, AR2 si LMR; pe baza acestor comenzi controllerul va calcula semnalele care and pe se aplic a la SDRAM. Automatul r am ane n starea 0 pe durata a 17 tacte de ceas c

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 a pentru exemplul 3.33: a) organigrama ASM pentru funct ionarea SDRAM CNTRL; b) structurarea contrlollerului ca un automat Moore cu nt arziere.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

523

baza unui registru de deplasare de init ializare, initShReg, se genereaz a cele patru comanzi. La RESET L = 0 se nscrie 1 n prima celul a a registrului ShReg(0) = 1. Prin deplasarea valorii 1 din celul a n celul a rezult a: o comand a de PREINCARCARE, ShReg(1) = 1 = P A; dou a comenzi de AUTOREFRESH, ShReg(3) = 1 = AR1 si ShReg (10) = 1 = AR2; o comand a pentru nc arcarea registrului de mod ShReg(17) = 1 = LM R (c and se trece la stare urm atoare). Refresh-ul memoriei trebuie f acut la ecare 64 ms, ceea ce nseamn a c a la o repartizare uniform a a re mprosp at arii celor 4096 linii ale matricei, intervalul n timp ntre re mprosp atarea a dou a linii este ref = 64ms/4096 = 16s, iar raportat acest interval la frecvent a de ceas de 100 MHz (TCLK = 10ns) rezult a c a dup a un num ar de 16s/10ns = 1600 perioade de ceas trebuie dat a o comand a de AUTOREFRESH (se consider a acoperitor 1500 perioade). Semnalul cerere refresh, rf rq, este produs de un num ar ator cu prescriere (rfCounter), cu num arare n sens invers, CU/CD = 0, ca n Figura 3.100-c, al c arui semnal RCO comand a un latch SR (iar num ar atorul ncepe un nou ciclu de 1500 de tacte). Ie sirea Q a latchand ului SR este semnalul rf rq de cerere pentru aplicarea comenzii AUTOREFRESH; c rf rq=1 se trece n starea 2 a automatului. La generarea comenzii AUTOREFRESH, n si, n acela si timp, se nscrie valoarea 1 n pozit ia starea 2 , arf st, latchul SR este resetat rdr(0) a registrului durat a re mprosp atare, rdr, cu lungimea de 7 bit i. Se intr a n bucla mprosp atare, p an a la de a steptare din starea 3 , Idle arf st, pe durata procesului de re mprosp atare pentru o linie de cuv ant, activarea semnalului arf term; durata procesului de re xat a la sapte tacturi de ceas, este realizat a prin parcurgerea registrului de deplasare st anga, rdr (registru durat a refresh), p an a la celula a saptea c and rdr(6)=1=arf term, Figura 3.100-d. In partea de operat ii a diagramei ASM se intr a c and nu exist a o cerere de re mprosp atare, si este activat a cererea de acces de la client, RQ = 1. Prima operat ie, care trebuie rf rq = 0, efectuat a dup a o re mprosp atare sau dup a o pre nc arcare, este cea de activare, ceea ce se realizeaz a n starea 4 , act st, prin comanda ACTIVARE. La linia de cuv ant activat a o a numai urm atoare comand a READ/WRITE, generat a n starea 6 , oper st, poate aplicat dup a intervalul de timp RCD ; starea 5 , Idle act st, care genereaz a comanda NOP este introdus a tocmai pentru acoperirea nt arzierii RCD . Pe tacturile corespunz atoare st arilor 6 , 7 , 8 , 9 se realizeaz a rafala cu lungimea de patru tacturi pentru operat ia de nscriere sau citire aplicat a n starea 6 . O rafal a cu lungime x a, pentru citire sau nscriere, poate urmat a, sau trunchiat a/ si banc a (dac a ntrerupt a printr-o comand a PRE INCARCARE (starea 11 , pr st), la aceea nu a fost prescris a AUTO-PRE INCARCARE, A10 = 1). Dar, dac a se efectueaz a o rafal a de nscriere atunci comanda PRE INCARCARE nu se poate genera dec at numai dup a consumarea intervalului de timp W R , vezi Figura 3.97-d, de la aplicarea pe intrarea de date a memoriei a ultimului cuv ant de date care se dore ste a nscris. In consecint a , la terminarea rafalei de patru date se testeaz a dac a operat ia curent a a fost de nscriere, rwCrt = 0, si n caz armativ se intr a n starea 10 , Idle wr st care asigur a acoperirea intervalului W R . Dup a aplicarea operat iei de pre nc arcare, starea 11 , aplicarea unei noi comenzi ACTI-

VARE, pentru selectarea unei alte linii de cuv ant, se poate aplica numai dup a consumarea intevalului de timp RP (vezi Figura 3.97-c) ceea ce se realizeaz a prin comanda NOP din a ca ie sirea unui latch SR comandat starea 1 , nop st. Variabila de testat rwCrt se genereaz prin conjunct ia RQ R, W L. Tabelul de tranzit ie al st arilor si al ie sirilor (comenzilor), corespunz ator organigramei ASM, este prezentat in Figura 3.100-a; rezult a c a automatul este de tip Moore (comenzile

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 a pentru Exemplul 3.33: a) tabelul de tranzit ie al st arilor si tabelul ie sirilor (comenzilor) pentru SDRAM CNTRL; b) generarea comenzilor n starea de init ializare pe baza unui registru de deplasare, ShReg; c) structura generatorului pentru intervalele de timp de re mprosp atare la o linie de cuv ant; d) structura circuitului pentru generarea duratei procesului de re mprosp atare la o linie de cuv ant.

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 SECVENT IALE, 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 a pentru Exemplul 3.33. Circuistica controllerului pentru generarea semnalelor exterioare (nu s-a gurat pentru semnalele CS L, RAS L, CAS L si WE L).

526

3.6. MEMORIA CU ACCES ALEATORIU

depind numai de st ari), care se implementeaz a cu nt arziere (pe un registru de sincronizare) pentru ca s a se obt in a semnale sincronizate pentru SDRAM, Figura 3.99-b. Codicarea ,, st arilor automatului se alege de tipul one-hot pentru a obt ine o structur a simpl a de automat (11 bistabile D); cuvintele de cod pentru ecare stare sunt notate n tabel si pe organigram a n hexazecimal. Din tabelul de tranzit ie al st arilor, pe baza celor cinci semnale de intrare (unul generat de client, RQ, iar celelalte generate de controller), a st arilor prezente, z10 z10 . . . z1 z0 , si a st arilor urm atoare, w11 w10 . . . w1 w0 , se poate realiza sinteza circuitului combinat ional al semiautomatului pentru calculul st arii urm atoare. In tabelul ie sirilor pentru ecare comand a, realizat a ntr-o stare a automatului, pe baza informat iilor de catalog din Figura 3.97-a, s-au completat valorile corespunz atoare ale semnalelor generate de automat: CS L, RAS L, CAS L, WE L, ACK, DQ L. Sinteza expresiilor logice pentru aceste semnale n funct ie de cuvintele de stare nu ridic a probleme, n starea 6 trebuie f acut a sinteza si n funct ie de wr eft (pentru a distinge ntre comenzile WRITE si READ) iar n starea 0 pentru cele trei tipuri de comenzi: PA, AR si LMR; aceste semnale de condit ionare sunt introduse n blocul combinat ional de dup a registrul de stare, Figura 3.99-b. Generarea semnalului de conrmare acceptare (ACK = 1) cerere client (RQ = 1) corea, adic a automatul este spunde situat iei c and cererea respectiv a pentru R,W L este executat a printr-o poart a OR4, Figura n una din st arile 6 , 7 , 8 sau 9 ceea de se realizeaz 3.101. Dar, semnalul ACK pentru cazul c and operat ia cerut a a fost READ trebuie nt arziat cu patru tacturi, patru bistabile nseriate (2 tacturi pentru compensarea latent ei CAS, 1 tact pentru latet a bistabilului D de pe ie sirea DQO si un tact pentru compensarea latent ei semnalului RQ introdus printr-un bistabil D). Alegerea ntre ACK pentru READ sau WRITE se face cu un MUX2:1 a c arui selectare se obt ine prin semnalul compus RQ R, W L = 1 a pe intrarea de Enable).. (R, W L se aplic Cuv antul de 12 bit i, transmis pe portul ADR[11:0] al memoriei, vezi Figura 3.96-a, este calculat de controller n patru variante 1. ca un cuv ant de adres a linie, n starea act st, si este identic cu bit i ADR CLIENT[19:8], vezi Figura 3.98-c; si este identic cu bit ii 2. ca un cuv ant de adres a coloan a, n starea oper st, a cei patru bit i superiori cu cuv antul cabADR CLIENT[7:0] la care se completeaz lat 0000; 3. ca un cuv ant de programare pentru registrul de mod, n starea Init st, LMR=1, si se obt ine ca un cuv ant cablat, 0 0 00 010 0 010, vezi Figura 3.96-b; 4. ca un cuv ant pentru comanda PRE INCARCARE, n starea pr st sau Init st, si se nc arcarea tuturor b ancilor. obt ine ca un cuv ant cablat, 0100 0000 0000, A11 = 1 pre Datele de la client DQI [31 : 0], separate de datele nspre client DQO[31 : 0], sunt multiplexate pentru o singur a magistral a bidirect ional a ntre controller si memorie. Multiplexarea se face n controller prin intermediul unui buer TSL comandat n stare normal a de funct ionare ( nscrierea DQI n memorie) prin semnalul DQe dac a operat ia curent a este de nscriere (Modelul VERILOG al acestui controller este prezentat n capitolul 5 din volumul II al acestei lucr ari).

3.6.3

Circuite actuale pentru memoriile de date

Memoria RAM de capacitate mare este utilizat a n primul r and n scopul de a stoca date pentru procesare (funct ie aritmetic a) si nu at at pentru a implementa funct ii

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

527

logice. Dar la aplicat ii cu cantit a ti mari de date se impune, implicit, si o modalitate de citire si scriere a unei cantit a ti mari de date (/cuvinte) n unitatea de timp; o prim a astfel de modalitate a fost citirea si nscrierea sub form a de rafal a. Exist a multe modalit a ti de cre stere a debitului de date pentru lucrul cu memoria, c ateva din acestea, care sunt de baz a, se vor prezenta n continuare. Accesarea dubl a pe perioada de ceas, DDR (Double Data Rate). La memoria SDRAM accesarea, e pentru READ, e pentru WRITE, se realizeaz a (e santioneaz a/ nregistreaz a) la un singur cuv ant de date pe o perioad a de ceas (pe frontul pozitiv); dar la memoriile de tip DDR SDRAM pe durata unei perioade de ceas sunt accesate dou a cuvinte (pe magistral a) care pot trimise ( nscrise n memorie) sau primite (citite din memorie), adic a un cuv ant pe frontul pozitiv si un cuv ant pe forntul negativ al semnalului de ceas. De fapt, se transmit circuitului DDR SDRAM dou a semnale de ceas CLK si negatul acestuia CLK ( n opozit ie cu 180 ), Figura 3.102; n exteriorul memoriei, pe magistral a, un cuv ant apare pentru CLK iar urm atorul pentru CLK, deci dac a se comand a cu frecvent le de ceas 100, 133, 166, 290 MHz rata de date este de 200, 266, 333, 400 . . . Mcuvinte/s. Frontul pozitiv pentru DDR SDRAM se consider a c and pentru CLK exist a tranzit ie L-H, indicat n gur a printr-o s ageat a, iar pentru CLK c and exist a tranzit ia H-L.
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 a de accesare 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 a doar partea de interfat are I/O date ( ncadrat a printr-o linie punctat a n gur a) cealalt a parte (nucleul memoriei) r am ane nemodicat a. La organizarea de tip DDR SDRAM, pentru o comand a READ/WRITE, pe o perioad a de ceas se acceseaz a un cuv ant de 2n bit i la nucleul memoriei, dar nspre/de la pinii I/O sunt dou a cuvinte de n bit i (c ate unul pe ecare semiperioad a de ceas). Pentru un transfer sigur al datelor de la surs a la recept ie, la o rat a dubl a pe linia magistral a, la DDR SDRAM sunt introduse semnale (de strob) de sincronizare a datelor, DQS. Un semnal DQS este generat de controller (propagat c atre memorii) pentru a se realiza nscrierea corect a n memorie a datelor, DQ in , iar un altul DQout (propagat c atre controller) este generat de c atre memorie pentru a asigura recept ia corect a ( n timp) la controller a datelor citite din memorie. Strobarea datelor citite (la controller) se face pe frontul semnalului DQS, iar la nscriere ( n memorie) se face pe mijlocul palierului semnalului DQS (c and nu exist a transfer pe magistral a,

528

3.6. MEMORIA CU ACCES ALEATORIU

linia pentru semnalul DQS este n starea HZ, reprezentat a la nivelul median ntre H si L). Circuitele DDR n raport cu cele SDRAM, deoarece au mai multe funct iuni care trebuie programate, prezint a un al doile registru de mod, EMR (Extended Mode Register) care se programeaz a ntr-o modalitate similar a cu primul registru de mod. DDR2 SDRAM este o variant a mbun at a tit a a DDR n tendint a de cre stere a ratei de transfer pe magistral a la valori de 400, 533 cu posibilitate p an a la 667 sau chiar 800 M cuvinte/s. Aceast a cre stere a ratei uxului de date se poate obt ine doar printr-o adaptare a liniei de conexiune ntre controller si cipul DDR2 SDRAM, n scopul mbun at a tiri semnalelor de date, DQ, de strobare, DQS, de mascare, DQM at at pentru nscriere c at si pentru citire. Adaptarea la intrarea pe circuitul DDR2, Figura 3.103-a, se face printr-un divizor 2Z0 la VDD si 2Z0 la VSS (terminator Thevenin, vezi Figura 1.75-b), a c arui rezistent a echivalent a este egal a cu impedant a caracteristic a a liniei Z0 . Printr-un pin suplimentar ODT (On-Die Termination) pe cipul DDR2 se aplic a un semnal de la controller care, pe baza ( si a program arii) registrului de mod extins, EMR, poate realiza comanda, prin comutatoarele SW 1 si SW2 , de conectarea sau deconectarea terminatorului Thevenin (sunt dou a divizoare cu dou a valori de rezistent e, 2Z01 , 2Z02 pentru a realiza adaptarea la dou a valori de impedant e caracteristice Z01 si Z02 ). Pentru operat ia de citire c and datele se transmit de la memorie la controller, Figura 3.103-b, este prezentat a adaptarea n controller at at pentru cazul c and exist a un singur modul de memorie activ (din care se cite ste) c at si pentru cazul c and sunt dou a module de memorie conectate. C and sunt dou a module de memorie conectate, adaptarea se realizeaz a si la al doilea modul de memorie (din care nu se cite ste, este n a steptare). Adaptarea pe ie sirea driverului pentru datele DQ out de pe modulul de memorie (activ), const a n egalizarea mpedant ei de ie sire n starea H cu cea din starea L la valoarea de 18 1.5. In acest scop n interiorul controllerului, pe o rezistent a etalon, se m asoar a c aderea de tensiune at at pentru ie sirea n starea H c at si pentru ie sirea n starea L a driverului de ie sire din memorie. Pe baza acestor dou a tensiunii m asurate controllerul genereaz a o succesiune de comenzi WRITE prin care se ajusteaz a, pentru egalizare, la driverul de ie sire de la memorie, ret eaua de rezistent e de ie sire din starea H cu ret eaua de rezistant e de ie sire n starea L. In Figura 3.103-c este prezentat a adaptarea pentru nscrierea n memorie at at pentru un singur modul c at si pentru dou a module de memorie conectate. Responsabilitatea gener arii succesiunii de comenzi pe pinul ODT de la DDR2 SDRAM revine controllerului. QDR SRAM. Modalitatea QDR aplicabil a la memoriile statice RAM este o extensie a modalit a tii DDR n sensul c a, pe l ang a accesarea cu o rat a dubl a pe perioada de ceas, de data aceasta memoria este accesat a DDR la dou a porturi (memorie dublu port); deci n raport cu o memorie SRAM pe magistral a se obt ine un ux de date cu o rat a qvadrupl a, de unde si denumirea QDR (Quad Data Rate). Memoria QDR SRAM, a c arei structurare de principiu este prezentat a n Figura 3.104-a, prezint a dou a porturi cu funct ionare independent a, unul de intrare ( nscriere) si unul de ie sire (citire), ecare din acestea ind accesate de dou a ori pe perioada de ceas (CLK, CLK). pentru Porturile ind accesate simultan, cuvintele ADRES A nscriere sau citire sunt multiplexate pe magistrala de adresare, memoria apare ca realiz and un ux de date n acela si sens. Memoria QDR SRAM a fost realizat a pentru aplicat iile unde succesiunea ntre

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 a dubl a de accesare DDR2 SDRAM: a) structura (doar a ) circuitului pentru adaptarea intr arilor pe cipul de memorie; exemplicare de adaptare ntre controller si memorie pentru operat ia de citire (b) si pentru operat ia de nscriere (c)

530

3.6. MEMORIA CU ACCES ALEATORIU

operat iile de citire, RD, si cele de nscriere, WR, este foarte str ans a n timp, de exemplu alternant ele RD-WR-RD-WR-. . . , RD-RD-WR-RD-RD-WR-. . . , RD-WR-WRRD-WR-WR-. . . ; adic a acele aplicat ii la care raportul mediu ntre numerele acestor dou a operat ii efectuate nu dep a se ste valoarea doi sau trei. Aplicat iile unde valoarea acestui raport mediu este mai mare de trei, deci un sir continuu de date de nscriere sau de citire, sunt bine acoperite de c atre o memorie DDR. Memoria QDR SRAM, Figura 3.104-b, permite dou a tipuri de implementare: cu lungime de rafal a 2 si cu lungime de rafal a 4, iar pentru ecare din acestea, n funct ionare trebuie considerate dou a aspecte, accesarea adresei pe magistrala de adrese si plasarea (captarea) datelor pentru nscriere. Memoria QDR SRAM cu lungimea de rafal a 2 poate sust ine indenit o succesiune de comenzi externe READ (2 cuvinte DQin ), WRITE (2 cuvinte DQout ) n ecare ciclu de ceas; intern, prima jum atate a perioadei de ceas realizeaz a funct ia READ iar n a doua jum atate funct ia WRITE. Evident, pe magistrala de adrese se aplic a succesiv adresa pentru citire urmat a de cea da nscriere; frontul pozitiv al semnalului CLK nregistreaz a adresa de citire n portul de ie sire (PC) iar frontul pozitiv al semnalului CLK nregistraz a adresa de nscriere n portul de intrare (PI). Memoria QDR SRAM cu lungimea de rafal a 4 poate sust ine indenit numai pentru o alternant a de comenzi externe READ (4 cuvinte DQ out ), WRITE (4 cuvinte DQin ) pe durata de c ate dou a cicluri de ceas, la fel ca si memoria cu lungimea de rafal a 2, dar intern utilizeaz a ciclurile diferit fat a de organizarea cu lungime de rafal a 2. Memoria SRAM utilizeaz a un ciclu de ceas pentru realizarea intern a a comenzii READ apoi pe urm atoarele dou a cicluri de ceas rezult a la ie sirea portului de citire patru cuvinte DQout . Pe urm atorul ciclu de ceas, dup a cel ocupat de realizarea comenzii READ, o comand a WRITE poate init iat a care determin a nscrierea n portul de intrare a patru cuvinte date, DQin . Rezult a c a succesiunea celor dou a comenzi implic a numai aplicarea unei adrese pe ciclu; frontul pozitiv al semanlului CLK nregistreaz a adresa de citire iar urm atorul front pozitiv, al semanlului CLK, este disponibil pentru nregistrarea adresei de nscriere. Dac a nu este aplicat a o comand a WRITE pe urm atorul front pozitiv al semnalului de cesa CLK atunci pe acest front nu poate init iat nici un alt ciclu RD-WR; rafala cu lungimea 4 nu poate stopat a mai devreme, aceasta trebuie s a se termine. Pentru sistemele care permit lucrul cu rafale de lungime 4 ( si nu numai lucrul cu rafale cu lungime 2) se recomand a primul tip de organizare de QDR (lungime 4) pentru c a: 1 - adresele pentru comenzile de READ si WRITE sunt prezentate de c atre controller doar c ate una pe un ciclu de ceas; 2 - la aceea si vitez a realizabil a pe siliciu se poate comanda cu o frecvent a de ceas mai ridicat a. Referitor la plasarea datei de nscriere, DQ in , exist a o mic a diferent a n funct ionarea memoriei QDR cu rafal a de lungime 2 si rafal a de lungime 4, ceea ce se poate observa din diagrama de semnale din gur a. Pentru rafala de lungime 2 captarea datelor de nscriere DQin1 se realizeaz a imediat ce semnalul de nscriere devine activ, si pe frontul pozitiv al semnalului CLK, iar pe urm atorul front pozitiv al WR L=0, antul DQin2 si interior este executat a operat ia de semnalului CLK este captat cuv nscriere. Pentru rafala de lungime 4 captarea datelor de nscriere DQ in1 se realizeaz a cu un ciclu de ceas nt aziere dup a activarea semnalului de nscriere, WR L=0; deci la urm atorul front pozitiv CLK este captat DQin1 , la urm atorul front pozitiv CLK este captat DQin2 , urmeaz a apoi captarea pentru DQin3 , DQin4 , respectiv pe fronturile

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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 si WRITE pentru QDR cu lungimea de rafal a2 si 4; c) organizarea aplicarii semnalelor de la/ nspre controller pentru sincronizare c and memoria este realizata din mai multe module.

532 pozitive ale semnalelor CLK si CLK .

3.6. MEMORIA CU ACCES ALEATORIU

Semnalele de ceas pentru memoriile QDS SRAM trebuie s a asigure restrict iile de temporizare. Pentru nscriere controllerul, Figura 3.104-c, trebuie s a genereze WR L, DQin cu cel put memoriei semnalele de ADERSA, in SU nainte de aplicarea frontului pozitiv al semnalului CLK si evident ment inerea valid a a acestora pe un interval H dup a acest front. De asemenea, pentru citire cu acelea si restrict ii de n portul de ie sire, temporizare trebuie e santionate datele DQ out , ADRESA si RD L mai mult aceste date DQout trebuie nscrise corect n controller dup a ce au fost transferate pe distant a dintre memorie si controller. Pentru memoriile QDS SRAM care sunt comandate la frecvent e sub 133 MHz semnalele CLK si CLK pot generate nc at s a realizeze restrict iile de temporizare, dar la memoriile QDR care lucreaz a la frecvent e ridicate, peste 133 MHz, timpii de acces devin sensibil egali cu timpii de propagare a semnalelor pe distant a de la controller la primul modul de memorie. Pentru nscrierea datelor , c and sunt mai multe module QDR, semnalele CLK, CLK se genereaz a la controller cu o mic a nt arziere fat a de generarea semnalelor WR L, DQin nc at s a se asigure SU ; iar SU este asigurat la ecare modul ADRESA, deoarece se presupune c a pentru ecare modul toate aceste semnale generate de controller parcurg mpreun a aceea si distant a (deci aceea si nt arziere de propagare). Dar la citire pentru c a datele DQout parcurg de la module p an a la controller distant e diferite (de exemplu, n gur a pentru cele dou a module nt arzierile de propagare p an a la controller sunt 1 si 2 , 1 < 2 ) pentru ca s a e captate n controller cu acela si front de ceas aceste date trebuie s a fost nregistrate n porturile de ie sire de la memorie anterior cu intervale de timp 1 si 2 . Rezult a c a, pe l ang a semnalele CLK si CLK pentru inscriere, este necesar a nc a o pereche de semnale de ceas CLC si CLC pentru citire. Aceste semnale CLC si CLC , defazate fat a de CLK si CLK se obt in printr-o bucl a a traseului semnalelor de ceas, acest traseu porne ste de la controller si se ntoarce tot la controller. Semnalele CLK si CLK generate de controller sunt aplicate succesiv la ecare modul QDR si sunt folosite pentru sincronizarea comenzii WRITE, apoi la re ntoarcere, cu defazajele corespunz atoare diatant elor parcurse, sunt aplicate succesiv dar n ordine invers a la ecare modul ca semnale CLC CLC pentru nscrierea datelor DQout n porturile de citire; iar c and ajung n controller vor sincroniza nscrierea datelor recept ionate. Deoarece prin acest a bucl a semnalele de ceas pot avea o nc arcare mare, mai nou, memoriile QDR genereaz a ele nsele o pereche n controller a de semnale ecou, CQ si CQ, care sunt utilizate pentru sincronizarea datelor citite DQout ; aceste semnale de ceas ecou sunt produse din semnalele de ceas In structura de primite de memorie, CLK si CLK , prin introducerea unor defazaje. ( principiu a memoriei QDR din Figura 3.104-a, semnalul ZQ are o funct ie similar a cu a semnalului aplicat pe pinul ODT la o memorie DDR2, adic a ajustarea impedant ei de ie sire a driverelor de ie sire pentru a se adapta la impedant ele de pe circuitul imprimat. BW1 , BW0 sunt semnale prin care se poate selecta pentru nscriere un anume byte din cuv antul DQin .) Pentru circuitele de memorie, utilizate n sistemele de de calcul, tendint a este ca acestea s a devin a din ce n ce mai mult circuite programate (prin unul sau mai multe Load Mod Register) si, n viitor, memoria s a dob andeasc a o anumit a inteligent a astfel nc at (integr and si controllerul) s a poat a realiza independent anumite funct ii.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

533

3.6.4

Memoria adresabil a prin cont inut, CAM

La toate tipurile de memorie prezentate p an a acum procesul de obt inere/restablire a unei informat ii (cuv ant) se realizeaz a n felul urm ator: prin cunoa sterea unei adrese (deci se impune memorarea, ntr-un fel, a adresei) care se aplic a memoriei se extrage din locat ia, de la aceast a adres a, informat ia c autat a. Dar, se poate realiza acest proces si n sens invers, adic a se cunoa ste informat ia (cuv antul de date) si se determin a adresa (locat iei) unde este stocat (acest cuv ant) n memorie. Practic, acest proces invers se realizeaz a n felul urm ator: cuv antul data cunoscut, D n1 Dn2 . . . D1 D0 , se compar a, n paralel, cu cuvintele data din toate locat iile memoriei si se genereaz a un semnal de g asire M (match) dac a exist a stocat acest cuv ant si totodat a se obt ine si adresa (sau adresele), AMm1 , . . . , AMk , . . . AM0 , locat iei care cont in acest cuv ant, Figura 3.105-a. Deoarece la acest tip de memorie explorarea se realizeaz a prin cont inut, si nu prin adres a, referirea sa se face prin sintagma memorie adresabil a prin cont inut, 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 identit a tii a dou a cuvinte, realizat cu tranzistoare de trecere, Figura 1.53-d. C ate un astfel de circuit de generare a identit a tii este realizat pentru toate celulele, Figura 3.91-a, unei locat ii (adres a) a memoriei. Poarta XOR pentru celula i este relizat a cu tranzistoarele de trecere T 1 si T2 ( si realizeaz a xi Di + xi Di ). Cele dou a valori xi si xi se g asesc nscrise n celula i, ca ie siri ale celor dou a inversoare CMOS ( n celul a este nscris bitul x i al cuv antului X = xn1 . . . xi . . . x1 x0 ), iar cele dou a valori Di si Di , ale bitului de rang i din cuv antul de comparat, D = Dn1 . . . Di . . . D1 D0 , se aplic a din exteriorul memoriei respectiv pe coloanele de bit C1 si C2 la celulele i de pe toate liniile de cuv ant (adrese). (Celula de memorie CMOS se consider a n starea 0 (x i = 0, xi = 1) c and ie sirea inversorului din dreapta este H si ie sirea inversorului din st anga este L iar n starea 1 c and cel din st anga este n H si cel din dreapta este n L.) Circuitul NOR al generatorului de identitate, ntre cuv antul D si cuv antul X de pe o linie de cuv ant, este constituit (distribuit) din toate tranzistoarele T 3 , c ate unul pentru ecare celul a de memorie, si care sunt comandate de c atre ie sirile port ilor XOR. Aceast a poart a NOR distribuit a poate realizat a dinamic (cu pre nc arcarea la timpul potrivit, de exemplu c and M=1) sau ca o pseudo poart a CMOS (ca n structura prezentat a, s este tranzistorul de sarcin a) dac a nu este critic a cerint a de vitez a. Memoria CMOS CAM cu structurarea prezentat a poate utilizat a n modul normal pentru nscriere si citire; operat ia de nscriere este necesar a pentru a stoca cuvintele data X la oricare adres a, iar citirea numai pentru utilit a ti de testare; n Figura 3.105-c este prezentat a o astfel de memorie cu patru adrese pentru cuvinte cu lungimea de patru bit i. Pentru funct ionare ca memorie CAM cuv antul c autat D se aplic a pe pinii de intrare, ca dat a de intrare, astfel c a pe coloanele de bit C 1 si C2 vor respectiv valorile Di si Di , dar nu se aplic a memoriei nici un cuv ant de adres a. Dac a bitul Di este identic cu bitul xi din celula i atunci poarta XOR corespunz atoare va aplica 0 pe poarta tranzistorului T3 (bloc andu-l) din poarta NOR a generatorului de identitate; toate tranzistoarele T3 de pe o linie de cuv ant (de la o poart a NOR) vor blocate numai c and X D, indic and la ie sire, prin act ionarea AM k = 1, adresa (liniei) la care s-a g asit cuv antul c autat. Dac a cel put in un bit din cele dou a cuvinte sunt diferite, tranzistorul T3 corespunz ator acelui bit va conduce, poarta NOR de pe linia respectiv a produce 0 pe ie sire, AM k = 0, indic and neidentitatea cuvin-

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 a prin cont inut, CAM: a) schem a bloc pentru o memorie CAM; b) structurarea unei celule de memorie CAM pe baza unei celule RAM-CMOS prin ad augarea componentei de generare a funct iei de identitate (poarta XOR); c) organizarea unei memorii CAM de patru locat ii pentru cuvinte de patru bit i; d) structura logic a a unei celule CAM pentru c autarea cuvintelor incomplet denite; e) structurare de principiu, pe baz a de memorie CAM, a unui circuit pentru translatarea adreselor virtuale n adese reale (TLB).

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

535

telor, X D. In acest mod de structurare al memoriei CAM adresa la care s-a g asit cuv antul c autat corespunde cu num arul pozit iei n cuv antul AM m1 . . . AMk . . . AM0 , pentru care bitul are valoarea 1. In cazul n care exist a mai multe adrese la care s-a g asit cuv antul c autat se poate alege doar una din aceste adrese prin aplicarea cuv antului AMm . . . AMk . . . AM0 la intrarea unui codicator prioritar m : log2 m (alegerea uneia din adresele g asite depinde de modul de alocare a priorit a tilor, vezi 2.4.2). Pe l ang a aarea adresei locat iei, unde exist a identitate, AM k = 1, structura de memorie CAM trebuie nzestrat a si cu generarea unui semnal de g asire, M = 1, ceea ce se poate realiza cu o poart a NOR, ale c arei tranzistoare n paralel din ret eaua nMOS sunt comandate de ie sirile AMk , 0 k m 1; ie sirea negat a din acest a poart a genereaz a M = 1 c and cuv antul c autat a fost g asit la cel put in o adres a. Uneori, este necesar a se c auta n memorie un cuv ant D k care este incomplet cunoscut, adic a valorile anumitor bit i ai s ai nu se cunosc. La accesarea printr-un cuv ant incomplet denit structura celulei (pentru un bit) a generatorului de identitate este prezentat a n Figura 3.105-d. Structura acestei celule rezult a din strucura celulei anterioare la care se adaug a poarta 1 care este comandat a de bitul de masc a m i ; dac a Di este denit atunci mi trebuie s a e 1 (poarta AND2 este deschis a), iar dac a D i nu se cunoa ste atunci bitul de masc a trebuie s a produc a un rezultat ca si c and bit ii D i si xi au valori identice, deci mi = 0 (poarta AND2 este nchis a). Cu aceast a regul a rezult a congurat ia cuv antului masc a, m, care are aceea si lungime ca si a cuv antului c autat, cu maparea: pentru bit ii Di cunoscut i mi = 1, iar pentru bit ii Di nedenit i mi = 0. Memoriei CAM i se aplic a din exterior simultan dou a cuvinte, cuv antul dat a c autat, Dk , si cuv antul masc a m. In exemplul urm ator, pentru un cuv ant incomplet denit Dk , se realizeaz a cuv antul masc am si se prezint a c autarea la dou a adrese din care la una cu succes (a) iar al cealalt a (b) f ar a succes. 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 c autat a) 1 0 (Data existent a n CAM) 1 1 (cuv antul masc 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 c autat a) 1 0 (Data existent a n CAM) 1 1 (cuv antul masc a) 0 0 AMk = 0

O utilizare foarte frecvent a a memoriei CAM este n cadrul sistemelor pe baz a de microprocesor, pentru translatarea adresei virtuale n adres a real a prin a sanumitul circuit TLB (Translation Lookaside Buer). Intr-un sistem de calcul spat iul de adresare virtual, V, cu care lucreaz a programele este mult mai mare dec at spat iul de adresare real (/zic), R, cu care lucreaz a procesorul, adic a num arul de adrese (zice) din modulele de memorie ale sistemului. (De exemplu, s a consider am c a spat iul virtual ar

536

3.6. MEMORIA CU ACCES ALEATORIU

de 232 adrese (4G), adresare cu un cuv ant de 32 bit i, iar spat iul real de 2 20 adrese (1M), adresare cu un cuv ant de 20 bit i). Translatarea unei adrese virtuale intr-o adres a real a, VR, se realizeaz a cu un tabel, TBL, implementat cu o memorie CAM, Figura 3.105-e. Memoria CAM cu un num ar de q locat ii are pe ecare linie stocate dou a cuvinte; n prima jum atate a liniei cu structur a CAM este un cuv ant care reprezint a o adres a virtual a iar n a doua jum atate a liniei (cu strutur a de memorie RAM) este un cuv ant care reprezint a o adres a real a (lungimea cuv antului de adres a virtual a este mai mare dec at a celui de adres a real a ). In tabel se nscriu n prima jum atate, n funct ie de num arul de locat ii q , doar acele adrese virtuale care se preconizeaz a c a vor referite prin rularea programului, iar pe ecare linie din a doua jum atate se nscrie adresa (real a) locat iei din memoria RAM a sistemului unde se a a data referit a de adresa virtual a (inscris a n prima jum atate a aceleia si linii). La aplicarea unui cuv ant de adres a virtual a la jum atatea de tip CAM a tabelului, acest cuv ant este comparat cu toate adresele virtuale nscrise si n cazul unei identit a ti se genereaz a pentru acea linie semnalul AMk = 1. Semnalul AMk activat va produce citirea adresei reale de pe a doua jum atate a liniei respective, iar aceast a adres a real a este aplicat a la memoria RAM a sistemului de unde se cite ste/ nscrie data referit a de adresa virtual a.

PROBLEME
P3.1 S a se deduc a structura automatului asincron care are urm atorul tabel de evolut ie al st arilor (Figura 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 a se studieze condit ia de instabilitate pentru circuitul a c arui structur a este prezentat a mai sus (Figura b din textul problemei P3.1) P3.3 S a se determine st arile totale stabile ale circuitului asincron obt inut prin conectarea ie sirilor F 1 si F 2 ale unei port i DAR-NEGAT respectiv la intr arile A 2 si A1 . Structura port ii DAR este dat a n problema P2.22. P3.4 Un automat detecteaz a dac a ntr-un sir de bit i aplicat pe intrarea x exist a consecutiv trei sau mai mult i bit i cu valoarea 1, dac a da se genereaz a ie sirea y = 1. S a se deseneze graful de tranzit ie al st arilor/ie sirii precum si tabelul de tranzit ie al st arilor/ie sirii. P3.5 Un automat detecteaz a dac a ntr-un sir de bit i aplicat pe intrarea x exit a n ultimi trei bit i aplicat i exact doi bit i cu valoarea 1, dac a da se genereaz a ie sirea

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

537

y = 1. De exemplu pentru secvent a de intrare 011011100 se genereaz a pe ie sire secvent a 001111010. S a se deseneze graful de tranzit ie al st arilor/ie sirilor precum si tabelul de tranzit ie al st arilor/ie sirii. P3.6 Un automat calculeaz a funct ia majoritar de trei variabile F = 0 (3, 5, 6, 7) dar tripletul valorilor celor trei variabile este aplicat serial pe intrarea x a automatului. Automatul genereaz a y = 0 p an a c and a treia valoare din triplet este aplicat a pe intrare iar atunci va genera y = 0 sau 1 daca num arul de bit i 0 respectiv de 1 a fost majoritar n triplet; de exemplu pentru sirul aplicat pe intrare 011100101 va genera la ie sire 001000001. S a se deseneze graful de tranzit ie al st arilor/ie sirii precum si tabelul de tranzit ie al st arilor/ie sirii. P3.7 Un automat, de tip Mealy, identic a dintr-un sir de bit i, aplicat la intrarea x, secvent a 10110 si genereaz a, c and aceast a secvent a este identicat a, unu logic pe ie sirea y . In sirul aplicat peste secvent a corect a se poate suprapune, part ial, si o alta urm atoare, secvent a corect a. S a se deseneze graful de tranzit ie al st arilor/ie sirii precum si tabelul de tranzit ie al st arilor/ie sirii. P3.8 S a se realizeze graful de tranzit ie al st arilor/ie sirii pentru un automat Mealy care are funct iunea de detector de secvent e: dintr-un sir oarecare de bit i aplicat la intrarea x se detecteaz a secvent a 010110 si se genereaz a, cand aceast a secvent a este identicat a, unu logic pe ie sirea y ; peste secvent a corect a se poate suprapune, part ial, si o alt a urm atoare secvent a corect a. P3.9 Un detector de secvent e, de tip automat Mealy, c and detecteaz a secvent a 01101 dintr-un sir de bit i aplicat pe intrarea x genereaz a 1 pe ie sirea y 1 , iar c and detecteaz a secvent a 01111 genereaz a 1 pe ie sirea y 0 . Unei secvent e din sir i se poate suprapune o alt a secvent a de acela si tip sau din cel alalt tip. (cuv antul de ie sire este ordonat y1 y0 ). P3.10 Un automat de tip Moore detecteaz a dac a secvent e de c ate patru bit i aplicate pe intrarea x constituie un cod corect pentru o cifr a exprimat a n codul BCD (8-4-21). Dac a secvent a este un cod BCD corect se genereaz a y = 1, dac a nu se genereaz a y = 0. S a se realizeze graful de tranzit ie al st arilor. P3.11 Un automat Mealy care detecteaz a, ntr-un sir de bit i aplicat pe intrarea x, secvent a 01010 are urm atoarea funct ionare. C and secvent a 01010 este detectat a n sir se genereaz a ie sirea y0 = 0. Dac a n sirul de intrare se detecteaz a subsecvent a 011 atunci se genereaz a y1 = 1 si se init ializeaz a, din nou, c autarea secvent ei 01010. Peste o secvent a 01010 se poate suprapune nceperea unei urm atoare secvent e 01010. S a se realizeze graful de tranzit ie al st arilor/ie sirilor. P3.12 Un automat Mealy cu o singur a intrare x si dou a ie siri y 0 (pentru deschidere) si y1 (pentru alarm a), utilizat ca cheie electronic a, are urm atoarea funct ionare. Pentru deschidere trebuie s a se aplice pe intrarea x succesiv patru cuvinte de cod C 1 , C2 , C3 si C4 (ecare de c ate patru bit i), de exemplu C1 = 0110 = 6|10 , C2 = 1010 = 10|10 , C3 = 0100 = 4|10 si C4 = 1000 = 8|10 , dup a care se comand a deschiderea y0 = 1. Dimpotriv a se comand a alarma, y1 = 1, dup a patru cuvinte de cod dac a acestea sau printre acestea exist a coduri gre site. Un cod corect se noteaz a cu C iA iar un cod gre sit cu CiF , i = 1, 2, 3, 4 iar prin C oricare combinat ie de patru bit i care genereaz a o tranzit ie. S a se construiasc a graful de tranzit ie al st arilor/ie sirilor si tabelul de tranzit ie al st arilor/ie sirilor.
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 prime ste serial pe intrarea x cuvinte de c ate patru bit i care reprezint a un num ar n cod EXCESS-3 si genereaz a serial pe ie sirea y 1 cuvinte de patru bit i care reprezint a codul BCD al num arului aplicat pe intrare, deci o conversie serial a EXCESS-3 n BCD. Dac a pentru codul aplicat pe intrare nu exist a un num ar (0 9) n BCD automatul genereaz a 1 pe ie sirea y 0 . S a se realizeze graful de tranzit ie al st arilor/ie siri (primul bit aplicat pe intrare din codul EXCESS-3 este cel mai put in semnicativ. P3.14 S a se determine dac a urm atoarele grafuri de tranzit ie sunt denite ambiguu
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 a s a se construiasc a graful de tranzit ie al st arilor/ie sirii.

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS


CLK 1 x z0 z1 y 2 3 4 5 6 7 8 9 10 11 12

539

P3.16 Pentru grafurile de tranzit ie ale st arilor/ie sirilor din gura de mai jos s a se deduc a tabelele de tranzit ie ale st arilor/ie sirilor.
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 tranzit ie pentru problema P3.16

P3.17 Pe cele dou a intr ari x1 si x0 ale unui automat sincron se aplic a dou a siruri de bit i. Automatul va genera o ie sire activ a, y = 1, c and pentru cinci tacte consecutive sub sirurile aplicate la cele dou a intr ari sunt identice. S a se realizeze graful de tranzit ie al st arilor/ie sirilor si apoi tabelul de tranzit ie al st arilor/ie sirilor. P3.18 Pentru un anumit experiment este necesar a se detecta dac a o bil a de un diametru D, situat a ntr-un tub, se deplaseaz a n sus sau n jos. Pentru a detecta deplasarea se xeaz a n lugimea tubului doi senzori S 1 si S2 la o distant a < D. C and bila este n dreptul unui senzor acel senzor va indica valoarea logic a 1, altfel va indica valoarea logica 0. C and bila se deplaseaz a n sus o ie sire y 1 va avea valoarea logic a1 iar c and bila se deplaseaz a n jos ie sirea y 2 va avea valoarea logic a 1. S a se conceap a organigrama ASM si apoi s a se construiasc a tabelul de tranzit ie al st arilor/ie sirilor. P3.19 Graful de tranzit ie al st arilor/ie sirilor de la problema P3.7. S a se converteasc a

540

3.6. MEMORIA CU ACCES ALEATORIU

ntr-o diagrama ASM si apoi s a se construiasc a tabelul de tranzit ie al st arilor. P3.20 Graful de tranzit ie al st arilor/ie sirilor din exemplul 3.3 Figura 3.11. S a se converteasc a ntr-o organigram a ASM. P3.21 S a se conceap a organigrama ASM a unui automat ale c arui succesiuni de cuvinte generate la ie sire, y2 y1 y0 , la aplicarea impulsurilor de ceas, este o num arare n a cod binar natural 8-4-2-1 sau n cod GRAY. Cu ajutorul intr arii B/G = 1 se comand num ararea n binar natural, B/G = 0 sau n cod Gray B/G = 1. P3.22 Pentru automatul Mealy cu tabelul de tranzit ie al st arilor/ie sirilor de mai jos s a se reduc a st arile redundante prin metoda mapei implicant ilor.

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 a automate de tip Mealy cu tabelele de tranzit ie ale st arilor/ie sirilor de mai sus (b si c) s a se deseneze grafurile de tranzit ie ale st arilor/ie sirilor nainte si dup a reducerea st arilor redundante. P3.24 Pentru automatul cu tabelul de tranzit ie al st arilor/ie sirii din gura urm atoare s a se deduc a funct iile de excitat ie pentru codicarea st arilor n dou a modalit a ti: 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 Urm atoarele forme de variat ie de semnale se aplic a la un latch SR cu ceas si respectiv la unul D. S a se deseneze variat ia semnalelor Q si Q N .
CLK S R 1 2 3 4 5 6 7 CLK D 1 2 3

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

541

P3.26 Urm atoarele forme de variat ie de semnale se aplic a respectiv la bistabile D, SR si JK. S a se deseneze variat ia semnalelor Q si Q N . Toate bistabilele au comutat ie pe frontul pozitiv de ceas.
CLK D S R I K 1 2 3 4 5 6 7 8 9

P3.27 Formele de variat ie de semnale din gura de mai jos se obt in la ie sirea unui bistabil T respectiv D. S a se deseneze variat ia semnalelor pe intr arile T respectiv D. Comutat ia 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 a se deseneze variat ia semnalului generat pe ie sirilor A si B ale circuitelor 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 a se deseneze variat ia semnalului generat pe ie sirile A si B ale circuitelor din gura de mai jos. Init ial bistabilele sunt n starea Q = 0. P3.30 Pentru bistabilele din gura de mai jos se dau urm atoarele valori: SU = 20ns , pLH(CQ) = pHL(CQ) = 50ns. S a se determine frecvent a maxim a a semnalului de ceas si variat ia semnalelor A, B si C. Init ial bistabilele sunt n starea Q = 0. P3.31 In Figura 3.40-a este realizat a o structura de latch D cu ceas pornind de la un latch SR pe baz a de port i NOR plus dou a port i NAND si un inversor. S a se structureze latch-uri D n felul urm ator: a) latch SR pe baz a de port i NOR plus port i NOR si inversoare;

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 a de port i NAND plus port i NAND si inversor; c) latch SR pe baz a de port i NAND plus numai port i NAND. P3.32 Un bistabil PN are urm atoarea funct ionare: 1) pentru P N = 00 nscrie n Q = 0, QN = 1; 2) pentru P N = 01 f ar a modicare Q, QN ; 3) pentru P N = 10 complementeaz a Q, QN ; 4) pentru P N = 11 nscrie Q = 1, QN = 0. S a se realizeze: tabelul caracteristic, tabelul de execitat ie, ecuat ia de funct ionare si structurarea pe un latch SR master slave. Cum poate bistabilul PN s a e transformat ntr-un bistabil D? De asemenea s a se structureze un bistabil JK utiliz and un bistabil D n un MUX 2:1. P3.33 Pentru urm atoarele circuite s a se deseneze variat ia semnalelor Q A si QB . Se consider a starea init ial a a bistabilelor Q A = 0, QB = 0.
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 urm atorul circuit (a) s a se deseneze variat ia semnalelor Q A , QB si X c and n circuit exist a urm atoarele defect iuni: a) intrarea JA este n gol; b) intrarea KB este n gol; c) ie sirea QB este n gol; d) intrarea de ceas la bistabilul B este pus a la mas a

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

543

e) poarta NAND2 are ie sirea n gol. Se consider a c a circuitul este realizat cu componente TTL.

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 a se deseneze variat ia semnalului de ie sire Q c and pe intrare se aplic a urm atoarele siruri de bit i: J 1 = 1010011, J2 = 0111010, J3 = 1111000, K1 = 0001110, K3 = 1010101. Pentru ecare impuls de ceas se aplic a, din sirurile date, c ate un bit pe ecare intrare; se incepe cu bitul cel mai din dreapta. P3.36 S a se proiecteze un automat cu bistabile D care pentru intrarea x = 1 genereaz a succesiv, si ciclic, codurile Gray de doi bit i, iar pentru x = 0 r am ane n aceea si stare. P3.37 S a se proiecteze un automat cu bistabile JK, cu dou a intr ari E(nable) si x care pentru E = 0 va r am ane n aceea si stare indiferent de valoarea lui x. Dar c and E = 1 va genera la ie sire, ciclic, succesiunea y 1 y0 = 00, 01, 10, 11, 00, 01, pentru x = 1, respectiv, ciclic, succesiunea y1 y0 = 00, 11, 10, 01, 00, 11 . . . pentru x = 0. P3.38 S a se proiecteze un automat care pentru un cuv ant binar de n bit i, b n1 , bn2 . . . b1 , b0 , aplicat serial pe intrarea x, ncep and cu bitul b 0 - c ate un bit pe ecare tact genereaz a serial pe ie sirea y complementul fat a de doi al cuv antului aplicat pe intrare; n acela si tact al aplic arii bitului pe intrare se obt ine si bitul corespunz ator pe ie sire. Pentru a indica faptul c a secvent a aplicat a pe intrare s-a terminat si c a circuitul se init ializeaz a s a primeasc a o alt a secvent a automatul mai are o intrare I care trebuie s a primeasc a valoarea 1 pentru un tact, altfel I = 0. Implementarea se va face cu bistabil D. P3.39 Pornind de la graful de tranzit ie al st arilor reprezentat n gura urm atoare (a) s a se realizeze automatul nt ai cu bistabile D apoi cu bistabile JK.
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 tranzit ie al st arilor reprezentat n gura de mai sus (b) s a se implementeze automatul n varianta cu bistabile JK si bistabile T. P3.41 Pornind de la grafurile de tranzit ie al st arilor si tabelele de tranzit ie al st arilor deduse n problemele P 3.4, P 3.5 si P 3.6 s a se implementeze automatele pe baz a de bistabile de tip D. P3.42 Pentru automatele din gura a (cu bistabile D) si din gura b (cu bistabile T) de mai jos s a se deduc a tabelele de tranzit ie ale st arilor si ie sirilor, apoi grafurile de tranzit ie ale st arilor.
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 a se construiasc a tabelul de tranzit ie al st arilor/ie sirii si graful de tranzit ie al st arilor/ie sirii. Apoi pentru x = 1 s a se deseneze diagrama de variat ie a semnalelor z 1 , z0 , y pe un interval de 10 tacte 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 secvent ial din gura b, desenat la problema P3.43 are dou a intr ari Ai , B i si o ie sire si . Structural, se compune dintr-un sumator complet, (3, 2), si un bistabil D. S a se deduc a tabelul de tranzit ie al st arilor/ie sirii si graful de tranzit ie. P3.45 Un semiautomat are trei bistabile Q2 , Q1 si Q0 de tip D si o intrare x. Ecuat iile care descriu funct iile de excitat ie sunt: wD2 = (z1 z 0 + z 1 z0 )x + (z1 z0 + z 1 z 0 )x; wD1 = z2 , wD0 = z1

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

545

a) S a se construiasc a tabelul de tranzit ie al st arilor; b) S a se realizeze dou a grafuri de tranzit ie ale st arilor unul pentru x = 0 si altul pentru x = 1. P3.46 Automatul din gura de mai jos este construit pe baza a dou a bistabile, Q 1 este un JK iar Q2 este de tip T. S a se deduc a tabelul de tranzit ie al st arilor/ie sirii si graful de tranzit ie al st arilor/ie sirii.

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 a se scrie funct iile de excitat ie/ie sire si s a se deduc a tabelul de tranzit ie al st arilor/ie sirilor iar apoi s a se construiasc a graful de tranzit ie al st arilor/ie sirilor.
x D Q CLK QN CLK D Q QN y

P3.48

S a se analizeze automatul din gura de mai jos.


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, consider and c a se a a n starea z1 z0 = 00, s a se determine succesiunea st arilor si succesiunea valorilor ie sirii c and pe intrare se aplic a sirul de valori: 010110111011110. P3.50 Pentru circuitul din Figura 3.58-a cu valorile V DD = 5V, VT = 2, 5V , Rx = 10k si Cx = 0, 001F .

546

3.6. MEMORIA CU ACCES ALEATORIU

a) S a se calculeze durata w a impulsului generat la ie sire; b) Dac a variat ia tensiunii de prag VT este 20% care este variat ia n durata impulsului generat. P3.51 Pentru circuitul astabil din gura de mai jos s a se deseneze diagrama de variat ie a semnalelor si s a se deduc a formula pentru calculul frecvent ei.
1 v 01 2 v 02

Vx

Rx 10 k

0,001 F Cx

P3.52 Pentru circuitul 555 s a se determine: a) ind conectat ca monostabil cu Rx = 22k si Cx = 0, 01F , care este durata w a impulsului generat; b) ind conectat ca astabil, s a genereze un semnal dreptunghiular de frecvent a 1 KHz si factorul de umplere 75%. P3.53 Cu un circuit 555 s a se realizeze un receptor de linie compatibil la ie sire TTL. P3.54 Utiliz and un circuit 555 s a se realizeze un releu cu nt arziere la nchidere. P3.55 Pentru un num ar ator asincron modulo 8, realizat cu bistabile T, cu comutat ie pe frontul negativ, s a se determine st arile false introduse n secvent a de num arare. Cum se poate obt ine ie sirea z2 z1 z0 f ar a st ari false. P3.56 Pentru un num ar ator asincron modulo 8, realizat cu bistabile cu comutat ie pe frontul pozitiv av and timpul de propagare pCQ = 8ns s a se determine timpul cel mai lung de propagare si ntre care st ari se obt ine. P3.57 S a se modice, utiliz and o bucl a de fort are netransparent a, un num ar ator asincron modulo 16 pentru o funct ionare de num ar ator modulo: 9, 11, 13, 14 si 15. P3.58 S a se realizeze un generator de faze utiliz and un num art or asincron modulo 8 (cu comutat ie pe frontul negativ al ceasului). P3.59 Pentru un num ar ator asincron modulo 210 cu pCQ = 5ns: a) c and cont inutul este unul din numerele 10011000111, 00111111111, 11111111111 si se aplic a urm atorul impuls de ceas c ate celule comut a? b) care este frecvent a maxim a de ceas? P3.60 Utiliz and circuitul num ar ator 74xx163 (Figura 3.66-a) s a se realizeze: a) dou a structuri de num ar ator modulo 11 n cod oarecare; b) un num ar ator modulo 11 n cod binar natural; c) un num ar ator modulo 11 n cod EXCESS3. P3.61 Utiliz and circuitul num ar ator 74xx161 (Figura 3.66-a) s a se structureze num ar atoare modulo 13 n cod binar. P3.62 Pentru structurile din Figura 3.172 (a, b, c), pe baza circuitului num ar ator 74xx169 (vezi Figura 3.66-a) s a se determine succesiunea cuvintelor de ie sire z 3 z2 z1 z0 at at pentru cazul c and se consider a cuv antul init ial z 3 z2 z1 z0 = 0000 c at si pentru cazul c and z3 z2 z1 z0 = 1111. P3.63 S a se structureze num ar atoare modulo 2 16 , n cod binar natural, pe baza circuitului num ar ator 74xx163. P3.64 S a se structureze dou a num ar atoare modulo 129 (unul n cod binar natural, altul n cod oarecare) pe baza circuitului 74xx163. P3.65 Cu celule bistabil D s a se realizeze sinteza urm atoarele num ar atoare:

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, 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) num ar ator modulo 16 n cod binar natural; b) num ar ator modulo 6 care realizeaz a urm atorul ciclu (notat n zecimal) 0-1-3-7-64-0-1-3. . . P3.66 Cu celule bistabil T s a se realizeze sinteza unui num art or modulo 10 n cod BCD. P3.67 Cu celule bistabil JK s a se realizeze sinteza urm atoarelor num ar atoare: a) num ar ator modulo 3 care genereaz a ciclic succesiunea 0-1-2-0-. . . ; b) num ar ator modulo 6 care genereaz a ciclic succesiunea 0-1-3-2-4-6-0-1. . . . P3.68 S a se structureze un circuit care s a multiplice frecvent a de ceas cu coecientul 0,375. P3.69 S a se structureze un ceas care indic a pe a soare cu sapte segmente, timpul p an a la 12 ore. Pentru obt inerea semnalului de ceas se va utiliza frecvent a ret elei electrice de 50 Hz. P3.70 Pentru un spat iu de parcare, cu capacitatea maxim a C max = 100 locuri, s a se indice la intrare, n ecare moment, printr-un semnal luminos dac a mai exist a locuri de parcare, iar dac a s-a ajuns la Cmax s a se nchid a o barier a pe sensul de intrare. P3.71 Pentru organigrama ASM din gura a) de mai jos s a se implementeze semiautomatul. P3.72 Pentru organigrama ASM din gura b) de mai sus s a se implementeze semiautomatul. P3.73 Utiliz and un limbaj RTL (vezi 3.2.3.5) pentru un grup de patru registre R3, R2, R1, R0 cu lungimea de 32 bit i, s a se specice ntr-o diagram a ASM st arile pentru efectuarea urm atoarelor transferuri: R0 R1, R2 R3; SW AP R1, R2 (R1 R2). Se vor structura dou a tipuri de conexiuni ntre registre: 1) ecare cu ecare (punct-la-punct); 2) prin intermediul unei singure magistrale. P3.74 Pe baza unui circuit acumulator de patru bit i s a se realizeze un num ar ator n cod BCD. P3.75 Pe baza unui circuit acumulator de patru bit i s a se realizeze un num ar ator modulo 12. P3.76 La sumatorul din problema P 3.44: a) s a se introduc a registre de deplasare

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 si suma; b) s a se realizeze cu bistabil de tip JK P3.77 In structura num ar atorului Johnson, cu patru celule, s a se modice conexiunile astfel nc at s a genereze un num ar impar ( sapte) de st ari. P3.78 Pe baza unui num ar ator Johnson, cu cinci celule, s a se realizeze: 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 Utiliz and circuitul registru universal 74xx194 (Figura P3.80-b si P3.80-c) s a se realizeze un circuit registru inel, f ara autoamorsare: a) cu deplasare st anga, din starea init ial a z4 z3 z2 z1 = 0001; b) cu deplasare dreapta, din starea init ial a z 4 z3 z2 z1 = 1100. P3.80 Pe baza registrului 74xx194 s a se realizeze un num ar ator n inel cu deplasare st anga cu autoamorsare si autocorect ie cu ciclul 0001 0010 0100 1000 0001 . . . P3.81 Pe baza circuitului 74xx194, Figura P3.80, registru universal cu patru celule, s a se realizeze: a) un num ar ator Johnson de patru celule cu autoamorsare; b) un num ar ator Johnson cu autoamorsare si autocorect ie. P3.82 Pentru polinomul caracteristic x4 x3 I s a se structureze circuitul secvent ial liniar cu react ie cu sumator extern si cu sumator inclus. Pentru ecare din aceste structuri s a se determine succesiunea st arilor generate c and se consider a starea init ial a z4 z3 z2 z1 = 0001. Apoi, s a se introduc a circuit de autocorect ie ( si autoamorsare) si sa se deduc a succesiunea st arilor. P3.83 S a se realizeze structura de circuite secvent iale liniare cu react ie, cu sumator extern si inclus, pentru polinomul caracteristic x 4 x3 x 1. P3.84 Utiliz and trei celule ale registrului universal 74xx194 s a se realizeze structuri de circuite secvent iale liniare cu react ie care s a genereze secvent e pseudo-aleatoare cu

CAPITOLUL 3. CIRCUITE LOGICE SECVENT IALE, CLS

549

lungimea maxim a; apoi s a se structureze un num ar ator modulo 5 n cod arbitrar. P3.85 Circuitul din gura reprezint a un generator de secvent e pseudo-aleatoare selectabil pentru secvent e de cuvinte de patru bit i z 4 z3 z2 z1 , realizat pe baza circuitului registru universal 74xx194. Selectarea se realizeaz a prin intermediul unui MUX4:1. Pentru cele patru cuvinte de selectare S1 S0 ale multiplexorului s a se determine secvent ele de cuvinte z4 z3 z2 z1 precum si sirul de bit i aplicat pe intrarea serie deplasare st anga, LIN. Se consider a init ializarea generatorului n starea z 4 z3 z2 z1 = 0001 realizat a prin act ionarea LOAD/DEP LASARE = 1.
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 a se arate c a numai un registru serie cu un num ar n, par/impar, de celule si o ret ea de react ie cu paritate respectiv impar a/par a, conectate ntr-o structur a de circuit secvent ial liniar cu react ie, poate genera o secvent a de lungime maxim a, 2 n 1. P3.87 Pentru circuitul secvent ial liniar f ar a react ie din gura urm atoare s a se determine r aspunsul la o secvent a impuls unitar, la o secvent a treapt a unitar a si s a se calculeze secvent a de intrare nul a.
D X
+

D2

D3

D4
+

D5
+

D6
+

P3.88 Dou a circuite secvent iale liniare f ar a react ie cu funct iile de transfer H 1 (D) si H2 (D) sunt comandate cu aceea si secvent a de intrare X = . . . 0001011000 . . . , obt in andu-se secvent ele de ie sire: Y1 = . . . 00011101101000 . . . , Y2 = . . . 00010110 011101000 . . . S a se deduc a expresiile algebrice si s a se deseneze structurile pentru cele dou a circuite. Apoi s a se nserieze cele dou a funct ii de transfer H 3 (D) = H1 (D) H2 (D) iar pentru circuitul rezultat s a se deseneze structura si s a se determine r aspunsul pentru secvent a de intrare X3 = . . . 000111000 . . . P3.89 Cu trei circuite secvent iale liniare f ar a react ie cu funct iile de transfer H1 (D), H2 (D), H3 (D), care pentru secvent a X = . . . 000111000 . . . aplicat a pe intr ari genereaz a ie sirile: Y1 = . . . 0001011101000 . . . , Y2 = . . . 0001011101000 . . . , Y3 = . . . 0001101110101000 . . . s a se realizeze circuitele cu funct iile de transfer: 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 Utiliz and un circuit RAM de capacitate 1M4 bit i s a se realizeze urm atoarele module de capacitate: 1M4 bit i; 2M4 bit i; 4M4 bit i si 2M8 bit i.

Capitolul 4

SUPORTUL CIRCUISTIC IN PROIECTAREA APLICAT IILOR


4.1 CONEXIUNI PROGRAMABILE

Succesiunea n desf a surarea procesului de dezvoltare a unui sistem digital se re duce, mai mult sau mai put in, la urm atoarele trei etape: DESCRIERESINTEZ A REALIZARE. Descrierea funct ionalit a tii se refer a la acele specicat ii proprii aplicat iei realizate de/cu sistemul digital care urmeaz a a dezvoltat. Aceast a descriere conduce la elaborarea unei arhitecturi, n general, compus a din mai multe blocuri ntre care exist a schimb informat ional, n timp, sub form a de semnale electrice. Pentru exprimarea funct ion arii sistemului digital, la nivel de arhitectur a, se poate utiliza e o modalitate grac a (desene), e o modalitate textual a (limbaje de descriere, HDL, vezi vol.II). Sinteza const a n convertirea arhitecturii ntr-o structur a logic a, adic a sinteza ret elei logice a sistemului. Realizarea const a n detalierea ret elei logice la nivel de component a (poart a, tranzistor) si implementarea ntr-o anumit a tehnologie. Evident, aceast a succesiune a etapelor poate cu iterat ii pe ecare etap a sau chiar cu iterat ii de la ultima etap a la prima p an a c and specicat iile impuse aplicat iei sunt realizate. In nal, produsul/aplicat ia se prezint a sub forma unei implement ari cu circuite integrate discrete conectate pe o plac a de circuit imprimat sau sub forma unui singur circuit integrat, SOC (System-On-a-Chip). Intre aceste dou a modalit a ti extreme de implementare pot exista diferite variante n funct ie de c at de multe p art i ale implement arii de pe placa de circuit imprimat pot transferate ntr-o implementare n siliciu. Aceste variante de implementare pe un circuit integrat sunt determinate de anumite criterii impuse aplicat iei cum sunt: performant a ( n general vitez a), consumul de putere, suprafat a ocupat a pe siliciu, timpul de dezvoltare, exibilitatea pentru modicare (recongurabilitatea), sigurant a n funct ionare si nu n ultimul r and costul. 551

552

4.1. CONEXIUNI PROGRAMABILE

Produsul n totalitate se constituie dintr-o component a hardware si o component a software (compilator, program de nc arcare, program de testare si depanare, program de lucru interactiv cu sistemul elaborat, sistem de operare (executiv), etc). Pentru ponderarea ntre hard si soft se analizeaz a cum contribuie acestea, hard-ul prin performant ele de vitez a iar soft-ul prin exibilitate, la performant ele si costul sistemului. Costul unui circuit integrat poate aproximat pe baza urm atoarei relat ii: Cost/unitate = Costul dezvolt arii + Costul de fabricat ie/unitate Volumul product iei (4.1)

Costul de fabricat ie/unitate, c and complexitatea procesului de fabricat ie este deja st ap anit a, n general, este proport ional cu dimensiunea pe siliciu si, uzual, pentru circuitele integrate comercial obtenabile se situeaz a n ordinul unit a ti sau zeci de EUR; acest cost este repetabil pentru ecare circuit integrat. Costul dezvolt arii cont ine cheltuielile pentru munca de proiectare, investit ia n instrumentele de proiectare (programe CAD-Computer Aided Design, calculatoare etc) plus cheltuielile auxiliare (regia). Costul dezvolt arii poate foarte mare, n general de la zeci de mii de EUR n sus. Aceast a component a a costului/unitate poate redus a e printr-o mic sorare a costului procesului de proiectare, e printr-o m arire a volumului product iei sau prin ambele simultan; acest cost nu este repetabil, NRE (Nonrecurring Engineering Cost), se distribuie pe ntregul lot fabricat deci nu favorizeaz a seriile mici. Proiectarea unui circuit electronic, ideal, ar trebui efectuat a pentru obt inerea de performant e maxime si ntr-un timp c at mai scurt ceea ce este contradictoriu, n consecint a se alege una din aceste dou a abord ari: proiectare pentru performant e maxime sau proiectarea ntr-un timp scurt. Proiectarea pentru performant e maxime implic a un cost al dezvolt arii foarte ridicat de ordinul de la sute de mii de EUR n sus si care nu se amortizeaz a dac a volumul product iei nu este foarte mare (recomandat a o astfel de product ie pentru produse de larg consum, industria auto, juc arii, etc); n general o astfel de proiectare se realizeaz a cu o echip a de zeci de ingineri an. Acest tip de proiectare este referit a ca proiectare complet realizat a de c atre utilizator - full custom design. Abordarea dezvolt arii printr-o proiectare n timp scurt, evident, duce la apari tia rapid a a produsului pe piat a . In unele cazuri aparit ia pe piat a a unui nou produs cu un an mai devreme dec at al competitorului poate duce la un prot dublu fat a de competitor. Acest avantaj se explic a prin faptul c a primul n piat a capteaz a pe tot i client ii si la un pret ridicat pe c and la urm atorii venit i n piat a r am an restul de client i si la un pret sc azut; cu alte cuvinte protul obt inut printr-o proiectare rapid a, foarte frecvent, dep a se ste protul obt inut printr-o proiectare pentru performant a (iar la a doua proiectare, care apare pe piat a odat a cu cea a competitorului, se realizeaz a pentru produs performant e foarte ridicate!) Dar, n general, o proiectare rapid a se face pentru o product ie n volum redus ceea ce nu ar duce la valori mici pe unitate pentru componenta costului de dezvoltare, relat ia 4.1. Solut ia, n acest caz, este s a ,, se utilizeze prefabricate adic a circuite deja proiectate si fabricate ntr-un stadiu avansat, cu mult peste 50% din efortul total de realizare, de c atre fabricantul de circuite integrate (turn atoria de siliciu, n general) si care sunt preluate si continuate ,, n procesul de realizare de c atre beneciar/client; ceea ce nseamn a o personalizare

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

553

a circuitului pentru aplicat ia sa cu un efort de dezvoltare (timp si cost) destul de redus si acceptabil pentru product ie de serie mic a spre medie. In general, aceast a ,, personalizare se reduce la realizarea (programarea) unor conexiuni pe un suport ,, integrat existent (prefabricatul ) conform unui proiect realizat de c atre client pentru aplicat ia sa specic a; o astfel de abordare a dezvolt arii unui sistem digital la care particip a si clientul este referit a prin semicustom design, mai nou referit a si prin abreviat ia ASIC design (Application Specic Integrated Circuit design). Pentru realizarea personaliz arii circuitului de c atre utilizator la aplicat ia sa cir,, cuitul integrat prefabricat trebuie s a asigure un anumit suport n efectuarea conex,, iunilor dorite. In acest sens pe circuitul prefabricat exist a posibilitatea de a se realiza anumite trasee noi pentru interconectare sau de a se realiza jonct ionarea anumitor segmente de trase deja existente pentru o anumit a conectare. In oricare din aceste variante o deosebit a atent ie trebuie acordat a nt arzierii introduse, la propagarea semnalului, de aceste trasee de interconectare, nt arziere care este proport ional a cu rezistent a si capacitatea total a a traseului. Traseele noi pentru interconectare pot realizate pe suprafat a de siliciu a circuitului integrat sau pe straturile metalice situate deasupra suprafet ei de siliciu. Realizarea acestor noi trasee necesit a continuarea proces arii, la turn atoria de siliciu, cu realizarea a 1 3 m a sti pe baza informat iei elaborate de c atre utilizator; aceast a modalitate este referit a ca programarea (circuitului) prin mascare. La circuitele semicustom cu programare prin mascare se obt in cele mai mici nt arzieri pe traseele noi de interconectare n raport cu alte variante de realizare a conexiunilor programate. Pentru realizarea traseelor de interconectare, prin jonct ionarea anumitor segmente de linii metalizate deja implementate, trebuie s a existe ntre capetele segmentelor re,, spective c ate un comutator ce poate nchis sau deschis pentru conectarea sau sepa,, rarea segmentelor respective. De fapt, acest comutator se realizeaz a prin plasarea n punctele de jonct ionare a unui fuzibil, antifuzibil, tranzistor cu poart a otant a (de tip EPROM sau EEPROM), tranzistor de trecere sau poart a de transmisie. Realizarea unei conexiuni o singur a dat a programabil a, OTP prin intermediul unui fuzibil sau prin intermediul unui antifuzibil au fost prezentate n sect iunea 1.2, Figura 1.12, si n sect iunea 2.4.6.1; ambele modalit a ti pentru realizarea conexiunii prezint a avantajul unui consum redus de suprafat a (cu put in mai mare dec at dublul l a timii unei trase metalizate). Din p acate, deoarece pentru realizarea acestor conexiuni trebuie s a se aplice din exterior tensiuni de programare n gama 10 20V , este necesar a o circuistica auxiliar a (tranzistoarele de programare cu dimensiuni m arite, tranzistoarele de izolare care trebuie s a protejeze, de tensiunile ridicate n timpul program arii, tranzistoarele ce opereaz a la tensiuni reduse) ceea ce diminueaz a avantajul amintit anterior. Se prefer a antifuzibilul, n raport cu fuzibilul, datorit a avantajului de a nu prezenta posibilitatea de revenire la starea anterioar a program arii, n plus se pot obt ine pe conexiune capacit a ti si rezistent e mai reduse (unele variante de antifuzibil pe baz a de siliciu amorf pot realiza rezistent e n gama 50 100) n comparat ie cu modalit a tile de realizare a conexiunilor prezentate n continuare. Conexiunile de tip EPROM si EEPROM, sect iunea 2.4.6.1, bazate pe tranzistorul cu poart a otant a prezint a avantajul nevolabilit a tii la disparit ia tensiunii de alimentare dar are si dezavantajele: rezistent a ridicat a n conduct ie a tranzistorului (2 4K ), consum ridicat de putere ( n regim static). Conexiuni pe baz a de de celule SRAM. O celul a de memorie static a prin bitul

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 a pe baz a de celule SRAM: a) structura unei celule SRAM pentru controlul unei conexiuni; b) conexiune programat a prin comanda unui tranzistor de trecere; c) conexiuni programate prin comanda unui multiplexor cu celule SRAM ( n acest caz dou a celule SRAM comand a un MUX 2 n : 1).

stocat 1 (Q = 1, QN = 0) sau 0 (Q = 0, QN = 1) poate comanda n conduct ie sau n blocare un tranzistor de trecere, tranzistor care realizeaz a jonct iunea ntre dou a capete de segmente de trasee de interconectare. Tranzistorul de trecere realizeaz a funct ia unui comutator, ntre cele dou a capete, care este nchis c and celula SRAM este nscris a n 1 si este deschis c and celula este nscris a n 0, Figura 4.1-b; rezistent a tranzistorului n conduct ie, deci a punt ii ntre cele dou a segmente de traseu, este n gama 0, 5 2K . In mod similar, pe baz a de celule SRAM, se poate realiza selectarea dintr-un grup de 2n trasee doar a unuia si conectarea acestuia la un alt segment de traseu prin intermediul unui MUX 2n : 1; bit ii cuv antului de selectare aplicat i multiplexorului sunt nscri si n n celule SRAM, n Figura 4.1-c este prezentat cazul pentru n = 2. Structura celulei SRAM se compune dintr-un latch cu inversoare plus un tranzistor de trecere T, prin care se comand a operat ia de nscriere/citire date la celul a, Figura 4.1-a. Celula este nscris a (tranzistorul T n conduct ie) n procesul de programare a circuitului si este citit a n procesul de depanare; n condit ii normale de funct ionare tranzistorul de trecere T din celul a este blocat iar ie sirea Q a celulei, prin valoarea sa, controleaz a conduct ia sau blocarea unui tranzistor de trecere plasat ntre dou a capete de segmente de traseu de interconectare. Intr-o astfel de utilizare celula SRAM are o frecvent a a operat iilor de citire/ nscriere mult mai mic a dec at a unei celule dintr-o matrice de memorie convent ional a; n consecint a , o astfel de celul a SRAM se dimensioneaz a n primul r and pentru a asigura o stabilitate si densitate ridicat a si n al doilea r and pentru vitez a. Aceste celule de memorie nu formeaz a o matrice compact a, ele sunt dispersate pe ntreaga suprafat a a circuitului, sunt plasate n apropierea tranzistoarelor sau multiplexoarelor pe care trebuie s a le controleze. Suprafat a necesar a pentru realizarea unei conexiuni este relativ destul de mare, necesit a cel put in cinci tranzistoare din structura celulei SRAM, plus tranzistorul de trecere comandat. De asemenea, conexiunea programat a este volatil a, valoarea logic a nscris a n celul a este anulat a la disparit ia tensiunii de alimentare; deci programarea conexiunilor trebuie realizat a la ecare punere sub tensiune a circuitului. In consecint a , l ang a circuitul

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

555

programat trebuie s a existe un mecanism de memorare a informat iei de programare (de congurare) a conexiunilor materializat printr-un PROM, EPROM, EEPROM sau date pe un hard(disk). Cu toate acestea, n raport cu celelalte modalit a ti de realizare a conexiunilor programate, cea bazat a pe celule SRAM, s-a impus datorit a urm atoarelor avantaje: - reprogramare rapid a (similar cu comutarea pe calculator la alt program); - reprogramare dinamic a ( n circuit); - proces standard de fabricat ie pentru comutatoarele programabile.

4.2

PROIECTAREA DE TIP FULL-CUSTOM

Proiectarea de tip full-custom este o proiectare pentru performant a , consumatoare de investit ie init ial a, si necesit a o echip a de proiectant i cu specializare ridicat a, de ordinul zeci de ingineri an, ceea ce determin a un cost de dezvoltare foarte ridicat. In plus, pentru c a durata de dezvoltare este lung a, de peste un an, pentru a obt ine performant e ridicate produsul trebuie proiectat a implementat ntr-o tehnologie care se experimenteaz a n aceea si perioad a cu proiectarea circuitului. Procesul de dezvoltare are n succesiune etapele de: arhitectur asintez arealizare, dar ecare etap a este realizat a minut ios pentru a se obt ine performant e maxime. Dup a parcurgerea etapelor n sensul anterior ( n jos, top-down) se reia, prin iterat ii, si parcurgerea n sens invers ( n sus) pentru a se verica ndeplinirea specicat iilor, deci se porne ste de la nivel de layout. Proiectarea geometriei tranzistoarelor n siliciu este o operat ie obligatorie pentru un circuit full-custom. Apoi, mai multe tranzistoare sunt integrate n celule care la fel sunt transpuse n layout si testate. Acest proces de proiectare are o ascendent a gradual a n sensul c a prin compunerea acestor celule se genereaz a un layout pentru o celul a mai mare care la r andul s au poate intra n geometria altei celule de dimensiune si funct ionalitate mai ridicat a s.a.m.d p an a la circuitul nal. Layout-ul ec arui nivel de celul a este minut ios proiectat, vericat, simulat si testat si nu se trece la nivelul de celul a superioar a p an a c and specicat iile nu sunt ndeplinite (o eroare strecurat a la un nivel si sesizat a mai t arziu poate remediat a cu costuri foarte mari timp si bani). Pentru generarea layout-ului nu totdeauna exist a programe software de proiectare sucient de performante deci, adeseori, se recurge la o proiectare manual a sau se intermixeaz a proiectarea manual a cu cea automat a. Obt inerea unor performant e ridicate de vitez a impune analiza nt arzierilor at at pe liniile de conexiune c at si pe nivelul unei port i logice; restrict ionarea num arului maxim pentru fan-out si pentru fan-in este foarte important a (vezi sect iunea 1.5.6). Proiectarea de tip full-custom produce un layout compact, de suprafat a redus a si de vitez a ridicat a; uzual pentru o implementare n aceea si tehnologie un circuit full-custom este, uzual, de (3 8) ori mai rapid dec at acela si circuit realizat semicustom [Chinnery 02]. S a nu uit am, c a oricare circuit integrat, la origine, a fost full-custom!

556

4.3. PROIECTAREA CU ARII DE PORT I LOGICE

4.3

PROIECTAREA CU ARII DE PORT I LOGICE

Aria de port i logice este un circuit integrat ce cont ine o mult ime de port i logice ce sunt plasate sub o form a matriceal a dar f ar a a conectate ntre ele, Figura 4.2-a. O astfel de structur a, datorit a unei organiz ari matriceale, este referit a adesea si ca matrice de port i (neconectate). Pe baza acestor port i, prin realizarea conexiunilor ntre acestea, conform unor relat ii logice, se obt ine circuitul logic corespunz ator, Figura 4.2-b. Dar, n prezent, circuitele arie de port i nu se realizeaz a ca o matrice de port i logice ci ca o matrice structurat a pe baza unor componente (tranzistoare) neconectate care constituie celula elementar a a circuitului integrat. Cu o astfel de celul a, prin conectarea elementelor componente, se pot obt ine mai multe tipuri de port i logice care apoi, printr-o conectare corespunz atoare, pot forma circuitul logic dorit.
x9 x1 x2 x3 x4 x5 x6 x7 x8 a) b) f3 f1 f2

Figura 4.2 Circuitul arie de port i logice: a) structur a de principiu pentru o matrice cu port i NOR; b) exemplu, posibil, de conectare a port ilor NOR pentru realizarea a trei funct ii logice. Implementarea unei aplicat ii pe baza unui circuit arie de port i logice const a n proiectarea interconexiunilor necesare ntre port i/celule si apoi la turn atoria de siliciu se realizeaz a aceste interconexiuni, care necesit a nc a un num ar de 2-3 m a sti suplimentare. Costul proiect arii m a stilor pentru etapele de procesare ale circuitului (costul de tip NRE), p an a la nivelul de la care poate utilizat de c atre proiectantul aplicat iei, se distribuie pe toate unit a tile produse de turn atoria de siliciu, ca o investit ie nit ial a. Oricum, acest num ar de m a sti suplimentare, cerut de aplicat ie, este mult mai mic dec at num arul de m a sti necesar aplicat iei (peste 20) dac a aceasta ar realizat a ca un produs full-custom. Tradit ional, proiectarea interconexiunilor se realizeaz a pe coloanele si r andurile dintre suprafet ele ocupate de celule plasate matriceal, denumite canale de rutare, operat ie care se realizeaz a automat cu programe CAD adecvate. In prezent circuitele arie de port i logice, mai ales cele cu num ar mare de port i (zeci si sute de mii), care pot cont ine si zone de memorie, nu mai prezint a canale de rutare, sunt referite ca mare-de-port i. La un circuit arie de port i logice de tip

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

557

mare-de-port i interconexiunile sunt realizate pe straturile metalizate (34 straturi) situate deasupra ariei/matricei de port i logice. Selectarea port ilor care vor utilizate pentru aplicat ie (plasarea port ilor) si rutarea interconexiunilor se efectueaz a automat sau, foarte frecvent, n mod interactiv deoarece este necesar a se m ari procentajul de port i folosite si de mic sorare a interconexiunlor trasate manual (chiar si un procent redus de port i neutilizate si de trasee duse manual reprezint a numere absolute destul de mari deoarece num arul total de port i pe circuit poate de ordinul 104 sau 105 ); se poate ajunge uneori la un procentaj de port i nefolosite de peste 50% din num arul total de port i cont inute n circuit. Datorit a procentului ridicat de port i neutilizate, n circuitul nal, si a suprafet elor mari consumate de pad-urile de intrare/ie sire suprafat a unui circuit arie de port i logice poate destul de mare; se pot consuma suprafet e de 45 ori mai mari dec at la realizarea acelea si aplicat ii sub form a de circuit full-custom. O proiectare de calitate se reect a n circuitul rezultat prin neaparit ia efectului de hazard static si aceasta se obt ine prin: egalizarea nt arzierilor pe port i (printr-o uniformizare a sarcinilor pe intrare si a nc arc arilor pe ie sire), egalizarea timpilor de propagare pe interconexiuni (printr-o lungime egal aa traseelor). Proiectarea aplicat iilor pe arii de port i se recomand a pentru serii care se realizeaz a n volum de sute sau mii de unit a ti si este caracterizat a de: - timp de dezvoltare redus; - automatizare ridicat a a procesului de dezvoltare; - performant e (de vitez a, de suprafat a ) relativ sc azute ( n raport cu full-custom). Exemplul 4.1 In Figura 4.3 este prezentat a o structur a (posibil a) de celul a pentru un circuit arie/matrice de port i logice. Structura acestei celule se compune din dou a linii de difuzie, una n si alta p, n care exist a respectiv c ate patru tranzistoare nMOS si pMOS neconectate, cu care se pot realiza patru dispozitive CMOS. Aceast a structur a mai cont ine: patru bare din polisiliciu care sunt port ile comune pentru c ate o pereche de tranzistoare complementare, traseele metalizate pentru alimentare VDD , VSS , precum si ferestrele metalizate de acces (c ate dou a) la ecare tranzistor si ferestrele metalizate din ecare bar a (poart a) de polisiliciu. In Figura 4.3-c sunt prezentate interconexiunile realizate pe celul a pentru implementarea unei port i NOR4, Figura 4.3-b.

4.4

PROIECTAREA CU CELULE STANDARD

Proiectarea cu celule standard poate privit a ca o extensie a proiect arii pe baz a de arii de port i logice dar cu celule care nu mai sunt la nivel de tranzistor ci cu celule de nivel mai nalt, care deja realizeaz a funct ii logice. Realizarea aplicat iei pornind de la nivelul de tranzistor este consumatoare de timp de proiectare. Se poate reduce acest timp dac a se porne ste de la celule care pot port i logice sau circuite care cont in mai multe port i logice (multiplexoare, bistabile, sumatoare, comparatoare, etc). Aceste celule, denumite celule standard sau policelule, existente ntr-o bibliotec a de celule, sunt selectate de c atre proiectant n funct ie de aplicat ia de realizat, plasate si interconectate ntre ele obt in andu-se layout-ul viitorului circuit integrat. Elaborarea

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 a pentru Exemplul 4.1: a) structur a posibil a de celul a compus a din patru perechi de tranzistoare (pMOS si nMOS) neconectate; c) conexiunile metalice necesare pe celul a pentru realizarea circuitului (NOR4) din gura b.

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

559

unei biblioteci de celule standard pentru o anumit a tehnologie este o proiectare de tip full-custom si necesit a o activitate de ordinul zeci ingineri luni (ecare turn atorie, pentru o anumit a tehnologie, pune la dispozit ia utilizatorilor o bibliotec a de celule standard). In scopul u sur arii operat iei de rutare a conexiunilor se adopt a, n general, pentru ecare celul a o aceea si n alt ime (pentru a putea realiza r anduri de aceea si n alt ime), l a timea put and oricare n funct ie de dimensiunea circuitului celulei, iar intr arile si ie sirile se xeaz a numai pe laturile celulei spre care exist a acces din canalele de rutare. Canalele de rutare sunt pe suprafet ele dintre r anduri; la circuitul din Figura 4.4 celulele sunt plasate pe trei r anduri. Trecerile ntre canalele de rutare se face prin suprafet ele libere dintre celulele de pe acea si r and; uneori aceste treceri pot realizate si prin suprafat a celulei (orizontal sau vertical) dac a programul CAD de rutare are aceast a facilitate. Comparativ cu proiectarea de tip full-custom la proiectarea cu celule standard suprafat a consumat a este de c ateva ori mai mare dar este mai mic a dec at cea necesar a pentru proiectarea de tip cu arie de port i. Spre deosebire de dezvoltarea pe baz a de arie de port i, unde sunt necesare doar 2 3 m a sti pentru denitivarea aplicat iei, o aplicat ie pe baz a de celule standard necesit a toate m a stile, ca si pentru full-custom; aceast a asem anare face ca, uneori, acest tip de abordare de dezvoltare s a e referit a ca pseudo full-custom. Totu si, o reducere a costului init ial se obt ine fat a de full-custom, deoarece m a stile pentru ecare celul a standard exist a deja proiectate la turn atoria de siliciu. Dezvoltarea de tip celule standard se situeaz a ntre cea cu arii de port i si cea full-custom; este recomandat a la un volum de product ie de ordinul zeci de mii de unit a ti. Exist a si variante de biblioteci de celule n care celulele pot de diferite n alt imi si diferite forme; prin utilizarea unor astfel de celule se pot realiza layout-uri mult mai compacte, aproape de cele obt inute prin full-custom. Mai mult, cu astfel de celule, ecare celul a poate considerat a ca o component a ntr-un bloc mai mare iar apoi aceste blocuri sunt tratate ca si componente ntr-un bloc mai mare. De exemplu, n Figura 4.4-b, celulele A,B,C si D, de dimensiuni diferite, sunt asamblate ntr-un bloc notat cu R (delimitat printr-un dreptunghi cu linie ntrerupt a), apoi acest bloc mpreun a cu blocurile R,S,T si U (de dimensiune si complexitate aproximativ de acela si nivel) sunt asamblate n blocul W. Rutarea pentru aceast a abordare ierarhizat a, n realizarea aplicat iei, necesit a un timp mai lung dec at cea cu celule standard precum si programe CAD mai performante, dar se poate obt ine o compactare care nu dep a ste ste cu mai mult de 20% suprafat a unei proiect ari full-custom. In tehnologia de integrare un num ar tot mai mare de etape, bazate pe mascare, sunt necesare pentru procesele de realizare a interconexiunilor n raport cu num arul proceselor de mascare pentru modic arile de conductivitate din substrat. Interconexiunile 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, n Figura 4.5 este prezentat a o sect iune prin stiva de sase straturi metalizate pentru interconexiuni ale unui circuit integrat. Deasupra substratului pe un strat de dielectric se depune prin vaporizare chimic a (Chemical Vapor Deposition) sau 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 a ret eaua de trasee necesare pentru interconexiuni; peste acest strat metalic gravat se realizeaz a un alt strat dielectric pe care se depune un al

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 aplicat iei pe baz a de celule standard: a) exemplicarea plas arii (pe trei r anduri de n alt imi egale) si conect arii unor celule standard; b) abordarea proiect arii printr-o asamblare ierarhizat a pe baza unor celule cu forme si dimensiuni diferite.

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

561

doilea strat metalic, metal 2, n care se graveaz a interconexiunile pe care trebuie s a le realizeze, se continu a n acest mod, alternant a strat metalicstrat dielectric, p an a la ultimul strat metalic.

Figura 4.5 Interconexiunile metalice deasupra substratului unui circuit integrat: a) sect iune vertical a prin straturile metalizate n care sunt interconexiunile; b)vedere superioar a a interconexiunilor metalice din diferite straturi (dup a eliminarea, prin gravare, a masei de oxid de izolare dintre straturile metalice si dintre trasee).

Pentru conectarea unor trasee, din dou a straturi metalice vecine, se realizeaz a n stratul de dielectric dintre acestea, oricii de p atrundere, aceste p atrunderi sunt referite prin termenul de via. Via-surile dintr-un strat de dielectric sunt metalizate n acela si timp cu depunerea stratului metalic de deasupra stratului de dielectric. Peste zona de via, coaxial cu aceasta, trebuie s a e o zon a de interconectare, aceast a pereche, viazon a metalizat a suprapus a este referit a prin termenul de damaschin a (amintind de procedeul vechi din giuvaergerie ori de inserarea de re pret ioase n tes aturi). In sect iunea din gur a, prin cele sase straturi metalizate, se observ a dou a stive de damaschine care realizeaz a o penetrare de la ultimul strat, metal 6, p an a la zonele de substrat (tranzistoare). Se observ a c a sect iunile traselor pentru interconexiuni cresc pe m asur a ce sunt realizate ntr-un strat metalizat mai ridicat. Obi snuit, ultimele 34 straturi metalizate sunt utilizate pentru interconexiunile de alimentare (V DD , VSS ) si pentru conexiunile de lungime mare (globale, care str abat ntreaga suprafat a a cipului); straturile metalizate nspre substrat sunt utilizate pentru conexiuni scurte. Performant ele de vitez a, putere consumat a si de imunitate la diafonie si la zgomot pentru dispozitivele programabile sunt puternic determinate de interconexiunile realizate. Metrica principal a a unei interconexiuni este produsul RC constanta de timp unde R si C sunt rezistent a si capacitatea interconexiunii respective. Performant a de vitez a a circuitului integrat este limitat a de nt arzierea RC a interconexiunilor; pe c and timpii de propagare pe tranzistori se reduc progresiv odat a cu scalarea, n timp ce reducerea l a timii traselor de interconectare (R cre ste) duce la cre sterea nt arzierea pe conexiuni. La o caracteristic a de proces de 100nm, timpul de propagare (la o comutat ie) pentru un tranzistor MOS este 5ps n timp ce nt arzierea pe o interconexiune cu lungimea de 1mm este de 30ps (raportul nt arzierilor este de 30ps/5ps = 6); iar la o caracteristic a de proces de 35nm raportul nt arzierilor cre ste la 100. In mod asem an ator, raportul dintre energia consumat a la comutat ia interconexiunii supra energia disipat a la comutarea tranzistorului MOS este de 5 pentru caracteristica de

562

4.5. PROIECTAREA CU CPLD

proces de 100nm si cre ste la valoarea de 30 pentru caracteristica de proces de 35nm [Lerouge 04]. Cre sterea performant elor circuitului pe baza mbun at a tirii interconexiunilor se poate obt ine prin mic sorarea rezistent ei si a capacit a tii traseelor. Reducerea rezistentt ei interconexiunilor se poate obt ine prin realizarea straturilor metalizate n cupru, nlocuirea straturilor metalizate din aluminiu cu cele de cupru mic soreaz a rezistivitarea de la 3, 3 cm la 1, 8 cm. De asemenea cuprul prezint a o mai bun a comportare pentru efectul de electromigrare (a metalului) n raport cu aluminiul. Pentru tehnologiile cu caracteristica de proces ncep and cu 150nm sau 130nm se impune realizarea conexiunilor numai din cupru. Reducerea capacit a tii unei trase, at at valoarea total a c at si valoarea capacit a tii laterale/ ntre liniile adiacente (care inuent eaz a fenomenul de diafonie), se poate obt ine prin mic sorarea permitivit a tii electrice, vezi relat ia 1.2, a dielectricului care izoleaz a straturile metalice si trasele metalice ntre ele. Permitivitatea electric a a obi snuitului izolator, bioxidul de siliciu orurat, este 3, 6 ( 0 = 8, 85 1014 F/cm permitivitatea electric a a vidului). Multe materiale pot avea o constant a electric a relativ a ntre 1 si 3,6 dar nu prezint a valori acceptabile care se impun pentru unele propriet a ti unui astfel de izolator: rezistent a mecanic a, absorbt ie de umiditate, interact iune chimic a (sp alare/gravare n procesul de fotolitograe, adeziune pentru depunere de metal), conductivitate termic a si tensiune electric a de str apungere. Cerint ele enumerate pot realizate de materiale numite CDO (Carbon Doped Oxide) si care sunt potrivite pentru caracteristici de proces p an a la 90nm. Pentru caracteristici de proces sub aceast a valoare se impun materiale cu o permitivitate electric a relativ a sub 2,2; o astfel de valoare poate realizat a numai de materiale izolatoarea cu structur a poroas a.

4.5

PROIECTAREA CU DISPOZITIVE LOGICE PROGRAMABILE COMPLEXE, CPLD

Dispozitivele logice programabile simple, SPLD, prezentate n sect iunea 2.4.7, sub forma unui circuit PLA, prezint a exibilitate maxim a deoarece pot programate pe matricea AND c at si pe matricea OR. De si acestea posed a o astfel de exibilitate, n practic a, sunt mai frecvente circuitele de tip PAL care au numai nivelul AND programabil iar nivelul OR este restrict ionat la un num ar x de intr ari si f ar a ,, posibilitatea de a programat. In scopul amelior arii acestei restrict ion ari ecare poart a OR a fost inclus a ntr-un circuit, referit n general prin termenul de macrocelul a, Figura 2.59, obt in andu-se circuitul de tip GAL, care prezint a unele facilt a ti pe intrare/ie sire printre care si faptul c a un pin al circuitului poate programat e ca pin de intrare e ca pin de ie sire. Astfel, au devenit clasice circuitele GAL16V8 si GAL20V8 care sunt ncapsulate cu pini pe dou a r anduri, capsul a DIP (Dual Inline Pin) av and numai respectiv 20 de pini (posibile 16 intr ari si 8 ie siri) si 24 pini (posibile 20 de intr ari si 8 ie siri). Pentru implementarea unui sistem de dimensiune mare un circuit PLD de tipul 16V 8 ori 20V 8, uneori, nu este satisf ac ator din punct de vedere al resurselor (intr ari, ie siri, termeni AND, macrocelule), iar rezolvarea ar impune: 1- utilizarea mai multor circuite SPLD, ca si componente discrete, conectate pe o plac a de circuit imprimat;

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

563

2- realizarea unui circuit PLD integrat care s a aib a resursele multiplicate de n ori. Prima solut ie poate practic a cu anumite inconveniente (dimensiune, putere disipat a, vitez a) pe c and a doua nu este o solut ie viabil a. De exemplu, circuitul de tip 16V 8 multiplicat de n = 16 ar un circuit 256V 128; acesta presupune 128 de intr ari si 128 intr ari/ie siri (macrocelule), dar aceasta ar avea urm atoarele inconveniente [Wakerley 00]. In primul r and timpii de propagare ar cre ste de cel put in 8 ori (o poart a AND care are 512 intr ari, 256 intr ari negate si 256 intr ari nenegate, nu poate realizat a pe un singur nivel de propagare). In al doilea r and, suprafat a pe siliciu ar de 256 ori (n2 ) mai mare n raport cu cea a unui circuit 16V 8. Inconvenientele anterioare, prezentate de cele dou a solut ii, pot eliminate prin mixarea celor dou a solut ii: realizarea formei de pe placa de circuit imprimat dar sub form a integrat a. Aceast a solut ie const a n realizarea pe aceea si plachet a de siliciu a n circuite simple PLD, iar pe liniile si coloanele dintre acestea exist a segmente de trasee care, prin programare, pot interconectate pentru realizarea aplicat iei, Figura 4.6, obt in andu-se astfel performant e de vitez a, dimensiune si putere mai bune dec at la cele dou a solut ii anterioare. Un astfel de circuit logic programabil care prezint a resurse pentru implmentarea sistemelor de dimensiune foarte mare este referit prin abreviat ia CPLD (Complex PLD); un circuit CPLD poate implementa sisteme care ar necesita un num ar de port i de ordinul mii-zeci de mii. Ideea arhitectural a, prezentat a n Figura 4.6, pentru un CPLD este realizat a sub diferite abord ari de c atre ecare rm a de componente, exist and n prezent zeci de tipuri de circuite CPLD. Diferent a ntre aceste tipuri const a n modalit a tile specice

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 a matricea programabil a AND, macrocelula, interconexiunile programabile, blocul de intrare/ie sire si tensiunile de interfat are cu exteriorul. Pentru exemplicarea organiz arii si a resurselor disponibile la un CPLD, dar din punctul de vedere al proiectantului de aplicat ie, n continuare se va prezenta circuitul EPM7512B din seria MAX7000B (Multiple Array matriX) a rmei ALTERA. Seria MAX7000B prin scalare (pe baza acelora si componente, cu celule de programare a interconexiunilor de tip CMOS EEPROM, cu tensiunea de alimentare intern a V CCIN T = 2, 5V ) realizeaz a cele cinci circuite CPLD din Tabelul 4.1. Tabelul 4.1 Seria de circuite CPLD, MAX7000B, ale rmei ALTERA Tipul de circuit Caracteristica EPM7032B EPM7064B EPM7128B EPM7256B EPM7512B Num arul de 600 1250 2500 5000 10000 port i utilizabile Num arul 32 64 128 256 512 total de macrocelule Num arul de blocuri 2 4 8 16 32 logice Num arul de 36 68 100 164 212 pini I/O fCN T [MHz] 303,0 303,0 243,9 188,7 163,9 frecvent a de ceas intern a global a de valoare maxim a

Un circuit poate suporta reprogramarea celulelor CMOS EEPROM p an a la o sut a de ori. Circuitele EPM7xxx au o structurare de principiu prezentat a n Figura 4.7-a care este detaliat a n Figura 4.7-b. Scalarea ec arui circuit din serie se bazeaz a pe utilizarea urm atoarelor cinci elemente componente: 1. Blocul matriceal logic, LAB (Logic Array Block); 2. Macrocelula; 3. Expandorul de termeni produs (cu alocare distribuit a, cu alocare paralel a); 4. Matricea de interconexiuni programabile, PIA (Programmable Interconnect Array); 5. Blocul de intrare/ie sire (I/O Control Block) la care prin intermediul a patru intr ari speciale se poate aplica oric arei macrocelule sau oric arui pin I/O e patru semnale de intrare de utilitate general a, IN T , e semnale globale pentru control ce pot : semnale globale de ceas GCLK 1, GCLK 2; semnalul global de stergere, GCLRn ; semnale globale de validare, OE 1, OE 2.

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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 evident ierea semnalelor corespunz atoare.

566

4.5. PROIECTAREA CU CPLD

Blocul matriceal logic, LAB este o matrice de 16 macrocelule (vezi Figura 4.7-a medalion); n seria MAX7000 un circuit poate cont ine 2, 4, 8, 16 sau 32 de LAB-uri. Fiec arui LAB i se aplic a urm atoarele semnale: - 36 de semnale de la PIA, care sunt variabilele de intrare n matricea AND; - 3 semnale globale de control (utilizabile pentru operat iile la registru din component a macrocelulelor); - 2 p an a la 6 semnale direct de la pinii I/O (aplicabile direct la registrul din component a macrocelulelor pentru cazurile c and se elimin a intr arile prin intermediul PIA). Macrocelula, Figura 4.8-a, este compus a dintr-o matrice programabil a AND, o matrice pentru selectarea termenilor produs si un registru programabil (bistabil cu facilit a ti extinse); ecare macrocelul a dintr-un LAB poate congurat a individual pentru o operat ie logic a combinat ional a sau secvent ial a.(Aici not iunea de macrocel a este mai cuprinz atoare dec at cea care a fost introdus a la circuitul GAL, Figura 2.57) Pot generat i cinci termeni produs, de maximum 32 de variabile, care prin intermediul matricei de selectare sunt alocat i la intrarea unei port i OR, pentru a obt ine o sum a de produse (ori o sum a de produse negat a la ie sirea port ii XOR) sau cei termeni produs sunt aplicat i la registru ca semnale de: PRESET, CLEAR, CE (validare ceas). Funct ia logic a (sum a de produse) poate aplicat a la ie sire (prin intermediul blocului I/O), e dup a ce a fost stocat a ntr-un registru (sincronizat a) sau e f ar a stocare n registru (nesincronizat a). Registrul macrocelulei suport a programare individual a pentru a realiza urm atoarele funct ion ari de bistabil: D, T, JK si SR. De asemenea se poate programa (prin intermediul unui multiplexor) ca semnal de ceas (de sincronizare) al bistabilului s a e unul din urm atoarele semnale: - semnalul global de ceas GCLK 1 sau GCLK 2 (negate sau nenegate, vezi Figura 4.7-b); - semnalul global de ceas GCLK 1 sau GCLK 2 dar ca semnale de validat (pe intrarea CE , de un termen produs n cadrul macrocelulei); - de un termen produs n cadrul macrocelulei. Semnalul de nscriere asincron a, P RESET , este unul din cei cinci termeni produs calculat i n macrocelul a. La fel, si semnalul de stergere asincron a CLEAR este unul din cei cinci termeni produs dar, n plus, stergerea poate realizat a si prin semnalul general de stergere GCLRn . Expandorul de termeni produs. Pentru cazul c and cei cinci termeni produs, calculat i n macrocelul a, nu sunt sucient i pentru num arul necesar de termeni produs ,, ntr-o sum a logic a, se poate extinde calculul sumei de produse prin mprumutarea de termeni produs calculat i si n alte macrocelule; aceast a extindere se poate realiza n dou a modalit a ti. In primul r and, printr-o expandare cu alocare prin distribut ie: al cincelea termen calculat pe ecare macrocelul a este negat si aplicat napoi ca o coloan a n matricea programabil a AND (astfel apar nc a 16 termeni produs n matricea AND, c ate unul provenit de la ecare macrocelul a). Termenul aplicat napoi, c and este

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II


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 a termenilor produs ntre dou a macrocelule vecine.

568

4.5. PROIECTAREA CU CPLD

selectat ntr-o sum a de produse, va introduce, evident, o nt arziere suplimentar a n calculul funct iei respective. In al doilea r and, printr-o expandare cu alocare paralel a c and funct iile calculate de la maximum trei celule vecine anterioare sunt nsumate cu funct ia de la macrocelula curent a, Figura 4.8-b; se pot obt ine astfel sume de maximum 20 de termeni produs. De exemplu, pentru a realiza o sum a de produse de 19 termeni produs pe macrocelula 5 se procedeaz a n felul urm ator: se colecteaz a pe macrocelula 2 patru termeni produs, ace stia se colecteaz a pe poarta OR din macrocelula 3 cu cinci termeni produs, apoi se colecteaz a pe poarta OR din macrocelula 4 cu nc a cinci termeni produs si n nal prin colectarea si a celor cinci termeni produs pe poarta OR din macrocelula 5 se obt ine funct ia dorit a (4 + 5 + 5 + 5 = 19). Evident, prin aceast a alocare se introduce n calculul funct iei o nt arziere suplimentar a egal a cu nt arzierea de propagare prin 3 port i OR. Blocul de intrare/ie sire, I/O, Figura 4.9-a. Cu acest bloc se poate congura individual ca ecare pin I/O s a poat a utilizat ca un pin de intrare, ca un pin de ie sire sau ca un pin cu transfer bidirect ional. Pinul I/O este un terminal de intrare c and driverul de ie sire, de tip TSL, este n starea HZ (semnalul de validare ie sire driver este n starea L) si este un terminal de ie sire c and driverul are o funct ionare normal a (semnalul de validare ie sire driver este n starea H ). Semnalul de validare ie sire driver poate selectat dintre: VCC , mas a si un set de 6 sau 10 semnale globale de validare. Setul de semnale globale de validare se obt in (negate sau nenegate) de la PIA si care au fost aplicate ca semnale de intrare pe diferite intr ari ale circuitului sau ca semnale de la ie sirile unor alte macrocelule. Alimentarea driverului de ie sire se face la valori ale tensiunii de intrare/ie sire V CCO = 3, 3V ; 2, 2V ; 1, 8V care sunt tensiuni ale standardului sub ale c arui specicat ii se face comunicat ia ntre pinul I/O al circuitului CPLD si circuitele exterioare plasate pe aceea si plac a de circuit imprimat, vezi Exemplul 4.4 (circuitul MAX7000B n interior si buerul de intrare sunt alimentate la tensiunea VCCIN T = 2, 5V , care poate diferit a de tensiunea VCCO ). C and pinul I/O opereaz a ca pin de intrare exist a tolerant a pentru tensiunile exterioare aplicate pe intrare de 3, 3V 2, 5V si 1, 8V . Dar c and alimentarea driverului se face la tensiunea de intrare/ie sire de VCCO = 3, 3V atunci nivelul H al driverului de ie sire este de 3, 3V , prin urmare exist a compatibilitate la conectarea n exterior si cu circuite care sunt alimentate la standardul de 5V . Driverul de ie sire poate programat pentru o funct ionare de tipul cu drenul n gol (util pentru legarea pinului ntr-o conexiune SI cablat (vezi sect iunea 1.4.3)). De asemenea, driverul poate programat pentru modicarea valorii pantei fronturilor de cre stere si descre stere (slew-rate) ale semnalelor generate la ie sire. O pant a de valoare ridicat a a semnalelor de ie sire cre ste performant ele de vitez a dar cre ste de asemenea puterea disipat a si poate introduce zgomote, pe c and o pant a redus a duce la o nt arziere mai mare n circuit , o putere consumat a mic sorat a si eventual evitarea zgomotelor. In regim de pin de intrare, semnalul de la ie sirea buerului de intrare, se poate direct iona spre o macrocelul a, e prin aplicarea direct a la bistabilul macrocelulei (calea notat a cu A ), e prin intermediul PIA (calea notat a cu B ). Pe calea de aplicare direct a la registru se poate selecta introducerea unei nt arzieri programabile. Prin aceast a nt arziere variabil a se poate ajusta timpul de prestabilire, SU , la bistabil; se poate adapta momentul aplic arii semnalului pe intrarea D/T a bistabilului n raport cu aplicarea semnalului global de ceas (de sincronizare) care prezint a o anumit a

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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/ie sire I/O; b) modul de programare, pe baz a de celule EEPROM, a conexiunilor de la PIA c atre LAB-uri.

570

4.6. PROIECTAREA CU FPGA

nt arziere introdus a de buerele prin care se propag a. Pentru posibilitatea de conectare a pinului I/O la magistrale de tip TSL n blocul I/O sunt prev azute rezistent ele Rpv si Rpd de conectare respectiv la VCCO si mas a, conectarea acestora poate programat a; opt ional poate exista o celul a activ a de ment inere a nivelului (vezi Figura 1.46-e), care poate substitui cele dou a rezistent e. Matricea de interconexiuni programabile, PIA. Aceast a matrice de interconexiuni programabile poate privit a ca o magistral a la care sunt conectate toate intr arile dedicate, tot i pinii I/O ai circuitului si ie sirile de la macrocelule si prin care se poate realiza, prin programare, conectarea oric arui semnal surs a la oricare destinat ie. In Figura 4.9-b este prezentat modul de programare pentru rutarea semnalelor din PIA la LAB (Macrocelule). Dezvoltarea unei aplicat ii, pe baza unui circuit CPLD, are n succesiune acelea si etape indiferent de produc atorul circuitului, diferent ele care apar sunt datorate suportului de dezvoltare si performant ele acestui suport. Un sistem de dezvoltare pentru aplicat ii se realizeaz a n jurul unui PC sau a unei stat ii de lucru dotate cu un mediu software ce cont ine module specice pentru ecare etap a a elabor arii. Se porne ste de la o idee (izvor at a dintr-o cerint a sau dictat a de piat a ) care este translatat a ntr-o arhitectur a si anumite specicat ii electrice. Aceast a arhitectur a, eventual mp art it a n blocuri, este introdus a n calculator e schematic (sub form a de desen), e textual (exprimare ntr-un limbaj de descriere) si compilat a corespunz ator. Apoi urmeaz a etapele de sintez a logic a, de plasare si rutare (pe circuitul CPLD utilizat) si de vericare (simulare si analiza timpilor obt inut i); pe ecare din aceste etape sau ntre aceste etape exist and iterat ii si, n nal, generarea programului pentru congurarea circuitului CPLD, adic a programarea/( nscrierea) celulelor de tip EEPROM. Dup a nscrierea n CPLD a celulelor EEPROM (utiliz and un suport hardware de programareprogramator) cu ajutorul programului de congurare, se va citi starea rezultat a a tuturor celulelor EEPROM pentru a se verica, prin comparat ie, dac a congurat ia rezultat a este identic a cu cea din programul de congurare. Inscrierea/( nc arcarea) CPLD-ului se poate face e c and acesta nu este nc a inclus n sistem, e c and este deja introdus n sisteme, deci inclus pe placa de circuit imprimat (ultima variant a se utilizeaz a curent pentru modicarea sau actualizarea unui sistem deja n funct iune). Deoarece un CPLD este un circuit cu sute de pini, iar alocarea funct iunilor pe ecare pin este exibil a (adic a un pin poate alocat pentru un anumit semnal al circuitului MAX7000B), este necesar si un program pentru proiectarea traseelor pe placa de circuit imprimat.

4.6

PROIECTAREA CU MATRICE LOGICE PROGRAMABILE LA UTILIZATOR, FPGA

Matricea logic a programabil a de utilizator, FPGA (Field Programmable Gate Array) poate privit a ca o sintez a (de succes) ntre circuitul arie de port i logice ,, si circuitul CPLD. De la CPLD s-a mprumutat blocul logic dar nu de a sa mare dimensiune, n schimb, aceste blocuri logice de dimensiuni mai reduse, care constituie un suport programabil pentru implementare de funct ii logice, sunt n num ar mult mai mare dec at cele cuprinse ntr-un CPLD. S i, similar, ca la circuitul arie de port i,

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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 Modalit a ti de structurare pentru circuitele FPGA: a) structur a matriceal a (cu canale de rutare); b) structur a tip mare de CLB-uri; c) structurare cu CLB-uri n linie; d) structurare pe baz a de magistral a (pentru interconect ari).

572

4.6. PROIECTAREA CU FPGA

blocurile logice ale unui circuit FPGA sunt plasate n diferite topologii pe suprafat a cipului, care vor interconectate de c atre proiectantul aplicat iei. Dar, spre deosebire de aria de port i logice, la FPGA exist a deja prefabricate, mpreun a cu blocurile logice, anumite de segmente de trasee dintre care unele vor interconectate conform proiect arii aplicat iei. S i ca durata implement arii s a e scurtat a, elimin and timpul de realizare al m a stilor la turn atoria de siliciu impus a de o implementare pe circuitul arie de port i logice, care poate de ordinul s apt am anilor, pentru realizarea interconexiunilor la FPGA se evit a programarea prin mascare. Suportul zic al program arii interconexiunilor poate : fuzibil sau antifuzibil (care sunt de tip o singur a dat a programabil OTP), (E)EPROM (care are un num ar de nscrieri de maximum 10 3 ), SRAM, Figura 4.1 (care necesit a nscriere la ecare punere sub tensiune a circuitului); se poate obt ine astfel un timp de realizare a aplicat iei de ordinul orelor sau zilelor. Evident, pentru conectarea cu exteriorul, circuitul FPGA mai trebuie s a curpind a blocuri de intrare/ie sire, pentru ecare pin I/O, la fel ca la CPLD. Pentru blocurile congurabile, CLB (Congurable Logic Block), mpreun a cu segmentele (liniile) de trasee pentru interconectare, n cadrul circuitelor FPGA se pot identica, mai frecvent, urm atoarele patru structur ari: 1. Structur a matriceal a cu canale de rutare, Figura 4.10-a; similar ca la aria de port i logice, Figura 4.2, port ile logice ind substituite cu CLB (segmentele de interconectare ind realizate pe liniile si coloanele dintre CLB, iar la intersect ia acestora exist a matrice de interconectare pogramabile). 2. Structur a pe baz a de mare-de-celule CLB, Figura 4.10-b, similar a ariei cu mare de port i logice neconectate. 3. Structur a pe baz a de linii/coloane de celule CLB, Figura 4.10-c, similar a structurilor cu celule standard, Figura 4.4. 4. Structur a pe baz a de magistral a, Figura 4.10-c, c and CLB-urile sunt conectate ntre ele prin intermediul unei magistrale, similar ca la unele circuite CPLD, vezi PIA n Figura 4.7-a.

4.6.1

Blocul Logic Congurabil

Un bloc logic congurabil, CLB, poate realizat pe baz a de tranzistoare, pe baz a de port i logice mai simple sau mai complexe, multiplexoare sau tabele de c autare, LUT (Look-Up-Table, vezi sect iunea 2.4.6); s-au impus realiz arile pe baz a de multiplexoare si mai ales cele pe baz a de LUT. Un CLB cont ine dou a p art i un generator de funct ii (partea combinat ional a) si partea secvent ial a (un registru care poate avea funct iunile normale ale tipurilor de bistabile plus alte facilit a ti suplimentare). CLB pe baz a de MUX. Un generator de funct ii de n variabile se poate realiza cu un circuit MUX 2n : 1, sect iunea 2.4.4.1; variabilele funct iei se aplic a pe cele n intr ari de selectare iar coecient ii funct iei pe cele 2 n intr ari de date, pentru ecare n congurat ie i a cuv antului format din coecient ii funct iei se obt ine una din cele 2 2 n funct ii, fin , 0 i 22 1. Structuri de generatoare, pe baz a de multiplexoare, utilizate de rma ACTEL, sunt prezentate n Figura 4.11. Generatorul de funct ii din Figura 4.11-a, care are opt intr ari si o ie sire, f , poate realiza, utiliz and unele intr ari si sub forma negat a, urm atoarele funct ii: cele patru funct ii logice curente (NAND,

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II


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 a de multiplexoare: a,b,c) generatoare de funct ii pe baz a de multiplexoare; d) structur a de CLB cu generator de funct ii pe baz a de multiplexor iar partea secvent ial a realizabil a n jurul a dou a latch-uri NOR, AND, OR cu 2, 3 si 4 intr ari), XOR, XOR-OR-OR, XOR-OR-AND, OR-XOR, AND-XOR-OR, AND-OR, OR-AND etc. O variant a mbun at a tit a a generatorului de funct ii este cea din Figura 4.11-b care este echivalent a unui MUX4:1 din Figura 4.11-c pe care se pot implementa un num ar de 766 funct ii distincte. Expresia logic a a funct iei f este: f = D00 (A0 B0 ) + D01 (A0 B0 ) (A1 + B1 ) + D10 (A0 B0 ) + D11 (A0 B0 ) (A1 + B1 ) Ata sa nd acestui generator de funct ii o parte secvent ial a, compus a din dou a latch-uri si c ateva port i logice, se obt ine o structur a pentru un CBL pe baz a de multiplexor, Figura 4.11-d. Partea secvent ial a poate utilizat a ca un bistabil D cu comutat ie pe frontul pozitiv sau negativ sau ca latch transparent pe palierul H sau pe palierul L dac a la ,, ,, intr arile C1 si C0 se aplic a semnalul de ceas, CLK , 1 , 0 n diferite combinat ii ,, logice. De exemplu, pentru conexiunea C0 =0 si C1 = CLK funct ionarea este de bistabil D cu comutat ie pe frontul pozitiv. Bistabil de tip JK sau SR se poate obt ine prin utilizarea mai multor CLB si cu conexiuni externe pentru react ie. Partea secvent ial a prin recongur ari pe baza unor port i existente n structura CLB, sau

574

4.6. PROIECTAREA CU FPGA

prin utilizarea generatorului de funct ii, poate genera facilit a ti care nu sunt comune bistabilelor curente. CLB-urile bazate pe multiplexoare produc o exibilitate mare n generarea funct iilor pentru un num ar de tranzistoare relativ redus, n schimb din cauza unui num ar mare de intr ari apare o mare cerere asupra resurselor de rutare pentru realizarea interconexiunilor. Exemplul 4.2
Pe baza unui bistabil de tip D se vor prezenta c ateva structuri cu facilit a ti ne nt alnite la bistabilul SR sau la bistabilul D. Ecuat ia de funct ionare a bistabilului SR este Q(t + 1) = ia 3.20. S + RQ(t), Tabelul 3.4, iar a bistabilului D este Q(t + 1) = D(t), relat - Figura 4.12-a, Sdominant; pentru ambele intr ari de date activate, SR = 11, bistabilul SR se va nscrie n Q(t+1) = 1 (la bistabilul obi snuit aceast a combinat ie produce nedeterminare). - Figura 4.12-b, Rdominant; pentru ambele intr ari de date activate, SR = 11, bistabilul SR se va nscrie n Q(t + 1) = 0. - Figura 4.12-c, f ar a modic ari; pentru ambele intr ari de date activate, SR = 11, bistabilul SR nu si modic a starea Q(t + 1) = Q(t). - Figura 4.12-d, basculeaz a; pentru ambele intr ari de date activate, SR = 11, bistabilul SR basculeaz a n starea opus a, similar bistabilului JK, adic a o funct ionare de bascul a (bistabil T). - Figura 4.12-e, bistabilul D cu MUX 2:1 pe intrare; ie sirea Q(t + 1) va avea valoarea uneia din valorile de intrare, D0 sau D1 , n funct ie de valoarea 0 sau 1 a variabilei de control C. - Figura 4.12-f, bistabil D cu validare a semnalului de ceas, Figura 3.72-c, se va nscrie n bistabil intrarea Din , Q(t + 1) = Din (t), numai c and semnalul de ceas este validat de CE = 1, altfel Q(t + 1) = Q(t) (vezi Figura 3.45-e).

CLB pe baz a de LUT. Blocurile logice congurabile pe baz a de LUT utilizeaz a o memorie SRAM pentru stocarea valorilor coecient ilor funct iei, valori care se nscriu odat a cu congurarea aplicat iei n circuitul FPGA. O memorie SRAM de capacitate n n 2n adrese 1 bit poate stoca valorile funct iei fj , 0 j 22 1, (vezi sect iunea 1.1.3 si 2.1); n ecare locat ie, de adres a determinat a de congurat ia cuv antului format din valorile variabilei funct iei xn1 xn2 . . . x1 x0 , se a a stocat coecientul djm al funct iei (djm {0, 1}, 0 m 2n 1). De exemplu, n LUT-ul din Figura 4.13-a, pentru valorile variabilelor de intrare x3 x2 x1 x0 = 1010 = 11|10 , la locat ia de adres a 11 se 4 a a valoarea f 0; n LUT este nscris a funct ia de patru variabile f 4636 . In general, pentru FPGA, num arul de variabile pentru funct iile implementabile este ntre 4 si 6; toate funct iile au acela si timp de propagare care este timpul de citire al memoriei SRAM. O structur a simplicat a de CLB, care cont ine trei celule LUT, este prezentat a n Figura 4.13-b (obt inut a prin simplicarea structurii de CLB din seria XC4000 a rmei Xilinx). Dou a generatoare de funct ii G si F , realizate respectiv pe LUT1 si LUT2 , pot implementa oricare funct ie de patru variabile independente G 1 G4 sau F1 F4 . Al treilea generator H , realizat pe LUT3 , poate implementa oricare funct ie de trei variabile respectiv: F , G (ecare poate o funct ie de maxim patru variabile) si variabila H1 care este aplicat a din exterior. Semnalele de la ie sirile generatoarelor de funct ii pot obt inute la dou a ie siri ale CLB: F si H pot conectate la ie sirea X prin intermediul MUX4 , iar G , H pot conectate la ie sirea Y prin intermediul MUX3 . Se pot obt ine pe ie sirile X si Y : dou a funct ii de cel mult patru variabile independente, o singur a funct ie de cinci variablile independente sau alte funct ii de

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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 congurat ii pentru un bistabil D dintr-un CLB prin care se pot obt ine urm atoarele facilit a ti n funct ionare: a)pentru SR = 11, S este dominant; b) pentru SR = 11, R este dominant; c) pentru SR = 11, f ar a modic ari; d) pentru SR = 11, basculeaz a (bistabil T); e) bistabil D cu MUX 2:1 pe 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 a de LUT: a) exemplu de generator de funct ie de 4 variabile implementat pe un SRAM de capacitate 2 4 adrese 1 bit; b) structur a de CLB pe baza a 3 celule LUT si dou a bistabile, cu dou a ie siri directe (X , Y ) si dou a ie siri sincronizate (XQ, Y Q). p an a la nou a variabile. Partea secvent ial a se realizeaz a n jurul a dou a bistabile FF 1 si FF2 care, n general, pot programate independent pentru: nscriere sincron a sau asincron a (pe intr ari de tip PRESET si CLEAR); sincronizare prin diferite semnale de ceas; posibilitate de activare a semnalelor de ceas prin semnal de validare, CE . In structura din gur a, intr arile de date ale bistabilelor pot selectate, prin MUX 1 si MUX2 , dintre funct iile F , G , H sau Din , un semnal direct de la o intrare (special a) n CLB. Ie sirile Y Q si XQ sunt ie siri sincronizate din CLB. Exemplul 4.3 Automatul cu tabelul de tranzit ie al starilor dat n Figura 4.14-a s a se implementeze pe CLB-uri care au o structur a ca cea prezentat a n Figura 4.14-b. Solut ie: Adopt and codicarea st arilor A 001, B 101, C 010, D 110, E 011 se obt ine tabelul st arilor pentru funct iile de execitat ie w2 , w1 , w0 si pentru ie sirea Z (de tip 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 a valorile funct iilor w2 , w1 , w0 si Z (respectiv n tabelele din Figura 4.14-c,d,e,f) care se ncarc a n LUT. Sunt necesare trei celule LUT cu patru intr ari si una cu trei intr ari, deci se utilizeaz a dou a CLB-uri, Figura 4.14-g. Ie sirea Z se poate obt ine at at sincronizat a (Mealy cu nt arziere) c at si nesincronizat a (Mealy imediat).

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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 a pentru Exemplul 4.3

578

4.6. PROIECTAREA CU FPGA

Blocul de intrare/ie sire, I/O. Blocul I/O constituie o interfat a ntre pinii exteriori si CLB. Aceste blocuri sunt situate n exteriorul suprafet ei matricei formate din CLB-uri, Figura 4.15-a. Structura si funct iile unui bloc I/O al unui circuit FPGA sunt acele si cu cele ale unui bloc I/O al unui CPLD, care a fost prezentat n sect iunea 4.5, Figura 4.9-a. Mai nou, blocului I/O i se adaug a s urm atoarele dou a facilit a ti: 1controlul digital al impedant ei driverilor de ie sire si adaptarea impedant elorla intrare; 2-controlul uxului de date pe intrare sau pe ie sire la rata dubla, DDR, sect iunea 3.6.3. Structura si funct ionarea unui astfel de driver I/O va prezentat n Exemplul 4.4.

4.6.2

Resursele de interconectare

Pentru o organizare de tip matriceal, Figura 4.10-a, a unui circuit FPGA topologia plas arii componentelor pe cip este prezentat a n Figura 4.15-a. Pe ntresuprafet ele (orizontale si verticale) dintre CLB-uri sunt plasate segmente de linii metalizate (de diferite lungimi) precum si elemente de conectare programabile. Suprafat a matricei de CLB-uri este nconjurat a de blocuri I/O, ecare dintre aceste blocuri put and conectat la un pin I/O (la un pad). In jurul blocurilor I/O ( nspre paduri) exist a segmente de linii metalizate care, prin interconect ari programabile, permit conectarea unui bloc I/O la oricare pin al circuitului; aceasta permite o proiectare a aplicat iei f ar a restrict ion ari impuse de pozit ia pinilor (deci, un circuit FPGA poate programat pentru un cablaj imprimat deja existent). Resursa de interconectare a unui FPGA este constitit a din segmentele de linii metalizate care, prin intermediul punctelor de interconectare programabile, pot constituite n trasee de transfer pentru semnale ntre intr arile, ie sirile CLB-urilor si blocurile I/O. Circuitele FPGA din punct de vedere al suportului de interconectare pot cu o arhitectur a de rutare segmentat a sau nesegmentat a. Arhitectura nesegmentat a ofer a lungimi xe pentru segmentele metalice de rutare, care str abat ntreaga lungime a cipului, ceea ce poate constitui o u surare n realizarea softului de plasare si rutare. In schimb, arhitectura segmentat a cont ine linii metalizate de diferite lungimi put andu-se astfel s a se realizeze o rutare optim a de la logic la logic; testele au ar atat c a o arhitectur a segmentat a ofer a posibilitatea de a mpacheta mai mult a logic a si la performant e mai ridicate dec at cea nesegmentat a. Performant a unui traseu este determinat de timpul de propagare care este o nt arziere de tip RC, nt arziere care este puternic inuent at a de punctele de interconectare programabile (evident, circuitele cu trasee realizate prin mascare au performant a de vitez a superioare n raport cu cele cu interconexiuni programabile). Actual, tehnologiile de rutare cu conexiuni programabile se realizeaz a cu a sa numitele interconexiuni active (buerate), adic a pe segmentele metalizate la ecare punt de interconectare se introduce un buer, prin acesta se elimin a nt arzierea de rutare variabil a, dependent a de factorul de nc arcare (fan-out) al semnalului. Pentru concretizarea resurselor de interconectare se va prezenta n continuare suportul oferit de circuitele din seria XC4000 (Xilinx). In Figura 4.15-a (medalion) sunt prezentate toate segmentele de linii metalizate de interconectare prin care, potent ial, un CLB poate conectat sau poate s a se conecteze la alte CLB-uri sau blocuri I/O, detalierea la nivel de puncte de interconectare programabile este dat a n Figura 4.15-b

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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 n jurul unui CLB ( n medalion); b) detalierea interconect arilor programabile n jurul unui CLB.

580

4.6. PROIECTAREA CU FPGA

(la intersect ia dinte dou a linii dac a exist a punct de interconectare acesta s-a gurat cu un mic p atrat). Exist a urm atoarele grupe de linii de interconectare: 1. Linii de interconectare direct a. Fiecare CLB, din matrice, are dou a ie siri care se conecteaz a direct la celula urm atoare din dreapta si la celula de dedesubt. De asemenea, celula este conectat a direct la grupul de trei linii de deasupra, de dedesubt (verticale) si n partea st anga (orizontale). 2. Linii de o lungime (linii simple). Aceste grupuri de c ate 8 linii de o lungime formeaz a o ret ea pe orizontal a si verical a n jurul unui CLB, si se intersecteaz a ntre ele printr-o matrice de interconectare, (conturul p atratic trasat cu linie ntrerupt a din Figura 4.15-b si Figura 4.15-a medalion). Aceste linii simple asigur a n primul r and, o conectare exibil a ntre CLB-uri adiacente n afara put inelor linii de conectare directe si, n plus, fat a de acestea sunt suport pentru un transfer bidirect ional. Structura unei matrice de interconectare este prezentat a n Figura 4.16-a. Fiecare punct de interconectare al matricei const a dintr-o ret ea de sase tranzistoare de trecere (sau port i de transmisie), Figura 4.16-b, a c aror comand a este aplicat a de la sase latch-uri care constituie memoria de congurare (neevident iat aascuns a n structura pentru un CLB prezentat a n Figura 4.13-b si n Figura 4.15-a), simbolizat a prin p atratele mici cu litera M . Un semnal aplicat pe un traseu care intr a prin dreapta n matricea de interconexiuni poate rutat la o linie simpl a e n direct ia sus, jos sau st anga sau in toate cele trei direct i ( n funct ie de bit ii M nscri si n latch-urile memoriei de 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 si linii duble); b) structura unui nod nod al matricei (M reprezint a latch-urile din memoria de congurare). 3. Linii de dou a lungimi (linii duble). Aceste grupuri, la fel ca si liniile simple, formeaz a o ret ea pe orizontal a si pe vertical a n jurul unui CLB, dar ecare linie dintre aceste grupuri intr a tot la a doua matrice de interconectare, deci se pot conecta CLBuri din doi n doi. Pentru trasee mai lungi, liniile duble asigur a o nt arziere mai

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

581

mic a dec at o congurare cu linii simple. Unele circuite FPGA au si linii de lungime cvadrupl a sau sixtupl a. 4. Linii lungi. Acest grup de linii (verticale si orizontale) sunt pe toat a dimensiunea matricei de CLB-uri si nu trec prin matrice de interconectare. Utilitatea principal a a acestora este de a folosite pentru semnale de fan-out mare, cu timp de propagare critic (f ar a defazaj) sau ret ele de distribut ie la nivelul ntregului circuit; pot comandate cu drivere TSL n apropiere de CLB-uri. 5. Linii globale. Sunt utilizate pentru distribut ia f ar a defazaj a semnalelor de ceas; realiz arile actuale inculd circuite pentru compensarea defazajului de ceas (clock skew), vezi sect iunea 3.5.7. Fluxul dezvolt arii unei aplicat ii pe un circuit FPGA este destul de asem an ator cu cel pentru un circuit CPLD. Ponind de la o idee se elaboreaz a o arhitectur a si anumite specicat ii electrice, apoi etapele sunt: descrierea proiectului, sinteza, implementarea si congurarea circuitului FPGA. Descrierea proiectului-sintez a se poate realiza schematic (desene) sau printrun limbaj de descriere, iar rezultatul rul arii etapelor de descriere si sintez a este un sier ntr-un format specic circuitului FPGA care va suportul pentru aplicat ie. Implementarea se compune din urm atoarele trei faze: partit ionarea, plasarea si rutarea. Partit ionarea const a n mp art irea proiectului pe blocuri care s a poat a mapate n CLB-uri. Plasarea const a n alocarea acestor blocuri la anumite elemente 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 jonct ionarea de segmente de linii de interconectare este un proces iterativ (mai dicil dac at printro programare prin mascare). Fazele de partit ionare, plasare si rutare sunt realizate automat prin soft, ns a utilizatorul poate impune constr angeri specice. Rezultatul etapei de inplementare este un sir de bit i, de ordinul 10 5 bit i (bitstream). Congurarea const a n transmiterea ( nscrierea) sirului de bit i obt inut n etapa anterioar a, n memoria de congurare. Fiecare latch, Figura 4.1-a (simbolizat prin litera M n Figura 4.16-b), al memoriei de congurare, distribuit a pe ntreaga suprafat a a cipului, va nscris prin sirul de bit i cu 1 sau 0 logic dup a cum este necesar s a comande n starea activ a sau inactiv a punctul programabil, la care este conectat, din blocurile I/O, din CLB-uri sau din ret eaua de interconectare. In interiorul unui CLB punctele congurabile sunt pentru: bit ii din LUT-urile generatoarelor de funct ii, bit ii de selectare ai multiplexoarelor. Acest sir poate trimis din calculator direct n memoria de congurare a circuitului FPGA, deja montat pe placa de circuit imprimat a aplicat iei, sau este nscris ntr-o memorie PROM serial a ce se va al atura circuitului FPGA de pe placa de circuit inprimat (FPGA-ul trebuie congurat la ecare punere sub tensiune!). Modalitatea de programare la un circuit FPGA este, esent ial, aceea si ca la programarea unui calculator prin stocarea programului n memoria principal a. Dezvoltarea sau testarea unei noi aplicat ii poate realizat a tot at at de u sor si rapid ca si pentru o aplicat ie software. Deci, se poate spune c a FPGA-ul a adus hardul la acela si nivel de programabilitate ca si softul. Ret elele logice realizate pe FPGA au performant e de vitez a mai reduse de p an a la dou a sau trei ordine de m arime n raport cu implementarea de tip full-custom, dar, n schimb, duc la performant e mai ridicat a cu c ateva ordine de m arime n raport cu simularea n soft a acelea si ret ele logice.

582

4.6. PROIECTAREA CU FPGA

Exemplul 4.4 Acest exemplu are scopul de a completa not iunile de baz a referitoare la circuitul FPGA prezentate anteriorn cu noile facilit a ti existente la circuitele actuale. Aceste noi facilit a ti vor exemplicate la circuitele FPGA ale familiei VIRTEX-II PRO (Xilinx) n raport cu circuitul FPGA XC4000. Circuitele VIRTEX-II PRO care corespund tehnologiei elaborate n anul 2000 fat a de cele XC4000 (care apart in tehnologiei anilor 90) au fost proiectate astfel nc at s a e o platform a pentru realizarea unor sisteme programabile, dep a sind astfel nivelul numai de logic a programabil a. Cu aceste noi circuite se trece de la nivelul de logic a programabil a la nivelul de sistem programabil. Aplicat iile complexe pot ecient repartizate ntre o implementare de tip logic (hardware) pentru a obt ine o vitez a ridicat a si o implementare de tip software pentru a obt ine o exibilitate ridicat a. Aceast a platform a VIRTEX-II PRO cont ine n acela si timp trei componente:
A: Un nucleu de microprocesor (PowerPC 405) B: transievere (transmitter-reciever, vezi Figura 3.82-f). Utilizate pentru interconect ari ntre magistrale, la motherboard sau la alte sisteme printr-o conexiune paralelserie respectiv paralelserie. Fiecare dintre cele (p an a) la 24 canale de transmisie permite o rat a de transfer a datelor de la 622Mb/s p an a la 3,125Gb/s C: FPGA, care va analizat n continuare 1. CLB. In VIRTEX-II PRO blocurile logice congurabile, CLB, au o organizare tip matriceal (vezi Figura 4.15-a) si sunt suport pentru proiect arile de tip combinat ional si/sau secvent ial. Fiecare CLB posed a o proprie matrice de comutat ie prin care poate accesa la c aile generale de rutare, Figura 4.16-a. Un CLB, spre deosebire de cele din familia XC4000, este compus din patru sect iuni (slice) identice S1 , S2 , S3 , S4 conectate la propria matrice de comutat ie, precum si la o conexiune direct a (rapid a) prin care se conecteaz a cu CLB-urile vecine, Figura 4.17-a. Cele patru sect iuni sunt organizate pe dou a coloane, ecare coloan a av and c ate un un circuit independent pentru propagarea transportului (Cin , Cout ) dar un singur circuit comun (ambelor coloane) pentru deplasare (Shift). Exist a de asemenea, dou a buere TSL care au ecare pin propriu pentru intrare si pentru controlului regimului TSL, ie sirile acestor buere, TBUF, comand a resurse de rutare orizontale pentru realizarea de magistrale TSL pe cip. Fiecare dintre cele patru sect iuni ale unui CLB are acces, prin intermediul matricei de comutat ie, la intrarea si/sau la controlul celor dou a buere TSL. In ecare sect iune Si , i = 1, 2, 3, 4, a CLB-ului sunt incluse dou a generatoare de funct ii de patru variabile, dou a elemente de stocare, un circuit pentru propagarea transportului, port i pentru funct ii aritmetice si o mutlitudine de multiplexoare. Num arul total de sect iuni pentru membrul cel mai de jos al familiei, XC2VP2, este de 1408, iar pentru membrul cel mai dezvoltat este de 55616. In Figura 4.17-b este prezentat a o schem a simplicat a pentru structura unei sect iuni (de exemplu, unele simboluri de MUX indic a faptul c a asupra semnalului se realizeaz a o funct ie de selectare far a a specica toate intr arile de date si de selectare). - Generatoarele de funct ii G si F sunt de tipul LUT cu patru intr ari (G4 G3 G2 G1 si F4 F3 F2 F1 ). Se poate implementa orice funct ie de patru variabile iar utiliz and anumite multiplexoare se poate extinde p an a la funct ii de 9 variabile de intrare. Semnelele de ie sire din generatoarele de funct ii pot obt inute la ie sirea sect iunii respective (X, Y ) sau: pot aplicate pentru calcul aritmetic (intrare la poarta XOR); aplicate n lant ul de propagarea transportului; aplicate la intrarea elemenelor de stocare. -Elementele de stocare pot congurate e ca dou a bistabile D cu comutat ie pe front, e ca dou a latch-uri (active pe palier). Pe intrarea D semnalele directe X , Y , de la ie sirea generatoarelor de funct ii, via ie sirile DX, DY sau semnalele BX, BY care intr a direct n sect iune, ocolind generatorul de funct ii. Pentru ambele elemente de stocare ale unei sect iuni sunt comune urm atoarele semnale de control: CLK - ceasul; CE - validare ceas;

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II


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 comutat ie, patru sect iuni plasate pe dou a coloane S0 S1 si S2 S3 si dou a TBUF); b) structura simplicat a a unei sect iuni.

584

4.6. PROIECTAREA CU FPGA

SR prescriere n stare 0 sau 1; REV - comanda n starea opus a fat a de cea comandat a prin SR (polaritatea ec aruia dintre aceste semnale se poate selecta independent prin MUX2:1). Registrele/latch-urile pot congurate pentru urm atoarele tipuri de funct ionare: f ar a set si reset; set asincron; reset asincron; set si reset asincron; set (PRESET) asincron; reset (CLEAR) asincron; set (PRESET) si reset (CLEAR) asincron. S tergerea (reset, CLEAR) este predominant a fat a de nscriere (set, PRESET). -Logica artimetic a. Prin utilizarea celor dou a generatoare de funct ii F si G, a celor dou a port i AND, MULTAND, a celor dou a port i XOR si a multiplexoarelor MUXCY se poate implementa pe o sect iune un sumator de dou a cuvinte de doi bit i G2 F2 + G1 F1 , vezi relat ia 2.25. Se obt ine: 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 ie sirea X la ie sirea primului MUXCY la ie sirea Y la ie sirea Cout

Direct ia de propagare a transportului este de la LUT-ul F la LUT-ul G; exist a astfel dou a c ai de propagare ale transportului ntr-un CLB; una pe sect iunile din prima coloan a (S0 si S1 ) si a dou a cale pe sect iunile din a doua coloan a (S2 si S3 ), conform cu notat iile din Figura 4.17-a. Pentru a implementa operat ia de nmult ire port ile MULTAND pot genera produsul aritmetic (= produsul logic) a dou a variabile. Se poate obt ine o form a normal a disjunctiv a, FND, relat ia 1.12 (sum a de produse, SOP) de oric a ti termeni produs prin utilizarea port ii ORCY care are ca intr ari semnalul SOPIN (de la CLB-ul anterior) si ie sirea de la multiplexorul superior MUXCY. Termenii produs generat i de un generator de funct ii din sect iunea Si sunt notat i cu PXSi , PY Si ; intrarea 0 a multiplexoarelor MUXCY, pentru propagarea transportului, se conecteaz a la mas a. Prin colectarea termenilor produs de pe prima coloan a la ie sirea port ii ORCY din sect iunea S 1 se obt ine: SOU TS 1 = PXS 0 + PY S 0 + PXS 1 + PY S 1 + SOP IN iar prin colectarea acestora cu termenii produs generat i si n a doua coloan a se obt ine: SOU TS 3 = PXS 2 + PY S 2 + PXS 3 + PY S 3 + SOU TS 1 Aceast a sum a de porduse se poate aplica la intrarea SOPIN de la CLB-ul urm ator s.a.m.d. De asemenea, prin congurarea multiplexoarelor interne,se poate realiza un MUX16:1, un MUX32:1 pe dou a CLB-uri, pentru selectarea funct iilor generate de LUT-uri. Dou a sect iuni, folosind LUT-urile si MUXCY, pot implementa un AND cu 16 intr ari ( ncercat i!). - Memoria distribuit a. Fiecare LUT dintr-o sect iune, ind n fond o memorie RAM, poate utilizat ca o memorie RAM asincron a, simplu port (pe ie sire), de capacitate 16 1 bit ( nscriere sincron a, ie sirea cu citire asincron a). Cu cele dou a LUT-uri dintr-o sect iune se poate congura si o memorie RAM de capacitate 16 1 bit dar dublu port pe ie sire. Adresarea unui LUT, ca memorie RAM simplu port, dintr-o sect iune se face pe intr arile F4 , F3 , F2 , F1 sau G4 , G3 , G2 , G1 . Fiecare LUT mai are nc a patru intr ari de adresare W F4 , W F3 , W F2 , W F1 sau W G4 , W G3 , W G2 , W G1 (nedesenate n structura simplifacat a din Figura 4.17-b). C and o sect iune este congurat a ca o memorie RAM dublu port 16 1 bit, atunci cuv antul de adres a de nscriere se aplic a simultan la ambele LUT-uri pe intr arile F4 /W F4 , F3 /W F3 , F2 /W F2 , F1 /W F1 de la F1 si pe intr arile W G4 , W G3 , W G2 , W G1 de la G; pentru citirea (asincron a) a portului F cuv antul de adres a se aplic a pe acelea si intr ari ca si la la nscriere, n schimb pentru citirea (asincron a) a portului G cuv antul de adres a se

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

585

aplic a numai pe intr arile G4 , G3 , G2 , G1 . Cu cele opt LUT-uri dintr-un CLB se pot congura urm atoarele structuri de memorie RAM: ca simplu port 16 8 bit i, 32 4 bit i, 64 2 bit i si 128 1 bit, iar ca dublu port 16 4 bit i, 32 2 bit i, 64 1 bit. Memoria RAM distribuit a c and se utilizeaz a toate CLB-urile, n acest scop, este de 45056bit i pentru XC2VP2 si de 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, si ie sirile de date pe M15 , celula a 16-a a registrului. Inscrierea n registru de deplasare se face serial, sincron pe semnalul de ceas CLK n conjunct ie cu semnalul de validare ceas CE; citirea este asincron a din oricare celul a prin aplicarea pe intr arile LUT-ului a cuv antului de adres a pentru celula care se dore ste a citit a. Una din cele 16 celule ale registrului de deplasare poate citit a si sincron dac a ie sirea acestei celule se conecteaz a la intrarea bistabilului D. Intr-o sect iune, prin inserierea celor dou a LUT-uri (M15 de la G se conecteaz a la DI de la F ) se obt ine un registru serie de 32 bit i (ie sirea ind SHIFTOUT); pe un CLB registrul de deplasare poate de 128 bit i. Resursele logice dintr-un CLB sunt urm atoarele:
Circuite Memorie pentru Circuite Registru RAM TUBF Bistabile MULTAND propagarea SOP serie distribuit a transportului 2 2 2 2 128 bit i 128 bit i 2

Sect iuni LUT-uri 4 8

- Blocuri independente de memorie RAM si de multiplicatoare. Platforma VIRTEX-II PRO are ca resurs a pentru memorare, n afara utiliz arii LUT-urilor ca memorie RAM distribuit a, n plus si blocuri independente de memorie RAM, dublu port, de capacitate 18kb. De asemenea, n afar a de realizarea de multiplicatoare pe baza CLB-urilor, exist a si blocuri independete de multiplicare pentru nmult irea a dou a cuvinte, ecare cuv ant de 18 bit i, n complement de doi. In general, ecare bloc multiplicator se ata seaz a la un bloc de memorie dar poate utilizat si separat. Combinat ia bloc independent de memorie + multiplicator + acumulator (realizat n LUT-uri) permite implementarea funct iei de multiplicare-acumulare din procesoarele de semnal, funct ie care este de o utilizare comun a n calculul r aspunsului la impuls nit, FIR, (Finite Impulse Response), a r aspunsului la impuls innit, IIR, (Innite Impulse Response) pentru ltrele digitale. Pe ecare membru al familiei VIRTEX-II PRO num arul de blocuri de memori RAM este egal cu num arul de blocuri de multiplicatoare si variaz a ntre 12 (pentru XC2VP2) p an a la 556 (pentru XC2VP125). 2. Blocul de intrare/ie sire, IOB Pe m asur a ce FPGA-urile cresc n num arul de componente integrate si se l arge ste gama de facilit a ti oferite, cresc si n dimensiune, vitez a, performant a si sistemele implementate cu acestea. Intr-un astfel de sistem circuitul FPGA comunic a cip-la-cip n exterior pe placa de circuit imprimat cu alte componente; aceast a comunicat ie prin nt arzierile introduse are un impact substant ial asupra performant elor. In general, aceast a comunicat ie se realizeaz a pe magistrala pentru care s-au elaborat o serie de standarde I/O de tensiuni reduse ( n tendint a de a reduce puterea disipat a). Fiecare standard de I/O are propriul s au set de specicat ii referitoare la tensiune, curent, modul de buerare (intrare, ie sire), modalitatea de terminat ie (intrare, i sire, la cap at). Blocul de intrare ie sire la un FPGA trebuie s a aib a suciente resurse si o mare congurabilitate pentru buerele de intrare, (driverele) de ie sire astfel nc at s a suporte c at mai multe standarde I/O. Un buer de intrare, IBUF, trebuie s a permit a o congurare e ca simplu buer (cu o intrare pe un singur r), e ca un buer cu intrare diferent ial a. Un buer de ie sire, OBUF, trebuie s a e congurat cu o ie sire

586

4.6. PROIECTAREA CU FPGA

push-pull (contratimp) sau cu o ie sire dren n gol (open dren). De asemenea, ecare tip de buer trebuie s a suporte o varietate de valori de curent i si de tensiuni nc at s a poat a utilizat pentru c at mai multe standarde I/O. In continuare se vor enumera standardele I/O suportate de familia VIRTEX-II PRO, specic andu-se pentru ecare doar tensiunea (descrierea complet a a acestor standarde poate g asit a la Electronic Industry Alliance JEDEC: http://www.jedec.org) - PCI (Peripheral Component Interface). Este n variantele de magistrale comandate de o frecvent a de ceas de 33MHz si 66MHz. Necesit a: VCCO = 3, 3V , IBUF simplu (ca la LVCMOS), OBUF cu ie sirea n push-pull. Nu necesit a VREF (tensiune de referint a ) si VT T (tensiune pe terminat ie). - GTL (Gunning Tranceiver Logic Terminated). Este un standard de mare vitez a. Necesit a: OBUF de tip dren n gol (deci nu se specic a valoarea pentru VCCO ), IBUF de tip diferent ial (VREF = 0, 8V ), VT T = 1, 2V . Exist a si n varianta GTLP (Gunning Tranceiver Logic Plus) cu VREF = 1, 0V si VT T = 1V . - HSTL (High-Speed Tranceiver Logic). Necesit a: IBUF de tip diferent ial si OBUF de tip push-pull, VCCO = 1, 8V sau 1, 5V . In funct ie de valorile pentru VCCO , VREF si VT T exist a patru variante ale standardului. - SSTL2 (Stub Series Terminated Logic for 2,5V). Necesit a: IBUF de tip diferent ial (deci se specic a VREF ), OBUF cu ie sirea push-pull (se specic a VCCO ), VT T . SSTL18 este varianta cu VCCO = 1, 8V . Blocurile I/O sunt plasate pe cele patru laturi (perimentrul) ale cipului si sunt grupate c ate dou a sau c ate patru. Fiecare IOB din aceste grupuri poate utilizat independent, pentru o transmisie pe un singur r, sau poate utilizat mpreun a cu un alt IOB din grup realiz and o pereche diferent ial a. Conectarea unui IOB la c aile de rutare ale FPGA-ului se face prin intermediul unei matrice de comutat ie, Figura 4.18-a; o pereche diferent ial a trebuie s a e totdeauna compus a din IOB-uri care sunt conectate la aceea si matrice de comutat ie. Blocurie I/O de pe ecare latur a a cipului sunt mp art ite n dou a p art i egale, ecare parte ind referit a prin termenul de banc a, deci toate IOB-urile de pe cele patru laturi formeaz a opt b anci. Tensiunea intern a de alimentare, VCCIN T , a nucleului circuitului FPGA este VCCIN T = 1, 5V ; n exteriorul circuitului, pentru comunicat ia cu alte circuite din sistem valoarea tensiunii VCCO depinde de standardul de I/O utilizat. Regula este urm atoarea: toate IOB-urile dintr-o banc a utilizeaz a aceea si valoare pentru VCCO si aceea si valoarea pentru VREF , deci de la pinii bancii respective pot exista comunicat ii cu elemente exterioare numai pe baza standardelor ale c aror tensiuni sunt compatibile cu valorile VCCO si VREF aplicate la banca respectiv a. Resursele logice ale unui IOB sunt prezentate n Figura 4.18-b, care se compun din: o pereche de elemenete de stocare plus un buer de intrare, IBUF, pentru calea de intrare si dou a perechi de elemente de stocare plus un buer TSL de ie sire, OBUF, pentru calea de ie sire (o pereche de elemente de stocare pentru intrarea n OBUF si o pereche pentru comanda TSL a OBUF). Organizarea electric a (simplicat a) a unui IOB este prezentat a n Figura 4.18-c. Un element de stocare, FF, poate congurat e ca bistabil de tip D e ca latch D activ pe palier. Semnalele de ceas, CLK1 si CLK2 , aplicate unei perechi de elemente de stocare, sunt (de regul a) defazate cu 180o , n schimb semnalul de validare ceas, CE, este acela si pentru o pereche. Este comun pentru toate cele sase elemente de stocare semnalul SR de prescriere a st arii, la fel si semnalul REV (REVerse) care prescrie elementul de stocare n starea opus a n raport cu prescrierea cu semnalul SR; polaritatea ec aruia dintre aceste semnale de control se poate alege independent (prin MUX2:1). Fiecare FF poate congurat pentru urm atoarele tipuri de funct ionare: f ar a set si reset; set asincron; reset asincron; set si reset asincron; set (PRESET) asincron; reset (CLEAR) asincron; set

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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/ie sire, IOB, pentru familia VIRTEX-II PRO: a) gruparea IOB-urilor la o matrice de comutat ie; b) resursele logice cont inute ntr-un IOB; c) structurarea (simplicat a) pentru cele trei c ai (intrare, ie sire si TSL) ale unui IOB.

588

4.6. PROIECTAREA CU FPGA

(PRESET) si reset (CLEAR) asincron. Stergerea (reset, CLEAR) este predominant a fat a de nscriere (set, PRESET). Un semnal exterior aplicat la pad este directionat la IBUF, care poate congurat cu o singur a intrara sau cu intrare diferent ial a (VREF se aplic a pe una dintre intr ari). Semnalul buerat este rutat la partea logic a (CLB-uri) e direct (I ), e dup a ce a fost sincronizat n F F1 (IQ1 ) sau F F2 (IQ2 ); pe calea prin F F -uri exist a introdus a o nt arziere programabil a (vezi explicat ia de la Figura 4.9-a). Pentru calea de ie sire, la intrarea OBUF se pot selecta de la partea logic a (CLB-uri) e direct semnalele (OD1 sau OD2 ), e acelea si semnale dar sincronizate (Q1 sau Q2 ) sau e acelea si semnale dar cu rata dubl a (Q1 si Q2 ). La OBUF se poate xa valoarea maxim a a curentului generat la ie sire si de asemenea, se poate controla valoarea pantei fronturilor semnalului la ie sire (pentru performant a de vitez a sunt necesare pante de valori ridicate, iar pentru transferuri cu putere consumat a mai mic a sunt necesare pante de valori mai mici). Semenul de control TSL (HZ/normal) pentru OBUF se obt ine de la o pereche de F F -uri n aceea si modalitate ca si obt inerea semnalului de intrare n OBUF. Pe ie sire mai sunt prezente urm atoarele elemente: diodele D1 si D2 , rezistent ele Rpu si Rpd si opt ional o celul a activ a de ment inere a nivelului pe magistral a; rolul ec aruia dintre acestea a fost explicat n Figura 4.9-a (diodele sunt protect ie la supratensiuni). Facilit a ti inovative introduse la IOB sunt: posibilitatea de control digital a impedant ei ec arui pin al unui IOB, transferuri la o rat a dubl a at at pentru calea de intrare c at si pentru calea de ie sire (aceasta este motivat ia de ce pentru calea de intrare si pentru calea de ie sire sunt necesare c ate o pereche de F F , iar pentru varianta de ie sire TSL sunt necesare dou a perechi de F F ). Transferul datelor pe intrare la o rat a dubl a, DDR (Double Data Rate). Mecanismul de obt inere a unei rate duble de transfer a datelor, n raport cu frecvent a (rata) semnalului de ceas (aplicat a deja la DDR SDRAM, vezi sect iunea 3.6.3) se bazeaz a pe utilizarea a dou a semnale de ceas CLK1 si CLK2 de aceea si frecvent a dar defazate cu 180o . In gura 4.19-a sunt prezentate structura c aii de date pentru modalitatea DDR si diagramele de semnale. Datele de intrare (DATA), aplicate la un pin I/O congurat ca pin de intrare, sosite din exterior la o rat a dubl a fat a de frecvent a de ceas din IOB, sunt stocate alternativ pe fronturile pozitive ale semnalelor de ceas CLK1 si CLK2 (decalate cu 180o ) respectiv n F F1 sau F F2 . Deci la partea logic a (CLB-uri) datele de intrare sincronizate pe fronturile pozitive ale semnalului CLK2 , IES IRE Q2 , se obt ine de la F F2 , iar cele sincronizate pe fronine de la F F1 (semnale de control turile pozitive ale semnalului CLK1 , IES IREA Q1 , se obt CE, Set/PRESET si Reset/CLEAR sunt comune pentru ambele bistabile). Transferul datelor la ie sire la o rat a dubl a. Structura c aii de date de ie sire si diagramele de semnale pentru o generare n exteriorul unui pin I/O, de la un IOB, la o rat a dubl a a datelor fat a de frecvent a de ceas din interiorul IOB sunt prezentate n Figura 4.19b. Cele dou a siruri de date DATA1 si DATA2, obt inute de la partea logic a a FPGA-ului, sunt nregistrate n F F1 respectiv F F2 pe fronturile pozitive ale semnalelor de ceas CLK1 si CLK2 (defazate cu 180o ). In multiplexorul de ie sire, DDRMUX, selectarea datelor de la cele dou a intr ari (elemente de stocare F F1 si F F2 ) se realizeaz a alternativ cu semanlele CLK1 si CLK2 . Transferul datelor la ie sire prin buer TSL la o rat a dubl a. Pentru un astfel de transfer structurarea c aii de date de ie sire si diagramele de semnal sunt prezentate n Figura 4.19-c. Organizarea poate considerat a ca ind compus a din dou a structuri identice cu cea din Figura 4.19-b, din care una comand a intrarea OBUF iar cealalt a genereaz a semnalul de control pentru trecerea OBUF din starea normal a de funct ionare n starea de nalt a impedant a , HZ, si invers. Selectarea celor dou a ie siri, ale ec arei pereche de elemente de stocare, se realizeaz a cu DDRMUX-ul respectiv utiliz and cele dou a paliere ale semnalului de ceas (semnalele specice numai pentru perechea de F F -uri care comand a intrarea buerului

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

589

CLK2
DATA Set/PRESET CE

Set/ Set/

CLK2 Q CE FF 2 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 a dubl a, DDR, n cadrul familiei VIRTEX-II PRO: a) structurare si diagrame de semnale pentru DDR pe intrare; b) structurare si diagrame de semnal pentru DDR pe ie sire; c) structurare si diagrame de semnal pentru DDR pe ie sire c and OBUF este de tip TSL.

590

4.6. PROIECTAREA CU FPGA

de ie sire s-au prexat cu litera O, iar cele specice numai pentru perechea de F F -uri care comand a intrarea de control TSL a OBUF s-au prexat cu litera T). Semnalele de control Set/PRESET, Reset/CLEAR sunt comune pentru ambele perechi de elemente F F , dar semnalele de validare ceas, T CE si DCE , sunt diferite. Semnalul de ceas CLK2 se aplic a la elementul F F2 din ambele perechi, iar semnalul de ceas defazat cu 180 , CLK1 se aplic a la cel alalt element F F1 din ambele perechi. In cazul n care ambele date obt inute de la partea logic a , TDATA1 si TDATA2, aplicate la perechea de control TSL, au valoarea H rezult a c a ie sirea OBUF este n HZ, iar n cazul c and TDATA1 si TDATA2 au ambele valoarea L rezult a la ie sirea OBUF o succesiune de date alternante ntre ODATA2 si ODATA1, cu o rat a dubl a fat a de frecvent a de ceas. C and TDATA2 = H si TDATA1 = L, pe semiperioada CLK2 = 1, CLK1 = 0, semnalul de control de la OBUF este H, deci ie sirea buerului este comandat a n HZ, iar pe celalt a semiperioad a a semnalului de ceas, CLK2 = 0 si CLK1 = 1, semnalul de control este L, In opozit ie, c and TDATA2=L si TDATA1=H ie sirea buerului este IES IRE O = ODATA1. pentru semiperioada de ceas CLK2 = 0, CLK1 = 1 ie sirea buerului este n HZ, iar pentru semiperioada CLK2 = 1, CLK1 = 0 ie sirea buerului este IES IRE O = ODATA2. Pentru aceste ultime dou a cazuri rezult a la ie sirea OBUF, e succesiuni ODATA1A, HZ, ODATA1B, HZ, ODATA1C, HZ,..., e succesiuni ODATA2A, HZ, ODATA2B, HZ, ODATA2C, HZ la o rat a dubl a fat a de frecvent a de ceas. Controlul digital al impedant ei pe terminale. Un circuit al familiei VIRTEXII PRO implantat pe o plac a de circuit imprimat este conectat cu celelalte circuite ale sistemului prin sutele de pini I/O. Transferul semnalelor ntre aceste circuite, e pe un singur r, e diferent ial, sub unul din standardele I/O amintite anterior, trebuie realizat cu o integritate c at mai ridicat a. O astfel de integritate a semnalului se poate obt ine numai dac a n punctele de terminat ie (surs a/emisie, recept ie/destinat ie) se face o adaptare cu impedant a caractaristic a, Z0 , a liniei/trasei de pe placa de circuit imprimat, vezi sect iunea 1.6.2.2. Fizic, o astfel e adaptare se realizeaz a printr-o egalizare a rezistent ei echivalente a divizorului de tensiune sau a rezistent ei echivalente serie din punctul de terminat ie (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 rezistent e de adaptare. Evitarea acestei multitudini de rezistent e, n cadrul VIRTEX-II PRO, s-a realizat prin conectarea n exteriorul cipului, pentru ecare dintre cele opt b anci de blocuri I/O, doar a c ate dou a rezistent e de referint a , RREF (cu abateri de sub 1%), deci n total pot maxim opt perechi de rezistent e de referint a . Una din rezistent ele de referint a ale perechii de la o banca se conecteaz a ntre pinul I/O notat cu VRP si tensiunea VCCO , iar cealalt a rezistent a de referint a se conecteaz a ntre VRP si mas a, Figura 4.20-c. Rezistent ele de referint a se aleg de valoare egal a sau valoare dubl a a impedant ei caracteristice, deci RREF = Z0 sau RREF = 2Z0 . La ecare banc a exist a o circuistic a pentru controlul digital al impedant ei, DCI (Digital Controlled Impedance), care poate controla/stabili la ecare IOB impedant a de terminat ie la valoarea Z0 . Controlul const a n modicarea impedant ei de ie sire a OBUF sau a unor rezistent e interne existente la ecare pad I/O, care sunt conectate unele la VCCO altele la mas a. Fizic, modifcarea valorii rezistent ei se realizeaz a prin conectarea a mai multe sau mai put ine din aceste rezistent e interne, prin intermediul unor comutatoare (tranzistoare de trecere), p an a c and rezistent a echivalent a de terminat ie devine egal a sau jum atate din R REF . Consider and cele dou a modalit a ti de funct ionare (surs a/emisie sau recept ie/destinat ie) ale unui IOB se disting urm atoarele trei cazuri/modalit a ti de adaptare a terminat iei,Figura 4.20. - Terminat ia pe surs a (pentru emisie). Prin DCI se modic a impedant a intern a de ie sire a OBUF, e la R = RREF = Z0 , Figura 4.20-a, e la R = RREF /2 = Z0 , Figura 4.20-b. - Terminat ia pe ie sire (IOB este emit a tor); n acest caz DCI nu modic a impedant a intern a a OBUF ci modic a rezistent e interne (din cip). Tensiunea pe terminat ia de ie sire, VT T , poate ajustat a e la tensiunea VCCO (aplicat a printr-o rezistent a conectat a la VCCO ,

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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 impedant ei ntr-un IOB din familia VIRTEX-II PRO: a,b) controlul terminat iei prin impedant a de ie sire a OBUF pentru RREF respectiv RREF /2; c,d) controlul terminat iei de ie sire pentru o tensiune de VCCO respectiv de VCCO /2; e,f) controlul terminat iei de intrare pentru o tensiune de VCCO respectiv de VCCO /2.

592

4.6. PROIECTAREA CU FPGA

valoarea rezistent ei se modic a p an a se realizeaz a relat ia R = RREF = Z0 ) Figura 4.20-c, e la tensiunea VCCO /2 (aplicat a printr-un divizor ntre VCCO si mas a, ale c arui rezistent e se modic a p an a se realizeaz a relat ia R = RREF = 2Z0 ), Figura 4.20-d. - Terminat ie pe intrarea unui IBUF; la cealalt a intrare a buerului se conecteaz a o tensiune de prag VREF a c arei valoare depinde de standardul I/O sub care se realizeaz a comunicat ia. S i de data aceasta se poate realiza tensiunea VT T pe terminat ia de intrare pentru VCCO sau VCCO /2. Pentru terminat ie la VCCO valoarea rezistent ei se modic a p an a se realizeaz a relat ia R = RREF = Z0 , Figura 4.20-e, iar pentru terminat ie la VCCO /2, Figura 4.20-f, rezistent ele divizorului se modic a nc at s a se realizeze relat ia R = RREF = 2Z0 (rezistent a Thevenin echivalent a este RT hev = (2Z0 2Z0 )/(2Z0 + 2Z0 ) = Z0 , vezi Figura 1.77-b). 3. Resursele de interconectare. Resursele de interconectare la VIRTEX-II PRO sunt, n fond, o extensie si o mbog a tire a resurselor de interconectare de la XC4000 (Figura 4.15 si 4.16). Aceste resurse sunt mbog a tite pe l ang a liniile de dou a lungimi si cu 120 de linii vericale si 120 de linii orizontale (pentru ntregul cip) de sase lungimi (sixtupl a); iar liniile de conectare direct a ale unui CLB sunt imbog a tite cu conect ari directe pe orizontal a, vertical a si diagonal a cu CLB-uri vecine. Extensia resurselor de conectare apare si prin introducerea unor noi trasee (dedicate) n cadrul unui CLB, n modul urm ator, Figura 4.17: - 4 linii de magistral a TSL care conecteaz a CLB-urile de pe o linie orizontal a; - 2 linii dedicate pentru propagarea transportului, Cout (c ate una pentru ecare coloan a format a din c ate dou a sect iuni S0 , S1 si S2 , S3 ); - 1 linie dedicat a pentru propagarea sumei de produse (SOPIN, SOPOUT); - 1 linie dedicat a pentru registrul de deplasare (SHIFTIN, M15 ) De asemenea, ecare element CLB sau IOB prezint a o matrice de comutat ie proprie prin intermediul c areia ecare dintre aceste elemente este legat la matricele de conexiuni programabile (de tipul celor din Figura 4.15 si 4.16) de pe suprafat a cipului. Dar elementul inovator pentru resursele de interconectare este interconectarea activ a, adic a existent a a c ate un buer pentru toate semnalele care trec prin interconect arile programabile (interconect ari buerate). Realizarea c ailor de rutare prin intermediul interconect arii buerate determin a ca nt arzierile pe aceste c ai de rutare s a e, relativ, neafectate de nc arcarea semnalelor (fan-out).

Matrice de port i logice programabile prin vias-uri, VP GA. Pentru circuitul FPGA, acest cameleon al lumii circuitelor integrate, at at de preferat pentru procesul de dezvoltare de sisteme, programabilitatea pe baza unei memorii RAM de ,, ,, congurare constituie m arirea si c aderea . M arirea const a n faptul c a a adus ,, hardul la nivelul de programabilitate egal cu al softului iar c aderea c a int arzierile de propagare sunt cu mult peste cele obt inute la programarea prin mascare. Solut ia? A ap arut o serie de circuite care nlocuiesc part ial sau total programabilitatea celulelor SRAM (at at pentru xarea cont inuturilor din LUT-uri c at si pentru conexiunile programabile cu tranzistoare de trecere) cu o programabililtate pe baza unor matrice de vias-uri realizate n straturile metalizate pentru interconexiuni. Evident, c a pentru programarea prin vias-uri proiectantul trebuie s a transmit a la turn atoria de siliciu, nainte de manufacturarea conexiunilor metalizate (vezi Figura 4.5), care din vias-urile din matricea de pe ecare strat metalizat strat izolator se realizeaz a si care se elimin a. Odat a programate si realizate aceste vias-uri din matrice, circuitul nu mai poate modicat n acest sens, doar dac a mai exist a n circuit si LUT-uri

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II


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 a de celul a programabil a prin vias-uri b), c), d), VPGA.

pe baz a de celule SRAM si conexiuni programabile pe baz a de tranzistoare de trecere care se programeaz a de beneciar. Aceste circuite hibride care se realizeaz a at at prin programare prin mascare c at si prin programare printr-un bitstream sunt referite 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 n Figura 4.21. O reprezentare simplicat a a unei CLB, care cont ine 3 un LUT pentru o funct ie de trei variabile, fj , 0 j 255, este n Figura 4.21-a, iar varianta de realizare a aceleia si funct ii dar pe baz a de MUX2:1 este dat a n Figura 3 ii funct iei fj (bit ii nscri si n LUT). Deoarece 4.21-b; dj0 , dj1 , ..., dj7 sunt coecient ie sirile din primul nivel de multiplexoare pot avea valori care apart in numai mult imii {0, 1, C, C }, aceste valori pot produse prin matricea de conexiuni (vias-uri programate) ca n Figura4.21-c (nivelul de 4MUX2:1 corespunz ator variabilei C este realizat prin programarea matricei de vias-uri, deci se elimin a acest nivel). La nivel

594

4.7. PROIECTAREA PENTRU TESTABILITATE

de tranzistor (port i de transmisie) implementarea celulei logice de tip VPGA este cea din Figura 4.21-d. Celula de tip VPGA obt inut a este mai rapid a dec at celula FPGA pe baz a de SRAM deoarece are un nivel logic mai put in n arborele LUT, iar conectarea la variabilele funct iei se face printr-o conexiune metalizat a de tip via care este mai rapid a dec at conexiunea, cu rezistent a destul de ridicat a, a unui tranzistor de trecere de la FPGA. VPGA reprezint a un compromis ntre tehnologia FPGA si tehnologia cu celule standard, customiz and aplicat ia printr-o programare prin mascare (total sau part ial) a rut arii si a implement arii funct iilor logice n locul program arii prin bitstream a tranzistoarelor de trecere si a LUT-urilor. In raport cu tehnologia cu celule standard, tehnologia VPGA realizeaz a: un cost mai sc azut, deoarece nu sunt necesare toate etapele de mascare ale procesului (se elimin a cele pentru procesarea componentelor diferite deoarece de data aceasta toate componentele sunt identice) si datorit a regularit a tii structurii; o suprafat a de siliciu si un timp de propagare comparabil. In raport cu tehnologia FPGA: pret ul de cost este mult mai sc azut (nu si pentru serii foarte mici!); un timp de propagare mult mai bun, dar n schimb se diminueaz a mult exibilitatea (recongurabilitatea, vezi Figura 4.26-c) n proiectare. Un tip de celul a, n acest sens, care are at at LUT-uri c at si programabilitate prin vias-uri este cea conceput a si produs a de rma eASIC.

4.7

PROIECTAREA PENTRU TESTABILITATE

Testarea/vericare funct ionalit a tii unui circuit digital se face prin aplicarea unor semnale (vectori) de intrare si observarea semnalelor de ie sire care se compar a cu valorile a steptate de semnale; sau, altfel, pentru a obt ine anumite valori pe ie sire se comand a intrarea cu un anumit set de vectori de test. De fapt, acest proces se reduce la realizarea unor act iuni de control a setului de vectori de test si de observare ( si analizare) a setului de valori obt inute la ie sire. Aceastora le corespund dou a not iuni n teoria sistemelor, cea de controlabilitate si cea de observabilitate, not iuni ce vor denite n continuare. Denit ia 4.1 Controlabilitatea st arilor este complet a pentru un sistem dac a pentru oricare stare a sa q (k0 T ), din momentul k0 T exist a o succesiune de vectori de intrare X (kT ), k = k0 , k1 , ..., kN 1 care realizeaz a tranzit ia sistemului n oricare stare q (kN ), ntr-un num ar nit de tacte kN > k0 . Denit ia 4.2 Controlabilitatea ie sirilor este complet a pentru un sistem dac a din oricare moment de timp k0 T exist a o succesiune de vectori de intrare X (kT ), k = k0 , k1 , ..., kN 1 dup a care ie sirea atinge valoarea Y (kN ), ntr-un num ar nit de tacte kN k 0 . Denit ia 4.3 Un sistem este total controlabil dac a este complet controlabil pentru stare si ie sire pentru oricare kN k0 . Dual a not iunii de controlabilitate este not iunea de observabilitate. Denit ia 4.4 Un sistem este complet observabil dac a oricare stare q (k 0 T ) din momentul de timp k0 T , poate determinat a prin cunoa stera setului de vectori

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

595

de intrare X (kT ) si observarea ie sirii Y (kT ), k 0 k < kN , ntr-un num ar (kN ) nit de tacte. S i este total observabil dac a este complet observabil pentru oricare k 0 si oricare kN > k0 . ,, Un circuit combinat ional trece testul dac a ie sirea sa este corect a pentru tot i cei 2n vectori de test aplicat i pe intrare. Un circuit logic secvent ial, care are 2 k st ari, necesit a, teoretic, aplicarea a c ate 2n vectori de test pe intrare pentru ecare stare, deci n total 2n+k teste (toate elementele produsul cartezian X Q); ceea ce uneori duce la un consum de timp/calcul inacceptabil. Se poate reduce timpul te testare, prin eliminarea unui num ar de teste, dac a se exploateaz a anumite particularit a ti ale circuitului. Practic, pentru testare se utilizeaz a punctele de intrare si ie sire din circuit si eventual puncte interne de test, la un sistem realizat pe o plac a de circuit imprimat sau la un circuit implementat cu componente discrete. La circuitele integrate punctele de test se reduc n exclusivitate la pini. Pentru circuitele VLSI, cu sute de terminale si aplicare prin tehnologie de lipire pe suprafat a, SMT (Surface Mount Technology), cu circuite pe ambele p art i ale pl acii de circuit imprimat, accesul la tot i pinii necesari pentru procesul de testare devine o problem a. Pentru a elimina aceast a problem a si a u sura controlabilitatea si observabilitatea, pe care se bazeaz 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 put ini pini speciali, maxim cinci, dar cu tot acest num ar redus de pini accesibili se pot accesa o mult ime de puncte din interior care nu au ie sirea direct a la un pin I/O. In acest sens, n continuare, se va prezenta n ce const a o proiectare pentru testabilitate si apoi, standardul care descrie DFT pentru circuitele integrate. Pentru un automat, implementat ca un circuit integrat autonom, exist a acces doar la pinii s ai care sunt intr arile principale, IP, si ie sirile principale, OP, bit ii cuv antului de stare zn1 , zn2 , ..., z1 z0 nu sunt accesibili, starea este o m arime intern a a automatului. Se pot explora (scana) si bit ii st arii interne dac a se realizeaz a, n acest sens, un traseu de explorare (scan path) n interiorul automatului la registrul de stare, Figura 4.23-a. Acest traseu este format din celulele registrului de stare c arora li se modic a put in structura n scopul obt inerii a celor patru facilit a ti ale unui registru 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 a scan este, n fond, un bistabil D, similar cu cel din Figura 3.80-a, care n funct ie de semnalul de selectare TMS (Test Mode Selection) poate multiplexa intrarea D, e ntr-o intrare paralel a, e ntr-o intrare serie TDI (Test Data In) de la celula scan anterioar a; pentru regimul normal, TMS = 0, celula scan se ncarc a paralel, iar pentru regimul de testare, TMS = 1, celula se ncarc a serie. Un grup de celule scan pot forma e un registru paralel, cu nc arcare pe semnalul de ceas CLK al sistemului, e un registru serie, cu deplasare pe semnalul de ceas de testare TCLK; sunt necesare dou a semnale de ceas deoarece un registru de deplasare necesit a o frecvent a mai mic a TT CLK > TCLK . Aceast a celul a de registru este completat a pe ie sire cu un latch, astfel nc at n registru s a poat a ment inut la ie sire un cuv ant (paralel) n timp ce alt cuv ant, sau chiar cuv antul stocat n latch-urile pentru ie sirea paralel a a registrului, este deplasat n registru, pe semnalul de ceas TCLK, dinspre intrarea TDI spre ie sirea de date serie, TDO (Test Data Output). Traseul scan, pentru automatul cu un cuv ant de stare de trei bit i z 2 z1 z0 , din Figura

596

4.7. PROIECTAREA PENTRU TESTABILITATE

Intrari principale

Iesiri principale

IP z0 CLC z1 z2

OP w0 Celula scan Celula scan Celula scan TDO

Pad

CLC 2

w1

w2

TMS

sut ut s usus

CLC 4

|}t }t | }|}|

~t ~t ~t t ~ t ~ t ~ ~~


3 celule scan 2 celule scan

CLC 1

xt xtyxyx vt vtvwvw

TDI

CLC 3

a)

TCLK,TMS TDI

2 1

Registrul de stare

Canale de rutare

CLC 6 c)

z{t z{t {t z {t z {z{z

TDO

3 celule CLC 5 scan

latchuri

Iesiri paralele

Celula scan

Iesire paralela

latch TMS TDI TCLK CLK b) TDO TDI Intrare serie 1 Iesire serie
Intrare paralela

N1

N2

Intrari paralele

2 1 TMS, TCLK

CLK TDO

5 CLC 2 + CLC 3 4 CLC 4 + CLC 5

IP

CLC 1

CLC 6

OP

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 pozit ion ari a punctelor de test pe un layout; d) detalierea traseului scan pentru circuitul de la gura (c).

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

597

4.23-a, este format din trei celule scan, interconectarea de tip serie dintre celule este desenat a cu linie ngro sat a. In ecare moment se poate citi starea automatului: se trece n modul test, TMS = 1, si prin aplicarea a trei tacturi ale semnalului TCLK se obt ine serie, pe ie sirea TDO, valoarea cuv antului de stare z 2 z1 z0 (observabilitate). De asemenea, in ecare moment se poate injecta o stare n felul urm ator: se trece n modul de test TMS = 1, cuv antul de stare z2 z1 z0 se aplic a la intrarea serial a TDI pe durata a trei impulsuri de ceas (controlabilitate). La o proiectare pentru testabilitate o celul a sau grupuri de celule scan vor plasate n interiorul circuitului integrat, n punctele de testare, ca n Figura 4.23-c. Metoda traseului scan se bazeaz a pe faptul c a orice circuit digital poate privit ca ind format din blocuri de circuite combinat ionale interconectate prin elemente de stocare (latchuri, bistabile), Figura 3.76-a. Dac a aceste elemente de stocare sunt de tipul celul a scan, prin proiectare se poate realiza ca toate s a e celule scan, atunci c and circuitul este trecut n regim de test, TMS = 1, poate s a formeze un registru de deplasare. In aceast a abordare, pentru circuitul cu layoutul de principiu din Figura 4.23-c, 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 ie sirea TDO, pe durata a opt semnale de ceas TCLK, sau n ecare punct de test poate nscris ao valoare logic a prin aplicarea pe intarea serie TDI, a cuv antului format din opt valori binare, pe durata a opt semnale de tact. Proiectarea circuitelor VLSI pentru testabilitate poate utiliza standardul IEEE 1149. (Boundary-Scan Test) elaborat n 1990 si apoi completat cu ecare variant a lansat a. Recent a fost introdus standardul IEEE 1532 pentru dispozitivele care pot congurabile/programabile n sistem, standard ce este compatibil cu 1149. Arhitectura suportului standardului IEEE 1149.1 pus a la dispozit ia proiectantului pentru DFT este prezentat a (simplicat) n Figura 4.23-a. Fiecare pin I/O al circuitului in,, tegrat este inzestrat n interior cu o celul a scan, acestea sunt unite ntr-un registru scan (boundary register); acest registru scan controleaz a si observ a activitatea la pinii I/O ai circuitului. Circuitului integrat, pe l ang a pinii proprii I/O mai trebuie s a i se adauge patru pini pentru semnalele TCLK, TDI, TDO, TMS; optional este si al cincelea pin pentru un semnal de resetare, TRST L. Cuvintele serie introduse pe intrarea TDI pot cuvinte dat a care cont in date ce se ncarc a serie n registrul scan sau pot cuvinte intstruct iune care se ncarc a serie n registrul de instruct iuni (care are o structurare ca si registrul scan). Exist a un automat (ASM cu 16 st ari) care, n funct ie de valoarea semnalului TMS aplicat din exterior, genereaz a n ecare stare semnale pentru procesul de decodicare a instruct iunii care a fost nc arcat a n registrul de instruct iuni. In funct ie de cuv antul specic al instruct iunii si de starea prezent a a automatului, pe durata ec arui semnal TCLK, se genereaz a semnalele de control (TMS 0 ,TMS1 , . . . , TMSN 2 , TMSN 1 ), care prin aplicare la registrul scan xeaz a modul de funct ionare a ec arei componente; deci ecare celul a scan poate s a si modice funct ionarea de la tact la tact n funct ie de instruct iunea primit a n registrul de instruct iuni. De fapt, aceast a aducere succesiv a a instruct iunilor n registrul de instruct iuni, decodicarea si execut ia instruct iunii (gener and comenzi la registrul scan) constituie o funct ionare de procesor, iar suportul circuistic introdus de standard nu este altceva dec at un procesor rudimentar/simplicat. Testarea circuitului integrat, generarea semnalelor TCLK, si colectarea semnalului TDO, se realizeaz a n exterior pe un TMS, TDI, TRST L

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 a ca suport DFT ntr-un circuit integrat; b) adaptarea celulelor din registrul scan n funct ie de modul de utilizare al unui pin.

calculator echipament de testare (tester). Programul de testare const a n secvent e de cuvinte intruct iuni si secvent e de cuvinte dat a care se introduc serial, prin pinul TDI, n suportul hardware (registrul de instruct iuni, registrul scan) inculs n circuitul integrat. Pentru dezvoltarea programelor de testare, pe echipamentul exterior de testare, exist a limbaje specializate n acest sens, BSDL (Boundary-Scan Decription Language). Un alt element necesar n suportul circuistic implementat pe circuitul integrat este registrul de scurtare (bypas). Acest registru, compus dintr-o singur a celul a scan c and este selectat, reduce (prin conectarea intr arii TDI la ie sirea TDO) la un singur tact num arul de tacturi de deplasare ntre TDI si TDO.

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

599

Monitorizarea unui pin al circuitului printr-o celul a scan se adapteaz a n funct ie 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 a la celula scan ata sat a ca intrare paralel a iar ie sirea paralel a (de la latch) se aplic a la circuitele sistemului integrat. Iar pentru un pin utilizat numai pentru ie sire sensul de aplicare al semnalelor se inverseaz a. Pentru un pin de ie sire tip TSL sunt necesare dou a celule scan, iar pentru un pin cu transfer bidirect ional sunt necesare trei celule (structuri mai complexe pot include aceste funct ion ari ntr-o singur a celul a scan). La circuitele CPLD, FPGA care prezint a pe perimetru exterior blocuri I/O congurabile, n care exist a celule de stocare, aceste celule de stocare pot proiectate astfel nc at s a permit a si o congurare de celul a scan ce poate inclus a intr-un (boundary) registru scan.

4.8

COMBINAT IONAL SAU SECVENT IAL?

Cu suportul circuistic prezentat, n acest capitol, pot implementate at at circuite combinat ionale c at si circuite secvent iale. O funct ie logic a, aritmetic a sau de comunicat ie poate implementat a pe un circuit combinat ional sau pe un circuit secvent ial; ntre cele dou a modalit a ti se poate realiza o conversie n ambele sensuri, at at de la combinat ional la secvent al c at si de la secvent ial la combinat ional. Dar pentru decizia combinat ional/secvent ial proiectantul trebuie s a aib a un criteriu; n aceast a sect iune se va explica ce ar putea considerat un astfel de criteriu. Pentru aceasta, ntre cei trei parametrii ai unui circuit implementabil: dimensiunea, S (n), ad ancimea, D(n), si complexitatea C (n), s a analiz am, pentru 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 si ad ancime constante, D(n) O(n) si S (n) O(n), poate transformat ntr-un circuit echivalent av and ad ancimea n O(log n) si dimensiunea n O(n ) cu (1). Pentru demonstrarea teoremei se va considera arborele degenerat prezentat n Figura 4.24-a n care ecare CLCi , i = 1, 2, . . . , n, este un circuit combinat ional cu dou a intr ari, o ie sire si aceea si structur a, iar num arul n este o putere a lui 2; aceast a restrict ionare nu reduce generalitatea teoremei (ecare circuit CLC i ar putea diferit, prezent and k intr ari si m ie siri, de exemplu). Succesiunea demonstrat iei reect a si modalitatea practic a de transformare a circuitului. Arborele degenerat se sect ioneaz a n doi subarbori primul cu n/2 circuite,CLC 1 CLCn/2 , si cel de al doilea tot cu n/2 circuite, CLCn/2+1 CLCn . Ie sirea primului subarbore se aplic a pe intrarea de selectare a unui MUX2:1 (MUXE), iar pe intr arile de date ale multiplexorului se aplic a c ate o copie a celui de al doilea subarbore. Una dintre intr arile celui de al doilea subarbore (din structura nesect ionat a) este ie sirea yn/2 care poate avea, indiferent de valorile aplicate variabilelor de intrare x0 , x1 , . . . , xn/2 , de la primul subarbore, e valoarea 0, e valoarea 1. Pentru ca funct ionarea circuitului s a nu se modice, prin aceast a sect ionare, se aplic a la intr arile corespunz atoare lui yn/2 de la cele dou a copii ale celui de-al doilea subarbore, la una valoarea 0 iar la cealalt a valoarea 1. Evident c a, atunci c and primul subarbore genereaz a la ie sirea sa valoarea 0 (yn/2 = 0) se va selecta la ie sirea multiplexorului copia celui de al doilea subarbore care are pe intrare valoarea 0, respectiv se va

600
x0 x1 CLC1 y1
1

4.8. COMBINAT IONAL SAU SECVENT IAL?

x0 x1 x2 CLC1 y1
1

"0" x(n/21)
CLC(n/2+1)

"1" x(n/21)
CLC(n/2+1)

CLC2 y2
1

x2

y(n/2+1)

CLC2 xn/2 CLCn/2 y2


1

y(n/21) n/2 circuite

yn/2

y(n/21) x(n/2+1)

xn/2
1

y(n/2+1)

y(n1)

xn

y(n1)

xn

CLCn/2

CLCn
1

CLCn
1

CLC(n/2+1)

y(n/2+1)

n/2 circuite

a)

0 yn/2 xn

MUX 2:1
yn
1

y(n1)

CLCn
1

yn

b)

Figura 4.24 Conversia unui circuit de la ad ancimea n O(n) ntr-un circuit cu ad ancime n O(log n) prin aplicarea teoremei lui Spira: a) circuitul init ial cu D(n) O(n); b) circuitul obt inut, cu ad ancime njum at a tit a, dupa prima sect ionare (procesul de njum at a tire a ad ancimii poate continua).

selecta copia celui de al doilea subarbore care are pe intrare valoarea 1 c and y n/2 = 1. Ad ancimea circuitului rezultat s-a njum at a tit iar dimensiunea a crescut cu jum atate din cea a arborelui de intrare plus un MUXE. Celor trei subarbori rezultat i dup a prima sect ionare (i = 1) li se poate aplica ec aruia, similar o nou a sect ionare (i = 2) pe la jum atatea circuitelor CLC componente obt in andu-se din nou aproximativ o njum at a tirea ad acimii circuitului rezultat; num arul de sect ion ari posibile succesive este i = log 2 n, deci o ad ancime D(n) O(log n). De ecare dat a c and se aplic a o sect ionare num arul de circuite CLC i se multiplic a cu 1,5 si se adug a un num ar de 3i circuite MUXE, n consecint a dimensi2 unea circuitului ram ane n O(n ). Pentru cazul c and CLCi sunt cu ie siri multiple, de exemplu un num ar de m ie siri, multiplexarea se realizeaz a cu m MUX2m :1. Dup a prima sect ionare cele m ie siri ale CLCn/2 se aplic a la cele m intr ari de selectare de la ecare dintre cele m multiplexoare 2m : 1. Pentru copia subarborelui al doilea, ale c arui ie siri sunt aplicate la intr arile de date de ordin i, 0 i 2m 1, de la cele m multiplexoare, la intrarea sa se aplic a cuv antul care este codul binar natural al num arului i.

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

601

Exemplul 4.5 [Stefan 00] Circuitul detector de paritate din Figura 4.25-a s a i se 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)

x0 x1

x2 x3

0 XOR y

y MUX 2:1 y

d)

e)

f)

Figura 4.25 Exemplu de aplicare a teoremei lui Spira pentru conversia unui structuri serie de generator de paritate pentru un circuit de patru bit i ntr-o structur a paralel a (pe baza de XOR2)
Solut ie: Arborele degenerat format din 3 port i XOR este sect ionat dup a prima poart a; primul subarbore format din poarta XOR, notat a cu 1, se aplic a la intrarea de selectare S a multiplexorului 2:1, iar cele dou a copii ale celui de-al doilea subarbore, format din port ile XOR notate cu 2 si 3, se aplic a la intr arile de date 0,1 ale multiplexorului, Figura 4.25b. Copia celui de-al doilea subarbore care are pe intrare valoarea 1 se transform a ntr-o singur a poart a NXOR, notat a cu (2,3) pentru c a 1 x2 x2 x3 = x2 x3 , iar copia care are pe intrare valoarea 0 se transform a ntr-o singur a poart a XOR, notat a cu (2,3) pentru c a: 0 x2 x2 x3 , Figura 4.25-c si d. Operatorul de inversare de la NXOR mpreun a cu structrura MUX2:1, Figura 4.25-e, formeaz a o structur a de XOR, obt in andu-se n nal, Figura 4.25-f; structur a paralel a de detector de paritate pentru cuvinte de patru bit i (vezi Figura 2.19-c si d). Suger am, ca exercit iu, aplicarea teoremei lui Spira pentru conversia arborilor degenerat i format i din: 1 sapte port i XOR (detector de paritate pentru cuvinte

602

4.8. COMBINAT IONAL SAU SECVENT IAL?

de un byte, Figura 2.19-b); 2 nserierea a sapte port i AND2; 3 nserierea a sapte port i OR2.

,, ,, Teorema lui Spira ne arat a c a la conversia serialului n paralel scade timpul ,, (ad ancimea) dar cre ste dimensiunea. Dar cum se manifest a acest balans c and se trece de la secvent ial la combinat ional si invers ? La un circuit combinat ional timpul de procesare T (n) se va considera proport ional cu ad ancimea D(n). Un bloc de stare ntr-o organigram a ASM n care se comut a n aceea si stare de n ori, adic a se parcurge repetitiv o bucla de n ori, cum este prezentat n Figura 2.16-a poate modelat printr-o nseriere de n celule identice obt in andu-se un circuit combinat ional, 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 combinat ional (b) cu S (n) O(n) si D(n) O(n). Conversia invers a este posibil a dac a se poate structura CLC1 si CLC2 conform ret elei din (b). S a consider am cazul general, Figura 4.26-a, al unui automat Mealy care calculeaz a funct ia de transfer f : (X Q) Y pe circuitul combinat ional CLC 2 si funct ia de tranzit ie g : (X Q) Q pe cicruitul combinat ional CLC 1 . Aplic and la intrare, sincron 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 a respectiv din st arile q (t 0 ), q (t1 ),. . . , q (ti ), . . . , q (tn ) gener and ie sirile y (t0 ), y (t1 ), . . . , y (ti ), . . . , y (tn ); cu x(ti ) X , q (ti ) Q si y (ti ) Y . Acest automat rezolv a problema prelucr arii sirului de

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

603

intrare x(ti ) ntr-un timp O(n) pe un circuit CLC2 de dimensiune DCLC2 = O(1), iar pentru generarea st arii urm atoare (semiautomat) pe circuitul CLC 1 de dimensiune ntr-un timp O(1). Dar aceea si prelucrare a sirului de intrare DCLC1 = O(1) tot x(ti ), i = 0, 1, . . . , n se poate realiza prin nserierea de n ori a p art ii combinat ionale a automatului (CLC1 + CLC2 ) ca n Figura 4.26-b. La primul circuit combinat ional se aplic a x(t0 ) si starea init ial a q (t0 ), se genereaz a ie sirea y (t0 ) si starea viitoare q (t1 ), la al doilea circuit combinat ional se aplc a x(t 1 ) si starea q (t1 ), se genereaz a ie sirea y (t1 ) si starea urm atoare q (t2 ). Astfel, din aproape n aproape la aplicarea valorilor intr arii x(ti ) si a st arii q (ti ) se calculeaz a ie sirea y (ti ), deci circuitul combinat ional pentru sirul de valori de intrare aplicat la succesiv, genereaz a pe ie siri aceea si succesiune pe care o realizeaz a si circuitul secvent ial de la care am pornit. La circuitul combinat ional ,, obt inut prin desf a surarea p art ii combinat ionale a automatului, care se compune prin nserierea de n ori a circuitului combinat ional respectiv, at at ad ancimea D(n) c at si dimensiunea S (n) sunt n O(n). ,, Circuitul combinat ional obt inut prin desfa surarea p art ii combinat ionale a automatului, prin aplicarea teoremei lui Spira, poate convertit ntr-un circuit combinat ional cu dimensiunea D(n) O(n ) si ad acimea D(n) O(log n). Prin conversia automatului, cu o ad acime a p art ii combinat ionale n O(1) si un timp de procesare n O(n), deci un produs S (n) T (n) = O(n), ntr-un circuit combinat ional, echivalent din punct de vedere al prelucr arii, se obt ine o dimensiune n O(n ) si o ad ancime n O(log n), deci n cel mai bun caz un produs S (n) T (n) = O(n log n). Conversia invers a, de obt inere a unui circuit secvent ial dintr-un circuit combinat ional, este posibil a dac a se poate structura partea combinat ional a a automatului conform ret elei din Figura 4.26-b. Pentru proiectant criteriul de decizie n alegerea combinat ional sau secvent ial poate produsul ad ancime dimensiune, D(n) S (n), al circuitului, care este proport ional cu produsul dintre timpul de procesare si dimensiune, T (n) S (n). Costul unui circuit, n general, este proport ional cu dimensiunea S (n), (vezi sect iunea 2.3 si 4.1), iar performant a ( n general viteza de procesare) este invers proport ional a cu T (n), deci produsul T (n)S (n) poate considerat ca ind raportul cost/performant a . Produsul T (n) S (n) poate utilizat ca un criteriu n decizia secvent ial/combinat ional, varianta de circuit care asigur a o valoare mai mic a pentru acest produs poate selectat a deoarece realizeaz a un cost mai mic pentru unitatea de performat a . Balansul dintre S (n) si D(n) este exprimat de relat ia 2.9 care arat a c a m arirea performant ei (vitezei) de un num ar de ori va determina cre sterea costului cu un mai mare num ar! In Tabelul 4.2 sunt colectate caracteristicile de circuit D(n), T (n) pentru circuite sumator si circuite multiplicator n variante combinat ionale si secvent iale. Circuitul multiplicator secvent ial (pozit ia 5 din tabel) nu a fost prezentat n aceast a carte; acest circuit utilizeaz a algoritmul clasic de nmult ire. Se adun a succesiv produsele part iale obt inute prin nmult irea de nmult itorului cu c ate o cifr a a nmult itorului, dar ecare produs part ial nainte de adunare se deplaseaz a cu un rang spre st anga. Inspect and tabelul se constat a c a produsul S (n) T (n) (raportul pret /performant a ) este mai bun la variantele cu implementare secvent ial a dec at la variantele cu implementare combinat ional a at at pentru sumatoare c at si pentru multiplicatoare. In concluzie, apare c a din punct de vedere al raportului pret /performant a sunt mai avantajoase ,, circuitele mai lente! Un circuit n acest sens care ncetine ste timpul de procesare dar n schimb cre ste utilizarea componentei combinat ionale si care poate suport

604

4.8. COMBINAT IONAL SAU SECVENT IAL?

Tabelul 4.2 Valori ale produsului S (n) T (n) pentru variante de circuite implementate combinat ional si secvent ial TIPUL DE CIRCUIT Sumator cu transport progresiv, STP (sect iunea 2.5.2.1) Sumator cu transport anticipat, STA (sect iunea 2.5.2.1) Sumator serial cu transport succesiv (secvent ial) (problema P3.44 si P3.76) Multiplicator matriceal (sect iunea 2.5.3.1) Multiplicator secvent ial 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 at at pentru combinat ional c at si pentru secvent ial, este FPGA-ul utilizat cu timp multiplexat. Circuitul FPGA cu timp multiplexat, TM-FPGA. Modalit a tile de organizare ale unui circuit FPGA sunt prezentate n Figura 4.10 si dintre acestea varianta ,, de organizare de tip matriceal este reluat a n Figura 4.27-a. In spatele ec arui punct programabil (din CLB-uri sau resurele de interconectare) exist a c ate o celul a memorie (latch), a c arei valoare nscris a determin a programarea punctului respectiv; totalitatea acestor celule de memorie constituie memoria de recongurare a circuitului FPGA, aceast a memorie va referit a ca plan de memorie de recongurare sau context. Un circuit TM-FPGA prezint a distribuit, n ecare dintre punctele de programare nu o singur a celul a de memorie (latch) ci un num ar de k celule de memorie de recongurare care, toate, la nivelul ntregii suprafet e a circuitului, pot privite c a formeaz a k plane de memorie de congurare (k contexte), Figura 4.27-c. La un moment dat al funct ion arii circutului doar cont inutul unui singur plan contextul curent comand a punctele de programabilitate. Schimbarea unui plan de memorie cu un altul, adic a modicarea funct iei realizat a de c atre FPGA (prin act iunea 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 nc arcat, din exterior, n timp ce FPGA-ul funct ioneaz a sub programarea (sub informat ia) din unul din planele de memorie (contextul curent). Organizarea planelor de memorie de recongurare este prezentat a n Figura 4.27-d. Cont inutul unui plan de congurare i, i i k , se aplic a la liniile de bit (sub forma unui cuv ant foarte lung > 10 5 bit i) si acest cont inut se va nscrie n celulele de memorie M ale planului n momentul c and se activeaz a semnalul de selectare, Wi . Citirea unui plan de memorie si transformarea acestuia n context curent se face prin activarea liniei de cuv ant respective, W i ; prin tranzistoarele de trecere, comandate prin activarea liniei Wi , cont inutul celulelor de memorie se aplic a la liniile de bit, iar pe frontul activ al semnalului de ceas, CLK , se nscrie n latch-urile D care xeaz a noul context. O alt a modicare a unui circuit FPGA, pentru a transformat ntr-un circuit

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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)

CLBuri si resursele de interconectare

la CLBuri si resursele de interconectare Contextul curent QM Q CLK M D QM Q D M

Configuratie SRAM (Context 1) Context 2

W1 Selectare Context 1 M W2 Selectare Context 2


M M

QM Q D

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 a unui circuit FPGA si extensia acesteia la un TM-FPGA (b) prin ad augarea pe ie sirea ec arui CLB a unui microregistru; c) reprezentarea intuitiv a a planelor de memorie de recongurare (contexte); d) structurarea circuitelor din component a planelor de recongurare.

606

4.8. COMBINAT IONAL SAU SECVENT IAL?

TM-FPGA, este introducerea microregistrelor. La ie sirea ec arui CLB se ata seaz a un num ar de k celule bistabile (microregistru) egal cu num arul de plane de memorie de congurare, Figura 4.27-b. In urma funct ion arii unui CLB, ind congurat cu un context, valoarea logic a generat a se poate obt ine direct la ie sire, ie sirea notat a cu O2 , sau se nscrie n una dintre celulele bistabil ale microregistrului. Microregistrul memoreaz a valorile ie sirilor unui CLB (at at cele combinat ionale c at si cele secvent iale) pentru a p astrate dup a ce contextul FPGA-ului a fost schimbat. Inscrierea ie sirilor CLB-ului n microregistre poate validat a prin acela si semnal de ceas care se aplic a si CLB-urilor. O valoare de ie sire dintr-un CLB, memorat a n microregistru poate aplicat a (evident printr-o rutare prin interconexiunile programabile) la intrarea aceluia si CLB sau la un altul, pentru contextul urm aror sau pentru un context ulterior. Rezult a c a microregistrul este suportul prin care se pot comunica semnale generate de FPGA ntre dou a contexte consecutive (comunicare adiacent a) sau ntre dou a contexte separate de mai multe tacturi de ceas (comunicare direct a). Implementarea unui circuit pe FPGA poate distribuita pe c ateva CLB-uri, pe un ntreg circuit FPGA sau chiar pe c ateva circuite FPGA, aceasta depinz and de dimensiunea circuitului de implementat. O astfel de utilizare se reduce la o abordare spat ial a a FPGA-ului pentru c a nu se consider a aspectul temporal al utiliz arii resurselor implicate (LUT-uri, matrice de conectare, trasee de interconectare, elemente de memorare). O abordare temporal a a FPGA-ului consider a o reutilizare n timp ale acestor resurse, adic a cu ce frecvent a maxim a, f max , aceste resurse pot reutilizate ( n timp), dar asigur and o funct ionare corect a a funct iei implementat a. Frecvent a maxim a de reutilizare depinde de timpul minim de propagare, pmin , prin lant ul de resurse implicate n implementarea funct iei, f max 1/pmin . Utilizarea unui FPGA n regim de timp multiplexat se bazeaz a tocmai pe aceast a reutilizare a resurselor (schimbarea contextului) cu o frecvent a de p an a la f max ; deci TM-FPGA utilizeaz a at at abordarea spat ial a c at si cea temporal a si n acest fel utilizarea resurselor cre ste p an a la capacitatea maxim a (pentru circuitul implementat scade D(n) dar cre ste T (n)). Dicultatea care se ridic a, la utilizarea unui circuit TM-FPGA, este g asirea partaj arii/distribuirii optime a funct iei de implementat, e n abordarea combinat ional a e n cea secvent ial a, pe resursele utilizabile repetat (prin schimbarea contextelor). Pentru o implementare ca circuit combinat ional funct ia de realizat se partajeaz a n subfunct ii (subcircuite), ecare subcircuit trebuie s a e implementat pe resursele existente ale FPGA-ului care sunt comandate de c atre un context; prin comutarea contextelor, al c aror num ar este egal cu num arul de subfunct ii ce proceseaz a funct ia respectiv a. De exemplu, n Figura 4.28-a este prezentat a o funct ie sub forma unui grac aciclic orientat compus din sase noduri (A, B, C, D, E, F ) la care se aplic a la intrare variabilele x3 , x2 , x1 , x0 si genereaz a ie sirea y . Se poate partaja n patru subcircuite (1,2,3,4), nodurile (de procesare) din ecare subcircuit se repartizeaz a pe resursele circuitului TM-FPGA si sunt controlate printr-un context. Modul cum cele patru contexte, n succesiunea 1,2,3,4, sunt repartizate celor patru subfunct ii este reprezentat pe organizarea din Figura 4.28-b; schimbarea contextelor corespunde liniilor vericale trasate ntrerupt. Comunicarea adiacent a de semnale se realizeaz a la schimbarea contextelor prin intermediul microregistrului. Pentru comunicarea direct a de semnale, ntre contexte neadiacente, semnalele sunt memorate n celule buer (care

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

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 funct ii pentru implementarea pe un TM-FPGA: a) graful aciclic direct ionat al funct iei si partajarea n subfunct ii/subcircuite; maparea subcircuitelor pe contexte cu trei celule buer (b) pentru comunicarea direct a de semnale; cu dou a celule buer (c).

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 p astrate n cele dou a celule buer pe durata contextului 2 (celulele buer sunt gurate prin dreptunghiuri desenate cu linie ntrerupt a), iar pentru comunicarea semnalului ntre nodul F din contextul 2 cu nodul D din contextul 4 este introdus a celula buer din contextul 3, deci n total 3 celule buer. Printr-o alt a repartizare a subfunct iilor pe contexte se obt ine organizarea din Figura 4.28-c, care a redus num arul de celule buer la doi. Num arul de celule buer (care sunt celule ale microregistrelor) pe implementare poate constitui un criteriu de optimizare. Pentru implementarea ca circuit secvent ial partajarea este, ntr-o prim a abordare, aproape direct a care rezult a din analiza grafului de tranzit ie al st arilor/ie sirilor sau organigrama ASM. Intr-o organigram a ASM pentru ecare perioad a de ceas corespunde (se activeaz a) doar un bloc de stare, Figura 3.15-d, deci ec arui bloc de stare i va corespunde n implementare un context (mapare unu-la-unu ntre blocuri de stare si contexte); num arul contextelor ind egal cu num arul st arilor din organigrama ASM (aceast a abordare simpl a poate util a doar atunci c and numarul st arilor este

608

4.9. COMPARAT IE INTRE DIFERITELE I DE PROGRAMARE MODALITAT

mai mic dec at num arul contextelor din TM-FPGA). La trecerea dintr-o stare ntr-o stare urm atoarea se comut a pe contextul st arii urm atoare, mai mult, se poate utiliza chiar codul st arii urm atoare, calculat la sf ar situl st arii prezente, pentru selectarea contextului urm ator. Comunicarea informat iei ntre dou a st ari (codul st arii urm atoare care devine stare prezent a) se realizeaz a prin intermediul microregistrelor. Aceast a partajare simpl a apare datorit a faptului c a funct ionarea unui automat se bazeaz a pe calculul st arii urm atoare care apoi se aplic a la intrare ca stare prezent a, ceea ce corespunde cu operarea n timp multiplexat la FPGA. Exist a si alte modalit a ti de partajare, a unui circuit secvent ial, care nu sunt restrict ionate de aceast a mapare unu-la-unu [Chang 99].

4.9

COMPARAT IE INTRE DIFERITELE I DE PROGRAMARE MODALITAT

Progresele permanente n tehnologiile circuitelor integrate, evident iate prin legea lui Moore, a determinat n consencint a si obt inerea de performant e la limita tehnologic a, evident, aceste performant e trebuind s a justice costul ridicat al noilor tehnologii (Legea lui Gordon Moore(1965): num arul de tranzistoare integrate pe unitatea de suprafat a ntr-un circuit integrat se dubleaz a n ,, ecare an ; n ultimii ani aceast a cre stere exponent ial a, dup a puterile lui doi, s-a diminuat ajung and la dubl ari la intervale de 1,5 ani sau chiar mai mari). O evolut ie a principalelor dimensiuni specice tehnologiei CMOS este dat a n tabelul din Figura 4.29-a. Evolut ia unor dimensiuni n tehnologia CMOS Anul Caracteristica a) Lungimea de canal [m] Num ar de tranzistoare milioane cm2 Suprafat a 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 Evolut ii: a) a unor dimensiuni specice tehnologiei de integrare CMOS; b) a capabilit a tilor de implementare si proiectare pentru aplicat ii De asemenea, evolut ia de p an a acum a circuitelor integrate a ar atat c a posibilit a tile de implementare disponibile ntr-o nou a tehnologie care acum se dezvolt a vor dep a si

CAPITOLUL 4. SUPORTUL CIRCUISTIC PENTRU APLICAT II

609

cerint ele de implementare derminate de abord arile prin proiectare (prin tehnicile EDA); aceast a asert iune referit a prin diferent a productivit a tii de proiectare este redat a n Figura 4.29-b. In aceast a gur a este dat a evolut ia n timp at at a capabilit a tii de implementare asigurat a de tehnologie c at si a capabilit a tilor de realizare cerute de c atre proiectare/realizare. In tehnologia CMOS, odat a cu cobor area caracteristicii de proces sub 100nm, devine din ce n ce mai scump a si num arul de defecte cre ste. Cre sterea num arului de defecte apare din ce n ce mai pregnant, pe l ang a defectele de fabricat ie/de proces, prin defecte de tip parametric (zgomot, nt arziere etc.). Cre sterea costului se datoreaz a pe l ang a realizarea unui coecient de recolt a sc azut (procentul de circuite funct ionale obt inute din totalul de circuite intrate n fabricat ie) si datorit a cre sterii costului de proiectare (timp de proiectare, instrumente EDA mai costisitoare). Fort at de aceste considerente n realizarea de circuite suport pentru aplicat ii a ap arut conceputul de structuri regulate. Aceste structuri creaz a circuite cu o anumit a regularitate, pe partea logic a si pe partea de interconectare, nt alnit a la circuitele standard, dar, n plus, ofer a si unele facilit a ti de ASIC, n consecint a rezult and un tip de ASIC cu pret sc azut (vezi VPGA). Circuistica suport n abordarea aplicat iilor este destul de extins a, de la circuitele logice discrete p an a la circuitele de tip full-custom. O structurare a acestei circuistici suport este prezentat a n Figura 4.30-a. In sect iunea 4.1 s-a specicat c a prin ASIC se nt elege un circuit dedicat la a c arui nalizare, pe l ang a turn atoria de siliciu, intervine si beneciarul prin proiectare semicustom. In structurarea din aceast a gur a not iunea de ASIC acoper a toate circuitele (full-custom, semicustom si circuitele PLD (eld programmed)) care realizeaz a o aplicat ie specic a/dedicat a; n literatur a aria de acoperire a not iunii de ASIC este destul de larg a. Un criteriu prin care s a se decid a care mod de proiectare este optim pentru o
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 abord arile de proiectare ale sistemelor logice.

610

4.9. COMPARAT IE INTRE DIFERITELE I DE PROGRAMARE MODALITAT

aplicat ie este dicil de exprimat, n general decizia se ia n funct ie de un set de caracteristici asigurate de o anumit a proiectare. In acest sens n Tabelul 4.3 se prezint a un set de caracteristici pentru ecare dintre modurile de proiectare expus n acest capitol (abordarea cu circuite logice discrete a fost prezentat a n sect iunea 2.3). De asemeanea, aceste caracteristici nu au fost date prin valori absolute ci prin valori relative; este mai important a, n prima etap a de selectare a tehnologiei de implementare, o cunoa stere a ordon arii relative a acestor caracteristici pentru ecare tehnologie de implementare urm and apoi, dup a selectare, s a se determine dac a valorile absolute satisfac. Tabelul 4.3 Caracteristici ale diferitelor tipuri de proiectare
Caracteristici Dimensiunea celulei Tipul de celul a Plasamentul celulelor Interconexiunile Num ar de ma sti Aria Tehnologia(Tipul de circuit) Componente Circuit Arie de Celule CPLD FPGA discrete full-custom port i standard x a variabil a x a x a x a ( n alt imea) circuite variabil a x a variabil a programabil a programabil a diferite variabil variabile foarte mare variabil x pe linii x x

variabile variabile toate m a stile m a stile de rutare redus a moderat (compact)

variabile programabile programabile toate 0 0 m a stile moderat moderat mare (redus a)

Densitate medie ridicat a medie medie sc azut a sc azut a (port i/chip) U surint a de foarte bun a bun a sc azut a redus a redus a bun a (programabilitate) (reconfigurabil) Gradul de foarte experient a al sc azut mediu mediu sc azut sc azut ridicat proiectantului Timpul de zile/ luni/ s apt am ani/s apt am ani/ ore/ ore proiectare s apt am ani (an) luni luni zile Investit ia sc azut a/ mare medie medie sc azut a sc azut a init ial a medie Performant a foarte sc azut a/ medie bun a bun a sc azut 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 pronunt at de volumul de product ie (costul relativ indicat corespunde pentru valori de serie specicate n r andul anterior)

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 a, Cluj, 2001. [C arstea 2000] C arstea Horia, Construct ia si tehnologia Echipamentelor Electronice. Editura Politehnic a Timi soara, 2000. [Creang a 73] Creang a I., Reischer C., Simonovici D.: Introducere Algebric a n Informatic a. Teoria Automatelor. Editura Junimea, Ia si, 1973. [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 [Gont eanu 96] Gont eanu Aurel, B ab ait a Mircea: Structuri Logice Programabile. Aplicat ii. Editura de Vest, Timi soara, 1996. [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., N asl au P.: Elemente de Logic a Matematic a si Algebre Boolene. Universitatea Tehnic a Timi soara, 1993. [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, Bucure sti, 1999. [Mano 02] Mano, Morris: Digital Design. Prentice Hall International, London, 2002. [Mure san 02] Mure san T., Gont ean A., B ab ait a M., Demian P.: Circuite Integrate Numerice - Aplicat ii si Proiectare. Editura de Vest, Timi soara, 2002. [Nicula 00] Nicula Dan: Proiectarea Sistemelor Digitale Implementate cu Dispozitive Programabile. Editura Tehnic a, Bucure sti, 2000. [Omandi 94] Omandi R. Amos: Computer Arithmetic Systems - Algorithms, Architecture and Implementation. Prentice Hall International (UK) Publishing, 1994. [Oberman 78] Oberman R. M.: Num ar atoare Electronice. Editura Tehnic a, Bucure sti, 1978. [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. [S tefan 91] S tefan Gheorghe: Funct ii si Structur a n Sistemele Digitale. Editura Academiei Rom ane, Bucure sti, 1991. [S tefan 93] S tefan Gheorghe: Circuite Integrate Digitale. Editura DENIX, Bucure sti, 1993. [S tefan 97] S tefan Gheorghe: Circuit Complexity, Recursion, Grammars and Information. Universitatea Transilvania din Bra sov, Bra sov, 1997. [S tefan 00] S tefan Gheorghe: Circuite si Sisteme Digitale. Editura Tehnic a, Bucure sti, 2000. [S tefan 92] S tefan Gheorghe, Bistriceanu V.: Circuite Integrate Digitale. Probleme. Proiectare. Editura Didactic a si Pedagogic a, Bucure sti, 1992. [Toac se 96] Toac se G., Nicula D.: Electronic a Digital a. Editura Teora, Bucure sti, 1996. [Vl adut iu 89] Vl adut iu Mircea, Cri san Marius: Tehnica Test arii Echipamentelor Automate de Prelucrarea Datelor. Editura Facla, Timi soara, 1989. [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.

S-ar putea să vă placă și