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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2697|回复: 4

[求助] signed与unsigned转换的问题

[复制链接]
发表于 2020-4-1 17:22:23 | 显示全部楼层 |阅读模式

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

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

x
我在dc elaborate的时候报一下warning:
Warning:  xxxx:1751: signed to unsigned part selection occurs. (VER-318)

代码大致如下:
test.v

module test {
...
input signed [WIDTH-1:0]  rx_i;

...

}

top.v

wire signed [WIDTH-1:0] rx_i;
test A  {
...
.rx_i (rx_i[WIDTH-1:0]),

...

}


如果实例化的时候改成.rx_i (rx_i),则不报该warning。

有没有大神能为我解释一下为啥会这样,这两种写法有没有什么区别,非常感谢!


发表于 2020-4-1 20:40:07 | 显示全部楼层
两者位宽一致还好,位宽不一致的时候由于存在有符号数符号位扩展的问题需要注意
 楼主| 发表于 2020-4-2 09:00:04 | 显示全部楼层


edacw 发表于 2020-4-1 20:40
两者位宽一致还好,位宽不一致的时候由于存在有符号数符号位扩展的问题需要注意 ...


就是说位宽一致时,signed和unsigned转换不会存在问题吗?

发表于 2020-4-2 11:30:24 | 显示全部楼层


goaheadxxt 发表于 2020-4-2 09:00
就是说位宽一致时,signed和unsigned转换不会存在问题吗?


我理解应该是这样,前提是位宽要一致。你可以仿真、综合后再仿真看看。我不明白你为何要这样做,出现负数的时候怎么处理呢?直接都是wire不就完事了
 楼主| 发表于 2020-4-2 15:57:57 | 显示全部楼层


edacw 发表于 2020-4-2 11:30
我理解应该是这样,前提是位宽要一致。你可以仿真、综合后再仿真看看。我不明白你为何要这样做,出现负数 ...


这个代码不是我写的,我是在综合的时候报了这个warning才看的。
我不清楚为啥.rx_i (rx_i[WIDTH-1:0])和.rx_i (rx_i)有signed和unsigned的区别。
我做了formality,改成.rx_i (rx_i)后综合的网表与.rx_i (rx_i[WIDTH-1:0])的rtl代码进行的formality,结果为pass,说明这个signed与unsigned的转换没有问题。

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

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-29 16:31 , Processed in 0.026313 second(s), 6 queries , Gzip On, Redis On.

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