我似乎自己編寫成一個無限循環,要麼或的ModelSim不知道要如何處理這個while循環的條件做:停留在while循環的Verilog
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
這部分的總是與posedge時鐘和posedge RST的靈敏度列表框的內部。
「我」有多少位?如果文件不是太大,你可以發佈整個文件嗎? – Tim
我是8位寬,整個代碼長度爲194行...如果你需要更多的代碼,我很高興做義務 – user1475941
有一條線'i = 0;'這是爲了在那裏。對於綜合,你應該能夠展開你的循環,我不明白這是如何工作在你當前的代碼。 – Morgan