毕业设计(论文)基于FPGA的FIR滤波器设计.doc
《毕业设计(论文)基于FPGA的FIR滤波器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于FPGA的FIR滤波器设计.doc(26页珍藏版)》请在三一办公上搜索。
1、目 录引言11软件及硬件平台211 VHDL语言特点212 MAX plusII开发环境313 可编程逻辑器件414 ALTERA公司FLEX 10K系列52FIR滤波器基本理论621 数字滤波器概述622 有限长单位冲激响应(FIR)滤波器6221 FIR滤波器特点6222 FIR滤波器结构723 FIR数字滤波器的实现方法83.基于FPGA实现FIR滤波器的研究931 基于乘法器结构的 FIR 滤波器在 FPGA 上的实现结构9311基于乘累加 FIR 滤波器结构9312 基于并行乘法器直接型 FIR 滤波器结构1032 基于分布式(DA)算法的 FIR 滤波器在 FPGA 上实现结构11
2、321 用分布式原理实现FIR滤波器串行方式12322 用分布式原理实现FIR滤波器并行方式1333 CSD码及最优化方法144线性相位FIR滤波器的设计1641 FIR滤波器的设计要求1642 软件环境和硬件平台选择1643 FIR滤波器的设计方案1644 各模块设计175仿真结果及分析2151 仿真结果2152 仿真结果分析226总结22致谢23参考文献23ABSTRACT25基于FPGA的FIR滤波器设计摘要:本文提出了一种采用现场可编程门阵列器件(FPGA)实现FIR数字滤波器的方案,并以Altera公司的FPGA器件EPF10K30为例完成了FIR滤波器的模块化设计过程。底层采用VH
3、DL语言描述设计文件,顶层使用底层产生的模块连接组成FIR滤波器,并在MAX+plusII上进行了实验仿真。仿真结果表明:该设计方案可行,可为今后的数字滤波器模块化研究提供另一种思路。关键词:VHDL;FPGA;FIR滤波器;Maxplus引言许多工程技术领域都涉及到信号,这些信号包括电的、磁的、机械的、热的、声的、光的及生物体的等等。如何在较强的背景噪声和干扰信号下提取出真正的信号并将其用于实际工程,这正是信号处理要研究解决的问题。20世纪60年代,数字信号处理理论得到迅猛发展,理论体系和框架趋于成熟,到现在它已经成长为一门独立的数字信号处理学科。数字滤波器在数字信号处理中占有很重要的地位,
4、它涉及的领域很广,如:通信系统、系统控制、生物医学工程、机械振动、遥感遥测、地质勘探、航空航天、电力系统、故障检测、自动化仪器等。系统数字滤波是提取有用信息非常重要而灵活的方法,是现代信号处理的重要内容。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应可接近理想特性,且精度很高又容易集成。在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用,属于数字信号处理的基本模块之一。在工程实践中,往往要求对信号处理要有实时性和灵活性,而已有的一些软件和硬件实现方式则难以同时达到这两方面的要求。硬件描述语言(VHDL)是数字系统高层设计的核心,是实现数字系统设计新方法的关键技术之
5、一。随着可编程逻辑器件在速度和集成度方面的飞速发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器,FIR数字滤波器在数字信号处理系统中应用非常普遍,常被用来对原始(或输入)样本数据进行消除高频、抑制噪声等处理以产生所需的输出。数字滤波器的好坏对相关的众多工程技术领域影响很大,一个好的数字滤波器会有效地推动众多工程技术领域的技术改造和科学发展。所以对数字滤波器的工作原理、硬件结构和实现方法进行研究具有一定的意义。本设计将采用现场可编程门阵列器件(FPGA)实现FIR数字滤波器的方案,底层采用VHDL语言描述设计文件,顶
6、层使用底层产生的模块连接组成FIR滤波器,并在Max+plusII上进行实验仿真。由仿真结果判断设计的可行性。1软件及硬件平台11 VHDL语言特点VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。VHDL还具有以下优点:(1)VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。(2)VHDL可以用简洁明确的代码描述来进行复杂控制
7、逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用。(3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。(4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。VHDL设计是行为级的设计,所带来的问题是设计者的设计思想与实际电路结构是相脱节的。设计者主要是根据VHDL的语法规则,对系统目标的逻辑行为进行描述,然后通过综合工具进行电路结构的综合、编译、优化,通过仿真工具进行逻辑功能仿真和系统延时的仿真。实际设计过程中,由于每个设计工程师对语言规则、对电路行为的理解程度不同,每个是大相径庭。因此,即使最后综合出的电路都能实现相同的逻辑功能,其电路的复杂程度和时延特性都会
8、有很大的区别,甚至某些臃肿的电路还会产生难以预料的问题。从这些问题出发,很有必要深入讨论在VHDL设计中如何简化电路结构,优化电路设计的问题。一段独立的VHDL代码至少包含3个组成部分:库(LIBRARY)声明:列出了当前设计中需要用到的所有库文件,如ieee,std和work等。实体(ENTITY):定义了电路的输入/输出引脚。构造体(ARCHITECTURE):所包含的代码描述了电路要实现的功能。库是一些常用代码的集合,将电路设计中经常使用的代码存放到库中有利于设计的重用和代码共享,库的典型结构如图1-1。代码通常以函数(FUNCTION)、过程(PROCEDURE)或元件(COMPONE
9、NT)等标准形式存放在包裹(PACKAGE)中,用户可以根据需要对其进行编译使用。 库包集函数过程元件常量类型图1-1 一个库的基本组成部分为了更有效的编写VHDL代码,必须知道哪些数据类型是可用的以及怎样说明和使用它们。表1-1中总结了VHDL中基本的可综合的数据类型。表1-1 VHDL中基本的可综合的数据类型数据类型 可综合的数据BIT,BIT_VECTOR 0,1STD_LOGIC,STD_LOGIC_VECTIR X,0,1,ZSTD_ULOGIC,STD_ULOGIC_VECTOR X,0,1,ZBOOLEAN True,FalseNATURAL 0到+2147483647INTEG
10、ER -2147483647到+2147483647UNSIGNED 0到+2147483647用户自定义整型 INTEGER的子集用户自定义枚举类型 根据用户自定义进行编码得到SUBTYPE 任何预定义或用户自定义类型的子集ARRAY 任意上述单一类型数据的集合RECORD 任意上述多重类型数据的集合VHDL的语法基础的学习令人感到枯燥乏味,但只有在对数据类型、运算操作符及其属性有了深刻理解之后,才有可能写出高质量和高效率的代码。表1-2总结了VHDL中数据类型、运算操作符及其属性。表1-2 VHDL中数据类型、运算操作符及其属性操作符类型操作符操作数类型赋值运算逻辑运算算术运算比较运算移位
11、运算并置运算NOT,AND,NAND,OR,NOR,XOR,XNOR+,-,*, /,*(mod,rem,ads)=,/=,=sll,srl,sla,sra,rol,ror&,(,)任意数据类型BIT,BIT_VECTOR,STD_LOGIC,STD_LOGIC_VECTOR,STD_ULOGIC,STD_ULOGIC_VECTORINTEGER,SIGNED,UNSIGNED任意数据类型BIT_VECTORSTD_LOGIC,STD_LOGIC_VECTOR,STD_ULOGIC,STD_ULOGIC_VECTORSIGNED,UNSIGNED12 MAX plusII开发环境Max+plu
12、sII(Multiple Array Matrix and Programmable Logic User System)是Altera公司在Windows环境下开发的可编程逻辑设计软件平台。该软件提供了一种真正与结构无关的全集成化的设计环境,可支持不同结构的器件,如FLEX、MAX以及CLASSIC系列器件等;丰富的设计库可供设计者灵活使用;允许用各种输入方式输入逻辑设计文件,经过系统编辑器的编译、综合等操作后分配到一个或多个器件中。MAX+plusII开发系统的特点如下(1)开放的接口MAX+plusII支持与其他工业标准EDA(Electronic Design Automation)工
13、具软件共同使用的接口,这一接口符合EDIF200和EDIF300标准、参数化模块库LPM(Library of Parameterized Modules)2.1.0、标准延迟格式SDF(Standard Delay Format)1.0和SDF2.0、VITAL95、Verilog HDL、VHDL1987和VHDL1993以及其他标准。同时也可以使用其他的电子设计自动化EDA工具软件进行设计输入,再利用MAX+plusII进行编译处理。(2)与结构无关(指VHDL描述在逻辑综合前与结构无关)MAX+plusII系统的核心Compiler(编译程序),支持Altera公司的FLEX10K、F
14、LEX10KA、FLEX10KB、FLEX10KE、MAX5000、MAX7000、MAX9000、FLEX6000、FLEX8000等可编程逻辑器件系列,提供了一个真正与结构无关的可编程逻辑设计开发环境。它的编译器还提供了强大的逻辑综合与优化功能,使用者可在最短的时间内完成高效的设计。(3)多平台MAX+plusII可在PC机的MS Windows和Windows NT环境下,以及多种工作站的Windows环境下运行。(4)完全集成化MAX+plusII的设计输入、处理与校验功能全部集成在统一的开发环境下,这样可以加快动态调试,缩短开发周期。(5)多种设计库MAX+plusII提供了丰富的库
15、单元,其中包括74系列的全部器件和多种特殊的逻辑宏单元器件(Macor-Function),以及新型的参数化宏功能器件(Mega-Function)。调用库单元进行设计,可以缩短设计周期。(6)模块化工具设计者可以从各种设计输入、处理和校验选项中进行选择,从而使设计环境用户化。(7)硬件描述语言(HDL)MAX+plusII软件支持VHDL、Verilog HDL和Altera公司自己的硬件描述语言AHDL。(8)开放核的特点MAX+plusII软件具有开放核(Opencore)的特点,允许设计人员添加自己的宏函数。(9)Magecore的功能Magecore是为复杂的系统及功能提供的、经过校
16、验的HDL(硬件电路)网表文件,能使FLEX10K、FLEX8000、FLEX600、MAX9000HE、MAX7000器件系列实现最优化设计。13 可编程逻辑器件FPGA (Field Programmable Gates Array, 现场可编程门阵列)和CPLD (Complex Progr ammable Logic Device,复杂可编程逻辑器件)属于高容量的可编程逻辑器件,是在PAL、 GAL等简单PLD的基础之上发展起来的。同PAL、GAL等比较,FPGA/CPLD的规模较大,适合于时序、组合等逻辑电路的应用场合,可以替代几十甚至上百块通用IC芯片。这种芯片具有可编程和实现方案
17、容易改动的特点。由于芯片内部硬件连接关系的描述可以存放在ROM、PROM或EPROM中,因而在可编程门阵列芯片及其外围电路保持不动的情况下,换一块EPROM芯片就能实现新的功能。因此当FPGA/CPLD芯片及其开发系统一问世,就在数字系统设计领域占据了重要地位。 现场可编程门阵列(FPGA)是近十年加入到用户可编程技术行列中的器件。现场可编程门阵列在器件的选择和内部的互连上提供了更大的自由度。FPGA的结构类似于掩膜可编程门阵列(MPGA),由逻辑功能块排列成阵列组成,并由可编程的内部连线连接这些逻辑功能块来实现不同的设计。FPGA是由掩膜可编程门阵列和可编程逻辑器件两者特性结合演变而来的,所
18、以FPGA既具有门阵列的高密度和通用性,又有可编程逻辑器件的用户可编程特性。对于ASIC设计,采用FPGA在实现小型化、集成化和高可靠性的同时,还减少了风险,降低了成本,缩短了周期。FPGA可以达到比PLD更高的集成度,但具有更为复杂的布线结构和逻辑实现。PLD与FPGA之间的主要差别是PLD通过修改具有固定内连电路的逻辑来进行编程。 可编程逻辑器件的自顶向下设计方法是目前数字系统设计中最常采用的一种设计方法,也是基于芯片的系统设计的主要方法。它首先从系统设计入手,在顶层进行功能划分和结构设计,采用硬件描述语言对高层次的系统进行描述,并在系统级采用仿真手段验证设计的正确性,然后再逐层设计低层结
19、构。由于高层次的设计与器件及工艺无关,并且在芯片设计前就可以用软件仿真手段验证系统方案的可行性,因此自顶向下的设计方法有利于在早期发现结构设计中的错误,避免不必的重复设计,提高设计的一次性成功率。所有FPGA是在用户可编程的特性和它们的快速设计以及诊断能力上类似于可编程逻辑器件。对于快速周转的样机,这些特性使得FPGA成为用户的首选,而且FPGA比CPLD更适合于实现多级的逻辑功能。14 ALTERA公司FLEX 10K系列Altera公司的FLEX 10K嵌入式可编程系列产品是将传统的可编程逻辑与嵌入式门阵列有机地结合在一起的新型器件。FLEX 10K器件主要由嵌入式阵列、逻辑阵列、Fask
20、Track互连和I/O单元四部分构成。还具有6个用于驱动寄存器控制端的专用输入引脚,以确保高速低失真控制信号的有效分布,这些信号使用具有比FaskTrack互连更短延时和更小失真的专用布线通道。4个全局信号可由4个专用输入引脚驱动,也可以由器件内部逻辑驱动。这为时钟分配或产生异步清除信号(可以提供器件内部多个寄存器)提供了理想的方法。由于它有两个独特的逻辑应用结构:嵌入式阵列和逻辑阵列。从而使FLEX 10K系列产品革新了可编程结构并挤身为门阵列市场的主流。FLEX 10K系列器件是一种嵌入式PLD产品。FLEX(可更改逻辑单元阵列)采用可重构的CMOS,SRAM单元,其结构集成了可实现通用多
21、功能门阵列所需的全部特性。FLEX 10K系列器件的容量可达25万门,因此能够高密度、高速度、高性能地将整个数字系统,包括32位多总线系统集成于单个器件之中。FLEX 10K系列有三代产品,而每一代都较前一代具有更高的性能、更低的成本及功耗。Altera的快速、高效以及易于操作的MAX+plus设计软件可提供对换FLEX 10K系列产品的支持。将MAX+plus软件与广义的可用于FLEX 10K器件的IP单元结合起来可有效地简化设计工作,并极大地缩短设计流程。这些特性将使得FLEX 10K系列成为当今先进而有效的门阵列替代产品。2FIR滤波器基本理论21 数字滤波器概述数字滤波器是一个离散时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 FPGA FIR 滤波器 设计

链接地址:https://www.31ppt.com/p-4141971.html