• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

verilog中右移符号>>>和>>的区别

下面首先定义输入输出:a和b都是有符号位的5bit端口,c和d是无符号位的5bit端口。

input signed [4:0] a;
input signed [4:0] b;
output [4:0] c;
output [4:0] d;

//右移一位
assign b = a >>> 1;
assign d = c >>> 1;
//右移二位
assign b = a >>> 2;
assign d = c >>> 2;

仿真结果
向右移1位的运算结果

向右移2位的运算结果

结论
1、有符号数,符号位为1,使用>>>,高位补1;
2、有符号数,符号位为0,使用>>>,高位补0(和>>相同);
3、无符号数,无论最高位是什么,使用>>>,高位补0;

posted on 2022-08-07 21:25  SOC验证工程师  阅读(805)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3