Kopioi artikkelin PDF-versio
Mikropiirien kapasiteetti mahdollistaa pian miljardin transistorin piirien toteuttamisen. Suunnittelumenetelmille tämä tarkoittaa aivan uutta haastetta, sillä samassa ajassa on pystyttävä suunnittelemaan yhä suurempia ja monimutkaisempia kokonaisuuksia. Ratkaisuna on uudelleenkäytettävien laitteistokomponenttien ja valmiiden väylästandardien käyttö mikropiirien osina.
Järjestelmäpiiri (SoC, System-on-Chip) on monimutkaisen järjestelmän toteuttava piiri, joka koostuu sovelluskohtaisesta laitteistosta ja ohjelmoitavista prosessoreista integroituine ohjelmistoineen. Ohjelmiston osuus järjestelmän toiminnallisuudesta on merkittävä. Järjestelmien ja niiden osien suunnittelussa uudelleenkäyttö tulee ottaa huomioon alusta alkaen ja uusia teknologioita ja suunnittelumenetelmiä on osattava käyttää tehokkaasti.
TTKK:n REVIVAL-projektissa paneudutaan tietoliikennepiirien suunnittelun ongelmiin. Samalla tutkitaan myös useamman väylän ympärille rakentuvien järjestelmien verifiointia. Seuraavana vaiheena on entistä suuremman huomion kiinnittäminen piirinsisäiseen kommunikaatioon ja piiriarkkitehtuurien uudelleenkäyttöön sovellusaluekohtaisissa integrointialustoissa.
Suunnittelutyön tuottavuus ongelmana
Yleisin ratkaisu suunnittelun tuottavuusongelmiin viimeisen vajaan kymmenen vuoden aikana on ollut suunnittelun kuvauksen abstraktiotason nosto kohti algoritmi- ja järjestelmätason kuvauksia. Tämä mahdollistaa suurempien kokonaisuuksien käsittelyn, jolloin suunnittelijan hallittavissa olevien kokonaisuuksien määrä ja kompleksisuus ei kasva, mutta niiden tuottaman laitteistototeutuksen koko kasvaa.
Suunnitteluautomaatio (EDA, Electronic Design Automation) on puutteistaan huolimatta erittäin tärkeässä roolissa nykyisessä elektroniikkasuunnittelussa. Suunnittelutyökalujen avulla saadaan nostettua suunnittelun abstraktiotasoa ja tätä kautta myös nopeutettua suunnitteluprosessia.
Suunnittelutyökalut myös automatisoivat suunnitteluprosessia, jolloin suunnittelija voi keskittyä niihin tehtäviin, joissa automaattiset työkalut ovat tehottomia tai joihin ei ole olemassa työkaluja. Tällaisia tehtäviä ovat esimerkiksi arkkitehtuurien ja algoritmien valinta. Laitteistonkuvauskieliä käyttävässä suunnitteluvuossa työkalujen yhtenä epävarmuustekijänä on kuitenkin edelleen niiden hyväksymän syötteen rajoittuneisuus ja valmistajakohtaisuus.
Vaikka uusien suunnittelutyökalujen ja -menetelmien tulo suunnittelijoiden avuksi onkin kasvattanut suunnittelutyön tuottavuutta, on uusien puolijohdeteknologioiden tarjoamien mahdollisuuksien ja käytännössä aikaan saatavien piirien ominaisuuksien välinen ero tasaisesti kasvanut suunnittelijoiden tappioksi.
Tämän tuottavuuskuilun (productivity gap) pienentäminen tai ainakin säilyttäminen nykyisellä tasollaan on tulevaisuudessa edellytyksenä digitaalipiirien tehokkaalle ja nopealle kehitykselle. Ratkaisuksi valmistusteknologioiden kapasiteetin jatkuvan eksponentiaalisen kasvun hyödyntämiseen ja suunnitteluaikojen lyhentämiseen esitetään virtuaalikomponenttien (VC, Virtual Components) käyttöä.
Kolmen tahon yhteistyötä
IP (Intellectual Property) on nimitys laitteistolohkoille, joiden suunnittelussa uudelleenkäytettävyys on otettu huomioon suunnitteluprosessin alusta saakka. Lisäksi jo suunnitteluprosessin aikana uudelleenkäytettävyyden saavuttamiseen on panostettu selvästi enemmän verrattuna perinteiseen laitteiston kehitysprosessiin.
Kun uudelleenkäytettävän lohkon elinkaaren ideasta tuotteeksi yksinkertaistaa, se voidaan jakaa kolmeen osaan. Lohkon kehittäjä (creator) suunnittelee ja toteuttaa lohkon. Käyttäjä (integrator) hankkii lohkon kehittäjältä ja käyttää sitä osana jotain isompaa tuotetta. Lopulta piirivalmistaja (silicon vendor) toteuttaa lohkon sisältävän tuotteen esimerkiksi ASIC-piirinä.
On mahdollista, että kaksi tai jopa kaikki edellä mainituista osapuolista tulevat samasta yhtiöstä. Edelleenkin suuri osa hankittavista uudelleenkäytettävistä lohkoista tulee yrityksen sisäisistä lähteistä. Tosin ulkopuolelta hankitut lohkot ovat usein järjestelmän hyvin keskeisiä osia, kuten prosessoriytimiä.
Virtuaalikomponentti on VSIA:n (Virtual Socket Interface Assosisation) antama nimitys sen suosituksia noudattaville IP-lohkoille. VSIA on teollisuusyritysten yhteenliittymä, joka pyrkii luomaan standardeja ja suosituksia uudelleenkäytettävien lohkojen suunnitteluprosessiin, suunnittelutyökaluihin ja IP-lohkojen toimitusten sisältöön.
IP ei käsitä ainoastaan lohkon toiminnan tai rakenteen kuvausta, vaan aivan yhtä tärkeän osan muodostavat mukana olevat asiakirjat ja liitetiedostot. Niissä määritellään ja esitellään muun muassa lohkon integroinnin ja testauksen vaatimat tiedot ja toimenpiteet, lohkon ominaisuudet sekä todistetaan lohkon toimivan kuten sen määrittely edellyttää.
Virtuaalikomponenteilla lisää tuottavuutta
VSIA:n suosituksista Deliverables Document määrittelee, mitä täydelliseen virtuaalikomponenttitoimitukseen tulisi kuulua. IP-lohkon toimituksen sisältö määritellään myös esimerkiksi Mentor Graphicsin ja Synopsysin yhdessä julkaisemassa Reuse Methodology Manual (RMM) -oppaassa, joka on uudelleenkäytettävyyden merkittävimmäksi lähdeteokseksi muodostunut kirja.
RMM:n mukaan käytettäessä uudelleen lohkoa, jota ei alunperin oltu suunniteltu uudelleenkäytettäväksi, saavutetaan noin kaksinkertainen tuottavuuden kasvu verrattuna siihen, että sama lohko suunniteltaisiin nollapisteestä. Jos käytössä on lohko, joka on suunniteltu uudelleenkäytettäväksi ja täyttää virtuaalikomponentille asetetut vaatimukset, tuottavuuden kasvu on kymmenkertaista tai jopa suurempaa verrattuna suunnittelun aloittamiseen tyhjästä.
Seuraamalla lohkon suunnittelussa uudelleenkäytettävyyden vaatimia suunnittelusääntöjä, voidaan tulevaisuudessa samaa lohkoa käytettäessä saavuttaa tuottavuudessa viisinkertainen kasvu tai jopa enemmän. Täytyy kuitenkin ottaa huomioon, että virtuaalikomponentin suunnittelu myös vaatii 2-3 kertaa enemmän työtä verrattuna kertakäyttöisen lohkon suunnitteluun. Tämän vuoksi on aina tapauskohtaisesti päätettävä onko kannattavaa tehdä lohkosta uudelleenkäytettävä.
Jos tiedetään, että lohkoa tullaan käyttämään vain kerran, ei tietenkään ole järkevää sijoittaa kehitykseen lisäpanosta, jota ei koskaan saada takaisin. Tällainen tilanne tulee esiin esimerkiksi silloin, kun lohkoa voidaan käyttää vain tietyssä sovelluksessa, joka on poistumassa tuotannosta.
Pehmeät, kovat ja kiinteät IP-lohkot
IP-lohkot voidaan karkeasti jakaa kahteen ryhmään eli pehmeisiin (soft) ja koviin (hard) lohkoihin. Pehmeät lohkot toimitetaan syntesoituvana HDL-kuvauksena, jolloin lopullinen toteutusteknologia jää lohkon käyttäjän päätettäväksi. Tämä antaa joustavuutta suunnitteluprosessiin, koska teknologian valitseminen voidaan jättää myöhäisempään vaiheeseen. Pehmeiden lohkojen mukana annetaan arviot lohkon ominaisuuksista, mutta on muistettava, että lopulliset ei-toiminnalliset ominaisuudet ovat tiedossa vasta siinä vaiheessa, kun lohko on toteutettu piirille saakka.
Kovat lohkot toimitetaan käyttäjälle täysin valmiina piirikuviosuunnitteluna, jossa transistorit on asetettu paikoilleen ja reititetty käyttäen tiettyä toteutusteknologiaa. Tästä johtuen kovan lohkon hankkiessaan myös sitoutuu tiettyyn valmistusteknologiaan.
Kova lohko on käyttäjän näkökulmasta musta laatikko, jonka ominaisuudet ja rajapinta ovat tiedossa, mutta sisäinen hienorakenne on usein tuntematon. Kovien lohkojen etuna on juuri kattava ja luotettava tieto lohkon ominaisuuksista eli pinta-alasta, nopeudesta ja tehonkulutuksesta. Yleensä kovat lohkot ovat ohjelmoitavia RISC- ja DSP-prosessoreita, jollaisia ovat esimerkiksi ARMin, Texas Instrumentsin ja DSP Groupin prosessoriytimet.
Sekä pehmeiden että kovien lohkotyyppien kohdalla itse lohkon toiminnan oikeellisuuden varmistaminen on edelleen ongelmallista. Tämän vuoksi lohkon käyttäjän kannalta on sitä parempi, mitä konkreettisemmin ytimen laatu ja oikeellisuus on varmennettavissa. Ellei ole olemassa esimerkkejä aiemmista suunnitteluista, joissa halutun lohko voidaan todeta toimivan määrittelynsä mukaisesti, ovat esimerkiksi toimivat prototyypit yksi tapa toiminnallisuuden varmentamiseen.
VSIA käyttää lohkoista pehmeän ja kovan lisäksi termiä kiinteä (firm). Kiinteä lohko ei ole täysin valmis piirikuviotason komponentti, mutta siinä on kuitenkin mukana joitain tietoja fyysisistä ominaisuuksista. VSIA:n lisäksi on olemassa useita muita uudelleenkäytettävyyttä ajavia standardointijärjestöjä, kuten RAPID ja VCX.
Esimerkkinä IP-lohkoista ja niiden välityksestä voidaan ottaa Mentor Graphicsin Inventra, joka tarjoaa valikoiman pehmeitä IP-lohkoja kulutuselektroniikan, multimedian ja tietoliikenteen sovelluksiin. Inventran valikoimasta löytyy myös tamperelaisen VLSI Solutionin 24-bittinen signaaliprosessoriydin VS56000DSP sekä siihen tarkoitettu VS56000DMA DMA-lohko.
Piirinsisäisen tiedonsiirron varmennus
Järjestelmäpiireissä piirien sisäinen kommunikaatio ja sen monimutkaisuus on nousemassa piirisuunnittelussa jopa merkittävämpään asemaan kuin piirin sisältämät varsinaiset lohkot. Nykyisin tiedonsiirto piirin sisällä hoidetaan hyvin usein käyttäen piirin sisäistä väylää. Suunnittelijan kannalta tilanteen tekee hankalaksi se, että tiettyjen lohkojen, lähinnä prosessoriytimien, valinta samalla pakottaa tietyn piirinsisäisen väylän valintaan. Tämä johtuu siitä, että ytimen valmistajilla on usein oma väylä tai väyliä, joiden käyttöön ydin on optimoitu. Näin ydin ja ytimen kanssa tiiviisti tietoa vaihtavat lohkot on liitettävä tähän tiettyyn väylään.
Kun yksi SoC-piiri saattaa sisältä useita eri RISC- ja DSP-prosessoreita eri valmistajilta, edessä on hyvin nopeasti tilanne, jossa piirin sisällä on käytössä ainakin kaksi erilaista väylää. Väylällä voi olla yksi tai useampia isäntiä (master), jotka pyytävät väylän itselleen ja sen jälkeen määräävät väylällä tapahtuvat operaatiot ja niiden kohteet. Orjat (slave) toimivat isäntien antaminen ohjeiden mukaan, jos huomaavat väyläoperaation kohdistuvat itseensä.
Väylän omistuksen välittämisestä ja jakamisesta huolehtii arbitrointiyksikkö. Se huolehtii tietyn algoritmin mukaan siitä, että vain yhdellä väyläisännällä kerrallaan on oikeus aloittaa väyläoperaatioita.
Jopa saman valmistajan väylissä ominaisuudet voivat vaihdella suuresti. Näitä ominaisuuksia ovat esimerkiksi väyläsignaalien määrä, datalinjan leveys, siirrettävän datalohkon koko, purskesiirtojen (burst transfers) tuki, liukuhihnoitettujen operaatioiden tuki, jaettujen siirtojen (split transactions) tuki sekä väylän isäntien ja orjien lukumäärä. Koska yleensä jo väylien fyysiset ominaisuudet vaihtelevat, niiden liittäminen toisiinsa suoraan on mahdotonta. Niinpä väylien sovittimena käytetään väyläsiltaa, joka pystyy kommunikoimaan molempien väylien kanssa.
Järjestelmän varmennukseen silloilla on kuitenkin sama vaikutus kuin esimerkiksi välimuisteilla. On hankalampaa tai jopa mahdotonta selvittää, missä tietty tieto on tietyllä hetkellä, joten tiedonsiirron ennustettavuus heikkenee. Näin jo pelkästään toimivuuden testaaminen monimutkaisen, useita väyliä ja siltoja sisältävän järjestelmän suhteen on hankalaa.
Kun reaaliaikaisissa sovelluksissa lisäksi vaaditaan, että oikea tieto on oikeassa paikassa oikeaan aikaan, on jopa mahdotonta varmentaa tiedonsiirtoa ilman todellista ohjelmistoa ja dataa sisältävää prototyyppiä. Tämän vuoksi joudutaan nykytilanteessa varmistamaan piirin sisäisen kommunikaation toimivuus mitoittamalla ja rakentamalla tiedonsiirtokapasiteetti pahimpien tapausten mukaan.
Kommunikaation seuraava sukupolvi
Yhä monimutkaisempia järjestelmiä toteutettaessa korostuu piirinsisäisen kommunikaation merkitys monessakin mielessä. Ensinnäkin fyysisen johdotuksen vaikutus piirin suorituskykyyn tulee hallitsevaksi tulevaisuuden piiriteknologioissa. On suhteellisen helppoa kehittää nopeampia transistoreita valmistustekniikan kehittyessä, mutta samalla johdotuksen tiivistäminen lisää johtojen keskinäistä kapasitanssia ja sitä kautta viivettä.
Myös ylikuulumisongelmat lisääntyvät, ja onkin odotettavissa, että virheetön tiedonsiirto suurilla piireillä suurilla nopeuksilla ei onnistu tulevaisuudessa panostamatta viansietävään kommunikaatioon häiriöllisessä ympäristössä.
Toisaalta järjestelmäpiirit ovat usein heterogeenisia moniprosessorijärjestelmiä, joissa prosessorien keskinäinen kommunikaatio ja synkronointi ovat keskeisessä asemassa. Ei voida myöskään olettaa, että synkroninen väyläpohjainen tiedonsiirto onnistuu tällaisessa ympäristössä hallitusti. Ratkaisuja näihin haasteisiin etsitään kommunikaatioarkkitehtuurin uudelleenkäytöstä ja muista uusista kommunikaatiotavoista.
Esimerkiksi sovelluskohtaiset integrointialustat kiinnittävät arkkitehtuurin, mutta järjestelmän toiminnallisuus on uudelleen suunniteltavissa muuttamalla lohkojen rakennetta tai toiminnallisuutta. Yksinkertaisimmillaan kyseessä on ohjelmistopäivitys tai konfiguroitavan lohkon uudelleenmäärittely. Toinen esimerkki on asynkroninen kommunikointi paikallisesti synkronisten (kellotettujen) lohkojen välillä. Eräänä tämäntyyppisenä ratkaisuna tutkitaan piirinsisäisten pakettiverkkojen käyttöä väylien korvaajana.
Koulutusta tarvitaan
Järjestelmäpiirien suunnittelu vaatii pohjimmiltaan hyvin laaja-alaista ymmärrystä. Järjestelmät yhdistävät monimutkaisia laitteistokokonaisuuksia suureen määrään sulautettuja ohjelmistoja. Jo järjestelmien toiminnan ymmärtäminen sinällään on vaativaa. Tarvitaan tietämystä piirisuunnittelusta, arkkitehtuureista, ohjelmistoista ja sovelluksesta. Lisäksi mukaan tulevat liiketoiminnalliset ja lakiasiat.
Suomessa sovellusten vetureina toimivat etenkin erilaiset tietoliikennettä sisältävät kommunikaatiojärjestelmät, jotka toimivat sovittimena yksilön ja maailman välillä. Yksikään koulutusohjelma ei toistaiseksi tarjoa kaikkea SoC-kehityksessä tarvittavaa tietoa samassa paketissa. Ensiaskeleita tähän suuntaan ovat esimerkiksi TTKK:n uusi tietoliikenne-elektroniikan koulutusohjelma ja Turun yliopiston elektroniikan maisterikoulutus. Paljon on vielä tehtävää, ennen kuin järjestelmäpiirit on lopullisesti sisään ajettu suomalaiseen suunnittelukulttuuriin.
Virtuaalikomponentit ovat loppujen lopuksi vain välivaihe reitillä kohti todellisia järjestelmäpiirejä. Kuten Kalifornian yliopiston Berkeleyn kampuksen professori Jan Rabaey sattuvasti lausahti vuoden 1999 SoC-seminaarin paneelissa Tampereella: "SoC on jotakin sellaista, jonka suunnittelu nykymenetelmin ei vielä ole mahdollista..."
Aiheesta enemmän
M. Keating, P. Bricaud: Reuse Methodology Manual for System-on-A-Chip Design, 2nd edition, June 1999, Kluwer Academic Publication.
H. Chang, L. Cooke, M. Hunt, G. Martin, A. McNelly, and L. Todd: Surviving the SOC Revolution - A Guide to Platform-Based Design, 1999, Kluwer Academic Publication.
VSIA: http://www.vsi.org/
RAPID: http://www.rapid.org/
VCX: http://www.vcx.org/
Design & Reuse: http://www.design-reuse.com/
Mentor Graphics Inventra: http://www.mentor.com/soc/inventra.html
TTKK:n tutkimusryhmä: http://www.cs.tut.fi/~nurmi/
System-on-Chip (SoC) can be defined to be an integrated system containing application specific logic and programmable processors along with their software, where the majority of the functionality stems from the integrated software. As the capacity of integrated circuits will reach the billion transistor milestone within a few years we will face new problems in the design of such circuits.
One solution to keep pace with the increasing capacity is the use of virtual components and on-chip buses to increase productivity. These are currently studied in REVIVAL (Reusable Virtual Components for Various Applications) project at Tampere University of Technology. The project addresses both the design of virtual components for reuse and the use of VCs and buses to build a SoC. Especially the verification of integrated systems containing several buses is focused on.
The next step will be to concentrate even more on the on-chip communication issues. These are important since the interconnects will dominate the delay and also induce cross-talk errors to the communications.
Furthermore, SoCs will be heterogeneous multiprocessor systems where the communication and synchronization between the processors is a major issue. E.g., network-on-chip will be one of the possible scenarios for the future integrated systems.
After all, virtual components are only an intermediate step towards real System-on-Chip design. The REVIVAL project belongs to the ETX programme, and the consortium contains Nokia Mobile Phones, Nokia Multimedia Terminals, Elektrobit, Teleste, and Nokia Networks.
Contact: jari.nurmi@tut.fi
VSIA (Virtual Socket Interface Alliance) määrittelee avoimia liitäntärajapintoja, jotka mahdollistavat virtuaalikomponenttien suoraviivaisen kytkennän "virtuaalikantoihin". Ne perustuvat pääosin olemassa oleviin avoimiin standardeihin tai yksittäisten yritysten omiin esitysmuotoihin. VSIA kehittää jonkin verran myös uusia standardeja keskittyen kuitenkin lähinnä teknisiin näkökohtiin. Jäseniä VSIA:ssa on noin 200, mukana IP:n kehittäjiä ja käyttäjiä, piiri- ja työkalutoimittajia sekä joitakin henkilöjäseniä.
RAPID (Reusable Application-Specific Intellectual Property Developers) keskittyy kaupallisiin asioihin, jotka ovat tärkeitä kehittäjille ja käyttäjille. Toimii standardointiyhteistyössä muiden muassa VSIA:n ja VCX:n kanssa. Yritysjäseniä noin 50, jotka edustavat työkalutoimittajia, IP-kehittäjiä ja -käyttäjiä.
VCX (Virtual Component Exchange) on yhteisyritys, joka hoitaa IP:n välitystoimintaa ja lakikysymyksiä.
Design & Reuse on virtuaalikomponenttiaiheinen portaali, jonka sähköisessä luettelossa on yli 1700 IP-lohkoa noin 190 toimittajalta.
Architecture document
- Virtuaalikomponenttien suunnittelun perussääntöjä muun muassa nimeämisestä ja testattavuussuunnittelusta komponentin kehittäjälle.
- Suosituksia kehittäjältä käyttäjälle siirtyvän virtuaalikomponenttitoimituksen sisällöstä.
Deliverables Document
- Suosituksia virtuaalikomponentin toimituksen sisällöstä ja formaatista.
On-Chip Bus Attributes
- Suosituksia piirin sisäisen väylän toimituksen sisällöstä koskien muun muassa väylien dokumentaatiota ja verifiointia.
Soft and Hard VC Structural, Performance and Physical Modeling Specification
- Suosituksia virtuaalikomponenttien rakenteen, fyysisten ominaisuuksien ja suorituskyvyn dokumentoinnista ja esitystavasta.
System Level Design Model Taxonomy
- Määrittelee virtuaalikomponenttien kehityksessä, vaihdossa ja käytössä esiintyviä teknisiä termejä.
Test Data Interchange Formats and Guidelines for VC Provides Specifications
- Suosituksia virtuaalikomponenttitoimituksen testattavuussuunnittelua (Design-For-Test, DFT) käsittelevän osan sisällöstä.
- Suosituksia virtuaalikomponenttien testattavuussuunnitteluun.
Virtual Component Identification Physical Tagging Standard
- Suosituksia menetelmistä, joilla voidaan seurata virtuaalikomponenttien käyttöä eri piirinvalmistusprosesseissa.
Virtual Component Interface Specification
- Yrittää määritellä piirin sisäisten väylien rajapinnan, jolla mikä tahansa virtuaalikomponentti voidaan liittää mihin tahansa SoC-piiriin.
- Suosituksia rajapinnan ominaisuuksista, signaaleista ja toiminnasta.
- Ohjeita rajapinnan suunnitteluun.
Virtual Component Profiling Attributes
- Määrittelee ominaisuuksia, joiden mukaan virtuaalikomponentteja voidaan profiloida.
- Tavoite helpottaa virtuaalikomponenttien löytämistä tiettyjen ominaisuuksien perusteella esimerkiksi erilaisista luetteloista.
Virtual Component Transfer Specification
- Suosituksia informaatiosta, jonka tulee siirtyä varsinaisen suunnittelun mukana virtuaalikomponentin siirtyessä kehittäjältä käyttäjälle.
Pehmeät lohkot:
- syntesoituvat VHDL- ja Verilog-koodit
- synteesitiedostot ja ajoitusrajoitteet synteesiin
- lohkon sovellusohjeet
- tiedostot tuotantotestausrakenteiden ja testivektoreiden luomiseen
- teknologiakirjasto testaukseen
- asennustiedostot
- testipenkki ja testipenkin väylämallit
- käyttöohje ja datalehti
- väylämallit lohkon järjestelmäintegrointiin
- suositus järjestelmäintegroinnin vaatimista ohjelmistoista
Kovat lohkot:
- asennustiedostot
- käyttöohje ja datalehti
- käyttäytymistason malli järjestelmäintegrointiin
- suositus järjestelmäintegroinnin vaatimista ohjelmistoista
- lohkon väylämalli ja toiminnallinen malli
- lohkon ajoitus- ja synteesimallit
- lohkon pohjapiirros (floorplan)
- tuotantotestauksen testivektorit
Maailmalla on kaupallisista lähtökohdista tapahtuvan tutkimuksen lisäksi runsaasti uudelleenkäytettävyyden akateemista tutkimusta. Suomessa tutkimusta suoritetaan Tekesin rahoittamissa SciFi- ja REVIVAL-projekteissa. SciFi on VTT Elektroniikan ja useiden yritysten tutkimushanke, jossa keskitytään IP-pohjaiseen suunitteluun osallistuvien eri osapuolien yhteistyön kehittämiseen.
REVIVAL on Tampereen teknillisen korkeakoulun (TTKK) Digitaali- ja tietokonetekniikan laitoksen johtama hanke, jossa lähestymistapa on vahvemmin suuntautunut varsinaiseen IP-lohkojen kehitykseen ja toisaalta käyttöön. Projekti on 3-vuotinen hanke, jossa on tarkoitus keskittyä kahteen suurien SoC-piirien kehityksen ongelma-alueeseen - virtuaalikomponenttien ja niiden suunnittelun standardien kehitykseen ja toisaalta käyttöön sekä virtuaalikomponenttien välisen kommunikaation varmentamiseen. REVIVAL projektissa on ollut TTKK:n lisäksi mukana Nokia Mobile Phones (NMP), Nokia Multimedia Terminals (NMT), Elektrobit, Teleste sekä Nokia Networks (NET).
Projektin tutkimustyö on jaettu osa-alueisiin, jotka liittyvät aiemmin mainittuihin SoC-piirien kehityksen ydinalueisiin. Ensimmäisessä tutkimusalueessa pyritään selvittämään VSIA:n ohjeistuksen sekä RMM:n suunnittelusääntöjen vaikutusta suunnitteluvuohon ja varsinaiseen suunnittelutyöhön. Tämän tutkimuksen sivutuotteena syntyy myös tietoliikennesovelluksiin tarkoitettuja virtuaalikomponentteja. Tutkimustapauksina olevista sovellusalueista voidaan mainita esimerkiksi langattomat lähiverkot ja 3. sukupolven matkaviestimissä käytettävä laajakaistainen CDMA.
Toinen tutkimusalue keskittyy piirin kommunikaation varmennusmenetelmien kehittämiseen. Tavoitteena on arkkitehtuurisuunnittelua auttava testaus- ja varmennusjärjestelmä piireille, jotka sisältävät useita ytimiä, erityyppisiä väyliä sekä siltoja. Kehitettävään järjestelmään on mahdollista sijoittaa haluamansa määrä isäntä- ja orjalohkoja, joiden väylille aiheuttamat operaatiot ja kuormitus on mahdollista määrittää. Lohkot liitetään toisiinsa väylällä tai useilla väylillä sekä silloilla.
Tällä tavoin koottuun SoC-järjestelmään voidaan automaattisesti luoda kommunikaatiotapahtumia määritettyjen väyläoperaatioiden perusteella sekä seurata väyläjakson tarkkuudella kommunikaatioverkon toimintaa. Saatavista seurantatiedoista pyritään varmentamaan kommunikaation toiminnan oikeellisuus sekä valitun kommunikaatiorakenteen kapasiteetin riittävyys. Kolmannessa tutkimusalueessa keskitytään uudelleenkäytettävien lohkojen FPGA-toteutuksiin.
EDA Electronic Design Automation. Elektroniikkasuunnittelussa käytetty automaatio, esimerkiksi suunnittelutyökalut.
HDL Hardware Description Language. Laitteistonkuvauskieli. Laitteiston rakenteen tai toiminnan kuvaamiseen kehitetty tekstikieli.
IP Intellectual Property. Uudelleenkäytettävä laitteistolohko.
RMM Reuse Methodology Manual. Yleisemmin viitattu uudelleenkäytettävien laitteistolohkojen suunnittelua käsittelevä kirja.
SoC System-on-Chip. Järjestelmäpiiri. Vähintään yhden ohjelmoitavan prosessorin sekä sovelluskohtaista laitteisto sisältävä piiri, joka toteuttaa jonkin monimutkaisen järjestelmän.
VC Virtual Component. Virtuaalikomponentti. VSIA:n suositukset täyttävä IP-lohko.
VHDL Very High Speed Integrated Circuit Hardware Description Language. Laitteistonkuvauskielistandardi, joka on Euroopassa yleisin menetelmä laitteistojen tekstimuotoiseen esitykseen.
TkT Mika Kuulusa toimii tutkimusryhmässä vanhempana tutkijana.
DI Ilkka Saastamoinen työskentelee ryhmässä tutkijana.
Yhteystieto: jari.nurmi@tut.fi
Tutkimushanke: Reusable Virtual Components for Various Applications (REVIVAL)
Yhteistyössä: Nokia Mobile Phones, Nokia Multimedia Terminals, Elektrobit, Teleste, Nokia Networks.
Teknologiaohjelma: ETX