 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
PeterC Član

Pridružen-a: Tor 14 Dec 2004 20:22 Prispevkov: 204 Aktiv.: 0.86
|
Objavljeno: Pon Nov 12, 2007 9:28 pm Naslov sporočila: Nastavitve okolja in programiranje v Xilinx ISE |
|
|
Na ZS sem dobil sporočilo uporabnika foruma, ki me je prosil, če mu pomagam začeti programirati Xilinx-ov X-board s kakšnim enostavnim primerom prižiganja LEDic.
Odločil sem se, da odgovorim kar preko nove teme v forumu, da pomagam še komu, ki je v istih (začetnih) težavah.
Najprej si je treba ustvariti okolje. Na fakulteti so me navadili na VHDL, zato bom naredil primer v tem jeziku.
Odpremo Project Navigator in začnemo nov projekt (File -> New Project...)
Izberemo ime projekta, lokacijo na disku ter programski jezik (VHDL)
Slika 1
Izberemo napravo ki jo bomo programirali
Slika 2
Izberemo nov source
Slika 3
VHDL Modul ter ime datoteke
Slika 4
Nastavim vhodne in izhodne porte (lahko se dodajo ali odstranijo tudi kasneje v glavnem oknu)
Slika 5
Finish -> Next -> Next -> Finish
Odpre se glavno okno
Slika 10
Za osnove VHDL svetujem ogled te strani http://lniv.fe.uni-lj.si/vhdl/index.html
Primer utripanja 1Hz (priloženega) 7 segmentnega LED displaya priključenega na J3 in J4
Koda: |
----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 16:59:47 11/12/2007
-- Design Name:
-- Module Name: test - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
--DEKLARACIJA ZUNANJIH SIGNALOV
entity test is
Port ( clockIn : in STD_LOGIC;
LedOut : out STD_LOGIC_VECTOR (7 downto 0));
end test;
--DEKLARACIJA NOTRANJIH SIGNALOV
architecture Behavioral of test is
signal ClkStevec : STD_LOGIC_VECTOR ( 15 downto 0 );
signal Clock1Hz : STD_LOGIC;
begin
--PROCESI
--SEKVENCNI PROCES: GENERIRAM CLOCK Z 1Hz
DeliteljClocka : process(clockIn)
begin
if rising_edge(clockIn) then
if ClkStevec >= "1100001101010000" then -- 0b1100001101010000 = 50000
ClkStevec <= "0000000000000000";
if (Clock1Hz = '0') then Clock1Hz <= '1';
else Clock1Hz <= '0';
end if;
else ClkStevec <= ClkStevec + 1;
end if;
end if;
end process;
--PROCES: PISEM 1 ali 0 na vse porte glede na clock
IzpisNaLED : process(Clock1Hz)
begin
if(Clock1Hz = '1') then LedOut <= "11111111";
else LedOut <= "00000000";
end if;
end process;
end Behavioral; |
Svetujem sprotno preverjanje kode z Synthesize - XST (okno processes, pod Implement Design). Vse ki ste v C vodah opozarjam na razlike: spremenljivki prirediš neko stanje z <=, primerjaš z =, else if je tukaj elsif (ta je mene totalno sesula ker se lepo obarva)
Sedaj je treba še povezati signale na fizične pine. Izberemo Assign Package Pins
Slika 11
Ustrezno izberemo lokacije (Oscilator je vezan na P38 itd...).
Slika 12
V glavnem oknu potem še dvokliknemo Implement Design ter z Digilent XCM posnamemo *.jed v flash.
LP
Peter
|
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70819.59
|
Objavljeno: Pon Nov 12, 2007 9:52 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
Opis: |
|
 Download |
Ime datoteke: |
Xilinx.pdf |
Velikost datoteke: |
749.32 KB |
Downloadano: |
63 krat |
|
|
Nazaj na vrh |
|
 |
Slemi Član

Pridružen-a: Pet 29 Okt 2004 13:29 Prispevkov: 386 Aktiv.: 1.63 Kraj: Hrastnik
|
Objavljeno: Pon Nov 12, 2007 10:04 pm Naslov sporočila: |
|
|
Najlepša hvala obema. Tole sem rabil.
Edit: Na hitro predelano na utripanje ledic na vezju (priponka).
Lp
Slemi
Opis: |
|
 Download |
Ime datoteke: |
LED001.rar |
Velikost datoteke: |
844.49 KB |
Downloadano: |
23 krat |
|
|
Nazaj na vrh |
|
 |
PeterC Član

Pridružen-a: Tor 14 Dec 2004 20:22 Prispevkov: 204 Aktiv.: 0.86
|
Objavljeno: Tor Nov 13, 2007 9:08 pm Naslov sporočila: |
|
|
Včasih kakšna stvar ne dela po pričakovanjih (ali pa sploh ne dela). Takrat se splača opraviti simulacijo.
Jaz uporabljam brezplačno prirejeno verzijo ModelSim.
Navodila za namestitev so na strani LNIV.
Primer opisan zgoraj je treba dopolniti, za simulacijo so potrebna definirana začetna stanja:
Koda: |
--DEKLARACIJA NOTRANJIH SIGNALOV
architecture Behavioral of test is
signal ClkStevec : STD_LOGIC_VECTOR ( 15 downto 0 ) := "0000000000000000";
signal Clock1Hz : STD_LOGIC :='0'; |
Simulator zaženemo z dvoklikom na Simulate Behavioral Model, pred tem je treba nastaviti okno Sources for: Behavioral Simulation.
Slika 1
Odpre se glavno simulacijsko okno.
Slika 2
Sedaj je treba "vsiliti" uro. Desni klik na clockin v oknu Objects -> Clock...
Slika 3
Nastavimo na 10 us (100kHz)
Slika 4
Povečamo okno wave na samostojno (Undock - poleg ikone za zaprtje), nastavimo simulacijo na 2000ms in poženemo. Z tipko + in - ustrezno povečamo/zmanjšamo pogled
Slika 5
Vse nastavitve se lahko poženejo tudi v makroju. Ko nastavljate vhode bodite pozorni na ukaze, ki se izpisujejo spodaj v oknu Transcript.
Enake ukaze se lahko požene v datoteki tipa .do z ukazom do (do imedatoteke.do)
File -> New -> Source -> Do
Koda: |
force -freeze sim:/test/clockin 1 0, 0 {5000000 ps} -r {10 us}
run 2000 ms |
Shranimo kot simulacija.do in zaženemo v oknu Transcript:
do simulacija.do
|
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70819.59
|
Objavljeno: Tor Nov 13, 2007 9:23 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.62 Kraj: Trzic
|
Objavljeno: Pet Nov 16, 2007 10:24 pm Naslov sporočila: |
|
|
Pomoč prosim...
Xilinx PACE mi javi tole napako:
Citiram: |
ERROR:HDLParsers:3562 - pepExtractor.prj line 1 Expecting 'vhdl' or 'verilog' keyword, found 'work' |
V tem guide-u ni nič napisano o oknu, ki se pojavi ob odpiranju PACE-a in sprašuje, če naj sam kreira avtomatsko nov .ucf fajl. Jaz sem dal Yes, pa mu izgleda nekaj ne paše, saj se mi od odpiranju PACE-a pojavi okno z napako, da ne more sparsat vhdl datoteke. Kaj mi je za naredit?
_________________ Lp,
Matevž |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70819.59
|
Objavljeno: Pet Nov 16, 2007 10:39 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.62 Kraj: Trzic
|
Objavljeno: Pet Nov 16, 2007 11:09 pm Naslov sporočila: |
|
|
Noro.. hvala! Nisem se spomnil te fore.
_________________ Lp,
Matevž |
|
Nazaj na vrh |
|
 |
MarkoM Član

Pridružen-a: Tor 12 Sep 2006 15:29 Prispevkov: 2825 Aktiv.: 12.37 Kraj: Lovrenc na P.
|
Objavljeno: Tor Dec 18, 2007 10:31 am Naslov sporočila: |
|
|
Ali pri vas tudi potrebuje studio veliko časa, da prevede kodo in jo sprogramira na čip? Se pravi od klika na Synthesis do nalaganja programa v čip. Meni se zdi nenormalno dolgo, ker sem navajen na mikrokrmilnike, kjer od klika na compile do zapisa v flash preteče samo nekaj sekund.
|
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70819.59
|
Objavljeno: Tor Dec 18, 2007 10:35 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
 |
alessio Član

Pridružen-a: Pon 04 Dec 2006 8:39 Prispevkov: 363 Aktiv.: 1.61 Kraj: Ljubljana
|
Objavljeno: Tor Dec 18, 2007 10:38 am Naslov sporočila: |
|
|
MarkoM, ja, dolg čas prevajanja je normalen. Pri kakšnih high-end FPGA designih
se čas meri v urah.
Aleš
|
|
Nazaj na vrh |
|
 |
MarkoM Član

Pridružen-a: Tor 12 Sep 2006 15:29 Prispevkov: 2825 Aktiv.: 12.37 Kraj: Lovrenc na P.
|
Objavljeno: Čet Dec 20, 2007 12:25 pm Naslov sporočila: |
|
|
Imam problem s simulatorjem, ko spremenim nastavitve za clock, se ne shranijo. Ostanejo tiste privzete. Je to povezano z demo verzijo simulatorja?
edit: mea maxima culpa. Dela, zmotilo me je, da se v oknu za nastavitev ne spremeni vrednost. V spodnjem oknu transcript pa pravilno izpiše.
|
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.71 Kraj: Kranj - struževo
|
Objavljeno: Ned Jan 20, 2008 8:39 pm Naslov sporočila: |
|
|
K tej temi pašejo tudi navodila, kako uporabljati simulator, ki je že vgrajen notri v ISE.
Navodila se nahajajo Tukaj.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|