Írni és futtatni egy szkriptet, hogy szimulálja Verilog-kódot ModelSim
Hello mindenkinek! Remélem, mindenki jó volt a nyaralás, és készen áll az új erők, hogy meghódítsa a magassága FPGA fejlesztés.
Ma szeretnék írni egy kis útmutató, hogy indítson testbenchey a Verilog / SystemVerilog ModelSim nélkül GUI használatban.
A terv a következő lesz:
Menjünk! Kezdeni, meg kell, hogy a keze a következő:
- szerelt ModelSim;
- a kész projekt Verilog / SystemVerilog;
- kész testbench a Verilog / SystemVerilog;
Példaként figyelembe vesszük a projekt HappyNY
1. hozzáadása az elérési utat a futtatható fájlt ModelSim PATH
Ellenőrizze, hogy meg kell tenni, akkor könnyen: típusú ModelSim parancssorból. ha nem, akkor indítsa el a ModelSim, akkor az aktuális tétel kimarad. Ellenkező esetben, a Windows, ez történik az alábbiak szerint: a nyílt parancsot, és írjuk be a parancsot
ahol az elérési utat a futtatható fájl ModelSim (miután, meg kell adnia annak elérési utat a futtatható). A parancs után végezzen vizsgálatot, azt az elején ezt a bekezdést, ha valami nincs rendben, majd ismételje meg a lépést.
2. Az írás szkriptek futtatásához
Vizsgáljuk meg ezt a darabot forgatókönyvet.
A csapat az átirat a zászló - ugyanaz, mint a visszhang. azaz Miután megadta ezt a parancsot, az összes többi parancsot egy script, nyomtatott teljesítmény a ModelSim parancssor, azaz világossá válik, hogy melyik csapat és amikor végre miután néhány közülük olyan hiba (ha van).
vlib parancs létrehoz egy projekt könyvtár nevű munkát.
Csapat vlog a zászlók - kihívás Verilog fordító.
Flag -sV. akkor kitalálta, azt mondja a fordító, hogy használja a SystemVerilog szabvány. Összeállította az összes fájlt függetlenül, ellentétben például Quartus. így ha például import utasítás egyes részeinek a csomag. akkor meg kell tennie azokat az egyes fájlok, ahol használják őket, vagy közvetlenül a fájl, amely tartalmazza a csomag (Quartus, ha nem előre a befogadás őrök, dobja ebben az esetben a hiba).
Flag + incdir + .. / azt mutatja, ahol a fordító kell keresni egy olyan fájlt (azaz fájlok meghatározott kódot az irányelv `tartalmazza).
Ezután jön a neve a fájl összeállítani.
vsim parancs - az, hogy a szimulációt.
-t zászló meghatározza a pontosságát időrácsra.
-voptargs zászló lesz az érveket a későbbi automatikus hívás optimalizáló vopt, azaz ott lesz a kihívás vopt + acc. Ez a zászló tartalmaz optimalizálást különböző tárgyakat a projektben, és magában foglalja a megjelenése ezeket a tárgyakat a szimulátorban. Bővebben olvashatsz róla itt., 154. o.
A végén jön a neve a felső szintű testbencha, ebben a példában ez megegyezik a fájl nevét.
És végül, az utolsó része a script:
Először is, adjuk hozzá a szükséges jeleket képez hullám Ablak parancs hozzáadása hullám. Felhívjuk figyelmét, hogy az egyik jel változik a formátum a karaktert -radix ASCII zászló.
Ezután állítsa be a készüléket időrácsra skála. Fuss szimuláció a forgatókönyvet írt testbenche. Stretch (vagy csökken) a képen az ablak hullám úgy, hogy pontosan beleillik az ablak méretét.
3. Indítsa ModelSim a program futása
Az első dolog, amit meg kell nyitni shellparancsot vagy terminál, és keresse meg a könyvtárat, ahol a szkript és a projekt fájlokat. Akkor meg kell futtatni a futtatható fájl ModelSim kulcs -Van
Többé nem kell tennie semmit. Ha valamilyen oknál fogva nem tud hozzáadni az utat a ModelSim környezeti változó helyett ModelSim, akkor adja meg a teljes elérési utat a futtatható fájlt. Ha ez nem működik, akkor fut ModelSim viszont akkor lehet ModelSim parancssorban lépjen a projekt könyvtárba, és futtassa a script parancsot:
Miután az összes itt leírt, akkor a következő képet látja:
Köszönöm a figyelmet, jó szerencsét!
Jó napot! Nemrég próbáltam csinálni valami hasonlót VHDL és pihent a tény, hogy ellentétben Verilog'a fontos annak érdekében, összeállításának fájlokat. Súlyos IDE megbirkózni vele gond, de a „dig” onnan, hogy hogyan csinálják - nem működött. Ezzel kapcsolatban kérdés - van-e ilyen fejlesztések VHDL?
Py.Sy.Esli becsületes, kiderült, hogy a sorrendben a fájlok összeállításához a nem-projekt mód Vivado, de ez túl tüske lehetőséget. Ha a projekt kriptovat mag jelenléte a file-ok sorrendjét egyre egy kicsit, és generit szkriptek szimulálják Vivado ebben a módban nem lehet. Készítsen minden egyes alkalommal, amikor egy projekt - ez nem túl kényelmes.
VHDL soha nem dolgozott, így semmi konkrét támogató, sajnos, nem tudok. Az egyik elképzelés az, hogy megpróbál futtatni egy szimulációt a projekt segítségével NativeLink kvartusa és lássuk, mit generálása script, majd próbálja elemezni) Ami a jelenléte a chip-függő az IP, már van szüksége a gyártó könyvtár, fel kell használni, amikor meghatározza a könyvtárak ModelSim.
És megpróbálja elindítani a ModelSim hogy hozzon létre egy projektet, a szükséges fájlokat, majd futtassa az Auto-generálása Compile rendelés. Alapján a megrendelés túlnyúló csinálni alappálya. A projekt már nem használható, és szervezni mindent tcl, sh, vagy amit akarsz. Belépve a munkát végeznek a szerkesztők kezeli ez nem olyan nehéz.
Néhány IDE automatikusan képes lefordítani a forráskódot (szintetizálható leírás) a szimuláció. HDL tervező képes pontosan ennyit összeállítani modelsima továbbra is csak fájlokat testbencha össze, amelyek általában sokkal kisebb, és nem éri meg sok erőfeszítést, hogy adjunk nekik a forgatókönyvet. mint vivada is képes, de lehet, hogy tévedek, hosszú ideig nem működött
Hasonló megközelítést hibakeresés látható itt.
- .bat létrehozza és törli a könyvtárat szemetet társított szimuláció;
- .tcl - működteti összeállítása, és a hibakeresés jelek
Hozzáteszem csak a formáció vlog vonalak részei (nem egy sorban).
Kényelmes elég, amikor a kezébe (az interfész) do égve, és make-fájlokat még mindig nem akar kommunikálni.
valójában kezdeni scripting testbenchey sokkal erősebb dolog. lehet induláskor meghatározott paraméterek attól függően, ki fog futni egy adott vizsgálat (kit) valamennyi vizsgálati környezet megváltoztatásával a legfelső szinten testbencha változó értékek alapján a kiválasztott vizsgálati válassza ki a különböző rögtönzött előzőleg elkészített (mellesleg sokkal könnyebb megtartani a teremtés script rögtönzött a külön fájlban, különösen, ha sok jel származik) lehet letiltani bizonyos elemeit DUT, különösen, ha a vizsgált modul több blokk, amely felgyorsítja sim hangban, esetenként jelentős mértékben)
1. Azt hozzátenném, hogy akkor nem csak .do, de .tcl
2. keltél hiába mappa rtl_work. Sok fejlesztő használja az alapértelmezett mappa / könyvtár munkáját, és nem azonnal felismeri.
sorok:
vlib rtl_work
VMAP munka rtl_work
helyettesíteni lehet:
vlib munka
3. Továbbá, hogy törölje a könyvtár nem szükséges, akkor hozzon létre egy új alatt a régi. Ő biztosan levelet figyelmeztet, hogy a könyvtár már ott van, de semmi rossz nem fog történni.
4. Miért veszi a nevét összeállított fájlok fogszabályozó? Ha ez a kódolási stílust, akkor nem helyettesíti a változót a fájl elérési útját. Például ez nem fog működni.
5. -L szükség, ha összeköti a felek (kivéve a munka) könyvtárakban. kapcsolódó munka alapértelmezés szerint.
6. vlog -work tökéletesen működik is. Ez úgy történik, alapértelmezés szerint.
Köszönöm, kijavítjuk ma) Eredetileg úgy vezették a szkriptet, amely kvartus segítségével NativeLink, így néhány dolgot már tudjuk, először (4-6. Számú)