我是 Verilog 的新手,所以我在使用 if 时遇到了一些问题
基本上我有一个 5 位数字,并且想要拆分它,以便我可以有一个 2 位十进制数字。为此,我有这段代码
reg [4:0] position, aux;
reg [3:0] display1, display2;
reg [2:0] secondDigit;
always @(negedge iKEY[1] or negedge iKEY[2]) begin
aux = position;
for(secondDigit = 2'b0; aux >= 5'b01010; secondDigit = secondDigit + 2'b01)
aux = aux - 5'b01010;
assign display1 = aux[3:0];
assign display2 = {2'b0, secondDigit};
end
问题是我收到这条消息
loop with non-constant loop condition must terminate within 250 iterations
我也尝试用 for 循环代替这个 while,但不断收到同样的错误
aux = position;
secondDigit = 2'b0;
while(aux > 5'b01010) begin
aux = aux - 5'b01010;
secondDigit = secondDigit + 2'b01;
end
有人可以帮助我吗?谢谢