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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 4311|回复: 10

[原创] FPGA做加减运算是否需要先算出补码?

[复制链接]
发表于 2020-4-9 05:48:55 | 显示全部楼层 |阅读模式

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

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

×
FPGA的数据做减法是不是不需要先算出补码啊 ?  数据a < b, 然后a - b得到的结果默认就是一个补码吧 ?而不需要先算出b的补码,然后再做a + b(补码)吧?

发表于 2020-4-9 09:29:29 | 显示全部楼层
应该不用吧,编译器自己综合成减法电路吧
回复 支持 反对

使用道具 举报

发表于 2020-4-9 11:15:24 | 显示全部楼层
systemverilog 和新版 verilog 有 signed 类型, 用这个就不用手工转补码了。 verilog-2001之前的需要转
回复 支持 反对

使用道具 举报

发表于 2020-4-9 18:26:38 | 显示全部楼层
最好-b先转码,然后在调用DSP做加法器(a+(-b转码后的)),这样可以节约大量的资源,并且时序稳定
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-14 04:28:10 | 显示全部楼层


   
440实验室 发表于 2020-4-9 09:29
应该不用吧,编译器自己综合成减法电路吧


如果 自动综合成了减法电路,一个小数被一个大数  减,会是一个负数,此时,fpga内部的 减法结果是这个负数的补码吗?

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-14 04:32:59 | 显示全部楼层


   
tinytera 发表于 2020-4-9 11:15
systemverilog 和新版 verilog 有 signed 类型, 用这个就不用手工转补码了。 verilog-2001之前的需要转
...


signed 类型 是 可综合的 语句,还是 只用于仿真的语句 ?

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-14 04:41:18 | 显示全部楼层


   
tian10 发表于 2020-4-9 18:26
最好-b先转码,然后在调用DSP做加法器(a+(-b转码后的)),这样可以节约大量的资源,并且时序稳定 ...


用的max10,最简单fpga ,没有dsp
回复 支持 反对

使用道具 举报

发表于 2020-4-14 10:45:31 | 显示全部楼层


   
american007 发表于 2020-4-14 04:32
signed 类型 是 可综合的 语句,还是 只用于仿真的语句 ?


可综合
回复 支持 反对

使用道具 举报

发表于 2020-4-14 22:06:11 | 显示全部楼层


   
american007 发表于 2020-4-14 04:28
如果 自动综合成了减法电路,一个小数被一个大数  减,会是一个负数,此时,fpga内部的 减法结果是这个负 ...


这个用编译软件直接写两句代码验证一下也不费事,不过为什么不直接用有符号数计算呢?signed(x)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 06:51:45 | 显示全部楼层
verilog和C语言的关键不同,是verilog 最终综合后都会映射为一个电路,那么signed综合后对应一个什么样的电路 ?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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


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

GMT+8, 2025-8-24 05:31 , Processed in 0.016852 second(s), 3 queries , Gzip On, Redis On.

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