(For english version please follow this link)
Tento návod vznikl jako soubor návodů k vyřešení problémů vzniklých rozdíly v OS (Windows / Linux - primárně Ubuntu 20.04 LTS), na které jsem narazil při řešení domácích úloh v předmětu LSP na FEL ČVUT.
Pozn. použití Ubuntu 22.04 LTS může být problematické vzhledem k přejmenování některých závislostí (např. lib32gcc1 na lib32gcc1-s1)
Instalace je prakticky totožná jako na Windows - doporučuji však verzi 20.1 Spouštění pak probíhá přes
cd intelFPGA_lite/20.1/quartus/bin
./quartus
(Pozn. cestu bude třeba upravit pokud při instalaci zvolíte jiný adresář než domovský adresář Vašeho uživatelského účtu)
postupujte dle: https://www.rocketboards.org/foswiki/Documentation/UsingUSBBlasterUnderLinux
Pozn. Na ubuntu 22.04 jsem se setkal s problémem s JTAGem kdy jsem nezprovoznil nahrávání do desky. Tento problém jsem bohužel již nedořešil.
Obecně řečeno - řešení všech problémů spojených ze simulací lze vyčíst z Error logu, pro zjednodušení zde uvádím celý postup.
Čekají Vás celkem tři opravy - jednu je nutné provést pouze jednou, zbylé dvě pravděpodobně vždy -
Pokud se pokoušíte spustit simulaci po přejmenování Waveform souboru z defaultního Waveform.vwf, je třeba opravit jeho název v okně Simulation->Simulation Settings v řádku Testbench Generation Command flag --vector_source.
Ve vzorové simulaci je defaultně obsažen ve scriptu simulace flag -novopt který způsobuje chybu, jelikož již je depricated. Stačí jej odstranit.
Chybu jsem se nepokoušel replikovat - poznáte z error logu, pokud nastane. Pro vyřešení nainstalujte potřebné závislosti podle tohoto návodu.
Narazil jsem na bug, kdy v programmeru zůstává označený k nahrání jiný soubor, než je aktuální zkompilovaná Top-Level Entity. Stačí je jen nastavit nastavit v programmeru správný output (.sof) file přes ikonu Add file.
GHDL je další linux nativní nástroj a proto je jeho použití na linuxu ve výsledku jedndodušší, jelikož tak nevyžaduje instalaci a běh v subsystému.
I přesto instalace GHDL přináší menší obtíž - prosím vyvarujte se stránky http://ghdl.free.fr a využívejte pouze https://ghdl.github.io/ghdl/
Pokud používáte ubuntu, instalace je jednoduchá - použijte buď snap, a nebo si stahněte některý z posledních releasů (doporučuje se mcode varianta). Nevyužívejte apt! Obsahuje zastaralou verzi, která neobsahuje mnohé nutné.
sudo snap install ghdl
Od roku 2024 je v LSP k simulaci LCD displaye k dispozici .bat script. Ten zde poskytuji přepsaný do bashe. Návod na úpravu testbench souboru je tedy shodný pro Windows i Linux a mělo by tak stačit pouze opravit cestu výstupu v souboru testbench_LCDlogic.vhd (viz ToDo 1 - constant FILE_NAME) a případně opravit názvy komponent (viz ToDo 2).
Následná simulace by pak měla být už jen spuštěním skriptu runtb.sh přemístěného do složky simulation ve Quartus projektu:
./runtb.sh
První (a zdá se že i jediný) problém nastává u nutného použití LSPTools. Ty jakožto .exe soubor nejsou standardně kompatibilní s Linuxem. Přesto je lze s větším či menším úspěchem spustit za pomocí nástroje wine. Ten jelikož bylo použito .NET frameworku je třeba pro funkčnost rozšířit o wine-mono. Ten lze přidat následovně:
- Stahněte wine-mono.msi
- Spusťte přes příkazovou řádku
wine64 uninstaller - Zvolte ikonu install a vložte stažený .msi soubor
- Zavřete dialogové okno uninstalleru
U nástrojů Bitmap to VHDL a LCD Geometry Rulers se zdá by pak již neměl být problém.
Ovšem Testbench Viewer jsem nezprovoznil. Jednodušší bylo připravit tento python script, který převádí výstup simulace na .ppm
Stejně jako pro HW3 jsem přepsal .bat skript pro spuštění simulací v ghdl do bashe a upravil jsem předešlý python script tak, aby prošel celý vygenerovaný soubor a udělal ze každého obsaženého "frame" jeden "frame" .gif . K dostání i jako uživatelsky přívětivější Jupyter notebook.
Prosím berte všechny poskytnuté kódy spíše jako takové "art of bodge"... nejsou krásné, nejsou dokonalé, nejsou dokonce ani úplné, ale účel většinou plní.
Složitější věci se pokusím ozdrojovat - z pravidla jsem je nevymyslel, spíš někde poctivě ukradl.
Díky mnohokrát a přeji příjemný průchod studiem!




