Top Banner
VHDL/Verilog/SystemC Jukka Jokelainen 20.10.2009
22

VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

Jun 23, 2018

Download

Documents

dodan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

VHDL/Verilog/SystemC

Jukka Jokelainen

20.10.2009

Page 2: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

Sisältö

• Mitä ihmettä on hardwaren ohjelmointi?• VHDL• Verilog• SystemC• Analogiaelektroniikan yhdistäminen digitaaliseen

maailmaan

• Yhteenveto ja pohdintaa

Page 3: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 4: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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ä

Page 5: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 6: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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ä

Page 7: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 8: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

Esimerkki VHDL syntaxista

Page 9: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...
Page 10: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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)

Page 11: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 12: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 13: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

Hello World!

Page 14: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

Esimerkki flip-flop kiikusta

Page 15: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 16: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

Esimerkki luokkien käytöstä SystemVerilog:ssa

Page 17: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 18: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 19: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

Esimerkki SystemC koodista

Page 20: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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

Page 21: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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öä

Page 22: VHDL/Verilog/SystemC - Ohjelmistotekniikan Laboratoriotlilja/hopl/slides/vhdl.pdf · • Vuonna 2007 VHPI eli VHDL Procedural Interface, ... SystemVerilog • SystemVerilog on ...

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ä