ANALOGIAPIIRIT III/SUUNNITTELUHARJOITUS OSA 5 Tässä osassa piirretään OSA 3:ssa piirretyn Σ modulaattorin lopullinen layout (piirikuvio). Tämän osan suorittamiseen tarvitaan OSA 3:n Cadence piirikaavio. Tavoitteet: 1. Piirrä OSA 3:ssa suunnittelemasi Σ muuntimen 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. 5. Viimmeistele piirikuvio lopulliseen, prosessoitavaan muotoon, lisäämällä tarvittavat standardirakenteet. 6. Valitse piirikotelo ja luo bondauskaavio. 7. Luo suunnitelmastasi gds esitysmuoto, jonka avulla piirikuvio voidaan siirtää piirivalmistajalle. 1. Layoutin luominen Piirrä koko Σ muuntimen piirikuvio OSA 4:n ohjeiden mukaisesti käyttäen piirikaavioavusteista layout työkalua. Sijoita ylimmän hierarkiatason pinnit siten, että ne ovat layoutin reunoilla esimerkiksi siten, että piirin tulot ja lähdöt ovat piirikuvion vastakkaisilla puolilla. Kellosignaalit kannattaa sijoittaa kauas herkistä signaaleista (esim. analogiatulot). Käyttöjännitteet kannattaa sijoittaa toistensa viereen, jolloin käyttöjännitteiden ja piirin välillä oleva efektiivinen induktanssi pienenee keskinäisinduktanssin vaikutuksesta. 2. Lopullisen piirikaavion luominen sekä padien ja standardiraken teiden sijoittelu Seuraavaksi käsiteltävät asiat ovat nähtävissä liitteenä olevista esimerkkipiiri kaavioista ja piirikuvioista sekä kurssin kotisivulla olevassa layout kuvassa. Jotta piirin tulot, lähdöt ja käyttöjännitteet voidaan kytkeä piirin ulkopuolelle, pitää jokainen pinni (terminaali) kytkeä layoutissa bondauslangalle varattuun metalli alueeseen. Tämä metallialue ja siihen liittyvät suojarakenteet muodostavat ns. padi solut. Jotta Layoutin tarkistus olisi mahdollista, pitää tässä vaiheessa luoda myös uusi piirikaavio, johon ko. padien symbolit lisätään. Ensin kannattaa OSA 4:ssä piirretylle piirikaaviolle luoda symboli. Selkeyden vuoksi tässä symbolissa pinnien olisi hyvä olla samassa järjestyksessä kuin juuri piirtämässäsi piirikuviossa olevat pinnit. Seuraavaksi luodaan uusi piirikaavio, johon edellä luotu symboli sijoitetaan. Nyt jokaiseen symbolin pinniin kytketään tarkoitukseen sopiva padi IOLIB kirjastosta. Padien lähdöt kytketään symbolin pinneihin ja tulot piirikaavioon luotuihin pinneihin, joille kannattaa antaa pinninien funktioita hyvin kuvaavat nimet. Nämä nimet vastaavat usein lopullisen piirin jalkojen nimiä.
Sopivat analogisille signaalelille tarkoitetut padit löytyvät Analog_IO kategoriasta. Analogisia I/O padeja on kirjastossa kahdeksan erilaista. Nämä kahdeksan jakaantuvat kahteen ryhmään, joista toisen nimet päättyvät C kirjaimeen (esim. IOA3C) ja toisen P kirjaimeen (esim. IOA3P). C versiot soveltuvat ns. core rajoitettujen piirien (so. piirissä on vähän padeja verrattuna piirikuvion pinta alaan) padeiksi. Vastaavasti, jos padeja tarvitaan paljon (padien rajoittama piiri) ovat kapeammat P päätteiset padit sopivia. Sekä C että P padeista on neljä erilaista versiota, jotka eroavat toisistaan staattisen sähkön suojavastuksen koon perusteella. Tämä suojavastus pitää ottaa huomioon simuloinneissa, jos piiri on esim. erittäin nopea tai vähäkohinainen. (Tässä harjoituksessa ko. vastusta ei huomioida.) Käyttöjännitepadit eroavat hieman käytöltään verrttuna I/O padeihin. Käyttöjännite padeissa on vain yksi pinni, joka kytketään piirikaaviossa globaaleihin käyttöjännitesymboleihin vdd tai gnd (löytyvät analoglib kirjastosta). Referenssijännitteet kannattaa tuoda piiriin tavallisten analogia I/O padien kautta. 3.1 Padien sijoittelu ja pad ringin piirto Lopullista piirikuviota varten luodaan edellä piirretylle solulle (piirikaavio) layout esitysmuoto aiemmin opitulla piirikaaviopohjaisella layout työkalulla. Padit sijoitetaan suorakaiteeksi Σ modulaattorin layoutin ympärille siten, että padin lähtö on aina suorakaiteen sisälle päin. Suorakaiteen kulmiin lisätään sopivat kulmapalat IOLIB kirjaston Corners kategoriasta. Padien käyttöjännitteet kytketään toisiinsa piirtämällä metalliraamit (=padi ringit) koko piirin ympärille. Ts. esim. analogia I/O padeissa olevat VDDAI ja VSSAI alueet pitää kaikki yhdistää toisiinsa padeissa olevien metallialueiden levyisillä johdoilla. Padien keskinäisissä käyttöjännitekytkennöissä pitää olla eritysen tarkkana, jos piirissä käytetään sekä analogisia että digitaalisia I/O padeja. Tämä jpohtuu siitä, että ko. padeilla on eri määrä käyttöjännitteen kytkentäpisteitä (so. eri määrä padi rinkejä). Tärkeintä on muistaa, ettei yhtään padeissa olevaa käyttöjännitepinniä saa jättää kytkemättä. Piirikuvion pinnit sijoitetaan padien bondausalueiden päälle. HUOM! Muista ajaa tarkistukset (DRC ja LVS) tälle piirikuviolle. Seuraavan vaiheen jälkeen (scribe linen piirto) tarkastuksia ei enää tehdä. Tämä merkitsee myös sitä, että lopulliselle piirikuviolle kannattaa luoda oma solu ja sille layout, johon tähän mennessä piirretty layout sijoitetaan soluna. Ts. tarkistukset voidaan ajaa tälle layoutille vielä sittenkin, kun lopullinen piiri on valmis. 3.2 Scribe line Piirikuvio viimmeistellään lisäämällä siihen muutama pakollinen standardirakenne. Ensimmäinen tällainen rakenne on SCRIBE, jonka perusteella piipala leikataan irti piikiekosta. Ts. SCRIBE ympäröi piirin joka puolelta (varsinainen piirin layout tulee tyhjään tilaan SCRIBE suorakaiteen sisäpuolelle). Varsinaista suorakaiteen muotoista SCRIBE aluetta ei ole valmiina tarjolla HitKitissä, vaan se on itse tehtävä SFCLIB_BYE kirjaston SCRIBE_EXAMPLE solusta. Helpoiten tämä käy, kun poistaa solun hierarkian (Edit >Hierarchy >Flatten...) ja venyttää (stretch) rakenteen sopivan mittaisiksi. SCRIBE tulee sijoittaa siten, että sen sisäreuna tulee täsmälleen kiinni pad ringin ulkokehään (VSS MET1/MET2).
3.3 Muut standardisolut Muut standardirakenteet, jotka sijoitetaan SCRIBE alueen sisäpuolelle siten, että ne eivät mene päällekkäin muiden piirirakenteiden kanssa, ovat: 1) BUTTERFLY = maskien kohdistusmerkki, joita sijoitetaan vähintään kolmeen piirin kulmaan 2) RVBLK = prosessikohtainen maskitaulukko 3) LOGO = piirivalmistajan "mainos" 4) TEST = piirivalmistaja käyttää prosessin karakterisoimiseen 5) oma logo (ei ole pakollinen) Ym. standardisolut löytyvät SCRIBEn tavoin kirjastosta SFCLIB_BYE. Alla oleva kuva selventänee standardisolujen sijoittelua. padiringin uloin metallikehä SCRIBE VSS MET1/MET2 piirin layout BUTTERFLY RVBLK LOGO TEST 3.4 Bondausohjeen luominen Kuva 1. Standardisolujen sijoittelu. Kun suunniteltu piiri on tarkoitus pakata piirikoteloon, vaatii piirin valmistaja usein ns. bondausohjeen. Tästä ohjeestä käy ilmi, kuinka piirin padit kytketään piirikotelon jalkoihin (katso kuva 2). Ennen kuin bondausohje voidaan piirtää, pitää käytettävä kotelo valita. Kotelon valintaan vaikuttavat esim. piirin loppukäyttäjän vaatimukset, piirin padien lukumäärä ja piirin toimintataajuus. Yleensä piirikoteloksi valitaan pienin mahdollinen kotelo, ts. piiripaketissa on oltava vähintään yhtä paljon jalkoja kuin piirissä on padeja. Varsinkin korkeataajuisissa tai vähän piirilevytilaa vaativissa sovelluksissa kotelo on usein pintaliitos tyyppiä. Piipala kiinnitetään esim. liimaamalla piirikotelossa ns. cavityyn, joka on syvennys ns. lead framen keskellä. Kotelon jaloista tulevien johtojen päät muodostavat lead framen. Näihin johtojen päihin piirin padit kytketään ohuilla metallilangoilla (= bondauslanka). Huomaa, että cavityn koko määrää sen, kuinka iso piilastu ko. piirikoteloon voidaan sijoittaa. Bondausohje voidaan luoda käsin tai tietokoneen avulla. Tässä työssä käytetään
HitKitin mukana tullutta erityistä bondausohjeen piirtosovellusta. Sovelluksen käyttöohje on osana HitKitin on line dokumentointia osoitteessa file:/elsoft2/ DesignKits/ams_3.40/www/hitkit/tools/bond_editor/index.html. Huom! älä käytä ohjeen piirikoteloa, vaan valitse paras mahdollinen kotelo juuri tässä harjoitustyössä suunnittelemallesi piirille. Lista käytettävissä olevista piirikoteloista löytyy osoittesta file:/elsoft2/designkits/ams_3.40/www/download/documents/assy 168.pdf. cavity lead frame 3.2 Stream tiedoston luonti Kuva 2. Esimerkki bondausohjeesta. Piirisuunnitelma siirretään piirivalmistajalle usein gds formaatissa. Gds tiedoston kirjoittaminen Valitaan layoutplus ikkunan pull down valikosta File > Export > Stream..., jolloin saadaan täytettäväksi kaavake. Täytetään kaavakkeeseen kirjaston, solun (ylin solu) ja esitysmuodon nimi (layout), ja annetaan halutun gds tiedoston nimi, esim. ylimmän_solun_nimi.gds. Tarkistetaan vielä ohjaustiedosto valitsemalla User Defined Data >>, tässä tapauksessa kohdassa Layer Map Table: tulisi olla /elsoft2/designkits/ams_3.40/artist/hk_0.8_b/tech_byq/strminout.layertable.oh jelma generoi gds tiedoston ja lokitiedoston (PIPO.LOG), joka on syytä aina tarkistaa. Gds tiedoston lukeminen Valitaan layoutplus ikkunan pull down valikosta File > Import > Stream..., jolloin saadaan täytettäväksi kaavake. Täytetään kaavakkeeseen gds tiedoston nimi ja kirjasto johon lukeminen tapahtuu. Älä lue gds tiedostoa varsinaiseen suunnit telukirjastoosi, vaan luo tätä varten uusi kirjasto, jotta vältyt mahd. päälle kirjoittamiselta. Tarkistetaan vielä ohjaustiedosto valitsemalla User Defined Data >>, tässä tapauksessa kohdassa Layer Map Table: tulisi olla /elsoft2/designkits/ ams_3.40/artist/hk_0.8_b/tech_byq/strminout.layertable. Ohjelma generoi gds tiedoston sisältämät piirikuviot ja lokitiedoston (PIPO.LOG), joka on syytä aina tarkistaa.
4. Työselostuksessa vaadittavat asiat 1) Lopullinen layout kuva. 2) Kaikki tässä osiossa luodut piirikaaviot. 3) Tarkistusten (LVS ja DRC) raporttit. 4) Selitys käytetyistä hyvistä layout suunnittelusäännöistä (viittaa kuvauksessasi layout kuvaan). 5) Bondauskaavio. 6) Vastaukset seuraaviin kysymyksiin: 1. Mikä on scribe linen tehtävä? 2. Miksi valitsit käyttämäsi piirikotelon? 7) Täytetty palautekysely (ks. liite 3) erillisenä. Palautetaan anonyymisti assistentin huoneessa olevaan palautelaatikkoon. HUOM! viimeisen työselostuksen kannessa on oltava työn tekijöiden nimet, vuosikurssit ja sotut! Lisäksi gds tiedosto pitää lähettää sähköpostin liitetiedostona kurssin assistentille osoitteeseen hakki@ee.oulu.fi Lähdeluettelo Layout suunnitteluun liittyviä asioita käsitellään lukemattomissa eri lähteissä. Alla olevat ovat vain esimerkkejä, joten muiden lähteiden etsiminen ja käyttö on sallittua, jopa suotavaa. [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 at http://turquoise.wpi.edu/cds/ [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#1032087
Liite 1. Esimerkki ylimmän hierarkiatason piirikaaviosta HUOM! Tässä kuvassa CORE solu vastaa Σ modulaattorisolua.
Liite 2. Esimerkki ylimmän hierarkiatason piirikaaviota vastaavasta layoutista (solujen sijoittelu) HUOM! Tässä kuvassa CORE solu vastaa Σ modulaattorisolua.
Liite 3. AP III:n palautekysely Työn sisältö: 1) Oliko työ mielestäsi liian vaikea/työläs varrattuna kurssin opintoviikkomäärään? 2) Arvioi, kuinka monta tuntia käytit työn tekemiseen? 3) Oliko työ motivoiva ja mielekäs? Kuinka työstä saisi mielestäsi motivoivamman? 4) Oliko työmateriaali riittävä? Jos materiaalissa oli mielestäsi puutteita, niin mitä ne olivat? 5) Kuinka mielestäsi työn sisältöä voitaisiin kehittää? Työn rakenne: 6) Oliko työn osittaminen pieniin osakokonaisuuksiin mielestäsi hyvä asia? 7) Pitäisikö työ jakaa vieläkin useampaan osaan tai osia yhdistää? 8) Oliko opetuksen rakenne mielestäsi onnistunut? Ts. softademo videotykillä+ohjattua tietokonetyöskentelyä+omaa työskentelyä. Oliko softademoista mielestäsi jotain hyötyä? 9) Oliko suunnittelutyön materiaali ja ohjaus mielestäsi riittävää? 10) Oliko tietokonetyöskentelyn materiaali ja ohjaus mielestäsi riittävää? 11) Tukiko kurssin rakenne mielestäsi oppimista? Miten rakennetta voisi mielestäsi kehittää paremmin oppimista tukevaksi? Mikä muu rakenne olisi mielestäsi parempi? 12) Muita kommentteja. 13)Tee seuraavan sivun käsitekarttatehtävä.
Analogisen IC suunnittelun käsitekartta Piirrä käsitekartta analogisen IC:n suunnittelusta käyttäen ainakin osaa seuraavista avainsanoista (saa lisätä omia, jos haluaa): analoginen IC piirikaavio piirikuvio/layout piirisimulaatio simulointimalli spesifikaatiot piiriprosessi komponenttikirjasto piirisuunnitteluohjelmisto piirikotelo bondaus piipala/ lastu/chip käsinsuunnittelu hierarkia testaus/testaussuunnittelu piirilohkot tarkistus CAD/CAE sähköiset suunnittelusäännöt fyysiset suunnittelusäännöt Alla esimerkki käsitekartasta, joka kuvaa koripalloa (peliä).