在verilog中要想获得靠谱的结果,控制表达式运算中使用的位数非常重要!有些情况的解决方法很简单,例如,如果在两个 16 位寄存器上指定了位与(&)操作,那么结果就是一个 16 位值。但是,在某些情况下,并不清楚在表达式求值时使用了多少位,也不清楚求值结果的大小。
例如,对两个16位数值进行算术加法运算时,应该使用 16 位进行运算,还是应该使用 17 位进行运算,以便考虑到可能出现的进位溢出?答案取决于所建模的器件类型以及该器件是否能处理进位溢出。Verilog HDL 使用操作数的位长来决定在求值表达式时使用多少位。对于加法运算符,应使用最大操作数的位长,包括赋值左侧的位长。例如:
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!