Stručný návod na prostředí Vivado
1. Instalace
Návod na instalaci prostředí Vivado 2018.3 a knihovny lib_SAP je k dispozici zde.
2. Spuštění vývojového prostředí
Pro práci s logickými obvody budeme používat prostředí Vivado 2018.3. Prostředí spustíte buď z plochy (ikona
), nebo pomocí vyhledávání vedle tlačítka Start.
3. Založení projektu
Projekt lze založit dvěma způsoby:
- Menu File → Project → New
nebo
- Pole Quick Start → Create Project
V průvodci založením nového projektu:
- Projekty ukládejte vždy do svého domácího adresáře (síťový disk X:). V adresářové cestě se nikde nesmějí vyskytovat mezery. Raději nepoužívejte ani diakritiku a speciální znaky. Názvy (čehokoliv) nesmí začínat číslicí.
- Zkontrolujte, zda je nastaven RTL Project.
- Zkontrolujte, zda jsou Target i Simulation language nastaveny na VHDL.
- Na kartě Boards vyberte vývojový kit FPGA Basys 3.
4. Import knihovny základních prvků (lib_SAP)
- Stáhněte knihovnu lib_SAP a rozbalte ji na disk X: (např. do X:\BI-SAP).
- Otevřete katalog IP jader (IP Catalog)
- Přidejte knihovnu lib_SAP do katalogu pomocí volby Add Repository….
Knihovna lib_SAP by nyní měla být vidět v seznamu IP Catalog jako User Repository → UserIP.
5. Vytvoření nového schématu a práce se schématickým editorem
- V levé části (Flow Navigator) v sekci IP Integrator vyberte Create Block Design.
- V pravé horní části prostředí si přepněte layout na IP Integrator. Tím se otevře nový panel obsahující katalog IP jader. Po rozbalení složky UserIP pak můžete vybírat prvky (hradla) jediným kliknutím a přidávat do schématu prostým přetažením myši.
- Vlastnosti hradel (např. počet vstupů a negace na vstupech a výstupech) můžete upravit pomocí dvojkliku (nebo pravým tlačítkem a volbou Customize Block…, nebo
) na hradlo. - Jednotlivá hradla můžete propojit tak, že kliknete na vstup/výstup hradla. Tím se spustí propojovací mód, v němž se pomocí malých zelených zatržítek zvýrazní možnosti, kde je možné spojovací vodič ukončit (systém např. neumožní spojit dva zdroje signálu do sebe).
- Pokud potřebujete spojovací vodič smazat, pak jej vyberte a vymažte jej klávesou Delete.
- Pokud potřebujete k již vytvořenému vodiči připojit další vstupní pin, pak klikněte na daný pin a poté kamkoli na propojovací vodič.
- Pokud byste naopak potřebovali smazat jen část vodiče (odbočku k pinu), pak označte daný pin, klikněte pravým tlačítkem a vyberte volbu Disconnect pin.
- Abyste mohli ovládat hradla pomocí přepínačů na vývojovém kitu a sledovat jejich výstupy na LED diodách, je třeba ve schématu připojit hradla na vstupy/výstupy pomocí volby Make External (nebo
).- Můžete vybrat i více hradel najednou. Buď pomocí Ctrl + levé tlačítko (nebo
). Volba Make External pak doplní vstupní/výstupní porty ke všem nezapojeným vstupům/výstupům všech označených hradel.
- Můžete vybrat i více hradel najednou. Buď pomocí Ctrl + levé tlačítko (nebo
- Porty můžete přidat i kliknutím pravým tlačítkem myši na plochu schématu (Diagram) a volbou Create Port…. Zde musíte zvolit název a správný typ portu (Input, Output). Ostatní volby ponechte beze změny. Tento "visící" port pak připojíte pomocí nástroje kreslení, stejně jako hradla.
- Před zahájením překladu schématu si zkontrolujte, zda v něm nejsou chyby pomocí ikony Validate Design (
).
6. Překlad schématu
- Pro překlad schématu je nejprve třeba jej převést pomocí skriptu bd2vhd na VHDL soubor pomocí ikony
. Pokud ikonu nevidíte, je potřeba ji přidat dle následující poznámky:
- V levé části vyberte volbu Run Synthesis.
Varování:
Varování: Syntéza (stejně jako další části překladu) běží na pozadí, v jejím průběhu (viz točící se kolečko v pravé horní části) raději neprovádějte žádné další akce. Průběh jakékoli akce na pozadí můžete sledovat ve spodní části v kartě Design Runs.
- Před implementací je třeba vstupům a výstupům schématu přiřadit přepínače a LEDky na vývojovém kitu.
- V levé části v sekci Synthesis vyberte Open Synthesized Design.
- Nyní můžete vstupům a výstupům schématu přiřadit periferie na vývojovém kitu. Přepněte layout na I/O Planning. Ve spodní části se zobrazí karta I/O Ports a v ní seznam vstupů a výstupů schématu.
- Pomocí ikony
ve spodní části vypněte třídění portů podle rozhraní – porty se vám tak zobrazí přímo pod sebou. - Celou tabulku propojení pinů FPGA a periferií na vývojovém kitu můžete najít zde.
- Nastavení pinů uložte.
- Pomocí ikony
- Po přiřazení pinů dokončete překlad.
- Spusťte Run Implementation v levé části (Flow Navigator).
- Po dokončení implementace pokračujte generováním bitstreamu (Generate Bitstream)
7. Nahrání návrhu do vývojového kitu
- Pro nahrání do vývojového kitu zvolte možnost Open Hardware Manager (buď v okně Bitstream Generation Completed nebo v levé části Flow Navigator → Open Hardware Manager).
- V zeleném pruhu v horní části (nebo v levé části Flow Navigator → Program and Debug → Open Hardware Manager) pak vyberte volbu Open Target → Auto Connect, která by měla detekovat vývojový kit.
- Pokud je kit detekován úspěšně, pak by se jeho identifikace a čip měly objevit v prostřední sekci Hardware.
- Pokud se objeví chybová hláška, zkontrolujte, zda je kit připojen a zda je zapnutý (přepínačem Power vedle micro USB portu).
- Po úspěšné detekci kitu vyberte volbu Program Device v zeleném pruhu (nebo v levé části). Okno Program Device by mělo obsahovat předvyplněnou cestu k bitstreamu. V tom případě okno beze změn, jinak zkuste prohledat adresář [nazev_projektu].runs/impl_[cislo]/[nazev_vhdl].bit případně vygenerujte bitstream ještě jednou.
8. Simulace chování obvodu
Podrobnější verzi včetně obrázků naleznete na stránce Simulace chování obvodu.
- Pro simulaci schématu je nejprve třeba jej převést pomocí skriptu bd2vhd na VHDL soubor. Převod je totožný pro simulaci i syntézu (pokud jste soubor už převedli, pak tento krok vynechejte).
- Import testovacího souboru
- Stáhněte si testovací soubor. Každý obvod používá jiný testovací soubor – testbench. Pokud je v zadání požadována simulace, pak je testbench na stránce ke cvičení k dispozici.
- V levé části (Flow Navigator) v sekci Project Manager vyberte položku Add Sources. V otevřeném okně vyberte položku Add or create simulation sources a okno potvrďte.
- Klikněte na Add Files a najděte stažený soubor. Pokud už není zaškrtnuta, vyberte volbu Copy sources into project, aby se vytvořila kopie souboru přímo v adresáři projektu. Okno potvrďte.
- Ověřte, že v části Sources → Simulation Sources je nově přidaný soubor na nejvyšší úrovni hierarchie.
Varování:
Převod na VHDL soubor je nutný při každé změně schématu, jinak se schéma neodsimuluje vůbec, nebo se odsimuluje neaktuální verze. Pro jistotu proveďte převod před každou simulací.
- Simulaci můžete spustit v levé části (Flow Navigator) – v sekci Simulation vyberte Run Simulation a poté Run Behavioral Simulation.
- V okně simulace nyní můžete sledovat časové průběhy vstupních i výstupních portů vašeho návrhu.
- Ve výchozím zobrazení vidíte zpravidla jen posledních několik pikosekund simulace, ve kterých se už neděje nic zajímavého. Oddalte si tedy průběhy pomocí ikony
nebo ještě lépe zobrazte celý průběh pomocí
. - Žlutou svislou čáru si zobrazíte kliknutím do okna simulace. Vlevo od průběhů (sloupec Value) se vám poté zobrazí hodnoty vstupů a výstupů v daném čase.
- Pokud mají výstupní signály hnědou barvu, pak se simulace nezdařila. Typicky je problém ve špatném pojmenování schématu a/nebo portů.
- Ve výchozím zobrazení vidíte zpravidla jen posledních několik pikosekund simulace, ve kterých se už neděje nic zajímavého. Oddalte si tedy průběhy pomocí ikony