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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: lyz5432

[求助] verilog 笔试题 求助

[复制链接]
发表于 2012-8-27 15:44:51 | 显示全部楼层
楼上貌似正解
发表于 2012-8-27 15:57:13 | 显示全部楼层
if(B[7])  //negative
      sum = {2'b00, A} + {2'b11, B}
B要取补码吧。。。
发表于 2012-8-27 22:08:22 | 显示全部楼层
回复 22# windflood


     无符号数的补码是它本身
发表于 2012-8-28 00:26:25 | 显示全部楼层
本帖最后由 night_cool 于 2012-8-28 00:31 编辑



1. 有符号数和无符号数相加,结果为什么肯定是有符号数?请问您是怎么确定的呢?
2. “有符号数不包括符号位”?那还叫有符号数?8位的有符号数代表的范围为-128~+127。8位的无符号数代表的范围是0~+255,都是代表256个数,为什么有符号数就不包括符号位呢?那么有符号数和它的符号位一起我们应该如何称呼?-----------------------
always @(*)
   if(B[7])  //negative
      sum = {2'b00, A} + {2'b11, B}
   else  //positive
      sum = {2'b00, A} + {2'b00, B}


既然8位有符号数不包括符号位,那么为什么要用B[7]位来判断B是否为负数呢?如果B[7]是符号位,那么结果只用9位就可以了,不用10位,因为9位已经可以表示-128~+382了。


如有异议,欢迎讨论。
发表于 2012-8-28 08:13:02 | 显示全部楼层
我觉得是这样的,用9位的话,你得自己判断最高位是不是符号位,但是用10位的话则不需要这个步骤。
发表于 2012-8-28 08:41:53 | 显示全部楼层
wire signed [9:0] = $signed(a) + b;
发表于 2012-8-28 08:49:04 | 显示全部楼层
本帖最后由 down_load 于 2012-8-28 09:16 编辑

这么简单的问题
无符号数要扩展符号位到有符号数 所以 wire [8:0] signed_a={1'b0,a};
有符号数要本身最高位即是符号位 但是两数相加 所以 wire [8:0] expand_b = {b[7], b};
wire [9:0] c_tmp = {signed_a[8],signed_a} + {expand_b[8],expand_b};
发表于 2012-8-28 09:07:40 | 显示全部楼层
本帖最后由 down_load 于 2012-8-28 09:16 编辑


这么简单的问题
无符号数要扩展符号位到有符号数 所以 wire [8:0] signed_a={1'b0,a};
有符号数要本身最高 ...
down_load 发表于 2012-8-28 08:49




    最后输出为10bit有符号数 这就是结论
发表于 2012-8-28 09:38:05 | 显示全部楼层


这么简单的问题
无符号数要扩展符号位到有符号数 所以 wire [8:0] signed_a={1'b0,a};
有符号数要本身最高 ...
down_load 发表于 2012-8-28 08:49




对的。主要原因是要给无符号数一个符号位,所以需要多一位。
但是题目本身是有问题的,因为如果使用verilog语句S=A+B的话,A为无符号,B为有符号,B会被转成无符号,无论S是否为有符号数!!!这个可以查看verilog - 2001的文档,vcs文档和design compiler文档,也可以自己做一下实验。
所以如果大家的讨论要成立,则题目应该为“如何设计一个有符号数加法器,输入一个为有符号数,一个为无符号数,结果为有符号数”。
如果只是说“设计一个加法器,实现有符号数和无符号数相加”那么当成无符号数处理才是符合事实的。虽然我觉得考官会觉得有符号数加法器才是对的。。。哎~现在的人出题一点都不严谨。
发表于 2012-8-29 12:28:22 | 显示全部楼层
嗯嗯,应该加一位做符号位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-10 15:57 , Processed in 0.024833 second(s), 7 queries , Gzip On, MemCached On.

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