我似乎把自己写进了一个无限循环,或者那个或者那个 Modelsim 不知道如何处理这个 while 循环中的条件:
i = 0;
while(i < 8'b01100100 && !(mem[i] == RC)) begin
i <= i + 1;
end
模拟只是无法通过这个while循环中的条件行,谁能指出我做错了什么?
-edit:包含while循环的代码部分:
//if remove credential enable is high
if(RCE == 1'b1) begin
$display ("%d", RC);
$display ("%d", mem[i]);
$display ("%b", !(mem[i] == RC));
while(i < 8'b01100100 && mem[i] != RC) begin
i <= i + 1;
end
if(i < 8'b01100100) begin
mem[i] <= 24'b111111111111111111111111;
end else begin
//do nothing
end
i = 0;
end else begin
//do nothing
end
这部分位于一个 always 块内,其中包含 posedge clk 和 posedge rst 的敏感度列表。