求大神帮忙看一下下面代码哪里出错了
module b_to_d(
input wire[16:0]b,
output reg[16:0]d
);
reg[16:0]n;
always@(*)
begin
n=b;
while(n[15:0]>=10000)
begin
d[16]=1;
n[15:0]=n[15:0]-10000;
end
while(n[15:0]>=1000)
begin
d[15:12]=d[15:12]+1;
n[15:0]=n[15:0]-1000;
end
while(n[15:0]>=100)
begin
d[11:8]=d[11:8]+1;
n[15:0]=n[15:0]-100;
end
while(n[15:0]>=10)
begin
d[7:4]=d[7:4]+1;
n[15:0]=n[15:0]-10;
end
d[3:0]=n[3:0];
if(b[16])
d[16]=n[16];
end
endmodule
ERROR:Xst:1312 - Loop has iterated 64 times. Use "set -loop_iteration_limit XX" to iterate more.
明明循环没有超过64次啊,求教
module b_to_d(
input wire[16:0]b,
output reg[16:0]d
);
reg[16:0]n;
always@(*)
begin
n=b;
while(n[15:0]>=10000)
begin
d[16]=1;
n[15:0]=n[15:0]-10000;
end
while(n[15:0]>=1000)
begin
d[15:12]=d[15:12]+1;
n[15:0]=n[15:0]-1000;
end
while(n[15:0]>=100)
begin
d[11:8]=d[11:8]+1;
n[15:0]=n[15:0]-100;
end
while(n[15:0]>=10)
begin
d[7:4]=d[7:4]+1;
n[15:0]=n[15:0]-10;
end
d[3:0]=n[3:0];
if(b[16])
d[16]=n[16];
end
endmodule
ERROR:Xst:1312 - Loop has iterated 64 times. Use "set -loop_iteration_limit XX" to iterate more.
明明循环没有超过64次啊,求教
