Sådan opretter du dit første VHDL-program: Hej Verden!

når jeg lærer et nyt programmeringssprog, vil jeg altid gerne starte med at lære at udskrive. Når du mester udsender ” Hej Verden!”, du ved, at du har fået miljøet til at fungere. Det viser dig også det grundlæggende skelet af sproget, den absolutte minimumskode, der kræves for at producere ethvert output.

du tænker måske: men VHDL er et maskinbeskrivelsessprog, hvordan kan det overhovedet udsende tekst? Du har brug for en skærm, der er forbundet til en FPGA eller noget og alle slags logik imellem, og det ville slet ikke være enkelt. Mens alt dette er sandt, lad os glemme FPGA ‘s og ASIC’ s bare et øjeblik og fokusere vores opmærksomhed på VHDL-sproget.

dette blogindlæg er en del af den grundlæggende VHDL Tutorials serie.

VHDL kan betragtes som et parallelt programmeringssprog, og derfor kan vi bruge denne programmørs tilgang til at lære det. Da vi bruger sproget til at beskrive digitale kredsløb, er den eneste måde, vi kan køre det på vores computer, ved at bruge en simulator, og simulatoren er bestemt i stand til at udsende “Hej Verden!”til skærmen.

Sådan installeres en VHDL-simulator og editor gratis

øvelse

denne videotutorial viser dig, hvordan du opretter dit allerførste VHDL-program:

den endelige kode, som vi oprettede:

entity T01_HelloWorldTb isend entity;architecture sim of T01_HelloWorldTb isbegin process is begin report "Hello World!"; wait; end process;end architecture;

udgangen til simulatorkonsollen, da vi trykkede på Kør-knappen i ModelSim:

VSIM 2> run# ** Note: Hello World!# Time: 0 ns Iteration: 0 Instance: /t01_helloworld

analyse

på de to første linjer erklærede vi enheden. Enheden af et modul erklærer sine input og output. For at det skal være muligt at køre et modul i en simulator, kan det ikke have nogen indgange eller udgange. Derfor har vores modul ikke andet end en tom enhedserklæring.

dernæst erklærede vi modulets arkitektur. Mens enheden er et moduls grænseflade til omverdenen, er arkitekturen dens interne implementering. Et modul kan have flere arkitekturer, der kan bruges med den samme enhed. Jeg ville ikke bekymre mig for meget om disse ting på dette tidspunkt, da de er avancerede VHDL-funktioner.

inde i arkitekturen erklærede vi en proces. For nu kan vi tænke på en proces som en tråd i vores program, hvor ting sker sekventielt.

inde i processen udskriver vi “Hej Verden!”brug af nøgleordet report. På den næste linje er der en enkelt wait;. Når simulatoren rammer denne linje, sker der ikke mere. Processen vil vente her for evigt.

da vi simulerede dette design i ModelSim, kunne vi se, at ” Hej Verden!”blev udskrevet til konsollen output. Derefter skete der ikke mere.

 få eksklusiv adgang til øvelser og svar!

afhentning

  • du kan tænke på en proces som en programtråd
  • erklæringen udskriver tekst til simulatorkonsollen
  • udførelse af en proces venter for evigt på en wait;erklæring

gå til næste tutorial “

Leave a Reply

Din e-mailadresse vil ikke blive publiceret.