library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity paralel_reg is
generic (default : positive := 4);
port(C, notR, E: in std_logic; D: in std_logic_vector(default downto 1);
Q: out std_logic_vector(default downto 1));
end paralel_reg;
architecture paralel_reg of paralel_reg is
signal q : std_logic_vector(default downto 1);
begin
process (C, notR)
begin
if notR = '0' then q <= (others => '0');
else if rising_edge(C) then q <= D;
end if;
end process; --# Error: COMP96_0019: paralel_register.vhd : (18, 5): Keyword "if" expected.
--# Error: COMP96_0015: paralel_register.vhd : (18, 5): ';' expected.
process (E, q) --# Error: COMP96_0019: paralel_register.vhd : (24, 2): Keyword "end" expected.
begin
if E = '0' then Q <= (others => '0');
else Q <= q; --# Error: COMP96_0019: paralel_register.vhd : (24, 2): Keyword "end" expected.
--# Error: COMP96_0016: paralel_register.vhd : (24, 7): Design unit declaration expected.
end if;
end process;
end paralel_reg;
# Error: COMP96_0019: paralel_register.vhd : (18, 5): Keyword "if" expected. # Error: COMP96_0015: paralel_register.vhd : (18, 5): ';' expected. # Error: COMP96_0019: paralel_register.vhd : (21, 1): Keyword "end" expected. # Error: COMP96_0019: paralel_register.vhd : (24, 2): Keyword "end" expected. # Error: COMP96_0016: paralel_register.vhd : (24, 7): Design unit declaration expected.Warum wird Code nicht kompiliert?
Sie können 'else if' verwenden, aber dann müssen Sie genauer auf den Kontrollfluss achten und passende 'end if'-Anweisungen haben. 'q' und' Q' sind in VHDL lexikalisch identisch und es gibt zwei Deklarationen. Vorkommen von 'q' zu' qi' ändern (inkl. Der Sensitivitätsliste) und ein zweites Ende hinzufügen wenn (oder mit elsif) und die Codeanalysen (compiles). Die Botschaft hier ist, dass eine Antwort bewiesen werden sollte. Nicht sicher, was "E" soll. – user1155120