Цитата(des00 @ Sep 9 2005, 15:58)
else
if clk'event and clk='1' then --CLK rising edge
count_temp:=count_temp+1;
end if;
if clk'event and clk='0' then
case count_temp is
в одном процесе никогда не заработает, разнесите по разным процессам
И еще:
Код
if clk'event and clk='1' then --CLK rising edge
count_temp:=count_temp+1;
end if;
if clk'event and clk='0' then
case count_temp is
when 150 => if t1=750 then
count_temp:=0;
end if;
when 200 => if t1=1000 then
count_temp:=0;
end if;
when others => null;
end case;
end if;
Вы меняете count_temp по обоим фронтам Clk. Вы уверены, что это будет работать?
Используйте один фронт. Проблем не будет, скорее наоборот. Только count_temp надо сделать сигналом, а не переменной.