基于fpga的数字信号处理方法简介

基于fpga的数字信号处理方法简介

ID:12176507

大小:1.08 MB

页数:18页

时间:2018-07-16

基于fpga的数字信号处理方法简介_第1页
基于fpga的数字信号处理方法简介_第2页
基于fpga的数字信号处理方法简介_第3页
基于fpga的数字信号处理方法简介_第4页
基于fpga的数字信号处理方法简介_第5页
资源描述:

《基于fpga的数字信号处理方法简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于FPGA的数字信号处理方法简介1引言数字信号处理就是用数值计算的方式对信号进行加工的理论和技术,主要研究有关数字滤波技术、离散变换快速算法以及谱分析方法。现场可编程门阵列(FieldProgrammableGateArrays,FPGA)以其丰富的逻辑资源和I/O引脚、低功耗、高可靠性以及可重构等特点,与通用DSP解决方案相比,FPGA器件在不牺牲灵活性的条件下,提供了更高的性能,逐步成为较为理想的实现平台。FPGA的设计描述通常分为四个抽象级,由低到高依次为:物理级、寄存器传输级(RegisterTransferLevel,RTL)、行为级和系统级。传统的FPGA设计基于自顶向下设

2、计方法采用硬件描述语言(HardwareDescriptionLanguage,HDL)与VerilogHDL进行。随着FPGA在性能和密度上的发展十分迅猛,传统开发方法出现不足,高层次综合(HighLevelSynthesis,HLS)应运而生最近几年其相关技术日趋成熟且被广泛使用。这种高层次综合可以使算法和软件工程师们在无需拥有HDL和硬件知识的基础上,使用FPGA进行算法验证、移植和计算加速。本文主要介绍基于FPGA的数字信号处理的传统设计方法、高层次综合设计VIVADOHLS、OpenCL、SystemGenerator、DSPBuilder以及NI专用LabVIEWFPGA的设

3、计工具。2高层次设计方法高层次综合的概念最早在20世纪70年代被提出,是在一定的约束下,将系统层和算法层转化成RTL级描述的方法和过程。系统层和算法层可以用相比于HDL更高级的编程语言,如Java、C、C++、Matlab等进行更加简洁、直观描述。为了便于设计者进行高层次、系统级的设计,所以需要将底层的综合过程交给开发工具进行。90年代中期的时候,Synopsys、Cadence和MentorGraphics等EDA公司推出了商业化的、基于HDL语言的HLS开发工具,但是不成熟技术导致了市场化的失败。近年来,基于高级编程语言的HLS开发工具在解决了前一代开发工具的不足的基础上,迅速发展,

4、已在FPGA设计的市场中占有了一席之地,基于高层次综合的FPGA设计也已经逐步进入市场化和商业化。2.1基于C/C++的工具简介XilinxVIVADOHLS编译器为我们提供了与面向标准处理器或专用处理器的应用开发的编译器相类似的集成编译支持环境,XilinxVIVADOHLS与其他各种处理器编译器在对C语言程序或C++语言程序的编译、分析和优化拥有相同的关键技术,而区别在于应用所面向的执行目标。通过把FPGA作为执行目标,XilinxVIVADOHLS使得软件开发工程师能够借助它来实现代码的优化,并且不受单一存储空间或者有限的开发资源这些开发瓶颈的限制,从而使得计算量密集型软件算法得以

5、被实际应用。XilinxVIVADOHLS所使用的应用代码同其他处理器编译器一样面向的范畴一样,通过操作语句、条件语句、循环语句、以及函数等4个范畴来分析程序。在HLS中,循环和函数之间的主要区别是相关的术语。系统的循环和函数并行执行。而循环中,因为在循环迭代和运算符间有一个清晰的结构差异,这种转换通常称为流水线。对函数而言,外循环和内循环相处于同一层次,这导致如果长期使用它可能会出现流水线混乱。在使用HLS时,我们可以避免这种混乱,因为函数调用执行的并行化可以使得数据流优化。数据流优化指令使得HLS在给定的程序层次结构中对所有的函数创建独立的硬件模块。这些独立的硬件模块可以并行执行并且

6、具有独立的同步数据传输过程。除了XilinxVivadoHLS外Altera公司针对自己的器件也有OpenCL工具进行对C等高级语言设计自动编译。2.2基于MATLAB的工具简介AlteraDSPBuilder将TheMathWorksMATLAB和Simulink系统级设计工具的算法开发、仿真和验证功能与VHDL综合、仿真和Altera开发工具整合在一起,实现了这些工具的集成。DSPBuilder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期。已有的MATLAB函数和Simulink模块可以和AlteraDSPBuilder模块以及Altera知识产

7、权(IP)MegaCore功能相结合,将系统级设计实现和DSP算法开发相链接。DSPBuilder支持系统、算法和硬件设计共享一个公共开发平台。设计人员可以使用DSPBuilder模块迅速生成Simulink系统建模硬件。DSPBuilder包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等基本操作。可以使用DSPBuilder模型中的MegaCore功能实现复杂功能的集成。DSPBuilder是一个系统级(或算法级)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。