Код
process(sys_clk_c, sys_rst_c) begin
if(sys_rst_c = '1') then
temp <= '0';
temp_cnt <= to_unsigned(0, 22);
elsif rising_edge(sys_clk_c) then
temp_cnt <= temp_cnt + 1;
if(temp_cnt = to_unsigned(0, 22)) then
temp <= '1';
elsif(temp_cnt = to_unsigned(2097152, 22)) then
temp <= '0';
end if;
end if;
end process;
process(sys_clk_c) begin
if rising_edge(sys_clk_c) then
temp <= not temp;
end if;
end process;
Первый процесс типа посложнее, не работает совсем (или может редко, я не заставал). Второй типа попроще, работает иногда. Да как бы дело и не в счётчике, он только для отладки добавлен, там параллельно и другие блоки есть, вроде принятия данных с FTDI микросхемы, и все работает на первой плате, и не работает на второй.
Кстати забыл сказать, питание платы от USB, поэтому нехватка тока когда проект разросся кажется более вероятным. Если так, прошу прощения что поспешил создавать тему. Смогу проверить это только завтра вечером.
Сообщение отредактировал Jack_of_Shadows - Nov 26 2012, 22:26