Suunnitteluautomaatio



Samankaltaiset tiedostot
Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

TAMPEREEN TEKNILLINEN YLIOPISTO

4. Luento: Prosessit ja säikeets. Tommi Mikkonen,

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

Algoritmit 1. Luento 3 Ti Timo Männikkö

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietokoneen toiminta (Computer Organization I)

OHJ-4301 Sulautettu Ohjelmointi

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

L models. Käyttöohje. Ryhmä Rajoitteiset

Tekoäly ja alustatalous. Miten voit hyödyntää niitä omassa liiketoiminnassasi

Verilogvs. VHDL. Janne Koljonen University of Vaasa

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Software product lines

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Rosemount 3051S sähköiset ERS-anturit

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

TAMPEREEN TEKNILLINEN YLIOPISTO

Käyttöjärjestelmät: prosessit

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Ohjelmistoradio. Mikä se on:

Tutoriaaliläsnäoloista

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola

Tietokoneen toiminta (Computer Organization I)

(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.

Tietorakenteet ja algoritmit - syksy

Testidatan generointi

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Korkean resoluution ja suuren kuva-alueen SAR

Käännös, linkitys ja lataus

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset

Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

TKT-3201 Tietokonearkkitehtuuri 2. Luku 1: Tietokoneen abstraktiot ja tekniikka

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka

Suunnitteluvaihe prosessissa

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Kertausluento luennoista 1-3 1

Sulautetut järjestelmät

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Kehittyneiden Aaltomuotojen Käytettävyys HF-alueen Tiedonsiirrossa

A215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007

Ohjelmistojen mallintaminen, mallintaminen ja UML

Otto Esko Siirtoliipaistujen prosessorien käyttäminen FPGA-pohjaisissa järjestelmäpiireissä

Tutkintovaatimukset suoraan DI-vaiheeseen valituille

Energiatehokkuutta parantavien materiaalien tutkimus. Antti Karttunen Nuorten Akatemiaklubi

Algoritmit 2. Luento 8 To Timo Männikkö

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

LIITE. asiakirjaan. komission delegoitu asetus

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Tietojärjestelmän osat

Tulevaisuuden Internet. Sasu Tarkoma

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

- Jarjestelmaasiantuntija Markku Jaatinen

Big Room -toiminta tutkimuksen näkökulmasta. Sari Koskelo, Vison Oy

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

MAASTOMITTAUS- JA POHJATUTKIMUSYKSIKÖN KEHITTÄMISSUUNNITELMA

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Rinnakkaistietokoneet luento S

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Algoritmit 1. Luento 1 Ti Timo Männikkö

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Huawei E3276s ohjelmistopäivitys

Turvallisuusseminaari Silja-Line

Algoritmit 2. Luento 2 To Timo Männikkö

SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet

Johdatusta ohjelmistotekniikkaan

Ohjelmistojen mallintaminen. Luento 11, 7.12.

HP Sure View. Tekninen asiantuntijaraportti. Yrityksen ruutujen suojaus napin painalluksella. Toukokuu 2018

Algoritmit 2. Luento 1 Ti Timo Männikkö

Millainen on menestyvä digitaalinen palvelu?

Ohjelmien automaattisen verifioinnin reunamailla

Kombinatorinen optimointi

Ylläpito. Ylläpidon lajeja

7.4 Sormenjälkitekniikka

Ohjelmistojen mallintaminen

ohjelman arkkitehtuurista.

ITK130 Ohjelmistojen luonne

Sijainnin merkitys Itellassa GIS. Jakelun kehittämisen ajankohtaispäivä

Transkriptio:

1 Suunnitteluautomaatio Prof. Jarmo Takala Tampereen teknillinen yliopisto Digitaali- ja tietokonetekniikan laitos

2 IC-teknologian tarjoamat mahdollisuudet IC-teknologian kehittyminen on mahdollistanut entistä kompleksisempien järjestelmien toteuttamisen yhdellä mikropiirillä Järjestelmien suunnitteluajat eivät ole pidentyneet Suunnitteluryhmien koko ei ole kasvanut Suunnittelutyön tuottavuus on kasvanut IC-piirit valmistetaan yhä pienemmillä teknologiilla Aloituskustannukset kasvaneet, saanto pienentynyt Piirin uudelleenvalmistus virheen löydyttyä on erittäin kallista Verifiointi ja testaus ovat entistä tärkeämpiä

Laitteistosuunnittelun kehittyminen log Transaction level suunnittelujen kompleksisuus IP-lohkot Behavioral level portit register-transfer-level (RTL) suunnittelutyön tuottavuus transistorit laitteistonkuvauskielet logiikkasynteesi Transaktio-tason mallit (TLM) 1980 1990 2000 SPICE Lay-Out Generation ASIC Place & Route IC-CAD logiikkasimulaatio suunnittelujen uudelleenkäyttö (IP) käyttäytymistason synteesi (behavioral-level synthesis) Digitaali- ja tietokonetekniikan laitos ECT Forum 5.9.2007

4 Suunnittelun abstraktiotasot Suunnittelutyön tuottavuutta on kasvatettu suunnittelun abstraktiotasoa nostamalla Kätketään alemman tason toteutuksen yksityiskohdat Tarjotaan alusta ylemmän tason suunnittelulle Suunnittelija pääsee keskittymään suurempiin kokonaisuuksiin Yleensä suurimmat säästöt saavutetaan keskittymällä korkeamman tason optimointeihin

5 Abstraktiotasot lay-out porttikuvaus RTL reg logiikka logiikka reg laitteistonkuvauskieli BEGIN IF (dout7 = '1' OR dout7 = 'H') THEN mw_i0c_cnt <= "0000000"; ELSIF (CLK'EVENT AND CLK='1') THEN IF (eq = '1' OR eq = 'H') THEN mw_i0c_cnt <= mw_i0n_cnt; END IF; END IF; END PROCESS I0clock_proc;

6 Abstraktiotasot Edellisissäabstraktiotaso kuvaa laitteiston rakennetta Kuvausvarsinaiseen toteutukseen on mekanisoitavissa Työkalu etsii kirjastosta sopivimmat alemman abstraktiotason toteutukset annettujen rajoitteiden rajoissa Suunnittelija kehittää rakenteen, jolla aikaansaadaan haluttulaitteiston käyttäytyminen Missä järjestyksessä operaatiot suoritetaan Montako aritmetiikkayksikköä on käytössä Miten laskentaresurssit kytketään toisiinsa Minne välitulokset talletetaan Montako rekisteriä tarvitaan jne.

7 Käyttäytymistaso Ei kuvata rakennetta vaan käyttäytyminen d = a*b; c=2*b; e=a+d; f=d+c; a b 2 r=e-f; =y+z; * * + + - r z + y kellojakso 1 2 3 4 5 6 resurssit: 1 ALU * * + + - + 1 2 3 4 5 6 resurssit: kertoja ja summain * + * + + -

8 Logiikkasynteesi I/O-käyttäytyminen algoritmi teknologiakirjasto teknologiakirjasto Käyttäytymistason synteesi RTL-kuvaus RTL-synteesi Porttitason kuvaus I/O-liitynnän generointi operaatioiden vuoronnus datapolun ja kontrollin generointi analyysi Prosessissa pyritään löytämään ratkaisu, joka täyttää käyttäjän antamat rajoitteet: -pinta-ala, -suoritusaika, -kellotaajuus, -viive, -jne.

9 Suunnitteluavaruuden kartoitus Mahdollisia ratkaisuja on yleensä suuri määrä ja kaikkien ratkaisujen läpikäyminen on mahdotonta Käyttäytymistason suunnittelulla pyritään hakemaan mahdollisia laitteistoratkaisuja suoritusaika Pareto -käyrä (mahdollisten ratkaisujen avaruus) löydetty laitteistoratkaisu kustannus

10 Suunnitteluavaruuden kartoitus Edelleenkään ei ole olemassa työkalua, josta kustannustehokas toteutus saadaan nappia painamalla Ongelmana suunnitteluavaruuden laajuus Kaikkia mahdollisia ratkaisuja on mahdoton käydä läpi Automaattinen kartoitus perustuu tiettyihin sääntöihin pyrkii optimiin tietyn kaavan mukaan voi juuttua paikalliseen optimiin Suunnittelijan on pystyttävä tarjoamaan työkalulle riittävästi taustatietoa, jotta kustannustehokas löytyy Työkalun toiminta on ymmärrettävä, jotta prosessia osataan ohjataoikein

11 Suunnittelujen uudelleenkäyttö Yksinkertainen tapa kasvattaa suunnittelutyön tuottavuutta on käyttää uudelleen vanhoja suunnitteluja Liiketoimintamalli Lopputuotteena ei ole integroitu piiri tai layout-suunnittelu Kehitetään rakennelohkoja käytettäväksi asiakasyritysten suunnitteluissa Intellectual Property (IP) lohkot Hankaluutena IP-lohkon liityntä Ei ole olemassa standardi-liityntää Lohko pitäisi pystyä liittämään erilaisiin järjestelmiin helposti ja tehokkaasti

12 Sulautetut järjestelmät Perinteisesti suunnitteluautomaatio on keskittynyt puhtaan laitteiston suunnitteluun Ohjelmiston osuus toteutuksista on jatkuvasti noussut Joustavuus IP-lohkoissausein mukana prosessori Paras suorituskyky ja energiatehokkuus saavutetaan kuitenkin sovellukseen kehitetyllä laitteistolla laskentarakenteen optimointi tiettyyn sovellukseen tai sovelluskenttään on suhteellisen helppo tehtävä nykypäivänä, ongelmana on datapolun ohjaus Kontrollin tilojen määrä on kasvanut eponentiaalisesti Tilakoneohjaus on jäykkä Kontrolli toteutettu usein ohjelmallisesti (firmware)

13 Sulautetut järjestelmät Prosessori muisti muisti Prosessori (kontrolli) muisti Prosessori (kontrolli) muisti Prosessori (kontrolli) sovelluskohtainen laitteisto muisti (datapolku) IP-lohko sovelluskohtainen laitteisto muisti (datapolku) IP-lohko sovelluskohtainen laitteisto muisti (datapolku) IP-lohko -muistin fragmentoituminen, muistin pinta-alan kasvu -prosessoreiden määrä kasvaa

14 Sulautetut järjestelmät Prosessorin datapolun ulkopuolisia laitteistokiihdyttimiä ohjataan ohjelmiston alaisuudessa Ohjelmiston kehitystyökalut tuntevat ainoastaan prosessorin datapolun Ulkoinen laitteiston ohjauskoodi on kehitettävä manuaalisesti Laitteisto-ohjelmisto-integraatio vaatii parannusta

15 HW-SW SW-integraatio Järjestelmät koostuvat ohjelmistolla ohjatusta laitteistolohkoista Perinteisesti kaksi mekanismia laitteiston käyttämiseen ohjelman alaisuudessa ❶Käskykannan laajennukset Kovon suoritusaika korkeintaan muutama kellojakso Rinnakkaista suoritusta ei yleensä tueta Muut resurssit odottavat kiihdyttimen valmistumista Voi johtaa eksoottisiin muistiorganisaatioihin ❷Keskeytykset Kovon suoritusaika useita tuhansia kellojaksoja Kovon jakaminen usean tehtävän kesken käytännössä mahdotonta Keskeytyspalvelu voi olla pitkä Siirretään suuria datalohkoja Tehtävän vaihto lisää käyttöjärjestelmän kuormaa T1 tehtävän vaihto T2 sta @r1 ISE-HW lda @r1 mul b Keskeytys ja tehtävän vaihto T1 aloita HW HW laskenta HW valmis

16 Sulautetut järjestelmät Applications API 1 Monolithic Operating System API N HAL Ohjelmistoarkkitehtuurit koostuvat kerroksista Aiheuttavat ylimääräistä kuormaa Tehokas laitteistoresurssien käyttö vaatii standardirajapintojen ohittamista Ohjelmakoodi fragmentointuu Cache-muistien hyöty vähenee

17 Sulautetun järjestelmän abstraktiotasot suorituskykymallit säikeet tehtävät prosessit task-level models syntesoitavat VHDL-ohjelmat VHDL-ohjelmat C-ohjelmat SystemC-ohjelmat C++-ohjelmat Java-ohjelmat Java byte code -ohjelmat programs standardisolusuunnittelut FPGAkonfiguraatiot JVM eecutables FPGA-piirit ASIC-piirit prosessorit silicon chips

18 Haasteita Abstraktiotasojen määrä on kasvanut huomattavasti Alemman tason toteutuksen yksityiskohdat kätkeytyvät tehokkaasti Kustannustehokkaan toteutuksen löytämiseen tarvitaan tietoa laitteiston ominaisuuksista, mutta se ei ole käytettävissä ylemmillä abstraktiotasoilla Erityisesti tärkeä reaaliaikajärjestelmissä on aika laitteisto tarjoaa tarkan ajoituksen, mutta ohjelmistokerroksissa ajoitustieto hävitetään Abstraktiotason nosto ei ole enää ratkaisu Tarvitaan tehokkaampia menetelmiä ohjelmiston ja laitteiston integroimiseksi

19 Haasteita Rinnakkaisuus järjestelmissä lisääntyy Käskytaso, säikeet, tehtävät, prosessorit jne. Rinnakkaisuus on saatava paremmin hallintaan, erityisesti ohjelmiston kehityksessä Arvioiden mukaan alle 10nm teknologia ollaan ottamassa käyttöön v. 2017 CMOS-teknologian rajat alkavat tulla vastaan Käyttöön tulee uusia teknologioita, jotka vaativat uudenlaisia suunnittelumenetelmiä Suunnittelijaltatullaan jatkossakin vaatimaan asiantuntemusta Tehokas toteutus ei tule jatkossakaan nappia painamalla