Kom i gang med å designe kretsløp med Verilog

Formidling: Din støtte hjelper med å holde nettstedet i gang! Vi tjener et henvisningsgebyr for noen av tjenestene vi anbefaler på denne siden.


Verilog er et maskinvarebeskrivelsesspråk (HDL). Dette ligner et programmeringsspråk, men ikke helt det samme. Mens et programmeringsspråk brukes til å bygge programvare, brukes et maskinvarebeskrivelsesspråk for å beskrive atferden til digitale logiske kretsløp. Det vil si at en HDL brukes til å designe datamaskinbrikker: prosessorer, CPUer, hovedkort og lignende digitale kretsløp.

Verilog History

Verilog var en av de første moderne HDL-ene. Det var flere tidligere HDL-er som gikk tilbake til 1960-tallet, men de var relativt begrensede. Inntil Verilog (og dens nære konkurrent, VHDL), ble mest kretsdesign hovedsakelig utført for hånd, og oversatte oppførselen spesifisert i en formell maskinvarebeskrivelse-språk til tegnet kretskort-tegninger.

Verilog startet på begynnelsen av 1980-tallet som et proprietært språk (lukket kildekode) for å simulere maskinvare – delvis for å utføre maskinvareverifiseringsarbeid. (Navnet er en kombinasjon av “bekreftelse” og “logikk.”) Designet inkorporerte ideer fra andre HDL-er (for det meste HiLo) og også fra programmeringsspråk (for det meste C). Når folk begynte å bruke språket, var det tydelig at det kunne brukes til å designe ny maskinvare. Dette krevde å utforme maskinvaresynteseverktøy som kunne oversette logikken til en HDL-modul til en fysisk design.

I 1990 bestemte selskapet som eide Verilog (Cadence) seg for å åpne språket. De overførte rettighetene til en ny ideell organisasjon kalt Open Verilog International (som senere fusjonerte med den tilsvarende organisasjonen for VHDL for å danne Accellera). Maskinvareleverandører begynte raskt å endre og utvide Verilog til sine egne formål, og skapte dusinvis av litt inkompatible versjoner. OVI ba IEEE om å standardisere språket, som det gjorde i 1995. IEEE fortsetter å være det autoritative standardorganet for Verilog-språket, og Accellera er den viktigste driveren for språkutvikling.

Verilog har endret seg mye de siste tre tiårene. Før standardisering introduserte hver nye versjon fra Cadence et stort antall nye funksjoner. Siden standarden ble tatt opp av IEEE, har det vært tre språkspesifikasjoner – den siste i 2005.

Verilog-familien

I tillegg til kjernen Verilog-språket, er det to store medlemmer av Verilog-familien.

  • SystemVerilogis er et supersett av Verilog som legger til et komplett språk for maskinvareverifisering.
  • Verilog-AMS er et derivat av Verilog som legger til funksjoner for å beskrive analoge og blandede signalanlegg.

Verilog syntaks og eksempler

Syntaksen og strukturen til Verilog er veldig lik C. Den største forskjellen er at den inkluderer strukturer og operatører for å beskrive maskinvarespesifikke detaljer.

Noen ting blir gjort mer eksplisitte i Verilog – forplantningstid og signalstyrke, for eksempel – som egentlig ikke blir behandlet på språk som C.

Andre ting er faktisk abstrakt litt – som flip-flops (utveksling av verdiene til to variabler) som kan vises i Verilog uten behov for midlertidig tildeling til ad-hoc-variabler. I det følgende eksemplet byttes verdiene i x- og y-variablene:

begynne
x <= y;
y <= x;
slutt

Her er tre eksempler på den samme multiplekseprosessen for å gi deg et lite preg av språket. Disse kombinerer alle signalene fra to innganger til en enkelt utgang.

Eksempel: Kontinuerlig tildeling

tråd ut;
tilordne ut = sel? a: b;

Eksempel: Prosedyre

reg ut;
alltid @ (a eller b eller sel)
begynne
case (SEL)
1’b0: ut = b;
1’b1: ut = a;
endcase
slutt

Eksempel: Hvis-annet

reg ut;
alltid @ (a eller b eller sel)
hvis (sel)
ut = a;
ellers
ut = b;

Det alltid stikkordet danner en uendelig sløyfe. Når @ () -operatøren legges til, skjer en iterasjon av loopen hver gang de navngitte verdiene endres.

Verilog Resources

Fordi Verilog ikke er et tradisjonelt programmeringsspråk for programvare, er ressursene mer fokusert på bøker. Men vi har satt sammen noen av de beste online ressursene også.

Online ressurser

  • Guider
    • Verilog Tutorial fra Asic World: informasjonen er utmerket, spesielt for de som trenger en opplæringsnivå. Men du må ignorere dets forferdelige design.
    • Verilog Primer: en bok med bare bein med fire kapitler som prøver å levere “bare fakta” ​​på Verilog. Veldig bra for å komme deg uforvirret.
    • Introduksjon til Verilog: et gratis ni-kapittel kurs.
  • Verktøy
    • VeriPool: gratis programvareverktøy for Verilog-utvikling.
    • Verilog Online Simulator: en gratis Verilog-tolk.

bøker

I motsetning til populære språk for programvareutvikling, er det bare ikke så mange online ressurser og opplæringsprogrammer for Verilog. Hvis du vil lære språket, må du skaffe deg noen fysiske bøker.

Innledende bøker

Dette er for folk som nettopp begynner å lære Verilog.

  • Introduksjon til Verilog: en av de bedre tilgjengelige bøkene som bare er kommet i gang.
  • Fundamentals of Digital Logic with Verilog Design: en introduksjon til emnet, skrevet og designet som en lærebok for et kurs på høyskolenivå. Integrerer CAD (datastøttet design) programvare for å oversette Verilog til fysisk kretsdesign, og dokumenterer hvordan ekte brikker faktisk fungerer.
  • Verilog av eksempel: En kortfattet introduksjon for FPGA-design: FPGA er feltprogrammerbar gate Array, en type integrert krets som kan programmeres etter produksjon (og omprogrammeres). Dette kombinerer hastigheten på direkte maskinvareimplementering (som i en ASIC) med fleksibiliteten i programvareprogrammering. Verilog kan brukes til å programmere FPGA-er (faktisk, hvis du bare er i gang, er det mye mer sannsynlig at du kan implementere designene dine på en FPGA enn en ASIC, som måtte tilpasses produsert). Denne boken gir en solid introduksjon til dette emnet.
  • Digital design (Verilog): En innebygd systemtilnærming ved bruk av Verilog: en annen lærebok med høyskolekurs med innledende informasjon om Verilog, denne med vekt på å utforme innebygde systemer (som du sannsynligvis vil finne deg selv trenger å designe nye FPGA-bilder i den virkelige verden).
  • Digital design: med en introduksjon til Verilog HDL
  • Digital design og Verilog HDL Fundamentals
  • Verilog HDL Synthesis, A Practical Primer
  • SystemVerilog for Design Second Edition: En guide til bruk av SystemVerilog for maskinvaredesign og modellering

Mellom- og avanserte bøker

Bøker for folk som allerede kjenner Verilog, og ønsker å øke ferdighetsnivået.

  • Verilog og SystemVerilog Gotchas: 101 vanlige kodefeil og hvordan du kan unngå dem: en sterkt anbefalt bok for mellomliggende Verilog-programmerere som ønsker å bli eksperter.
  • Verilog Designer’s Library: en slags Verilog oppskriftsbok for fungerende Verilog-utviklere.
  • Avansert chipdesign, praktiske eksempler i Verilog: en av de nyere tilleggene til Verilog canon, denne 2013-boken er en grundig titt på chipdesign fra en kunsthåndverker.
  • Digital logikk RTL & Verilog intervjuspørsmål

Bøker omtrent System Verilog

  • UVM Primer: En trinnvis introduksjon til den universelle verifikasjonsmetodikken
  • SystemVerilog for Verification: En guide til å lære språkkfunksjonene i testbenken
  • SystemVerilog-påstander og funksjonsdekning: Veiledning for språk, metodikk og applikasjoner

Alternativer til Verilog

Verilog er et av de to mest brukte språkene for maskinvarebeskrivelse. Den andre er VHDL. I tillegg kan C ++ også brukes som HDL og HVL, men mest bare for atferdsdesign på høyt nivå. De fleste seriøse maskinvareutviklere er flytende i alle tre, pluss store språk på operativsystem som lavt nivå.

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