请教一下各位,我有一段verilog代码,很诡异,ila调试结果与代码不一致,请各位帮忙看一下
reg[7:0] state = 0;
reg[7:0] channel = 0;
reg[7:0] data = 0;
reg start = 0;
always@(posedge sys_clk )begin
case(state)
0:begin
channel<=100;
data<=100;
start<=1;
state<=state + 1;
end
1:begin
state<=state + 1;
end
default:begin
start<=0;
channel<=0;
data<=0;
state<=0;
end
endcase
end
我通过ila调试发现,多数情况下state=1时,channel和data都被赋值成100的而且start=1,但是偶尔在state=1时,ila里面检测到channel=100,data=6,data不一定等于6,还可能等于别的值且这时候start 不等于1了,代码我仔细检查过好多遍,确认没有multi driver net的情况,这个问题我调了2天了,太困惑了,请教一下各位这大概时什么情况,谢谢
易灵思FPGA--Error 错误集锦
https://blog.csdn.net/qq_35221855/article/details/115653970