如果您使用的变量来控制 Verilog HDL 中的循环,则 Quartus® II 软件版本 7.0 及更早版本可能会生成此警告消息,例如:
if ( !rst_n )
begin
for ( i = 0; i < depth; i = i 1)
mem[i] = {width{1'b0}} ;
end
这个问题从 Quartus® II 软件版本 7.1 开始就得到了修复。
在上述示例中,Quartus® II 软件版本 7.0 及更早版本对非最终设计信号的临时回路变量发出警告。在示例中,可变值"i"用于循环,并在 Verilog 代码中的循环开始之前对其进行初始化,但在其他代码中没有使用。该软件合成了这一临时变量的闩锁。在最终的设计网络列表中,闩锁不驱动逻辑,因此会被移除。但是,该软件在消除无风扇信号之前会发出推断的闯锁警告。
除非您参考始终结构之外的变量,否则 Quartus II 软件合成移除了锁,您可以忽略该警告。