移位操作符有:
* > (右移)
移位操作符左侧操作数移动右侧操作数表示的次数,它是一个逻辑移位。空闲位添0补位。如果右侧操作数的值为x或z, 移位操作的结果为x。假定:
reg [0:7] Qreg;
. . .
Qreg = 4'b0111;
那么:
Qreg >> 2 是 8'b0000_0001
Verilog HDL中没有指数操作符。但是,移位操作符可用于支持部分指数操作。例如,如果要计算ZNumBits的值,可以使用移位操作实现,例如:
32'b1 18; 如果真, Grade_A 赋值为Student; 如果Marks < =18, Grade_C 赋值为Student。下面为另一实例:
always
#5 Ctr = (Ctr != 25) ? (Ctr + 1) : 5;
过程赋值中的表达式表明如果Ctr不等于25, 则加1;否则如果Ctr值为25时, 将Ctr值重新置为5。