Verilog学习笔记 您所在的位置:网站首页 verilog与非运算符 Verilog学习笔记

Verilog学习笔记

2023-11-25 19:41| 来源: 网络整理| 查看: 265

Verilog学习笔记-——运算符

按功能分包括:算数运算符、逻辑运算符、关系运算符、等式运算符、缩减运算符、条件运算符、位运算符、移位运算符和位拼接运算符。 按运算符所带操作数的个数来区分,可分为三类: 单目运算符:运算符只带一个操作数。 双目运算符:运算符可带两个操作数。 三目运算符:运算符可带三个操作数。

算数运算符(Arithmetic operators)—双目运算符

常用算术运算符包扩: +(加)、-(减)、*(乘)、/(除)、%(求模)

逻辑运算符(Logical operators)

&&(逻辑与)、||(逻辑或)、!(逻辑非) 其中 “&&、||”为双目运算符,“!”为单目运算符

位运算符(Bitwise operators)—双目运算符

~(按位取反)、&(按位与)、|(按位或)、^(按位异或)、 ^ ~ 或 ~ ^(按位同或) 当两个不同长度的数据进行位运算时,会自动将两个操作数按右端对齐,位数少的操作数会在高位用0补齐。

关系运算符(Relational operators)—双目运算符

=(大于或等于)

等式运算符(Equality Operators)—双目运算符

= = == ==(等于)、!=(不等于)、 = = = === ===(全等)、!==(不全等)

相等运算符(==)和全等运算符( = = = === ===)的区别是:参与比较的两个操作数必须逐位相等,其相等比较结果才为1,如果某些位是不定态或高阻值,其相等比较得到的结果是不定值;而全等比较( = = = === ===)则是对这些不定态或高阻态的位也进行比较,两个操作数必须完全一致,其结果才是1,否则结果是0。 例a = 5'b11x01,b=5'b11x01 则a==b的结果为不定值"x",a===b的结果为"1".

缩减运算符(Reduction operators)—单目运算符

&(与)、~&(与非)、|(或)、 ~|(或非)、^(异或)、 ^ ~或 ~ ^ (同或) 缩减运算符将一个矢量缩减为一个标量。

移位运算符(Shift operators)

> > >> >>(右移)、 < < >>> >>>(算数右移)、 < < < >>3; //算术右移后其值为8'b11110100 指数运算符(Power operator)—双目运算符

Verilog-2001标准中增加了指数运算符" ** ",例如 2 8 2^8 28表示为2**8

条件运算符(Conditional operator)—三目运算符

格式:信号=条件?表达式1:表达式2; 例如:

out = sel ? in1 :in0; //sel=1时 out=in1;sel=0时 out=in0; 位拼接运算符(Concatenation operators)—双目运算符

格式:{信号1的某几位,信号2的某几位,... ... ,信号n的某几位} 位拼接可以嵌套使用 例如:

{{2{a,b}},{3{c,d}}} //等价于{a,b,a,b,c,d,c,d,c,d} 运算符优先级

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有