Versuche mich gerade in VHDL einzuarbeiten.
Habe dafür zunächst einmal das Tutorial von ISE 10.1 durch gearbeitet
und Versuche nun mich mit ISE und ein Paar Simulationen erst mal so mit
den Grundprinzipien vertraut zu machen.
Aktuelles Problem liegt darin, das mir der Compiler die Syntax im
folgenden Code mit einem "parse error, unexpected IF" als Falsch
ankreidet.
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 DFF is
|
12 |
|
13 | port (
|
14 | CLK : in STD_LOGIC;
|
15 | D : in STD_LOGIC;
|
16 | RST : in STD_LOGIC;
|
17 | Q : out STD_LOGIC
|
18 | );
|
19 |
|
20 | end DFF;
|
21 |
|
22 | architecture Behavioral of dff is
|
23 |
|
24 | begin
|
25 | process (CLK)
|
26 | if RST='1'then -- !!Hier wird der Fehler gemeldet
|
27 | Q <='0';
|
28 | else if RISING_EDGE(CLK) THEN
|
29 | Q <= D;
|
30 | end if;
|
31 | end if;
|
32 | end process;
|
33 |
|
34 | end Behavioral;
|
Leider finde ich keine Begrüdung warum die if-Abfrage so nicht möglich
sein soll. Wäre nett mir da jemand einen Hinweis geben könnte.
Gruß,
Stefan
P.S.: Hoffe mal ich hab bei meiner Suche im Forum nichts übersehen.