基于FPGA的内积算法优化_第1页
基于FPGA的内积算法优化_第2页
基于FPGA的内积算法优化_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    基于FPGA的内积算法优化        肖顺文,陈亚军 时间:2008年03月31日     字 体: 大 中 小        关键词:        摘要:关键词: FPGA 内积算法 优化其中:Am为固定系数,Xm为输入数据(Xm<1)。利用分布式算法将内积

2、运算转化为移位求和实现,用二进制补码表示,将Xm表示成如式(2)形式:式(3)中,由于Xmn的取值为0或1,所以存在2M 种不同的结果。如果事先构造一个查找表,该表存储了所有可能的组合值,即可以预先计算这2M个值,并存入查找表(LUT)中,用Xmn作为查找表的地址信号,将查找表的输出结果移位(2-1运算)和相加,经过N-1个周期即可直接获得乘法累加的结果。这样就将复杂的乘法累加运算转化为移位相加运算。为提高运算速度,采用并行运算。其硬件电路简化结构如图1所示。 直接运用分布式算法实现内积运算,虽然实现了把复杂的内积运算转化为移位相加运算,但其查找表的规模随着系数呈指数增加。如果系数小,则可以方

3、便地通过FPGA丰富的查找表结构实现;如果系数大,则将占用FPGA大量的存储资源,使运算速度降低。同时N-1个周期也使查表时间过长,运算速度降低。本文针对系数大小、存储资源、运算速度的配置问题,对算法进一步改进、优化,使算法达到存储规模小、运算速度快,进一步提高运算的性能。1 算法的优化将Xm用下式表示:根据二进制补码的运算,-Xm可表示为:存在2M种不同的结果,但其中mn的取值为±1,结果呈现出正负对称性。如果不考虑正负号,则只有2M-1种不同结果。存储规模减少了一半。用mn作为LUT的地址信号,查找表存储器上一半地址对应的预存值将会是下一半的取负。其硬件电路简化结构如图2所示。其

4、中括号内的地址为X的下一半地址。该地址查找上一半地址对应的预存值,同时作为Ctrl控制加/减器,完成下一半地址和上一半地址对应的预存值的正负转换,送到累加器,经过N-1个周期即可获得乘法累加的结果。2 存储规模的优化由图2可知,算法优化后式(8)可以简化为:虽然经过算法优化后存储规模减少了一半,但查找表的规模随着m呈指数增加。为了进一步减少所用查找表的规模,可采用减小m的方法来实现。式(9)中可以定义为:3 查表速度优化为便于并行处理,可将图3中的查找表设计为相同深度,则每一个输人数据Xm(N-1),分为C(为了与FPGA的4输入LUT相关,令C为4的倍数)段,则xmn可以表示为:从式(12)并结合图4可以看出,查找表只需N/c-1个周期就可以得到内积的结果。与前面需N-1个周期相比较,速度提高了近c倍,实现了高速、高效运算处理。其硬件电路简化结构如图4所示。用分布式算法将复杂的内积运算转化为移位相加运算,可清晰地表示内积结果。针对实现过程中系数大小、存储资源、运算速度的最佳配置问题,从存储规模、算法、查表速度三个方面对算法进行进一步改进和优化。算式推导过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论