Quartus® II 軟體版本 7.0 和更早版本可能會產生此警告訊息,如果您使用變數來控制 Verilog HDL 中的迴圈,例如:
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 軟體合成會移除鎖,而您可以忽略警告。