Kopioi artikkelin PDF-versio
Kannettavan kulutuselektroniikan perustana tulevaisuudessa on yhdellä ASIC-piirillä toteutetut tietokoneet ja niiden ohjelmistot. Usean prosessorin muodostaman tietokonepiirin menetyksellinen suunnittelu ja valmistus edellyttää nykyisten toimintatapojen hylkäämistä ja panostamista uuden tyyppisiin kehitystyökaluihin. Avainasemassa tietokonearkkitehtuurien suunnittelussa on virtuaalikomponenttien hyödyntäminen.
Monesta prosessorista muodostuvan tietokonepiirin suunnittelu ja valmistus on kannattava, mutta haasteellinen tehtävä, jossa puhutaan helposti sadoista henkilötyövuosista. Ongelmana on, että tehtyjä suunnittelupäätöksiä ei pystytä nykyisiä työkaluja ja menetelmiä käyttämällä arvioimaan riittävän varhain. System Chip Inc., Finland (SciFi) -projektissa on perehdytty IP-lohkojen käytön ja tietokonearkkitehtuurien suunnittelun ongelmiin.
Yhteensopivuus tärkeää
Uudet palvelut työntyvät sekä koteihin että matkapuhelimiin. Laajakaistaliittymällä varustetulla koti-PC:llä voi jo katsella elokuvia, kuunnella musiikkia ja uppoutua verkkopelien virtuaalimaailmoihin. Tietoverkko onkin jo monessa suhteessa ohittanut TV:n tarjonnan viihde- ja tietolähteenä. Sama kehitys on tulossa matkaviestimiin kolmannen sukupolven matkapuhelinverkkojen ja langattomien paikallisverkkojen mukana. Lisääntyvä kapasiteetti mahdollistaa uudet monipuoliset palvelut.
Tavallisessa matti meikäläisessä kehitys herättää myös pelonsekaisia tunteita ja varsinkin loppukäyttäjille tuotteita valmistavilla yrityksillä onkin iso haaste edessään. Kuinka taata yhteensopivuus erilaisten ja muuttuvien yhteyksien ja palvelujen kanssa ilman, että käyttäjät joutuvat päivittämään koneitaan ja niiden osia liian usein?
ASIC-teknologialla toteutettavan järjestelmämikropiirin (SoC, System-on-Chip) muodostama tuotealusta on varteenotettava ratkaisuvaihtoehto, jolla voidaan saavuttaa usein ristiriitaiset mukautuvuus-, joustavuus- ja suorituskykyvaatimukset. Tosin SoC-alustan suunnittelu ei ole ongelmatonta. Siinä täytyy pystyä sovittamaan yhteen tulevien tuotteiden usein epämääräisesti esitetyt vaatimukset ja olemassa oleva optimoitujen suorittimien ja lohkojen tarjonta arkkitehtuuriksi, joka kasvaa ja kehittyy sovellusten mukana olematta kuitenkaan missään vaiheessa ylimitoitettu. SciFi-projektissa kehitetään ja testataan tarvittavaa suunnittelumenetelmää ja hahmotellaan keskeiset vaatimukset tarvittaville menetelmille ja työkaluille.
Käyttäjälaitteet mukautuvat eri sovelluksiin
Tietoverkot ovat tunkeutumassa koteihin joko puhelinlankoja tai radioaaltoja pitkin. ADSL- ja WLAN-ratkaisuja on jo kaupallisesti saatavilla. Niiden yhteydessä puhutaan jo megabittien tiedonsiirtokapasiteetista sekunnissa ja jopa reaaliaikaisen videokuvan siirrosta. Onkin odotettavissa, että palvelut tulevat selkeästi muuttumaan.
Kolmannen sukupolven UMTS-matkapuhelinjärjestelmät mahdollistavat vastaavien palvelujen siirtymisen käyttäjän mukana. Samalla käyttäjälaitteisiin eli terminaaleihin kohdistuu uusia, selvästi entistä kovempia vaatimuksia. Vaikka todellisten läpimurtosovellusten ennustaminen onkin lähes mahdotonta, niin todennäköisesti tulevaisuuden terminaaleista löytyy henkilökohtaisen tietokoneen, pelikonsolin, TV:n, videonauhurin ja luottokortin kaltaisia toimintoja. Niiden avulla laitteen omistaja voi kommunikoinnin lisäksi käyttää varsinkin lähiympäristöstään löytyvää sähköistä informaatiota ja viihdettä.
Tulevaisuuden terminaalien keskeinen vaatimus on mukautuvuus. Terminaalin täytyy soveltua hyvin eri tyyppisten sovellusten ajoalustaksi. Sovellukset voivat vaihdella videokuvan katselusta pankkiyhteyden salaamiseen, tietokantahakuun tai virtuaalitodellisuuspeliin.
Erilaiset sovellukset vaativat erilaista laskenta- ja muistiarkkitehtuuria. Pelejä pelattaessa on tärkeää, että vasteajat satunnaisiin herätteisiin pysyvät kokonaiskuormituksesta riippumatta riittävän nopeina. Toisaalta videokuvaa katsottaessa laskennan tarve tunnetaan: Joka sekunti on muodostettava 24 kuvaa ja jokaiseen kuvaan tietty määrä kuvaelementtejä. Sama toistuu kunnes palvelu lopetetaan.
Tietokoneelle mainitut kaksi esimerkkiä asettavat hyvin erilaisia vaatimuksia. Satunaisen reaktiivisen järjestelmän täytyy pystyä nopeasti mukautumaan muuttuneeseen tilanteeseen, kun taas videokuvan purkaminen on datapainotteista numeromurskausta.
Kannettavia laitteita on mukana yleensä vain yksi kerrallaan. Niinpä saman laitteen täytyy pystyä kommunikoimaan monen tietoverkon kanssa. Ohjelmistoradio (Software Defined Radio) on konsepti, jossa tyypillisesti paljon laskentaa vaativa digitaalinen tiedonsiirtoyhteys toteutetaan ohjelmistolla. Käytännössä sen ongelmana on ollut kapasiteetin riittämättömyys tai tarvittavan tietokoneen kohtuuton tehon tarve.
Tulevaisuuden langattomat yhteydet ovat menossa Internetin mallin mukaisesti pakettikytkentäisiksi. Tämä tarkoittaa sitä, että perinteisen bittivirran lisäksi kokonaisiin datalohkoihin kohdistuvan laskennan tarve lisääntyy. Esimerkiksi virheenkorjauksessa tai koodauksessa käyttämällä kokonaisia datalohkoja lähtökohtana saavutetaan parempi suorituskyky. Vastapainona tarvitaan entistä tehokkaampia tietokoneita ja prosessoreja, koska paketin vastaanottoon ja purkamiseen kuluva aika täytyy voittaa itse laskennassa, ettei kokonaisviive kasva.
Tietokonearkkitehtuurit lupaavimpia
Uudet tiedonsiirtostandardit ja sovellukset ovat laskennallisesti erittäin monimutkaisia. ADSL-modeemin voi toteuttaa ohjelmallisestikin gigahertzin prosessorilla varustetulla tehokkaalla PC:llä, mutta UMTS ja WLANin eri versiot ovat jo vaativampia. Niihin tarvittavaa suorituskykyä ei aivan lähitulevaisuudessa pystytä toteuttamaan puhtaasti ohjelmallisilla ratkaisuilla tai yleiskäyttöisillä prosessoreilla.
Ohjelmoitava logiikka, FPGA, ei ainakaan vielä tarjoa riittävää suorituskykyä eikä kustannustehokkuutta. Sovelluskohtaisesti suunniteltu laitteisto vaatii puolestaan omat rakenteet kaikelle laskennalle ja on jäykkää, monimutkaista ja kallista.
Monen prosessorin tietokonearkkitehtuureihin perustuvat ratkaisut on nähty ehkäpä parhaimpina vaihtoehtoina. Amerikkalainen yhtiö BOPS lupaa suorituskyvyksi 1,3 miljardia liukulukuoperaatiota sekunnissa neljän DSP-ytimen ympärille rakennetulle Manta-piirilleen. Bell Labs on puolestaan julkistanut tehokkaaseen kommunikaatioon perustuvan Daytona-arkkitehtuurin, jossa tulevalle kymmenen DSP:n piirille luvataan 50 miljardia operaatiota 200 megahertsin kellolla. Chameloen Systemsin ratkaisu perustuu RISC-prosessoripohjaisen tietokoneen yhteyteen liitettyyn uudelleen konfiguroitavaan prosessointielementtiverkkoon. Suorituskyvyksi luvataan 24 miljardia operaatiota sekunnissa ilman, että uudelleen konfigurointi olisi merkittävästi hidastava toimenpide.
Kaikki nämä vaihtoehdot ilmentävät sitä, että laskenta-alustan täytyy olla joustava joko ohjelmallisesti tai laitteiston osalta. Toisaalta kaikki perustuvat virtuaalikomponenttien käyttöön ja suunnittelun monistamiseen. Jokaisessa on monistettuna keskeisiä perusrakenteita, ja suorituskykyä voidaan ainakin periaatteessa muuttaa puhtaasti lisäämällä tai vähentämällä niitä.
Suunnittelumenetelmissä on puutteita
Tuotteen suunnittelu on etenemistä kahteen suuntaan. Kehitystyössä joko määritellään toimintaa tai kuvataan sitä suorittavaa rakenneyksikköä. Toiminnan määrittely alkaa jostakin ideasta, joka tarkentuu esimerkiksi matemaattisiksi kaavoiksi, algoritmeiksi, tilakoneiksi ja koodiksi, joka sitten joko käännetään tai syntetisoidaan. Rakenteen suunnittelun puolestaan alkaa prosessointiyksiköiden, muistien ja kommunikaation määrittelyllä, eli arkkitehtuurin kiinnittämisellä, joka sitten jatkuu komponenttien valinnalla, suunnittelulla ja kytkennällä.
Sulautettujen järjestelmien, joita SoC-tuotealustat ovat, suunnittelussa nämä kaksi ulottuvuutta täytyy hallita yhdessä. Emulaattorikortit ja prototyypit ovat olleet perinteisiä SW/HW-integrointia tukevia menetelmiä. Yhteissimulointi ja esimerkiksi Quickturnin ja Mentorin laitteistoemulaattorit ovat nousseet sulautettujen ASIC-piirien suunnittelussa tärkeiksi työkaluiksi.
Arkkitehtuurin suunnittelu vaatii kuitenkin muuta. Teoreettisten (analyyttisten ja matemaattisten) menetelmien ja lähinnä varmennusta tukevien simulointien ja prototyyppien välimaastoon tarvitaan uusia tapoja tarkastella arkkitehtuureja, niiden soveltuvuutta ja laatua sekä niiden kustannuksia ajatelluissa tuotteissa. Tarvittavien menetelmien tulisi tukea myös virtuaalikomponenttien valintaa ja valintojen aiheuttamien seurauksien tunnistamista. Työkalutarjonta tälle alueelle on olematonta, vaikka tuotealustojen suunnittelussa niiden tarve olisi suuri.
Tuotealustan laatukriteerit
PC on yleisimmin käytetty ohjelmistotuotteiden tuotealusta, ja samalla hyvä varoittava esimerkki siitä, mihin SoC-tuotealustoissa ei saa mennä. PC-teknologian kehitys on tähdännyt lähinnä yhteen suuntaan. Lisää MIPSejä hinnalla millä hyvänsä. Tämä on johtanut siihen, että PC varustellaan yhä erilaisemmilla lisäkorteilla. Ylläpito, hallinta, eri korttien yhteensopivuus ja sovellusten toimivuus ovat asioita, jotka ovat uhrattu MIPSien alttarille.
SoC-tuotealusta ei ole irrallinen järjestelmä, vaan se liittyy aina johonkin tuotteeseen. Niinpä sen laatuakaan ei voida mitata suoraan MIPSeinä, ostohintana eikä milliwatteina. Eikä ilman sitä tuotetta, jonka osa se on. Koska laatua ei voida määrittää ilman tuotetta, ei myöskään SoC-tuotealustaa pitäisi suunnitella ymmärtämättä sen roolia tuotteen osana.
Tärkeimmät SoC-tuotealustan laatukriteerit ovat laskenta-alustan kapasiteetin ja laskennan aiheuttaman kuorman suhde, siinä olevien resurssien käyttöaste tuotteen eri käyttötilanteissa ja tuotealustan kustannukset sillä toteutettavien tuotteiden elinkaarten aikana. Järjestelmäpiireissä näihin vaikuttavat päätökset tehdään jo arkkitehtuurin suunnittelussa, eikä niihin jälkeenpäin voi juurikaan vaikuttaa.
Miten SoC-tuotealusta optimoidaan?
Kapasiteetin ja kuorman suhde on monimutkainen yhtälö. PC:kin on huono, jos näytölle ilmestyy vähän väliä tiimalasi tai kahvikuppi. Toisaalta yhden gigahertsin prosessorin jäähdytys on tuhlausta, jos kirjoitusnopeus on viisi merkkiä sekunnissa.
Tuotealustan mitoitus on tasapainottelua sen tarjoaman palvelun laadun ja alustan kapasiteetin välillä. Mahdollisia keinoja optimin saavuttamiseksi ovat laskentaa paremmin tukevat suorittimet, kuorman kapselointi sellaisiin osiin, joiden suorittaminen voidaan tehdä erillisillä suorittimilla, ja laskennan toteuttaminen mahdollisimman tehokkaasti eli oleelliseen keskittyen.
Tuotealustan resurssien käyttöaste kertoo suunnittelun laadun hyvyydestä. PC:nkin lisälaitteet ostetaan käyttötarpeen mukaisesti, valitettavasti sama ei aina päde koneen sisuksiin. Monessa kotikoneessa on useampikin äänipiiri, video-ohjain tai ylimääräiset kymmenen megatavua muistia tai kiintolevyä. Mitään varsinaista haittaahan niistä ei ole, ellei oteta huomioon ylimääräistä kustannusta.
Resurssien käyttöasteeseen voidaan vaikuttaa analysoimalla tuotteen käyttöä sen elinkaaren aikana. Tällöin voidaan käydä kauppaa suunnittelukustannusten, resurssien, toimintojen ja palvelun laadun välillä. Tämä pakottaa toimintojen suunnittelijat käyttämään resursseja tehokkaasti. Esimerkiksi Sony Playstation on tietokoneena auttamatta vanhanaikainen ja hidas, mutta pelit ovat silti näyttäviä ja kilpailukykyisiä.
Kustannusten vaikutus SoC-tuotealustaan hyvyyteen on selvä, sillä järjestelmämikropiiri on yksi tuotteen kalleimmista komponenteista. Tärkeää on kuitenkin huomata se, että yksittäisen piirin kustannus ei ole oleellista, vaan se, mikä kokonaisuus syntyy koko piirin elinkaaren aikana. Tässäkin järjestelmäpiiri eroaa PC:stä. Prosessorin, kiintolevyn ja korttien vaihtaminen sovellusten sitä vaatiessa ei onnistukaan, vaan suorituskykyvaatimusten muuttuminen on pyrittävä ennakoimaan mahdollisimman pitkälle etukäteen.
Luonnollisesti joskus tulee vastaan seinä, mikä vaatii teknologian vaihtamista, mutta mitä pitempään siihen törmäämistä voidaan välttää sen parempi. Keinoina ovat yleiskäyttöisyys sekä laskenta- ja kommunikaatiokapasiteetin skaalattavuus.
Suunnittelu vastaamaan muuttuneita tarpeita
Arkkitehtuurin laatukriteerien optimointi on vaikeaa, koska vaatimukset ovat keskenään ristiriitaisia. Kapasiteetin maksimointi ja tehonkulutuksen sekä kustannusten minimointi ovat vaikeasti yhdistettäviä asioita. Järjestelmäpiirien tapauksessa vaikeutta lisää vielä se, että päätöksiä on lähes mahdotonta varmentaa ennen piirin valmistusta ja testausta. Se puolestaan on ajallisesti pitkä ja kallis prosessi, mihin tyypillisesti ei ole varaa.
SciFi-projektissa on kehitetty SoC-tuotealustoihin perustuvaan suunnitteluun kolmivaiheinen lähestymistapa, jossa päätösten tekemistä tuetaan estimointien avulla ja niiden oikeellisuus validoidaan. SoC-tuotealustaankin perustuvassa suunnittelussa on lähdettävä liikkeelle lopullisten tuotteiden vaatimuksista, sillä alustan ominaisuudet määräytyvät sovellusten mukaisesti.
Ratkaisua vaativat ongelmat ovatkin oikeastaan seuraavat. Kuinka sovellusten ja laskenta-alustan yhteensopivuutta voidaan tarkastella ennen kuin kumpikaan on olemassa? Kuinka IP-lohkojen käyttökelpoisuus tuotealustan osana voidaan analysoida? Kuinka alustan toimivuutta ja laatua voidaan arvioida?
Suunnittelun eteneminen
SoC-tuotealustan määrittelyä ja suunnittelua täytyy edeltää lopullisten tuotteiden konseptitason suunnittelu ja spesifiointi. Tuotekonseptia tarvitaan kahteen asiaan. Ensiksi sitä tarvitaan vaatimusten validoinnissa, joka tuottaa myös arkkitehtuurille ja järjestelmäpiirille sen tarvitsemat laatukriteerit, ja toiseksi tuotekonseptin toteutettavuuden ja kompleksisuuden arvioinnissa, jota tarvitaan ohjaamaan arkkitehtuurin suunnittelua.
Järjestelmämikropiirin arkkitehtuurin suunnittelussa on oleellista paitsi arkkitehtuurin suorituskyvyn riittävyyden validiointi, myös arkkitehtuurin muun laadun arviointi. Laatukriteerien toteutumisen arviointia tarvitaan eri vaihtoehtojen vertailussa ja parhaan vaihtoehdon valinnassa. Arvioinnissa on tärkeää, että arkkitehtuuria tarkastellaan osana tuotekonseptia ja tuotetta eli sitä, kuinka arkkitehtuuri toimii tuotteen eri käyttötilanteissa. Tämä joudutaan tekemään tuotteiden mallien pohjalta, abstrahoimalla tuotteen käyttäytymistä ja tekemällä oletuksia sen käytöstä. Vaikkakin päätökset ovat hypoteettisella pohjalla, niin ne kuitenkin perustuvat käyttäjän toiminnan ennakointiin.
Toteutuksen suunnittelussa ajoituksen toimivuuden ja tehonkulutuksen ennakointi ovat tärkeitä. Erittäin monimutkaisten piirien suunnittelussa niiden avulla tehdään toteutusta koskevat päätökset, jotka perustuvat pitkälti arkkitehtuuritason ratkaisuihin.
SoC-tuotealustan tasolla tapahtuva toteutuksen varmennus on ongelma, johon työkaluvalmistajat eivät ole löytäneet ratkaisuja. Kalleimmatkaan prototyypitysjärjestelmät tai simulaattorit eivät pysty käsittelemään niin monimutkaisia kytkentöjä järkevässä ajassa. Modularisointi ja kapselointi tulevat näyttelemään keskeistä roolia myös suunnittelun varmennuksessa tulevaisuudessa, ja suunnittelun on tuettava niitä.
Millaisia työkaluja tarvitaan?
SoC-tuotealustojen IP-lohkoihin perustuva suunnittelu edellyttää kokonaan uusia työkaluratkaisuja EDA-toimittajilta. Perinteiset suunnitteluvuot eivät juurikaan tarjoa tukea arkkitehtuurin suunnitteluun. Yhteissimulaattoreita, kuten Mentorin Seamless CVE esiteltiin jo 90-luvun puolivälissä erääksi lähestymistavaksi, mutta niiden käyttökelpoisuus on jäänyt lähinnä liitäntöjen varmennukseen. Cadencen VCC 2.0 on puolestaan jo tarkoitettu arkkitehtuurisuunnittelijan päätöksiä tukevaksi työkaluksi.
Lähtökohtana työkaluissa ovat olleet IP-lohkojen käytön perusongelmat, jotka ovat mallinnus, evaluointi, valinta ja integrointi. Synopsys on ottanut erilaisen lähestymistavan. CoCentric System Studio perustuu suoritettavan spesifikaation tekemisen helpottamiseen. Työkalu tarjoaa tukea erityisesti datavuon ja kontrollin yhdistämiseen ja näiden eri tyyppisten mallien tehokkaaseen simulointiin.
Ideaalisen SoC-tuotealustan suunnitteluympäristön pitäisi tehokkaasti yhdistää kolme edellä mainittua kokonaisuutta. SciFi-projektissa hahmoteltua suunnitteluvuota tukemaan tarvittavien työkalujen täytyisi tukea IPR-oikeuksien ja IP-lohkojen kehittämistä, arkkitehtuurin muodostamista ja toteutuksen kehittämistä. Järjestelmätasolla olisi tärkeintä tukea kolmea perusasiaa päätöksentekoa, mallinnusta ja varmennusta. Ideaalinen työkaluympäristö integroisikin nämä kolme yhteen.
Päätöksentekoympäristön pitäisi mahdollistaa olemassa olevan IP:n käyttö konseptien muodostamisessa, eri vaihtoehtojen tuottamien laatukriteerien estimointi ja sitä kautta tapahtuva suunnitteluavaruuden tarkastelu sekä valitun konseptin varmennus.
Mallinnus- ja kehitysympäristön pitäisi tukea siirtymistä suunnittelun eri abstraktiotasoilta toisille. SoC-tuotealustojen tapauksessa pääpaino on sulautetun ohjelmistokehitysympäristön tarjoaminen. Kun suorittimet muuttuvat yhä mukautuvimmiksi, täytyy ohjelmistokehityksen tulla lähemmäksi laitteistoa. Laitteiston ja ohjelmiston yhteistoiminnan ymmärtäminen on entistä tärkeämpää. Arkkitehtuuria ymmärtävät ja sitä optimoivat kääntimet ovat lähitulevaisuudessa käytössä. Ne puolestaan tarvitsevat hyvän kuvan muodostumassa olevasta arkkitehtuurista.
Toteutuksen varmennus on todennäköisesti jatkossakin oleellinen pullonkaula SoC-suunnittelussa. Varmennuksessa pitäisi päästä siihen, että ainakin keskeisiä sovelluksia voitaisiin ajaa SOC-alustan virtuaalimallissa. Teknologia kuitenkin siirtää simulaattorien suorituskykyvaatimuksia koko ajan kauemmaksi.
SoC-laskenta-alustat tuotteiden perustana
SoC-tuotealusta voidaan toteuttaa periaatteessa monella eri tavalla. Yleiskäyttöinen laskentakone on perinteinen moniprosessoriarkkitehtuuri. Sen toteutuksessa voi luonnollisesti olla sovellusaluekohtaisesti valittuja prosessoriytimiä ja prosessoriytimet voivat olla keskenään erilaisia. Jos arkkitehtuurista tehdään konfiguroituva esimerkiksi mahdollistamalla muistihierarkian tai kommunikaatiokanavien muuttaminen ajonaikaisesti, voidaan saavuttaa paremmin hetkelliseen käyttötilanteeseen soveltuva ratkaisu. Kokonaan käyttötilanteen mukaisesti konfiguroitava logiikka on äärimmäinen vaihtoehto, jolla tehonkulutus ja suorituskyky saadaan optimoitua tinkimättä yleiskäyttöisyydestä. Ongelmia ovat ainakin vielä tehokkaan kääntimen puuttuminen ja teknologian taso.
Aiheesta enemmän:
IP-organisaatiot:
www.vsia.org
EDA-työkalut:
www.mentorg.com
www.synopsys.com
www.cadence.com
Tuotealustapiirit:
www.bell-labs.com
www.chameleonsystems.com
www.bops.com
Suomalaista IP-osaamista:
www.fincitec.fi
www.hantro.com
www.vlsi.fi
www.elektrobit.fi/dslbit
www.smartech.fi
ASIC Application Specific Integrated Circuit
ADSL Asymmetric Digital Subscriber Line
DSP Digital Signal Processing
EDA Electronic Design Automation
FPGA Field Programmable Gate Array
IP Intellectual Property
IPR Intellectual Property Rights
RISC Reduced Instruction Set Computer SoC System-on-Chip
UMTS Universal Mobile Telephone System
VC Virtual Component
VHDL Very high speed integrated circuit Hardware Description Language
VSIA Virtual Socket Interface Alliance
WLAN Wireless Local Area Network
Future telecommunication products will need huge amounts of computational capacity. System-on-Chip based product platforms are one possible solution. However, the design of SoC architecture, the selection of intellectual property blocks, and system design are complex problems.
The System Chip Inc., Finland project aims at developing solutions for IP based design flow and IP reuse. Decision support and quality evaluation at SoC architecture level has been identified as most important design flow issues when optimising complex functionality with reconfigurable multicomputer architectures.
The consortium contains the most significant Finnish electronic companies. The SciFi project is a three-year effort that started 1999 in VTT Electronics where a contact person is Juha-Pekka Soininen (juha-pekka.soininen@vtt.fi). Project is part of ETX programme.
Vuonna 1999 alkanut Tekesin rahoittama kolmivuotinen kansallinen tutkimushanke System Chip Inc., Finland (SciFi) pyrkii edesauttamaan edessä olevien SoC-suunnittelun haasteiden voittamisessa. SciFi-projektissa on kehitetty IHIP-Chip tuotealustakonseptia lähtien edellä kuvatusta suunnittelufilosofiasta. Tavoitteena ei ole ollut mikään ylivertainen SuperChip, joka MIPSeillä mitattuna olisi ratkaisu tietoliikennetuotteiden ongelmiin.
Siinä sovelletaan sovellusaluelähtöistä SoC-tuotealustamenetelmää, jossa käytetään hyväksi sekä rinnakkaisia laskentayksiköitä että konfiguroituvuutta arkkitehtuuritasolla. Tärkeänä osana on myös ollut IP-lohkojen suunnittelukokemuksen saaminen, IP-lohkojen evaluointi ja IP-lohkoihin perustuva arkkitehtuurisuunnittelu.
IHIP-tuotealusta koostuu Sparc-ytimen ympärille rakennetusta RISC-tietokoneesta, neljän VLSI Solutionin suunnitteleman DSP-ytimen muodostamasta DSP-klusterista, kahdesta IP-lohkoilla toteutetusta kiihdytinlohkosta, muisteista ja väylistä. Perusideana on ollut toteuttaa sellainen DSP-klusteri, joka mahdollistaa sekä datalohkojen että jatkuvan datavirran tehokkaan prosessoinnin. DSP-klusterin osana on konfiguroitava muistiarkkitehtuuri, jonka avulla kunkin klusterin osan omaa ja niiden kesken jaettua muistia voidaan ajonaikaisesti muokata.
IHIP-tuotealusta on suunnittelukonsepti, jota ei varmaan sellaisenaan tulla koskaan toteuttamaan. Kuitenkin siinä käytetyt ratkaisut ovat sellaisia, joita jo suhteellisen lyhyellä aikajänteellä tultaneen näkemään kaupallisissa piireissä. Itse IHIP-konseptia tärkeämpää on sen suunnittelussa saatava kokemus sekä työkaluista että menetelmistä. Se auttaa suomalaista SoC-piirejä suunnittelevaa teollisuutta IP-lohkojen käyttöönottoon liittyvissä kysymyksissä ja tarvittavan infrastruktuurin rakentamisessa.
Kirjoittaja: Juha-Pekka Soininen, erikoistutkija, VTT Elektroniikka.
Yhteystieto: juha-pekka.soininen@vtt.fi
Tutkimus: System Chip Inc., Finland (SciFi).
Yhteistyössä: ABB, DSLBit, Elektrobit, Fincitec, Hantro, Nokia, Synopsys Finland, VLSI Solution, VTT Elektroniikka.
Teknologiaohjelma: ETX