Pokyny na cviceni
Subject: X36PNO Po 16:00 Novak, Novotny
Práce s vývojovými deskami
Vývojová deska není na hrani - tzn. šahání na desky je nepřípustné. Neničte vybavení HW labu a neničte vyučovací pomůcky
Na šahaní je v HW labu připraveno topeni, či kovová část počítače - tímto se zbavíte statické elekřiny. tj. šáhněte si.
Najděte příslusný vývojový kit a držte jej za části, které přímo nesouvisí s plošným spojem - tj. plexisklo, (pokud si nevíte rady za jakou část vývojový kit držet zeptejte se cvičícího)
Najděte si přislušné propojovací a napájecí prvky.
Znovu si šáhněte na místa k tomu určená
Připojte JTAG kabel pouze k vývojové desce
Připojte napájecí konektor k vývojové desce
Pripojte seriovou linku
Nyní pripojte JTAG kabel na paralelní port nebo USB (dle vývojové desky) a seriovou linku
Zapněte vývojovou desku
Pokyny k pouzivani pripravku
S3E500 UCF pinout
Co je UCF soubor?
UCF soubor popisu zapojeni vodicu v designu na vstupne vystupni bunky a tim i na piny obvodu FPGA. Jelikoz pouzivame vyvojove desky a nemuzeme ovlivnit zapojeni pinu FPGA k dalsim zdrojum jako jsou LED diody, prepinace, VGA aj. je nutne respektovat vyrobcem zvolene zapojeni.
V celem prubehu semestru budeme pouzivat S3Edesky s XC3S500E
Budeme pouzivat spinace, prepinace a led diody
UCF pro CLK
NET "CLK_50MHZ" LOC = "C9" | IOSTANDARD = LVCMOS33 ;
UCF pro diody - Discrete LEDS
NET "LED<7>" LOC = "F9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<6>" LOC = "E9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<5>" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<4>" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<3>" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<2>" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<1>" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<0>" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
UCF pro prepinace - Slide switches
NET "SW<0>" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP ;
NET "SW<1>" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP ;
NET "SW<2>" LOC = "H18" | IOSTANDARD = LVTTL | PULLUP ;
NET "SW<3>" LOC = "N17" | IOSTANDARD = LVTTL | PULLUP ;
NET "BTN_EAST" LOC = "H13" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "BTN_NORTH" LOC = "V4" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "BTN_SOUTH" LOC = "K17" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "BTN_WEST" LOC = "D18" | IOSTANDARD = LVTTL | PULLDOWN ;
Priklady pro cviceni
Rozvrh cvičení
Zadání semestrální práce
Týden | Datum | Náplň |
1. | 25.2. - 29.2. | |
2. | 3.3. - 7.3. | |
3. | 10.3. - 14.3. | |
4. | 17.3. - 21.3. | |
5. | 24.3. - 28.3. | Velikonoční pondělí |
6. | 31.3. - 4.4. | Dodělání úloh z první půlky semestru |
7. | 7.4. - 11.4. | Psaní testbenchu k semestrální práci - 1. cvičení |
8. | 14.4. -18.4. | Psaní testbenchu k semestrální práci - 2. cvičení |
9. | 21.4. - 25.4. | Návrh a implementace - 1. cvičení |
10. | 28.4. - 2.5. | Návrh a implementace - 2. cvičení |
11. | 5.5. - 9.5. | Ladění - 1. cvičení |
12. | 12.5. - 16.5. | Ladění - 2. cvičení, začátek integrace |
13. | 19.5. - 23.5. | Integrace a psaní dokumentace(reporty) |
14. | 26.5. - 30.5. | Prezentace dosažených výsledků - zápočty |
Cviceni 1
Cviceni 2
Realizujte priklady 1 a 2.
Nepouzivejte zadne predpripravene soubory
Podivejte se na vnitrni strukturu zapojeni v FPGA Implementation → Place & route →View and routed design (FPGA editor)
Nezapomente si zkontrolovat piny v UCF souboru (zejmena pin V4)
Cviceni 3
Cviceni 4
Cviceni 5
Cast 1
* Vstupy obvodu a ovládání
btn_up – tlacítko, stiskem zapne/vypne cítání nahoru
btn_down – tlacítko, stiskem zapne/vypne cítání dolu
* Výstupy obvodu
* Entitu btn_ed (detektor nábežné hrany na tlacítku) navrhnete tak, aby byla použitelná pro libovolný pocet tlacítek.
Cast 2
Doplnte obvod z príkladu 1 o následující funkce:
Výstup BUSY – aktivní tehdy, když cítac pracuje
Saturacní cítac – pri dosažení hodnoty TOP pri cítání nahoru a hodnoty 0 pri cítání dolu se cítac zastaví (nepretece). Upravte i rídicí automat tak, aby v prípade, kdy má cítac hodnotu 0,
nereagoval na tlacítko btn_down a v prípade, kdy má cítac hodnotu TOP, nereagoval na tlacítko btn_up.
Cast 3
Rozšírení cítace z casti 1
BCD cítac místo binárního
Prevodník z BCD kódu na 7-segmentový displej
* Vstupy obvodu a ovládání
btn_up – tlacítko, stiskem zapne/vypne cítání nahoru
btn_down – tlacítko, stiskem zapne/vypne cítání dolu
* Výstupy obvodu na diody
BCD kod -doplnit
Cast 4
Cviceni 6, 7
Cviceni 8
Samostatná práce zadaná na 5. cvičení – první zápočtová úloha.
Odevzdání druhé zápočtové úlohy.
Zadani druhe zapoctove ulohy
Druhe zapoctove ulohy
VGA test
zrealizujte generator VGA signalu.
na spinace umistete pridavani barevnych slozek RGB. Na kazdy spinac jednu barvu
na ctvrty spinac umistete primitivni test - pruhy
A/D, D/A prevodnik
generujte trojuhelnikovy signal a pilu a posilejte jej na D/A prevodnik
vystup zobrazte na osciloskopu
D/A prevodnik komunikuje pres SPI rozhrani
Cviceni 9, 10, 11
Cviceni 12
Cviceni 13
Zápočtový test. Odevzdání druhé zápočtové úlohy.
Cviceni 14
Klasifikace a zápočet.
Znamka | Pozadavky |
1 | Odevzdana prvni semestralni uloha, odevzdana druha semestralni uloha vcetne dokumentace |
2 | Odevzdana prvni semestralni uloha, odevzdana druha semestralni uloha |
3 | Odevzdana prvni semestralni uloha |
Priklady
Kombinační obvody
Příklad 1 – vícevstupé hradlo OR
Vytvorte jednoduche vstupni hradlo - vstupy jsou prepinace a spinace (celkem 8 vstupu) - vystup na led diodu
spusťte syntézu pouze pro tento soubor pomocí příkazu Synthesize – XST z okna Processes.
Vyzkoušejte příkaz View synthesis report z procesu Synthesize-XST a zjistěte počet a typ prostředků FPGA použitých pro toto hradlo
Vyzkoušejte příkaz View RTL Schematic z procesu Synthesize-XST. (Vnitřní schéma komponenty se zobrazí po poklepání na komponentu, předchozí úroveň naopak poklepáním mimo komponentu.)
Vyzkoušejte příkaz View Technology Schematic z procesu Synthesize-XST. Porovnejte s RTL schématem a s výsledky reportu.
Příklad 2 – multiplexor
Vytvorte jednoduche vstupni hradlo - vstupy jsou 4 spinace a 2 prepinace na volbu adresy - vystup na led diodu
Podivejte se na vnitrni strukturu v FPGA editoru
Zjistěte počet a typ použitých prostředků FPGA a prohlédněte obě schémata
Příklad 3 – 4-bitová sčítačka
Sekvenční obvody
Příklad 4 – detektor hrany
Pomocí spinace a LED vyzkoušejte funkci obvodu. Výstupní puls detektoru prodlužte na 50ms, aby byl okem pozorovatelný.
Zjistěte počet a typ použitých prostředků FPGA a prohlédněte obě schémata
Příklad 5 – čítač
Pomocí spinace a led diod (hodnota čítače) vyzkoušejte funkci obvodu. Periodu čítání nastavte na 0,5s.
Zjistěte počet a typ použitých prostředků FPGA a prohlédněte obě schémata
Příklad 6 – předdělička
Pomocí dvou přepínačů (perioda předděličky), spinace a LED vyzkoušejte funkci obvodu. Výstupní puls předděličky bude nastaven na 50ms, aby byl okem pozorovatelný. Perioda čítání bude nastavena na 0,5s.
Zjistěte počet a typ použitých prostředků FPGA a prohlédněte obě schémata
Ostatní
Konzultace
Manuály
Electronic documents
VHDL
-
-
Standard VHDL libraries, located in $MODELSIM/vhdl_src/std/, $MODELSIM/vhdl_src/ieee/ and $MODELSIM/vhdl_src/synopsys/
ModelSim
Manuals also located at $MODELSIM/docs/
VHDL for synthesis
Internet resources