Forum Discussion
Altera_Forum
Honored Contributor
14 years agoIf I correctly understood your needs, you can try changing your code this way:
SIGNAL M: STD_LOGIC;
SIGNAL run: STD_LOGIC;
SIGNAL last_ce: STD_LOGIC;
PROCESS (clock,rst,M)
BEGIN
IF (rst = '0') THEN
d1 <= "0000";
run <= '0';
last_ce <= ce;
ELSIF (clOCK 'EVENT AND clOCK='1') THEN
IF (run='1') THEN
d1<= d1 + '1';
M <= '0';
END IF;
IF d1= "1001" THEN
d1<= "0000";
M <= '1';
END IF;
IF (ce='1' and last_ce='0')
run <= not run;
END IF;
END IF;
clk_2<=M;
END PROCESS; Regards