VHDL/Verilog/SystemC. Jukka Jokelainen 20.10.2009



Samankaltaiset tiedostot
ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

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

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

13/20: Kierrätys kannattaa koodaamisessakin

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA AUTOMAATIOTEKNIIKKA. Otto Nurmi FPGA-TEKNIIKAN OPETUKSEN KEHITTÄMINEN

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistoradio. Mikä se on:

4. Lausekielinen ohjelmointi 4.1

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi

ANALOGIAPIIRIT III/SUUNNITTELUHARJOITUS OSA 5

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

ASIC-suunnitteluvuo SystemC:stä piirikuviointiin

Ohjelmointi 1 / syksy /20: IDE

Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010

7/20: Paketti kasassa ensimmäistä kertaa

TIE Principles of Programming Languages. Seminaariesityksen essee. Ryhmä 18: Heidi Vulli, Joni Heikkilä


D-OHJELMOINTIKIELI. AA-kerho, 33. Antti Uusimäki. Arto Savolainen

Kieliversiointityökalu Java-ohjelmistoon. Ohje

FPGA- piirin testaus SystemVerilogilla

TIE Principles of Programming Languages CEYLON

Opera Hotel Edition. Arvonlisäverokantojen muutos Operaan Finland. Toukokuu 2010 MICROS-Fidelio Finland Oy, Hotel Systems HelpDesk

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli

KANDIDAATINTYÖ. Laitteistoemulointi järjestelmäsuunnittelussa. Ville Kangas. Ohjaaja: Jukka Lahti SÄHKÖTEKNIIKAN KOULUTUSOHJELMA

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Tekstinkäsittelystä. H4: Tekstinkäsittelyn perusharjoitus. Toimisto ohjelmista

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Älypuhelimet. Sisällysluettelo

ANALOGIAPIIRIT III/SUUNNITTELUHARJOITUS OSA 1

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

W3C ja Web-teknologiat

Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ

DIPLOMITYÖ LAITTEISTOEMULOINNIN TEHOKAS KÄYTTÖ GLOBAALISSA ORGANISAATIOSSA

CUDA. Moniydinohjelmointi Mikko Honkonen

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

Android jatkaa kasvua

Ohjelmistotuotteen hallinnasta

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

labs.kirjastot.fi Antti Pakarinen Timo Tuominen

.NET 2006 ja sen jälkeen

Lataa Kehon kieli - Ohashi. Lataa

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Heikki Helin Metatiedot ja tiedostomuodot

Turun Ammattikorkeakoulu, Elektroniikka

Tähtitieteen käytännön menetelmiä Kevät 2009

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

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

ELEKTRONIIKAN PERUSTEET T700504

SULAUTETTUJEN JÄRJESTELMIEN AMMATILLISET ERIKOISTUMISOPINNOT (30 op)

C++ Ohjelmoijan käsikirja. Johdanto

ADA. Ohjelmointikieli. Ryhmä 5 Henna Olli, Päivi Hietanen

LIITE. asiakirjaan. komission delegoitu asetus

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

HELIA 1 (11) Outi Virkki Tiedonhallinta

Ohjelmointi 1. Kumppanit

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit

ACCOUNTOR ICT Digitaalinen työympäristö Markkinatutkimus joulukuu 2018

HENKILÖKOHTAINEN NÄYTTÖSUUNNITELMA

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Joustava tapa integroida järjestelmiä node-red:llä visuaalisesti - Internet of Things & Industrial Internet

Johdatus rakenteisiin dokumentteihin

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Onko sinun yritykselläsi jo tietotekniikka Palveluksessa? vtoasp -palvelun avulla siirrät tietojärjestelmäsi haasteet ammattilaisten hoidettaviksi.

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen

VHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33)

Merja Maijanen FPGA-PERUSTAISEN SOC:N VERIFIOINTI SUUNNITTELUN ERI VAIHEISSA

2_1----~--~r--1.~--~--~--,.~~

POWER analytiikka-alustana

Digitaalilaitteen signaalit

JATKO-OPINTOSUUNNITELMA

Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi

TRUST SIGHT FIGHTER VIBRATION FEEDBACK & PREDATOR QZ 500

ETS suunnittelutyökaluna. Veijo Piikkilä Stateko Oy

Automaatio- ja systeemitekniikan projektityöt 2013

.NET ja C# Virtuaalikone. Common Language Infrastructure (CLI) Periaate. Etuja. Haittoja. Mikä on CLI. CLI standardin merkitys (CLS, Ecma)

W3C: teknologia ja (tieto)yhteiskunta

Ruby. Tampere University of Technology Department of Pervasive Computing TIE Principles of Programming Languages

TURVAVÄYLÄSEMINAARI. Erilaiset kenttäväylät ja niiden kehitys Jukka Hiltunen

15. TIETOLIIKENNE-ELEKTRONIIKAN KOULUTUSOHJELMA

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen

15. TIETOLIIKENNE-ELEKTRONIIKAN KOULUTUSOHJELMA

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Aktiivisen melunhallintaprosessorin suunnittelu SystemC-kieltä ja korkean tason synteesiä käyttämällä

AS Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

DAISY. Esteetöntä julkaisua

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Sähkötekniikan kanditutkinnon yleinen rakenne Tutkinnon laajuus 180 op

Yhteistyö kanssamme avain menestykseen. Satmatic Oy Sammontie ULVILA etunimi.sukunimi@satmatic.fi

Opetusteknologian standardoinnin tilanne. Antti Auer

Elektroninen ohjaus helposti

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli

Transkriptio:

VHDL/Verilog/SystemC Jukka Jokelainen 20.10.2009

Sisältö Mitä ihmettä on hardwaren ohjelmointi? VHDL Verilog SystemC Analogiaelektroniikan yhdistäminen digitaaliseen maailmaan Yhteenveto ja pohdintaa

Hardwaren ohjelmointi HDL nimensä mukaisesti Hardware Description Language Integroitujen digitaalipiirien monimutkaistuessa ja transistorimäärän kasvaessa automaation määrää integroitujen piirien suunnittelussa oli pakko lisätä Pää sovelluskohteet ASIC ja FPGA piirit Tietokoneiden prosessorit malliesimerkki Alun perin ainoastaan digitaalilogiikkaa

VHDL VHDL = VHSIC (Very High Speed Integrated Circuit) Description Language Yhdysvaltojen puolustusministeriön (DoD) projekti Kehitys aloitettiin kustannussyistä elektroniikan elinkaarikustannukset olivat valtavat Kehitetty alunperin vaihtoehtoiseksi dokumentaatioksi laajojen ja monimutkaisten ohjekirjojen sijaan Haluttiin kuvaava kieli joka toimisi samalla tavalla kaikissa simulaattoreissa ja on riippumaton niin alustasta kuin suunnittelutyylistä

VHDL:n alkuvaiheet Kehitystyö aloitettu vuonna 1981 Ns. baseline kielen kehityksessä mukana IBM ja TI Baseline kieli annettiin teollisuudelle jo muutamaa vuotta ennen kielen standardoimista jotta kehitystyökalujen kehittäminen voitiin aloittaa hyvissä ajoin ASIC Mandaatti, DoD vaati kattavan VHDL kuvauksen jokaisesta heille toimitetusta ASIC:a Käytännössä pakotti kehittäjät käyttämään VHDL:ä koko tuotanto prosessissa DoD siirsi kaikki VHDL:n oikeudet IEEE:lle 1986

IEEE:n aika IEEE:n ensimmäinen standardi vuonna 1987 Sääntöjen mukaan standardi on tarkastettava vähintään viiden vuoden välein Ensimmäinen tarkastus vuonna 1993, VHDL:n laajimmalle levinnyt versio on edelleen VHDL-1993 VHDL-2000 toi VHDL:n suojatut tietotyypit (protected) VHDL-2002 pieniä korjauksia, suurimpana muutoksena bufferiporttien suunnittelusääntöjen keventäminen Vuonna 2007 VHPI eli VHDL Procedural Interface, uusia ominaisuuksia itse kieleen ei lisätty. VHPI mahdollistaa työkalujen, joita voi käyttää ennen ja samanaikaisesti simuloinnin kanssa, ohjelmoinnin esimerkiksi C- kielellä

VHDL ohjelmointikielenä Pohjautuu hyvin vahvasti Ada ohjelmointikieleen DoD:n vaatimus oli että mahdollisimman suuri osa syntaksista otetaan Ada:sta joka on jo valmiiksi testattu eikä päädytä uudelleen suunnittelemaan jo olemassa olevia ominaisuuksia Vahvasti tyypitetty kieli Ensimmäisessä vaiheessa kehitettiin simulaattoreita jotka osasivat lukea VHDL tiedostoja Seuraavaksi kehitettiin synteesityökaluja jotka pystyivät lukemaan VHDL tiedostoja ja tuottamaan koodin perusteella maskit fyysisen tuotteen valmistamiseen Selkeinä eroina perinteisiin ohjelmointikieliin esimerkiksi totuusarvomuuttujat nand ja nor sekä mahdollisuuden indexoida taulukot niin ylhäältä alaspäin kuin alhaalta ylöspäin

Esimerkki VHDL syntaxista

VHDL yhteenveto 1 Kehitystyö alkoi 1983-85 Baseline kielen kehitys yhteistyössä IBM ja TI 3 DoD siirtää kaikki oikeudet IEEE:lle 4 Ensimmäinen IEEE standardi julkaistaan 5 Mil Std 454 vaatii kaikilta DoD:lle toimitetuilta ASIC:a kattavan VHDL selvityksen 6 Tarkastettu standardi (VHDL 1076-1993) 2000 Tarkastettu standardi (VHDL 1076-2000) 8 Tarkastettu standardi (VHDL 1076-2002) 2007 VHDL Procedural Language Application Interface standard 2009 Tarkastettu standardi (VHDL 1076-2008)

Verilog Phil Moorby ja Prabhu Goel aloittivat hardwaren mallinnus kielen kehittämisen talvella 1983/84 Automated Design Systems:llä Cadence Design Systems osti Verilog:n vuonna 1990 Verilog heräsi 1990-luvulla VHDL:n kasvavaan suosioon ja Cadence päätti antaa kielen vapaasti standardoitavaksi, syntyi Open Verilog International ( www.ovi.org) nykyisin Accellera IEEE standardoi Verilog:n 1995 standardilla 1364-1995 joka tunnetaan paremmin nimellä Verilog-95

Verilog:n myöhempi historia Cadence kehitti samanaikaisesti IEEE:n standardoidessa Verilog:a Verilog-A ohjelmointikieltä joka tuki myös analogielektroniikkaa ja tavoitteena oli Cadencen analogisimulaattori Spectren laajentaminen Verilog-A toimi esiasteena Verilog-AMS kielelle josta lisää myöhemmin IEEE teki huomattavia lisäyksiä Verilog-95:n vuonna 2001 ja Verilog-2001 onkin Verilogin laajiten käytetty versio Seuraava revisio Verilogin standardiin tuli vuonna 2005 mutta siinä oli vain pieniä korjauksia

Hello World!

Esimerkki flip-flop kiikusta

SystemVerilog SystemVerilog on Hardware Description Languagen ja Hardware Verification Languagen risteytys SystemVerilog syntyi vuonna 2002 kun Superlog ohjelmointikieli lahjoitettiin Accelleralle Superlog pohjautuu OpenVera kieleen jonka on tehnyt Synopsys SystemVerilog:sta tuli IEEE:n standardi vuonna 2005 SystemVerilog eroaa perinteisestä Verilog:sta huomattavasti mahdollistamalla mm. olio-ohjelmoinnin

Esimerkki luokkien käytöstä SystemVerilog:ssa

SystemC Ei suoranaisesti oma ohjelmointikielensä vaan kasa luokkia ja makroja jotka laajentavat C++:a SystemC prosessia simuloitaessa voidaan järjestelmään ajaa signaalina mitä tahansa C++:n tukemaa datatyyppiä SystemC pyrkii useilla tavoin olemaan kuin VHDL ja Verilog mutta parempi ilmaus olisi sanoa sen olevan systeemitason mallinnuskieli kuin HDL Tästä hyvänä esimerkkinä mahdollisuus kääntää SystemC sourcesta executable jota voidaan ajaa tietokoneella, lisäksi SystemC simulaattoreiden väitetään olemaan huonompia optimoimaan RTF tasolla simuloitaessa

SystemC:n lyhyt historia 1999-09 Open SystemC:n kehittäminen alkoi 2000-03(alku) SystemC V0.91 julkaisu 2000-03(loppu) SystemC V1.0 julkaisu 2001-02 SystemC V2.0 spesifikaatio ja V1.2 betan sourcen julkaisu 2003-06 Language Reference Manual (LRM) julkaisu 2005-06 SystemC 2.1 LRM ja TLM 1.0 (Transaction- Level Modeling) 2005-12 Hyväksytään IEEE:n standardiksi 2007-04 SystemC V2.2 julkaisu 2008-06 TLM 2.0 kirjaston julkaisu 2009-07 TLM 2.0 LRM julkaisu, TLM 2.0.1 kirjaston julkaisu

Esimerkki SystemC koodista

Analogiateknologian yhdistäminen VHDL-AMS Verilog-AMS AMS Analog and Mixed-Signal Esimerkiksi tietoliikenneteollisuudella kova halu integroida samalle lastulle niin lähetin/vastaanotin (RF/analogia), suodatus ja vahvistus (analogia) ja DSP (digitaalilogiikka) Tulevaisuuden kännykässä ehkä vain yksi IC sisällä joka hoitaa kaiken Eivät oikeastaan omia kieliään vaan laajennuksia olemassaoleviin HDL:n

Yhteenveto ja Tulevaisuus HDL:n kehitys on osaltaan mahdollistanut yhä nopeampien ja pienempään kokoon menevien puolijohteiden kehityksen Paineet yhä paremman automatisoinnin saavuttamiseksi erityisesti käännettäessä koodista layoutteja kasvavat jatkuvasti VHDL ja Verilog tullee säilymään markkinajohtajina hyvin pitkään SystemC valtaa alaa erityisesti uusissa sovelluksissa Erityisesti Testbenchien monimutkaistuminen suosii SystemC:n käyttöä

Lähteet http://www.doulos.com/knowhow/vhdl_designers_guide/a_brief_history_of_vhdl/ http://www.doulos.com/knowhow/verilog_designers_guide/a_brief_history_of_verilog/ http://vhdl.org/ http://www.asic-world.com/verilog/history.html http://www.systemc.org/home/ http://standards.ieee.org/getieee/1666/ Peter J. Ashenden The Designer s Guide to VHDL ISBN: 1-55860-674-2 Wikipedia täynnä hyviä lähteitä