运算符
0赞
发表于 2/25/2012 4:27:48 PM
阅读(2652)
逻辑运算符中的“&&”和“||”的优先级分别低于关系运算符,“!”高于算术运算符
(!a )||(a>b)可以写成!a || a > b.为了提高程序的可读性,明确表达式各个运算符元件的优先级关系,建议使用括号。
在进行关系运算符时,如果声明的关系是假的,则返回0,如果声明的关系是真的,则返回1,如果每个操作数的值不定,则关系是模糊的,返回值是不定值
所有的关系运算符有着相同的优先级别,关系运算符的优先级分别低于算术运算符的优先级别
eg:a<size - 1和a<(size - 1)有着相同的表达式
==和===的区别
if (A == 1'bx) $display("Aisx"); (当A等于x时,这个语句不执行)
if (A === 1'bx) $display("Aisx"); (当A等于x时,这个语句执行)

注意左移和右移位数的区别
4‘h1001 << 1 = 5'h10010; 4'b1001 << 2 = 6'b100100; 1 << 6 = 32'b1000000; 4'b1001 >>1 = 4'b0100; 4'b1001 >> 4 = 4'b0000
位拼接表达式中不允许存在没有指定位数的信号,这是因为在计算机拼接信号位宽的大小必须知道其中的每个信号的位宽

