• 官方微信

    CA800二维码微平台 大视野

  • 工控头条

    CA800二维码工控头条App

当前位置:自动化网>自动化文库>技术指导>基于FPGA的高性能图像处理硬件实现须知(六)

基于FPGA的高性能图像处理硬件实现须知(六)

发布时间:2009-12-31 来源:中国自动化网 类型:技术指导 人浏览
分享到:
关键字:

FPGA 图像处理 DSP信号处理

导读:

尽管当今的高性能FPGA具有专用硬件来实现乘累加(MAC)等数字信号处理(DSP)算法基本构建模块,但设计人员还需要在寄存器传送级(RTL)上加速算法的实现。那么,如何才能从ANSI C++建模算法迅速转换到运行在FPGA硬件中的...

    尽管当今的高性能FPGA具有专用硬件来实现乘累加(MAC)等数字信号处理(DSP)算法基本构建模块,但设计人员还需要在寄存器传送级(RTL)上加速算法的实现。那么,如何才能从ANSI C++建模算法迅速转换到运行在FPGA硬件中的RTL呢?本文告诉你。

 图5:Stratix III高级体系结构。
图5:Stratix III高级体系结构。

    在本文第五部分的讨论中,我们介绍了Altera加速库函数以及如何使用这些加速库函数重新编写FIR源代码。在接下来的第六部分讨论中,我们将讨论固定走线延时时序问题以及加速库的按键式验证。

    除了直接映射至Altera DSP模块以及其他的硬件特性之外,用户还可以利用加速库来解决比较难处理的后端时序问题,这些问题是由走线延时和拥塞造成的。如图5所示,时序失效的可能原因是DSP模块的进出走线。即使DSP模块输入和输出寄存器全部采用了流水线,也会发生这种情况。

Stratix III FPGA芯片图。
Stratix III FPGA芯片图。

StratixIV FPGA芯片图。
StratixIV FPGA芯片图。

    加速库函数使用模板参数,为硬件映射运算输入输出增加其他的寄存器。这些额外的寄存器提供平衡走线延时的布局布线功能,从而解决了走线延时问题(图6)。这种方法相对于手动RTL编码的好处是它不需要重新进行设计。在RTL中实现这一功能可能需要对数据通路有限状态机(FSM)进行较大的改动。

 图6: 使用增加的输入和输出寄存器来减小走线延时。
图6: 使用增加的输入和输出寄存器来减小走线延时。

加速库的按键式验证

    高级综合设计流程的一个关键要求是能够自动验证从非定时C++代码以及后RTL综合网表中生成的RTL。Catapult C自动验证流程不但对C++和RTL进行自动验证,而且还自动验证加速库C++模板函数和例化DSP宏的RTL。

    从非定时纯C++开始,结合一组接口综合约束,可以自动建立SystemC验证结构,使C++源设计和测试台能够测试RTL和后RTL综合网表。这一自动生成的测试环境不但能够直接从C++测试台中采集输入激励和设计输出,而且生成了SystemC处理程序,在仿真平台上协同仿真RTL和C++。还对RTL仿真输出进行采集,自动对比C++源设计,以验证功能。

结论

    具有专用DSP模块的高性能FPGA为实现大计算量的复杂算法提供了硬件平台,但是,设计人员仍然面临算法在硬件RTL上运行的挑战。Catapult C和Altera加速库相结合后,设计人员不但能够迅速实施算法,而且还可以直接访问Altera DSP模块,调整性能和时序,最终结果要优于其他C/C++综合技术。





本文地址:本文地址: http://www.ca800.com/apply/d_1nrutga2l1e53_1.html

拷贝地址

上一篇:解决工业马达软启、晃电、断电及无扰流切换问题

下一篇:风电技术之3种方法结合为风电场选址

免责声明:本文仅代表作者个人观点,与中国自动化网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!