快捷搜索:

Altera FPGA硬核浮点DSP模块解决方案提高运算性能

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设谋略法,设计职员能够将开拓精力集中在算法定义和迭代上,而不是设计硬件,赞助他们缩短了开拓和验证光阴。

责任编辑:gt

您可能还会对下面的文章感兴趣: