Hvordan lage ditt første VHDL-program: Hei, Verden!
når jeg lærer et nytt programmeringsspråk, liker jeg alltid å begynne med å lære å skrive ut. Når du mestrer utmating » Hei, Verden!», du vet at du har miljøet som fungerer. Den viser deg også den grunnleggende skjelettet av språket, minimum kode som kreves for å produsere noen utgang.
du kan tenke: MEN VHDL er et maskinvarebeskrivelsesspråk, hvordan kan det skrive ut tekst i det hele tatt? Du trenger en skjerm koblet til EN FPGA eller noe og all slags logikk i mellom, og det ville ikke være enkelt i det hele tatt. Mens alt dette er sant, la oss glemme FPGA og ASIC bare for et øyeblikk og fokusere vår oppmerksomhet PÅ VHDL-språket.
dette blogginnlegget er en del Av Basic Vhdl Tutorials-serien.
VHDL kan betraktes som et parallelt programmeringsspråk, og derfor kan vi bruke denne programmererens tilnærming til å lære det. Siden vi bruker språket til å beskrive digitale kretser, er den eneste måten vi kan kjøre den på datamaskinen vår ved å bruke en simulator, og simulatoren er definitivt i stand til å sende ut » Hei Verden!»til skjermen.
slik installerer DU EN vhdl-simulator og redaktør gratis
Øvelse
denne videoopplæringen viser deg hvordan du lager ditt aller første vhdl-program:
den endelige koden som vi opprettet:
entity T01_HelloWorldTb isend entity;architecture sim of T01_HelloWorldTb isbegin process is begin report "Hello World!"; wait; end process;end architecture;
utgangen til simulatorkonsollen når vi trykket på run-knappen I ModelSim:
VSIM 2> run# ** Note: Hello World!# Time: 0 ns Iteration: 0 Instance: /t01_helloworld
Analyse
på de to første linjene erklærte vi enheten. Enheten av en modul erklærer sine innganger og utganger. For at det skal være mulig å kjøre en modul i en simulator, kan den ikke ha noen innganger eller utganger. Derfor har vår modul ikke noe annet enn en tom enhetserklæring.
deretter erklærte vi arkitekturen til modulen. Mens enheten er en moduls grensesnitt til omverdenen, er arkitekturen dens interne implementering. En modul kan ha flere arkitekturer som kan brukes med samme enhet. Jeg ville ikke bekymre meg for mye om disse tingene på dette punktet da de er avanserte VHDL-funksjoner.
Inne i arkitekturen erklærte vi en prosess. For nå kan vi tenke på en prosess som en tråd i vårt program, hvor ting skjer i rekkefølge.
Inne i prosessen skriver Vi ut «Hei, Verden!»bruke nøkkelordet report
. På neste linje er det en enkelt wait;
. Når simulatoren treffer denne linjen, kommer ingenting mer til å skje. Prosessen vil vente her for alltid.
når vi simulerte dette designet I ModelSim, kunne vi se at » Hei Verden!»ble skrevet ut til konsollutgangen . Etter det skjedde ingenting mer.
Takeaway
- du kan tenke på en prosess som en programtråd
report
setningen skriver ut tekst til simulatorkonsollen- Utførelse av en prosess vil vente for alltid på en
wait;
setning
Gå til neste veiledning «