모두 하락과 상승 에지를 사용하여 나는 다음과 같이 FPGA & VHDL 초보자가 ..FPGA : 동일한 프로세스
내 개발 환경입니다입니다.
FPGA : 스파르탄 6 XC6SLX9
컴파일러 :
ISE 14.04 시뮬레이터 : ISIM
나는 간단한 카운터를 만들고 있어요,하지만 난 이해할 수없는 몇 가지가 있습니다.
다음 코드는 내가 작성한 코드입니다. 내가 예상했던 것은 w_count가 클럭의 모든 하강 에지에서 증가되었고, w_count가 클럭의 상승 에지 동안 N_data에 도달하면 0으로 리셋되었다. 컴파일 프로세스에는 아무런 문제가 없었으며, 예상했던대로 시뮬레이션도 잘 작동합니다. 나는 두 ELSIF 문의 위치를 변경하는 경우 그러나 ..
w_state_proc : process(r_clk, reset_n_clean)
begin
if(reset_n_clean = '0') then
w_count <= 0;
elsif(r_clk'event and r_clk = '0') then
if(state = write_state and w_proc = '1') then
w_count <= w_count + 1;
end if;
elsif(r_clk'event and r_clk = '1') then
if(w_count = N_data) then
w_count <= 0;
end if;
end if;
end process w_state_proc;
실제의 FPGA에 적용 할 때, w_count 각 트리거 증가했지만, N_data에 도달 할 때 0으로 초기화되지 않은, w_count은 전혀 증가하지 않았다 ..
w_state_proc : process(r_clk, reset_n_clean)
begin
if(reset_n_clean = '0') then
w_count <= 0;
elsif(r_clk'event and r_clk = '1') then
if(w_count = N_data) then
w_count <= 0;
end if;
elsif(r_clk'event and r_clk = '0') then
if(state = write_state and w_proc = '1') then
w_count <= w_count + 1;
end if;
end if;
end process w_state_proc;
나는이 문은 권장되지 않습니다 피드백을 많이 볼 수 있지만, 이러한 진술이 문제가 발생할 이유가 을 이해하지 못하는 ..
w_proc에 입력이 가능하다고 생각하십니까? – Staszek
예. 그것은 외부의 fpga에서 오는 방아쇠입니다. –