Hi Leute,
ich hab ein kleines Problem mit einer Case- Anweisung innerhalb meiner
TOP- Entity.
Komponenten und das Port-Mapping klappt soweit, bloß ich benötige noch
ein Decoder (case- Anweisung) die dann auch jeweils die richtige
Komponente das richtige Signal zu Verfügung stellt.
ISE wirft bei mit folgende Fehlermeldungen raus:
Line 98. parse error, unexpected CASE
Line 111. parse error, unexpected WHEN
Line 122. parse error, unexpected CASE, expecting SEMICOLON
Für mich sieht es danach aus, dass die Case- Anweisung an einem falschen
Platz innerhalb der Entity steht, bloß weiß ich nicht wo sie genau
stehen muss.
Ich hab es auch schon ohne den Prozess probiert bloß ohne irgendeinen
Unterschied festzustellen.
Hier die wichtigsten Bestandteile von meiner Entity:
1 | entity top_spartan is
|
2 | ...
|
3 | end top_spartan;
|
4 |
|
5 | architecture Behavioral of top_spartan is
|
6 | ...
|
7 |
|
8 | -- RTC
|
9 | component rtc
|
10 | generic (...
|
11 | );
|
12 | port (...
|
13 | );
|
14 | end component;
|
15 |
|
16 | -- CAN
|
17 | component can_oc
|
18 | generic (...
|
19 | port (...
|
20 | );
|
21 | end component;
|
22 |
|
23 | -- AMBA- Master
|
24 | component MST_AMBA
|
25 | port (...
|
26 | );
|
27 | end component;
|
28 |
|
29 | for RTC
|
30 | for CAN
|
31 | for MST_AMBA
|
32 |
|
33 | begin
|
34 |
|
35 | Selekt:Process (SLV_SEL)
|
36 | case SLV_SEL is
|
37 | when "000" => --RTC
|
38 | ...
|
39 | when others => --CAN- Controller
|
40 | ...
|
41 | end case;
|
42 | end process selekt;
|
43 |
|
44 | -- RTC - Port Map
|
45 | RTC_test: rtc...
|
46 | )
|
47 | port map (...
|
48 | );
|
49 |
|
50 |
|
51 | -- CAN - Port Map
|
52 | CAN: can_oc
|
53 | port map (...
|
54 | );
|
55 |
|
56 |
|
57 | -- AMBA- Master
|
58 | MST_AMBA: MST_AMBA
|
59 | port map (...
|
60 | );
|
61 | end Behavioral;
|