vivado 同一个赋值语句中出现多个加法

iceloard 2019-08-06 05:46:45
当一个语句同时处理多个加法的时候,结果会出现误差,
比如“ ADC_out_Z <= L_15 + L_14 + L_13 + L_12 + L_11 + L_10 + L_9 + L_8 + L_7 + L_6;”
同时处理十个数据进行加法时会导致结果不正确,超过十个以上更是如此。这是什么原因呢?
...全文
308 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_42135383 2019-11-16
  • 打赏
  • 举报
回复
逻辑层级过多,时序不满足。
iceloard 2019-08-07
  • 打赏
  • 举报
回复
两两相加的话会对时序方面的要求更加复杂,今天我尝试了一下5个数据相加,分成多组,计算结果就正常了。是因为FPGA无法同时处理这种多个加法的赋值吗,就比如说是,对多个加法,需要用到的门电路过多,无法保证正确的结果?
梁传松 2019-08-07
  • 打赏
  • 举报
回复
你确定不是在测试吗? Verilog不是C语言,它是用来描述硬件电路的。 若有多个数相加,建议分成两两相加,中间可能需要插DFF,能提高电路工作频率。

2,425

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧