verilog运算符

您所在的位置:网站首页 verilog运算符优先级口诀 verilog运算符

verilog运算符

#verilog运算符| 来源: 网络整理| 查看: 265

运算符和表达式 算数运算符

算数运算符

说明

+

-

*

/

%

求模

进行整数除法运算时,结果值略去小数部分,只取整数部分;

%称为求模(或求余)运算符,要求%两侧均为整型数据;

求模运算结果值得符号位取第一个操作数的符号位;

进行算数运算时,若操作数位不定值X,则整个结果也为x

eg:x + a = x;

定义一个a,b都是[1:0]两位的,b是1,c是6

a=b+c a=7但是换算成二进制111 但是a是两位的二进制,故a为11舍弃了最高位的1

关系运算符

关系运算符

说明

=

大于或等于

运算结果值为1位的逻辑值1或0或x

关系运算时,若关系为真,则返回值为1

若声明的关系为假,则返回值为0

若操作数为不定值x,则返回值为x

所有关系运算符优先级别相同

关系运算符的优先级低于算数运算符

逻辑运算符(其结果只有一个)

PS:进行逻辑运算后的结果为1或0或x 大于1也是真

非零的操作数被认为是真(1'b1)

零被认为是假(1'b0)1'在其中的含义为一位的位宽

不确定的操作数如4'bxx00,被认为是不确定的(可能为0,也可能为非0)(记为1'bx),但4'bxx11被认为是真(记为1'b1,因为它肯定是非零的)

逻辑运算符

使用方法

说明

!a

a的非,若a为0,那么a的非是1

&&

a&&b

a与上b,如果a和b的值都为1,a&&b的结果才为1,表示为真

||

a||b

a或上b,如果a或者b有一个为1,a||b的结果才为1,表示为真

&&和||的优先级高于条件运算符外,低于关系运算符、等式运算符等几乎所有运算符

逻辑!的优先级最高

eg:(a>b)&&(b>C)可简写为a>b && b>c

(a==b)||(x==y)可简写成 a==b||x == y

(!a)||(a>b)可简写成 !a||a>b

为了提高程序的可读性,明确表达各运算符之间的优先关系,建议使用括号

位运算符(前面操作数有几位,则输出就为几位)

位运算符

说明

~

按位取反

单目运算符

&

按位与

双目运算符

|

按位或

^~、~^

按位同或

比如a为11 b为00 a的第一个1和b的第一个0按位与 如此类推

缩减运算符(与位运算符不同)

缩减运算与位运算类似,但运算过程不同

对单个操作数进行递推运算,即先将操作数的最低位与第二位进行与、或、非运算,再将运算结果与第三位进行相同的运算,依次类推至最高位

运算结果缩减为1位二级制数

移位操作符

用法:A>>n 或



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3