Hey, ich muss mich bezüglich meiner Diplomarbeit in VHDL einarbeiten. Leider hatten wir nie etwas in der Richtung gehabt, also musste ich es mir selber beibringen. Nun habe ich Code für ein VGA Controller geschrieben, welcher leider nicht funktionierte. Also reduzierte ich die komplexität auf nur einen einfachen Counter, welcher nach 2 sekunden die LEDS toogelt. Lauft Behavior Simulation funktioniert das alles ohne Problem. Leider machen die Post-Synthesis und Post-Implemantation Simulation nicht mit (daher beim aufspielen auf den FPGA passiert auch nichts außer dem standard Leuchten). Habe auch schon eine andere Software fürs Simulieren probiert ohne Erfolg Könnte mir bitte einen Stoß in die richtige Richtung geben bzw. mir sagen warum das nicht funktioniert? Sitze jetzt schon nen Stück dran und verzweifle langsam... FPGA: Zynq-7000 series (Zedboard) Suite: Vivado 2013.3 / ModelSim zur überprüfung PS: Hier habe ich schon gepostet jedoch konnte keiner helfen aber evt sind Fragen die ihr habt dort beantwortet http://www.computerbase.de/forum/showthread.php?t=1301303
1 | library IEEE; |
2 | use IEEE.STD_LOGIC_1164.ALL; |
3 | |
4 | |
5 | use IEEE.NUMERIC_STD.ALL; |
6 | |
7 | |
8 | |
9 | entity ClockLED is |
10 | Port ( |
11 | --CLK : in std_logic; -- only in non-Simulation
|
12 | LEDS : out std_logic_vector(7 downto 0) |
13 | |
14 | );
|
15 | end ClockLED; |
16 | |
17 | architecture Behavioral of ClockLED is |
18 | |
19 | type state_LEDS is (CNT1, CNT2, SETLEDS); -- defines the states |
20 | signal state_LED : state_LEDS; |
21 | |
22 | signal LEDACTIVE : std_logic_vector(7 downto 0) := "11100011"; |
23 | signal SUM:integer range 0 to 2000005 := 0; |
24 | signal CLK: std_logic; |
25 | |
26 | begin
|
27 | |
28 | ---------------CLK Simulation------------
|
29 | process
|
30 | begin
|
31 | wait for 500 ns; |
32 | CLK <= '1'; |
33 | wait for 500 ns; |
34 | CLK <= '0'; |
35 | end process; |
36 | |
37 | |
38 | -------------Counter and toogle--------------
|
39 | process(CLK) |
40 | begin
|
41 | |
42 | if rising_edge(CLK)THEN |
43 | |
44 | case state_LED is |
45 | When CNT1 => |
46 | if SUM>2000000 then |
47 | state_LED<=SETLEDS; |
48 | else
|
49 | SUM <= SUM+1; |
50 | |
51 | end if; |
52 | |
53 | When SETLEDS => |
54 | SUM<=0; |
55 | LEDACTIVE<= not LEDACTIVE; |
56 | state_LED<=CNT1; |
57 | |
58 | When others => |
59 | state_LED<=CNT1; |
60 | |
61 | end case; |
62 | |
63 | end if; |
64 | end process; |
65 | |
66 | LEDS<=LEDACTIVE; |
67 | |
68 | end Behavioral; |