verilog中向量寄存器加一操作不需要管溢出吗?求解释
刚看了段代码,截取部分如下always @ (posedge clk or negedge rst)
begin
if(!rst)
data <= 0;
else
data <= data + 1;
end
其中定义reg data;
仿真时data值变为15后,再加1变为零,不需要管溢出,这点似乎是verilog独有的,在C中一个类型的变量的值是不能超过这个变量固有的范围的。 用软件的思维来看硬件就乱了
就像一个Q非接到D上的DFF,你可以认为它是一个一位的计数器,时钟跳一次,他就跳一次,从0计到1,又从1计到0。要有进位的话后面还要再接一个来存储进位标志,当然这样就可以看作两位的计数器了。 硬件是不会凭空产生的。 要看你用在什么地方,有些地方确实不用管 oped001 发表于 2013-9-4 16:57 static/image/common/back.gif
要看你用在什么地方,有些地方确实不用管
好像所有地方都不用管 计数器本来就这样,如果你要考虑溢出,你自己的设计来存储 高位被舍弃了
页:
[1]