Verilog-移位操作(算术右移与逻辑右移)

写在前面

计算机组成原理课程设计-VerilogHDL流水线处理器开发中涉及到了如下两条指令:SRAV与SRLV,分别是向量算术右移(Shift Word Right Arithmetic Variable)与向量逻辑右移(Shift Word Right Logical Variable),这里做一些简单说明。

MIPS文档中的指令介绍

SRAV(Shift Word Right Arithmetic Variable)
SRAV
SRLV(Shift Word Right Logical Variable)
SRLV

算术右移与逻辑右移及其Verilog语言区别

算术右移将操作数右移s位,并且在左边空出来的位置补s位操作数的符号,对于算术右移操作来说,将二进制的数值左移n位等同于将原来的数值除 2 n 2^n 2n
逻辑右移将操作数右移s位,并且在左边空出来的位置补s位0,忽略操作数的符号。

例如,要对4位二进制数1100( 4 ′ b 1100 4'b1100 4b1100)执行右移一位的操作。执行逻辑右移运算得到的结果为0110,而执行算术右移就是运算得到的结果为1110。

在Verilog语言中,操作符>>>执行算术右移操作,而操作符>>执行逻辑右移操作。

算术左移与逻辑左移

算​术左移和逻辑左移相同,都是在以为后右边空出的位置补0,忽略操作数的符号。将二进制的数值左移n位等同于将原来的数值乘以 2 n 2^n 2n

例如,要对4位二进制数1100( 4 ′ b 1100 4' b1100 4b1100)执行左移一位的操作。执行逻辑左移运算以及算术左移运算得到的结果均为1000

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值