未使用的顺序元素

Unused sequential element

我收到警告

[Synth 8-6014] Unused sequential element count_reg was removed. 

当我综合以下代码时:

SPECCOUNT: process (clk, load_cnt)
  variable count : integer := 0;
begin
  if (rising_edge(clk)) then
    if (count = load_cnt) then
      count := count + 1;
      overflow <= '0';
    else
      count := 0;
      overflow <= '1';
    end if;  
  end if;      
end process SPECCOUNT;

警告意味着合成器不需要变量来合成代码。这个对吗?

如果是,这怎么可能?

如果不是,是需要修复的错误吗?

合成完全按照预期进行(假设 "load_cnt" 不是 0;如果这是一个 [MCVE] 我们可以看看它是否是)

写一个testbench,模拟这个单元,你会发现为什么它可以完全消除"count"。