MODULARNO NAČRTOVANJE MIKROLELEKTRONSKIH VEZIJ Z NAČRTOVALSKIM PAKETOM SCEPTRE T. Dogša, R. Babič, M. Solar KLJUČNE BESEDE: integrirana vezja, računalniško načrtovanje vezij, modularno načrtovanje, metoda standardnih celic, SCEPTRE POVZETEK: V članku je prikazana problematika modularnega načrtovanja mlkroelektronskih vezij po metodi standardnih celic. V prvem delu so opisane specifikacije načrtovalnega paketa, ki omogoča takšno načrtovanje. V drugem delu je opisan konkreten programski paket SCEPTRE z vidika obravnavane problematike. Na koncu pa je na kratko podan opis podatkovne baze SCEPTRE in predlagana dopolnitev programskega paketa tako, da je možno uporabiti tudi modularni pristop pri načrtovanju obsežnejšega mikroelektronskega vezja. MODULAR STANDARD CELL DESIGN WITH SCEPTRE KEY WORDS : integrated circuits, computer aided circuit design, modular design, standard cells method, SCEPTRE ABSTRACT: The modular IC design (standard cells) problems are briefly presented. User requirements for the modular IC design software are summarized in the first part of the paper. The SCEPTRE design programs are discussed in the next part. Finally a brief description of SCEPTRE database and the suggested completion of this programme package is given so that a modular approach in integrated circuits design can also be used. UVOD Tehnologija mikroelektronskih vezij zelo hitro napreduje. Napovedi za konec tega stoletja so čipi velikosti miljarde transistorjev. Nekateri avtorji (1) se sprašujejo, če jih bo sploh mogoče povsem izkoristiti. Izjema so seveda pomnilniki, kateri so in bodo vedno premajhni. Razvoj programov in računalnikov ter načrtovanje programske opreme imata v mnogih primerih marsikaj skupnega. V zgodnjih začetkih računalništva so bili programi relativno kratki. En sam programer je bil avtor celotnega programa. Delež stroškov programiranja je bil zelo majhen v primerjavi z vrednostjo računalnika. V raziskavi ameriškega U.S.Air Force je bilo leta 1955 to razmerje 1:4 (2). Že leta 1985 se je sf3remenilo na 4:11. Nekaj podobnega se dogaja pri razvoju mikrolelektron-skih tehnologij in načrtovanju mikroelektronskih vezij. Čipi postajajo čedalje cenejši in relativni delež stroškov razvoja čipa pada v primerjavi s stroški načrtovalcev. Problem stroškov načrtovalcev in načrtovanja kompleksnih vezij rešujemo z ustrezno CAD programsko opremo in pa skupinskim pristopom. V članku želimo na kratko osvetliti pomembne aspekte, ki se pojavijo pri prehodu na skupinsko delo. Omejili se bomo samo na programski paket SCEPTRE, kije namenjen načrtovanju s standardnimi celicami. Prikazani so tudi podatki o strukturi podatkovne baze, ki jo SCEPTRE uporablja. Razvoj čipa lahko poenostavljeno razdelimo v tri faze : 1. izdelava sheme, oz. električnega načrta vezja 2. načrtovanje geometrije vezja 3. izdelava mask in proizvodnja Pri opisu problematike skupinskega pristopa bomo obravnavali samo prvo fazo, ki jo običajno opravi naročnik vezja. SPECIFIKACIJE NAČRTOVALNE OPREME Tipični potek skupinskega načrtovanja obsega: 1. izdelavo specifikacij za kompletno vezje 2. razdelitev vezja na posamezne module 3. načrtovanje posameznih modulov 4. integracija posameznih modulov v kompletno vezje 5. verifikacija kompletnega vezja Rezultat vseh teh faz je preverjena logična shema vezja, ki ustreza delu specifikacij. (V tej fazi še ne moremo preveriti delovanja vezja v absolutnem časovnem merilu oz. zakasnitev). Da bi nek programski paket omogočil skupinsko načrtovanje, mora podpirati naslednje aktivnosti: 1. združevanje vezij, oz. modulov 2. delitev vezij na module 3. dodajanje makrojev k vezju 4. preklic makroja (vsebina makroja postane del vezja) 5. izločevanje makroja 6. prenos in transformacija podatkovne baze, ki je bila ustvarjena s kakšnim podobnim, vendar ne kompatibil-nim načrtovalnim paketom Združevanje vezij mora tudi rešiti problem preštevilčenja vozlišč in problem različnih formatov opisa vezja. Le-ta se pojavi : * kadar načrtujemo s pomočjo različnih CAD paketov * kadar uporabljamo module iz prejšnjih projektov Boljši programski paketi vsebujejo ustrezne programe za pretvorbo različnih formatov. V literaturi se pogosto omenja format EDIF (4), ki naj bi postal standard. Če nimamo ustreznega transformacijskega programa, ga pač moramo izdelati sami. Ključni podatek, ki je pri tem potreben, je vsekakor natančen opis podatkovne baze, v kateri se skriva opis vezja. STRUKTURA NAČRTOVALNEGA PAKETA SCEPTRE Programski paket SCEPTRE podpira načrtovanje s standardnimi CMOS celicami. Uporablja se na PC XT/ATosebnili računalnikih. Sestavljen je iz programov, ki so prikazani na sliki 1: * grafičnega editorja SCHEM * programa za pretvorbo grafičnega opisa vezja v listo povezav (netlist) TRACE * simulatorja SIMULATE * programa za prikaz rezultatov simulacije DISPLAY Ti programi uporabljajo podatkovno bazo, ki jo sestavljajo : * podatki o načrtovalcu HEADER.DTA * uporabnikova knjižnica SCHEM.LIB * grafični opis vezja CIRCUIT.DTA Konkretna verzija (za PC SIRIUS) ne omogoča skupinskega dela, ker ne izpolnjuje predhodno navedenih zahtev. Iz tega sledi, da tudi ni mogoče direktno uporabiti makrojev in modulov iz predhodnih projektov. Cilj naše naloge je bila analiza podatkovne baze paketa SCEPTRE in izdelava ustreznih programov, ki bodo omogočili skupinsko načrtovanje. DOPOLNJEN NAČRTOVALNI PAKET SCEPTRE Rezultat našega dela je bilo nekaj programov, s katerimi smo realizirali prej zahtevane specifikacije. To so : MERGE : združevanje in ekstrakcija modulov MREN : preimenovanje modulov RENUM : preštevilčenje vozlišč MCOPY : kopiranje modulov ----------------n rr -----------i i ,-Ji------------.T MOlUJl. ? DTA 1}—-^ II modul 2 Lin | ------------- M n—---------------P _[j i j MODUL 1 DTA i T"" ji ' j | " !t Ii u__ r 1 j Mi-:Hi;h I I J il I ! I i'KATK I CT j TRACK ----- I NTFl l.t-:. DTA I .SIMULATK ------ LOC.K I l.K .'I-XT z I COMP ILK 1- ~ČlU-:i'OHT \ I'ATKILK.TXT SI. 1: Zgradba podatkovne baze CIRCUIT.DTA v programskem paketu SCEPTRE. (Črtkano je označen osnutek predelave paketa.) Na sliki 2 je prikazan procesni diagram izdelanih programov, ki omogočajo modularno načrtovanje. _ POPfllEK O NflCRTOVftLCU <22 ZLOOOU) I HE H«KROJA I OPIS HAKROJA Z I HE HAXJtOJA 2 OPIS fWKBOJft Z POMTEK O HACFTOUALCU SI. 3: struktura datoteke CIRCUIT.DTA (a. brez mak-roja, b. z dvema makrojema) SI. 2: procesni diagram dodanih programskih paketov OPIS PODATKOVNE BAZE Pri predelavi SCEPTRE paketa je bila ključnega pomena podatkovna baza. Z analizo te baze smo ugotovili, da so za grafični opis vezja uporabljeni naslednji gradniki : * logični elementi * linije (povezave) * komentarji * makroji Na sliki 3 je prikazana struktura dveh datotek CIRCUIT.DTA. Možni sta dve situaciji. Vezje je sestavljeno iz elementov, ki so vsi na enakem hierarhičnem nivoju oziroma so v vezju tudi makroji. Dolžina datoteke je XHJIZHICfl STANDARDNIMI CELICAMI IME «dKROJA 1 KOMENTARJI ZNOTRAJ OP in IP caic <31 ZLOGOU 13888 ZLOOog 434 ZLOGOV odvisna od števila gradnikov (faktor "n"). Vsak zapis je tipiziran in je dolžine 22 zlogov. V knjižnici SCHEM.LIB se nahajajo definicije standardnih logičnih elementov,ki so v danem procesu na razpolago. Uporabnikove makroje dodaja grafični editor na koncu knjižnice. Vsak makro zavzema 434 zlogov. Strukturo knjižnice ponazarja slika 4. KONKRETNI PRIMER Za ilustracijo smo izbrali del vezja, ki vsebuje preprost makro in en logični element tako kot kaže slika 5. Na sliki 6a in 6b je prikazana struktura datoteke CIRCUIT.DTA, ki pripada primeru. Vsak zapis je predstavljen v hek-sadecimalni obliki in ustreznemu ASCII ekvivalentu. (Zlogi, ki nimajo ASCII interpretacije so označeni s piko.) EI>" te./' SI. 4: struktura knjižnice SCHEM.LIB SI. 5: primer vezja z enim elementom in makrojem zapis št . 10700010008444F4D494E49433100110013000C001D00 .....DOMINICl..................22 od 616 zlogov zapis št. 2 0800140015000249505331410000000000020C001Dbo .......IPSIA.......... 44 od 616 zlogov zapis št. 3 OA00010000000249505331410000000000020C001DOO .......IPSIA.......... 66 od 616 zlogov zapis št. 4 O8OO1COO17OOO44E52333141OOOOOOO0O002OCOO1DOO .......NR31A.......... 88 od 616 zlogov zapis št. 5 OA0OO40OOOOOO44E52333141OOO00OOOO002OCOO1DOO .......NR31A.......... 110 od 616 zlogov zapis št. 6 0800140018000249505331410000000000020C001D00 .......IPSIA.......... 132 od 616 zlogov zapis št. 7 0A00020000000249505331410000000000020C001D00 .......IPSIA.......... 154 od 616 zlogov zapis št. 8 080027001800024F505331410000000000000C001D00 ..'....OPSIA.......... 176 od 616 zlogov zapis št. 9 O8O014OO1B0OO24950533141O0OOOOOOOO020COO1DOO .......IPSIA....... ... 198 od 616 zlogov zapis št. 10 0A00030000000249505331410000000000020C001D00 .......IPSIA.......... 220 od 616 zlogov zapis št. 11 0900170016001A00160000000000000000020C001D00 ...................... 242 od 616 zlogov zapis št. 12 09001A0018001C00180000000000000000020C001D00 ...................... 2 64 od 616 zlogov zapis št. 13 0900170019001C00190000000000000000020C001D00 ...................... 286 od 616 zlogov zapis št. 14 0900220019002700190000000000000000020C001D00 .."...'............... 308 od 616 zlogov SI. 6a: CIRCUIT.DTA z enim elementom in mal