170
UNIVERSITATEA TEHNICĂ “GH. ASACHI” IAŞI FACULTATEA DE AUTOMATICĂ ŞI CALCULATOARE Aplicaţii ale Inteligenţei Artificiale în sinteza structurilor numerice complexe Teză de doctorat Doctorand: Ms. Ing. Codrin Pruteanu Conducător ştiinţific: Prof. Dr. Ing. Dan Gâlea - 2006 -

Applications of Artificial Intelligence in Advanced Logic Synthesis

Embed Size (px)

DESCRIPTION

PhD Thesis in Romanian

Citation preview

  • 1. UNIVERSITATEA TEHNIC GH. ASACHIIAIFACULTATEA DE AUTOMATIC I CALCULATOAREAplicaii ale Inteligenei Artificiale n sintezastructurilor numerice complexeTez de doctoratDoctorand: Ms. Ing. Codrin PruteanuConductor tiinific: Prof. Dr. Ing. Dan Glea- 2006 -

2. CuprinsCapitolul 1 Introducere 1.1 Microelectronic ... 6 1.2 Taxonomia circuitelor ... 7 1.3 Metode de proiectare a circuitelor 7 1.4 Sinteza circuitelor . 8 1.5 Proiectarea asistat pe calculator a circuitelor 9Capitolul 2 Metode de proiectare a automatelor finite 2.1 Etapele proiectrii automatelor finite .. 11 2.2 Alocarea strilor prentru automatele finite . 12 2.2.1 Metode de abordare existente pentru alocarea starilor ......... 12 2.2.2 Probleme care apar la realizarea unui sistem de asignare a strilor . 13 2.3 Minimizarea numarului de stri ale automatelor finite ... 14 2.3.1 Necesitatea minimizrii strilor n sistemele de proiectare CAD 14 2.3.2 Abordri curente ale minimizrii strilor . 14 2.4 Alte abordri ale optimizrii automatelor finite .. 15 2.4.1 Asignarea concurent a starilor pentru reducerea suprafeei ... 15 2.4.2 Metode de descompunere i partiionare a automatelor finite . 16Capitolul 3 Introducere n teoria laticilor 3.1 Operaii algebrice 17 3.2 Latice ... 18 3.3 Semilatice 19 3.4 Latice ca seturi parial ordonate .. 19 3.5 Diagrame de latice ... 20 3.6 Sublatice .. 20 3.7 Limitele unei latici .. 21 3.8 Elementele prime i ireductibile ale unei latici ... 21 3.9 Latici complete. Sublatici complete 223.10 Spaii topologice. Seturi parial ordonate 223.11 Latici distributive 233.12 Latici modulare ... 243.13 Latici de echivalena ... 25Capitolul 4 Aplicaii ale teoriei automatelor 4.1 Specificaii iniiale despre automatele finite ... 26 4.2 Descompunerea automatului de ctre utilizator .. 26 4.3 Descrierea la nivel nalt ... 27 4.4 Captura grafic a schemei bloc la nivel nalt .. 27 4.5 Taxonomia automatelor finite . 28 4.6 Reprezentrile automatelor . 33 4.7 Homomorfismul automatelor .. 34 4.8 Echivalena automatelor .. 36 4.9 Automate Moore . 364.10 Reprezentarea automatelor incomplet specificate ... 374.11 Operaii cu automate ... 384.12 Operaii cu automate utiliznd metode implicite . 414.12.1 Gruparea n paralel utiliznd metode implicite 414.12.2 Gruparea n serie utiliznd metode implicite 414.12.3 Descompunerea n serie i paralel a automatelor finite ... 424.12.4 Descompunerea prin factorizare a automatelor finite .. 444.12.5 Optimizarea structurilor logice secveniale complexe cu pachetul fsmtool 45Capitolul 5 Metode de reprezentare a circuitelor complexe 5.1 Metode de reprezentare a mulimilor de obiecte . 46 5.2 Reprezentarea cubic poziional a mulimilor de obiecte . 47 5.3 Reprezentri implicite ale automatelor finite .. 48 5.4 Implementarea operatorilor implicii .. 51 2 3. 5.5 Tabela de calcul funcional . 52 5.6 Implementare cu diagrame de decizie binar ... 52 5.6.1 Ordinea variabilelor .. 53 5.6.2 Reducerea dimensiunilor ... 54 5.6.3 Pachete de programe ce implementeaz diagrame de decizie binar 54 5.6.4 Variante ale ROBDD 55 5.7 Metode de reprezentare utiliznd librria GMP .. 56Capitolul 6 Modaliti de sintez a circuitelor digitale complexe6.1 Minimizarea reelelor logice 576.1.1 Necesitatea programelor de minimizare logic . 576.1.2 Minimizarea circuitelor FPGA i a circuitelor bivalente .. 576.1.3 Minimizarea circuitelor logice multivalente . 586.2 Clasificarea procesului de sintez 606.3 Optimizarea circuitelor . 616.4 Reprezentarea funciilor logice 646.5 Sinteza funciilor logice ... 666.5.1 Optimizarea logic independent de tehnologie ... 666.5.2 Optimizarea logic dependent de tehnologie .. 726.6 Optimizarea logic secvenial 726.7 Minimizarea strilor . 746.7.1 Minimizarea strilor la automate finite complet specificate . 746.7.2 Minimizarea strilor la automate finite incomplet specificate .. 766.8 Codificarea strilor ... 786.8.1 Codificarea strilor pentru circuite bivalente 786.8.2 Codificarea strilor pentru circuite multivalente ... 806.9 Hazardul circuitelor .. 82Capitolul 7 Metode de estimare a efortului logic n proiectarea circuitelor7.1 Estimarea timpului de rspuns pentru o poart logic . 857.2 Reele logice cu mai multe stagii . 877.3 Alegerea lungimii unei ci ... 887.4 Optimizarea funciei de fanin a unui circuit logic 907.4 Optimizarea funciei de fanout a unui circuit logic . 93Capitolul 8 Metode de optimizare global n proiectarea circuitelor complexe8.1 Introducere ... 968.2 Formularea problemei .. 978.3 Implementarea spaiului de soluii ... 988.4 Rezultatele implementarii .. 1018.5 Concluzii i implementri viitoare . 105Capitolul 9 Strategii evolutive9.1 Noiuni introductive ... 1069.2 Paradigma evolutiv ... 1079.3 Comparaie intre SE, PE si AG .. 1099.3.1 Rezumat al caracteristicilor . 1109.4 Evoluia .. 1119.5 Codificarea i transmiterea informaiei. Cromozomi . 1119.6 Operatorii genetici .. 1129.7 Reprezentarea soluiilor . 1149.8 Blocuri de construcie i scheme 1159.9 Consideraii asupra operatorilor genetici ... 1169.10 Teorema schemei . 1179.11 Paralelismul implicit 1189.12 Metode de cutare a informaiilor 1189.13 Permutri .. 1219.13.1 Maparea unui set de ntregi n permutri .. 1219.13.2 Inversul unei permutri . 122 3 4. 9.13.3 Funcia de mapare . 122 9.13.4 Metode de permutare 123 9.13.4.1 Aplicarea metodei de crossover propus de Davis 123 9.13.4.2 Metoda de crossover mapat parial (PMX) 124 9.13.4.3 Metoda de crossover ordonat . 125 9.13.4.4 Metoda de crossover poziional . 125 9.13.4.5 Metoda de crossover uniform . 125 9.13.4.6 Metoda recombinrii muchiilor .. 126 9.13.4.7 Metoda conservativ maximal (MPX) . 127 9.14 Selecia . 127 9.14.1 Selecia parametrilor . 128 9.14.2 Intensitatea seleciei .. 128 9.15 Evaluarea funciei de fitness 129 9.16 Exemplu de implementare a unui algoritm evolutiv 130 9.17 Circuite hardware evolutive . 130 9.17.1 Abordarea orientat pe inginerie ... 132 9.17.2 Abordarea orientat pe embriologie .. 132Capitolul 10 Aplicaii ale algoritmilor evolutivi n proiectarea circuitelor digitale complexe10.1 Preliminarii 13310.2 Metode de reprezentare a soluiilor 13510.3 Seturi de funcii de test .. 13910.4 Reprezentri grafice ale funciilor de test . 14210.5 Abordri precedente .. 14310.6 Metode de implementare ... 14410.7 Concluzii i implementri ulterioare . 154Capitolul 11 Concluzii finale. Contribuii originale. Obiective de viitor11.1 Concluzii finale 15511.2 Contribuii originale 15811.3 Obiective de viitor 159Referine . 160Lista figurilorFigura1 Diagrame de latice . 20Figura2 Laticea unui subgrup . 24Figura3 Reprezentarea unui automat prin graf de tranziie 33Figura4 Gruparea a dou automate 38Figura5 Gruparea n cascad ... 39Figura6 Gruparea n serie 40Figura7 Gruparea n paralel . 40Figura8 Reprezentrile ROBDD ale funciilor caracteristice a 3 funcii .. 47Figura9 Reprezentarea implicit a automatului a.kiss2 .. 49Figura 10 Reprezentarea implicit multivalent a automatului a.kiss2 ... 50Figura 11 Nivele de abstractizare i aspectele corespunztoare ... 61Figura 12 Modele de circuite, sintez i optimizare ... 63Figura 13 Reeaua boolean . 66Figura 14 Reprezentarea prin STT a automatului ... 69Figura 15 Reprezentarea prin STG a automatului ... 69Figura 16 Implementarea fizic la nivel RTL a automatului . 71Figura 17 Diagrama bloc a implementrii unui automat finit ... 72Figura 18 Modele de circuite secveniale . 73Figura 19 Diagrama de stri. Tabelul de stri .. 74 4 5. Figura 20 Diagrama i tabelul de tranziie minimal .. 75Figura 21 Diagrama de stri. Diagrama de stri minimal 77Figura 22 Soluionarea hazardului static utiliznd diagrame Karnaugh ... 83Figura 23 Calculul efortului logic pentru un buffer 89Figura 24 Graful de fluen pentru automatul finit dk27.kiss2 . 90Figura 25 Graful de fluen pentru automatul finit dk27.kiss2 . 93Figura 26 Circuit secvenial. Maina prototip 98Figura 27 Topologia descompunerii generale 98Figura 28 Schema bloc la nivel Top a mainii prototip ... 100Figura 29 STG pentru maina prototip ... 100Figura 30 Schema la nivel RTL pentru maina descompus .. 100Figura 31 STG pentru prima masin ... 101Figura 32 STG pentru a doua masin .. 101Figura 33 Circuitul secvenial. Maina prototip. Topologia descompunerii generale . 135Figura 34-39 Reprezentarea grafic a funciilor de test ... 142Figura 40 Descrierea functional pentru AG conventional . 145Figura 41 Graful de fluen pentru automatul prototip 148Figura 42 Schema top pentru automatul prototip .. 148Figura 43 Schema top pentru automatul descompus 148Figura 44 Graful de fluen pentru aubautomatul 1 .. 148Figura 45 Graful de fluen pentru aubautomatul 2 .. 148 Lista tabelelorTabelul 1 Descrierea automatului . 34Tabelul 2 Funciile automatului A 35Tabelul 3 Funciile automatului B 35Tabelul 4 Descrierea automatului incomplet specificat 37Tabelul 5 Reprezentarea prin STT a automatului ... 70Tabelul 6 Reprezentarea strilor interne i a ieirilor 70Tabelul 7 Reprezentarea prin STT a valorilor strilor urmtoare 70Tabelul 8 Reprezentarea prin STT a valorii ieirilor . 71Tabelul 9 Efortul logic pentru intrri pori CMOS statice 86Tabelul 10 Estimarea ntrzierii parazitice pentru diferite tipuri de pori logice . 86Tabelul 11 Optimizarea funciei de fanin pentru automatele finite ... 92Tabelul 12 Optimizarea funciei de fanout pentru automatele finite . 95Tabelul 13 Raportul pentru exemplul shfitreg.verilog .. 102Tabelul 14 Raportul pentru exemplul shfitreg-top.verilog ... 102Tabelul 15 Rezultatele experimentale obinute pt setul de test n procesul de optimizare .. 104Tabelul 16 Tabelul muchiilor 126Tabelul 17 Funciile de test De Jong 140Tabelul 18 Partiionarea automat a subautomatelor de stri .. 146Tabelul 19 Raport pentru Spartan-XL .. 152Tabelul 20 Raport pentru Xilinx-XC4000XL . 152Tabelul 21 Raport pentru Virtex-II ... 153Tabelul 22 Raport pentru Altera Flex-10k .. 153AnexeAnexa A Exemple n format Verilog a circuitelor obinute .. 1665 6. Capitolul 1 Introducere 1.1 MicroelectronicDezvoltarea continu a industriei microelectronice a permis evoluia tehnologiilor deproiectare a sistemelor hardware i software pe parcursul ultimilor ani. Creterea continu anivelului de integrare a dispozitivelor electronice de la un singur strat la nivel multistrat acondus la producerea unor sisteme din ce n ce mai complexe. Dac n perioada de nceput aproiectrii circuitelor digitale densitatea de integrare era de ordinul miilor de tranzistoare(LSI), n prezent densitatea de integrare a ajuns la nivelul milioanelor de tranzistoare (VLSI),i se prognozeaz c n viitor s creasc exponenial la ordinul zecilor i sutelor de milioanede tranzistoare (ULSI).Legea lui Moore prezice c densitatea de integrare a circuitelor se dubleaz o dat la18 luni. Acest fapt conduce la creterea complexittii circuitelor integrate i scderea lajumtate a perioadelor de tact. Din acest motiv pot aprea dificulti n satisfacerea condiiilorde timing impuse n proiectarea circuitelor complexe.Proiectarea circuitelor digitale complexe necesit investiii mari de capital datoritprocesului de fabricare a dispozitivelor din ce n ce mai performante necesare pentru cretereadensitii de integrare. Cu toate acestea, tendina de cretere a densittii de integrare acircuitelor este pozitiv din punct de vedere economic deoarece conduce la reducereanumrului de componente din sistem, ceea ce presupune reducerea implicit a costurilor dempachetare i interconectare precum i o crestere a fiabilitii generale a sistemului i oscdere a efectelor parazitice din cadrul structurii interne a componentelor.n prezent exist un numr ridicat de sisteme electronice care necesit componenteintegrate dedicate care sunt specializate s execute o funcie sau un set specific de funcii.Aceste componente se numesc Application Specific Integrated Circuits , sau ASIC-uri, iocup o poriune ridicat pe piaa de componente electronice.Tehnologiile CAD au un rol foarte important n reducerea timpului de proiectare i deoptimizare a calitii circuitului. Odat cu creterea nivelului de integrare proiectarea unuicircuit fr erori devine o sarcina deosebit de dificil pentru o echipa de ingineri proiectani.Tehnologiile CAD sunt o codificare a fluxului de proiectare top-down a circuitelor complexedeoarece permit abordri fezabile n situaii specifice.Programele de sintez curente in cu greu pasul cu complexitatea n cretere acircuitelor moderne: procesoare dedicate, acceleratoare grafice, tehnologiile multi-strat imulti-core iar proiectarea circuitelor digitale devine din ce n ce mai dependent de numrulde operaii dintre sinteza logic i sinteza fizic, denumit i timing-closure, care este ozon de cercetare din cadrul companiilor EDA (Cadence, Synopsis, IBM, Cypress, TSMC,etc) precum i a centrelor de cercetare (AT&T, Bell Labs, INRIA) i a universittilor mari deprofil (MIT, Stanford, U.C. Berkeley, Eindhoven TU, etc).Descompunerea funcional[124] a fost utilizat cu succes n analiza i optimizareacircuitelor discrete binare i multivalente, precum i a sistemelor simbolice[68] n domeniultiinelor ingineresti moderne.[82] L. Jzwiak este unul din cei care au formulat teoria imetodologia descompunerii generale care nlocuiete un circuit complex cu o reea desubcircuite mai mici interconectate, care au acelai comportament i sunt echivalente dinpunct de vedere functional cu circuitul original, considerat prototip.[61]6 7. 1.2 Taxonomia circuitelorCircuitele microelectronice exploateaz proprietile materialelor semiconductoare.Cele mai utilizate familii de circuite pentru substraturile de silicon sunt ComplementaryMetal Oxide Semiconductor, sau CMOS, cu versiunea bipolar denumit BiCMOS, utilizatnc de la nceputurile proiectrii circuitelor digitale, precum i recenta apariie a noilorcircuite electronice bazate pe tehnologia Silicon-On-Insulator, sau SOI. Pentru circuitelebazate pe tehnologia CMOS perioada de ncrcare i descrcare a jonciunii substratului decapacitant este foarte mare ceea ce permite atingerea unor performane de funcionare pna lafrecvena de maxim 1 GHz. Pentru circuite implementate n tehnologie SOI, suprafaasubstratului de capacitant este eliminat astfel nct tranzistorul este capabil s funcionezemai rapid ntrucit procesul de ncarcare a fost eliminat. Se preconizeaz c n urmtorii anicircuitele se vor putea proiecta pna n frecvena de 5 Ghz pe baza tehnologiei SOI, careprezint un consum redus de curent, timp de raspuns mai bun i densitate mai mare deintegrare.O alta form de clasificare a circuitelor este n circuite digitale i analogice. n variantaanalogic informaiile sunt codificate dup valori cu parametri electrici continui, precumtensiune i curent. n circuitele digitale informaia este cuantificat. ntrucit majoritateacircuitelor sunt binare, cuantumul informaiei are o valoare de 0 sau 1, Fals sau Adevarat.Circuitele digitale sunt superioare celor analogice n multe situaii, de aceea n ultimaperioada sunt utilizate pe scar larg n domeniile de procesare a semnalelor itelecomunicaii, depindu-le ca grad de utilizare pe cele analogice.Dupa modul de operare circuitele digitale pot fi clasificate n circuite sincrone icircuite asincrone. Cele sincrone sunt caracterizate prin prezena unui semnal global deprocesare denumit clock, pe cnd cele asincrone nu necesit prezena unui semnal de ceasglobal. Pe parcursul evoluiei proiectarii circuitelor au propuse diferite metode de abordare.Pentru circuite cu densitate mare de integrare sunt mai avantajos de utilizat operaii sincronedeoarece sunt conceptual mai simple, prezint un nivel ridicat de cunoatere funcional iexist multe metode de verificare. Pe de alt parte avantajul utilizrii circuitelor asincrone estedispariia semnalului de ceas global, ceea ce permite pe de o parte obinerea unor performanemai ridicate de funcionare, dar pe de alt parte abordarea lor functional este mai dificil, iarcorectitudinea rspunsurilor obinute este mai greu de apreciat.1.3 Metode de proiectare a circuitelorViabilitatea proiectrii circuitelor depinde de anumii factori precum timpul deproiectare, pre i performan. Pentru proiectarea circuitelor sunt utilizate diverse metode deproiectare. Acestea sunt de obicei clasificate n proiectare de tip custom sau semicustom.n primul caz proiectarea funcional i fizic se realizeaz manual, necesitnd un efortsuplimentar de optimizare din partea unei echipe de proiectare, detaliat pentru fiecare poriunedin circuit. n acest caz, efortul de proiectare i costurile sunt mari si de obicei ele suntcompensate prin obinerea unor circuite de o calitate foarte bun. Proiectarea custom a fostutilizat n special n perioada de nceput a proiectrii circuitelor digitale, n prezentcomplexitatea crescut a circuitelor limitnd acest tip de proiectare doar la anumite poriunispecifice de proiecte i circuite, precum unitile de execuie i virgul mobil la uneleprocesoare. Proiectarea semicustom este bazat pe conceptul de restricionare a prilorprincipale ale unui circuit la un numr limitat i reducerea posibilitilor de abordare detaliat 7 8. a tuturor prilor circuitului. Reducerea numrului posibil de modaliti de implementareuureaz dezvoltarea de programe CAD de proiectare i optimizare, precum i reducereatimpului de proiectare per ansamblu.[59] Pierderea de performan este de obicei redus,deoarece abordarea detaliat poate fi extrem de dificil pentru proiecte mari, iar tehnologiilede optimizare automat pentru metoda semicustom poate explora o gam mai larg deimplementri dect i poate permite o echip de proiectani, de aceea n prezent numrul deproiecte semicustom l depete pe cel de tip custom, existnd microprocesoare de naltperforman proiectate n acest mod. [60]Proiectarea semicustom poate fi mprit n 2 clase principale: proiectare bazat pecelule, sau cell base design, i proiectare bazat pe arii programabile, sau array-baseddesign. Proiectarea bazat pe celule se bazeaz pe celule de librrie care pot fi proiectate odat i apoi utilizate, sau pe utilizarea generatoarelor de celule care sintetizeaz suprafee demacrocelule din specificaiile lor funcionale. n proiectarea bazat pe celule, dei procesul nueste complet simplificat, totui este optimizat datorit utilizrii blocurilor funcionale dejaproiectate.Proiectarea bazat pe celule include proiectarea cu celule standard. n acest cazcelulele fundamentale sunt stocate ntr-o librarie. Celulele sunt proiectate o singura dat, darsunt necesare update-uri pe masur ce progresul tehnologic n tehnologia semiconductorilorpermite geometrii mai reduse. Meninerea librariei este un proces dificil deoarece fiecarecelul necesit a fi parametrizat n termeni de suprafa i timp de rspuns la anumitetemperaturi i tensiuni de alimentare. Utilizatorul unei librarii de celule standard trebuie mainti s i adapteze proiectul la primitivele din librarie disponibile ntr-un pas denumitmapare tehnologic. Apoi celulele sunt plasate i rutate, toate aceste etape fiindautomatizate. O extensie este metoda celulelor standard ierarhice, unde celule mai mari pot fiderivate prin combinarea celor mai mici.Proiectarea bazat pe macrocelule const n combinarea blocurilor care pot fisintetizate de programe denumite generatoare de module. Primele generatoare au fostadresate sintezei automate a ariilor de memorii i suprafeelor logice programabile, sau PLA-uri. n prezent exist generatoare sofisticate care sunt capabile s sintetizeze o aranjare acircuitelor cu o densitate i performan egal sau superioar celor care pot fi realizate de unproiectant uman. Utilizatorul generatoarelor de macrocelule trebuie s prezinte doardescrierea funcional, dup care macrocelulele sunt plasate i rutate. 1.4 Sinteza circuitelorn crearea unui circuit integrat exist 4 etape principale: proiectare, fabricare, testarei mpachetare. Sinteza const n rafinarea modelului circuitului, dintr-un model abstract nunul detaliat, care prezint toate detaliile necesare procesului de fabricare. Sinteza circuituluieste cel de al doilea proces creativ. Primul se desfasoar n mintea proiectantului atunci cndconceptualizeaza circuitul i schieaz primul model. Scopul principal al sintezei circuiteloreste de a genera un model detaliat al circuitului, cum ar fi o aranjare geometric, care sa poatfi folosit pentru fabricarea circuitului integrat. Optimizarea circuitului este de multe oricombinat cu sinteza. Rolul optimizrii este de a imbunti calitatea general a circuitului.Un prim aspect ar fi performana circuitului. Performana ine att de timpul de procesare alunei informaii, precum i de cantitatea de informaie care poate fi procesat ntr-o perioadde timp dat. Un alt aspect ar fi aria circuitului, un circuit mai mic nsemnind o densistate maimare de integrare pe wafer, deci implicit un cost de producere mai sczut i un numar mai mic8 9. de rebuturi. Tehnologiile de sintez mbuntesc calitatea circuitului, reducnd att perioadade proiectare ct i efortul uman.Dup taxonomia etapelor de sintez avem: Sinteza la nivel arhitectural:- const n generarea unei vederi structurale a unui model la nivel arhitectural. Aceastacorespunde determinrii unei asignri a funciilor circuitului ctre operatori, denumiiresurse, precum i interconectarea dintre ei i timpul lor de execuie. Acest tip de sintezse mai numete i sintez de nivel nalt deoarece determin structura la nivel de blocuria circuitului. Poate specifica modelul unei uniti de control. Sinteza la nivel logic:- const n generarea unei vederi structurale a unui model la nivel logic. Acest tip desintez manipuleaz specificaiile logice n scopul crerii de modele logice ca ointerconectare a primitivelor logice, genernd structura la nivel de poart a circuitului.Procesul de transformare a unui model logic ntr-o interconectare de instane de celulede librrii este de obicei denumit mapare tehnologic. Poate specifica modelul unuiautomat finit determinist descris la nivel schematic sau n format de limbaj HDL. Sinteza la nivel geometric:- const n crearea unei vederi fizice la nivel geometric. Acest tip de sintez permitespecificarea tuturor direciilor geometrice definind suprafaa fizic a circuitului integrat,precum i poziionarea acestuia, de aceea mai este denumit i sinteza la nivel fizic.Poate specifica modelul unei hari de memorie.1.5 Proiectarea asistat de calculator a circuitelorUn proces de proiectare al unui circuit integrat pornete cu descrierea funcional acircuitului ntr-un limbaj de descriere hardware de nivel nalt precum Verilog sau VHDL i unset de specificaii. Scopul procesului de proiectare este de a minimiza funcia de cost tinndcont de constrngeri legate de ntrziere, arie, puterea disipat, etc. Descrierea funcional estemai nti trasmis unui program de sintez logic pentru a genera un circuit logic optimizatcare ndeplinete constrngerile conform unui model de cost. Circuitul logic este apoi plasat irutat ntr-un plan bidimensional de un program de plasare i altul de rutare care minimizeazfuncia de cost ndeplinind n acelai timp constrngerile n funcie de modelul lor de cost. Cutoate c un proiect profesional poate fi realizat manual fr a utiliza programele CADdedicate, n prezent nici un proiect nu mai poate fi realizat fr ajutorul lor. n ultimii ani, s-auputut remarca 2 tendine care cuprind metodologia de proiectare i programele CAD prezente.Prima tendin este presiunea din ce n ce mai mare a considerentelor de timp de proiectare.Aceasta a impus o presiune enorm asupra proiectantilor de a apela din ce n ce mai mult laprogramele de proiectare CAD. n plus, odat cu descresterea dimensiunilor tehnologice,devin din ce n ce mai importante unele efecte secundare precum ntrzierea crescut atraseelor dintre circuite datorit unei creteri a rezistenei srmelor. A doua tendin estecreterea dimensiunilor de integrare ntr-un singur chip, n special odat cu explozia cererilorde chip-uri de reea care s suporte infrastructura Internet. Creterea integrarii nseamn deasemenea c proiectanii trebuie s apeleze din ce n ce mai mult la programele CAD, pentru aputea manipula proiecte de complexitate mereu n cretere. Cu toate c aceasta nseamn cva fi o nevoie crescut pentru instrumente CAD, de asemenea va nsemna c unelepresupuneri i abstractizri care au fost deja fcute, vor trebui revzute.[39] De asemenea 9 10. trebuie studiat i numrul n cretere de operaii dintre sinteza logic i cea fizic, ceea ce ntermeni de specialitate se numeste "timing closure".Tehnologiile actuale utilizate pentru proiectarea circuitelor digitale includ, printrealtele, arii de porti logice , celule de tehnologie standard, circuite executate la comand,precum i dispozitive logice programabile PLD, arii de pori logice programabile FPGA icircuite dedicate specifice unor anumite tipuri de aplicaii ASIC. Pe pia sunt disponibile omultitudine de pachete software de automatizare a proiectrii pentru aceste tehnologiiprovenite de la diversele companii de profil. Ele permit funcii precum : captura schemei bloc,minimizare logic, asezarea geometrica a celulelor, plasarea i rutarea lor, verificarearegulilor de proiectare, simulare, i altele. Programele de acest tip au fost mai nti dezvoltatede ctre marile companii de proiectare hardware precum i de universitati i au aparut apoi pepiaa sub form de produse comerciale utilizate pentru proiectarea asistat pe calculatorCAD.[45][46]n timp ce proiectarea la nivel sistem s-a realizat iniial ncepnd de la nivel dedescriere sub forma de netlist a circuitelor i a ecuaiilor logice ale funciilor booleene, nformat text sau sub forma de captur de schema a circuitului bloc, noua generaie de programeutilizate pentru proiectarea hardware pornete de la descrieri de nivel inalt i genereaz datelede ieire n acest format sau doar in formate intermediare. Descrierile de nivel inaltdisponibile de la firmele de profil precum INTEL sau IBM includ limbaje la nivel de transferntre regitri, automate finite, expresii booleene i limbaje structurate de descriere hardwareprecum Verilog/VHDL. n universiti precum Stanford, Carnegie-Mellon, UCLA, TechnicalUniversity-Darmstadt, Oxford University, se experimenteaz diverse versiuni de limbaje,expresii regulate, Retele Petri, automate nedeterministe i paralele, ecuatii recursive, precumi limbaje de uz general C/C++, Lisp, Prolog sau Ada, utilizate pentru automatizarea la nivelnalt a proiectrii. [84]Sunt nc incerte direciile de viitor pe care le va urma acest domeniu n privinalimbajelor de nivel nalt i a metodelor de proiectare folosite. Unele direcii sunt oricum dejavizibile din prezentrile care au loc n fiecare an la simpozioanele de profil precum DesignAutomation Conference (DAC), International Conference on Computer Aided Design( ICCAD), sau Design Automation and Test in Europe (DATE), precum i din prezentrilenoilor apariii software i din declaraiile companiilor despre planurile lor de viitor. Acesteainclud: integrarea programelor de proiectare, analiz i verificare n sisteme complete, oferindproiectantului opiunea de a selecta diverse moduri de proiectare, furniznd acestuiainstrumentele pentru a-i putea construi propriul su mediu de proiectare CAD; interfee usorde utilizat bazate pe ferestre i grafice; incorporarea minimizrii funciilor booleene i aimplementrii tehnologice pentru diverse metode de proiectare , nu doar FPGA; utilizareadescrierilor de automate finite pentru proiectarea celulelor executate la comand. 10 11. Capitolul 2 Metode de proiectare a automatelor finite2.1 Etapele proiectrii automatelor finiteAtunci cnd automatul este deja disponibil sub o form tabelar de 4 tuple, respectiv 3tuple n cazul mainilor Moore, se pot face dou tipuri de abordri ale sistemului, una simpl,rapid i una ampl, complex.n prima variant se preia descrierea automatului ntr-un limbaj de descriere hardwaresimplificat i se genereaz ecuaiile logice la ieire. Simbolurile strilor sunt nlocuite cucodurile strilor iar tabela de fluen este rescris n format de tabel de adevr pentrubistabilele de tip D. Atribuirea de coduri strilor se face conform specificaiilor lor, care estede fapt aleatoare, sau utilizatorul poate s-si declare propriile sale coduri. n sistemele maiavansate, sunt executate o serie de operaii de optimizare i analiz asupra tabelei de fluenpentru conversia n tabela de adevr. Operaiile de optimizare includ urmtoarele operaii: minimizarea numrului de stri interne descompunerea strilor pentru o alocare optimal a acestora minimizarea numrului de stri de intrare i de ieire alocarea strilor interne alocarea strilor de intrare, ieire conversia din maina Mealy n maina Moore sau viceversaAnaliza include o simulare i o analiz de testabilitate a mainii, precum i o analiz ahazardului n funciile de ieire. n unele sisteme tabela strilor este imbuntit prinadugarea de linii i coloane n plus, n vederea creterii testabilitii acestora. Dei au fostdezvoltate teoretic mai multe tipuri de analiz a automatelor finite, puine dintre ele au fostimplementate n mediul universitar i n practic. n final, tabela de fluen analizat ioptimizat este convertit n tabela de adevar. Aceasta poate fi creat pentru diverse tipuri debistabile i are intrrile primare i ieirile bistabilelor ca intrri, iar ieirile primare i intrrilen bistabile ca ieiri. n majoritatea sistemelor mai recente sunt considerate doar bistabile detip D, dar exist sisteme n care utilizatorul are de ales ntre mai multe tipuri de bistabilerealizate ntr-un ir. Alegerea unui bistabil potrivit poate micora esential aria implementriilogice pentru unele automate, cum ar fi numrtoarele. n alte sisteme fiecare bistabil poate fidiferit fa de celelalte pentru a minimiza i mai mult suprafaa pe siliciu a implementriilogice i a circuitelor bistabile. n literatura de specialitate au fost publicate articole despre noitipuri de bistabile pentru implementri VLSI, care teoretic vor putea reduce i mai multsuprafaa implementrii funciilor logice, mrind uor suprafaa ocupat de bistabile. n etapaurmtoare, tabela de adevar este minimizat i realizat ca o reea logic. n majoritateasistemelor curente este obinut o implementare logic bi-nivel, dar n sistemele realizate mairecent exist o ampl abordare a proiectrii multi-nivel pentru diferite familii tehnologice.Cercetarea n acest domeniu va avea o influen esenial n optimizarea automatelelor finite.Existena unor programe de optimizare rapid multi-nivel a circuitelor va avea acelai efect pecare l-au avut programele bi-nivel atunci cnd au aprut n minimizarea PLA-urilor. [100]11 12. 2.2 Alocarea strilor pentru automatele finite 2.2.1 Metode de abordare existente pentru alocarea strilor Una dintre probleleme alocrii strilor este cea a atribuirii de coduri strilor interne aleautomatului cu scopul de a minimiza unele funcii de cost legate de realizarea circuitului (cumar fi o arie FPGA sau un numr de pori logice). Majoritatea lucrrilor de cercetare abordeazdoar problema asignrii strilor interne, presupunnd c utilizatorul specific codurile pentrustrile de intrare i de ieire. Exist alte abordri care se bazeaz pe principii similare careatribuie numere binare strilor de intrare i de ieire, care sunt specificate iniial dup nume.Aceasta are o implicaie direct n minimizarea unitilor de control microprogramate sau nproiectarea unitilor de control cu FPGA-uri. Problema este clasic n Teoria ComutriiCircuitelor, dar pin de recent au existat puine instrumente software. Bazele abordriiproblemei asignrii strilor i a teoriei automatelelor au fost formulate la nceputul anilor 60.Au existat i unele implementri software la unele din metode, dar rezultatele au fostnesatisfctoare. n schimb, recent, problema atribuirii strilor devine abordabil datoritnumeroaselor ncercri de a realiza compilatore pentru implementarea pe siliciu la nivel logica ariilor de circuite VLSI. Exist mai multe tipuri de abordri de principiu a problemei asignrii strilor:Teoria partiionrii dezvoltat de catre Hartmanis, Stearns, KohaviTeoria se bazeaza pe conceptul de a partiiona strile automatului n blocuri. Partiiile segsesc n tabele de fluen i sunt folosite pentru a gsi seturi de partiii care produc codriunice optimale. Aceast teorie este foarte elegant din punct de vedere matematic, i d optrundere n natura proprietilor structurale ale mainii, i de asemenea este foarte general:poate fi folosit la descompunerea automatelelor, minimizarea strilor, implementri curegitri de shiftare, etc. Rezultatele publicate ale programelor care utilizeaz aceast teorie,precum i implementrile practice demonstreaz c acest tip de abordare devine dificil deaplicat pentru maini cu mai mult de 10 stri, 10 intrri i 10 ieiri.Abordarea evalurii pe coloan, dezvoltat de ctre Dolotta i Mc CluskeyColoanele tabelei de fluen primesc un punctaj n funcie de diverse criterii legate de calitateaasignrii strilor. Scorurile sunt folosite pentru a gsi partiiile potrivite i apoi atribuirea.Aceast abordare poate produce rezultate foarte bune, pentru toate tipurile de bistabile;rezultatele sunt chiar mai bune dect cele din primul tip de abordare, dar metoda este deasemenea dificil de aplicat pentru maini cu mai mult de 12 stri. Evaluarea enumerativ StorySunt evaluate toate partiiile posibile drept candidai posibili pentru asignare, calculndcomplexitile realizrilor funciilor booleene corespunztoare, i presupunnd ca toatecelelalte partiii au fost selectate optimal pentru ele. Este selectat pentru atribuire subsetulpartiiilor cu cele mai bune scoruri. Aceast abordare produce rezultate mai bune dect a 2-aabordare, dar este totui lent.Abordarea Branch and Bound dezvoltat de Perkovski, Lee i ZasovskaAre 2 variante. Prima permite realizarea de maini cu 8 intrri, 8 stri interne i 8 ieiri iproduce rezultate optime pentru diverse tehnologii i bistabile. n aceast variant trebuiescevaluate aproape toate partiiile posibile. Acesta este softul care furnizeaz cele mai optimesoluii din cele publicate, dar are neajunsul c este foarte lent. Metoda de aproximare care sebazeaz pe aceast metod nu evalueaz toate partiiile, doar selecteaz euristic cele mai bune12 13. partiii si permite realizarea de maini cu 12 stari, care pot fi extinse pna la 18-20 de stri.Amndou variantele realizeaz asignarea strilor combinat cu minimizarea lor.Abordrile asingnrii quadruple dezvoltate de Armstrong, De Micheli i PerkovskiToate aceste abordri se bazeaz pe transformarea unor grafuri create din tabela de fluen aautomatului n grafuri de tip hipercub. Aceast abordare permite realizarea de maini cu 100de stri, dar soluiile sunt departe de cele optime obinute n varianta 6. Au existat unelembuntiri teoretice, dar nu au fost aplicate. De Micheli a implementat 2 algoritmi pentruasignare, la Berkeley University. n primul dintre ele, bazat pe metoda asignrii quadruple,asignarea strilor este redus la problema mbuntirii grafului.[28] Cel de al doilea sebazeaz pe alte principii, i nu a obinut rezultate satisfacatoare. Rezultatele obinute, undecrearea grafului i a algoritmului mbunatatit se bazau pe principii noi, par s fiesatisfctoare: au fost asignate maini cu 136 de stri. Dar nu sunt disponibile comparaiidetaliate cu alte tipuri de abordri. [29] Algoritmul MorozEste un algoritm constructiv mbuntit foarte rapid i eficient care a fost folosit pe larg nproiectarea automatizat a sistemelor din ntreprinderile din estul Europei. Autorul aimplementat acest algoritm i a observat c poate gsi asignri pentru maini cu peste 100 destri, dar calitatea soluiilor pentru automatele mici este departe de optim. Acesta este probabilcel mai rapid algoritm disponibil. Viteza rezult din faptul c nu rezolv asignrile quadrupleci doar dezvolt problema mbuntirii grafului care este creat direct din graful de fluen.Abordarea De Michelli, Brayton i Sangivanni-VincenteliAbordarea se bazeaz pe minimizarea funciilor booleene multi-valoare cu scopul de a gsigrupuri de stri i asignri constructive mbuntind apoi aceste grupuri prin exprimarea lorn funciile de feele hipercubului. Strategia este foarte inovativ i rezultatele obinute suntfoarte bune. Este probabil din acest punct de vedere cel mai bun produs disponibil prezent dinpunctul de vedere al raportului timp/calitate. A fost aplicat la masini cu pina la 100 de stri,dar cel mai mare rezultat publicat a fost pentru 27 de stri.[28] Grupurile de stri sunt gsitecu ajutorul minimizrii funciilor booleene multi-valoare cu programul Espresso, aplicatautomatului nainte de asignarea strilor. Aceast metod de gsire a grupurilor de stri saublocuri, combinat cu minimizarea boolean rapid a fost sursa de succes a programului.Programul KISS, mpreun cu formatul de descriere a automatului .kiss, respectiv versiunea sambuntit .kiss2, este n prezent folosit pe larg n universiti i de multe companii careproduc softuri comerciale. Un program care extinde aceast abordare a fost produs de firmaIntel. 2.2.2 Probleme care apar la realizarea unui sistem de asignare a strilorn general se dorete un program care s permit o abordare rapid, eficient, i s fieaplicabil n proiectarea VLSI n ct mai multe situaii posibile, ceea ce este practic imposibil.Utilizatorul trebuie s implementeze una din metodele prezentate, specific pentru clasa lui deautomate i necesiti de vitez i performan, sau s implementeze mai muli algoritmi i si aplice interactiv pentru fiecare situaie particular n parte.Este necesar o analiz detaliat a metodelor de reducere, precum i evaluareacomplexitii algoritmilor optimali pentru problemele matematice, cum ar fi imbuntireahipercubului, mbuntirea feelor i a asignrii quadruple. De aceea pare a fi de viitorproblema utilizrii de calculatoare i arhitecturi paralele precum i acceleratoare hardwarededicate n acest scop. 13 14. 2.3. Minimizarea numrului de stri ale automatelor finite 2.3.1 Necesitatea minimizrii strilor n sistemele de proiectare CADMinimizarea numrului de stri ale automatelelor finite const n unificarea grupurilorde stri compatibile ale unei maini ntr-o singur stare n noua maina , cu scopul de a obineo reprezentare echivalent cu un numar redus, i posibil minimal, de stri. Se presupune c unautomat cu mai puine stri permite o modelare superioar. Strile care prezint aceeaicomportare la aceleai intrri se numesc stri compatibile. Problema se complic atunci cnd,n cazul general, grupuri de stri compatibile nu sunt disjuncte iar compatibilitatea unorgrupuri poate duce la incompatibilitatea altor grupui de stri. Dei exist un anumit numr delucrri publicate n acest domeniu, se pare c nu exist nici un sistem n industria americancare s implementeze aceast abordare. Contrar acestei situaii, n industria european existnumeroase sisteme de acest tip n aplicaiile industriale. n Statele Unite manageriiresponsabili nu au prevzut necesitatea unor astfel de sisteme. Unul din motive ar fi din cauzafaptului c proiectarea de nivel nalt, arhitectural, este de cele mai multe ori separat deminimizarea logic iar proiectarea la nivel de aezare geometric a tranzistoarelor esterealizat de grupuri separate de ingineri. Atunci cnd cei care se ocup de minimizarea logicprimesc specificaiile circuitului de la cei care se ocup cu proiectarea arhitecturii sistemului,ei nu mai observ att de multe posibiliti de mbuntire, cum ar fi cele care rezult dinintroducerea strilor de indiferen care ajut la minimizarea automatului. Mainile sunt dedimensiuni mici, deoarece descompunerea iniial este realizat intuitiv de ctre proiectantularhitecturii. Un alt motiv important ar fi cel legat de faptul c niciodat nu a existat o pia demari dimensiuni pentru sisteme de control industriale realizate ca automate finite, deoareceele au fost lsate n urm de aparitia microcontrolerelor i a microprocesoarelor. n Europa deest, aceste tipuri de circuite secveniale, care de obicei sunt de mari dimensiuni, au fostrealizate ca automate finite cu PLA-uri, deci a existat o necesitate de software pentruminimizarea strilor i asignarea lor. Necesitatea pentru minimizarea strilor este maievident n prezent cnd noile instrumente de nivel nalt pentru descrierile automatelelor finiteprecum Expresii Regulate, Retele Petri, scheme de programe paralele, i altele, suntincorporate n sistemele CAD iar conversiile n tabele de fluen vor fi executate automat.[54]De exemplu, minimizarea unui automat complet definit face parte din procedurile de:conversie a expresiilor regulate n tabele de fluen, conversie n automat paralel, automatnedeterminist sau Retea Petri a tabelei de fluen, verificarea echivalenei a 2 automate imulte altele. O multitudine de noi algoritmi produc tabele de fluen care sunt incomplete, aumulte stri de indiferen, i de aceea pot fi minimizate substantial. 2.3.2 Abordri curente ale minimizarii strilorProgramele de minimizare a strilor pot fi imprite n 2 categorii: cele pentruautomate complet definite i cele pentru automate incomplet definite. Prima problem esterelativ uoar. Relaia de compatibilitate a strilor automatului n aceast situaie este una deechivalen i prin urmare au fost dezvoltai algoritmi eficieni de ordinul O(n*log(n)).Problema minimizrii automatelor incomplet definite este mult mai dificil, iar soluia la unizomorfism nu este unic precum n cazul automatelelor complet specificate. Exist relativpuin documentaie n acest domeniu, iar toate publicaiile abordeaz ncercarea de a gsispaiul minim de soluii i s utilizeze o variant a algoritmului de nchidere/acoperire pentru14 15. grupuri de stri compatibile. Ideea este de a selecta un astfel de subset de stri compatibile,care este complet i nchis, ceea ce nseamn c toate numerele strilor iniiale sunt incluse nunele grupuri, i c fiecare grup implicat de un grup selectat este de asemenea selectat. Auexistat versiuni mbuntite ale algoritmilor clasici, dar nu au fost implementate software.Este necesar un efort substantal pentru scrierea de software dedicat i mult cercetare la bazaproiectrii algoritmilor pentru minimizarea strilor pentru automate cu sute de stri, intrri iieiri, care apar n circuitele curente, precum module de unitti de control i microprocesoare.2.4 Alte abordri ale optimizrii automatelor finiteDeoarece abordarea clasic de proiectare a automatelor finite implic rezolvarea unorprobleme dificile precum minimizarea strilor i asignarea lor, sau poate produce rezultatemodeste, au existat multe ncercri de a implementa metode de proiectare diferite. Elencearc minimizarea suprafeei sau a numrului de circuite i include urmatoarele metode: proiectarea de automate finite de uz general bazate pe regitri de shiftare sau alte mainielementare n loc de bistabile proiectarea de bistabile speciale cu intrri multiplexate proiectarea de arii regulate de maini configurabile elementare descompunerea automatelelor n structuri de automate conversia tipului de masina, Moore n Mealy, i viceversa, pentru a selecta una cuperformante mai bune minimizarea concurent a strilor i asignarea lor structuri speciale de automate, precum diverse tipuri de unitti de controlmicroprogramate cu multe mutiplexoare i memorii ROM, sau realizri partiionate alelogicii de control conversia direct a descrierii de nivel nalt cum ar fi cea a automatelor paralele nsimboluri sau asezare geometricaAceste tipuri de abordri sunt utilizate selectiv pentru diferitele tipuri de automate.Unele dintre ele pot fi utilizate pentru toate automatele, unele doar pentru cele de maridimensiuni, altele doar pentru cele de mici dimensiuni. [112] 2.4.1 Asignarea concurent a strilor pentru reducerea suprafeeiAbordarile curente ale sintezei structurale a automatelelor nu sunt minimale. Metodelecurente sunt de a minimiza iniial numrul strilor interne ale automatului i apoi de a realizao asignare a strilor. Scopul acestor metode este n general de a micora suprafaasemiconductorilor pentru implementarea pe o anumit tehnologie selectat. Metodele aplicaproximari de cost foarte abstracte pentru a obine acest lucru. Este mult mai indicat s seminimizeze unele funcii de cost generalizate dependente de tehnologia dorit. Minimizareanumrului de stri interne rezult din urmtoarea presupunere : "cu ct sunt mai multe striinterne, cu att este mai complicat realizarea, deoarece sunt necesare mai multe elemente dememorie, exist mai multe funcii de excitaie, i prin urmare realizarea este mai complicat".Exemplele practice demonstreaz faptul c tabela de fluen cu numrul minim de striinterne nu este neaprat punctul de start pentu a obine realizarea circuitului de o complexitate15 16. minimal per ansamblu, calculat ca o sum a numrului de bistabile i a numrului de poricombinaionale. Multe dintre tehnologiile curente nu necesit pentru nceput minimizareanumrului de elemente de memorie, aa cum este presupus n metodele clasice. Exemplelepractice demonstreaz faptul c nu trebuie s cautm un automat cu un numar minim de striinterne sau cu funciile de excitaie care s depind de numrul minim de variabile. Pot figsite usor exemple de automate care au realizri minimale, dei au un numr de bistabile maimare dect miniminul, i asta din cauz c ele prezint funcii de excitaie mai simple. Deasemenea, ncercarea de a gsi o realizare a setului de funcii de excitaie cu numrul minimalde variabile argument este de cele mai multe ori nefolositor, deoarece astfel de realizri potavea mai multe pori sau conexiuni dect alte realizri ale acestor funcii. Mai mult, acestepresupuneri nu in cont de realizarea funciilor de excitaie pentru implementri cu bistabile,altele dect cele de tip D. Una dintre soluiile de abordare a acestei situaii ar fi nlocuireacelor 2 etape de minimizare a numrului de stri interne i de atribuire a strilor, cu o singuretap de minimizare n acelai timp cu asignarea strilor. n acest caz, funcia de cost, nraport cu funciile de excitaie alese ntr-o anumit technologie este optimal.[108] 2.4.2 Metode de descompunere i partiionare a automatelelor finiteAlt grup de metode se refer la descompunerea unui automat ntr-un grup desubautomate. Aici exist o multitudine de abordri. Metodele clasice bazate pe teoriapartiionrii, caut n general anumite partiii care permit descrierea automatului ca ocompunere n paralel sau cascad a altor automate. Aceste proceduri pot fi realizate recursiv.Din pcate, aceste tipuri de descompuneri sunt foarte laborioas de gsit, iar situaiile deaplicaie practic apar foarte rar n automatele industriale. Unele variante utile ale teorieiclasice discut despre descompunerea unor blocuri importante cum ar fi registrele de shiftarei numrtoarele.Noile metode de descompunere ncearc folosirea metodelor de partiionare agrafurilor [23], pentru partiionarea grafului de fluen. Aceste metode sunt utilizate nsistemele practice ca o necesitate, dar comportamentul lor pare nesatisfctor. Un alt grup demetode presupun o anumit structur de realizare a automatului, de exemplu o unitatemicroprogramat, n care unele ieiri din automat sunt legate de intrarea de adres a unuimultiplexor i controleaz selecia semnalelor de intrare ale acestui automat, ieireamultiplexorului fiind una din intrrile automatului. Sunt realizate PLA-uri separate pentrucodificarea semnalelor de intrare i de ieire.[120] PLA-ul principal care realizeaz funcia deexcitaie i cea de ieire este partiionat n mai multe PLA-uri. Aceste abordri combinate, potproduce diverse structuri descompuse cu costuri de implementare foarte diferite. Altabordare posibil este de a crea metode, care sunt aplicabile n particular pentru unele varianteselectate de realizare a automatului.16 17. Capitolul 3Introducere n teoria laticilorDescompunerea automatelor finite presupune gsirea unor partiii pe mulimea strilorautomatului care satisfac condiia de ortogonalitate. Acest lucru poate fi realizat tinnd seamade diferitele proprieti pe care le are aceast mulime. n acest capitol se vor studiaproprietile algebrice legate de existena partiiilor avnd proprietatea de substituie.Mulimea acestor partiii are o structur de latice a crei cunoatere teoretic este util, attpentru realizarea descompunerilor n serie i paralel dar i pentru cazul descompuneriigeneralizate care le cuprinde i le inglobeaz, i constituie suportul teoretic fundamental careva sta la baza tuturor operaiilor realizate pe seturi finite de pe parcursul acestei lucrri.[35] 3.1 Operaii algebricen aceast seciune vom ncepe cu descrierea setului de teorii prezentate n acestcapitol. Faptul c un element x este inclus ntr-un set M, i un element y nu este inclus n M,va fi notat cu xM respectiv yM. Dac pe un set P este definit o relaie de ordine, , atunci se va numi set parial ordonat n funcie de . Dac cel puin una din relaiile xy() iyx() este valabil pentru orice pereche de elemente (x,y) P, atunci P se va numi lan sauset complet ordonat n funcie de . [101]Fie c0 un element oarecare dintr-un set parial ordonat P. Putem forma un sub-lan din P nfelul urmtor: fie c0 cel mai {mare, mic} element din sub-lant; altfel, fie ck(k1) un elementdin P astfel nct una din relaiile {ckck-1}este adevrat. Dac fiecare din lanurileastfel formate, ncepnd cu orice c0 este finit, atunci P satisface condiia de minim(maxim).[3]Teorem: Dac un set P parial ordonat satisface condiia de minim (respectiv de maxim),atunci pentru orice x P, exist cel puin un element minim(respectiv maxim) m P, astfelnct x m (x m). [35]Definiie: O mapare de o singur valoare : x1 , ... , xn (x1 , ... , xn) (1) dintr-un set nevidA, este denumit o operaie de variabil n, definit n A. Este posibil definirea unui numrnelimitat de operaii ntr-un set A. Dac A este infinit, atunci chiar i o infinitate de operaiidistincte pot fi definite n A iar numrul de variabile poate fi diferit la fiecare operaie.Definiie: Dou algebre A = A({}) i B = B({g}) sunt algebre similare dac exist omapare unu la unu din setul aparinnd setului astfel nct pentru fiecare , operaiile i g() au acelai numr de variabile. n mod evident, similaritatea algebrelor este o relaiede echivalen. O mapare de o singur valoare este un homomorfism al lui A n B dacmapeaz pe A n B, i dac pentru orice index () i oricare sistem de elemente x1 , ... ,xn() A avem ( (x1 , ... , xn())) = ( (x1), ... (xn())). (2) 17 18. Definiie: Dac o mapare de aceast natur este nu numai de o singur valoare dar i unu launu, atunci este denumit izomorfism. n cazul special n care B = A avem de a face cu unendomorfism n locul unui homomorfism i cu un automorfism n locul unui izomorfism.Dac algebra A are un homomorfism n algebra similar B, atunci B este denumit imagineaizomorfic a lui A dup homomorfismul . 3.2 LaticeUn set L este denumit latice dac sunt definite n L dou operaii binare, reuniune iintersecie, care atribuie fiecrei perechi de elemente (a,b) L, n mod unic un element a b(intersecia lui a cu b) precum i un element a b (reuniunea lui a cu b) astfel nct suntndeplinite urmtoarele axiome de latici L1 - L6:L1 Pentru orice elemente a,b,c L, avem (a b) c = a (b c)L2 Pentru orice elemente a,b,c L, avem (a b) c = a (b c)L3 Pentru orice elemente a,b L, avem a b = b aL4 Pentru orice elemente a,b L, avem a b = b aL5 Pentru orice elemente a,b L, avem a (a b) = aL6 Pentru orice elemente a,b L, avem a (a b) = aCu alte cuvinte, ntr-o latice ambele operaii sunt comutative i asociative; mai mult, ele auproprietile exprimate de L5 i respectiv L6, care sunt referite ca identitate de absorbie aoperaiilor de intersecie i reuniune. O consecint imediat a identitilor de absorbie este:Teorem: Fiecare latice are urmtoarele proprieti: (Dedekind)L7 Operaiunea de intersecie este idempotent, a a = a, pentru a L.L8 Operaiunea de reuniune este idempotent, a a = a, pentru a L.Corolar: Pentru oricare 2 elemente a,b aparinnd unei latici, atunci ab = ab dac i numaidac a = b.Teorem: Fiecare latice are urmtoarea proprietate:L9 Pentru orice elemente a,b L, a b = b dac i numai dac b a = a (Bergmann).L9 Pentru orice elemente a,b L, a b = b implic b a = aL9 Pentru orice elemente a,b L, b a = a implic a b = b n aceast form, L9 i L9 nu sunt duale, ntruct ele difer nu doar prin simbolurileoperaionale i , dar sunt interschimbate de asemenea i literele a i b. ntrucit a i b sunt18 19. elemente arbitrare din L, este permis a se interschimba valoarea lui a cu cea a lui b. Astfelobinem afirmaia:L9*. Pentru o pereche de elemente dat (a,b) L, a b = b implic b a = a. 3.3 SemilaticePentru fiecare algebr de 2 operaii exist o ntrebare important i interesant despre cealgebr va rezulta dac una din operaii ar fi eliminat. n cazul unei latice L, fie L i L ,care denot aceste algebre unare, cu aceleai elemente ca cele din L, dar numai operaiunea deintersecie din L este considerat n L i numai operaiunea de reuniune din L respectiv nL.Considernd L1 , L3 , L7 , precum i L2 , L4 , L8 , operaia definit pe ambele structuri L i Leste asociativ, comutativ i idempotent.n general, un set H este denumit o semilatice dac este definit n el o operaie care atribuiefiecrei perechi de elemente a,b un element ab, astfel nct sunt satisfcute urmtoareleaxiome de semilatice:H1: Operaia este asociativ, ceea ce rezult c (ab)c = a(bc) pentru orice triplet deelemente a, b, cH.H2: Operaia este comutativ, ceea ce rezult c ab = ba pentru orice pereche de elementedin H.H3: Operaia este idempotent, ceea ce rezult c aa = a pentru orice element a H.n consecin, dac L este latice, atunci ambele L i L sunt semilatice. Prima este denumitlaticea-intersecie, iar a doua laticea-reuniune, din L. ntre aceste dou semilatice se stabileteo conexiune foarte strins prin L5 , L6 i L9 . 3.4 Latice ca seturi parial ordonaten orice latice poate fi definit n mod natural o relaie de ordine, cu ajutorul operaiilor culatici.Teorem: ntr-o latice L, avem prescrierile: 1. ab a b = a (a,b L) , definete o relaie de ordine. 2. ab a b = b (a,b L) , echivalent cu (1)Prin comutativitatea operaiilor cu latici i datorit proprietii L9 , prescrierea (2) esteechivalent cu (1), prin urmare, n cazul n care prescrierea (2) mai convenabil, se poatefolosi n locul lui (1).19 20. Teorem: n funcie de relaia de ordine (1), fiecare subset finit {a1 , ... , an} al unei latici Lare un infimum i supremum, denumite: nn(3) infL {a1 , ... , an} = I j =1 aj, supL {a1 , ... , an} = Uj =1 aj 3.5 Diagrame de laticeOrice latice finit, fiind un set finit parial ordonat, poate fi reprezentat printr-o diagramdenumit diagram de latice. Diferite seturi finite parial ordonate pot fi reprezentate deaceeai diagram dac i numai dac sunt izomorfe. Prin urmare, orice latice finit estedeterminat n mod unic prin diagrama sa pna la izomorfism. Laticile finite sunt n modnormal dat descrise prin intermediul diagramelor lor. Lucrul cu o diagram este la fel desimplu ca i lucrul cu tabelele, cu avantajul c diagrama permite n plus definirea ambeloroperaii n acelai timp. De la diagrama unei latice, intersecia i reuniunea a 2 elemente, a ib, poate fi gasit prin faptul c ab = inf {a,b} i ab = sup {a,b}. Prin urmare, dac ab,avem ab = a, ab = b; dac ab, atunci avem ab = b, ab = a. n fine, dac ab, atunciab este acel element situat cel mai sus (dintre a i b) din care este posibil de a trasasegmente linie care conecteaz cercuri ale diagramei ctre a i b. Spre exemplu, diagrama dinFig. 1 reprezint o latice n care operaiile sunt definite dup cum urmeaz: pentru fiecareelement x al laticei, avem: 0x =0 , 0x = x , ix = x , ix =i, iar tabelele i diagramelearat astfel: i a bcd ea b c d ec a a oaa oaa d c d i eb o bob bbd b i d edc a oca occ i c i iabd a bad bdd d i d ie o bob eei e i i eoFigura 1. Diagrame de latice 3.6 Sublatice innd cont de definiia unei subalgebre a unei algebre, putem defini un subset nevidR L astfel nct:(1) a, b R a b , a b R.este o sublatice a laticii L. n mod evident, axiomele L1 L6 sunt satisfacute de ctre oricetriplet a, b, c R. Dup cum este de asteptat, fiecare sublatice a laticii L formeaz o latice nraport cu operaiile definite n L. De asemenea L este o sublatice a ei. Sublaticile laticii L,altele dect L nsi, sunt denumite sublatice proprii ale lui L. Sublaticile proprii care constaudin mai mult de un element sunt denumite sublatice netriviale.Definiie: Un subset I al unei latice L este denumit un ideal al lui L dac I satisfaceurmtoarele dou condiii:20 21. I1: a,b I a b I;I2: pentru x L, a I a b I.Prin aceast definiie, fiecare ideal al unei latice L este o sublatice a laticii L.3.7 Limitele unei latici Dac o latice L are un element {o, i} astfel nct orice element xL satisfaceinegalitatea { o x , i x} , atunci {o, i} este denumit cel mai {mic, mare} element din L.Aceste elemente se mai numesc de altfel i elementele limit ale lui L. Prin definiia ordonriilaticilor, cel mai mic element o i cel mai mare element i al unei latice L satisface identitile:(1) ox=o , o x = x (x L)(2) ix=i , i x = x (x L) Altfel spus, cel mai {mic, mare} element {o, i} al laticii L este elementul {zero,unitate} al laticii intersecie L i elementul {unitate, zero} al laticii reuniune L.Teorem: Fiecare latice are cel mult un element minim i unul maxim; aceste elemente sunt nacelai timp elementul cel mai mic respectiv cel mai mare al laticii.Corolar: O latice care satisface condiia de {minim, maxim} are un element {minim, maxim}.n mod particular fiecare latice de lungime finit este marginit.3.8 Elementele prime i ireductibile ale unei laticiFiecare element a al unei latice poate fi reprezentat sub forma a = x y. (Spreexemplu x = a si y a). Totusi o descompunere de acest fel a lui a nu aduce nici o informaien plus, este de interes doar reprezentarea de forma a = x y cu x,y > a. Un element aL estereductibil la intersecie dac exist n L elementele a1 i a2 astfel nct avem:(1) a = a1 a2 (a1 , a2 > a)Dac a nu poate fi descompus n forma (1) atunci se poate spune c este ireductibil prinintersecie. n mod dual, a L este reductibil respectiv ireductibil la reuniune dac poate fireprezentat n forma:(2) a = a1 a2 (a1 , a2 < a)n mod evident, cel mai mic element i fiecare atom al unei latice marginite este ireductibil lareuniune, n timp ce cel mai mare element i fiecare atom dual a unei latice marginite esteireductibil la intersecie.Teorem: ntr-o latice care satisface condiia de maxim, fiecare din elementele sale poate fireprezentat ca o intersecie a unui numar finit de elemente ireductibile la intersecie.Teorem: ntr-o latice complementar fiecare element prim {intersecie, reuniune} cuexcepia celui {minim, maxim} este un {atom, atom dual} al laticii.21 22. 3.9 Latici complete. Sublatici completeDefiniie: Dac pentru orice subset nevid R aparinnd unei latice L exist {intersecia R ,reuniunea R}, atunci L este latice complet n raport cu { , }. Dac L este complet nraport cu ambele operaii, atunci laticea este complet. Conceptul de latice complet a fostintrodus ntr-o form diferit de ctre Birkhoff [3]. Aparent, din definiie, fiecare latice finiteste complet.Dac L este o latice complet atunci, n particular, trebuie s existe ambele afirmaii: L =infL L i L = supL L. Dar prin definiia minimului L x pentru orice element xL ; atunciL este cel mai mic element din L. n mod similar, L este cel mai mare element din L. Prinurmare, fiecare latice complet este marginit. Mai mult, tot prin definiie, dualul unei laticicomplete este de asemei o latice complet. n consecin dualul fiecarei propoziii desprelatici complete este de asemenea adevrat. Aceast fapt poate fi exprimat ca un principiu aldualittii laticilor complete.Definiie: Un subset R aparinnd unei latici complete L va fi denumit sublatice complet la{intersecie, reuniune} din L, dac exist {infRH , supLH} pentru orice subset H din R carecoincide cu {infLH , supLH}.Este evident c orice interval al unei latici complete este o sublatice complet. ntr-adevr,dac H [a,b] L i L este o latice complet, atunci a este limita inferioar respectiv b estecea superioar a lui H. Prin urmare, prin definiia la infimum i supremum obinem relaia: a infLH supLH b. Cu alte cuvinte ambele infLH i supLH aparin lui [a,b] i n consecininfLH este cea mai de jos margine inferioar iar supLH este de asemenea ultima marginesuperioar a lui H [a,b]. 3.10 Spaii topologice. Seturi parial ordonateUn spaiu topologic poate fi descris prin definirea tuturor seturilor nchise din spaiulrespectiv. De asemenea o operaiune de nchidere poate fi definit ca o operaiune de stabilirea seturilor nchise de subseturi de spaii care au fost nchise n raport cu operaiunea denchidere. Una din topologiile naturale ale seturilor parial ordonate este topologia intern ncare elementele sub-bazei sunt doar aceste subseturi. ntruct fiecare subset de un singurelement al setului parial ordonat este un interval, prin introducerea unei topologii interval peun set parial ordonat, este obinut un spaiu T1. Dac dorim s introducem o topologie pe unset T, trebuie considerat un subset {S} al laticii subset (T) i format cea mai micsublatice (T) care include fiecare S, la fel ca i un O i T. este sublaticea complet laintersecie, generat de { S} {O,T} n (T). Elementele lui vor fi considerate ca cele maimici subseturi ale lui T. Elementele lui astfel definite pot fi exprimate prin intermediul luiS.Definiie: Un set parial ordonat P este denumit un set direct {sus , jos} dac fiecare subsetde dou elemente din P are cel puin o limit {joas , nalt} n P.Un set parial ordonatorientat n ambele direcii n acelai timp, se numete set orientat.22 23. 3.11 Latici distributiveClasa laticilor descrise anterior cuprinde o categorie care satisface urmtoarele condiiin plus la axiomele precedente ale laticilor.L10 Pentru orice triplet de elemente (a , b, c) ale unei latice, a (b c) = (a b) (a c);L11 Pentru orice triplet de elemente (a , b, c) ale unei latice, a (b c) = (a b) (a c);O latice pentru care sunt valabile L10 i L11 este denumit latice distributiv. L10 estedenumit identitate distributiv la intersecie iar L11 identitate distributiv la reuniune. Laticile distributive complementare sunt denumite Algebre Booleene, dup numeleautorului care le-a elaborat. [4] Inegalitile a (b c) (a b) (a c) i a (b c) (a b) (a c)sunt valabile pentru orice triplet de elemente (a , b, c) ale unei latice, similar cu identitiledistributive. Prima este denumit inegalitate distributiv la intersecie iar cea de a 2-a estedenumit inegalitate distributiv la reuniune. Prin aceste dou inegaliti, pentru ademonstra distributivitatea unei latice este suficient a se demonstra c pentru orice triplet(a , b, c) al unei latice avem: (1) a (b c) (a b) (a c) (2) a (b c) (a b) (a c)Teorem: Atunci cnd o latice satisface L10, ea satisface de asemenea i L11 i viceversa.(Schrder, p.286).Corolar 1: O latice n care sunt satisfacute L10 i L11 este distributiv.Corolar 2: O latice n care una din inegalitile (1) i (2) este satisfacut fr restricii estedistributiv.Demonstraie: Dac L10 este valabil pentru o latice, atunci pentru orice triplet a,b,caparinnd laticii avem: (a b) (a c) = ((a b) a) ((a b) c) = = a ((a c) (b c)) = = (a (a c)) (b c) = = a (b c) prin urmare L11 este valabil. Datorit considerentelor duale, L10 poate fi dedus dinL11. Teorema este astfel demonstrat ; corolarele sunt triviale.Teorem: Dualul, fiecare sublatice i fiecare imagine homomorfic a unei latice distributiveeste de asemenea o latice distributiv. 23 24. 3.12 Latici modulareSe poate demonstra prin simple calcule c n orice latice ecuaia n L10 este adevaratpentru orice triplet de elemente (a , b, c) ale laticii care satisface relatia a c. Exist deasemenea latici nedistributive importante n care orice triplet de elemente a, b, c (a c)satisface de asemenea ecuaia L11. ntruct n cazul n care a c partea dreapt a ecuaiei dinL11 se reduce la a (b c) , aceste latici pot fi caracterizate ca satisfcnd urmtoareacondiie:L12 Pentru orice triplet de elemente (a , b, c) ale laticii care satisface relaia a c, semenine identitatea a (b c) = (a b) c. Identitatea descris n L12 este denumit identitate modular, iar laticile care auproprietatea L12 sunt denumite latici modulare. Deci este evident c orice latice distribuiteste modular. Este util de remarcat c pentru orice triplet de elemente a, b, c (a c) al oricrei latici,exist inegalitatea modular a (b c) (a b) c. Atunci dac pentru orice tripleta, b, c (a c) al oricrei latici, exist i inegalitatea revers, atunci laticea este modular.Teorem: O latice L este modular dac i numai dac fiecare triplet (a , b, c) L satisfaceecuaia: (1) a (b (a c)) = (a b) (a c). (Jordan). Laticea tuturor subgrupurilor unei latici necomutative n general nu este modular.Spre exemplu, laticea subgrup a unui grup alternant de gradul patru 4 (Fig.2), n cazul n carepermutrile sunt scrise ca produse de cicluri, este dup cum urmeaz: a = {(1) , (123) , (132)}, 4 b = {(1) , (124) , (142)}, c = {(1) , (12) , (34)}, d = {(1) , (13) , (24)}, e = {(1) , (14) , (23)}, a b c d e f g f = {(1) , (134) , (143)}, g = {(1) , (234) , (243)}, h = {(1) , (12) (34) , (13) (24) , (14) (23)}, o = {(1)}. oFigura 2. Laticea unui Subgrupn acest caz avem c h , dar niciodat c (a h) = c o = c i (c a) h = 4 h = h. Relaia dintre structura unui grup i laticea subgrupului su a fost studiat de numeroimatematicieni. n mod evident dac doua grupuri sunt izomorfe, atunci laticile subgrupurilorlor sunt de asemenea izomorfe. Pe de alt parte, grupuri care au laticile subgrupurilorizomorfe, nu sunt n mod necesar izomorfe. Oricum, pot aprea cazuri particulare de clase degrupuri, cum ar fi cele care pot fi descompuse n produse libere (Sadovski), care sunt grupuriizomorfe unic determinate de ctre laticile subgrupurilor lor.24 25. 3.13 Latici de echivalenFie o latice M i (M) setul de relaii de echivalen care pot fi definite n setul M. Sepoate defini o partiie a setului M, o descompunere a lui M n subseturi disjuncte mutual, acrui reprezentare este de forma: M=UM (M M = O , daca ) Subseturile M sunt denumite clase ale partitiei considerate. n continuare setultuturor partiiilor va fi notat cu (M). Este de asemenea tiut faptul c pornind de la oricerelaie de echivalen M, se poate forma o partiie c()M dup cum urmeaz: elementelex i y M trebuie s aparin aceleiasi clase din c(), dac i numai dac x y(). n modcontrar, fiecare partiie a dintr-un set M d nastere la o echivalen (a)M. Pentru uneleelemente x i y M, fie x y((a)), valabil daca i numai dac x i y sunt n aceeai clas dina. Mai mult, avnd format partiia c(), scoas din relaia de echivalen dup cum a fostdescris mai sus, i relaia de echivalent ( c()) = din c() dupa cum tocmai a fost definit,se ajunge napoi la . Acesta poate fi exprimat simbolic prin ( c()) = . n mod similar,avem c((a)) = a. Prin urmare, corespondena: (1) c()( (M); c()(M))este o mapare unu la unu a lui (M) n (M). n consecin, se poate spune c c() este opartiie aparinnd relaiei de echivalen . n mod evident, orice relaie de echivalen ipartiia aparinnd ei se determin mutual una pe cealalt. Clasele lui c() sunt denumite nmod frecvent clase ale relaiei de echivalen , sau, pe scurt, clase-.Determinarea relaiilor de echivalen ale unui set finit M dat este cel mai rapidndeplinit cu ajutorul partiiilor corespunztoare. Partiiile unui set finit M de acest tip pot fidescrise prin subsumarea elementelor lui M care aparin unei clase subunitare i aceleiaiperechi de paranteze. n aceast notaie, toate pariile setului de patru elemente M = {1,2,3,4}pot fi enumerate dup cum urmeaz: (1) (2) (3) (4);(1,2) (3) (4); (1,3) (2) (4); (1,4) (2) (3);(1) (2,3) (4); (1) (2,4) (3); (1) (2) (3,4);(1,2) (3,4); (1,3) (2,4); (1,4) (2,3);(1,2,3) (4); (1,2,4) (3); (1,3,4) (2);(1) (2,3,4); (1,2,3,4). Dup cum se poate observa, setul (M) este finit dac i numai dac M este finit. 25 26. Capitolul 4Aplicaii ale teoriei automatelor4.1 Specificaii iniiale despre automatele finite Automatele finite, FSM-urile, sunt reprezentate prin grafuri sau tabele de fluen.Uneori tabelele sunt specificate ca seturi de tranziii: (stare prezent, stare de intrare, stareurmtoare, stare de ieire), unde starea prezent i starea urmtoare sunt stri interne aleautomatului, iar strile de intrare respectiv ieire sunt valori ale combinaiilor semnalelor deintrare i de ieire. Strile interne sunt reprezentate prin numere sau cifre; n cazul mainilorcu stri codificate, ele sunt iruri de 0 i 1. Numrul de elemente din ir corespunde numruluide bistabile din automat. Tabelele de fluen sunt foarte utile pentru multe tipuri de automate.Cu toate acestea ele au dou dezavantaje: nu pot fi utilizate pentru automate complexe i suntgreu de modificat, adugarea unor noi semnale de intrare necesitnd rescrierea ntreguluitabel. Un alt tip de reprezentare este cea folosind diagramele temporale. Ele reprezintlegtura dintre intrri i iesiri prin figurarea acestora de-a lungul axei timpului. Acestereprezentri nu sunt att de utile n cazul n care numrul posibil de secvene de intrare estefoarte mare sau dac se dorete descrierea n ntregime a comportamentului unui sistemsecvenial. Aceste descrieri sunt utile atunci cnd este dat doar o descriere parial, n cazul ncare se dorete scoaterea n eviden a anumitor restricii temporale ce apar n funcionareasistemului. Reprezentrile interne trebuie s fie mai putin sugestive din punct de vedere alutilizatorului, n schimb trebuie s fie compacte i usor de manipulat de ctre diveriialgoritmi. n acest scop sistemele numerice secveniale sunt reprezentate n mod implicit sauexplicit. n mod explicit pentru un automat finit se reprezint n memorie urmtoarele: tabela de fluen sub forma unei matrici de stri de intrri i ieiri graful de fluen sub forma informatiilor referitoare la noduri i arcele constituente mulimea tranzitiilor sub forma unor cvadruple de tip (intrare, stare prezent, urmtoare, i ieire) Prin metoda implicit, aceste sisteme sunt reprezentate prin intermediul funciilorcaracteristice corespunztoare funciilor de tranziie i de ieire sau prin intermediul funcieicaracteristice a relaiei de tranziie-ieire. Acestea prezint avantajul c pot fi reprezentate imanipulate n mod eficient cu ajutorul diagramelor de decizie binar. n proiectarea sistemelor sunt utilizate urmtoarele tipuri de abordri: 4.2 Descompunerea automatului de ctre utilizatorAceast situaie este n principal cauzat de incapacitatea sistemelor i a tehnologieifolosite de a putea manipula automate de dimesiuni mari. n acest caz utilizatorul esteresponsabil de a specifica automatul nu doar ca o singur entitate, ci ca o colecie de automatemai mici care comunic reciproc, fiecare dintre ele avnd un numr redus de stri interne,intrri i ieiri. Dei exist puina documentaie despre cum se descompun automatele,cercetarea care se face n acest domeniu de ctre firmele de profil i universiti poate oferi carezultat versiuni de programe mbuntite, pornind de la teoria clasic de descompunere aautomatelor bazat pe partiionarea acestora, teorie dezvoltat pentru prima dat de ctreHarrison i Hartmani/Stearns, dar folosind metoda partiionrii grafurilor care se aplicgrafurilor de fluen ale automatelor. 26 27. 4.3 Descrierea la nivel naltEste n prezent folosit cel mai mult n majoritatea sistemelor academice i n unelesisteme ale marilor companii. Limbajele de descriere a comportrii la nivel de registrureprezint mediul cel mai folosit acum, conversia din acest format n tabele de fluen fiindcunoscut. Proiectarea la acest nivel faciliteaz integrarea sistemelor CAD n acest cadru cuinstrumente precum: simulatoare la nivel de registru, care simuleaz comportamentulcircuitului; programe de optimizare a grafului de fluen, care optimizeaz viteza i costul ciicritice precum i prti ale unittii de control a circuitelor; programe de alocare a cii datelor,care ajut la gsirea structurilor/planurilor optimale pentru alocarea datelor, precum i alteutilitare de proiectare a prilor unitii de control precum i a fluxului de date. Exist nprezent i un interes pentru alte forme de descriere la nivel nalt, cum ar fi Expresiile Regulatei Retele Petri. Expresiile Regulate sunt expresii care descriu o clas de de limbaje regulate.Ele compun expresii de forma E1 i E2 cu ajutorul operaiilor sumare de expresii: E1 sau E2,concatenare: E1 plus E2, i iteratie: E1 repetat de un numr arbitrar de ori. Sistemele deproiectare a automatelor pornind de la expresii regulate au fost concepute n unele universitiprintre care: Stanford, Carnegie-Mellon i Columbia Universiy. Sistemul Stanford utilizeazun limbaj special, care este o combinaie de stri main i expresii regulate. Prima versiuneutiliza anumite reguli pentru a mapa geometric diferite expresii; urmtoarea versiune,mbuntit , utilizeaz o abordare mai clasica n care din expresie este mai nti extrasautomatul finit care este apoi codificat i realizat cu ajutorul funciilor booleene. Un alt tip deaplicaie este convertirea unui vector de limbaje regulate ntr-un automat Mealy sau Moore,cu un program scris ntr-un limbaj de inteligen artificial precum Prolog. 4.4 Captura grafic a schemei bloc la nivel nalt Descrierea automatului prin intermediul unei interfee grafice pare a fi o soluiepromitoare pentru sistemele viitoare i poate fi folosit n conjuncie cu toate celelaltemetode specificate anterior. Sunt utilizate sistemele cu ferestre i meniuri pentru capturagrafic a schemei logice sau bloc i diagrame de sistem n timp real pentru proiectareasoftware, cum ar fi cel de la firma Intel n care se folosete captura schematic pentru a captagrafurile de fluen ale automatelor. De asemenea, o metod similar poate fi aplicat ipentru captura diagramelor de fluen, Retele Petri, Expresii Regulate, precum i automatenedeterministe. Interfeele grafice realizate pentru aceste tipuri de date trebuie s prezintetoate compatibilitile standard, precum: mrire, liste de meniuri, ferestre separate pentrugrafice i text care pot fi selectate de la un nivel nalt de descriere prin imagini i butoane. Eletrebuiesc s permit introducerea datelor orientate obiect organizate ierarhic. Exist multdocumentaie i algoritmi despre conversia descrierilor de nivel nalt a automatelor n tabelede fluen, sau n descrieri la nivel sczut precum reele de blocuri logice. Unele metode deconversie direct a grafurilor de fluen, Expresii Rregulate sau Retele Petri, chiar i pn lanivel de descriere geometric a schematicului au fost deja create. Unelele dintre conversiisunt probleme NP-complete, pentru care nu este cunoscut un algoritm secvenial deterministcu timp de execuie polinomial, ceea ce le face greu de aplicat pentru automate complexe, prinurmare descompunerea este din nou o necesitate. De asemenea este necesar mai multactivitate de cercetare, care s foloseasc mai mult metodele algoritmice i euristicedescoperite de recent n domeniile de CAD pentru VLSI precum i Inteligena Artificial iProgramarea Algoritmic. Apariia unor procesoare mai performante produse de ctre firmelede profil precum Intel Itanium sau noul Clawhammer de la AMD, va imbunti considerabilperformanele ntruct majoritatea algoritmilor de conversie sunt uor de modificat n vedereaobinerii paralelismului n execuie. 27 28. 4.5 Taxonomia automatelor finiteFuncia caracteristic este utilizat n domeniul automatelor finite pentru a reprezentaseturi i relaii. n continuare se vor defini cteva clase utile de automate finite precum iposibilitile de interconectare dintre acestea.[55][62][119]Definiie: Pentru un set finit de simboluri S (un alfabel finit), se definete un limbaj ca un setde iruri de simboluri din S.Definiie: Pentru un subset SU, unde U este un domeniu finit, fie XS funcia caracteristic alui S. Funcia XS : U B este definit astfel:0, daca x S ,pentru fiecare element xU, avem X S = 1, daca x S .Definiie: Pentru o relaie RXxY, unde X i Y sunt nite domenii finite, fie XR funciacaracteristic a lui R. Funcia XR : X x Y B este definit astfel:0, daca x si y nu sunt in relatia R, Pentru fiecare pereche (x,y) X x Y, avem X R ( x, y ) = 1, daca x si y sunt in relatia R. Definiia poate fi extins pentru orice relaie n-ar.Definiie: Un automat finit nedeterminist este definit ca o 5-tupl M = (S, I, O, T, R), unde:- mulimea S reprezint spaiul finit de stare,- mulimea I reprezint spaiul finit de intrare,- mulimea O reprezint spaiul finit de ieire,- mulimea R reprezint starea de reset,- mulimea T reprezint relaia de tranziie definit ca o funcie caracteristic T : I x S x S x OB. Pentru o mrime de intrare i, automatul finit nedeterminist aflat n starea prezent p, poate tranzita ntr-o nou stare n i un output o, dac i numai dac T(i,p,n,o) = 1 (adic (i,p,n,o) este o tranziie). Exist una sau mai multe tranziii pentru fiecare combinaie de stri prezente p i intrri i.Un automat finit poate fi specificat printr-un tablel de tranziie, care este o list tabelar detranziii n T. Un automat finit definete o structur de tranziii care poate fi de asemeneadescris printr-un graf de tranziii (fluen). Automatul tranziteaz dintr-o stare p cu intrarea intr-o stare n cu ieirea o, printr-un arc etichetat cu p n i/oDefiniie: Pentru un automat finit M = (S, I, O, T, R), graful strilor de tranziie al lui M esteun graf orientat, notat cu G(M) = (V,E), unde fiecare stare sS corespunde unui nod n Vetichetat cu s, i fiecare tranziie (i,n,p,o) T corespunde unui arc orientat n E de la nodul p lanodul n, iar arcul este etichetat de ctre perechea de intrare/ieire i/o.Definiie: O relaie T de tranziie de stare este complet dac: i,p n,o [T(i,p,n,o)] = 1.- este folosit pentru a nota o cuantificare universal- este folosit pentru a nota o cuantificare existential Ecuaia definit este o abreviere la urmtoarea expresie: iI pS, nS oO astfel incit T(i,p,n,o) = 1. 28 29. Reprezentarea lui T permite abordarea unor tranziii nedeterministe n funcie de strileurmtoare i ieiri, i de asemenea permite corelarea ntre strile urmtoare i ieiri. Formemai specializate de automate finite pot fi obinute din rescricionarea formei tranziiilorpermise n T.[64]Definiie: Un automat finit pseudo nedeterminist este definit ca o 6-tupl M = (S, I, O, , L,R), unde: -mulimea S reprezint spaiul finit de stare, -mulimea I reprezint spaiul finit de intrare, -mulimea O reprezint spaiul finit de ieire, -funcia reprezint funcia strilor urmtoare, definit ca : I x S x O S,unde fiecare combinaie de intrri, stri prezente i ieiri este mapat ctre ostare urmtoare unic, -mulimea L reprezint relaia de ieire definit ca o funcie caracteristic L : I xS x O B, unde fiecare combinaie de intrri i stri prezente este legat deuna sau mai multe ieiri, -mulimea R S reprezint starea de reset. Cu alte cuvinte, pentru un automat finit pseudo nedeterminist T(i,p,n,o) = 1 dac i numai dac L(i,s,o) = 1 i n = (i,s,o). ntruct starea urmtoare n este unic pentru o combinaie dat de intrare, stare prezent i ieire, aceasta poate fi dat de o funcie de stare urmtoare n = (i,p,o). Ieirea este reprezentat de relaia L, ntruct mrimea de ieire este n general nedeterministic.Definiie: Un automat finit pseudo nedeterminist de pas k este definit ca o 6-tupla M = (S, I,O, , L, R), unde:- mulimea S reprezint spaiul finit de stare,- mulimea I reprezint spaiul finit de intrare,- mulimea O reprezint spaiul finit de ieire,- mulimea R S reprezint starea de reset,- funcia strilor urmtoare este definit ca : I x ... x S x O x ... x O S, undefiecare combinaie a strii prezente, k intrri i k iesiri produc o stare urmtoareunic,- mulimea L reprezint relaia de ieire definit ca o funcie caracteristic L : I xS x O B, unde fiecare combinaie de intrri i stri prezente este legat deuna sau mai multe ieiri.Definiie: Un automat finit nedeterminist de tip Mealy este definit ca o 6-tupl M = (S, I, O,D, L, R), unde:- mulimea S reprezint spaiul finit de stare,- mulimea I reprezint spaiul finit de intrare,- mulimea O reprezint spaiul finit de ieire,- mulimea R S reprezint starea de reset,- mulimea D reprezint relaia strilor urmtoare, definit ca o funciecaracteristic D : I x S x S B, unde fiecare combinaie dintre intrri i stareacurent este legat de un set nevid de stri urmtoare,- mulimea L reprezint relaia de ieire definit ca o funcie caracteristic L : I xS x O B, unde fiecare combinaie dintre intrri i starea prezent este legatde un set nevid de ieiri. 29 30. n un automat finit de tip Mealy, strile urmtoare i ieirile nu sunt corelate n relaiade tranziie a strilor.n un automat finit nedeterministic de tip Moore exist o relaie a strilor urmtoare deforma D : I x S x S B i o relaie de ieire de forma L : S x O B astfel nct pentru toate(i,n,p,o) I x S x S x O, T(i,n,p,o) = 1 dac i numai dac D(i,p,n) = 1 i L(p,o) = 1.Definiie: Un automat finit nedeterminist de tip Moore este definit ca o 6-tupl M = (S, I, O,D, L, R), unde:- mulimea S reprezint spaiul finit de stare,- mulimea I reprezint spaiul finit de intrare,- mulimea O reprezint spaiul finit de ieire,- mulimea R S reprezint starea de reset,- mulimea D reprezint relaia strilor urmtoare, definit ca o funciecaracteristic D : I x S x S B, unde fiecare combinaie dintre intrri i stareacurent este legat de un set nevid de stri urmtoare,- mulimea L reprezint relaia de ieire definit ca o funcie caracteristic L : S xO B, unde fiecare stare prezent este legat de un set nevid de ieiri.Observatii: Automatele de tip Moore sunt un caz special al mainilor Mealy, n care funciade ieire depinde doar de starea prezent, i nu de intrri. Automatele de tip Mealy pot ficonvertite n automate echivalente de tip Moore. Cu toate acestea exist situaii de automatede tip Mealy care nu au automate echivalente de tip Moore.[58] Un exemplu n acest sens arputea fi un automat de tip Mealy cu o stare i cu intrarea conectat direct la ieire.Un automat finit nedeterminist este un automat finit incomplet specificat dac pentrufiecare pereche (i,p) I x S astfel nct T(i,p,n,o) = 1, automatul poate tranzita ntr-o stareurmtoare n unic sau n orice stare urmtoare, i automatul poate produce o ieire unic o sauorice ieire.Definiie: Un automat finit incomplet specificat este definit ca o 6-tupl M = (S, I, O, D, L,R), unde:- mulimea S reprezint spaiul finit de stare,- mulimea I reprezint spaiul finit de intrare,- mulimea O reprezint spaiul finit de ieire,- mulimea R S reprezint starea de reset,- mulimea D reprezint relaia strilor urmtoare, definit ca o funcie caracteristic D : I x S x S B, unde fiecare combinaie dintre intrri i starea curent este legat de o singur stare urmtoare sau toate strile,- mulimea L reprezint relaia de ieire definit ca o funcie caracteristic L : I x S x O B, unde fiecare combinaie dintre intrri i starea prezent este legat de o singur ieire sau de toate ieirile.Un automat finit determinist, sau complet specificat, este un automat finitnedeterminist unde pentru fiecare pereche (i,p) I x S exist o stare urmtoare n unic i oieire o unic astfel nct T(i,p,n,o) = 1, adic spunem c exist o tranziie unic de la (i,p). nplus, mulimea R conine o stare de reset unic.Definiie: Un automat finit determinist sau complet specificat este definit ca o 6-tupl M =(S, I, O, , , r), unde: 30 31. - mulimea S reprezint spaiul finit de stare, - mulimea I reprezint spaiul finit de intrare, - mulimea O reprezint spaiul finit de iesire, - mulimea r S reprezint starea de reset, unic, - mulimea reprezint funcia strilor urmtoare definite ca : I x S S, unden S este starea urmtoare a strii prezente p S pentru intrarea i I dac i numai dac n =(i,p), - mulimea reprezint funcia de ieire i este definit ca : I x S O, unde o O este ieirea strii prezente p S pentru intrarea i I dac i numai dac o= (i,p).Observaie: n cazul unui automat finit incomplet specificat precum i n cazul unui automatfinit determinist, fiecare dintre ele prezint ieirile strii urmtoare necorelate deoarece stareaurmtoare i informaia de ieire se pot reprezenta separat. n cazul unui automat finit pseudodeterminist, starea urmtoare i ieirea sunt corelate ntruct starea urmtoare este corelat cuieirea prin n = (i,p,o). Un automat Moore este un automat finit nedeterminist Moore n care pentru fiecarepereche (i,p) I x S exist o stare urmtoare unic n i pentru fiecare p S exist o ieireunic o astfel nct T(i,p,n,o) = 1. n plus, mulimea R conine o stare de reset unic.Definiie: Un automat finit determinist de tip Moore este definit ca o 6-tupl M = (S, I, O, ,, r), unde: - mulimea S reprezint spaiul finit de stare, - mulimea I reprezint spaiul finit de intrare, - mulimea O reprezint spaiul finit de ieire, - mulimea r S reprezint starea de reset, - mulimea reprezint funcia strilor urmtoare definite ca : I x S S, unden S este starea urmtoare a strii prezente p S pentru intrarea i I dac i numai dac n =(i,p), - mulimea reprezint funcia de ieire i este definit ca : S O, unde o O este ieirea strii prezente p S dac i numai dac o = (p).Definiie: Pentru un automat finit nedeterminist, o stare s este determinist la ieire dacpentru orice intrare i, exist o ieire unic o astfel nct starea s are la ieire o pentru intrarea i.Un automat finit nedeterminist este determinist la ieire dac fiecare stare accesibil estedeterminist la ieire.Definitie: Un automat finit nedeterminist este fals nedeterminist dac pentru fiecare secvende intrare, exist o secven de ieire unic. Dac un automat finit nedeterminist este falsnedeterminist, atunci toate strile sale accesibile sunt deterministe la ieire.Definiie: Un automat finit determinist sau simplu, automat finit, este definit ca o 5-tupl A =(S, s, , r, F), unde:- mulimea S reprezint spaiul finit de stare,- mulimea s reprezint un alfabet finit,- mulimea r S reprezint starea de reset,- mulimea F S reprezint setul strilor finale, 31 32. - mulimea reprezint funcia strilor urmtoare definite ca : S x S S, unden S este starea urmtoare a strii prezente p S pentru simbolul i S dac i numai dac n= (i,p), Spunem c un ir x este acceptat de ctre un automat finit A dac (x,r) este o stare dinF. Limbajul acceptat de ctre A, notat cu (A), este setul de iruri { x | (x,r) F}. Spunem c un ir x este acceptat de ctre un automat finit nedeterminist D dac existo secven de tranziii corespunztoare lui x astfel nct D(x,r) conine o stare n F. Limbajulacceptat de A, notat cu (A), este setul de iruri { x | D(x,r) F }.Teorem: Fie un limbaj acceptat de un automat finit nedeterminist. Atunci exist unautomat finit determinist care accept limbajul .Definiie: Un Automat se numete finit dac sunt finite toate cele trei mulimi ale sale Z, X, Y.Pot fi definite i alte tipuri de finitudine ale automatelor, cum ar fi de exempluautomatele (X,Y)-finite, n care sunt finite mulimea semnalelor de intrare i mulimeasemnalelor de ieire, iar mulimea strilor poate fi arbitrar. Definiia introdus mai sus estemai general dect cea introdus de Mealy prin faptul c mulimile Z, X, Y pot fi luatearbitrare, i nu n mod obligatoriu mulimi finite. Fie X = {x1 , x2 , , xn} i Y = {y1 , y2 , , ym} mulimea semnalelor de intrare irespectiv a semnalelor de ieire ale automatului A(Z, X, Y, , ). Se convine notareaelementelor mulimii X litere de intrare, iar elementele multimii Y litere de ieire. Deasemenea, multimea X se numete alfabetul de intrare, iar mulimea Y alfabetul de ieire.Elementele mulimii Z = {z1 , z2 , , zl} sunt literele de stare, iar Z este alfabetul strilor. Automatului A(Z, X, Y, , ) i se ataeaza trei semigrupuri libere (X), (Y) i (Z)generate de mulimile X, Y si Z ale semnalelor de intrare, semnalelor de ieire i strilor sale.Elementele semigrupului liber (X), numit semigrup de intrare, vor fi iruri finite de stri dinZ, denumite cuvinte de stare ale automatului. Cu aceste definiii se face o extindere natural a domeniului de definiie al funciei detranziie (z,x) i al funciei de ieire = (z,x) ale automatului, nlocuind mulimea Z x Xprin mulimea (X). Fie p = x1x2 xk un cuvnt de intrare arbitrar cuprins n (X) i o starearbitrar zZ. Se definete (z,p) = z1z2 zk , unde z1 = (z , x1), z2 = (z1 , x2), , zk = (zk-1, xk). De asemenea se definete (z,p) = y1y2 yk , unde y1 = (z , x1), y2 = (z1 , x2), , yk = (zk-1 , xk)Definiie: Automatul B(Z1, X1, Y1, 1, 1) se numete subautomat al automatului A(Z, X, Y, ,), dac Z1 Z, X1 X, Y1 Y iar funciile 1 i 1 coincid respectiv cu funciile i pesubmulimea Z1 x X1 a lui Z x X. O categorie interesant de subautomate este constituit desubautomatele pentru care Z1 Z, X1 = X i Y1 = Y. 32 33. 4.6 Reprezentrile automatelor Automatele au trei reprezentri utilizate mai des n literatura de specialitate. Prima estereprezentarea electric, prin pori logice, cea de a doua este reprezentarea logic, prin grafuri,care va fi detaliat n continuare n acest subcapitol, iar cea de a treia este metoda tabelar. Seconvine asocierea unui graf unui automat dup urmatoarele reguli: a) mulimii strilor automatului A(Z, X, Y, , ) i se asociaza nodurile grafului b) dac starile z1 i z2 sunt legate prin relaia z2 = (z1 , x), atunci nodul z1 este legat cunodul z2 printr-un arc orientat de la z1 spre z2. Arcul (z1 , z2) astfel obinut este marcat cu x. Este posibil s existe mai multe semnale de intrare x1,x2, , xp pentru care z2 = (z1,xi),i{1,2,,p}. n loc de a se trasa p arce de la z1 la z2 se va duce un singur arc care va fi marcatcu fiecare din literele x1, x2, , xp. Dac y = (z1,x) atunci arcul (z1 , z2) va fi marcat i culitera y i n general dac x1,x2,,xp verific relaia yi = (z1,xi), i{1,2,,p}, atunci arcul(z1,z2) va fi marcat cu fiecare din literele y1,y2, , yp.Exemplu: Fie automatul cu dou semnale de intrare x1 i x2, dou semnale de ieire y1 i y2 ipatru stri z1, z2, z3 i z4, pentru care funciile de tranziie i de ieire sunt date de relaiile: (z1 , x1) = z2 (z1 , x2) = z3(z1 , x1) = y1 (z1 , x2) = y2 (z2 , x1) = z1 (z2 , x2) = z3(z2 , x1) = y1 (z2 , x2) = y1 (z3 , x1) = z4 (z3 , x2) = z1(z3 , x1) = y2 (z3 , x2) = y2 (z4 , x1) = z2 (z4 , x2) = z4(z4 , x1) = y2 (z4 , x2) = y1se reprezint dupa metoda descris pe graful din Fig 3.Z1 x1, y1x2, y2x2, y2 x1, y1 x2, y1Z2Z3x1, y2x1, y2 Z4 Figura 3. Reprezentarea unui automat prin graf de tranziieA treia i cea mai des utilizat metod de reprezentare a automatelor este metodatabelar. Se convine asocierea unui automat A(Z, X, Y, , ) a unui tabel T(Z, X, Y, , )construit astfel:a) liniile tabelului corespund strilor automatului;b) coloanele tabelului corespund semnalelor de intrare;c) dac zi este una din strile automatului i xj unul dintre semnalele de intrare aleacestuia, atunci n tabelul T(Z, X, Y, , ), la intersecia liniei i cu coloana j se vor scrie starea(zi , xj) i semnalul de ieire dat de (zi , xj).Automatul din exemplul anterior se reprezint prin metoda tabelar descris n Tabelul1, detaliat mai jos:33 34. Intrarex1x2Starez1z2y1z3y2z2z1y1z3y1z3z4y2z1y2z4z2y2z4y1 Tabelu