verilog 移位运算符 说明_Verilog语法之四:运算符

本文介绍了Verilog HDL中的移位运算符,包括左移位`<<`和右移位`>>`,并举例说明了移位运算的规则和注意事项。同时还涵盖了其他运算符如算术、位、逻辑、关系运算符及其优先级。
摘要由CSDN通过智能技术生成

本文首发于微信公众号“花蚂蚁”,想要学习FPGA及Verilog的同学可以关注一下。

Verilog HDL语言的运算符范围很广,其运算符按其功能可分为以下几类:

1) 算术运算符(+,-,×,/,%)

2) 赋值运算符(=,<=)

3) 关系运算符(>,=,<=)

4) 逻辑运算符(&&,||,!)

5) 条件运算符(?:)

6) 位运算符(~,|,^,&,^~)

7) 移位运算符(<>)

8) 拼接运算符({ })

9) 其它

在Verilog HDL语言中运算符所带的操作数是不同的,按其所带操作数的个数运算符可分为三种:

1) 单目运算符(unary operator):可以带一个操作数,操作数放在运算符的右边。

2) 二目运算符(binary operator):可以带二个操作数,操作数放在运算符的两边。

3) 三目运算符(ternary operator):可以带三个操作,这三个操作数用三目运算符分隔开。

见下例:

clock = ~clock; // ~是一个单目取反运算符, clock是操作数。c = a | b; // 是一个二目按位或运算符, a 和 b是操作数。r = s ? t : u; // ?: 是一个三目条件运算符, s,t,u是操作数。

下面对常用的几种运算符进行介绍。

1.算术运算符

在Verilog HDL语言中,算术运算符又称为二进制运算符,共有下面几种:

1) + (加法运算符,或正值运算符,如 rega+regb,+3)

2) - (减法运算符,或负值运算符,如 rega-3,-3)

3) × (乘法运算符,如rega*3)

4) / (除法运算符,如5/3)

5) % (模运算符,或称为求余运算符,要求%两侧均为整型数据。如7%3的值为1)

在进行整数除法运算时,结果值要略去小数部分,只取整数部分。而进行取模运算时,结果值的符号位采用模运算式里第一个操作数的符号位。见下例。

模运算表达式 结果 说明

10%3 1 余数为1

11%3 2 余数为2

12%3 0 余数为0即无余数

-10%3 -1 结果取第一个操作数的符号位,所以余数为-

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值