1.运算符及表达式
在Verilog HDL语言中运算符所带的操作数是不同的,按其所带
操作数的个数运算符可分为三种:
a)单目运算符(unary operator):可以带一个操作数,操作数放在运算符的右边。
b)二目运算符(binary operator):可以带二个操作数,操作数放在运算符的两边。
c)三目运算符(ternary operator):可以带三个操作,这三个操作数用三目运算符分隔开。
例:
clock = ~clock;// ~是一个单目取反运算符, clock是操作数。
c = a | b; // 是一个二目按位或运算符, a 和 b是操作数。
r = s ? t : u; // ?: 是一个三目条件运算符, s,t,u是操作数。
1)算数运算
将负数赋值给reg或其它无符号变量使用2的补码算术。如果操作数的某一位是x或z,则结果为x。在整数除法中,余数舍弃。模运算中使用第一个操作数的符号。注意integer和reg类型在算术运算时的差别。integer是有符号数,而reg是无符号数。
2)位运算