下表1列出了verilog的算术运算符:
表1:算术运算符
整除运算应将小数部分截断为零。对于除法或乘法运算符,如果第二个操作数是零,则整个结果值应为 x。取模运算符(例如 y % z)给出第一个操作数除以第二个操作数的余数,因此当 y 恰好被z整除时,余数为零,模运算的结果应取第一个操作数的符号。
如果幂运算符(**)的任一操作数是实数,则结果类型应为实数。如果第一个操作数为零,而第二个操作数为非正值,或者第一个操作数为负值,而第二个操作数不是整数值,则幂运算符的结果是不指定的。如果第二个操作数为零,则结果值为 1。幂运算符规则总结如下表2所示:
表2:幂运算符规则总结
一元运算符优先于二元运算符。表3列出了一元运算符:
表3:一元运算符
对于算术运算符,如果任何操作数位值为未知值 x 或高阻抗值 z,则整个结果值应为 x。
表4举例说明了一些模运算和幂运算:
表4模运算和幂运算例子
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!