《毕业设计基于FPGA的FIR数字滤波器设计说明.doc》由会员分享,可在线阅读,更多相关《毕业设计基于FPGA的FIR数字滤波器设计说明.doc(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 . 学士论文基于FPGA的FIR数字滤波器设计摘 要随着公元的第二十一个世纪的到来,今天我们进入了一个科技日新月异的时代。在现代电子数字系统中,滤波器都以一个不可缺少的身份出现。其中,FIR数字滤波器又以其良好的线性特性被广泛和有针对性的大量使用。众所周知,灵活性和实时性是工程实践中对数字信号处理的基本要求。在以往使用的各种滤波器技术中,不难发现有许许多多的问题。但是,随着现代计算机技术在滤波问题上的飞跃,派生出一个全新的分支数字滤波器。利用可编程逻辑器件和EDA技术,使用FPGA来实现FIR滤波器,可以同时兼顾实时性和灵活性。基于FPGA的FIR数字滤波器的研究势在必行。本论文讨论基于FP
2、GA的FIR数字滤波器设计,针对该毕业设计要做的基本工作有如下几点:(一)掌握有限冲击响应FIR(Finite Impulse Response, FIR)的基本结构,研究现有的实现方法。对各种方案和步骤进行比较和论证分析,然后针对目前FIR数字滤波器需要的特点,速度快和硬件规模小,作为指导思想进行设计计算。(二)基于硬件FPGA的特点,利用Matlab软件以与窗函数法设计滤波器。对整个FPGA元件,计划采用模块化、层次化设计思想,从而对各个部分功能进行更为详细的理解和分工设计。最终FIR数字滤波器的设计语言选择VHDL硬件编程语言。(三)设计中的软件仿真使用Altera公司的综合性PLD开发
3、软件Quartus II,并且利用Matlab工具进行对比仿真,在仿真的过程中,对比证明,本论文设计的滤波器的技术指标已经全部达标。关键词:数字滤波器 Matlab 可编程逻辑元件 模块化算法 Based On FPGA Design Of FIR Digital FiltersMajor:Electronic And Information EngineeringDepartment(Information Engineering)AbstractAs we have entered the twenty first century, our technology is changing c
4、ontinuously with the times. In the modern electronic digital systems, filters are indispensable. Among them, the FIR digital filters are widely used with the excellent linear characteristic. As is well-known to us all, flexibility and real-time quality are the basic requirements in digital signal pr
5、ocessing of engineering practice. Since we have used a variety of filter technology in the past, it is not difficult for us to find many problems in it. Moreover, with the development of modern computer technology in filter, a new branch - digital filter has derived. We make use of the programmable
6、logic devices and EDA technology, together with the FPGA to design the FIR filter, which is real-time and flexible. In a nutshell, it is imperative to do the research in the FIR digital filters based on the technology of FPGA.This thesis is focused on the design of the FIR digital filters based on t
7、he technology of FPGA. Several points are worth mentioning here:(1)To understand and master the basic structure of the limited shock Response FIR (Finite Impulse Response, FIR), research existing realization method,to use various solutions to compare and analyze the steps and demonstrations; then, t
8、o do the self design and correction concerning the characteristics of the present FIR digital filters, that is, fast in speed and small scale in hardware. (2) To design FIR filter based on the characteristics of FPGA hardware. In the design process, ready to use of Matlab software and window functio
9、n method design filter. As far as the whole FPGA components are concerned, we plan to carry on the modularized and hierarchic design, in order to have a more detailed understanding of the function of each part and make a division of design. Eventually, FIR digital filters will adopt the VHDL hardwar
10、e programming language.(3) To adopt the comprehensive PLD development software Quartus II of the Altera company in the design of the software simulation. And we will use of the Matlab tools for the simulation 。In the simulation process, contrast our filter technology index whether you have all the s
11、tandards, and filtering whether the result is ideal.Keywords: digital filter, Matlab, programmable logic devices, Modular Algorithm目 录 1绪论11.1本课题研究意义11.2国外研究现状分析11.3研究思路11.4相关概念说明12 FIR数字滤波器的设计方法42.1理论部分42.1.1引言42.1.2 FIR数字滤波器的基础42.1.3数字滤波器的设计原理62.1.4 FIR数字滤波器的理论计算方式与参数转换思想:72.1.5 Matlab直接FDAtool设计方
12、式解析132.1.6 FDAtool设计模板与设计结果图162.2程序分析部分162.2.1FPGA 可编程逻辑元件介绍162.2.2 Quartus与Verilog HDL介绍182.2.3实际滤波器程序设计(11阶FIR数字滤波器)192.2.4.VerilogHDL的实现203滤波器仿真滤波283.1设置混合信号283.2设置仿真参数313.3 仿真总结334 总结与展望334.1 设计成果总结334.2 设计心得33参考文献35致3655 / 591绪 论1.1本课题研究意义在现代通信信号处理领域中,随着各种精密计算和快速计算的发展对信号处理的实时性、快速性的要求越来越高。以往的模拟滤
13、波器无法克服电压漂移、温度漂移和噪声等问题,从而带来了许多误差和不稳定因素。而数字滤波器具有稳定性高、精度高、设计灵活、实现方便等突出优点。FPGA元器件在高速并行处理和数据传输中有独特优势,FPGA正在前端信号处理中越来越多地代替ASIC和DSP。我们需要的就是这种设计周期短,功能密度高,重组时间短的元器件。本文在FPGA元器件的基础上,实现现代FIR数字滤波器功能。并且研究多种快速的FIR数字滤波器的理论设计思想和程序设计方法。1.2国外研究现状分析1985年XilinX公司生产出了第一块FPGA元器件,由于它有着集成度高、方便易用、开发和上市周期短的绝对优势,使得FPGA器件在数字设计和
14、电子生产中得到迅速普与和应用,发展潜力十分巨大。现在FPGA已经发展到可以利用硬件乘加器、片储存器、逻辑单元、流水处理技术等特有的硬件结构,高速完成FFT 、FIR 、复数乘加、卷积、三角函数以与矩阵运算等数字信号处理。这样可以完成信号处理的主要技术,如中频采样、参数估计、自适应滤波、脉冲压缩、自适应波束形成和旁瓣对消等。1.3研究思路通过对目前数字滤波器的几种实现方法的简单分析,本文认为基于FPGA的数字滤波器具有许多优点,本文考虑到信息技术的发展对于数字滤波器的要求越来越高,而目前FIR数字滤波器的性能还不完善,于是选择了基于FPGA的数字滤波器作为主要研究容,通常滤波器在进行数据处理时用
15、到了卷积运算,在设计中的解决这些乘法运算的思路是将它们转换成加减法,这是目前解决乘法运算的主流思想。设计初期在Matlab下对滤波器原理进行证明包括(零极点图、时域和频域分析图等),分析FIR数字滤波器的多种理论设计思想和窗函数选择方法,在设计后期对FIR数字滤波器的小数乘法问题进行单独论证。然后对分析出来的问题进行论证和解决,最后在QUARTUS中进行仿真验证。1.4相关概念说明数字滤波器(Digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。可认为是一个离散时间系统按预定的算法,将输入离散时间信
16、号转换为所要求的输出离散时间信号的特定功能装置FIR(Finite Impulse Response )由线性系统理论可知,在某种适度条件下,输入到线性系统的一个冲击完全可以表征系统。当我们处理有限的离散数据时,线形系统的响应(包括对冲击的响应)也是有限的。若线性系统仅是一个空间滤波器,则通过简单地观察它对冲击的响应,我们就可以完全确定该滤波器。通过这种方式确定的滤波器称为有限冲击响应(FIR)滤波器。图1-1总体设计流程图2 FIR数字滤波器的设计方法2.1理论部分2.1.1引言数字滤波器的功能一般是用来变换时域或者频域中某些要求信号的属性,滤除信号中某一部分频率分量。经过数字滤波器的信号是
17、让其频谱与数字滤波器的频率响应相乘从而得出新的结果。经过一个线性卷积过程,从时域上输入信号与滤波器的单位冲击响应作一个卷积和。下面是卷积定义式: (1)LTI数字滤波器在一般情况下分为有限脉冲响应(Finite impulse response)和无限脉冲响应(Infinite impulse response),FIR数字滤波器的设计方法和IIR滤波器的设计方法有很大的差别。因为其设计方向是选择有限长度的h(n),使频率响应函数H(e)满足指标。数字滤波器正在用直接的电子计算机规和算法进行分析的方式来逐渐代替传统的模拟滤波器的RLC元器件和放大电路。2.1.2 FIR数字滤波器的基础首先介绍
18、FIR数字滤波器基本原理,在如下表格中对FIR和IIR数字滤波器进行了全面的比较:表2-1两种滤波器特点比较分析FIR数字滤波器IIR数字滤波器设计方法在一般的情况下,FIR数字滤波器没有设计公式。它的设计需要借助计算机程序完成可以利用AF的设计成果,可简单、有效地完成设计阶数高低稳定性在稳定性方面(稳定),极点全部在原点存在一定的稳定性问题,需要注意结构非递归系统递归系统运算误差一般情况下不存在反馈,运算的误差比较小存在反馈,由于运算中的特殊运算方法会产生极限环通常情况下一般数字滤波器的N阶FIR数字滤波器基于输入信号x(n)的表达式为: (2)这个公式给我们了一个非常明了的直接型网络结构,
19、该结构表现出N个乘法器,每次采样y(n)的容是n次乘法和n-1次加法,然后做乘累加之和。如图2-1所示:图2-1 FIR滤波器直接型网络结构从DSP的介绍中,第一类线性相位对h(n)的约束条件: (3) (4)由公式(3),(4)我们可以推出: (5)移相并利用三角公式化简得到: (6)从数字信号处理学科中知道函数关于求和区间的中心(N-1)/2奇对称,于是我们要求和h(n)满足如下条件: 其中对应的有 (7)图2-2 线性相位FIR滤波器结构若h(n)呈现对称特性,即此具有线性相位的滤波器是FIR数字滤波器。滤波器的基础网络结构可以相互进行转换。在前面本文已经讨论过, FPGA的实现中将对各
20、种方法进行比较,找出最优设计方式。从而达到减少资源占有和提高系统作业速度的目的,更好的体现实时性的数字滤波器优势。2.1.3数字滤波器的设计原理在数字信号处理技术的研究中,一般是使用的三种设计方法:窗函数法,FDATool直接设计法,程序编译法。本文首先使用窗函数和Matlab软件共同进行设计。随着软件技术的不断发展,Matlab软件能给设计者带来的数字信号处理工作已经非常的完善和多样了,设计者可以利用Matlab软件进行数字滤波器的设计和仿真,而且还可以用这款软件进行设计的优化。数字滤波器的一般设计步骤如下:1.指标的确定做任何工程或者设计,设计者都必须要有一个期望的指标用来限制设计围。在很
21、多的实际应用中,设计者常常都是使用数字滤波器做选频的工作。因此,指标的形式一半在频域中给出相位响应和幅度。相位响应的指标形式,一半是指系统在通频带中药有线性相位。幅度指标:绝对指标,它给出对幅度响应函数的要求,一般用于FIR滤波器的设计。相对指标,以分贝值的形式给出具体限制。2.逼近目标设计者做高频的时候大概都有一个模式,就是首先得到技术指标,然后利用我们的技术和工具让我们的产品去逼近这个指标。同理我们首先建立以个目标的数字滤波器模型。一般情况下都是采用理想的数字滤波器模型,然后去逼近我们想要的目标数字滤波器参数。3.计算机仿真和性能优化分析在工作中我们发现通过(1)、(2)之后本文会得到以差
22、分、系统函数或者冲击响应这三种方式描述的滤波器。这个时候设计者可以利用计算进行仿真,在系统中分析技术指标和滤波结果是否是希望得到的结果。图2-3各种理想数字滤波器的幅度频率响应2.1.4 FIR数字滤波器的理论计算方式与参数转换思想 在理论上掌握了FIR数字滤波器的基本原理之后,本文需要对设计思想进行一个多方位的论证和尝试。首先设计者设计滤波器要有一个硬性的指标,这个指标可以是直接给出最基本的数据,也有多重表现形式。于是我例举两种特殊的指标形式然后加以解决设计。然后我们分别用2种方式来设计不同指标的滤波器。接下来我首先用程序的方式来实现滤波器:1.逼近法转换与思想使用remez函数设计FIR低
23、通滤波器设计滤波器,使逼近低通滤波特性|。 |=要求通带波纹,阻带衰减,并用最小阶数实现。绘出设计的FIR数字滤波幅频特性曲线,检验设计指标。这个指标我们可以以如下计算方法来得出详细指标:从给出的低通滤波特性|。我们可以看出设计参数f=1/4,5/16,m=1,0;dev的计算根据公式:Rp=-200于是有Rp=20,所以dev(1),dev(2)可以被表示出来。2.逼近法程序描述与思想有了这几个参数我们现在就可以根据已经设定好的格式来调用函数remezord和remez函数了,于是可得如下程序。clear;close allfc=1/4;fs=5/16; %输入给定指标Rp=3;As=60;
24、Fs=2;f=fc,fs;m=1,0; %计算remezord函数所需参数f,m,devdev=(10(Rp/20)-1)/(10(Rp/20)+1),10(-As/20);N,fo,mo,W=remezord(f,m,dev,Fs); %确定remez函数所需参数hn=remez(N,fo,mo,W); %调用remez函数进行设计hw=fft(hn,512); %求设计出的滤波器频率特性w=0:511 *2/512;plot(w,20*log10(abs(hw);grid; %画对数幅频特性图axis(0,max(w)/2,-90,5); xlabel(w/pi);ylabel(Magni
25、tude(dB)line(0,0.4,-3,-3); %画线检验设计结果line(1/4,1/4,-90,5);line(5/16,5/16,-90,5);程序结束。3.仿真图像与结果用以上的程序我们可以得到在Matlab中的许多参数和图像,从而进一步分析我们的设计。首先引入程序输出的幅频特性图:(如图2-4)图2-4在Matlab中的程序图2-5程序输出的幅频特性图2-6 Impulse Response图2-7 Magnitude and Phase Responses图2-8 Phase Delay图2-9 Pole,Zero plot结论:从上面程序运行情况分析,观察程序输出的幅频特性
26、图中横线为-3dB,两条竖线分别位于频率/4和5/16。显然,通带指标有富裕,零极点图反应出大部分零极点在圆,过渡带宽度和阻带最小衰减刚好满足指标要求。4.窗函数选择法与规划思想表2-2窗函数选择指标名称近似过渡带宽最小阻带衰减精确过渡带宽矩形4/M21dB1.8/M巴特利特8/M25dB6.1/M汉宁8/M44dB6.2/M哈明8/M51dB6.6/M布莱克曼12/M74dB11/M取Kaiser窗时用MATLAB中的kaiserord函数来得到长度M在设计指标中没有直接给出窗函数的,可以利用下面这个表格进行筛选,具体方法如下:这个表格给出了近似过渡带宽、精确过渡带宽和最小阻带衰减,我们可以
27、根据自己滤波器的参数来选择我们的窗函数,因为选择不同的窗函数设计出来的滤波器生成的过渡带宽度和阻带最小衰减是不同的。在这里我以一个例子来说明函数的选择方式:用窗函数法设计FIR带通滤波器。指标如下:高端通带截止频率 高端阻带截止频率 低端阻带截止频率 低端通带截止频率 通带最大衰减 Rp=1dB阻带最小衰减 Rs=60dB在这样一个例子中,可以看到它明确的给出了Rs=60dB来设置窗函数类型和阶次。表格中给出的blackman窗其滤波器阻带最小衰减是74dB,再利用给出的其他参数计算滤波器阶数。表中显示窗口长度M由过渡带宽度B=0.8-0.65=0.15决定,而Blackman窗设计的滤波器过
28、渡带宽度为12/M,则M=12/0.15=80。又因M=N+1,所以滤波器阶数N=79。 在了解了怎么选择窗函数和计算滤波器阶数之后,本论文将针对实际FIR数字滤波器进行研究。已经给出了设计参数,下面开始利用MATLAB程序来设计这个滤波器。5.窗函数法程序描述与思想程序和对应的解释:%用窗函数法设计FIR带通滤波器clear;close all;wls=0.2*pi;wlp=0.35*pi;whp=0.65*pi;B=wlp-wls; %这里是在计算过渡带宽N=ceil(12/0.15); %计算窗口长度wc=wlp/pi-6/N,whp/pi+6/N; %设置理想带通截止频率hn=fir1
29、(N-1,wc,Blackman(N); %设计滤波器参数6.理论计算方法总结仿真完成之后,掌握如何去利用已有的指标去设计一个滤波器,总的来说就是四项:通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。分析给定参数,计算出滤波器的阶数,频率等等相关指标。把已经有的参数用程序函数表达出来,利用已经有的各种置函数架设起滤波器。参看Matlab的输出图形和参数是否满足要求。2.1.5 Matlab直接FDAtool设计方式解析FDATool(Filter Design & Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加
30、了滤波器设计工具箱(Filter Design Toolbox)。FDATool可以设计几乎所有的基本的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便灵活。FDATool界面总共分两大部分,一部分是Design Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:Filter Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。Design Method(设计方法)选项,
31、包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函数)法。Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括Specify Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify OrderN-1),如果选择Minimum Order则MA
32、TLAB根据所选择的滤波器类型自动使用最小阶数。Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。M
33、agnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带围的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10 Hz,通带上限截止频率fc2=20 Hz,过渡带宽6 Hz,通阻带波动0.01,采用凯塞窗设计。针对一个含有5Hz、15Hz和30Hz的混和正弦波信号已知滤波器的阶数n=38,beta=3.4。本例中,首先在Filter Type中
34、选择Bandpass;在Design Method选项中选择FIR Window,接着在Window选项中选取Kaiser,Beta值为3.4;指定Filter Order项中的Specify order为38;采样频率Fs=100Hz,截止频率Fc1=10Hz,Fc2=20Hz。设置完以后点击窗口下方的Design Filter,在窗口上方就会看到所设计滤波器的幅频响应,通过菜单选项Analysis还可以看到滤波器的相频响应、组延迟、脉冲响应、阶跃响应、零极点配置等。设计完成后将结果保存为kaiser15.fda文件。我们可以根据FDAtool工具得到我们的滤波器相关增益。系数转换成二进制码
35、:若采用乘法器,用1位整数位,1位符号位,共22位定点二进制数进行运算,负数用补码表示,由此将减法运算变成累加求和运算。各系数可用matlab编程转成二进制补码: /* * Filter Coefficients (C Source) generated by the Filter Design and Analysis Tool * * Generated by MATLAB(R) 7.0 and the * * Generated on: 22-Mar-2011 20:09:12 * */* * Discrete-Time FIR Filter (real) * - * Filter St
36、ructure : Direct-Form FIR * Filter Order : 38 * Stable : Yes * Linear Phase : Yes (Type 1) */* General type conversion for MATLAB generated C-code */#include tmwtypes.h/* * Expected path to tmwtypes.h * D:MATLAB7externincludetmwtypes.h */const int BL = 39;const real64_T B39 = -0.06957,0.1882,0.6406,
37、0.9749,-8.7e-018,-0.709,-0.701,-0.5222,0.8271,-5.7e-018,-0.4654,0.169,0.552,0.647,-2.7e-017,-0.54,-0.17,-0.912,0.22,0.2,0.22,-0.912,-0.17,-0.54,-2.7e-017,0.647,0.552,0.169,-0.4654,-5.7e-018,0.8271,-0.5222,-0.701,-0.709,-8.7e-018,0.9749,0.6406,0.1882,-0.06957;这是一个非常典型的例子,可以清晰的看到利用Matlab提供的FDAtool设计滤波
38、器的方便与快捷。比较以上几种类型的滤波器参数,在给定的参数要求下,采用椭圆滤波器可以获得最佳的幅频响应特性,具有阶数低,过渡带窄等优点。虽然椭圆滤波器在通带也会产生波动,但考虑到波动处在可接受的围,仍然符合设计要求。但由直接型传输函数表达式来实现并不实用。因此如前所说,将其分解为多个二阶传输函数的级联形式。借助Matlab 信号处理工具箱中函tf2sos(Transfer function to second- order- section)将传递函数转换为二阶级联形式。对于是数字信号,需要对先前分析计算中分解获得的二阶子系统的滤波器系数进行量化,即用一个固定的字长加以表示。量化过程中由于存在
39、不同程度的量化误差,由此会导致滤波器的频率响应出现偏差,严重时会使滤波器的极点移到单位圆之外,使系统不稳定。为了获得最优的滤波器系数,量化的精度也相当重要。2.1.6 FDAtool设计模板与设计结果图 这里把上面的滤波器设计参数的总体图给出,如图2-10图2-10 FIR带通滤波器总体设计参数2.2程序分析部分根据上述FIR低通数字滤波器的原理与滤波特性,我们在上面的软件实践中已经掌握了设计数字滤波器的方法并且成功的使用Matlab/Simulink进行了设计和仿真。通过以上的过程我们可以导出一定性能的FIR滤波器频率响应与抽头系数,然后用Verilog HDL语言设计和QUARTUS仿真F
40、IR低通数字滤波器,实现用软件描述硬件的动作与功能,应用软件来实现数字滤波器的功能和时序仿真。2.2.1 FPGA 可编程逻辑元件介绍EDA是Electronic Design Automation的缩写,意为电子设计自动化,即利用计算机自动完成电子系统的设计。EDA技术是以计算机和微电子技术为先导,汇集了计算机图形学、拓扑、逻辑学、微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术。它与电子技术、微电子技术的发展密切相关,吸收了计算机领域的大多数最新研究成果,以高性能的计算机作为工作工具,在EDA软件平台土,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割
41、、综合与优化、布线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。可编程逻辑器PLD(Programmable Logic Devices)是ASIC(ApplicationSpecific Integrated Circuits的一个重要分支。ASIC按制造方法又可分为全定制(Full Custom)产品、半定制(semi-custom)产品和可编程逻辑器件(PLD)。前两种ASIC的设计和制造都离不开器件生产厂家,用户主动性较差。随着微电子技术的发展,设计师们更愿意自己设计专用集成电路芯片,并尽可能缩短设计周期,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实
42、际应用之中,在使用中也能比较方便的对设计进行修改。可编程逻辑器件就是为满足用户的这一需求应运而生的。使用FPGA器件设计数字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。使用FPGA器件设计数字系统电路的主要优点如下:1.设计灵活使用FPGA器件,可不受标准系列器件在逻辑功能上的限制。而且修改逻辑可在系统设计和使用过程的任一阶段中进行,并且只须通过对所用的FPGA器件进行重新编程即可完成,给系统设计提供了很大的灵活性。2.增大功能密集度功能密集度是指在给定的
43、空间能集成的逻辑功能数量。可编程逻辑芯片的组件门数高,一片FPGA可代替几片、几十片乃至几百片中小规模的数字集成电路芯片。用FPGA器件实现数字系统时用的芯片数量少,从而减少芯片的使用数目,减少印刷线路板面积和印刷线路板数目,最终导致系统规模的全面缩减。3.提高可靠性减少芯片和印刷板数目,不仅能缩小系统规模,而且它还极大的提高了系统的可靠性。具有较高集成度的系统比用许多低集成度的标准组件设计的一样系统具有高得多的可靠性。使用FPGA器件减少了实现系统所需要的芯片数目,在印刷线路板上的引线以与焊点数量也随之减少,所以系统的可靠性得以提高。4.缩短设计周期基于FPGA器件的可编程性和灵活性,用它来
44、设计一个系统所需时间比传统方法大为缩短。FPGA器件集成度高,使用时印刷线路板电路布局布线简单。同时,在样机设计成功后,由于开发工具先进,自动化程度高,对其进行逻辑修改也十分简便迅速。因此,使用FPGA器件可大大缩短系统的设计周期,加快产品投放市场的速度,提高产品的竞争能力。5.工作速度快FPGA/CPLD器件的工作速度快,一般可以达到几百兆赫兹,远远大于DPS器件。同时,使用FPGA器件后实现系统所需要的电路级数又少,因而整个系统的工作速度会得到提高。6.增加系统的性能很多FPGA器件都具有加密功能,在系统中广泛的使用FPGA器件可以有效防止产品被他人非法仿制。7.降低成本使用FPGA器件实
45、现数字系统设计时,如果仅从器件本身的价格考虑,有时还看不出来它的优势,但是影响系统成本的因素是多方面的,综合考虑,使用FPGA的成本优越性是很明显的。首先,使用FPGA器件修改设计方便,设计周期缩短,使系统的研制开发费用降低;其次,FPGA器件可使印刷线路板面积和需要的插件减少,从而使系统的制造费用降低;再次,使用FPGA器件能使系统的可靠性提高,维修工作量减少,进而使系统的维修服务费用降低。总之,使用FPGA器件进行系统设计能节约成本。2.2.2 Quartus与Verilog HDL介绍Quartus II 属于Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogH
46、DL以与AHDL(Altera Hardware Description Language)等多种设计输入形式,嵌自有的综合器以与仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以与Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。