ELEKTROTEHNI ˇ SKI VESTNIK 78(1-2): 31–35, 2011 EXISTING SEPARATE ENGLISH EDITION Optimizacija digitalnih gradnikov na nivoju tranzistorjev Janez Puhan, Iztok Fajfar, Tadej Tuma, ´ Arp´ ad B˝ urmen Univerza v Ljubljani, Fakulteta za elektrotehniko, Trˇ zaˇ ska 25, 1000 Ljubljana, Slovenija E-poˇ sta: janez.puhan@fe.uni-lj.si Povzetek. Izdelovalci integriranih vezij za svoje procese podajajo knjiˇ znice osnovnih digitalnih gradnikov, ki se uporabljajo pri naˇ crtovanju digitalnih integriranih vezij. Izvedbe posameznih gradnikov na tranzistorskem nivoju so s tem doloˇ cene in se med naˇ crtovanjem vezja ne spreminjajo veˇ c. Gradniki, kot npr. medpomnilniki, logiˇ cna vrata, seˇ stevalniki, flip-flopi itd., se uporabljajo brez sprememb, kjerkoli jih naˇ crtovalec potrebuje. Zaradi tega posamezen gradnik ni povsem prilagojen na specifiˇ cno okolje v vezju, kjer se nahaja. To odpira prostor optimizaciji gradnika toˇ cno na zahteve v katerih deluje. ˇ clanek opisuje primer optimizacije digitalnega gradnika na tranzistorskem nivoju. Zaradi ˇ sumnosti kriterijske funkcije je bila uporabljena robustna globalna optimizacijska metoda. Rezultati pokaˇ zejo znatno izboljˇ sanje ˇ zelenih lastnosti glede na sploˇ sni gradnik izdelovalca integriranih vezij. Kljuˇ cne besede: naˇ crtovanje digitalnih integriranih vezij, sploˇ sni osnovni gradniki, sinteza digitalnih vezij, optimizacija na tranzistorskem nivoju Transistor level optimisation of digital cells Integrated circuit manufacturers provide libraries of pre- designed digital cells for digital circuit design. The transistor level implementation of the cells is not considered during the design procedure. The cells, such as buffers, logic gates, adders, flip-flops, etc. are used without modifications wherever needed. For that reason the cells are not fine tuned to their unique surrounding conditions in the circuit. This leaves space for cell optimisation to be used as a tool for achieving arbitrary customisation. This paper describes a case study of transistor level digital cell optimisation. Since the landscape of the cost function used in the process of optimisation proved to be too noisy, the optimisation runs were performed using a robust global optimisation method. The results show that a substantial improvement of cell properties with respect to the manufacturer-supplied pre-designed cells can be obtained. 1 UVOD Pri naˇ crtovanju digitalnega vezja naˇ crtovalci uporabljajo osnovne gradnike ali bloke [1] kot so medpomnilniki, logiˇ cna vrata, seˇ stevalniki, zatiˇ ci, flip-flopi itd. Knjiˇ znico z digitalnimi gradniki za vsak proces izdelave integri- ranih vezij priskrbi izdelovalec integriranih vezij. Na- vadno je podanih veˇ c razliˇ cic posameznega gradnika, skupaj z opisom karakteristik posamezne razliˇ cice. Med postopkom naˇ crtovanja digitalnega integriranega vezja naˇ crtovalec simulacij [2], [3], [4], [5] na tranzistorskem nivoju ne izvaja. Za izraˇ cun odziva vezja se uporabljajo opisi gradnikov na viˇ sjem nivoju [6], [7]. Posamezne razliˇ cice nekega gradnika imajo v veˇ cini primerov enako topologijo. Razlikujejo se le v dimenzi- Prejet 19. oktober, 2010 Odobren 4. februar, 2011 jah tranzistorjev, navadno v ˇ sirinah in dolˇ zinah kanalov. So rezultat prilagoditve gradnika na razliˇ cne pogoje delovanja. V ˇ clanku je opisana optimizacija gradnika iz knjiˇ znice izdelovalca integriranih vezij. Zanima nas, ali je moˇ zno s pomoˇ cjo optimizacijskega postopka iz standardnega gradnika iztisniti ˇ se boljˇ se lastnosti. S tem bi dobili tudi odgovor na vpraˇ sanje, ali je optim- mizacija gradnikov na tranzistorskem nivoju smiselna, oziroma ali bi kazalo v prihodnosti z avtomatizacijo optimizacijskega postopka gradnikov na tranzistorskem nivoju generirati poljubne gradnike prilagojene na toˇ cno doloˇ cene razmere v vezju. Proces naˇ crtovanja digitalnega vezja ASIC (Appli- cation Specific Integrated Circuit) se zaˇ cne z opisom specifikacij vezja na nivoju RTL (Register Transfer Level). Nato naˇ crtovalec vezje opisano z opisnim jezi- kom HDL (Hardware Description Language) simulira in popravlja, dokler odziv vezja ni zadovoljiv glede na podane zahteve. Konˇ cen opis vezja v jeziku HDL se reducira na logiˇ cni nivo. Vezje na logiˇ cnem nivoju se na nivoju osnovnih gradnikov optimizira, dokler ustreznost vezja glede na zahteve v ˇ casovnem prostoru ni doseˇ zena. Redukcijo na logiˇ cni nivo in optimizacijo na nivoju gra- dnikov imenujemo sinteza. Sintezo naˇ crtovalec izvede s pomoˇ cjo sintezacijskega orodja, ki pri tem izbira med osnovnimi gradniki iz knjiˇ znice proizvajalca integriranih vezij. Delovanje konˇ cnega vezja naˇ crtovalec preveri pred in po razporeditvi (ang. layout) tranzistorjev na rezini. V kolikor med preverjanjem ugotovi napake, ali neza- dovoljivo delovanje vezja, mora proces sinteze ponoviti s stroˇ zjimi zahtevami. Idejo uvedbe optimizacijskega postopka na nivoju 32 PUHAN, FAJFAR, TUMA, B ˝ URMEN tranzistorjev v tok sinteze vezja prikazuje slika 1. Rezul- tat sinteze A je opis vezja na nivoju osnovnih gradnikov skupaj s ˇ casovnimi zahtevami za posamezen gradnik. Iz knjiˇ znice so izbrane ustrezne razliˇ cice posameznih gradnikov. Sledi predlagana optimizacija na nivoju tran- zistorjev. Optimizacija s spreminjanjem velikosti tranzi- storjev prilagodi posamezen gradnik toˇ cno na njegove ˇ casovne zahteve. Nekateri izmed izbranih gradnikov v koraku A komaj zadovoljujejo podane ˇ casovne zahteve, medtem ko imajo drugi veliko rezerve. Gradnike, ki komaj izpolnjujejo postavljene zahteve, bi lahko optimi- zirali na hitrost, gradnike z rezervo pa na porabo, brez da bi pri tem poslabˇ sali lastnosti vezja. Rezultat optimi- zacije na nivoju tranzistorjev so razmeram prilagojeni gradniki, iz katerih bi lahko sestavili novo knjiˇ znico. Sinteza B bi prvotno knjiˇ znico gradnikov zamenjala s prilagojeno. Uspeˇ sna sinteza B bi tudi potrdila pravilno delovanje vezja zgrajenega iz prilagojenih gradnikov. prilagojena knjiznica sinteza B simulacija HDL casovne zahteve preverjanje optimizacija gradnikov sinteza A knjiznica Slika 1: Uvedba optimizacijskega postopka na nivoju tranzi- storjev v tok sinteze 2 KRITERIJSKA FUNKCIJA Kriterijska funkcija (KF) je mera, ki meri kvaliteto predlaganega vezja. Bolj kot vezje ustreza postavljenim zahtevam, niˇ zja je vrednost KF. Z doloˇ citvijo KF postane odloˇ citev, katero vezje je boljˇ se, nedvoumna [10]. Lastnosti predlaganega vezja so doloˇ cene z vrednote- njem rezultatov ene ali veˇ c tranzientnih analiz. V naˇ sem primeru so zanimive naslednje lastnosti: povrˇ sina na re- zini (doloˇ cena z dimenzijami tranzistorjev), obnaˇ sanje v ˇ casovnem prostoru (strmine, zakasnitve, itd.) in poraba. K konˇ cni vrednosti KF prispeva vsaka izmerjena lastnostx i svoj deleˇ z. Dokler ˇ zelena vrednostg i lastnosti ni doseˇ zena je prispevek c i (x i ) v KF proporcionalen oddaljenosti od ˇ zelene vrednosti. Ko lastnost doseˇ ze, ali celo preseˇ ze ˇ zeleno vrednost, postane njen deleˇ z negativen. Definicija prispevka lastnosti v KF je podana v enaˇ cbi (1). c i (x i ) = ti gi (x i g i ) x i g i pi gi (x i g i ) x i >g i (1) Ker morajo biti vse zanimive lastnosti x = [x 1 ;x 2 ;:::] T ˇ cimmanjˇ se, potrebujemo le en naˇ cin vrednotenja prispevka lastnosti. Enaˇ cba (1) zadoˇ sˇ ca. Konˇ cna vrednost KF je vsota vseh prispevkov podana v enaˇ cbi (2). c(x) = X c i (x i ) (2) KF v enaˇ cbi (2) ima globalni minimum dolˇ cen z enaˇ cbo (3), ki ustreza optimalnim parametrom vezja w opt . Z razliˇ cnimi ˇ zelenimi vrednostmi g i , trgovalnimi (t i ) in kazenskimi (p i ) uteˇ zmi optimizacijski postopek privede do veˇ c globalnih minimumov KF. Torej do nabora vezij z razliˇ cno uravnoteˇ zenimi lastnostmi. c(x(w opt )) c(x(w)) (3) Nedoseganje posamezne ˇ zelene vrednosti je lahko po definiciji KF izniˇ ceno s preseganjem drugih. Da se to ne zgodi in so ˇ zelene vrednosti vseh lastnosti doseˇ zene, mora za vsak par i6=j veljati t i p j . Tako bo prispe- vek lastnosti, ki ne dosega ˇ zelene vrednosti, mnogo veˇ cji od absolutne vrednosti vsote negativnih prispevkov vseh drugih lastnosti, ki presegajo svoje ˇ zelene vrednosti. Predlaganim vezjem, za katera tranzientna analiza ne uspe, vektorja lastnostix ni mogoˇ ce doloˇ citi. V primeru, ko posamezna lastnost x i ni znana, je njen prispevek v KF c i (x i ) postavljen na neko veliko vrednost c maxi . Predlagano vezje, za katerega tranzientna analiza ne uspe ima tako visoko vrednost KF in zato predstavlja slab poskus. Enako velja za predlagana vezja, za katera tran- zientna analiza sicer uspe, vendar je odziv neuporaben in ene ali veˇ c lastnosti ni mogoˇ ce doloˇ citi (npr. v odzivu ni priˇ cakovane naraˇ sˇ cajoˇ ce fronte, zaradi ˇ cesar ni mogoˇ ce izmeriti njene strmine). Predlagano vezje z odzivom, ki ne izraˇ za priˇ cakovane funkcije vezja, je dodatno kaznovano s pomoˇ znimi la- stnostmi. Pomoˇ zne lastnosti, oziroma meritve preverjajo odziv v ˇ casovnih trenutkih, kjer je stanje digitalnega vezja doloˇ ceno. Imajo velike kazenske uteˇ zi, kar vodi v visoke prispevke v KF za vezja z nepriˇ cakovanim od- zivom. Pomoˇ zne meritve k KF ne prispevajo (trgovalne uteˇ zi so niˇ c), ko ima predlagano vezje priˇ cakovan odziv. S tem pomoˇ zne meritve silijo k pravilnemu odzivu vezja in tako pomagajo optimizacijskemu procesu. 3 TESTNO VEZJE Kot testni gradnik je bil uporabljen D flip-flop prikazan na sliki 2. Vzet je iz knjiˇ znice osnovnih digitalnih gradnikov podanih s strani proizvajalca integriranih ve- zij za 350nm CMOS proces. V kolikor optimizacijski postopek na tranzistorskem nivoju uspe izboljˇ sati testni gradnik, je podobne izboljˇ save priˇ cakovati tudi na drugih proizvajalˇ cevih gradnikih. Testni gradnik je vstavljen v testno vezje, ki zagota- vlja vhodne signale, obremenitve izhodov in napajanje gradnika. Strmine vhodnih signalov, bremenske kapaci- tivnosti in napajalna napetost se spreminjajo od kota do kota. OPTIMIZACIJA DIGITALNIH GRADNIKOV NA NIVOJU TRANZISTORJEV 33 c1 c d rn q qs qm qn zadrzi d nizek postavitev d visok c c1 d rn q qm qn qs strmina min rn min c nizek min c visok zakasnitev zadrzi d visok zagon postavitev d nizek Slika 2: D flip-flop (d=podatek, c=ura, rn=reset, q =izhod, qn=izhod) Na sliki 2 so prikazani tudi ˇ casovni poteki vhodnih testnih signalov s ponazoritvami lastnosti vezja, oziroma meritev. ˇ Casovne lastnosti skupaj s povrˇ sino na rezini in porabo predstavljajo lastnosti vezja x i , ki prispevajo v KF iz enaˇ cbe (2). Na primeru testnega gradnika je bilo merjenih dvajset ˇ casovnih lastnosti. Poleg zakasnitev in strmin so v KF pripevali ˇ se izhodni postavitveni ˇ casi (ang. setup time), vhodni zadrˇ zevalni ˇ casi (ang. hold time), zagonski ˇ cas po resetu, najmanjˇ sa perioda ure, ter najmanjˇ sa ˇ sirina reset impulza. Na sliki 2 sta v ponazoritev oznaˇ ceni le ena zakasnitev in ena strmina. Zakasnitve so bile merjene kot ˇ cas, ki preteˇ ce od trenutka, ko vhodni signal doseˇ ze 50% konˇ cne vrednosti, do trenutka, ko izhodni signal doseˇ ze 50% konˇ cne vrednosti. Strmine so bile merjene kot ˇ cas v katerem se opazovani signal spremeni od 10% do 90% konˇ cne vrednosti. 4 OPTIMIZACISKI POSTOPEK Narejena sta bila dva optimizacijska teka. Cilj prvega je bil najti ˇ cimhitrejˇ si gradnik, pri ˇ cemer ni bilo dovoljeno poveˇ canje porabe glede na osnovni gradnik podan s strani proizvajalca integriranih vezij (optimizacija na hitrost). V drugem teku je bil cilj ˇ cimmanjˇ sa poraba, pri ˇ cemer so morale ˇ casovne lastnosti gradnika ostati najmanj enako dobre, kot pri osnovnem proizvajalˇ cevem gradniku (optimizacija na porabo). Lastnosti osnovnega proizvajalˇ cevega gradnika so sluˇ zile kot ˇ zelene vrednosti g i . Visoke kazenske uteˇ zi p i so zagotovile, da so bile vse lastnosti osnovnega gradnika doseˇ zene v obeh tekih. Teka sta se razlikovala v trgovalnih uteˇ zeh t i , ki so v prvem teku poudarjale hitrost, v drugem pa nizko porabo. Gradnik je bil optimiziran za razliˇ cne pogoje procesa izdelave in delovanja. V poˇ stev so biti vzeti ˇ stirje proce- sni koti (ang. worst power, worst speed, worst one, worst zero), dve temperaturi ( 25 C, 105 C), dve napajalni napetosti (3V , 3.6V), dve izhodni bremeni (10fF, 220fF) 34 PUHAN, FAJFAR, TUMA, B ˝ URMEN in dva naklona vhodnega signala (60ps, 4ns). K vsem 64-im skrajnim kombinacijam naˇ stetih parametrov je bil dodan ˇ se tipiˇ cni kot. Za izraˇ cun najslabˇ sih vrednosti lastnosti gradnika v navedenem obmoˇ cju delovanja je bilo potrebno ana- lize opraviti v ˇ stirih kritiˇ cnih kotih. Doloˇ cevanje la- stnosti gradnika v ostalih 61-ih kotih ni potrebno. To pomembno zmanjˇ sa ˇ stevilo kotov na ˇ stiri, in sicer: wp/ 25 C/3.6V/220fF/4ns, ws/105 C/3V/10fF/60ps, ws/105 C/3V/220fF/60ps in ws/105 C/3V/220fF/4ns. Lastnosti optimiziranega gradnika so bile preverjene preko vseh 65-ih kotov. Neodvisne optimizacijske spremenljivke so bile ˇ sirine in dolˇ zina kanalov tranzistorjev. Dolˇ zina kanala je bila za vse tranzistorje enaka in je predstavljala eno optimizacij- sko spremenljivko. Vseh optimizacijskih spremenljivk je bilo 33. Eksplicitne meje optimizacijskega postopka so bile postavljene od 400nm do 2μm za ˇ sirine in od 350nm do 2μm za dolˇ zino kanalov. Ker je dolˇ zina kanalov navadno najmanjˇ sa moˇ zna, je bilo priˇ cakovati, da bo optimizirana doˇ zina na spodnji dovoljeni meji. Navkljub priˇ cakovanjem se je izkazalo, da temu ni vedno tako. Uporabljeno je bilo vzporedno simulirano ohlajanje z diferencialno evolucijo (ang. Simulated Annealing with Differential Evolution, ali PSADE) [11]. Optimizacijska metoda je tekla na osmih procesorjih AMD Athlon 3GHz. Zaˇ cetna toˇ cka metode je nakljuˇ cna. Metoda je bila ustavljena po 150000 doloˇ citvah KF. 5 REZULTATI Lastnosti testiranega gradnika po obeh optimizacijskih tekih, ter lastnosti gradnika iz knjiˇ znice proizvajalca so zbrane v tabeli 1. V stolpcu hitrost so lastnosti gradnika po optimizaciji na hitrost. Optimiziran gradnik je v vseh lastnostih vsaj tako dober, ali boljˇ si, kot proizvajalˇ cev gradnik. ˇ Casovne lastnosti gradnika se izboljˇ sajo za do 77%. Zanimivo je, da ima optimiziran hitrejˇ si gradnik celo za 5.8% manjˇ so porabo, kar pri optimizaciji na hitrost ni bilo priˇ cakovano. Priˇ cakovana pa je konˇ cna dolˇ zina kanala tranzistorjev, ki je najmanjˇ sa moˇ zna (350nm). Za dosego minimuma je optimizacijski postopek potreboval 149689 doloˇ citev KF. Prvi gradnik z boljˇ simi lastnostmi od proizvajalˇ cevega se pojavi v 3285-ti doloˇ citvi KF. V stolpcu poraba v tabeli 1 so zbrani rezultati optimi- zacije na porabo. Optimiziran gradnik ima vse lastnosti zopet vsaj tako dobre kot proizvajalˇ cev. Poraba gradnika je zmanjˇ sana za 20%, pri ˇ cemer se ˇ casovne lastnosti izboljˇ sajo za 43%. Zanimivo je, da dolˇ zina kanala tran- zistorjev optimiziranega gradnika ni najmanjˇ sa moˇ zna (390nm). Za dosego minimuma je bilo potrebnih 121406 doloˇ citev KF. Prvi gradnik z boljˇ simi lastnostmi od proizvajalˇ cevega se pojavi v 3398-ti doloˇ citvi KF. Kapacitivnosti vhodov gradnika na vrednost KF niso imele vpliva. Ne glede na to se v obeh optimizacij- skih tekih zaradi manjˇ sih dimezij vhodnih tranzistorjev Tabela 1: Rezultati optimizacije D flip-flopa lastnost original hitrost poraba povrˇ sina [pm 2 ] 59.1 59.1 48.5 c na q" zakasnitev [ns] 5.17 2.95 4.19 c na q# zakasnitev [ns] 6.71 2.78 5.97 c na qn" zakasnitev [ns] 4.80 2.67 4.76 c na qn# zakasnitev [ns] 7.27 2.84 6.54 rn na qn zakasnitev [ns] 4.19 1.82 3.28 rn na q zakasnitev [ns] 6.03 1.60 4.17 c na q" strmina [ns] 6.49 4.45 6.47 c na q# strmina [ns] 9.96 2.61 7.88 c na qn" strmina [ns] 6.41 3.03 6.38 c na qn# strmina [ns] 9.95 3.11 9.60 rn na qn strmina [ns] 6.41 3.03 6.37 rn na q strmina [ns] 9.95 2.32 7.77 d" na c postavitev [ns] 1.23 0.625 1.03 d# na c postavitev [ns] 0.984 0.983 0.982 d" na c zadrˇ zi [ns] 0.566 0.324 0.548 d# na c zadrˇ zi [ns] 0.560 0.325 0.559 rn na c zagon [ns] 1.27 0.665 1.08 min. ˇ sirina c high [ns] 1.71 1.54 1.70 min. ˇ sirina c low [ns] 1.30 0.970 1.30 min. ˇ sirina rn [ns] 0.811 0.375 0.463 poraba [pAs] 6.22 5.86 4.96 " in # pomenita naraˇ sˇ cajoˇ co in padajoˇ co fronto optimiziranih gradnikov kapacitivnosti vhodov vseeno zmanjˇ sajo. V obeh optimizacijskih tekih je bilo potrebnih le nekaj tisoˇ c doloˇ citev KF, da je bil najden prvi gradnik boljˇ si od proizvajalˇ cevega. To pomeni, da je bila veˇ cina doloˇ citev KF porabljenih za fino doloˇ canje konˇ cne reˇ sitve, za kar je navadno uporabljena hitra lokalna optimizacijska metoda, npr. [12]. ˇ Zal poskusi pospeˇ sitve optimizacij- skega teka s pomoˇ cjo lokalne metode niso bili uspeˇ sni. Neuspeh gre pripisati negladkosti poteka KF [13]. Za ponazoritev so na sliki 3 narisani preseki KF po treh optimizacijskih parametrih, t.j. ˇ sirinah kanalov tranzi- storjev. Na sliki 3 je jasno viden numeriˇ cen ˇ sum, ki je posle- dica konˇ cnega ˇ casovnega koraka v tranzientni analizi. Z zmanjˇ sevanjem ˇ casovnega koraka postaja numeriˇ cen ˇ sum manjˇ si. Vendar fino doloˇ canje konˇ cne reˇ sitve z lokalno optimizacijsko metodo ne uspe, neglede na to kako majhen je ˇ casovni korak. Zato je potrebno celoten optimizacijski tek izvesti z robustno globalno metodo. Za zagotovitev toˇ cnosti mora biti ˇ casovni korak kljub temu relativno majhen, kar pomeni dolge tranzientne OPTIMIZACIJA DIGITALNIH GRADNIKOV NA NIVOJU TRANZISTORJEV 35 vrednost KF gradnika proizvajalca 1 sirina [ m] m sirina 2 sirina 1 KF sirina 3 .5 2 .4 Slika 3: Preseki kriterijske funkcije po treh ˇ sirinah kanalov analize in poslediˇ cno dolge optimizacijske teke. En optimizacijski tek traja pet dni na osmih paralelnih procesorjih. 6 ZAKLJU ˇ CEK Osnovni digitalni gradniki podani v knjiˇ znici proizva- jalca predstavljajo nabor gradnikov, ki naj jih naˇ crtovalec integriranih vezij na tranzistorskem nivoju ne bi spre- minjal. Primer v ˇ clanku pokaˇ ze znatno izoljˇ sanje la- stnosti osnovnega gradnika z uporabo optimizacij- skega postopka na tranzistorskem nivoju. Doseˇ zeno je bilo do 77% izboljˇ sanje ˇ casovnih lastnosti gradnika brez poveˇ canja porabe. Oziroma na drugi strani 20% zmanjˇ sanje porabe ob enakih ˇ casovnih lastnostih. Upo- raba gradnikov prirejenih na specifiˇ cne zahteve v vezju bi lahko vodila k hitrejˇ sim digitalnim vezjem z niˇ zjo po- rabo. Da bi predlagan postopek postal uˇ cinkovit, bi bilo potrebno optimizacijo na tranzistorskem nivoju vkljuˇ citi v orodja za sintezo. Dolˇ zina optimizacijskih tekov ostaja zaradi ˇ sumnosti poteka kriterijske funkcije glavna ovira. Ponovna preveritev optimiziranih gradnikov v sintezacij- skem orodju zaradi nedostopnosti (plaˇ cljivosti) slednjih, kakor tudi zaradi nedostopnosti orodij za ekstrakcijo opisa gradnika iz tranzistorskega na viˇ sji nivo (proizva- jalci integriranih vezij ekstrakcijskih orodij ne podajajo), ni bila narejena. ZAHVALA Raziskavo je omogoˇ cilo Ministrstvo za visoko ˇ solstvo, znanost in tehnologijo Republike Slovenije v okviru pro- grama P2-0246 - Algoritmi in optimizacijski postopki v telekomunikacijah. LITERATURA [1] H. Kaeslin, Digital integrated circuit design: from VLSI archi- tectures to CMOS fabrication, Cambridge University Press, 2008. [2] HSPICE ® simulation and analysis user guide, Synopsys ® , 2005. [3] K.S. Kunderth, The designer’s guide to SPICE and Spectre, Kluwer Academic Publishers, 1995. [4] Virtuoso ® Spectre ® circuit simulator user guide, Cadence Design Systems, Inc., 2008. [5] T. Tuma, ´ A. B˝ urmen, Circuit simulation with SPICE Opus, theory and practice, Birkh¨ auser, 2009. [6] D.E. Thomas, P.R. Moorby, The Verilog hardware description language, 5 th ed. Kluwer Academic Publishers, 2003. [7] V .A. Pedroni, Circuit design with VHDL, Massachusetts Institute of Technology, 2004. [8] P. Kurup, T. Abbasi, Logic synthesis using Synopsys ® , 2 nd ed. Kluwer Academic Publishers, 1997. [9] H. Bhatnagar, Advanced ASIC chip synthesis using Synopsys ® Design Compiler™Physical Compiler™and PrimeTime ® , 2 nd ed. Kluwer Academic Publishers, 2002. [10] ´ A. B˝ urmen et al., “Automated robust design and optimization of integrated circuits by means of penalty functions,” AE ¨ U, International Journal of Electronics and Communications, vol. 57, no. 1, pp. 47–56, 2003. [11] J. Olenˇ sek, ´ A. B˝ urmen, J. Puhan, T. Tuma, “DESA: a new hybrid global optimization method and its application to analog integrated circuit sizing,” Journal of Global Optimization, vol. 44, no. 1, pp. 1–25, 2008. [12] R. Hooke, T. Jeeves, “Direct search solutions of numerical and statistical problems,” Journal of the Association for Computing Machinery, vol. 8, no. 2, pp. 212–229, 1961. [13] ´ A. B˝ urmen, I. Fajfar, T. Tuma, “Combined Simplex-Trust-Region optimization algorithm for automated IC design,” Proceedings of ECCTD07 European Conference on Circuit Theory and De- sign, pp. 543–546, 2007. Janez Puhan je leta 2000 doktoriral s podroˇ cja elektrotehnike na Uni- verzi v Ljubljani. Je asistent na Fakulteti za elektrotehniko. Njegovo podroˇ cje raziskovanja obsega modeliranje, simulacijo in optimizacijske postopke pri raˇ cunalniˇ skem naˇ crtovanju vezij. Iztok Fajfar je diplomiral (1991), magistriral (1994) in doktoriral (1997) s podroˇ cja elektrotehnike na Fakulteti za elektrotehniko Uni- verze v Ljubljani. V letu 1991 je bil raziskovalec na Inˇ stitutu Joˇ zef ˇ stefan v Ljubljani, nakar je konec leta zasedel raziskovalno mesto na Fakulteti za elektrotehniko Univerze v Ljubljani. Trenutno na fakulteti zaseda mesto izrednega profesorja. Pouˇ cuje veˇ c uvodnih in nadaljevalnih predmetov s podroˇ cja raˇ cunalniˇ skega programiranja. Pri razvoju programske opreme je sodeloval v veˇ c industrijskih projektih s podjetji Adacta in ICE Telecom. Njegovo podroˇ cje raziskovanja vkljuˇ cuje naˇ crtovanje in optimizacijo elektronskih vezij. Tadej Tuma je diplomiral (1988), magistriral (1991) in doktoriral (1995) na Fakulteti za elektrotehniko Univerze v Ljubljani. Na isti fakulteti je redni profesor, kjer pouˇ cuje ˇ stiri dodiplomske in tri podiplomske predmete. Njegovi raziskovalni interesi so predvsem na podroˇ cju raˇ cunalniˇ ske analize in naˇ crtovanja vezij. ´ Arp´ ad B˝ urmen se je rodil leta 1976 v Murski Soboti. Leta 2003 je na Univerzi v Ljubljani doktoriral s podroˇ cja elektrotehnike. Od leta 2005 dalje je docent na fakulteti za elektrotehniko. Njegovo raziskovalno podroˇ cje vkljuˇ cuje zvezno in dogodkovno simulacijo vezij in sistemov, optimizacijske metode, njihovo konvergenco in uporabo, ter algoritme za vzporedno in porazdeljeno raˇ cunanje. Je eden vodilnih razvijalcev simulatorja vezij SPICE OPUS. Objavil je preko 20 ˇ clankov v recenziranih revijah.