Testipenkki: virtuaalinen testiympäristö logiikan testaukseen
WorkView Office -ohjelmistopaketilla voi suunnitella yhtä hyvin piirikaavioita ja piirilevyjä kuin EPLD-, FPGA- ja ASIC-piirejäkin. Monipuolisilla simulaattoreilla onnistuu tarvittaessa myös digitaali- ja analogiapiirien sekasimulointi. Järjestelmä tarjoaa PC-käyttäjälle samat kehittyneet suunnittelumenetelmät kuin Unix-työasemaohjelmistotkin.
Amerikkalainen Viewlogic oli vuonna 1994 kaikkien PC-pohjaisten CAE-ohjelmistojen selvä markkinajohtaja noin 40 prosentin maailmanlaajuisella osuudella. FPGA-piirien suunnitteluohjelmistoissa tämä osuus on vieläkin suurempi, sillä ainakin Actel, Atmel, AT&T, Cypress, Lattice, Motorola ja Xilinx käyttävät Viewlogicin Windows-ohjelmien rajoitettuja versiota omien piiriensä suunnittelutukena. Niihin ei kuitenkaan voi hankkia muiden valmistajien piirien kirjastoja.
WorkView Office sisältää samat kehittyneet suunnittelutyökalut kuin Unix-työasemissa toimiva Powerview-ohjelmisto. Sekä Unix- että PC-ohjelmia voidaan käyttää samassa järjestelmässä, sillä kaikkien tietokannat ovat yhteensopivia ilman erillisiä muunnoksia.
Paljon ohjelmoitavia piirejä suunnittelevalle yritykselle piirivalmistajista riippumattoman ohjelmiston käyttäminen tarjoaa merkittäviä etuja. Piirin logiikka voidaan suunnitella ja simuloida kokonaan valmiiksi jo ennen varsinaista piiritoimittajan valintaa. Jos ohjelmoitavien piirien hinta- tai toimitustilanne muuttuu nopeasti, piiritoimittajaa voidaan tarvittaessa vaihtaa suunnittelematta koko piiriä alusta asti uudelleen.
Hyvin aika- tai tilakriittisissä sovelluksissa logiikka voidaan sovittaa useille eri tyyppisille piireille ja tutkia, millä niistä saavutetaan riittävä suorituskyky edullisimmalla hinnalla. Piirivalmistajien kannalta tämä kehitys tietysti lisää ennestäänkin rajua kilpailua piirien kapasiteetissa ja suorituskyvyssä.
Tukeakseen yleiskäyttöisiä suunnitteluohjelmia kaikilla ohjelmoitavien piirien valmistajilla on tehokkaat erilliset sovitus- ja reititysohjelmat omia piirityyppejään varten. Suunnittelutiedot siirretään vaivattomasti ohjelmasta toiseen EDIF-standardimuodossa (Electronic Design Interchange Format). Viewlogicin ohjelmistossa on valmiina yhteydet muun muassa Alteran, Atmelin, Cypressin, Latticen, QuickLogicin ja Xilinxin omiin sovittimiin.
WorkView Office koostuu melkoisesta joukosta erillisiä ohjelmia, joilla on yhtenäinen Windows-käyttöliittymä. Ohjelmat käyttävät sisäiseen moniajoon säikeitä ja kommunikoivat keskenään käyttöjärjestelmän kautta. Käyttöliittymä osaa käynnistää työtiedostojen tyyppien perusteella oikeat sovellusohjelmat automaattisesti. Integrointi on nykyisessä versiossa vielä hieman kesken, koska joitakin apuohjelmia täytyy edelleen käynnistää DOS-komentoriviltä.
Digital Fusion on yhtenäinen käyttöliittymä VHDL (SpeedWave) ja Verilog (VCS) kuvauskielien simulaattoreille ja porttitason logiikkasimulaattorille (ViewSim). Digital Fusion pystyy tarvittaessa käyttämään näitä kaikki yhtäaikaa sekasimulointia varten.
Vastaavasti Analog Fusion on analogia- ja digitaalikytkentöjen sekasimulointiin tarkoitettu yhtenäinen käyttöliittymä, joka käyttää ViewSpicea analogia- ja ViewSimiä digitaalisimulointiin. Kaikkien simulaaattorien signaalien graafiseen tulostukseen käytetään ViewTrace-ohjelmaa.
WorkView Office toimitetaan kahdella cdrom-levyllä, joista toisella on ohjelmisto ja toisella kirjastot. FPGA-piirien suunnitteluun soveltuva kokoonpano vie levytilaa noin sata megatavua. Kirjastolevyä ei välttämättä tarvitse asentaa kiintolevylle, vaan sitä voidaan hyvin käyttää suoraan cd-levyasemasta myös verkkokäytössä.
Eri ohjelmistomodulien käyttöoikeudet aktivoidaan lisenssitiedostolla. Kiinteitä lisenssejä käytettäessä tietokoneen tunnistamiseksi tarvitaan edelleen kirjoitinportiin asennettava välikappale, kelluvia lisenssejä käytettäessä sitä ei tarvita. NT:ssä välikappaleen käyttö edellyttää erityistä ajuria, joka toimitetaan asennuksen mukana.
Lisenssitiedostoa käytettäessä ohjelmisto voidaan hinnoitella pienissä osissa, joista voidaan räätälöidä täsmälleen asiakkaan tarvitsema kokonaisuus. Ohjelmiston osia voidaan aktivoida määräajaksi, joten uutta optiota voidaan kokeilla tositoimissa ennen hankintapäätöksen tekemistä.
Asennusohjelmassa on vielä joitakin lastentauteja, sillä jotkut tavallisuudesta poikkeavat käyttöjärjestelmän asetukset saattavat aiheuttaa asennusongelmia. Tässä vaiheessa onkin oiva tilaisuus luoda toimivat suhteet tekniseen tukeen vaikkapa sähköpostin kautta, sillä apua ja neuvoja tarvitaan varmasti myös jatkossa.
WorkView Office -paketin mukana ei seuraa ainoatakaan paperille painettua käsikirjaa. Kaikki dokumentit ovat cdromilla. Kaikkiaan asennuksen yhteydessä tulee 13 megatavua Windowsin .hlp-tiedostoja.
Help-tiedostoissa on selkeä sisällysluettelo, runsaasti ristiviittauksia ja kohtuulliset hakemistot. Useimmista ohjelmista on esittelyluku, jossa neuvotaan kyseisen ohjelman tarvitsemat toimenpiteet suunnittelun alkuvaiheessa ja käydään läpi yksinkertaisen suunnitteluesimerkin työvaiheet.
Mukana on myös oma osa Viewlogicin vanhempien ohjelmaversioiden päivittäjille. Siinä kerrotaan lyhyesti, miten WorkView Office poikeaa käytöltään ja ominaisuuksiltaan vastaavista vanhemmista versioista. Kaikki aikaisemmat suunnittelutiedot voidaan suoraan lukea myös uuteen järjestelmään.
ViewDraw piirikaavio on hyvin monikäyttöinen. Sitä voi käyttää yhtä hyvin Viewlogicin oman tai muiden valmistajien piirilevyohjelmistojen kanssa. Geneerisillä porttikirjastoilla varustettuna sillä voi suunnitella valmistajasta riippumattomia loogisia kytkentöjä. Eri valmistajien kirjastojen avulla voidaan tehdä kytkentöjä, joiden simulointimallit sisältävät valmistajan ilmoittamat porttiviiveet.
Käytettävät kirjastot valitaan projektikohtaisesti erillisellä Project Manager-ohjelmalla. Samalla asetetaan projektin kotihakemisto. ViewDraw antaa monipuoliset mahdollisuudet erilaisten määreiden liittämiseksi vetoihin ja komponenttisymboleihin. Näillä voidaan jatkossa ohjata piirilevy-, simulointi- tai synteesiohjelmistojen toimintaa.
Kytkennän lohkot voidaan suunnitella vapaasti piirikaavioita tai kuvauskieltä käyttäen. Kun kuvauskielinen lohko halutaan kytkeä piirikaavion komponentiksi, sille muodostetaan piirikaaviosymboli VHDL2Sym-komennolla. Symbolille asetetaan automaattisesti määreet, joiden perusteella Digital Fusion simulaattori osaa käynnistää VHDL-simulaattorin kyseisen lohkon toiminnan simulointia varten. Vastaavasti piirikaaviona määritelty lohko voidaan liittää mukaan VHDL-kuvaukseen komponenttina, joka on generoitu Sym2VHDL-komennolla.
SpeedWave on VHDL-simulaattori, jota käytetään kuvauskielisen koodin analysointiin ja simulointiin. Sen käyttö muistuttaa suuresti korkean tason ohjelmointikielien testaukseen käytettävää lähdekielistä debuggerin käyttöä. Koodiin, signaaleihin tai muuttujiin voidaan asettaa katkoskohtia (breakpoint), muuttujien ja signaalien arvoja voidaan monitoroida (watchpoint). ViewTracen avulla valitut signaalit voidaan myös tulostaa simuloinnin aikana graafisesti omaan ikkunaansa.
SpeedWave sisältää kaikki VHDL-1987-standardin (IEEE 1076) mukaiset kielen piirteet. Sitä voidaan siten käyttää tehokkaasti myös käyttäytymismallien ja testipenkkien tekoon. Pienenä puutteena on tuen puuttuminen VHDL-93 lisäyksille (IEEE 1076-1993), jotka sallisivat entistä joustavamman tiedostokäsittelyn.
SpeedWave muuttaa analysoimansa VHDL-kielisen ohjelman C++-kielelle, jotka käännetään Microsoftin kääntäjällä objektimoduleiksi. Simulaattori linkittää tarvittavat modulit simuloinnin alussa konekieliseksi simulointimalliksi. Tällä menetelmällä saavutetaan suuri simulointinopeus silloin, kun koko simulointimalli mahtuu käyttömuistiin. Haittana on melko pitkä käännösaika. Syntaksivirheet havaitaan onneksi jo analysointivaiheessa, eikä muunnosta C-kielelle silloin suoriteta.
Ennen työskentelyn aloittamista täytyy aluksi määritellä käytettävät kirjastot ja niiden sijainti. Vähintään tarvitaan työkirjasto, johon käännöstulokset talletetaan. Valmiiksi käännettyjä VHDL-moduleita voidaan liittää mukaan myös muissa hakemistoissa sijaitsevista kirjastoista. Niiden polku ja looginen nimi määritellään kirjastoikkunassa.
VHDL-koodi analysoidaan syntaksi- ja ohjelmointivirheiden löytämiseksi. Käännös tapahtuu DOS-ikkunassa, ja käännösvirheet viittaavat lähdetiedoston rivinumeroihin. Simulaattorin oma editori on vaatimaton, Windowsin Notepadin tasoa, eikä sitä voi suositella varsinaiseen koodin kirjoittamiseen. Virheettömän käännöksen jälkeen suoritetaan automaattisesti muunnos C-koodiksi ja sen käännös.
Kuvauskielellä määritelty ja VHDL-simulaattorilla testattu "kytkentä" on vielä täysin riippumaton kohteena olevasta piirityypistä. Kytkentä voidaan yhtä hyvin pakata PLD, FPGA tai ASIC-piiriin tarpeen mukaan. Kytkentä ei myöskään sisällä mitään porttien tai kiikkujen viivetietoja, joten sen suorituskyvyä suurilla kellotaajuuksilla ei pystytä arvioimaan. Tässä vaiheessa keskitytään vain virheettömän loogisen toiminnan varmistamiseen ideaalisilla kytkentäelementeillä.
Synteesiohjelman avulla logiikan VHDL-kuvaus muutetaan porteista ja kiikuista koostuvaksi kytkennäksi. Samalla kytkentä sovitetaan yhteen piirivalmistajan teknologian kanssa. Piiri voi aivan yhtä hyvin olla CPLD-, FPGA- tai ASIC-piiri, kunhan käytettävissä ovat piirivalmistajan kirjastot, joissa on kuvattu logiikkaelementtien rakenteet ja ominaisuudet.
Tuloksena on porttimalli, jossa logiikka on kasattu kirjastoista löytyvistä elementeistä. Mallin toiminta testataan simuloimalla sitä samoilla herätteillä kuin aikaisempiakin malleja. Nyt vasteissa ovat mukana kaikki logiikan viiveet, mutta johdotuksen aiheuttamat todelliset viiveetpuuttuvat vielä.
Kaikki markkinoilla olevat synteesiohjelmat hyväksyvät vain pienen alijoukon koko VHDL-kielen kattamasta alueesta. Toiminnan kuvaava RTL-koodi onkin rakennettava täsmälleen tietyillä, synteesiohjelman tunnistamilla lauserakenteilla, joilla saadaan muodostettua haluttu kombinaatiologiikka ja rekisterirakenteet.
Hyvän synteesiohjelman täytyy osata tunnistaa rakenteet, joita se ei osaa toteuttaa. Synteesiohjelmat ovat nykyisessä kehitysvaiheessaan vielä perin inhimillisiä olioita, sillä ne voivat tehdä joskus pahojakin erehdyksiä yksittäisen lohkon suunnittelussa. Siksi synteesituloksen toimivuus on joka tapauksessa varmistettava simuloinnilla.
ViewSynthesis antaa selkeät ilmoitukset rakenteista, joita se ei ymmärrä. Muutamat optiot antavat käyttäjälle jonkin verran mahdollisuuksia eri moduleiden synteesin ohjaukseen. Joissakin moduleissa halutaan optimoida nopeus, joissakin taas pieni pinta-ala on nopeutta tärkeämpi. Myös synteesin prosessoriajan käyttöä voidaan ohjata "CPU effort"-asetuksella.
Synteesituloksen simulointi voidaan tehdä Viewlogicissa kahdella eri tavalla. Synteesiohjelman tuottama porttitason malli yhdessä kaikkien piirielementtien voidaan tulostaa VHDL-koodina. Porttitason VHDL-mallia voidaan sitten simuloida samalla simulaattorilla kuin alkuperäistäkin RTL-mallia.
Synteesitulos voidaan myös tulostaa normaalina vetolistana, jota simuloidaan porttitason simulaattorilla (ViewSim). Sen käyttöliittymä on täsmälleen samanlainen kuin VHDL-simulaattorinkin. Katkoskohtia tosin ei voi asettaa tietylle koodiriville, ainoastaan haluttujen signaalin muutoskohtiin. Kaikki kytkennän signaalit ovat käytettävissä monitorointiin, katkoksiin ja tulostukseen.
Jos testaukseen käytetään testipenkkiä, tarvitaan simulointiin molempia menetelmiä rinnakkain. Tässä tapauksessa testipenkki ja testattava piiri täytyy kytkeä toisiinsa kytkentäkaavion avulla. Molemmille luodaan piirikaaviosymbolit ja tarvittavat nastat kytketään yhteen ylimmän tason piirikaaviossa, josta tehdään vetolista. Se ladataan Digital Fusion simulaattoriin, joka osaa piirikaaviosymbolien määreiden perusteella käynnistää VHDL-simulaattorin testipenkkiä varten ja porttitason simulaattorin synteesin tuottaman logiikan testausta varten. Molemmat simulaattorit toimivat samanaikaisesti kommunikoiden keskenään piirikaavion määrittelemien signaalien avulla. Testaus tapahtuu täsmälleen samoilla menetelmillä kuin RTL-mallin testauskin.
Logiikan sijoittelu valitun piirin soluihin ja sisäisen johdotuksen reititys (place & route) tehdään piirivalmistajien omilla työkaluilla. Tämä menettely on nykyisin yleisessä käytössä myös työasemaohjelmistoissa. Sovitin pakkaa logiikan valittuun piirityyppiin käyttäjän antamien reunaehtojen mukaan mahdollisimman tehokkaasti. Näin voidaan hyödyntää kunkin valmistajan piirien erikoisominaisuuksia.
Sijoittelun jälkeen tarvitaan vielä kolmas ja viimeinen simulointikierros. Sijoitteluohjelmalla viimeistelty piiri tulostetaan piirivalmistajan ohjelmassa joko EDIF- tai VHDL-vetolistana ja siirretään takaisin Viewlogiciin lopullista simulointia varten.
CPLD-piireillä ajastukset muuttuvat sijoittelussa vain vähän. Jos kellotaajuudet ovat matalia, tämän vaiheen voi joskus jättää pois. FPGA-piireissä johdotusviiveet ovat merkittäviä, ja niissä loppusimulointi kaikilla viivetiedoilla pitäisi aina suorittaa luotettavan lopputuloksen varmistamiseksi.
Mikropiirien suunnitteluun tarkoitetut ohjelmat ovat kaikkein monimutkaisimpia CAD-ohjelmia. Ne asettavat suuret vaatimukset työasemien suorituskyvylle, käyttäjän tiedoille ja taidoille sekä ohjelmavalmistajan tekniselle tuelle. Ohjelmat kehittyvät sellaista vauhtia, että niiden oma käyttäjädokumentointi ei pysy ajan tasalla. Tälläisiä ohjelmistoja käyttävien ammattilaisten tekemät tekniset kysymykset eivät ole helppoja vastattavia.
WorkView Office-paketin dokumentointi ei ole riittävän yksityiskohtainen ratkaistaakseen kokeneiden käyttäjien käytössä esiintyvät ongelmat. Valmistajan www-sivuilta on saatavissa sovellusraportteja, jotka auttavat eteenpäin. Tämäntasoisissa ammattilaistyökaluissa paras tietolähde visaisissa kysymyksissä on kuitenkin ehdottomasti valmistajan tekninen tuki. Viewlogicin Tukholman tukikeskuksen sovellusinsinööri on tavoitettavissa puhelimella, faksilla ja sähköpostilla.
Simulointi ja synteesi vaativat kunnolla toimiakseen reilusti muistia. Simulointi etenee ripeästi vain, jos koko mallin koodi yhdessä simulointiohjelman kanssa mahtuu kokonaan muistiin. Heittomuistin käyttö hidastaa simulointia dramaattisesti. Synteesi ei ole aivan yhtä kriittinen muistin määrälle, ja siinä on selvää hyötyä myös nopeasta prosessorista.
32 megatavua muistia on minimi jo pientenkin piirien suunnittelussa. Mittavissa töissä 128-256 megatavun muisti ei ole liioittelua. Pentium Pro -prosessorilla varustettuna tälläinen super-PC kilpailee hyvin tasapäisesti Unix-koneiden kanssa suorituskyvyssä.
WorkView Officen ohjelmat eivät sellaisenaan vaadi tietokoneelta kovin kummallista suorituskykyä. Käyttöliittymä toimii jouheasti jo varsin vaatimattomallakin kokoonpanolla. Useankaan käyttäjän järjestelmässä ei siten välttämättä tarvita kuin yksi järeä kone, jossa simuloinnit ja synteesit ajetaan. Piirikaavioiden piirto, yksittäisten modulien koodaus ja testaus voidaan hyvin suorittaa tavanomaisilla CAE-käyttöön tarkoitetuilla koneilla, joihin riittää 16 megatavun muistimäärä ja 486-prosessori.
WorkView Officessa on, samoin kuin kaikissa mikropiirityökaluissa, joitakin puutteita ja rajoituksia. Niitä voi suhteellisen helposti paikata sopivilla apuohjelmilla. Esimerkiksi VHDL-kääntäjän pystyy sovittamaan jonkin VHDL-kielen syntaksin tuntevan editorin kanssa tehokkaaksi parivaljakoksi, jossa käännös käynnistetään editorista ja virheet osoitetaan suoraan lähdekoodista.
Useimmat suunnittelijat käyttävät myös lähdekoodin versionhallintaa ja make-tyyppistä automaattista käännösten hallintaa. SpeedWaven komentorivisyntaksi antaa tähän täydet mahdollisuudet.
Lohkojen suunnittelussa voidaan käyttää niihin parhaiten soveltuvia menetelmiä, sillä piirikaavion ja lausekielien yhteiskäyttö onnistuu vaivatta. Simuloinnissa ja synteesissä koko logiikkaa käsitellään samalla tavalla riippumatta siitä, millä menetelmällä se on suunniteltu. Tarvittaessa ohjelmistoa voi laajentaa monipuolisesti analogiasimulointiin, signaalin laatuanalyysiin ja logiikan viiveanalyysiin.
WorkView Office on tarkoitettu mikropiirejä ammatikseen suunnittelevien työkaluksi. Tehokkuus ja monipuolisuus on selvästi asetettu helppokäyttöisyyden edelle. Se tarjoaa Windows-ympäristössä samat kehittyneet suunnittelumenetelmät kuin vastaavat työasemaohjelmistotkin.
Käännöstulokset talletaan työkirjastoon, jonka sisältö ja rakenne näkyy havainnollisesti "Project Libraries"-ikkunassa. Mikä tahansa työkirjaston moduli voidaan valita simuloitavaksi hiiren näpäytyksellä.
Simulaattorin ikkunassa näkyy koodin hierarkinen rakenne ja valitun modulin sisäiset signaalit ja muuttujat. Mitkä tahansa niistä voidaan valita ViewTrace-ohjelman piirrettäviksi.
Synteesin edistyminen näkyy havainnollisesti "Compiled Entities"-ikkunan ikoneista. Jokainen projektin moduli voidaan tarvittaessa kääntää erikseen sille sopivilla optioilla. Alareunan palkissa näkyy valittu teknologia, optimointitapa ja siihen käytettävä suhteellinen prosessoriaika.
Synteesityökalun sielunelämään ja toimintatapoihin voi tutustua tutkimalla synteesitulosta piirikaaviona. Kiinnostunut kokeilija voi tällä tavalla oppia käyttämään työkaluaan mahdollisimman tehokkaasti. Vasemmassa alakulmassa näkyy valitun signaalin nimi.
| Ohjelma | Viewlogic WorkView Office, versio 7.1 |
| Hinnat: | WinNT/Win95 |
| ViewDraw | 27 000 mk/13 600 mk |
| SpeedWave | 76 000 mk/50 000 mk |
| ViewSynthesis | 90 000 mk/60 000 mk |
| ViewSim | 66 000 mk/37 000 mk |
| Digital Fusion | 30 000 mk/30 000 mk |
| Kelluvat lisenssit nostavat hintoja noin 25%. | |
| Edustaja | DS Design Systems, Puh. 941-652588, faksi 941-610725 |
| Valmistaja | Viewlogic Systems, Inc. USA |
| Laitteistovaatimukset | Windows 95 tai Windows NT 3.51 (build 1057 tai uudempi), 486/66MHz tai Pentium prosessori, muistia vähintään 16 megatavua (SpeedWave 32 MB), CD-ROM, VGA tai SVGA näyttö. Asennus tarvitsee levytilaa vähintään 100 megatavua. |
| Kopiointisuojaus | Valmistajan toimittama lisenssitiedosto ja kirjoitinporttiin liitettävä välikappale. Kelluvia lisenssejä käytettäessä välikappaletta ei tarvita. |
| Käsikirjat | Käsikirjat kovalevyllä Windowsin help-tiedostoina. |
| Tekninen tuki | Edustajalta Suomessa, valmistajan www-palvelimelta http://www.viewlogic.com tai Viewlogicin Tukholman toimistosta puh. +46-8-623 6732, faksi +46-8-962 659. |
| Soveltuvuus | Ammattimaiseen mikropiirien suunnitteluun. Käyttö vaatii aikaisempaa kokemusta ohjelmoitavien piirien suunnittelusta ja suunnittelumenetelmistä. |
Edelliselle sivulle Kotisivulle