Verilog移位运算符

36 篇文章 14 订阅

在Verilog HDL中,有两种运算符,分别是左移运算符和右移运算符。

使用方法为:a>>n,a<<n

a代表要进行移位的操作数,n代表要移几位。

如:

4'h1001<<1 = 5'h10010;

4'b1001<<2 = 6'b100100;

1<<6 = 32'b1000000;

4'b1001>>1 = 4'b0100;

4'b1001>>4 = 4'b0000;

换一种说法。

移位操作符包括左移(<<),右移(>>),算术左移(<<<),算术右移(>>>)。移位操作符是双目操作符,两个操作数分别表示要进行移位的向量信号(操作符左侧)与移动的位数(操作符右侧)。算术左移和逻辑左移时,右边低位会补 0。逻辑右移时,左边高位会补 0;而算术右移时,左边高位会补充符号位,以保证数据缩小后值的正确性。

A = 4'b1100 ;

B = 4'b0010 ;

A = A >> 2 ;        //结果为 4'b0011

A = A << 1;         //结果为 4'b1000

A = A <<< 1 ;       //结果为 4'b1000

C = B + (A>>>2);    //结果为 2 + (-4/4) = 1, 5'b00001

// C = 5'b00010 + 5'b11111 = 6'b100001, 取五位有效数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shining0596

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值