文档章节

浅谈乘法器的用法

o
 osc_odyg6b92
发布于 2018/07/13 12:03
字数 608
阅读 12
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>


在做项目的过程中,经常遇到乘法计算,乘法器的设计就尤为重要。乘法器决定了最终电路功能能否实现,资源使用量多少以及时序性能优劣等。

乘法计算中,通常会使用 “*” 或者设计乘法器实现。

设计乘法器时,通常使用加法树乘法器,实现流程图如下:

如上图a[3:0]与b[3:0]乘法器设计,与分布式算法类似,a*b乘法计算设计如下:a*b[0]<<0 + a*b[1]<<1 + a*b[2]<<2 + a*b[3]<<3,通过移位和加法运算实现最终功能。结构框图如上。

设计中,上述逻辑存在大量组合逻辑,延时大,当时序要求不高的情况下,可以使用,当时序要求很高时,此电路会产生时序违规。要想提高电路时序性能,需要在x、y、z三处选一处、两处或者三处加入触发器流水逻辑,提高电路时序性能,但其结果会使输出延迟几个时钟周期,设计时应该考虑这一情况。

当使用 “*” 做乘法运算时,一般综合工具都会直接调用FPGA片上集成的硬核乘法器,而不再使用逻辑单元搭建乘法器。设计结构图如下:

上图为利用FPGA片上乘法器实现最终乘法。为了提高时序性能,可在w处加入寄存器流水线。

上述设计速度明显优于第一种设计,但会消耗大量的片上硬核乘法器。

上述两种设计各有其优势,在使用中请根据实际设计电路采用合理的方案。

在前述文章中,设计FFT和IFFT,乘法设计采用第二种方案,提高电路速度。如果采用第一种方案,将会增加流水线程度,增大FFT以及IFFT的计算周期。

而在简单和低速的乘法计算中使用第一种方案是一种比较良好的选择。


版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处

作者:杭州卿萃科技ALIFPGA

原文地址:杭州卿萃科技FPGA极客空间 微信公众号


扫描二维码关注杭州卿萃科技FPGA极客空间


 

o
粉丝 1
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

Vim清除最后一个搜索突出显示 - Vim clear last search highlighting

问题: Want to improve this post? 想要改善这篇文章吗? Provide detailed answers to this question, including citations and an explanation of why your answer is correct. 提供此问题......

技术盛宴
33分钟前
13
0
原子属性和非原子属性有什么区别? - What's the difference between the atomic and nonatomic attributes?

问题: What do atomic and nonatomic mean in property declarations? 属性声明中atomic和nonatomic是什么意思? @property(nonatomic, retain) UITextField *userName;@property(atomic, ......

fyin1314
今天
7
0
马化腾每天刷 Leetcode?代码你打算写到几岁?

本文作者:o****0 前几天,一张未证真伪的截图流传,图中显示马化腾几乎每天都会在 Leetcode 上提交代码。 截图还贴出一个 Leetcode 账户地址。该地址的头像已从马化腾的照片换成腾讯 logo,...

百度开发者中心
前天
13
0
滴滴 3000+ Kylin Cube 背后的实践经验揭秘

本次分享主要有三个部分:Kylin 在滴滴的整体应用、架构的实践经验、滴滴全局字典最新版本的实现以及 Kylin 最新实时 OLAP 探索经验分享。 Kylin 在滴滴的应用&架构 Kylin 在滴滴的三类应用场...

浪尖聊大数据
昨天
9
0
ssh“权限太开放”错误 - ssh “permissions are too open” error

问题: I had a problem with my mac where I couldn't save any kind of file on the disk anymore. 我的Mac出现问题,无法再在磁盘上保存任何类型的文件。 I had to reboot OSX lion and r......

javail
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部