az első VHDL program létrehozása: Hello World!

amikor új programozási nyelvet tanulok, mindig szeretek azzal kezdeni, hogy megtanulok nyomtatni. Amikor mester kimenetre ” Hello World!”, tudod, hogy működik a környezet. Azt is megmutatja, hogy az alapvető csontváz a nyelv, a csupasz minimális kód előállításához szükséges bármilyen kimenet.

lehet, hogy arra gondolsz: de a VHDL egy hardverleíró nyelv, hogyan tud egyáltalán szöveget kiadni? Szüksége lenne egy képernyőre, amely csatlakozik egy FPGA-hoz vagy valamihez, és mindenféle logika között, és ez egyáltalán nem lenne egyszerű. Bár mindez igaz, felejtsük el az FPGA-kat és az ASIC-ket egy pillanatra, és összpontosítsuk figyelmünket a VHDL nyelvre.

ez a blogbejegyzés része az alapvető VHDL oktatóanyagok sorozat.

a VHDL párhuzamos programozási nyelvnek tekinthető, ezért ezt a programozó megközelítést használhatjuk a tanuláshoz. Mivel a nyelvet a digitális áramkörök leírására használjuk, az egyetlen módja annak, hogy számítógépünkön futtassuk, egy szimulátor használata, és a szimulátor határozottan képes kiadni a ” Hello World!”a képernyőre.

Hogyan telepítsünk egy VHDL szimulátor és szerkesztő ingyen

gyakorlat

ez a videó bemutató megmutatja, hogyan lehet létrehozni a legelső VHDL program:

a végső kódot, hogy hoztunk létre:

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

a kimenet a szimulátor konzolra, amikor megnyomtuk a Futtatás gombot a ModelSim-ben:

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

elemzés

az első két sorban deklaráltuk az entitást. A modul entitása deklarálja bemeneteit és kimeneteit. Ahhoz, hogy egy modult szimulátorban lehessen futtatni, nem lehet bemenete vagy kimenete. Ezért a modul nem rendelkezik semmi más, mint egy üres entitás nyilatkozatot.

ezután deklaráltuk a modul architektúráját. Míg az entitás egy modul interfésze a külvilággal, az architektúra a belső megvalósítása. Egy modul több architektúrával is rendelkezhet, amelyek ugyanazzal az entitással használhatók. Ezen a ponton nem aggódnék túl sokat ezek miatt a dolgok miatt, mivel ezek fejlett VHDL funkciók.

az architektúrán belül egy folyamatot deklaráltunk. Egyelőre úgy gondolhatunk egy folyamatra, mint egy szálra a programunkban, ahol a dolgok egymás után történnek.

a folyamat belsejében kinyomtatjuk a ” Hello World!”a report kulcsszó használata. A következő sorban egyetlen wait;van. Amikor a szimulátor eléri ezt a sort, semmi több nem fog történni. A folyamat itt örökké vár.

amikor szimuláltuk ezt a tervet a ModelSim-ben, láthattuk, hogy ” Hello World!”a konzol kimenetére nyomtatták. Ezután semmi több nem történt.

 exkluzív hozzáférést kap a gyakorlatokhoz és a válaszokhoz!

elvihető

  • lehet gondolni egy folyamat, mint egy program szál
  • a report utasítás kiírja a szöveget, hogy a szimulátor konzol
  • végrehajtása a folyamat vár örökre a wait; nyilatkozat

ugrás a következő tutorial “

Leave a Reply

Az e-mail-címet nem tesszük közzé.