新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 充分发挥FPGA浮点IP内核的优势

充分发挥FPGA浮点IP内核的优势

作者:时间:2009-12-07来源:网络收藏

最近出现的 设计工具和 IP有效减少了计算占用的资源,大大简化了数据通路的实现。而且,与数字信号处理器不同, 能够支持和定点混合工作的 DSP数据通路,实现的性能超过了 100 GFLOPS。在所有信号处理算法中,对于只需要动态范围算法的很多高性能 DSP应用,这是非常重要的优点。选择 并结合浮点工具和 IP,设计人员能够灵活的处理定点数据宽度、浮点数据精度和达到的性能等级,而这是处理器体系结构所无法实现的。

本文引用地址:http://www.eepw.com.cn/article/191867.htm

引言

对于通信、军事、医疗等应用中的很多复杂系统,首先要使用浮点数据处理算法,利用 C或者 MATLAB软件进行仿真和建模。而最终实现几乎都采用定点或者整数算法。算法被仔细映射到有限动态范围内,调整数据通路中的每一功能。这就需要很多取整和饱和步骤,如果处理的不合适,就会对算法性能有不利的影响。在集成过程中一般还需要进行大量的验证工作,以确保系统工作符合仿真结果。

以前,由于缺乏 FPGA工具包的支持, FPGA设计人员一般不选择浮点算法。使用很多浮点 FPGA运算符时,由于需要大量逻辑和布线资源,因此,它的另一个缺点是性能太差。 FPGA高效实现复数浮点函数的关键是使用基于乘法器的算法,利用大量集成在 FPGA器件中的硬件乘法器资源。用于实现这些非线性函数的乘法器必须有很高的精度,以保证乘法迭代过程中的精度要求。而且,高精度乘法器不需要在每一次乘法迭代中进行归一化和逆归一化处理,大大降低了对逻辑和布线的要求。

FPGA采用硬件数字信号处理 (DSP)模块,能够实现高效的 36位x36位乘法器,对于单精度浮点算法,提供足够的位数,满足一般的单精度 24位尾数要求。这些乘法器还能够用于构建更大的乘法器,实现高达 72位 x72位的双精度浮点算法。

由于浮点算法动态范围较大,相对于浮点仿真,大大简化了系统性能验证任务,因此,对于设计人员而言,这种算法通常能够提高性能。在某些应用中,定点算法是不可行的。动态范围要求使用浮点算法的一个常见的例子是矩阵求逆运算。

浮点
Altera现在提供业界最全面的单精度和双精度浮点 ,其性能非常高。目前提供的浮点 包括:


■加法 /减法
■乘法
■除法
■倒数
■指数
■对数
■平方根
■逆平方根
■矩阵乘法
■矩阵求逆
■快速傅立叶变换 (FFT)
■对比
■整数和分数转换
f本白皮书只提供单精度指标。对于双精度指标,请参考浮点宏功能用户指南。

WP-01116-1.0

2009年 10月, 1.0版


充分发挥 FPGA浮点 IP内核的优势 Altera公司

基本功能
图1详细列出了基本浮点功能及其性能。对比浮点除法与加减法所需要的资源及其性能,表明系统设计人
员不需要在算法中避开除法运算以简化硬件实现。

图1. 逻辑和寄存器使用对比(左侧),以及乘法器和 fMAX对比(右侧)

矩阵乘法
Altera在提供基于 FPGA的参数赋值浮点矩阵IP内核方面有其独到之处。这些运算符集成了数十甚至上百个
浮点运算符,保持了较高的性能。矩阵乘法内核还可以用于完成标准测试或者 GFLOP/S和 GFLOP/W。
SGEMM矩阵乘法内核的性能结果如表1所示,它实际是后编译时序逼近结果,与确定 GFLOP/S通常使用的 Altera公司充分发挥 FPGA浮点 IP内核的优势 纸笔浮点计算方法不同。任何其他 FPGA供应商都不支持这类基准测试,用户使用 Altera Quartus. II软件中提供的参数赋值矩阵乘法 IP内核,很容易自己进行测试。


上一页 1 2 下一页

关键词: FPGA 浮点 IP内核

评论


相关推荐

技术专区

关闭