ࡱ> Y} 7 ~bjbjUU ix 7|7|Dml4h ׂ h    W  Da w  w w w w w w $  0w a  dW   0w      n/   w  w  w >X    Os / x h 0ׂ x; ;   ANALIZA ^I SINTEZA DISPOZITIVELOR NUMERICE curs Bibliografie Circuite de comutare aplicate n calculatoarele electronice, V. Pop, Volker Popovici, ed. Facla, 1976 Circuite integrate digitale, Gh. ^tefan, I. Drghici, T. Mure_an, E. Barbu, EDP, 1983 De la poarta TTL la microprocesor, I. Sztojanov _.a., ET, 1987 Proiectarea cu circuite logice MSI _i LSI standard, T.R. Blakeslee, ET, 1988 Circuite integrate digitale, Gh. Stefan, V. Bistriceanu, Probleme, proiectare, EDP, 1992 Circuite integrate digitale, Gh. Stefan, V. Bistriceanu, Probleme, proiectare, Ed. Albastr, 2000 Automatizri discrete n industrie, Culegere de probleme, N. Sprncean, R. Dobrescu, Th. Borangiu, ET, 1978 Sisteme numerice cu circuite integrate, Culegere de probleme, Sanda Maican, ET, 1980 Analiza _i sinteza dispozitivelor numerice, I.A. Lecia, ndrumtor de laborator, I.P. Cluj-Napoca, 1985 Analiza _i sinteza dispozitivelor numerice, A. Necin, O. Crec, ndrumtor de laborator, UT Press. Cluj-Napoca, 1998 Curs 1 CAPITOLUL I ELEMENTE DE ALGEBR BOOLEAN 1.1. Generalitci Transferul, prelucrarea _i pstrarea datelor numerice sau nenumerice n interiorul unui calculator se realizeaz prin intermediul circuitelor de comutare. Aceste circuite se caracterizeaz prin faptul c prezint dou stri stabile care se deosebesc calitativ ntre ele. Strile sunt puse n corespondenc cu valorile binare  0 _i  1 sau cu valorile logice  adevrat _i  fals (din acest motiv se mai numesc _i circuite logice). Pornind de la aceste considerente, un domeniul al logicii matematice, (_tiinca care utilizeaz metode matematice n solucionarea problemelor de logic) numit  algebra logicii _i-a gsit o larg aplicare n analiza _i sinteza circuitelor logice. Algebra logicii opereaz cu propozicii care pot fi adevrate sau false. Unei propozicii adevrate i se atribuie valoarea  1 , iar unei propozicii false i se atribuie valoarea  0 . O propozicie nu poate fi simultan adevrat sau fals, iar dou propozicii sunt echivalente d.p.d.v. al algebrei logice, dac simultan ele sunt adevrate sau false. Propoziciile pot fi simple sau compuse, cele compuse obcinndu-se din cele simple prin legturi logice de tipul conjuncciei (, disjuncciei ( sau negaciei (. Bazele algebrei logice au fost puse de matematicianul englez George Boole (1815-1864) _i ca urmare ea se mai nume_te _i algebr boolean. Ea a fost conceput ca o metod simbolic pentru tratarea funcciilor logicii formale, dar a fost apoi dezvoltat _i aplicat _i n alte domenii ale matematicii. n 1938 Claude Shannon a folosit-o pentru prima dat n analiza circuitelor de comutacie. 1.2. Definirea axiomatic a algebrei booleene Algebra boolean este o algebr format din: elementele (0,1(; 2 operacii binare numite SAU _i SI, notate simbolic + sau ( _i ( sau (; 1 operacie unar numit NU negacie, notat simbolic sau (. Operaciile se definesc astfel: SI SAU NU 0 ( 0 = 0 0 + 0 = 0 0 = 1  0 ( 1 = 0 0 + 1 = 1 1 = 0 1 ( 0 = 0 1 + 0 = 1 1 ( 1 = 1 1 + 1 = 1 Axiomele algebrei booleene sunt urmtoarele: Fie o mulcime M compus din elementele x1, x2,& xn, mpreun cu operaciile ( _i +. Aceast mulcime formeaz o algebr dac: Mulcimea M concine cel pucin 2 elemente distincte x1 ( x2 (x1,x2( M); Pentru ( x1 ( M, x2 ( M avem: x1 + x2 ( M _i x1 ( x2 ( M Operaciile ( _i + au urmtoarele proprietci: sunt comutative x1 ( x2 = x2 ( x1 x1 + x2 = x2 + x1 sunt asociative x1 ( (x2 ( x3) = (x1 ( x2) ( x3 x1 + (x2 + x3) = (x1 + x2) + x3 sunt distributive una fac de cealalt x1 ( (x2 + x3) = x1 ( x2 + x1 ( x3 x1 + (x2 ( x3) = (x1 + x2) ( (x1 + x3) Ambele operacii admit cte un element neutru cu proprietatea: x1 + 0 = 0 + x1 = x1 x1 ( 1 = 1 ( x1 = x1 unde 0 este elementul nul al mulcimii, iar 1 este elementul unitate al mulcimii. Dac mulcimea M nu concine dect dou elemente, acestea trebuie s fie obligatoriu elementul nul 0 _i elementul unitate 1; atunci pentru ( x ( M exist un element unic notat cu x cu proprietcile: x ( x = 0 principiul contradicciei x + x = 1 principiul tercului exclus x este inversul elementului x. n definirea axiomatic a algebrei s-au folosit diferite notacii. n tabelul urmtor se dau denumirile _i notaciile specifice folosite pentru diverse domenii: MatematicLogicTehnicPrima lege de compozicie x1 + x2Disjunccie x1 ( x2SAU x1 + x2A doua lege de compozicie x1 ( x2Conjunccie x1 ( x2SI x1 ( x2Elementul invers xNegare (xNU x 1.3. Proprietcile algebrei booleene Plecnd de la axiome se deduc o serie de proprietci care vor forma reguli de calcul n cadrul algebrei booleene. Aceste proprietci sunt: Principiul dublei negacii x = x dubla negacie duce la o afirmacie Idempotenca x ( x = x x + x = x Absorbcia x1 ( (x1 + x2) = x1 x1 + (x1( x2) = x1 Proprietcile elementelor neutre x ( 0 = 0 x ( 1 = x x + 0 = x x + 1 = 1 Formulele lui De Morgan x1 ( x2 = x1 + x2 x1 + x2 = x1 ( x2 Aceste formule sunt foarte utile datorit posibilitcii de a transforma produsul logic n sum logic _i invers. Formulele pot fi generalizate la un numr arbitrar de termeni: x1 ( x2 ( & ( xn = x1 + x2 + & + xn x1 + x2 + & + xn = x1 ( x2 ( & ( xn Principiul dualitcii  dac n axiomele _i proprietcile algebrei booleene se interschimb 0 cu 1 _i + cu (, sistemul de axiome rmne acela_i, n afara unor permutri. Verificarea proprietcilor se poate face cu ajutorul tabelelor de adevr _i cu observacia c dou funccii sunt egale dac iau acelea_i valori n toate punctele domeniului de definicie. Prin tabelul de adevr se stabile_te o corespondenc ntre valorile de adevr ale variabilelor _i valoarea de adevr a funcciei. Obs. Comutativitatea _i asociativitatea pot fi extinse la un numr arbitrar, dar finit, de termeni, indiferent de ordinea lor. 1.4. Funccii booleene O funccie f: Bn ( B, unde B = (0,1( se nume_te funccie boolean. Aceast funccie boolean y = f(x1, x2,& ,xn) are drept caracteristic faptul c att variabilele ct _i funccia nu pot lua dect dou valori distincte, 0 sau 1. Funccia va pune n corespondenc fiecrui element al produsului cartezian n dimensional, valorile 0 sau 1. Astfel de funccii sunt utilizate pentru caracterizarea funccionrii unor dispozitive (circuite) construite cu elemente de circuit avnd dou stri (ex.: un ntreruptor nchis sau deschis, un tranzistor blocat sau n conduccie; funccionarea unui astfel de circuit va fi descris de o variabil boolean xi). 1.4.1. Funccii booleene elementare Revenim la forma general a unei funccii booleene de n variabile: y = f(x1, x2,& ,xn) Domeniul de definicie este format din m = 2n puncte. Deoarece n fiecare din aceste puncte funccia poate lua doar valorile 0 _i 1 rezult c numrul total al funcciilor booleene de n variabile este N = 2m. Vom considera n continuare funcciile elementare de 1 variabil. Pentru n = 1 avem m = 2 _i N = 4. Funccia are forma y = f(x) _i cele 4 forme ale ei se gsesc n tabelul urmtor: fi x01ReprezentareDenumiref0000Constanta 0f101xVariabila xf210xNegacia lui xf3111Constanta 1 La fel se pot realiza toate funcciile cu ajutorul unor funccii de baz. Acestora le vor corespunde _i ni_te circuite logice elementare, cu ajutorul crora se poate realiza practic orice tip de circuit. binnd cont de faptul c circuitele logice de comutacie au 2 stri stabile LOW (L) _i HIGH (H), asignnd lui L ( 0 _i lui H ( 1 se poate ntocmi un tabel al funcciilor elementare. DenumireFunccieSimbolTabel de adevrTabel de definicieInversor  NOTf = x x f = x x f 0 1 1 0 x f L H H LPoart SI  ANDf = x1 ( x2x1 x2 f=x1(x2 x1 x2 f 0 0 0 0 1 0 1 0 0 1 1 1 x1 x2 f L L L L H L H L L H H HPoart SAU  ORf = x1 + x2x1 x2 f=x1+x2 x1 x2 f 0 0 0 0 1 1 1 0 1 1 1 1 x1 x2 f L L L L H H H L H H H HPoart SI-NU  NANDf = x1 ( x2x1 x2 f=x1(x2 x1 x2 f 0 0 1 0 1 1 1 0 1 1 1 0 x1 x2 f L L H L H H H L H H H LPoart SAU-NU  NORf = x1 + x2x1 x2 f=x1+x2 x1 x2 f 0 0 1 0 1 0 1 0 0 1 1 0 x1 x2 f L L H L H L H L L H H LSAU EXCLUSIV  XORf = x1 + x2x1 x2 f=x1 + x2 x1 x2 f 0 0 0 0 1 1 1 0 1 1 1 0 x1 x2 f L L L L H H H L H H H LCOINCIDENbf = x1 ( x2x1 x2 f=x1 ( x2 =x1 + x2 x1 x2 f 0 0 1 0 1 0 1 0 0 1 1 1 x1 x2 f L L H L H L H L L H H H 1.4.2. Reprezentarea funcciilor booleene Exist dou moduri de reprezentare a funcciilor booleene: grafic _i analitic. Modalitci grafice - se caracterizeaz printr-o reprezentare intuitiv, u_or de recinut, dar sunt inadecvate pentru funccii booleene cu un numr de variabile mai mare dect 4; 2. Modalitci analitice - sunt mai greoaie, dar permit metode automate, deci algoritmi de simplificare a funcciei; se folosesc n general pentru funccii booleene cu numrul variabilelor mai mare dect 5. Modalitci de reprezentare grafic Modalitcile de reprezentare grafic sunt: tabel de adevr, diagram Karnaugh, schem logic, diagram de timp. Tabel de adevr  se marcheaz ntr-un tabel corespondenca dintre valorile de adevr ale variabilelor de intrare _i valoarea de adevr a funcciei, n fiecare punct al domeniului de definicie. Pentru o funccie cu n variabile de intrare vom avea 2n combinacii. Exist situacii n care, pentru anumite combinacii ale variabilelor de intrare, valoarea funcciei nu este specificat. Aceste funccii se numesc incomplet definite. n tabel, n locul n care funccia nu este specificat, se noteaz cu  X . Dac o funccie boolean este incomplet definit pentru  m combinacii ale variabilelor de intrare se pot defini 2m funccii noi prin alegerea arbitrar a valorilor incomplet definite. Diagram Karnaugh O diagram Karnaugh pentru o funccie boolean de n variabile se deseneaz sub forma unui ptrat sau dreptunghi mprcit n 2n compartimente. Fiecare compartiment este rezervat unui termen canonic al funcciei, respectiv unuia dintre vrfurile cubului n dimensional din reprezentarea geometric a funcciei (2n n-uple ale funcciei). Diagrama Karnaugh este organizat astfel nct dou compartimente vecine pe o linie sau pe o coloan corespund la doi termeni canonici care difer numai printr-o singur variabil, care apare n unul adevrat, iar n cellalt negat (la dou n-pluri adiacente). Se consider vecine _i compartimentele aflate la capetele opuse ale unei linii, respectiv coloane. Diagrama Karnaugh se noteaz fie indicnd domeniul fiecrei variabile, fie indicnd pe linie _i coloan n-uple de zerouri _i unitci corespondente unui compartiment din diagram _i ordinea variabilelor. Prima notacie se folose_te n cazul n care se reprezint funccia prin forma ei canonic sau normal. A doua notacie se folose_te n cazul n care funccia se reprezint prin tabel de adevr. Pentru a putea reprezenta u_or funccii exprimate n mod convencional prin indicii termenilor canonici se poate nota fiecare compartiment cu indicele termenului corespondent, cinnd cont de o anumit ordine a variabilelor. Exemple: Diagrama Karnaugh pentru funccia de 2 variabile: f(x1, x2) = x1(x2 + x1(x2 x2 x1 01x2 x1010x1x2x1x2001x21x1x2x1x2110 x1 sau  x1 00011110 x2 Obs. Numerotarea liniilor _i coloanelor se face n cod Gray (cod binar reflectat) Cod binar directCod Gray00000000000100010010001100110010010001100101011101100101011101001000110010011101101011111011111011001010110110111110100111111000Diagrama Karnaugh pentru funccia de 3 variabile: y = f(x1,x2,x3) Domeniul de definicie este format din 23 = 8 puncte _i reprezint vrfurile unui cub cu latura 1:  x1  001 101  011 111   000 100 x3  010 110 x2 Diagramele Karnaugh corespunztoare pot fi reprezentate astfel: x2  x1 x2x30001111000132 x114576 x3 sau x3x1x2 x30100010123 x2 x111671045Diagrama Karnaugh pentru funccia de 4 variabile: y = f(x1,x2,x3,x4) x4x1x2 x3x400011110000132014576 x2 x1111213151410891110 x3 Prin sgeci am marcat vecintcile punctului de coordonate 0010. 4) Diagramele Karnaugh pentru funccii de mai mult de 4 variabile se construiesc din diagrame de 4 variabile considerate ca diagrame elementare. Schem logic  reprezentare cu ajutorul simbolurilor circuitelor logice. Diagram de timp  reprezentare util pentru studiul unor forme tranzitorii de hazard n circuitele logice. Se reprezint funccii logice n a cror evolucie intervine timpul. Exemplu: f = x1(x2  x1x2fCurs 2 1.4.2.2. Modalitci de reprezentare analitic 1) Formele canonice Fie o funccie boolean f(x), unde x = (x1,x2,& ,xn). Se define_te numrul i = x1(20 + x2(21 + & + xn(2n-1 ca numr de combinacii. Exemplu:  x1 x2 x3 f 0 0 0 0 0 1 0 1 0 ( i = 0(22 + 1(21 + 0(20 = 2 0 1 1 Fie funccia Pi definit pe Bn ( B, deci Pi : Bn ( B  Pi(x1,x2,& ,xn) = 1 dac numrul de combinacii este i 0 n caz contrar Aceast funccie se nume_te constituent al unitcii. Se poate arta c orice funccie boolean dat prin tabelul de adevr se poate scrie ca o sum de constituenci ai unitcii. f(x1, x2,& ,xn) = Pi1 + Pi2 + & + Pip = ( Pij i,j(M1 unde M1 = mulcimea tuturor combinaciilor argumentelor pentru care funccia ia valoarea 1. Aceast form de scriere se nume_te forma canonic disjunctiv FCD, iar termenii constituenci se numesc termeni canonici conjunctivi sau mintermi (se mai nume_te _i forma sum de produse). Funccia boolean se mai poate scrie _i sub forma Si : Bn ( B unde B = {0,1}.  Si(x1,x2,& ,xn) = 0 dac numrul de combinacii este i 1 n caz contrar Se poate demonstra c orice funccie boolean poate fi adus la forma: f(x1, x2,& ,xn) = Si1 ( Si2 ( & ( Siq = ( Sij i,j(M0 unde M0 = mulcimea tuturor combinaciilor argumentelor pentru care funccia ia valoarea 0. Aceast form de scriere se nume_te forma canonic conjunctiv FCC, iar factorii constituenci se numesc termeni canonici conjunctivi sau maxtermi (se mai nume_te _i forma produs de sume).  Se poate demonstra c Si = Pi. Algoritmi de obcinere a formelor canonice pe baza tabelului de adevr sau a diagramei Karnaugh: FCD se determin toate combinaciile variabilelor pentru care valoarea funcciei este 1; se scriu mintermii corespunztori (o variabil apare nenegat dac are valoarea 1 _i negat dac are valoarea 0); se nsumeaz mintermii obcinuci anterior. FCC se determin toate combinaciile variabilelor pentru care valoarea funcciei este 0; se scriu maxtermii corespunztori prin nsumarea variabilelor (o variabil apare nenegat dac are valoarea 0 _i negat dac are valoarea 1); se nmulcesc maxtermii obcinuci anterior. Exemplu:  x1 x2 x3 f 0 0 0 0  0 0 1 1 mintermul este x1(x2(x3  0 1 0 0 maxtermi sunt (x1+x2+x3)((x1+x2+x3) Trecerea dintr-o form canonic n alta se poate face n dou moduri: cu ajutorul tabelului de adevr; prin aplicarea dublei negacii _i a teoremelor lui De Morgan. Teorema lui Shannon Complementul unei funccii booleene se obcine prin complementarea fiecrei variabile _i interschimbarea operatorilor ^I cu SAU _i reciproc.  f(x1,x2,& ,xn)+,( = f(x1,x2,& ,xn)(,+ Teorema de expansiune Fie funccia boolean f(x1,x2,& , xi-1, xi, xi+1,& ,xn) care se expandeaz dup variabila xi. Avem atunci:  f(x1,x2,& , xi-1, xi, xi+1,& ,xn) = xi(f(x1,x2,& , xi-1, 1, xi+1,& ,xn) + xi(f(x1,x2,& , xi-1, 0, xi+1,& ,xn) Funccia dual este: f = [xi + f(x1,x2,& , xi-1, 0, xi+1,& ,xn)]([xi + f(x1,x2,& , xi-1, 1, xi+1,& ,xn)] 2) Forma elementar La formele canonice ale funcciilor booleene termenii concin toate variabilele independente de intrare, negate sau nenegate. Termenii formei elementare nu concin toate variabilele de intrare. Aceast form se obcine din formele canonice prin minimizare. 3) Forma neelementar Forma neelementar concine variabile sau grupuri de variabile comune mai multor termeni. Se obcine din celelalte forme prin aplicarea algebrei booleene. Este folosit la implementarea funcciilor logice deoarece permite reducerea numrului de intrri n circuitele logice. Are dezavantajul mririi numrului de nivele logice. 1.4.3. Minimizarea funcciilor booleene Algebra boolean se folose_te la analiza _i sinteza dispozitivelor numerice (circuite de comutacie). ntre gradul de complexitate al circuitului _i cel al funcciei care l descrie exist o legtur direct. Aceasta este motivacia pentru care, n etapa de sintez a circuitelor de comutacie, dup definirea acestora, urmeaz n mod obligatoriu etapa de minimizare a funcciei, avnd drept scop obcinerea unor forme echivalente mai simple (forma minim). Solucia minim obcinut n urma minimizrii ar trebui s fie cea mai avantajoas (economie de porci logice, obcinerea unei scheme mai fiabile, mai ieftine). n realitate nu este ntotdeauna a_a. De exemplu, dorinca de a obcine un sistem u_or depanabil poate duce la obcinerea unei solucii neminimale, dar care prezint proprietci interesante de simetrie _i regularitate. Prin aplicarea metodelor de minimizare (de simplificare) se ajunge la expresii minimale sub forma unor SAU-uri de SI-uri (reuniune minimal) ori a unor SI-uri de SAU-uri (interseccie minimal). Criteriile utilizate n vederea minimizrii sunt: reducerea numrului de variabile; reducerea numrului de termeni; reducerea pe ansamblu a variabilelor _i termenilor, astfel ca suma lor s devin minim. Minimizarea const n principal n transformarea formelor canonice _i a formelor elementare parcial simplificate n forme elementare minimale. Metodele de minimizare pot fi grupate n metode algebrice _i metode grafice. 1.4.3.1. Minimizarea grafic Diagrama Karnaugh Minimizarea se bazeaz pe proprietatea de adiacenc a codului binar reflectat (Gray) cu ajutorul cruia se numeroteaz liniile _i coloanele diagramei Karnaugh. n vederea minimizrii se aleg suprafecele maxime (subcuburi) formate din constituenci ai unitcii, respectiv din constituenci ai lui 0, suprafece (subcuburi) avnd ca dimensiune un numr de ptrate (compartimente) egal ntotdeauna cu puteri ale lui 2. Aceste suprafece vor corespunde termenilor canonici, termenii vecini fiind adiacenci (difer printr-un singur bit). Ca urmare, n urma gruprii lor se vor reduce variabilele pe baza relaciei: x1(x2 + x1(x2 = x1. Metoda de minimizare: se realizeaz grupri de compartimente (subcuburi) care sunt puteri ale lui 2. Un compartiment poate fi membru al mai multor suprafece. O suprafac cu 2m celule vecine va elimina 2m variabile de intrare. se scriu ecuaciile corespunztoare fiecrei suprafece, obcinndu-se astfel termenii elementari. se realizeaz forma disjunctiv minim (FDM) prin nsumarea termenilor elementari obcinuci prin gruparea constituencilor lui 1 sau forma conjunctiv minim (FCM) prin nmulcirea termenilor elementari obcinuci prin gruparea de constituenci ai lui 0; funcciile minimale obcinute sunt identice, ele diferind numai prin forma de prezentare. Pentru a se obcine forma minimal a unei funccii booleene este util s se minimizeze ambele forme canonice, FCC _i FCD. Apoi, n funccie de disponibilitatea componentelor _i de numrul de conexiuni care rezult, se poate alege forma minimal a funcciei booleene care va fi implementat. Exemplu: f(x1,x2,x3,x4) = ( (3, 7, 8, 9, 12, 13, 15) x4x1x2 x3x400011110000010010010 x2 x1111110101100 x3 Pentru FDM a funcciei se obcin dou variante, dup cum se aleg suprafecele pentru minimizare: fFDM1 = x1(x3 + x1(x3(x4 + x1(x2(x4 sau fFDM2 = x1(x3 + x1(x3(x4 + x2(x3(x4 Implementarea cu porci de tip SI-NU arat astfel:   fFDM1 = x1(x3 + x1(x3(x4 + x1(x2(x4 = = x1(x3 ( x1(x3(x4 ( x1(x2(x4 Minimizarea funcciei negate va fi:  fFDM = x1(x3 + x3(x4 + x1(x2(x3 La fel se procedeaz _i la minimizarea funcciei prin folosirea constituencilor de 0: x4x1x2 x3x400011110000010010010 x2 x1111110101100 x3 Forma minimizat conjunctiv a funcciei FCM este:  fFCM = (x1+x3)((x3+x4)((x1+x2+x3) Diagrame Karnaugh pentru funccii incomplet definite Funcciile incomplet definite sunt cele care n anumite puncte ale domeniului de definicie pot lua valoarea 0 sau valoarea 1. Avem dou posibilitci: combinacii de intrare pentru care funccia are valori indiferente (nedefinite); combinacii ale variabilelor care nu pot s apar din punct de vedere fizic; n aceste situacii trebuie studiat dac combinaciile sunt susceptibile s se produc n urma unei manevre false sau n urma unui defect de funccionare; pentru a evita funccionarea gre_it, n locaciile corespunztoare se impun valori pentru funccie, astfel nct s nu se perturbe funccionarea normal. Valorile nespecificate precum _i locaciile corespunztoare din diagrama Karnaugh se numesc  indiferente sau  arbitrare sau  redundante . Ele se noteaz cu  x _i vor fi considerate n timpul minimizrii ca avnd valoarea 1 sau 0, n funccie de situacie, pentru a se obcine o minimizare ct mai bun. x4x1x2 x3x40001111000x101x1x x2 x111111101x1x x3 Ca s minimizm funccia n FDM considerm c x au valoarea 1 _i grupm ace_ti x numai cu valorile de 1, nu _i ntre ei (o grupare ntre ei nu are nici o semnificacie).  Se obcine: fFDM = x1(x2 + x2(x3 + x1(x4 + x2(x4 Obs. n cazul funcciilor incomplet definite, funccia complementar simplificat prin grupri de 0 nu coincide ntotdeauna cu complementul funcciei. Diagrame Karnaugh cu expresii Superpozicia funcciilor booleene Fie o funccie boolean f(X) cu X = (x1,x2,& , xi, xi+1,& ,xn). Dac considerm X1 = (x1,x2,& , xi) _i X2 = (xi+1,& ,xn) _i dac funccia f(X) poate fi scris ca o funccie f(X) = f3[f1(X1), f2(X2)] atunci spunem c f(X) a fost obcinut prin superpozicia funcciilor f1(X1) _i f2(X2). Dac X1(X2 = ( atunci avem o superpozicie disjunct, iar dac X1(X2 ( ( avem o superpozicie nedisjunct.  x1  f  xn Dup superpozicie avem:  x1  f1 xi  f3 f  xi+1  f2  xn Decompozicia funcciilor booleene Dac se d o funccie boolean _i un set de funccii se cere s se realizeze o  spargere a funcciei booleene. S-a reu_it decompozicia funcciei booleene dac: f = fm [fm-1(Xm-1), fm-2(Xm-2),& ,f1(X1),X0] unde Xi ( X Dac f poate fi scris ca f = f2[f1(X1),X0] decompozicia este simpl. m-1 Decompozicia este nedisjunct dac: (Xi = ( i=j m-1 Decompozicia este disjunct dac: (Xi ( ( i=j Exemplu: f(x1,x2,x3,x4) = ((0, 2, 3, 7, 9, 10, 11, 14) x4x1x2 x3x40001111000111011 x2 x111110111 x3 fFDM = x1(x2(x4 + x1(x3(x4 + x1(x3(x4 + x1(x2(x4 = x2(x1 ( x4) + x3(x1 + x4) = = x2(G + x3(G unde G = x1 + x4 _i deci f se poate scrie: f = f2[G(x1,x4), x2,x3] Pornind de la aceast form pentru f, facem o minimizare.  f = x2(G + x3(G = x2(G((x3 + x3) + x3(G((x2 + x2) = = x2x3G + x2x3G + x2x3G + x2x3G = x2x3 + x2x3G + x2x3G Diagrama Karnaugh corespunztoare este: x2 x3010G1x210Gx3 n general o diagram Karnaugh cu  n expresii (sau variabile) are 2n locacii. Prin nglobarea n diagram a  m expresii (variabile) dimensiunea diagramei se reduce, numrul de locacii devenind 2n-m. Pentru a minimiza o funccie prin diagrame Karnaugh cu expresii se fac urmtorii pa_i: se consider toate variabilele din diagram ca _i cum ar fi 0 _i se formeaz suprafece (subcuburi) cu constituencii lui 1; se consider toate locaciile cu 1 indiferente _i se formeaz suprafece (subcuburi) cu variabilele nglobate; se consider interseccia variabilelor nglobate cu gruprile obcinute n pasul 2; se face reuniunea termenilor din pa_ii 1 _i 3; pentru mai mult de o variabil nglobat se trateaz pe rnd conform pa_ilor 1 - 4 numai cte o variabil, celelalte fiind considerate 0, iar apoi se scrie reuniunea tuturor termenilor obcinuci. Exemplu: S se minimizeze funccia cu variabile nglobate: x1 x2x3000111100a+b1c111xPasul 1. x1 x2x30001111001111x Se obcine x2(x3 + x1(x3 Pasul 2 _i 3. x1 x2x3000111100a+bxc1xxx Se obcine c(x2 + (a+b)(x1(x3 Pasul 4. f = x2(x3 + x1(x3 + c(x2 + (a+b)(x1(x3 Curs 3 1.4.3.2. Minimizarea algebric Minimizarea algebric a funcciilor booleene se face cu ajutorul teoremelor algebrei booleene. n cazul n care numrul de variabile este mai mare dect 6 se utilizeaz metoda de minimizare Quine-Mc Cluskey. Aceast metod are avantajul c algoritmul este u_or de implementat pe calculator. Pentru prezentarea metodei vom lua ca exemplu funccia: f = ( (0, 2, 3, 5, 7, 8, 10, 11, 13, 15) Etapele de minimizare sunt: Se grupeaz termenii canonici astfel nct termenii din fiecare grup s concin acela_i numr de 1, respectiv 0. TC x1 x2 x3 x4 0 0 0 0 0 2 0 0 1 0 8 1 0 0 0 3 0 0 1 1 5 0 1 0 1 10 1 0 1 0 7 0 1 1 1 11 1 0 1 1 13 1 1 0 1 15 1 1 1 1 Se compar fiecare termen dintr-o grup cu toci cei din grupa urmtoare, aplicnd relacia de reducere: x1(x2 + x1(x2 = x1. Se grupeaz termenii care difer printr-o singur variabil (o singur pozicie binar). Termenul obcinut prin combinare va concine pe pozicia respectiv semnul -. Comparare Rezultatul comparrii ntre x1 x2 x3 x4  0, 2 0 0 - 0  0, 8 - 0 0 0 2, 3 0 0 1 - 2, 10 - 0 1 0 8, 10 1 0 - 0  3, 7 0 - 1 1 3, 11 - 0 1 1 5, 7 0 1 - 1 5, 13 - 1 0 1  10, 11 1 0 1 - 7, 15 - 1 1 1 11, 15 1 - 1 1 13, 15 1 1 - 1 n continuare se repet procedeul de comparare pn cnd nu mai este posibil nici o reducere. Comparare Rezultatul comparrii ntre x1 x2 x3 x4  0, 2, 8, 10 - 0 - 0 2, 3, 10, 11 - 0 1 - 3, 7, 11, 15 - - 1 1 5, 7, 13, 15 - 1 - 1 Termenii rezultanci, (0, 2, 8, 10), (2, 3, 10, 11), (3, 7, 11, 15) _i (5, 7, 13, 15) se numesc implicanci primi IP. Se aleg acei implicanci primi IP care asigur acoperirea minimal a termenilor canonici TC. Pentru aceasta se construie_te un tabel de acoperire, n care pe coloane se noteaz termenii canonici TC, iar pe linii implicancii primi IP. n interseccii se noteaz acei termeni canonici TC acoperici de fiecare implicant prim IP. IP TC0 2 3 5 7 8 10 11 13 150, 2, 8, 10x x x x2, 3, 10, 11 x x x x3, 7, 11, 15 x x x x5, 7, 13, 15 x x x x Unii dintre implicancii primi sunt implicanci primi esenciali pentru c acoper cel pucin un termen canonic al funcciei, care nu este acoperit de alt implicant prim. Implicancii primi esenciali vor face parte n mod obligatoriu din expresia minimizat a funcciei. n cazul nostru implicanci primi esenciali sunt (0, 2, 8, 10) _i (5, 7, 13, 15). Pentru termenii canonici care au rmas neacoperici, 3 _i 11, se observ c pot fi ale_i 2 implicanci primi, (2, 3, 10, 11) _i (3, 7, 11, 15), deci exist 2 solucii de minimizare. f = (0, 2, 8, 10) + (5, 7, 13, 15) + (2, 3, 10, 11) = x2x4 + x2x4 + x2x3 _i f = (0, 2, 8, 10) + (5, 7, 13, 15) + (3, 7, 11, 15) = x2x4 + x2x4 + x3x4 1.4.4. Minimizarea sistemelor de funccii booleene Sistemele de funccii booleene sunt exprimate prin f: Bn ( Bm unde B =(0, 1(. Argumentele pot fi de n variabile _i sunt mai multe funccii de acest tip: f1, f2,& , fm. Pentru a minimiza sistemele de funccii se caut implicanci primi pentru f1, f2,& , fm _i pentru produsele f1(f2, f1(f3& , f1(fm, & f1(f2(f3,& , f1(f2(f3(f4,& , & f1(f2(& (fm. Solucia aleas pentru implementarea sistemului de funccii booleene va fi cea care va fi cea mai avantajoas din punct de vedere al circuitelor disponibile _i al precului. Exemplu: f1(x1,x2,x3) = ( (1, 5, 6, 7) f2(x1,x2,x3) = ( (1, 4, 5, 6) f3(x1,x2,x3) = ( (0, 2, 5, 6, 7) 1. Calculm funcciile produs: f1(f2 = ( (1, 5, 6) f1(f3 = ( (5, 6, 7) f2(f3 = ( (5, 6) f1(f2(f3 = ( (5, 6), identic cu f2(f3 2. Determinm implicancii primi din funcciile simple _i din produsele determinate la punctul 1. Pentru determinarea implicancilor primi se folosesc diagrame Karnaugh n care se iau toate acoperirile posibile. Pentru f1: x1 x2x300011110011111Pentru f2: x1 x2x300011110011111Pentru f3: x1 x2x3000111100111111Pentru f1(f2: x1 x2x30001111001111Pentru f1(f3: x1 x2x30001111001111Pentru f2(f3 _i f1(f2(f3: x1 x2x30001111001113. Construim un tabel n care capetele de linii vor reprezenta funcciile, iar coloanele vor fi implicancii primi. FuncciaImplicanci primiIndiciExpresiiNotaciif11,5 6,7 5,7x2x3 x1x2 x1x3- - -f21,5 4,5 4,6x2x3 x1x2 x1x3- i hf30,2 2,6 6,7 5,7x1x3 x2x3 x1x2 x1x3g f - -f1(f21,5 6x2x3 x1x2x3e -f1(f35,7 6,7x1x3 x1x2d cf2(f3 = f1(f2(f35 6x1x2x3 x1x2x3b a4. Se noteaz IP pe coloana a patra din tabel ncepnd cu ultimul, iar cei care apar dublaci nu se mai noteaz. 5. Se construie_te un tabel al acoperirilor funcciilor f1, f2, f3. NotaciiIndiciiFunccia de unde au rezultatf1f2f31567145602567a6f1(f2(f3xxxb5f1(f2(f3xxxc6, 7f1(f3xxxxd5, 7f1(f3xxxxe1, 5f1(f2xxxxf2, 6f3xxg0, 2f3xxh4, 6f2xxi4, 5f2xx6. Determinm acoperirile optime ale funcciilor f1, f2, f3. A(f1) = e,c + e,d,a = A1 + A2 cu e implicant prim esencial A(f2) = e,h + e,i,a = B1 + B2 cu e implicant prim esencial A(f3) = g,c,b + g,c,d, + g,f,d + g,a,d = C1 + C2 + C3 + C4 cu g implicant prim esencial 7. Se scriu toate acoperirile posibile pentru sistemul de funccii _i se alege acea acoperire care realizeaz condiciile de prec minim _i disponibilitate de piese. Se face tabelul pentru acoperiri: AcopeririElementele acopeririiNumr de termeniCostA1B1C1e,c,h,g,b511A1B1C2e,c,h,g,d510A1B1C3e,c,h,g,f,d6A1B1C4e,c,h,g,a,d6A1B2C1e,c,i,a,g,b6A1B2C2e,c,i,a,g,d6A1B2C3e,c,i,a,g,f,d7A1B2C4e,c,i,a,g,d6A2B1C1e,d,a,h,g,c,b7A2B1C2e,d,a,h,g,c6A2B1C3e,d,a,h,g,f6A2B1C4e,d,a,h,g511A2B2C1e,d,a,i,g,c,b7A2B2C2e,d,a,i,g,c6A2B2C3e,d,a,i,g,f6A2B2C4e,d,a,i,g511Avem acoperiri minimale cu 5 termeni. Pentru a calcula costul unei acoperiri se face suma costurilor implicancilor primi din acoperirea considerat. Costul unui implicant prim de n variabile din care lipsesc r variabile este n-r, pentru c fiecare variabil prezent necesit un contact, o legtur. n-1 C = ( gr ((n-r) r=0 unde gr este numrul subcuburilor din care lipsesc r variabile. Pentru acoperirea A1B1C2, care are elementele e,c,h,g,d, avem costul: 2 C = ( gr ((3-r) = g0(3 + g1(2 + g2(1 = 0(3 + 5(2 + 0(1 = 10 r=0 e = x2x3 c = x1x2 h = x1x3 g = x1x3 d = x1x3 Minimizarea sistemului de funccii va fi: f1 = x2x3 + x1x2 f2 = x2x3 + x1x3 f3 = x1x3 + x1x3 + x1x2 = x1x2 + x1 + x3 Datorit reducerii corelate a sistemului de funccii apar porci comune mai multor funccii. Curs 4 CAPITOLUL II CIRCUITE LOGICE COMBINAbIONALE 2.1. Definicii Circuitele logice combinacionale, CLC, sunt un caz particular al sistemelor secvenciale finite sau al automatelor finite, numite automate de grad 0. Circuitele logice combinacionale se caracterizeaz prin faptul c variabilele de ie_ire sunt independente de timp _i de starea intern, fiind determinate numai de variabilele de intrare (starea variabilelor de intrare la momentul considerat). Legtura dintre starea ie_irii _i starea intrrii unui CLC este realizat de funccia de transfer.  x1 y1  x2 y2  CLC  xn ym Oricare funccie de ie_ire y (y1, y2,& , ym) este funccie de toate variabilele de intrare (x1, x2,& , xn). Un CLC se poate descrie astfel: y1 = f1(x1, x2,& , xn) y2 = f2(x1, x2,& , xn)  ym = fm(x1, x2,& , xn) Funcciile se vor exprima n forma canonic disjunctiv FCD sau n forma canonic conjunctiv FCC. Independenca fac de timp presupune c o dat cu modificarea variabilelor de intrare se modific simultan _i variabilele de ie_ire. Din punct de vedere practic, datorit ntrzierilor produse de circuitele logice _i de conexiuni, modificarea simultan nu este posibil. Ca urmare, pe durata procesului tranzitoriu de stabilire a variabilelor de ie_ire, vectorul ie_irilor poate lua valori intermediare diferite de valoarea final, ceea ce conduce la fenomenul de hazard combinacional, de care trebuie s se cin cont la proiectarea unui sistem numeric. n general, la circuitele logice combinacionale, vom face abstraccie de proprietcile fizice ale porcilor logice, de faptul c un impuls teoretic difer de unul real. Vom analiza aceste fenomene doar n cazul hazardului combinacional. 2.2. Analiza circuitelor logice combinacionale n cadrul analizei CLC se pleac de la cunoa_terea schemei logice a circuitului _i se urmre_te stabilirea funccionrii acestuia. Stabilirea expresiei variabilei de ie_ire se face de la intrare la ie_ire, urmrind transformrile variabilelor de intrare. Definim ca numr de nivele al unui CLC numrul maxim de porci dintre intrri _i ie_iri. Numerotarea nivelelor se face de la ie_ire nspre intrare.  x5 x1 x2  y1 x3 x4 y2 x6 x7 4 3 2 1 Circuitul logic combinacional din exemplu are 4 nivele. Exist _i urmtoarea situacie de legturi ntre porci: x1 y x2  x3    Acest circuit are _i legturi inverse. Ultimele porci nu pot fi numerotate, deci circuitul nu este un CLC. n CLC sunt admise legturile inverse (ie_irea unei porci dintr-un nivel inferior s fie dus la intrarea unei porci dintr-un nivel superior) cu condicia ca definicia CLC s fie respectat. Algoritm de determinare a legturilor inverse n CLC a. Se numeroteaz toate porcile logice care au ca intrri un subset din mulcimea variabilelor de intrare ale circuitului logic (de la 1 la k); b. Se numeroteaz de la k+1 porcile care au ca intrri fie intrri ale circuitului, fie ie_iri ale porcilor numerotate la punctul a. Dac am reu_it s numerotm toate porcile circuitului logic, acesta este fr legturi inverse _i este circuit combinacional. Dac nu am reu_it numerotarea tuturor porcilor logice, circuitul este de tip secvencial. 2.3. Sinteza circuitelor logice combinacionale n cadrul sintezei circuitelor logice combinacionale se cunoa_te funccia pe care trebuie s o ndeplineasc circuitul _i se caut s se gseasc structura acestuia. Etapele sintezei circuitelor logice combinacionale sunt: Enuncul problemei; Alctuirea tabelului de adevr, definirea funcciei sau funcciilor; Minimizarea funcciei sau funcciilor; Desenarea schemei circuitului Exist mai multe metode de implementare a CLC, diferenciate dup nivelul de complexitate al circuitelor integrate folosite. 2.3.1. Sinteza CLC cu circuite integrate SSI Circuitele integrate de tip SSI  small scale integration  au pn la 50 de tranzistoare integrate pe capsul. Dintre aceste circuite fac parte porcile logice fundamentale: SI-NU (NAND), SAU-NU (NOR), NU (NOT), SI (AND), SAU (OR), SAU-EXCLUSIV (XOR). Dup parcurgerea etapelor de sintez se face implementarea funcciei sau funcciilor logice cu ajutorul circuitelor integrate existente. CLC de tip SSI se folosesc mai mult pentru adaptarea la aplicacie a circuitelor de tip MSI _i LSI standardizate, care nu satisfac cu exactitate cerincele de proiectare. Ele vor fi utilizate acolo unde circuitele cu grad nalt de integrare nu pot fi folosite. 2.3.2. Sinteza CLC cu circuite integrate MSI Circuitele integrate de tip MSI  medium scale integration  au pn la 500 de tranzistoare integrate. Ele ofer structuri mai complexe, disponibile ca _i structuri standard. Forma funcciilor logice pe care dorim s le implementm cu circuite de tip MSI trebuie s fie corelat cu circuitele disponibile. De obicei nu mai este necesar minimizarea funcciilor. Circuite combinacionale uzuale (specializate) Convertoare de cod Convertoarele de cod sunt CLC care permit trecerea dintr-un cod binar n altul. La intrarea circuitului se aplic cuvintele unui cod _i la ie_ire se obcine alt cod. Convertoarele de cod fac compatibil funccionarea a 2 sisteme n care informacia este codificat n mod diferit. Exemplu: Conversiile din cod Gray n cod binar-zecimal (BCD) _i invers 1) Cod Gray ( BCD Cuvintele de cod n cele dou coduri sunt: Gray: gn, gn-1,& , g0 BCD: bn, bn-1,& , b0 Reguli: bn = gn g3g2g1g0b3b2b1b000000000000100010011001000100011011001000111010101010110010001111100100011011001111110101110101110101100101111011001111010001111Se construiesc diagrame Karnaugh pentru determinarea funcciilor minimizate pentru b3, b2, b1, b0. Diagrama Karnaugh pentru b3: g3g2 g1g0000111100001111111101111Obcinem: b3 = g3 Diagrama Karnaugh pentru b2: g3g2 g1g0000111100001111111101111Obcinem b2 = g2g3 + g2g3 = g2 + g3 Diagrama Karnaugh pentru b1: g3g2 g1g0000111100011011111111011Obcinem b1 = g1g2g3 + g1g2g3 + g1g2g3 + g1g2g3 = g1(g2 + g3) + g1(g2 + g3) = g1 + g2 + g3 Diagrama Karnaugh pentru b0: g3g2 g1g0000111100011011111111011Obcinem b0 = g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 = g2g3(g0 + g1) + & = g0 + g1 + g2 + g3 n general: bn = gn  i bi = 1 dac + ( gj = 1 j=n-1 0 dac nu 2) Conversia din BCD n Gray:  gn = bn  gi = bi + bi+1 Codificatoare Codificatoarele sunt CLC la care activarea unei intrri conduce la aparicia unui cuvnt de cod la ie_ire. Exemplu: Codificator din zecimal n BCD (binar codificat zecimal) ZecimalBCD01234567892322212001111111110000101111111100011101111111001011101111110011111101111101001111101111010111111101110110111111101101111111111101100011111111101001Intrrile sunt active pe 0 logic. De exemplu, dac este activ (adic 0) intrarea 5, pe ie_ire se va obcine codul n BCD pentru 5, adic 0101. Funcciile pentru ie_iri sunt: 23 = 8 ( 9  22 = 4 ( 5 ( 6 ( 7  21 = 2 ( 3 ( 6 ( 7  20 = 1 ( 3 ( 5 ( 7 ( 9 Codificatorul prioritar este un codificator care are mai multe intrri active simultan _i la ie_ire se obcine cuvntul de cod care corespunde intrrii care este cea mai prioritar. Prioritatea cre_te de la cifra 0 nspre cifra 9. Decodificatoare Decodificatoarele sunt CLC la care se activeaz doar una dintre ie_iri, pentru combinacia (codul) corespunztoare a variabilelor de intrare. Ele au funccie invers codificatoarelor. Ie_irile decodificatoarelor sunt active pe 0 logic (funccioneaz n logic negativ).  I1 y1  Circuite SI-NU  In ym Numrul ie_irilor distincte este m ( 2n. Exemplu: Decodificator pentru 3 cifre binare. I2I1I0O7O6O5O4O3O2O1O00001111111000111111101010111110110111111011110011101111101110111111101011111111101111111 Funcciile pentru ie_iri sunt: O7 = I2I1I0; O6 = I2I1I0; O5 = I2I1I0; O4 = I2I1I0; O3 = I2I1I0; O2 = I2I1I0; O1 = I2I1I0; O0 = I2I1I0. Multiplexoare Multiplexoarele sunt CLC care permit trecerea datelor de pe una din intrri la o ie_ire unic. Seleccia intrrii se face printr-un cuvnt de cod de seleccie numit _i adres.  I0  MUX y  In-1   sm-1 s0 Cu m linii de seleccie se pot selecta 2m intrri. Funccia realizat de ie_ire este: y = Ik unde k este numrul de combinacii k = sm-1 ( 2m-1 + & + s0 ( 20 Aplicaciile cele mai importante ale MUX sunt la seleccia secvencial a datelor, conversia paralel-serie a datelor, sisteme de transmisie a datelor pe un singur canal, implementarea circuitelor logice combinacionale cu o singur ie_ire. Exemple 1) I0  MUX y I1 2 : 1  s Multiplexorul de tip 2:1 are 2 semnale de intrare, I0 _i I1, un semnal de seleccie s _i o ie_ire y. n funccie de semnalul de seleccie avem pentru ie_ire: y = I0 ( s + I1 ( s. s = 0 ( y = I0 s = 1 ( y = I1 Deci multiplexorul las s treac spre ie_ire semnalul de pe acea linie de intrare corespunztoare lui s. 2) I0 I1 MUX  I2 4 : 1 y I3  s0 s1 Multiplexorul de tip 4:1 are 4 semnale de intrare, 2 semnale de seleccie _i un semnal de ie_ire. Ie_irea va fi:  y = I0 ( s0 ( s1 + I1 ( s0 ( s1 + I2 ( s0 ( s1 + I3 ( s0 ( s1 Exist multiplexoare de tip 8 : 1, 16: 1, 32 : 1. Multiplexoarele integrate au disponibile att ie_irea adevrat ct _i cea negat. Ele au _i o intrare de  Enable pentru validare, care permite o funccie SI suplimentar. Demultiplexoare Demultiplexoarele sunt CLC care permit transmiterea datelor de pe o intrare de date comun pe una din ie_irile selectate. Selectarea ie_irii se face cu ajutorul unui cuvnt de cod de seleccie numit _i adres.  y0  I DEMUX  yn-1   sm-1 s0 Cu m linii de seleccie se pot selecta 2m ie_iri. Funcciile de ie_ire sunt: y0 = sm-1 ( & ( s0 ( I y1 = sm-1 ( & ( s0 ( I  y2m = sm-1 ( & ( s0 ( I Comparatoare numerice Comparatoarele numerice sunt CLC care permit determinarea valorii relative a dou numere binare. Comparatoarele pot fi de 1 bit sau de mai mulci bici. Exemplu: Comparator pe 1 bit  Ai y1  y2  Bi y3 Funcciile de ie_ire sunt:  y1 = Ai ( Bi pentru Ai < Bi,  y2 = Ai + Bi pentru Ai = Bi  y3 = Ai ( Bi pentru Ai > Bi Acest circuit constituie celula de baz pentru compararea numerelor cu mai mulci bici. Detectoare-generatoare de paritate Detectoarele-generatoare de paritate sunt CLC cu rol de a determina _i genera paritatea sau imparitatea numrului de variabile de intrare egale cu 1. Bitul de paritate este utilizat ca metod de verificare a transferului de date. Sunt posibile 2 situacii: numrul bicilor de 1 + bitul de paritate = numr par numrul bicilor de 1 + bitul de paritate = numr impar Realizarea detectoarelor de paritate se bazeaz pe funccia logic SAU-EXCLUSIV (0 pentru par _i 1 pentru impar). Sumatoare-scztoare Sumatoarele _i scztoarele sunt CLC care realizeaz adunarea, respectiv scderea cifrelor binare. Semisumatorul este un CLC care efectueaz suma a 2 numere binare de cte 1 bit, fr a cine cont de transportul de la bitul de semnificacie imediat inferioar. Semisumatorul este:  A0 S0  1/2 (  B0 C0 Valorile pentru suma S0 _i transportul spre rangul superior C0 sunt:  S0 = A0 ( B0 + A0 ( B0 = A0 + B0 C0 = A0 ( B0 Sumatorul pentru bitul de rang n este:  An Sn  Cn-1 (  Bn Cn Valorile pentru suma Sn _i transportul Cn pentru rangul superior sunt:  Sn = An ( Bn ( Cn-1 + An ( Bn ( Cn-1 + An ( Bn ( Cn-1 + An ( Bn ( Cn-1 = = (An + Bn) ( Cn-1 + (An + Bn) ( Cn-1 = An + Bn + Cn-1 Cn = An ( Cn-1 + Bn ( Cn-1 + An ( Bn Sumatoarele pentru cuvinte binare cu mai mulci bici se realizeaz prin interconectarea sumatoarelor pentru 1 bit. Adunarea se efectueaz n paralel, iar propagarea transportului n serie. Semiscztorul de 1 bit are ie_irile:  D0 = A0 ( B0 + A0 ( B0 = A0 + B0  I0 = A0 ( B0 Scztorul complet de rangul n are ie_irile:  Dn = An ( Bn ( In-1 + An ( Bn ( In-1 + An ( Bn ( In-1 + An ( Bn ( In-1 = =(An + Bn) ( In-1 + (An + Bn) ( In-1 = An + Bn + In-1  In = An ( In-1 + Bn ( In-1 + An ( Bn Scztoarele pentru cuvinte binare cu mai mulci bici se realizeaz prin interconectarea scztoarelor pentru 1 bit. Unitci aritmetico-logice Unitcile aritmetico-logice sunt CLC care realizeaz operacii de tip aritmetic _i operacii de tip logic. Curs 5 2.3.2.1. Implementarea funcciilor booleene cu circuite MSI Circuitele integrate de tip MSI cum sunt decodificatorul DCD, demultiplexorul DEMUX _i multiplexorul MUX pot fi considerate circuite universale deoarece genereaz n interior toci termenii canonici. Implementarea cu DCD a unei funccii booleene nu necesit operacii de minimizare. La ie_irea DCD se obcin toci termenii canonici negaci ai formei canonice disjunctive FCD ai funcciei. Realizarea funcciei se face cu o poart logic de tip SI-NU, cu un numr de intrri egal cu numrul de termeni ai funcciei. Implementarea cu MUX a unei funccii booleene se bazeaz pe relacia care define_te funccionarea sa. De exemplu, pentru un MUX de tip 4:1 avem ecuacia ie_irii:  y = I0 ( x1 ( x2 + I1 ( x1 ( x2 + I2 ( x1 ( x2 + I3 ( x1 ( x2 n care se observ c exist intrri separate pentru fiecare din cele 4 combinacii ale variabilelor de seleccie x1, x2. Dac avem o funccie boolean de n variabile de intrare se pot da factor variabilele x1 _i x2 _i se obcin 4 funccii de n-2 variabile de intrare, care se vor conecta la intrrile I0  I3 ale unui MUX de tip 4:1. Similar, cu un MUX 8:1 se pot elimina 3 variabile de intrare, iar cu un MUX 16:1 se pot elimina 4 variabile de intrare.  Dac avem o funccie de 4 variabile se pot elimina 3 variabile prin aplicarea lor pe intrrile de seleccie ale unui MUX 8:1. La cele 8 intrri ale MUX se vor conecta cele 8 funccii de o variabil. Singurele funccii posibile de o variabil sunt: xi, xi, 0, 1. Deci putem implementa orice funccie cu 4 variabile de intrare folosind un singur MUX de 8 ci _i fr porci adicionale. Exemplu Considerm funccia: f = (0, 1, 3, 5, 9, 10, 13, 15) = x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 Folosim un MUX 8:1 _i aplicm variabilele x2x1x0 pe intrrile de seleccie. Pentru a determina intrrile multiplexorului, I0  I7, vom face un tabel:  I0 x3 x2x1x0  I1 1 (x3 + x3) ( x2x1x0 I2 x3 x2x1x0  I3 x3 x2x1x0 I4 0 x2x1x0  I5 1 (x3 + x3) ( x2x1x0  I6 0 x2x1x0 I7 x3 x2x1x0 Implementarea funcciei cu MUX este:  En  x3 1 x3 x3 f 0 f 1 0 x3 s2 s1 s0  x2 x1 x0 Avantajele implementrii cu MUX: se poate implementa funccia cu un sigur circuit de tip MUX; intrarea de Enable poate fi folosit ca un SI final cu ntreaga funccie; doar o singur variabil trebuie s fie disponibil _i adevrat _i negat. Dezavantajele implementrii cu MUX: nu se pot folosi termeni n comun n cazul minimizrii sistemelor de funccii (sisteme cu mai multe ie_iri); nu se poate face implementarea funcciilor la care numrul de termeni este mai mare dect numrul intrrilor MUX; exist multe funccii care pot fi implementate comod prin utilizarea de porci logice ( MUX utilizat doar pentru funccii dificile. Procedura de implementare cu MUX se poate face plecnd de la diagrama Karnaugh. Se construie_te o diagram Karnaugh n care se define_te domeniul intrrilor I. x3x2 x1x00001111000I0I1I3I201I4I5I7I611I4I5I7I610I0I1I3I2 x3x2 x1x0000111100011101111111011 Variabila care variaz este x3. Configuraciile de 1 din diagrama Karnaugh indic modul de conectare a intrrilor MUX, la x3, x3, 1 sau 0. I0 = x3; I1 = 1; I2 = x3; I3 = x3; I4 = 0; I5 = 1; I6 = 0; I7 = x3 2.3.3. Sinteza CLC cu circuite integrate LSI Circuitele integrate de tip LSI  Large Scale Integration  au peste 500 de tranzistoare integrate pe capsul. Pentru exemplificarea sintezei CLC se descriu dou tipuri de circuite din aceast categorie: ROM (Read Only Memory) _i PLA (Programmable Logic Array), cu varianta FPLA. 2.3.3.1. Sinteza CLC cu memorii de tip ROM Memoria de tip ROM este numit _i memorie fix sau permanent. Ea este nevolatil, concinutul ei nu se modific n timpul funccionrii. Structura ei este stabilit n procesul de fabricacie sau este stabilit de utilizator prin programare.  I0 O0   DCD Matrice  In-1 Om-1 Memoria ROM este format din dou niveluri de porci logice: SI (un decodificator) _i SAU-NU (matricea de memorie). DCD din primul nivel prime_te codurile de intrare n binar (n este numrul intrrilor) _i activeaz pentru fiecare cod o ie_ire din cele 2n. Ie_irile DCD se conecteaz sau nu se conecteaz la circuitele de tip SAU-NU _i astfel se memoreaz un 0 sau un 1 logic. Vectorii de intrare n ROM se numesc adrese _i reprezint codurile n binar ale numerelor asociate fiecrui cuvnt de memorie. Ie_irile sunt de obicei  three-state sau  open colector pentru a permite legarea n paralel cu ie_irile altor memorii. Avem notaciile: n = numrul de bici ai vectorului de intrare (adresa) c = numrul de cuvinte memorate n ROM ( c = 2n b = numrul de bici din fiecare cuvnt Numrul de cuvinte trebuie s fie putere a lui 2. Modul de organizare a ROM este specificat prin produsul c x b. Capacitatea memoriei se exprim prin numrul total de bici memoraci: C = 2n x b. Unitatea de msur pentru capacitatea memoriei este kilobitul (1 Kb = 1024 bici).  Memoriile au o intrare de  Enable care permite (E = 0) sau inhib (E = 1) funccionarea ROM. Dac memoria este dezactivat, indiferent de adresare, ie_irile sunt pe semnal logic 1. Aplicaciile mai importante ale memoriilor de tip ROM sunt: memorarea instrucciunilor _i datelor n sisteme de calcul _i automate secvenciale; transformri de adres _i nmagazinarea instrucciunilor n microprogramare; conversii de cod; generatoare de caractere; generare de secvence de impulsuri; implementarea CLC cu un numr mare de variabile de intrare _i ie_ire. Implementarea CLC cu un numr mare de variabile de intrare _i ie_ire se bazeaz pe structura intern a memoriei ROM. Pe nivelul de DCD se decodific toci termenii canonici. Fiecare cuvnt de la intrarea matricei reprezint de fapt un termen canonic format din variabilele de intrare. La nivelul urmtor se adun toci termenii din expresia oricrei funccii _i rezult funccia de ie_ire. Lista de cuvinte din ROM este chiar tabelul de adevr al CLC. La implementarea cu ROM nu este necesar minimizarea, deoarece sunt memoraci toci termenii canonici _i sunt incluse toate posibilitcile de aparicie a acestora n funccia de ie_ire. Pentru folosirea eficient a memoriei ROM n sinteza funcciilor booleene, variabilele de intrare _i ie_ire trebuie codate, astfel nct s concin ct mai mult informacie. Se poate codifica orice grup de variabile care sunt mutual exclusive, adic doar una dintre ele poate fi activ la un moment dat. Pentru reducerea numrului de intrri n ROM se utilizeaz des _i multiplexoarele. Exemplu: S se implementeze cu ROM funcciile:  f0(x3,x2,x1,x0) = x3 ( x2 ( x1 ( x0 f1(x3,x2,x1,x0) = x2 ( x1  f2(x3,x2,x1,x0) = x3 ( x2 ( x1 ( x0 + x3 ( x2 ( x0 + x3 ( x2 ( x0 + x2 ( x1 Memoria folosit este de tipul:   x3 A3  x2 A2 16 x 4 bici  x1 A1  x0 A0 CS  D3D2D1D0  f2 f1 f0 Cu A s-au notat intrrile de adrese, cu D datele _i cu CS (chip select), intrarea de Enable a circuitului. Concinutul nscris n memorie este dat n tabelul urmtor: A3A2A1A0D3f2f1f000000000000101000010000000110000010000100101001001100100011101001000010010010000101001011011000011000010110101101110010011110100 Scopurile urmrite la implementarea cu ROM sunt: utilizarea unui numr minim de circuite integrate; folosirea integral a capacitcii memoriei. Pentru implementarea CLC cu memorii ROM trebuie urmrite urmtoarele etape: stabilirea dimensiunii memoriei necesare pentru aplicacia respectiv; alegerea tipurilor de circuite de tip ROM cu dimensiuni identice sau ct mai apropiate de cele stabilite anterior; dac nu exist memorii cu dimensiuni identice sau apropiate de cele dorite se fac transformri de dimensiuni (modificarea numrului de cuvinte sau numrului de bici pe cuvnt); stabilirea tabelului de adevr al ROM; reducerea dimensiunii ROM atunci cnd este posibil prin utilizarea codificrii intrrilor sau ie_irilor _i a multiplexrii intrrilor. 2.3.3.2. Sinteza CLC cu PLA PLA (Programmable Logic Array) este un CLC cu dou nivele de logic programabil, o matrice de porci SI _i o matrice de porci SAU. PLA este de fapt o structur universal, extins, de implementare cu 2 nivele de porci logice. Ambele matrici sunt programabile, n procesul de fabricacie sau de ctre utilizator, conform aplicaciei concrete. PLA este o structur mobil _i se utilizeaz eficient pentru sisteme cu mai mult de 8 variabile de intrare. Deoarece la PLA sunt programabile ambele nivele, implementarea se face pornind de la termenii elementari ai funcciei, obcinuci prin minimizarea ei. Reprezentarea schematic a PLA cu n intrri, m ie_iri _i p termeni elementari realizabili este: x1 conexiune programabil   x2   xn   Matrice  SI  1 p  1 f1  conexiune Matrice  programabil SAU  fm  m  conexiune programabil  CS Avantajele implementrii cu PLA fac de implementarea cu ROM se refer la posibilitatea programrii matricei SI _i a complementrii variabilelor de ie_ire (variabilele de ie_ire pot fi programate individual ca active pe 0 sau pe 1). Aplicacii ale PLA sunt la: - microprogramare; - conversii de cod; - generare de caractere; - realizare de tabele de funccii; - implementarea automatelor secvenciale. Observacie. Exist circuite integrate cu grad _i mai mare de integrare (VLSI) utilizate n implementare. Amintim dintre acestea FPGA (Field Programmable Gate Array). 2.4. Hazardul combinacional Datorit ntrzierilor produse de circuitele logice _i de firele de legtur ale unui CLC se poate ca starea ie_irii circuitului n momentul modificrii strii variabilelor s nu coincid cu valoarea funcciei corespunztoare valorii intrrilor n momentul considerat. Pentru timp scurt circuitul are o comportare gre_it, numit hazard. Exemplu f(x1,x2,x3) = x1 ( x3 + x2 ( x3 x1 (1 f x3 g (3  f x2 (2 x3 h Diagrama Karnaugh pentru funccie este: x1 x2x300011110011111 n practic ntrzierile (1, (2, (3 ale porcilor SI-NU nu sunt egale, de aceea poate s apar hazardul combinacional _i cnd se pune condicia ca doar o singur variabil de intrare s se modifice la un moment dat. Hazardul apare atunci cnd starea intrrilor x1x2x3 se modific de la 010 la 011 sau invers.  x1   x2   x3 (1  g   (2  h  f   f  (3 tr (2 > (1 de_i starea ar trebui s fie nemodificat. Dup timpul de reaccie tr = (1 + (2 va apare la ie_ire un impuls negativ de durat (t = (2 - (1 _i n aceast durat ie_irea ia o valoare incorect. Eliminarea hazardului static se poate face n cazul n care se impune ca la un moment dat s se modifice starea unei singure variabile de intrare. Pentru realizarea funcciei se consider _i unii termeni redundanci din diagrama Karnaugh, astfel nct oricare doi de 1 aflaci n csuce adiacente n diagram s fie inclu_i cel pucin ntr-un contur luat n considerare la sinteza schemei.  Pentru exemplul dat se va introduce n expresia funcciei termenul x1x2.  f = x2 ( x1 + x3 ( x1 + x3 ( x2  x1 g (1  x3  f  x2 h (2 (3 f  x3  x1 i (t  x2  x1   x2   x3 (1  g   (2  h i   f   f  Observacii Hazardul static poate s apar _i cnd (1 > (2, la schimbarea 011 n 000. Proiectarea unui CLC cnd se schimb mai mult dect o singur variabil de intrare la un moment dat, fr s apar hazard, este mai dificil sau chiar imposibil de realizat (hazard de funccie). Eliminarea sigur a hazardului se poate face lund n considerare ie_irea circuitului dup un interval de timp mai mare dect ntrzierea maxim din circuit. Curs 6 CAPITOLUL III CIRCUITE LOGICE SECVENbIALE Circuitele logice secvenciale, CLS, sunt automate de ordinul 1. Se obcin din automatele de ordinul 0 (CLC) prin introducerea unor reaccii (legturi inverse). Sunt alctuite din circuite logice combinacionale _i elemente de memorare binar. Semnalele de ie_ire ale CLS depind att de combinacia semnalelor aplicate pe intrri ct _i de starea circuitului. Un CLS este caracterizat printr-o secvenc a semnalelor de ie_ire _i o secvenc a strilor elementelor de memorie, pentru fiecare secvenc a semnalelor aplicate pe intrrile circuitului. Dup modul de funccionare (modul de transmitere a semnalelor) exist 2 categorii principale de CLS: asincrone  comportarea este determinat de aplicarea pe intrri a semnalelor n momente oarecare; starea circuitului depinde de ordinea n care se schimb semnalele; sincrone  comportarea este determinat de aplicarea pe intrri a semnalelor n momente discrete, bine determinate n timp; sincronizarea se realizeaz cu ajutorul unor impulsuri date de un generator de tact (ceas). Exemple de CLS: bistabili, numrtoare, registre, memorii RAM. 3.1. Circuite basculante bistabile Definicie. Circuitele basculante bistabile (CBB sau bistabil) sunt circuite logice secvenciale care au dou stri stabile distincte. Trecerea dintr-o stare n alta se face la aplicarea unei comenzi din exterior. Caracteristica principal a CBB este c sunt sisteme cu memorie (elemente de memorie binar). Un bistabil poate pstra un timp nedefinit informacia binar _i n acela_i timp starea sa poate fi citit n orice moment. Se asociaz uneia dintre cele 2 stri ale bistabilului funccia de memorare a cifrei binare 1 _i celei de a doua stri funccia de memorare a cifrei binare 0. Bistabilul are 2 ie_iri, una care pune n evidenc cifra binar memorat, numit ie_ire adevrat _i a doua, care pune n evidenc valoarea negat a cifrei binare memorate, denumit ie_ire negat. 3.1.1. Bistabilul RS asincron (latch)  Bistabilul RS asincron are 2 intrri de comand (de date): S (Set) _i R (Reset) _i dou ie_iri Q _i Q (complementare). Simbolul bistabilului RS asincron este:  S Q  R Q Tabelul de adevr al bistabilului RS asincron este: tn tn+1  Sn Rn Qt+1  0 0 Qt 1 0 1 0 1 0 1 1 ( Din punct de vedere logic nu are sens s se fac simultan nscrierea _i _tergerea informaciei, ca urmare Sn = 1 _i Rn = 1 va fi o situacie interzis (de nedeterminare, pentru c nu se poate prevedea starea final). Condicia de bun funccionare care se pune este Sn ( Rn = 0. Pentru a face sinteza circuitului vom considera semnalul de ie_ire Qt+1 la momentul tn+1, semnal care depinde de starea intrrilor Sn _i Rn _i de starea Qt, la momentul tn. Vom scrie Qt+1 ca o funccie de 3 variabile:  Qt Sn Rn Qt+1  0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 ( 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 ( Diagramele Karnaugh pentru Qt+1 _i Qt+1 sunt urmtoarele: Qt+1: Qt SnRn00011110000x1110x1 Qt+1: Qt SnRn00011110011x0101x0 Dac minimizm funcciile n FCC obcinem:  Qt+1 = Rn ( (Sn + Qt) Qt+1 = Sn ( (Rn + Qt) Deducem funcciile pentru schema cu porci de tip SAU-NU:   Qt+1 = Qt+1 = Rn ( (Sn + Qt) = Rn + (Sn + Qt)  Qt+1 = Qt+1 = Sn ( (Rn + Qt) = Sn + (Rn + Qt)  R Q     S Q  Schema bistabilului RS asincron realizat cu porci de tip SI-NU se bazeaz pe funcciile n forma FCD obcinute din diagramele Karnaugh:  Qt+1 = Sn + (Qt ( Rn) Qt+1 = Rn + (Qt ( Sn)   Qt+1 = Sn + (Qt ( Rn) = Sn ( (Qt ( Rn)  Qt+1 = Rn + (Qt ( Sn) = Rn ( (Qt ( Sn)  S Q     R Q  Pentru Sn = Rn = 1 rezult Q = 0 _i Q = 0, cele dou ie_iri nefiind complementare. Circuitul _i pierde n acest caz caracterul de circuit bistabil, cu dou stri distincte stabile. Bistabilul RS asincron este cel mai simplu element de memorare care poate fi realizat cu circuite logice elementare. Observacie. O aplicacie tipic a bistabilului RS asincron este utilizarea acestuia la eliminarea oscilaciilor ce apar la contactele mecanice. 3.1.2. Bistabilul RS sincron (latch cu ceas) Bistabilul RS sincron se obcine din bistabilul RS asincron prin adugarea unor porci logice suplimentare cu scopul de a rspunde la semnalele de intrare R _i S numai sub acciunea unui semnal de comand numit impuls de tact (ceas).  Sa  S Q   CLK   R Q  Ra Ie_irile bistabilului RS sincron se modific doar cnd semnalul de tact (ceas) CLK este activ. Simbolul bistabilului RS sincron este:   S Q  CLK  R Q Diagrama de timp pentru bistabilul RS sincron este:  CLK   R   S   Q Funccionarea este descris de funcciile:  Qt+1 = S + R ( Qt Qt+1 = R + S ( Qt S ( R = 0 ^i la acest bistabil situacia intrrilor n care S = R = 1 introduce o nedeterminare, de aceea ea trebuie evitat. Ct timp CLK este 0, intrrile de date nu influenceaz bistabilul. Cnd CLK = 1 bistabilul urmre_te modificrile intrrilor de date. Cnd CLK redevine 0 bistabilul se zvor_te (de aceea se nume_te latch), pstreaz informacia avut anterior pe ie_ire. Introducem nociunea de funccie de excitacie, caracteristic pentru fiecare bistabil. Ea pune n evidenc cum trebuie s fie intrrile bistabilului (ce stare trebuie s aib) pentru a se realiza o tranzicie specific. Tabelul de excitacie pentru bistabilul RS sincron este:  Qt Qt+1 R S  0 0 x 0 0 1 0 1 1 0 1 0 1 1 0 x Observacie. n afara intrrilor sincrone, la bistabilul RS sincron se introduc _i intrri asincrone, Ra _i Sa, la nivelul bistabilului RS asincron (porcile SI-NU). Aceste intrri sunt utilizate cu scopul forcrii la 0, prin Ra, sau la 1, prin Sa, a ie_irii bistabilului. Aparicia unor comenzi pe aceste intrri se execut independent de prezenca sau absenca tactului. Din acest motiv intrrile asincrone ale unui bistabil sunt prioritare n raport cu intrrile sincrone. 3.1.3. Bistabilul D sincron (delay)  Bistabilul D sincron are o singur intrare, D _i cele 2 ie_iri complementare, Q _i Q. Starea urmtoare a bistabilului D este determinat de modificarea intrrii D. El ntrzie cu un tact informacia pe care o prime_te pe intrare (circuit elementar de ntrziere). Sunt cele mai rspndite bistabile n registrele de date. Simbolul bistabilului D sincron:   S  D Q  CLK  Q  R  Bistabilul D se obcine din bistabilul RS sincron:  D Q   CLK   Q  Funcciile bistabilului D sunt:  Qt+1 = D  Qt+1 = D  Tabelul de adevr al bistabilului D este: D Q 0 1 Tabelul de excitacie al bistabilului D este:  Qt Qt+1 D  0 0 0 0 1 1 1 0 0 1 1 1 Starea urmtoare a bistabilului de tip D sincron este dependent doar de semnalul aplicat pe intrare, ea fiind independent de starea actual a bistabilului. Exist dou tipuri de bistabile de tip D sincron, unele care comut pe front (atunci cnd se schimb tactul) _i altele care comut pe nivel (atunci cnd tactul este pe nivel). 3.1.4. Bistabilul JK sincron Bistabilul JK sincron elimin situacia de nedeterminare pe ie_iri, prezent la bistabilul RS sincron, la combinacia S = R = 1 pe intrri. Se folosesc reaccii (legturi inverse) suplimentare. Tabelul de adevr al bistabilului JK sincron este:  J K Qt+1 0 0 Qt 0 1 0 1 0 1  1 1 Qt Tabelul de excitacie al bistabilului JK sincron este:  Qt Qt+1 J K  0 0 0 x 0 1 1 x 1 0 x 1 1 1 x 0 Funcciile pentru bistabilul de tip JK se determin din diagrama Karnaugh, pe baza tabelului de adevr n forma detaliat:  Qt J K Qt+1  0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 Qt+1: Qt JK00011110011111 Qt+1 = J ( Qt + K ( Qt Qt+1 = J ( Qt + K ( Qt Un bistabil de tip JK sincron se obcine din bistabilul RS sincron prin efectuarea legturilor care permit eliminarea condiciei R ( S = 0. R = K ( Qt S = J ( Qt   Q J  CLK sau  K Q     S  J Q   CLK   K Q   R   Intrrile S _i R sunt intrrile asincrone, care accioneaz la ultimul nivel de porci logice, nu depind de semnalul de tact _i sunt prioritare fac de intrrile sincrone J _i K (adic n momentul n care una dintre ele se activeaz, bistabilul va funcciona n regim asincron). Simbolul utilizat pentru bistabilul JK sincron este:   S  J Q  CLK  K Q  R  O analiz mai atent a bistabilului JK sincron arat c att timp ct intrarea de tact (CLK) rmne pe 1 logic dup stabilirea noii stri, bistabilul intr n oscilacie (_i tot schimb starea). Pentru a exista o singur comutare, durata impulsului pe CLK trebuie s fie mai mare dect timpul de propagare a semnalului printr-o poart logic _i mai mic dect timpul de propagare a semnalului prin dou porci logice. 3.1.5. Bistabilul T sincron (Toggle) Bistabilul T sincron se obcine din bistabilul JK sincron prin legarea intrrilor J _i K mpreun. Bistabilul schimb starea (comut) cnd pe intrare are semnal logic 1.   S  T Q   CLK   Q   R  Tabelul de adevr al bistabilului T sincron este:  T Qt+1 Qt 1 Qt Tabelul de excitacie al bistabilului T sincron este:  Qt Qt+1 T  0 0 0 0 1 1 1 0 1 1 1 0 Pentru determinarea funcciilor bistabilului T sincron utilizm diagrama Karnaugh de 2 variabile: Qt T010111 Qt+1 = T ( Qt + T ( Qt = T + Qt Qt+1 = T ( Qt + T ( Qt = T + Qt = T ( Qt Bistabilul T sincron are acelea_i deficience ca _i bistabilul JK sincron, legate de durata impus a semnalului de tact. Bistabilul T sincron este util n aplicaciile de numrtoare binare. Concluzie. Deficienca principal a structurilor de bistabile studiate este c nu se poate face o distinccie net ntre intrrile care condicioneaz momentul comutrii _i cele care determin modul comutrii (nu se face distinccie net ntre cnd _i cum). 3.1.6. Bistabile master-slave MS Bistabilele de tip master-slave introduc un tip de structur care permite rezolvarea comutrii bistabilelor. Acest principiul master-slave poate fi aplicat oricrui circuit bistabil. Structura master-slave este compus din 2 celule de memorie, una  master _i cealalt  slave . Master Slave   S SM QM SS QS Q  CLK CLK  R RM QM RS QS Q  CLK   Impulsul de tact are dou fronturi, unul pozitiv ( (de urcare de la 0 la 1, n logica pozitiv) _i unul negativ ( (de coborre de la 1 la 0, n logica pozitiv).  La bistabilele master-slave pe frontul cresctor al semnalului de tact se face nscrierea informaciei n master, slave fiind practic deconectat. Pe frontul descresctor urmtor se face transferul informaciei din master n slave _i informacia va apare la ie_iri dup frontul descresctor al impulsului de tact. Se asigur astfel o bun separare ntre intrrile de date _i ie_irile bistabilelor. S 1 3 Q     2 4 Q R  CLK M S  2 3 CLK 1 4 5  Q tS tH tS este timpul de set-up = perioada n care datele trebuie s fie pregtite nainte de impulsul de tact. tH este timpul de holding. Pe perioada 1  2 a impulsului de ceas, porcile de la intrare nu sunt nc deschise, iar porcile 3,4 se blocheaz _i astfel izoleaz slave de master. Pe zona 2  3 porcile de intrare 1,2 se deschid _i informacia trece n master. Porcile 3,4 sunt nchise _i slave _i pstreaz vechea informacie. Pe zona 3  4 porcile 1,2 se nchid _i porcile 3,4 nu se deschid nc: master este izolat de intrare _i de slave. Pe perioada 4  5 porcile 3,4 se deschid, n timp ce porcile 1,2 sunt blocate _i informacia apare pe ie_ire. Perioada critic este cea de mencinere a datelor la intrare, tH, pe perioada 4  5. Memorarea se face pe frontul descresctor al impulsului de tact. Curs 7 3.2. Aplicacii ale circuitelor basculante bistabile 3.2.1. Numrtoare Numrtoarele sunt circuite logice secvenciale care nregistreaz numrul de impulsuri aplicate la intrare. Ele se realizeaz prin asocierea circuitelor basculante bistabile, avnd rol de celule de memorie binar, cu circuite logice combinacionale, care determin modul corect n care urmeaz ca numrtorul s-_i schimbe starea la fiecare nou impuls aplicat la intrare. Clasificare Clasificarea numrtoarelor se face dup anumite criterii: modul de funccionare (comutare a bistabililor): asincrone  celulele de memorie din care este construit numrtorul nu comut simultan ci aleator; sincrone  celulele de memorie din care este construit numrtorul comut simultan sub acciunea unui impuls de tact aplicat simultan tuturor celulelor. modul de modificare a strilor (concinutului): directe  _i cresc concinutul cu o unitate la fiecare impuls aplicat la intrare; inverse  concinutul scade cu o unitate la fiecare impuls aplicat la intrare; reversibile  numr direct sau invers, n funccie de o comand aplicat din exterior. modul de codificare a informaciei: binare binar-zecimale modulo  p etc. Numrtoarele se pot realiza cu celule de memorie de tip T care realizeaz o divizare cu 2. Prin interconectarea a  n celule de memorie se obcine un numrtor cu un numr de stri distincte. Fiecrei stri i vom asocia cte un cuvnt de cod binar de lungime  n , reprezentnd concinutul celor  n celule binare pentru starea dat a numrtorului. Codul n care numr un numrtor va fi dat de succesiunea cuvintelor de cod binar asociate strilor numrtorului. Numrul strilor stabile distincte posibile ale unui numrtor format din  n celule binare este 2n. Dac din aceste stri se elimin  k stri rezult un numrtor cu p = 2n  k stri distincte. Matematic, operacia realizat de numrtor este o operacie modulo  p . Definicii: Capacitatea numrtorului = numrul strilor sale distincte. Factorul de divizare = raportul dintre numrul de impulsuri de la intrare _i numrul impulsurilor de la ie_ire. Observacie. Un numrtor funccioneaz de fapt _i ca un divizor de frecvenc. Tipuri de numrtoare 1. Numrtor binar asincron direct Schema logic a numrtorului este realizat prin conectarea n cascad a bistabililor de tip JK n configuracie de bistabili de tip T:  Q0 Q1 Q2   J0 Q0 J1 Q1 J2 Q2  CLK0 CLK1 CLK2  K0 Q0 K1 Q1 K2 Q2  1 1 1 R  Q0, Q1, Q2, ie_irile numrtorului, ne dau starea lui la un moment dat. R este semnalul de Reset, folosit pentru aducerea numrtorului n starea inicial, la 000. Intrrile bistabililor JK sunt toate legate la  1 logic, deci bistabilii vor comuta la fiecare impuls de tact. Tact exterior se aplic doar pe intrarea primului bistabil. Formele de und pentru numrtorul binar asincron direct sunt:  CLK  Q0  Q1  Q2 Q2 0 0 0 0 1 1 1 1 Q1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 Numrtorul este modulo 8, numrnd direct n binar, de la 000 la 111. El basculeaz pe fronturile descresctoare ale impulsurilor de tact. Dac dorim s obcinem valorile numrului n zecimal putem utiliza ie_irile numrtorului, Q0, Q1, Q2, ca _i intrri ntr-un decodificator binar zecimal. Dezavantajul numrtorului asincron este c timpul de comutare, n cel mai defavorabil caz, este egal cu suma timpilor de comutare a tuturor bistabililor care l compun. Avantajul lui const n simplitatea schemei, realizat doar cu bistabile, prin interconectri directe. 2. Numrtor binar asincron invers Schema logic a numrtorului este:  Q0 Q1 Q2   J0 Q0 J1 Q1 J2 Q2  CLK0 CLK1 CLK2  K0 Q0 K1 Q1 K2 Q2  1 1 1 R  Formele de und pentru numrtorul binar asincron invers sunt:  CLK  Q0  Q1  Q2 Q2 0 1 1 1 1 0 0 0 0 Q1 0 1 1 0 0 1 1 0 0 Q0 0 1 0 1 0 1 0 1 0 Numrtorul este modulo 8, numrnd invers n binar, de la 111 la 000. El basculeaz pe fronturile descresctoare ale impulsurilor de tact. 3. Numrtor binar asincron reversibil Numrtorul binar asincron reversibil are celula de memorie de baz ca _i numrtoarele asincrone anterioare, dar ntre celulele de memorie se intercaleaz multiplexoare de tip 2:1 prin care se comand sensul de numrare.  Q0 Q1 Q2   J0 Q0 A Mux J1 Q1 A Mux J2 Q2  CLK0 2:1 Y CLK1 2:1 Y CLK2  K0 Q0 B K1 Q1 B K2 Q2  1 1 1 R S Pentru S = 0 numrtorul numr direct, iar pentru S = 1 numrtorul numr invers. 4. Numrtor binar sincron serie _i paralel Realizarea numrtoarelor de tip sincron are ca scop cre_terea vitezei de comutare a numrtorului n ansamblu. Funccionarea acestor numrtoare este sincron, bistabilii, de tip JK, avnd intrrile de CLK legate mpreun. Pe baza tabelului de adevr se obcine logica combinacional suplimentar, care asigur funccionarea corect a numrtorului. Nr.Q0Q1Q2Q300000110002010031100400105101060110711108000191001100101111101120011131011140111151111 Schema logic pentru numrtorul binar sincron serie este:   Q0 Q1 Q2 Q3    1  S S S S  J Q J Q J Q J Q  CLK CLK CLK CLK  K Q K Q K Q K Q R R R R  Reset Intrrile J _i K ale primului bistabil sunt legate la 1  logic _i vor comuta bistabilul la fiecare tact (conform tabelului de adevr). Al doilea bistabil comut doar din 2 n 2 impulsuri de tact, adic atunci cnd Q0 trece din 1 n 0, deci pot fi legate la ie_irea primului bistabil. Al treilea bistabil basculeaz din 4 n 4 impulsuri _i va fi comandat de funccia SI ntre ie_irile Q1 ( Q0, iar al patrulea bistabil comut din 8 n 8 impulsuri _i va fi comandat de funccia SI ntre ie_irile Q2 ( Q1 ( Q0. n cazul numrtorului binar sincron de tip serie porcile logice de tip SI utilizate vor fi toate cu 2 intrri, ca n schema logic anterioar. Pentru mrirea vitezei de rspuns a numrtorului se vor folosi porci logice de tip SI cu numrul de intrri necesar funcciei SI implementate, ca n schema de mai jos, corespunztoare unui numrtor binar sincron paralel.   Q0 Q1 Q2 Q3    1  S S S S  J Q J Q J Q J Q  CLK CLK CLK CLK  K Q K Q K Q K Q R R R R CLK Reset Timpul de comutare al numrtorului binar sincron paralel este mai mic dect la cel serie, dar exist porci de tip SI cu un numr mai mare de intrri. 5. Numrtor binar sincron reversibil Pentru realizarea reversibilitcii numrtorului binar sincron se folosesc 2 intrri suplimentare, Count-Up (numr direct) _i Count-Down (numr invers). Aceste numrtoare vor avea _i ie_iri pentru transport (Carry) _i mprumut (Borrow), care vor permite legarea n cascad a numrtoarelor. Sinteza numrtoarelor modulo p Pentru a face sinteza unui numrtor cu p ( 2n trebuie determinat numrul minim de celule de memorie binar necesare. Relacia folosit este: 2n ( p. Celulele de memorie se interconecteaz apoi astfel nct s se omit (2n  p) stri. Din acest motiv exist mai multe variante posibile pentru interconectare, deci _i pentru sinteza numrtorului. Exemplu: Sinteza unui numrtor modulo 5. Pentru 2n ( 5 obcinem n = 3, deci vom avea 3 celule de memorie pentru numrtor. Numrul strilor omise va fi 23  5 = 8  5 = 3. Presupunem c avem urmtoarea succesiune a strilor de numrare (ciclu de numrare):   000 001 010 011 100  Evident c se putea alege _i alt succesiune a strilor numrtorului. Folosim pentru realizarea numrtorului bistabili de tip JK. Se construie_te un tabel cu strile actuale ale numrtorului, cu strile urmtoare _i cu condicionrile intrrilor JK ale celor 3 bistabili folosici pentru sintez. Completarea tabelului se face pe baza tabelului de excitacie al bistabilului JK sincron.  Qt Qt+1 J K  0 0 0 x 0 1 1 x 1 0 x 1 1 1 x 0 Q2tQ1tQ0tQ2t+1Q1t+1Q0t+1J2K2J1K1J0K00000010x0x1x0010100x1xx10100110xx01x0111001xx1x1100000x10x0x Diagramele Karnaugh pentru cele 6 intrri ale bistabilelor ne permit determinarea funcciilor pentru intrri. Strile omise se consider indiferente. J2: Q2 Q1Q000011110011xxxxJ2 = Q1 ( Q0 K2: Q2 Q1Q0000111100xxxx11xxxK2 = 1 J1: Q2 Q1Q00001111001xx1xxxJ1 = Q0 K1: Q2 Q1Q0000111100xx11xxxxK1 = Q0 J0: Q2 Q1Q00001111001xx11xxxJ0 = Q2 K0: Q2 Q1Q0000111100x11x1xxxxK0 = 1 Schema logic pentru numrtorul modulo 5 va fi urmtoarea:  Q2 Q1 Q0    J2 Q2 J1 Q1 J0 Q0  CLK CLK CLK  1 K2 Q2 K1 Q1 1 K0 Q0  R2 R1 R0  CLK  Reset Pentru rezolvarea complet a sintezei numrtorului modulo 5 trebuie discutat _i problema strilor omise. Ce se ntmpl cu numrtorul dac nu are secvenc de inicializare sau dac ajunge cumva n una dintre strile care nu face parte din ciclul de numrare? Care va fi evolucia numrtorului? Trebuie verificate tranziciile numrtorului n cazul n care este ntr-o stare din afara ciclului de numrare. Putem avea 2 situacii: fie numrtorul revine singur n ciclul de numrare, fie trebuie reproiectat astfel nct s revin n ciclul de numrare. Strile omise n exemplul dat sunt:  101 ( 010  110 ( 010 _i din starea aceasta se revine n ciclu 111 ( 010 Observacie. Un numrtor modulo p se poate obcine folosind un numrtor binar sincron. Se las numrtorul binar s evolueze pn la starea p-1. La atingerea strii  p se aplic numrtorului, printr-o logic combinacional, un impuls de _tergere (pe intrarea de Reset). Numrtoare Moebius Numrtoarele Moebius sunt numrtoare n inel cu coad ntoars (twisted tail ring counter). De_i exist numrtoare de tip MSI pentru numrarea binar sau a altor tipuri de secvence, exist unele cazuri n care se prefer proiectarea unor numrtoare speciale cu bistabili _i porci logice. Exemplu: un numrtor cu 8 stri la care la fiecare tranzicie se modific numai un singur bit, se poate construi utiliznd urmtoarea secvenc: 0000 0 1000 8 1100 12  1110 14 1111 15  0111 7 0011 3  0001 1 Proiectarea se face _i cu bistabili de tip D _i cu bistabili de tip JK. Tabelul folosit pentru sinteza numrtorului este: Q3tQ2tQ1tQ0tQ3t+1Q2t+1Q1t+1Q0t+1D3D2D1D0J3K3J2K2J1K1J0K00000100010001x0x0x0x100011001100x01x0x0x110011101110x0x01x0x111011111111x0x0x01x111101110111x1x0x0x00111001100110xx1x0x00011000100010x0xx1x00001000000000x0x0xx1Diagramele Karnaugh ne permit s determinm valorile pentru intrrile bistabilelor D3  D0 _i J3  K0. D3: Q3Q2 Q1Q000011110001x01xxx111x1101xxxD3 = Q0 D2: Q3Q2 Q1Q00001111000x01xxx111x11101xxxD2 = Q3 D1: Q3Q2 Q1Q00001111000x01xx1x111x1110xxxD1 = Q2 D0: Q3Q2 Q1Q000011110001x01xx1x11x1110xxxD0 = Q1 J3: Q3Q2 Q1Q000011110001x01xxx11xxxx10xxxxJ3 = Q0 K3: Q3Q2 Q1Q00001111000xxxx01xxxx11x110xxxK3 = Q0 J2: Q3Q2 Q1Q00001111000x01xxxx11xxxx101xxxJ2 = Q3 K2: Q3Q2 Q1Q00001111000xxxx01xx1x11x10xxxxK2 =Q3 J1: Q3Q2 Q1Q00001111000xx01xxxx111xxx10xxxJ1 = Q2 K1: Q3Q2 Q1Q00001111000xx1x01xxx11xx10xxxxK1 = Q2 J0: Q3Q2 Q1Q00001111000xxx01xxxx11xx110xxxJ0 = Q1 K0: Q3Q2 Q1Q00001111000x1x01xxx11xxx10xxxxK0 = Q1 Cele 2 scheme logice pentru numrtor sunt:   D3 Q3 D2 Q2 D1 Q1 D0 Q0  CLK Q3 CLK Q2 CLK Q1 CLK Q0  CLK    J3 Q3 J2 Q2 J1 Q1 J0 Q0  CLK CLK CLK CLK  K3 Q3 K2 Q2 K1 Q1 K0 Q0  CLK Observacie. Starea fiecrui bistabil este determinat de starea anterioar a bistabilului plasat n stnga sa, iar starea primului bistabil este determinat de ie_irea complementar a ultimului bistabil. Se pot construi numrtoare Moebius de orice dimensiune (ordin). Aplicacii ale numrtoarelor Moebius a. Se pot folosi ca _i numrtoare de stare. Dac numrtorul este implementat cu bistabile JK, fiecare comutare a strii este controlat de cte o intrare diferit. Din acest motiv, modificarea oricrei stri va putea fi controlat independent, adugnd o poart SI sau SI-NU pe intrarea respectiv (de exemplu tranzicia 0 ( 8 este controlat de J3, tranzicia 8 ( 12 de J2 _.a.m.d.). b. Generatoare de ceas cu mai multe faze. Cele 8 ie_iri ale numrtorului genereaz de fapt 8 semnale de ceas defazate n mod egal, cu factor de umplere de 50%. n general un numrtor Moebius de n bici genereaz 2n faze de ceas. c. Decodificarea oricrei stri se poate face printr-o poart cu 2 intrri. Pt. a face decodificarea strii se vor urmri cei 2 bici adiacenci distincci, 1 _i 0. d. Decodificarea strilor succesive se realizeaz prin porci care au ca intrri ultimul 1 al primei stri _i primul 0 al ultimei stri. Curs 8 3.2.2. Registre Registrele sunt circuite logice secvenciale care permit stocarea _i/sau deplasarea informaciei codificate binar. Ele se realizeaz din celule de memorie binar (CBB) _i din circuite logice combinacionale (CLC), care permit nscrierea, citirea _i transferul informaciei. Capacitatea unui registru este dat de numrul celulelor de memorie. Orice informacie binar, care nu dep_e_te capacitatea registrului, poate fi nscris prin accionarea corespunztoare a intrrilor (care depinde _i ea de natura bistabilelor). Registrele pot s fie de mai multe tipuri: de memorie; de deplasare; combinate; universale. Registrele de memorie memoreaz informacia binar n celule de memorie binar. n fiecare celul de memorie se memoreaz un bit de informacie. ncrcarea se poate face paralel, prin intrrile asincrone, de Set _i Reset. Registrele de deplasare sunt cele care realizeaz transferul informaciei. Transferul se poate face: stnga-dreapta; dreapta-stnga; n ambele sensuri. La fiecare impuls de tact concinutul registrului se deplaseaz cu cte o celul (n sensul stabilit). Semnalul de ie_ire este identic cu cel de intrare, dar ntrziat cu un numr de impulsuri de tact egal cu numrul de celule de memorie din care este format registrul. Exceptnd primul bistabil, ecuacia de stare a unui registru de deplasare stnga-dreapta este dat de relacia: Qi(t+1) = Qi-1(t) ( c (unde c = impulsul de tact). Exemplu: Registru de deplasare stnga-dreapta cu bistabile JK MS.  Q0 Q1 Q2 Q3  SIN  J0 Q0 J1 Q1 J2 Q2 J3 Q3  CLK CLK CLK CLK  K0 Q0 K1 Q1 K2 Q2 K3 Q3 R R R R Reset  CLK La fiecare impuls de tact concinutul bistabilului Qi se transfer n bistabilul Qi+1. n bistabilul Q0 se introduce informacia din exterior, iar concinutul ultimului bistabil se pierde. ncrcarea registrului se realizeaz deci n mod serie. Inicializarea registrului se face prin semnalul de Reset, care forceaz toate ie_irile registrului n 0 logic. Registrele de deplasare dreapta-stnga _i reversibile se realizeaz folosind circuite logice combinacionale suplimentare. Registrele combinate sunt cele care au _i funccia de memorare _i cea de deplasare. Registrele universale cumuleaz toate funcciile: deplasare stnga-dreapta, deplasare dreapta-stnga, ncrcare serie sau paralel a informaciei, citire serie sau paralel a informaciei.  RI A B C D LI S0  S1       D Q D Q D Q D Q CLK CLK CLK CLK CLK  CLR CLR CLR CLR  CLR  Q0 Q1 Q2 Q3 Intrrile de seleccie S1S0 condicioneaz modul de funccionare a registrului. Avem: S1S0 = 00 pstreaz concinutul nemodificat; S1S0 = 01 deplasare stnga-dreapta; S1S0 = 10 deplasare dreapta-stnga; S1S0 = 11 ncrcare paralel. ^tergerea registrului se face asincron, prin semnalul CLR. Aplicacii ale registrelor Registrele sunt utilizate n mai multe tipuri de aplicacii, dup funcciile pe care pot s le ndeplineasc. Registre de deplasare cu reaccie Au ie_irile conectate la intrri _i pot fi: registre de deplasare n inel  concinutul ultimei celule de memorie se nscrie n prima celul de memorie; Q0 Q1 Q2 Q3  1 0 0 0  SIN 0 1 0 0 0 0 1 0 Q0 Q1 Q2 Q3 0 0 0 1  1 0 0 0 - registre (numrtoare) Johnson  n prima celul se introduce concinutul negat al ultimei celule. Q0 Q1 Q2 Q3  0 0 0 0  SIN 1 0 0 0  1 1 0 0  Q0 Q1 Q2 Q3 1 1 1 0  1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 2. Memorie de tip FIFO (First In, First Out), primul nscris  primul citit (memorie coad) Se realizeaz cu registre de deplasare stnga-dreapta. Numrul registrelor depinde de lungimea cuvintelor ce urmeaz a fi memorate. Capacitatea memoriei depinde de lungimea registrelor. De exemplu, dac registrele sunt de 4 bici, capacitatea memoriei este de 4 cuvinte. La fiecare impuls de tact se introduc datele pe intrarea serial. y1   SIN Ts  x1  y2   SIN Ts  x2  y3   SIN Ts  x3  y4   SIN Ts  x4  CLK 3. Memorie de tip LIFO (Least In, First Out), ultimul introdus  primul citit (memorie stiv) Realizarea se face cu registre combinate. Numrul registrelor este dat de lungimea cuvntului de memorie, iar lungimea registrelor determin capacitatea de memorie. xi  A0  A1  A1 A0  SIN Q0 yi Q1 Q2  Q3  R CLK   A1 A0 0 1 deplasare stnga-dreapta ( nscriere 1 0 citire Memoria stiv poate fi organizat _i soft, n memoria de tip RAM, dar de_i capacitatea acesteia poate fi mare, timpul de acces va fi _i el mare. 4. Conversia serie-paralel _i paralel serie a informaciei Pentru conversia serie-paralel se face ncrcarea registrului pe intrarea serial _i cu comand de tact serie Ts _i se cite_te informacia pe ie_iri, paralel. Pentru conversia paralel-serie se face ncrcarea paralel a informaciei, cu comand de tact paralel Tp _i apoi se deplaseaz informacia stnga-dreapta, cu comand de tact serie Ts _i se cite_te serie la ultima ie_ire. 5. Generatoare de secvence Generatoarele de secvence genereaz o succesiune de secvence binare (1 _i 0) de lungime dat (prestabilite). Lungimea secvencei reprezint numrul de bici dup care se repet ntreaga secvenc. Secvencele binare pot fi: - aleatoare, de lungime infinit; - deterministe, de lungime finit. Secvencele binare deterministe de lungime maxim se numesc secvence pseudoaleatoare. Realizarea generatoarelor de secvence se face cu registre n reaccie cu circuite logice combinacionale adecvate.  Q0 Q1 Q2  y = Q0 + Q2    S0 Q0 S1 Q1 S2 Q2  CLK CLK CLK  R0 Q0 R1 Q1 R2 Q2  CLK  Secvenca pseudoaleatoare generat la ie_irile Q0Q1Q2 este: 100 ( 110 ( 111 ( 011 ( 101 ( 010 ( 001  3.2.3. Memorii RAM Memoriile de tip RAM (random access memory) sunt memorii de tip cite_te-scrie, cu acces aleator. Ele nu-_i pstreaz informacia dup ntreruperea tensiunii de alimentare. Memoria este format din nivelul de decodificare, matricea de memorie realizat cu celule de memorie binar de tip  latch _i nivelul de multiplexare. Dimensiunea memoriei este specificat prin numrul de cuvinte _i numrul de bici pe cuvnt. Capacitatea memoriei este dat de numrul de bici memoraci n matricea de memorie. Schema funccional de principiu a unei memorii RAM este urmtoarea:  Adres CE sau CS (chip select)  n Decodificator   2n n Matrice de memorie  2n  WE (write enable)  Multiplexor  Date Decodificatorul accioneaz pentru selectarea fiecrei celule de memorie, iar multiplexorul permite selectarea oricrei celule de memorie la intrare  ie_ire.  Validarea memoriei se face prin intrarea CS. Citirea memoriei se face dac WE = 1, iar scrierea memoriei se face dac WE = 0. Datele de intrare _i ie_ire pot s foloseasc linii diferite sau aceea_i linie bidireccional. Memoriile pot avea un numr diferit de ci de date (de obicei cuvinte de 1 bit sau de un numr de bici multiplu de 2). Memoriile de tip RAM pot s fie din punct de vedere constructiv de tip static sau dinamic. Cele dinamice sunt realizate cu condensatoare _i au nevoie de remprosptarea la diferite intervale de timp a informaciei memorate, pentru a se evita pierderea ei. Extinderea capacitcii memoriilor se face att prin extinderea dimensiunii cuvntului de memorie (numrul de bici din cuvnt), ct _i prin extinderea numrului de cuvinte ale memoriei (adresa de memorie). Curs 9 3.3. Sinteza circuitelor logice secvenciale sincrone Circuitele secvenciale sincrone trec dintr-o stare n alta la momente distincte de timp, determinate de impulsurile de tact. ntre dou impulsuri de tact starea circuitului nu se modific.  Variabile de intrare   Generare stare nou Calculul excitaciilor secundare CLC  Excitacii secundare  Tact Registru de stri Stri interne CL   Variabile secundare  Calculul variabilelor de ie_ire CLC CL = circuit logic general  pstreaz starea intern ( registru de stri (bistabili RS, D, JK, registre, memorii); poate fi circuit logic secvencial cu bucl de reaccie. CLC = determin funcciile de excitacie secundare care n prezenca tactului determin trecerea circuitului n alt stare ( se poate numi generatorul strii noi; se pot realiza cu porci logice sau cu circuite specializate (multiplexoare, decodificatoare). Variabilele de intrare sunt n general sincrone cu impulsul de tact, dar pot fi _i de tip asincron. 3.3.1. Etapele de sintez 1. Expunerea condiciilor de funccionare (descrierea comportrii circuitului). Stabilirea modalitcii de definire a circuitului care trebuie sintetizat prin: tabel de tranzicii; graf de tranzicii; organigram; forme de und. Trebuie evidenciate: strile prin care trece circuitul; valorile variabilelor de intrare pentru care se schimb strile; valorile rezultate ale variabilelor de ie_ire. Evolucia circuitului ncepe ntr-o stare inicial _i de obicei se revine la aceast stare, dup ultima stare a ciclului. 2. Se codific strile circuitului. 3. Se ncearc reducerea (simplificarea) numrului de stri a circuitului, dac este posibil, nct s se pstreze funccionarea lui corect. 4. Se decide asupra modului de implementare (registrul de stri interne). 5. Se determin funcciile de excitacie _i cele de ie_ire, dac este posibil. 6. Se studiaz problemele legate de eventualele ie_iri false (hazard) sau tranzicii false. 7. Se deseneaz circuitul. Etapa cea mai dificil este cea de codificare a strilor. n general funccionrile defectuoase se datoreaz unor tranzicii gre_ite ntre stri sau unor semnale gre_ite care apar la circuitul de generare a variabilelor de ie_ire. Tranziciile gre_ite ntre stri apar datorit prezencei variabilelor de intrare asincrone (se elimin cel mai u_or dac se sincronizeaz variabilele de intrare cu semnalul de tact). Codificarea strilor se stabile_te astfel nct, n orice stare, pentru toate combinaciile posibile de intrri asincrone, s nu fie mai mult dect o singur variabil de stare dependent de o variabil de intrare asincron. n aceste condicii, dou stri rezultate din calea de ie_ire a unei intrri asincrone vor avea codificare adiacent. Ie_irile false pot s apar din cauz c la trecerea dintr-o stare n alta, variabilele de stare practic nu se modific simultan. Pentru evitarea tranziciilor false ale ie_irilor se pot folosi metodele: se realizeaz o codificare adiacent a strilor; se forceaz trecerea circuitului prin stri suplimentare; se sincronizeaz variabilele de ie_ire. Observacie: Hazardul static al CLC se elimin prin proiectare (se introduc termeni redundanci, indiferenci). 3.3.2. Utilizarea organigramei n sinteza circuitelor logice secvenciale sincrone Elementele componente ale organigramei de funccionare a oricrui circuit secvencial sincron sunt: - elementul de intrare (control sau decizie): Variabile de intrare - sincrone   var. 1  0 - asincrone   var. 1  0 - elementul de stare:  Q2Q1Q0 000  - elementul de ie_ire:   transfer  Configuracii elementare care unesc cele 3 elemente de baz:  A 001 tranzicie simpl: - contor de timp - solucionarea problemei de codificare a strilor B 011   A stare cu ie_ire   Adun  B   A stare cu decizie   1 I1 0 B C   A stare cu ie_ire _i decizie   Scade  1 I1 0  B C   A stare cu ie_ire condicionat    I1 1  0 Ie_ire   B   A stri cu decizii multiple _i ie_ire   0 I1 1  1  I2 C  0 1 0  I3 B Ie_ire  Observacii Orice tranzicie ntre 2 stri ale circuitului se face ntr-un singur impuls de tact. La un moment dat circuitul se poate gsi ntr-o singur stare. Un circuit care se gse_te la un moment dat ntr-o stare dat, cu un set de intrri dat, poate avea o singur stare urmtoare. 3.3.3. Sinteza circuitelor secvenciale sincrone cu diferite elemente de memorie n sinteza circuitelor secvenciale sincrone se vor folosi ca elemente de memorie bistabili de tip D _i JK. Implementarea registrului de stri se va realiza cu aceste tipuri de bistabile. Exemplu: S se recunoasc secvenca 101 n _irul de cifre binare 10101. Graful de tranzicii are n noduri strile circuitului. Pe arce avem tranzicia dintr-o stare n alta pentru o anumit intrare, cu o anumit ie_ire.  0/0 1/0  1/0 0/0  Init A B C  1/1 0/0 Avem 2 variabile de stare pentru a putea codifica 2 stri (A=00, B=01, C=11). Cu x am notat intrarea, cu z ie_irea. Tabelul de tranzicii este:  St St+1,z  Q1Q0 x=0 x=1 00 A A,0 B,0 01 B C,0 B,0 11 C A,0 B,1 a. Implementm registrul de stri cu bistabile de tip D. Funcciile de excitacie se deduc explicitnd diagrama strilor pentru momentul t _i momentul t+1. Strile se vor nlocui cu codurile lor (A=00, B=01, C=11).  St St+1 (Q1Q0)t+1 z  Q1Q0 D1D0 D1D0  x=0 x=1 x=0 x=1 00 (A) 00 (A) 01 (B) 0 0 01 (B) 11 (C) 01 (B) 0 0 11 (C) 00 (A) 01 (B) 0 1 Di = Qit ecuacia strii urmtoare D1: Q1Q0 x0100000110110010xxD1 = Q1 ( Q0 ( x D0: Q1Q0 x0100010111110110xx D0 = x + Q1 ( Q0 z: Q1Q0 x0100000100110110xxz = Q1 ( x La trecerea din starea C n starea A se poate trece prin starea B, ceea ce nu corespunde funccionrii. n mod normal se introduce o stare suplimentar pentru a rezolva situacia. Schema pentru circuitul secvencial sincron este:  D1 Q1 D0 Q0 Q1  CLK CLK Q0 D1  Q1 Q0 x  R R Q0 Init Q1 D0  x CLK Q1 z  x b. Implementm registrul de stri cu bistabile de tip JK. Diagrama strilor se completeaz cinnd cont de tabelul de excitacie al bistabilului JK.  Qt Qt+1 J K  0 0 0 x 0 1 1 x 1 0 x 1 1 1 x 0  St St+1(Q1Q0)t+1 z  Q1Q0 J1K1 J0K0 J1K1 J0K0 x=0 x=1 x=0 x=1 x=0 x=1  00 (A) 00 01 0x 0x 0x 1x 0 0 01 (B) 11 01 1x x0 0x x0 0 0 11 (C) 00 01 x1 x1 x1 x0 0 1 J1: Q1Q0 x010000011011xx10xxJ1 = Q0 ( x K1: Q1Q0 x0100xx01xx111110xxK1 = 1 J0: Q1Q0 x01000101xx11xx10xxJ0 = x K0: Q1Q0 x0100xx0100111010xxK0 = Q1 ( x z: Q1Q0 x0100000100110110xxz = Q1 ( x 3.3.4. Implementarea generatorului noii stri cu multiplexoare Pentru a realiza o implementare cu multiplexoare se scriu funcciile de excitacie pentru bistabile n forma canonic (fr a se minimiza). Se iau n considerare locaciile care sunt 1 sau care au o variabil nglobat.  x   CLC  MUX  Registru de stare  CLC  y 3.3.5. Implementarea generatorului noii stri cu decodificatoare n cazul implementrii generatorului noii stri cu decodificatoare, la intrarea decodificatorului sunt aplicate variabilele de stare, iar la ie_ire sunt individualizate strile interne. 3.3.6. Implementarea generatorului noii stri cu memorii _i multiplexoare Acest tip de implementare a generatorului noii stri se utilizeaz n cazul circuitelor complexe. Se asigur o simplificare a logicii de generare a noii stri _i o cre_tere a sigurancei n funccionare. Implementarea generatorului noii stri cu decodificatoare:  x   CLC   Registru de stri  DEC   CLC  y Implementarea generatorului noii stri cu multiplexoare _i memorii:  x   MUX   Memorie  Registru de stri   CLC  y Curs 10 Exemplu: Sinteza unui automat (circuit secvencial sincron) de rspuns la telefon. Se poate programa numrul de apeluri sonore ale soneriei telefonului dup care ncepe s funccioneze automatul. Programul automatului se ncheie n condiciile: 1) dup preluarea (nregistrarea) mesajului; 2) dac apelantul nchide; 3) dac destinatarul rspunde la telefon. 1. Determinarea funccionrii  obcinerea organigramei. Se stabile_te schema bloc a automatului, cu componentele periferice adicionale necesare. Se stabilesc variabilele de intrare _i ie_ire _i caracterul lor sincron sau asincron. Avem nevoie de: - telefon propriu-zis (TEL); - numrtor pentru apelurile sonore ale soneriei telefonului (NRT); - casetofon pentru redarea mesajului de ntmpinare (PLAY); - casetofon pentru nregistrarea mesajului apelantului (REC). Variabilele folosite sunt: Sonerie: fiecare apel al soneriei telefonului provoac decrementarea numrtorului NRT pn ce ajunge la 0. Nu este variabil a automatului. Start: variabil de intrare asincron, de la numrtor, care determin nceperea funccionrii automatului, dac numrtorul a ajuns pe 0. StartPlay (SP), StartRecord (SR): variabile de ie_ire spre casetofon. EndOfPlay (EP), EndOfRecord (ER): variabile de intrare asincrone, de la casetofon. ApelantStop (AS): variabil de intrare asincron de la telefon (apelantul poate nchide oricnd telefonul). DestinatarPick-Up (DPU): variabil de intrare asincron de la telefon; apare cnd destinatarul rspunde la telefon. Init: variabil de ie_ire spre numrtor; ncarc paralel numrtorul cu valoarea stabilit pentru numrul de apeluri ale soneriei telefonului pn la intrarea n funcciune a automatului. Obs: variabilele de intrare AS _i DPU genereaz semnalul de Reset pentru bistabilii interni ai automatului _i opresc nregistrarea pe casetofon. Schema bloc este:  CLK Sonerie PL NRT TEL  Zero AS DPU  Start  Init Automat ER  SP  EP SR  PLAY REC Organigrama automatului este:  000  A   Init  1 0  Start  B 001   SP   011 C   1 0  EP  D 010  SR   100 E  1 0  ER  2. Codificarea strilor Pentru c variabilele de intrare sunt asincrone este nevoie de o codificare adiacent a strilor automatului (A,B), (C,D), (E,A) . Pentru 5 stri sunt necesare 3 variabile de stare pentru codificare. Se alege codificarea: A = 000; B = 001; C = 011; D = 010; E = 100. Se construie_te diagrama Karnaugh pentru stri, pe baza codificrii fcute: Q2 Q1Q0000111100ABCD1E Trebuie obcinute diagramele pentru strile urmtoare. Le vom suprapune _i vom desena o singur diagram, nglobnd _i variabilele de intrare. Completarea se face urmrind tranziciile din organigram _i completnd pentru fiecare stare codul strii urmtoare. Locaciile necompletate vor fi indiferente deoarece concinutul lor nu poate fi atins prin funccionare. Q2 Q1Q000011110000Start01101EP1001ER00 3. Reducerea numrului de stri nu mai este posibil. 4. _i 5. Registrul de stri se implementeaz cu bistabile de tip D, iar generatorul noii stri (funcciile de excitacie) _i ie_irile cu porci logice. a. Pentru implementarea registrului de stri cu bistabile de tip D se cine cont de ecuacia strii urmtoare a acestui tip de bistabil: Di = Qit. Diagramele Karnaugh pentru intrrile bistabilelor vor fi: D2: Q2 Q1Q000011110000011ERxxxD2 = ER ( Q2 + Q1 ( Q0 D1: Q2 Q1Q0000111100011010xxxD1 = Q0 D0: Q2 Q1Q0000111100Start1EP010xxxD0 = Start ( Q2 ( Q1 + EP ( Q0 + Q1 ( Q0 Diagramele ie_irilor se completeaz cinnd cont de organigram _i de diagrama strilor. Init: Q2 Q1Q000011110011xxxInit = Q2 ( Q1 ( Q0 SP: Q2 Q1Q000011110011xxxSP = Q1 ( Q0 SR: Q2 Q1Q000011110011xxxSR = Q1 ( Q0 7. Desenarea schemei circuitului Ie_irile se realizeaz cu porci logice de tip SI: Q2 Q1 Init Q0 Q2 SP Q1 Q0 SR Generarea semnalului de Reset se realizeaz cu o poart logic SAU-NU:  Reset = AS + DPU  AS  Reset DPU Registrul de stri este cu bistabile de tip D:   D2 Q2 D1 Q1 D0 Q0  Clk Clk Clk Q2 Q1 Q0  R R R  Clk  Reset Funcciile de excitacie se implementeaz cu porci logice: Q2 D0 Q1 Q0 Q2 Q1 D2 Q0 D1 Start ER EP b. Implementarea generatorului noii stri cu multiplexoare se poate realiza numai cu multiplexoare dac numrul intrrilor de seleccie a multiplexorului este egal cu numrul variabilelor de stare. Dac numrul intrrilor de seleccie este mai mic dect cel al variabilelor de stare, la intrrile selectate se vor conecta circuite realizate cu porci logice. Se scriu termenii canonici care concin 1 sau variabile nglobate in diagrama Karnaugh. D2 = Q2 ( Q1 ( Q0 + ER ( Q2 ( Q1 ( Q0  D1 = Q2 ( Q1 ( Q0 + Q2 ( Q1 ( Q0  D0 = Start ( Q2 ( Q1 ( Q0 + EP ( Q2 ( Q1 ( Q0 + Q2 ( Q1 ( Q0 Implementarea cu MUX 8:1 este:  0 0 MUX 1 8:1 0 D2 ER D2 0 74151 0 0 s2 s1 s0  Q2 Q1 Q0  0 1 MUX 0 8:1 1 D1 0 D1 0 74151 0 0 s2 s1 s0  Q2 Q1 Q0  Start  1 MUX  0 8:1  EP D0  0 D0  0 74151  0  0 s2 s1 s0  Q2 Q1 Q0 Dac implementarea s-ar realiza cu MUX 4:1 pe intrrile multiplexorului am avea ie_iri din porci logice de tip SI. c. Implementarea generatorului noii stri cu decodificatoare se face aplicnd la intrarea decodificatorului variabilele de stare. La ie_irile decodificatorului se obcin strile interne individualizate. Putem scrie:  D2 = D + ER ( E D1 = B + C  D0 = Start ( A + B + EP ( C Pentru obcinerea funcciilor de excitacie se vor utiliza porci logice de tip SI, SAU _i NU. Decodificatorul va fi de tip zecimal:   DCD 0 A  0 1 B D1  Q2 2 D  Q1 3 C  Q0 4 E    9 d. Implementarea generatorului noii stri cu memorii _i multiplexoare permite simplificarea logicii generrii noii stri.   ROM A0 MUX 0 Start  16 x 4 A1 8:1 1 0  A2 2 0  y3 y2 y1 y0 A3 Y 3 EP  4 ER 5 0  D2 Q2 D1 Q1 D0 Q0 6 0 Clk Clk Clk s2 s1 s0 7 0   Q2Q1Q0 A3A2A1A0 y3y2y1y0 Q2Q1Q0 A3A2A1A0 y3y2y1y0 (s2s1s0) (s2s1s0) 000 0000 0000 000 1000 0001 001 0001 0011 001 1001 0000 010 0010 0100 010 1010 0000 011 0011 0010 011 1011 0011 100 0100 0000 100 1100 0100 101 0101 0000 101 1101 0000 110 0110 0000 110 1110 0000 111 0111 0000 111 1111 0000 e. Implementarea circuitelor secvenciale sincrone se poate realiza cu numrtoare MSI. Numrtorul va fi utilizat pentru funccia de memorare _i parcial pentru efectuarea tranziciilor. Vom utiliza pentru implementare un numrtor sincron (de exemplu numrtorul zecimal 74162). Bistabilii interni ai acestuia pot memora starea circuitului. Codificarea strilor se face cinnd cont de ordinea de numrare a numrtorului: A = 000; B = 001; C = 010; D = 011; E = 100. Q2 Q1Q0000111100ABDC1E Vom determina funcciile de numrare fN _i ncrcare (ramificare) fR _i vom realiza implementarea lor cu multiplexoare 8:1 (de tipul 74151). Intrrile de seleccie vor fi ie_irile numrtorului, Q2Q1Q0. Diagramele pentru cele 2 funccii vor fi: fN: Q2 Q1Q0000111100Start11EP1fR: Q2 Q1Q00001111001ER Strile urmtoare ale numrtorului trebuie specificate pentru strile din care au loc ramificri (E). D2 = Q2; D1 = Q1; D0 = Q0. n acest caz se utilizeaz ncrcarea paralel a numrtorului cu valoarea prestabilit pe intrrile paralele. Schema circuitului trebuie completat _i cu logica pentru determinarea ie_irilor. Ie_irile Init, SP _i SR corespund strilor A, B, D. Funcciile de ie_ire sunt:  Init = Q2 ( Q1 ( Q0  SP = Q1 ( Q0 SR = Q1 ( Q0 Implementarea funcciilor de ie_ire se poate realiza cu porci logice de tip SI sau cu un decodificator zecimal. Circuitul secvencial sincron va avea urmtoarea implementare:   0 0 En Start 0 En  0 1 MUX 1 1 MUX 0 2 8:1 EP 2 8:1  0 3 fR 1 3 fN  ER 4 Y 0 4 Y  0 5 Y 0 5 Y 0 Init  0 6 0 6 DCD 1 SP  0 7 4151 0 7 4151 2  s2 s1 s0 s2 s1 s0 0 D3 3 SR  D2 4  D1 5  D0 6  7  Q3Q2Q1Q0 7442 8  Reset MR 74162 Clk 9  LD D3D2D1D0 EN  0   Curs 11 3.4. Sisteme secvenciale sincrone Evolucia circuitelor secvenciale sincrone a fost determinat de metodele de sintez adecvate. Pentru circuitele secvenciale sincrone cu numr mic de variabile de intrare _i de stare se poate utiliza sinteza pornind de la grafuri sau diagrame de tranzicii (metoda studiat). Pentru circuitele cu numr mare de variabile de intrare _i de stare se face o organigram funccional care pune n evidenc direct strile interne _i tranziciile, n funccie de modificarea unei singure variabile de intrare. Aceste circuite se numesc sisteme secvenciale sincrone (SSS). Structura unui sistem secvencial sincron:  START  ncrcare R S1 numrtor C = 0 cutarea bicilor = 1  ntr-un registru de 8 bici   DA Ri = 1 NU S2  Prelucrare n funccie Deplasare stnga R S3 de rangul bitului C = C  1  (succesiune de operacii)  NU S4  C = 8  DA STOP Analiza figurii permite determinarea a 2 blocuri funccionale: Unitatea de execucie UE  realizat cu regi_tri, numrtoare, bistabili, CLC. Generatorul de secvence sau unitatea de comand UC  secvenciator care opereaz asupra unitcii de execucie. UC trebuie s asigure: - trecerea din starea Si n starea Si+1; - ntreruperi de secvence prin salt; - bucle de a_teptare. Schema sistemului secvencial complex UC UE   Calculul secvencei Stri  urmtoare  Generator de tact Unitate de CLK execucie UE  Generator de secvence  secvence  Bloc de determinare acciune  CLK a acciunii asupra UE UE Unitcile de comand UC pot fi: cablate sau microprogramate. Generatorul de secvence poate deci fi realizat cablat sau microprogramat. 1) UC cablate  exist 2 posibilitci de realizare: a. Generatorul de secvence este realizat cu un numrtor programabil. Acesta numr, se opre_te sau se ncarc cu o nou valoare. Ie_irile sale sunt decodificate de un decodificator de secvence. Se genereaz secvence care valideaz acciunile asupra elementului funccional (UE).  Generator  de tact CLK   Calcul Calcul adres Calcul adres Calcul adres  adres de salt urmtoare de oprire (condicii de (condicii (condicii de ntrerupere) urmtoare) oprire)    Adres Load Numrare Oprire (Salt) UE  Numrtor de secvenc   Decodificator Calcul  de secvence acciuni UE  CLK b. Generatorul de secvence este realizat cu un registru de deplasare (decalaj) n care va circula un bit de 1. Fiecrei stri i corespunde un bit din registrul de deplasare. Pozicia bitului de 1 semnalizeaz o anumit secvenc. Pentru a obcine starea urmtoare registrul va fi decalat cu o pozicie sau va fi decalat n cazul saltului. Avantajul acestei variante const n eliminarea decodificatorului de secvence. n fiecare secvenc se realizeaz o acciune sau un grup de acciuni. O acciune poate s necesite mai multe etape. Dirijarea n cadrul secvencei se realizeaz cu ajutorul generatorului de tact. Variantele a _i b de UC cablate au dezavantajul c o modificare a funccionrii presupune o modificare a secvencei de lucru, deci o modificare a cablajului. 2) UC microprogramate Generatorul de secvence trebuie s aib exact acelea_i funccii ca _i n cazul UC cablate.  Generator  de tact CLK   Calcul adres Calcul adres Calcul adres de salt urmtoare de oprire (condicii de (condicii (condicii de CLK ntrerupere) urmtoare) oprire)    Adres Load (Salt) Numrare Oprire Registru de microinstrucciune UE  Registru de adres microprogram   Adres Calcul  Memorie microprogram acciuni UE  Adres nou Acciuni CLK   La acest mod de realizare a UC se c_tig n fiabilitate deoarece se execut o singur operacie ntr-o secvenc, dar se pierde n vitez. Tactul accioneaz asupra registrului (numrtorului) de microprogram. 3.4.1. Principii de comand a sistemelor secvenciale sincrone Sistemele secvenciale sincrone _i modific ie_irea n funccie de intrare doar n prezenca unui semnal de tact. Funccii logice de comand. Tabele de excitacie Generatorul de tact furnizeaz un semnal de tact de baz, care provine de la un oscilator _i este un semnal periodic de durat _i perioad constant. Cu ajutorul semnalului de tact se vor genera toate semnalele de comand necesare unui sistem secvencial sincron. n sistemele cablate, n cadrul unei secvence se pot efectua mai multe operacii. Din acest motiv este necesar dirijarea perioadei tactului pentru a stabili o succesiune a diferitelor acciuni. Pot s apar urmtoarele situacii: Tact suprapus T   CLK1  CLK2  CLK3 Tact adiacent  CLK1 CLK2  CLK3  Tact neadiacent  CLK1  CLK2  CLK3 Sistemele secvenciale sincrone se comand prin funccii care concin unul dintre semnalele de tact CLKi, o stare a circuitului _i un semnal extern. Toate funcciile de comand care accioneaz asupra elementelor din unitatea de execucie UE vor concine obligatoriu unul dintre semnalele de tact n cadrul expresiei funcciei (valideaz o acciune). Funcciile logice de comand nu cin cont de natura elementului fizic utilizat. Dup alegerea elementelor fizice se vor grupa funcciile de comand ntr-un tabel de excitacie. Tabelul de excitacie concine: - numele elementului circuitului; - tipul elementului; - intrrile elementului; - modul de comand a intrrilor; - funccia logic corespunztoare fiecrei intrri, scris sub form simbolic. 3.4.2. Hazardul n funccionarea sistemelor secvenciale sincrone Hazardul reprezint aparicia unei modificri neprevzute _i nedorite a unei stri a sistemului secvencial sincron. Hazardul poate fi: - static  datorat propagrilor pe ci diferite a semnalelor; se manifest prin comutri fr semnificacie logic; - dinamic  datorat proceselor asincrone pe intrri; se manifest prin comutri fr semnificacie logic. Cauzele apariciei pot fi: - semnale parazite la funcciile de excitacie; - nerespectarea parametrilor dinamici; - durata insuficient a impulsului de comand. Metodele de evitare a hazardului: 1) Sincronizarea intrrilor asincrone semnal asincron extern  CLK tsetup thold Exemplu. Se consider un numrtor N care face o incrementare +1 la tactul CLK _i un semnal extern E. Incrementarea se face la CLK ( E.  E N CLK +1  E  CLK CLK ( E Se poate ca semnalul CLK ( E s aib o durat foarte scurt care va provoca o funccionare gre_it a numrtorului N. Se va face o sincronizare a semnalului asincron E cu ajutorul unui bistabil.   E Es +1  CBB CLK2  CLK1 Dac exist mai multe semnale asincrone, pentru realizarea sincronizrii se utilizeaz registre. 2) Automodificarea unui circuit secvencial Poate s apar n situacii ca _i urmtoarea: f = s ( CLK1 ( CLK2 ( Q1 ( Q2 n cazul n care bistabilul al doilea, Q2, va comuta n 0.   D Q2 CLK2  s  CLK2  s ( CLK1 ( Q1 ( Q2 durat foarte scurt, neutilizabil   Q2 Se face sincronizarea pentru Q2.   Q1 D Q2  s CLK2   CLK2   s ( Q1 ( Q2  Q2  3) Probleme datorate decalajului de tact (defazarea tactului) Dac la CLK2 ( s ( Q1 ( Q2 avem Q3 ( 1 _i la CLK2 ( s ( Q1 avem Q2 ( 0 Dac CLK2 care se aplic bistabilului 2 este n avans fac de CLK2 aplicat bistabilului 3, s ( Q1 ( Q2 ( 0 prea repede _i nu se respect thold pentru bistabilul 3, deci Q3 nu va ( 1.  J2 Q2 J3 Q3 CLK2 Q1 CLK CLK  s K2 K3    CLK2 ( Q1  Q2  s ( CLK2 ( Q1  tsetup thold Pentru rezolvarea problemei este necesar aplicarea unui alt tact CLK3. 4) Probleme datorate frecvencei maxime a tactului Circuitele MSI au specificat n catalog frecvenca maxim de lucru, care este de obicei valoarea tipic sau medie. Datorit CLC care se interpun cre_te timpul de propagare (se adaug la timpul de propagare prin CLS, timpul de propagare prin CLC _i timpul de setup) _i astfel scade frecvenca maxim a tactului. Proiectarea trebuie fcut nct s se introduc cel mult 2 nivele de CLC ntre CLS. 5) Probleme legate de inicializare _i blocare Orice sistem secvencial care concine elemente de memorie trebuie prevzut cu o logic de inicializare la punerea sub tensiune. Altfel elementele de memorie pot s se gseasc n orice stare _i succesiunea de stri nu urmeaz cursul firesc proiectat. Deoarece nu toate strile sunt folosite trebuie s se introduc o logic de autoinicializare, care are ca scop aducerea circuitului secvencial n secvenca normal de lucru. 3.4.3. Perturbacii datorate structurii electrice Perturbaciile pot fi de natur electric, magnetic sau electromagnetic. a. Perturbaciile mediului nconjurtor se elimin prin ecranare (cmpuri electrice _i magnetice) _i prin filtre de recea (cmpul electromagnetic). b. Efectele perturbatoare introduse de sursa de alimentare (n condiciile n care poarta logic se asimileaz cu un generator de tensiune cu rezistenc intern _i cu ie_irea avnd un salt de la 0 la 5V, care determin un curent pe linia de conexiune _i prin linia de mas) se datoreaz: - zgomotelor de pe liniile de mas  n cazul n care punerea la mas este incorect (nu este aproape de porcile de emisie _i de recepcie) se genereaz curenci parazici care se propag pe linie _i pot produce impulsuri de tensiune parazite, care la rndul lor pot provoca rspunsuri false la ie_irile circuitelor logice; - variaciilor de curent continuu care apar la trecerea dintr-o stare logic n alta. Pentru eliminarea acestor probleme se cupleaz la mas firele de legtur _i cablurile coaxiale ct mai aproape de porcile de emisie _i recepcie ale liniei. Decuplarea tensiunii de alimentare a porcilor de emisie _i de recepcie ale liniilor se realizeaz cu condensatoare pentru nalt frecvenc _i pentru joas frecvenc, montate ct mai aproape de circuitul logic. Pentru o decuplare _i mai eficient se folosesc _i inductance pentru eliminarea oscilaciilor. c. Diafonia reprezint toate fenomenele de cuplaj electromagnetic ntre semnalele de pe liniile de legtur, care dac interaccioneaz produc semnale parazite. O bucat de conductor poate fi privit ca _i o anten slab, dac nu are o lungime de cel pucin (. Din acest motiv firele de legtur pot fi privite ca antene de recepcie pentru zgomote. Diafonia poate fi privit ca _i transmisie radio n care un conductor emite _i cellalt recepcioneaz. Din acest motiv 2 fire de legtur paralele alturate pot produce diafonie. Eliminare se realizeaz prin introducerea unui traseu de mas ntre liniile de legtur. Ideal ar fi utilizarea firelor ncruci_ate (fir de legtur cu fir de mas n jurul lui). d. Propagarea _i reflexiile pe liniile de transmisie. Liniile de transmisie sunt caracterizate de impedanc. Aceasta reprezint raportul dintre tensiunea _i curentul semnalelor de nalt frecvenc care parcurg linia. Dac terminacia liniei este o rezistenc egal cu impedanca lui nu apar probleme de propagare. Altfel pot aprea reflexii, datorit neechilibrrii liniei de transmisie, care se suprapun peste semnalul inicial. Dac liniile de transmisie sunt foarte lungi timpul de propagare poate ajunge egal sau mai mare dect fronturile _i atunci pot s apar reflexii. Aceste probleme sunt deosebit de importante pentru semnalele de tact, de aceea se va urmri cu atencie lungimea _i terminacia firelor de pe aceste semnale (altfel circuitul poate ntr-un singur tact s parcurg mai multe stri). Curs 12 CAPITOLUL IV PROIECTAREA SISTEMELOR NUMERICE CU DISPOZITIVE PROGRAMABILE 4.1. Metodologii generale de proiectare a sistemelor numerice 4.1.1. Proiectarea clasic S recapitulm etapele fluxului de proiectare n varianta clasic. se ncepe cu o specificacie; se construie_te o diagram bloc; se separ secciunile organigramei, dup care se detaliaz fiecare pn cnd se atinge nivelul corect al designului logic; se integreaz piesele; n caz c exist un produs software dezvoltat anume pentru gestionarea sistemului, acesta este momentul cnd se va utiliza; se creeaz prototipul, care este depanat _i corectat cu ajutorul softului; adeseori, prototipul nu funccioneaz la viteza proiectat _i trebuie reexaminat pentru diverse coreccii (de exemplu gtuiri - bottlenecks); se realizeaz fizic sistemul pe plac (PCB - Printed Circuit Board); _i aici apar de multe ori coreccii care trebuie efectuate, aspecte impuse de condiciile fizice de realizare a PCB-ului. Deci revenirile multiple n procesul de proiectare clasic constituie regula, nu excepcia. Procesul de proiectare este astfel costisitor din punct de vedere al timpului (circa 6-12 luni pentru sisteme de 500-1000 de circuite integrate (capsule)). 4.1.2. Proiectarea cu dispozitive programabile Noul scenariu de proiectare, cu dispozitive programabile, este urmtorul: se porne_te _i aici tot de la specificacie; sistemul este apoi particionat n blocuri mari (memorii, microprocesoare, dispozitive logice programabile, FPGA-uri sau CPLD-uri _i logic de interfacare); se formuleaz o descriere de nivel nalt a sistemului, folosindu-se un editor schematic sau un limbaj de descriere hardware abstract (de exemplu, VHDL sau ABEL); ntregul sistem este simulat - nlocuindu-se astfel vechea faz de prototip; se creeaz lista de componente (netlist) a sistemului; netlista este folosit la realizarea PCB-ului; n timpul realizrii fizice a PCB-ului, simularea mai este rafinat. n acest tip de proiectare cele mai multe modificri, dac nu chiar toate, apar n software, n PLD-uri sau n FPGA, nu n interconexiuni sau n componente secundare. Dac designul a fost bine conceput, el poate fi reproiectat cu matrici de porci, pentru a maximiza profitul la produccia de serie mare. Folosirea intensiv a circuitelor FPGA este o modalitate foarte eficient de proiectare a sistemelor numerice. FPGA-urile permit proceduri de realizare fizic foarte rapide _i modificri chiar mai rapide ale designului, cu condicia s fie corect folosite. Cheia succesului lor este time-to-market-ul (timpul de la conceperea abstract a unui proiect pn la realizarea sa efectiv) foarte rapid. 4.2. Definicia _i structura unui circuit FPGA 4.2.1. Completitudine funccional Un concept de baz n ncelegerea FPGA-urilor este completitudinea funccional. Se _tie c orice funccie poate fi realizat pornind de la o sum de produse. Dac un singur tip de poart logic este capabil de a forma o sum de produse, atunci spunem c are proprietatea de completitudine funccional. Asta nseamn c orice funccie boolean poate fi realizat folosindu-se numai acel tip de poart logic. n consecinc este avantajos s avem multe porci de tipul respectiv. Calitcile esenciale pentru completitudinea funccional sunt: - cu ajutorul porcii respective s poat fi construit funccia logic ^I; - cu ajutorul porcii respective s poat fi construit funccia logic NU sau: - cu ajutorul porcii respective s poat fi construit funccia logic SAU; - cu ajutorul porcii respective s poat fi construit funccia logic NU. Nu este nevoie s impunem realizarea simultan a funcciilor ^I _i SAU, deoarece, dac se poate realiza funccia NU, atunci, folosind teoremele lui De Morgan, se poate obcine _i funccia care lipse_te. 4.2.2. Funccii universale Funcciile universale sau generatoarele de funccii sunt blocuri logice care pot fi configurate astfel nct s realizeze orice funccie logic de intrrile blocului. Exist mai multe tipuri de astfel de blocuri logice. Cele mai cunoscute sunt memoriile (ROM, RAM, PROM, EPROM _i EEPROM) _i multiplexoarele. Toate aceste blocuri pot realiza funccii, formnd tabelele lor de adevr. FPGA-urile sunt adeseori construite pe baza unor blocuri constructive care sunt funccii universale. S lum exemplul unui multiplexor 4:1. Ecuacia ie_irii este urmtoarea: S1S0DATAOUT00D001D110D211D3 EMBED Word.Picture.6  DATAOUT = S1(S0(D0 + S1(S0(D1 + S1(S0(D2 + S1(S0(D3 Examinnd fie tabelul de adevr al multiplexorului, fie ecuacia ie_irii, obcinem: dac D0 = D1 = D2 = 0 _i D3 = 1, atunci funccia DATAOUT va fi S1 ( S0, adic ^I logic; dac D0 = 0 _i D1 = D2 = D3 = 1, obcinem DATAOUT = S1+S0, adic SAU logic; dac D0 = D2 = 1 _i D1 = D3 = 0, obcinem DATAOUT = S0, adic NU logic. Aceste observacii arat c multiplexorul este complet funccional. El este _i universal pentru c poate forma orice funccie de cele dou variabile de intrare S0 _i S1 (selecciile) prin setarea valorilor lui D din tabelul de adevr la 0 sau la 1 logic. Analog, un multiplexor 8:1 poate realiza orice funccie de 3 variabile de intrare, iar un multiplexor 16:1 poate realiza orice funccie de 4 variabile etc. O celul care are proprietatea de completitudine funccional poate realiza orice funccie logic combinacional folosind una sau mai multe copii ale sale. O funccie logic universal poate face acela_i lucru, dar s-ar putea s necesite mai pucine celule. Aici presupunem c celula universal are suficiente intrri pentru a fi eficient, ceea ce poate s nu fie ntotdeauna adevrat. Unele FPGA-uri folosesc ca blocuri constructive celule universale, altele folosesc celule funccional complete. 4.2.3. Definicia circuitului FPGA Un FPGA este o coleccie de elemente logice cu completitudine funccional sau universale plasate ntr-o recea de interconectare. Unele FPGA-uri arat ca ni_te matrici de celule bidimensionale, cu canale de interconectare orizontale _i verticale ntre celule. Altele arat ca ni_te porci logice mpreun cu matrici programabile, cu reaccie invers, similare PLD-urilor obi_nuite. Pentru a face distinccia ntre ele, primele au fost numite FPGA-uri, iar celelalte - CPLD-uri (Complex Programmable Logic Device); sau arhitecturi cu canale de rutare _i respectiv arhitecturi foldback.  EMBED Word.Picture.6  EMBED Word.Picture.6  Arhitecturi FPGA _i CPLD (foldback) S lum un exemplu de arhitectur FPGA pe care s o construim pe baz de multiplexoare. Pornim de la un multiplexor de tip 8:1.  EMBED Word.Picture.6  Dac FPGA-ul ar fi construit numai pe baz de multiplexoare 8:1, bistabilele ar fi greu de implementat _i precul realizrii lor ar fi mult prea mare. O practic uzual const n a face celula universal (sau funccional complet) s aib ie_irea legat direct la intrarea unui bistabil D, care basculeaz pe front, obcinndu-se astfel o celul hibrid, care concine _i un bistabil. Aici apare n continuare o problem: toate funcciile combinacionale sunt obligate s foloseasc _i bistabile D.  EMBED Word.Picture.6  Multiplexor cu ie_ire prin registru Solucia cea mai folosit const n a aduga nc un multiplexor n celul, permicnd multiplexorului s conduc direct intrarea D a bistabilului sau s-l ocoleasc pentru a "ie_i" n exterior. Acum, structura blocului constructiv este rezonabil din multe puncte de vedere. El poate forma orice funccie combinacional de trei variabile _i poate, de asemenea, forma funccii secvenciale realizate cu bistabile D. n figur se prezint celula final, mpreun cu simbolul ei. De notat c intrrile de date nu sunt scoase n afara celulei. Numai ceasul _i 4 intrri de seleccie sunt intrri pentru formarea funcciilor logice, ceea ce reduce considerabil numrul de conexiuni externe necesare implementrii de funccii logice.  EMBED Word.Picture.6  Celula de baz a unui FPGA cu blocuri logice universale S vedem acum cum pot fi interconectate aceste celule. Potrivit celor expuse anterior exist dou moduri fundamentale de a realiza interconectarea: prin canale de rutare sau prin matrice programabil de tip foldback, cu reaccie invers.  EMBED Word.Picture.6  Arhitectur FPGA cu canale de rutare a semnalelor inter-celulare Semnalele intr n structura din figur prin buffere de intrare, ajungnd la liniile verticale _i orizontale. n toate punctele de interseccie a unei linii orizontale cu una vertical se poate realiza o conexiune. Valorile logice de pe liniile de intrare (de date) ale multiplexoarelor sunt setate prin intermediul unor circuite de programare a FPGA-ului. Funccia fiecrei celule este deci programat intern, iar ie_irea este rutat nspre mai multe linii verticale _i orizontale. Semnalele de la ie_irea unei celule pot fi rutate la intrrile altor celule sau la ie_irile circuitului FPGA, ie_iri care sunt realizate prin buffere de ie_ire.  EMBED Word.Picture.6  Arhitectur CPLD de tip foldback, cu reaccie invers n cazul arhitecturii CPLD, ie_irile tuturor celulelor sunt rerutate n interiorul matricii (reaccie invers) ctre intrrile tuturor celorlalte celule. ^i aici se presupune c circuitele de programare (configurare) a celulelor nu apar n figur. Funcciile simple sunt realizate n celule, iar pentru cele mai complexe se folosesc cile de reaccie invers. n figur apar pucine celule n structura foldback-ului, dar n realitate, cu tehnologia de azi, numrul acestor celule poate atinge cteva sute. Arhitecturile prezentate sunt relativ simple _i totu_i exist un anumit numr de probleme care apar: Cci pini de intrare, ie_ire _i bidireccionali sunt necesari? Este oare bine s avem pini de clock (tact) dedicaci? Care este numrul corect de linii de interconectare verticale _i orizontale necesare pentru a evita congestia? Este bine oare s se divizeze liniile de interconectare n mai multe sub-segmente, n vederea evitrii blocrii unei ci? La toate aceste probleme trebuie s se rspund n funccie de arhitectura specific folosit (firma productoare, tehnologia de realizare a FPGA-ului, structura celulei etc.). Curs 13 4.3. Instrumentele software de suscinere a proiectrii cu FPGA-uri 4.3.1. Introducere Arhitecturile prezentate anterior erau alctuite din celule logice identice plasate ntr-o recea de conexiuni posibile. Folosirea acestor arhitecturi necesit translatarea funcciei dorite de ctre proiectant n conexiunile intra _i intercelulare necesare obcinerii designului final. Exist dou funccii principale pe care trebuie s le realizeze instrumentele software de suscinere a proiectrii cu circuite FPGA: 1) s converteasc funcciile designului n funcciile realizabile de ctre FPGA. Aceast funccie se nume_te translatare (alteori compilare sau fitting - potrivire). 2) s verifice dac designul translatat este corect. Aceast funccie se nume_te verificare _i poate fi realizat cu softul de verificare a designului _i de simulare logic. Ambele funccii opereaz cu o versiune a designului numit netlist (list de conexiuni _i componente) asupra creia se pot face investigacii, deoarece este o reprezentare comun a circuitului. 4.3.2. Problema translatrii Pa_ii care trebuie parcur_i n cursul procesului de translatare sunt n general urmtorii: - se verific dac numrul pinilor de intrare/ie_ire ai FPGA-ului este mai mare dect numrul pinilor necesari n design; - se verific dac exist suficiente celule n FPGA pentru a acoperi numrul de porci logice din design; - se caut n design grupuri de componente al cror numr de intrri _i de ie_iri este egal cu cel al celulei de baz din FPGA; - se aleg prima dat grupurile cele mai mari care pot fi formate (de exemplu porcile cu mai mult de trei intrri au nevoie de dou sau mai multe celule). Instrumentul software utilizeaz un set de reguli pentru substituciile de funccii. La nivelul cel mai simplu, el are nevoie de un set de substitucii pentru porcile din design care s fie mapate n celule din FPGA. n continuare, el are nevoie de o strategie pentru a utiliza optimal regulile de substitucie. Procesul de translatare este alctuit din trei etape esenciale: - maparea tehnologic (inclusiv optimizarea); - plasarea; - rutarea. O operaciune important este eliminarea prcilor redundante din design - altfel cele mai multe designuri nu pot fi implementate n FPGA. Exemplu: Dac n design apare un numrtor pe 4 bici din care se folosesc efectiv numai cei 2 bici mai pucin semnificativi, softul va "sparge" implementarea numrtorului pe 4 bici _i va realiza doar implementarea unui numrtor pe 2 bici, restul logicii iniciale fiind de prisos n acest caz. 4.3.3. Optimizarea netlist-ei Este o etap esencial a procesului de proiectare automat cu FPGA-uri. Se folosesc de obicei metodele clasice: diagrame Karnaugh, teoremele algebrei booleene etc. Aceast optimizare este de fapt minimizarea designului dup translatarea sa ntr-o netlist. Netlista este un fi_ier text care concine pur _i simplu funcciile logice din design _i conexiunile lor de intrare _i de ie_ire. Acela_i format poate fi folosit la orice nivel de reprezentare. Un exemplu de netlist: * NETSTART * OUT3 DFF I(OUT3_D, CLOCK) O(OUT3, N_ OUT3) OUT3_D AN2 I(A1, N2O_1) O(OUT3_D) B2O_1 INV I(A2) O(N2O_1) OUT2_D OR2 I(N21_2, N21_4) O(OUT2_D) OUT2 DFF I(OUT2_D, CLOCK) O(OUT2, N_OUT2) B21_4 AN2 I(N21_3, A4) O(N21_4) B21_2 AN2 I(N21_1, A2) O(N21_2) B21_1 INV I(A1) O(N21_1) B21_3 INV I(A3) O(N21_3) OUT1 DFF I(OUT1_D, CLOCK) O(OUT1, N_OUT1) B22_1 AN2 I(A1, A2) O(N22_1) B22_2 AN2 I(A3, A4) O(N22_2) OUT1_D OR2 I(N22_1, N22_2) O(OUT1_D) * NETEND * NETIN A1, A2, A3, A4, CLOCK NETOUT OUT1, OUT2, OUT3 * Exemplu de netlist (n aceast netlist, DFF nseamn bistabil D (D flip-flop), AN nseamn poart (I, INV nseamn poart NU, iar OR nseamn poart SAU. Acesta este nivelul la care se fac substituciile; exist sute de reguli. Exemplu: Se elimin porcile logice din design ale cror ie_iri nu sunt folosite. Astfel se pot combina porcile care realizeaz funccii identice, se pot elimina bistabile etc. Procesul de "convertire" a componentelor logice din design n componente logice implementabile de ctre celulele de baz din FPGA se nume_te mapare tehnologic. 4.3.4. Plasarea Este procesul de amplasare fizic a componentelor logice n celulele din FPGA. n principiu se urmre_te amplasarea funcciilor logice adiacente n celule alturate (dac un modul logic are ca intrri ie_irile altui modul, cele dou module vor fi adiacente). Criteriul critic de plasare este urmtorul: s se poat face legturile cu celelalte celule. 4.3.5. Rutarea Presupunnd c s-a reu_it efectuarea unei plasri adecvate a componentelor logice n celulele din FPGA, pasul urmtor este interconectarea acestora. La nceput, netlista este inspectat, urmrindu-se informaciile de interconectare din ea. Apoi se inspecteaz plasarea existent n acest moment. Se consider c dac o linie metalic de interconexiune are ata_at un semnal de ie_ire _i cellalt capt al su este conectat la intrarea unei alte celule, atunci linia este folosit (consumat). Pe msur ce procesul de interconectare avanseaz, liniile devin ocupate _i poate s apar congestia. n aceast situacie, softul va reface plasarea, proces numit re-rutare. Rezultatul plasrii _i rutrii este un fi_ier care descrie designul originar n termenii celulelor FPGA-ului. Acest fi_ier concine descrierea asignrii poziciilor celulelor _i interconexiunilor dintre celule pentru receaua de tip FPGA sau CPLD (foldback). n final fi_ierul este translatat ntr-o hart de bici care poate fi transmis unui programator de dispozitive care configureaz FPGA-ul. Se vede deci c un instrument software de rutare a semnelor din FPGA este vital pentru exploatarea posibilitcilor oferite de aceste circuite. 4.3.6. Ci critice Problemele care apar n proiectarea cu FPGA-uri sunt n special probleme de temporizare. De exemplu: un semnal trebuie s intre n FPGA, s ia parte la implementarea unei funccii logice _i apoi s ias imediat pentru a participa la alte operacii n afara FPGA-ului (a_a se ntmpl deseori la sistemele cu microprocesoare, la decodificatoare, la comparatoare rapide etc.). Alteori, toate bistabilele dintr-un registru de deplasare sau numrtor trebuie s fie plasate n celule adiacente din FPGA, pentru a garanta sosirea aproape simultan a semnalului de tact la aceste celule. Cile critice complic plasarea _i rutarea pentru c sporesc numrul de constrngeri adicionale. De obicei se plaseaz nti celulele aflate pe ci critice, apoi restul celulelor din design. n continuare se ruteaz n mod similar: nti celulele aflate pe ci critice, apoi restul celulelor din design. n acest fel rmn mai pucine posibilitci pentru plasarea _i rutarea restului designului. Se recomand s se pstreze la un nivel minim cile critice, pentru c altfel sesiunile de plasare _i rutare devin mult mai lungi. 4.3.7. Verificarea designului Cele mai simple instrumente de verificare a designului sunt programe care examineaz netlista transformat _i analizeaz proprietcile ordinare ale designului final. Iat cteva exemple de verificri efectuate: - se izoleaz ie_irea unei celule _i se numr la intrarea ctor altor celule este transmis acel semnal. Fiecare celul n care intr semnalul contribuie la o sarcin cumulativ a acestuia _i este posibil ca atunci programul s intervin, distribuind sarcina respectiv la mai multe celule de ie_ire identice; - se caut intrri lsate neconectate ale celulelor, care creeaz probleme de zgomote; - se caut ie_iri care nu sunt three-state _i sunt totu_i legate mpreun. Uneori verificarea se face n etapa de translatare, alteori n etapa de simulare. 4.3.8. Simularea logic Acesta este instrumentul de baz pentru verificarea funccionalitcii _i performancelor temporale ale unui design cu FPGA. n orice tip de simulare, se creeaz un model al recelei logice cruia i se aplic un model al intrrilor (numite stimuli) n vederea obcinerii unui model al ie_irilor (numite rspunsuri). O proprietate fundamental a simulrii este urmtoarea: ea permite observarea rspunsurilor logice interne, cnd aceste rspunsuri s-ar putea s nu fie observabile pe pinii de ie_ire. Exist mai multe tipuri diferite de simulare: 4.3.8.1. Simularea funccional n acest tip de simulare se modeleaz celulele logice, care sunt combinate cu un model al intrrilor binare (tensiuni), generndu-se un model relativ de rspunsuri (tot tensiuni). Avantaje: - genereaz rapid rezultatele; - modelul este simplu. Dezavantajul principal: - nu ofer informacii despre temporizare, ci numai relacii relative ntre semnale. 4.3.8.2. Simularea temporal digital n acest tip de simulare se creeaz un model al ntregului design, interconectndu-se modelele celulelor, asociindu-se n plus un element adicional la ie_irea modelului fiecrei celule: un bloc de ntrziere. Blocul de ntrziere al unei celule este compus din trei factori: 1) ntrzierea introdus de celul n sine, n absenca oricrei conexiuni externe. ^i aceast ntrziere este de fapt alctuit din dou ntrzieri: - ntrzierea pentru tranzicia din "1" logic n "0" logic; - ntrzierea pentru tranzicia din "0" logic n "1" logic. Specificarea acestor dou valori n data sheet-ul circuitului integrat FPGA este opcional. 2) ntrzierea asociat capacitcii de rutare a firului de metal care une_te dou celule; 3) ntrzierea dat de suma impedancelor de intrare ale celulelor comandate. Uneori, ntrzierile de la punctele 2) _i 3) sunt luate mpreun. Aceast simulare este mult mai complex. Nu vom intra n detaliile realizrii efective a acestui tip de simulare (modul de realizare a modelelor, planificatorul de evenimente etc.) 4.3.8.3. Simularea defectelor n acest tip de simulare se folosesc tehnici speciale pentru a se obcine un "scor" (numit grad de defecte) pentru design _i stimulii aplicaci. Se testeaz fiecare aspect al designului conform standardelor industriale. Ideea este de a crea probleme artificiale ("defecte") _i de a urmri dac rspunsurile difer de cele obcinute n cazul normal, corect. Simularea fundamental const n mencinerea ie_irilor unor celule la 0 sau la 1 logic, n timp ce se aplic stimulii. Acest proces nu este efectuat pentru toate nodurile deodat, dar poate fi realizat pentru mai multe noduri simultan, dac acestea sunt suficient de independente unul fac de cellalt. Aceast simulare necesit multiple rulri pentru a calcula un grad de defecte _i de aceea este o mare consumatoare de timp. n general, pentru FPGA-uri se folose_te mai ales simularea temporal, pentru PLD-uri - simularea funccional, iar pentru ASIC-uri mari - simularea de defecte. 4.3.9. Evaluarea Simulatorul are o bibliotec de funccii n care fiecare intrare are ata_at o rutin care evalueaz un tabel de adevr. Spre deosebire de un tabel de adevr normal, intrrile ntr-un tabel de adevr de simulator reflect mai realist condiciile electrice (de exemplu: ie_iri three-state, stri necunoscute etc. - vezi figura 9).  ( = ZERO 1 = HIGH * = NECUNOSCUT 3 = TRI-STATE # = NEDETERMINAT ^I-NU(1*3#(1111111(*##*1**##31#####1####A) Modelul logic  EMBED Word.Picture.6  B) Modelul cu o ntrziere adugat Modelul de simulare al unei porci ^I-NU O poart (I-NU normal( are doar patru intrri (n tabelul de adevr. Acest tabel de adevr are 25 de intrri deoarece intrrile por(ii pot avea 5 valori posibile per intrare. (n figura 9, intrrile pot fi valorile logice 0 (i 1, dar (i necunoscute, three-state sau nedeterminate. Condicia necunoscut( poate s( apar( ntr-o situa(ie real( dac( intrarea por(ii provine de la un bistabil a crui ie_ire Q este necunoscut( (de exemplu la punerea sub tensiune, start-up). Intrarea three-state poate s( apar( la o intrare dac( aceasta provine de la ie_irea unei por(i three-state de pe un nivel logic anterior. Condicia nedeterminat( a intrrii poate s( apar( dac( dou buffere three-state comand( acela(i nod cu un nod care realizeaz un (I cablat atunci cnd un buffer elibereaz comanda sa (n timp ce cellalt buffer aserteaz. Cu c(t num(ul de stri cre_te, cu att cre_te (i acurate(ea simulrii, dar cu pre(ul unui consum sporit de timp de rulare. 4.3.10. Modelarea Simularea performant( include folosirea unor limbaje de modelare speciale, foarte eficiente, numite BLM (Behavioral Language Models). Acestea sunt modele de evaluare care genereaz rspunsuri de ie_ire corecte la stimuli de intrare da(i. Un BLM este alctuit de fapt din proceduri scrise pentru a reacciona corect la un stimul, dar nu con(ine vreun model de poart anume. Cel mai simplu BLM este cel al unui bistabil D. Codul este scris (n VHDL, care a fost optimizat pentru portabilitate pe multe sisteme de proiectare asistat( de calculator. EDGE_TRIGGERED_D: block (CLK = 1 and not CLK STABLE or CLR = 1) begin Q <= guarded 0 when CLR = 1; else D when CLK = 1 and not CLK STABLE else Q; end block EDGE_TRIGGERED_D; Modelul unui bistabil (n VHDL Abordarea BLM permite verificri interne pentru violri de timpi de setup (i de hold (n interiorul rutinei care evalueaz opera(ia logic( respectiv(. Acela(i bistabil D poate fi modelat (i (n versiunea cu por(i (deci bistabilul e vzut ca un circuit de (ase por(i (I-NU, cu reaccie). Aceast versiune necesit( ca modelului s-i fie ata_at( o funccie extern(, pentru a rspunde necesitcilor de verificare a timpilor de setup (i de hold ai modelului. BLM evalueaz rapid, dar nu arat( opera(iile interne - r(m(ne ca o cutie neagr. Versiunea cu por(i face o disec(ie complet( a opera(iilor modelului, necesitnd un timp de simulare mai mare. (n plus, ea permite o evaluare complet( a gradului de defecte. De regul, funcciile mari sunt modelate (i simulate cu BLM, iar cele mai mici - cu ajutorul modelelor cu por(i. 4.3.11. Biblioteci Simulatoarele sunt livrate cu biblioteci de modele de simulare, cu blocurile constructive necesare gestionrii celei mai mari p(r(i a designurilor. Aceste biblioteci includ por(i elementare, bistabile, intrri, ie_iri (i mai multe funccii adicionale. Aici se pot modifica ntrzierile nodurilor interne, se pot rula subrutine ale stimulilor etc. 4.3.12. Back Annotation Procesul de alterare a ntrzierilor nodurilor interne se nume(te back annotation, nociune esencial( (n proiectarea cu FPGA. Modelul de simulare inicial era pur (i simplu netlista designului. nainte de plasarea (i rutarea designului, ntrzierile sunt necunoscute (ntre oricare dou puncte din interiorul FPGA-ului). Dup( plasarea (i rutarea designului, ntrzierile devin precizate. Produsul software calculeaz ntrzierile interne folosind legile circuitului electric, lungimea firelor metalice, constantele dielectrice (i al(i parametri. Folosind aceste ntrzieri, softul alctuie_te o netlist cu ntrzieri notate nod cu nod, modificnd netlista originar(. Acesta este procesul de back annotation. Simularea pe baza acestei noi netliste este mult mai precis(, detectnd puncte critice care nu au cum s( fie observate din lumea extern(. 4.3.13. Procesul de proiectare cu FPGA (n concluzie, putem sintetiza pa(ii procesului de proiectare cu FPGA:  EMBED Word.Picture.6  Diagrama procesului de proiectare cu FPGA Recapitulnd, putem distinge urmtorii pa(i ai acestui proces: Se introduce designul folosind un editor schematic (schematic capture sau ecuacii); Rezult( o netlist care descrie designul; Netlista este transmis( simulatorului pentru verificare funccional (pentru a vedea dac( au fost capturate funcciile corecte); Urmeaz procesul de compilare: plasare (i rutare; Dup( compilare, softul de analiz extrage ntrzierile date de interconectarea celulelor (i realizeaz procesul de back annotation al netlistei; Dac( simularea noii netliste satisface condiciile, atunci totul este (n regul (i se face inscripcionarea fizic( a circuitului FPGA (programarea). (n caz contrar, se reface simularea p(n( la obcinerea versiunii definitive corecte. PAGE  PAGE 114 PAGE 2 PAGE 114 PAGE  PAGE 124 PAGE 1 PAGE 124 XZ\d , . R JLhjfhnpxz &(dfhjprxztvxz jCJmHsHCJH*mHsHjCJUmHsH jCJmHsH j}CJmHsH j{CJmHsH jCJmHsH jCJmHsH jCJmHsH5CJ mHsH5CJ$mHsHCJ,CJ< CJmHsH6XZ\Nxb , . R `$a$ & F$a$dh@} ~Pt~^ h0p  & F^ & F & F`z~"$  "&(,.24>@HJVX`b jCJmHsH j"CJmHsH jCJmHsHCJH*mHsH CJmHsHSbln          * , 4 6 : < B D L N !!!!!! !"!!""""N#R#V#X#####f%%%%%%5CJmHsHjCJUmHsH jCJmHsH j"CJmHsH jCJmHsHCJH*mHsH CJmHsHL R "!!N###$$d%f%|%%% $$Ifa$ & F^%%%%%& &&&R&b&x&&&&yyyyyyyyyyyy $$Ifa$|$$IflF  D  0    4 la%%%%%&&&&&&T&V&X&Z&^&`&z&|&~&&&&&&&&&&&&&&&:'R(T(((((0)2)4)6)<)>)F)H)R)T)X)Z)d)f)h)l)n)x)z)))))B*N*P*R*T*V*Z*\*d*5CJ mHsH jCJmHsHjCJUmHsH jCJmHsH jCJmHsH jCJmHsHCJH*mHsH CJmHsHH&&&&&&&&&&&:'R((yyyyyywwwwr & F $$Ifa$|$$IflF  D  0    4 la ((()).)V)|)))*B*r**x++F,,-^0\1^11666^77` & F8^8d*f*n*p*t*v*~********+++,,,, , ,,,,,,,&,(,0,2,B,D,F,N,P,R,Z,\,l,n,v,x,z,|,,,,,,,,,l-n-^0f0`1111111 jCJmHsHCJH*mHsH5CJ mHsH5CJmHsHjCJUmHsHjCJUmHnHu jCJmHsH CJmHsHCJH*mHsHA1111P2R2X2Z2b2d26666n7p7v7x7777799::::::::;;.;0;2;4;b;d;>>>>??;Md$$IflrS  RSD04 la$If $$Ifa$>;B;^;`;f;j;n;r;;MX$$IflrS  RSD04 la$If $$Ifa$;;;>>>>>>\ZTZZKKK $$Ifa$`$$IflrS  RSD04 la>>??1! 04 a $$Ifa$?????@@8@P@VM $$Ifa$$$Ifr B>1! 04 a$IfP@V@\@@@@@@@AA*A>AVA $If^$If @@@@@XAlAAAAAAAAAAAAAAAAAFBHBNBPBBBBCCC CCCCC4C6C8C:C1! 04 aABB(B@BXBlBBBB$If $If^ BBB CCC>CVC\SMMMMM$If $$Ifa$$$Ifr B>1! 04 aVCjC~CCCCCCCD$If $If^ DDTDlDrDxDDD\SMMMMM$If $$Ifa$$$Ifr B>1! 04 aDDDDE E4EHE\EtE$If $If^ tEvEEEEEE F\SMMMMM$If $$Ifa$$$Ifr B>1! 04 aEEFFfFhFnFpFFFFGGG G GGGGG0G2G4G6GGVGZG`GbGjGlGrGtGGGGGBHH6IZIJJ.LtLTMrM>O@OzPPRRRRSS]]x]|]]]]]]]]]]]]]]]]CJH*mHsH56CJmHsH5CJmHsH jCJmHsHjCJUmHsH CJmHsHCJH*mHsHL F F4FHF`FxFFFFF$If $If^ FFFGGG@GdG|G\SMMMMMM$If $$Ifa$$$Ifr B>1! 04 a|GGGGGGGH$HH@HH6IJ.LtL\ZZZUOJ & F^ & F$$Ifr B>1! 04 atLTMNZORR^U2X]]x]]]]]]]]]]] $$Ifa$$If^ & F` & F ^`]]]]]]]]]]]^ ^^^^^^^^.^0^2^4^<^>^@^B^F^H^J^L^^^`^j^l^v^x^^^^^___&___aaaaaa0b2bbbbbbbbbbbbc*c,c.c0cNcPc:d;dd?dAdBdFdGdHdCJH*mHsH5CJmHsHCJH*mHsH CJmHsHjCJUmHsHT]]^"d $$Ifa$$$Ifl4ִ3 yY nNn0    4 lal^ ^^^ ^$^(^,^$If $$Ifa$,^.^6^"` $$Ifa$$$Ifl4ִ3 yY nNn0    4 lal6^:^D^N^P^T^X^\^$If $$Ifa$\^^^n^v^" $$Ifl4ִ3 yY nNn0    4 lalv^^^^^^^^^^^d^^^^$If$$Ifl\S J RSR04 la $$Ifa$ ^^________ommmmmmg^ $$Ifa$$If$$Ifl\S J RSR04 la _` ``` `*`,`6`@`B`L`V`X`b`l`n`,,,,,, $$Ifa$i$$Ifl0<  04 lan`x````````````````,,,,,i$$Ifl0<  04 la $$Ifa$````aaaaa(a2a4a>aHaJaTa^a,,,,,i$$Ifl0<  04 la $$Ifa$^a`aaabbbbbb.cLcRcTcVc~~~~~~~~~~` ^` & Fi$$Ifl0<  04 laVccd@dJdMdPdSdVd$If $$Ifa$ HdIdZdbdcdddmdndqdydzd{dddddddddddddddddddddddee e eeepfrfvfxf|f~ffffffffffffffffffffffgggg g$g&g.g0g8gPg\gpgtgvgh hijCJUmHsHCJH*mHsH CJmHsHCJH*mHsHTVdWdXdZd\d^dI0C:11 $$Ifa$ $$Ifa$$If$$Iflֈ3 FnnSRSR04 la1^d`dbdcdodqd@\:1 $$Ifa$$If$$Iflֈ3 FnnSRSR04 la1 $$Ifa$qdsdudwdydzddd@>>$$Iflֈ3 FnnSRSR04 la1 $$Ifa$ddddddddd $$Ifa$$Ifddddddd[DUULLU $$Ifa$$If$$Ifl4r3 FnnSRS04 la1ddddddd[(ULUUU $$Ifa$$If$$Ifl4r3 FnnSRS04 la1dddddddde[<ULUUU[XU $$Ifa$$If$$Ifl4r3 FnnSRS04 la1e e e eeeeeeL($$Ifl4r3 FnnSRS04 la1$If $$Ifa$eeeebfffffUPJp^p & F$$Ifl4r3 FnnSRS04 la1$Iffffff$If $$Ifa$ffff6p0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1ffffff$If $$Ifa$fffff6P0'0 $$Ifa$$If$$If֞LH ?7RSRSR04 a1ffffff0L$$If֞LH ?7RSRSR04 a1$Iffgg gggg"g $$Ifa$$If"g$g2g8g>g6`0'0 $$Ifa$$If$$If֞LH ?7RSRSR04 a1>gDgJgPgRgTg0@$$If֞LH ?7RSRSR04 a1$IfTgVg\g`gdgjgpgrg $$Ifa$$Ifrgtg hhiDj6444/ & F$$If֞LH ?7RSRSR04 a1iiDjdjfjkkkkkkkkkkkkklll^lllnlllllBmDmHmJmRmTmmmmmmmmmmmmmmmmn nnnnnnnPnRn^n`n jCJmHsHCJH*mHsH56CJmHsH5CJ$mHsHjCJUmHsH jCJmHsHCJH*mHsHj5CJUmHsH6CJmHsH CJmHsH5CJmHsHl@lBlDlFl$If FlHlJl$, $$Ifa$$$If 84 0,!TT5sTTTT,|((((4 aJlLlNlPlRlTlVlXlZl\l$If \l^lll$$a$$$If 84 0,!TT5sTTTT,|((((4 allnlllmn$n2n@nnnopoor@r,shsstttttttttt jH*5H* jCJmHsH jSCJ mHsHjCJUmHsH jCJmHsHCJH*mHsH jCJmHsHCJH*mHsH CJmHsHDtuuu u uuuudvlvnvtvvv~vvvvvvvvvvvvvvvvvvRwTwVwXwZwfwhwTxxy.yyyyyyyyzzzr|z|~~~~~~~~~~~~  пп jjUmHnHu5H* jCJmHsH jPCJ mHsH jCJmHsH CJmHsHCJH*mHsHKzz:{|r|z| }<~~~~~rBLxJH<`^ & FJLPRVXZ\`bfhln "$0268@BDFJLx‚ȂʂЂւނ*,JLTVZ\flrtzƒȃЃ҃܃ރ j5H*5H*5 jH*jUmHnHuY TVbdhjtzƄ҄؄<ʉ&j|ڌjȕʕ֚ BD 蹯蹯CJH*mHsH jCJmHsHCJH*mHsHjCJUmHnHu>*CJmHsH56CJmHsH6CJmHsH CJmHsH5CJmHsH5 jH*B<ȉʉx̔hȕښr2ԟ$~$If & F & F` ,.248:>@HJ΢ТҢ"$\^Ĥ̤ΤФҤԤܤޤ  "$,.0246 jCJmHsHjCJUmHnHujCJUmHsH jSCJmHsHCJH*mHsH CJmHsHN $$Ifa$$If6p0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1Ģʢ̢$If $$Ifa$̢΢Ԣڢ6@0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1ڢޢ$If $$Ifa$6L0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1$If $$Ifa$&,6X0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1,048<>$If $$Ifa$>@BH680' $$Ifa$$If$$If֞LH ?7RSRSR04 a1HLPTXZ$If $$Ifa$Z\ R644..`$$If֞LH ?7RSRSR04 a168:BDFHJLNPХԥܥ $&(*,.0468:<>@BDFJLNPRTVXZ¦ĦƦȦЦҦԦ֦ئjCJUmHnHu jCJmHsHCJH*mHsH CJmHsHVRTZ\ $$Ifa$$Ifȧʧ̧Χ,.24<>Z\xz v|ĩ,HJRT^bdhjlnvxz|Աֱڱܱޱ>*CJmHsH jCJmHsHjCJUmHnHuCJH*mHsH CJmHsHjCJUmHsHNЧ6p0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1Ч֧ܧ$If $$Ifa$6D0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1 $If $$Ifa$ 6H0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1"&0$If $$Ifa$02@F6P0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1FJNRVX$If $$Ifa$XZ^d6<0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1dhlptv$If $$Ifa$vxv©ĩ64444$$If֞LH ?7RSRSR04 a1ĩ,VFHLNPVXZ\ $$Ifa$$If & F` & F \^f~6x0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1~$If $$Ifa$680' $$Ifa$$If$$If֞LH ?7RSRSR04 a1$If $$Ifa$6H0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1ıȱʱαر$If $$Ifa$رڱ6P0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1 &(08>@BDFNPRTV^`bdfnprtvxܵhjnpz|ƶȶ̶ζضڶz|&(,.ļ6CJmHsH>*CJmHsH5 jCJmHsHjCJUmHsHjCJUmHnHu CJmHsHCJH*mHsHJ$If $$Ifa$ 6H0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1"$$If $$Ifa$$&x64442$$If֞LH ?7RSRSR04 a1ܵH&6@r̹:trFĽ<t` & F & F.:<@BTVXZ\bdƸȸʸ̸θиҸԸָ"$&(68<>r~Ĺʹ̹޹:»Ȼʻڻ6CJmHsHjCJUmHnHu jCJmHsH jFCJmHsH jCJmHsHCJH*mHsH CJmHsHKڻܻ޻$&*,028:68BDĽ2< $&*,02:<tv~¿пҿʸjCJUmHnHujCJUmHsH jSCJmHsH5CJmHsH jCJmHsHCJH*mHsH jFCJmHsH jCJmHsH jCJmHsH CJmHsHCJH*mHsH;txz| $$Ifa$$If6p0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1$If $$Ifa$¿Կڿ6T0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1ڿ޿$If $$Ifa$6<0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1$If $$Ifa$  6H0' $$Ifa$$If$$If֞LH ?7RSRSR04 a1 .0JL  "$&(02468:<>FHJLNPRT\^bdfhlnxz~ $&.04 jCJmHsHCJH*mHsHjCJUmHsHjCJUmHnHu CJmHsHR "$&*,$If $$Ifa$,.28680' $$Ifa$$If$$If֞LH ?7RSRSR04 a18:>BFH$If $$Ifa$HJ :64444$$If֞LH ?7RSRSR04 a146: $8>@BDNPRT^`bdnprt~ &(*,<>FHCJH*mHsH jCJmHsHjCJUmHnHu CJmHsHCJH*mHsHQ:$  y$pj$If $$Ifa$h$$If\3 {4 aO $$Ifa$$If`` $&.26:<@BDJ, ~~~~$If $$Ifa$h$$If\3 {4 aO $$Ifa$ JL^`\rx~ $$Ifa$$If & Fh$$If\3 {4 aO\^`bjlnp ,.FHJLNVXZ\^`|~ :<>@BJLNPRZ\^`prtH* jjUmHnHu jCJmHsHCJH*mHsHjCJUmHnHu CJmHsH5CJmHsHLS0J $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$\(SJJJJ\H $$Ifa$ $$Ifa$$$Iflr3 +}nSRSR04 la1M$D $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$$If  "S@J $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$"&*,`|SQOI$If$$Iflr3 +}nSRSR04 la1 $$Ifa$S8J $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$\(SJJJJ\H $$Ifa$ $$Ifa$$$Iflr3 +}nSRSR04 la1tvxz|$n JL FH\^r2¾¾jCJUmHnHuCJ jH*jUmHnHu jS556CJmHsH CJ$mHsH CJmHsH jCJmHsHCJH*mHsHD~4JbxF^ h^`h$ & Fa$:\~*Nr2v*XH|$If$ & Fa$^24>HJ~H|"*,.08:<>FHJLR$&(*.0BDLN j j} j{ jH*5CJ5H*jUmHnHuV|~ FGTN pt$Ifi$$Ifl0j z04 la1NP@8*@V\bhn $$Ifa$$If  "$&(*,.024BDFHJLNPRTXf^ "$DFJLPRVX`b &(<>@BDF jS5 jH*`FHJPR~:<@BDFNPRTpr 0268:<DFHJfhz~ "$&.024^CJH*mHsH CJmHsHjCJUmHnHu j jSH*Vnpvx|~\$SJJJJ $$Ifa$ $$Ifa$$$Iflr3 +}nSRSR04 la1\0SJJJJ\H $$Ifa$ $$Ifa$$$Iflr3 +}nSRSR04 la1M$D $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$$IfS\J $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$ 6LRX^SQK$If$$Iflr3 +}nSRSR04 la1 $$Ifa$^dflprtxS(J $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$xz\0SJJJJ\H $$Ifa$ $$Ifa$$$Iflr3 +}nSRSR04 la1M$D $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$$IfS(J $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$ 6<BHSQK$If$$Iflr3 +}nSRSR04 la1 $$Ifa$HNPTVXZ\SJ $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$\^fhlptv\0SJJJJ\H $$Ifa$ $$Ifa$$$Iflr3 +}nSRSR04 la1^bvPRTVXtvxz~ "&(*,0246:<>jUmHnHuCJCJH*mHsH jH* CJmHsHjCJUmHnHuRMD $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$$IfS,J $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$SQQQQQ$$Iflr3 +}nSRSR04 la1 $$Ifa$ .@Phk$$If404!`404 a$IfPRZbjr|nhhhhhhhhhh$If$$If4\]4! i 04 a oiiiiiiiiiio$If$$If\]4!4i 04 a  $.8BFJNR$If >@RTXZ\^`brtvx|~  prxz8:<>@BDFtvxz|~ jjUmHnHuCJH*]RTdlpzo|iiiiiiiotiii$If$$If\]4!4i 04 a i$$If\]4!4i 04 a$If  ommgggggg$If$$If\]4!4i 04 a HxBBBBBB$If$$If4ֈS F4!`o`R`I04 a  $(,.26HJLPRTVX\^`bfhxFf$Ifhjnrx|Ff$IfFf2468:pr $&LNVX@BDFHJnprtvx*+,-./CDEFGH jH*b  "&0||Ff Ff$If0<@DFHLNRTVXZ\^`dntvxz|~hFf$IfhhFfMFfg$If "$&(*,.hFf3$If.0D2<$IfFf <>L`djlzo\iiiio\iiiio\i$If$$Ifl\O   04 la i\i\$$Ifl\O   04 la$If %'()0>@ABi\idi\$$Ifl\O   04 la$If BIUWXY`npqryidi\$$Ifl\O   04 la$If HZ[\]^_stuvwxLJR^`lpxz~H* j jS5H*^i\i\$$Ifl\O   04 la$If odiiiio\iiiio\i$If$$Ifl\O   04 la i\igg$$Ifl\O   04 la$If *R^p"6L^V  6tvn`$a$`   "$.0246:DFHJVXZ\ "$,.02:<>@HJRT  txn5CJ mHsH CJmHsH5CJ$mHsHmHsH5H*jUmHnHuQnpvx " ( * 4 6                 " $ , . 2 4 : < F H L N R T \ ^ b d j l v x p "$&(4HJL5CJmHsH5CJ mHsHCJH*mHsH CJmHsHjCJUmHsHTn  L P | B ln (L``LZ\^`nprVXJX!B"T''**+.-<---F.H.N.T.^.`.p.r.x.~.............. jCJmHsH56CJmHsH5CJmHsH5CJ mHsH56CJH*mHsH CJmHsHjCJUmHsHJ.VJh   !!B"^ & F`B"<$R'T'' )~**+.---6.b........... $$Ifa$ & F`^..........11111111111122222222T2V22222222222222222*3.3n3t33333333333333333333333 4 444,44444444444444jCJUmHnHu CJmHsHCJH*mHsHZ...#D $$Ifa$$$Iflִ <f ***** ***0    4 la........ $$Ifa$.//#D $$Ifa$$$Iflִ <f ***** ***0    4 la// ///// / $$Ifa$ /"/&/#D $$Ifa$$$Iflִ <f ***** ***0    4 la&/*/./2/6/:/>/B/ $$Ifa$B/D/H/#D $$Ifa$$$Iflִ <f ***** ***0    4 laH/L/P/T/X/\/`/d/ $$Ifa$d/f/j/#D $$Ifa$$$Iflִ <f ***** ***0    4 laj/n/r/v/z/~/// $$Ifa$///#D $$Ifa$$$Iflִ <f ***** ***0    4 la//////// $$Ifa$///#D $$Ifa$$$Iflִ <f ***** ***0    4 la//////// $$Ifa$///#D $$Ifa$$$Iflִ <f ***** ***0    4 la//////// $$Ifa$///#D $$Ifa$$$Iflִ <f ***** ***0    4 la////00 00 $$Ifa$000#D $$Ifa$$$Iflִ <f ***** ***0    4 la000 0$0(0,000 $$Ifa$002060#D $$Ifa$$$Iflִ <f ***** ***0    4 la60:0>0B0F0J0N0R0 $$Ifa$R0T0X0#D $$Ifa$$$Iflִ <f ***** ***0    4 laX0\0`0d0h0l0p0t0 $$Ifa$t0v0z0#D $$Ifa$$$Iflִ <f ***** ***0    4 laz0~0000000 $$Ifa$000#D $$Ifa$$$Iflִ <f ***** ***0    4 la00000000 $$Ifa$000#D $$Ifa$$$Iflִ <f ***** ***0    4 la00000000 $$Ifa$000#D $$Ifa$$$Iflִ <f ***** ***0    4 la00000000 $$Ifa$0011#!!$$Iflִ <f ***** ***0    4 la12 2&2,22242:2J A $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ $$Ifa$:2<2>2@2B2D2J2L2N2S J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$N2P2R2T2\2`2d2h2l2S4J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$l2n2t2x2|22222\0SJJJJ\H $$Ifa$ $$Ifa$$$IfrL/ LSRS04 a2233 3333H $$IfrL/ LSRS04 a $$Ifa$ $$Ifa$3 3"3$3&3(3*34383J8$$IfrL/ LSRS04 a $$Ifa$ $$Ifa$83<3@3D3F3L3N3P3R3S J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$R3T3V3\3`3d3h3l3n3S0JS $$Ifa$$$IfrL/ LSRS04 a $$Ifa$n333444$4*4,4H8$$IfrL/ LSRS04 a $$Ifa$ $$Ifa$,4:4<4>4B4F4H4N4R4J($$IfrL/ LSRS04 a $$Ifa$ $$Ifa$R4V4X4Z4\4b4d4f4j4S(J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$j4n4p4v4z4~4444S(JS $$Ifa$$$IfrL/ LSRS04 a $$Ifa$444444444444444444555 5555 5$5&5.505:5<5D5F5N5P55555555555556F6X6Z6b6d6f6h6j6l6n6p6x6z6|6~6666666666666666666666666666jCJUmHnHu CJmHsHCJH*mHsHZ4R5T5555555 $$Ifa$ $$Ifa$5555555\(SJJJJ $$Ifa$ $$Ifa$$$IfrL/ LSRS04 a555555555\(SJJJJ\(S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 a5555666 66S(J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$6666\7t7778SQQKQK`$$IfrL/ LSRS04 a $$Ifa$6666666666666666666677777 7777777&7(7:7<7D7F7N7P7X7Z7v7x77777777788 8 8l8x888888888888899 9&99:5CJmHsH56CJmHsHCJH*mHsH jSCJmHsHjCJUmHnHu CJmHsHCJH*mHsHK8x88888 9&99?:G:K:L:N:P:~k$$Ifl40^  04 la $$Ifa$` & FP:R:T:V:X:Z:\:^:`:c:f:i:l:m:o:q:s:u:w:y:{:}:::::::tFf $$Ifa$:a:b:d:e:g:h:j:k:Z=\=^=`=j=l=r=t=x=z=============================??ABBBBBB(BzB|BBBBBBBBBB jCJmHsHjUmHnHuCJH*mHsH56CJmHsH jCJmHsHjCJUmHnHuCJH*mHsH CJmHsHC::::::::::::::::::::::::::::ttFf3" $$Ifa$Ff::::::::::::::::::::::::::::ttFfg'Ff$ $$Ifa$::::::::;;;;; ; ;;;;;;;;;;;!;#;%;ttFf,Ff* $$Ifa$%;';);+;-;/;1;3;5;7;8;:;<;>;@;B;D;F;H;J;L;N;P;R;T;U;W;Y;ttFf1Ff5/ $$Ifa$Y;[;];_;a;c;e;g;i;k;m;o;q;r;t;v;x;z;|;~;;;;;;;;;tFfi4 $$Ifa$;;=Z=r====??ABzBBBBBCHCNCTCZC`CfClCrCxC $$Ifa$$If & F`Ff7BBBCDCFCHCJCLCPCRCTCVCXCZC\C^CbCdChCjCnCpCrCtCvCxCzC|CCCDDE"E`EbEjElEnEpErEtEzE|EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFF FjCJUmHnHuCJH*mHsHH* CJmHsH5CJmHsHVxC~CCCCCCCCCCCCCCCCCCCCCCCCCC\\Ff;Ff9 $$Ifa$CCCCCCCCCDD DDDDDD D$D(D,D0D4D8DDBD\\\Ff=BFf@ $$Ifa$Ff=BDFDJDNDRDVDZD^DbDfDjDlDpDtDxD|DDDDDDDDDDDDD\\FfFFfeD $$Ifa$DDDDDDDDDDDDDDDDDDDDDE.FJFGG\` & FFfJFfH $$Ifa$ F FFFFF F"F$F&F(F*F.FJFGGGGGGHHH"H$H(H*H0H:H@HDHFHHHHHPIVIXIZI^IdItIvIxIzI~IIZKjKlKtKvKxK~KKKKKdLfLpLrLM@MBMNMPMRMTMjM jCJmHsHCJH*mHsHH*jUmHnHujCJUmHnHu56CJmHsH CJmHsHCJH*mHsHGGH$H*H2HHHHFIIZKjKxKKKKK\M|MMpNNNNNNNNOFP`jMlMxMzMMMMMMpNxNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOPPPPPPPPPPP P$P&P.P0P2P4P8P:PPBPDPR&RSSjUmHnHu56CJmHsH jCJmHsHH*jCJUmHnHuCJH*mHsH CJmHsH jCJmHsHIFPR&RSS8TTTZTbTxTzTUUFUtUxUUUWTLTRTTTXTZT`TjTpTtTvTTTUUUU$U*U,U.U4U6U:UU@UHUJURUXUZU\UbUdUhUjUlUnUtUvUzU|U~UUUUUUUUUUUUUWWXFXHXJXLXPXRXfXhXpXrX"YhY"]L]^.^|_~_________________6`8`F`L` jSCJmHsH56CJmHsH jCJmHsHCJH*mHsHjCJUmHnHu CJmHsHN"YhYh[[@\"]L]^|_____F````a@aVaXaabcNcde^e & F` & FL`P`R`Z`\`^```d`f`n`p`r`t`x`z``````````````aaaaaaaa"aa@aBaFaHaRaTaaaaaaaaabbbb b bbbbb"b$b&b(b,b.b0b2b6be@eBeFeHePeReZe\e^e`edefenepe56CJmHsHjCJUmHnHu jCJmHsHCJH*mHsH CJmHsHRperetexezeeeeeeeffff f ffff f"f$f(f*f,f.f2f8f@fBfDfFfJfLfNfPfTfZfdfffhfjfnfpfrftfxf~fffffffffffffffffffffffffffggg ggggg g"g&g,gjCJUmHnHuCJH*mHsH jCJmHsH CJmHsHV^e|eefBg,h`h2i4iBiDiiLkmnxohpruv>whxxxx y>yxy$a$ & F`,g4g6g8g:g>g@g,h`h4iBiDiFiiNkvkmmnnoo o ooooooo$o&o(o*o.o0o2o4o8o:oBoDoFoHoLoNoPoRoVoXo`obodofojolonopotovoZp\pbpdpqq q"qqqqqrst jUjCJUmHsH5CJmHsH CJ$mHsH556CJmHsH jCJmHsHCJH*mHsH CJmHsHJttttuv&vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwww w wwwwwww w"w$w&w.w0w2w4w6w8w:wxhxzx~xxxxxxxxjCJUmHsH CJmHsHCJH*mHsHZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyy yyyyyyyy$y&y2y4y6y8y:yyByFyHyVyXy`ybyfyhylynypyrytyvyxyzy~yyyyyyyyyyyyyyyyyyzzz jCJmHsHjCJUmHsHCJH*mHsH CJmHsHWxyyyyzz(z.z4zJzZz`zdz|zzzzT{{~||}~€ $$Ifa$^ & F`z z$z&z0z2z4zz@zJzNzZz\zfzhzlznzrztzxzzz|zzzzzzzz(*€ĀƀȀʀ̀؀ڀ܀ހ "$(*.046BDHJNPTVbdhjnptv|~ jCJmHsHCJH*mHsH CJmHsHjCJUmHsHV S@J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$  &,28S@J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$8:@FLRXZ`\@SJJJJ\@S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 a`flrxz|SQH $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ƁS,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ƁȁʁЁҁց؁ځ܁S$JS( $$Ifa$$$IfrL/ LSRS04 a $$Ifa$܁J($$IfrL/ LSRS04 a $$Ifa$ $$Ifa$SQQQQQ$$IfrL/ LSRS04 a $$Ifa$ BD "$,.46DFNPVX`bhjxz8ptxzZf ގhlܚ5 jCJmHsHCJH*mHsH56CJmHsH5CJmHsHjCJUmHsHCJH*mHsH CJmHsHH6p @hؒڒܒT0 & F`^2rvğ 0| $$Ifa$$If $&*,02<>@BFHJLPRTVZ\bdhjnptvz|žĞƞʞ̞ΞОԞ֞؞ڞޞ   jCJmHsHCJH*mHsH CJmHsHjCJUmHnHuV$&(*.0rtvx~ŸğȟΟПԟ֟$&,.|~NƪҪ5CJmHsH56CJmHsHH*jCJUmHnHu jCJmHsH CJmHsHCJH*mHsHN!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la¡ơʡΡ $$Ifa$ΡСԡ!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 laԡءܡ $$Ifa$!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la  $$Ifa$!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la $(,04 $$Ifa$46:!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la:>BFJNRV $$Ifa$VX\!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la\`dhlptx $$Ifa$xz~!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la~ $$Ifa$!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la $$Ifa$¢!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la¢Ƣʢ΢Ң֢ڢޢ $$Ifa$ޢ!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la $$Ifa$!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la " $$Ifa$"$(!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la(,048<@D $$Ifa$DFJ!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 laJNRVZ^bf $$Ifa$fhl!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 lalptx| $$Ifa$!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 la $$Ifa$!D $$Ifa$$$IfTlִO +y- Mnnnn0    4 laģȣ̣ $$Ifa$̣ΣУ4!$$IfTlִO +y- Mnnnn0    4 la4`xdүܯ $x̰0t & FҪ$Jdүگܯ "xz|̰ΰа,.068BDtx|رڱܱNP"ȹعܹ5CJ mHsHjUmHsHjCJUmHnHuCJH*mHsHjCJUmHsH CJmHsH5CJmHsHKtܱNl@xʴD"$ȹع@\x`*,.246@FHJVXZ\hx~(Z\^`bd½Ľʽ̽νҽԽֽڽܽ jDCJmHsHjCJUmHnHu jCJmHsH CJmHsHCJH*mHsHR ,MHD $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$$If,026:<@BDS J $$Ifa$$$Iflr3 +}nSRSR04 la1 $$Ifa$DHJLNĽ̽SQQQQQQ$$Iflr3 +}nSRSR04 la1 $$Ifa$ ֽ̽ܽ 0>@PXf|&PV24dtܽ *,.08@HPVX`fjvxz¾ľʾ̾ξVX^`bhjl̿οֿؿڿVX$&(*.04BFH^ jCJmHsHH* jDCJH*mHsH CJmHsHjCJUmHnHuS^`bdlprtv  "$(*046FHJLTZ^`dxz|~ jDCJmHsHH* jDCJCJH*mHsHjCJUmHnHu CJmHsHCJH* jDCJN$*8LZ`~Z*,H$a$ & F(` "*PTfX|x "  0246:<RT^`~ jCJmHsH j*CJmHsHjCJUmHnHu5CJ mHsH5CJmHsH5CJ$mHsH jDCJmHsH CJmHsHCJH*mHsHDdPRtv .0 ^ & F)` H"6HZl~,:PV\bh $$Ifa$$If  "$hj.46<>HJLNjnlptzBPRT jH*jUmHnHu j*CJmHsHjCJUmHnHuCJH*mHsH CJmHsHOhjrvz~\4SJJJJ $$Ifa$ $$Ifa$$$Ifr ({nSRSR04 a1\,SJJJJ\H $$Ifa$ $$Ifa$$$Ifr ({nSRSR04 a1K0$$Ifr ({nSRSR04 a1 $$Ifa$$IfJD$$Ifr ({nSRSR04 a1 $$Ifa$ $$Ifa$ lSQQQK`$$Ifr ({nSRSR04 a1 $$Ifa$BR(*@PV\vxJRt`TX^fltvxz "$*0@NPTVZ\fxz "$.024jUmHnHu jH*^4:<>@DFJPRbdjrt~"$`v ".DJXZjlnr~lv5jUmHnHu jH*]t`|~"DL\jn~v`@jhf`$68<>@FHN`bfhpr XZ^dnrv|LPTVZ`fhFhnz5 jH*jUmHnHu^XnLfvBDh`$ & F*a$h0Pdv 2DFTjp $$Ifa$$If06:<@FPRFHNPVX  &(FHLNPR^`dfhnr " ( * , . 6  jjCJUmHnHuCJH*mHsH CJmHsHjUmHnHuH*Spv|S(J $$Ifa$$$Ifr ({nSRSR04 a1 $$Ifa$S<JS $$Ifa$$$Ifr ({nSRSR04 a1 $$Ifa$ "8Phr" * . 8 L r        $   `6 8 < L Z r                              > "DFPZ`bp  "$&(.0CJH*mHsH CJmHsHjCJUmHnHuH*5jUmHnHuT       :<"FZb &2`$ & F+a$qh $$Ifa$|$$IfF (nSR0    4 a1 $$Ifa$$If @ yppnhhnnnn` $$Ifa$ $$Ifa$|$$IfF (nSR0    4 a1  $&*,<>@JLR\^bdnptv 4Hl b&(,.68<>FJT^`dHJ !"!2!4!8!:!@!B!X!v! j j5jUmHnHu jH*ZbDFT`f  "!4!:!B!v!|!!!!!!`v!x!|!!!!!!!!!" """"$"."0"6"8"# #''((((((&),(,,,.2/B11<6>6667799999:&;,;4;6;@;B;L;N;P;V;X;n;r;t;x;z;;;CJH*mHsHjCJUmHnHuCJH*mHsH56CJmHsH5CJmHsH5CJ mHsH CJ mHsH CJmHsH5H*jUmHnHuD!!! " ""2"#<#j$%v&R''((((((&),(,,--. & F/ & F.$a$`.T//0B11111v5777"8999:&;P;X;;;<6<Z<^<<` & F/ & F.;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<4<6<:<Z<\<`<b<h<j<p<r<<<???@@H@J@\@^@`@b@v@x@@@@@@@@@@@@@@AA&A(AJAdBCC$C&C,C.CEFNFTF\F^F56CJmHsHjCJUmHnHuCJH*mHsH CJmHsHV<=>???@J@b@x@@@@@@$AJAdBCEFNFxFFFGFGbGG`^FhFjFtFvFxF~FFFFFFFFFFFFFFFFFFFFFGGGGGG"G$G,G.G2G4GGBGDGFG`GbGfGGG HHHHHHHHHHHII"I$I&I(I0I2II@IDInIpIrIIIIIIKKVKMMLMNM56CJmHsHjCJUmHnHuCJH*mHsH CJmHsHVGG HHHHHI(I2IBIDIIIIKVKMMMJNNNO.O6O8OO:PQNMMMMMMMMN NNNN&N(N,N.N@NBNFNHNJN`NhNjNNNNNNNNNNNNNNNNNNNNOOO.O2OO:PSSS SSSSSTTUU U UDUFUxUzUUUUUUUUVVVVV|VVVVVV56CJmHsHjCJUmHnHuCJH*mHsH CJmHsHVQRRSS SSSSSQ,$$Iflr= 8 04 la $$Ifa$ S"S&S*S.S0S4S8STDTHTLTPTS0$$Iflr= 8 04 la $$Ifa$ PTTTVT\T`TdThTlTnTtTS0S0$$Iflr= 8 04 la $$Ifa$ tTxT|TTTTTU UUSQQQQ$$Iflr= 8 04 la $$Ifa$ UUVV|VVVVsBsFsHsS(JS $$Ifa$$$Ifr ({nSRSR04 a1 $$Ifa$HsZsbsvs|sssssK0$$Ifr ({nSRSR04 a1 $$Ifa$$IfsssssssssJ,$$Ifr ({nSRSR04 a1 $$Ifa$ $$Ifa$ssssssFtNttttSQQQQQ$$Ifr ({nSRSR04 a1 $$Ifa$ dtftptrttttttttttttttttttttttuu u"u&u(u.u0u4u6uHuJuNuPuRuXuzu|uuuuuuuvvzzzzzzzzX{Z{d{x{}}  `ń΁܂ނH*H*5CJmHsH jCJmHsHjCJUmHnHu CJmHsHCJH*mHsHPttttuRuuuv v"vtxzzzzL{d{}}}n~2H`^́v܂ ,28>DJPV\bhntvzFfZ $$Ifa$$If`  "$*.046:<@BFHLNRTXZ^`dfjlprȆʆ҆Ԇ؆چ܆ކlnprz|އ jCJUmHnHuCJH*mHsH CJmHsHCJH*mHsHVz~ƒƃȃ̃Ѓԃ؃܃FfW^ $$Ifa$   !#%')+Ffa $$Ifa$+-/13568:<>@BDFHJLNPRTVXZ\^_FfhFfSe $$Ifa$_acegikmoqsuwy{}FfOl $$Ifa$ÄńDŽɄ˄̈́Ffo $$Ifa$̈́τфӄՄׄلڄ܄ބFfKs $$Ifa$ΆІ؆ $$Ifa$ $$Ifa$`Ffv  "&\@SJJJJ $$Ifa$ $$Ifa$$$IfrL/ LSRS04 a&(.268<>D\,SJJJJ\,S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aDHLNRTZ^bS0J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$bfjl~SQQH $$Ifa$$$IfrL/ LSRS04 a $$Ifa$‡ƇS$J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$Ƈȇ·҇և؇܇އ\,SJJJJ\4S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aS0J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$"%SQOF $$Ifa$$$IfrL/ LSRS04 a $$Ifa$  ,-Z[_`bcefghijlmno}~Έӈ   &'UVZ[]^`abcdejCJUmHnHuH* CJmHsHCJH*mHsHY%(+,01235S(J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$569;=?ABE\0SJJJJ\0S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aEGIKMNQRTS,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$TVXYaepsvSQQH $$Ifa$$$IfrL/ LSRS04 a $$Ifa$vy|}S,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$\0SJJJJ\,S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aS,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ĈLjSQOF $$Ifa$$$IfrL/ LSRS04 a $$Ifa$Ljʈ͈Έֈ؈وڈ܈S<J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$܈݈\,SJJJJ\0S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aS4J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ SQQH $$Ifa$$$IfrL/ LSRS04 a $$Ifa$"%&*,.02S4J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$2368:<>?B\0SJJJJ\(S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aBCEGHILMOS,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$OQST\`knqSQQH $$Ifa$$$IfrL/ LSRS04 a $$Ifa$eghijʉˉ    KLPQSTVWXYZ[]^_`npH*jCJUmHnHuCJH*mHsH CJmHsHYqtwx{|}~S$J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$\4SJJJJ\0S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aS0J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ÉSQOF $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ÉƉɉʉΉЉ҉ԉ։S4J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$։׉ډ܉މ\0SJJJJ\$S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aS0J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$SQQH $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ !"$&S,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$&'*,.0236\0SJJJJ\0S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 a68:<>?BCES,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$EGIJRVadgSQQH $$Ifa$$$IfrL/ LSRS04 a $$Ifa$gjmnsuwy{S8J $$Ifa$$$IfrL/ LSRS04 a $$Ifa${|\,SJJJJ\(S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aS@J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$SQOF $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ÊƊNJʊˊ͊ϊъS,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ъҊՊ׊يۊ݊ފ\0SJJJJ\,S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 aS,J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ SQQH $$Ifa$$$IfrL/ LSRS04 a $$Ifa$  FGHIMNZ`brvx|~̌Όڌ܌268<>BDHJNPTVZ\`bdtčȍʍ΍ЍjCJUmHnHuCJH*mHsH CJmHsHZ !#S0J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$#$')+,./2\,SJJJJ\,S $$Ifa$ $$Ifa$$$IfrL/ LSRS04 a24679:=?AS0J $$Ifa$$$IfrL/ LSRS04 a $$Ifa$ACEFOXZbSQKQQQ`$$IfrL/ LSRS04 a $$Ifa$ dލZ\*p^z4`Ѝԍ֍ڍ܍ލZ02BD\*|6d`btzĢҢHPXZbdlntvxģƣʣ̣ңԣأڣܣ jCJmHsH56CJmHsH5 jCJmHsH6CJmHsH5CJmHsHjCJUmHnHuCJH*mHsH CJmHsHE4dĢHxܣ h:Xhp2(ЩF )4^epwT`ܣ 046:<BDHJPRVX^`df:LXf֥إ:<*RҩFR ()1234]^deopvwT_ŭɭӭ٭ڭݭޭ024656CJmHsHCJH*mHsH CJmHsHjCJUmHnHujUmHnHuRTɭLԯLN^в:Vt޴ & F2` & F3  PRTVN^в޲ FTVZ\bdjlrtĴ޴ 48ĵjUmHnHuH*CJjCJUmHnHu6CJmHsH5CJmHsH CJmHsHCJH*mHsHM4Tpĵ|2:<Xfҹڹܹ"*,HX`ĵ.028<>DHX^bdfl~ιйҹعܹ޹  "(,.48HPTVX\~:¼ļƼʼҼּH*jCJUmHnHuCJH*mHsH CJmHsH6CJmHsHVXvxz|:Ƽ*>FJXƽ`VH&(*,>DFHNPTV`Xjpxz8>DFJLRTXZ`bfhn|6CJmHsH jCJmHsHjCJUmHnHuCJH*mHsH CJmHsHSfhj8nX\^nLt|`(*46@BLNXZ`LPtz|  *.0BL *026hj.0 |@BV&mHsHjCJUmHsH5CJ mHsH5CJH*mHsH5CJmHsHjCJUmHnHu CJmHsH jCJmHsHH *0BD22LN :z ^``*2hlNvD$`| & F4`fj~B "$8<@RV`~ ^` & F4&8:<>@BRT~8:<>TV  FHJLNV\^"$,24:>CJH*mHsHjCJUmHsH CJmHsH5CJmHsHW8<TX4  p^p` ^`FJNdf$:@`DNPV.0@HPTrtVX .08NRl"8CJH*mHsHjCJUmHnHu5CJmHsHCJH*mHsHjCJUmHsH CJmHsHLDPX>@PZ ` & F50@.LN8`(*prz $$Ifa$$If`8<@BDFLNPRXZ\^`b.08:<tvz|~  (*:<nprt  jCJmHsHCJH*mHsHCJH*mHsH CJmHsHjCJUmHnHuH*jUmHnHuNx o $$Ifa$~$$Ifl4F R0    4 la1 $$Ifa$ xoo xoo xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1 "&ypp $$Ifa$$If~$$Ifl4F R0    4 la1&(048$xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la18:BFJLRVZ\bfj$xoo xoo xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1 jlnypp $$Ifa$$If~$$Ifl4F R0    4 la1 xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1 xoo$xoo xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1 x F b      }~$$Ifl4F R0    4 la1      8 : B D F J P R X Z b n                   " <    L R V X \ b l n                          CJH*mHsH5CJmHsHH*jUmHnHujCJUmHnHuCJH*mHsH CJmHsHN   H J L l       # H g         $$Ifa$$If            ! " # H I                               # $ & ' ( ) * + 6 7 X Y _ ` b c d e f g                     jCJmHsHCJH*mHsHjCJUmHnHu CJmHsHH*U     $xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1              xoo xoo xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1       ypp $$Ifa$$If~$$Ifl4F R0    4 la1     $xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1              xoo xoo xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1   " & 1 3 5 ypp $$Ifa$$If~$$Ifl4F R0    4 la15 6 : < > $xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1> ? B D F G J L N O R T V  xoo xoo xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1 V W ^ b m o q ypp $$Ifa$$If~$$Ifl4F R0    4 la1q r u w y  xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1y z }            xoo$xoo xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1        ypp $$Ifa$$If~$$Ifl4F R0    4 la1      xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1              xoo$xoo xoo $$Ifa$ $$Ifa$~$$Ifl4F R0    4 la1    BX&*,:>y`~$$Ifl4F R0    4 la1     B &(:<hr&:<DPRTdjln`bjvxz "04">*>*CJmHsH56CJmHsH5jCJUmHnHu5CJmHsH jCJmHsH CJmHsHCJH*mHsHJ>@htv&:DRVdlp`jx|  "X`| "!!"Z$|%%% &&.&E&P&_&p&q&&&&&&`  0 |    "!B!!("""Z$`$%%%% & &&$&.&/&E&I&P&T&_&a&&&&&&&&&&&&&&&&&&&&&&&'''''''''')'0'2'3'5'='>'F'H'N'P'(0(********CJH*mHsH CJmHsHjCJUmHnHu5jUmHnHu6>*S&&&&&&&&&&'''''''*'0'3'='?'F'N'Q'0(F***$If`***+ + ++++S,J $$Ifa$$$Ifr ({nSRSR04 a1 $$Ifa$++ +"+&+*+,+.+0+S J $$Ifa$$$Ifr ({nSRSR04 a1 $$Ifa$0+2+4+...".(...\ZZZTKKK $$Ifa$$If$$Ifr ({nSRSR04 a1*2+. . ......6.8.h.n.......//(/////0121:1<1>1111111111111 2"2$2&2224282:2B2D2F2H2L2N2R2T2X2Z2\2^2d2f2h2j2222222222222222 jjUmHnHuH*H*5CJH*mHsHjCJUmHnHu CJmHsHR..4.6.<.L.T.^.f.SdJ $$Ifa$$$Ifr F&nSR04 a1 $$Ifa$f.h.r.|.~.....\8SJJJJ\H $$Ifa$ $$Ifa$$$Ifr F&nSR04 a1..0B11111111 $$Ifa$$If 1111122\4SJJJJ $$Ifa$ $$Ifa$$$Ifr F&nSR04 a122 22222 2P2\0SJJJJ\H $$Ifa$ $$Ifa$$$Ifr F&nSR04 a1P2X2l2r2x2~222K0$$Ifr F&nSR04 a1 $$Ifa$$If222222222J,$$Ifr F&nSR04 a1 $$Ifa$ $$Ifa$222222222SQQK$If$$Ifr F&nSR04 a1 $$Ifa$2222383@3B3D3V3X3\3^3`3b3f3h3t3v3z3|3333333P4R4T4V4\4^4`4b44444444444444444444455,5.5:5<5>5@5D5F5R5T5V5X5^5`5b5d555555555555 jH*jUmHnHujCJUmHnHuCJH*mHsH CJmHsHS222223333SPJ $$Ifa$$$Ifr F&nSR04 a1 $$Ifa$3 3"3&3*3.3236383S,JS $$Ifa$$$Ifr F&nSR04 a1 $$Ifa$833D4P4d4j4p4v4|4 $$Ifa$$If|4~444444\ SJJJJ $$Ifa$ $$Ifa$$$Ifr F&nSR04 a1444444444\(SJJJJ\H $$Ifa$ $$Ifa$$$Ifr F&nSR04 a144444455K$$$Ifr F&nSR04 a1 $$Ifa$$If5 55555555J($$Ifr F&nSR04 a1 $$Ifa$ $$Ifa$5"5&5*5,5H5J5R5f5SQQQK$If$$Ifr F&nSR04 a1 $$Ifa$f5l5r5x5~55555S$J $$Ifa$$$Ifr F&nSR04 a1 $$Ifa$555555555S(J $$Ifa$$$Ifr F&nSR04 a1 $$Ifa$5556h6z666666\ZZZZZZZZZ$$Ifr F&nSR04 a1 56h6t6v6x6z66666666666666666666v7z777772888:8L8P8R8V8X8^8`8d8f8l8n8r8t8v888888888899,9.9092949999999999999::: : :::: :":.:0:2:4:6:8: mHnHuH*jUmHnHu5\66v77777728:8v888929@9B9999::2:H:X:l:|:~:F=`8:D:F:H:L:X:f:l:v:::; ;==>>>>>> > > > >>>>>>>>>>> >!>">'>)>*>.>/>0>1>3>4>5>6>8>9>=>>>?>@>B>C>D>E>G>H>I>R>T>U>^>_>a>b>c>d>f>g>h>i>k>l>r>s>u>v>w>x>z>{>|>}>>>>>>> j>*5jUmHnHuH*\F==">I>>>>>>>>>>>>????#?,?5?>?@?K?O?Z?[?j?`>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>???????#?%?*?+?,?.?3?4?5?6?C?D?F?G?I?J?K?N?R?S?U?V?X?Y?Z?[?]?j?k?t?u?????????????????CJH*mHsHjCJUmHnHu CJmHsHjCJUmHsH jH*Sj?t??????????@~BBBBCCDDLDzDDDDDDDD`??????????????? AbABBBBBBBBBBBBBB C CDDD(DLD\DvDxDzDDDDDDDDDDDDDDDDDDEEEEEF F F"F$F/F0FFCFDFMFPFRFSFVFWF[F\F`F jH*jUmHnHu5jCJUmHsH CJmHsHCJH*mHsHSDEE"Fi~ln:ohop p8pXpZppppp` ^`hhhh$i&i@iDiiinn"n$n@HJhҌԌ܌ތ j5665H*jUmHnHu[t|bF:<VlˆƈڈPZ`Z\tv>LNhČx|čƍflx̎`RTxz|ƍ֍܍ލ  fjlptvʎ̎Ԏ؎ڎ"$(.048:>@BFJLNRVҏ6jUmHnHuH* j^̎$BNTҏbґؑ2NTZdzxޓ2468>@DFVXZ\tv $&(*.024xȑʑґ֑26@BJLNRTXZbdflprvxzjUmHnHu jH* j]ȒҒܒrtzޓT ԧ֧DF²IJ^r.B J2bz¼ڼֽ$2пԿ6Rf"@.b,`b޼޼CJH*mHsH5CJ mHsH6CJmHsH56CJmHsH CJmHsH5CJmHsH5CJ$mHsH jl56H*JޓTJ Ɯ0̥Xԯ̱DF²IJ`$a$`Ʒ@02&~8Jdf@f`` & F8fp*,`  U$$IflF 7    4 la$$&#$/Ifa$`  @BDFHPfhjlnprt|~npxz02:<DFx jCJmHsHjCJUmHnHuj7 CJUmHsHj7 CJUVmHsHjCJUmHsH CJmHsHCJH*mHsHF A U$$IflF 7    4 la$$&#$/Ifa$U$$IflF 7    4 laHb6  & F8$a$  &#$/U$$IflF 7    4 la$$&#$/Ifa$xz~rt~D$:FHJLN|~𰣾}jGzCJUmHsHj= CJUVmHnHujHHCJUmHsHj7 CJUmHsHj7 CJUVmHsHjCJUmHsH6CJmHsH56CJmHsH5CJmHsHjCJUmHnHu CJmHsHCJH*mHsH/6,bBD  hjH$a$`@BDF^`ķҧҔ҄yi^j CJUmHsHj7= CJUVmHnHuj"CJUmHsHj> CJUVmHnHu5CJmHsHjNCJUmHsHj= CJUVmHnHuj/7 CJUmHsHj/7 CJUVmHsH CJmHsHjCJUmHsHj7 CJUmHsHj7 CJUVmHsH!V\^<ztv&$`a$` & F7$a$$a$rtv (, @ D^$`*,B f l  N#l#' (((,,--55;<^=h====>8>\> j^CJmHsH jCJmHsH6CJmHsH56CJmHsH5CJmHsH CJmHsH CJ mHsH5CJ mHsHJ&  @      dD^v^0 &#$$d%d&d'd+D/NOPQ`<(Hh#%,.Jbd(8$a$0 &#$$d%d&d'd+D/NOPQ8j l  L#N#l#(+,,,1455579:@;;;<?T@@AA`\>n>>$?\?T@@^CC&EJEE*F:HNHH,IfIIK&LLLNOSSSSUPU:VV@VVVVVWWWWWWWWXXVXlXnXXXX jCJmHsH j^CJmHsHj[7 CJUmHsHj[7 CJUVmHsHjbCJUmHsH jCJmHsHjCJUmHsH5CJmHsH5656CJmHsH6CJmHsH CJmHsH6ABTBBB^CCNEEGxGGH`IIK&LMJQBRSSS:V>VPVbV/ &#$+Dq/``bVVVVVVVVVVV$$( / &#$+D/Ifa$/ &#$+Dq/ VVVVVVVVn4XXXXXX$$( / &#$+D/Ifa$$$IfTkֈp 4 kaVVWWW WWWn4XXXXXX$$( / &#$+D/Ifa$$$IfTkֈp 4 kaWWWW"W&W*W.W0W4W8Wn4XXXXXXn4XX$$( / &#$+D/Ifa$$$IfTkֈp 4 ka 8W]@]f]h]r]t]|]~]]]]]^^^^^^^^*_,_>_@_p_r___`5CJmHsH jCJmHsH j^CJmHsH6CJmHsH jCJmHsH j_CJmHsH jCJmHsH jcCJmHsH CJmHsH jCJmHsH@___d[d\dbdddddddgjijjkLlNltlln,o.o0 &#$$d%d&d'd+DB/NOPQ```F`l```aabbVcXcddddddxfzfffffff g gggZg\g`gbgggggggggNhPhhhhh8i:iiiiiiiii0j2jNjPjdjfjvjxjj jCJmHsH j^CJmHsH j_CJmHsH j jCJmHsH jcCJmHsH6CJmHsH5CJmHsH CJmHsH jCJmHsHBjj8k:kkkDlFlNltltmvmxmzmmm*n,n.o^oooop&p(p*p,pppq qqqqqzs|ssstttt^u`uuuuuuLvNvPvvvvv wwj> CJUVmHnHujCJUmHsH jCJmHsH6CJmHsH55CJmHsH jcCJmHsH j_CJmHsH jCJmHsH CJmHsH jCJmHsH;.o^osuuLvvvwwjwlwwxxyJzl{:}<}>}@}R}T}V}p}&`#$ & F: & F9$a$``wwwwwwxTxxxxxxxyyy4yBynyyyz4z6zFzPzRzzz0{N{r{t{{{ | |J|L|||||||:}@}B}N}P}R}V}X}d}f}л☑0J j0JUmHsH jCJmHsH jCJmHsH jCJmHsH j_6CJmHsH jCJmHsH6CJmHsH j_CJmHsH CJmHsHjCJUmHsHjCJUmHsH6f}l}n}p}t}v}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~ ~ ~ ~~mHsH0J j0JU0JmHnHu-p}r}t}}}}}}}}}}}}}}}} ~ ~ ~ ~~&`#$&`#$ &P . A!"#$%#&P 0A .!"#7$7% &P . A!"#$%$$If4dS J FB>4! 0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$IfdS J FB>4!oR0@@@@4 a$$Ifl8V y ;^  a a a a a a a a a a a  a a a 088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la$$Ifl8V y ;^  aaaaaaaaaaa aaa088884 la&$$Ifl    0,,,,4 la&$$Ifl    0,,,,4 la&$$Ifl    0,,,,4 la&$$Ifl    0,,,,4 la&$$Ifl    0,,,,4 la&$$Ifl    0,,,,4 la&$$Ifl    0,,,,4 la&$$Ifl    0,,,,4 la&$$Ifl    0,,,,4 laL$$If  p6 Nf,!000004 aL$$If  p6 Nf,!000004 aL$$If  p6 Nf,!000004 aL$$If  p6 Nf,!000004 aL$$If  p6 Nf,!000004 aL$$If  p6 Nf,!000004 a|$$Ifּ86 4 20.,!0PPPP4 a|$$Ifּ86 4 20.,!0PPPP4 a|$$Ifּ86 4 20.,!0PPPP4 a|$$Ifּ86 4 20.,!0PPPP4 a|$$Ifּ86 4 20.,!0PPPP4 a|$$Ifּ86 4 20.,!0PPPP4 a|$$Ifּ86 4 20.,!0PPPP4 a|$$Ifּ86 4 20.,!0PPPP4 a|$$Ifּ86 4 20.,!0PPPP4 a Dd  hB  S A? 2q D|5u.M b`!E D|5u.7X8X x[mPT>Y>ve!؍Ki?V-&*&,dlnbXNBӱ3m&6P:3)LҌQQ6 >޳˲޽twy=BØk`CY)2mGH㓍 L W.=kh=p(?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ y    +,"#$%&'()*-.^_0123456789:;<=>?@ACDEFGHIJKLMNOPQRSTUVWXYZ[\]zxabcdefgijklmnoqrstuvw!{|}~Root Entrye F)O \Data WordDocumentdix ObjectPoolg(O)O_936090516Q FOOPIC LMETA ,CompObjh  !"#$&'(*,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\^abcdefhijmortuvwxyz{|}~Lx\ x\  &WordMicrosoft Word  k  -Times New Roman CE- - "--kz "--9~-2 ~kD3'u@~-2 B~kD2'|~-2 ~~kD1'~-2 ~kD0'%-2 kS1'%? -2 kS0'gU-2 WkDATAOUT' "-"x"- "-]x]- "-x- "-x- "-3- "-3- "-Ge--  FMicrosoft Word Picture MSWordDocWord.Picture.69qOh+'0 ObjInfo WordDocument7SummaryInformation( DocumentSummaryInformation8%ܥhW e37" j jj j  kJ f f f v x x x - yMX *k f  f f f kv j j v v v f j $ v jLļ  j j j j f v v v  DATAOUT S0 S1 D0 D1 D2 D3 NNH" n##00&(L&<;0 0&'1)0 0&L&1)0 0&J"i';:0 0&J"/%;:0 0&J"L&;:00&J"$;:20(j)$u!20(0''!!20(%'!!20($&!!20($%!!20($$!!20($p#!!00&$p#23(u]uD]a !$%(),-0123 P K@Normala"A@"Default Paragraph Font !$33 3(3 3Jz :j0b4@Iriada\\Iriada\Server IriadHPPCL5MSIriadaIriada@g ,,@MSUDOHP LaserJet IIId Iriada@g ,,@MSUDOHP LaserJet IIId JTimes New Roman Symbol &ArialTimes New Roman CE"hQ * Aurel Netin Aurel Netin < H T `lt|GA Aurel NetinNormal Aurel Netin2eMicrosoft Word for Windows 95@G@@yü@fl-ļ ՜.+,0HP`hp x SISTECf, L'fefZn'f (&WordMicrosoft Word  5  -Times New Roman CE- - "-T0 "-_936090851  FOOPIC )LMETA  +X CompObj]h-- "-T*--- "-T|--- "-T.--- "-0--- "-*--- "-X0--- "-|--- "-.--- "-X.--- "-X|--- "-*X-- "-- "-kk- "-- "-- "-55- "-- "-- "-- "-- "-AA- "-dd- "-- "-  - "--- "- "- %d* *--30(-2 ( 5Canal de   2 5rutare '- "- "- %$66--\-2 5Celula  '-  FMicrosoft Word Picture MSWordDocWord.Picture.69qObjInfo_ObjectPoolOOWordDocument!SummaryInformation(`ܥhW e8jjjjzzz  J-#3X*zjjjzļjjjj Celula Canal de rutare NNQ!0v( ox(UV!Q2ut0v&Ykx(!Q200&," 00&)" 00&(" 00&"" 00&g#" 00&&" 00&%" 00&I " 00&O,$ # 00&)$ # 00&($ # 00&&$ # 0 0&%$ # 0 0&"$ # 0 0&N*N*!Q0 0&&N*!Q0 0&#N*!Q00&N*&!Q00&&&!Q00& N*!Q00&#&!Q00& &!Q00&N*#!Q00&&#!Q00&##!Q00& #!Q78/ u]uD]a$%5678`2`K@Normala"A@"Default Paragraph Font8 8 8/ 88 8OO?o/_O?o.49@Iriada\\Iriada\Server IriadHPPCL5MSIriadaIriada@g ,,@MSUDOHP LaserJet IIId Iriada@g ,,@MSUDOHP LaserJet IIId JTimes New Roman Symbol &ArialTimes New Roman CE"qhd'* Aurel Netin Aurel NetinOh+'0  < H T `lt|`G/I Aurel NetinGGNormal Aurel Netin2GMicrosoft Word for Windows 95@F#@@H ü@R'ļ՜.+,0HDocumentSummaryInformation8g_1035973626 F a OOOle kPIC lLP`hp x SISTEC0 L?( h  FMicrosoft Word Picture MSWordDocWord.Picture.89qMETA /p%1TableB7CompObjnhObjInfop?(  &WordMicrosoft Word    -Times New Roman CE- &+ S&X "-XX "- "-X- "-X- & - "- n-- "- n-- "- n-- "- n- &  "-- "-X- "-Da- "-DZaZ-- "- U{CZU2Z-- "- U{CZU2Z-- "- CUzU2W-- "- CUzU2W- "-}}-- "- bz>W-- "- bz>W-- "- b[>[-- "- b[>[- "- - "- - "- - "-# #- "-D5a5- "-Da-- "- UCU42-- "- UCU42-- "- C7UU72-- "- C7UU72- "--- "- b77>-- "- b77>-- "- b<>-- "- b<>- "-S-- "----2 Buffer ' "-J J- "- JP- "- JD-&+ &X  "- XGX- "- X - "-GXG- & - "- *HH n-- "- *HH n-- "-  ,O n-- "-  ,O n- &  "-(X(-& &X&X "-XX- "-X- "-X- & - "- n-- "- n-- "- n-- "- n- &  "-- "-X- &  "-''- "-|T{- "-J- "-- "--- "---- "-y--- "-,#y--- "--$--&z "-- "-- & & z "-- "-- & &Zz "-- "-- & &z "-/- "-/- & & "-4- "-4- & &  "-4- "-4- & &Z "-4- "-4- & & "-/4- "-4/- & &C "-- "-- & & C "-- "-- & &ZC "-- "-- & &C "-/- "-/- & STimes New Roman CE-2 SPIN(I/O)   'Times New Roman CE-2 OE'- "- "- %"]**- -n-2  Conexiuni  -2 6 programabile! '- "- "- %- -n-2 p Matrice de %    2 pporti SI '- "- "- %k#,#- -8I-2 I Matrice de %    2   porti SAU '- "- "- %iW^E^- -)S-2 U Calea de    2 Ureactie '- [$@$NormalmH<A@<Default Paragraph Font(=UYckutsrqp)(=UYckn  ^^X8vuv@(uu,&( Tn @ BNM @DL lNM j2MHB  # ?TMHB  # ?lNDHB  # ?MlNMT2  C ?42`(BNMN2  3 ?42`(BNMT2   C ?42BNl)N2   3 ?42BNl)<B   # ??<B  @ # ?><B   # ?=<B  # ?<H2  C ?;B2  3 ?:H2  C ?9B2  3 ?8<B  # ?7H2  C ?6B2  3 ?5H2  C ?4B2  3 ?3<B  # q?2<B  # q?1<B  # q?0<B  # q?/<B  # ?.<B  # ?-H2  C ?,B2  3 ?+H2   C ?*B2 ! 3 ?)<B " # ?(H2 # C ?'B2 $ 3 ?&H2 % C ?%B2 & 3 ?$<B ' # ?#B ( 3 q?"r ) 6?! <B * # q? <B + # q?<B , # q?@ BNM -DL lNM .j2MHB / # ?TMHB 0 # ?lNDHB 1 # ?MlNMT2 2 C ?42(BNMN2 3 3 ?42(BNMT2 4 C ?42BN)N2 5 3 ?42BN)<B 6@ # ?@ MM 7L \KM 81QEMDL KM 90MHB : # ?QMHB ; # ?KDHB < # ?MKMT2 = C ?X0(\KMN2 > 3 ?X0(\KMT2 ? C ?X0\K)N2 @ 3 ?X0\K)HB A # ?{E`(M(HB BB # ?%1&<B C # ?<B D@ # ?<B E@ # q?<B F # q?<B G # q?N2 H S ?N2 I S ?N2 J S ?N2 K S ?@ rMiM LHB MB # q?rMiMHB N # q?rMiM@ rMiM OHB PB # q?rMiMHB Q # q?rMiM@ wMiM RHB SB # q?wMiMHB T # q?wMiM@ wMiM UHB VB # q?wMiMHB W # q?wMiM@ rMoM X HB YB # q?rMoMHB Z # q?rMoM@ rMoM [ HB \B # q?rMoMHB ] # q?rMoM@ wMoM ^ HB _B # q?wMoMHB ` # q?wMoM@ wMoM a HB bB # q?wMoMHB c # q?wMoM@ rMjM d HB eB # q?rMjMHB f # q?rMjM@ rMjM gHB hB # q?rMjMHB i # q?rMjM@ wMjM jHB kB # q?wMjMHB l # q?wMjM@ wMjM mHB nB # q?wMjMHB o # q?wMjMr p 6? r q 6?  r S ~1111GH<IOJ"KL"g ?DEnF  s S ~1111GH]1IJ5KL5g ?DEnB  t S ~1111GeHIJ5KnL5g ?DEnF  u S ~1111GmeHjIc`JKh[Lg ?DEnJ B S  ?        !#$%&2345=>?@rst u  !"#$%&'()*+,-./0123456789:;<=>?@u+$,jt.%5&js'k,--jr6' +"jq&('^)jp?**,*jmO$ )$w)jj# ) $w)jg" )L#w)jd?" )"w)jaO$-&$&j^#-& $&j["-&L#&jX?"-&"&jUO$$$.%jR#$ $.%jO"$L#.%jL?"$".%jK)O&+)x&jJ*I&+r&jI*$+%jH)$+)%jG!7$w"8$jF!.$!H*jE!G**H*jD+h$+7'jC'^&+_&j7)"(')j6)"d&%e&j-%%&&j,)***j+**3**j**)**j)((+)j('(P,)j')b$)1'j&p(w')'(j%p(w')'(j$)w')'(j#)w')'(j")&()(j!)&)4'j )&)4'jp(&)4'jp(&)4'jp(&q(u'j)&)u'j$@$$*j#@$#*j#@$#*jv"@$w"*jc*w' +'(jc*w' +'(j*w'+'(j*w'+'(j+&(+(j*&+4'j*&+4'j_*&*4'j_*&*4'j_*&`*u'j +&+u'j )"$%$j '$+$j%e$&%jBuzBRThj}@HP LaserJet 5L PCLLPT1:PCL5EMSHP LaserJet 5L PCLHP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d HP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d |dGTimes New Roman5Symbol3& Arial"hiKiK 6r0Be Aurel NetinLuciaLD # D &WordMicrosoft Word  R  -Times New Roman CE- - "-z "-ObjectPoolOOWordDocument`SummaryInformation(hDocumentSummaryInformation8pY ^bjbjWW  ==Bl]  422222224334$57J42*22242(2222222222fT2 bYP2:2 Calea de reaccie Matrice de porci SAU Matrice de porci SI Conexiuni programabile OE PIN(I/O) Buffer .6JZ^B*mH B*CJmH B*CJ mH jUmH,.46HJXZ\^0,.46HJXN N!"# $!% Oh+'0  0 < H T`hpxss Aurel Netinureure Normal.dotLucia.d2ciMicrosoft Word 8.0@@@AP@AP 6 ՜.+,D՜.+,P  px  SISTECl,Bj  Title 6> _PID_GUIDAN{D9015330-BC82-11D4-B08C-DA22F1EEFA1F}_936091876" FO`OPIC qLMETA !$s0 CompObjh-9~-2 ~RD7'u@~-2 B~RD6'|~-2 ~~RD5'~-2 ~RD4'? -2  RS1'Q-2 QRS0'-2 RDATAOUT' "-"x"- "-]x]- "-x- "-x- "-*P*- "-ePe- "-v-%|-2 |RD3'`+|-2 -|RD2'f|-2 h|RD1'|-2 |RD0' "-x- "-?x?- "-zxz- "-x--2 RS2' "-P-Hz-2 RMUX%-2 R8:1 '-  FMicrosoft Word Picture MSWordDocWord.Picture.69qOh+'0ObjInfo#&WordDocumentSummaryInformation(%'DocumentSummaryInformation8"ܥhW e[?jjjj  J-+;X*jjj<@;ļjjjj MUX 8:1 DATAOUT S1 S0 S2 D0 D1 D2 D3 D7 D6 D5 D4 NNH"o n#4 20(L&&!Q20()L&u!00&)'<;00&&,0 0&',0 0&(,20(0'+!!20((+!!20(%+!!00&$p#MR 00&J"M(;:00&J"j);:00&J"*;:00&J"+;:20($2+!!20($*!!20($(!!20($'!!20($p#!!20($$!!20($%!!20($&!!00&J"$;:0 0&J"/%;:0 0&J"L&;:0 0&J"i';:Z[lu]uD]a#$,-014589<=@ADEHILMPQTUXYZ[ P K@Normala"A@"Default Paragraph Font "&*.26:>A[[ [l[ [r6f,\NHz <\@Iriada\\Iriada\Server IriadHPPCL5MSIriadaIriada@g ,,@MSUDOHP LaserJet IIId Iriada@g ,,@MSUDOHP LaserJet IIId JTimes New Roman Symbol &ArialTimes New Roman CE"hq2!* Aurel Netin Aurel Netin  < H T `lt|GG Aurel NetinqJCNormal Aurel Netin2GMicrosoft Word for Windows 95G@F#@@zü@T:ļ՜.+,0HP`hp x SISTEC, LcK c 0&WordMicrosoft Word  e  -Times New Roman CE- - "-_936092207 0* F.O.OPIC LMETA ),hCompObjh "--9-2 eD7'u@-2 BeD6'|-2 ~eD5'-2 eD4'K-2 eS1']-2 ]eS0' -2 eDATA' "-"" - "-]] - "- - "- - "-6\6- "-qq- "--%-2 eD3'`+-2 -eD2'f-2 heD1'-2 eD0' "- - "-?? - "-zz - "- --2 eS2' "-8-H-2 eMUX%-2 e8:1 '- "-@)--- 2 eD'<-2 eCP'%- 2 eQ'<=-2 eQN' "-''G- "-'GG- "-G- "-88 - "-\6\ - "-q - "-(d- "-(d--  FMicrosoft Word Picture MSWordDocWord.Picture.69qObjInfo+.WordDocumentOSummaryInformation(-/DocumentSummaryInformation8Oh+'0  < H T `lt|d Aurel NetinK`Normal Aurel Netin2Microsoft Word for Windows 95@ @@>ü@ļ!ܥhW esO(Jjjjj  J~~~-eX%*~~~~jj~jLļjjjj~ QN Q CP D DATA MUX 8:1 S1 S0 S2 D0 D1 D2 D3 D7 D6 D5 D4 NN"kn#0&0&51(0%0&51i'0 0&',0#0&J".0 0&(,0$0&J"m/0!0&"0  00&)'ut0 0&,(! 00&&,WV0"0&J".<;00&,(WV20(0M(20(Q0&20(.M(W20(.&00&P.&!Q20()L&t!20(L&&!Q20(0'+!!20((+!!20(%+!!00&$p#MR 00&J"M(;:00&J"j);:00&J"*;:00&J"+;:20($2+!!20($*!!20($(!!20($'!!20($p#!!20($$!!20($%!!20($&!!00&J"$;:0 0&J"/%;:0 0&J"L&;:0 0&J"i';:'(rs u]uD]a(+,./2356;<@DEHILMPQTUXY\]`adehilmpqrsFm3NF&K@Normala"A@"Default Paragraph Font !%)-159=AEILs s s s  !"#$%&sJz :j.`&XL| B t    < l (t@Iriada\\Iriada\Server IriadHPPCL5MSIriadaIriada@g ,,@MSUDOHP LaserJet IIId Iriada@g ,,@MSUDOHP LaserJet IIId !JTimes New Roman Symbol &ArialTimes New Roman CE"hr8!* Aurel Netin Aurel Netin՜.+,0HP`hp x SISTEC, LR? .H  FMicrosoft Word Picture MSWor_1035973786;4 F`BAO@EOOle PIC 13LMETA `%R?  >&WordMicrosoft Word    -Times New Roman CE- - "- ^C "--S|G-2 G D7'|ZG-2 \G D6'|G-2 G D5'|G-2 G D4' -2  S1' O-2  S0'b-2 b DATA' "-<@<- "-w@w- "-@- "-@- "- v- "- ..- "-K]-?z E-2 E D3'zzEE-2 GE D2'zE-2 E D1'zE-2 E D0' "-@- "-Y@Y- "-@- "-@- -2  S2' "- R-bC-2  MUX%-2  8:1 '- "-ZK--[- 2 [ D'V![-2 #[ CP'- 2  Q'V!-2 # QN' "-AKA- "-A- "-- "-RR- "-vv- "-.- "-- "-55!-- "-KH-- "-k- "-kk- "-- "--L-2 N D0'-2  D1'G{-2 } 01'- 2  S' "-- "--\'{-2 ){ S2'V{-2 X{ S1'{-2 { S0'-2  CLOCK'&-2  SELECT'- "---- "-i--;m-2 m D7'wBm-2 Dm D6'~m-2 m D5'm-2 m D4' "-$g$- "-_g_- "-g- "-g-'k-2 k D3'b-k-2 /k D2'ik-2 kk D1'k-2 k D0' "-g- "-MgM- "-g- "-g-k-2 k S2'Pk-2 k S1'Vk-2 Xk S0'k-2 k SEL' "-gm- "-/g/m- "-jgjm- "-gm- "-gy-k-2 k CLK'V!-2 # OUT' "-qq- "-qqZ-- "- $WgWzeq--- "-w ---2  S2'? -2  S1'zE-2 G S0' -2  SEL' "-- "-- "-YY- "-- "--, -2  CLK'b - -2 /  OUT' "-ev e -- "-h--PTimes New Roman CE->2 S" Celula logica constructiva de baza!        -'8 [-/2 ^ Simbolul celulei de baza &      -'-1Table26FCompObjhObjInfo58ObjectPoolODOODO [$@$NormalmH<A@<Default Paragraph Font>CGKOTY]aeimquy}pgfcYZ[\b;<=>CDEFKLMNTU8765410/.  >CGKOTY]aeimquy}   !"#$%&'()*+,-./p  ppYp m8hgh@b*gg*(  B  3 g ?Ur  6-1111g ?^ -r  6.1111g ?_ .r  6/1111g ?` /r  601111g ?a 0r  6&1111g ?R &r  6'1111g ?S 'r   6$1111g ?P $TB  @ c $g ?bTB  @ c $g ?cTB  @ c $g ?dTB  @ c $g ?eTB  c $g ?CTB  c $g ?ETB @ c $g ?Gr  6,1111g ?] ,r  6+1111g ?\ +r  6*1111g ?[ *r  6)1111g ?Z )TB @ c $g ?VTB @ c $g ?WTB @ c $g ?XTB @ c $g ?Yr  6(1111g ?T (TB  c $g ?Hr  6%1111g ?Q %B  3 g ?Or  6#1111g ?N #r  6"1111g ?M "r  6!1111g ?L !r   6 1111g ?K  TB !@ c $g ?JTB " c $g ?4TB #@ c $g ?5TB $@ c $g ?ITB %@ c $g ?DTB &@ c $g ?FTB ' c $g ?.TB ( c $g ?BB ) 3 g ?;TB * c $g ?ATB + c $g ?@TB , c $g ??TB - c $g ?>r . 61111g ?= r / 61111g ?< r 0 61111g ?: r 1 61111g ?9 TB 2 c $g ?1TB 3@ c $g ?2r 4 61111g ?8 r 5 61111g ?7 r 6 61111g ?6 r 7 61111g ?3 r 8 61111g ?0 H2 9 C g ?/B : 3 g ?r ; 6 1111g ?  r < 6 1111g ?  r = 6 1111g ?  r > 6 1111g ?  TB ?@ c $g ?TB @@ c $g ?TB A@ c $g ?TB B@ c $g ?r C 6 1111g ?  r D 61111g ?  r E 61111g ?! r F 61111g ?" TB G@ c $g ?#TB H@ c $g ?$TB I@ c $g ?%TB J@ c $g ?&r K 61111g ?' r L 61111g ?( r M 61111g ?) r N 61111g ?* TB O@ c $g ?TB P@ c $g ?TB Q@ c $g ?TB R@ c $g ?TB S@ c $g ?r T 61111g ?+ r U 61111g ?, TB V c $g ?-TB W c $?B X 3 g ? r Y 61111g ?  r Z 61111g ?  r [ 61111g ?  r \ 61111g ? TB ]@ c $g ?TB ^@ c $g ?TB _@ c $g ?TB `@ c $g ?TB a@ c $g ?r b 61111g ? r c 61111g ? TB d c $g ? B e 3 g ?r f 61111g ? r g 61111g ? B S  ?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdepg @2J85jf"2/4jS80<=0jR8/<=/jO8O,<=P,jP8l-<=m-jQ8.<=.je9"<=1jc%J('L)jdK)DM)jXH&KP,jYH&I'jZH'I(j[H(I*j\H2+&JS,j]yG0'H1'j^yGM(HN(j_yGj)Hk)j`yG*H*jbH*J6+jaG+H+jWD)F)j:G="B1j;G="h>$j<G=$h>?%j=G=>%h>_&j>G=^&h>'j?;#<=#j@;$<=$jA;%<=%jB;&<=&jC;=i'\>(jD;=(\>)jE;=)\>*jF;=*\>+jG;(<=(jH;1)<=2)jI;N*<=O*jJ;k+<=l+jK;=+\>,jL;=,\>.jM;=.\>8/jN;=Q0>r1jT;=4/=?U0jU@M(Bn)jVB)C)j'51i'2j'j9,i'4-'j80!2j2T6'U61j3J"1U61j7/!0j",(,0j#J"0,0j6 .!0j5 .!8/j4 3-!T.j1T6&7'j06/%7P&j)4K$7'j/4&54'j.4K$5l%j-2&4&j,2&2j'j+,$4$j*,$,'j(51(S2(j','.j%J".'.j(,(n/j&J"m/(n/j)'Q.'j&,&.j$J".&.j!,(Q.(j 0M(1k)jQ0&61(j.M(/k)j.&n/(jP.&61k)j )L&P,m'jL&&k))j0'+Q(,j(+),j%+&,j$p#),jJ"M($N(jJ"j)$k)jJ"*$*jJ"+$+j$2+%S,j$*%6+j$(%*j$'%(j$p#%$j$$%%j$%%&j$&%'j J"$$$j J"/%$0%j J"L&$M&j J"i'$j'jg{qg  !#%')+,.02379<=@BDFHJLNPRTVXZ\^`bdfhjlq@HP LaserJet 5L PCLLPT1:PCL5EMSHP LaserJet 5L PCLHP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d HP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d up @GTimes New Roman5Symbol3& Arial"hkKlKUr0he Aurel NetinLuciadDocWord.Picture.89qL\y5^Di5 i  FMicrosoft Word Picture MSWordDocWord.Picture.89qWordDocument79SummaryInformation(:DocumentSummaryInformation8_1040226199FY? FNOPOY pbjbjWW ==g]~~~ $"C>>>@AAA45A BB$CEJC!~>2 >>>C@*@@@>~@>@@@@~@ P>V@ Simbolul celulei de baz Celula logic constructiv de baz OUT S2 S1 S0 SEL CLK D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 S0 SEL CLK OUT SELECT CLOCK S0 S1 S2 S 01 D1 D0 QN Q CP D DATA MUX 8:1 S1 S0 S2 D0 D1 D2 D3 D7 D6 D5 D4 FpCJ jUmHHJRTZ\bdjltv~HJRTZ\bdjltv~    !$%()+,/02389=ABEFIJMNQRUVYZ]^abefijma    !$%()+,/02389=ABEFIJMNQRUVY$YZ]^abefijmnop N N!"z#"$% Oh+'0  0 < H T`hpxss Aurel Netinureure Normal.dotLucia.d2ciMicrosoft Word 8.0@F#@@:DP@PU ՜.+,D՜.+,P  px  SISTECl\hj  Title 6> _PID_GUIDAN{D9015333-BC82-11D4-B08C-DA22F1EEFA1F}Ole PIC <>LMETA 1Table=AZ2      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\y5^ ]&WordMicrosoft Word  ACourier New-Times New RomanP- - "-a  "--H-2 LAS2.*'"-2 AS1.*-'B-2 FAS0.*-' "-*- "-.#-'-2 +ASel.%-'XK- 2 AO<-' "-qq- "-tt- "-- "-]]- "-- "--- "-W--K-2 OAS2.*'%~-2 AS1.*-'~E-2 IAS0.*-' "-&- "-*&-~*-2 .ASel.%-'[F- 2 AO<-' "-tt- "-ww- "-- "-``- "-- "--- "- W--?-2 CAS2.*' ~-2 AS1.*-' ~9 -2 = AS0.*-' "-  &- "- * -| ~ -2 " ASel.%-'P F- 2 AO<-' "-ii- "-k k - "-  - "-U U - "-- "--- "-iQ --r | -2  AS2.*' x -2 AS1.*-'l x -2  AS0.*-' "-  - "- $ -Qx -2 ASel.%-'% @ - 2 AO<-' "-> > - "-  - "- } -- "-W--(-2 AS2.*'~G-2 KAS1.*-'"~-2 AS0.*-' "-V|&- "-*-~-2 ASel.%-'F~- 2 AO<-' "-- "-- "-||- "-- "-mm- "-77-- "-']--/-2 AS2.*'O-2 SAS1.*-')-2 AS0.*-' "-^,- "-0--2 ASel.%-'M- 2 AO<-' "-- "-- "-- "-- "-tt- "->>-&b "-qp- "-p- "-pmp- "-t - "-tl- "-l- "-lpl- "-p- "-il- "-l- "-lel- "-p- "-> e - "-  e- "- e: e- "- j - "-l;- "-;ul- "-mll- "-7p7- "-rB- "-B|r- "-trr- "->v>- & - "-* --P ;-2 ?AS2.*'L -2 AS1.*-'L 5-2 9AS0.*-' "-- "--xL -2 ASel.%-'L - 2 AO<-' "-ee- "-gg- "-- "-QQ- "--- "- --L >-2 BAS2.*'G -2 AS1.*-'G 8-2 <AS0.*-' "-- "--{G -2 !ASel.%-'O  - 2  AO<-' "-hh- "-jj- "-- "-TT- "--- "- --L 3-2 7AS2.*' G -2 AS1.*-' G - -2 1 AS0.*-' "-  - "-  -o G  -2  ASel.%-'C   - 2  AO<-' "-\\- "-_ _ - "-  - "-H H - "--- "-] --e E  -2 AS2.*' A -2 AS1.*-'_ A  -2  AS0.*-' "-  - "-  -DA -2 ASel.%-' - 2 AO<-' "-2 2 - "-4 4 - "-  - "-- "-  -- "- --L -2 AS2.*'G ;-2 ?AS1.*-'G -2 AS0.*-' "-Jp- "-t-G -2 ASel.%-' q - 2 u AO<-' "-- "-- "-oo- "-- "-aa-- "-& --"R -2 AS2.*'N B-2 FAS1.*-'N -2 AS0.*-' "-Qw- "-{-N -2 ASel.%-' x - 2 | AO<-' "-- "-- "-ww- "-- "-hh-- "-{ --A} -2 E} AS2.*'y -2 y AS1.*-';y -2 ?y AS0.*-' "-y  - "- q -~ y -2 $y ASel.%-'R- 2 AO<-' "-ku k} - "-mq m} - "-q y - "-Wq Wy - "-y y -- "- q --Dy -2 Hy AS2.*'u -2 u AS1.*-'>u -2 Bu AS0.*-' "-u  - "-  m -$u -2 (u ASel.%-'U- 2 AO<-' "-nq ny - "-qm qy - "-m u - "-Zm Zu - "-u u -- "- q --9y -2 =y AS2.*' u -2 u AS1.*-' 3 u -2 7 u AS0.*-' "- u  - "-  m -u  u -2  u ASel.%-'I - 2 AO<-' "-cq cy - "-e m e y - "- m  u - "-N m N u - "-u u -- "-c k --k  r -2  r AS2.*'  n -2 n AS1.*-'e  n -2 n AS0.*-' "- o  - "-  f -K  n -2 n ASel.%-'  }- 2 }AO<-' "-8 k 8 r - "-: f : r - "- g  n - "-$g $n - "- o  n -- "-q --!y -2 y AS2.*'Au -2 Eu AS1.*-'u -2 u AS0.*-' "-Pu v - "-z m -u -2 u ASel.%-'w- 2 {AO<-' "-q y - "-m y - "-vm vu - "-m u - "-gu gu -- "- w --) -2  AS2.*'H{ -2 L{ AS1.*-'#{ -2 { AS0.*-' "-W{ } - "- s -{ -2 { ASel.%-'- 2 AO<-' "-w  - "-s  - "-}s }{ - "-s { - "-n{ n{ -&! - "-K--AL-2 ELAS2.*'H-2 HAS1.*-';H-2 ?HAS0.*-' "-I- "-@-~ H-2 $HASel.%-'RW- 2 WAO<-' "-kDkL- "-m@mL- "-@H- "-W@WH- "-IH-- "- @--DH-2 HHAS2.*'D-2 DAS1.*-'>D-2 BDAS0.*-' "-D- "- <-$D-2 (DASel.%-'US- 2 SAO<-' "-n@nH- "-p<pH- "-<D- "-Z<ZD- "-ED-- "- @--9H-2 =HAS2.*' D-2 DAS1.*-' 3 D-2 7 DAS0.*-' "- D - "-  <-u  D-2  DASel.%-'I S- 2 SAO<-' "-c@cH- "-e <e H- "- < D- "-N <N D- "-ED-- "-c :--k  B-2  BAS2.*'  >-2 >AS1.*-'e  >-2 >AS0.*-' "- > - "-  6-K >-2 >ASel.%-'  L- 2 LAO<-' "-8 :8 B- "-: 6: B- "- 6 >- "-$6$>- "- > >-- "-@--!H-2 HAS2.*'AD-2 EDAS1.*-'D-2 DAS0.*-' "-PDv- "-z<-D-2 DASel.%-'wS- 2 {SAO<-' "-@H- "-<H- "-v<vD- "-<D- "-gEgD-- "- F--)N-2 NAS2.*'HJ-2 LJAS1.*-'#J-2 JAS0.*-' "-WK}- "-B-J-2 JASel.%-'Y- 2 YAO<-' "-GN- "-BN- "-}B}J- "-BJ- "-nKnJ- & &S+ - "---A -2 E AS2.*'-2 AS1.*-';-2 ?AS0.*-' "-H- "-L-~ -2 $ASel.%-'Rh- 2 AO<-' "-kk - "-mm - "-- "-WW- "--- "-u --D-2 HAS2.*'-2 AS1.*-'>-2 BAS0.*-' "-C- "-H -$-2 (ASel.%-'Ud- 2 AO<-' "-nn- "-pp- "-- "-ZZ- "--- "- u--9-2 =AS2.*' -2 AS1.*-' 3 -2 7 AS0.*-' "-  C- "- H -u  -2  ASel.%-'I d- 2 AO<-' "-cc- "-e e - "-  - "-N N - "--- "-cn --k  -2  AS2.*'  -2 AS1.*-'e  -2 AS0.*-' "-  =- "- A -K -2 ASel.%-' ^ - 2 AO<-' "-8 8 - "-: : - "-  - "-$$- "-  -- "-u--!-2 AS2.*'A-2 EAS1.*-'-2 AS0.*-' "-PvC- "-zH--2 ASel.%-'dw- 2 {AO<-' "-- "-- "-vv- "-- "-gg-- "- {--) -2  AS2.*'H-2 LAS1.*-'#-2 AS0.*-' "-W}J- "-N--2 ASel.%-'j- 2 AO<-' "- - "- - "-}}- "-- "-nn- &  "-?8- "-4- "-;- "-||2- "-B4- "-0- "->- "-(- "-7~4- "-~0- "-3- "-4- "- S .- "-S ) - "-  - "-U U .- "- 4- "- 0C- "-;- "-  4- "-:- "-6K- "-B- "-A- "-UE- "-U@- "- - "-QQ>- "-(o8- "-o4- "-$- "-kk2- "- c 2- "-c . - "-  - "-_ _ ,- "- &%- "-&!`- "-X - "-""- "-2- "-. - "-- "-- "->- "-:- "-- "-- "-A A - "-  - "-**-&x "-9j2j- "-92- "-32- "-@9- "-@Q9Q- "-@9- & &;x "-9929- "-92- "-32- "-@9- "-@ 9 - "-@k9k- & &x "-9 2 - "-9` 2` - "-3 2 - "-@ 9 - "-@ 9 - "-@A 9A - & &_"x "-92- "-92- "-3g2g- "-@9- "-@9- "-@9- & &+x "-92- "-92- "-3727- "-@O9O- "-@9- "-@9- & &3 "-?8- "-?8- "-9%8%- "-F>?>- "-Fp?p- "-F?- & &E "-j- "-@@j- "-j- & &E$ "-  j- "-ZZj- "-j- & &^ "-  v- "-B B v- "-  v- & &R "-p- "-p- "-oop- & &En& "-j- "-j- "-QQj- &  "-'X'- "-.^.- "-" ^" - "- K ~- "-X- "-^- "-' Z - "-- ` - "- !  T - "- !  T - "-(' (Z - "-- ` - "-''#- "-!!#- "-  - "-  - "-#- "-)- "-- "-- "-  - "-  - "-..- "-''- "-|- "-v - "- o - "- | - "-(|(- "-'|'- "-4- "-  - "-- "-- "-- "-M O - "-_ a - "-xz- "-dg- "-- "-QS- "--- [$@$NormalmH <A@<Default Paragraph Font,,Style1<5CJ,,Style2 x<5 !&,049>DHLQV\`dintx|  $).48<AFLPTY^dhlqv| $(,16<@DINTX\aflpty~+YZ[^_fghklstuxy   $%&)*12367>?@CDKLMPQmnorsz{|  !$%-./2389:=>GHKLF !&,049>DHLQV\`dintx|  $).48<AFLPTY^dhlqv| $(,16<@DINTX\aflpty~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~+2 ++ QK|+ d,* 8xy@R@x(  B  3 g ?_x  <y1111g ?[O yx  <z1111g ?ZO zx  <{1111g ?YO {TB  c $g ?XOTB @ c $g ?WOx  <|1111g ?VO |x   <}1111 g ?UO }TB  @ c $g ?TOTB  @ c $g ?SOTB  @ c $g ?ROTB  @ c $g ?QOTB @ c $g ?POTB  c $g ?OPB  3 g ?NOx  <~1111g ?MO ~x  <1111g ?LO x  <1111g ?KO TB  c $g ?JOTB @ c $g ?IOx  <1111g ?HO x  <1111g ?GO TB @ c $g ?FOTB @ c $g ?EOTB @ c $g ?DOTB @ c $g ?COTB @ c $g ?BOTB @ c $g ?APB  3 g ?@Nx  <1111g ??N x   <1111 g ?>N x ! <1111!g ?=N TB " c $g ?<NTB #@ c $g ?;Nx $ <1111$g ?:N x % <1111%g ?9N TB &@ c $g ?8NTB '@ c $g ?7NTB (@ c $g ?6NTB )@ c $g ?5NTB *@ c $g ?4NTB +@ c $g ?3PB , 3 g ?2Mx - <1111-g ?1M x . <1111.g ?0M x / <1111/g ?/M TB 0 c $g ?.MTB 1@ c $g ?-Mx 2 <11112g ?,M x 3 <11113g ?+M TB 4@ c $g ?*MTB 5@ c $g ?)MTB 6@ c $g ?(MB 7 3 g ?'Lx 8 <11118g ?&L x 9 <11119g ?%L x : <1111:g ?$L TB ; c $g ?#LTB <@ c $g ?"Lx = <1111=g ?!L x > <1111>g ? L TB ?@ c $g ?LTB @@ c $g ?LTB A@ c $g ?LTB B@ c $g ?LTB C@ c $g ?LTB D@ c $g ?LB E 3 g ?Nx F <1111Fg ?J x G <1111Gg ?L x H <1111Hg ?L TB I c $g ?LTB J@ c $g ?Lx K <1111Kg ?L x L <1111Lg ?L TB M@ c $g ?LTB N@ c $g ?LTB O@ c $g ?LTB P@ c $g ?LTB Q@ c $g ? LTB R@ c $g ? L @  NNN S `B T c $g ?(\M&T`B UB c $g ?($K T`B V c $g ?((T`B WB c $g ?3*T`B X c $g ?&KT`B YB c $g ?&MJT`B Z c $g ?&$'T`B [B c $g ?L(T`B \ c $g ?&)K? T`B ]B c $g ?&= MJ#!T`B ^ c $g ?&$'!T`B _B c $g ?L- (/ T`B ` c $g ?$.I5/T`B aB c $g ?$3/H0T`B b c $g ?$.$/T`B cB c $g ?#/`&%/T`B d c $g ?&<K=T`B eB c $g ?&=MJ>T`B f c $g ?&<$'t>T`B gB c $g ?L=(=T`B h c $g ?H)TL NjMT`B iB c $g ?H)hMLNNT`B j c $g ?H)DLo)-NT`B kB c $g ?XM*ZMTB l 3 g ?`x m <[1111mg ?8 [x n <\1111ng ?8 \x o <]1111og ?8 ]TB p c $g ?8TB q@ c $g ?8x r <^1111rg ?8 ^x s <_1111sg ?8 _TB t@ c $g ?8TB u@ c $g ?8TB v@ c $g ?8TB w@ c $g ?8TB x@ c $g ?8B y 3 g ?8x z <`1111zg ?8 `x { <a1111{g ?8 ax | <b1111|g ?8 bTB } c $g ?8TB ~@ c $g ?8x  <c1111g ?8 cx  <d1111g ?8 dTB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8B  3 g ?8x  <e1111g ?8 ex  <f1111g ?8 fx  <g1111g ?8 gTB  c $g ?8TB @ c $g ?8x  <h1111g ?8 hx  <i1111g ?8 iTB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8B  3 g ?8x  <j1111g ?8 jx  <k1111g ?8 kx  <l1111g ?8 lTB  c $g ?8TB @ c $g ?8x  <m1111g ?8 mx  <n1111g ?8 nTB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8B  3 g ?8x  <o1111g ?8 ox  <p1111g ?8 px  <q1111g ?8 qTB  c $g ?8TB @ c $g ?8x  <r1111g ?8 rx  <s1111g ?8 sTB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8B  3 g ?8x  <t1111g ?8 tx  <u1111g ?8 ux  <v1111g ?8 vTB  c $g ?8TB @ c $g ?8x  <w1111g ?8 wx  <x1111g ?8 xTB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8TB @ c $g ?8B  3 g ? 4x  <=1111g ?W =x  <>1111g ?V >x  <?1111g ?U ?TB  c $g ?TTB @ c $g ?Sx  <@1111g ?R @x  <A1111g ?Q ATB @ c $g ?PTB @ c $g ?OTB @ c $g ?NTB @ c $g ?MTB @ c $g ?LB  3 g ?Kx  <B1111g ?J Bx  <C1111g ?I Cx  <D1111g ?H DTB  c $g ?GTB @ c $g ?Fx  <E1111g ?E Ex  <F1111g ?D FTB @ c $g ?CTB @ c $g ?BTB @ c $g ?ATB @ c $g ?@TB @ c $g ??B  3 g ?>x  <G1111g ?= Gx  <H1111g ?< Hx  <I1111g ?; ITB  c $g ?:TB @ c $g ?9x  <J1111g ?8 Jx  <K1111g ?7 KTB @ c $g ?6TB @ c $g ?5TB @ c $g ?4TB @ c $g ?3TB @ c $g ?2B  3 g ?1x  <L1111g ?0 Lx  <M1111g ?/ Mx  <N1111g ?. NTB  c $g ?-TB @ c $g ?,x  <O1111g ?+ Ox  <P1111g ?* PTB @ c $g ?)TB @ c $g ?(TB @ c $g ?'TB @ c $g ?&TB @ c $g ?%B  3 g ?$x  <Q1111g ?# Qx  <R1111g ?" Rx  <S1111g ?! STB  c $g ? TB @ c $g ?x  <T1111g ? Tx  <U1111g ? UTB @ c $g ?TB @ c $g ?TB @ c $g ?TB @ c $g ?TB @ c $g ?B  3 g ?x  <V1111g ? Vx  <W1111g ? Wx  <X1111g ? XTB  c $g ?TB @ c $g ?x  <Y1111g ? Yx  <Z1111g ? ZTB @ c $g ?TB @ c $g ?TB @ c $g ? TB @ c $g ? TB @ c $g ? #@  NN N   3 g ?- N U   <1111 g ?-;1U    < 1111 g ?,k;U     <!1111 g ?,%;U !`B   c $g ?^-F03U`B B c $g ?,3_U  <"1111g ?,O;U "  <#1111g ?%D*LU #`B B c $g ?Bb -cU`B B c $g ?B,U`B B c $g ?,U`B B c $g ?,,-U`B B c $g ? g-UN  3 g ?,/9M9U  <$1111g ?,;`U $  <%1111g ?H,%;U %  <&1111g ?H,S%;U &`B  c $g ?-t2U`B B c $g ?H,03U  <'1111g ?H,~%;U '  <(1111g ?CYLU (`B B c $g ?,U`B B c $g ?"R,#U`B  B c $g ?R,U`B !B c $g ?[Q,\U`B "B c $g ?< -=UN # 3 g ?,*9M4%U $ <)1111$g ?,;[U ) % <*1111%g ?H,$; U * & <+1111&g ?H,O $;!U +`B ' c $g ?-p"2"U`B (B c $g ?H,#03#U ) <,1111)g ?H,y#$;$U , * <-1111*g ?CTL U -`B +B c $g ?,U`B ,B c $g ?!Q,!U`B -B c $g ?"Q,"U`B .B c $g ?V$Q,W$U`B /B c $g ?7 -8UN 0 3 g ?,)L2U 1 <.11111g ?,h*:+U . 2 </11112g ?+",:-U / 3 <011113g ?+-:\/U 0`B 4 c $g ?v,/I20U`B 5B c $g ?+021U 6 <111116g ?+1:2U 1 7 <211117g ?>C,Kb.U 2`B 8B c $g ?Z+#,+U`B 9B c $g ?Z.+.U`B :B c $g ?0+0U`B ;B c $g ?1+1U`B <B c $g ?,,,UN = 3 g ?,69M?U > <31111>g ?,7;9U 3 ? <41111?g ?H,@9$;:U 4 @ <51111@g ?H,:$;z<U 5`B A c $g ?-=2=U`B BB c $g ?H,=034>U C <61111Cg ?H,$>$;?U 6 D <71111Dg ?C9L;U 7`B EB c $g ?78,88U`B FB c $g ?;Q,;U`B GB c $g ?=Q,=U`B HB c $g ??Q,?U`B IB c $g ?9 -9UN J 3 g ?/-EMNU K <81111Kg ?/-E <DGU 8 L <91111Lg ?,~G;HU 9 M <:1111Mg ?,8I;JU :`B N c $g ?-YK^3KU`B OB c $g ?,K3rLU P <;1111Pg ?,bL;MU ; Q <<1111Qg ?TD=H MIU <`B RB c $g ?otF9-vFU`B SB c $g ?oJ,JU`B TB c $g ?K,KU`B UB c $g ??M,@MU`B VB c $g ? H-!HU#@  NN WN X 3 g ?- N j Y <1111Yg ?-;1j  Z <1111Zg ?,k;j  [ <1111[g ?,%;j `B \ c $g ?^-F03j`B ]B c $g ?,3_j ^ <1111^g ?,O;j  _ <1111_g ?%D*Lj `B `B c $g ?Bb -cj`B aB c $g ?B,j`B bB c $g ?,j`B cB c $g ?,,-j`B dB c $g ? g-jN e 3 g ?,/9M9j f <1111fg ?,;`j  g <1111gg ?H,%;j  h <1111hg ?H,S%;j `B i c $g ?-t2j`B jB c $g ?H,03j k < 1111kg ?H,~%;j   l < 1111lg ?CYLj  `B mB c $g ?,j`B nB c $g ?"R,#j`B oB c $g ?R,j`B pB c $g ?[Q,\j`B qB c $g ?< -=jN r 3 g ?,*9M4%j s < 1111sg ?,;[j   t < 1111tg ?H,$; j   u < 1111ug ?H,O $;!j  `B v c $g ?-p"2"j`B wB c $g ?H,#03#j x <1111xg ?H,y#$;$j  y <1111yg ?CTL j `B zB c $g ?,j`B {B c $g ?!Q,!j`B |B c $g ?"Q,"j`B }B c $g ?V$Q,W$j`B ~B c $g ?7 -8jN  3 g ?,)L2j  <1111g ?,h*:+j   <1111g ?+",:-j   <1111g ?+-:\/j `B  c $g ?v,/I20j`B B c $g ?+021j  <1111g ?+1:2j   <1111g ?>C,Kb.j `B B c $g ?Z+#,+j`B B c $g ?Z.+.j`B B c $g ?0+0j`B B c $g ?1+1j`B B c $g ?,,,jN  3 g ?,69M?j  <1111g ?,7;9j   <1111g ?H,@9$;:j   <1111g ?H,:$;z<j `B  c $g ?-=2=j`B B c $g ?H,=034>j  <1111g ?H,$>$;?j   <1111g ?C9L;j `B B c $g ?78,88j`B B c $g ?;Q,;j`B B c $g ?=Q,=j`B B c $g ??Q,?j`B B c $g ?9 -9jN  3 g ?/-EMNj  <1111g ?/-E <DGj   <1111g ?,~G;Hj   <1111g ?,8I;Jj `B  c $g ?-YK^3Kj`B B c $g ?,K3rLj  <1111g ?,bL;Mj   <1111g ?TD=H MIj `B B c $g ?otF9-vFj`B B c $g ?oJ,Jj`B B c $g ?K,Kj`B B c $g ??M,@Mj`B B c $g ? H-!HjTB  c $g ?TB @ c $g ?TB  c $g ?TB @ c $g ?xTB @ c $g ? STB @ c $g ? STB @ c $g ?S@ N N \`B  c $g ?Zp NS`B  c $g ? 2 NS`B  c $g ?// NS`B  c $g ?, NS`B  c $g ? ?,"? NS`B  c $g ?N,N NS@ N N `B  c $g ?Zp ND`B  c $g ? 2 ND`B  c $g ?// ND`B  c $g ?, ND`B  c $g ? ?,"? ND`B  c $g ?N,N ND@ N N  `B  c $g ?Zp N`B  c $g ? 2 N`B  c $g ?// N`B  c $g ?, N`B  c $g ? ?,"? N`B  c $g ?N,N N@ N N `B  c $g ?Zp NI`B  c $g ? 2 NI`B  c $g ?// NI`B  c $g ?, NI`B  c $g ? ?,"? NI`B  c $g ?N,N NI@ N N `B  c $g ?Zp Nf`B  c $g ? 2 Nf`B  c $g ?// Nf`B  c $g ?, Nf`B  c $g ? ?,"? Nf`B  c $g ?N,N Nf@ N N `B  c $g ?Zp Nn`B  c $g ? 2 Nn`B  c $g ?// Nn`B  c $g ?, Nn`B  c $g ? ?,"? Nn`B  c $g ?N,N Nn@  NM `B  c $g ? N3^`B  c $g ?& N '^`B  c $g ?M NM^@  NM ]`B  c $g ? N3b`B   c $g ?& N 'b`B   c $g ?M NMb@  NM  `B   c $g ? N3``B   c $g ?& N '``B  c $g ?M NM`@  NM `B  c $g ? N3e`B  c $g ?& N 'e`B  c $g ?M NMe@  NM `B  c $g ? N3]`B  c $g ?& N ']`B  c $g ?M NM]TB  c $g ?OTB  c $g ?OTB  c $g ?PTB  c $g ?STB  c $g ?PTB  c $g ?RTB  c $g ?>TB  c $g ?>TB  c $g ?@TB   c $g ?@TB ! c $g ?@TB " c $g ??TB # c $g ?dJTB $ c $g ?eMTB % c $g ?>TB & c $g ??TB ' c $g ?CTB ( c $g ?fOTB ) c $g ?[TB * c $g ?_TB + c $g ?^TB , c $g ?[TB - c $g ?[TB . c $g ?\TB / c $g ?pTB 0 c $g ?pTB 1 c $g ?oTB 2 c $g ?nTB 3 c $g ?nTB 4 c $g ?nTB 5@ c $g ?TB A c $g ?vTB B@ c $g ?vTB C c $g ?vTB D@ c $g ?vTB E@ c $g ?vTB F c $g ?uTB G@ c $g ?vTB H c $g ?vTB I@ c $g ?vTB J@ c $g ?vTB K c $g ?vTB L@ c $g ?vTB M c $g ?vTB N@ c $g ?uTB O@ c $g ?vTB P c $g ?vTB Q@ c $g ?vTB R c $g ?vTB S@ c $g ?uTB T@ c $g ?vTB U c $g ?vTB V@ c $g ?vTB W c $g ?vTB X@ c $g ?cwTB Y@ c $g ?wTB Z c $g ?~wTB [@ c $g ?}wTB \ c $g ?|wTB ]@ c $g ?{vTB _ c $g ?zwTB `@ c $g ?ywTB a c $g ?xwTB b@ c $g ?wuTB c@ c $g ?vwTB d c $g ?uwTB e@ c $g ?twTB f c $g ?swTB g@ c $g ?ruTB h@ c $g ?qwTB i c $g ?pwTB j@ c $g ?owTB k c $g ?nwTB l@ c $g ?mtTB m@ c $g ?lwTB n c $g ?kwTB o@ c $g ?jxTB p c $g ?iwTB q@ c $g ?htTB r@ c $g ?gxTB s c $g ?_zTB t@ c $g ?^zTB u c $g ?`yTB v@ c $g ?bzTB w@ c $g ?arHB x C DB S  ?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW+x6_y7_tBUVjBj jB~jBD4E4jB**j !!j $$j ##j `"a"jS 3jR '3 (3jQ 33jP #7$7jO 3646jN 44jM 22jL=3.4jK6N7jJ=6r6jI5h46jHg4Nl5jG;3N@4jF2X3jE1B7jD |) })jC ))jB x-y-jA ,,j@ H+I+j? ((j>.*+j=,?-j<,c,j;.,Y,j:*?+j9)?*j8d(Ii)j7'3.j6s j5 !!j4 j3*!/"j2#0$j1#T$j0F#J#j/!0"j. 0!j-|: j,$'%j+ a aj* j) ]^j( mnj' -.j& j%.j$?j#wcj"Ynj!?j u?zjIINj3j j efj j j j C D j.y~jI?NjcTjYj#?(j ?j I jS 3vj DKHj j  >?j  NOj  j  j 8)jIjXmjcOjIjVI[j*S/j{ 7j=_X>jt=~>js={>jut=u= jwK>|2?}jva8t=jXU8h=j#%U2+Vj$h%2+j(%D42+E4jrx>s?jq8=jp==Djo=b>Xjn=!>jm?> :? jlU8 h= jkh=o i= jjh=# O> jih=y Y>$ jhx>s?jg8=jf==je=>$jd=>jc?>:?jbU8h=jah=i=/j`h=O>Cj_h= Y>j]8=j\===jj[=>~jZ=G>jYx>s?jW=#=P jV=>d jU=->jT?>#:?#jSU8 $h=$jRh=^#i=$jQh=$O>$jPh=h#Y>$jO?>(:?(jNU8(h=(jMh= (i=8)jLh=(O>L)jKh=(Y>(jJ?>,:?,jIU8,h=,jHh=F,i=s-jGh=,O>-jF~=P,o>,jEx>2s?2jD82=2jC=2==3jB=2>Q3jA=2>2j5K>6F?6j4|8U=Vj3|8=j2|8o>pj1^8!t=!j0m8{*t=|*j/|8D4t=E4j.4/U4Vj-.4j,.E4Fj+/!4!j*/*4*j)./D44E4jN9<7j0W47ji' *7ja86t=6j;=6E=V7jt=6[>j7jt=36e>6jW087j&//7jm/X>0j%?\'j >[j= ?# j"c(!)jlsj!!j{*!|*jc54!64j `!aj!!!j7j[3*3j[77j[66je44jei2 j2j34jo6t7j6z6j)56jI4N5j3"4j12jy17jL))jLZ-[-jLj,k,jV*+++jV((j)*j,-jt,,j,k,j*+jr)w*jF(K)j'-j=  j=r$s$j=##jGB"C"jGj !r"j#$j##j (##j!"j !j^c j %jLjL?@jLOPjVjVjjjYjPjjW\j+0jjLGHjLjLjVjV% & j[`j+0j~6j}wj| j{ jz  jy5 XjxV%jwV !jvV01ju`jt`jsjrjq:jp$1jodijn8=jm j%%o2+pj&w%!k+!j'%*k+*j"%j !7jH3"3jH7"7jH$6"%6jR4"4jRx2 "y2j$3}%4j"~6#7j".6"6j"5"%6j"X4#]5j",3#14j "2#3j "1%7j9)")j9i-!j-j9y,!z,jC9+!:+jC(!(j}$*n%+j!,#-j!,",j","z,j!*#+j!)#*j!U(#Z)j!'%.j*!!!j*$!$j*#!#j4Q"!R"j4!jn$!_% "j!##$j!#"#j!7#"#j!!#"j! #!j!m#r j!s%%j9"j9N!Oj9^!_jC!jC!j}$n%j!#j!h"j""_j!#j!f#kj!:#?j!%j9V"Wj9!j9!jC!jC4 !5 j}$jn%oj!:#?j!"Ej""j!#j! #j! # j!D %gjC"jC/!0jC?!@jM!jM"j$x%j!#j!I"j""@j!s#xj!G#Lj"# jYgj'*?BWZor/2GJ_bwz ,Y,@HP LaserJet 5L PCLLPT1:PCL5EMSHP LaserJet 5L PCLHP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d HP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d ء+@GTimes New Roman5Symbol3& Arial"qh,Q,Q1~0\8IARCOD Pentiun 208LuciaCompObjhObjInfo@CObjectPoolPOPOWordDocumentBD2     # s%&'()*+,-./0123456789:;<=>?@ACDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqruvwxyz{|Y +bjbjWW 2==Y]222bbbbb n|b/+++----4-.c/$R0F2X/2+T(+++/----+xZ2-FT+----H2-$h8wbbu-- S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S1 S0 Sel O S2 X+ jUmHY\]`abefgklmopqtuxyz}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdddefghijklmnopqrstuvwxyz{|}~d      !"#$%&'()*+,d,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY*.     !"%&'+,-/014589:=>?CDEGHILMPQQRUVW[\]_`adehijmnostuwxy|}    !$%()*-./345789<=@ABEFGKKLMOPQTUXYZ]^_cdeghilmpqruvw{||}    !#$%()*+N N!"#$%SummaryInformation(EDocumentSummaryInformation8_1035974455J FtaOpfOOle  Oh+'0  8 D P \hpxssIARCOD Pentiun 208ARCARC Normal.dotiLucia.d2ciMicrosoft Word 8.0@F#@@Ba8w@Ba8w1 ՜.+,D՜.+,h$ px  Technical University of Cluj-d\j  Title 6> _PID_GUIDAN{C2D5C97D-4D39-11D2-87DD-00E0290F7D60}      !"#$&)*+,-.0125789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_adefghiklmnoqLn7ihm1; i  FMicrosoft Word Picture MSWordDocWord.Picture.89qL IPIC GILMETA $(:1TableHLBaCompObjhn7ihn/ &WordMicrosoft Word  U  D-Times New Roman- -POp--P@Qn--LhKn--66k--n-& --I--Mc-2 U S2'a\-2 ^U S1-'a-2 U S0-'-4--6 -=a -2 U Sel -'w- 2 yU O-'--J--Na-2 !U S2'_^-2 `U S1-'_-2 U S0-'-2--4  ->_-2 U Sel -'y- 2 {U O-'--E--Ia-2 U S2'_X-2 ZU S1-'_-2 U S0-'-2--4 -8_ -2 U Sel -'s- 2 uU O-'--/ --3^-2 U S2'r\C-2 EU S1-'\-2 U S0-'-/--1 -#\-2 U Sel -'^- 2 `U O-'-- --a-2 U S2'M_-2 U S1-'_\-2 ^U S0-'-2--4 -_-2 U Sel -'h9- 2 ;U O-'--  -- d -2 U S2'P b! -2 # U S1-' b` -2 b U S0-'-  5-- 7 - b -2 U Sel -'l < - 2 > U O-' & -  q--.@Qr--Qpn@--j@,@--OBO--/>Sp--Snp>--l>->--Q@Q --*>Mp--Mnj>--f>(>--K@K --;8m--8kU;--Q;;--6=6 -->p--n0>--,>>--@ -- A s-- q3 A--/ A A-- C -& -= =--f f-- -- -- -- - & ---E-- --tt--VWn--U U )--44--u u-- -- --))---S!H--&b&=i/-e =-- =.e--&hh- & - j --=- & &w&:g:-b:--:9b--0ff- & -g--:- & -<<--}}------1 1--5 5--vv------**----` `---- -- ----6 6--uu-- -- --  --< < --z z --  --  -&n  &:g5-b:--:4b--,ff- & -g--:- & &G&:g"-b:--:!b--ff- & -g--:- & &;&?l-g?--?g--kk- & -l--? - & &z<&5 b - ] 5-- 5 ]-- a a- & - b -- 5 - & --TDI4----RnG^---->3---- ----  ---& --% --K K--S --p p--r --r r (--o (U (-- p q-- lWl-- K -- r--  -- --& & M--! EH--N N --U -- [$@$NormalmH <A@<Default Paragraph Font,,Style1<5CJ,,Style2 x<5 !&,049>DHLQV\`dintx|   !"#&')*+./12367 !&,049>DHLQV\`dintx|       8@J J(  TB  c $g ?BTB @ c $g ?!TB  c $g ?TB @ c $g ?TB @ c $g ?@  NN HN  3 g ? N ~   61111g ?$1 ~   61111g ?k# ~   61111g ?%# `B   c $g ?F`B  B c $g ?_~  61111g ?O# ~  61111g ?t7*@K N  3 g ?/L9~  61111g ?#` ~  61111g ?=# ~  61111g ?=S# `B  c $g ?t`B B c $g ?=~  6 1111g ?=~#  ~  6 1111g ?6YnJ  N  3 g ?*L4%~  6 1111g ?#[  ~  6 1111g ?=#   ~  6 1111g ?=O #!  `B  c $g ?p""`B B c $g ?=##~  61111g ?=y##$ ~  61111g ?6TnJ  N   3 g ?)J2~ ! 61111g ?h*"+ ~ " 61111g ?",!- ~ # 61111g ?-!\/ `B $ c $g ?/0`B %B c $g ?01~ & 61111g ?1!2 ~ ' 61111g ?f5,2Ib. N ( 3 g ?6L?~ ) 61111g ?7#9 ~ * 61111g ?=@9#: ~ + 61111g ?=:#z< `B , c $g ?==`B -B c $g ?==4>~ . 61111g ?=$>#? ~ / 61111g ?69nJ; N 0 3 g ?KENMN~ 1 61111g ?KE%DG ~ 2 61111g ?y~G<$H ~ 3 61111g ?y8I<$J `B 4 c $g ?YKWK`B 5B c $g ?yK)rL~ 6 61111g ?ybL<$M ~ 7 61111g ?7=HKI TB 8@ c $g ?TB 9 c $g ?JTB :@ c $g ?KTB ; c $g ?LTB <@ c $g ?MTB = c $g ?NTB >@ c $g ?OTB ? c $g ?PTB @@ c $g ?QTB A c $g ?RTB B@ c $g ?STB C c $g ?TTB D@ c $g ?UTB E c $g ?VTB F@ c $g ?WTB G c $g ?XTB H@ c $g ?YTB I c $g ?ZTB J@ c $g ?[TB K c $g ?\TB L@ c $g ?]TB M c $g ?^TB N@ c $g ?_TB O c $g ?`TB P@ c $g ?a@ N N QI`B R c $g ?Zp N`B S c $g ? 2 N`B T c $g ?// N`B U c $g ?, N`B V c $g ? ?,"? N`B W c $g ?N,N NTB X c $g ?TB Y c $g ? TB Z c $g ?TB [ c $g ?TB \ c $g ?TB ] c $g ?TB ^@ c $g ?GTB _@ c $g ?FTB `@ c $g ?ETB a@ c $g ?DTB b@ c $g ?CH2 c C g ?A@ N!N d@L  N!N e2!N`B fB c $g ?joG'`B g c $g ?h'oG!N`B h c $g ?M ND`B i c $g ?h'N'`B jB c $g ?(*6c*@ N!N k?L  N!N l2!N`B mB c $g ?joG'`B n c $g ?h'oG!N`B o c $g ?M ND`B p c $g ?h'N'`B qB c $g ?(*6c*TB r@ c $g ?:TB s@ c $g ?;TB t@ c $g ?<TB u@ c $g ?=TB v@ c $g ?>TB w@ c $g ?5TB x@ c $g ?6TB y@ c $g ?7TB z@ c $g ?8TB {@ c $g ?9TB |@ c $g ?4TB }@ c $g ?0TB ~@ c $g ?1TB @ c $g ?2TB @ c $g ?3TB @ c $g ?/TB @ c $g ?+TB @ c $g ?,TB @ c $g ?-TB @ c $g ?.TB @ c $g ?*TB @ c $g ?&TB @ c $g ?'TB @ c $g ?(TB @ c $g ?)@ N!N %L  N!N 2!N`B B c $g ?joG'`B  c $g ?h'oG!N`B  c $g ?M ND`B  c $g ?h'N'`B B c $g ?(*6c*@ N!N $L  N!N 2!N`B B c $g ?joG'`B  c $g ?h'oG!N`B  c $g ?M ND`B  c $g ?h'N'`B B c $g ?(*6c*@ N!N #L  N!N 2!N`B B c $g ?joG'`B  c $g ?h'oG!N`B  c $g ?M ND`B  c $g ?h'N'`B B c $g ?(*6c*@ N!N "L  N!N 2!N`B B c $g ?joG'`B  c $g ?h'oG!N`B  c $g ?M ND`B  c $g ?h'N'`B B c $g ?(*6c*H2  C g ? H2  C g ?H2  C g ?H2  C g ?H2  C g ?TB  c $g ?TB @ c $g ?TB  c $g ? TB  c $g ?TB  c $g ?TB  c $g ?TB  c $g ?TB  c $g ?TB  c $g ?TB  c $g ?TB  c $g ? TB  c $g ? TB  c $g ? TB  c $g ?TB  c $g ?TB  c $g ?TB  c $g ?TB @ c $g ?B S  ?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a"XX"=jX=I"Mj="=j`I<jB=j=a!=jL 3zj?L9 Mfj@\ W jAL=ljBLk3jCLMjD\aWbjE=. jF= $+!jG=>!jHM H jIL(=)jJL)3*jKL(M)jL\|)W})jM[2L23jN[13B3jO[}2\3jPk'3f(3jcqtc@HP LaserJet 5L PCLLPT1:PCL5EMSHP LaserJet 5L PCLHP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d HP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d @GTimes New Roman5Symbol3& Arial"phvKvK1Yr0eIARCOD Pentiun 208LuciaObjInfoKNObjectPoolЁdOЁdOWordDocumentMOtSummaryInformation(P~Y bjbjWW ==c]RRR ^\\\i\k\k\k\4\s]G^$6_*aXk^R\P \\\k^i\Ji\i\i\\X*Ri\ft\i\i\i\i\:Ri\ /R/PY\i\ S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O S2 S1 S0 Sel O b jUmHcfgjklopquvwyz{~bcN N!""1,#$%  Oh+'0t  $ 0 < HT\dlssIARCOD Pentiun 208ARC Normal.dotiLucia.d2ciMicrosoft Word 8.0@@@<P@<P1DocumentSummaryInformation8_936008591S FPvOPvOPIC LMETA RU  ՜.+,D՜.+,h$ px  Technical University of Cluj-dj  Title 6> _PID_GUIDAN{D901533A-BC82-11D4-B08C-DA22F1EEFA1F} &WordMicrosoft Word  zr  -Times New Roman CE- 5Times New Roman CE- 2 rz'R8|- 2 9|rz'hN- 2 Orz'&&&' "-'i' "- "-'t- "-i'it- & - "- BjtjJ-- "- BjtjJ-- "- tDrJ-- "- tDrJ- &  "-('(- "-['[- "-AA-- "-H?--- "-y --- !=E-W"ITimes New Roman CE-2 %IrzDelay$ -' "-<<q--  FMicrosoft Word Picture MSWordDocWord.Picture.69qCompObj%hObjInfoTW'WordDocument SummaryInformation(VX(ܥhW e&   j jj j  =J 2 2 2 H J J J -w KX*= 2  r2 2 2 =H j j H H H 2 j  H , Vü  j j j j 2 H H H  Delay NN:%>&=&00&.`'A@20(P+&!00&0*@&AL0B%&=u&&ts&tsQ&s&s&s&sQ00&>%'00&@%'00&X(z'.0$+(n'0'2/(:%'jy2/('M'Zy2/(:%&jy  $%&ou ]abc ]c]uD]a  !#$%& ns^sns  K@Normala"A@"Default Paragraph Font && &o& &=mK{ = '@Iriada\\Iriada\Server IriadHPPCL5MSIriadaIriada@g ,,@MSUDOHP LaserJet IIId Iriada@g ,,@MSUDOHP LaserJet IIId JTimes New Roman Symbol &ArialTimes New Roman CE"phhf !* Aurel Netin Aurel NetinOh+'0  < H T `lt|AE Aurel Netin-DiJNormal Aurel Netin2GMicrosoft Word for Windows 95G@@@4<ü@@E Vü ՜.+,0HDocumentSummaryInformation8/_1040228838] FpܖOcOOle 3PIC Z\4LP`hp x SISTEC( L0a 0a & &WordMicrosoft Word  J  -META 6T 1Table[_CompObj`hObjInfo^abTimes New Roman CE-- "-J "--CTimes New Roman CE- 2 JDESIGN CAPTURE$$$ !#$!-'- "-,,--%%-2 JSIMULARE,$#!-'- "-,l--%r-2 rJCOMPILAR!$,#!- 2 &JE-'- "-H--N-2 N JPROGRAMARE!$$!#,#!-' "-I- "-- "-- "-- "-- "-- "-- "-- "-+- "-- "-- "-l+- "-+<- "-+<-- "-HV--- "- "- %-- "-#- "-$-A{\Times New Roman CE-2 \JBack-2 \ JAnnotation-'- [$@$NormalmH<A@<Default Paragraph Font)3;I )3;>I  IIIH8  @ ( n # l  011111?  l  011111?  l  011111? l  011111? TB  c $1?TB  c $1?ZB  s *1?ZB   s *1?ZB   s *1?ZB  @ s *1?    1111 G kHI3cJq;KY[Lq;M1?A-'D"EZ B S  ?  I *>%^-j1)&.(j g#i'k)j'j ,(,*j ,%,&j % &j %,%j&#&%j(*n/l+j&h#(j!"*#j J ')35=?EJ@HP LaserJet 5L PCLLPT1:PCL5EMSHP LaserJet 5L PCLHP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d HP LaserJet 5L PCL@g,, @MSUD7HP LaserJet 5L PCL%d GI@GTimes New Roman5Symbol3& Arial"ph,Q,Q !~0 n Aurel NetinLucia  FMicrosoft Word Picture MSWordDocWord.Picture.89qOh+'0x  4 @ LX`hp,ANALIZA ŞI SINTEZA DISPOZITIVELOR NUMERICENALLuciaA uci Normal.dot DVDObjectPoolpܖOpܖOWordDocument`bSummaryInformation(cDocumentSummaryInformation8Y IbjbjWW  == <]rrr  p Y [ [ [ 4 c 7 $& J[ rN[ Y Y Y Y "rY Y Y Y Y 2@rY  `9M>w FY  Back Annotation PROGRAMARE COMPILAREE SIMULARE DESIGN   ')35=?EICJ6CJ jUmH  ()45>?FGHI$   ()45>?FH N N!"I#y"$M!% Oh+'0  0 < H T`hpxss Aurel Netinureure Normal.dotLucia.d2ciMicrosoft Word 8.0@G@@ L?>w@҆>w  ՜.+,D՜.+,P  px  SISTECl, j  Title 6> _PID_GUIDAN{D9015302-BC82-11D4-B08C-DA22F1EEFA1F} 3P$Dи)OH|f|o 7 D#_ێQAIԓoCiSD[;[d4d[2Sm62.95Pĉ#tg1?)qZ*qі>C wZ6jzmEIup}G)}4ZZUT旨I5 ")#rDއA=룱o^C| }oy5]E{QTgx-s37ڏ}+&*|:^O ׀}\Sg k bQ(0o8ҿNBaz?`>X4oaX_?i!(-[tU)Uy.*phoC8<;ဆ*RUHWp܅ҍUfi'ds._%{]2$' /!y"P7[J2'߫&VbMt&LOHk|M"ҬC^d,dIBi}Bo*jCb*CVLtUJgC˰xJ jFKTLtUxj\[`5u48ːːW!߃,_,Yޫ̗u#')TYF?8䁃88|J=M&DFQG~ UD U)b*`6P>~6r> 2>^:Rtb3yU.ԋ>}W.b0֓ٵ+)bl.^Lpp蘢^NSS:W\u?quX s ܥ\%ms,Cs*%tguV|;yh;O]r)8MT7پvvJɫNwBG2c*ʩJT9K̼̝TɳfGQf9~ _ ௄+pK5TTÚbwq9W;h2}?2{\hy_-*w9炣ȏ2kUFnFq<  ۷N(de0G0c^y}zlQ2k6Nr ,8ooji?*a泚+m_B+ړIwF^xAF6=$q?T;[=E~&TBȯQvoQ^e{+ů&{bV!we9aaeV?`g3Ѳ9quc,?`v6’3 &Sh/]Rf6qhy KMķd\įe5fn8A& Ԥ<&d2[Y94&Nǀ'd擊$NDTFfTXEu1cL'DR)4.)3Ÿ4q\d}Mƥ&"$d&Zi܁&N+'BVfVM k"I')IsQ݅tOt(t|L~2QpA k2.5$&W%3jԅ 5[dQƬI_'ȃ@IzW.߼>_}vr4qpwEo!z+˷f>|WE~(+QAmOñ>vٶ=7hyٹe컟ɬJ7lT~&{1o\l i%;2sxRΝxvS<pTVd>Eg{Uw{vmyx.֊Lk^Rl8Hc`C.DZ,` \u(~g_  |KwdLPF̋SfsH>x4hj=r@%7?D71"̰^0(1Ȍcp+6|0y`^ 'jST~9n,l\%{tJ"ϴ_D/|_#=M'U*ψ8JRĄmGzVyAG9C27>c_"`=VᕂW#gk_B ˾?̞P6 Dd .CB  S A? 2> ad+<9BO  b`! ad+<9BO< `sXM- x{pU{yB<6Qme fBJ Ĵ44bceJGR*VJSkL cQHCk t `oٛ{9'g#wdsv8{$JS2z#_GѾ/ݸv(YXvS탛S^5:>ݲ1Q1aU~U*=dV+=/Tfa剚ML~YmJtu1Q~ov:Ni*1z?&qK~}OtHK{taYF$kN0d*KN#Ő#^[B t nZ FٜЃz"JUygtY#R >$[a ºm+kŞמwځOIX/".XXXYga .a Nx% %3]AXGK𶔵KIruɴ@K5:"k6y4uj^MYKޣ%R߉9 >yCIInjd άZr)`f喁;{Y$!kz z3k]ϻzX7d=GJ3Hg4bD(/RPGFTn PQ<*wl'#?$}2Vw'?L}2Y3k)r\jf喁?C2 Ⱥkh߫oHX);邵Dr$w"D߇x6x-ס&twrB+OsxZo<ք :T^HP~ѣQT>[y*/{<*wGBݮ#"}[$".)d&SDKFJ΅1a'ޥ;<r2 "O[-Zs]=C0lK&OXGp/}3TB0 L| U"IefRV L'0FJ#; F(O%܀mVr>bnt3kٔJfe%""OjᖁȪ3,drYef]Z$aݎs][Xͬf0&zVz FEϹ`m5c Ԭވэ ^!^Ƅx2ב+;h OD:zSN:)/Geޔ ew픛P{妈#WvzN~1uVo8 ." >WCCt2dEx+>Z9Q'-5o\%iV!\;d9av7ϳCu'Ros1li2Qo\m%fKUlX:Nz U !3[l53̓|'ҧ>LvOڇ7m޸e֞UpLMF;pd4_h?2cEUZ㢃͌.cڽȾ]Bծ< ,̖EP؎x٢5hl [gH}!?M d,Dd 7f5TB  S A? 2U,־d{ێ4s1,j,b`!),־d{ێ4sJ- @t+x xUZ]]A@TCaBXa9:*($=g 2:3nHQ0De Y’wNnA7ձnu>߿s}o)ZAHt"v$4Ïhy>bv[rIiQEYeYqU>a_pNs*.SO8{˖*'sdK+| /gIH%=_6ibA{z:^ndDv <3apUzfpۛb&֓ *lHYPnV5?]xy}+{?-оVu@LGAᴷ'Nk'! <}D߱N.pz +QO/NW%Y-$JE8{aۑWf8hPrHQ|]HюTh2_[9 iY+A_sRrTnJ~̼UH2mt$!#C6$oG%6iBalVaIVE!9ߨ WXkd|’)(Ft)&Sunuz9l>ΜiVJl=G&ѹz$ZvW]l+*Z6Iɞkh `#r N/rz81~23k_wS~ɷN\yǵ1]~el'X/v=kmtmD8dGgf>rKB6$7P/ @\Ϗd +$+ "6$dP k\Ի:]IkkB34 TyΊ䠮}0u vieF޵^Ht}A  H:Cx#sA=ߗ>]c\I'b9=(2qCBv;iMpOr͑-vRS׵1]~\e ڏ^N]^x]#q\{Qo+CD ېP>Bd +$+ }"32WV+5"\pT)c.}W ړU\Ե~ξ ]6jY{VHeXnI Fs%V:Z૵BZz&#s~Fswߜf\ cre׭;VG3#c8[WV_>-)@K6F+^lu)m_r$]#ѻv9jԧ#ݍrv*Hн OԻB~>ZD&1@P dq?H3a7[+uяcߧ1#${ͳߑOҞy/;H|d9h/h }v^lKE;l}ofoWҗ<zW/Jwl# /eڽ[?k{gPLfMimH^luF RLhK62JKސ-͈-=HLzolXz{l^5v)Ȼ1ѝytDxkSX[^JZgmRHshG}h_@4#bq1 }g1DZƛ<~5o>_wb$w \`_uuzM];qL-`j4fۊVʆmH~ y? gCr%UXTW _aHQ񾼄 }˘zTits"8/Gw^"6N;/yg.;>QgdϦ `${޹ߩѾ4xG w'n߇*P7h9w.F <.ʑ^HvO"W \/J΄z'FAFl@ކ'򑧌EI %4};lVaEP]%,|!T^FV{3wH'w^kts|860M|*gzpk#'V^5V`=˅U1m1wV[hkri>Κ:mԊy3:h1M^yg{"}|uП4^ ?bD=;W|_|OɗNd;ﰺ)ghE&; K]bYU:mH^ewlk3j M.d 50$)FwbYПk#y"k '~%[c&VJF^L?|?wb$:nm <l #@de}zi #w>hyg}3> 荶w1"/ pwgx7|| wމz;W s.bwNdgCL;|_ =#VsVv)K8*0$2$/2"ռsy.Aq6=^j蝧9[ZcMm1wNt6b_9 3_&#λ@4@giwb~!Vn6Z7?'!1@aVq's649 z+%_;1],sGmމs>0Cgq`蕟HuڸzV.t?/JK6y,|!+!k چ |K3HȳH]^'yUv'ImR"ydFj|Jvkܳu&#ν}Fnо.Ӵw.]?:!&^~JȦ_M{V'yn:_ݲ S|u|)Hv oUc%ńY:K6IH޹DRݿy /$Kv2햹Zcl#z2nK^Zogr&j-r$b${hW5~_i="ſt]?h[- ]*5(wɶ?_cy<މzlUˎ0Υnwb$z1h>Ҩ^ ېkkn|χ& E1TW_aHHhTa ٟ׉"HՆJ%sUl/V37ny΋Ny{g7ND睷]r 4Ϯ^Hs7h_Wо&M}I/@? ;\#yv2\g;F((H}Jwb$hU|H;k;1Cz[bpކ #) ?>%UXN0$Z$1-Dlk;* Fvpl2󬝒[{0o2fjLj&9c$:דּXWk.eUk^IjHshFӠh)MM^QQUUhE\mz`961ňJ~ 54.ס|)Hvnuuǚi_q$#{gPkz}QΫdWVt ېk}F kCZ_[e\aP] kheVK Pk4Qe2ٞ/L睝VJS~Q;Hk]?nm\흻a${y'h~+h&igzG8|VF+#jBxXћl5|ÈFnzle||M/oo[wމ,Z#ly|uwNdgމkqyh4b@ɸ`z[B6t?9XK6TW_aH%cH_gD8f8yHbJ|wvvZ+:9'13MrLHt9yM9Z'8dOgVk/MQA${޹_~'h/ }N9^y'x/.˗ǝrKxX[o/y~3u^MD.v|/ɮwV:QN@kõ9m}T;j}"xpuH6nQoKbI~^/V+_to\o]Fd\_To0Uyxhr'9$^JG̼ؒ*'KjJ+ȮX$s61#%"cWj_Wb3b"MZ"d[jо>Mz} u=JFgdMO,SmUbGgΜy @r5ń0$ / FnERtuV%U ^ X?ZK/<aϜy3'o}.=7F̻m ~6$? c 'ȷy5y3 r5Bt53C!"FYu."Nfܐ5[; Ե;xY{=w'爁nrNǑεn~ېU>MzNdvؾ) 7}sM`_^"u%:u< ~險C_\$7)A*3އ{MTD܍rR\>\ OfΜMy\sEpϕb;{=6ƺ0w˓8yD8P$p${s >%`4lɶgp0"V^=w0or75`rߗzNn+DHCŕ"xmđ;?fy)NYgs$/fm Y4fk?=6L0$䓏G|$y0Nڷ'H xn7=J |?XO;=0>9q$ssNR@09glő·[l_ߚlN=S}`؇ /:W sؗ ^$7aUz/}z1zfLđU"P_^],Rn`9gj'dv.zz!~G]?/p|2qKHbk?of|9š 2CQ|H>cȣx;~M*e@.&W {{P#^ :INݻ}^sȠ,i;Gfr8d3;֩9mpguپ1 ᮐTZ":gJӟZRpW0pN6y^$xFά7zep TqJsUs"E9mpO:apk%U7.G9s.Q7.z5 F7NyʩdE2MF {=\$Ií5gCBsG{9.:xzd78G ps:dXV9ŭNi w uN[=YYoؾlߐپ)L}4z-˥Zg4Xiz- zs4z]*F+':+vHpQJws"XsBĜziz5V"pk$UZ> d{=YjV dE2MZF^ɨH4=ܸל = WQjmԵ6ξ^rđU{}VyϦxGW;? }]?Gm`gj'M3.z˥Z'NOIm5;Q~Jz1;l~31Ϗ|;B{v#yz~ X@]k{¼1]<'־'|L~o {c-f~G٣M^>9,fȗǨKcpؓoSJ W ?Č}|Qy B& B57ߙSɝxo<23<3{?(Z2 _<^;&ey3 țB_Rw/\gG2$xG"OPp&'D&CQ?ɸۤ'N0wug`}3O߽K'|O@OM$P%hǫqO/%?Sz3!yO~H~ȏ" 5y86B+~5 w:K6;;䑼'3 ,yO ȻB+T[xǫ7߽KWX?+G>n"y)"?A$oPTɎW\ }[R`Q듗K$>y (&e?9ONytc_Z8n]~}Э>hx+Wrkr8q,4H]sbg xlfÐ|g[͌-*$v:%eo$a?t:/whv3'vuLޞy{[Ly{]LBl0YH^ARM-V7P,&EU1["u|Hdu:3YgUi>ow4(Q&I{r0z4ՒbENak$/$yXXn =l(pgf_HQ5LMXG1 I$iIP+'6-{[}ocͷ U}2$H&ޓqXߓUƷL|k{Ɗ1IS+ MxOrޓ Rk˴= ѷ=Hv}F HRY-y4^!{2u(b^5Z2=80.f)<X?3@b ,V ƀ6O^Ö<OIU|LxB%fw@/$!L:{-  Қ k{&O@| NZߖӢ_:oh_''u^OX?Eqn<NB%5f%9aZ_3zQ|8x:nMF;#[Ǽ0}oJ}> gy P uP׼u}]o}aω}婿[N2aolџ evtOr2f''܋$r PP1s74x%@>a&zX='xX/kfztwVG>ALul#JIYbN݉䮱!5cZESl,z^=SƓSZdž"wLa9CE$w Q=sXaIukJw&0^/q(SGZ(xH"W=ޚk%%xK"\k2jdQDrO&g70ւD^;7aK {UlLjq7aGgƿ@ˍDd m1; iB  S A? 2PNDd+rjkUYb`!PNDd+rjk.[U MӒx tgvvvIy#E!@DZE;`ظ 'GB@Um=Sz=T*CPbj3H;!fgs̝_?wh_ `Blj}tggUݚEKb:T Z^jdN5Ln59v"+ޫ=>'Fa8Ș9a}s}Ri&9-kdRwn'SVfS>"]bBj8i*tSB L9yp|s4ϭnrr%ʹЧ&3Զ$LU`zyM d!W*e x==!?g9&!T)B^D*d 9e;Bq@mEx. dc '9eyt3 ʱDѨ<3rbe쑁4FPC5k %\%[1SJx3daNci'DY7+;eJp}ٟNidwb&o#* ;|46]y6CWrrSbTR@b _b#Zb2!ngxaEJ_vwsg#JShMyl$m3j/^SFުc#ni\-śN)eZsԈ%VYHem$.o&Agd){;e :_""=%CQMylaxR95]!wdNvV!- L"F:6E݈ )Q݀wOS{Nkfc#.M7iM4a s0uf3ЙHe%X31u=%x#GۏљHeM$.E?A'd){;fg(Py@ccY4JZZHVM'L.#r^?$L^R.l,ugM-"M^i_&BW|wɻyMy;~B"5D^.Toee8#G-U[~ KWz ,[pV_$]l47 E7 f>K.Ϥ|~g wKuw@Plga.4Atl-Kj{5y~4-8Z9HG=ȖɃȌ#meq6'D}ydod7I6P|^M, "N"!IMjd0ΣĈSm8J}% 5r4Y9[|!2Fa49gB2j{Elm4Q뗓 hGw~WM&Kf*g>iXw㟩|BޥuDbEBdWޗΧm |t>#Mf`CÄ",C0D:X=z}cяv!2b K?U4-7! XKcM:'KYlylHS=Yl_uY2{|_DO4AOC̮[ ~UEA,1B4Y[9!r5ótgΟΟHY& L9 IaGdz9 #(MfϦ 6Փ?{@ȟQ83ryBdFXM ˨*#{{%{y6e6`Ϧb/'e4GYNO5x$ K8~aP 'HW*|&_"T/0jzI 8t"A@|Yg/l"Vd=7XU>%tXiw'Ĉ,㿚|RSW|w T1#MBdF-q6i"WA^Lv¶ǚ+jϮ^A6-jdvX+1"se/dW-gfk8']0N|R̨I[YrIM"ϥo.ٻ"vm4QG;4ywߠ>tg2wvqzr淋^יʏpu Ga}bUKn}[x ',[=5NG}.K;%O" Ӳm&&J7K}}u5NE!kP c6  WyV'M~!GQz.Z!r?: HϿ'b= Bs:WT%L$jež+y ů筡B;D~tn _#"Nҍ:OMUC4oIR=Rpe)JT!K4Kk JQX*DީN/5&K4v/BQǡPBDd P<  C A2S#fS{,kib`!cS#fS{, X'p#1xUMHTQ=7:?OG3u +@FVaF Fk rȅ+۶)jipB q!&.D\4ݿ!y{Ϲ;+Cl-W#UuhC.[gԢTf:q{ rjXp&'g Mrj^ x/ņ&iV{'tSe)p1p?^Ba\-j~lQ+IJx[h\P׵8%.,i_yc}La:r1s \tG3CI N-_^(Ș"1rX.d9>w2O fgiL*5K~6&H/Y{|dœEy- l,.IwY7eógxOzw*>F\1L-"%@fmW؜:M2FHd9 3Me:YdEXmK H<#1ugA7[FY0@nЭD1ςv,x\}uUZKytN v&TuJZ]CL; pStȯoq+)Vogq@8S,v>Nu'Ef9Af z.#!Z%%aZ? >o2ӊB*I͓e~ZNjt]Ÿ3˄k.B%T5Z^y}:a>NTsaYNnM㫤cF;Vrw:׀?+ [ Dd  B  S A? 2u2&;yųک!Qqb`!I2&;yųک! I@+(5xOQgoA ?N =3 B(wXJL,,4PHa1& BFh(4h%"μq{`no0Pi?@jA*V|J9}P~`Q;H"䩌4Ӓ\؞Yo3!Bb8!iL39;uưcyLh"kqM\QFw 5Gb;_Rz([ ܢb~.!3S@gBXK^3${n=3=gu#Ppftϥz$CoXy+UZ$/zӌ=GMo.8z;#jW.g: q $"X`ɍ^+,<U>2g-(;~f,x{|2lXGݤVQR'3}T÷7NXvnti8t<g䐻\r]Z91Table; SummaryInformation(fcDocumentSummaryInformation8jHCompObjpj>gJgUg`glgxgggghhhii%i6iGiXiiiyiiiiii2jTjijjjjj=klllllmm%m_m`mmmmmmnn&pvppppqrrrrs9s[syssssstttttttttttttttttttttttuuu u u uuuuu!u#u%u&u(u)u4u?uBuEuHuKuLuOuQuRuSuUuVuZu[u]u_uaubupu{u~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvv v v v v vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvww w wwwwww"w&w+w0w5w:ww@wBwCwKwOwQwVw]w_wawbwhwlwpwuwzw|w~wwwwwwwwwwx\xdxlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyy y y yyyyyyyy y!y"y#y$y&y'y)y*y,y1y7y9y;y|@|A|B|I|W|Y|Z|[|b|n|p|q|r|y|||||||||||||||||||||||||||||}}}}}}}(}*}-}.}Z~o~~~~#_is|pqxyL@͂Ђ܂݂e{ 5!"RQ0<=IJˉ׉ډWLۋ789:jI\Ď^_BٓI[ĕǕʕ͕Еӕٕ֕ڕܕޕ  "$&(*,./13579;=?@BDFHJLNPQSUWY[]_abdfhjlnprsuwy{}ÖŖǖȖʖ̖ΖЖҖԖ֖ٖؖ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ i:@: Normal$a$CJ_HmH sH tH>@> Heading 1$@&5CJ$mHsHuB@B Heading 2$$@&a$CJmHsHuB@B Heading 3$$@&a$CJmHsHu<< Heading 4$@&CJmHsHu<A@< Default Paragraph Font>B@> Body Text$a$5CJ(mHsHuLC@L Body