算术运算符

首先我们介绍的是算术运算符,所谓算术逻辑运算符就是我们常说的加、减、乘、除等,这类运算符的抽象层级较高,从数字逻辑电路实现上来看,它们都是基于与、或、非等基础门逻辑组合实现的,如下。

  1. /是除法运算,在做整数除时向零方向舍去小数部分。
  2. %是取模运算,只可用于整数运算,而其他操作符既可用于整数运算,也可用于实数运算。


例子:我们在生成时钟的时候,必须需选择合适的timescale和precision。当我们使用“PERIOD/2”计算延迟的时候,必须保证除法不会舍弃小数部分,所以实际上我们应该使用实数除法“PERIOD/2.0”。

parameter PERIOD=15;
initial begin clk <= 0; forever #(PERIOD/2) clk = ~clk; end  // Not correct
initial begin clk <= 0; forever #(PERIOD/2.0) clk = ~clk; end  // Not correct