Verilog 프로젝트를 합성하려고하면 다음과 같은 오류가 발생합니다 : 오류 : Xst : 2634 - "shiftman.v"15 행 : 루프 정지 조건은 루프 변수에 의존하거나 정적이어야합니다. 오류 : Xst : 2634 - "shiftman.v"22 행 : 루프 중지 조건은 루프 변수에 의존하거나 정적이어야합니다.Verilog 합성 중 오류가 발생했습니다
오류의 원인을 이해할 수 있다고 생각하지만 문제를 해결할 방법을 찾을 수 없습니다. 당신이 합성 코드에 가변 반복 루프를 사용 할 수 없기 때문에
module shiftman(in,sh,out);
input[47:0] in;
input[8:0] sh;
output[47:0] out;
reg[47:0] out;
reg[7:0] r;
reg i;
[email protected](in or sh)
begin
r=sh[7:0];
out=in;
if(sh[8]==0)
for(i=0; i<r; i=i+1)
begin
out[23:0]={1'b0,out[23:1]};
end
else
for(i=0; i<r; i=i+1)
begin
out[47:24]={1'b0,out[47:25]};
end
end
endmodule
'i'는 단일 비트입니다','정수를 시도 난;'. 참고 : 합성하기 전에 항상 시뮬레이션해야합니다. – Greg