1、 fpga浮点运算推陈出新
以往fpga在进行浮点运算时,为符合ieee 754标准,每次运算都需要去归一化和归一化步骤,导致了极大的性能瓶颈。因为这些归一化和去归一化步骤一般通过fpga中的大规模桶形移位寄存器实现,需要大量的逻辑和布线资源。通常一个单精度浮点加法器需要500个查找表(lut),单精度浮点要占用30%的lut,指数和自然对数等更复杂的数学函数需要大约1000个lut。因此随着dsp算法越来越复杂,fpga性能会明显劣化,对占用80%~90%逻辑资源的fpga会造成严重的布线拥塞,阻碍fpga的快速互联,最终会影响时序收敛。
为解决以上问题, 2010年altera在dsp builder高级模块库中引入了融合数据通路设计。它将基本算子组合在一个函数或者数据通路中,通过分析数据通路的位增长,选择最优归一化输入,为数据通路分配足够的精度,尽可能消除归一化和去归一化步骤。这一优化平台将定点dsp模块与可编程软核逻辑相结合,避免了大量使用这类桶形移位寄存器。与使用几种基本ieee 754算子构成的等价数据通路相比,减少了50%的逻辑,延时减小了50%。并且,这一方法总的数据精度一般高于使用基本ieee 754浮点算子库的方法。
在altera arria 10和stratix 10器件中的硬核浮点dsp模块开发出来之前,融合数据通路方法的浮点运算性能和效率是业界领先的。表1显示了cholesky求解器运行在stratix v版dsp开发套件上的结果,形式是ax = b,使用了dsp builder高级模块库中的融合数据通路设计流程。一般来说cholesky的输入矩阵函数规模大、延时长,因此很难在fpga硬件中实现,但具有融合数据通路的dsp builder模块库的浮点运算占用的逻辑只是基本浮点乘法器的3到4倍,并会在每一时钟周期产生一个结果,从而可实现相应规模的 cholesky求解。
随着altera dsp模块体系结构的进步和软件工具的不断优化,目前altera已可在fpga中实现高性能浮点运算,altera的arria 10和stratix 10器件中的硬核浮点dsp模块就是业界领先的浮点解决方案的代表。
2 、硬核浮点dsp提高设计效能,加快上市
在arria 10和stratix 10器件中的硬核浮点dsp模块不仅提高了运算性能,还可加快产品上市时间。在提高运算性能方面,主要体现在三个方面:
一是可节省逻辑资源的使用。采用arria 10和stratix 10器件中的硬核浮点dsp模块,fpga系统克服了前述提到的限制性能的挑战。在过去,需要使用定点乘法器和fpga逻辑来实现浮点运算功能,altera的硬核浮点dsp几乎不使用现有fpga浮点计算所需要的逻辑资源,并且,桶形移位寄存器可在硬核dsp模块中实现,就避免了使用宝贵的fpga资源运行归一化和归一化函数。采用硬核浮点dsp模块内置这一创新体系结构,不仅节省了很多的逻辑资源,时序收敛或者fmax要求也不再受限于次优布线,从而保证了使用80%至90%逻辑资源的fpga仍能保持较高的fmax性能。
二是提高了数字精度。硬核浮点dsp模块支持很多复数浮点运算,包括累乘法、加减法等,其浮点输出都符合ieee 754标准,从而保证了在具有高分辨率要求的应用中其数值的一致性。过去fpga实现浮点运算是在内部数据通路上使用二进制补码表示。在算法输入输出时,这一内部二进制补码表示与ieee 754格式相互转换。这在解决桶形移位寄存器占用资源方面至关重要,但实际输出值与matlab/simulink模型值相比会有所偏差。但是,在采用了arria 10和stratix 10器件中的硬核浮点模块后,实际输出值与simulink模型显示的高度一致。
三是提高了能效。arria 10和stratix 10器件还在fpga业界实现了能效最高的浮点,每瓦分别是50 gflop和100 gflops,极大地减少了以前进行浮点运算时所需要的逻辑和布线资源,从而大幅度降低了内核动态功耗。
而在加快产品上市方面,fpga中集成的硬核浮点dsp支持很多常见的dsp模型和仿真环境,可无缝实现优化浮点运算。在从军事领域的雷达到通信系统等各种应用中,arria 10和stratix 10器件为设计人员提供了更高效的设计,平均可将设计时间缩短6-12个月。一方面是因为不需要额外的转换过程。在前几代fpga中要实现高性能浮点运算,需要进行转换,将浮点转换为定点,在fpga中实现,在定点实现中分析、转换并验证浮点算法。这种转换过程一般步骤繁琐。此外,这一过程完成后,还需验证转换过程当中的准确率。如果设计方面有任何的修改或变化,都需要重新把这些流程再进行一遍,持续进行转换。另一方面是因为altera提供了易用的设计工具。altera优异的dsp设计工具包括为硬件设计人员、基于模型的设计人员提供的dsp builder,以及为软件编程人员提供的面向opencl的软件开发套件(sdk)。利用这些工具,设计人员完全不需要浮点到定点的转换过程,相应地在实现过程中也不需要调试,在几分钟内就可以完成系统定义和仿真,直至系统实现。当使用dsp builder或者面向opencl的sdk设计算法,设计人员能够将开发精力集中在算法定义和迭代上,而不是设计硬件,帮助他们缩短了开发和验证时间。
全球半导体设备制造市场规模发展情况
PCB生产节能哪家强?海尔中央空调为工业绿色生产加分!
由iPhoneX Face ID引领的人脸识别效应
在Windows系统上稳定实现EtherCAT主站的两种思路
Tesla大动作挑战能源产业 四大策略环环相扣
Altera FPGA硬核浮点DSP模块解决方案提高运算性能
Maxim发布新一代多协议收发器芯片组
东风公司L4级5G自动驾驶汽车量产下线
智能镜子显示屏它将成为开启黑科技生活的第一步
陷入风波的先进工艺
TOF近距离测距解决方案
大众计划将于2020年夏季开始将3万辆ID.3汽车交付于欧洲客户
额定电流计算公式
笔记本配件
iphone8什么时候上市?最新消息:iphone 8如期发布,外观模具曝光,黑科技到底什么时候来?
纽约大学与 NVIDIA 携手开发能够预测患者再入院概率的大型语言模型
电压变化与晶振性能有何关系
贾跃亭宣布FF将推行“合伙人制度”,将拿出个人股权的64%用于员工激励
PYNQ案例(二):ZYNQ与PYNQ的区别与联系
禾赛打造梦想教室助力偏远乡村教育事业的发展