Mikropiirien suunnittelussa on viime aikoina määrätietoisesti pyritty eroon piirikaavioiden käytöstä. Uusilla ohjelmistoilla suunnittelu pystytäänkin tekemään kokonaan VHDL-kielellä.
VHDL-mallin ylimmät tasot ovat tavallisesti rakennekoodia (structural VHDL), joka ei sisällä lainkaan loogisia toimintoja, ainoastaan hierarkian alemmilla tasoilla määriteltyjen komponentteja kytkentöjä toisiinsa ja piirin nastoihin. Kytkentöjen tekstimuotoinen kuvaus on kuitenkin paljon epähavainnollisempi kuin vastaava esitys piirikaaviona. Virheettömän kuvauksen kirjoittaminen vaatii suhteettoman paljon aikaa.
Monissa suunnitteluohjelmistoissa voidaan käyttää sekä piirikaavioita että kuvauskieltä sekaisin. Piirikaavion komponenttisymbolin luomiseksi täytyy vastaava VHDL-suunnitteluyksikön esittelyn (entity) olla jo olemassa. Suunnittelua tehdään silloin bottom-up-menetelmällä alimmista lohkoista ylöspäin.
Mikropiirisuunnittelu on kuitenkin selkeästi top-down-suunnittelua: piirin nastat ja toiminnot on määritelty spesifikaatioissa, ja piirin sisäistä rakennetta hahmotellaan jäsentämällä sen sisäisiä toimintoja yhä pienempiin ja yksinkertaisempiin kokonaisuuksiin. Näin saatu järjestelmän hierarkinen lohkokuvaus toimii varsinaisen logiikkasuunnittelun eli VHDL-koodauksen pohjana. Ylimmän tason lohkoja suunniteltaessa käytetään monesti edelleen perinteistä ruutupaperia ja lyijykynää apuna.
CompLib on tarkoitettu juuri tälläisten lohkotason kuvausten graafiseen suunnitteluun. Työskentely etenee samoin kuin normaalissa piirikaaviossa. Ensin luodaan lohkosymbolit ja määritellään niille liitäntäsignaalit, jotka ovat suoraan VHDL:n signaalityyppejä. Valmiita symboleja kytketään toisiinsa johtimilla, jotka ovat joko yksittäisiä signaaleja tai väyliä. Kytkentä voi koostua useista sivuista tai se voi olla hierarkinen, jolloin voidaan siirtyä eri tasoilta toisille. Suunnitelman ylimmät tasot ovat piirikaaviona helpommin hahmotettavassa muodossa, joten inhimilliset virheet vähenevät.
Valmiista piirikaaviosta voidaan muodostaa synteesikelpoinen VHDL-kuvaus, joka sisältää valmiit entity-osat kaikille "piirikaavion" lohkoille sekä tarvittavat signaalimäärittelyt niiden välisille kytkennöille. Jokaisen entityn pariksi voidaan myös muodostaa tyhjä arkkitehtuurikuvaus, josta logiikkasuunnittelija voi aloittaa VHDL-koodauksen.
CompLib sisältää lisäksi koodigeneraattoreita porttien, kiikkujen, siirtorekistereiden, laskureiden, valitsimien, koodereiden, aritmeettisten funktioiden ja muunnosfunktioiden automaattiseen generointiin käyttäjän antamien parametrien perusteella.
Kokeillussa versiossa 1.1 kytkentöjen teko sujuu helposti näppärän automatiikan ansiosta. Valmiiden kytkentöjen muokkaus on sen sijaan hankalaa, koska symbolia siirrettäessä siihen liitetyt kytkennät eivät automaattisesti siirry mukana. Symbolit kannattaakin sijoitella jo alunperin hyvin väljästi, jotta kytkennöille jää reilusti tilaa. Ohjelman generoima koodi on siistiä ja selkeästi muotoiltua. Koodi kannattaa jakaa hierarkian mukaisesti erillisiin tiedostoihin, joita käytetään sitten lohkojen suunnittelun lähtökohtina.
CompLib on pätevä apuväline jo nykyisessä muodossaan. Käyttökelpoisuutta lisäisivät paremmat editointiominaisuudet ja valmiiden pakettien käyttö tyyppien määrittelyissä. Olemassa olevien kuvausten ylläpitoa helpottaisi mahdollisuus lukea tiedostoista valmiita entity-määrittelyjä, joiden pohjalta CompLib muodostaisi automaattisesti vastaavan piirikaaviosymbolin.
Edelliselle sivulle Kotisivulle