ANALOGIAPIIRIT III/SUUNNITTELUHARJOITUS OSA 4 Tässä osassa piirretään OSA 2:ssa suunnitellun operaatiovahvistimen layout (piirikuvio). Tämän osan suorittamiseen tarvitaan OSA 2:n Cadence piirikaavio. Tavoitteet: 1. Piirrä OSA 2:ssa suunnittelemasi operaatiovahvistimen layout Cadencella. 2. Käytä hyviä layout suunnitteluperiaatteita layoutissasi. 3. Tarkista, että layout täyttää suunnittelusääntöjen vaatimukset. 4. Tarkista layoutin oikeellisuus vertaamalla sitä piirikaavioon. 1. Layout editorin käynnistäminen Siirrytään ensin kotihakemistoon käskyllä cd ja sitten suunnittelualihakemistoon ap3 käskyllä cd ap3. Annetaan käsky source.cadenceenv ja käynnistetään piirikuvioympäristö käskyllä cadencel& 2. Layoutin luominen Piirikuvion piirron tyypillisiä vaiheita ovat: komponenttien ja solujen sijoittelu johdotus piirikuvion tarkistukset Cadencessa on periaatteessa käytössä kolme erilaista tapaa piirtää piirikuvio: manuaalinen piirikaavioavusteinen (schematic driven) automaattinen sijoittelu ja johdotus Tässä harjoitustyössä suositellaan käytettäväksi analogisen layoutin suunnitteluun hyvin soveltuvaa piirikaavioavusteista piirtotapaa. Manuaalinen suunnittelu on myös mahdollista mutta selvästi työläämpää. Automaattiset layout työkalut soveltuvat lähinnä digitaalisten piirien lohkotason suunnitteluun. Yksityiskohtainen ohje tässä työssä käytettävästa layout työkalusta löytyy Cadencen on line manuaalista ACPD Flow Guide, Product Version 4.4.6, file:/elsoft3/cds2001/doc/acpdflow/chap5acpdflow.html. Muista myös HitKitin dokumentaati osoitteessa file:/elsoft2/designkits/ams_3.40/www/hitkit/tools/ diva/index.html. Hyvä on line ohje Cadencen piirikaaviopohjaisesta layout työkalusta ja yleensäkin layoutin piirtämisestä löytyy osoitteesta http://turquoise.wpi. edu/cds/examples/auto.html. Huomaa, että ko. ohje on tehty Cadencen vanhemmalla versiolla, joten sitä ei voi käyttää sellaisenaan. HUOM! Osa käytetn prosessin suunnittelusäännöistä on annettu Liitteellä 1 ja esimerkkipiirikuvio liitteessä 2 (vain suuntaa antava).
2.1 Hyviä layoutin suunnitteluperiaatteita IC piirin toimivuuden kannalta on ensiarvoisen tärkeää, kuinka layout piirretään. Hyvien suunnitteluperiaatteiden noudattaminen on välttämätöntä toimivan piirin aikaansaamiseksi, sillä monet piirikuviotason epäideaalisuudet eivät tule esiin piirisimuloinneissa. Hyviin suunnittelusääntöihin voidaan lukea ainakin seuraavat asiat: 1. sovitussäännöt (kahden komponentin välisten erojen minimoiminen) 2. suojarakenteet (häiriöiden ja latch up riskin moinimointi) 3. hyvä floorplan varsinkin mixed signal piireissä (häiriöiden minimointi) 4. pinnien sijoittelu (häiriöiden ja bondauslankojen induktanssin vaikutusten minimointi) Erinomainen lähde ym. asioissa on esim. The Art of Analog Layout kirja (katso tarkemmat biografiset tiedot liiteluettelosta). Lähteenä voi käyttää myös kurssikirjaa ja muita lähdeluettelossa mainittuja kirjoja. Suunnitteluperiaatteita on käsitelty myös luentomateriaalissa, joka löytyy kurssin kotisivulta osoitteesta http://www.ee.oulu.fi/ ~hakki/kurssit/ap3_01/ap3_harj_02.htm. Ko. materiaalista löytyy esim. kuvassa 1. on esitetty sovituksen yleisiä periaatteita käsittelevä osuus. komponenttien näkemä ympäristö saatava mahd. samanlaiseksi neliövastus etäisyys pieni välimatka dummy komponentit common centroid rakenne dummy R2 R1 R2 dummy + vältettävä lämpögradientteja vältettävä alueita, joissa kidehilan rasitukset suuria A B termopari chip B A Kuva 1. Sovituksen yleisiä periaatteita. HUOM! Sinun on käytettävä piirikuviossasi ainakin dummy ja common centroid rakenteita! Esim. kuvassa 2. on esitetty common centroid kakennetta ja dummy hiloja hyödyntävä MOS pari. Kuva 2. Common centroid MOS pari dummy hiloilla.
2.2 Layoutin piirtäminen Piirikaavioavusteisessa piirikuvion piirrossa ohjelmisto generoi automaattisesti tarvittavat komponentit ja asettelee ne satunnaiseen järjestykseen piirikuviopohjalle. Lisäksi ohjelma näyttää puuttuvat kytkennät eri värisinä viivoina. Itse sijoittelu ja johdotus tehdään käsin. Piirikaaviopohjaisen layoutin luominen Avataan ensin piirikaavio LayoutPlus ikkunan pull down valikon käskyllä File > Open. Käynnistetään sitten piirikuvioeditori Composer ikkunan pull down valikon käskyllä Tools >Design Synthesis > Layout XL. Tämän jälkeen komponentit ja terminaalit (pin) saadaan näkyville kun valitaan pull down valikon käsky Connectivity > Update > Components and Nets. Tällöin aukeaa dialogi, jossa määritellään mm. pinnien koko ja johdotuskerros. Valitaan yleensä metal1 kerros. Piirikuvioeditorissa saadaan puuttuvat kytkennät näkyviin Virtuoso ikkunan pull down valikon käskyllä Connectivity > Show Incomplete Nets. Kun piirikuviosta otetaan komponentti valintaan ja siirretään sitä, vastaava komponentti näkyy valittuna piirikaaviossa, mikä helpottaa komponenttien tunnistamista. Piirikaavioon tehdyt uudet muutokset saadaan voimaan Virtuoso ikkunan pull down valikon käskyllä Connectivity > Update > Layout Parameters. Jos piirikuvioeditori joudutaan käynnistämään toisen kerran, se ei tapahdu piirikaavioeditorin kautta, vaan LayoutPlus ikkunan pull down valikon käskyllä File > Open. Tämän jälkeen valitaan Virtuoso ikkunan pull down valikon käsky Tools > Layout XL. Komponentin siirtäminen Sijoitettu komponentti voidaan siirtää valitsemalla se hiiren vasemmalla näppäimellä, pitämällä näppäin alas painettuna ja siirtämällä hiirtä. Komponentin pyörittely onnistuu esim. näppäinkomennolla m (move) ja painamalla sitten F3 funktionäppäintä. Johtojen piirtäminen Johdotuskerros valitaan näpäyttämällä hiiren vasenta näppäintä LSW valikossa halutun kerroksen päällä. Käytössä oleva kerros näkyy LSW valikon ylälaidassa. Valitaan esim. MET1 dg (dg = drawing) Valitaan pull down valikosta Create > Path, näpäytetään hiiren vasenta näppäintä alkupisteessä ja kulmapisteissä, ja lopuksi näpäytetään loppupisteessä kahdesti. Johdin tulee automaattisesti minimilevyiseksi (käsin johdotettaessa saattaa olla edullista asettaa Options > Layout Editor > Gravity on pois päältä). Johtimen leveyden voi muuttaa pull down valikon käskyllä Edit > Properties. Johtimen tai sen segmentin voi siirtää valitsemalla se ensin hiiren vasemmalla
näppäimellä, pitämällä näppäintä painettuna ja siirtämällä hiirtä. Solujen välinen johdotus kannattaa usein suunnitella esim. niin, että vaakasuorat vedot tehdään metalli1:sellä ja pystysuorat metalli2:sella. Tällöin johdin ei pääty "umpikujaan". Substraattikontaktit Varsinaisten komponenttien lisäksi on muistettava piirtää substraattikontaktit: Tarkoitukseen voidaan käyttää valmiita substraattikontakteja, jotka löytyvät HitKitin kirjastosta SCHEMA kategoriasta substrate_contacts. 3. Layoutin tarkistaminen Valmiille piirikuviolle tehdään usein seuraavat tarkistukset geometristen suunnittelusääntöjen tarkistus (DRC) piirikaavion ja piirikuvion kytkentöjen vertailu (LVS) Hyvä käyttöohje tarkistuksista löytyy HitKitin on line dokumentoinnista osoitteesta file:/elsoft2/designkits/ams_3.40/www/hitkit/tools/diva/index.html. Onlin ohje on esim. alla olevan lyhyen ohjeen lähde. Geometristen suunnittelusääntöjen tarkistus (DRC) DRC tarkistaa että esim. eri kerroksilla piirrettyjen alueiden mitat ja etäisyydet toisiinsa ovat riittävän suuria. DRC käynnistetään Virtuoso ikkunan pull down valikosta Verify > DRC, jolloin saadaan täytettäväksi kaavake. Kaavakkeessa valitaan mm. flat/hierarchical (flat suositeltava ja tehtävä koko piirille lopuksi, hierarkisen voi tehdä suurella piirillä "välillä") full/incremental (full suositeltava ja tehtävä koko piirille lopuksi, incremental voi tehdä suurella piirillä "välillä") yhdistetään verkot nimen mukaan (ÄLÄ käytä) sääntötiedoston nimi ja paikka Ennen varsinaista DRC tarkistusta on käytetyssä prosessissa generoitava tarvittavat lisäkerrokset, kuten p+ tai n+, valitsemalla DRC kaavakkeesta Set Switches ja valitsemalla halutut optiot (eli kaikki ne optiot, joissa on sana generate mukana). HUOM! Lisäkerrosten generoinnin jälkeen on ajettava DRC tarkistus ilman ym. valitsimia. Virheet näkyvät piirikuviossa valkoisina välkkyvinä alueina. Alueeseen liittyvän virheilmoi tuksen saa näkyviin valitsemalla pull down valikosta Verify > Markers > Explain ja näpäyttämällä aluetta. Piirikaavion ja piirikuvion vertailu (LVS) LVS tarkistusta varten piirikuviosta on tehtävä uusi esitysmuoto, extracted, joka sisältää tiedon sähköisistä kytkennöistä ja komponenteista. Valitaan Virtuoso
ikkunan pull down valikosta Verify > Extract. Tämän jälkeen otetaan editoitavaksi extracted esitysmuoto eli valitaan LayoutPlus ikkunasta File > Open, esitysmuodoksi valitaan extracted. LVS käynnistetään ekstraktoidun esitysmuodon sisältämän Virtuoso ikkunan pull down valikon käskyllä Verify > LVS. Kaavakkeeseen annetaan piirikaavion ja ekstraktoidun esitysmuodon nimet, tekno logiahakemistoksi TECH_BYQ ja sääntötiedoston nimeksi divalvs.rul. LVS käynnistetään painamalla nappia Run. Tarkastuksen tuloksen saa näkyviin LVS kaavakkeen käskyllä Output, samalla ohjelma antaa tietoja komponenteista, verkoista yms. Virheiden etsimisessä auttaa LVS kaavakkeen Error Display, jolloin virheitä voi etsiä. Piirikaavion ja piirikuvion vastaavuuspisteitä voidaan käydä läpi Virtuoso ikkunan pull down valikon käskyllä Verify > Probe, jolloin voidaan etsiä vastaavia komponentteja ja solmupisteitä yksitellen. 4. Työselostuksessa vaadittavat asiat 1) Operaatiovahvistimen layout kuva. 2) Tarkistusten (LVS ja DRC) raporttit. 3) Selitys käytetyistä hyvistä layout suunnittelusäännöistä (viittaa kuvauksessasi layout kuvaan). 4) Vastaukset seuraaviin kysymyksiin: 1. Mitä edellä mainitut hyvät suunnittelusäännöt tarkoittavat? 2. Minkä pisteen suhteen common centroid rakenne suunnitellaan? Piirrä esimerkki. 3. Mitä hyötyä saavutetaan ns. dummy rakenteilla? 4. Mitä ovat substraattikontaktit? Montako tyyppiä niitä on? Miksi niitä käytetään? 5. Mitkä rakenteet piirikuviossa määräävät piirilohkon kytkentäpisteet ylemmällä hierarkiatasolla? 6. Mitä tarkoittaa lyhenne DRC? Minkä tyyppisiin tarkistuksiin termi liittyy? 7. Mitä tarkoittaa lyhenne LVS? Jos LVS tarkistus on onnistunut, niin mitä se tarkoittaa? Lähdeluettelo [1] D.A. Johns & K. Martin, Analog Integrated Circuit Design, Wiley & Sons 1997, kpl 2. [2] M. Ismail & T. Fielz, Analog VLSI Signal and Information Processing, McGraw Hill 1994, kpl 16. [3] A. Hastings, The Art of Analog Layout, Prentice Hall 2001 [4] M. Stan, D. Garrett, a. Kolla & Z. Salman, Schematic Driven Layout Using
MOSIS Design Kit for Advanced Analog and Mixed Signal Design, http://csis.ee.virginia.edu/~dcg3w/papers/mug97_sdl_paper.pdf [5] AMS, Analogue & Mixed Signal Application Note, Device Matching Rules, file:/elsoft2/designkits/ams_3.40/www/appnotes/analog/matchingrules.html [6] AMS, HitKit documentation, file:/elsoft2/designkits/ams_3.40/www/index.html [7] Cadence Design Tools Tutorial, http://turquoise.wpi.edu/cds/examples/auto.html. [8] Cadence Product Documentation (=on line help), Cell Design Tutorial, Product Version 4.4.6, file:/elsoft3/cds2001/doc/celltut/celltuttoc.html. [9] Cadence Product Documentation (=on line help), ACPD Flow Guide, Product Version 4.4.6, file:/elsoft3/cds2001/doc/acpdflow/chap5acpdflow.html.
Liite 1. Taulukko 1: Osa 0.8 µm:n n allas BiCMOS prosessin geometrisista suunnittelusäännöistä. no. kerros sääntö µm 3.1.1 NTUB min. NTUB width 5.0 3.1.2 min. NTUB spacing 7.0 4.1.2 min. NDIFF spacing to NTUB 3.0 4.1.3 min. NDIFF overlap of NTUB 2.0 4.2.2 min. NTUB extension of PDIFF 3.0 4.2.3 min. PDIFF extension of NTUB 2.0 3.2.1 DIFF min. DIFF width 2.0 3.2.2 min. DIFF spacing 1.8 3.6.1 PPLUS min. PPLUS width 1.6 3.6.2 min. PPLUS spacing 1.6 4.2.1 min. PPLUS extension of PDIFF 0.8 3.4.1 POLY1 min. POLY1 width 0.8 3.4.2 min. POLY1 spacing 1.0 4.3.1 min. POLY1 spacing to DIFF 0.4 4.7.7 min. POLY1 enclosure of CONT 0.4 4.3.2 min. POLY1 extension of GATE 0.8 3.7.1 POLY2 min. POLY2 width 1.6 3.7.2 min. POLY2 spacing 1.8 4.4.2 min. POLY2 spacing to DIFF 1.4 4.7.8 min. POLY2 enclosure of CONT 0.6 4.4.3 min. POLY2 spacing to POLY1 1.4 3.8.1 CONT minimum size 1.2 3.8.2 minimum spacing 1.2 4.8.6 min. CONT spacing to VIA 1.2 3.9.1 MET1 min. MET1 width 1.4 3.9.2 min. MET1 spacing 1.0 4.7.5 min. MET1 enclosure of contact or VIA 0.2 3.11.1 MET2 min. MET2 width 1.6 3.11.2 min. MET2 spacing 1.2 4.8.5 min. MET2 enclosure of VIA 0.3 3.10.1 VIA min. VIA width 1.2 3.10.2 min. VIA spacing 1.6
Liite 2. Esimerkkipiirikuvio