Hi,
nun habe ich endlich Zeit mit meinem neuen Spartan3E starterkit zu
spielen, leider bekomme ich kein simples "Hello World" hin :-(
- Lt. Simulation funktioniert das programm, die Ports werden
nacheinander ein/aus geschaltet
- auch impact meldet keinen Fehler, die gelbe Diode geht nach dem
programmieren an.
- Leider keine Reaktion auf den LEDs, auch mit dem Logikanalyzer ist
keine Aktion auf den Ports festzustellen.
Könnte ihr bitte mal über den Code schauen ( habe ich vom FPGA - Central
tutorial ), und falls da kein Fehler zu erkennen ist, mir Tipps für
die weitere Fehlersuche geben?
1 | library IEEE;
|
2 | use IEEE.STD_LOGIC_1164.ALL;
|
3 | use IEEE.STD_LOGIC_ARITH.ALL;
|
4 | use IEEE.STD_LOGIC_UNSIGNED.ALL;
|
5 |
|
6 | ---- Uncomment the following library declaration if instantiating
|
7 | ---- any Xilinx primitives in this code.
|
8 | --library UNISIM;
|
9 | --use UNISIM.VComponents.all;
|
10 |
|
11 | entity main is
|
12 | Port ( CLK : in STD_LOGIC;
|
13 | LEDS : out STD_LOGIC_VECTOR (7 downto 0));
|
14 | end main;
|
15 |
|
16 | architecture Behavioral of main is
|
17 | signal leds_control_register: std_logic_vector(7 downto 0):="00000001";
|
18 | signal counter: std_logic_vector(31 downto 0):=X"00000000";
|
19 | constant counter_max: std_logic_vector(31 downto 0):=X"02FAF07F";
|
20 | --constant counter_max: std_logic_vector(31 downto 0):=X"00000010";
|
21 | --
|
22 | begin
|
23 | process (CLK) is
|
24 | begin
|
25 | if rising_edge(CLK) then
|
26 | if counter<counter_max then
|
27 | counter<=counter+1;
|
28 | else
|
29 | counter<=X"00000000";
|
30 | end if;
|
31 | end if;
|
32 | end process;
|
33 |
|
34 | process (CLK) is
|
35 | begin
|
36 | if rising_edge(CLK) then
|
37 | if counter=X"00000000" then
|
38 | leds_control_register<=leds_control_register(6 downto 0)&leds_control_register(7);
|
39 | end if;
|
40 | end if;
|
41 | end process;
|
42 |
|
43 | LEDS<=leds_control_register;
|
44 |
|
45 | end Behavioral;
|
danke,
MaxMeise