Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » referate » informatica
Sumatoare paralele pe principiul propagarii seriale a transportului

Sumatoare paralele pe principiul propagarii seriale a transportului


Sumatoare paralele pe principiul propagarii seriale a transportului

Spre deosebire de sumatoarele seriale, la cele paralele, operatia de adunare revendica, in general, un singur ciclu (perioada) de CLOCK. Cel mai simplu, dar si cel mai lent, astfel de sumator este cel care consta din legarea in cascada a unui numar de n (n reprezentand numarul de biti ai operanzilor) celule sumator complet (full adder cell - FAC) prin care transportul (carry) se propaga din FAC in FAC, in mod serial, de unde provine si numele de sumator cu transport serial (ripple carry adder, RCA).

Astfel, in fig 2.3 se prezinta schema bloc a unui astfel de sumator caruia i se aplica, la intrari, vectorii operanzi X = (xn-1, xn-2,., xi,., x1, x0) si Y = (yn-1, yn-2,., yi,., y1, y0) si, eventual, transportul intrare ( carry in ) cin=c0, si care prezinta, dupa un ciclu de CLOCK, vectorul rezultat Z = (zn-1, zn-2,., zi,., z1, z0) si, eventual, transportul iesire (carry out) cout=cn.



Pe parcursul calculelor este generat vectorul carry C = (cn-1, cn-2,., ci+1, ci,., c2 ,c1) care se propaga de la dreapta spre stanga, in mod serial, iar perioada clock-ului trebuie sa acopere ca durata, traversarea de catre carry a lantului cel mai defavorabil (cel mai lung) de niveluri logice.

In ceea ce priveste FAC-urile, sinteza acestora are la baza ecuatiile booleene, de acum cunoscute, care, pentru rangul i al RCA-ului (fig 2.3), au expresiile , ultima fiind denumita si functie de paritate impara) pentru iesire suma, respectiv (denumita si functie majoritara [ParLoo]) pentru iesirea transport inspre rangul urmator. Plecand de la aceste expresii, implementarea poate fi realizata in mai multe moduri, dependent de circuitele elementare disponibile [HuEr05].

Astfel, in fig 2.4a se prezinta versiunea transpunerii nemijlocite a ecuatiilor uzitand de numarul cel mai mic de niveluri logice intr-o realizare cu porti  inversoare si NAND. In mod alternativ, plecand de la ecuatia in minterm-i a lui carry, , in urma unor prelucrari simple, se obtine forma , pe baza careia se realizeaza implementarile cu porti EXCLUSIVE-OR si NAND (fig 2.4b), respectiv cu porti EXCLUSIVE-OR, AND si OR (fig 2.4c), ambele multinivel (multilevel) avand in vedere implicarea portilor EXCLUSIVE-OR. In fig 2.4d se arata varianta de implementare cu sapte porti inversoare si doua multiplexoare 4 la 1, care se preteaza realizarii in tehnologie CMOS cu porti de transmisie (transmission gates) [ParLoo], ecuatiile booleene care stau la baza sintezei  fiind forme echivalente celor initiale, si anume , ,respectiv . Desigur, versiunilor din fig.2.4 li se adauga implementarea in forma data de partea combinationala a sumatorului serial din fig.2.2.a.

O oarecare reducere a intarzierii totale pe calea critica de propagare a lui carry constituita din inlantuirea tuturor rangurilor se poate obtine substituind FAC-ul corespunzator lsb-ului (cel mai din dreapta) cu o celula asa numita semisumator (half-adder cell, HAC). Aceasta se poate intampla doar atunci cand intrarea cin nu este utilizata (ceea ce, de cele mai multe ori nu e cazul), adica atunci cand cin=c0=0, situatie in care ecuatiile specifice unui FAC pot fi simplificate, devenind pentru iesirea transport inspre al doilea rang. Pe baza acestor ecuatii booleene, in fig. 2.5 sunt reprezentate cateva implementari posibile pentru un HAC, uzitand de porti EXCLUSIVE-OR si AND (fig.2.5a), de porti in soare si NOR (fig.2.5b), respectiv de porti inversoare si NAND (fig.2.5c).

Inainte de a trece la analiza problemei centrale a sumatoarelor RCA constand din propagarea carry-ului, sa mentionam ca prin intermediul FAC-urilor si HAC-urilor pot fi realizate o varietate de functii aritmetice si nu numai [ParL00]. Altfel, sumatorul serial sintetizat cu flip-flop D reprezinta un exemplu de atasare a unui FAC la elementul de memorare (fig. 2.2a). Sirul utilizarilor FAC-urilor si HAC-urilor poate fi extins cu o multitudine de chip-uri, integrate pe scara medie si larga, menite a implementa variate functii aritmetice [Wake00][Yarb97]. Dar nu asupra acestui tip de folosire dorim sa insistam acum, ci asupra faptului ca se pot realiza cu FAC-uri si HAC-uri inclusiv functii nearitmetice, cum ar fi, spre exemplu functia logica f(a,b,c,d) = abc + d si complementul acesteia (fig. 2.6). Astfel pe lantul de carry sunt generate, in ordine, subfunctiile logice ab, abc, abc 1+d 1+abc (termen absorbit), (abc+d) 1, iar la iesirea suma a rangului msb este generata functia logica

Revenind la problema propagarii transportului, sesizam faptul ca, de fapt, exista trei cai critice si anume prima incepe de la intrarile x0 si z0 si se termina la iesirea bitului cel mai semnificativ al sumei, zn-1 (fig. 2.3), a doua incepe de la intrarea cin (cand rangul lsb este un FAC, nu HAC, ceea ce corespunde multor utilizari) si se termina la acelasi zn-1, iar a treia incepe la cin si se termina la iesirea cout a msb-ului sumatorului. Dintre cele trei, care, dependent de tehnologia de implementare, pot sa difere valoric, in mod uzual este aleasa cea de a treia, intarzierea pe aceasta determinand latenta RCA-ului (chiar daca, de cele mai multe ori, prima cale critica prezinta intarzierea cea mai mare). In ceea ce priveste intarzierea pe lantul de circuite dintre cin (la rangul lsb) si cout (larangul msb), parametru tinta a reducerii la diferitele solutii, acesta este proportional cu numarul de ranguri n. Astfel notand acesta intarziere devaforabila cu D si admitand o implementare a lantului de carry cu circuitele elementare NAND (fig.2.2a sau fig. 2.4a), pentru care acceptam, la limita, aceeasi intarziere t independent de numarul de intrari, atunci pentru un RCA format doar din FAC-uri rezulta D=2(n+1)t, iar, daca rangul lsb este un HAC, atunci avem D=(2n+1)t. In termeni de complexitate [ErLa04], se poate afirma ca latenta RCA este s(n), ceea ce am constatat ca este tipic si pentru un sumator serial, dar la aceasta din urma constanta de proportionalitate este totusi mai mare datorita timpilor suplimentari revendicati de strobarea starilor prin impulsuri de CLOCK multilple, precum si stocarea valorilor.


Chiar daca la proiectare, atunci cand se impune sincronizarea functionarii RCA cu alte module, se impune a lua in consideratie intarzierea corespunzatoare cazului cel mai defavorabil, dorim sa investigam comportamentul mediu al unui RCA. In acest sens, definim lungimea unui lant de carry in termeni de pozitii binare ca fiind numarul de biti dintre, inclusiv, pozitia unde a fost generat transportul si, exclusiv, pozitia in care acesta a fost absorbit sau anihilat. Cu aceasta precizare, fiind dati operanzii cu valori aleatoare, pentru generare de carry (pereche de biti 11) si pentru anihilare de carry (pereche de biti 00), precum si probabilitate de 1/2 pentru propagare de carry (perechi de biti 01 si 10). In aceste conditii, probabilitatea evenimentului ca transportul generat la pozitia binara i sa se propage inclusiv peste pozitia (j-1) si sa se opreasca la pozitia j (unde j>i) prezinta valoarea (1/2)j-i. Apeland la relatia de calcul a sperantei matematice sau a valorii medii pentru variabila aleatoare reprezentata, in cazul nostru, de lungimea lantului de carry care incepe la pozitia binara i, lci (de la expected length of the carry chain that starts at bit position i), se obtine [ParL00]:


(2.1)

in care au fost notate prin lj valorile pentru lungimea lantului de carry, prin pj probabilitptile ca transportul sa se propage pe lungimi date de valorile lj, iar termenul ln pn a fost adaugat pentru ca, la pozitia n, propagarea de carry, oricum, nu mai continua, deci, pentru ln = n-i, probabilitatea pn-1 = 2-(n-1-i), ca sa avem propagare de carry pana la, inclusiv, rangul msb(n-1), nu mai trebuie inmultita cu 1/2, reprezentand probabilitatea de propagare a lui carry.

Procedand in (2.1) la schimbarea de variabila v = j-i si uzitand de identitatea se poate aduce la forma :

(2.2)

Operand in (2.2), pentru rezulta:

(2.3)

Legat de (2.3) ar fi de remarcat, mai intai, faptul ca relatia verifica situatia extrema i = n-1 si lungimea exacta a lanturilor de carry este 1, dar si valoarea medie conforma cu (2.3), data de 1, deci cele doua coincid.

Pe alta parte, (2.3) pune in relief faptul ca, atunci cand i << k, lungimea medie a lantului de carry generat in pozitia binara este de aproximativ 2 si, in general, se poate conchide ca lanturile de carry sunt, in mod uzual, destul de scurte [ParL00].

In acelasi context, se mai poate demonstra ca, la adunarea a doua numere pe n biti, lantul de carry cel mai defavorabil prezinta, in medie, lungimea de , valoare uneori amendata (ParL00). Cert este ca atunci cand se cauta solutii pentru sporirea performantelor sumatoarelor, parametrul constituit de intarzierea pe lantul de carry constituie obiectivul esential supus investigattiei.

In alta ordine de idei, atunci cand sunt incluse in unitati de prelucrare a datelor (data processing units), sumatoarele furnizeaza pe langa rezultatul operatiei, si unele informatii suplimentare asupra acestuia care determina setarea unor bistabile fanion (flag). Aceste elemente sunt disjuncte fiind insa reunite, impreuna cu flag-uri de alta menire, in ceea ce este cunoscut ca registru de stare (status register) al unui calculator. Configuratia binara din acest registru, sau doar o parte din ea, este folosita la investigarea unor stari de exceptie, precum si la implementarea instructiilor de salt conditionat [HaPa03], care determina, dependent de starea flag-ului din status register, parcurgerea unei ramuri sau alteia dintr-un program. Relativ la funtionarea unui sumator, astfel de fanioane conditie/exceptie sunt reprezentate de 'cout', indicand faptul ca rezultatul prezinta un 1 la iesirea cout a rangului msb, 'negative', indicand faptul ca rezultatul adunarii este zero, si 'overflow',indicand situatia de exceptie vand rezultatul nu reprezinta suma corecta. Intrucat conditiile setate de primele trei nu necesita, intr-o anumita masura, asupra situatiei de depasire semnalata prin flag-ul 'overflow'.

Astfel, daca se aduna numere fara semn, overflow-ul este echivalat cu cout, pentru ca, daca cout = 1, inseamna ca rezultatul depaseste capacitatea registrului. In aceasta situatie, este irelevanta, in mod evident, semnalarea conditiei 'negative'. Daca insa, sunt adunate doua numere reprezentate in complement de doi, overflow-ul se manifesta atunci cand semnele operanzilor coincid, iar cel al rezultatului este diferit. Daca notam cu n variabila booleana asociata overflow-ului, care seteaza flag-ul omonim, atunci pentru n rezulta ecuatia logica unde xn-1 si yn-1 reprezinta bitii de semn ai celor doua numere de adunat si cn-1 reprezinta transportul inspre bitul de semn ai celor doua numere de adunat si cn-1 reprezinta transportul inspre bitul de semn ( vezi si fig 2.3). Urmarim transformarea ecuatiei lui n, sens in care vom uzita de identitatea booleana [Wake00], astfel incat, in urma eliminarii termenului avand in produs variabile complementare, rezulta:

(2.4)

Cum operarea OR, respectiv EXCLUSIVE-OR, a termenilor expresiei coincidentei (EXCLUSIVE-NOR) este echivalenta, putem substitui pe cu respectiv cu , ceea ce ne permite ca, in urma reordonarii termenilor, sa obtinem:

(2.5)

Intrucat, in complement de doi, bitul de semn nu se distinge de un bit ordinar de numar, avem pentru transportul din bitul de semn, cn, ecuatia booleana . Daca acestei expresii i se aplica, de doua ori, anterioara identiate booleana, pentru cn rezulta , care, substituita in (2.5), conduce la forma de interes:

(2.6)

In aceste conditii, overflow-ul, la adunarea in complement de doi, se detecteaza simplu operand EXCLUSIVE-OR variabilele carry ale celor mai smenificative doua ranguri ale sumatorului. Mai mentionam ca, la adunarea in complement de doi, cout nu are nici o semnificatie. Cu aceste precizari, in fig.2.7., se prezinta un RCA pentru numere fara semn si reprezentate in complement de doi cu logica aditionala menita setarii flag-urilor de conditie si exceptie din status register. S-ar impune o remarca relativ la numarul excesiv de intrari ale portii NOR care testeaza rezultatul zero, a carui implementare necesita, uzual, un arbore de porti OR succedat de o poarta inversoare.

Anterior efectuata analiza a propagarii transportului ..,intarzierea corespunzatoare cazului cel mai defavorabil, ca, de altfel si costul variaza liniar cu dimensiunea n a operanzilor , dar si .acest caz al propagarii transportului prin toate cele n ranguri nu apare niciodata. Plecand de la aceasta constatare, o prima imbunatatire de performanta a unui sumator construit pe principiul RCA se poate realiza prevazand o schema logica de detectie a momentului cand generarea lui carry s-a terminat (carry completion detection) transformare prin care obtinem un carry completion adder (CCA) [ErLa04][Parh00][Omon94]. Un astfel de sumator beneficiaza de faptul ca lungimea medie a lantului cel mai lung de propagare a lui carry, la adunare a 2 numere pe n biti, este de log2n, astfel ca timpul pentru cazul mediu (average case) este doar O(log2n) si nu O(n). In esenta avem de-a face cu un RCA la care se adauga o cale explicita pentru propagarea intre ranguri si a valorii 0 pentru carry astfel incat in ragul i intra valorile de carry, si , formand un cod asa-numit two-rail [RaFu89]. Astfel, in ceea ce priveste intrarile in rangul i, atunci cand () = (1,0), carry este cunoscut a fi zero (nu exista carry), asa cum atunci cand () = (0,1) carry este cunoscut a fi 1(exista carry). Initial toate transporturile sunt () = (0,0) sau necunoscute si atata timp cat () = (0,0), carry nu este cunoscut inca. Dupa initializare, fiecare pozitie binara i pentru care xi = yi injecteaza in cele doua cai de propagare valori corespunzatoare cu , fara sa mai astepte carry-ul care trebuie sa soseasca (incoming carry), constituind esenta accelerarii unui CCA in raport cu un RCA. Cand pentru fiecare carry s-a determinat unul dintre dubletii (0,1) sau (1,0), se considera terminata propagarea de carry, fapt urmarit in fiecare rang in parte precum si global pentru intregul CCA.

Pentru a raspunde comportamentului functional descris, se impune interventia asupra schemei interne a FAC, rezultand o noua celula sumator complet avand la baza sintezei celor doua cai de carry urmatoarele ecuatii boolene, elaborate pentru rangul i.

(2.7)

Uzitand de ecuatille (2.7), precum si de conventionala ecuatie pentru suma, in fig. 2.8 se prezinta sinteza noii celule sumator complet (CCFAC) a unui sumator CCA realizata cu porti EXCLUSIV OR, AND, OR si inversoare. Detectia locala a terminarii operatiei se realizeaza prin intermediul unei porti OR, atasata la fiecare CCFAC, si avand drept intrari cele 2 variabile carry, iar detectia globala a terminarii intregii operatii se realizeaza printr-o poarta AND avand ca intrari iesirile tuturor anterior mentionate porti OR, asa cum se prezinta in fig. 2.9. In consecinta, ecuatia logica pentru semnalul de terminare a adunarii "carry complete" are ecuatia booleana:

(2.8)

Legat de semnalul generat prin ecuatia (2.8) trebuie mentionat ca proiectarea se impune a fi realizata cu precautie, in sensul de a evita hazarduri care ar putea duce la semnale carry complete neautentice, parazite (spurious). In acest sens, se impune ca toate intrarile de carry sa fie aduse la 0 printr-o initializare initiala, si apoi toate intrarile de date sa fie aplicate in mod simultan, modalitate in care se tinde spre o functionare fara hazarduri. Pe de alta parte, generarea lui carry complete revendica pentru valori n practice, o poarta AND, cu un fan-in excesiv de mare, reclamand implementarea functiei logice AND pe mai multe niveluri de porti logice, ceea ce reduce din castigul de performanta specific unui CCA.

Daca excludem din consideratii duratele de initializare si de propagare a semnalelor pe portile pe portile OR si AND pentru generarea lui carry complete, care sunt aceleasi pentru toate cazurile si care ar trebui luate si ele in calcul, latenta unui CCA pe n biti este cuprinsa in plaja foarte larga de la intarzierea pe 2 porti logice (in ipoteza includerii inversoarelor in porti AND, vezi fig. 2.8) in cazul cel mai favorabil (best case), cand, spre exemplu, se aduna un numar la el insusi, la intarzierea cunoscuta pe (2n+1) porti logice in aceeasi ipoteza mentionata mai sus in cazul cel mai defavorabil (worst case) al propagarii complete intre cin si cout. Este insa de remarcat faptul ca latenta unui CCA este dependenta de date, in medie putand fi considerata ca egala cu intarzierea pe (2log 2 n+1) porti logice. Dependenta de date face ca acest tip de sumator sa fie adecvat pentru proiecte asincrone, dar, cum majoritatea sistemelor opereaza sincron, s-ar putea ca timpul revendicat pentru resincronizare sa diminueze serios din castigul obtinut utilizand un sumator pe principiul CCA.

In concluzie, o prima imbunatatire a unui RCA se obtine prin generarea unui semnal de terminare astfel incat noul sumator CCA sa prezinte un timp de adunare care sa nu corespunda cazului cel mai defavorabil si cel al operatiei efective. O a doua metoda de reducere a parametrului critic reprezentat de latenta operatiei de adunare consta in utilizarea unor componente rapide la implementarea lantului de propagare a lui carry. Se obtine astfel un asa numit lant Manchester (Manchester chain), iar sumatorul care il include poarta denumirea de Manchester (Kilburn) adder (MA). Mai exact, lantul Manchester consta, pentru fiecare rang, din trei comutatoare (switch) controlate prin variabile deduse din bitii de intrare. Astfel, referindu-ne la pozitia binara i, cu intrarile xi si yi, avem asa numita variabila de generare (generate) gi = xiyi , semnificand ca atunci cand vectorul de intrare este (xi,yi)=(1,1) se genereaza inspre stanga un 1 pe lantul de carry, de propagare (propagate) semnificand ca, atunci cand vectorii de intrare sunt (xi ,yi) = (0,1) sau (xi ,yi) = (1,0), de la intrarea de carry la rangul i se propaga un 1 spre iesirea de carry a respectivului rang, in fine, de anihilare sau absorbtie (anihilate or absorb) , semnificand ca, atunci cand vectorul de intrare este (xi,yi) = (0,0), chiar daca la intrarea de carry a rangului i a fost aplicat un 1, la iesirea de carry a respectivului rang se va transmite 0, avand loc anihilarea (absorbtia) de carry. La un moment dat, una si numai una dintre cele trei variabile ia valoarea 1, inchizand contactul comutatorului, deci lasand curentul sa treaca. In figura 2.10a se prezinta intr-o implementare cu porti logice generarea variabilelor gi, pi si ai, precum si comutatoarele comandate.

Exceptand lantul de carry, celelalte elemente sunt cuprinse in partea de control a lantului (control chain, CC) de carry, care se regaseste pentru fiecare rang in figura 2.10b, corespunzator unui sumator MA. In exteriorul CC-urilor se remarca lantul de carry cu comutatoare comandate prin variabile pi fiecare rang. In figura 2.10c se prezinta o posibila realizare in tehnologie CMOS a lantului Manchester [ParL00]. Se poate observa ca atunci cand CLOCK-ul comuta din 0 in 1 si cand gi este pe 1, ci este pe 1, ci este trecut pe 0, ambele tranzistoare cu canal de tip n fiind, iar cel cu canal de tip p fiind blocat. Pentru a preveni ca semnalul gi sa nu influenteze transportul ci, semnalul pi aplicat portii tranzistorului cu canal de tip n trebuie obtinut printr-o functie EXCLUSIVE-OR, mai degraba decat una OR, a bitilor intrare xi si yi, ceea ce nu este o problema, respectivul termen intervenind oricum in calculul sumei.

Pentru un lant Manchester de n biti, intarzierea totala consta din urmatoarele componente: timpul t1 de formare a semnalelor de comanda a switch-urilor (gi, pi, ai), timpul t2 de setup al comutatoarelor (switch-urile tuturor bitilor se impun a fi setate in mod simultan) [ErLa04] , intarzierea t3 in propagarea semnalelor prin switch-uri in cazul cel mai defavorabil a traversarii n switch-uri. Primele doua componente ale intarzierii, t1 si t2, sunt reduse si in general constante. Dominanta este insa componenta t3, care in cel mai bun caz depinde liniar de n. In tehnologia CMOS, implementarea switch-urilor se realizeaza preferabil prin asa numitele pass transistors [ParL00][Omon 94], dar conectarea in serie a acestor tranzistoare poate duce la dependente ale intarzierii proportionale cu n², ceea ce determina aplicarea principiului MA la lanturi reduse ca numar de biti (pana la 8 [ParL00]). Totusi, atunci cand cresterea intarzierii totale este proportionala doar cu n, un MA este mai performant decat un RCA intrucat la fiecare rang avem doar intarzierea pe un singur comutator fata de cea pe doua porti logice. In tot cazul, solutia MA gaseste aplicabilitate uzual in combinasie cu alte configuratii de sumatoare.

O ultima problema pe care o supunem analizei in contextul sumatoarelor RCA consta in potentiala optimizare a structurii atunci cand unul din operanzii de adunat reprezinta o constanta. Plecam de la observatia ca, atunci cand constanta Y se aduna la operandul X, Y este fie impar, fie consta din concatenarea unui Y impar avand la dreapta, admitem, un numar δ de zerouri care fac din Y un numar par. In aceasta din urma situatie, la adunare, δ biti mai putin semnificativi ai lui X se regasesc in suma si operatia se efectueaza intre X si Y impar. In particular, sa consideram spre exemplu δ =2 si sa adunam constanta Y = (0,1,1,.,10100) la X = (xn-1,.,x1,x0) conditie in care suma Z va prezenta forma Z = (zn-1, zn-2, zn-3, z4z3, , x1, x0), cei mai putin semnificativi doi biti ai lui X regasindu-se pe aceleasi pozitii in Z, iar bitul din Z corespunzator primului bit de 1 la parcurgerea lui Y de la dreapta spre stanga, z2 devine egal cu . In plus, din acest rang, este generat spre stanga transportul c x . Restul bitilor lui Z sunt obtinuti printr-un RCA de constructie speciala reprezentat fie de celule semisumator modificate (HAC),atunci cand yi = 0 (avem si ), fie din celule semisumator modificate (HAC*), atunci yi = 1 (avem si ) asa cum se prezinta in fig 2.11. Astfel, in fig 2.11a si fig 2.11b sunt aratate potentiale implementari pentru celule HAC, respectiv HAC*, iar fig 2.11c este expusa inlantuirea acestor celule in cazul particular adunarii la un operand X a constantei Z adoptate mai sus.

In acelasi context, un interes aparte il prezinta cazul cand constanta Y = (0,0,00,0,1(sau -1)), constand deci dintr-un 1 sau -1 in pozitia lsb, este adunata, la fiecare impuls de CLOCK, la continutul unui registru, realizand functia de numarare in sus (up counter) sau in jos (down counter).

In fig 2.12 se prezinta schema bloc [ParL 00] a unui numarator up/down avand un registru R, adus la zero prin reset, iar, atunci cand semnalul de autorizare devine activ, primul impuls de CLOCK incarca datele de intrare Data si cand, de asemenea, este activat nivelul de incarcare LOAD aplica pe intrarea de control a multiplexorului MUX.

Configuratia binara din R este aplica unei schemebirationale de incrementare (decrementare), asemanatoare cu cea din fig 2.11c, la care 1 se aduna la x0 , nu la x2 , si toate celulele sunt HAC (aceasta pentru incrementare). Rezutatul incrementat este incarcat in R la primul impuls de CLOCK via MUX avand acum intrarea de control pe 0 (este activat Count). Datele de iesire sunt disponibile la data out, iar, atunci cand cout devine 1, s-a atins capcacitatea maxima de numarare si este indicata starea de exceptie Counter aver flow. Mai motivam ca in fig 2.12 este data doar una din posibilele sinteze ale unui tip counter, iar elementul sau de structura generator de noi solutii prin prisma cresterii frecventei ClOCK-ului este tocmai schema de incremenare (decrementare), parte a dezbaterilor din prezentul paragraf.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.