이 게시물은 FFT와 관련된 이전 게시물과 관련이 있습니다.Verilog에서의 FFT 구현 : 중첩 for 루프를 사용한 오류
FFT implemetation in Verilog: Assigning Wire input to Register type array
난 FFT 버터 플라이 모듈 두번째 스테이지의 입력에 첫 번째 스테이지의 출력을 지정할. 나는 두 번째 단계의 입력에 따라 첫 번째 단계의 출력을 다시 주문해야한다. 다음은 스와핑을 구현하는 코드입니다.
[email protected] (posedge y_ndd[0] or posedge J)
begin
if(J==1'b1)
begin
for (idx=0; idx<N/2; idx=idx+1)
begin
IN[2*idx] <= X[idx*2*X_WDTH+: 2*X_WDTH];
IN[2*idx+1] <= X[(idx+N/2)*2*X_WDTH+: 2*X_WDTH];
end
end
else
begin
level=level+1;
modulecount=0;
for(jj=0;jj<N;jj=jj+(2**(level+1)))
begin
for (jx=jj; jx<jj+(2**level); jx=jx+1)//jj+(2**level)
begin
IN[modulecount] <=OUT[jx];
IN[modulecount+1] <=OUT[jx+(2**level)];
modulecount=modulecount+1;
end
end
end
end
이렇게 합성하면 2 개의 오류가 발생합니다.
ERROR:Xst:891 - "Network.v" line 161: For Statement is only supported when the new step evaluation is constant increment or decrement of the loop variable.
ERROR:Xst:2634 - "Network.v" line 161: For loop stop condition should depend on loop variable or be static.
비등 증분 및 비 정적 정지 코드를 사용할 수 없습니까?
그렇다면 어떻게 처리할까요?
도움을 주시면 감사하겠습니다. 미리 감사드립니다.
그러면 장치에서 이동하고 연결을 변경하는 전선이 필요합니까? – N8TRO
IN은 레지스터 유형이고 OUT은 와이어 유형입니다. IN은 버터 플라이 모듈의 입력이고 OUT은 모듈의 출력입니다. 내가 언급 한 위 링크의 메인 모듈 소스 코드. – Jey
모든 레벨에서 IN 값을 변경하고 싶습니다. 따라서 모든 단계에서 버터 플라이 모듈의 입력은 다양해야합니다. – Jey