total descendants::0 total children::0 1 ❤️ |
pri robeni projektov na moju dosku Nexys2 1200K pouzivam sw ISE Webpack, co je zadarmo a je limitovany kapacitou FPGA do 2000 'kilogates'. Pouzivam z webpacku program Project Navigator. Pri vytvarani projektu udavam ako working directory work aby sa nerobil bordel v korenovom adresari, vystupny subor (.bit), ktory sa da nahrat do FPGA sa objavi v tom work adresari. FPGA projekt sa sklada z tychto suborov: nieco.ucf - user constraints file - obsahuje pomenovanie a nastavenie pinov FPGA v projekte abcde_top.vhd alebo abcde_top.v - modul ktory je priamo pripojeny k pouzitim pinom na FPGA, pre prehladnost moze byt projekt rozdeleny do viacej suborov - do schematickym blokov/modulov dalsie_subory.vhd - obsahuju dalsie schematicke bloky mozu sa vnorovat subory vhd / verilog obsahuju popis obvodu ktory bude FPGA zastupovat, ci uz na abstraktnejsej urovni napr. pomocou procesov (co chcem aby to robilo) alebo na nizsej urovni (logicke rovnice, alebo aj instancovanie ozajstnych struktur priamo z FPGA ako napr. nasobicky, XOR logika, carry chainy a pod.) Dalej popisem pouzitie jazyka VHDL. kazdy vhdl subor obsahuje vzdy jednu entity entita je ten schematicky blok, ktory ma nejake rozhranie - vstupy a vystupy a potom svoju architekturu - popis co to ma robit + ake dalsie bloky su do toho vnorene. priklad ucf suboruNET "Led<0>" LOC = "J14"; # vytvori pole 4 signalov Led NET "Led<1>" LOC = "J15"; # J14 a pod. je znacenie pinu na cipe FPGA NET "Led<2>" LOC = "K15"; NET "Led<3>" LOC = "K14"; primitivny priklad top suboru-- pouzita jedina kniznica library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- popis rozhrania projektu, iba jeden vystup na 4 LED entity simple_led is Port ( led : out STD_LOGIC_VECTOR (3 downto 0) ); end simple_led; -- popis toho ako modul funguje... architecture Behavioral of simple_led is -- sem by isli pomocne signaly begin -- napevno pripoji led vystup na definovane log. hodnoty led <= "1010"; end Behavioral; |
| |||||||||||||||||||||||||