- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的数字信号处理方法2难点
基于FPGA的数字信号处理方法简介姬耀1 引言数字信号处理就是用数值计算的方式对信号进行加工的理论和技术,主要研究有关数字滤波技术、离散变换快速算法以及谱分析方法。现场可编程门阵列(Field Programmable Gate Arrays, FPGA)以其丰富的逻辑资源和I/O引脚、低功耗、高可靠性以及可重构等特点,与通用DSP解决方案相比,FPGA器件在不牺牲灵活性的条件下,提供了更高的性能,逐步成为较为理想的实现平台。FPGA的设计描述通常分为四个抽象级,由低到高依次为:物理级、寄存器传输级(Register TransferLevel, RTL)、行为级和系统级。传统的FPGA设计基于自顶向下设计方法采用硬件描述语言(Hardware Description Language, HDL)与Verilog HDL进行。随着FPGA在性能和密度上的发展十分迅猛,传统开发方法出现不足,高层次综合(High Level Synthesis, HLS)应运而生最近几年其相关技术日趋成熟且被广泛使用。这种高层次综合可以使算法和软件工程师们在无需拥有HDL和硬件知识的基础上,使用FPGA进行算法验证、移植和计算加速。本文主要介绍基于FPGA的数字信号处理的传统设计方法、高层次综合设计VIVADO HLS、OpenCL、System Generator、DSP Builder以及NI专用LabVIEW FPGA的设计工具。2高层次设计方法高层次综合的概念最早在20世纪70年代被提出,是在一定的约束下,将系统层和算法层转化成RTL级描述的方法和过程。系统层和算法层可以用相比于HDL更高级的编程语言,如Java、C、C++、Matlab等进行更加简洁、直观描述。为了便于设计者进行高层次、系统级的设计,所以需要将底层的综合过程交给开发工具进行。90年代中期的时候,Synopsys、Cadence和Mentor Graphics等EDA公司推出了商业化的、基于HDL语言的HLS开发工具,但是不成熟技术导致了市场化的失败。近年来,基于高级编程语言的HLS开发工具在解决了前一代开发工具的不足的基础上,迅速发展,已在FPGA设计的市场中占有了一席之地,基于高层次综合的FPGA设计也已经逐步进入市场化和商业化。2.1基于C/C++的工具简介Xilinx VIVADO HLS 编译器为我们提供了与面向标准处理器或专用处理器的应用开发的编译器相类似的集成编译支持环境,Xilinx VIVADO HLS与其他各种处理器编译器在对C语言程序或C++语言程序的编译、分析和优化拥有相同的关键技术,而区别在于应用所面向的执行目标。通过把FPGA作为执行目标,Xilinx VIVADO HLS使得软件开发工程师能够借助它来实现代码的优化,并且不受单一存储空间或者有限的开发资源这些开发瓶颈的限制,从而使得计算量密集型软件算法得以被实际应用。Xilinx VIVADO HLS所使用的应用代码同其他处理器编译器一样面向的范畴一样,通过操作语句、条件语句、循环语句、以及函数等4个范畴来分析程序。在HLS中,循环和函数之间的主要区别是相关的术语。系统的循环和函数并行执行。而循环中,因为在循环迭代和运算符间有一个清晰的结构差异,这种转换通常称为流水线。对函数而言,外循环和内循环相处于同一层次,这导致如果长期使用它可能会出现流水线混乱。在使用HLS时,我们可以避免这种混乱,因为函数调用执行的并行化可以使得数据流优化。数据流优化指令使得HLS在给定的程序层次结构中对所有的函数创建独立的硬件模块。这些独立的硬件模块可以并行执行并且具有独立的同步数据传输过程。除了Xilinx Vivado HLS外Altera公司针对自己的器件也有OpenCL工具进行对C等高级语言设计自动编译。2.2 基于MATLAB的工具简介Altera DSP Builder将The MathWorks MATLAB和Simulink系统级设计工具的算法开发、仿真和验证功能与VHDL综合、仿真和Altera开发工具整合在一起,实现了这些工具的集成。DSP Builder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期。已有的MATLAB函数和Simulink模块可以和Altera DSP Builder模块以及Altera知识产权(IP) MegaCore功能相结合,将系统级设计实现和DSP算法开发相链接。DSP Builder支持系统、算法和硬件设计共享一个公共开发平台。设计人员可以使用DSP Builder模块迅速生成Simulink系统建模硬件。DSP Builder包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等基本操作。可以使用DSP Builder模
文档评论(0)