Vývojové prostředí Quartus II, verze 9.1, servis pack 2
Transkript
Vytvoření nového projektu ve vývojovém prostředí Quartus II Version 9.1 Servise Pack 2 Nový projekt vytvoříme volbou New Project Wizard: Introduction z menu File, po které se objeví úvodní okno (obr. 1). Obr. 1 Úvodní okno při vytváření nového projektu ve váhovém prostředí Quartus II. Kliknutím na tlačítku Next se objeví první okno (New Project Wizard: Direktory, Name, Top-Level Entity [page 1 of 5]), kde se definuje pracovní adresář projektu, název prvního řádku se projektu a název nejvyšší úrovně entity (obr. 2). Kliknutím na tlačítko objeví okno, kde si můžeme nadefinovat cestu k pracovnímu adresáři nebo vytvořit adresář nový a do kterého se budou ukládat všechny vytvářené soubory.V našem případě vytvořím pracovní adresář Zakladni_hradla. V druhém a třetím řádku definujeme název projektu a název nejvyšší úrovně entity. Název projektu a nejvyšší entity může, ale nemusí být stejný jako název pracovního adresáře. Pro tento projekt si nadefinujeme stejné názvy. V následujícím okně (New Project Wizard: Add Files [page 2 of 5]) přiřazujeme soubory do projektu. Např. pokud máme v jiném projektu vytvořený VHDL kód, který budeme používat i v tomto projektu, tak si ho tu můžeme přidat (obr. 3). V našem případě nebudeme přidávat žádný soubor, takže pouze klikneme na tlačítko Next. Obr. 2 První okno New Project Wizard: Directory, Name, Top-Level Entity [page 1 of 5] Obr. 3 Druhé okno New Project Wizard: Add Files [page 2 of 5] Objeví se třetí okno New Project Wizard: Family & Device Settings [page 3 of 5], ve kterém nastavíme FPGA pro které budeme projekt navrhovat (obr. 4). V našem případě: a) Family – Cyklone II b) Available Device – EP2C35F672C6 (můžeme zkontrolovat s popisem na čipu kitu) Obr. 4 Třetí okno New Project Wizard: Family & Device Settings [page 3 of 5] Ve čtvrtém okně New Project Wizard: EDA Tool Settings [page 4 of 5] lze nastavit použití nástrojů jiných výrobců než Altera. Nebudeme nyní používat, proto ani nebudeme měnit (obr. 5). V posledním pátém okně New Project Wizard: Summary [page 5 of 5] jsou zobrazené všechny volby a nastavení, které jsme v předchozích krocích provedli (obr. 6). Pokud jsou všechny nastavení správné klikneme na tlačítko Finish. Pokud je některé nastavení špatné, můžeme se vrátit zpět k příslušnému nastavení kliknutím na tlačítku Back. Obr. 5 Čtvrté okno New Project Wizard: EDA Tool Settings [page 4 of 5] Obr. 6 Páté okno New Project Wizard: Summary [page 5 of 5] Základní logické hradla AND, OR a XOR Projekt ukazuje postup jednoduchého návrhu „krok za krokem“ ve vývojovém prostředí Quartus II – vytvoření nových souborů návrhu, kompilace, simulace a programování. Projekt je vytvořený ve vývojovém prostředí Quartus II ver. 9.1sp2. Zadání příkladu č.1 1. Ve vývojovém prostředí Quartus II realizujte projekt na implementaci základních logických funkcí AND (logický součin), OR (logický součet) a XOR (logická nerovnost). Každá funkce bude mít tři vstupy. 2. Jako vstupy použijte přepínače SW(0) až SW(2). 3. Jako výstup bude sloužit LED dioda LEDR(0). Postup řešení ve vývojovém prostředí Quartus II – vytvoření návrhu grafickým editorem (soubor Zakladni_hradla.bdf) Tento soubor vytvoříme: V menu File vybereme položku New. V nabídnutém okně (obr. 7) zvolíme Block Diagram/Schematic Files a potvrdíme tlačítkem OK. Obr. 7 Výběr typu nového návrhu Z menu File vybereme položku Save As a program nám nabídne pracovní adresář projektu pro uložení návrhu s názvem stejným jako je název projektu. Název můžeme, ale nemusíme změnit. Volbu potvrdíme tlačítkem Save. Nakreslení schématu Schéma vytvoříme následujícím způsobem: Na panelů nástrojů (obr. 8) klikneme na tlačítko Symbol Tool Obr. 8 Panel nástrojů V okně Symbol, které se otevře, klikneme na Libraries pro rozbalení nabídky a vybereme → primitives → logic (viz obr.9) Z adresáře logic vybereme symbol and3 a potvrdíme stlačením tlačítka OK Symbol umístíme na požadované místo na pracovní ploše pohybem myši a vložíme ho kliknutím levým tlačítkem myši Klikneme znovu na Symbol Tool V okně Symbol, které se otevře, vybereme opět → primitives → pin Z adresáře pin vybereme u umístíme na požadované místo symbol input(vstup) třikrát a následně symbol output(výstup) Obr. 9 Výběr prvku v okně Symbol Jednotlivé vývody propojíme vodiči tak, že klikneme v panelech nástrojů na Othogonal Node Tool a myší táhneme od vstupu/výstupu k jednotlivým pinům. Název a hodnotu pinu přiřadíme tak, že na něm klikneme pravým tlačítkem myši a z nabídky vybereme Properties a v zobrazeném okně definujeme název pinu – Pin name(s) a v řádku Default value hodnotu vstupního pinu. Výsledné schéma je na obr. 10. SW0 INPUT VCC SW1 INPUT VCC SW2 INPUT VCC AND3 OUTPUT LEDR0 inst Obr. 10 Výsledné schéma třívstupového hradla AND Nyní musíme fyzicky přiřadit vstupy a výstupy pinům FPGA. V menu Assignments vybereme Pin Planner a nadefinujeme fyzické přiřazení vstupů a výstupů pinům FPGA (viz obr. 10). V Node Name nadefinujeme název vstupu/výstupu/sběrnice a v Location nadefinujeme fyzické umístění pinu v FPGA. Informace o tom, ke kterým pinům FPGA jsou připojeny jednotlivé LED diody, tlačítka, přepínače, sedmisegmentovky, LCD displej atd. nalezneme v dokumentu „DE2_UserManuall.pdf“. Po nadefinování přiřazení vstupů a výstupů zavřeme okno Pin Planner. Obr. 10 Fyzické přiřazení vstupů a výstupů pinům FPGA Mnohem jednodušší je však naimportovat přiřazení všech dostupných vstupů a výstupů a to následovně: V menu Assignments vybereme Import Assignments … a v otevřeném okně klikneme na tlačítko a nadefinujeme cestu k souboru DE2_Pin_assignments.csv (který si předtím stáhneme na lokální disk) a následně klikneme na tlačítko . Pouze musíme dodržet stejné přiřazení názvů vstupů a výstupů jako je ve zmiňovaném dokumentu. Kompilace projektu K tomuto účelu zvolte v menu Processing volbu Compiler Tool a v nově otevřeném okně klikněte na tlačítku Start. Po startu kompilace se automaticky zobrazují následující okna: Okno Compiler Tool (viz obr. 11) Obr. 11 Okno Task – stav kompilace V tomto okně můžeme sledovat průběh kompilace. Můžeme sledovat celkový čas kompilace, ale i čas zpracování jednotlivých modulů kompilace a míru úspěšnosti celkové kompilace a jednotlivých modulů v procentech. Okno Message (obr. 12) Obr. 12 Okno Message – zprávy z průběhu kompilace V tomto okně jsou zobrazované všechny zprávy, které jsou generované v průběhu kompilace. Zobrazované zprávy mohou být informační (info), varovné (warning) nebo chybové (error). Pokud se objeví chybové zprávy, Quartus II umožňuje lokalizovat tuto chybu přímo v souboru návrhu (dvojklik levým tlačítkem myši na zprávě). Kromě toho umožňuje pomoc při odstranění chyby (z nabídky, která se rozbalí po kliknutí pravým tlačítkem myši na zprávě vybrat položku Help). Programování/konfigurace Po úspěšné kompilaci můžeme naprogramovat obvod FPGA tlačítkem (Programmer) nebo v menu Tools volbou Programmer. Po spuštění se otevře okno (obr. 13) programátoru. V tomto okně musíme před samotným programováním nastavit položky Hardware Setup a Mode následujícím způsobem: Kliknutím na položku Hardware Setup se objeví okno pro nastavení používaného hardwaru (obr. 14) V zobrazeném okně klikneme na tlačítku Add Hardware, čímž se otevře další okno Add Hardware (obr. 15) V okně Add Hardware kliknout na tlačítku Auto Detect a měl by být nalezen USB-Blaster. Nastavení potvrdíme tlačítkem OK Nastavíme JTAG mód, pokud tomu tak není Obvod FPGA naprogramujeme pomocí souboru Zakladni_hradla.sof, který přidáme do programátoru tlačítkem (Add File). Po přidání souboru zaškrtneme políčko Program/Configure a spustíme programování tlačítkem Obr. 13 Okno programování/konfigurace Obr. 14 Okno pro nastavení používaného hardwaru (Start). Obr. 15 Okno Add Hardware pro nastavení používaného hardwaru Simulace projektu Po úspěšné kompilaci můžeme projekt simulovat. Simulaci vytvoříme následujícím způsobem: Vytvoříme vektorový soubor průběhu signálů (obr. 16) – v menu File vybereme položku New. V nabídnutém okně (obr. 7) zvolíme Vector Waveform File a potvrdíme tlačítkem OK Obr. 16 Okno vektorového souboru průběhu signálů Z menu File vybereme položku Save As a program nám nabídne pracovní adresář projektu pro uložení simulace. Zvolíme název Zakladni_hradla.vwf a volbu potvrdíme tlačítkem Save V menu View zvolíme Utility Windows a Node Finder a otevře se okno Node Finder (obr. 17) pomocí kterého vložíme do souboru všechny vstupy a výstupy, které chceme simulovat. Po kliknutí na tlačítku List se nám v levém okně zobrazí všechny dostupné vstupy a výstupy, z nichž vybereme ty, které chceme simulovat a zkopírujeme pomocí CTRL+C a CTRL+V do simulovaného designu (viz obr. 18). Druhou možností je jednoduše požadovaný pin chytit myší a přesunout do designu Obr. 17 Okno Node Finder – definice vstupů a výstupů pro simulaci Obr. 18 Okno vektorového souboru s umístěný simulovanými vstupy a výstupy Nastavíme koncový čas simulace – z menu Edit zvolíme End Time … a v zobrazeném okně nastavíme hodnotu Time na 100ns (viz obr. 19) Obr. 19 Okno pro nastavení koncového času simulace Nastavení simulovaných průběhů pro jednotlivé vstupní piny – klikneme na požadovaný pin (např. SW0) a z nabízeného menu zvolíme Count Value nebo klikneme na požadovaném pinu pravým tlačítkem myši a zvolíme Valueb → Count Value (viz obr. 20) V zobrazeném okně (obr. 21) nastavíme v záložce Timing – Start time 0ps, End time 100ns a Count every 5ns. Obdobně nastavíme požadované průběhy pro piny SW1 (Count every 10ns) a SW2 (Count every 20ns). Po nastavení parametrů vlastní simulace je nutné tuto simulaci uložit. Výsledek simulace následně uvidíme po jejím spuštění volbou z menu Processing → Start Simulation (viz obr. 22). Nastavení průběhů je možné aplikovat pouze na část časového intervalu příslušného pinu. Požadovanou část označíme myší a poté nastavíme Value. Pokud např. aplikujeme Forcing High, bude mít v této oblasti signál hodnotu logické „1“. Obr. 20 Výběr pinu pro nastavení simulovaného průběhu Obr. 21 Okno pro nastavení vlastního požadovaného simulovaného průběhu Obr. 22 Výsledek simulace Postup řešení ve vývojovém prostředí Quartus II – vytvoření návrhu schematickým editorem (soubor Zakladni_hradla1.bdf) Založte si nový projekt s názvem Zakladni_hradla_1. Před začátkem psaní vlastního VHDL kódu je nutné nastavit nejvyšší entitu projektu a nadefinovat vstupy a výstupy projektu. Nejdříve vytvoříme soubor návrhu stejným způsobem jako při použití grafického editoru: V menu File vybereme položku New. V nabídnutém okně (obr. 7) zvolíme Block Diagram/Schematic File a potvrdíme tlačítkem OK. Z menu File vybereme položku Save As a program nám nabídne pracovní adresář projektu pro uložení návrhu s názvem stejným jako je název projektu. Název můžeme, ale nemusíme změnit. Volbu potvrdíme tlačítkem Save. Vytvoření blokového diagramu Schéma vytvoříme následujícím způsobem: Na panelů nástrojů (obr. 8) klikneme na tlačítko Block Tool , vytvoříme blok (viz obr.23), který bude reprezentovat jeden VHDL soubor. Dvakrát klikneme na název bloku (nyní je pojmenován „block_name“) a přejmenujeme blok např. na „Hradlo_and“. hradlo_and SW0 INPUT VCC SW1 INPUT VCC SW2 INPUT VCC I/O SW0 SW1 SW2 LEDR0 Type INPUT INPUT INPUT OUTPUT OUTPUT LEDR0 inst Obr. 23 Blok „Hradlo_and“ s nadefinovanými vstupy a výstupy Nastavení vstupů a výstupů bloku Klikneme na blok pravým tlačítkem myší a zvolíme „Properties“. Na záložce „I/Os“ (viz obr. 24) vytvoříme vstupy a výstupy bloku – u každého stačí nastavit jméno („Name“) a typ („Type“). 1. Vstup SW0 – INPUT 2. Vstup SW1 – INPUT 3. Vstup SW2 – INPUT 4. Výstup LEDR0 – OUTPUT Obr. 24 Nastavení vstupů a výstupů Vytvoření vstupů a výstupů projektu Na panelů nástrojů (obr. 8) klikneme na tlačítko Symbol Tool V okně Symbol, které se otevře, klikneme na Libraries pro rozbalení nabídky a vybereme → primitives → logic (viz obr.9). Z adresáře pin vybereme u umístíme na požadované místo symbol input(vstup) třikrát a následně symbol output(výstup) Jednotlivé vývody propojíme vodiči tak, že klikneme v panelech nástrojů na Orthogonal Conduit Tool a myší táhneme od vstupu/výstupu k jednotlivým pinům. Název a hodnotu pinu přiřadíme tak, že na něm klikneme pravým tlačítkem myši a z nabídky vybereme Properties a v zobrazeném okně definujeme název pinu – Pin name(s) a v řádku Default value hodnotu vstupního pinu. Fyzické přiřazení vstupů a výstupů pinům FPGA Nyní musíme fyzicky přiřadit vstupy a výstupy pinům FPGA. Můžeme postupovat jako v předchozím příkladu – přiřadit piny použitím vnitřního editoru a v menu Assgnments vybereme Pin Planner a nadefinujeme fyzické přiřazení vstupů a výstupů pinům FPGA (viz obr. 10). V Node Name nadefinujeme název vstupu/výstupu/sběrnice a v Location nadefinujeme fyzické umístění pinu v FPGA. Pokud nechceme použít vnitřní editor, protože práce v něm je zdlouhavá, můžeme rovnou editovat soubor Zakladni_hradla_1.qsf (viz obr. 25), ve kterém je toto přiřazení uloženo. V tomto souboru jsou uloženy parametry o použitém FPGA. Pod tyto definice můžeme začít vkládat přiřazení pinů FPGA vstupům a výstupů entity. Toto přiřazení se provádí následujícím způsobem: set_location_assignment PIN_N25 –to SW0 kde: PIN_N25 SW0 je označení pinu FPGA a je označení vstupu nebo výstupu ve VHDL kódu Tímto způsobem lze přiřadit všechny vstupy a výstupy entity. Obr. 25 Výsledný QSF soubor Vygenerování VHDL souboru Dalším krokem je vygenerování VHDL souboru pro „top_block“. Protože již máme nadefinovány vstupy a výstupy tohoto bloku, bude vygenerovaný soubor automaticky obsahovat jejich definici v jazyku VHDL. Klikneme na blok pravým tlačítkem myši a v menu zvolíme „Create Design File from Selected Block …“ V okně, které se objeví (viz obr. 26) zatrhneme VHDL a potvrdíme tlačítkem OK Otevře se okno s vygenerovaným VHDL kódem (viz obr. 27) Obr. 26 Okno pro výběr typu souboru návrhu Obr. 27 Okno s vygenerovaným VHDL kódem Úprava vygenerovaného VHDL kódu Ve vygenerovaném kódu vidíme rozdělení do dvou základních částí: 1. ENTITY – definuje rozhranní (interface) navrhovaného modulu – pomocí PORT jsou deklarovány vstupy a výstupy bloku 2. ARCHITECTURE – definuje obsah modelu definovaného entitou První část nám nadefinoval automaticky sám Quartus díky tomu, že jsme již dříve nadefinovali vstupy a výstupy bloku. Samotné chování návrhu pak již záleží jen na nás. V tomto ukázkovém příkladu je použit jen základní propojovací příkaz, který spojí vstupy návrhu s výstupem, abychom mohli lehce ověřit funkci návrhu. Tento příkaz je v následující ukázce zobrazen modrou tučnou barvou. LIBRARY ieee; USE ieee.std_logic_1164.all; -- Entity Declaration ENTITY top_block IS -- {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE! PORT ( SW0 : IN STD_LOGIC; SW1 : IN STD_LOGIC; SW2 : IN STD_LOGIC; LEDR0 : OUT STD_LOGIC ); -- {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE! END top_block; -- Architecture Body ARCHITECTURE top_block_architecture OF top_block IS BEGIN LEDR0 <= SW0 and SW1 and SW2; END top_block_architecture; Následuje spuštění kompilace projektu a po jejím úspěšném provedení konfigurace FPGA kitu a nahrání konfiguračního souboru do hradlového pole. Dodatek – Přehled souborů projektu (výběr): *.qpf – (Quartus Project File) Soubor projektu v prostředí Quartus *.qsf – Sřiřazení vstupů a výstupů k pinům HW obvodu *.bdf – (Block Diagram/Schematic File) Soubor grafického editoru popisující strukturu zapojení *.vhd – VHDL soubor *.vwf – Soubor pro simulaci, obsahující průběhy jednotlivých signálů *.sof – zkompilovaný projekt
Podobné dokumenty
Program festivalu 2014 - Tomáškova a Novákova hudební Skuteč
V. Novák: Baladické trio, B. Smetana: Trio g moll
A. Dvořák: Trio f moll, V. J. Tomášek: výběr z klavírního díla
27. března - 18 hodin, Městské muzeum Skuteč
„O CENU VÍTĚZSLAVA NOVÁKA“
Soutěžní pře...
Tvorba a programování mikrokontroléru s procesorem NIOS II
Přístup k portům je zajištěn pomocí několika registrů. Ty umožňují zápis a čtení hodnoty
z portu, určit směr portu (vstupní nebo výstupní), povolit přerušení pro jednotlivé vstupy,
určit, na kterém...
070-230-CZ_Swath Manager Automatické řízení sekcí postřikovače
Swath Manager je kompatibilní se světelným naváděcím systémem
CenterLine a může řídit až 10 sekcí postřikovače. Snadné a
ekonomické vylepšení, jen připojíte Swath Manager a tím rozšíříte
funkce Cen...
Cesky navod 8810
adresa nastavena na automatické získávání a tuto volbu ve většině případů není nutné
měnit. Pokud by byla zadána špatná adresa, Internet by nebyl funkční.
V této části je také možné nastavit static...
Příručka na programování PLC DL05
Než budeme sestavovat program pro automat podívejme
se na postup vykonávání programu v DL 05. Program se
vykonává v cyklech (scanech) s neměnnou strukturou.
Ročníky 2010-2012
49$356168594 Yxlfgtw^an[
W^[ma\tp]la[WqXZg_Z_Wg[W
888'36/334!81669"63* _^[_vcl[||[g^Yb[\^qZ[X^[xZpfZdgb[^[qld^
G388856'458698A'$8-M9/769B* c...
Návod k použití řídící desky WAS pro značkovače Tippmann A
každé stisknutí a uvolnění spouště je signalizováno červeným bliknutím diody
po dosažení cílové rychlosti střelby počkejte několik sekund pro
Ověření nastavení Řešet řídící desky do základního reži...