Hi, ich hab ein kleines Testboard mit nem FPGA und 4 LEDs.... Die leuchten auch wenn man ihnen ne '1' zuweist und gehen aus bei ner '0'. Nun habe ich es geschafft mittels eines externen Quartzoszillators (16 MHz) alle 4 LEDs zum blinken zu bringen. (Blinken alle zusammen). Dazu habe ich folgenden Code geschrieben. Ich möchte jedoch ein Lauflicht machen und das geht einfach nicht. Die LEDs bleiben aus.... Dafür muss ich nur eine Zeile auskommentieren und die andere rein tun... siehe die einzigste auskommentierte Zeile.... Hat jemand eine Ahnung? Danke schon mal...
1 | SIGNAL intern : std_logic_vector(3 DOWNTO 0); |
2 | |
3 | ... |
4 | |
5 | led0 <= intern(3); |
6 | led1 <= intern(2); |
7 | led2 <= intern(1); |
8 | led3 <= intern(0); |
9 | |
10 | |
11 | |
12 | p1: PROCESS (clk) |
13 | VARIABLE zaehl : integer := 0; |
14 | VARIABLE beg : boolean := true; |
15 | |
16 | |
17 | BEGIN |
18 | IF beg = true THEN |
19 | intern <= "1010"; |
20 | beg := false; |
21 | ELSE |
22 | |
23 | IF clk'EVENT AND clk = '1' THEN |
24 | |
25 | IF zaehl < 10000000 THEN |
26 | zaehl := zaehl + 1; |
27 | |
28 | ELSE |
29 | -- intern <= NOT intern; -- das hier funktioniert, es blinken alle 4 LEDs |
30 | intern <= intern(0) & intern(3 DOWNTO 1); --funktioniert nicht... why? |
31 | zaehl := 0; |
32 | END IF; |
33 | |
34 | END IF; |
35 | END IF; |
36 | END PROCESS p1; |