Aloita piirien suunnittelu Verilogilla

Disclosure: Tukisi auttaa pitämään sivuston toiminnassa! Ansaitsemme lähetysmaksun joistakin tämän sivun suosittelemista palveluista.


Verilog on laitteistokuvauskieli (HDL). Tämä on samanlainen kuin ohjelmointikieli, mutta ei aivan sama asia. Ohjelmointikieltä käytetään ohjelmistojen luomiseen, kun taas laitteistokuvauskieltä käytetään kuvaamaan digitaalisten logiikkapiirien käyttäytymistä. Toisin sanoen HDL: tä käytetään tietokonepiirien suunnitteluun: prosessorit, prosessorit, emolevyt ja vastaavat digitaaliset piirit.

Verilog-historia

Verilog oli yksi ensimmäisistä nykyaikaisista HDL-levyistä. Aikaisempia HDL-levyjä oli useita, jotka ulottuivat 1960-luvulle, mutta ne olivat suhteellisen rajallisia. Verilogiin (ja sen läheiseen kilpailijaan VHDL) saakka suurin osa piirien suunnittelusta tehtiin pääasiassa käsin kääntämällä muodollisessa laitteistokuvauskielessä määritelty käyttäytyminen piirrettyjen piirilevyjen piirustuksiin..

Verilog aloitti toimintansa 1980-luvun alkupuolella omalla kielellä (suljetun lähdekoodin kielellä) laitteiston simulointiin – osittain laitteiston tarkistustyön suorittamiseen. (Nimi on yhdistelmä “todentamista” ja “logiikkaa”.) Suunnittelu sisälsi ideoita muilta HDL-levyiltä (enimmäkseen HiLo) ja myös ohjelmointikieleltä (enimmäkseen C). Kun ihmiset alkoivat käyttää kieltä, oli selvää, että sitä voidaan käyttää uuden laitteiston suunnitteluun. Tämä edellytti laitteistosynteesityökalujen suunnittelua, jotka voisivat muuntaa HDL-moduulin logiikan fyysiseksi muotoiluksi.

Vuonna 1990 Verilogia (Cadence) omistava yritys päätti avata lähdekoodin kielen. He siirsivät oikeudet uudelle voittoa tavoittelemattomalle organisaatiolle nimeltä Open Verilog International (joka myöhemmin sulautui VHDL: n vastaavaan organisaatioon Accelleran muodostamiseksi). Laitteistovalmistajat alkoivat nopeasti muuttaa ja laajentaa Verilogia omaan tarkoitukseensa, luomalla kymmeniä vähän yhteensopimattomia versioita. OVI pyysi IEEE: tä standardisoimaan kielen, kuten se teki vuonna 1995. IEEE on edelleen verilogien kielen arvovaltainen standardointielin, ja Accellera on ensisijainen kielen kehityksen veturi..

Verilog on muuttunut paljon viimeisen kolmen vuosikymmenen aikana. Ennen standardisointia jokainen uusi Cadence-versio esitteli suuren määrän uusia ominaisuuksia. Sen jälkeen kun IEEE otti standardin käyttöön, kielivaatimuksia on ollut kolme – viimeisin vuonna 2005.

Verilog-perhe

Verilog-peruskielen lisäksi Verilog-perheessä on kaksi suurta jäsentä.

  • SystemVerilogis on Verilogin yläjoukko, joka lisää täydellisen laitteistovarmennuskielen.
  • Verilog-AMS on Verilogin johdannainen, joka lisää ominaisuuksia analogisten ja segasignaalijärjestelmien kuvaamiseen.

Verilog-syntaksi ja esimerkit

Verilogin syntaksi ja rakenne ovat hyvin samankaltaiset kuin C. Suurin ero on, että se sisältää rakenteita ja operaattoreita laitteistokohtaisten yksityiskohtien kuvaamiseksi..

Jotkut asiat – esimerkiksi etenemisaika ja signaalin voimakkuus – tehdään selvemmin Verilogissa, joita ei oikeastaan ​​käsitellä sellaisilla kielillä kuin C.

Muut asiat on tosiasiallisesti abstraktioitu – kuten flip-flops (vaihtamalla kahden muuttujan arvot), jotka voidaan näyttää Verilogissa ilman väliaikaista osoitusta ad-hoc-muuttujille. Seuraavassa esimerkissä x- ja y-muuttujien arvot vaihdetaan:

alkaa
x <= y;
y <= x;
pää

Tässä on kolme esimerkkiä samasta multipleksointiprosessista, jotta saatat tuntemaan kielen hieman. Nämä kaikki yhdistävät kahden sisääntulon signaalit yhdeksi lähdöksi.

Esimerkki: Jatkuva toimeksianto

lanka;
määrittää = sel? a: b;

Esimerkki: Menettely

reg ulos;
aina @ (a tai b tai sel)
alkaa
kotelo (sel)
1’b0: out = b;
1’b1: out = a;
endcase
pää

Esimerkki: Jos muuta

reg ulos;
aina @ (a tai b tai sel)
jos (sel)
out = a;
muu
out = b;

Aina avainsana muodostaa loputtoman silmukan. Kun @ () -operaattori lisätään, silmukan yksi toisto tapahtuu aina, kun nimetyt arvot muuttuvat.

Verilog-resurssit

Koska Verilog ei ole perinteinen ohjelmointikieli, resurssit keskittyvät enemmän kirjoihin. Mutta olemme myös koonneet joitain parhaista verkkoresursseista.

Verkkoresurssit

  • Oppaat
    • Verilog-opetusohjelma Asic Worldilta: tiedot ovat erinomaiset etenkin niille, jotka tarvitsevat lähtötason opetusohjelmaa. Mutta sinun on jätettävä huomioimatta sen kauhea muotoilu.
    • Verilog Primer: paljasta luuta sisältävä neljän luvun verkkokirja, joka yrittää toimittaa “vain tosiasiat” Verilogista. Erittäin hyvä pitämään itsesi sekoittumattomana.
    • Johdatus Verilogiin: ilmainen yhdeksän luvun kurssi.
  • Työkalut
    • VeriPool: ilmaiset ohjelmistotyökalut Verilog-kehitykseen.
    • Verilog Online Simulator: ilmainen Verilog-tulkki.

Kirjat

Toisin kuin suositut ohjelmistokehityskielet, Verilogille ei juuri ole niin paljon online-resursseja ja opetusohjelmia. Jos haluat oppia kielen, sinun on hankittava joitain fyysisiä kirjoja.

Alustavat kirjat

Ne ovat ihmisille, jotka vasta alkavat oppia Verilogia.

  • Johdatus Verilogiin: yksi parhaimmista “juuri aloittamisen” kirjoista saatavilla.
  • Verilog-suunnittelun digitaalisen logiikan perusteet: johdanto aiheeseen, kirjoitettu ja suunniteltu oppikirjaksi korkeakoulututkinnon kurssille. Integroi CAD-ohjelmiston (tietokoneavusteinen suunnittelu) Verilogin kääntämiseksi fyysiseen piirisuunnitteluun ja dokumentoi, kuinka oikeat sirut todella toimivat.
  • Verilog esimerkillä: Tiivis johdanto FPGA-suunnitteluun: FPGA on kenttäohjelmoitava porttiryhmä, tyyppinen integroitu piiri, joka voidaan ohjelmoida valmistuksen jälkeen (ja ohjelmoida uudelleen). Tämä yhdistää suoran laitteiston käyttöönoton nopeuden (kuten ASIC: ssä) ja ohjelmisto-ohjelmoinnin joustavuuden. Verilogia voidaan käyttää FPGA-ohjelmointiin (tosiasiassa, jos olet vasta aloittamassa, pystyt todennäköisemmin toteuttamaan mallisi FPGA: lla kuin ASIC: lla, joka joutuisi olemaan räätälöity). Tämä kirja tarjoaa vankan johdannon tähän aiheeseen.
  • Digitaalinen suunnittelu (Verilog): Sulautettujen järjestelmien lähestymistapa Verilogia käyttämällä: toinen yliopistokurssin oppikirja, jossa esitellään Verilogia, tämä painopiste on sulautettujen järjestelmien suunnittelussa (josta löydät todennäköisesti sinun tarvitsevan suunnitella uusia FPGA-kuvia oikea maailma).
  • Digitaalinen suunnittelu: Johdanto Verilog HDL: ään
  • Digitaalinen suunnittelu ja Verilog HDL-perusteet
  • Verilog HDL -synteesi, käytännöllinen pohjamaali
  • SystemVerilog for Design 2nd Edition: Opas SystemVerilogin käyttämiseen laitteiden suunnittelussa ja mallinnuksessa

Väli- ja edistyneet kirjat

Kirjat ihmisille, jotka tuntevat jo Verilogin ja haluavat parantaa taitotasoaan.

  • Verilog ja SystemVerilog Gotchas: 101 yleistä koodausvirhettä ja miten niitä voidaan välttää: erittäin suositeltava kirja Verilog-ohjelmoijille, jotka haluavat tulla asiantuntijoiksi.
  • Verilog Designer’s Library: eräänlainen Verilog-reseptikirja työskenteleville Verilog-kehittäjille.
  • Edistynyt sirujen suunnittelu, käytännön esimerkkejä Verilogissa: yksi viimeisimmistä lisäyksistä Verilogin kaanoniin, tämä 2013 kirja on syvällinen käsitys aluksen päällikön sirujen suunnittelusta.
  • Digitaalinen logiikka RTL & Verilog-haastattelukysymykset

Kirjoja vain System Verilogista

  • UVM-pohjamaali: Vaiheittainen johdanto yleiseen verifiointimenetelmään
  • SystemVerilog for Verification: Opas Testbench-kielen ominaisuuksien oppimiseen
  • SystemVerilog-väitteet ja toiminnallinen kattavuus: Kielen, metodologian ja sovellusten opas

Vaihtoehtoja Verilogille

Verilog on yksi kahdesta yleisimmin käytetystä laitteiden kuvauskielestä. Toinen on VHDL. Lisäksi C ++: ta voidaan käyttää myös HDL: nä ja HVL: nä, tosin yleensä vain korkean tason käyttäytymissuunnitteluun. Vakavimmat laitteistokehittäjät sujuvat kaikissa kolmessa ja lisäksi tärkeimmät alhaisen tason käyttöjärjestelmän kielet, kuten C.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map