verilog中减法相关问题

2019-07-15 20:56发布

我设置一个初值为0的计数器counter[23:0],一个输入信号B[23:0]。设置一个初始值为0的falg寄存器。
verilog代码如下:

if(counter==B-1)
begin
          counter<=0;
          flag<=1;
end
else begin
        counter<=counter+1;
        flag<=0;
       end


当B=0时,我的仿真结果中发现,flag信号并没有置位。我想问一下,在FPGA中,当B=0时,B-1是24'hFFFFFF吗?如果是的话,当counter计数到24'hFFFFFF时条件已经满足了,为什么我的flag信号没有置位呢?还是说verilog在计算时,可以判断正负?
希望哪位大神可以帮忙解决问题,谢谢。





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。