添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Hello, while working with a design, I am facing zero time loop in VCS. One of my state machine is causing this zero delay loop and after spending some time, looks like the following snippet of code are responsible for this.

// .... state register code

// always(*) for next state and output logic

case (state)

state0: begin

if (start_i == 1) begin

temp = 8'd117;

next_state = state1;

end else begin

next_state = state0;

end

end

state1: begin

if (end_i != 1) begin

temp = temp + data_i; // *** looks like something is wrong here. If i remove it then VCS doesn't stuck in zero time loop

if (temp >= 9'd256) begin

temp = temp - 9'd256;

end

next_state = state2;

end else begin

next_state = state3;

end

end

As you can guess, in each cycle after having start_i == 1 I add input 8 bit data_i with temp and keep doing it.... I know without looking at the full design its hard to tell but I would appreciate if someone can point me to any error/buggy coding style from above code snippet which might be responsible for the error.

我们会在正常工作时间内(太平洋标准时间周一至周五上午 7 点到下午 5 点)提供社区支持。请单击 此处 查看其他联系方式。

英特尔不会验证所有解决方案,包括但不限于该社区中可能出现的任何文件传输。对此,英特尔不做任何明确或隐含的担保,包括但不限于对适销性、适用于特定用途和非侵权的隐含担保,以及由履约习惯、交易习惯和贸易惯例引起的任何担保。

关于编译器优化的更多完整信息,请参阅我们的 优化通知 .