论文部分内容阅读
现场可编程门阵列(FPGA)采用原理图或硬件描述语言(HDL)进行设计输入,虽然FPGA能实现并行化流水线运算,但是在开发时需要高级的硬件设计技能,具有周期长、难度大、效率低等不足。高级综合(HLS)的最新发展提供了完全用“C”代码创建FPGA计算加速器的能力,通过编译器直接将C/C++描述的功能综合成寄存器传输级(RTL)代码,这极大简化了设计和调试的过程,降低了开发的难度,实现了软件到硬件的自动综合。采用软件设计规范,可以减少硬件设计的周期,提高性能并且可以扩大获得硬件能效优势的使用范围。本文对HLS的发展历史和国内外发展现状进行综合阐述,介绍高级综合的发展现状以及相关HLS工具。高级综合在实现设计时有其通用的合成规范,随后,应用一个简单的程序段实例进行综合来阐述其贯通的综合原理流程。在数字信号处理领域,FPGA以其优异的性能成为有限脉冲响应(FIR)滤波器设计的理想平台。然而,传统的开发方法难度大,需要耗费大量的人力和时间。高级综合模糊了软件到硬件的设计,因此,本论文提出基于HLS设计实现FIR滤波器的思想,利用设计实例来阐述基于HLS设计的优势。基于高级合成的思想,本论文主要研究了Intel公司最新开发的Intel HLS编译器,通过设计实现一个FIR滤波器详细介绍了其环境配置、运行编译等方法,展示了Intel HLS编译器的强大功能。再通过DSP和FPGA这两种方法实现滤波器,与高级综合设计进行对比分析,结果显示,基于HLS设计的FIR滤波器从数字系统抽象行为规范开始,寻找实现给定行为的寄存器传输层,快速实现功能模块的架构,加快验证速度,弥补硬件设计的不足。通过设计滤波器来说明,高级综合解决了软件通往硬件道路上最棘手的问题,然而,高级综合的魅力远不止这些,Intel HLS开发工具配置的各种优化选项更容易提高设计质量,由于滤波器趋向于具有“可探索的”内存架构,其中循环展开和管道使用就使得其可以基于HLS进行优化。进而,本文根据滤波器的这种内存架构特点基于Intel HLS编译器的优化策略做进一步的优化,运用了循环优化、精度优化等五种优化方法,将获得的优化结果进行对比分析。总结得出,在具体的场合,能对各种优化方式的混合进行合理且灵活地使用,尽可能除去代码冗余部分,设计合理的数据传输策略,并且充分优化访问存储,尽可能多的利用资源,才能最终达到基于HLS设计算法的相对最优实现。