lite problem med VHDL

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Rocky_AL
Inlägg: 617
Blev medlem: 7 december 2006, 15:14:50
Ort: Stockholm

lite problem med VHDL

Inlägg av Rocky_AL »

Har följande kod:

Kod: Markera allt



Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;

entity twobit_mod3_counter is
port(clk, E, U: in std_logic;
	 q: out std_logic_vector(1 downto 0));
end entity twobit_mod3_counter;

architecture behavior of twobit_mod3_counter is
	subtype state_type is integer range 0 to 2;
	signal now, next state_type;

begin
	next_state:  process(now, U)
	begin
		if (U = '0') then
			if (now = '0') then
				now <= 2;
		   	else
				next <= (now - 1);
		   	end if;
		else
			next <= (now + 1) mod 3;
		end if;
	end process;
	
	q <= conv_std_logic_vector(now,2);
	
	state_register: process(clk)
	begin
		if rising_edge(clk) and E = '1' then
			now <= next;
		end if;
	end process;
end architecture behavior;

Får compile error:
Untitled2.vhd (line 12, col 18 ): (E10) Syntax error at/before reserved symbol 'next'.
Error occurred within 'ARCHITECTURE' at line 10, column 45 in Untitled2.vhd.
PS. Det är en räknare som räknar upp (...0, 1, 2, 0, 1...) om U=1 och ner om U=0.
Den har dessutom en signal Enable E.
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

Döp om "next" till något annat. Precis som felmeddelandet säger så är det ett reserverat ord.
Rocky_AL
Inlägg: 617
Blev medlem: 7 december 2006, 15:14:50
Ort: Stockholm

Inlägg av Rocky_AL »

aha, så var det.
Användarvisningsbild
kimmen
Inlägg: 2042
Blev medlem: 25 augusti 2007, 16:53:51
Ort: Stockholm (Kista)

Inlägg av kimmen »

Hmm... Jag var ju på en föreläsning i V3 på KTH idag när föreläsaren berättade om 2-bits modulo-3-räknare :D

Fast på labben så ska i alla fall vi göra en 3-bits binärräknare, höll på att nästan råka göra en 2-bits modulo-3-räknare i stället för att jag inte läste ordentligt...
Skriv svar