Vývojové prostředí Quartus II, verze 9.1, servis pack 2

Transkript

Vývojové prostředí Quartus II, verze 9.1, servis pack 2
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č

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...

Více

Tvorba a programování mikrokontroléru s procesorem NIOS II

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...

Více

070-230-CZ_Swath Manager Automatické řízení sekcí postřikovače

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...

Více

Cesky navod 8810

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...

Více

Příručka na programování PLC DL05

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.

Více

zeměpis

zeměpis ústí vodní nádrž

Více

Ročníky 2010-2012

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...

Více

Návod k použití řídící desky WAS pro značkovače Tippmann A

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...

Více