Kotisivulle

Prosessorin artikkelit

Edelliselle sivulle

VHDL, logiikkasuunnittelijan ohjelmointikieli

Historiaa

VHDL (VHSIC Hardware Description Language) on ohjelmointikieli, joka on optimoitu kuvaamaan digitaalisten piirien ja järjestelmien toimintaa. Se syntyi Yhdysvaltain puolustusministeriön rahoittaman suurtiheyspiirejä (VHSIC, Very High Scale Integrated Circuits) tutkivan projektin sivutuotteena. Alkuperäinen kielen määrittely tehtiin kolmen yhtiön, IBM:n, Texas Instrumentsin ja Intermetricsin yhteisprojektina. Ensimmäinen julkinen versio VHDL:stä ilmestyi vuonna 1985.

Melkoisten muutosten ja parannusten jälkeen VHDL hyväksyttiin IEEE:n standardiksi vuonna 1987 (IEEE 1076-1987). Tämä standardi on kaikkien nykyisin myytävien simulointi- ja synteesiohjelmien perustana. Vuonna 1993 standardia päivitettiin (IEEE 1076-1993), mutta nämä parannukset eivät ole vielä ehtineet kaikkiin ohjelmistoihin.

Vaikka 1076-standardi määrittelee VHDL-kielen täydellisesti, täysin siirrettävien kuvausten tekeminen osoittautui vaikeaksi. Eri valmistajien simulaattoreilla saatavat tulokset eivät olleet täsmälleen samoja. Stardardointikomitea julkaisikin nopeasti lisästandardin IEEE 1164, joka määrittelee joukon simuloinnissa tarvittavia datatyyppejä. IEEE 1076-1987 ja IEEE 1164 muodostavat parin, joka määrittelee VHDL-kielen yksikäsitteisesti ja on erittäin laajassa käytössä.

Tämän vuoden alussa hyväksytty VITAL-standardi (IEEE 1076.4) laajentaa VHDL:n sovellusaluetta ASIC- ja FPGA-piirien ajastuksien simuloinnissa. Piirivalmistajat voivat toimittaa omista piireistään standardin mukaisia viivetiedot sisältäviä simulointimalleja.

Mihin sitä voi käyttää?

VHDL soveltuu yhtä hyvin paperikoneen toiminnan mallittamiseen kuin pienen PLD-piirin suunnitteluun. Se sisältää kaikki korkeantason ohjelmointikielien ominaisuudet, mutta siinä on lisäksi tuki todelliselle rinnakkaiskäsittelylle.

Synteesiohjelman kelpuuttama logiikkakuvaus sisältää vain murto-osan koko kielen kattamasta alueesta. Testipenkki sen sijaan voi hyödyntää kaikkia kielen ominaisuuksia tiedostokäsittelyineen ja osoittimineen. Rakenteinen VHDL taas vastaa täysin EDIF-vetolistaa, jolla suunnittelutietoja siirretään järjestelmästä toiseen.

VHDL:ää voidaan käyttää kokonaisten järjestelmien määrittelyyn, simulointiin hallintaan ja testaukseen. Se on ennen kaikkea simulointityökalu, jolla kuvatun järjestelmän toimivuus voidaan varmistaa mahdollisimman aukottomasti.

Synteesiohjelman avulla logiikkakuvaus voidaan muuttaa porteiksi ja kiikuiksi. Synteesin jälkeen samat simuloinnit voidaan toistaa todellisilla piirin viiveillä, ja näin edelleen varmistaa valmiin piirin toimivuus.

Vaikeaa ja kallista?

Yleisesti uskotaan, että VHDL on vaikea oppia ja sen vaatimat työkalut ovat kalliita. VHDL on tosiaan hyvin monimutkainen kieli, jos sen kaikkia hienouksia käytetään. Synteesiohjelmat käyttävät kuitenkin vain hyvin pientä osajoukkoa kielestä. Tässä rajoitetussa muodossa VHDL ei ole yhtään vaikeampi oppia kuin muutkaan yleisesti käytetyt kuvauskielet, esimerkiksi ABEL, CUPL tai AHDL. Sen suurin etu muihin nähden on sen asema IEEE standardina, mikä takaa tuen useilta ohjelmavalmistajilta ja koodin siirrettävyyden myös tulevaisuudessa.

VHDL-simulaattoreita ja synteesiohjelmia on toistaiseksi ollut saatavissa pääasiassa työasemiin, ja hinnat ovat olleet vasta käyttöä harkitsevan ulottumattomissa. Tilanne on kuitenkin nopeasti muuttumassa. Uusia ASIC- ja FPGA-piirien suunnitteluohjelmistoja julkistetaanWindows-ympäristöön jatkuvasti ja hintaskaala ulottuu jo ilahduttavan alas. Halvimpien ohjelmien ominaisuudet ja suorituskyky eivät tietenkään riitä kovin vaativaan käyttöön, mutta niiden avulla voi ilman suuria investointeja kokeilla kuvauskielen käyttöä logiikkasuunnittelussa.

VHDL:n paljon mainostettu "dramaattinen" lisäys suunnittelun tuottavuuteen saavutetaan vasta pitkähkön käytön jälkeen. Tuottavuuden kasvu perustuu suurelta osin suunnitteluvirheiden vähenemiseen ja koodin uusiokäyttöön. Synteesityökalujen ominaisuuksien opettelu ja kierrätyskelpoisten modulien syntyminen vie aikaa. Ensimmäinen VHDL-projekti ei siis saisi olla aikataulukriittinen.


© Jukka Tolonen, 1996


Edelliselle sivulle Kotisivulle