用VHDL设计FIR数字低通滤波器_第1页
用VHDL设计FIR数字低通滤波器_第2页
用VHDL设计FIR数字低通滤波器_第3页
用VHDL设计FIR数字低通滤波器_第4页
用VHDL设计FIR数字低通滤波器_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

111安徽大学本科毕业论文(设计、创作)题目用VHDL设计FIR低通数字滤波器学生姓名学号院(系)电子信息工程学院专业电子信息工程入学时间二九年九月导师姓名职称/学位导师所在单位安徽大学电子信息工程学院完成时间二一三年六月I用VHDL设计FIR低通数字滤波器摘要数字滤波器在语音与图像处理生物医学信号处理通信以及电力系统中有着广泛的应用,它在过滤噪声、提高信噪比等方面有着重要的意义。本文首先分析了几种主要的FIR滤波器的实现方案,经过比较,最终采用了利用单位冲激响应的对称特性的方案。然后根据FIR低通数字滤波器的原理与滤波特性,利用MATLAB中的FDATOOL工具设计了一定性能的FIR低通滤波器,获取滤波器的相应系数并且将其进行量化。最后在MAXPLUS环境下运用VHDL语言和原理图混合输入方式实现了18阶FIR低通数字滤波器,利用MAXPLUS的仿真器对设计进行仿真得到相应的滤波仿真结果,并与MATLAB计算出来的理论值进行比较。此外,还对理论值与实际值的误差进行了分析。关键词FIR数字滤波器;MATLAB;VHDL语言;MAXPLUSIIDESIGNFIRLOWPASSDIGITALFILTERUSINGVHDLABSTRACTDIGITALFILTERHASBEENWIDELYUSEDINSPEECHANDIMAGEPROCESSING,BIOMEDICALSIGNALPROCESSING,COMMUNICATIONSANDPOWERSYSTEM,WHICHHASIMPORTANTSIGNIFICANCEINFILTERINGNOISEANDIMPROVINGTHESIGNALNOISEATFIRST,THISPAPERANALYZESSEVERALMAINSCHEMEOFTHEREALIZATIONOFFIRFILTER,AFTERCOMPARING,FINALLYADOPTSTHESCHEMEOFUSINGTHESYMMETRICALCHARACTERISTICOFTHEUNITIMPULSERESPONSEANDTHEN,BASEDONTHEPRINCIPLEOFFIRLOWPASSDIGITALFILTERANDFILTERCHARACTERISTICS,USEFDATOOLOFMATLABTOOLSTODESIGNCERTAINPROPERTIESOFTHEFIRLOWPASSFILTER,GETCORRESPONDINGFILTERCOEFFICIENTSANDQUANTIFYITATLAST,IUSEVHDLLANGUAGEANDSCHEMATICHYBRIDAPPROACHTOACHIEVETHE18ORDERFIRLOWPASSDIGITALFILTERINTHEENVIRONMENTOFMAXPLUS,ANDMAKEUSEOFMAXPLUSSIMULATORSTOSIMULATETHEDESIGNTOGETTHECORRESPONDINGFILTERSIMULATIONRESULTSWHICHAREUSEDTOCOMPAREWITHTHEMATLABCALCULATEDTHEORETICALVALUEFURTHERMORE,THEERRORBETWEENTHETHEORETICALVALUEANDTHEACTUALVALUEAREANALYZEDKEYWORDSFIRDIGITALFILTER;MATLAB;VHDLLANGUAGE;MAXPLUSIII目录1引言111论文背景介绍112论文的主要研究内容113工作平台介绍2131MATLAB介绍2132MAXPLUS22FIR滤波器221FIR滤波器的基本概念222FIR滤波器的特点223FIR滤波器的结构与原理33方案分析与设计531FIR滤波器的设计方案532FIR滤波器指标设计7321基于MATLAB的滤波器参数设置74用VHDL设计FIR低通数字滤波器941寄存器1042加法器模块1243乘法器模块1344减法器模块1445截取模块155FIR滤波器仿真166结论17主要参考文献19附录A20附录B21致谢3111引言11论文背景介绍数字滤波器是数字信号处理系统中一种基本的处理部件,滤波是指依据噪声与有用信号频谱特性的不同,提取有用的信号,滤除不需要的信号,达到改变输入信号中所含频率分量的相对比例的目的。数字滤波器是一个离散的系统,该系统应用的对象是离散信号。若用数字滤波器处理模拟信号,则需要对输入的模拟信号进行限带、抽样、量化和编码等一系列操作。当离散信号通过特定的数字滤波器时,滤波器可以提取信号所含有的有用信息,这就是数字滤波器的功能。从结构上看,数字滤波器可由数字乘法器、加法器和延时单元组成。数字滤波器可以从两个方面来划分,按频率响应特性来分,可分为低通、高通、带通、带阻滤波器;按单位脉冲响应长度来分,可分为有限长单位脉冲响应(FIR)滤波器和无限长单位脉冲响应(IIR)滤波器1。FIR滤波器与IIR滤波器各有特点,在选择时可以从实际应用时的要求出发,从多方面考虑加以选择2。在用FIR滤波器设计和实现某些特定的应用时,会比IIR滤波器更有优势,例如用频率抽样设计法设计理想正交变换器、线性调频器等网络,会很灵活。在大多数数字信号处理的场合,数字滤波器被要求具有能对输入的信号实时处理并能进行复杂的运算等功能,这些需求越来越普遍,也成为某些数字滤波器的性能指标。在速度方面,FPGA表现出了特有的优势。FPGA拥有丰富的连线资源和规范完整的内部逻辑块整列,非常适合用于高并行度结构和细粒度的FIR滤波器的实现,相对于串行运算的通用DSP芯片来说,可扩展性与并行性都更好3。在效率、性价比、功能和使用灵活性方面有优势的FPGA数字信号处理器,正在通信电力系统图像处理等领域发挥着巨大的作用。运用分布式算法实现的FPGA滤波器具有运算速度与采样数据的宽度成正比的突出优点,适合设计高速高阶的FIR滤波器,在节省硬件资源和提高系统运行速度方面有相当大的优势。另外,可移植性较好,在设计不同参数的滤波器时,只需改变查找表的内容就可以满足具体的实际需要4。因此,这种方法在高速数字信号处理中将有很广的应用领域。12论文的主要研究内容本文讨论FIR滤波器的多种实现方案并对其进行比较。选择利用具有严格线性FIR滤波器的单位冲激响应的对称特性的方案,用MATLAB中的FDATOOL工具设计一定性能的FIR低通数字滤波器,获取滤波器的单位脉冲响应序列,并进行量化。使用VHDL语言设计滤波器的基本结构,例如延时单元、加法器、乘法器、减法器等;在顶层模块中采用原理图输入方式实现各元件的互连。用MAXPLUS对本设计进行编译仿真,并与MATLAB计算出来的理论值进行对比分析。213工作平台介绍131MATLAB介绍MATLAB(MATRIXLABORATORY的缩写)是美国MATHWORKS公司推出的面向科学计算、可视化以及交互式程序设计的商业数学软件。如今,MATLAB的功能不仅是解决矩阵与数值计算,它将数值分析、矩阵计算、科学数据可视化、以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供一个全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、FORTRAN)的编辑模式,代表了当今国际科学计算软件的先进水平5。由于功能非常强大,很多著作在进行理论验证或说明一些现象时都使用MATLAB作为辅助工具。在高校的推广和应用下,MATLAB已成为很多大学课程,如信号与系统、数字信号处理等的基本教学工具。132MAXPLUSMAXPLUS是ALTERA公司上一代的PLD开发软件,提供FPGA/CPLD开发集成环境。MAXPLUS界面友好,使用方便,被称为业界最易学易用的EDA软件。MAXPLUS支持VHDL、原理图和VERILOG语言文本文件,以及波形和EDIF等文件作为设计输入,并支持这些文件的混合设计,提供的设计环境与结构无关,使设计者能方便快速地进行设计输入、迅速处理和器件的编程。MAXPLUS还拥有门级仿真器,可以进行功能和时序仿真,并产生精确的仿真结果。在适配之后,MAXPLUS生成供时序仿真用的VHDL、EDIF和VERILOG3种不同格式的网表文件1。MAXPLUS具有以下特点1开放的界面,与结构无关;2完全集成化,丰富的设计库;3设计环境可用户化;4支持各种硬件描述语言(HDL)输入;5具有OPENCORE开放核特征;2FIR滤波器21FIR滤波器的基本概念FIR滤波器是数字信号处理系统中最基本的元器件,主要用来实现信号的预处理、带选、防混叠、抽选/插补、滤波和视频卷积等功能,它可以做成具有严格的线性相位的同时也具有任意的幅频特性。此外,FIR滤波器能用快速傅里叶算法FFT来处理信号从而提高运算效率并且滤波器是稳定的,这些特点与其单位抽样响应是有限长的有关。因此,FIR滤波器在通信、模式识别、图像处理等领域有着非常广泛的应用6。22FIR滤波器的特点FIR数字滤波器可以是稳定的并且可具有良好的线性相位,这些优点是它能广泛应用于数字信号处理领域的关键。3有限冲激响应(FIR)滤波器的特点21FIR滤波器的单位抽样响应是有限长的,因而滤波器性能稳定;2既可以具有严格的线性相位,又可以具有任意的幅度;3能用因果系统来实现,这是因为任何非因果有限长序列经过一定的延时,都能变成因果有限长序列;4FIR有利于对数字信号的处理,方便编程,计算速度快,便于信号的实时处理;5FIR滤波器比较大的缺点就是要取得良好的衰减特性,HZ的阶次比IIR滤波器要高;6IIR滤波器的各种变换方法不适合FIR滤波器的设计,这是其系统函数决定的。23FIR滤波器的结构与原理FIR数字滤波器是一个线性时不变系统(LTI),其单位冲激响应的Z变换为10NNNHZH(1)式1系统差分方程为10NMYNXHXN(2)由式2可知N时刻滤波器的输出值只决定于N时刻滤波器的输入值以及过去N1个输入值,画出其网络结构,如图1所示,这种结构称为直接型。对于图1所示的直接型结构,可以知道N1个系数才能描述N阶FIR滤波器,N阶FIR滤波器得用N1个乘法器和N个两输入加法器来实现。XN1Z1Z1ZH0H1H2H3H4HN2HN1YN图1直接型结构如果FIR滤波器的单位冲激响应HN满足式3所示的对称条件,N0,1,MM(3)则该因果系统具有严格的线性相位。利用此对称性制作N阶FIR滤波器可减少一半的乘法器当N为偶数时,需要N/2个乘法器;当N为奇数时,则需要N1/2个乘法器。在实际的电路中要尽可能的减少乘法器的使用,这是因为电路的制作成本与乘法器的数目成正相关,电路的运行速度与乘法器的数目成负相关。当M为偶数时,式2可化为40/21/21/00/2/MLMLLMLLYNHXNLHXNHLXNHXNLL(4)把式3带入式4得到(5/210/2/MLYNHXNLMLHXNM)对应的偶数型网络结构如图2所示YN1Z1Z1ZXN1Z1Z1Z1Z图2偶数型结构同理,当M为奇数时,式2可化为1/20MLYNHXNLML(6)对应的奇数型网络结构如图3所示YN1Z1Z1ZXN1Z1Z1Z图3奇数型结构3方案分析与设计31FIR滤波器的设计方案FIR滤波器的设计方案相当多,一般情况下每个方案都有侧重的地方和适用的范围,设计时会考虑速度、资源、结构、稳定性等问题,有时会做出折中的选择。下面介绍几种方案并分析比较。5方案一此方案是引用图1所示的直接型结构,它没有经过任何化简,采用并行运算的方式进行。该方案速度快,通用性强,适合参数可变的FIR滤波器1;但是要实现高阶滤波器则会占用大量的资源,对于资源紧缺的FPGA来说,不实际。方案二本方案利用了具有严格线性FIR滤波器的单位冲激响应的对称特性,采用图2和图3的结构,这样就可以减少一半的乘法运算,节省资源。其运算采用并行方式,不过所选的结构要由滤波器阶数的奇偶性来确定,可见此结构非常适合参数固定的FIR滤波器。方案三若要用FPGA实现参数可变的FIR滤波器,则其网络结构必须是通用型的。方案三的网络结构仍采用直接型,只是在进行乘法运算时,用串行乘法代替并行乘法,拿更多的运行时间来换取少占资源。串行乘法器模块图如图4所示,图中的AB是两个N位的乘数。串行乘法器的工作原理是首先将输入数据B通过并串转换器使并行数据转换成串行数据,从数学的角度来看即将其写成几个2的幂的和的形式;接着A和转换后的数据B进入乘法器,运算结果通过加法器;最后将加法器的输出进行循环移位累加,N次移位相加后输出结果。串并转换器AB左移一位加法器18乘法器图4串行乘法器方案四本方案使用乘法表来实现乘法运算,用查表的方式来得到两输入数的乘积结果,即把两乘数作为ROM的地址,对应的单元数据就是乘积。此方法精度高,速度快,结构简单,适合参数固定,数据位数少的滤波器,如果数据位数多则就不合适1。方案四的结构图如图5所示6XNXNXN1XNN1H0H1HN1乘法表(ROM)加法树YN图5采用乘法表的滤波器结构方案五本方案综合了方案三方案四,有了较好的改进,基本原理如下假设滤波器是N阶的M位,则系统的差分方程为10NKYNHXNK(7)可表示为111000K2NMNIIIIKKYNXHHXNK(8)由式7可以得到该方案的结构,如图6所示,其中的用串行时序来实现,用10I2I移位寄存器来实现,用N个1W乘法器来实现,用加法树来实现。IXNKHNK此外,要实现用方案五制作的FIR滤波器的滤波功能,除了需要上述的串行时序、移位寄存器、N个1W乘法器、加法树外,还需要设计一个总控制单元用于协调各部件按照设定的时序运行,完成FIR滤波操作。XNXN1XNN1加法树(ROM)加法器左移一位XN1M位乘法器YN图6方案五结构图以上讨论了五种制作FIR滤波器的方法,各有优缺点,结合自己本身的情况和方案的设计难易程度综合考虑,决定选择方案二的结构来完成本次的毕业论文。732FIR滤波器指标设计本文设计的FIR低通数字滤波器的设计指标为1滤波器阶数为18阶;2采用KAISER窗函数设计,BETA为05;3采样频率FS为48KHZ,截止频率FC为10KHZ;4输入序列位宽为8位的有符号数;5输出序列的位宽为8位的有符号数。321基于MATLAB的滤波器参数设置在MATLAB的命令编辑窗口中输入FDATOOL指令,回车后即可打开FILTERDESIGNUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYREG8ISPORTRSTINSTD_LOGICCLKINSTD_LOGICDININSIGNED7DOWNTO010DOUTOUTSIGNED7DOWNTO0ENDREG8ARCHITECTURERTOFREG8ISBEGINPROCESSCLK,RSTBEGINIFRST1THENDOUT0ELSIFCLKEVENTANDCLK1THENDOUTDINENDIFENDPROCESSENDRT仿真结果如图15所示图15寄存器仿真结果(2)不具有异步复位功能,仅起到数据暂存作用,在电路中的作用是使得电路中的信号在时序上保持一致。如图16所示,程序与第一种类似。图16第二种寄存器42加法器模块加法器用来完成两个有符号数的相加运算。在时钟信号上升沿到达时,对输入的两有符号数进行相加运算后输出结果。加法器有并行进位和串行进位两种组成方式串行进位加法器运算速度慢,资源占用少,而并行加法器刚好相反。本文所用的加法器都采用并行进位方式,共有以下几种加法器两个8位有符号数相加产生9位有符号数的加法器、11位和13位有符号数相加产生14位有符号数的加法器、两个13位有符号数相加产生14位有符号数的加法器、12位和14位有符号数相加产生15位有符号数的加法器、11位和15位有符号数相加产生16位有符号数的加法器、1511位和16位有符号数相加产生17位有符号数的加法器、14位和16位有符号数相加产生17位有符号数的加法器、14位和17位有符号数相加产生18位有符号数的加法器。仅以15位有符号数加16位有符号数生成17位有符号数的加法器为例,其模块框图如图17所示。图17加法器结构图程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYADD151617ISPORTCLKINSTD_LOGICDIN1INSIGNED14DOWNTO0DIN2INSIGNED15DOWNTO0DOUTOUTSIGNED16DOWNTO0ENDADD151617ARCHITECTURERTOFADD151617ISBEGINPROCESSCLKBEGINIFCLKEVENTANDCLK1THENDOUTDIN114ENDIFENDPROCESSENDRT仿真结果如图18所示图18加法器仿真结果43乘法器模块12本文设计的乘法器具有对输入数据进行固定的放大作用,即乘法器的系数是固定的。乘法器在时钟信号上升沿到达时,完成输入的有符号数与滤波器系数这两个数的乘法运算,之后输出结果。考虑速度和资源,确定系数的乘法运算可以用移位相加来实现,即将系数分解成几个2的幂的和形式8。本文设计的FIR低通数字滤波器系数分别为9、4、10、11、7、23、4、50、99、99、50、4、23、7、11、10、4、9。由于采用了偶数型的对称结构,滤波器的系数只需要使用一半,即乘法器数目减半。在编写程序时,所有的系数都先当成正值,在后面的求和运算时改为减法运算即可。以乘99乘法器为例,其模块框图如图19所示。图19乘99乘法器结构图乘99乘法器程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYMULT99ISPORTCLKINSTD_LOGICDININSIGNED8DOWNTO0DOUTOUTSIGNED15DOWNTO0ENDMULT99ARCHITECTURERTOFMULT99ISSIGNALS1SIGNED14DOWNTO0SIGNALS2SIGNED13DOWNTO0SIGNALS3SIGNED9DOWNTO0SIGNALS4SIGNED15DOWNTO0BEGINA1PROCESSDINBEGINS1DINS2DINS3DINIFDIN80THENS40ELSE13S41ENDIFENDPROCESSA2PROCESSCLK,S4BEGINIFCLKEVENTANDCLK1THENDOUTS4ENDIFENDPROCESSENDRT仿真结果如图20所示图20乘99乘法器仿真结果44减法器模块减法器的原理与加法器类似,区别仅在于输出结果为两数的差值。当时钟信号上升沿到来时,实现两个有符号数的相减操作,并输出结果。本文采用18位有符号数减去17位有符号数生成18位有符号数的减法器,其结构框图与加法器差别不大。程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYSUB181718ISPORTCLKINSTD_LOGICDIN1INSIGNED17DOWNTO0DIN2INSIGNED16DOWNTO0DOUTOUTSIGNED17DOWNTO0ENDSUB181718ARCHITECTURERTOFSUB181718ISBEGINPROCESSCLKBEGINIFCLKEVENTANDCLK1THEN14DOUTDIN1DIN216ENDIFENDPROCESSENDRT仿真结果如下图21所示图21减法器仿真结果45截取模块减法器的下一级是电路的最后一级,减法器的输出为18位有符号数,按照设计要求输出为8位数据,所以截取模块将减法器输出的18位数据低位舍去直接输出高8位,因此截取后的输出近似等于除掉了28即256后的结果。模块结构图如图22所示图22截取模块结构图程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYCUT188ISPORTCLKINSTD_LOGICDININSIGNED17DOWNTO0DOUTOUTSIGNED7DOWNTO0ENDCUT188ARCHITECTURERTOFCUT188ISBEGINPROCESSCLKBEGINIFCLKEVENTANDCLK1THENDOUTDIN17DOWNTO1015ENDIFENDPROCESSENDRT仿真结果如图23所示图23截取模块仿真结果5FIR滤波器仿真MAXPLUS仿真器的GRIDSIZE项此项用来设置时钟脉冲的周期设置为50NS,ENDTIME结束时间设置为50US。任意设定输入的信号为DIN98,0,0,0,76,0,0,0,98,0,0,0,76,0,0,0,98,0,0,0,76,0,0,0,98,0,0,0,76,0,0,0,98,0,0,0,76,0,0,0,98,0,0,0,76,0,0,0,98,0。得到的仿真结果如图24所示图2418阶FIR滤波器滤波结果6结论用MATLAB计算FIR低通滤波器的输出结果,运算公式为YNCONVXN,HN,与仿真器得到的结果如下表1所示表1仿真结果验证理论值仿真结果输出结果YNMATLAB卷积值/256经仿真器仿真0861325503828255095700161052711337925424980253035940560165809388738487544535438094380863417974512305626176Y0600396Y1600396Y2626176Y3512305Y4351173Y5351173Y6512305Y7626176Y8600396Y9600396Y10626176Y11512305Y12351173Y13351173Y14512305Y15626176Y16600396Y17600396MAXPLUS的仿真器支持四种类型的数二进制、四进制、八进制、十六进制9。当进行减法运算时,如果被减数小于减数则被减数会向高位借位,使输出结果为正。在此情况下,如果仿真器结果显示255,实际的数为1、254则为2、253实际为3。对于仿真器输出的是正数还是负数,要通过上级减法器的两个输入信号的仿真波形图来判断。修正表1中的数据后,用MATLAB制作18阶FIR滤波器理论值与仿真值对比图如图25所示,其中虚线为理论值,实线为仿真值。17图2518阶FIR滤波器理论值与仿真值对比图由表1可以看出,仿真结果与MATLAB计算出来的输出信号理论值基本吻合,且波形基本没有毛刺,达到设计要求。此外,从图25中也可以证明这点。图25理论值与仿真值所表现出来的误差,可以从三个方面进行理解首先,用MATLAB获取滤波器系数时进行了取整运算,舍去了小数位,产生误差;其次,在本设计顶层电路的最后一级使用了截取模块,采用直接截取数据高8位的方式,这样不可避免的带来了误差;最后,VHDL仿真器进行时序仿真时会存在延时问题从而影响输出结果,对于这方面的影响,可增加时钟周期的宽度来减小。主要参考文献1潘松,王国栋VHDL实用教程M成都电子科技大学出版社,20072程佩青数字信号处理教程M北京清华大学出版社,20083张秀娟基于DA算法的FIR数字滤波器的FPGA设计J计算机与数学工程,201061654薛严冰,韩雪,邵远基于分布式算法的FIR数字滤波器的FPGA实现J大连交通大学学报182009,884875周品MATLAB神经网络设计与应用M北京清华大学出版社,20136刘欲晓,方强EDA技术与VHDL电路开发应用实践M北京电子工业出版社,20097岑光基于FPGA的FIR数字滤波器研究与设计D西安西安电子科技大学生物医学工程系,20118王丹琦,赵惠昌一种基于MATLAB及FPGA的FIR低通数字滤波器的设计与实现J电子设计工程,2010,71311349VOLNEIAPEDRONIVHDL数字电路设计教程M北京电子工业出版社,2013附录AFIR低通数字滤波器的原理图REG8REG8REG8REG8REG8REG8REG8REG8REG8REG8REG8REG8REG8REG8REG8REG8REG8ADD889ADD889ADD889ADD889ADD889ADD889ADD889ADD889ADD889MULT9MULT4MULT99MULT50MULT4MULT23MULT7MULT11MULT10ADD111314ADD121415ADD131314ADD151617REG11ADD141718ADD111516REG14ADD141617REG18SUB181718CUT188XNYN19附录B乘法器与加法器程序乘4乘法器程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYMULT4ISPORTCLKINSTD_LOGICDININSIGNED8DOWNTO0DOUTOUTSIGNED10DOWNTO0ENDMULT4ARCHITECTURERTOFMULT4ISSIGNALS1SIGNED10DOWNTO0BEGINA1PROCESSDINBEGINS1DINENDPROCESSA2PROCESSCLK,S1BEGINIFCLKEVENTANDCLK1THENDOUTS1ENDIFENDPROCESSENDRT乘7乘法器程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYMULT7ISPORTCLKINSTD_LOGICDININSIGNED8DOWNTO0DOUTOUTSIGNED11DOWNTO020ENDMULT7ARCHITECTURERTOFMULT7ISSIGNALS1SIGNED10DOWNTO0SIGNALS2SIGNED9DOWNTO0SIGNALS3SIGNED11DOWNTO0BEGINA1PROCESSDINBEGINS1DINS2DINIFDIN80THENS30ELSES31ENDIFENDPROCESSA2PROCESSCLK,S3BEGINIFCLKEVENTANDCLK1THENDOUTS3ENDIFENDPROCESSENDRT乘9乘法器程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYMULT9ISPORTCLKINSTD_LOGICDININSIGNED8DOWNTO0DOUTOUTSIGNED12DOWNTO0ENDMULT9ARCHITECTURERTOFMULT9ISSIGNALS1SIGNED11DOWNTO0SIGNALS2SIGNED12DOWNTO0BEGIN21A1PROCESSDINBEGINS1DINIFDIN80THENS20ELSES21ENDIFENDPROCESSA2PROCESSCLK,S2BEGINIFCLKEVENTANDCLK1THENDOUTS2ENDIFENDPROCESSENDRT乘10乘法器程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYMULT10ISPORTCLKINSTD_LOGICDININSIGNED8DOWNTO0DOUTOUTSIGNED12DOWNTO0ENDMULT10ARCHITECTURERTOFMULT10ISSIGNALS1SIGNED11DOWNTO0SIGNALS2SIGNED9DOWNTO0SIGNALS3SIGNED12DOWNTO0BEGINA1PROCESSDINBEGINS1DINS2DINIFDIN80THENS3022ELSES31ENDIFENDPROCESSA2PROCESSCLK,S3BEGINIFCLKEVENTANDCLK1THENDOUTS3ENDIFENDPROCESSENDRT乘11乘法器程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYMULT11ISPORTCLKINSTD_LOGICDININSIGNED8DOWNTO0DOUTOUTSIGNED12DOWNTO0ENDMULT11ARCHITECTURERTOFMULT11ISSIGNALS1SIGNED11DOWNTO0SIGNALS2SIGNED9DOWNTO0SIGNALS3SIGNED12DOWNTO0BEGINA1PROCESSDINBEGINS1DINS2DINIFDIN80THENS30ELSES31ENDIFENDPROCESSA2PROCESSCLK,S323BEGINIFCLKEVENTANDCLK1THENDOUTS3ENDIFENDPROCESSENDRT乘23乘法器程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYMULT23ISPORTCLKINSTD_LOGICDININSIGNED8DOWNTO0DOUTOUTSIGNED13DOWNTO0ENDMULT23ARCHITECTURERTOFMULT23ISSIGNALS1SIGNED12DOWNTO0SIGNALS2SIGNED10DOWNTO0SIGNALS3SIGNED9DOWNTO0SIGNALS4SIGNED13DOWNTO0BEGINA1PROCESSDINBEGINS1DINS2DINS3DINIFDIN80THENS40ELSES41ENDIFENDPROCESSA2PROCESSCLK,S4BEGINIFCLKEVENTANDCLK1THENDOUTS4ENDIF24ENDPROCESSENDRT乘50乘法器程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYMULT50ISPORTCLKINSTD_LOGICDININSIGNED8DOWNTO0DOUTOUTSIGNED14DOWNTO0ENDMULT50ARCHITECTURERTOFMULT50ISSIGNALS1SIGNED13DOWNTO0SIGNALS2SIGNED12DOWNTO0SIGNALS3SIGNED9DOWNTO0SIGNALS4SIGNED14DOWNTO0BEGINA1PROCESSDINBEGINS1DINS2DINS3DINIFDIN80THENS40ELSES41ENDIFENDPROCESSA2PROCESSCLK,S4BEGINIFCLKEVENTANDCLK1THENDOUTS4ENDIFENDPROCESSENDRT258位有符号数加8位有符号数生成9位有符号数程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYADD889ISPORTCLKINSTD_LOGICDIN1INSIGNED7DOWNTO0DIN2INSIGNED7DOWNTO0DOUTOUTSIGNED8DOWNTO0ENDADD889ARCHITECTURERTOFADD889ISBEGINPROCESSCLKBEGINIFCLKEVENTANDCLK1THENDOUTDIN17ENDIFENDPROCESSENDRT11位有符号数加13位有符号数生成14位有符号数程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYADD111314ISPORTCLKINSTD_LOGICDIN1INSIGNED10DOWNTO0DIN2INSIGNED12DOWNTO0DOUTOUTSIGNED13DOWNTO0ENDADD111314ARCHITECTURERTOFADD111314ISBEGINPROCESSCLKBEGINIFCLKEVENTANDCLK1THEN26DOUTDIN110ENDIFENDPROCESSENDRT13位有符号数加13位有符号数生成14位有符号数程序LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYADD131314ISPORTCLKINSTD_LOGICDIN1INSIGNED12DOWNTO0DIN2INSIGNED12DOWNTO0DOUTOUTSIGNED13DOWNTO0ENDADD131314ARCHITECTURERTOFADD131314ISBEGINPR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论