|
Verilog菜鸟请教各位大侠:为什么仿真的时候+1加到一个值后会突然乱掉
[复制链接]
各位大侠,问个关于Verilog的问题,为什么按照下面的程序
always @(negedge RST or posedge CLK or posedge rise or posedge fall)
begin
if((RST == 1'b0)||(rise == 1'b1)||(fall == 1'b1))
begin
watchdog_timer_count <= 9'b0_0000_0000;
end
else if(!watchdog_timer_done)
begin
watchdog_timer_count <= watchdog_timer_count +1;
end
end
assign watchdog_timer_done = (watchdog_timer_count == WATCHDOG -1) ? 1'b1 : 1'b0;
仿真结果到317突然就变到320了。其中WATCHDOG = 320。仿真的时候和这个有关的线 rise fall rst 都没有变动。。
仿真的时候用的是十进制。。watchdog_timer_done也都是低的。
看到这个仿真结果快吐血了。
对了,在317 到 320 的之间很有短时间的变成 311 310 300,但是时间极短。
各位大侠帮帮忙~
|
|