在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 3661|回复: 7

[求助] verilog中reg变量在理解的时候是按照补码的方式理解的吗?

[复制链接]
发表于 2014-4-6 21:14:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
是不是verilog按照补码的意义解释reg的值?比如说把10000000理解为-128?(假设定义的变量是8位的,reg中各位值为10000000,下面类似)                                                                把10011001理解为-103?
但是书上有这么一句话“当一个reg型数据是一个是一个表达式中的操作数时,它的值被当做是无符号数”
发表于 2014-4-7 19:10:37 | 显示全部楼层
可以这么和你说吧。reg[3:0] data;
data取值是0:15,所以书上说的是对的,自己多验证,或者看别人代码,不要胡思乱想。
回复 支持 反对

使用道具 举报

发表于 2014-4-8 14:10:45 | 显示全部楼层
回复 1# zhuyuefeng2009


不管如何理解,都不会影响这个reg变量存放的二进制值。是否理解为补码只在算术运算时才有意义,应该根据实际设计来判断。举个例子:

   

        

                
  1. reg [7:0] a;
  2. reg [7:0] b;
  3. reg [7:0] c;
  4. ...
  5. always @(a or b) begin
  6.   c = a - b;
  7. end...
            

   

    复制代码
假设a='b0000_0000, b='b0000_0001,c的值一定是'bffff_ffff。
如果设计的是有符号数算术运算,那么c的值按照补码理解就是-1;
但是如果设计的是一套无符号数运算,那么此时结果发生了溢出,c的值没有意义。
回复 支持 反对

使用道具 举报

发表于 2014-4-9 13:11:57 | 显示全部楼层
rvnistelrooy说的很好,赞同
reg里的值是多少,完全取决于你怎么看他
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-9 15:39:03 | 显示全部楼层
回复 3# rvnistelrooy


   两个补码是不是也可以机械的直接相减?
回复 支持 反对

使用道具 举报

发表于 2014-4-9 15:41:22 | 显示全部楼层
机器不懂什么是补码,只懂得二进制,,这些都是在操作时为了运算有符号数,人为理解的
回复 支持 反对

使用道具 举报

发表于 2014-4-10 07:24:12 | 显示全部楼层
要视使用环境来理解reg的值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-10 09:32:35 | 显示全部楼层
回复 6# gerry1812

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-14 02:13 , Processed in 0.017502 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表